IP Library Granted Patent US 10,757,445
Granted Patent B2
US 10,757,445 · App. 16/173,105 · Granted Aug 25, 2020

Techniques for resource conservation during performance of intra block copy prediction searches

Inventors: Alexandros Tourapis (Milpitas, CA); David W. Singer (San Francisco, CA); Haitao Guo (San Jose, CA); Hsi-Jung Wu (San Jose, CA); Sorin C. Cismas (Saratoga, CA); Xiaohua Yang (San Jose, CA); Yeping Su (Sunnyvale, CA); Dazhong Zhang (Milpitas, CA)
Assignee: Apple Inc.
H04N19/593H04N19/156H04N19/176H04N19/182H04N19/44H04N19/174
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,757,445
App. No.
16/173,105
Granted
Aug 25, 2020
Kind
B2
Abstract

Methods are described for encoding and decoding blocks of image data using intra block copying (IBC). A source block for intra block copying is selected from a source region of a current image that is closer to the current block than a threshold, wherein the source region does not include a portion of the current image that is further from the current block than the threshold.

Claims (51)

1. A system for video decoding, comprising a processor and memory, the memory containing instructions that, when executed on the processor, cause the system to at least:

decode coded video data received from a channel on a pixel block-by-pixel block basis,

wherein the decoding comprises determining an intra prediction of the given pixel block from pixel data contained within a source region of a buffer; store the decoded pixel blocks in the buffer;

determine a height limit for limiting the source region measured in samples of video data;

determine a block count for limiting the source region measured in decoded pixel blocks of video data;

following the decoding of the given pixel block, adjust the source region to include a first portion of pixel data of a current image that is closer to the given pixel block than both the height limit and the block count and to not include a second portion of pixel data of the current image that is further from the current block count than either the height limit or the block count.

2. The system of claim 1 , wherein:

the current image is divided into tiles, the given pixel block and the source region are both contained with a current tile, and the height limit is measured within the current tile.

3. The system of claim 1 , wherein the instructions further cause the system to:

in-loop filter the source region of the buffer prior to the determining a prediction of the given block.

4. The system of claim 1 , wherein the instructions further cause the system to:

in-loop filter the source region of the buffer after the determining of the prediction of the given block.

5. The system of claim 1 , wherein the height limit is measured in pixel rows.

6. The system of claim 1 , wherein the instructions further cause the system to:

relinquish the second portion.

7. The system of claim 6 , wherein the second portion is relinquished by freeing it from memory.

8. The system of claim 1 , further comprising instructions to:

filter the decoded blocks in the second portion; and

store the filtered blocks in the buffer.

9. The system of claim 1 , wherein the source region is further adjusted based on a distance measured from the current pixel block within the current image.

10. A method for video decoding, comprising:

decoding coded video data received from a channel on a pixel block-by-pixel block basis,

wherein the decoding comprises determining an intra prediction of the given pixel block from pixel data contained within a source region of a buffer;

store the decoded pixel blocks in the buffer;

determining a height limit for limiting the source region measured in samples of video data;

determining a block count for limiting the source region measured in decoded pixel blocks of video data;

following the decoding of the given pixel block, adjusting the source region to include a first portion of pixel data of a current image that is closes to the given pixel block than both the height limit and the block count and to not include a second portion of pixel data of the current image that is further from the current block than either the height limit or the block count.

11. The method of claim 10 , wherein the height limit is measured in pixel rows.

12. The method of claim 10 , further comprising:

relinquishing the second portion.

13. The method of 12 , wherein the second portion is relinquished by freeing it from memory.

14. The method of claim 10 , further comprising:

filtering the decoded blocks in the second portion; and

storing the filtered blocks in the buffer.

15. The method of claim 10 , wherein the source region is further adjusted based on a distance measured from the current pixel block within the current image.

16. A non-transitory computer-readable medium storing instructions that, when executed on a processor, cause:

decoding coded video data received from a channel on a pixel block-by-pixel block basis,

wherein the coded video data includes, for a given pixel block, an indication of a reference pixel block and

wherein the decoding comprises determining an intra prediction of the given pixel block from pixel data contained within a source region of a buffer;

storing the decoded pixel blocks in the buffer;

determining a height limit for limiting the source region measured in samples of video data;

determining a block count for limiting the source region measured in decoded pixel blocks of video data;

following the decoding of the given pixel block, adjusting the source region to include a first portion of pixel data a current image that is closer to the given pixel block than both the height limit and the block count and to not include a second portion of pixel data of the current image that is further from the current block than either the height limit or the block count.

17. The medium of claim 16 , wherein the height limit is measured in pixel rows.

18. The medium of claim 16 , wherein the instructions further cause:

relinquishing the second portion.

19. The medium of claim 18 , wherein the second portion is relinquished by freeing it from memory.

20. The medium of claim 16 , wherein the instructions further cause:

filtering the decoded blocks in the second portion; and

storing the filtered blocks in the buffer.

21. The medium of claim 16 , wherein the source region is further adjusted based on a distance measured from the current pixel block within the current image.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2019
From: TOURAPIS, ALEXANDROS; GUO, HAITAO; WU, HSI-JUNG; SU, YEPING; CISMAS, SORIN C.; YANG, XIAOHUA; SINGER, DAVID W.; ZHANG, DAZHONG
To: APPLE INC.
Reel/Frame 048187/0183 →
Continuity (3)
Division 15172064 · Jun 2, 2016
Provisional Application 62170373 · Jun 3, 2015
Related Publication 20190068992A1 · Feb 28, 2019