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就可以了。
一般NTSCPAL会写成:NTSC(525/60)PAL(625/50)
525625代表扫描线,是指表示一帧图像的总扫描线包括奇偶部分NTSCPAL都采用隔行输入,而后面的60对应的是帧率,由于使用的是隔行输入,两个场代表一帧,也就是525/2=262每场里只有262个像素信息,对应的帧率就是60/2=30帧,这里NTSC并不是实际的30帧,因为NTSC工程师们发现30帧时NTSC干扰非常大,后来工程师们通过分析频率发现30帧时容易与其它器件产生共频从而产生干扰,后来工程师们通过计算,将NTSC行频改为15734.25Hz(对应帧率29.97),发现这个频率下干扰最小,就故而使用了这个频率。

隔行扫描和逐行扫描

隔行扫描逐行扫描是视频显示的一种方式。

隔行扫描

隔行扫描每个视频帧被分成两个场(fields,图像的一部分),每个场包含图像的一半行。一个场显示奇数行,另一个场显示偶数行,这样循环显示能够有效将一副图像的带宽降低一半并保证画面色彩,这个方法是利用了人眼残影保留时间,当某个色彩从人眼中消失后它不会立即在人的大脑中消失,会有一段残留时间,这也是目前旋转风扇播放视频的原理,过去显示器上面的RGB彩色管都是电容+LED制作的,当断电后电容也不会立即消失,LED会逐步变暗,同时由于是像素级别的所以人们肉眼很难察觉出区别,特别是隔行输入是两个场,奇偶行会交替显示

逐行扫描

逐行扫描是最纯粹的显示方式,它会完整显示一副图像,不会存在奇偶交替的情况,它只有一个场,一个场里包含了图像完整像素信息,逐行扫描是从上往下开始一行行完整的更新到屏幕上。

硬件组成

DVP一般由PCLKMCLKVSYNCHSYNCDATA五根主要线和一个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,前身是CCIR6011982年由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的时钟频率不会很高,因为它的设计就是低速总线。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1522353.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

office365如何退回之前的版本

一夜之间,我的word使用起来感觉好麻烦。查询了一下,发现是word更新了。 感觉更新后一些功能很不好用,所以我决定返回之前使用的版本。现在记录一下这个过程,也可以供有需要的朋友参考。 打开cmd窗口,在第一行输入以下…

Vue3实时更新时间(年-月-日 时:分:秒)

代码案例 <script lang"ts" setup> import { ref,onMounted } from vue; const timer ref() const date ref("")//年月日 const moreTime ref("")//时分秒 onMounted(()>{//创建定时器1秒执行一次timer.value setInterval(() >…

真实:关于源代码防泄漏工作一些经验分享

互联网的飞速发展&#xff0c;各行各业都在往数字化转型&#xff0c;很多传统的业务数据都需要逐渐录入到电脑中&#xff0c;不仅节省了空间&#xff0c;还节约了成本。而这些数据都需要通过各类型的应用程序&#xff0c;进行分类&#xff0c;统计&#xff0c;展示&#xff0c;…

Apache DolphinScheduler项目与社区7-8月发展报告

各位热爱 Apache DolphinScheduler 的小伙伴们&#xff0c;社区7-8月报更新啦&#xff01;这里将记录 Apache DolphinScheduler 社区每月的重要更新&#xff0c;欢迎关注&#xff01; Merge Stars 感谢以下小伙伴上两个月为 Apache DolphinScheduler 项目和社区发展所做的精彩…

从K-Means到K-Medoid:聚类算法在缺陷报告分析中的性能比拼与优化探索

本文分享自华为云社区《聚类&#xff1a;k-Means 和 k-Medoid》作者&#xff1a; Uncle_Tom 1. 前言 在《对静态分析缺陷报告进行聚类&#xff0c;以降低维护成本》 提到使用 k-Medoid 通过相似缺陷的聚类&#xff0c;来减少程序员对大量缺陷分析的工作量。 k-Medoid 和传统的…

业务解耦-Spring事件监听的三种实现方式

实现ApplicationListener 步骤如下&#xff1a; 1.写Event类&#xff0c;需要继承Spring的ApplicationEvent类 2.写监听类&#xff0c;需要实现Spring的ApplicationListener接口&#xff0c;加上Component注解 3.监听类实现onApplicationEvent方法 4.通过ApplicationContext.p…

25届计算机毕业设计:如何用Java SpringBoot+Vue打造高效医疗器械管理系统?

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

手游推广痛点解析,Xinstall如何助力厂商破解难题?

随着手游市场的日益繁荣&#xff0c;手游推广方式也在不断革新。从传统的地推、广告投放到如今新兴的CPA&#xff08;按动作付费&#xff09;和CPS&#xff08;按销售订单付费&#xff09;模式&#xff0c;手游推广正逐步走向效果导向的时代。而在这个过程中&#xff0c;Xinsta…

Ubuntu上安装剪切板管理软件

1. 更新系统和软件 确保你的系统和软件是最新的&#xff0c;有时更新可以修复这类错误。 sudo apt update sudo apt upgrade 2. 重新安装 Diodon 尝试卸载并重新安装 Diodon。 sudo apt remove diodon sudo apt install diodon 3. 检查依赖项 确保系统中安装了所有必要…

TPM管理咨询公司一走,企业又恢复原样,为什么?

在探讨“TPM管理咨询公司离开后&#xff0c;企业为何常常恢复原样”这一深刻问题时&#xff0c;我们不得不深入剖析TPM理念的本质、实施过程中的挑战以及企业在持续变革中面临的普遍困境。TPM作为一种以最大化设备综合效率为目标的生产维护体系&#xff0c;其核心理念在于通过全…

【数据结构】反射,枚举你必须知道的相关知识

前言&#xff1a; &#x1f31f;&#x1f31f;本期讲解关于反射以及枚举&#xff0c;希望能帮到屏幕前的你。 &#x1f308;上期博客在这里&#xff1a;http://t.csdnimg.cn/7D225 &#x1f308;感兴趣的小伙伴看一看小编主页&#xff1a;GGBondlctrl-CSDN博客 目录 &#x1f…

linux固定ip

背景 VMware&#xff0c;centos7 查询 网关 linux指执行 ip addr 命令 拿到自动分配的ip : 192.168.150.102 [rootlocalhost ~]# cd /etc/sysconfig/network-scripts/ 执行: cd /etc/sysconfig/network-scripts/ 进入到network-scripts文件中 执行: vi ifcfg-ens33 编辑ifc…

猪八戒落地-第15届蓝桥省赛Scratch初级组真题第1题

[导读]&#xff1a;超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成&#xff0c;后续会不定期解读蓝桥杯真题&#xff0c;这是Scratch蓝桥杯真题解析第180讲。 如果想持续关注Scratch蓝桥真题解读&#xff0c;可以点击《Scratch蓝桥杯历年真题》并订阅合集&#xff0c;…

备战2024年全国大学生数学建模竞赛:湖羊养殖场空间利用率优化

目录 一、引言 二、问题分析 问题1&#xff1a;年化出栏量与羊栏缺口估算 问题2&#xff1a;最大化年化出栏量的生产计划 问题3&#xff1a;考虑不确定因素的生产计划 三、解题思路 1. 模型假设与变量设定 2. 问题1的建模与求解 3. 问题2的建模与优化 4. 问题3的建模与…

Linux驱动开发基础(sr04超声波模块)

所学来自百问网 目录 1. SR04 超声波简介 2. 硬件设计 3. 软件设计 4. 示例代码 4.1 驱动代码 4.1.1 轮询模式 4.1.2 中断模式 4.3 应用程序 4.4 Makefile 4.5 实验效果 1. SR04 超声波简介 超声波测距模块是利用超声波来测距。模块先发送超声波&#xff0c;然后接…

mate-indicators占用内存过高导致熔断

目录&#xff1a; 1、问题现象2、解决方法 1、问题现象 mate-indicators占用内存达30.9%&#xff08;内存溢出&#xff09;导致内存不足服务熔断。 2、解决方法 发现mate-indicators进程占用内存资源达到节点总内存40%&#xff0c;导致服务出现内存熔断 临时解决 systemct…

51单片机-矩阵键盘(基于LC602)

时间&#xff1a;2024.8.30 作者&#xff1a;Whappy 目的&#xff1a;手撕51&#xff08;第二遍&#xff09; 代码&#xff1a; main.c #include <REGX52.H> #include "LCD1602.h" #include "Delay.h" #include "MatrixKey.h"unsigned…

Spring及Springboot事件机制详解

程序设计的所有原则和方法论都是追求一件事——简单——功能简单、依赖简单、修改简单、理解简单。因为只有简单才好用&#xff0c;简单才好维护。因此&#xff0c;不应该以评论艺术品的眼光来评价程序设计是否优秀&#xff0c;程序设计的艺术不在于有多复杂多深沉&#xff0c;…

bigcache源码解析

1. 设计目标 Bigcache 是用 Golang 实现的本地内存缓存的开源库&#xff0c;主打的就是可缓存数据量大&#xff0c;查询速度快。 在其官方的介绍文章《 Writing a very fast cache service with millions of entries in Go 》一文中&#xff0c;明确提出的 bigcache 的设计目标…

“20人+14天”,个人开发者如何通过 Google Play 谷歌封闭测试

个人开发者的应用测试要求 为了帮助开发者提供高品质的应用从而带给用户更优质的使用体验&#xff0c;Google为所有在2023年11月13日之后创建的个人开发者账号增加了一项要求&#xff1a; 至少有20名测试人员在过去至少14天内选择持续参与测试。 满足这项要求后即可申请正式版…