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

文档序号:8398404阅读:来源:国知局
的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流,其中,该目标码流包括第一索引信息,该第一索引信息用于指示该候选运动信息。
[0134]具体地说,在如上所述确定高优先级运动信息(B卩,候选运动信息的一例)后,编码端还可以在所生成的码流中携带用于指示该候选运动信息的信息,即,第一索引信息,解码端可以根据该第一索引信息直接从N个运动信息中确定候选运动信息,进而确定各候选运动信息所对应的参考图像块(即,候选参考图像块),从而可以从参考图像中,确定位置范围,是位置范围的能够覆盖该候选参考图像块,从而能够降低解码端的负担,并降低解码端的功耗,提闻解码端的处理效率。
[0135]B.可用内存带宽
[0136]在本发明实施例中,可以根据当前可用的内存带宽的大小,确定可以读取并存储的位置范围的大小,从而,可以根据该位置范围的大小,确定能够覆盖的参考图像块的数量及位置,从而能够确定候选图像块,以及指向该候选图像块的候选运动信息。
[0137]需要说明的是,如果当前可用的内存带宽足够大,则可能出现位置范围所覆盖的参考图像块具有多种组合的情况,例如,对于相同大小的位置范围,其在参考图像中的位置不同,所能够覆盖的参考图像块的数量可能不同,或者,对于相同大小的位置范围,其在参考图像中的位置不同,所能够覆盖的参考图像块所对应的运动信息不同。
[0138]此情况下,可以将能够覆盖最多参考图像块的范围作为所使用的位置范围,从而,能够提供较多的参考图像块,能够使最终确定的用于编码处理的运动信息得到优化。
[0139]或者,可以将能够覆盖如上所述确定的高优先级运动信息所对应的参考图像块的范围作为所使用的位置范围,从而,能够确保根据高优先级运动信息进行编码处理。
[0140]C.所属图像的清晰度
[0141]对于不同的图像清晰度,对编码端的硬件要求也不同,例如,对于清晰度较高的图像,为了实现对其的编码,通常需要配置性能较高的硬件,例如,较高的内存带宽,因此,根据当前图像块所属图像的清晰度,确定可以存储的位置范围的大小,即,清晰度越高,位置范围越大,从而,可以根据该位置范围的大小,确定能够覆盖的参考图像块的数量及位置,从而能够确定候选图像块,以及指向该候选图像块的候选运动信息。
[0142]在根据可用内存带宽和所属图像的清晰度(或者说,编码端的硬件性能)确定位置范围的情况下,该位置范围可以,可以通过以下方式确定,即:
[0143]设当前图像块在当前编码图像内坐标为(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
[0144]从而,可以确定各参考图像块中,
[0145]在水平方向上相对于目标图像块的最小位移Λ x_min=min (MV#A_x,MV#B_x,MV#C_x,MV#D_x, MV#T_x)
[0146]在水平方向上相对于目标图像块的最大位移Λ x_max=max (MV#A_x, MV#B_x, MV#C_x,MV#D_x, MV#T_x)
[0147]在垂直方向上相对于目标图像块的最小位移Λ y_min=min (MV#A_y,MV#B_y,MV#C_y, MV#D_y, MV#T_y)
[0148]在垂直方向上相对于目标图像块的最大位移Δ y_max=max (MV#A_y,MV#B_y,MV#C_y, MV#D_y, MV#T_y)
[0149]在此定义下,在参考图像中一次性读出并缓存的位置范围,可以为一个矩形区域。其中:
[0150]位于该矩形区域左上角的像素的坐标为:(cur_x+max (_ Ω x_min, Δ_x_min), cur_y+max(-Ωy_min, Δ_y_min))。
[0151 ] 位于该矩形区域右下角的像素的坐标为:(cur_x+blk_x+min ( Ω x_max, Δ χ_max), cur_y+blk_y+min(Ωy_max, Δy_max)。
[0152]其中,Ω x_min, Ω x_max, Ω y_min和Ω y_max的取值,可以根据可用内存带宽或编码器的硬件性能来确定。
[0153]可选地,该读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流,包括:
[0154]读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,以生成目标码流,其中,该目标码流包括第二索引信息,该第二索引信息用于指示该位置范围在该参考图像中的位置。
[0155]具体地说,在本发明实施例中,编码端在如上所述确定位置范围后,还可以在所生成的码流中携带用于指示位置范围在该参考图像中的位置的信息,即,第二索引信息,解码端可以根据该第二索引信息直接从参考图像中确定位置范围,从而能够降低解码端的负担,并降低解码端的功耗,提高解码端的处理效率。
[0156]作为示例而非限定,在本发明实施例中,该第二索引信息可以是上述Ωχ_min, Ω x_max, Qy_min和Qy_max的取值。并且,该第二索引信息可以在码流中的不同位置使用适当的语法元素标识,例如,可以在图像参数集(PPS,Picture parameter set)或条带头(slice header)中标识。由于图像参数集或条带头在码流中出现的频率较低,在这些位置上标识上述Ωχ_η?η, Ω x_max, Qy_min和Ω y_max的取值带来的额外带宽影响几乎可以忽略不计。
[0157]在如上所述,确定了位置范围后,可以将该位置范围内的各像素的信息(例如,像素值)读取并存储在内存中。
[0158]并且,当位置范围仅能够覆盖一个完整的参考图像块(B卩,候选图像块)时,可以直接使用该候选参考图像块以及该候选参考图像块所对应的运动信息,对当前块进行编码处理。
[0159]当位置范围能够覆盖两个以上的完整的参考图像块(B卩,候选图像块),可以根据所存储的位置范围(具体地说,是位置范围内的像素)从该两个以上的候选图像块所对应的运动信息中,确定最优运动信息。
[0160]S卩,可选地,该候选参考图像块是该N个参考图像块中的至少两个图像块,该候选运动信息是该N个运动信息中的至少两个运动信息,以及
[0161]该读取该位置范围内的像素,并根据该位置范围内的像素,对该当前图像块进行编码处理,包括:
[0162]根据该候选运动信息,读取该位置范围内的像素,以获取该候选图像块;
[0163]根据该候选图像块,从该候选运动信息中,确定最优运动信息;
[0164]根据该最优运动信息,对该当前图像块进行编码处理。
[0165]具体地说,由于如上所述确定的位置范围覆盖了两个以上的参考图像块,因此,能够从所存储的位置范围的像素的信息中,获取各候选运动信息所对应的候选参考图像块(具体地说,是各参考图像块的像素的信息),从而,可以从候选运动信息中,确定最优运动信息。例如,可以基于候选运动信息所对应的像素的信息,应用预先定义的准则进行评估得到各候选运动信息对应的评价值,并选择评价值最小值的候选运动信息,作为最优运动信息,即,用于对当前图像块进行编码处理(例如,运动补偿处理)的运动信息。
[0166]其后,编码端可以使用该最优运动信息对该目标图像块进行运动补偿编码操作等处理,实现对当前图像块的编码,并生成目标码流,传输至解码端。这里,编码端根据最优运动信息对当前图像块进行编码处理的过程和方法可以与现有技术相似,这里,为了避免赘述,省略其说明。
[0167]根据本发明实施例的用于图像处理的方法,通过从参考图像中确定位置范围,使该位置范围覆盖有至少一个运动信息所对应的像素,能够在一次读入内存上述位置范围内的像素的情况下,从该至少一个运动信息中,确定最优运动信息,而不是对每一个运动信息分别读取对应像素,从而,能够降低对内存带宽的要求,减少系统要求和成本。
[0168]图4示出了从解码端角度描述的根据本发明实施例的用于图像处理的方法200的示意性流程图。如图4所示,该方法200包括:
[0169]S210,从与当前图像块相邻的N个邻近图像块中,获取N个运动信息,其中,该N个邻近图像块与该N个运动信息一一对应,该N个运动信息用于指示该当前图像块的参考图像中的N个参考图像块,该N个运动信息与该N个参考图像块一一对应;
[0170]S220,从该参考图像中,确定待存储的像素的位置范围,并存储位于该位置范围内的全部像素,其中,该位置范围覆盖候选参考图像块的全部像素,该候选参考图像块是该N个参考图像块中的至少一个图像块;
[0171]S230,根据该运动信息中的候选运动信息,读取该位置范围内的像素,并根据该位置范围内的像素,对目标码流进行解码处理,以重建该当前图像块,其中,该候选运动信息是该候选参考图像块所对应的运动信息。
[0172]具体地说,解码端可以获取N个运动信息,这里N为正整数。
[0173]在本发明实施例中,运动信息可以包括预测方向、参考图像索引或运动矢量中的一个或多个,其中,预测方向可分为单向和双向预测,单向预测又可以分为前向预测与后向预测。
[0174]前向预测指使用前向参考图像列表,即列表(list) O中的参考图像产生预测信号。
[0175]后向预测指使用后向参考图像列表,即Iistl中的参考图像产生预测信号,双向预测指同时使用IistO和Iistl中的参考图像产生预测信号。
[0176]对于单向预测,需要一个参考图像索引指示在IistO或Iistl中所选择的参考图像,对于双向预测,需要两个参考图像索引,分别指示在IistO与Iistl中所选择的参考图像。
[0177]每一个运动矢量包括水平方向分量X和竖直方向分量y,可记作(X, y),对于单向预测,需要一个运动矢量指示预测信号在所选择的IistO或Iistl参考图像中的位移,对于双向预测,需要两个运动矢量,分别指示前向预测信号与后向预测信号在所选择的IistO参考图像与Iistl参考图像中的位移。
[0178]在本发明实施例中,运动信息是指从该当前图像块(S卩,对于编码端是待编码的图像块,对于解码端是待解码重建的图像块)的邻近图像块中获取的运动信息。在本发明实施例中,该运动信息可以包括空间运动信息和时间运动信息。
[0179]其中,空间运动信息是从当前图像块中的空间邻近块获取的运动信息,时间运动?目息是指从时间邻近块获取的运动?目息。
[0180]图2a示出了 DMVD技术中空间运动信息的源位置(获取位置),图2b示出了 DMVD技术中时间运动信息的源位置(获取位置)。
[0181]如图2a所示,在DMVD技术中,作为空间运动信息,可以包括:
[0182]位于当前图像块左侧的图像块A (邻近块的一例)的运动信息,以下,记作MVM0
[0183]位于当前图像块上侧的图像块B (邻近块的再一例)的运动信息,以下,记作MV#B。
[0184]位于当前图像块右上侧的图像块C (邻近块的再一例)的运动信息,以下,记作MWC0
[0185]位于当前图像块左上侧的图像块D (邻近块的再一例)的运动信息,以下,记作MWD0
[0186]需要说明的是,在预测方向为单向时,一个运动信息可以指示一个参考图像中的一个参考块,在预测方向为双向时,一个运动信息可以指示前向参考图像中的参考块和后向参考图像中的参考块。
[0187]如图2b所示,在DMVD技术中,作为时间运动信息,可以包括:
[0188]例如,基于当前图像块,对MV#T’进行平移处理而获取的运动信息,以下,记作MV#T,其中,MV#T ’在后向参考图像中,位于与该当前图像块相对应的位置上的图像块E (邻近块的再一例)的运动信息。
[0189]从而,解码端能够获得包括上述5个运动信息的运动信息集合(或者说,运动信息列表),即,N个运动信息的一例,记作:
[0190]{MV#A, MV#B, MV#C, MV#D, MV#T}
[0191]需要说明的是,如果如上所述获取的运动信息发生重复,则可以删除该重复的运动信息,以确保N个运动信息是彼此相异的。
[0192]应理解,以上列举的获取N个运动信息的方法仅为示例性说明,本发明并不限定于此,可以根据本发明实施例的用于图像处理的方法所适用的技术,而采用不同的获取方法,本发明并未特别限定。
[0193]在如上所述,确定N个运动信息后,解码端可以从参考图像中,确定各运动信息对应(或者说,指向)的参考图像块,这里,需要说明的是,在预测方向为双向的情况下,解码端需要从两个参考图像(前向参考图像和后向参考图像)中分别确定各运动矢量对应的参考图像块。以下,为了便于理解和说明,不失一般性地,以对后向参考图像的处理为例,进行说明。
[0194]其后,解码端需要从N个运动信息中确定一个运动信息(以下为了便于理解和区分,称为目标运动信息),以根据该目标运动信息进行解码处理,具体地说,是运动补偿处理,随后,对该过程进行详细说明。
[0195]在本发明实施例中,可以根据预设规则,采用计算方式,计算出该目标运动信息(即,方式3),也可以根据当前图像块的属性和/或设备性能,确定该目标运动信息(S卩,方式4)。下面,分别对以上两种情况的处理进行详细说明。
[0196]方式3
[0197]可选地,该候选参考图像块是该N个参考图像块中的全部图像块。
[0198]在本发明实施例中,可以采用计算方式从N个运动信息(候选运动信息的一例)中确定最优运动信息,作为上述目标运动信息,在计算过程中,需要获取N个运动信息所对应的(具体地说,是运动矢量所指向的)参考图像块(候选参考图像块的一例),并基于该参考图像块(具体地说,是参考图像块中的像素的像素值)进行计算。
[0199]因此,在本发明实施例中,解码端可以确定需要存储并用于后续处理的像素(SP,各参考图像块)在参考图像中的位置分布。
[0200]由于如上所述确定的各运动信息是从当前需要解码的图像块的邻近(时间邻近和/或空间邻近)图像块中获取的,因此各运动信息(具体地说,是运动矢量)之间具有较强的相关性(或者,相似度),因此,如图3a和图3b所示,外在表现为各参考图像块之间存在重叠,或者说,多个参考图像块包含位于同一位置的像素。
[0201]在现有技术中,解码端需要从参考图像中,分别获取各运动信息所指向的参考图像块,并将各参考图像块(具体地说,是参考图像块中的像素值)独立地存储在内存空间中,以基于各参考图像块,从N个运动信息中,确定最优的运动信息。因此,要求设备的内存的带宽,能够满足N个参考图像块的读取和存储,可能出现上述发生重叠部分的区域被多次存储的情况,导致对内存带宽的要求较高。
[0202]与此相对,在本发明实施例中,基于如上所述确定的N各运动信息之间具有较强的相关性和相似度的特点,可以从参考图像中,确定一个区域(即,位置范围),使该区域的范围能够覆盖N个参考图像块包含的全部像素,作为示例而非限定,例如,可以将N个参考图像块的最小公共图像块,作为该位置范围,即,图3a中的虚线所示区域。
[0203]该最小公共图像块,可以通过以下方式确定,即:
[0204]设当前图像块在当前重构图像内坐标为(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
[0205]从而,可以确定各参考图像块中:
[0206]在水平方向上相对于目标图像块的最小位移Λ x_min=min (MV#A_x,MV#B_x,MV#C_x,MV#D_x, MV#T_x)
[0207]在水平方向上相对于目标图像块的最大位移Λ x_max=max (MV#A_x,MV#B_x,MV#C_x,MV#D_x, MV#T_x)
[0208]在垂直方向上相对于目标图像块的最小位移Λ y_min=min (MV#A_y,MV#B_y,MV#C_y, MV#D_y, MV#T_y)
[0209]在垂直方向上相对于目标图像块的最大位移Δ y_max=max (MV#A_y,MV#B_y,MV#C_y, MV#D_y, MV#T_y)
[0
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1