Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3523451
  • 博文数量: 1805
  • 博客积分: 135
  • 博客等级: 入伍新兵
  • 技术积分: 3345
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-19 20:01
文章分类

全部博文(1805)

文章存档

2017年(19)

2016年(80)

2015年(341)

2014年(438)

2013年(349)

2012年(332)

2011年(248)

分类: LINUX

2015-11-06 22:08:53

原文地址:NTSC摄像头支持调试 作者:李牛-克斯

最近,在使用TVP5150芯片接NTSC摄像头到主CPU时,发现视频显示出来的重影导致画面模糊的现象。5150与主控之间的数据传输采用BT656格式,根据现象以及以前ADV7180的应用情况,判断重影问题是AD芯片与RK主芯片之间的BT656数据中场同步信号不一致导致,通过FAE确定AD芯片不能调整场同步参数,场消隐的行数是固定值写在芯片中,无法调整;但主控芯片的接口中,也未找到相应参数的适配配置,所以只能通过修改驱动代码,在软件中获取到一帧数据后,对偶场的所有行往上平移若干行,问题得以解决。

PS:BT656的格式(以下摘自网络):

凡是做模拟信号采集的,很少不涉及BT.656标准的,因为常见的模拟视频信号采集芯片都支持输出BT.656的数字信号,那么,BT.656到底是何种格式呢?
      本文将主要介绍 标准的8bit BT656(4:2:2)YCbCr SDTV(标清)数字视频信号格式,主要针对刚刚入门模拟视频采集的初学者入门之用。

1. 帧的概念(Frame

    一个视频序列是由N个帧组成的,采集图像的时候一般有2种扫描方式,一种是(progressive scanning),一种是(interlaced scanning)。对于隔行扫描,每一帧一般有2个场(field),一个叫顶场(top field),一个叫底场(bottom field)。假设一帧图像是720行,那么,顶场就包含其中所有的偶数行,而底场则包含其中所有的奇数行。

 

2. 场的概念(field)   

    注意,上面提到顶场和底场,用的是“包含”二字,而不是说完全由后者组成,因为在BT.656标准中,一个场是由三个部分组成的:

   场 = 垂直消隐顶场(First Vertical Blanking) + 有效数据行(Active Video) + 垂直消隐底场(Second Vertical Blanking)

    对于顶场,有效数据行就是一帧图像的所有偶数行,而底场,有效数据行就是一帧图像的所有奇数行。顶场和底场的空白行的个数也有所不同,那么,对于一个标准的 8bit BT656(4:2:2)SDTV(标清)的视频而言,对于一帧图像,其格式定义如下:

   由上图可以知道,对于PAL制式,每一帧有625行,其中,顶场有效数据288行,底场有效数据也是288行,其余行即为垂直消隐信号。为什么是288行?因为PAL制式的SDTV或者D1的分辨率为 720*576,即一帧有576行,故一场为288行。

    由上图我们还可以知道,顶场有效数据的起始行为第23行,底场有效数据的起始行为第335行。

另外,上图中的 F 标记奇偶场,V标记 是否为垂直消隐信号。

 

3. 每一行的组成(Lines

    下面说明每一行的组成,一行是由4个部分组成:

   行 = 结束码(EAV) + 水平消隐(Horizontal Vertical Blanking) + 起始码(SAV) + 有效数据(Active Video)

    典型的一行数据组成如下图所示:

    起始码(SAV)和结束码(EAV),它是标志着一行的开始结束的重要标记,也包含了其他的一些重要的信息,后面将会讲到。

为什么一行中的有效数据是 1440 字 节? 因为PAL制式的SDTV或者D1的分辨率为 720*576,即一行有720个有效点,由于采集的是彩色图像,那么一行就是由亮度信息(Y)和色差信息(CbCr)组成的,由于是YCbCr422格 式,故一行中有720列Y,720列CbCr,这样,一行的有效字节数就自然为 720 x 2 = 1440 字节了。

 

4.  EAV和SAV

    EAV和SAV都是4个字节(Bytes),由上面的图可以知道,SAV后面跟着的就是有效的视频数据了。那么,EAV和SAV的格式是怎么样的呢?

    EAV和SAV的4个字节的格式规定如下(下面以16进制表示):

    FF 00 00 XY

    其中,前三个字节为固定的,必须是FF00 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,起到校验的作用。



阅读(928) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~