视频编码和解码方法及装置与流程

文档序号:14396366阅读:255来源:国知局

本公开涉及视频编码和解码方法及其装置,尤其涉及一种用于进行帧间预测的视频编码和解码方法及其装置。



背景技术:

随着电子技术的发展,提供了诸如高清(highdefinition,hd)图像和超高清(ultra-highdefinition,uhd)图像的高分辨率图像。为了提供高分辨率图像,高效率的图像压缩技术是必要的。例如,为了以每秒30页的方式处理每1280×720分辨率(hd)的分量样本具有8位的rgb图像,需要每秒处理1280×720×8×3×30=663,552,000位。同时,为了以每秒30页的方式处理每3840×2160分辨率(uhd)的分量样本具有8位的rgb图像,需要每秒处理3840×2160×8×3×30=5,971,968,000位。换句话说,较高分辨率的图像需要指数级地增加待处理的位数,并增大了图像存储成本和传输成本。

图像压缩技术用以通过将一个帧划分为多个块并且从多个块中的每个块中去除时间和空间冗余以减少位数来压缩图像数据。这被称为对图像进行编码。通过去除空间冗余的方式的图像压缩方法的示例是使用待编码的目标块的相邻像素来压缩图像,这通常被称为帧内预测编码。通过去除时间冗余的方式的图像压缩方法的示例是使用在目标块之前被压缩的另一帧的参考块来压缩图像,这通常被称为帧间预测编码。

为了编码目标块,传统的帧间预测编码仅使用方块。此外,在每个块中,块边界的水平线和垂直线与每个帧的水平线和垂直线平行。

然而,实际图像具有用曲线表示的更多对象的分布,这样,当用曲线表示的对象被划分为方块并被编码时,会出现准确度下降的问题。因此,需要在考虑包括在图像中的对象的边界的情况下进行编码。

详细说明

技术问题

因此,本公开的目的是提供一种用于将当前帧的目标块划分为多个区域并进行帧间预测的视频编解码方法及其装置。

解决技术问题的方案

根据实现上述目的的实施例,提供一种编码装置的编码方法,其可以包括:根据预设的划分方法,将当前帧的目标块划分为第一区域和第二区域;从第一参考帧搜索关于所述第一区域的第一运动向量以生成包括与所述第一区域对应的区域的第一预测块;根据所述预设的划分方法,将所述第一预测块划分为第三区域和第四区域,并生成边界信息;在第二参考帧中搜索关于与所述第二区域对应的所述第四区域的第二运动向量,以生成包括与所述第四区域对应的区域的第二预测块;以及根据所述边界信息合并所述第一预测块和所述第二预测块,以生成与所述目标块对应的第三预测块。

根据实现上述目的的实施例,提供一种解码装置的解码方法,其可以包括:关于在当前帧中待解码的目标块,接收在第一参考帧中搜索到的第一运动向量和在第二参考帧中搜索到的第二运动向量;分别基于所述第一参考帧中的所述第一运动向量和所述第二参考帧中的所述第二运动向量,生成第一预测块和第二预测块;根据预设的划分方法将所述第一预测块划分为多个区域,并生成边界信息;以及根据所述边界信息合并所述第一预测块和所述第二预测块,以生成与所述目标块对应的第三预测块。

同时,根据本公开的实施例,提供一种编码装置,其可以包括:与解码装置通信的接口;以及处理器,其被配置为:根据预设的划分方法,将当前帧的目标块划分为第一区域和第二区域;从第一参考帧搜索关于所述第一区域的第一运动向量以生成包括与所述第一区域对应的区域的第一预测块;根据所述预设的划分方法,将所述第一预测块划分为第三区域和第四区域;生成边界信息;在第二参考帧中搜索关于与所述第二区域对应的所述第四区域的第二运动向量,以生成包括与所述第四区域对应的区域的第二预测块;根据所述边界信息合并所述第一预测块和所述第二预测块,以生成与所述目标块对应的第三预测块;并且控制所述接口将所述第一运动向量和所述第二运动向量发送到所述解码装置。

同时,根据本公开的实施例,提供一种解码装置,其可以包括:与编码装置通信的接口;以及处理器,其被配置为:当关于当前帧中待解码的目标块,从所述编码装置接收到在第一参考帧中搜索到的第一运动向量和在第二参考帧中搜索到的第二运动向量时,分别基于所述第一参考帧中的所述第一运动向量和所述第二参考帧中的所述第二运动向量,生成第一预测块和第二预测块;根据预设的划分方法,将所述第一预测块划分为多个区域;生成边界信息;并且根据所述边界信息合并所述第一预测块和所述第二预测块,以生成与所述目标块对应的第三预测块。

有益效果

根据上述各种实施例,通过根据目标块的像素值将当前帧的目标块划分为多个区域来进行帧间预测,可以提高预测的准确度。

附图的简要说明

图1是用于理解本公开的、例示了编码装置的结构的框图。

图2是用于理解本公开的、例示了解码装置的结构的框图。

图3是被提供以说明根据实施例的编码装置的简要框图。

图4a和图4b是被提供以说明根据实施例的用于划分目标块的方法的示意图。

图5是被提供以说明根据实施例的用于生成预测块的方法的示意图。

图6a和图6b是被提供以说明根据实施例的边界信息的示意图。

图7是被提供以说明根据实施例的用于合并预测块的方法的示意图。

图8是被提供以说明根据实施例的解码装置的简要框图。

图9是被提供以说明根据实施例的用于生成预测块的编码装置的方法的流程图。

图10是被提供以说明根据实施例的用于生成预测块的解码装置的方法的流程图。

最佳方式

以下将参考附图详细说明本公开的各种实施例。本文提供的描述不应当将本发明的范围限制为任何特定的实施例,而应当被解释为包括各种修改、等同物和/或替代物。参考附图的说明,相同或相似的附图标号可以用于类似的元件。

此外,当本文描述某个元件(例如,第一元件)可操作地或可通信地耦合或连接到另一元件(例如,第二元件)时,应当理解为,各个元件不仅可以直接地耦合或连接,而且还通过又一元件(例如,第三元件)耦合或连接。相反,当本文描述某一元件(例如,第一元件)与另一元件(例如,第二元件)“直接耦合”或“直接连接”时,可以理解为,另一元件(例如,第三元件)可以存在于某个元件和另一元件之间。

本公开中使用的术语被用于说明某些实施例,并且可以不旨在限制另一实施例的范围。为便于解释,本文可以使用单数表达,但是这可以被解释为包括复数表达,除非在上下文中另外明确地定义。此外,本文使用的术语可以具有与本发明所属领域的普通技术人员通常理解的相同含义。除非另外定义,否则本文使用的所有术语具有与本发明所属领域的普通技术人员通常理解的相同含义。应当进一步理解的是,诸如在常用字典中定义的那些术语应当被解释为具有与其在相关领域的上下文中的含义一致的含义,并且将不被理解为理想化或过于正式的含义,除非本文明确地定义。根据情况,甚至在本文中定义的术语将不被解释为排除本公开的实施例。

以下,将参考附图对本发明的各种实施方式进行具体说明。

图1是用于理解本公开的、例示了编码装置100的结构的框图。如图1所示,编码装置100包括运动预测器111、运动补偿器112、帧内预测器120、开关115、减法器125、变换器130、量化器140、熵编码器150、去量化器160、反相器170、加法器175、滤波器180和参考图片缓冲器190。

编码装置100被配置为将视频编码并改变为不同的信号形式。在该示例中,视频由多个帧组成,并且多个帧中的每个帧可以包括多个像素。例如,编码装置100可以被配置用于压缩未处理的原始数据。另选地,编码装置100可以被配置用于将先前编码的数据改变为另一种信号形式。

编码装置100可以通过将每个帧划分为多个块来进行编码。编码装置100可以通过时间或空间预测、变换、量化、滤波和熵编码逐块地进行编码。

“预测”指的是生成与待编码的目标块相似的预测块。在该示例中,待编码的目标块的单元可以被定义为“预测单元(predictionunit,pu)”,并且该预测分为时间预测和空间预测。

“时间预测”是指画面之间的预测。编码装置100可以存储与当前待编码的图片具有高相关度的一些参考图片,并使用所存储的图片进行画面间预测。换句话说,编码装置100可以根据之前已经被编码然后被解码的参考图片来生成预测块。在这种情况下,可以称编码装置100进行帧间预测编码。

为了进行帧间预测编码,运动预测器111可以从存储在参考图片缓冲器190中的参考图片中搜索与目标块具有最高时间相关度的块。运动预测器111可以插入参考图片并且从插入的图片中搜索与目标块具有最高时间相关度的块。

在该示例中,参考图片缓冲器190是存储参考图片的空间。参考图片缓冲器190可以仅在进行画面之间的预测时被使用,并且可以存储与待编码的图像具有高相关度的一些参考图片。参考图片可以是作为按照顺序进行变换、量化、去量化、反转和滤波残差块的结果而生成的图片,上述过程将在下面描述。即,参考图片可以是被编码然后被解码的图片。

运动补偿器112可以基于关于与在运动预测器111处搜索到的目标块具有最高时间相关度的块的运动信息来生成预测块。在该示例中,运动信息可以包括运动向量、参考图片索引等。

空间预测是指画面内的预测。帧内预测器120可以根据在当前图片内编码的相邻像素进行空间预测以生成关于目标块的预测值。在这种情况下,可以称编码装置100进行帧内预测编码。

帧间预测编码或帧内预测编码可以基于编码单元(codingunit,cu)来确定。在该示例中,编码单元可以包括至少一个预测单元。当确定预测编码方法时,可以改变开关115的位置以对应于该预测编码方法。

同时,虽然在时间预测中编码然后解码的参考图片可以是应用了滤波的图片,但是在空间预测中编码然后解码的相邻像素可以是未应用滤波的像素。

减法器125可以通过计算根据时间预测或空间预测获得的目标块与预测块之间的差来生成残差块。残差块可以是通过预测处理从中大量去除冗余的块,但是包括由于不完全预测而待编码的信息。

变换器130可以在画面内或画面间预测之后对残差块进行变换以去除空间冗余并输出频域的变换系数。在该示例中,变换的单元是变换单元(transformunit,tu),并且可以在不考虑预测单元的情况下而被确定。例如,包括多个残差块的帧可以被划分为多个变换单元而不管预测单元如何,并且变换器130可以基于每个变换单元进行变换。变换单元的划分可以根据位速率优化来确定。

然而,本公开不限于此,因此,可以与编码单元和预测单元中的至少一个相关联地确定变换单元。

变换器130可以进行变换以将每个变换单元的能量聚集到特定的频域。例如,变换器130可以通过针对每个变换单元进行基于离散余弦变换(discretecosinetransform,dct)的变换而将数据聚集到低频域。另选地,变换器130可以进行基于离散傅里叶变换(discretefouriertransform,dft)或基于离散正弦变换(discretesinetransform,dst)的变换。

量化器140可以进行关于变换系数的量化并且将变换系数逼近预设的代表值。换句话说,量化器140可以将特定范围内的输入值映射为一个代表值。在这个过程中,人不能识别的高频信号可以被去除,并可能发生信息的丢失。

量化器140可以根据输入数据的可能性分布或量化的目的使用均匀量化方法和非均匀量化方法中的一种方法。例如,当输入数据的可能性分布均匀时,量化器140可以使用均匀量化方法。另选地,当输入数据的可能性分布非均匀时,量化器140可以使用非均匀量化方法。

熵编码器150可以通过根据关于从量化器140输入的数据的符号出现的可能性可变地分配符号的长度来减少数据量。换句话说,熵编码器150可以将表示输入数据的位流生成为基于可能性模型的由0和1组成的可变长度的位串。

例如,熵编码器150可以通过为出现可能性高的符号分配少量的位,并为出现可能性低的符号分配大量的位来表达输入数据。因此,可以减少输入数据中的位串的大小,并且可以增强图片编码的压缩性能。

熵编码器150可以利用诸如霍夫曼编码(huffmancoding)和指数-哥伦布编码(exponential-golombcoding)的可变长度编码(variablelengthcoding)或算术编码方法(arithmeticcoding)来进行熵编码。

去量化器160和反相器170可以分别接收量化的变换系数并进行反转以生成恢复的残差块。

加法器175可以将恢复的残差块与根据时间预测或空间预测获得的预测块相加以生成恢复的块。

滤波器180可以将去块滤波器(deblockingfilter)、采样自适应偏移(sampleadaptiveoffset,sao)和自适应环路滤波器(adaptiveloopfilter,alf)中的至少一个应用于恢复的图片。经滤波的恢复的图片可以被存储在参考图片缓冲器190中并用作参考图片。

图2是示出根据实施例的解码装置200的结构的框图。如图2所示,解码装置200包括熵解码器210、去量化器220、反相器230、加法器235、帧内预测器240、运动补偿器250、开关255、滤波器260以及参考图片缓冲器270。

在编码装置中生成的位流可以被输入解码装置200,并且进行解码以重建视频。解码装置200可以通过熵解码、去量化、反转、滤波等逐块地进行解码。

熵解码器210可以对输入的位流进行熵解码以生成量化的变换系数。在这个示例中,可以通过反向应用在图1的熵编码器150处使用的方法进行熵解码。

去量化器220可以接收量化的变换系数并且进行去量化。换句话说,根据量化器140和去量化器220的操作,特定范围内的输入值可以被改变为特定范围内的一个参考输入值,并且在该过程期间,可能出现与输入值和一个参考输入值之间的差一样多的误差。

反相器230可以使从去量化器220输出的数据反相,并且通过相反地应用在变换器130处使用的方法来进行反相。反相器230可以进行反相以生成恢复的残差块。

加法器235可以将恢复的残差块与预测块相加以生成恢复的块。在该示例中,预测块可以是通过帧间预测编码或帧内预测编码生成的块。

为了进行帧间预测编码,运动补偿器250可以从编码装置100接收或者导出(即,从相邻块导出)待解码的目标块的运动信息,并且基于所接收或导出的运动信息来生成预测块。在该示例中,运动补偿器250可以根据存储在参考图片缓冲器270中的参考图片来生成预测块。该运动信息可以包括关于与目标块具有最高时间相关度的块的运动向量、参考图片索引等。

在该示例中,参考图片缓冲器270可以存储与当前打算解码的图片具有高相关度的部分的参考图片。该参考图片可以是通过对上述恢复的块进行滤波而生成的图片。换句话说,参考图片可以是在编码装置处生成的位流被解码的图片。此外,在解码装置中使用的参考图片可以与在编码装置中使用的参考图片相同。

为了进行帧内预测编码,帧内预测器240可以从在当前图片内编码的相邻像素进行空间预测以生成关于目标块的预测值。

同时,开关255的位置可以根据目标块的预测编码方法而改变。

滤波器260可以将去块滤波器、sao和alf中的至少一个应用于恢复的图片。经滤波的恢复的图片可以存储在参考图片缓冲器270中并用作参考图片。

同时,解码装置200可以进一步包括解析器(未示出),该解析器被配置为解析与包括在位流中的编码图片有关的信息。解析器可以包括熵解码器210并且可以被包括在熵解码器210中。

如上所述,编码装置100可以通过编码处理来压缩视频数据,并将压缩的数据发送到解码装置200。解码装置200可以对压缩的数据进行解码以重建视频。

以下,将详细说明用于进行帧间预测编码的运动预测的方法。特别地,将说明通过将目标块划分为多个区域来进行运动预测的方法。

图3是被提供以说明根据实施例的编码装置100的简要框图。

如图3所示,编码装置100包括接口310和处理器320。

同时,图3通过参考被提供有诸如通信功能、控制功能等的功能的编码装置100的示例来简要地示出各种元件。因此,根据实施例,图3中所示的一些元件可以被省略或修改,或者可以进一步添加其他的新元件。

接口310可以与解码装置200进行通信。具体地,接口310可以将编码的位流、运动信息等发送至解码装置200。

接口310可以通过使用有线/无线lan、wan、以太网、蓝牙、zigbee、ieee1394、wifi或电力线通信(powerlinecommunication,plc)与解码装置200进行通信。

处理器320可以根据预设的划分方法将待编码的当前帧的目标块划分为第一区域和第二区域。在该示例中,预设的划分方法可以是基于构成目标块的多个像素的像素值,将目标块划分为多个区域的方法。

例如,处理器320可以根据构成目标块的多个像素的像素值来计算平均值,并基于该平均值将目标块划分为第一区域和第二区域。另选地,处理器320可以通过使用预设值而不是平均值来对目标块进行划分。

当然,本公开不限于此,相应地,处理器320可以采用任何方法,只要该方法能够确定目标块中的边界即可。

处理器320可以在第一参考帧中搜索关于第一区域的第一运动向量以生成包括与第一区域对应的区域的第一预测块。在这个示例中,参考帧可以是参考图片中的一个。

同时,运动向量可以被称为(δx,δy)。例如,第一预测块可以是在具有第一区域的帧之前一帧的帧中相对于第一区域位于(-1,5)处的区域。在该示例中,运动向量可以是同一参考点在第一区域与第一预测块之间的差。例如,运动向量可以是第一区域的左上点和第一预测块的左上点之间的坐标值的差。

处理器320可以仅搜索与第一区域对应的区域,而不搜索与整个目标块对应的区域。换句话说,处理器320可以搜索与第一区域具有最高时间相关度的块,而不搜索与目标块具有最高时间相关度的块。

另选地,处理器320可以在第一参考帧中搜索关于第一区域的第一运动向量,并生成与对构成第一区域和第二区域的像素值分别应用了不同权重的区域对应的第一预测块。在这个示例中,处理器320可以基于构成第一区域和第二区域的像素值来确定要应用于第一区域和第二区域的权重。

当生成第一预测块时,处理器320可以根据预设的划分方法将第一预测块划分为第三区域和第四区域,并生成边界信息。在该示例中,预设的划分方法与划分目标块的方法相同。

由于解码装置200不掌握关于目标块(原始图片)的信息,所以解码装置200将不能划分目标块。然而,解码装置200可以重建参考帧,并且因此可以划分作为第一参考帧的一部分的第一预测块。

因此,即使当编码装置100使用预设的方法划分目标块并且解码装置200使用相同的预设的方法划分第一预测块时,这样划分的结果也可能变化并且可能出现误差。

然而,当编码装置100将第一预测块划分为第三区域和第四区域时,由于解码装置200能够划分相同的第一预测块,因此可能不会出现误差。因此,当生成第一预测块时,编码装置100可以再次划分第一预测块。

同时,因为第一预测块包括与目标块的第一区域对应的区域,所以通过相同方法划分的第三区域具有与第一区域相似的形式。因此,第四区域也具有与第二区域相似的形式。

处理器320可以在第二参考帧中搜索关于与第二区域对应的第四区域的第二运动向量以生成包括与第四区域对应的区域的第二预测块。在该示例中,第二参考帧可以是参考图片中的一个,并且其可以是与第一参考帧不同的帧。然而,本公开不限于此,第二参考帧和第一参考帧可以是彼此相同的帧。

处理器320可以仅搜索与第四区域对应的区域,而不搜索与整个第一预测块对应的区域。换句话说,处理器320可以搜索与第四区域具有最高时间相关度的块,而不搜索与第一预测块具有最高时间相关度的块。

另选地,处理器320可以在第二参考帧中搜索关于第四区域的第二运动向量,并且生成与对构成第三区域和第四区域的像素值分别应用了不同权重的区域对应的第二预测块。在该示例中,处理器320可以基于构成第三区域和第四区域的像素值来确定待应用于第三区域和第四区域的权重。

处理器320可以根据边界信息合并第一预测块与第二预测块以生成与目标块对应的第三预测块。例如,处理器320可以合并与第一预测块的第三区域和第二预测块的第四区域对应的区域以生成第三预测块。

同时,处理器320可以在生成第三预测块后对与第三区域和第四区域对应的区域的边界进行水平方向和垂直方向滤波。

此外,处理器320可以控制接口310将第一运动向量和第二运动向量发送至解码装置200。

图4a和图4b是被提供以说明根据实施例的用于划分目标块的方法的示意图。

图4a的左侧示出要编码的当前帧,并且其右侧示出当前帧的目标块410的放大图。当前帧可以被划分为多个相同大小的块,但是这仅仅是实施例之一的图示说明。例如,当前帧可以被划分为彼此不同大小的多个块,并且可以包括矩形块而不是方块。

如图4a的右侧所示,处理器320可以根据预设的划分方法将目标块410划分为第一区域420和第二区域430。例如,处理器320可以基于预设像素值来划分目标块410。预设像素值可以是构成目标块410的多个像素的平均像素值。预设像素值可以是构成目标块410的多个像素中的一些像素的平均像素值。另选地,预设像素值可以是由用户设置的像素值。

处理器320可以基于一个像素值将目标块410划分为两个区域,但不限于此。在另一示例中,处理器320可以基于多个像素值将目标块410划分为多个区域。

同时,如图4b所示,处理器320可以基于预设像素值将目标块410划分为第一区域420、第二区域430和第三区域440。在这种情况下,考虑到构成第三区域440的像素的数量,处理器320可以将目标块410划分为第一区域420和第二区域430,同时忽略第三区域440。因此,处理器320可以基于目标块410的最显著的边界划分目标块410。

然而,本公开不限于此,因此,处理器320可以不对目标块410进行划分。例如,当构成目标块410的多个像素的像素值不规则时,处理器320可以不对目标块410进行划分。

图5示出被提供以说明根据实施例的用于生成预测块的方法的示意图。

如图5所示,处理器320可以从参考帧搜索关于第一区域510的第一运动向量以生成包括与第一区域对应的区域的第一预测块530。在该示例中,处理器320可以在不考虑第二区域520的情况下进行预测。另选地,可以在考虑第二区域的一部分的情况下进行预测。

另选地,处理器320可以从参考帧搜索关于第一区域510的第一运动向量,并且生成与对构成第一区域510和第二区域520的像素值分别应用了不同权重的区域对应的第一预测块530。在这种情况下,处理器320可以基于构成第一区域510和第二区域520的像素值来确定待应用到第一区域510和第二区域520的权重。

例如,处理器320可以确定待应用到每个区域的权重,使得第一区域510和第二区域520的边界可以突出。

然而,本公开不限于此,因此,处理器320可以将第一区域510的形式确定为比第一区域510的像素值更重要的因素,并且相应地进行预测。另选地,处理器320可以将第一区域510的形式确定为比第二区域520的形式更重要的因素,并且相应地进行预测。

尽管图5示出了单向预测,但是应当注意,本公开不限于此。例如,处理器320可以进行双向预测,并且特别地,可以仅考虑第一区域510来进行双向预测。在这种情况下,处理器320可以进行加权预测。

图6a和图6b是被提供以说明根据实施例的边界信息的示意图。

处理器320可以生成第一预测块,然后使用与划分目标块的方法相同的划分方法划分第一预测块。

尽管第一目标块与该目标块相似,但是它们可以彼此不完全相同。因此,如图6a所示,目标块的划分边界线610和第一预测块的划分边界线620可以存在误差。

处理器320可以划分第一预测块并且生成边界信息。该边界信息可以被生成为每个区域的掩模。另选地,边界信息可以是指示每个区域的边界的坐标值的信息。

处理器320可以将第一预测块划分为第三区域和第四区域,并且在第二参考帧中搜索关于与第二区域对应的第四区域的第二运动向量以生成包括与第四区域对应的区域的第二预测块。由于该过程与上述用于生成图5的预测块的方法相同,因此以下将不再具体地进行描述。

图7是被提供以说明根据实施例的用于合并预测块的方法的示意图。

如图7所示,处理器320可以根据边界信息735合并第一预测块710和第二预测块720,并且生成与目标块对应的第三预测块730。在该示例中,边界信息735可以是关于第一预测块的划分边界线的信息。

具体地,处理器320可以基于边界信息735合并第一预测块710的第三区域715和与第二预测块720的第四区域716对应的区域725,以生成第三预测块730。

另选地,处理器320可以通过遮掩第一预测块710和第二预测块720来生成第三预测块730。另选地,处理器320可以通过将不同的权重分别应用于第一预测块710和第二预测块720来生成第三预测块730。

在生成第三预测块730后,处理器320可以接着对第三区域715和与第四区域716对应的区域725的边界进行水平方向和垂直方向滤波。具体地,处理器320可以考虑第三预测块730的特性来确定滤波器系数和大小。

同时,处理器320可以将生成的运动向量发送到解码装置200。处理器320可以将生成的运动向量的绝对值发送到解码装置200,并且发送相对于预测运动向量的残差值。在这个示例中,处理器320可以关于每个划分后的区域使用彼此不同的预测运动向量。

已经参考图3至图7描述了在编码装置100中生成预测块的操作。由于在生成预测块之后编码装置100的操作与以上参考图1所说明的操作相同,所以下面将不再进一步描述。

图8是被提供以说明根据实施例的解码装置200的简要框图。

如图8所示,解码装置200包括接口810和处理器820。

同时,图8通过参考被提供有诸如通信功能、控制功能等功能的解码装置200的示例来简要地示出各种元件。因此,根据实施例,可以省略或修改图8中所示的一些元件,或者可以进一步添加其他的新元件。

接口810可以与编码装置100进行通信。具体地,接口810可以从编码装置100接收编码的位流、运动信息等。

接口810可以通过使用有线/无线lan、wan、以太网、蓝牙、zigbee、ieee1394、wifi或电力线通信(powerlinecommunication,plc)与编码装置100进行通信。

关于当前帧中的待解码的目标块,处理器820可以从编码装置100接收在第一参考帧中搜索到的第一运动向量和在第二参考帧中搜索到的第二运动向量。在该示例中,处理器820可以从编码装置100接收第一运动向量和第二运动向量的绝对值。

另选地,处理器820可以接收相对于预测运动向量的残差值。在该示例中,处理器820可以接收关于每个划分后的区域使用彼此不同的预测运动向量的残差值。

当接收到残差值时,处理器820可以将预测运动向量与残差值相加来计算运动向量。

处理器820可以分别基于第一参考帧中的第一运动向量和第二参考帧中的第二运动向量来生成第一预测块和第二预测块。在这个示例中,第一参考帧和第二参考帧可以是相同的参考帧。此外,参考帧可以是参考图片中的一个。

此外,处理器820可以根据预设的划分方法将第一预测块划分为多个区域并且生成边界信息。在该示例中,预设的划分方法与在编码装置100中使用的对目标块进行划分的预设方法相同。

对于划分方法的一个示例,可以提供一种方法,其基于构成第一预测块的多个像素的像素值将第一预测块划分为多个区域。

处理器820可以根据边界信息合并第一预测块和第二预测块以生成与目标块对应的第三预测块。

具体地,根据预设的划分方法,处理器820可以将第一预测块划分为第一区域和第二区域,并基于边界信息合并与第一预测块的第一区域和第二预测块的第二区域对应的区域以生成第三预测块。然而,这仅仅是其中的一个实施例,而在另一实施例中,第一预测块可以被划分为三个或更多个区域以生成第三预测块。

在生成第三预测块后,处理器820可以对与第一区域和第二区域对应的区域的边界进行水平方向和垂直方向滤波。具体地,处理器820可以考虑第三预测块的特性来确定滤波器系数和大小。

已经参考图8描述了在解码装置200中生成预测块的操作。除了进行预测的操作之外,由于生成预测块的操作与编码装置100的操作相同,因此下面将不再重复地具体描述。此外,由于在生成预测块后解码装置200的操作与以上参考图2所描述的操作相同,所以下面将不再进一步地描述。

图9是被提供以说明根据实施例的用于生成预测块的编码装置的方法的流程图。

首先,在s910处,根据预设的划分方法,将当前帧的目标块划分为第一区域和第二区域。然后在s920处,在第一参考帧中搜索关于第一区域的第一运动向量,以生成包括与第一区域对应的区域的第一预测块。此外,在s930处,根据预设的划分方法将第一预测块划分为第三区域和第四区域,并生成边界信息。此外,在s940处,在第二参考帧中搜索关于与第二区域对应的第四区域的第二运动向量,以生成包括与第四区域对应的区域的第二预测块。此外,在s950处,根据边界信息合并第一预测块和第二预测块,以生成与目标块对应的第三预测块。

在该示例中,预设的划分方法可以是基于构成目标块的多个像素的像素值,将目标块划分为多个区域的方法。

同时,s950处生成第三预测块的操作可以涉及根据边界信息合并与第一预测块的第三区域和第二预测块的第四区域对应的区域以生成第三预测块。

具体地,在生成第三预测块后,可以对与第一区域和第二区域对应的区域的边界进行水平方向和垂直方向滤波。

同时,s920处生成第一预测块的操作可以涉及在第一参考帧中搜索关于第一区域的第一运动向量以生成与分别对构成第一区域和第二区域的像素值应用不同权重的区域对应的第一预测块,而在s940处生成第二预测块的操作可以涉及在第二参考帧中搜索关于与第二区域对应的第四区域的第二运动向量以生成与分别对构成第三区域和第四区域的像素值应用不同权重的区域对应的第二预测块。

在该示例中,可以基于构成第一区域和第二区域的像素值来确定待应用于第一区域和第二区域的权重,并且可以基于构成第三区域和第四区域的像素值来确定待应用于第三区域和第四区域的权重。

图10是被提供以说明根据实施例的用于生成预测块的解码装置的方法的流程图。

首先,关于当前帧中待解码的目标块,在s1010处,接收在第一参考帧中搜索到的第一运动向量和在第二参考帧中搜索到的第二运动向量。然后,在s1020处,分别基于第一参考帧中的第一运动向量和第二参考帧中的第二运动向量生成第一预测块和第二预测块。此外,在s1030处,根据预设的划分方法将第一预测块划分为多个区域,并且生成边界信息。此外,在s1040处,根据边界信息合并第一预测块和第二预测块以生成与目标块对应的第三预测块。

在该示例中,预设的划分方法可以是基于构成第一预测块的多个像素的像素值,将第一预测块划分为多个区域的方法。

同时,根据预设的划分方法,在s1030处划分的操作可以涉及将第一预测块划分为第一区域和第二区域,并且在s1040处生成第三预测块的操作可以涉及基于边界信息合并与第一预测块的第一区域和第二预测块的第二区域对应的区域以生成第三预测块。

在该示例中,在生成第三预测块后,可以对与第一区域和第二区域对应的区域的边界进行水平方向和垂直方向滤波。

根据上述各种实施例,因为帧间预测是根据目标块的像素值将当前帧的目标块划分为多个区域来进行的,所以可以提高预测的准确度。

同时,尽管上面描述了通过将目标块划分为两个区域来生成预测块,但是这仅仅是其中的一个实施例。例如,编码装置可以将目标块划分为三个区域,并且关于每个区域生成运动向量。

同时,根据各种实施例的方法可以被编程并存储在各种存储介质中。因此,根据各种实施例的上述方法可以以各种类型的实现存储介质的编码装置和解码装置来实现。

具体地,可以提供非临时性计算机可读介质,其中存储用于依次进行根据本公开的控制方法的程序。

非临时性计算机可读介质是能够半永久地存储数据并且可以被装置读取的介质,而不是诸如寄存器、缓存和短时间段内存储数据的存储器的介质。具体地,上述各种应用或程序可以被存储和提供在诸如cd、dvd、硬盘、蓝光盘、usb、存储卡、rom等的非临时性计算机可读介质上。

此外,尽管以上已经详细描述了本公开,但是应当理解的是,详细的描述和具体的实例在指示本公开的优选实施例的同时仅作为示例给出,因为根据该详细描述,在本公开的范围内的各种改变和修改中对于本领域的技术人员将变得显而易见。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1