BT656协议讲解与解码

BT.656支持不同位数和分辨率的视频,本文以标准分辨率为720*576i 8bit BT.656(4:2:2)YCbCr SDTV 数字视频信号格式讲解协议和解码方法;采集图像的时候使用隔行扫描,每一帧有2个场,一个叫顶场,一个叫底场(有时又称为偶场和奇场),那么顶场就包含其中所有的偶数行,而底场则包含其中所有的奇数行,传输时其完整的帧结构如图所示;奇场和偶场有效行都为288行,每行有1440个字节(包含720个Y亮度字节,360个Cb色度字节,360个Cr色度字节),Y的取值范围为16-235,色度为16-240; 水平消隐区间为280个字节;

每一行有如下几个部分组成,行 = 结束码(EAV) + 水平消隐(Horizontal Vertical Blanking) + 起始码(SAV) + 有效数据(Active Video),BT.656有效数据帧如图1所示,blankIng区间通常填充80h/10h;

                                                              图1 BT.656 576i有效数据帧格式

EAV和SAV为嵌入控制字,分别表示视频的终点和起点,均由四个字节构成,前三个字节为固定的帧头FF,00,00,而第4个字节(XY)是根据场、消隐信息而定的,其8个bit含义如下: 1 F V H  P3 P2 P1 P0,其中,

F:标记场信息,传输顶场时为0,传输底场时为1;

V:标记消隐信息,传输消隐数据时为1,传输有效视频数据时为0;

H:标记EAV还是SAV,SAV为0,EAV为1;

而 P0~P3为保护比特,其值取决于F、H、V,起到校验的作用 ,P3=V XOR H,P2=F XOR H,P1=F XOR V,P0=F XOR V XOR H;

EAV和SAV的详细定义如表1所示,

                                                                      表1 EAV与SAV定义

接下来讨论工程应用中FPGA如何解码

通过对EAV和SAV包含的行、场信息进行检测,可以分离出有效数据,EAV和SAV都包含4个字节,设计时使用4个移位寄存器,称为shift_d1,shift_d2,shift_d3和shift_d4,数据先缓存至shift_d1,然后d1的数据移位到d2,依次循环执行,另外同时对四个移位寄存器的值进行判定,当前三个字符为0xff,0x00和0x00,而第四个字符为定义表上的值,认为有具体的执行操作开始,理论上控制流是按照图2方向运行;在设计时,只需要关注shift_d1为0xab,0x80,0xec和0xc7时的情况,通过设计一个状态机来进行控制,状态控制如图

                                                                       

                                                                      图2 数据流运行方式

                                          

                                                                         图3 解码状态转移图

在状态EDATA和ODATA时进行数据输出,产生输出所需要的使能信号,另外也可把奇偶场信息传递给下一级模块,方便后续模块去隔行或其它操作;
————————————————
版权声明:本文为CSDN博主「学飞的鸟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/fangxuenan/article/details/105319583

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值