Patentable/Patents/US-9106932
US-9106932

Parallel pyramid entropy coding for video and image compression

PublishedAugust 11, 2015
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

Methods, systems, and computer program products are provided to divide code blocks, such as blocks of quantized coefficient of image or video data, into smaller blocks and sub-blocks that can be processed in parallel using layered entropy coding and decoding scheme. This division is accomplished while still encoding the entire code block using the same layered entropy coding scheme.

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method, comprising: dividing a code block into a plurality of pixel groups; for a pixel group from the plurality of pixel groups, analyzing a first cluster pattern from a plurality of cluster patterns in a layered encoding scheme for the code block, wherein the first cluster pattern arranges the pixel group into sub-blocks, and wherein the analyzing comprises: calculating maximum code sizes for encoding the sub-blocks according to the layered encoding scheme, determining a largest code size of the maximum code sizes, and calculating a prefix size of a prefix that encodes the maximum code sizes, wherein the maximum code sizes are encoded as differences from the largest code size; determining that the first cluster pattern is associated with a first pixel group code size that is smaller than a second pixel group code size associated with a second cluster pattern from the plurality of cluster patterns, wherein the first pixel group code size is calculated based on the maximum code sizes and the prefix size; selecting the first cluster pattern based on the determination; dividing the pixel group into the sub-blocks according to the first cluster pattern; and encoding the prefix and pixels assigned to the sub-blocks using the layered encoding scheme.

2

2. The method of claim 1 , wherein the first cluster pattern divides the code block into four equal-sized pixel groups.

3

3. The method of claim 1 , wherein the determination used in selecting the cluster pattern comprises: determining a smallest code size of the maximum code sizes for the sub-block by using pixels assigned to the sub-block.

4

4. The method of claim 1 , further comprising: storing the maximum code sizes for the sub-blocks and pixel-group code sizes for the pixel groups into an encoded stream using the layered entropy coding scheme, wherein each of the maximum code sizes is stored as an encoded difference.

5

5. The method of claim 4 , further comprising: receiving a data stream comprising the code block; separating the code block into pixel groups using the stored pixel-group code sizes and a layered decoding scheme; separating the pixel group into the sub-blocks using the stored maximum code sizes; and decoding the sub-blocks of the pixel group in parallel.

6

6. A computer-readable storage device having instructions stored thereon, execution of which, by a computing device, causes the computing device to perform operations comprising: dividing a code block into a plurality of pixel groups; for a pixel group from the plurality of pixel groups, analyzing a first cluster pattern from a plurality of cluster patterns in a layered encoding scheme for the code block, wherein the first cluster pattern arranges the pixel group into sub-blocks, and wherein the analyzing comprises: calculating maximum code sizes for encoding the sub-blocks according to the layered encoding scheme, determining a largest code size of the maximum code sizes, and calculating a prefix size of a prefix that encodes the maximum code sizes, wherein the maximum code sizes are encoded as differences from the largest code size; determining that the first cluster pattern is associated with a first pixel group code size that is smaller than a second pixel group code size associated with a second cluster pattern from the plurality of cluster patterns, wherein the first pixel group code size is calculated based on the maximum code sizes and the prefix size; selecting the first cluster pattern based on the determination; dividing the pixel group into the sub-blocks according to the first cluster pattern; and encoding the prefix and pixels assigned to the sub-blocks using the layered encoding scheme.

7

7. The computer-readable storage device of claim 6 , wherein the first cluster pattern divides the code block into four equal-sized pixel groups.

8

8. The computer-readable storage device of claim 6 , wherein the determination used in selecting the cluster pattern comprises: determining a smallest maximum code size from the maximum code sizes for the sub-block by using pixels assigned to the sub-block.

9

9. The computer-readable storage device of claim 6 , the operations further comprising: storing the maximum code sizes for the sub-blocks and pixel-group code sizes for the pixel groups into an encoded stream using the layered entropy coding scheme, wherein each of the maximum code sizes is stored as an encoded difference.

10

10. The computer-readable storage device of claim 9 , the operations further comprising: receiving a data stream comprising the code block; separating the code block into pixel groups using the stored pixel-group code sizes and a layered decoding scheme; separating the pixel group into the sub-blocks using the stored maximum code sizes; and decoding the sub-blocks of the pixel group in parallel.

11

11. A system, comprising: an encoder stored in memory and configured to perform operations comprising: dividing a code block into a plurality of pixel groups; for a pixel group from the plurality of pixel groups, analyzing a first cluster pattern from a plurality of cluster patterns in a layered encoding scheme for the code block, wherein the first cluster pattern arranges the pixel group into sub-blocks, and wherein the analyzing comprises: calculating maximum code sizes for encoding the sub-blocks according to the layered encoding scheme, determining a largest code size of the maximum code sizes, and calculating a prefix size of a prefix for encoding the maximum code sizes, wherein the maximum code sizes are encoded as differences from the largest code size; determining that the first cluster pattern is associated with a first pixel group code size that is smaller than a second pixel group code size associated with a second cluster pattern from the plurality of cluster patterns, wherein the first pixel group code size is calculated based on the maximum code sizes and the prefix size; selecting the first cluster pattern based on the determination; dividing the pixel group into the sub blocks according to the first cluster pattern; and encoding the prefix and pixels assigned to the sub-blocks using the layered encoding scheme; and one or more processors configured to process the encoder.

12

12. The system of claim 11 , wherein the first cluster pattern divides the code block into four equal-sized pixel groups.

13

13. The system of claim 11 , wherein the determination used in selecting the cluster pattern comprises: determining a smallest maximum code size from the maximum code sizes for the sub-block by using pixels assigned to the sub-block.

14

14. The system of claim 11 , wherein the encoder is further configured to perform operations comprising: storing the maximum code sizes for the sub-blocks and pixel-group code sizes for the pixel groups into an encoded stream using the layered entropy coding scheme, wherein each of the maximum code sizes is stored as an encoded difference.

15

15. The system of claim 14 , further comprising: a decoder configured to perform operations comprising: receiving a data stream comprising the code block, separating the code block into pixel groups using the stored pixel-group code sizes and a layered decoding scheme, separating the pixel group into the sub-blocks using the stored maximum code sizes, and decoding the sub-blocks of the pixel group in parallel.

16

16. The method of claim 1 , further comprising: encoding the difference between the maximum code size of a sub-block from the sub-blocks and another maximum code size of another sub-block from the sub-blocks.

17

17. The computer-readable storage device of claim 6 , wherein the operations to be performed further comprise: encoding the difference between the maximum code size of a sub-block from the sub-blocks and another maximum code size of another sub-block from the sub-blocks.

18

18. The system of claim 11 , wherein the operations to be performed further comprise: encoding the difference between the maximum code size of a sub-block from the sub blocks and another maximum code size of another sub-block from the sub-blocks.

19

19. The method of claim 1 , wherein calculating maximum code sizes for the sub-blocks is based on finding a two's complement size of each pixel of the pixels assigned to the sub-blocks.

20

20. The computer-readable storage device of claim 6 , wherein calculating maximum code sizes for the sub-blocks is based on finding a two's complement size of each pixel of the pixels assigned to the sub-blocks.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

February 29, 2012

Publication Date

August 11, 2015

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Parallel pyramid entropy coding for video and image compression” (US-9106932). https://patentable.app/patents/US-9106932

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.