METHOD FOR MOTION VECTOR DIFFERENCE (MVD) AND INTRA BLOCK COPY VECTOR DIFFERENCE (BVD) CODING OF SCREEN CONTENT VIDEO DATA
First Claim
1. A method operable by a video encoder for encoding screen content, the method comprising:
- determining a motion vector (MVD) difference 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; and
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.
1 Assignment
0 Petitions
Accused Products
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.
18 Citations
30 Claims
-
1. A method operable by a video encoder for encoding screen content, the method comprising:
-
determining a motion vector (MVD) difference 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; and 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. 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; and generating the MVD based at least in part on the decoded bins. - View Dependent Claims (14, 15, 16, 17)
-
-
18. 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; and 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. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
-
26. 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; and generate the MVD based at least in part on the decoded bins. - View Dependent Claims (27, 28, 29, 30)
-
Specification