# US 12,603,994 B2 · Video encoding and decoding using intra block copy

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

- Number: US 12,603,994 B2
- Document ID: US12603994B2
- Status: Granted
- Kind: B2
- Application number: 18/650,490
- Filed: 2024-04-30
- Published: 2024-08-22
- Granted: 2026-04-14
- Earliest claimed: 2019-03-14
- Assignees: SK Telecom Co., Ltd.
- Applicants: SK Telecom Co., Ltd.
- Inventors: Jae Il Kim; Sun Young Lee; Kyung Hwan Ko; Jae Seob Shin
- Web page: https://patentgrep.com/patent/US12603994B2

## 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/11: among a plurality of spatial predictive coding modes
- 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/593: involving spatial prediction techniques
- 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

A video decoding method for predicting a picture, which is split into equal-sized coding tree blocks, in units of blocks, the method includes: reconstructing a block vector for a current coding block in a current coding tree block to be decoded, by decoding block vector information from a bitstream, wherein the current coding block is one of blocks split from the current coding tree block in a tree structure; and setting, as a prediction block of the current coding block, a reference block indicated by the block vector in the picture in which the current coding block is located.

## Claims

### Claim 1

A video decoding method of predicting a picture, which is split into equal-sized coding tree blocks, in units of blocks, the video decoding method comprising:
reconstructing a block vector for a current coding block in a current coding tree block to be decoded, by decoding block vector information from a bitstream, wherein the current coding block is one of blocks split from the current coding tree block in a tree structure;
setting, as a prediction block of the current coding block, a reference block indicated by the block vector in the picture in which the current coding block is located; and
reconstructing the current block based on the prediction block,
wherein a value of the block vector is limited to prevent the reference block from being located outside a search area that is set in at least one of the current coding tree block and a left coding tree block of the current coding tree block, and
the search area is selected from pre-decoded processing regions among a plurality of processing regions which are split in an equal size from each of the current coding tree block and the left coding tree block, and
wherein a processing region of a plurality of processing regions in the left coding tree block, which is co-located with a current processing region containing the current coding block within the current coding tree block, is not set as the search area for the current coding block and a coding block which is included in the current coding tree block and is to be decoded after the current coding block.

### Claim 2 (depends on 1)

The video decoding method of claim 1, wherein the coding tree blocks have a size of 128×128, and the processing regions have a size of 64×64.

### Claim 3 (depends on 1)

The video decoding method of claim 1, wherein the search area is selected on the basis of a position at which the current processing region is located in the current coding tree block.

### Claim 4 (depends on 1)

The video decoding method of claim 1, wherein the search area further includes a pre-decoded portion in a current processing region including the current coding block.

### Claim 5 (depends on 1)

The video decoding method of claim 1, wherein the search area is selected from among the plurality of processing regions which are split in the equal size from each of the current coding tree block and the left coding tree block, by a predetermined number starting from a processing region that has been most recently decoded in a decoding order.

### Claim 6 (depends on 1)

The video decoding method of claim 1, wherein the reconstructing of the block vector comprises:
generating an intermediate block vector using the block vector information; and
compensating for the block vector by adding, to the intermediate block vector, a vector from an upper left sample included in the current coding block to an upper left sample included in a current processing region which includes the current coding block.

### Claim 7 (depends on 1)

The video decoding method of claim 1, wherein, when the block vector is located outside the search area, a clipping operation is performed to modify the block vector to indicate a boundary of the search area.

### Claim 8 (depends on 7)

The video decoding method of claim 7, wherein the clipping operation is performed to modify the block vector to indicate a sample closest to a sample indicated by the block vector among samples on the boundary of the search area.

### Claim 9 (depends on 7)

The video decoding method of claim 7, wherein the clipping operation is performed to scale the block vector to indicate a sample on the boundary of the search area.

### Claim 10

A video encoding method of predicting a picture, which is split into equal-sized coding tree blocks, in units of blocks, the video encoding method comprising:
determining a block vector of a current coding block of a current coding tree block to be encoded, wherein the current coding block is one of blocks split in a tree structure from the current coding tree block;
setting, as a prediction block of the current coding block, a reference block indicated by the block vector in the picture in which the current coding block is located;
encoding information about the block vector; and
generating a residual block based on the prediction block and encoding the residual block,
wherein a value of the block vector is limited to prevent the reference block from being located outside a search area that is set in at least one of the current coding tree block and a left coding tree block of the current coding tree block, and
the search area is selected from among pre-encoded processing regions among a plurality of processing regions which are split in an equal size from each of the current coding tree block and the left coding tree block, and
wherein a processing region of a plurality of processing regions in the left coding tree block, which is co-located with a current processing region containing the current coding block within the current coding tree block, is not set as the search area for the current coding block and a coding block which is to be subsequently encoded in the current coding tree block.

### Claim 11 (depends on 10)

The video encoding method of claim 10, wherein the coding tree blocks have a size of 128×128, and the processing regions have a size of 64×64.

### Claim 12 (depends on 10)

The video encoding method of claim 10, wherein the search area is selected on the basis of a position at which the current processing region is located in the current coding tree block.

### Claim 13 (depends on 10)

The video encoding method of claim 10, wherein the search area further comprises a pre-encoded portion in a current processing region including the current coding block.

### Claim 14 (depends on 10)

The video encoding method of claim 10, wherein the search area is selected from among the plurality of processing regions which are split in the equal size from each of the current coding tree block and the left coding tree block, by a predetermined number starting from a processing region which has been most recently encoded in an encoding order.

### Claim 15

A method for providing a video decoding device with video data, the method comprising:
encoding the video data into a bitstream; and
transmitting the bitstream to the video decoding device,
wherein the encoding of the video data includes
determining a block vector of a current coding block of a current coding tree block to be encoded, wherein the current coding block is one of blocks split in a tree structure from the current coding tree block;
setting, as a prediction block of the current coding block, a reference block indicated by the block vector in the picture in which the current coding block is located;
encoding information about the block vector; and
generating a residual block based on the prediction block and encoding the residual block,
wherein a value of the block vector is limited to prevent the reference block from being located outside a search area that is set in at least one of the current coding tree block and a left coding tree block of the current coding tree block, and
the search area is selected from among pre-encoded processing regions among a plurality of processing regions which are split in an equal size from each of the current coding tree block and the left coding tree block, and
wherein a processing region of a plurality of processing regions in the left coding tree block, which is co-located with a current processing region containing the current coding block within the current coding tree block, is not set as the search area for the current coding block and a coding block which is to be subsequently encoded in the current coding tree block.
