Video encoding
AssigneesNissim Nissimyan, Fima Feinblum
InventorDavid Blum
Life of this patent
Estimating the term…
Abstract
A computerized method for encoding video comprising: dividing a video frame into macroblocks; for each macroblock finding a minimal movement or minimal error motion estimation compensation algorithm pair that encodes and decodes said macroblock with a smallest amount of motion or error; and encoding said frame by encoding each macroblock with a motion estimation algorithm of said respective minimal error motion estimation compensation pair.
Claims12
A computerized method for encoding video comprising:
- dividing a video frame into variable size macroblocks;
- for each macroblock finding a minimal error motion estimation compensation algorithm pair, said finding comprising using motion estimation to encode and decode said macroblock using different pairs to find the pair that encodes and subsequently decodes with a smallest error;
- and
- encoding said frame by:
- encoding each macroblock by estimating motion with a motion estimation algorithm of said respective minimal error motion estimation compensation pair;
- carrying out multiple concurrent rate control of said frame and of said macroblocks respectively;
- and
- using said rate control to provide a quantization of said motion estimation,
- wherein said multiple concurrent rate control comprises setting a control rate algorithm by operating a sequence of control rate algorithms and selecting therefrom one member of the group consisting of the control rate algorithm providing the best results at macro block level and the control rate algorithm providing the best results at a frame level.
A computerized method for decoding video, the video having been divided into variable size macroblocks and encoded per said variable size macroblock by finding for each said variable size macroblock a minimal motion estimation compensation pair which gives a minimal error, said finding comprising using motion estimation to encode and decode said macroblock using different pairs to find the pair that encodes and subsequently decodes with a smallest error, encoding each macroblock by generating a motion estimation using said minimal motion estimation algorithm pair and embedding into the video an identification of the corresponding motion compensation pair, said decoding comprising extracting from said encoded video said identification, selecting a motion compensation algorithm for a respective macroblock according to said identification and using said algorithm to generate motion compensation, therewith decoding said macroblock, obtaining information of multiple concurrent rate control used in said frame and said macroblocks respectively;
- and using said rate control to determine a quantization of said motion estimation for said decoding, wherein said information of multiple concurrent rate control comprises information regarding setting a control rate algorithm by operating a sequence of control rate algorithms and selecting therefrom one member of the group consisting of the control rate algorithm providing the best results at macro block level and the control rate algorithm providing the best results at a frame level.
Video encoder apparatus for encoding video frames, comprising:
- a variable size macroblock unit configured to divide incoming frames into variable size macroblocks;
- an optimization unit configured to find, for each of said variable size macroblocks, a minimal error motion estimation compensation pair of algorithms that encodes and decodes a respective macroblock with minimal error, said finding comprising using motion estimation to encode and decode said macroblock using different pairs to find the pair that encodes and subsequently decodes with a smallest error;
- and
- a video output configured to output an encoded version of the respective incoming frame wherein each macroblock is encoded using motion estimation with a motion estimation algorithm of the respective minimal error motion estimation compensation pair, the video output further configured to apply multiple concurrent rate control of said frame and of said macroblocks respectively;
- and to use said rate control to provide a quantization of said motion estimation, wherein said multiple concurrent rate control comprises setting a control rate algorithm by operating a sequence of control rate algorithms and selecting therefrom one member of the group consisting of the control rate algorithm providing the best results at macro block level and the control rate algorithm providing the best results at a frame level.
A computerized method for encoding video comprising:
- dividing a video frame into variable-sized macroblocks;
- for each macroblock finding a least movement motion estimation compensation algorithm pair that encodes and decodes said macroblock with a smallest amount of movement, said finding comprising using motion estimation to encode and decode said macroblock using different pairs to find the pair that encodes and subsequently decodes with a smallest error;
- encoding said frame by encoding each macroblock by carrying out motion estimation using a motion estimation algorithm of said respective least movement motion estimation compensation pair;
- carrying out multiple concurrent rate control of said frame and of said macroblocks respectively, wherein said multiple concurrent rate control comprises setting a control rate algorithm by operating a sequence of control rate algorithms and selecting therefrom one member of the group consisting of the control rate algorithm providing the best results at macro block level and the control rate algorithm providing the best results at a frame level;
- and
- using said rate control to provide a quantization of said motion estimation.
Dependencies are inferred from the claim text.