Method for motion vector difference (MVD) and intra block copy vector difference (BVD) coding of screen content video data
AssigneeQUALCOMM Incorporated
InventorsKrishnakanth Rapaka, Marta Karczewicz, Chao Pang, Joel Sole Rojals
Life of this patent
Estimating the term…
Abstract
A method for motion vector difference (MVD) coding of screen content video data is disclosed. In one aspect, the method includes determining an MVD between a predicted motion vector and a current motion vector and generating a binary string comprising n bins via binarizing the MVD. The method further includes determining whether an absolute value of the MVD is greater than a threshold value and encoding a subset of the n bins via an exponential Golomb code having an order that is greater than one in response to the absolute value of the MVD being greater than the threshold value.
Claims25
A method operable by a video encoder for encoding screen content, the method comprising:
- determining a motion vector difference (MVD) between a predicted motion vector and a current motion vector;
- generating a binary string comprising n bins via binarizing the MVD;
- encoding at least one bin of the n bins via a first entropy coding operation;
- determining whether an absolute value of the MVD is greater than a threshold value;
- encoding a subset of the n bins via a second entropy coding operation in response to the absolute value of the MVD being greater than the threshold value, the second entropy coding operation comprising an exponential coding having an order that is greater than one;
- and
- encoding the subset of n bins using a fixed length code in response to the absolute value of the MVD being less than or equal to the threshold value;
- wherein the at least one bin comprises first and second bins, the first bin indicating whether the absolute value of the MVD is greater than zero;
- wherein the subset of the n bins comprises third through n−1th bins of the n bins, and wherein the length of the fixed length code is dependent on the threshold value.
A method operable by a video decoder for decoding screen content, the method comprising:
- receiving a bitstream comprising an encoded binary string, the binary string comprising n bins;
- decoding at least one bin of the n bins via a first entropy coding operation, the at least one bin indicating whether an absolute value of a motion vector difference (MVD) is greater than a threshold value, the MVD being a difference between a predicted motion vector and a current motion vector;
- decoding a subset of the n bins via a second entropy coding operation in response to the at least one bin indicating that the absolute value of the MVD is greater than the threshold value, the second entropy coding operation comprising an exponential coding having an order that is greater than one;
- decoding the subset of the n bins using a fixed length code in response to the at least one bin indicating that the absolute value of the MVD is less than or equal to the threshold value;
- and
- generating the MVD based at least in part on the decoded bins;
- wherein the at least one bin comprises first and second bins, the first bin indicating whether the absolute value of the MVD is greater than zero;
- wherein the subset of the n bins comprises third through n−1th bins of the n bins, and wherein the length of the fixed length code is dependent on the threshold value.
A device for encoding screen content, comprising:
- a memory configured to store at least a portion of the screen content;
- and
- at least one processor in communication with the memory and configured to:
- determine a motion vector difference (MVD) between a predicted motion vector and a current motion vector;
- generate a binary string comprising n bins via binarizing the MVD;
- encode at least one bin of the n bins via a first entropy coding operation;
- determine whether an absolute value of the MVD is greater than a threshold value;
- encode a subset of the n bins via a second entropy coding operation in response to the absolute value of the MVD being greater than the threshold value, the second entropy coding operation comprising an exponential coding having an order that is greater than one;
- and
- encode the subset of the n bins using a fixed length code in response to the absolute value of the MVD being less than or equal to the threshold value;
- wherein the at least one bin comprises first and second bins, the first bin indicating whether the absolute value of the MVD is greater than zero;
- wherein the subset of the n bins comprises third through n−1th bins of the n bins, and wherein the length of the fixed length code is dependent on the threshold value.
A device for decoding screen content, comprising:
- a memory configured to store at least a portion of the screen content;
- and
- at least one processor in communication with the memory and configured to:
- receive a bitstream comprising an encoded binary string, the binary string comprising n bins;
- decode at least one bin of the n bins via a first entropy coding operation, the at least one bin indicating whether an absolute value of a motion vector difference (MVD) is greater than a threshold value, the MVD being a difference between a predicted motion vector and a current motion vector;
- decode a subset of the n bins via a second entropy coding operation in response to the at least one bin indicating that the absolute value of the MVD is greater than the threshold value, the second entropy coding operation comprising an exponential coding having an order that is greater than one;
- decode the subset of the n bins using a fixed length code in response to the at least one bin indicating that the absolute value of the MVD is less than or equal to the threshold value;
- and
- generate the MVD based at least in part on the decoded bins;
- wherein the at least one bin comprises first and second bins, the first bin indicating whether the absolute value of the MVD is greater than zero;
- wherein the subset of the n bins comprises third through n−1th bins of the n bins, and wherein the length of the fixed length code is dependent on the threshold value.
Dependencies are inferred from the claim text.