Scalable Video Entropy Coding With Temporal Context Buffers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing video coding systems, particularly in Versatile Video Coding (VVC), face challenges in efficiently initializing context states for entropy coding, leading to synchronization issues between encoders and decoders, especially when handling multiple temporal sublayers and layers, which affects coding performance.
Innovation Solution
Implementing a method and apparatus for context initialization in entropy coding that utilizes separate context state buffers for different temporal sublayers and layers, allowing the use of stored context states with lower IDs or QPs for initialization, and dynamically managing buffer sizes and sharing context states across different slice types.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If separate context state buffers are used for different temporal sublayers, then synchronization between encoder and decoder is improved, but device complexity increases
Solution Approach 1:
The patent divides the context state buffers into separate buffers for different temporal sublayers (TL0 buffer, TL1 buffer, etc.). Each buffer stores context states specific to its temporal sublayer, preventing mixing and ensuring proper synchronization. This segmentation resolves the contradiction by organizing complexity in a structured way that maintains reliability while making the system manageable.
Solution Approach 2:
The patent introduces a temporal sublayer dimension to the buffer structure, where context states are organized not just by sequence but by their temporal sublayer affiliation. This dimensional organization allows the system to track and synchronize context states across multiple temporal layers, improving reliability without overwhelming complexity through systematic indexing.
2Productivity
If context states are stored in multiple buffers for different temporal sublayers, then coding performance is improved, but memory usage increases
Solution Approach 1:
By segmenting context state storage into separate buffers for different temporal sublayers, the patent enables more efficient memory utilization. Each buffer can be independently managed and optimized, storing only the context states relevant to its specific temporal sublayer, thus improving coding performance while controlling overall memory usage through targeted storage.
Solution Approach 2:
The patent applies local quality by allowing different temporal sublayers to have their own specialized context state buffers with potentially different sizes and management strategies. This enables optimization for each specific temporal sublayer's requirements, improving overall coding performance while using memory efficiently by allocating resources where they are most needed.
3Productivity
If context states from previous slices are reused for current slice initialization, then coding efficiency is improved, but synchronization issues occur between encoder and decoder
Solution Approach 1:
The patent segments the context state reuse process by temporal sublayer, where context states from previous slices are reused only within the same temporal sublayer. This segmentation ensures that encoder and decoder remain synchronized within each temporal sublayer while still benefiting from context state reuse, resolving the contradiction between coding efficiency and synchronization reliability.
Solution Approach 2:
The patent implements preliminary action by pre-organizing context states into temporal sublayer-specific buffers before encoding begins. This preliminary organization ensures that when context states need to be reused, the correct ones are readily available and properly synchronized, maintaining both coding efficiency and reliability without requiring complex runtime synchronization checks.
Data Source
AI summary
A method and apparatus of context initialization for entropy coding. According to one method, previous context states derived from one or more previous slices for an arithmetic entropy coder are determined, where the previous context states are stored in multiple context state buffers and different context state buffers are used to store the previous context states for different temporal sublayers. Target context states are determined from the previous context states for the current slice in a current temporal sublayer indicated by a current temporal ID, wherein a target context state buffer storing the target context states is determined according to the current temporal ID. A current set of context states for the arithmetic entropy coder is initialized using the target context states. The input data is encoded or decoded using the arithmetic entropy coder after said initializing the current set of context states for the arithmetic entropy coder.


