Seamless transition between media streaming modes
By separating high-quality audio streams and game audio streams and performing latency adjustments and sample rate matching, the increased latency and distortion caused by mode switching in wireless audio systems are resolved, achieving seamless audio mode switching and high-quality transmission.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-18
- Publication Date
- 2026-03-27
AI Technical Summary
In wireless audio systems, switching between multiple audio streaming modes can lead to increased latency and audio signal distortion, especially when switching between high-quality audio streaming modes and low-latency gaming audio streaming modes.
The high-quality audio stream mode and the game audio stream mode are separated into two independent audio streams, and the delay is adjusted through buffers and mixers. Overlapping Addition Grouping (OLA) technique is used to match the sample rate and encoding to achieve seamless conversion.
It enables seamless switching between high-quality audio streams and game audio streams, reduces audio signal distortion, and improves audio quality and transmission efficiency.
Smart Images

Figure CN119895837B_ABST
Abstract
Description
[0001] Cross-references
[0002] This patent application claims priority to U.S. Patent Application No. 17 / 952,109, entitled “Seamless Transitions Between Media Modes,” filed September 23, 2022, by TURNER et al., which is assigned to the assignee of this application and whose entire contents are expressly incorporated herein by reference. Background Technology
[0003] The following discussion concerns wireless communication, including seamless switching between media modes such as audio and / or video modes.
[0004] Wireless communication systems are widely deployed to provide various types of communication content, such as voice, video, packet data, messaging, and broadcasting. These systems can be multiple access systems capable of supporting communication with multiple users by sharing available system resources (e.g., time, frequency, and power). Wireless networks (such as WLANs, or Wi-Fi networks (i.e., IEEE 802.11 networks) can include access points (APs) that can communicate with one or more stations (STAs) or mobile devices. APs can be coupled to networks such as the Internet and enable mobile devices to communicate via the network (or with other devices coupled to the access point). Wireless devices can communicate bidirectionally with network devices. For example, in a WLAN, a STA can communicate with its associated AP via a DL (or forward link) and a UL (or reverse link). The DL (or forward link) can refer to the communication link from the AP to the station, and the UL (or reverse link) can refer to the communication link from the station to the AP.
[0005] In some wireless audio systems, a wireless device (e.g., a STA) can transmit wireless audio signals to another wireless device, such as wireless earbuds, wireless headphones, etc., or generally to an audio receiver. Wireless audio can be associated with multiple audio streaming modes for different operations, as further explained below, and a user can switch between multiple audio streaming modes (e.g., a user can use a wireless device to switch between different audio modes). However, in some examples, switching between multiple audio streaming modes can lead to increased latency and audio signal distortion. Summary of the Invention
[0006] The described techniques relate to improved methods, systems, devices, or apparatuses that support seamless transitioning between media modes. In particular, media modes can include a high quality (HQ) audio stream mode that can have a high bit rate and a lower quality stream mode, such as a game audio stream mode, that can have a lower bit rate. In particular, the game mode can have a lower latency than the HQ audio mode and thus is also referred to as a low latency mode in some instances. Hereinafter, media can refer to audio or / and video in general. Examples in this disclosure that refer to audio are equally applicable to video or other types of media, and hereinafter, these explanations are not limited to audio in the described aspects.
[0007] In general, the described techniques can prepare for implementing media system modifications, such as implementing audio system modifications by classifying the HQ audio stream mode and the game audio stream mode as two separate audio streams, in particular. To reduce latency and maintain audio quality, an audio source device and an audio sink device can separate the HQ mode (e.g., the HQ audio stream mode) and the game mode (e.g., the game audio stream mode) into two audio streams, which can result in less distorted transmission. In some examples, the audio source device can operate according to a dual audio mode (e.g., an audio mode that supports the HQ audio stream and the game audio stream) and transmit audio to the audio sink device in the dual audio mode. In some examples, the audio source device can use a buffer to adjust a latency time of at least one of the two audio streams. In some examples, the audio source device can use a mixer and an encoder to implement an overlap-add (OLA) packet. The OLA packet can overlap a first media stream with a second media stream while avoiding synthesizing the two media streams, which can allow separate output of the two streams. In some examples, the audio source device can use the OLA packet to separately adjust the latency and the sampling rate of the two streams, which can result in high quality of the audio signal and seamless transitioning between the two audio modes. Additionally or alternatively, the audio source device can support transitioning from the dual audio mode to a single audio mode to improve efficiency.
[0008] A method for wireless communication at a first wireless device is described. The method can include generating a first media stream associated with a first media mode and a second media stream associated with a second media mode, buffering the first media stream according to a first latency time value to adjust a first latency time of the first media stream and buffering the second media stream independently of the first media stream according to a second latency time value to adjust a second latency time of the second media stream, and transmitting a mixed media stream to a second wireless device, the mixed media stream including the buffered first media stream mixed with the buffered second media stream.
[0009] An apparatus for wireless communication at a first wireless device is described. The apparatus can include a processor, memory coupled with the processor, and instructions stored in the memory. The instructions can be executable by the processor to cause the apparatus to generate a first media stream associated with a first media mode and a second media stream associated with a second media mode, buffer the first media stream according to a first latency time value to adjust a first latency time of the first media stream and buffer the second media stream independently of the first media stream according to a second latency time value to adjust a second latency time of the second media stream, and transmit, to a second wireless device, a mixed media stream including the buffered first media stream mixed with the buffered second media stream.
[0010] Another apparatus for wireless communication at a first wireless device is described. The apparatus can include means for generating a first media stream associated with a first media mode and a second media stream associated with a second media mode, means for buffering the first media stream according to a first latency time value to adjust a first latency time of the first media stream and buffering the second media stream independently of the first media stream according to a second latency time value to adjust a second latency time of the second media stream, and means for transmitting, to a second wireless device, a mixed media stream including the buffered first media stream mixed with the buffered second media stream.
[0011] A non-transitory computer-readable medium storing code for wireless communication at a first wireless device is described. The code can include instructions executable by a processor to generate a first media stream associated with a first media mode and a second media stream associated with a second media mode, buffer the first media stream according to a first latency time value to adjust a first latency time of the first media stream and buffer the second media stream independently of the first media stream according to a second latency time value to adjust a second latency time of the second media stream, and transmit, to a second wireless device, a mixed media stream including the buffered first media stream mixed with the buffered second media stream.
[0012] Some examples of the method, apparatuses, and non-transitory computer-readable medium described herein can further include operations, features, means for, or instructions for terminating the second media stream associated with the second media mode, and increasing the latency of the first independent media stream in response to terminating the second media stream.
[0013] Some examples of the method, apparatuses, and non-transitory computer-readable medium described herein can further include operations, features, means for, or instructions for terminating the first media stream associated with the first media mode, and transitioning from operating in a dual media mode in which the first media stream and the second media stream can be classified as independent of one another to operating in a single media mode based on terminating the first media stream.
[0014] Some examples of the method, apparatuses, and non-transitory computer-readable medium described herein can further include operations, features, means for, or instructions for mixing, after buffering, the first media stream at the first sample rate and the second media stream at the second sample rate, and jointly encoding the mixed first media stream and second media stream.
[0015] Some examples of the method, apparatuses, and non-transitory computer-readable medium described herein can further include operations, features, means for, or instructions for setting, based on the first sample rate, a first latency time value associated with the first media stream, and sizing and shifting the second media stream between a transmission phase at the first wireless device and an encoder input at the first wireless device.
[0016] Some examples of the method, apparatuses, and non-transitory computer-readable medium described herein can further include operations, features, means for, or instructions for inserting, prior to mixing, an overlap-add packet block into the first media stream and the second media stream, where the overlap-add packet block can be associated with a transition from operating in a dual media mode in which the first media stream and the second media stream can be classified as independent from one another to operating in a single media mode. In some examples, the overlap-add packet block can be used to switch the sample rate of one or both media streams such that the sample rate of the first media stream matches the sample rate of the second media stream.
[0017] In some examples of the method, apparatuses, and non-transitory computer-readable medium described herein, mixing the first media stream and the second media stream can include operations, features, means for, or instructions for mixing the first media stream and the second media stream at a third sample rate prior to mixing.
[0018] Some examples of the method, apparatuses, and non-transitory computer-readable medium described herein can further include operations, features, means for, or instructions for refraining from jointly encoding the first media stream and the second media stream for a duration of the second latency time value.
[0019] Some examples of the method, apparatuses, and non-transitory computer-readable medium described herein can further include operations, features, means for, or instructions for disabling, prior to mixing the first media stream at the first sample rate and the second media stream at the second sample rate, a first target wake-up time associated with the first media stream, enabling a second target wake-up time associated with the first media stream, and mixing the first media stream and the second media stream based on the second target wake-up time.
[0020] Some examples of the method, apparatuses, and non-transitory computer-readable medium described herein can further include operations, features, means, or instructions for enabling a second target wake time associated with the first media stream, and encoding the first media stream based on the second target wake time.
[0021] In some examples of the method, apparatuses, and non-transitory computer-readable medium described herein, the first media mode includes a high quality mode and the second media mode includes a low latency mode.
[0022] In some examples of the method, apparatuses, and non-transitory computer-readable medium described herein, the first wireless device includes a media source device and the second wireless device includes a media sink device. BRIEF DESCRIPTION OF DRAWINGS
[0023] Figure 1 An example of a wireless communications system that supports seamless transitions between media modes is shown in accordance with aspects of the present disclosure.
[0024] Figure 2 An example of an audio buffering block diagram that supports seamless transitions between media modes is shown in accordance with one or more aspects of the present disclosure.
[0025] Figure 3 An example of an audio stream mixing scheme that supports seamless transitions between media modes is shown in accordance with one or more aspects of the present disclosure.
[0026] Figure 4 An example of an audio stream mixing processing flow that supports seamless transitions between media modes is shown in accordance with one or more aspects of the present disclosure.
[0027] Figure 5 An example of an audio stream mixing scheme that supports seamless transitions between media modes is shown in accordance with one or more aspects of the present disclosure.
[0028] Figure 6 An example of an audio stream mixing processing flow that supports seamless transitions between media modes is shown in accordance with one or more aspects of the present disclosure.
[0029] Figure 7 And Figure 8 A block diagram of a device that supports seamless transitions between media modes is shown in accordance with one or more aspects of the present disclosure.
[0030] Figure 9 A block diagram of a communications manager that supports seamless transitions between media modes is shown in accordance with one or more aspects of the present disclosure.
[0031] Figure 10A diagram illustrating a system including a device that supports seamless transitions between media modes in accordance with one or more aspects of the present disclosure is shown.
[0032] Figures 11 to 14 A flow diagram illustrating a method that supports seamless transitions between media modes in accordance with one or more aspects of the present disclosure is shown. DETAILED DESCRIPTION
[0033] In some wireless audio systems, a wireless device (e.g., an audio source device) can transmit a wireless audio signal to an audio sink device (e.g., a wireless earbud). The audio signal can be associated with multiple audio stream modes for different operations (e.g., music, gaming, etc.) that can be associated with different levels of quality, such as different bitrates, sampling rates, different levels of latency, and / or different levels of error correction coding. In some examples, a user can switch between two audio (e.g., media) modes (e.g., a high quality (HQ) mode and a gaming mode), and thus, the audio sink device can transition between the two audio modes. For example, the audio source device can use a mixer to mix the audio streams associated with the two audio modes, and an encoder can output the audio signal to the earbud. The HQ stream can be associated with high quality audio, and the gaming stream can be associated with low latency. The switching between the two audio streams can cause an increase in latency. In some examples, the audio source device can reduce the latency associated with the switching between the two audio streams, however, reducing the latency can cause a reduction in the quality of the audio signal and cause audio distortion.
[0034] The techniques, systems, and devices described herein enable audio source devices and audio sink devices to implement audio system modifications, particularly by classifying audio associated with HQ mode and game mode into two separate audio streams. In some examples, an audio source device can separate HQ mode and game mode into two audio streams, which can result in less distorted transmission. The audio source device can operate according to a dual media mode (e.g., an audio mode that supports both HQ audio streams and game audio streams). In some examples, the audio source device can use a buffer to adjust a latency time of at least one of the two audio streams. For example, the audio source device can input HQ mode as a separate audio stream into a buffer. The audio source device can buffer the HQ audio for a threshold period of time before encoding the HQ audio with the game audio. The audio source device can use the buffer to adjust the latency time of the HQ audio stream, and the audio source device can input the HQ audio stream and the game audio stream into a mixer and into an encoder after adjusting the latency. In some examples, the audio source can use the mixer and the encoder to implement an overlap-add (OLA) packet. The OLA packet can overlap a first media stream with a second media stream while avoiding synthesizing the two media streams, which can allow for separate output of the two streams. In some examples, the audio source device can use the OLA packet to separately adjust the latency and the sampling rate of the two streams, which can result in high quality of the audio signal and seamless transitions between the two audio modes. For example, the overlap-add packet block can be used to switch the sampling rate of one or both media streams such that the sampling rate of the first media stream matches the sampling rate of the second media stream. Additionally or alternatively, the audio source device can support transitioning from a dual audio mode to a single audio mode. In such cases, the audio source device can increase the transmission rate of the single audio stream such that buffering is shifted to the audio sink device.
[0035] Aspects of the disclosure are initially described in the context of a wireless communications system. Aspects of the disclosure are further illustrated by audio buffering diagrams, audio stream mixing schemes, and audio stream processing flows. Aspects of the disclosure are further illustrated and described with reference to apparatus diagrams, system diagrams, and flowcharts relating to seamless transitions between audio modes.
[0036] Figure 1A wireless local area network (WLAN) 100 (also referred to as a Wi-Fi network) configured in accordance with various aspects of the present disclosure is shown. The WLAN 100 can include an AP 105 and multiple associated STAs 115, which can represent devices such as mobile stations, personal digital assistants (PDAs), other handheld devices, netbooks, notebook computers, tablet computers, laptops, display devices (e.g., TVs, computer monitors, etc.), printers, etc. The AP 105 and associated STAs 115 can represent a BSS or an ESS. The various STAs 115 in a network are capable of communicating with one another through the AP 105 via wireless links 120. Also shown is a coverage area 110 of the AP 105, which can represent a BSA of the WLAN 100. Extended network stations (not shown) associated with the WLAN 100 can be connected to a wired or wireless distribution system, which can allow multiple APs 105 to be connected in an ESS.
[0037] Although Figure 1 Although not shown in FIG. 1, a STA 115 can be located at the intersection of more than one coverage area 110 and can associate with more than one AP 105. A single AP 105 and a set of associated STAs 115 can be referred to as a BSS. An ESS is a set of connected BSSs. A distribution system (not shown) can be used to connect APs 105 in an ESS. In some cases, the coverage area 110 of an AP 105 can be partitioned into sectors (also not shown). The WLAN 100 can include APs 105 of different types (e.g., metropolitan area, home network, etc.) with different and overlapping coverage areas 110. Two STAs 115 can also communicate directly via a direct wireless link 125, regardless of whether both STAs 115 are in the same coverage area 110. Examples of direct wireless links 125 can include Wi-Fi Direct connections, Wi-Fi Tunneled Direct Link Setup (TDLS) links, and other group connections. The STAs 115 and APs 105 can communicate according to WLAN radio and baseband protocols for the physical and MAC layers from IEEE 802.11, including but not limited to versions 802.11b, 802.11g, 802.11a, 802.11n, 802.11ac, 802.11ad, 802.11ah, 802.11ax, etc. In other implementations, peer-to-peer connections or ad hoc networks can be implemented within the WLAN 100.
[0038] In some cases, a STA 115 (or AP 105) can be detected by a central AP 105, but not by other STAs 115 in the coverage area 110 of the central AP 105. For example, one STA 115 can be at one end of the coverage area 110 of the central AP 105, and another STA 115 can be at the other end. Thus, both STAs 115 can communicate with the AP 105, but can not receive transmissions of the other STA. Since the STAs 115 can not avoid transmitting on top of each other, this can result in colliding transmissions for the two STAs 115 in a contention-based environment (e.g., CSMA / CA). STAs 115 whose transmissions are not identifiable but within the same coverage area 110 can be referred to as hidden nodes. CSMA / CA can be supplemented by the exchange of RTS and CTS packets sent by the transmitting STA 115 (or AP 105) and the receiving STA 115 (or AP 105). This can warn other devices within range of the transmitting and receiving parties not to transmit for the duration of the main transmission. Thus, RTS / CTS can help mitigate the hidden node problem.
[0039] In some examples, the WLAN 100 can support an extended personal area network (XPAN) in which an audio source device (e.g., a wireless device or a STA 115) transmits wireless audio signals to an audio sink device (e.g., a wireless earbud). The audio signals can be associated with multiple audio stream modes for different operations, such as gaming or music, as described above. In some examples, a user can switch between two audio modes using the audio source device, and the user can transition between a high quality (HQ) mode and a gaming mode. For example, a user can switch from listening to music to starting a game, and audio in the HQ mode can continue to stream (e.g., HQ audio playback can not stop). Accordingly, the audio sink device can transition between the two audio modes based on the user’s transition. For example, a mixer in the audio sink device and the audio source device can mix audio streams associated with the two audio modes, and an encoder can output the audio signals to the earpiece. The HQ stream can be associated with high quality audio, and the gaming stream can be associated with low latency. Switching between the two audio streams can result in increased latency. For example, the gaming audio stream can be associated with an amount of processing time (e.g., 32 ms of control application time / 20 ms from the audio encoder input to the audio output). Additionally or alternatively, the HQ audio stream (e.g., a lossless audio stream) can be associated with an amount of processing time (e.g., 250 ms of control application time / 220 ms after input to the encoder). Accordingly, different encoders within the audio source device can be associated with different amounts of output latency. For example, the HQ audio stream can be associated with a latency of 220 ms, and the gaming audio stream can be associated with a latency of 20 ms. In some examples, the audio sink device can reduce the latency associated with switching between the two audio streams. However, reducing the latency can result in reducing the quality of the audio signals and causing audio distortion. For example, the latency reduction can result in a change in processing rate of 2 ms / sec or up to 5 ms / sec, resulting in increased (e.g., perceptible audio distortion).
[0040] The techniques, systems, and devices described herein enable the audio source device and the audio sink device to implement audio system modifications by classifying the HQ mode and the gaming mode as two separate audio streams. The techniques described herein can result in seamless transitions between the lossless audio stream, the HQ audio stream, and the gaming audio stream. The audio source device can adjust the latency associated with each audio stream using an encoder input. It should be appreciated that the techniques depicted herein can be applicable to seamless transitions over different communication channels (e.g., Bluetooth).
[0041] The audio source device can separate the HQ mode and the game mode into two audio streams, which can result in less distorted transmission. The audio source device can operate according to a dual audio mode (e.g., an audio mode that supports a HQ audio stream and a game audio stream). The audio sink device can generate a first audio signal associated with a first audio mode and a second audio signal associated with a second audio mode. In some cases, the first audio signal and the second audio signal can be generated according to the dual audio mode such that the first audio signal is classified as a first independent audio stream and the second audio signal is classified as a second independent audio stream. In some examples, the audio source device can use a buffer to adjust a latency time of at least one of the two audio streams (e.g., the audio source device can move audio buffering between the audio sink device and the audio source device). The audio source device can buffer the first independent audio stream according to a first latency time value and buffer the second independent audio stream according to a second latency time value. For example, the audio source device can input the HQ mode as a separate audio stream into the buffer. The audio source device can use the buffer to adjust the latency time of the HQ audio stream, and the audio source device can input the HQ audio stream and the game audio stream into a mixer and into an encoder after adjusting the latency. In some examples, the audio source device can update (e.g., refrain from adjusting) the latency time of the HQ audio stream, and the audio source device can reduce the latency time of the game audio stream. In this example, the audio source device can resize and offset (e.g., re-offset) the HQ audio stream in time and frequency after decoding the HQ audio stream and before encoding the HQ audio stream for transmission to the audio sink device.
[0042] In some examples, the audio source can use a mixer and an encoder to implement OLA grouping, which can allow up-sampling or down-sampling of one or both streams to match the sampling rate between the two streams. OLA grouping can also allow changing the compression algorithm, codec, or filtering of the mixed two streams. In some examples, the audio source device can use OLA grouping to separately adjust the latency and sampling rate of the two streams, which can result in high quality of the audio signal and seamless transition between the two audio modes. In some examples, such as a Wi-Fi interface, a target wake-up time of the audio sink device can be adjusted based on a transition between the HQ audio mode and the game audio mode. The target wake-up time can be associated with the sampling rate of the two streams, where the target wake-up time is based on the time for the decoder and the encoder to process each of the streams or both of the streams. In some other examples, such as a Bluetooth (BT) interface, the packet size and time interval of the audio signal transmission can be adjusted based on a transition between the HQ audio mode and the game audio mode. Additionally or alternatively, the audio source device can support transitioning from the dual audio mode to a single audio mode. In such cases, the audio source device can increase the transmission rate of the single audio stream such that buffering is shifted to the audio sink device.
[0043] Separating the HQ audio stream and the game audio stream allows for seamless and distortion-free transitions between the HQ audio mode and the game audio mode within a transition time window (e.g., 200 milliseconds). Additionally, separating the two audio streams can increase efficiency in scheduling the mixing and resampling of the two audio streams (e.g., adjusting the sample rate). For example, the audio source device can maintain the latency associated with the HQ audio mode when transitioning between audio modes, which can result in high audio quality and reduced audio distortion.
[0044] Figure 2 An example of an audio buffer diagram 200 supporting seamless switching between media modes according to one or more aspects of this disclosure is shown. Audio buffer diagram 200 may include... Figure 1Aspects of the WLAN 100, such as an audio source device and an audio sink device. For example, the audio source device and the audio sink device can communicate audio signals using the audio buffering diagram 200. The audio buffering diagram 200 can illustrate components of the audio source device. The audio source device can send audio signals to the audio sink device. The audio source device can separately mix the HQ audio stream 230-a using mixer 225-c and the game audio stream 230-b using mixer 225-b. The mixer 225-b can be associated with a relatively lower latency time of the game audio stream 230-b. The HQ audio stream 230-a can be associated with a predetermined sampling frequency for the audio stream, and the game audio stream 230-b can be associated with a different sampling frequency (e.g., 48 kilohertz (kHz) / 24 bits). The audio source device can input the HQ audio stream 230-a and the game audio stream 230-b to a rate adaptation timer (e.g., RAT 235), which can support multiple sampling rates for multiple audio streams 230. The audio source device can also input the HQ audio stream 230-a and the game audio stream 230-b into an encoder 275. The encoder 275 can also mix the audio streams 230 and adjust respective delays of the audio streams 230 to improve audio quality. The RAT 235 can output a game enable message 265 to components of the encoder 275 (e.g., game detection 255). The game enable message 265 can indicate the relatively low latency of the game audio stream 230-b. Additionally or alternatively, the audio source device can include an audio framework 205, which can include a library for audio mode detection. In some examples, the audio framework 205 can output an audio mode message 210 to a BT hardware abstraction layer (BT-HAL 215). The audio mode message 210 can indicate whether a received audio stream includes a HQ audio stream, a game audio stream, or both. The BT-HAL 215 can output the audio mode message 210, which can be input to the encoder 275 and a BT system on a chip (e.g., BT-SOC 220). Additionally or alternatively, the audio source device can include an audio lossless encoding (ALS 255), which can communicate with the rest of the components of the audio source device and can allow lossless audio compression. The audio mode message 210 can indicate a switch to the game audio stream.
[0045] In some examples, the encoder 275 can use the input of the HQ audio stream 230-a, the game audio stream 230-b, the game enable message 265, and the audio mode message 210 to separately encode the audio stream 230. For example, the encoder 275 can use the buffer 240 to buffer the HQ audio stream 230-a. The encoder 275 can refrain from buffering the game audio stream 230-b, and the encoder 275 can input the buffered HQ audio stream 230-a and the game audio stream 230-b into the mixer component 270 prior to encoding. The mixer component 270 can include multiple sample rate converters (SRCs 245), such as SRC 245-a, SRC 245-b, and SRC 245-c. The SRCs 245 can support adjusting the sample rate of the audio stream 230. As such, the mixer component 270 can use the game detection 255 and the game enable message 265 to detect the game audio stream 230-b. Based on detecting the game audio stream 230-b, the mixer component 270 can use the SRC 245-a and the SRC 245-b to adjust the sample rate of the audio stream 230. For example, the mixer component 270 can reduce the sample rate associated with the HQ audio stream 230-a relative to the sample rate associated with the game audio stream 230-b. The adjusted audio stream 230 can be output into the mixer 225-c. The mixer component 270 can output the audio stream to the encoder kernel 250 (e.g., kernel). The encoder kernel 250 can insert an OLA packet into the audio stream 230. The OLA packet can allow the audio source device to transition between the HQ audio mode and the game audio mode, and to switch between the sample rate associated with the HQ audio stream 230-a and the sample rate associated with the game audio stream 230-b. The kernel 250 can encode the audio stream 230 into an audio signal. The kernel 250 can use the SRC 245-c to perform echo cancellation processing. The audio source device can output one or more of the audio signals (e.g., HQ audio signal or game audio signal) to the audio sink device.
[0046] Figure 3 An example of an audio stream mixing scheme 300 that supports seamless transitions between media modes is shown in accordance with one or more aspects of the present disclosure. The audio stream mixing scheme 300 can include aspects of the audio buffering block 200 in Figure 2 For example, the audio stream mixing scheme 300 can include a buffer 325, a HQ audio stream 310, and a game audio stream 315. The buffer 325, the HQ audio stream 310, and the game audio stream 315 can be by the Figure 1 and Figure 2 An example of an audio stream mixing scheme 300 that supports seamless transitions between media modes is shown in accordance with one or more aspects of the present disclosure. The audio stream mixing scheme 300 can include aspects of the audio buffering block 200 in Figure 1 and Figure 2An example of a corresponding device is described. In some implementations, the audio source device can use the kernel 320 and the buffer 325 to transition between the HQ audio stream 310 and the game audio stream 315 with reduced latency. The audio source device can switch between transition states (e.g., system transition states) to mix the HQ audio stream 310 and the game audio stream 315.
[0047] In some examples, the audio source device can maintain a latency associated with the game audio mode (e.g., 20 milliseconds) when mixing the game audio stream 315 with the HQ audio stream 310. In this example, the HQ audio stream 310 can be associated with a relatively higher latency. To maintain the latency associated with the game mode audio, the audio source device can use the encoder 305-a to separately adjust the latency of both audio streams when transitioning from the HQ audio stream 310 to the game audio stream 315. Prior to the transition, the audio source device can input the HQ audio stream 310-a into the encoder kernel 320-a. The audio source device (e.g., a phone) can transmit the encoded HQ audio stream 310-a to the audio sink device (e.g., an earbud). The audio source device can send the HQ audio stream 310-a to the buffer 325-a with a relatively high latency (e.g., 220 milliseconds) prior to transmission. The transmission time associated with the delivery can be associated with an end-to-end latency 355-a (e.g., 220 milliseconds). Additionally or alternatively, the audio sink device can be associated with a target wake-up time window (e.g., the TWT window 330-a) during an end-to-end latency time (e.g., 100 milliseconds). The TWT window 330-a can be associated with processing times for the encoder and the decoder based on the transmission of the HQ audio stream 310, the game audio stream 315, or both. The audio sink device can receive the HQ audio stream 310-a and decode the HQ audio stream 310 using the decoder 335-a. The decoder 335-a can decode the HQ audio stream 310-a at a frequency of 192 Hz. The audio sink device can input the decoded HQ audio stream 310-a to the buffer 325-b, and the audio sink device can also process the HQ audio stream 310-a.
[0048] During the transition from HQ audio mode to game audio mode, the encoder 305-b can buffer the HQ audio stream 310-b (e.g., the previous HQ audio stream 310-a) and discard a portion of the game audio stream 315-a. For example, the audio source device can input the HQ audio stream 310-b into a buffer for a period of time (e.g., 200 ms). While the audio source device is buffering the HQ audio stream 310-b, the encoder core 320-b can not receive the HQ audio stream 310-b. Additionally or alternatively, the audio source device can discard a first portion of the game audio stream 315-a (e.g., the source can not input the first 200 milliseconds of the game audio stream 315-a). The audio source device can flush (send) the HQ audio stream 310-b to the audio sink device at 340 (e.g., the decoder output play can empty the output buffer 325-d) instead of buffering the HQ audio stream 310-b after encoding. The audio source device can disable the TWT window 330-b, and the audio source device can write out the compressed audio (e.g., the compressed audio of the HQ audio stream 310-b) through the transport to the audio sink device. In some examples, the audio source device can adjust the TWT window 330-b (e.g., lower the TWT window 330-b to 4 milliseconds).
[0049] After the HQ audio stream 310-b is flushed out, the audio source device can mix the HQ audio stream 310-c and the game audio stream 315-b. The audio source device can buffer the HQ audio stream 310-c and lower the sample rate (e.g., downsample) of the HQ audio stream 310-c to efficiently mix the audio streams. For example, the audio source device can input the HQ audio stream 310-c into the buffer 325-e. The buffer 325-c can buffer the HQ audio stream 310-c for a period of time (e.g., 200 milliseconds). The audio source device can input the buffered HQ audio stream 310-c into the SRC 345-a, which can lower the sample rate associated with the HQ audio stream (e.g., from 192 kHz decoder 335-a output to 48 kHz). Additionally or alternatively, the audio source device can use the mixer 330 to mix the adjusted HQ audio stream 310-c and the game audio stream 315-b. The encoder 305-c can enable the TWT window 330-c for a period of time (e.g., 4 milliseconds). The audio source device can send the mixed audio stream to the audio sink device. The audio source device can lower the transmission rate due to the increased throughput of the mixed signal (e.g., the latency can be 20 milliseconds). The audio sink device can decode the mixed audio stream at a lower frequency (e.g., 48 Hz), and the audio sink device can use the buffer 325-f to further process the mixed audio stream to increase the frequency (e.g., to 192 Hz).
[0050] Figure 4An example of an audio stream mixing process 400 supporting seamless switching between media modes according to one or more aspects of this disclosure is shown. The audio stream mixing process 400 may include... Figure 2 and Figure 3 In terms of aspects, for example, the audio stream mixing process 400 may include an encoder 405, a decoder 415, an HQ audio stream, and a game audio stream 420. The encoder 405, decoder 415, HQ audio stream, and game audio stream 420 can be... Figure 2 and Figure 3 Show and reference Figure 2 and 3 Examples of corresponding devices and audio streams are described. In some implementations, the audio source device and audio destination device can use encoder 405 and decoder 415 to convert between HQ audio stream and game audio stream 420 with reduced latency.
[0051] In some examples, the audio source device may use encoder 405 to send an audio signal to decoder 415 of the audio destination device. The audio source device may use connection agent 410 (e.g., a transmitter) to send an HQ audio stream. The audio source device may enable a first TWT window (e.g., 100 milliseconds) for the audio destination device to receive the HQ audio stream. The audio source device may receive a game audio stream 420, and the audio source device may use encoder 405 to send a request 425 to the audio destination device. For example, request 425 may instruct the audio destination device to switch from HQ audio mode to game audio mode. Alternatively, request 425 may include a request to adjust the TWT window of the audio destination device. The adjustment of the TWT window may be associated with a latency (e.g., greater than 200 milliseconds). During this latency, encoder 405 may generate data based on the HQ audio stream, and encoder 405 may switch to a high-compression game mode while maintaining a target latency time (e.g., 220 milliseconds). Based on the receipt of request 425, connection agent 410 may optionally send an acknowledgment message (e.g., ACK 430) to encoder 405.
[0052] Additionally or alternatively, the encoder 405 can send an OLA frame 435 to the decoder 415. The OLA frame can instruct the decoder to increase the decoding rate (e.g., from 48 kHz to 192 kHz). At 440, the encoder 405 can enable a down-sampler (e.g., reduce the encoding rate) for the HQ audio stream, and at 445, the decoder 415 can enable an up-sampler (e.g., increase the decoding rate). In some examples, the OLA frame can instruct the audio source device to insert the OLA frame into the first packet of the game audio stream 420 based on transitioning from the HQ audio mode to the game audio mode. In some examples, the connection agent 410 can send a TWT window notification 450 to the encoder 405. The TWT window notification 450 can indicate that the TWT window has been adjusted to a second TWT window associated with a period of lower time (e.g., 4 milliseconds).
[0053] At 455, to continue the transition to the game audio mode, the encoder 405 can buffer the HQ audio stream for a period of time and discard a portion of the game audio stream 420. At 460, the connection agent can write the buffered HQ audio stream to the audio sink device. At 465, the decoder 415 of the audio sink device can empty the output buffer of the audio sink device (e.g., remove the HQ audio stream). The connection agent 410 can send a packet indication 470 to the encoder 405. The packet indication 470 can indicate to generate the first packet of the game audio stream 420 (e.g., a synchronization message to instruct the encoder 405 to generate the packet).
[0054] At 475, the encoder 405 can enable a down-sampler for the HQ audio stream, and the encoder 405 can mix the HQ audio stream and the game audio stream 420. The audio source device and the audio sink device can stream the HQ audio mode and the game audio mode using the second TWT window. Additionally or alternatively, the encoder 405 can enable a down-sampler for the HQ audio stream before buffering the HQ audio stream.
[0055] Additionally or alternatively, the audio source device and the audio sink device can transition out of the game audio stream 420 as described with reference to Figure 5 and Figure 6Further description. In this example, the audio source device can stop streaming the game audio stream 420 (e.g., the game session can stop). The encoder 405 can increase the transmission rate of the HQ audio stream by transferring the buffer to the audio sink device (e.g., 200 ms of buffer). The delay window with the transferred buffer can be relatively large, and the encoder 405 can adjust the TWT window (e.g., to 100 ms). The encoder 405 can increase the delay adjustment (TTPAdj) based on transferring the buffer to the audio sink device (e.g., the TTPAdj can ramp up). The encoder 405 can send a message to the connection agent 410 and the decoder 415 indicating a transition to the HQ audio mode. The encoder 405 can remove the down-sampler, and the decoder 415 can remove the up-sampler, switch the sampling frequency of the decoder 415, or both. The connection agent can send signaling to the encoder 405 to adjust the TWT window, and the encoder 405 can increase the TWT window in response (e.g., to 100 ms). The encoder 405 can operate in the XPAN-HQ mode such that the encoder 405 can adjust the packet size and period of the HQ audio stream.
[0056] Figure 5 An example of an audio stream mixing scheme 500 that supports seamless transitions between media modes is shown in accordance with one or more aspects of the present disclosure. The audio stream mixing scheme 500 can include Figures 2 to 4 of the aspects. For example, the audio stream mixing scheme 500 can include a buffer 520, a kernel 535, a HQ audio stream 510, and a game audio stream 515. The buffer 520, the kernel 535, the HQ audio stream 510, and the game audio stream 515 can be examples of the corresponding devices described with reference to Figures 2 to 4 of the aspects. For example, the audio stream mixing scheme 500 can include a buffer 520, a kernel 535, a HQ audio stream 510, and a game audio stream 515. The buffer 520, the kernel 535, the HQ audio stream 510, and the game audio stream 515 can be examples of the corresponding devices described with reference to
[0057] In some examples, the audio source device can maintain the delay associated with the game audio mode (e.g., 20 ms) when mixing the game audio stream 515 with the HQ audio stream 510. In this example, the HQ audio stream 510 can be associated with a relatively higher delay. The audio source device can switch back from the mixed audio mode to the initial streaming of the HQ audio stream 510. As Figure 3As discussed in the middle, after writing out HQ audio stream 510 using the audio sink device, the audio source device can mix HQ audio stream 510-a and game audio stream 515-a. The audio source device can buffer HQ audio stream 510-a and reduce the sample rate of HQ audio stream 510-a to mix the audio streams. For example, the audio source device can input HQ audio stream 510-a into buffer 520-a. Buffer 520-a can buffer HQ audio stream 510-a for a period of time (e.g., 200 milliseconds). The audio source device can input the buffered HQ audio stream 510-a into SRC 525-a, which can reduce the sample rate associated with the HQ audio stream (e.g., from 192 kHz decoder output to 48 kHz). Additionally or alternatively, the audio source device can use mixer 530 to mix the adjusted HQ audio stream 510-a and game audio stream 515-a. Encoder 505-a can set TWT window 540-a for a period of time (e.g., 4 milliseconds). The audio source device can send the mixed audio stream to the audio sink device. The audio source device can reduce the latency due to the increased throughput of the mixed signal (e.g., the transmission rate can be 20 milliseconds). The audio sink device can decode the mixed audio stream at a reduced frequency (e.g., 48 Hz), and the audio sink device can further process the mixed audio stream using SRC 525-b and buffer 520-b to increase the frequency (e.g., to 192 Hz).
[0058] During the transition from the HQ audio mode to the game audio mode, encoder 305-b can shift the buffering back to the audio sink device by pushing the encoded mixed audio stream through the conveyor (e.g., the conveyance link) at an increased transmission rate (e.g., faster than real-time). For example, the audio source device can use transmission rate adjustment (TTP 550-a and TTP 550-b) to shift buffer 520-c. The audio source device can input HQ audio stream 510-b (e.g., the previous HQ audio stream 510-a) and avoid streaming the game audio stream. While the audio source device buffers HQ audio stream 510-b, encoder kernel 535-b can not receive HQ audio stream 510-b. Kernel 535-b can encode HQ audio stream 510-b and the remaining audio streams, and encoder 505-b can send the audio at an increased transmission rate at TTP 550-b.
[0059] After transferring the buffering to the audio sink device, the audio source device can re-enable the TWT window 540-c for an increased period of time (e.g., 100 milliseconds). The audio source device can synchronize the encoder 505-c to the re-enabled TWT window by flagging the last portion of the mixed audio stream that can be included in the TWT window. The audio source device can synchronize the encoder by sending a TWT window synchronization message to adjust the TWT window 540-c to 4 milliseconds. The audio source device can input the HQ audio stream 510-c into the encoder kernel 535-c based on transitioning out of the mixed audio mode. The audio source device can send the encoded HQ audio stream 510-c to the audio sink device. The audio sink device can further process the HQ audio stream 510-c using the decoder 545-c and the buffer 520-f.
[0060] Figure 6 An example of an audio stream mixing process 600 that supports seamless transitioning between media modes is shown, in accordance with one or more aspects of the present disclosure. The audio stream mixing process 600 can include aspects of the Figures 2 to 4 The audio stream mixing process 600 can include an encoder 605, a decoder 615, a HQ audio stream, and a game audio stream, for example. The encoder 605, the decoder 615, the HQ audio stream, and the game audio stream can be by a Figures 2 to 4 Examples of corresponding devices and audio streams are shown and described. Figures 2 to 4 In some implementations, the audio source device and the audio sink device can transition out of the mixed audio mode using the encoder 605 and the decoder 625 with reduced latency.
[0061] In some examples, the audio source device and the audio sink device can transition out of the streaming of both the HQ audio stream and the game audio stream by transferring buffering to the audio sink device. For example, the encoder 605, the connection agent 610, the decoder 615 can stream the HQ audio stream and the game audio stream using a first TWT window (e.g., 4 milliseconds). At 620, a user at the audio source device can stop streaming the game audio (e.g., the game session can stop), and the encoder 605 and the decoder 615 can transition out of the mixed audio mode.
[0062] At 625, the encoder 605 can increase the transmission rate of the HQ audio stream by transferring the buffer to the audio sink device (e.g., 200 ms of buffer), resulting in a delay at the audio sink device that allows the TWT window to be adjusted to a second TWT window (e.g., the TWT window is increased to 100 ms). The encoder 605 can increase the delay adjustment (TTPAdj) (e.g., the TTPAdj can ramp up) to transfer the buffer to the audio sink device. At 630, the audio source device can transmit a request 630 to the audio sink device using the encoder 605. For example, the request 630 can indicate that the audio sink device switch from a game audio mode to a HQ audio mode. Additionally or alternatively, the request 630 can include a request to adjust the TWT window of the audio sink device. The adjustment of the TWT window can be associated with a latency (e.g., greater than 200 ms). Based on receiving the request 630, the connection agent 610 can transmit an acknowledgement message (e.g., ACK 635) to the encoder 605.
[0063] Additionally or alternatively, at 640, the encoder 605 can communicate an OLA frame to the decoder 615. The OLA frame can indicate that the decoder 615 increase the decoding rate (e.g., from 48 kHz to 192 kHz). At 645, the encoder 605 can disable the down-sampler (e.g., reduce the encoding rate) for the HQ audio stream. Accordingly, at 650, the decoder 615 can disable the up-sampler (e.g., reduce from 192 kHz to 48 kHz), switch the sampling frequency of the decoder 615, or both. The connection agent 610 can transmit a second TWT indication 655 and a second TWT synchronization message 660 to the encoder 605. The second TWT indication 655 and the second TWT synchronization message 660 can indicate that the encoder 605 transition to the second TWT window (e.g., 100 ms). Additionally, the second TWT synchronization message 660 can indicate a time period in which the encoder 605 can transition to the second TWT window. In some examples, the second TWT synchronization message 660 can indicate that the encoder adjust the second TWT window to 4 ms. Based on the adjusted TWT window, the encoder 605 can operate in an XPAN-HQ mode 665 such that the encoder 605 can adjust the packet size and period of the HQ audio stream. The encoder 605, the connection agent 610, and the decoder 615 can stream the HQ audio stream at the second TWT window.
[0064] Figure 7A block diagram 700 of a device 705 that supports seamless transition between media modes in accordance with one or more aspects of the present disclosure is shown. The device 705 can be an example of aspects of a wireless device as described herein. The device 705 can include a receiver 710, a transmitter 715, and a communications manager 720. The device 705 can also include a processor. Each of these components can be in communication with one another (e.g., via one or more buses).
[0065] The receiver 710 can provide means for receiving information such as packets, user data, control information, or any combination thereof associated with various information channels (e.g., control channels, data channels, information channels related to seamless transition between media modes). Information can be passed on to other components of the device 705. The receiver 710 can utilize a single antenna or a set of multiple antennas.
[0066] The transmitter 715 can provide means for transmitting signals generated by other components of the device 705. For example, the transmitter 715 can transmit information such as packets, user data, control information, or any combination thereof associated with various information channels (e.g., control channels, data channels, information channels related to seamless transition between media modes). In some examples, the transmitter 715 can be collocated with the receiver 710 in a transceiver module. The transmitter 715 can utilize a single antenna or a set of multiple antennas.
[0067] The communications manager 720, the receiver 710, the transmitter 715, or various combinations thereof or various components thereof can be examples of means for performing various aspects of seamless transition between media modes as described herein. For example, the communications manager 720, the receiver 710, the transmitter 715, or various combinations or components thereof can support a method for performing one or more of the functions described herein.
[0068] In some examples, the communications manager 720, the receiver 710, the transmitter 715, or various combinations or components thereof can be implemented in hardware (e.g., in communications management circuitry). The hardware can include a processor, a DSP, a CPU, an ASIC, an FPGA or other programmable logic device, a microcode, a discrete hardware component, or any combination thereof configured as or otherwise supporting a means for performing the functions described in the present disclosure. In some examples, a processor and memory coupled with the processor can be configured to perform one or more of the functions described herein (e.g., by executing instructions stored in memory).
[0069] Additionally, or alternatively, in some examples, the communication manager 720, the receiver 710, the transmitter 715, or various combinations or components thereof can be implemented in code (e.g., as communication management software or firmware) executed by a processor. If implemented in code executed by a processor, the functions of the communication manager 720, the receiver 710, the transmitter 715, or various combinations or components thereof can be executed by a general-purpose processor, a DSP, a CPU, an ASIC, an FPGA, a microcontroller, or any combination of these or other programmable logic devices (e.g., configured as or otherwise supporting a means for performing the functions described in this disclosure).
[0070] In some examples, the communication manager 720 can be configured to use or otherwise employ the receiver 710, the transmitter 715, or both, to perform various operations (e.g., receiving, obtaining, monitoring, reporting, transmitting).
[0071] The communication manager 720 can support wireless communication at a first wireless device in accordance with examples as disclosed herein. For example, the communication manager 720 can be configured as or otherwise support a means for generating a first media stream associated with a first media mode and a second media stream associated with a second media mode. The communication manager 720 can be configured as or otherwise support a means for buffering the first media stream in accordance with a first latency time value to adjust a first latency time of the first media stream and buffering the second media stream independent of the first media stream in accordance with a second latency time value to adjust a second latency time of the second media stream. The communication manager 720 can be configured as or otherwise support a means for transmitting, to a second wireless device, a mixed media stream including the buffered first media stream mixed with the buffered second media stream.
[0072] By including or configuring the communication manager 720 in accordance with examples as described herein, the device 705 (e.g., a processor controlling or otherwise coupled to the receiver 710, the transmitter 715, the communication manager 720, or a combination thereof) can support techniques for reduced processing. For example, by treating the HQ audio stream and the game audio stream as independent media streams, the device 705 can buffer the audio streams separately and adjust the audio streams separately, which can result in reduced latency and reduced processing.
[0073] Figure 8A block diagram 800 of a device 805 that supports seamless transitioning between media modes in accordance with one or more aspects of the present disclosure is shown. The device 805 can be an example of aspects of a device 705 or a STA 115 as described herein. The device 805 can include a receiver 810, a transmitter 815, and a communication manager 820. The device 805 can also include a processor. Each of these components can be in communication with one another (e.g., via one or more buses).
[0074] The receiver 810 can provide means for receiving information such as packets, user data, control information, or any combination thereof associated with various information channels (e.g., control channels, data channels, information channels related to seamless transitioning between media modes). Information can be passed on to other components of the device 805. The receiver 810 can utilize a single antenna or a set of multiple antennas.
[0075] The transmitter 815 can provide means for transmitting signals generated by other components of the device 805. For example, the transmitter 815 can transmit information such as packets, user data, control information, or any combination thereof associated with various information channels (e.g., control channels, data channels, information channels related to seamless transitioning between media modes). In some examples, the transmitter 815 can be collocated with the receiver 810 in a transceiver module. The transmitter 815 can utilize a single antenna or a set of multiple antennas.
[0076] The device 805 or its various components can be an example of means for performing various aspects of seamless transitioning between media modes as described herein. For example, the communication manager 820 can include an audio signal transmission component 825, a buffering component 830, a mixed signal output component 835, or any combination thereof. The communication manager 820 can be an example of aspects of the communication manager 720 as described herein. In some examples, the communication manager 820 or various components thereof can be configured to perform various operations (e.g., receive, obtain, monitor, output, transmit) using or otherwise in cooperation with the receiver 810, the transmitter 815, or both. For example, the communication manager 820 can receive information from the receiver 810, transmit information to the transmitter 815, or be integrated in combination with the receiver 810, the transmitter 815, or both to obtain information, output information, or perform various other operations as described herein.
[0077] The communications manager 820 can support wireless communication at a first wireless device in accordance with examples as disclosed herein. The audio signal transmission component 825 can be configured as or the other way supported means for generating a first media stream associated with a first media mode and a second media stream associated with a second media mode. The buffering component 830 can be configured as or the other way supported means for buffering the first media stream in accordance with a first latency time value to adjust a first latency time of the first media stream and buffering the second media stream independent of the first media stream in accordance with a second latency time value to adjust a second latency time of the second media stream. The mixed signal output component 835 can be configured as or the other way supported means for transmitting a mixed media stream to a second wireless device, the mixed media stream including the buffered first media stream mixed with the buffered second media stream.
[0078] Figure 9 A block diagram 900 of a communications manager 920 that supports seamless transition between media modes is shown in accordance with one or more aspects of the present disclosure. The communications manager 920 can be an example of a communications manager 720, a communications manager 820, or both aspects as described herein. The communications manager 920, or various components thereof, can be an example of means for performing various aspects of seamless transition between media modes as described herein. For example, the communications manager 920 can include an audio signal transmission component 925, a buffering component 930, a mixed signal output component 935, an audio signal termination component 940, a transmission rate component 945, an audio mode transition component 950, an audio stream mixing component 955, an encoding component 960, a fixed delay component 965, a wake-up time component 970, an overlap-add packet component 975, or any combination thereof. Each of these components can communicate, directly or indirectly, with one another (e.g., via one or more buses).
[0079] The communications manager 920 can support wireless communication at a first wireless device in accordance with examples as disclosed herein. The audio signal transmission component 925 can be configured as or the other way supported means for generating a first media stream associated with a first media mode and a second media stream associated with a second media mode. The buffering component 930 can be configured as or the other way supported means for buffering the first media stream in accordance with a first latency time value to adjust a first latency time of the first media stream and buffering the second media stream independent of the first media stream in accordance with a second latency time value to adjust a second latency time of the second media stream. The mixed signal output component 935 can be configured as or the other way supported means for transmitting a mixed media stream to a second wireless device, the mixed media stream including the buffered first media stream mixed with the buffered second media stream.
[0080] In some examples, the audio signal termination component 940 can be configured as or otherwise support a means for terminating a second media stream associated with a second media mode. In some examples, the transmission rate component 945 can be configured as or otherwise support a means for increasing a delay of a first independent media stream in response to terminating the second media stream.
[0081] In some examples, the audio signal termination component 940 can be configured as or otherwise support a means for terminating a first media stream associated with a first media mode. In some examples, the audio mode conversion component 950 can be configured as or otherwise support a means for converting from operating in a dual media mode in which the first media stream and the second media stream are classified as independent from one another to operating in a single media mode based on terminating the first media stream.
[0082] In some examples, the audio stream mixing component 955 can be configured as or otherwise support a means for mixing, after buffering, the first media stream at the first sample rate and the second media stream at the second sample rate. In some examples, the encoding component 960 can be configured as or otherwise support a means for jointly encoding the mixed first media stream and the second media stream.
[0083] In some examples, the fixed delay component 965 can be configured as or otherwise support a means for setting a first delay time value associated with the first media stream based on the first sample rate. In some examples, the buffering component 930 can be configured as or otherwise support a means for sizing and shifting the second media stream between a transmission phase at the first wireless device and an encoder input at the first wireless device.
[0084] In some examples, the overlap-add packet component 975 can be configured as or otherwise support a means for inserting, prior to mixing, an overlap-add packet into the first media stream and the second media stream, where the overlap-add packet is associated with converting from operating in a dual media mode in which the first media stream and the second media stream are classified as independent from one another to operating in a single media mode.
[0085] In some examples, mixing the first media stream and the second media stream includes mixing, prior to mixing, the first media stream and the second media stream at a third sample rate.
[0086] In some examples, the buffering component 930 can be configured as or otherwise support a means for refraining from jointly encoding the first media stream and the second media stream for a duration of the second delay time value.
[0087] In some examples, the wake time component 970 can be configured as or otherwise support a means for disabling a first target wake-up time associated with the first media stream prior to mixing the first media stream at the first sampling rate and the second media stream at the second sampling rate. In some examples, the wake time component 970 can be configured as or otherwise support a means for enabling a second target wake-up time associated with the first media stream. In some examples, the audio stream mixing component 955 can be configured as or otherwise support a means for mixing the first media stream and the second media stream based on the second target wake-up time.
[0088] In some examples, the wake time component 970 can be configured as or otherwise support a means for enabling a second target wake-up time associated with the first media stream. In some examples, the encoding component 960 can be configured as or otherwise support a means for encoding the first media stream based on the second target wake-up time.
[0089] In some examples, the first media mode includes a high quality mode and the second media mode includes a low latency mode.
[0090] In some examples, the first wireless device includes a media source device and the second wireless device includes a media sink device.
[0091] Figure 10 A diagram illustrates a system 1000 including a device 1005 that supports seamless transition between media modes in accordance with one or more aspects of the present disclosure. The device 1005 can be an example of or include the components of a device 805, a device 905, or a wireless device as described herein. The device 1005 can include components for bi-directional voice and data communications including components for transmitting and receiving communications, such as a communications manager 1020, an I / O controller 1010, a transceiver 1015, an antenna 1025, memory 1030, code 1035, and a processor 1040. These components can be in electronic communication or otherwise coupled
[0092] The I / O controller 1010 can manage input and output signals for the device 1005. The I / O controller 1010 can also manage peripherals not integrated into the device 1005. In some cases, the I / O controller 1010 can represent a physical connection or port to the or another known operating system. Additionally or alternatively, I / O controller 1010 can represent a modem, a keyboard, a mouse, a touchscreen, or a similar device, or interaction with such a device. In some cases, I / O controller 1010 can be implemented as part of a processor, such as processor 1040. In some cases, a user can interact with device 1005 via I / O controller 1010 or via hardware components controlled by I / O controller 1010.
[0093] In some cases, device 1005 can include a single antenna 1025. However, in some other cases device 1005 can have more than one antenna 1025, which can be capable of concurrently transmitting or receiving multiple wireless transmissions. Transceiver 1015 can communicate bi-directionally, via one or more antennas 1025, wired, or wireless links as described herein. For example, transceiver 1015 can represent a wireless transceiver and can communicate bi-directionally with another wireless transceiver. Transceiver 1015 can also include a modem to modulate the packets, to provide the modulated packets to one or more antennas 1025 for transmission, and to demodulate packets received from one or more antennas 1025. Transceiver 1015, or transceiver 1015 and one or more antennas 1025, can be an example of a transmitter 815, a transmitter 915, a receiver 810, a receiver 910, or any combination thereof, or a component thereof, as described herein.
[0094] Memory 1030 can include RAM and ROM. The memory 1030 can store computer-readable, computer-executable code 1035 including instructions that, when executed, cause the device 1005 to perform various functions described herein. The code 1035 can be stored in a non-transitory computer-readable medium such as system memory or another type of memory. In some cases, the code 1035 can not be directly executable by the processor 1040 but can cause a computer (e.g., when compiled and executed) to perform functions described herein. In some cases, the memory 1030 can include, among other things, a BIOS which can control basic hardware or software operation such as the interaction with peripheral components or devices.
[0095] The processor 1040 can include an intelligent hardware device, (e.g., a general- purpose processor, a DSP, a CPU, a microcontroller, an ASIC, an FPGA, a programmable logic device, a discrete gate or transistor logic component, a discrete hardware component, or any combination thereof). In some cases, the processor 1040 can be configured to operate a memory array using a memory controller. In some other cases, a memory controller can be integrated into the processor 1040. The processor 1040 can be configured to execute computer-readable instructions stored in a memory (e.g., the memory 1030) to cause the device 1005 to perform various functions (e.g., functions or tasks supporting seamless transition between media modes). For example, the device 1005 or a component of the device 1005 can include the processor 1040 and the memory 1030 coupled with or to the processor 1040, the processor 1040 and the memory 1030 being configured to perform various functions described herein.
[0096] The communications manager 1020 can support wireless communication at a first wireless device in accordance with examples as disclosed herein. For example, the communications manager 1020 can be configured as or otherwise support a means for generating a first media stream associated with a first media mode and a second media stream associated with a second media mode. The communications manager 1020 can be configured as or otherwise support a means for buffering the first media stream in accordance with a first latency time value to adjust a first latency time of the first media stream and buffering the second media stream independent of the first media stream in accordance with a second latency time value to adjust a second latency time of the second media stream. The communications manager 1020 can be configured as or otherwise support a means for transmitting a mixed media stream to a second wireless device, the mixed media stream including the buffered first media stream mixed with the buffered second media stream.
[0097] By including or configuring the communications manager 1020 in accordance with examples as described herein, the device 1005 can support techniques for reduced latency, improved user experience related to reduced processing, and reduced power consumption. For example, by treating the HQ audio stream and the game audio stream as independent audio streams, the device 1005 can buffer the audio streams separately and adjust the audio streams separately, which can result in reduced latency and reduced power consumption.
[0098] In some examples, the communication manager 1020 can be configured to perform various operations (e.g., receiving, monitoring, transmitting) using or otherwise in cooperation with the transceiver 1015, the one or more antennas 1025, or any combination thereof. Although the communication manager 1020 is illustrated as a separate component, in some examples, one or more functions described with reference to the communication manager 1020 can be supported by or performed by the processor 1040, the memory 1030, the code 1035, or any combination thereof. For example, the code 1035 can include instructions executable by the processor 1040 to cause the device 1005 to perform various aspects of seamless transition between media modes as described herein, or the processor 1040 and the memory 1030 can be otherwise configured to perform or support such operations.
[0099] Figure 11 A flow diagram illustrating a method 1100 that supports seamless transition between media modes in accordance with one or more aspects of the present disclosure is shown. The operations of method 1100 can be implemented by a wireless device or its components as described herein. For example, the operations of method 1100 can be performed by a wireless device as described with reference to FIG. 5A, 5B, 5C, 5D, 5E, 5F, 5G, 5H, 5I, 5J, 5K, 5L, 5M, 5N, 5O, 5P, 5Q, 5R, 5S, 5T, 5U, 5V, 5W, 5X, 5Y, 5Z, 5AA, 5BB, 5CC, 5DD, 5EE, 5FF, 5GG, 5HH, 5II, 5JJ, 5KK, 5LL, 5MM, 5NN, 5OO, 5PP, 5QQ, 5RR, 5SS, 5TT, 5UU, 5VV, 5WW, 5XX, 5YY, 5ZZ, 5AAA, 5BBB, 5CCC, 5DDD, 5EEE, 5FFF, 5GGG, 5HHH, 5III, 5JJJ, 5KKK, 5LLL, 5MMM, 5NNN, 5OOO, 5PPP, 5QQQ, 5RRR, 5SSS, 5TTT, 5UUU, 5VVV, 5WWW, 5XXX, 5YYY, 5ZZZ, 5AAAA, 5BBBB, 5CCCC, 5DDDD, 5EEEE, 5FFFF, 5GGGG, 5HHHH, 5IIII, 5JJJJ, 5KKKK, 5LLLL, 5MMMM, 5NNNN, 5OOOO, 5PPPP, 5QQQQ, 5RRRR, 5SSSS, 5TTTT, 5UUUU, 5VVVV, 5WWWW, 5XXXX, 5YYYY, or 5ZZZZ in FIGS. 5-5ZZZZ. In some examples, a wireless device can execute a set of instructions to control the functional elements of the wireless device to perform the described functions. Additionally or alternatively, the wireless device can perform aspects of the described functions using special-purpose hardware. Figures 1 to 10
[0100] At 1105, the method can include generating a first media stream associated with a first media mode and a second media stream associated with a second media mode. The operations of 1105 can be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 1105 can be performed by an audio signal transmission component 925 as described with reference to FIG. 5ZZZZ. Figure 9
[0101] At 1110, the method can include buffering the first media stream in accordance with a first latency time value to adjust a first latency time of the first media stream and buffering the second media stream independent of the first media stream in accordance with a second latency time value to adjust a second latency time of the second media stream. The operations of 1110 can be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 1110 can be performed by a buffering component 930 as described with reference to FIG. 5ZZZZ. Figure 9
[0102] At 1115, the method can include transmitting, to the second wireless device, a mixed media stream including the buffered first media stream mixed with the buffered second media stream. The operations of 1115 can be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 1115 can be performed by a transmission component 935 as described with reference to FIG. 5ZZZZ.Figure 9 The described hybrid signal output component 935 to perform.
[0103] Figure 12 A flow diagram illustrating a method 1200 that supports seamless transitioning between media modes in accordance with one or more aspects of the present disclosure is shown. The operations of method 1200 can be implemented by a wireless device or its components as described herein. For example, the operations of method 1200 can be performed by a wireless device as described with reference to Figures 1 to 10 FIGS. 13 through 15 as described herein. In some examples, a wireless device can execute a set of instructions to control the functional elements of the wireless device to perform the functions described herein. Additionally or alternatively, the wireless device can perform aspects of the functions described herein using special-purpose hardware.
[0104] At 1205, the method can include generating a first media stream associated with a first media mode and a second media stream associated with a second media mode. The operations of 1205 can be performed according to the examples as disclosed herein. In some examples, aspects of the operations of 1205 can be performed by an audio signal transmission component 925 as described with reference to Figure 9 FIGS. 13 through 15 as described herein. In some examples, a wireless device can execute a set of instructions to control the functional elements of the wireless device to perform the functions described herein. Additionally or alternatively, the wireless device can perform aspects of the functions described herein using special-purpose hardware.
[0105] At 1210, the method can include buffering the first media stream according to a first latency value to adjust a first latency of the first media stream and buffering the second media stream independently of the first media stream according to a second latency value to adjust a second latency of the second media stream. The operations of 1210 can be performed according to the examples as disclosed herein. In some examples, aspects of the operations of 1210 can be performed by a buffering component 930 as described with reference to Figure 9 FIGS. 13 through 15 as described herein. In some examples, a wireless device can execute a set of instructions to control the functional elements of the wireless device to perform the functions described herein. Additionally or alternatively, the wireless device can perform aspects of the functions described herein using special-purpose hardware.
[0106] At 1215, the method can include terminating the second media stream associated with the second media mode. The operations of 1215 can be performed according to the examples as disclosed herein. In some examples, aspects of the operations of 1215 can be performed by an audio signal termination component 940 as described with reference to Figure 9 FIGS. 13 through 15 as described herein. In some examples, a wireless device can execute a set of instructions to control the functional elements of the wireless device to perform the functions described herein. Additionally or alternatively, the wireless device can perform aspects of the functions described herein using special-purpose hardware.
[0107] At 1220, the method can include increasing a latency of the first independent media stream in response to terminating the second media stream. The operations of 1220 can be performed according to the examples as disclosed herein. In some examples, aspects of the operations of 1220 can be performed by a transmission rate component 945 as described with reference to Figure 9 FIGS. 13 through 15 as described herein. In some examples, a wireless device can execute a set of instructions to control the functional elements of the wireless device to perform the functions described herein. Additionally or alternatively, the wireless device can perform aspects of the functions described herein using special-purpose hardware.
[0108] At 1225, the method can include transmitting, to the second wireless device, a mixed media stream including the buffered first media stream mixed with the buffered second media stream. The operations of 1225 can be performed according to the examples as disclosed herein. In some examples, aspects of the operations of 1225 can be performed by a mixed signal output component 935 as described with reference to Figure 9
[0109] Figure 13 A flow diagram illustrating a method 1300 that supports seamless transitioning between media modes in accordance with one or more aspects of the present disclosure is shown. The operations of method 1300 can be implemented by a wireless device or its components as described herein. For example, the operations of method 1300 can be performed by a wireless device as described with reference to Figures 1 to 10 FIGS. 1 through 13. In some examples, a wireless device can execute a set of instructions to control the functional elements of the wireless device to perform the functions described herein. Additionally or alternatively, the wireless device can perform aspects of the functions described herein using special-purpose hardware.
[0110] At 1305, the method can include generating a first media stream associated with a first media mode and a second media stream associated with a second media mode. The operations of 1305 can be performed according to the examples as disclosed herein. In some examples, aspects of the operations of 1305 can be performed by an audio signal transmission component 925 as described with reference to Figure 9
[0111] At 1310, the method can include buffering the first media stream according to a first latency value to adjust a first latency of the first media stream and buffering the second media stream independently of the first media stream according to a second latency value to adjust a second latency of the second media stream. The operations of 1310 can be performed according to the examples as disclosed herein. In some examples, aspects of the operations of 1310 can be performed by a buffering component 930 as described with reference to Figure 9
[0112] At 1315, the method can include transmitting, to the second wireless device, a mixed media stream including the buffered first media stream mixed with the buffered second media stream. The operations of 1315 can be performed according to the examples as disclosed herein. In some examples, aspects of the operations of 1315 can be performed by a mixed signal output component 935 as described with reference to Figure 9
[0113] At 1320, the method can include terminating the first media stream associated with the first media mode. The operations of 1320 can be performed according to the examples as disclosed herein. In some examples, aspects of the operations of 1320 can be performed by a termination component 940 as described with reference to Figure 9 The described audio signal termination component 940 to perform.
[0114] At 1325, the method can include transitioning from operating in a dual media mode in which the first media stream and the second media stream are classified as independent of one another based on terminating the first media stream to operating in a single media mode. The operations of 1325 can be performed according to the examples as disclosed herein. In some examples, aspects of the operations of 1325 can be performed by an audio stream termination component as described with reference to Figure 9 The described audio mode transition component 950 to perform.
[0115] Figure 1 A flow diagram illustrating a method 1400 that supports seamless transitioning between media modes in accordance with one or more aspects of the present disclosure is shown. The operations of method 1400 can be implemented by a wireless device or its components as described herein. For example, the operations of method 1400 can be performed by a wireless device as described with reference to FIGS. 1 through 13. In some examples, a wireless device can execute a set of instructions to control the functional elements of the wireless device to perform the functions described herein. Additionally or alternatively, the wireless device can perform aspects of the functions described herein using special-purpose hardware.
[0116] At 1405, the method can include generating a first media stream associated with a first media mode and a second media stream associated with a second media mode. The operations of 1405 can be performed according to the examples as disclosed herein. In some examples, aspects of the operations of 1405 can be performed by an audio signal transmission component as described with reference to The described audio signal transmission component 925 to perform.
[0117] At 1410, the method can include buffering the first media stream according to a first latency time value to adjust a first latency time of the first media stream and buffering the second media stream independent of the first media stream according to a second latency time value to adjust a second latency time of the second media stream. The operations of 1410 can be performed according to the examples as disclosed herein. In some examples, aspects of the operations of 1410 can be performed by a buffering component as described with reference to The described buffering component 930 to perform.
[0118] At 1415, the method can include mixing the first media stream at the first sample rate and the second media stream at the second sample rate after buffering. The operations of 1415 can be performed according to the examples as disclosed herein. In some examples, aspects of the operations of 1415 can be performed by an audio stream mixing component as described with reference to The described audio stream mixing component 955 to perform.
[0119] At 1420, the method can include jointly encoding the mixed first media stream and the second media stream. The operations of 1420 can be performed according to the examples as disclosed herein. In some examples, aspects of the operations of 1420 can be performed by an encoding component 960 as described with reference to
[0120] At 1425, the method can include transmitting, to the second wireless device, a mixed media stream including the buffered first media stream mixed with the buffered second media stream. The operations of 1425 can be performed according to the examples as disclosed herein. In some examples, aspects of the operations of 1425 can be performed by a mixed signal output component 935 as described with reference to
[0121] The following provides an overview of aspects of the disclosure:
[0122] Aspect 1 : A method for wireless communication at a first wireless device, comprising: generating a first media stream associated with a first media mode and a second media stream associated with a second media mode; buffering the first media stream according to a first latency time value to adjust a first latency time of the first media stream and buffering the second media stream independently of the first media stream according to a second latency time value to adjust a second latency time of the second media stream; and transmitting, to a second wireless device, a mixed media stream including the buffered first media stream mixed with the buffered second media stream.
[0123] Aspect 2: The method of aspect 1, further comprising: terminating the second media stream associated with the second media mode; and increasing a latency of the first media stream in response to terminating the second media stream.
[0124] Aspect 3: The method of any of aspects 1-2, further comprising: terminating the first media stream associated with the first media mode; and transitioning from operating in a dual media mode in which the first media stream and the second media stream are classified as independent of one another to operating in a single media mode based at least in part on terminating the first media stream.
[0125] Aspect 4: The method of any of aspects 1-3, further comprising: mixing the first media stream at a first sample rate and the second media stream at a second sample rate after the buffering; and jointly encoding the mixed first media stream and the second media stream.
[0126] Aspect 5: The method of aspect 4, further comprising: setting the first latency time value associated with the first media stream based at least in part on the first sampling rate; and sizing and shifting the second media stream between a transmission stage at the first wireless device and an encoder input at the first wireless device.
[0127] Aspect 6: The method of aspect 5, further comprising: inserting an overlap-add packet into the first media stream and the second media stream prior to the mixing, wherein the overlap-add packet is associated with a transition from operating in a dual media mode in which the first media stream and the second media stream are classified as independent from one another to operating in a single media mode.
[0128] Aspect 7: The method of aspect 6, wherein mixing the first media stream and the second media stream comprises mixing the first media stream and the second media stream at a third sampling rate prior to the mixing.
[0129] Aspect 8: The method of any one of aspects 1-7, further comprising: refraining from jointly encoding the first media stream and the second media stream for a duration of the second latency time value.
[0130] Aspect 9: The method of aspect 8, further comprising: prior to mixing the first media stream at a first sampling rate and the second media stream at a second sampling rate, disabling a first target wake-up time associated with the first media stream; enabling a second target wake-up time associated with the first media stream; and mixing the first media stream and the second media stream based at least in part on the second target wake-up time.
[0131] Aspect 10: The method of aspect 9, further comprising: enabling the second target wake-up time associated with the first media stream; and encoding the first media stream based at least in part on the second target wake-up time.
[0132] Aspect 11: The method of any one of aspects 1-10, wherein the first media mode comprises a high quality mode and the second media mode comprises a low latency mode.
[0133] Aspect 12: The method of any one of aspects 1-11, wherein the first wireless device comprises a media source device and the second wireless device comprises a media sink device.
[0134] Aspect 13: An apparatus for wireless communications at a first wireless device, comprising a processor; memory coupled with the processor; and instructions stored in the memory and executable by the processor to cause the apparatus to perform the method of any of aspects 1 through 12.
[0135] Aspect 14: An apparatus for wireless communications at a first wireless device, comprising at least one means for performing the method of any of aspects 1 through 12.
[0136] Aspect 15: A non-transitory computer-readable medium storing code for wireless communications at a first wireless device, the code comprising instructions executable by a processor to perform the method of any of aspects 1 through 12.
[0137] It should be noted that the methods described herein describe possible implementations, and that the operations and the steps can be rearranged or otherwise modified and that other implementations are possible. Further, aspects from two or more of the methods can be combined.
[0138] The techniques described herein can be used for various wireless communication systems such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal Frequency Division Multiple Access (OFDMA), Single-Carrier Frequency Division Multiple Access (SC-FDMA), and other systems. The terms “system” and “network” are often used interchangeably. A Code Division Multiple Access (CDMA) system can implement a radio technology such as CDMA2000, Universal Terrestrial Radio Access (UTRA), etc. CDMA2000 covers IS-2000, IS-95, and IS-856 standards. IS-2000 Releases can be commonly referred to as CDMA2000 IX, IX, etc. IS-856 (TIA-856) is commonly referred to as CDMA2000 IxEV-DO, High Rate Packet Data (HRPD), etc. UTRA includes Wideband CDMA (WCDMA) and other variants of CDMA. A Time Division Multiple Access (TDMA) system can implement a radio technology such as Global System for Mobile Communications (GSM). An Orthogonal Frequency Division Multiple Access (OFDMA) system can implement a radio technology such as Ultra Mobile Broadband (UMB), Evolved UTRA (E-UTRA), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, Flash-OFDM, etc.
[0139] One or more wireless communication systems described herein can support synchronous or asynchronous operation. For synchronous operation, the stations can have similar frame timings, and transmissions from different stations can be approximately aligned in time. For asynchronous operation, the stations can have different frame timings, and transmissions from different stations can not be aligned in time. The techniques described herein can be used for either synchronous or asynchronous operation.
[0140] The downlink transmissions described herein can also be called forward link transmissions while the uplink transmissions can also be called reverse link transmissions. Each of the communication links described herein (including for example a WLAN 100) can include one or more carriers, where each carrier can be a signal made up of multiple sub-carriers (e.g., waveform signals of different frequencies).
[0141] The description set forth herein, in connection with the appended drawings, describes example configurations and does not represent all the examples that can be implemented or that are within the scope of the claims. The term “exemplary” used herein means “serving as an example, instance, or illustration,” and not “preferred” or “superior.” The detailed description includes specific details for the purpose of providing an understanding of the described techniques. These techniques, however, can be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form in order to avoid obscuring the concepts of the described examples.
[0142] In the appended figures, similar components or features can have similar drawing references. Further, various components of the same type can be distinguished by following the convention of numbering them with the first two digits representing the hundreds place (24-1 and 24-2 etc.) while the third and fourth digits represent the tens and ones place (24- 10-1 and 24-10-2). So, similar to 24- 10-1, 24-10-2 could be a second 24-10, etc.
[0143] Information and signals described herein can be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that can be referenced throughout the description can be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
[0144] The various illustrative blocks and modules described herein can be implemented utilizing a general purpose processor, a DSP, an ASIC, a FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein and can be implemented or performed with a general-purpose processor, a DSP, an ASIC, a FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor can be a microprocessor, but in the alternative, the processor can be any conventional processor, controller, microcontroller, or state machine. A processor can also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration).
[0145] The functions described herein can be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions can be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Other examples and implementations are within the scope of the disclosure and appended claims. For example, due to the nature of software, functions described herein can be implemented using software executed by a processor, hardware, firmware, hardwiring, or combinations of any of these. Features implementing functions can also be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations. Also, as used herein, including in the claims, "or" as used in a list of items prefaced by "at least one of indicates a disjunctive list such that, for example, a list of "at least one of A, B, or C" means A or B or C or AB or AC or BC or ABC (i.e., A and B and C). Also, as used herein, the phrase "based on" shall not be construed as a reference to a closed set of conditions. For example, an exemplary step that is described as "based on condition A" can be based on both a condition A and a condition B without departing from the scope of the present disclosure. In other words, as used herein, the phrase "based on" shall be construed in the same manner as the phrase "based at least in part on."
[0146] Computer-readable media includes both non-transitory computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A non-transitory storage medium can be any available medium that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, non-transitory computer-readable media can include RAM, ROM, electrically erasable programmable read only memory (EEPROM), compact disk (CD) ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that can be used to carry or store desired program code means in the form of instructions or data structures and that can be accessed by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, include CD, laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above are also included within the scope of computer-readable media.
[0147] The description herein is presented to enable a person skilled in the art to make or use the disclosure. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the generic principles defined herein can be applied to other variations without departing from the scope of the disclosure. Thus, the disclosure is not to be limited to the examples and designs described herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A method for performing wireless communication at a first wireless device, comprising: Generate a first media stream associated with a first media mode and a second media stream associated with a second media mode, wherein the first media stream is associated with a first delay time value and a first sampling rate, and wherein the second media stream is associated with a second delay time value and a second sampling rate; Buffer the first media stream independently of the second media stream based on the first delay time value; Maintain the second delay time value associated with the second media stream; Mix the buffered first media stream with the second media stream; Joint encoding is performed on the mixed first and second media streams; as well as The encoded first and second media streams are sent to the second wireless device. Buffering the first media stream includes transferring the buffering of the first media stream between the transmission phase at the first wireless device and the encoder input at the first wireless device.
2. The method according to claim 1, further comprising: Terminate the second media stream associated with the second media mode; as well as In response to terminating the second media stream, the delay of the first media stream is increased.
3. The method according to claim 1, further comprising: Terminate the first media stream associated with the first media mode; as well as At least in part, based on terminating the first media stream, the operation transitions from a dual-media mode in which the first and second media streams are classified as independent of each other to a single-media mode.
4. The method according to claim 1, further comprising: Prior to the mixing, overlapping add-in blocks are inserted into the first and second media streams, wherein the overlapping add-in blocks are associated with switching from operation in a dual-media mode, in which the first and second media streams are classified as independent of each other, to operation in a single-media mode.
5. The method according to claim 1, wherein, Mixing the first media stream and the second media stream includes: The first media stream is reduced to the second sampling rate before the mixing; or The first media stream and the second media stream are mixed at a third sampling rate.
6. The method according to claim 1, wherein, The first media mode includes a high-quality mode, and the second media mode includes a low-latency mode.
7. The method according to claim 1, wherein, The first wireless device includes a media source device, and the second wireless device includes a media destination device.
8. A method for performing wireless communication at a first wireless device, comprising: Generate a first media stream associated with a first media mode and a second media stream associated with a second media mode, wherein the first media stream is associated with a first delay time value and a first sampling rate, and wherein the second media stream is associated with a second delay time value and a second sampling rate; Buffer the first media stream independently of the second media stream based on the first delay time value; During the duration of the second delay time value, joint encoding of the first media stream and the second media stream is avoided; Before mixing the first media stream and the second media stream, disable the first target wake-up time associated with the first media stream; Enable the second target wake-up time associated with the first media stream; The first media stream and the second media stream are mixed, at least in part, based on the second target wake-up time; Joint encoding is performed on the mixed first and second media streams; as well as The encoded first media stream and second media stream are sent to the second wireless device.
9. The method according to claim 8, further comprising: The first media stream is encoded based at least in part on the second target wake-up time.
10. An apparatus for performing wireless communication at a first wireless device, comprising: processor; Memory, coupled to the processor; as well as Instructions, stored in the memory and executable by the processor, enable the device to: Generate a first media stream associated with a first media mode and a second media stream associated with a second media mode, wherein the first media stream is associated with a first delay time value and a first sampling rate, and wherein the second media stream is associated with a second delay time value and a second sampling rate; Buffer the first media stream independently of the second media stream based on the first delay time value; Maintain the second delay time value associated with the second media stream; Mix the buffered first media stream with the second media stream; Joint encoding is performed on the mixed first and second media streams; as well as The encoded first and second media streams are sent to the second wireless device. In order to buffer the first media stream, the instruction can be executed by the processor to transfer the buffering of the first media stream between the transmission phase at the first wireless device and the encoder input at the first wireless device.
11. The apparatus according to claim 10, wherein, The instructions can also be executed by the processor to make the device: Terminate the second media stream associated with the second media mode; and In response to terminating the second media stream, the delay of the first media stream is increased.
12. The apparatus according to claim 10, wherein, The instructions can also be executed by the processor to make the device: Terminate the first media stream associated with the first media mode; and At least in part, based on terminating the first media stream, the operation transitions from a dual-media mode in which the first and second media streams are classified as independent of each other to a single-media mode.
13. The apparatus according to claim 10, wherein, The instructions can also be executed by the processor to make the device: Prior to the mixing, overlapping add-in blocks are inserted into the first and second media streams, wherein the overlapping add-in blocks are associated with switching from operation in a dual-media mode, in which the first and second media streams are classified as independent of each other, to operation in a single-media mode.
14. The apparatus according to claim 10, wherein, In order to mix the first media stream and the second media stream, the instructions can be executed by the processor to cause the device to: The first media stream is reduced to the second sampling rate before the mixing; or The first media stream and the second media stream are mixed at a third sampling rate.
15. The apparatus according to claim 10, wherein, The first media mode includes a high-quality mode, and the second media mode includes a low-latency mode.
16. The apparatus according to claim 10, wherein, The first wireless device includes a media source device, and the second wireless device includes a media destination device.
17. An apparatus for performing wireless communication at a first wireless device, comprising: processor; Memory, coupled to the processor; as well as Instructions, stored in the memory and executable by the processor, enable the device to: Generate a first media stream associated with a first media mode and a second media stream associated with a second media mode, wherein the first media stream is associated with a first delay time value and a first sampling rate, and wherein the second media stream is associated with a second delay time value and a second sampling rate; Buffer the first media stream independently of the second media stream based on the first delay time value; During the duration of the second delay time value, joint encoding of the first media stream and the second media stream is avoided; Before mixing the first media stream and the second media stream, disable the first target wake-up time associated with the first media stream; Enable the second target wake-up time associated with the first media stream; The first media stream and the second media stream are temporally mixed, at least in part based on the wake-up time of the second target. Joint encoding is performed on the mixed first and second media streams; as well as The encoded first media stream and second media stream are sent to the second wireless device.
18. The apparatus according to claim 17, wherein, The instructions can also be executed by the processor to make the device: The first media stream is encoded based at least in part on the second target wake-up time.
19. An apparatus for performing wireless communication at a first wireless device, comprising: Components for generating a first media stream associated with a first media mode and a second media stream associated with a second media mode, wherein the first media stream is associated with a first delay time value and a first sampling rate, and wherein the second media stream is associated with a second delay time value and a second sampling rate; A component for buffering the first media stream independently of the second media stream according to the first delay time value; Components for maintaining the second delay time value associated with the second media stream; A component for mixing the buffered first media stream with the second media stream; A component used for joint encoding of the mixed first and second media streams; as well as Components for transmitting encoded first and second media streams to a second wireless device; The component for buffering the first media stream includes a component for transferring the buffering of the first media stream between the transmission phase at the first wireless device and the encoder input at the first wireless device.
20. The apparatus of claim 19, further comprising: A component for terminating the second media stream associated with the second media mode; as well as A component for increasing the delay of the first media stream in response to terminating the second media stream.
21. The apparatus of claim 19, further comprising: A component for terminating the first media stream associated with the first media mode; as well as A component for switching from operation in a dual-media mode, in which the first media stream and the second media stream are classified as independent of each other, to operation in a single-media mode, based at least in part on terminating the first media stream.
22. A non-transitory computer-readable medium storing code for wireless communication at a first wireless device, the code including instructions executable by a processor to: Generate a first media stream associated with a first media mode and a second media stream associated with a second media mode, wherein the first media stream is associated with a first delay time value and a first sampling rate, and wherein the second media stream is associated with a second delay time value and a second sampling rate; Buffer the first media stream independently of the second media stream based on the first delay time value; Maintain the second delay time value associated with the second media stream; Mix the buffered first media stream with the second media stream; Joint encoding of the first and second media streams; and The encoded first and second media streams are sent to the second wireless device. in, In order to buffer the first media stream, the instructions can be executed by the processor to transfer the buffering of the first media stream between the transmission phase at the first wireless device and the encoder input at the first wireless device.
Citation Information
Patent Citations
Method and media handling unit for use in a VOIP based communications network
EP2795866A1
Webcasting method and system for time-based synchronization of multiple, independent media streams
US20020103919A1