一种基于分布式计算机系统的并行hevc编码系统及方法

文档序号:8441775阅读:552来源:国知局
一种基于分布式计算机系统的并行hevc编码系统及方法
【技术领域】
[0001]本发明涉及电子信息学科视频编码技术领域,尤其是涉及一种基于分布式计算机系统的并行HEVC编码系统及方法。
【背景技术】
[0002]随着社会的发展和技术的进步,特别是互联网近些年的快速发展,数字视频采集、传输和存储逐步进入人们日常生活。视频数据以数据量大而著称,通常需要经过压缩编码后才进行存储和传输。目前国际上常用的视频编码标准有ISO/IEC制定的MPEG-1标准、MPEG-2 标准、MPEG-4ASP 标准,ITU-T 制定的 H.261 标准、H.263 标准,和 ISO/IEC 和 ITU-T联合制定的MPEG-4AVC/ITU-T H.264标准等。但这些标准已不能满足大图像尺寸高画质视频的编码需要,因此ISO/IEC MPEG专家组和ITU-T VCEG专家组联合成立的JVT-VC工作组2013年制定了最新的高效视频编码(HEVC)标准。目前该标准已正式被ISO/IEC批准为MPEG-H Part 2标准,被ITU-T批准为H.265标准。据报道符合HEVC标准的编码器在编码压缩效率上已经较MPEG-4AVC/ITU-T H.264标准有50%以上的提高。同时针对大图像尺寸视频编码时计算复杂度高难于实时编码的问题,在HEVC标准中增加了一些并行处理的工具,以便可以采用并行处理的方法解决这一问题。因此HEVC将成为今后视频编码的主流标准。
[0003]HEVC为了获得更高的压缩效率,和以前的视频编码标准相比,压缩相同尺寸的视频图像,其编码的复杂度高出很多。同时由于实际应用中对于更大图像尺寸的视频压缩编码的需求越来越强烈,导致今后实际应用中的HEVC编码器的计算复杂度会非常高。因此在HEVC标准制定时就考虑了并行处理的方案,新引入了如Tiles,Wavefont parallelprocessing (WPP),Overlaped Wavefront (OffF)和并行 CABAC 等编码工具。但这些方案主要是针对多核系统提出的并行处理解决方法。多核系统的一个重要特点就是多个处理器核集成在一个芯片上共享缓存,处理器核之间以及处理器和缓存之间通信有很高的传输带宽,可以达到每秒钟传输数十个G甚至上百个G字节。因此HEVC标准里的这些并行处理方案并没有考虑处理器模块之间传输带宽对参考帧在处理器之间实时传输的影响。
[0004]随着云计算等分布式计算机系统近几年的快速发展,利用分布式计算机系统进行实时视频编码是视频编码技术发展的主要方向之一。分布式计算机系统是一种多处理器的计算机系统,各处理器通过互连网络构成统一的系统。系统采用分布式计算结构,即把原来系统内中央处理器处理的任务分散给相应的处理器,实现不同功能的各个处理器相互协调。与多核系统相比,分布式系统的子系统之间的互连网络带宽有限,导致参考帧不能在各子系统之间实时传输,成为分布式系统并行视频编码的主要瓶颈。
[0005]如图1所示,图为符合HEVC标准的编码器的基本原理框图,编码器主要模块包括:变换比例缩放和量化模块、比例缩放和反变换模块、滤波器控制分析模块、去块效应滤波器和取样适应偏置(SAO)滤波器模块、运动估计模块、运动补偿模块、帧内估计模块、帧内预测模块、熵编码模块编码器通用控制模块等,其中熵编码模块完成码流头格式形成和CABAC编码功能。图中实线箭头表示数据流,虚线箭头表示控制流。编码的主要过程是首先将输入图像划分为编码树单元(CTU),然后对图像中的CTU按从左到右从上到下的次序一一进行编码。每一个CTU编码时将按PU单元(预测单元)进行帧内预测或帧间运动补偿,然后按CU单元(编码单元)对残差进行变换和量化,量化后的残差采用CABAC方法进行熵编码。对于量化后的残差同时进行反量化和反变换并和帧内预测值或帧间预测值相加为后续的编码提供帧内预测的参考值,然后经过去块效应滤波和取样适应偏置滤波形成后续的帧间预测的参考帧。在上述过程中形成的编码器控制数据、帧间预测数据、滤波器控制数据和运动数据等将作为视频流数据的一部分送至熵编码模块进行熵编码。
[0006]如图2所示,图为符合HEVC标准的解码器原理框图,解码器主要模块包括:熵解码模块、解码器控制模块、比例缩放和反变换模块、去块效应滤波器和取样适应偏置滤波器模块、运动补偿模块、帧内估计模块、帧内预测模块等。图中实线箭头表示数据流,虚线箭头表示控制流。解码器接收到HEVC码流后首先进行熵解码,得到控制数据和图像变数据。控制数据分别输入解码器控制模块和去块效应滤波器和取样适应偏置滤波器模块进行解码控制。图像数据首先经过比例缩放和反变换;如果当前解码帧是帧内预测帧,则利用当前图像帧中已解码重建的部分进行帧内预测,得到预测图像;如果当前解码帧是帧间预测帧,则利用前面已解码重建的帧做为参考帧进行运动补偿,得到预测的图像;然后将预测的图像和经过比例缩放和反变换得到的残差图像相加;相加后的图像进行去块效应滤波和取样适应偏置滤波,完成当前帧的解码重建;解码重建的图像在输出显示的同时缓存入参考帧缓存供后续帧间预测帧解码时使用。

【发明内容】

[0007]本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种编码效率高、编码方式多样、适用范围广的基于分布式计算机系统的并行HEVC编码系统及方法。
[0008]本发明的目的可以通过以下技术方案来实现:
[0009]一种基于分布式计算机系统的并行HEVC编码系统,包括多个依次连接的计算子系统、分别与多个计算子系统连接的互联网络和主HEVC编码器以及与互联网络连接的合并输出模块,所述的互联网络包括高速传输网络和参考帧缓存器,所述的计算子系统包括并行解码器和并行HEVC视频编码器,且每个并行HEVC视频编码器分别通过高速传输网络和参考帧缓存器与其他计算子系统中的并行解码器连接。
[0010]所述的并行解码器包括熵解码模块、解码比例缩放反变化模块、解码去块效应及取样适应偏置滤波模块、解码帧内预测模块、解码运动补偿模块、解码器控制模块和解码帧内帧间选择模块,所述的熵解码模块分别与互联网络、解码比例缩放反变化模块、解码去块效应及取样适应偏置滤波模块、解码帧内预测模块、解码运动补偿模块和解码器控制模块连接,所述的解码帧内帧间选择模块分别与解码帧内预测模块、解码运动补偿模块和解码器控制模块连接,所述的解码比例缩放反变化模块分别与解码去块效应及取样适应偏置滤波模块和解码器控制模块连接,所述的解码比例缩放反变化模块通过高速传输网络与其他计算子系统中的并行HEVC视频编码器连接,所述的解码去块效应及取样适应偏置滤波模块通过参考帧缓存器与并行HEVC视频编码器连接。
[0011]所述的并行HEVC视频编码器包括编码树单元划分模块、变换比例缩放量化模块、熵编码模块、编码器控制模块、编码比例缩放反变换模块、编码帧内估计模块、编码帧内预测模块、编码运动估计模块、编码运动补偿模块、编码帧内帧间选择模块、滤波器控制分析模块和编码去块效应及取样适应偏置滤波模块,所述的编码器控制模块分别与主HEVC编码器、编码树单元划分模块、变换比例缩放量化模块、熵编码模块、编码帧内估计模块、编码运动估计模块和编码帧内帧间选择模块连接,所述的编码树单元划分模块分别与变换比例缩放量化模块、编码运动估计模块和滤波器控制分析模块连接,所述的熵编码模块分别与互联网络、变换比例缩放量化模块、编码帧内估计模块、编码运动估计模块和滤波器控制分析模块连接,所述的编码比例缩放反变换模块分别与变换比例缩放量化模块和滤波器控制分析模块连接,所述的滤波器控制分析模块分别与编码帧内估计模块、编码帧内预测模块和编码去块效应及取样适应偏置滤波模块连接,所述的编码帧内帧间选择模块分别与编码帧内预测模块和编码运动补偿模块连接,所述的编码帧内预测模块分别与编码帧内估计模块以及其他计算子系统中并行解码器的解码比例缩放反变化模块连接,所述的解码去块效应及取样适应偏置滤波模块通过参考帧缓存器分别与编码运动估计模块和编码运动补偿模块连接。
[0012]所述的互连网络为以太网或高速广域网。
[0013]一种基于分布式计算机系统的并行HEVC编码方法,包括以下步骤:
[0014]I)主HEVC编码器将视频流中的待编码帧分为多个不重叠的行帧信息,并且依次发到多个计算子系统中;
[0015]2)每个计算子系统根据获取到的多个不重叠的行帧信息,并将不重叠的行帧信息分为多个CTU帧单元,且计算子系统中的每一个线程对应一行CTU帧单元;
[0016]3)计算子系统开始在一个线程中对一行CTU帧单元进行编码,并行HEVC视频编码器获取当前待编码的CTU帧单元信息,根据控制信息进行帧内预测或是帧间预测,并将编码完成的当前CTU帧单元的编码比特流分别发送给其他计算子系统的并行解码器和合并输出模块;
[0017]4)当计算子系统中的所有线程全部完成对当前待编码帧的编码时,合并输出模块将获取到的多个CTU帧单元的编码比特流整合为一个完整的编码帧比特流发出。
[0018]所述的步骤3)中的帧内预测包括以下步骤:
[0019]311)并行HEVC视频编码器在编码器控制模块控制下,获取当前待编码的CTU帧单元信息;
[0020]312)并行解码器根据解码器控制模块的控制下,获取其他计算子系统对应线程中的CTU帧单元的编码比特流,在熵解码模块中进行解码后,进行比例缩放和反变换得到帧内预测数据,并且通过高速传输网络发送
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1