Matrix-Based Intra Prediction Using Integer Arithmetic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for determining prediction vectors in block-based video coding face challenges in using integer arithmetic, leading to inefficiencies and computational complexity, particularly in matrix multiplications, which are typically performed in floating-point precision.
Innovation Solution
Derive a further vector from the sample value vector through an invertible linear transform, allowing for integer arithmetic operations by using a prediction matrix that is approximated with a combination of a predetermined prediction matrix and an integer matrix, reducing computational complexity and quantization errors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a direct matrix-vector product is used between the sample value vector and the prediction matrix, then the prediction accuracy is improved, but the computational complexity increases and integer arithmetic cannot be efficiently applied
Solution Approach 1:
The patent introduces an intermediate transformed vector as a mediator between the sample value vector and the prediction matrix. This transformed vector, obtained through an invertible linear transform, enables the use of integer arithmetic while maintaining prediction accuracy. The transform acts as a bridge that allows efficient integer-based computation without directly compromising the quality of the prediction result.
Solution Approach 2:
The patent changes the parameter representation by applying an invertible linear transform to the sample value vector. This transformation modifies the vector's parameters (coordinates in a different basis) such that subsequent matrix multiplication can be performed using integer arithmetic. The transform parameters are chosen to enable efficient integer computation while preserving the essential information needed for accurate prediction.
2Measurement precision
If floating-point precision matrix multiplication is used, then the prediction accuracy is improved, but the implementation efficiency decreases
Solution Approach 1:
The patent substitutes the floating-point arithmetic mechanism with integer arithmetic mechanism. By transforming the sample value vector through an invertible linear transform, the patent enables the use of integer-based matrix multiplication, which is computationally more efficient and can be implemented using simpler hardware operations, thereby improving implementation efficiency while maintaining prediction accuracy.
3Productivity
If integer arithmetic operations are used for matrix multiplication, then the computational efficiency is improved, but the prediction accuracy deteriorates due to quantization errors
Solution Approach 1:
The patent performs a preliminary invertible linear transform on the sample value vector before the matrix multiplication operation. This preliminary action prepares the data in a form that is suitable for integer arithmetic, reducing quantization errors that would otherwise occur during the matrix multiplication. By pre-transforming the vector, the patent enables efficient integer computation while minimizing the impact of quantization on prediction accuracy.
4Ease of operation
If the sample value vector is directly applied in matrix-vector product, then the implementation is simplified, but the usage of integer arithmetic is limited
Solution Approach 1:
The patent makes the prediction method universal by enabling it to work with integer arithmetic, which is a more widely supported and efficient arithmetic type in video coding implementations. The invertible linear transform allows the method to function effectively with integer values, making the prediction approach more adaptable and versatile across different hardware and software platforms that prefer or require integer operations.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Apparatus for predicting a predetermined block (18) of a picture using a plurality of reference samples (17a, c) The apparatus is configured to form (100) a sample value vector (102, 400) out of the plurality of reference samples, derive from the sample value vector a further vector onto which the sample value vector is mapped by a predetermined invertible linear transform, compute a matrix-vector product between the further vector and a predetermined prediction matrix so as to obtain a prediction vector, and predict samples of the predetermined block on the basis of the prediction vector.