Large Macroblock Video Coding with Hierarchical Block Patterns
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video encoding standards are limited by the use of fixed-sized macroblocks, which restrict the ability to fully exploit increased spatial resolution and frame rates, leading to inefficiencies in video compression and transmission.
Innovation Solution
The use of larger macroblocks, such as 32×32 or 64×64 pixels, that can be partitioned and encoded using different modes, along with hierarchical coded block pattern values, to identify non-zero coefficients and optimize rate-distortion metrics, allowing for more efficient compression and reduced data transmission.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If fixed-sized macroblocks (16×16 pixels) are used as prescribed by existing video encoding standards, then compatibility with current standards is maintained, but the ability to fully exploit increased spatial resolution and frame rates is restricted
Solution Approach 1:
The patent introduces dynamic macroblock sizing where the encoder can select from multiple macroblock sizes (16×16, 32×32, 64×64 pixels) based on the specific coding unit and its characteristics. This dynamic adaptation allows the system to optimize compression efficiency for high-resolution and high-frame-rate video while maintaining compatibility with existing standards through optional large macroblock support.
Solution Approach 2:
The invention changes the parameter of macroblock size from a fixed value to a variable parameter that can take multiple discrete values. The encoder determines the optimal macroblock size by evaluating rate-distortion metrics for different size options, allowing the system to adapt to varying video characteristics and resolution requirements.
2Loss of energy
If large macroblocks (32×32 or 64×64 pixels) are used, then redundancy in high-resolution and high-frame-rate video is better exploited and transmission overhead is reduced, but device complexity increases due to additional coding modes and partitioning requirements
Solution Approach 1:
The patent applies segmentation by allowing large macroblocks to be divided into smaller partitions (e.g., 16×16, 8×8, 4×4 pixels) when coding. This partitioning mechanism enables the system to handle complex video content within large macroblock frameworks while reducing the complexity burden through structured division of coding units.
Solution Approach 2:
The invention implements partial action by providing optional support for large macroblocks rather than requiring them. The encoder can selectively apply large macroblock coding modes when beneficial, while falling back to conventional 16×16 macroblocks when complexity would be excessive or when standard compatibility is prioritized.
3Manufacturing precision
If multiple coding modes and partition sizes are implemented for large macroblocks, then rate-distortion optimization is improved, but the complexity of identifying and managing different coding configurations increases
Solution Approach 1:
The patent applies preliminary action by pre-defining the set of allowed macroblock sizes (16×16, 32×32, 64×64 pixels) and their corresponding coding modes before the encoding process. This pre-configuration simplifies the encoder's decision-making by providing a structured framework of predefined options rather than requiring real-time complex calculations.
Solution Approach 2:
The invention implements feedback mechanisms where the encoder evaluates rate-distortion metrics for different macroblock sizes and coding modes, then uses this feedback to select the optimal configuration. This iterative feedback process ensures rate-distortion optimization while managing complexity through data-driven decision-making rather than exhaustive search.
Data Source
AI summary
Techniques are described for encoding and decoding digital video data using macroblocks that are larger than the macroblocks prescribed by conventional video encoding and decoding standards. For example, the techniques include encoding and decoding a video stream using macroblocks comprising greater than 16×16 pixels, for example, 64×64 pixels. In one example, an apparatus includes a video encoder configured to encode a video block having a size of more than 16×16 pixels, generate block-type syntax information that indicates the size of the block, and generate a coded block pattern value for the encoded block, wherein the coded block pattern value indicates whether the encoded block includes at least one non-zero coefficient. The encoder may set the coded block pattern value to zero when the encoded block does not include at least one non-zero coefficient or set the coded block pattern value to one when the encoded block includes a non-zero coefficient.


