预测值的确定方法、编码器、解码器以及计算机存储介质与流程
未命名
10-26
阅读:87
评论:0
1.本技术实施例涉及视频编码领域的帧内预测中基于矩阵的帧内预测技术(mip,matrix-based intra prediction),尤其涉及一种预测值的确定方法、编码器、解码器以及计算机存储介质。
背景技术:
2.目前,在视频编解码中,采用mip确定预测值时中涉及三个值,需要在进行预测值的计算时获取,分别是mip矩阵、加权参数和比特右移参数,现有的预测值的确定方法中为了保证数值范围的完整表示,比特右移参数的取值不能太大,这样,在确定预测值时预测输入值的取值区间过大,从而影响了预测值的预测精度,进而影响了编解码的效率,由此可以看出,现有视频编解码中的预测方法的预测精度低下。
技术实现要素:
3.本技术实施例提供一种预测值的确定方法、编码器、解码器以及计算机存储介质,能够提高视频编解码中的预测精度,提高编解码速率。
4.本技术实施例的技术方案可以如下实现:
5.第一方面,本技术实施例提供一种预测值的确定方法,所述方法应用于编码器中,所述方法包括:
6.获取当前块相邻像素的重建值;对所述相邻像素的重建值进行滤波处理,得到所述当前块的参考值集;当所述当前块的大小小于预设的阈值时,根据所述当前块中像素亮度分量的比特深度的取值,计算第一常数的取值;确定预测输入值集中的第一个预测输入值为所述第一常数的取值与所述参考值集中的第一个参考值的差值;根据所述参考值集,确定所述预测输入值集中除所述第一个预测输入值外的其他预测输入值;根据所述预测输入值集,计算所述当前块中特定位置像素的预测值;对所述特定位置像素的预测值进行滤波处理,得到所述当前块中全部像素的预测值。
7.第二方面,本技术实施例提供一种预测值的确定方法,所述方法应用于解码器中,所述方法包括:
8.解析码流,获得当前块的大小和编码模式;当所述当前块的编码模式是基于矩阵的帧内预测模式mip时,获取当前块相邻像素的重建值,对所述相邻像素的重建值进行滤波处理,得到所述当前块的参考值集;当所述当前块的大小小于预设的阈值时,根据所述当前块中像素亮度分量的比特深度的取值,计算第二常数的取值;确定预设输入值集中的第一个预测输入值为所述第二常数的取值与所述参考值集中的第一个参考值的差值;根据所述参考值集,确定所述预测输入值集中除所述第一个预测输入值外的其他预测输入值;根据所述预测输入值集,计算所述当前块中特定位置像素的预测值;对所述特定位置像素的预测值进行插值滤波,得到所述当前块中除了特定位置外其他位置像素的预测值。
9.第三方面,本技术实施例提供一种编码器,所述编码器包括:
10.第一获取模块,用于获取当前块相邻像素的重建值;第一处理模块,用于对所述相邻像素的重建值进行滤波处理,得到所述当前块的参考值集;第一计算模块,用于当所述当前块的大小小于预设的阈值时,根据所述当前块中像素亮度分量的比特深度的取值,计算第一常数的取值;第一确定模块,用于确定预设输入值集中的第一个预测输入值为所述第一常数的取值与所述参考值集中的第一个参考值的差值;第二计算模块,用于根据所述参考值集,确定所述预测输入值集中除所述第一个预测输入值外的其他预测输入值;第三计算模块,用于根据所述预测输入值集,计算所述当前块中特定位置像素的预测值;第二处理模块,用于对所述特定位置像素的预测值进行滤波处理,得到所述当前块中全部像素的预测值。
11.第四方面,本技术实施例提供一种解码器,所述解码器包括:
12.第二获取模块,用于解析码流,获得当前块的大小和编码模式;第三处理模块,用于当所述当前块的编码模式是基于矩阵的帧内预测模式mip时,获取当前块相邻像素的重建值,对所述相邻像素的重建值进行滤波处理,得到所述当前块的参考值集;第四计算模块,用于当所述当前块的大小小于预设的阈值时,根据所述当前块中像素亮度分量的比特深度的取值,计算第二常数的取值;第二确定模块,用于确定预设输入值集中的第一个预测输入值为所述第二常数的取值与所述参考值集中的第一个参考值的差值;第五计算模块,用于根据所述参考值集,确定所述预测输入值集中除所述第一个预测输入值外的其他预测输入值;第六计算模块,用于根据所述预测输入值集,计算所述当前块中特定位置像素的预测值;第四处理模块,用于对所述特定位置像素的预测值进行插值滤波,得到所述当前块中除了特定位置外其他位置像素的预测值。
13.第五方面,本技术实施例提供一种编码器,所述编码器包括:处理器以及存储有所述处理器可执行指令的存储介质,所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述一个或多个实施例所述的预测值的确定方法。
14.第六方面,本技术实施例提供一种解码器,所述解码器包括:处理器以及存储有所述处理器可执行指令的存储介质,所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述一个或多个实施例所述的预测值的确定方法。
15.第七方面,本技术实施例提供一种计算机可读存储介质,存储有可执行指令,当所述可执行指令被一个或多个处理器执行的时候,所述处理器执行上述一个或多个实施例所述的预测值的确定方法。
16.本技术实施例提供了一种预测值的确定方法、编码器、解码器以及计算机存储介质,该方法可以包括:编码器获取当前块相邻像素的重建值,对相邻像素的重建值进行滤波处理,得到当前块的参考值集,当当前块的大小小于预设的阈值时,根据当前块中像素亮度分量的比特深度的取值,计算第一常数的取值,确定预设输入值集中的第一个预测输入值为第一常数的取值与参考值集中的第一个参考值的差值,根据参考值集,确定预测输入值集中除第一个预测输入值外的其他预测输入值,根据预测输入值集,计算当前块中特定位置像素的预测值,对特定位置像素的预测值进行滤波处理,得到当前块中全部像素的预测值;也就是说,在本技术实施例中,通过计算出的第一常数,并将第一常数的取值与参考值集中的第一个参考值之差值确定为预测输入值集中的第一个预测输入值,并将预测输入值集用于计算当前块的预测值,能够有效地降低mip模式预测时预测输入值集的动态取值范
围,因此,与现有技术相比,在使用相同的比特数表示预测输入值集和mip矩阵的情况下,可以更加精确地表示动态范围中的数据,提高了mip模式下预测值计算过程中的精度,进而提高编码效率。
附图说明
17.图1为视频编码系统的结构示意图;
18.图2为视频解码系统的结构示意图;
19.图3为采用mip模式对像素进行编码的流程示意图;
20.图4为采用mip模式进行编码的流程示意图;
21.图5为本技术实施例提供的一种可选的预测值的确定方法的流程示意图;
22.图6为本技术实施例提供的另一种可选的预测值的确定方法的流程示意图;
23.图7为本技术实施例提供的一种可选的编码器的结构示意图;
24.图8为本技术实施例提供的一种可选的解码器的结构示意图;
25.图9为本技术实施例提出的另一种可选的编码器的结构示意图;
26.图10为本技术实施例提出的另一种可选的解码器的结构示意图。
具体实施方式
27.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。
28.在视频图像中,在最新的多功能视频编码(versatile video coding,vvc)中接受了由hhi在联合视频专家组(joint video explore team,jvet)-n0217中提出的affine linear weighted intra prediction,并更名为mip技术,该技术针对帧内亮度编码块大小的不同,在帧内亮度预测过程中增加了不同数量的基于矩阵的帧内预测模式。
29.其中,mip技术根据帧内亮度编码块的大小将亮度块分为三类,设亮度块大小为w*h,则按照亮度块的大小可以将亮度块分为三类:大小为4
×
4的亮度块为第一类亮度块的,大小为8
×
4,4
×
8和8
×
8的亮度块为第二类亮度快的,其他大小的亮度块为第三类亮度块。针对这三种类型的帧内亮度编码块,mip技术在67种传统帧内预测模式的基础上增加了m种mip模式。
30.图1为视频编码系统的结构示意图,如图1所示,该视频编码系统100包括变换与量化模块101、帧内估计模块102、帧内预测模块103、运动补偿模块104、运动估计模块105、反变换与反量化模块106、滤波器控制分析模块107、去方块滤波及样本自适应缩进(sao,sample adaptive offset)滤波模块108、头信息编码及基于上下文的自适应二进制算术编码(cabac,context-based adaptive binary arithmatic coding)编码模块109和解码图像缓存模块110等部件。
31.图2为视频解码系统的结构示意图,如图2所示,该视频解码系统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等部分处理,最终恢复出原来的视频图像。
32.本技术实施例提供的采用mip模式进行编解码时,确定预测值的方法主要应用于视频编码中的帧内预测模块103和和视频解码中的帧内预测模块203中,对编码端和解码端同时作用。
33.针对第一类亮度块,m=35,针对第二类亮度块,m=19,针对第三类亮度块,m=11。
34.具体来说,mip技术只应用于帧内亮度预测,与传统模式相同,mip预测的输入也为当前块(相当于下述待编码图像块)的上一行和左一列数据,输出为当前块的预测值,具体的预测过程分为三步:平均,矩阵向量乘法和插值,也就是说,通过对输入的上一行和左一列相邻像素点的重建亮度值进行这三步操作,就可以得到当前块的亮度预测值。
35.图3为采用mip模式对像素进行编码的流程示意图,如图3所示,具体实现如下:
36.第一步:对当前亮度块的上侧相邻参考点进行平均操作获得向量redt,共n个值;对当前亮度块的左侧相邻参考点进行平均操作获得向量redl,共n个值。当亮度块大小为第一类块时,n=2;当亮度块大小为第二类或第三类块时,n=4。向量redt和向量redl组成一个新的向量ptemp并进行后续操作;
37.第二步:获取矩阵mweight,加权参数fo和比特右移参数sw,通过下列公式计算获得如图3中用交叉线标识的当前块的部分预测值:
[0038][0039][0040]
其中,当mipsizeid=0或者1时,采用下列公式计算:
[0041]
p[0]=ptemp[0]-(1《《(bitdepth-1))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0042]
p[i]=ptemp[i]-ptemp[0] i=1,...,insize-1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0043]
当mipsizeid=2时,采用下列公式计算:
[0044]
p[i]=ptemp[i+1]-ptemp[0] i=0,...,insize-2
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0045]
其中,predmip[x,y]为(x,y)像素位置的预测值;ptemp[i]为采用mip模式进行预测时当前块的参考值集中第i个参考值,p[x]为采用mip模式进行预测时第i个预测输入值;insize是根据mip的模式序号mipsizeid确定的,当mipsizeid的取值等于0时,insize的取值等于4,当mipsizeid的取值等于1,insize的取值等于8,当mipsizeid的取值等于2时,insize的取值等于7,mipsizeid的取值根据当前块大小确定,当当前块大小为4x4时,mipsizeid的取值等于0,当当前块大小为4x8、8x4或者8x8时,mipsizeid的取值等于1,当当前块大小大于8x8时,mipsizeid的取值等于2,bitdepth是亮度分量的比特深度(bit depth,即使用多少位二进制数表示亮度分量采样值sample),mweight表示mip矩阵,predc、inch和incw用于确定对应于(x,y)像素位置的矩阵元素的参数,“》》”为比特右移操作符,ow表示比特右移操作中使用的移位偏移量,sw表示比特右移位数,fo表示加权参数,sw和fo至少可以根据当前块大小或mipsizeid的取值确定,例如使用与mipsizeid取值相关的映射表确定sw和fo的值,该映射表中记录的至少在不同mipsizeid取值下sw和fo的取值。
[0046]
第三步:通过线性插值,获得当前块中剩余的预测值,即可获得如图3中用多个小圆点标识的当前块的部分预测值。
[0047]
可见,在mip技术中涉及三个值需要在确定预测值的过程中获取,分别是mweight、fo和sw,其中,mweight的值与预测模式、像素空间位置都相关,而fo和sw都仅与预测模式相关。而p[i]是通过公式(3)、(4)和(5)计算得到的,mweight的值和fo都是以无符号7位二进制数字保存。sw是对应于预测模式的偏移,依据预测模式(如下表1所示),取值为5,6,7之一,通过查表1得出,计算矩阵向量乘积可得到该像素的像素值,最终整体存储器需求为4.5395千字节。
[0048]
表1
[0049][0050]
在采用mip模式进行预测时,对于当前块来说,首先确定所使用模式的索引,根据该模式索引,通过查表得到一个用于当前块的固定的sw值,而后mweight-fo,再经过右移sw位得到原始浮点数矩阵用于预测值的计算,图4为采用mip模式进行编码的流程示意图,如图4所示:
[0051]
首先,获取mip模式的索引号,然后,根据mip的模式索引号,从映射表中获取机器训练出的mweight和fo,根据mip的模式索引号,从映射表中获取sw,最后,执行(mweight[x][y]-fo)》》sw进行预测,得到预测值。
[0052]
也就是说,现有vvc中的mip技术,mweight的所有数值的原始浮点数mweightf[x][y],是以从其最小值(常常为负值,以fo表示)起始的偏移量的定点化值表示:
[0053]
mweight[x][y]=(mweightf[x][y]+fo)《《sw
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0054]
其中,mweight[x][y]是以无符号7位二进制数字保存,导致其表示精度会有一定损失,这里sw越大,精度越高,但为保证数值范围的完整表示,sw的取值不能太大,由于在整个矩阵中无差别使用同一个sw值,使得原本取值范围较小的参数也不得不进一步降低表示精度,以适应整个矩阵中所有参数共同的取值变化范围,原始矩阵中的参数的变化范围,与p[i]数据的获取方式也有关联。现有方法中对p[i]数据的计算方式造成了参数变化范围的扩大,降低了权重矩阵中的数据的精度,增大了mip模式的预测差,降低了编码效率。
[0055]
为了提高mip模式的预测精度,以提高编码效率,本技术实施例提供一种预测值的确定方法,图5为本技术实施例提供的一种可选的预测值的确定方法的流程示意图,参考图5所示,该方法应用于一编码器中,该方法可以包括:
[0056]
s501:获取当前块相邻像素的重建值;
[0057]
具体来说,编码器在编码的过程中,为了确定出当前块的预测值,首先需要获取当前块相邻像素的重建值,这里相邻像素包括当前块的上一行像素位置的重建值和左一列像素位置的重建值。
[0058]
s502:对相邻像素的重建值进行滤波处理,得到当前块的参考值集;
[0059]
在获取到相邻像素的重建值之后,例如,获取到的上一行像素的重建值为redt,共n个值,左一列像素的重建值为redl,共n个值,redt和redl组成一个新的向量ptemp作为当
前块的参考值集。为了经过滤波处理得到当前块的参考值集,在一种可选的实施例中,s502可以包括:
[0060]
对相邻像素的重建值分成n个组,计算各组中相邻像素的重建值的均值,将均值作为参考值集中的参考值,n为正整数。
[0061]
其中,将n设置为预先设定的当前块大小对应的正整数值。也就是说,s502中对相邻像素的重建值进行滤波处理的过程,具体可以为:先将redt和redl分成n个组,然后对每一组求均值,得到n个均值,将n个均值作为参考集中的参考值。
[0062]
举例来说,当当前块大小为4x4时,insize的取值等于4,当当前块大小为4x8、8x4或8x8时,insize的取值等于8,当当前块大小大于8x8时,insize的取值等于7。
[0063]
s503:当当前块的大小小于预设的阈值时,根据当前块中像素亮度分量的比特深度的取值,计算第一常数的取值;
[0064]
在实际应用中,当当前块的大小可以用mipsizeid表示时,mipsizeid为小于2的数时,即mipsizeid等于0或者1时,先根据当前块中像素亮度分量的比特深度的取值,计算第一常数的取值。
[0065]
为了计算得到第一常数的取值,在一种可选的实施例中,s503可以包括:
[0066]
将第一常数的取值设置为对数值1进行二进制比特左移操作后的取值,其中,二进制比特左移操作使用的左移位数等于比特深度的取值减1。
[0067]
具体来说,第一常数的取值为对1进行左移后的值,且左移位数为比特深度减1。
[0068]
s504:确定预测输入值集中的第一个预测输入值为第一常数的取值与参考值集中的第一个参考值的差值;
[0069]
其中,预测输入值集用于根据mip计算当前块的预测值;通过s504计算得到第一常数之后,可以将第一常数的取值与参考值中的第一个参考值之差,确定出第一个预测输入值,可以采用下列公式计算得到第一个预测输入值p[0]:
[0070]
p[0]=(1《《(bitdepth-1)-ptemp[0])
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0071]
s505:根据参考值集,确定预测输入值集中除第一个预测输入值外的其他预测输入值;
[0072]
其中,其他预测输入值p[i]包括当前块的大小小于预设阈值时除第一个预测输入值以外的预测输入值,其他预测输入值p[i]还可以包括当前块的大小大于等于预设阈值时的预测输入值,可以采用下列公式计算得到:
[0073]
p[i]=ptemp[i+1]-ptemp[0] i=1,
…
,insize-1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0074]
s506:根据预测输入值集,计算当前块中特定位置像素的预测值;
[0075]
具体来说,在确定出所有的预测输入值,可以得到预测输入值集,根据预测输入值集,就可以进行预测,得到当前块中特定位置像素的预测值,例如,图3中用交叉线标识的像素位置的预测值。
[0076]
为了确定出当前块中特定位置像素的预测值,在一种可选的实施例中,s506可以包括:
[0077]
从预先存储的一个或多个映射表中,确定当前块的mip矩阵、当前块的比特右移参数和当前块的加权参数;根据输入值集、当前块的mip矩阵、当前块的比特右移参数和当前块的加权参数,计算所当前块中特定像素位置的预测值。
[0078]
也就是说,在编码器中预先存储有一个或多个映射表,通过一个或多个映射表,可以确定出当前块的mip矩阵,用mweight表示,当前块的比特右移参数sw,以及当前块的加权参数fo。
[0079]
其中,sw和fo至少可以根据当前块大小或mipsizeid的取值确定,例如使用与mipsizeid取值相关的映射表确定sw和fo的值,该映射表中记录的至少在不同mipsizeid取值下sw和fo的取值。
[0080]
需要说明的是,上述映射表中的数值是常数,即在mip预测值的计算过程中不更新映射表中的数值,映射表中的常数数值可以根据上述公式(7)的计算方式,使用离线训练的方法获得;可选地,映射表中的常数数值可以根据上述公式(7)的计算方式,从其他不同的p[0]计算方式对应的映射表推导得到。特别地,在本技术实施例中,从vvccd的mip映射表推导得到的映射表如下:
[0081]
如果mipsizeid=0,modeid=0;mweight[x][y]=
[0082]
{
[0083]
{31,59,77,28},{36,92,85,25},{37,69,100,24},{35,36,106,29},{44,49,104,48},{44,21,94,59},{39,0,80,72},{33,2,66,84},{36,13,35,99},
[0084]
{29,11,34,103},{23,21,34,106},{17,24,40,105},{18,28,43,101},{12,32,49,101},{7,31,53,102},{7,32,54,100}
[0085]
},
[0086]
如果mipsizeid=0,modeid=1;mweight[x][y]=
[0087]
{{22,14,70,0},{24,17,53,5},{28,70,32,12},{40,82,11,19},{20,17,63,52},{22,17,46,63},{25,21,29,71},{30,25,16,74},{20,19,16,85},{21,19,17,85},{20,18,20,83},{20,18,23,82},{20,19,22,80},{20,18,22,80},{20,20,22,80},{21,21,22,80}},
[0088]
如果mipsizeid=0,modeid=2;mweight[x][y]=
[0089]
{{6,7,62,10},{7,0,33,9},{7,12,2,6},{7,63,3,6},{7,7,73,6},{7,8,71,9},{7,1,50,9},{7,9,14,7},{6,7,55,22},{7,7,72,5},{7,9,74,7},{7,3,62,9},{8,6,2,77},{7,6,33,45},{7,7,62,14},{7,8,70,8}},
[0090]
如果mipsizeid=0,modeid=3;mweight[x][y]=
[0091]
{{32,32,54,34},{32,38,34,34},{32,94,38,30},{34,110,40,28},{32,30,80,32},{32,52,56,30},{34,106,48,30},{44,104,38,40},{32,30,56,72},{48,64,38,80},{68,90,20,86},{76,78,8,90},{50,32,0,122},{76,68,4,106},{86,74,8,96},{82,74,8,94}},
[0092]
如果mipsizeid=0,modeid=4;mweight[x][y]=
[0093]
{{27,19,44,22},{27,35,23,27},{26,88,29,28},{28,91,27,27},{32,21,87,25},{35,22,46,20},{32,69,26,20},{29,87,29,23},{32,23,40,81},{44,16,46,66},{53,17,17,50},{46,37,3,40},{31,25,21,92},{36,24,24,91},{43,16,23,88},{52,11,0,81}},
[0094]
如果mipsizeid=0,modeid=5;mweight[x][y]=
[0095]
{{24,24,82,26},{24,22,76,26},{24,32,66,24},{24,58,56,24},{24,26,88,
22},{24,28,88,26},{26,26,88,26},{24,26,86,28},{24,26,72,40},{24,26,84,24},{22,28,86,22},{26,34,82,24},{26,24,0,110},{26,24,14,98},{42,26,44,62},{80,38,76,8}},
[0096]
如果mipsizeid=0,modeid=6;mweight[x][y]=
[0097]
{{20,22,48,19},{22,20,43,18},{21,35,35,19},{30,62,25,17},{21,22,47,29},{22,21,48,27},{23,31,45,24},{55,44,24,8},{21,21,25,48},{18,23,25,51},{39,19,23,38},{76,27,22,0},{22,21,20,53},{23,19,18,54},{60,5,12,35},{77,25,19,3}},
[0098]
如果mipsizeid=0,modeid=7;mweight[x][y]=
[0099]
{{13,10,73,12},{13,3,54,15},{13,0,29,14},{13,22,13,13},{13,13,80,10},{14,14,86,7},{15,11,84,8},{14,3,68,11},{13,12,30,59},{14,10,45,43},{15,11,63,26},{17,11,75,15},{16,10,6,83},{18,9,6,83},{19,8,9,78},{24,5,21,63}},
[0100]
如果mipsizeid=0,modeid=8;mweight[x][y]=
[0101]
{{24,22,74,30},{24,20,22,44},{26,68,6,32},{26,90,20,28},{24,26,46,66},{24,20,36,74},{24,44,10,58},{38,82,6,30},{24,24,34,76},{24,24,40,74},{24,26,32,78},{86,42,10,32},{26,22,38,74},{22,26,38,74},{40,16,36,72},{118,0,34,32}},
[0102]
如果mipsizeid=0,modeid=9;mweight[x][y]=
[0103]
{{14,39,85,0},{15,49,42,39},{17,30,22,66},{17,18,19,74},{18,19,24,73},{17,11,13,83},{17,12,18,78},{17,15,19,75},{16,15,14,78},{16,16,19,75},{17,17,18,75},{18,17,18,75},{16,16,19,75},{17,16,18,76},{17,16,18,76},{18,16,19,75}},
[0104]
如果mipsizeid=0,modeid=10;mweight[x][y]=
[0105]
{{26,24,57,22},{30,14,30,24},{28,61,25,25},{26,100,29,27},{29,27,92,30},{31,19,72,25},{40,15,37,21},{46,70,24,18},{29,26,30,89},{30,26,34,87},{41,14,27,81},{67,12,0,65},{29,26,24,92},{29,27,24,92},{28,29,27,93},{36,22,25,89}},
[0106]
如果mipsizeid=0,modeid=11;mweight[x][y]=
[0107]
{{21,19,60,7},{26,12,35,9},{26,14,27,11},{22,50,24,13},{24,18,75,38},{29,16,60,39},{38,6,30,41},{41,0,3,45},{22,19,21,84},{23,19,21,85},{25,20,22,84},{28,18,16,83},{20,20,20,83},{20,21,21,82},{19,21,21,83},{19,22,22,82}},
[0108]
如果mipsizeid=0,modeid=12;mweight[x][y]=
[0109]
{{16,14,75,3},{16,43,57,16},{18,63,20,43},{14,46,0,65},{15,20,54,52},{15,22,23,76},{13,17,15,83},{10,17,17,82},{14,17,11,84},{12,18,14,83},{11,20,16,81},{9,21,16,81},{12,18,18,80},{10,19,17,81},{9,20,16,82},{8,20,16,82}},
[0110]
如果mipsizeid=0,modeid=13;mweight[x][y]=
[0111]
{{7,6,82,0},{7,4,83,0},{7,2,83,0},{7,3,80,0},{7,8,59,16},{7,8,58,17},{7,8,58,17},{7,7,57,18},{7,7,7,70},{7,7,7,71},{7,7,6,71},{7,8,7,70},{6,7,8,71},{6,7,8,70},{6,7,8,70},{6,7,9,69}},
[0112]
如果mipsizeid=0,modeid=14;mweight[x][y]=
[0113]
{{21,16,39,18},{19,35,27,17},{19,56,17,28},{30,46,8,40},{17,26,47,25},{21,40,24,40},{41,31,9,46},{57,13,10,41},{22,25,15,55},{49,14,12,46},{65,3,18,36},{63,4,19,35},{49,8,13,46},{65,0,19,33},{63,1,19,35},{61,3,18,36}},
[0114]
如果mipsizeid=0,modeid=15;mweight[x][y]=
[0115]
{{23,43,54,26},{23,56,50,24},{22,57,49,25},{23,61,47,24},{24,51,57,20},{21,55,51,27},{23,56,52,24},{24,59,51,23},{23,43,60,24},{27,55,58,12},{23,58,52,23},{24,59,52,23},{64,26,13,80},{89,48,51,0},{43,57,59,7},{24,57,54,22}},
[0116]
如果mipsizeid=0,modeid=16;mweight[x][y]=
[0117]
{{20,20,51,22},{21,22,51,22},{21,29,50,22},{21,32,48,22},{21,23,53,22},{21,24,53,22},{21,23,53,22},{21,24,53,22},{18,24,47,28},{18,24,48,27},{19,25,48,26},{20,25,48,26},{30,16,0,71},{35,14,1,67},{38,14,2,64},{38,13,4,63}},
[0118]
如果mipsizeid=0,modeid=17;mweight[x][y]=
[0119]
{{25,21,34,25},{27,34,3,39},{30,55,24,23},{26,41,40,18},{28,22,13,48},{44,38,6,29},{35,44,43,10},{25,30,45,21},{35,29,12,44},{56,34,31,2},{33,30,47,14},{24,28,44,25},{39,37,33,19},{48,29,40,0},{31,25,44,19},{25,28,44,24}},
[0120]
如果mipsizeid=1,modeid=0;mweight[x][y]=
[0121]
{{18,22,18,20,72,43,9,19},{18,8,22,26,56,58,5,20},{19,21,10,35,35,72,3,20},{21,21,21,29,18,78,7,18},{19,16,16,19,3,70,46,8},{21,18,15,20,4,58,61,4},{25,16,18,18,8,42,73,3},{28,14,20,18,13,30,76,6},{20,18,17,17,19,4,69,40},{24,18,17,16,19,3,55,51},{30,14,18,15,17,5,39,63,{31,14,18,16,16,8,28,70},{22,15,18,16,16,20,2,92},{26,14,18,15,15,19,0,91},{29,15,18,16,14,19,3,88},{29,16,17,17,15,17,7,84}},
[0122]
如果mipsizeid=1,modeid=1;mweight[x][y]=
[0123]
{{20,35,18,20,58,35,18,20},{20,75,26,19,32,31,20,20},{21,6,93,22,20,25,21,20},{24,25,0,99,18,21,21,18},{20,28,20,20,8,78,30,19},{20,67,22,20,10,59,27,19},{22,7,93,18,15,30,25,20},{26,25,1,97,20,18,22,18},{20,28,19,20,15,14,81,25},{20,59,20,20,12,22,65,23},{23,7,93,16,14,24,34,22},{30,24,3,95,19,20,20,18},{20,29,20,20,14,23,8,90},{20,51,19,21,14,19,15,77},{24,7,88,16,14,20,21,43},{33,22,6,91,19,18,20,21}},
[0124]
如果mipsizeid=1,modeid=2;mweight[x][y]=
[0125]
{{10,19,10,12,81,14,10,11},{10,26,15,10,79,6,12,11},{11,16,31,12,69,2,14,10},{11,13,8,44,54,3,14,10},{11,11,12,11,1,83,13,9},{11,12,12,12,11,83,4,12},{11,15,11,13,24,77,0,12},{11,14,13,16,38,63,2,12},{11,12,11,11,14,2,82,12},{11,13,12,12,10,14,79,5},{11,12,12,13,6,29,70,3},{11,12,11,16,3,45,55,4},{11,12,11,12,10,12,1,84},{11,13,11,12,12,8,13,76},{11,12,12,13,14,3,29,64},
{11,13,10,17,15,0,45,49}},
[0126]
如果mipsizeid=1,modeid=3;mweight[x][y]=
[0127]
{{21,50,24,20,19,38,22,24},{22,53,41,23,14,22,27,27},{22,22,66,37,19,17,25,28},{27,19,12,92,19,18,21,28},{21,51,25,20,19,23,48,27},{21,41,48,24,17,11,36,37},{24,17,58,43,14,17,23,39},{39,22,4,91,15,20,16,33},{20,44,27,21,16,20,35,54},{22,31,53,24,13,19,21,55},{30,14,47,50,10,20,16,48},{57,28,0,82,19,14,18,30},{22,34,30,21,15,22,21,70,{24,22,52,26,12,24,16,61},{38,17,33,56,14,18,16,49},{66,32,0,75,26,4,22,30}},
[0128]
如果mipsizeid=1,modeid=4;mweight[x][y]=
[0129]
{{18,32,15,16,60,34,10,19},{18,68,28,13,31,37,11,17},{19,8,73,23,15,30,22,14},{19,18,0,85,11,17,33,15},{18,18,19,17,9,56,56,9},{19,19,20,16,13,30,73,12},{19,20,20,18,13,13,71,28},{18,18,16,26,12,8,54,47},{17,16,17,17,17,10,54,51},{16,17,16,18,16,15,28,73},{16,18,15,18,16,20,14,83},{15,19,17,18,15,21,14,82},{16,17,16,18,17,18,7,90},{15,18,16,19,16,17,11,87},{14,18,16,20,17,15,15,84},{13,19,16,22,17,15,18,81}},
[0130]
如果mipsizeid=1,modeid=5;mweight[x][y]=
[0131]
{{11,6,13,11,75,6,12,11},{12,3,8,13,48,2,13,10},{12,45,1,13,19,9,12,10},{12,42,37,8,10,12,11,10},{11,11,10,12,18,74,6,11},{11,12,10,12,53,47,2,12},{12,6,10,12,71,16,9,11},{12,15,6,13,53,5,13,10},{12,12,10,11,9,17,77,5},{12,11,9,12,3,51,50,2},{12,11,9,12,11,72,18,8},{12,11,9,12,36,57,7,10},{12,10,10,11,10,10,16,71},{13,11,10,11,14,0,56,39},{13,11,9,12,12,8,76,13},{13,12,9,12,8,35,57,7}},
[0132]
如果mipsizeid=1,modeid=6;mweight[x][y]=
[0133]
{{23,21,23,23,101,30,19,25},{24,13,23,24,101,29,19,25},{24,24,14,23,101,29,18,24},{24,23,25,17,98,29,18,24},{23,24,23,23,0,97,36,17},{24,25,24,22,1,97,35,17},{24,22,25,23,1,96,36,17},{24,22,23,24,3,94,36,17},{24,23,23,22,31,0,93,34},{24,23,24,23,31,2,93,33},{24,22,24,23,31,1,92,34},{24,22,23,23,30,3,90,35},{23,24,23,23,19,31,2,102},{23,23,23,24,19,30,3,101},{23,23,24,24,19,30,3,101},{23,23,23,24,19,31,4,100}}
[0134]
如果mipsizeid=1,modeid=7;mweight[x][y]=
[0135]
{{10,5,10,10,56,4,11,9},{11,22,6,10,13,9,10,10},{11,67,22,6,10,10,10,10},{11,6,68,18,11,9,11,9},{10,10,10,10,40,53,3,11},{11,6,10,9,61,9,10,9},{11,17,6,10,23,7,9,10},{11,56,15,8,10,11,9,10},{10,9,11,9,4,42,54,3},{11,10,11,9,22,67,8,8},{10,7,11,9,57,23,7,10},{11,11,10,10,36,8,10,9},{10,10,11,9,13,0,41,50},{11,9,11,9,8,24,64,8},{10,10,11,9,15,63,18,10},{11,10,11,10,44,33,10,11}},
[0136]
如果mipsizeid=1,modeid=8;mweight[x][y]=
[0137]
{{21,44,37,20,24,68,10,23},{21,1,55,39,14,39,41,18},{21,25,0,68,18,18,42,39},{22,24,19,36,19,14,25,72},{21,11,28,30,18,23,80,19},{22,25,8,38,21,
13,45,62},{22,22,18,25,19,18,16,90},{23,21,21,24,19,21,12,91},{21,22,15,28,21,20,23,82},{22,21,19,24,20,22,9,95},{23,21,21,22,20,21,13,92},{23,22,21,22,19,21,15,90},{22,21,20,22,21,22,15,90},{22,21,21,22,20,21,16,89},{23,21,20,23,19,22,15,89},{24,21,20,23,19,23,15,87}},
[0138]
如果mipsizeid=1,modeid=9;mweight[x][y]=
[0139]
{{8,15,18,15,51,68,39,23},{7,4,10,20,22,76,51,27},{7,16,1,17,13,78,55,29},{7,13,24,0,12,76,55,27},{7,8,10,14,10,66,72,25},{6,12,8,14,12,59,75,27},{5,13,9,12,13,58,75,28},{4,14,8,13,14,60,71,29},{7,10,11,12,12,42,79,41},{4,14,8,14,13,45,79,39},{3,14,8,14,12,44,81,38},{2,15,10,14,13,45,78,36},{7,11,12,13,13,24,73,62},{4,15,8,13,15,28,89,43},{1,14,10,14,16,29,85,45},{1,16,9,15,17,33,78,46}},
[0140]
如果mipsizeid=2,modeid=0;mweight[x][y]=
[0141]
{{46,7,14,92,23,20,10},{32,22,17,52,50,25,12},{1,36,21,27,61,30,14},{0,30,27,17,61,32,17},{13,12,37,13,59,35,18},{14,13,38,11,56,38,18},{10,27,29,9,55,39,17},{10,27,32,7,53,38,17},{8,17,14,15,92,27,13},{2,16,18,8,84,38,15},{4,12,22,7,76,44,17},{8,8,25,7,72,46,18},{8,8,26,8,69,46,19},{10,11,23,9,68,47,17},{10,11,23,8,67,47,18},{10,12,26,9,64,43,20},{7,10,16,11,86,37,17},{7,9,18,9,73,47,20},{8,8,21,9,67,50,22},{7,9,22,9,66,50,22},{7,9,23,8,67,48,22},{8,9,24,8,67,48,21},{8,9,26,8,66,49,20},{9,8,29,8,64,48,20},{8,8,16,8,69,56,19},{6,9,17,8,64,55,25},{7,8,19,8,62,53,27},{7,8,21,8,61,52,28},{7,9,22,7,62,52,25},{7,9,23,6,62,53,24},{8,7,26,6,62,52,23},{8,8,28,6,61,51,22},{7,9,14,7,49,74,23},{7,7,17,7,51,65,30},{7,8,18,6,53,57,33},{7,8,20,5,56,57,31},{7,8,22,6,56,57,29},{8,8,23,5,57,57,27},{8,7,26,5,57,56,26},{8,6,27,5,57,55,25},{7,8,14,6,36,65,47},{7,7,18,5,44,59,44},{7,7,19,5,47,59,40},{7,7,20,5,50,59,35},{8,6,22,5,51,58,33},{8,5,25,5,51,59,30},{7,6,26,5,51,59,29},{9,6,27,5,50,59,28},{7,8,14,6,27,44,76},{6,8,16,5,38,57,53},{6,7,19,4,44,63,40},{7,6,21,4,47,62,37},{8,6,22,4,47,62,35},{8,6,24,5,46,64,32},{8,6,26,5,46,63,31},{8,6,28,6,45,62,30},{8,7,15,6,22,43,81},{6,8,16,5,32,64,51},{8,8,19,5,37,66,41},{9,5,21,4,41,67,36},{8,7,22,5,42,65,35},{8,6,25,6,42,64,34},{9,5,27,7,43,63,32},{9,5,29,8,40,60,34}},
[0142]
如果mipsizeid=2,modeid=1;mweight[x][y]=
[0143]
{{50,47,46,61,50,45,46},{59,49,47,57,51,45,46},{64,52,48,55,51,46,46},{58,61,50,53,51,46,46},{52,66,53,52,51,46,46},{48,62,62,50,51,46,46},{47,49,76,49,51,46,46},{45,33,92,49,52,46,46},{50,48,46,57,63,45,46},{55,52,48,55,63,45,46},{57,56,50,53,63,45,46},{55,60,53,51,63,46,46},{51,60,59,51,63,46,46},{48,55,69,49,63,46,46},{46,42,84,48,62,46,46},{43,28,99,48,61,47,46},{49,49,47,48,73,47,46},{52,52,49,47,73,48,46},{52,55,53,47,72,48,46},{51,56,58,46,72,48,46},{48,54,65,46,71,48,46},{46,47,76,45,71,49,46},{44,34,91,44,70,49,46},{41,23,04,45,68,50,46},{48,48,48,44,68,59,45},{50,51,51,43,69,58,
45},{49,52,56,43,68,58,45},{48,52,62,42,68,58,45},{45,48,71,42,68,58,45},{43,38,84,41,68,59,45},{41,27,98,41,67,59,45},{38,19,109,42,66,59,45},{47,47,49,44,52,74,45},{48,48,53,43,54,74,45},{47,48,60,43,55,73,45},{45,46,68,43,55,73,45},{43,40,78,42,56,72,45},{41,30,91,42,57,72,45},{38,20,105,41,57,71,45},{36,13,114,41,57,70,46},{46,47,50,45,43,77,51},{46,46,56,44,44,78,51},{45,43,64,43,45,77,51},{43,39,73,43,45,77,51},{40,31,85,42,46,77,51},{38,22,98,42,46,77,51},{35,12,111,42,47,76,51},{33,7,19,41,48,75,52},{46,46,51,45,44,57,71},{45,43,59,44,44,58,70},{43,37,68,43,45,58,70},{40,31,80,43,45,58,70},{38,22,92,43,46,58,70},{36,13,105,43,46,58,70},{33,5,117,42,47,58,70},{31,2,123,42,48,57,71},{45,41,55,45,51,24,96},{44,36,64,44,52,23,97},{42,29,75,43,53,23,97},{39,22,86,43,52,24,97},{37,14,98,43,53,24,97},{34,7,109,42,53,25,97},{32,1,118,41,53,25,97},{30,0,123,41,53,26,96}},
[0144]
如果mipsizeid=2,modeid=2;mweight[x][y]=
[0145]
{{20,16,16,76,9,8,16},{37,15,16,71,11,17,16},{65,13,17,67,12,17,16},{63,30,15,63,14,17,16},{30,62,13,57,16,17,16},{14,62,28,52,18,16,16},{21,22,64,46,21,15,16},{26,0,81,40,24,15,17},{23,16,16,69,48,8,18},{28,18,16,66,50,8,17},{36,17,17,61,54,7,18},{40,20,17,56,57,7,18},{34,29,18,50,61,6,18},{27,34,22,44,64,5,18},{25,22,37,37,67,5,18},{26,9,51,31,68,6,18},{18,17,17,17,87,9,17},{19,17,17,15,88,9,17},{20,18,17,14,88,10,17},{22,17,18,12,87,12,17},{23,18,19,11,85,15,16},{23,20,19,11,83,18,16},{22,19,22,10,79,22,16},{22,16,28,11,74,26,15},{16,17,16,7,58,50,10},{17,17,16,8,53,55,10},{18,17,17,10,47,60,9},{18,16,17,11,43,64,9},{19,16,17,12,38,68,9},{20,17,18,13,35,72,9},{20,17,19,14,31,74,9},{20,16,21,13,29,74,11},{17,16,16,16,15,86,11},{18,15,17,16,13,86,13},{18,16,16,16,13,84,15},{18,15,17,16,12,82,18},{19,16,17,16,12,79,21},{18,16,17,16,12,76,24},{18,16,17,15,12,73,28},{19,16,19,15,14,68,31},{17,17,16,17,10,59,43},{17,16,16,17,10,54,47},{18,16,16,17,11,48,52},{18,16,16,16,12,44,56},{17,17,16,16,13,40,59},{17,17,16,16,13,37,62},{17,17,17,15,14,34,65},{18,16,18,16,14,32,66},{17,16,16,15,16,17,79},{17,16,16,16,16,15,81},{18,16,16,16,16,14,82},{18,16,16,15,16,13,83},{17,18,16,15,16,13,83},{17,17,17,15,16,13,84},{17,17,17,15,16,13,84},{17,16,18,15,16,13,83},{16,16,16,16,17,3,92},{17,16,16,15,17,4,91},{18,17,17,14,18,4,90},{18,17,16,14,18,4,91},{17,18,16,15,18,4,91},{17,18,17,15,18,4,90},{17,17,18,14,18,4,90},{18,16,19,15,18,5,89}},
[0146]
如果mipsizeid=2,modeid=3;mweight[x][y]=
[0147]
{{13,9,10,43,11,12,9},{43,2,11,22,15,12,10},{73,2,11,16,16,12,9},{52,38,5,13,16,12,10},{11,71,6,12,14,13,10},{3,50,35,10,14,13,9},{11,12,68,11,13,13,10},{13,3,74,12,11,15,10},{20,9,10,51,29,11,10},{41,5,10,37,26,13,10},{58,9,10,23,27,14,9},{41,36,6,15,24,16,10},{14,57,11,11,21,18,9},{7,39,37,9,18,19,9},{12,9,63,10,15,20,9},{15,2,68,11,12,21,10},{16,11,11,19,60,11,11},{27,
11,11,20,50,16,10},{35,15,11,17,42,20,10},{29,29,11,12,35,23,10},{17,37,18,8,29,26,9},{13,26,35,6,24,27,9},{15,8,53,7,19,27,10},{16,4,57,9,14,28,11},{12,11,11,5,51,36,8},{15,13,12,8,45,36,9},{19,16,14,9,38,38,9},{19,21,16,8,32,39,10},{18,22,21,7,27,39,10},{18,16,31,7,22,39,11},{18,9,41,6,18,39,11},{19,7,44,7,15,37,13},{11,12,11,9,18,64,10},{11,12,13,10,18,61,11},{13,13,15,10,17,58,12},{15,14,17,10,16,56,13},{17,14,20,9,14,55,13},{18,11,26,9,13,52,14},{19,9,31,8,11,50,15},{19,9,33,8,10,46,17},{10,11,12,11,4,59,28},{11,10,13,11,4,60,26},{12,10,15,11,5,59,25},{14,10,16,11,5,58,24},{15,10,18,11,4,57,24},{17,9,21,11,4,56,24},{19,9,23,10,4,53,24},{19,9,26,10,5,49,25},{10,10,12,11,5,27,60},{11,8,14,11,3,34,54},{13,8,15,12,2,38,50},{13,8,15,13,1,41,47},{15,8,17,13,0,42,45},{16,8,18,13,0,44,43},{18,8,19,12,0,44,41},{19,9,21,12,1,43,39},{11,8,12,11,6,9,77},{13,7,13,12,4,16,72},{15,6,14,13,2,21,67},{15,6,14,13,1,25,63},{15,7,15,14,0,27,61},{16,8,15,14,0,29,58},{17,8,17,14,0,29,56},{18,8,18,14,1,30,53}},
[0148]
如果mipsizeid=2,modeid=4;mweight[x][y]=
[0149]
{{15,13,13,55,12,13,13},{21,13,13,34,14,13,13},{39,12,13,22,14,13,13},{55,18,12,18,14,14,13},{48,37,11,16,14,14,13},{23,62,13,14,14,13,13},{11,53,35,14,14,13,12},{15,13,72,14,14,13,12},{16,13,13,63,27,12,13},{17,13,13,58,19,13,13},{22,13,13,43,18,13,13},{33,14,12,31,17,14,13},{45,18,12,24,16,14,12},{44,32,12,19,15,14,13},{29,49,15,17,14,14,12},{18,44,33,16,15,13,12},{15,13,13,32,60,10,13},{16,13,13,45,44,12,13},{17,14,13,49,32,13,12},{21,14,13,44,25,14,12},{30,14,13,37,21,14,12},{39,16,13,30,18,14,12},{39,27,13,24,17,14,12},{31,38,16,21,17,13,12},{13,13,13,13,64,27,11},{14,13,13,23,61,19,12},{15,14,13,34,51,16,12},{17,14,13,40,42,15,12},{20,14,13,40,34,14,12},{27,14,13,37,29,14,12},{33,16,13,32,25,13,12},{33,24,14,27,23,13,12},{13,13,13,13,33,61,9},{13,13,13,15,47,44,10},{14,13,13,20,54,31,11},{15,13,13,27,53,23,11},{16,14,13,32,49,18,12},{19,14,13,34,43,15,12},{24,14,13,34,37,14,12},{28,17,13,31,32,14,12},{13,14,13,15,10,71,20},{13,13,13,15,22,66,13},{14,13,13,15,37,53,11},{14,13,13,18,47,40,11},{14,13,13,23,52,29,11},{15,14,13,27,51,23,11},{18,14,13,30,47,19,11},{22,15,13,30,42,17,12},{13,13,13,14,12,34,57},{13,13,13,15,14,50,38},{13,13,13,15,21,58,23},{14,13,13,16,32,54,16},{13,13,13,18,41,45,13},{13,14,13,21,47,36,12},{14,14,13,24,49,28,12},{17,14,13,26,46,24,12},{13,13,13,13,19,0,85},{13,13,13,13,20,12,72},{13,13,13,15,20,30,53},{13,13,13,16,23,44,35},{13,14,12,17,29,47,24},{13,14,13,18,36,44,18},{13,14,13,20,41,38,16},{15,14,14,22,42,33,15}},
[0150]
如果mipsizeid=2,modeid=5;mweight[x][y]=
[0151]
{{24,9,10,52,13,10,12},{53,9,10,25,26,6,13},{48,30,9,11,30,7,13},{15,59,12,6,25,13,11},{5,48,34,7,18,19,10},{10,15,62,8,12,20,13},{13,2,70,8,9,19,19},{13,3,62,9,6,16,30},{25,14,10,40,51,0,14},{20,28,11,16,55,5,13},{8,38,18,
6,41,20,11},{5,28,34,6,23,31,12},{9,12,48,8,12,33,18},{12,2,53,9,6,30,28},{14,1,50,9,4,23,40},{14,5,42,8,4,15,51},{8,20,12,5,72,12,12},{2,24,19,5,46,35,9},{5,16,29,9,21,48,13},{9,6,36,10,9,45,25},{12,3,37,11,5,36,38},{13,4,34,11,4,25,51},{13,6,29,10,4,16,61},{13,9,26,10,6,11,66},{6,14,15,6,31,60,6},{7,10,22,11,12,64,15},{10,6,26,13,6,50,32},{11,4,27,12,5,33,49},{12,5,25,11,6,20,62},{12,7,22,11,7,13,69},{12,9,19,11,7,8,74},{12,10,19,10,8,7,74},{10,9,16,12,6,67,20},{11,6,20,13,5,46,41},{11,5,21,12,7,26,59},{11,7,19,12,9,14,70},{11,8,18,11,10,8,75},{11,9,16,11,10,5,78},{12,10,15,11,10,4,80},{11,10,15,10,10,4,78},{11,9,15,12,8,34,54},{11,7,17,11,10,16,69},{11,7,17,11,11,7,76},{11,8,16,11,11,4,80},{10,10,14,11,11,3,81},{11,10,13,11,12,2,82},{11,10,13,11,12,2,82},{11,11,13,10,12,3,80},{11,9,14,11,11,8,77},{11,8,14,11,12,3,81},{11,9,14,11,12,1,83},{10,10,13,11,12,2,83},{10,11,12,11,12,2,82},{10,11,12,11,12,3,82},{11,11,11,11,12,3,81},{11,11,11,11,13,5,79},{11,10,13,11,13,2,82},{11,9,13,11,13,1,83},{11,10,12,11,13,2,82},{10,11,12,11,12,3,81},{10,11,12,11,12,4,80},{10,11,11,11,12,5,80},{11,11,11,11,13,5,79},{11,11,11,11,12,6,77}}。
[0152]
在从映射表中获取到上述参数之后,可以将上述参数和输入值集输入至公式(1)和公式(2),计算得到当前块中特定像素位置的预测值。
[0153]
另外,为了获取到当前块的mip矩阵,当前块的比特右移参数,以及当前块的加权参数,在一种可选的实施例中,从预先存储的一个或多个映射表中,确定当前块的mip矩阵、当前块的比特右移参数,包括:
[0154]
根据当前块的大小,从预先存储的一个或多个映射表中,确定当前块的mip矩阵、当前块的比特右移参数和当前块的加权参数。
[0155]
也就是说,结合当前块的大小,从映射表中获取与当前块大小对应的当前块的mip矩阵,当前块的比特右移参数,以及当前块的加权参数,例如,当当前块的大小为4x4时,mipsizeid的取值等于0,当当前块大小为4x8、8x4或8x8时,mipsizeid的取值等于1,当当前块大小大于8x8时,mipsizeid的取值等于2。可以根据mipsizeid的值,从映射表中查找到与当前块大小对应的当前块的mip矩阵,当前块的比特右移参数。
[0156]
s507:对特定位置的预测值进行滤波处理,得到当前块中全部像素的预测值。
[0157]
通过s506确定出特定位置的预测值之后,可以继续对特定位置的预测值进行滤波处理,以得到当前块中全部像素的预测值。
[0158]
为了得到当前块中全部像素的预测值,在一种可选的实施例中,s507可以包括:
[0159]
对特定位置像素的预测值进行插值滤波,得到当前块中除了特定位置外其他位置像素的预测值。
[0160]
这里,主要是对特定位置像素的预测值进行插值滤波,就可以得到输了特定位置以外的其他位置像素的预测值,从而就可以得到当前块中全部像素的预测值。
[0161]
也就是说,本技术实施例提供的编码器侧采用mip技术的预测方法与传统方法中的公式(1)-(5)的不同在于,公式(7)中p[0]的计算与公式(3)中的计算符号取反了,这时,公式(3)与(7)中所有p[x]取值形式上达到了更为统一的效果,即,都是减去ptemp[0],公式
(1)中的均值补偿直接使用了ptemp[0],从而使得predmip[x][y]计算公式中,ptemp[0]的系数统一为:
[0162]
1-(mweight[x][0]-fo)》》sw=1-mweightf[x][0]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
[0163]
而原来的系数为:
[0164]
当y=0时:
[0165]
1-(mweight[x][0]-fo)》》sw=1+mweightf[x][0]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)其他情况:
[0166]
1-(mweight[x][0]-fo)》》sw=1-mweightf[x][0]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11)
[0167]
考虑到mip的滤波器本质,该系数取值在-1~1范围内的概率更高,由此,统一为1-mweightf[x][0]的表达后,mweightf[x][0]的取值更趋向于正值,且总体变化范围趋于变小。
[0168]
在此基础上,训练所得的mip矩阵mweightf的第一列参数将变为mweightf的第一列参数符号取反的相应值,此时,整个mip矩阵mweightf中参数的取值变化范围会比原mip矩阵mweightf的取值变化范围更小,更有利于提高表示精度,从而提高预测精度。
[0169]
在原mip矩阵mweightf中,对数据第一列取反后数据取值范围的变化对于表1所示mipsizeid为0和1的28个原始浮点数矩阵,将其第一列取反,取反后矩阵数据范围要么不变,要么缩小,如下表2所示,有11个模式对应的矩阵中数值取值范围会变小,其他17个矩阵中数值取值范围不变。数值取值范围缩小的模式中,又有4个可以由此提高目前已知训练所得权重的表达精度。
[0170]
表2
[0171][0172]
可见,表2中示出了mipsizeid=0和1,矩阵取反后区间缩小和sw提高的矩阵号。
[0173]
下面表3-表5为具体的实例,每个表格分为左右两部分,表3、表5左边为mweightf,右边为mweight
f’,表4左边为mweight
f”,右边为mweight,表3、表5中第1列为mweightf[x][0]的值,右侧第一列为mweightf[x][0]取反后的值。
[0174]
表3~表4给出同一个mip的具体模式下应用本技术的变化,mweightf[x][0]取反后数据范围变小,并且将原来的sw值由5改为6,由公式(6)计算得到的mweight[x][y]的值都不大于127,在7个比特的有效表示范围内;表5给出了一个mweightf[x][0]取反后数据范围不变的具体模式的例子。
[0175]
表3
[0176][0177]
其中,表3示出了mipsizeid=0且modeid=3的原始浮点型矩阵第一列取反(左为原始,右为取反)。
[0178]
表4
[0179][0180]
其中,表4示出了mipsizeid=0且modeid=3的矩阵,应用提出的技术可以取右移位数sw=6而不超出7比特表示范围。
[0181]
表5
[0182]
[0183][0184]
其中,表5示出了mipsizeid=0且modeid=16的原始浮点型矩阵第一列取反(左为原始,右为取反)。
[0185]
通过上述表3~表5的实例可知,本技术实施例提供的预测值的确定方法能够缩小mip训练所得浮点数矩阵数值范围,提高其定点化表达时的精度,从而提高预测准确度,最终提高编码效率。
[0186]
本技术实施例提供了一种预测值的确定方法,该方法应用于编码器中,在本技术实施例中,通过计算出的第一常数,并将第一常数的取值与参考值集中的第一个参考值的差值确定为预测输入值集中的第一个预测输入值,并将预测输入值集用于计算当前块的预测值,能够有效地降低mip模式预测时预测输入值集的动态取值范围,因此,与现有技术相比,在使用相同的比特数表示预测输入值集和mip矩阵的情况下,可以更加精确地表示动态范围中的数据,提高了mip模式下预测值计算过程中的精度,进而提高编码效率。
[0187]
为了提高mip模式的预测精度,以提高解码效率,本技术实施例提供一种预测值的确定方法,图6为本技术实施例提供的另一种可选的预测值的确定方法的流程示意图,参考图6所示,该方法应用于一解码器中,该方法可以包括:
[0188]
s601:解析码流,获得当前块的大小和编码模式;
[0189]
具体来说,在解码器中,在接收到码流之后,首先,解析码流,从而可以获取到当前块的大小和编码模式,其中,编码模式可以为传统帧内预测模式中的一种模式,还可以为mip模式的中一种模式,这里,主要是针对mip模式中的一种模式。
[0190]
s602:当当前块的编码模式是mip时,获取当前块相邻像素的重建值,对相邻像素的重建值进行滤波处理,得到当前块的参考值集;
[0191]
例如,当前块的大小为4x4,4x8、8x4或者8x8,当当前块的大小为4x4,编码模式m=35中的一种模式,当当前块的大小为4x8、8x4或者8x8时,编码模式m=19中的一种模式,当当前块为其他大小,编码模式m=11中的一种模式。
[0192]
也就是说,当当前块的编码模式为mip模式时,首先解码器获取当前块相邻像素的重建值,这里相邻像素包括当前块的上一行像素位置的重建值和左一列像素位置的重建值。
[0193]
在获取到相邻像素的重建值之后,例如,获取到的上一行像素的重建值为redt,共n个值,左一列像素的重建值为redl,共n个值,redt和redl组成一个新的向量ptemp作为当前块的参考值集。
[0194]
为了经过滤波处理得到当前块的参考值集,在一种可选的实施例中,s602中,对相邻像素的重建值进行滤波处理,得到当前块的参考值集,包括:
[0195]
将相邻像素的重建值分成n个组,计算各组中相邻像素的重建值的均值,将均值作为参考值集中的参考值,n为正整数。
[0196]
其中,将n设置为预先设定的当前块大小对应的正整数值。
[0197]
也就是说,s602中对相邻像素的重建值进行滤波处理的过程,具体可以为:先将redt和redl分成n个组,然后对每一组求均值,得到n个均值,将n个均值作为参考集中的参考值。
[0198]
举例来说,当当前块大小为4x4时,insize的取值等于4,当当前块大小为4x8、8x4或8x8时,insize的取值等于8,当当前块大小大于8x8时,insize的取值等于7。
[0199]
s603:当当前块的大小小于预设的阈值时,根据当前块中像素亮度分量的比特深度的取值,计算第二常数的取值;
[0200]
在实际应用中,当当前块的大小可以用mipsizeid表示时,mipsizeid为小于2的数时,即mipsizeid等于0或者1时,先根据当前块中像素亮度分量的比特深度的取值,计算第二常数的取值。
[0201]
为了计算得到第二常数的取值,在一种可选的实施例中,s603中,根据当前块中像素亮度分量的比特深度的取值,计算第二常数的取值,包括:
[0202]
将第二常数的取值设置为对数值1进行二进制比特左移操作后的取值,其中,二进制比特左移操作使用的左移位数等于比特深度的取值减1。
[0203]
具体来说,第二常数的取值为对1进行左移后的值,且左移位数为比特深度减1。
[0204]
s604:确定预测输入值集中的第一个预测输入值为第二常数的取值与所述参考值集中的第一个参考值的差值;
[0205]
其中,预测输入值集用于mip计算当前块的预测值;
[0206]
通过s604计算得到第二常数之后,可以将第二常数的取值与参考值中的第一个参考值之差,确定出第一个预测输入值,可以采用上述公式(7)计算得到第一个预测输入值。
[0207]
s605:根据参考值集,确定预测输入值集中除第一个预测输入值外的其他预测输入值;
[0208]
其中,其他预测输入值p[i]包括当前块的大小小于预设阈值时除第一个预测输入值以外的预测输入值,其他预测输入值p[i]还可以包括当前块的大小大于等于预设阈值时的预测输入值,可以采用上述公式(8)计算得到。
[0209]
s606:根据预测输入值集,计算当前块中特定位置像素的预测值;
[0210]
具体来说,在确定出所有的预测输入值,可以得到预测输入值集,根据预测输入值集,就可以进行预测,得到当前块中特定位置像素的预测值,例如,图3中用交叉线标识的像素位置的预测值。
[0211]
为了确定出当前块中特定位置像素的预测值,在一种可选的实施例中,s606可以包括:
[0212]
从预先存储的一个或多个映射表中,确定当前块的mip矩阵、当前块的比特右移参数和当前块的加权参数;
[0213]
根据输入值集、当前块的mip矩阵、当前块的比特右移参数和当前块的加权参数,计算当前块中特定像素位置的预测值。
[0214]
也就是说,在编码器中预先存储有一个或多个映射表,通过一个或多个映射表,可以确定出当前块的mip矩阵,用mweight表示,当前块的比特右移参数sw,以及当前块的加权参数fo。
[0215]
在从映射表中获取到上述参数之后,可以将上述参数和输入值集输入至公式(1)和公式(2),计算得到当前快中特定像素位置的预测值。
[0216]
另外,为了获取到当前块的mip矩阵,当前块的比特右移参数,以及当前块的加权参数,在一种可选的实施例中,从预先存储的一个或多个映射表中,确定当前块的mip矩阵、当前块的比特右移参数和当前块的加权参数,包括:
[0217]
根据当前块的大小,从预先存储的一个或多个映射表中,确定当前块的mip矩阵、当前块的比特右移参数和当前块的加权参数。
[0218]
也就是说,结合当前块的大小,从映射表中获取与当前块大小对应的当前块的mip矩阵,当前块的比特右移参数,以及当前块的加权参数,例如,当当前块的大小为4x4时,mipsizeid的取值等于0,当当前块大小为4x8、8x4或者8x8时,mipsizeid的取值等于1,当当前块大小大于8x8时,mipsizeid的取值等于2。可以根据mipsizeid的值,从映射表中查找到与当前块大小对应的当前块的mip矩阵,当前块的比特右移参数。
[0219]
s607:对特定位置像素的预测值进行滤波处理,得到当前块中全部像素的预测值。
[0220]
通过s606确定出特定位置的预测值之后,可以继续对特定位置的预测值进行滤波处理,以得到当前块中全部像素的预测值。
[0221]
为了得到当前块中全部像素的预测值,在一种可选的实施例中,s607可以包括:
[0222]
对特定位置的预测值进行插值滤波,得到当前块中除了特定位置外其他位置像素的预测值。
[0223]
这里,主要是对特定位置像素的预测值进行插值滤波,就可以得到输了特定位置以外的其他位置像素的预测值,从而就可以得到当前块中全部像素的预测值。
[0224]
本技术实施例提供了一种预测值的确定方法,该方法应用于解码器中,在本技术实施例中,通过计算出的第二常数,并将第二常数的取值与参考值集中的第一个参考值的差值确定为预测输入值集中的第一个预测输入值,并将预测输入值集用于计算当前块的预测值,能够有效地降低mip模式预测时预测输入值集的动态取值范围,因此,与现有技术相比,在使用相同的比特数表示预测输入值集和mip矩阵的情况下,可以更加精确地表示动态范围中的数据,提高了mip模式下预测值计算过程中的精度,进而提高编码效率。
[0225]
实施例二
[0226]
基于同一发明构思下,本技术实施例提供一种编码器,图7为本技术实施例提供的一种可选的编码器的结构示意图,如图7所示,该编码器可以包括:
[0227]
第一获取模块71,用于获取当前块相邻像素的重建值;第一处理模块72,用于对相邻像素的重建值进行滤波处理,得到当前块的参考值集;第一计算模块73,用于当当前块的大小小于预设的阈值时,根据当前块中像素亮度分量的比特深度的取值,计算第一常数的取值;第一确定模块74,用于确定预测输入值集中的第一个预测输入值为第一常数的取值与参考值集中的第一个参考值的差值;第二计算模块75,用于根据参考值集,确定预测输入值集中除第一个预测输入值外的其他预测输入值;第三计算模块76,用于根据预测输入值集,计算当前块中特定位置像素的预测值;第二处理模块77,用于对特定位置像素的预测值进行滤波处理,得到当前块中全部像素的预测值。
[0228]
在一种可选的实施例中,第一处理模块72,具体用于:
[0229]
对相邻像素的重建值分成n个组,计算各组中相邻像素的重建值的均值,将均值作
为所述参考值集中的参考值,n为正整数。
[0230]
其中,将n设置为预先设定的当前块大小对应的正整数值。
[0231]
在一种可选的实施例中,第一计算模块73根据当前块中像素亮度分量的比特深度的取值,计算第一常数的取值中,可以包括:将第一常数的取值设置为对数值1进行二进制比特左移操作后的取值,其中,二进制比特左移操作使用的左移位数等于比特深度的取值减1。
[0232]
在一种可选的实施例中,第三计算模块76,具体用于:
[0233]
从预先存储的一个或多个映射表中,确定当前块的mip矩阵、当前块的比特右移参数和当前块的加权参数;根据输入值集、当前块的mip矩阵、当前块的比特右移参数和当前块的加权参数,计算当前块中特定像素位置的预测值。
[0234]
在一种可选的实施例中,第三计算模块76从预先存储的一个或多个映射表中,确定当前块的mip矩阵、当前块的比特右移参数和当前块的加权参数中,可以包括:根据当前块的大小,从预先存储的一个或多个映射表中,确定当前块的mip矩阵、当前块的比特右移参数和当前块的加权参数。
[0235]
在一种可选的实施例中,第二处理模块77,具体用于:
[0236]
对特定位置像素的预测值进行插值滤波,得到当前块中除了特定位置外其他位置像素的预测值。
[0237]
本技术实施例提供一种解码器,图8为本技术实施例提供的一种可选的解码器的结构示意图,如图8所示,该解码器可以包括:
[0238]
第二获取模块81,用于解析码流,获得当前块的大小和编码模式;第三处理模块82,用于当当前块的编码模式是基于矩阵的帧内预测模式mip时,获取当前块相邻像素的重建值,对相邻像素的重建值进行滤波处理,得到当前块的参考值集;第四计算模块83,用于当当前块的大小小于预设的阈值时,根据当前块中像素亮度分量的比特深度的取值,计算第二常数的取值;第二确定模块84,用于确定预测输入值集中的第一个预测输入值为第二常数的取值与参考值集中的第一个参考值的差值;第五计算模块85,用于根据参考值集,确定预测输入值集中除第一个预测输入值外的其他预测输入值;第六计算模块86,用于根据预测输入值集,计算当前块中特定位置像素的预测值;第四处理模块87,用于对特定位置像素的预测值进行插值滤波,得到当前块中除了特定位置外其他位置像素的预测值。
[0239]
在一种可选的实施例中,第三处理模块82对相邻像素的重建值进行滤波处理,得到当前块的参考值集中,可以包括:将相邻像素的重建值分成n个组,计算各组中相邻像素的重建值的均值,将均值作为参考值集中的参考值,n为正整数。
[0240]
其中,将n设置为预先设定的当前块大小对应的正整数值。
[0241]
在一种可选的实施例中,第四计算模块83根据当前块中像素亮度分量的比特深度的取值,计算第二常数的取值中,可以包括:将第二常数的取值设置为对数值1进行二进制比特左移操作后的取值,其中,二进制比特左移操作使用的左移位数等于比特深度的取值减1。
[0242]
在一种可选的实施例中,第六计算模块86,具体用于:
[0243]
从预先存储的一个或多个映射表中,确定当前块的mip矩阵、当前块的比特右移参数和当前块的加权参数;根据输入值集、当前块的mip矩阵、当前块的比特右移参数和当前
块的加权参数,计算当前块中特定位置像素的预测值。
[0244]
在一种可选的实施例中,第六计算模块86从预先存储的一个或多个映射表中,确定当前块的mip矩阵、当前块的比特右移参数和当前块的加权参数中,可以包括:根据当前块的大小,从预先存储的一个或多个映射表中,确定当前块的mip矩阵、当前块的比特右移参数和当前块的加权参数。
[0245]
在一种可选的实施例中,第四处理模块87,具体用于:
[0246]
对特定位置像素的预测值进行插值滤波,得到当前块中除了特定位置外其他位置像素的预测值。
[0247]
图9为本技术实施例提出的另一种可选的编码器的结构示意图,如图9所示,本技术实施例提出的编码器900还可以包括处理器91以及存储有处理器91可执行指令的存储介质92,存储介质92通过通信总线93依赖处理器91执行操作,当指令被处理器91执行时,执行上述一个或多个实施例所述的预测值的确定方法。
[0248]
需要说明的是,实际应用时,编码器中的各个组件通过通信总线93耦合在一起。可理解,通信总线93用于实现这些组件之间的连接通信。通信总线93除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为通信总线93。
[0249]
图10为本技术实施例提出的另一种可选的解码器的结构示意图,如图10所示,本技术实施例提出的解码器1000还可以包括处理器101以及存储有处理器101可执行指令的存储介质102,存储介质102通过通信总线103依赖处理器101执行操作,当指令被处理器101执行时,执行上述一个或多个实施例所述的预测值的确定方法。
[0250]
需要说明的是,实际应用时,解码器中的各个组件通过通信总线103耦合在一起。可理解,通信总线103用于实现这些组件之间的连接通信。通信总线103除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图10中将各种总线都标为通信总线103。
[0251]
本技术实施例提供了一种计算机存储介质,存储有可执行指令,当所述可执行指令被一个或多个处理器执行的时候,所述处理器执行上述一个或多个实施例所述的预测值的确定方法。
[0252]
可以理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddrsdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,drram)。本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0253]
而处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0254]
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(application specific integrated circuits,asic)、数字信号处理器(digital signal processing,dsp)、数字信号处理设备(dsp device,dspd)、可编程逻辑设备(programmable logic device,pld)、现场可编程门阵列(field-programmable gate array,fpga)、通用处理器、控制器、微控制器、微处理器、用于执行本技术所述功能的其它电子单元或其组合中。
[0255]
对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
[0256]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0257]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0258]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机、计算机、服务器、或者网络设备等)执行本技术各个实施例所述的方法。
[0259]
上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本技术的保护之内。
[0260]
工业实用性
[0261]
本技术实施例提供了一种预测值的确定方法、编码器、解码器以及计算机存储介质,该方法应用于编码器,包括:获取当前块相邻像素的重建值,对相邻像素的重建值进行
滤波处理,得到当前块的参考值集,当当前块的大小小于预设的阈值时,根据当前块中像素亮度分量的比特深度的取值,计算第一常数的取值,确定预测输入值集中的第一个预测输入值为第一常数的取值与参考值集中的第一个参考值的差值,根据参考值集,确定预测输入值集中除第一个预测输入值外的其他预测输入值,根据预测输入值集,计算当前块中特定位置像素的预测值,对特定位置像素的预测值进行滤波处理,得到当前块中全部像素的预测值,如此,提高了视频编解码中的预测精度,提高了编解码速率。
技术特征:
1.一种预测值的确定方法,其中,所述方法应用于编码器,包括:获取当前块相邻像素的重建值;对所述相邻像素的重建值进行滤波处理,得到所述当前块的参考值集;当所述当前块的大小小于预设的阈值时,根据所述当前块中像素亮度分量的比特深度的取值,计算第一常数的取值;确定预测输入值集中的第一个预测输入值为所述第一常数的取值减去所述参考值集中的第一个参考值而得到的差值;根据所述参考值集、mip矩阵、权重参数以及比特右移参数,确定所述预测输入值集中除所述第一个预测输入值外的其他预测输入值;根据所述预测输入值集,计算所述当前块中特定位置像素的预测值;对所述特定位置像素的预测值进行插值滤波,得到所述当前块中除了特定位置外其他位置像素的预测值。2.根据权利要求1所述的方法,其中,所述对所述相邻像素的重建值进行滤波处理,得到所述当前块的参考值集,包括:对所述相邻像素的重建值分成n个组,计算各组中所述相邻像素的重建值的均值,将所述均值作为所述参考值集中的参考值,n为正整数。3.根据权利要求2所述的方法,其中,将n设置为预先设定的所述当前块大小对应的正整数值。4.根据权利要求1所述的方法,其中,所述根据所述当前块中像素亮度分量的比特深度的取值,计算第一常数的取值,包括:将所述第一常数的取值设置为对数值1进行二进制比特左移操作后的取值,其中,所述二进制比特左移操作使用的左移位数等于所述比特深度的取值减1。5.一种预测值的确定方法,其中,所述方法应用于解码器,包括:解析码流,获得当前块的大小和编码模式;当所述当前块的编码模式是基于矩阵的帧内预测模式mip时,获取当前块相邻像素的重建值,对所述相邻像素的重建值进行滤波处理,得到所述当前块的参考值集;当所述当前块的大小小于预设的阈值时,根据所述当前块中像素亮度分量的比特深度的取值,计算第二常数的取值;确定预测输入值集中的第一个预测输入值为所述第二常数的取值减去所述参考值集中的第一个参考值而得到的差值;根据所述参考值集、mip矩阵、权重参数以及比特右移参数,确定所述预测输入值集中除所述第一个预测输入值外的其他预测输入值;根据所述预测输入值集,计算所述当前块中特定位置像素的预测值;对所述特定位置像素的预测值进行插值滤波,得到所述当前块中除了特定位置外其他位置像素的预测值。6.根据权利要求5所述的方法,其中,所述对所述相邻像素的重建值进行滤波处理,得到所述当前块的参考值集,包括:将所述相邻像素的重建值分成n个组,计算各组中所述相邻像素的重建值的均值,将所述均值作为所述参考值集中的参考值,n为正整数。
7.根据权利要求6所述的方法,其中,将n设置为预先设定的所述当前块大小对应的正整数值。8.根据权利要求5所述的方法,其中,所述根据所述当前块中像素亮度分量的比特深度的取值,计算第二常数的取值,包括:将所述第二常数的取值设置为对数值1进行二进制比特左移操作后的取值,其中,所述二进制比特左移操作使用的左移位数等于所述比特深度的取值减1。9.一种编码器,其中,所述编码器包括:第一获取模块,用于获取当前块相邻像素的重建值;第一处理模块,用于对所述相邻像素的重建值进行滤波处理,得到所述当前块的参考值集;第一计算模块,用于当所述当前块的大小小于预设的阈值时,根据所述当前块中像素亮度分量的比特深度的取值,计算第一常数的取值;第一确定模块,用于确定预测输入值集中的第一个预测输入值为所述第一常数的取值减去所述参考值集中的第一个参考值而得到的差值;第二计算模块,用于根据所述参考值集、mip矩阵、权重参数以及比特右移参数,确定所述预测输入值集中除所述第一个预测输入值外的其他预测输入值;第三计算模块,用于根据所述预测输入值集,计算所述当前块中特定位置像素的预测值;第二处理模块,用于对所述特定位置像素的预测值进行插值滤波,得到所述当前块中除了特定位置外其他位置像素的预测值。10.根据权利要求9所述的编码器,其中,在对所述相邻像素的所述重建值进行滤波处理,得到所述当前块的所述参考值集方面,所述第一处理模块用于:对所述相邻像素的重建值分成n个组,计算各组中所述相邻像素的重建值的均值,将所述均值作为所述参考值集中的参考值,n为正整数。11.根据权利要求10所述的编码器,其中,n设置为预先设定的所述当前块大小对应的正整数值。12.根据权利要求9所述的编码器,其中,在根据所述当前块中所述像素亮度分量的所述比特深度的所述取值,计算所述第一常数的所述取值方面,所述第一计算模块用于:将所述第一常数的取值设置为对数值1进行二进制比特左移操作后的取值,其中,所述二进制比特左移操作使用的左移位数等于所述比特深度的取值减1。13.一种解码器,其中,所述解码器包括:第二获取模块,用于解析码流,获得当前块的大小和编码模式;第三处理模块,用于当所述当前块的编码模式是基于矩阵的帧内预测模式mip时,获取当前块相邻像素的重建值,对所述相邻像素的重建值进行滤波处理,得到所述当前块的参考值集;第四计算模块,用于当所述当前块的大小小于预设的阈值时,根据所述当前块中像素亮度分量的比特深度的取值,计算第二常数的取值;第二确定模块,用于确定预测输入值集中的第一个预测输入值为所述第二常数的取值减去所述参考值集中的第一个参考值而得到的差值;
第五计算模块,用于根据所述参考值集、mip矩阵、权重参数以及比特右移参数,确定所述预测输入值集中除所述第一个预测输入值外的其他预测输入值;第六计算模块,用于根据所述预测输入值集,计算所述当前块中特定位置像素的预测值;第四处理模块,用于对所述特定位置像素的预测值进行插值滤波,得到所述当前块中除了特定位置外其他位置像素的预测值。14.根据权利要求13所述的解码器,其中,在对所述相邻像素的所述重建值进行滤波处理,得到所述当前块的所述参考值集方面,所述第三处理模块用于:将所述相邻像素的重建值分成n个组,计算各组中所述相邻像素的重建值的均值,将所述均值作为所述参考值集中的参考值,n为正整数。15.根据权利要求14所述的解码器,其中,n设置为预先设定的所述当前块大小对应的正整数值。16.根据权利要求13所述的解码器,其中,在根据所述当前块中所述像素亮度分量的所述比特深度的所述取值,计算所述第二常数的所述取值方面,所述第四计算模块用于:将所述第二常数的取值设置为对数值1进行二进制比特左移操作后的取值,其中,所述二进制比特左移操作使用的左移位数等于所述比特深度的取值减1。17.一种编码器,其中,所述编码器包括:处理器以及存储有所述处理器可执行指令的存储介质,所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述的权利要求1至4任一项所述的预测值的确定方法。18.一种解码器,其中,所述解码器包括:处理器以及存储有所述处理器可执行指令的存储介质,所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述的权利要求5至8任一项所述的预测值的确定方法。19.一种计算机可读存储介质,其中,所述计算机可读存储介质存储有可执行指令,当所述可执行指令被一个或多个处理器执行的时候,所述处理器执行所述的权利要求1至4任一项所述的预测值的确定方法,或者执行所述的权利要求5至8任一项所述的预测值的确定方法。
技术总结
一种预测值的确定方法、编码器、解码器以及计算机存储介质,该方法应用于编码器,包括:获取当前块相邻像素的重建值(S501),对相邻像素的重建值进行滤波处理,得到当前块的参考值集(S502),当当前块的大小小于预设的阈值时,根据当前块中像素亮度分量的比特深度的取值,计算第一常数的取值(S503),确定预测输入值集中的第一个预测输入值为第一常数的取值与参考值集中的第一个参考值的差值(S504),根据参考值集,确定预测输入值集中除第一个预测输入值外的其他预测输入值(S505),根据预测输入值集,计算当前块中特定位置像素的预测值(S506),对特定位置像素的预测值进行滤波处理,得到当前块中全部像素的预测值(S507)。得到当前块中全部像素的预测值(S507)。得到当前块中全部像素的预测值(S507)。
技术研发人员:霍俊彦 马彦卓 万帅 杨付正 张伟 王海鑫 孙宇
受保护的技术使用者:OPPO广东移动通信有限公司
技术研发日:2019.09.24
技术公布日:2023/10/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种便于快速冷却的挂胶机构的制作方法 下一篇:一种组合式可变形吊坠的制作方法