DVI 视频接口图文解析

DVI全称为Digital Visual Interface,它是1999年由Silicon Image、Intel(英特尔)、Compaq(康柏)、IBM、HP(惠普)、NEC、Fujitsu(富士通)等公司共同组成DDWG(Digital Display Working Group,数字显示工作组)推出的接口标准。它是以Silicon Image公司的PanalLink接口技术为基础,基于TMDS(Transition Minimized Differential Signaling,最小化传输差分信号)电子协议作为基本电气连接。TMDS是一种微分信号机制,可以将象素数据编码,并通过串行连接传递。显卡产生的数字信号由发送器按照TMDS协议编码后通过TMDS通道发送给接收器,经过解码送给数字显示设备。一个DVI显示系统包括一个传送器和一个接收器。传送器是信号的来源,可以内建在显卡芯片中,也可以以附加芯片的形式出现在显卡PCB上;而接收器则是显示器上的一块电路,它可以接受数字信号,将其解码并传递到数字显示电路中,通过这两者,显卡发出的信号成为显示器上的图象。

  目前的DVI接口分为两种,一个是DVI-D接口,只能接收数字信号,接口上只有3排8列共24个针脚,其中右上角的一个针脚为空。不兼容模拟信号。

  另外一种则是DVI-I接口,可同时兼容模拟和数字信号。兼容模拟幸好并不意味着模拟信号的接口D-Sub接口可以连接在DVI-I接口上,而是必须通过一个转换接头才能使用,一般采用这种接口的显卡都会带有相关的转换接头。

  考虑到兼容性问题,目前显卡一般会采用DVD-I接口,这样可以通过转换接头连接到普通的VGA接口。而带有DVI接口的显示器一般使用DVI-D接口,因为这样的显示器一般也带有VGA接口,因此不需要带有模拟信号的DVI-I接口。当然也有少数例外,有些显示器只有DVI-I接口而没有VGA接口。显示设备采用DVI接口具有主要有以下两大优点:
一、速度快
  DVI传输的是数字信号,数字图像信息不需经过任何转换,就会直接被传送到显示设备上,因此减少了数字→模拟→数字繁琐的转换过程,大大节省了时间,因此它的速度更快,有效消除拖影现象,而且使用DVI进行数据传输,信号没有衰减,色彩更纯净,更逼真。

二、画面清晰
  计算机内部传输的是二进制的数字信号,使用VGA接口连接液晶显示器的话就需要先把信号通过显卡中的D/A(数字/模拟)转换器转变为R、G、B三原色信号和行、场同步信号,这些信号通过模拟信号线传输到液晶内部还需要相应的A/D(模拟/数字)转换器将模拟信号再一次转变成数字信号才能在液晶上显示出图像来。在上述的D/A、A/D转换和信号传输过程中不可避免会出现信号的损失和受到干扰,导致图像出现失真甚至显示错误,而DVI接口无需进行这些转换,避免了信号的损失,使图像的清晰度和细节表现力都得到了大大提高。

(0)

相关推荐

  • DVI 视频接口图文解析

    DVI全称为Digital Visual Interface,它是1999年由Silicon Image.Intel(英特尔).Compaq(康柏).IBM.HP(惠普).NEC.Fujitsu(富士通)等公司共同组成DDWG(Digital Display Working Group,数字显示工作组)推出的接口标准.它是以Silicon Image公司的PanalLink接口技术为基础,基于TMDS(Transition Minimized Differential Signaling,最小化

  • Spring拦截器HandlerInterceptor接口代码解析

    Spring的HandlerMapping支持拦截器,拦截器必须实现HandlerInterceptor接口,此接口里面有下面3中方法: 1.preHandle()处理器执行前被调用,方法返回true标识继续调用其他拦截器或者处理器,返回false表示中断流程,后续的拦截器和处理器不再执行. 2.postHandle()处理器执行后,视图执行前调用,此时而已通过ModelAndView对象对数据模型数据进行处理或对视图进行处理. 3.afterCompletion()整个过程结束后调用,比如性能

  • Python程序运行原理图文解析

    本文研究的主要是Python程序运行原理,具体介绍如下. 编译型语言(C语言为例) 动态型语言 一个程序是如何运行起来的?比如下面的代码 #othermodule.py def add(a, b): return a + b #mainrun.py import othermodule a = ['xiaoke', 1, 'python'] a = 'xiaoke string' def func(): a = -5 b = 257 print(a + b) print(a) if __name

  • spring MVC中接口参数解析的过程详解

    前言 前天工作中遇到了这样一个问题,我在接口的参数封装了一个pojo,这是很常见的,当参数一多,惯性的思维就是封装一个pojo.那么在参数前有很多注解可以添加,比如:@requestParam,@requestBody,@pathvariable等.我的理解是这样的,首先我先申明,我并是没有看过源码,只是凭经验理解.@requestParam试用于get请求,参数在http的header中的URL上,具体放在?后面以key=value的形式存在.@requestBody适用于post请求中参数在

  • JavaScript fetch接口案例解析

    在 AJAX 时代,进行 API 等网络请求都是通过 XMLHttpRequest 或者封装后的框架进行网络请求. 现在产生的 fetch 框架简直就是为了提供更加强大.高效的网络请求而生,虽然在目前会有一点浏览器兼容的问题,但是当我们进行 Hybrid App 开发的时候,如我之前介绍的 Ionic 和 React Native,都可以使用 fetch 进行完美的网络请求. 如果看网上的fetch教程,会首先对比XMLHttpRequest和fetch的优劣,然后引出一堆看了很快会忘记的内容(

  • php模拟post提交请求调用接口示例解析

    php模拟post提交请求,调用接口 /** * 模拟post进行url请求 * @param string $url * @param string $param */ function request_post($url = '', $param = '') { if (empty($url) || empty($param)) { return false; } $postUrl = $url; $curlPost = $param; $ch = curl_init();//初始化curl

  • C++ 虚函数表图文解析

    一.前言 一直以来,对虚函数的理解仅仅是,在父类中定义虚函数,子类中可以重写该虚函数,并且父类指针可以指向子类对象,调用子类的虚函数(多态).在读研阶段经历的几个项目中,自己所写的类中并没有用到虚函数,对虚函数这个东西的强大之处并没有太多体会.最近,学了设计模式中的简单工厂模式,对多态有了具体的认识.于是,补了补多态.虚函数.虚函数表相关的知识,参考相关博客,加上自己的理解,整理了这篇博文. 二.含有虚函数类的内存模型 以下面的类为例(32位平台下): class Father { public

  • Sphinx生成python文档示例图文解析

    目录 前言 结 语 前言 Sphinx是一款支持多种编程语言的文档生成工具,在python项目开发过程中,可以帮助开发者根据需求生成相应的说明文档,拿今天我们就基于该开源工具进行一个入门的实践. 安装 pip3 install sphinx 环境准备 1. 安装python,pycharm编辑器的电脑 2. 创建相关的项目目录,如下图所示,我们可以创建document_generate_sphinx的项目文件夹,在下面分别创建doc和src文件夹,前者用来存放sphinx工具生成的相关文档和配置

  • Android Activity的生命周期与加载模式超详细图文解析

    目录 Activity的生命周期 Activity的加载模式 Activity的生命周期 Activity是安卓应用的重要组成单元之一,其对于安卓的作用类似于Servlet对于Web应用的作用. 整个Activity生命周期的图解如下 具体的生命周期可以总结成如下几个步骤 onCreate():Activity启动后第一个被调用的函数,常用来进行Activity的初始化,如创建View,绑定数据和恢复数据. onStart():当Activity显示在屏幕上时,函数被调用. onRestart(

  • 微信小程序如何调用json数据接口并解析

    开始写js,用request请求接口url,当请求成功的时候,在控制台打印一下返回的res.data数据,在控制台可以看到打印了接口数据了,在请求接口成功之后,用setData接收数据,并且需在data中声明一个接收数据的变量. Page({ data: { list: [] }, onLoad: function (options) { wx.request({ url: 'https://c.y.qq.com/v8/fcg-bin/fcg_v8_toplist_cp.fcg?g_tk=538

随机推荐