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

文档序号:9494007阅读:312来源:国知局
帧内块复制预测中的块翻动和跳跃模式的制作方法
【专利说明】帧内块复制预测中的块翻动和跳跃模式
[0001]背景
[0002]工程师使用压缩(也叫做源编码(source coding或source encoding))来降低数字视频的比特率。压缩通过将视频信息转换成较低比特率的形式来降低存储和传送该信息的成本。解压(也被称为解码)从压缩的形式中重构一种版本的原始信息。“编解码器”是编码器/解码器系统。
[0003]在过去的二十年中,已采用了各种视频编解码器标准,包括ITU-T H.261、H.262(MPEG-2 或 IS0/IEC 13818-2)、H.263 和 H.264(MPEG-4AVC 或 IS0/IEC 14496-10)标准、MPEG-1 (IS0/IEC I I 172-2)和 MPEG-4 可视(IS0/IEC 14496-2)标准以及 SMPTE421M(VC-1)标准。最近,H.265/HEVC 标准(ITU-T H.265 或 IS0/IEC 23008-2)已被批准。当前,正在开发(例如,针对可缩放视频编码/解码、针对在样本比特深度或色度采样率方面具有较高保真度的视频的编码/解码、或针对多视图编码/解码的)HEVC标准的扩展。视频编解码器标准通常定义针对经编码的视频比特流的句法的选项,从而详述当在编码和解码时使用特定特征时该比特流中的参数。在许多情况下,视频编解码器标准还提供关于解码器应当执行以在解码时取得一致的结果的解码操作的细节。除了编解码器标准外,各种专用编解码器格式定义针对经编码的视频比特流的句法的其他选项以及相应的解码操作。
[0004]帧内块复制(“BC”)是H.265/HEVC扩展的处于开发中的预测模式。对于帧内BC预测模式,图片中的当前块的样本值是使用同一图片中的先前重构的样本值来预测的。块矢量(“BV”)指示从当前块到图片中包括用于预测的先前重构的样本值的区域的位移。BV被信号化在比特流中。帧内BC预测是一种形式的图片内预测一针对图片中的块的帧内BC预测不使用除了同一图片中的样本值以外的任何样本值。
[0005]如当前在H.265/HEVC标准中规定并在针对H.265/HEVC标准的某一参考软件中实现的,帧内BC预测模式具有若干问题。具体地,对具有可预测的BC位移的块的编码不会被高效地处理,并且针对具有相反模式的内容的帧内BC预测不会被高效地处理。
[0006]概述
[0007]总而言之,详细描述呈现了使用帧内块复制(“BC”)预测来编码或解码块的领域中的创新。例如,这些创新中的一些涉及使帧内BC预测的块相对于参考区域翻动的块翻动,该参考区域可由块矢量(“BV”)值来指示。其他创新涉及跳跃模式的信号化,其中当前的帧内BC预测的块使用经信号化的BV差但缺少残留数据。在许多情况下,这些创新改善了针对帧内BC预测的块的编码效率。
[0008]根据本文中描述的创新的第一方面,图像或视频编码器基于图片中的参考区域为该图片中的当前块(例如,编码单元、预测单元)确定帧内BC预测区域。帧内BC预测区域被相对于参考区域翻动。例如,帧内BC预测区域被相对于参考区域水平地翻动、相对于参考区域垂直地翻动、或相对于参考区域既水平地又垂直地翻动。
[0009]编码器使用帧内BC预测区域来编码当前块,并在比特流中输出经编码的数据。经编码的数据包括帧内BC预测区域是否相对于参考区域被翻动的指示。例如,该指示是比特流中的一个或多个句法元素,其可被信号化成针对当前块或包括当前块的较大块。(诸)句法元素可以是(诸)标志,每一标志指示对翻动方向的判定。(诸)句法元素可联合地与另一句法元素来编码或者被分开地信号化在比特流中。
[0010]相应的解码器接收比特流中经编码的数据。经编码的数据包括针对图片中的当前块(例如,编码单元、预测单元)的帧内BC预测区域是否相对于图片中的参考区域被翻动的指示。例如,该指示是比特流中的一个或多个句法元素,其可以被信号化成针对当前块或包括当前块的较大块。(诸)句法元素可以是(诸)标志,每一标志指示对翻动方向的判定。(诸)句法元素可联合地与另一句法元素来编码或者被分开地信号化。
[0011]解码器基于图片中的参考区域来确定针对当前块的帧内BC预测区域。帧内BC预测区域相对于参考区域被(例如,水平地和/或垂直地)翻动。解码器使用帧内BC预测区域来解码当前块。
[0012]当编码器或解码器确定帧内BC预测区域相对于其参考区域被翻动时,编码器或解码器可(a)确定参考区域,(b)翻动参考区域,并且随后(C)将在经翻动的参考区域的各位置处的样本值分配给在帧内BC预测区域的各位置处的样本值。或者编码器或解码器可(a)确定参考区域,(b)将在参考区域的各位置处的样本值分配给在帧内BC预测区域的各位置处的样本值,并且随后(C)翻动帧内BC预测区域。或者,编码器或解码器可(a)确定参考区域,并且随后(b)将在参考区域的各位置处的样本值分配给在帧内BC预测区域的相应位置处的样本值,其中这些相应位置考虑了翻动。
[0013]在一些示例实现中,经编码的数据包括针对当前块的BV值。BV值指示到图片中的参考区域的位移。在编码期间,BV值可以是预测的BV值,或者BV值可在BV估计中被标识出,并且用相对于预测的BV值的BV差来信号化。在解码期间,BV值可以是预测的BV值,或者BV值可通过将BV差添加到预测的BV值中来重构。
[0014]根据本文中描述的创新的另一方面,图像或视频编码器确定针对图片中的当前块(例如,编码单元、预测单元)的BV值。该BV值指示到图片中的参考区域的位移。编码器使用针对当前块的BV值和BV预测值(预测的BV值)来确定针对当前块的BV差。比特流可包括索引值,该索引值指示从多个BV预测值候选的集合中对要用作BV预测值的BV预测值候选的选择。或者,可按某一其他方式来选择BV预测值。编码器使用帧内BC预测用该BV值来编码当前块。编码器在比特流中输出经编码的数据,该经编码的数据包括指示当前块是使用帧内BC预测以跳跃模式来编码的标志。由于当前块是使用帧内BC预测以跳跃模式来编码的,因此该比特流包括针对当前块的BV差但缺少针对当前块的残留数据。
[0015]在一些示例实现中,如果给定块(例如,当前块、后续块)不是使用帧内BC预测以跳跃模式来编码的,则另一标志可指示该给定块是否是使用帧内BC预测以非跳跃模式来编码的。如果不是使用帧内BC预测以非跳跃模式来编码的,则给定块可以用另一模式(诸如,帧内空间预测模式或图片间模式)来编码,如用一个或多个其他句法元素来指示的。
[0016]在一些示例实现中,用跳跃模式帧内BC预测出的给定块(例如,当前块、后续块)具有针对分割模式的定义的值。这会影响对针对分割模式的句法元素的信号化。如果给定块是使用帧内BC预测以非跳跃模式来编码的,则比特流包括指示针对给定块的分割模式的句法元素。然而,如果给定块是使用帧内BC预测以跳跃模式来编码的,则比特流缺少指示针对给定块的分割模式的句法元素,并且针对给定块的分割模式具有定义的值。
[0017]在一些示例实现中,用跳跃模式帧内BC预测出的给定块(例如,当前块、后续块)缺少指示给定块的残留数据的存在或缺失的标志。给定块的残留数据被假设为在比特流中是缺失的。同样,如果给定块是使用帧内BC预测以非跳跃模式来编码的,并且针对给定块的分割模式具有定义的值,则比特流缺少指示给定块的残留数据的存在或缺失的标志。在这种情况下,给定块的残留数据被假设为在比特流中是存在的。
[0018]否则,如果给定块是使用帧内BC预测以非跳跃模式来编码的,并且针对给定块的分割模式不具有定义的值,则比特流包括指示给定块的残留数据的存在或缺失的标志。
[0019]相应的解码器从比特流接收经编码的数据,该经编码的数据包括指示图片中的当前块(例如,编码单元、预测单元)是使用帧内BC预测以跳跃模式来编码的标志。由于当前块是使用帧内BC预测以跳跃模式来编码的,因此比特流包括针对当前块的BV差但缺少针对当前块的残留数据。解码器使用针对当前块的BV差和BV预测值(预测的BV值)来确定当前块的BV值。比特流可包括索引值,该索引值指示从多个BV预测值候选的集合中对要用作BV预测值的BV预测值候选的选择。或者,可按某一其他方式来选择BV预测值。BV值指示到图片中的参考区域的位移。解码器使用帧内BC预测用该BV值来解码当前块。
[0020]在当前块是使用帧内BC预测以跳跃模式来编码的时候,针对当前块的帧内BC预测区域可相对于其参考区域被翻动。以上汇总了翻动操作、翻动方向和关于翻动是否被使用的信号化的示例。
[0021]针对帧内BC预测的创新可以被实现为方法的一部分、被适配成执行该方法的计算系统的一部分或存储用于使计算系统执行该方法的计算机可执行指令的有形计算机可读介质的一部分。各创新可以结合地或分开地使用。具体地,帧内BC预测中的块翻动可结合针对帧内BC预测的块的跳跃模式来使用。
[0022]参考附图阅读以下详细描述,将更清楚本发明的前述和其他目标、特征和优点。
[0023]附图简述
[0024]图1是其中可实现所描述的一些实施例的示例计算系统的示图。
[0025]图2a和2b是其中可实现所描述的一些实施例的示例网络环境的示图。
[0026]图3是结合其可实现所描述的一些实施例的示例编码器系统的示图。
[0027]图4是结合其可实现所描述的一些实施例的示例解码器系统的示图。
[0028]图5a和5b是示出结合其可实现所描述的一些实施例的示例视频编码器的示图。
[0029]图6是示出结合其可实现所描述的一些实施例的示例视频解码器的示图。
[0030]图7a和7b是分别示出针对图片中的块的帧内BC预测和针对该块的BV预测的示图。
[0031]图8a-8d、9a_9c和1a-1Oc是示出针对各块的参考区域的翻动的示图。
[0032]图11和12是分别示出用于编码和解码的技术的流程图,其中帧内BC预测区域相对于参考区域被翻动。
[0033]图13和14是示出用于包括针对帧内BC预测的块的跳跃模式的编码的技术的流程图。
[0034]图15和16是示出用于包括针对帧内BC预测的块的跳跃模式的解码的技术的流程图。
[0035]图17a和17b是示出编码单元的根据现有方法的句法结构的表格。
[0036]图18是示出编码单元的可用跳跃模式编码成帧内BC预测的块的新句法结构的表。
[0037]详细描述
[0038]详细描述呈现了使用帧内块复制(“BC”)预测来编码或解码块的领域中的创新。例如,这些创新中的一些涉及使帧内BC预测的块相对于参考区域翻动的块翻动,该参考区域可由块矢量(“BV”)值来指示。其他创新涉及跳跃模式的信号化,其中当前的帧内BC预测的块使用经信号化的BV差但缺少残留数据。在许多情况下,这些创新改善了针对帧内BC预测的块的编码效率。
[0039]虽然本文中描述的操作是被适当描述为由视频编码器或视频解码器来执行,但在许多情况中,这些操作可由另一类型的媒体处理工具(例如图像编码器或图像解码器)来执行。
[0040]本文中描述的一些创新是参考专用于H.265/HEVC标准的句法元素和操作来示出的。例如,对H.265/HEVC标志的草稿版本JCTVC-P1005—即2014年2月的“高效视频编码(HEVC)范围扩展文本规范??第6稿”JCTVC-P1005_vl作出参考。本文中描述的各创新还可以被实现为针对其它标准或格式。
[0041]本文中描述的一些创新(例如,块翻动)是参考帧内BC预测来描述的。这些创新也可适用于其他上下文(例如,运动补偿中针对参考区域的块翻动)。
[0042]更一般地,本文中描述的各示例的各种替代是可能的。例如,本文中描述的一些方法可以通过改变描述的方法动作的顺序、通过拆分、重复或忽略某些方法动作等来更改。所公开的技术的各方面能够被组合地或分开地使用。不同的实施例使用所描述的创新中的一个或多个。本文中描述的一些创新解决了背景中指出的一个或多个问题。
[0043]通常,所给出的技术/工具并不解决所有这些问题。
[0044]1.示例计算系统
[0045]图1示出了其中可实现几个所描述的创新的合适计算系统(100)的概括示例。计算系统(100)并不旨对使用范围或功能提出任何限制,因为这些创新可以在不同的通用或专用计算系统中实现。
[0046]参考图1,计算系统(100)包括一个或多个处理单元(110、115)和存储器(120、125) ο处理单元(110、115)执行计算机可执行指令。处理单元可以是通用中央处理单元(“CPU”)、专用集成电路(“ASIC”)中的处理器或任何其它类型的处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力。例如,图1示出中央处理单元
(110)以及图形处理单元或协处理单元(115)。有形存储器(120、125)可以是(诸)处理单元可访问的易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如,R0M、EEPR0M、闪存等)或这两者的某一组合。
[0047]存储器(120,125)存储实现帧内BC预测中的块翻动和/或跳跃模式的一个或多个创新的软件(180),该软件处于适用于由(诸)处理单元执行的计算机可执行指令的形式。
[0048]计算系统可具有附加的特征。例如,计算系统(100)包括存储(140)、一个或多个输入设备(150)、一个或多个输出设备(160)以及一个或多个通信连接(170)。诸如总线、控制器或网络之类的互连机制(未示出)将计算系统(100)的各组件互连。通常,操作系统软件(未示出)为在计算系统(100)中执行的其它软件提供操作环境,并协调计算系统(100)的各组件的活动。
[0049]有形存储(140)可以是可移动或不可移动的,并包括磁盘、磁带或磁带盒、CD-R0M、DVD或可用于储存信息并可在计算系统(100)内访问的任何其他介质。存储(140)存储针对实现帧内BC预测中的块翻动和/或跳跃模式的一个或多个创新的软件(180)的指令。
[0050](诸)输入设备(150)可以是触摸输入设备(诸如键盘、鼠标、笔或跟踪球)、语音输入设备、扫描设备或向计算系统(100)提供输入的另一设备。对于视频,(诸)输入设备
(150)可以是相机、视频卡、TV调谐卡、屏幕捕捉模块或接受模拟或数字形式的视频输入的类似设备、或将视频输入读到计算系统(100)中的CD-ROM或CD-RW。(诸)输出设备(160)可以是显示器、打印机、扬声器、CD刻录机或提供来自计算系统(100)的输出的另一设备。
[0051](诸)通信连接(170)允许通过通信介质与另一计算实体通信。通信介质传达诸如计算机可执行指令、音频或视频输入或输出、或已调制数据信号中的其他数据之类的信息。已调制数据信号是使其一个或多个特征以在信号中编码信息的方式设置或改变的信号。作为示例而非限制,通信介质可以使用电的、光学的、RF或其它载体。
[0052]各创新可以在计算机可读介质的一般上下文中描述。计算机可读介质是可在计算环境内访问的任何可用有形介质。作为示例而非局限,对于计算系统(100),计算机可读介质包括存储器(120、125)、存储(140)、和以上任意的组合。
[0053]各创新可在计算机可执行指令(诸如包括在程序模块中的在目标现实或虚拟处理器上在计算系统中执行的那些计算机可执行指令)的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。如各实施例中所描述的,这些程序模块的功能可以被组合,或者在这些程序模块之间拆分。针对各程序模块的计算机可执行指令可以在本地或分布式计算系统中执行。
[0054]术语“系统”和“设备”在本文中被互换地使用。除非上下文明确指示,否则,术语并不暗示对计算系统或计算设备的类型的任何限制。一般来说,计算系统或计算设备可以是本地的或分布式的,并且可以包括具有实现本文中描述的功能的软件的专用硬件和/或通用硬件的任意组合。
[0055]所公开的方法还可使用被配置成执行所公开的方法中的任一者的专用计算硬件来实现。例如,所公开的方法可以由被专门设计或配置成实现所公开的方法中的任一者的集成电路(例如,诸如ASIC数字信号处理器(“DSP”)之类的ASIC、图像处理单元(“GPU”)、或诸如场可编程门阵列(“FPGA”)之类的可
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1