Encoding video data
AssigneeVisualOn, Inc.
InventorsYang Cai, Chin-Yee Lin
Life of this patent
Estimating the term…
Abstract
A method of encoding video data comprises calculating a set of parameter values for a basis set of partition blocks of a macroblock of the video data. The basis set comprising one or more partition blocks into which the macroblock could validly be partitioned under an encoding scheme, wherein the basis set of partition blocks is smaller in number than the number of ways into which a macroblock is partitionable for encoding. The method further comprises constructing a desired partitioned macroblock using one or more partition blocks selected from the basis set based at least in part on the set of parameter values.
Claims30
A system for encoding video data comprising:
- a processor configured to:
- organize video data into a plurality of macroblocks;
- calculate, using an encoder, a set of parameter values for a basis set of partition blocks of a macroblock of the video data, the basis set comprising one or more partition blocks into which the macroblock could validly be partitioned under an encoding scheme, wherein the basis set comprises fewer partition blocks than all valid partition combinations under the encoding scheme, wherein the set of parameter values is calculated for the basis set of partition blocks with respect to each of a plurality of reference frames, and the partitioning includes selecting partition blocks across reference frames, to the extent permitted under the encoding scheme, based at least in part on the respective sets of parameter values so as to minimize an estimated cost associated with the partitioned macroblock;
- select a partitioning of the macroblock into one or more partition blocks selected from the basis set based at least in part on the calculated set of parameter values without having to compute and track data for each possible way of partitioning the macroblock;
- an input port configured to input a video frame source;
- and an output port configured to output a compressed bit stream.
A method for encoding video data comprising:
- organizing video data into a plurality of macroblocks;
- calculating a set of parameter values for a basis set of partition blocks of a macroblock of the video data, the basis set comprising one or more partition blocks into which the macroblock could validly be partitioned under an encoding scheme, wherein the basis set comprises fewer partition blocks than all valid partition combinations under the encoding scheme, wherein the set of parameter values is calculated for the basis set of partition blocks with respect to each of a plurality of reference frames, and the partitioning includes selecting partition blocks across reference frames, to the extent permitted under the encoding scheme, based at least in part on the respective sets of parameter values so as to minimize an estimated cost associated with the partitioned macroblock;
- and select a partitioning of the macroblock into one or more partition blocks selected from the basis set based at least in part on the calculated set of parameter values without having to compute and track data for each possible way of partitioning the macroblock.
A computer program product for encoding video data, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
- organizing video data into a plurality of macroblocks;
- calculating a set of parameter values for a basis set of partition blocks of a macroblock of the video data, the basis set comprising one or more partition blocks into which the macroblock could validly be partitioned under an encoding scheme, wherein the basis set comprises fewer partition blocks than all valid partition combinations under the encoding scheme, wherein the set of parameter values is calculated for the basis set of partition blocks with respect to each of a plurality of reference frames, and the partitioning includes selecting partition blocks across reference frames, to the extent permitted under the encoding scheme, based at least in part on the respective sets of parameter values so as to minimize an estimated cost associated with the partitioned macroblock;
- and select a partitioning of the macroblock into one or more partition blocks selected from the basis set based at least in part on the calculated set of parameter values without having to compute and track data for each possible way of partitioning the macroblock.
Dependencies are inferred from the claim text.