# US 10,313,695 B2 · Parallel decode of a progressive JPEG bitstream

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

- Number: US 10,313,695 B2
- Document ID: US10313695B2
- Status: Granted
- Kind: B2
- Application number: 15/903,598
- Filed: 2018-02-23
- Published: 2018-06-28
- Granted: 2019-06-04
- Earliest claimed: 2018-02-23
- Assignees: Entropic Communications, Inc.
- Applicants: Entropic Communications, LLC
- Inventors: Anurag Goel
- Web page: https://patentgrep.com/patent/US10313695B2

## CPC

- H04N 19/44: Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
- H04N 19/42: characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation (H04N19/635 takes precedence)
- H04N 19/436: using parallelised computational arrangements
- H04N 19/625: using discrete cosine transform [DCT]
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N 19/91: Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
- H04N 19/60: using transform coding
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A progressive JPEG bitstream may comprise an image component that is comprised of multiple scans of MCUs/data units that are in turn comprised of at least one MCU/data unit segment. Each MCU/data unit segment is successively scanned. The MCU/data unit segment is then reconstructed using multiple entropy decoders operating in parallel on different scans of each MCU/data unit segment.

## Claims

### Claim 1

A method of processing an image bitstream, the method comprising:
determining an image in a user's region of interest;
successively scanning a data unit segment of the determined image to produce two or more scans;
decoding, in parallel, the two or more scans of the data unit segments; and
reconstructing the data unit segment according to the two or more decoded scans of the data unit segment, wherein the image in the user's region of interest is reconstructed with a higher image quality.

### Claim 2 (depends on 1)

The method of claim 1, wherein decoding comprises utilizing multiple entropy decoders.

### Claim 3 (depends on 1)

The method of claim 1, wherein the data unit segment is between two synchronization points.

### Claim 4 (depends on 1)

The method of claim 1, wherein decoding comprises temporarily storing a discrete cosine transform (DCT) coefficient of the data unit segment in an output image buffer.

### Claim 5 (depends on 1)

The method of claim 1, wherein the data unit segment comprises ¼th of frequency coefficients that are present in a top-left 4×4 array of an 8×8 a data unit block.

### Claim 6 (depends on 1)

The method of claim 1, wherein the data unit segment comprises an approximation of at least one image component using stored DCT coefficients.

### Claim 7 (depends on 1)

The method of claim 1, wherein the method comprises up-scaling reconstructed sub-sampled approximations of the data unit segment.

### Claim 8 (depends on 1)

The method of claim 1, wherein the user's region of interest is identified by a user interface.

### Claim 9 (depends on 1)

The method of claim 1, wherein the image is displayed by a set top box.

### Claim 10 (depends on 1)

The method of claim 1, wherein the image is shared over a wireless channel.

### Claim 11

A system for processing an image bitstream comprising:
a user interface operable to identify an image in a user's region of interest;
a scanner operable to successively scan a data unit segments of the image in the image bitstream to produce two or more scans;
two or more decoders operable in parallel to decode the two or more scans of the data unit segment; and
a circuit operable to reconstruct the data unit segment according to the two or more decoded scans of the data unit segment, wherein the image in the user's region of interest is reconstructed with a higher image quality.

### Claim 12 (depends on 11)

The system of claim 11, wherein the two or more decoders are two or more entropy decoders.

### Claim 13 (depends on 11)

The system of claim 11, wherein the data unit segment is between two synchronization points.

### Claim 14 (depends on 11)

The system of claim 11, wherein the system comprises an output image buffer operable to temporarily store a discrete cosine transform (DCT) of the data unit segment.

### Claim 15 (depends on 11)

The system of claim 11, wherein the data unit segment comprises ¼th of frequency coefficients that are present in a top-left 4×4 array of an 8×8 a data unit block.

### Claim 16 (depends on 11)

The system of claim 11, wherein the data unit segment comprises an approximation of at least one image component using stored DCT coefficients.

### Claim 17 (depends on 11)

The system of claim 11, wherein the circuit is operable to up-scale reconstructed sub-sampled approximations of the data unit segment.

### Claim 18 (depends on 11)

The system of claim 11, wherein the image is displayed by a set top box.

### Claim 19 (depends on 11)

The system of claim 11, wherein the image is shared over a wireless channel.

### Claim 20 (depends on 11)

The system of claim 11, wherein the image is shared over a wireless local network.
