# US 12,120,313 B2 · Restriction of applicability for intra block copy mode

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

- Number: US 12,120,313 B2
- Document ID: US12120313B2
- Status: Granted
- Kind: B2
- Application number: 17/714,541
- Filed: 2022-04-06
- Published: 2022-07-21
- Granted: 2024-10-15
- Earliest claimed: 2019-02-17
- Assignees: Beijing Bytedance Network Technology Co., Ltd.; Bytedance Inc.
- Applicants: Beijing Bytedance Network Technology Co., Ltd.; Bytedance Inc.
- Inventors: Hongbin Liu; Li Zhang; Kai Zhang; Jizheng Xu; Yue Wang
- Web page: https://patentgrep.com/patent/US12120313B2

## CPC

- H04N 19/159: Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
- 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/139: Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/184: the unit being bits, e.g. of the compressed video stream
- H04N 19/52: by predictive encoding
- H04N 19/56: Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
- H04N 19/593: involving spatial prediction techniques
- H04N 19/96: Tree coding, e.g. quad-tree coding
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method for video processing is provided to include determining, for a conversion between a current video block of a video and a coded representation of the video, whether an intra block copy (IBC) mode in which a prediction block for the current video block is calculated based on a block vector in a picture that includes current video block is enabled based on a rule on a block dimension; and performing the conversion based on the determining.

## Claims

### Claim 1

A method of processing video data, comprising:
determining, for a conversion between a current video block of a video and a bitstream of the video, whether a first prediction mode is enabled based on a rule; and
performing the conversion based on the determining;
wherein in the first prediction mode, prediction samples are derived from blocks of sample values of a same decoded slice as determined by block vectors, and wherein the rule specifies that the first prediction mode is not enabled in response to a width of the current video block being greater than a first predetermined value or a height of the current video block being greater than a second predetermined value,
wherein the rule further specifies that the first prediction mode is not enabled in response to the current video block being a first block in a coding tree block row including the current video block, and
wherein the method further comprises:
constructing a first motion candidate list for the first prediction mode, wherein a maximum number of motion candidates in the first motion candidate list is equal to M1, M1 being equal to or greater than 1; and
constructing, for a second conversion between a second video block of the video and the bitstream, a second motion candidate list in an inter merge prediction mode, wherein a maximum number of motion candidates in the second motion candidate list is equal to M2, M2 being equal to or greater than 1,
wherein at most L1 candidates in a first history-based motion vector predictor (HMVP) candidate table are inserted into the first motion candidate list, and wherein candidates in the first HMVP candidate table are arranged based on a sequence of an addition of the candidates into the first HMVP candidate table, L1 being equal to or greater than 0,
wherein at most L2 candidates in a second HMVP candidate table are inserted into the second motion candidate list, and wherein candidates in the second HMVP candidate table are arranged based on a sequence of an addition of the candidates into the second HMVP candidate table, L2 being equal to or greater than 0, and
wherein in a case that M1 is equal to M2, L1 is not equal to L2.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first predetermined value being equal to 64.

### Claim 3 (depends on 1)

The method of claim 1, wherein the second predetermined value being equal to 64.

### Claim 4 (depends on 1)

The method of claim 1, wherein the first prediction mode is an intra block copy (IBC) mode, and the IBC mode comprises at least one of an IBC merge mode or an IBC motion vector prediction mode.

### Claim 5 (depends on 1)

The method of claim 1, wherein indications of the first prediction mode for the current video block is not included in the bitstream in response to the first prediction mode is not enabled.

### Claim 6 (depends on 1)

The method of claim 1,
wherein a first field is used to derive M1, a second field is used to derive M2, the first field and the second field are two independent field, and wherein the first field is included in the bitstream.

### Claim 7 (depends on 6)

The method of claim 6, wherein the first field is signaled in a sequence parameter set (SPS).

### Claim 8 (depends on 6)

The method of claim 6, wherein the first motion candidate list is an intra block copy merging candidate list, and wherein the second motion candidate list is an inter merging candidate list.

### Claim 9 (depends on 1)

The method of claim 1, wherein the maximum number of motion candidates in the first motion candidate list is in a range between 1 and 6, and wherein the maximum number of motion candidates in the second motion candidate list is in a range between 1 and 6.

### Claim 10 (depends on 1)

The method of claim 1, wherein the rule further specifies that the blocks of sample values of the same decoded slice as determined by block vectors are from a specific area.

### Claim 11 (depends on 1)

The method of claim 1, wherein the conversion includes encoding the current video block into the bitstream.

### Claim 12 (depends on 1)

The method of claim 1, wherein the conversion includes decoding the current video block from the bitstream.

### Claim 13 (depends on 1)

The method of claim 1, wherein the rule further specifies that the blocks of sample values of the same decoded slice as determined by block vectors are from the coding tree block row including the current video block, and
wherein the rule further specifies that a coding tree block row above the coding tree block row including the current video block is excluded for determining the blocks of sample values of the same decoded slice.

### Claim 14 (depends on 1)

The method of claim 1, wherein at most K1 block vectors of corresponding K1 spatial neighboring blocks are inserted into the first motion candidate list, and wherein K1 being equal to or greater than 1, wherein K1 is derived at least based on M1, and
wherein K1 being equal to 1 in response to M1 being equal to 1.

### Claim 15 (depends on 1)

The method of claim 1, wherein pairwise merge candidate is not inserted into the first motion candidate list, and wherein block vector of a first spatial neighboring block is not inserted into the first motion candidate list in a case that the block vector of the first spatial neighboring block is unavailable.

### Claim 16

An apparatus for processing video data comprising a processor and a non-transitory memory with instructions thereon, wherein the instructions upon execution by the processor, cause the processor to:
determine, for a conversion between a current video block of a video and a bitstream of the video, whether a first prediction mode is enabled based on a rule; and
perform the conversion based on the determination;
wherein in the first prediction mode, prediction samples are derived from blocks of sample values of a same decoded slice as determined by block vectors, and wherein the rule specifies that the first prediction mode is not enabled in response to a width of the current video block being greater than a first predetermined value or a height of the current video block being greater than a second predetermined value,
wherein the rule further specifies that the first prediction mode is not enabled in response to the current video block being a first block in a coding tree block row including the current video block, and
wherein the instructions further cause the processor to:
construct a first motion candidate list for the first prediction mode, wherein a maximum number of motion candidates in the first motion candidate list is equal to M1, M1 being equal to or greater than 1; and
construct, for a second conversion between a second video block of the video and the bitstream, a second motion candidate list in an inter merge prediction mode, wherein a maximum number of motion candidates in the second motion candidate list is equal to M2, M2 being equal to or greater than 1,
wherein at most L1 candidates in a first history-based motion vector predictor (HMVP) candidate table are inserted into the first motion candidate list, and wherein candidates in the first HMVP candidate table are arranged based on a sequence of an addition of the candidates into the first HMVP candidate table, L1 being equal to or greater than 0,
wherein at most L2 candidates in a second HMVP candidate table are inserted into the second motion candidate list, and wherein candidates in the second HMVP candidate table are arranged based on a sequence of an addition of the candidates into the second HMVP candidate table, L2 being equal to or greater than 0, and
wherein in a case that M1 is equal to M2, L1 is not equal to L2.

### Claim 17 (depends on 16)

The apparatus of claim 16, wherein the first predetermined value being equal to 64, and wherein the second predetermined value being equal to 64.

### Claim 18 (depends on 16)

The apparatus of claim 16, wherein pairwise merge candidate is not inserted into the first motion candidate list, and wherein block vector of a first spatial neighboring block is not inserted into the first motion candidate list in a case that the block vector of the first spatial neighboring block is unavailable.

### Claim 19

A non-transitory computer-readable storage medium storing instructions that cause a processor to:
determine, for a conversion between a current video block of a video and a bitstream of the video, whether a first prediction mode is enabled based on a rule; and
perform the conversion based on the determination;
wherein in the first prediction mode, prediction samples are derived from blocks of sample values of a same decoded slice as determined by block vectors, and wherein the rule specifies that the first prediction mode is not enabled in response to a width of the current video block being greater than a first predetermined value or a height of the current video block being greater than a second predetermined value,
wherein the rule further specifies that the first prediction mode is not enabled in response to the current video block being a first block in a coding tree block row including the current video block, and
wherein the instructions further cause the processor to:
construct a first motion candidate list for the first prediction mode, wherein a maximum number of motion candidates in the first motion candidate list is equal to M1, M1 being equal to or greater than 1; and
construct, for a second conversion between a second video block of the video and the bitstream, a second motion candidate list in an inter merge prediction mode, wherein a maximum number of motion candidates in the second motion candidate list is equal to M2, M2 being equal to or greater than 1,
wherein at most L1 candidates in a first history-based motion vector predictor (HMVP) candidate table are inserted into the first motion candidate list, and wherein candidates in the first HMVP candidate table are arranged based on a sequence of an addition of the candidates into the first HMVP candidate table, L1 being equal to or greater than 0,
wherein at most L2 candidates in a second HMVP candidate table are inserted into the second motion candidate list, and wherein candidates in the second HMVP candidate table are arranged based on a sequence of an addition of the candidates into the second HMVP candidate table, L2 being equal to or greater than 0, and
wherein in a case that M1 is equal to M2, L1 is not equal to L2.

### Claim 20

A method for storing a bitstream of a video, comprising:
determining, for a current video block of the video, that whether a first prediction mode is enabled based on a rule; and
generating the bitstream based on the determining; and
storing the bitstream in a non-transitory computer-readable recording medium;
wherein in the first prediction mode, prediction samples are derived from blocks of sample values of a same decoded slice as determined by block vectors, and wherein the rule specifies that the first prediction mode is not enabled in response to a width of a current video block of the video being greater than a first predetermined value or a height of the current video block being greater than a second predetermined value,
wherein the rule further specifies that the first prediction mode is not enabled in response to the current video block being a first block in a coding tree block row including the current video block, and
wherein the method further comprises:
constructing a first motion candidate list for the first prediction mode, where in a maximum number of motion candidates in the first motion candidate list is equal to M1, M1 being equal to or greater than 1; and
constructing, for a second conversion between a second video block of the video and the bitstream, a second motion candidate list in an inter merge prediction mode, wherein a maximum number of motion candidates in the second motion candidate list is equal to M2, M2 being equal to or greater than 1,
wherein at most L1 candidates in a first history-based motion vector predictor (HMVP) candidate table are inserted into the first motion candidate list, and wherein candidates in the first HMVP candidate table are arranged based on a sequence of an addition of the candidates into the first HMVP candidate table, L1 being equal to or greater than 0,
wherein at most L2 candidates in a second HMVP candidate table are inserted into the second motion candidate list, and wherein candidates in the second HMVP candidate table are arranged based on a sequence of an addition of the candidates into the second HMVP candidate table, L2 being equal to or greater than 0, and
wherein in a case that M1 is equal to M2, L1 is not equal to L2.
