Encoding time management in parallel real-time video encoding
First Claim
1. A method, comprising:
- generating an initial motion estimation of a raw video frame of a sequence of video frames, based at least in part on a previous raw video frame;
obtaining encoding related statistics for a plurality of modes of refinement motion search, wherein the encoding related statistics for each of the plurality of modes of refinement motion search are based at least in part on actual amounts of time to encode previously-encoded video segments for using the respective mode of refinement motion search;
deriving predicted amounts of time to encode for at least some of the plurality of modes of refinement motion search based at least in part on the encoding related statistics; and
selecting a mode of refinement motion search from the plurality of modes of refinement motion search, in accordance with at least one predefined encoding criterion, to facilitate encoding of at least a portion of the raw video frame within a target total period of time by comparing the respective predicted amounts of time to encode for the at least some of the plurality of modes of refinement motion search; and
encoding the raw video frame using the selected mode of refinement motion search using at least one processor.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques for efficient coding of digital media data are presented. A resource controller component dynamically allocates computing resources between an estimator component and a coder component. The estimator component generates an initial motion estimation of a raw video frame of a sequence of raw video frames based on a previous raw video frame. The coder component encodes the previous raw video frame to generate a reconstructed video frame in parallel with the generation of the initial motion estimation. When the previous raw video frame is reconstructed, the coder component dynamically determines whether and/or how to refine the motion estimation to encode the raw video frame based on a predefined encoding criterion. In making that determination, the coder component selects and uses a mode(s) of motion estimation refinement from a plurality of available motion estimation refinement modes to encode the raw video frame.
-
Citations
20 Claims
-
1. A method, comprising:
-
generating an initial motion estimation of a raw video frame of a sequence of video frames, based at least in part on a previous raw video frame; obtaining encoding related statistics for a plurality of modes of refinement motion search, wherein the encoding related statistics for each of the plurality of modes of refinement motion search are based at least in part on actual amounts of time to encode previously-encoded video segments for using the respective mode of refinement motion search; deriving predicted amounts of time to encode for at least some of the plurality of modes of refinement motion search based at least in part on the encoding related statistics; and selecting a mode of refinement motion search from the plurality of modes of refinement motion search, in accordance with at least one predefined encoding criterion, to facilitate encoding of at least a portion of the raw video frame within a target total period of time by comparing the respective predicted amounts of time to encode for the at least some of the plurality of modes of refinement motion search; and encoding the raw video frame using the selected mode of refinement motion search using at least one processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An apparatus, comprising:
-
a memory having instructions stored therein; and a processor associated with the memory, wherein the instructions, when executed by the processor, cause the processor to; generate an initial motion estimation of a raw video frame of a sequence of video frames, based at least in part on a previous raw video frame, obtain encoding related statistics for a plurality of modes of refinement motion search, wherein the encoding related statistics for each for each of the plurality of modes of refinement motion search are based at least in part on actual amounts of time to encode previously-encoded video segments for using the respective mode of refinement motion search, derive predicted amounts of time to encode for at least some of the plurality of modes of refinement motion search based at least in part on the encoding related statistics, and select a mode of refinement motion search from the plurality of modes of refinement motion search, in accordance with at least one predefined encoding criterion, to facilitate encoding of at least a portion of the raw video frame within a target total period of time by comparing the respective predicted amounts of time to encode for the at least some of the plurality of modes of refinement motion search; and encode the raw video frame using the selected mode of refinement motion search using at least one processor. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification