【《视频数据在HDMI接口中的编解码分析案例》3700字】_第1页
【《视频数据在HDMI接口中的编解码分析案例》3700字】_第2页
【《视频数据在HDMI接口中的编解码分析案例》3700字】_第3页
【《视频数据在HDMI接口中的编解码分析案例》3700字】_第4页
【《视频数据在HDMI接口中的编解码分析案例》3700字】_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

视频数据在HDMI接口中的编解码分析案例目录TOC\o"1-3"\h\u21639视频数据在HDMI接口中的编解码分析案例 1276811.1HDMI接口编解码概览 1159381.1.1链接架构 1256641.1.2运行模式简述 2101331.2HDMI视频编码 4241481.2.1控制周期编码 455801.2.2视频数据编码 56351.2.3视频数据编码电路 9206391.2.4功能仿真 103311.3HDMI视频解码 10222521.3.1视频数据解码 10133911.3.2视频数据解码电路 124531.3.3功能仿真 12100341.4设计结果分析 131.1HDMI接口编解码概览1.1.1链接架构HDMI的连接结构如图1.1.1-1所示,输入的数据流进入源端,单链路的HDMI发送端包含三个同样的编码器,2位控制信号或8位视频数据通过编码器后,转为串行数据,TMDS时钟通道的时钟信号频率是字符传递的速率。数据也会随着运行周期的改变发进行类型变化,有视频像素数据、分组数据包和控制信号。输入前数据类型不一致,但是经历各自对应的编码操作后,都是以10位的形式进行一个传递。。图1.1.1-1HDMI编码器/解码器概览1.1.2运行模式简述链路在工作运行的时候,有三个模式。这三个运行模式中,有效视频信息在视频数据周期的时间段里进行传送,TMDS数据通道中是有效视频像素数据;传输在音频数据方面,是在数据岛周期时间,分组数据包囊括了音频数据和其辅助数据,以数据包的形式进行传输;在非数据传输的时间段,运行在控制周期。控制周期是作为一个过渡期在其他两个任意类型的运行模式之间,如下图1.1.2-1所示,是上述的周期类型在实际中的配置。图1.1.2示例:720x480p视频帧中的TMDS周期视频数据周期内传输的是有效视频数据,在传输有效视频的时候,使用转换最小化编码对8bit的R/G/B数据进行编码或者是24位的像素进行编码,使其传输过程中电平跳变次数尽量少。数据岛周期时间以与最小化编码方法类似的转换方式应用,这种方式叫做错误减少编码(TERC4),这个编码方式每信道传输4位数据,或者一个时钟周期的时间里传输的位数总和为12位。在控制周期的时间里,每个传输通道会应用到与上述两个时期不同的方式,称之为转换最大化编码,这种编码的方式实际上是对每个时钟执行单个通道2位或全部通道总和达6位的编码,它们分别是、、CTL0、CTL1、CTL2和CTL3。4个CTLX位,它们能起到的作用是一个指示作用,在导言中,这四个位可以表示在这个控制周期即将结束的时刻,后面紧跟着的周期类型。前文中所提及的三个运行模式,除去控制周期,所以,CTLX位所表明的内容:CTL0、CTL1、CTL2、CTL3为“1000”,控制周期后是视频数据周期;为“1010”,后跟数据岛周期。在进入视频数据段和数据岛周期之前,都会配置一个前导保护带;数据岛周期还配置有一个尾保护带。这么做的目的,在切换控制周期和数据周期的时候,可以过渡平稳。表1.1.2-1编码类型和传输数据周期数据传输编码类型视频数据周期视频像素视频数据编码(8bitto10bit)保护带固定10位模式数据岛周期数据包--音频采样--信息帧HSYNC,VSYNC编码(4bitto10bit)保护带固定10位模式控制周期控制信号--导言--HSYNC,VSYNC控制周期编码(2bitto10bit)1.2HDMI视频编码1.2.1控制周期编码在控制周期时间内,每个数据传输通道都包含两个控制数据信号,里面的控制信号如表1.2.1-1所示。表1.2.1-1TMDS通道D0D10HSYNCVSYNC1CTL0CTL12CTL2CTL3三个TMDS通道内的两个控制信号分别应按照如下形式进行编码:case(D1,D0):0,0:q_out[9:0]=0b1101010100;0,1:q_out[9:0]=0b0010101011;1,0:q_out[9:0]=0b0101010100;1,1:q_out[9:0]=0b1010101011;endcase;1.2.2视频数据编码这部分主要内容是对于视频信号传送过程中需要采取的编码控制算法特点进行了详细描述。给出了一个示例,以详细说明编码器的类型。其他的类型可能存在并且可能实现,但是在给定相同类型的字符编码序列的情况下,必须将它们的转换输出必须与由上述编码器转换后的输出(10位)字符编码序列一致。在处于视频数据周期的时间内,执行了编码操作后,会将输入的8位的像素数据转换成一个DC-Balance的10位字符串。在数据有效阶段,编码操作的流程,有两个主要的环节组成:第一个环节根据输入进来的那个8位的像素数据,添加表示一个逻辑运算的标识的第九位,完成一个转换次数最少的9位的字符串;第二个环节紧密承接上一个环节,再添加一个第十位代表翻转的标识符,即已经运算完成的TMDS字符串并进行输出的运算结果,管理传输的字符流的整体的直流平衡将由它来管理。九位数的代码的话,来自编码器工作流程顺序的第一阶段的结果是通过8位的经过逻辑判断运算后得到的。在得到转换完成后的8位的结果,这之后一个拥有表示标识功能的第九个特殊位会被插入到整个信息当中。是用来说明有两种描述方法转换,前面的转换方法是具体选择了这两个方法中的哪一个。无论是哪一个转换的方法,在执行整个操作的流程完成后,输出信息的LSB同输入数据的LSB是完全相吻合的。当初始值被确定,输出信息的其余7位由前面推导的每个位的顺序特定的或特定的()函数派生。应当做出一个恰当的选择,在上述的两个逻辑运算方法中依据实际的情况和需要,为了实现在编码值中可能包含尽可能少的变换。所以,这个第九位的作用可用于表示具体是哪一个函数或函数被选择用于进行对应的编码转换来输出这个9位的数据。针对于这个9位数的字符串,它的解码操作也只是把或逻辑计算在该代码相邻位上进行反演,而LSB则不加更改地从解码器输入传递到解码器输出。当我们在获得一个9位数的阶段性数据后,将会进入到编码流程下一个环节。在第二个环节,前面生成的那一个9位的过渡的数据,会将这个9位的字符串里面的包含视频数据信息的8位按照一定的规律进行翻转。进行有条件的翻转的目的是,在传输过程中减少数据转换的次数,使传输的数据流达到一个大体上的直流平衡。之后,第十位的加入,用于表示什么时候进行过翻转。传输的数据流中“0”还有“1”在过程中存在的差异会被编码器获得,再结合输入的那个数据中的“0”和“1”的具体的数值差异,计算出转换到下一个字符的时刻。一种情况是,整个传输流中通过的“1”的数量较大,且输入的字符又包含比“0”数量多的“1”,那么整个字符会被翻转后进行传输。根据上述的编码流程的描述,解码器的解码流程也可以通过上面编码完成后的差分传输信号的第十位的信息,逆向推导,完成解码的操作。TMDS编码算法的流程由图1.2.2-1所示,并且图内的参数都在表1.2.2-1有定义。根据输入,可以生成一个包含460个数据的编码查找的表,输入和编码后数据的对应关系可以在这中体现。在视频数据周期,输出其他类型10位数据是不被允许的,在进入该时期前,数据流视差(cnt)要归零。表1.2.2-1编码算法的定义D编码器输入数据集;D是8位像素数据cnt一个寄存器,是被设计来记录数据流的差异。其中如果数据流中的“1”超过了“0”,会以正值的方式将数量计入该寄存器,反之则会用负值。Cnt(t-1)这个表达了上一个输入数据集的差值,同理cnt(t)就应该反映出当前输入数据集的差值。q_m中间值q_out这10位是编码的输出值此运算符返回参数“x”中的“1”的个数此运算符返回参数“x”中的“0”的个数图1.2.2-1TMDS视频数据编码算法流程图由TMDS数据通道传送视频数据的时候,8位的视频数据会经过编码,输出一个近似直流平衡的经过编码的字符,传输的数据流会做到尽量少的跳变次数。对于视频数据的编码处理,我们可以将整个操作过程大致分为两个环节:一是从8位输入生成一个跳变次数尽量的达到最小的9位字符,二是将上个环节产生9位的字符再加入一个第十位表示是否将其中的8位数据信息进行翻转,来实现近似的直流平衡。所以,直流平衡是这个8b/10b编码的特性之一,可以提高系统抗电磁干扰的性能。1.2.3视频数据编码电路图1.2.3-1视频编码模块的原理图输入的视频数据分别进入R/G/B三个不同的颜色通道。从图中也可以看出,每个颜色通道的处理过程都是一样的,都是先经过dvi_encoder进行编码,然后经过serializer_10_to_1模块进行并串转换。这里提及的OBUFDS是差分输出缓冲器,可以实现信号的差分输出。支持TMDS电平标准,用于将输出的编码后的串行数据转换为差分信号输出。图1.2.3-2OBUFDS原语图1.2.4功能仿真图1.2.4-1编码模块电路仿真在使用vivado工具完成设计文件之后,要对其进行仿真。Vivado的集成度很高,可以在其中直接进行设计文件的仿真。最后仿真的得到的波形如上图1.2.4-1所示,解码将24位的数据“6a6a6a”编码为三个通道中的10位数据十六进制“273”,即“1010110011”,结果是符合设计需求的。1.3HDMI视频解码1.3.1视频数据解码TMDS解码算法流程由图1.3.1-1所示。给定输入数据流经历编码传输到接收端解码时,需要生成与上个编码环节算法相对应的输出数据流。图1.3.1-1解码算法流程图接收端将从发送端进来的10bit串行差分数据转化为串行单端数据,然后把串行的单端数据直接转化成10bit的一个并行数据。然后由解码器将并行数据进行10bit到8bit转换。解码器获得传入的10位数据后,先要区分是控制信号还是视频信号。控制信号的解码与上一节中编码相对应。按照以下的方法完成解码:case(d[9:0]):10’b1101010100:{D1,D0}=2’b00;10’b0010101011:{D1,D0}=2’b01;10’b0101010100:{D1,D0}=2’b10;10’b1010101011:{D1,D0}=2’b11;endcase;视频数据则是根据上述的流程来完成10bit到8bit解码,并产生行信号、场信号和数据有效使能。1.3.2视频数据解码电路图1.3.2-1解码模块原理图HDMI数据解码模块将输入的串行差分信号转化为并行数据,再通过字对齐校准模块(phasealign)确定延迟值,然后通过数据同步模块(channelbond)同步三组颜色数据,最后经过8b/10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论