This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

THS8200 YUV422->VGA 颜色变反的问题分析和解决方法

Other Parts Discussed in Thread: THS8200

最近遇到个问题,说为什么我的8200 输出颜色好像反了,红色变成了蓝色,蓝色变成了红色?

对于YUV422放在16bit线上传输的方式,  有8位专门用作Y分量的传输,而8位上交替传输U/V的分量。一旦给出的时序有问题, 很可能出现U/V的顺序颠倒的现象。THS8200就会把实际是U分量的数据认作是V,而V分量的数据认作是U来处理。这就是颜色反掉的原因。

一般说来,解决这种问题的根本方式是改善YUV422送过来的时序, 如时钟反向、微调hync延时等做法。但是有的芯片不支持这样修改时序,那该怎么办呢?

由于YUV422->VGA,色彩空间是不同的,所以THS8200内置了色彩空间转换模块,简单地说就是存在一个色彩空间转换矩阵。矩阵的系数是可以自由配置的。理论上在CSC的转换矩阵中把UV的系数互换即可实现UV数据的交换。

 下面是原版的色彩空间转换矩阵(可以在THS8200手册上找到)

 Gd = –0.4577*Cr + Yd – 0.1831*Cb +328 (= 0.6408*128*4)

 Bd = 0*Cr + Yd + 1.8142* Cb – 929 (= −1.8142*128*4)

 Rd = 1.5396* Cr +Yd +0*Cb – 788 (= −1.5396*128*4)

把Cb和Cr简单互换一下:

 Gd = Yd–0.4577*Cb – 0.1831*Cr +328

 Bd = Yd + 1.8142* Cb+0*Cr – 929

 Rd = Yd + 0*Cb +1.5396* Cr– 788

填入到设置CSC系数的寄存器表中即可实现UV分量的互换。负负得正,颜色就可以矫正回来。

第一列是地址,第二列是寄存器值。

更多THS8200的资料、问题和解答,请见

www.deyisupport.com/.../52747.aspx