用于图像处理的方法和装置的制造方法_2

文档序号:8398404阅读:来源:国知局
确定当前处理的图像块的运动信息的技术。以下,为了便于理解和说明,以本发明实施例的用于图像处理的方法和装置在DMVD技术中的应用为例,进行说明。
[0050]另外,在本发明实施例中,一个图像可以是视频中的一个视频帧,此情况下,一个图像块可以是视频帧中的帧块。
[0051]图1示出了从编码端角度描述的根据本发明实施例的用于图像处理的方法100的示意性流程图。如图1所示,该方法100包括:
[0052]S110,从与当前图像块相邻的N个邻近图像块中,获取N个运动信息,其中,该N个邻近图像块与该N个运动信息一一对应,该N个运动信息用于指示该当前图像块的参考图像中的N个参考图像块,该N个运动信息与该N个参考图像块一一对应;
[0053]S120,根据预设规则,从该N个运动信息中,确定候选运动信息,该候选运动信息是该N个运动信息中的至少一个信息;
[0054]S130,根据该候选运动信息,从该参考图像中,确定待存储的像素的位置范围,并存储位于该位置范围内的全部像素,其中,该位置范围覆盖候选参考图像块的全部像素,该候选参考图像块是该N个参考图像块中的至少一个图像块,该候选参考图像块是该候选运动信息所对应的图像块;
[0055]S140,读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流
[0056]具体地说,编码端可以获取N个运动信息,这里N为正整数。
[0057]在本发明实施例中,运动信息可以包括预测方向、参考图像索引或运动矢量中的一个或多个,其中,预测方向可分为单向和双向预测,单向预测又可以分为前向预测与后向预测。
[0058]前向预测指使用前向参考图像列表,即列表(list) O中的参考图像产生预测信号。
[0059]后向预测指使用后向参考图像列表,S卩Iistl中的参考图像产生预测信号,双向预测指同时使用IistO和Iistl中的参考图像产生预测信号。
[0060]对于单向预测,需要一个参考图像索引指示在IistO或Iistl中所选择的参考图像,对于双向预测,需要两个参考图像索引,分别指示在IistO与Iistl中所选择的参考图像。
[0061]每一个运动矢量包括水平方向分量X和竖直方向分量y,可记作(X, y),对于单向预测,需要一个运动矢量指示预测信号在所选择的IistO或Iistl参考图像中的位移,对于双向预测,需要两个运动矢量,分别指示前向预测信号与后向预测信号在所选择的IistO参考图像与Iistl参考图像中的位移。
[0062]在本发明实施例中,运动信息是指从该当前图像块(S卩,对于编码端是待编码的图像块,对于解码端是待解码重建的图像块)的邻近图像块中获取的运动信息。在本发明实施例中,该运动信息可以包括空间运动信息和时间运动信息。
[0063]其中,空间运动信息是从当前图像块中的空间邻近块获取的运动信息,时间运动?目息是指从时间邻近块获取的运动?目息。
[0064]图2a示出了 DMVD技术中空间运动信息的源位置(获取位置),图2b示出了 DMVD技术中时间运动信息的源位置(获取位置)。
[0065]如图2a所示,在DMVD技术中,作为空间运动信息,可以包括:
[0066]位于当前图像块左侧的图像块A (邻近块的一例)的运动信息,以下,记作MVM0
[0067]位于当前图像块上侧的图像块B (邻近块的再一例)的运动信息,以下,记作MV#B。
[0068]位于当前图像块右上侧的图像块C (邻近块的再一例)的运动信息,以下,记作MWC0
[0069]位于当前图像块左上侧的图像块D (邻近块的再一例)的运动信息,以下,记作MWD0
[0070]需要说明的是,在预测方向为单向时,一个运动信息可以指示一个参考图像中的一个参考块,在预测方向为双向时,一个运动信息可以指示前向参考图像中的参考块和后向参考图像中的参考块。
[0071]如图2b所示,在DMVD技术中,作为时间运动信息,可以包括:
[0072]例如,基于当前图像块,对MV#T’进行平移处理而获取的运动信息,以下,记作MV#T,其中,MV#T ’在后向参考图像中,位于与该当前图像块相对应的位置上的图像块E (邻近块的再一例)的运动信息。
[0073]从而,编码端能够获得包括上述5个运动信息的运动信息集合(或者说,运动信息列表),即,N个运动信息的一例,记作:
[0074]{MV#A, MV#B, MV#C, MV#D, MV#T}
[0075]应理解,以上列举的获取N个运动信息的方法仅为示例性说明,本发明并不限定于此,可以根据本发明实施例的用于图像处理的方法所适用的技术,而采用不同的获取方法,本发明并未特别限定。
[0076]在如上所述,确定N个运动信息后,编码端可以从参考图像中,确定各运动信息对应(或者说,指向)的参考图像块,这里,需要说明的是,在预测方向为双向的情况下,编码端需要从两个参考图像(前向参考图像和后向参考图像)中分别确定各运动矢量对应的参考图像块。以下,为了便于理解和说明,不失一般性地,以对后向参考图像的处理为例,进行说明。
[0077]其后,编码端需要从N个运动信息中确定一个运动信息(以下为了便于理解和区分,称为目标运动信息),以根据该目标运动信息对当前图像块进行编码处理,具体地说,是运动补偿处理,随后,对该过程进行详细说明。
[0078]在本发明实施例中,可以根据预设规则,采用计算方式,计算出该目标运动信息(即,方式1),也可以根据当前图像块的属性和/或设备性能,确定该目标运动信息(即,方式2)。下面,分别对以上两种情况的处理进行详细说明。
[0079]方式I
[0080]可选地,该候选参考图像块是该N个参考图像块中的全部图像块。
[0081 ] 在本发明实施例中,可以将N个运动信息的全部,作为候选运动信息,从而,可以采用计算方式从N个运动信息中确定最优运动信息,作为上述目标运动信息,在计算过程中,需要获取N个运动信息所对应的(具体地说,是运动矢量所指向的)参考图像中的参考图像块(候选参考图像块的一例),并基于该参考图像块(具体地说,是参考图像块中的像素的像素值)进行计算。
[0082]因此,在本发明实施例中,编码端可以确定需要存储并用于后续处理的像素(SP,各参考图像块)在参考图像中的位置分布。
[0083]由于如上所述确定的各运动信息是从当前编码块的邻近(时间邻近和/或空间邻近)图像块中获取的,因此各运动信息(具体地说,是运动矢量)之间具有较强的相关性(或者,相似度),因此,如图3a和图3b所示,外在表现为各参考图像块之间存在重叠,或者说,多个参考图像块包含位于同一位置的像素。
[0084]在现有技术中,编码端需要从参考图像中,分别获取各运动信息所指向的参考图像块,并将各参考图像块(具体地说,是参考图像块中的像素值)独立地存储在内存空间中,以基于各参考图像块,从N个运动信息中,确定最优的运动信息。因此,要求设备的内存的带宽,能够满足N个参考图像块的读取,可能出现上述发生重叠部分的区域被多次存储的情况,即,在确定最优运动信息时,需要在规定时间内进行N次读取,以读取N个参考图像块,导致对内存带宽的要求较高。
[0085]与此相对,在本发明实施例中,基于如上所述确定的N各运动信息之间具有较强的相关性和相似度的特点,可以从参考图像中,确定一个区域(即,位置范围),使该区域的范围能够覆盖N个参考图像块包含的全部像素,作为示例而非限定,例如,可以将N个参考图像块的最小公共图像块,作为该位置范围,即,图3a中的虚线所示区域。
[0086]该最小公共图像块,可以通过以下方式确定,即:
[0087]设当前图像块在当前编码图像内坐标为(cur_x, cur_y),大小为(blk_x) X (blk_y)像素,不失一般性,在一个参考图像中,运动矢量的水平分量记作X,运动矢量的垂直分量分别记作I,则在该参考图像中,MV#A可以写作{MV#A_x,MV#A_y },MV#B可以写作{MV#B_x,MV#B_y}, MV#C 可以写作{MV#C_x,MV#C_y}, MV#D 可以写作{MV#D_x,MV#D_y}, MV#T 可以写作{MV#T_x,MV#T_yh
[0088]从而,可以确定各参考图像块中,
[0089]在水平方向上相对于目标图像块的最小位移Λ x_min=min (MV#A_x,MV#B_x,MV#C_x,MV#D_x, MV#T_x)
[0090]在水平方向上相对于目标图像块的最大位移Λ x_max=max (MV#A_x,MV#B_x,MV#C_x,MV#D_x, MV#T_x)
[0091 ] 在垂直方向上相对于目标图像块的最小位移Λ y_min=min (MV#A_y,MV#B_y,MV#C_y, MV#D_y, MV#T_y)
[0092] 在垂直方向上相对于目标图像块的最大位移Δ y_max=max (MV#A_y,MV#B_y,MV#C_y, MV#D_y, MV#T_y)
[0093]在此定义下,在参考图像中一次性读出并缓存的位置范围,可以为一个矩形区域。其中:
[0094]位于该矩形区域左上角的像素的坐标为:(cur_x+ Δ x_min, cur_y+ Δ y_min)。
[0095]位于该矩形区域右下角的像素的坐标为:(cur_x+ Δ x_max+b Ik_x, cur_y+ Δ y_max+blk_y)。
[0096]从而,可以将该位置范围内的各像素的信息(例如,像素值)读取并存储在内存中,以用于后续确定最优运动信息的处理。
[0097]可选地,在根据该运动信息中的候选运动信息,从该参考图像中,确定待存储的像素的位置范围之前,该方法还包括:
[0098]确定所述N个参考图像块中的至少两个参考图像块之间彼此重叠。
[0099]具体地说,在如上所述,确定各参考图像块后,可以首先判定各参考图像彼此之间是否重叠,如果重叠,则可以执行上述确定位置范围,并存储位置范围内的像素的信息的过程。
[0100]从而,能够确保相对于现有技术,降低对内存带宽的要求。
[0101]可选地,在根据该运动信息中的候选运动信息,从该参考图像中,确定待存储的像素的位置范围之前,该方法还包括:
[0102]确定所述N个参考图像块中的至少两个参考图像块之间彼此重叠,并且,发生重叠的参考图像块的数量大于等于预设的数量阈值,或重叠范围大于等于预设的范围阈值。
[0103]具体地说,在如上所述,确定各参考图像块后,可以首先判定各参考图像彼此之间是否重叠,如果重叠,则可以进一步确定发生重叠的区域的特征(例如,发生重叠的参考图像块的数量,和/或重叠范围的大小),如果上述重叠区域的特征满足预设条件,例如,发生重叠的参考图像块的数量大于等于预设的数量阈值,和/或重叠范围的大于等于预设的范围阈值),则可以执行上述确定位置范围,并存储位置范围内的像素的信息的过程。需要说明的是,上述数量阈值可以根据参考图像块的数量(或者说,运动信息的数量)来设定,例如,如果参考图像块的数量为5,则可以将该数量阈值设定为5。同样,上述范围阈值可以根据参考图像块的大小来设定。
[0104]从而,能够进一步确保相对于现有技术,降低对内存带宽的要求。
[0105]其后,可以根据所存储的位置范围(具体地说,是位置范围内的像素)从N个运动信息中,确定最优运动信息。
[0106]S卩,可选地,该候选参考图像块是该N个参考图像块中的至少两个图像块,该候选运动信息是该N个运动信息中的至少两个运动信息,以及
[0107]该读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,包括:
[0108]根据该候选运动信息,读取该位置范围内的像素,以获取该候选图像块;
[0109]根据该候选图像块,从该候选运动信息中,确定最优运动信息;
[0110]根据该最优运动信息,对该当前图像块进行编码处理。
[0111]具体地说,由于如上所述确定的位置范围覆盖了全部的参考图像块,因此,能够从所存储的位置范围的像素的信息中,获取各运动信息所对应的参考图像块(具体地说,是各参考图像块的像素的信息),从而,可以根据各参考图像块,从各运动信息中,确定最优运动信息。例如,可以基于各运动信息所对应的像素的信息,应用预先定义的准则(例如,率失真准则)进行评估得到各运动信息对应的评价值,并选择评价值最小值的运动信息,作为最优运动信息,即,用于对当前图像块进行编码处理(例如,运动补偿处理)的运动信息。
[0112]应理解,上述预定义的准则可以根据所应用的编码技术而适当变更,本发明并未特别限定。例如,在DMVD技术中,在双向预测的情况下,对于每一个运动信息均包括前向运动信息和后向运动信息,前向运动信息用于指示前向参考图像中的参考图像块(称为,前向参考图像块),后向运动信息用于指示后向参考图像中的图像块(称为,前向参考图像块),如果使用前向参考图像块与后向参考图像块中相应位置的像素值的差值平方和值作为衡量准则,则可以将上述差值平方和最小的运动信息,作为最优运动信息。
[0113]其后,编码端可以使用该最优运动信息对该目标图像块进行运动补偿编码操作等处理,实现对当前图像块的编码,并生成目标码流,传输至解码端。这里,编码端根据最优运动信息对当前图像块进行编码处理的过程和方法可以与现有技术相似,这里,为了避免赘述,省略其说明。
[0114]可选地,该读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流,包括:
[0115]读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流,其中,该目标码流包括第二索引信息,该第二索引信息用于指示该位置范围在该参考图像中的位置。
[0116]具体地说,在本发明实施例中,编码端在如上所述确定位置范围后,还可以在所生成的码流中携带用于指示位置范围在该参考图像中的位置的信息,即,第二索引信息,解码端可以根据该第二索引信息直接从参考图像中确定位置范围,从而能够降低解码端的负担,并降低解码端的功耗,提高解码端的处理效率。
[0117]根据本发明实施例的用于图像处理的方法,通过使所确定的位置范围覆盖全部参考图像,能够确保最优运动信息的获取,提高图像处理的效果,改善用户体验。
[0118]方式2
[0119]可选地,该候选参考图像块是该N个参考图像块中的部分图像块。
[0120]具体地说,受编码端设备的硬件限制,例如,内存带宽的限制,可能存在当先可用的内存带宽无法满足上述方式I中所确定的最小公共图像块(位置范围的一例)的要求的情况。
[0121]鉴于以上问题,本发明实施例提供了以下技术方案,S卩,可以使所确定位置范围仅覆盖部分参考图像块(即,候选参考图像块的一例),设所覆盖的参考图像块的数量为M,则满足I彡M < N。
[0122]从而,能够确保位置范围覆盖至少一个完整的参考图像块,即,至少一个运动信息是可用的,能够在确保通过运动信息对当前图像块进行编码的前提下,降低对内存带宽的要求。
[0123]此情况下,可以从参考图像中,确定一个区域(S卩,位置范围),使该区域的范围能够覆盖M个参考图像块包含的全部像素,S卩,图3b中的虚线所示区域。
[0124]可选地,该根据预设规则,从该N个运动信息中,确定候选运动信息,包括:
[0125]根据可用内存带宽和/或该当前图像块所属图像的属性信息,从该运动信息中,确定该候选运动信息,其中,该属性信息用于指示以下至少一个参数:
[0126]所属图像的清晰度、所属图像的内容、所属图像的来源或所属图像的制作风格。
[0127]具体地说,在本发明实施例中,可以根据可用内存带宽和/或该当前图像块所属图像的属性信息,选择该M个候选参考图像块,或者说,选择该M个候选参考图像块所对应的运动信息。
[0128]下面,分别对上述各参数的使用方法进行说明。
[0129]A.所属图像的内容、所属图像的来源和所属图像的制作风格
[0130]对于图像,例如,按内容分类,可以分为新闻类图像、体育运动类图像和影视类图像等。同样,也可以按来源和制作风格对图像进行分类。同一类型的图像,其最优运动信息(或者说,最优运动信息所来自的邻近图像块)往往相同。因此,在本发明实施例中,可以按所属图像的内容、所属图像的来源和所属图像的制作风格等,统计出各类图像的高优先级运动信息,该高优先级运动信息成为该类图像的最优运动信息的概率最大。
[0131]从而,在确定位置范围时,可以优先确保使该位置范围覆盖上述高优先级运动信息所对应的参考图像块。
[0132]可选地,该读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流,包括:
[0133]读取该位置范围内
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1