Parallel JPEG Decoding via Restart Markers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
JPEG images encoded in a bit-by-bit data stream can only be decoded sequentially, leading to delays when decoded on devices with multiple cores, especially when rendering large images or multiple images simultaneously.
Innovation Solution
Embedding restart markers and APPn markers in the JPEG data allows for parallel decoding by separating the data into sections, which can be processed concurrently using multiple cores, with the outputs stored in identified buffer locations to form a complete decoded image.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If sequential decoding is used for JPEG images, then the decoding process is simple and maintains compatibility, but the processing speed is slow and causes delays when rendering large or multiple images
Solution Approach 1:
The patent divides the JPEG data stream into multiple independent sections using restart markers (RST). Each section can be decoded separately by different processing cores, transforming the sequential decoding process into a parallel one. This segmentation enables simultaneous processing of multiple image sections, directly improving decoding speed while maintaining the simplicity of individual section decoding.
Solution Approach 2:
The patent introduces a temporal dimension to the decoding process by enabling parallel processing across multiple cores. Instead of processing sections sequentially in time, the system processes different sections simultaneously across multiple cores, adding a parallel processing dimension that significantly improves throughput for large images or batches of images.
2Productivity
If multiple cores are used for parallel decoding, then the processing speed increases and delays are reduced, but the device complexity and implementation difficulty increase
Solution Approach 1:
By segmenting the JPEG data into restart-marked sections, the patent creates naturally delimited processing units that can be distributed across multiple cores. Each core processes an independent section without needing complex coordination, reducing system complexity while enabling parallel throughput improvement.
Solution Approach 2:
The patent embeds restart markers and section information into the JPEG data during encoding, preparing the data structure in advance to facilitate parallel processing. This preliminary preparation eliminates the need for complex runtime analysis and division, reducing implementation complexity while enabling efficient parallel decoding.
3Productivity
If JPEG data is separated into sections for parallel processing, then multiple cores can process concurrently, but the data structure becomes more complex
Solution Approach 1:
The patent uses restart markers to segment JPEG data into sections that maintain the original JPEG structure within each segment. This segmentation approach enables parallel processing while preserving the simplicity of individual section structures, avoiding the need for complex data reorganization.
Solution Approach 2:
The patent modifies the JPEG data stream by inserting restart markers at specific positions, changing the data structure parameters to enable parallel processing. This parameter change (adding markers) is minimal and maintains compatibility with existing JPEG parsers, avoiding complex structural transformations.
4Ease of operation
If sequential decoding is used, then the implementation is straightforward and compatible with existing systems, but the response time increases when handling large images or multiple images
Solution Approach 1:
By segmenting JPEG data into restart-marked sections, the patent enables parallel processing that reduces rendering delay. The segmentation is implemented through standard JPEG restart markers, maintaining ease of implementation while significantly reducing the time to process large images or batches of images.
Solution Approach 2:
The patent enables continuous processing of multiple image sections simultaneously across different cores, eliminating idle waiting time between sequential decoding operations. This continuous parallel processing maintains high throughput while reducing overall response time for large or multiple image processing tasks.
Data Source
AI summary
Devices, systems and methods are disclosed for preprocessing JPEG images to enable parallel decoding and for parallel decoding of JPEG images. A JPEG image may be preprocessed to enable parallel decoding by embedding restart (RST) markers within the JPEG data and embedding information in an application (APPn) marker, which may be included in a header associated with the JPEG data. Using the RST markers and information included in the APPn marker, a device may separate the JPEG data into sections and decode the sections in parallel using multiple cores to reduce a time between acquiring and rendering the JPEG image. The parallel outputs may be stored to identified locations in a buffer so that the finished outputs are sequentially stored as a complete decoded JPEG image.


