# US 10,455,244 B2 · Method and device for entropy encoding or entropy decoding video signal for high-capacity parallel processing

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

- Number: US 10,455,244 B2
- Document ID: US10455244B2
- Status: Granted
- Kind: B2
- Application number: 15/526,847
- Filed: 2015-11-16
- Published: 2017-12-14
- Granted: 2019-10-22
- Earliest claimed: 2014-11-14
- Assignees: LG Electronics Inc.
- Applicants: LG Electronics Inc.
- Inventors: Amir Said
- Web page: https://patentgrep.com/patent/US10455244B2

## CPC

- H04N 19/436: using parallelised computational arrangements
- H04N 19/13: Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
- 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: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Disclosed is a method for encoding a video signal using parallel implementations, including generating data symbols to be encoded, encoding 1st data symbols being in a base segment, copying 2nd data symbols being in another segment to a buffer, and encoding in parallel the 2nd data symbols being in the another segment.

## Claims

### Claim 1

A method for encoding a video signal using parallel implementations, the method performed by at least one processor, comprising:
generating data symbols to be encoded, wherein the data symbols are assigned to a base segment and another segment;
encoding first data symbols in the base segment, wherein the first data symbols are encoded in serial by a serial processing using first probability information which is selected by a first context model selection unit in a serial processing block;
copying second data symbols in the another segment to a plurality of buffers in a parallel processing block which is connected in parallel to the serial processing block;
encoding the second data symbols in the parallel processing block, wherein each of the second data symbols are encoded in parallel by a parallel processing using second probability information which is selected by a second context model selection unit in the parallel processing block; and
creating a data header when the first data symbols and the second data symbols are encoded,
wherein the data header includes indexes of the base segment and the another segment.

### Claim 2 (depends on 1)

The method of claim 1, wherein a load-balancing algorithm is used for assigning segments to different threads.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
concatenating all segments to create a single data array.

### Claim 4 (depends on 1)

The method of claim 1, wherein a non-blocking process starts when the data symbols are assigned to a data segment.

### Claim 5

A method for decoding a video signal based on parallel implementations, the method performed by at least one processor, comprising:
reading data segments in a data header;
entropy-decoding first data symbols in a base segment of the data segments, wherein the first data symbols are decoded in serial by a serial processing using first probability information which is selected by a first context model selection unit in a serial processing block;
entropy-decoding second data symbols in all remaining data segments except the base segment using multiple threads,
wherein the second data symbols are read from a plurality of buffers in a parallel processing block which is connected in parallel to the serial processing block, and
wherein each of the second data symbols are decoded in parallel by a parallel processing based on second probability information which is selected by a second model selection unit in the parallel processing block; and
reconstructing the video signal based on the first data symbols and the second data symbols.

### Claim 6

An apparatus for encoding a video signal using parallel implementations, the apparatus comprising:
at least one processor configured to:
generate data symbols to be encoded, wherein the data symbols are assigned to a base segment and another segment;
encode first data symbols in the base segment, wherein the first data symbols are encoded in serial by a serial processing using first probability information which is selected by a first context model selection unit in a serial processing block;
copy second data symbols in the another segment to a plurality of buffers in a parallel processing block which is connected in parallel to the serial processing block;
encode the second data symbols in the parallel processing block, wherein each of the second data symbols are encoded in parallel by a parallel processing using second probability information which is selected by a second context model selection unit in the parallel processing block; and
create a data header when the first data symbols and the second data symbols are encoded,
wherein the data header includes indexes of the base segment and the another segment.

### Claim 7 (depends on 6)

The apparatus of claim 6, wherein a load-balancing algorithm is used for assigning segments to different threads.

### Claim 8 (depends on 6)

The apparatus of claim 6, wherein the at least one processor is further configured to concatenate all segments to create a single data array.

### Claim 9 (depends on 6)

The apparatus of claim 6, wherein a non-blocking process starts when the data symbols are assigned to a data segment.

### Claim 10

An apparatus for decoding a video signal based on parallel implementations, the apparatus comprising:
at least one processor configured to:
read data segments in a data header;
entropy-decode first data symbols in a base segment of the data segments, wherein the first data symbols are decoded in serial by a serial processing using first probability information which is selected by a first context model selection unit in a serial processing block;
entropy-decode second data symbols in all remaining data segments except the base segment using multiple threads,
wherein the second data symbols are read from a plurality of buffers in a parallel processing block which is connected in parallel to the serial processing block, and
wherein each of the second data symbols are decoded in parallel by a parallel processing based on second probability information which is selected by a second model selection unit in the parallel processing block; and
reconstruct the video signal based on the first data symbols and the second data symbols.
