# US 10,321,133 B2 · Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus, and moving picture coding and decoding apparatus

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,321,133 B2
- Document ID: US10321133B2
- Status: Granted
- Kind: B2
- Application number: 15/345,920
- Filed: 2016-11-08
- Published: 2017-02-23
- Granted: 2019-06-11
- Earliest claimed: 2011-12-16
- Assignees: Velos Media, LLC
- Applicants: Velos Media, LLC
- Inventors: Toshiyasu Sugio; Takahiro Nishi; Youji Shibahara; Kyoko Tanikawa; Hisao Sasai; Toru Matsunobu; Kengo Terada
- Web page: https://patentgrep.com/patent/US10321133B2

## CPC

- H04N 19/139: Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
- H04N 7/00: Television systems (details H04N3/00, H04N5/00; methods or arrangements, for coding, decoding, compressing or decompressing digital video signals H04N19/00; selective content distribution H04N21/00)
- H04N 19/105: Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
- H04N 19/124: Quantisation
- H04N 19/13: Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
- H04N 19/137: Motion inside a coding unit, e.g. average field, frame or block difference
- H04N 19/15: by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
- H04N 19/159: Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/44: Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
- H04N 19/503: involving temporal prediction (adaptive coding with adaptive selection between spatial and temporal predictive coding H04N19/107; adaptive coding with adaptive selection among a plurality of temporal predictive coding modes H04N19/109)
- H04N 19/51: Motion estimation or motion compensation
- H04N 19/513: Processing of motion vectors
- H04N 19/52: by predictive encoding
- H04N 19/56: Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
- H04N 19/567: Motion estimation based on rate distortion criteria
- H04N 19/593: involving spatial prediction techniques
- H04N 19/61: in combination with predictive coding
- H04N 19/172: the region being a picture, frame or field
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A moving picture coding apparatus includes an intra-inter prediction unit which calculates a second motion vector by performing a scaling process on a first motion vector of a temporally neighboring corresponding block, when selectively adding, to a list, a motion vector of each of one or more corresponding blocks each of which is either a block included in a current picture to be coded and spatially neighboring a current block to be coded or a block included in a picture other than the current picture and temporally neighboring the current block, determines whether the second motion vector has a magnitude that is within a predetermined magnitude or not within the predetermined magnitude, and adds the second motion vector to the list when the intra-inter prediction unit determines that the second motion vector has a magnitude that is within the predetermined magnitude range.

## Claims

### Claim 1

An encoding method for encoding pictures on a block-by-block basis, the encoding method comprising:
selectively adding, to a list, a candidate motion vector of each of one or more reference blocks of a current block each of which is (i) a neighboring block spatially adjacent to the current block and included in a current picture or (ii) a collocated block included in a picture other than the current picture;
selecting a candidate motion vector used for encoding the current block from the list; and
encoding the current block using the selected candidate motion vector,
wherein the adding of a candidate motion vector of a collocated block includes:
calculating a second motion vector by scaling a first motion vector of the collocated block;
determining whether a magnitude of the second motion vector is within a predetermined fixed magnitude range or not;
adding the second motion vector to the list as the candidate motion vector of the collocated block when the magnitude of the second motion vector is within the fixed magnitude range; and
adding a third motion vector to the list as the candidate motion vector of the collocated block when the magnitude of the second motion vector is not within the fixed magnitude range, the third motion vector being generated by clipping the second motion vector to have a magnitude within the fixed magnitude range, the fixed magnitude range is determined based on a bit precision of a motion vector, and the bit precision is 16 bits.

### Claim 2 (depends on 1)

The encoding method of claim 1 wherein the collocated block is included in a picture adjacent to the current picture in a sequence of pictures.

### Claim 3 (depends on 1)

The encoding method of claim 1 wherein the collocated block is included in a picture other than a picture adjacent to the current picture in a sequence of pictures.

### Claim 4 (depends on 1)

The encoding method of claim 1 wherein the neighboring block spatially adjacent to the current block is located above the current block.

### Claim 5

An encoding apparatus for encoding pictures on a block-by-block basis, the encoding apparatus comprising:
storage; and
processing circuitry coupled to the storage,
wherein the processing circuitry is configured to perform encoding processing, the encoding processing including:
reading one or more reference blocks of a current block each of which is (i) a neighboring block spatially adjacent to the current block and included in a current picture or (ii) a collocated block included in a picture other than the current picture, the one or more reference blocks stored in the storage;
selectively adding, to a list, a motion vector of each of the one or more reference blocks;
selecting a motion vector used for encoding the current block from the list; and
encoding the current block using the selected motion vector, and
the adding of the motion vector includes:
calculating a second motion vector by scaling a first motion vector of the collocated block;
determining whether a magnitude of the second motion vector is within a predetermined fixed magnitude range or not;
adding the second motion vector to the list as the motion vector of the collocated block when the magnitude of the second motion vector is within the fixed magnitude range; and
adding a third motion vector to the list as the motion vector of the collocated block when the magnitude of the second motion vector is not within the fixed magnitude range, the third motion vector being generated by clipping the second motion vector to have a magnitude within the fixed magnitude range, the fixed magnitude range is determined based on a bit precision of a motion vector, and
the bit precision is 16 bits.

### Claim 6 (depends on 5)

The encoding apparatus of claim 5 wherein the collocated block is included in a picture adjacent to the current picture in a sequence of pictures.

### Claim 7 (depends on 5)

The encoding apparatus of claim 5 wherein the collocated block is included in a picture other than a picture adjacent to the current picture in a sequence of pictures.

### Claim 8 (depends on 5)

The encoding apparatus of claim 5 wherein the neighboring block spatially adjacent to the current block is located above the current block.

### Claim 9

A non-transitory computer readable recording medium storing a program that, when executed on a computing device, performs operations comprising:
selectively adding, to a list, a candidate motion vector of each of one or more reference blocks of a current block each of which is (i) a neighboring block spatially adjacent to the current block and included in a current picture or (ii) a collocated block included in a picture other than the current picture;
selecting a candidate motion vector used for encoding the current block from the list; and
encoding the current block using the selected candidate motion vector,
wherein the adding of a candidate motion vector of a collocated block includes:
calculating a second motion vector by scaling a first motion vector of the collocated block;
determining whether a magnitude of the second motion vector is within a predetermined fixed magnitude range or not;
adding the second motion vector to the list as the candidate motion vector of the collocated block when the magnitude of the second motion vector is within the fixed magnitude range; and
adding a third motion vector to the list as the candidate motion vector of the collocated block when the magnitude of the second motion vector is not within the fixed magnitude range, the third motion vector being generated by clipping the second motion vector to have a magnitude within the fixed magnitude range, the fixed magnitude range is determined based on a bit precision of a motion vector, and the bit precision is 16 bits.

### Claim 10 (depends on 9)

The non-transitory computer readable recording medium of claim 9 wherein the collocated block is included in a picture other than a picture adjacent to the current picture in a sequence of pictures.

### Claim 11 (depends on 9)

The non-transitory computer readable recording medium of claim 9 wherein the collocated block is included in a picture other than a picture adjacent to the current picture in a sequence of pictures.

### Claim 12 (depends on 9)

The non-transitory computer readable recording medium of claim 9 wherein the neighboring block spatially adjacent to the current block is located above the current block.
