Video encoding techniques
AssigneeQUALCOMM Incorporated
InventorsAnthony Mauro, Chienchung Chang, King-Chung Lai
Life of this patent
Estimating the term…
Abstract
This disclosure is directed to encoding techniques that can be used to improve encoding of digital video data. The techniques can be implemented by an encoder of a digital video device in order to reduce the number of computations and possibly reduce power consumption during video encoding. More specifically, video encoding techniques are described which utilize one or more programmable thresholds in order to terminate the execution of various computations when the computations would be unlikely to improve the encoding. By terminating computations prematurely, the amount of processing required for video encoding can be reduced, and power can be conserved.
Claims48
A method of reducing computations in a video encoding routine comprising:
- storing a threshold for the video encoding routine;
- and
- terminating at least part of the video encoding routine when a calculated difference value overcomes the threshold.
A method comprising:
- summing a first plurality of difference computations to establish a first difference value, wherein the first difference value is a measure of a difference between a current video block associated with a current video frame and a first different video block associated with a different video frame;
- establishing the first difference value as a threshold;
- summing a second plurality of difference computations to establish a second difference value, wherein the second difference value is a measure of a difference between the current video block associated with the current video frame and a second different video block associated with the different video frame;
- and
- terminating summation of the second plurality of difference computations when the second difference value exceeds the threshold.
A method comprising:
- storing a difference value threshold for a task;
- summing a first plurality of difference computations to establish a first difference value, wherein the first difference value is a measure of a difference between a current video block associated with a current video frame and a first different video block associated with a different video frame;
- terminating summation of the first plurality of difference computations when the first difference value exceeds the threshold;
- and
- updating the difference threshold with the first difference value if the first difference value never exceeds the defined difference threshold.
A method of reducing computations in a video encoding routing comprising:
- storing an iteration threshold that establishes an acceptable value for video encoding;
- and
- terminating encoding of a current video block associated with a current video frame upon identifying a different video block associated with a different video frame that defines a difference value less than then the threshold.
A device comprising:
- a transmitter that transmits encoded video blocks;
- and
- an encoder that encodes the video blocks by defining an iteration threshold that establishes an acceptable value for video encoding, and terminating encoding of a current video block associated with a current video frame upon identifying a different video block associated with a different video frame that defines a difference value less than then the threshold.
A device that encodes MPEG-4 compliant video streams comprising:
- a transmitter that transmits encoded video blocks;
- and
- an encoder that encodes the video blocks by defining a threshold for a video encoding routine, and terminating at least part of the video encoding routine when a calculated difference value overcomes the threshold.
An apparatus comprising:
- a memory that stores computer executable instructions and a threshold for a video encoding routine;
- and
- a processor that executes the instructions to perform the encoding routine and terminates at least part of the video encoding routine when a calculated difference value overcomes the threshold.
A computer readable medium comprising instructions that upon execution in a device that encodes video streams compliant with an MPEG-4 standard:
- define a threshold for a video encoding routine;
- and
- terminate at least part of the video encoding routine when a calculated difference value overcomes the threshold.
A computer readable medium comprising instructions that upon execution in a device that encodes video streams compliant with an MPEG-4 standard:
- define an iteration threshold that establishes a low-enough value for video encoding;
- and
- terminate encoding of a current video block associated with a current video frame upon identifying a different video block associated with a different video frame that defines a difference value less than then the threshold.
An apparatus comprising:
- a digital signal processor that receives a programmable threshold;
- and
- a compare engine that compares the threshold to difference values during a video encoding routine, wherein the digital signal processor terminates at least part of the video encoding routine when the compare engine determines that difference values overcome the threshold.
A device for encoding MPEG-4 compliant video streams comprising:
- means for defining a threshold for a video encoding routine;
- and
- means for terminating at least part of the video encoding routine when a calculated difference value overcomes the threshold.
A method comprising:
- defining a first search over a search space in a video encoding routine;
- performing a first set of tasks to locate an image block in the search space that is a first match to an image block to be encoded;
- defining a second search over a subset of the search space based on the first match;
- and
- performing a second set of tasks to locate an image block in the subset that is a second match to the image block to be encoded, wherein the second match is a better match than the first match.
A device comprising:
- a transmitter that transmits encoded video blocks;
- and
- an encoder that encodes the video blocks by defining a first search over a search space in a video encoding routine, performing a first set of tasks to locate an image block in the search space that is a first match to an image block to be encoded, defining a second search over a subset of the search space based on the first match, and performing a second set of tasks to locate an image block in the subset that is a second match to the image block to be encoded, wherein the second match is a better match than the first match.
An apparatus that encodes the video blocks compliant with an MPEG-4 standard by defining a first search over a search space in a video encoding routine, performing a first set of tasks to locate an image block in the search space that is a first match to an image block to be encoded, defining a second search over a subset of the search space based on the first match, and performing a second set of tasks to locate an image block in the subset that is a second match to the image block to be encoded, wherein the second match is a better match than the first match.
An apparatus that encodes an MPEG-4 compliant video stream by:
- summing a first plurality of difference computations to establish a first difference value, wherein the first difference value is a measure of a difference between a current video block associated with a current video frame and a first different video block associated with a different video frame;
- establishing the first difference value as a threshold;
- summing a second plurality of difference computations to establish a second difference value, wherein the second difference value is a measure of a difference between the current video block associated with the current video frame and a second different video block associated with the different video frame;
- and
- terminating summation of the second plurality of difference computations when the second difference value exceeds the threshold.
An apparatus that encodes an MPEG-4 compliant video stream by:
- receiving a programmable value of a difference value threshold for a task;
- summing a first plurality of difference computations to establish a first difference value, wherein the first difference value is a measure of a difference between a current video block associated with a current video frame and a first different video block associated with a different video frame;
- terminating summation of the first plurality of difference computations when the first difference value exceeds the threshold;
- and
- updating the difference threshold with the first difference value if the first difference value never exceeds the defined difference threshold.
An apparatus that encodes an MPEG-4 compliant video stream by:
- receiving a programmable value of an iteration threshold that establishes an acceptable value for video encoding;
- and
- terminating encoding of a current video block associated with a current video frame upon identifying a different video block associated with a different video frame that defines a difference value less than then the threshold.
Dependencies are inferred from the claim text.