本文主要是介绍DVP接口详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背景知识
什么是DVP?
DVP
全称Digital Video Port
(数字视频端口)是一种用于图像传感器和处理器之间传输视频数据的接口标准
,DVP
接口采用并行传输
方式,设计上属于低速总线,DVP
没有特定的传输协议,它不规定传输协议,它只是一个视频传输接口,一般DVP
传输采用的视频编码标准是:BT601/BT656/BT1120
,正式名称是 ITU-R BT601/BT656/BT1120
。
Tips
值得注意的是DVP可以不使用以上三种编码标准
,但由于DVP设计上属于是低速总线,它只能传输分辨率较低的视频,这三种编码标准就比较适合传输标准数据。
什么是ITU标准?
简介
ITU全称International Telecommunication Union(国际电信联盟)
,是联合国的一个专门机构,负责全球信息通信技术的标准化、协调和发展。于1865
年在瑞士日内瓦
成立,是一个历史悠久
的国际组织
。
ITU-R与ITU-P编码
ITU-R
有三种编码格式:BT601/BT656/BT1120
,主要应用于标清视频传输、视频编码和处理系统,与之对应的还有ITU-P
,应用于语音、音频质量评估、语音信号处理和语音传输,主要有:G.711/G.722/G.723.1/G.726/G.729/G.728/G.718
七种编码格式
NTSC/PAL与ITU-R之间的关系
NTSC与PAL
是电视制式标准
,电视制式是电视信号
传输和显示的标准
和规范
,它决定了电视信号
的格式
、传输方式
、颜色编码
、分辨率
、帧率
、采样
以及声音
的处理方式。
ITU-R
是标清视频编码协议
,主要是表示模拟信号
转化为数字信号
之后的编码标准
,它不规定如何传输
、分辨率大小
、帧率
等,它只规定如何将模拟信号
转化为数字信号
。一般情况下ITU-R
编码是用来传输NTSC
数据的,因为NTSC
一般是通过广播
以无线形式传播的,所以一些设备
为了方便有线
传输,则通过DVP
接口将NTSC
转化为ITU-R
编码然后传输出去。
例如NTSC
是使用YIQ
表示,Y 分量(亮度 Luminance)
,I 分量(In-phase 红-青之间的色调)
,Q 分量(Quadrature 蓝-黄之间的色调)
,而ITU-R
则采用YUV
的方式,只需要将YIQ
通过算法公式映射到YUV
就可以了。
一般NTSC
和PAL
会写成:NTSC(525/60)
与PAL(625/50)
525
、625
代表扫描线
,是指表示一帧图像的总扫描线
包括奇偶部分
,NTSC
和PAL
都采用隔行输入
,而后面的60
对应的是帧率
,由于使用的是隔行输入
,两个场代表一帧,也就是525/2=262
每场里只有262
个像素信息,对应的帧率就是60/2=30
帧,这里NTSC
并不是实际的30
帧,因为NTSC工程师们发现30
帧时NTSC
干扰非常大,后来工程师们通过分析频率
发现30帧
时容易与其它器件产生共频
从而产生干扰,后来工程师们通过计算,将NTSC
行频改为15734.25
Hz(对应帧率29.97
),发现这个频率下干扰最小,就故而使用了这个频率。
隔行扫描和逐行扫描
隔行扫描
和逐行扫描
是视频显示的一种方式。
隔行扫描
隔行扫描
每个视频帧
被分成两个场(fields
,图像的一部分),每个场包含图像的一半行。一个场显示奇数行
,另一个场显示偶数行
,这样循环显示能够有效将一副图像的带宽降低一半并保证画面色彩,这个方法是利用了人眼残影
保留时间,当某个色彩从人眼中消失后它不会立即在人的大脑中消失
,会有一段残留时间
,这也是目前旋转风扇播放视频
的原理,过去显示器上面的RGB彩色管
都是电容+LED制作的,当断电后电容也不会立即消失,LED会逐步变暗,同时由于是像素级别的所以人们肉眼很难察觉出区别,特别是隔行输入是两个场
,奇偶行会交替显示
。
逐行扫描
逐行扫描是最纯粹
的显示方式,它会完整显示
一副图像,不会存在奇偶交替
的情况,它只有一个场
,一个场里包含了图像完整像素信息
,逐行扫描是从上往下
开始一行行完整的更新到屏幕
上。
硬件组成
DVP
一般由PCLK
、MCLK
、VSYNC
、HSYNC
、DATA
五根主要线和一个HCD
组成下面的表格是它们的作用
Pin脚 | 作用 |
---|---|
PCLK | 像素时钟 |
MCLK | 主时钟频率,由外部输入 |
VSYNC | 帧同步信号 |
HSYNC | 行同步信号 |
DATA[0:?] | 并行数据线,大小不固定取决于设备,常用的是8/10/12/16BIT,一根线对应一个BIT |
HCD
是控制器部分
ITU-R标准详解
Tips
以下统一用BT为前缀
BT601
简介
BT601
全称是ITU-R(Recommendation) BT.601
,前身是CCIR601
,1982
年由ITU-R
发布的一个数字信号编码标准,是为电视放送推出的一个标准,采用RGB4:4:4和YUV4:2:2表示颜色分量,主要用来传输电视信号,由于电视采用的是NTSC/PAL所以一般用来编码NTSC与PAL信号。
编码方式
BT601
采用YCbCr (YUV)
的方式表示颜色信息,以下是它与NTSC
的推荐采样建议
传输方式
BT601
是编码格式,不存在传输方式,一般情况下都是并行传输,直接将数据通过并行口传输出去。
BT656
BT656不属于编码方式,它是属于接口标准,编码格式依然是BT601,它只是规定接口标准以及如何传输,它是BT601的并行接口标准,输入的模拟信号按照BT601进行编码然后通过BT656接口进行输出。
编码方式
参考BT601
传输方式
BT656
每个像素先传输UV
部分,在传输Y
部分,它每一行由下面4部分
组成:
结束码(EAV
) + 水平消隐(Horizontal Vertical Blanking
) + 起始码(SAV
) + 有效数据(Active Video
)
BT656与其它设备相连基本上需要大约20根Pin,较为复杂。
BT656传输图像时也采用隔行输入
,分为顶场
和低场
对应奇偶行。
BT1120
BT1120是用于传输高清数字视频的,相较于BT656它俩最大的差别就是在VCLK上面,BT1120一般可以用于传输1080P的图像数据,BT656最大支持的分辨率则是NTSC:720x480,PAL:720x576,而BT1120支持:1920x1080。
BT1120数据总线位宽是16位BIT+一根时钟线,并且时钟速率有要求,如果是16位数据位宽则时钟速率是74.25MHz,如果是8BIT则是148.5MHz,在最新的1120-9协议里已经改用10BIT并行口,时钟频率是148.5MHZ,传输1080P图像最高可达25FPS。
编码方式
参考BT601
传输方式
参考BT656
总结
BT656和BT1120都是接口标准,它们都是用于传输BT601的一个接口标准,你也可以完全使用并行接口传输数据,那就BT601的方式。
DVP一般采用BT601的方式传输数据,一般使用的并行口BIT是8BIT,一般FPS多少取决于MCLK,一般DVP的时钟频率不会很高,因为它的设计就是低速总线。
这篇关于DVP接口详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!