# US 12,010,325 B2 · Intra block copy scratch frame buffer

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,010,325 B2
- Document ID: US12010325B2
- Status: Granted
- Kind: B2
- Application number: 18/048,120
- Filed: 2022-10-20
- Published: 2023-02-23
- Granted: 2024-06-11
- Earliest claimed: 2021-02-11
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Kapil Garg; Gaurav Avinash Patil; Yasutomo Matsuba; Vladan Andrijanic; Prasanth Gomatam; Rajesh Chowdary Chitturi
- Web page: https://patentgrep.com/patent/US12010325B2

## CPC

- H04N 19/146: Data rate or code amount at the encoder output
- H04N 19/426: using memory downsizing methods
- H04N 19/132: Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
- H04N 19/159: Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/593: involving spatial prediction techniques
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

An example apparatus includes a first frame buffer configured to store video data; a second frame buffer configured to store video data; and one or more processors configured to: reconstruct samples of a first block of a current picture of video data; store, in parallel, a compressed version of the samples of the first block of video data in the first frame buffer and an uncompressed version of the samples of the first block of video data in the second frame buffer; and responsive to determining to reconstruct a second block of the current picture of video data using intra block copy: obtain, from the second frame buffer, samples of a predictor block located in the current picture of video data, the predictor block at least partially overlapping the first block of video data; and predict, based on the obtained samples of the predictor block, samples of the second block.

## Claims

### Claim 1

An apparatus, the apparatus comprising:
a first frame buffer configured to store first video data;
a second frame buffer configured to store second video data; and
one or more processors implemented in circuitry, the one or more processors configured to:
reconstruct samples of a first block of a current picture of video data;
store both a compressed version of the reconstructed samples of the first block in the first frame buffer and an uncompressed version of the reconstructed samples of the first block in the second frame buffer such that, at a particular time, the first frame buffer stores the compressed version of the reconstructed samples and the second frame buffer stores the uncompressed version of the reconstructed samples; and
responsive to a determination to reconstruct a second block of the current picture using intra block copy:
obtain, from the second frame buffer, samples of a predictor block located in the current picture, the predictor block at least partially overlapping the first block; and
predict, based on the obtained samples of the predictor block, samples of the second block.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein a size of the second frame buffer is less than a size of the first frame buffer.

### Claim 3 (depends on 2)

The apparatus of claim 2, wherein the size of the second frame buffer is selected to store a single picture and the size of the first frame buffer is selected to store a plurality of pictures.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein, to store the compressed version of the reconstructed samples in the first frame buffer and the uncompressed version of the reconstructed samples in the second frame buffer, the one or more processors are configured to:
cause the first frame buffer to write the compressed version of the reconstructed samples; and
cause the second frame buffer to write the uncompressed version of the reconstructed samples.

### Claim 5 (depends on 4)

The apparatus of claim 4, wherein the second frame buffer completes writing the uncompressed version of the reconstructed samples before the first frame buffer completes writing the compressed version of the reconstructed samples.

### Claim 6 (depends on 5)

The apparatus of claim 5, wherein the one or more processors are configured to:
not obtain the samples of the predictor block until after the second frame buffer completes writing the uncompressed version of the reconstructed samples.

### Claim 7 (depends on 1)

The apparatus of claim 1, wherein the apparatus is configured to decode the video data.

### Claim 8 (depends on 1)

The apparatus of claim 1, further comprising a display configured to display decoded video data obtained via the first frame buffer.

### Claim 9 (depends on 1)

The apparatus of claim 1, further comprising a camera configured to capture a picture associated with the video data.

### Claim 10 (depends on 1)

The apparatus of claim 1, wherein the apparatus comprises one or more of a camera, a computer, a mobile device, a broadcast receiver device, or a set-top box.

### Claim 11 (depends on 1)

The apparatus of claim 1, wherein the first frame buffer and the second frame buffer are separate physical devices.

### Claim 12 (depends on 1)

The apparatus of claim 1, wherein the one or more processors are configured to:
in response to the current picture being fully reconstructed, clear the second frame buffer.

### Claim 13

A method, the method comprising:
reconstructing samples of a first block of a current picture of video data;
storing both a compressed version of the reconstructed samples of the first block in a first frame buffer and an uncompressed version of the reconstructed samples of the first block in a second frame buffer such that, at a particular time, the first frame buffer stores the compressed version of the reconstructed samples and the second frame buffer stores the uncompressed version of the reconstructed samples; and
responsive to determining to reconstruct a second block of the current picture using intra block copy:
obtaining, from the second frame buffer, samples of a predictor block located in the current picture, the predictor block at least partially overlapping the first block; and
predicting, based on the obtained samples of the predictor block, samples of the second block.

### Claim 14 (depends on 13)

The method of claim 13, wherein a size of the second frame buffer is less than a size of the first frame buffer.

### Claim 15 (depends on 14)

The method of claim 14, wherein the size of the second frame buffer is selected to store a single picture and the size of the first frame buffer is selected to store a plurality of pictures.

### Claim 16 (depends on 13)

The method of claim 13, wherein storing the compressed version of the reconstructed samples in the first frame buffer and the uncompressed version of the reconstructed samples in the second frame buffer comprises:
causing the first frame buffer to write the compressed version of the reconstructed samples; and
causing the second frame buffer to write the uncompressed version of the reconstructed samples.

### Claim 17 (depends on 16)

The method of claim 16, wherein the second frame buffer completes writing the uncompressed version of the reconstructed samples before the first frame buffer completes writing the compressed version of the reconstructed samples.

### Claim 18 (depends on 17)

The method of claim 17, further comprising:
not obtaining the samples of the predictor block until after the second frame buffer completes writing the uncompressed version of the reconstructed samples.

### Claim 19

A computer readable storage medium storing instruction that, when executed, cause one or more processors to:
reconstruct samples of a first block of a current picture of video data;
store both a compressed version of the reconstructed samples of the first block in a first frame buffer and an uncompressed version of the reconstructed samples of the first block in a second frame buffer such that, at a particular time, the first frame buffer stores the compressed version of the reconstructed samples and the second frame buffer stores the uncompressed version of the reconstructed samples; and
responsive to a determination to reconstruct a second block of the current picture using intra block copy:
obtain, from the second frame buffer, samples of a predictor block located in the current picture, the predictor block at least partially overlapping the first block; and
predict, based on the obtained samples of the predictor block, samples of the second block.

### Claim 20 (depends on 19)

The computer readable storage medium of claim 19, wherein the instructions that cause the one or more processors to store the compressed version of the reconstructed samples in the first frame buffer and the uncompressed version of the reconstructed samples in the second frame buffer comprise instructions that cause the one or more processors to:
cause the first frame buffer to write the compressed version of the reconstructed samples; and
cause the second frame buffer to write the uncompressed version of the reconstructed samples.

### Claim 21 (depends on 20)

The computer readable storage medium of claim 20, wherein the second frame buffer completes writing the uncompressed version of the reconstructed samples before the first frame buffer completes writing the compressed version of the reconstructed samples.

### Claim 22 (depends on 21)

The computer readable storage medium of claim 21, further comprising instructions that cause the one or more processors to:
not obtain the samples of the predictor block until after the second frame buffer completes writing the uncompressed version of the reconstructed samples.
