推导参考预测模式值的方法与流程

文档序号:15625710发布日期:2018-10-09 22:55阅读:147来源:国知局

本发明涉及用于对表示预测模式的模式值进行编码或解码的方法和装置。特别地但并非排他地,本发明更具体地涉及采用研发中的高效率视频编码(hevc)标准的帧内模式编码。



背景技术:

视频应用不断趋向更高分辨率。伴随着朝向更高质量和分辨率(例如,每帧的更高像素数、更高帧频、更高位深度或扩展色域)的连续演变,大量视频材料已经采用数字形式经由广播信道、数字网络和包媒体而被分发。该技术演变给在经济地为最终用户带来hdtv分辨率和数据速率方面已面临困难的分发网络带来更高的压力。因此,任何进一步的数据速率增加将会对这些网络施加附加压力。为了应对该挑战,itu-t和iso/mpeg于2010年1月决定推出命名为高效率视频编码(hevc)的新的视频编码标准项目。

hevc编码解码设计与诸如h.263、h.264、mpeg-1、mpeg-2、mpeg-4、svc等的以往大多数所谓的基于块的混合变换编码解码的设计相似。诸如由标准化机构itu、iso和smpte进行标准化后的视频压缩算法等的视频压缩算法使用图像的空间冗余和时间冗余,从而生成与这些视频序列相比大小缩小的数据位流。这些压缩使视频序列的传输和/或存储更加高效。

在所提出的hevc编码器中的视频压缩期间,利用“帧内”预测结果(所谓的“帧内”编码模式)在空间上或者利用“帧间”预测结果(所谓的“帧间”编码模式)在时间上对处理中的图像的各块进行预测。各预测结果是从同一图像或另一图像发出的像素块,其中根据该预测结果来推导不同的块(或“残差”)。在帧内编码模式中,当前块所使用的预测结果(帧内预测结果)是由当前图像的已编码的信息构建的像素块。凭借预测结果块的识别和残差的编码,可以减少实际要编码的信息量。

编码帧具有(被称为p帧的根据一个参考帧而预测到的或者被称为b帧的根据两个参考帧而预测到的)时间预测帧和(被称为内帧或i帧的)非时间预测帧这两种类型。在i帧中,针对编码块仅考虑帧内预测。在p帧和b帧中,针对编码块考虑帧内和帧间预测。

在选择“帧内”编码的情况下,在将用于描述所使用的“帧内”预测结果的信息项插入位流以发送至相应的解码器之前,对该信息项进行编码。

在当前hevc设计中以及在以前的诸如mpeg-4avc/h.264等的设计中,如图1a和1b示意性所示,帧内编码涉及根据要编码(解码)的块的重建得到的相邻样本101来推导帧内预测块。支持定向或非定向的多个预测模式。在hevc中,所支持模式的数量依赖于编码单位(cu)的大小。截至到本申请的递交日为止,hevc规范仍有待改变,但目前考虑以下所支持模式:64×64cu的4个模式、4×4cu的18个模式、其它大小(8×8~32×32)的cu的35个模式。

在对cu进行帧内编码的情况下,必须对其相关帧内预测模式进行编码。参考图1b,在对当前cu102进行编码的情况下,帧内模式编码利用上方cu103和左方cu104这两个已进行了编码的相邻cu。

图2示出hevc中所考虑的帧内预测模式。这些帧内预测模式包括由模式预测值0标识的平面预测模式、具有模式预测值3的dc模式、以及用于预测图像中的与不同角度相对应的定向结构的由模式预测值4~34标识的多个定向预测模式。还包括了水平预测模式2和垂直预测模式1。

图3是用于说明在当前hevc设计中如何进行帧内模式编码的流程图。在第一步骤s201中,识别如图1b所示的相邻的上方cu103和左方cu104的帧内预测模式。这两个cu可以共用相同的帧内预测模式或者可以具有不同的帧内预测模式。因此,在步骤s201中,可以识别出一个或两个不同的帧内预测模式。在步骤s202中,根据所识别出的帧内预测模式来推导两个“最可能模式”(mpm)。如果上方cu103和左方cu104的预测模式不同,则将mpm0和mpm1这两个mpm分别设置为上方和左方cu预测模式的最小和最大值。如果来自上方cu103和左方cu104的预测模式相等、并且如果这些预测模式不与平面预测模式相对应,则将mpm0设置成等于平面模式并将mpm1设置为上方或左方cu预测模式的预测模式。如果上方cu103和左方cu104的预测模式这两者都与平面模式相对应,则将mpm0设置成等于平面模式并将mpm1设置为dc模式。如此根据mpm0和mpm1的预测模式值来对这两者进行排序,其中将模式值较小的预测模式称为mpm0并且将模式值较大的预测模式称为mpm1。然后,在步骤s203中,将当前编码单位的预测模式与这两个mpm进行比较。如果当前编码单位的预测模式等于mpm0或mpm1,则在步骤s204中应用第一编码处理(处理1)。

该第一编码处理涉及以下:对用于信号通知当前块的模式等于这些mpm的其中一个的标志进行编码,然后对所关注的mpm的索引(在mpm0的情况下为0,在mpm1的情况下为1)进行编码。

如果在步骤s203中判断为当前块的预测模式不等于这两个mpm的其中一个,则在步骤s205中,应用第二编码处理(处理2)。

不同于第一编码处理,第二编码处理涉及对当前块的模式值进行编码。

从统计上,与处理2相比,更经常使用处理1。从统计上,与不同于所有的mpm相比,预测模式更经常等于这些mpm的其中一个。熵编码引擎通过与处理2相比在处理1中使用较短的码字、或者利用等于这些mpm的其中一个的较高概率(如cabac中所使用的算术编码利用该概率来改善编码并降低编码成本),来从该性质获益。本发明已被设计成解决上述关注和期望中的一个或多个。期望改善用于对预测模式信息进行编码的方法的编码效率。



技术实现要素:

根据本发明的第一方面,提供一种用于通过帧内模式编码处理对表示与当前编码单位有关的预测模式的模式信息进行编码的方法,一种用于对模式值进行编码的方法,所述模式值表示与要编码的当前编码单位有关的预测模式,所述方法包括以下步骤:根据所述当前编码单位的至少两个相邻编码单位的各预测模式来推导第一参考预测模式值和第二参考预测模式值,其中所述第一参考预测模式值和所述第二参考预测模式值彼此不同;将要编码的预测模式值与参考预测模式值的至少一个进行比较;以及基于所述比较来至少从第一编码处理和第二编码处理中选择编码处理,以应用于要编码的模式值,其中,所述方法还包括以下步骤:根据所述第一参考预测模式值和所述第二参考预测模式值来推导第三参考预测模式值,其中所述第三参考预测模式值不同于所述第一参考预测模式值和所述第二参考预测模式值各自;以及所述比较包括将要编码的预测模式值与所述第一参考预测模式值、所述第二参考预测模式值和所述第三参考预测模式值中的至少一个进行比较。

通过代替推导两个mpm而是推导三个mpm来与当前编码块的预测模式进行比较,改善了编码效率。这是由于当前编码块的预测模式与所推导出的最可能模式的其中一个相对应的概率增加。由于这样使得能够使用更经济的编码处理来对当前编码块的预测模式进行编码,因此降低了整体编码成本。

根据本发明的第二方面,提供一种用于对模式信息进行编码的装置,所述模式信息表示与当前编码单位有关的预测模式,所述装置包括:推导部件,用于根据所述当前编码单位的至少两个相邻编码单位的各预测模式来推导第一参考预测模式值和第二参考预测模式值,其中所述第一参考预测模式值和所述第二参考预测模式值彼此不同;比较部件,用于将要编码的预测模式值与参考预测模式值中的一个或多个进行比较;以及选择部件,用于基于所述比较来至少从第一编码处理和第二编码处理中选择编码处理,以应用于要编码的模式值,其中,所述推导部件能够用于根据所述第一参考预测模式值和所述第二参考预测模式值来推导第三参考预测模式值,其中所述第三参考预测模式值不同于所述第一参考预测模式值和所述第二参考预测模式值各自;以及所述比较部件能够用于将要编码的预测模式值与所述第一参考预测模式值、所述第二参考预测模式值和所述第三参考预测模式值中的至少一个进行比较。

根据本发明的第三方面,提供一种用于对模式值进行解码的方法,所述模式值表示与要解码的当前解码单位有关的预测模式,所述方法包括以下步骤:根据所述当前编码单位的至少两个相邻解码单位的各预测模式来推导第一参考预测模式值和第二参考预测模式值,其中所述第一参考预测模式值和所述第二参考预测模式值彼此不同;将要解码的预测模式值与参考预测模式值中的一个或多个进行比较;以及基于所述比较来至少从第一解码处理和第二解码处理中选择解码处理,以应用于要解码的模式值,其中,所述方法还包括以下步骤:根据所述第一参考预测模式值和所述第二参考预测模式值来推导第三参考预测模式值,其中所述第三参考预测模式值不同于所述第一参考预测模式值和所述第二参考预测模式值各自;以及所述比较包括将要解码的预测模式值与所述第一参考预测模式值、所述第二参考预测模式值和所述第三参考预测模式值中的至少一个进行比较。

根据本发明的第四方面,提供一种用于对模式值进行解码的装置,所述模式值表示与要解码的当前解码单位有关的预测模式,所述装置包括:推导部件,用于根据所述当前编码单位的至少两个相邻解码单位的各预测模式来推导第一参考预测模式值和第二参考预测模式值,其中所述第一参考预测模式值和所述第二参考预测模式值彼此不同;比较部件,用于将要解码的预测模式值与参考预测模式值中的一个或多个进行比较;以及选择部件,用于基于所述比较来至少从第一解码处理和第二解码处理中选择解码处理,以应用于要解码的模式值,其中,所述推导部件能够用于根据所述第一参考预测模式值和所述第二参考预测模式值来推导第三参考预测模式值,其中所述第三参考预测模式值不同于所述第一参考预测模式值和所述第二参考预测模式值各自;以及所述比较部件能够用于将所述要解码的预测模式值与所述第一参考预测模式值、所述第二参考预测模式值和所述第三参考预测模式值中的至少一个进行比较。

根据本发明的又一方面,提供一种用于推导参考预测模式值的方法,所述参考预测模式值是通过对与当前编码单位有关的预测模式进行编码或解码所用的,所述方法包括:根据所述当前编码单位的至少两个相邻编码单位的各预测模式来推导第一参考预测模式值和第二参考预测模式值,其中所述第一参考预测模式值和所述第二参考预测模式值彼此不同;以及根据所述第一参考预测模式值和所述第二参考预测模式值来推导第三参考预测模式值,其中所述第三参考预测模式值不同于所述第一参考预测模式值和所述第二参考预测模式值各自,其中,所述第一参考预测模式值、所述第二参考预测模式值和所述第三参考预测模式值能够用于对要编码或解码的预测模式值进行编码或解码。

在实施例中,在所述第一参考预测模式值和所述第二参考预测模式值均没有与平面预测模式相对应的情况下,将所述第三参考预测模式值设置为与所述平面预测模式相对应的模式值。

在实施例中,在所述第一参考预测模式值和所述第二参考预测模式值的其中一个与dc预测模式相对应、并且所述第一参考预测模式值和所述第二参考预测模式值中的另一个与所述平面预测模式相对应的情况下,将另一预测模式值设置为预定义的预测模式值。

在实施例中,所述预定义的预测模式值是在片或图片标题中发送的。

在实施例中,所述预定义的预测模式值具有例如小于5的预测模式值等的小预测模式值。

在实施例中,所述预定义的预测模式值与水平预测模式或垂直预测模式相对应。

在实施例中,所述预定义的预测模式值依赖于编码中的图像的内容。

在实施例中,基于代表各预测模式的发生概率的模式概率来自适应地推导所述预定义的预测模式,其中所述模式概率是定期计算的。

在实施例中,在所述第一参考预测模式值和所述第二参考预测模式值的其中一个与定向预测模式值相对应、并且所述第一参考预测模式值和所述第二参考预测模式值中的另一个与平面预测模式相对应的情况下,将所述第三参考预测模式值设置为与相对于所关注的参考预测模式值的方向具有下一良好角方向的预测模式相对应的预测模式值。

在实施例中,所述至少两个相邻编码或解码单位包括所述当前编码或解码单位的左方相邻编码或解码单位和上方相邻编码或解码单位。

在实施例中,所述第一编码或解码处理包括对表示要编码或解码的模式值与所述第一参考预测模式值、所述第二参考预测模式值和所述第三参考预测模式值中的至少一个之间的预定关系的第一信息进行编码或解码,并且所述第二编码或解码处理包括对表示要编码或解码的模式值的第二信息进行编码或解码。

在实施例中,在要编码或解码的模式值等于三个参考预测模式值中的至少一个的情况下,选择所述第一编码或解码处理,并且在所述要编码或解码的模式值不同于所述三个参考预测模式值中的各参考预测模式值的情况下,选择所述第二编码或解码处理。

根据本发明的方法的至少一部分可以通过计算机来实现。因此,本发明可以采用完全硬件实施例、(包括固件、常驻软件、微代码等的)完全软件实施例、或者组合这里通常可以全部称为“电路”、“模块”或“系统”的软件和硬件方面的实施例的形式。此外,本发明可以采用以介质中嵌入有计算机可用程序代码的表现的任何有形介质中体现的计算机程序产品的形式。

由于本发明可以以软件来实现,因此本发明可以体现为计算机可读代码以提供至可编程设备的任何适当载体介质上。有形载体介质可以包括诸如软盘、cd-rom、硬盘驱动器、磁带装置或固态存储器装置等的存储介质。瞬态载体介质可以包括诸如电信号、光学信号、声学信号、磁信号或者例如微波或rf信号的电磁信号等的信号。

附图说明

现在将通过仅示例的方式并且参考以下附图来说明本发明的各实施例,其中:

前面所述的图1a和1b是用于说明在当前hevc设计中如何推导帧内预测块的示意图;

同样在前面论述的图2示意性示出当前hevc设计中的帧内预测模式;

同样前面论述的图3是用于说明当前hevc设计中的帧内模式编码的流程图;

图4是用于说明根据本发明的至少一个实施例的帧内模式编码的原理的流程图;

图5是根据本发明的实施例的用于推导参考预测模式值的方法的步骤的流程图;

图6是示出与图5的方法有关的步骤的流程图;

图7示出图像序列;

图8示出根据本发明的实施例的适合实现编码器的设备的部件;

图9示出根据本发明的至少一个实施例的编码器的部件的框图;以及

图10示出解码器的部件的框图。

具体实施方式

图4是用于说明体现本发明的帧内模式编码方法的原理的流程图。根据该流程图的帧内模式编码方法适用于诸如cabac或cavlc等的任何熵编码引擎。

在图4中,步骤s401和s402分别与图3中的步骤s201和s202相同,并且这里不重复针对这些步骤的说明。

在步骤s403中,根据步骤s402中基于相邻的上方cu和左方cu的预测模式所推导出的第一最可能模式mpm0和第二最可能模式mpm1来推导第三最可能模式(mpm2)。

图5是更详细地示出根据本发明的第一实施例的用于推导第三最可能模式mpm2的步骤的流程图。在步骤s501中,识别如步骤s402中所推导出的第一最可能模式值mpm0和第二最可能模式值mpm1。在步骤s502中,检查最可能模式值mpm0和mpm1的其中一个是否与平面预测模式相对应。该步骤可以涉及检查这两个最可能模式值以检查这两者是否与平面预测模式相对应。在本发明的替代实施例中,在已根据最可能模式值mpm0和mpm1的预测模式值对这两者进行了排序的情况下,由于mpm0将与低阶预测模式相对应,因此可能仅需检查mpm0是否与平面模式相对应。如果mpm0和mpm1均未与平面预测模式相对应,则在步骤s506中将另一最可能模式mpm2设置为与平面预测模式相对应的模式值。由于平面模式是统计上最频繁使用的预测模式,因此将该平面模式插入mpm的集合以进行稍后的比较步骤是有益的,这是因为该平面模式更有可能与当前块的预测模式相对应。

然而,如果在步骤s502中判断为第一mpm和第二mpm中的任一个(mpm0或mpm1)与平面模式相对应,则在步骤s503中检查另一mpm0或mpm1是否与dc预测模式相对应。如果判断为第一mpm和第二mpm的其中一个(mpm0或mpm1)与平面预测模式相对应、并且第一mpm和第二mpm中另一个(mpm0或mpm1)与dc预测模式相对应,则将第三mpm(mpm2)设置为预定义的模式值。

实际上,由于预测模式值小的预测模式更有可能与当前块的预测模式相对应,因此使用这些预测模式。在图5所示的示例中,将mpm2设置为与垂直预测模式相对应的预测模式值2。

可以注意,还可以选择与水平方向预测相对应的预测模式值2,但与水平结构相比、从统计上自然图像中所存在的垂直方向更多,因而垂直方向更有可能与当前块的预测模式相对应。

在本发明的一些实施例中,由于预定义的预测模式可能依赖于图片内容、例如依赖于图像中的模式分布的统计,因此可以在片或图片标题中标记这些预定义的预测模式。

在本发明的另一实施例中,可以基于代表定期计算的各预测模式的发生概率的模式概率来自适应地推导预定义的预测模式。在这种情况下,定义了概率表。每次对模式进行编码时,更新其概率。在mpm0和mpm1是平面和dc的情况下,将mpm2计算为与平面和dc不同的概率值最高的模式。因此,在平面和dc作为最初两个mpm的该特定情况下,根据图像内容来自适应地计算mpm2。

然而,如果在步骤s503中判断为第一mpm(mpm0)和第二mpm(mpm1)均未与dc预测模式相对应、因而第一mpm和第二mpm的其中一个(mpm0或mpm1)与定向预测模式mpm_dir相对应,则在步骤s505中,将第三mpm(mpm2)设置为相对于mpm_dir的方向具有最近认可良好角方向(nearestauthorizedsuperiorangulardirection)的定向预测模式。参考图6来更详细地示出该处理。在步骤s601中,识别相邻编码单位的不是平面模式的预测模式。在步骤s602中,判断所识别出的预测模式是否是dc。如果“是”,则将mpm2设置为垂直预测模式,否则如果所识别出的预测模式不是dc,则在步骤s604中,将mpm2设置为相对于模式m的方向(mpm_dir)的最近认可良好角方向。

例如,参考图2,如果mpm_dir等于13,则mpm2在当前编码单位为8×8~32×32的大小的情况下被设置为24,或者在当前编码单位为4×4的大小的情况下被设置为6(在当前hevc设计中,在4×4cu的情况下,值高于17的模式被禁止)。通过实验已表明使用最近认可良好角方向是最常执行的解决方案。

应当理解,在本发明的一些实施例中,可以在推导出第三最可能预测模式mpm2之前、根据最可能预测模式mpm0和mpm1的预测值来对这两者的顺序进行排序。在本发明的替代实施例中,步骤s402可以不包括根据mpm0和mpm1的预测模式值来对这两者进行重排序的处理,然后可以在已推导出mpm2之后、根据mpm0、mpm1和mpm2的预测模式值来对这三者进行排序。

返回图4,在步骤s404中验证与当前编码块有关的预测模式是否等于步骤s402和s403中所推导出的第一mpm(mpm0)、第二mpm(mpm1)或第三mpm(mpm2),从而判断将应用编码处理1还是编码处理2来对当前编码块的预测模式值进行编码。在步骤s405中实现了在当前块的模式等于三个mpm的其中一个(mpm0、mpm1或mpm2)的情况下所执行的处理1。在本发明的一些实施例中,步骤s405可以与图3中的步骤s204相同,并且这里将不进行详细说明。

在步骤s406中实现了在当前块的模式不同于第一mpm(mpm0)、第二mpm(mpm1)和第三mpm(mpm2)各自的情况下所执行的处理2。步骤s406与图3中的相应步骤s205相同,并且这里将不进行详细说明。

使用三个mpm而不是两个来与当前编码块的预测模式进行比较,这改善了编码效率,其原因在于:当前编码块的预测模式与所推导出的最可能模式的其中一个相对应的概率增大。而这使得将使用需要较少的位通知当前编码块的预测模式的较为经济的编码处理1来对当前编码块的预测模式进行编码的可能性增大。结果,整体编码成本降低。同时,整体处理的复杂性没有因推导大量mpm而过度增加。

图7示出hevc中所使用的图像编码结构。根据hevc及其以前的前身的其中一个,原始视频序列1001是一连串数字图像“图像i”。如本身已知的,利用系数表示像素的一个或多个矩阵来表示数字图像。

将图像1002分割成片1003。片是图像的一部分或整个图像。在hevc中,这些片被分割成非重叠的最大编码单位(lcu)1004、通常是大小为64个像素×64个像素的块。而各lcu可以使用四叉树分解被迭代地分割成较小的可变大小的编码单位(cu)。各cu可以进一步被分割成最大为2个对称矩形的分区单位。

图8示出适用于实现根据本发明的实施例的编码器或者实现解码器的设备1000的图。设备1000例如是微计算机、工作站或轻薄便携式装置。

设备1000包括通信总线1113,其中优选该通信总线1113连接有以下组件:

-诸如微处理器等的表示为cpu的中央处理单元1111;

-只读存储器(rom)1107,其存储实现本发明所用的一个或多个计算机程序;

-随机存取存储器(ram)1112,其存储本发明的方法的可执行代码并且提供如下寄存器,其中这些寄存器被配置为记录实现对数字图像序列进行编码的方法和/或对位流进行解码的方法所需的变量和参数;以及

-通信接口1102,其连接至传输要处理的数字数据所经由的通信网络1103。

可选地,设备1000还可以具有以下组件:

-诸如硬盘等的数据存储部件1104,其能够容纳实现本发明的程序以及在本发明的实现期间所使用或所产生的数据;

-盘1106所用的盘驱动器1105,其中该盘驱动器被配置为从盘1106读取数据或者将数据写到所述盘上;

-屏幕1109,用于利用键盘1110或任何其它指示部件来显示数据以及/或者用作与用户的图形界面。

设备1000可以连接至例如数字照相机1100或麦克风1108等的各种外围设备,其中这些外围设备各自连接至输入/输出卡(未示出)从而向设备1000供给多媒体数据。

通信总线提供设备1000内所包括的或连接至设备1000的各种元件之间的通信和互操作性。该总线的表示并非限制性的,并且特别地,中央处理单元能够直接地或者利用设备1000的其它元件向设备1000的任意元件传达指示。

盘1106可以由例如(可重写或不可重写的)致密盘(cd-rom)、zip盘或存储卡等的任何信息介质以及概括而言由信息存储部件来替换,其中该信息存储部件可以由集成于该设备内或没有集成于该设备内的可移除的微计算机或微处理器来读取,并且被配置为存储如下的一个或多个程序,其中执行该一个或多个程序使得能够实现根据本发明的对数字图像序列进行编码的方法和/或对位流进行解码的方法。

可执行代码可以存储在只读存储器1107中、硬盘1104上或者例如前面所述的盘1106等的可移除数字介质上。根据变形例,程序的可执行代码可以利用通信网络1103经由接口1102接收到,从而在执行之前存储在诸如硬盘1104等的设备1000的存储部件的其中一个内。

中央处理单元1111被配置为控制和引导根据本发明的程序的指令或软件代码的一部分的执行,其中这些指令存储在上述存储部件的其中一个内。在通电时,将存储在非易失性存储器中(例如硬盘1104上或只读存储器1107中)的程序传递至随机存取存储器1112,然后该随机存取存储器1112容纳程序的可执行代码以及用于存储实现本发明所需的变量和参数的寄存器。

在本实施例中,该设备是使用软件来实现本发明的可编程设备。然而,可选地,本发明可以以硬件形式(例如,以专用集成电路或asic的形式)来实现。

图9示出根据本发明的实施例的编码器1200的框图。该编码器由所连接的模块来表示,其中各模块被配置为例如以设备1000的cpu1111要执行的编程指令的形式来执行实现本发明实施例的方法的相应步骤。

编码器1200接收到原始的数字图像序列i0~in1201作为输入。各数字图像由已知为像素的一组样本来表示。

编码器1200输出位流1210。

注意,在以下说明中,有时使用术语“块”来代替hevc中所使用的特定术语cu和pu。cu或pu是像素的块。

模块1202将所输入的数字图像i分割成块。这些块是图像部分并且可以具有可变大小(例如,4×4、8×8、16×16、32×32、64×64)。

在视频压缩期间,利用“帧内”预测结果模块1203在空间上或者利用包括运动估计模块1204和运动补偿模块1205的“帧间”预测结果模块在时间上对处理中的图像的各块进行预测。各预测结果是从同一图像或另一图像发出的像素的块,其中根据该预测结果来推导差块(或“残差”)。凭借预测结果块的识别和残差的编码,可以减少实际要编码的信息量。

编码帧具有(被称为p帧的根据一个参考帧而预测到的或者被称为b帧的根据两个参考帧而预测到的)时间预测帧和(被称为内帧或i帧的)非时间预测帧这两种类型。在i帧中,关于对cu/pu进行编码,仅考虑帧内预测。在p帧和b帧中,关于对cu/pu进行编码,考虑帧内和帧间预测。

在“帧内”预测模块1203中,利用“帧内”预测结果(由当前图像的已编码的信息构建的像素块)来预测当前块。

关于“帧间”编码,两种预测类型是可能的。单预测(p型)包括通过参考一个参考图片中的一个参考块来预测块。双预测(b型)包括通过参考一个或两个参考图片中的两个参考块来预测块。利用模块1204在当前cu或pu和参考图像1216之间执行运动估计。进行该运动估计,从而在这些参考图像中的一个或几个参考图像中识别一个(p型)像素块或几个(b型)像素块以使用这些像素块作为该当前块的预测结果。在使用几个块预测结果(b型)的情况下,将这些块预测结果合并以生成一个预测块。所使用的参考图像包括已编码的然后(通过解码)进行重建得到的视频序列中的图像。

通常,模块1204所执行的运动估计是块匹配算法(bma)。

然后,将通过该算法所获得的预测结果从要处理的当前数据块中减去从而获得差块(块残差)。该处理被称为“运动补偿”并且由模块1205来执行。

这两种编码由此供给了若干个纹理残差(当前块和预测结果块之间的差),其中在模块1206中比较这些纹理残差以选择最佳编码模式。

在选择“帧内”编码的情况下,在将用于描述所使用的“帧内”预测结果的信息项插入位流1210之前,利用熵编码模块1209对该信息项进行编码。以上参考图4~6所述的本发明的实施例适用于图9的熵编码模块1209。

在用于选择最佳编码模式的模块1206选择“帧间”编码的情况下,利用熵编码模块1209对运动信息进行编码并且将该运动信息插入位流1210。该运动信息特别包括一个或几个(表示相对于要预测的块的位置的参考图像中的预测结果块的位置的)运动矢量以及参考图像之间的图像索引。

然后,利用模块1207对根据模块1206所选择的编码模式而获得的残差进行变换。该变换应用于包括在cu中的变换单位(tu)。可以使用所谓的残差四叉树(rqt)分解来将tu进一步分割成较小的tu。在hevc中,通常使用2级或3级的分解,并且认可的变换大小来自于32×32、16×16、8×8和4×4。变换基础源自于离散余弦变换dct。

然后,利用量化模块1208对残差变换后的系数进行量化。然后,量化变换后的残差的系数由熵编码模块1209进行编码,并且被插入压缩后的位流1210。

为了计算“帧内”预测结果或对“帧间”预测结果进行运动估计,编码器利用所谓的“解码”循环1211~1215对已编码的块进行解码。该解码循环使得可以根据量化变换后的残差来重建块和图像。

在模块1211中,通过对模块1208所提供的残差应用逆量化来对量化变换后的残差进行去量化,并且在模块1212中,通过对模块1207的残差进行逆变换来对量化变换后的残差进行重建。

在残差来自于“帧内”编码的情况下,在模块1213中将所使用的“帧内”预测结果添加至该残差,从而恢复与由于源自于有损变换(这里为量化操作)的损失而改变的原始块相对应的重建块。

另一方面,在残差来自于“帧间”编码的情况下,在模块1214中,合并当前运动矢量所指向的块(这些块属于当前图像索引所指的参考图像1216),然后添加至该解码残差。这样,获得了由于源自于量化操作的损失而改变的原始块。

对重建信号应用最终环路滤波器1215,从而减轻由于所获得的残差的高度量化所产生的影响并且改善信号质量。该环路滤波器包括“去块”滤波和线性滤波这两个步骤。去块滤波使各块之间的边界平滑从而从视觉上衰减由编码产生的这些高频率。线性滤波使用在编码器处自适应地确定的滤波系数来进一步改善信号。因而,在对图像的像素的所有块进行了解码的情况下,将模块1215的滤波应用于该图像。

然后,将滤波后的图像(还称为重建图像)存储作为参考图像1216,从而使得能够在针对当前视频序列的后续图像的压缩期间进行后续的“帧间”预测。

在hevc的情形下,可以使用若干个参考图像1216对当前图像进行估计和运动补偿。换句话说,对n个图像执行运动估计。因而,在多个参考图像的一部分参考图像中选择运动补偿所用的当前块的最佳“帧间”预测结果。结果,两个相邻块可以具有来自于两个不同的参考图像的两个预测结果块。这尤其是为什么要在压缩位流中指示预测结果块所使用的(除运动矢量以外的)参考图像的索引的原因。

多个参考图像的使用既是用于防止错误的工具又是用于改善压缩效率的工具。vceg组推荐了将参考图像的数量限制为4个。

图10示出根据本发明的实施例的解码器1300的框图。该解码器由所连接的模块来表示,其中各模块被配置为例如以设备1000的cpu1111要执行的编程指令的形式来执行实现本发明实施例的方法的相应步骤。

解码器1300接收位流1301作为输入,其中该位流1301与利用诸如图9所示的编码器等的hevc型的编码器进行压缩后的位流1210相对应。

在解码处理期间,首先利用模块1302对位流1301进行熵解码。

然后利用去量化模块1303对当前块的残差进行去量化。这使编码器1200中的量化模块1208所执行的量化逆转。然后利用逆变换模块1304对去量化数据进行重建,其中该逆变换模块1304进行作为编码器1200中的变换模块1207所执行的变换的逆转的变换。

然后针对各图像、并且在图像内针对各块执行视频序列中的数据的解码。

从位流1301中提取当前块的“帧间”或“帧内”编码模式并且进行熵解码。

在当前块的编码为“帧内”型的情况下,从位流中提取预测结果的数量并且进行熵解码。根据当前图像的已解码的数据来恢复与该索引相关联的帧内预测结果块。

根据位流1301来恢复与当前块相关联的残差,然后进行熵解码。最后,在逆帧内预测模块1305中将恢复后的帧内预测结果块添加至如此去量化并重建后的残差,从而获得解码块。

在当前块的编码模式表示该块为“帧间”型的情况下,利用熵解码模块1302来从位流1301中提取运动信息并且进行解码。

在逆运动补偿模块1306中使用该运动信息,从而确定解码器1300的参考图像1308中所包含的“帧间”预测结果块。以与编码器相似的方式,这些参考图像1308包括存在于当前解码中的图像之前并且根据位流进行了重建(因此先前进行了解码)的图像。

这里还根据位流1301来恢复与当前块相关联的残差,然后利用块1302进行熵解码。然后在逆运动补偿模块1306中将所确定的帧间预测结果块添加至重建得到的如此去量化后的残差,从而获得解码块。

在针对当前图像的所有块的解码结束时,使用与编码器处所设置的滤波器1215相同的环路滤波器1307来除去结块效果并且提高信号质量,从而获得参考图像1308。

如此解码后的图像构成解码器的输出视频信号1309,然后可以显示并使用该输出视频信号1309。

上述实施例基于输入图像的块分割,但更通常地,可以考虑要编码或解码的任何类型的图像部分(特别是矩形部分或者更通常为几何部分)。

更通常地,尽管以上已经参考特定实施例说明了本发明,但本发明不限于这些特定实施例,并且本领域技术人员将明白存在于本发明的范围内的变形例。

许多其它修改和改变在参考仅以示例方式给出的并且并不意图限制本发明的范围的前述例示实施例时向精通本技术的人员表明这些修改和改变仅是由所附权利要求书来确定的。特别地,在适当情况下,可以互换来自不同实施例的不同特征。

在权利要求书中,词语“包括”没有排除其它元件或步骤,并且不定冠词“a”或“an”没有排除多个。在相互不同的从属权利要求中陈述不同的特征的仅有事实并不表明不能有利地使用这些特征的组合。

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