一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2021-11-22 14:10:00 来源:中国专利 TAG:

图像分量预测方法、编码器、解码器以及存储介质
1.本技术是申请日为2019年10月28日,申请号为2019800887618,发明名称为“图像分量预测方法、编码器、解码器以及存储介质”的申请的分案申请。
技术领域
2.本技术实施例涉及图像处理技术领域,尤其涉及一种图像分量预测方法、编码器、解码器以及存储介质。


背景技术:

3.随着人们对视频显示质量要求的提高,高清和超高清视频等新视频应用形式应运而生。h.265/高效率视频编码(high efficiency video coding,hevc)已经无法满足视频应用迅速发展的需求,联合视频研究组(joint video exploration team,jvet)提出了下一代视频编码标准h.266/多功能视频编码(versatile video coding,vvc),其相应的测试模型为vvc的参考软件测试平台(vvc test model,vtm)。
4.在vtm中,目前已经集成了一种基于预测模型的图像分量预测方法,通过预测模型可以由当前编码块的亮度分量预测色度分量。然而,在构建预测模型的过程中,尤其预测模型为非线性模型或者多模型(比如由多个线性模型构成)时,目前用于模型参数推导的样本点数量较大,计算复杂度和内存带宽偏高;同时在这些样本点中还可能存在异常样本点,导致预测模型构造不准确。


技术实现要素:

5.本技术实施例提供一种图像分量预测方法、编码器、解码器以及存储介质,通过减少相邻参考像素集合中的像素个数,不仅可以降低计算复杂度,而且还可以提高预测模型的精确度,从而能够提升待处理图像分量的预测准确性。
6.本技术实施例的技术方案可以如下实现:
7.第一方面,本技术实施例提供了一种图像分量预测方法,应用于编码器或解码器,该方法包括:
8.确定图像中当前块的相邻参考像素;
9.根据所述相邻参考像素,构造相邻参考像素子集;其中,所述相邻参考像素子集中包含有所述相邻参考像素中的部分像素;
10.根据所述相邻参考像素子集,计算预测模型的模型参数;其中,所述预测模型包括n个预测子模型,n个预测子模型对应n组模型参数,所述预测子模型用于通过对应的模型参数对待预测图像分量进行跨分量预测处理,n为大于或等于2的正整数。
11.第二方面,本技术实施例提供了一种图像分量预测方法,应用于编码器或解码器,该方法包括:
12.确定与图像中当前块的第一图像分量的第一参考像素集合,其中,所述第一参考像素集合包含所述当前块相邻的像素;
13.利用第一参考像素集合,构造n个第一参考像素子集,其中,所述第一参考像素子集中包含所述第一参考像素集合中的部分像素,n等于预测模型的数量;
14.利用所述n个第一参考像素子集,分别计算n个预测模型的模型参数,其中,所述预测模型用于将所述当前块的第一图像分量值映射为所述当前块的第二图像分量的预测值,所述第二图像分量与所述第一图像分量不同。
15.第三方面,本技术实施例提供了一种编码器,该编码器包括:第一确定单元、第一构造单元和第一计算单元,其中,
16.第一确定单元,配置为确定图像中当前块的相邻参考像素;
17.第一构造单元,配置为根据所述相邻参考像素,构造相邻参考像素子集;其中,相邻参考像素子集中包含有所述相邻参考像素中的部分像素;
18.第一计算单元,配置为根据所述相邻参考像素子集,计算预测模型的模型参数;其中,预测模型包括n个预测子模型,n个预测子模型对应n组模型参数,预测子模型用于通过对应的模型参数对待预测图像分量进行跨分量预测处理,n为大于或等于2的正整数。
19.第四方面,本技术实施例提供了一种编码器,该编码器包括第一存储器和第一处理器,其中,
20.第一存储器,用于存储能够在所述第一处理器上运行的计算机程序;
21.第一处理器,用于在运行所述计算机程序时,执行如第一方面或第二方面所述的方法。
22.第五方面,本技术实施例提供了一种解码器,该解码器包括第二确定单元、第二构造单元和第二计算单元,其中,
23.第二确定单元,配置为确定图像中当前块的相邻参考像素;
24.第二构造单元,配置为根据所述相邻参考像素,构造相邻参考像素子集;其中,相邻参考像素子集中包含有所述相邻参考像素中的部分像素;
25.第二计算单元,配置为根据所述相邻参考像素子集,计算预测模型的模型参数;其中,预测模型包括n个预测子模型,n个预测子模型对应n组模型参数,预测子模型用于通过对应的模型参数对待预测图像分量进行跨分量预测处理,n为大于或等于2的正整数。
26.第六方面,本技术实施例提供了一种解码器,该解码器包括第二存储器和第二处理器,其中,
27.第二存储器,用于存储能够在所述第二处理器上运行的计算机程序;
28.第二处理器,用于在运行所述计算机程序时,执行如第一方面或第二方面所述的方法。
29.第七方面,本技术实施例提供了一种计算机存储介质,该计算机存储介质存储有图像分量预测程序,图像分量预测程序被第一处理器或第二处理器执行时实现如第一方面或第二方面所述的方法。
30.本技术实施例提供了一种图像分量预测方法、编码器、解码器以及存储介质,确定图像中当前块的相邻参考像素;根据相邻参考像素,构造相邻参考像素子集;其中,相邻参考像素子集中包含有所述相邻参考像素中的部分像素;根据相邻参考像素子集,计算预测模型的模型参数;其中,预测模型包括n个预测子模型,n个预测子模型对应n组模型参数,预测子模型用于通过对应的模型参数对待预测图像分量进行跨分量预测处理,n为大于或等
于2的正整数;这样,由于对当前块的相邻参考像素进行筛选处理,可以去掉不重要的参考像素点或者存在异常的参考像素点,从而减少了相邻参考像素集合中的像素个数,使得相邻参考像素子集中的像素个数较少,不仅降低了计算复杂度和内存带宽,而且还提高了预测模型的精确度;另外,通过至少两个预测子模型对待处理图像分量进行跨分量预测处理,从而还提升了待处理图像分量的预测准确性,同时提高了视频图像的预测效率。
附图说明
31.图1为本技术实施例提供的一种视频编码系统的组成框图示意图;
32.图2为本技术实施例提供的一种视频解码系统的组成框图示意图;
33.图3为本技术实施例提供的一种图像分量预测方法的流程示意图;
34.图4为本技术实施例提供的一种当前块上侧边相邻参考像素子集选取的结构示意图;
35.图5为本技术实施例提供的另一种当前块上侧边相邻参考像素子集选取的结构示意图;
36.图6为本技术实施例提供的一种编码块相邻参考像素点的分组示意图;
37.图7为本技术实施例提供的另一种图像分量预测方法的流程示意图;
38.图8为本技术实施例提供的一种编码器的组成结构示意图;
39.图9为本技术实施例提供的一种编码器的具体硬件结构示意图;
40.图10为本技术实施例提供的一种解码器的组成结构示意图;
41.图11为本技术实施例提供的一种解码器的具体硬件结构示意图。
具体实施方式
42.为了能够更加详尽地了解本技术实施例的特点与技术内容,下面结合附图对本技术实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本技术实施例。
43.在视频图像中,一般采用第一图像分量、第二图像分量和第三图像分量来表征编码块(coding block,cb);其中,这三个图像分量分别为一个亮度分量、一个蓝色色度分量和一个红色色度分量,具体地,亮度分量通常使用符号y表示,蓝色色度分量通常使用符号cb或者u表示,红色色度分量通常使用符号cr或者v表示;这样,视频图像可以用ycbcr格式表示,也可以用yuv格式表示。
44.在本技术实施例中,第一图像分量可以为亮度分量,第二图像分量可以为蓝色色度分量,第三图像分量可以为红色色度分量,但是本技术实施例不作具体限定。
45.在下一代视频编码标准h.266中,为了进一步提升了编码性能和编码效率,针对分量间预测(cross

component prediction,ccp)进行了扩展改进,提出了跨分量线性模型预测(cross

component linear model prediction,cclm)。在h.266中,cclm不仅可以实现第一图像分量到第二图像分量的预测,还可以实现第一图像分量到第三图像分量或第三图像分量到第一图像分量之间的预测,甚至也可以实现第二图像分量到第三图像分量或者第三图像分量到第二图像分量的预测。下述将以第一图像分量到第二图像分量的预测为例进行描述,但是本技术实施例的技术方案同样也可以适用于其他图像分量的预测。
46.在vtm中,目前有两种cclm的预测模式:一种是单模型cclm的预测模式;另一种是
多模型cclm(multiple model cclm,mmlm)的预测模式,也称为mmlm的预测模式。顾名思义,单模型cclm的预测模式则是只有一种预测模型来实现由第一图像分量到第二图像分量的预测;而mmlm的预测模式则是有多种预测模型共同来实现由第一图像分量到第二图像分量的预测。例如,在mmlm的预测模式中,可以将与编码块相邻的参考像素点组成相邻参考像素集合,并且将相邻参考像素集合分成两组,每一组均可以单独作为推导预测模型中模型参数的训练集,即每一个分组都能推导出一组模型参数α和β。
47.为了保证mmlm的预测模式中每个预测模型所使用模型参数的准确性,则用于推导模型参数所构造的参考像素集合需要更为准确。基于此,本技术实施例提供了一种图像分量预测方法,通过确定图像中当前块的相邻参考像素;根据相邻参考像素,构造相邻参考像素子集;其中,相邻参考像素子集中包含有所述相邻参考像素中的部分像素;再根据相邻参考像素子集,计算预测模型的模型参数;其中,预测模型包括n个预测子模型,n个预测子模型对应n组模型参数,预测子模型用于通过对应的模型参数对待预测图像分量进行跨分量预测处理,n为大于或等于2的正整数;这样,由于对当前块的相邻参考像素进行筛选处理,可以去掉不重要的参考像素点或者存在异常的参考像素点,从而减少了相邻参考像素集合中的像素个数,使得相邻参考像素子集中的像素个数较少,不仅降低了计算复杂度和内存带宽,而且还提高了预测模型的精确度;另外,通过至少两个预测子模型对待处理图像分量进行跨分量预测处理,从而还提升了待处理图像分量的预测准确性,同时提高了视频图像的预测效率。
48.下面将结合附图对本技术各实施例进行详细说明。
49.参见图1,其示出了本技术实施例提供的一种视频编码系统的组成框图示例;如图1所示,该视频编码系统100包括变换与量化单元101、帧内估计单元102、帧内预测单元103、运动补偿单元104、运动估计单元105、反变换与反量化单元106、滤波器控制分析单元107、滤波单元108、编码单元109和解码图像缓存单元110等,其中,滤波单元108可以实现去方块滤波及样本自适应缩进(sample adaptive 0ffset,sao)滤波,编码单元109可以实现头信息编码及基于上下文的自适应二进制算术编码(context

based adaptive binary arithmatic coding,cabac)。针对输入的原始视频信号,通过编码树块(coding tree unit,ctu)的划分可以得到一个视频编码块,然后对经过帧内或帧间预测后得到的残差像素信息通过变换与量化单元101对该视频编码块进行变换,包括将残差信息从像素域变换到变换域,并对所得的变换系数进行量化,用以进一步减少比特率;帧内估计单元102和帧内预测单元103是用于对该视频编码块进行帧内预测;明确地说,帧内估计单元102和帧内预测单元103用于确定待用以编码该视频编码块的帧内预测模式;运动补偿单元104和运动估计单元105用于执行所接收的视频编码块相对于一或多个参考帧中的一或多个块的帧间预测编码以提供时间预测信息;由运动估计单元105执行的运动估计为产生运动向量的过程,所述运动向量可以估计该视频编码块的运动,然后由运动补偿单元104基于由运动估计单元105所确定的运动向量执行运动补偿;在确定帧内预测模式之后,帧内预测单元103还用于将所选择的帧内预测数据提供到编码单元109,而且运动估计单元105将所计算确定的运动向量数据也发送到编码单元109;此外,反变换与反量化单元106是用于该视频编码块的重构建,在像素域中重构建残差块,该重构建残差块通过滤波器控制分析单元107和滤波单元108去除方块效应伪影,然后将该重构残差块添加到解码图像缓存单元110的帧中的一
个预测性块,用以产生经重构建的视频编码块;编码单元109是用于编码各种编码参数及量化后的变换系数,在基于cabac的编码算法中,上下文内容可基于相邻编码块,可用于编码指示所确定的帧内预测模式的信息,输出该视频信号的码流;而解码图像缓存单元110是用于存放重构建的视频编码块,用于预测参考。随着视频图像编码的进行,会不断生成新的重构建的视频编码块,这些重构建的视频编码块都会被存放在解码图像缓存单元110中。
50.参见图2,其示出了本技术实施例提供的一种视频解码系统的组成框图示例;如图2所示,该视频解码系统200包括解码单元201、反变换与反量化单元202、帧内预测单元203、运动补偿单元204、滤波单元205和解码图像缓存单元206等,其中,解码单元201可以实现头信息解码以及cabac解码,滤波单元205可以实现去方块滤波以及sao滤波。输入的视频信号经过图1的编码处理之后,输出该视频信号的码流;该码流输入视频解码系统200中,首先经过解码单元201,用于得到解码后的变换系数;针对该变换系数通过反变换与反量化单元202进行处理,以便在像素域中产生残差块;帧内预测单元203可用于基于所确定的帧内预测模式和来自当前帧或图片的先前经解码块的数据而产生当前视频解码块的预测数据;运动补偿单元204是通过剖析运动向量和其他关联语法元素来确定用于视频解码块的预测信息,并使用该预测信息以产生正被解码的视频解码块的预测性块;通过对来自反变换与反量化单元202的残差块与由帧内预测单元203或运动补偿单元204产生的对应预测性块进行求和,而形成解码的视频块;该解码的视频信号通过滤波单元205以便去除方块效应伪影,可以改善视频质量;然后将经解码的视频块存储于解码图像缓存单元206中,解码图像缓存单元206存储用于后续帧内预测或运动补偿的参考图像,同时也用于视频信号的输出,即得到了所恢复的原始视频信号。
51.本技术实施例中的图像分量预测方法,主要应用在如图1所示的帧内预测单元103部分和如图2所示的帧内预测单元203部分,具体应用于帧内预测中的cclm预测部分。也就是说,本技术实施例中的图像分量预测方法,既可以应用于视频编码系统,也可以应用于视频解码系统,甚至还可以同时应用于视频编码系统和视频解码系统,但是本技术实施例不作具体限定。当该方法应用于视频编码系统中的帧内预测单元103部分时,“当前块”具体是指帧内预测中的当前编码块;当该方法应用于视频解码系统中的帧内预测单元203部分时,“当前块”具体是指帧内预测中的当前解码块。
52.基于上述图1或者图2的应用场景示例,参见图3,其示出了本技术实施例提供的一种图像分量预测方法的流程示意图。如图3所示,该方法可以包括:
53.s301:确定图像中当前块的相邻参考像素;
54.需要说明的是,视频图像可以划分为多个图像块,每个当前待编码的图像块可以称为编码块。其中,每个编码块可以包括第一图像分量、第二图像分量和第三图像分量;而当前块为视频图像中当前待进行第一图像分量、第二图像分量或者第三图像分量预测的编码块。其中,当需要通过预测模型对第一图像分量进行预测时,待预测图像分量为第一图像分量;当需要通过预测模型对第二图像分量进行预测时,待预测图像分量为第二图像分量;当需要通过预测模型对第三图像分量进行预测时,待预测图像分量为第三图像分量。
55.还需要说明的是,当左侧相邻区域、左下侧相邻区域、上侧相邻区域和右上侧相邻区域都是有效区域时,相邻参考像素可以是由当前块的左侧相邻区域和上侧相邻区域中的相邻参考像素点组成的,也可以是由当前块的左侧相邻区域和左下侧相邻区域中的相邻参
考像素点组成的,还可以是由当前块的上侧相邻区域和右上侧相邻区域中的相邻参考像素点组成的,本技术实施例不作具体限定。
56.在一些实施例中,可选地,对于s301来说,所述确定图像中当前块的相邻参考像素,可以包括:
57.获取与所述当前块的至少一个边相邻的参考像素;其中,所述当前块的至少一个边包括下述至少之一:上行、右上行、左列和左下列;
58.根据获取的参考像素,得到所述相邻参考像素。
59.需要说明的是,当前块的至少一个边可以包括下述至少之一:上行(也可以称为上侧边)、右上行(也可以称为右上侧边)、左列(也可以称为左侧边)或者左下列(也可以称为左下侧边)。
60.可选地,在一些实施例中,如果当前块的至少一个边为左侧边和/或上侧边,对于s301来说,所述确定图像中当前块的相邻参考像素,可以包括:
61.获取与所述当前块的至少一个边相邻的参考像素点;其中,所述至少一个边包括所述当前块的左侧边和/或所述当前块的上侧边;
62.根据获取的参考像素,得到所述相邻参考像素。
63.需要说明的是,当前块的至少一个边可以包括当前块的左侧边和/或当前块的上侧边;即当前块的至少一个边可以是指当前块的上侧边,也可以是指当前块的左侧边,甚至还可以是指当前块的上侧边和左侧边,本技术实施例不作具体限定。
64.这样,当左侧相邻区域和上侧相邻区域全部为有效区域时,这时候相邻参考像素可以是由与当前块的左侧边相邻的参考像素点和与当前块的上侧边相邻的参考像素点组成的,当左侧相邻区域为有效区域、而上侧相邻区域为无效区域时,这时候相邻参考像素可以是由与当前块的左侧边相邻的参考像素点组成的;当左侧相邻区域为无效区域、而上侧相邻区域为有效区域时,这时候相邻参考像素可以是由与当前块的上侧边相邻的参考像素点组成的。
65.可选地,如果当前块的至少一个边为左侧边和左下侧边组成的相邻列、和/或上侧边和右上侧边组成的相邻行,对于s301来说,所述确定图像中当前块的相邻参考像素,可以包括:
66.获取与所述当前块相邻的参考行或者参考列中的参考像素点;其中,所述参考行是由所述当前块的上侧边以及右上侧边所相邻的行组成的,所述参考列是由所述当前块的左侧边以及左下侧边所相邻是列组成的;
67.根据获取的参考像素,得到所述相邻参考像素。
68.需要说明的是,与当前块相邻的参考行可以是由所述当前块的上侧边以及右上侧边所相邻的行组成的,与当前块相邻的参考列可以是由所述当前块的左侧边以及左下侧边所相邻的列组成的;与当前块相邻的参考行或参考列可以是指与当前块上侧边相邻的参考行,也可以是指与当前块左侧边相邻的参考列,甚至还可以是指与当前块其他边相邻的参考行或参考列,本技术实施例不作具体限定。为了方便描述,在本技术实施例中,当前块相邻的参考行将以上侧边相邻的参考行为例进行描述,当前块相邻的参考列将以左侧边相邻的参考列为例进行描述。
69.其中,与当前块相邻的参考行中的参考像素点可以包括与上侧边以及右上侧边相
邻的参考像素点(也称之为上侧边以及右上侧边所对应的相邻参考像素点),其中,上侧边表示当前块的上侧边,右上侧边表示当前块上侧边向右水平扩展出的与当前块高度相同的边长;与当前块相邻的参考列中的参考像素点还可以包括与左侧边以及左下侧边相邻的参考像素点(也称之为左侧边以及左下侧边所对应的相邻参考像素点),其中,左侧边表示当前块的左侧边,左下侧边表示当前块左侧边向下垂直扩展出的与当前解码块宽度相同的边长;但是本技术实施例也不作具体限定。
70.这样,当左侧相邻区域和左下侧相邻区域为有效区域时,这时候相邻参考像素可以是由与当前块相邻的参考列中的参考像素点组成的;当上侧相邻区域和右上侧相邻区域为有效区域时,这时候相邻参考像素可以是由与当前块相邻的参考行中的参考像素点组成的。
71.s302:根据所述相邻参考像素,构造相邻参考像素子集;其中,所述相邻参考像素子集中包含有所述相邻参考像素中的部分像素;
72.需要说明的是,相邻参考像素是用于当前相关技术方案中构建预测模型所对应的参考像素。通常,为了避免由视频编码系统向视频解码系统传输模型参数,可以利用当前块的上侧边、右上侧边、左侧边、左下侧边等四个边中的一个或多个边相邻的参考像素点组成相邻参考像素,以推导模型参数。然而,利用这么多的参考像素点作为样本点进行多模型构造的复杂度较高,而且一些具有异常值的参考像素点还会降低预测模型的质量。
73.也就是说,在该相邻参考像素中,可能会存在部分不重要的参考像素点(比如这些参考像素点的相关性较差)或者部分异常的参考像素点,为了保证模型参数推导的准确性,需要将这些参考像素点剔除掉,从而得到了相邻参考像素子集;这样,根据相邻参考像素子集,可以保证预测模型的准确性,使得待处理图像分量的预测效率高。
74.其中,相邻参考像素子集包含有预设数量的参考像素点。这里,预设数量可以为n个,n为大于1的正整数。实际应用中,n的取值可以为4个,但是本技术实施例不作具体限定。
75.在一些实施例中,对于s302来说,所述根据所述相邻参考像素,构造相邻参考像素子集,可以包括:
76.基于所述当前块的至少一个边,确定所述候选像素的候选位置;
77.从所述相邻参考像素中选取与所述候选位置对应的参考像素,将选取得到的参数像素组成所述相邻参考像素子集。
78.进一步地,所述基于所述当前块的至少一个边,确定所述候选像素的候选位置,可以包括:
79.基于所述当前块的至少一个边相邻的参考像素对应的像素位置,确定所述候选位置。
80.进一步地,所述基于所述当前块的至少一个边,确定所述候选像素的候选位置,可以包括:
81.基于所述当前块的至少一个边相邻的参考像素对应的图像分量强度值,确定所述候选位置。
82.进一步地,所述基于所述当前块的至少一个边,确定所述候选像素的候选位置,可以包括:
83.基于所述当前块的至少一个边相邻的参考像素对应的像素位置和图像分量强度
值,确定所述候选位置。
84.需要说明的是,图像分量强度可以用图像分量值来表示,比如亮度值、色度值等;这里,图像分量值越大,表明了图像分量强度越高。本技术实施例所选取的参考像素,可以是通过候选像素的候选位置来进行选取的;其中,候选位置可以是根据像素位置确定,也可以是根据图像分量强度值(比如亮度值、色度值等)确定,本技术实施例不作具体限定。
85.s303:根据所述相邻参考像素子集,计算预测模型的模型参数;其中,所述预测模型包括n个预测子模型,n个预测子模型对应n组模型参数,所述预测子模型用于通过对应的模型参数对待预测图像分量进行跨分量预测处理,n为大于或等于2的正整数。
86.需要说明的是,根据相邻参考像素子集,可以计算得到多组模型参数;根据每组模型参数,可以构建一个预测子模型;这样,如果计算得到n组模型参数,那么可以得到n个预测子模型。
87.还需要说明的是,预测模型可以是非线性模型或者复杂模型。其中,复杂模型可以是二次曲线等非线性形式的非线性模型,也可以是由多个线性模型构成的多模型。这样,针对复杂模型,由于相邻参考像素子集中已经剔除掉了不重要的参考像素点或者部分异常的参考像素点,使得根据相邻参考像素子集所确定的n组模型参数更为准确,从而提高了复杂模型的精确度,并且提升了待处理图像分量的预测准确性。
88.本实施例提供了一种图像分量预测方法,通过确定图像中当前块的相邻参考像素;根据相邻参考像素,构造相邻参考像素子集;其中,相邻参考像素子集中包含有所述相邻参考像素中的部分像素;根据相邻参考像素子集,计算预测模型的模型参数;其中,预测模型包括n个预测子模型,n个预测子模型对应n组模型参数,预测子模型用于通过对应的模型参数对待预测图像分量进行跨分量预测处理,n为大于或等于2的正整数;这样,由于对当前块的相邻参考像素进行筛选处理,可以去掉不重要的参考像素点或者存在异常的参考像素点,从而减少了相邻参考像素集合中的像素个数,使得相邻参考像素子集中的像素个数较少,不仅降低了计算复杂度和内存带宽,而且还提高了预测模型的精确度;另外,通过至少两个预测子模型对待处理图像分量进行跨分量预测处理,从而还提升了待处理图像分量的预测准确性,同时提高了视频图像的预测效率。
89.进一步地,在所得到的相邻参考像素中,可能包含了一些不重要的参考像素点或者存在异常的参考像素点,这些参考像素点会影响模型参数的计算,从而影响了预测模型的准确性。这时候可以从相邻参考像素中选取部分参考像素点组成相邻参考像素子集,根据该相邻参考像素子集来计算模型参数。
90.需要说明的是,本技术实施例所选取的部分参考像素点,可以是通过参考像素对应的像素位置来选取的,也可以是根据参考像素对应的图像分量强度值(比如亮度值、色度值等)来选取的,本技术实施例不作具体限定。其中,无论是通过参考像素对应的像素位置,还是通过参考像素对应的图像分量强度值对相邻参考像素进行筛选以选取出合适的参考像素点,进而组成相邻参考像素子集;这样,根据相邻参考像素子集推导得到的模型参数更准确,使得根据该模型参数所构建的预测模型也可以更精确。
91.在一些实施例中,所述基于所述当前块的至少一个边,确定所述候选像素的候选位置,可以包括:
92.确定预设候选像素数;其中,所述预设候选像素数表示从所述当前块的至少一个
边相邻的参考像素中所采样的像素数量;
93.根据所述预设候选像素数和所述当前块的至少一个边的长度,确定所述候选位置;其中,所述当前块的至少一个边的长度等于所述当前块的至少一个边所包含的像素数量。
94.需要说明的是,预设候选像素数表示预先设定的待采样的像素点个数,即相邻参考像素子集中所包含的像素个数。以像素位置为例,可以在确定出预设候选像素数之后,根据至少一个边的边长和预设候选像素数来计算出候选像素的候选位置;然后根据候选位置,从相邻参考像素中选取合适的参考像素点来组成相邻参考像素子集。这样,根据相邻参考像素子集所计算的模型参数更为准确,从而构建的预测模型也可以更精确,进而提升了待预测图像分量的预测准确性,提高了视频图像的预测效率。
95.进一步地,对于候选位置的确定,可以先计算第一采样间隔,然后根据第一采样间隔对该至少一个边进行采样处理,以确定出该至少一个边对应的候选像素的候选位置。因此,在一些实施例中,所述基于所述当前块的至少一个边,确定所述候选像素的候选位置,可以包括:
96.根据所述预设候选像素数和所述当前块的至少一个边的长度,计算第一采样间隔;
97.从所述当前块的至少一个边中确定一基准点,按照所述第一采样间隔确定所述候选位置。
98.需要说明的是,基准点可以是所述至少一个边的中点,也可以是所述至少一个边的中点偏左的第一个参考像素点位置,还可以是所述至少一个边的中点偏右的第一参考像素点位置,甚至还可以是所述至少一个边的其他参考像素点位置,本技术实施例不作具体限定。
99.具体地,可以根据所述至少一个边的长度,确定所述至少一个边的中点,然后将所述至少一个边的中点作为所述基准点。其中,基准点可以是所述至少一个边的中点,也可以是所述至少一个边的中点偏左的第一个参考像素点位置,还可以是所述至少一个边的中点偏右的第一参考像素点位置,甚至还可以是所述至少一个边的其他参考像素点位置,本技术实施例不作具体限定。
100.需要说明的是,考虑到与当前块的至少一个边相邻的参考像素点的重要性与其对应的位置有关,为了使得相邻参考像素子集中的参考像素点能够代表整个相邻边的特性,需要尽可能选取处于该边中心位置的参考像素点,以将重要性比较低的点(比如该边的两侧边缘的参考像素点)进行剔除。在本技术实施例中,如果以当前块的上侧边为例进行说明,那么可以将中间位置偏右或者偏左的第一个参考像素点位置作为该边的基准点;如果以当前块的左侧边为例进行说明,那么可以将中间位置偏下或者偏上的第一个参考像素点位置作为该边的基准点。
101.除此之外,在确定基准点之前,还可以首先删除当前块其中一个边的末端位置对应的预设数量个参考像素点,或者针对该边从末端位置开始按照预设偏移量进行初始偏移,以偏移后的参考像素点位置作为起始点,得到新的边,然后将新的边对应的中间位置作为基准点;相应的,也可以首先删除当前块其中一个边的起始位置对应的预设数量个参考像素点,或者针对该边从起始位置开始按照预设偏移量进行初始偏移,以偏移后的参考像
素点位置作为起始点,得到新的边,然后再将新的边对应的中间位置作为基准点。
102.在实际应用中,由于当前块的左侧边或者上侧边的边长都是2的整数倍,那么当前块的左侧边或者上侧边的中间位置均是处于两个点之间。在图4的示例中,是以中间位置偏左的第一个像素点作为该边的中点;但是本技术实施例也可以将中间位置偏右的第一个像素点作为该边的中点,如图5所示。在图4中,以将中间位置偏左的第一个像素点(如图4中的3)作为该边的中点,由于预设采样个数为2,那么可以确定出待选择参考像素点位置(如图4中灰色点示例)为1和5,根据这些参考像素点位置也可以选取出与之对应的参考像素点,以此组成相邻参考像素子集。因此,在本技术实施例中,针对当前块的上侧边,既可以将中间位置偏右的第一个像素点作为该边的中点,也可以将中间位置偏左的第一个像素点作为该边的中点,本技术实施例不作具体限定;另外,针对当前块的左侧边,既可以将中间位置偏下的第一个像素点作为该边的中点,也可以将中间位置偏上的第一个像素点作为该边的中点,本技术实施例也不作具体限定。
103.除特别说明外,下文中将以当前块的上侧边为例进行说明,但是本技术实施例的图像分量预测方法同样适用于当前块的左侧边,甚至是重建块的右侧边或者重建块的下侧边,本技术实施例不作具体限定。
104.可以理解地,如果不考虑与当前块的左侧边或者上侧边相邻的参考像素点的存在性,那么还可以根据式(1)和式(2)进行第二参考像素集合的构造,
105.δ=length/(n2/2)
ꢀꢀ
(1)
106.shift=δ/2
ꢀꢀ
(2)
107.其中,δ表示采样间隔,length表示与当前块的上侧边相邻的一行参考像素点的个数、或者与当前块的左侧边相邻的一列参考像素点的个数,n2表示当前块所期望的构成相邻参考像素子集中参考像素点个数(一般来说,左侧边和上侧边各自为二分之一,但是本技术实施例不作具体限定),shift表示选取参考像素点的起始点位置。这里,当当前块的左侧边或者上侧边的中间位置均是处于两个点之间时,此时如果以中间位置偏右的第一个像素点作为该边的中点,那么起始点位置shift=δ/2;此时如果以中间位置偏左的第一个像素点作为该边的中点,那么起始点位置shift=δ/2

1。
108.示例性地,以图4所示的上侧边为例,length等于8,n2等于4,假定左侧边和上侧边各自为二分之一,即上侧边的预设采样个数为2,那么根据式(1)和式(2)分别计算得到δ=length/(n2/2)=4,shift=δ/2=2,即以1为起始点位置、4为采样间隔,首先可以确定出待选择参考像素点位置,比如为1和5,进而可以选取到对应的参考像素点,以组成相邻参考像素子集。这里,需要注意的是,左侧边对应的预设采样个数和上侧边对应的预设采样个数,两者的取值可以相同,也可以不同,本技术实施例不作具体限定。
109.还需要说明的是,根据预设候选像素数和当前块一个边的长度,可以计算得到该边对应的第一采样间隔。另外,由于当前块的左侧边或者上侧边的边长都是2的整数倍,那么当前块的左侧边或者上侧边的中间位置均是处于两个点之间,此时计算得到的中点值为非整数,计算得到的参考像素点位置也为非整数;然而如果当前块的左侧边或者上侧边的边长不是2的整数倍,那么当前块的左侧边或者上侧边的中间位置不会处于两个点之间,此时计算得到的中点值为整数,计算得到的参考像素点位置也为整数;也就是说,计算得到的中点值可以为整数,也可以为非整数;对应地,计算得到的参考像素点位置也可以为整数,
也可以为非整数;本技术实施例不作具体限定。
110.这样,当计算得到的中点值为整数时,对应地,计算得到的参考像素点位置也为整数,此时可以直接将计算得到的参考像素点位置作为候选位置;当计算得到的中点值为非整数时,对应地,计算得到的参考像素点位置也为非整数,此时可以通过向大取整或者向小取整来确定出候选位置。
111.进一步地,在一些实施例中,在计算第一采样间隔之后,该方法还可以包括:
112.对所述第一采样间隔进行调整,得到第二采样间隔;
113.基于所述基准点,按照所述第二采样间隔确定所述候选位置。
114.需要说明的是,当计算得到第一采样间隔之后,还可以对第一采样间隔进行微调,比如对第一采样间隔进行加1或者减1的操作,以此得到第二采样间隔。例如,第一采样间隔为4,那么调整后的第二采样间隔可以为3或者5。在本技术实施例中,针对第一采样间隔的调整,可以进行小幅度(比如,加1或者减1)的调整,但是针对调整幅度的具体设定,本技术实施例不作具体限定。
115.进一步地,在一些实施例中,得到第二采样间隔之后,该方法还可以包括:
116.基于所述基准点,按照所述第一采样间隔确定所述基准点一侧对应的候选位置,按照所述第二采样间隔确定所述基准点另一侧对应的候选位置。
117.也就是说,当确定出当前块至少一条边的基准点之后,可以按照第一采样间隔或者第二采样间隔进行均匀采样;也可以按照第一采样间隔和第二采样间隔进行非均匀采样,而且采样后所确定的候选位置可以对称分布在基准点两侧,也可以非对称分布在基准点两侧;本技术实施例不作具体限定。
118.进一步地,由于相邻参考像素中与当前块的待预测图像分量比较相关的是位于至少一个边的中间位置的参考像素点,那么可以将该中间位置附近连续的预设采样个数的参考像素点位置作为待选择参考像素点位置,该方法可以称之为中间位置连续取点方案。具体地,假定与当前块的上侧边或者左侧边相邻的一行/一列上的参考像素点位置从0开始编号,那么本实施例中所组成的相邻参考像素子集中相邻参考像素点个数以及对应的待选择参考像素点位置如表1所示。这时候可以将中间位置附近连续的预设采样个数的参考像素点位置作为候选位置,以此组成相邻参考像素子集。
119.表1
120.当前块的至少一个边的边长候选位置预设候选像素数20,1241,2282,3,4(或3,4,5)3166,7,8,943213,14,15,16,17,18,19,208
121.进一步地,对于相邻参数像素的筛选处理,还可以对至少一个边的参考像素点进行跳点处理,即将不重要的参考像素点或存在异常的参考像素点跳过去(也可以看作是删除处理),从而得到相邻参考像素子集;也可以在此基础上,即至少一个边的部分参考像素点跳过之后,在对剩余的参考像素点在进行筛选处理,以得到相邻参考像素子集。因此,在一些实施例中,所述基于所述当前块的至少一个边,确定所述候选像素的候选位置,可以包
括:
122.确定所述当前块的至少一个边对应的预设跳过像素数k,其中,k为大于或等于1的正整数;
123.从所述当前块的至少一个边的起始位置和/或末端位置开始,确定k个待跳过像素点对应的位置;
124.基于所述k个待跳过像素点对应的位置,从所述当前块的至少一个边的起始位置和/或末端位置开始连续跳过k个待跳过像素点,得到所述当前块的至少一个新边;
125.基于所述当前块的至少一个新边以及所述预设候选像素数,确定所述候选位置。
126.需要说明的是,预设跳过像素数表示预先设定的待删除或者待跳过的像素点个数。另外,至少一个边的起始位置表示当前块的上侧边的最左边缘位置或者当前块的左侧边的最上边缘位置,至少一个边的末端位置表示当前块的上侧边的最右边缘位置或者当前块的左侧边的最下边缘位置。
127.还需要说明的是,k的取值可以是预先设置的参考像素点个数,比如1、2或者4等;还可以是根据当前块的边长以及与之对应的预设比例进行计算得到;但是在实际应用中,仍然根据实际情况进行设定,本技术实施例不作具体限定。其中,与当前块的上侧边对应的预设比例可以用第一预设比例表示,与当前块的左侧边对应的预设比例可以用第二预设比例表示,第一预设比例与第二预设比例的取值可以相同,也可以不相同,本技术实施例也不作具体限定。
128.这样,假定从至少一个边的起始位置开始,如果至少一个边为当前块的上侧边(也可以称为当前块的参考行),那么可以从至少一个边的最左边缘位置开始,确定出k个待跳过像素点对应的位置;如果至少一个边为当前块的左侧边(也可以称为当前块的参考列),那么可以从至少一个边的最上边缘位置开始,确定出k个待跳过像素点对应的位置;假定从至少一个边的末端位置开始,如果至少一个边为当前块的上侧边,那么可以从至少一个边的最右边缘位置开始,确定出k个待跳过像素点对应的位置;如果至少一个边为当前块的左侧边,那么可以从至少一个边的最下边缘位置开始,确定出k个待跳过像素点对应的位置;在实际应用中,根据实际情况进行设定,本技术实施例不作具体限定。
129.在确定出k个待跳过像素点对应的位置之后,假定从至少一个边的起始位置开始,如果至少一个边为当前块的上侧边,那么可以从该上侧边的最左边缘位置开始,向右确定出连续的k个待跳过像素点所对应的位置,然后连续跳过这k个待跳过像素点,得到新的上侧边;这时候可以根据新的上侧边的边长以及预设候选像素数,确定出该新的上侧边对应的候选位置,从而将选取得到的候选像素组成相邻参考像素子集;如果至少一个边为当前块的左侧边,那么可以从该左侧边的最上边缘位置开始,向下确定出连续的k个待跳过像素点所对应的位置,然后连续跳过这k个待跳过像素点,得到新的左侧边;这时候可以根据新的左侧边的边长以及预设候选像素数,确定出该新的左侧边对应的候选位置,从而将选取得到的候选像素组成相邻参考像素子集。或者,假定从至少一个边的末端位置开始,如果至少一个边为当前块的上侧边,那么可以从该上侧边的最右边缘位置开始,向左确定出连续的k个待跳过像素点所对应的位置,然后连续跳过这k个待跳过像素点,得到新的上侧边;这时候可以根据新的上侧边的边长以及预设候选像素数,确定出该新的上侧边对应的候选位置,从而将选取得到的候选像素组成相邻参考像素子集;如果至少一个边为当前块的左侧
边,那么可以从该左侧边的最下边缘位置开始,向上确定出连续的k个待跳过像素点所对应的位置,然后连续跳过这k个待跳过像素点,得到新的左侧边;这时候可以根据新的左侧边的边长以及预设候选像素数,确定出该新的左侧边对应的候选位置,从而将选取得到的候选像素组成相邻参考像素子集。
130.这样,本技术实施例使用当前块相邻的参考像素点所得到的相邻参考像素中的部分像素(即相邻参考像素子集)来推导复杂模型(比如非线性模型或者多模型)对应的模型参数。由于所得到的子集(即相邻参考像素子集)中已经剔除了不重要的参考像素点或者存在异常的参考像素点,从而使其具有更少的参考像素点个数,这样不仅降低了计算复杂度和内存带宽,而且还提高了复杂模型的精确度,从而可以达到提升待处理图像分量的预测准确性和视频图像的预测效率的目的。
131.进一步地,在确定出相邻参考像素子集之后,可以根据该相邻参考像素子集,计算预测模型的模型参数,以构建预测模型;其中,该预测模型可以包括n个预测子模型,n为大于或等于2的正整数。因此,在一些实施例中,对于s303来说,所述根据所述相邻参考像素子集,计算预测模型的模型参数,可以包括:
132.根据所述相邻参考像素子集,构造n个第一相邻参考像素子集;
133.基于所述n个第一相邻参考像素子集,计算所述n个预测子模型对应的n组模型参数;其中,每一个预测子模型对应一组模型参数。
134.进一步地,所述根据所述相邻参考像素子集,构造n个第一相邻参考像素子集,可以包括:
135.根据所述相邻参考像素子集,确定至少一个阈值;
136.根据所述至少一个阈值,将所述相邻参考像素子集划分成所述n个第一相邻参考像素子集。
137.需要说明的是,阈值是相邻参考像素子集中所包含的参考像素点进行分类的依据,同时也是当前块的第一图像分量重建值的分类依据。另外,阈值还是用于指示建立多个预测子模型所依据的设定值,阈值的大小与该当前块中所有像素点对应的第一图像分量重建值有关。
138.具体地,阈值的大小,可以通过计算该当前块中所有像素点对应的第一图像分量重建值的均值得到,也可以通过计算该当前块中所有像素点的第一图像分量重建值的中值得到,本技术实施例不作具体限定。
139.在本技术实施例中,首先,可以根据所述该当前块中所有像素点对应的第一图像分量重建值以及式(3),计算得到均值mean:
[0140][0141]
其中,mean表示该当前块中所有像素点对应的重建亮度值的均值,∑rec
l
[i,j]表示该当前块中所有像素点对应的重建亮度值之和,m表示该当前块中所有像素点对应的重建亮度值的采样个数。
[0142]
其次,将计算得到的均值mean直接作为阈值,利用该阈值可以将第二参考像素集合划分为两组,从而可以建立两个预测子模型,但是本技术实施例并不局限于只建立两个预测子模型。
[0143]
这样,当根据该当前块中所有像素点对应的第一图像分量重建值计算得到均值mean之后,如果需要建立两个预测子模型,那么可以将mean直接作为阈值,根据该阈值可以将相邻参考像素子集中的参考像素点划分为两组,预示着后续可以建立两个预测子模型;如果需要建立三个预测子模型,那么可以将(第一图像分量最小重建值 mean 1)>>1作为第一个阈值,将(第一图像分量最大重建值 mean 1)>>1作为第二个阈值,根据这两个阈值可以将第二参考像素集合中的参考像素点划分为三组,预示着后续可以建立三个预测子模型。
[0144]
进一步地,在一些实施例中,在所述根据所述相邻参考像素子集,计算预测模型的模型参数之后,该方法还可以包括:
[0145]
确定所述当前块中每一个像素对应的第一图像分量重建值;
[0146]
从所述n个预测子模型中选择一个预测子模型;
[0147]
根据所选择的预测子模型和所述当前块中每一个像素对应的第一图像分量重建值,计算所述当前块中每一个像素对应的第二图像分量预测值;其中,所述待预测图像分量为第二图像分量。
[0148]
进一步地,所述从所述n个预测子模型中选择一个预测子模型,可以包括:
[0149]
将所述当前块中每一个像素对应的第一图像分量重建值与所述至少一个阈值进行比较;
[0150]
根据比较的结果,从所述n个预测子模型中选取所述当前块中每一个像素对应的预测子模型。
[0151]
需要说明的是,根据至少一个阈值对相邻参考像素子集进行分组,可以得到至少两组参考像素子集,然后确定出至少两组模型参数。具体地,可以将均值mean直接作为阈值,然后将相邻参考像素子集中每个参考像素点对应的第一图像分量相邻参考值与mean进行比较,比如第一图像分量相邻参考值大于mean的参考像素点组成第一参考像素子集,第一图像分量相邻参考值不大于mean的参考像素点组成第二参考像素子集,以得到两组参考像素子集;再根据第一参考像素子集中的参考像素点,确定出第一组模型参数α1和β1;以及根据第二参考像素子集中的参考像素点,确定出第二组模型参数α2和β2。
[0152]
还需要说明的是,在建立至少两个预测子模型之后,还可以将该当前块中每个像素点对应的第一图像分量重建值与至少一个阈值进行比较,根据比较结果,从所述至少两个预测子模型中选取每个像素点对应的预测子模型;然后根据所选取的预测子模型对待预测图像分量进行预测处理,从而获得待预测图像分量的预测值。
[0153]
示例性地,假定与该当前块相邻的参考像素点对应的第一图像分量相邻参考值用l(n)表示,与该当前块相邻的参考像素点对应的第二图像分量相邻参考值用c(n)表示,阈值用threshold表示;如图6所示,其示出了本技术实施例提供的一种当前块相邻参考像素的分组示意图。在图6中,以阈值为分界点,可以将当前块相邻的所有参考像素点划分为两部分,比如第一参考像素子集和第二参考像素子集。其中,将该当前块中所有像素点的第一图像分量重建值的均值mean作为阈值,即threshold=mean;这样,如果l(n)≤threshold,那么可以将l(n)对应的参考像素点判定为第一参考像素子集,进而得到第一参考像素子集中所有参考像素点对应的第一图像分量相邻参考值l(m)和第二图像分量相邻参考值c(m);如果l(n)>threshold,那么可以将l(n)对应的参考像素点判定为第二参考像素子集,进而
得到第二参考像素子集中所有参考像素点对应的第一图像分量相邻参考值l(k)和第二图像分量相邻参考值c(k)。
[0154]
这样,在得到第一参考像素子集中所有参考像素点对应的第一图像分量相邻参考值l(m)和第二图像分量相邻参考值c(m)之后,可以将其作为单独的训练集,从而训练出第一组模型参数α1和β1;在得到第二参考像素子集中所有参考像素点对应的第一图像分量相邻参考值l(k)和第二图像分量相邻参考值c(k)之后,也可以将其作为单独的训练集,从而训练出第二组模型参数α2和β2;具体来说,根据l(m)、c(m)以及式(4),计算得出第一组模型参数α1和β1,如下所示,
[0155][0156]
根据l(k)、c(k)以及式(5),计算得出第二组模型参数α2和β2,如下所示,
[0157][0158]
在分别得到第一组模型参数α1和β1以及第二组模型参数α2和β2之后,还可以根据式(6),建立第一预测子模型pred
1c
[i,j]和第二预测子模型pred
2c
[i,j],如下所示,
[0159][0160]
其中,m表示第一参考像素子集中参考像素点个数,k表示第二参考像素子集中参考像素点个数,i、j表示该当前块中每个像素点的位置坐标,i表示水平方向,j表示竖直方向;threshold表示阈值,该阈值可以是根据该当前块中所有像素点对应的第一图像分量重建值求均值得到的;rec
l
[i,j]表示该当前块中位置坐标为[i,j]的像素点对应的第一图像分量重建值;pred
1c
[i,j]表示该当前块中位置坐标为[i,j]的像素点利用第一预测子模型得到的第二图像分量预测值,pred
2c
[i,j]表示该当前块中位置坐标为[i,j]的像素点利用第二预测子模型得到的第二图像分量预测值。
[0161]
具体来说,针对复杂模型(比如包括有两个或多个线性模型),这时候可以利用mmlm的预测模式进行待预测图像分量的预测处理。其中,对于当前块,不同位置坐标的像素点可以选择不同的模型参数所对应的预测子模型对来构造预测值。例如,假定存在两个线性模型,并且在该当前块中存在两个像素点m和n,这两个像素点具有两个不同的重建亮度值,而且这两个重建亮度值处于不同的两个间隔之内。
[0162]
这样,像素m可以使用式(7)所示的预测模型来获得色度预测值,
[0163]
c'
m
=α1
×
y
m
β1
ꢀꢀ
(7)
[0164]
其中,α1和β1是一组模型参数,y
m
是像素点m对应的亮度重建值,c'
m
是像素点m对应的色度预测值。
[0165]
像素n可以使用式(8)所示的预测模型来获得色度预测值,
[0166]
c'
n
=α2
×
y
n
β2
ꢀꢀ
(8)
[0167]
其中,α2和β2是一组模型参数,y
n
是像素点n对应的亮度重建值,c'
n
是像素点n对应的色度预测值。
[0168]
除此之外,本技术实施例还可以构建更复杂的预测模型(比如更复杂的非线性模型或更复杂的多模型),用于实现跨分量预测或者交叉分量预测的目的,比如可以根据已经获取的重建亮度值来预测色度值,也可以根据已经获取的重建色度值来预测亮度值,甚至还可以在不同的色度值之间进行预测。
[0169]
本实施例提供了一种图像分量预测方法,对前述实施例的具体实现进行了详细阐述,通过前述实施例的技术方案可以看出,由于对当前块的相邻参考像素进行筛选处理,可以去掉不重要的参考像素点或者存在异常的参考像素点,从而减少了用于跨分量预测中模型参数推导所需的样本数量,不仅降低了计算复杂度和内存带宽,而且还优化了预测模型,提高了预测模型的精确度;另外,本技术主要是针对复杂模型(非线性模型或者多模型)中模型参数的推导过程进行优化,利用至少两个预测子模型来实现对待预测图像分量的预测处理,提升了待预测图像分量的预测准确性,同时提高了视频图像的预测效率。
[0170]
参见图7,其示出了本技术实施例提供的另一种图像分量预测方法的流程示意图。如图7所示,该方法可以包括:
[0171]
s701:确定与图像中当前块的第一图像分量的第一参考像素集合,其中,所述第一参考像素集合包含所述当前块相邻的像素;
[0172]
s702:利用第一参考像素集合,构造n个第一参考像素子集,其中,所述第一参考像素子集中包含所述第一参考像素集合中的部分像素,n等于预测模型的数量;
[0173]
s703:利用所述n个第一参考像素子集,分别计算n个预测模型的模型参数,其中,所述预测模型用于将所述当前块的第一图像分量值映射为所述当前块的第二图像分量的预测值,所述第二图像分量与所述第一图像分量不同。
[0174]
需要说明的是,视频图像可以划分为多个图像块,每个当前待编码的图像块可以称为编码块。其中,每个编码块可以包括第一图像分量、第二图像分量和第三图像分量;而当前块为视频图像中当前待进行第一图像分量、第二图像分量或者第三图像分量预测的编码块。其中,当需要通过预测模型对第一图像分量进行预测时,待预测图像分量为第一图像分量;当需要通过预测模型对第二图像分量进行预测时,待预测图像分量为第二图像分量;当需要通过预测模型对第三图像分量进行预测时,待预测图像分量为第三图像分量。本技术实施例中,待预测图像分量以第二图像分量为例进行描述,通过预测模型可以将当前块的第一图像分量值映射为当前块的第二图像分量的预测值。
[0175]
还需要说明的是,预测模型可以是非线性模型或者复杂模型。其中,复杂模型可以是二次曲线等非线性形式的非线性模型,也可以是由多个线性模型构成的多模型。这样,针对复杂模型,由于在当前块的相邻参考像素中可能会存在部分不重要的参考像素点(比如这些参考像素点的相关性较差)或者部分异常的参考像素点,这时候为了保证模型参数推导的准确性,需要将这些参考像素点剔除掉,从而构造参考像素子集,如此根据参考像素子集所确定的模型参数更为准确,不仅提高了复杂模型的精确度,并且提升了待处理图像分量的预测准确性。
[0176]
本实施例提供了一种图像分量预测方法,通过确定与图像中当前块的第一图像分
量的第一参考像素集合,其中,所述第一参考像素集合包含所述当前块相邻的像素;利用第一参考像素集合,构造n个第一参考像素子集,其中,第一参考像素子集中包含所述第一参考像素集合中的部分像素,n等于预测模型的数量;再利用所述n个第一参考像素子集,分别计算n个预测模型的模型参数,其中,所述预测模型用于将所述当前块的第一图像分量值映射为所述当前块的第二图像分量的预测值,所述第二图像分量与所述第一图像分量不同;这样,由于对当前块的相邻参考像素进行筛选处理,可以去掉不重要的参考像素点或者存在异常的参考像素点,从而减少了相邻参考像素集合中的像素个数,使得相邻参考像素子集中的像素个数较少,不仅降低了计算复杂度和内存带宽,而且还提高了预测模型的精确度;另外,通过至少两个预测子模型对待处理图像分量进行跨分量预测处理,从而还提升了待处理图像分量的预测准确性,同时提高了视频图像的预测效率。
[0177]
进一步地,在一些实施例中,对于s702来说,所述利用第一参考像素集合,构造n个第一参考像素子集,可以包括:
[0178]
根据所述第一参考像素集合,确定至少一个阈值;
[0179]
根据所述至少一个阈值,将所述第一参考像素集合划分成所述n个第一参考像素子集。
[0180]
需要说明的是,n的取值是大于或等于2的正整数。
[0181]
还需要说明的是,阈值是相邻参考像素子集中所包含的参考像素点进行分类的依据,同时也是当前块的第一图像分量重建值的分类依据。另外,阈值还是用于指示建立多个预测子模型所依据的设定值,阈值的大小与该当前块中所有像素点对应的第一图像分量重建值有关。具体来说,阈值的大小,可以通过计算该当前块中所有像素点对应的第一图像分量重建值的均值得到,也可以通过计算该当前块中所有像素点的第一图像分量重建值的中值得到,本技术实施例不作具体限定。
[0182]
在一些实施例中,对于s701来说,所述确定与图像中当前块的第一图像分量的第一参考像素集合,可以包括:
[0183]
根据所述当前块的边上的部分或全部像素,得到所述第一参考像素集合;其中,所述当前块的边包含以下所述至少之一:上侧相邻行、右上侧相邻行、左侧相邻列和左下侧相邻列。
[0184]
需要说明的是,当前块的至少一个边可以包括下述至少之一:上行(也可以称为上侧边)、右上行(也可以称为右上侧边)、左列(也可以称为左侧边)或者左下列(也可以称为左下侧边)。其中,根据这些边上的部分像素或者全部像素,可以组成第一参考像素集合。
[0185]
进一步地,由于在当前块的相邻参考像素中可能会存在部分不重要的参考像素点(比如这些参考像素点的相关性较差)或者部分异常的参考像素点,这时候需要对相邻参考像素进行筛选,将筛选出的候选像素组成第一参考像素集合。因此,在一些实施例中,所述根据所述当前块的边上的部分或全部像素,得到所述第一参考像素集合,可以包括:
[0186]
在所述当前块的边上,确定所述候选像素的候选位置;
[0187]
根据所述候选位置的像素,得到所述第一参考像素集合。
[0188]
进一步地,所述在所述当前块的边上,确定所述候选像素的候选位置,可以包括:
[0189]
根据所述当前块的边上的像素对应的像素位置,确定所述候选位置。
[0190]
进一步地,所述在所述当前块的边上,确定所述候选像素的候选位置,可以包括:
[0191]
根据所述当前块的边上的像素对应的第一图像分量值,确定所述候选位置。
[0192]
进一步地,所述在所述当前块的边上,确定所述候选像素的候选位置,可以包括:
[0193]
根据所述当前块的边上的像素对应的像素位置和所述当前块的边上的像素对应的第一图像分量值,确定所述候选位置。
[0194]
需要说明的是,第一图像分量值主要用于表征像素的图像分量强度,比如亮度值、色度值等;这里,图像分量值越大,表明了图像分量强度越高。
[0195]
还需要说明的是,本技术实施例所选取的参考像素,可以是通过候选像素的候选位置来进行选取的;其中,候选位置可以是根据像素位置确定,也可以是根据第一图像分量值(比如亮度值、色度值等)确定,还可以是根据像素位置和第一图像分量值来共同确定,本技术实施例不作具体限定。也就是说,本技术实施例所选取的部分参考像素点,可以是通过参考像素对应的像素位置来选取的,也可以是根据参考像素对应的图像分量强度值(比如亮度值、色度值等)来选取的;无论是通过参考像素对应的像素位置,还是通过参考像素对应的图像分量强度值对相邻参考像素进行筛选以选取出合适的参考像素点,进而组成第一参考像素集合;这样,将第一参考像素集合划分为n个第一参考像素子集之后,根据n个第一参考像素子集推导得到的模型参数更准确,使得根据该模型参数所构建的预测模型也可以更精确。
[0196]
进一步地,对于候选位置的确定,可以先计算第一采样间隔,然后根据第一采样间隔对该至少一个边进行采样处理,以确定出该至少一个边对应的候选像素的候选位置。因此,在一些实施例中,所述在所述当前块的边上,确定所述候选像素的候选位置,可以包括:
[0197]
确定预设候选像素数,其中,所述预设候选像素数指示从所述当前块的边上选取的像素数;
[0198]
根据所述预设像素数和所述当前块的边的长度,确定所述候选位置;其中,所述当前块的边的长度等于所述当前块的边上的像素数量。
[0199]
需要说明的是,预设候选像素数表示预先设定的待采样的像素点个数,即相邻参考像素子集中所包含的像素个数。以像素位置为例,可以在确定出预设候选像素数之后,根据至少一个边的边长和预设候选像素数来计算出候选像素的候选位置;然后根据候选位置,从相邻参考像素中选取合适的参考像素点来组成相邻参考像素子集。
[0200]
进一步地,对于候选位置的确定,可以先计算第一采样间隔,然后根据第一采样间隔对该至少一个边进行采样处理,以确定出该至少一个边对应的候选像素的候选位置。因此,在一些实施例中,在所述确定预设候选像素数之后,该方法还可以包括:
[0201]
根据所述当前块的边的长度和所述预设候选像素数,计算第一采样间隔。
[0202]
进一步地,在所述计算第一采样间隔之后,该方法还可以包括:
[0203]
对所述第一采样间隔进行调整,得到第二采样间隔。
[0204]
进一步地,所述在所述当前块的边上,确定所述候选像素的候选位置,可以包括:
[0205]
在所述当前块的边上确定基准点,从所述基准点起,以所述第一采样间隔确定所述候选位置。
[0206]
需要说明的是,基准点可以是所述至少一个边的中点,也可以是所述至少一个边的中点偏左的第一个参考像素点位置,还可以是所述至少一个边的中点偏右的第一参考像素点位置,甚至还可以是所述至少一个边的其他参考像素点位置,本技术实施例不作具体
限定。
[0207]
还需要说明的是,当计算得到第一采样间隔之后,还可以对第一采样间隔进行微调,比如对第一采样间隔进行加1或者减1的操作,以此得到第二采样间隔。例如,第一采样间隔为4,那么调整后的第二采样间隔可以为3或者5。在本技术实施例中,针对第一采样间隔的调整,可以进行小幅度(比如,加1或者减1)的调整,但是针对调整幅度的具体设定,本技术实施例不作具体限定。
[0208]
进一步地,在一些实施例中,所述在所述当前块的边上,确定所述候选像素的候选位置,可以包括:
[0209]
在所述当前块的边上确定基准点,以所述第一采样间隔确定所述基准点两侧的所述候选位置。
[0210]
进一步地,在一些实施例中,所述在所述当前块的边上,确定所述候选像素的候选位置,可以包括:
[0211]
在所述当前块的边上确定基准点,从所述基准点起,以所述第二采样间隔确定所述候选位置。
[0212]
进一步地,在一些实施例中,所述在所述当前块的边上,确定所述候选像素的候选位置,可以包括:
[0213]
在所述当前块的边上确定基准点,以所述第二采样间隔确定所述基准点两侧的所述候选位置。
[0214]
进一步地,在一些实施例中,所述在所述当前块的边上,确定所述候选像素的候选位置,可以包括:
[0215]
在所述当前块的边上确定基准点,以所述第一采样间隔确定所述基准点一侧对应的候选位置,以所述第二采样间隔确定所述基准点另一侧对应的候选位置。
[0216]
需要说明的是,当确定出当前块至少一条边的基准点之后,可以按照第一采样间隔或者第二采样间隔进行均匀采样;也可以按照第一采样间隔和第二采样间隔进行非均匀采样,而且采样后所确定的候选位置可以对称分布在基准点两侧,也可以非对称分布在基准点两侧;本技术实施例不作具体限定。
[0217]
进一步地,对于相邻参数像素的筛选处理,还可以对至少一个边的参考像素点进行跳过处理,即将不重要的参考像素点或存在异常的参考像素点跳过去(也可以看作是删除处理),从而得到相邻参考像素子集;也可以在此基础上,即至少一个边的部分参考像素点跳过之后,在对剩余的参考像素点在进行筛选处理,以得到相邻参考像素子集。因此,在一些实施例中,该方法还可以包括:
[0218]
确定所述当前块的边的预设跳过像素数k,其中,k是非负整数;
[0219]
从所述当前块的边的端位置起,将第k个像素位置设置为所述基准点;其中,所述当前块的边的端位置是所述当前块的边的头端像素位置或末端像素位置。
[0220]
需要说明的是,预设跳过像素数表示预先设定的待删除或者待跳过的像素点个数。另外,至少一个边的起始位置表示当前块的上侧边的最左边缘位置或者当前块的左侧边的最上边缘位置,至少一个边的末端位置表示当前块的上侧边的最右边缘位置或者当前块的左侧边的最下边缘位置。
[0221]
还需要说明的是,k的取值可以是预先设置的参考像素点个数,比如1、2或者4等;
还可以是根据当前块的边长以及与之对应的预设比例进行计算得到;但是在实际应用中,仍然根据实际情况进行设定,本技术实施例不作具体限定。其中,与当前块的上侧边对应的预设比例可以用第一预设比例表示,与当前块的左侧边对应的预设比例可以用第二预设比例表示,第一预设比例与第二预设比例的取值可以相同,也可以不相同,本技术实施例也不作具体限定。
[0222]
进一步地,在确定出所述n个第一参考像素子集之后,可以根据该n个第一参考像素子集,计算预测模型的模型参数,以构建预测模型;其中,该预测模型可以包括n个预测子模型,n为大于或等于2的正整数。因此,在一些实施例中,在所述利用所述n个第一参考像素子集,分别计算n个预测模型的模型参数之后,该方法还可以包括:
[0223]
确定所述当前块中像素对应的第一图像分量重建值;
[0224]
从所述n个预测模型中选择一个预测模型;
[0225]
利用所选择的预测模型和所述当前块中像素对应的第一图像分量重建值,计算所述当前块中像素对应的第二图像分量预测值。
[0226]
进一步地,所述从所述n个预测模型中选择一个预测模型,可以包括:
[0227]
将所述当前块中像素对应的第一图像分量重建值与所述至少一个阈值进行比较;
[0228]
根据比较的结果,从所述n个预测模型中选取所述当前块中像素所使用的预测模型。
[0229]
需要说明的是,在建立n个预测模型之后,可以将该当前块中每个像素点对应的第一图像分量重建值与至少一个阈值进行比较,根据比较结果,从n个预测模型中选取每个像素点对应的一个预测模型;然后根据所选取的预测模型对待预测图像分量进行预测处理,从而获得待预测图像分量的预测值。
[0230]
还需要说明的是,预测模型可以是非线性模型或者复杂模型。其中,复杂模型可以是二次曲线等非线性形式的非线性模型,也可以是由多个线性模型构成的多模型。这样,针对复杂模型,由于相邻参考像素子集中已经剔除掉了不重要的参考像素点或者部分异常的参考像素点,使得根据相邻参考像素子集所确定的n组模型参数更为准确,从而提高了复杂模型的精确度,并且提升了待处理图像分量的预测准确性。
[0231]
另外,本技术实施例中,当该图像分量预测方法应用于编码器侧时,可以根据相邻参考像素构造相邻参考像素子集,然后根据该相邻参考像素子集计算预测模型的模型参数,并将计算得到的模型参数写入码流中;该码流由编码器侧传输到解码器侧;对应地,当该图像分量预测方法应用于解码器侧时,可以通过解析码流来直接获得预测模型的模型参数;或者在解码器侧,也可以根据相邻参考像素构造相邻参考像素子集,然后根据该相邻参考像素子集计算预测模型的模型参数,从而构建出预测模型,利用该预测模型对当前块的至少一个图像分量进行跨分量预测处理。
[0232]
本实施例提供了一种图像分量预测方法,对前述实施例的具体实现进行了详细阐述,通过前述实施例的技术方案可以看出,由于对当前块的相邻参考像素进行筛选处理,可以去掉不重要的参考像素点或者存在异常的参考像素点,从而减少了相邻参考像素集合中的像素个数,使得相邻参考像素子集中的像素个数较少,不仅降低了计算复杂度和内存带宽,而且还提高了预测模型的精确度;另外,通过至少两个预测子模型对待处理图像分量进行跨分量预测处理,从而还提升了待处理图像分量的预测准确性,同时提高了视频图像的
预测效率。
[0233]
基于前述实施例相同的发明构思,参见图8,其示出了本技术实施例提供的一种编码器80的组成结构示意图。该编码器80可以包括:第一确定单元801、第一构造单元802和第一计算单元803,其中,
[0234]
所述第一确定单元801,配置为确定图像中当前块的相邻参考像素;
[0235]
所述第一构造单元802,配置为根据所述相邻参考像素,构造相邻参考像素子集;其中,所述相邻参考像素子集中包含有所述相邻参考像素中的部分像素;
[0236]
所述第一计算单元803,配置为根据所述相邻参考像素子集,计算预测模型的模型参数;其中,所述预测模型包括n个预测子模型,n个预测子模型对应n组模型参数,所述预测子模型用于通过对应的模型参数对待预测图像分量进行跨分量预测处理,n为大于或等于2的正整数。
[0237]
在上述方案中,参见图8,编码器80还可以包括第一获取单元804,配置为获取与所述当前块的至少一个边相邻的参考像素;其中,所述当前块的至少一个边包括下述至少之一:上行、右上行、左列和左下列;以及根据获取的参考像素,得到所述相邻参考像素。
[0238]
在上述方案中,参见图8,编码器80还可以包括第一选取单元805,其中,
[0239]
所述第一确定单元801,还配置为基于所述当前块的至少一个边,确定所述候选像素的候选位置;
[0240]
所述第一选取单元805,配置为从所述相邻参考像素中选取与所述候选位置对应的参考像素,将选取得到的参数像素组成所述相邻参考像素子集。
[0241]
在上述方案中,所述第一确定单元801,还配置为基于所述当前块的至少一个边相邻的参考像素对应的像素位置,确定所述候选位置。
[0242]
在上述方案中,所述第一确定单元801,还配置为基于所述当前块的至少一个边相邻的参考像素对应的图像分量强度值,确定所述候选位置。
[0243]
在上述方案中,所述第一确定单元801,还配置为基于所述当前块的至少一个边相邻的参考像素对应的像素位置和图像分量强度值,确定所述候选位置。
[0244]
在上述方案中,所述第一确定单元801,还配置为确定预设候选像素数;其中,所述预设候选像素数表示从所述当前块的至少一个边相邻的参考像素中所采样的像素数量;以及根据所述预设候选像素数和所述当前块的至少一个边的长度,确定所述候选位置;其中,所述当前块的至少一个边的长度等于所述当前块的至少一个边所包含的像素数量。
[0245]
在上述方案中,所述第一计算单元803,还配置为根据所述预设候选像素数和所述当前块的至少一个边的长度,计算第一采样间隔;
[0246]
所述第一确定单元801,还配置为从所述当前块的至少一个边中确定一基准点,按照所述第一采样间隔确定所述候选位置。
[0247]
在上述方案中,参见图8,编码器80还可以包括第一调整单元806,配置为对所述第一采样间隔进行调整,得到第二采样间隔;
[0248]
所述第一确定单元801,还配置为基于所述基准点,按照所述第二采样间隔确定所述候选位置。
[0249]
在上述方案中,所述第一确定单元801,还配置为基于所述基准点,按照所述第一采样间隔确定所述基准点一侧对应的候选位置,按照所述第二采样间隔确定所述基准点另
一侧对应的候选位置。
[0250]
在上述方案中,所述第一确定单元801,还配置为确定所述当前块的至少一个边对应的预设跳过像素数k,其中,k为大于或等于1的正整数;以及从所述当前块的至少一个边的起始位置和/或末端位置开始,确定k个待跳过像素点对应的位置;以及基于所述k个待跳过像素点对应的位置,从所述当前块的至少一个边的起始位置和/或末端位置开始连续跳过k个待跳过像素点,得到所述当前块的至少一个新边;以及基于所述当前块的至少一个新边以及所述预设候选像素数,确定所述候选位置。
[0251]
在上述方案中,所述第一构造单元802,配置为根据所述相邻参考像素子集,构造n个第一相邻参考像素子集;
[0252]
所述第一计算单元803,配置为基于所述n个第一相邻参考像素子集,计算所述n个预测子模型对应的n组模型参数;其中,每一个预测子模型对应一组模型参数。
[0253]
在上述方案中,参见图8,编码器80还可以包括第一划分单元807,其中,
[0254]
所述第一确定单元801,还配置为根据所述相邻参考像素子集,确定至少一个阈值;
[0255]
所述第一划分单元807,配置为根据所述至少一个阈值,将所述相邻参考像素子集划分成所述n个第一相邻参考像素子集。
[0256]
在上述方案中,所述第一确定单元801,还配置为确定所述当前块中每一个像素对应的第一图像分量重建值;
[0257]
所述第一选取单元805,还配置为从所述n个预测子模型中选择一个预测子模型;
[0258]
所述第一计算单元803,还配置为根据所选择的预测子模型和所述当前块中每一个像素对应的第一图像分量重建值,计算所述当前块中每一个像素对应的第二图像分量预测值;其中,所述待预测图像分量为第二图像分量。
[0259]
在上述方案中,参见图8,编码器80还可以包括第一比较单元808,配置为将所述当前块中每一个像素对应的第一图像分量重建值与所述至少一个阈值进行比较;
[0260]
所述第一选取单元805,还配置为根据比较的结果,从所述n个预测子模型中选取所述当前块中每一个像素对应的预测子模型。
[0261]
可以理解地,在本技术实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0262]
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0263]
因此,本技术实施例提供了一种计算机存储介质,该计算机存储介质存储有图像分量预测程序,所述图像分量预测程序被至少一个处理器执行时实现前述实施例中任一项所述的方法。
[0264]
基于上述编码器80的组成以及计算机存储介质,参见图9,其示出了本技术实施例提供的编码器80的具体硬件结构示例,可以包括:第一通信接口901、第一存储器902和第一处理器903;各个组件通过第一总线系统904耦合在一起。可理解,第一总线系统904用于实现这些组件之间的连接通信。第一总线系统904除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为第一总线系统904。其中,
[0265]
第一通信接口901,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
[0266]
第一存储器902,用于存储能够在第一处理器903上运行的计算机程序;
[0267]
第一处理器903,用于在运行所述计算机程序时,执行:
[0268]
确定图像中当前块的相邻参考像素;
[0269]
根据所述相邻参考像素,构造相邻参考像素子集;其中,所述相邻参考像素子集中包含有所述相邻参考像素中的部分像素;
[0270]
根据所述相邻参考像素子集,计算预测模型的模型参数;其中,所述预测模型包括n个预测子模型,n个预测子模型对应n组模型参数,所述预测子模型用于通过对应的模型参数对待预测图像分量进行跨分量预测处理,n为大于或等于2的正整数。
[0271]
可以理解,本技术实施例中的第一存储器902可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(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)。本技术描述的系统和方法的第一存储器902旨在包括但不限于这些和任意其它适合类型的存储器。
[0272]
而第一处理器903可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过第一处理器903中的硬件的集成逻辑电路或者软件形式的指令完成。上述的第一处理器903可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,
或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于第一存储器902,第一处理器903读取第一存储器902中的信息,结合其硬件完成上述方法的步骤。
[0273]
可以理解的是,本技术描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(application specific integrated circuits,asic)、数字信号处理器(digital signal processing,dsp)、数字信号处理设备(dsp device,dspd)、可编程逻辑设备(programmable logic device,pld)、现场可编程门阵列(field

programmable gate array,fpga)、通用处理器、控制器、微控制器、微处理器、用于执行本技术所述功能的其它电子单元或其组合中。对于软件实现,可通过执行本技术所述功能的模块(例如过程、函数等)来实现本技术所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
[0274]
可选地,作为另一个实施例,第一处理器903还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。
[0275]
本实施例提供了一种编码器,该编码器可以包括第一确定单元、第一构造单元和第一计算单元,其中,第一确定单元配置为确定图像中当前块的相邻参考像素;第一构造单元配置为根据所述相邻参考像素,构造相邻参考像素子集;其中,相邻参考像素子集中包含有所述相邻参考像素中的部分像素;第一计算单元配置为根据所述相邻参考像素子集,计算预测模型的模型参数;其中,预测模型包括n个预测子模型,n个预测子模型对应n组模型参数,预测子模型用于通过对应的模型参数对待预测图像分量进行跨分量预测处理,n为大于或等于2的正整数;这样,减少了相邻参考像素集合中的像素个数,使得相邻参考像素子集中的像素个数较少,不仅降低了计算复杂度和内存带宽,而且还提高了预测模型的精确度。
[0276]
基于前述实施例相同的发明构思,参见图10,其示出了本技术实施例提供的一种解码器100的组成结构示意图。该解码器100可以包括:第二确定单元1001、第二构造单元1002和第二计算单元1003,其中,
[0277]
所述第二确定单元1001,配置为确定图像中当前块的相邻参考像素;
[0278]
所述第二构造单元1002,配置为根据所述相邻参考像素,构造相邻参考像素子集;其中,所述相邻参考像素子集中包含有所述相邻参考像素中的部分像素;
[0279]
所述第二计算单元1003,配置为根据所述相邻参考像素子集,计算预测模型的模型参数;其中,所述预测模型包括n个预测子模型,n个预测子模型对应n组模型参数,所述预测子模型用于通过对应的模型参数对待预测图像分量进行跨分量预测处理,n为大于或等于2的正整数。
[0280]
在上述方案中,参见图10,解码器100还可以包括第二获取单元1004,配置为获取与所述当前块的至少一个边相邻的参考像素;其中,所述当前块的至少一个边包括下述至少之一:上行、右上行、左列和左下列;以及根据获取的参考像素,得到所述相邻参考像素。
[0281]
在上述方案中,参见图10,解码器100还可以包括第二选取单元1005,其中,
[0282]
所述第二确定单元1001,还配置为基于所述当前块的至少一个边,确定所述候选
像素的候选位置;
[0283]
所述第二选取单元1005,配置为从所述相邻参考像素中选取与所述候选位置对应的参考像素,将选取得到的参数像素组成所述相邻参考像素子集。
[0284]
在上述方案中,所述第二确定单元1001,还配置为基于所述当前块的至少一个边相邻的参考像素对应的像素位置,确定所述候选位置。
[0285]
在上述方案中,所述第二确定单元1001,还配置为基于所述当前块的至少一个边相邻的参考像素对应的图像分量强度值,确定所述候选位置。
[0286]
在上述方案中,所述第二确定单元1001,还配置为基于所述当前块的至少一个边相邻的参考像素对应的像素位置和图像分量强度值,确定所述候选位置。
[0287]
在上述方案中,所述第二确定单元1001,还配置为确定预设候选像素数;其中,所述预设候选像素数表示从所述当前块的至少一个边相邻的参考像素中所采样的像素数量;以及根据所述预设候选像素数和所述当前块的至少一个边的长度,确定所述候选位置;其中,所述当前块的至少一个边的长度等于所述当前块的至少一个边所包含的像素数量。
[0288]
在上述方案中,所述第二计算单元1003,还配置为根据所述预设候选像素数和所述当前块的至少一个边的长度,计算第一采样间隔;
[0289]
所述第二确定单元1001,还配置为从所述当前块的至少一个边中确定一基准点,按照所述第一采样间隔确定所述候选位置。
[0290]
在上述方案中,参见图10,解码器100还可以包括第二调整单元1006,配置为对所述第一采样间隔进行调整,得到第二采样间隔;
[0291]
所述第二确定单元1001,还配置为基于所述基准点,按照所述第二采样间隔确定所述候选位置。
[0292]
在上述方案中,所述第二确定单元1001,还配置为基于所述基准点,按照所述第一采样间隔确定所述基准点一侧对应的候选位置,按照所述第二采样间隔确定所述基准点另一侧对应的候选位置。
[0293]
在上述方案中,所述第二确定单元1001,还配置为确定所述当前块的至少一个边对应的预设跳过像素数k,其中,k为大于或等于1的正整数;以及从所述当前块的至少一个边的起始位置和/或末端位置开始,确定k个待跳过像素点对应的位置;以及基于所述k个待跳过像素点对应的位置,从所述当前块的至少一个边的起始位置和/或末端位置开始连续跳过k个待跳过像素点,得到所述当前块的至少一个新边;以及基于所述当前块的至少一个新边以及所述预设候选像素数,确定所述候选位置。
[0294]
在上述方案中,所述第二构造单元1002,配置为根据所述相邻参考像素子集,构造n个第一相邻参考像素子集;
[0295]
所述第二计算单元1003,配置为基于所述n个第一相邻参考像素子集,计算所述n个预测子模型对应的n组模型参数;其中,每一个预测子模型对应一组模型参数。
[0296]
在上述方案中,参见图10,解码器100还可以包括第二划分单元1007,其中,
[0297]
所述第二确定单元1001,还配置为根据所述相邻参考像素子集,确定至少一个阈值;
[0298]
所述第二划分单元1007,配置为根据所述至少一个阈值,将所述相邻参考像素子集划分成所述n个第一相邻参考像素子集。
[0299]
在上述方案中,所述第二确定单元1001,还配置为确定所述当前块中每一个像素对应的第一图像分量重建值;
[0300]
所述第二选取单元1005,还配置为从所述n个预测子模型中选择一个预测子模型;
[0301]
所述第二计算单元1003,还配置为根据所选择的预测子模型和所述当前块中每一个像素对应的第一图像分量重建值,计算所述当前块中每一个像素对应的第二图像分量预测值;其中,所述待预测图像分量为第二图像分量。
[0302]
在上述方案中,参见图10,解码器100还可以包括第二比较单元1008,配置为将所述当前块中每一个像素对应的第一图像分量重建值与所述至少一个阈值进行比较;
[0303]
所述第二选取单元1005,还配置为根据比较的结果,从所述n个预测子模型中选取所述当前块中每一个像素对应的预测子模型。
[0304]
可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0305]
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本实施例提供了一种计算机存储介质,该计算机存储介质存储有图像分量预测程序,所述图像分量预测程序被第二处理器执行时实现前述实施例中任一项所述的方法。
[0306]
基于上述解码器100的组成以及计算机存储介质,参见图11,其示出了本技术实施例提供的解码器100的具体硬件结构,可以包括:第二通信接口1101、第二存储器1102和第二处理器1103;各个组件通过第二总线系统1104耦合在一起。可理解,第二总线系统1104用于实现这些组件之间的连接通信。第二总线系统1104除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图11中将各种总线都标为第二总线系统1104。其中,
[0307]
第二通信接口1101,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
[0308]
第二存储器1102,用于存储能够在第二处理器1103上运行的计算机程序;
[0309]
第二处理器1103,用于在运行所述计算机程序时,执行:
[0310]
确定图像中当前块的相邻参考像素;
[0311]
根据所述相邻参考像素,构造相邻参考像素子集;其中,所述相邻参考像素子集中包含有所述相邻参考像素中的部分像素;
[0312]
根据所述相邻参考像素子集,计算预测模型的模型参数;其中,所述预测模型包括n个预测子模型,n个预测子模型对应n组模型参数,所述预测子模型用于通过对应的模型参数对待预测图像分量进行跨分量预测处理,n为大于或等于2的正整数。
[0313]
可选地,作为另一个实施例,第二处理器1103还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。
[0314]
可以理解,第二存储器1102与第一存储器902的硬件功能类似,第二处理器1103与第一处理器903的硬件功能类似;这里不再详述。
[0315]
本实施例提供了一种解码器,该解码器可以包括第二确定单元、第二构造单元和第二计算单元,其中,第二确定单元配置为确定图像中当前块的相邻参考像素;第二构造单元配置为根据所述相邻参考像素,构造相邻参考像素子集;其中,相邻参考像素子集中包含有所述相邻参考像素中的部分像素;第二计算单元配置为根据所述相邻参考像素子集,计算预测模型的模型参数;其中,预测模型包括n个预测子模型,n个预测子模型对应n组模型参数,预测子模型用于通过对应的模型参数对待预测图像分量进行跨分量预测处理,n为大于或等于2的正整数;这样,减少了相邻参考像素集合中的像素个数,使得相邻参考像素子集中的像素个数较少,不仅降低了计算复杂度和内存带宽,而且还提高了预测模型的精确度。
[0316]
需要说明的是,在本技术中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0317]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0318]
本技术所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
[0319]
本技术所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
[0320]
本技术所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
[0321]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
[0322]
工业实用性
[0323]
本技术实施例中,首先确定图像中当前块的相邻参考像素;然后根据相邻参考像素,构造相邻参考像素子集;其中,相邻参考像素子集中包含有所述相邻参考像素中的部分像素;再根据相邻参考像素子集,计算预测模型的模型参数;其中,预测模型包括n个预测子模型,n个预测子模型对应n组模型参数,预测子模型用于通过对应的模型参数对待预测图像分量进行跨分量预测处理,n为大于或等于2的正整数;这样,由于对当前块的相邻参考像素进行筛选处理,可以去掉不重要的参考像素点或者存在异常的参考像素点,从而减少了相邻参考像素集合中的像素个数,使得相邻参考像素子集中的像素个数较少,不仅降低了计算复杂度和内存带宽,而且还提高了预测模型的精确度;另外,通过至少两个预测子模型对待处理图像分量进行跨分量预测处理,从而还提升了待处理图像分量的预测准确性,同时提高了视频图像的预测效率。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献