Claims
- 1. A video system comprising:
a video processing circuit that receives a picture and provides video compression by using an optimal macroblock mode of operation, the optimal macroblock mode of operation being identified by processing at least one macroblock of the picture, the processing being performed independent of other macroblocks contained in the picture.
- 2. The video system of claim 1, wherein the video processing circuit includes an encoder, the encoder comprising:
a motion estimation circuit that identifies an optimal motion vector by processing at least one macroblock contained in the picture, wherein the processing is carried out independent of other macroblocks contained in the picture; and a mode selection circuit that identifies the optimal macroblock mode of operation.
- 3. The video system of claim 2, wherein the mode selection circuit identifies the optimal macroblock mode of operation by using a rate-distortion model, where the rate-distortion model comprises an overall macroblock mode distortion D that is defined by a model equation D=DAC+DDC, wherein DAC is a distortion due to AC coefficients and DDC is a distortion due to DC coefficients.
- 4. The video system of claim 3, where DAC is a model equation that is defined by DAC=kIƒ(σ)g(RAC), wherein ƒ(σ) and g(RAC) are two functions, σ is a measure of deviation of AC coefficents, RAC is an allocated rate for encoding AC coefficients, and kI is a first numerical parameter that comprises at least one of a fixed number, an estimated number, and a number that is dynamically determined during a frame of the picture.
- 5. The video system of claim 4, when ƒ(σ)=σk2, wherein k2 is a second numerical parameter that comprises at least one of a fixed number, an estimated number, and a number that is dynamically determined during a frame of the picture.
- 6. The video system of claim 4, when g(RAC)=e−k3RAC, where k3 is a third numerical parameter that comprises at least one of a fixed number, an estimated number, and a number that is dynamically determined during a frame of the picture.
- 7. The video system of claim 4, when RAC is defined as RAC=Rtotal−Rhdr−Rmv−RDC, wherein Rtotal is a target total number of bits for the at least one macroblock, Rhdr is a rate of encoding a header of the at least one macroblock, Rmv is a rate of motion vectors, and RDC is a rate of the DC coefficients.
- 8. The video system of claim 3, wherein DDC is calculated using a mean intensity value over the at least one macroblock, and a quantization is carried out using a fixed step size.
- 9. The video system of claim 3, wherein DDC is equal to zero.
- 10. The video system of claim 3, wherein the optimal macroblock mode of operation is selected as one that minimizes the overall macroblock mode distortion D.
- 11. The video system of claim 1, wherein the signal received from the video signal source is at least one of a JPEG signal, an MPEG-x signal, and an ITU-specified H.26x signal.
- 12. A method for video compression, the method comprising:
processing a picture by identifying an optimal macroblock mode of operation; and processing a macroblock of the picture independent of other macroblocks contained in the picture.
- 13. The method of claim 12, wherein identifying the optimal macroblock mode of operation comprises:
providing a rate-distortion model; computing a set of rate-distortion values using a set of macroblock modes of operation upon the rate-distortion model; selecting from the set of rate-distortion values an optimal rate-distortion value; and designating a macroblock mode of operation corresponding to the optimal rate-distortion value as the optimal macroblock mode of operation.
- 14. The method of claim 13, further comprising identifying an optimal motion vector by processing one macroblock independent of other macroblocks contained in the picture.
- 15. The method of claim 14, wherein identifying the optimal motion vector comprises:
providing a first Lagrangian cost function equation that corresponds to the macroblock; incorporating a first Lagrangian multiplier into the first Lagrangian cost function equation; producing a set of Lagrangian cost functions by applying a set of motion vector values to the first Lagrangian cost function equation that incorporates the first Lagrangian multiplier; selecting a first optimal Lagrangian cost function from the set of Lagrangian cost functions; selecting from the set of motion vector values a motion vector value that is associated with the first optimal Lagrangian cost function; and designating the selected motion vector value as the optimal motion vector value.
- 16. The method of claim 15, further comprising:
incorporating a set of Lagrangian multipliers into the first Lagrangian cost function equation to generate a set of Lagrangian cost function equations; identifying a set of motion vector values associated with a set of optimal Lagrangian cost functions that are derived from the set of Lagrangian cost function equations; and designating the set of motion vector values as the optimal set of motion vector values.
- 17. The method of claim 16, wherein identifying the optimal macroblock mode of operation comprises:
providing a rate-distortion model; computing a set of rate-distortion values using a set of macroblock modes of operation and the optimal set of motion vector values upon the rate-distortion model; selecting from the set of rate-distortion values an optimal rate-distortion value; and designating the macroblock mode of operation corresponding to the optimal rate-distortion value as the optimal macroblock mode of operation.
- 18. A video processing program stored on a computer-readable medium, the video processing program comprising:
logic configured to provide a picture to the video processing program; logic configured to provide a rate-distortion model; and logic configured to identify an optimal macroblock mode of operation by processing a macroblock independent of other macroblocks contained in the picture.
- 19. The video processing program of claim 18, further comprising:
logic configured to compute a set of rate-distortion values using a set of macroblock modes of operation upon the rate-distortion model; logic configured to select from the set of rate-distortion values an optimal rate-distortion value; and logic configured to designate a macroblock mode of operation corresponding to the optimal rate-distortion value as the optimal macroblock mode of operation.
- 20. The video processing program of claim 18, further comprising logic configured to identify an optimal motion vector by processing one macroblock independent of other macroblocks contained in the picture.
- 21. The video processing program of claim 20 wherein the logic configured to identify an optimal motion vector comprises:
logic configured to provide a first Lagrangian cost function equation that corresponds to the macroblock; logic configured to incorporate a first Lagrangian multiplier into the first Lagrangian cost function equation; logic configured to produce a set of Lagrangian cost functions by applying a set of motion vector values to the first Lagrangian cost function equation that incorporates the first Lagrangian multiplier; logic configured to select a first optimal Lagrangian cost function from the set of Lagrangian cost functions; logic configured to select from the set of motion vector values a motion vector value that is associated with the first optimal Lagrangian cost function; and logic configured to designate the selected motion vector value as the optimal motion vector value.
- 22. The video processing program of claim 21, further comprising:
logic configured to incorporate a set of Lagrangian multipliers into the first Lagrangian cost function equation to generate a set of Lagrangian cost function equations; logic configured to identify a set of motion vector values associated with a set of optimal Lagrangian cost functions that are derived from the set of Lagrangian cost function equations; and logic configured to designate the set of motion vector values as the optimal set of motion vector values.
- 23. The video processing program of claim 22, wherein the logic configured to identify an optimal macroblock mode of operation comprises:
logic configured to compute a set of rate-distortion values using a set of macroblock modes of operation and the optimal set of motion vector values, upon the rate-distortion model; logic configured to select from the set of rate-distortion values an optimal rate-distortion value; and logic configured to designate the macroblock mode of operation corresponding to the optimal rate-distortion value as the optimal macroblock mode of operation.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Patent Application serial No. 60/426,163, filed Nov. 14, 2002, which is incorporated herein by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60426163 |
Nov 2002 |
US |