Image Encoding Method Exploiting Horizontal and Vertical Redundancy
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing image compression techniques, such as run length encoding (RLE), fail to effectively utilize both horizontal and vertical redundancy in images, resulting in lower compression ratios and increased memory and bandwidth requirements, especially for images with a large number of colors.
Innovation Solution
A method that identifies and encodes pixels based on both horizontal and vertical redundancy by parsing rows and comparing pixels to a reference row, using a command byte and additional bytes to store copy counts and repetition counts, allowing for improved compression ratios without altering image quality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of substance
If run length encoding (RLE) is used for image compression, then horizontal redundancy is eliminated, but compression ratios remain comparatively lower because vertical redundancy is not utilized
Solution Approach 1:
The patent extends RLE from one-dimensional horizontal scanning to two-dimensional operation by introducing vertical redundancy exploitation through reference row comparison. The encoder compares current row pixels with corresponding pixels in the reference row (previous row) to identify copy pixels, thereby adding a vertical dimension to the compression process and significantly improving compression ratios for images with repetitive patterns across rows.
2Quantity of substance
If RLE is used for image compression, then memory space and bandwidth requirements are reduced, but it is difficult to distinguish between bytes containing run value and run count
Solution Approach 1:
The patent applies local quality by using different byte formats depending on the local context of the data being encoded. Two-byte codes are used when horizontal repetition is detected, while three-byte codes are used when vertical copying is detected. This context-dependent formatting makes byte identification unambiguous while maintaining efficient memory usage.
Solution Approach 2:
The patent introduces an intermediary classification system that categorizes pixels into three distinct types (repetition pixels, copy pixels, and other pixels) before encoding. This intermediate classification step resolves the ambiguity problem by ensuring that each encoded byte sequence has a clearly defined structure and meaning, making decoding straightforward.
3Ease of operation
If additional bits are added to each byte to indicate run value or run count, then byte identification is improved, but the overall data size increases and compression ratios decrease
Solution Approach 1:
The patent segments the encoding process into distinct pixel categories (repetition pixels, copy pixels, other pixels) and applies different encoding schemes to each segment. This segmentation allows the use of compact variable-length codes without requiring identification bits for every byte, as the code structure itself indicates the type of data being represented.
Solution Approach 2:
The patent uses partial action by applying identification mechanisms only where necessary. Instead of adding identification bits to every byte, the system uses the inherent structure of the encoded data and context to identify byte types, adding overhead only when absolutely necessary for unambiguous decoding.
4Ease of operation
If a compact array is written at the start of the encoded image to indicate run count or run value, then byte identification is improved, but the overall size increases and throughput capability decreases
Solution Approach 1:
The patent extracts the identification function from a separate compact array structure and integrates it directly into the encoding process itself. By embedding type information in the encoding logic and using context-aware variable-length codes, the system eliminates the need for separate identification arrays, thereby reducing overall data size and improving throughput capability.
Data Source
AI summary
A method for encoding an image includes identifying first and second sets of pixels from multiple pixels in a current row of the image, where the first set of pixels includes one or more pixels that are equal to one or more corresponding pixels in a reference row, and the second set of pixels are not equal to one or more corresponding pixels in the reference row. A third set of pixels that includes at least one of a first group of pixels selected from the first set of pixels and a second group of pixels selected from at least one of the first set and the second set of pixels is identified and encoded in an encoded data set.


