Non-zero rounding and prediction mode selection techniques in video encoding
AssigneeQUALCOMM Incorporated
InventorsMarta Karczewicz, Peisong Chen, Yan Ye
Life of this patent
Estimating the term…
Abstract
In one aspect of this disclosure, techniques are described for selecting among default weighted prediction, implicit weighted prediction, and explicit weighted prediction. In this context, techniques are also described for adding offset to prediction data, e.g., using the format of explicit weighted prediction to allow for offsets to predictive data that is otherwise determined by implicit or default weighted prediction.
Claims23
A method of encoding video data, the method comprising:
- performing a predefined weighted prediction for a current video block using a predefined weight value;
- performing a first explicit weighted prediction for the current video block using a first explicit weight value and a first explicit offset value, wherein the first explicit weight value is based at least in part on the predefined weight value, wherein the first explicit offset is a high precision offset generated as a result of multiplying the first explicit offset by a factor and then rounding the results of the multiplication of the first explicit offset by the factor to an integer number;
- performing a second explicit weighted prediction for the current video block using an second explicit weight value and a second explicit offset value;
- performing a rate distortion analysis on the predefined weighted prediction, the first explicit weighted predictions, and the second explicit weighted prediction;
- and
- encoding the video data using the predefined weighted prediction, the first explicit weighted prediction, or the second explicit weighted prediction, based at least in part on the rate distortion analysis.
A video encoder apparatus for encoding video data, the video encoder apparatus comprising:
- a memory that is configured to store the video data;
- and
- a motion compensation unit that is configured to:
- perform a predefined weighted prediction for a current video block using a predefined weight value;
- perform a first explicit weighted prediction for the current video block using a first explicit weight value and a first explicit offset value, wherein the first explicit weight value is based at least in part on the predefined weight value, wherein the first explicit offset is a high precision offset generated as a result of multiplying the first explicit offset by a factor and then rounding the results of the multiplication of the first explicit offset by the factor to an integer number;
- perform a second explicit weighted prediction for the current video block using an second explicit weight value and a second explicit offset value;
- perform a rate distortion analysis on the predefined weighted prediction, the first explicit weighted prediction, and the second explicit weighted prediction;
- encode the video data using one of the predefined weighted prediction, the first explicit weighted prediction, or the second explicit weighted prediction based at least in part on the rate distortion analysis.
A device for encoding video data, the device comprising:
- means for performing a predefined weighted prediction for a current video block using a predefined weight value;
- means for performing a first explicit weighted prediction for the current video block using a first explicit weight value and a first explicit offset value, wherein the first explicit weight value is based at least in part on the predefined weight value, wherein the first explicit offset is a high precision offset generated as a result of multiplying the first explicit offset by a factor and then rounding the results of the multiplication of the first explicit offset by the factor to an integer number;
- means for performing a second explicit weighted prediction for the current video block using a second explicit weight value and a second explicit offset value;
- means for performing a rate distortion analysis on the predefined weighted prediction, the first explicit weighted prediction, and the second explicit weighted prediction;
- and
- means for encoding the video data using one of the predefined weighted prediction, the first explicit weighted prediction, or the second explicit weighted prediction based at least in part on the rate distortion analysis.
A non-transitory computer-readable storage medium comprising instructions that when executed cause a processor to:
- perform a predefined weighted prediction for a current video block using a predefined weight value;
- perform a first explicit weighted prediction for the current video block using a first explicit weight value and a first explicit offset value, wherein the first explicit weight value is based at least in part on the predefined weight value, wherein the first explicit offset is a high precision offset generated as a result of multiplying the first explicit offset by a factor and then rounding the results of the multiplication of the first explicit offset by the factor to an integer number;
- perform a second explicit weighted prediction for the current video block using an second explicit weight value and a second explicit offset value;
- perform a rate distortion analysis on the predefined weighted prediction, the first explicit weighted prediction, and the second explicit weighted prediction;
- and
- encode the video data using one of the predefined weighted prediction, the first explicit weighted prediction, or the second explicit weighted prediction, based at least in part on the rate distortion analysis.
Dependencies are inferred from the claim text.