CN113747177B - 基于历史信息的帧内编码速度优化方法、装置及介质 - Google Patents
基于历史信息的帧内编码速度优化方法、装置及介质 Download PDFInfo
- Publication number
- CN113747177B CN113747177B CN202110896509.9A CN202110896509A CN113747177B CN 113747177 B CN113747177 B CN 113747177B CN 202110896509 A CN202110896509 A CN 202110896509A CN 113747177 B CN113747177 B CN 113747177B
- Authority
- CN
- China
- Prior art keywords
- coding unit
- coding
- round
- sub
- value
- 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
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000005457 optimization Methods 0.000 title claims description 11
- 238000004364 calculation method Methods 0.000 claims abstract description 33
- 238000005192 partition Methods 0.000 claims description 39
- 239000011159 matrix material Substances 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 description 22
- 238000013138 pruning Methods 0.000 description 17
- 238000000638 solvent extraction Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 230000003044 adaptive effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000012010 growth Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000003698 anagen phase Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012812 general test Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Abstract
本发明公开了基于历史信息的帧内编码速度优化方法、装置及介质,方法包括:获取编码单元;当所述编码单元为第一轮编码单元时,对所述第一轮编码单元的相关指标进行计算,并根据所述相关指标的计算结果对所述第一轮编码单元进行编码;将所述相关指标的计算结果与动态阈值进行比较,确定编码单元的划分类型;其中,所述动态阈值根据编码单元的历史划分信息进动态调整;当所述编码单元为后续轮编码单元时,判断所述后续轮编码单元是否提前终止划分;若是,则返回获取编码单元的步骤;反之,则对所述后续轮编码单元进行编码;完成对所有编码单元的编码操作。本发明的兼容性好且速度快,可广泛应用于视频编码技术领域。
Description
技术领域
本发明涉及视频编码技术领域,尤其是基于历史信息的帧内编码速度优化方法、装置及介质。
背景技术
VVC(Versatile Video Coding)在保持主客观视觉质量的同时,可以将编码效率提高40%及以上。编码效率的提升得益于众多新采纳的编码技术和工具,比如QTMT分区方案、多行参考预测(MRL)、矩阵帧内预测(MIP)、多种变换核选择(MTS)、低频不可分离变换(LFNST)、帧内子块划分(IntraISP)等等。这些新采纳的编码工具虽然有效提高了压缩效率,但是也大幅引入了编码复杂度。过高的编码复杂度会影响编码的实时性,提高工程落地的实现难度。
针对急剧增加的编码时间,专家们呼吁对编码复杂度进行有效控制。根据报告,相比HEVC,在全帧内配置随机访问配置(Random Access)和低延迟配置(/> P/B)下,VVC的编码时间分别增加25、7和6倍,而编码效率对应提升25%、36%和32%左右。显然,帧内编码复杂度的增长远超帧间编码,目前最紧要和棘手的便是控制帧内编码的复杂度。
在传统方法的VVC快速算法中,虽然编码时间可以下降20%-50%,但是编码损失也接近甚至超过1%。考虑到VVC帧内编码相比HEVC的整体增益仅为25%,过高的编码损失(例如大于1%)是难以接受的。换而言之,这些已有算法在编码效率和编码时间上仍然没有做到令人满意的折中和平衡。
发明内容
有鉴于此,本发明实施例提供一种速度快且兼容性好的,基于历史信息的帧内编码速度优化方法、装置及介质。
本发明的一方面提供了一种基于历史信息的帧内编码速度优化方法,包括:
获取编码单元;
当所述编码单元为第一轮编码单元时,对所述第一轮编码单元的相关指标进行计算,并根据所述相关指标的计算结果对所述第一轮编码单元进行编码;
将所述相关指标的计算结果与动态阈值进行比较,确定编码单元的划分类型;其中,所述动态阈值根据编码单元的历史划分信息进动态调整;
当所述编码单元为后续轮编码单元时,判断所述后续轮编码单元是否提前终止划分;若是,则返回获取编码单元的步骤;反之,则对所述后续轮编码单元进行编码;
完成对所有编码单元的编码操作。
可选地,所述方法还包括:
对编码树单元内每一个编码单元进行判断,判断该编码单元是第一轮编码单元或者是后续轮编码单元。
可选地,所述相关指标包括纹理信息、水平梯度值以及竖直梯度值,所述对所述第一轮编码单元的相关指标进行计算这一步骤包括:
计算所述第一轮编码单元的水平梯度值;
计算所述第一轮编码单元的竖直梯度值;
根据所述水平梯度值和所述竖直梯度值,计算所述第一轮编码单元的纹理信息;
其中,所述水平梯度值Gx的计算公式为:
所述竖直梯度值Gy的计算公式为;
所述纹理信息T(i,j)的计算公式为:
T(i,j)=|Gx(i,j)|+|Gy(i,j)|
其中,P代表以(i,j)位置的像素值为中心的3×3大小的像素矩阵;(i,j)代表图像中第j行,第i列的位置。
可选地,所述方法还包括:
在对所述第一轮编码单元的相关指标进行计算这一步骤中,计算所述第一轮编码单元内多个子单元的平均纹理值。
可选地,所述将所述相关指标的计算结果与动态阈值进行比较,确定编码单元的划分类型,包括:
对于第一轮编码单元,当不划分时的率失真代价小于待划分类型对应的率失真代价,对所述动态阈值进行调整;
所述动态阈值的调整公式为:
其中,Thr代表调整后的阈值;Thr_old代表调整前的阈值;T代表第一轮编码单元的平均纹理值。
可选地,所述判断所述后续轮编码单元是否提前终止划分,包括:
在针对同质性的子策略中,对于待划分类型,若编码单元的平均纹理值小于其对应的动态阈值,则跳过该待划分类型;
在针对方向性的子策略中,判断是否满足第一跳过条件,若是,则跳过该待划分类型;
在针对子部分之间纹理差异性的子策略中,判断是否满足第二跳过条件,若是,则提前终止当前划分类型。
可选地,所述第一跳过条件的表达式为:
所述第二跳过条件的表达式为:
Diff_ratio<Thr
代表当前编码单元的平均水平梯度值;/>代表当前编码单元的平均垂直梯度值;Thr代表判决的阈值;BT-V代表二叉树垂直划分模式;TT-V代表三叉树垂直划分模式;BT-H代表二叉树水平划分模式;TT-H代表三叉树水平划分模式;Diff_ratio代表子块差异度;Ratio_1代表子块差异度1;Ratio_2代表子块差异度2;/>代表第一个子块的平均纹理值;/>代表第二个子块的平均纹理值;/>代表第三个子块的平均纹理值。
本发明实施例另一方面还提供了一种基于历史信息的帧内编码速度优化装置,包括:
第一模块,用于获取编码单元;
第二模块,用于当所述编码单元为第一轮编码单元时,对所述第一轮编码单元的相关指标进行计算,并根据所述相关指标的计算结果对所述第一轮编码单元进行编码;
第三模块,用于将所述相关指标的计算结果与动态阈值进行比较,确定编码单元的划分类型;其中,所述动态阈值根据编码单元的历史划分信息进动态调整;
第四模块,用于当所述编码单元为后续轮编码单元时,判断所述后续轮编码单元是否提前终止划分;若是,则返回获取编码单元的步骤;反之,则对所述后续轮编码单元进行编码;
第五模块,用于完成对所有编码单元的编码操作。
本发明实施例另一方面还提供了一种电子设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如前面所述的方法。
本发明实施例另一方面还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如前面所述的方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
本发明的实施例首先获取编码单元;当所述编码单元为第一轮编码单元时,对所述第一轮编码单元的相关指标进行计算,并根据所述相关指标的计算结果对所述第一轮编码单元进行编码;将所述相关指标的计算结果与动态阈值进行比较,确定编码单元的划分类型;其中,所述动态阈值根据编码单元的历史划分信息进动态调整;当所述编码单元为后续轮编码单元时,判断所述后续轮编码单元是否提前终止划分;若是,则返回获取编码单元的步骤;反之,则对所述后续轮编码单元进行编码;完成对所有编码单元的编码操作。本发明的兼容性好且速度快。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的不同划分组合导致相同CU结构的示例图;
图2为本发明实施例的整体实施步骤流程图;
图3为本发明实施例的CU内TT-V划分示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本发明实施例提供了一种基于历史信息的帧内编码速度优化方法,包括:
获取编码单元;
当所述编码单元为第一轮编码单元时,对所述第一轮编码单元的相关指标进行计算,并根据所述相关指标的计算结果对所述第一轮编码单元进行编码;
将所述相关指标的计算结果与动态阈值进行比较,确定编码单元的划分类型;其中,所述动态阈值根据编码单元的历史划分信息进动态调整;
当所述编码单元为后续轮编码单元时,判断所述后续轮编码单元是否提前终止划分;若是,则返回获取编码单元的步骤;反之,则对所述后续轮编码单元进行编码;
完成对所有编码单元的编码操作。
可选地,所述方法还包括:
对编码树单元内每一个编码单元进行判断,判断该编码单元是第一轮编码单元或者是后续轮编码单元。
可选地,所述相关指标包括纹理信息、水平梯度值以及竖直梯度值,所述对所述第一轮编码单元的相关指标进行计算这一步骤包括:
计算所述第一轮编码单元的水平梯度值;
计算所述第一轮编码单元的竖直梯度值;
根据所述水平梯度值和所述竖直梯度值,计算所述第一轮编码单元的纹理信息;
其中,所述水平梯度值Gx的计算公式为:
所述竖直梯度值Gy的计算公式为;
所述纹理信息T(i,j)的计算公式为:
T(i,j)=|Gx(i,j)|+|Gy(i,j)|
其中,P代表以(i,j)位置的像素值为中心的3×3大小的像素矩阵;(i,j)代表图像中第j行,第i列的位置。
可选地,所述方法还包括:
在对所述第一轮编码单元的相关指标进行计算这一步骤中,计算所述第一轮编码单元内多个子单元的平均纹理值。
可选地,所述将所述相关指标的计算结果与动态阈值进行比较,确定编码单元的划分类型,包括:
对于第一轮编码单元,当不划分时的率失真代价小于待划分类型对应的率失真代价,对所述动态阈值进行调整;
所述动态阈值的调整公式为:
其中,Thr代表调整后的阈值;Thr_old代表调整前的阈值;T代表第一轮编码单元的平均纹理值。
可选地,所述判断所述后续轮编码单元是否提前终止划分,包括:
在针对同质性的子策略中,对于待划分类型,若编码单元的平均纹理值小于其对应的动态阈值,则跳过该待划分类型;
在针对方向性的子策略中,判断是否满足第一跳过条件,若是,则跳过该待划分类型;
在针对子部分之间纹理差异性的子策略中,判断是否满足第二跳过条件,若是,则提前终止当前划分类型。
可选地,所述第一跳过条件的表达式为:
所述第二跳过条件的表达式为:
Diff_ratio<Thr
代表当前编码单元的平均水平梯度值;/>代表当前编码单元的平均垂直梯度值;Thr代表判决的阈值;BT-V代表二叉树垂直划分模式;TT-V代表三叉树垂直划分模式;BT-H代表二叉树水平划分模式;TT-H代表三叉树水平划分模式;Diff_ratio代表子块差异度;Ratio_1代表子块差异度1;Ratio_2代表子块差异度2;/>代表第一个子块的平均纹理值;/>代表第二个子块的平均纹理值;/>代表第三个子块的平均纹理值。
本发明实施例还提供了一种基于历史信息的帧内编码速度优化装置,包括:
第一模块,用于获取编码单元;
第二模块,用于当所述编码单元为第一轮编码单元时,对所述第一轮编码单元的相关指标进行计算,并根据所述相关指标的计算结果对所述第一轮编码单元进行编码;
第三模块,用于将所述相关指标的计算结果与动态阈值进行比较,确定编码单元的划分类型;其中,所述动态阈值根据编码单元的历史划分信息进动态调整;
第四模块,用于当所述编码单元为后续轮编码单元时,判断所述后续轮编码单元是否提前终止划分;若是,则返回获取编码单元的步骤;反之,则对所述后续轮编码单元进行编码;
第五模块,用于完成对所有编码单元的编码操作。
本发明实施例还提供了一种电子设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如前面所述的方法。
本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如前面所述的方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
下面详细描述本发明的具体实现原理:
需要说明的是,在QTMT分区方案之下,不同的划分组合可能会导致相同的CU结构(具有相同的位置和大小)。换而言之,相同位置和大小的CU可能会被编码多次。以图1为例,对于某父CU(大小为w×h),经过连续两次且不同方向的二叉树划分(如图1的101和102)后,可以生成两个大小为w/2×h/2的子CU。这两个子CU和四叉树划分产生的部分子CU具有相同的位置和大小,会被重复编码。为了方便阐述,本发明定义编码器首次遇到并进行编码的CU为第一轮CU(1st round CU);定义编码器再次遇到的CU,即此前某种划分组合已经产生并编码过的CU,为后续轮CU(following rounds CU)。
这种源于编码器和QTMT分区方案本身的特点激发了本发明的核心思想——可以利用1st round CU的编码结果(包括最优划分类型和预测模式)来指导following roundsCU的编码。具体来说,就是利用1st round CU(首次编码)和following rounds CU(再次遇到)的关系来跳过冗余的划分类型。
第一,从视频编码的理论角度来看,上述QTMT分区方案“历史与重复”的特点可以被利用于加速QTMT划分。具体来说,对于某CU,在首次编码和再次遇到进行编码时,其参考区域的位置和大小是不变的。虽然参考像素的值会发生变化(周围CU的结构不同,会导致参考像素的重建值也略有不同),但是差别不大,其重建值仍然逼近于相同的原始像素值。所以,从理论上分析,1st round CU和following rounds CU有着相近的参考像素,其后续的最优划分类型和预测模式也会相近。
第二,从统计和优化空间的角度来看,利用QTMT分区方案“历史与重复”的特点能够在控制较小编码损失的情况下,有效提高编码速度。一方面,根据实验统计,1st round CU和following rounds CU拥有相同最优划分类型的比率超过80%,和上述理论分析一致。这也说明,如果能合理利用该特点,可以有效控制编码损失。另一方面,根据实验统计,大约有30%-40%的CU会被编码多次,这意味着利用该特点进行速度优化的空间较大。
如上所述,根据实验统计,1st round CU和following rounds CU拥有相同最优划分类型的比率超过80%。所以,可以利用1st round CU的编码结果来指导和跳过followingrounds CU的递归遍历划分。为了有效控制编码损失,我们认为80%的正确率是不足的,冗余划分类型的识别和剔除需要保证至少95%的正确率。
经过大量的实验分析后,我们统计得到了若干正确率超过95%的剪枝策略,并归纳在表1中。例如,当1st round CU的最优划分类型为竖直三叉树划分(TTV),且最优预测模式集中在竖直方向附近(IPM:41-59)时,其following rounds CU基本不会选择水平二叉树划分(BT-H)——跳过BT-H的正确率高达97.59%。此时,可以将BT-H识别为冗余的划分类型,将其跳过来有效降低编码时间。由于正确率很高,本发明将表1中的所有剪枝策略运用在识别和剔除following rounds CU的冗余划分中。
表1
此外,根据这种“历史与重复”的特点,本算法还将提出一个分层的自适应阈值QTMT剪枝算法。不同于其他文献中的单一阈值,本算法引入了一个阈值矩阵——该阈值矩阵是多维的,多方面考虑了CU的大小、划分类型、量化参数(QP)等因素。换而言之,CU大小、划分类型、QP不同,阈值也不相同,这样能更好地贴合编码器QTMT划分的特性,有效控制编码损失。
自适应阈值QTMT剪枝算法的框架如图2所示,一些剪枝策略(下文会详细介绍)的阈值会在1st round CU的编码中进行自适应调整。然后,利用调整后的阈值,对followingrounds CU的QTMT划分进行剪枝,来节省编码时间。这种分层的自适应阈值调整有两个优势,第一个优势是可以替代原先耗时的阈值线下训练(Offline Training);第二个优势是能够更好地控制编码损失。相比其他文献中的人工设定或外部调整,这种源于编码器本身的自适应调整会更加精确。
阈值矩阵的调整需要依据1st round CU的编码中相关计算的结果,下面按照流程分别介绍相关计算、阈值自适应调整和提前终止划分的内容。
1、相关计算
在对CTU内的每一个CU进行编码时,若判断该CU是1st round CU(首次编码),则进行一些指标的计算,其中,T(i,j)、Gx(i,j)和Gy(i,j)分别表示位于(i,j)的纹理、水平梯度和竖直梯度值,计算方法如下:
T(i,j)=|Gx(i,j)|+|Gy(i,j)| (2)
其中,w和h分别表示CU的宽度和高度;T表示CU的平均纹理值,可以反映CU的同质性、平坦性和均匀性;Gx和Gy分别表示CU的平均水平梯度值和平均竖直梯度值,二者的差异可以反映CU的纹理方向性。
此外,再计算CU内若干个子部分的平均纹理值,便于后续流程判断子部分之间的纹理差异度。图3是计算CU内三个竖直子部分的平均纹理值的例子。在图3中,每个小圆点都表示对应位置像素的纹理值T(i,j)。三个竖直子部分各自的平均纹理值T_p1、T_p2和T_p3是对应部分的纹理值T(i,j)的平均值。
除了图3所示的三个竖直子部分(对应TT-V划分),其他方向和数量的子部分的平均纹理值也按照类似的方法计算得到——只要按照对应的划分树和划分方向进行分割和计算即可。
2、阈值自适应调整
只要将平均纹理值T和阈值Thr进行比较,便可以判定是否直接跳过某种特定的划分类型。该策略看似简单,但是关键点在于如何选择合适的阈值Thr——阈值过大会导致冗余划分类型的误判率上升,编码损失增大;阈值过小不能有效降低编码时间。
此外,针对不同大小的CU、划分类型和QP,阈值Thr应该也不同。在此,本算法利用“历史与重复”的特点来解决这个难点,保证阈值Thr(默认为零)有一个从零开始增长,并波动逼近至合理范围的过程。具体来说,对于1st round CU,若满足公式4,对阈值Thr进行调整。
Cost_partitioning type>Cost_non-split (4)
其中,Cost_partitioning_type表示某种划分类型对应的率失真代价;Cost_non_split表示不划分时的率失真代价。
根据公式4可知,当不划分的率失真代价小于某种划分类型(如QT、BT-H、BT-V、TT-H或TT-V)时,会进行阈值的调整。这是因为,在该情况下,编码器更倾向于不划分,而非进行该种split_type的划分。所以,此时应该根据该CU的平均纹理值T,去调整原有的阈值,来使其逐渐逼近合理范围。满足公式4后,对阈值Thr进行调整,调整方法见公式5。
其中,Thr和Thr_old分别表示调整后和调整前的阈值;T表示CU的平均纹理值。
根据公式5可以看出,随着编码过程的进行,阈值Thr(默认为零)会逐渐增长。当达到一定大小后,由于min()和max()函数的存在,Thr会在合理范围内波动调整,以适应QTMT划分的特性。值得注意的是,公式5中min()函数的系数(7/8)大于max()函数(1/8)的系数,这样可以有效控制编码损失——在Thr从零开始的增长阶段,max()函数的小系数(1/8)可以降低Thr的增长速度,避免因为部分极端值而导致Thr跳跃性增长;在Thr的波动调整阶段,min()函数的大系数(7/8)可以保证在Thr偏大时快速回落到较小的水平,及时降低误判概率和编码损失。
3、提前终止划分
对于following rounds CU,使用1st round CU调整过的阈值矩阵进行QTMT剪枝。具体来说,首先根据CU的大小、划分类型、QP和子策略的种类,获取相应的阈值Thr。然后,再进行相应的剪枝操作。三个剪枝子策略描述如下,下面简要介绍识别和跳过冗余划分类型的条件和方法。
在针对同质性的子策略中,对于某种划分类型,若CU的平均纹理值T小于对应的阈值Thr,即满足公式6,说明该区域较为平坦,跳过对应的划分类型。
在针对方向性的子策略中,若满足公式7,说明区域中出现了明显的与划分树反方向的纹理,跳过对应的划分类型。
在针对子部分之间纹理差异性的子策略中,继续利用Diff_ratio识别和跳过对应的划分类型。如公式9所示,当Diff_ratio(计算公式为公式8)小于阈值Thr时,提前终止对应划分类型。此时,在划分树相反方向上出现了明显的纹理差异,所以编码器倾向于跳过该种划分类型。
Diff_ratio<Thr (9)
综上所述,根据“历史与重复”的特点,针对同质性、方向性、子部分之间的纹理差异性,分别设计了三个子策略。子策略的相关阈值会在1st round CU的编码中自适应调整,然后再被用于following rounds CU的QTMT剪枝中,完成提前终止划分。
为了验证算法效果,我们对该基于历史的QTMT剪枝算法进行了实现和汇编优化,并植入VTM10.0中。在算法效果进行测试时,我们按照通用测试条件的要求,在All-Intra配置下对所有序列都测试了100帧。实验结果如表2所示。
算法效果用BD-Rate和BD-PSNR、编码时间下降比例(Time Saving,TS)以及TS/BD-Rate比值来衡量。其中,本文用TS/BD-Rate比值来衡量编码速度与损失的折中——比值越大,说明速度和损失的权衡越好。此外,BD-Rate和BD-PSNR用来衡量编码损失——BD-Rate为正或BD-PSNR为负说明编码效率有一定的损失。TS用来衡量速度优化的效果——TS越大说明速度提升越大,计算公式为式10。其中,T_o和T_p分别表示速度优化前后的编码时间
根据表2可知,该基于历史的QTMT剪枝算法在只带来0.18%编码损失(BD-Rate上升)的情况下,可以节省大约20%的编码时间。此外,所有序列的BD-PSNR下降都小于0.02dB,说明视频质量基本完全没有下降。极低的BD-Rate也说明了该基于历史的QTMT剪枝算法对冗余划分模式的误判率较低,分层的阈值调整设计有一定的科学性。
表2
综上所述,本发明首次利用该“历史与重复”的特点来加速VVC的QTMT划分。该算法为今后的算法设计提供了一个新颖的视角——除了视频内容特征,编码器和QTMT分区方案本身的特点也可以被运用于VVC的速度优化。
此外,算法中介绍的自适应阈值调整方法也可以被推广运用到其他的QTMT剪枝算法中,替换原有的人工阈值来有效控制编码损失。
值得一提的是,该算法还有很好的扩展性和兼容性——和其他QTMT剪枝算法并不冲突,而是可以相互融合来更大程度地进行速度优化。具体而言,可以在1st round CU的编码中运用其他的QTMT剪枝算法,而对following rounds CU执行该基于历史的QTMT剪枝算法,以达到更好的速度优化效果。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (9)
1.一种基于历史信息的帧内编码速度优化方法,其特征在于,包括:
获取编码单元;
当所述编码单元为第一轮编码单元时,对所述第一轮编码单元的相关指标进行计算,并根据所述相关指标的计算结果对所述第一轮编码单元进行编码;
将所述相关指标的计算结果与动态阈值进行比较,确定编码单元的划分类型;其中,所述动态阈值根据编码单元的历史划分信息进行动态调整;
当所述编码单元为后续轮编码单元时,判断所述后续轮编码单元是否提前终止划分;若是,则返回获取编码单元的步骤;反之,则对所述后续轮编码单元进行编码;
完成对所有编码单元的编码操作;
所述判断所述后续轮编码单元是否提前终止划分,包括:
在针对同质性的子策略中,对于待划分类型,若编码单元的平均纹理值小于其对应的动态阈值,则跳过该待划分类型;
在针对方向性的子策略中,对于待划分类型,判断是否满足第一跳过条件,若是,则跳过该待划分类型;
在针对子部分之间纹理差异性的子策略中,判断是否满足第二跳过条件,若是,则提前终止当前划分类型。
2.根据权利要求1所述的基于历史信息的帧内编码速度优化方法,其特征在于,所述方法还包括:
对编码树单元内每一个编码单元进行判断,判断该编码单元是第一轮编码单元或者是后续轮编码单元。
3.根据权利要求1所述的基于历史信息的帧内编码速度优化方法,其特征在于,所述相关指标包括纹理信息、水平梯度值以及竖直梯度值,所述对所述第一轮编码单元的相关指标进行计算这一步骤包括:
计算所述第一轮编码单元的水平梯度值;
计算所述第一轮编码单元的竖直梯度值;
根据所述水平梯度值和所述竖直梯度值,计算所述第一轮编码单元的纹理信息;
其中,所述水平梯度值Gx的计算公式为:
所述竖直梯度值Gy的计算公式为;
所述纹理信息T(i,j)的计算公式为:
T(i,j)=|Gx(i,j)|+|Gy(i,j)|
其中,P代表以(i,j)位置的像素值为中心的3×3大小的像素矩阵;(i,j)代表图像中第i行,第j列的位置。
4.根据权利要求3所述的基于历史信息的帧内编码速度优化方法,其特征在于,所述方法还包括:
在对所述第一轮编码单元的相关指标进行计算这一步骤中,计算所述第一轮编码单元内多个子单元的平均纹理值。
7.一种基于历史信息的帧内编码速度优化装置,其特征在于,包括:
第一模块,用于获取编码单元;
第二模块,用于当所述编码单元为第一轮编码单元时,对所述第一轮编码单元的相关指标进行计算,并根据所述相关指标的计算结果对所述第一轮编码单元进行编码;
第三模块,用于将所述相关指标的计算结果与动态阈值进行比较,确定编码单元的划分类型;其中,所述动态阈值根据编码单元的历史划分信息进动态调整;
第四模块,用于当所述编码单元为后续轮编码单元时,判断所述后续轮编码单元是否提前终止划分;若是,则返回获取编码单元的步骤;反之,则对所述后续轮编码单元进行编码;
第五模块,用于完成对所有编码单元的编码操作;
所述判断所述后续轮编码单元是否提前终止划分,包括:
在针对同质性的子策略中,对于待划分类型,若编码单元的平均纹理值小于其对应的动态阈值,则跳过该待划分类型;
在针对方向性的子策略中,对于待划分类型,判断是否满足第一跳过条件,若是,则跳过该待划分类型;
在针对子部分之间纹理差异性的子策略中,判断是否满足第二跳过条件,若是,则提前终止当前划分类型。
8.一种电子设备,其特征在于,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如权利要求1-6中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有程序,所述程序被处理器执行实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110896509.9A CN113747177B (zh) | 2021-08-05 | 2021-08-05 | 基于历史信息的帧内编码速度优化方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110896509.9A CN113747177B (zh) | 2021-08-05 | 2021-08-05 | 基于历史信息的帧内编码速度优化方法、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113747177A CN113747177A (zh) | 2021-12-03 |
CN113747177B true CN113747177B (zh) | 2023-06-20 |
Family
ID=78730213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110896509.9A Active CN113747177B (zh) | 2021-08-05 | 2021-08-05 | 基于历史信息的帧内编码速度优化方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113747177B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3499889A1 (en) * | 2017-12-14 | 2019-06-19 | Thomson Licensing | Method and apparatus for encoding a picture block |
CN111432212A (zh) * | 2020-04-28 | 2020-07-17 | 中山大学 | 基于纹理特征的帧内划分方法、系统及存储介质 |
CN112702603A (zh) * | 2019-10-22 | 2021-04-23 | 腾讯科技(深圳)有限公司 | 视频编码方法、装置、计算机设备和存储介质 |
CN112929657A (zh) * | 2021-01-22 | 2021-06-08 | 郑州轻工业大学 | 基于梯度与方差的h.266/vvc快速cu划分决策方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10674158B2 (en) * | 2017-06-15 | 2020-06-02 | Beamr Imaging Ltd | Method and system of video coding optimization |
EP3763128A4 (en) * | 2018-03-14 | 2022-04-06 | Mediatek Inc. | METHOD AND APPARATUS PROVIDING AN OPTIMIZED DIVISION STRUCTURE FOR VIDEO CODING |
-
2021
- 2021-08-05 CN CN202110896509.9A patent/CN113747177B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3499889A1 (en) * | 2017-12-14 | 2019-06-19 | Thomson Licensing | Method and apparatus for encoding a picture block |
CN112702603A (zh) * | 2019-10-22 | 2021-04-23 | 腾讯科技(深圳)有限公司 | 视频编码方法、装置、计算机设备和存储介质 |
CN111432212A (zh) * | 2020-04-28 | 2020-07-17 | 中山大学 | 基于纹理特征的帧内划分方法、系统及存储介质 |
CN112929657A (zh) * | 2021-01-22 | 2021-06-08 | 郑州轻工业大学 | 基于梯度与方差的h.266/vvc快速cu划分决策方法 |
Non-Patent Citations (1)
Title |
---|
Cao, J. 等.Texture-Based Fast CU Size Decision and Intra Mode Decision Algorithm for VVC.《MultiMedia Modeling (MMM 2020)》.2019,第739-751页. * |
Also Published As
Publication number | Publication date |
---|---|
CN113747177A (zh) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11218695B2 (en) | Method and device for encoding or decoding image | |
RU2696552C1 (ru) | Способ и устройство для видеокодирования | |
US7792188B2 (en) | Selecting encoding types and predictive modes for encoding video data | |
WO2017045580A1 (en) | Method and apparatus of advanced de-blocking filter in video coding | |
CN110036637B (zh) | 去噪声化已重构图像的方法及装置 | |
CN111988611B (zh) | 量化偏移信息的确定方法、图像编码方法、装置及电子设备 | |
KR20210024509A (ko) | 인트라 매크로 블록의 디블록킹 필터 및 필터링 방법 | |
WO2019085942A1 (zh) | Sao模式决策方法、装置、电子设备及可读存储介质 | |
WO2022116317A1 (zh) | 帧内预测方法、编码器、解码器以及存储介质 | |
RU2707719C1 (ru) | Способ и устройство выбора порядка сканирования | |
AU2019467372A1 (en) | Image coding/decoding method, coder, decoder, and storage medium | |
CN113747177B (zh) | 基于历史信息的帧内编码速度优化方法、装置及介质 | |
CN114095726B (zh) | 滤波方法、装置及设备 | |
JP2015521445A (ja) | ビデオストリームを符号化するための方法および装置 | |
KR102329129B1 (ko) | 샘플값 보상을 위한 영상 부호화 방법과 그 장치, 및 샘플값 보상을 위한 영상 복호화 방법과 그 장치 | |
CN110581990A (zh) | 一种适用于hevc 4k和8k超高清编码的tu递归快速算法 | |
WO2022184109A1 (zh) | 用于滤波的方法、装置及设备 | |
CN114827606A (zh) | 一种编码单元划分的快速决策方法 | |
CN111246218B (zh) | 基于jnd模型的cu分割预测和模式决策纹理编码方法 | |
CN113132725A (zh) | 一种去块滤波优化方法、装置、设备及介质 | |
CN114827630B (zh) | 基于频域分布学习cu深度划分方法、系统、装置及介质 | |
US7702165B2 (en) | Device, method, and program for image coding | |
CN112954321B (zh) | 一种图像特征帧内划分方法、装置、设备及介质 | |
CN113194311B (zh) | 图像处理方法、图像处理器及存储介质 | |
CN116828183A (zh) | 一种视频编码方法、装置、设备及可读存储介质 |
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 |