USRE39955EExpiredUtility

Multiple encoder output buffer apparatus for differential coding of video information

32
Assignee: INTEL CORPPriority: Nov 30, 1993Filed: May 16, 1997Granted: Dec 25, 2007
Est. expiryNov 30, 2013(expired)· nominal 20-yr term from priority
Inventors:Andrew J. Kuzma
H04N 19/50H04N 19/61H04N 19/152H04N 21/434H04N 21/236
32
PatentIndex Score
1
Cited by
22
References
27
Claims

Abstract

Feedback is introduced between a video CODEC and the intended communications channel such that the characteristics of the channel are used to drive multiple video output buffers. These multiple output buffers share an original temporal video reference, but have different subsequent temporal video images. The communications channel interface then picks the subsequent video image buffer that best matches the current conditions experienced by it. By using a predictor of the channel performance, the video algorithm can be tuned to provide video output buffers with the best guess of how the buffers should be configured. A number of subsequent histories of an image are buffered until the receiving channel indicates it is ready to receive the next. Then the appropriate output buffer having the corresponding temporal change in the video is used to supply the next frame change information to the receiving station.

Claims

exact text as granted — not AI-modified
1. For use in a communications network having a plurality of nodes wherein a node may encode real-time information for propagating over said network, a method of processing said real-time information comprising the steps of:
 providing said node with a plurality of output buffers; 
 (a) electronically capturing said real-time information and converting it into electronic data;  
 (b) differentially encoding said electronic data using a previously stored transmit reference image as a base to produce differential data;  
 (c) storing said differential data in one of said plurality of output buffers;  
 (d) monitoring said network for access to propagate said differential data;  
 
 repeating steps (a)-(d) until said node may propagate said differential data over said network;  
 transmitting data over said network from the one of said plurality of output buffers providing a best differential data to a receiving node on said network, wherein said best differential data represents a differential data whose use in conjunction with the previously stored transmit reference image produces an image that approximates a current frame better than use of other differential data contained in said plurality of output buffers; and  
 calculating a new transmit reference image based on said best differential data and said previously stored transmit reference image.  
 
     
     
       2. An apparatus comprising:
   an encoder for producing encoded real - time information;        a transmit reference buffer for storing a current transmit reference;        compression circuitry coupled to the encoder and to the transmit reference buffer for producing compressed data based upon the current transmit reference and the encoded real - time information;        a plurality of dynamically created output buffers coupled to the compression circuitry for storing the compressed data, each dynamically created output buffer being created and configured based upon one or more characteristics of a communication channel to be used for transmitting the encoded real - time information over a network; and        a network interface coupled to the plurality of dynamically created output buffers, the network interface for interfacing with the network, for determining a selected output buffer from the plurality of dynamically created output buffers and for transmitting data over the network from the selected output buffer, the selected output buffer containing compressed data which accommodates the one or more characteristics of the network better than compressed data in at least one other buffer of the plurality of dynamically created output buffers.     
     
     
       3. The apparatus of  claim 2 , wherein the selected output buffer contains compressed data which accommodates one or more characteristics of the network better than compressed data in all other buffers of the plurality of output buffers. 
     
     
       4. An apparatus for transmitting real- time information over a network, the apparatus comprising:      an encoder for producing encoded real - time information;        a transmit reference buffer for storing a current transmit reference;        compression circuitry coupled to the encoder and to the transmit reference buffer for producing compressed data based upon the current transmit reference and the encoded real - time information; and        a plurality of dynamically created output buffers coupled to the compression circuitry for buffering the compressed data, each of the plurality of dynamically created output buffers having contents and being created and configured based upon one or more characteristics of a communication channel to be used for transmitting the encoded real - time information over a network, the contents of a selected output buffer of the plurality of dynamically created output buffers to be transmitted onto a data communications channel of the network based upon the one or more characteristics of the data communications channel.     
     
     
       5. The apparatus of  claim 4  further comprising a network interface coupled to the plurality of output buffers, the network interface for interfacing with the network, the network interface determining the selected output buffer and transmitting data over the network from the selected output buffer. 
     
     
       6. The apparatus of  claim 5 , wherein the selected output buffer contains compressed data which, when used in conjunction with the current transmit reference, accommodates the one or more characteristics of the data communications channel better than compressed data from at least another buffer of the plurality of output buffers. 
     
     
       7. The apparatus of  claim 5 , wherein the selected output buffer contains compressed data which, when used in conjunction with the current transmit reference, accommodates the one or more characteristics of the data communications channel better than compressed data from all other buffers of the plurality of output buffers. 
     
     
       8. The apparatus of  claim 4 , wherein the compressed data comprises a differential between the encoded real- time information and the current transmit reference.   
     
     
       9. The apparatus of  claim 4 , wherein the one or more characteristics of the data communications channel include bandwidth availability on the data communications channel. 
     
     
       10. The apparatus of  claim 4 , wherein the one or more characteristics of the data communications channel include burstiness of traffic on the data communications channel. 
     
     
       11. The apparatus of  claim 4 , wherein the one or more characteristics of the data communications channel include transmission delay on the data communications channel. 
     
     
       12. The apparatus of  claim 4 , wherein the encoded real- time information includes video information.   
     
     
       13. The apparatus of  claim 4 , wherein the encoded real- time information includes audio information.   
     
     
       14. An apparatus comprising:
   an encoder for producing encoded real - time information;        a transmit reference buffer for storing a current transmit reference;        compression circuitry coupled to the encoder and to the transmit reference buffer for producing compressed data based upon the current transmit reference and the encoded real - time information;        a plurality of dynamically created output buffers coupled to the compression circuitry for storing the compressed data, each dynamically created output buffer being created and configured based upon one or more characteristics of a communication channel to be used for transmitting the encoded real - time information over a network; and        a network interface coupled to the plurality of output buffers, the network interface for selecting a selected output buffer of the plurality of output buffers by determining, with reference to one or more predetermined coding strategies, whether compressed data from the selected output buffer is appropriate for transmission to a receiving node.     
     
     
       15. The apparatus of  claim 14 , wherein the one or more predetermined coding strategies include minimizing artifacts. 
     
     
       16. The apparatus of  claim 14 , wherein the one or more predetermined coding strategies include allocating available bandwidth to achieve a higher frame rate. 
     
     
       17. The apparatus of  claim 14 , wherein each of the output buffers is dynamically created and configured in accordance with characteristics of a communication channel being used to transmit the encoded real- time information over the network.   
     
     
       18. An apparatus comprising:
   an encoder for producing encoded real - time information;        compression circuitry coupled to the encoder for producing compressed data based upon a previously stored transmit reference and the encoded real - time information;        a plurality of dynamically created output buffers coupled to the compression circuitry for storing the compressed data, each dynamically created output buffer being created and configured based upon one or more characteristics of a communication channel to be used for transmitting the encoded real - time information over a network; and        a network interface coupled to the plurality of dynamically created output buffers, the network interface transmitting compressed data from a selected output buffer of the plurality of dynamically created output buffers, the compressed data from the selected output buffer when used in conjunction with the previously stored transmit reference approximating a next frame expected by a receiving apparatus.     
     
     
       19. The apparatus of  claim 18 , wherein the selected output buffer is selected based upon current conditions of a communication channel to be used for transmitting the contents of the selected output buffer. 
     
     
       20. A method of transmitting data over a network comprising:
   encoding the data by determining the differences between the data and a transmit reference to produce differential data;        storing the differential data in a plurality of output buffers dynamically created based upon characteristics of a communication channel to be used for transmitting the differential data over the network;        selecting one of the plurality of output buffers as a current transmit buffer based upon current conditions of a communications channel in the network used to transmit the differential data; and        transmitting the differential data from the current transmit buffer over the network.     
     
     
       21. The method of  claim 20 , additionally comprising compressing the differential data prior to storing the differential data in one of the plurality of output buffers. 
     
     
       22. The method of  claim 20 , additionally comprising repeating said encoding, storing, selecting, and transmitting using the data from the current transmit buffer as the transmit reference. 
     
     
       23. A method of transmitting real- time data over a network comprising:      encoding the real - time data by determining the differences between the real - time data and a transmit reference to produce differential data;        storing the differential data in one of a plurality of output buffers, each output buffer dynamically created based upon one or more characteristics of a data communications channel of the network;        selecting one of the plurality of output buffers as a current transmit buffer by determining whether the differential data in a particular output buffer accommodates one or more characteristics of the network better than different data in at least one other output buffer of the plurality of output buffers; and        transmitting differential data from the current transmit buffer over the network.     
     
     
       24. The method of  claim 23 , additionally comprising compressing the differential data prior to storing the differential data in one of the plurality of output buffers. 
     
     
       25. The method of  claim 23 , additionally comprising repeating said encoding, storing, selecting, and transmitting using the data from the current transmit buffer as the transmit reference. 
     
     
       26. An apparatus comprising:
   an encoder for producing encoded real - time information;        compression circuitry coupled to the encoder for producing compressed data based upon a previously stored transmit reference and the encoded real - time information;        a plurality of dynamically created output buffers coupled to the compression circuitry for storing the compressed data, each buffer being configured in accordance with characteristics of a communication channel to be used for transmitting the encoded real - time information over a network; and        a network interface coupled to the plurality of output buffers, the network interface transmitting compressed data from a selected output buffer of the plurality of output buffers, the compressed data from the selected output buffer when used in conjunction with the previously stored transmit reference approximating a next frame expected by a receiving apparatus.     
     
     
       27. The method of  claim 26 , wherein said encoder produces encoded real- time information by determining the differences between the real time information and a transmit reference.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.