转码技术在视频领域内的应用分析
我们可以看出,使用不同的转码算法在不同需求的编码转换时,可以得到不同的时间及系统消耗复杂度。这些不同复杂度算法的是否采用取决于用户对工作任务的要求。比如工作任务需要实时获得转码结果,要求高可靠性,并且对转码前后的数据的编码方式及码流指定不变。那么我们可以采用高效的转码算法,必要时牺牲一些图像质量,将算法固化在硬件芯片板卡上,从而满足任务需求。如果工作任务对转码同步性要求并不高,不要求实时输出,但对图像质量有很高的要求,我们可以采用一些效率较低,但图像质量损失较小的转码算法。可以将算法固定在硬件芯片中,也可以使用通用的计算机运算系统、存储系统和数据交换系统,使用软件算法进行转码工作,这些方式的具体应用方式在本文的后半部分会详细介绍。
下面来看一下这些转码工作是如何实现的。
一、传统面向流方式的视频转码
由于视频数据自身的特点,数据量的庞大和线性的存储格式,长期以来传统的视频编码转换都是面向数据流进行操作。其工作原理如一个制式转换器一样,输入端输入连续的 NTSC 制信号,同时在输出端输出实时的 PAL 制信号。如图— 6 所示。
这种方式的优点是可以以实时或者接近实时的方式输出转码结果,转码算法固化在板卡芯片上,转码工作基本上是由硬件完成,稳定性好。但其缺点也是显而易见的,转码单元针对特定的源编码方式和目标编码方式,用户基本无法对码流的大小和附加信息进行控制,灵活性较差。而为了满足实时处理的要求,有时必须需要牺牲一些图像的质量。另外的缺点就是这种基于流方式的视频转码,输入和输出基本同步,不能以快于实时的速度进行编码转换。
随着计算机技术的日益进步,非线性存储手段日益完善,我们可以通过文件的方式存储视频数据。这样就为视频数据提供了新的,更加灵活高效的转码手段。
二、使用计算机及其相关设备面向文件方式进行视频转码
使用计算机设备改变单幅图像的编码方式已经是一个非常成熟的技术,但受到计算机运算能力和存储能力的限制,很长一段时间内,对于符合广播级要求的专业视频数据的编码转换处理一直没有什么好的解决方案。但随着计算机设备运算能力的增强和存储容量的日益扩大、其数据接口已经可以满足视频数据处理的需求,使用计算机及其相关设备处理视频数据已经成为现在的主流,同时也给视频转码提供了更好性价比的平台。我们可以使用计算机设备,利用软件手段,进行灵活高效的转码工作。
我们来看一看如何使用计算机系统进行转码工作。
如图— 7 所示,这种利用计算机设备进行转码的工作方式具有非常大的灵活性,可以对以文件方式或以流方式存在的视频数据进行处理。其本质均是在计算机设备的存储器内开设足够大数据的缓存地带,将所需处理的视频数据文件或流分成许多大小适合的片段,放入其中。由软件提供转码算法,并控制计算机系统进行转码工作。图 -7 中所示的数据接口的概念也非常的灵活,它可以使计算机设备的外部接口,如千兆以太、 Fiber Channel 通道,也可以是其本身的内置存储通道接口。我们来看一下他们是如何工作的。
如图— 8 所示,计算机设备先将需转换编码方式的视频数据文件放入外部存储或本地存储设备中。然后将该视频文件拆分成适合计算机设备处理的数据片段,放入高速缓存中,由软件提供转码算法,利用计算机设备的处理能力对数据片段进行编码转换。转换完成后将数据片段送入指定区域存储,同时高速缓存区获取新的数据片段。循环这种方式直到所有的拆分数据片段均得到了转码处理,合并转码完成的视频数据文件片段,输出我们所需要得到的视频数据。
这种拆分数据的方式同样也适合于以流方式存在的视频数据,比如我们可以使用数据接口直接与数字视频数据流连接,不经过任何的编解码将其存储到计算机转码设备的指定缓存区域,变线性的数据流存在方式为非线性的数据存储方式,然后可以使用图— 8 所示的数据拆分方式进行转码处理,经合并后,可以选择文件方式或依然保持流方式的数据输出。
《转码技术在视频领域内的应用分析(第3页)》