# US 12,225,227 B2 · Image encoding method and image decoding method

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

- Number: US 12,225,227 B2
- Document ID: US12225227B2
- Status: Granted
- Kind: B2
- Application number: 18/536,396
- Filed: 2023-12-12
- Published: 2024-03-28
- Granted: 2025-02-11
- Earliest claimed: 2010-04-08
- Assignees: Kabushiki Kaisha Toshiba
- Applicants: Kabushiki Kaisha Toshiba
- Inventors: Taichiro Shiodera; Saori Asaka; Akiyuki Tanizawa; Takeshi Chujoh
- Web page: https://patentgrep.com/patent/US12225227B2

## CPC

- H04N 19/521: {for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors}
- 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/109: among a plurality of temporal predictive coding modes
- H04N 19/119: Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
- H04N 19/124: Quantisation
- H04N 19/137: Motion inside a coding unit, e.g. average field, frame or block difference
- H04N 19/139: Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
- 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/182: the unit being a pixel
- H04N 19/52: by predictive encoding
- H04N 19/61: in combination with predictive coding
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N 19/96: Tree coding, e.g. quad-tree coding
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

According to one embodiment, an image encoding method includes selecting a motion reference block from an encoded pixel block to which an inter prediction is applied. The method includes selecting one or more available blocks from the motion reference block. The method includes selecting a selection block from the available blocks. The method includes generating a predicted image of the encoding target block using motion information of the selection block. The method includes encoding a prediction error between the predicted image and an original image. The method includes encoding selection information specifying the selection block by referring to a code table decided according to a number of the available blocks.

## Claims

### Claim 1

An image decoding method comprising:
selecting available blocks from already-decoded blocks, the already-decoded blocks including a first block adjacent to a left of a target block and a second block adjacent to a top of the target block, wherein the selecting available blocks comprises:
determining which of an inter prediction and an intra prediction is applied to the first block, wherein when it is determined that the intra prediction is applied to the first block, the first block is not selected as an available block,
determining which of the inter prediction and the intra prediction is applied to the second block, wherein when it is determined that the intra prediction is applied to the second block, the second block is not selected as an available block,
determining whether a motion vector of the first block is identical to a motion vector of the second block,
selecting the first block and the second block as available blocks when the inter prediction is applied to the first block and the second block and the motion vector of the first block is different from the motion vector of the second block, and
selecting one of the first block and the second block as an available block when the inter prediction is applied to the first block and the second block and the motion vector of the first block is identical to the motion vector of the second block, wherein the other of the first block and the second block is not selected as an available block;
decoding, from input encoded data, selection information specifying one of the available blocks;
selecting a block from the available blocks in accordance with the selection information;
generating a predicted image of the target block using a motion vector of the selected block;
decoding a transform coefficient from the input encoded data;
performing processing on the transform coefficient to obtain a prediction error, the processing including inverse transform; and
generating a decoded image by adding the predicted image and the prediction error.

### Claim 2

An image decoding apparatus comprising:
processing circuitry configured to:
select available blocks from already-decoded blocks, the already-decoded blocks including a first block adjacent to a left of a target block and a second block adjacent to a top of the target block, wherein the selecting available blocks comprises:
determining which of an inter prediction and an intra prediction is applied to the first block, wherein when it is determined that the intra prediction is applied to the first block, the first block is not selected as an available block,
determining which of the inter prediction and the intra prediction is applied to the second block, wherein when it is determined that the intra prediction is applied to the second block, the second block is not selected as an available block,
determining whether a motion vector of the first block is identical to a motion vector of the second block,
selecting the first block and the second block as available blocks when the inter prediction is applied to the first block and the second block and the motion vector of the first block is different from the motion vector of the second block, and
selecting one of the first block and the second block as an available block when the inter prediction is applied to the first block and the second block and the motion vector of the first block is identical to the motion vector of the second block, wherein the other of the first block and the second block is not selected as an available block;
decode, from input encoded data, selection information specifying one of the available blocks;
select a block from the available blocks in accordance with the selection information;
generate a predicted image of the target block using a motion vector of the selected block;
decode a transform coefficient from the input encoded data;
perform processing on the transform coefficient to obtain a prediction error, the processing including inverse transform; and
generate a decoded image by adding the predicted image and the prediction error.

### Claim 3

An image encoding method comprising:
selecting available blocks from already-encoded blocks, the already-encoded blocks including a first block adjacent to a left of a target block and a second block adjacent to a top of the target block, wherein the selecting available blocks comprises:
determining which of an inter prediction and an intra prediction is applied to the first block, wherein when it is determined that the intra prediction is applied to the first block, the first block is not selected as an available block,
determining which of the inter prediction and the intra prediction is applied to the second block, wherein when it is determined that the intra prediction is applied to the second block, the second block is not selected as an available block,
determining whether a motion vector of the first block is identical to a motion vector of the second block,
selecting the first block and the second block as available blocks when the inter prediction is applied to the first block and the second block and the motion vector of the first block is different from the motion vector of the second block, and
selecting one of the first block and the second block as an available block when the inter prediction is applied to the first block and the second block and the motion vector of the first block is identical to the motion vector of the second block, wherein the other of the first block and the second block is not selected as an available block;
selecting a block from the available blocks;
encoding selection information specifying the selected block;
generating a predicted image of the target block using a motion vector of the selected block;
generating a prediction error indicating a difference between an input image and the predicted image;
transforming the prediction error to obtain a transform coefficient; and
encoding the transform coefficient.

### Claim 4

An image encoding apparatus comprising:
processing circuitry configured to:
select available blocks from already-encoded blocks, the already-encoded blocks including a first block adjacent to a left of a target block and a second block adjacent to a top of the target block, wherein the selecting available blocks comprises:
determining which of an inter prediction and an intra prediction is applied to the first block, wherein when it is determined that the intra prediction is applied to the first block, the first block is not selected as an available block,
determining which of the inter prediction and the intra prediction is applied to the second block, wherein when it is determined that the intra prediction is applied to the second block, the second block is not selected as an available block,
determining whether a motion vector of the first block is identical to a motion vector of the second block,
selecting the first block and the second block as available blocks when the inter prediction is applied to the first block and the second block and the motion vector of the first block is different from the motion vector of the second block, and
selecting one of the first block and the second block as an available block when the inter prediction is applied to the first block and the second block and the motion vector of the first block is identical to the motion vector of the second block, wherein the other of the first block and the second block is not selected as an available block;
select a block from the available blocks;
encode selection information specifying the selected block;
generate a predicted image of the target block using a motion vector of the selected block;
generate a prediction error indicating a difference between an input image and the predicted image;
transform the prediction error to obtain a transform coefficient; and
encode the transform coefficient.
