IP Library Granted Patent US 12,137,238
Granted Patent B2
US 12,137,238 · App. 17/981,114 · Granted Nov 5, 2024

Reusing reference sample memory based on flexible partition type

Inventors: Xiaozhong Xu (State College, PA); Xiang Li (Saratoga, CA); Shan Liu (San Jose, CA)
Assignee: Tencent America LLC
H04N19/44H04N19/105H04N19/132H04N19/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 12,137,238
App. No.
17/981,114
Granted
Nov 5, 2024
Kind
B2
Abstract

A method for video decoding includes determining, based on prediction information, whether the current block uses a flexible partition type. Reconstructed samples of the reference block are stored in a cache memory, which stores reconstructed samples of coding regions of a first size comprising a coding tree unit (CTU) of the current block and reconstructed samples of at least one coding region of the first size comprising a CTU adjacent to the CTU of the current block. The cache memory stores either (i) only reconstructed samples of the coding regions of the CTU of the current block or (ii) reconstructed samples of coding regions of a second size of the CTU of the current block and reconstructed samples of at least one coding region of the second size of the CTU adjacent to the CTU of the current block.

Claims (44)

1. A method for video encoding, comprising:

determining a block vector that points to a reference block in a same picture as a current block, reconstructed samples of the reference block being stored in a cache memory, which stores reconstructed samples of a first coding tree unit (CTU) in which the current block is located and reconstructed samples of a second CTU adjacent to the first CTU;

encoding samples of the current block based on the reconstructed samples of the reference block stored in the cache memory; and

updating the cache memory by storing reconstructed samples of the current block in the cache memory such that the reconstructed samples of the second CTU are not available for reconstruction of a next block,

wherein a search range of reconstructed samples of the second CTU stored in the cache memory and available for encoding a respective block of the first CTU is different for each block of the first CTU and dependent on a location of the respective block with respect to reconstructed blocks within the first CTU.

2. The method of claim 1 , wherein each block has a square shape.

3. The method of claim 1 , wherein each CTU is configured to have 128 samples by 128 samples of a luma component.

4. The method of claim 1 , wherein the cache memory is updated after all of the reconstructed samples of the current block are available, by storing all of the reconstructed samples of the current block in the cache memory and by removing from the cache memory all reconstructed samples of one coding region comprising the second CTU adjacent to the first CTU.

5. The method of claim 1 , further comprising:

checking whether multiple corners of the reference block are within a coding region.

6. The method of claim 5 , wherein

each CTU contains 128×128 luma samples and each block is 64×64 luma samples in size.

7. The method of claim 5 , wherein

each CTU contains less than 128×128 luma samples and each block is the same as a CTU in size.

8. The method of claim 1 , further comprising:

when the reconstructed samples of the reference block are partially available in the cache memory, updating the cache memory such that all reconstructed samples of the reference block are available in the cache memory.

9. The method of claim 8 , further comprising:

when the reconstructed samples of the reference block are partially available in the cache memory, moving the reference block in a direction to reduce a distance between the reference block and the current block.

10. The method of claim 8 , further comprising;

moving the reference block in a direction that increases a percentage of reference samples in a coding region.

11. The method of claim 1 , further comprising:

using information of a first reference sample that is in the cache memory as information of a second reference sample that is not available in the cache memory when the reference block is partially available in the cache memory.

12. The method of claim 1 , wherein flexible block partition is prohibited as a partition of each CTU.

13. An apparatus of video decoding, comprising:

processing circuitry configured to:

determine a block vector that points to a reference block in a same picture as a current block, reconstructed samples of the reference block being stored in a cache memory, which stores reconstructed samples of a first coding tree unit (CTU) in which the current block is located and reconstructed samples of a second CTU adjacent to the first CTU;

reconstruct samples of the current block based on the reconstructed samples of the reference block stored in the cache memory; and

update the cache memory by storing reconstructed samples of the current block in the cache memory such that the reconstructed samples of the second CTU are not available for reconstruction of a next block,

wherein a search range of reconstructed samples of the second CTU stored in the cache memory and available for reconstructing a respective block of the first CTU is different for each block of the first CTU and dependent on a location of the respective block with respect to reconstructed blocks within the first CTU.

14. The apparatus of claim 13 , wherein each block has a square shape.

15. The apparatus of claim 13 , wherein each CTU is configured to have 128 samples by 128 samples of a luma component.

16. The apparatus of claim 13 , wherein the cache memory is updated after all of the reconstructed samples of the current block are available, by storing all of the reconstructed samples of the current block in the cache memory and by removing from the cache memory all reconstructed samples of one coding region comprising the second CTU adjacent to the first CTU.

17. The apparatus of claim 13 , wherein the processing circuitry is further configured to:

check whether multiple corners of the reference block are within a coding region.

18. The apparatus of claim 17 , wherein

each CTU contains 128×128 luma samples and each block is 64×64 luma samples in size.

19. The apparatus of claim 17 , wherein

each CTU contains less than 128×128 luma samples and each block is the same as a CTU in size.

20. A method of processing visual media data, the method comprising:

processing a bitstream of the visual media data according to a format rule,

wherein the bitstream indicates a block vector that points to a reference block in a same picture as a current block,

wherein the format rule specifies that reconstructed samples of the reference block are stored in a cache memory, which stores reconstructed samples of a first coding tree unit (CTU) in which the current block is located and reconstructed samples of a second CTU adjacent to the first CTU,

wherein the format rule specifies that the cache memory is updated by storing reconstructed samples of the current block in the cache memory such that the reconstructed samples of the second CTU are not available for reconstruction of a next block, and

wherein the format rule specifies that a search range of reconstructed samples of the second CTU stored in the cache memory and available for encoding a respective block of the first CTU is different for each block of the first CTU and dependent on a location of the respective block with respect to reconstructed blocks within the first CTU.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2022
From: XU, XIAOZHONG; LI, XIANG; LIU, SHAN
To: TENCENT AMERICA LLC
Reel/Frame 061676/0012 →
Continuity (5)
Continuation 17410345 · Aug 24, 2021
Continuation 16699235 · Nov 29, 2019
Provisional Application 62790454 · Jan 9, 2019
Provisional Application 62774148 · Nov 30, 2018
Related Publication 20230188737A1 · Jun 15, 2023