图像编解码方法、编码器、解码器以及存储介质与流程

专利检索2022-05-11  10


图像编解码方法、编码器、解码器以及存储介质
1.本技术是申请日为2019年09月24日,申请号为2019800601447,发明名称为“图像编解码方法、编码器、解码器以及存储介质”的申请的分案申请。
技术领域
2.本技术实施例涉及视频编解码技术领域,尤其涉及的是一种图像编解码方法、编码器、解码器以及存储介质。


背景技术:

3.在多功能视频编码(versatile video coding,vvc)的参考软件测试平台中,一种新的帧内编码技术,基于矩阵的帧内预测(matrix-based intra prediction,mip)被提出,mip是基于神经网络的帧内预测技术,即利用多层神经网络基于相邻已重建亮度块预测当前块的亮度值。具体地,与传统帧内模式相同,在利用mip模式进行帧内预测时,mip预测的输入也为当前块的上一行和左一列相邻亮度块的数据,输出为当前块的亮度分量第一预测值。具体的预测过程分为三步:下采样,矩阵向量乘法和插值。
4.然而,在通过mip模式进行亮度预测时,尺寸大小不同的亮度块所采用的参数也有可能不同,因此,需要占用较大的存储空间对大量参数进行存储,且预测过程中对参数的查找和调用也增加了整体时间,从而降低了编解码效率。


技术实现要素:

5.本技术实施例提供一种图像编解码方法、编码器、解码器以及存储介质,能够在保证编解码性能的基础上,减小编解码过程中所需要的存储空间和整体时间,有效地提高编解码效率。
6.本技术实施例的技术方案是这样实现的:
7.本技术实施例提供了一种图像编码方法,应用于编码器,所述方法包括:
8.确定当前块的大小;
9.在利用mip模式对所述当前块进行编码时,根据所述当前块的大小,确定第一偏移量;
10.利用所述第一偏移量和所述当前块对应的相邻像素的重建值,计算第二偏移量;
11.根据所述第二偏移量,确定所述当前块的第一预测值;
12.基于所述第一预测值,对所述当前块进行编码。
13.本技术实施例提供了一种图像解码方法,应用于解码器,所述方法包括:
14.解析码流,获得当前块的大小和编码模式;
15.当所述当前块的编码模式为mip模式时,根据所述当前块的大小,确定第一偏移量;
16.利用所述第一偏移量和所述当前块对应的相邻像素的重建值,计算第二偏移量;
17.根据所述第二偏移量,确定所述当前块的第一预测值;
18.基于所述第一预测值,确定所述当前块的重建值。
19.本技术实施例提供了一种编码器,所述编码器包括:第一确定部分,第一计算部分以及编码部分,
20.所述第一确定部分,配置于确定当前块的大小;以及在利用mip模式对所述当前块进行编码时,根据所述当前块的大小,确定第一偏移量;
21.所述第一计算部分,配置于利用所述第一偏移量和所述当前块对应的相邻像素的重建值,计算第二偏移量;
22.所述第一确定部分,还配置于根据所述第二偏移量,确定所述当前块的第一预测值;
23.所述编码部分,配置于基于所述第一预测值,对所述当前块进行编码。
24.本技术实施例提供了解码器,所述解码器包括:解析部分,第二确定部分以及第二计算部分,
25.所述解析部分,配置于解析码流,获得当前块的大小和编码模式;
26.所述第二确定部分,配置于当所述当前块的编码模式为mip模式时,根据所述当前块的大小,确定第一偏移量;
27.所述第二计算部分,配置于利用所述第一偏移量和所述当前块对应的相邻像素的重建值,计算第二偏移量;
28.所述第二确定部分,还配置于根据所述第二偏移量,确定所述当前块的第一预测值;以及基于所述第一预测值,确定所述当前块的重建值。
29.本技术实施例提供了一种编码器,所述编码器包括第一处理器、存储有所述第一处理器可执行指令的第一存储器、第一通信接口,和用于连接所述第一处理器、所述第一存储器以及所述第一通信接口的第一总线,当所述指令被所述第一处理器执行时,实现如如上所述的图像编码方法。
30.本技术实施例提供了一种解码器,所述解码器包括第二处理器、存储有所述第二处理器可执行指令的第二存储器、第二通信接口,和用于连接所述第二处理器、所述第二存储器以及所述第二通信接口的第二总线,当所述指令被所述第二处理器执行时,实现如如上所述的图像解码方法。
31.本技术实施例提供了一种计算机可读存储介质,其上存储有程序,应用于编码器和解码器中,所述程序被处理器执行时,实现如上所述的图像编解码方法。
32.本技术实施例提供了一种图像编解码方法、编码器、解码器以及存储介质,编码器确定当前块的大小;在利用mip模式对当前块进行编码时,根据当前块的大小,确定第一偏移量;利用第一偏移量和当前块对应的相邻像素的重建值,计算第二偏移量;根据第二偏移量,确定当前块的第一预测值;基于第一预测值,对当前块进行编码。解码器解析码流,获得当前块的大小和编码模式;当当前块的编码模式为mip模式时,根据当前块的大小,确定第一偏移量;利用第一偏移量和当前块对应的相邻像素的重建值,计算第二偏移量;根据第二偏移量,确定当前块的第一预测值;基于第一预测值,确定当前块的重建值。由此可见,本技术提出的图像编解码方法,在利用mip模式进行编解码时,可以根据当前块的大小直接确定出与当前块对应的第一偏移量,然后便可以利用第一偏移量对当前块进行编解码处理,也就是说,在本技术中,基于预存索引序号与偏移量的对应关系,可以在确定出当前块的大小
对应的mip块大小索引序号之后,直接获得与mip块大小索引序号对应的第一偏移量,从而在进行编解码处理时,降低mip算法的复杂度,能够在保证编解码性能的基础上,减小编解码过程中所需要的存储空间和整体时间,有效地提高编解码效率。
附图说明
33.图1为帧内预测中的67种预测模式的排布示意图;
34.图2为mip模式进行编码的流程示意图;
35.图3为当前块的上侧相邻亮度块和左侧相邻亮度块的排布示意图;
36.图4为确定dm模式的排布示意图;
37.图5为视频编码系统的结构示意图;
38.图6为视频解码系统的结构示意图;
39.图7为图像编码方法的实现流程示意图;
40.图8为图像解码方法的实现流程示意图;
41.图9为编码器的组成结构示意图一;
42.图10为编码器的组成结构示意图二;
43.图11为解码器的组成结构示意图一;
44.图12为解码器的组成结构示意图二。
具体实施方式
45.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。
46.在视频图像中,vvc接受了联合视频专家组(joint video experts team,jvet)-n0217中提出的仿射线性权重帧内预测技术(affine linear weighted intra prediction),并更名为基于矩阵的帧内预测,即mip技术,该技术针对帧内亮度编码块大小的不同,在帧内亮度预测过程中增加了不同数量的基于矩阵的帧内预测模式。
47.为了捕捉自然视频中呈现的更精细的边缘方向,vvc中将视频压缩标准(high efficiency video coding,hevc)中定义的33种帧内亮度预测角度模式扩展到了65种,图1为帧内预测中的67种预测模式的排布示意图,如图1所示,箭头编号为2-66的表示65种帧内角度预测模式,另外还有两种非角度模式,即编号为0的渐变平坦planar模式和编号为1的直流dc模式;所以,vvc中的帧内预测过程中包含两种非角度模式和65种角度模式,这里,将这67种预测模式称为帧内预测的传统模式。
48.mip是基于神经网络的帧内预测技术,即利用多层神经网络基于相邻已重建像素预测当前块的亮度值。具体地,mip技术根据帧内亮度编码块的大小将亮度编码块分为三类,设亮度编码块大小为w
×
h,其中,w为宽度参数,h为高度参数,按照亮度编码块的大小可以将亮度编码块分为三类:
49.大小为4
×
4的亮度编码块为第一类亮度块,大小为8
×
4,4
×
8和8
×
8的亮度编码块为第二类亮度块,其他大小的亮度编码块为第三类亮度块。
50.针对这三种类型的帧内亮度编码块,mip技术在67种传统帧内预测模式的基础上
增加了m种mip模式,其中,针对第一类亮度块,m=35,针对第二类亮度块,m=19,针对第三类亮度块,m=11。
51.具体来说,mip技术只应用于帧内亮度预测,与传统模式相同,mip预测的输入也为当前块的上一行和左一列数据,输出为当前块的预测值,具体的预测过程分为三步:平均,矩阵向量乘法和插值。也就是说,通过对输入的上一行和左一列相邻像素点的重建亮度值进行这三步操作,就可以得到当前块的亮度分量预测值。
52.图2为mip模式进行编码的流程示意图,如图2所示,mip模式进行亮度预测的具体实现如下:
53.第一步:对当前块的上侧相邻参考点进行平均操作获得向量bdry
top
,共n个值;对当前块的左侧相邻参考点进行平均操作获得向量bdry
left
,共n个值。当当前块为第一类亮度编码时,n=2;当当前块为第二类或第三类亮度编码块时,n=4。向量bdry
top
和向量bdry
left
组成一个新的向量bdry
red
并进行后续操作;
54.第二步:通过mip模式的模式号k获取对应的矩阵ak和偏移量bk,通过下列公式(1)计算获得如图2中用交叉线标识的当前块的部分预测值:
55.pred
red
=ak·
bdry
red
bkꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
56.第三步:通过线性插值,获得当前块中剩余的预测值pred
red

57.需要说明的是,针对当前块进行编码的实现过程,需要将帧内预测具体使用的哪一种编码模式写入到压缩码流中,从而使解码端通过解析该模式信息,可以确定具体使用哪一种模式,是传统模式还是mip模式;若是传统模式,具体是哪一种传统模式;若是mip模式,具体是哪一种mip模式。
58.在vvc的帧内预测中,对每个亮度编码块都会进行67个传统模式和m个mip模式的率失真代价rdcost比较,在67个传统模式和m个mip模式中选出最优模式并进行编码。为了节省比特开销,vvc中使用了基于最可能模式列表(most probable modes list,mpm)的帧内模式编码技术。
59.需要注意的是,由于多参考行技术(extend reference line)和帧内子块划分技术(intra sub-patitionar,isp)只对mpm列表中的模式使用,所以当extendrefflag和ispflag都为0,即使用0参考行且不进行子块划分时,不必编码mpmflag,直接编码最优模式在mpm列表中的位置。
60.进一步地,针对mpm列表和mipmpm列表的构造来说,在vvc亮度帧内预测中,若当前块选中的最优模式是传统模式,则需要构造包含6个最可能传统模式的mpm列表;若当前块选中的最优模式是mip模式,则需要构造包含3个最可能mip模式的mipmpm列表。
61.图3为当前块的上侧相邻亮度块和左侧相邻亮度块的排布示意图,如图3所示,上述两个列表都是根据如图3所示的当前块的上侧相邻亮度块(a)和左侧相邻亮度块(l)的最优模式进行推导的。
62.进一步地,针对mipmpm列表的构造来说,在vvc帧内预测中,若当前块的最优模式是mip模式,则需要构造mipmpm列表。构造mipmpm列表的过程中,首先需要获取上侧相邻亮度块的最优模式所对应的mip模式above_mip和左侧相邻亮度块的最优模式所对应的mip模式left_mip模式。
63.进一步地,在获取到left_mip和above_mip之后,按照如下方法进行包含3个最可
能mipmpm模式的mipmpm列表的构造,其中,mipmpm中的编号为mip模式的编号,编号范围为0至(m-1),对于第一类亮度块编号为0-34;对于第二类亮度块编号为0-18;对于第三类亮度块编号为0-10:
64.若left_mip可用(不为-1),将left_mip放入mipmpmlist中;
65.若above_mip可用(不为-1),将above_mip通过冗余检查后放入mipmpmlist中;
66.若left_mip不可用(为-1),above_mip不可用(为-1),根据当前块的类型将默认列表通过冗余检查后添入直到补满mipmpmlist:
67.第一类亮度块默认列表为:{17,34,5};
68.第二类亮度块默认列表为:{0,7,16};
69.第三类亮度块默认列表为:{1,4,6}。
70.进一步地,需要补充的是,在vvc的色度帧内预测过程中有一种利用分量间相关性的直接模式(direct mode,dm),会使用当前块对应的同位亮度编码块的中心位置的帧内预测模式来进行当前色度块的帧内预测,图4为确定dm模式的排布示意图,如图4所示,由于mip技术只应用于亮度编码块,所以当图4中cr位置的帧内预测模式为mip模式时,需要将该mip模式通过“mip-传统映射表”映射为传统模式,进行当前色度块的帧内预测,表1为mip-传统映射表。
71.表1
[0072][0073]
也就是说,由于mip技术的引入,在帧内预测过程中,在构建mipmpm列表中,需要将传统模式映射为mip模式,在构建mpm列表和确定dm模式中,需要将mip模式映射为传统模式。
[0074]
另外,在mpm列表构造过程和dm模式的获取过程中需要使用到mip模式到传统模式的映射。具体通过“mip-传统映射表”将35/19/11种mip模式映射为67种传统模式。针对三种类型的亮度块,三种“mip-传统映射表”如表2,表3和表4所示。
[0075]
表2
[0076][0077][0078]
表3
[0079]
mip模式0123456789101112131415161718传统模式010102218181010104405010
[0080]
表4
[0081]
mip模式012345678910传统模式1111180101500
[0082]
图5为视频编码系统的结构示意图,如图5所示,该视频编码系统100包括变换与量化模块101、帧内估计模块102、帧内预测模块103、运动补偿模块104、运动估计模块105、反变换与反量化模块106、滤波器控制分析模块107、去方块滤波及样本自适应缩进(sample adaptive 0ffset,sao)滤波模块108、头信息编码及基于上下文的自适应二进制算术编码(context-based adaptive binary arithmatic coding,cabac)编码模块109和解码图像缓存模块110等部件;图6为视频解码系统的结构示意图,如图6所示,该视频解码系统200包括头信息解码及cabac解码模块201、反变换与反量化模块202、帧内预测模块203、运动补偿模块204、去方块滤波及sao滤波模块205和解码图像缓存模块206等部件。视频图像经过视频编码系统100中变换与量化模块101、帧内估计模块102、帧内预测模块103、运动补偿模块104、运动估计模块105、去方块滤波及sao滤波模块108以及头信息编码及cabac编码模块109等部分处理之后,输出该视频图像的码流;该码流输入视频解码系统200中,经过视频解码系统200中头信息解码及cabac解码模块201、反变换与反量化模块202、帧内预测模块203以及运动补偿模块204等部分处理,最终恢复出原来的视频图像。
[0083]
按照高度参数和宽度参数,当前块可以为25种尺寸,具体地,标准中规定亮度块最大为128
×
128,但由于变换单元的最大尺寸为64
×
64,也就是说,亮度块在128
×
128的尺寸下必定需要先进行四叉树划分,因此最大的亮度块尺寸是64
×
64。表5为亮度块的尺寸示意表,如表5所示,
[0084]
表5
[0085]
(4
×
4)(4
×
8)(4
×
16)(4
×
32)(4
×
64)(8
×
4)(8
×
8)(8
×
16)(8
×
32)(8
×
64)(16
×
4)(16
×
8)(16
×
16)(16
×
32)(16
×
64)(32
×
4)(32
×
8)(32
×
16)(32
×
32)(32
×
64)
(64
×
4)(64
×
8)(64
×
16)(64
×
32)(64
×
64)
[0086]
现有技术中,根据当前块的高度参数和宽度参数对mip模式进行限制,具体地,如果当前块的宽高比大于4,或者高宽比大于4,则不通过mip模式对当前块进行编码,表6为现有技术中mip模式下亮度块尺寸的限制,如表6所示,
[0087]
表6
[0088][0089]
现有技术中,在mip模式的第一类亮度块中(对应于4
×
4的亮度块),上相邻和左相邻亮度块各2个,经过矩阵运算,生成4
×
4的预测块;在mip模式的第二类亮度块中(对应于4
×
8,8
×
4,8
×
8的亮度块),上相邻和左相邻亮度块各4个,经过矩阵运算,生成4
×
4的预测块;在mip模式的第三类亮度块中(对应于其他大小的亮度块),上相邻和左相邻亮度块各4个,经过矩阵运算,生成4
×
8的预测块(4
×
16的亮度块),8
×
4的预测块(16
×
4的亮度块)或8
×
8的预测块(其他大小的亮度块)。其中,由于第三类亮度块会生成非正方形预测块,因此在计算时需要对矩阵进行奇数行的抽取。
[0090]
进一步地,在语法中,可以通过mipsizeid表示mip的应用类别,即mipsizeid为mip块大小索引序号,nummodes表示mip模式的数量,boundarysize表示下采样获得的上参考行或左参考列的亮度块个数,predw表示预测块的宽度参数,predh表示预测块的高度参数,predc表示mip的矩阵的边长。表7为现有技术中mip模式对应的语法关系,如表7所示,语法中的mipsizeid,nummodes,boundarysize,predw,predh,predc有以下关系:
[0091]
表7
[0092]
mipsizeidnummodesboundarysizepredwpredhpredc035244411944442114min(ntbw,8)min(ntbh,8)8
[0093]
进一步地,在语法中,mip块大小索引序号取值为0表示4
×
4的亮度块,取值为1表示4
×
8,8
×
4,8
×
8的亮度块,取值为2表示其他大小的亮度块。nummodes表示一共会有多少种mip预测模式,即4
×
4的亮度块共有35种,4
×
8,8
×
4,8
×
8的亮度块共有19种,其他大小的亮度块共有11种。boundarysize表示当前块上行或左列的相邻亮度块最终被下采样成2个或4个相邻亮度块。
[0094]
现有技术中,编码器在通过mip模式进行亮度预测时,可以通过如下的公式(2)进
行:
[0095][0096]
其中,mweight和vbias是各mip模式通过深度学习训练出来的权重矩阵和偏置矩阵,具体地,mweight为每一类mip模式的权重矩阵,vbias为每一类mip模式的偏置矩阵。sb为偏置矩阵的左移量,ow为四舍五入的保留值,sw为整体预测值的右移量,需要通过查表得到不同mip模式下的sw值。
[0097]
基于jvet-n1001-v7,在生成mip的预测矩阵时,编码器是通过变量incw和inch来判断是否需要抽取奇数行的预测值,fo变量代表了mweight需要减去的数值,具体地:
[0098][0099]
sincw=(predc》mipw)?2:1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0100]
inch=(predc》miph)?2:1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0101]
如果mipsizeid《2,则
[0102]
p[0]=ptemp[0]-(1<<(bitdepthy-1))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0103]
p[x]=ptemp[x]-ptemp[0]for x=1,insize
–1ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0104]
否则
[0105]
p[x]=ptemp[x 1]-ptemp[0]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0106]
其中,incw=2或inch=2代表需要在宽度参数或者高度参数上进行抽取。
[0107]
表8为现有技术中的sw的语法描述,如表8所示,由于mip模式下sw取值为映射关系,因此通过表8可以获得全部模式下的sw取值。
[0108]
表8
[0109][0110]
表9为现有技术中的fo的语法描述,如表9所示,在mip模式预测值的计算过程中,fo变量代表了mweight需要减去的数值,且需要通过查表得到不同亮度块在不同mip模式下的fo值。mweight是各mip模式通过深度学习训练出来的权重矩阵。
[0111]
由表9中fo的语法描述可以看出,fo的取值与亮度块尺寸大小和模式编号均相关。
[0112]
表9
[0113][0114]
正是由于表9中fo的取值与亮度块尺寸和模式编号均相关,也就是说,不同mip模式下fo的语法描述不同,编码器在通过mip模式进行亮度预测时,对于不同mipsizeid或不同mip模式编号modeid的当前编码块,fo的取值可能并不相同,因此会造成算法的不统一,且查询上述表9的流程增加了算法的时间复杂度,表9的存储也需要占用存储空间。
[0115]
由此可见,现有技术在通过mip模式进行亮度预测时,尺寸不同的亮度块所采用的
参数也有可能不同,因此,需要占用较大的存储空间对大量参数进行存储,且预测过程中对参数的查找和调用也增加了整体时间,从而降低了编解码效率。
[0116]
为了解决上述问题,本技术提出了一种图像编码方法,一方面,编码器可以通过对预存索引序号与偏移量的设定,即通过mipsizeid与fo的对应关系的设定,实现在编码时当前块fo的取值仅与当前块的大小相关,从而可以使mip的实现更加简洁统一;另一方面,mipsizeid与fo的对应关系可以利用一维数组或具有类似功能的数据结构进行存储,降低了维度,节省了fo本身所占用的存储空间;再一方面,编码器在对fo进行统一化的修改更新时,还可以利用更新后的fo对相应的mweight进行更新,从而可以避免编码性能的降低。
[0117]
进一步地,本技术提出的图像编码方法,可以影响视频编码混合框架中的帧内预测部分,即主要应用于视频编码中的帧内预测模块103和视频解码中的帧内预测模块203中,对编码端和解码端同时作用。
[0118]
下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
[0119]
在本技术的一个实施例中,图7为图像编码方法的实现流程示意图,如图7所示,在本技术的实施例中,编码器进行图像编码的方法可以包括以下步骤:
[0120]
步骤701、确定当前块的大小。
[0121]
在本技术的实施例中,编码器可以先确定当前块的大小,其中,当前块可以为待编码的当前编码块,也就是说,编码器在对当前块进行编码之前,可以先确定出当前块的具体尺寸大小。
[0122]
进一步地,在本技术的实施例中,当前块可以为待编码的亮度块。
[0123]
需要说明的是,在本技术的实施例中,按照当前块的高度参数h和宽度参数w,当前块的大小可以包括25种尺寸,具体地,标准中规定当前块最大为128
×
128,但由于变换单元的最大尺寸为64
×
64,也就是说,当前块在128
×
128的尺寸下必定需要先进行四叉树划分,因此,当前块的最大尺寸是64
×
64。
[0124]
具体地,如上述表5所示,当前块的大小(h
×
w)可以包括(4
×
4)、(4
×
8)、(4
×
16)、(4
×
32)、(4
×
64)、(8
×
4)、(8
×
8)、(8
×
16)、(8
×
32)、(8
×
64)、(16
×
4)、(16
×
8)、(16
×
16)、(16
×
32)、(16
×
64)、(32
×
4)、(32
×
8)、(32
×
16)、(32
×
32)、(32
×
64)、(64
×
4)、(64
×
8)、(64
×
16)、(64
×
32)、(64
×
64)这25种尺寸。
[0125]
步骤702、在利用mip模式对当前块进行编码时,根据当前块的大小,确定第一偏移量。
[0126]
在本技术的实施例中,编码器在利用mip模式对当前块进行编码时,可以先根据当前块的大小,确定出当前块对应的第一偏移量。其中,基于上述公式(2),当前块对应的第一偏移量可以为表征权重矩阵mweight需要减去的数值的fo。
[0127]
需要说明的是,在本技术的实施例中,对于不同大小的当前块,编码器可以设置有不同的第一偏移量进行编码处理。具体地,编码器可以先根据当前块的大小确定出当前块对应的mip块大小索引序号,然后可以根据mip块大小索引序号进一步地确定出当前块对应的第一偏移量。
[0128]
进一步地,在申请的实施例中,当前块的mip块大小索引序号即为根据当前块的尺寸大小确定的mipsizeid,当前块的第一偏移量即为当前块的mweight需要减去的参数的
fo。
[0129]
可以理解的是,在本技术的实施例中,编码器在根据当前块的大小,确定当前块对应的mip块大小索引序号时,具体可以基于以下步骤进行:
[0130]
(1)、若当前块的大小为4
×
4,则mipsizeid取值为0;
[0131]
(2)、若当前块的大小为4
×
8、8
×
4或8
×
8,则mipsizeid取值为1;
[0132]
(3)、若当前块的大小为其他情况,则mipsizeid取值为2。
[0133]
进一步地,在本技术的实施例中,编码器可以预先设置有mipsizeid和fo的对应关系,即编码器设置有预存索引序号与偏移量的对应关系,因此,编码器在确定出当前块对应的mip块大小索引序号之后,便可以基于预存索引序号与偏移量的对应关系,映射获得当前块对应的第一偏移量。
[0134]
需要说明的是,在本技术的实施例中,基于预存索引序号与偏移量的对应关系,对于相同的mip块大小索引序号,对应的第一偏移量也是相同的,也就是说,在本技术的实施例中,编码器在利用mip模式对当前块进行编码时,编码器可以直接利用当前块对应的mip块大小索引序号,确定出当前块对应的第一偏移量,从而可以进一步利用第一偏移量进行编码处理。
[0135]
在本技术的实施例中,进一步地,在按照mip模式对当前块进行编码之前,编码器可以先对预存索引序号与偏移量的对应关系进行设定。也就是说,编码器需要先对不同的mipsizeid设置不同的fo。
[0136]
进一步地,在本技术的实施例中,编码器可以在对预存索引序号与偏移量的对应关系进行设定时,对于相同mipsizeid的亮度块,编码器可以将这些亮度块对应的fo设置为相同的数值。也就是说,在本技术中,编码器可以将具有相同mipsizeid的亮度块所对应的fo进行统一化设置。例如,表10为预存索引序号与偏移量的对应关系一,如表10所示,编码器可以直接对相同的mipsizeid设定相同的fo,从而使编码器在对当前块进行编码时,可以直接根据当前块对应的mip块大小索引序号确定出对应的第一偏移量的取值;例如,如果当前块的大小为4
×
4,那么编码器可以确定当前块对应的mip块大小索引序号取值为0,编码器便可以通过表10所示的mipsizeid和fo的对应关系,确定当前块对应的第一偏移量为66。
[0137]
表10
[0138]
mipsizeidfo066145246
[0139]
表11为预存索引序号与偏移量的对应关系二,如表11所示,编码器可以直接对相同的mipsizeid设定相同的fo,从而使编码器在对当前块进行编码时,可以直接根据当前块对应的mip块大小索引序号确定出对应的第一偏移量的取值,例如,如果当前块的大小为4
×
4,那么编码器可以确定当前块对应的mip块大小索引序号取值为0,编码器便可以通过表11所示的mipsizeid和fo的对应关系,确定当前块对应的第一偏移量为34。
[0140]
表11
[0141]
[0142][0143]
由此可见,本技术中的上述表10、表11与上述表9相比,编码器在确定当前块对应的第一偏移量时,不需要再根据mipsizeid和mip模式编号modeid两个变量的取值确定当前块对应的第一偏移量,而仅仅根据mipsizeid一个参数便可以获得当前块对应的第一偏移量,从而可以降低运算的复杂度,同时节省了用于存储如上述表9为例的fo的二维表的存储开销。
[0144]
进一步地,在本技术的实施例中,编码器在对预存索引序号与偏移量的对应关系进行设定时,可以先基于原有的fo的语法描述,确定出同一个mipsizeid的不同mip模式编号modeid所对应的fo中数值最大的fo,然后将该数值最大的fo确定为该一个mipsizeid所对应的第一偏移量。例如,基于如表9所示的原有的fo的语法描述,可以确定mipsizeid为0时,数值最大的fo为模式编号modeid为15时的66,因此,编码器可以将mipsizeid为0的所有模式编号modeid对应的fo均设定为66,即建立mipsizeid为0与fo为66的对应关系;相应地,基于如表9所示的原有的fo的语法描述,可以确定mipsizeid为1时,数值最大的fo为模式编号modeid为3时的45,因此,编码器可以将mipsizeid为1的所有模式编号modeid对应的fo均设定为45,即建立mipsizeid为1与fo为45的对应关系;相应地,基于如表9所示的原有的fo的语法描述,可以确定mipsizeid为2时,数值最大的fo为模式编号modeid为1时的46,因此,编码器可以将mipsizeid为2时的所有模式编号modeid对应的fo均设定为46,即建立mipsizeid为2与fo为46的对应关系。即获得上述表10。
[0145]
具体地,编码器在利用上述表10、表11进行fo的获取之前,不需要同时确定出当前块对应的mipsizeid和modeid,只需要利用当前块的大小确定出mipsizeid,便可以获得当前块对应的fo。
[0146]
可以理解的是,在本技术的实施例中,由于上述表10所示的mipsizeid和fo之间的对应关系为的一维数组,因此编码器可以利用一维数组或具有类似功能的数据结构对mipsizeid和fo之间的对应关系进行存储,与上述表9相比,降低了数组的维度,节省了数组本身所占用的存储空间。
[0147]
步骤703、利用第一偏移量和当前块对应的相邻像素的重建值,计算第二偏移量。
[0148]
在本技术的实施例中,编码器在根据当前块的大小,确定第一偏移量之后,便可以利用第一偏移量和当前块对应的相邻像素的重建值,计算获得第二偏移量。其中,第二偏移量可以为上述公式(2)中的ow,具体地,第二偏移量可以为控制比特移位操作的偏移量,例如,上述公式(2)中的ow为四舍五入的保留值,可以通过上述公式(3)计算获得。
[0149]
需要说明的是,在本技术的实施例中,编码器在根据当前块的大小确定出当前块对应的mip块大小索引序号,并基于预存索引序号与偏移量的对应关系确定出当前块对应的第一偏移量之后,便可以基于上述公式(3),利用第一偏移量计算获得当前块对应的第二偏移量。具体地,编码器在确定第二偏移量时,还需要利用当前块对应的相邻像素的重建值进行计算。
[0150]
步骤704、根据第二偏移量,确定当前块的第一预测值。
[0151]
在本技术的实施例中,编码器在基于第一偏移量和当前块对应的相邻像素的重建
值,计算第二偏移量之后,可以根据第二偏移量,确定出当前块对应的第一预测值。
[0152]
需要说明的是,在本技术的实施例中,编码器在根据第二偏移量确定当前块的第一预测值时,可以先通过第二偏移量,计算当前块中的预设位置的像素的第二预测值;然后可以对第二预测值进行滤波处理,从而可以得到当前块中的全部像素的第一预测值。
[0153]
进一步地,在本技术的实施例中,预设位置可以为当前块中的特定位置,具体地,预设位置可以为当前块中的部分像素的特定位置。也就是说,在本技术中,编码器通过第二偏移量计算第二预测值,并不是当前块中的全部像素的预测值,而是当前块中的部分特定位置像素的预测值。
[0154]
需要说明的是,在本技术的实施例中,编码器在通过第二偏移量计算获得当前块中的部分特定位置像素的第二预测值之后,可以对第二预测值进行滤波处理,从而可以获得当前块中的全部像素的预测值,即获得当前块对应的第一预测值。
[0155]
可以理解的是,在本技术的实施例中,第二偏移量,可以用于在计算第二预测值的过程中,控制比特移位操作的偏移量。
[0156]
步骤705、基于第一预测值,对当前块进行编码。
[0157]
在本技术的实施例中,编码器在根据第二偏移量,确定当前块的第一预测值之后,便可以基于第一预测值,对当前编码块进行编码处理,从而可以获得当前块对应的码流。
[0158]
进一步地,在本技术的实施例中,编码器在基于第一预测值,对当前块进行编码时,可以先计算当前块的原始值与第一预测值之间的预测差,然后可以对预测差值进行编码。
[0159]
需要说明的是,在本技术的实施例中,编码器在对当前块进行编码时,并不是直接对当前块的第一预测值进行编码的,而是基于第一预测值和当前块对应的原始值,确定出二者之间的差值,即预测差,然后对预测差进行编码处理,从而可以有效地提高编解码效率。
[0160]
本技术实施例提供了一种图像编码方法,编码器确定当前块的大小;在利用mip模式对当前块进行编码时,根据当前块的大小,确定第一偏移量;利用第一偏移量和当前块对应的相邻像素的重建值,计算第二偏移量;根据第二偏移量,确定当前块的第一预测值;基于第一预测值,对当前块进行编码。由此可见,本技术提出的图像编码方法,在利用mip模式进行编码时,可以根据当前块的大小直接确定出与当前块对应的第一偏移量,然后便可以利用第一偏移量对当前块进行编码处理,也就是说,在本技术中,基于预存索引序号与偏移量的对应关系,可以在确定出当前块的大小对应的mip块大小索引序号之后,直接获得与mip块大小索引序号对应的第一偏移量,从而在进行编码处理时,降低mip算法的复杂度,能够在保证编码性能的基础上,减小编码过程中所需要的存储空间和整体时间,有效地提高编码效率。
[0161]
基于上述实施例,在本技术的再一实施例中,由于编码器预先设置有预存索引序号与偏移量的对应关系,因此编码器在对当前块进行编码时,只需要根据当前块的大小确定出当前块对应的mip块大小索引序号,便可以利用预存索引序号与偏移量的对应关系确定出相应地第一偏移量,也就是说,在本技术中,基于预存索引序号与偏移量的对应关系,编码器可以直接根据mipsizeid确定fo的取值,而不需要根据mipsizeid和modeid两个变量的取值确定fo取值,从而可以大大降低运算复杂度,节省了用于存储mipsizeid、modeid以
及fo三者对应关系的二维表的存储开销。
[0162]
也就是说,现有技术中,上述公式(2)中的fo代表了mweight需要减去的数值,且需要通过查询图上述表9所示的mipsizeid、modeid以及fo三者对应关系才能得到当前块的fo值,由此可见,fo的取值与当前块的大小和模式编号均相关,这就造成了算法的不统一,同时如上述表9的mipsizeid、modeid以及fo三者对应关系的存储也需要占用较多存储空间。相比之下,本技术中的只需要存储mipsizeid与fo的对应关系,且对于相同的mipsizeid,即使modeid不同,对应的fo的取值也是相同的,从而既节省了存储空间,同时也降低了运算的复杂度。
[0163]
具体地,在本技术的实施例中,语法上,本技术将mip的预测计算过程的语法进行了简化,对相同mipsizeid的fo进行统一化修改,即仅需要根据当前块的大小便可以确定出对应的fo。
[0164]
在本技术的实施例中,进一步地,编码器在将mip的预测计算过程的语法进行了简化时,也可以直接将不同mipsizeid、不同modeid的任意亮度块所对应的fo均设置成相同的数值,也就是说,fo为固定数值,取消亮度块的大小与fo的相关性,将所有情况下的fo均定义为统一数值,不再存储与fo相关的表格,从而可以进一步降低mip算法的复杂度,减少算法的存储空间,并使得mip技术的实现和语法更加简洁统一。
[0165]
在本技术的实施例中,进一步地,为了避免编码性能的损失,编码器在统一化修改fo的同时,还需要对mweight的取值进行相应的修改。具体地,编码器在设定预存索引序号与偏移量的对应关系之后,可以对当前块对应的权重矩阵mweight中的每一个权重值加上对应模式下的fo增大的部分,即可以对当前块的mweight对应的原始mweight中的每一个原始权重值加上更新后的fo,从而可以保持编码性能完全不改变,也就是说,编码器可以同时利用fo对mweight进行相应的更新,从而可以在减少了存储空间、降低运算复杂度的同时,还能保持编码性能基本不变,同时保持预测计算结果不变。
[0166]
需要说明的是,在本技术的实施例中,编码器在利用fo对mweight进行相应的更新时,如果更新后的mweight中存在大于预设权重阈值的权重值时,可以将该权重值设定为小于或者等于预设权重阈值。例如,编码器将预设权重阈值设定为7位二进制数的上限值127,若更新后的mweight中存在权重值大于127,则可以通过钳位的方式,将大于127的权重值修改为小于或者等于预设权重阈值,如将其设定为127。
[0167]
进一步地,在本技术的实施例中,如果更新后的mweight中出现了大于预设权重阈值的权重值,还可以使用减小sw的方式,使更新后的mweight中的全部权重值保持在预设权重阈值的范围以内。
[0168]
进一步地,在本技术的实施例中,为了更好的保持编码性能,还可以使用公式(9)中所示的伪代码计算p[0]参数的值,即利用公式(9)替换公式(6),可以理解的是,使用公式(9)的计算方法可以缩小mip矩阵中数据的动态范围:
[0169]
p[0]=(1<<(bitdepthy-1 ) )-ptemp[0]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
[0170]
示例性的,对于mipsizeid的取值为0的亮度块,在统一化修改fo之前,初始的fo的语法描述如下表12所示,不同的mip模式编号modeid,fo的取值也不同。
[0171]
表12
[0172]
mipsizeid01234567891011121314151617
03421727272856134715402116745662132
[0173]
其中,modeid取值为1的fo为21,对应的mweight如下表13所示,
[0174]
表13
[0175]
18167221619557127234140841321201965541819486515233173102718762021188719211987202022852020258420212482202024822022248219232482
[0176]
基于上述表12,利用modeid为1时的取值为21的fo,可以获得modeid取值为1时对应的原始mweight,具体地,可以对上述表13中的每一个权重值与21进行减法运算,从而可以获得对应的原始mweight如下表14所示,
[0177]
表14
[0178]-3-551-19-5-234-14-95113-7-2163-80-1-24433-3-22744-621052-116-355-10-366-20-266-1-1164-1-1463-10361-1-1361-11361-22361
[0179]
在本技术的实施例中,在更新mweight对应的原始mweight时,为了缩小mip矩阵中数据的动态范围,编码器利用公式(9)替换公式(6)。
[0180]
表15
[0181][0182][0183]
具体来说,是需要将mipsizeid的取值为0和1的亮度块的全部mip模式编号modeid,所对应的全部原始mweight的第一列取相反。例如,基于上述如表14,对第一列中的权重值取反之后,获得的初步更新mweight如表15所示。
[0184]
由于上述表12中fo数值最大的是mip模式编号modeid为0的34,因此,编码器在对fo进行统一化修改时,可以直接将mipsizeid为0的全部亮度块对应的fo均设置为34,即获得更新后的fo的语法描述如下表16所示,
[0185]
表16
[0186]
mipsizeidfo034
[0187]
同时,编码器可以利用取值为34的fo继续对mip模式编号modeid为1的亮度块的初步更新mweight继续更新,即基于上述表15,对表15中的每一个权重值加上34,出从而可以获得更新后的mweight如表17所示,
[0188]
表17
[0189]
37298515393268204385472755972634353278673732617840364486454031893534311003634321003533359835333897
35343795353337953535379536363795
[0190]
可以理解的是,在此过程中,如果更新后的mweight中出现了大于预设权重阈值的权重值,既可以将该权重值钳位至预设权重阈值的范围以内,还可以使用减小sw的方式,使更新后的mweight中的全部权重值保持在预设权重阈值的范围以内。
[0191]
通过上述描述可以理解,在本技术中,一方面,编码器可以通过对预存索引序号与偏移量的设定,即通过mipsizeid与fo的对应关系的设定,实现在编码时当前块fo的取值仅与当前块的大小相关,从而可以使mip的实现更加简洁统一;另一方面,mipsizeid与fo的对应关系可以利用一维数组或具有类似功能的数据结构进行存储,降低了维度,节省了fo本身所占用的存储空间;再一方面,编码器在对fo进行统一化的修改更新时,还可以利用更新后的fo对相应的mweight进行更新,从而可以避免编码性能的降低。
[0192]
本技术实施例提供了一种图像编码方法,编码器确定当前块的大小;在利用mip模式对当前块进行编码时,根据当前块的大小,确定第一偏移量;利用第一偏移量和当前块对应的相邻像素的重建值,计算第二偏移量;根据第二偏移量,确定当前块的第一预测值;基于第一预测值,对当前块进行编码。由此可见,本技术提出的图像编码方法,在利用mip模式进行编码时,可以根据当前块的大小直接确定出与当前块对应的第一偏移量,然后便可以利用第一偏移量对当前块进行编码处理,也就是说,在本技术中,基于预存索引序号与偏移量的对应关系,可以在确定出当前块的大小对应的mip块大小索引序号之后,直接获得与mip块大小索引序号对应的第一偏移量,从而在进行编码处理时,降低mip算法的复杂度,能够在保证编码性能的基础上,减小编码过程中所需要的存储空间和整体时间,有效地提高编码效率。
[0193]
在本技术的另一个实施例中,图8为图像解码方法的实现流程示意图,如图8所示,在本技术的实施例中,解码器进行图像解码的方法可以包括以下步骤:
[0194]
步骤801、解析码流,获得当前块的大小和编码模式。
[0195]
在本技术的实施例中,解码器可以先确定当前块的大小和编码模式,其中,当前块可以为待解码的当前编码块,也就是说,解码器在对当前块进行解码之前,可以先确定出当前块的具体尺寸大小和编码模式。
[0196]
需要说明的是,在本技术的实施例中,当前块的编码模式可以为67种传统帧内预测模式或mip模式。
[0197]
进一步地,在本技术的实施例中,当前块可以为待解码的亮度块。
[0198]
需要说明的是,在本技术的实施例中,按照当前块的高度参数h和宽度参数w,当前块的大小可以包括25种尺寸,具体地,标准中规定当前块最大为128
×
128,但由于变换单元的最大尺寸为64
×
64,也就是说,当前块在128
×
128的尺寸下必定需要先进行四叉树划分,因此,当前块的最大尺寸是64
×
64。
[0199]
步骤802、当当前块的编码模式为mip模式时,根据当前块的大小,确定第一偏移量。
[0200]
在本技术的实施例中,解码器在确定当前块的编码模式为mip模式之后,可以先根
据当前块的大小,确定出当前块对应的第一偏移量。其中,基于上述公式(2),当前块对应的第一偏移量可以为表征mweight需要减去的数值的fo。
[0201]
需要说明的是,在本技术的实施例中,对于不同大小的当前块,解码器可以设置有不同的第一偏移量进行解码处理。具体地,解码器可以先根据当前块的大小确定出当前块对应的mip块大小索引序号,然后可以根据mip块大小索引序号进一步地确定出当前块对应的第一偏移量。
[0202]
进一步地,在申请的实施例中,当前块的mip块大小索引序号即为根据当前块的尺寸大小确定的mipsizeid,当前块的第一偏移量即为当前块的mweight需要减去的参数的fo。
[0203]
可以理解的是,在本技术的实施例中,解码器在根据当前块的大小,确定当前块对应的mip块大小索引序号时,具体可以基于以下步骤进行:
[0204]
(1)、若当前块的大小为4
×
4,则mipsizeid取值为0;
[0205]
(2)、若当前块的大小为4
×
8、8
×
4或8
×
8,则mipsizeid取值为1;
[0206]
(3)、若当前块的大小为其他情况,则mipsizeid取值为2。
[0207]
进一步地,在本技术的实施例中,解码器可以预先设置有mipsizeid和fo的对应关系,即解码器设置有预存索引序号与偏移量的对应关系,因此,解码器在确定出当前块对应的mip块大小索引序号之后,便可以基于预存索引序号与偏移量的对应关系,映射获得当前块对应的第一偏移量。
[0208]
需要说明的是,在本技术的实施例中,基于预存索引序号与偏移量的对应关系,对于相同的mip块大小索引序号,对应的第一偏移量也是相同的,也就是说,在本技术的实施例中,解码器在利用mip模式对当前块进行解码时,解码器可以直接利用当前块对应的mip块大小索引序号,确定出当前块对应的第一偏移量,从而可以进一步利用第一偏移量进行解码处理。
[0209]
在本技术的实施例中,进一步地,在按照mip模式对当前块进行解码之前,解码器可以先对预存索引序号与偏移量的对应关系进行设定。也就是说,解码器需要先对不同的mipsizeid设置不同的fo。
[0210]
进一步地,在本技术的实施例中,解码器可以在对预存索引序号与偏移量的对应关系进行设定时,对于相同mipsizeid的亮度块,解码器可以将这些亮度块对应的fo设置为相同的数值。也就是说,在本技术中,解码器可以将具有相同mipsizeid的亮度块所对应的fo进行统一化设置。例如,上述表10中,如果当前块的大小为4
×
4,那么解码器可以确定当前块对应的mip块大小索引序号为0,解码器便可以通过表10所示的mipsizeid和fo的对应关系,确定当前块对应的第一偏移量为66;上述表11中,如果当前块的大小为4
×
4,那么解码器可以确定当前块对应的mip块大小索引序号取值为0,编码器便可以通过表11所示的mipsizeid和fo的对应关系,确定当前块对应的第一偏移量为34。
[0211]
由此可见,本技术中的上述表10、表11与与上述表9相比,解码器在确定当前块对应的第一偏移量时,不需要再根据mipsizeid和mip模式编号modeid两个变量的取值确定当前块对应的第一偏移量,而仅仅根据mipsizeid一个参数便可以获得当前块对应的第一偏移量,从而可以降低运算的复杂度,同时节省了用于存储如上述表9为例的fo的二维表的存储开销。
[0212]
进一步地,在本技术的实施例中,解码器在对预存索引序号与偏移量的对应关系进行设定时,可以先基于原有的fo的语法描述,确定出同一个mipsizeid的不同mip模式编号modeid所对应的fo中数值最大的fo,然后将该数值最大的fo确定为该一个mipsizeid所对应的第一偏移量。例如,基于如表9所示的原有的fo的语法描述,可以确定mipsizeid为0时,数值最大的fo为模式编号modeid为15时的66,因此,解码器可以将mipsizeid为0的所有模式编号modeid对应的fo均设定为66,即建立mipsizeid为0与fo为66的对应关系;相应地,基于如表9所示的原有的fo的语法描述,可以确定mipsizeid为1时,数值最大的fo为模式编号modeid为3时的45,因此,解码器可以将mipsizeid为1的所有模式编号modeid对应的fo均设定为45,即建立mipsizeid为1与fo为45的对应关系;相应地,基于如表9所示的原有的fo的语法描述,可以确定mipsizeid为2时,数值最大的fo为模式编号modeid为1时的46,因此,解码器可以将mipsizeid为2时的所有模式编号modeid对应的fo均设定为46,即建立mipsizeid为2与fo为46的对应关系。即获得上述表10。
[0213]
具体地,解码器在利用上述表10、表11进行fo的获取之前,不需要同时确定出当前块对应的mipsizeid和modeid,只需要利用当前块的大小确定出mipsizeid,便可以获得当前块对应的fo。
[0214]
可以理解的是,在本技术的实施例中,由于上述表10所示的mipsizeid和fo之间的对应关系为的一维数组,因此解码器可以利用一维数组或具有类似功能的数据结构对mipsizeid和fo之间的对应关系进行存储,与上述表9相比,降低了数组的维度,节省了数组本身所占用的存储空间。
[0215]
步骤803、利用第一偏移量和当前块对应的相邻像素的重建值,计算第二偏移量。
[0216]
在本技术的实施例中,解码器在根据当前块的大小,确定第一偏移量之后,便可以利用第一偏移量和当前块对应的相邻像素的重建值,计算获得第二偏移量。其中,第二偏移量可以为上述公式(2)中的ow,具体地,第二偏移量可以为控制比特移位操作的偏移量,例如,上述公式(2)中的ow为四舍五入的保留值,可以通过上述公式(3)计算获得。
[0217]
需要说明的是,在本技术的实施例中,解码器在根据当前块的大小确定出当前块对应的mip块大小索引序号,并基于预存索引序号与偏移量的对应关系确定出当前块对应的第一偏移量之后,便可以基于上述公式(3),利用第一偏移量计算获得当前块对应的第二偏移量。具体地,解码器在确定第二偏移量时,还需要利用当前块对应的相邻像素的重建值进行计算。
[0218]
步骤804、根据第二偏移量,确定当前块的第一预测值。
[0219]
在本技术的实施例中,解码器在基于第一偏移量和当前块对应的相邻像素的重建值,计算第二偏移量之后,可以根据第二偏移量,确定出当前块对应的第一预测值。
[0220]
需要说明的是,在本技术的实施例中,解码器在根据第二偏移量确定当前块的第一预测值时,可以先通过第二偏移量,计算当前块中的预设位置的像素的第二预测值;然后可以对第二预测值进行滤波处理,从而可以得到当前块中的全部像素的第一预测值。
[0221]
进一步地,在本技术的实施例中,预设位置可以为当前块中的特定位置,具体地,预设位置可以为当前块中的部分像素的特定位置。也就是说,在本技术中,解码器通过第二偏移量计算第二预测值,并不是当前块中的全部像素的预测值,而是当前块中的部分特定位置像素的预测值。
[0222]
需要说明的是,在本技术的实施例中,解码器在通过第二偏移量计算获得当前块中的部分特定位置像素的第二预测值之后,可以对第二预测值进行滤波处理,从而可以获得当前块中的全部像素的预测值,即获得当前块对应的第一预测值。
[0223]
可以理解的是,在本技术的实施例中,第二偏移量,可以用于在计算第二预测值的过程中,控制比特移位操作的偏移量。
[0224]
步骤805、基于第一预测值,对当前块进行解码。
[0225]
在本技术的实施例中,解码器在根据第二偏移量,确定当前块的第一预测值之后,便可以基于第一预测值,对当前解码块进行解码处理,从而可以获得当前块对应的码流。
[0226]
进一步地,在本技术的实施例中,解码器在基于第一预测值,对当前块进行解码时,可以先计算当前块的原始值与第一预测值之间的预测差,然后可以对预测差值进行解码。
[0227]
需要说明的是,在本技术的实施例中,解码器在对当前块进行解码时,并不是直接对当前块的第一预测值进行解码的,而是基于第一预测值和当前块对应的原始值,确定出二者之间的差值,即预测差,然后对预测差进行解码处理,从而可以有效地提高编解码效率。
[0228]
进一步地,在本技术的实施例中,解码器在基于第一预测值,确定当前块的重建值之前,可以先通过解析码流,获得当前块的预测差。
[0229]
相应地,在本技术的实施例中,解码器在确定当前块的预测差,并确定当前块的第一预测值之后,便可以直接计算第一预测值与预测差之间的和值,将和值设定当前块的重建值。也就是说,解码器在基于第一预测值,确定当前块的重建值时,可以对第一预测值和预测差进行加法运算,从而获得当前块的重建值,以完成对当前块的解码处理。
[0230]
本技术实施例提供了一种图像解码方法,解码器解析码流,获得当前块的大小和编码模式;当当前块的编码模式为mip模式时,根据当前块的大小,确定第一偏移量;利用第一偏移量和当前块对应的相邻像素的重建值,计算第二偏移量;根据第二偏移量,确定当前块的第一预测值;基于第一预测值,确定当前块的重建值。由此可见,本技术提出的图像解码方法,在利用mip模式进行解码时,可以根据当前块的大小直接确定出与当前块对应的第一偏移量,然后便可以利用第一偏移量对当前块进行解码处理,也就是说,在本技术中,基于预存索引序号与偏移量的对应关系,可以在确定出当前块的大小对应的mip块大小索引序号之后,直接获得与mip块大小索引序号对应的第一偏移量,从而在进行解码处理时,降低mip算法的复杂度,能够在保证解码性能的基础上,减小解码过程中所需要的存储空间和整体时间,有效地提高解码效率。
[0231]
基于上述实施例,在本技术的再一实施例中,图9为编码器的组成结构示意图一,如图9所示,本技术实施例提出的编码器300可以包括第一确定部分301、第一计算部分302以及编码部分303。
[0232]
所述第一确定部分301,配置于确定当前块的大小;以及在利用mip模式对所述当前块进行编码时,根据所述当前块的大小,确定第一偏移量;
[0233]
所述第一计算部分302,配置于利用所述第一偏移量和所述当前块对应的相邻像素的重建值,计算第二偏移量;
[0234]
所述第一确定部分301,还配置于根据所述第二偏移量,确定所述当前块的第一预
测值;
[0235]
所述编码部分303,配置于基于所述第一预测值,对所述当前块进行编码。
[0236]
图10为编码器的组成结构示意图二,如图10所示,本技术实施例提出的编码器300还可以包括第一处理器304、存储有第一处理器304可执行指令的第一存储器305、第一通信接口306,和用于连接第一处理器304、第一存储器305以及第一通信接口306的第一总线307。
[0237]
进一步地,在本技术的实施例中,上述第一处理器304,用于确定当前块的大小;在利用mip模式对所述当前块进行编码时,根据所述当前块的大小,确定第一偏移量;利用所述第一偏移量和所述当前块对应的相邻像素的重建值,计算第二偏移量;根据所述第二偏移量,确定所述当前块的第一预测值;基于所述第一预测值,对所述当前块进行编码。
[0238]
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0239]
集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0240]
本技术实施例提供了一种编码器,该编码器确定当前块的大小;在利用mip模式对当前块进行编码时,根据当前块的大小,确定第一偏移量;利用第一偏移量和当前块对应的相邻像素的重建值,计算第二偏移量;根据第二偏移量,确定当前块的第一预测值;基于第一预测值,对当前块进行编码。由此可见,本技术提出的图像编码方法,在利用mip模式进行编码时,可以根据当前块的大小直接确定出与当前块对应的第一偏移量,然后便可以利用第一偏移量对当前块进行编码处理,也就是说,在本技术中,基于预存索引序号与偏移量的对应关系,可以在确定出当前块的大小对应的mip块大小索引序号之后,直接获得与mip块大小索引序号对应的第一偏移量,从而在进行编码处理时,降低mip算法的复杂度,能够在保证编码性能的基础上,减小编码过程中所需要的存储空间和整体时间,有效地提高编码效率。
[0241]
基于上述实施例,在本技术的另一实施例中,图11为解码器的组成结构示意图一,如图11所示,本技术实施例提出的解码器400可以包括解析部分401,第二确定部分402以及第二计算部分403。
[0242]
所述解析部分401,配置于解析码流,获得当前块的大小和编码模式;
[0243]
所述第二确定部分402,配置于当所述当前块的编码模式为mip模式时,根据所述当前块的大小,确定第一偏移量;
[0244]
所述第二计算部分403,配置于利用所述第一偏移量和所述当前块对应的相邻像素的重建值,计算第二偏移量;
[0245]
所述第二确定部分402,还配置于根据所述第二偏移量,确定所述当前块的第一预测值;以及基于所述第一预测值,确定所述当前块的重建值。
[0246]
图12为解码器的组成结构示意图二,如图12所示,本技术实施例提出的解码器400还可以包括第二处理器404、存储有第二处理器404可执行指令的第二存储器405、第二通信接口406,和用于连接第二处理器404、第饿存储器405以及第二通信接口406的第二总线407。
[0247]
进一步地,在本技术的实施例中,上述第二处理器404,用于解析码流,获得当前块的大小和编码模式;当所述当前块的编码模式为mip模式时,根据所述当前块的大小,确定第一偏移量;利用所述第一偏移量和所述当前块对应的相邻像素的重建值,计算第二偏移量;根据所述第二偏移量,确定所述当前块的第一预测值;基于所述第一预测值,确定所述当前块的重建值。
[0248]
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0249]
集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0250]
本技术实施例提供了一种解码器,该解码器解析码流,获得当前块的大小和编码模式;当当前块的编码模式为mip模式时,根据当前块的大小,确定第一偏移量;利用第一偏移量和当前块对应的相邻像素的重建值,计算第二偏移量;根据第二偏移量,确定当前块的第一预测值;基于第一预测值,确定当前块的重建值。由此可见,本技术提出的图像解码方法,在利用mip模式进行解码时,可以根据当前块的大小直接确定出与当前块对应的第一偏移量,然后便可以利用第一偏移量对当前块进行解码处理,也就是说,在本技术中,基于预存索引序号与偏移量的对应关系,可以在确定出当前块的大小对应的mip块大小索引序号之后,直接获得与mip块大小索引序号对应的第一偏移量,从而在进行解码处理时,降低mip算法的复杂度,能够在保证解码性能的基础上,减小解码过程中所需要的存储空间和整体时间,有效地提高解码效率。
[0251]
本技术实施例提供计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如上述实施例所述的方法。
[0252]
具体来讲,本实施例中的一种图像编码方法对应的程序指令可以被存储在光盘,硬盘,u盘等存储介质上,当存储介质中的与一种图像编码方法对应的程序指令被一电子设备读取或被执行时,实现如下步骤:
[0253]
确定当前块的大小;
[0254]
在利用mip模式对所述当前块进行编码时,根据所述当前块的大小,确定第一偏移
量;
[0255]
利用所述第一偏移量和所述当前块对应的相邻像素的重建值,计算第二偏移量;
[0256]
根据所述第二偏移量,确定所述当前块的第一预测值;
[0257]
基于所述第一预测值,对所述当前块进行编码。
[0258]
具体来讲,本实施例中的一种图像解码方法对应的程序指令可以被存储在光盘,硬盘,u盘等存储介质上,当存储介质中的与一种图像解码方法对应的程序指令被一电子设备读取或被执行时,实现如下步骤:
[0259]
解析码流,获得当前块的大小和编码模式;
[0260]
当所述当前块的编码模式为mip模式时,根据所述当前块的大小,确定第一偏移量;
[0261]
利用所述第一偏移量和所述当前块对应的相邻像素的重建值,计算第二偏移量;
[0262]
根据所述第二偏移量,确定所述当前块的第一预测值;
[0263]
基于所述第一预测值,确定所述当前块的重建值。
[0264]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0265]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的实现流程示意图和/或方框图来描述的。应理解可由计算机程序指令实现流程示意图和/或方框图中的每一流程和/或方框、以及实现流程示意图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0266]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0267]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0268]
以上所述,仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。
[0269]
工业实用性
[0270]
本技术实施例提供了一种图像编解码方法、编码器、解码器以及存储介质,编码器确定当前块的大小;在利用mip模式对当前块进行编码时,根据当前块的大小,确定第一偏移量;利用第一偏移量和当前块对应的相邻像素的重建值,计算第二偏移量;根据第二偏移量,确定当前块的第一预测值;基于第一预测值,对当前块进行编码。解码器解析码流,获得当前块的大小和编码模式;当当前块的编码模式为mip模式时,根据当前块的大小,确定第
一偏移量;利用第一偏移量和当前块对应的相邻像素的重建值,计算第二偏移量;根据第二偏移量,确定当前块的第一预测值;基于第一预测值,确定当前块的重建值。由此可见,本技术提出的图像编解码方法,在利用mip模式进行编解码时,可以根据当前块的大小直接确定出与当前块对应的第一偏移量,然后便可以利用第一偏移量对当前块进行编解码处理,也就是说,在本技术中,基于预存索引序号与偏移量的对应关系,可以在确定出当前块的大小对应的mip块大小索引序号之后,直接获得与mip块大小索引序号对应的第一偏移量,从而在进行编解码处理时,降低mip算法的复杂度,能够在保证编解码性能的基础上,减小编解码过程中所需要的存储空间和整体时间,有效地提高编解码效率。
转载请注明原文地址:https://win.8miu.com/read-950248.html

最新回复(0)