掌桥专利:专业的专利平台
掌桥专利
首页

编码方法、编码器及计算机可读存储介质

文献发布时间:2023-06-19 19:30:30


编码方法、编码器及计算机可读存储介质

技术领域

本申请属于视频编码领域,特别是涉及一种编码方法、编码器及计算机可读存储介质。

背景技术

由于视频图像数据量比较大,通常需要对其进行编码压缩后,再进行传输或存储,编码后的数据称之为视频码流。

目前在对视频图像数据进行编码时,通常采用线性预测的方式进行编码。其中线性预测是指构建参考块与当前编码块间的线性模型,然后让参考块的重建像素通过线性模型预测当前编码块的像素值,其中线性模型的参数是利用当前编码块及其参考块的相邻重建像素点的重建像素值计算得到的。

本申请的发明人发现,上述的预测过程存在一定的局限性,预测过程有待进一步优化。

发明内容

本申请提供一种编码方法、编码器及计算机可读存储介质,能够优化图像的视觉效果。

本申请实施例第一方面提供编码方法,所述方法包括:获取当前块的当前模板以及参考模板,其中,所述当前模板包括当前帧中已重建的多个第一像素点,所述参考模板包括参考帧中已重建的多个第二像素点,所述当前帧包括所述当前块,所述参考帧与所述当前帧对应;根据所述第一像素点的第一重建像素值、对应的多个第二重建像素值,构建第一目标预测模型,其中,所述多个第二重建像素值包括第一参考像素点周围像素点的重建像素值和所述第一参考像素点的重建像素值中的多个值,所述第一参考像素点是所述参考模板中与所述第一像素点对应的像素点;利用所述第一目标预测模型对所述当前块中的待编码像素点进行预测,得到所述待编码像素点的第一预测值。

本申请实施例第二方面提供一种解码方法,所述方法包括:接收编码器发送的编码数据;通过对所述编码数据进行解码,得到当前解码块中当前像素点的预测值;其中,所述当前解码块中所述当前像素点的预测值是采用上述任一项所述编码方法处理得到的。

本申请实施例第三方面提供一种编码器,所述编码器包括处理器、存储器以及通信电路,所述处理器分别耦接所述存储器、所述通信电路,所述存储器中存储有程序数据,所述处理器通过执行所述存储器内的所述程序数据以实现上述编码方法中的步骤。

本申请实施例第四方面提供一种解码器,所述解码器包括处理器、存储器以及通信电路,所述处理器分别耦接所述存储器、所述通信电路,所述存储器中存储有程序数据,所述处理器通过执行所述存储器内的所述程序数据以实现上述解码方法中的步骤。

本申请实施例第五方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序能够被处理器执行以实现上述方法中的步骤。

有益效果是:本申请在构建预测模型时,不再仅仅根据考虑第一参考像素点,而是同时结合第一参考像素点周围像素点的重建像素值、第一参考像素点的重建像素值中的多个值,因此可以提高所构建第一目标预测模型的准确率,能够提高最终对待编码像素点进行预测的准确率,保证最终图像传输的效果。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:

图1是现有技术中进行线性预测时的简单结构示意图;

图2是本申请编码方法一实施方式的流程示意图;

图3是当前块与当前模板的示意图;

图4是参考块与参考模板的示意图;

图5是第二像素点与周围像素点的示意图;

图6是本申请编码方法在第一应用场景中的部分流程示意图;

图7是本申请编码方法在第二应用场景中步骤S120的流程示意图;

图8是本申请编码方法在第二应用场景中步骤S130的流程示意图;

图9是本申请编码方法在第三应用场景中步骤S110的流程示意图;

图10是当前块和当前块外侧的目标区域的示意图;

图11是图9中步骤S112的流程示意图;

图12是对应图11确定当前模板和参考模板的示意图;

图13是本申请编码方法在第四应用场景中的部分流程示意图;

图14是本申请编码方法在第五应用场景中的部分流程示意图;

图15是本申请编码方法另一实施方式的流程示意图;

图16是三个颜色分量的编码块与各自的参考块、当前模板、参考模板的示意图;

图17是本申请编码方法另一实施方式的流程示意图;

图18是一应用场景中图17所对应的过程图;

图19是本申请编码方法另一实施方式的流程示意图;

图20是一应用场景中图19所对应的过程图;

图21是本申请解码方法一实施方式的流程示意图;

图22是本申请编码器一实施方式的结构示意图;

图23是本申请编码器另一实施方式的结构示意图;

图24是本申请解码器一实施方式的结构示意图;

图25是本申请解码器另一实施方式的结构示意图;

图26是本申请计算机可读存储介质一实施方式的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

需要说明的是,本申请中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要说明的是,本申请中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要说明的是,本申请中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

为了更好地理解本申请的方案,首先对编码的背景技术进行简单介绍:

在视频编解码中,为了提高压缩率,减少需要传输的码字,编码器不会直接对像素值进行编码传输,而是采用帧内或帧间预测模式,即采用当前帧或参考帧的已编码块的重建像素点对当前块的像素值进行预测。其中,采用某种预测模式预测得出的像素值叫做预测像素值,预测像素值与原始像素值的差叫做残差。其中编码器仅需对某种预测模式及采用该种预测模式时产生的残差进行编码,解码端就可根据这些码流信息解码出相应像素值,这样大大降低了编码所需码字。

在对某一个图像帧进行编码时,通常是按照一定的顺序对图像帧中的各个编码块进行编码,例如是按照从左往右,从上往下的顺序依次对图像帧中的各个编码块进行编码,或者也可以按照从右往左,从下往上的顺序依次对各个编码块进行编码。可以理解的是,当按照从左往右,从上往下的顺序依次对图像帧中的各个编码块进行编码时,对于任意一个编码块而言,与其相邻的重建像素点(已经过预测的像素点)分布在该编码块的上方和左方,当按照从右往左,从下往上的顺序依次对各个编码块进行编码时,对于任意一个编码块而言,与其相邻的重建像素点分布在该编码块的下方和右方,其中为了便于说明,以下均以按照从左往右,从上往下的顺序依次对图像帧中的各个编码块进行编码进行说明。

为了便于说明,以下均将当前时刻正在进行编码的编码块定义为当前块,其中,当采用帧间预测的方式进行编码时,需要通过运动搜索等方法在参考帧(可以是任何一个已经经过编码的图像帧)中寻找与当前块最为接近的参考块,并记录当前块与参考块间的运动信息如运动矢量MV(motion vector)。

参阅图1,在图1中当前块为斜线填充部分,用标号1表示,当前块的当前模板为圆点填充部分,其中当前模板包括当前块周围的至少一个重建像素点;当前块的参考块为横线填充部分,用标号2表示,参考块的参考模板为网格填充部分,其中参考模板包括参考块周围的至少一个重建像素点,当前块经过预测后变为预测块,用标号3表示。

其中在采用LIC(local illumination compensation,局部光照补偿)模式进行编码时,编码的过程如下:

利用当前块的当前模板中所有像素点与当前块的参考块的参考模板中所有像素点之间的照明变化构建出一个线性模型,该线性模型表征着当前块与其参考块之间的局部照明关系,该线性模型的参数包括缩放因子α和偏移量β,然后利用该线性模型补偿当前块与参考块在亮度上的差异,即利用如下公式确定当前块中像素点的预测像素值:

qi=α×pi+β,其中,pi为当前块中像素点i的初始预测像素值,qi为像素点i的预测像素值,其中,pi是根据当前块和参考块之间的运动矢量MV进行运动补偿而得到的,关于pi的确定过程在此不做具体介绍。

从上述过程可以看出,在现有采用LIC模式进行编码的过程中,仅仅考虑了参考块中与当前像素点对应的参考点,但是在实际图像中,当前像素点可能不仅仅受与之对应的参考点影响,还有可能受其他像素点影响,因此现有的编码过程与实现情况不符,因此为了克服现有技术中的缺陷,本申请提出了如下方案:

参阅图2,图2是本申请编码方法一实施方式的流程示意图,该编码方法包括:

S110:获取当前块的当前模板以及参考模板,其中,当前模板包括当前帧中已重建的多个第一像素点,参考模板包括参考帧中已重建的多个第二像素点,当前帧包括当前块,参考帧与当前帧对应。

具体地,当前块中指的是当前帧中当前要进行编码的编码块,也可以称为当前编码块。其中,当前块可以是一个预测块,也可以是一个预测块内的子块。同时当前块可以是亮度块,也可以是色度块,在此不做限制。

其中,在获取到当前块后,在参考帧中查找与当前块匹配的编码块,将该编码块定义为参考块。其中,在参考帧中确定参考块的过程可以是采用现有技术中的任何一种方法确定,例如通过运动搜索等方法在参考帧中确定与当前块最接近的编码块。

其中可以采用现有技术中的方法确定当前模板以及参考模板,也可以参见下文的介绍。

S120:根据第一像素点的第一重建像素值、对应的多个第二重建像素值,构建第一目标预测模型,其中,多个第二重建像素值包括第一参考像素点周围像素点的重建像素值和第一参考像素点的重建像素值中的多个值,第一参考像素点是参考模板中与第一像素点对应的像素点。

具体地,当前模板中的第一像素点与参考模板中的第二像素点一一对应,第一像素点在当前模板中的位置与对应的第二像素点在参考模板中的位置相同,为了更好地理解在此结合实例进行说明:

结合图3和图4,在图3中当前块用10表示,当前块周围圆点填充的像素点为当前模板中的第一像素点,在图4中参考块用20表示,参考块周围圆点填充的像素点为参考模板中的第二像素点,则图3中标号为11的第一像素点对应的第二像素点是图4中标号为13的像素点,图3中标号为12的第一像素点对应的第二像素点是图4中标号为14的像素点。

同时第一像素点对应的多个第二重建像素值包括第一参考像素点的重建像素值以及第一参考像素点周围至少一个像素点的重建像素值,或者,多个第二重建像素值包括第一参考像素点周围多个像素点的重建像素值,或者,多个第二重建像素值既包括第一参考像素点的重建像素值,也包括第一参考像素点周围像素点的重建像素值。

为了更好地理解,在此结合图5进行说明:

在图5应用场景中,第二像素点所有周围的像素点与第二像素点构成“九宫格”,在该应用场景中,像素点A是与第一像素点对应的第一参考像素点,第一参考像素点周围至少一个像素点包括像素点B、像素点C、像素点D、像素点E、像素点F、像素点G、像素点H、像素点I中的至少一个像素点,也就是说,此时第一像素点对应的多第二重建像素值包括像素点A、像素点B、像素点C、像素点D、像素点E、像素点F、像素点G、像素点H、像素点I中多个像素点的重建像素值。

同时本实施方式可以是根据所有第一像素点的第一重建像素值以及每个第一像素点对应的多个第二重建像素值,构建第一目标预测模型,也可以是根据部分第一像素点的第一重建像素值以及该部分第一像素点各自对应的多个第二重建像素值,构建第一目标预测模型。

其中,第一像素点对应的多个第二重建像素值具体是哪几个像素点的重建像素值可以是由设计人员预先确定的,也可以是根据当前块的纹理、尺寸等参数确定的,例如,当确定当前块的纹理为水平纹理时,在图5的应用场景中,可以将第一像素点对应的多个第二重建像素值设置为包括像素点E、A以及C的重建像素值。

在现有技术中,构建预测模型都是仅根据第一像素点的第一重建像素值以及第一参考像素点的重建像素值,构建模型。该构建过程仅考虑了第一像素点与第一参考像素点之间的关系,存在局限性,最终会造成预测结果不准确,影响传输图像的视觉效果。

本申请在构建预测模型时,不再仅仅根据考虑第一参考像素点,而是同时结合第一参考像素点周围像素点的重建像素值、第一参考像素点的重建像素值中的多个值,因此可以提高所构建第一目标预测模型的准确率,能够提高最终对待编码像素点进行预测的准确率,保证最终图像传输的效果。

S130:利用第一目标预测模型对当前块中的待编码像素点进行预测,得到待编码像素点的第一预测值。

具体地,在得到第一目标预测模型后,利用该模型对当前块中的待编码像素点进行预测,得到对应的第一预测值。

其中,可以利用第一目标预测模型对当前块中所有的待编码像素点进行预测,得到对应的第一预测值,也可以是对匹配的待编码像素点进行预测,得到对应的第一预测值,其中可参见下文介绍。

从上述内容可以看出,本申请根据第一像素点的第一重建像素值、对应的多个第二重建像素值,构建第一目标预测模型,与传统LI方法相比,能够提高最终对待编码像素点进行预测的准确率,能够保证最终图像传输的效果。其中为了便于说明,将本申请所采用的方法称为改进的LIC方法。

在本实施方式中,步骤S120具体包括:

S121:根据第一像素点的第一重建像素值、对应的多个第二重建像素值,确定多个模型参数。

同时步骤S130具体包括:

S131:根据多个目标值以及多个模型参数,确定待编码像素点的第一预测值,其中,多个目标值与多个模型参数一一对应。

其中,多个目标值包括待编码像素点对应的多个第一目标重建像素值和运算值中的多个值,运算值是对第一目标重建像素值进行运算得到的,多个第一目标重建像素值包括第一目标像素点的重建像素值以及第一目标像素点周围像素点的重建像素值,第一目标像素点是参考块中与待编码像素点对应的像素点。

具体地,多个目标值与多个模型参数一一对应,也就是说,具体使用哪几个目标值参数计算由多个模型参数决定,而模型参数由构建第一目标预测模型的过程决定,也就是说,步骤S1301与构建第一目标预测模型的过程相关。

其中,第一目标像素点在参考块中的位置与待编码像素点在当前块中的位置相同,多个第一目标重建像素值包括第一目标像素点的重建像素值、第一目标像素点周围像素点的重建像素值,例如在图5应用场景中,如果像素点A是第一目标像素点,则第一目标像素点周围像素点的重建像素值包括像素点B、像素点C、像素点D、像素点E、像素点F、像素点G、像素点H、像素点I的重建像素值。

同时运算值是对第一目标重建像素值进行运算得到的,具体地,可以将第一目标重建像素值代入预设函数得到该运算值,其中,预设函数可以是恒等函数,也可以是取平方函数,还可以是取绝对值函数等等,在此不做限制。

在一应用场景中,可以利用如下模型公式确定待编码像素点的第一预测值y:

y=p

其中,p

也就是说,此时分别将多个目标值与各自对应的模型参数相乘,得到多个第一乘积;然后所有第一乘积的和,确定为待编码像素点的第一预测值。

当然本申请并不限制于此,在其他实施方式中,在得到所有第一乘积的和后,还可以对该和进行一系列的计算,从而得到待编码像素点的第一预测值。

或者在其他实施方式中,还可以采用其他的模型公式计算出待编码像素点的第一预测值。

在图5应用场景中,假设像素点A是第一目标像素点,则可以将上述的模型公式设置为几下几种:

模型公式一:a=p

模型公式二:a=p

模型公式三:a=p

模型公式四:a=p

其中,a为待编码像素点的第一预测值,A、B、C、D、E、F、G、H、I分别是像素点A、B、C、D、E、F、G、H、I的重建像素值,c为预设的常数值。

也就是说,在图5应用场景中,可以使用以上任一项模型公式确定待编码像素点的第一预测值,当然还可以使用其他模型公式确定待编码像素点的第一预测值,在此不再一一举例。

从上述内容可以看出,利用第一目标预测模型进行预测的本质就是将利用模型公式进行计算,而构建第一目标预测模型的目的就是确定出该模型公式中的多个模型参数。

为了便于说明,以下结合实例进行说明:

在确定待编码像素点的第一预测值时,如果利用上述模型公式一确定待编码像素点的第一预测值,则构建第一目标预测模型的过程就是确定出y=p

在第一应用场景中,参阅图6,本实施方式的方法还包括:

S210:在依次将第一目标预测模型构建为多个不同的候选预测模型后,分别确定所有待编码像素点在每个候选预测模型下的第一预测值。

执行多次的步骤S120-S130,且每次在执行步骤S120时,都将第一目标预测模型构建为不同的模型,并得到每个待编码像素点在不同模型下的第一预测值,也就是说,对于当前块中的任意待编码像素点而言,可以得到其在不同模型下的第一预测值。

例如,在第一次执行步骤S120-步骤S130时,拟合出上述模型公式一中的多个模型参数,而后使用模型参数已知的模型公式一对每个待编码像素点进行预测,得到每个待编码像素点的第一预测值,第二次执行步骤S120-S130,拟合出上述模型公式二中的多个模型参数,而后使用模型公式三对每个待编码像素点进行预测,第三次执行步骤S120-S130,拟合出上述模型公式三中的多个模型参数,而后使用模型公式三对每个待编码像素点进行预测,第四次执行步骤S120-S130,拟合出上述模型公式四中的多个模型参数,而后使用模型公式四对每个待编码像素点进行预测。

S220:根据所有待编码像素点在每个候选预测模型下的第一预测值,分别确定每个候选预测模型对应的代价值。

具体地,针对每一个候选预测模型,根据当前块中所有待编码像素点在该候选预测模型下的第一预测值,确定该候选预测模型对应的代价值。其中,代价值具体为率失真代价值,同时在确定代价值时,除了需要利用所有待编码像素点的第一预测值外,还可以结合量化参数等其他参数,但是确定代价值的过程属于现有技术,在此不做详述。

S230:将代价值最小的候选预测模型,确定为最终预测模型。

S240:分别将每个待编码像素点在最终预测模型下的第一预测值,确定为每个待编码像素点的最终预测值。

具体地,经过步骤S220可以得到每个候选预测模型对应的代价值,然后可以查找对代价值最小的候选预测模型。

其中,候选预测模型对应的代价值最小,说明该模型下的预测结果更准确,因此将该模型确定为最终预测模型,并将待编码像素点在该模型下的第一预测值,确定为最终预测值。

也就是说,在该应用场景中,使用了多个候选预测模型进行竞争,最终取其一。

在该应用场景中,为了将最终预测模型指示给解码端,生成第一句法元素,响应于第一句法元素指示执行步骤S210-S240,生成第二句法元素,第二句法元素用于指示最终预测模型。

具体地,在LIC方法中,表示使用LIC方法的句法元素为lic_enable_flag,此时设置当lic_enable_flag=1时表示使用LIC方法,当lic_enable_flag=0时表示不使用LIC方法,而当lic_enable_flag=1时,生成第一句法元素lic_mode_flag,当设置lic_mode_flag=1时,表示使用改进的LIC方法,且此时改进的LIC方法中,使用了多个候选预测模型进行竞争,设置lic_mode_flag=0时表示使用传统的LIC方法,当置lic_mode_flag=1时,还会生成第二句法元素lic_mode_type_flag,假设采用4个候选预测模型进行竞争,则将这四个候选预测模型分别用0、1、2、3进行表示,其中,当将标号为0的候选预测模型确定为最终预测模型时,设置lic_mode_type_flag=0,当将标号为1的候选预测模型确定为最终预测模型时,设置lic_mode_type_flag=1,当将标号为2的候选预测模型确定为最终预测模型时,设置lic_mode_type_flag=2,当将标号为3的候选预测模型确定为最终预测模型时,设置lic_mode_type_flag=3。

其中,当不使用多个候选预测模型进行竞争时,无需生成第二句法元素lic_mode_type_flag。

在第二应用场景中,参阅图7,步骤S120具体包括:

S1201:基于第二像素点的重建像素值,对第二像素点进行分类,得到多个第二像素类。

具体地,经过分类后,重建像素值比较接近的两个第二像素点通常会被分到同一个第二像素类中,而重建像素值相差比较大的两个第二像素点通常会被分到不同的第二像素类中。

其中,可以根据像素阈值对第二像素点进行分类,该过程包括:根据像素阈值,生成分类区间,例如像素阈值的数量为三个,这三个像素阈值分别为A1、A2以及A3,则可以构建四个分类区间,分别为(-∞,A1)、[A1,A2)、[A2,A3)以及[A3,+∞)。假设只包括一个像素阈值,该像素阈值为B1,则可以构建两个分类区间,分别为(-∞,B1)以及[B1,+∞),在构建好分类区间后,将重建像素值处于同一分类区间内的第二像素点分到一个像素类中,从而实现对第二像素点进行分类。

或者还可以利用聚类算法对第二像素点进行分类,其中,聚类算法可以是现有技术中的任一种聚类算法,例如k-means聚类算法、DBSCAN聚类算法或者CLARANS聚类算法等,本申请对聚类算法的类型不做限制。

其中,为了便于说明,以根据像素阈值对第二像素点进行分类进行说明,其中,该像素阈值是第二像素点的重建像素值的平均值,根据平均值,对第二像素点进行分类,得到两个第二像素类,其中,一个第二像素类包括重建像素值不超过平均值的第二像素点,另一个第二像素类包括重建像素值超过平均值的第二像素点。

S1202:在当前模板中,分别确定每个第二像素类对应的第一像素类,其中,第一像素类中的第一像素点与对应的第二像素类中的第二像素点一一对应,且与第二像素点对应的第一像素点是当前模板中与第二像素点位置相同的像素点。

具体地,针对每个第二像素类,确定对应的第一像素类,其中确定对应的第一像素类的过程包括:针对第二像素类中的每个第二像素点,在当前模板中查找位置相同的第一像素点,并将该第一像素点加入第二像素类对应的第一像素类中。也就是说,第一像素类中的第一像素点与对应的第二像素类中的第二像素点一一对应,且与第二像素点对应的第一像素点是当前模板中与第二像素点位置相同的像素点。

S1203:分别根据每个第一像素类中第一像素点的第一重建像素值、对应的多个第二重建像素值,构建每个第一像素类对应的第一目标预测模型。

具体地,针对每个第一像素类而言,构建其对应的第一目标预测模型,该过程包括:根据第一像素类中第一像素点的第一重建像素值、对应的至少一个第二重建像素值,构建第一目标预测模型。其中,构建第一目标预测模型的具体过程已经在前面进行了介绍,在此不做赘述。

此时参阅图8,步骤S130包括:

S1301:基于参考块中第三像素点的重建像素值,对第三像素点进行分类,得到多个第三像素类,其中,对第三像素点进行分类的规则与对第二像素点进行分类的规则相同。

具体地,在经过步骤S132后,重建像素值比较接近的两个第三像素点通常会被分到同一个第三像素类中,而重建像素值相差比较大的两个第三像素点通常会被分到不同的第三像素类中。

其中,对第二像素点进行分类的规则与对第三像素点进行分类的规则相同指的是,在对第二像素点进行分类时,将两个第二像素点分到同一个第二像素类中的标准,与第三像素点进行分类时,将两个第三像素点分到同一个第三像素类中的标准相同。

例如当通过第二像素点重建像素值的平均值对第二像素点进行分类时,此时也通过该平均值对第三像素点进行分类,即得到两个第三像素类,一个第三像素类包括重建像素值不超过该平均值的第三像素点,另一个第三像素类包括重建像素值超过该平均值的第三像素点。

S1302:利用待编码像素点对应的第一目标预测模型对待编码像素点进行预测,得到待编码像素点的第一预测值。

其中,待编码像素点对应的第一目标预测模型是多个第一像素类中目标第一像素类对应的第一目标预测模型,目标第一像素类与多个第二像素类中的目标第二像素类对应,目标第二像素类与多个第三像素类中的目标第三像素类类别相同,目标第三像素类包括参考块中与待编码像素点对应的像素点。

具体地,确定待编码像素点对应的第一目标预测模型的过程包括:首先在参考块中确定与该待编码像素点对应的第三像素点,然后判断该第三像素点所处的第三像素类,然后查找与该第三像素类类别相同的第二像素类,接着查找该第二像素类对应的第一像素类,最后该第一像素类对应的第一目标预测模型就是待编码像素点对应的第一目标预测模型。

在确定好待编码像素点对应的第一目标预测模型后,利用该模型对待编码像素点进行预测,得到该待编码像素点的第一预测值。

其中,可以理解的是,如果两个待编码像素点各自对应第三像素点属于同一个第三像素类,则这两个待编码像素点对应的第一目标预测模型为同一个模型。

在上述方案中,可以实现使用多个第一目标预测模型进行预测,可以很好地适应像素内容的变化。

需要说明的是,在其他应用场景中,也可以不对第二像素点进行分类,此时利用每个第一像素点的第一重建像素值、对应的至少一个第二重建像素值,构建一个第一目标预测模型,然后利用该模型预测得到每个待编码像素点的第一预测值,或者也可以利用部分第一像素点的第一重建像素值、对应的至少一个第二重建像素值,构建一个第一目标预测模型,然后利用该模型预测得到每个待编码像素点的第一预测值。

在第三应用场景中,参阅图9,步骤S110获取当前块的当前模板以及参考模板的步骤,包括:

S111:在参考帧中确定参考块。

S112:分别根据当前块外侧、参考块外侧的同一目标区域中的重建像素点,确定当前模板以及参考模板。

其中,当前块外侧的目标区域包括当前块外侧的第一子区域、第二子区域、第三子区域、第四子区域以及第五子区域中的至少一个,第一子区域位于当前块的第一侧且两端与当前块的两端分别齐平,第二子区域位于当前块的第二侧且两端与当前块的两端分别齐平,第三子区域连接第一子区域与第二子区域,第四子区域位于第一子区域背离第三子区域一侧,第五子区域位于第二子区域背离第三子区域一侧。

具体地,分别根据当前块、参考块外侧同一区域中的重建像素点,确定当前模板以及参考模板。

结合图10,以当前块为例,当前块外侧的目标区域包括第一子区域、第二子区域、第三子区域、第四子区域以及第五子区域中的至少一个子区域,且目标区域可以是设计人员预先设置的,也可以是根据当前块的纹理、尺寸等参数确定的。

其中,第一子区域、第四子区域的宽可以与当前块的宽相等,第二子区域、第五子区域的高可以与当前块的高相等,其中,第一子区域、第四子区域的高相等,第二子区域、第五子区域的宽相等,其中,第一子区域、第四子区域的高可以根据实际需求设置,第二子区域、第五子区域的宽也可以根据实际需求设置。例如,设置第一子区域、第四子区域包括6行像素,第二子区域、第五子区域包括6列像素。

其中在确定好目标区域后,分别将当前块外侧目标区域中的重建像素点确定为当前模板中的像素点,将参考块外侧目标区域中的重建像素点确定为参考模板中的像素点。

结合图1,在现有技术中,相当于将目标区域设置为包括第一子区域以及第二子区域,且第一子区域只包括一行像素,第二子区域只包括一列像素,无法利用更多的空域信息,而本申请按照上述方式设置目标区域,可以充分利用空域信息,保证最终预测结果的准确率。

同时在该应用场景中,考虑到可能存在无法全部获取到当前块、参考块外侧目标区域中的重建像素点,例如若当前块、参考块外侧的目标区域超过边界,此时只能获取到当前块、参考块外侧的目标区域中的部分重建像素点,从而造成当前块外侧目标区域中能够获取的重建像素点无法与参考块外侧目标区域中能够获取的重建像素点一一对应。而为了避免该现象,此时参阅图11,步骤S112具体包括:

S1121:确定当前块外侧的第一有效区域,其中,第一有效区域处于当前块外侧的目标区域中,且第一有效区域包括当前块外侧能够被获取的重建像素点。

S1122:确定参考块外侧的第二有效区域,其中,第二有效区域处于参考块外侧的目标区域中,且第二有效区域包括参考块外侧能够被获取的重建像素点。

S1123:确定第一有效区域以及第二有效区域的公共区域。

S1124:分别根据当前块外侧、参考块外侧的公共区域中的重建像素点,确定当前模板以及参考模板。

具体地,第一有效区域处于当前块外侧的目标区域中,且第一有效区域包括能够被获取的所有重建像素点,第二有效区域处于参考块外侧的目标区域中,且第二有效区域也包括能够被获取的所有重建像素点。

为了更好地理解,在此结合图12的实例进行说明:

在图中,当前块外侧斜线填充区域为当前块外侧的第一有效区域,参考块外侧圆点填充区域为参考块外侧的第二有效区域,例如,在图中,假设当前块的上方最多可以获得1倍块宽6行区域内的重建像素点,左边最多可以获得2倍宽高6列区域内的重建像素点,而最多可以获得参考块上方4行2倍块宽以及左边0行区域的重建像素点,从而得到第一有效区域和第二有效区域的公共区域:上方4行1倍宽的区域,则最终分别将当前块、参考块外侧公共区域中的重建像素点确定为当前模板中的像素点、参考模板中的像素点,最终利用这部分重建像素点去构建模型。

在第四应用场景中,参阅图13,本申请的方法还包括:

S310:依次以目标区域为多个不同的候选区域,确定每个待编码像素点在每个候选区域下的第一预测值。

具体地,执行多次的步骤S110-S130,且每次在执行步骤S110时,都将目标区域设置为不同的候选区域,并得到每个待编码像素点在不同的候选区域下的第一预测值。

例如,多个候选区域多包括的子区域不同,例如一个候选区域包括第一子区域、第三子区域以及第四子区域,另一个候选区域包括第二子区域、第三子区域以及第五子区域,还有一个候选区域包括第一子区域、第二子区域、第三子区域、第四子区域以及第五子区域。

S320:分别根据每个待编码像素点在每个候选区域下的第一预测值,确定每个候选区域对应的代价值。

具体地,针对每个候选区域,根据所有待编码像素点在该候选区域下的第一预测值,确定候选区域对应的代价值。其中,该代价值具体为率失真代价值,确定代价值的过程属于现有技术,在此不做详述。

S330:将代价值最小的候选区域,确定为最终区域。

S340:将每个待编码像素点在最终区域下的第一预测值,确定为每个待编码像素点的最终预测值。

具体地,在得到每个候选区域对应的代价值后,可以查找代价值最小的候选区域。

其中,候选区域对应的代价值最小,说明将目标区域确定为候选区域后,最终的预测结果更加准确,因此将该候选区域确定为最终区域,并将待编码像素点在该最终区域下的第一预测值,确定为最终预测值。

也就是说,在该应用场景中,使用了多个候选区域进行竞争,最终取其一。

同时在该应用场景中,为了将最终区域指示给解码端,还生成第一生成第一句法元素,响应于第一句法元素指示执行步骤S310-S340,生成第二句法元素,第二句法元素用于指示最终区域。

具体地,在LIC方法中,表示使用LIC方法的句法元素为lic_enable_flag,此时设置当lic_enable_flag=1时表示使用LIC方法,当lic_enable_flag=0时表示不使用LIC方法,而当lic_enable_flag=1时,生成第一句法元素lic_mode_flag,当设置lic_mode_flag=1时,表示使用改进的LIC方法,且此时改进的LIC方法中,使用了多个候选区域进行竞争,设置lic_mode_flag=0时表示使用传统的LIC方法,当lic_mode_flag=1时,还会生成第二句法元素lic_TL_flag,假设采用3个候选区域进行竞争,则将这3个候选区域分别用0、1、2进行表示,其中,当将标号为0的候选区域确定为最终区域时,设置lic_TL_flag=0,当将标号为1的候选区域确定为最终区域时,设置lic_TL_flag=1,当将标号为2的候选区域确定为最终区域时,设置lic_TL_flag=2。

其中,当不使用多个候选区域进行竞争时,无需生成第二句法元素。

在第五应用场景中,参阅图14,本实施方式的方法还包括:

S410:根据第一像素点的第一重建像素值以及第一参考像素点的重建像素值,构建第二目标预测模型。

S420:利用第二目标预测模型,分别对当前块中的每个待编码像素点进行预测,得到每个待编码像素点的第二预测值。

具体地,步骤S410至步骤S420的是利用传统的LIC方法对待编码像素点进行预测,得到每个待编码像素点的第二预测值。

S430:根据当前块中所有待编码像素点的第一预测值,确定第一代价值。

S440:根据当前块中所有待编码像素点的第二预测值,确定第二代价值。

S450:响应于第一代价值小于第二代价值,分别将每个待编码像素点的第一预测值确定为待编码像素点各自的最终预测值,否则分别将每个待编码像素点的第二预测值确定为待编码像素点各自的最终预测值。

具体地,如果第一代价值小于第二代价值,则说明采用本申请改进的LIC方法进行预测的准确率高于采用传统LIC方法进行预测的准确率,因此将采用本申请改进的LIC方法进行预测的结果作为最终结果,否则将采用传统LIC进行预测的结果作为最终结果。

也就是说,上述将采用现有方案进行预测的结果和采用本申请改进的LIC方法进行预测的结果进行竞争,最终两者取其一。

其中,当采用现有方案进行预测的结果和采用本申请步骤S110-S130进行预测的结果进行竞争时,为了将最终的竞争结果告知解码器,生成第一句法元素,响应于第一句法元素执行步骤S410-S450,生成第二句法元素,其中,当第一代价值小于第二代价值时,表明使用改进的LIC方法预测更优,则将第一代价值设置为第一数值,例如为1,否则,表明使用传统的LIC方法预测更优,则将第二句法元素设置为第二数值,例如为0。

具体地,在LIC方法中,表示使用LIC方法的句法元素为lic_enable_flag,此时设置当lic_enable_flag=1时表示使用LIC方法,当lic_enable_flag=0时表示不使用LIC方法,而当lic_enable_flag=1时,生成第一句法元素lic_mode_flag,当设置lic_mode_flag=0时,表示使用传统的LIC方法,当设置lic_mode_flag=1时,表示使用改进的LIC方法。

为了更好地理解句法元素的设置,下面再进行详细的介绍:

在第一实例中,当不采用多个候选预测模型、多个候选区域进行竞争时,如果直接使用本申请改进的LIC,此时无需增加新的句法元素,直接使用LIC技术中的原句法元素lic_enable_flag,当设置lic_enable_flag=1时,表示使用改进的LIC方法,且如果在预测过程中发生计算无解的现象,则使用传统的LIC方法进行预测,设置lic_enable_flag=0时,表示既不采用改进的LIC方法,也不采用传统的LIC方法,既不做光照补偿。

在第二实施例中,当不采用多个候选预测模型、多个候选区域进行竞争,而是采用改进的LIC和传统的LIC进行竞争时,使用LIC技术中的原句法元素lic_enable_flag,当设置lic_enable_flag=1时,表示使用LIC方法,当设置lic_enable_flag=0时,表示不使用LIC方法,即不做光照补偿。

而当设置lic_enable_flag=1时,新增句法元素lic_mode_flag,当设置lic_mode_flag=0时,表示使用传统的LIC方法,当设置lic_mode_flag=1时,表示使用改进的LIC方法。

第三实施例中,采用多个候选预测模型第一目标预测模型或者采用多个候选区域进行竞争。

首先使用LIC技术中的原句法元素lic_enable_flag,当设置lic_enable_flag=1时,表示使用LIC方法,当设置lic_enable_flag=0时,表示不使用LIC方法,即不做光照补偿。

同时当设置lic_enable_flag=1时,新增句法元素lic_mode_flag,当设置lic_mode_flag=0时,表示使用传统的LIC方法,当设置lic_mode_flag=1时,表示使用改进的LIC方法。

当设置lic_mode_flag=1时,新增句法元素lic_mode_type_flag,用于指示最终预测模型,或者新增句法元素lic_TL_flag,用于指示最终区域,具体可参见上文相关介绍。

从上述内容可以看出,第一应用场景采用了多个候选预测模型进行竞争,第二应用场景构建多个第一目标预测模型,第三应用场景对当前块外侧第一有效区域和参考块外侧第二有效区域取公共区域处理,第四应用场采用了多个候选区域进行竞争。

在其他应用场景中,可以将上述第一应用场景、第二应用场景、第三应用场景以及第四应用场景的方案进行任意组合,例如既采用多个目标非线性预测进行竞争,也采用多个候选区域进行竞争,或者,构建多个第一目标预测模型,以及采用多个候选预测模型进行竞争等等。

为了便于理解,下面结合实例进行说明:

在第一实例中:

存在3个的候选区域:一个候选区域包括第一子区域、第三子区域以及第四子区域,另一个候选区域包括第二子区域、第三子区域以及第五子区域,还有一个第二目标区域包括第一子区域、第二子区域、第三子区域、第四子区域以及第五子区域。

存在4个候选预测模型,分别对应上述模型公式一至四。

通过3个候选区域中的任意候选区域与4个候选预测模型中的任意候选预测模型进行组合,可以得到12个组合。

在该实施例中,不对第二像素点进行分类处理,此时确定待编码像素点在每个组合下的第一预测值,根据所有待编码像素点在该组合下的第一预测值,确定该组合对应的代价值,从而可以得到12个组合各自对应的代价值。最终将代价值最小的组合确定为最终组合,将待编码像素点在该最终组合下的第一预测值确定为像素点的最终预测值。

在第二实例中,既针对每个第一像素类都构建一个第一目标预测模型,也采用多个第一第一目标预测模型进行竞争,同时还采用多个候选区域进行竞争,同时假设第一像素类的数量为两个,也就是构建两个第一目标预测模型,同时采用4个候选预测模型进行竞争,以及采用3个候选区域(候选区域1、候选区域2以及候选区域3)进行竞争。

首先可以理解的是,因为将第一像素类的数量为两个,也就是构建两个第一目标预测模型,因此在预测时,可以将当前块中的待编码像素点分为两个第四像素类,对于同一个第四像素类中的点,对应的第一目标预测模型相同,属于不同第四像素类中的点,对应的第一目标预测模型不相同。为了便于说明,将构建的两个第一目标预测模型简称为模型1和模型2,且定义第四像素类1对应模型1,第四像素类2对应模型2。

在编码时,首先将目标区域设置为候选区域1,在该候选区域下,将模型1依次构建为4个候选预测模型,将模型2依次构建为4个候选预测模型,由于可以将模型1和模型2构建为不同的模型,因此此时将模型1和模型2对应的候选预测模型进行组合,可以得到4×4=16种组合,根据所有待编码像素点在每个组合下的第一预测值,确定该组合对应的代价值,从而可以得到16个组合在候选区域1下各自对应的代价值。

然后再将目标区域设置为候选区域2,重复上述步骤,可以得到上述16个组合在候选区域2下各自对应的代价值。

接着再将目标区域设置为候选区域3,重复上述步骤,可以得到上述16个组合在候选区域3下各自对应的代价值。

然后在所有得到的代价值找到最小的代价值,然后确定该最小的代价值对应的组合以及候选区域,最后将当前块在该组合以及候选区域下的第一预测值确定为最终预测值。

参阅图15,本申请的另一实施方式中,解码方法还包括:

S510:获取第一编码块中每个像素点的目标像素值,其中,目标像素值是像素点的目标预测值或者是根据目标预测值得到的重建像素值中,且将第一编码块或者第一编码块中至少一个子块作为当前块,得到当前块中每个像素点的第一预测值,并将第一预测值作为像素点的目标预测值。

具体地,第一编码块中像素点的目标像素值可以是目标预测值,也可以是根据目标预测值得到的重建像素值,但是为了便于说明,以下均以目标像素值是目标预测值为例进行说明。

其中第一编码块中至少一个子块的目标预测值是通过步骤S110-S130得到的,详细过程可参见上述相关内容,在此不做赘述。

或者,将第一编码块作为上述的当前块,从而得到第一编码块中每个像素点的第一预测值。

S520:根据第一编码块的当前模板中像素点的重建像素值与第二编码块的当前模板中像素点的重建像素值,构建第一预测模型,其中,第一编码块与第二编码块对应。

S530:根据第一预测模型以及第一编码块,得到第二编码块中每个像素点的预测值。

其中,第一编码块是亮度块,第二编码块是与第一编码块对应的色度块,或者,第一编码块是色度块,第二编码块是与第一编码块对应的亮度块或者色度块。

具体地,参阅图16,将为亮度块的编码块用Y表示,为色度块的两个编码块分别用C1和C2表示,且每个编码块对应的参考块、参考模板以及当前模板分别用图15中的符号进行表示。

在本实施方式中,如果将Y作为第一编码块,则rY预测rC1的过程构建模型,然后将模型应用于Y,得到C1中各个像素点的预测值,同时rY预测rC2的过程用于构建模型,然后将模型应用于Y,得到C2中各个像素点的预测值。

或者将C1作为第一编码块,则rC1预测rC2的过程用于构建模型,然后将该模型应用于C1预测C2,得到C2中各个像素点的预测值;或者C2作为第一编码块,rC2预测rC1的过程用于构建模型,然后将该模型应用于C2预测C1,得到C1中各个像素点的预测值。

或者将C1作为第一编码块,则rC1预测rY的过程用于构建模型,然后将该模型应用于C1预测Y,得到Y中各个像素点的预测值。

或者将C2作为第一编码块,则rC2预测rY的过程用于构建模型,然后将该模型应用于C2预测Y,得到Y中各个像素点的预测值。

其中,如果将Y作为第二编码块,为了提高预测的准确率,首先将C1作为第一编码块,得到Y中各个像素点的预测值,然后再将C2作为第一编码块,得到Y中各个像素点的预测值,然后综合两种预测结果,得到最终预测结果。

其中,构建模型的过程可参照上述构建第一目标预测模型的过程,例如构建模型时,结合图5,可以按照如下模型公式构建模型:

a=p

参阅图17,在本申请另一实施方式中,编码方法还包括:

S610:获取第一编码块中每个像素点的目标像素值,其中,目标像素值是像素点的目标预测值或者是根据目标预测值得到的重建像素值中,且将第一编码块或者第一编码块中至少一个子块作为当前块,得到当前块中每个像素点的第一预测值,并将第一预测值作为像素点的目标预测值。

具体地,该步骤与步骤S510相同,具体可参见上述相关内容,在此不做赘述。

S620:根据第一目标参考块中像素点的重建像素值与第一编码块中像素点的目标像素值,构建第二预测模型,其中,第一目标参考块与第一编码块对应。

S630:根据第二预测模型以及于第二目标参考块,得到第二编码块中每个像素点的预测值,其中,第二目标参考块与第二编码块对应。

其中,第一编码块是亮度块,第二编码块是与第一编码块对应的色度块,或者,第一编码块是色度块,第二编码块是与第一编码块对应的亮度块或者色度块。

结合图16,在本实施方式中,如果以Y作为第一编码块,则Y'预测Y的过程用于构建模型,然后将该模型应用于C1'预测C1,同时将该模型应用于C2'预测C2。此时该过程可以用图18进行表示。

如果将C1作为第一编码块,则C1'预测C1的过程用于构建模型,然后将该模型应用于C2'预测C2。

如果将C2作为第一编码块,则C2'预测C2的过程用于构建模型,然后将该模型应用于C1'预测C1。

如果将C1作为第一编码块,则C1'预测C1的过程用于构建模型,然后将该模型应用于Y'预测Y。

如果将C2作为第一编码块,则C2'预测C2的过程用于构建模型,然后将该模型应用于Y'预测Y。

其中,如果将Y作为第二编码块,为了提高预测的准确率,首先将C1作为第一编码块,得到Y中各个像素点的预测值,然后再将C2作为第一编码块,得到Y中各个像素点的预测值,然后综合两种预测结果,得到最终预测结果。

其中,构建模型的过程可参照上述构建第一目标预测模型的过程,在此不再赘述,例如构建模型时,结合图5,可以按照如下模型公式构建模型:

a=p

参阅图19,在本申请另一实施方式中,编码方法还包括:

S710:获取第一编码块中每个像素点的目标像素值,其中,目标像素值是像素点的目标预测值或者是根据目标预测值得到的重建像素值中,且将第一编码块或者第一编码块中至少一个子块作为当前块,得到当前块中每个像素点的第一预测值,并将第一预测值作为像素点的目标预测值。

具体地,该步骤与步骤S510相同,具体可参见上述相关内容,在此不做赘述。

S720:根据第一目标参考块中像素点的重建像素值与第二目标参考块中像素点的重建像素值,构建第三预测模型,其中,第一目标参考块与第一编码块对应,第二目标参考块与第二编码块对应。

S730:根据第三预测模型以及第一编码块,得到第二编码块中每个像素点的预测值。

其中,第一编码块是亮度块,第二编码块是与第一编码块对应的色度块,或者,第一编码块是色度块,第二编码块是与第一编码块对应的亮度块或者色度块。

具体地,结合图16,在本实施方式中,如果以Y作为第一编码块,Y'预测C1'的过程用于构建模型,则将该模型应用于Y预测C1;同时Y'预测C2'的过程用于构建模型,则将该模型应用于Y预测C2。具体地,该过程可以参见图20。

如果将C1作为第一编码块,C1'预测C2'的过程用于构建模型,然后将该模型应用于C1预测C2。

或者如果C2作为第一编码块,C2'预测C1'的过程用于构建模型,然后将该模型应用于C2预测C1。

或者,如果将C1作为第一编码块,C1'预测Y'的过程用于构建模型,然后将该模型应用于C1预测Y。

或者如果C2作为第一编码块,C2'预测Y'的过程用于构建模型,然后将该模型应用于C2预测Y'。

其中,如果将Y作为第二编码块,为了提高预测的准确率,首先将C1作为第一编码块,得到Y中各个像素点的预测值,然后再将C2作为第一编码块,得到Y中各个像素点的预测值,然后综合两种预测结果,得到最终预测结果。

其中,构建模型的过程可参照上述构建第一目标预测模型的过程,在此不再赘述,例如构建模型时,结合图5,可以按照如下模型公式构建模型:

a=p

参阅图21,图21是本申请解码方法一实施方式的流程示意图,该方法包括:

S810:接收编码器发送的编码数据。

S820:通过对编码数据进行解码,得到当前解码块中当前像素点的预测值。

其中,当前解码块中当前像素点的最终预测值是采用上述任一项实施方式中编码方法得到的,详细的步骤可参见相关内容,在此不再赘述。

参阅图22,图22是本申请编码器一实施方式的结构示意图。该编码器300包括处理器310、存储器320以及通信电路330,处理器310分别耦接存储器320、通信电路330,存储器320中存储有程序数据,处理器310通过执行存储器320内的程序数据以实现上述任一项实施方式中编码方法的步骤,其中详细的步骤可参见上述实施方式,在此不再赘述。

其中,编码器300可以是电脑、手机等任一项具有算法处理能力的装置,在此不做限制。

参阅图23,图23是本申请编码器另一实施方式的结构示意图。该编码器400包括依次连接的获取模块410、构建模块420以及预测模块430。

获取模块410用于获取当前块的当前模板以及参考模板,其中,所述当前模板包括当前帧中已重建的多个第一像素点,所述参考模板包括参考帧中已重建的多个第二像素点,所述当前帧包括所述当前块,所述参考帧与所述当前帧对应。

构建模块420用于根据第一像素点的第一重建像素值、对应的多个第二重建像素值,构建第一目标预测模型,其中,多个第二重建像素值包括第一参考像素点周围像素点的重建像素值和第一参考像素点的重建像素值中的多个值,第一参考像素点是参考模板中与第一像素点对应的像素点。

预测模块430用于利用所述第一目标预测模型对所述当前块中的待编码像素点进行预测,得到所述待编码像素点的第一预测值。

其中,编码器400在工作时执行上述任一项实施方式中编码方法的步骤,详细的步骤可参见上述相关内容,在此不做赘述。

其中,编码器400可以是电脑、手机等任一项具有算法处理能力的装置,在此不做限制。

参阅图24,图24是本申请解码器一实施方式的结构示意图。该解码器500包括处理器510、存储器520以及通信电路530,处理器510分别耦接存储器520、通信电路530,存储器520中存储有程序数据,处理器510通过执行存储器520内的程序数据以实现上述任一项实施方式中解码方法的步骤,其中详细的步骤可参见上述实施方式,在此不再赘述。

其中,解码器500可以是电脑、手机等任一项具有算法处理能力的装置,在此不做限制。

参阅图25,图25是本申请解码器另一实施方式的结构示意图。该解码器600包括获取模块610以及解码模块620。

获取模块610用于接收编码器发送的编码数据。

解码模块620与获取模块610连接,用于通过对编码数据进行解码,得到当前解码块中当前像素点的预测值。

其中,当前解码块中当前像素点的预测值是采用上述任一项实施方式中编码方法处理得到的,具体过程可参见上述内容,在此不再赘述。

其中,解码器600在工作时执行上述任一项实施方式中解码方法的步骤,详细的步骤可参见上述相关内容,在此不做赘述。

其中,解码器600可以是电脑、手机等任一项具有算法处理能力的装置,在此不做限制。

参阅图26,图26是本申请计算机可读存储介质一实施方式的结构示意图。该计算机可读存储介质700存储有计算机程序710,计算机程序710能够被处理器执行以实现上述任一项方法中的步骤。

其中,计算机可读存储介质700具体可以为U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等可以存储计算机程序710的装置,或者也可以为存储有该计算机程序710的服务器,该服务器可将存储的计算机程序710发送给其他设备运行,或者也可以自运行该存储的计算机程序710。

以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。

相关技术
  • 一种编码方法、解码方法及装置、计算机可读存储介质
  • 编码方法、设备及可读存储介质
  • 分层存储方法、分层存储装置及计算机可读存储介质
  • 医学图像的存储方法及装置、计算机可读存储介质
  • 用于增强存储设备的服务质量的存储系统、方法和非暂态计算机可读介质
  • 一种编码方法、编码器及计算机可读存储介质
  • 编码方法、编码器及计算机可读存储介质
技术分类

06120115932872