这是一篇关于Altera的VIP的介绍。今天开始写第一篇,以后陆续会有更新。说得不对的地方还请各位老大指正。本人文笔不是很好,所以写的时候思维会有点混乱,欢迎大家踊跃发言。
VIP: Video and Image Processing。是Altera的针对图象处理的一系列IP Core,注意,是一系列IP,并不是一个IP。到目前为止,有Alpha Blending Mixer, CSC, Chroma Resample, Clipper, Clocked Video Input, Clocked Video Output, Color Plane Sequencer, Deinterlacer, FIR Filter 2D, Frame Buffer, Frame Reader, Gamma Corrector, Interlacer, Median Filter 2D, Scaler II, Scaler, Switch, Test Pattern Generator.
我想先从Clocked Video Input,Clocked Video Output说起。
由于所有的VIP中,处理的接口都是Avalon-ST接口(Altera定义的关于数据流格式的一种接口)。而我们的视频接口又是有很多种,BT656,BT601,DVI等。做视频处理的话我们肯定对标准视频接口很熟悉,但是对于标准视频接口怎么映射到Avalon-ST,文档说得非常简单,估计你要搞懂这一点,还不如自己编写整个IP来得方便。所以Altera就搞了一个Clocked Video Input的IP,让你把标准的视频接口转化成Altera定义的Avalon-ST,这样一来,你可以不用去了解他们是怎么映射的了。有视频输入,那么肯定要输出去的,所以再做了一个Clocked Video Output与之对应,把Avalon-ST的视频流再转到标准的视频接口。
看图1,是Clock Video Output的IP参数例化的GUI界面。把图象视频大小(宽度和高度)输入,然后Bits Per Pixel Per Color Plane是每个点用几位表示的,比如8位,10位等。Number of color Planes是每个点需要几个Color Plane表示,如果值是2,而上一个参数是8位,那么每个点它是需要2*8=16bits来表示。
Color Plane Transmission format: 表示这个颜色的16bits数是8位串行的还是16位并行的。
Interlaced Video,是否是隔行扫描的。
Syncs signals: Embedded in Video(同步信号HS,VS隐藏在数据中),On separate Wires(HS,VS信号跟数据分离)。假如是BT656格式,那么就要选Embedded in Video了,因为BT656是通过SAV,EAV,等并行数据串来表示消隐信号的。
再下面,就是设置行消隐的点数和场消隐的行数了。
另外,它还提供了PAL,NTSC,DVI,SDI等信号模版,如果你要输出的是PAL(525行),NTSC(625行)。PAL,NTSC一般出现在模拟视频中,BT656的接口,HS,VS是嵌入在视频数据里的。而DVI的话是HS,VS分离出数据的。SDI的话也是HS,VS嵌入在视频数据里的。如果是1080P60的话,那么遵循BT1120格式,前导码是3FF 3FF 000 000 000 000 XY。
Clocked Video Input和Clocked Video Output还是比较有用的,如果你对各种视频格式的相互转换不是特别熟悉,那么还可以调用这两个IP做接口格式转换。 |