- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
视频转码技术及转码实现详解
下面来看一下这些转码工作是如何实现的。
一、传统面向流方式的视频转码
由于视频数据自身的特点,数据量的庞大和线性的存储格式,长期以来传统的视频编码转换都是面向数据流进行操作。其工作原理如一个制式转换器一样,输入端输入连续的 NTSC 制信号,同时在输出端输出实时的 PAL 制信号。
这种方式的优点是可以以实时或者接近实时的方式输出转码结果,转码算法固化在板卡芯片上,转码工作基本上是由硬件完成,稳定性好。但其缺点也是显而易见的,转码单元针对特定的源编码方式和目标编码方式,用户基本无法对码流的大小和附加信息进行控制,灵活性较差。而为了满足实时处理的要求,有时必须需要牺牲一些图像的质量。另外的缺点就是这种基于流方式的视频转码,输入和输出基本同步,不能以快于实时的速度进行编码转换。
随着计算机技术的日益进步,非线性存储手段日益完善,我们可以通过文件的方式存储视频数据。这样就为视频数据提供了新的,更加灵活高效的转码手段。
二、使用计算机及其相关设备面向文件方式进行视频转码
使用计算机设备改变单幅图像的编码方式已经是一个非常成熟的技术,但受到计算机运算能力和存储能力的限制,很长一段时间内,对于符合广播级要求的专业视频数据的编码转换处理一直没有什么好的解决方案。但随着计算机设备运算能力的增强和存储容量的日益扩大、其数据接口已经可以满足视频数据处理的需求,使用计算机及其相关设备处理视频数据已经成为现在的主流,同时也给视频转码提供了更好性价比的平台。我们可以使用计算机设备,利用软件手段,进行灵活高效的转码工作。
我们来看一看如何使用计算机系统进行转码工作。
这种利用计算机设备进行转码的工作方式具有非常大的灵活性,可以对以文件方式或以流方式存在的视频数据进行处理。其本质均是在计算机设备的存储器内开设足够大数据的缓存地带,将所需处理的视频数据文件或流分成许多大小适合的片段,放入其中。由软件提供转码算法,并控制计算机系统进行转码工作。图 -7 中所示的数据接口的概念也非常的灵活,它可以使计算机设备的外部接口,如千兆以太、 Fiber Channel 通道,也可以是其本身的内置存储通道接口。我们来看一下他们是如何工作的。
计算机设备先将需转换编码方式的视频数据文件放入外部存储或本地存储设备中。然后将该视频文件拆分成适合计算机设备处理的数据片段,放入高速缓存中,由软件提供转码算法,利用计算机设备的处理能力对数据片段进行编码转换。转换完成后将数据片段送入指定区域存储,同时高速缓存区获取新的数据片段。循环这种方式直到所有的拆分数据片段均得到了转码处理,合并转码完成的视频数据文件片段,输出我们所需要得到的视频数据。
这种拆分数据的方式同样也适合于以流方式存在的视频数据,比如我们可以使用数据接口直接与数字视频数据流连接,不经过任何的编解码将其存储到计算机转码设备的指定缓存区域,变线性的数据流存在方式为非线性的数据存储方式,然后可以使用图— 8 所示的数据拆分方式进行转码处理,经合并后,可以选择文件方式或依然保持流方式的数据输出。
采用这种方式的转码工作,具有很强的灵活性,数字信号接口并不需要识别接收到的数据流为何种格式编码、封装如何。只需将数据如实记录到缓存区,由转码软件决定采用何种转码手段,针对何种数据流的编码格式和封装方法进行编码转换工作。如我们在接口硬件标准相同的情况下,可以对 DV 流、 TS 流、 FTP 文件流等多种方式的数据流输入进行编码转换,并不需要更换硬件接口和编解码设备,只需更改转码软件的转码处理手段及控制手段即可
我们看一下转码软件究竟是如何进行工作的。
不同的转码软件有其各自特点,但不外乎有以下几个功能模块组成:数据接口模块、硬件接口模块、存储管理模块、转码算法模块、数据处理模块、控制管理模块和用户界面模块。
每个模块各自负责软件工作的一个或几个方面:数据接口模块负责处理数据的输入和输出,硬件接口模块负责与计算机硬件驱动程序通信,存储管理模块负责内村等存储空间的分配,转码算法模块提供转码处理工作的算法手段,数据处理模块进行转码的具体数据处理,控制管理模块进行整个转码工作的控制和信息处理,用户界面模块提供用户与转码软件的交互,提供用户对转码的编码方式、码流及其它的一些软件提供的选项进行控制。
转码算法模块可以固化到转码软件中,也可以以插件的方式存在。当转码软件处理不同的编码转换任务时,根据需要使用不同的转码算法插件,可以在不改变其它功能模块配置的情况下,灵活的扩展软件功能。
使用计算机设备配合转码软件,进行专业视频编码转换工作,具有以下一些优点:
• 硬件设施相对简单
使用计算机设备及软件进行转码工作,无需使用专用的编解码芯片或板卡。对数据的处理完全由软件来控制完成。
• 转码范围广、灵活性好
使用软件转码,可以由用户根据需求对转码设置进行控制。包括目标码流的的大小、级别、压缩方式、封装方式等方面均可以由用户来指定,根据不同的需求直接使用相应的转码算法,转码算法可以作为插件存在于软件中,便于随时更新或升级,而无需对整个系统进行改动。
三、转码的复杂度和资源消耗随需求不同发生变化。运用软件转码系统可以对不同的转码要求分别对待。有时候我们仅仅是想改变视频文件的封装方式,而不改变其压缩编码的方式,这种方式就非常适合。例如我们有这样的需求,需将 SONY 的 MAV 系列服务器中的 MPEG-2 I 帧 50M 码流 编码 的视频文件转码为 Ma trox DigiSuite DTV 板卡可支持的视频文件形式,用于节目制作网络编辑。由于 DTV 板卡支持 MPEG-2 I 帧 50M 码流的视频数据,我们在进行转码工作的时候可以仅仅只改变视频文件的封装形式,而不改变其中涉及视频数据内容的压缩编码。这样可以大大降级转码工作的复杂度和系统消耗,同时可以保证视频数据的质量不因重新编解码而受到损伤。
4 转码系统在实际工程中的应用
在电视技术工程中,已经有不少的应用转码系统的实际例子。我们下面就通过两个工程实例来进一步的分析基于计算机设备的转码系统的工作原理和应用前景。
一、转码系统在移动非线性编辑系统远程传输中的应用
随着笔记本电脑性能的日益增强,商家已经敏锐的看到使用基于笔记本电脑的移动非线性编辑系统在远程编辑传输上的应用前景。基于软件的编辑手段使编辑系统的价格大大的降低,设备的便携性使现场编辑成为可能。但这些并不是移动非编优势的全部,还有非常重要的一个吸引用户的特点:使用移动非线性编辑系统,配合相应的网络接入设备,就可以利用现有的公用通讯网络进行视频数据的传输。使利用廉价的公共互联网络、电信网络或者移动通讯网络,替代专用昂贵的、点对点的通讯线路进行视频数据传输成为可能。
移动编辑系统可以使用遍布城镇的廉价的宽带、 ADSL 线路、 GPRS 无线通讯所构成的公用互联通讯网络取代微波、光纤通道、卫星等专用昂贵的数据链接通路进行视频数据的传输。
但使用公用网络传输视频素材,不可避免的要遇到公共网络带宽的瓶颈问题,比如给予以太局域网的宽带互联网络接入,其最高传输速率一般不会超过 4Mbps ,而根据路由的不同及干线带宽的限制,实际传输的速率会更低。对于 50M 码流的 MPEG2 全 I 帧编码或 25M 码流的 DV 编码而言,公用网络的数据传输率是难以忍受的。我们以 DV 25M 码流的编码方式为例,在 Windows 操作系统下,一分钟的 DV 文件约为 220MB 左右,在互联网络上以 200KBps 的速度传输,其需要 4100 秒左右,即 68 分钟左右。即视频数据时长和传输所需时长之比是 1 : 68 。这种效率的传输方式虽然在理论上是可行的,但在实际应用中,由于不同网络状况,速度各有差别,而且在传输中任何的一次中断都有可能使整个视频文件的不可使用,从而导致必须从头重新传输。所以这种工作方式在实际工作中是不具有可操作性的。
那么如何使用公用互联通讯网络,高效,便捷的将节目视频数据传回编辑地点或者直接用于播出呢?可以利用基于软件转码的视频数据传输系统解决这个问题。
来源:21IC电子网