帧内块复制预测中的块翻动和跳跃模式的制作方法_5

文档序号:9494007阅读:来源:国知局
片中的参考区域(1080)的位移。参考区域(1080)包括文本字符F的一部分,如图1Ob中详述的。在没有翻动的情况下,参考区域(1080)是当前块(1060)的差预测值。然而,如果参考区域(1080)被垂直地翻动,则经翻动的参考区域(1081)精确地匹配当前块(1060)。
[0154]2.示例翻动操作
[0155]当在帧内BC预测中使用块翻动时,块的帧内BC预测区域相对于该块的参考区域被翻动。块翻动操作可取决于实现而用各种方式来实现。
[0156]根据执行块翻动操作的一种方法,在确定当前块的帧内BC预测区域时,编码器或解码器(a)确定参考区域,(b)翻动参考区域,以及随后(C)将在经翻动的参考区域的相应位置处的样本值分配给在帧内BC预测区域的相应位置处的样本值。例如,对于16x16块,编码器或解码器确定该块的BV值所指示的16x16参考区域,随后水平地和/或垂直地翻动该16x16参考区域。这涉及创建该16x16参考区域的已经被翻动的副本。随后,在经翻动的参考区域的各位置处的样本值被分配给在帧内BC预测区域的相同位置处的样本值(例如,在经翻动的参考区域的位置(0,0)处的样本值被分配给在帧内BC预测区域的位置(0,0)处的样本值,在经翻动的参考区域的位置(0,I)处的样本值被分配给在帧内BC预测区域的位置(0,I)处的样本值,并以此类推)。
[0157]根据执行块翻动操作的另一方法,在确定当前块的帧内BC预测区域时,编码器或解码器(a)确定参考区域,(b)将在参考区域的相应位置处的样本值分配给在帧内BC预测区域的相应位置处的样本值,以及随后(C)翻动帧内BC预测区域。例如,对于16x16块,编码器或解码器确定该块的BV值所指示的16x16参考区域。在参考区域的各位置处的样本值被分配给在帧内BC预测区域的相同位置处的样本值(例如,在参考区域的位置(0,0)处的样本值被分配给在帧内BC预测区域的位置(0,0)处的样本值,在参考区域的位置(0,I)处的样本值被分配给在帧内BC预测区域的位置(0,I)处的样本值,并以此类推)。随后,编码器或解码器水平地和/或垂直地翻动该16x16帧内BC预测。这涉及创建该16x16帧内BC预测的已经被翻动的副本。
[0158]根据执行块翻动操作的第三方法,编码器和解码器避免创建参考区域或帧内BC预测区域的中间副本。在确定当前块的帧内BC预测区域时,编码器或解码器(a)确定参考区域,以及随后(b)将在参考区域的相应位置处的样本值分配给在帧内BC预测区域的对应位置处的样本值,其中这些对应位置考虑了块翻动。当水平翻动被使用时,参考区域的第一列提供帧内BC预测区域的最后一列,参考区域的第二列提供帧内BC预测区域的倒数第二列,并以此类推。当垂直翻动被使用时,参考区域的第一行提供帧内BC预测区域的最后一行,参考区域的第二行提供帧内BC预测区域的倒数第二行,并以此类推。当水平和垂直翻动被一起使用时,在向帧内BC预测区域的各位置分配样本时,可按相反的次序水平和垂直地遍历参考区域的各位置。例如,对于16x16块,编码器或解码器确定该块的BV值所指示的16x16参考区域。在参考区域的各位置处的样本值按相反的次序被水平地和/或垂直地分配给在帧内BC预测区域的相应位置处的样本值(例如,在参考区域的位置(O,O)处的样本值被分配给在帧内BC预测区域的位置(15,15)处的样本值,在参考区域的位置(O,I)处的样本值被分配给在帧内BC预测区域的位置(15,14)处的样本值,并以此类推)。
[0159]3.对块翻动的示例信号化
[0160]当启用针对帧内BC预测的块翻动时,使用或不使用块翻动的判定可取决于实现按各种方式来信号化。
[0161]可启用针对序列、图片或其他视频单元的块翻动。(例如SPS中的)序列层句法元素、(例如,PPS中的)图片层句法元素或(例如,片段头部中的)片头部层句法元素可指示块翻动被启用还是被禁用。或者,可启用针对一些编码和解码简档或层的块翻动。启用块翻动的判定可在逐方向的基础上作出(例如,仅水平块翻动、仅垂直块翻动、或水平和垂直块翻动两者)。如果块翻动被启用,则附加句法元素信号化何时以及如何使用块翻动。
[0162]当仅垂直翻动被启用时,一标志值可指示垂直翻动在帧内BC预测期间是否被使用。当仅水平翻动被启用时,一标志值可指示水平翻动在帧内BC预测期间是否被使用。当垂直翻动和水平翻动两者都被启用时,两个标志值可为水平和垂直翻动指示翻动在帧内BC预测期间是否被使用,其中每一标志指示针对翻动方向的判定。或者,可使用具有多个值的单个句法元素(例如,具有指示仅垂直翻动、仅水平翻动、水平和垂直翻动两者或不翻动的可能值)。
[0163]指示块翻动是否针对当前块被使用的句法元素(例如,标志值)可与当前块的其他句法元素一起被信号化在比特流中。例如,关于针对PU的块翻动的(诸)句法元素被信号化成针对该PU。或者,指示块翻动是否针对当前块被使用的句法元素可被信号化在针对包括当前块的较大块的比特流中。例如,关于针对一个或多个PU的块翻动的(诸)句法元素被信号化成针对包括(诸)PU的CU。替换地,指示块翻动是否针对当前块被使用的句法元素被信号化在比特率中的某一其他层级处。
[0164]指示块翻动是否针对当前块被使用的句法元素可被熵编码。例如,当前块的标志值是使用上下文自适应二进制算法编码来编码,并使用上下文自适应二进制算法解码来解码的。替换地,可使用不同形式的熵编码,或者可将句法元素信号化成固定长度的值。
[0165]指示块翻动是否针对当前块被使用的(诸)句法元素可被分开且有条件地信号化在比特流中。例如,指示块翻动被使用还是不被使用的标志值在当前块被帧内BC预测的情况下被信号化,但在当前块没有被帧内BC预测的情况下不被信号化。或者,指示块翻动是否针对当前块被使用的(诸)句法元素可与比特流中的另一句法元素一起被联合地编码。例如,指示块翻动被使用还是不被使用的标志值可与指示当前块是否被帧内BC预测的标志值一起被联合地编码。
[0166]4.帧内BC预测中利用块翻动的示例编码
[0167]图11示出针对编码期间的帧内BC预测中的块翻动的示例技术(I 100)。图像编码器或视频编码器(诸如参考图3或图5a-5b描述的编码器)可执行技术(1100)。
[0168]编码器基于图片中的参考区域来确定(1110)针对该图片中的当前块的帧内BC预测区域。当前块可以是PU、CU或其他块。在BV估计中标识出的当前块的BV值可指示到该图片中的参考区域的位移。帧内BC预测区域相对于参考区域被翻动。例如,帧内BC预测区域相对于参考区域被水平地和/或垂直地翻动。以上描述了执行块翻动操作的方法的示例(参见章节VI1.B.2)。
[0169]编码器使用帧内BC预测区域来对当前块进行编码(1120)并在比特流中输出(1130)经编码的数据。经编码的数据包括帧内BC预测区域是否相对于参考区域被翻动的指示。例如,该指示是比特流中的一个或多个句法元素。以上描述了对块翻动是否被使用进行信号化的方法的示例(参见章节VI1.B.3)。
[0170]编码器可类似地可利用或不利用块翻动在逐块的基础上为片、小块或图片编码其他帧内BC预测块。
[0171]5.帧内BC预测中利用块翻动的示例解码。
[0172]图12示出针对解码期间的帧内BC预测中的块翻动的示例技术(1200)。图像解码器或视频解码器(诸如参考图4或图6描述的解码器)可执行技术(1200)。
[0173]解码器接收(1210)比特流中的经编码数据。经编码数据包括图片中的当前块的帧内BC预测区域是否相对于图片中的参考区域被翻动的指示。当前块可以是PU、CU或其他块。例如,该指示是比特流中的一个或多个句法元素。以上描述了对块翻动是否被使用进行信号化的方法的示例(参见章节VI1.B.3)。
[0174]解码器基于图片中的参考区域来确定(1220)针对该图片中的当前块的帧内BC预测区域。当前块的BV值可指示到参考区域的位移。帧内BC预测区域相对于参考区域被翻动。例如,帧内BC预测区域相对于参考区域被水平地和/或垂直地翻动。以上被描述了执行块翻动操作的方法的示例(参见章节VI1.B.2)。解码器使用帧内BC预测区域来解码(1230)当前块。
[0175]类似地,解码器可利用或不利用块翻动在逐块的基础上为片、小块或图片解码其他帧内BC预测块。
[0176]C.帧内BC预测的跳跃模式
[0177]在帧内BC预测的一些先前方法中,当前CU的标志指示CU是否是以帧内BC预测模式来编码的。如果为是,则当前CU的第二标志指示该CU是否具有残留数据。该信号化缺少残留数据的帧内BC预测的块的方式在许多屏幕内容编码/解码场景中都是低效的。
[0178]根据本文中描述的创新的另一方面,编码器和解码器使用标志来信号化缺少残留数据的帧内BC预测的块。在跳跃模式中,帧内BC预测的块使用BV值,其中BV差被信号化在比特流中,并且在该比特流中不具有残留数据。具体地,对于屏幕捕捉内容,不具有残留数据的帧内BC预测的块是常见的。将单个标志(与多个标志相反)用于信号化不具有残留数据的帧内BC预测的块在这样的场景中是低效的。
[0179]1.帧内BC预测跳跃模式的示例信号化
[0180]在示例实现中,比特流中的单个标志指示当前块是否是用跳跃模式帧内BC预测的块。如果当前块不是用跳跃模式帧内BC预测的块,则比特流中的第二标志指示当前块是否是(不是用跳跃模式)帧内BC预测的块。如果当前块不是帧内BC预测的块,则比特流中的一个或多个其他句法元素指示当前块的模式(例如,是否为时间跳跃模式的标志、是否为帧内空间预测模式的标志、是否为图片间模式的标志、为帧内空间预测模式还是图片间模式的标志)。如果当前块是用跳跃模式帧内BC预测的块,则第二标志和其他句法元素不存在于当前块的比特流中。
[0181]指示当前块是否是跳跃模式中的帧内BC预测的块的标志被信号化在块级别处。当前块可以是尺寸为2Nx2N的⑶。例如,对于16x16⑶,N为8。替换地,当前块可以是HJ或其他类型的块。指示当前块的模式的其他标志和句法元素也可被信号化在比特流中的块级别处。
[0182]在一些示例实现中,用跳跃模式帧内BC预测的块缺少残留数据,但在比特流中包括BV差。替换地,跳跃模式中的帧内BC预测的块可使用预测的BV值(并且因此在比特流中缺少BV差)。
[0183]2.利用帧内BC预测跳跃模式的示例编码
[0184]图13示出用于用跳跃模式来编码帧内BC预测的块的示例技术(1300)。图像编码器或视频编码器(诸如参考图3或图5a-5b描述的编码器)可执行技术(1300)。
[0185]编码器确定(1310)图片中的当前块(例如,CU、PU)的BV值,例如使用BV估计来确定当前块的BV值。当前块的BV值指示到图片中的参考区域的位移。
[0186]编码器随后使用当前块的BV值和当前块的BV预测值来确定(1320)当前块的BV差。BV预测值可依据规则来选择,或者编码器可从多个BV预测值候选之中选择该BV预测值。
[0187]编码器使用帧内BC预测用BV值来编码(1330)当前块。在示例实现中,帧内BC预测可包括使用参考区域来确定当前块的帧内BC预测区域,其中该帧内BC预测区域相对于参考区域被翻动。帧内BC预测区域可相对于参考区域被水平地和/或垂直地翻动。上面描述了用于执行块翻动操作和对块翻动的使用进行信号化的选项。替换地,编码器在帧内BC预测中不使用块翻动。
[0188]编码器在比特流中输出(1340)经编码的数据。经编码的数据包括指示当前块是使用帧内BC预测以跳跃模式来编码的标志。由于当前块是用跳跃模式帧内BC预测的块,比特流包括当前块的BV差,但缺少当前块的残留数据。当编码器已从多个BV预测值候选中选择了 BV预测值时,该比特流包括指示将所选的BV预测值候选用作当前块的BV预测值的索引值。
[0189]图14示出了用于使用帧内BC预测以跳跃模式和/或其他模式来编码图片中的块的示例技术(1400)。图像编码器或视频编码器(诸如参考图3或图5a-5b描述的编码器)可执行技术(1400)。
[0190]开始,编码器得到(1410)下一块,并确定(1420)是否使用帧内BC预测以跳跃模式来编码该块。例如,编码器评估帧内BC预测是否为块提供足够的编码效率,并评估残留数据是否包括任何有效值。替换地,编码器考虑其他标准。
[0191]编码器可信号化比特流中指示当前块是否是使用帧内BC预测以跳跃模式来编码的标志。对于用跳跃模式帧内BC预测的块,编码器使用在图13的阶段(1310)到(1330)中示出的操作或使用另一方法来用帧内BC预测以跳跃模式编码(1430)该块。作为用跳跃模式帧内BC预测的块,该块在比特流中具有BV差,但在比特流中缺少残留数据。
[0192]在其他情况下(块不是用跳跃模式帧内BC预测的块),编码器用另一模式编码(1440)块。该另一模式可以是帧内BC预测非跳跃模式、帧内空间预测模式、图片间模式或其他模式。在这种情况下,一个或多个其他句法元素可指示块的模式。例如,在指示块是否是使用帧内BC预测以跳跃模式编码的第一标志(取决于在阶段1420的判定)之后,当块不是使用帧内BC预测以跳跃模式来编码的时候,第二标志指示该块是否是使用帧内BC预测以非跳跃模式来编码的。如果该块不是使用帧内BC预测以非跳跃模式来编码的,则一个或多个其他句法元素指示该块的编码模式。例如,一标志指示块的预测模式是帧内空间预测还是图片间预测。
[0193]在一些示例实现中,使用指示块是否是用跳跃模式帧内BC预测的标志存在附加的优点。在一些情况下,可避免对指示帧内BC预测的块的分割模式(2Nx2N、2NxN、Nx2N或NxN)的句法元素进行信号化。例如,如果块不是使用帧内BC预测以非跳跃模式来编码的,则编码器在比特流中信号化指示块的分割模式的句法元素。另一方面,如果块是使用帧内BC预测以跳跃模式来编码的,则编码器忽略在比特流中对指示块的分割模式的句法元素进行信号化,并且块的分割模式被改为假设具有定义的值(例如,2Nx2N)。由此,在这些情况下,将块标记为用跳跃模式帧内BC预测的早期标志也对块的分割模式具有定义的值进行信号化。
[0194]同样,在许多情况下,对指示块的残留数据的存在或缺失的标志的信号化可被避免。当然,如果块是使用帧内BC预测以跳跃模式来编码的,则编码器忽略在比特流中对指示块的残留数据的存在或缺失的标志进行信号化。(将块标记为是用跳跃模式帧内BC预测的早期标志已经信号化了这样的信息)。块的残留数据被假设为不存在于比特流中。
[0195]在另一情况下,也可避免对指示残留数据的存在或缺失的标志的信号化。具体地,如果块是使用帧内BC预测以非跳跃模式编码的,并且块的分割模式具有定义的值(例如,2Nx2N),则编码器忽略在比特流中对指示块的残留数据的存在或缺失的标志进行信号化。在这种情况下,块的残留数据被假设为存在于比特流中。(如果块的分割模式是定义的值,并且块缺少残留数据,则块将是用跳跃模式帧内BC预测的块,这已由早期标志指示出。)最后,如果块是使用帧内BC预测以非跳跃模式来编码的,并且块的分割模式不具有定义的值,则编码器在比特流中对指示块的残留数据的存在或缺失的标志进行信号化。
[0196]编码器确定(1450)是否继续图片中的下一块。如果如此,则编码器得到(1410)下一块并继续编码。
[0197]编码器可在逐图片的基础上、逐小块的基础上、逐片的基础上或某一其他基础上重复技术(1400)。
[0198]3.利用帧内BC预测跳跃模式的示例编码
[0199]图15示出用于解码用跳跃模式帧内BC预测的块的示例技术(1500)。图像解码器或视频解码器(诸如参考图4或图6描述的解码器)可执行技术(1500)。
[0200]解码器接收(1510)比特流中的经编码数据。经编码的数据包括指示图片中的当前块(例如,CU、PU)是使用帧内BC预测以跳跃模式来编码的标志。由于当前块是用跳跃模式帧内BC预测的块,因此比特流包括当前块的BV差,但缺少当前块的残留数据。
[0201]解码器使用当前块的BV差和当前块的BV预测值来确定(1520)当前块的BV值。当前块的BV值指示到该图片中的参考区域的位移。BV预测值可依据规则来选择。或者,使用比特流中用于选择将哪个BV预测值候选用作当前块的BV预测值的索引值,解码器可从多个BV预测值候选中选择BV预测值。
[0202]解码器使用帧内B
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1