# US 12,120,290 B2 · Method and apparatus for intra block copy mode coding with search range switching

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

- Number: US 12,120,290 B2
- Document ID: US12120290B2
- Status: Granted
- Kind: B2
- Application number: 17/704,948
- Filed: 2022-03-25
- Published: 2023-03-23
- Granted: 2024-10-15
- Earliest claimed: 2021-09-17
- Assignees: Tencent America LLC
- Applicants: Tencent America LLC
- Inventors: Xiaozhong Xu; Xin Zhao; Shan Liu
- Web page: https://patentgrep.com/patent/US12120290B2

## 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/119: Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
- H04N 19/129: Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
- H04N 19/132: Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
- 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/436: using parallelised computational arrangements
- H04N 19/46: Embedding additional information in the video signal during the compression process (H04N19/517, H04N19/68, H04N19/70 take precedence)
- 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: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

This disclosure relates generally to video coding and particularly to intra block copy coding mode. For example, a method is disclosed for reconstructing a video block in a video stream. The method may include extracting at least one syntax element from the video stream, the at least one syntax element being associated with an intra block copy (IBC) prediction of the video block; determining an IBC referencing mode for the IBC prediction of the video block, the IBC referencing mode comprises one of no-IBC mode, a local-referencing IBC mode, a non-local-referencing IBC mode, and a local-and-non-local-referencing IBC mode; and generating reconstructed samples of the video block from the video stream based on the IBC referencing mode.

## Claims

### Claim 1

A method for reconstructing a video block in a video stream, comprising:
receiving the video stream;
extracting at least one syntax element from the video stream, the at least one syntax element being associated with intra block copy (IBC) prediction of the video block;
determining an IBC referencing mode for the IBC prediction of the video block according to the at least one syntax element, the IBC referencing mode being selected from a predefined set of IBC referencing modes including a no-IBC mode, a local-referencing IBC mode, a non-local-referencing IBC mode, and a local-and-non-local-referencing IBC mode, wherein the local-referencing IBC mode, the non-local-referencing IBC mode, and the local-and-non-local-referencing IBC mode indicate relative location of an IBC reference block to the video block that is allowed for the IBC prediction of the video block;
determining the relative location of the IBC reference block and one of a local search area or non-local search area for the IBC reference block based on the IBC reference mode; and
generating reconstructed samples of the video block from the video stream based on the IBC referencing mode.

### Claim 2 (depends on 1)

The method of claim 1, wherein the video block belongs to a current IBC prediction unit comprising a plurality of video blocks.

### Claim 3 (depends on 2)

The method of claim 2, wherein, for the non-local-referencing IBC mode, a reference block for the IBC prediction of the video block comprises reference samples in reconstructed intra-frame areas that are non-neighbors to the current IBC prediction unit in a coding direction of the current IBC prediction unit.

### Claim 4 (depends on 2)

The method of claim 2, wherein, for the local-referencing IBC mode, a reference block for the IBC prediction of the video block comprises reference samples in a predefined set of neighboring units of the current IBC prediction unit or video blocks already-reconstructed in the current IBC prediction unit.

### Claim 5 (depends on 4)

The method of claim 4, wherein the predefined set of neighboring units comprise a single left neighboring unit of the current IBC prediction unit.

### Claim 6 (depends on 4)

The method of claim 4, wherein, for the local-referencing IBC mode, reference samples for the IBC prediction are maintained in an on-chip reference sample memory (RSM) of a fixed size.

### Claim 7 (depends on 6)

The method of claim 6, wherein the fixed size of the RSM corresponds to a size of one IBC prediction unit.

### Claim 8 (depends on 7)

The method of claim 7, wherein:
first portions of the RSM comprise corresponding samples of the video blocks already-reconstructed in the current IBC prediction unit; and
second portions of the RSM comprise corresponding reconstructed samples from the predefined set of neighboring units.

### Claim 9 (depends on 8)

The method of claim 8, further comprising replacing reconstructed samples of the predefined set of neighboring units in the RSM corresponding to the video block in the current IBC prediction unit with the reconstructed samples of the video block.

### Claim 10 (depends on 6)

The method of claim 6, wherein:
the current IBC prediction unit is split into a predefined set of divisions;
the video block is a first coding block to be reconstructed of a current division among the predefined set of divisions; and
the method further comprises resetting a division of the RSM corresponding to the current division as being unavailable for IBC referencing prior to reconstruction of the video block.

### Claim 11 (depends on 2)

The method of claim 2, wherein the at least one syntax element comprises a first flag for indicating that local IBC referencing is enabled when being set and a second flag for indicating that non-local referencing IBC is enabled when being set.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
in response to the first flag being set and the second flag not being set, determining that the IBC referencing mode is the local-referencing IBC mode;
in response to the second flag being set and the first flag not being set, determining that the IBC referencing mode is the non-local-referencing IBC mode;
in response to both the first flag and the second flag not being set, determining that the IBC referencing mode is the local-and-non-local-referencing IBC mode; and
in response to both the first flag and the second flag not being set, determining that the IBC referencing mode is the no-IBC mode.

### Claim 13 (depends on 11)

The method of claim 11, where the first flag and the second flag are signaled in the video stream at a coding block level, coding unit level, a coding tree unit level, a slice level, a picture level, or a sequence level.

### Claim 14 (depends on 2)

The method of claim 2, wherein the at least one syntax element comprises a first flag for indicating whether IBC is used for the video block.

### Claim 15 (depends on 14)

The method of claim 14, further comprising:
in response to the first flag indicating that IBC is not used for the video block, determining that the IBC referencing mode is the no-IBC mode.

### Claim 16 (depends on 15)

The method of claim 15, further comprising:
in response to the first flag indicating that IBC is used for the video block, further extracting, as part of the at least one syntax element, a second flag for indicating whether non-local IBC referencing is used;
in response to the second flag indicating that non-local IBC referencing not used, inferring that the IBC referencing mode for the video block is the local-referencing IBC mode.

### Claim 17 (depends on 16)

The method of claim 16, further comprising:
in response to the second flag indicating that non-local IBC referencing is used, further extract, as part of the at least one syntax element, a third flag for indicating whether local-IBC referencing is used;
in response to the third flag indicating that local-IBC referencing is used, determining that the IBC referencing mode is the local-and-non-local-referencing IBC mode; and
in response to the third flag indicating that local-IBC referencing is not used, determining that the IBC referencing mode is the non-local-referencing IBC mode.

### Claim 18 (depends on 1)

The method of claim 1, wherein:
a loop filtering process is enabled when the IBC referencing mode is the local-referencing IBC mode; and
the loop filtering process is disabled when the IBC referencing mode is the non-local-referencing IBC mode or the local-and-non-local-referencing IBC mode.

### Claim 19 (depends on 18)

The method of claim 18, wherein whether the loop filter process is enabled is derived from the at least one syntax element for signaling the IBC referencing mode.

### Claim 20

A video processing device for reconstructing a video block in a video stream, comprising a memory for storing computer instructions and a processor for executing the computer instructions to:
extract at least one syntax element from the video stream, the at least one syntax element being associated with an intra block copy (IBC) prediction of the video block;
determine an IBC referencing mode for the IBC prediction of the video block according to the at least one syntax element, the IBC referencing mode being selected from a predefined set of IBC referencing modes including a no-IBC mode, a local-referencing IBC mode, a non-local-referencing IBC mode, and a local-and-non-local-referencing IBC mode, wherein the local-referencing IBC mode, the non-local-referencing IBC mode, and the local-and-non-local-referencing IBC mode indicate relative location of an IBC reference block to the video block that is allowed for the IBC prediction of the video block;
determine the relative location of the IBC reference block and one of a local search area or non-local search area for the IBC reference block based on the IBC reference mode; and
generate reconstructed samples of the video block from the video stream based on the IBC referencing mode.
