Method and apparatus for modifying a data rate of a video signal

Information

  • Patent Application
  • 20080072267
  • Publication Number
    20080072267
  • Date Filed
    July 25, 2007
    17 years ago
  • Date Published
    March 20, 2008
    16 years ago
Abstract
Methods, apparatus, and systems for modifying the data rate of a video signal are provided. A compressed video signal is received. A closed-loop transrating path for modifying a data rate of the video signal and an open-loop transrating path for modifying the data rate of the video signal are provided. One of the open-loop transrating path or the closed-loop transrating path is selected for modifying the data rate of at least a portion of the video signal. Pixel quantization error control may be provided in the closed loop transrating path.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will hereinafter be described in conjunction with the appended drawing figures, wherein like reference numerals denote like elements, and:



FIG. 1 shows a block diagram of a prior art open-loop transrater;



FIG. 2 shows a block diagram of a prior art closed-loop transrater with error control;



FIG. 3 shows a block diagram of an example embodiment of a hybrid transrating system in accordance with the present invention; and



FIG. 4 shows a block diagram of a further example embodiment of a hybrid transrating system in accordance with the present invention.





DETAILED DESCRIPTION

The ensuing detailed description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the invention. Rather, the ensuing detailed description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an embodiment of the invention. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the invention as set forth in the appended claims.



FIG. 3 shows a block diagram of an example embodiment of a hybrid system 60 for modifying the data rate of a video signal in accordance with the present invention. In the example embodiment shown in FIG. 3, a compressed video signal is received at demultiplexer (DMUX) 62. A closed-loop transrating path 64 for modifying a data rate of the video signal and an open-loop transrating path 66 for modifying the data rate of the video signal are provided. One of the open-loop transrating path or the closed-loop transrating path is selected for modifying the data rate of at least a portion of a video signal. For example, frames or packets of a video signal may be received at DMUX 62 and routed to the appropriate transrating path 64 or 66 according to information provided in the packet header. The task of assigning frames or packets corresponding to a plurality of video signals may be provided by a CPU normally associated with a video processor as is known in the art, so a software adjustment is all that is needed to establish or change the routing of frames or packets. The transrated packets can then be multiplexed together at multiplexer (MUX) 63.


Pixel quantization error control may be provided in the closed loop transrating path 64. The pixel quantization error control may comprise: obtaining errors from quantization of transform coefficients of incoming pixels of the video signal in the form of error transform coefficients. For example, the quantization errors introduced by the transrating process (in particular by the quantization (Q) module 46) are provided at the output of adder 52 as a result of subtracting the transform coefficients obtained from IQ module 51 from the transform coefficients obtained from adder 58. Blocks of transform coefficients from adder 52 are then converted back to the pixel domain by performing an inverse transformation process on the error transform coefficients at inverse transform (IT) module 67. These pixel errors may be stored in DRAM 55 (under the control of DRAM controller 54) and then retrieved during modification of the data rate of associated pixels. A transformation process may be performed on the pixel errors at transformation (T) module 61 to provide error correction transform coefficients. The error correction transform coefficients may be added at adder 58 to scaled transform coefficients obtained from inverse quantization of the associated pixels at IQ module 44 in order to prevent accumulation of requantization artifacts during the quantization of the scaled transform coefficients at the Q module 46.


It should be appreciated that the transformation process performed at T module 61 may be a discrete cosine transformation process (DCT) or any other transformation process that may be used with newer codecs, such as H.264. Similarly, the inverse transformation process performed at IT module 67 may be an inverse discrete cosine transformation process (IDCT) or any other transformation process that may be used with newer codecs, such as H.264.


The closed-loop transrating path 64 may be selected for modifying the data rate of I-frames and P-frames of a video signal. The open-loop transrating path 66 may be selected for modifying the data rate of B-frames of the video signal.


The closed-loop transrating path 64 and the open loop transrating path 66 may be operable simultaneously. For example, the closed-loop transrating path 64 may be selected for modifying the data rate of I-frames and P-frames of a particular video signal and at the same time the open-loop transrating path 66 may be selected for modifying the data rate of B-frames corresponding to a different video signal.


In some instances, both the open-loop transrating path 66 and the closed loop transrating path 64 may be available for processing I-frames and P-frames of a video signals in the event that the closed-loop transrating path 64 becomes oversubscribed and there is available processing bandwidth for I- and P-frames in the open-loop transrating path 66. Similarly, both of the open-loop transrating path 66 and the closed loop transrating path 64 may be available for processing B-frames of a video signals in the event that the open-loop transrating path 66 becomes oversubscribed and there is available processing bandwidth for B-frames in the closed-loop transrating path 64. One or more additional open-loop transrating path may be provided for modifying the data rate of the video signals, as discussed below in connection with FIG. 4. The two open-loop transrating paths and the closed-loop transrating path may be operable simultaneously. Those skilled in the art will appreciate that additional open- or closed-loop transrating paths may be provided, as desired, for increasing the throughput of the system.


The open-loop transrating path 66 may comprise: variable length decoding of the video signal at VLD module 42 to provide quantized transform coefficients; performing an inverse quantization operation on the transform coefficients at IQ module 44 to scale the transform coefficients; performing a quantization operation on the scaled transform coefficients at Q module 46 to re-scale the transform coefficients to achieve a desired data rate; and variable length encoding of the re-scaled transform coefficients at VLE module 48 to provide a video signal at the desired data rate.


The closed-loop transrating path may comprise: variable length decoding of a video signal at VLD module 42 to provide quantized transform coefficients; performing an inverse quantization operation on the transform coefficients at IQ module 44 to scale the transform coefficients; performing a quantization operation on the scaled transform coefficients at Q module 46 to re-scale the transform coefficients to achieve a desired data rate; variable length encoding of the re-scaled transform coefficients at VLE module 48 to provide a video signal at the desired data rate; obtaining errors from the quantization operation at Q module 46 in the form of error transform coefficients (provided as output from adder 52 as discussed above); performing an inverse transformation process on the error transform coefficients at IT module 67 to provide pixel errors in the pixel domain; storing the pixel errors in DRAM 55; retrieving the stored pixel errors when performing a motion compensation operation on associated pixels at MC module 56; performing a transformation process on the motion compensated pixel errors at T module 61 to provide error correction transform coefficients; and adding at adder 58 the error correction transform coefficients to the scaled transform coefficients obtained from the inverse quantization of the associated pixels (at IQ module 44) in order to prevent accumulation of requantization artifacts during the quantization operation on the scaled transform coefficients at Q module 46.



FIG. 4 is a block diagram of a further example embodiment of the present invention, in which the system 60 of FIG. 3 is modified to have an additional open-loop transrating path 68 for modifying the data rate of the video signal. In the system 70 of FIG. 4, the additional open-loop transrating path provides the same functionality as the open-loop transrating path 66 discussed above. The two open-loop transrating paths 66 and 68 and the closed-loop transrating path 64 may be operable simultaneously. Those skilled in the art will appreciate that additional open- or closed-loop transrating paths may be provided, as desired, in order to increase the processing speed of the system. For example, a plurality of open-loop and closed loop transrating paths may be provided for modifying the data rate of multiple video signals. The plurality of open-loop and closed-loop transrating paths may be operable simultaneously.


The full cost and performance advantages of the hybrid transrating systems 60 and 70 shown in FIGS. 3 and 4, respectively, are only achieved by strategically assigning the video frames to the different transrating subsystems (paths). With compression systems such as MPEG-2 and H.264, certain types of frames (i.e., an Intra-coded frame or I-frame and a Predictive coded frame or P-frame) are used to predict other frames while a third type of frame (i.e. a Bi-directionally predicted or B-frames) typically are not (although H.264 permits the use of B-frames as reference frames for prediction). The frame types also differ in the way that they are encoded. I-frames do not benefit from motion compensation and therefore are the least efficient to compress. However, for the same reason, these are the only types of frames that can be reconstructed by a decoder which is attempting to synchronize with a new stream. This initial synchronization is necessary when tuning to a new stream or when recovering from errors induced by noise in the transmission channel. For this reason, an encoder usually selects the I-frame encoding method at intervals sufficient for decoder initialization or resynchronization.


P-frames benefit from motion compensation using motion predictors referenced to preceding frames. Both I- and P-frames can serve as reference frames when motion compensation is used for the prediction of other frames. As a result, any error that is introduced into an I- or P-frame could become magnified each time the affected region of the reference frame is accessed. The closed-loop transrating process of subsystem 64 prevents this accumulation of errors, and for this reason it is advantageous to select the closed loop transrating subsystem 64 for transrating of both I- and P-frames.


Typically, B-frames are used most frequently since they benefit from multiple motion compensated predictors referenced to I- or P-frames, either in the forward or backward directions. Since these frames typically are not used to predict other pictures, drift correction becomes less important and the reduced compression efficiency due to correction could even out-weigh any advantage resulting from the reduced drift within a single image. Therefore, it is advantageous to route the B frames through one or more open loop transrating subsystems 66 or 68. Note that in the case of H.264, it makes more sense to identify the pictures which are not used as reference frames for other pictures, and to assign only these pictures to the open loop transrating subsystems 66 or 68.


Many encoders are configured to use the B-frame encoding method for 2 out of every 3 frames or pictures and this is the reason for matching 2 dedicated open-loop transraters 66 and 68 with a single closed-loop transrater 64 in the example embodiment of FIG. 4. However, open-loop and closed-loop subsystems could be provided in any combination. Note that B-frames are easily forwarded to the closed loop transrater 64 in cases where the open-loop systems 66 and 68 become oversubscribed. Similarly, it is possible to forward I- or P-frames to one of the open-loop transraters 66 or 68 if the closed-loop transrater 64 becomes oversubscribed. However, the benefits of drift compensation will not be realized during such periods.


Advantageously, the embodiments of the hybrid transrating system of the present invention discussed above can be easily modified to support insertion of overlay content into a video signal, as discussed in a commonly-owned co-pending U.S. patent application entitled Methods, Apparatus, and Systems for Insertion of Overlay Content Into a Video Signal With Transrating Capabilities, filed simultaneously herewith.


It should now be appreciated that the present invention provides advantageous methods, apparatus, and systems for modifying the data rate of a video stream.


Although the invention has been described in connection with various illustrated embodiments, numerous modifications and adaptations may be made thereto without departing from the spirit and scope of the invention as set forth in the claims.

Claims
  • 1. A method for modifying a data rate of a video signal, comprising: receiving a compressed video signal;providing a closed-loop transrating path for modifying a data rate of the video signal;providing an open-loop transrating path for modifying the data rate of the video signal; andselecting one of said open-loop transrating path or said closed-loop transrating path for modifying the data rate of at least a portion of said video signal.
  • 2. A method in accordance with claim 1, further comprising: providing pixel quantization error control in said closed loop transrating path.
  • 3. A method in accordance with claim 2, wherein said pixel quantization error control comprises: obtaining errors from quantization of transformation coefficients of incoming pixels of the video signal in the form of error transform coefficients;performing an inverse transformation process on said error transform coefficients to provide pixel errors in the pixel domain;storing said pixel errors;retrieving said stored pixel errors during modification of said data rate of associated pixels;performing a transformation process on said pixel errors to provide error correction transform coefficients; andadding said error correction transform coefficients to scaled transform coefficients obtained from inverse quantization of said associated pixels in order to prevent accumulation of requantization artifacts during said quantization of said scaled transform coefficients.
  • 4. A method in accordance with claim 1, wherein said closed-loop transrating path is selected for modifying the data rate of I-frames and P-frames of said video signal.
  • 5. A method in accordance with claim 1, wherein said open-loop transrating path is selected for modifying the data rate of B-frames of said video signal.
  • 6. A method in accordance with claim 1, wherein said closed-loop transrating path and said open loop transrating path are operable simultaneously and are adapted to accept frames from multiple video signals.
  • 7. A method in accordance with claim 6, wherein: said closed-loop transrating path is selected for modifying the data rate of I-frames and P-frames of said video signals; andsaid open-loop transrating path is selected for modifying the data rate of B-frames of said video signals.
  • 8. A method in accordance with claim 6, wherein: both of said open-loop transrating path and said closed loop transrating path are available for processing. I-frames and P-frames of said video signals.
  • 9. A method in accordance with claim 6, wherein: both of said open-loop transrating path and said closed loop transrating path are available for processing B-frames of said video signals.
  • 10. A method in accordance with claim 1, further comprising: an additional open-loop transrating path for modifying the data rate of the video signal.
  • 11. A method in accordance with claim 10, wherein said two open-loop transrating paths and said closed-loop transrating path are operable simultaneously.
  • 12. A method in accordance with claim 1, wherein said open-loop transrating path comprises: variable length decoding of said video signal to provide quantized transform coefficients;performing an inverse quantization operation on said transform coefficients to scale said transform coefficients;performing a quantization operation on said scaled transform coefficients to re-scale said transform coefficients to achieve a desired data rate; andvariable length encoding of said re-scaled transform coefficients to provide a video signal at said desired data rate.
  • 13. A method in accordance with claim 1, wherein said closed-loop transrating path comprises: variable length decoding of said video signal to provide quantized transform coefficients;performing an inverse quantization operation on said transform coefficients to scale said transform coefficients;performing a quantization operation on said scaled transform coefficients to re-scale said transform coefficients to achieve a desired data rate;variable length encoding of said re-scaled transform coefficients to provide a video signal at said desired data rate;obtaining errors from the quantization operation in the form of error transform coefficients;performing an inverse transformation process on said error transform coefficients to provide pixel errors in the pixel domain;storing said pixel errors;retrieving said stored pixel errors when performing a motion compensation operation on associated pixels;performing a transformation process on said motion compensated pixel errors to provide error correction transform coefficients; andadding said error correction transform coefficients to said scaled transform coefficients obtained from said inverse quantization of said associated pixels in order to prevent accumulation of requantization artifacts during said quantization operation on said scaled transform coefficients.
  • 14. A method in accordance with claim 1, further comprising: providing a plurality of open-loop and closed loop transrating paths for modifying the data rate of the video signal.
  • 15. A method in accordance with claim 14, wherein said plurality of open-loop and closed-loop transrating paths are operable simultaneously.
  • 16. Apparatus for modifying a data rate of a video signal, comprising: means for receiving a compressed video signal;a closed-loop transrating path for modifying a data rate of the video signal;an open-loop transrating path for modifying the data rate of the video signal;means for selecting one of said open-loop transrating path or said closed loop transrating path for modifying the data rate of at least a portion of said video signal.
  • 17. Apparatus in accordance with claim 16, further comprising: means for providing pixel quantization error control in said closed loop transrating path.
  • 18. Apparatus in accordance with claim 17, wherein said means for providing said pixel quantization error control comprises: means for obtaining errors from quantization of transformation coefficients of incoming pixels of the video signal in the form of error transform coefficients;an inverse transform module for performing an inverse transformation process on said error transform coefficients to provide pixel errors in the pixel domain;storage means for storing said pixel errors;means for retrieving said stored pixel errors during modification of said data rate of associated pixels;a transformation module for performing a transformation process on said pixel errors to provide error correction transform coefficients; andadder means for adding said error correction transform coefficients to scaled transform coefficients obtained from inverse quantization of said associated pixels in order to prevent accumulation of requantization artifacts during said quantization of said scaled transform coefficients.
  • 19. Apparatus in accordance with claim 16, wherein said closed-loop transrating path is selected for modifying the data rate of I-frames and P-frames of said video signal.
  • 20. Apparatus in accordance with claim 16, wherein said open-loop transrating path is selected for modifying the data rate of B-frames of said video signal.
  • 21. Apparatus in accordance with claim 16, wherein said closed-loop transrating path and said open loop transrating path are operable simultaneously and are adapted to accept frames from multiple video signals.
  • 22. Apparatus in accordance with claim 21, wherein: said closed-loop transrating path is selected for modifying the data rate of I-frames and P-frames of said video signals; andsaid open-loop transrating path is selected for modifying the data rate of B-frames of said video signals.
  • 23. Apparatus in accordance with claim 21, wherein: both of said open-loop transrating path and said closed loop transrating path are available for processing I-frames and P-frames of said video signals.
  • 24. Apparatus in accordance with claim 21, wherein: both of said open-loop transrating path and said closed loop transrating path are available for processing B-frames of said video signals.
  • 25. Apparatus in accordance with claim 16, further comprising: an additional open-loop transrating path for modifying the data rate of the video signal.
  • 26. Apparatus in accordance with claim 25, wherein said two open-loop transrating paths and said closed-loop transrating path are operable simultaneously.
  • 27. Apparatus in accordance with claim 16, wherein said open-loop transrating path comprises: a variable length decoder for variable length decoding of said video signal to provide quantized transform coefficients;an inverse quantization module for performing an inverse quantization operation on said transform coefficients to scale said transform coefficients;a quantizer module for performing a quantization operation on said scaled transform coefficients to re-scale said transform coefficients to achieve a desired data rate; anda variable length encoder for variable length encoding of said re-scaled transform coefficients to provide a video signal at said desired data rate.
  • 28. Apparatus in accordance with claim 16, wherein said closed-loop transrating path comprises: a variable length decoder for variable length decoding of said video signal to provide quantized transform coefficients;an inverse quantization module for performing an inverse quantization operation on said transform coefficients to scale said transform coefficients;a quantization module for performing a quantization operation on said scaled transform coefficients to re-scale said transform coefficients to achieve a desired data rate;a variable length encoder for variable length encoding of said re-scaled transform coefficients to provide a video signal at said desired data rate;means for obtaining errors from the quantization operation in the form of error transform coefficients;an inverse transform module for performing an inverse transformation process on said error transform coefficients to provide pixel errors in the pixel domain;storage means for storing said pixel errors;means for retrieving said stored pixel errors when performing a motion compensation operation on associated pixels;a transform module for performing a transformation process on said motion compensated pixel errors to provide error correction transform coefficients; andadder means for adding said error correction transform coefficients to said scaled transform coefficients obtained from said inverse quantization of said associated pixels in order to prevent accumulation of requantization artifacts during said quantization operation on said scaled transform coefficients.
  • 29. Apparatus in accordance with claim 16, further comprising: a plurality of open-loop and closed loop transrating paths for modifying the data rate of the video signal.
  • 30. Apparatus in accordance with claim 29, wherein said plurality of open-loop and closed-loop transrating paths are operable simultaneously.
Parent Case Info

This application claims the benefit of U.S. Provisional Application No. 60/845,707, filed Sep. 18, 2006, which is incorporated herein and made a part hereof by reference.

Provisional Applications (1)
Number Date Country
60845707 Sep 2006 US