编码和解码图像信息的方法和使用该方法的装置与流程

文档序号:17923598发布日期:2019-06-15 00:16阅读:184来源:国知局
编码和解码图像信息的方法和使用该方法的装置与流程

技术领域

本发明涉及视频压缩技术,并且更具体地涉及帧间预测技术。



背景技术:

对于具有高分辨率和高质量的视频的需求近来已经在各个领域中在增长。然而,随着画面的分辨率和质量被改善,视频中的数据量也同样增大。因此,如果使用诸如现有有线/无线宽带线的介质来发送视频数据,或使用现有的存储介质来存储视频数据,则发送和存储数据的成本也增大。为了有效地发送、存储和播放在具有高分辨率和高质量的画面内的信息,可以使用利用高效率的视频压缩技术。

为了改善视频压缩效率,可以使用帧间预测和帧内预测。在帧间预测中,从时间在当前画面之前和/或之后的画面预测在当前画面内的像素值。在帧内预测中,使用在当前画面内的像素信息来预测在当前画面内的像素值。

除了帧间预测和帧内预测方法之外,加权预测技术、熵编码技术正在用于在画面内的信息的有效处理,该加权预测技术用于防止因为照明的改变导致画面质量变差,该熵编码技术用于向具有高出现频率的码元分配短的标记,并且向具有低出现频率的码元分配长的标记,等等。



技术实现要素:

技术问题

本发明提供了一种用于改善在帧间预测中的编译效率和性能的方法和设备。

本发明也提供了一种用于当帧间预测的跳跃模式被应用到当前块时有效地导出关于所述当前块的运动信息的方法和设备。

本发明也提供了一种用于当帧间预测的跳跃模式被应用到当前块时基于相邻块的运动信息来导出例如参考索引的、关于所述当前块的运动信息的方法和设备。

本发明也提供了一种导出当前块的时间合并候选的参考索引的方法。

技术解决方案

(1)本发明的一个实施例涉及一种编译视频信息的方法,包括:对于当前块执行帧间预测;对于关于帧间预测的信息执行熵编码;并且用信号通知熵编码信息,其中,在执行帧间预测中,可以向当前块应用跳跃模式或合并模式,并且可以基于与当前块相邻的块的参考索引来确定当前块的参考索引。

(2)在(1)中,在用信号通知熵编码信息中,可以直接地发送关于当前块的运动信息。

(3)在(2)中,所发送的运动信息可以包括当前块的参考索引。

(4)在(2)中,可以以条带单位、画面单位、目标预测块单位和编译单位中的任何一个来发送运动信息。

(5)在(1)中,在执行帧间预测中,可以将关于当前块的相邻块的多个运动信息中的任何一个确定为关于当前块的运动信息,并且在用信号通知熵编码信息中,当前块的运动信息指示当前块的运动信息是否是关于相邻块的多个运动信息中的任何一个。

(6)在(1)中,在执行帧间预测中,可以将当前块的参考索引与当前块的相邻块的参考索引的每一个作比较,并且可以将作为比较的结果的具有最小值的参考索引确定为当前块的参考索引。

(7)在(6)中,具有参考索引与当前块的参考索引作比较的相邻块可以包括在当前块的相邻块中的左块和顶块而不是角块。

(8)本发明的另一个实施例涉及一种解码视频信息的方法,包括:对于接收到的信息执行熵解码;基于熵解码的信息来对于当前块执行帧间预测;以及通过使用预测的结果来重建画面,其中,在执行帧间预测中,可以向当前块应用跳跃模式或合并模式,并且,可以基于关于与当前块相邻的块的多个运动信息来确定关于当前块的运动信息。

(9)在(8)中,接收到的信息可以包括指示符,该指示符用于指示将使用关于当前块的相邻块中的任何一个的运动信息,并且在执行帧间预测中,可以基于指示符来确定当前块的运动信息。

(10)在(9)中,指示符指示当前块的相邻块中的任何一个的参考索引将被用作当前块的参考索引。

(11)在(9)中,可以以条带单位、画面单位、目标预测块单位和编译单位中的任何一个来发送用于指示参考索引的信息。

(12)在(8)中,可以基于来自相邻块当中的可用相邻块来确定当前块的时间合并候选的参考索引,并且在执行帧间预测中,可以将来自可用相邻块的参考索引当中的具有最小值的参考索引确定为时间合并候选的参考索引。

(13)在(12)中,当前块的相邻块可以包括当前块的左下角块、左下块、右上角块、右上块和左上角块。

(14)在(8)中,可以将来自当前块的左下角块、左下块、右上角块、右上块和左上角块当中的左下块的参考索引指定为当前块的时间合并候选的参考索引。

(15)在(14)中,在执行帧间预测中,如果确定左下块的可用性并且作为确定的结果左下块不可用,则可以将具有特定值的参考索引指定为时间合并候选值的参考索引。

有益效果

根据本发明,当应用帧间预测的跳跃模式时,可以通过有效地选择参考画面来改善编译效率。

根据本发明,可以降低复杂度,并且可以通过有效地导出时间合并候选的参考索引来改善编译效率。

附图说明

图1是示意地示出根据本发明的一个实施例的编码器的框图。

图2是示意地示出根据本发明的一个实施例的解码器的框图。

图3是图示其中通过使用AMVP来对于当前块执行帧间预测的示例的示意图。

图4是图示通过使用特定块来执行AMVP的方法的示例的示意图。

图5是图示导出解码器的当前块的预测运动向量的方法的示例的流程图。

图6是图示用于当前预测块的空间候选预测块的运动向量的示例的示意图。

图7是图示预测P画面、B画面和GPB的方法的示意图。

图8是图示当将参考索引设置为0并且应用跳跃模式时可能出现的问题的示意图。

图9是图示根据本发明的一个实施例的从相邻块的参考索引选择当前块的参考索引的方法的示意图。

图10是图示在应用了本发明的系统中的合并候选的示意图。

图11是图示在应用了本发明的系统中的编码器的操作的示例的示意图。

图12是示意地图示在应用了本发明的系统中的解码器的操作的示例的流程图。

具体实施方式

可以以各种方式修改本发明,并且本发明可以具有几个实施例。在附图中图示并且详细描述了本发明的特定实施例。然而,本发明不仅限于所给出的特定实施例。在本说明书中使用的术语用于仅描述特定实施例,并且不意欲限制本发明的技术范围。引用单数值的表达另外指的是复数的对应表达,除非上下文另外明确地限制。在本说明书中,诸如“包括”或“具有”的术语意欲指定在说明书中描述的那些特性、数字、步骤、操作、元件或部分或者存在的它们的任何组合,并且应当明白,它们不排除可能存在或可能添加一个或多个另外的特性、数字、步骤、操作、元件或部分或者其组合。

同时,为了方便关于编码器和解码器的不同特性和功能的描述,独立地图示了在本发明中描述的附图中的元件,但是这不指示使用独立的硬件或独立的软件来实现每一个元件。例如,可以将元件的两个或更多个组合以形成一个元件,并且,可以将一个元件划分为多个元件。应当注意,在本发明的范围中包括其中将一些元件集成到一个组合元件内并且/或者将一个元件分离为多个独立的元件的实施例,只要它们不偏离本发明的本质。

在下文中,参考附图详细描述本发明的一些示例性实施例。在下文中,相同的附图标号贯穿附图将指示相同的元件,并且省略相同元件的冗余说明。

图1是示意地示出根据本发明的一个实施例的编码器的框图。参见图1,编码器100包括画面分区模块105、预测模块110、变换模块115、量化模块120、重新排序模块125、熵编码模块130、逆量化模块135、逆变换模块140、滤波器模块145和存储器150。

画面分区模块105可以将输入画面分区为一个或多个处理单元。该处理单元可以是预测单元(在下文中称为“PU”)、变换单元(在下文中称为“TU”)或编译单元(在下文中称为“CU”)。然而,在本说明书中,为了说明方便,预测单元可以被表示为预测块,变换单元可以被表示为变换块,并且编译单元可以被表示为编译块。

预测模块110包括用于执行帧间预测的帧间预测模块和用于执行帧内预测的帧内预测模块,如下将描述的。预测模块110通过对于来自画面分区模块105的画面的处理单元执行预测来生成预测块。在预测模块110中的画面的处理单元可以是CU、TU或PU。而且,预测模块110可以确定对于对应的处理单元执行的预测是帧间预测还是帧内预测,并且确定每种预测方法的详细内容(例如,预测模式)。在此,对其执行预测的处理单元、预测方法和其详细内容被确定的处理单元可以是不同类型的单元。例如,可以在PU中确定预测方法和预测模式,并且可以在TU中执行预测。

可以通过下述方式来生成预测块:通过帧间预测来基于关于在当前画面之前的画面和/或在当前画面值的画面的至少一个的信息执行预测。而且,可以通过下述方式来生成预测块:通过帧内预测基于在当前画面内的像素中找到的信息来执行预测。

在帧间预测中,可以选择用于PU的参考画面,并且可以在整数像素采样单元中选择具有与PU相同大小的参考块。接下来,生成具有与上面的PU对应的最小残余信号和具有最小运动向量大小的预测块。跳跃模式、合并模式和运动向量预测(MVP)可以用于帧内预测方法。可以以诸如1/2像素采样单位和1/4像素采样单位的、比整数小的采样单位来生成预测块。在此,可以以比整数像素小的单位来表示运动向量。例如,可以以1/4像素单位来表示亮度像素,并且可以以1/8像素单位来表示色度像素。

关于参考画面的索引、运动向量(例如,运动向量预测值)和通过帧间预测选择的残余信号的多个信息进行熵编码,并且传送到解码器。

如果执行帧内预测,则可以在PU中确定预测模式,并且可以在PU中进一步执行预测。而且,可以在PU中确定预测模式,并且可以在TU中执行帧内预测。

在帧内预测中,预测模式可以具有33个定向预测模式和两个或更多非定向模式。非定向模式可以包括DC预测模式和平面模式。

在帧内预测中,可以在向参考采样应用滤波器后生成预测块。在此,可以根据帧内预测模式和/或当前块的大小来确定是否向参考采样应用滤波器。在此,当前块可以是被执行预测的变换单元。同时,在本说明书中,使用像素意指使用关于像素的信息,例如像素值。应当注意,为了说明方便,表达“使用关于像素的信息”或“使用像素值”可以被简单地表示为“使用像素”。下面描述详细的帧内预测方法。

PU可以具有各种大小和形式。例如,在帧间预测的情况下,PU可以具有诸如2N×2N、2N×N、N×2N或N×N的大小。在帧内预测的情况下,PU可以具有诸如2N×2N或N×N的大小(在上面两个示例中,N是整数)。在此,具有N×N大小的PU可以被设置为仅被应用到指定情况。例如,具有任何给定N×N大小的PU可以仅被应用到最小大小的编译单元,或者可以仅用在帧内预测中。除了具有上述大小的PU之外,可以进一步限定和使用具有诸如N×mN、mN×N、2N×mN或mN×2N(m<1)的大小的PU。

在所生成的预测块和原始块之间的残余值(或残余块或残余信号)被输入到变换模块115。而且,用于预测的关于预测模式的信息和关于运动向量的信息与残余值一起在熵编码模块130中被编译,并且被传送到解码器。

变换模块115可以通过在变换单元对于残余块执行变换来生成变换系数。由变换模块115引用的变换单元可以是TU,并且,变换单元可以具有四叉树结构(quad tree structure)。在此,可以在具有最大和最小值的范围内确定变换单元的大小。变换模块115可以使用离散余弦变换(DCT)和/或离散正弦变换(DST)来变换残余块。

量化模块120可以通过量化由变换模块115变换的残余值来生成量化系数。由量化模块120计算的量化系数被提供到逆量化模块135和重新排序模块125。

重新排序模块125重新排序由量化模块120提供的量化系数。通过重新排序量化系数,可以改善在熵编码模块130中的编译效率。重新排序模块125可以使用系数扫描方法将二维块形式的量化系数重新排序为一维向量形式的量化系数。

重新排序模块125可以基于从量化模块120接收的量化系数的概率统计而改变系数扫描的顺序,使得改善在熵编码模块130中的熵编码效率。

熵编码模块130可以对于由重新排序模块125重新排序的量化系数执行熵编码。可以在熵编码中使用编译方法,诸如指数哥伦布、环境自适应可变长度编译(CAVLC)或环境自适应二进制算术编译(CABAC)。熵编码模块130可以编译从重新排序模块125和预测模块110接收的的各个信息,诸如关于CU的量化系数和块类型的信息、关于预测模式的信息、关于分区单元的信息、关于PU的信息、关于发送单元的信息、关于运动向量的信息、关于参考画面的信息、关于块的内插的信息和滤波信息。

而且,熵编码模块130可以根据需要向接收到的参数集或句法应用特定改变。

逆量化模块135对于由量化模块120量化的值执行逆量化,并且逆变换模块140对于由逆量化模块135逆量化的值执行逆变换采样。从逆量化模块135和逆变换模块140生成的残余值可以与由预测模块110预测的预测块合并,由此能够生成重建块。

滤波器模块145可以向重建的画面应用去块滤波器、自适应回路滤波器(ALF)和采样自适应偏移(SAO)。

去块滤波器可以去除在重建的画面中在块的边界中出现的块失真。ALF可以基于通过将在通过去块滤波器滤波块后重建的给定画面与原始画面作比较而获得的值来执行滤波。仅可以在高效率的情况下利用ALF。SAO以像素为单位恢复在已经应用去块滤波器的残余块的偏移和原始画面的偏移之间的差,并且以带偏移或边缘偏移的形式来应用SAO。

同时,滤波器模块145可以不向在帧间预测中使用的重建块上应用滤波。

存储器150可以存储通过滤波器模块145计算的重建块或画面。在存储器150中的重建块或画面可以被提供到预测模块110以用于执行帧间预测。

图2是示意地示出根据本发明的一个实施例的解码器的框图。参见图2,解码器200可以包括熵解码模块210、重新排序模块215、逆量化模块220、逆变换模块225、预测模块230、滤波器模块235和存储器240。

当从编码器接收到视频比特流时,可以根据编码器已经处理视频信息所通过的过程来解码输入视频比特流。

例如,如果已经使用诸如CAVLC的可变长度编译(在下文中称为“VLC”)以便编码器执行熵编码,则熵解码模块210可以通过实现与在编码器中使用者相同的VLC表来执行熵解码。而且,如果编码器已经使用CABLC以便执行熵编码,则熵解码模块210可以使用CABAC来执行熵解码。

可以向预测模块230提供来自由熵解码模块210解码的多个信息当中的用于生成预测块的信息。可以向重新排序模块215输入已经被熵解码模块执行熵解码的残余值。

重新排序模块215可以基于在编码器中使用的重新排序方法来重新排序已经被熵解码模块210执行熵解码的比特流。重新排序模块215可以通过下述方式来重新排序以一维向量形式表示的系数:将该系数重建为二维块形式的系数。重新排序模块215可以接收与由编码器执行的系数扫描相关的信息,并且使用基于由对应的编译单元执行的扫描顺序的逆扫描方法来执行重新排序。

逆量化模块220可以基于由编码器提供的块的量化参数和系数值来执行逆量化。

逆变换模块225可以对于由编码器执行的量化结果执行由编码器的变换单元执行的DCT和DST的逆DCT和/或逆DST。可以在由编码器确定的画面的发送单元或分区单元中执行逆变换采样。在编码器的变换模块中,可以基于诸如预测方法、当前块的大小和预测方向的多个因素来选择性地执行DCT和/或DST。解码器的逆变换模块225可以基于源自编码器的变换模块的变换信息来执行逆变换采样。

预测模块230可以基于与由熵解码模块210提供的预测块的生成相关的信息和关于由存储器240提供的预先解码的块和/或画面的信息来生成预测块。可以使用由预测模块230生成的预测块和由逆变换模块225提供的残余块来生成重建块。如果用于当前PU的预测模式是帧内预测模式,则可以基于在当前画面内的像素中找到的信息来执行用于生成预测块的帧内预测。

如果用于当前PU的预测模式是帧间预测模式,则可以基于在当前画面之前的画面和在当前画面之后的画面的至少一个中包括的信息来执行用于当前PU的帧间预测。在此,可以通过查看从编码器接收的跳跃标记和合并标记来导出由编码器提供的、用于当前PU的帧间预测所需的运动信息,例如,关于运动向量和参考画面的索引的信息。

可以向滤波器模块235提供重建块和/或画面。滤波器模块235向重建块和/或画面应用去块滤波、采样自适应偏移(SAO)和/或自适应回路滤波。

存储器240可以存储重建画面或块,使得该重建画面或块可以被用作参考画面或参考块,并且也可以向输出模块供应重建的画面。

同时,如果应用帧间预测模式,则存在作为对于当前块执行预测的方法的高级MVP(AMVP)。AMVP方法是传统运动向量预测值(MVP)的改进。在该方法中,从与当前块相邻的块导出用于帧间预测的信息。

图3是图示其中通过使用AMVP对于当前块执行帧间预测的示例的示意图。参见图3,可以从相邻块导出可以被用作当前块300的MVP的候选MVP。

例如,可以从在当前块300左面的块集合A 310导出运动向量mvA。mvA是来自属于集合A 310的块的运动向量当中的具有与当前块300相同的参考索引的运动向量。接下来,可以从在当前块300上面的块集合B 320导出运动向量mvB。mvB是来自属于集合B 320的块的运动向量当中的具有与当前块300相同的参考索引的运动向量。

接下来,如在等式1中那样导出在当前块的一角处的块C的运动向量mvC、块集合A 310的运动向量mvA和集合B 320的运动向量mvB的中值mv_median。

<等式1>

mv_median=median(mvA,mvB,mvC)

从导出的运动向量mvA、mvB和mvC、中值mv_median和当前块的时间并列块(temporal collocated block)的运动向量mv选择的最有效的运动向量可以被用作要被用作当前块的MVP的运动向量。

在此,可以仅使用特定块来执行AMVP,而不考虑集合A 310和集合B 320的所有块。

图4是图示通过使用特定块来执行AMVP的方法的示例的示意图。

在图4的示例中,位于当前预测单元的左上处的像素的位置可以被定义为(xP,yP),并且当前预测单元的宽度和高度可以分别被定义为参数nPSW和nPSH。而且,为了表示空间候选预测块,可以将可以被用作预测单元的最小预测单元的大小定义为MinPuSize。

而且,为了说明方便,作为当前预测块的空间相邻预测块,包括在位置(xP-1,yP+nPSH)处的像素的块可以被称为与图3的块E 350对应的左第一块400。而且,以下部分可以被称为左第二块:来自属于集合A的块的块中的任何一个,例如,包括在位置处(xP-1,yP)的像素的块420至包括在位置(xP-1,yP+nPSH-MinPuSize)处的像素的块410。

包括在位置(xP+nPSW,yP-1)处的像素的块可以被称为与图3的块C 330对应的顶部第一块430。而且,以下部分可以被称为顶部第二块:来自属于集合B的块的块中的任何一个,例如,包括在位置处(xP,yP-1)处的块450至包括在位置(xP+nPSW-MinPuSize,yP-1)处的像素的块440。而且,包括在位置(xP-MinPuSize,yP-1)处的像素的块可以被称为与图3的块D 340对应的顶部第三块460。

空间候选预测块可以包括左第一块、左第二块、顶部第一块、顶部第二块和顶部第三块。在此,为了说明方便,包括在位置(xP-1,yP+nPSH-MinPuSize)处的像素的块410被用作左第二块,并且包括在位置(xP+nPSW-MinPuSize,yP-1)处的像素的块440被用作顶部第二块。

包括左第一块400和左第二块410的一组被定义为第一空间候选预测组,并且包括顶部第一块430、顶部第二块440和顶部第三块460的一组被定义为第二空间候选预测组。被称为空间候选预测块的术语可以被用作包括在第一空间候选预测组中包括的块和在第二空间候选预测组中包括的块的术语。

时间候选预测块470可以变为:在基于在当前预测块中包括的画面的位置(xP,yP)的当前预测块的并列画面中的、包括在位置(xP+nPSW,yP+nPSH)处的像素的预测块;或者,在如果包括在位置(xP+nPSW,yP+nPSH)处的像素的预测块不可用的情况下的包括在位置(xP+nPSW/2,yP+nPSH/2)处的像素的预测块。

在图4中所示的空间候选预测块的位置及其数量和在图4中所示的时间候选预测块的位置及其数量是随机的。可以改变空间候选预测块的位置和数量以及时间候选预测块的位置和数量,而不偏离本发明的主旨。例如,可以考虑图3的集合A和集合B的块的全部或一些。当配置候选预测运动向量列表时,可以改变首先扫描的预测块和候选预测组的位置。而且,在图4中,预测块的每一个可以是预测单元PU。

图5是图示解码器导出用于当前块的预测运动向量的方法的示例的流程图。可以通过解码器或例如解码器的预测模块的特定模块来执行参考图5所述的方法。为了说明方便,假定用于执行图5的方法的主体是解码器。

参见图5,解码器可以在步骤S500处导出第一候选预测运动向量。第一候选预测运动向量是从第一空间候选预测组导出的候选预测运动向量,并且可以基于关于第一空间候选预测组的可用性的信息而被导出。

第一空间候选预测组可以包括与图4的示例相关联地描述的左第一块和左第二块。关于第一空间候选预测组的可用性的信息可以用于从第一空间候选预测组导出预测运动向量。关于第一空间候选预测组的可用性的信息指示在第一空间候选预测组中包括的块的运动向量的至少一个是否是可用候选预测运动向量。即,关于第一空间候选预测组的可用性的信息指示在第一空间候选预测组中包括的块的运动向量的至少一个是否可以包括在当前预测块的候选预测运动向量列表中。

解码器可以在步骤S510处导出第二候选预测运动向量。第二候选预测运动向量是从第二空间候选预测组导出的候选预测运动向量,并且可以基于关于第二空间候选预测组的可用性的信息而被导出。

第二空间候选预测组可以包括如上所述的顶部第一块、顶部第二块和顶部第三块。关于第二空间候选预测组的可用性的信息可以用于从第二空间候选预测组导出预测运动向量。如关于第一空间候选预测组的可用性的信息那样,关于第二空间候选预测组的可用性的信息指示在第二空间候选预测组中包括的块的运动向量的至少一个是否可以包括在当前预测块的候选预测运动向量列表中。

解码器可以在步骤S520处获得时间候选运动向量。时间候选预测运动向量是基于关于时间候选预测块的可用性的信息而从时间候选预测块导出的候选预测运动向量。

关于时间候选预测块的可用性的信息指示在当前预测块的候选预测运动向量列表中是否将包括时间候选预测块的运动向量。

候选预测运动向量列表可以包括通过步骤S500至S520获得的运动向量中的至少一个,通过步骤S500至S520获得的运动向量即第一候选预测运动向量、第二候选预测运动向量和时间候选预测运动向量。

解码器可以在步骤S530从候选预测运动向量排除相同的候选预测运动向量。更具体地,如果在候选预测运动向量列表中存在相同的候选预测运动向量,则解码器从候选预测运动向量列表中的相同候选预测运动向量当中去除除了具有最高优先级的候选预测运动向量之外的剩余候选预测运动向量。

可以在候选预测运动向量列表中仅包括来自通过步骤S500至S520获得的候选预测运动向量当中的、通过确定候选预测运动向量是否彼此相同的步骤S530获得的不同预测运动向量。

解码器可以在步骤S540向候选预测运动向量加上零运动向量。更具体地,如果未导出为了使用候选预测运动向量列表所需的数量的候选预测运动向量,则解码器可以向候选预测运动向量列表加上零运动向量。可以与下面要描述的步骤S550一起整体执行步骤S540。在该情况下,可以不执行步骤S540。

解码器可以在步骤S550处调整候选预测运动向量的数量。更具体地,解码器确定在当前候选预测运动向量列表中包括的候选预测运动向量的数量是否等于或大于可以包括在候选预测运动向量列表中的候选预测运动向量的最大数量。

可以包括在候选预测运动向量列表中的候选预测运动向量的数量可以限于特定数量。例如,假定候选预测运动向量的最大数量被设置为2,并且通过步骤S500至S540导出的候选预测运动向量的数量是3,可以在候选预测运动向量列表中仅包括以高优先级的顺序的两个候选预测运动向量,并且可以从候选预测运动向量列表排除剩余的一个候选预测运动向量。

如上所述,如果在当前候选预测运动向量列表中包括的候选预测运动向量的数量等于或大于可以在候选预测运动向量列表中包括的候选预测运动向量的最大数量,则解码器调整候选预测运动向量的数量使得在预测运动向量列表中仅包括等于候选预测运动向量的最大数量的数量的候选预测运动向量。在此,包括以高优先级的顺序的、等于在候选预测运动向量列表中的候选预测运动向量的最大数量的数量的候选预测运动向量并且从候选预测运动向量列表排除剩余的候选预测运动向量的方法可以被用作调整候选预测运动向量的数量的方法的示例。

如果在当前候选预测运动向量列表中包括的候选预测运动向量的数量小于可以在候选预测运动向量列表中包括的候选预测运动向量的最大数量,则解码器可以向候选预测运动向量列表加上一个候选预测运动向量。例如,可以向当前候选预测运动向量列表添加作为另外的候选预测运动向量的零运动向量。该添加的候选预测运动向量除了零运动向量之外也可以变为在候选预测运动向量列表中已经存在的向量的组合或换算值。

解码器可以在步骤S560处确定当前预测块的预测运动向量。解码器可以使用来自在候选预测运动向量列表中包括的候选预测运动向量当中的、最有效的候选预测运动向量来作为当前预测块的运动向量预测值(mvp),如参考图3上述。

在此,编码器可以向解码器传送关于最有效的候选预测运动向量的信息。在该情况下,解码器可以基于关于从编码器接收的运动向量预测值的索引的信息来确定当前预测单元的运动向量预测值。关于运动向量预测值的索引的信息可以指示在候选预测运动向量列表中包括的候选预测运动向量的哪个将被用作当前预测块的运动向量预测值。

可以通过下述方式来获得关于当前预测单元的运动向量的信息:添加关于运动向量差(mvd)的信息,即,关于在当前预测块的运动向量预测值和当前预测块的原始运动向量值之间的差的信息。

图6是图示用于当前预测块的空间候选预测块的运动向量的示例的示意图。

参见图6,假定从与当前预测块的参考索引和参考画面列表相同的那些获得的空间候选预测块的运动向量是第一运动向量600。在此,参考索引指示参考画面。

在图6的示例中,假定由当前预测块650的参考索引指示的参考画面是j画面,并且包括j画面的参考画面列表是L0,则空间候选预测块670的运动向量和当前预测块650的运动向量具有相同的参考画面和相同的参考画面列表,因为由空间候选预测块670的运动向量600指示的画面是j画面,并且包括j画面的参考画面列表是L0。如上所述,具有与当前预测块相同的参考画面(或相同的参考索引)并且从相同的列表导出的运动向量被称为第一运动向量600。

相反,具有与当前预测块650相同的参考索引并且从不同的参考画面列表导出的空间候选预测块670的运动向量被称为第二运动向量610。

假定由当前预测块650的参考索引指示的参考画面是j画面,并且包括j画面的参考画面列表是L0,则空间候选预测块670的运动向量610和当前预测块650的运动向量具有相同的参考索引(或相同的参考画面),但是从不同的参考画面列表被导出,因为在图6的示例中,由空间候选预测块670的运动向量610指示的画面是j画面,并且包括j画面的参考画面列表是L1。如上所述,具有与当前预测块的参考索引相同的参考索引但是从不同的参考画面列表导出的运动向量被称为第二运动向量610。

而且,具有与当前预测块不同的参考索引并且从相同的参考画面列表导出的空间候选预测块的运动向量被称为第三运动向量620。

假定由当前预测块650的参考索引指示的参考画面是j画面,并且包括j画面的参考画面列表是L0,则空间候选预测块670的运动向量和当前预测块650的运动向量具有不同的参考索引,但是从相同的参考画面列表被导出,因为在图6的示例中,由空间候选预测块670的运动向量620指示的画面是i画面,并且包括i画面的参考画面列表是L0。如上所述,具有与当前预测块650的参考索引不同的参考索引并且从相同的列表导出的运动向量被称为第三运动向量620。因为第三运动向量620的参考画面(或参考索引)与当前预测块650的那些不同,所以空间候选预测块670的运动向量可以基于当前预测块650的参考画面被缩放,并且然后被包括在候选预测运动向量列表中。

具有与当前预测块650不同的参考索引并且从不同的参考画面列表导出的空间候选预测块670的运动向量被称为第四运动向量630。

假定由当前预测块650的参考索引指示的参考画面是j画面并且包括j画面的参考画面是L0,则空间候选预测块670的运动向量和当前预测块650的运动向量具有不同的参考索引,并且具有不同的参考画面列表,因为在图6的示例中,由空间候选预测块670的运动向量630指示的画面是m画面,并且包括m画面的参考画面列表是L1。如上所述,具有与当前预测块的参考索引不同的参考索引并且从不同的参考画面列表导出的运动向量被称为第四运动向量630。即使在该情况下,由于第四运动向量630具有与当前预测块650的参考索引不同的参考索引(或参考画面),所以空间候选预测块的运动向量可以基于当前预测块650的参考画面被缩放,并且然后被包括在候选预测运动向量列表中。

解码器可以依序对于左第一块和左第二块搜索第一运动向量、第二运动向量、第三运动向量和第四运动向量。解码器可以对于左第一块搜索第一运动向量和第二运动向量。如果作为搜索的结果未检索到第一运动向量和第二运动向量,则解码器可以对于左第二块搜索第一运动向量和第二运动向量。在另一个实施例中,解码器可以依序对于左第一块和左第二块搜索第一运动向量。如果作为搜索的结果未检索到第一运动向量,则解码器可以依序对于左第一块和左第二块搜索第二运动向量。

如果未检索到第一运动向量和第二运动向量,则解码器可以同样对于左第一块和左第二块搜索第三运动向量和第四运动向量。

如果检索到运动向量,则解码器可以将关于第一空间候选预测组的可用性的信息设置为1(即,真),在候选预测运动向量列表中包括所检索的运动向量,并且终止随后的搜索。

解码器可以依序对于上面的第一块、上面的第二块、上面的第三块搜索第一运动向量、第二运动向量、第三运动向量和第四运动向量。搜索方法与用于左块的搜索方法相同。如果检索到运动向量,则解码器可以将关于第二空间候选预测组的可用性的信息设置为1(即,真),在候选预测运动向量列表中包括所检索的运动向量,并且终止随后的搜索。

在此,需要缩放第三运动向量和第四运动向量,以便在候选预测运动向量列表中包括第三和第四运动向量,并且使用它们。在该情况下,可以限制缩放的次数。例如,如果已经充分地使用预定次数来对于左第一块和第二块搜索第三运动向量和第四运动向量,则可以不执行在上面的块中对于第三运动向量和第四运动向量的搜索。

解码器可以在候选预测运动列表中包括从时间候选预测块(即,Col块)导出的候选预测运动向量。

如上所述,如果在候选预测运动列表中包括相同的候选预测运动向量,则解码器可以从候选预测运动列表中从相同的候选预测运动向量去除除了具有最高优先级的候选预测运动向量之外的剩余的候选预测运动向量。而且,解码器可以通过使用零运动向量等来调整候选预测运动向量的数量。

同时,在上面的内容中,L0和L1根据画面的类型来引用在帧间预测中使用的参考画面列表。

在视频编译和解码中使用的画面可以被分类为I画面、P画面和B画面。

I画面在对应的帧内被独立地编译,而与在对应的帧之前和之后的帧无关,并且不在时间方向上进行预测。在编译处理中仅使用在对应的帧内的信息。

可以使用一个参考画面在一个方向上通过帧间预测来编译P画面。P画面要求一个参考画面列表,并且该一个参考画面列表被称为参考画面列表0L0。使用从L0选择的参考画面的帧间预测也被称为L0预测。L0预测主要用在正向预测中。在P画面中,可以执行帧内预测或L0预测。

可以通过使用一个或多个参考画面,例如两个参考画面来通过正向、反向或双向帧间预测来编译B画面。B画面需要两个参考画面列表,并且该两个参考画面列表分别被称为参考画面列表0L0和参考画面列表1L1。如上所述,使用从L0选择的参考画面的帧间预测被称为L0预测,并且L0预测主要用在正向预测中。使用从L1选择的参考画面的帧间预测被称为L1预测,并且L1预测主要用在反向预测中。而且,使用从相应的L0和L1选择的两个参考画面的帧间预测也被称为双预测。

在B画面中,可以执行帧内预测、L0预测、L1预测或双预测。

来自B画面当中的具有相同的L0和L1的画面被称为一般化的P和B(GPB)或一般化的B画面。在GPB的情况下,仅允许正向预测,并且具有高编译性能但是具有低延迟的编译是可能的。

图7是图示预测P画面、B画面和GPB的方法的示意图。在图7中,以画面顺序计数(POC)的顺序来示出画面。POC意指画面的显示顺序或时间顺序。

与P画面相关地,从参考画面的单向预测是可能的。因此,以时间顺序(POC),可以执行从过去的画面的正向预测,并且可以执行从未来的画面的反向预测,如图7中所示。在P画面中,可以使用关于在一个方向上的目标预测块的仅一个运动信息(即,运动向量或参考索引)。

与B画面相关地,可以使用最多两个运动信息。因此,可以基于B画面使用过去两个参考画面执行正向预测,可以基于B画面使用未来两个参考画面执行反向预测,并且可以基于B画面使用过去一个参考画面和未来一个参考画面执行双预测。能够执行双预测的B画面可能需要两个参考画面列表L0和L1。

在GPB中,如在B画面中那样,可以通过使用两个或更多的运动信息来对于目标预测块执行预测。在GPB中,仅可以允许正向预测。在该情况下,不伴随因为反向预测导致的延迟。

可以不对于每个画面而是对于每一个条带限定I画面、P画面和B画面的特性。例如,在条带单元中,可以限定具有I画面的特性的I条带、具有P画面的特性的P条带和具有B画面的特性的B条带。在条带单元中,可以说GPB是GPB条带或一般化的B条带。

同时,在上述的AMVP方法中,当向当前块应用跳跃模式时,使用导出的运动向量预测值(mvp)解码当前块。例如,当在帧间预测中应用跳跃模式时,关于来自与当前块相邻的参考块当中的特定可用参考块的运动信息被导出和用作关于当前块的运动信息。不发送预测块的残余部分,并且基于预测块来解码当前块。

在跳跃模式中,当前块的参考索引可以被指配为特定值,例如,0。然而,在该情况下,如果使用时间运动向量预测值(TMVP),则难以获得有效的预测结果。

图8是图示当参考索引被设置为特定值并且应用跳跃模式时可能出现的问题的示意图。

图8示出其中将参考索引设置为特定值并且应用跳跃模式的示例。在图8的示例中,假定参考索引指示参考画面0。由参考索引指示的参考画面0比由参考索引1指示的参考画面1和当前画面亮。为什么参考画面0更亮的原因可能源自灯光效应,诸如当执行拍摄时的闪光。

在当前画面和参考画面0的亮度分量之间的差很大。因此,如果考虑编译效率,则可以优选地使用参考画面1而不是参考画面0来预测当前画面。

因此,在图8的示例中,与当前块相邻的块具有下述很大的可能性:它们可能具有用于指示参考画面1的参考索引。如果相邻块的大多数具有参考画面1并且通过使用参考画面0来向当前块应用跳跃模式,则可能必须使用零运动向量的块或并列的画面来确定当前块的运动向量预测值(mvp),因为在更类似的运动向量中没有具有相同的参考索引的候选块。

即,虽然存在具有更类似的运动向量的相邻块,但是可能出现问题,因为必须使用不同的信息来应用跳跃模式。

因此,当应用跳跃模式时,可以使用利用与当前块相邻的块的参考索引而不将特定值指定为参考索引的导出方法。例如,可以使用将非常接近当前块地分布的参考索引分配为用于跳跃模式的参考索引的方法来解决该问题。换句话说,可以通过跟踪当前块的相邻块的运动信息来确定要向跳跃模式分配的参考索引。

下面参考附图更详细地描述根据本发明的关于向跳跃模式分配参考索引的实施例。

在应用了本发明的系统中,如上所述,在向在跳跃模式中的当前块指配的运动向量和参考索引中,不向特定参考索引指配0,而是将非常接近当前块地分布的参考索引指定为当前块的参考索引。即,来自与当前块相邻的块当中的特定块的参考索引被用作当前块的参考索引,并且与下面的实施例相关地描述其详细方法。

关于在跳跃模式中的参考索引的指定的实施例1

在本实施例中,来自与当前块相邻的块的参考索引当中,将最常使用的参考索引用作当前块的参考索引。

例如,参见图3,来自属于集合A 310的块的参考索引、属于集合B 320的块的参考索引、块C 330的参考索引和块E 350的参考索引当中,在数量上最大的参考索引可以被用作当前块300的参考索引。在此,如果块C 330不可用,则可以取代使用块D 340的参考索引。

如果在相邻块中存在被最多地指定(最常使用)的多个参考索引,则可以将具有较小值的参考索引指定为当前块的参考索引。在此,具有较小值的参考索引可以是具有较高优先级的参考索引。或者,具有较小值的参考索引可以是用于指示在参考画面列表中具有较低索引的参考画面的参考索引。

关于在跳跃模式中的参考索引的指定的实施例2

在本实施例中,导出与当前块相邻的左块的参考索引的中值和与当前块相邻的顶部块的参考索引的中值,该两个中值和位于当前块的角的块的参考索引的中值被指定为当前块的参考索引。

例如,参考图3,假定属于集合A 310的N个块的参考索引refidxA1、…、refidxAN的Median(refidxA1,…,refidxAN)被称为refA。也假定属于集合B 320的M个块的参考索引refB1、…、refidxBN的Median(refidxB1,…,refidxBM)被称为refB。而且,假定块C 330的参考索引是refC,可以将Medians(refA,refB,和refC)指定为当前块300的参考索引。

如在实施例1中那样,如果块C 330不可用,例如,如果块C 330是在帧内预测模式中的块,则可以取代块C 330的参考索引而使用块D340的参考索引或块E 350的参考索引。

关于在跳跃模式中的参考索引的指定的实施例3

在本实施例中,导出来自位于当前块的顶部的相邻块的参考索引当中的具有最小值的参考索引和来自当前块左面的相邻块的参考索引当中的具有最小值的参考索引。来自该两个参考索引当中的具有较小值的参考索引被指定为当前块的参考索引。

例如,参见图3,来自属于集合A 310的块的参考索引当中的具有最小值的参考索引被指定为集合A的参考索引refA,并且来自属于集合B 320的块的参考索引当中的具有最小值的参考索引被指定为集合B的参考索引refB。在此,来自参考索引refA和refB当中的具有较小值的参考索引被指定为当前块300的参考索引。

在此,位于当前块300的角的三个块的参考索引,即,块C 330的参考索引refC、块D 340的参考索引refD和块E的参考索引refE可以进一步被包括为当前块300的参考索引。来自参考索引refA、refB、refC、refD和refE当中具有最小值的参考索引可以被指定为当前块300的参考索引。

关于在跳跃模式中的参考索引的指定的实施例4

在本实施例中,编码器可以通过条带级或画面级的参数集合来发送要在应用跳跃模式的当前块中使用的参考索引(或参考画面索引)。在此,当前块可以是编译单元或预测单元。

关于在条带级或画面级上的由编码器发送的参考索引的信息可以是参考索引的值本身。

同时,在本发明中,由于非常接近当前块分布的参考索引被指定为用于跳跃模式的参考索引,所以由编码器发送的参考索引可以是与当前块相邻的块的参考索引。因此,编码器可以不直接地发送参考索引的值,而是以发送用于指示具有对应的参考索引的相邻块的信息这样的方式来发送关于参考索引的信息。在该情况下,如果由编码器指定的块的运动向量与当前块的运动向量相同,则可以无改变地使用关于由编码器指定的块的运动信息,并且可以向当前块应用跳跃模式。为了说明方便,该方法也可以被称为将相邻块与当前块合并并且向当前块应用跳跃模式的方法。

解码器将从编码器接收的参考索引指定为应用跳跃模式的块的参考索引。由于在条带级或画面级上发送用于跳跃模式的参考索引,所以可以向应用跳跃模式的块,即,属于同一条带或同一画面的块指配相同的参考索引。解码器通过使用从编码器接收的参考索引和诸如如上所述的AMVP方法的AMVP方法来导出当前块的运动向量预测值(mvp)。在此,如果以指示如上所述具有相同参考索引的相邻块的方式来传送关于从编码器接收的参考索引的信息并且所指示的相邻块的运动向量与当前块的运动向量相同,则解码器可以以无改变地使用关于所指示的相邻块的运动信息的方式来向当前块应用跳跃模式。即,可以使用将相邻块与当前块合并并且向当前块应用跳跃模式的方法。

关于在跳跃模式中的参考索引的指定的实施例5

在本实施例中,编码器对于每一个块发送要应用跳跃模式的当前块使用的参考索引。在此,发送参考索引所通过的块可以是编译单元或预测单元。

关于由编码器对于每一个块发送的参考索引的信息可以是参考索引的值本身。

同时,在本发明中,由于与当前块非常接近地分布的参考索引被指定为用于跳跃模式的参考索引,所以从编码器接收的参考索引可以是与当前块相邻的块的参考索引。因此,编码器可以不直接地发送参考索引的值,而是以发送用于指示具有对应的参考索引的相邻块的信息这样的方式来发送关于参考索引的信息。在该情况下,如果由编码器指定的块的运动向量与当前块的运动向量相同,则可以无改变地使用关于由编码器指定的块的运动信息,并且可以向当前块应用跳跃模式。为了说明方便,该方法也可以被称为将相邻块与当前块合并并且向当前块应用跳跃模式的方法。

当向当前块应用跳跃模式时,解码器使用由编码器发送的参考索引来作为当前块的参考索引。在此,如果以指示如上所述具有相同参考索引的相邻块这样的方式来传送关于从编码器接收的参考索引的信息并且所指示的相邻块的运动向量与当前块的运动向量相同,则解码器可以以无改变地使用关于所指示的相邻块的运动信息这样的方式来向当前块应用跳跃模式。即,可以使用将相邻块与当前块合并并且向当前块应用跳跃模式的方法。

关于在跳跃模式中的参考索引的指定的实施例6

在本实施例中,为了导出被应用到当前块的跳跃模式的参考索引,选择和使用来自相邻块的参考索引当中的具有最小值的参考索引。

图9是图示根据本发明的一个实施例的、从相邻块的参考索引选择当前块的参考索引的方法的示意图。

参见图9,当向当前块910应用跳跃模式时,可以通过考虑块A 930的参考索引和块B 950的参考索引来确定当前块910的参考索引。参见图3,块A 930可以是集合A 920的块中的任何一个,并且块B 950可以是集合B 940的块中的任何一个。

块A 930的参考索引和块B 950的参考索引的每一个可以在正向预测的情况下具有用于参考画面列表L1的值-1(即,不可用)。并且可以在反向预测的情况下具有用于参考画面列表L0的值-1。而且,如果块A 930或块B 950处于帧内模式中,则与双向预测相关地,参考画面索引的所有值可能变为-1。

表1示出关于在跳跃模式中的参考索引的指定的、根据实施例6的指定的参考画面索引。

<表1>

对于L0方向和L1方向的每一个获得用于跳跃模式的参考索引,并且,使用导出的参考索引来执行预测。基本上,来自块A 930的参考索引和块B 950的参考索引当中的具有较小值的参考索引被指定为当前块的参考索引。因此,可以如在等式2中那样通过使用块A 930的参考索引ref_idx_A和块B 950的参考索引ref_idx_B来导出在跳跃模式中的参考索引skip_ref。

<等式2>

skip_ref_A=(ref_idx_A==-1?0:ref_idx_A)

skip_ref_B=(ref_idx_B==-1?0:ref_idx_B)

skip_ref=min(skip_ref_A,skip_ref_B)

如果块A 930的参考索引和块B 950的参考索引两者都是-1,则在跳跃模式中的当前块的参考索引可以被导出为0或-1。

如果在跳跃模式中的参考索引被导出为-1,则可以在一个方向上预测跳跃模式。例如,如果在L0方向上的跳跃模式参考索引skip_rel_l0的值是-1并且在L1方向上的跳跃模式参考索引的值是0,则在L1方向上的跳跃模式被应用到当前块。

同时,如果当前块的帧内预测模式是合并模式,则可以以向当前块应用关于预定合并候选的运动信息(即,参考索引和运动向量)这样的方式来执行预测,可以以向当前块应用合并模式这样的方式来预测。而且,如果用于当前块的帧内预测模式是跳跃模式,则合并模式的跳跃可以如上所述被应用到当前块。这可以被简称为合并跳跃模式。

在合并模式或合并跳跃模式中,关于指定的候选块的运动信息被用作关于当前块的运动信息。在合并跳跃模式中,不像在合并模式中那样,不发送用于预测块的残余信号。编码器可以发送用于指示是否向当前块应用合并模式或合并跳跃模式的信息。

如果用于当前块的帧内预测模式是合并模式或合并跳跃模式,则由编码器发送的指示符可以指示在合并候选列表mergeCandList中的当前块将与其合并的目标。

图10是图示应用本发明的系统中的合并候选的示意图。参见图10,如果向当前块1000应用合并模式或合并跳跃模式,则可以被用作关于当前块的运动信息的候选包括关于下述块的多个运动信息:即,块A0 1010,即,当前块的左下角块;块A1 1020,即,当前块的左下块;块B0 1030,即,当前块的右上角块;块B1 1040,即,当前块的右上块;块B2 1050,即,当前块的左上角块;以及块COL 1050,即,在与当前块相同的位置处的块。在此,A1、B0,、B1、B2或COL可以指示块或运动信息。在下文中,为了说明方便,当A1、B0,、B1、B2或COL指示块本身时,通过‘块N’(N=A1、B0,、B1、B2或COL)来指示A1、B0,、B1、B2或COL,并且当A1、B0,、B1、B2或COL指示运动信息(候选)时,通过‘N’(N=A1、B0,、B1、B2或COL)来指示A1、B0,、B1、B2或COL。

当每一个候选的可用性标记的值是1(真)时,可以以A1、B1,、B0、A0、B2和COL的顺序来将合并候选列表加索引。可以在合并候选列表中不包括包括具有非1的值的可用性标记的候选。

如果具有相同运动信息和相同参考索引的候选的数量在合并候选列表中为2或更大,则可以从合并候选列表去除来自具有相同的运动信息和相同的索引的候选当中的、除了具有较低顺序(或较高优先级或较低索引)的候选之外的剩余候选。

而且,可以在合并候选列表中包括的候选的最大数量可以被固定到特定数量。例如,在合并候选列表中仅可以包括最大数量为5的候选。

应用合并模式或合并跳跃模式的当前块在合并候选列表中与由编码器发送的索引指示的候选块合并,并且当前块使用关于候选块的运动信息作为其运动信息。在此,被用作当前块的运动信息的候选块的运动信息可以除了运动向量和参考索引之外进一步包括用于指示L1/L2的可用性的预测标记。

通过确定每一个候选的可用性来执行导出作为合并候选的A0、A1、B0、B1或B2的方法。

参见图10,块A0、块A1、块B0、块B1和块B2分别覆盖(xP-1,yP+nPSH)、(xP-1,yP+nPSH-1)、(xP+nPSW,yP-1)、(xP+nPSW-1,yP-1)和(xP-1,yP-1)。在此,为了说明方便,可以通过(xN,yN)来指示每一个块的位置。

在用于空间合并候选A0、A1、B0、B1和B2的下面的情况下,对应的候选不可用:

(1)当所有的块A0、A1、B0和B1可用时,B2。

(2)关于来自块A0、块A1、块B0、块B1和块B2当中的在帧内模式中的块的运动信息。

(3)当当前块的分区类型是PART_2NxN、PART_2NxnU、PART_2NxnD、PART_Nx2N、PART_nLx2N或PART_nRx2N时,当前块的分区索引是1,并且覆盖具有分区索引0和位置(xN,yN)的块的预测单元具有相同的运动信息,关于块N的运动信息。

(4)当当前块的分区类型是PART_NxN时,向具有分区索引0的块和具有分区索引2的块指配相同的运动信息,并且覆盖具有分区索引1和位置(xN,yN)的块的预测单元具有相同的运动信息,关于块N的运动信息。

(5)当当前块的分区类型是PART_NxN时,向具有分区索引0的块和具有分区索引1的块指配相同的运动信息,并且覆盖具有分区索引2和位置(xN,yN)的块的预测单元具有相同的运动信息,关于块N的运动信息。

与来自空间合并候选A0、A1、B0、B1和B2当中的、与情况(1)至(5)的任何一个对应的空间合并候选相关地,将可用性标记的值设置为0,并且对应的运动向量的元素值也被设置为0。

除了(1)至(5)的情况之外,用于对应的候选的可用性标记的值被设置为1,并且运动向量、参考索引和覆盖位置(xN,yN)的块(例如,预测单元)的预测标记被指定为合并候选列表的相应的mvLXN、refIdxLXN和predFlagLXN。

同时,在合并模式和合并跳跃模式中,可以从前述的空间合并候选不同地导出时间合并候选(即,Col块)。可以与在Col画面中的与当前块对应的块相关地在特定位置选择时间合并候选的运动向量。

例如,位于与当前块相对应的块的右下角处的块的运动向量可以被选择为时间合并候选的运动向量。

又如,可以基于与当前块相邻的块的参考索引而不使用Col画面来导出时间合并候选的参考索引。

下面参考图10来详细描述根据本发明导出时间合并候选的参考索引的方法。

关于时间合并候选的参考索引的导出的实施例1

参见图10,可以从块A1 1020导出参考索引refIdxLXA(X是0或1)如下。

如果覆盖采样的位置(xP-1,yP+nPSH-1)的块A1 1020是可用的,并且预测模式不是帧内预测模式MODE_INTRA,则向参考索引refIdxLXA指配refIdxLX[xP-1,yP+nPSH-1]。在位置(xP-1,yP+nPSH-1)的采样可以是亮度采样,并且覆盖采样的位置(xP-1,yP+nPSH-1)的块A1 1020和当前块1000可以是预测单元。

如果覆盖采样的位置(xP-1,yP+nPSH-1)的块A1 1020不可用或者预测模式是帧内预测模式MODE_INTRA,则向参考索引refldxLXA指配值-1。

参见图10,可以从块B1 1040导出参考索引refIdxLXB(X是0或1)如下。

如果覆盖采样的位置(xP+nPSW-1,yP-1)的块B1 1040是可用的,并且预测模式不是帧内预测模式MODE_INTRA,则向参考索引refIdxLXB指配refIdxLX[xP+nPSW-1,yP-1]。在位置(xP+nPSW-1,yP-1)的采样可以是亮度采样,并且覆盖采样的位置(xP+nPSW-1,yP-1)的块B1 1040和当前块1000可以是预测单元。

如果覆盖采样的位置(xP+nPSW-1,yP-1)的块B1 1040是不可用的,或者预测模式是帧内预测模式MODE_INTRA,则向参考索引refIdxLXB指配值-1。

参见图10,可以从三个角块A0 1010、B0 1030和B2 1050导出参考索引refIdxLXC(X是0或1)如下。

如果覆盖采样的位置(xP+nPSW,yP-1)的B0 1030是可用的,并且预测模式不是帧内预测模式MODE_INTRA,则向参考索引refIdxLXC指配refIdxLX[xP+nPSW,yP-1]。在位置(xP+nPSW,yP-1)处的采样可以是亮度采样,并且覆盖采样的位置(xP+nPSW,yP-1)的块B01030和当前块1000可以是预测单元。

如果B0 1030是不可用的或者预测模式是帧内预测模式,覆盖采样的位置(xP-1,yP+nPSH)的块A0 1010是可用的,并且预测模式不是帧内预测模式MODE_INTRA,则向参考索引refIdxLXC指配refIdxLX[xP-1,yP+nPSH]。在位置(xP-1,yP+nPSH)处的采样可以是亮度采样,并且覆盖采样的位置(xP-1,yP+nPSH)的块A0 1010和当前块1000可以是预测单元。

如果块B0和A0是不可用的或者预测模式是帧内预测模式,覆盖采样的位置(xP-1,yP-1)的块B2 1050是可用的,并且预测模式不是帧内预测模式MODE_INTRA,则向参考索引refIdxLXC指配refIdxLX[xP-1,yP-1]。在位置(xP-1,yP-1)处的采样可以是亮度采样,并且覆盖采样的位置(xP-1,yP-1)的块B2 1050和当前块1000可以是预测单元。

如果块B0、A0和B2是不可用的或者预测模式是帧内预测模式,则向参考索引refIdxLXC指配值-1。

在此,可以如在下面的情况下那样导出用于当前块1000的时间合并候选的参考索引refIdxLX。

(1)如果参考索引refIdxLXA与参考索引refIdxLXB相同,参考索引refIdxLXB与参考索引refIdxLXC相同,并且参考索引refldxLXA的值是-1(不可用),则参考索引refIdxLX的值变为0。如果参考索引refIdxLXA与参考索引refIdxLXB相同,参考索引refIdxLXB与参考索引refIdxLXC相同,并且参考索引refldxLXA的值不是-1,则参考索引refIdxLX变为参考索引refIdxLXA。

(2)作为不与情况(1)对应的情况,如果参考索引refIdxLXA与参考索引refIdxLXB相同并且参考索引refldxLXA的值是-1,则参考索引refIdxLX变为参考索引refIdxLXC。如果参考索引refIdxLXA与参考索引refIdxLXB相同并且参考索引refldxLXA的值不是-1,则参考索引refIdxLX变为参考索引refIdxLXA。

(3)作为不与情况(1)和(2)对应的情况,如果参考索引refIdxLXB与参考索引refIdxLXC相同并且参考索引refldxLXB的值是-1,则参考索引refIdxLX变为参考索引refIdxLXA。如果参考索引refIdxLXB与参考索引refIdxLXC相同并且参考索引refldxLXB的值不是-1,则参考索引refIdxLX变为参考索引refIdxLXB。

(4)作为不与情况(1)至(3)对应的情况,如果参考索引refIdxLXA与参考索引refIdxLXC相同并且参考索引refldxLXA的值是-1,则参考索引refIdxLX变为参考索引refIdxLXB。如果参考索引refIdxLXA与参考索引refIdxLXC相同并且参考索引refldxLXA的值不是-1,则参考索引refIdxLX变为参考索引refIdxLXA。

(5)作为不与情况(1)至(4)对应的情况,如果参考索引refldxLXA的值是-1,则向来自参考索引refIdxLXB和refIdxLXC当中的具有较小值的参考索引指配参考索引refIdxLX。即,参考索引refIdxLX=min(refIdxLXB,refIdxLXC)。

(6)作为不与情况(1)至(5)对应的情况,如果参考索引refldxLXB的值是-1,则向来自参考索引refIdxLXA和refIdxLXC当中的具有较小值的参考索引指配参考索引refIdxLX。即,参考索引refIdxLX=min(refIdxLXA,refIdxLXC)。

(7)作为不对应于情况(1)至(6)的情况,如果参考索引refldxLXC的值是-1,则来自参考索引refIdxLXA和refIdxLXB当中的具有较小值的参考索引指配参考索引refIdxLX。即,参考索引refIdxLX=min(refIdxLXA,refIdxLXB)。

(8)如果情况不对应于情况(1)至(7)的任何一个,则向来自参考索引refIdxLXA、refIdxLXB和refIdxLXC当中的具有最小值的参考索引指配时间合并候选的参考索引refIdxLX。即,参考索引refIdxLX=min(refIdxLXA,refIdxLXB,refIdxLXC)。

结果,在本实施例中,可以说时间合并候选的参考索引refIdxLX是来自从当前块100的左面选择的参考索引refIdxLXA、从当前块的上侧选择的参考索引refIdxLXB和从当前块1000的角选择为第一可用参考索引的参考索引refIdxLXC当中的、具有最小值的参考索引。

关于时间合并候选的参考索引的导出的实施例2

本实施例提出了一种当合并模式或合并跳跃模式被应用到当前块时简单地导出当前块的时间合并候选的参考索引的方法。

在本实施例中,可以将固定值用作当前块的时间合并候选的参考索引。例如,在本实施例中,时间合并候选的参考索引refIdxLX可以被指定为0。

关于时间合并候选的参考索引的导出的实施例3

在本实施例中,不像在实施例2中那样,来自时间合并候选的参考索引当中,参考画面列表L0的参考索引refIdxL0被固定为0,并且参考画面列表L1的参考索引refIdxL1被固定为1。

因此,可以如在下面的等式3中那样确定当前块的时间合并候选的参考索引。

<等式3>

refIdxL0=0

refIdxL1=refIdxL0+1=1

关于时间合并候选的参考索引的导出的实施例4

在本实施例中,仅考虑从当前块的左面导出的参考索引refIdxLXA和从当前块的上侧导出的参考索引refIdxLXB而不是从当前块的角导出的参考索引。例如,参见图10,来自块A1 1020的参考索引和块B11040的参考索引当中的具有较小值的参考索引可以被确定为当前块1000的时间合并候选的参考索引。

更具体地,可以如在下面的情况中那样导出时间合并候选的参考索引refIdxLX。

(1)如果参考索引refIdxLXA与参考索引refIdxLXB相同并且参考索引refldxLXA的值是-1(不可用),则向参考索引refIdxLX指配值0。如果参考索引refIdxLXA与参考索引refIdxLXB相同并且参考索引refldxLXA的值不是-1,则将参考索引refIdxLXA指定为时间合并候选的参考索引refIdxLX。

(2)作为不对应于情况(1)的情况,如果参考索引refldxLXA的值是-1,则将参考索引refIdxLXB指定为时间合并候选的参考索引refIdxLX。

(3)作为不对应于情况(1)和(2)的情况,如果参考索引refldxLXA的值是-1,则将参考索引refIdxLXA指定为时间合并候选的参考索引refIdxLX。

(4)作为不对应于情况(1)至(3)的情况,来自参考索引refIdxLXA和refIdxLXB当中的具有较小值的参考索引被指定为时间合并候选的参考索引refIdxLX。

关于时间合并候选的参考索引的导出的实施例5

在本实施例中,仅在低延迟的情况下或当使用GPB时,使用与实施例4的方法相同的方法。在剩余的情况下,向当前块的时间合并候选的参考索引refIdxLX指配值0。

更具体地,如果未满足低延迟条件(或使用GPB的条件),则当前块的时间合并候选的参考索引refIdxLX被设置为0。

如果满足低延迟条件(或使用GPB的条件),则如在实施例4中那样,仅考虑从当前块的左面导出的参考索引refIdxLXA和从当前块的上侧导出的参考索引refIdxLXB。参见图10,参考索引refIdxLXA是块A1 1020的参考索引,并且参考索引refIdxLXB是块B1 1040的参考索引。在该情况下,

(1)如果参考索引refIdxLXA与参考索引refIdxLXB相同并且参考索引refldxLXA的值是-1(不可用),则参考索引refIdxLX的值被设置为0。如果参考索引refIdxLXA与参考索引refIdxLXB相同并且参考索引refldxLXA的值不是-1,则将参考索引refIdxLXA指定为参考索引refIdxLX。

(2)作为不对应于情况(1)的情况,如果参考索引refldxLXA的值是-1,则将参考索引refIdxLXB指定为参考索引refIdxLX。

(3)作为不对应于情况(1)和(2)的情况,如果参考索引refldxLXB的值是-1,则将参考索引refIdxLXA指定为参考索引refIdxLX。

(4)如果情况不对应于情况(1)至(3)的任何一个,则将来自参考索引refIdxLXA和refIdxLXB当中的具有较小值的参考索引指定为当前块的时间合并候选的参考索引refIdxLX。

关于时间合并候选的参考索引的导出的实施例6

在本实施例中,从当前块的左面导出的参考索引refIdxLXA被用作当前块的时间合并候选的参考索引refIdxLX。参见图10,参考索引refIdxLXA是块A1 1020的参考索引。

如果参考索引refldxLXA的值是-1,则从当前块1000的上侧导出的参考索引refIdxLXB被用作时间合并候选的参考索引。参见图10,参考索引refIdxLXB是块B1 1040的参考索引。

如果参考索引refldxLXB的值是-1,则时间合并候选的参考索引refIdxLX被设置为0。即

(1)如果参考索引refldxLXA的值是-1并且参考索引refldxLXB的值是-1,则时间合并候选的参考索引refIdxLX被设置为0。

(2)如果参考索引refldxLXA的值是-1并且参考索引refldxLXB的值不是-1,则时间合并候选的参考索引refIdxLX被指定为参考索引refIdxLXB。

(3)如果参考索引refldxLXA的值不是-1,则时间合并候选的参考索引refIdxLX被指定为参考索引refIdxLXA。

图11是图示在应用本发明的系统中的编码器的操作的示例的示意图。

参见图11,编码器在步骤S1110对于当前块执行预测。为了执行预测,编码器对于编译单元执行分区。编码器确定当前块、即预测目标的预测模式,并且在所确定的预测模式中执行预测。

当前块的预测模式可以是帧内预测模式或帧间预测模式。如果当前块的预测模式是帧间预测,则可以向当前块应用合并模式、(合并)跳跃模式或AMVP。

如果向当前块应用合并模式或(合并)跳跃模式,则可以使用相邻块来确定当前块的运动向量和参考索引。

如果向当前块应用跳跃模式,则可以通过考虑关于当前块的相邻块的运动信息来确定当前块的参考索引。

而且,如果选择特定的相邻块并且其被用作可以在合并模式或(合并)跳跃模式中与当前块合并的候选,则可以基于关于当前块的相邻块的运动信息来确定当前块的运动向量和参考索引。

编码器基于确定的运动信息来对于当前块执行预测。

编码器在步骤S1120处对于已经执行预测的信息执行熵编码。编码器也对于解码所需的信息与关于预测的信息一起执行熵编码。而且,熵编码信息包括关于在跳跃模式、合并模式等中的当前块的运动信息,如上所述。

编码器在步骤S1130向解码器用信号通知熵编码的信息。

图12是示意地图示在应用本发明的系统中的解码器的操作的示例的流程图。

参见图12,解码器在步骤S1210处接收编译信息。该信息已经经过通过编码器的熵编码,并且通过比特流被传送。

解码器在步骤S1220对于接收的信息执行熵解码。

解码器在步骤S1230处基于熵解码的信息对于当前块执行预测。解码器在当前块的预测模式中执行预测。

以上已经描述了如果当前块的预测模式是帧间预测模式并且向当前块应用跳跃模式,则导出关于当前块的运动信息的方法(例如,运动向量和参考索引)。

解码器在步骤S1240基于预测结果来重建视频。

在上面的示例性系统中,虽然已经以一系列步骤或块的形式描述了方法,但是本发明不限于步骤的序列,并且可以以与其他不同的顺序来执行或者可以与其他步骤同时地执行步骤中的一些。而且,上述实施例包括各种形式的示例。因此,本发明应当被解释为包括落在权利要求的范围内的所有其他替代品、修改和改变。

在与本发明相关的上面的说明中,当参考被描述为“连接到”另一个元件或与另一个元件“耦合”的一个元件时,该一个元件可以直接地连接到另一个元件或者可以与另一个元件耦合,但是应当明白,可以在该两个元件之间布置第三元件。相反,当说一个元件被描述为“直接连接到”另一个元件或与另一个元件“直接耦合”时,应当明白,未在该两个元件之间布置第三元件。

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