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

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

Info

Publication number
CN115134600B
CN115134600B CN202211064188.7A CN202211064188A CN115134600B CN 115134600 B CN115134600 B CN 115134600B CN 202211064188 A CN202211064188 A CN 202211064188A CN 115134600 B CN115134600 B CN 115134600B
Authority
CN
China
Prior art keywords
pixel
coded
coding block
reference lines
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211064188.7A
Other languages
English (en)
Other versions
CN115134600A (zh
Inventor
林聚财
方诚
江东
殷俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202211064188.7A priority Critical patent/CN115134600B/zh
Publication of CN115134600A publication Critical patent/CN115134600A/zh
Application granted granted Critical
Publication of CN115134600B publication Critical patent/CN115134600B/zh
Priority to PCT/CN2023/107408 priority patent/WO2024012559A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请公开了一种编码方法、编码器及计算机可读存储介质,该编码方法包括:获取当前编码块的参考模板;基于参考模板中第一像素点的第一重建像素值,对第一像素点进行分类,得到多个第一像素类;根据各第一像素类中第一像素点的第一重建像素值与对应的第二重建像素值,构建各第一像素类对应的第一预测值调整模型;基于当前编码块中待编码像素点的初始预测值,对待编码像素点进行分类,得到多个第二像素类;分别利用每个第二像素类匹配的目标预测值调整模型,对第二像素类中每个待编码像素点分别进行预测,得到每个待编码像素点的第一预测值。本申请所提供的编码方法能够提高对待编码像素点进行预测的准确率。

Description

编码方法、编码器及计算机可读存储介质
技术领域
本申请属于编码领域,特别是涉及一种编码方法、编码器及计算机可读存储介质。
背景技术
由于视频图像数据量比较大,通常需要对其进行编码压缩后,再进行传输或存储,编码后的数据称之为视频码流。
目前在对视频图像数据进行编码时,可以采用线性预测的方式进行编码。其中线性预测是指构建参考块与当前编码块间的线性模型,然后通过线性模型预测当前编码块的像素值,其中线性模型的参数是利用当前编码块及其参考块的相邻重建像素点的重建像素值计算得到的。
本申请的发明人发现,上述现有的线性预测过程存在一定的局限性,线性预测过程有待进一步优化。
发明内容
本申请提供一种编码方法、编码器及计算机可读存储介质,能够优化图像的视觉效果。
本申请实施例第一方面提供编码方法,所述方法包括:获取当前编码块的参考模板;基于所述参考模板中第一像素点的第一重建像素值,对所述第一像素点进行分类,得到多个第一像素类;根据各所述第一像素类中所述第一像素点的第一重建像素值与对应的第二重建像素值,构建各所述第一像素类对应的第一预测值调整模型,其中,所述第二重建像素值是当前模板中与对应的所述第一像素点位置相同的像素点的重建像素值;基于所述当前编码块中待编码像素点的初始预测值,对所述待编码像素点进行分类,得到多个第二像素类,其中,对所述第一像素点进行分类的规则与对所述待编码像素点进行分类的规则相同;分别利用每个所述第二像素类匹配的目标预测值调整模型,对所述第二像素类中每个所述待编码像素点分别进行预测,得到每个所述待编码像素点的第一预测值,其中,所述目标预测值调整模型为与所述第二像素类类别相同的第一像素类对应的所述第一预测值调整模型。
本申请实施例第二方面提供一种解码方法,所述方法包括:接收编码器发送的编码数据;通过对所述编码数据进行解码,得到当前解码块中当前像素点的预测值;其中,所述当前解码块中所述当前像素点的预测值是采用上述编码方法处理得到的。
本申请实施例第三方面提供一种编码器,所述编码器包括处理器、存储器以及通信电路,所述处理器分别耦接所述存储器、所述通信电路,所述存储器中存储有程序数据,所述处理器通过执行所述存储器内的所述程序数据以实现上述编码方法中的步骤。
本申请实施例第四方面提供一种解码器,所述解码器包括处理器、存储器以及通信电路,所述处理器分别耦接所述存储器、所述通信电路,所述存储器中存储有程序数据,所述处理器通过执行所述存储器内的所述程序数据以实现上述解码方法中的步骤。
本申请实施例第五方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序能够被处理器执行以实现上述方法中的步骤。
有益效果是:在本申请的方案中,对于任意第二像素类而言,其匹配的目标预测值调整模型能够准确地反映第二像素类中待编码像素点与目标参考块中相应像素点之间的照明关系,因此利用该目标预测值调整模型分别对第二像素类中每个待编码像素点进行预测,可以保证对待编码像素点进行预测的准确率,最终达到优化图像的视觉效果的目的。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
图1是现有技术中进行线性预测时的简单结构示意图;
图2是本申请编码方法一实施方式的流程示意图;
图3是目标参考块与参考模板的示意图;
图4是当前编码块与当前模板的示意图;
图5是图2中步骤S120在一应用场景中的流程示意图;
图6是图5中步骤S121的流程示意图;
图7是图2中步骤S120在另一应用场景中的流程示意图;
图8是图2中步骤S110的流程示意图;
图9是当前编码块、第一参考线以及第二参考线的结构示意图;
图10是图8中步骤S170的流程示意图;
图11是一应用场景中,在图9的基础上对第一参考线和第二参考线所包括的像素点进行下采样的示意图;
图12是另一应用场景中,在图9的基础上对第一参考线和第二参考线所包括的像素点进行下采样的示意图;
图13是又一应用场景中,在图9的基础上对第一参考线和第二参考线所包括的像素点进行下采样的示意图;
图14是本申请编码方法一实施方式中的部分流程示意图;
图15是本申请解码方法一实施方式的流程示意图;
图16是本申请编码器一实施方式的结构示意图;
图17是本申请编码器另一实施方式的结构示意图;
图18是本申请解码器一实施方式的结构示意图;
图19是本申请解码器另一实施方式的结构示意图;
图20是本申请计算机可读存储介质一实施方式的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
需要说明的是,本申请中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了更好地理解本申请的方案,首先对编码的背景技术进行简单介绍:
在视频编解码中,为了提高压缩率,减少需要传输的码字,编码器不会直接对像素值进行编码传输,而是采用帧内或帧间预测模式,即采用当前帧或参考帧的已编码块的重建像素点对当前块的像素值进行预测。其中,采用某种预测模式预测得出的像素值叫做预测像素值,预测像素值与原始像素值的差叫做残差。其中编码器仅需对某种预测模式及采用该种预测模式时产生的残差进行编码,解码端就可根据这些码流信息解码出相应像素值,这样大大降低了编码所需码字。
同时在视频编码过程中,输入编码器的是一个个图像帧,但编码器在对一帧图像进行解码时,需要将一帧图像分割成若干个LCU(最大编码单元),然后再将LCU划分为多个CU(编码单元,也可以称为编码块),视频编码就是以CU为单元进行的。
在对某一个图像帧进行编码时,通常是按照一定的顺序对图像帧中的各个编码块进行编码,例如是按照从左往右,从上往下的顺序依次对图像帧中的各个编码块进行编码,或者也可以按照从右往左,从下往上的顺序依次对各个编码块进行编码。可以理解的是,当按照从左往右,从上往下的顺序依次对图像帧中的各个编码块进行编码时,对于任意一个编码块而言,与其相邻的重建像素点(已经过预测的像素点)分布在该编码块的上方和左方,当按照从右往左,从下往上的顺序依次对各个编码块进行编码时,对于任意一个编码块而言,与其相邻的重建像素点分布在该编码块的下方和右方,其中为了便于说明,以下均以按照从左往右,从上往下的顺序依次对图像帧中的各个编码块进行编码进行说明。
为了便于说明,以下均将当前时刻正在进行编码的编码块定义为当前编码块,其中,当采用帧间预测的方式进行编码时,需要通过运动搜索等方法在参考帧(可以是任何一个已经经过编码的图像帧)中寻找与当前编码块最为接近的参考块,并记录当前编码块与参考块间的运动信息如运动矢量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:基于参考模板中第一像素点的第一重建像素值,对第一像素点进行分类,得到多个第一像素类。
为了便于说明,以下将参考模板中的重建像素点定义为第一像素点,将第一像素点的重建像素值定义为第一重建像素值。
具体地,在经过步骤S120分类后,第一重建像素值比较接近的两个第一像素点通常会被分到同一个第一像素类中,而第一重建像素值相差较大的两个第一像素点通常会被分到不同的第一像素类中。
S130:根据各第一像素类中第一像素点的第一重建像素值与对应的第二重建像素值,构建各第一像素类对应的第一预测值调整模型,其中,第二重建像素值是当前模板中与对应的第一像素点位置相同的像素点的重建像素值。
具体地,针对每个第一像素类,分别执行以下步骤:根据第一像素类所包括的第一像素点的第一重建像素值以及第一像素类所包括的第一像素点对应的第二重建像素值,构建第一像素类对应的第一预测值调整模型。其中,可以是根据第一像素类所包括的每个第一像素点的第一重建像素值以及第一像素类所包括的每个第一像素点对应的第二重建像素值,构建第一像素类对应的第一预测值调整模型。
其中,第一像素点对应的第二重建像素值指的是,当前模板中与第一像素点位置相同的像素点的重建像素值。为便于理解,以下结合实例进行说明:
结合图3和图4,在图3中目标参考块用10表示,目标参考块周围圆点填充的像素点为参考模板中的第一像素点,在图4中当前编码块用20表示,当前编码块周围斜线填充的像素点为当前模板中的像素点,则图3中标号为11的第一像素点对应的第二重建像素值是图4中标号为13的像素点的重建像素值,图3中标号为12的第一像素点对应的第二重建像素值是图4中标号为14的像素点的重建像素值。
其中,构建第一像素类对应的第一预测值调整模型的过程就是,利用第一像素类中的第一像素点和当前模板中与第一像素点位置相同的像素点之间的照明变化,构建出一个线性模型,也就是该第一像素类对应的第一预测值调整模型。其中,构建第一像素类对应的第一预测值调整模型的过程也就是确定该第一预测值调整模型所包括的缩放因子和偏移量的过程。其中,具体可以通过最小二乘法确定第一预测值调整模型所包括的缩放因子和偏移量,关于该具体过程,在此不再赘述。
可以理解的是,在经过步骤S130后,每个第一像素类都对应有一个第一预测值调整模型。
S140:基于当前编码块中待编码像素点的初始预测值,对待编码像素点进行分类,得到多个第二像素类,其中,对第一像素点进行分类的规则与对待编码像素点进行分类的规则相同。
具体地,将当前编码块中的每个像素点都定义为待编码像素点,对于每个待编码像素点而言,其都有一个初始预测值。其中待编码像素点的初始预测值是根据当前编码块与目标参考块的运动矢量MV进行运动补偿而得到的,不同待编码像素点的初始预测值可能相同,也可能不同。其中,确定待编码像素点的初始预测值的过程属于现有技术,在此不做具体介绍。
在经过步骤S140分类后,初始预测值比较接近的两个待编码像素点通常会被分到同一个第二像素类中,而初始预测值相差较大的两个待编码像素点通常会被分到不同的第二像素类中。
其中,对第一像素点进行分类的规则与对待编码像素点进行分类的规则相同指的是,在对第一像素点进行分类时,将两个第一像素点分到同一个第一像素类中的标准,与对待编码像素点进行分类时,将两个待编码像素点分到同一个第二像素类中的标准相同。
可以理解的是,由于对第一像素点进行分类的规则与对待编码像素点进行分类的规则相同,因此某一个第一像素类的类别可以与某一个第二像素类的类别相同,也就是说,某一个第一像素类所包括的第一像素点的第一重建像素值的分布范围与某一个第二像素类所包括的待编码像素点的初始预测值的分布范围相同或者大致相同。
S150:分别利用每个第二像素类匹配的目标预测值调整模型,对第二像素类中每个待编码像素点分别进行预测,得到每个待编码像素点的第一预测值,其中,目标预测值调整模型为与第二像素类类别相同的第一像素类对应的第一预测值调整模型。
具体地,对于每个第二像素类分别执行如下步骤:先确定与第二像素类的类别相同的第一像素类,然后将该第一像素类对应的第一预测值调整模型,确定为第二像素类匹配的目标预测值调整模型,然后利用第二像素类匹配的目标预测值调整模型,对第二像素类中的每个待编码像素点分别进行预测,从而得到第二像素类中每个待编码像素点的第一预测值。
也就是说,对于同一个第二像素类中的不同待编码像素点而言,在进行预测时,均使用该第二像素类匹配的目标预测值调整模型。
假设对于某一个第二像素类而言,其匹配的目标预测值调整模型的参数包括缩放因子α1和偏移量β1,则对于该第二像素类中的每个待编码像素点而言,均利用如下公式确定各自的第一预测值:
qi1×pi1,其中,pi为待编码像素点i的初始预测值,qi为待编码像素点i的第一预测值。
其中,在确定与某一第二像素类的类别相同的第一像素类时,若无法查找到与该第二像素类的类别相同的第一像素类,则后续不会对该第二像素类中的待编码像素点进行预测,对于该第二像素类中的每个待编码像素点而言,可以将其的初始预测值,直接确定为其对应的第一预测值。
其中,在得到待编码像素点的第一预测值后,可以直接将待编码像素点的第一预测值作为待编码像素点的最终预测值,后续就可以确定待编码像素点的第一预测值与待编码像素点的原始像素值的差值,即残差,然后编码器基于残差进行编码。
当然在得到待编码像素点的第一预测值后,也可以不是直接将编码像素点的第一预测值作为待编码像素点的最终预测值,具体可参见下文的介绍。
通过上述方法,对于任意第二像素类而言,其匹配的目标预测值调整模型能够准确地反映第二像素类中待编码像素点与目标参考块中相应像素点之间的照明关系,因此利用该目标预测值调整模型分别对第二像素类中每个待编码像素点进行预测,可以保证对待编码像素点进行预测的准确率,最终达到优化图像的视觉效果的目的。
参阅图5,在一应用场景中,步骤S120对第一像素点进行分类的步骤,包括:
S121:确定与当前编码块对应的至少一个像素阈值。
具体地,与当前编码块对应的像素阈值可以是一个,也可以是多个。
其中,当前编码块对应的像素阈值的数量与当前编码块的面积呈正相关。其中,当前编码块的面积指的是,当前编码块的宽与高的乘积。此处正相关指的是,当前编码块的面积越大,当前编码块对应的像素阈值的数量越多,或者随着当前编码块的面积变大,当前编码块对应的像素阈值的数量整体也在增大,但是也存在部分阶段内,当前编码块的面积变大,但是当前编码块对应的像素阈值的数量没变甚至减少的现象。
上述设置充分考虑到当前编码块的面积越大,参考模板中第一像素点的数量越多,从而第一像素点的第一重建像素值的分布越广,进而设置像素阈值的数量与当前编码块的面积呈正相关,可以使得第一像素类的数量与当前编码块的面积呈正相关,使得第一像素类中第一像素点的第一重建像素值更加接近,保证第一像素类中第一像素点之间的联系更加紧密。
当然在其他实施方式中,当前编码块对应的像素阈值的数量也可以与当前编码块的面积无关,例如,不管当前编码块的面积如何,当前编码块对应的像素阈值的数量都是N,其中,N可以是1、3或者其他数值。
其中,与当前编码块对应的像素阈值可以是预先设定并进行保存的固定阈值,此时在执行步骤S121时可以从保存的数据中直接获取与当前编码块对应的至少一个像素阈值。
或者,与当前编码块对应的像素阈值与参考模板中第一像素点的重建像素值相关,例如,参阅图6,步骤S121具体包括:
S1211:获取参考模板中所有第一像素点的第一重建像素值总和。
具体地,将参考模板中所有第一像素点的第一重建像素值进行求和处理,得到第一重建像素值总和,记为m。
S1212:根据第一重建像素值总和与像素阈值的数量,确定至少一个像素阈值。
具体地,将当前编码块对应的像素阈值的数量记为n,则至少一个像素阈值分别为:m/(n+1)、2m/(n+1)、…、n×m/(n+1)。其中当确定的像素阈值有小数部分时,可以对像素阈值进行向下或者向上取整,当然也可以不取整。
为了更好地理解,在此举出具体实例:假设经过计算,确定参考模板中所有第一像素点的第一重建像素值总和为6000,同时像素阈值的数量为4个,则与当前编码块对应的4个像素值阈值分别为:1200、2400、3600以及6000。
在其他实施方式中,还可以采用其他方式确定当前编码块对应的至少一个像素阈值。
S122:根据至少一个像素阈值,生成多个分类区间。
具体地,在确定当前编码块对应的至少一个像素阈值后,根据至少一个像素阈值,生成多个分类区间。
在一应用场景中,假设包括三个像素阈值,这三个像素阈值分别为A1、A2以及A3,则可以构建四个分类区间,分别为(-∞,A1)、[A1,A2)、[A2,A3)以及[A3,+∞)。假设只包括一个像素阈值,该像素阈值为B1,则可以构建两个分类区间,分别为(-∞,B1)以及[B1,+∞)。
S123:针对每个分类区间,将第一重建像素值处于分类区间的第一像素点,加入分类区间对应的第一像素类中。
在构建好分类区间后,将第一重建像素值处于同一分类区间内的第一像素点分到一个像素类中,从而实现对第一像素点进行分类。
其中,由于对待编码像素点进行分类的规则与对第一像素点进行分类的规则相同,因此该应用场景中,步骤S140对待编码像素点进行分类的步骤,包括:
S141:针对每个分类区间,将初始预测值处于分类区间的待编码像素点,加入分类区间对应的第二像素类中。
其中,步骤S141中的分类区间与步骤S123中的分类区间相同,与步骤S123类似,步骤S141是将初始预测值处于同一分类区间内的待编码像素点分到同一个像素类中,从而实现对待编码像素点进行分类。
在该应用场景中,第一像素类、第二像素类只有满足以下条件,才能确定两者的类别相同:第一像素类中第一像素点的第一重建像素值的分布区间,与第二像素类中待编码像素点的初始预测值的分布区间相同。
为便于理解,在此举出具体实例:
假设构建出的多个分布区间分别为:(-∞,A1)、[A1,A2)、[A2,A3)以及[A3,+∞),则重建像素值分布在(-∞,A1)内的第一像素类与初始预测值分布在(-∞,A1)内的第二像素类的类别相同,重建像素值分布在[A1,A2)内的第一像素类与初始预测值分布在[A1,A2)内的第二像素类的类别相同,以此类推。
参阅图7,在另一应用场景中,步骤S120对第一像素点进行分类的步骤,包括:
S123:基于第一像素点的第一重建像素值,采用聚类算法对第一像素点进行分类,得到多个第一像素类。
具体地,与上述应用场景不同的是,此时采用聚类算法进行分类处理。其中,聚类算法可以是现有技术中的任一种聚类算法,例如k-means聚类算法、DBSCAN聚类算法或者CLARANS聚类算法等,本申请对聚类算法的类型不做限制。
其中,在采用聚类算法对第一像素点进行分类时,会预先设定若干个聚类中心,然后对应每一个聚类中心形成一个像素类,从而得到多个第一像素类。其中对应聚类中心形成像素类的过程可以是:将第一重建像素值与聚类中心像素值的差距小于预设值的第一像素点加入该聚类中心对应的像素类中,从而形成该聚类中心对应的像素类。
其中,由于对待编码像素点进行分类的规则与对第一像素点进行分类的规则相同,因此该应用场景中,步骤S140对待编码像素点进行分类的步骤,包括:
S142:基于待编码像素点的初始预测值,采用聚类算法对待编码像素点进行分类,得到多个第二像素类。
具体地,步骤S142中采用的聚类算法与步骤S123中采用的聚类算法为同一算法,例如当步骤S142采用的是k-means聚类算法时,步骤S123采用的也是k-means聚类算法。
其中,在采用聚类算法对待编码像素点进行分类时设定的若干个聚类中心,与在对第一像素点进行分类时设定的若干个聚类中心完全相同。
因此在该应用场景中,只有第一像素类、第二像素类满足以下条件,才能确定两者的类别相同:第一像素类对应的聚类中心与第二像素类对应的聚类中心完全相同。
为便于理解,在此举出具体实例:
预先给定3个聚类中心,分别为C1、C2以及C3,则最终在经过分类后,聚类中心C1对应的第一像素类、第二像素类的类别相同,聚类中心C2对应的第一像素类、第二像素类的类别相同,聚类中心C3对应的第一像素类、第二像素类的类别相同。
其中,在采用聚类算法对第一像素点进行分类后,可能存在逃逸像素点,即该逃逸像素点与各个第一像素类的差别都较大,无法通过聚类算法将其分类到任何一个第一像素类中,为了便于说明,将该逃逸像素点定义为第一逃逸像素点。同样地,在采用聚类算法对待编码像素点进行分类后,也可能会存在逃逸像素点,将该逃逸像素点定义为第二逃逸像素点。对于逃逸像素点,本申请提供以下两种处理方式:
第一种方式是强制归类,即在步骤S123之后,还包括:在采用聚类算法对第一像素点进行分类后,响应于参考模板中存在不属于任何一个第一像素类中的第一逃逸像素点,分别将每个第一逃逸像素点加入与各自差别最小的第一像素类中,以及在步骤S142之后,还包括:在采用聚类算法对待编码像素点进行分类后,响应于当前编码块中存在不属于任何一个第二像素类中的第二逃逸像素点,分别将每个第二逃逸像素点加入与各自差别最小的第二像素类中。
具体地,此时对于任意一个第一逃逸像素点而言,将其归类到与其差别最小,也就是最接近的第一像素类中。其中与第一逃逸像素点差别最小的第一像素类可以是,与第一逃逸像素点的重建像素值的像素差距最小的聚类中心所对应的第一像素类。
而在对第一逃逸像素点进行强制归类时,为了保证对第一像素点进行分类的规则与对待编码像素点进行分类的规则相同,也将第二逃逸像素点进行强制归类,且将第二逃逸像素点进行强制归类的过程与将第一逃逸像素点进行强制归类的过程相同,在此不再具体介绍。
第二种方式是对第一逃逸像素点、第二逃逸像素点不进行任何处理。此时在步骤S142之后,还包括:响应于当前编码块中存在不属于任何一个第二像素类中的第二逃逸像素点,分别将每个第二逃逸像素点的初始预测值确定为第二逃逸像素点的第一预测值。
具体地,对于第二逃逸像素点而言,由于其不归属于任何一个第二像素类,因此无需对第二逃逸像素点进行预测,直接将第二逃逸像素点的初始预测值,确定为该第二逃逸像素点对应的第一预测值。
下面介绍当前模板以及参考模板的确定过程,参阅图8,该过程包括:
S160:在当前编码块第一侧边的外侧确定多条第一参考线,以及在当前编码块第二侧边的外侧确定多条第二参考线,其中,第一侧边和第二侧边相邻设置,且第一参考线以及第二参考线均包括多个重建像素点。
具体地,第一参考线以及第二参考线均包括多个重建像素点。当按照从左往右,从上往下的顺序依次对图像帧中的各个编码块进行编码时,第一侧边的外侧为当前编码块的上侧、左侧中的一侧,第二侧边的外侧为当前编码块的上侧、左侧中的另一侧;当按照从右往左,从下往上的顺序依次对图像帧中的各个编码块进行编码时,第一侧边的外侧为当前编码块的下侧、右侧中的一侧,第二侧边的外侧为当前编码块的下侧、右侧中的另一侧。为了便于说明,以下均以第一侧边的外侧为当前编码块的上侧、左侧中的一侧,第二侧边的外侧为当前编码块的上侧、左侧中的另一侧进行说明。
其中,分布在当前编码块上侧的参考线的两端与当前编码块在宽度方向上的两端分别齐平,即分布在当前编码块上侧的参考线的长度与当前编码块的宽度相等,分布在当前编码块左侧的参考线的两端与当前编码块在高度方向上的两端分别齐平,即分布在当前编码块左侧的参考线的长度与当前编码块的高度相等。
其中,本申请将位于第一侧边的外侧的参考线,定义为第一参考线,将位于第二侧边的外侧的参考线,定义为第二参考线。
在现有技术中,通常只在当前编码块的上侧选择一条参考线,以及在当前编码块的左侧选择一条参考线,但是考虑到图像的丰富性,以及可以利用更多的空域信息,本实施方式在当前编码块的左侧和上侧均确定多条参考线。
若将第一参考线的数量记为m条,第二参考线的数量记为n条,其中,m与n可以相等,也可以不相等,具体可参见下文介绍。
在本实施方式中,如图9所示,多条第一参考线(图9中用301表示)是连续的参考线,多条第二参考线(图9中用302表示)也是连续的参考线,即相邻的两条第一参考线之间没有其他的重建像素点,相邻的两条第二参考线之间也没有其他的重建像素点。同时多条第一参考线与当前编码块(图9中用30表示)之间也没有其他的重建像素点,多条第二参考线与当前编码块之间也没有其他的重建像素点。
在本实施方式中,考虑到当前编码块中待编码像素点的数量越多,就需要越多的空域相关信息确定当前编码块与目标参考块之间的参考关系,因此为了能够准确地确定当前编码块与目标参考块之间的关系,设置第一参考线和第二参考线的总条数与当前编码块的面积呈正相关。
具体地,此处的正相关可以是:当前编码块的面积越大,第一参考线和第二参考线的总条数也越大,也可以是:随着当前编码块的面积增大,第一参考线和第二参考线的总条数整体也在增大,但是也存在部分阶段内,当前编码块的面积增大,第一参考线和第二参考线的总条数不变甚至减小的现象。
当然在其他实施方式中,第一参考线和第二参考线的总条数也可以与当前编码块的面积无关,例如,不管第一参考线和第二参考线的面积如何,都将第一参考线和第二参考线的总条数设置为M,M可以是4、5或者其他数值。
在本实施方式中,步骤S160还具体包括:
(a)响应于第一侧边的长度与第二侧边的长度相等,在第一侧边的外侧确定第一数量的第一参考线,以及在第二侧边的外侧确定数量等于第一数量的第二参考线。
(b)响应于第一侧边的长度大于第二侧边的长度,在第一侧边的外侧确定第二数量的第一参考线,以及在第二侧边的外侧确定数量小于第二数量的第二参考线。
(c)响应于第一侧边的长度小于第二侧边的长度,在第一侧边的外侧确定第三数量的第一参考线,以及在第二侧边的外侧确定数量大于第三数量的第二参考线。
为了更好地理解上述方案,以第一侧边为当前编码块的宽度边,第二侧边为当前编码块的高度边进行说明:若当前编码块的宽度和高度一致,则说明位于当前编码块左侧的相邻重建像素点的数量与位于当前编码块上侧的相邻重建像素点的数量相等,因此当前编码块与左侧的相邻重建像素点的联系度,和上侧的相邻重建像素点的联系度相同,因此设置第一参考线的数量等于第二参考线的数量;若当前编码块的宽度大于高度,则说明位于当前编码块上侧的相邻重建像素点的数量大于位于当前编码块左侧的相邻重建像素点的数量,因此当前编码块与上侧的相邻重建像素点的联系度,大于与左侧的相邻重建像素点的联系度,进而设置第一参考线的数量大于第二参考线的数量;若当前编码块的宽度小于高度,则说明位于当前编码块上侧的相邻重建像素点的数量小于位于当前编码块左侧的相邻重建像素点的数量,因此当前编码块与上侧的相邻重建像素点的联系度,小于与左侧的相邻重建像素点的联系度,进而设置第一参考线的数量小于第二参考线的数量。
例如在图9场景中,当前编码块30的尺寸为16×8,按照上述方案,设置第一参考线301的数量大于第二参考线302的数量,在图9中,第一参考线301有4条,而第二参考线302有三条。
在其他实施方式中,也可以不管第一侧边与第二侧边的长度如何,直接设置第一参考线的数量等于第二参考线的数量,或者直接设置第一参考线的数量大于第二参考线的数量,或者直接设置第一参考线的数量小于第二参考线的数量。
S170:根据多条第一参考线以及多条第二参考线所包括的重建像素点,确定当前模板。
在一应用场景中,步骤S170利用所有第一参考线以及所有第二参考线包括的所有重建像素点,构建当前模板。
在另一应用场景中,参阅图10,步骤S170包括:
S171:从多条第一参考线以及多条第二参考线中,抽取部分重建像素点。
S172:利用部分重建像素点,构建当前模板。
具体地,为了减少计算量,在确定第一参考线以及第二参考线后,对第一参考线和第二参考线所包括的重建像素点进行下采样处理。
其中,步骤S171抽取部分重建像素点的方式有以下几种:
第一种:从多条第一参考线以及多条第二参考线中,抽取部分参考线,然后将抽取的部分参考线所包括的重建像素点,确定为部分像素点。
结合图9和图11,图11是在图9的基础上对第一参考线和第二参考线所包括的重建像素点进行下采样的示意图,此时在确定如图9所示的第一参考线以及第二参考线后,只抽取其中的若干条参考线(图11中虚线框所框选的参考线为抽取的参考线),然后利用抽取的若干条参考线所包括的重建像素点构建当前模板。
其中,在抽取参考线时,可以连续抽取,也可以不连续抽取。其中连续抽取的含义是:抽取的相邻两个参考线之间没有其他重建像素点,不连续抽取的含义是:抽取的相邻两个参考线之间存在其他重建像素点。
其中,可以按照预设的规则抽取部分参考线,例如随机抽取部分参考线。
总而言之,本申请对如何抽取参考线的具体过程不做限制。
第二种:从多条第一参考线以及多条第二参考线所包括的重建像素点中,抽取处于预设位置的重建像素点。
具体地,预先设定所要抽取的重建像素点相对当前编码块的位置,然后按照预设位置,进行抽取。其中,当前编码块不同,当前编码块对应的预设位置可以相同,也可以不同,在此不做限制。
第三种:沿着第一侧边的延伸方向,按照预设的像素间隔,从多条第一参考线中抽取重建像素点;和/或,沿着第二侧边的延伸方向,按照预设的像素间隔,从多条第二参考线中抽取重建像素点。
具体地,此时可以只对多条第一参考线所包括的重建像素点进行抽取,也可以只对多条第二参考线所包括的重建像素点进行抽取,还可以既对多条第一参考线所包括的重建像素点进行抽取,也对多条第二参考线所包括的重建像素点进行抽取。
其中,为了便于说明,以下以既对多条第一参考线所包括的重建像素点进行抽取,也对多条第二参考线所包括的重建像素点进行抽取进行说明。
同时对多条第一参考线进行重建像素点抽取的像素间隔,与对多条第二参考线进行重建像素抽取的像素间隔可以相同,也可以不同。
例如,结合图9和图12,图12是在图9的基础上对第一参考线和第二参考线所包括的重建像素点进行下采样的示意图,此时在图12中,斜线填充的像素点即为抽取的部分重建像素点,最终就是利用斜线填充的重建像素点构建当前模板。此时图12应用场景中,对多条第一参考线进行重建像素点抽取的像素间隔为3个重建像素点,对多条第二参考线进行重建像素抽取的像素间隔为2个重建像素点,两者的像素间隔并不相同。
上面介绍了三种对第一参考线和第二参考线所包括的像素点进行下采样的方式,其中,上述三种方式可以进行组合:
当第一种方式和第二种方式进行组合时,下采样的处理过程包括:从多条第一参考线以及多条第二参考线中,抽取部分参考线;再从部分参考线中抽取处于预设位置的重建像素点。
当第一种方式和第三种方式进行组合时,下采样的处理过程包括:从多条第一参考线以及多条第二参考线中,抽取部分参考线;再沿着第一侧边的延伸方向,按照预设的像素间隔,从抽取的第一参考线中抽取重建像素点,和/或,沿着第二侧边的延伸方向,按照预设的像素间隔,从抽取的第二参考线中抽取重建像素点。
结合图9和图13,图13是在图9的基础上对第一参考线和第二参考线所包括的像素点进行下采样的示意图,此时就是先抽取部分参考线,然后再沿着第一侧边的延伸方向,按照预设的像素间隔,从抽取的第一参考线中抽取重建像素点,以及沿着第二侧边的延伸方向,按照预设的像素间隔,从抽取的第二参考线中抽取重建像素点,最终图12中斜线填充的像素点即为抽取的部分重建像素点,最终就是利用斜线填充的重建像素点构建当前模板。
以上就是对确定当前模板的过程的介绍。
S180:根据当前模板,确定参考模板。
具体地,当前模板中像素点相对当前编码块的分布情况,与参考模板中第一像素点相对目标参考块的分布情况相同,因此可以根据当前模板,确定参考模板。
参阅图14,在本实施方式中,在步骤S150之后,还包括:
S106:根据当前模板中所有像素点的重建像素值和参考模板中所有第一像素点的第一重建像素值,构建第二预测值调整模型。
具体地,该步骤是利用当前模板中所有像素点的重建像素值和参考模板中所有第一像素点的第一重建像素值,构建第二预测值调整模型。也就是说,步骤S106就是现有技术中构建线性模型的过程。
可以理解的是,第二预测值调整模型包括缩放因子α2和偏移量β2
S107:利用第二预测值调整模型,分别对当前编码块中的每个待编码像素点进行预测,得到每个待编码像素点的第二预测值。
具体地,对于当前编码块中的每个待编码像素点而言,均利用如下公式确定各自的第二预测值:
Qi2×pi2,其中,pi为待编码像素点i的初始预测值,Qi为待编码像素点i的第二预测值,其中α2为第二预测值调整模型包括缩放因子,β2为第二预测值调整模型包括的偏移量。
S108:根据当前编码块中所有待编码像素点的第一预测值,确定第一代价值。
具体地,对于当前编码块中的每个待编码像素点而言,都存在各自对应的第一预测值,然后根据所有待编码像素点的第一预测值,可以确定第一代价值。其中第一代价值具体为率失真代价值,确定第一代价值的过程属于现有技术,在此不做详述。
其中,第一代价值表征将待编码像素点的第一预测值作为最终预测值的准确率:第一代价值越小,表征着准确率越高。
S109:根据当前编码块中所有待编码像素点的第二预测值,确定第二代价值。
具体地,对于当前编码块中的每个待编码像素点而言,都存在各自对应的第二预测值,然后根据所有待编码像素点的第二预测值,可以确定第二代价值。其中第二代价值具体为率失真代价值,确定第二代价值的过程属于现有技术,在此不做详述。
其中,第二代价值表征将待编码像素点的第二预测值作为最终预测值的准确率:第二代价值越小,表征着准确率越高。
S110:判断第一代价值是否小于第二代价值。
若判断结果为是,则执行步骤S111,否则执行步骤S112。
在其他实施方式中,步骤S110也可以替换为:判断第一代价值是否小于或者等于第二代价值。
S111:分别将每个待编码像素点的第一预测值,确定为待编码像素点各自的最终预测值。
S112:分别将每个待编码像素点的第二预测值,确定为待编码像素点各自的最终预测值。
具体地,如果第一代价值小于第二代价值,则说明将待编码像素点的第一预测值作为最终预测值的准确率,高于将待编码像素点的第二预测值作为最终预测值的准确率,因此对于每个待编码像素点而言,将其对应的第一预测值确定为最终预测值,反之,则将对应的第二预测值确定为最终预测值。
也就是说,上述将采用现有方案进行预测的结果和采用本申请步骤S110-S150进行预测的结果进行竞争,最终两者取其一。
在其他实施方式中,也可以直接将采用本申请步骤S110-S150进行预测的结果作为最终结果,即将待编码像素点的第一预测值,确定为最终预测值。
其中,当采用现有方案进行预测的结果和采用本申请步骤S110-S150进行预测的结果进行竞争时,为了将最终的竞争结果告知解码器,生成第一句法元素。
在一应用场景中,该第一句法元素指示在步骤S150之后,是否执行步骤S106-S112,例如设置一个帧级的句法标识开关enable_ext_mmlic,对于当前帧而言,当将enable_ ext_mmlic设置为1时,表示在步骤S150之后执行了步骤S106-S112,否则当将enable_ ext_mmlic设置为除1之外的其他数值,例如0时,表示在步骤S150之后未执行步骤S106-S112,此时直接采用本申请步骤S110-S150的方案进行预测。
而当第一句法元素指示在步骤S150之后执行了步骤S106-S112时,为了将最终的预测结果告知解码端,此时还生成第二句法元素,该第二句法元素指示待编码像素点的最终预测值是第一预测值,还是第二预测值。例如,在得到第一代价值后,将第一代价值记为RDcost1,在得到第二代价值后,将第二代价值记为RDcost2,如果RDcost1<RDcost2,则表明待编码像素点的最终预测值是第一预测值。此时在第二句法元素中,可以设置一个句法apply_ ext_mmlic,当apply_ ext_mmlic等于1时,表示待编码像素点的最终预测值是第一预测值,当apply_ ext_mmlic等于除0之外的其他数值,例如0时,表示待编码像素点的最终预测值是第二预测值。
在另一应用场景中,该第一句法元素也可以指示在步骤S106之前,是否执行步骤S110-S150,例如也设置一个帧级的句法标识开关enable_ext_mmlic,对于当前帧而言,当将enable_ ext_mmlic设置为1时,表示在步骤S106之前执行了步骤S110-S150,否则当将enable_ ext_mmlic设置为除1之外的其他数值,例如0时,表示在步骤S106之前未执行步骤S110-S150,此时直接采用现有方案进行预测。
而当第一句法元素指示在步骤S106之前,执行了步骤S110-S150时,同样为了将最终的预测结果告知解码端,此时也生成第二句法元素,该第二句法元素指示待编码像素点的最终预测值是第一预测值,还是第二预测值。例如,在得到第一代价值后,将第一代价值记为RDcost1,在得到第二代价值后,将第二代价值记为RDcost2,如果RDcost1<RDcost2,则表明待编码像素点的最终预测值是第一预测值。此时在第二句法元素中,可以设置一个句法apply_ ext_mmlic,当apply_ ext_mmlic等于1时,表示待编码像素点的最终预测值是第一预测值,当apply_ ext_mmlic等于除0之外的其他数值,例如0时,表示待编码像素点的最终预测值是第二预测值。
参阅图15,图15是本申请解码方法一实施方式的流程示意图,该方法包括:
S210:接收编码器发送的编码数据。
S220:通过对编码数据进行解码,得到当前解码块中当前像素点的预测值。
其中,当前解码块中当前像素点的最终预测值是采用上述任一项实施方式中编码方法得到的,详细的步骤可参见相关内容,在此不再赘述。
参阅图16,图16是本申请编码器一实施方式的结构示意图。该编码器300包括处理器310、存储器320以及通信电路330,处理器310分别耦接存储器320、通信电路330,存储器320中存储有程序数据,处理器310通过执行存储器320内的程序数据以实现上述任一项实施方式中编码方法的步骤,其中详细的步骤可参见上述实施方式,在此不再赘述。
其中,编码器300可以是电脑、手机等任一项具有算法处理能力的装置,在此不做限制。
参阅图17,图17是本申请编码器另一实施方式的结构示意图。该编码器400包括获取模块410、第一分类模块420、模型构建模块430、第二分类模块440以及预测模块450。
获取模块410用于获取当前编码块的参考模板。
第一分类模块420与获取模块410连接,用于基于参考模板中第一像素点的第一重建像素值,对第一像素点进行分类,得到多个第一像素类。
模型构建模块430与第一分类模块420连接,用于根据各第一像素类中第一像素点的第一重建像素值与对应的第二重建像素值,构建各第一像素类对应的第一预测值调整模型,其中,第二重建像素值是当前模板中与对应的第一像素点位置相同的像素点的重建像素值。
第二分类模块440与获取模块410连接,用于基于当前编码块中待编码像素点的初始预测值,对待编码像素点进行分类,得到多个第二像素类,其中,对第一像素点进行分类的规则与对待编码像素点进行分类的规则相同。
预测模块450同时与模型构建模块430以及第二分类模块440连接,用于分别利用每个第二像素类匹配的目标预测值调整模型,对第二像素类中每个待编码像素点分别进行预测,得到每个待编码像素点的第一预测值,其中,目标预测值调整模型为与第二像素类类别相同的第一像素类对应的第一预测值调整模型。
其中,编码器400在工作时执行上述任一项实施方式中编码方法的步骤,详细的步骤可参见上述相关内容,在此不做赘述。
其中,编码器400可以是电脑、手机等任一项具有算法处理能力的装置,在此不做限制。
参阅图18,图18是本申请解码器一实施方式的结构示意图。该解码器500包括处理器510、存储器520以及通信电路530,处理器510分别耦接存储器520、通信电路530,存储器520中存储有程序数据,处理器510通过执行存储器520内的程序数据以实现上述任一项实施方式中解码方法的步骤,其中详细的步骤可参见上述实施方式,在此不再赘述。
其中,解码器500可以是电脑、手机等任一项具有算法处理能力的装置,在此不做限制。
参阅图19,图19是本申请解码器另一实施方式的结构示意图。该解码器600包括获取模块610以及解码模块620。
获取模块610用于接收编码器发送的编码数据。
解码模块620与获取模块610连接,用于通过对编码数据进行解码,得到当前解码块中当前像素点的预测值。
其中,当前解码块中当前像素点的预测值是采用上述任一项实施方式中编码方法处理得到的,具体过程可参见上述内容,在此不再赘述。
其中,解码器600在工作时执行上述任一项实施方式中解码方法的步骤,详细的步骤可参见上述相关内容,在此不做赘述。
其中,解码器600可以是电脑、手机等任一项具有算法处理能力的装置,在此不做限制。
参阅图20,图20是本申请计算机可读存储介质一实施方式的结构示意图。该计算机可读存储介质700存储有计算机程序710,计算机程序710能够被处理器执行以实现上述任一项方法中的步骤。
其中,计算机可读存储介质700具体可以为U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等可以存储计算机程序710的装置,或者也可以为存储有该计算机程序710的服务器,该服务器可将存储的计算机程序710发送给其他设备运行,或者也可以自运行该存储的计算机程序710。
以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (20)

1.一种编码方法,其特征在于,所述方法包括:
获取当前编码块的参考模板;
基于所述参考模板中第一像素点的第一重建像素值,对所述第一像素点进行分类,得到多个第一像素类;
根据各所述第一像素类中所述第一像素点的第一重建像素值与对应的第二重建像素值,构建各所述第一像素类对应的第一预测值调整模型,其中,所述第二重建像素值是当前模板中与对应的所述第一像素点位置相同的像素点的重建像素值;
基于所述当前编码块中待编码像素点的初始预测值,对所述待编码像素点进行分类,得到多个第二像素类,其中,对所述第一像素点进行分类的规则与对所述待编码像素点进行分类的规则相同;
分别利用每个所述第二像素类匹配的目标预测值调整模型,对所述第二像素类中每个所述待编码像素点分别进行预测,得到每个所述待编码像素点的第一预测值,其中,所述目标预测值调整模型为与所述第二像素类类别相同的第一像素类对应的所述第一预测值调整模型。
2.根据权利要求1所述的方法,其特征在于,所述基于所述参考模板中第一像素点的第一重建像素值,对所述第一像素点进行分类,得到多个第一像素类的步骤,包括:
确定与所述当前编码块对应的至少一个像素阈值;
根据所述至少一个像素阈值,生成多个分类区间;
针对每个所述分类区间,将所述第一重建像素值处于所述分类区间的所述第一像素点,加入所述分类区间对应的所述第一像素类中;
所述基于所述当前编码块中待编码像素点的初始预测值,对所述待编码像素点进行分类,得到多个第二像素类的步骤,包括:
针对每个所述分类区间,将所述初始预测值处于所述分类区间的所述待编码像素点,加入所述分类区间对应的所述第二像素类中。
3.根据权利要求2所述的方法,其特征在于,
所述确定与所述当前编码块对应的至少一个像素阈值的步骤,包括:
获取预先保存的所述至少一个像素阈值;
或者,所述确定与所述当前编码块对应的至少一个像素阈值的步骤,包括:
获取所述参考模板中所有所述第一像素点的所述第一重建像素值总和;
根据所述第一重建像素值总和与所述像素阈值的数量,确定所述至少一个像素阈值。
4.根据权利要求2所述的方法,其特征在于,所述当前编码块对应的所述像素阈值的数量与所述当前编码块的面积呈正相关。
5.根据权利要求1所述的方法,其特征在于,所述基于所述参考模板中第一像素点的第一重建像素值,对所述第一像素点进行分类,得到多个第一像素类的步骤,包括:
基于所述第一像素点的所述第一重建像素值,采用聚类算法对所述第一像素点进行分类,得到多个所述第一像素类;
所述基于所述当前编码块中待编码像素点的初始预测值,对所述待编码像素点进行分类,得到多个第二像素类的步骤,包括:
基于所述待编码像素点的所述初始预测值,采用所述聚类算法对所述待编码像素点进行分类,得到多个所述第二像素类。
6.根据权利要求5所述的方法,其特征在于,所述基于所述参考模板中第一像素点的第一重建像素值,对所述第一像素点进行分类,得到多个第一像素类的步骤,进一步包括:
在采用所述聚类算法对所述第一像素点进行分类后,响应于所述参考模板中存在不属于任何一个所述第一像素类中的第一逃逸像素点,分别将每个所述第一逃逸像素点加入与各自差别最小的所述第一像素类中;
所述基于所述当前编码块中待编码像素点的初始预测值,对所述待编码像素点进行分类,得到多个第二像素类的步骤,进一步包括:
在采用所述聚类算法对所述待编码像素点进行分类后,响应于所述当前编码块中存在不属于任何一个所述第二像素类中的第二逃逸像素点,分别将每个所述第二逃逸像素点加入与各自差别最小的所述第二像素类中。
7.根据权利要求5所述的方法,其特征在于,在所述基于所述当前编码块中待编码像素点的初始预测值,对所述待编码像素点进行分类,得到多个第二像素类之后,还包括:
响应于所述当前编码块中存在不属于任何一个所述第二像素类中的第二逃逸像素点,分别将每个所述第二逃逸像素点的初始预测值,确定为所述第二逃逸像素点的所述第一预测值。
8.根据权利要求1所述的方法,其特征在于,所述获取当前编码块的参考模板的步骤,包括:
在所述当前编码块第一侧边的外侧确定多条第一参考线,以及在所述当前编码块第二侧边的外侧确定多条第二参考线,其中,所述第一侧边和所述第二侧边相邻设置,且所述第一参考线以及所述第二参考线均包括多个重建像素点;
根据所述多条第一参考线以及所述多条第二参考线所包括的所述重建像素点,确定所述当前模板;
根据所述当前模板,确定所述参考模板。
9.根据权利要求8所述的方法,其特征在于,所述第一参考线和所述第二参考线的总条数与所述当前编码块的面积呈正相关。
10.根据权利要求8所述的方法,其特征在于,所述在所述当前编码块第一侧边的外侧确定多条第一参考线,以及在所述当前编码块第二侧边的外侧确定多条第二参考线的步骤,包括:
响应于所述第一侧边的长度与所述第二侧边的长度相等,在所述第一侧边的外侧确定第一数量的所述第一参考线,以及在所述第二侧边的外侧确定数量等于所述第一数量的所述第二参考线;
响应于所述第一侧边的长度大于所述第二侧边的长度,在所述第一侧边的外侧确定第二数量的所述第一参考线,以及在所述第二侧边的外侧确定数量小于所述第二数量的所述第二参考线;
响应于所述第一侧边的长度小于所述第二侧边的长度,在所述第一侧边的外侧确定第三数量的所述第一参考线,以及在所述第二侧边的外侧确定数量大于所述第三数量的所述第二参考线。
11.根据权利要求8所述的方法,其特征在于,所述根据所述多条第一参考线以及所述多条第二参考线所包括的所述重建像素点,确定所述当前模板的步骤,包括:
从所述多条第一参考线以及所述多条第二参考线中,抽取部分所述重建像素点;
利用部分所述重建像素点,构建所述当前模板。
12.根据权利要求11所述的方法,其特征在于,所述从所述多条第一参考线以及所述多条第二参考线中,抽取部分所述重建像素点的步骤,包括:
从所述多条第一参考线以及所述多条第二参考线中,抽取部分参考线;
将抽取的所述部分参考线所包括的所述重建像素点,确定为部分所述重建像素点。
13.根据权利要求11所述的方法,其特征在于,所述从所述多条第一参考线以及所述多条第二参考线中,抽取部分所述重建像素点的步骤,包括:
从所述多条第一参考线以及所述多条第二参考线所包括的所述重建像素点中,抽取处于预设位置的所述重建像素点。
14.根据权利要求11所述的方法,其特征在于,所述从所述多条第一参考线以及所述多条第二参考线中,抽取部分所述像素点的步骤,包括:
沿着所述第一侧边的延伸方向,按照预设的像素间隔,从所述多条第一参考线中抽取所述重建像素点;
和/或,沿着所述第二侧边的延伸方向,按照预设的像素间隔,从所述多条第二参考线中抽取所述重建像素点。
15.根据权利要求1所述的方法,其特征在于,在所述分别利用每个所述第二像素类匹配的目标预测值调整模型,对所述第二像素类中每个所述待编码像素点分别进行预测,得到每个所述待编码像素点的第一预测值之后,还包括:
根据所述当前模板中所有像素点的重建像素值和所述参考模板中所有所述第一像素点的所述第一重建像素值,构建第二预测值调整模型;
利用所述第二预测值调整模型,分别对所述当前编码块中的每个所述待编码像素点进行预测,得到每个所述待编码像素点的第二预测值;
根据所述当前编码块中所有所述待编码像素点的所述第一预测值,确定第一代价值;
根据所述当前编码块中所有所述待编码像素点的所述第二预测值,确定第二代价值;
响应于所述第一代价值小于所述第二代价值,分别将每个所述待编码像素点的所述第一预测值,确定为所述待编码像素点各自的最终预测值,否则分别将每个所述待编码像素点的所述第二预测值,确定为所述待编码像素点各自的最终预测值。
16.根据权利要求15所述的方法,其特征在于,所述方法还包括:
生成第一句法元素;
响应于所述第一句法元素指示在所述分别利用每个所述第二像素类匹配的目标预测值调整模型,对所述第二像素类中每个所述待编码像素点分别进行预测,得到每个所述待编码像素点的第一预测值的步骤之后,执行所述根据所述当前模板中所有像素点的重建像素值和所述参考模板中所有所述第一像素点的所述第一重建像素值,构建第二预测值调整模型的步骤,至所述响应于所述第一代价值小于所述第二代价值,分别将每个所述待编码像素点的所述第一预测值,确定为所述待编码像素点各自的最终预测值,否则分别将每个所述待编码像素点的所述第二预测值,确定为所述待编码像素点各自的最终预测值的步骤,生成第二句法元素,所述第二句法元素指示所述待编码像素点的所述最终预测值是所述第一预测值,还是所述第二预测值。
17.一种解码方法,其特征在于,所述方法包括:
接收编码器发送的编码数据;
通过对所述编码数据进行解码,得到当前解码块中当前像素点的预测值;
其中,所述当前解码块中所述当前像素点的预测值是采用如权利要求1至16任一项所述编码方法处理得到的。
18.一种编码器,其特征在于,所述编码器包括处理器、存储器以及通信电路,所述处理器分别耦接所述存储器、所述通信电路,所述存储器中存储有程序数据,所述处理器通过执行所述存储器内的所述程序数据以实现如权利要求1-16任一项所述方法中的步骤。
19.一种解码器,其特征在于,所述解码器包括处理器、存储器以及通信电路,所述处理器分别耦接所述存储器、所述通信电路,所述存储器中存储有程序数据,所述处理器通过执行所述存储器内的所述程序数据以实现如权利要求17所述方法中的步骤。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序能够被处理器执行以实现如权利要求1-17任一项所述方法中的步骤。
CN202211064188.7A 2022-07-14 2022-09-01 编码方法、编码器及计算机可读存储介质 Active CN115134600B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211064188.7A CN115134600B (zh) 2022-09-01 2022-09-01 编码方法、编码器及计算机可读存储介质
PCT/CN2023/107408 WO2024012559A1 (en) 2022-07-14 2023-07-14 Methods, systems, and storage mediums for video encoding and decoding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211064188.7A CN115134600B (zh) 2022-09-01 2022-09-01 编码方法、编码器及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN115134600A CN115134600A (zh) 2022-09-30
CN115134600B true CN115134600B (zh) 2022-12-20

Family

ID=83387792

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211064188.7A Active CN115134600B (zh) 2022-07-14 2022-09-01 编码方法、编码器及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN115134600B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024012559A1 (en) * 2022-07-14 2024-01-18 Zhejiang Dahua Technology Co., Ltd. Methods, systems, and storage mediums for video encoding and decoding

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017071480A1 (zh) * 2015-10-31 2017-05-04 华为技术有限公司 参考帧编解码的方法与装置
CN110636311A (zh) * 2019-09-18 2019-12-31 浙江大华技术股份有限公司 运动矢量的获取方法及相关预测方法、装置
CN111447440A (zh) * 2020-03-13 2020-07-24 浙江大华技术股份有限公司 帧内像素预测值的计算方法、电子设备及装置
CN112437299A (zh) * 2018-09-21 2021-03-02 华为技术有限公司 一种帧间预测方法和装置
CN113382246A (zh) * 2021-04-20 2021-09-10 浙江大华技术股份有限公司 编码方法、装置、电子设备及计算机可读存储介质
CN114900691A (zh) * 2022-07-14 2022-08-12 浙江大华技术股份有限公司 编码方法、编码器及计算机可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103533374B (zh) * 2012-07-06 2018-02-16 乐金电子(中国)研究开发中心有限公司 一种视频编码、解码的方法及装置
WO2020155791A1 (zh) * 2019-02-01 2020-08-06 华为技术有限公司 帧间预测方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017071480A1 (zh) * 2015-10-31 2017-05-04 华为技术有限公司 参考帧编解码的方法与装置
CN112437299A (zh) * 2018-09-21 2021-03-02 华为技术有限公司 一种帧间预测方法和装置
CN110636311A (zh) * 2019-09-18 2019-12-31 浙江大华技术股份有限公司 运动矢量的获取方法及相关预测方法、装置
CN111447440A (zh) * 2020-03-13 2020-07-24 浙江大华技术股份有限公司 帧内像素预测值的计算方法、电子设备及装置
CN113382246A (zh) * 2021-04-20 2021-09-10 浙江大华技术股份有限公司 编码方法、装置、电子设备及计算机可读存储介质
CN114900691A (zh) * 2022-07-14 2022-08-12 浙江大华技术股份有限公司 编码方法、编码器及计算机可读存储介质

Also Published As

Publication number Publication date
CN115134600A (zh) 2022-09-30

Similar Documents

Publication Publication Date Title
Liu et al. An adaptive CU size decision algorithm for HEVC intra prediction based on complexity classification using machine learning
CN114928744B (zh) 用于在视频编解码中信令发送运动合并模式的系统和方法
TWI634783B (zh) 用於二叉樹分割塊的確定候選集的方法及裝置
RU2551207C2 (ru) Способ и устройство для кодирования видео
US9967589B2 (en) Method and apparatus for updating predictions when coding motion information
CN106878725B (zh) 编码器和编码方法与解码器和解码方法
CN114125440A (zh) 视频图像处理方法与装置
JP7224005B2 (ja) 映像処理方法、装置、不揮発性記憶媒体、コンピュータプログラム
CN105430390A (zh) 图像解码装置、图像解码方法、接收装置及接收方法
MX2011000261A (es) Dispositivo codificador de imagenes, dispositivo descodificador de imagenes, metodo de codificacion de imagenes, y metodo de descodificacion de imagenes.
CN101573985A (zh) 用于视频预测编码的方法和装置以及用于视频预测解码的方法和装置
CN114900691B (zh) 编码方法、编码器及计算机可读存储介质
CN115134600B (zh) 编码方法、编码器及计算机可读存储介质
US20210258601A1 (en) Image encoding/decoding method and apparatus
US9143790B2 (en) Encoding and decoding a video image sequence by image areas
CN111492655A (zh) 用于视频压缩的基于纹理的分区决定
CN114009033A (zh) 用于用信号通知对称运动矢量差模式的方法和装置
CN113079376A (zh) 对静止区域的视频编码方法和装置
US20100239019A1 (en) Post processing of motion vectors using sad for low bit rate video compression
CN115988212A (zh) 编码方法、编码器及计算机可读存储介质
CN111586415B (zh) 视频编码方法、装置、编码器及存储装置
CN114143536B (zh) 一种shvc空间可伸缩帧的视频编码方法
KR102234712B1 (ko) 영상 부호화 방법과 복호화 방법 및 이를 이용한 영상 부호화 장치와 복호화 장치
CN114513659B (zh) 确定图片预测模式的方法、装置、电子设备和介质
JP7185467B2 (ja) 画像復号装置、画像符号化装置、画像処理システム及びプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant