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;
deriving predicted amounts of time to encode for at least some of the plurality of modes of refinement motion search; 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; deriving predicted amounts of time to encode for at least some of the plurality of modes of refinement motion search; 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; 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; deriving predicted amounts of time to encode for at least some of the plurality of modes of refinement motion search; 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 (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification