CN108322749B - Rdoq的系数优化方法、rdoq的加速方法及装置 - Google Patents
Rdoq的系数优化方法、rdoq的加速方法及装置 Download PDFInfo
- Publication number
- CN108322749B CN108322749B CN201810217789.4A CN201810217789A CN108322749B CN 108322749 B CN108322749 B CN 108322749B CN 201810217789 A CN201810217789 A CN 201810217789A CN 108322749 B CN108322749 B CN 108322749B
- Authority
- CN
- China
- Prior art keywords
- coefficient
- zero
- zero coefficient
- group
- calculation result
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/18—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种RDOQ的系数优化方法、RDOQ的加速方法及装置,涉及编码领域,该优化方法包括:针对非全零系数组,按照预设的系数扫描顺序依次对每个系数进行零系数判断:对初始的最后非零系数之前的零系数,获取零系数对应的比特数;对初始的最后非零系数之前系数幅值为1的系数,利用第一计算式计算该系数与零系数的率失真代价差,得到第一计算结果;根据第一计算结果进行系数调整;对初始的最后非零系数之前系数幅值大于1的系数,利用第二计算式计算该系数与该系数‑1的率失真代价差,得到第二计算结果;根据第二计算结果进行系数调整。解决了RDOQ过程中存在的效率低、浪费系统资源的问题,能够提高计算速度节省资源。
Description
技术领域
本发明涉及视频编码技术领域,尤其是涉及一种RDOQ的系数优化方法、RDOQ的加速方法及装置。
背景技术
目前,现有技术的RDOQ过程通过计算整个变换块(TB)的速率失真代价来确定最优系数,而该最优系数确定的过程中需要计算每一个零系数上的失真度与比特数,因而产生了大量的计算损耗,导致效率低下、资源浪费严重的问题。
针对上述问题尚未有有效的解决办法。
发明内容
有鉴于此,本发明的目的在于提供一种RDOQ的系数优化方法、RDOQ的加速方法及装置,以缓解现有技术中的RDOQ过程中存在的效率低、浪费系统计算资源的技术问题。
第一方面,本发明实施例提供了一种RDOQ的系数优化方法,包括:
针对一个非全零系数组,以系数为单位,按照预设的系数扫描顺序依次对非全零系数组内的每个系数进行零系数判断,根据判断结果执行下述操作:
对于位于初始的最后非零系数之前的零系数,获取零系数对应的比特数;所述初始的最后非零系数的位置已知,所述初始的最后非零系数之前是以正序扫描方向为正方向描述的;
对于位于初始的最后非零系数之前系数幅值为1的非零系数,利用第一计算式计算该非零系数与该非零系数量化为零系数时的率失真代价差,得到第一计算结果,根据第一计算结果进行系数调整;
第一计算式如下:
ΔRD(Li,0)=ΔD(Li,0)+ΔR(1,0);
式中,Li表示非零系数的系数幅值,这里Li=1;ΔRD(Li,0)表示非零系数与零系数的率失真代价差;ΔD(Li,0)表示非零系数与零系数的失真度改变量;ΔR(1,0)表示非零系数与零系数的比特数改变量;
对于位于初始的最后非零系数之前系数幅值大于1的非零系数,利用第二计算式计算该非零系数与该非零系数幅值-1时的系数的率失真代价差,得到第二计算结果,根据第二计算结果进行系数调整;
第二计算式如下:
ΔRD(Li,Li-1)=ΔD(Li,Li-1)+ΔR(Li,Li-1);
其中,Li表示非零系数的系数幅值,这里Li大于1;ΔRD(Li,Li-1)表示非零系数与非零系数-1的率失真代价差;ΔD(Li,Li-1)表示非零系数与非零系数-1的失真度改变量;ΔR(Li,Li-1)表示非零系数与非零系数-1的比特数改变量。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,该系数优化方法还包括:
对于位于初始的最后非零系数之后的零系数,不计算该零系数的率失真代价。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,该系数优化方法还包括:
对于系数调整后的该非全零系数组进行系数组全零化判断。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述对于系数调整后的该非全零系数组进行系数组全零化判断,具体包括:
利用第三计算式计算系数调整后的该非全零系数组与全零系数组的率失真代价差,得到第三计算结果;
第三计算式如下:
上式中,CG表示系数调整后的非全零系数组;ΔRD(CG,0)表示系数调整后的该非全零系数组与全零系数组的率失真代价差;ΔD(CG,0)表示系数调整后的该非全零系数组与全零系数组的失真度的改变量;ΔR(CG,0)表示系数调整后的该非全零系数组与全零系数组的比特数的改变量;
根据第三计算结果进行系数组全零化判断;
当第三计算结果小于零时,将非全零系数组的非零系数全置为零,并更新系数组的比特数。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,该系数优化方法还包括:
针对一个全零系数组,获取该全零系数组的比特数。
第二方面,本发明实施例提供了一种RDOQ的加速方法,包括:
量化步骤:对残差信号进行离散余弦变换,得到变换块;
扫描步骤:选取变换系数单元逆序扫描的系数扫描方式,确定变换块中变换系数的系数扫描顺序,并获得所述系数扫描顺序下变换块的非零系数信息;其中,所述变换块包括至少一个系数组,所述非零系数信息包括所述变换系数单元中的初始的最后非零系数的位置、初始的最后非零系数的幅值,非零系数组的个数、非零系数组的位置、非零系数组内非零系数的个数以及非零系数组内非零系数位置信息;以正序扫描的方向为正方向得到所述初始的最后非零系数的位置以及以正方向描述初始的最后非零系数之前;
系数优化步骤:根据率失真代价差按照预先确定的系数扫描顺序进行非零系数最优判断以及系数组全零化判断,其中所述系数组尺寸为4*4的二维数组,所述系数优化步骤具体包括:
步骤a:以系数组为单位,判断当前扫描的系数组是否为全零系数组;
若是,执行步骤k;若否,执行步骤b;
步骤k:获取当前全零系数组的比特数;
步骤b:以系数为单位,在当前扫描的系数组内按照预设的系数扫描顺序依次对每个系数进行零系数判断,并根据判断结果执行下列操作;
若系数为位于初始的最后非零系数之前的零系数,执行步骤m;
步骤m:获取零系数的比特数;
若系数为位于初始的最后非零系数之前的系数幅值为1的非零系数,执行步骤c;
步骤c:利用第一计算式计算该系数与该系数量化为零系数时的率失真代价差,得到第一计算结果;并根据第一计算结果进行系数调整;
第一计算式如下:
ΔRD(Li,0)=ΔD(Li,0)+ΔR(1,0)
式中,Li表示非零系数的系数幅值,这里Li=1;ΔRD(Li,0)表示非零系数与零系数的率失真代价差;ΔD(Li,0)表示非零系数与零系数的失真度改变量;ΔR(1,0)表示非零系数与零系数的比特数改变量;
若系数为位于初始的最后非零系数之前的系数幅值为大于1的非零系数,执行步骤d;
步骤d:利用第二计算式计算该系数与该系数-1时的率失真代价差,得到第二计算结果;并根据第二计算结果进行系数调整;
第二计算式如下:
ΔRD(Li,Li-1)=ΔD(Li,Li-1)+ΔR(Li,Li-1);
其中,Li表示非零系数的系数幅值,这里Li大于1;ΔRD(Li,Li-1)表示非零系数与非零系数-1的率失真代价差;ΔD(Li,Li-1)表示非零系数与非零系数-1的失真度改变量;ΔR(Li,Li-1)表示非零系数与非零系数-1的比特数改变量;
步骤e:对系数调整后的当前扫描的系数组进行系数组全零化判断。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,该加速方法还包括:
位置调整步骤:对初始的最后非零系数的位置进行调整,更新得到整个变换块的最终的最后非零系数的位置。
结合第二方面的第一种可能的实施方式,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述位置调整步骤具体包括:
将初始的最后非零系数作为当前非零系数,对当前非零系数执行步骤A;
步骤A;判断当前非零系数是否为系数幅值等于1的非零系数;
若是,则执行步骤B;若否,则执行步骤E;
步骤B:利用第四计算式计算该当前非零系数与当前非零系数量化为零系数的率失真代价差,得到第四计算结果;
第四计算式如下:
式中,Li表示当前非零系数的系数幅值;ΔRD(Li,0)表示当前非零系数与当前非零系数量化为零系数的率失真代价差;ΔD(Li,0)表示当前非零系数与当前非零系数量化为零系数的失真度改变量;表示当前非零系数与当前非零系数量化为零系数的比特数改变量;步骤C:根据第四计算结果对当前非零系数的位置进行调整;
当第四计算结果小于零,则执行步骤D;
步骤D:将当前非零系数置为零;
接着,将初始的最后非零系数之前的第一个非零系数作为当前非零系数,返回上述步骤A;
当第四计算结果大于零,则执行步骤E;
步骤E:将当前非零系数作为最终的最后非零系数,完成位置调整。
结合第二方面的第一种可能的实施方式,本发明实施例提供了第二方面的第一种可能的实施方式,其中,还包括:
变化块全零化判断步骤:利用第五计算式计算整个变换块与全零变换块的率失真代价差,得到第五计算结果;
第五计算式为:
ΔRD(TB,0)=ΔD(TB,0)+ΔR(TB,0);
式中,ΔRD(TB,0)表示当前变换块TB与全零变换块TB的率失真代价差;ΔD(TB,0)表示当前变换块TB与全零变换块TB的失真度改变量;ΔR(TB,0)表示当前变换块TB与全零变换块TB的比特数改变量;
根据第五计算结果判断是否将该变换块全零化。
第三方面,本发明实施例还提供一种RDOQ的加速装置,包括:量化模块,用于对残差信号进行离散余弦变换,得到变换块;
扫描模块,用于选取变换系数单元逆序扫描的系数扫描方式,确定变换块中变换系数的系数扫描顺序,并获得所述系数扫描顺序下变换块的非零系数信息;其中,所述变换块包括至少一个系数组,所述非零系数信息包括所述变换系数单元中的初始的最后非零系数的位置、初始的最后非零系数的幅值,非零系数组的个数、非零系数组的位置、非零系数组内非零系数的个数以及非零系数组内非零系数位置信息;以正序扫描的方向为正方向得到所述初始的最后非零系数的位置以及以正方向描述初始的最后非零系数之前;
系数优化模块,用于根据RDcost的改变量按照预先确定的系数扫描顺序进行非零系数最优判断以及系数组全零化判断,其中所述系数组尺寸为4*4的二维数组。
第四方面,本发明实施例还提供了一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第二方面中任一项所述的RDOQ的加速方法的步骤。
本发明实施例带来了以下有益效果:
本发明实施例提供的RDOQ的系数优化方法,规避了零系数Rdcost的计算,通过计算系数变化产生的Rdcost的改变量来决定优化结果,且,简化了Rdcost改变量的计算过程。
此外,本发明实施例提供的技术方案的主要优点在于保证编码质量的前提下,大大简化量化过程,节省计算量,提速效益明显。并且可以根据标量量化结果,可以选择跳过某些过程,从而使得在不明显降低编码质量的情况下,进一步提升编码速度。该方法经实验证明可行,快速RDOQ量化方法较原方法提速约30%,且对质量的影响较小,已经在HEVC编码库中使用。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的RDOQ的系数优化方法的流程图;
图2为图1中步骤S101的具体流程图;
图3为图1中步骤S103的具体流程图;
图4为本发明实施例提供的RDOQ的加速方法的流程图;
图5为变换量化过程的示意图;
图6为系数扫描方式的示意图;
图7为步骤S403的具体流程图;
图8为本发明实施例提供的RDOQ的加速装置的结构框图;
图9为本发明实施例提供的视频播放器的工作流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面首先对本申请中的技术术语作简要说明:
一、量化
量化是指将信号的连续取值(或大量可能的离散取值)映射为有限多个离散幅值的过程,是一种多对一的映射。在视频编码过程中,残差信号经过离散余弦变换(DCT)后,变换系数通常会具有较大的范围,因此对变换系数进行量化可以有效地减小信号取值空间,进而获得更好的压缩率。但是由于多对一的映射性质,量化过程不可避免地会引入失真。通常情况下,量化是视频编码中质量损失的唯一来源。
二、HEVC变换系数编码
在HEVC编码标准中,变换系数编码包括两部分:非零系数位置信息编码与非零系数幅值信息编码。
非零系数位置信息编码与逆序扫描的方式相关,扫描后可获得最后非零系数的位置与其余非零系数的位置。最后非零系数的位置可以通过其在变换块中的坐标确定。而对于其余非零系数的位置,HEVC标准会将变换块(transformation block,TB)划分为若干个4*4的系数组(coefficient group,CG),如此非零系数的位置将由所在CG的位置以及在CG内的位置确定。因此会首先判断一个CG是否需要编码(系数全零),若需要再逐个判断CG内的系数是否需要编码。
同样,为了节省码率,非零系数的幅值信息编码要相对复杂,会按照逆序扫描的顺序,进行如下操作:
1)记录前8个非零系数是否大于1;
2)记录大于1的第一非零系数是否大于2;
3)编码非零系数的符号;
4)编码非零系数幅值绝对值的剩余部分,即减去操作1),2)后的确定信息。
三、率失真优化(rate distortion optimization,RDO)
质量与压缩率是衡量视频编码技术的重要指标,通常失真度反映视频质量,码率反映压缩率,二者是相互制约、相互矛盾的,例如降低失真度往往会增加码率;降低码率往往会增加失真度。
视频编码的目的是在保证一定视频质量的条件下尽可能减少码率,或者在一定码率的条件下尽可能减小失真度。为了平衡二者的关系,视频编码引入了率失真优化技术,用来辅助决策合适的预测方法与预测模式。
RDO由失真度与码率两部分组成,通常采用基于拉格朗日的优化方法,即通过得到minJ(最优系数)的方式进行率失真优化,其中,minJ(即J的最小值)通过下式得到:
J=D+λR#(1)
式中,D、R分别表示失真与比特数,J表示率失真代价(RDcost),λ为拉格朗日因子。失真度D通过计算重建图像与原始图像之间的方差和(sum of squared errors,SSE)来表示,根据帕塞瓦尔定理(Parseval's theorem)频域能量与时域能量相等,所以SSE也可以由频域系数计算得到。比特数R则通过查表的方式获得系数的比特数。
四、率失真优化量化(rate distortion optimization quant,RDOQ)
率失真优化量化是针对量化后系数的进一步最优选择的分析过程。多对一映射的量化过程可以简单地理解为寻找相邻集散点的过程,因而会遇到正向寻找还是负向寻找的选择。标量量化的过程是机械的,统一规定一个寻找方向,而RDOQ是针对这种机械选择过程的优化。在标量量化的基础上,RDOQ根据RDO在局部范围内确定出最优系数。
五、X265的RDOQ的系数优化方法
以CG为单元,依次对CG进行全零判断。若是全零CG,则直接计算该CG的失真度。对位于最后非零系数之前的全零CG,还需要查表获得其符号位的比特数。若不是全零CG,则以系数为单元,在该CG内依次对系数进行全零判断,并进行下述操作:
1)对于位于最后非零系数之后的零系数,直接计算该系数的失真度;
2)对于位于最后非零系数之前的零系数,计算该系数的失真度,并通过查表获得表征零系数符号位的比特数;
3)对于幅值为1的系数,计算该系数的失真度,并结合所处位置查表估计编码该系数所需的比特数。同时,计算该系数为0时的率失真代价,并与原始的速度失真代价比较,选择代价小的作为最优系数。
4)对于幅值大于1的系数(假设幅值为L),比较L与L-1的率失真代价,选择代价小的作为最优系数。
目前,现有的RDOQ过程通过计算整个变换块(TB)的速率失真代价来确定最优系数,而该最优系数确定的过程中需要计算每一个零系数上的失真度与比特数,因而产生了大量的计算损耗,导致效率低下、资源浪费严重的问题,基于此,本发明实施例提供的一种RDOQ的系数优化方法、RDOQ的加速方法及装置,可以缓解现有技术中存在的效率低下、资源浪费严重的问题。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种RDOQ的系数优化方法、RDOQ的加速方法的原理进行详细介绍:
根据率失真优化的思想,最优系数的选择可以通过二者的率失真代价(RDcost)来确定,如下式所述:
其中,Li、Lj表示备选系数,J(Li)表示系数为Li时的率失真代价,J(Lj)表示系数为Lj时的率失真代价。可将上式改写为如下形式:
通过二者代价的改变量来判断。根据式#(1),进一步可改写为下述形式:
其中,二者失真度的改变量ΔD(Li,Lj)=D(Li)-D(Lj),二者比特数的改变量ΔR(Li,Lj)=R(Li)-R(Lj)。因此,系数的最优选择可以通过系数变化所产生的RDcost的改变量(失真度的改变量与比特数改变量的和)来确定。
由于RDOQ仅针对非零系数进行最优化选择,不会将零系数调整成非零系数。因而,依据式#(4),RDOQ过程中RDcost的计算可以简化为仅计算非零系数变化所产生的RDcost的改变量。
在对RDOQ四个判断过程的总结之后,可以发现对非零系数Li的选择仅涉及到Li、Li-1与0的比较。
进一步的,可以对RDcost改变量的计算过程进行化简,下面分别对失真度改变量ΔD(Li,Lj)与比特数改变量ΔR(Li,Lj)的计算进行说明:
(1)失真度改变量ΔD(Li,Lj)
失真度改变量的计算可以归为两种情况:Li与Li-1的比较(ΔD(Li,Li-1));以及Li与0的比较(ΔD(Li,0))。根据SSE的计算方法,上述两种情况的计算式为:
ΔD(Li,Li-1)=Qs2[2(δl)-1]#(5)
ΔD(Li,0)=Qs2[Li(2(δl)-Li)]#(6)
其中,Qs表示量化步长,δl表示量化误差。
(2)比特数改变量ΔR(Li,Lj)
根据HEVC编码标准,变换系数Li的比特数可以表示为:
R(Li)=RCG+RP+RS+RSI+RG1+RG2+RR+RB#(7)
这里,RCG表示记录CG是否编码的比特数;RP表示记录最后非零系数位置的比特数;RS表示记录当前系数是否编码的比特数;RSI表示记录系数符号的比特数;RG1,RG2,RR均表示记录系数幅值所需的比特数,具体的,RG1表示记录系数幅值是否大于1所需的比特数,RG2表示记录系数幅值是否大于2所需的比特数,RR表示记录非零系数绝对值剩余部分所需的比特数;RB表示记录当前TB是否编码的比特数。
在RDOQ过程中,某些信息的比特数并不改变,比如将幅值为2的系数调整为幅值为1的系数后,该系数的RS,RSI并不改变,因此不用查表获取二者的比特数。所以,可以针对不同的判断过程简化比特数的计算。
A.针对非零系数幅值为1的情况:
ΔR(1,0)=RS(1)+RG1(1)-RS(0)#(8)
B.针对非零系数幅值大于1的情况:
ΔR(Li,Li-1)=RR(Li)-RR(Li-1)#(9)
C.针对非全零CG的情况:
A.针对最后非零系数位置的判断,比特数的改变可表示为:
考虑到对于最后系数的判断到系数大于1时会终止,因此这里无须计算RG2,所以简化如下:
B.针对TB全零化的判断,比特数的改变可表示为:
ΔR(TB,0)=∑ΔR(CG,0)+RTB(1)-RTB(0)#(12)
在相应的判断中,基于上述公式相互结合得到所需的RDcost的改变量,再根据改变量的正负判断是否进行系数调整。
实施例一:
本发明实施例提供了一种RDOQ的系数优化方法,应用于视频编码领域。在RDOQ的系数优化方法实现率失真优化量化的过程中,不对零系数进行系数优化调整,即RDOQ过程不改变零系数的幅值。
如图1、图2和图3所示,该RDOQ的系数优化方法包括:
步骤S101:针对一个非全零系数组,以系数为单位,按照预设的系数扫描顺序依次对非全零系数组内的每个系数进行零系数判断。
根据判断结果执行下述操作:
步骤S1011:对于位于初始的最后非零系数之前的零系数,获取零系数对应的比特数。
具体的,对于位于初始的最后非零系数之前的每个零系数,通过查表方式获取各个零系数分别对应的比特数。该表名称为基于表格比特数估计(Table-based bitestimation(JCTVC-G763)),因此通过基于表格的比特数估计能够查询获取得到零系数对应的比特数。
所述初始的最后非零系数的位置已知,所述初始的最后非零系数之前是以正序扫描方向为正方向描述的。
需要说明的是,最后非零系数之前的零系数的比特数不是唯一的;最后非零系数之后的零系数没有比特数。
步骤S1012:对于位于初始的最后非零系数之前系数幅值为1的非零系数,利用第一计算式计算该非零系数与该非零系数量化为零系数时的率失真代价差,得到第一计算结果;并根据第一计算结果进行系数调整。
具体的,该方法主要通过以下步骤执行:
1)对于位于初始的最后非零系数之前系数幅值为1的每个非零系数,利用第一计算式计算该非零系数与该非零系数量化为零系数时的率失真代价差(即率失真代价的改变量,简写为RDcost的改变量),得到第一计算结果。
其中,第一计算式如下:
ΔRD(Li,0)=ΔD(Li,0)+ΔR(1,0);
式中,Li表示非零系数的系数幅值,这里Li=1;ΔRD(Li,0)表示非零系数与零系数的率失真代价差;ΔD(Li,0)表示非零系数与零系数的失真度改变量;ΔR(1,0)表示非零系数与零系数的比特数改变量。
具体的,ΔD(Li,0)=Qs2[Li(2(δl)-Li)];其中,Qs表示量化步长,δl表示量化误差。
ΔR(1,0)=RS(1)+RG1(1)-RS(0);式中,RS(1)-RS(0)表示当前系数由1量化为0的比特数的改变量,RG1(1)表示记录系数幅值为1所需的比特数(因为系数幅值为0时,没有比特数)。
2)根据第一计算结果进行系数调整。
具体的,当第一计算结果小于零时,将该非零系数调整为0;
当第一计算结果大于零时,保持该非零系数不变。
步骤S1013:对于位于初始的最后非零系数之前系数幅值大于1的非零系数,利用第二计算式计算该非零系数与该非零系数幅值-1时的系数的率失真代价差,得到第二计算结果;并根据第二计算结果进行系数调整。
具体的,该步骤主要通过以下步骤实现:
(1)对于位于初始的最后非零系数之前系数幅值大于1的每个非零系数,利用第二计算式计算该非零系数与该非零系数幅值-1时的系数的率失真代价差,得到第二计算结果。
第二计算式如下:
ΔRD(Li,Li-1)=ΔD(Li,Li-1)+ΔR(Li,Li-1);
其中,Li表示非零系数的系数幅值,这里Li大于1;ΔRD(Li,Li-1)表示非零系数与非零系数-1的率失真代价差;ΔD(Li,Li-1)表示非零系数与非零系数-1的失真度改变量;ΔR(Li,Li-1)表示非零系数与非零系数-1的比特数改变量。
具体的,ΔD(Li,Li-1)=Qs2[2(δl)-1];其中,Qs表示量化步长,δl表示量化误差。
ΔR(Li,Li-1)=RR(Li)-RR(Li-1);式中,RR表示记录系数幅值所需的比特数。
(2)根据第二计算结果进行系数调整.
当第二计算结果小于零时,将该非零系数调整为系数-1;
具体的,将该非零系数的系数幅值Li调整为Li-1,并保持该非零系数的符号不变。
当第一计算结果大于零时,保持该非零系数不变。
考虑到最后非零系数之后的零系数没有率失真代价,进一步的,该步骤S101还包括:
步骤S1014:对于位于初始的最后非零系数之后的零系数,不计算该零系数的率失真代价。
通过该步骤S1014对于位于初始的最后非零系数之后的零系数无需计算,相比于现有技术,能够减少计算量,提高计算效率,节省计算资源。
进一步的,该方法还包括:
步骤S102:针对一个全零系数组,获取该全零系数组的比特数。
具体的,针对一个全零系数组,直接通过查表(Table-based bit estimation(JCTVC-G763))方式获取该全零系数组的比特数。
进一步的,该方法还包括:
步骤S103:对于系数调整后的该非全零系数组进行系数组全零化判断。
在具体实现时,该步骤S103主要包括以下步骤:
步骤S1031:利用第三计算式计算系数调整后的该非全零系数组与全零系数组的率失真代价差,得到第三计算结果。
其中,第三计算式如下:
ΔRD(CG,0)=ΔD(CG,0)+ΔR(CG,0);
上式中,CG表示系数调整后的非全零系数组;ΔRD(CG,0)表示系数调整后的该非全零系数组与全零系数组的率失真代价差;ΔD(CG,0)表示系数调整后的该非全零系数组与全零系数组的失真度的改变量;ΔR(CG,0)表示系数调整后的该非全零系数组与全零系数组的比特数的改变量。
具体的,此处的Li是指经过系数调整后的系数;Qs表示量化步长,δl表示量化误差。举例说明,例如,系数调整之前Li=2,系数调整时,计算Li=2与Li-1(即1)的RDcost的代价差,由于该代价差小于0,那么此时将Li=2调整为Li-1(即1),系数调整过后,2就变成了1;那么在进行系数组全零化判断时,是以1(系数调整后)作为该公式的Li进行计算。
步骤S1032:根据第三计算结果进行系数组全零化判断。
具体的,当第三计算结果小于零时,将非全零系数组的非零系数全置为零,并更新系数组的比特数。换句话说,当第三计算结果小于零时,即对非全零CG进行全零化,变为全零CG,然后通过查表获取全零CG的比特数(步骤S102),完成系数组比特数的更新;当第三计算结果大于零时,保持系数调整后的该非全零系数组不变。
需要说明的是,经过系数调整后,该非全零系数组有可能变成了全零系数组,即系数调整后的该非全零系数组变成了全零系数组,此种情况下依照步骤S102执行。
实施例二:
参照图4,本发明实施例提供了一种RDOQ的加速方法,包括:
量化步骤S401:对残差信号进行离散余弦变换,得到变换块。
具体的,对残差进行离散余弦变换(DCT),并按照式#(13)进行预量化,得到变换块(TB,又称为变换系数单元),变换量化过程如图5所示。
参数说明:lij:量化后的系数幅值;dij:量化前的DCT系数;T_Shift:DCT中的缩放系数。
HEVC量化过程要同时完成整数DCT中的比例缩放运算,而且需要避免浮点运算,因此HEVC量化会将上式的分子(系数)与分母(量化步长)做一定程度的放大,然后进行取整,以保留运算精度。
QP与Qs有如下关系:Qs≈2(QP-4)/6
变量MF与qbits的作用就在于此,二者的定义如下:
qbits=14+floor(QP/6)
扫描步骤S402:选取变换系数单元逆序扫描的系数扫描方式,确定变换块中变换系数的系数扫描顺序,并获得所述系数扫描顺序下变换块的非零系数信息。
其中,所述变换块包括至少一个系数组;所述非零系数信息包括所述变换系数单元中的初始的最后非零系数的位置、初始的最后非零系数的幅值,非零系数组的个数、非零系数组的位置、非零系数组内非零系数的个数以及非零系数组内非零系数位置信息;以正序扫描的方向为正方向得到所述初始的最后非零系数的位置以及以正方向描述初始的最后非零系数之前。
此处的系数扫描方式包括水平扫描方式、垂直扫描方式或者对角扫描方式的一种,当然系数扫描方式还包括之字形(zigzag)扫描方式,这里不做赘述。
下面对该步骤S402作一说明:
变换系数的扫描是基于4*4大小的子块进行的,较大的TB需要首先被分割为多个4*4子块,子块和子块内部系数按照相同的方式进行递归扫描。图6展示了8*8的TB采用不同方法扫描变换系数的顺序。当确定系数编码的顺序之后,就可以获得这组系数的最后非零系数的位置与幅值,非零系数的个数,以及非零系数组的个数等等非零系数信息。
系数优化步骤S403:根据率失真代价差按照预先确定的系数扫描顺序进行非零系数最优判断以及系数组全零化判断,其中所述系数组尺寸为4*4的二维数组。
参照图7,所述系数优化步骤具体包括:
步骤a:以系数组为单位,判断当前扫描的系数组是否为全零系数组。
若是,执行步骤k;若否,执行步骤b。
步骤k:获取当前全零系数组的比特数。
步骤b:以系数为单位,在当前扫描的系数组内按照预设的系数扫描顺序依次对每个系数进行零系数判断。
并根据判断结果执行下列操作:
若系数为位于初始的最后非零系数之前的零系数,执行步骤m;
步骤m:获取零系数的比特数。
若系数为位于初始的最后非零系数之前的系数幅值为1的非零系数,执行步骤c。
步骤c:利用第一计算式计算该系数与该系数量化为零系数时的率失真代价差,得到第一计算结果;并根据第一计算结果进行系数调整。
若系数为位于初始的最后非零系数之前的系数幅值为大于1的非零系数,执行步骤d。
步骤d:利用第二计算式计算该系数与该系数-1时的率失真代价差,得到第二计算结果;并根据第二计算结果进行系数调整。
上述的第一计算式和第二计算式参见上述实施例一,不再累述。
步骤e:对系数调整后的当前扫描的系数组进行系数组全零化判断。
具体的,在对当前扫描的系数组的系数计算结束后,根据第三计算式计算当前扫描的非零CG的Rdcost的改变量,并根据结果判断是否将非零CG全零化。当率失真代价差小于零时,将当前系数组的非零系数全置为零,并更新CG的比特数。该步骤e的未说明之处可以参见实施例一,在此不再赘述。
进一步的,该加速方法还包括:
位置调整步骤S404:对初始的最后非零系数的位置进行调整,更新得到整个变换块的最终的最后非零系数的位置。
具体实现时,该位置调整步骤S404具体包括:
将初始的最后非零系数作为当前非零系数,对当前非零系数执行步骤A;
步骤A;判断当前非零系数是否为系数幅值等于1的非零系数。
若是,即当前非零系数为系数幅值等于1的非零系数,则执行步骤B;若否,即当前非零系数为系数幅值大于1(或者大于等于2)的非零系数,则执行步骤E。
步骤B:利用第四计算式计算该当前非零系数与当前非零系数量化为零系数的率失真代价差,得到第四计算结果。
第四计算式如下:
式中,Li表示当前非零系数的系数幅值;ΔRD(Li,0)表示当前非零系数与当前非零系数量化为零系数的率失真代价差;ΔD(Li,0)表示当前非零系数与当前非零系数量化为零系数的失真度改变量;表示当前非零系数与当前非零系数量化为零系数的比特数改变量;其中,ΔD(Li,0)根据#6式计算;根据#11式计算。
步骤C:根据第四计算结果对当前非零系数的位置进行调整。
当第四计算结果小于零,则执行步骤D。
步骤D:将当前非零系数置为零。
接着,将初始的最后非零系数之前的第一个非零系数作为当前非零系数,返回上述步骤A;直至执行E结束或判断终止。
当第四计算结果大于零,即系数不改变,则执行步骤E。
步骤E:将当前非零系数作为最终的最后非零系数,完成位置调整。
简而言之,位置调整步骤基于第四计算式计算RDcost的改变量来选择最后一个非零系数的位置。从初始的最后非零系数开始,向前逐个与系数为0时的率失真代价进行比较,当二者的率失真代价差小于零时,将初始的最后非零系数置为零。然后,对下一个非零系数进行上述判断操作,直至系数不改变或者系数幅值大于1时终止。
例如:情况一,调整之后的系数为:1 3 1 0 5 1 3 0 0 0 0 0 2 0 0 0其中,2为初始的最后非零系数,由于系数幅值大于1,那么在这种情况下不进行最后非零系数位置的判断。
情况二:调整之后的系数为:1 3 1 0 5 1 3 0 0 0 0 0 2 1 1 0其中,2 1 1为最后3个非零系数,1(倒数第一个)为初始的最后非零系数,1(倒数第二个)为初始的最后非零系数之前的下一个非零系数,…,那么在这种情况下,逐次对1 1 2进行判断,若两个1的计算结果都是需要置零,那么无需再对2(系数幅值大于1)进行计算,最终结果为1 3 1 0 5 13 0 0 0 0 02 0 0 0。
需要指出的是,在判断过程中,若是发生将CG组的系数逐一判断为零的情况,则需要更新当前CG与零CG的RDcost的差,用于随后变换块全零化判断中。
进一步的,该加速方法还包括:
变换块全零化判断步骤S405:利用第五计算式计算整个变换块TB与全零变换块TB的率失真代价差,得到第五计算结果;根据第五计算结果判断是否将该变换块全零化。
具体的该步骤包括以下步骤:
首先,利用第五计算式计算整个变换块TB与全零变换块TB的率失真代价差,得到第五计算结果;
其中,第五计算式为:
ΔRD(TB,0)=ΔD(TB,0)+ΔR(TB,0);
式中,ΔRD(TB,0)表示当前变换块TB与全零变换块TB的率失真代价差;ΔD(TB,0)表示当前变换块TB与全零变换块TB的失真度改变量;ΔR(TB,0)表示当前变换块TB与全零变换块TB的比特数改变量。
ΔR(TB,0)=∑ΔR(CG,0)+RTB(1)-RTB(0)
然后,根据第五计算结果判断是否将该变换块全零化。
若第五计算结果小于零,则将该当前变换块TB全零化,(即将当前TB的系数全置为零,)并将编码标志位CBF的值更新为零。
也就是说,基于式#(6)与式#(12)计算整个变换块TB的Rdcost的改变量。
具体实施时,将上述判断过程中得到的每个CG的RDcost的改变量进行累加(ΔRD(TB,0)=∑ΔRD(CG,0)=∑ΔD(CG,0)+∑ΔR(CG,0)),并加上当前TB编码与否产生的比特数的差(RTB(1)-RTB(0)),就可以得到当前变换块TB与全零TB的RDcost的改变量。然后,根据结果判断是否将整个变换块TB的系数置为零,若RDcost的改变量小于零,则将当前TB的系数全置为零,并将CBF的值更新为零。
该加速方法考虑根据变换量化后的系数信息,选择跳过RDOQ过程的某些步骤(如CG全零判断、系数调整的范围等),以实现加速量化过程。
实施例三:
如图8所示,本发明实施例提供了一种RDOQ的加速装置,该装置包括:
量化模块801,用于对残差信号进行离散余弦变换,得到变换块。
扫描模块802,用于选取变换系数单元逆序扫描的系数扫描方式,确定变换块中变换系数的系数扫描顺序,并获得所述系数扫描顺序下变换块的非零系数信息;其中,所述变换块包括至少一个系数组,所述非零系数信息包括所述变换系数单元中的初始的最后非零系数的位置、初始的最后非零系数的幅值,非零系数组的个数、非零系数组的位置、非零系数组内非零系数的个数以及非零系数组内非零系数位置信息;以正序扫描的方向为正方向得到所述初始的最后非零系数的位置以及以正方向描述初始的最后非零系数之前。
系数优化模块803,用于根据RDcost的改变量按照预先确定的系数扫描顺序进行非零系数最优判断以及系数组全零化判断,其中所述系数组尺寸为4*4的二维数组。
进一步的,该装置还包括:
位置调整模块804:对初始的最后非零系数的位置进行调整,更新得到整个变换块的最终的最后非零系数的位置。
变化块全零化判断模块805:利用第五计算式计算整个变换块与全零变换块的率失真代价差,得到第五计算结果;根据第五计算结果判断是否将该变换块全零化。
实施例四:
本发明实施例提供了一种视频编码器,该视频编码器包括上述实施例三提供的RDOQ的加速装置。
下面结合图9对本发明实施例提供的视频编码器的工作过程作一介绍:
1、变换量化
对残差进行DCT变换,并按照式(13)进行预量化,得到变换系数单元(TB)。
2、系数扫描
这里系数扫描采用逆序扫描,扫描方式可以预设为水平、垂直或者对角扫描方式的任意一种,这里不作限定。
3、系数优化
这里的系数优化步骤包括非零系数最优判断以及系数组全零化判断。具体包括:判断CG是否为零;若是,则查表获取该零CG的比特数。若否,则以系数为单位,判断系数是否位于最后非零系数之后;当是,则不计算零系数的RDcost的代价差;当否,则判断系数是否为零系数;如果是,则查表获取零系数的比特数;如果否,则根据不同的判断结果进行系数调整,计算RDcost的改变量(两种情况A:系数幅值为1的系数;B系数幅值大于1的系数);计算CG的失真度以进一步计算得到CG的RDcost的改变量;最后进行CG全零化判断。
4、最后非零系数调整
5、TB是否全置为零
由各个CG的RDcost的改变量计算TB的RDcost的改变量,根据结果判断TB是否全零化,当判定TB全置为零,则将CBF置为零,不返回最终的系数;当判定TB否全置为零,则返回最终的系数,生成结果,结束。
需要说明的是,这里的最后非零系数是指初始的最后非零系数。
本发明实施例还提供了一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例二所述的加速方法的步骤。
本发明实施例所提供的RDOQ的系数优化方法、RDOQ的加速方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种RDOQ的系数优化方法,其特征在于,包括:
针对一个非全零系数组,以系数为单位,按照预设的系数扫描顺序依次对非全零系数组内的每个系数进行零系数判断,根据判断结果执行下述操作:
对于位于初始的最后非零系数之前的零系数,获取零系数对应的比特数;所述初始的最后非零系数的位置已知,所述初始的最后非零系数之前是以正序扫描方向为正方向描述的;
对于位于初始的最后非零系数之前系数幅值为1的非零系数,利用第一计算式计算该非零系数与该非零系数量化为零系数时的率失真代价差,得到第一计算结果;并根据第一计算结果进行系数调整;
第一计算式如下:
ΔRD(Li,0)=ΔD(Li,0)+ΔR(1,0);
式中,Li表示非零系数的系数幅值,这里Li=1;ΔRD(Li,0)表示非零系数与零系数的率失真代价差;ΔD(Li,0)表示非零系数与零系数的失真度改变量;ΔR(1,0)表示非零系数与零系数的比特数改变量;
对于位于初始的最后非零系数之前系数幅值大于1的非零系数,利用第二计算式计算该非零系数与该非零系数幅值减1时的系数的率失真代价差,得到第二计算结果;并根据第二计算结果进行系数调整;
第二计算式如下:
ΔRD(Li,Li-1)=ΔD(Li,Li-1)+ΔR(Li,Li-1);
其中,Li表示非零系数的系数幅值,这里Li大于1;ΔRD(Li,Li-1)表示非零系数与非零系数减1的率失真代价差;ΔD(Li,Li-1)表示非零系数与非零系数减1的失真度改变量;ΔR(Li,Li-1)表示非零系数与非零系数减1的比特数改变量。
2.根据权利要求1所述的方法,其特征在于,还包括:
对于位于初始的最后非零系数之后的零系数,不计算该零系数的率失真代价。
3.根据权利要求1所述的方法,其特征在于,还包括:
对于系数调整后的该非全零系数组进行系数组全零化判断。
4.根据权利要求3所述的方法,其特征在于,所述对于系数调整后的该非全零系数组进行系数组全零化判断,具体包括:
利用第三计算式计算系数调整后的该非全零系数组与全零系数组的率失真代价差,得到第三计算结果;
第三计算式如下:
ΔRD(CG,0)=ΔD(CG,0)+ΔR(CG,0);
上式中,CG表示系数调整后的非全零系数组;ΔRD(CG,0)表示系数调整后的该非全零系数组与全零系数组的率失真代价差;ΔD(CG,0)表示系数调整后的该非全零系数组与全零系数组的失真度的改变量;ΔR(CG,0)表示系数调整后的该非全零系数组与全零系数组的比特数的改变量;
根据第三计算结果进行系数组全零化判断;
当第三计算结果小于零时,将非全零系数组的非零系数全置为零,并更新系数组的比特数。
5.根据权利要求1所述的方法,其特征在于,还包括:
针对一个全零系数组,获取该全零系数组的比特数。
6.一种RDOQ的加速方法,其特征在于,包括:
量化步骤:对残差信号进行离散余弦变换,得到变换块;
扫描步骤:选取变换系数单元逆序扫描的系数扫描方式,确定变换块中变换系数的系数扫描顺序,并获得所述系数扫描顺序下变换块的非零系数信息;其中,所述变换块包括至少一个系数组,所述非零系数信息包括所述变换系数单元中的初始的最后非零系数的位置、初始的最后非零系数的幅值,非零系数组的个数、非零系数组的位置、非零系数组内非零系数的个数以及非零系数组内非零系数位置信息;以正序扫描的方向为正方向得到所述初始的最后非零系数的位置以及以正方向描述初始的最后非零系数之前;
系数优化步骤:根据率失真代价差按照预先确定的系数扫描顺序进行非零系数最优判断以及系数组全零化判断,其中所述系数组尺寸为4*4的二维数组,所述系数优化步骤具体包括:
步骤a:以系数组为单位,判断当前扫描的系数组是否为全零系数组;
若是,执行步骤k;若否,执行步骤b;
步骤k:获取当前全零系数组的比特数;
步骤b:以系数为单位,在当前扫描的系数组内按照预设的系数扫描顺序依次对每个系数进行零系数判断,并根据判断结果执行下列操作;
若系数为位于初始的最后非零系数之前的零系数,执行步骤m;
步骤m:获取零系数的比特数;
若系数为位于初始的最后非零系数之前的系数幅值为1的非零系数,执行步骤c;
步骤c:利用第一计算式计算该系数与该系数量化为零系数时的率失真代价差,得到第一计算结果;并根据第一计算结果进行系数调整;
第一计算式如下:
ΔRD(Li,0)=ΔD(Li,0)+ΔR(1,0);
式中,Li表示非零系数的系数幅值,这里Li=1;ΔRD(Li,0)表示非零系数与零系数的率失真代价差;ΔD(Li,0)表示非零系数与零系数的失真度改变量;ΔR(1,0)表示非零系数与零系数的比特数改变量;
若系数为位于初始的最后非零系数之前的系数幅值为大于1的非零系数,执行步骤d;
步骤d:利用第二计算式计算该系数与该系数减1时的率失真代价差,得到第二计算结果;并根据第二计算结果进行系数调整;
第二计算式如下:
ΔRD(Li,Li-1)=ΔD(Li,Li-1)+ΔR(Li,Li-1);
其中,Li表示非零系数的系数幅值,这里Li大于1;ΔRD(Li,Li-1)表示非零系数与非零系数减1的率失真代价差;ΔD(Li,Li-1)表示非零系数与非零系数减1的失真度改变量;ΔR(Li,Li-1)表示非零系数与非零系数减1的比特数改变量;
步骤e:对系数调整后的当前扫描的系数组进行系数组全零化判断。
7.根据权利要求6所述的方法,其特征在于,还包括:
位置调整步骤:对初始的最后非零系数的位置进行调整,更新得到整个变换块的最终的最后非零系数的位置。
8.根据权利要求7所述的方法,其特征在于,所述位置调整步骤具体包括:
将初始的最后非零系数作为当前非零系数,对当前非零系数执行步骤A;
步骤A;判断当前非零系数是否为系数幅值等于1的非零系数;
若是,则执行步骤B;若否,则执行步骤E;
步骤B:利用第四计算式计算该当前非零系数与当前非零系数量化为零系数的率失真代价差,得到第四计算结果;
第四计算式如下:
式中,Li表示当前非零系数的系数幅值;ΔRD(Li,0)表示当前非零系数与当前非零系数量化为零系数的率失真代价差;ΔD(Li,0)表示当前非零系数与当前非零系数量化为零系数的失真度改变量;表示当前非零系数与当前非零系数量化为零系数的比特数改变量;步骤C:根据第四计算结果对当前非零系数的位置进行调整;
当第四计算结果小于零,则执行步骤D;
步骤D:将当前非零系数置为零;
接着,将初始的最后非零系数之前的第一个非零系数作为当前非零系数,返回上述步骤A;
当第四计算结果大于零,则执行步骤E;
步骤E:将当前非零系数作为最终的最后非零系数,完成位置调整。
9.根据权利要求7所述的方法,其特征在于,还包括:
变化块全零化判断步骤:利用第五计算式计算整个变换块与全零变换块的率失真代价差,得到第五计算结果;
第五计算式为:
ΔRD(TB,0)=ΔD(TB,0)+ΔR(TB,0);
式中,ΔRD(TB,0)表示当前变换块TB与全零变换块TB的率失真代价差;ΔD(TB,0)表示当前变换块TB与全零变换块TB的失真度改变量;ΔR(TB,0)表示当前变换块TB与全零变换块TB的比特数改变量;
根据第五计算结果判断是否将该变换块全零化。
10.一种RDOQ的加速装置,其特征在于,包括:
量化模块,用于对残差信号进行离散余弦变换,得到变换块;
扫描模块,用于选取变换系数单元逆序扫描的系数扫描方式,确定变换块中变换系数的系数扫描顺序,并获得所述系数扫描顺序下变换块的非零系数信息;其中,所述变换块包括至少一个系数组,所述非零系数信息包括所述变换系数单元中的初始的最后非零系数的位置、初始的最后非零系数的幅值,非零系数组的个数、非零系数组的位置、非零系数组内非零系数的个数以及非零系数组内非零系数位置信息;以正序扫描的方向为正方向得到所述初始的最后非零系数的位置以及以正方向描述初始的最后非零系数之前;
系数优化模块,用于根据RDcost的改变量按照预先确定的系数扫描顺序进行非零系数最优判断以及系数组全零化判断,其中所述系数组尺寸为4*4的二维数组;
系数优化步骤具体包括:
步骤a:以系数组为单位,判断当前扫描的系数组是否为全零系数组;
若是,执行步骤k;若否,执行步骤b;
步骤k:获取当前全零系数组的比特数;
步骤b:以系数为单位,在当前扫描的系数组内按照预设的系数扫描顺序依次对每个系数进行零系数判断,并根据判断结果执行下列操作;
若系数为位于初始的最后非零系数之前的零系数,执行步骤m;
步骤m:获取零系数的比特数;
若系数为位于初始的最后非零系数之前的系数幅值为1的非零系数,执行步骤c;
步骤c:利用第一计算式计算该系数与该系数量化为零系数时的率失真代价差,得到第一计算结果;并根据第一计算结果进行系数调整;
第一计算式如下:
ΔRD(Li,0)=ΔD(Li,0)+ΔR(1,0);
式中,Li表示非零系数的系数幅值,这里Li=1;ΔRD(Li,0)表示非零系数与零系数的率失真代价差;ΔD(Li,0)表示非零系数与零系数的失真度改变量;ΔR(1,0)表示非零系数与零系数的比特数改变量;
若系数为位于初始的最后非零系数之前的系数幅值为大于1的非零系数,执行步骤d;
步骤d:利用第二计算式计算该系数与该系数减1时的率失真代价差,得到第二计算结果;并根据第二计算结果进行系数调整;
第二计算式如下:
ΔRD(Li,Li-1)=ΔD(Li,Li-1)+ΔR(Li,Li-1);
其中,Li表示非零系数的系数幅值,这里Li大于1;ΔRD(Li,Li-1)表示非零系数与非零系数减1的率失真代价差;ΔD(Li,Li-1)表示非零系数与非零系数减1的失真度改变量;ΔR(Li,Li-1)表示非零系数与非零系数减1的比特数改变量;
步骤e:对系数调整后的当前扫描的系数组进行系数组全零化判断。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810217789.4A CN108322749B (zh) | 2018-03-15 | 2018-03-15 | Rdoq的系数优化方法、rdoq的加速方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810217789.4A CN108322749B (zh) | 2018-03-15 | 2018-03-15 | Rdoq的系数优化方法、rdoq的加速方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108322749A CN108322749A (zh) | 2018-07-24 |
CN108322749B true CN108322749B (zh) | 2021-03-16 |
Family
ID=62898858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810217789.4A Active CN108322749B (zh) | 2018-03-15 | 2018-03-15 | Rdoq的系数优化方法、rdoq的加速方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108322749B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112449184B (zh) * | 2019-08-28 | 2022-01-25 | 腾讯科技(深圳)有限公司 | 变换系数优化方法、编解码方法、装置、介质及电子设备 |
CN111726618B (zh) * | 2020-06-29 | 2022-11-18 | 上海富瀚微电子股份有限公司 | Rdoq的最优量化值的计算方法 |
CN111787324B (zh) * | 2020-06-29 | 2021-05-04 | 北京大学 | 率失真优化量化的方法、编码方法及装置 |
CN113573056A (zh) * | 2021-05-25 | 2021-10-29 | 杭州博雅鸿图视频技术有限公司 | 一种率失真优化量化的方法、装置、存储介质及终端 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103945220A (zh) * | 2014-02-24 | 2014-07-23 | 西南交通大学 | 一种用于高效视频编码hevc的量化优化方法 |
CN106060555A (zh) * | 2016-06-29 | 2016-10-26 | 东华大学 | 一种基于多核处理器的编码器 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100238066B1 (ko) * | 1996-06-26 | 2000-01-15 | 윤종용 | 양자화활동도를 이용한 비트 발생량 제어방법 및 그 영상 부호화장치 |
US8891615B2 (en) * | 2008-01-08 | 2014-11-18 | Qualcomm Incorporated | Quantization based on rate-distortion modeling for CABAC coders |
JP5423469B2 (ja) * | 2010-02-23 | 2014-02-19 | 沖電気工業株式会社 | 量子化装置、プログラム及び方法、並びに、動画像符号化装置 |
CN102547260B (zh) * | 2010-12-22 | 2014-11-19 | 联芯科技有限公司 | 基于上下文自适应的可变长编码的解码方法及系统 |
US9826238B2 (en) * | 2011-06-30 | 2017-11-21 | Qualcomm Incorporated | Signaling syntax elements for transform coefficients for sub-sets of a leaf-level coding unit |
US10085024B2 (en) * | 2012-04-13 | 2018-09-25 | Qualcomm Incorporated | Lookup table for rate distortion optimized quantization |
CN104104958B (zh) * | 2013-04-08 | 2017-08-25 | 联发科技(新加坡)私人有限公司 | 图像解码方法及其图像解码装置 |
CN103581670B (zh) * | 2013-10-09 | 2015-05-20 | 合一网络技术(北京)有限公司 | H264自适应帧内模式选择码率估计的率失真优化方法及其装置 |
JP6340567B2 (ja) * | 2014-05-30 | 2018-06-13 | 株式会社アクセル | 動画再生方法及び動画再生システム |
CN105812804B (zh) * | 2014-12-30 | 2018-09-28 | 浙江大华技术股份有限公司 | 一种确定rdoq过程中最优量化值的方法及装置 |
KR102251828B1 (ko) * | 2015-09-02 | 2021-05-13 | 삼성전자주식회사 | 율―왜곡 최적화 기반의 양자화 방법 및 그 장치 |
CN105898300B (zh) * | 2016-05-06 | 2019-03-26 | 西安电子科技大学 | 一种基于恢复变换系数的改进变换系数符号位隐藏方法 |
CN107257461B (zh) * | 2017-04-21 | 2019-08-20 | 中国计量大学 | 基于上下文自适应偏移模型的视音频编码硬判决量化方法 |
-
2018
- 2018-03-15 CN CN201810217789.4A patent/CN108322749B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103945220A (zh) * | 2014-02-24 | 2014-07-23 | 西南交通大学 | 一种用于高效视频编码hevc的量化优化方法 |
CN106060555A (zh) * | 2016-06-29 | 2016-10-26 | 东华大学 | 一种基于多核处理器的编码器 |
Also Published As
Publication number | Publication date |
---|---|
CN108322749A (zh) | 2018-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108322749B (zh) | Rdoq的系数优化方法、rdoq的加速方法及装置 | |
KR101096467B1 (ko) | 인트라-프레임 코딩을 위한 픽셀 바이 픽셀 가중 | |
JP5212373B2 (ja) | 画像処理装置及び画像処理方法 | |
KR101375664B1 (ko) | 영상의 디퓨전 특성을 이용한 영상 부호화/복호화 방법 및장치 | |
JP3657517B2 (ja) | デジタル・システムにおいて信号を量子化するための方法および装置 | |
JP5469192B2 (ja) | 復号器における係数を予測する方法、復号化方法、ビデオ復号化器 | |
US20240163422A1 (en) | Encoding/decoding method and apparatus for coding unit partitioning | |
US11483560B2 (en) | Point cloud partition methods, encoder, and decoder | |
KR100510137B1 (ko) | 고속 움직임 추정을 위한 참조 픽쳐 및 블록 모드 결정방법, 그 장치, 블록 모드 결정 방법 및 그 장치 | |
TW200833123A (en) | Method and apparatus for encoding image | |
CN102939753A (zh) | 用于通过根据像素组补偿像素值来对视频进行编码的方法和设备以及用于通过根据像素组补偿像素值来对视频进行解码的方法和设备 | |
JP4274234B2 (ja) | 圧縮データ量制御方法及び画像データ圧縮装置 | |
JP2014519215A (ja) | データをロッシー圧縮符号化する方法および装置、および、データを再構築する対応する方法および装置 | |
JP2009503977A (ja) | 多次元デジタル信号のフィルタリング方法及び装置、並びに、関連する符号化/復号化方法及び装置 | |
KR20070110517A (ko) | 부호화 장치 및 부호화 장치를 구비한 동화상 기록 시스템 | |
CN116601944A (zh) | 点云编解码方法、编码器、解码器及计算机存储介质 | |
JP4866484B2 (ja) | パラメータ選択方法、パラメータ選択装置、プログラム及び記録媒体 | |
CN101102502A (zh) | 一种基于图像特征的码率控制方法及装置 | |
EP2076047A2 (en) | Video motion estimation | |
CN115834882A (zh) | 一种帧内预测方法、装置、电子设备及存储介质 | |
US9838713B1 (en) | Method for fast transform coding based on perceptual quality and apparatus for the same | |
JP2006287487A (ja) | 符号処理装置、符号処理方法、プログラム及び情報記録媒体 | |
CN117157973A (zh) | 编解码方法及相关设备、存储介质 | |
CN109510996B (zh) | 带宽压缩中的后选择预测方法 | |
JP2500583B2 (ja) | 画像信号の量子化特性制御方法及び画像信号圧縮符号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |