数字视频基础(二)

  1. 云栖社区>
  2. 博客列表>
  3. 正文

数字视频基础(二)

毛毛虫的爹 2014-07-01 11:18:00 浏览816 评论0

摘要: 2.    常用数字视频标准 2.1 BT656     首先要理解模拟PAL/NTSC的视频信号的波形:

2.    常用数字视频标准

2.1 BT656

    首先要理解模拟PAL/NTSC的视频信号的波形:



    要进行视频的数字传输,首先我们要将模拟视频信号数字化,获得每个像素的YUV值,一般采用YUV422格式,仅仅传输图像数据还不行,还要传输行同步、场同步、奇偶场信号、以及每行图像什么时候开始的,什么时候结束的。这样在接收端才能正确接收和理解数据,并获得视频的重现。

     SAV(有效视频开始)和EAV(有效视频结束)码,反映了模拟视频的同步信号。由前导符FF、00、00开始,这三个字节的前导符在视频数据中是不可能存在的,XY为状态字,每一位定义如下:



         有时我们会看到BT.601,其与656的差别不过是数据流中缺少了同步信息,所以,必须另外有HS、VS、FIED、DE等同步信息才能完整传输数字视频。

         大部分情况我们使用8bit的BT656,标准本身是支持10bit的。

         BT656主要是针对PAL/NTSC等标清视频。时钟频率是27MHz。注意采样频率灰度为12.5MHz,色度为6.25MHz。

         随着高清视频的发展的需要,又推出了BT1120标准,它与BT656是类似的,只不过时钟频率更高了,以适合高清视频的传输。

2.2 OpenLDI和CameraLink

2.2.1 OpenLDI

OpenLDI:Open LVDS Display Intrerface是通过LVDS信号来传输视频。

先了解一下LVDS:Low-voltage differentialsignaling. 低电压差分信号。

  

          LVDS能带宽极高,可达数G。

         模拟VGA信号的时序:

         OpenLDI有以下几种传输方式:

         (1)18bit单像素非平衡


(2)24bit单像素非平衡

(3)18bit双像素非平衡


(4)24bit双像素非平衡


(5)18bit单像素平衡模式


         平衡模式,是每个周期除了像素和控制信息外,还增加了一位,这一位叫直流平衡位(DCBAL:DC Balance)。DCBAL位的目的是使得信号线上的直流偏置最小,为了最小化直流分量,是需要对传输的数据进行修改才能实现的。如果数据没有被修改的周期,DCBAL=0,否则,DCBAL=1。

         类似还有24bit单像素平衡模式、以及双像素的18bit、24bit平衡模式。

         因为平衡模式我们使有的比较少,具体算法不在这里介绍。可参考有关文档。

         OPENLDI的时钟可能不高,但是数据线上的频率却很高,这是需要注意的。

2.2.2 CameraLink

2.2.2.1 概述

         OpenLDI标准定义了视频传输的方式,在此基础上添加一些控制信号、通讯、所使用的连接器定义,由此构成可CameraLink标准。CameraLink最大时钟频率就是85MHz


CameraLink有5种配置:因为视频的分辨率越来越高,也即像素时钟越来越高,比如单色640x480@60Hz的点频是25.175MHz(Lite),彩色1024x768@60Hz点频是65MHz(Base),彩色1280x1024@60Hz点频是108MHz(Medium),所以,不同的配置是为了满足不同分辨率和精度的视频传输的要求。相当于车速不变,增加车道以提高车流量。

l  Lite:支持10bit,端口A、B,1个电缆连接器

l  Base:支持24bit,端口A、B、C,1个电缆连接器

l  Medium:支持48bit,端口A、B、C、D、E、F,2个电缆连接器

l  Full:支持64bit,端口A、B、C、D、E、F、G、H,2个电缆连接器

l  80 Bit。支持80bit,端口A、B、C、D、E、F、G、H、I、J,2个电缆连接器

连接器定义:



CameraLink的信号:

除了数据通道,还有:

(1)4个使能信号:

l  FVAL:帧有效(FVAL),高有效,表示有效行。

l  LVAL:行有效,高有效,表示有效像素

l  DVAL:数据有效,高表示数据有效。对80bit配置,这个信号用来传输数据。

l  Spare:备用。对80bit配置,这个信号用来传输数据。

(2)对Base/Medium/Full/80bit配置,还有下面摄像机控制信号:CC1、CC2、CC3、CC4。而对Lite配置,仅有CC一个控制信号。

(3)通讯:波特率至少9600,1个起始位,1个停止位、无奇偶校验、无握手信号。

l  SerTFG:串行通讯差分对,去帧捕捉器。对Lite配置,这个信号被分配在一个携带图像数据的差分对上。见位分配。

l  SerTC:串行通讯差分对,去摄像机。

端口(Port)的概念:一个端口是8bit宽,从信号连接的角度来说,1个端口可传输8bit的数,但是到底这8bit数是什么并没有规定。

Tap的概念:Tap表示一个类型的数据,比如:Red数据、Green数据、或Blue数据、灰度数据,或偶像素数据、或奇像素数据。比如:

1)       用一个Base配置来传输24bit的RGB,RGB的每个数据是8bit,那么我们就说是3个TAP,每个TAP是8bit。

2)       如果我们用一个Medium配置来传输双像素RGB,RGB数据是8bit,那么我们就说是6个TAP,每个TAP是8bit。

3)       如果我们用Lite配置来传输黑白图像,亮度用10bit数来表示,那么,我们说1个TAP,每个TAP是10bit。

CameraLink标准应该对如下一些内容作出明确定义:

1)       我们知道要传输的图像数据是由一个或多个Tap组成的,先要定义这些Tap的每一位是如何分配在Port上的,这就是第2.2.2.1节定义的位的分配(Bit Assignment)。

2)       然后要定义Port的每一位及LVAL、FVAL、FVAL、SPARE处于LVDS时钟周期的哪个相位,也就是是Port每一位与收发器的RX/Tx脚位之间的关系。这个问题在2.2.2.2节位的位置(Bit Allocation)中定义。

3)       标准还要定义每个Port位于哪个通道连接,或者说哪个芯片上,或者说是在X连接通道上,还是Y、Z连接通道上?这一点由第2.2.2.3节的配置的框图来定义。


2.2.2.1位的分配(Bit Assignment)










2.2.2.2位的位置(Bit Allocation)



2.2.2.3硬件路由和框图











【云栖快讯】阿里云栖开发者沙龙(Java技术专场)火热来袭!快来报名参与吧!  详情请点击

网友评论