技术领域
[0001] 本
发明属于
视频编码领域,特别涉及一种基于自适应运动矢量精度的运动矢量精度选择方法及装置。
背景技术
[0002] 自适应运动矢量精度(AMVR,Advanced Motion Vector Resolution)是在
运动估计中,完成1/4
像素精度运动估计之后,由于1/4像素精度运动估计会带来比特数的增加,虽然可能失真减小了,但总体的RDcost(率失真代价)并没有减小,因此需要重新执行一次整像素运动估计并与之前获得的最优MV(运动矢量)进行比较,取RDcost最小者作为最终的最优MV。重新执行的整像素运动估计,被称之为IMV(Integer Motion Vector,整数运动矢量)。最近,新一代视频编码标准的制定引入了大量的新型编码工具,IMV技术则是其中之一。
[0003] 近年来,视频技术的应用范围变得更广,如视频监控、网上可视会议、网上可视
电子商务、网上政务、网上购物、网上学校、
远程医疗、网上研讨会、网上展示厅、个人网上
聊天、可视咨询等业务。但是要实现以上所有的功能都必须进行视频编解码,在编码传输过程中的数据量非常大,单纯扩大
存储器容量、增加通信干线的是不现实的,此时需借助特殊技术对庞大的信息进行处理,
数据压缩技术就是个行之有效的解决办法。通过高效的数据压缩技术,可以把信息数据量有效降低。以压缩形式进行存储、传输,既节约了存储空间和成本,也提高了通信干线的传输效率,可节省网络带宽。实时处理的音频、视频信息,通过解码技术可完成几乎无损的高
质量视频、音频输出和呈现,由此可见多媒体数据压缩是非常必要的。但是,与此同时,这种视频应用扩大化的趋势对于比H.265/HEVC(高效率视频编码)编码效率更高的下一代视频编码标准提出了更强烈的要求。正是在这样的背景下,ITU-T VCEG的VCEG(视频编码专家组)和ISO/IEC的MPEG(
动态图像专家组)于2016年成立了视频编码探究联合小组JVET(Joint Video Exploration Team),旨在探讨新一代视频编码标准的研发和制定。
[0004] 新一代的视频编码标准依旧采用混合编码
框架,包括变换、量化、
熵编码、
帧内预测、帧间预测以及环路滤波等模
块,但是,为了提高视频压缩率,该标准采用QTBT(Quadtree plus binary tree,四叉树加二叉树)的划分结构,取代了HEVC的四叉树划分。在QTBT结构下,去掉了多种划分类型如CU(编码单元)、PU(预测单元)和TU(变换单元)分离观念,支持更弹性的CU划分类型来更好的匹配视频数据的局部特征,同时在各个模块引入了一系列相当耗时的新型编码工具,例如基于Affine(仿射)的merge(合并)技术以及IMV(Integer Motion Vector)技术等,这些技术在提高压缩率的同时却大幅度地提高了
编码器的计算复杂度,这不利于新一代视频编码标准的产业化推广。因此,在保证视频主观质量下降可忽略不计的情况下,优化编码器并减少编码时间成为了视频编解码领域亟待研究和解决的新问题之一。
[0005] 在新一代视频编码标准中引入的IMV属于运动估计(Motion Estimation,简称ME)的一部分。在新标准中,运动估计主要分为三个步骤,具体过程如下:
[0006] 步骤一:执行整像素精度的运动估计,如果是B类型的slice,或者没有使用快速搜索模式,那么进行整像素精度的全搜索,如果是P类型的slice或者使用了快速搜索模式,那么进行整像素精度的快速搜索,通过比较各个MV的SAD选出最优的MV并保存相应的MV以及SAD信息;
[0007] 步骤二:执行分像素精度的运动估计,即1/2和1/4像素精度运动估计。先执行1/2像素精度运动估计,再执行1/4像素精度运动估计,通过比较各个MV的SATD选出最优MV并保存相应的MV以及SATD信息;
[0008] 步骤三:执行整像素精度运动估计,即IMV,若该整像素精度最优MV的率失真代价小于当前最佳MV的率失真代价,则将最优MV替换为整像素精度的MV,并保存其率失真代价以及相关信息。
[0009] 通过对新一代视频编码标准的参考
软件JEM的测试分析发现,在Lowdelay(低延迟)配置下,整个帧间预测的编码时间占总编码时间的40%~45%,因此,如果能通过相关信息提前预测出是否进行IMV,从而避免不必要的判断选择过程将大大提高新一代视频编码标准的编码效率。
发明内容
[0010] 本发明针对新一代视频编码效率过低的
缺陷,提出的一种基于自适应运动矢量精度的运动矢量精度选择方法及装置,通过提前预测IMV的可能性,以跳过其不必要的帧间预测过程,在保证视频主观质量下降可忽略不计的情况下,降低编码器的计算复杂度,减少编码时间,提高编码效率。
[0011] 一种基于自适应运动矢量精度的运动矢量精度选择方法,包括以下步骤:
[0012] 步骤1:在对
视频帧图像的预测单元PU(PredictionUnit)块执行帧间2Nx2N预测的运动估计时,获取当前预测单元PU块分别经过整像素精度运动估计和分像素精度运动估计后,每个像素点的最优MV的值和对应的预测MV值之差的二维
正交变换;
[0013] 所述当前预测单元PU块中每个像素点对应的预测MV值在编码过程中利用高级运动向量预测技术AMVP(Advanced motion vector prediction)获得;
[0014] 步骤2:基于步骤1获得的当前预测单元PU块各像素点所述的二维正交变换,计算当前预测单元PU块中所有像素点对应的二维正交变换绝对值之和:SATDint和SATDqter;
[0015] SATDint表示整像素MV的SATD值,SATDqter表示分像素MV的SATD值;
[0016] 所述SATD表示经过哈达曼变换后的绝对误差和;
[0017] 步骤3:判断公式是否成立:SATDqter<=K*SATDint,若成立,则当前预测单元PU块跳过IMV_2N×2N模式,继续后续模式,否则,则进行IMV_2N×2N模式,并根据率失真代价决策出最优MV以及当前预测单元PU块后续执行的最佳模式;
[0018] 其中, Rquarter表示分像素精度运动估计的最优MV的比特数,Rinteger表示整像素精度运动估计的最优MV的比特数,λ为计算率失真优化的参数。
[0019] 通过IMV之前的MV的相关特性判断是否需要执行IMV,从而跳过不必要且耗时的IMV,降低编码的计算复杂度,减少编码时间。
[0020] 进一步地,在所述步骤2后,判断当前预测单元PU块的最优MV是否为整像素MV,若是,则当前预测单元PU块跳过IMV_2N×2N模式,继续后续模式;否则,进入步骤3。
[0021] 预测单元PU块里面的每个像素点的MV均相同;
[0022] IMV就是通过将原来的MV变为整像素MV来重新进行2NX2N预测,如果判断最终的MV是整像素MV的话,可以不用再做IMV,减少时间。
[0023] 一种基于自适应运动矢量精度的运动矢量精度选择装置,包括:
[0024] 整像素精度运动估计模块,对视频帧图像的预测单元PU块执行帧间2Nx2N预测的运动估计时,在当前预测单元PU块经过整像素精度运动估计后,获得当前预测单元PU块的最优MV的值;
[0025] 分像素精度运动估计模块,对视频帧图像的预测单元PU块执行帧间2Nx2N预测的运动估计时,在当前预测单元PU块经过分像素精度运动估计后,获得当前预测单元PU块的最优MV的值;
[0026] SATDint和SATDqter计算模块,首先利用当前预测单元PU块分别经过整像素精度运动估计和分像素精度运动估计后,获得每个像素点的最优MV的值和对应的预测MV值之差的二维正交变换,然后计算当前预测单元PU块中所有像素点对应的二维正交变换绝对值之和;
[0027] SATDint表示整像素MV的SATD值,SATDqter表示分像素MV的SATD值;
[0028] 所述SATD表示经过哈达曼变换后的绝对误差和;
[0029] 选择模块,依据判断条件,为当前预测单元PU块选择后续执行的模式:
[0030] 若SATDqter<=K*SATDint成立,则当前预测单元PU块跳过IMV_2N×2N模式,继续后续模式,否则,则进行IMV_2N×2N模式,并根据率失真代价决策出最优MV以及当前预测单元PU块后续执行的最佳模式;
[0031] 其中, Rquarter表示分像素精度运动估计的最优MV的比特数,Rinteger表示整像素精度运动估计的最优MV的比特数,λ为计算率失真优化的参数。
[0032] 进一步地,所述选择模块,首先判断当前预测单元PU块的最优MV均值是否为整像素MV,若是,则当前预测单元PU块跳过IMV_2N×2N模式,继续后续模式;否则,按照权3中所述的选择模块为当前预测单元PU块选择后续执行的模式。
[0033] 有益效果
[0034] 本发明提供了一种基于自适应运动矢量精度的运动矢量精度选择方法及装置,通过判断当前预测单元PU块中所有像素点对应的二维正交变换绝对值之和:SATDint和SATDqter之间对应的MV相关特性的大小关系,提前预测IMV的可能性,以跳过其不必要的帧间预测过程,在保证视频主观质量下降可忽略不计的情况下,从而进一步降低了新一代视频编码的计算复杂度,大幅度地缩短了帧间预测的时间,从而节省了编码时间;本方法简单易行,有利于新一代视频编码标准的产业化推广。
附图说明
具体实施方式
[0036] 下面将结合附图和
实施例对本发明做进一步的说明。
[0037] 为减少编码时间,提高工作效率,本发明具体采用的技术方案为:首先判断执行完1/4像素精度运动估计时的最优MV是否是整像素MV,若是,则跳过IMV过程,继续执行下面的编码
进程。否则,则首先获得整像素MV的相关信息,并计算整像素MV的SATD。然后获得最优MV的相关信息并计算最优MV的SATD。最终,判断最优MV的SATD是否小于整像素MV的K倍,若是,则直接跳过IMV过程。否则,不跳过IMV过程,继续执行。
[0038] 如图1所示,一种基于自适应运动矢量精度的运动矢量精度选择方法,具体步骤如下:
[0039] 步骤1:整像素精度运动估计模块,在对视频帧图像的预测单元PU(PredictionUnit)块执行帧间2Nx2N预测的运动估计时,在当前预测单元PU块经过整像素精度运动估计后,获取整像素最优MV的相关信息,包括其相应的比特数Rinteger等,并计算其SATD值,公式如下:
[0040]
[0041] 其中,i和j分别代表当前预测单元PU块的像素点的横坐标以及竖坐标;Nhor代表当前预测单元PU块在横向上的像素点总数,Nver代表当前预测单元PU块在竖向上的像素点总数;CurrMV[i][j]以及PredMV[i][j]分别代表在当前预测单元PU块的横坐标为i,纵坐标为j处的像素点的MV的值和其对应的预测MV值。
[0042] 步骤2:分像素精度运动估计模块,对视频帧图像的预测单元PU块执行帧间2Nx2N预测的分像素精度运动估计后,获取最优MV的值。
[0043] 在新一代视频编码标准中,MV的值分为
水平值和垂直值,分别为m_iHor和m_iVer。在存储MV的值时,是通过对整像素MV的值进行相应的移位,分别来存储1/2像素MV的值以及
1/4像素MV的值。因此在获得分像素精度MV的值时,通过以下方法获得:
[0044] m_iHor'=m_iHor&1111
[0045] m_iVer'=m_iVer&1111
[0046] 其中m_iHor'和m_iVer'分别表示分像素精度MV的值分为水平值和垂直值。在获得分像素精度MV的值之后,对其进行判断,若其值为零,即:
[0047] m_iHor'==0&&m_iVer'==0
[0048] 则跳过下一个判断,直接跳到步骤5,否则,执行下一步。
[0049] 步骤3:获取λ的值以及当前预测单元PU块的最优分像素MV的相关信息,并计算SATDqter,并判断是否满足如下条件:
[0050] SATDqter<=K*SATDint
[0052]
[0053] 其中,Rquarter表示分像素精度运动估计的最优MV的比特数,Rinteger表示整像素精度运动估计的最优MV的比特数。如果满足判断条件,则跳过IMV,跳到步骤5,否则,执行下一步。
[0054] 步骤4:编码器进行IMV_2N×2N模式,并根据率失真代价决策出最优MV以及最佳模式。
[0055] 步骤5:进行后续其他模式的判断。
[0056] 一种基于自适应运动矢量精度的运动矢量精度快速选择装置,包括:
[0057] 整像素精度运动估计模块,对视频帧图像的预测单元PU块执行帧间2Nx2N预测的运动估计时,在当前预测单元PU块经过整像素精度运动估计后,获得当前预测单元PU块的最优MV的值;
[0058] 分像素精度运动估计模块,对视频帧图像的预测单元PU块执行帧间2Nx2N预测的运动估计时,在当前预测单元PU块经过分像素精度运动估计后,获得当前预测单元PU块的最优MV的值;
[0059] SATDint和SATDqter计算模块,首先利用当前预测单元PU块分别经过整像素精度运动估计和分像素精度运动估计后,获得每个像素点的最优MV的值和对应的预测MV值之差的二维正交变换,然后计算当前预测单元PU块中所有像素点对应的二维正交变换绝对值之和;
[0060] SATDint表示整像素MV的SATD值,SATDqter表示分像素MV的SATD值;
[0061] 所述SATD表示经过哈达曼变换后的绝对误差和;
[0062] 选择模块,依据判断条件,为当前预测单元PU块选择后续执行的模式:
[0063] 若SATDqter<=K*SATDint成立,则当前预测单元PU块跳过IMV_2N×2N模式,继续后续模式,否则,则进行IMV_2N×2N模式,并根据率失真代价决策出最优MV以及当前预测单元PU块后续执行的最佳模式;
[0064] 其中, Rquarter表示分像素精度运动估计的最优MV的比特数,Rinteger表示整像素精度运动估计的最优MV的比特数,λ为计算率失真优化的参数。
[0065] 所述选择模块,首先判断当前预测单元PU块的最优MV均值是否为整像素MV,若是,则当前预测单元PU块跳过IMV_2N×2N模式,继续后续模式;否则,按照权3中所述的选择模块为当前预测单元PU块选择后续执行的模式。
[0066] 为了验证上述方法的正确性以及有效性,本发明基于参考软件JEM4.0在Visual Studio 2013软件上实现该方法。在测试最终实验结果时,考虑到在自己电脑上实验结果(主要指时间)的不
稳定性,因此为了保证实验结果的稳定性,本发明的所有实验均在学校的
高性能计算平台上进行,该平台
硬件为曙光5000,其体系结构为混合式的集群(Cluster)架构,计算
节点和八路、四核SMP胖节点组成,计算网络采用Infinband高速交换机,双精度浮点运算次数理论峰值达到10TFlops(十万亿次)、存储能
力为20TB。所有实验的具体编码参数的配置选用JEM标准配置文件:encoder_lowdelay_jvet10.cfg以及对应测试序列的标准配置文件。
[0067] 实验结果
[0068] 为了验证方法性能的好坏,本文采用BDBR(Bjotegaard Delta Bit rate)以及ΔT两个指标来进行评估。其中,BDBR是用来评估方法对视频质量的影响,BDBR越大说明方法对视频质量的影响越大,即方法的性能越差,其主要是通过设置四组不同的量化参数QP以获取四组不同Bits以及PSNR来进行计算。ΔT则是反映当前方法对编码器效率的提升,其计算公式如下所示:
[0069]
[0070] 其中,TJEM代表使用不加任何快速方法的原始编码器编码所使用的时间,Tprop代表加快速方法后编码所需时间,TR则代表加快速方法后编码器在效率上提升的百分比。
[0071] 通过在高性能平台上进行实验仿真,本发明的实验结果如表1所示,ΔBits%为与传统的编码器相比比特率变化百分比,ΔPSNR/dB为与传统的编码器相比峰值
信噪比变化。
[0072] 表1
[0073]
[0074] 由表1可知,加入快速方法的编码取得了良好的效果:在总体编码时间上降低了7.08%,而BDBR上升仅为0.57。由此实验结果可以看出,本发明在保证视频主观质量的前提下,提高了编码效率,达到了本发明的目的。
[0075] 本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的
修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附
权利要求书所定义的范围。