Video Decoder Merge List Selection for Illumination Compensation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current video coding standards inherit LIC flags and BCW indices from neighboring blocks in merge mode, which may not be optimal due to illumination changes between neighboring blocks and the current block.
Innovation Solution
The proposed techniques allow for the use of a second merge list based on a first merge list, with associated LIC flags that may differ from those in the first merge list, enabling independent LIC determination for each block.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If LIC flags and BCW indices are always inherited from neighboring blocks in merge mode, then the coding process is simplified, but coding quality deteriorates due to illumination changes between neighboring blocks and current block
Solution Approach 1:
The patent introduces a dynamic mechanism where the LIC flag and BCW index are not fixed but can be independently determined for each block. The encoder/decoder can choose to inherit these parameters from neighboring blocks or determine them independently based on the specific block's characteristics and illumination conditions, making the coding process adaptive rather than static.
Solution Approach 2:
The patent changes the parameter inheritance behavior by introducing a flag (e.g., `independentLICFlag` or `independentBCWFlag`) that controls whether LIC flags and BCW indices should be inherited from neighboring blocks or determined independently. This parameter change allows the system to switch between inheritance mode and independent determination mode, resolving the contradiction between simplicity and quality.
2Ease of operation
If LIC information is always inherited from neighboring blocks, then processing is simplified, but illumination compensation accuracy deteriorates
Solution Approach 1:
The system dynamically adjusts the LIC flag inheritance behavior based on the specific coding situation. Instead of always inheriting LIC information, the processor can independently determine the LIC flag for each block, allowing for more accurate illumination compensation when needed while maintaining simplicity when inheritance is sufficient.
Solution Approach 2:
The patent introduces a control parameter (LIC inheritance flag) that changes the behavior of LIC processing. When this parameter is set to inherit, the system uses neighboring block's LIC information for simplicity. When set to independent determination, the system uses the current block's specific characteristics for accurate compensation, thus resolving the accuracy-simplicity contradiction.
3Device complexity
If BCW index is always inherited from neighboring blocks, then the encoding process is simplified, but motion vector refinement accuracy deteriorates
Solution Approach 1:
The patent makes the BCW index inheritance dynamic rather than static. The encoder/decoder can independently determine the BCW index for each block based on its specific motion characteristics and refinement needs, allowing for more accurate motion vector refinement when necessary while maintaining encoding simplicity through inheritance when appropriate.
Solution Approach 2:
The patent introduces a control mechanism that changes the BCW index inheritance behavior. By introducing a flag that controls whether to inherit or independently determine the BCW index, the system can switch between simplified inheritance mode and accurate independent determination mode, resolving the contradiction between process simplicity and refinement accuracy.
Data Source
AI summary
Example devices, methods, and computer-readable media are disclosed for decoding video data. An example method includes determining to decode a current block of the video data using a merge mode. The example method includes obtaining a flag from a bitstream. The example method includes determining, based on a value of the flag, to use a second merge list of two merge lists for the current block, wherein the second merge list is based on a first merge list of the two merge lists. The example method includes decoding the current block based on the second merge list.


