# US 11,310,523 B2 · Method and apparatus for block vector prediction with integer offsets in intra picture block compensation

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

- Number: US 11,310,523 B2
- Document ID: US11310523B2
- Status: Granted
- Kind: B2
- Application number: 16/742,684
- Filed: 2020-01-14
- Published: 2020-07-16
- Granted: 2022-04-19
- Earliest claimed: 2019-01-15
- Assignees: Tencent America LLC
- Applicants: Tencent America LLC
- Inventors: Xiaozhong Xu; Xiang Li; Shan Liu
- Web page: https://patentgrep.com/patent/US11310523B2

## CPC

- H04N 19/52: by predictive encoding
- H04N 19/124: Quantisation
- 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/91: Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method of video decoding performed by a video decoder includes receiving a coded video bitstream containing a current picture. The method includes determining whether a current block in the current picture is coded in intra block copy (IBC) mode. The method includes in response to a determination that the current block is coded in IBC mode, determining whether a mode with a motion vector offset is enabled for the IBC encoded current block. The method further includes in response to a determination that the mode with the motion vector offset is enabled for the IBC encoded current block, decoding the current block in accordance with an offset associated with the current block. Furthermore, the fractional offsets are not permitted for the IBC encoded current block.

## Claims

### Claim 1

A method of video decoding performed by a video decoder, the method comprising:
receiving a coded video bitstream containing a current picture;
determining whether a current block in the current picture is coded in intra block copy (IBC) mode;
in response to a determination that the current block is coded in the IBC mode, determining whether a mode with a motion vector offset is enabled for the IBC encoded current block; and
in response to a determination that the mode with the motion vector offset is enabled for the IBC encoded current block, decoding the current block in accordance with an offset associated with the current block,
wherein fractional offsets are not permitted for the IBC encoded current block irrespective of whether a first flag that indicates whether fractional offsets are permitted for the mode with the motion vector offset (i) is signaled in the coded video bitstream and (ii) is a value permitting fractional offsets, and
wherein, in response to a determination that the motion vector offset is a fractional offset, the motion vector offset is left shifted such that the motion vector offset is converted from the fractional offset to an integer offset.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the determination that the current block is coded in the IBC mode is based on a second flag that indicates that the IBC mode is enabled for the current block, and
wherein in response to the determination that the second flag indicates that the IBC mode is enabled for the current block, the mode with the motion vector offset is determined to be enabled for the current block.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the determination that the current block is coded in the IBC mode is based on a second flag that indicates that the IBC mode is enabled for the current block, and
wherein in response to the determination that the second flag indicates that the IBC mode is enabled for the current block, the mode with the motion vector offset is determined to be enabled for the current block in response to a determination that a third flag indicates that the mode with vector offset is enabled for the current block.

### Claim 4 (depends on 3)

The method according to claim 3, wherein in response to the determination that the third flag indicates that the mode with the motion vector offset is enabled for the current block, the first flag that indicates whether fractional offsets are permitted is set to false irrespective of whether the first flag (i) is signaled in the coded video bitstream and (ii) is the value permitting fractional offsets.

### Claim 5 (depends on 4)

The method according to claim 4, wherein in response to a determination that one of (i) the third flag and the (ii) second flag is false, the first flag that indicates whether fractional offsets is enabled is signaled in the coded video bitstream.

### Claim 6 (depends on 1)

The method according to claim 1, wherein in response to the determination that the mode with motion vector offset is enabled for the IBC encoded current block, the offset is selected from a table that specifies a plurality of offset distances each of which is a power of 2.

### Claim 7

A video decoder for video decoding, comprising:
processing circuitry configured to:
receive a coded video bitstream containing a current picture,
determine whether a current block in the current picture is coded in intra block copy (IBC) mode,
in response to a determination that the current block is coded in the IBC mode, determine whether a mode with a motion vector offset is enabled for the IBC encoded current block, and
in response to a determination that the mode with the motion vector offset is enabled for the IBC encoded current block, decode the current block in accordance with an offset associated with the current block,
wherein fractional offsets are not permitted for the IBC encoded current block irrespective of whether a first flag that indicates whether fractional offsets are permitted for the mode with the motion vector offset (i) is signaled in the coded video bitstream and (ii) is a value permitting fractional offsets, and
wherein, in response to a determination that the motion vector offset is a fractional offset, the motion vector offset is left shifted such that the motion vector offset is converted from the fractional offset to an integer offset.

### Claim 8 (depends on 7)

The video decoder according to claim 7, wherein the determination that the current block is coded in the IBC mode is based on a second flag that indicates that the IBC mode is enabled for the current block, and
wherein in response to the determination that the second flag indicates that the IBC mode is enabled for the current block, the mode with the motion vector offset is determined to be enabled for the current block.

### Claim 9 (depends on 8)

The video decoder according to claim 8, wherein the determination that the current block is coded in the IBC mode is based on a second flag that indicates that the IBC mode is enabled for the current block, and
wherein in response to the determination that the second flag indicates that the IBC mode is enabled for the current block, the mode with the motion vector offset is determined to be enabled for the current block in response to a determination that a third flag indicates that the mode with vector offset is enabled for the current block.

### Claim 10 (depends on 9)

The video decoder according to claim 9, wherein in response to the determination that the third flag indicates that the mode with the motion vector offset is enabled for the current block, the first flag that indicates whether fractional offsets are permitted is set to false irrespective of whether the first flag (i) is signaled in the coded video bitstream and (ii) is the value permitting fractional offsets.

### Claim 11 (depends on 10)

The video decoder according to claim 10, wherein in response to a determination that one of (i) the third flag and the (ii) second flag is false, the first flag that indicates whether fractional offsets is enabled is signaled in the coded video bitstream.

### Claim 12 (depends on 7)

The video decoder according to claim 7, wherein in response to the determination that the mode with motion vector offset is enabled for the IBC encoded current block, the offset is selected from a table that specifies a plurality of offset distances each of which is a power of 2.

### Claim 13

A non-transitory computer readable medium having instructions stored therein, which when executed by a processor in method of video decoding performed by a video decoder, the method comprising:
receiving a coded video bitstream containing a current picture;
determining whether a current block in the current picture is coded in intra block copy (IBC) mode;
in response to a determination that the current block is coded in the IBC mode, determining whether a mode with a motion vector offset is enabled for the IBC encoded current block; and
in response to a determination that the mode with the motion vector offset is enabled for the IBC encoded current block, decoding the current block in accordance with an offset associated with the current block,
wherein fractional offsets are not permitted for the IBC encoded current block irrespective of whether a first flag that indicates whether fractional offsets are permitted for the mode with the motion vector offset (i) is signaled in the coded video bitstream and (ii) is a value permitting fractional offsets, and
wherein, in response to a determination that the motion vector offset is a fractional offset, the motion vector offset is left shifted such that the motion vector offset is converted from the fractional offset to an integer offset.

### Claim 14 (depends on 13)

The non-transitory computer readable medium according to claim 13, wherein the determination that the current block is coded in the IBC mode is based on a second flag that indicates that the IBC mode is enabled for the current block, and
wherein in response to the determination that the second flag indicates that the IBC mode is enabled for the current block, the mode with the motion vector offset is determined to be enabled for the current block.

### Claim 15 (depends on 13)

The non-transitory computer readable medium according to claim 13, wherein the determination that the current block is coded in the IBC mode is based on a second flag that indicates that the IBC mode is enabled for the current block, and
wherein in response to the determination that the second flag indicates that the IBC mode is enabled for the current block, the mode with the motion vector offset is determined to be enabled for the current block in response to a determination that a third flag indicates that the mode with vector offset is enabled for the current block.

### Claim 16 (depends on 15)

The non-transitory computer readable medium according to claim 15, wherein in response to the determination that the third flag indicates that the mode with the motion vector offset is enabled for the current block, the first flag that indicates whether fractional offsets are permitted is set to false irrespective of whether the first flag (i) is signaled in the coded video bitstream and (ii) is the value permitting fractional offsets.

### Claim 17 (depends on 16)

The non-transitory computer readable medium according to claim 16, wherein in response to a determination that one of (i) the third flag and the (ii) second flag is false, the first flag that indicates whether fractional offsets is enabled is signaled in the coded video bitstream.
