黄金帧编解码器实现高质量实时网络视频
黄金帧 (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)。在另一些情况下,黄金帧还可作为一个良好的预测器,预测屏幕上的某些图像何时返回到先前的位置。
评论