System and method for motion estimation and mode decision for low-complexity h.264 decoder
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.
Claims
exact text as granted — not AI-modified1 . A method for optimizing the selection of motion vectors and motion compensation block modules in a video encoder comprising:
receiving an input video data sequence comprising at least one macroblock; identifying a target 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; encoding the received input video data sequence in accordance with the identified target complexity level to produce an encoded bitstream that may be decoded with consistent complexity.
2 . The method of claim 1 , wherein the step of encoding the received input video data sequence comprises applying a complexity control algorithm.
3 . The method of claim 1 , wherein the received input video data is data in accordance with the H.264 standard.
4 . The method of claim 1 , wherein the received input video data is data in accordance with the MPEG-4 standard.
5 . The method of claim 1 , wherein the received input video data is data in accordance with the Motion Compensated Embedded Zero Block Coding (MC-EZBC) standard.
6 . A method for selecting motion vectors for optimized video encoding comprising:
receiving an input video data sequence comprising one or more macroblocks; for each macroblock, enumerating at least one inter-predictive block mode whose one or more motion vectors are to be calculated based on motion estimation; for each block of each enumerated block mode, selecting the one or more motion vectors that yield minimum rate-distortion-complexity; storing the selected one or more motion vectors for each block of each enumerated block mode.
7 . The method of claim 6 , wherein the received video frame data is data in accordance with the H.264 standard.
8 . The method of claim 6 , wherein the received video frame data is data in accordance with the MPEG-4 standard.
9 . The method of claim 6 , wherein the received video frame data is data in accordance with the Motion Compensated Embedded Zero Block Coding (MC-EZBC) standard.
10 . A method for selecting a block mode for optimized video encoding comprising:
receiving an input video data sequence comprising one or more macroblocks; identifying one or more possible block modes for each macroblock; retrieving one or more selected motion vectors for each block mode; using the selected motion vectors, calculating the rate-distortion-complexity cost for each block mode; selecting, for each macroblock, a block mode that yields a minimum rate-distortion-complexity cost function; storing at least one of the selected block modes for further processing.
11 . The method of claim 10 , wherein the received video frame data is data in accordance with the H.264 standard.
12 . The method of claim 10 , wherein the received video frame data is data in accordance with the MPEG-4 standard.
13 . The method of claim 10 , wherein the received video frame data is data in accordance with the Motion Compensated Embedded Zero Block Coding (MC-EZBC) standard.
14 . 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 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; encoding the received input video data sequence in accordance with the identified target complexity level to produce an encoded bitstream that may be decoded with consistent complexity.
15 . The method of claim 14 , wherein the memory further contains instructions for applying a complexity control algorithm in conjunction with the encoding of the received input video data sequence.
16 . The system of claim 14 , wherein the received input video data sequence is data in accordance with the H.264 standard.
17 . The system of claim 14 , wherein the received input video data sequence is data in accordance with the MPEG-4 standard.
18 . The system of claim 14 , wherein the received input video data sequence is data in accordance with the Motion Compensated Embedded Zero Block Coding (MC-EZBC) standard.
19 . 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 one or more macroblocks; identifying one or more possible block modes for each macroblock; retrieving one or more selected motion vectors for each block mode; using the selected motion vectors, calculating the rate-distortion-complexity cost for each block mode; selecting, for each macroblock, a block mode that yields a minimum rate-distortion-complexity cost function; storing at least one of the selected block modes for further processing.
20 . 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 one or more macroblocks; for each macroblock, enumerating at least one inter-predictive block mode whose one or more motion vectors are to be calculated based on motion estimation; for each block of each enumerated block mode, selecting the one or more motion vectors that yield minimum rate-distortion-complexity; storing the selected one or more motion vectors for each block of each enumerated block mode.Join the waitlist — get patent alerts
Track US2015245033A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.