System and method for motion estimation and mode decision for low-complexity H.264 decoder
First Claim
1. A method for optimizing the selection of motion vectors and motion compensation block modules in a video encoder comprising:
- receiving, by the video encoder, an input video data sequence comprising at least one macroblock;
identifying, by the video encoder, a target decoding complexity level for the video data sequence;
determining, by the video encoder, a Lagrange multiplier for the video data sequence;
for each at least one macroblock, calculating, by the video encoder, at least one motion vector for one or more block modes based on the determined Lagrange multiplier;
for each at least one macroblock, selecting, by the video encoder, one of the one or more block modes based on the determined Lagrange multiplier; and
encoding, by the video encoder, the received input video data sequence in accordance with the identified target decoding complexity level by applying a complexity control algorithm to produce an encoded bitstream that can be decoded with consistent complexity.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention relates to systems and methods for motion estimation and mode decision for low-complexity H.264 standard decoders. The present invention includes a method for optimizing the selection of motion vectors and motion compensation block modules in a video encoder in order to decrease the complexity of the video upon decoding. The novel method of the present invention may include novel steps for selecting motion vectors, block modes, and for applying a complexity-control algorithm to encode the received input video data sequence in accordance with the identified target complexity level. The present invention may be implemented in accordance with current and future video decoding standards to optimize decoding by reducing decoding complexity and thereby reducing required resources and power consumption.
309 Citations
12 Claims
-
1. A method for optimizing the selection of motion vectors and motion compensation block modules in a video encoder comprising:
-
receiving, by the video encoder, an input video data sequence comprising at least one macroblock; identifying, by the video encoder, a target decoding complexity level for the video data sequence; determining, by the video encoder, a Lagrange multiplier for the video data sequence; for each at least one macroblock, calculating, by the video encoder, at least one motion vector for one or more block modes based on the determined Lagrange multiplier; for each at least one macroblock, selecting, by the video encoder, one of the one or more block modes based on the determined Lagrange multiplier; and encoding, by the video encoder, the received input video data sequence in accordance with the identified target decoding complexity level by applying a complexity control algorithm to produce an encoded bitstream that can be decoded with consistent complexity. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An optimized video encoding system comprising:
-
at least one processor; a memory coupled to the at least one processor and containing instructions which, when executed by the processor, cause the processor to perform the steps of; receiving an input video data sequence comprising at least one macroblock; identifying a target decoding complexity level for the video data sequence; determining a Lagrange multiplier for the video data sequence; for each at least one macroblock, calculating at least one motion vector for one or more block modes based on the determined Lagrange multiplier; for each at least one macroblock, selecting one of the one or more block modes based on the determined Lagrange multiplier; and encoding the received input video data sequence in accordance with the identified target decoding complexity level by applying a complexity control algorithm to produce an encoded bitstream that can be decoded with consistent complexity. - View Dependent Claims (9, 10, 11, 12)
-
Specification