基于多核平台多层次任务级与数据级并行的HEVC解码方法技术

技术编号:22615926 阅读:45 留言:0更新日期:2019-11-26 09:48
本发明专利技术公开了基于多核平台多层次任务级与数据级并行的HEVC解码方法。本发明专利技术利用HEVC数据中的依赖性,以多核处理器为处理平台,同时结合HEVC标准,将整个HEVC解码器划分为5个任务模块,分别为码流读取模块、熵解码模块、像素重构模块、去方块滤波模块以及样点自适应补偿模块;针对不同的解码任务模块分别设计并行方法,同时在各模块间利用各CTU单元的依赖关系实现不同解码任务间基于CTU单元的流水线并行处理。引入数据冗余减少机制,只将部分参考像素点放到缓存空间中,避免过多的数据操作,对缓冲存储空间进行有效管理,提升解码效率。本发明专利技术方法采用的多核并行解码算法相比于串行解码,大大提高了解码的并行加速比,并保证了解码图像质量。

Hevc decoding method based on multi-level task level and data level parallel of multi-core platform

The invention discloses a hevc decoding method based on multi-core platform and multi-level task level and data level parallel. According to the dependence of hevc data, the multi-core processor is used as the processing platform, and at the same time, the whole hevc decoder is divided into five task modules according to the hevc standard, which are respectively code stream reading module, entropy decoding module, pixel reconstruction module, deblocking filter module and sample adaptive compensation module; parallel methods are designed for different decoding task modules, and at the same time Among the modules, the dependence of each CTU unit is used to realize the pipeline parallel processing based on CTU unit among different decoding tasks. By introducing data redundancy reduction mechanism, only some reference pixels are put into the cache space, avoiding too much data operation, effectively managing the buffer storage space, and improving the decoding efficiency. Compared with serial decoding, the multi-core parallel decoding algorithm adopted by the method of the invention greatly improves the parallel acceleration ratio of decoding and ensures the quality of decoded image.

【技术实现步骤摘要】
基于多核平台多层次任务级与数据级并行的HEVC解码方法
本专利技术属于数字视频信号编解码领域,具体涉及基于多核平台多层次任务级与数据级并行的HEVC解码方法。
技术介绍
随着高清、超高清视频应用的急剧增加,为提高压缩性能以及满足海量视频数据的传输和存储要求,视频编码联合协作小组JCT-VC在2013年4月正式发布了新一代高效视频编解码国际标准HEVC(HighEfficiencyVideoCoding)。HEVC编解码标准的主要目标是在H.264/AVC标准的基础上,在保证相同视频图像质量的前提下,将高分辨率的视频图像压缩效率提高一倍,使视频流的码率减少50%,进而更好地适应各种不同的网络环境,同时能够支持多核并行编解码。HEVC的编码框架沿用了H.264/AVC的混合编码框架,是一种基于块的混合编码方案。但与以往的混合编码方案不同,HEVC几乎在每一个编码环节上都采取了重要的改进措施。HEVC将编码帧分为若干相邻但不重叠的方形编码树单元(CodingTreeUnit,CTU),CTU可以按照四叉树的形式进一步划分为若干方形编码单元CU(CodingUnit),CU还可以分解为更小的预测单元PU(PredictionUnit)和变换单元TU(TransformUnit)。HEVC在H.264/AVC预测模式基础上增加了很多方向预测模式来消除图像的空间相关性,每个PU支持35种预测模式。HEVC除了采用和H.264/AVC类似的环内去方块滤波(DeBlockingFilter,DBF)外,还增加了新的样点自适应补偿SAO(SampleAdaptiveOffset)环内滤波工具,以此来减少失真。与以往的视频编解码标准相比,HEVC面临着计算复杂性迅速增加的问题,这直接影响了它的运行和实现,而提高处理速度、增强计算能力的有效方法之一就是在多核平台上进行并行化处理。Tilera系列多核处理器在当前多核处理器市场上就非常具有代表性,它作为一种可重构阵列结构DSP,采用了网格化多核架构,通过iMesh网络实现众多处理器核互连,将单芯片运算处理能力提高了几十到上百倍。国内的很多学者已经在多核处理器上对视频编解码标准做了一些研究。2016年,南京邮电大学的方狄在其论文“基于Tilera多核处理器的HEVC多层次并行解码方法的研究与实现”中将HEVC解码器分为三个任务模块,分别为熵解码模块、像素解码模块以及去方块滤波模块,并就后两个任务模块分别设计基于CTU行的并行方法,用单个核对同一CTU行进行串行解码操作,同时利用任务模块间CTU行的依赖关系实现解码器的并行计算处理。2016年,西南交通大学的刘鹏在其论文“基于多核的嵌入式HEVC解码器并行优化”中研究了一种去方块滤波并行方法,在该方法中,解码器会为每个线程分配均衡数目的CTU行,然后各线程会先对其所负责的多个CTU行进行垂直边界的滤波操作,待一帧图像的垂直边界滤波操作完成后,则再用这些线程对CTU行中所有的水平边界进行处理。但他们的研究有着一定的局限性,如对各任务模块进行并行处理时,是以CTU行为并行粒度,解码器用单个线程去串行解码一行CTU,但像素解码模块和去方块滤波模块其在进行并行化处理时的依赖关系是存在于各CTU单元之上的,而不是CTU行,这在一定程度上会增加时延,同时使得多核资源不能充分利用,造成核资源的浪费。另外去方块滤波的并行处理,完全地将垂直边界与水平边界的滤波操作分离开来,未充分考虑各边界的依赖关系,未能将垂直边界与水平边界的滤波操作相结合以实现并行操作,并行效率未能有效提升。
技术实现思路
本专利技术所要解决的技术问题是现有技术对各任务模块进行并行处理时,是以CTU行为并行粒度,没有考虑CTU单元的依赖关系;同时去方块滤波的并行处理,完全地将垂直边界与水平边界的滤波操作分离开来,未充分考虑各边界的依赖关系,并行效率未能有效提升。为解决上述技术问题,本专利技术提供基于多核平台多层次任务级与数据级并行的HEVC解码方法,包括:步骤1、主线程首先对整个HEVC解码器进行初始化操作,读取二进制码流文件,创建HEVC解码器以及对内存单元进行申请;步骤2、从所读取的二进制码流中截取当前帧的码流并调用函数,对视频码流的设定单元进行解析,将得到的视频参数和全局信息保存至解码图像对象结构体中;步骤3、根据配置参数分配预设数目的线程,通过多核函数库将每个线程与不同的核进行绑定;步骤4、一个线程读取视频码流,对视频码流进行熵解码解析操作,在熵解码操作结束后将得到的量化系数QP和残差数据存入帧缓存中;步骤5、当前CTU单元的熵解码操作完成后,若当前CTU单元的左相邻、左上相邻、上相邻、右上相邻的CTU单元像素解码重构若都完成则安排线程对当前CTU单元进行像素解码重构;若线程完成当前CTU单元的像素解码重构操作,转入任务队列并进入等待状态;步骤6、当前CTU单元像素解码重构结束之后,且当前CTU单元左相邻CTU单元已完成垂直边界滤波操作,随即安排线程对当前CTU单元进行垂直边界的滤波处理操作,处理完成后,线程转入任务队列并进入等待状态;步骤7、当前CTU单元完成垂直边界滤波操作后,且当前CTU单元的左相邻、上相邻CTU单元已完成垂直边界的滤波,则安排线程对其进行水平边界的滤波操作;步骤8、若当前CTU单元的左相邻、左上相邻、上相邻、右上相邻的CTU单元样点自适应补偿操作都完成则安排线程对当前CTU单元进行样点自适应补偿SAO操作;步骤9、对下一帧图像帧中重复步骤5~8直到一帧视频码流的解码完成;步骤10、完成一帧视频码流的解码之后,检测视频码流是否全部解码完成,若完成则释放所有的资源和销毁线程池;若没完成,则返回步骤4。本专利技术所达到的有益效果:本专利技术以多核处理器为处理平台,同时结合HEVC标准,将整个HEVC解码器划分为5个任务模块,分别为码流读取模块、熵解码模块、像素重构模块、去方块滤波模块以及样点自适应补偿模块;针对不同的解码任务模块分别设计并行方法,并对缓冲存储空间进行有效管理,同时在各模块间利用各CTU单元的依赖关系实现不同解码任务间基于CTU单元的流水线并行处理,采用线程池技术为解码任务动态分配线程资源,提高多核资源利用率,且可以移植到其他的多核处理器中;本方法在保证解码图像质量的前提下,在多核处理器平台上对未使用任何并行编码方式的高清单一码流进行并行解码,完成视频解码器的并行操作,提高解码器整体并行加速比以及提升多核处理器的核利用率。附图说明图1是本专利技术方法实施例的流程图;图2是本专利技术方法实施例实现的HEVC解码器架构;图3是本专利技术方法实施例的像素解码重构模块可并行处理的CTU单元的示意图;图4是本专利技术方法实施例的像素解码操作时需存放到缓冲存储区的像素点;图5是本专利技术方法实施例的当前CTU单元像素解码时所需的参考像素点;图6是本专利技术方法实施例的去方块滤波操作时边界强度计算流程图;图7是本专利技术方法实施例的行去方块滤波并行本文档来自技高网
...

【技术保护点】
1.基于多核平台多层次任务级与数据级并行的HEVC解码方法,其特征在于,包括以下步骤:/n步骤1:主线程首先对整个HEVC解码器进行初始化操作,读取二进制码流文件,创建HEVC解码器以及对内存单元进行申请;/n步骤2:从所读取的二进制码流中截取当前帧的码流并调用函数,对视频码流的设定单元进行解析,将得到的视频参数和全局信息保存至解码图像对象结构体中;/n步骤3:根据配置参数分配预设数目的线程,通过多核函数库将每个线程与不同的核进行绑定;/n步骤4:一个线程读取视频码流,对视频码流进行熵解码解析操作,在熵解码操作结束后将得到的量化系数QP和残差数据存入帧缓存中;/n步骤5:当前CTU单元的熵解码操作完成后,若当前CTU单元的左相邻、左上相邻、上相邻、右上相邻的CTU单元像素解码重构若都完成则安排线程对当前CTU单元进行像素解码重构;若线程完成当前CTU单元的像素解码重构操作,转入任务队列并进入等待状态;/n步骤6:当前CTU单元像素解码重构结束之后,且当前CTU单元左相邻CTU单元已完成垂直边界滤波操作,随即安排线程对当前CTU单元进行垂直边界的滤波处理操作,处理完成后,线程转入任务队列并进入等待状态;/n步骤7:当前CTU单元完成垂直边界滤波操作后,且当前CTU单元的左相邻、上相邻CTU单元已完成垂直边界的滤波,则安排线程对其进行水平边界的滤波操作;/n步骤8:若当前CTU单元的左相邻、左上相邻、上相邻、右上相邻的CTU单元样点自适应补偿操作都完成则安排线程对当前CTU单元进行样点自适应补偿SAO操作;/n步骤9:对下一帧图像帧中重复步骤5~8直到一帧视频码流的解码完成;/n步骤10:完成一帧视频码流的解码之后,检测视频码流是否全部解码完成,若完成则释放所有的资源和销毁线程池;若没完成,则返回步骤4。/n...

【技术特征摘要】
1.基于多核平台多层次任务级与数据级并行的HEVC解码方法,其特征在于,包括以下步骤:
步骤1:主线程首先对整个HEVC解码器进行初始化操作,读取二进制码流文件,创建HEVC解码器以及对内存单元进行申请;
步骤2:从所读取的二进制码流中截取当前帧的码流并调用函数,对视频码流的设定单元进行解析,将得到的视频参数和全局信息保存至解码图像对象结构体中;
步骤3:根据配置参数分配预设数目的线程,通过多核函数库将每个线程与不同的核进行绑定;
步骤4:一个线程读取视频码流,对视频码流进行熵解码解析操作,在熵解码操作结束后将得到的量化系数QP和残差数据存入帧缓存中;
步骤5:当前CTU单元的熵解码操作完成后,若当前CTU单元的左相邻、左上相邻、上相邻、右上相邻的CTU单元像素解码重构若都完成则安排线程对当前CTU单元进行像素解码重构;若线程完成当前CTU单元的像素解码重构操作,转入任务队列并进入等待状态;
步骤6:当前CTU单元像素解码重构结束之后,且当前CTU单元左相邻CTU单元已完成垂直边界滤波操作,随即安排线程对当前CTU单元进行垂直边界的滤波处理操作,处理完成后,线程转入任务队列并进入等待状态;
步骤7:当前CTU单元完成垂直边界滤波操作后,且当前CTU单元的左相邻、上相邻CTU单元已完成垂直边界的滤波,则安排线程对其进行水平边界的滤波操作;
步骤8:若当前CTU单元的左相邻、左上相邻、上相邻、右上相邻的CTU单元样点自适应补偿操作都完成则安排线程对当前CTU单元进行样点自适应补偿SAO操...

【专利技术属性】
技术研发人员:胡栋韩峰谷涛
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利