Run-Level Grouping for Large-Transform Video Code Estimation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current video encoding systems face high computation costs when estimating the amount of code required for large-sized orthogonal transformations using variable length coding, as they often rely on scanning methods and tables designed for smaller transformations, leading to increased processing complexity and delays.
Innovation Solution
A method that rearranges coefficients into a one-dimensional form and classifies Run-Level sets into groups based on the area proportion between the orthogonal transformation sizes, allowing for accurate code amount estimation using a variable length encoding table for a smaller-sized transformation, thereby reducing computation and simplifying the scanning process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If CAVLC is used for code amount estimation of CABAC, then computation cost is reduced and delay is decreased, but measurement accuracy varies depending on each video image
Solution Approach 1:
The patent creates a copy of the quantized coefficients and performs CAVLC processing on this copy to estimate code amount, while the original coefficients undergo CABAC encoding. This copying approach allows fast estimation without affecting the actual high-precision CABAC encoding process, resolving the contradiction between speed and accuracy.
Solution Approach 2:
The patent performs code amount estimation using CAVLC as a preliminary action before actual CABAC encoding. By pre-calculating the estimated code amount using the faster CAVLC method, the system can make rate control decisions earlier, reducing overall encoding delay while maintaining accuracy through subsequent refinement.
2Measurement precision
If variable length encoding tables for all orthogonal transformation sizes are prepared, then encoding accuracy is improved, but device complexity and memory requirements increase
Solution Approach 1:
The patent makes the CAVLC variable length encoding table universal by using it for both actual CAVLC encoding and for estimating code amounts in CABAC encoding. This single table serves multiple purposes, eliminating the need for separate estimation tables and reducing device complexity while maintaining accuracy.
Solution Approach 2:
The patent enables the existing CAVLC encoding infrastructure to serve the dual purpose of actual encoding and code amount estimation for CABAC. The same encoding logic and tables that perform CAVLC encoding also provide estimation functionality, making the system self-sufficient and reducing overall complexity.
3Measurement precision
If multiple scanning operations are performed for code amount estimation, then measurement accuracy is improved, but processing time and computation cost increase
Solution Approach 1:
The patent extracts only the essential information needed for code amount estimation from the quantized coefficients, rather than performing complete multiple scanning operations. By taking out only the necessary Run-Level information and estimating based on this extracted data, the system achieves adequate accuracy without the time cost of multiple full scans.
Solution Approach 2:
The patent performs a partial scanning operation using CAVLC for estimation purposes, which is less comprehensive than full CABAC encoding but sufficient for obtaining accurate enough estimates. This partial action provides the right balance between measurement precision and processing time, avoiding excessive computation while maintaining useful accuracy.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
In a code amount estimating method, when encoding quantized values of coefficients of a larger-sized orthogonal transformation than an orthogonal transformation size assigned to a variable length encoding table, the quantized values are rearranged in a one-dimensional form, so as to obtain run-level sets. The number of groups is computed based on a proportion between an orthogonal transformation area corresponding to the orthogonal transformation size assigned to the variable length encoding table and an orthogonal transformation area for an encoding target. The Run-Level sets are classified into groups having the number of groups. Each Run is divided by the number of groups, and the obtained quotient is set as Run. A code length of each Run-Level set in each group is determined by referring to the variable length encoding table. The amount of generated code is estimated to be the total sum of the code lengths of all groups.