Parallel Moving Image Coding Modules for Reduced Delay
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional moving image coding apparatuses, such as H.264, face significant delays due to heavy computational loads in processes like motion estimation and deblocking, particularly in block-based coding structures, which hinder high-speed coding.
Innovation Solution
A moving image coding apparatus that employs parallel processing by dividing the image frame into segments and macroblocks, with a segment-unit-coding module estimating integer pel motion and generating 1/n pixel images, while a macroblock-unit-coding module codes macroblocks using 1/n pixel motion estimation, allowing for simultaneous processing of segments and macroblocks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional block-based coding (H.264) is used, then motion estimation and compensation can be performed, but significant delays occur due to heavy computational loads
Solution Approach 1:
The patent divides the image frame into multiple segments, with each segment further divided into macroblocks. This hierarchical segmentation allows parallel processing of different segments while maintaining motion estimation accuracy within each segment, thereby reducing overall coding time without sacrificing reliability
Solution Approach 2:
The patent performs integer pel motion estimation for all segments in advance before performing detailed 1/n pixel motion estimation for macroblocks. This preliminary action reduces the computational burden during the detailed coding phase, maintaining accuracy while improving coding speed
2Device complexity
If sequential processing of segments and macroblocks is used, then processing is simpler to manage, but coding time is increased due to inability to process simultaneously
Solution Approach 1:
The patent segments the image into independent processing units that can be handled by different modules simultaneously. The segment-unit-coding module and macroblock-unit-coding module operate in parallel on different segments, reducing coding time while maintaining manageable complexity through clear module boundaries
Solution Approach 2:
The patent introduces a new dimension of parallel processing by operating at two levels simultaneously: segment level and macroblock level. This dimensional approach allows multiple processing streams to coexist without increasing management complexity, as each level operates independently
3Measurement precision
If integer pel motion estimation is performed for all macroblocks, then motion accuracy is maintained, but processing time increases significantly
Solution Approach 1:
The patent applies different levels of motion estimation precision to different regions: integer pel estimation is applied to entire segments for coarse motion, while 1/n pixel estimation is applied only to specific macroblocks within segments that require higher precision. This local differentiation maintains necessary accuracy while improving overall processing throughput
Data Source
AI summary
The present invention relates to aA moving image coding apparatus and method involving the simultaneous parallel running of respective modules, namely: a segment-unit-coding module in which an input image frame is divided into segment units and the integer pel (integer pixel) motion is estimated while at the same time the 1/n pixel images are generated with respect to the segments of the image coded in the coding module; and a macroblock-unit-coding module in which the segments of the image frame whose the integer pel motion has been estimated in the segment-unit-coding module are received as input in the form of macroblock units and are coded in macroblock units through the 1/n pixel motion estimation. By separating the coding units into different modules and employing the techniques of parallel processing and pipelining, the present invention makes it possible to effect high-speed encoding with reduced delay in the coding rate due to differences in the processing speeds of the respective modules.


