Dynamic Pixel Block Scheduling for Parallel Video Encoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In moving image decoding and encoding processes, intra-prediction blocks often start processing late despite being ready early due to dependencies on inter-prediction blocks, leading to insufficient acceleration of processing.
Innovation Solution
A moving image processing device that manages the execution state of image processing for each pixel block, determining whether processing is executable based on the state of dependent blocks, and performing parallel or pseudo-parallel processing to accelerate the start of intra-prediction blocks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If intra-prediction blocks are processed in sequential order based on raster scan, then processing order dependency is maintained, but processing speed is reduced due to late start of intra-prediction blocks
Solution Approach 1:
The patent implements dynamic processing order management where the processing sequence of pixel blocks is not fixed but adapts based on the completion status of reference blocks. The determination unit dynamically identifies which intra-prediction blocks can be processed next by checking the execution states of their reference blocks, allowing the system to transition from static sequential processing to dynamic parallel processing based on real-time block completion status.
2Productivity
If parallel processing is implemented for pixel blocks, then processing speed increases, but processing order dependency for intra-prediction blocks cannot be resolved
Solution Approach 1:
The patent employs feedback mechanisms where the execution state of each pixel block is continuously monitored and fed back to the determination unit. The determination unit uses this feedback information to dynamically adjust the processing schedule, ensuring that intra-prediction blocks are only processed when their reference blocks have completed, thus maintaining processing order correctness while enabling parallel execution of independent blocks.
Solution Approach 2:
The determination unit acts as an intermediary between the parallel processing units and the processing order requirements. It receives completion notifications from processing units and generates new processing tasks based on the current execution states, mediating between the conflicting requirements of parallel execution and sequential dependency without requiring direct communication between processing units.
3Reliability
If processing waits for all reference blocks to complete before starting intra-prediction blocks, then processing order dependency is satisfied, but processing time is increased due to idle waiting
Solution Approach 1:
The system performs preliminary identification of processable intra-prediction blocks as soon as their reference blocks complete, rather than waiting until all reference blocks in the entire frame are finished. The determination unit continuously checks which intra-prediction blocks have all their reference blocks completed and immediately adds them to the processing queue, eliminating unnecessary idle waiting time while maintaining correct processing order.
Data Source
AI summary
A moving image processing device includes: a storage unit storing, by dividing an image into pixel blocks and performing image processing for the individual pixel blocks, an execution state of image processing for each pixel block in encoding or decoding processing for the image; a determination unit determining whether image processing for a first pixel block is executable, based on an execution state of image processing for a second pixel block for which image processing for the first pixel block has a dependence regarding a processing order; and an execution unit performing, in parallel or pseudo-parallel, image processing for the first pixel blocks for which image processing is determined to be executable by the determination unit, and updating an execution state of image processing for the first pixel block, whereby encoding or decoding processing for a moving image is accelerated.


