Video Decoder Probability Table Storage in Integrated Circuit
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional video decoders experience significant slowdowns due to repeated reading of large probability tables from external buffers during the decoding of video frames divided into tiles, leading to high data bandwidth usage.
Innovation Solution
An integrated circuit with two volatile memories and a video decoder that initializes control flags and determines whether to read or write probability tables from one memory or the other, allowing efficient storage and updating of tables within the circuit, reducing the need for repeated external reads.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If the conventional video decoder reads the probability table from external buffer for each tile decoding, then the decoding process can access the required data, but the data bandwidth is consumed and decoding speed is slowed down
Solution Approach 1:
The probability table storage is segmented into two separate volatile memories: a first volatile memory for storing the initial probability table and a second volatile memory for storing updated probability tables. This segmentation allows the decoder to efficiently manage different versions of the probability table without repeatedly accessing external buffer, thereby reducing bandwidth consumption and improving decoding speed.
Solution Approach 2:
The initial probability table is pre-loaded into the first volatile memory before tile decoding begins. This preliminary action eliminates the need to repeatedly read from external buffer during subsequent tile decoding operations, as the decoder can directly access the pre-loaded table in fast volatile memory.
2Device complexity
If the same initial probability table is used for all tiles in the same image frame, then memory operations are simplified, but the probability table updates during decoding create complexity in managing different table versions
Solution Approach 1:
The system dynamically manages probability table versions by introducing control flags that track whether each row in the second volatile memory contains updated data. This dynamic approach allows the decoder to adaptively switch between initial and updated probability tables based on decoding progress, ensuring both memory management efficiency and decoding accuracy.
Solution Approach 2:
Control flags are introduced as intermediary elements between the first and second volatile memories. These flags indicate whether probability table rows have been updated, serving as a mediator that coordinates data flow and ensures the decoder accesses the correct version of the probability table without complex management overhead.
3Quantity of substance
If the probability table is stored in external buffer, then memory capacity is sufficient, but repeated reading operations consume excessive bandwidth and time
Solution Approach 1:
The solution transitions from a single external buffer storage dimension to a two-dimensional volatile memory structure with control flags. The first volatile memory stores the initial probability table while the second volatile memory stores updated tables, with control flags providing a third dimension for version tracking. This multi-dimensional approach eliminates repeated external reads and significantly reduces access time.
Data Source
AI summary
An integrated circuit is provided. The integrated circuit includes a first volatile memory, a second volatile memory, and a video decoder. In response to the video decoder starting video decoding on a current frame of a video stream, the video decoder reads an initial probability table for the current frame from a memory unit external to the integrated circuit, and stores the initial probability table in the first volatile memory. When a decoding phase of the current tile is completed, the video decoder complements the probability table corresponding to each row of the second volatile memory according to control flags corresponding to the rows of the first volatile memory and the second volatile memory to obtain a complete probability table, and writes the complete probability table to the memory unit.


