CN104780377B - 一种基于分布式计算机系统的并行hevc编码系统及方法 - Google Patents
一种基于分布式计算机系统的并行hevc编码系统及方法 Download PDFInfo
- Publication number
- CN104780377B CN104780377B CN201510119665.9A CN201510119665A CN104780377B CN 104780377 B CN104780377 B CN 104780377B CN 201510119665 A CN201510119665 A CN 201510119665A CN 104780377 B CN104780377 B CN 104780377B
- Authority
- CN
- China
- Prior art keywords
- module
- frame
- parallel
- code
- coding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及一种基于分布式计算机系统的并行HEVC编码系统及方法,该系统包括多个依次连接的计算子系统、分别与多个计算子系统连接的互联网络和主HEVC编码器以及与互联网络连接的合并输出模块,所述的互联网络包括高速传输网络和参考帧缓存器,所述的计算子系统包括并行解码器和并行HEVC视频编码器,且每个并行HEVC视频编码器分别通过高速传输网络和参考帧缓存器与其他计算子系统中的并行解码器连接。与现有技术相比,本发明具有编码效率高、编码方式多样、适用范围广等优点。
Description
技术领域
本发明涉及电子信息学科视频编码技术领域,尤其是涉及一种基于分布式计算机系统的并行HEVC编码系统及方法。
背景技术
随着社会的发展和技术的进步,特别是互联网近些年的快速发展,数字视频采集、传输和存储逐步进入人们日常生活。视频数据以数据量大而著称,通常需要经过压缩编码后才进行存储和传输。目前国际上常用的视频编码标准有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 Part2标准,被ITU-T批准为H.265标准。据报道符合HEVC标准的编码器在编码压缩效率上已经较MPEG-4AVC/ITU-T H.264标准有50%以上的提高。同时针对大图像尺寸视频编码时计算复杂度高难于实时编码的问题,在HEVC标准中增加了一些并行处理的工具,以便可以采用并行处理的方法解决这一问题。因此HEVC将成为今后视频编码的主流标准。
HEVC为了获得更高的压缩效率,和以前的视频编码标准相比,压缩相同尺寸的视频图像,其编码的复杂度高出很多。同时由于实际应用中对于更大图像尺寸的视频压缩编码的需求越来越强烈,导致今后实际应用中的HEVC编码器的计算复杂度会非常高。因此在HEVC标准制定时就考虑了并行处理的方案,新引入了如Tiles,Wavefont parallelprocessing(WPP),Overlaped Wavefront(OWF)和并行CABAC等编码工具。但这些方案主要是针对多核系统提出的并行处理解决方法。多核系统的一个重要特点就是多个处理器核集成在一个芯片上共享缓存,处理器核之间以及处理器和缓存之间通信有很高的传输带宽,可以达到每秒钟传输数十个G甚至上百个G字节。因此HEVC标准里的这些并行处理方案并没有考虑处理器模块之间传输带宽对参考帧在处理器之间实时传输的影响。
随着云计算等分布式计算机系统近几年的快速发展,利用分布式计算机系统进行实时视频编码是视频编码技术发展的主要方向之一。分布式计算机系统是一种多处理器的计算机系统,各处理器通过互连网络构成统一的系统。系统采用分布式计算结构,即把原来系统内中央处理器处理的任务分散给相应的处理器,实现不同功能的各个处理器相互协调。与多核系统相比,分布式系统的子系统之间的互连网络带宽有限,导致参考帧不能在各子系统之间实时传输,成为分布式系统并行视频编码的主要瓶颈。
如图1所示,图为符合HEVC标准的编码器的基本原理框图,编码器主要模块包括:变换比例缩放和量化模块、比例缩放和反变换模块、滤波器控制分析模块、去块效应滤波器和取样适应偏置(SAO)滤波器模块、运动估计模块、运动补偿模块、帧内估计模块、帧内预测模块、熵编码模块编码器通用控制模块等,其中熵编码模块完成码流头格式形成和CABAC编码功能。图中实线箭头表示数据流,虚线箭头表示控制流。编码的主要过程是首先将输入图像划分为编码树单元(CTU),然后对图像中的CTU按从左到右从上到下的次序一一进行编码。每一个CTU编码时将按PU单元(预测单元)进行帧内预测或帧间运动补偿,然后按CU单元(编码单元)对残差进行变换和量化,量化后的残差采用CABAC方法进行熵编码。对于量化后的残差同时进行反量化和反变换并和帧内预测值或帧间预测值相加为后续的编码提供帧内预测的参考值,然后经过去块效应滤波和取样适应偏置滤波形成后续的帧间预测的参考帧。在上述过程中形成的编码器控制数据、帧间预测数据、滤波器控制数据和运动数据等将作为视频流数据的一部分送至熵编码模块进行熵编码。
如图2所示,图为符合HEVC标准的解码器原理框图,解码器主要模块包括:熵解码模块、解码器控制模块、比例缩放和反变换模块、去块效应滤波器和取样适应偏置滤波器模块、运动补偿模块、帧内估计模块、帧内预测模块等。图中实线箭头表示数据流,虚线箭头表示控制流。解码器接收到HEVC码流后首先进行熵解码,得到控制数据和图像变数据。控制数据分别输入解码器控制模块和去块效应滤波器和取样适应偏置滤波器模块进行解码控制。图像数据首先经过比例缩放和反变换;如果当前解码帧是帧内预测帧,则利用当前图像帧中已解码重建的部分进行帧内预测,得到预测图像;如果当前解码帧是帧间预测帧,则利用前面已解码重建的帧做为参考帧进行运动补偿,得到预测的图像;然后将预测的图像和经过比例缩放和反变换得到的残差图像相加;相加后的图像进行去块效应滤波和取样适应偏置滤波,完成当前帧的解码重建;解码重建的图像在输出显示的同时缓存入参考帧缓存供后续帧间预测帧解码时使用。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种编码效率高、编码方式多样、适用范围广的基于分布式计算机系统的并行HEVC编码系统及方法。
本发明的目的可以通过以下技术方案来实现:
一种基于分布式计算机系统的并行HEVC编码系统,包括多个依次连接的计算子系统、分别与多个计算子系统连接的互联网络和主HEVC编码器以及与互联网络连接的合并输出模块,所述的互联网络包括高速传输网络和参考帧缓存器,所述的计算子系统包括并行解码器和并行HEVC视频编码器,且每个并行HEVC视频编码器分别通过高速传输网络和参考帧缓存器与其他计算子系统中的并行解码器连接。
所述的并行解码器包括熵解码模块、解码比例缩放反变化模块、解码去块效应及取样适应偏置滤波模块、解码帧内预测模块、解码运动补偿模块、解码器控制模块和解码帧内帧间选择模块,所述的熵解码模块分别与互联网络、解码比例缩放反变化模块、解码去块效应及取样适应偏置滤波模块、解码帧内预测模块、解码运动补偿模块和解码器控制模块连接,所述的解码帧内帧间选择模块分别与解码帧内预测模块、解码运动补偿模块和解码器控制模块连接,所述的解码比例缩放反变化模块分别与解码去块效应及取样适应偏置滤波模块和解码器控制模块连接,所述的解码比例缩放反变化模块通过高速传输网络与其他计算子系统中的并行HEVC视频编码器连接,所述的解码去块效应及取样适应偏置滤波模块通过参考帧缓存器与并行HEVC视频编码器连接。
所述的并行HEVC视频编码器包括编码树单元划分模块、变换比例缩放量化模块、熵编码模块、编码器控制模块、编码比例缩放反变换模块、编码帧内估计模块、编码帧内预测模块、编码运动估计模块、编码运动补偿模块、编码帧内帧间选择模块、滤波器控制分析模块和编码去块效应及取样适应偏置滤波模块,所述的编码器控制模块分别与主HEVC编码器、编码树单元划分模块、变换比例缩放量化模块、熵编码模块、编码帧内估计模块、编码运动估计模块和编码帧内帧间选择模块连接,所述的编码树单元划分模块分别与变换比例缩放量化模块、编码运动估计模块和滤波器控制分析模块连接,所述的熵编码模块分别与互联网络、变换比例缩放量化模块、编码帧内估计模块、编码运动估计模块和滤波器控制分析模块连接,所述的编码比例缩放反变换模块分别与变换比例缩放量化模块和滤波器控制分析模块连接,所述的滤波器控制分析模块分别与编码帧内估计模块、编码帧内预测模块和编码去块效应及取样适应偏置滤波模块连接,所述的编码帧内帧间选择模块分别与编码帧内预测模块和编码运动补偿模块连接,所述的编码帧内预测模块分别与编码帧内估计模块以及其他计算子系统中并行解码器的解码比例缩放反变化模块连接,所述的解码去块效应及取样适应偏置滤波模块通过参考帧缓存器分别与编码运动估计模块和编码运动补偿模块连接。
所述的互连网络为以太网或高速广域网。
一种基于分布式计算机系统的并行HEVC编码方法,包括以下步骤:
1)主HEVC编码器将视频流中的待编码帧分为多个不重叠的行帧信息,并且依次发到多个计算子系统中;
2)每个计算子系统根据获取到的多个不重叠的行帧信息,并将不重叠的行帧信息分为多个CTU帧单元,且计算子系统中的每一个线程对应一行CTU帧单元;
3)计算子系统开始在一个线程中对一行CTU帧单元进行编码,并行HEVC视频编码器获取当前待编码的CTU帧单元信息,根据控制信息进行帧内预测或是帧间预测,并将编码完成的当前CTU帧单元的编码比特流分别发送给其他计算子系统的并行解码器和合并输出模块;
4)当计算子系统中的所有线程全部完成对当前待编码帧的编码时,合并输出模块将获取到的多个CTU帧单元的编码比特流整合为一个完整的编码帧比特流发出。
所述的步骤3)中的帧内预测包括以下步骤:
311)并行HEVC视频编码器在编码器控制模块控制下,获取当前待编码的CTU帧单元信息;
312)并行解码器根据解码器控制模块的控制下,获取其他计算子系统对应线程中的CTU帧单元的编码比特流,在熵解码模块中进行解码后,进行比例缩放和反变换得到帧内预测数据,并且通过高速传输网络发送给并行HEVC视频编码器中的编码帧内预测模块,用以产生帧内预测值;
313)并行HEVC视频编码器将当前待编码的CTU帧单元信息与帧内预测值产生残差后,进行比例缩放和量化并发送到熵编码模块中进行编码,产生当前待编码的CTU帧单元的编码比特流,并将该比特流分别发送给合并输出模块和其他计算子系统的并行解码器;
314)并行HEVC视频编码器将比例缩放和量化后的数据同时发送给编码帧内估计模块和编码帧内预测模块,同时结合帧内预测数据产生帧内预测值。
所述的步骤3)中的帧间预测包括以下步骤:
321)并行HEVC视频编码器在编码器控制模块控制下,获取当前待编码的CTU帧单元信息;
322)并行解码器根据解码器控制模块的控制下,其他计算子系统对应线程中的CTU帧单元的编码比特流,在熵解码模块中进行解码,进行比例缩放和反变换后发送给解码去块效应及取样适应偏置滤波模块产生当前CTU帧单元的预测帧,并且通过参考帧缓存器发送给并行HEVC视频编码器中的编码运动估计模块和编码运动补偿模块,用以产生帧间预测值;
323)并行HEVC视频编码器将当前待编码的CTU帧单元信息与帧间预测值产生残差后,进行比例缩放和量化并发送到熵编码模块中进行编码,产生当前待编码的CTU帧单元的编码比特流,并将该比特流分别发送给合并输出模块和其他计算子系统的并行解码器;
324)并行HEVC视频编码器将比例缩放和量化后的数据同时发送给编码运动估计模块和编码运动补偿模块,同时结合帧间预测数据产生帧间预测值。
所述的并行HEVC编码方法中的编码方式包括OWF方式、WPP方式、Tiles方式和Slices方式。
与现有技术相比,本发明具有以下优点:
一、编码效率高:本方法是基于分布式的计算机系统的HEVC的编码方法,通过多线程的编码以及编码间数据的相互传输和相互参考最终完成对视频流的编码,从而减少在各编码子系统中对参考帧进行同步所需的数据传输量,实现了高效的并行编码方式。
二、编码方式多样:本发明中的计算子系统的线程间的编码方式由具体情况决定,既可以选择OWF的编码方式,也可以选择WPP方式、Tiles方式和Slices方式。
三、可扩展性强:本发明中的计算子系统可以按应用需求进行动态扩展配置。对于计算需求小的,如小画面尺寸的视频流,可以采用较少的计算子系统;而对于计算需求大的,如超高清画面尺寸的视频流,可以采用较多的计算子系统。
四、降低实现成本:编码计算子系统之间的参考帧同步传输采用已编码视频完成,有效减少编码计算子系统间数据传输带宽需求,降低子系统连接的实现成本。
五、适用范围广:本方法能够使用绝大多数的分布式计算机系统,还能够在计算机云端实现,应用范围广。
附图说明
图1为符合HEVC标准的编码器的基本原理框图。
图2为符合HEVC标准的解码器的基本原理框图。
图3为本发明并行HEVC编码系统结构示意图。
图4为本发明并行HEVC编码系统的计算子系统的结构示意图。
图5为采用WPP方式进行并行HEVC编码原理图。
其中,1、主HEVC编码器,2、计算子系统,21、并行解码器,2101、熵解码模块,2102、解码比例缩放反变化模块,2103、解码去块效应及取样适应偏置滤波模块,2104、解码帧内预测模块,2105、解码运动补偿模块,2106、解码器控制模块,2107、解码帧内帧间选择模块,22、并行HEVC视频编码器,2201、编码树单元划分模块,2202、变换比例缩放量化模块,2203、熵编码模块,2204、编码器控制模块,2205、编码比例缩放反变换模块,2206、编码帧内估计模块,2207、编码帧内预测模块,2208、编码运动估计模块,2209、编码运动补偿模块,2210、编码帧内帧间选择模块,2211、滤波器控制分析模块,2212、编码去块效应及取样适应偏置滤波模块,3、互联网络,31、参考帧缓存器,4、合并输出模块。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例:
如图3所示:一种基于分布式计算机系统的并行HEVC编码系统,包括多个依次连接的计算子系统2、分别与多个计算子系统2连接的互联网络3和主HEVC编码器1以及与互联网络3连接的合并输出模块4,互联网络3包括高速传输网络和参考帧缓存器31,计算子系统2包括并行解码器21和并行HEVC视频编码器22,且每个并行HEVC视频编码器22分别通过高速传输网络和参考帧缓存器31与其他计算子系统2中的并行解码器21连接,互连网络3为以太网或高速广域网。
如图4所示,并行解码器21包括熵解码模块2101、解码比例缩放反变化模块2102、解码去块效应及取样适应偏置滤波模块2103、解码帧内预测模块2104、解码运动补偿模块2105、解码器控制模块2106和解码帧内帧间选择模块2107,熵解码模块2101分别与互联网络3、解码比例缩放反变化模块2102、解码去块效应及取样适应偏置滤波模块2103、解码帧内预测模块2104、解码运动补偿模块2105和解码器控制模块2106连接,解码帧内帧间选择模块2107分别与解码帧内预测模块2104、解码运动补偿模块2105和解码器控制模块2106连接,解码比例缩放反变化模块2102分别与解码去块效应及取样适应偏置滤波模块2103和解码器控制模块2106连接,解码比例缩放反变化模块2102通过高速传输网络与其他计算子系统2中的并行HEVC视频编码器22连接,解码去块效应及取样适应偏置滤波模块2103通过参考帧缓存器31与并行HEVC视频编码器22连接。
并行HEVC视频编码器22包括编码树单元划分模块2201、变换比例缩放量化模块2202、熵编码模块2203、编码器控制模块2204、编码比例缩放反变换模块2205、编码帧内估计模块2206、编码帧内预测模块2207、编码运动估计模块2208、编码运动补偿模块2209、编码帧内帧间选择模块2210、滤波器控制分析模块2211和编码去块效应及取样适应偏置滤波模块2212,编码器控制模块2204分别与主HEVC编码器1、编码树单元划分模块2201、变换比例缩放量化模块2202、熵编码模块2203、编码帧内估计模块2206、编码运动估计模块2208和编码帧内帧间选择模块2210连接,编码树单元划分模块2201分别与变换比例缩放量化模块2202、编码运动估计模块2208和滤波器控制分析模块2211连接,熵编码模块2203分别与互联网络3、变换比例缩放量化模块2202、编码帧内估计模块2206、编码运动估计模块2208和滤波器控制分析模块2211连接,编码比例缩放反变换模块2205分别与变换比例缩放量化模块2202和滤波器控制分析模块2211连接,滤波器控制分析模块2211分别与编码帧内估计模块2206、编码帧内预测模块2207和编码去块效应及取样适应偏置滤波模块2212连接,编码帧内帧间选择模块2210分别与编码帧内预测模块2207和编码运动补偿模块2209连接,编码帧内预测模块2207分别与编码帧内估计模块2206以及其他计算子系统2中并行解码器21的解码比例缩放反变化模块2102连接,解码去块效应及取样适应偏置滤波模块2103通过参考帧缓存器31分别与编码运动估计模块2208和编码运动补偿模块2209连接。
一种基于分布式计算机系统的并行HEVC编码方法,包括以下步骤:
1)主HEVC编码器将视频流中的待编码帧分为多个不重叠的行帧信息,并且依次发到多个计算子系统中;
2)每个计算子系统根据获取到的多个不重叠的行帧信息,并将不重叠的行帧信息分为多个CTU帧单元,且计算子系统中的每一个线程对应一行CTU帧单元;
3)计算子系统开始在一个线程中对一行CTU帧单元进行编码,并行HEVC视频编码器获取当前待编码的CTU帧单元信息,根据控制信息进行帧内预测或是帧间预测,并将编码完成的当前CTU帧单元的编码比特流分别发送给其他计算子系统的并行解码器和合并输出模块;
4)当计算子系统中的所有线程全部完成对当前待编码帧的编码时,合并输出模块将获取到的多个CTU帧单元的编码比特流整合为一个完整的编码帧比特流发出。
步骤3)中的帧内预测包括以下步骤:
311)并行HEVC视频编码器在编码器控制模块控制下,获取当前待编码的CTU帧单元信息;
312)并行解码器根据解码器控制模块的控制下,获取其他计算子系统对应线程中的CTU帧单元的编码比特流,在熵解码模块中进行解码后,进行比例缩放和反变换得到帧内预测数据,并且通过高速传输网络发送给并行HEVC视频编码器中的编码帧内预测模块,用以产生帧内预测值;
313)并行HEVC视频编码器将当前待编码的CTU帧单元信息与帧内预测值产生残差后,进行比例缩放和量化并发送到熵编码模块中进行编码,产生当前待编码的CTU帧单元的编码比特流,并将该比特流分别发送给合并输出模块和其他计算子系统的并行解码器;
314)并行HEVC视频编码器将比例缩放和量化后的数据同时发送给编码帧内估计模块和编码帧内预测模块,同时结合帧内预测数据产生帧内预测值。
步骤3)中的帧间预测包括以下步骤:
321)并行HEVC视频编码器在编码器控制模块控制下,获取当前待编码的CTU帧单元信息;
322)并行解码器根据解码器控制模块的控制下,其他计算子系统对应线程中的CTU帧单元的编码比特流,在熵解码模块中进行解码,进行比例缩放和反变换后发送给解码去块效应及取样适应偏置滤波模块产生当前CTU帧单元的预测帧,并且通过参考帧缓存器发送给并行HEVC视频编码器中的编码运动估计模块和编码运动补偿模块,用以产生帧间预测值;
323)并行HEVC视频编码器将当前待编码的CTU帧单元信息与帧间预测值产生残差后,进行比例缩放和量化并发送到熵编码模块中进行编码,产生当前待编码的CTU帧单元的编码比特流,并将该比特流分别发送给合并输出模块和其他计算子系统的并行解码器;
324)并行HEVC视频编码器将比例缩放和量化后的数据同时发送给编码运动估计模块和编码运动补偿模块,同时结合帧间预测数据产生帧间预测值。
并行HEVC编码方法中的编码方式包括OWF方式、WPP方式、Tiles方式和Slices方式,这些并行编码方式都是将当前编码帧划分为多个不相重叠的区域,每一个区域采用一个线程进行编码,从而将原来单线程顺序编码转换为多线程并行编码,提高编码速度。
分布式计算机系统共有N个计算子系统参与对当前输入视频序列的并行编码,当前帧划分为M个不重叠区域,由HEVC编码器并发M个线程对当前帧进行并行编码。本发明方法的每一个子系统都包含一个并行解码模块和一个并行HEVC编码模块:并行解码模块的作用是对其它子系统的编码比特流进行解码重建其它子系统编码的CTU,供该子系统的并行HEVC编码模块进行帧内预测和进行去块效应滤波和取样适应偏置滤波,并用于在该子系统中形成完整的帧间预测用参考帧,供后续帧间预测编码使用;并行HEVC编码模块的作用是运行分配到该子系统的一个或多个并发编码线程进行编码。每一个子系统的并行HEVC编码模块输出的编码比特流将通过子系统间的互连网络传输到其它子系统,以便其它子系统能够用并行解码模块对当前编码帧进行完全重建,输出到其它子系统的参考帧缓存中,做为后续帧间预测编码的参考帧。同时每一个子系统的并行HEVC编码模块输出的编码比特流将输出到一个比特流合并输出模块。该模块可以位于分布式计算机系统中任何一个合适的子系统中。比特流合并输出模块将对各子系统输出的编码比特流进行合并,并加上相应的语法元素形成最终输出的符合HEVC标准的视频编码比特流。
本发明方法中的各子系统编码运行原理如下。假设子系统分配到K个并行编码线程。则该子系统会并发K个视频编码线程进行HEVC视频编码。
假设子系统分配到的第i个线程对当前帧第i个区域进行编码。
子系统的并行解码模块由标准的HEVC解码器的各模块构成主要包括:熵解码模块、比例缩放和反变换模块、帧内/帧间选择模块、运动补偿模块、帧内预测模块、去块效应滤波和取样适应偏置滤波模块和解码器控制模块等。与传统HEVC解码器的主要区别在于:
1.并行解码模块对其它子系统的已编码CTU经HEVC解码后得到相应的CTU图像数据。这些CTU图像数据经过去块效应滤波和取样适应偏置滤波后输出到参考帧缓存,和该子系统并行HEVC编码模块中去块效应滤波和取样适应偏置滤波模块输出的当前帧中的重建CTU图像数据合并形成当前编码帧的重建图像,做为后续帧间预测编码时的参考帧;
2.并行解码模块解码得到的其它子系统编码的当前帧的CTU图像数据在未经过去块效应滤波和取样适应偏置滤波时将直接输出给该子系统的并行HEVC编码模块,以便该子系统的并行HEVC编码模块对其编码图像区域和其它子系统编码图像区域相邻的边界部分进行编码时可以利用这些CTU图像数据进行帧内预测、去块效应滤波和取样适应偏置滤波,如图4中箭头A所指的从并行解码模块向线程i视频编码模块进行的数据传输;
3.该子系统并行解码模块在对其它子系统编码区域边界部分进行解码时,其中帧内预测和去块效应滤波和取样适应偏置滤波可直接使用该子系统中并行HEVC编码模块中对该子系统编码CTU进行重建的图像数据,如图4中箭头A所指的从线程i视频编码模块向并行编码模块进行的数据传输。
并行HEVC编码模块与传统的HEVC编码器的主要区别在于:
1.熵编码模块根据具体编码模式配置,在WPP和OWF并行方式下,将该线程熵编码的上下文模型参数传输给该子系统的根据HEVC标准依编码次序随后启动的编码紧邻区域的并行编码线程和其它子系统的根据HEVC标准依编码次序随后启动的编码紧邻区域的并行编码线程,以便其它并行编码线程进行熵编码;
2.编码器控制模块可接收该子系统编码紧邻区域的根据HEVC标准在该线程之前启动的并行编码线程和其它子系统编码紧邻区域的根据HEVC标准在该线程之前启动的并行编码线程的编码控制参数和熵编码上下文模型参数,并利用其它并行编码线程和其它子系统并行编码线程的熵编码上下文模型参数控制调整该线程熵编码模块的上下文模型;
3.编码器控制模块可将该并行线程编码器的编码参数传输给该子系统的其它并行编码线程和其它子系统的并行编码线程,以便进行码率控制和率失真控制等控制;
4.帧内预测模块、帧内估计模块和去块效应滤波和取样适应偏置滤波模块可直接使用该子系统并行解码模块的CTU图像重建数据进行帧内预测、估计和去块效应滤波和取样适应偏置滤波,从并行解码模块向线程i视频编码模块进行的数据传输;
5.该并行线程编码模块重建的CTU图像数据经过去块效应滤波和取样适应偏置滤波后将数据存放于参考帧缓存中对应于当前帧第i个区域的位置,以便和该子系统其它并行线程编码模块的输出重建图像数据以及并行解码模块输出的重建图像数据合并形成当前帧的重建帧,做为后续帧间预测编码的参考帧。
如图5所示,下面以采用WPP方式进行并行HEVC编码为例对本发明方法进行举例说明。
进行WPP方式编码时,视频帧中并行编码区域的划分可采取任何按符合HEVC标准规定划分方法进行划分。在此实施说明中假设一个图像帧划分为一个Slice。WPP并行编码方式将Slice内的CTU按行划分,每一行用一个线程进行编码。图中给出了视频图像一帧只划分为一个Slice情况下的示意图。图中的视频帧图像包含4行CTU,每一行CTU采用一个线程进行编码,线程编号和CTU行号相同。同时假设当前编码帧为视频图像序列中的第j帧编码帧,前面的编码帧已完成编码。
根据HEVC标准,在WPP并行编码时,第一行的CTU按照正常方式进行编码;第二行开始其后的每一行编码在前一行前两个CTU编码完成后开始进行编码。第二行开始其后每行的熵编码的上下文模型根据需要根据前一行已编码完的两个CTU的上下文模型得出。
对于WPP并行编码采用本发明的方法时,每个子系统可分配一个编码线程也可分配多个编码线程。当子系统分配多个编码线程时,在一个子系统上的多个编码线程之间的协调运行按照通常的多核系统并行编码方式运行。而多个子系统间编码线程之间的协调运行按照本发明所提供的方法进行协调运行。下面以每个子系统分配一个编码线程为例说明本发明提供的子系统间编码线程协调运行的方法。
假设整个系统配置如下:需要编码的视频图像共有N行CTU,分布式计算机系统共有N+1个子系统,其中有N个编码子系统负责进行编码,1个合并子系统专门负责各子系统编码后的比特流合并,该合并子系统功能也放在任意一计算能力合适的编码子系统中进行完成。假设第i个编码子系统分配到第i个WPP编码线程,在对当前帧开始编码前,每一个子系统都已经存储所需编码的当前输入视频帧,并已经通过对其它子系统编码视频码流进行解码获得所有参考帧图像数据。
编码子系统中并行HEVC编码模块运行如下:
对输入视频当前编码帧进行编码时从第1个子系统开始编码,第1个子系统对第1行CTU进行编码,编码后的比特流通过子系统间的互连网络传输给其它子系统,并将熵编码的上下文模型参数通过互连网络传输给第2个子系统;当第二个子系统获得第1行第二个CTU熵编码的上下文模型参数后开始按照WPP方式进行第二行CTU的编码,编码后的比特流通过子系统间的互连网络传输给其它子系统,并将熵编码的上下文模型参数通过互连网络传输给第3个子系统;第3个子系统及以后的子系统在获得前一个行第二个CTU熵编码的上下文模型参数后开始按照WPP方式进行第该子系统对应行的CTU的编码,编码后的比特流通过子系统间的互连网络传输给其它子系统,并将熵编码的上下文模型参数通过互连网络传输给下一个子系统。同时各子系统中的并行HEVC编码模块对该子系统编码的CTU进行重建,输出到该子系统的参考帧缓存中当前重建帧对应的CTU位置。如果当前编码帧的CTU进行的是帧内预测编码,则第i行的帧内预测的参考数据是第i-1行CTU的重建数据,需要从该子系统其它并行子系统码流解码模块对第i-1个子系统对第i-1行CTU编码码流的解码重建获得。各子系统中并行HEVC编码模块的一些编码模块控制器的参数,如码率控制和率失真控制等,也将通过子系统间的互连网络在各子系统中进行同步。
编码子系统中的其它并行子系统码流解码模块运行如下:
各子系统中的该模块接受其它子系统的编码比特流,然后进行HEVC解码,对其它子系统编码的当前帧的CTU进行重建。重建后的CTU存入该子系统参考帧缓存中当前重建帧对应的CTU位置。如果其它子系统传输的码流对应的CTU进行的是帧内预测编码,且参考图像数据用的是该子系统编码的CTU的图像数据,则该模块解码是将直接从该子系统并行HEVC编码模块中获得相应数据。
系统的码流合并子系统缓存各编码子系统输出的编码码流,然后按符合HEVC标准的码流格式对其进行合并输出。
对于OWF的方式其实施方式和WPP方式相同,区别在于帧间预测编码时每一个CTU编码时运动向量的搜索范围需要符合OWF的规定范围。
对于Tiles和Slices的方式,其实施时和WPP方式相似。
Claims (8)
1.一种基于分布式计算机系统的并行HEVC编码系统,其特征在于,包括多个依次连接的计算子系统(2)、分别与多个计算子系统(2)连接的互联网络(3)和主HEVC编码器(1)以及与互联网络(3)连接的合并输出模块(4),所述的互联网络(3)包括高速传输网络和参考帧缓存器(31),所述的计算子系统(2)包括并行解码器(21)和并行HEVC视频编码器(22),且每个并行HEVC视频编码器(22)分别通过高速传输网络和参考帧缓存器(31)与其他计算子系统(2)中的并行解码器(21)连接。
2.根据权利要求1所述的一种基于分布式计算机系统的并行HEVC编码系统,其特征在于,所述的并行解码器(21)包括熵解码模块(2101)、解码比例缩放反变化模块(2102)、解码去块效应及取样适应偏置滤波模块(2103)、解码帧内预测模块(2104)、解码运动补偿模块(2105)、解码器控制模块(2106)和解码帧内帧间选择模块(2107),所述的熵解码模块(2101)分别与互联网络(3)、解码比例缩放反变化模块(2102)、解码去块效应及取样适应偏置滤波模块(2103)、解码帧内预测模块(2104)、解码运动补偿模块(2105)和解码器控制模块(2106)连接,所述的解码帧内帧间选择模块(2107)分别与解码帧内预测模块(2104)、解码运动补偿模块(2105)和解码器控制模块(2106)连接,所述的解码比例缩放反变化模块(2102)分别与解码去块效应及取样适应偏置滤波模块(2103)和解码器控制模块(2106)连接,所述的解码比例缩放反变化模块(2102)通过高速传输网络与其他计算子系统(2)中的并行HEVC视频编码器(22)连接,所述的解码去块效应及取样适应偏置滤波模块(2103)通过参考帧缓存器(31)与并行HEVC视频编码器(22)连接。
3.根据权利要求2所述的一种基于分布式计算机系统的并行HEVC编码系统,其特征在于,所述的并行HEVC视频编码器(22)包括编码树单元划分模块(2201)、变换比例缩放量化模块(2202)、熵编码模块(2203)、编码器控制模块(2204)、编码比例缩放反变换模块(2205)、编码帧内估计模块(2206)、编码帧内预测模块(2207)、编码运动估计模块(2208)、编码运动补偿模块(2209)、编码帧内帧间选择模块(2210)、滤波器控制分析模块(2211)和编码去块效应及取样适应偏置滤波模块(2212),所述的编码器控制模块(2204)分别与主HEVC编码器(1)、编码树单元划分模块(2201)、变换比例缩放量化模块(2202)、熵编码模块(2203)、编码帧内估计模块(2206)、编码运动估计模块(2208)和编码帧内帧间选择模块(2210)连接,所述的编码树单元划分模块(2201)分别与变换比例缩放量化模块(2202)、编码运动估计模块(2208)和滤波器控制分析模块(2211)连接,所述的熵编码模块(2203)分别与互联网络(3)、变换比例缩放量化模块(2202)、编码帧内估计模块(2206)、编码运动估计模块(2208)和滤波器控制分析模块(2211)连接,所述的编码比例缩放反变换模块(2205)分别与变换比例缩放量化模块(2202)和滤波器控制分析模块(2211)连接,所述的滤波器控制分析模块(2211)分别与编码帧内估计模块(2206)、编码帧内预测模块(2207)和编码去块效应及取样适应偏置滤波模块(2212)连接,所述的编码帧内帧间选择模块(2210)分别与编码帧内预测模块(2207)和编码运动补偿模块(2209)连接,所述的编码帧内预测模块(2207)分别与编码帧内估计模块(2206)以及其他计算子系统(2)中并行解码器(21)的解码比例缩放反变化模块(2102)连接,所述的解码去块效应及取样适应偏置滤波模块(2103)通过参考帧缓存器(31)分别与编码运动估计模块(2208)和编码运动补偿模块(2209)连接。
4.根据权利要求1所述的一种基于分布式计算机系统的并行HEVC编码系统,其特征在于,所述的互连网络(3)为以太网或高速广域网。
5.一种应用如权利要求1的基于分布式计算机系统的并行HEVC编码系统的编码方法,其特征在于,包括以下步骤:
1)主HEVC编码器将视频流中的待编码帧分为多个不重叠的行帧信息,并且依次发到多个计算子系统中;
2)每个计算子系统根据获取到的多个不重叠的行帧信息,并将不重叠的行帧信息分为多个CTU帧单元,且计算子系统中的每一个线程对应一行CTU帧单元;
3)计算子系统开始在一个线程中对一行CTU帧单元进行编码,并行HEVC视频编码器获取当前待编码的CTU帧单元信息,根据控制信息进行帧内预测或是帧间预测,并将编码完成的当前CTU帧单元的编码比特流分别发送给其他计算子系统的并行解码器和合并输出模块;
4)当计算子系统中的所有线程全部完成对当前待编码帧的编码时,合并输出模块将获取到的多个CTU帧单元的编码比特流整合为一个完整的编码帧比特流发出。
6.根据权利要求5所述的一种编码方法,其特征在于,所述的步骤3)中的帧内预测包括以下步骤:
311)并行HEVC视频编码器在编码器控制模块控制下,获取当前待编码的CTU帧单元信息;
312)并行解码器根据解码器控制模块的控制下,获取其他计算子系统对应线程中的CTU帧单元的编码比特流,在熵解码模块中进行解码后,进行比例缩放和反变换得到帧内预测数据,并且通过高速传输网络发送给并行HEVC视频编码器中的编码帧内预测模块,用以产生帧内预测值;
313)并行HEVC视频编码器将当前待编码的CTU帧单元信息与帧内预测值产生残差后,进行比例缩放和量化并发送到熵编码模块中进行编码,产生当前待编码的CTU帧单元的编码比特流,并将该比特流分别发送给合并输出模块和其他计算子系统的并行解码器;
314)并行HEVC视频编码器将比例缩放和量化后的数据同时发送给编码帧内估计模块和编码帧内预测模块,同时结合帧内预测数据产生帧内预测值。
7.根据权利要求5所述的一种编码方法,其特征在于,所述的步骤3)中的帧间预测包括以下步骤:
321)并行HEVC视频编码器在编码器控制模块控制下,获取当前待编码的CTU帧单元信息;
322)并行解码器根据解码器控制模块的控制下,其他计算子系统对应线程中的CTU帧单元的编码比特流,在熵解码模块中进行解码,进行比例缩放和反变换后发送给解码去块效应及取样适应偏置滤波模块产生当前CTU帧单元的预测帧,并且通过参考帧缓存器发送给并行HEVC视频编码器中的编码运动估计模块和编码运动补偿模块,用以产生帧间预测值;
323)并行HEVC视频编码器将当前待编码的CTU帧单元信息与帧间预测值产生残差后,进行比例缩放和量化并发送到熵编码模块中进行编码,产生当前待编码的CTU帧单元的编码比特流,并将该比特流分别发送给合并输出模块和其他计算子系统的并行解码器;
324)并行HEVC视频编码器将比例缩放和量化后的数据同时发送给编码运动估计模块和编码运动补偿模块,同时结合帧间预测数据产生帧间预测值。
8.根据权利要求5所述的一种编码方法,其特征在于,所述的并行HEVC编码方法中的编码方式包括OWF方式、WPP方式、Tiles方式和Slices方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510119665.9A CN104780377B (zh) | 2015-03-18 | 2015-03-18 | 一种基于分布式计算机系统的并行hevc编码系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510119665.9A CN104780377B (zh) | 2015-03-18 | 2015-03-18 | 一种基于分布式计算机系统的并行hevc编码系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104780377A CN104780377A (zh) | 2015-07-15 |
CN104780377B true CN104780377B (zh) | 2017-12-15 |
Family
ID=53621574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510119665.9A Expired - Fee Related CN104780377B (zh) | 2015-03-18 | 2015-03-18 | 一种基于分布式计算机系统的并行hevc编码系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104780377B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107483950A (zh) * | 2016-06-07 | 2017-12-15 | 北京大学 | 图片并行编码方法及系统 |
CN112218091B (zh) * | 2020-09-16 | 2023-03-17 | 博流智能科技(南京)有限公司 | 帧内解码方法及帧内解码模块 |
CN116389762B (zh) * | 2023-06-05 | 2023-08-15 | 长沙千视电子科技有限公司 | 一种视频数据SpeedHQ编码方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101150719A (zh) * | 2006-09-20 | 2008-03-26 | 华为技术有限公司 | 并行视频编码的方法及装置 |
CN104125466A (zh) * | 2014-07-10 | 2014-10-29 | 中山大学 | 一种基于gpu的hevc并行解码方法 |
CN104185989A (zh) * | 2012-04-20 | 2014-12-03 | 华为技术有限公司 | 用于帧内预测残差的二值化方案和hevc中无损编码中的改进帧内预测 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9794569B2 (en) * | 2013-01-30 | 2017-10-17 | Intel Corporation | Content adaptive partitioning for prediction and coding for next generation video |
-
2015
- 2015-03-18 CN CN201510119665.9A patent/CN104780377B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101150719A (zh) * | 2006-09-20 | 2008-03-26 | 华为技术有限公司 | 并行视频编码的方法及装置 |
CN104185989A (zh) * | 2012-04-20 | 2014-12-03 | 华为技术有限公司 | 用于帧内预测残差的二值化方案和hevc中无损编码中的改进帧内预测 |
CN104125466A (zh) * | 2014-07-10 | 2014-10-29 | 中山大学 | 一种基于gpu的hevc并行解码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104780377A (zh) | 2015-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104041035B (zh) | 用于复合视频的无损编码及相关信号表示方法 | |
CN101150719B (zh) | 并行视频编码的方法及装置 | |
CN104869398B (zh) | 一种基于cpu+gpu异构平台实现hevc中的cabac的并行方法 | |
CN107925762A (zh) | 基于神经网络的视频编解码处理方法和装置 | |
CN103141092B (zh) | 针对视频压缩使用运动补偿的基于示例的超分辨率来编码视频信号的方法和设备 | |
CN106170092A (zh) | 用于无损编码的快速编码方法 | |
CN104685884B (zh) | 用于视频编码的方法及设备、用于视频解码的方法 | |
CN103442228B (zh) | 从h.264/avc标准到hevc标准的快速帧内转码方法及其转码器 | |
CN102640492A (zh) | 对图像边界的编码单元进行编码和解码的方法和设备 | |
CN104780377B (zh) | 一种基于分布式计算机系统的并行hevc编码系统及方法 | |
CN103098472A (zh) | 用于分层图像编码和解码的方法和设备 | |
CN104704826B (zh) | 两步量化和编码方法和装置 | |
CN110234012A (zh) | 用于高性能视频编码中的无损编码模式的环内滤波的装置 | |
CN107241598A (zh) | 一种针对多路h.264视频会议的GPU解码方法 | |
CN110493596A (zh) | 一种基于神经网络的视频编码框架 | |
CN103297777A (zh) | 一种用于加速视频编码速度的方法及装置 | |
CN1319382C (zh) | 可伸缩视频编解码器体系结构设计方法 | |
CN102572430A (zh) | 一种基于可重构技术的h.264去块滤波算法的实现方法 | |
CN109391816B (zh) | 基于cpu+gpu异构平台实现hevc中熵编码环节的并行处理方法 | |
CN102082919A (zh) | 数字视频矩阵 | |
CN114494569A (zh) | 基于轻量级神经网络和残差流式传输的云渲染方法和装置 | |
CN103634608B (zh) | 一种高性能视频编码无损模式的残差变换方法 | |
CN102801980B (zh) | 一种用于可伸缩视频编码的解码装置和方法 | |
CN103533351B (zh) | 一种多量化表的图像压缩方法 | |
CN102595137A (zh) | 基于图像像素块行/列流水线的快速模式判决装置和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171215 Termination date: 20200318 |
|
CF01 | Termination of patent right due to non-payment of annual fee |