US20120307885A1 - Channel Condition Prediction Employing Transmit Queuing Model - Google Patents

Channel Condition Prediction Employing Transmit Queuing Model Download PDF

Info

Publication number
US20120307885A1
US20120307885A1 US13/244,567 US201113244567A US2012307885A1 US 20120307885 A1 US20120307885 A1 US 20120307885A1 US 201113244567 A US201113244567 A US 201113244567A US 2012307885 A1 US2012307885 A1 US 2012307885A1
Authority
US
United States
Prior art keywords
video
transmit queue
bit rate
indication
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13/244,567
Inventor
Peyush Agarwal
Yasantha N. Rajakarunanayake
Peter G. Allinson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avago Technologies International Sales Pte Ltd
Original Assignee
Broadcom Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Broadcom Corp filed Critical Broadcom Corp
Priority to US13/244,567 priority Critical patent/US20120307885A1/en
Assigned to BROADCOM CORPORATION reassignment BROADCOM CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ALLINSON, PETER G., AGARWAL, PEYUSH, RAJAKARUNANAYAKE, YASANTHA N.
Publication of US20120307885A1 publication Critical patent/US20120307885A1/en
Assigned to BANK OF AMERICA, N.A., AS COLLATERAL AGENT reassignment BANK OF AMERICA, N.A., AS COLLATERAL AGENT PATENT SECURITY AGREEMENT Assignors: BROADCOM CORPORATION
Assigned to AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD. reassignment AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BROADCOM CORPORATION
Assigned to BROADCOM CORPORATION reassignment BROADCOM CORPORATION TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Assignors: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/56Allocation or scheduling criteria for wireless resources based on priority criteria
    • H04W72/566Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient
    • H04W72/569Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient of the traffic information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/52Allocation or scheduling criteria for wireless resources based on load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation
    • H04W72/044Wireless resource allocation based on the type of the allocated resource
    • H04W72/0446Resources in time domain, e.g. slots or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/20Control channels or signalling for resource management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling
    • H04W72/1263Mapping of traffic onto schedule, e.g. scheduled allocation or multiplexing of flows
    • H04W72/1268Mapping of traffic onto schedule, e.g. scheduled allocation or multiplexing of flows of uplink data flows
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Definitions

  • IEEE Std 802.11TM 2007, “IEEE Standard for Information technology—Telecommunications and information exchange between systems—Local and metropolitan area networks—Specific requirements; Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications,” IEEE Computer Society, IEEE Std 802.11TM—2007, (Revision of IEEE Std 802.11-1999), 1233 pages.
  • IEEE Std 802.11TM “IEEE Standard for Information technology—Telecommunications and information exchange between systems—Local and metropolitan area networks—Specific requirements; Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications,” IEEE Computer Society, IEEE Std 802.11TM—2007, (Revision of IEEE Std 802.11-1999), 1233 pages.
  • IEEE Std 802.11TM—2009 “IEEE Standard for Information technology—Telecommunications and information exchange between systems—Local and metropolitan area networks—Specific requirements; Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications; Amendment 5: Enhancements for Higher Throughput,” IEEE Computer Society, IEEE Std 802.11nTM—2009, (Amendment to IEEE Std 802.11TM—2007 as amended by IEEE Std 802.11kTM—2008, IEEE Std 802.11rTM—2008, IEEE Std 802.11yTM—2008, and IEEE Std 802.11rTM—2009), 536 pages.
  • IEEE Std 802.11TM—2009 “IEEE Standard for Information technology—Telecommunications and information exchange between systems—Local and metropolitan area networks—Specific requirements; Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications; Amendment 5: Enhancements for Higher Throughput,” IEEE Computer Society, IEEE Std 802.11nTM—2009, (Amendment to IEEE Std 802.11TM—2007 as amended
  • the invention relates generally to wireless communication systems; and, more particularly, it relates to adaptive video encoding to accommodate video transmission over a packet-based, lossy communication channel.
  • the first group is related to network layer solutions that attempt to recover the error/packet loss at packet layer, by providing an error free A/V stream to the video decoder. Such solutions usually require redundant codes and retransmissions.
  • the second group is related to video layer solutions, especially post-processing, that will accept a corrupted video stream and try to mitigate gaps and mismatches in the decoded video frames.
  • both of these groups have their strengths and weaknesses.
  • a heavily protected network layer might be very robust and resilient to errors, but usually this is accompanied by a reduction in the constant throughput of the channel and/or an increase in the effective latency of the channel.
  • the overall user experience e.g., the perceptual experience of a user.
  • Video should appear smooth and natural, even under variable network conditions.
  • a packet transmission incremental delay greater than a frame interval might have the same effect as a dropped or lost packet.
  • the video decoder typically needs to decode and present each video frame within a relatively short time period. Consequently, if a packet is delayed too much over the network it might be impossible to complete frame decoding in time for display. If a delayed or dropped frame is also a reference frame for other frames, decoding errors for multiple frames may occur.
  • the present art does not provide an adequate means by which communication of media related content may be effectuated in a robust, reliable, and perceptually acceptable manner.
  • FIG. 1 is a block diagram representation of a video network 100 in accordance with an embodiment of the present invention.
  • FIG. 2 is a functional block diagram illustrating encoding and communication of a video stream by a wireless access device in accordance with an embodiment of the present invention.
  • FIG. 3 is a functional block diagram illustrating channel throughput estimation and encoder bit rate adjustment in accordance with an embodiment of the present invention.
  • FIG. 4 is an operational flow diagram illustrating a method for adaptively encoding video in accordance with an embodiment of the present invention.
  • FIG. 5 is a flow diagram illustrating a method for adaptively adjusting an encoder bit rate in accordance with an embodiment of the present invention.
  • FIG. 6 is a flow diagram illustrating a method for adaptively adjusting an encoder bit rate based on average transmit queue latency in accordance with an embodiment of the present invention.
  • FIG. 7 is a flow diagram illustrating a method for adaptively reducing an encoder bit rate in accordance with an embodiment of the present invention.
  • FIG. 8 is a flow diagram illustrating a method for adaptively increasing an encoder bit rate in accordance with an embodiment of the present invention.
  • FIG. 9 is a flow diagram illustrating a method for channel condition prediction employing a transmit queuing model in accordance with an embodiment of the present invention.
  • FIG. 10 is an illustration of various methods for scheduling transition of a video stream in accordance with embodiments of the present invention.
  • a novel approach is presented herein for optimizing video transmission over a packet-based, lossy communication medium/channel in order to improve the end user experience.
  • the novel approach utilizes average transmit queue latency information to adaptively adjust video encoding parameters so that better error concealment, error resilience and bandwidth usage is achievable during, for example, real-time video encoding for packet network transmission.
  • the present invention is generally related to digital video compression, and generally applicable to video compression standards, protocols, and/or recommended practices (e.g., MPEG-4 Part 2, H.264 (AVC), WMV, AVS, RealVideo and Quicktime, among others). While the novel approach presented herein oftentimes employs wireless packet-based transmissions in exemplary embodiments (e.g., UDP/IP), the various aspects and principles, and their equivalents, can also be extended generally to any network transmission (regardless of the particular type of communication medium being employed such as wired, wireless, optical, etc.) over a communication channel that is lossy or variable.
  • FIG. 1 is a block diagram representation of a video network 100 in accordance with an embodiment of the present invention.
  • the network 104 distributes information such as video content 108 from a video source 102 to a wireless access device 106 for wireless transmission to wireless video devices, such as video device 110 and mobile video device 112 , over one or more wireless channels.
  • the video content 108 can include movies, television shows, commercials or other advertisements, educational content, video gaming content, infomercials, or other program content and optionally additional data associated with such program content including but not limited to digital rights management data, control data, programming information, additional graphics data and other data that can be transferred in association with program content.
  • Video content 108 can include video with or without associated audio content.
  • the video content 108 can be sent as broadcast video, streaming video, video on demand and near video on demand programming and/or other formats.
  • the network 104 can be a dedicated video distribution network such as a direct broadcast satellite network or cable television network that distributes video content 108 from a plurality of video sources, including video source 102 , to a plurality of wireless access devices and, optionally, wired devices over a wide geographic area.
  • network 104 can be a heterogeneous network that includes one or more segments of a general purpose network such as the Internet, a metropolitan area network, wide area network, local area network or other network and optionally other networks such as an Internet protocol (IP) television network.
  • IP Internet protocol
  • the video content 108 can be carried as analog and/or digital signals according to various recognized protocols.
  • Wireless access device 106 can include a base station or access point that provides video content 108 to one or a plurality of video subscribers over a wireless local area network (WLAN) such as an 802.11a,b,g,n, WIMAX or other WLAN network, or a cellular network such as a UMTS, EDGE, 3G, 4G or other cellular data network.
  • WLAN wireless local area network
  • the wireless access device 106 can comprise a home gateway, video distribution point in a dedicated video distribution network or other wireless gateway for wirelessly transmitting video content 108 , either alone or in association with other data, signals or services, to video device 110 and/or mobile video device 112 .
  • Mobile video device 112 can include a video enabled wireless smartphone or other handheld communication device that is capable of displaying video content.
  • Video device 110 includes other video display devices that may or may not be mobile including a television coupled to a wireless receiver, a computer with wireless connectivity via a wireless data card, wireless tuner, WLAN modem or other wireless link or device that alone or in combination with other devices is capable of receiving video content 108 from wireless access device 106 and displaying and/or storing the video content 108 for a user.
  • the network 104 , wireless access device 106 , video device 110 and/or mobile video device 112 include one or more features of the present invention that will be described in greater detail in conjunction with FIGS. 2-9 that follow.
  • FIG. 2 is a functional block diagram illustrating encoding and communication of a video stream by a wireless access device in accordance with an embodiment of the present invention.
  • An encoder rate adaptation function or layer 200 is shown that, in combination with or as part of an encoder 204 , is used by wireless access device 106 to provide an encoded video stream 202 to a video device 110 /mobile video device 112 over a wireless channel 226 .
  • video data encoding may be viewed as being performed at a transmitting side of the wireless channel 226
  • video data decoding may generally be viewed as being performed at a receiving side of the wireless channel 226 .
  • video content is provided by a video source 102 to the wireless access device 106 for encoding (or further encoding or transcoding) and transmission.
  • the video content 108 may be communicated to the wireless access device 106 by various means/networks such as those described above.
  • the video source 102 comprises a gaming console, cable or satellite set top box, media server or the like that is coupled to the wireless access device 106 by a standardized interconnect/interface 212 .
  • the standardized interconnect/interface 212 may comprise, for example, an audio/video cable such as an HDMI cable (in which case the wireless access device 106 may take the form of a wireless dongle), a high bandwidth wireless link (e.g., a WiGig or WirelessHD compliant link) capable of transmitting uncompressed, standard or high definition video content, or various combinations of such technologies.
  • an audio/video cable such as an HDMI cable (in which case the wireless access device 106 may take the form of a wireless dongle), a high bandwidth wireless link (e.g., a WiGig or WirelessHD compliant link) capable of transmitting uncompressed, standard or high definition video content, or various combinations of such technologies.
  • Wireless access device 106 includes a video encoder(s) 204 that receives and encodes video content for transmission (in the form of encoded video stream 202 ) by network interface 206 over wireless channel 226 .
  • an encoder rate adaptation layer 200 communicates with the video encoder(s) 204 , including signals for adaptively altering the encoding bit rate and/or other operative parameters of the video encoder(s) 204 .
  • the encoder rate adaptation layer 200 is also capable of receiving information from the network interface 206 . Such information can be used by the encoder rate adaptation layer 200 to generate estimates of the throughput of the wireless channel 226 under varying conditions in accordance with present invention.
  • Encoded video content from the encoder 204 is provided to network interface 206 for transmission to video device 110 /mobile video device 112 (hereinafter referred to collectively or in the alternative as video device 110 ).
  • the network interface 206 includes medium access control (MAC) 208 and physical layer (PHY) 210 circuitry or functionality.
  • a main purpose of the MAC 208 is to allocate the bandwidth of the wireless channel 226 and coordinate access when multiple video devices 110 / 112 or similar are sharing the channel.
  • the PHY 210 establishes and terminates connections to the wireless channel 226 .
  • PHY 210 generates and transmits modulated RF signals containing the encoded video stream 202 over the wireless channel 226 .
  • the MAC 208 and PHY 210 may operate in accordance with a wide variety of packet based communication protocols, such as an IEEE 802.11 compliant network.
  • a network interface 214 receives RF signals (over the wireless channel 202 ) containing the encoded video stream 202 .
  • the PHY 218 in cooperation with the MAC 216 , then demodulates and down converts these RF signals to extract the encoded video stream 202 .
  • the decoder 220 operates on video data from the extracted video stream 202 to generate a decoded video stream for display on a video display 222 .
  • An optional interconnect/interface 224 may be utilized to provide decoded video content to, for example, a high definition television or projection system.
  • the video display 222 may be part of or a separate component from the video device 110 .
  • the video device 110 may function as relay to other (mobile) video devices.
  • the network interface 214 of the disclosed embodiment also provides various transmissions to the wireless access device 106 including, for example, signaling in accordance with an acknowledgement (ACK/NACK) protocol 232 , status information relating to the operation of the PHY 218 (for example, bit error rate before error correction or a signal-to-noise ratio (SNR)), and decoder queuing information 234 .
  • ACK/NACK acknowledgement/NACK
  • SNR signal-to-noise ratio
  • receiver information/feedback 230 in conjunction with transmitter side channel throughput indicia 302 , may be utilized to generate estimates of current and/or expected channel throughputs under a variety of operating conditions.
  • ACK acknowledgement
  • BA block acknowledgement
  • One of the benefits of video encoding in accordance with the present invention may be a significant reduction in number of NACKs received by the wireless access device 106 . It is noted, however, that ACKs may not provide an immediate indication of channel conditions when, for example, an ACK is the result of successful error correction on the receiving side of the wireless channel 226 .
  • Video encoder 204 and encoder rate adaptation layer 200 can be implemented in hardware, software or firmware.
  • the video encoder 204 and encoder rate adaptation layer 200 can be implemented using one or more microprocessors, microcomputers, central processing units, field programmable logic devices, state machines, logic circuits, analog circuits, digital circuits, and/or any devices that manipulate signals (analog and/or digital) based on operational instructions that are stored in a memory module.
  • the function, steps and processes performed by video encoder 204 or encoder rate adaptation layer 200 can be split between different devices to provide greater computational speed and/or efficiency.
  • the associated memory module may be a single memory device or a plurality of memory devices.
  • Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static random access memory (SRAM), dynamic random access memory (DRAM), flash memory, cache memory, and/or any device that stores digital information.
  • SRAM static random access memory
  • DRAM dynamic random access memory
  • flash memory cache memory, and/or any device that stores digital information.
  • the video encoder 204 and/or encoder rate adaptation layer 200 implement one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry
  • the memory module storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry.
  • any desired integration or combination may be implemented for the various components, blocks, functional blocks, circuitries, etc. therein, and other boundaries and groupings may alternatively be performed without departing from the scope and spirit of the invention.
  • all components within the network interface 206 may be included within a first processing module or integrated circuit, and all components within the network interface 214 may be included within a second processing module or integrated circuit.
  • encoder(s) 204 and encoder rate adaptation layer 200 could be incorporated into video source 102 or other network element of network 100 . Further, all or portions of the encoder rate adaptation layer 200 may be incorporated into the encoder 204 .
  • FIG. 3 is a functional block diagram illustrating channel throughput estimation and encoder bit rate adjustment in accordance with an embodiment of the present invention.
  • the encoder rate adaptation layer 200 operates to adaptively effect alterations in the encoding parameters of the encoder 204 in response to average transmit queue latency information and (optionally) estimates of wireless channel throughput based on at least one throughput indicia 302 .
  • the combination of average transmit queue latency monitoring and adaptive video encoding result in improved error concealment, error resilience, ability to meet wireless latency requirements, and bandwidth usage during, for example, real-time video encoding for packet network transmission.
  • packet-based networks can provide high throughput, but often cannot guarantee a combination of low transmission delays, constant throughput and a low level of net data losses under “noisy” channel conditions.
  • Channel conditions can be influenced by a variety of factors, including signal strength, pattern noise (e.g., microwave bursts), interference from other carriers, and network congestion on specific nodes.
  • Transient impulse noise can also have a short term detrimental effect on the available bandwidth of a wireless channel. To the extent practical, it may be advantageous to account for such impulse noise in order to minimize unnecessary adjustments to encoding parameters.
  • channel throughput is used generally herein to refer to an average useful bit rate (including link layer protocol overhead) over the wireless channel 226 .
  • relevant throughput values may be subject to latency constraints (effectively isochronous throughput) and have typical values that are less than total throughput.
  • throughput is typically measured in bits per second (bps) or megabits per second (Mbps), data packets per second or data packets per time interval may also be used.
  • Many factors may impact channel throughput and/or be utilized in accordance with the present invention to generate an indication of channel throughput.
  • Such factors include PHY characteristics (e.g., operational frequency/band), the selected modulation and coding scheme (MCS), the size of the MAC protocol data units (MPDUs) and the use of packet aggregation, supported PHY rates of the transmission protocol, channel bandwidth (e.g., 20/40 MHz), guard intervals (GIs), the relevant transmission acknowledgment policy (e.g., Normal ACK/NACK, B-ACK (Block Acknowledgment) or aggregated acknowledgment, No-ACK), average size of the data (e.g., MPDUs) in an encoded stream, channel load, the number of transmit streams, etc.
  • PHY characteristics e.g., operational frequency/band
  • MCS modulation and coding scheme
  • MPDUs MAC protocol data units
  • GIs guard intervals
  • the relevant transmission acknowledgment policy e.g., Normal ACK/NACK, B-ACK (Block Acknowledgment) or aggregated acknowledgment, No-ACK
  • average size of the data e.g.,
  • Channel throughput estimation in accordance with various embodiments of the present invention may utilize one or more indicia of the above channel characteristics. Use of a relatively large number of indicia may increase the precision of the channel throughput estimation model.
  • various throughput indicia 302 are congregated and analyzed by a channel throughput estimation 300 function.
  • the channel throughput estimation 300 utilizes the received throughput indicia 302 to generate channel throughput estimations.
  • Such estimations may include, for example, expected supportable throughputs for a plurality of supported PHY data rates (PHY rate), or a revised throughput estimation for a given PHY rate based on changes in the throughput indicia 302 .
  • Output from the channel throughput estimation 300 process is provided to encoder bit rate adjustment 304 functionality for use in adaptively altering one or more encoding parameters (e.g., bit rate) of the encoder 204 .
  • Throughput indicia 302 may include status information relating to one or more of channel bandwidth/GI 314 , acknowledgment policy parameters 316 , packetizer parameters 318 , channel load 320 , gain estimate 322 from, for example, a multi-variable common filter, etc.
  • status information relating to one or more of channel bandwidth/GI 314 , acknowledgment policy parameters 316 , packetizer parameters 318 , channel load 320 , gain estimate 322 from, for example, a multi-variable common filter, etc.
  • channel estimation may also utilize various receiver information/feedback 330 .
  • raw bit error rate information or other short term feedback from a receiving device(s) could be used in the channel throughput estimation 300 process.
  • Information from the receiving device can be communicated, for example, in periodic action frames or through other frame types/subtypes.
  • an average queuing delay monitor 312 functions to provide transmit queue delay information from a MAC data queue 310 to encoder bit rate adjustment 304 .
  • the transmit queue delay information can be used separately or in conjunction with the throughput indicia 302 , receiver information/feedback 330 , estimated throughput table 306 and/or PHY rate 308 to adaptively adjust one or more encoding parameters (e.g., bit rate) of the encoder 204 .
  • Encoder bit rate adjustment 304 in accordance with the illustrated embodiment may utilize one or more estimated throughput table(s) 306 generated by the channel throughput estimation 300 process.
  • An exemplary estimated throughput table 306 (Table 1) is shown below.
  • estimated target throughput rates (Tr) are calculated for a variety of modulation and coding schemes (MCSs) supported by the wireless access device 106 .
  • MCSs modulation and coding schemes
  • Supported MCSs may comprise all or a subset of MCSs specified by a given communication standard (e.g., IEEE 802.11n).
  • Tr values generally reflects an estimated upper limit for the throughput rate of the wireless channel 226 , with a possible reduction(s) for desensitization purposes, and is generally less than the relevant associated maximum PHY rate. Tr values may be influenced by a number of throughput indicia 302 , including but not limited to channel bandwidth, ACK policy, aggregation parameters, channel load (possibly including channel load measured by an associated BSS), etc.
  • the estimated throughput table 306 or equivalent may be a static table in which the throughput indicia 302 and/or receiver feedback 330 relied upon to construct the table are held to fixed values, or a dynamic table that is refreshed following a change in one or more throughput indicia 302 .
  • Events that trigger a refresh in the Tr values of the estimated throughput table 306 could include, for example, one or more of the following: enablement/disablement of MPDU aggregation; a change in the maximum number of aggregates or aggregation density; a new or revised acknowledgement policy (e.g., new block acknowledgement window size); changes in operational frequency/band; a new channel bandwidth (e.g., 20/40 MHz) and/or guard interval; variations in the average size of the data (MPDU) of the encoded video stream 202 ; fluctuations in channel load or the number of transmit streams; etc.
  • enablement/disablement of MPDU aggregation e.g., a change in the maximum number of aggregates or aggregation density
  • a new or revised acknowledgement policy e.g., new block acknowledgement window size
  • changes in operational frequency/band e.g., 20/40 MHz
  • guard interval e.g. 20/40 MHz
  • the estimated throughput table 306 may be utilized by encoder bit rate adjustment 304 to cause one or more adjustments, including incremental or stepwise adjustments, to the encoding bit rate of encoder 204 such that it more closely supports the estimated target throughput rates (Tr) associated with a current or anticipated PHY rate/MCS value.
  • the PHY rate may be adaptively selected by a PHY rate selection algorithm/process (not separately illustrated). An exemplary embodiment of encoder bit rate adjustment utilizing an estimated throughput table 306 is described in conjunction with FIG. 5 .
  • FIG. 4 is an operational flow diagram in accordance with an embodiment of the present invention illustrating a method for adaptively encoding a video stream for transmission over a wireless channel.
  • the method comprises receiving at least one indicia of the throughput of a wireless channel that is available for the pending or continuing transmission of video stream.
  • step 402 one or more estimates of the upcoming throughput of the wireless channel are generated based, at least in part, on the received throughput indicia.
  • the estimate of upcoming throughput is utilized in step 404 to adjust an encoding parameter of the encoder for the video stream.
  • the encoding parameter may comprise, for example, an encoding bit rate or frame rate that is altered in order to better match expected channel throughput under a variety of operating conditions and PHY rates. In the case of frame rate alterations, consideration of other encoder parameters may improve results.
  • step 500 transmitter side indicia of available throughput of a wireless channel are used to generate one or more target encoder rates (Tr), each Tr value corresponding to a supported PHY data rate selection for the wireless channel. Multiple Tr values may be tabulated, for example in an estimated throughput table 306 , for immediate access by encoder bit rate adjustment functionality.
  • Tr target encoder rates
  • step 502 Following detection of a new or pending PHY data rate (Pr)/MCS selection for the wireless channel in step 502 (e.g., in accordance with a standardized communication protocol or separate PHY data rate selection process), the method continues in step 504 and an estimated target encoder rate Tr is identified for the subject Pr value. Note that step 502 may be omitted following an initial determination of Tr values. As shown in step 506 , the method next compares the identified Tr value to the current encoder bit rate (Er) (calculated in Mbps in the illustrated embodiment).
  • Er current encoder bit rate
  • the encoder bit rate is reduced in step 508 , thereby effectively increasing the compression ratio of the video stream in order to improve utilization of the anticipated throughput of the wireless channel.
  • Reduction of encoder bit rate may occur in one or more adjustments, including incremental or stepwise adjustments.
  • the encoder bit rate is left unchanged or, alternatively, increased as shown in step 510 .
  • An increase in encoder bit rate to better approximate the Tr value will effectively decrease the compression ratio of the video stream, ordinarily resulting in improved utilization of any excess available throughput in the wireless channel.
  • Increases in encoder bit rate may occur in one or more adjustments, including incremental or stepwise adjustments.
  • Anticipation of channel deterioration and/or prospective PHY rates in accordance with the invention may be advantageously employed, for example, to modify an encoder bit rate prior to an actual change in PHY data rate, thereby potentially avoiding excessive buffering of video data.
  • the estimated throughput table 306 or equivalent is computed dynamically as shown generally by step 512 .
  • step 512 which may occur at other points in the illustrated method, estimated target encoder rates are refreshed following a change in one or more throughput indicia 302 as described above in conjunction with FIG. 3 .
  • step 504 is repeated following an update to Tr value(s) in step 512 .
  • adjustments to an encoder bit rate can thus occur following a new or pending PHY data rate selection, or a change in indicia of available throughput.
  • estimated channel throughput information may be used to adjust other video encoding parameters, such frame rate or use of different frame types.
  • the use of intra-frame prediction in the video coding process might be restricted for estimated channel throughputs or expected PHY data rates below a certain threshold.
  • the video encoder could be instructed to make greater use of inter-frame prediction in order to improve channel utilization. Additional such embodiments are described below in conjunction with FIG. 10 .
  • FIG. 6 illustrates an embodiment of a method for adaptively adjusting an encoder bit rate based on average transmit queue latency in accordance with an embodiment of the present invention.
  • the disclosed method is utilized during the transmission of a video stream having a relatively constant encoded bit rate (step 600 ).
  • the MAC transmit queue depth/latency of the transmitting device will often increase in response to deteriorating channel capacity.
  • transmit queue depth may be tracked on a per stream basis and/or per device basis.
  • the method of FIG. 6 may be utilized separately and/or in combination with other adaptive encoding methods and systems, including the novel methods disclosed above.
  • the MAC transmit data queue is monitored for purposes of generating/maintaining an indication of the average transmit queue latency for a portion of the video stream.
  • An exemplary embodiment of step 602 is illustrated in FIG. 9 .
  • the average transmit queue latency (or indication thereof) is compared to a predetermined threshold.
  • the predetermined threshold may reflect, for example, a maximum tolerable average queue depth beyond which video data is likely to be lost or unacceptably delayed under certain channel conditions.
  • the predetermined threshold may reflect a minimum tolerable average queue depth (possibly indicating wireless channel throughput underutilization) or average tolerable queue depth.
  • the encoding bit rate (or related encoding parameter) is adjusted in step 606 .
  • the encoding bit rate may be lowered or raised as necessary to decrease or increase the transmit queue depth to a desired level. If the average transmit queue latency does not exceed the predetermined threshold as determined in step 604 , or following step 606 , the method returns to step 602 for continued monitoring of the transmit data queue in step 602 .
  • prior indication(s) of average transmit queue latency are optionally flushed in step 608 if the encoding bit rate of the video stream is adjusted, including in step 606 . It is contemplated that step 608 may also be triggered, for example, by changes in transmitter side channel throughput indicia and/or feedback from a device receiving the video stream.
  • FIG. 7 is a flow diagram illustrating a method for adaptively reducing an encoder bit rate in accordance with an embodiment of the present invention.
  • an average transmit queue latency value is first determined.
  • this value is compared to a predetermined maximum tolerated delay threshold.
  • step 708 If the average transmit queue latency value is less than the predetermined maximum tolerated delay threshold, no resultant adjustments are made to the encoder bit rate (Er) as shown in step 708 . If the average transmit queue latency value is found to exceed the predetermined maximum tolerated delay threshold, the method continues by calculating (or retrieving, in the case of predetermined Er data) a new encoder bit rate (Er') that is likely to result in reduced transmit queue latency. Subsequently, in step 706 , the encoder bit rate for the video stream is adjusted to match the new encoder bit rate Er′, effectively lowering the bit rate of the video stream for purposes of reducing the average transmit queue latency.
  • FIG. 8 is a flow diagram illustrating a method for adaptively increasing an encoder bit rate in accordance with an embodiment of the present invention.
  • an average transmit queue latency value is first determined.
  • this value is compared to a predetermined minimum tolerated delay threshold.
  • the method continues by calculating (or retrieving, in the case of predetermined Er data) a new encoder bit rate (Er′) that is likely to result in increased transmit queue latency. Subsequently, in step 806 , the encoder bit rate for the video stream is adjusted to match the new encoder bit rate Er′, effectively increasing the bit rate of the encoded video, improving the typical quality of the video stream, and increasing the average transmit queue latency in order to more fully utilize the bandwidth of the associated wireless channel.
  • the value of Er′ in the methods of FIGS. 7 and 8 may be selected, for example, in an effort to match the transmit queue latency with an “average tolerable delay” threshold that is between the maximum and minimum tolerable queue delay thresholds.
  • statistics for average transmit queue latency may be maintained on a per access category basis and/or by traffic ID or equivalents.
  • the disclosed methods may be implemented such that alterations to an encoding parameter are only permitted on a periodic basis.
  • FIG. 9 is a flow diagram illustrating a method for channel condition estimation employing a transmit queuing model in accordance with an embodiment of the present invention.
  • the illustrated method may be utilized, for example, in an exemplary embodiment of step 602 (monitoring a MAC transmit data queue to generate an indication of the average transmit queue latency for a portion of a video stream).
  • step 900 individual or aggregated video packets in an encoded video stream are marked with an indication of the time at which the respective packets are generated or submitted for transmission over a wireless channel.
  • MPDUs MAC protocol data units
  • the frame submission time is utilized to calculate the delay between the frame submission and completion/acknowledgement of transmission (including, for example, inter-frame-spacing, any retransmission time, B/ACK duration, and protection duration).
  • Video packets, including marked video packets, are next transmitted over a wireless channel for receipt by a video device in step 902 .
  • the method resumes in step 904 , and transmission delays for the marked video packets are calculated by comparing frame submission times and associated transmission acknowledgement indications.
  • the calculated transmission delays are subsequently used in step 906 to generate and/or maintain average transmit queue latency information relating to one or more video streams.
  • a delay value may be automatically assigned for packets which are not successfully delivered (e.g., no acknowledgement is received prior to packet expiration or following a maximum number of retransmission attempts).
  • the delay value may correspond, for example, to an associated media frame duration.
  • channel throughput estimation according to the present invention may be used for additional or alternate purposes.
  • channel throughput estimation according to the invention may be utilized to govern or modify wireless quality of service (QoS) parameters, employment of CDMA or other coding overhead, schedule changes to decoder configuration (e.g., following a change in encoder bit rate or use of predictive frames), restrict the use of inter/intra-frame prediction in the video coding process, adaptively alter display mode configurations, etc.
  • QoS wireless quality of service
  • scheduling operations are employed following identification (step 1000 ) of a new or pending PHY data rate selection and/or alteration of encoder parameter(s).
  • Step 1000 may alternatively comprise a separate examination of fixed and/or variable thresholds such as those described herein.
  • scheduling transition of a video stream may involve an evaluation of various available delivery approaches and configurations such as those described below.
  • transitions may be scheduled immediately, and may involve identification of previously transmitted video packets that should be discarded (assuming the relevant decoder is not capable of making such determinations).
  • the transmitting device determines a suitable time or position in the pertinent video stream for scheduling a transition.
  • scheduling may involve an examination of a recipient device buffer and/or be based, at least in part, on the rate of channel deterioration/improvement.
  • Scheduled transitioning of a video stream to address changes in operating conditions may be accomplished by a variety of methods or combination of methods, such as those illustrated by blocks 1008 , 1010 , 1012 and 1014 .
  • transitioning of a video stream involves selectively transmitting or forcing intra-frames/streams to a recipient device in an attempt to improve the decoding process when, for example, a temporary disruption(s) in the video stream may result from alteration in the encoding process, transmission parameters, etc. It is noted that switching between intra-prediction and inter-prediction may be performed generally in accordance with a step function.
  • switching between these respective operational modes may be performed incrementally through a series of step-wise, gradual changes in order to achieve a desired level of the smoothness in the transition.
  • Various exemplary approaches for switching between operational modes are described in certain of the documents incorporated by reference herein.
  • decoding functionality of a recipient device may be instructed to propagate the last received intra-frame until the next intra-frame is received, or commence other available error concealment actions.
  • the transmitting device may retransmit a select portion(s) of the video stream.
  • decoding functionality of the recipient device may further preferentially drop certain received portions of the video stream (e.g., in order to mitigate possible propagation of decoding errors that might otherwise occur during a transition) or undertake other available error concealment actions.
  • scheduled transitioning of a video stream may comprise alterations to the characteristics and/or contents of a transmit queue of the transmitting device. For example, transmission of queued video packets may be temporarily suspended. Alternatively, certain video packets (such as those corresponding to intra-frames) may be identified for retransmission, possibly in lieu of other video packets in the transmission queue.
  • transitioning of a video stream may involve re-encoding or transcoding video packets for transmission during the transition period.
  • select motion compensation information in the encoded video stream may be re-encoded or transcoded to compensate for packets that might be lost, dropped or delayed.
  • the transition process may involve transmission of a separate video stream that is related to the source video for the incumbent or default video stream.
  • This separate video stream may comprise, for example, relevant portions of the source video that are encoded at a higher or lower resolution than the incumbent video stream.
  • modules and/or circuitries may be a single processing device or a plurality of processing devices.
  • a processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on operational instructions.
  • the operational instructions may be stored in a memory.
  • the memory may be a single memory device or a plurality of memory devices.
  • Such a memory device may be a read-only memory (ROM), random access memory (RAM), volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, and/or any device that stores digital information.
  • ROM read-only memory
  • RAM random access memory
  • volatile memory non-volatile memory
  • static memory dynamic memory
  • flash memory flash memory
  • any device that stores digital information any device that stores digital information.
  • the processing module implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry
  • the memory storing the corresponding operational instructions may be embedded with the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry.
  • a memory stores, and a processing module coupled thereto executes, operational instructions corresponding to at least some of the steps and/or functions illustrated and/or described herein.
  • connections or couplings between the various modules, circuits, functional blocks, components, devices, etc. within any of the various diagrams or as described herein may be differently implemented in different embodiments.
  • such connections or couplings may be direct connections or direct couplings there between.
  • such connections or couplings may be indirect connections or indirect couplings there between (e.g., with one or more intervening components there between).
  • certain other embodiments may have some combinations of such connections or couplings therein such that some of the connections or couplings are direct, while others are indirect.
  • Different implementations may be employed for effectuating communicative coupling between modules, circuits, functional blocks, components, devices, etc. without departing from the scope and spirit of the invention.

Abstract

Channel condition prediction employing a transmit queuing model. An average transmission queue delay monitor generates an indication of average transmit queue latency during the transmission of a video stream to a remote wireless device. The average transmit queue latency is compared to a predetermined threshold for purposes of adjusting encoding bit rate (or other encoding parameter) of the video stream. In one mode, the predetermined threshold reflects a maximum tolerable average queue depth beyond which video data is likely to be lost or unacceptably delayed under certain channel conditions. If the average transmit queue latency exceeds the predetermined threshold, the encoding bit rate (or related encoding parameter) is lowered or raised as necessary to decrease or increase the transmit queue depth to a desired level. In another mode, the transmit queuing model is used in conjunction with channel throughput estimation information to adaptively adjust one or more encoding parameters.

Description

    CROSS REFERENCE TO RELATED PATENTS/PATENT APPLICATIONS Provisional Priority Claim
  • The present U.S. Utility patent application claims priority pursuant to 35 U.S.C. §119(e) to the following U.S. Provisional patent application which is hereby incorporated herein by reference in its entirety and made part of the present U.S. Utility patent application for all purposes:
  • 1. U.S. Provisional patent application Ser. No. 61/491,838, entitled “Media communications and signaling within wireless communication systems,” (Attorney Docket No. BP22744), filed May 31, 2011, pending.
  • INCORPORATION BY REFERENCE
  • The following U.S. Utility Patent Applications are hereby incorporated herein by reference in their entirety and made part of the present U.S. Utility Patent Application for all purposes:
  • 1. U.S. Utility patent application Ser. No. ______, entitled “Adaptive Video Encoding Based on Predicted Wireless Channel Conditions,” (Attorney Docket No. BP22759), filed on the same date herewith, pending, which claims priority pursuant to 35 U.S.C. §119(e) to the following U.S. Provisional Patent Application which is hereby incorporated herein by reference in its entirety and made part of the present U.S. Utility patent application for all purposes:
      • 1.1. U.S. Provisional patent application Ser. No. 61/491,838, entitled “Media communications and signaling within wireless communication systems,” (Attorney Docket No. BP22744), filed May 31, 2011, pending.
  • 2. U.S. Utility patent application Ser. No. 13/240,906, entitled “Selective Intra and/or Inter Prediction Video Encoding,” (Attorney Docket No. BP22759.1), filed on Sep. 22, 2011, pending, which claims priority pursuant to 35 U.S.C. §119(e) to the following U.S. Provisional patent application which is hereby incorporated herein by reference in its entirety and made part of the present U.S. Utility patent application for all purposes:
      • 2.1. U.S. Provisional Patent Application Ser. No. 61/491,838, entitled “Media communications and signaling within wireless communication systems,” (Attorney Docket No. BP22744), filed May 31, 2011, pending.
  • 3. U.S. Utility patent application Ser. No. 13/223,250, entitled “Dynamic Wireless Channel Selection and Protocol Control for Streaming Media,” (Attorney Docket No. BP22783), filed on Aug. 31, 2011, pending, which claims priority pursuant to 35 U.S.C. §119(e) to the following U.S. Provisional patent application which is hereby incorporated herein by reference in its entirety and made part of the present U.S. Utility patent application for all purposes:
      • 3.1. U.S. Provisional Patent Application Ser. No. 61/491,838, entitled “Media communications and signaling within wireless communication systems,” (Attorney Docket No. BP22744), filed May 31, 2011, pending.
  • 4. U.S. Utility patent application Ser. No. 12/197,781, entitled “Source Frame Adaptation and Matching optimally to Suit a Recipient Video Device”, filed on Aug. 25, 2008, pending.
  • INCORPORATION BY REFERENCE
  • The following standards/draft standards are hereby incorporated herein by reference in their entirety and are made part of the present U.S. Utility Patent Application for all purposes:
  • 1. “WD3: Working Draft 3 of High-Efficiency Video Coding, Joint Collaborative Team on Video Coding (JCT-VC),” of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, Thomas Wiegand, et al., 5th Meeting: Geneva, CH, 16-23 March, 2011, Document: JCTVC-E603, 215 pages.
  • 2. International Telecommunication Union, ITU-T, TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU, H.264 (03/2010), SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS, Infrastructure of audiovisual services—Coding of moving video, Advanced video coding for generic audiovisual services, Recommendation ITU-T H.264, also alternatively referred to as International Telecomm ISO/IEC 14496-10—MPEG-4 Part 10, AVC (Advanced Video Coding), H.264/MPEG-4 Part 10 or AVC (Advanced Video Coding), ITU H.264/MPEG4-AVC, or equivalent.
  • INCORPORATION BY REFERENCE
  • The following IEEE standards/draft IEEE standards are hereby incorporated herein by reference in their entirety and are made part of the present U.S. Utility Patent Application for all purposes:
  • 1. IEEE Std 802.11™—2007, “IEEE Standard for Information technology—Telecommunications and information exchange between systems—Local and metropolitan area networks—Specific requirements; Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications,” IEEE Computer Society, IEEE Std 802.11™—2007, (Revision of IEEE Std 802.11-1999), 1233 pages.
  • 2. IEEE Std 802.11™—2009, “IEEE Standard for Information technology—Telecommunications and information exchange between systems—Local and metropolitan area networks—Specific requirements; Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications; Amendment 5: Enhancements for Higher Throughput,” IEEE Computer Society, IEEE Std 802.11n™—2009, (Amendment to IEEE Std 802.11™—2007 as amended by IEEE Std 802.11k™—2008, IEEE Std 802.11r™—2008, IEEE Std 802.11y™—2008, and IEEE Std 802.11r™—2009), 536 pages.
  • 3. IEEE P802.11ac™/D1.1, August 2011, “Draft STANDARD for Information Technology—Telecommunications and information exchange between systems—Local and metropolitan area networks—Specific requirements, Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications, Amendment 5: Enhancements for Very High Throughput for Operation in Bands below 6 GHz,” Prepared by the 802.11 Working Group of the 802 Committee, 297 total pages (pp. i-xxiii, 1-274).
  • BACKGROUND OF THE INVENTION
  • 1. Technical Field of the Invention
  • The invention relates generally to wireless communication systems; and, more particularly, it relates to adaptive video encoding to accommodate video transmission over a packet-based, lossy communication channel.
  • 2. Description of Related Art
  • Many approaches for improving video error robustness/concealment have been proposed, and these approaches can generally be divided into two groups. The first group is related to network layer solutions that attempt to recover the error/packet loss at packet layer, by providing an error free A/V stream to the video decoder. Such solutions usually require redundant codes and retransmissions. The second group is related to video layer solutions, especially post-processing, that will accept a corrupted video stream and try to mitigate gaps and mismatches in the decoded video frames.
  • As may be understood, both of these groups (network layer solutions and video layer solutions) have their strengths and weaknesses. In particular, a heavily protected network layer might be very robust and resilient to errors, but usually this is accompanied by a reduction in the constant throughput of the channel and/or an increase in the effective latency of the channel. For the video layer, one of the primary considerations is the overall user experience (e.g., the perceptual experience of a user). Video should appear smooth and natural, even under variable network conditions. Under variable channel conditions, providing an acceptable user experience can be particularly challenging for real-time (or near real-time) video streams, as both packet loss and channel delay can have deleterious effects on perceived video quality (e.g., blocking or blurring effects, video freezing or jerkiness, and audio/video synchronization issues).
  • More particularly, during real-time video encoding and transmission, a packet transmission incremental delay greater than a frame interval might have the same effect as a dropped or lost packet. The video decoder typically needs to decode and present each video frame within a relatively short time period. Consequently, if a packet is delayed too much over the network it might be impossible to complete frame decoding in time for display. If a delayed or dropped frame is also a reference frame for other frames, decoding errors for multiple frames may occur. Particularly in the context of wireless communications, the present art does not provide an adequate means by which communication of media related content may be effectuated in a robust, reliable, and perceptually acceptable manner.
  • BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
  • FIG. 1 is a block diagram representation of a video network 100 in accordance with an embodiment of the present invention.
  • FIG. 2 is a functional block diagram illustrating encoding and communication of a video stream by a wireless access device in accordance with an embodiment of the present invention.
  • FIG. 3 is a functional block diagram illustrating channel throughput estimation and encoder bit rate adjustment in accordance with an embodiment of the present invention.
  • FIG. 4 is an operational flow diagram illustrating a method for adaptively encoding video in accordance with an embodiment of the present invention.
  • FIG. 5 is a flow diagram illustrating a method for adaptively adjusting an encoder bit rate in accordance with an embodiment of the present invention.
  • FIG. 6 is a flow diagram illustrating a method for adaptively adjusting an encoder bit rate based on average transmit queue latency in accordance with an embodiment of the present invention.
  • FIG. 7 is a flow diagram illustrating a method for adaptively reducing an encoder bit rate in accordance with an embodiment of the present invention.
  • FIG. 8 is a flow diagram illustrating a method for adaptively increasing an encoder bit rate in accordance with an embodiment of the present invention.
  • FIG. 9 is a flow diagram illustrating a method for channel condition prediction employing a transmit queuing model in accordance with an embodiment of the present invention.
  • FIG. 10 is an illustration of various methods for scheduling transition of a video stream in accordance with embodiments of the present invention.
  • DETAILED DESCRIPTION OF THE INVENTION
  • A novel approach is presented herein for optimizing video transmission over a packet-based, lossy communication medium/channel in order to improve the end user experience. The novel approach utilizes average transmit queue latency information to adaptively adjust video encoding parameters so that better error concealment, error resilience and bandwidth usage is achievable during, for example, real-time video encoding for packet network transmission.
  • The present invention is generally related to digital video compression, and generally applicable to video compression standards, protocols, and/or recommended practices (e.g., MPEG-4 Part 2, H.264 (AVC), WMV, AVS, RealVideo and Quicktime, among others). While the novel approach presented herein oftentimes employs wireless packet-based transmissions in exemplary embodiments (e.g., UDP/IP), the various aspects and principles, and their equivalents, can also be extended generally to any network transmission (regardless of the particular type of communication medium being employed such as wired, wireless, optical, etc.) over a communication channel that is lossy or variable.
  • Referring more specifically to the figures, FIG. 1 is a block diagram representation of a video network 100 in accordance with an embodiment of the present invention. The network 104 distributes information such as video content 108 from a video source 102 to a wireless access device 106 for wireless transmission to wireless video devices, such as video device 110 and mobile video device 112, over one or more wireless channels. The video content 108 can include movies, television shows, commercials or other advertisements, educational content, video gaming content, infomercials, or other program content and optionally additional data associated with such program content including but not limited to digital rights management data, control data, programming information, additional graphics data and other data that can be transferred in association with program content. Video content 108 can include video with or without associated audio content. The video content 108 can be sent as broadcast video, streaming video, video on demand and near video on demand programming and/or other formats.
  • The network 104 can be a dedicated video distribution network such as a direct broadcast satellite network or cable television network that distributes video content 108 from a plurality of video sources, including video source 102, to a plurality of wireless access devices and, optionally, wired devices over a wide geographic area. Alternatively, network 104 can be a heterogeneous network that includes one or more segments of a general purpose network such as the Internet, a metropolitan area network, wide area network, local area network or other network and optionally other networks such as an Internet protocol (IP) television network. Over various portions of a given network, the video content 108 can be carried as analog and/or digital signals according to various recognized protocols.
  • Wireless access device 106 can include a base station or access point that provides video content 108 to one or a plurality of video subscribers over a wireless local area network (WLAN) such as an 802.11a,b,g,n, WIMAX or other WLAN network, or a cellular network such as a UMTS, EDGE, 3G, 4G or other cellular data network. In addition, the wireless access device 106 can comprise a home gateway, video distribution point in a dedicated video distribution network or other wireless gateway for wirelessly transmitting video content 108, either alone or in association with other data, signals or services, to video device 110 and/or mobile video device 112.
  • Mobile video device 112 can include a video enabled wireless smartphone or other handheld communication device that is capable of displaying video content. Video device 110 includes other video display devices that may or may not be mobile including a television coupled to a wireless receiver, a computer with wireless connectivity via a wireless data card, wireless tuner, WLAN modem or other wireless link or device that alone or in combination with other devices is capable of receiving video content 108 from wireless access device 106 and displaying and/or storing the video content 108 for a user.
  • The network 104, wireless access device 106, video device 110 and/or mobile video device 112 include one or more features of the present invention that will be described in greater detail in conjunction with FIGS. 2-9 that follow.
  • FIG. 2 is a functional block diagram illustrating encoding and communication of a video stream by a wireless access device in accordance with an embodiment of the present invention. An encoder rate adaptation function or layer 200 is shown that, in combination with or as part of an encoder 204, is used by wireless access device 106 to provide an encoded video stream 202 to a video device 110/mobile video device 112 over a wireless channel 226. Generally speaking, when considering a communication system in which video data is communicated wirelessly from one location, or subsystem, to another, video data encoding may be viewed as being performed at a transmitting side of the wireless channel 226, and video data decoding may generally be viewed as being performed at a receiving side of the wireless channel 226.
  • In the illustrated embodiment, video content is provided by a video source 102 to the wireless access device 106 for encoding (or further encoding or transcoding) and transmission. The video content 108 may be communicated to the wireless access device 106 by various means/networks such as those described above. In one embodiment, the video source 102 comprises a gaming console, cable or satellite set top box, media server or the like that is coupled to the wireless access device 106 by a standardized interconnect/interface 212. The standardized interconnect/interface 212 may comprise, for example, an audio/video cable such as an HDMI cable (in which case the wireless access device 106 may take the form of a wireless dongle), a high bandwidth wireless link (e.g., a WiGig or WirelessHD compliant link) capable of transmitting uncompressed, standard or high definition video content, or various combinations of such technologies.
  • Wireless access device 106 includes a video encoder(s) 204 that receives and encodes video content for transmission (in the form of encoded video stream 202) by network interface 206 over wireless channel 226. As described more fully below with reference to FIG. 3, an encoder rate adaptation layer 200 communicates with the video encoder(s) 204, including signals for adaptively altering the encoding bit rate and/or other operative parameters of the video encoder(s) 204. The encoder rate adaptation layer 200 is also capable of receiving information from the network interface 206. Such information can be used by the encoder rate adaptation layer 200 to generate estimates of the throughput of the wireless channel 226 under varying conditions in accordance with present invention.
  • Encoded video content from the encoder 204 is provided to network interface 206 for transmission to video device 110/mobile video device 112 (hereinafter referred to collectively or in the alternative as video device 110). In the disclosed embodiment, the network interface 206 includes medium access control (MAC) 208 and physical layer (PHY) 210 circuitry or functionality. A main purpose of the MAC 208 is to allocate the bandwidth of the wireless channel 226 and coordinate access when multiple video devices 110/112 or similar are sharing the channel. Among other functions, the PHY 210 establishes and terminates connections to the wireless channel 226. In the disclosed embodiment, PHY 210 generates and transmits modulated RF signals containing the encoded video stream 202 over the wireless channel 226. As noted, the MAC 208 and PHY 210 may operate in accordance with a wide variety of packet based communication protocols, such as an IEEE 802.11 compliant network.
  • In the illustrated video device 110, a network interface 214 receives RF signals (over the wireless channel 202) containing the encoded video stream 202. The PHY 218, in cooperation with the MAC 216, then demodulates and down converts these RF signals to extract the encoded video stream 202. In turn, the decoder 220 operates on video data from the extracted video stream 202 to generate a decoded video stream for display on a video display 222.
  • An optional interconnect/interface 224 (including, for example, the various embodiments disclosed above in conjunction with interconnect/interface 212) may be utilized to provide decoded video content to, for example, a high definition television or projection system. In such embodiments, as well as other embodiments, the video display 222 may be part of or a separate component from the video device 110. Further, the video device 110 may function as relay to other (mobile) video devices.
  • The network interface 214 of the disclosed embodiment also provides various transmissions to the wireless access device 106 including, for example, signaling in accordance with an acknowledgement (ACK/NACK) protocol 232, status information relating to the operation of the PHY 218 (for example, bit error rate before error correction or a signal-to-noise ratio (SNR)), and decoder queuing information 234. Such receiver information/feedback 230, in conjunction with transmitter side channel throughput indicia 302, may be utilized to generate estimates of current and/or expected channel throughputs under a variety of operating conditions.
  • Hereinafter, the terms “ACK”, “acknowledgement”, and “BA” are all meant to be inclusive of either ACK or BA (block acknowledgement) and equivalents. For example, even if only one of ACK or BA is specifically referenced, such embodiments may be equally adapted to any of ACK or BA and equivalents. One of the benefits of video encoding in accordance with the present invention may be a significant reduction in number of NACKs received by the wireless access device 106. It is noted, however, that ACKs may not provide an immediate indication of channel conditions when, for example, an ACK is the result of successful error correction on the receiving side of the wireless channel 226.
  • Video encoder 204 and encoder rate adaptation layer 200 can be implemented in hardware, software or firmware. In particular embodiments, the video encoder 204 and encoder rate adaptation layer 200 can be implemented using one or more microprocessors, microcomputers, central processing units, field programmable logic devices, state machines, logic circuits, analog circuits, digital circuits, and/or any devices that manipulate signals (analog and/or digital) based on operational instructions that are stored in a memory module. The function, steps and processes performed by video encoder 204 or encoder rate adaptation layer 200 can be split between different devices to provide greater computational speed and/or efficiency. The associated memory module may be a single memory device or a plurality of memory devices. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static random access memory (SRAM), dynamic random access memory (DRAM), flash memory, cache memory, and/or any device that stores digital information. Note that when the video encoder 204 and/or encoder rate adaptation layer 200 implement one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory module storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry.
  • Further, within each of the wireless access device 106 and video device 110/mobile video device 112, any desired integration or combination may be implemented for the various components, blocks, functional blocks, circuitries, etc. therein, and other boundaries and groupings may alternatively be performed without departing from the scope and spirit of the invention. For example, all components within the network interface 206 may be included within a first processing module or integrated circuit, and all components within the network interface 214 may be included within a second processing module or integrated circuit. Likewise, while shown as separate from video source 102, encoder(s) 204 and encoder rate adaptation layer 200 could be incorporated into video source 102 or other network element of network 100. Further, all or portions of the encoder rate adaptation layer 200 may be incorporated into the encoder 204.
  • FIG. 3 is a functional block diagram illustrating channel throughput estimation and encoder bit rate adjustment in accordance with an embodiment of the present invention. In the disclosed embodiment, the encoder rate adaptation layer 200 operates to adaptively effect alterations in the encoding parameters of the encoder 204 in response to average transmit queue latency information and (optionally) estimates of wireless channel throughput based on at least one throughput indicia 302. The combination of average transmit queue latency monitoring and adaptive video encoding result in improved error concealment, error resilience, ability to meet wireless latency requirements, and bandwidth usage during, for example, real-time video encoding for packet network transmission.
  • As noted, packet-based networks can provide high throughput, but often cannot guarantee a combination of low transmission delays, constant throughput and a low level of net data losses under “noisy” channel conditions. Channel conditions can be influenced by a variety of factors, including signal strength, pattern noise (e.g., microwave bursts), interference from other carriers, and network congestion on specific nodes. Transient impulse noise can also have a short term detrimental effect on the available bandwidth of a wireless channel. To the extent practical, it may be advantageous to account for such impulse noise in order to minimize unnecessary adjustments to encoding parameters.
  • The term channel throughput is used generally herein to refer to an average useful bit rate (including link layer protocol overhead) over the wireless channel 226. For real time streams such as video, relevant throughput values may be subject to latency constraints (effectively isochronous throughput) and have typical values that are less than total throughput. Although throughput is typically measured in bits per second (bps) or megabits per second (Mbps), data packets per second or data packets per time interval may also be used. Many factors (as generally represented by throughput indicia 302 and receiver information 330) may impact channel throughput and/or be utilized in accordance with the present invention to generate an indication of channel throughput. Such factors include PHY characteristics (e.g., operational frequency/band), the selected modulation and coding scheme (MCS), the size of the MAC protocol data units (MPDUs) and the use of packet aggregation, supported PHY rates of the transmission protocol, channel bandwidth (e.g., 20/40 MHz), guard intervals (GIs), the relevant transmission acknowledgment policy (e.g., Normal ACK/NACK, B-ACK (Block Acknowledgment) or aggregated acknowledgment, No-ACK), average size of the data (e.g., MPDUs) in an encoded stream, channel load, the number of transmit streams, etc. Such channel/transmission characteristics could further include a raw bit error rate, packet error rate, power mode information, signal-to-noise ratio (SNR), packet retransmission rate, and various reception parameters or other metrics that describe the ability of the RF channel to effectively send the encoded video stream 202 to the video device 110. Channel throughput estimation in accordance with various embodiments of the present invention may utilize one or more indicia of the above channel characteristics. Use of a relatively large number of indicia may increase the precision of the channel throughput estimation model.
  • In the illustrated encoder rate adaptation layer 200, various throughput indicia 302 are congregated and analyzed by a channel throughput estimation 300 function. The channel throughput estimation 300 utilizes the received throughput indicia 302 to generate channel throughput estimations. Such estimations may include, for example, expected supportable throughputs for a plurality of supported PHY data rates (PHY rate), or a revised throughput estimation for a given PHY rate based on changes in the throughput indicia 302. Output from the channel throughput estimation 300 process is provided to encoder bit rate adjustment 304 functionality for use in adaptively altering one or more encoding parameters (e.g., bit rate) of the encoder 204.
  • Throughput indicia 302 may include status information relating to one or more of channel bandwidth/GI 314, acknowledgment policy parameters 316, packetizer parameters 318, channel load 320, gain estimate 322 from, for example, a multi-variable common filter, etc. Although useful estimation is possible by utilizing a relatively small set of inputs such as those listed above, use of a larger number of inputs may generally increase precision of the model.
  • While the illustrated throughput indicia 302 are generally available from network interface 206 itself, channel estimation according to certain embodiments may also utilize various receiver information/feedback 330. For example, raw bit error rate information or other short term feedback from a receiving device(s) (such as video device 110 or mobile video device 112) could be used in the channel throughput estimation 300 process. Information from the receiving device can be communicated, for example, in periodic action frames or through other frame types/subtypes.
  • In the illustrated embodiment of FIG. 3, an average queuing delay monitor 312 functions to provide transmit queue delay information from a MAC data queue 310 to encoder bit rate adjustment 304. As will be appreciated with reference to the exemplary embodiments of FIGS. 5-9, the transmit queue delay information can be used separately or in conjunction with the throughput indicia 302, receiver information/feedback 330, estimated throughput table 306 and/or PHY rate 308 to adaptively adjust one or more encoding parameters (e.g., bit rate) of the encoder 204.
  • Encoder bit rate adjustment 304 in accordance with the illustrated embodiment may utilize one or more estimated throughput table(s) 306 generated by the channel throughput estimation 300 process. An exemplary estimated throughput table 306 (Table 1) is shown below. In this embodiment, estimated target throughput rates (Tr) are calculated for a variety of modulation and coding schemes (MCSs) supported by the wireless access device 106. Supported MCSs may comprise all or a subset of MCSs specified by a given communication standard (e.g., IEEE 802.11n). The value of an estimated Tr corresponding to a particular MCS generally reflects an estimated upper limit for the throughput rate of the wireless channel 226, with a possible reduction(s) for desensitization purposes, and is generally less than the relevant associated maximum PHY rate. Tr values may be influenced by a number of throughput indicia 302, including but not limited to channel bandwidth, ACK policy, aggregation parameters, channel load (possibly including channel load measured by an associated BSS), etc.
  • TABLE 1
    Estimated Throughput Table
    ESTIMATED TARGET
    MCS THROUGHPUT RATE (Tr)
    0 10 Mbps
    1 20 Mbps
    2 30 Mbps
    3 40 Mbps
    4 55 Mbps
    5 65 Mbps
    6 68 Mbps
    7 70 Mbps
    8 22 Mbps
    9 40 Mbps
    10 52 Mbps
    11 62 Mbps
    12 68 Mbps
    13 100+ Mbps
    14 100+ Mbps
    15 100+ Mbps
  • In the embodiment of FIG. 3, the estimated throughput table 306 or equivalent may be a static table in which the throughput indicia 302 and/or receiver feedback 330 relied upon to construct the table are held to fixed values, or a dynamic table that is refreshed following a change in one or more throughput indicia 302. Events that trigger a refresh in the Tr values of the estimated throughput table 306 could include, for example, one or more of the following: enablement/disablement of MPDU aggregation; a change in the maximum number of aggregates or aggregation density; a new or revised acknowledgement policy (e.g., new block acknowledgement window size); changes in operational frequency/band; a new channel bandwidth (e.g., 20/40 MHz) and/or guard interval; variations in the average size of the data (MPDU) of the encoded video stream 202; fluctuations in channel load or the number of transmit streams; etc. The estimated throughput table 306 may be utilized by encoder bit rate adjustment 304 to cause one or more adjustments, including incremental or stepwise adjustments, to the encoding bit rate of encoder 204 such that it more closely supports the estimated target throughput rates (Tr) associated with a current or anticipated PHY rate/MCS value. The PHY rate may be adaptively selected by a PHY rate selection algorithm/process (not separately illustrated). An exemplary embodiment of encoder bit rate adjustment utilizing an estimated throughput table 306 is described in conjunction with FIG. 5.
  • FIG. 4 is an operational flow diagram in accordance with an embodiment of the present invention illustrating a method for adaptively encoding a video stream for transmission over a wireless channel. As shown in step 400, the method comprises receiving at least one indicia of the throughput of a wireless channel that is available for the pending or continuing transmission of video stream. Next, in step 402, one or more estimates of the upcoming throughput of the wireless channel are generated based, at least in part, on the received throughput indicia. In turn, the estimate of upcoming throughput is utilized in step 404 to adjust an encoding parameter of the encoder for the video stream. The encoding parameter may comprise, for example, an encoding bit rate or frame rate that is altered in order to better match expected channel throughput under a variety of operating conditions and PHY rates. In the case of frame rate alterations, consideration of other encoder parameters may improve results. Although various embodiments according to the invention are disclosed herein, variations thereof and other alternate embodiments and equivalents may be performed without departing from the scope and spirit of the invention.
  • Referring now to FIG. 5, a method is illustrated for adaptively adjusting an encoder bit rate for a video stream in accordance with an embodiment of the present invention. As shown in step 500, transmitter side indicia of available throughput of a wireless channel are used to generate one or more target encoder rates (Tr), each Tr value corresponding to a supported PHY data rate selection for the wireless channel. Multiple Tr values may be tabulated, for example in an estimated throughput table 306, for immediate access by encoder bit rate adjustment functionality.
  • Following detection of a new or pending PHY data rate (Pr)/MCS selection for the wireless channel in step 502 (e.g., in accordance with a standardized communication protocol or separate PHY data rate selection process), the method continues in step 504 and an estimated target encoder rate Tr is identified for the subject Pr value. Note that step 502 may be omitted following an initial determination of Tr values. As shown in step 506, the method next compares the identified Tr value to the current encoder bit rate (Er) (calculated in Mbps in the illustrated embodiment).
  • If the current encoder bit rate Er is greater than the Tr value, the encoder bit rate is reduced in step 508, thereby effectively increasing the compression ratio of the video stream in order to improve utilization of the anticipated throughput of the wireless channel. Reduction of encoder bit rate may occur in one or more adjustments, including incremental or stepwise adjustments.
  • If the current encoder bit rate Er is not greater than the Tr value as determined in step 506, the encoder bit rate is left unchanged or, alternatively, increased as shown in step 510. An increase in encoder bit rate to better approximate the Tr value will effectively decrease the compression ratio of the video stream, ordinarily resulting in improved utilization of any excess available throughput in the wireless channel.
  • Increases in encoder bit rate may occur in one or more adjustments, including incremental or stepwise adjustments. Anticipation of channel deterioration and/or prospective PHY rates in accordance with the invention may be advantageously employed, for example, to modify an encoder bit rate prior to an actual change in PHY data rate, thereby potentially avoiding excessive buffering of video data.
  • In one embodiment according to the present invention, the estimated throughput table 306 or equivalent is computed dynamically as shown generally by step 512. In step 512, which may occur at other points in the illustrated method, estimated target encoder rates are refreshed following a change in one or more throughput indicia 302 as described above in conjunction with FIG. 3. In the disclosed embodiment, step 504 is repeated following an update to Tr value(s) in step 512. In this embodiment, adjustments to an encoder bit rate can thus occur following a new or pending PHY data rate selection, or a change in indicia of available throughput.
  • In addition to or in lieu of encoder bit rate parameters, estimated channel throughput information may be used to adjust other video encoding parameters, such frame rate or use of different frame types. For example, the use of intra-frame prediction in the video coding process might be restricted for estimated channel throughputs or expected PHY data rates below a certain threshold. For such estimated channel throughputs or PHY data rates, the video encoder could be instructed to make greater use of inter-frame prediction in order to improve channel utilization. Additional such embodiments are described below in conjunction with FIG. 10.
  • FIG. 6 illustrates an embodiment of a method for adaptively adjusting an encoder bit rate based on average transmit queue latency in accordance with an embodiment of the present invention. The disclosed method is utilized during the transmission of a video stream having a relatively constant encoded bit rate (step 600). During transmission of such video streams, the MAC transmit queue depth/latency of the transmitting device will often increase in response to deteriorating channel capacity. Although the illustrated method operates on a single video stream, the method is similarly applicable to the transmission of multiple video streams to one or more receiving devices. In such embodiments, transmit queue depth may be tracked on a per stream basis and/or per device basis. Further, the method of FIG. 6 may be utilized separately and/or in combination with other adaptive encoding methods and systems, including the novel methods disclosed above.
  • Referring now to step 602, the MAC transmit data queue is monitored for purposes of generating/maintaining an indication of the average transmit queue latency for a portion of the video stream. An exemplary embodiment of step 602 is illustrated in FIG. 9. Next, in step 604, the average transmit queue latency (or indication thereof) is compared to a predetermined threshold. The predetermined threshold may reflect, for example, a maximum tolerable average queue depth beyond which video data is likely to be lost or unacceptably delayed under certain channel conditions. Similarly, the predetermined threshold may reflect a minimum tolerable average queue depth (possibly indicating wireless channel throughput underutilization) or average tolerable queue depth.
  • If the average transmit queue latency exceeds the predetermined threshold as determined in step 604, the encoding bit rate (or related encoding parameter) is adjusted in step 606. For example, the encoding bit rate may be lowered or raised as necessary to decrease or increase the transmit queue depth to a desired level. If the average transmit queue latency does not exceed the predetermined threshold as determined in step 604, or following step 606, the method returns to step 602 for continued monitoring of the transmit data queue in step 602.
  • In one embodiment of the method, prior indication(s) of average transmit queue latency are optionally flushed in step 608 if the encoding bit rate of the video stream is adjusted, including in step 606. It is contemplated that step 608 may also be triggered, for example, by changes in transmitter side channel throughput indicia and/or feedback from a device receiving the video stream.
  • FIG. 7 is a flow diagram illustrating a method for adaptively reducing an encoder bit rate in accordance with an embodiment of the present invention. As shown in step 700, an average transmit queue latency value is first determined. Next, in step 702, this value is compared to a predetermined maximum tolerated delay threshold.
  • If the average transmit queue latency value is less than the predetermined maximum tolerated delay threshold, no resultant adjustments are made to the encoder bit rate (Er) as shown in step 708. If the average transmit queue latency value is found to exceed the predetermined maximum tolerated delay threshold, the method continues by calculating (or retrieving, in the case of predetermined Er data) a new encoder bit rate (Er') that is likely to result in reduced transmit queue latency. Subsequently, in step 706, the encoder bit rate for the video stream is adjusted to match the new encoder bit rate Er′, effectively lowering the bit rate of the video stream for purposes of reducing the average transmit queue latency.
  • FIG. 8 is a flow diagram illustrating a method for adaptively increasing an encoder bit rate in accordance with an embodiment of the present invention. As shown in step 800, an average transmit queue latency value is first determined. Next, in step 802, this value is compared to a predetermined minimum tolerated delay threshold.
  • If the average transmit queue latency value is greater than the predetermined minimum tolerated delay threshold, no resultant adjustments are made to the encoder bit rate (Er) as shown in step 808. If the average transmit queue latency value is found to be less than the predetermined minimum tolerated delay threshold, the method continues by calculating (or retrieving, in the case of predetermined Er data) a new encoder bit rate (Er′) that is likely to result in increased transmit queue latency. Subsequently, in step 806, the encoder bit rate for the video stream is adjusted to match the new encoder bit rate Er′, effectively increasing the bit rate of the encoded video, improving the typical quality of the video stream, and increasing the average transmit queue latency in order to more fully utilize the bandwidth of the associated wireless channel.
  • The value of Er′ in the methods of FIGS. 7 and 8 may be selected, for example, in an effort to match the transmit queue latency with an “average tolerable delay” threshold that is between the maximum and minimum tolerable queue delay thresholds. In addition, statistics for average transmit queue latency may be maintained on a per access category basis and/or by traffic ID or equivalents. Further, in order to minimize the possibility or frequency of application-rate-oscillations, the disclosed methods may be implemented such that alterations to an encoding parameter are only permitted on a periodic basis.
  • FIG. 9 is a flow diagram illustrating a method for channel condition estimation employing a transmit queuing model in accordance with an embodiment of the present invention. The illustrated method may be utilized, for example, in an exemplary embodiment of step 602 (monitoring a MAC transmit data queue to generate an indication of the average transmit queue latency for a portion of a video stream).
  • Referring first to step 900, individual or aggregated video packets in an encoded video stream are marked with an indication of the time at which the respective packets are generated or submitted for transmission over a wireless channel. In one embodiment, for example, MAC protocol data units (MPDUs) or the like are marked with an additional field in the transmit descriptor portion of the header in order track frame submission time. The frame submission time is utilized to calculate the delay between the frame submission and completion/acknowledgement of transmission (including, for example, inter-frame-spacing, any retransmission time, B/ACK duration, and protection duration).
  • Video packets, including marked video packets, are next transmitted over a wireless channel for receipt by a video device in step 902. Next, the method resumes in step 904, and transmission delays for the marked video packets are calculated by comparing frame submission times and associated transmission acknowledgement indications. The calculated transmission delays are subsequently used in step 906 to generate and/or maintain average transmit queue latency information relating to one or more video streams. A delay value may be automatically assigned for packets which are not successfully delivered (e.g., no acknowledgement is received prior to packet expiration or following a maximum number of retransmission attempts). The delay value may correspond, for example, to an associated media frame duration.
  • In addition to adaptive encoder rate adjustment and the alternate embodiments of the invention described above (e.g., alteration of frame rate or the use/frequency of predictive frames), it is contemplated that channel throughput estimation according to the present invention may be used for additional or alternate purposes. By way of example, channel throughput estimation according to the invention may be utilized to govern or modify wireless quality of service (QoS) parameters, employment of CDMA or other coding overhead, schedule changes to decoder configuration (e.g., following a change in encoder bit rate or use of predictive frames), restrict the use of inter/intra-frame prediction in the video coding process, adaptively alter display mode configurations, etc.
  • Referring now to FIG. 10, various exemplary methods are illustrated for scheduling transition of a video stream in response to, for example, a pending change in encoder bit rate. Such scheduling may be employed to minimize the visual impact of modifications to encoding parameters, transmission parameters, etc. In the illustrated embodiments, scheduling operations are employed following identification (step 1000) of a new or pending PHY data rate selection and/or alteration of encoder parameter(s). Step 1000 may alternatively comprise a separate examination of fixed and/or variable thresholds such as those described herein.
  • If time permits, scheduling transition of a video stream may involve an evaluation of various available delivery approaches and configurations such as those described below. Alternatively, transitions may be scheduled immediately, and may involve identification of previously transmitted video packets that should be discarded (assuming the relevant decoder is not capable of making such determinations).
  • Referring more specifically to step 1002, the transmitting device (possibly in conjunction with a recipient device) determines a suitable time or position in the pertinent video stream for scheduling a transition. As illustrated in blocks 1004 and 1006, such scheduling may involve an examination of a recipient device buffer and/or be based, at least in part, on the rate of channel deterioration/improvement.
  • Scheduled transitioning of a video stream to address changes in operating conditions may be accomplished by a variety of methods or combination of methods, such as those illustrated by blocks 1008, 1010, 1012 and 1014. In the exemplary embodiment of block 1008, transitioning of a video stream involves selectively transmitting or forcing intra-frames/streams to a recipient device in an attempt to improve the decoding process when, for example, a temporary disruption(s) in the video stream may result from alteration in the encoding process, transmission parameters, etc. It is noted that switching between intra-prediction and inter-prediction may be performed generally in accordance with a step function. In other embodiments, switching between these respective operational modes may be performed incrementally through a series of step-wise, gradual changes in order to achieve a desired level of the smoothness in the transition. Various exemplary approaches for switching between operational modes are described in certain of the documents incorporated by reference herein.
  • In other embodiments, decoding functionality of a recipient device may be instructed to propagate the last received intra-frame until the next intra-frame is received, or commence other available error concealment actions. Alternatively, or in combination, the transmitting device may retransmit a select portion(s) of the video stream. In such an embodiment, decoding functionality of the recipient device may further preferentially drop certain received portions of the video stream (e.g., in order to mitigate possible propagation of decoding errors that might otherwise occur during a transition) or undertake other available error concealment actions.
  • As shown in block 1010, scheduled transitioning of a video stream may comprise alterations to the characteristics and/or contents of a transmit queue of the transmitting device. For example, transmission of queued video packets may be temporarily suspended. Alternatively, certain video packets (such as those corresponding to intra-frames) may be identified for retransmission, possibly in lieu of other video packets in the transmission queue.
  • In the embodiment of block 1012, transitioning of a video stream may involve re-encoding or transcoding video packets for transmission during the transition period. By way of example, select motion compensation information in the encoded video stream may be re-encoded or transcoded to compensate for packets that might be lost, dropped or delayed.
  • In yet another embodiment, illustrated by block 1014, the transition process may involve transmission of a separate video stream that is related to the source video for the incumbent or default video stream. This separate video stream may comprise, for example, relevant portions of the source video that are encoded at a higher or lower resolution than the incumbent video stream.
  • It is noted that the various modules and/or circuitries (e.g., encoding modules and/or circuitries, decoding modules and/or circuitries, encoder rate adaptation modules and/or circuitries, etc.) described herein may be a single processing device or a plurality of processing devices. Such a processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on operational instructions. The operational instructions may be stored in a memory. The memory may be a single memory device or a plurality of memory devices. Such a memory device may be a read-only memory (ROM), random access memory (RAM), volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, and/or any device that stores digital information. It is also noted that when the processing module implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory storing the corresponding operational instructions may be embedded with the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry. In such an embodiment, a memory stores, and a processing module coupled thereto executes, operational instructions corresponding to at least some of the steps and/or functions illustrated and/or described herein.
  • It is also noted that any of the connections or couplings between the various modules, circuits, functional blocks, components, devices, etc. within any of the various diagrams or as described herein may be differently implemented in different embodiments. For example, in one embodiment, such connections or couplings may be direct connections or direct couplings there between. In another embodiment, such connections or couplings may be indirect connections or indirect couplings there between (e.g., with one or more intervening components there between). Of course, certain other embodiments may have some combinations of such connections or couplings therein such that some of the connections or couplings are direct, while others are indirect. Different implementations may be employed for effectuating communicative coupling between modules, circuits, functional blocks, components, devices, etc. without departing from the scope and spirit of the invention.
  • Various aspects of the present invention have also been described above with the aid of method steps illustrating the performance of specified functions and relationships thereof. The boundaries and sequence of these functional building blocks and method steps have been arbitrarily defined herein for convenience of description. Alternate boundaries and sequences can be defined so long as the specified functions and relationships are appropriately performed. Any such alternate boundaries or sequences are thus within the scope and spirit of the claimed invention.
  • Various aspects of the present invention have been described above with the aid of functional building blocks illustrating the performance of certain significant functions. The boundaries of these functional building blocks have been arbitrarily defined for convenience of description. Alternate boundaries could be defined as long as the certain significant functions are appropriately performed. Similarly, flow diagram blocks may also have been arbitrarily defined herein to illustrate certain significant functionality. To the extent used, the flow diagram block boundaries and sequence could have been defined otherwise and still perform the certain significant functionality. Such alternate definitions of both functional building blocks and flow diagram blocks and sequences are thus within the scope and spirit of the claimed invention.
  • One of average skill in the art will also recognize that the functional building blocks, and other illustrative blocks, modules and components herein, can be implemented as illustrated or by discrete components, application specific integrated circuits, processors executing appropriate software and the like or any combination thereof.
  • Moreover, although described in detail for purposes of clarity and understanding by way of the aforementioned embodiments, various aspects of the present invention are not limited to such embodiments. It will be obvious to one of average skill in the art that various changes and modifications may be practiced within the spirit and scope of the invention, as limited only by the scope of the appended claims.

Claims (20)

1. A method for adaptively encoding a video stream for transmission to a remote wireless device, comprising:
monitoring the MAC transmit queue of a transmitting device to generate an indication of average transmit queue latency for a portion of the video stream;
comparing the indication of average transmit queue latency to a predetermined threshold; and
adjusting the encoding bit rate for the video stream if the indication of average transmit queue latency exceeds the predetermined threshold.
2. The method of claim 1, wherein the predetermined threshold is a maximum tolerated delay threshold, and the step of adjusting the encoding bit rate comprises reducing the encoding bit rate.
3. The method of claim 1, wherein the predetermined threshold is a minimum tolerated delay threshold, and the step of adjusting the encoding bit rate comprises increasing the encoding bit rate.
4. The method of claim 1, further comprising monitoring the MAC transmit queue to generate a new indication of average transmit queue latency for transmissions associated with an adjusted encoding bit rate.
5. The method of claim 1, wherein the step of monitoring the MAC transmit queue comprises:
marking video packets of the video stream with an indication of the time the respective video packet is submitted for transmission by the transmitting device;
receiving associated transmission acknowledgment information for the video packets;
calculating transmission delays for the video packets by comparing the indication of the time a video packet is submitted for transmission with the associated transmission acknowledgment information; and
generating average transmit queue latency information based on the calculated transmission delays.
6. The method of claim 1, wherein the predetermined threshold is based at least in part on prior measurement(s) of transmit queue latency.
7. The method of claim 5, wherein the average transmit queue latency information is maintained for video packets based on at least one of access category or traffic ID information associated with the video packets.
8. A method for adaptively encoding a video stream for transmission to a remote wireless device over a wireless channel, comprising:
receiving at least one transmitter side indication of the available throughput of the wireless channel at a first PHY data rate;
utilizing the received indication to generate an estimate of the throughput of the wireless channel at a second PHY data rate;
identifying a transition or pending transition to wireless channel operation at the second PHY data rate;
altering the encoding bit rate of the video stream based on the estimate;
monitoring a MAC transmit queue of the transmitting device to generate an indication of average transmit queue latency for a portion of the video stream;
comparing the indication of average transmit queue latency to a predetermined threshold; and
further adjusting the encoding bit rate for the video stream if the indication of average transmit queue latency exceeds the predetermined threshold.
9. The method of claim 8, wherein the indicia of the available throughput of the wireless channel comprises at least one of channel bandwidth information, acknowledgement policy parameters, packetizer parameters, channel load information and a channel gain estimate.
10. The method of claim 8, wherein the predetermined threshold is a maximum tolerated delay threshold, and the step of further adjusting the encoding bit rate comprises reducing the encoding bit rate.
11. The method of claim 8, wherein the predetermined threshold is a minimum tolerated delay threshold, and the step of further adjusting the encoding bit rate comprises increasing the encoding bit rate.
12. The method of claim 8, wherein the step of monitoring a MAC transmit queue comprises:
marking video packets of the video stream with an indication of the time the respective video packet is submitted for transmission by the transmitting device;
receiving associated transmission acknowledgment information for the video packets;
calculating transmission delays for the video packets by comparing the indication of the time a video packet is submitted for transmission with the associated transmission acknowledgment information; and
generating an indication of average transmit queue latency based on the calculated transmission delays.
13. The method of claim 12, wherein the indication of average transmit queue latency information is maintained for video packets based on at least one of access category or traffic ID information associated with the video packets.
14. An apparatus, comprising:
a network interface for supporting video stream transmission over a wireless channel;
an encoder for encoding the video stream for provision to the network interface; and
encoder bit rate adaptation circuitry operable to adaptively adjust an encoding bit rate of the encoder by:
monitoring the MAC transmit queue of a transmitting device to generate an indication of average transmit queue latency for a portion of the video stream;
comparing the indication of average transmit queue latency to a predetermined threshold; and
adjusting the encoding bit rate for the video stream if the indication of average transmit queue latency exceeds the predetermined threshold.
15. The apparatus of claim 14, wherein the predetermined threshold is a maximum tolerated delay threshold, and adjusting the encoding bit rate comprises reducing the encoding bit rate.
16. The apparatus of claim 14, wherein the predetermined threshold is a minimum tolerated delay threshold, and adjusting the encoding bit rate comprises increasing the encoding bit rate.
17. The apparatus of claim 14, wherein monitoring the MAC transmit queue comprises:
marking video packets of the video stream with an indication of the time the respective video packet is submitted for transmission by the transmitting device;
receiving associated transmission acknowledgment information for the video packets;
calculating transmission delays for the video packets by comparing the indication of the time a video packet is submitted for transmission with the associated transmission acknowledgment information; and
generating an indication of average transmit queue latency based on the calculated transmission delays.
18. The method of claim 17, wherein the indication of average transmit queue latency is maintained for video packets based on at least one of access category or traffic ID information associated with the video packets.
19. The apparatus of claim 14, wherein the apparatus comprises a wireless dongle, the apparatus further comprising a standardized audio/video interface for providing video stream data to the encoder for encoding.
20. The apparatus of claim 19, wherein the standardized audio/video interface is compliant with an HDMI standard.
US13/244,567 2011-05-31 2011-09-25 Channel Condition Prediction Employing Transmit Queuing Model Abandoned US20120307885A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/244,567 US20120307885A1 (en) 2011-05-31 2011-09-25 Channel Condition Prediction Employing Transmit Queuing Model

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161491838P 2011-05-31 2011-05-31
US13/244,567 US20120307885A1 (en) 2011-05-31 2011-09-25 Channel Condition Prediction Employing Transmit Queuing Model

Publications (1)

Publication Number Publication Date
US20120307885A1 true US20120307885A1 (en) 2012-12-06

Family

ID=47261635

Family Applications (9)

Application Number Title Priority Date Filing Date
US13/180,843 Abandoned US20120309321A1 (en) 2011-05-31 2011-07-12 Synchronized calibration for wireless communication devices
US13/181,112 Active 2032-02-11 US8730930B2 (en) 2011-05-31 2011-07-12 Polling using B-ACK for occasional back-channel traffic in VoWIFI applications
US13/183,613 Abandoned US20120310531A1 (en) 2011-05-31 2011-07-15 Navigation system employing augmented labeling and/or indicia
US13/192,390 Expired - Fee Related US9049736B2 (en) 2011-05-31 2011-07-27 Video sub-reservation protocol in a wireless ecosystem
US13/231,402 Abandoned US20120307746A1 (en) 2011-05-31 2011-09-13 Fair Channel Allocation for Multiple Clients
US13/231,481 Active 2032-05-26 US8831091B2 (en) 2011-05-31 2011-09-13 Adaptive wireless channel allocation for media distribution in a multi-user environment
US13/240,906 Active 2032-07-11 US9295076B2 (en) 2011-05-31 2011-09-22 Selective intra and/or inter prediction video encoding based on a channel rate
US13/244,567 Abandoned US20120307885A1 (en) 2011-05-31 2011-09-25 Channel Condition Prediction Employing Transmit Queuing Model
US14/723,610 Active 2032-07-03 US9807784B2 (en) 2011-05-31 2015-05-28 Video sub-reservation protocol in a wireless ecosystem

Family Applications Before (7)

Application Number Title Priority Date Filing Date
US13/180,843 Abandoned US20120309321A1 (en) 2011-05-31 2011-07-12 Synchronized calibration for wireless communication devices
US13/181,112 Active 2032-02-11 US8730930B2 (en) 2011-05-31 2011-07-12 Polling using B-ACK for occasional back-channel traffic in VoWIFI applications
US13/183,613 Abandoned US20120310531A1 (en) 2011-05-31 2011-07-15 Navigation system employing augmented labeling and/or indicia
US13/192,390 Expired - Fee Related US9049736B2 (en) 2011-05-31 2011-07-27 Video sub-reservation protocol in a wireless ecosystem
US13/231,402 Abandoned US20120307746A1 (en) 2011-05-31 2011-09-13 Fair Channel Allocation for Multiple Clients
US13/231,481 Active 2032-05-26 US8831091B2 (en) 2011-05-31 2011-09-13 Adaptive wireless channel allocation for media distribution in a multi-user environment
US13/240,906 Active 2032-07-11 US9295076B2 (en) 2011-05-31 2011-09-22 Selective intra and/or inter prediction video encoding based on a channel rate

Family Applications After (1)

Application Number Title Priority Date Filing Date
US14/723,610 Active 2032-07-03 US9807784B2 (en) 2011-05-31 2015-05-28 Video sub-reservation protocol in a wireless ecosystem

Country Status (1)

Country Link
US (9) US20120309321A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130336204A1 (en) * 2012-06-13 2013-12-19 Jen-Chieh Huang Control method for adjusting queuing data volumn of wireless communications device by detecting data transfer speed at physical layer and related control module and machine-readable medium thereof
US20140126626A1 (en) * 2012-11-06 2014-05-08 Ittiam System (P) Ltd. Method for media rate control in a video encoding system
US10285215B2 (en) * 2016-10-21 2019-05-07 International Business Machines Corporation Dynamic quality of service (QoS) based channel in wireless network
GB2575383A (en) * 2013-04-26 2020-01-08 Cisco Tech Inc Selection of radio bearers for scheduling in a mobile communications network
US20220224747A1 (en) * 2021-01-12 2022-07-14 Yamaha Corporation Signal processing method and signal processing apparatus
US11936704B2 (en) 2018-10-05 2024-03-19 Interdigital Madison Patent Holdings, Sas Method to be implemented at a device able to run one adaptive streaming session, and corresponding device

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100316150A1 (en) * 2009-06-05 2010-12-16 Broadcom Corporation Mixed mode operations within multiple user, multiple access, and/or MIMO wireless communications
JP5204870B2 (en) * 2011-04-25 2013-06-05 株式会社エヌ・ティ・ティ・ドコモ Base station and resource allocation method in mobile communication system
US20120309321A1 (en) * 2011-05-31 2012-12-06 Broadcom Corporation Synchronized calibration for wireless communication devices
CN103139180B (en) * 2011-12-01 2016-08-03 华为技术有限公司 A kind of method and apparatus promoting cell throughout based on streaming media service
US9531990B1 (en) 2012-01-21 2016-12-27 Google Inc. Compound prediction using multiple sources or prediction modes
US8917608B2 (en) * 2012-01-31 2014-12-23 Qualcomm Incorporated Low latency WiFi display using intelligent aggregation
US8737824B1 (en) 2012-03-09 2014-05-27 Google Inc. Adaptively encoding a media stream with compound prediction
US9781447B1 (en) 2012-06-21 2017-10-03 Google Inc. Correlation based inter-plane prediction encoding and decoding
US9185414B1 (en) 2012-06-29 2015-11-10 Google Inc. Video encoding using variance
US8897274B2 (en) * 2012-08-08 2014-11-25 St-Ericsson Sa Successive interference cancellation stacked branch VAMOS receivers
US9167268B1 (en) 2012-08-09 2015-10-20 Google Inc. Second-order orthogonal spatial intra prediction
US9344742B2 (en) 2012-08-10 2016-05-17 Google Inc. Transform-domain intra prediction
US9380298B1 (en) 2012-08-10 2016-06-28 Google Inc. Object-based intra-prediction
US8467770B1 (en) * 2012-08-21 2013-06-18 Mourad Ben Ayed System for securing a mobile terminal
US9369732B2 (en) 2012-10-08 2016-06-14 Google Inc. Lossless intra-prediction video coding
US9628790B1 (en) 2013-01-03 2017-04-18 Google Inc. Adaptive composite intra prediction for image and video compression
US9426196B2 (en) * 2013-01-04 2016-08-23 Qualcomm Incorporated Live timing for dynamic adaptive streaming over HTTP (DASH)
WO2014117341A1 (en) * 2013-01-30 2014-08-07 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for calibrating multiple antennas
EP2953417B1 (en) * 2013-02-22 2020-02-12 Huawei Technologies Co., Ltd. Sub-frame generating method and equipment, sub-frame determining method and user equipment
US9646492B2 (en) * 2013-03-08 2017-05-09 Honda Motor Co., Ltd. Congestion sign detection method, program, and congestion sign detection device
US9191146B2 (en) * 2013-03-13 2015-11-17 Qualcomm Incorporated Methods permitting a wireless system receiver to determine and report channel conditions to a system transmitter
US9164281B2 (en) 2013-03-15 2015-10-20 Honda Motor Co., Ltd. Volumetric heads-up display with dynamic focal plane
US9747898B2 (en) 2013-03-15 2017-08-29 Honda Motor Co., Ltd. Interpretation of ambiguous vehicle instructions
US9558508B2 (en) * 2013-03-15 2017-01-31 Microsoft Technology Licensing, Llc Energy-efficient mobile advertising
US10215583B2 (en) 2013-03-15 2019-02-26 Honda Motor Co., Ltd. Multi-level navigation monitoring and control
US10339711B2 (en) 2013-03-15 2019-07-02 Honda Motor Co., Ltd. System and method for providing augmented reality based directions based on verbal and gestural cues
US9378644B2 (en) 2013-03-15 2016-06-28 Honda Motor Co., Ltd. System and method for warning a driver of a potential rear end collision
US9251715B2 (en) 2013-03-15 2016-02-02 Honda Motor Co., Ltd. Driver training system using heads-up display augmented reality graphics elements
US9393870B2 (en) 2013-03-15 2016-07-19 Honda Motor Co., Ltd. Volumetric heads-up display with dynamic focal plane
US9374578B1 (en) 2013-05-23 2016-06-21 Google Inc. Video coding using combined inter and intra predictors
JP2016520272A (en) * 2013-05-29 2016-07-11 華為技術有限公司Huawei Technologies Co.,Ltd. Data transmission method, data transmission apparatus, data transmission device, and base station
US9247251B1 (en) 2013-07-26 2016-01-26 Google Inc. Right-edge extension for quad-tree intra-prediction
US9231993B2 (en) * 2013-09-06 2016-01-05 Lg Display Co., Ltd. Apparatus for transmitting encoded video stream and method for transmitting the same
US20150079562A1 (en) * 2013-09-17 2015-03-19 Sony Corporation Presenting audio based on biometrics parameters
US9516358B2 (en) 2013-11-26 2016-12-06 At&T Intellectual Property I, L.P. Method and apparatus for providing media content
US9609343B1 (en) 2013-12-20 2017-03-28 Google Inc. Video coding using compound prediction
CN104703051B (en) * 2014-01-06 2018-06-05 杭州海康威视数字技术股份有限公司 Code stream sending method and device
JP6276065B2 (en) * 2014-02-26 2018-02-07 パナソニック株式会社 Wireless communication method and wireless communication device
WO2015131935A1 (en) * 2014-03-05 2015-09-11 2Kb Beteiligungs Gmbh System and method for controlling video resolution depending on an upload transfer rate
JP6525576B2 (en) * 2014-12-17 2019-06-05 キヤノン株式会社 Control device, control system, control method, medical imaging apparatus, medical imaging system, imaging control method and program
CN105791191A (en) * 2014-12-18 2016-07-20 上海协同科技股份有限公司 Method for realizing high-speed data communication for wireless narrowband, communication system of wireless narrow band and modem of wireless narrow band
US10033495B2 (en) 2015-02-13 2018-07-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Communication device to generate and process a clear to send announcement frame
US9588340B2 (en) * 2015-03-03 2017-03-07 Honda Motor Co., Ltd. Pedestrian intersection alert system and method thereof
US10575008B2 (en) * 2015-06-01 2020-02-25 Apple Inc. Bandwidth management in devices with simultaneous download of multiple data streams
US10225036B2 (en) * 2015-06-11 2019-03-05 California Institute Of Technology Communication systems and methods of communicating utilizing cooperation facilitators
CN104994360B (en) * 2015-08-03 2018-10-26 北京旷视科技有限公司 Video frequency monitoring method and video monitoring system
US11265595B2 (en) * 2015-10-06 2022-03-01 Sony Interactive Entertainment Inc. Communication system, transmission apparatus, reception apparatus, communication system control method, and program
US10517001B2 (en) 2016-05-07 2019-12-24 Microsoft Technology Licensing, Llc Single radio switching between multiple wireless links
US10470058B2 (en) * 2016-05-07 2019-11-05 Microsoft Technology Licensing, Llc Single radio serving multiple wireless links
US10642651B2 (en) 2016-06-23 2020-05-05 Intel Corporation Systems, methods and devices for standby power savings
US10696308B2 (en) * 2016-06-30 2020-06-30 Intel Corporation Road condition heads up display
US10505859B2 (en) * 2016-11-10 2019-12-10 The Government Of The United States Of America, As Represented By The Secretary Of The Navy Packet deadlines in a queue to control the age of information
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
US10374762B2 (en) * 2017-02-28 2019-08-06 At&T Intellectual Property I, L.P. Use of underutilized bandwidth via radio access resource sharing
US10579495B2 (en) 2017-05-18 2020-03-03 California Institute Of Technology Systems and methods for transmitting data using encoder cooperation in the presence of state information
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US10270486B2 (en) * 2017-06-30 2019-04-23 Taiwan Semiconductor Manufacturing Co., Ltd. Ultra-low power receiver
US10754242B2 (en) 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
US10945141B2 (en) * 2017-07-25 2021-03-09 Qualcomm Incorporated Systems and methods for improving content presentation
US10912105B2 (en) * 2019-03-28 2021-02-02 Intel Corporation Apparatus, system and method of wireless video streaming
US10966216B2 (en) 2019-08-29 2021-03-30 Cisco Technology, Inc. Adaptive resource allocation for media streams over wireless
CN117061698B (en) * 2023-10-12 2023-12-22 太一云境技术有限公司 Hidden immersion type teleconference channel establishment method and system

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6310857B1 (en) * 1997-06-16 2001-10-30 At&T Corp. Method and apparatus for smoothing and multiplexing video data flows
US20050213502A1 (en) * 2004-03-26 2005-09-29 Stmicroelectronics S.R.I. Method and system for controlling operation of a network, such as a WLAN, related network and computer program product therefor
US6990113B1 (en) * 2000-09-08 2006-01-24 Mitsubishi Electric Research Labs., Inc. Adaptive-weighted packet scheduler for supporting premium service in a communications network
US20060050970A1 (en) * 2004-09-08 2006-03-09 Sony Corporation Method and apparatus for transmitting a coded video signal
US20060095944A1 (en) * 2004-10-30 2006-05-04 Demircin Mehmet U Sender-side bandwidth estimation for video transmission with receiver packet buffer
US20060209892A1 (en) * 2005-03-15 2006-09-21 Radiospire Networks, Inc. System, method and apparatus for wirelessly providing a display data channel between a generalized content source and a generalized content sink
US20070091815A1 (en) * 2005-10-21 2007-04-26 Peerapol Tinnakornsrisuphap Methods and systems for adaptive encoding of real-time information in packet-switched wireless communication systems
US20070097257A1 (en) * 2005-10-27 2007-05-03 El-Maleh Khaled H Video source rate control for video telephony
US20080095247A1 (en) * 2004-11-17 2008-04-24 Michihiro Ohno Transmitter, Receiver And Communication System
US20080175147A1 (en) * 2007-01-18 2008-07-24 Nokia Corporation Admission control for packet connections
US20090122808A1 (en) * 2005-06-06 2009-05-14 Mobidia, Inc. System And Method Of Scheduling Delivery Of Packets
US20100098047A1 (en) * 2008-10-21 2010-04-22 Tzero Technologies, Inc. Setting a data rate of encoded data of a transmitter

Family Cites Families (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5260783A (en) * 1991-02-21 1993-11-09 Gte Laboratories Incorporated Layered DCT video coder for packet switched ATM networks
GB9317983D0 (en) * 1993-08-28 1993-10-13 Lucas Ind Plc A driver assistance system for a vehicle
JPH11220711A (en) * 1998-02-03 1999-08-10 Fujitsu Ltd Multipoint conference system and conference terminal
US6438165B2 (en) * 1998-03-09 2002-08-20 Lg Electronics Method and apparatus for advanced encoder system
US6473607B1 (en) * 1998-06-01 2002-10-29 Broadcom Corporation Communication device with a self-calibrating sleep timer
US6747959B1 (en) * 1998-10-07 2004-06-08 At&T Corp. Voice data integrated mulitaccess by self-reservation and blocked binary tree resolution
US6334059B1 (en) * 1999-01-08 2001-12-25 Trueposition, Inc. Modified transmission method for improving accuracy for e-911 calls
US6625211B1 (en) * 1999-02-25 2003-09-23 Matsushita Electric Industrial Co., Ltd. Method and apparatus for transforming moving picture coding system
US6356764B1 (en) * 1999-03-09 2002-03-12 Micron Technology, Inc. Wireless communication systems, interrogators and methods of communicating within a wireless communication system
US6226592B1 (en) * 1999-03-22 2001-05-01 Veridian Erim International, Inc. Method and apparatus for prompting a motor vehicle operator to remain within a lane
US6907073B2 (en) * 1999-12-20 2005-06-14 Sarnoff Corporation Tweening-based codec for scaleable encoders and decoders with varying motion computation capability
US7289570B2 (en) * 2000-04-10 2007-10-30 Texas Instruments Incorporated Wireless communications
JP2001289654A (en) * 2000-04-11 2001-10-19 Equos Research Co Ltd Navigator, method of controlling navigator and memory medium having recorded programs
DE60139771D1 (en) * 2000-04-22 2009-10-15 Atheros Comm Inc ON A WIRELESS TRANSMISSION SYSTEM AND INCREASING THROUGHPUT THROUGHOUT
KR100694034B1 (en) * 2000-05-13 2007-03-12 삼성전자주식회사 Apparatus for automatic detecting data rate
US6950399B1 (en) * 2000-07-06 2005-09-27 Matsushita Electric Industrial Co., Ltd. System and associated method for scheduling transport of variable bit-rate data over a network
AU2001270966A1 (en) * 2000-07-10 2002-01-21 Ophir Optronics Ltd. Impaired vision assist system and method
US6977630B1 (en) * 2000-07-18 2005-12-20 University Of Minnesota Mobility assist device
JP3603768B2 (en) * 2000-09-06 2004-12-22 日産自動車株式会社 Lane departure judgment device
US7330877B2 (en) * 2000-09-18 2008-02-12 Sharp Laboratories Of America Devices, softwares and methods for rescheduling multi-party sessions upon premature termination of session
US6735422B1 (en) * 2000-10-02 2004-05-11 Baldwin Keith R Calibrated DC compensation system for a wireless communication device configured in a zero intermediate frequency architecture
EP1338125A2 (en) * 2000-11-03 2003-08-27 AT & T Corp. Tiered contention multiple access (tcma): a method for priority-based shared channel access
US7054936B2 (en) * 2001-03-12 2006-05-30 Hrl Laboratories, Llc Priority-based dynamic resource allocation method and apparatus for supply-demand systems
US7106715B1 (en) * 2001-11-16 2006-09-12 Vixs Systems, Inc. System for providing data to multiple devices and method thereof
US7203472B2 (en) * 2002-03-15 2007-04-10 Nokia Corporation Method and apparatus providing calibration technique for RF performance tuning
EP1359722A1 (en) * 2002-03-27 2003-11-05 BRITISH TELECOMMUNICATIONS public limited company Data streaming system and method
US6773349B2 (en) * 2002-07-31 2004-08-10 Intec, Inc. Video game controller with integrated video display
US7739718B1 (en) * 2002-08-23 2010-06-15 Arris Group, Inc. System and method for automatically sensing the state of a video display device
DE10253510A1 (en) * 2002-11-16 2004-05-27 Robert Bosch Gmbh Visibility improvement device in motor vehicle, has processing unit with arrangement for detecting road profile from acquired optical signal(s) and controlling signaling arrangement accordingly
JP3922194B2 (en) * 2003-03-11 2007-05-30 日産自動車株式会社 Lane departure warning device
US8630168B2 (en) * 2003-06-23 2014-01-14 Intel Corporation Adaptive use of a transmit opportunity
KR100508746B1 (en) * 2003-07-23 2005-08-17 삼성전자주식회사 analog front end circuits and method for calibrating DC off-set thereof
KR100570830B1 (en) * 2003-07-29 2006-04-12 삼성전자주식회사 method for medium access in wireless local area network system based on carrier sense multiple access with collision avoidance and apparatus thereof
US7184721B2 (en) * 2003-10-06 2007-02-27 Texas Instruments Incorporated Transmit power control in a wireless communication device
US7308341B2 (en) * 2003-10-14 2007-12-11 Donnelly Corporation Vehicle communication system
US7561966B2 (en) * 2003-12-17 2009-07-14 Denso Corporation Vehicle information display system
US7697608B2 (en) * 2004-02-03 2010-04-13 Sony Corporation Scalable MPEG video/macro block rate control
JP3898709B2 (en) * 2004-05-19 2007-03-28 本田技研工業株式会社 Vehicle lane marking recognition device
JP5008556B2 (en) * 2004-06-03 2012-08-22 メイキング バーチャル ソリッド,エル.エル.シー. Navigation navigation display method and apparatus using head-up display
DE102004036566A1 (en) * 2004-07-28 2006-03-23 Robert Bosch Gmbh Night vision device
US7929968B2 (en) * 2004-10-15 2011-04-19 Meshnetworks, Inc. System and method to facilitate inter-frequency handoff of mobile terminals in a wireless communication network
US7787416B2 (en) * 2004-11-18 2010-08-31 Gidwani Sanjay M Wireless network having real-time channel allocation
US7349349B2 (en) * 2004-11-23 2008-03-25 International Business Machines Corporation Method and system for efficient and reliable MAC-layer multicast wireless transmissions
WO2006115673A1 (en) * 2005-04-22 2006-11-02 Olympus Communication Technology Of America, Inc. Defragmentation of communication channel allocations
JP4882285B2 (en) * 2005-06-15 2012-02-22 株式会社デンソー Vehicle travel support device
ITMN20050049A1 (en) * 2005-07-18 2007-01-19 Balzanelli Sonia VISUAL DEVICE FOR VEHICLES IN DIFFICULT CLIMATE-ENVIRONMENTAL CONDITIONS
DE102005033641A1 (en) * 2005-07-19 2007-01-25 Robert Bosch Gmbh display device
DE102005046672A1 (en) * 2005-09-29 2007-04-05 Robert Bosch Gmbh Night vision device for motor vehicle, has navigating device, steering angle sensor, rotating rate sensor and radar sensor that are utilized such that roadway on which vehicle is to be driven is determined and is shown in display unit
US7719483B2 (en) * 2005-10-13 2010-05-18 Honeywell International Inc. Synthetic vision final approach terrain fading
JP4638370B2 (en) * 2006-03-29 2011-02-23 富士重工業株式会社 Lane departure prevention device
US8780717B2 (en) * 2006-09-21 2014-07-15 General Instrument Corporation Video quality of service management and constrained fidelity constant bit rate video encoding systems and method
US7652993B2 (en) * 2006-11-03 2010-01-26 Sharp Laboratories Of America, Inc. Multi-stream pro-active rate adaptation for robust video transmission
US8630355B2 (en) * 2006-12-22 2014-01-14 Qualcomm Incorporated Multimedia data reorganization between base layer and enhancement layer
US7889756B2 (en) * 2006-12-29 2011-02-15 Nokia Corporation Apparatus, methods and computer program products providing temporary link quality modification for multiradio control
US7936489B2 (en) * 2007-02-09 2011-05-03 GM Global Technology Operations LLC Holographic information display
US20080246595A1 (en) * 2007-04-03 2008-10-09 Daniel William Sanders Lane guide for motor vehicles
US7853229B2 (en) * 2007-08-08 2010-12-14 Analog Devices, Inc. Methods and apparatus for calibration of automatic gain control in broadcast tuners
JP2009055542A (en) * 2007-08-29 2009-03-12 Toshiba Corp Moving image encoder and moving image encoding method
US7873020B2 (en) * 2007-10-01 2011-01-18 Cisco Technology, Inc. CAPWAP/LWAPP multicast flood control for roaming clients
JP2009126249A (en) * 2007-11-20 2009-06-11 Honda Motor Co Ltd Vehicular information display device
KR101211432B1 (en) 2007-12-27 2012-12-12 보드 오브 트러스티즈 오브 미시건 스테이트 유니버시티 Method for estimating channel capacity and tuning coding rate for adaptive video transmission, and video transmission/receiving apparatus using them
US8483270B2 (en) * 2008-01-17 2013-07-09 Ballistic Applications And Materials International, Llc Method and system for adapting use of a radio link between a remotely controlled device and an operator control unit
US8681709B2 (en) * 2008-03-27 2014-03-25 At&T Mobility Ii Llc Dynamic allocation of communications resources
US8005102B2 (en) * 2008-03-31 2011-08-23 Futurewei Technologies, Inc. System and method for scheduling variable bit rate (VBR) streams in a wireless communications system
KR101196792B1 (en) * 2008-12-03 2012-11-05 노키아 코포레이션 Switching between DCT coefficient coding modes
US8269652B2 (en) * 2009-04-02 2012-09-18 GM Global Technology Operations LLC Vehicle-to-vehicle communicator on full-windshield head-up display
US8704653B2 (en) * 2009-04-02 2014-04-22 GM Global Technology Operations LLC Enhanced road vision on full windshield head-up display
US8395529B2 (en) * 2009-04-02 2013-03-12 GM Global Technology Operations LLC Traffic infrastructure indicator on head-up display
US8164543B2 (en) * 2009-05-18 2012-04-24 GM Global Technology Operations LLC Night vision on full windshield head-up display
US20100296579A1 (en) * 2009-05-22 2010-11-25 Qualcomm Incorporated Adaptive picture type decision for video coding
US8730884B2 (en) * 2009-10-20 2014-05-20 Electronics And Telecommunications Research Institute Method for managing resources in high capacity wireless communication system
US8687546B2 (en) * 2009-12-28 2014-04-01 Intel Corporation Efficient uplink SDMA operation
US8737255B2 (en) * 2010-03-08 2014-05-27 Telefonaktiebolaget L M Ericsson (Publ) Methods and arrangements for redistributing resources for use in a radio communication system
US20110301813A1 (en) * 2010-06-07 2011-12-08 Denso International America, Inc. Customizable virtual lane mark display
US8351331B2 (en) * 2010-06-22 2013-01-08 Microsoft Corporation Resource allocation framework for wireless/wired networks
US20120236931A1 (en) * 2010-12-23 2012-09-20 Qualcomm Incorporated Transform coefficient scan
US9057874B2 (en) * 2010-12-30 2015-06-16 GM Global Technology Operations LLC Virtual cursor for road scene object selection on full windshield head-up display
US20120236115A1 (en) * 2011-03-14 2012-09-20 Qualcomm Incorporated Post-filtering in full resolution frame-compatible stereoscopic video coding
US20120309321A1 (en) * 2011-05-31 2012-12-06 Broadcom Corporation Synchronized calibration for wireless communication devices

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6310857B1 (en) * 1997-06-16 2001-10-30 At&T Corp. Method and apparatus for smoothing and multiplexing video data flows
US6990113B1 (en) * 2000-09-08 2006-01-24 Mitsubishi Electric Research Labs., Inc. Adaptive-weighted packet scheduler for supporting premium service in a communications network
US20050213502A1 (en) * 2004-03-26 2005-09-29 Stmicroelectronics S.R.I. Method and system for controlling operation of a network, such as a WLAN, related network and computer program product therefor
US20060050970A1 (en) * 2004-09-08 2006-03-09 Sony Corporation Method and apparatus for transmitting a coded video signal
US20060095944A1 (en) * 2004-10-30 2006-05-04 Demircin Mehmet U Sender-side bandwidth estimation for video transmission with receiver packet buffer
US20080095247A1 (en) * 2004-11-17 2008-04-24 Michihiro Ohno Transmitter, Receiver And Communication System
US20060209892A1 (en) * 2005-03-15 2006-09-21 Radiospire Networks, Inc. System, method and apparatus for wirelessly providing a display data channel between a generalized content source and a generalized content sink
US20090122808A1 (en) * 2005-06-06 2009-05-14 Mobidia, Inc. System And Method Of Scheduling Delivery Of Packets
US20070091815A1 (en) * 2005-10-21 2007-04-26 Peerapol Tinnakornsrisuphap Methods and systems for adaptive encoding of real-time information in packet-switched wireless communication systems
US20070097257A1 (en) * 2005-10-27 2007-05-03 El-Maleh Khaled H Video source rate control for video telephony
US20080175147A1 (en) * 2007-01-18 2008-07-24 Nokia Corporation Admission control for packet connections
US20100098047A1 (en) * 2008-10-21 2010-04-22 Tzero Technologies, Inc. Setting a data rate of encoded data of a transmitter

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130336204A1 (en) * 2012-06-13 2013-12-19 Jen-Chieh Huang Control method for adjusting queuing data volumn of wireless communications device by detecting data transfer speed at physical layer and related control module and machine-readable medium thereof
US20140126626A1 (en) * 2012-11-06 2014-05-08 Ittiam System (P) Ltd. Method for media rate control in a video encoding system
US9549189B2 (en) * 2012-11-06 2017-01-17 Ittiam Systems (P) Ltd. Method for media rate control in a video encoding system
GB2575383A (en) * 2013-04-26 2020-01-08 Cisco Tech Inc Selection of radio bearers for scheduling in a mobile communications network
GB2575383B (en) * 2013-04-26 2020-04-15 Cisco Tech Inc Selection of radio bearers for scheduling in a mobile communications network
US10285215B2 (en) * 2016-10-21 2019-05-07 International Business Machines Corporation Dynamic quality of service (QoS) based channel in wireless network
US11310860B2 (en) 2016-10-21 2022-04-19 International Business Machines Corporation Dynamic quality of service (QOS) based channel in wireless network
US11936704B2 (en) 2018-10-05 2024-03-19 Interdigital Madison Patent Holdings, Sas Method to be implemented at a device able to run one adaptive streaming session, and corresponding device
US20220224747A1 (en) * 2021-01-12 2022-07-14 Yamaha Corporation Signal processing method and signal processing apparatus
US11711416B2 (en) * 2021-01-12 2023-07-25 Yamaha Corporation Signal processing method and signal processing apparatus

Also Published As

Publication number Publication date
US20120307814A1 (en) 2012-12-06
US20120307747A1 (en) 2012-12-06
US20120307884A1 (en) 2012-12-06
US9295076B2 (en) 2016-03-22
US20120307806A1 (en) 2012-12-06
US9807784B2 (en) 2017-10-31
US20120309321A1 (en) 2012-12-06
US20120307746A1 (en) 2012-12-06
US20120310531A1 (en) 2012-12-06
US8831091B2 (en) 2014-09-09
US8730930B2 (en) 2014-05-20
US9049736B2 (en) 2015-06-02
US20150327266A1 (en) 2015-11-12

Similar Documents

Publication Publication Date Title
US20120307885A1 (en) Channel Condition Prediction Employing Transmit Queuing Model
US20120307886A1 (en) Adaptive Video Encoding Based on Predicted Wireless Channel Conditions
US20120311173A1 (en) Dynamic Wireless Channel Selection And Protocol Control For Streaming Media
CN101222296B (en) Self-adapting transmission method and system in ascending honeycomb video communication
EP1938610B1 (en) Method and apparatus for adaptive encoding of real-time information in wireless networks
US8893198B2 (en) Systems and methods for prioritization of data for intelligent discard in a communication network
CA2786200C (en) Systems and methods for prioritization of data for intelligent discard in a communication network
EP2164205B1 (en) Packet relay method and device
CN101990087A (en) Wireless video monitoring system and method for dynamically regulating code stream according to network state
GB2498992A (en) Transmission of encoded image slices over plural assigned channels
KR101482484B1 (en) A video packet scheduling method for multimedia streaming
Koo et al. MARC: Adaptive Rate Control scheme for improving the QoE of streaming services in mobile broadband networks
KR100851918B1 (en) Network-adaptive Data Transmission Method, Data Transmission System, Data Sender, and Data Receiver Therefor
Chen et al. Multi-stages hybrid ARQ with conditional frame skipping and reference frame selecting scheme for real-time video transport over wireless LAN
Chen et al. Robust video streaming over wireless LANs using multiple description transcoding and prioritized retransmission
Ferre et al. Distortion-based link adaptation for wireless video transmission
Wu et al. Adaptive source-FEC coding for energy-efficient surveillance video over wireless networks
Baik et al. Efficient MAC for real-time video streaming over wireless LAN
Al-Suhail et al. Error-resilience of TCP-friendly video transmission over wireless channel
Mobasher et al. Cross layer image optimization (CLIO) for wireless video transmission over 802.11 ad multi-gigabit channels
Chen et al. Seamless roaming in wireless networks for video streaming
Al-Suhail et al. Mobile video streaming over heterogeneous networks
Alkafije The Effect of Band's Size on the Temporary Qualities for Transferring Video Pictures Wirelessly
Bouazizi et al. Coping with handover effects in video streaming over cellular networks
Duong et al. Adaptive GOP bit allocation to provide seamless video streaming in vertical handoff

Legal Events

Date Code Title Description
AS Assignment

Owner name: BROADCOM CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AGARWAL, PEYUSH;RAJAKARUNANAYAKE, YASANTHA N.;ALLINSON, PETER G.;SIGNING DATES FROM 20110923 TO 20110924;REEL/FRAME:026963/0649

AS Assignment

Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH CAROLINA

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:037806/0001

Effective date: 20160201

Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:037806/0001

Effective date: 20160201

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD., SINGAPORE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:041706/0001

Effective date: 20170120

Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:041706/0001

Effective date: 20170120

AS Assignment

Owner name: BROADCOM CORPORATION, CALIFORNIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:041712/0001

Effective date: 20170119