IP Library Granted Patent US 7,324,026
Granted Patent B2
US 7,324,026 · App. 11/437,206 · Granted Jan 29, 2008

Optimization of decoder memory usage for VLC tables

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 7,324,026
App. No.
11/437,206
Granted
Jan 29, 2008
Kind
B2
Abstract

Systems and methods for optimizing system performance in variable length decoding systems are described. Embodiments are described in which decode tables are analyzed and elements of the tables sorted by probability of occurrence. Storage of elements can be determined by probability of occurrence and embodiments of the present invention can optimize system efficiency by storing most likely entries into fast-memory and least likely entries in slowest memory. In certain embodiments, a single large table is provided that cannot fit into decoder fast-memory. In some embodiments, individual elements can be optimized for storage in fast-memory by selecting more frequently occurring entries or groups of entries into decoder memory.

Claims (25)

1. A method for optimizing storage comprising the steps of:

determining probabilities of occurrence for portions of one or more tables; and

allocating the portions among a plurality of storage, each storage having an associated cost, wherein portions having highest probabilities are allocated to available storage having lowest costs.

2. A method according to claim 1 , wherein the plurality of storage includes memory devices and the associated cost is related to access times of the memory devices.

3. A method according to claim 1 , wherein the one or more tables includes at least one set of variable length coding (VLC) tables and each portion is a VLC table.

4. A method according to claim 3 , and further comprising the steps of:

associating a probability of occurrence with each element of the VLC tables; and

swapping lower probability elements in lower-cost storage with higher probability elements in higher cost storage.

5. A method according to claim 4 , wherein the step of swapping is performed iteratively to obtain a desired system cost.

6. A method according to claim 5 , wherein desired system cost is measured by calculating the sum of the product of probability of each element and cost of its associated storage.

7. A method according to claim 3 , wherein each set of VLC tables is used for decoding a bitstream encoded using one of a plurality of encoding schemes.

8. A method according to claim 7 , wherein the plurality of encoding schemes includes Advanced Audio Coding (AAC), MPEG-3, MPEG-4, JPEG, JPEG-2000 and H.264.

9. A method according to claim 3 , wherein the probabilities for the set of VLC tables are predetermined by an encoding system.

10. A method according to claim 3 , wherein the probabilities for the set of VLC tables are updated based on usage during decoding of a bitstream.

11. A method according to claim 3 , wherein the probabilities are obtained from analysis of the VLC tables.

12. A system for maintaining decode tables comprising:

a plurality of storage areas, each storage area having an associated cost;

one or more tables having a plurality of elements wherein each element has a corresponding probability of occurrence; and

a sorter adapted to populate certain area of the plurality of storage areas with elements of the one or more tables, wherein storage areas having lowest cost are populated with elements having highest probability.

13. The system of claim 12 , wherein the cost associated with each storage area includes a measure of access time for retrieving data from the each storage area.

14. The system of claim 13 , wherein the sorter is further adapted to initially populate storage areas having lowest access times with tables having highest aggregate probabilities.

15. The system of claim 14 , wherein the sorter is further adapted to swap lower probability elements initially sorted in lower-cost storage areas with higher probability elements initially stored in higher cost storage areas.

16. The system of claim 12 , wherein the sorter comprises a processor configured to execute a sorting algorithm.

17. The system of claim 12 , wherein each of the plurality of storage areas comprise one or more memory devices.

18. The system of claim 12 , wherein the cost associated with each storage area includes a measure of degradation of system performance associated with exhaustion of storage capacity.

Assignments (2)
MERGER Recorded Aug 2, 2007
From: PORTALPLAYER, INC.
To: NVIDIA CORPORATION
Reel/Frame 019668/0704 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2006
From: PURI, ROHIT; SRIRAM, PARTHA
To: PORTALPLAYER, INC.
Reel/Frame 017902/0649 →