【技术实现步骤摘要】
率失真优化量化方法、装置、电子设备及存储介质
[0001]本专利技术涉及视频压缩
,具体涉及一种率失真优化量化方法
、
装置
、
电子设备及存储介质
。
技术介绍
[0002]相关技术中,标量量化因为死区固定,因此不能达到性能最优,率失真优化量化
(RDOQ)
由于在量化的过程中考虑了率失真代价,所以可以最大限度优化压缩性能
。RDOQ
技术会从多种量化方案中比较率失真代价,最后选取率失真代价最小的那个方案以达到最优性能
。
量化方案可以由不同的量化参数
(QP)
确定,也可由不同的量化偏移确定
。
其中,
RDOQ
技术始于
H.264/AVC
视频编码标准
。
[0003]相关技术中,提出了一个早期的
RDOQ
方法,此方法为每个编码块选取最优的
QP
以达到优化的目的
。
相关技术中,还提出一个进一步改进的方法,通过一些快速算法去掉一些不必要的候选
QP
从而减少遍历的数量
。
但是,这些方法不适用于开启码率控制的应用,因为码率控制会进一步改变每个块的
QP
以达到平衡码率的作用
。
其中,
RDOQ
的关键是计算每个量化方案的率失真代价,率失真代价可以定义为:
[0004]C
=
D+ λ ...
【技术保护点】
【技术特征摘要】
1.
一种率失真优化量化方法,其特征在于,应用于编码器,所述方法,包括:对变换系数矩阵进行量化,得到第一量化系数矩阵;其中,所述变换系数矩阵包括至少一个变换系数,所述第一量化系数矩阵包括至少一个第一量化系数;将所述第一量化系数矩阵划分为至少两个不重叠的第一量化系数子矩阵;对至少两个所述第一量化系数子矩阵进行数据统计,获取量化统计数据;所述量化统计数据用于消除至少两个所述第一量化系数子矩阵之间的依赖关系;针对每个所述第一量化系数子矩阵,对非零的所述第一量化系数进行系数调整,得到第二量化系数子矩阵;所述第二量化系数子矩阵包括至少一个第二量化系数;至少两个所述第一量化系数子矩阵的系数调整并行执行;根据所述第二量化系数子矩阵以及所述第一量化系数子矩阵与所述第一量化系数矩阵的关系,获取第二量化系数矩阵,所述第二量化系数矩阵包括至少一个所述第二量化系数
。2.
如权利要求1所述的率失真优化量化方法,其特征在于,所述对变换系数矩阵进行量化,得到第一量化系数矩阵,包括:针对所述变换系数矩阵中的每个所述变换系数,采用量化偏移参数对所述变换系数进行量化,得到所述第一量化系数
。3.
如权利要求2所述的率失真优化量化方法,其特征在于,所述第一量化系数采用如下计算式计算得到:
QCoeff[cIdx][x][y]
=
sign[cIdx][x][y]
×
((|TCoeff[cIdx][x][y]|
×
quantizationScaler[cIdx][x][y]+(1
<<
(quantizationShift[cIdx][x][y]
‑
1)))
>>
quantizationShift[cIdx][x][y])
;其中,
QCoeff[cIdx][x][y]
为所述第一量化系数,
sign[cIdx][x][y]
为所述变换系数的符号,
TCoeff[cIdx][x][y]
为所述变换系数,
quantizationScaler[cIdx][x][y]
为量化缩放参数,
quantizationShift[cIdx][x][y]
为所述量化偏移参数,
cIdx
为
Y、U、V
分量索引,
x、y
为所述变换系数在所述变换系数矩阵中的坐标
。4.
如权利要求1所述的率失真优化量化方法,其特征在于,对所述第一量化系数矩阵进行统计,获取量化统计数据之前,还包括:为至少一个上下文模型创建对应的数组,并初始化所述上下文模型为预定义值;所述数组用于存储对应的上下文模型的状态;所述数组的每个元素为8位整数;其中,所述至少一个上下文模型包括第一上下文模型
、
第二上下文模型
、
第三上下文模型与第四上下文模型;至少一个上下文模型对应的数组包括第一数组
、
第二数组
、
第三数组与第四数组;所述第一数组为
significantCoeffGroupCtx[2]
,用于存储第一语法元素的条件概率状态,所述第一语法元素为
significantCoeffCroup
,用于指出当前的第一量化系数子矩阵是否有非零的所述第一量化系数;所述第一语法元素为所述第一上下文模型;所述第二数组为
sigCoeffCtx[44]
,用于存储第二语法元素的条件概率状态,所述第二语法元素为
sigCoeffFlag
,用于指出当前的第一量化系数是否为零;所述第二语法元素为所述第二上下文模型;所述第三数组为
greaterOneCoeffCtx[24]
,用于存储第三语法元素的条件概率状态,
所述第三语法元素为
absCoeffGreaterThanOneFlag
,用于指出当前的第一量化系数的绝对值是否大于1;所述第三语法元素为所述第三上下文模型;所述第四数组为
levelAbsCoeffCtx[6]
,用于存储第四语法元素的条件概率状态,所述第四语法元素为
levelAbsCoeff
,是当前的第一量化系数的绝对值;所述第四语法元素为所述第四上下文模型
。5.
如权利要求1所述的率失真优化量化方法,其特征在于,对至少两个所述第一量化系数子矩阵进行数据统计,获取量化统计数据,包括:对所述第一量化系数矩阵的所述第一量化系数子矩阵,按照指定的第一扫描顺序对至少两个所述第一量化系数子矩阵分别进行扫描;针对每个所述第一量化系数子矩阵,按照指定的第二扫描顺序对所述第一量化系数进行扫描,获取所述量化统计数据;所述第一扫描顺序与所述第二扫描顺序相同
。6.
如权利要求5所述的率失真优化量化方法,其特征在于,所述量化统计数据包括:所述第一量化系数子矩阵中绝对值为1的第一量化系数的数量
、
所述第一量化系数子矩阵中绝对值大于1的第一量化系数的数量
、
所述第一量化系数子矩阵中绝对值大于2的第一量化系数的数量
、
所述第一量化系数矩阵中按照所述第一扫描顺序排列的第一个非零的第一量化系数的位置
、
所述第一量化系数子矩阵中按照所述第二扫描顺序排列的第一个绝对值为4的第一量化系数的位置
、
所述第一量化系数子矩阵中按照所述第二扫描顺序排列的第一个绝对值为7的第一量化系数的位置
、
所述第一量化系数子矩阵中按照所述第二扫描顺序排列的第一个绝对值为
13
的第一量化系数的位置以及所述第一量化系数子矩阵中按照所述第二扫描顺序排列的第一个绝对值为
25
的第一量化系数的位置
。7.
如权利要求6所述的率失真优化量化方法,其特征在于,所述第一量化系数子矩阵中绝对值为1的第一量化系数的数量存储于名为
cgOneCnt[64]
的第五数组中,所述第五数组在数据统计前初始化为全零数组,在数据统计过程中,如果当前第一量化系数的绝对值为1,对应的所述第一量化系数子矩阵的
cgOneCnt
自增
1。8.
如权利要求7所述的率失真优化量化方法,其特征在于,所述第一量化系数子矩阵中绝对值为1的第一量化系数的数量采用如下计算式计算得到:其中,
QCoeff[cIdx][x][y]
为所述第一量化系数,
cIdx
为
Y、U、V
分量索引,
x、y
为所述第一量化系数在所述第一量化系数矩阵中的坐标,
tuSize
为所述变换系数矩阵的大小
。9.
如权利要求6所述的率失真优化量化方法,其特征在于,所述第一量化系数子矩阵中绝对值大于1的第一量化系数的数量存储于名为
cgGreatherThanOneCnt[64]
的第六数组中,所述第六数组在数据统计前初始化为全零数组,在数据统计过程中,如果当前第一量化系数的绝对值大于1,对应的所述第一量化系数子矩阵的
cgGreaterThanOneCnt
自增
1。10.
如权利要求9所述的率失真优化量化方法,其特征在于,所述第一量化系数子矩阵中绝对值大于1的第一量化系数的数量采用如下计算式计算得到:其中,
QCoeff[cIdx][x][y]
为所述第一量化系数,
cIdx
为
Y、U、V
分量索引,
x、y
为所述第
一量化系数在所述第一量化系数矩阵中的坐标,
tuSize
为所述变换系数矩阵的大小
。11.
如权利要求6所述的率失真优化量化方法,其特征在于,所述第一量化系数子矩阵中绝对值大于2的第一量化系数的数量存储于名为
cgGreaterThanTwoCnt[64]
的第七数组中,所述第七数组在数据统计前初始化为全零数组,在数据统计过程中,如果当前第一量化系数的绝对值大于2,对应的所述第一量化系数子矩阵的
cgGreaterThanTwoCnt
自增
1。12.
如权利要求
11
所述的率失真优化量化方法,其特征在于,所述第一量化系数子矩阵中绝对值大于2的第一量化系数的数量采用如下计算式计算得到:其中,
QCoeff[cIdx][x][y]
为所述第一量化系数,
cIdx
为
Y、U、V
分量索引,
x、y
为所述第一量化系数在所述第一量化系数矩阵中的坐标,
tuSize
为所述变换系数矩阵的大小
。13.
如权利要求6所述的率失真优化量化方法,其特征在于,所述第一个绝对值为4的第一量化系数的位置存储于名为
cgFirst4Loc[64][2]
的第八数组中,所述第八数组在数据统计前所有元素初始化为
‑1,所述第一个绝对值为4的第一量化系数的位置的纵坐标存储于
cgFirst4Loc[64][0]
,横坐标存储于
cgFirst4Loc[64][1]。14.
如权利要求
13
所述的率失真优化量化方法,其特征在于,如果
Coeff[cIdx][x][y]
是所述第一量化系数子矩阵中第一个绝对值为4的系数,则
cgFirst4Loc
更新为:更新为:其中,
cIdx
为
Y、U、V
分量索引,
x、y
为所述第一个绝对值为4的系数在所述第一量化系数矩阵中的坐标,
tuSize
为所述变换系数矩阵的大小,
y1
为所述第一个绝对值为4的第一量化系数在所述第一量化系数子矩阵中的纵坐标,
x1
为所述第一个绝对值为4的第一量化系数在所述第一量化系数子矩阵中的横坐标
。15.
如权利要求6所述的率失真优化量化方法,其特征在于,所述第一个绝对值为7的第一量化系数的位置存储于名为
cgFirst7Loc[64][2]
的第九数组中,所述第九数组在数据统计前所有元素初始化为
‑1,所述第一个绝对值为7的第一量化系数的位置的纵坐标存储于
cgFirst7Loc[64][0]
,横坐标存储于
cgFirst7Loc[64][1]。16.
如权利要求
15
所述的率失真优化量化方法,其特征在于,如果
Coeff[cIdx][x][y]
是所述第一量化系数子矩阵中第一个绝对值为7的系数,则
cgFirst7Loc
更新为:更新为:其中,
cIdx
为
Y、U、V
分量索引,
x、y
为所述第一个绝对值为7的系数在所述第一量化系数矩阵中的坐标,
tuSize
为所述变换系数矩阵的大小,
y2
为所述第一个绝对值为7的第一量化系数在所述第一量化系数子矩阵中的纵坐标,
x2
为所述第一个绝对值为7的第一量化系数在所述第一量化系数子矩阵中的横坐标
。17.
如权利要求6所述的率失真优化量化方法,其特征在于,所述第一个绝对值为
13
的第一量化系数的位置存储于名为
cgFirst13Loc[64][2]
的第十数组中,所述第十数组在数
据统计前所有元素初始化为
‑1,所述第一个绝对值为
13
的第一量化系数的位置的纵坐标存储于
cgFirst13Loc[64][0]
,横坐标存储于
cgFirst13Loc[64][1]。18.
如权利要求
17
所述的率失真优化量化方法,其特征在于,如果
Coeff[cIdx][x][y]
是所述第一量化系数子矩阵中第一个绝对值为
13
的系数,则
cgFirst13Loc
更新为:更新为:其中,
cIdx
为
Y、U、V
分量索引,
x、y
为所述第一个绝对值为
13
的系数在所述第一量化系数矩阵中的坐标,
tuSize
为所述变换系数矩阵的大小,
y3
为所述第一个绝对值为
13
的第一量化系数在所述第一量化系数子矩阵中的纵坐标,
x3
为所述第一个绝对值为
13
的第一量化系数在所述第一量化系数子矩阵中的横坐标
。19.
如权利要求6所述的率失真优化量化方法,其特征在于,所述第一个绝对值为
25
的第一量化系数的位置存储于名为
cgFirst25Loc[64][2]
的第十一数组中,所述第十一数组在数据统计前所有元素初始化为
‑1,所述第一个绝对值为
25
的第一量化系数的位置的纵坐标存储于
cgFirst25Loc[64][0]
,横坐标存储于
cgFirst25Loc[64][1]。20.
如权利要求
19
所述的率失真优化量化方法,其特征在于,如果
Coeff[cIdx][x][y]
是所述第一量化系数子矩阵中第一个绝对值为
25
的系数,则
cgFirst25Loc
更新为:更新为:其中,
cIdx
为
Y、U、V
分量索引,
x、y
为所述第一个绝对值为
25
的系数在所述第一量化系数矩阵中的坐标,
tuSize
为所述变换系数矩阵的大小,
y4
为所述...
【专利技术属性】
技术研发人员:徐士麟,张世佳,埃内斯托,
申请(专利权)人:镕铭微电子济南有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。