基于FPGA的BT.656数字分量视频信号处理(重点是:D1转CIF算法) PLA-AD-(BT655)-FPGA-AD输出 追加高分!

基于FPGA的BT.656数字分量视频信号处理(重点是:D1转CIF算法) PLA-AD-(BT655)-FPGA-AD输出 追加高分!,第1张

在ITU-R BT.656视频标准中,有效视频数据分为奇、偶场,每场均由288行组成。每行有效数据有1440个取样字,其中有720个亮度Y取样字,360个蓝色色差Cb取样字以及360个红色色差Cr取样字,并按照Cb、Y、Cr、Y(即UYVY422)的次序进行排列。

这样采集到的视频分辨率为720像素×576像素,即D1格式分辨率,它表示一帧视频一行有720个亮度取样像素点,共有576行。为转换为CIF格式(即352像素×288像素),需要做一些转换。在驱动程序中,可以先将D1格式做边界处理,转换为4CIF格式(即704像素×576像素,通常这也被称为D1格式),再对4CIF格式取半即可获得CIF格式。

做边界处理时,只要每行开头舍去16个亮度取样像素缓嫌点,就可达到4CIF格式。因为一个完整的像素是包含了两个亮度像素点的,因此每行开头舍去16个亮度取样像素点就等同于每行开头舍去8个像素。然后一行中每隔一个像素采样一次,在一场中同样每隔一行采样一次,这样视频数据就变成CIF格式了。在内存中,UYVY422是按Cb、Y、Cr、Y依次存储的,即4个字节组成一个像素,对于一行,需要每隔4个字节进行采样一次。

 d1转cif这个算法的意思就是,首先一帧656进来后,颂中要在每一行的前面丢几个数据,然后按照隔一个数采一个数的方式采样,行也要按照隔一行采一行的方式采样,就成为了CIF格式的视频,然后按照bt656的传输协议把四路CIF拼起来一起传输,就可以了,野哪山我只能给你讲个大概的意思,呵呵,具体怎么做还需要你自己来

AD转换器的采集通道坏掉了,可能是被烧坏或者其它原因导致。你的程序应该没有逗稿问题(不过也应该检查一下程序有没有被误改动),因为曾经可以输出,举扰而其它三路也可以输出,这一点可以说明你的单片机以及AD的输出端子是好的。可以将能够输出数据的采集通道中一路与不能采集数据的通道山答孝采集的数据交换一下,如果仍然是那一路采集不了,可以确认是AD转换器的采集通道坏掉了,建议更换一个AD转换器试一下。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12272160.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存