IP Library Granted Patent US 9,852,522
Granted Patent B2
US 9,852,522 · App. 14/637,737 · Granted Dec 26, 2017

Image decoder, graphics processing system, image decoding method, and graphics processing method

Inventors: Jin Satoh (Tochigi, JP); Takehiro Tominaga (Tokyo, JP); Tomochika Kanakogi (Tokyo, JP)
Assignee: Sony Interactive Entertainment Inc.
G06T11/001H04N19/436H04N19/44H04N19/625H04N19/91H04N19/93G09G5/363G09G2340/02
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 9,852,522
App. No.
14/637,737
Granted
Dec 26, 2017
Kind
B2
Abstract

There is provided a graphics processing system that allows decompression of a compressed texture with high efficiency. The graphics processing system includes: a main memory; and a graphics processing unit, in which the graphics processing unit includes a run length decoding section adapted to run-length-decode a compressed texture, and a reciprocal spatial frequency conversion section adapted to restore the texture by performing reciprocal spatial frequency conversion on the run-length-decoded texture, and the main memory includes a texture pool adapted to partially cache the restored texture.

Claims (32)

1. A graphics processing system comprising:

a main processor comprising a partially resident textures (PRT) control section, and a graphics operation section;

a decompression circuit adapted to decompress compressed textures to produce decompressed textures;

a main memory; and

a graphics processing unit (GPU) comprising: (i) a run length decoding section adapted to run-length-decode the decompressed textures to produce run-length-decoded textures, and to match specified level of detail (LOD) values by simultaneously processing a plurality of parallel threads executing a same instruction on different pieces of input data at a same time, where the plurality of parallel threads are subject to an imbalance of program branch destinations caused by varying characteristics of the different pieces of input data, (ii) a reciprocal spatial frequency conversion section adapted to produce restored textures by performing reciprocal spatial frequency conversion on the run-length-decoded textures; and (iii) a graphics processing section adapted to process the decompressed textures,

wherein the main memory includes a texture pool adapted to partially cache the restored textures in a PRT cache,

wherein the graphics operation section receives the LOD values from the GPU and provides the LOD values to the PRT control section, and

wherein the PRT control section: (i) calculates mipmap textures, including multiple resolutions of the restored textures, based on the LOD values, (ii) provides instructions to the GPU to utilize the run length decoding section and the reciprocal spatial frequency conversion section to unarchive the calculated mipmap textures into the PRT cache, and (iii) updates texture mapping by removing pages that are no longer used.

2. The graphics processing system of claim 1 , wherein run length decoding of the run length decoding section is performed by a compute shader.

3. The graphics processing system of claim 1 , wherein the compressed textures are stored in the main memory, and the run length decoding section reads the compressed textures from the main memory.

4. A non-transitory, computer readable storage medium containing a computer program, which when executed by a computer, causes the computer to carry out a graphics processing method, comprising:

storing compressed textures in a main memory;

decompressing compressed textures to produce decompressed textures;

run length decoding the decompressed textures to produce run-length-decoded textures;

matching specified level of detail (LOD) values by simultaneously processing a plurality of parallel threads executing a same instruction on different pieces of input data at a same time, where the plurality of parallel threads are subject to an imbalance of program branch destinations caused by varying characteristics of the different pieces of input data;

producing restored textures by performing reciprocal spatial frequency conversion on the run-length-decoded textures;

partially caching the restored textures in a partially resident textures (PRT) cache within a texture pool of the main memory;

calculating mipmap textures, including multiple resolutions of the restored textures, based on the LOD values;

utilizing the run length decoding and the reciprocal spatial frequency converting to unarchive the calculated mipmap textures into the PRT cache; and

updating texture mapping by removing pages that are no longer used.

5. The non-transitory, computer readable storage medium of claim 4 , wherein variable length decoding of the variable length decoding section is performed by a plurality of threads simultaneously of a compute shader based on an imbalance of program branch destinations caused by a limited variation of input data.

6. The non-transitory, computer readable storage medium of claim 4 , wherein the compressed texture is stored in the main memory, and the variable length decoding section reads the compressed texture from the main memory.

7. An image decoding method comprising:

storing compressed textures in a main memory;

decompressing the compressed textures to produce decompressed textures;

run-length-decoding the decompressed textures to produce run-length-decoded textures;

matching specified level of detail (LOD) values by simultaneously processing a plurality of parallel threads executing a same instruction on different pieces of input data at a same time, where the plurality of parallel threads are subject to an imbalance of program branch destinations caused by varying characteristics of the different pieces of input data;

producing restored textures by reciprocal spatial frequency converting the run-length-decoded textures and processing the decompressed textures;

partially caching the restored textures in a partially resident textures (PRT) cache within a texture pool of the main memory;

calculating mipmap textures, including multiple resolutions of the restored textures, based on the LOD values;

utilizing the run length decoding and the reciprocal spatial frequency converting to unarchive the calculated mipmap textures into the PRT cache; and

updating texture mapping by removing pages that are no longer used.

Assignments (2)
CHANGE OF NAME Recorded Nov 15, 2017
From: SONY COMPUTER ENTERTAINMENT INC.
To: SONY INTERACTIVE ENTERTAINMENT INC.
Reel/Frame 044133/0544 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2015
From: SATOH, JIN; TOMINAGA, TAKEHIRO; KANAKOGI, TOMOCHIKA
To: SONY COMPUTER ENTERTAINMENT INC.
Reel/Frame 035083/0513 →
Priority Claims (2)
JP 2014-054021 · Mar 17, 2014 · national
JP 2014-200724 · Sep 30, 2014 · national
Continuity (1)
Related Publication 20150262385A1 · Sep 17, 2015