IP Library Granted Patent US 11,330,292
Granted Patent B2
US 11,330,292 · App. 16/524,155 · Granted May 10, 2022

Image coding method for encoding a difference motion vector into and decoding a difference motion vector from a bitstream

Inventors: Hisao Sasai (Osaka, JP); Takahiro Nishi (Nara, JP); Youji Shibahara (Tokyo, JP); Toshiyasu Sugio (Osaka, JP); Kyoko Tanikawa (Osaka, JP); Toru Matsunobu (Osaka, JP)
Assignee: Velos Media, LLC
H04N19/521H04N19/13H04N19/1887H04N19/436H04N19/46H04N19/463H04N19/52H04N19/70H04N19/91H04N19/17H04N19/184
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,330,292
App. No.
16/524,155
Granted
May 10, 2022
Kind
B2
Abstract

An image coding method includes coding a motion vector difference indicating a difference between the motion vector and a predicted motion vector, wherein the coding includes: coding a first portion that is a part of a first component which is one of a horizontal component and a vertical component of the motion vector difference; coding a second portion that is a part of a second component which is different from the first component and is the other one of the horizontal component and the vertical component; coding a third portion that is a part of the first component and is different from the first portion; coding a fourth portion that is a part of the second component and is different from the second portion; and generating a code string which includes the first portion, the second portion, the third portion, and the fourth portion in the stated order.

Claims (40)

1. A method for decoding, from a bitstream, a difference motion vector which indicates a difference between a motion vector used to predict a picture and a predicted motion vector that is a prediction of the motion vector, the method comprising:

decoding, from the bitstream, a code string, wherein the code string indicates whether or not a horizontal component of the difference motion vector and a vertical component of the difference motion vector are 0;

in response to determining that the code string indicates that the horizontal component of the difference motion vector is not zero and that the vertical component of the difference motion vector is not zero:

decoding, from the bitstream, first grouped data that includes (i) first prefix data that is a prefix portion of the horizontal component of the difference motion vector, and (ii) second prefix data that is a prefix portion of the vertical component of the difference motion vector;

decoding, from the bitstream, subsequent to decoding the first grouped data, second grouped data that includes (i) first suffix data that is a suffix portion of the horizontal component of the difference motion vector, and (ii) second suffix data that is a suffix portion of the vertical component of the difference motion vector;

deriving the horizontal component of the difference motion vector from a combination of the first prefix data and the first suffix data; and

deriving the vertical component of the difference motion vector from a combination of the second prefix data and the second suffix data.

2. The method of claim 1 wherein decoding the code string comprises performing context adaptive binary arithmetic decoding with variable probability.

3. The method of claim 1 wherein decoding the first grouped data comprises performing context adaptive binary arithmetic decoding with variable probability.

4. The method of claim 1 wherein decoding the second grouped data comprises performing bypass decoding.

5. An apparatus which decodes, from a bitstream, a difference motion vector which indicates a difference between a motion vector used to predict a picture and a predicted motion vector that is a prediction of the motion vector, the apparatus comprising:

processing circuitry; and

storage accessible from the processing circuitry, the storage having instructions which when executed by the processing circuitry cause the apparatus to:

decode, from the bitstream, a code string, wherein the code string indicates whether or not a horizontal component of the difference motion vector and a vertical component of the difference motion vector are 0;

in response to determining that the code string indicates that the horizontal component of the difference motion vector is not zero and that the vertical component of the difference motion vector is not zero:

decode, from the bitstream subsequent to decoding the code string, first grouped data that includes (i) a first prefix data that is a prefix portion of the horizontal component of the difference motion vector, (ii) a second prefix data that is a prefix portion of the vertical component of the difference motion vector;

decode, from the bitstream, subsequent to decoding the first grouped data, second grouped data that includes (i) the first suffix data that is a suffix portion of the horizontal component of the difference motion vector, and (ii) the second suffix data that is a suffix portion of the vertical component of the difference motion vector;

derive the horizontal component of the difference motion vector from a combination of the first prefix data and the first suffix data; and

derive the vertical component of the difference motion vector from a combination of the second prefix data and the second suffix data.

6. The apparatus of claim 5 wherein decoding the code string comprises performing context adaptive binary arithmetic decoding with variable probability.

7. The apparatus of claim 5 wherein decoding the first grouped data comprises performing context adaptive binary arithmetic decoding with variable probability.

8. The apparatus of claim 5 wherein decoding the second grouped data comprises performing bypass decoding.

9. A method for encoding, into a bitstream, a difference motion vector which indicates a difference between a motion vector used to predict a picture and a predicted motion vector that is a prediction of the motion vector, the method comprising:

encoding, into the bitstream, a code string, wherein the code string indicates whether or not a horizontal component of the difference motion vector and a vertical component of the motion vector difference are 0;

when the encoded code string indicates that the horizontal component of the difference motion vector is not zero and that the vertical component of the difference motion vector is not zero:

encoding, into the bitstream, first grouped data that includes (i) first prefix data that is a prefix portion of the horizontal component of the difference motion vector, and (ii) second prefix data that is a prefix portion of the vertical component of the difference motion vector; and

encoding, into the bitstream, subsequent to encoding the first grouped data, second grouped data that includes (i) first suffix data that is a suffix portion of the horizontal component of the difference motion vector, and (ii) second suffix data that is a suffix portion of the vertical component of the difference motion vector.

10. The method of claim 9 wherein encoding the code string comprises performing context adaptive binary arithmetic coding with variable probability.

11. The method of claim 9 wherein encoding the first grouped data comprises performing context adaptive binary arithmetic coding with variable probability.

12. The method of claim 9 wherein encoding the second grouped data comprises performing bypass coding.

13. An apparatus which encodes, into a bitstream, a difference motion vector which indicates a difference between a motion vector used to predict a picture and a predicted motion vector that is a prediction of the motion vector, the apparatus comprising:

processing circuitry; and

storage accessible from the processing circuitry, the storage having instructions which when executed by the processing circuitry cause the apparatus to:

encode, into the bitstream, a code string, wherein the code string indicates whether or not a horizontal component of the difference motion vector and a vertical component of the difference motion vector are 0;

when the encoded code string indicates that the horizontal component of the difference motion vector is not zero and that the vertical component of the difference motion vector is not zero:

encode, into the bitstream, first grouped data that includes (i) a first prefix data that is a prefix portion of the horizontal component of the difference motion vector, and (ii) a second prefix data that is a prefix portion of the vertical component of the difference motion vector; and

encode, into the bitstream, subsequent to encoding the first grouped data, second grouped data that includes (i) the first suffix data that is a suffix portion of the horizontal component of the difference motion vector, and (ii) the second suffix data that is a suffix portion of the vertical component of the difference motion vector.

14. The apparatus of claim 13 wherein encoding the code string comprises performing context adaptive binary arithmetic coding with variable probability.

15. The apparatus of claim 13 wherein encoding the first grouped data comprises performing context adaptive binary arithmetic coding with variable probability.

16. The apparatus of claim 13 wherein encoding the second grouped data comprises performing bypass coding.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2022
From: VELOS MEDIA, LLC
To: SUN PATENT TRUST
Reel/Frame 061391/0110 →
RELEASE OF SECURITY INTEREST Recorded Jul 26, 2022
From: CORTLAND CAPITAL MARKET SERVICES LLC
To: VELOS MEDIA, LLC AND VELOS MEDIA MANAGEMENT, LLC
Reel/Frame 060923/0407 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2019
From: SUN PATENT TRUST
To: VELOS MEDIA, LLC
Reel/Frame 050876/0653 →
Continuity (5)
Continuation 15498840 · Apr 27, 2017
Continuation 14041043 · Sep 30, 2013
Division 13529384 · Jun 21, 2012
Provisional Application 61500805 · Jun 24, 2011
Related Publication 20190349600A1 · Nov 14, 2019