# US 11,909,954 B2 · Decoding apparatus, encoding apparatus, decoding method, encoding method, and program

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

- Number: US 11,909,954 B2
- Document ID: US11909954B2
- Status: Granted
- Kind: B2
- Application number: 17/283,213
- Filed: 2019-10-10
- Published: 2021-12-09
- Granted: 2024-02-20
- Earliest claimed: 2018-10-31
- Assignees: Nippon Telegraph and Telephone Corporation
- Applicants: Nippon Telegraph and Telephone Corporation
- Inventors: Ken Nakamura; Hiroe Iwasaki; Takayuki Onishi; Daisuke Kobayashi
- Web page: https://patentgrep.com/patent/US11909954B2

## CPC

- 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/436: using parallelised computational arrangements
- H04N 19/159: Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
- H04N 19/174: the region being a slice, e.g. a line of blocks or a group of blocks
- H04N 19/46: Embedding additional information in the video signal during the compression process (H04N19/517, H04N19/68, H04N19/70 take precedence)
- H04N 19/91: Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

In a decoding apparatus configured to perform decoding processing in parallel using N arithmetic decoding units and M image decoding units on a plurality of slices, each slice being composed of at least one encoding block line, the N arithmetic decoding units start arithmetic decoding processing in sequence at time intervals corresponding to slice sizes on a stream that satisfies a condition that a difference between a total number of encoding block lines included in any N consecutive slices and a total number of encoding block lines included in N consecutive slices different from the any N consecutive slices is 1 or less, and a condition that a code amount of each slice is less than a predetermined upper limit code amount.

## Claims

### Claim 1

A decoding apparatus comprising:
a stream input unit configured to obtain, from an encoder, an image stream that comprises a plurality of slices, each slice being composed of at least one encoding block line;
a control unit configured to determine a presence or an absence of a delay reduction flag in the obtained image stream;
based on determining the presence of the delay reduction flag, the stream input unit is configured to determine a decoding start time of each slice of the plurality of slices, the decoding start time determined using (i) a frame rate of the image stream, (ii) a number of encoding block lines per image in the image stream, and (iii) a decoding time of each image in the image stream;
in response to determining the decoding start time for a respective slice has been reached, a plurality of arithmetic decoding units and a plurality of image decoding units are configured to perform arithmetic decoding processing on the respective slice in a predetermined order of each arithmetic decoding unit, wherein a respective arithmetic decoding unit is configured to initiate decoding of a respective slice at time intervals corresponding to slice sizes on the image stream that satisfy conditions of:
a difference between (i) a total number of encoding block lines included in N consecutive slices and (ii) a total number of encoding block lines included in another set of N consecutive slices is 1 or less, and
an amount of code that is controlled for processing the respective slice is within a predetermined upper limit code amount.

### Claim 2 (depends on 1)

The decoding apparatus according to claim 1, wherein in response to acquiring head portions of each of the slices, the arithmetic decoding units are configured to start the arithmetic decoding processing on the image stream resulting from performing code amount control in units of each of the slices on an image stored in a buffer of a size that is the same as the predetermined upper limit code amount.

### Claim 3 (depends on 1)

The decoding apparatus according to claim 1, wherein the control unit is configured to, according to the size of the predetermined upper limit code amount, determine an amount of time from a start time of the arithmetic decoding processing of a first slice in the image stream to a start time of image decoding processing of a first encoding block line of the first slice.

### Claim 4 (depends on 1)

The decoding apparatus according to claim 1, wherein if a condition that, in inter-encoding of an X-th encoding block line from an upper edge of a splice of the obtained image stream, an (M−X)-th encoding block line from a lower edge of a previous slice that was encoded immediately previously is not referenced is satisfied, wherein the decoding apparatus further comprises:
the plurality of image decoding units are configured to perform image decoding processing in sequence at a predetermined time interval on the encoding block lines in response to the arithmetic decoding processing performed by the plurality of arithmetic decoding units.

### Claim 5

An encoding apparatus comprising:
an image division unit configured to (i) obtain an input image and (ii) divide the input image into a first image and a second image;
a first encoder configured to (i) receive the first image and (ii) generate a first plurality of slices of the first image;
a second encoder configured to (i) receive the second image and (ii) generate a second plurality of slices of the second image;
a control unit configured to control an image encoding unit and an arithmetic encoding unit in the first encoder and the second encoder so as to satisfy at least a first condition and a second condition,
wherein the first condition comprises a difference between a total number of encoding block lines included in any N consecutive slices and a total number of encoding block lines included in N consecutive slices different from the any N consecutive slices is 1 or less,
wherein the second condition comprises a code amount of each slice is less than a predetermined upper limit code amount; and
a stream coupling unit configured to (i) generate a stream by combining the first plurality of slices and the second plurality of slices, (ii) to add a delay reduction flag indicating that at least the first condition and the second condition are satisfied in the generated stream, and (iii) output the generated stream to an encoder, wherein a decoding start time is determined using (i) a frame rate of the image stream, (ii) a number of encoding block lines per image in the image stream, and (iii) a decoding time of each image in the image stream.

### Claim 6

A decoding method for performing decoding processing in parallel, the method comprising:
obtaining, from an encoder, an image stream that comprises a plurality of slices, each slice being composed of at least one encoding block line;
determining a presence or an absence of a delay reduction flag in the obtained image stream;
based on determining the presence of the delay reduction flag, determining a decoding start time of each slice of the plurality of slices, the decoding start time determined using (i) a frame rate of the image stream, (ii) a number of encoding block lines per image in the image stream, and (iii) a decoding time of each image in the image stream;
in response to determining the decoding start time for a respective slice has been reached, performing, using a plurality of arithmetic decoding units and a plurality of image decoding units, arithmetic decoding processing on the respective slice in a predetermined order of each arithmetic decoding unit, wherein the arithmetic decoding process initiates decoding of a respective slice at time intervals corresponding to slice sizes on the image stream that satisfy conditions of:
a difference between (i) a total number of encoding block lines included in N consecutive slices and (ii) a total number of encoding block lines included in another set of N consecutive slices is 1 or less, and
(ii) an amount of code that is controlled for processing the respective slice is within a predetermined upper limit code amount.

### Claim 7 (depends on 1)

The decoding apparatus of claim 1, wherein the encoding block line comprises a vertical width of pixels and a horizontal width of pixels.

### Claim 8 (depends on 5)

The encoding apparatus of claim 5, wherein the encoding block line comprises a vertical width of pixels and a horizontal width of pixels.

### Claim 9 (depends on 5)

The encoding apparatus of claim 5, wherein the control unit is configured to determine quantization parameters to apply to the image encoding unit of each of the first encoder and the second encoder to satisfy the second condition.
