Multithreaded Image Coding via Perpendicular Band Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for coding and decoding digital images, particularly in video sequences, face inefficiencies in computing time due to spatial dependence contexts, where processing one macroblock requires knowledge of previous macroblocks, and multithreading techniques struggle to achieve optimal load distribution and synchronization in such contexts.
Innovation Solution
The method involves separating the image into perpendicular bands based on sequential processing directions (vertical or horizontal) and using synchronization signals between processors to ensure that dependent macroblocks are processed only after their prerequisites are completed, allowing for optimal load distribution and synchronization in spatial dependence contexts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multithreading is applied to process macroblocks in parallel, then computing time is reduced, but synchronization complexity increases due to spatial dependence constraints
Solution Approach 1:
The image is divided into N vertical bands, with each band assigned to a separate processor for parallel processing. This segmentation allows macroblocks within each vertical band to be processed independently and in parallel, while maintaining the required spatial dependence constraints through synchronization mechanisms between processors.
2Productivity
If the image is divided into horizontal bands for parallel processing, then load distribution is improved, but processing correctness deteriorates due to spatial dependence violations
Solution Approach 1:
Instead of dividing the image into horizontal bands (parallel to processing lines), the invention inverts the approach by dividing the image into vertical bands (perpendicular to processing lines). This inversion allows processors to work independently on vertical strips while respecting the horizontal sequential processing requirements, thereby maintaining both load distribution and processing correctness.
3Reliability
If sequential processing is used to maintain spatial dependence, then processing correctness is ensured, but computing time increases
Solution Approach 1:
The invention transitions from one-dimensional sequential processing along horizontal lines to a two-dimensional parallel processing architecture using vertical bands. By introducing the vertical dimension as the parallelization axis while maintaining horizontal sequential processing within each band, the system achieves both spatial dependence compliance and improved computing time through parallel execution across multiple processors.
Data Source
AI summary
A method and apparatus are provided for coding or decoding an image comprising macro-blocks which are distributed in lines and columns. The processing of at least one given macro-block requires the pre-processing of at least one other macro-block on which said dependent macro-block depends. Moreover, the macro-blocks are processed sequentially line by line or column by column. Processing of the macro-blocks is multithreaded over N processors, N≧2. The image is separated into N vertical bands each comprising a plurality of lines and at least one column of macro-blocks if the macro-block is processed sequentially line by line, or into N horizontal bands each comprising a plurality of columns and at least one line of macro-blocks if the macro-block is processed sequentially column by column. One of the N bands is processed by each processor, and the processing operations performed by the N processors is synchronized.

