图像编码解码方法、处理图像数据方法及其设备的制作方法

文档序号:7562578阅读:125来源:国知局
专利名称:图像编码解码方法、处理图像数据方法及其设备的制作方法
技术领域
本发明涉及通信领域,特别涉及通信领域中图像编码方法、图像解码方法、处理图像数据方法及其设备。
背景技术
视频数据在有线网络和无线网络中的误码或丢包是不可避免的,特别是在无线网络中尤为突出。而经变长编码等工具高效压缩后的视频数据在语义上具有很大的相关性, 由此视频数据对误码及丢包等网络差错非常敏感,一旦视频数据中有误码产生,则不仅影响当前视频数据的恢复,还会在时间和空间域上造成误码扩散,并且视频数据的预测编码也使得某一帧的差错对后续帧有差错累积的效应。因此,有必要采用相应的措施来提高视频数据的抗误码能力,特别是在一些视频帧已经发生传输差错的情况下,需要让视频内容尽快地从错误中恢复过来,从而能够给用户比较好的主观体验。帧内刷新方法是一种比较简单而有效的差错恢复方法,例如I帧刷新法、基于随机或错误跟踪的I块刷新方法,自适应帧内宏块刷新等。I帧采用帧内(INTRA)编码方式进行编码,由此也可称为帧内编码帧,该I帧无需参考其他帧,该帧经过适度地压缩做为随机访问的参考点,也可以当成图象。由于刷新整个I帧将导致码流中突然出现码率较大的帧, 这会对系统造成较强的码流冲击,因此实际中大多采用部分刷新帧中的编码块的方式对帧进行刷新。视频帧中的P帧采用帧间(INTER)编码方式进行编码,由此该P帧也可以称为帧间编码帧。由于P帧的帧间预测需要参考之前的P帧,因此当某个P帧出现传输差错时,该错误将传递到后续的P帧中,从而造成后续P帧的解码质量严重下降。因而,为了避免解码质量下降,可以在P帧中定义帧内刷新帧(Intra Refresh Frame,简称为“IR”帧),其中该顶帧中的部分或全部编码块采用帧内编码方式进行编码,采用帧内编码的编码块也可称为帧内刷新块。由此JR帧中的帧内编码块(帧内刷新块)将不会直接参考顶帧之前的P帧进行编码,而是参考该帧的相邻编码块,使用帧内编码方式进行编码。但是,如果某个帧内编码块的相邻编码块是帧间编码块时,由于该帧间编码块仍然参考之前的P帧,因此该帧间编码块也可能从前面的参考帧中累积一些传输差错,并将该差错传递给用于刷新的帧内编码块,使得帧内编码块也受传输差错的不良影响,从而极大地降低了帧内刷新方法应具有的差错恢复能力,影响诸如视频等图像数据的解码质量。

发明内容
为此,本发明实施例提供一种图像编码方法、图像解码方法、处理图像数据方法及其设备,通过对相邻的帧间编码块中的图像数据进行更新处理,并采用更新后的图像数据对当前帧内编码块进行编码或解码,从而能够提高帧内编码块的差错恢复能力,提高图像数据解码质量。—方面,本发明实施例提供了一种图像编码的方法,该方法包括确定当前帧间编码帧中采用约束帧内预测方式的当前帧内编码块;确定与该当前帧内编码块相邻的相邻编码块包括相邻帧间编码块;基于固定值或该相邻编码块包括的相邻帧内编码块中的图像数据,对该相邻帧间编码块中的图像数据进行更新处理;基于该相邻帧间编码块中已更新的图像数据,对该当前帧内编码块进行编码。另一方面,本发明实施例还提供了一种图像解码的方法,该方法包括确定当前帧间编码帧中采用约束帧内预测方式的当前帧内编码块;确定与该当前帧内编码块相邻的相邻编码块包括相邻帧间编码块;基于固定值或该相邻编码块包括的相邻帧内编码块中的图像数据,对该相邻帧间编码块中的图像数据进行更新处理;基于该相邻帧间编码块中已更新的图像数据,对该当前帧内编码块进行解码。再一方面,本发明实施例还提供了一种处理图像数据的方法,该方法包括确定当前编码对象中的所有编码块采用约束帧内预测方式;在与当前帧内编码块相邻的相邻编码块中,确定与该当前帧内编码块属于不同编码对象的特定相邻编码块;确定该特定相邻编码块是采用帧间编码方式进行编码的相邻帧间编码块;基于固定值或该相邻编码块包括的相邻帧内编码块中的图像数据,对该相邻帧间编码块中的图像数据进行更新处理;基于该相邻帧间编码块中已更新的图像数据,对该当前帧内编码块进行编码或解码。再一方面,本发明实施例还提供了一种用于图像编码的设备,该设备包括第一确定模块,用于确定当前帧间编码帧中采用约束帧内预测方式的当前帧内编码块;第二确定模块,用于确定与该当前帧内编码块相邻的相邻编码块包括相邻帧间编码块;更新模块,用于基于固定值或该相邻编码块包括的相邻帧内编码块中的图像数据,对该相邻帧间编码块中的图像数据进行更新处理;编码模块,用于基于该相邻帧间编码块中已更新的图像数据, 对该当前帧内编码块进行编码。再一方面,本发明实施例还提供了一种用于图像解码的设备,该设备包括第一确定模块,用于确定当前帧间编码帧中采用约束帧内预测方式的当前帧内编码块;第二确定模块,用于确定与该当前帧内编码块相邻的相邻编码块包括相邻帧间编码块;更新模块,用于基于固定值或该相邻编码块包括的相邻帧内编码块中的图像数据,对该相邻帧间编码块中的图像数据进行更新处理;解码模块,用于基于该相邻帧间编码块中已更新的图像数据, 对该当前帧内编码块进行解码。再一方面,本发明实施例还提供了一种处理图像数据的设备,该设备包括第一确定模块,用于确定当前编码对象中的所有编码块采用约束帧内预测方式;第二确定模块,用于在与当前帧内编码块相邻的相邻编码块中,确定与该当前帧内编码块属于不同编码对象的特定相邻编码块;第三确定模块,用于确定该特定相邻编码块是采用帧间编码方式进行编码的相邻帧间编码块;更新模块,用于基于固定值或该相邻编码块包括的相邻帧内编码块中的图像数据,对该相邻帧间编码块中的图像数据进行更新处理;编码解码模块,用于基于该相邻帧间编码块中已更新的图像数据,对该当前帧内编码块进行编码或解码。基于上述技术方案,本发明实施例的方法和设备通过对相邻的帧间编码块中的图像数据进行更新处理,并采用更新后的图像数据对当前帧内编码块进行编码或解码,使得被帧内编码块参考的帧间编码块不会将差错累积传递给该帧内编码块,从而能够提高帧内编码块的差错恢复能力,提高图像数据解码质量。


为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例应用场景的示意图;图2是根据本发明实施例的图像编码方法的示意图;图3是根据本发明另一实施例的更新处理的示意图;图4中的图(a)至图(C)是根据本发明再一实施例的更新处理的示意图;图5是根据本发明实施例的图像解码方法的示意图;图6是根据本发明实施例的处理图像数据方法的示意图;图7是根据本发明实施例的用于图像编码的设备的方框图;图8是根据本发明另一实施例的用于图像编码的设备的方框图;图9是根据本发明实施例的用于图像解码的设备的方框图;图10是根据本发明另一实施例的用于图像解码的设备的方框图;图11是根据本发明实施例的用于处理图像数据设备的方框图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。图1示出了本发明实施例应用的场景。如图1所示,视频帧可以包括帧内编码帧 (如图1中的I帧所示)和帧间编码帧(如图1中的P帧所示),该帧内编码帧和帧间编码帧又可以划分成多个编码块,其中帧内编码帧中的所有编码块都是帧内编码块,而帧间编码帧中的编码块既可以包括帧内编码块,又可以包括帧间编码块,其中帧内编码帧和帧内编码块采用帧内编码方式进行编码或解码,而帧间编码帧和帧间编码块采用帧间编码方式进行编码或解码。为了避免传输差错的累积,从而保证图像数据解码质量,可以在帧间编码帧中定义一些帧内刷新帧(如图1中的顶帧所示),强制该帧内刷新帧中的一些编码块采用帧内编码方式进行编码或解码,这些编码块属于帧内编码块,同时也可以称为帧内刷新块。当帧内编码块的相邻编码块是帧间编码块时,该帧间编码块可能已经累积一些传输差错,如果直接参考这些帧间编码块,可能使得帧内编码块也受到传输差错的影响,从而难以保证帧内刷新方法应具有的差错恢复能力。如图1所示,帧内编码块E的相邻块A和B是具有传输差错的错误块,为了避免传输差错的累积,需要根据本发明实施例对该帧内编码块的参考特征进行限制。图2示出了根据本发明实施例的图像编码方法的示意图。如图2所示,该方法包括在SllO中,确定当前帧间编码帧中采用约束帧内预测方式的当前帧内编码块,其中该约束帧内预测方式是指在进行帧内编码块的编码、解码或预测时,该帧内编码块的参考数据只能来自于与该帧内编码块相邻的帧内编码块的图像数据,或者默认的缺省值(或固定值),而不能来自于相邻的帧间编码块的图像数据。在S120中,确定与该当前帧内编码块相邻的相邻编码块包括相邻帧间编码块,其中相邻编码块是与当前帧内编码块相邻或相连接的编码块,对于当前帧内编码块而言,其相邻编码块通常可以包括左相邻编码块、上相邻编码块、左下相邻编码块和右上相邻编码块。当然,本领域技术人员还可以想到该相邻编码块还可以包括右相邻编码块、下相邻编码块、左上相邻编码块和右下相邻编码块。在S130中,基于固定值或该相邻编码块包括的相邻帧内编码块中的图像数据,对该相邻帧间编码块中的图像数据进行更新处理。在S140中,基于该相邻帧间编码块中已更新的图像数据,对该当前帧内编码块进行编码。对于当前帧间编码帧的当前编码块,判断该当前编码块是否是采用帧内编码方式进行编码的帧内编码块,并且判断该当前编码块是否使用约束帧内预测方式进行预测、编码或解码,如果确定当前编码块是采用约束帧内预测方式的当前帧内编码块,那么进一步对该当前帧内编码块的相邻编码块的编码方式进行判断。如果该相邻编码块中包括帧间编码块,则此时该帧间编码块不能作为当前帧内编码块的参考编码块,即在帧内预测时,不能使用该帧间编码块中的图像数据对当前帧内编码块进行预测。为此,在进行帧内预测前,可以基于固定值或相邻编码块包括的相邻帧内编码块中的图像数据,对该相邻帧间编码块中的图像数据进行更新处理。之后,基于该相邻帧间编码块中已更新的图像数据,可以对当前帧内编码块进行编码。更新处理之后,该帧间编码块中的待参考图像数据可以按通常方法被参考,其中该待参考图像数据是指在对当前帧内编码块进行预测时,可能使用到的相邻块中的像素。 由于该帧间编码块的图像数据经过更新处理,其中的待参考图像数据已不是帧间编码块中的可能带有传输差错的像素,由此可以作为当前帧内编码块参考的像素,从而保证当前帧内编码块不会参考相邻帧间编码块中的图像数据,由此能够阻止传输差错传递到当前帧内编码块中。根据本发明实施例的方法,通过对相邻的帧间编码块中的图像数据进行更新处理,并采用更新后的图像数据对当前帧内编码块进行编码或解码,使得被帧内编码块参考的帧间编码块不会将差错累积传递给该帧内编码块,从而能够提高帧内编码块的差错恢复能力,提高图像数据解码质量。在本发明实施例中,可以首先判断该当前编码块是否是帧内编码块,如果当前编码块是帧间编码块,则结束当前图像数据处理流程,对当前帧间编码帧中的下一编码块进行后续处理。当确定当前编码块是帧内编码块时,进一步判断当前帧内编码块是否使用约束帧内预测方式进行预测,如果不是则不必进行后续的更新处理,当前流程结束。可选地, 也可以首先判断当前编码块是否使用约束帧内预测方式进行预测,并且在确定当前编码块采用约束帧内预测方式时,对当前编码块的编码方式进行判断。本领域技术人员还可以想到的是同时判断当前编码块的编码方式以及是否采用约束帧内预测方式进行预测、编码或解码。
在本发明实施例中,解码时可以通过码流中的标识符对当前编码帧的编码方式进行判断,以确定当前编码帧是否是帧间编码帧;编码时则可以通过编码参数和编码过程,对当前编码帧是否是帧间编码帧进行判断。类似地,对于判断编码块的编码方式而言,每个编码块可具有表示该编码块的编码方式的标识符,解码时可以根据码流中与当前编码块相应的编码方式标识符,确定当前编码块是否是采用帧内编码方式进行编码;解码时也可以通过编码参数和编码过程来确定当前编码块是否是帧内编码块。本领域技术人员可以理解的是,还可以采用本领域公知的其他方法对编码帧和编码块的编码方式进行判断。在本发明实施例中,可以根据码流中的约束帧内预测标志(Constrainedlntra Prediction Flag),确定当前编码块是否是采用约束帧内预测方式进行编码或解码。例如, 当约束帧内预测标志为1时,则表明当前编码块采用约束帧内预测方式进行预测、编码或解码;当约束帧内预测标志为0时,则表明当前编码块没有采用约束帧内预测方式进行预测、编码或解码。本领域技术人员可以理解的是,还可以采用本领域公知的其他方法对约束帧内预测方式进行判断。图3以高效率视频编码(High Efficiency Video Coding,简称为“HEVC”)的分层块为例,示出了根据本发明实施例的更新处理的示意图。在对相邻帧间编码块中的图像数据进行更新处理时,可以对该相邻帧间编码块中的所有图像数据进行更新,可选地,可以仅对相邻帧间编码块中与当前帧内编码块相邻的一行或一列像素数据进行更新处理。本领域技术人员可以理解的是,也可以对相邻帧间编码块中的多行或多列像素数据进行更新处理。在本发明实施例中,在对相邻帧间编码块中的图像数据进行更新处理时,可以首先确定该相邻编码块还包括至少一个相邻帧内编码块,即当前帧内编码块的相邻编码块同时包括帧间编码块和帧内编码块。此时可以在该至少一个相邻帧内编码块中,确定与该当前相邻帧间编码块最邻近的相邻帧内编码块,并基于该最相邻的帧内编码块中的图像数据,对该相邻帧间编码块中的图像数据进行更新处理。可选地,可以将该最相邻的帧内编码块中离该相邻帧间编码块最近的像素值填充到该相邻帧间编码块中。如图4中的图(a)所示,当前帧内编码块E包括四个相邻编码块,即左上相邻编码块A、上相邻编码块B、右上相邻编码块C和左相邻编码块D,其中仅右上相邻编码块C确定为相邻的帧内编码块。以对相邻帧间编码块B中的图像数据进行更新处理为例进行说明, 该四个相邻编码块中仅右上相邻编码块C是帧内编码块,此时可以将右上相邻编码块C中离该相邻帧间编码块B最近的像素值填充到该相邻帧间编码块B中。可选地,可以将该像素值填充到相邻帧间编码块B中与当前帧内编码块E相邻的一行像素中,如图4中的图(a) 所示。当相邻编码块中包括多个帧内编码块时,如图4中的图(b)所示,右上相邻编码块 C以及左相邻编码块D都为相邻的帧内编码块,此时对相邻帧间编码块B中的图像数据进行更新处理时,可以确定左相邻编码块D距离相邻帧间编码块B最近,由此可以将相邻帧间编码块B中的图像数据更新为左相邻编码块D中的图像数据。在本发明另一实施例中,在确定相邻编码块包括至少两个相邻帧内编码块时,可以基于该至少两个相邻帧内编码块中的图像数据,通过对该至少两个相邻帧内编码块与该当前帧内编码块的距离进行加权平均的方式,对该相邻帧间编码块中的图像数据进行更新处理。以图4中的图(C)为例进行说明,相邻帧间编码块B的两侧都有相邻帧内编码块, 即左上相邻编码块A以及右上相邻编码块C。假设左上相邻编码块A和右上相邻编码块C 中,离该相邻帧间编码块B最近处的像素值分别为ft·和Pl,并且与该相邻帧间编码块B的当前像素的最近距离分别为a和b,则可以将像素值R填充到相邻帧间编码块B内相应的当前像素中,其中该像素值R可以用公式(1)表示R= (PrXa+PlXb)/(a+b) (1)在本发明再一实施例中,在对相邻帧间编码块中的图像数据进行更新处理时,在确定所有相邻编码块都是帧间编码块时,可以将该相邻帧间编码块中的图像数据更新为一固定值,例如1 或其他固定值。可选地,也可以在确定相邻编码块包括相邻帧间编码块之后,直接将所有相邻编码块中的图像数据都更新为一固定值,而不论该相邻编码块是否包括相邻帧内编码块。对于经过处理后的相邻帧间编码块,由于其待参考的图像数据来自于一固定值或相邻帧内编码块,因此,经过更新处理的相邻帧间编码块可以作为当前帧内编码块的参考编码块。并且,该相邻帧间编码块可以看做是帧内编码块。另一方面,在对其它的相邻帧间编码块的图像数据进行更新处理时,该相邻帧间编码块中更新过的图像数据,可以按照上述方法填充到其他相邻帧间编码块中。根据本发明实施例的方法,通过对相邻的帧间编码块中的图像数据进行更新处理,并采用更新后的图像数据对当前帧内编码块进行编码或解码,使得被帧内编码块参考的帧间编码块不会将差错累积传递给该帧内编码块,从而能够提高帧内编码块的差错恢复能力,提高图像数据解码质量;并且由于帧内编码块可以参考相邻编码块的图像数据,由此根据本发明实施例的方法还能够提高该帧内编码块的编码或解码效率。图5示出了根据本发明实施例的图像解码方法的示意图。如图5所示,该方法包括在S210中,确定当前帧间编码帧中采用约束帧内预测方式的当前帧内编码块,其中该约束帧内预测方式是指在进行帧内编码块的编码、解码或预测时,该帧内编码块的参考数据只能来自于与该帧内编码块相邻的帧内编码块的图像数据,或者默认的缺省值(或固定值),而不能来自于相邻的帧间编码块的图像数据。在S220中,确定与该当前帧内编码块相邻的相邻编码块包括相邻帧间编码块,其中相邻编码块是与当前帧内编码块相邻或相连接的编码块,对于当前帧内编码块而言,其相邻编码块通常可以包括左相邻编码块、上相邻编码块、左下相邻编码块和右上相邻编码块。当然,本领域技术人员还可以想到该相邻编码块还可以包括右相邻编码块、下相邻编码块、左上相邻编码块和右下相邻编码块。在S230中,基于固定值或该相邻编码块包括的相邻帧内编码块中的图像数据,对该相邻帧间编码块中的图像数据进行更新处理。在S240中,基于该相邻帧间编码块中已更新的图像数据,对该当前帧内编码块进行解码。在本发明实施例中,可以根据码流中与当前帧间编码帧的当前编码块相应的编码方式标识符,确定当前编码块采用帧内编码方式进行编码。可选地,可以根据码流中的约束帧内预测标志,确定当前编码块采用约束帧内预测方式进行解码。可选地,可以仅对相邻帧间编码块中与当前帧内编码块相邻的一行或一列像素数据进行更新处理。本领域技术人员可以理解的是,也可以对相邻帧间编码块中的多行或多列像素数据进行更新处理。在本发明实施例中,也可以采用如图3至图4的各种更新处理方法,对相邻帧间编码块中的图像数据进行更新,为了简洁不再赘述。根据本发明实施例的方法,通过对相邻的帧间编码块中的图像数据进行更新处理,并采用更新后的图像数据对当前帧内编码块进行编码或解码,使得被帧内编码块参考的帧间编码块不会将差错累积传递给该帧内编码块,从而能够提高帧内编码块的差错恢复能力,提高图像数据解码质量和效率。下面分别描述应用本发明实施例的方法的编码流程和解码流程。在编码流程中,可以首先根据编码参数和编码过程,判断当前编码块的编码方式, 如果当前编码块是帧间编码帧中采用帧内编码方式进行编码的帧内编码块,则例如可以根据码流中的约束帧内预测标志,判断该当前编码块是否采用约束帧内预测方式进行预测。 对于使用约束帧内预测方式的当前帧内编码块,再判断其相邻编码块的编码方式。在确定相邻编码块包括相邻帧间编码块时,可以基于固定值或相邻编码块包括的相邻帧内编码块中的图像数据,对该帧间编码块中的待参考像素数据进行更新处理。接着可以对当前帧内编码块进行帧内预测并得到残差数据,然后对残差数据进行变换、量化得到量化系数,最后可以对该量化系数进行熵编码。在解码流程中,可以首先解析码流,得到当前帧间编码帧中的解码块的预测编码方式以及量化系数,例如可以根据码流中与当前编码块相应的编码方式标识符,确定当前编码块是否采用帧内编码方式进行编码。如果当前块是帧内编码块,则判断当前帧内编码块是否使用约束帧内预测方式进行预测、编码或解码。对于使用约束帧内预测的当前帧内编码块,再判断其相邻编码块的编码类型。在确定相邻编码块包括相邻帧间编码块时,可以基于固定值或相邻编码块包括的相邻帧内编码块中的图像数据,对该帧间编码块中的待参考像素数据进行更新处理。接着对当前帧内编码块进行帧内预测,得到预测数据;并对量化系数进行反量化,以及对反量化后的系数进行反变换,得到残差数据。最后可以根据得到的残差数据以及预测数据,重构得到解码图像。根据本发明实施例的方法不仅可以应用于现有的视频编解码标准中,例如H. 264, 先进视频编码(Advanced Video Coding,简称为“AVC”)标准、音视频标准(Audio Video Standard,简称为“AVS” ),还可以应用于正在制定的HEVC标准中。下面将以根据本发明实施例的图像编码方法在HEVC标准中的应用为例进行详细描述。该HEVC标准中的分层块结构可以如图3所示,在HEVC标准中,编码对象的最大单位可以达到64X64,甚至可以达到更大的单位。因此,帧内刷新块(INTRA刷新块)的左或者上相邻编码块可能包括多个相邻编码块,而在这多个相邻编码块中,可能既有帧内编码块, 又有帧间编码块,与H. 264/AVC标准不同。在H. 264/AVC标准中,由于H. 264/AVC中的编码块类型是以16X16的编码块为单位,因此帧内刷新块在某个边上的相邻编码块只有一个, 该相邻编码块要么是帧内编码块,要么就是帧间编码块。在HEVC标准中,帧内刷新可以在64X64的最大单位的编码对象内部进行,即在一个64x64的编码对象内部,可以选择一部分编码块进行帧内编码。例如,当编码对象的最大划分是64X64时,如果在当前的编码对象上进行刷新,则当前64X64编码对象中的所有编码块,都按照帧内编码方式进行编码。此时,对于64X64编码对象中的所有编码块,不需要标识当前编码块使用帧间编码方式还是帧内编码方式进行编码,而是默认为该64X64的编码对象中的所有编码块都使用帧内编码方式进行编码。由此,仅需要在64X64的编码对象中,例如用一个比特的符号来标识当前64X64的编码对象是否使用帧内刷新方式进行编码。在对相邻编码块的参考图像数据进行处理时,仍然可以采用类似于前述实施例中的方法进行。区别仅在于,如果当前帧内编码块的相邻编码块与当前帧内编码块属于同一个编码对象,那么该相邻编码块一定也是帧内编码块,此时不需要进行参考图像数据的更新处理,该相邻编码块的像素数据可以被参考。另一方面,如果相邻编码块与当前帧内编码块不在同一个编码对象内,并且确定该相邻编码块采用帧间编码方式进行编码或解码,那么需要对该相邻帧间编码块中的图像数据进行更新处理。如图6所示,应用于HEVC标准的处理图像数据的方法包括在S310中,确定当前编码对象中的所有编码块采用约束帧内预测方式,其中可以根据码流中的约束帧内预测标志,例如该约束帧内预测标志为1,由此确定该编码对象中的所有帧内编码块采用约束帧内预测方式进行编码或解码。在S320中,在与当前帧内编码块相邻的相邻编码块中,确定与当前帧内编码块属于不同编码对象的特定相邻编码块。在S330中,确定该特定相邻编码块是采用帧间编码方式进行编码的相邻帧间编码块。在S340中,基于固定值或该相邻编码块包括的相邻帧内编码块中的图像数据,对该相邻帧间编码块中的图像数据进行更新处理,其中可以根据图3和4所示的方法进行图像数据的更新处理。在S350中,基于该相邻帧间编码块中已更新的图像数据,对该当前帧内编码块进行编码或解码。根据本发明实施例的方法,通过对相邻的帧间编码块中的图像数据进行更新处理,并采用更新后的图像数据对当前帧内编码块进行编码或解码,使得被帧内编码块参考的帧间编码块不会将差错累积传递给该帧内编码块,从而能够提高帧内编码块的差错恢复能力,提高图像数据解码质量和效率。本领域技术人员可理解,根据图2至图5的各种替换或变型也可以应用于根据图 6所示的方法,为了简洁不再赘述。下面将结合附图描述根据本发明实施例的用于编码、解码和处理图像数据的设备。图7示出了根据本发明实施例的用于图像编码的设备的方框图。如图7所示,用于图像解码的设备500包括第一确定模块510、第二确定模块520、更新模块530和编码模块讨0,其中第一确定模块510,用于确定当前帧间编码帧中采用约束帧内预测方式的当前帧内编码块;
第二确定模块520,用于确定与该当前帧内编码块相邻的相邻编码块包括相邻帧间编码块;更新模块530,用于基于固定值或该相邻编码块包括的相邻帧内编码块中的图像数据,对该相邻帧间编码块中的图像数据进行更新处理;编码解码模块M0,用于基于该相邻帧间编码块中已更新的图像数据,对该当前帧内编码块进行编码。可选地,如图8所示,用于图像解码的设备600包括第一确定模块610、第二确定模块620、更新模块630和编码模块640,其中该更新模块630还可以包括下列单元或单元组合中的一种或多种第一确定单元631和第一更新单元632 ;第二确定单元633和第二更新单元634 ;第三更新单元635 ;以及第四更新单元636,其中第一确定单元631,用于确定该相邻编码块还包括至少一个相邻帧内编码块;第一更新单元632,用于基于与该相邻帧间编码块最相邻的该相邻帧内编码块中的图像数据,对该相邻帧间编码块中的图像数据进行更新处理;第二确定单元633,用于确定该相邻编码块还包括至少两个相邻帧内编码块;第二更新单元634,用于基于该至少两个相邻帧内编码块中的图像数据,通过对该至少两个相邻帧内编码块与该当前帧内编码块的距离进行加权平均的方式,对该相邻帧间编码块中的图像数据进行更新处理;第三更新单元635,用于在确定所有该相邻编码块都是帧间编码块时,将该相邻帧间编码块中的图像数据更新为一固定值;第四更新单元636,用于将所有该相邻编码块中的图像数据更新为一固定值。用于处理图像数据的设备600的第一确定模块610、第二确定模块620和编码模块 640,与处理图像数据的设备500的第一确定模块510、第二确定模块520和编码模块540相类似,并且处理图像数据的设备500和600的上述和其他操作和/或功能都分别为了实现图2至图5中的各个方法的相应流程,为了简洁,在此不再赘述。根据本发明实施例的用于图像解码的设备,通过对相邻的帧间编码块中的图像数据进行更新处理,并采用更新后的图像数据对当前帧内编码块进行编码或解码,使得被帧内编码块参考的帧间编码块不会将差错累积传递给该帧内编码块,从而能够提高帧内编码块的差错恢复能力,提高图像数据解码质量和效率。图9示出了根据本发明实施例的用于解码的设备的方框图。如图9所示,用于图像解码的设备700包括第一确定模块710、第二确定模块720、更新模块730和解码模块740, 其中第一确定模块710,用于确定当前帧间编码帧中采用约束帧内预测方式的当前帧内编码块;第二确定模块720,用于确定与该当前帧内编码块相邻的相邻编码块包括相邻帧间编码块;更新模块730,用于基于固定值或该相邻编码块包括的相邻帧内编码块中的图像数据,对该相邻帧间编码块中的图像数据进行更新处理;编码解码模块740,用于基于该相邻帧间编码块中已更新的图像数据,对该当前帧内编码块进行解码。
可选地,如图10所示,用于解码的设备800包括第一确定模块810、第二确定模块 820、更新模块830和解码模块840,其中该更新模块830还可以包括下列单元或单元组合中的一种或多种第一确定单元831和第一更新单元832 ;第二确定单元833和第二更新单元 834 ;第三更新单元835 ;以及第四更新单元836,其中该更新模块830所包括的各单元与用于图像解码的设备600的更新模块630相类似,并且用于解码的设备700和800的上述和其他操作和/或功能都分别为了实现图2至图5中的各个方法的相应流程,为了简洁,在此不再赘述。根据本发明实施例的用于解码的设备,通过对相邻的帧间编码块中的图像数据进行更新处理,并采用更新后的图像数据对当前帧内编码块进行编码或解码,使得被帧内编码块参考的帧间编码块不会将差错累积传递给该帧内编码块,从而能够提高帧内编码块的差错恢复能力,提高图像数据解码质量和效率。图11示出了根据本发明实施例的用于处理图像数据设备的方框图。如图11所示, 用于处理图像数据的设备900包括第一确定模块910,用于确定当前编码对象中的所有编码块采用约束帧内预测方式;第二确定模块920,用于在与当前帧内编码块相邻的相邻编码块中,确定与当前帧内编码块属于不同编码对象的特定相邻编码块;第三确定模块930,用于确定该特定相邻编码块是采用帧间编码方式进行编码的相邻帧间编码块;更新模块940,用于基于固定值或该相邻编码块包括的相邻帧内编码块中的图像数据,对该相邻帧间编码块中的图像数据进行更新处理;编码解码模块950,用于基于该相邻帧间编码块中已更新的图像数据,对该当前帧内编码块进行编码或解码。可选地,该更新模块940还可以包括下列单元或单元组合中的一种或多种第一确定单元941和第一更新单元942 ;第二确定单元943和第二更新单元944 ;第三更新单元 945 ;以及第四更新单元946,这些单元与更新模块630或更新模块830的各单元相类似,并且用于处理图像数据的设备900的上述和其他操作和/或功能都分别为了实现图6中的各个更新方法的相应流程,为了简洁,在此不再赘述。根据本发明实施例的用于处理图像数据的设备,通过对相邻的帧间编码块中的图像数据进行更新处理,并采用更新后的图像数据对当前帧内编码块进行编码或解码,使得被帧内编码块参考的帧间编码块不会将差错累积传递给该帧内编码块,从而能够提高帧内编码块的差错恢复能力,提高图像数据解码质量和效率。本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。结合本文中所公开的实施例描述的方法或步骤可以用硬件、处理器执行的软件程序,或者二者的结合来实施。软件程序可以置于随机存储器(RAM)、内存、只读存储器 (ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。 尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内。
权利要求
1.一种图像编码的方法,其特征在于,所述方法包括确定当前帧间编码帧中采用约束帧内预测方式的当前帧内编码块;确定与所述当前帧内编码块相邻的相邻编码块包括相邻帧间编码块;基于固定值或所述相邻编码块包括的相邻帧内编码块中的图像数据,对所述相邻帧间编码块中的图像数据进行更新处理;基于所述相邻帧间编码块中已更新的图像数据,对所述当前帧内编码块进行编码。
2.根据权利要求1所述的方法,其特征在于,根据码流中的约束帧内预测标志,确定所述当前编码块采用约束帧内预测方式进行编码。
3.根据权利要求1所述的方法,其特征在于,所述对所述相邻帧间编码块中的图像数据进行更新处理,包括对所述相邻帧间编码块中与所述当前帧内编码块相邻的一行或一列像素数据进行更新处理。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述对所述相邻帧间编码块中的图像数据进行更新处理,包括确定所述相邻编码块还包括至少一个相邻帧内编码块;基于与所述相邻帧间编码块最相邻的所述相邻帧内编码块中的图像数据,对所述相邻帧间编码块中的图像数据进行更新处理。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述对所述相邻帧间编码块中的图像数据进行更新处理,包括确定所述相邻编码块还包括至少两个相邻帧内编码块;基于所述至少两个相邻帧内编码块中的图像数据,通过对所述至少两个相邻帧内编码块与所述当前帧内编码块的距离进行加权平均的方式,对所述相邻帧间编码块中的图像数据进行更新处理。
6.根据权利要求1至3中任一项所述的方法,其特征在于,所述对所述相邻帧间编码块中的图像数据进行更新处理,包括在确定所有所述相邻编码块都是帧间编码块时,将所述相邻帧间编码块中的图像数据更新为一固定值。
7.根据权利要求1至3中任一项所述的方法,其特征在于,所述对所述相邻帧间编码块中的图像数据进行更新处理,包括将所有所述相邻编码块中的图像数据更新为一固定值。
8.一种图像解码的方法,其特征在于,所述方法包括确定当前帧间编码帧中采用约束帧内预测方式的当前帧内编码块;确定与所述当前帧内编码块相邻的相邻编码块包括相邻帧间编码块;基于固定值或所述相邻编码块包括的相邻帧内编码块中的图像数据,对所述相邻帧间编码块中的图像数据进行更新处理;基于所述相邻帧间编码块中已更新的图像数据,对所述当前帧内编码块进行解码。
9.根据权利要求8所述的方法,其特征在于,根据码流中与所述当前帧间编码帧的当前编码块相应的编码方式标识符,确定所述当前编码块采用帧内编码方式进行编码。
10.根据权利要求8所述的方法,其特征在于,根据码流中的约束帧内预测标志,确定所述当前编码块采用约束帧内预测方式进行解码。
11.根据权利要求8所述的方法,其特征在于,所述对所述相邻帧间编码块中的图像数据进行更新处理,包括对所述相邻帧间编码块中与所述当前帧内编码块相邻的一行或一列像素数据进行更新处理。
12.根据权利要求8至11中任一项所述的方法,其特征在于,所述对所述相邻帧间编码块中的图像数据进行更新处理,包括确定所述相邻编码块还包括至少一个相邻帧内编码块;基于与所述相邻帧间编码块最相邻的所述相邻帧内编码块中的图像数据,对所述相邻帧间编码块中的图像数据进行更新处理。
13.根据权利要求8至11中任一项所述的方法,其特征在于,所述对所述相邻帧间编码块中的图像数据进行更新处理,包括确定所述相邻编码块还包括至少两个相邻帧内编码块;基于所述至少两个相邻帧内编码块中的图像数据,通过对所述至少两个相邻帧内编码块与所述当前帧内编码块的距离进行加权平均的方式,对所述相邻帧间编码块中的图像数据进行更新处理。
14.根据权利要求8至11中任一项所述的方法,其特征在于,所述对所述相邻帧间编码块中的图像数据进行更新处理,包括在确定所有所述相邻编码块都是帧间编码块时,将所述相邻帧间编码块中的图像数据更新为一固定值。
15.根据权利要求8至11中任一项所述的方法,其特征在于,所述对所述相邻帧间编码块中的图像数据进行更新处理,包括将所有所述相邻编码块中的图像数据更新为一固定值。
16.一种处理图像数据的方法,其特征在于,所述方法包括确定当前编码对象中的所有编码块采用约束帧内预测方式;在与当前帧内编码块相邻的相邻编码块中,确定与所述当前帧内编码块属于不同编码对象的特定相邻编码块;确定所述特定相邻编码块是采用帧间编码方式进行编码的相邻帧间编码块;基于固定值或所述相邻编码块包括的相邻帧内编码块中的图像数据,对所述相邻帧间编码块中的图像数据进行更新处理;基于所述相邻帧间编码块中已更新的图像数据,对所述当前帧内编码块进行编码或解码。
17.根据权利要求16所述的方法,其特征在于,根据码流中的约束帧内预测标志,确定所述编码对象中的所有帧内编码块采用约束帧内预测方式进行编码或解码。
18.根据权利要求16所述的方法,其特征在于,所述对所述相邻帧间编码块中的图像数据进行更新处理,包括对所述相邻帧间编码块中与所述当前帧内编码块相邻的一行或一列像素数据进行更新处理。
19.根据权利要求16至18中任一项所述的方法,其特征在于,所述对所述相邻帧间编码块中的图像数据进行更新处理,包括确定所述相邻编码块还包括至少一个相邻帧内编码块;基于与所述相邻帧间编码块最相邻的所述相邻帧内编码块中的图像数据,对所述相邻帧间编码块中的图像数据进行更新处理。
20.根据权利要求16至18中任一项所述的方法,其特征在于,所述对所述相邻帧间编码块中的图像数据进行更新处理,包括确定所述相邻编码块还包括至少两个相邻帧内编码块;基于所述至少两个相邻帧内编码块中的图像数据,通过对所述至少两个相邻帧内编码块与所述当前帧内编码块的距离进行加权平均的方式,对所述相邻帧间编码块中的图像数据进行更新处理。
21.根据权利要求16至18中任一项所述的方法,其特征在于,所述对所述相邻帧间编码块中的图像数据进行更新处理,包括在确定所有所述相邻编码块都是帧间编码块时,将所述相邻帧间编码块中的图像数据更新为一固定值。
22.根据权利要求16至18中任一项所述的方法,其特征在于,所述对所述相邻帧间编码块中的图像数据进行更新处理,包括将所有所述相邻编码块中的图像数据更新为一固定值。
23.一种用于图像编码的设备,其特征在于,所述设备包括第一确定模块,用于确定当前帧间编码帧中采用约束帧内预测方式的当前帧内编码块;第二确定模块,用于确定与所述当前帧内编码块相邻的相邻编码块包括相邻帧间编码块;更新模块,用于基于固定值或所述相邻编码块包括的相邻帧内编码块中的图像数据,对所述相邻帧间编码块中的图像数据进行更新处理;编码模块,用于基于所述相邻帧间编码块中已更新的图像数据,对所述当前帧内编码块进行编码。
24.根据权利要求23所述的设备,其特征在于,所述更新模块包括第一确定单元,用于确定所述相邻编码块还包括至少一个相邻帧内编码块;第一更新单元,用于基于与所述相邻帧间编码块最相邻的所述相邻帧内编码块中的图像数据,对所述相邻帧间编码块中的图像数据进行更新处理。
25.根据权利要求23所述的设备,其特征在于,所述更新模块包括第二确定单元,用于确定所述相邻编码块还包括至少两个相邻帧内编码块;第二更新单元,用于基于所述至少两个相邻帧内编码块中的图像数据,通过对所述至少两个相邻帧内编码块与所述当前帧内编码块的距离进行加权平均的方式,对所述相邻帧间编码块中的图像数据进行更新处理。
26.根据权利要求23所述的设备,其特征在于,所述更新模块包括第三更新单元,用于在确定所有所述相邻编码块都是帧间编码块时,将所述相邻帧间编码块中的图像数据更新为一固定值。
27.根据权利要求23所述的设备,其特征在于,所述更新模块包括第四更新单元,用于将所有所述相邻编码块中的图像数据更新为一固定值。
28.一种用于图像解码的设备,其特征在于,所述设备包括第一确定模块,用于确定当前帧间编码帧中采用约束帧内预测方式的当前帧内编码块;第二确定模块,用于确定与所述当前帧内编码块相邻的相邻编码块包括相邻帧间编码块;更新模块,用于基于固定值或所述相邻编码块包括的相邻帧内编码块中的图像数据,对所述相邻帧间编码块中的图像数据进行更新处理;解码模块,用于基于所述相邻帧间编码块中已更新的图像数据,对所述当前帧内编码块进行解码。
29.根据权利要求观所述的设备,其特征在于,所述更新模块包括第一确定单元,用于确定所述相邻编码块还包括至少一个相邻帧内编码块;第一更新单元,用于基于与所述相邻帧间编码块最相邻的所述相邻帧内编码块中的图像数据,对所述相邻帧间编码块中的图像数据进行更新处理。
30.根据权利要求观所述的设备,其特征在于,所述更新模块包括第二确定单元,用于确定所述相邻编码块还包括至少两个相邻帧内编码块;第二更新单元,用于基于所述至少两个相邻帧内编码块中的图像数据,通过对所述至少两个相邻帧内编码块与所述当前帧内编码块的距离进行加权平均的方式,对所述相邻帧间编码块中的图像数据进行更新处理。
31.根据权利要求观所述的设备,其特征在于,所述更新模块包括第三更新单元,用于在确定所有所述相邻编码块都是帧间编码块时,将所述相邻帧间编码块中的图像数据更新为一固定值。
32.根据权利要求观所述的设备,其特征在于,所述更新模块包括第四更新单元,用于将所有所述相邻编码块中的图像数据更新为一固定值。
33.一种用于处理图像数据的设备,其特征在于,所述设备包括第一确定模块,用于确定当前编码对象中的所有编码块采用约束帧内预测方式;第二确定模块,用于在与当前帧内编码块相邻的相邻编码块中,确定与所述当前帧内编码块属于不同编码对象的特定相邻编码块;第三确定模块,用于确定所述特定相邻编码块是采用帧间编码方式进行编码的相邻帧间编码块;更新模块,用于基于固定值或所述相邻编码块包括的相邻帧内编码块中的图像数据,对所述相邻帧间编码块中的图像数据进行更新处理;编码解码模块,用于基于所述相邻帧间编码块中已更新的图像数据,对所述当前帧内编码块进行编码或解码。
34.根据权利要求33所述的设备,其特征在于,所述更新模块包括第一确定单元,用于确定所述相邻编码块还包括至少一个相邻帧内编码块;第一更新单元,用于基于与所述相邻帧间编码块最相邻的所述相邻帧内编码块中的图像数据,对所述相邻帧间编码块中的图像数据进行更新处理。
35.根据权利要求33所述的设备,其特征在于,所述更新模块包括第二确定单元,用于确定所述相邻编码块还包括至少两个相邻帧内编码块;第二更新单元,用于基于所述至少两个相邻帧内编码块中的图像数据,通过对所述至少两个相邻帧内编码块与所述当前帧内编码块的距离进行加权平均的方式,对所述相邻帧间编码块中的图像数据进行更新处理。
36.根据权利要求33所述的设备,其特征在于,所述更新模块包括第三更新单元,用于在确定所有所述相邻编码块都是帧间编码块时,将所述相邻帧间编码块中的图像数据更新为一固定值。
37.根据权利要求33所述的设备,其特征在于,所述更新模块包括第四更新单元,用于将所有所述相邻编码块中的图像数据更新为一固定值。
全文摘要
本发明公开了一种图像编码方法、图像解码方法、处理图像数据方法及其设备。本发明的图像编码方法包括确定当前帧间编码帧中采用约束帧内预测方式的当前帧内编码块;确定与该当前帧内编码块相邻的相邻编码块包括相邻帧间编码块;基于固定值或该相邻编码块包括的相邻帧内编码块中的图像数据,对该相邻帧间编码块中的图像数据进行更新处理;基于该相邻帧间编码块中已更新的图像数据,对该当前帧内编码块进行编码。本发明的用于图像编码的设备包括第一确定模块、第二确定模块、更新模块和编码模块。采用本发明的方法和设备能够提高帧内编码块的差错恢复能力,提高图像数据解码质量。
文档编号H04N7/32GK102595124SQ20111000818
公开日2012年7月18日 申请日期2011年1月14日 优先权日2011年1月14日
发明者林永兵, 赖昌材, 郑萧桢 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1