IP Library Granted Patent US 10,897,629
Granted Patent B2
US 10,897,629 · App. 14/743,662 · Granted Jan 19, 2021

Methods and systems for intra block copy search enhancement

Inventors: Yuwen He (San Diego, CA); Xiaoyu Xiu (San Diego, CA); Yan Ye (San Diego, CA); Ralph Neff (San Diego, CA)
Assignee: Vid Scale, Inc.
H04N19/513H04N19/105H04N19/147H04N19/176H04N19/186H04N19/463H04N19/593H04N19/70H04N19/90H04N19/94
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,897,629
App. No.
14/743,662
Granted
Jan 19, 2021
Kind
B2
Abstract

In an intra-block copy video encoding method, an encoder performs a hash-based search to identify a selected set of candidate blocks for prediction of an input video block. For each of the candidate blocks in the selected set, the encoder determines a correlation between, on the one hand, luma and chroma components of the input video block and, on the other hand, luma and chroma components of the respective candidate blocks. A predictor block is selected based on the correlation and is used to encode the input video block. In different embodiments, the correlation may be the negative of the sum of absolute differences of the components, may include a Jaccard similarity measure between respective pixels, or may be based on a Hamming distance between two high precision hash values of the input video block and the candidate block.

Claims (34)

1. A method of generating a bit stream encoding a video including an input video block, the method comprising:

identifying a selected set of candidate blocks for prediction of the input video block, where the identification of the selected set includes performing a hash-based search of available video blocks;

for each of the candidate blocks in the selected set, determining a correlation between luma and chroma components of the input video block and luma and chroma components of the respective candidate blocks;

selecting a predictor block based on the correlation; and

encoding the input video block in the bit stream using the selected predictor block for prediction of the input video block.

2. The method of claim 1 , wherein the identification of the selected set further includes performing a spatial search of the available video blocks.

3. The method of claim 1 , wherein the hash-based search includes a search of blocks having a hash value equal to a hash value of the input video block.

4. The method of claim 3 , wherein the hash-based search identifies the selected set of candidate blocks based on a comparison between the luma component of the input video block and the luma component of the respective available video blocks.

5. The method of claim 3 , wherein the hash-based search identifies the selected set of candidate blocks based on a sum of absolute differences between luma pixels of the input video block and corresponding luma pixels of the respective available video blocks.

6. The method of claim 1 , wherein determining a correlation includes determining a sum of absolute differences between the luma and chroma pixels of the input video block and the corresponding luma and chroma pixels of the respective candidate blocks.

7. The method of claim 6 , wherein the correlation is the negative of the sum of absolute differences.

8. The method of claim 1 , wherein determining a correlation includes determining a Jaccard similarity measure between corresponding pixels of the input video block and of the respective candidate blocks.

9. The method of claim 1 , wherein determining a correlation includes determining a Hamming distance between a high-precision hash value of the input video block and high-precision hash values of the respective candidate blocks.

10. A method of generating a bit stream encoding a video including an input video block, the method comprising:

determining a hash value for the input video block;

identifying a first set of candidate blocks for prediction of the input video block, wherein identifying the first set of candidate blocks includes identifying available video blocks having respective hash values equal to the hash value of the input video block;

from the candidate blocks in the first set, selecting a second set of candidate blocks based on comparison of the luma component of the input video block with the luma component of the respective candidate blocks;

for each of the candidate blocks in the second set, determining a correlation between luma and chroma components of the input video block and luma and chroma components of the respective candidate blocks in the second set;

selecting a predictor block based on the correlation; and

encoding the input video block in the bit stream using the selected predictor block for prediction of the input video block.

11. The method of claim 10 , wherein the identification of the first set of candidate blocks includes identifying available video blocks located in a predetermined spatial range.

12. The method of claim 10 , wherein the comparison of the luma component of the input video block with the luma component of the respective candidate blocks includes determining, for each of the respective candidate blocks, a sum of absolute differences between the luma pixels of the input video block and the corresponding luma pixels of the respective candidate blocks.

13. The method of claim 12 , wherein the second set of candidate blocks includes those of the first set of candidate blocks having the N lowest values of the sum of absolute differences, where N is a predetermined integer greater than or equal to one.

14. The method of claim 10 , wherein determining a correlation includes determining a sum of absolute differences between the luma and chroma pixels of the input video block and the corresponding luma and chroma pixels of the respective candidate blocks.

15. The method of claim 10 , wherein determining a correlation includes determining a Jaccard similarity measure between corresponding pixels of the input video block and of the respective candidate blocks.

16. The method of claim 11 , wherein determining a correlation includes determining a Hamming distance between a high-precision hash value of the input video block and high-precision hash values of the respective candidate blocks.

17. The method of claim 16 , wherein the high-precision hash values are cyclic redundancy check values.

18. A video encoder including a processor and a non-transitory computer-readable medium storing instructions operative, when executed on the processor, to perform functions including:

identifying a selected set of candidate blocks for prediction of the input video block, where the identification of the selected set includes performing a hash-based search;

for each of the candidate blocks in the selected set, determining a correlation between luma and chroma components of the input video block and luma and chroma components of the respective candidate blocks;

selecting a predictor block based on the correlation; and

encoding the input video block in the bit stream using the selected predictor block for prediction of the input video block.

19. The encoder of claim 18 , wherein the identification of the selected set further includes performing a spatial search of the available video blocks.

20. The encoder of claim 18 , wherein determining a correlation includes determining a sum of absolute differences between the luma and chroma pixels of the input video block and the corresponding luma and chroma pixels of the respective candidate blocks.

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 Sep 18, 2015
From: HE, YUWEN; XIU, XIAOYU; YE, YAN; NEFF, RALPH
To: VID SCALE, INC.
Reel/Frame 036601/0988 →
Continuity (2)
Provisional Application 62014667 · Jun 19, 2014
Related Publication 20150373359A1 · Dec 24, 2015