译码用于运动受约束图块集的识别符的制作方法

文档序号:18832714发布日期:2019-10-09 03:59阅读:100来源:国知局
译码用于运动受约束图块集的识别符的制作方法

本发明涉及视频译码。



背景技术:

数字视频能力可以并入到多种多样的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(pda)、手提式或台式计算机、平板计算机、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电话会议装置、视频流式传输装置等等。数字视频装置实施视频译码技术,例如描述于以下各者中的那些技术:由mpeg-2、mpeg-4、itu-th.263、itu-th.264/mpeg-4第10部分高级视频译码(avc)定义的标准、高效视频译码(hevc)标准,itu-th.265/高效视频译码(hevc)和这类标准的扩展。视频装置通过实施这类视频压缩技术可以更有效地传输、接收、编码、解码和/或存储数字视频信息。

视频译码技术包含空间(图片内)预测和/或时间(图片间)预测以减少或移除视频序列中固有的冗余。对基于块的视频译码,视频切片(例如,视频图片或视频图片的一部分)可被分割成视频块,视频块还可被称作译码树单元(ctu)、译码单元(cu)和/或译码节点。使用关于同一图片中的相邻块中的参考样本的空间预测对图片的经帧内译码(i)切片中的视频块进行编码。图片的经帧间译码(p或b)切片中的视频块可使用关于同一图片中的相邻块中的参考样本的空间预测,或关于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。

空间或时间预测产生用于待译码块的预测性块。残余数据表示待译码原始块与预测性块之间的像素差。经帧间译码块是根据指向形成预测性块的参考样本块的运动向量和指示经译码块与预测性块之间的差的残余数据来编码。经帧内译码块是根据帧内译码模式和残余数据来编码的。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生残余变换系数,可接着量化所述残余变换系数。可扫描一开始按二维阵列布置的经量化变换系数,以便产生变换系数的一维向量,且可应用熵译码以达成更多压缩。



技术实现要素:

一般来说,本发明描述使用运动受约束图块集(mcts)的增强型设计的视频译码技术,其实现包含原始视频位流中所含的mcts的子集的相符位流的纯粹提取。一般来说,在高效视频译码(hevc)的上下文中描述本发明的技术。然而,这些技术通常可应用于实现可提取的独立经译码区域的任何视频编解码器。

在一个实例中,一种处理视频数据的方法包含确定所述视频数据的存取单元是否包含时间运动受约束图块集(mcts)补充增强信息(sei)消息;和仅当所述存取单元包含所述时间mctssei消息时,解码所述存取单元的mcts提取信息集(mcts-eis)sei消息。

在另一实例中,一种用于处理视频数据的装置包含存储器,其被配置成存储视频数据;和一或多个处理器,其实施于电路中并且被配置成:确定所述视频数据的存取单元是否包含时间运动受约束图块集(mcts)补充增强信息(sei)消息;和仅当所述存取单元包含所述时间mctssei消息时,解码所述存取单元的mcts提取信息集(mcts-eis)sei消息。

在另一实例中,一种用于处理视频数据的装置包含用于确定所述视频数据的存取单元是否包含时间运动受约束图块集(mcts)补充增强信息(sei)消息的装置;和用于仅当所述存取单元包含所述时间mctssei消息时,解码所述存取单元的mcts提取信息集(mcts-eis)sei消息的装置。

在另一实例中,一种计算机可读存储媒体,其上存储有指令,所述指令在被执行时致使处理器:确定所述视频数据的存取单元是否包含时间运动受约束图块集(mcts)补充增强信息(sei)消息;和仅当所述存取单元包含所述时间mctssei消息时,解码所述存取单元的mcts提取信息集(mcts-eis)sei消息。

在另一实例中,一种处理视频数据的方法包含确定存取单元的时间运动受约束图块集(mcts)补充增强信息(sei)消息的语法元素的值,其中所述语法元素的所述值表示一或多个对应图片的所有图块是否包含在单独mcts中;和当所述语法元素的所述值指示所述对应图片的所述图块不包含在所述单独mcts中时,将所述存取单元的当前图片的所述mcts的mcts识别符设置成等于所述mcts的索引的值,所述当前图片是所述对应图片中的一个。

在另一实例中,一种用于处理视频数据的装置包含存储器,其被配置成存储视频数据;和一或多个处理器,其实施于电路中并且被配置成:确定存取单元的时间运动受约束图块集(mcts)补充增强信息(sei)消息的语法元素的值,其中所述语法元素的所述值表示一或多个对应图片的所有图块是否包含在单独mcts中;和当所述语法元素的所述值指示所述对应图片的所述图块不包含在所述单独mcts中时,将所述存取单元的当前图片的所述mcts的mcts识别符设置成等于所述mcts的索引的值,所述当前图片是所述对应图片中的一个。

在另一实例中,一种用于处理视频数据的装置包含用于确定存取单元的时间运动受约束图块集(mcts)补充增强信息(sei)消息的语法元素的值的装置,其中所述语法元素的所述值表示一或多个对应图片的所有图块是否包含在单独mcts中;和用于当所述语法元素的所述值指示所述对应图片的所述图块不包含在所述单独mcts中时,将所述存取单元的当前图片的所述mcts的mcts识别符设置成等于所述mcts的索引的值的装置,所述当前图片是所述对应图片中的一个。

在另一实例中,一种计算机可读存储媒体,其上存储有指令,所述指令在被执行时致使处理器确定存取单元的时间运动受约束图块集(mcts)补充增强信息(sei)消息的语法元素的值,其中所述语法元素的所述值表示一或多个对应图片的所有图块是否包含在单独mcts中;和当所述语法元素的所述值指示所述对应图片的所述图块不包含在所述单独mcts中时,将所述存取单元的当前图片的所述mcts的mcts识别符设置成等于所述mcts的索引的值,所述当前图片是所述对应图片中的一个。

在另一实例中,一种处理视频数据的方法包含至少部分地基于运动受约束图块集(mcts)提取信息集(mcts-eis)补充增强信息(sei)消息的信息,确定从原始位流提取mcts子位流;和响应于确定提取所述mcts子位流,省略所有含有非mcts嵌套式sei消息的sei网络抽象层(nal)单元以免包含在所述所提取的mcts子位流中,且不考虑所述非mcts嵌套式sei消息的nal单元标头层识别符值的值。

在另一实例中,一种用于处理视频数据的装置包含存储器,其被配置成存储视频数据;和一或多个处理器,其实施于电路中并且被配置成至少部分地基于运动受约束图块集(mcts)提取信息集(mcts-eis)补充增强信息(sei)消息的信息,确定从原始位流提取mcts子位流;和响应于确定提取所述mcts子位流,省略所有含有非mcts嵌套式sei消息的sei网络抽象层(nal)单元以免包含在所述所提取的mcts子位流中,且不考虑所述非mcts嵌套式sei消息的nal单元标头层识别符值的值。

在另一实例中,一种用于处理视频数据的装置包含用于至少部分地基于运动受约束图块集(mcts)提取信息集(mcts-eis)补充增强信息(sei)消息的信息,确定从原始位流提取mcts子位流的装置;和用于响应于确定提取所述mcts子位流,省略所有含有非mcts嵌套式sei消息的sei网络抽象层(nal)单元以免包含在所述所提取的mcts子位流中,且不考虑所述非mcts嵌套式sei消息的nal单元标头层识别符值的值的装置。

在另一实例中,一种计算机可读存储媒体,其上存储有指令,所述指令在被执行时致使处理器至少部分地基于运动受约束图块集(mcts)提取信息集(mcts-eis)补充增强信息(sei)消息的信息,确定从原始位流提取mcts子位流;和响应于确定提取所述mcts子位流,省略所有含有非mcts嵌套式sei消息的sei网络抽象层(nal)单元以免包含在所述所提取的mcts子位流中,且不考虑所述非mcts嵌套式sei消息的nal单元标头层识别符值的值。

在另一实例中,一种处理视频数据的方法包含解码视频位流的补充增强信息(sei)网络抽象层(nal)单元,所述seinal单元含有运动受约束图块集(mcts)嵌套sei消息;响应于所述seinal单元含有所述mcts嵌套sei消息,确定所述seinal单元不含有任何非mcts嵌套sei消息;和响应于所述确定,将所述seinal单元的后续sei消息作为mcts嵌套sei消息进行解码。

在另一实例中,一种用于处理视频数据的装置包含存储器,其被配置成存储视频数据;和一或多个处理器,其实施于电路中并且被配置成解码包含所述视频数据的视频位流的补充增强信息(sei)网络抽象层(nal)单元,所述seinal单元含有运动受约束图块集(mcts)嵌套sei消息;响应于所述seinal单元含有所述mcts嵌套sei消息,确定所述seinal单元不含有任何非mcts嵌套sei消息;和响应于所述确定,将所述seinal单元的后续sei消息作为mcts嵌套sei消息进行解码。

在另一实例中,一种用于处理视频数据的装置包含用于解码视频位流的补充增强信息(sei)网络抽象层(nal)单元的装置,所述seinal单元含有运动受约束图块集(mcts)嵌套sei消息;用于响应于所述seinal单元含有所述mcts嵌套sei消息,确定所述seinal单元不含有任何非mcts嵌套sei消息的装置;和用于响应于所述确定,将所述seinal单元的后续sei消息作为mcts嵌套sei消息进行解码的装置。

在另一实例中,一种计算机可读存储媒体,其上存储有指令,所述指令在被执行时致使处理器解码视频位流的补充增强信息(sei)网络抽象层(nal)单元,所述seinal单元含有运动受约束图块集(mcts)嵌套sei消息;响应于所述seinal单元含有所述mcts嵌套sei消息,确定所述seinal单元不含有任何非mcts嵌套sei消息;和响应于所述确定,将所述seinal单元的后续sei消息作为mcts嵌套sei消息进行解码。

在附图和以下描述中阐明一或多个实例的细节。其它特征、目标和优势将从所述描述和图式以及从权利要求书而显而易见。

附图说明

图1是说明可使用用于使用运动受约束图块集(mcts)处理视频数据的技术的实例视频编码和解码系统的框图。

图2是说明可实施用于使用运动受约束图块集(mcts)处理视频数据的技术的视频编码器的实例的框图。

图3是说明可实施用于使用运动受约束图块集(mcts)处理视频数据的技术的视频解码器的实例的框图。

图4是说明用于根据本发明的技术提取子位流的实例方法的流程图。

图5是说明用于根据本发明的技术提取子位流的另一实例方法的流程图。

具体实施方式

视频译码标准包含itu-th.261、iso/iecmpeg-1visual、itu-th.262或iso/iecmpeg-2visual、itu-th.263、iso/iecmpeg-4visual和itu-th.264(也被称作iso/iecmpeg-4avc),包含其可缩放视频译码(svc)和多视图视频译码(mvc)扩展,以及itu-th.265(也被称作iso/iecmpeg-4高效视频译码(hevc)),包含其分别地可缩放和多视图扩展shvc和mv-hevc。

hevc支持使用运动受约束图块集(mcts)的可提取的独立经译码区域的译码,以及使用时间mcts补充增强信息(sei)消息和层间受约束图块集sei消息的mcts的用信号发送。

时间mctssei消息指示帧间预测过程受约束以使得每一经识别图块集外部无样本值,且使用经识别图块集外部的一或多个样本值导出的分数样本位置处无样本值用于经识别图块集内的任何样本的帧间预测。根据hevc,也在时间mctssei消息中用信号发送所指示的mcts的一些信息,例如层次和层级。

jct-vc目前正在开发两个mcts相关sei消息。包含设计的草案规范包含在可从phenix.int-evry.fr/jct/doc_end_user/documents/26_geneva/wg11/jctvc-z1005-v1.zip获得的文档jctvc-z1005中。在jctvc-z1005中,这两个sei消息分别被命名为mcts提取信息集(mcts-eis)sei消息和mcts提取信息嵌套(mcts-ein)sei消息。下表1提供根据hevc用于mctssei消息的语法。下表2提供用于jctvc-z1005的mcts-eissei消息的语法。下表3提供用于jctvc-z1005的mcts-einsei消息的语法。

表1

表2

表3

jctvc-z1005的mcts-eissei消息提供可在用于mcts的子位流的提取中使用的补充信息。所述信息包含数个提取信息集,每一提取信息集含有提取信息集所应用于的mcts的识别符。每一提取信息集含有将在mcts子位流提取过程期间使用的置换视频参数集、序列参数集和图片参数集的rbsp字节。

jctvc-z1005的mcts-eissei消息为简单起见可以被称作“mcts嵌套sei消息”,提供表达sei消息并且使sei消息与对应于一个或多个mcts的位流子集相关联的机构。mcts嵌套sei消息中所含的sei消息被称为mcts嵌套式或mcts嵌套式sei消息,且不含于mcts嵌套sei消息中的sei消息被称为非mcts嵌套式或非mcts嵌套式sei消息。当用于mcts的子位流经提取时,适用于存取单元中的mcts的mcts嵌套式sei消息可作为非mcts嵌套式sei消息包含在所提取的子位流的对应存取单元中。

使用当前hevc规范中的时间mctssei消息以及jctvc-z1005中的两个mcts相关sei消息的设计可遇到以下问题:

1)有意义的是,mcts-eissei消息必须取决于时间mctssei消息,其被称为相关联时间mctssei消息。然而,在存取单元中存在mcts-eissei消息不以时间mctssei消息的存在为条件。这使得mcts-eissei消息的语义不必要地复杂化,在需要规定其自身的相关联/适用图片集以及需要规定对此sei消息本身和时间mctssei消息的数个复杂位流约束条件的情况下尤为如此。这些将使位流的产生更加复杂并且在符合性测试中产生较高成本。

2)对于jctvc-z1005中的两个mcts相关sei消息两者,在语义中使用由相关联时间mctssei消息的mcts_id[i]语法元素的实例表示的mcts识别符。然而,此处存在以下问题:

a.时间mctssei消息的当前语义规定mcts_id[i]含有可用以识别第i经识别图块集的目的的识别编号。换句话说,mcts_id[i]不是mcts识别符,而是目的,且不同mcts可具有mcts_id[i]的相同值(用于相同目的)。此外,mcts_id[i]的值被当前保留以供itu-t|iso/iec在未来使用或被规定为“可通过应用来确定”,且解码器如果遇到具有第一类别的值的mcts_id[i]的时间mctssei消息则应忽略sei消息(且在此情况下,这两个mcts相关sei消息还由于取决于时间mctssei消息而将变成无用的),而第二类别的mcts_id[i]的值对于任何应用都是无意义的,但所述应用规定了所述值的情况例外。

b.当相关联时间mctssei消息的each_tile_one_tile_set_flag等于1时,不存在或不推断mcts_id[i]。因此,不支持此常见情境。

3)在mcts-eissei消息的语义中规定的mcts子位流提取过程中存在如下步骤:消除具有等于0的nuh_layer_id以及含有非mcts嵌套式sei消息的所有seinal单元。然而,存在“具有等于0的nuh_layer_id”的条件将保持所提取的位流中的所有具有大于0的nuh_layer_id的的seinal单元,而seinal单元中的具有大于0的nuh_layer_id的非mcts嵌套式sei消息(如果存在)将不适用于所提取的mcts子集,且因此不应包含在所提取的子位流中。

4)在mcts-eissei消息的语义中规定的mcts子位流提取过程的最终步骤是,调整每一vclnal单元的切片段标头,包含设置切片段标头语法元素first_slice_segment_in_pic_flag和slice_segment_address的值。然而,当存在另一mcts的独立切片段上的目标mcts的相依切片段的切片段标头相依性时,此子位流提取过程不产生相符位流,这是因为大量切片段语法元素不可用于所述相依切片段标头。

5)有意义的是,mcts嵌套sei消息必须取决于时间mctssei消息以及mcts-eissei消息。然而,在存取单元中存在mcts嵌套sei消息不以时间mctssei消息或mcts-eissei消息的存在为条件。

6)含有mcts嵌套sei消息的seinal单元可含有非mcts嵌套式sei消息。然而,这使含有sei消息的mcts的相符位流的提取不必要地复杂化,且实际上,在mcts-eissei消息的语义中规定的mcts子位流提取过程的一个步骤将消除这类seinal单元。

7)含有非相邻图块的mcts不被时间mctssei消息的设计所支持,而mcts-eissei消息的语义中规定的mcts子位流提取过程规定用于仅一个mcts的子位流的提取。然而,在虚拟现实或360度视频应用中,非相邻图块可实际上对应于球形表面上的一个区域,且可能需要指示这类非相邻图块集的所需解码能力,例如层级,且/或可能需要启用用于这类非相邻图块集的相符位流的提取。

8)时间mctssei消息的num_sets_in_message_minus1的值被规定为在0到255的范围内并包含端点,即允许用信号发送的mcts的数目至多为256。然而,在虚拟现实或360度视频应用中,对于可能数目个图块组合,每一组合对应于一个mcts,包含其中特定图块可包含在多个mcts中的情况,最大数目256可能并不足够。

9)对于mcts-eissei消息和mcts嵌套sei消息两者,数个语法元素的值范围规定为0到232-2并包含端点,包含针对提取信息集的数目和与一个提取信息集或mcts嵌套式sei消息相关联的mcts的数目。此上限值对于一些情境可能高得不合理。

可单独或以任何组合方式应用的本发明的技术可克服这些问题中的任一个或全部问题。

mctssei消息可包含一语法元素,其指示一或多个对应图片的图块是否包含在单独mcts中,使得在图块与mcts之间存在一对一的对应关系。在一个实例中,所述语法元素是each_tile_one_tile_set_flag。在一些实例中,each_tile_one_tile_set_flag的值一指示一或多个对应图片的图块包含在单独mcts中,且each_tile_one_tile_set_flag的值零指示一或多个对应图片的两个或更多个图块可包含在共同mcts中(即,处于其自身的mcts中的每一图块的约束条件不适用)。

图1是说明可使用用于使用运动受约束图块集(mcts)处理视频数据的技术的实例视频编码和解码系统10的框图。如图1中所示出,系统10包含提供稍后将由目的地装置14解码的经编码视频数据的源装置12。特定来说,源装置12经由计算机可读媒体16将视频数据提供到目的地装置14。源装置12和目的地装置14可包括广泛范围的装置中的任一个,包含台式计算机、笔记型(例如,手提式)计算机、平板计算机、机顶盒、例如所谓的“智能”电话的电话手持机、所谓的“智能”平板计算机、电视、摄像机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置等。在一些情况下,可装备源装置12和目的地装置14以用于无线通信。

目的地装置14可经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例中,计算机可读媒体16可包括通信媒体,其用于使得源装置12能够直接将经编码视频数据实时地传输到目的地装置14。经编码视频数据可根据通信标准(例如,无线通信协议)来调制,且被传输到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(rf)频谱或一或多个物理传输线。通信媒体可形成基于包的网络(例如,局域网、广域网或全球网络,例如因特网)的一部分。通信媒体可包含路由器、交换机、基站,或可用于促进从源装置12到目的地装置14的通信的任何其它设备。

在图1的实例中,沿着计算机可读媒体16提供子位流提取单元24。子位流提取单元24可形成一装置的部分,所述装置例如媒体感知网络元件(mane)、路由器或其它被配置成例如根据本发明的技术从原始位流提取子位流的装置。子位流提取单元24包含存储器26,其用于暂时存储位流的所接收数据和用于子位流的所提取数据。子位流提取单元24可将用于子位流的所提取数据发送到目的地装置14。另外或替代地,输入接口28可被配置成例如根据本发明的技术从原始位流提取子位流。视频编码器20和/或输出接口22可被配置成根据本发明的技术用信号发送用于提取子位流的数据。

在一些实例中,可将经编码数据从输出接口22输出到存储装置。类似地,经编码数据可由输入接口从存储装置存取。存储装置可包含多种分布式或本地存取的数据存储媒体中的任一个,例如硬盘驱动器、蓝光光盘、dvd、cd-rom、快闪存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适的数字存储媒体。在另一实例中,存储装置可对应于文件服务器或可存储由源装置12产生的经编码视频的另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置存取所存储视频数据。文件服务器可为能够存储经编码视频数据并将经编码视频数据传输到目的地装置14的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、ftp服务器、网络附接存储(nas)装置或本地磁盘驱动器。目的地装置14可经由包含因特网连接的任何标准数据连接来存取经编码的视频数据。这可包含无线信道(例如,wi-fi连接)、有线连接(例如,dsl、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从存储装置的传输可为流式传输、下载传输或其组合。经编码视频数据从存储装置的传输可以是流式传输、下载传输或两者的组合。

本发明的技术不必限于无线应用或设置。所述技术可应用于支持多种多媒体应用中的任一个的视频译码,例如空中电视广播、有线电视传输、卫星电视传输、因特网流式视频传输(例如,http动态自适应流式传输(dash))、被编码到数据存储媒体上的数字视频,存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可被配置成支持单向或双向视频传输,以支持例如视频流式传输、视频重放、视频广播和/或视频电话的应用。

在图1的实例中,源装置12包含视频源18、视频编码器20和输出接口22。目的地装置14包含输入接口28、视频解码器30和显示装置32。根据本发明,源装置12的视频编码器20、输出接口22、子位流提取单元24、输入接口28和/或视频解码器30可被配置成应用用于使用运动受约束图块集(mcts)处理视频数据的技术。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置12可从外部视频源18(例如,外部相机)接收视频数据。同样地,目的地装置14可以与外部显示装置介接,而不是包括集成式显示装置。

图1中所说明的系统10仅为一个实例。用于使用运动受约束图块集(mcts)处理视频数据的技术可由任何数字视频编码和/或解码装置执行。虽然本发明的技术通常由视频编码装置执行,但是所述技术也可通过视频编码器/解码器(通常被称作“编解码器”)执行。此外,本发明的技术还可由视频预处理器执行。源装置12和目的地装置14仅为这类译码装置的实例,其中源装置12产生经译码视频数据以用于传输到目的地装置14。在一些实例中,装置12、14可以大体上对称的方式操作,使得装置12、14中的每一个包含视频编码和解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频传输以例如用于视频流式传输、视频重放、视频广播或视频电话。

源装置12的视频源18可包含视频捕获装置,例如摄像机、含有先前所捕获视频的视频档案和/或用于从视频内容提供者接收视频的视频馈送接口。作为另一替代方案,视频源18可产生基于计算机图形的数据作为源视频,或实况视频、存档视频与计算机产生的视频的组合。在一些情况下,如果视频源18为摄像机,那么源装置12和目的地装置14可形成所谓的摄像机电话或视频电话。然而,如上文所提及,本发明中所描述的技术一般可适用于视频译码,且可应用于无线和/或有线应用。在每一情况下,捕获、预捕获或计算机产生的视频可由视频编码器20编码。经编码视频信息接着可由输出接口22输出到计算机可读媒体16上。

计算机可读媒体16可包含瞬时媒体,例如无线广播或有线网络传输,或存储媒体(即,非暂时性存储媒体),例如硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未示出)可例如经由网络传输从源装置12接收经编码视频数据并且将经编码视频数据提供到目的地装置14。类似地,媒体生产设施(例如,光盘冲压设施)的计算装置可从源装置12接收经编码视频数据并且生产含有经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体16可理解为包含各种形式的一或多个计算机可读媒体。

目的地装置14的输入接口28从计算机可读媒体16接收信息。计算机可读媒体16的信息可包含由视频编码器20定义且也被视频解码器30使用的语法信息,所述语法信息包含描述块和其它经译码单元的特性和/或处理的语法元素。显示装置32将经解码视频数据显示给用户,且可包括多种显示装置中的任一个,例如阴极射线管(crt)、液晶显示器(lcd)、等离子显示器、有机发光二极管(oled)显示器或另一类型的显示装置。

视频编码器20和视频解码器30可根据例如高效视频译码(hevc)标准(也被称作itu-th.265)的视频译码标准操作。替代地,视频编码器20和视频解码器30可根据其它专属或行业标准(例如,itu-th.264标准,替代地被称作mpeg-4第10部分高级视频译码(avc))或此类标准的扩展操作。然而,本发明的技术不限于任何特定译码标准。视频译码标准的其它实例包含mpeg-2和itu-th.263。尽管图1中未示出,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当多路复用器-多路分用器(mux-demux)单元或其它硬件和软件以处置共同数据流或单独数据流中的音频和视频两者的编码。如果适用的话,多路复用器-多路分用器单元可符合ituh.223多路复用器协议,或例如用户数据报协议(udp)等其它协议。

视频编码器20和视频解码器30各自可实施为多种合适的编码器电路中的任一个,例如一或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、离散逻辑、软件、硬件、固件或其任何组合。当部分地用软件实施所述技术时,装置可将用于软件的指令存储在合适的非暂时性计算机可读媒体中且在硬件中使用一或多个处理器执行所述指令以执行本发明的技术。视频编码器20和视频解码器30中的每一个可以包含在一或多个编码器或解码器中,所述编码器或解码器中的任一个可以集成为相应装置中的组合编码器/解码器(编解码器)的部分。

一般来说,根据itu-th.265,视频图片可划分成可包含明度和色度样本两者的译码树单元(ctu)(或最大译码单元(lcu))序列。替代地,ctu可包含单色数据(即,仅明度样本)。位流内的语法数据可以界定ctu(就像素数目来说最大的译码单元)的大小。切片包含按译码次序的许多连续ctu。视频图片可被分割成一或多个切片。每一ctu可根据四叉树而分裂成译码单元(cu)。一般来说,四叉树数据结构包含每个cu一个节点,其中根节点对应于ctu。如果cu分裂成四个子cu,那么对应于cu的节点包含四个叶节点,其中叶节点中的每一个对应于所述子cu中的一个。

四叉树数据结构的每一节点可提供对应的cu的语法数据。举例来说,四叉树中的节点可包含拆分旗标,从而指示对应于节点的cu是否拆分成子cu。cu的语法元素可以递归地定义,且可以取决于所述cu是否拆分成若干子cu。如果cu未进一步拆分,那么将其称作叶cu。在本发明中,叶cu的四个子cu也将被称作叶cu,即使不存在原始叶cu的明确拆分时也是如此。举例来说,如果16×16大小的cu不进一步拆分,那么尽管16×16cu从未拆分,四个8×8子cu也将被称作叶cu。

除了cu不具有大小区别之外,cu具有与h.264标准的宏块类似的目的。举例来说,ctu可拆分成四个子级节点(也被称作子cu),且每一子级节点又可为父级节点且可拆分成另外四个子级节点。最终的未拆分子级节点(被称作四叉树的叶节点)包括译码节点,也被称作叶cu。与经译码位流相关联的语法数据可定义ctu可拆分的最大次数(被称作最大cu深度),且还可定义译码节点的最小大小。因此,位流还可界定最小译码单元(scu)。本发明使用术语“块”指代在hevc的上下文中的cu、预测单元(pu)或变换单元(tu)中的任一个,或在其它标准的上下文中的类似数据结构(例如,h.264/avc中的宏块和其子块)。

cu包含译码节点和与所述译码节点相关联的预测单元(pu)和变换单元(tu)。cu的大小对应于译码节点的大小,且通常为正方形形状。cu的大小范围可从8×8像素直到具有最大大小(例如,64×64像素或更大)的ctu的大小。每一cu可含有一或多个pu和一或多个tu。举例来说,与cu相关联的语法数据可描述将cu分割成一或多个pu。分割模式可在cu被跳过或经直接模式编码、经帧内预测模式编码或经帧间预测模式编码之间有所不同。pu可被分割成非正方形形状。举例来说,与cu相关联的语法数据还可描述cu根据四叉树分割成一或多个tu。tu的形状可为正方形或非正方形(例如,矩形)。

hevc标准允许根据tu进行变换,tu可针对不同cu而有所不同。tu通常是基于针对经分割ctu定义的给定cu内的pu的大小(或cu的分隔区)而设定大小,但是情况可能并不总是如此。tu通常与pu具有相同大小或小于pu(或cu的分隔区,例如在帧内预测的情况下)。在一些实例中,对应于cu的残余样本可使用被称为“残余四叉树”(rqt)的四叉树结构细分成更小单元。rqt的叶节点可被称为变换单元(tu)。可变换与tu相关联的像素差值以产生变换系数,所述变换系数可经量化。

当使用帧间预测进行预测时,叶cu可包含一或多个预测单元(pu)。一般来说,pu表示对应于所述对应cu的全部或一部分的空间区域,且pu可包含用于对于pu检索和/或产生参考样本的数据。此外,pu包含与预测相关的数据。当cu经帧间模式编码时,cu的一或多个pu可包含定义运动信息的数据,例如一或多个运动向量,或pu可经跳过模式译码。定义pu的运动向量的数据可以描述例如运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考图片,以及/或运动向量的参考图片列表(例如,列表0或列表1)。

叶cu也可经帧内模式预测。一般来说,帧内预测涉及使用帧内模式预测叶cu(或其分隔区)。视频译码器可选择与叶cu相邻的先前经译码像素集以用于预测叶cu(或其分隔区)。

叶cu也可包含一或多个变换单元(tu)。变换单元可使用rqt(也称为tu四叉树结构)来规定,如上文所论述。举例来说,拆分旗标可以指示叶cu是否拆分成四个变换单元。随后,每一tu可进一步拆分为另外的若干子tu。当tu未经进一步拆分时,其可被称作叶tu。总体上,对于帧内译码,所有属于一叶cu的叶tu共享相同的帧内预测模式。即,一般应用相同的帧内预测模式来计算叶cu的所有tu的经预测值。对于帧内译码,视频编码器可以使用帧内预测模式将每一叶tu的残余值计算为cu的对应于tu的部分与原始块之间的差。tu未必限于pu的大小。因而,tu可比pu大或小。对于帧内译码,cu的分隔区或cu本身可以与cu的对应叶tu并置。在一些实例中,叶tu的最大大小可以对应于对应叶cu的大小。

此外,叶cu的tu还可与相应的四叉树数据结构(被称作残余四叉树(rqt))相关联。即,叶cu可包含指示叶cu如何分割成tu的四叉树。tu四叉树的根节点通常对应于叶cu,而cu四叉树的根节点通常对应于ctu(或lcu)。rqt的未拆分的tu被称作叶tu。一般来说,除非另有指出,否则本发明分别使用术语cu和tu指代叶cu和叶tu。

视频序列通常包含从随机存取点(rap)图片开始的一系列视频帧或图片。视频序列可包含表示视频序列的特性的序列参数集(sps)中的语法数据。图片的每一切片可包含描述用于相应的切片的编码模式的切片语法数据。视频编码器20通常对个别视频切片内的视频块进行操作以便对视频数据进行编码。视频块可以对应于cu内的译码节点。视频块可以具有固定或变化的大小,并且可以根据规定的译码标准而有不同大小。

作为实例,可针对不同大小的pu执行预测。假设特定cu的大小是2n×2n,那么可在2n×2n或n×n的pu大小上执行帧内预测并且可在2n×2n、2n×n、n×2n或n×n的对称pu大小上执行帧间预测。还可针对2n×nu、2n×nd、nl×2n和nr×2n的pu大小执行帧间预测的不对称分割。在不对称分割中,不分割cu的一个方向,而将另一方向分割成25%和75%。cu的对应于25%分割区的部分通过“n”后面跟着指示“上”、“下”、“左”或“右”来指示。因此,例如,“2n×nu”是指经水平地分割的2n×2ncu,其中顶部为2n×0.5npu,且底部为2n×1.5npu。

在本发明中,“n×n”和“n乘n”可互换使用来指代在垂直和水平尺寸方面的视频块的像素尺寸,例如,16×16像素或16乘16像素。一般来说,16×16块将在竖直方向上具有16个像素(y=16),且在水平方向上具有16个像素(x=16)。同样地,n×n块总体上在竖直方向上具有n个像素,并且在水平方向上具有n个像素,其中n表示非负整数值。块中的像素可按行和列布置。此外,块未必需要在水平方向与竖直方向上具有相同数目的像素。举例来说,块可包括n×m个像素,其中m未必等于n。

在使用cu的pu进行帧内预测性或帧间预测性译码之后,视频编码器20可计算cu的tu的残余数据。pu可包括描述在空间域(也称为像素域)中产生预测性像素数据的方法或模式的语法数据,且tu可包括在对残余视频数据应用变换(例如,离散余弦变换(dct)、整数变换、小波变换或概念上类似的变换)之后变换域中的系数。残余数据可对应于未经编码图片的像素与对应于pu的预测值之间的像素差。视频编码器20可形成tu以包含表示cu的残余数据的经量化变换系数。也就是说,视频编码器20可计算残余数据(呈残余块的形式),变换残余块以产生变换系数的块,且接着量化变换系数以形成经量化变换系数。视频编码器20可形成包含经量化变换系数的tu,以及其它语法信息(例如,tu的拆分信息)。

如上所述,在任何变换以产生变换系数后,视频编码器20可执行变换系数的量化。量化总体上是指对变换系数进行量化以可能减少用以表示系数的数据的量从而提供进一步压缩的过程。量化过程可减小与系数中的一些或全部相关联的位深度。举例来说,可在量化期间将n位值向下舍入到m位值,其中n大于m。

在量化之后,视频编码器可以扫描变换系数,从包括经量化变换系数的二维矩阵产生一维向量。所述扫描可经设计以将较高能量(并且因此较低频率)的系数放置在阵列的前面,并且将较低能量(并且因此较高频率)的系数放置在阵列的后面。在一些实例中,视频编码器20可利用预定义的扫描次序来扫描经量化变换系数以产生可被熵编码的串行化向量。在其它实例中,视频编码器20可以执行自适应扫描。在扫描经量化变换系数以形成一维向量之后,视频编码器20可以例如根据上下文自适应可变长度译码(cavlc)、上下文自适应二进制算术译码(cabac)、基于语法的上下文自适应二进制算术译码(sbac)、概率区间分割熵(pipe)译码或另一熵编码方法对一维向量进行熵编码。视频编码器20还可以对与经编码视频数据相关联的语法元素进行熵编码以供视频解码器30在对视频数据进行解码时使用。

为了执行cabac,视频编码器20可以向待传输的符号指派上下文模型内的上下文。举例来说,所述上下文可与符号的相邻值是否非零有关。为了执行cavlc,视频编码器20可选择用于待传输的符号的可变长度码。vlc中的码字可被构建成使得相对较短码对应于较大可能符号,而较长码对应于较小可能符号。以此方式,使用vlc与例如对待传输的每一符号使用等长码字相比可实现位节约。概率判定可基于指配给符号的上下文。

一般来说,视频解码器30执行尽管与视频编码器20执行的过程互逆但大体类似的过程,以对经编码数据进行解码。举例来说,视频解码器30逆量化且逆变换所接收tu的系数以再现残余块。视频解码器30使用用信号发送的预测模式(帧内预测或帧间预测)形成经预测块。接着,视频解码器30(在逐像素基础上)使经预测块与残余块组合以再现原始块。可执行额外处理,例如执行解块过程以减少沿块边界的视觉假影。此外,视频解码器30可通过尽管与视频编码器20的cabac编码过程互逆但大体类似的方式使用cabac来解码语法元素。

根据本发明的技术,源装置12(例如,视频编码器20和/或输出接口22)可被配置成用信号发送数据,且例如子位流提取单元24的子位流提取单元和/或目的地装置14的输入接口28可被配置成使用用信号发送的数据提取子位流。特定来说,这些元件可实施本发明的技术中的任一种或全部以解决上文所论述的所遇到的问题。下文描述的各种技术可单独或以任何组合方式执行。

1)对上文所论述的第一问题的可能的解决方案是施加如下约束条件:除非在存取单元中存在时间mctssei消息,否则在所述存取单元中不应存在mcts-eissei消息。因此,时间mctssei消息的相关联图片集associatedpicset适用于mcts-eissei消息。并且此外,可在mcts-eissei消息的语义中消除对associatedpicset的定义以及对mcts-eissei消息的存在和时间mctssei消息的存在的约束条件。以此方式,源装置12、子位流提取单元24和目的地装置14可仅当存取单元包含时间mctssei消息时译码存取单元的mcts-eissei消息。

2)对上文所论述的第二问题的可能的解决方案包含以下内容:

a.上述问题2a的可能的解决方案如下。当相关联时间mctssei消息的each_tile_one_tile_set_flag的值等于0时,当前图片的mcts的mcts识别符被规定为mcts的索引的值,其中所述索引是相关联mctssei消息所规定的num_sets_in_message_minus1+1mcts信息集的循环内的变量i。因此,当each_tile_one_tile_set_flag语法元素的值等于零时,源装置12、子位流提取单元24和目的地装置14可将存取单元的当前图片的mcts的mcts识别符设置成等于mcts的索引的值。

b.上述问题2b的可能的解决方案是当相关联时间mctssei消息的each_tile_one_tile_set_flag等于1时,按图块光栅扫描次序将每一mcts的mcts识别符定义为mcts中的单个图块的图块位置。因此,当each_tile_one_tile_set_flag语法元素的值等于一时,源装置12、子位流提取单元24和目的地装置14可按图块光栅扫描次序将每一mcts的mcts识别符设置成等于mcts中的对应图块的图块位置。

3)上文所论述的第三问题的可能的解决方案是从mcts-eissei消息的语义中规定的mcts子位流提取过程的步骤的措辞中消除条件“使nuh_layer_id等于0”,其规定移除所有具有等于0的nuh_layer_id以及含有非mcts嵌套式sei消息的seinal单元,即,改变所述步骤以规定移除所有含有非mcts嵌套式sei消息的seinal单元。因此,当提取mcts子位流时,子位流提取单元24和/或目的地装置14可忽略所有含有非mcts嵌套式sei消息的seinal单元以免包含在所提取的mcts子位流中,且不考虑非mcts嵌套式sei消息的网络抽象层(nal)单元标头层识别符值的值。

4)上文所论述的第四问题的可能的解决方案是施加如下约束条件:含有属于任何特定mctsmctsa的一或多个图块的切片段不应是含有不属于mctsa的一或多个图块的独立切片段的相依切片段。此约束条件应规定为时间mctssei消息或mcts-eissei消息的语义的部分。因此,视频编码器20和视频解码器30可译码含有属于视频数据的相应mcts的一或多个图块的所有切片段,使得所述切片段至多取决于相同mcts内的切片段。

5)上文所论述的第五问题的可能的解决方案是施加如下约束条件:除非在存取单元中存在mcts-eissei消息,否则mcts嵌套sei消息不应存在于所述存取单元中。因此,源装置12、子位流提取单元24和目的地装置14可仅当存取单元包含mcts-eissei消息时译码存取单元的mcts嵌套sei消息。

a.替代地,可强加如下约束条件:除非当前图片属于mcts-eissei消息的associatedpicset,否则mcts嵌套sei消息不应存在于当前存取单元中。因此,当存取单元包含mcts-eissei消息时,源装置12、子位流提取单元24和目的地装置14可确定mcts-eissei消息的相关联图片集,确定存取单元的当前图片是否包含在相关联图片集中,并且仅当当前图片包含在相关联图片集中时译码存取单元的mcts嵌套sei消息。

6)上文所论述的第六问题的可能的解决方案是施加如下约束条件:含有mcts嵌套sei消息的seinal单元不应含有不mcts嵌套于mcts嵌套sei消息中的任何其它sei消息。因此,源装置12、子位流提取单元24和目的地装置14可响应于含有mcts嵌套sei消息的父级sei消息而确定mcts嵌套sei消息不含有任何非mcts嵌套sei消息(且因此,可避免译码任何非mcts嵌套sei消息)。

7)如下技术可用以解决上文所论述的第七问题:

a.一种技术是如下改变mcts-eissei消息。在规定为语义的部分的mcts子位流提取过程中,代替提取用于一个mcts的子位流,而是提取用于一或多个mcts的集的子位流。因此,在置换sps中用信号发送所述mcts集的层次和层级以包含到所提取的子位流中。为了便于存取层次和层级信息,也可另外在mcts-eissei消息中用信号发送每一mcts集的层次和层级,前提是所述mcts集含有多于一个mcts。因此,子位流提取单元24和目的地装置14可从原始位流提取mcts子位流,使得mcts子位流包含两个或更多个mcts的集。应注意,这种解决方案还可解决上文所论述的第八问题。

i.提取相符位流可针对的每一mcts集可对应于mcts-eissei消息中指示的一个提取信息集。

ii.替代地,为保持多个可提取数据集共享置换vps、sps和pps的功能性,可应用以下语法改变:在提取信息集的循环内,添加一个更大循环,使得存在用信号发送的用于每一提取信息集的可提取mcts集的列表,并且针对每一可提取mcts集,用信号发送mcts识别符的列表。一个提取信息集的置换vps、sps和pps适用于任何特定可提取mcts集的子位流的提取。

b.另一解决方案是定义新sei消息以允许非相邻图块分组成一个mcts,只要所述图块集可合并成一个矩形样本区域即可。因此,源装置12、子位流提取单元24和目的地装置14可译码原始位流的一sei消息,所述sei消息包含表示可分组成共同运动受约束图块集(mcts)的非相邻图块的信息,且译码可分组成共同mcts的非相邻图块的图块索引的列表。除了以下方面,这类新sei消息的实例与时间mctssei消息相同:

i.使用不同sei有效负载类型。

ii.为了指示mcts中的图块集,代替使用两个语法元素top_left_tile_index[i][j]和bottom_right_tile_index[i][j],其按图块光栅扫描次序分别识别第i经识别时间运动受约束图块集的矩形区域中的左上方图块的图块位置和右下方图块的图块位置,而是使用图块索引的列表。

8)上文所论述的第八问题的可能的解决方案是将最大数目的所允许mcts的用信号发送改变为较大值,例如1024、2048或4096。因此,源装置12、子位流提取单元24和目的地装置14可译码mctssei消息的语法元素的值,其中所述语法元素表示时间mctssei消息中的用信号发送的mcts的数目,且语法元素的值指示mcts的数目大于256。

9)上文所论述的第九问题的可能的解决方案是将上限值改变为更合理的实用值,例如255、511、1023、2047或4095。作为一个实例且如下文将更详细地解释,代替语法元素num_extraction_info_sets_minus1的值处于0到232-2的范围内并且包含端点,所述值可在0到2047的范围内且包含端点。

以下是上文所描述的技术的一些实例组合。所提出的组合的此列表不意在为详尽的,这是因为还可实施任何其它组合。

1)技术1、2a、2b、3、4、5和6

2)技术1、2a、2b、3、4、5、6、8

3)技术1、2a、2b、3、4、5、6和7a

4)技术1、2a、2b、3、4、5、6、7a和8

5)技术1、2a、2b、3、4、5a和6

6)技术1、2a、2b、3、4、5a、6和7a

7)技术1、2a、2b、3和4

8)技术2a、2b、3和4

9)技术2a、2b、5和6

10)仅技术1

11)仅技术2a

12)仅技术2b

13)技术2a和2b

14)仅技术3

15)仅技术4

16)仅技术5

17)仅技术5a

18)仅技术6

19)仅技术7b

20)仅技术8

21)技术7b和8,其中技术8中的时间mctssei消息置换成技术7b中的新sei消息。

22)技术1、2a、2b、3、4、5和7b,其中除技术7b以外的技术中的时间mctssei消息置换成技术7b中的新sei消息。

23)技术1、2a、2b、3、4、5、7b和8,其中除技术7b以外的技术中的时间mctssei消息置换成技术7b中的新sei消息。

24)上述技术中的每一种都加上技术9。

视频编码器20可以进一步将例如基于块的语法数据、基于图片的语法数据和基于序列的语法数据等语法数据例如在图片标头、块标头、切片标头或例如序列参数集(sps)、图片参数集(pps)或视频参数集(vps)等其它语法数据中发送到视频解码器30。

视频编码器20和视频解码器30各自可实施为可适用的多种合适的编码器或解码器电路中的任一个,例如一或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、离散逻辑电路、软件、硬件、固件或其任何组合。视频编码器20和视频解码器30中的每一个可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一个可集成为组合式视频编码器/解码器(编解码器)的部分。包含视频编码器20和/或视频解码器30的装置可包括集成电路、微处理器和/或无线通信装置,例如蜂窝式电话。

图2是说明可实施用于使用运动受约束图块集(mcts)处理视频数据的技术的视频编码器20的实例的框图。视频编码器20可执行视频切片内的视频块的帧内和帧间译码。帧内译码依赖于空间预测来减小或移除给定视频帧或图片内的视频的空间冗余。帧间译码依赖于时间预测来减小或移除视频序列的相邻帧或图片内的视频中的时间冗余。帧内模式(i模式)可指代若干基于空间的译码模式中的任一种。例如单向预测(p模式)或双向预测(b模式)的帧间模式可指若干基于时间的译码模式中的任一个。

如图2中所示,视频编码器20接收待编码的视频帧内的当前视频块。在图2的实例中,视频编码器20包含模式选择单元40、参考图片存储器64(也可被称作经解码图片缓冲器(dpb))、求和器50、变换处理单元52、量化单元54和熵编码单元56。模式选择单元40又包含运动补偿单元44、运动估计单元42、帧内预测单元46和分割单元48。为了视频块重构,视频编码器20还包含逆量化单元58、逆变换单元60和求和器62。还可包含解块滤波器(图2中未示出)以对块边界进行滤波,从而从经重构视频移除成块假影。在需要时,解块滤波器通常将对求和器62的输出进行滤波。除了解块滤波器外,还可使用额外滤波器(回路中或回路后)。为简洁起见未示出这些滤波器,但是必要时,这些滤波器可对求和器50的输出进行滤波(作为循环内滤波器)。

在编码过程期间,视频编码器20接收待译码的视频帧或切片。所述帧或切片可划分成多个视频块。运动估计单元42和运动补偿单元44执行所接收视频块相对于一或多个参考帧中的一或多个块的帧间预测性编码以提供时间预测。帧内预测单元46可替代地执行对接收到的视频块相对于与待译码块相同的帧或切片中的一或多个相邻块的帧内预测性编码以提供空间预测。视频编码器20可执行例如多个译码遍次,以针对每一视频数据块选择适当的译码模式。

此外,分割单元48可基于前述译码遍次中的前述分割方案的评估,将视频数据块分割成子块。举例来说,分割单元48可一开始将帧或切片分割成ctu,且基于速率-失真分析(例如,速率-失真优化)将ctu中的每一个分割成子cu。模式选择单元40可以进一步产生指示ctu分割成子cu的四叉树数据结构。四叉树的叶节点cu可包含一或多个pu和一或多个tu。

模式选择单元40可例如基于错误结果选择预测模式(帧内或帧间)中的一个,并且将所得经预测块提供给求和器50以产生残余数据并且提供给求和器62以重构经编码块以供用作参考帧。模式选择单元40还将语法元素(例如,运动向量、帧内模式指示符、分割信息和其它这类语法信息)提供给熵编码单元56。

运动估计单元42和运动补偿单元44可高度集成,但出于概念的目的分别加以说明。由运动估计单元42执行的运动估计是产生运动向量的过程,所述过程估计视频块的运动。举例来说,运动向量可指示当前视频帧或图片内的视频块的pu相对于与当前帧(或其它经译码单元)内正被译码的当前块有关的参考帧(或其它经译码单元)内的预测性块的位移。预测性块是被发现就像素差来说与待译码块紧密匹配的块,所述像素差可通过绝对差总和(sad)、平方差总和(ssd)或其它差度量来确定。在一些实例中,视频编码器20可计算存储于参考图片存储器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可相对于全像素位置和分数像素位置执行运动搜索并且输出具有分数像素精度的运动向量。

运动估计单元42通过比较经帧间译码切片中的视频块的pu的位置与参考图片的预测性块的位置来计算所述pu的运动向量。参考图片可以选自第一参考图片列表(列表0)或第二参考图片列表(列表1),所述参考图片列表中的每一个识别存储在参考图片存储器64中的一或多个参考图片。运动估计单元42将计算出的运动向量发送到熵编码单元56和运动补偿单元44。

由运动补偿单元44执行的运动补偿可涉及基于由运动估计单元42确定的运动向量来提取或产生预测性块。此外,在一些实例中,运动估计单元42与运动补偿单元44可在功能上集成。在接收到当前视频块的pu的运动向量后,运动补偿单元44可在参考图片列表中的一个中定位所述运动向量指向的预测性块。如下文所论述,求和器50通过从经译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块。一般来说,运动估计单元42相对于明度分量执行运动估计,且运动补偿单元44对于色度分量和明度分量两者使用基于明度分量计算的运动向量。模式选择单元40也可产生与视频块和视频切片相关联的语法元素以供视频解码器30在解码视频切片的视频块时使用。

作为如上文所描述由运动估计单元42和运动补偿单元44执行的帧间预测的替代方案,帧内预测单元46可对当前块进行帧内预测。特定来说,帧内预测单元46可以确定用来对当前块进行编码的帧内预测模式。在一些实例中,帧内预测单元46可例如在独立编码遍次期间使用各种帧内预测模式编码当前块,且帧内预测单元46(或在一些实例中,模式选择单元40)可从测试的模式选择使用适当的帧内预测模式。

举例来说,帧内预测单元46可使用速率-失真分析计算各种经测试帧内预测模式的速率-失真值,并在所述测试的模式当中选择具有最佳速率-失真特性的帧内预测模式。速率-失真分析通常确定经编码块与若经编码将产生所述经编码块的原始的未经编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(即,位数目)。帧内预测单元46可从各种经编码块的失真和速率计算比率,以确定哪个帧内预测模式对于所述块展现最佳速率-失真值。

在选择用于块的帧内预测模式后,帧内预测单元46可将指示用于块的选定帧内预测模式的信息提供到熵编码单元56。熵编码单元56可编码指示选定帧内预测模式的信息。视频编码器20可在所传输的位流中包含配置数据,所述配置数据可包含多个帧内预测模式索引表和多个经修改的帧内预测模式索引表(还被称作码字映射表)、编码各种块的上下文的定义,以及用于所述上下文中的每一个的最可能帧内预测模式、帧内预测模式索引表和经修改帧内预测模式索引表的指示。

视频编码器20通过从正被译码的原始视频块减去来自模式选择单元40的预测数据来形成残余视频块。求和器50表示执行此减法运算的一或多个组件。变换处理单元52将例如离散余弦变换(dct)或概念上相似的变换的变换应用于残余块,从而产生包括变换系数值的视频块。可使用小波变换、整数变换、子频带变换、离散正弦变换(dst)或其它类型的变换来替代dct。在任何情况下,变换处理单元52将变换应用于残余块,从而产生残余变换系数块。所述变换可将残余信息从像素域转换到变换域,例如频域。变换处理单元52可将所得变换系数发送到量化单元54。量化单元54可量化所述变换系数以进一步减小位速率。量化过程可减小与系数中的一些或全部相关联的位深度。可以通过调整量化参数来修改量化程度。

在量化后,熵编码单元56熵译码经量化变换系数。举例来说,熵编码单元56可以执行上下文自适应可变长度译码(cavlc)、上下文自适应二进制算术译码(cabac)、基于语法的上下文自适应二进制算术译码(sbac)、概率区间分割熵(pipe)译码或另一熵译码技术。在基于上下文的熵译码的情况下,上下文可基于相邻块。在由熵编码单元56进行熵译码之后,可将经编码位流传输到另一装置(例如,视频解码器30),或将经编码位流存档以供稍后传输或检索。

逆量化单元58和逆变换单元60分别应用逆量化和逆变换以重构像素域中的残余块。特定来说,求和器62将经重构残余块添加到较早由运动补偿单元44或帧内预测单元46产生的运动补偿预测块以产生经重构视频块以供存储在参考图片存储器64中。经重构视频块可供运动估计单元42和运动补偿单元44用作参考块以帧间译码后续视频帧中的块。

图3是说明可实施用于使用运动受约束图块集(mcts)处理视频数据的技术的视频解码器30的实例的框图。在图3的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测单元74、逆量化单元76、逆变换单元78、参考图片存储器82和求和器80。在一些实例中,视频解码器30可执行与关于视频编码器20(图2)描述的编码遍次大体互逆的解码遍次。运动补偿单元72可基于从熵解码单元70接收的运动向量产生预测数据,而帧内预测单元74可基于从熵解码单元70接收的帧内预测模式指示符产生预测数据。

在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频块的视频块和相关联的语法元素的经编码视频位流。视频解码器30的熵解码单元70熵解码位流以产生经量化系数、运动向量或帧内预测模式指示符以及其它语法元素。熵解码单元70将运动向量和其它语法元素转发到运动补偿单元72。视频解码器30可在视频切片层级和/或视频块层级接收语法元素。

当视频切片经译码为经帧内译码(i)切片时,帧内预测单元74可以基于用信号发送的帧内预测模式和来自当前帧或图片的先前经解码块的数据,产生用于当前视频切片的视频块的预测数据。当视频帧经译码为经帧间译码(即,b或p)切片时,运动补偿单元72基于从熵解码单元70接收的运动向量和其它语法元素,产生用于当前视频切片的视频块的预测性块。可从参考图片列表中的一个内的参考图片中的一个产生预测性块。视频解码器30可基于存储在参考图片存储器82中的参考图片,使用默认构建技术构建参考帧列表,即列表0和列表1。运动补偿单元72通过解析运动向量和其它语法元素来确定用于当前视频切片的视频块的预测信息,且使用所述预测信息产生用于正被解码的当前视频块的预测性块。举例来说,运动补偿单元72使用所接收的语法元素中的一些确定用以对视频切片的视频块进行译码的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,b切片或p切片)、用于切片的参考图片列表中的一或多个的构建信息、用于切片的每一经帧间编码视频块的运动向量、切片的每一经帧间译码视频块的帧间预测状态,以及用以对当前视频切片中的视频块进行解码的其它信息。

运动补偿单元72也可基于内插滤波器执行内插。运动补偿单元72可使用由视频编码器20在编码视频块期间使用的内插滤波器来计算参考块的子整数像素的内插值。在此情况下,运动补偿单元72可根据所接收的语法元素来确定由视频编码器20使用的内插滤波器,且使用所述内插滤波器来产生预测性块。

逆量化单元76对提供于位流中且由熵解码单元70解码的经量化变换系数进行逆量化,即解量化。逆量化过程可包含使用由视频解码器30针对视频切片中的每一视频块计算以确定应当应用的量化程度以及同样地逆量化程度的量化参数qpy。

逆变换单元78将逆变换(例如,逆dct、逆整数变换或概念上类似的逆变换过程)应用于变换系数以便产生像素域中的残余块。

在运动补偿单元72基于运动向量和其它语法元素产生当前视频块的预测性块后,视频解码器30通过对来自逆变换处理单元78的残余块与由运动补偿单元72产生的对应预测性块求和而形成经解码的视频块。求和器80表示执行此求和运算的一或多个组件。必要时,解块滤波器还可应用于对经解码块进行滤波以便移除成块假影。还可使用其它循环滤波器(在译码循环中或在译码循环之后)来使像素转变变平滑或者以其它方式改进视频质量。接着将给定帧或图片中的经解码视频块存储在参考图片存储器82中,参考图片存储器82存储用于后续运动补偿的参考图片。参考图片存储器82还存储经解码视频以用于稍后呈现在显示装置(例如,图1的显示装置32)上。

图4是说明用于根据本发明的技术提取子位流的实例方法的流程图。图4的方法解释为由图1的子位流提取单元24执行。然而,应理解,其它单元或装置可被配置成执行图4的方法。举例来说,目的地装置14或视频解码器30可被配置成执行图4的方法。

初始地,子位流提取单元24接收位流的时间mctssei消息(100)。特定来说,子位流提取单元24可接收位流的存取单元中的mctssei消息。在此实例中,子位流提取单元24还接收位流的mcts-eissei消息(102)。根据本发明的技术的一些实例,仅当存取单元包含时间mctssei消息时,子位流提取单元24解码所述存取单元的mcts-eissei消息。

子位流提取单元24接着确定待从位流提取的子位流(104)。举例来说,子位流提取单元24可从目的地装置14接收对一或多个特定mcts的请求。子位流提取单元24确定用于将提取的一或多个mcts的将提取的参数集(例如,视频、序列和/或图片参数集)。即,mcts-eissei消息可包含对应于每一mcts的参数集的识别符。因此,子位流提取单元24提取将使用mcts-eissei消息提取的mcts的参数集(106)。

在一些实例中,响应于确定将使用mcts-eissei消息提取子位流,子位流提取单元24忽略所有含有非mcts嵌套式sei消息的seinal单元以免包含在所提取的子位流中,而不考虑非mcts嵌套式sei消息的网络抽象层(nal)单元标头层识别符值的值(108)。即,子位流提取单元24可提取其它seinal单元(例如,仅包含mcts嵌套式sei消息的那些seinal单元,所述mcts嵌套式sei消息例如含有mcts嵌套sei消息的sei消息)并且使这些所提取的seinal单元包含在所提取的位流中。

在一些实例中,在解码含有mcts嵌套sei消息的seinal单元之后,子位流提取单元24被配置成确定mcts嵌套sei消息不含有任何非mcts嵌套sei消息。即,子位流提取单元24可基于强加于原始位流的约束条件,确定含有mcts嵌套sei消息的任何seinal单元仅含有mcts嵌套sei消息,并且不含有任何非mcts嵌套sei消息。因此,响应于所述确定,响应于解码mcts嵌套sei消息,子位流提取单元24可将seinal单元的后续sei消息作为mcts嵌套sei消息进行解码。

子位流提取单元24还可使用例如时间mctssei消息的associatedpicset语法元素,确定包含与mcts-eissei消息相关联的mcts的图片集。特定来说,子位流提取单元24可避免解码mcts-eissei消息的associatedpicset语法元素,且仅解码时间mctssei消息的associatedpicset语法元素。

子位流提取单元24接着使用sei消息从相关联图片提取子位流的视频数据(110)。举例来说,子位流提取单元24可提取对应于mcts的待发送到目的地装置14的原始位流中的相关联图片的一或多个切片或图块的数据。在一些实例中,子位流提取单元24可确定子位流的含有属于相应mcts的一或多个图块的切片段至多取决于相同mcts内的切片段。以此方式,除了所确定的待呈现的mcts之外,子位流提取单元24无需提取任何mcts数据。以此方式,子位流提取单元24可使用mcts-eissei消息从存取单元提取可用mcts的子集。子位流提取单元24接着将所提取的子位流发送到目的地装置14和其视频解码器30(112)。

以此方式,图4的方法表示方法的实例包含确定视频数据的存取单元是否包含时间运动受约束图块集(mcts)补充增强信息(sei)消息;和仅当存取单元包含时间mctssei消息时解码存取单元的mcts提取信息集(mcts-eis)sei消息。

另外,图4的方法表示方法的实例包含确定至少部分地基于mcts提取信息集mcts-eis)补充增强信息(sei)消息的信息,从原始位流提取运动受约束图块集(mcts)子位流;和响应于确定提取mcts子位流,忽略所有含有非mcts嵌套式sei消息的sei网络抽象层(nal)单元以免包含在所提取的mcts子位流中,且不考虑非mcts嵌套式sei消息的nal单元标头层识别符值的值。

此外,图4的方法表示方法的实例包含解码视频位流的补充增强信息(sei)网络抽象层(nal)单元,所述seinal单元含有运动受约束图块集(mcts)嵌套sei消息;响应于seinal单元含有mcts嵌套sei消息,确定seinal单元不含有任何非mcts嵌套sei消息;以及响应于所述确定,将seinal单元的后续sei消息作为mcts嵌套sei消息进行解码。

图5是说明用于根据本发明的技术提取子位流的另一实例方法的流程图。为了清楚起见,图5示出为独立于图4的方法,不过应理解,在一些实例中,图4和5的方法可一起执行。举例来说,图5的方法的部分可大体对应于图4的步骤110。同样地,图5的方法还解释为由图1的子位流提取单元24执行。然而,应理解,其它单元或装置可被配置成执行图5的方法。举例来说,目的地装置14或视频解码器30可被配置成执行图5的方法。

在此实例中,子位流提取单元24初始地接收位流的时间mctssei消息(120)。子位流提取单元24还确定提取子位流,并且确定原始位流中的图片的每一图块是否自身就是单独mcts(122)。举例来说,子位流提取单元24可确定时间mctssei消息的each_tile_one_tile_set_flag语法元素的值以确定每一图块是否对应于单独图块集。

如果每一图块确实对应于单独图块集(122的“是”分支),那么子位流提取单元24可例如按光栅扫描次序将每一mcts的识别符值设置成一或多个对应图片中的图块的图块位置(124)。因此,在一些实例中,当相关联时间mctssei消息的each_tile_one_tile_set_flag等于1时,子位流提取单元24可按图块光栅扫描次序将每一mcts的mcts识别符设置成mcts中的对应图块的图块位置。

另一方面,如果每一图块不对应于单独图块集(124的(“否”)分支),例如如果图块集可包含两个或更多个图块,那么子位流提取单元24可确定时间mctssei消息中的mcts集的数目(126)。可由时间mctssei消息的num_sets_in_message_minus1语法元素的值来指示mcts集的数目。如在上表1的实例中所示,时间mctssei消息可包含对时间mctssei消息中的数个mcts集的循环,所述循环包含针对每一集重复一次用信号发送每一mcts集的各个语法元素的值。这类参数可包含例如mcts_id[i]。根据本发明的技术,子位流提取单元24重复处理如例如表1中所示的时间mctssei消息的mcts的语法元素的值(128)。此外,子位流提取单元24可将每一mcs的识别符值(例如,mcts_id[i])设置成等于重复位置(130),例如如表1中所示对mcts进行重复的for循环中的“i”。

在任一情况下,子位流提取单元24接着可使用mcts识别符提取子位流(132)并且将子位流发送到视频解码器30(图1)(134)。

以此方式,图5的方法表示方法的实例包含确定存取单元的时间运动受约束图块集(mcts)补充增强信息(sei)消息的语法元素的值,其中语法元素的值表示一或多个对应图片的所有图块是否包含在单独mcts中;和当语法元素的值指示对应图片的每一图块不包含在单独mcts中时,将存取单元的当前图片的mcts的mcts识别符设置成等于mcts的索引的值,所述当前图片是对应图片中的一个。

应认识到,取决于实例,本文中所描述的技术中的任一种的某些动作或事件可用不同顺序来执行,可添加、合并或全部省略所述动作或事件(例如,实践所述技术未必需要所有所描述动作或事件)。此外,在某些实例中,可例如通过多线程处理、中断处理或多个处理器同时而非依序执行动作或事件。

在一或多个实例中,所描述功能可用硬件、软件、固件或其任何组合来实施。如果用软件实施,则所述功能可以作为一或多个指令或代码在计算机可读媒体上存储或传输,并且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于如数据存储媒体或通信媒体的有形媒体,通信媒体例如根据通信协议包含有助于将计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可被一或多个计算机或一或多个处理电路存取以检索用于实施本发明中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。

借助于实例而非限制,此类计算机可读存储媒体可包括ram、rom、eeprom、cd-rom或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器,或可用以存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。并且,适当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(dsl)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,则同轴电缆、光纤缆线、双绞线、dsl或例如红外线、无线电和微波等无线技术包含在媒体的定义中。然而,应理解,有形计算机可读存储媒体和数据存储媒体并不包含连接、载波、信号或其它暂时性媒体,而实际上是针对非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(cd)、激光光盘、光学光盘、数字多功能光盘(dvd)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各项的组合也应包含于计算机可读媒体的范围内。

指令可以由一或多个处理器执行,所述一或多个处理器例如是一或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)或其它等效的集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指代上述结构或适用于实施本文中所描述的技术的任何其它结构中的任一个。另外,在一些方面中,本文中所描述的功能性可在被配置成用于编码和解码的专用硬件和/或软件模块内提供,或并入在组合编解码器中。并且,所述技术可完全实施于一或多个电路或逻辑元件中。

本发明的技术可实施于包含无线手持机、集成电路(ic)或一组ic(例如,芯片组)的多种装置或设备中。本发明中描述各种组件、模块或单元是为了强调被配置成执行所揭示的技术的装置的功能方面,但未必需要通过不同硬件单元实现。确切地,如上文所描述,各种单元可结合合适的软件和/或固件组合在编解码器硬件单元中,或由互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。

已描述了各种实例。这些和其它实例在所附权利要求书的范围内。

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