JPEG to ETC2 Transcoder Subblock Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Converting JPEG-encoded images to texture compression formats like ETC2 is inefficient, wasting power and memory, especially on low-memory devices like smartphones, due to the need to decode and re-encode images, which results in higher memory usage and lower quality compared to JPEG compression.
Innovation Solution
A system that directly transcodes JPEG images to ETC2 format by splitting decoded blocks into subblocks and encoding them using ETC1 or ETC2 algorithms, minimizing processing cycles and storage space while reducing bandwidth and power consumption, by utilizing hardware JPEG-to-ETC2 transcoding with a JPEG decoder, splitter, and ETC2 encoders.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If JPEG images are decoded to raw RGB 888 format and then encoded into ETC2 format, then GPU texture compression is achieved, but memory usage and power consumption increase significantly
Solution Approach 1:
The patent divides the JPEG image into multiple 8x8 macroblocks, which are then further processed as 4x4 subblocks for ETC2 encoding. This segmentation allows direct transcoding from JPEG to ETC2 without creating a full RGB 888 buffer, significantly reducing memory usage while maintaining GPU texture compression capability
Solution Approach 2:
The patent introduces an intermediate processing stage where JPEG macroblocks are directly converted to ETC2 subblocks through a specialized transcoder. This intermediary process eliminates the need for the raw RGB 888 format as a temporary storage medium, reducing memory consumption during the conversion process
2Reliability
If JPEG images are decoded to raw RGB 888 format and then encoded into ETC2 format, then GPU texture compression is achieved, but power consumption increases
Solution Approach 1:
By segmenting the JPEG image into macroblocks and directly processing them as ETC2 subblocks, the patent eliminates the power-intensive step of converting entire images to RGB 888 format. The segmented approach allows for more efficient, targeted processing that consumes less power while achieving the same GPU texture compression result
Solution Approach 2:
The patent enables the JPEG decoder to directly output data in a format suitable for ETC2 encoding without requiring intermediate conversion to RGB 888. This self-service approach eliminates redundant processing steps and reduces overall power consumption in the image processing pipeline
3Quantity of substance
If texture compression formats like ETC2 are used, then memory bandwidth utilization is reduced, but image quality decreases compared to JPEG
Solution Approach 1:
The patent employs ETC2 encoding parameters that allow for quality preservation during compression. By carefully selecting encoding parameters and using advanced ETC2 algorithms, the patent achieves high-quality texture compression that maintains visual fidelity while reducing memory bandwidth requirements compared to uncompressed formats
4Reliability
If JPEG images are decoded to raw RGB 888 format and then encoded into ETC2 format, then GPU texture compression is achieved, but processing efficiency decreases
Solution Approach 1:
The patent segments the JPEG image into macroblocks that map directly to ETC2 subblock structures. This segmentation enables parallel processing of multiple blocks simultaneously and eliminates redundant conversion steps, significantly improving processing efficiency while maintaining GPU texture compression capability
Solution Approach 2:
The patent performs preliminary organization of JPEG macroblock data during the decoding stage, preparing it in a format that is directly suitable for ETC2 encoding. This preliminary action eliminates the need for subsequent reorganization and conversion to RGB 888 format, streamlining the overall process and improving efficiency
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A received JPEG image compression format image includes one or more minimum coded units (MCUs). Each MCU is decoded using an image compression format decoder. Each decoded MCU is then split into multiple decoded subblocks. Each decoded subblock can then be encoded into texture compression format using a texture compression format encoder. Each encoded texture compression format subblock can then be passed to a graphical processing unit (GPU) for processing.