Macro-Block Header Coding Using Neighbor Correlation and Run-Lengths
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In low bit-rate video coding, especially in high-complexity standards like H.264, the macro-block header overhead is a dominant factor in determining the overall bit rate, and existing coding schemes fail to effectively reduce redundancy in macro-block headers, leading to inefficiencies in bit allocation and compression.
Innovation Solution
An advanced coding algorithm that encodes macro-block headers by utilizing the correlation between neighboring headers, where elements of the current macro-block header are encoded based on the values of the previous header, reducing overall bits by grouping similar elements together and employing run-length coding to minimize entropy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of substance
If conventional macro-block header coding schemes are used, then the coding structure is simple and easy to implement, but the header overhead is large and compression efficiency is poor
Solution Approach 1:
The patent segments the macro-block header coding process by dividing headers into two categories: non-skipped MBs that require full encoding and skipped MBs that can reference previous headers. This segmentation allows selective application of complex run-length coding only where beneficial, reducing overall header bits while maintaining implementation feasibility.
Solution Approach 2:
The patent applies preliminary action by encoding macro-block headers in raster-scan order and utilizing correlation with previously encoded headers. By processing headers sequentially and leveraging past values, the algorithm prepares reference information that enables subsequent skipped MBs to be encoded more efficiently with fewer bits.
2Quantity of substance
If larger quantization parameters are used to reduce residue data bits, then bit rate is reduced, but header overhead becomes a dominant factor
Solution Approach 1:
The patent merges consecutive macro-block headers that have identical or similar elements by applying run-length coding. Instead of encoding each header independently, the algorithm combines information from multiple headers, representing repeated elements with a single value and a run-length counter, thereby significantly reducing the total number of bits required to represent header information.
Solution Approach 2:
The patent changes the coding parameter approach by introducing run-length values and skip flags that dynamically adjust how header elements are encoded. When correlation between consecutive headers is high, the algorithm uses compact run-length representation; when correlation is low, it falls back to standard encoding, thus adapting the parameter representation to minimize total bits.
3Productivity
If run-length coding is applied to macro-block headers, then compression efficiency is improved, but decoding complexity increases
Solution Approach 1:
The patent applies self-service by designing the run-length coding mechanism to be self-describing. The encoded bitstream contains sufficient information (run-length values, skip flags, and reference indicators) that enables the decoder to automatically reconstruct the original header values without requiring complex external state management or additional processing logic.
Data Source
AI summary
A method and a computer-readable medium containing computer program for encoding a frame of video data are presented. The frame of video data has a plurality of macro-blocks. Each of the macro-blocks includes a macro-block header having multiple elements and macro-block residue data. An element of the macro-block header is encoded based on the value of the same element of a previous macro-block header so as to reduce overall bits in the macro-block header. The element of the macro-block header is encoded by grouping the elements of the plurality of the macro-blocks.


