转码技术在视频领域内的应用分析
这正是本文想要和大家探讨的,如何灵活的利用转码方式,在基于不同编码方式的设备间共享视频数据,提高工作效率,同时讨论在工程方面的可能会遇到的问题及解决方案。
视频转码技术
视频转码技术,顾名思义就是在通过某种手段改变现有视频数据的编码方式。视频转码技术使用的目的不同,其实现的手段也各不相同。大致上可以分为两类:
一、不同编码格式之间的视频数据转码
不同编码格式之间的数据转码,指通过转码方法改变视频数据的编码格式。通常这种数据转码会改变视频数据的现有码流和分辨率。
例如我们可以将基于 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 板卡的编辑系统上直接编辑使用。
这种转码方式的复杂度要小于不同编码格式转码的复杂度,而且对视频工程上而言,更加具有可操作性。
视频数据转码的实现
视频数据不同编码之间的相互转化有很多算法可以实现,许多运动图像专家对此也作了深入的研究,针对不同的编码方式提出了相当多可行的方案。这些方案共同的特点就是充分利用所需相互转换编码之间的共同特征,尽量减少编解码所带来的图像质量损失,同时达到时间和资源消耗的平衡。
如我们将一个 MPEG-2 的视频数据转换成 MPEG-4 的视频数据,当然可以采用的方法是先将 MPEG-2 的视频解压缩成单 帧的图像序列,再将其重新压缩编码成为 MPEG-4 的视频数据。如图 -4 所示:
但这种转码方式的运算复杂度和图— 1 所示的使用 SDI 数据流作为中介的运算复杂度并没有什么区别。我们可以通过一些方法提高转码的效率,降低运算复杂度,比如 MPEG-2 和 MPEG-4 在其编码算法上有很多相通的地方,在 DCT 变换, MC 运动补偿, MV 运动补偿等方面有许多可以公用的地方,我们并不需要将其完全解码成独立的图像序列,可利用不同编码方式间的相关性进行转码工作 。
如图 -5 所示, MPEG-2 视频数据中所有的头信息被解码后都直接送到 MPEG -4 编码器中进行编码,其中少数头信息需要调整,以适应新的编码格式。而 DCT 系数和 MV 信息被重用,省去了运动估计和 DCT 的系统消耗。同时 MPEG -4 做运动补偿的时候,也可以直接利用 MPEG -2 解码器解码得出的运动矢量的信息。
《转码技术在视频领域内的应用分析(第2页)》