Method and system of hardware accelerated video coding with per-frame parameter control
AssigneeIntel Corporation
InventorJeffrey McAllister
Life of this patent
Estimating the term…
Abstract
Techniques are provided that are related to hardware accelerated video coding with per-frame parameter control.
Drawings
Claims25
A computer-implemented method of video coding comprising:
- obtaining image data of frames of at least one video sequence to be encoded;
- monitoring, by at least one processor, a graphics accelerator having a plurality of hardware slices or sub-slices each having an encoder unit used to perform simultaneous encoding tasks of a plurality of the frames at least including motion estimation and intra estimation, wherein the graphics accelerator has shared hardware shared by the encoder units to perform at least some encoding tasks including at least motion compensation and entropy coding,
- determining an encoding-start time that indicates a time point in processing of a current frame without calculations depending on a processing time point of a previous frame;
- determining an encoding-complete time that indicates an end of encoding the current frame at the output of entropy encoding shared by the encoder units;
- determining, by at least one processor, an actual latency value of at least one frame and of at least one of the plurality of encoder units by differencing the encoding-start time and the encoding-complete time;
- and
- adjusting, by at least one processor, at least one encoder setting of at least one encoder operation to change a latency value of the actual latency to be closer to or the same as a target per-frame encoding time related value.
A computer-implemented system comprising:
- at least one memory to store image data of frames of a video sequence to be encoded;
- at least one processor of a graphics accelerator communicatively coupled to the at least one memory, and having a plurality of hardware slices or sub-slices each having an encoder unit to perform simultaneous encoding tasks of a plurality of frames at least including motion estimation and intra estimation, wherein the graphics accelerator has shared hardware shared by the encoder units to perform at least some encoding tasks including at least motion compensation and entropy coding;
- a monitor unit operated by the at least one processor and to monitor the graphics accelerator to
- determine an encoding-start time that indicates a time point in processing of a current frame without calculations depending on a processing time point of a previous frame,
- determine at least an encoding-complete time that indicates an end of encoding the current frame at the output of entropy encoding shared by the encoder units, and to
- determine an actual latency value of at least one frame and of at least one of the plurality of encoder units by differencing the encoding-start time and the encoding-complete time;
- and
- a per-frame parameter quality control unit operated by the at least one processor and to operate by adjusting at least one encoder setting of at least one encoder operation to change a latency value of the actual latency to be closer to or the same as a target per-frame encoding time related value.
A non-transitory computer-readable medium having stored thereon instructions that when executed cause a computing device to operate by:
- monitoring, by at least one processor, a graphics accelerator having a plurality of hardware slices or sub-slices each having an encoder unit used to perform simultaneous encoding tasks of a plurality of the frames at least including motion estimation and intra estimation, wherein the graphics accelerator has shared hardware shared by the encoder units to perform at least some encoding tasks including at least motion compensation and entropy coding,
- determining an encoding-start time that indicates a time point in processing of a current frame without calculations depending on a processing time point of a previous frame;
- determining an encoding-complete time that indicates an end of encoding the current frame at the output of entropy encoding shared by the encoder units;
- determining, by at least one processor, an actual latency value of at least one frame and of at least one of the plurality of encoder units by differencing the encoding-start time and the encoding-complete time;
- and
- adjusting, by at least one processor, at least one encoder setting of at least one encoder operation to change a latency value of the actual latency to be closer to or the same as a target per-frame encoding time related value.
Dependencies are inferred from the claim text.