IP Library › Granted Patent US 10,701,385
Granted Patent B1
US 10,701,385 · App. 16/502,822 · Granted Jun 30, 2020

Method and apparatus for reference sample memory reuse for intra picture block compensation

Inventors: Xiaozhong Xu (State College, PA); Shan Liu (San Jose, CA); Xiang Li (Los Gatos, CA)
Assignee: TENCENT AMERICA LLC
H04N19/45H04N19/105H04N19/159H04N19/176H04N19/51H04N19/82H04N19/96
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 10,701,385
App. No.
16/502,822
Granted
Jun 30, 2020
Kind
B1
Abstract

A method includes determining whether a reference block for a current block is located in a different coding tree unit (CTU) than a CTU of the current block. If the reference block is located in the different CTU, the method includes determining whether the CTU of the current block and a memory have a same size. If the CTU of the current block and reference sample memory have a same size, the method includes (i) determining a first area in the CTU of the current block collocated with a second area in the different CTU; (ii) determining, based on a decoding status of the first area, whether a memory location of the memory for the reference block is available; and (iii) if the memory location for the reference block is available, retrieving, from the memory location, one or more samples to decode the current block.

Claims (66)

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

receiving a coded video bitstream;

determining whether a reference block for a current block is located in a different coding tree unit (CTU) than a CTU of the current block, the reference block and current block located in a same picture included in the coded video bitstream;

in response to the determination that the reference block is located in the different CTU, determining whether the CTU of the current block and a reference sample memory have a same size;

in response to the determination that the CTU of the current block and reference sample memory have a same size:

(i) determining a first area in the CTU of the current block that is collocated with a second area in the different CTU, the first area having position coordinates in the CTU of the current block that is the same as position coordinates of the second area in the different CTU of the reference block;

(ii) determining, based on a decoding status of the first area, whether a memory location of the reference sample memory for the reference block is available; and

(iii) in response to the determination that the memory location for the reference block is available, retrieving, from the memory location corresponding to the reference block, one or more samples to decode the current block.

2. The method according to claim 1 , wherein the first area is the current block, and the second area is the reference block.

3. The method according to claim 1 , wherein each of the first area and second area have a size that is 2 M ×2 N .

4. The method according to claim 3 , wherein M=6 and N=6.

5. The method of claim 1 , wherein the memory location corresponding to the reference block is determined to be available in response to a determination that the decoding status of the first area indicates that the first area does not include at least one block that is at least partially decoded.

6. The method of claim 1 , further comprising:

in response to the determination that the reference sample memory and the CTU of the current block are not the same in size, determining whether the size of the CTU of the current block is less than the size of the reference sample memory;

in response to the determination that the size of the CTU of the current block is less than the size of the reference sample memory, determining whether a distance between the different CTU of the reference block and the CTU of the current block is less than or equal to a threshold defined as:

((reference sample memory size/CTU size)−1)*(CTU width);

in response to the determination that the distance is less than or equal to the threshold, retrieving, from the memory location corresponding to the reference block, one or more samples to decode the current block.

7. The method of claim 6 , further comprising:

in response to the determination that the distance is greater than or equal to the threshold,

(i) determining a first area in the CTU of the current block that is collocated with a second area in the different CTU, the first area having position coordinates in the CTU of the current block that is the same as position coordinates of the second area in the different CTU of the reference block;

(ii) determining, based on a decoding status of the first area, whether a memory location of the reference sample memory for the reference block is available; and

(iii) in response to the determination that the memory location for the reference block is available, retrieving, from the memory location corresponding to the reference block, one or more samples to decode the current block.

8. A video decoder for video decoding, comprising:

processing circuitry configured to:

receive a coded video bitstream,

determine whether a reference block for a current block is located in a different coding tree unit (CTU) than a CTU of the current block, the reference block and current block located in a same picture included in the coded video bitstream,

in response to the determination that the reference block is located in the different CTU, determine whether the CTU of the current block and a reference sample memory have a same size;

in response to the determination that the CTU of the current block and reference sample memory have a same size:

(i) determine a first area in the CTU of the current block that is collocated with a second area in the different CTU, the first area having position coordinates in the CTU of the current block that is the same as position coordinates of the second area in the different CTU of the reference block,

(ii) determine, based on a decoding status of the first area, whether a memory location of the reference sample memory for the reference block is available, and

(iii) in response to the determination that the memory location for the reference block is available, retrieving, from the memory location corresponding to the reference block, one or more samples to decode the current block.

9. The video decoder according to claim 8 , wherein the first area is the current block, and the second area is the reference block.

10. The video decoder according to claim 8 , wherein each of the first area and second area have a size that is 2 M ×2 N .

11. The video decoder according to claim 10 , wherein M=6 and N=6.

12. The video decoder of claim 8 , wherein the memory location corresponding to the reference block is determined to be available in response to a determination that the decoding status of the first area indicates that the first area does not include at least one block that is at least partially decoded.

13. The video decoder of claim 8 , wherein the processing circuitry is further configured to:

in response to the determination that the reference sample memory and the CTU of the current block are not the same size, determine whether the size of the CTU of the current block is less than the size of the reference sample memory,

in response to the determination that the size of the CTU of the current block is less than the size of the reference sample memory, determine whether a distance between the different CTU of the reference block and the CTU of the current block is less than a threshold defined as:

((reference sample memory size/CTU size)−1)*(CTU width),

in response to the determination that the distance is less than the threshold, retrieve, from the memory location corresponding to the reference block, one or more samples to decode the current block.

14. The video decoder of claim 13 , wherein the processing circuitry is further configured to:

in response to the determination that the distance is greater than or equal to the threshold,

(i) determine a first area in the CTU of the current block that is collocated with a second area in the different CTU, the first area having position coordinates in the CTU of the current block that is the same as position coordinates of the second area in the different CTU of the reference block,

(ii) determine, based on a decoding status of the first area, whether a memory location of the reference sample memory for the reference block is available, and

(iii) in response to the determination that the memory location for the reference block is available, retrieving, from the memory location corresponding to the reference block, one or more samples to decode the current block.

15. A non-transitory computer readable medium having instructions stored therein, which when executed by a processor in a video decoder causes the process to execute a method comprising:

receiving a coded video bitstream;

determining whether a reference block for a current block is located in a different coding tree unit (CTU) than a CTU of the current block, the reference block and current block located in a same picture included in the coded video bitstream;

in response to the determination that the reference block is located in the different CTU, determining whether the CTU of the current block and a reference sample memory have a same size;

in response to the determination that the CTU of the current block and reference sample memory have a same size:

(i) determining a first area in the CTU of the current block that is collocated with a second area in the different CTU, the first area having position coordinates in the CTU of the current block that is the same as position coordinates of the second area in the different CTU of the reference block;

(ii) determining, based on a decoding status of the first area, whether a memory location of the reference sample memory for the reference block is available; and

(iii) in response to the determination that the memory location for the reference block is available, retrieving, from the memory location corresponding to the reference block, one or more samples to decode the current block.

16. The non-transitory computer readable medium according to claim 15 , wherein the first area is the current block, and the second area is the reference block.

17. The non-transitory computer readable medium according to claim 15 , wherein each of the first area and second area have a size that is 2 M ×2 N .

18. The non-transitory computer readable medium according to claim 15 , wherein the memory location corresponding to the reference block is determined to be available in response to a determination that the decoding status of the first area indicates that the first area does not include at least one block that is at least partially decoded.

19. The non-transitory computer readable medium according to claim 15 , the method further comprising:

in response to the determination that the reference sample memory and the CTU of the current block are not the same size, determining whether the size of the CTU of the current block is less than the size of the reference sample memory;

in response to the determination that the size of the CTU of the current block is less than the size of the reference sample memory, determining whether a distance between the different CTU of the reference block and the CTU of the current block is less than a threshold defined as:

((reference sample memory size/CTU size)−1)*(CTU width);

in response to the determination that the distance is less than the threshold, retrieving, from the memory location corresponding to the reference block, one or more samples to decode the current block.

20. The non-transitory computer readable medium according to claim 19 , further comprising:

in response to the determination that the distance is greater than or equal to the threshold,

(i) determining a first area in the CTU of the current block that is collocated with a second area in the different CTU, the first area having position coordinates in the CTU of the current block that is the same as position coordinates of the second area in the different CTU of the reference block;

(ii) determining, based on a decoding status of the first area, whether a memory location of the reference sample memory for the reference block is available; and

(iii) in response to the determination that the memory location for the reference block is available, retrieving, from the memory location corresponding to the reference block, one or more samples to decode the current block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 3, 2019
From: XU, XIAOZHONG; LIU, SHAN; LI, XIANG
To: TENCENT AMERICA LLC
Reel/Frame 049665/0490 →
Continuity (1)
Provisional Application 62791862 · Jan 13, 2019
Cited By (1)
US 12,212,746