一种图像处理方法、装置、设备及可读存储介质

文档序号:31496278发布日期:2022-09-14 06:58阅读:38来源:国知局
一种图像处理方法、装置、设备及可读存储介质

1.本发明涉及图像处理技术领域,尤其涉及一种图像处理方法、装置、设备及可读存储介质。


背景技术:

2.样点自适应补偿(sample adaptive offset:sao)是视频编解码的重要技术之一,sao技术可以很好的减弱振铃效应。sao对像素补偿的过程分为两步:第一步为对像素进行像素分类;第二步为对每个分类训练滤波参数。
3.但是,在第一步中,sao只是根据当前分量自身的像素进行分类,使得分类不准确,从而影响后续的滤波,导致整帧图像的编码质量较低。
4.由上可知,现有针对像素分类的图像处理方案存在分类精度低而影响编码质量的问题。


技术实现要素:

5.本发明的目的在于提供一种图像处理方法、装置、设备及可读存储介质,以解决现有技术中针对像素分类的图像处理方案分类精度低而影响编码质量的问题。
6.为了解决上述技术问题,本发明实施例提供一种图像处理方法,包括:
7.获取第一亮度像素的第一像素值,以及所述第一亮度像素所对应的至少一个参考亮度像素的第二像素值;
8.根据第一信息,确定待分类色度像素的分类索引;
9.其中,所述第一信息包括所述第一像素值和第二像素值。
10.可选的,所述第一亮度像素为所述待分类色度像素所对应的亮度像素。
11.可选的,所述获取第一亮度像素的第一像素值,包括:
12.根据所述待分类色度像素对应的坐标常量,以及,所述待分类色度像素与所述第一亮度像素之间的像素位置关系,确定所述第一亮度像素的坐标值;
13.根据所述第一亮度像素的坐标值,确定所述第一像素值。
14.可选的,所述获取所述第一亮度像素所对应的至少一个参考亮度像素的第二像素值,包括:
15.根据所述待分类色度像素所对应的目标边界分类模板,确定所述第一亮度像素与所述至少一个参考亮度像素之间的相对位置关系;
16.根据所述相对位置关系和所述第一亮度像素的位置,确定所述至少一个参考亮度像素的位置;
17.根据所述至少一个参考亮度像素的位置,确定所述第二像素值。
18.可选的,在根据所述待分类色度像素所对应的目标边界分类模板,确定所述第一亮度像素与所述至少一个参考亮度像素之间的相对位置关系之前,还包括:
19.根据候选边界分类模板和对应的率失真代价,确定所述待分类色度像素所对应的
目标边界分类模板;或者,
20.根据候选边界分类模板和预设置信息,确定所述待分类色度像素所对应的目标边界分类模板;或者,
21.根据预设置边界分类模板,确定所述待分类色度像素所对应的目标边界分类模板。
22.可选的,所述根据第一信息,确定待分类色度像素的分类索引,包括:
23.获取所述第一像素值与每个所述第二像素值之间的差值;
24.根据所述差值,确定待分类色度像素的分类索引。
25.可选的,所述根据所述差值,确定待分类色度像素的分类索引,包括:
26.根据所述差值、量化阈值以及候选量化值,确定每个所述差值对应的目标量化值;
27.根据所述目标量化值,确定待分类色度像素的分类索引。
28.可选的,所述量化阈值小于或等于所述参考亮度像素对应的最大像素值,且大于或等于0。
29.可选的,所述根据所述差值、量化阈值以及候选量化值,确定每个所述差值对应的目标量化值,包括:
30.根据所述量化阈值,确定各个量化范围;
31.根据每个所述差值所属的量化范围和量化范围对应的候选量化值,确定每个所述差值对应的目标量化值。
32.可选的,在根据所述目标量化值,确定待分类色度像素的分类索引之前,还包括:
33.将所述目标量化值进行排序,得到每个所述目标量化值的排列位置;
34.根据所述排列位置、候选量化值的个数以及所述目标量化值的个数,确定每个所述目标量化值的第一权重。
35.可选的,所述根据所述目标量化值,确定待分类色度像素的分类索引,包括:
36.根据所述目标量化值和对应的第一权重,确定待分类色度像素的分类索引。
37.可选的,所述第一信息还包括所述待分类色度像素的第三像素值;
38.在根据所述目标量化值,确定待分类色度像素的分类索引之前,还包括:
39.根据候选分类数量对应的率失真代价,确定初始分类数量;
40.根据所述初始分类数量、所述待分类色度像素对应的图像位深、所述第三像素值和第一像素值,确定像素量化值;
41.所述根据所述目标量化值,确定待分类色度像素的分类索引,包括:
42.根据所述目标量化值和像素量化值,确定待分类色度像素的分类索引。
43.可选的,在根据所述目标量化值和像素量化值,确定待分类色度像素的分类索引之前,还包括:
44.根据所述候选量化值的个数以及所述目标量化值的个数,确定所述像素量化值的第二权重;
45.所述根据所述目标量化值和像素量化值,确定待分类色度像素的分类索引,包括:
46.根据所述目标量化值、像素量化值和第二权重,确定待分类色度像素的分类索引。
47.可选的,所述根据所述目标量化值、像素量化值和第二权重,确定待分类色度像素的分类索引,包括:
48.采用第一公式,根据所述目标量化值、像素量化值和第二权重,确定待分类色度像素的分类索引;
49.其中,所述目标量化值的数量为1的情况下,所述第一公式为:
50.idx=b
×
nm+q0×nm-1

51.所述目标量化值的数量为2的情况下,所述第一公式为:
52.idx=b
×
nm+q0×nm-1
+q1×nm-2

53.所述目标量化值的数量大于2的情况下,所述第一公式为:
54.idx=b
×
nm+q0×nm-1
+q1×nm-2
+
···
+q
m-1
×nm-m

55.idx表示所述分类索引,b表示所述像素量化值,n表示所述候选量化值的个数,m表示所述目标量化值的个数,q0表示第一个所述参考亮度像素对应的目标量化值,q1表示第一个所述参考亮度像素对应的目标量化值,q
m-1
表示第m个所述参考亮度像素对应的目标量化值,nm表示所述第二权重。
56.本发明实施例还提供了一种图像处理装置,包括:
57.第一获取模块,用于获取第一亮度像素的第一像素值,以及所述第一亮度像素所对应的至少一个参考亮度像素的第二像素值;
58.第一确定模块,用于根据第一信息,确定待分类色度像素的分类索引;
59.其中,所述第一信息包括所述第一像素值和第二像素值。
60.可选的,所述第一亮度像素为所述待分类色度像素所对应的亮度像素。
61.可选的,所述获取第一亮度像素的第一像素值,包括:
62.根据所述待分类色度像素对应的坐标常量,以及,所述待分类色度像素与所述第一亮度像素之间的像素位置关系,确定所述第一亮度像素的坐标值;
63.根据所述第一亮度像素的坐标值,确定所述第一像素值。
64.可选的,所述获取所述第一亮度像素所对应的至少一个参考亮度像素的第二像素值,包括:
65.根据所述待分类色度像素所对应的目标边界分类模板,确定所述第一亮度像素与所述至少一个参考亮度像素之间的相对位置关系;
66.根据所述相对位置关系和所述第一亮度像素的位置,确定所述至少一个参考亮度像素的位置;
67.根据所述至少一个参考亮度像素的位置,确定所述第二像素值。
68.可选的,还包括:
69.第二确定模块,用于在根据所述待分类色度像素所对应的目标边界分类模板,确定所述第一亮度像素与所述至少一个参考亮度像素之间的相对位置关系之前,根据候选边界分类模板和对应的率失真代价,确定所述待分类色度像素所对应的目标边界分类模板;或者,
70.根据候选边界分类模板和预设置信息,确定所述待分类色度像素所对应的目标边界分类模板;或者,
71.根据预设置边界分类模板,确定所述待分类色度像素所对应的目标边界分类模板。
72.可选的,所述根据第一信息,确定待分类色度像素的分类索引,包括:
73.获取所述第一像素值与每个所述第二像素值之间的差值;
74.根据所述差值,确定待分类色度像素的分类索引。
75.可选的,所述根据所述差值,确定待分类色度像素的分类索引,包括:
76.根据所述差值、量化阈值以及候选量化值,确定每个所述差值对应的目标量化值;
77.根据所述目标量化值,确定待分类色度像素的分类索引。
78.可选的,所述量化阈值小于或等于所述参考亮度像素对应的最大像素值,且大于或等于0。
79.可选的,所述根据所述差值、量化阈值以及候选量化值,确定每个所述差值对应的目标量化值,包括:
80.根据所述量化阈值,确定各个量化范围;
81.根据每个所述差值所属的量化范围和量化范围对应的候选量化值,确定每个所述差值对应的目标量化值。
82.可选的,还包括:
83.第一排序模块,用于在根据所述目标量化值,确定待分类色度像素的分类索引之前,将所述目标量化值进行排序,得到每个所述目标量化值的排列位置;
84.第三确定模块,用于根据所述排列位置、候选量化值的个数以及所述目标量化值的个数,确定每个所述目标量化值的第一权重。
85.可选的,所述根据所述目标量化值,确定待分类色度像素的分类索引,包括:
86.根据所述目标量化值和对应的第一权重,确定待分类色度像素的分类索引。
87.可选的,所述第一信息还包括所述待分类色度像素的第三像素值;
88.所述装置还包括:
89.第四确定模块,用于在根据所述目标量化值,确定待分类色度像素的分类索引之前,根据候选分类数量对应的率失真代价,确定初始分类数量;
90.第五确定模块,用于根据所述初始分类数量、所述待分类色度像素对应的图像位深、所述第三像素值和第一像素值,确定像素量化值;
91.所述根据所述目标量化值,确定待分类色度像素的分类索引,包括:
92.根据所述目标量化值和像素量化值,确定待分类色度像素的分类索引。
93.可选的,还包括:
94.第六确定模块,用于在根据所述目标量化值和像素量化值,确定待分类色度像素的分类索引之前,根据所述候选量化值的个数以及所述目标量化值的个数,确定所述像素量化值的第二权重;
95.所述根据所述目标量化值和像素量化值,确定待分类色度像素的分类索引,包括:
96.根据所述目标量化值、像素量化值和第二权重,确定待分类色度像素的分类索引。
97.可选的,所述根据所述目标量化值、像素量化值和第二权重,确定待分类色度像素的分类索引,包括:
98.采用第一公式,根据所述目标量化值、像素量化值和第二权重,确定待分类色度像素的分类索引;
99.其中,所述目标量化值的数量为1的情况下,所述第一公式为:
100.idx=b
×
nm+q0×nm-1

101.所述目标量化值的数量为2的情况下,所述第一公式为:
102.idx=b
×
nm+q0×nm-1
+q1×nm-2

103.所述目标量化值的数量大于2的情况下,所述第一公式为:
104.idx=b
×
nm+q0×nm-1
+q1×nm-2
+
···
+q
m-1
×nm-m

105.idx表示所述分类索引,b表示所述像素量化值,n表示所述候选量化值的个数,m表示所述目标量化值的个数,q0表示第一个所述参考亮度像素对应的目标量化值,q1表示第一个所述参考亮度像素对应的目标量化值,q
m-1
表示第m个所述参考亮度像素对应的目标量化值,nm表示所述第二权重。
106.本发明实施例还提供了一种图像处理设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;所述处理器执行所述程序时实现上述的图像处理方法。
107.本发明实施例还提供了一种可读存储介质,其上存储有程序,该程序被处理器执行时实现上述的图像处理方法中的步骤。
108.本发明的上述技术方案的有益效果如下:
109.上述方案中,所述图像处理方法通过获取第一亮度像素的第一像素值,以及所述第一亮度像素所对应的至少一个参考亮度像素的第二像素值;根据第一信息,确定待分类色度像素的分类索引;其中,所述第一信息包括所述第一像素值和第二像素值;能够实现根据亮度像素确定色度像素分类的方案,也就是实现跨分量分类的方案,使得色度像素的分类考虑了亮度像素的影响,从而在一定程度上提高了分类精度,进而提升整帧图像的编码质量,很好的解决了现有技术中针对像素分类的图像处理方案分类精度低而影响编码质量的问题。
附图说明
110.图1为本发明实施例的图像处理方法流程示意图;
111.图2为本发明实施例的候选边界分类模板示意图一;
112.图3为本发明实施例的候选边界分类模板示意图二;
113.图4为本发明实施例的候选边界分类模板示意图三;
114.图5为本发明实施例的候选边界分类模板示意图四;
115.图6为本发明实施例的候选边界分类模板示意图五;
116.图7为本发明实施例的候选边界分类模板示意图六;
117.图8为本发明实施例的图像处理装置结构示意图。
具体实施方式
118.为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
119.本发明针对现有的技术中针对像素分类的图像处理方案分类精度低而影响编码质量的问题,提供一种图像处理方法,如图1所示,包括:
120.步骤11:获取第一亮度像素的第一像素值,以及所述第一亮度像素所对应的至少一个参考亮度像素的第二像素值;
121.步骤12:根据第一信息,确定待分类色度像素的分类索引;其中,所述第一信息包括所述第一像素值和第二像素值。
122.其中的待分类色度像素可以属于环路后处理过程中的划块后的图像块,或者整个图像(图像可以是单独的图像或者视频中的图像帧)。参考亮度像素可包括第一亮度像素周边的亮度像素。本发明实施例中,可以将所述分类索引作为分类结果。
123.本发明实施例提供的所述图像处理方法通过获取第一亮度像素的第一像素值,以及所述第一亮度像素所对应的至少一个参考亮度像素的第二像素值;根据第一信息,确定待分类色度像素的分类索引;其中,所述第一信息包括所述第一像素值和第二像素值;能够实现根据亮度像素确定色度像素分类的方案,也就是实现跨分量分类的方案,使得色度像素的分类考虑了亮度像素的影响,从而在一定程度上提高了分类精度,进而提升整帧图像的编码质量,很好的解决了现有技术中针对像素分类的图像处理方案分类精度低而影响编码质量的问题。
124.其中,所述第一亮度像素为所述待分类色度像素所对应的亮度像素。所述第一亮度像素可以为与待分类色度像素共同形成一个显示像素的亮度像素,但是不限于与待分类色度像素共同形成一个显示像素的亮度像素。
125.本发明实施例中,所述获取第一亮度像素的第一像素值,包括:根据所述待分类色度像素对应的坐标常量,以及,所述待分类色度像素与所述第一亮度像素之间的像素位置关系,确定所述第一亮度像素的坐标值;根据所述第一亮度像素的坐标值,确定所述第一像素值。
126.这样可以实现确定多种类型的第一亮度像素的坐标值,比如正对待分类色度像素的第一亮度像素,偏移一定位置对应待分类色度像素的第一亮度像素。
127.关于像素位置关系,比如对于yuv为4:4:4的视频格式,表示亮度像素和色度像素的位置坐标比例为1:1,即像素位置关系为1:1;坐标常量包括横坐标常量a和纵坐标常量b。具体的“根据所述待分类色度像素对应的坐标常量,以及,所述待分类色度像素与所述第一亮度像素之间的像素位置关系,确定所述第一亮度像素的坐标值”对应为:y
x
=c
x
+a,yy=cy+b;(cx,cy)为待分类色度像素的坐标,(yx,yy)为第一亮度像素的坐标。
128.本发明实施例中,所述获取所述第一亮度像素所对应的至少一个参考亮度像素的第二像素值,包括:根据所述待分类色度像素所对应的目标边界分类模板,确定所述第一亮度像素与所述至少一个参考亮度像素之间的相对位置关系;根据所述相对位置关系和所述第一亮度像素的位置,确定所述至少一个参考亮度像素的位置;根据所述至少一个参考亮度像素的位置,确定所述第二像素值。
129.其中,目标边界分类模板可以为候选边界分类模板中率失真代价最小的模板,这样可以保证尽量降低率失真代价。
130.进一步的,在根据所述待分类色度像素所对应的目标边界分类模板,确定所述第一亮度像素与所述至少一个参考亮度像素之间的相对位置关系之前,还包括:根据候选边界分类模板和对应的率失真代价,确定所述待分类色度像素所对应的目标边界分类模板;或者,根据候选边界分类模板和预设置信息,确定所述待分类色度像素所对应的目标边界分类模板;或者,根据预设置边界分类模板,确定所述待分类色度像素所对应的目标边界分类模板。
131.具体的:可以是针对每一个候选边界分类模板对应获取一个率失真代价,然后从中选出率失真代价最小的候选边界分类作为目标边界分类模板;或者,根据预设置信息,从候选边界分类模板中选出与预设置信息相符的目标边界分类模板;或者,根据预设置边界分类模板,得到所述待分类色度像素所对应的目标边界分类模板。
132.关于预设置信息比如模板编号,可以根据模板编号从候选边界分类模板中选出对应的边界分类模板,作为目标边界分类模板。关于预设置边界分类模板就是预先设定的目标边界分类模板。
133.本发明实施例中,所述根据第一信息,确定待分类色度像素的分类索引,包括:获取所述第一像素值与每个所述第二像素值之间的差值;根据所述差值,确定待分类色度像素的分类索引。这样可以根据第一像素值和第二像素值精准的确定待分类色度像素的分类索引。
134.本发明实施例中,所述根据所述差值,确定待分类色度像素的分类索引,包括:根据所述差值、量化阈值以及候选量化值,确定每个所述差值对应的目标量化值;根据所述目标量化值,确定待分类色度像素的分类索引。
135.这样可以简化获取分类索引的处理操作。其中的候选量化值是指目标量化值可能取到的值,比如0、1、2和3。
136.本发明实施例中,所述量化阈值小于或等于所述参考亮度像素对应的最大像素值,且大于或等于0。这样能够更加贴合实际应用。
137.本发明实施例中,所述根据所述差值、量化阈值以及候选量化值,确定每个所述差值对应的目标量化值,包括:根据所述量化阈值,确定各个量化范围;根据每个所述差值所属的量化范围和量化范围对应的候选量化值,确定每个所述差值对应的目标量化值。
138.这样可以简化针对差值的量化操作,提升方案处理速度。关于量化范围就是由至少一个量化阈值得到的数值范围,比如量化阈值为th,量化范围可以包括:[-∞,th
×
(-1)]、[th
×
(-1),th]以及[th,∞];但并不以此为限。
[0139]
进一步的,在根据所述目标量化值,确定待分类色度像素的分类索引之前,还包括:将所述目标量化值进行排序,得到每个所述目标量化值的排列位置;根据所述排列位置、候选量化值的个数以及所述目标量化值的个数,确定每个所述目标量化值的第一权重。
[0140]
这样能够便于后续更精准的获取分类索引。其中所述目标量化值的个数等于所述差值的个数。
[0141]
关于“根据所述排列位置、候选量化值的个数以及所述目标量化值的个数,确定每个所述目标量化值的第一权重”,可包括:根据所述排列位置、所述目标量化值的个数以及第一规则,确定每个所述目标量化值的第一权重;其中,所述第一规则包括:当前位置的目标量化值的第一权重等于之后所有位置的目标量化值所对应的候选量化值的个数之积。在目标量化值只有一个的情况下,第一权重就是1。
[0142]
本发明实施例中,所述根据所述目标量化值,确定待分类色度像素的分类索引,包括:根据所述目标量化值和对应的第一权重,确定待分类色度像素的分类索引。这样可以更准确的获取分类索引。
[0143]
具体的,“根据所述目标量化值和对应的第一权重,确定待分类色度像素的分类索引”可以包括:根据所述目标量化值和对应的第一权重,确定第一索引;根据所述第一索引,
确定所述待分类色度像素的分类索引。
[0144]
关于“根据所述目标量化值和对应的第一权重,确定第一索引”,可以包括:每个目标量化值和对应的第一权重相乘得到第一乘积,将所有的第一乘积求和,得到所述第一索引。
[0145]
进一步的,所述第一信息还包括所述待分类色度像素的第三像素值;在根据所述目标量化值,确定待分类色度像素的分类索引之前,还包括:根据候选分类数量对应的率失真代价,确定初始分类数量;根据所述初始分类数量、所述待分类色度像素对应的图像位深、所述第三像素值和第一像素值,确定像素量化值;所述根据所述目标量化值,确定待分类色度像素的分类索引,包括:根据所述目标量化值和像素量化值,确定待分类色度像素的分类索引。这样可以结合目标量化值和像素量化值确定色度像素的分类,进而提升分类精度。
[0146]
其中候选分类数量可以包括1至最大值maxbandvalue之间的数值,关于最大值maxbandvalue可以是经验值,在此不作限定。初始分类数量为自然数,具体可以为1或2;本发明实施例中,一个候选分类数量可以对应一个量化阈值;即上述量化操作使用的量化阈值与初始分类数量是相对应的。
[0147]“根据所述初始分类数量、所述待分类色度像素对应的图像位深、所述第三像素值和第一像素值,确定像素量化值”,可以包括:将第一像素值和第三像素值分别量化,得到两个量化结果;根据两个量化结果分别对应的率失真代价,从中选择一个作为最终的像素量化值。
[0148]
具体可以采用如下公式对第一像素值和第三像素值分别进行量化;
[0149]
r1=(p
×
bandnum)》》bd,该公式表示的是:p
×
bandnum然后除以2的bd次幂,bd表示图像位深bitdepth;公式中的p表示亮度像素或色度像素的像素值,即第一像素值或第三像素值;r1表示像素量化值,即下述量化结果b。
[0150]
此外,在此说明,本发明实施例也可以只根据像素量化值,确定待分类色度像素的分类索引;即将像素量化值作为待分类色度像素的分类索引;但并不以此为限。
[0151]
进一步的,在根据所述目标量化值和像素量化值,确定待分类色度像素的分类索引之前,还包括:根据所述候选量化值的个数以及所述目标量化值的个数,确定所述像素量化值的第二权重;所述根据所述目标量化值和像素量化值,确定待分类色度像素的分类索引,包括:根据所述目标量化值、像素量化值和第二权重,确定待分类色度像素的分类索引。这样可以进一步提升分类结果的精度。
[0152]
其中“根据所述候选量化值的个数以及所述目标量化值的个数,确定所述像素量化值的第二权重”,可包括:第二权重等于候选量化值的个数的第二数值次幂;第二数值等于所述目标量化值的个数。
[0153]
本发明实施例中,所述根据所述目标量化值、像素量化值和第二权重,确定待分类色度像素的分类索引,包括:采用第一公式,根据所述目标量化值、像素量化值和第二权重,确定待分类色度像素的分类索引;其中,所述目标量化值的数量为1的情况下,所述第一公式为:idx=b
×
nm+q0×nm-1
;所述目标量化值的数量为2的情况下,所述第一公式为:idx=b
×
nm+q0×nm-1
+q1×nm-2
;所述目标量化值的数量大于2的情况下,所述第一公式为:idx=b
×
nm+q0×nm-1
+q1×nm-2
+
···
+q
m-1
×nm-m
;idx表示所述分类索引,b表示所述像素量化值,n表
示所述候选量化值的个数,m表示所述目标量化值的个数,q0表示第一个所述参考亮度像素对应的目标量化值,q1表示第一个所述参考亮度像素对应的目标量化值,q
m-1
表示第m个所述参考亮度像素对应的目标量化值,nm表示所述第二权重。n
m-1
、n
m-2
以及n
m-m
分别表示一个所述第一权重。
[0154]
这样可以精准的实现不同模板下的色度像素的分类。不同模板可以对应相同或不同数量的参考亮度像素。
[0155]
下面对本发明实施例提供的图像处理方法进行进一步说明。
[0156]
针对上述技术问题,考虑到不同分量像素之间有很强的像素相关性,本发明实施例提供了一种图像处理方法,具体可实现为一种基于边界信息的跨分量像素的自适应补偿方法。
[0157]
具体的,关于亮度像素和色度像素之间的相关性:
[0158]
对于yuv格式来说,通常亮度y分量(即亮度像素)包含更多的纹理信息,而色度uv分量(即色度像素)相对y分量来说更加平坦。亮度像素和色度像素之间存在较强的相关性,这种相关性可用以对像素的处理。
[0159]
本发明实施例中,关于跨分量像素的自适应补偿方法主要涉及以下四部分:
[0160]
部分一,分类方法;
[0161]
本发明实施例中,针对候选边界分类模板提供六种示意,如图2至图7所示,即六种边界分类模板,但并不限于这六种,比如还可以是图中左上角三个亮度色素作为参考亮度像素的模板。本实施例中可以通过各个模板分别对应的率失真代价进行选择使用,即根据候选边界分类模板和对应的率失真代价,确定所述待分类色度像素所对应的目标边界分类模板;当然,也可以根据预设置信息,比如编号,从候选边界分类模板中选出待分类色度像素所对应的目标边界分类模板;还可以直接预设置一个目标边界分类模板,即根据预设置边界分类模板,确定所述待分类色度像素所对应的目标边界分类模板。图中e所指示的点代表色度像素pc,其余九个点(包括f、g以及h所指示的三种点)代表亮度像素;q表示图像块,或者整个图像;其中的f(代表上述参考亮度像素)的数量为至少一个,图2至7中的数量只为示意。
[0162]
假设当前图像或者视频yuv格式为4:2:0(表示亮度:色度=2:1),图2至图7中g所代表的亮度像素rl(即色度像素pc对应亮度像素)对应坐标为(p
x
,py),e所代表的色度像素pc对应坐标为:(pc
x
,pcy),则rl对应的坐标可以按如下方式获得:
[0163]
p
x
=pc
x
×
2+a,py=pcy×
2+b;a和b为坐标常量,分别为整数。
[0164]
图2至图7中的f所代表的亮度像素(即上述参考亮度像素)均为g所代表的亮度像素(即上述的第一亮度像素)相邻的像素。
[0165]
下面针对图2至图7中六种模板所对应的将色度像素pc进行分类的方法进行介绍。
[0166]
1.图2至图5所示模板所对应的分类方法一致,具体如下:
[0167]
(1)计算rl分别和p0、p1之间的差值(即上述差值):diff0=rl-p0,diff1=rl-p1;p0和p1为参考亮度像素。
[0168]
(2)量化差值diff0和diff1,分别得到量化结果q0和q1(即上述每个所述差值对应的目标量化值);具体量化过程可如下:
[0169]
if diff《th
×
(-1),q=0;
[0170]
else if diff《0,q=1;
[0171]
else if diff《th,q=2;
[0172]
else q=3。
[0173]
其中,diff代表diff0或diff1,对应的q代表q0或q1。th表示上述量化阈值。0、1、2和3表示上述候选量化值。
[0174]
也就是,判断diff是否小于th
×
(-1),若是,则q=0;否则,判断diff是否小于0,若是,则q=1;否则,判断diff是否小于th,若是,则q=2;否则,q=3。
[0175]
也可理解为,在diff小于th
×
(-1)的情况下,q=0;在diff大于或等于th
×
(-1)且小于0的情况下,则q=1;在diff大于或等于0且小于th的情况下,q=2;在diff大于或等于th的情况下,q=3。
[0176]
本发明实施例中,th小于或等于参考亮度像素对应的最大像素值,且大于或等于0(关于th的具体确定可参见以下部分三);最大像素值可根据视频帧或图像对应的比特值确定;关于比特值,图像处理设备能够直接获取到。
[0177]
关于差值量化后,可以得到一个色度像素的第一索引,可以直接将这个第一索引作为待分类色度像素的分类索引;也可以继续结合下面的像素量化值确定待分类色度像素的分类索引。
[0178]
关于第一索引可以根据“q0×
4+q
1”得到。关于“q
0”的系数“4”是根据q1可能的取值(即候选值)的个数得到,根据上面判断q取值的过程可得q1可能的取值的个数为4个。
[0179]
在此说明,关于上面判断q取值的过程,还可以是将差值diff与th
×
(-1)和/或th进行比较,对应三种可能的q值,比如:判断diff是否小于th
×
(-1),若是,则q=0;否则,判断diff是否小于th,若是,则q=1;否则,q=2。
[0180]
也可理解为,在diff小于th
×
(-1)的情况下,q=0;在diff大于或等于th
×
(-1)且小于th的情况下,q=1;在diff大于或等于th的情况下,q=2。
[0181]
当然,本发明实施例中,关于上面判断q取值的过程,还可以是结合th执行的其他对比流程,在此不作限定。
[0182]
(3)将rl或者pc量化,得到量化结果b(即根据所述第三像素值和第一像素值,确定像素量化值);具体公式为:
[0183]
b=(p
×
bandnum)》》bitdepth;该公式表示p
×
bandnum除以2的bitdepth(图像位深)次幂;p表示rl或者pc对应的像素值,即第一像素值或第三像素值;bandnum表示初始分类数量,可以等于1或2等自然数。
[0184]
本发明实施例中,关于将rl量化还是将pc量化,可以是根据rl量化和pc量化后对应的率失真代价rdo确定。
[0185]
本发明实施例中,也可以直接将量化结果b作为pc(色度像素)的分类索引idx,即待分类色度像素的分类索引,但并不以此为限。
[0186]
(4)导出pc(色度像素)的分类索引idx:
[0187]
idx=b
×
16+q0×
4+q1,该公式中涉及的各个参数的系数(即权重)是根据当前参数之后的各个参数的候选值(可能的取值)个数之积确定的;即b的系数是根据q0的候选值(可能的取值)个数(4个)乘以q1的候选值(可能的取值)个数(4个)得到的,q0的系数是根据q1的候选值(可能的取值)个数(4个)得到的。
[0188]
所有色度像素按照以上方法进行分类,色度像素被分成bandnum
×
16个分类,数值16是根据q0的候选值个数乘以q1的候选值个数得到的。
[0189]
2.图6至图7所示模板所对应的分类方法一致,具体如下:
[0190]
(1)计算rl分别和p0、p1、p2、p3之间的差值(即上述差值):diff0=rl-p0,diff1=rl-p1,diff2=rl-p2,diff3=rl-p3;p0、p1、p2和p3为参考亮度像素。
[0191]
(2)量化差值diff0、diff1、diff2和diff3,分别得到量化结果q0、q1、q2和q3(即上述每个所述差值对应的目标量化值);具体量化过程可如下:
[0192]
if diff《th
×
(-1),q=0;
[0193]
else if diff《0,q=1;
[0194]
else if diff《th,q=2;
[0195]
else q=3。其中,diff代表diff0、diff1、diff2或diff3,对应的q代表q0、q1、q2或q3。th表示上述量化阈值。0、1、2和3表示上述候选量化值。
[0196]
也就是,判断diff是否小于th
×
(-1),若是,则q=0;否则,判断diff是否小于0,若是,则q=1;否则,判断diff是否小于th,若是,则q=2;否则,q=3。
[0197]
也可理解为,在diff小于th
×
(-1)的情况下,q=0;在diff大于或等于th
×
(-1)且小于0的情况下,则q=1;在diff大于或等于0且小于th的情况下,q=2;在diff大于或等于th的情况下,q=3。
[0198]
本发明实施例中,th小于或等于参考亮度像素对应的最大像素值,且大于或等于0(关于th的具体确定可参见以下部分三);最大像素值可根据视频帧或图像对应的比特值确定;关于比特值,图像处理设备能够直接获取到。
[0199]
关于差值量化后,可以得到一个色度像素的第一索引,可以直接将这个索引作为待分类色度像素的分类索引;也可以继续结合下面的像素量化值确定待分类色度像素的分类索引。
[0200]
关于第一索引可以根据“q0×4×4×
4+q1×4×
4+q2×
4+q
3”得到。关于“q
0”的系数“4
×4×
4”是根据q1、q2和q3可能的取值(即候选值)的个数之积得到,关于“q
1”的系数“4
×
4”是根据q2和q3可能的取值(即候选值)的个数之积得到,关于“q2×
4”的系数“4”是根据q3可能的取值(即候选值)的个数得到;根据上面判断q取值的过程可得q1、q2和q3可能的取值的个数均为4个。
[0201]
在此说明,关于上面判断q取值的过程,还可以是将差值diff与th
×
(-1)和/或th进行比较,对应三种可能的q值,比如:判断diff是否小于th
×
(-1),若是,则q=0;否则,判断diff是否小于th,若是,则q=1;否则,q=2。
[0202]
也可理解为,在diff小于th
×
(-1)的情况下,q=0;在diff大于或等于th
×
(-1)且小于th的情况下,q=1;在diff大于或等于th的情况下,q=2。
[0203]
当然,本发明实施例中,关于上面判断q取值的过程,还可以是结合th执行的其他对比流程,在此不作限定。
[0204]
(3)将rl或者pc量化,得到量化结果b(即根据所述第三像素值和第一像素值,确定像素量化值);具体公式为:
[0205]
b=(p
×
bandnum)》》bitdepth;该公式表示p
×
bandnum除以2的bitdepth(图像位深)次幂;p表示rl或者pc对应的像素值,即第一像素值或第三像素值;bandnum表示初始分
类数量,可以等于1或2等自然数。
[0206]
本发明实施例中,关于将rl量化还是将pc量化,可以是根据rl量化和pc量化后对应的率失真代价rdo确定。
[0207]
本发明实施例中,也可以直接将量化结果b作为pc(色度像素)的分类索引idx,即待分类色度像素的分类索引,但并不以此为限。
[0208]
(4)导出pc(色度像素)的分类索引idx:
[0209]
idx=b
×4×4×4×
4+q0×4×4×
4+q1×4×
4+q2×
4+q3,该公式中涉及的各个参数的系数(即权重)是根据当前参数之后的各个参数的候选值(可能的取值)个数之积确定的;即b的系数是根据q0的候选值(可能的取值)个数(4个)乘以q1的候选值(可能的取值)个数(4个)、乘以q2的候选值(可能的取值)个数(4个)以及乘以q3的候选值(可能的取值)个数(4个)得到的,q0的系数是根据q1的候选值(可能的取值)个数(4个)乘以q2的候选值(可能的取值)个数(4个)以及乘以q3的候选值(可能的取值)个数(4个)得到的,q1的系数是根据q2的候选值(可能的取值)个数(4个)以及乘以q3的候选值(可能的取值)个数(4个)得到的,q2的系数是根据q3的候选值(可能的取值)个数(4个)得到的。
[0210]
所有色度像素按照以上方法进行分类,色度像素被分成bandnum
×4×4×4×
4个分类,数值4
×4×4×
4是根据q0的候选值个数乘以q1的候选值个数、乘以q2的候选值个数以及乘以q3的候选值个数得到的。
[0211]
部分二,分类自适应(即bandnum值导出);
[0212]
如部分一中所述,所有色度像素分成bandnum
×
16个或者bandnum
×4×4×4×
4个分类,bandnum值通过率失真优化方法选出(即根据率失真代价rdo确定),其中为了找出最优的值,可以首先设置最大值maxbandvalue。之后bandnum从1到maxbandvalue进行循环计算率失真代价(rate-distortion optimization,rdo),根据率失真代价找出其中最优的bandnum结果。最优的结果可以是rdo最小的bandnum。关于maxbandvalue可以为经验值,但并不以此为限。
[0213]
部分三,阈值th的导出:
[0214]
在部分二bandnum导出中,bandnum从1到maxbandvalue进行循环计算率失真代价(rate-distortion optimization,rdo)。bandnum每一次rdo都会决策出一个最优的阈值th。例如:当bandnum=m;m∈[1,maxbangvalue]。此时th从1到maxthreadvalue(最大可选值,即上述最大像素值)进行循环计算率失真代价。根据率失真代价找出其中最优的th值,同时可将根据th计算得到的率失真代价作为bandnum=m时的率失真代价。也就是,每个bandnum对应一个量化阈值th。
[0215]
部分四,滤波参数计算;
[0216]
假设分成bandnum
×
16个分类,则需要计算出bandnum
×
16个滤波参数。对于其中任意一个分类class
t
的滤波参数,class
t
∈[0,bandnum
×
16-1],其偏移量offset的计算过程如下:
[0217]
首先统计处于分类class_t的像素个数numcount以及处于分类class_t的像素与对应位置原始像素之间的差值diffcount(即处于class_t的各个像素与对应位置原始像素之间的差值之和)。
[0218]
之后计算分类class_t的初始offset:initialoffset=diffcount/numcount;
initialoffset即初始offset;
[0219]
之后根据rdo计算,得到最优的offset(bestoffset),作为分类class
t
的offset。具体可以是根据rdo,从initialoffset以及initialoffset左右相邻的多个offset值中选出bestoffset(即率失真代价最小对应的offset)。
[0220]
本发明实施例中,所有类别的offset的计算过程可都采用上面分类class
t
的offset的计算过程,通过这种方法一共可以得到bandnum个offset。之后结合得到的offset,通过rdo,确定当前帧是否需要进行上述分类滤波操作。具体可以是假设根据各个类别的offset进行滤波,然后获取滤波后的rdo,在rdo大于0的情况下,则确定最终当前帧不进行本次滤波(对应于rdo=0)。
[0221]
本发明实施例中,关于滤波操作可采用如下公式进行:
[0222]cdst
=clip3(0,1《《bd-1,c
src
+offset[idx]);该公式表示最终像素值c
dst
处于0与1《《bd-1(即bitdepth-1)之间,即c
dst
处于0与1乘以2的bd-1次幂之间;c
src
表示原像素值,offset[idx]表示索引idx]对应的偏移量,c
src
+offset[idx]表示滤波后的像素值。
[0223]
由上可知,本发明实施例提供的方案包括以下几点:
[0224]
1.在环路后处理过程中,可对经过变换量化之后的视频帧图像,将色度像素(即上述pc)根据对应亮度像素(即上述rl)导出的边界信息(即上述q),以及色度像素或者亮度像素的量化信息(即上述b)进行分类;从而得到多个像素分类,可对每个分类计算得到对应的补偿值。最后可对像素进行滤波,从而提高整帧图像的编码质量。
[0225]
具体的,就是将色度像素对应的亮度像素的边界信息以及色度像素本身的量化信息或者对应亮度像素的量化信息联合,进而导出每个色度像素的分类结果。
[0226]
2.基于第1点,色度像素对应的亮度像素的边界信息的获取:可首先由对应亮度像素和周围相邻的n个像素(即上述参考亮度像素)相减算出差值diff0,diff1,...,diff
n-1
(n为自然数),其次对差值进行量化,得到边界信息。量化过程为diffi(i=0~n-1)和阈值t0,t1...,t
k-1
(k为自然数,阈值包括th)进行比较,得到边界信息。得到的边界信息r0,r1...,r
n-1
(即上述q),最终由该n个边界信息进行加权(即确定系数)导出基于亮度像素边界信息的分类结果res0,即上述第一索引。
[0227]
3.基于第2点,本发明实施例中可通过解析语法元素确定导出边界信息的模板(即根据各个模板对应的率失真代价选一个最优的)。也可以不通过语法元素,而是在编解码器中预先确定一套的导出边界信息的模板(即提前设置一个模板,而不需要通过率失真代价选择。比如提前设置的模板就是图2至图7中的某一类)。
[0228]
4.基于第2点和第3点,导出边界信息的模板可用来计算对应亮度像素和周围相邻的n个亮度像素之间的差值。模板中规定了n的个数以及这n个亮度像素的分布情况,即规定了参考亮度像素的个数以及相对于第一亮度像素的位置信息(即上述相对位置关系)。
[0229]
5.基于第1点,色度像素本身的量化信息或者对应亮度像素的量化信息可由以下公式得到:
[0230]
res1=(p
×
bandnum)>>bitdepth;
[0231]
其中p代表需要被分类的色度像素或者对应的亮度像素的像素值,即上述rl或者pc对应的像素值,所有的色度像素可按照大小等间隔的分成bandnum个区间,bitdepth为像素位深(即上述图像位深)。res1为量化结果,即上述b。
[0232]
6.基于第1点,最终色度像素分类结果可以单独由分类结果res0或者由res0和res1加权联合得到。就是可以由q确定,即上述将第一索引作为待分类色度像素的分类索引;或者,由q和b得到,即将上述第一索引结合像素量化值确定待分类色度像素的分类索引。
[0233]
7.基于第1点,色度像素对应的亮度像素可以按照对应像素位置关系获取,色度像素(c
x
,cy)和亮度像素(y
x
,yy)的对应关系为:
[0234]
对于yuv为4:2:0的视频格式(表示像素位置关系中的亮度:色度=2:1):
[0235]yx
=c
x
<<1+a,yy=cy<<1+b;即:y
x
=c
x
×
2+a,yy=cy×
2+b。
[0236]
对于yuv为4:4:4的视频格式(表示像素位置关系中的亮度:色度=2:1):
[0237]yx
=c
x
+a,yy=cy+b;
[0238]
其中a和b分别为整数。也就是,色度像素对应的亮度像素可以正对色度像素、或者偏移一定量。
[0239]
此外,本发明实施例提供的方案还可实现为一种图像局部亮度补偿方式,该方式可应用于亮度差异较大的视频序列的编解码过程中。该方式计算复杂度较低,硬件实现友好,对于亮度差异较大的视频序列能够明显的提升编码效率。
[0240]
本发明实施例还提供了一种图像处理装置,如图8所示,包括:
[0241]
第一获取模块81,用于获取第一亮度像素的第一像素值,以及所述第一亮度像素所对应的至少一个参考亮度像素的第二像素值;
[0242]
第一确定模块82,用于根据第一信息,确定待分类色度像素的分类索引;
[0243]
其中,所述第一信息包括所述第一像素值和第二像素值。
[0244]
本发明实施例提供的所述图像处理装置通过获取第一亮度像素的第一像素值,以及所述第一亮度像素所对应的至少一个参考亮度像素的第二像素值;根据第一信息,确定待分类色度像素的分类索引;其中,所述第一信息包括所述第一像素值和第二像素值;能够实现根据亮度像素确定色度像素分类的方案,也就是实现跨分量分类的方案,使得色度像素的分类考虑了亮度像素的影响,从而在一定程度上提高了分类精度,进而提升整帧图像的编码质量,很好的解决了现有技术中针对像素分类的图像处理方案分类精度低而影响编码质量的问题。
[0245]
其中,所述第一亮度像素为所述待分类色度像素所对应的亮度像素。
[0246]
本发明实施例中,所述获取第一亮度像素的第一像素值,包括:根据所述待分类色度像素对应的坐标常量,以及,所述待分类色度像素与所述第一亮度像素之间的像素位置关系,确定所述第一亮度像素的坐标值;根据所述第一亮度像素的坐标值,确定所述第一像素值。
[0247]
其中,所述获取所述第一亮度像素所对应的至少一个参考亮度像素的第二像素值,包括:根据所述待分类色度像素所对应的目标边界分类模板,确定所述第一亮度像素与所述至少一个参考亮度像素之间的相对位置关系;根据所述相对位置关系和所述第一亮度像素的位置,确定所述至少一个参考亮度像素的位置;根据所述至少一个参考亮度像素的位置,确定所述第二像素值。
[0248]
本发明实施例中,所述的图像处理装置,还包括:第二确定模块,用于在根据所述待分类色度像素所对应的目标边界分类模板,确定所述第一亮度像素与所述至少一个参考亮度像素之间的相对位置关系之前,根据候选边界分类模板和对应的率失真代价,确定所
述待分类色度像素所对应的目标边界分类模板;或者,根据候选边界分类模板和预设置信息,确定所述待分类色度像素所对应的目标边界分类模板;或者,根据预设置边界分类模板,确定所述待分类色度像素所对应的目标边界分类模板。
[0249]
其中,所述根据第一信息,确定待分类色度像素的分类索引,包括:获取所述第一像素值与每个所述第二像素值之间的差值;根据所述差值,确定待分类色度像素的分类索引。
[0250]
本发明实施例中,所述根据所述差值,确定待分类色度像素的分类索引,包括:根据所述差值、量化阈值以及候选量化值,确定每个所述差值对应的目标量化值;根据所述目标量化值,确定待分类色度像素的分类索引。
[0251]
其中,所述量化阈值小于或等于所述参考亮度像素对应的最大像素值,且大于或等于0。
[0252]
本发明实施例中,所述根据所述差值、量化阈值以及候选量化值,确定每个所述差值对应的目标量化值,包括:根据所述量化阈值,确定各个量化范围;根据每个所述差值所属的量化范围和量化范围对应的候选量化值,确定每个所述差值对应的目标量化值。
[0253]
进一步的,所述的图像处理装置,还包括:第一排序模块,用于在根据所述目标量化值,确定待分类色度像素的分类索引之前,将所述目标量化值进行排序,得到每个所述目标量化值的排列位置;第三确定模块,用于根据所述排列位置、候选量化值的个数以及所述目标量化值的个数,确定每个所述目标量化值的第一权重。
[0254]
本发明实施例中,所述根据所述目标量化值,确定待分类色度像素的分类索引,包括:根据所述目标量化值和对应的第一权重,确定待分类色度像素的分类索引。
[0255]
进一步的,所述第一信息还包括所述待分类色度像素的第三像素值;所述装置还包括:第四确定模块,用于在根据所述目标量化值,确定待分类色度像素的分类索引之前,根据候选分类数量对应的率失真代价,确定初始分类数量;第五确定模块,用于根据所述初始分类数量、所述待分类色度像素对应的图像位深、所述第三像素值和第一像素值,确定像素量化值;所述根据所述目标量化值,确定待分类色度像素的分类索引,包括:根据所述目标量化值和像素量化值,确定待分类色度像素的分类索引。
[0256]
本发明实施例中,所述的图像处理装置,还包括:第六确定模块,用于在根据所述目标量化值和像素量化值,确定待分类色度像素的分类索引之前,根据所述候选量化值的个数以及所述目标量化值的个数,确定所述像素量化值的第二权重;所述根据所述目标量化值和像素量化值,确定待分类色度像素的分类索引,包括:根据所述目标量化值、像素量化值和第二权重,确定待分类色度像素的分类索引。
[0257]
本发明实施例中,所述根据所述目标量化值、像素量化值和第二权重,确定待分类色度像素的分类索引,包括:采用第一公式,根据所述目标量化值、像素量化值和第二权重,确定待分类色度像素的分类索引;其中,所述目标量化值的数量为1的情况下,所述第一公式为:idx=b
×
nm+q0×nm-1
;所述目标量化值的数量为2的情况下,所述第一公式为:idx=b
×
nm+q0×nm-1
+q1×nm-2
;所述目标量化值的数量大于2的情况下,所述第一公式为:idx=b
×
nm+q0×nm-1
+q1×nm-2
+
···
+q
m-1
×nm-m
;idx表示所述分类索引,b表示所述像素量化值,n表示所述候选量化值的个数,m表示所述目标量化值的个数,q0表示第一个所述参考亮度像素对应的目标量化值,q1表示第一个所述参考亮度像素对应的目标量化值,q
m-1
表示第m个所
述参考亮度像素对应的目标量化值,nm表示所述第二权重。
[0258]
其中,上述图像处理方法的所述实现实施例均适用于该图像处理装置的实施例中,也能达到相同的技术效果。
[0259]
本发明实施例还提供了一种图像处理设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;所述处理器执行所述程序时实现上述的图像处理方法。
[0260]
其中,上述图像处理方法的所述实现实施例均适用于该图像处理设备的实施例中,也能达到相同的技术效果。
[0261]
本发明实施例还提供了一种可读存储介质,其上存储有程序,该程序被处理器执行时实现上述的图像处理方法中的步骤。
[0262]
其中,上述图像处理方法的所述实现实施例均适用于该可读存储介质的实施例中,也能达到相同的技术效果。
[0263]
需要说明的是,此说明书中所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。
[0264]
本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
[0265]
实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
[0266]
在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(vlsi)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
[0267]
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述原理前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1