Dynamic rate control can be implemented in a television-based entertainment environment when forwarding coded data. Real-time information flows are encoded, transcoded, compressed, etc. into data streams that may be forwarded to other components within an apparatus or to other apparatuses across a
Dynamic rate control can be implemented in a television-based entertainment environment when forwarding coded data. Real-time information flows are encoded, transcoded, compressed, etc. into data streams that may be forwarded to other components within an apparatus or to other apparatuses across a network. In a described implementation, a bitcount accumulation of a data stream is monitored in multiple overlapping windows. The data stream is compared to a data limit in each window of the multiple overlapping windows to determine whether an expected bitcount accumulation has been exceeded. The data stream is modified responsive to the comparison(s). For example, if the bitcount accumulations in each window exceed the expected bit accumulations at the corresponding relative positions of each window, then the bit rate of the data stream can be modified by reducing bit rate consumption.
대표청구항▼
The invention claimed is: 1. A method for providing real-time rate control, comprising: tracking a current bitcount in a time window of a plurality of time windows; noting a current time in the time window; generating a window level modifier based on the current time and the current bitcount in the
The invention claimed is: 1. A method for providing real-time rate control, comprising: tracking a current bitcount in a time window of a plurality of time windows; noting a current time in the time window; generating a window level modifier based on the current time and the current bitcount in the time window; determining a new window level control parameter for the time window based on the window level modifier; repeating the actions of tracking, noting, generating, and determining for each other time window of the plurality of time windows to produce a plurality of new window level control parameters, wherein each time window of the plurality of time windows overlaps at least one other time window of the plurality of time windows; combining each new window level control parameters at a window level control parameter combiner, the window level control parameter combiner adapted to combine the new window level control parameter for each respective time window of the plurality of time windows to produce a combined window level control parameter, wherein the window level control parameter combiner is further adapted to combine the new window level control parameters for each respective time window of the plurality of time windows using an average of the new window level control parameters for each respective time window of the plurality of time windows; and calculating a top level control parameter based on the new window level control parameter and the plurality of new window level control parameters. 2. The method as recited in claim 1, wherein the action of tracking a current bitcount comprises accumulating bits from a data stream during the time window. 3. The method as recited in claim 1, wherein the action of noting a current time comprises noting a time that corresponds to the current bitcount in the time window. 4. The method as recited in claim 1, wherein the action of generating a window level modifier comprises: ascertaining a time-related ratio between the current time and a total time for a time slot that corresponds to the time window; ascertaining a bitcount-related ratio between the current bitcount and a target bitcount for a total expected bitcount accumulation that corresponds to the time window; and generating the window level modifier responsive to the time-related ratio and the bitcount-related ratio. 5. The method as recited in claim 1, wherein the action of generating a window level modifier comprises generating the window level modifier such that the window level modifier is greater the further the current bitcount is above an expected bitcount. 6. The method as recited in claim 1, wherein the action of generating a window level modifier comprises generating the window level modifier such that the window level modifier is greater the closer the current time is to a total time for a time slot that corresponds to the time window. 7. The method as recited in claim I, wherein the action of generating a window level modifier comprises generating the window level modifier such that the window level modifier is greater the closer the current bitcount is to a target bitcount of a total expected bitcount accumulation that corresponds to the time window. 8. The method as recited in claim 1, wherein the action of generating a window level modifier comprises generating the window level modifier using at least one of a zone-based mechanism or a function-based mechanism. 9. The method as recited in claim 1, wherein the action of determining a new window level control parameter comprises determining the new window level control parameter for the time window based on the window level modifier and an original window level control parameter. 10. The method as recited in claim 9, wherein the action of determining the new window level control parameter comprises adding the window level modifier to the original window level control parameter. 11. The method as recited in claim 9, wherein the action of determining the new window level control parameter comprises multiplying the window level modifier and the original window level control parameter. 12. The method as recited in claim 1, wherein the action of determining a new window level control parameter comprises determining the new window level control parameter responsive to a group of pictures (GOP)-related parameter. 13. The method as recited in claim 1, wherein the action of determining a new window level control parameter comprises determining the new window level control parameter responsive to at least one of a macroblock type or a frame type. 14. The method as recited in claim 1, wherein the new window level control parameter comprises at least one of a quantization scale or a quantization matrix. 15. The method as recited in claim 14, wherein the method is used in conjunction with a Moving Pictures Expert Group (MPEG)--compliant coding/compressing technique. 16. The method as recited in claim 1, wherein the plurality of time windows comprise "n" total time windows, and the actions of tracking, noting, generating, and determining are repeated "n-1" times in the action of repeating; and wherein the plurality of time windows are arranged such that each subsequent time window overlaps a previous time window by an "(n-1)/n" portion of a time window length. 17. The method as recited in claim 1, wherein the action of calculating a top level control parameter comprises calculating the top level control parameter based on the new window level control parameter, the plurality of new window level control parameters, and a plurality of previous top level control parameters. 18. The method as recited in claim 1, wherein the action of calculating a top level control parameter comprises calculating the top level control parameter responsive to a combination of the new window level control parameter and the plurality of new window level control parameters. 19. The method as recited in claim 18, wherein the action of calculating a top level control parameter further comprises calculating the top level control parameter based on the combination and a plurality of previous top level control parameters. 20. The method as recited in claim 18, wherein the action of calculating a top level control parameter further comprises calculating the top level control parameter based on the combination, a plurality of previous top level control parameters, and at least one weighting coefficient for each of the combination and the plurality of previous top level control parameters. 21. The method as recited in claim 20, wherein the at least one weighting coefficient for each of the combination and the plurality of previous top level control parameters may be selected so as to control a speed at which a data stream bit rate is changed. 22. The method as recited in claim 1, further comprising: forwarding a data stream as modified by the top level control parameter. 23. The method as recited in claim 22, wherein the action of forwarding a data stream comprises transmitting the data stream over a network. 24. The method as recited in claim 22, wherein the action of forwarding a data stream comprises writing the data stream to memory storage. 25. The method as recited in claim 1, wherein the method is performed by a headend of a television-based entertainment system. 26. The method as recited in claim 1, wherein the method is performed by a client device of a television-based entertainment system. 27. One or more electronically-accessible storage media comprising electronically-executable instructions that, when executed by at least one processor, direct an electronic apparatus to perform the method as recited in claim 1. 28. An apparatus, comprising: a time and bitcount monitor, the time and bitcount monitor adapted to monitor a current time and a current bitcount in each time window of a plurality of time windows, each time window of the plurality of time windows overlapping each other time window of the plurality of time windows; a window level modifier generator, the window level modifier generator receiving the current time and the current bitcount for each time window from the time and bitcount monitor, the window level modifier generator adapted to generate a window level modifier for each time window based on the current time and the current bitcount for each respective time window; a window level control parameter determiner, the window level control parameter determiner receiving the window level modifier for each time window from the window level modifier generator, the window level control parameter determiner adapted to determine a new window level control parameter for each time window based on the window level modifier for each respective time window; a window level control parameter combiner, the window level control parameter combiner receiving the new window level control parameter for each time window from the window level control parameter determiner, the window level control parameter combiner adapted to combine the new window level control parameter for each respective time window of the plurality of time windows to produce a combined window level control parameter; a top level control parameter history storage, the top level control parameter history storage storing a plurality of previous top level control parameters; a top level control parameter calculator1 the top level control parameter calculator receiving the plurality of previous top level control parameters from the top level control parameter history storage and the combined window level control parameter from the window level control parameter combiner, the top level control parameter calculator adapted to calculate a top level control parameter based on the combined window level control parameter and the plurality of previous top level control; and wherein the window level control parameter combiner is further adapted to combine the new window level control parameters for each respective time window of the plurality of time windows using an average of the new window level control parameters for each respective time window of the plurality of time windows. 29. The apparatus as recited in claim 28, wherein the apparatus comprises a dynamic rate control unit. 30. The apparatus as recited in claim 28, wherein the apparatus comprises a headend of a television-based entertainment environment. 31. The apparatus as recited in claim 28, wherein the apparatus comprises a dent device of a television-based entertainment environment. 32. The apparatus as recited in claim 31, wherein the apparatus further comprises at least one of a local network output or a memory storage. 33. The apparatus as recited in claim 32, wherein the apparatus is adapted to forward a data stream that is modified by the top level control parameter to at least one of the local network output or the memory storage. 34. The apparatus as recited in claim 28, wherein the new window level control parameter comprises at least one of a quantization scale or a quantization matrix of a Moving Pictures Expert Group (MPEG)-compliant coding/compressing technique. 35. The apparatus as recited in claim 28, further comprising computer-accessible memory; wherein the time and bitcount monitor, the window level modifier generator, the window level control parameter determiner, the window level control parameter combiner, and the top level control parameter calculator are comprised at least partially of computer-executable instructions that are stored on the computer-accessible memory. 36. The apparatus as recited in claim 28, wherein the time and bitcount monitor, the window level modifier generator, the window level control parameter determiner, the window level control parameter combiner, and the top level control parameter calculator are comprised at least partially of at least one discrete integrated circuit. 37. The apparatus as recited in claim 28, wherein the time and bitcount monitor is adapted to monitor the current time and the current bitcount in each time window of the plurality of time windows in conjunction with monitoring an absolute time and a total bitcount accumulation that are associated with a data stream. 38. The apparatus as recited in claim 28, wherein the window level modifier generator is further adapted to generate the window level modifier for each time window relative to a time slot length and a target bitcount accumulation associated with each respective time window. 39. The apparatus as recited in claim 28, wherein the window level control parameter determiner is further adapted to determine the new window level control parameter based on at least one of a sum or a product determined responsive to the window level modifier and a previous window level control parameter for each respective time window. 40. An apparatus, comprising: a time and bitcount monitor, the time and bitcount monitor adapted to monitor a current time and a current bitcount in each time window of a plurality of time windows, each time window of the plurality of time windows overlapping each other time window of the plurality of time windows; a window level modifier generator, the window level modifier generator receiving the current time and the current bitcount for each time window from the time and bitcount monitor, the window level modifier generator adapted to generate a window level modifier for each time window based on the current time and the current bitcount for each respective time window; a window level control parameter determiner, the window level control parameter determiner receiving the window level modifier for each time window from the window level modifier generator, the window level control parameter determiner adapted to determine a new window level control parameter for each time window based on the window level modifier for each respective time window; a window level control parameter combiner, the window level control parameter combiner receiving the new window level control parameter for each time window from the window level control parameter determiner, the window level control parameter combiner adapted to combine the new window level control parameter for each respective time window of the plurality of time windows to produce a combined window level control parameter; a top level control parameter history storage, the top level control parameter history storage storing a plurality of previous top level control parameters; and a top level control parameter calculator, the top level control parameter calculator receiving the plurality of previous top level control parameters from the top level control parameter history storage and the combined window level control parameter from the window level control parameter combiner, the top level control parameter calculator adapted to calculate a top level control parameter based on the combined window level control parameter and the plurality of previous top level control parameters; wherein the top level control parameter calculator is further adapted to calculate the top level control parameter responsive to an autoregressive model in which the combined window level control parameter is weighted versus the plurality of previous top level control parameters. 41. A client device for a television-based entertainment system, the client device comprising: one or more processors; and one or more memories in operative communication with the one or more processors, the one or more memories storing process or executable instructions that, when executed, cause the one or more processors to perform actions comprising: monitoring a current bitcount of an associated data stream in each time window of a plurality of time windows, each time window of the plurality of time windows overlapping at least one other time window of the plurality of time windows; generating a window level modifier for each time window based on the respective current bitcount for each time window and a respective current time for each time window that corresponds to the respective current bitcount; determining a window level control parameter for each time window based on the respective window level modifier for each time window; combining each window level control parameter for each time window of the plurality of time windows to produce a combined window level control parameter, wherein combining the new window level control parameters for each respective time window of the plurality of time windows uses an average of the determined window level control parameters for each respective time window of the plurality of time windows; and modifying a quantization of the data stream based on the combined window level control parameter. 42. The client device as recited in claim 41, wherein the client device comprises a set-top box. 43. The client device as recited in claim 41, further comprising: a memory storage in operative communication with the one or more processors; wherein the processor-executable instructions that are stored by the one or more memories cause, when executed, the one or more processors to perform actions further comprising: forwarding the data stream to the memory storage for storage thereat. 44. The client device as recited in claim 41, further comprising: a local output component in operative communication with the one or more processors; wherein the processor-executable instructions that are stored by the one or more memories cause, when executed, the one or more processors to perform actions further comprising: forwarding the data stream to the local output component for outputting therefrom over a local network. 45. The client device as recited in claim 41, wherein the action of modifying a quantization of the data stream based on the combined window level control parameter comprises the action of modifying the quantization of the data stream based on the combined window level control parameter and at least one previous top level control parameter. 46. The client device as recited in claim 41, wherein the associated data stream of the monitoring action is already encoded and the data stream of the modifying action is transcoded. 47. The client device as recited in claim 41, wherein the associated data stream of the monitoring action is not encoded and the data stream of the modifying action is encoded. 48. A method for providing real-time rate control, comprising: tracking a current bitcount in a time window of a plurality of time windows; noting a current time in the time window; generating a window level modifier based on the current time and the current bitcount in the time window; determining a new window level control parameter for the time window based on the window level modifier; repeating the actions of tracking, noting, generating, and determining for each other time window of the plurality of time windows to produce a plurality of new window level control parameters; combining the plurality of new window level control parameters to produce a combined window level control parameter; calculating a top level control parameter based on the new window level control parameter and the plurality of new window level control parameters, wherein the top level control parameter is calculated responsive to an autoregressive model in which the combined window level control parameter is weighted versus a plurality of previous top level control parameters stored in a top level control parameter history storage; wherein each time window of the plurality of time windows overlaps at least one other time window of the plurality of time windows.
Boroczky Lilla ; Gebler Charlene Ann ; Kaczmarczyk John M. ; Westermann Edward F. ; Woodard Robert L., Adaptive real-time encoding of video sequence employing image statistics.
Allebach Jan P. (1721 Woodland Ave. West Lafayette IN 47906) Wong Ping Wah (1443 Knowlton Dr. Sunnyvale CA 94087), Magnifying digital image using mapping.
Biro Larry Louis ; Reilly Matthew Howard ; Adiletta Matthew James ; Wheeler William R., Method and apparatus for interleaving and de-interleaving YUV pixel data.
Fitzgerald, John Francis; Kamitses, James Gerald; Stewart, Glenn William, Method and apparatus for multimedia conferencing with dynamic bandwidth allocation.
MacInnis, Alexander G.; Hsiun, Vivian; Zhong, Sheng; Xie, Xiaodong; So, Kimming; Alvarez, Jose′ R., Method of communicating between modules in a decoding system.
Linzer Elliot Neil (Bronx NY) Peterson Heidi Aarlien (New York NY) Viscito Eric (San Francisco CA), Motion video compression system with guaranteed bit production limits.
Ito Teruaki,JPX ; Yasoda Gyota,JPX, System for delivering compressed stored video data by adjusting the transfer bit rate to compensate for high network load.
Cheung Sen-ching S. ; Drizen David ; Haskell Paul E., Video postfiltering with motion-compensated temporal filtering and/or spatial-adaptive filtering.
Anderson, Jon James; Steele, Brian; Wiley, George Alan; Shekhar, Shashank, Determining a pre skew and post skew calibration data rate in a mobile display digital interface (MDDI) communication system.
Anderson, Jon James; Steele, Brian; Wiley, George Alan; Shekhar, Shashank, Generating and implementing a signal protocol and interface for higher data rates.
Anderson, Jon James; Steele, Brian; Wiley, George Alan; Shekhar, Shashank, Generating and implementing a signal protocol and interface for higher data rates.
Anderson, Jon James; Steele, Brian; Wiley, George Alan; Shekhar, Shashank, Generating and implementing a signal protocol and interface for higher data rates.
Zou, Qiuzhen; Wiley, George A.; Steele, Brian, Method and apparatus for compensating for mismatched delays in signals of a mobile display interface (MDDI) system.
Perlman, Stephen G.; van der Laan, Roger, Method of combining linear content and interactive content compressed together as streaming interactive video.
Anderson, Jon James; Steele, Brian; Wiley, George Alan; Shekhar, Shashank, Method, system and computer program for adding a field to a client capability packet sent from a client to a host.
Anderson, Jon James; Steele, Brian; Wiley, George Alan; Shekhar, Shashank, Method, system and computer program for driving a data signal in data interface communication data link.
Forsman, Bob; Dasher, Charles; Phillips, Chris; Reynolds, Jennifer; Martin, Steve, Methods and apparatus for managing network resources used by multimedia streams in a virtual pipe.
Forsman, Robert Hammond; Phillips, Chris; Reynolds, Jennifer Ann; Martin, Steve; Dasher, Charles Hammett, Methods and apparatus for managing network resources used by multimedia streams in a virtual pipe.
Zou, Qiuzhen; Wiley, George Alan; Steele, Brian, Power reduction system for an apparatus for high data rate signal transfer using a communication protocol.
Perlman, Stephen G.; van der Laan, Roger; Cotter, Timothy; Furman, Scott; McCool, Robert; Buckley, Ian, System and method for accelerated machine switching.
Perlman, Stephen G.; van der Laan, Roger; Cotter, Timothy; Furman, Scott; McCool, Robert; Buckley, Ian, System and method for compressing video based on latency measurements and other feedback.
van der Laan, Roger; Perlman, Stephen G., System and method for compressing video by allocating bits to image tiles based on detected intraframe motion or scene complexity.
Perlman, Stephen G.; van der Laan, Roger; Cotter, Timothy; Furman, Scott; McCool, Robert; Buckley, Ian, System and method for compressing video frames or portions thereof based on feedback information from a client device.
Perlman, Stephen G.; van der Laan, Roger; Cotter, Timothy; Furman, Scott; McCool, Robert; Buckley, Ian, System and method for multi-stream video compression.
Perlman, Stephen G.; van der Laan, Roger; Cotter, Timothy; Furman, Scott; McCool, Robert; Buckley, Ian, System and method for multi-stream video compression using multiple encoding formats.
Perlman, Stephen G.; van der Laan, Roger; Cotter, Timothy; Furman, Scott; McCool, Rob; Buckley, Ian, System and method for selecting a video encoding format based on feedback data.
Perlman, Stephen G.; van der Laan, Roger; Cotter, Timothy; Furman, Scott; McCool, Robert; Buckley, Ian, System and method for selecting a video encoding format based on feedback data.
Perlman, Stephen G.; van der Laan, Roger; Cotter, Timothy; Furman, Scott; McCool, Robert; Buckley, Ian, System and method for utilizing forward error correction with video compression.
Perlman, Stephen G.; van der Laan, Roger; Cotter, Timothy; Furman, Scott; McCool, Robert; Buckley, Ian, System and method for video compression using feedback including data related to the successful receipt of video content.
Zou, Qiuzhen; Wiley, George Alan; Steele, Brian, System for transferring digital data at a high rate between a host and a client over a communication path for presentation to a user.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.