Adaptive Block Transform Encoding for Lossless Image Compression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional codecs fail to efficiently encode extensive areas with constant parameters while maintaining high spatial detail, often resulting in increased data size due to inefficiencies in block sizing and error correction, leading to suboptimal data compression for images and videos.

Innovation Solution

A method that processes input data into variable-sized blocks, applies multiple transformations, checks quality criteria, and adjusts block sizes or combines blocks to ensure efficient encoding with minimal loss of quality, using a combination of coding methods like DCT, wavelet transforms, and entropy coding to achieve lossless compression.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional codecs use fixed block sizes for encoding, then encoding process is simple, but encoding efficiency is poor for areas with different spatial details

Engineering Contradiction:
Improveencoding efficiencyVSAvoidblock sizing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The image is divided into multiple blocks of different sizes based on spatial detail requirements. Areas with high spatial detail use smaller blocks while extensive areas with constant parameters use larger blocks, optimizing encoding efficiency for different regions

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different block sizes are applied to different regions of the image based on local characteristics. High-detail areas receive finer block segmentation while uniform areas use coarser blocks, achieving local optimization of encoding quality and efficiency

Inventive Principle:
Principle #3Local quality

2Manufacturing precision

If smaller block sizes are used for higher encoded image quality, then image quality is improved, but data compression ratio decreases

Engineering Contradiction:
Improveencoded image qualityVSAvoiddata size
Core Design Contradiction:
Manufacturing precisionVSQuantity of substance

Solution Approach 1:

Small blocks are applied only to regions requiring high spatial detail representation, while large blocks are used for extensive areas with constant parameters. This local differentiation maintains image quality where needed while minimizing overall data size

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The image is segmented into regions of different complexity, with block size selection optimized for each segment. This prevents unnecessary use of small blocks in uniform areas, improving compression ratio while maintaining quality in critical regions

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If multiple different block sizes are used for encoding, then encoding adaptability is improved, but encoding process complexity increases

Engineering Contradiction:
Improveencoding adaptabilityVSAvoidencoding process complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The block size parameter is dynamically changed based on image content analysis. The encoder adapts block sizes to match local image characteristics, achieving high encoding adaptability through systematic parameter variation

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10333547B2Encoder and method for encoding input data using a plurality of different transformations or combinations of transformations
Publication Date: 2019.06.25 GL IP PROTECT LLC
  • US10333547B2 patent drawing
  • US10333547B2 patent drawing
  • US10333547B2 patent drawing

AI summary

An encoder includes data processing hardware operable to: process input data into a plurality of blocks/packets; apply a plurality of transformations to content of the blocks/packets to generate corresponding transformed data; check a quality of representation of the transformed data prior to application of the transformations to determine whether or not the quality of representation of the transformed data satisfies quality criteria; if the quality of representation does not satisfy the quality criteria, to divide and/or combine the one or more individual blocks or packets further and repeating the transformation step; and if the quality of representation of the transformed data satisfies the one or more quality criteria, to select coding methods and encode data representative of the input data to be encoded to provide encoded output data; and communicate in the encoded data information describing the plurality of transformations or combinations of transformations employed when coding the blocks/packets.