Bayer Array Image Encoding with Motion Vector Correction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional encoding methods for RAW image data in Bayer arrays face inefficiencies due to the uneven distribution of green, red, and blue pixel components, leading to difficulties in motion vector alignment and encoding efficiency, especially when using motion-compensated prediction encoding with MPEG, H.264, or HEVC schemes.
Innovation Solution
An image encoding apparatus that converts Bayer array data into three planes (G, B, and R) and corrects motion vectors for the B and R planes based on the motion vector of the G plane, aligning them as YCC 422 data to maintain encoding efficiency, with specific procedures for determining the vertical component of motion vectors for R and B planes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If motion-compensated prediction encoding is performed by dividing the G component into two types of frames (G0 and G1), then the encoding efficiency of RAW image data is improved, but the processing amount of G frames becomes twice that of R and B frames, and the number of G frames is twice the number of R and B frames
Solution Approach 1:
The patent segments the Bayer array data into four separate planes (R, G0, G1, B) and processes them as YCC 422 image data with the G plane having twice the horizontal pixels of B or R planes. This segmentation allows motion-compensated prediction encoding to be applied effectively to RAW image data while maintaining a manageable frame structure.
Solution Approach 2:
The patent applies different motion vector handling strategies to different color planes based on their characteristics. Specifically, the horizontal component of motion vectors for B and R planes is set to half that of the G plane, while the vertical component remains the same, optimizing encoding for each plane's pixel distribution.
2Measurement precision
If the horizontal component of the motion vector of the G component is an odd number with integer precision, then G0 and G1 refer to each other, but when returned to a Bayer array, G0 and G1 are aligned in an oblique direction, making it unclear whether to refer to the pixel in the upper left direction, the lower left direction, or the vertical direction for R and B components
Solution Approach 1:
The patent changes the parameters of motion vectors for B and R planes by setting the horizontal component to half that of the G plane while keeping the vertical component the same. This parameter adjustment resolves the alignment ambiguity in the Bayer array by ensuring proper correspondence between color planes.
3Quantity of substance
If image data in a Bayer array is directly encoded without converting to RGB or YUV, then the data amount is reduced to one-third compared to demosaiced image data, but conventional encoding apparatus cannot properly handle the uneven distribution of green, red, and blue pixel components
Solution Approach 1:
The patent creates a virtual YCC 422 representation of the Bayer array data where the G plane contains twice the horizontal pixels of B or R planes. This virtual copying allows conventional YCC-based encoding apparatus to process RAW image data effectively while maintaining the original data structure and reducing data amount.
Data Source
AI summary
The present invention has a converting unit that converts image data in a Bayer array into three planes consisting of G, B and R planes that have the same array relationship as YCC 422, and an encoding unit that performs prediction encoding of the G, B and R planes obtained by the converting unit as YCC 422 image data. Here, the number of pixels in the horizontal direction of the G plane is twice the number of pixels in the horizontal direction of the B or R plane. Also, the encoding unit includes a motion searching unit that obtains a motion vector of a pixel block to be encoded as a motion vector of the G plane, and a correcting unit that corrects a motion vector of the B and R planes based on the motion vector for the G plane.


