接上篇文章control symbols插入规则
协议里面关于对这部分还是讲的很清楚,但如果真的要实现,也没那么容易,因为支持得格式太多了。这里还是要简单介绍一下,不然总感觉漏了一部分。

视频数据流传输格式

如下图所示,不同的lane数量和像素的传输有一定的关系,如:使用4条lane,4N像素职能在lane0传输,即使在10ppc时,也不能把剩余的bit放在lane1传输,这个规定实际上简化了Tx和Rx的实现。

协议中规定BS后面必须跟着VBID+MVID+MAUD,VB-ID的定义如下图所示:


根据该定义可知,VB-ID可能随时在变化,最少vertical blanking区域和vertical display区域是不一样的,这里实现直接用组合逻辑就行:

always@(*)beginvbid[0]=逻辑;vbid[1]=逻辑;。。。。vbid[7]=reserved;
end

还有一个重要规则是,无论使用几条lane,BS+VB-ID+Mvid+Maud都要发送4遍。这个规则应该就是增强鲁棒性,大家看视频的时候应该能体会到,人感知音频比视频敏感,所以后面协议介绍音频数据传输是有校验的,视频数据是没有校验的。同理,这些控制位要是出错了,那RX就别想解对数据。协议后面还讲到lane数据之间要有skew,也是为了增强鲁棒性,防止高频脉冲把同一时刻的所有数据都影响了。
另外这个还涉及到一个功能的实现-------在无视频传输的情况下,每条lane上,每8192个symbols要插入一个BS(上篇文章讲过),也就是每8188个symbols插入一个“BS+VB-ID+Mvid+Maud”

8bpc RGB/YCbCr 4:4:4 (24 bits per pixel)

相信大家都喜欢这种规则的排序

可是现实如果都是这么简单,DP协议的逼格何在!!!

10bpc RGB/YCbCr 4:4:4 (30 bits per pixel)

For YCbCr 4:4:4, replace R with Cr, G with Y, and B with Cb

我所接触项目的色深也就这两种,也是现在大部分视频的色深吧。
这里还有一个实现技巧:
就是无论色深是多少,先把有效像素截位,然后按照要求顺序拼在一起送你FIFO,这要读的时候按照8bit截取就好了。
!!!最重要的提示
协议中规定,link_clk是链路速率的10分之一,也就是说当链路速率是5.4Gbps时,link_clk就是540MHz。但是DP1.4a中,当链路速率为8.1Gbps时,link_clk时810MHz,这个即使在14nm工艺下,芯片的时序也是难以承受的。所以可以在一个时钟周期产生4个symbols,这样link_clk就时链路速率的40分之以一,即使链路速率到了20Gbps,500MHz对于芯片时序还是完全可以接受的。

8bpc YCbCr 4:2:2 (16 bits per pixel)

10bpc YCbCr 4:2:2 (20 bits per pixel)

YCbCr444和YCbCr422区别请参考YCbCr444和YCbCr422区别

8bpc YCbCr 4:2:0 (12 bits per pixel)

YCbCr420这个比较有意思,一般情况下DP的视频数据接口是48bit的,对于420来说有些浪费,所以在实现的时候,可能Tcon的数据是Cb+Y0+Y1,这个时候像素时钟是减半的。

FS/FE的插入

diFS与FE时为了像素输入速率与发送速率的平衡,像素的打包速率只能小于等于发送速率,如果时小于,那么肯定要插入FS/FE。
这里面讲了TU中active symbol的计算协议简介

Inter-lane Skewing

inter-lane skewing就是在最终输出时,每条lane要有两个时钟的skew,其目的就是防止高频噪声的干扰。

DP/eDP协议学习--视频传输格式相关推荐

  1. DP/eDP协议学习--属性包(MSA)和SDP的插入

    接上篇视频传输格式 划个水,这部分内容大多是这个截图比较多, 属性包和SDP的需要使用SS/SE进行封装. 属性数据(MSA)包 属性数据如下表所示,MSA只能在垂直消隐区发送,并且一帧只能发送一次. ...

  2. DP/eDP协议学习--协议简介

    最近一段时间由于项目接触到该协议,该协议不像HDMI,USB资料那么多,虽然应用还是很广泛的,但是生态不是很好.自己看了一段时间的协议,想着记录下来大家一起讨论学习. 1综述 eDP(Embedded ...

  3. CoAP协议学习笔记——CoAP格式详解

    CoAP是受限制的应用协议(Constrained Application Protocol)的代名词.在当前由PC机组成的世界,信息交换是通过TCP和应用层协议HTTP实现的.但是对于小型设备而言, ...

  4. Linux音视频学习--常见的音视频传输协议及基本概念介绍

    一.引言 二.流媒体格式与介绍 ------> 1.相关格式 ------------> 1.1.视频流编码格式 ------------> 1.2.音频流编码格式 ------&g ...

  5. DisplayPort1.4协议学习(一)DP协议概览

    DisplayPort1.4协议学习(一)DP协议概览 Note:本文为DP1.4协议学习系列的第一篇,本篇首先从DP整体结构上简要说明DP协议的传输方式 有关传输速率对比的问题,请STFW(Sear ...

  6. 音视频传输:RTP协议详解和H.264打包方案

    问题背景: 前面讲解了PS.TS.FLV这三种媒体封装格式,现在新开一个系列讲解下传输协议,这里面会包含RTP.RTSP.HLS.RTMP等.当然最复杂的封装格式MP4在准备中,后面会把封装格式这个系 ...

  7. 简单了解音视频传输协议SDP、RTP、RTMP、SIP等

    SDP 会话描述协议(SDP)为会话通知.会话邀请和其它形式的多媒体会话初始化等目的提供了多媒体会话描述.参考RFC2327(Request For Comments(RFC),是一系列以编号排定的文 ...

  8. 智能终端会议系统(20)---网络视频传输协议--RTP/RTCP/RTSP/SIP/SDP 之间关系

    网络视频传输协议--RTP/RTCP/RTSP/SIP/SDP 之间关系 RTP/RTCP/RTSP/SIP/SDP 关系 1. RTP Real-time Transport Protocol,是用 ...

  9. 视频传输协议之MPEG-DASH

    1.简介 DASH的全称是Dynamic Adaptive Streaming over HTTP.DASH是一种新的视频传输协议,由微软.苹果.Adobe等公司共同主导完成,该标准于2012年制定完 ...

  10. 不同音视频传输协议的对比

    一.直播 直播场景通常使用的有hls协议.http-flv渐进式传输.RTP协议.DASH协议.RTMP协议,当然还有一些公司自己研发的私有(一般是UDP)协议.此外还有一些较少为人所知的HDS(ad ...

最新文章

  1. Jenkins Mac安装更改用户名
  2. [USACO]奶牛博览会(DP)
  3. 驰骋工作流引擎设计系列05 启动流程设计
  4. bond的主备模式_号外号外:Redhat7通过bond技术实现双网卡绑定
  5. 只需要30秒就可以做的30件事情:你会选择哪一件来改变世界?
  6. 全国计算机等级考试题库二级C操作题100套(第91套)
  7. flowable实现流程回退功能
  8. 寺庙的纪律性也让我颇有感触
  9. 建立一个Shape类,有Circle(圆形)和Rect(矩形)子类
  10. polybase配置 sql_安装SQL Server 2016时提示“Polybase要求安装Oracle JRE 7更新51或更高版本”错误的解决方式...
  11. wincc怎么做数据库_关于WINCC通过PLCSIM来进行仿真中要怎么设置?
  12. VMware15.5.2安装unlocker时下载工具一直失败
  13. 《数字图像处理》实验7
  14. ioccc_konno
  15. 基于SSM的毕业论文管理系统
  16. cesium.js官网教程之中文版本~~~~第一篇
  17. 学好mysql教材_MySQL基础学习
  18. 基于boostrap的登录注册界面制作(html+css)
  19. c语言洗牌发牌 无大小王 分四堆,C语言入门题
  20. 云南省二级c计算机考试试题,2015云南省计算机等级考试试题 二级C试题最新考试试题库(完整版)...

热门文章

  1. mysql三范式通俗_三范式(数据库三大范式通俗理解)
  2. 想用linux又想windows,Linux对Windows说:停止吵架,和平共处
  3. 在商业化这件事上,百度Apollo智能车联究竟做得怎么样了?
  4. latex中页眉怎么去掉_latex 去掉页眉
  5. Android开发-Service(服务)
  6. VS2013创建Windows服务
  7. 敌兵布阵 HDU - 1166
  8. 如何将webp格式转换成png?
  9. NAND Flash闪存坏块的相关知识
  10. 【Unity】打包WebGL项目遇到的问题及解决记录