Ordered Entropy Slices for Parallel CABAC Without Large Buffers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional sequential CABAC is a bottleneck for parallel processing in video encoding and decoding due to its serial bit-level processing nature, leading to inefficiencies in compression and increased memory and power consumption when using off-chip memory for large buffer sizes.
Innovation Solution
The method involves providing entropy slices to multiple processing elements with a causal processing order, allowing them to work in parallel, reducing the need for large buffers and enabling on-chip memory usage by ensuring that prior macroblock information is efficiently stored and accessed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If sequential CABAC processing is used, then compression efficiency is maintained, but processing speed is limited and parallel processing cannot be effectively implemented
Solution Approach 1:
The patent divides the picture into multiple entropy slices, each containing a subset of macroblocks. Each processing element can independently decode one or more entropy slices in parallel, eliminating the sequential bottleneck while maintaining compression efficiency through proper context initialization for each slice.
2Productivity
If parallel CABAC processing is implemented without ordered entropy slices, then processing speed increases, but buffer size requirements increase significantly requiring off-chip memory
Solution Approach 1:
The patent reorders macroblocks within entropy slices so that all macroblocks requiring prediction from a reference macroblock are processed before the reference macroblock itself. This preliminary ordering ensures that prediction data is ready in on-chip memory when needed, eliminating the need for large off-chip buffers.
3Productivity
If off-chip memory is used for large buffers, then parallel processing capacity increases, but access speed decreases and power consumption increases
Solution Approach 1:
The patent changes the processing order parameter of macroblocks within entropy slices to ensure causal dependencies are satisfied. This reordering allows the system to use smaller on-chip buffers instead of larger off-chip memory, achieving both high parallel processing capacity and fast memory access speeds simultaneously.
4Productivity
If off-chip memory is used for large buffers, then parallel processing capacity increases, but power consumption increases significantly
Solution Approach 1:
By changing the macroblock processing order within entropy slices, the patent enables the use of smaller on-chip buffers instead of energy-hungry off-chip memory. This parameter change maintains parallel processing capacity while dramatically reducing power consumption associated with memory access.
Data Source
AI summary
A method for performing parallel coding with ordered entropy slices includes: providing a plurality of entropy slices to a plurality of processing elements, wherein each entropy slice includes a plurality of blocks; initializing CABAC states of a current entropy slice as the CABAC states of a previous entropy slice after processing DB blocks of the previous entropy slice. DB is a positive integer.


