IP Library Granted Patent US 10,284,874
Granted Patent B2
US 10,284,874 · App. 15/875,885 · Granted May 7, 2019

Methods and systems for intra block copy coding with block vector derivation

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,284,874
App. No.
15/875,885
Granted
May 7, 2019
Kind
B2
Abstract

Systems and methods are described for encoding and decoding video using derived block vectors as predictors in intra block copy mode. In an exemplary encoding method, an encoder identifies at least a first candidate block vector for the prediction of an input video block, where the first candidate block vector points to a first candidate block. The encoder then identifies a first predictive vector (e.g. a block vector or a motion vector) that was used to encode the first candidate block. From the first candidate block vector and the first predictive vector, the encoder generates a derived predictive vector from the first candidate block vector and the first predictive vector. The encoder then encodes the video block in the bit stream using the derived predictive vector for the prediction of the input video block.

Claims (46)

1. A system comprising a processor and a non-transitory computer-readable medium storing instructions operative to perform functions comprising:

identifying a first candidate block vector for prediction of a video block, wherein the first candidate block vector points to a first candidate block;

identifying at least a first predictive vector associated with the first candidate block;

generating a derived predictive vector from the first candidate block vector and the first predictive vector; and

coding the video block using the derived predictive vector.

2. The system of claim 1 , wherein coding the video block using the derived predictive vector includes:

identifying a second candidate block that the derived predictive vector points to; and

predicting the video block using the second candidate block.

3. The system of claim 1 , wherein coding the video block includes signaling the first candidate block vector in a bit stream.

4. The system of claim 3 , wherein the instructions are further operative to perform the function of signaling the first predictive vector in the bit stream.

5. The system of claim 3 , wherein the instructions are further operative to perform the function of signaling a flag in the bit stream, wherein a first value of the flag indicates that the derived predictive vector is used to code the video block.

6. The system of claim 5 , wherein a second value of the flag indicates that the first candidate block vector is used to code the video block.

7. The system of claim 1 , wherein the derived predictive vector is generated by adding the first candidate block vector and the first predictive vector.

8. The system of claim 7 , wherein the first candidate block vector and the first predictive vector have different precisions, and wherein adding the first block vector and the first predictive vector is performed after aligning them to the same precision.

9. The system of claim 1 , wherein the first predictive vector is a second block vector, and the derived predictive vector is a derived block vector.

10. The system of claim 9 , wherein the derived block vector is generated by adding the first candidate block vector and the second block vector.

11. The system of claim 1 , wherein the first predictive vector is a first motion vector, and the derived predictive vector is a derived motion vector.

12. The system of claim 11 , wherein the derived motion vector is generated by adding the first candidate block vector and the first motion vector.

13. The system of claim 12 , wherein the first candidate block vector and the first motion vector have different precisions, and wherein the derived motion vector is generated by aligning the precision of the first candidate block vector and the first motion vector and adding the precision aligned first candidate block vector and the precision aligned first motion vector.

14. The system of claim 13 , wherein the precision aligned first candidate block vector and the precision aligned first motion vector are added according to the equation

MVd=BV 0+(( MV 1+2)>>2),

where BV 0 is the first candidate block vector, MV 1 is the first motion vector, and MVd is the derived motion vector.

15. The system of claim 1 , wherein the instructions are further operative to perform the function of inserting the derived predictive vector into a merge candidate list.

16. The system of claim 15 , wherein the instructions are further operative to perform the function of determining whether the derived predictive vector is valid, wherein the derived predictive vector is inserted into the merge candidate list only after determining that the derived predictive vector is valid.

17. The system of claim 16 , wherein determining whether the derived predictive vector is valid comprises:

identifying a second candidate block that the derived predictive vector points to;

determining whether all samples in the second candidate block are available; and

determining that the derived predictive vector is valid if all samples in the second candidate block are available, and determining that the derived predictive vector is not valid if at least one sample in the second candidate block is not available.

18. The system of claim 17 , wherein a sample in the second candidate block is unavailable if any of the following is true:

the sample is not yet coded, or

the sample is in a different slice or in a different tile, or

the sample is out of a video picture boundary.

19. The system of claim 15 , wherein coding the video block using the derived predictive vector includes providing an index identifying the derived predictive vector in the merge candidate list.

20. A decoder operative to decode a coded video block from a bit stream encoding a video, the decoder comprising a processor and a non-transitory computer-readable medium storing instructions operative to perform functions comprising:

identifying at least a first candidate block vector for prediction of the coded video block, wherein the first candidate block vector points to a first candidate block;

identifying at least a first predictive vector associated with the first candidate block;

generating a derived predictive vector from the first candidate block vector and the first predictive vector; and

decoding the coded video block using the derived predictive vector.

21. The video decoder of claim 20 , wherein decoding the video block using the derived predictive vector includes:

identifying a second candidate block that the derived predictive vector points to; and

predicting the video block using the second candidate block.

22. The video decoder of claim 20 , wherein the decoder is further operative to decode information signaling the first candidate block vector from the bit stream.

23. The video decoder of claim 22 , wherein the decoder is further operative to decode a flag signaled in the bit stream, and wherein a first value of the flag indicates that the derived predictive vector is used to code the video block.

24. The video decoder of claim 20 , wherein the derived predictive vector is generated by adding the first candidate block vector and the first predictive vector.

25. The video decoder of claim 20 , wherein the decoder is further operative to perform the function of inserting the derived predictive vector into a merge candidate list.

26. The system of claim 1 , wherein the system is a decoder.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2024
From: VID SCALE, INC.
To: INTERDIGITAL VC HOLDINGS, INC.
Reel/Frame 068284/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2018
From: HE, YUWEN; YE, YAN; XIU, XIAOYU
To: VID SCALE, INC.
Reel/Frame 045745/0109 →
Cited By (14)
US 12,200,242 US 12,231,625 US 12,238,314 US 12,273,525 US 12,284,374 US 12,301,793 US 12,323,583 US 12,335,531 US 12,355,983 US 12,382,016 US 12,389,022 US 12,470,701 US 12,568,201 US 12,641,248