用于兴趣区编码的运动约束图块集合的制作方法

文档序号:9673288阅读:323来源:国知局
用于兴趣区编码的运动约束图块集合的制作方法
【专利说明】
【背景技术】
[0001]工程师使用压缩处理(也被称为源编码或信源编码)来减小数字视频比特率。该压缩处理通过将信息转换成低比特率的形式来降低存储和传送视频信息的成本。解压缩处理(也被称为解码)则是从压缩形式中重建初始信息版本。一个“编解码器”即为一个编码器/解码器系统。
[0002]在过去的二十年中,采用了不同的视频编解码标准,包括ITU-T H.261、H.262(MPEG-2 或 IS0/IEC 13818-2)、H.263 和 H.264 (AVC 或 IS0/IEC 14496-10)标准,MPEG-1(IS0/IEC 11172-2 和 MPEG-4 Visual (IS0/IEC 14496-2)标准,以及 SMPTE 421M 标准。最近,HEVC标准(ITU-T H.265或IS0/IEC 23008-2)业已获得批准。视频编解码标准通常定义编码视频比特流语法的选项,由此详尽说明在将特定特征用于编码和解码处理时的比特流参数。在很多情况下,视频编解码标准还提供了与解码器应执行、以便在解码过程中得到一致结果的解码操作相关的细节。除了编解码标准之外,各种专用的编解码格式还定义了与编码视频比特流的语法有关的其他选项以及相应的解码操作。
[0003]在2013年1月发布的HEVC标准的版本中(参见Bross等人于2013年1月发表于JCTVC_L1003_v34 的“High Efficiency Video Coding (HEVC) Text Specificat1n Draft8”)中,画面可被分成多个图块(tile),并且这些图块是矩形区域。当语法元素tiles_enabled_flag等于1时,画面是用图块构造的。该图块限定了画面内部的水平和垂直边界,并且在画面内部依照图块列和图块行组织。在使用图块时,HEVC比特流语法和HEVC解码处理被构造成消除同一画面内部的图块边界上的画面内(intra-picture)预测依赖性,以及消除同一画面内部的图块边界上的熵解码依赖性。然而,对于图块边界来说,依照2013年1月发布的HEVC标准版本,其画面间(inter-picture)预测依赖性并未受到约束。

【发明内容】

[0004]总的来说,这里的详细描述给出的是在用信号传递(signaling)和使用运动约束图块集合(“MCTS”)的控制数据方面的创新。例如,此类创新支持用信号传递以及使用该控制数据,由此指示一个或多个指定图块集合内部的画面间预测处理被约束成只涉及其他画面中的每一个相应图块集合内部的区域。这样做可以促成兴趣区编码、解码以及显示、转码以将编码数据局限于选定的图块集合,丢失鲁棒性(loss robustness),以及将编码和/或解码并行化。
[0005]根据这里描述的创新的一个方面,一种视频编码器或其他工具编码多个画面来产生编码数据,其中每个画面被分成多个图块。例如,该工具确定是否约束图块集合的特定边界上的画面间预测依赖性,如果是的话,则在编码过程中约束运动估计,由此回避该图块集合的特定边界上的画面间预测依赖性。在一些实施方式中,该特定边界是从一个画面到另一个画面的相同图块集合的边界,但在其他实施方式中,该特定边界可以是另一图块集合或是用于画面间预测的一个或多个别的区域的边界。该工具输出编码数据和控制数据,其中该控制数据表明多个图块中的一个或多个图块的指定图块集合的特定边界上的画面间预测依赖性受到约束。约束多个图块集合的画面间预测依赖性,可以促使在编码过程中使用并行处理,还能帮助提供兴趣区解码功能或渐进式解码器刷新功能。
[0006]根据这里描述的创新的另一个方面,一种视频解码器或其他工具接收多个画面的编码数据,其中所述多个画面中的每个画面被分成多个图块。该工具还接收控制数据,并且该控制数据表明多个图块中的一个或多个图块的指定图块集合的特定边界上的画面间预测依赖性受到约束。然后,该工具对编码数据进行处理,例如解码画面内部作为兴趣区的指定图块集合,但不解码指定图块集合以外的画面部分。或者,作为编码数据处理的一部分,该工具对编码数据进行转码,由此移除指定图块集合以外的画面部分的编码数据,以及将指定图块集合的编码数据组织成新比特流。或者,作为编码数据处理的一部分,一旦检测到损失了指定图块集合之外的至少一些编码数据,那么作为损失恢复处理的一部分,解码器解码该指定图块集合。此外,约束多个图块集合的画面间预测依赖性,还可以促成在解码过程中使用并行处理。
[0007]在例示的实施方式中,指定图块集合在控制数据中被参数化成包含该图块集合中的一个或多个图块的一个或多个图块矩形。例如,对图块集合中的指定图块矩形来说,控制数据包含了用于标识该图块矩形的两个拐角(例如图块矩形的左上角和图块矩形的右下角)的语法元素。该控制数据还可以包括图块集合的标识符,用于指示图块集合中的图块矩形个数的计数参数,以及用于表明图块集合中的每个图块矩形的图块矩形位置的语法元素。
[0008]在例示实施方式中,多个画面以相同的方式划分,以便产生每一个画面内部的图块。通常,对于每一个画面而言,指定图块集合都是相同的。然而在一些情况中,至少在一些画面之间,该图块集合有可能存在差异。作为替换,不同画面可以用不同方式划分成图块。
[0009]在例示的实施方式中,控制数据是一个用于指示图块集合的图块集合边界上的画面间预测依赖性受到约束的辅助增强信息(“SEI”)消息。一个SEI消息针对的是单个图块集合的画面间预测依赖性,并且不同的SEI消息可以针对不同图块集合。作为替换,单个SEI消息针对的是多个图块集合中的每一个图块集合的画面间预测依赖性。或者,作为SEI消息的替换,控制数据可以是一个标记,所述标记的值表明是否对图块集合的图块集合边界上的画面间预测依赖性进行约束。或者,该控制数据还可以采用其他某种形式。
[0010]这种用信号传递和使用MCTS控制数据既可以作为方法的一部分来实施,也可以作为被适配成执行所述方法的计算设备的一部分来实施,还可以作为存储了导致计算设备执行所述方法的计算机可执行指令的有形计算机可读媒体的一部分来实施。
[0011]从后续参考附图进行的详细描述中将更清楚地了解本发明的前述和其他目标、特征及优点。
【附图说明】
[0012]图1是可以实施所描述的一些实施例的例示计算系统的图示。
[0013]图2a和2b是可以实施所描述的一些实施例的例示网络环境的图示。
[0014]图3是可以协同实施所描述的一些实施例的例示编码器系统的图示。
[0015]图4是可以协同实施所描述的一些实施例的例示解码器系统的图示。
[0016]图5a和5b是示出了可以协同实施所描述的一些实施例的例示视频编码器的图不ο
[0017]图6是示出了可以协同实施所描述的一些实施例的例示视频解码器的图示。
[0018]图7a_7g是示出了被分成图块的例示帧的图示,其中所述图块可被组织成图块集入η。
[0019]图8是示出了在未对图块集合边界上的运动进行约束的情况下的用于图块集合中的预测单元的运动估计和运动补偿预测的图示。
[0020]图9是示出了在对图块集合边界上的运动进行约束的情况下的用于图块集合中的预测单元的运动估计和运动补偿预测的图示。
[0021]图10是示出了用于带有MCTS的画面的并行编码和并行解码示例的图示。
[0022]图11是示出了用于带有MCTS的画面的兴趣区解码示例的图示。
[0023]图12是示出了用于带有MCTS的画面的转码处理示例的图示。
[0024]图13是示出了用于带有MCTS的画面的渐进式解码器刷新功能的示例的图示。
[0025]图14a_14c是示出了例示实施方式中的用于MCTS的SEI消息语法的表格。
[0026]图15是示出了用信号传递MCTS控制数据的概括性技术的流程图。
[0027]图16是示出了通过有选择地使用MCTS来编码的例示技术的流程图。
[0028]图17是示出了用于处理与MCTS控制数据一起用信号传递的编码数据的概括性技术的流程图。
【具体实施方式】
[0029]本【具体实施方式】部分给出的是用信号传递和/或使用运动约束图块集合(“MCTS”)的控制数据的方法。特别地,本【具体实施方式】部分给出的是针对用信号传递和使用控制数据的创新,其中该控制数据表明指定图块集合内部的画面间预测处理被约束成只涉及其他画面中的相同图块集合内部的区域。在不同示例中给出了 MCTS控制数据的辅助增强信息(“SEI”)消息的语法和语义。所述MCTS控制数据可以促成兴趣区解码和显示处理的复杂度伸缩性(complexity scalability),将编码数据局限于选定图块集合的转码处理,丢失鲁棒性以及并行编码和/或解码。
[0030]虽然这里描述的操作在某些地方被描述成是由编码器(例如视频编码器)、解码器(例如视频解码器)或转码工具(例如视频转码器)执行的,但在很多情况下,该操作也可以改由别的类型的媒体处理工具(例如用于上采样的视频处理器,用于下采样的视频处理器)来执行。
[0031]这里描述的一些创新是参考了 HEVC标准特有的语法元素和操作例证的。例如,在这里参考了 2013年1月发布于JCTVC-L1003_v34的HEVC标准草案版本JCTVC-L1003-“High Efficiency Video Coding (HEVC) Text Specificat1n Draft 8”,其中该标准的公开内容在此引入作为参考。此外,这里描述的创新还可以针对其他的标准或格式来实施。
[0032]一般来说,关于这里描述的示例的各种替换方案都是可行的。例如,这里描述的一些方法可以通过改变所描述的方法行为的排序,通过拆分、重复或省略某些方法行为等等而被修改。所公开的技术的不同方面既可以结合使用,也可以单独使用。不同的实施例使用所描述的一个或多个创新。这里描述的一些创新针对的是在【背景技术】部分中指出的一个或多个问题。通常,给定的技术/工具并未解决所有这样的问题。
[0033]1.例示的计算系统
图1示出的是可以实施所描述的若干创新的适当计算系统(100)的概括性示例。计算系统(100)并非旨在表明针对用途或功能范围所做的任何限制,因为这些创新可以在各种通用或专用计算系统中实施。
[0034]参考图1,计算系统(100)包括一个或多个处理单元(110,115)以及存储器(120,125)。处理单元(110,115)执行计算机可执行指令。该处理单元可以是通用中央处理单元(“CPU”),专用集成电路(“ASIC”)中的处理器或其他任何类型的处理器。在多重处理系统中,计算机可执行指令由多个处理单元执行,由此提升处理能力。例如,图1显示了一个中央处理器(110)和一个图形处理单元或协处理单元(115)。有形存储器(120,125)可以是能被一个或多个处理单元访问的易失存储器(例如寄存器、缓存器、RAM)、非易失存储器(例如ROM、EEPR0M、闪存等等)或是其某种组合。存储器(120,125)以适于一个或多个处理单元运行的计算机可执行指令的形式来存储用于实施用信号传递和/或使用MCT控制数据的一个或多个创新的软件(180)。
[0035]计算系统可以具有附加特征。例如,计算系统(100)包括存储器(140),一个或多个输入设备(150),一个或多个输出设备(160),以及一个或多个通信连接(170)。计算系统(100)的组件用总线、控制器或网络之类的互连机制(未显示)相互连接。通常,操作系统软件(未显示)为其他那些在计算系统(100)中运行的软件提供了一个工作环境,并且协调计算系统(100)中的组件的活动。
[0036]有形存储器(140)可以是可移除或不可移除的,其包括磁盘,磁带或磁带盒,CD-ROM,DVD,或是可用于存储信息且能在计算系统(100)内部访问的其他任何介质。存储器(140)存储的是用于实施用信号传递和/或使用MCTS控制数据的一个或多个创新的软件(180)的指令。
[0037]—个或多个输入设备(150)可以是触摸输入设备,例如键盘、鼠标、指示笔或轨迹球、语音输入设备、扫描设备或是向计算系统(100)提供输入的别的设备。对视频而言,所述一个或多个输入设备(150)既可以是摄像机、视频卡、电视调谐卡或接受模拟或数字形式的视频输入的类似设备,也可以是将视频采样读入计算系统(100)的⑶-ROM或⑶-RW。一个或多个输出设备(160)可以是显示器、打印机、扬声器、CD刻录机或是提供来自计算系统
(100)的输出的别的设备。
[0038]一个或多个通信连接(170)能在通信介质上与别的计算实体通信。该通信介质在调制数据信号中传达信息,例如计算机可执行指令,音频或视频输入或输出,或是其他数据。调制数据信号是这样一种信号,其中该信号的一个或多个特性是用一种对信号中的信息进行编码的方式设置或改变的。作为示例而不是限制,通信媒体可以使用电学、光学、RF或其他载体。
[0039]这些创新可以在计算机可读媒体的通用上下文中描述。计算机可读媒体是能在计算环境内部访问的任何可用的有形媒体。作为示例而不是限制,用于计算系统(100)的计算机可读媒体包括内存(120,125 ),存储器(140 )以及上述各项的组合。
[0040]这里的创新可以在计算机可执行指令的通用上下文中描述,例如包含在程序模块中并在目标真实或虚拟处理器上的计算系统中运行的计算机可执行指令。通常,程序模块包含了执行特定任务或实施特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等等。在不同的实施例中,程序模块的功能可以根据需要而被组合或者在程序模块之间拆分。程序模块的计算机可执行指令可以在本地或分布式计算系统内部运行。
[0041]在这里,术语“系统”和“设备”是可以交换使用的。除非上下文以别的方式清楚指示,否则该术语并不意味着对计算系统或计算设备的类型进行任何限制。通常,计算系统或计算设备可以是本地或分布式的,并且可以包括专用硬件和/或通用硬件与用于实施这里描述的功能的软件的任何组合。
[0042]所公开的方法还可以通过使用被配置成执行所公开的任一方法的专用计算硬件来实施。例如,所公开的方法可以由一个专门被设计或配置成实施所公开的任一方法的集成电路(例如ASIC (例如ASIC数字信号处理单元(“DSP”)、图形处理单元(“GPU”)或是诸如现场可编程门阵列(“FPGA”)的可编程逻辑设备(“PLD”))来实施。
[0043]为了进行说明,本【具体实施方式】部分使用了 “确定”和“使用”这类术语来描述计算系统中的计算机操作,此类术语是对计算机执行的操作的高度抽象,并且不应该与人工执行的行为相混淆。与这些术语相对应的实际计算机操作会依照实施方式而改变。
[0044]I1.例示的网络环境
图2a和2b显示的是包含视频编码器(220)和视频解码器(270)的例示网络环境(201,202 )。该编码器(220 )和解码器(270 )在网络(250 )上用恰当的通信协议相连。网络(250 )可以包括因特网或别的计算机网络。
[0045]在图2a所示的网络环境(201)中,每一个实时通信(“RTC”)工具(210)都包括用于双向通信的编码器(220)和解码器(270)。所给出的编码器(220)可以产生符合HEVC标准、SMPTE 421M标准、IS0-1EC 14496-10标准(也被称为H.264或AVC)、别的标准或专有格式的输出,并且相应解码器接受来自编码器(220)的编码数据。该双向通信可以是视频会议、视频电话呼叫或其他两方通信场景的一部分。虽然图2a的网络环境(201)包含两个实时通信工具(210),但是该网络环境(201)也可改为包含参与多方通信的三个或更多实时通信工具(210)。
[0046]实时通信工具(210)管理编码器(220)的编码处理。图3显示了一个可被包含在实时通信工具(210)中的例示编码器系统(300)。作为替换,该实时通信工具(210)使用别的编码器系统。实时通信工具(210)还管理解码器(270)的解码处理。图4显示了一个可被包含在实时通信工具(210)中的例示解码器系统(400)。作为替换,该实时通信工具(210)也可使用别的
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1