Register Arrays for Video Transform Coefficient Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video encoding techniques face challenges in efficiently coding transform coefficients, leading to memory bottlenecks due to the need to access extensive context information for determining coding contexts, which affects the compression performance of video streams.

Innovation Solution

The method involves defining register arrays with different sizes to store context values, initializing them with default values, and coding transform coefficients in reverse scan order, using these arrays to determine and update coding contexts during entropy coding, thereby reducing the reliance on base information and improving efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If extensive context information is accessed for determining coding contexts, then coding accuracy is improved, but memory access time increases and memory bottlenecks occur

Engineering Contradiction:
Improvecoding accuracyVSAvoidmemory access time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the context information into multiple register arrays (first register array, second register array, third register array) with different sizes, each storing different types of context values. This segmentation allows selective access to only the necessary context information for each coding decision, reducing memory access time while maintaining coding accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-initializing the register arrays with default values before coding begins. This preparation ensures that when coding operations start, the context information is already readily available in register form, eliminating the need for extensive memory access during the actual coding process.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If multiple register arrays of different sizes are used to store context values, then coding efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvecoding efficiencyVSAvoidregister array structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies local quality by creating register arrays with different sizes tailored to specific coding needs. The first register array has a first size for storing certain context values, the second register array has a second size for other context values, and the third register array has a third size for additional context information. This localized optimization improves coding efficiency without requiring all arrays to be uniformly complex.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The multiple register arrays serve universal purposes in the coding process - they all store context values that are used for determining coding contexts during entropy coding. This multi-functionality allows the system to handle different types of context information efficiently while maintaining a unified coding framework.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Stability of the object's composition

If register arrays are initialized with default values, then coding consistency is improved, but initialization time is consumed

Engineering Contradiction:
Improvecoding consistencyVSAvoidinitialization time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The patent performs the preliminary action of initializing register arrays with default values before the coding process begins. This ensures coding consistency throughout the operation while accepting the one-time initialization time cost. The initialization establishes a stable starting state for all context values.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Once initialized, the register arrays maintain their values throughout the coding process, providing continuous context information without requiring repeated initialization. This continuity preserves coding consistency while amortizing the initialization time cost over the entire coding operation.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10609421B2Context derivation for coefficient coding
Publication Date: 2020.03.31 GOOGLE LLC
  • US10609421B2 patent drawing
  • US10609421B2 patent drawing
  • US10609421B2 patent drawing

AI summary

Coding a transform block having transform coefficients is described. A plurality of register arrays is defined to each hold one or more stored values regarding the coding context based on at least one spatial template for a coding context. The register arrays are initialized by setting the stored values to default values, and values for the transform coefficients from the transform block are coded in a reverse scan order. The values for the transform coefficients are indicative of magnitudes of the transform coefficients. For each of one or more transform coefficients, the coding includes determining the coding context using at least some of the stored values from the register arrays, entropy coding a value for the transform coefficient using the coding context, and updating the register arrays subsequent to entropy coding the value for the transform coefficient.