IP Library › Granted Patent US 10,922,848
Granted Patent B2
US 10,922,848 · App. 16/391,148 · Granted Feb 16, 2021

Pixel storage for graphical frame buffers

Inventors: Richard Hayden Wyman (Sunnyvale, CA); Brian Francis Schoner (Fremont, CA); David Chao Hua Wu (San Diego, CA); Timothy James Mamtora (Cambridge, GB)
Assignee: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
G06T9/00G06T1/60
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,922,848
App. No.
16/391,148
Granted
Feb 16, 2021
Kind
B2
Abstract

A device implementing the subject pixel storage for graphical frame buffers may include at least one processor configured to obtain a plurality of data units containing a plurality of pixels stored in memory, each of the plurality of data units including a first pixel of the plurality of pixels packed in succession with at least a portion of a second pixel of the plurality of pixels, in which the plurality of pixels is represented by a number of bits, obtain a group of pixels from the plurality of pixels, and store the group of pixels using a targeted number of bits. A method and computer program product implementing the subject pixel storage for graphical frame buffers is also provided.

Claims (74)

1. A device comprising:

at least one processor configured to:

obtain a plurality of data units containing a plurality of pixels stored in memory, each of the plurality of data units including a first pixel of the plurality of pixels packed in succession with at least a portion of a second pixel of the plurality of pixels, the plurality of pixels being represented by a number of bits;

obtain a group of pixels from the plurality of pixels;

and

store the group of pixels using a targeted number of bits,

wherein the at least one processor is configured to:

select a pixel format for the group of pixels based on a storage format;

pack the group of pixels per the selected pixel format;

determine that pixels of the group of pixels require padding to be added to conform to the pixel format;

add padding to the pixels of the group of pixels per the pixel format; and

store the pixels of the group of pixels.

2. The device of claim 1 , wherein the targeted number of bits is different than the number of bits.

3. The device of claim 1 , wherein the at least one processor is configured to:

apply a lossy compression operation to the plurality of pixels; and

generate the group of pixels as compressed data using the targeted number of bits based on the applied lossy compression operation.

4. The device of claim 3 , wherein the at least one processor is configured to:

determine a statistical redundancy between pixels of the group of pixels using the applied lossy compression operation; and

remove one or more units of information from the group of pixels based on the statistical redundancy to reduce the group of pixels to a size that corresponds to the targeted number of bits.

5. The device of claim 1 , wherein the at least one processor is configured to:

obtain a block of compressed pixel data from a first frame buffer in the memory;

decompress the block of compressed pixel data into a block of uncompressed pixel data;

process the block of uncompressed pixel data;

compress the processed block of uncompressed pixel data into a block of compressed pixel data using the targeted number of bits; and

store the block of compressed pixel data to a second frame buffer in the memory.

6. The device of claim 5 , wherein the block of compressed pixel data includes corresponding pixels of the block of uncompressed pixel data.

7. The device of claim 1 , wherein the at least one processor is configured to:

determine the targeted number of bits based on a predetermined compression ratio, the predetermined compression ratio being a ratio of the number of bits corresponding to the group of pixels to the targeted number of bits.

8. The device of claim 1 , wherein the targeted number of bits corresponds to a multiple of a burst length used in transmitting data to memory.

9. The device of claim 1 , wherein the at least one processor is configured to:

decode a received video stream into the plurality of pixels.

10. The device of claim 1 , wherein the at least one processor is configured to:

obtain a block of uncompressed pixel data from a first frame buffer in the memory;

determine that a pixel format of the block of uncompressed pixel data includes one or more padding bits;

remove the one or more padding bits from the block of uncompressed pixel data;

process the block of uncompressed pixel data;

determine that the pixel format of the block of uncompressed pixel data requires at least one padding bit for storage;

add the at least one padding bit to the block of uncompressed pixel data; and

store the block of uncompressed pixel data with the added at least one padding bit to a second frame buffer in the memory.

11. The device of claim 1 , wherein the at least one processor is configured to:

store the plurality of pixels as uncompressed pixel data based on a selected pixel format that corresponds to the number of bits;

store the group of pixels as compressed pixel data based on the targeted number of bits;

store the plurality of pixels and the group of pixels in different frame buffers.

12. A method, comprising:

obtaining a plurality of data units containing a plurality of pixels stored in memory, each of the plurality of data units including a first pixel of the plurality of pixels packed in succession with at least a portion of a second pixel of the plurality of pixels, the plurality of pixels being represented by a number of bits, the plurality of pixels comprising a group of pixels packed per a pixel format selected based on a storage format;

obtaining the group of pixels from the plurality of pixels;

determining that one or more pixels of the group of pixels require padding to be added to conform to the pixel format;

adding padding to the one or more pixels of the group of pixels per the pixel format;

compressing the group of pixels using a targeted number of bits; and

storing the compressed group of pixels.

13. The method of claim 12 , wherein compressing the group of pixels comprises:

applying a lossy compression operation to the group of pixels; and

generating the compressed group of pixels with the targeted number of bits based on the applied lossy compression operation.

14. The method of claim 13 , wherein applying the lossy compression operation comprises:

determining a statistical redundancy between pixels of the group of pixels using the applied lossy compression operation; and

removing one or more units of information from the group of pixels based on the statistical redundancy to reduce the group of pixels to a size that corresponds to the targeted number of bits.

15. The method of claim 12 , further comprising:

determining the targeted number of bits based on a predetermined compression ratio, the predetermined compression ratio being a ratio of the number of bits corresponding to the group of pixels to the targeted number of bits.

16. A non-transitory, tangible computer-readable storage medium storing instructions, the instructions comprising:

instructions for obtaining a plurality of data units containing a plurality of pixels stored in memory, each of the plurality of data units including a first pixel of the plurality of pixels packed in succession with at least a portion of a second pixel of the plurality of pixels, the plurality of pixels being represented by a number of bits, the plurality of pixels comprising a group of pixels packed per a pixel format selected based on a storage format;

instructions for obtaining the group of pixels from the plurality of pixels;

instructions for determining that one or more pixels of the group of pixels require adding to be added to conform to the pixel format;

instructions for adding padding to the one or more pixels of the group of pixels per the pixel format;

instructions for compressing the group of pixels using a targeted number of bits different than the number of bits; and

instructions for storing the compressed group of pixels.

17. The non-transitory, tangible computer-readable storage medium of claim 16 , wherein the instructions further comprise:

instructions for applying a lossy compression operation on the group of pixels; and

instructions for generating the compressed group of pixels with the targeted number of bits based on the applied lossy compression operation.

18. The non-transitory, tangible computer-readable storage medium of claim 17 , wherein the instructions further comprise:

instructions for determining a statistical redundancy between pixels of the group of pixels using the applied lossy compression operation; and

instructions for removing one or more units of information from the group of pixels based on the statistical redundancy to reduce the group of pixels to a size that corresponds to the targeted number of bits.

19. The non-transitory, tangible computer-readable storage medium of claim 16 , wherein the instructions further comprise:

instructions for determining the targeted number of bits based on a predetermined compression ratio, the predetermined compression ratio being a ratio of the number of bits corresponding to the group of pixels to the targeted number of bits.

20. The non-transitory, tangible computer-readable storage medium of claim 16 , wherein the plurality of pixels represent high dynamic range (HDR) pixels.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2019
From: WYMAN, RICHARD HAYDEN; SCHONER, BRIAN FRANCIS; WU, DAVID CHAO HUA; MAMTORA, TIMOTHY JAMES
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 049146/0277 →
Continuity (2)
Provisional Application 62662399 · Apr 25, 2018
Related Publication 20190333249A1 · Oct 31, 2019