Macroblock Shuffling for Arbitrary Image Sizes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing DV standard for macroblock shuffling is limited to specific image sizes, making it difficult to apply efficient shuffling to images of arbitrary sizes, which can lead to correlation between macroblocks and deterioration in image quality.
Innovation Solution
A macroblock shuffling method that divides the total number of macroblocks into packs with a first and second predetermined number, allowing for even distribution of macroblocks across slices, and includes a super-block dividing portion to classify macroblocks into super blocks, reducing correlation by rearranging macroblocks randomly and allocating them to packs and slices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the DV standard shuffling method is used, then macroblock shuffling can be performed for specified image sizes, but it cannot be applied to images of arbitrary sizes
Solution Approach 1:
The invention divides the image into super blocks, which are further divided into macro blocks. The shuffling operation is performed on these segmented macro blocks rather than the entire image, allowing the method to handle arbitrary image sizes by adjusting the number and arrangement of super blocks and macro blocks accordingly.
Solution Approach 2:
The invention introduces dynamic adjustment of super block size and macro block extraction based on the actual image dimensions. The shuffling portion can adaptively determine the number of macro blocks to extract and rearrange according to the image size, making the system flexible and applicable to arbitrary resolutions without requiring fixed-size constraints.
2Reliability
If macroblocks are continuously created and output directly, then processing speed is maintained, but correlation between adjacent macroblocks generates data error concentration
Solution Approach 1:
The invention performs preliminary shuffling of macro blocks before they are processed through DCT and quantization. By rearranging macro blocks in advance and distributing them across multiple slices, the system prevents error concentration while maintaining processing efficiency. The macro blocks are shuffled and distributed before the main processing pipeline, allowing error diffusion without significant speed penalty.
3Reliability
If shuffling processing is executed to lower correlation between macroblocks, then data error propagation is prevented, but the process becomes more complex
Solution Approach 1:
The invention segments the image into multiple super blocks and macro blocks, then applies shuffling operations at this segmented level. This segmentation approach simplifies the shuffling process by working with smaller, manageable units rather than the entire image, reducing computational complexity while still achieving effective error distribution across the whole image.
Solution Approach 2:
The invention introduces super blocks as an intermediary structure between the image and macro blocks. This intermediary layer facilitates the shuffling operation by providing a structured framework for distributing macro blocks across multiple slices. The super block acts as a mediator that organizes the shuffling process and enables error diffusion without requiring complex direct manipulation of individual macro blocks.
Data Source
AI summary
[Problem to be solved] To provide a shuffling device that can lower correlation between macroblocks by executing macroblock shuffling substantially equally to an image with an arbitrary size. [Means for solving the problem] A macroblock shuffling device, comprising: a pack creation portion that extracts and rearranges in order a macroblock from a screen on which a plurality of macroblocks constituting the image data are arranged, and creates a plurality of packs, each having a first predetermined number of or a second predetermined number smaller than the first predetermined number of the macroblocks; and a slice creation portion that extracts macroblocks one by one in order from each of the plurality of packs created by the pack creation portion and creates the same number as the first predetermined number of slices, each having a plurality of macroblocks.


