IP Library › Granted Patent US 9,332,272
Granted Patent B2
US 9,332,272 · App. 14/181,651 · Granted May 3, 2016

Encoding apparatus, encoding method, and computer product

Inventor: Hirofumi Nagaoka (Kawasaki, JP)
Assignee: FUJITSU LIMITED
H04N19/56H04N19/176H04N19/463H04N19/52
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,332,272
App. No.
14/181,651
Granted
May 3, 2016
Kind
B2
Abstract

An encoding apparatus includes a processor that calculates and stores, an evaluation value for each candidate vector, based on a given block to be encoded among blocks formed by dividing an image, and a reference block on a reference image represented by each candidate vector that is a candidate motion vector of the given block; identifies an evaluation value of a first candidate motion vector of the given block, based on the stored evaluation values; calculates an evaluation value of a second candidate motion vector, based on the evaluation value of each candidate vector and the second candidate motion vector selected for the given block from among motion vectors of blocks adjacent to the given block; and determines the first or the second candidate motion vector to be the motion vector of the given block, based on the respective evaluation values of the first and the second candidate motion vectors.

Claims (39)

1. An encoding apparatus comprising

a processor that is configured to:

calculate and store to a storage unit, an evaluation value for each candidate vector, each evaluation value being calculated based on a given block that is to be encoded among a plurality of blocks formed by dividing an original image, and a reference block on a reference image represented by each candidate vector that is a candidate motion vector of the given block;

identify an evaluation value of a first candidate motion vector of the given block, based on the calculated evaluation values stored in the storage unit;

calculate an evaluation value of a second candidate motion vector, based on the evaluation value of each candidate vector and the second candidate motion vector that is for the given block and selected from among motion vectors of adjacent blocks that are adjacent to the given block and among the blocks; and

determine any one among the first candidate motion vector and the second candidate motion vector to be the motion vector of the given block, based on the identified evaluation value of the first candidate motion vector and the calculated evaluation value of the second candidate motion vector, wherein

the storage unit stores a plurality of surface data that each represent a surface formed when the evaluation value for the vector that is to be the candidate motion vector of the given block is arranged in a spatial coordinate system having a first axis and a second axis representing a coordinate position on the reference image indicated by the vector that is to be the candidate motion vector of the given block and a third axis representing the evaluation value of the vector,

the processor is further configured to select any among the surface data, based on the surface data stored in the storage unit and the evaluation value of each candidate vector, and

the processor calculates the evaluation value of the second candidate motion vector, based on the second candidate motion vector and the selected surface data.

2. The encoding apparatus according to claim 1 , wherein

the processor is further configured to determine a value of a parameter by using a parameter and a coordinate position on the reference image represented by the vector and substituting a coordinate position of each candidate vector and the evaluation value of each candidate vector into a function model expressing the evaluation value of the vector that is to be the candidate motion vector of the given block, and

the processor calculates the evaluation value of the second candidate motion vector by using the determined value of the parameter and substituting a coordinate position of the second candidate motion vector into the function model.

3. The encoding apparatus according to claim 1 , wherein

the processor calculates the evaluation value of each candidate vector present within a predetermined distance from the candidate vector whose evaluation value is lowest among the evaluation values calculated for each candidate vector and overwrites content in the storage unit with the calculated evaluation value.

4. A computer system comprising

a computer that is configured to:

calculate and store to a storage unit, an evaluation value for each candidate vector, each evaluation value being calculated based on a given block that is to be encoded among a plurality of blocks formed by dividing an original image, and a reference block on a reference image represented by each candidate vector that is a candidate motion vector of the given block;

identify an evaluation value of a first candidate motion vector of the given block, based on the calculated evaluation values stored in the storage unit;

calculate an evaluation value of a second candidate motion vector, based on the evaluation value of each candidate vector and the second candidate motion vector that is for the given block and selected from among motion vectors of adjacent blocks that are adjacent to the given block and among the blocks; and

determine any one among the first candidate motion vector and the second candidate motion vector to be the motion vector of the given block, based on the identified evaluation value of the first candidate motion vector and the calculated evaluation value of the second candidate motion vector, wherein

the storage unit stores a plurality of surface data that each represent a surface formed when the evaluation value for the vector that is to be the candidate motion vector of the given block is arranged in a spatial coordinate system having a first axis and a second axis representing a coordinate position on the reference image indicated by the vector that is to be the candidate motion vector of the given block and a third axis representing the evaluation value of the vector,

the computer is further configured to select any among the surface data, based on the surface data stored in the storage unit and the evaluation value of each candidate vector, and

the computer calculates the evaluation value of the second candidate motion vector, based on the second candidate motion vector and the selected surface data.

5. An encoding apparatus method that is executed by a computer, the encoding method comprising:

calculating and storing to a storage unit, an evaluation value for each candidate vector, each evaluation value being calculated based on a given block that is to be encoded among a plurality of blocks formed by dividing an original image, and a reference block on a reference image represented by each candidate vector that is a candidate motion vector of the given block;

identifying an evaluation value of a first candidate motion vector of the given block, based on the calculated evaluation values stored in the storage unit;

calculating an evaluation value of a second candidate motion vector, based on the evaluation value of each candidate vector and the second candidate motion vector that is for the given block and selected from among motion vectors of adjacent blocks that are adjacent to the given block and among the blocks; and

determining any one among the first candidate motion vector and the second candidate motion vector to be the motion vector of the given block, based on the identified evaluation value of the first candidate motion vector and the calculated evaluation value of the second candidate motion vector, wherein

the storage unit stores a plurality of surface data that each represent a surface formed when the evaluation value for the vector that is to be the candidate motion vector of the given block is arranged in a spatial coordinate system having a first axis and a second axis representing a coordinate position on the reference image indicated by the vector that is to be the candidate motion vector of the given block and a third axis representing the evaluation value of the vector,

the encoding method further includes selecting any among the surface data, based on the surface data stored in the storage unit and the evaluation value of each candidate vector, and

the calculating includes calculating the evaluation value of the second candidate motion vector, based on the second candidate motion vector and the selected surface data.

6. A non-transitory, computer-readable recording medium storing an encoding program that causes a computer to execute a process comprising:

calculating and storing to a storage unit, an evaluation value for each candidate vector, each evaluation value being calculated based on a given block that is to be encoded among a plurality of blocks formed by dividing an original image, and a reference block on a reference image represented by each candidate vector that is a candidate motion vector of the given block;

identifying an evaluation value of a first candidate motion vector of the given block, based on the calculated evaluation values stored in the storage unit;

calculating an evaluation value of a second candidate motion vector, based on the evaluation value of each candidate vector and the second candidate motion vector that is for the given block and selected from among motion vectors of adjacent blocks that are adjacent to the given block and among the blocks; and

determining any one among the first candidate motion vector and the second candidate motion vector to be the motion vector of the given block, based on the identified evaluation value of the first candidate motion vector and the calculated evaluation value of the second candidate motion vector, wherein

the storage unit stores a plurality of surface data that each represent a surface formed when the evaluation value for the vector that is to be the candidate motion vector of the given block is arranged in a spatial coordinate system having a first axis and a second axis representing a coordinate position on the reference image indicated by the vector that is to be the candidate motion vector of the given block and a third axis representing the evaluation value of the vector,

the process further includes selecting any among the surface data, based on the surface data stored in the storage unit and the evaluation value of each candidate vector, and

the calculating includes calculating the evaluation value of the second candidate motion vector, based on the second candidate motion vector and the selected surface data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2014
From: NAGAOKA, HIROFUMI
To: FUJITSU LIMITED
Reel/Frame 032596/0161 →
Priority Claims (1)
JP 2013-054728 · Mar 18, 2013 · national
Continuity (1)
Related Publication 20140269922A1 · Sep 18, 2014