MIPI中的像素格式

我们知道图像传输的时候有各种各样的格式,典型的可以分成YUV和RGB两种色彩空间,我们常用的也是比较容易理解的是三色RGB色彩空间,而YUV实际上只是另一种颜色表示方法,我们来看看百度百科上的解释:

YUV是编译true-color颜色空间(color space)的种类,YUV, YUV, YCbCr,YPbPr等专有名词都可以称为YUV,彼此有重叠。“Y”表示明亮度(Luminance或Luma),也就是灰阶值,“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。

也就是YUV不是按照颜色区分,而是按照亮度,灰度和饱和度对颜色进行分解,这种格式的发明起源于黑白电视到彩色电视的过渡,虽然年代稍微久远,但是现在应用还是非常广泛,因为在很多场合我们可能只需要提取灰度信息,这个时候我们只需要直接提取其中的灰度分量就可以了,而不用从RGB中三个分量转换。

似乎扯得有点远,我们先来看看MIPI中常用的一些数据格式和他们的传输方式:

格式类型数据传输方式PHY输出
Legacy YUV420 8bit0x18
0x1C
odd:2 Pixel 2 Bytes 16 Bits
even:2 Pixel 4 Bytes 32 Bits
even:
[7:0]U1 [15:8]Y1
[7:0]V1 [15:8]Y2
odd:
[7:0]Y1 [15:8]Y2
[7:0]Y3 [15:8]Y4
YUV420 10bit0x19
0x1D
odd:4 Pixel 5 Bytes 40 Bits
even:4 Pixel 10 Bytes 80 Bits
even:
[9:0]U1 [19:10]Y1
[9:0]V1 [19:10]Y2
odd:
[9:0]Y1 [19:10]Y2
[9:0]Y3 [19:10]Y4
YUV422 8bit0x1E2 Pixel 4 Bytes 32 Bits[7:0]U1 [15:8]Y1
[7:0]V1 [15:8]Y2
YUV422 10bit0x1F2 Pixel 5 Bytes 40 Bits[9:0]U1 [19:10]Y1
[9:0]V1 [19:10]Y2
RGB8880x241 Pixel 3 Bytes 24 Bits[7:0] Blue
[15:8] Green
[23:16]Red
RGB6660x234 Pixel 9 Bytes 72 Bits[5:0] Blue
[11:6] Green
[17:12]Red
RGB5650x221 Pixel 2 Bytes 16 Bits[4:0] Blue
[10:5] Green
[15:11]Red
RGB5550x21--[4:0] Blue
[9:5] Green
[14:10]Red
RGB4440x20--[3:0] Blue
[7:4] Green
[11:8]Red
RAW80x2A---Data on [7:0]

上述表格PHY的输出是参考i.MX上MIPI-CSI的配置给出来的。

从表格中可以看出,不同的数据格式最终数据的码率是不尽相同的,所以当选择了一种格式之后,相应的MIPI时钟应该也是需要重新配置的,这里面牵扯的东西就比较复杂了。不过好歹数据格式这里是有些眉目了。


本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。

发表新评论