High Bit-Depth Image Coding With Dynamic Block Lengths

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage and retrieval of raw image data in image processing systems face bandwidth limitations due to high power consumption and inefficiencies in memory access, particularly with higher bit-depth data, leading to significant bandwidth waste due to data misalignment and padding requirements.

Innovation Solution

A processor codes image data using residual values and dynamically determines the bit lengths for codewords, storing and retrieving data based on block fixed length code lengths (bflc_len) values, which are represented using bit length values, allowing for efficient storage and retrieval by reducing bitrate through dynamic coding of bit length differences.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If higher bit-depth data (10-12 bits) is used for HDR video processing, then image quality and dynamic range are improved, but bandwidth consumption and power usage increase significantly

Engineering Contradiction:
Improveimage qualityVSAvoidpower consumption
Core Design Contradiction:
Measurement precisionVSLoss of energy

Solution Approach 1:

The patent segments the image data into tiles and further into blocks within each tile. By processing and encoding smaller block units independently, the system can apply efficient compression algorithms to high bit-depth data, reducing the overall bandwidth requirement while maintaining image quality. The block-based segmentation allows for targeted compression without compromising the HDR quality across the entire image.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent dynamically changes the code length parameter (bflc_len) for different blocks based on actual data characteristics. Instead of using a fixed bit depth for all data, the system adapts the coding parameters to match the local variance and complexity of image blocks, achieving better compression efficiency for high bit-depth HDR data while maintaining visual quality.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If padding is added to align higher bit-depth data with memory boundaries, then memory access efficiency is improved, but bandwidth waste increases due to unused padding bits

Engineering Contradiction:
Improvememory access efficiencyVSAvoidbandwidth waste
Core Design Contradiction:
Ease of operationVSLoss of substance

Solution Approach 1:

The patent makes the code length dynamic rather than fixed. The bflc_len value is determined per-block based on the actual data requirements, allowing the system to use only the necessary bits for each block without adding padding. This dynamic approach eliminates the bandwidth waste associated with static padding while maintaining memory access efficiency through proper data organization.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies different code lengths to different blocks based on their local characteristics. Each block can have its own optimized code length (bflc_len) that matches its specific data requirements, rather than applying a uniform padding scheme across the entire tile. This local optimization reduces overall bandwidth waste while maintaining efficient memory access patterns.

Inventive Principle:
Principle #3Local quality

3Device complexity

If fixed-length codewords are used for all blocks, then processing simplicity is maintained, but compression efficiency decreases due to inability to adapt to local data variations

Engineering Contradiction:
Improveprocessing simplicityVSAvoidcompression efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent introduces dynamic code length assignment where each block can have a different bflc_len value based on its characteristics. This dynamic approach significantly improves compression efficiency by adapting to local data variations, while the underlying processing framework remains relatively simple and systematic, balancing complexity and efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the code length parameter dynamically for different blocks rather than using a fixed value. By calculating and applying appropriate bflc_len values based on block-specific characteristics, the system achieves better compression efficiency while maintaining a manageable processing complexity through systematic parameter adaptation.

Inventive Principle:
Principle #35Parameter changes

4Device complexity

If conventional fixed-bit-length coding is used, then implementation simplicity is maintained, but bitrate is higher due to inability to optimize for actual data requirements

Engineering Contradiction:
Improveimplementation simplicityVSAvoidbitrate
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic code length selection where the bflc_len parameter is adjusted for each block based on actual data characteristics. This dynamic coding approach reduces the overall bitrate by using only the necessary number of bits for each block, while the implementation remains relatively simple through systematic parameter calculation and application.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent optimizes the code length parameter for each block based on local data requirements rather than using a fixed bit length. By calculating appropriate bflc_len values and applying them selectively, the system achieves lower bitrate output while maintaining implementation simplicity through a systematic parameter adaptation process.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10250899B1Storing and retrieving high bit depth image data
Publication Date: 2019.04.02 QUALCOMM INC
  • US10250899B1 patent drawing
  • US10250899B1 patent drawing
  • US10250899B1 patent drawing

AI summary

In one example, a device for accessing image data includes a memory configured to store image data and one or more processors configured to code a plurality of bit length values for a plurality of block fixed length code length (bflc_len) values for a plurality of blocks of a tile or sub-tile of an image, the bit length values representing numbers of bits used to code the blfc_len values, code the bflc_len values for each of the plurality of blocks such that the bflc_len values have numbers of bits indicated by the respective bit length values, code the codewords for each of the plurality of blocks such that the codewords have the numbers of bits indicated by the bflc_len values for corresponding blocks of the plurality of blocks, and access the bit length values, the bflc_len values, and the codewords in the memory.