以图像组结构为并行处理单元的视频集群转码系统的制作方法

文档序号:7646277阅读:258来源:国知局
专利名称:以图像组结构为并行处理单元的视频集群转码系统的制作方法
技术领域
本发明涉及一种视频信息技术领域的系统,具体地,涉及一种以图像组结 构为并行处理单元的视频集群转码系统。
背景技术
在视频编解码领域存在众多产生于不同时期的国际标准,这些标准往往采 用不同的压縮技术及其组合,需要经过不同的解码器解码之后才能够正常播放。 为了增强解码设备对于不同视频压縮标准的兼容性,人们通常使用转码的方法 将不同标准的视频码流转换到需要的格式,以适应不同的应用场合。
视频转码就是把原始压缩视频信号转换到另外一种视频压缩方式,转换后 的视频和原始视频在帧率、帧大小、速率、压缩格式、方式等方面都可以不一 样。例如在视频广播领域,为了降低接收端的复杂度,适应有限的传输带宽, 需要将不同来源的视频码流转换成统一的格式,如化264标准。MPEG-2标准是 现存大量视频数据的原始存储格式,因此,MPEG-2到H. 264的转码处理就成为 广播发送端的关键技术之一。另一方面,随着现在手持设备和无线网络的迅速 发展,越来越多的手持设备希望支持多媒体功能。而无线网络的低带宽和较高 的误码率以及手持设备的处理能力和显示器的分辨率都远不如电视机顶盒,因
此也要求对原始的标清或高清视频进行降低时间分辨率、空间分辨率和质量以 及插入新的台标和字幕合成等编辑处理,以适合在手持设备播放。上述这些实 际应用都要求对视频信息进行转码处理。目前转码主要有硬件转码和软件转码, 硬件转码成本很高,在使用的灵活性上比较弱,不能自由地增减功能和改变参 数,而软件转码往往受到通用处理器的计算性能的限制,转码速度较慢。
在目前的信息技术领域内,经常能够发现与集群计算相关的技术。最常见 的三种集群类型包括高性能科学集群、负载均衡集群和高可用性集群。这些集 群技术虽然具有各自不同的应用特性,它们的共同特点是将多台通用计算机设 备组成一个集散式的计算群,通过调度和分发将计算任务分散到各台计算机上,从而获得特定任务中计算速度大幅提升。现有的视频编码标准如ITU指定的 H. 261, H. 263, H. 263+, H. 264标准以及ISO的MPEG组织指定的MPEG-1, MPEG-2, MPEG-4等都是基于混合编码,即Hybrid Coding框架的。所谓混合编码框架是 一种混合时间空间视频图像编码方法。在混合编码框架中有三种类型的编码帧: 帧内编码帧(I帧)和帧间编码帧(P帧)以及双向预测帧(B帧)。图像组结构 (简称G0P)是上述标准中广泛定义的描述视频预测编码的基本结构,也是视频 序列能完整解码的最小单元。
经对现有技术的文献检索发现,苏开娜、王晓瑜等人于2006年在《计算机 与信息技术》第5期11页到14页上发表的"基于H. 264的群集转码系统的设 计" 一文,该文在深入研究最新的H.264编码技术的基础上设计并实现了一种 面向插件式服务架构的群集自动批量转码系统。该论文所设计的转码系统平台 包含编解码器插件自动部署、转码调度、插件服务发现及注册、插件工厂和各 功能模块之间通信的通信协议以及群集转码控制及管理系统等几大核心功能模 块。其强调的是模块采用插件技术,以解决转码系统中各个功能模块之间的紧 密耦合。此外该论文仅阐述了并行集散转码的基本思想,并没有给出具体实施 的技术方案以及效果。

发明内容
本发明针对现有技术存在的上述不足,提供一种以图像组结构为并行处理 单元的视频集群转码系统,使其兼顾较高的转码效率和较低的设备成本同时保 证转码的灵活性。本发明结合现有视频编码标准的编码结构,以图像组结构为 并行处理单元,将集群计算的思想应用于视频转码领域,解决了现有视频转码 纯硬件转码和纯软件转码方法的不足,为视频转码提供一种高效、低成本的解 决方案。
本发明是通过以下技术方案实现的,本发明包括用户界面模块、音视频 解复用模块、视频分割模块、集群任务调度模块、网络连接设备、视频转码模 块、音频转码模块、视频合并模块、音视频复用模块。
所述用户界面模块接受待转码的多媒体数据以及目标媒体格式的参数设置 信息,进行确认后,分别传送到音视频解复用模块和集群任务调度模块;所述 音视频解复用模块将传送来的多媒体数据解复用成原始格式视频基本流和原始 格式音频基本流,原始格式视频基本流送入视频分割模块,原始格式音频基本 流送入集群任务调度模块;所述视频分割模块将送入的原始格式视频基本流分 割成多个可独立解码的原始格式分段视频基本流,并将这些分段视频基本流传 送到集群任务调度模块;所述集群任务调度模块将送入的原始格式音频基本流 和原始格式分段视频基本流执行任务的分配、调度和分发,将音频转码子任务 数据(包括原始格式音频基本流和目标格式设置信息)和视频转码子任务数据 (包括原始格式视频基本流和目标格式设置信息)通过网络连接设备发送给音 频转码模块和多个视频转码模块;所述音频转码模块对送入的音频转码子任务 数据原始格式的音频压缩数据进行解码和再编码的操作,转换为目标格式音频 基本流,并通过网络连接设备传送回集群任务调度模块;所述视频转码模块对 各视频转码子任务数据原始格式的视频压縮数据进行解码、编辑、编码等的操 作,转换为目标格式分段视频基本流,并通过网络连接设备传送回集群任务调 度模块;所述集群任务调度模块再根据分发和调度策略收集来自网络连接设备 的目标格式分段视频基本流和目标格式音频基本流,并将目标格式分段视频基 本流送入视频合并模块,将目标格式音频基本流送入音视频复用模块;所述输 入视频合并模块将送入的目标格式分段视频基本流通过合并操作,生成完整的 目标格式视频基本流,并送入音视频复用模块;所述音视频复用模将送入的目 标格式视频基本流和目标格式音频基本流复用成目标格式的多媒体数据流,并 传送到用户界面模块,由用户界面模块完成目标码流的输出或存储。
本发明中,用户界面模块、音视频解复用模块、视频分割模块、视频合并 模块、音视频复用模块和集群任务调度模块运行于主机,而视频转码模块和音 频转码模块运行于多个执行终端,主机和执行终端之间通过网络连接设备连接, 以支持数据的传送。
所述用户界面模块完成与操作用户的交互,包括多媒体数据的输入和输出, 命令的合法性检测等,并且负责实现与音视频复用模块、音视频解复用模块及 集群任务调度模块之间传递数据流、控制命令和状态消息。
所述音视频解复用模块对包含音视频数据的原始格式码流,如MPEG-2系统 传输流(Transport Stream,简称为TS),按照相应系统规范将视频数据和音频 数据从原始格式的系统码流中提取出来,形成视频基本流和音频基本流。
所述视频分割模块负责将原始格式视频基本流以图像组结构(GOP)为最小 单元,切分为多个可独立解码的原始格式分段视频基本流,之后将由集群调度 模块分发给多个执行终端进行并行视频转码。
所述集群任务调度模块将多个原始格式分段视频基本码流以及原始格式音 频基本流的转码任务,根据集群系统内执行终端的数量和计算资源,调度分发 到各执行终端、并在转码结束后,将目标格式分段视频基本流和目标格式音频 基本流收集回来。
所述网络连接设备将主机和集群转码的各个执行终端连接起来,以支持数 据在主机和多个执行终端之间转码任务的分发和转码后数据的收集,如常用的 以太网及相关通信部件。
所述视频转码模块包括原始格式视频解码模块、视频/图像处理模块、目 标格式视频编码模块,所述原始格式视频解码模块对原始格式视频基本流执行 格式的解码,得到像素域的视频帧;所述视频/图像处理模块根据用户设定,对 所得到的像素域的视频帧执行可选的时间抽样、图像縮放、增强滤波、图像剪 裁、插台标以及字幕合成,并输出处理过的像素域的视频帧,最后目标格式视 频编码模块按照目标格式执行视频编码,输出的是目标格式的视频基本流,如 H. 264格式码流。
所述音频转码模块对分解出来的音频基本流进行转码,从一种编码格式转 化为另外一种编码格式。比如对MPEG-2编码格式的音频基本流进行转码,形成 MPEG-4 MC格式的音频基本码流。由于音频转码的运算复杂度比较低,通常不 需要分割/合并处理。
所述视频合并模块将转码后的可独立解码的多个分段视频基本码流,如 H. 264格式码流,按照时间轴先后顺序连接起来,形成一个完整的视频基本码流。
所述音视频复用模块将转码后的音视频基本流按照目标格式,如MPEG-2 TS 系统码流格式进行打包、同步、节目复用等一系列操作,合成为目标格式的多 媒体系统码流。
本发明上述系统工作过程如下 (1)用户通过用户界面模块选择准备转码的码流,将选定的音视频码流送 入音视频解复用模块,同时将用户选择的输出格式,包括图像尺寸、帧率、音
视频编码方式,复用方式,是否合成台标/字幕等信息,送入集群任务调度模块。
(2) 音视频解复用模块将音视频码流根据所采用的复用协议,如MPEG-2 TS 格式,解复用成原始格式的视频基本流和原始格式的音频基本流。视频基本流 送入视频分割模块,音频基本流直接送入集群任务调度模块。
(3) 视频分割模块将原始格式的视频基本流以G0P为最小单元,分割为N 段视频基本流,N的数值可以通过用户界面模块或者根据集群系统计算资源动态 设定,默认值为执行终端的数量减一。
(4) 集群任务调度模块将原始格式的音频基本流和N段视频基本流,通过 网络连接设备分发给N+l个执行终端执行转码,其中N个执行终端运行视频转 码模块,1个执行终端执行音频转码模块。
(5) 视频转码模块采用"全解全编和像素域编辑"的方案首先,原始格 式视频解码模块对原始格式视频基本流执行格式的解码,如MPEG-2视频解码, 得到像素域的视频帧;然后,视频/图像处理模块根据用户设定,对像素域的视 频帧执行可选的时间抽样、图像縮放、增强滤波、图像剪裁、插台标以及字幕 合成等子功能模块,输出的是处理过的像素域的视频帧;最后,目标格式视频 编码模块按照目标格式,执行视频编码,如H.264视频编码,输出的是目标格 式的视频基本流。
(6) 各执行终端上运行的视频转码模块和音频转码模块完成相应地转码 后,集群任务调度模块收集目标格式的N段视频基本流送入视频合并模块,按 照G0P先后顺序合成一整段视频基本流,输出目标格式视频基本流;同时,集 群任务调度模块从运行音频转码模块的执行终端上收集并输出目标格式音频基 本流。
(7) 音视频复用模块输入的目标格式视频基本流和音频基本流复用为目标 格式要求的音视频码流,同时通知用户界面模块转码结束,码流输出到指定的 存储区域。
本发明是通过对原始多媒体码流进行解复用及分割、调度分发、并行转码、 合并及复用等一系列处理转化为新的多媒体码流的实现系统。本发明的核心是 将原本只能在一台转码设备上完成的视频转码模块,以G0P为并行处理单元, 通过集群系统的任务调度,快速分散到多个的终端设备,以并行的方式完成视
频转码任务。这样做的优点是能够将原本顺序处理的视频码流,经过分段之后, 同时在一组集群终端上执行,加快了转码进程,提高了转码效率。实验表明, 在四台执行终端的情况下,集群转码的效率比单台转码速度提高了 60%以上, 达到了较明显的效果。


图1是本发明系统结构示意图
图2是本发明中视频转码模块的结构示意图
图3是本发明实施例中硬件设备结构示意图
图4是本发明实施例中MPEG-2视频流G0P结构示意图
图5是本发明实施例中基于G0P的视频分割示意图
图6是本发明系统实施的效率示意图
具体实施例方式
下面结合附图对本发明的实施例作详细说明本实施例在以本发明技术方 案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的 保护范围不限于下述的实施例。
实施例将原始音频格式为MPEG-2AC3 (模式为立体声,码率为128kbps)、 视频格式为MPEG-2(视频大小为720X576、帧率为25帧/秒,、视频码率为5Mbps)、 复用格式为MPEG-2 TS格式的音视频码流转码为音频格式为AAC(模式为立体声, 码率为96kbps)、视频格式为H.264 (视频大小为352x288,帧率为25帧/秒,、 视频码率为512Kbps)、复用格式为MPEG-2 TS的集群转码系统的实施。
图l所示是本实施例的系统结构图。系统结构从逻辑上可以分为
a. 主机,包括用户界面模块l、音视频解复用模块2、视频分割模块3、 集群任务调度模块4、视频合并模块8以及音视频复用模块9;
b. 执行终端,包括多个视频转码模块6、 一个音视转码模块7。
c. 网络连接设备5,连接主机和执行终端的网络设备,以支持数据在主机 和执行终端之间的传送。
MPEG-2 TS格式的原始多媒体码流及输出格式设置信息通过用户界面模块1 进入转码系统,分别送给音视频解复用模块2和集群任务调度模块4;
音视频解复用模块2执行解复用后输出MPEG-2 AC3音频基本流和MPEG-2视
频基本流,分别送入视频分割模块3和集群任务调度模块4;
视频分割模块3接收MPEG-2视频基本流以G0P为最小单元,切割成执行终 端数量减一个分段视频基本流,然后送入集群任务调度模块4;
集群任务调度模块4将MPEG-2分段视频基本流及输出格式设置信息(格式 为H.264,视频大小为352x288,帧率为25帧/秒,视频码率为512Kbps)、 AC3 音频基本流及输出格式设置信息(格式为MC,模式为立体声,码率为96kbps) 通过网络连接设备5传送给多个视频转码模块6和一个音频转码模块7;
视频转码模块6执行过程如图2所示。首先执行在原始格式视频解码模块 101中执行MPEG-2视频解码,然后在视频/图像处理模块103中对每帧解码输出 图像采用双线性滤波的方式进行图像縮放,获得352x288大小的视频帧,接着 在目标格式视频编码模块105中设定码率为512Kbps,执行11.264视频编码,输 出H. 264视频基本流;
音频转码模块7首先执行MPEG-2 AC3音频解码,然后设定码率为96Kbps, 执行MC音频编码,输出MC音频基本流;
集群任务调度模块4通过网络连接设备5收集来自多个视频转码模块6的 H. 264视频基本流和来自音频转码模块7的AAC音频基本流,并分别送入视频合 并模块8和音视频复用模块9;
视频合并模块8将分段的H. 264视频基本流按照GOP边界的不同情况,合 并为一个完整的H. 264视频基本流,并将结果输出到音视频复用模块9;
音视频复用模块9将H. 264视频基本流和MC音频基本流根据MPEG-2系统 层TS的格式,复用成一个多媒体码流,并输出到用户界面模块l,通知用户进 行最终码流的输出或存储。
图3所示为以本发明为基础,搭建的一组集群硬件设备。包括 一台性能 高、稳定性好的设备作为集群系统的主机,主机提供用户界面、复用和解复用、 视频基本流的分割和合并、音视频基本流的分发和收集等服务;4台通用计算机 作为执行终端,执行终端提供视频基本流的解码、视频/图像处理、视频基本流 的编码等服务。执行终端的计算机配置中,可以不包括显示设备,以降低硬件 成本;主机和所有的执行设备配置100/10M自适应以太网卡,以本地网络相连 接。
所有的主机和执行终端都安装了 Fedora Core发布版的Linux操作系统, 这主要是考虑到为了配合集群调度系统的运行而配置的。在本实施例中,选用 了由威斯康星大学Condor项目组开发的Condor中间件作为集群任务调度模块。 由于该平台的开发环境为Unix操作系统,因此其在Linux系统中的运行效率相 对较高。
本实施例中,以GOP为最小单位进行视频切割时,按照MPEG-2标准规定, GOP头信息的closed—gop字段指明了该GOP是Open还是Close,需要对Open GOP 和Close GOP两种不同的GOP结构采用不同的分割策略。方法如下以图4示 意的GOP结构为例,假设现在切割点正好取在GOP (k-1) GOP (k)之间,当发 现GOP (k)为Open GOP时,则第二段子视频的起始点应取在GOP (k-1)的起 始位置,而第一段子视频的结束点仍然取在两个GOP的中间分界点上(如图5 所示)。这样分割之后,第二段视频中的GOP (k)可以保证每一帧都正常解码, 在视频拼接时采取对应的方法,即可以实现连贯的视频无缝拼接。
在本实施例中,视频切割中还有一点需要注意对于解码器而言,每次对 一段视频进行解码时,都是先寻找该段视频中的序列头信息,即sequence head 字段。然而,通常一整段视频可能仅在开始处包含一个序列头,也可能在每个 GOP前都附带有相同的序列头,这要视码流而定。这时,若碰到前一种情况,则 需要在切割之后的每一段子视频前都添加上序列头,以保证解码器的正常运行。 而若碰到后一种情况,则需要在切割时将每个序列头都视为GOP结构的一部分 进行整体切割。
本实施例在视频转码模块采用了开放源代码ffmpeg工具作为MPEG-2解码 器,开放源代码x264工具库作为H.264编码器。集群转码的关键是将输入的完 整待转码视频按一定策略分割为多段子视频,随后将这些子视频通过集群任务 调度模块分发到各执行终端进行转码运算。最后,将转码结果按照GOP顺序重 新拼接成完整的输出视频码流。忽略了可选择的视频/图像处理模块。
本实施例在音频转码模块采用了开放源代码ffmpeg和FAAC工具作为AC3 音频解码器和MC编码器。
实施效果
图6所示的效率示意图可以发现集群转码所带来的优势。图中, 一段视频 由集群设备进行转码和单机进行转码相比,可以发现其在运算能力上的优势。 单机转码相当于对原视频的顺序处理,运算时间严重受限制于单机运算速度。 而采用集群转码方式之后,相当于将子视频同时送入集群设备进行并行处理, 这对转码效率的提高有很重要的实际价值。
经过对本实施例的以系列实验表明,集群转码相比与现有的软件转码方式 可以大幅度提高转码效率。以4台执行终端的集群为例,对一段大小为4G的视 频文件(MPEG-2格式的标清视频,播放时间约为2小时15分钟),集群转码时 间约为1小时54分钟,以及完全达到了实时转码的标准。而同样一段视频,用 实施例中的转码程序处理,运行时间在4小时30分钟以上。可见4台终端的情 况下,集群转码的效率比软件转码提高了60%以上,达到了较明显的效果。
权利要求
1、一种以图像组结构为并行处理单元的视频集群转码系统,其特征在于,包括用户界面模块、音视频解复用模块、视频分割模块、集群任务调度模块、网络连接设备、视频转码模块、音频转码模块、视频合并模块、音视频复用模块,其中所述用户界面模块接受待转码的多媒体数据以及目标媒体格式的参数设置信息,进行确认后,分别传送到音视频解复用模块和集群任务调度模块;所述音视频解复用模块将传送来的多媒体数据解复用成原始格式视频基本流和原始格式音频基本流,原始格式视频基本流送入视频分割模块,原始格式音频基本流送入集群任务调度模块;所述视频分割模块将送入的原始格式视频基本流分割成多个可独立解码的原始格式分段视频基本流,并将这些分段视频基本流传送到集群任务调度模块;所述集群任务调度模块将送入的原始格式音频基本流和原始格式分段视频基本流执行任务的分配、调度和分发,将音频转码子任务数据和视频转码子任务数据通过网络连接设备发送给音频转码模块和多个视频转码模块;所述音频转码模块对送入的音频转码子任务数据原始格式的音频压缩数据进行解码和再编码的操作,转换为目标格式音频基本流,并通过网络连接设备传送回集群任务调度模块;所述视频转码模块将各视频转码子任务数据原始格式的视频压缩数据转换为目标格式分段视频基本流,并通过网络连接设备传送回集群任务调度模块;所述集群任务调度模块再根据分发和调度策略收集来自网络连接设备的目标格式分段视频基本流和目标格式音频基本流,并将目标格式分段视频基本流送入视频合并模块,将目标格式音频基本流送入音视频复用模块;所述输入视频合并模块将送入的目标格式分段视频基本流通过合并操作,生成完整的目标格式视频基本流,并送入音视频复用模块;所述音视频复用模将送入的目标格式视频基本流和目标格式音频基本流复用成目标格式的多媒体数据流,并传送到用户界面模块,由用户界面模块完成目标码流的输出或存储。
2、 如权利要求1所述的以图像组结构为并行处理单元的视频集群转码系统, 其特征是,所述用户界面模块、音视频解复用模块、视频分割模块、视频合并 模块、音视频复用模块和集群任务调度模块运行于主机,而视频转码模块和音 频转码模块运行于多个执行终端,主机和执行终端之间通过网络连接设备连接, 以支持数据的传送。
3、 如权利要求1或2所述的以图像组结构为并行处理单元的视频集群转码 系统,其特征是,所述用户界面模块完成与操作用户的交互,包括多媒体数据 的输入和输出,命令的合法性检测,并且负责实现与音视频复用模块、音视频 解复用模块及集群任务调度模块之间传递数据流、控制命令和状态消息。
4、 如权利要求3所述的以图像组结构为并行处理单元的视频集群转码系统, 其特征是,所述用户界面模块,供用户选择准备转码的码流,将选定的音视频 码流送入音视频解复用模块,同时将用户选择的输出格式,包括图像尺寸、帧 率、音视频编码方式,复用方式,是否合成台标/字幕,送入集群任务调度模块。
5、 如权利要求1所述的以图像组结构为并行处理单元的视频集群转码系统, 其特征是,所述音频转码子任务数据包括原始格式音频基本流和目标格式设置 信息,所述视频转码子任务数据包括原始格式视频基本流和目标格式设置信息。
6、 如权利要求1或2所述的以图像组结构为并行处理单元的视频集群转码 系统,其特征是,所述视频分割模块负责将原始格式视频基本流以图像组结构 为最小单元,分割成N个原始格式分段视频基本流,之后将由集群调度模块分 发给多个执行终端进行视频转码,N的数值通过用户界面模块或者根据集群系统 计算资源动态设定,默认值为执行终端的数量减一。
7、 如权利要求1或2所述的以图像组结构为并行处理单元的视频集群转码 系统,其特征是,所述视频转码模块将各视频转码子任务数据原始格式的视频 压縮数据通过解码、编辑、编码的操作,转换为目标格式分段视频基本流,同 时可在视频图像域执行视频/图像处理,包括时间抽样、图像縮放、增强滤波、 图像剪裁、加台标、字幕合成。
8、 如权利要求7所述的以图像组结构为并行处理单元的视频集群转码系统, 其特征是,所述视频转码模块包括原始格式视频解码模块、视频/图像处理模 块、目标格式视频编码模块,所述原始格式视频解码模块对原始格式视频基本 流执行格式的解码,得到像素域的视频帧;所述视频/图像处理模块根据用户设 定,对所得到的像素域的视频帧执行可选的时间抽样、图像縮放、增强滤波、 图像剪裁、插台标以及字幕合成,并输出处理过的像素域的视频帧,最后目标 格式视频编码模块按照目标格式执行视频编码,输出的是目标格式的视频基本 流。
全文摘要
一种以图像组结构为并行处理单元的视频集群转码系统,属于视频信息转码技术领域。本发明包括用户界面模块、音视频解复用模块、视频分割模块、集群任务调度模块、网络连接设备、视频转码模块、音频转码模块、视频合并模块、音视频复用模块,本发明针对现有视频转码纯硬件转码和纯软件转码方法的不足,结合现有视频编码标准的编码结构,将集群计算的思想应用于视频转码领域,包括通过对原始多媒体码流进行解复用及分割、调度分发、并行转码、合并及复用等一系列处理转化为新的多媒体码流的系统结构和模块运行流程,为视频转码提供一种高效、低成本的解决方案。
文档编号H04N7/26GK101098483SQ20071004398
公开日2008年1月2日 申请日期2007年7月19日 优先权日2007年7月19日
发明者军 孙, 孙思慧, 利 宋, 熊红凯, 王兴东 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1