MEMORY-TO-MEMORY LOW RESOLUTION MOTION ESTIMATION SYSTEMS AND METHODS
First Claim
1. A video encoding pipeline configured to encode image data, comprising:
- a low resolution pipeline configured to receive the image data, wherein the low resolution pipeline comprises a low resolution motion estimation block configured to;
generate downscaled image data by reducing resolution of the image data; and
determine a low resolution inter-frame prediction mode by performing a motion estimation search using the downscaled image data and previously downscaled image data; and
a main pipeline in parallel with the low resolution pipeline, wherein the main pipeline is configured to receive the image data and to determine encoding operational parameters used to encode the image data, wherein the main pipeline comprises;
a motion estimation block configured to determine a candidate inter-frame prediction mode based at least in part on the low resolution inter-frame prediction mode; and
a mode decision block configured to determine a first rate-distortion cost associated with the candidate inter-frame prediction mode and to determine a prediction mode used to prediction encode the image data based at least in part on the first rate-distortion cost.
1 Assignment
0 Petitions
Accused Products
Abstract
System and method for improving operational efficiency of a video encoding pipeline used to encode image data. In embodiments, the video encoding pipeline includes a low resolution pipeline that includes a low resolution motion estimation block, which generates downscaled image data by reducing resolution of the image data and determines a low resolution inter-frame prediction mode by performing a motion estimation search using the downscaled image data and previously downscaled image data. The video encoding pipeline also includes a main pipeline in parallel with the low resolution pipeline that includes a motion estimation block, which determines a candidate inter-frame prediction mode based at least in part on the low resolution inter-frame prediction mode, and a mode decision block, which determines a first rate-distortion cost associated with the candidate inter-frame prediction mode and determines prediction mode used to prediction encode the image data based at least in part on the first rate-distortion cost.
34 Citations
29 Claims
-
1. A video encoding pipeline configured to encode image data, comprising:
-
a low resolution pipeline configured to receive the image data, wherein the low resolution pipeline comprises a low resolution motion estimation block configured to; generate downscaled image data by reducing resolution of the image data; and determine a low resolution inter-frame prediction mode by performing a motion estimation search using the downscaled image data and previously downscaled image data; and a main pipeline in parallel with the low resolution pipeline, wherein the main pipeline is configured to receive the image data and to determine encoding operational parameters used to encode the image data, wherein the main pipeline comprises; a motion estimation block configured to determine a candidate inter-frame prediction mode based at least in part on the low resolution inter-frame prediction mode; and a mode decision block configured to determine a first rate-distortion cost associated with the candidate inter-frame prediction mode and to determine a prediction mode used to prediction encode the image data based at least in part on the first rate-distortion cost. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A tangible, non-transitory, computer-readable medium configured to store instructions executable by one or more processors in a video encoding pipeline, wherein the instructions comprise instructions to:
-
downscale, using the one or more processors, image data to be encoded by the video encoding pipeline to generate downscaled image data; determine, using the one or more processors, a low resolution inter-frame prediction mode by performing a first motion estimation search on previously downscaled image data based on the downscaled image data; determine, using the one or more processors, a candidate inter-frame prediction mode by performing a second motion estimation search on reconstructed image data based on the low resolution inter-frame prediction mode; determine, using the one or more processors, encoding operational parameters used to encode the image data based at least in part on a rate-distortion cost associated with the candidate inter-frame prediction mode; and encode, using the one or more processors, the image data using the encoding operational parameters to generate encoded image data, wherein a size of the encoded image data is smaller than size of the image data. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A video encoding pipeline comprising:
-
memory configured to store source image data corresponding with a first image frame to be encoded by the video encoding pipeline, wherein the source image data is divided into a plurality of coding units, wherein each of the plurality coding units is configured to be encoded using a same prediction technique and each of the plurality of coding units comprises one or more prediction units each configured to be encoded using a different prediction mode of the same prediction technique; a low resolution motion estimation circuitry configured to; retrieve a first coding unit of the plurality of coding units from the memory using direct memory access; downscale the first coding unit to generate a first downscaled coding unit, wherein the first downscaled coding unit comprises a first downscaled prediction unit corresponding with a first prediction unit in the first coding unit; determine a first low resolution inter-frame prediction mode by performing a first motion estimation search on second downscaled image data corresponding with a second image frame to determine a first downscaled reference sample corresponding with the first downscaled prediction unit; a main pipeline configured to retrieve the first coding unit and the first low resolution inter-frame prediction mode from the memory using direct memory access and to determine a first prediction mode used to encode the first prediction unit based at least in part on the first low resolution inter-frame prediction mode. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A computing device comprising:
-
an image data source configured to generate first image data corresponding with a first image frame; a low resolution motion estimation pipeline comprising a low resolution motion estimation block configured to process the first image data to determine a low resolution inter-frame prediction mode and statistics based at least in part on luma of the first image data; and a main video encoding pipeline configured to generate first encoded image data by encoding the first image data, wherein the video encoding pipeline comprises; a motion estimation block configured to process the first image data after the low resolution motion estimation block to determine a candidate inter-frame prediction mode based at least in part on the low resolution inter-frame prediction mode; and a mode decision block configured to determine encoding operational parameters used to encode the first image data based at least in part on the candidate inter-frame prediction mode and the statistics determined by the low resolution motion estimation block; and an output configured to receive the first encoded image data and to display the first image frame or to transmit the first image frame in real-time or near real-time from when generated. - View Dependent Claims (21, 22, 23, 24, 25)
-
-
26. A method comprising:
-
instructing, using a controller in a video encoding pipeline configured to encode image data, a low resolution motion estimation block to process the image data to determine statistics based at least in part on luma of the image data, wherein the statistics comprise a first luma histogram statistic, a zero vector sum of absolute difference statistic, or both; determining, using the controller, when a scene change is expected to occur based at least in part on the statistics determined by the low resolution motion estimation block; instructing, using the controller, a motion estimation block to stop determining candidate inter-frame prediction modes when the scene change is expected; instructing, using the controller, a mode decision block to determine rate-distortion costs associated with a candidate intra-frame prediction mode and a skip mode and to determine a prediction mode based at least in part on the rate-distortion costs; and instructing, using the controller, the video encoding pipeline to encode the image data using the prediction mode determined by the mode decision block. - View Dependent Claims (27, 28, 29)
-
Specification