一种基于先入先出队列的hevc细粒度并行预测方法

文档序号:7794554阅读:331来源:国知局
一种基于先入先出队列的hevc细粒度并行预测方法
【专利摘要】本发明公开一种基于先入先出队列的HEVC细粒度并行预测方法,其特征在于:允许一个编码树单元内部多个不同CU同时进行预测过程,并利用多个先入先出队列管理CU间的同步和通信。与现有技术相比,本发明充分利用了CTU内部的并行性,可以达到CTU内部理论上的最大并行度,并且不会带来任何压缩性能损失。
【专利说明】—种基于先入先出队列的HEVC细粒度并行预测方法
【技术领域】
[0001]本发明涉及一种图像处理和视频编码领域的方法,具体是一种基于先入先出(FIFO, Fist In First Out)队列的HEVC编码树单元(CTU)内部并行预测方法。
【背景技术】
[0002]2013年I月国际电信联盟(ITU)通过的新一代视频编码标准HEVC (HighEfficiency Video Coding)相比于上一代标准H.264/AVC,在主观质量相同的前提下压缩效率提高了一倍。但是,压缩效率的提高是以计算复杂度的急剧上升为代价的,根据多方的测试和统计,HEVC比上一代标准H.264/AVC计算复杂度要高I?2个数量级。如何在保持高压缩效率的同时降低编码的复杂度,是HEVC应用和推广面临的一个迫切问题。
[0003]另一方面,由于物理因素的限制,单核处理器近些年的发展越来越缓慢,而多核(mult1-core)和众核(many-core)处理器发展迅速,为大型程序提供强大的并行处理能力,典型的产品有多核中央处理器(CPU)和众核图形处理器(GPU)。HEVC的编码框架内存在很多的并行性可供研究,充分利用处理器提供的强大并行计算性能,为HEVC设计不同层次的并行化编码策略,可以给HEVC编码器带来数倍甚至数十倍的速度提升。

【发明内容】

[0004]本发明针对HEVC编码树单元的最佳划分和最佳预测模式判决问题,提供一种基于先入先出队列的CU级并行预测方法。该方法针CTU内部不同CU的预测过程提供并行化便利,在无任何压缩性能损失的同时还可以达到理论上的最大并行度。
[0005]为实现上述的目的,本发明所述的基于先入先出队列的HEVC CU级并行预测方法,包括如下步骤:
[0006]第一步,初始化:创建多个先入先出队列即FIFO队列,分别用于管理不同尺寸的CU 或 PU ;
[0007]第二步,将CTU内所有⑶或PU按尺寸分别压入相应的FIFO队列,入队顺序为相应尺寸CU或PU的四叉树扫描顺序;
[0008]第三步,各FIFO队列同时工作,从各自的队列中取出一个⑶或PU进行预测,串行的兄弟CU或PU完成预测时,和它们所属的父CU进行RD代价比较,选取代价较小的作为当前父CU层的最佳划分和预测模式;
[0009]第四步,重复第三步,直到所有FIFO队列均为空,得到该CTU的最佳划分和最佳预测模式信息。
[0010]本发明的基本思想是允许CTU内的多个独立CU同时进行预测,并用FIFO队列管理⑶间的同步。具体地,以帧内预测、CTU32x32、最大划分深度3为例,一个CTU内存在一个32x32⑶、4个16x16⑶、16个8x8⑶以及64个4x4⑶,所有⑶均是串行进行。⑶的处理时间大致正比于其像素个数,因此,设一个⑶4x4的处理时间为一个时间单位,则8x8、16x16和32x32分别需要4、16和64个时间单位,整个CTU需要64X 1+16 X 4+4X 16+1 X 16=256个时间单位才能确定其最佳划分和每个划分的最佳预测模式。本发明提出的并行化方法,可以在64个时间单位内完成整个过程,加速比256/64=4。考虑到64已经是最少所需时间(单是⑶32x32就需要64个时间单位),因此本发明方法已经达到此配置下理论上的最大并行度。巾贞间预测时预测单元(PU, Prediction Unit)的组合更多,但原理与此类似,最大并行度也为4。另外,本方法不受编码配置的限制,不同的CTU大小、不同的划分深度下本方法均可以达到相应配置下的最大并行度。
[0011]与现有技术相比,本发明具有以下有益效果:
[0012]本发明充分利用了 CTU内部的并行性,可以达到CTU内部理论上的最大并行度,并且不会带来任何压缩性能损失,对CTU大小、划分深度、帧内、帧间预测等编码配置无特殊限制。
【专利附图】

【附图说明】
[0013]通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其他特征、目的和优点将会更加明显:
[0014]图1是CTU划分和其坐标图。
[0015]图2是8x8矩阵的四叉树扫描顺序图。
[0016]图3是本发明对巾贞内(intra)预测实施例的示意图。
[0017]图4是对图3第一个16x16⑶部分的放大。
[0018]图5是本发明对巾贞间(inter)预测实施例⑶16x16部分的示意图。
【具体实施方式】
[0019]下面结合具体实例对本发明进行详细说明。以下实施将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
[0020]本发明对CTU大小、划分深度、帧内、帧间预测等编码配置无特殊限制,下面以CTU大小32x32、最大划分深度3、帧内预测为例,来展示本方法的并行处理流程,其他配置下本方法同样适用,只需作相应改动即可。
[0021]首先介绍两个概念:先入先出(FIFO)队列和四叉树扫描顺序。
[0022]先入先出队列是数据结构和操作系统中的重要概念,其基本思想是将多个任务以一定的顺序放入队列中,处理程序每个从队列中取出一个任务执行,并严格保证先进入队列的任务一定比后进入队列的任务先执行。
[0023]HEVC编码单元以四叉树方式进行划分,相应地便存在四叉树扫描方式。四叉树扫描是对所有叶节点进行的一次深度优先遍历,该遍历以深度优先的方式递归地访问每个节点的四个子节点。附图2是对一个8x8矩阵的四叉树扫描,从左上角开始扫描到右下角元素,每个方块内的值表示该点被访问的顺序。
[0024]设CTU左上角像素位置为(0,O)。向右为X轴正方形,向下为y轴正方向,如附图1所示。以CUnxu(X,y)表示大小为NxM,左上角坐标为(x,y)的⑶。对于每个CTU,HEVC以动态规划算法确定其最佳划分。对每个划分(⑶),又以蛮力搜索(brute force searching)的方式从35种预测模式中寻找其最佳预测模式。
[0025]本发明允许一个编码树单元内部多个不同CU同时进行预测过程,并利用多个先入先出队列管理CU间的同步和通信。如图3所示,提供一个实施例,具体过程为:
[0026]第一步,初始化。创建4个FIFO队列,分别用于管理32x32?4x4四种尺寸的⑶。
[0027]第二步,将CTU 内所有 CU (I 个 CU32x32、4 个 CU16xl6、16 个 CU8x8、64 个 CU4x4)按尺寸分别压入相应的FIFO队列,入队顺序为相应尺寸CU的四叉树扫描顺序。
[0028]第三步,4个FIFO队列同时工作,从各自的队列中取出一个⑶进行帧内预测。4个串行的兄弟CU完成预测时,和它们所属的父CU进行RD代价比较,选取代价较小的作为当前父CU层的最佳划分和预测模式。
[0029]第四步,4)重复步骤3),直到4个FIFO队列均为空,得到该CTU的最佳划分和最佳预测模式信息。
[0030]其中RD代价比较所占时间相对于预测过程可以忽略,因此每级的四个子⑶处理时间完全隐藏在父CU处理时间内,最终一个CTU所需的总时间为64个时间单位如附图3和附图4所示,其中图4是对图3中第一个⑶16x16部分的放大。由于一个CTU至少需要64个,因此这种基于FIFO队列的细粒度并行方法已经达到CTU内部理论上的最大并行度。帧间并行⑶预测的过程与此类似,只是PU的组合更多,附图5给出了一个16x16⑶及其8x8、4x4子CU的并行预测过程。因此该方法针CTU内部不同CU的预测过程提供并行化便利,在无任何压缩性能损失的同时还可以达到理论上的最大并行度。
[0031]下面提供另一个帧间预测实施例,编码配置为CTU32x32、最大划分深度3、允许非对称划分(AMP, Asymmetric Motion Partition)、巾贞间预测块不使用巾贞内模式、不使用PCM模式。
[0032]第一步,初始化。创建19个FIFO队列,分别用于管理32x32?4x8/8x4四种尺寸的W。附图5给出了 16x16部分的FIF0,其他部分的FIFO与此类似。
[0033]第二步,将所有按尺寸分别压入相应的FIFO队列,入队顺序为相应的四叉树扫描顺序。
[0034]第三步,各FIFO队列同时工作,从各自的队列中取出一个进行帧间预测。串行的兄弟PU完成预测时,和它们所属的父CU进行RD代价比较,选取代价较小的作为当前父CU层的最佳划分和预测模式。
[0035]第四步,4)重复步骤3),直到所有FIFO队列均为空,得到该CTU的最佳划分和最佳预测模式信息。
[0036]不同的编码配置,如CTU大小、划分深度、是否选用或跳过某些划分和预测模式组合、帧内/帧间/PCM预测等等,不会对本方法有实质性影响,只需对本文给出的方法稍作改变即可。例如只需在每级CU队列中增加一个并行FIF0,就可以支持PCM模式与帧内/帧间预测模式的并行,这些都属于本方法的保护范围。
[0037]本发明中其他没有具体说明的内容均可以采用现有技术实现,对帧内预测,FIFO队列的大小等于不同尺寸PU的数量;对帧间预测,FIFO队列的大小等于所有可能划分模式的数量。
[0038]尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
【权利要求】
1.一种基于先入先出队列的HEVC细粒度并行预测方法,其特征在于所述方法包括如下步骤: 第一步,初始化:创建多个先入先出队列即FIFO队列,分别用于管理不同尺寸的CU或PU; 第二步,将CTU内所有⑶或PU按尺寸分别压入相应的FIFO队列,入队顺序为相应尺寸CU或PU的四叉树扫描顺序; 第三步,各FIFO队列同时工作,从各自的队列中取出一个CU或PU进行预测,串行的兄弟CU或PU完成预测时,和它们所属的父CU进行RD代价比较,选取代价较小的作为当前父CU层的最佳划分和预测模式; 第四步,重复步骤第三步,直到所有FIFO队列均为空,得到该CTU的最佳划分和最佳预测模式信息。
2.根据权利要求1所述的基于先入先出队列的HEVC细粒度并行预测方法,其特征在于:对帧内预测,FIFO队列的大小等于不同尺寸的数量;对帧间预测,FIFO队列的大小等于所有可能PU划分模式的数量。
【文档编号】H04N19/103GK103763569SQ201410005285
【公开日】2014年4月30日 申请日期:2014年1月6日 优先权日:2014年1月6日
【发明者】宋利, 赵亚楠, 王嘉 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1