‘壹’ 视频转码技术及分类
视频转码技术,顾名思义就是在通过某种手段改变现有视频数据的编码方式。视频转码技术使用的目的不同,其实现的手段也各不相同。大致上可以分为两类: 一、不同编码格式之间的视频数据转码不同编码格式之间的数据转码,指通过转码方法改变视频数据的编码格式。通常这种数据转码会改变视频数据的现有码流和分辨率。例如我们可以将基于 MPEG-2 格式的视频数据转换为 DV 、 MPEG-4 或其它编码格式,同时根据其转码目的,指定转码产生视频数据的码流和分辨率。我们可以将 MPEG-2 全 I 帧 50Mbps 的视频源数据转换为 25Mbps 码流的 DV 格式数据,用于笔记本移动编辑系统,同时产生一个 300*200 低分辨率的 MPEG-4 文件,使用 REAL 或者微软的 WMV 格式进行封装,通过互联网络传输至主管领导处用于审看。这种转码方式设计的算法较为复杂,其实质上是一个重新编码的过程,涉及的算法复杂度和系统开销,是由转码所需图像质量要求及转码前后两种编码方式的相关度所决定的。二、相同编码格式之间的视频数据转码相同编码格式的数据转码,指不改变压缩格式,只通过转码手段改变其码流或头文件信息。根据其使用目的,可分为改变码流和不改变码流两种。如我们可以将 MPEG-2 全 I 帧 50Mbps 码流的视频数据转码为 MPEG-2 IBBP 帧 8Mbps 码流的视频数据,直接用于播出服务器用于播出。或者我们将基于 SONY 视频服务器头文件封装的 MPEG-2 全 I 帧 50Mbps 码流的视频文件,改变其头文件和封装形式,使之可以在给予 MATROX 板卡的编辑系统上直接编辑使用。这种转码方式的复杂度要小于不同编码格式转码的复杂度,而且对视频工程上而言,更加具有可操作性。更多内容可在中电网上搜到
‘贰’ 视频转码的实现
当通过IP网络发送DVD光盘上的数据时(例如公司培训、视频点播或视频广播等应用),转码技术同样适用。对于这种情况,源视频格式是MPEG-2,而VC1很可能被用作目标格式。以下将介绍如何利用两片TI TMS320C6455 DSP来实现这种系统原型。
从技术上来看,需采用视频转码技术来解决格式转换、位速率减小和时间/空间分辨率缩减等诸多问题。相应地,针对不同情况开发出了不同的智能视频转码方案,其基本原则是尽可能地复用原始输入视频流中所包含的信息以降低复杂性。
例如,运动矢量(MV)映射、DCT(离散余弦变换)域转换和残差重估(resial re-estimation)等日前流行的视频转码技术可大幅降低计算复杂性。
此外,人们也期待出现简单且可以扩展的转码架构。由于不同的视频转码方案要求以不同的方式对算法和架构进行调整,并且不存在单个的标准化视频转码方案,具有可编程能力的DSP(如C6455 DSP)适用于这一领域。
下面我们将提出一个可满足各种转码方案的通用视频转码架构及原型。为适应各种不同的视频转码目标,我们选取了最简单的转码方案将被解码的视频流按照新的约束条件完全重新编码。
这个初始的视频转码方案未复用原始输入视频流中所包含的信息,却能够处理所有复杂的解码和重编码任务。不过,该视频转码架构和软件基础设施是可扩展的,可以支持智能转码方案(如MV映射、DCT域转换等),以提高通道密度并充分挖掘优化质量的潜能。由于采用了灵活的软硬件框架,这个架构可以实现许多传统的和新型的转码方案。
原型的实现
尽管MPEG-2/WMV9组合有望应用得非常普遍,但DSP的可编程能力使其可以方便地处理源视频/目标视频格式的几乎任何组合。
该系统的原始数据以MPEG-2格式的视频压缩文件储存在硬盘中,数据流通过Windows Media Player软件止于平板显示器。在这个展示装置中,视频信号采用NTSC标准分辨率并以30帧/s的速度进行转码。 运行在DSP1上的数据流接收器模块负责缓存MPEG-2数据流,并对MPEG-2解码器模块的输入数据进行管理。数据接收操作由TI公司的Network Development Kit(NDK)库(本质上是一种TCP/IP栈)控制。DSP2也有一个基于NDK的HTTP服务器,负责处理由Windows Media Player发出的流处理请求并把ASF数据包传送给WMP。然后,WMP将ASF数据包解码并在屏幕上显示视频信号。 该数据流的一个最有趣和最富挑战性的特性是两个DSP在sRIO接口上的交互。对于每个视频帧的传送,这一过程包括: 一旦DSP1发送完视频帧,便马上发送一个在sRIO协议规范中被称为DOORBELL(门铃)的数据包。DOORBELL数据包在DSP2上产生一个系统中断告知有帧到达,然后开始WMV9编码。在完成对帧的编码后,DSP2将一个DOORBELL数据包发送回DSP1,再次触发一个中断给DSP1中告知可继续发送下一帧。在实际的实现中,使用了一种PING-PONG缓冲方案来并行处理编码/解码和数据传送操作。接下来,该序列以循环方式运行直到演示停止。 GUI模块将控制和监视功能内置到系统中。sRIO链接和两个吉比特MAC(GMAC)链接的活动以实时方式显示出来。对于传送MPEG-2数据流的链接,平均数据速率为8Mbps,这对于标准分辨率下编码速率达30fps的情况十分普遍。对于传送ASF数据包的链接,平均位速率为4Mbps,这表明WMV9能够节省50%的带宽但仍可达到同样的视频质量。对于sRIO链接,平均位速率为124Mbps。