IP Library Granted Patent US 9,648,324
Granted Patent B2
US 9,648,324 · App. 14/041,147 · Granted May 9, 2017

Image coding method of encoding components of a motion vector and arranging the encoded components in a bitstream

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 9,648,324
App. No.
14/041,147
Granted
May 9, 2017
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 (34)

1. A providing method comprising:

transmitting a bitstream from a server to a terminal in response to an instruction from the terminal, the bitstream including an encoded image on which an encoding process has been performed,

wherein the encoding process includes:

deriving a difference motion vector indicating a difference between a motion vector used to predict the image and a motion vector predictor that is a prediction of the motion vector;

binarizing the difference motion vector into first binary data and second binary data, the first binary data indicating a horizontal component of the difference motion vector and the second binary data indicating a vertical component of the difference motion vector;

encoding a first flag, a second flag, a first prefix, a second prefix, a first suffix, and a second suffix respectively into an encoded first flag, an encoded second flag, an encoded first prefix, an encoded second prefix, an encoded first suffix, and an encoded second suffix, the first binary data including (i) the first flag which indicates whether or not the horizontal component is 0 and which is to be encoded by performing context adaptive binary arithmetic coding in which a variable probability is used, (ii) the first prefix which is to be encoded by performing the context adaptive binary arithmetic coding and which is different from the first flag, and (iii) the first suffix which is to be encoded by performing bypass coding in which a fixed probability is used, and the second binary data including (i) the second flag which indicates whether or not the vertical component is 0 and which is to be encoded by performing the context adaptive binary arithmetic coding, (ii) the second prefix which is to be encoded by performing the context adaptive binary arithmetic coding and which is different from the second flag, and (iii) the second suffix which is to be encoded by performing the bypass coding; and

arranging the encoded first flag, the encoded second flag, the encoded first prefix, the encoded second prefix, the encoded first suffix, and the encoded second suffix in the bitstream, in this order.

2. A method for managing content in a communication system, the method comprising:

receiving a bitstream generated by encoding an image using an encoding method, from a first terminal;

storing the bitstream at a server;

receiving a request for providing the bitstream from a second terminal; and

providing the bitstream from the server to the second terminal in response to the request,

wherein the encoding method includes:

deriving a difference motion vector indicating a difference between a motion vector used to predict the image and a motion vector predictor that is a prediction of the motion vector;

binarizing the difference motion vector into first binary data and second binary data, the first binary data indicating a horizontal component of the difference motion vector and the second binary data indicating a vertical component of the difference motion vector;

encoding a first flag, a second flag, a first prefix, a second prefix, a first suffix, and a second suffix respectively into an encoded first flag, an encoded second flag, an encoded first prefix, an encoded second prefix, an encoded first suffix, and an encoded second suffix, the first binary data including (i) the first flag which indicates whether or not the horizontal component is 0 and which is to be encoded by performing context adaptive binary arithmetic coding in which a variable probability is used, (ii) the first prefix which is to be encoded by performing the context adaptive binary arithmetic coding and which is different from the first flag, and (iii) the first suffix which is to be encoded by performing bypass coding in which a fixed probability is used, and the second binary data including (i) the second flag which indicates whether or not the vertical component is 0 and which is to be encoded by performing the context adaptive binary arithmetic coding, (ii) the second prefix which is to be encoded by performing the context adaptive binary arithmetic coding and which is different from the second flag, and (iii) the second suffix which is to be encoded by performing the bypass coding; and

arranging the encoded first flag, the encoded second flag, the encoded first prefix, the encoded second prefix, the encoded first suffix, and the encoded second suffix in the bitstream, in this order.

3. A communication system comprising:

a server in which image data are stored; and

a communication apparatus,

wherein the image data includes a first bitstream and a second bitstream, the first bitstream being generated by encoding an image using a first encoding method and the second bitstream being generated by encoding the image using a second encoding method different from the first encoding method,

wherein the communication apparatus includes:

a receiver configured to receive a request for providing the image from a terminal; and

a transmitter configured to transmit at least one of the first bitstream and the second bitstream from the server to the terminal, in response to the request, and

wherein the first encoding method comprises:

deriving a difference motion vector indicating a difference between a motion vector used to predict the image and a motion vector predictor that is a prediction of the motion vector;

binarizing the difference motion vector into first binary data and second binary data, the first binary data indicating a horizontal component of the difference motion vector and the second binary data indicating a vertical component of the difference motion vector;

encoding the first binary data and the second binary data into encoded first binary data and encoded second binary data; and

arranging the encoded first binary data and the encoded second binary data in the first bitstream, in this order, and

wherein the second encoding method comprises:

deriving a difference motion vector indicating a difference between a motion vector used to predict the image and a motion vector predictor that is a prediction of the motion vector;

binarizing the difference motion vector into first binary data and second binary data, the first binary data indicating a horizontal component of the difference motion vector and the second binary data indicating a vertical component of the difference motion vector;

encoding a first flag, a second flag, a first prefix, a second prefix, a first suffix, and a second suffix respectively into an encoded first flag, an encoded second flag, an encoded first prefix, an encoded second prefix, an encoded first suffix, and an encoded second suffix, the first binary data including (i) the first flag which indicates whether or not the horizontal component is 0 and which is to be encoded by performing context adaptive binary arithmetic coding in which a variable probability is used, (ii) the first prefix which is to be encoded by performing the context adaptive binary arithmetic coding and which is different from the first flag, and (iii) the first suffix which is to be encoded by performing bypass coding in which a fixed probability is used, and the second binary data including (i) the second flag which indicates whether or not the vertical component is 0 and which is to be encoded by performing the context adaptive binary arithmetic coding, (ii) the second prefix which is to be encoded by performing the context adaptive binary arithmetic coding and which is different from the second flag, and (iii) the second suffix which is to be encoded by performing the bypass coding; and

arranging the encoded first flag, the encoded second flag, the encoded first prefix, the encoded second prefix, the encoded first suffix, and the encoded second suffix in the bitstream, in this order.

Assignments (5)
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 Jun 22, 2018
From: SUN PATENT TRUST
To: VELOS MEDIA, LLC
Reel/Frame 046175/0927 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2016
From: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA
To: SUN PATENT TRUST
Reel/Frame 038299/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2014
From: PANASONIC CORPORATION
To: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA
Reel/Frame 033033/0163 →