Hierarchical Histogram Calculation for Palette Table Derivation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional palette coding techniques require exponentially increasing storage for histogram calculation, especially for higher pixel bit depths, leading to inefficient memory usage in video compression standards like HEVC and AV1.
Innovation Solution
A hierarchical approach is implemented where a first pass histogram is calculated for the most significant bits of pixel component values, with subsequent passes expanding the granularity of selected bins, reducing memory requirements by dividing pixel bits into groups and evaluating additional bits in each pass.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If traditional palette coding techniques are used with full pixel bit depth histogram calculation, then accurate palette table derivation is achieved, but memory storage requirements increase exponentially with pixel bit depth
Solution Approach 1:
The pixel bit depth is segmented into multiple passes. For example, an 8-bit pixel value is divided into two passes: first pass processes the most significant 4 bits to create a coarse histogram with 16 bins, then the second pass processes the least significant 4 bits to create a fine histogram with 256 bins. This segmentation reduces the memory required at any single time step while maintaining the ability to derive accurate palette tables.
Solution Approach 2:
The most significant bits are processed first to establish a preliminary histogram structure. This preliminary action identifies the dominant color ranges before refining with less significant bits. The first pass histogram serves as a preliminary approximation that guides the second pass, reducing the need to process all pixel values simultaneously with full precision.
2Quantity of substance
If hierarchical multi-pass histogram calculation is implemented, then memory storage requirements are reduced, but processing complexity increases due to multiple passes
Solution Approach 1:
The processing is segmented into multiple independent passes, each handling a specific portion of the bit depth. The first pass handles bits [7:4] and the second pass handles bits [3:0]. Each pass operates on a reduced histogram size, making individual passes simpler despite the increased number of passes. The segmentation allows for modular implementation and potential parallelization.
Solution Approach 2:
The hierarchical histogram calculation implements a nested structure where the second pass histogram is nested within the context of the first pass results. The fine histogram bins are effectively nested within the coarse histogram bins, with each fine bin corresponding to a specific parent coarse bin. This nesting allows efficient memory management where the coarse histogram structure is reused and refined rather than completely rebuilt.
Data Source
AI summary
Systems, apparatuses, and methods for calculating multi-pass histograms for palette table derivation are disclosed. An encoder calculates a first histogram for a first portion of most significant bits (MSBs) of pixel component values of a block of an image or video frame. Then, the encoder selects a given number of the highest pixel count bins from the first histogram. The encoder then increases the granularity of these selected highest pixel count bins by evaluating one or more additional bits from the pixel component values. A second histogram is calculated for the concatenation of the original first portion MSBs from the highest pixel count bins and the one or more additional bits, and the highest pixel count bins are selected from the second histogram. A palette table is derived based on these highest pixel count bins selected from the second histogram, and the block is encoded using the palette table.


