微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > 黄金帧编解码器实现高质量实时网络视频

黄金帧编解码器实现高质量实时网络视频

时间:11-23 来源:中电网 点击:
在某个层面上,On2 科技有限公司 (On2 Technologies) 的 TrueMotion VP7 技术实现这一目标的方式与其它视频编解码器几乎相同。它同样采用运动补偿来消除时间冗余,采用基于频率的模块变换来消除空间冗余,采用一个环路滤波器来处理模块变换的方块效应,并采用熵编码来消除统计相关性。不过,On2 的VP7技术却包含了多项使其与众不同、脱颖而出的创新性技术,而且这些技术目前正在申请专利。

黄金帧 (Golden Frame)

对 On2 TrueMotion 编解码器的新用户而言,最令人惊喜的功能之一是黄金帧。就象其它压缩器一样,TrueMotion 也保留一个最新解压的帧作为当前帧的预测器。目前的各种编解码器中,有些保留最后几个帧;有些则采用一个无序解压的未来帧,然后用作预测器 (如在 B 帧之前传输 P 帧)。TrueMotion 编解码器和 VP7 则特别改为保留过去任意一个解压数据的帧。这种编解码器能够更新某个帧在未来任一点的任何部分。我们称这种二级参考帧为黄金帧,并已发掘出它的众多用途。



图1:On2 VP7的帧类型

注:这些帧类型仅供参考。利用 VP7 入门开发工具包,,用户可以准确控制帧何时使用或更新黄金帧或最后的帧参考缓冲器。

前景影响大

我们发现黄金帧的第一个用途是前景和背景视频的分割。例如,大多数视频会议应用中,总是有一个人在静态的背景前面讲话。这个发言人遮蔽了背景,但随着他在座位上的移动,会显露出局部背景。TrueMotion编解码器利用非移动的高质模块来更新黄金帧,即使前景快速移动,也可以保持高质量的背景图像。

丢包恢复

我们还可以在丢包情况下采用黄金帧。在一般的视频会议系统中,接收器在发现丢包时,会用信号通知发送者。发送者一接收到这个信号,就会对一个独立于前面各帧的帧 (即‘关键帧’) 进行编码来恢复。该帧由于必须从头开始编码,故往往非常大,这会导致视频的播放断断续续。另一种情况是,这是一个低质量的帧,看起来比周边的帧要模糊,而且产生视觉干扰脉冲。

On2 的VP7视频会议系统提供一个更好的选择方案:发送者可以发送一个只涉及黄金帧的帧。我们称之为恢复帧。由于我们不必对帧从头开始编码,因此可以获得一个质量更好而且更小的帧。

VP7恢复帧
帧0是关键帧
帧1到6都只根据前一个帧来构建预测器
帧7只以帧0为参考
即使帧1到6中的任一个丢失了,VP7仍然能够对帧7进行解码,因为它只以帧0为参考



图2:利用恢复帧来处理丢包问题

视频会议

多方视频会议也可以采用黄金帧。在多方会议系统中,各个用户的连接带宽都不同。一般的解决方案是把带宽减小到一个假定的最小公分母:所有用户都以最慢的连接都能接收的速度来收取数据。

基于On2 VP7技术的系统则采用了一种新颖的替代方案。通过使用黄金帧、普通帧和可抛弃帧,VP7 可获得四个级别的有限时间可调性。这意味着我们可以根据每一方的需要生成不同的比特流 (参见图3)。这样,会议中的高清方就不会受到较低速连接的影响。最重要的是,这种方案无需额外的CPU成本。



图3:采样时间可调性模式和On2 VP7

每一个比特流都需要较低的帧速率来解码。因此,带宽最低的用户可以接收 5 fps 的比特流;而带宽最大的用户可接收全 30fps。

黄金质量

On2 VP7技术还利用黄金帧来提高质量。在极缓慢地移动的镜头或变焦中,一个周期性的高质量黄金帧会恢复在重复应用环路滤波器或亚像素运动 (sub-pixel motion) 时所丢失的细节,从而保持图像的质量,而结果可以相当明显 (见图4)。在另一些情况下,黄金帧还可作为一个良好的预测器,预测屏幕上的某些图像何时返回到先前的位置。

竖:平均峰值信噪比 (分贝) 横:数据率 (每秒千比特)


图4:采用与不采用黄金帧的移动及日历的峰值信噪比 (PSNR) 之对比

实时质量

在最简单的模式下,On2 VP7编码器使用的周期数只比解码器多 30%,但仍然保持出色的质量。当有大量可用周期时,实时 VP7 更能够产生媲美最佳离线编码的质量。而且,这是自动实现的:VP7 乘以每一个编码帧,并自动调节其复杂性,以确保尽可能利用可用周期来获得最佳质量。

能够达到这样,是因为 TrueMotion VP7 采用了一套自适应算法 (adaptive algorithms) 和探试性 (heuristics) 方法。这些算法决定哪些运动向量和模式最可能产生最佳结果。工作良好的模式和运动向量会被探试得更频繁,而无法产生好结果的模式则被完全关闭、或被禁止到这个在所有模式下的误差超过了一个自适应阈值。这些阈值和两次调节间的周期也都是自适应的。当VP7的压缩速度足够快时,阈值和探试周期增加。当VP7工作顺利时,对模式的探试便更频繁。

在VP7拥有多余时间的极端情况下,它会回复到最低和最佳模式,甚至回到允许完全搜索和速率失真优化的某一点。在相反的极端情况下,VP7 可能在整个帧上只进行5或6次运动搜索,而每个宏模块 (macroblock) 只检查2或3个不同模式,就会产生结果。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top