Back to results
US 9,426,494 B2Granted
Systems and methods with early variance measure used to optimize video encoding
AssigneeZiilabs Inc., Ltd.
InventorMichele Casula
Life of this patent
Estimating the term…
Abstract
Methods and systems for video encoding, using a variance measure to directly effect efficiencies and optimizations at various stages of video encoding to improve compute cycle, power, heat and bandwidth efficiency and decoded picture quality and decrease the bit length of encoded frames. Download rate and decoding efficiency are also improved as a result of the improvements realized at the encoder.
Claims19
A method of video encoding, comprising:
- generating at least one spatial variance measure across groups of pixels of at least one frame of a stream of frames;
- encoding said one frame variably, in dependence on said spatial variance measure;
- generating a prediction of values of a one of said groups of pixels using a prediction mode selected from one of Inter-mode prediction and Intra-mode prediction;
- encoding said one group of pixels at least partially in dependence on said prediction, wherein said selected prediction mode is at least partially dependent on a spatial variance measure for said one group of pixels;
- generating a bit budget for said one of said groups of pixels based on said spatial variance measure;
- and
- loading said one of said groups of pixels and a plurality of previous groups of pixels into a Network Abstraction Layer Unit (NALU) until a sum of respective bit budgets for:
- said one of said groups of pixels, said plurality of previous groups of pixels, and a subsequent group of pixels is greater than a number of bits available in a payload of said NALU.
5 more elements
A computing apparatus comprising:
- a memory;
- and
- a processor, said processor capable of executing instructions stored in said memory, said instructions comprising:
- generating spatial variance measures for respective macroblocks of at least one frame of a stream of frames;
- generating an amount of bitwise right-shift of said frame;
- encoding said frame such that the lossiness of said encoding is at least partially dependent on said spatial variance measure and the amount of bitwise right-shift, to thereby generate an encoded data stream which generally corresponds to said frame;
- generating a bit budget for said at least one macroblock of said respective macroblocks at least partially in dependence of said spatial variance measure for said at least one macroblock;
- and
- loading said at least one macroblock and a plurality of previous said respective macroblocks into a Network Abstraction Layer Unit (NALU) until a sum of respective bit budgets for:
- said at least one macroblock, said plurality of previous macroblocks, and a subsequent macroblock of said respective macroblocks is greater than a number of bits available in a payload of said NALU;
- and
- transmitting said encoded data stream, whereby said encoded data stream can be decoded at a receiving device to generate a recovered stream which generally corresponds to said frame.
9 more elements
A method for video encoding comprising:
- generating a spatial variance measure for at least one macroblock of at least one frame of a stream of frames;
- choosing a prediction mode at least partially in dependence on said spatial variance measure of said at least one macroblock, wherein at least one prediction mode of a set of enabled prediction modes is disabled based on the spatial variance measure;
- generating a prediction of values for said at least one macroblock, using said prediction mode;
- encoding said at least one macroblock at least partially in dependence on said prediction;
- generating a bit budget for said at least one macroblock at least partially in dependence of said spatial variance measure;
- and
- loading said at least one macroblock and a plurality of previous macroblocks into a Network Abstraction Layer Unit (NALU) until a sum of respective bit budgets for:
- said at least one macroblock, said plurality of previous macroblocks, and a subsequent macroblock is greater than a number of bits available in a payload of said NALU.
5 more elements
Dependencies are inferred from the claim text.