Patent ID: 12200504

NOTATION AND NOMENCLATURE

Certain terms are used throughout the following description and claims to refer to particular system components. As one skilled in the art will appreciate, companies may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following discussion and in the claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to . . . .” Also, the term “couple” or “couples” is intended to mean either an indirect or direct electrical connection. Thus, if a first device couples to a second device, that connection may be through a direct electrical connection, or through an indirect electrical connection via other devices and connections.

DETAILED DESCRIPTION

The following discussion is directed to various embodiments of the invention. Although one or more of these embodiments may be preferred, the embodiments disclosed should not be interpreted, or otherwise used, as limiting the scope of the disclosure, including the claims. In addition, one skilled in the art will understand that the following description has broad application, and the discussion of any embodiment is meant only to be exemplary of that embodiment, and not intended to intimate that the scope of the disclosure, including the claims, is limited to that embodiment.

When a wireless device is capable of transmitting multiple independent and concurrent data streams, priorities may be assigned to the different data streams in accordance with type of data transported by the data stream, time criticality of the data, and/or other factors. Prioritized data deliver is often accomplished by providing a different quality of service based on the different priorities, where higher priorities are assigned a higher quality of service.

Because user experience suffers if streaming audio data is not delivered at sufficient rate, in systems that provide for concurrent transmission of audio streams and other data, an audio stream may be assigned a higher quality of service than data that is not time critical, e.g., file or bulk data transfer. For example, in the BLUETOOTH wireless networking protocol, a dedicated command is provided that allows a channel (e.g., an advanced audio protocol (A2DP) channel) to be configured as guaranteed, where being guaranteed raises the quality of service applied to the channel. Unfortunately, the dedicated command for specifying that a channel be guaranteed is generally not implemented. As a result, in a wireless device that supports coexisting network interfaces, such as BLUETOOTH and IEEE 802.11, an audio stream may be provided insufficient quality of service to ensure timely receipt of audio data, and the user experience is degraded.

Embodiments of the wireless device disclosed herein support coexisting wireless networks, and provide improved audio performance by independently identifying streaming audio without notification from the audio source. When an audio stream is identified, the controllers of the coexisting networks cooperate to ensure that the audio stream is granted access to the resources needed to allow timely wireless transmission of the audio stream.

FIG.1shows a block diagram of a wireless device100that supports coexisting wireless networks and independent identification of audio streams in accordance with various embodiments. The wireless device100includes a host controller102, a first wireless network controller104, second wireless network controller106, and an antenna110. The host controller102manages and provides data handling and processing functionality for the wireless device100. The host controller102may include a processor, storage, and other components for generating data provided to the network controllers104,106for wireless transmission, and receiving data from the network controllers104,106that has been received via the wireless networks supported by the network controllers104,106.

The first wireless network controller104interfaces the wireless device100to a first wireless network. The first wireless network may be, for example, a wireless local area network (WLAN), such as a WLAN in accordance with an IEEE 802.11 standard. The first wireless network controller104is coupled to the antenna110for transmission and/or reception of data via the first wireless network.

The second wireless network controller106interfaces the wireless device100to a second wireless network. The second wireless network may be, for example, a wireless personal area network (WPAN), such as a WPAN in accordance with a BLUETOOTH standard. The second wireless network controller106is also coupled to the antenna110for transmission and/or reception of data via the second wireless network. The first and second wireless network controllers104,106share access to the antenna110and may share frequency bands used for wireless data transfer.

The first and second wireless network controllers104,106are communicatively coupled for transfer of information indicative of the type of data, the priority of data, and or the QOS to be applied to data transferred via the first and/or second wireless networks. For example, in the wireless device100, the first wireless network controller104may include arbitration logic112that determines which of the network controllers104,106has access to the antenna110and the wireless medium. In other embodiments, arbitration logic112that determines which of the network controllers104,106has access to the wireless medium may be disposed elsewhere in the wireless device100. For example, arbitration logic112may be separate from the network controllers104,106, included in the second wireless network controller106, etc.

The second wireless network controller106includes an audio stream detector108. The audio stream detector106determines whether data transferred to the second wireless network controller106from the host controller102includes audio data. If audio data is identified, then the second wireless network controller106notifies arbitration logic112in the first wireless network controller104, or elsewhere in the wireless device100that audio data is being transferred, and that access priority is to be granted to the audio data, etc. Accordingly, in the wireless device100, QOS needed to properly support wireless audio stream transfer is provided when audio data is identified by the second wireless network controller106without a priority request from the host controller102.

FIG.2shows a block diagram of an embodiment of the second wireless network controller106. The second wireless network controller106includes a processor202, storage204, and a wireless network transceiver210that provides access to the second wireless network. The processor202may be a general-purpose microprocessor, digital signal processor, microcontroller, or other device capable of executing instructions retrieved from a computer-readable storage medium. Processor architectures generally include execution units (e.g., fixed point, floating point, integer, etc.), storage (e.g., registers, memory, etc.), instruction decoding, peripherals (e.g., interrupt controllers, timers, direct memory access controllers, etc.), input/output systems (e.g., serial ports, parallel ports, etc.) and various other components and sub-systems.

The wireless network transceiver210is coupled to the processor202. The wireless network transceiver210allows the wireless device100to access and wirelessly communicate via the second wireless network. For example, the network transceiver210may include circuitry that allows the wireless device100to access a BLUETOOTH network.

The storage204is a non-transitory computer-readable storage medium suitable for storing instructions executable by the processor202. The storage204may include volatile storage such as random access memory, non-volatile storage (e.g., a hard drive, an optical storage device (e.g., CD or DVD), FLASH storage, read-only-memory), or combinations thereof.

The storage204includes network protocol instructions206that when executed cause the processor202to provide the protocols for accessing the second wireless network. For example, the protocol instructions206may cause the processor202to provide network access protocols in accordance with the BLUETOOTH networking standard.

The storage204also includes an audio stream detection module208. The audio stream detection module208includes instructions that cause the processor202to inspect the data packets transferred to the wireless network controller106from the host controller102, and to determine whether the data packets contain streaming audio data (i.e., cause the processor202to operate as the stream detector108). For example, the audio stream detection module208may cause the processor202to identify elements of an A2DP audio stream generated by the host controller102. In some embodiments, the processor202may identify information in a data packet that indicates an audio stream is being started. If the processor202determines that an audio stream is being started, then the processor202notifies arbitration logic112in the wireless device100of the audio stream to cause the arbitration logic112to grant priority for access to the wireless medium to the network controller106. In some embodiments, notifying the arbitration logic112of the audio stream may include requesting wireless medium access priority, notifying the arbitration logic112that high priority data is being transferred, or that a specific QOS is needed for the data transfer.

After an audio stream has been identified by the processor106, the processor106may inspect the data packets transferred to the wireless network controller106from the host controller102, to determine whether the audio stream is to be suspended or terminated. If the processor202determines that the audio stream is being suspended, then the processor202notifies arbitration logic112in the wireless device100of the audio stream termination to cause the arbitration logic112to relinquish the grant of medium access to priority to the network controller106.

In some embodiments, the audio stream detector108identifies an audio stream by inspecting the content of received data packets and determining, based on the content, whether the packet is (or may be) an A2DP packet. The inspecting of the content may include checking packet headers, packet length, etc.). By inspecting packet content the audio stream detector108may identify sub-band coded (SBC) audio, Moving Picture Experts Group Audio Layer 3 (MP3) coded audio, etc. For example, if an inspected header contains values arranged as an all 1 s Sync field, Version field, Layer field, Error Protection field, Bit Rate field, and Frequency field of an MP3 header, then the audio stream detector108may deem the packet to be part of an MP3 encoded A2DP stream. SBC encoded audio frames may be detected in the manner (i.e., by identifying values corresponding to SBC frame header fields).

In some embodiments, the audio stream detector108identifies an audio stream by tracking the BLUETOOTH logical link control and adaptation protocol (L2CAP) signaling channel. The audio stream detector108inspects the data transferred from the host102to the controller106, identifies in the data the creation of the L2CAP signaling channel, and identifies, on the L2CAP signaling channel, the commands that start and stop an audio stream.

FIG.3shows a flow diagram300for a method for providing quality of service to an audio stream in the wireless device100. Though depicted sequentially as a matter of convenience, at least some of the actions shown can be performed in a different order and/or performed in parallel. Additionally, some embodiments may perform only some of the actions shown. In some embodiments, at least some of the operations of the method300can be implemented as instructions stored in a computer readable medium and executed by the processor202.

In block302, the second wireless network controller106receives data from the host controller102to be transmitted via the second wireless network. The host controller102may provide no information with regard to the priority or content of the data.

In block304, the second wireless network controller106inspects the content of the data received from the host controller102. If, in block306, the second wireless network controller106determines that the data indicates that an audio stream is being initiated by the host controller102, then, in block308, the second wireless network controller106notifies arbitration logic112in the wireless device100of the need for priority access to the wireless medium so that the audio stream can be delivered with suitable quality of service. As explained above, the second wireless network controller106may identify initiation of an audio stream by identifying the audio data itself or by identifying commands that start an audio channel.

In block310, responsive to the notification, the arbitration logic112grants to the second wireless network controller106priority to access the wireless medium as needed to stream the audio data. The second wireless network controller106transfers the audio stream via the second wireless network in accordance with the access priority granted by the arbitration logic112.

In block312, the second wireless network controller106receives additional data from the host controller102. The received data may include streaming audio data.

In block314, the second wireless network controller106inspects the data received from the host controller102. If, in block306, the second wireless network controller106determines that the data indicates that the audio stream is being suspended by the host controller102, then, in block318, the second wireless network controller106notifies arbitration logic112in the wireless device100that priority access to the wireless medium is being relinquished.

In block320, the arbitration logic112rescinds the access priority granted to the second wireless network controller106.

The above discussion is meant to be illustrative of the principles and various embodiments of the present invention. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications.