(第三章) HDMI视频数据处理

3.1 视频数据编码算法
在视频数据周期,编码器编码分为两个阶段,第一个阶段产生9位编码字,第二阶段产生第十位编码。
在第一阶段中,由输入的8位原始数据加上第9位标志位构成,标志位用于指定采取哪种运算方式。“1”表示异或方式(XOR),“0”表示异或非方式(XNOR)。对于原始的8位输入数据,第0位保持不变,即输出与输入一样,其余7位依次和前一位进行XOR或XNOR运算作为输出值。采用哪种运算原则上要求编码值得转换最小。
假如原始8位数据为:0b10110110,而第9位为1,即采用XOR方式编码,此时第0位保持不变为0,第1位与第0位XOR运算输出为1,同理第2位与第一位的输出值XOR运算为0,以此类推,得到8位输出值为10010010,最后确定第一阶段前9位数据为0b110010010。同理,假如第9位数据为0,即采用XNOR方式编码,得到的输出结果是:0b000111000。
编码器的第二阶段发生在发射流上,通过选择是否翻转第一阶段产生的9位编码字中的8个数据位的值,来作一个近似的直流平衡。编码字被加上了一个第10位,用来显示编码是否被翻转。根据跟踪发射流中的“1”和“0”的连续不同,以及在当前的编码字里面“1”和“0”的数量,编码器决定什么时候翻转下一个字符。如果发射的“1”太多并且输入包含的“1”比“0”多,则编码被翻转。

                      表3.1 编码器变量

在这里插入图片描述
如下是编码器编码过程的算法流程图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.2 视频数据解码算法
相对于编码算法而言,视频解码算法的过程比较简单。编码器只需要判断数据位D[9]和D[8]并作出相应的解码算法。按照编码的过程,解码算法其实是编码算法的逆过程。同样的输入数据流经过编码和解码过程输出的一定和输入的一样。
还是拿3.1节的编码得到的数据作为例子,假如经过第二阶段确定第10位数据为“0”则输入数据0b10110110经过编码后得到的10位数据为0b0110010010,解码的过程先进行第二阶段,此时D[9]=0,则D[0:7]不需要反转,继续判断D[8]=1,则采取异或进行解码,D[7]=D[7] XOR D[6],D[6]=D[6] XOR D[5]…D[1]=D[1] XOR D[0],D[0]=D[0],得到解码后的数据为0b10110110,解码成功。
在这里插入图片描述

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值