IP Library Granted Patent US 11,240,518
Granted Patent B2
US 11,240,518 · App. 16/734,107 · Granted Feb 1, 2022

Method and apparatus for video coding

Inventors: Xiaozhong Xu (State College, PA); Xiang Li (Saratoga, CA); Shan Liu (San Jose, CA)
Assignee: Tencent America LLC
H04N19/44H04N19/105H04N19/132H04N19/159H04N19/176H04N19/186H04N19/423
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,240,518
App. No.
16/734,107
Granted
Feb 1, 2022
Kind
B2
Abstract

Aspects of the disclosure provide method and apparatus for video coding. In the method, prediction information of a current block in a current coding tree unit (CTU) from a coded video bitstream is decoded. The prediction information indicates an intra block copy (IBC) mode. Padded values of a reference block are determined based on a block vector that points to the reference block. The padded values of the reference block are copied from a reference sample line. At least a sample of the current block is reconstructed based on the padded values of the reference block.

Claims (66)

1. A method for video decoding in a decoder, comprising:

decoding prediction information of a current block in a current coding tree unit (CTU) from a coded video bitstream, the prediction information indicating an intra block copy (IBC) mode;

determining which of a combination of vertical padding and horizontal padding is performed to determine padded values of a reference block in a neighboring left CTU included in a fixed search range of blocks in the current CTU;

determining the padded values based on a block vector that points to the reference block and a position of the current block in the CTU, the padded values of the reference block being copied from at least one reference sample line according to the determination of which of the vertical padding and the horizontal padding is performed, availability of reference blocks in the fixed search range varying for each of the blocks in the current CTU; and

reconstructing at least a sample of the current block based on one of (i) the padded values of the reference block and (ii) reconstructed samples of the reference block based on the availability of the reference block in the fixed search range,

wherein the left CTU is padded using a combination of the vertical and the horizontal padding.

2. The method of claim 1 , wherein

the reconstructed samples of the reference block are not stored in a reference sample memory, and

the padded values of the reference block are stored in a memory that is different from the reference sample memory.

3. The method of claim 1 , wherein

the current CTU is partitioned into a top-left coding region, a top-right coding region, a bottom-left coding region, and a bottom-right coding region, and

the current block is in any one of the top-left coding region, the top-right coding region, the bottom-left coding region, and the bottom-right coding region of the current CTU.

4. The method of claim 1 , wherein the reference block is padded vertically by the reference sample line above the current CTU or horizontally by the reference sample line to the left of the current CTU.

5. The method of claim 2 , wherein

when a maximum size of the reference sample memory is limited to four sets of 64×64 luma samples and corresponding chroma samples,

the reference sample memory stores reconstructed samples of a current 64×64 coding region and reconstructed samples of three 64×64 reference coding regions, each of the three 64×64 reference coding regions being either in one of the current CTU and the left CTU, and

the three 64×64 reference coding regions do not include all the reconstructed samples of the reference block.

6. The method of claim 2 , wherein

the left CTU is partitioned into a top-left reference coding region, a top-right reference coding region, a bottom-left reference coding region, and a bottom-right reference coding region, and

each of the reference coding regions in the left CTU including reconstructed samples that are not stored in the reference sample memory is padded by the reference sample line above the current CTU or to the left of the current CTU.

7. The method of claim 2 , wherein

the left CTU is partitioned into a top-left reference coding region, a top-right reference coding region, a bottom-left reference coding region, and a bottom-right reference coding region, and

the reference block is included in the top-right reference coding region or the bottom-right reference coding region of the left CTU, or in the current CTU.

8. The method of claim 7 , wherein

when a maximum size of the reference sample memory is limited to three sets of 64×64 luma samples and corresponding chroma samples,

the reference sample memory stores reconstructed samples of a current 64×64 coding region and reconstructed samples of two 64×64 reference coding regions, each of the two 64×64 reference coding regions being either in one of the current CTU and the left CTU, and

the two 64×64 reference coding regions do not include all the reconstructed samples of the reference block.

9. The method of claim 7 , wherein each of the top-right reference coding region of the left CTU, the bottom-right reference coding region of the left CTU, and reference coding regions in the current CTU including reconstructed samples that are not stored in the reference sample memory is padded by the reference sample line above the current CTU or to the left of the current CTU.

10. The method of claim 7 , wherein

when a maximum size of the reference sample memory is limited to two sets of 64×64 luma samples and corresponding chroma samples,

the reference sample memory stores reconstructed samples of a current 64×64 coding region and reconstructed samples of one 64×64 reference coding region in one of the current CTU or the left CTU, and

the 64×64 reference coding region includes all the reconstructed samples of the reference block.

11. The method of claim 10 , wherein each of the top-right reference coding region of the left CTU, the bottom-right reference coding region of the left CTU, and reference coding regions in the current CTU including reconstructed samples that are not stored in the reference sample memory is padded by the reference sample line above the current CTU or to the left of the current CTU.

12. The method of claim 1 , wherein

each of a plurality of reference coding regions of the current CTU and the left CTU are padded horizontally by a first reference sample line above the current CTU or vertically by a second reference sample line to the left of the current CTU based on (i) a first distance between each of the plurality of the reference coding regions and the first reference sample line above the current CTU and (ii) a second distance between each of the plurality of the reference coding regions and the second reference sample line to the left of the current CTU.

13. The method of claim 2 , wherein

the reference block is padded by boundary pixels of a reconstructed reference block in one of the current CTU and the left CTU, and

reconstructed samples of the reconstructed reference block are stored in the reference sample memory.

14. An apparatus, comprising:

processing circuitry configured to

decode prediction information of a current block in a current coding tree unit (CTU) from a coded video bitstream, the prediction information indicating an intra block copy (IBC) mode;

determine which of a combination of vertical padding and horizontal padding is performed to determine padded values of a reference block in a neighboring left CTU included in a fixed search range of blocks in the current CTU;

determine the padded values based on a block vector that points to the reference block and a position of the current block in the CTU, the padded values of the reference block being copied from at least one reference sample line according to the determination of which of the vertical padding and the horizontal padding is performed, availability of reference blocks in the fixed search range varying for each of the blocks in the current CTU; and

reconstruct at least a sample of the current block based on one of (i) the padded values of the reference block and (ii) reconstructed samples of the reference block based on the availability of the reference block in the fixed search range,

wherein the left CTU is padded using a combination of the vertical and the horizontal padding.

15. The apparatus according to claim 14 , wherein

the reconstructed samples of the reference block are not stored in a reference sample memory, and

the padded values of the reference block are stored in a memory that is different from the reference sample memory.

16. The apparatus according to claim 14 , wherein

the current CTU is partitioned into a top-left coding region, a top-right coding region, a bottom-left coding region, and a bottom-right coding region, and

the current block is in any one of the top-left coding region, the top-right coding region, the bottom-left coding region, and the bottom-right coding region of the current CTU.

17. The apparatus according to claim 14 , wherein

the reference block is padded vertically by the reference sample line above the current CTU or horizontally by the reference sample line to the left of the current CTU.

18. The apparatus according to claim 15 , wherein

when a maximum size of the reference sample memory is limited to four sets of 64×64 luma samples and corresponding chroma samples,

the reference sample memory stores reconstructed samples of a current 64×64 coding region and reconstructed samples of three 64×64 reference coding regions, each of the three 64×64 reference coding regions being either in one of the current CTU and the left CTU, and

the three 64×64 reference coding regions do not include all the reconstructed samples of the reference block.

19. The apparatus according to claim 15 , wherein

the left CTU is partitioned into a top-left reference coding region, a top-right reference coding region, a bottom-left reference coding region, and a bottom-right reference coding region, and

each of the reference coding regions in the left CTU including reconstructed samples that are not stored in the reference sample memory is padded by the reference sample line above the current CTU or to the left of the current CTU.

20. A non-transitory computer-readable medium storing instructions which when executed by a computer for video decoding cause the computer to perform:

decoding prediction information of a current block in a current coding tree unit (CTU) from a coded video bitstream, the prediction information indicating an intra block copy (IBC) mode;

determining which of a combination of vertical padding and horizontal padding is performed to determine padded values of a reference block in a neighboring left CTU included in a fixed search range of blocks in the current CTU;

determining the padded values based on a block vector that points to the reference block and a position of the current block in the CTU, the padded values of the reference block being copied from at least one reference sample line according to the determination of which of the vertical padding and the horizontal padding is performed, availability of reference blocks in the fixed search range varying for each of the blocks in the current CTU; and

reconstructing at least a sample of the current block based on one of (i) the padded values of the reference block and (ii) reconstructed samples of the reference block based on the availability of the reference block in the fixed search range,

wherein the left CTU is padded using a combination of the vertical and the horizontal padding.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2020
From: XU, XIAOZHONG; LI, XIANG; LIU, SHAN
To: TENCENT AMERICA LLC
Reel/Frame 051752/0370 →
Continuity (2)
Provisional Application 62788935 · Jan 6, 2019
Related Publication 20200221109A1 · Jul 9, 2020