MyFPGA Forum

标题: 求助DE2_TV [打印本页]

作者: liangyubing    时间: 2011-6-8 15:57
标题: 求助DE2_TV
在DE2_TV中,ITU_656_Decoder中,有一个cr 与cb翻转的模块
if(iSwap_CbCr)
                begin
                        case(Cont[1:0])                //        Swap
                        0:        Cb                <=         iTD_DATA;
                        1:        YCbCr        <=        {iTD_DATA,Cr};
                        2:        Cr                <=         iTD_DATA;
                        3:        YCbCr        <=        {iTD_DATA,Cb};
                        endcase
                end
                else
                begin
                        case(Cont[1:0])                //        Normal
                        0:        Cb                <=         iTD_DATA;
                        1:        YCbCr        <=        {iTD_DATA,Cb};
                        2:        Cr                <=         iTD_DATA;
                        3:        YCbCr        <=        {iTD_DATA,Cr};
                        endcase
                end
看的很不懂,哪个大虾给解释一下,为什么要翻转cb 与cr
作者: wyzhou    时间: 2011-6-8 17:02
使用这个模块, 是为了避免Cr的信号先Cb的信号出现. 将cb 与cr翻转后, 能够保证YCbCr三分量顺序的一致性. 提高获取的图像质量.
作者: liangyubing    时间: 2011-6-8 20:31
回复 2# wyzhou
谢谢,是不是因为去掉了一个像素,那个cb和cr就反了,所以必须调转?
作者: gmk54205    时间: 2011-6-8 23:16
回复 1# liangyubing

在1行数字视频信号中有1440个字节,其中每两个字节中有一个是亮度信号,每四个字节中有一个Cr和一个Cb,即YCbYCrYCbYCrYCbYCrYCbYCr YCb YCrYCbYCr.....  Y共有720个,Cb和Cr加起来总共也有720个。在转变成640X480VGA格式时, 每9个Y要丢掉一个Y,其后的色差信号也要丢掉,这样就能实现一行720像素转变成为一行640像素。如同我在上面所示,第九个Y和其后的Cb丢掉后, 第10个Y后面跟的是Cr, 而第8个Y后跟的也是Cr, 就不符合每四个字节中有一个Cr和一个Cb的规律。所以需要交换Cb和Cr的位置。
作者: liangyubing    时间: 2011-6-9 10:48
回复 4# gmk54205
非常受用,谢谢,高人,能不能解释一下,在DE2_TV里面那两个line buffer是干嘛的,现在就剩这两个模块看不懂了
作者: woshicengjing    时间: 2011-11-6 16:26
markmarkmarkmark
作者: spartan    时间: 2011-11-21 11:22
有谁能解答4楼的问题,大家都想知道
作者: zhujianwu566    时间: 2011-11-26 03:35
采集的视频信号是隔行显示,要缓冲2行,转化为逐行显示




欢迎光临 MyFPGA Forum (http://www.myfpga.org/discuz/) Powered by Discuz! X3