CROSS-REFERENCE TO RELATED APPLICATIONS/INCORPORATION BY REFERENCEThis application claims the benefit of priority under 35 U.S.C. §120 from U.S. patent application Ser. No. 11/215,420 filed Aug. 30, 2005, which is incorporated herein by reference in its entirety.
FIELD OF THE INVENTIONCertain embodiments of the invention relate to communication devices. More specifically, certain embodiments of the invention relate to a method and system for an optimized architecture for wireless streaming audio applications.
BACKGROUND OF THE INVENTIONBluetooth® wireless technology is set to revolutionize personal connectivity by providing freedom from wired connections. Bluetooth® is a specification for a small form-factor, low-cost radio solution providing links between mobile computers, mobile phones and other portable and handheld devices.
Bluetooth® wireless technology is an international, open standard for allowing intelligent devices to communicate with each other through wireless, short-range communications. This technology allows any sort of Bluetooth® compliant device—from computers and cell phones to keyboards and headphones—to make its own connections, without wires, cables or any direct action from a user. Bluetooth® is currently incorporated into numerous commercial products including laptops, PDAs, cell phones, and printers, with more products coming out every day.
Bluetooth devices, such as mobile phones and PDAs, are evolving to become more complex as such devices may be adapted to transmit and receive audio information. For example, a Bluetooth® device may utilize a coder/decoder (CODEC) to encode audio information prior to communicating the encoded information to another Bluetooth® device, for example. Similarly, the CODEC may be utilized to decode encoded audio information received from another Bluetooth® device.
In conventional Bluetooth® enabled handheld devices having an integrated Bluetooth® chip, the low-complexity sub-band CODEC (SBC) encoder runs on the handheld's main processor. As a result, the Bluetooth® encoding process utilizes valuable main processor resources, which may otherwise be utilized for handling other tasks being run on the handheld device. In these conventional handheld devices, such as cellular telephones, the handheld device must have sufficient additional processing power to handle tasks associated with encoding SBC audio. As a result of this requirement, cheaper handheld devices that lack adequate processing power are eliminated from ever handling SBC audio encoding. The same is true for other CODECs other than SBC that may be utilized for Bluetooth®.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.
BRIEF SUMMARY OF THE INVENTIONA system and/or method is provided for an optimized architecture for Bluetooth streaming audio applications, substantially as shown in and/or described in connection with at least one of the figures, as set forth more completely in the claims.
These and other advantages, aspects and novel features of the present invention, as well as details of an illustrated embodiment thereof, will be more fully understood from the following description and drawings.
BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGSFIG. 1 is a diagram illustrating some examples of Bluetooth® (BT) streaming audio devices.
FIG. 2 is a simplified exemplary protocol stack.
FIG. 3 is a block diagram illustrating an exemplary Bluetooth® hardware implementation.
FIG. 4 is a block diagram illustrating a Bluetooth® protocol stack for streaming audio.
FIG. 5A is a block diagram illustrating AVDTP features.
FIG. 5B is a block diagram illustrating an exemplary hardware implementation for streaming audio playback, in accordance with an embodiment of the invention.
FIG. 6 is a block diagram illustrating audio signal processing within a Bluetooth® enabled host device, in accordance with an embodiment of the invention.
FIG. 7 is a block diagram of exemplary Bluetooth® protocol stack, in accordance with an embodiment of the invention.
FIG. 8 is a block diagram illustrating audio signal compression within a Bluetooth® transceiver, in accordance with an embodiment of the invention.
FIG. 9 is a block diagram of exemplary Bluetooth® transceiver utilizing audio signal compression, in accordance with an embodiment of the invention.
FIG. 10 is a flow diagram illustrating exemplary steps for processing data within a Bluetooth® device, in accordance with an embodiment of the invention.
DETAILED DESCRIPTION OF THE INVENTIONCertain embodiments of the invention may be found in a method and system for optimized architecture for Bluetooth streaming audio applications. One aspect of the invention provides streaming audio over Bluetooth® to a Bluetooth® enabled device. In this regard, the optimized architecture utilizes the Bluetooth® chip, which may be integrated in a Bluetooth® enabled device, to directly handle SBC encoding of audio data. Since SBC encoding is done directly within the Bluetooth® enabled device, the resulting internally encoded audio data may be directly interfaced via the Bluetooth® protocol to externally enabled Bluetooth® devices, such as a Bluetooth® headset or to internal devices with the handset.
In another embodiment of the invention, in this configuration, the Bluetooth® chip may provide hardware acceleration of the SBC encoding process. The Bluetooth® chip may be adapted to receive input audio signals from a standard pulse code modulation (PCM) wired CODEC interface such as a standard hardware stereo PCM interface. The Bluetooth® chip may accelerate SBC encoding of the input audio signals in hardware, rather than software, thereby freeing up processing resources that would normally be utilized for SBC audio encoding by a main processor.
FIG. 1 is a diagram illustrating some examples of Bluetooth® (BT) streaming audio devices. Referring toFIG. 1, there is shown astereo headset104, amobile phone106, a Bluetooth®-enabledstereo system108, personal computers (PC)110 and102, andstereo speakers102aand102b. Thestereo headset104 may receive streaming audio from MP3 files stored on themobile phone106. Theheadset104 may also function as a normal Bluetooth® telephony headset for phone calls. The Bluetooth®-enabledstereo system108 may receive streaming audio from MP3 files stored on the PC110, solving the problem of how to get the MP3's from the PC110 to thestereo system108. The PC102 may play stereo audio to the pair of Bluetooth®wireless speakers102aand102b, thus freeing the desktop from wired clutter.
The Bluetooth® protocol utilizes a frequency hopping spread spectrum (FHSS) radio system operating in the 2.4 GHz unlicensed band. Its low power transmissions allow a typical range of about 10 meters. Devices may connect to each other to form a network known as a piconet, with up to seven active devices in the piconet. The maximum data throughput between devices may be between 2.0 and 3.0 megabits per second (Mbps), with the data capacity shared between devices on the piconet.
The Bluetooth® protocol utilizes a protocol stack to transfer data and to implement various advanced features that may be required by various applications. The Bluetooth® protocol stack may comprise a plurality of different protocols designed for different purposes. Various profiles, or applications, may reside above the protocol stack, and utilize the services that are offered by the Bluetooth® protocol stack. The Bluetooth® protocol may also comprise a lower protocol stack for link management and baseband control.
One or more of the protocols within the Bluetooth® protocol stack, may reside within a host device, such as a Bluetooth® enabled device. Other protocols within the Bluetooth® protocol stack, such as protocols within the lower Bluetooth® protocol stack, may reside within the Bluetooth® chip. In this regard, SBC encoding, or compression of audio data may be transferred from the upper Bluetooth® protocol stack to the lower Bluetooth® protocol stack residing on the Bluetooth® chip. Consequently, processing resources handled by a host processor within the Bluetooth® enabled device may be freed and allocated for other purposes.
FIG. 2 is a simplified exemplary protocol stack. Referring toFIG. 2, there is illustrated an exemplary Bluetooth® protocol stack201. The exemplary Bluetooth® protocol stack201 may comprise profiles layer202, Bluetooth® management entity (BTM) layer204, radio frequency communication (RFCOMM)protocol206, audio/video distribution transport protocol (AVDTP)207, service discovery protocol (SDP)208, logical link control and adaptation protocol (L2CAP)210, host controller interface (HCI)212, and alower stack214. The profiles layer202 may comprise profiles of one or more applications that may be utilized in connection with the Bluetooth® protocol stack. The BTM layer204 makes it possible for various equipment to have wireless communication by integrating with a Bluetooth® module. TheRFCOMM protocol206 may be utilized to provide emulation of RS-232 serial ports over the L2CAP protocol, providing both transport capabilities for upper level services, such as OBEX, that use serial line as the transport mechanism.
TheSDP208 may be utilized for querying Bluetooth® device information, Bluetooth® device services, and characteristics of the services. TheIL2CAP210 may be utilized to support higher level protocol multiplexing, packet segmentation and reassembly, and quality of service (QoS).L2CAP210 may permit higher-level protocols and applications to transmit and receive data packets up to 64 kilobytes in length. TheHCI212 may be adapted to provide a command interface to the baseband controller, link manager, and access to hardware status and control registers.
The Audio/Video Distribution Transport Protocol (AVDTP)207 is the protocol designed especially for Bluetooth® streaming audio and video. It may perform the signaling that may be utilized to configure, open, and/or close a stream between two Bluetooth® devices. An Audio stream data may be transferred utilizing real-time protocol (RTP) packets. AVDTP resides in the protocol stack above L2CAP and may utilize separate L2CAP channels for signaling and data.
Thetower stack214 may comprise a link manager protocol (LMP)215 and a link controller (LC)217. The link manager (LM)215 may be adapted to carry out link setup, authentication, link configuration and other protocols. Thelink manager215 may also discover other remote LM's and communicates with them via the LMP. To perform its service provider role, theLM215 may utilize the underlying Link Controller (LC)217. The LMP essentially comprises a number of protocol data units (PDUs), which may be sent from one device to another, determined by an address in the packet header, for example. TheLMP215 may control the communication between various Bluetooth® enabled devices, such as a phone and a PC.
TheLC217 within thelower stack214 may be adapted to handle Bluetooth® baseband functions, such as encoding of voice and/or data packets, error correction, slot delimitation, frequency hopping, radio interface, data encryption, and/or link authentication. In addition, theLC217 may be adapted to execute link management software associated with theLMP215. The link manager's control may include setting up the communication link and performing authentication, configuration, and other protocols, for example. In an exemplary embodiment of the invention, thelower stack214 may comprise an advanced audio distribution profile (A2DP) utilizing SBC encoding or compression. In this regard, the A2DP implemented within thelower stack214 may be adapted to handle audio data formatting, such as compression or encoding. Bluetooth® hardware implementations are typically highly integrated systems consisting of one or two chips.
FIG. 3 is a block diagram illustrating an exemplary Bluetooth® hardware implementation. Referring toFIG. 3, the Bluetooth® hardware implementation may comprise a Bluetooth® baseband integrated circuit (IC)305 and aradio IC301. Theradio IC301 may comprise a Bluetooth® radio circuit303. Thebaseband IC305 may comprise Bluetooth® baseband circuit307, processor309, random access memory (RAM)311, read only memory (ROM)313,voice CODEC321, a serial peripheral interface (SRI)319, universal serial bus (USB)317, and universal asynchronous receiver/transmitter (UART)315. Theradio IC301 may be implemented in a separate chip. The processor309 may be adapted to operate all the required software including lower stack, upper stack, and embedded profile, for example. This type of single CPU implementation allows tier a small, low power, and low cost solution.
The 723 kbps throughput of a Bluetooth® link may be suitable for streaming audio utilizing MP3 and/or other coded formats. Bluetooth® streaming audio may be defined by three Bluetooth® specifications covering the protocol and profiles comprising AVDTP, GAVDP, and A2DP. The Audio/Video Distribution Transport Protocol (AVDTP) is the protocol designed especially for Bluetooth® streaming audio and video. It may perform the signaling that may be utilized to configure, open, and/or close a stream between two Bluetooth® devices. An Audio stream data may be transferred utilizing real-time protocol (RTP) packets. AVDTP resides in the protocol stack above L2CAP and may utilize separate L2CAP channels for signaling and data.
The Generic Audio/Video Distribution Profile (GAVDP) is an abstract profile that defines how applications can use AVDTP. The Advanced Audio Distribution Profile (A2DP) defines how Bluetooth® streaming audio applications may operate. For example, A2DP defines how to get and set audio CODEC parameters for MPEG and/or other codecs, The A2DP may also define the media payload formats for packaging audio stream data into packets and may contain the specification for the low-complexity sub-band CODEC (SBC). In this regard, the SBC may be implemented on-chip within the Bluetooth® baseband IC305 and may be used for audio data compression of uncompressed data received from theradio IC301. For example, the SBC may be implemented within the processor309 or may be implemented outside the processor309, as a separate compression acceleration block.
FIG. 4 is a block diagram illustrating a Bluetooth® protocol stack for streaming audio. Referring toFIG. 4, the Bluetooth® protocol stack for streamingaudio401 may compriseA2DP402, Bluetooth® management entity (BTM)protocol404, GAVDP/AVDTP406, service discovery protocol (SDP)408, logical link control and adaptation protocol (L2CAP)410, host controller interface (HCI)412, and alower stack414. In addition to the Bluetooth® specifications illustrated onFIG. 4, there are several ISO/IEC and Internet RFC specifications used for Bluetooth® streaming audio, which are summarized in Table 1.
| TABLE 1 |
|
| Additional specifications used fbr Bluetooth ® streaming audio |
| Specification | Description |
|
| ISO/IEC 11172 part 3 | MPEG audio |
| ISO/EC 13818 part 3 | MPEG audio |
| ISO/IEC 13818 part 7 | MPEG advanced audio |
| ISO/IEC 14498 part 3 | MPEG advanced audio |
| RFC 1889 | Real-time protocol (RTP) |
| RFC 2733 | RTP error correction |
| RFC 3095 | Packet header compression |
| RFC 2250 | RTP payload format |
| RFC 3016 | RTP payload format |
| RFC 3119 | RTP payload format |
|
TheA2DP402 may comprise a low-complexity sub-band CODEC (SBC)403. TheSBC403 may be utilized for audio data compression, or encoding of uncompressed data received from a Bluetooth® radio, for example. The bulk of the Bluetooth® streaming A/V system may be implemented in the AVDTP protocol.
FIG. 5A is a block diagram illustrating AVDTP features. Referring toFIG. 5A, the AVDTP may comprise a portion of the Bluetooth® protocol stack501 located below a Bluetooth® protocol profile503, such as an A2DP, and may be divided into four subsystems: signaling502,stream management504, recovery506, andadaptation layer508.AVDTP signaling messages502 are used to discover, configure, open, and close a stream between two Bluetooth® enabled devices. There are eleven message types with some messages being optional.
A media transport feature of thestream manager504 may be utilized to transfer RTP packets containing audio data. This feature is a required feature of AVDTP. The reporting feature of thestream manager504 may allow link quality information, such as jitter and packet loss, to be exchanged utilizing the protocols defined in RFC 1889. This is an optional feature. The recovery feature506 adds extra packets containing error correction data to the packet transfer. This feature may allow for lost packets to be recovered. The recovery mechanism is defined by RFC 2733. This is an optional feature and may require additional ROM and/or RAM.
A header compression feature of theadaptation layer508 allows the RTP header to be compressed, as defined by RFC 3095. When used with AVDTP, the RTP header may be reduced by 5 to 7 bytes. This savings may probably not be worth the effort of implementing the feature especially when large media packets are used. A multiplexing feature of theAVDTP adaptation layer508 allows L2CAP channels to be shared by media, reporting, and/or recovery packets, therefore resulting in fewer L2CAP channels and better baseband channel capacity utilization. This complex feature may be useful for devices that use multiple simultaneous streams with reporting and recovery.
In an exemplary embodiment of the invention, the AVDTP may also utilize data formatting functionalities. For example, the AVDTP may utilize an audio data formatting functionality within thestream manager504. The formatting functionality may be used in accordance with on-chip compression of audio data via an SBC, for example. In this regard, thestream manager504 may establish data formatting parameters, such as compression parameters for compressing audio data, and an SBC implemented within a Bluetooth® baseband IC may be used for audio data compression. Compressed audio data may then be communicated to a peer Bluetooth® enabled device.
FIG. 5B is a block diagram illustrating an exemplary hardware implementation for streaming audio playback, in accordance with an embodiment of the invention. Referring toFIG. 5B, the Bluetooth® hardware implementation for streaming audio playback may comprise a Bluetooth® baseband integrated circuit (IC)525, aradio IC521, and anaudio IC543. Theradio IC521 may comprise a Bluetooth® radio circuit523. Theaudio IC543 may comprise anMP3 decoder545 and a stereo codec circuit547. The baseband IC525 may comprise Bluetooth® baseband circuit527, theprocessor529, random access memory (RAM)531, read only memory (ROM)533,voice codec541, a serial peripheral interface (SPI)539, universal serial bus (USB)537, and universal asynchronous receiver/transmitter (UART)535. Theradio IC521 and theaudio IC543 may be implemented in separate chips. Theprocessor529 may be adapted to operate all the required software including lower stack, upper stack, and embedded profile, for example. Data received over the Bluetooth® link may be processed by the protocol stack and passed to an application. The application may acquire the audio stream data and may communicate it over a hardware interface to theaudio IC543. Theaudio IC543 may decode digital audio and may convert the audio signal to analog signal.
Implementing AVDTP with the minimum required features may require multiple streams support. For the simple streaming audio device examples shown inFIG. 1, optional features such as recovery, reporting, header compression, and multiplexing may not be required as Bluetooth® devices may be adapted to perform adequately without such features.
Maintaining a data transfer with a constant bit rate on a Bluetooth® link may be difficult to achieve. If data is sent too slowly, the audio decoder may run out of stream data to process, causing an audible error. Lost data packets may also cause the same problem. On the other hand, if data is sent too quickly, then data may be buffered up at the audio decoder, eventually causing congestion or data loss when the device runs out of buffer space. Since there is no flow control mechanism built into AVDTP or L2CAP, other mechanisms may be utilized to prevent data loss. The mechanism used by the audio source, or device sending the stream, may depend on the type of source. If the source is “live” and audio stream data is provided by an audio encoder, then the encoder itself may provide the constant bit rate. If the source is from a file, then a tinier may be utilized to maintain a constant bit rate.
To understand the idea behind using a timer, consider this example. A device is sending an MP3 stream from a file encoded at 128 kbps and 48 kHz sample frequency. Referring to Table 2a, this means an MP3 audio frame 384 bytes long is sent every 24.0 ms. If the device simply sets a periodic timer for 24.0 ms and sends a packet when the timer expires, the constant bit rate will be maintained.
| TABLE 2a |
|
| Audio frame sizes for SBC and MP3. |
| Audio Frame Size vs. Data Rate and Sample Frequency |
| 64 | 128 | 320 | 64 | 128 | 320 |
| kbps | kbps | kbps | kbps | kbps | kbps |
| |
| 48 | kHz | 20 | 42 | 108 | 192 | 384 | 960 |
| 44.1 | kHz | 22 | 46 | 118 | 209 | 418 | 1045 |
| 32 | kHz | 32 | 64 | 162 | 228 | 576 | 1440 |
|
| TABLE 2b |
|
| Audio frame periods for SBC and MP3. |
| Audio frame Period vs. Sample Frequency |
| SBC* | MP3 |
|
| 48 kHz | 2.667 ms | 24.0 ms |
| 44.1 kHz | 2.902 ms | 26.122 ms |
| 32 kHz | 4.0 ms | 36.0 ms |
|
SBC frames may be small with a short period, as illustrated in Table 2b with regard to several typical values for SBC and MP3 audio frame periods. Some devices may have problems using timers or processing data at such short intervals. This suggests that rather than send a small packet containing a single frame at very short intervals, a larger packet containing several frames at longer intervals may be communicated instead. The maximum size of MP3 frames may correspond to the L2CAP MTU of the AVDTP transport channel, such that audio frames may not need to be fragmented across AVDTP packets.
When more than one stream is transferred between devices, the stream playback may be synchronized. Consider the example of the wireless PC speakers shown inFIG. 1. The PC may communicate a Bluetooth® audio stream to each speaker. There are actually two synchronization problems in this example. First, the audio playback of the two speakers may need to be synchronized with each other. Second, the audio playback may need to be synchronized with the display on the PC. Although the Bluetooth® specifications do not cover synchronization issues, there are some features of the system that may be utilized to address these synchronization problems.
FIG. 6 is a block diagram illustrating audio signal processing within a Bluetooth® enabled host device, in accordance with an embodiment of the invention. Referring toFIG. 6, the Bluetooth® device or host606 may comprise a central processing unit (CPU)608 and aBluetooth® transceiver602. The CPU orprocessor608 may utilize, for example, a low-complexity sub-band CODEC (SBC)block610. TheBluetooth® transceiver602 may comprise aCPU604. TheCPU608 may be adapted to process uncompressed audio data. For example, theCPU608 may be adapted to encode or compress uncompressed audio data utilizing theSBC block610. TheCPU604 within theBluetooth® transceiver602 may be adapted to control processing of the required Bluetooth® software including the lower Bluetooth® protocol stack, the upper Bluetooth®, protocol stack, and/or an embedded profile, for example.
In operation,uncompressed audio data612 may be received by the Bluetooth® enableddevice606. The Bluetooth® enableddevice606 may also be adapted to receive uncompressed input audio signals614 from a standard pulse code modulation (PCM) wired CODEC interface, such as a standard hardware stereo PCM interface. Uncompressed audio data may be compressed by theCPU608 utilizing theSBC block610. Resultingcompressed audio data616 may be communicated from the SBC block610 to theBluetooth® transceiver602. The resulting internally encoded audio data may be directly interfaced via the Bluetooth® protocol to externally enabled Bluetooth® devices. For example, a Bluetooth® radio such asBluetooth® radio523 within theBluetooth® transceiver602 may communicate the received compressed signal as compressedRF audio signal618 to a peer Bluetooth® device, for example.
In an exemplary embodiment of the invention, processing resources of thehost CPU608 may be freed by moving SBC compression functionalities to theBluetooth® transceiver602. In this regard, SBC functionalities may be moved from the upper Bluetooth® protocol stack, such as the upper Bluetooth® A2DP, to a lower Bluetooth® protocol stack, such as a lower Bluetooth® A2DP.
FIG. 7 is a block diagram of exemplary Bluetooth® protocol stack, in accordance with an embodiment of the invention. Referring toFIGS. 6 and 7, the exemplary Bluetooth® protocol stack may comprise an upper Bluetooth® protocol stack and a lower Bluetooth® protocol stack. The upper Bluetooth® protocol stack may be implemented within thehost606 and may comprise anupper A2DP702, anupper AVDTP704, an upper L2CAP706, and anupper HCI708. The lower Bluetooth® protocol stack may be implemented within theBluetooth® transceiver602 and may comprise alower HCI710, anLMP712, a lower A2DP, alower AVDTP718, alower L2CAP719, and an720. The lower A2DP may comprise an SBC716. The upper L2CAP706, theupper HCI708, the lower710, theLMP712, and the LC720 may perform the same functionalities as described above with regard toFIGS. 2,4, and5A. The upper Bluetooth® protocol stack may be utilized to handle control signaling portion of the Bluetooth® protocol from the host, and the lower Bluetooth® protocol stack may be utilized to handle data processing/formatting portion of the Bluetooth® protocol from the host controller.
In an exemplary embodiment of the invention, the SBC block may be moved from the upper Bluetooth® protocol stack in thehost606 to the lower Bluetooth® protocol stack in theBluetooth® transceiver602. In this regard alower A2DP714 with the SBC716 may be included as a protocol layer below thelower HCI710. Thelower A2DP714 may be utilized to establish a signaling channel, for example, from thehost device606 to a peer Bluetooth® enabled device for communication of compressed audio data. Thelower AVDTP718 may be implemented as a Bluetooth® protocol layer below thelower A2DP714 and may be utilized to provide fragmentation and assembly functionalities during processing of compressed audio data.
For example, compressed audio data may be further fragmented or combined together, based on the size of the compressed audio data packets. Thelower AVDTP718 may be utilized to compress a plurality of SBC packets into a single AVDTP packet and add a media payload header to the AVDTP packet. Thelower L2CAP719 may be utilized to support higher level protocol multiplexing, packet segmentation and reassembly, and quality of service (QoS) processing with regard to compressed audio frames processed by thelower A2DP714 and thelower AVDTP718 protocols. Thelower L2CAP719 may be adapted to verify the AVDTP packet (with a header) received fromlower AVDTP718, and to add an L2CAP header. The L2CAP packet and header may then be communicated to the LC720 for further baseband processing and transmission.
Referring toFIGS. 7 and 8, thehost device806, which may be a Bluetooth® enabled host device, may be aware that theBluetooth® transceiver802 may be adapted to perform encoding or compression of audio frames. The Bluetooth® enabled host device may initially establish a connection to a peer Bluetooth® device utilizing standard Bluetooth® protocol and procedures. After a Bluetooth® connection is established between the Bluetoothe enabledhost device806 and a peer Bluetooth® device, the Bluetooth® enabledhost device806 may indicate to theBluetooth® transceiver802 that uncompressed audio data may be sent to theBluetooth® transceiver802 via a special L2CAP channel with a specific L2CAP channel ID (CM). Such notification may be accomplished via a vendor specific command, for example, of theupper HCI708 and/or thelower HCI710.
The Bluetooth® enabledhost device806 may then pass to theBluetooth® transceiver802 control information which may be utilized for SBC compression, as well as to build AVDTP and L2CAP packets for thelower AVDTP718 and thelower L2CAP719. Such control information may comprise, for example, SBC parameters and/or A2DP/AVDTP headers negotiated during the establishment of the Bluetooth® connection. When theBluetooth® transceiver802 receives the next HCI packet from thelower HCI710, theBluetooth® transceiver802 may check whether the HCI packet belongs to a special L2CAP CID. If the HCI packet does not belong to a special L2CAP CID, the HCI packet may be delivered directly from the lower710 to the LC720. If the HCI packet belongs to a special L2CAP CID, theBluetooth® transceiver802 may combine the fragments of the L2CAP packet from the upper L2CAP706 and may pass it to thelower A2DP714 and the SBC716 for compression. Compressed packets may be communicated to thelower AVDTP718 for delivery. Thelower AVDTP718 may add required headers to the received packets and may communicate the resulting headers and packets to thelower L2CAP719. Thelower L2CAP719 may add L2CAP headers and the resulting packets and headers may be communicated to the LC720.
Even though SBC encoding is utilized for audio compression, the present invention may not be so limited and other methods of encoding, such as MP3 or AAC, for example, may be also utilized.
FIG. 8 is a block diagram illustrating audio signal compression within a Bluetooth® transceiver, in accordance with an embodiment of the invention. Referring toFIG. 8, the Bluetooth® device or host806 may comprise a central processing unit (CPU)808 and aBluetooth® transceiver802. TheBluetooth® transceiver802 may comprise aCPU804 and theCPU804 may utilize a low-complexity sub-band CODEC (SBC)block810. TheCPU804 may be adapted to process uncompressed audio data received from theCPU808. For example, theCPU804 may be adapted to encode or compress uncompressed audio data utilizing theSBC block810. Furthermore, theCPU804 within theBluetooth® transceiver802 may be adapted to operate all the required Bluetooth® software including the lower Bluetooth® protocol stack, the upper Bluetooth® protocol stack, and/or an embedded profile, for example.
In operation,uncompressed audio data812 may be received by the Bluetooth® enableddevice806. The uncompressed audio data may then be communicated to theBluetooth® transceiver802 viaconnection814. The uncompressed audio data may be compressed by theCPU804 within theBluetooth® transceiver802 utilizing theSBC block810. TheBluetooth® transceiver802 may be also adapted to receive uncompressed input audio signals816 via a standard pulse code modulation (PCM) wired CODEC interface, such as a standard hardware stereo PCM interface. The resulting internally encoded audio data may be directly interfaced via the Bluetooth® protocol from theBluetooth® transceiver802 to externally enabled Bluetooth® devices. For example, a Bluetooth® radio such as theBluetooth® radio523 ofFIG. 5B, which is located within theBluetooth® transceiver802 may communicate the compressed audio signal as RF compressedaudio signal818 to a peer Bluetooth® device, for example.
Even though a PCM interface is utilized to receive uncompressed input audio signals, the present invention may not be so limited and other types of interfaces, such as 12S or another hardware interface may be also utilized to receive uncompressed input audio signals.
FIG. 9 is a block diagram of exemplary Bluetooth® transceiver utilizing audio signal compression, in accordance with an embodiment of the invention. Reaming toFIG. 9, theBluetooth® transceiver902 may comprise a transmit/receiveswitch904, a transmitter (Tx) block906, a receiver (Rx) block908, a baseband processing block910 and acompression acceleration block914. The baseband processing block910 may comprise a CPU912. The functionalities of the baseband processing block910 and the CPU912 may be the same as the functionalities of thebaseband IC305 and the processor309, as described above with regard toFIG. 3.
Thecompression acceleration block914 may comprise suitable circuitry, logic, and/or code and may be adapted to compress audio data received from the baseband processing block910. In one embodiment of the invention, thecompression acceleration block914 may comprise a digital signal processor implementing a low-complexity sub-band CODEC, for example.
In another embodiment of the invention, the Bluetooth® transceiver chip902 may comprise an on-chip audio codec within the CPU912, that compresses received audio information on-chip. The audio codec within the CPU912 may comprise a low complexity sub-band codec (SBC), for example. The Bluetooth® transceiver chip902 may receive an audio stream comprising audio information, via a protocol stack that is external to the Bluetooth® transceiver chip902. The received audio stream may be generated via an audio/video distribution transport protocol (AVDTP) within the protocol stack that is external to the Bluetooth® transceiver chip902. A data channel may be established between the Bluetooth® transceiver chip902 and a peer Bluetooth® device, for communicating the established audio stream to the Bluetooth® transceiver chip902 for compression. The data channel may be established utilizing a logical link control and adaptation protocol (L2CAP) and/or an advanced audio distribution profile (A2DP) within the protocol stack that is external to the Bluetooth® transceiver chip902.
The Bluetooth® transceiver chip902 may determine on-chip, a frame size of at least one audio frame comprising the compressed audio information. Exemplary SBC audio frame sizes are listed in Table 2a herein above. The Bluetooth® transceiver chip902 may format on-chip, audio frames comprising the compressed audio information based on a determined frame size. The Bluetooth® transceiver chip902 may format the audio frames on-chip by fragmenting the audio frames and/or by combining a plurality of the audio frames. The Bluetooth® transceiver chip902 may format, the audio frames on-chip via the audio/video distribution transport protocol (AVDTP). The Bluetooth® transceiver chip may acquire the audio information on-chip via a pulse code modulation (PCM) wired connection.
FIG. 10 is a flow diagram illustrating exemplary steps for processing data within a Bluetooth® device, in accordance with an embodiment of the invention. Referring toFIGS. 8 and 10, at1002,audio stream812 comprising audio information may be generated outside a Bluetooth® transceiver chip802, via an audio/video distribution transport protocol (AVDTP) external to the Bluetooth® transceiver chip802. At1004, a data channel may be established via the Bluetooth® transceiver chip802 between a Bluetooth® enabled device and a peer Bluetooth® device, for communicating the establishedaudio stream812 to the Bluetooth® transceiver chip802 for compression. At106, theuncompressed audio information812 may be compressed on-chip within the Bluetooth® transceiver chip802 utilizing an audio CODEC, such as theSBC810 implemented within the Bluetooth® transceiver chip802.
Accordingly, the present invention may be realized in hardware, software, or a combination of hardware and software. The present invention may be realized in a centralized fashion in at least one computer system or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software may be a general-purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.
The present invention may also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which when loaded in a computer system is able to carry out these methods. Computer program in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form.
While the present invention has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the present invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the present invention without departing from its scope. Therefore, it is intended that the present invention not be limited to the particular embodiment disclosed, but that the present invention will include all embodiments falling within the scope of the appended claims.