数据级和任务级融合的并行解码方法、装置及存储介质制造方法及图纸

技术编号:31615322 阅读:46 留言:0更新日期:2021-12-29 18:48
本发明专利技术公开了数据级和任务级融合的并行解码方法、装置及存储介质,以CTU的划分深度以及CU到PU的划分方式来确定CTU的解码复杂度,再将相同复杂度的CTU组分配给多个线程进行并行处理,从而使像素解码重构时的多线程负载均衡;在数据结构层面,引入位图和增强四叉树结构,使用位图记录CTU解码状态信息,仅在四叉树的叶子节点存储解码信息,同时在解码前,读取位图中存储的CTU解码状态信息,再对当前CTU进行解码,由此提升了CTU状态信息的存取效率;通过在位图和四叉树等数据结构中引入读写锁,避免了多个线程对解码信息的读取产生的资源冲突,实现了所述核心模块的任务级和数据级融合并行处理。并行处理。并行处理。

【技术实现步骤摘要】
数据级和任务级融合的并行解码方法、装置及存储介质


[0001]本专利技术涉及数据级和任务级融合的并行解码方法、装置及存储介质,属于数字视频信号编码解码


技术介绍

[0002]为了应对互联网的飞速发展和人们对视频媒体不断变化的需求,自20世纪 80年代以来,ITU

T(国际电信联盟远程通信标准化组织)和ISO/IEC(国际标准化组织、国际化电工委员会)先后颁发了一系列有关视频编解码的国际标准。在H.264获得巨大的成功后,ITU

T的VCEG(视频编码专家组)和ISO/IEC 的MPEG(动态图像专家组)联合成立了JCT

VC(视频编码联合工作组),JCT

VC 于2013年发布了基于H.264标准制定出了最新的视频编解码标准—H.265/HEVC。H.265视频编解码标准和H.264标准相比,在继承H.264优良特性的基础上提出了很多新的技术,包括灵活的图像四叉树划分、多角度帧内预测等,这些新技术的引入不仅保证了视频的编解码质量,也减少一半的码率,但是同时也导致了编解码复杂度的提升,相较于H.264标准,HEVC标准的复杂度差不多提升了2至3倍,对于单核处理器系统来说,巨大的编解码运算复杂度已经超过了其能力限制,不能满足人们对于高清视频的实时编解码需求,而多核处理器可以通过多个核心协调并行处理来解决这一问题。
[0003]由于网络应用中,解码显示更为广泛,因此HEVC的并行解码技术尤为重要。迄今为止,已经有很多国内外学者做了基于多核处理器的HEVC并行解码方法的研究。2011年1月,有学者提出了一种基于H.264标准的运动补偿模块的流水线并行解码方案,实现了基于Tilera多核处理器的H.264的并行方案优化,提升了解码加速比。2014年7月,IEEE上的IEEE Transactions on Circuits andSystems for Video Technology针对HEVC的运动估计,提出了一个并行框架来解耦多核处理器不同分区的运动估计,其基于局部并行方法的有向无环图(DAG) 的顺序来并行化编码树单元(CTU),并在每个CTU中采用改进的局部并行方法,从而利用CTU级别和预测单元(PU)级别的并行性,实现了对1920
×
1080 视频序列的30倍加速。
[0004]在基于多核平台的HEVC解码并行处理中,本课题组自2015年以来开展了多年的研究,为本文工作的研究积累了丰富的技术资源。2016年,方狄在已有研究的基础上,提出了一种基于Tilera多核处理器的HEVC多层次并进行解码方案,其首先分别实现了基于PB帧模式的帧级并行熵解码算法、CTU行级的并行像素解码算法、去方块滤波并行算法,之后又通过流水线并行方式把三种算法有机结合起来,实现了多层次并行的HEVC解码算法。2018年,韩峰提出了任务级并行和数据级并行相结合的一种并行解码算法,他在方狄研究的基础上,首先提出了一种基于CTU单元的去方块滤波并行解码算法,之后根据HEVC 的依赖性分析,针对不同的解码模块单独设计并行方案,提出了一种任务级和数据级并行的解码算法,实现了不同量化参数下最高8倍的加速比。2019年,张文祥提出了基于Tilera多核处理器的HEVC多路视频并行解码方法,其在论文中首先实现了基于CTU单元的波前并行处理算法,之后又实现了深度耦合的 DF和SAO快速融合环路滤波算法,与重叠波前并行(OWF)相比,解码
时间平均降低了9.9%。2020年,李毅提出了一种基于多核处理平台的HEVC解码核心模块的并行处理算法,其在论文中首先提出了一种基于多线程负载均衡的联合并行环路滤波算法,之后又提出了一种基于CTU单元的HEVC帧内/帧间融合并行解码算法,与OWF相比,实现了18.3%的性能提升。
[0005]前述研究成果虽然已经对HEVC解码模块进行了很好的并行优化,大幅提升了解码效率,但是仍然存在进一步改进的空间,例如:在像素解码重构等模块,由于像素之间存在的依赖关系,当前像素依赖未得到满足的像素不能解码,当前解码线程只能等待,由于没有很好地解决负载均衡导致多核资源未能充分利用。

技术实现思路

[0006]本专利技术的目的在于克服现有技术中的不足,提供数据级和任务级融合的并行解码方法、装置及存储介质,在保证解码图像质量的前提下,进一步提高并行解码效率。
[0007]为达到上述目的,本专利技术是采用下述技术方案实现的:
[0008]第一方面,本专利技术提供了一种数据级和任务级融合的并行解码方法,基于 HEVC平台,包括:
[0009]对当前画面所有编码树单元CTU按照光栅扫描的顺序进行扫描,遍历图像帧,计算每一个CTU的复杂度;
[0010]其中,遍历每个CTU时,读取当前CTU划分深度,遍历CTU中的每个编码单元CU,读取CU到预测单元PU的划分方式的语法元素,确定CU到PU 的划分方式;根据CU到PU的划分方式和预设的权重表为CU配置复杂度权重,对CTU中所有CU的复杂度进行累加,得到CTU的复杂度;
[0011]将每一个CTU的复杂度,按照光栅扫描的顺序存储到映射表中;
[0012]对所有CTU的复杂度进行累加,得到当前帧的总复杂度,再除以线程数,得到每个线程分配的复杂度平均值;
[0013]根据复杂度平均值和CTU复杂度关系映射表,将相同复杂度的CTU组分配给多个线程进行并行解码处理,实现像素解码重构时的多线程负载均衡。
[0014]进一步的,方法还包括:将得到的解码数据根据语法元素存放在增强四叉树数据结构中。
[0015]进一步的,所有CTU的复杂度的公式如下:
[0016][0017][0018]其中,表示第i帧中的第j个CTU的复杂度,表示第i帧的第j个CTU中第k个CU的复杂度。
[0019]进一步的,所有CTU的复杂度计算完成后,为每个线程分配的CTU复杂度公式如下:
[0020][0021]其中W(r
x
)表示每个线程分配的CTU复杂度,表示第i帧的总复杂度,N
表示线程数。
[0022]进一步的,根据复杂度平均值和CTU复杂度关系映射表对CTU进行分配时,每个线程分配若干个CTU,使得每个线程分配的CTU复杂度之和尽可能接近每个线程分配的CTU复杂度W(r
x
),使得每个线程的解码复杂度基本相同,解码时间基本相同。
[0023]进一步的,方法还包括:使用位图数据结构记录当前CTU依赖的CTU解码状态信息;在并行解码处理前,读取位图中存储的CTU解码状态信息,再对当前CTU进行解码。
[0024]进一步的,根据复杂度平均值和CTU复杂度关系映射表,将相同复杂度的 CTU组分配给多个线程进行解码处理,包括:
[0025]当前线程对CTU进行解码时,读取位图中存储的CTU解码状态信息,如果满足依赖关系,进行读取解码,如果不满足就挂起当前线程;
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据级和任务级融合的并行解码方法,基于HEVC平台,其特征是,包括:对当前画面所有编码树单元CTU按照光栅扫描的顺序进行扫描,遍历图像帧,计算每一个CTU的复杂度;其中,遍历每个CTU时,读取当前CTU划分深度,遍历CTU中的每个编码单元CU,读取CU到预测单元PU的划分方式的语法元素,确定CU到PU的划分方式;根据CU到PU的划分方式和预设的权重表为CU配置复杂度权重,对CTU中所有CU的复杂度进行累加,得到CTU的复杂度;将每一个CTU的复杂度,按照光栅扫描的顺序存储到映射表中;对所有CTU的复杂度进行累加,得到当前帧的总复杂度,再除以线程数,得到每个线程分配的复杂度平均值;根据复杂度平均值和CTU复杂度关系映射表,将相同复杂度的CTU组分配给多个线程进行并行解码处理,实现像素解码重构时的多线程负载均衡。2.根据权利要求1所述的数据级和任务级融合的并行解码方法,其特征是,方法还包括:将得到的解码数据根据语法元素存放在增强四叉树数据结构中。3.根据权利要求1所述的数据级和任务级融合的并行解码方法,其特征是,所有CTU的复杂度的公式如下:复杂度的公式如下:其中,表示第i帧中的第j个CTU的复杂度,表示第i帧的第j个CTU中第k个CU的复杂度。4.根据权利要求3所述的数据级和任务级融合的并行解码方法,其特征是,所有CTU的复杂度计算完成后,为每个线程分配的CTU复杂度公式如下:其中W(r
x
)表示每个线程分配的CTU复杂度,表示第i帧的总复杂度,N表示线程数。5.根据权利要求4所述的数据级和任务级融合的并行解码方法,其特征是,根...

【专利技术属性】
技术研发人员:胡栋马浩
申请(专利权)人:南京邮电大学
类型:发明
国别省市:

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

1