CABAC Transcoding State Storage for Smaller Video Buffers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing coder-decoder systems using entropy transcoding require large transcode buffers to prevent stalling, which increases storage requirements, especially when performing content adaptive binary arithmetic coding (CABAC), as they must operate on complete network abstraction layer (NAL) units without interruption.
Innovation Solution
A system that allows the transcode engine to stop and restart CABAC processing on a sub-NAL unit basis, using entropy state data storage to manage state information for sub-NAL units, reducing the need for large buffers by storing and restoring state data on a macroblock or row basis.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the transcode engine operates on complete NAL units without interruption, then processing reliability is improved, but storage requirements increase significantly
Solution Approach 1:
The patent segments the NAL unit processing into smaller sub-NAL unit portions that can be processed independently. The transcode engine processes data in manageable chunks rather than requiring the entire NAL unit to be available, allowing state to be saved and restored at sub-NAL unit boundaries. This segmentation reduces the buffer size needed while maintaining processing integrity.
Solution Approach 2:
The system performs preliminary actions by saving the entropy state data before processing each sub-NAL unit portion and restoring it after processing. This allows the transcode engine to interrupt and resume processing without losing state information, enabling reduced buffer sizes while maintaining the ability to process complete NAL units reliably.
2Productivity
If large transcode buffers are used to prevent stalling, then processing continuity is improved, but device complexity increases
Solution Approach 1:
By segmenting processing into sub-NAL unit portions with save/restore capability, the system maintains processing continuity without requiring large buffers. The state save/restore mechanism allows the engine to efficiently manage smaller buffers while avoiding stalling conditions through proper state management.
3Device complexity
If the transcode engine cannot be interrupted during NAL unit processing, then state management is simplified, but adaptability decreases
Solution Approach 1:
The system dynamically switches between interruptible and non-interruptible processing modes. By implementing save/restore functionality at sub-NAL unit boundaries, the engine gains flexibility to be interrupted when needed while maintaining simple state management through standardized state saving and restoration procedures. This dynamic capability allows adaptation to different processing scenarios.
Data Source
AI summary
A system for reducing storage requirements for content-adaptive binary arithmetic coding (CABAC) is provided. The system includes a transcode engine performing CABAC on a video data stream. The transcode engine receives save data, stops CABAC, and converts the video data stream into sub-network abstraction layer (NAL) unit state data. An entropy state data storage system receiving the sub-NAL unit state data and stores the sub-NAL unit state data. The transcode engine subsequently receives restore data, extracts the sub-NAL unit state data from the entropy state data storage system, and re-starts CABAC on the video stream data.


