JPEG Variable-Length Decoding with Pre-Indexed Parallel Segments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software decoding methods for JPEG images in mobile devices are inefficient, leading to slow decoding speeds and potential system freezing or crashes due to excessive I/O operations, especially when handling large files or multiple images, as they require replicating the entire file stream to find decoding boundaries.

Innovation Solution

A method that extracts and stores pre-indexed information indicating decoding boundaries, allowing for parallel decoding of multiple data segments without replicating the entire file stream, thereby reducing I/O operations and improving decoding speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the entire file stream is replicated to find decoding boundaries, then parallel decoding can be implemented, but the number of I/O operations increases excessively causing system freezing

Engineering Contradiction:
Improvedecoding speedVSAvoidI/O operations
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent extracts only the necessary decoding boundary information from the file stream without replicating the entire file. By taking out just the critical offset information needed for parallel decoding, the system avoids the excessive I/O operations caused by full file replication while still enabling parallel processing capability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary action by pre-calculating and storing decoding boundary offsets before the actual decoding process. This preliminary computation allows the system to quickly identify parallel processing boundaries without needing to replicate or re-analyze the entire file stream during decoding operations

Inventive Principle:
Principle #10Preliminary action

2Productivity

If hardware decoding chip is added to improve decoding speed, then decoding performance increases, but device production cost increases

Engineering Contradiction:
Improvedecoding speedVSAvoiddevice production cost
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The patent replaces the mechanical/hardware decoding chip with a software-based parallel decoding system. By using multiple software threads processing different segments of the file simultaneously, the system achieves hardware-level decoding speeds without requiring additional physical decoding chips, thereby avoiding increased production costs

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If single-thread serial decoding is used for Huffman entropy coding, then system stability is maintained, but decoding speed is slow

Engineering Contradiction:
Improvesystem stabilityVSAvoiddecoding speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the Huffman entropy decoding process into multiple independent segments that can be processed in parallel. By segmenting the file into multiple data blocks with clearly defined boundaries, the system can spawn multiple threads to decode different segments simultaneously while maintaining system stability through controlled parallel execution

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3468047B1Method and device for decoding variable-length coding file
Publication Date: 2024.09.11 HUAWEI TECH CO LTD
  • EP3468047B1 patent drawingFigure 1
  • EP3468047B1 patent drawingFigure 2
  • EP3468047B1 patent drawingFigure 3

AI summary

The present invention provides a decoding method and apparatus. The decoding method mainly includes: extracting pre-indexed information, storing the pre-indexed information in another file associated with a to-be-decoded file or a tail end of the to-be-decoded file, then reading the pre-indexed information before decoding is performed, and performing parallel decoding on multiple data segments in the to-be-decoded file according to the pre-indexed information. Using the foregoing storage method for the pre-indexed information may effectively reduce an I/O operation when the pre-indexed information is read, so as to avoid, to some extent, a system frame freezing phenomenon that may be caused when decoding is performed.