IP Library › Granted Patent US 11,956,438
Granted Patent B2
US 11,956,438 · App. 17/896,761 · Granted Apr 9, 2024

Direction-based prediction for intra block copy in video coding

Inventors: Jizheng Xu (San Diego, CA); Li Zhang (San Diego, CA); Kai Zhang (San Diego, CA); Hongbin Liu (Beijing, CN); Yue Wang (Beijing, CN)
Assignees: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.; BYTEDANCE INC.
H04N19/132H04N19/176H04N19/423H04N19/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 11,956,438
App. No.
17/896,761
Granted
Apr 9, 2024
Kind
B2
Abstract

A method of visual media processing includes determining, for a conversion between a current video block of visual media data and a bitstream representation of the current video block, a buffer that stores reference samples for prediction in an intra block copy mode; for a sample spatially located at location of the current video block relative to an upper-left position of a coding tree unit including the current video block and having a block vector, computing a corresponding reference in the buffer at a reference location, wherein the reference location is determined using the block vector and the location; and upon determining that the reference location lies outside the buffer, re-computing the reference location based at least in part on a location of the current video block relative to the coding tree unit including the current video block.

Claims (44)

1. A method of visual media processing, comprising:

determining, for a conversion of a current video block of a video and a bitstream of the video, that a first coding mode is applied on the current video block;

deriving a first block vector (BVx, BVy) for the current video block;

generating prediction samples for the current video block based on the first block vector and a sample buffer, wherein the sample buffer stores reconstructed samples of previous video blocks for which a filtering operation has not been applied, and wherein in the first coding mode, the prediction samples are derived from a same picture including the current video block; and

performing the conversion based on the prediction samples,

wherein for generating a prediction sample of a first sample (x0, y0) in the current video block, a location converting operation is applied on (x0+BVx, y0+BVy) to derive a position in the sample buffer for the prediction sample of the first sample, and

wherein the location converting operation is a modulus operation, wherein the position of the prediction sample of the first sample is represented by ((x0+BVx) mod M, (y0+BVy) mod N), wherein mod is a modulus function, and wherein M and N are related to a size of a coding tree block comprising the current video block.

2. The method of claim 1 , wherein the sample buffer is updated in a first order.

3. The method of claim 2 , wherein the first order is an order of sample reconstructing during the conversion.

4. The method of claim 2 , wherein the first order is based on a first-in-first-out rule.

5. The method of claim 4 , wherein when the sample buffer is full, samples added in the sample buffer earliest are replaced with latest reconstructed samples.

6. The method of claim 1 , wherein the sample buffer is a rectangular region, and wherein a size of the sample buffer is indicated based on a field included in the bitstream.

7. The method of claim 1 , wherein parts of the previous video blocks are located in a coding tree block different from a current coding tree block including the current video block.

8. The method of claim 1 , wherein a bit-depth of the sample buffer is identical to a bit-depth of a reconstruction buffer used during the conversion.

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

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

11. 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 of a current video block of a video and a bitstream of the video, that a first coding mode is applied on the current video block;

derive a first block vector (BVx, BVy) for the current video block;

generate prediction samples for the current video block based on the first block vector and a sample buffer, wherein the sample buffer stores reconstructed samples of previous video blocks for which a filtering operation has not been applied, and wherein in the first coding mode, the prediction samples are derived from a same picture including the current video block; and

perform the conversion based on the prediction samples,

wherein for generating a prediction sample of a first sample (x0, y0) in the current video block, a location converting operation is applied on (x0+BVx, y0+BVy) to derive a position in the sample buffer for the prediction sample of the first sample, and

wherein the location converting operation is a modulus operation, wherein the position of the prediction sample of the first sample is represented by ((x0+BVx) mod M, (y0+BVy) mod N), wherein mod is a modulus function, and wherein M and N are related to a size of a coding tree block comprising the current video block.

12. The apparatus of claim 11 , wherein the sample buffer is updated in a first order.

13. The apparatus of claim 12 , wherein the first order is an order of sample reconstructing during the conversion.

14. The apparatus of claim 12 , wherein the first order is based on a first-in-first-out rule.

15. The apparatus of claim 14 , wherein when the sample buffer is full, samples added in the sample buffer earliest are replaced with latest reconstructed samples.

16. The apparatus of claim 11 , wherein the sample buffer is a rectangular region, and wherein a size of the sample buffer is indicated based on a field included in the bitstream.

17. The apparatus of claim 11 , wherein parts of the previous video blocks are located in a coding tree block different from a current coding tree block including the current video block.

18. A non-transitory computer-readable storage medium storing instructions that cause a processor to:

determine, for a conversion of a current video block of a video and a bitstream of the video, that a first coding mode is applied on the current video block;

derive a first block vector (BVx, BVy) for the current video block;

generate prediction samples for the current video block based on the first block vector and a sample buffer, wherein the sample buffer stores reconstructed samples of previous video blocks for which a filtering operation has not been applied, and wherein in the first coding mode, the prediction samples are derived from a same picture including the current video block; and

perform the conversion based on the prediction samples,

wherein for generating a prediction sample of a first sample (x0, y0) in the current video block, a location converting operation is applied on (x0+BVx, y0+BVy) to derive a position in the sample buffer for the prediction sample of the first sample, and

wherein the location converting operation is a modulus operation, wherein the position of the prediction sample of the first sample is represented by ((x0+BVx) mod M, (y0+BVy) mod N), wherein mod is a modulus function, and wherein M and N are related to a size of a coding tree block comprising the current video block.

19. A non-transitory computer-readable recording medium storing a bitstream of a video which is generated by a method performed by a video processing apparatus, wherein the method comprises:

determining, for a current video block of the video, that a first coding mode is applied on the current video block;

deriving a first block vector (BVx, BVy) for the current video block;

generating prediction samples for the current video block based on the first block vector and a sample buffer, wherein the sample buffer stores reconstructed samples of previous video blocks for which a filtering operation has not been applied, and wherein in the first coding mode, the prediction samples are derived from a same picture including the current video block; and

generating the bitstream based on the prediction samples,

wherein for generating a prediction sample of a first sample (x0, y0) in the current video block, a location converting operation is applied on (x0+BVx, y0+BVy) to derive a position in the sample buffer for the prediction sample of the first sample, and

wherein the location converting operation is a modulus operation, wherein the position of the prediction sample of the first sample is represented by ((x0+BVx) mod M, (y0+BVy) mod N), wherein mod is a modulus function, and wherein M and N are related to a size of a coding tree block comprising the current video block.

20. The non-transitory computer-readable storage medium of claim 18 , wherein the sample buffer is updated in a first order, wherein the first order is an order of sample reconstructing during the conversion, and wherein the first order is based on a first-in-first-out rule.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2023
From: LIU, HONGBIN; WANG, YUE
To: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 062633/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2023
From: XU, JIZHENG; ZHANG, LI; ZHANG, KAI
To: BYTEDANCE INC.
Reel/Frame 062633/0605 →
Continuity (3)
Continuation 17362341 · Jun 29, 2021
Continuation PCTCN2020077415 · Mar 2, 2020
Related Publication 20230014129A1 · Jan 19, 2023
Cited By (5)
US 12,238,314 US 12,284,374 US 12,301,793 US 12,389,022 US 12,568,201