1.本发明涉及视频编码领域,特别地,涉及一种编码模式的选择方法。
背景技术:2.在图像/视频的编码技术中,待编码图像帧中的每个编码单元的编码模式选择通常基于图像代价来匹配。
3.以视频编码为例。当前视频编码标准中,诸如h.264/h265/h.266等框架中包含亮度编码和色度编码。目前实际中,一方面标准中色度编码受到亮度编码的直接影响,如帧间预测所使用的运动矢量(mv,motion vector)直接来源于亮度的运动矢量。另一方面,用于每个编码单元(预测单元)的编码模式选择的图像代价rdocost计算为:rdocost=rdolumacost+rdochromaucost+ rdochromavcost其中,rdolumacost为亮度代价,用于表征编码单元编码前后的亮度差异,rdochromaucost为色度分量u代价,用于表征编码单元编码前后的色度分量u的差异,rdochromavcost为色度分量v代价,用于表征编码单元编码前后的色度分量v的差异,rdocost为图像代价,用于表征编码单元编码前后的亮度差异和色度差异。
4.尽管图像代价为亮度代价、色度代价之和,但色度代价对图像代价的影响有限。
5.例如,对于色度下采样的格式4:2:0,在每个编码单元(预测单元),每个色度分量的像素数量只有亮度的1/4,因而每个色度代价大致只有亮度的1/4,因此在图像代价中,两个色度分量的代价rdochromaucost与rdochromavcost之和大致只有亮度代价的1/2,故而,从编码单元(预测单元)的图像代价的构成中,色度的代价很难影响亮度的编码模式选择。
6.又例如,在帧间运动估计中,由于色度运动矢量直接继承亮度运动矢量,因此整像素搜索时一般只考虑亮度的运动估计,而在图像代价中,色度代价又难以影响亮度的编码模式选择,这导致色度的编码质量取决于亮度编码模式的选择结果。
技术实现要素:7.本发明提供了一种编码模式的选择方法,以提升图像编码中色度分量的编码质量。
8.本发明提供的一种编码模式的选择方法,该方法包括:确定待编码图像帧中编码单元的色度分量的色度代价、和亮度分量的亮度代价,检测所述编码单元的运动特性,根据所述运动特性,确定色度代价的色度系数和亮度代价的亮度系数,根据所确定的色度系数调整所述色度代价,根据所确定的亮度系数调整所述亮度代价;基于调整后的色度代价以及调整后的亮度真代价,确定所述编码单元的图像代价;
其中,所述色度系数和亮度系数用于使得:调整后的色度代价在图像代价中的第一代价贡献被增加;根据所述图像代价进行编码模式的选择。
9.较佳地,所述色度系数用于使得所述第一代价贡献被增加时,所述亮度系数用于使得亮度代价在图像代价中的第二代价贡献被减少或保持不变;或者,所述亮度系数用于使得所述第二代价贡献被减少时,所述色度系数用于使得所述第一代价贡献保持不变;或者,所述色度系数用于使得所述第一代价贡献被增加,所述亮度系数用于使得所述第二代价贡献被增加,并且,所述色度系数使得所述第一代价贡献被增加的程度大于所述亮度系数使得第二代价贡献被增加的程度。
10.较佳地,所述检测所述编码单元的运动特性,包括:基于所述待编码图像帧其序列的时域相关性,对所述编码单元进行帧间运动估计,根据帧间运动估计所检测到的运动向量,确定用于表征运动大小的运动特性,其中,运动大小随运动向量的增加而增加,所述根据所述运动特性,确定色度代价的色度系数和亮度代价的亮度系数,包括:随着所述运动大小的增加,减小所述色度系数和亮度系数。
11.较佳地,所述根据帧间运动估计所检测到的运动向量,确定用于表征运动大小的运动特性,包括:如果运动向量大于设定的第一向量阈值,则所述运动特性为第一运动属性,如果运动向量不大于第一向量阈值、且不小于第二向量阈值,则所述运动特性为第二运动属性,
……
以此类推,如果运动向量大于第i向量阈值,则所述运动特性为第i运动属性,如果运动向量不大于第i向量阈值、且不小于第i+1阈值,则所述运动特性为第i+1运动属性,如果运动向量小于第i+1向量阈值,则所述运动特性为第i+2运动属性,其中,i为自然数,第一向量阈值、第二向量阈值、
……
第i向量阈值、第i+1向量阈值递减,第一运动属性的运动大小、第二运动属性的运动大小、
……
第i运动属性的运动大小、第i+1运动属性的运动大小、第i+2运动属性的运动大小递减;所述根据运动特性,确定色度代价的系数和亮度代价的系数,包括:根据运动属性,确定与该运动属性匹配的色度系数和亮度系数。
12.较佳地,所述根据运动属性,确定与该运动属性匹配的色度系数和亮度系数,包
括:如果运动特性为第一运动属性,则确定色度系数为第一色度系数,确定亮度系数为第一亮度系数,如果运动特性为第二运动属性,则确定色度系数为第二色度系数,确定亮度系数为第二亮度系数,
……
以此类推,如果运动特性为第i运动属性,则确定色度系数为第i色度系数,确定亮度系数为第i亮度系数,其中,第一色度系数、第二色度系数、
……
第i色度系数递增,第一亮度系数、第二亮度系数、
……
第i亮度系数递增。
13.较佳地,该方法进一步包括:确定所述待编码图像帧被采集的采集状态,其中,采集状态包括静态采集状态和动态采集状态;根据所述采集状态,确定所述第一色度系数、第二色度系数、
……
第i色度系数递增的步长,以及确定所述第一亮度系数、第二亮度系数、
……
第i亮度系数递增的步长;所述根据帧间运动估计检测所检测到的运动向量,确定用于表征运动大小的运动特性,进一步包括:根据所述采集状态,确定所述向量阈值以及所述向量阈值的数量。
14.较佳地,所述色度代价为色度率失真代价,所述亮度代价为亮度率失真代价,所述确定待编码图像帧中编码单元的色度分量的色度代价、和亮度分量的亮度代价,包括:将拉格朗日因子与色度分量的编码比特数的乘积结果,与色度分量的失真值进行累加,得到色度分量的色度率失真代价,将拉格朗日因子与亮度分量的编码比特数的乘积结果,与亮度分量的失真值进行累加,得到亮度分量的色度率失真代价;所述基于调整后的色度率失真代价以及调整后的亮度率失真代价,确定所述编码单元的图像率失真代价,包括:将所述色度系数与所述色度率失真代价的乘积结果,确定为调整后的色度率失真代价,将所述亮度系数与所述亮度率失真代价的乘积结果,确定为调整后的亮度率失真代价,将调整后的色度率失真代价与调整后的亮度率失真代价的累加结果,确定为所述图像率失真代价。
15.较佳地,所述色度分量包括u色度分量,以及v色度分量,所述色度率失真代价包括u色度分量的色度率失真代价、以及v色度分量的色度率失真代价;所述色度系数包括u色度分量的色度系数、以及v色度分量的色度系数,
该方法进一步包括:根据所述图像率失真代价,选择所述编码单元的编码模式。
16.本发明还提供一种编码模式的选择装置,该装置包括:第一模块,用于确定待编码图像帧中编码单元的色度代价和亮度代价,检测模块,用于检测所述编码单元的运动特性,第二模块,用于根据所述运动特性,确定色度代价的色度系数和亮度代价的亮度系数,调整模块,用于根据所确定的色度系数调整所述色度代价,根据所确定的亮度系数调整所述亮度代价;基于调整后的色度代价以及调整后的亮度代价,确定所述编码单元的图像代价;其中,所述色度系数和亮度系数用于使得:调整后的色度代价在图像代价中的第一代价贡献被增加;根据所述图像代价进行编码模式的选择。
17.本发明还提供一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现任一所述一种编码模式的选择方法的步骤。
18.本技术提供的编码模式的选择方法,通过增大图像代价中色度代价,以更小的亮度损失最大化提升色度,结合色度偏移,可进一步优化色度的编码参数选择,从而提高色度编码质量,结合运动特性来设置所增大色度代价的程度,使得色度代价的增幅精细化,提高了对图像序列特性的自适应性。
附图说明
19.图1是本技术实施例编码模式的选择方法的一种流程示意图。
20.图2为本技术实施例一图像率失真代价的选择方法的一种流程示意图。
21.图3 为本技术实施例二图像率失真代价的选择方法的一种流程示意图。
22.图4a~4d为本技术实施例色度编码质量的提升效果的一种示意图。
23.图5为本技术实施例编码模式的选择装置的一种示意图。
24.图6为本技术实施例编码模式的选择装置的一种示意图。
具体实施方式
25.为了使本技术的目的、技术手段和优点更加清楚明白,以下结合附图对本技术做进一步详细说明。
26.本技术实施例根据待编码图像帧中编码单元的运动特性,对图像代价进行调整,使得色度分量的代价对图像代价的代价贡献得以提高,从而提高色度分量的编码质量。
27.参见图1所示,图1为本技术实施例编码模式的选择方法的一种流程示意图。该方法包括:步骤101,确定待编码图像帧中编码单元的色度分量的色度代价、和亮度分量的亮度代价,步骤102,检测所述编码单元的运动特性,
步骤103,根据所述运动特性,确定色度代价的色度系数和亮度代价的亮度系数,步骤104,根据所确定的色度系数调整所述色度代价,根据所确定的亮度系数调整所述亮度代价;步骤105,基于调整后的色度代价以及调整后的亮度代价,确定所述编码单元的图像代价;其中,所述色度系数和亮度系数用于使得:调整后的色度代价在图像代价中的第一代价贡献被增加;根据所述图像代价进行编码模式的选择。
28.本实施例根据运动特性来匹配色度系数和亮度系数,通过色度系数和亮度系数来调整图像代价中亮度代价、和色度亮度代价的代价贡献,提高了色度对亮度的编码模式选择产生影响,有利于提高色度的编码质量。
29.为便于理解本技术实施例,以下以率失真代价为例予以具体说明,所应理解的是,本技术实施例不限于率失真代价,其它参数也可适用。
30.实施例一在图像编码中,图像序列的特性对压缩性能影响很大,在编码过程中对编码模式选择差异也很大,对色度的编码质量影响也很大。图像序列的特性有多种,比如运动大小,纹理,颜色,形状等,本实施例采用图像序列的运动大小特性来自适应地匹配色度率失真代价的色度系数。
31.以下以运动特性对一个编码单元的色度率失真代价的色度系数的匹配为例来进行说明。
32.参见图2所示,图2为本技术实施例一图像率失真代价的选择方法的一种流程示意图。对于待编码图像帧中的任一编码单元,执行如下步骤:步骤201,对编码单元进行运动特性检测,作为一种示例,编码单元即为待编码图像帧中的基本编码单元,例如,在h.264为宏块(macro block),在h.265为最大编码单元lcu(largest coding unit)。通常,通过下采样获得下采样后的编码单元。
33.将待编码图像帧所关联的一帧以上图像作为待编码图像帧的序列,基于该序列的时域相关性,对编码单元进行帧间运动估计,例如,采用视频序列进行帧间运动估计;根据所检测的运动向量判断运动特性:判断所检测的运动向量是否小于设定的第三向量阈值,如果是,则判定运动特性为第四运动属性,例如,静止,否则,判断所检测的运动向量是否不小于第三向量阈值且不大于设定的第二向量阈值,如果是,则判定运动特性为第三运动属性,例如,小运动,其中,第三向量阈值小于第二向量阈值,否则,判断所检测的运动向量是否不小于第二向量阈值且小于等于设定的第一向量阈值,即,运动向量是否在第二向量阈值和第一向量阈值之间,如果是,则判定运动特性为第二运动属性,例如,中运动,其中,第二阈值小于第一向量阈值,否则,说明所检测的运动向量大于第一向量阈值,判定运动特性为第一运动属性,
例如,大运动。
34.在该示例中,运动大小随运动向量的增加而增加,第一运动属性的运动大小、第二运动属性的运动大小、第三运动属性的运动大小、第四运动属性的运动大小递减。
35.所应理解的是,运动特性的检测可不限于上述四种属性,具体可结合图像帧序列的情况来设计运动特性的检测粒度。由此可以类推为:如果运动向量大于第i向量阈值,则所述运动特性为第i运动属性,如果运动向量不大于第i向量阈值、且不小于第i+1向量阈值,则所述运动特性为第i+1运动属性,如果运动向量小于第i+1向量阈值,则所述运动特性为第i+2运动属性,其中,i为自然数,第一向量阈值、第二向量阈值、
……
第i向量阈值、第i+1向量阈值递减,第一运动属性的运动大小、第二运动属性的运动大小、
……
第i运动属性的运动大小、第i+1运动属性的运动大小、第i+2运动属性的运动大小递减;步骤202,根据所检测的运动属性,确定与该运动属性匹配的色度系数和亮度系数。
36.当运动特性为第一运动属性时,则确定色度系数为第一色度系数,确定亮度系数为第一亮度系数,当运动特性为第二运动属性时,则确定色度系数为第二色度系数,确定亮度系数为第二亮度系数,当运动特性为第三运动属性时,则确定色度系数为第三色度系数,确定亮度系数为第三亮度系数,当运动特性为第四运动属性时,则确定色度系数为第四色度系数,确定亮度系数为第四亮度系数,其中,第一色度系数、第二色度系数、第三色度系数、第四色度系数依次增加,第一亮度系数、第二亮度系数、第三亮度系数、第四亮度系数依次增加。
37.也就是说,随着运动大小的增加,减小色度系数和亮度系数,即,运动大小越大,色度系数、亮度系数越小,反之,运动大小越小,色度系数、亮度系数越大。
38.由此类推,可以得到:如果运动特性为第一运动属性,则确定色度系数为第一色度系数,确定亮度系数为第一亮度系数,如果运动特性为第二运动属性,则确定色度系数为第二色度系数,确定亮度系数为第二亮度系数,
……
以此类推,如果运动特性为第i运动属性,则确定色度系数为第i色度系数,确定亮度系数为第i亮度系数,其中,
第一色度系数、第二色度系数、
……
第i色度系数递增,第一亮度系数、第二亮度系数、
……
第i亮度系数递增。
39.步骤203,根据所确定的色度系数调整色度率失真代价,根据所确定的亮度系数调整亮度率失真代价。
40.作为一种示例,分别计算色度率失真代价和亮度率失真代价。其中,亮度率失真代价、色度率失真代价j准则均为:j =d+lambda*bits;其中,d为编码单元的失真值,lambda为拉格朗日因子,bits为编码单元的编码bit数,即码率。
41.例如,对于编码单元的亮度分量编码,其率失真代价为:拉格朗日因子与亮度分量的编码比特数的乘积结果,与亮度分量的失真值进行累加的结果,用数学式表达为:rdolumacost = d+lambda*bits,其中,d为亮度分量的失真值,bits为亮度分量编码的bit数。
42.在色度率失真代价和亮度率失真代价计算完成之后,将色度系数与色度率失真代价相乘,得到调整后的色度率失真代价。鉴于色度分量包括u色度分量和v色度分量,故而,色度系数包括u色度分量的色度系数和v色度分量的色度系数,则:u色度分量的色度系数与u色度分量的色度率失真代价相乘,得到u色度分量调整后的色度率失真代价,v色度分量的色度系数与v色度分量的色度率失真代价相乘,得到v色度分量调整后的色度率失真代价。
43.将亮度系数与亮度率失真代价相乘,得到调整后的亮度率失真代价。
44.步骤204,基于调整后的色度率失真代价以及调整后的亮度率失真代价,确定所述编码单元的图像率失真代价。
45.作为一种示例,将调整后的色度率失真代价与调整后的亮度率失真代价的累加结果,得到图像率失真代价。用数学式表达为:rdocost=α*rdolumacost+β*rdochromaucost+ γ*rdochromavcost其中,rdocos为图像率失真代价,rdolumacost为亮度率失真代价,rdochromaucost为u色度分量的色度率失真代价,rdochromavcost为v色度分量的色度率失真代价,α为亮度系数,β为u色度分量的色度系数,γ为v色度分量的色度系数,α*rdolumacost为调整后的亮度率失真代价,β*rdochromaucost为u色度分量调整后的色度率失真代价,γ*rdochromavcost为v色度分量调整后的色度率失真代价,β*rdochromaucost+ γ*rdochromavcost为调整后的色度率失真代价。
46.为了提高色度率失真代价在图像率失真代价的第一代价贡献,也就是说,提高色度率失真代价在图像率失真代价的份额,亮度系数和色度系数可以按照如下策略来确定:策略一,当色度系数使得调整后色度率失真代价增加时,通过亮度系数使得亮度率失真代价在图像率失真代价中的第二代价贡献被减少或保持不变,即,设置亮度系数,使得亮度率失真代价在图像率失真代价中的份额减少或保持不变;策略二,当亮度系数使得第二代价贡献被减少时,通过色度系数使得第一贡献保持不变;
策略三,当色度系数使得第一代价贡献增加时,通过亮度系数使得第二代价贡献被增加,并且,色度系数使得第一代价贡献被增加的程度大于亮度系数使得第二代价贡献被增加的程度。
47.步骤205,根据图像率失真代价,选择编码模式。
48.本实施例通过图像率失真代价中色度率失真代价系数自适应选择,来提升色度下采样格式的图像源例如视频源的色度率失真代价,可以有效克服编码过程中色度的率失真难以影响亮度的模式,从而选择有利于色度的编码参数。
49.实施例二参见图3所示,图3为本技术实施例二图像率失真代价的选择方法的一种流程示意图。对于待编码图像帧中的任一编码单元,执行如下步骤:步骤301,确定待编码图像帧被采集的采集状态,其中,采集状态包括静态采集状态和动态采集状态,作为一种示例,根据待编码图像帧的序列,检测待编码图像帧被采集的采集状态,例如,根据待编码图像帧的序列,判断待编码图像帧有无全局运动,如果没有,则说明用于采集该图像帧的图像采集装置是固定的,即,当前图像帧属于静态采集状态,否则,则说明图像采集装置是不固定的,即,当前图像帧属于动态采集状态,步骤302,对编码单元进行运动特性检测,作为一种示例:判断所检测的运动向量是否大于第四向量阈值,如果是,则判定运动特性为第五运动属性,例如,静态采集下的大运动,否则,判断所检测的运动向量是否不大于第四向量阈值且不小于第五向量阈值,如果是,则判定运动特性为第六运动属性,例如,静态采集下的中运动;其中,第四向量阈值大于第五向量阈值;否则,判断所检测的运动向量是否小于第五向量阈值且不小于第六向量阈值,如果是,判定运动特性为第七运动属性,例如,静态采集下的小运动;其中,第五向量阈值大于第六向量阈值;否则,判定运动特性为第八运动属性,例如,静态采集下的静止。
50.作为一种示例,若待编码图像帧属于动态采集,则:判断所检测的运动向量是否大于第一向量阈值,如果是,则判定运动特性为第一运动属性,例如,动态采集下的大运动,否则,判断所检测的运动向量是否在第一向量阈值和第二向量阈值之间,如果是,则判定运动特性为第二运动属性,例如,动态采集下的中运动,其中,第一向量阈值大于第二向量阈值。
51.否则,判断所检测的运动向量是否在第二向量阈值和第三向量阈值之间,如果是,则判定运动特性为第三运动属性,例如,动态采集下的小运动,否则,判定运动特性为第四运动属性,例如,动态采集下的静止。
52.为提高运动检测的粒度,第四向量阈值可以与第一向量阈值不同。
53.所应理解的是,运动特性的检测可不限于上述运动属性,具体可结合图像序列、待
编码图像帧的采集状态等情况来设计运动特性的检测粒度。作为一种示例,根据所述采集状态,确定向量阈值以及向量阈值的数量,这样,不同的采集状态,运动属性的评估标准不同,从而有利于结合图像序列特性来选择色度系数和亮度系数。例如,采集状态为静态状态时的向量阈值和向量阈值的个数,与采集状态为动态状态时的向量阈值和向量阈值的个数可以不相同。
54.步骤303,根据所检测的运动属性,确定与该运动属性匹配的色度系数和亮度系数。
55.当运动特性为第一运动属性时,则确定色度系数为第一色度系数,确定亮度系数为第一亮度系数,当运动特性为第二运动属性时,则确定色度系数为第二色度系数,确定亮度系数为第二亮度系数,当运动特性为第三运动属性时,则确定色度系数为第三色度系数,确定亮度系数为第三亮度系数,当运动特性为第四运动属性时,则确定色度系数为第四色度系数,确定亮度系数为第四亮度系数,当运动特性为第五运动属性时,则确定色度系数为第五色度系数,确定亮度系数为第五亮度系数,当运动特性为第六运动属性时,则确定色度系数为第六色度系数,确定亮度系数为第六亮度系数,当运动特性为第七运动属性时,则确定色度系数为第七色度系数,确定亮度系数为第七亮度系数,当运动特性为第八运动属性时,则确定色度系数为第八色度系数,确定亮度系数为第八亮度系数。
56.其中,第一色度系数、第二色度系数、第三色度系数、第四色度系数依次增加,第五色度系数、第六色度系数、第七色度系数、第八色度系数依次增加;第一亮度系数、第二亮度系数、第三亮度系数、第四色度系数依次增加,第五亮度系数、第六亮度系数、第七亮度系数、第八亮度系数依次增加。
57.也就是说,随着运动大小的增加,减小色度系数和亮度系数,即,运动大小越大,色度系数、亮度系数越小,反之,运动大小越小,色度系数、亮度系数越大。
58.此外,还可根据采集状态,确定系数的递增的步长。例如,确定第一色度系数、第二色度系数、第三色度系数、第四色度系数递增的步长,与第五色度系数、第六色度系数、第七色度系数、第八色度系数的递增步长不同,以及确定所述第一亮度系数、第二亮度系数、第三亮度系数、第四亮度系数递增的步长,第五亮度系数、第六亮度系数、第七亮度系数、第八亮度系数的递增步长不同。以此类推,根据所述采集状态,确定所述第一色度系数、第二色度系数、
……
第i色度系数递增的步长,以及确定所述第一亮度系数、第二亮度系数、
……
第i亮度系数递增的步长;步骤304~306,与步骤203~205相同。
59.本实施例结合待编码图像帧的采集状态来设计相应的运动特性检测,有利于提高
检测的准确性,并从整体上提高了运动特性检测的效率,从而有利于提高图像率失真代价的确定效率。
60.参见图4a~4d所示,图4a~4d为本技术实施例色度编码质量的提升效果的一种示意图。其中,4a为1280
×
780视频图像帧的u色度分量不同码率下的峰值信噪比(psnr,peak signal to noise ratio)的比较,4b为1280
×
780视频图像帧的v色度分量不同码率下的峰值信噪比的比较,4c为3840
×
2160视频图像帧的u色度分量不同码率下的峰值信噪比的比较,4d为3840
×
2160视频图像帧的v色度分量不同码率下的峰值信噪比的比较。从图中可见,本技术实施例提高了色度峰值信噪比,因此,提高了色度编码质量。
61.参见图5所示,图5为本技术实施例编码模式的选择装置的一种示意图。该装置包括:第一模块,用于确定待编码图像帧中编码单元的色度率失真代价和亮度率失真代价,运动特性检测模块,用于检测所述编码单元的运动特性,第二模块,用于根据所述运动特性,确定色度率失真代价的色度系数和亮度率失真代价的亮度系数,调整模块,用于根据所确定的色度系数调整所述色度率失真代价,根据所确定的亮度系数调整所述亮度率失真代价;基于调整后的色度率失真代价以及调整后的亮度率失真代价,确定所述编码单元的图像率失真代价;其中,所述色度系数和亮度系数用于使得:色度率失真代价在图像率失真代价中的第一代价贡献被增加;根据所述图像代价进行编码模式的选择。
62.作为一种示例,所述运动特性检测模块被配置为:基于与待编码图像帧关联的帧序列,进行帧间运动估计,根据帧间运动估计所检测到的运动向量,确定用于表征运动大小的运动特性,其中,运动大小随位移量的增加而增加,所述第二模块被配置为随着所述运动大小的增加,减小所述色度系数和亮度系数。
63.所述运动特性检测模块还被配置为:如果运动向量大于设定的第一向量阈值,则确定所述运动特性为第一运动属性,如果运动向量在第一向量阈值和第二向量阈值之间,则确定所述运动特性为第二运动属性,如果运动向量在第二向量阈值和第三向量阈值之间,则确定所述运动特性为第三运动属性,如果运动向量小于第三向量阈值,则确定所述运动特性为第四运动属性,以此类推,如果运动向量不大于第i向量阈值、且不小于第i+1向量阈值,则所述运动特性为第i+1运动属性,如果运动向量小于第i+1向量阈值,则所述运动特性为第i+2运动属性。
64.所述第二模块被配置为根据运动属性,确定与该运动属性匹配的色度系数和亮度系数。
65.所述第二模块被配置为:如果运动特性为第一运动属性,则确定色度系数为第一色度系数,确定亮度系数为第一亮度系数,如果运动特性为第二运动属性,则确定色度系数为第二色度系数,确定亮度系数为第二亮度系数,如果运动特性为第三运动属性,则确定色度系数为第三色度系数,确定亮度系数为第三亮度系数,如果运动特性为第四运动属性,则确定色度系数为第四色度系数,确定亮度系数为第四亮度系数,其中,第一色度系数、第二色度系数、第三色度系数、第四色度系数递增,第一亮度系数、第二亮度系数、第三亮度系数、第四亮度系数递增。
66.以此类推,如果运动特性为第i运动属性,则确定色度系数为第i色度系数,确定亮度系数为第i亮度系数,其中,第一色度系数、第二色度系数、
……
第i色度系数递增,第一亮度系数、第二亮度系数、
……
第i亮度系数递增。
67.作为一种示例,该装置还包括:采集状态检测模块,用于根据待编码图像帧的序列,检测所述待编码图像帧被采集的采集状态,其中,采集状态包括静态采集状态和动态采集状态,所述运动特性检测模块进一步用于根据采集状态,确定向量阈值以及向量阈值的数量;所述第二模块被配置为:根据所述采集状态,确定色度系数递增的步长,以及确定亮度系数递增的步长;所述第一模块被配置为:将拉格朗日因子与色度分量的编码比特数的乘积结果,与色度分量的失真值进行累加,得到色度分量的色度率失真代价,将拉格朗日因子与亮度分量的编码比特数的乘积结果,与亮度分量的失真值进行累加,得到亮度分量的色度率失真代价;所述调整模块被配置为:将所述色度系数与所述色度率失真代价的乘积结果,确定为调整后的色度率失真代价,将所述亮度系数与所述亮度率失真代价的乘积结果,确定为调整后的亮度率失真代价,将调整后的色度率失真代价与调整后的亮度率失真代价的累加结果,确定为所述图像率失真代价。
68.该装置进一步包括:编码模式选择模块,用于根据所述图像率失真代价,选择所述编码单元的编码模式。
69.参见图6所示,图6为本技术实施例编码模式的选择装置的一种示意图。该装置包括:存储器和处理器,所述存储器存储有计算机程序,所述处理器执行计算机程序实现本技术实施例图像率失真代价的选择方法的步骤。
70.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
71.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
72.本发明实施例还提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现图像率失真代价的选择方法的步骤。
73.对于装置/网络侧设备/存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
74.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
75.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
技术特征:1.一种编码模式的选择方法,其特征在于,该方法包括:确定待编码图像帧中编码单元的色度分量的色度代价、和亮度分量的亮度代价,其中,色度代价用于表征编码单元编码前与编码后的色度差异,亮度代价用于表征编码单元编码前与编码后的亮度差异,检测所述编码单元的运动特性,根据所述运动特性,确定色度代价的色度系数和亮度代价的亮度系数,根据所确定的色度系数调整所述色度代价,根据所确定的亮度系数调整所述亮度代价;基于调整后的色度代价以及调整后的亮度代价,确定所述编码单元的图像代价;所述图像代价用于表征编码单元编码前与编码后的色度差异以及亮度差异;其中,所述色度系数和亮度系数用于使得:调整后的色度代价在图像代价中的第一代价贡献被增加;根据所述图像代价进行编码模式的选择。2.如权利要求1所述的选择方法,其特征在于,所述色度系数用于使得所述第一代价贡献被增加时,所述亮度系数用于使得亮度代价在图像代价中的第二代价贡献被减少或保持不变;或者,所述亮度系数用于使得所述第二代价贡献被减少时,所述色度系数用于使得所述第一代价贡献保持不变;或者,所述色度系数用于使得所述第一代价贡献被增加,所述亮度系数用于使得所述第二代价贡献被增加,并且,所述色度系数使得所述第一代价贡献被增加的程度大于所述亮度系数使得第二代价贡献被增加的程度。3.如权利要求1所述的选择方法,其特征在于,所述检测所述编码单元的运动特性,包括:基于所述待编码图像帧其序列的时域相关性,对所述编码单元进行帧间运动估计,根据帧间运动估计所检测到的运动向量,确定用于表征运动大小的运动特性,其中,运动大小随运动向量的增加而增加,所述根据所述运动特性,确定色度代价的色度系数和亮度代价的亮度系数,包括:随着所述运动大小的增加,减小所述色度系数和亮度系数。4.如权利要求3所述的选择方法,其特征在于,所述根据帧间运动估计所检测到的运动向量,确定用于表征运动大小的运动特性,包括:如果运动向量大于设定的第一向量阈值,则所述运动特性为第一运动属性,如果运动向量不大于第一向量阈值、且不小于第二向量阈值,则所述运动特性为第二运动属性,
……
以此类推,如果运动向量大于第i向量阈值,则所述运动特性为第i运动属性,
如果运动向量不大于第i向量阈值、且不小于第i+1阈值,则所述运动特性为第i+1运动属性,如果运动向量小于第i+1向量阈值,则所述运动特性为第i+2运动属性,其中,i为自然数,第一向量阈值、第二向量阈值、
……
第i向量阈值、第i+1向量阈值递减,第一运动属性的运动大小、第二运动属性的运动大小、
……
第i运动属性的运动大小、第i+1运动属性的运动大小、第i+2运动属性的运动大小递减;所述根据运动特性,确定色度代价的系数和亮度代价的系数,包括:根据运动属性,确定与该运动属性匹配的色度系数和亮度系数。5.如权利要求4所述的选择方法,其特征在于,所述根据运动属性,确定与该运动属性匹配的色度系数和亮度系数,包括:如果运动特性为第一运动属性,则确定色度系数为第一色度系数,确定亮度系数为第一亮度系数,如果运动特性为第二运动属性,则确定色度系数为第二色度系数,确定亮度系数为第二亮度系数,
……
以此类推,如果运动特性为第i运动属性,则确定色度系数为第i色度系数,确定亮度系数为第i亮度系数,其中,第一色度系数、第二色度系数、
……
第i色度系数递增,第一亮度系数、第二亮度系数、
……
第i亮度系数递增。6.如权利要求5所述的选择方法,其特征在于,该方法进一步包括:确定所述待编码图像帧被采集的采集状态,其中,采集状态包括静态采集状态和动态采集状态;根据所述采集状态,确定所述第一色度系数、第二色度系数、
……
第i色度系数递增的步长,以及确定所述第一亮度系数、第二亮度系数、
……
第i亮度系数递增的步长;所述根据帧间运动估计检测所检测到的运动向量,确定用于表征运动大小的运动特性,进一步包括:根据所述采集状态,确定向量阈值以及向量阈值的数量。7.如权利要求1至6任一所述的选择方法,其特征在于,所述色度代价为色度率失真代价,所述亮度代价为亮度率失真代价,所述图像代价为图像率失真代价,所述确定待编码图像帧中编码单元的色度分量的色度代价、和亮度分量的亮度代价,包括:将拉格朗日因子与色度分量的编码比特数的乘积结果,与色度分量的失真值进行累加,得到色度分量的色度率失真代价,将拉格朗日因子与亮度分量的编码比特数的乘积结果,与亮度分量的失真值进行累加,得到亮度分量的色度率失真代价;
所述基于调整后的色度率失真代价以及调整后的亮度率失真代价,确定所述编码单元的图像代价,包括:将所述色度系数与所述色度率失真代价的乘积结果,确定为调整后的色度率失真代价,将所述亮度系数与所述亮度率失真代价的乘积结果,确定为调整后的亮度率失真代价,将调整后的色度率失真代价与调整后的亮度率失真代价的累加结果,确定为所述图像率失真代价。8.如权利要求7所述的选择方法,其特征在于,所述色度分量包括u色度分量,以及v色度分量,所述色度率失真代价包括u色度分量的色度率失真代价、以及v色度分量的色度率失真代价;所述色度系数包括u色度分量的色度系数、以及v色度分量的色度系数,该方法进一步包括:根据所述图像率失真代价,选择所述编码单元的编码模式。9.一种编码模式的选择装置,其特征在于,该装置包括:第一模块,用于确定待编码图像帧中编码单元的色度代价和亮度代价,其中,色度代价用于表征编码单元编码前与编码后的色度差异,亮度代价用于表征编码单元编码前与编码后的亮度差异,检测模块,用于检测所述编码单元的运动特性,第二模块,用于根据所述运动特性,确定色度代价的色度系数和亮度代价的亮度系数,调整模块,用于根据所确定的色度系数调整所述色度代价,根据所确定的亮度系数调整所述亮度代价;基于调整后的色度代价以及调整后的亮度代价,确定所述编码单元的图像代价,所述图像代价用于表征编码单元编码前与编码后的色度差异以及亮度差异;其中,所述色度系数和亮度系数用于使得:调整后的色度代价在图像代价中的第一代价贡献被增加;根据所述图像代价进行编码模式的选择。10.一种计算机可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一所述一种编码模式的选择方法的步骤。
技术总结本申请公开了一种编码模式的选择方法,包括:确定待编码图像帧中编码单元的色度分量的色度代价、和亮度分量的亮度代价,检测编码单元的运动特性,根据运动特性,确定色度代价的色度系数和亮度代价的亮度系数,根据所确定的色度系数调整所述色度代价,根据所确定的亮度系数调整所述亮度代价;基于调整后的色度代价以及调整后的亮度代价,确定所述编码单元的图像代价;其中,色度系数和亮度系数用于使得:调整后的色度代价在图像代价中的第一代价贡献被增加;根据所述图像代价进行编码模式的选择。本申请通过增大图像代价中色度代价,以更小的亮度损失最大化提升色度。小的亮度损失最大化提升色度。小的亮度损失最大化提升色度。
技术研发人员:胡祥斌 翟云 杨作兴 宋剑军 刘红
受保护的技术使用者:深圳比特微电子科技有限公司
技术研发日:2022.06.01
技术公布日:2022/7/5