视频解码方法和设备、视频编码方法和设备与流程

文档序号:15848580发布日期:2018-11-07 09:28阅读:137来源:国知局
视频解码方法和设备、视频编码方法和设备与流程
本发明涉及视频编码和解码处理,且更具体地,涉及一种视频解码方法和设备、视频编码方法和设备、存储和生成位流的方法以及计算机可读介质。
背景技术
随着具有高清晰度(hd)分辨率的广播全国性和全世界性地扩展和服务,许多用户正在习惯于具有高分辨率和高snr的视频。因此,许多组织已经进行了用于开发下一代视频装置的很多尝试。此外,因为与hdtv一起、还对于具有比hdtv高4倍的分辨率的超高清晰度(uhd)存在增长的兴趣,所以需要压缩和处理具有较高分辨率和较高snr的视频的技术。为了压缩视频,可以使用帧间预测技术、帧内预测技术、熵编码技术等,在帧间预测技术中,从时间上之前和/或之后的画面预测当前画面中包括的像素的值,在帧内预测技术中,使用关于当前画面中包括的像素的信息预测当前画面中包括的像素的值,在熵编码技术中,将短码分配给具有高出现频率的码元并将长码分配给具有低出现频率的码元。视频压缩技术包括其中在硬件的受限操作环境下提供特定网络带宽、而不考虑柔性网络环境的技术。但是,为了压缩应用于包括频繁改变的带宽的网络环境的视频数据,需要新的压缩技术。为此,可以使用可伸缩的视频编码/解码方法。技术实现要素:技术问题本发明的目的是提供一种用于描述分层位流内的提取和可伸缩性信息的方法和设备。本发明的另一目的是提供一种用于表示关于以灵活的方式使用的各种位流的可伸缩性信息的方法和设备。本发明的又一目的是提供一种用于在分层位流内提供提取和可伸缩性信息、以使得可以在分组级别自适应地变换提取和可伸缩性信息的方法和设备。技术方案根据本发明实施例的视频解码设备包括:解析模块,用于解析接收画面的片段报头;解码模块,用于解码接收画面;和解码画面缓冲器(dpb),用于存储解码画面,其中,在dpb中标记解码画面作为基准画面,且基于解码画面的下一画面的片段报头中包括的基准画面信息来再次标记解码画面是基准画面、还是非基准画面。所述解析模块解析包括关于编码视频的信息的网络抽象层(nal)单元的nal单元报头,且所述nal单元报头不包括当编码视频时指示nal单元是整个位流中的非基准画面、还是基准画面的1位的标志信息。所述nal单元报头包括:层标识信息,用于识别支持可伸缩层的位流中的可伸缩层。用于指示nal单元是整个位流中的非基准画面、还是基准画面的标志信息的1位用于发信号通知所述层标识信息。根据本发明实施例的视频解码方法可以包括:解码接收画面;在解码画面缓冲器(dpb)中标记解码画面作为基准画面;解析解码画面的下一画面的片段报头;和基于片段报头中包括的基准画面信息来标记解码画面是基准画面、还是非基准画面。所述视频解码方法可以包括:解析包括关于编码视频的信息的网络抽象层(nal)单元的nal单元报头,且所述nal单元报头不包括当编码视频时指示nal单元是整个位流中的非基准画面、还是基准画面的1位的标志信息。所述nal单元报头包括:层标识信息,用于识别支持可伸缩层的位流中的可伸缩层。用于指示nal单元是整个位流中的非基准画面、还是基准画面的标志信息的1位用于发信号通知所述层标识信息。一种视频编码设备可以包括:编码模块,用于编码包括由相应的片段参考的基准画面信息的片段报头;和传输模块,用于发送包括片段报头的位流。所述编码模块编码包括关于编码视频的信息的网络抽象层(nal)单元的nal单元报头,且所述nal单元报头不包括当编码视频时指示nal单元是整个位流中的非基准画面、还是基准画面的1位的标志信息。所述nal单元报头包括:层标识信息,用于识别支持可伸缩层的位流中的可伸缩层。所述编码模块使用用于指示nal单元是整个位流中的非基准画面、还是基准画面的标志信息的1位,来编码所述层标识信息。一种视频编码方法可以包括:编码包括由相应的片段参考的基准画面信息的片段报头;和发送包括片段报头的位流。所述视频编码方法可以进一步包括:编码包括关于编码视频的信息的网络抽象层(nal)单元的nal单元报头;和发送包括nal单元的位流,其中,所述nal单元报头不包括当编码视频时指示nal单元是整个位流中的非基准画面、还是基准画面的1位的标志信息。所述nal单元报头包括:层标识信息,用于识别支持可伸缩层的位流中的可伸缩层。用于指示nal单元是整个位流中的非基准画面、还是基准画面的标志信息的1位用于编码所述层标识信息。一种视频解码设备可以包括:解析模块,用于接收包括关于活动参数集的信息的补充增强信息(sei)消息,并且解析关于参数集的信息。关于活动参数集的信息包括:对活动视频参数集(vps)编索引的信息和对活动序列参数集(sps)编索引的信息的至少一个。关于活动参数集的信息包括:对活动vps编索引的信息、指示参考活动vps的sps的数目的信息、和对sps编索引的信息。关于参数集的信息用于提取提供时间、空间、质量和视图可伸缩性的至少一个的子层或者层。关于参数集的信息用于参考或者激活用于解码视频编码层网络抽象层(nal)单元的参数集。sei消息包括:对vps编索引的信息和对sps编索引的信息的至少一个,且所述视频解码设备进一步包括:解码模块,用于激活与对vps编索引的信息和对sps编索引的信息对应的vps和sps的至少一个。一种视频解码方法可以包括:接收包括关于活动参数集的信息的补充增强信息(sei)消息;和解析关于参数集的信息。关于活动参数集的信息包括:对活动视频参数集(vps)编索引的信息和对活动序列参数集(sps)编索引的信息的至少一个。关于活动参数集的信息包括:对活动vps编索引的信息、指示参考活动vps的sps的数目的信息、和对sps编索引的信息。关于参数集的信息用于提取提供时间、空间、质量和视图可伸缩性的子层。关于参数集的信息用于参考或者激活用于解码视频编码层网络抽象层(nal)单元的参数集。sei消息包括:对vps编索引的信息和对sps编索引的信息的至少一个,且所述视频解码方法进一步包括:激活与对vps编索引的信息和对sps编索引的信息对应的vps和sps的至少一个。一种视频编码设备可以包括:编码模块,用于编码包括关于活动参数集的信息的补充增强信息(sei)消息;和传输模块,用于发送包括sei消息的位流。关于活动参数集的信息包括:对活动视频参数集(vps)编索引的信息和对活动序列参数集(sps)编索引的信息的至少一个。关于活动参数集的信息包括:对活动vps编索引的信息、指示参考活动vps的sps的数目的信息、和对sps编索引的信息。关于参数集的信息用于提取提供时间、空间、质量和视图可伸缩性的子层。关于参数集的信息用于参考或者激活用于解码视频编码层网络抽象层(nal)单元的参数集。一种视频编码方法可以包括:编码包括关于活动参数集的信息的补充增强信息(sei)消息;和发送包括sei消息的位流。关于活动参数集的信息包括:对活动视频参数集(vps)编索引的信息和对活动序列参数集(sps)编索引的信息的至少一个。关于活动参数集的信息包括:对活动vps编索引的信息、指示参考活动vps的sps的数目的信息、和对sps编索引的信息。关于参数集的信息用于提取提供时间、空间、质量和视图可伸缩性的子层。关于参数集的信息用于参考或者激活用于解码视频编码层网络抽象层(nal)单元的参数集。技术效果根据本发明的实施例,可以提供一种用于描述分层位流内的提取和可伸缩性信息的方法和设备。根据本发明的实施例,可以提供一种用于表示关于以灵活的方式使用的各种位流的可伸缩性信息的方法和设备。本发明的另一实施例,可以提供一种用于在分层位流内提供提取和可伸缩性信息、以使得可以在分组级别自适应地变换提取和可伸缩性信息的方法和设备。附图说明图1是示出了根据示例性实施例的视频编码设备的结构的实例的框图;图2是示出了根据示例性实施例的视频解码设备的结构的实例的框图;图3是示意性地示出了本发明可以应用的、使用多层的可伸缩视频编码(svc)结构的示例性实施例的概念图;图4是图示根据本发明的编码视频信息的方法的控制流程图;和图5是图示根据本发明的解码视频信息的方法的控制流程图。具体实施方式参考附图来详细描述本发明的一些示例性实施例。但是,在描述本说明书的实施例时,如果认为使得本发明的主旨不必要地不清楚,则将省略公知功能和结构的详细说明。在本说明书中,当叙述一个要素与另一要素“连接”或者“耦合”时,可以意味着一个要素可以与另一要素直接连接或耦合,或者第三要素可以“连接”或者“耦合”在这两个要素之间。此外,在本说明书中,当叙述“包括”特定要素时,可以意味着不排除除了该特定要素之外的要素,且另外的要素可以包括在本发明的示例性实施例或者本发明的技术范围中。比如第一和第二的术语可以用于描述各种要素,但是要素不由该术语限制。该术语仅用于区分一个要素与另一要素。例如,第一要素可以命名为第二要素,而不脱离本发明的范围。同样地,第二要素可以命名为第一要素。此外,本发明的示例性实施例中描述的要素单元可以独立地示出,以指示差别和特性功能,且这不意味着每一个要素单元由一件单独的硬件或者一件软件形成。也就是,为了说明的方便起见,排列和包括要素单元,且至少两个要素单元可以形成一个要素单元或者一个要素可以划分为多个要素单元且该多个划分的要素单元可以执行功能。要素集成到其中的实施例或者从其分离一些要素的实施例也包括在本发明的范围中,除非它们脱离了本发明的实质。此外,在本发明中,一些要素不是用于执行必需功能的必需要素,而可以是仅用于改进性能的可选要素。本发明可以仅使用用于实现本发明的实质的、除了仅用于改进性能的要素之外的必需要素来实现,且仅包括除了仅用于改进性能的可选要素之外的必需要素的结构包括在本发明的范围中。图1是示出了根据示例性实施例的视频编码设备的结构的实例的框图。可伸缩视频编码/解码方法或者设备可以由不提供可伸缩性的普通的视频编码/解码方法或者设备的扩展来实现。图1的框图示出了可以成为用于可伸缩视频编码设备的基础的视频编码设备的示例性实施例。参考图1,视频编码设备100包括运动预测模块111、运动补偿模块112、帧内预测模块120、开关115、减法器125、变换模块130、量化模块140、熵编码模块150、去量化模块160、逆变换模块170、加法器175、滤波器180和基准画面缓存器190。视频编码设备100可以以帧内模式或者帧间模式关于输入画面执行编码,并输出作为编码的结果的位流。在本说明书中,帧内预测具有与画面内预测相同的含义,且帧间预测具有与画面间预测相同的含义。在帧内模式的情况下,开关115可以切换到帧内模式。在帧间模式的情况下,开关115可以切换到帧间模式。视频编码设备100可以产生输入画面的输入块的预测块,且然后编码输入块和预测块之间的余量(residual)。在帧内模式的情况下,帧内预测模块120可以通过使用已经编码的当前块的相邻块的像素值执行空间预测,来产生预测块。在帧间模式的情况下,运动预测模块111可以通过对于与运动估计处理中的输入块最好匹配的区域、搜索基准画面缓存器中存储的基准画面,来获得运动矢量。运动补偿模块112可以通过使用运动矢量和基准画面缓存器190中存储的基准画面执行运动补偿,来产生预测块。减法器125可以基于输入块和产生的预测块之间的余量,产生余量块。变换模块130可以关于余量块执行变换,并根据变换的块输出变换系数。此外,量化模块140可以通过使用量化参数和量化矩阵中的至少一个量化接收的变换系数,来输出量化系数。熵编码模块150可以根据基于由量化模块140计算的值或者在编码处理中计算的编码参数值的概率分布,关于码元执行熵编码,并输出作为熵编码的结果的位流。熵编码方法是接收具有各种值的码元和在从码元去除统计冗余的同时以可解码的二进制数的串的形式表示码元的方法。这里,码元指的是要编码或者解码的语法要素和编码参数,余量信号的值等。编码参数是编码和解码所需的参数。编码参数可以不仅包括由编码器编码并然后与语法要素一起传送给解码器的信息,而且包括在编码或者解码处理中可能引出的信息。编码参数指的是编码或者解码视频所需的信息。编码参数例如可以包括:帧内/帧间预测模式的值或者统计、运动矢量、基准画面索引、编码块模式(pattern)、关于是否存在余量信号的信息、变换系数、已量化变换系数、量化参数、块大小和块分区信息。此外,余量信号可以指的是原始信号和预测信号之间的差值。此外,余量信号可能指的是通过变换原始信号和预测信号之间的差值而获得的信号,或者通过变换和量化原始信号和预测信号之间的差值而获得的信号。在块单位中,余量信号可以称作余量块。如果使用熵编码,则可以减小要编码的码元的位流大小,这是因为通过将少量位分配给具有高出现频率的码元并且将大量位分配给具有低出现频率的码元来表示码元。因此,可以通过熵编码改进视频编码的压缩性能。对于熵编码,可以使用比如指数哥伦布(golomb)、上下文自适应可变长度编码(cavlc)和上下文自适应二进制运算编码(cabac)之类的编码方法。例如,比如可变长度编码/代码(vlc)表之类的用于执行熵编码的表可以存储在熵编码模块150中,且熵编码模块150可以使用存储的vlc表执行熵编码。此外,熵编码模块150可以导出用于目标码元的二值化方法和用于目标码元/箱(bin)的概率模型,并使用导出的二值化方法或者概率模型执行熵编码。量化系数由去量化模块160去量化,且然后由逆变换模块170逆变换。去量化和逆变换系数可以通过加法器175加到预测块,由此产生重构块。重构块经历滤波器180。滤波器180可以应用解组块(deblock)滤波器、样本自适应偏移(sao)和自适应环路滤波器(alf)的一个或多个到重构块或者重构画面。已经经历滤波器180的重构块可以存储在基准画面缓存器190中。图2是示出了根据示例性实施例的视频解码设备的结构的实例的框图。如上参考图1所述,可伸缩视频编码/解码方法或者设备可以由不提供可伸缩性的普通的视频编码/解码方法或者设备的扩展来实现。图2的框图示出了可能成为用于可伸缩视频解码设备的基础的视频解码设备的示例性实施例。参考图2,视频解码模块200包括熵解码模块210、逆量化模块220、逆变换模块230、帧内预测模块240、运动补偿模块250、滤波器260和基准画面缓存器270。视频解码设备200可以接收从编码器输出的位流,以帧内模式或者帧间模式关于位流执行解码,和输出所重构的画面,即,重构画面。在帧内模式的情况下,开关可以切换到帧内模式。在帧间模式的情况下,开关115可以切换到帧间模式。视频解码设备200可以从接收的位流获得重构的余量块,产生预测块,且然后通过将重构的余量块加到预测块来产生所重构的块,即,重构块。熵解码模块210可以通过根据概率分布关于接收的位流执行熵解码,来产生包括具有量化系数形式的码元的码元。熵解码方法是接收二进制数的串并使用二进制数的串产生每个码元的方法。熵解码方法类似于上述熵编码方法。量化系数由逆量化模块220去量化,且由逆变换模块230逆变换。作为量化系数的去量化/逆变换的结果,可以产生余量块。在帧内模式的情况下,帧内预测模块240可以通过使用与当前块相邻的已经解码的块的像素值执行空间预测,来产生预测块。在帧间模式的情况下,运动补偿模块250可以通过使用运动矢量和基准画面缓存器270中存储的基准画面执行运动补偿,来产生预测块。余量块和预测块由加法器255加在一起。相加的块经历滤波器260。滤波器260可以应用解组块滤波器、sao和alf的至少一个到重构块或者重构画面。滤波器260输出所重构的画面,即,重构画面。重构画面可以存储在基准画面缓存270中且可以用于帧间预测。从视频解码设备200中包括的熵解码模块210、逆量化模块220、逆变换模块230、帧内预测模块240、运动补偿模块250、滤波器260和基准画面缓存器270中,直接关于视频解码的元件,例如,熵解码模块210、逆量化模块220、逆变换模块230、帧内预测模块240、运动补偿模块250和滤波器260可以表示为解码模块,以将其与其他元件区分。此外,视频解码设备200可以另外包括用于解析关于位流中包括的编码视频的信息的解析模块(未示出)。解析模块可以包括熵解码模块210,或者解析模块可以包括在熵解码模块210中。解析模块可以表示为解码模块的元件之一。图3是示意性地示出了本发明可以应用的、使用多层的可伸缩视频编码(svc)结构的示例性实施例的概念图。在图3中,画面组(gop)指示画面的组,即,一组画面。为了发送视频数据,需要传输介质,且传输介质取决于各种网络环境而具有不同性能。为了应用于各种传输介质或者网络环境,可以采用可伸缩视频编码(svc)方法。svc方法是通过使用层之间的纹理信息、运动信息、余量信号等去除层之间的冗余来改进编码/解码性能的编码方法。svc方法可以取决于周围条件,比如传输位速率、传输差错率和系统资源,而从空间、时间和信噪比(snr)的视点提供各种可伸缩性。可以使用多层结构执行svc,以使得可以提供可应用于各种网络条件的位流。例如,svc结构可以包括可以通过利用普通视频编码方法压缩和处理其视频数据的基层,且可以包括可以通过使用基层的编码信息和普通视频编码方法两者压缩和处理其视频数据的增强层。这里,层指的是基于空间分辨率(例如,图像大小)、时间分辨率(例如,编码次序、画面输出次序和帧速率)、snr和复杂性分类的画面和位流的集合。此外,基层可以指基准层,且增强层可以指增强层。此外,多层可以在它们之间具有相关性。例如,参考图3,基层可以由标准清晰度(sd)、15hz的帧速率和1mbps的位速率定义。第一增强层可以由高清晰度(hd)、30hz的帧速率、3.9mbps的位速率定义。第二增强层可以由4k超高清晰度(uhd)、60hz的帧速率和27.2mbps的位速率定义。格式、帧速率、位速率等仅是示例性实施例,且如有必要,可以不同地确定。此外,使用的层的数目不限于当前示例性实施例,且可以根据情况不同地确定。例如,如果传输带宽是4mbps,则第一增强层hd的帧速率可以减小到小于15hz。svc方法可以根据上面与图3的示例性实施例相关描述的方法提供时间、空间和snr可伸缩性。svc从编码视点上看,具有与可伸缩视频编码相同的含义,且从解码视点上看,具有与可伸缩视频解码相同的含义。如上所述,可伸缩性由于异构通信网络和各种终端的缘故而现在成为视频格式的重要功能。开发了svc,即,先进视频编码(avc)的扩展标准,以产生具有大范围位速率的位流,同时维持压缩效率到最高程度。为了满足各种装置和网络的特性和改变,可以以多种方式容易地提取svc位流。也就是,svc标准提供空间、时间和snr可伸缩性。同时,包括多层的位流由使能视频经分组交换网络的自适应传输的网络抽象层(nal)单元组成。就像在多层中那样,在位流内包括多个多视图视频的多视图视频编码中的多个视图之间的关系类似于在支持多层的视频中空间层之间的关系。为了在内容传送路径中的所有节点中有效地和高效地变换位流,关于位流的可伸缩性信息是非常重要的。在用于单层的视频编码(即,高效率视频编码)的当前标准中,关于层信息的两个字段,即,时间id(temporal_id)和保留一个5位(reserved_one_5bits)存在于nal单元(以下简称为‘nalu’)报头中。具有3位的长度的字段‘temporal_id’指示视频位流的时间层,且字段‘reserved_one_5bits’对应于用于指示另一后续层信息的区域。时间层指的是包括视频编码层(vcl)nalu的时间上可伸缩的位流的层,且时间层具有特定的temporal_id值。本发明涉及有效地描述支持多层的位流内关于画面的提取信息和可伸缩性信息并发信号通知提取信息和可伸缩性信息的方法、和用于实现该方法的设备。在本发明中,位流被分为两个类型:仅支持时间可伸缩性的基类型和能够具有支持空间/snr/多视图的可伸缩性的扩展类型。位流的第一类型涉及支持单层视频的位流,且其第二类型涉及基于hevc的分层视频编码中的增强层。以下,提出了用于表示关于两个位流类型的可伸缩性信息的改进方法。根据本发明,在扩展的类型中,5位的‘reserved_one_5bits’可以用作指示可伸缩层的标识符的层id(layer_id)。从nalu报头去除nal_ref_flagnal基准标志(nal_ref_flag)用于指示非基准画面。该信息指示非基准画面和基准画面之间的近似优先级,但是nal_ref_flag的使用稍微受限。基准画面指的是包括当以解码次序解码后续画面时可以用于帧间预测的样本的画面。非基准画面指的是包括当以解码次序解码后续画面时未用于画面间预测的样本的画面。nal_ref_flag是指示以下信息的标志,该信息在编码时指示在整个位流中相应的nalu是非基准画面、还是基准画面。当nal_ref_flag的值是1时,nalu指的是其包括序列参数集(sps)、画面参数集(pps)、自适应参数集(aps)、或者基准画面的片段(slice)。当nal_ref_flag的值是0时,nalu指的是其包括包含非基准画面的某些部分或者整个非基准画面的片段。这里,nal_ref_flag的值是1的nalu可以包括基准画面的片段。nal_ref_flag对于视频参数集(vps)、序列参数集(sps)、或者画面参数集(pps)的nalu具有值1。如果在特定画面的vclnalu之一中nal_ref_flag的值是0,则nal_ref_flag对于该画面的所有vclnalu具有值0。同时,如果提取所有非基准画面,特别地,主要与最高时间层对应的非基准画面,则提取之后剩余的所有画面的nal_ref_flag变为1。但是,虽然nal_ref_flag的值是1,但是,自适应地变换的位流的某些画面,即,在剩余位流中与最高时间层对应的画面,变为非基准画面。换句话说,nalu报头的另一语法要素(例如,temporal_id)可以在支持自适应变换(或者提取)方面更有效。也就是,可以使用包括位流的时间层的总数和nalu报头的temporal_id的值,提取包括所需时间层的位流。此外,当解码(重构)由包括nal_ref_flag的nalu形成的画面且然后在比如解码画面缓冲器(dpb)之类的存储器中存储解码的画面时,nal_ref_flag也可以用于指示相应的画面是否将随后用作基准画面。如果nal_ref_flag的值是1,则其指示相应的画面随后用作基准画面。如果nal_ref_flag的值是0,则其指示相应的画面随后不用作基准画面。当在dpb中存储解码画面、而不基于nal_ref_flag确定相应的nalu是非基准画面、还是基准画面时,解码画面可以表示为基准画面。在该情况下,虽然解码画面是非基准画面,但是表示为基准画面,因为当以解码次序解码相应的画面的下一画面时、相应的画面将不包括在下一画面的片段报头中传送的基准画面列表中,所以没有问题。也就是,当解码下一画面时,基于下一画面的片段报头中包括的基准画面列表指示先前的解码画面是基准画面、还是非基准画面。因此,即使解码画面表示为基准画面、而不考虑nal_ref_flag,在确定解码画面是基准画面、还是非基准画面上也没有问题。本发明提出了从nalu报头删除nal_ref_flag或者改变nal_ref_flag的语义。关于nal_ref_flag的删除的实施例如下。实施例1标志‘nal_ref_flag’改变为片段基准标志(slice_ref_flag),且标志的位置从nalu报头移动到片段报头。片段报头的语法可以如在表1中那样修改。<表1>在表1中,当slice_ref_flag的值是1时,其指示片段是基准画面的一部分。当slice_ref_flag的值是0时,其指示片段是基准画面的某些部分。实施例2标志‘nal_ref_flag’改变为au基准标志(au_ref_flag),且标志的位置从nalu报头移动到访问单元定界符。访问单元定界符的语法可以与表2相同。<表2>在表2中,当au_ref_flag的值是1时,其指示访问单元包括基准画面。当au_ref_flag的值是0时,其指示访问单元包括非基准画面。实施例3nal_ref_flag不是移动到另一语法,而是从nalu报头删除nal_ref_flag。如果当解码画面时指示整个位流中画面是非基准画面、还是基准画面的nal_ref_flag,即,1位的标志信息,被删除,则可以通过另一处理执行通过nal_ref_flag的画面是否是基准画面的确定。在解码接收画面之后,在解码画面缓冲器(dpb)中无条件地指示解码画面作为基准画面。也就是,可以不确定解码画面是否是基准画面,但是解码画面可以指示为基准画面。此后,解析紧挨着解码画面的画面的片段报头,且可以基于片段报头中包括的基准画面信息指示解码画面是基准画面、还是非基准画面。实施例4可以从nalu报头删除nal_ref_flag,且temporal_id可用于指示nalu是非基准画面。为了指示非基准画面,temporal_id可以是‘7’,位流中包括的时间层的最大数目-1(即,max_temporal_layers_minus1),或者除了‘0’之外的预设值。实施例5可以从nalu报头删除nal_ref_flag,且reserved_one_5bits可以用作优先级id(priority_id)要素,以指示nalu是非基准画面。priority_id是指示相应的nalu的优先级的标识符,且用于基于优先级提供位流提取功能,而与不同的空间、时间和snr无关。也就是,如果temporal_id=ta是最高时间层的标识符,则temporal_id=ta和nalu,即,priority_id=31(或者另一特定值)用于指示nalu是非基准画面的nalu。用于发信号通知nal_ref_flag的1位可以用作以下事项之一。(1)1位可用于指示nal单元类型(nal_unit_type)。nal_unit_type可以为7位信号,且nalu类型的数目可以加倍。(2)1位可用于指示temporal_id。temporal_id可以为4位信号,且时间层的最大数目可以加倍。(3)1位可用于指示layer_id。layer_id指的是分层位流的可伸缩层的标识符且可以由reserved_one_5bits语法要素来发信号通知。用于发信号通知nal_ref_flag的1位可以与用于标识可伸缩层的reserved_one_5bits的5位相加,且由此layer_id可以为6位的信号。如果使用6位,则可以标识64个可伸缩层。(4)1位可以用作通知reserved_one_5bits是否指示优先级的标志。(5)1位可以用作保留位(reserved_bit)。如果不从nalu报头删除nal_ref_flag,则nal_ref_flag的语义可以如下修改。当nal_ref_flag的值是0时,其指示nalu仅包括非基准画面的片段。当nal_ref_flag的值是1时,其指示nalu可以包括基准画面或者非基准画面的片段。视频参数集(vps)的激活信令vps包括用于解码视频的最基本信息,且可以包括现有的sps中存在的内容。vps可以包括关于表示支持时间可伸缩性的时间层的子层的信息和关于支持空间、质量和视图可伸缩性的多层的信息。也就是,vps可以包括多层信息,即,用于hevc扩展的语法。a.视频参数集用于vps的语法与表3相同。<表3>在表3中,大多数语法具有与应用于包括单层的位流的sps语法相同的语义,且另外的部分如下。-视频参数集id(video_parameter_set_id)指的是vps的标识符,且可以对序列参数集(sps)、补充增强信息(sei)或访问单元定界符中的video_parameter_set_id做出参考。-当priority_id_flag的值是1时,其指示reserved_one_5bits可以与svc标准的priority_id同样地使用。当priority_id_flag的值是0时,这意味着reserved_one_5bits可以用作layer_id。-当扩展信息标志(extension_info_flag)的值是0时,其指示位流符合hevc的单层标准。当extension_info_flag的值是1时,其指示用于支持可伸缩性的增强层(即,当支持hevc扩展时),且提供关于层的信息。b.序列参数集(sps)的修改如在表4中,某些现有的语法可以并入vps中且可以从sps删除。同时,vps_id语法要素可以添加到sps。vps_id已经添加到的sps语法与表4相同。在表4中,由通过语法的中间的行指示删除的语法。vps_id指示用于标识在sps中可以对其做出参考的vps的标识符,且可以具有0到x的范围。<表4>c.vps的激活信令片段报头包括关于相应的片段参考的画面参数集(pps)的索引信息,且pps包括关于相应的画面参考的序列参数集(sps)的索引信息。sps包括关于相应的序列参考的视频参数集(vps)的信息。如上所述,当解析关于参数集的信息,且然后参考关于解析的参数集的信息时,其被称作激活。为了使用关于特定参数集的信息,即,为了激活参数集,需要从片段报头逐渐地解析参数集。这意味着需要分析所有片段报头和有关的pps,以知道激活什么sps。当从包括单层的位流提取子层(即,时间层)的某些部分时,提取器需要分析(或者解析)nalu报头和多个参数集。如果用于nalu的提取的信息包括在vps或者sps中,则提取器需要从片段报头顺序地解析较高的参数集。这意味着提取器需要了解参数集和片段报头的所有语法要素。另一方面,当甚至在视频解码处理中也没有复杂的解析处理的情况下,可以搜索vps_id或者sps_id且可以仅激活需要的参数集。在该情况下,如果vps或者sps包括要激活的参数索引信息,则可以减少用于复杂的片段报头和相关pps的解析过程。同时,仅语法的某些要素可能包括提取位流所需的各条信息。然而,分析所有语法要素可能变为提取器上的大负担。为了解决该问题,提出以下方法。在本发明中,参数集的激活指的是执行信令以使得提取器可以知道激活什么参数集、而不用分析片段报头和相关的画面参数集(pps)。根据本发明,可以另外发信号通知哪个vpssps或者pps是活动的,以使得需要分析所有片段报头和相关的pps的提取器上的负担减小。可以更新vps。可以使用以下三个方法之一,以使得提取器可以知道活动的vps和相关的sps或者pps,而不用分析片段报头。(1)vps_id、sps_id和pps_id可以包括在访问单元定界符中。vps_id、sps_id和pps_id指示用于相关的au的nalu的各个vps、sps和pps的标识符。为了指示标识符是否存在于访问单元定界符中,使用vps_id存在标志(vps_id_present_flag)、sps_id存在标志(sps_id_present_flag)和pps_id存在标志(pps_id_present_flag)。提出的访问单元定界符的语法可以与表5相同。<表5>(1-1)在另一方法中,排除sps_id和pps_id且仅vps_id可以包括在如在表6中的访问单元定界符中。<表6>(2)用于vps的激活信令的另一方法是使用新的sei消息‘参数设置基准(parameter_set_reference)’。sei消息包括用于通知指示用于相关的au内的nalu的vps、sps和pps的标识符的vps_id、sps_id和pps_id是否存在的语法。为了指示标识符是否存在,可以使用vps_id_present_flag、sps_id_present_flag和pps_id_present_flagsyntax,且sei语法与表7相同。<表7>(2-1)此外,可以通过排除pps_id和在sei消息中包括sps_id和vps_id,如在<表8>中一样,来通知vps和sps的激活。sei消息中的sps_id和vps_id可以包括与sei消息相关联的访问单元的视频编码层nalu参考的sps_id和vps_id。因此,sps_id和vps_id可以指示关于具有激活的可能性的参数集的信息。<表8>在表8中,vps_id指示现在激活的vps的video_parameter_set_id。vps_id的值可以具有0-15的值。如果sps_id_present_flag具有值1,则其指示现在激活的sps的sequence_parameter_set_id包括在相应的sei消息中。如果sps_id_present_flag具有值0,则其指示现在激活的sps的sequence_parameter_set_id不包括在相应的sei消息中。sps_id指示现在激活的sps的sequence_parameter_set_id。sps_id可以具有0-31的值,更限制地,0-15的值。当psr扩展标志(psr_extension_flag)的值是0时,其指示sei消息扩展语法要素不包括在sei消息中。当psr_extension_flag的值是1时,其指示扩展并使用包括sei消息的sei消息扩展语法要素。psr扩展长度(psr_extension_length)指示psr扩展数据(psr_extension_data)的长度。psr_extension_length可以具有范围从0到256的值,且psr扩展数据字节(psr_extension_data_byte)可以具有任何值。(2-2)此外,除了pps_id之外的一个或多个sps_id和vps_id可以包括在sei消息中并然后发信号通知,如在表9中一样。<表9>在表9中,vps_id指示活动vps的video_parameter_set_id。vps_id可以具有0-15的值。数目基准sps(num_reference_sps)指示参考活动的vps_id的sps的数目。sps_id(i)指示活动sps的sequence_parameter_set_id,且sps_id可以具有0-31的值,更限制地,0-15的值。(2-3)此外,除了sps_id和pps_id之外仅vps_id可以包括在sei消息中并然后发信号通知,如在表10中一样。<表10>parameter_set_reference(payloadsize){描述符vps_idue(v)}(3)用于vps的激活信令的另一方法是在缓冲时段sei消息中包括通知vps_id、sps_id和pps_id的信息。表11示出了包括指示vps_id、sps_id和pps_id是否存在的vps_id_present_flag、sps_id_presen和pps_id_present_flag的语法。<表11>(3-1)此外,如在表12中,可以通过在缓冲时段sei消息中除了sps_id和pps_id之外仅包括vps_id来发信号通知vps的激活。<表12>(4)用于参数集的激活信令的另一方法是在恢复点sei消息中包括通知vps_id、sps_id和pps_id的信息。表13示出了包括指示vps_id、sps_id和pps_id是否存在的vps_id_present_flag、sps_id_present_flag和pps_id_present_flag的语法。<表13>(4-1)此外,如表14,可能有通过在恢复点sei消息中除了sps_id和pps_id之外仅包括vps_id来通知vps_id、sps_id和pps_id的方法。<表14>用于传送vps_id或者sps_id的消息可以包括在帧内随机访问点(irap)访问单元中。如果上述信息信令方法中的任何一个包括在访问单元中并被使用,则提取器可以通过上述的信令方法识别vps_id、sps_id和pps_id值以提取位流,且可以管理一个或多个vps/sps/pps。此外,用于执行解码的解码设备或者解码模块可以通过上述的信令方法识别vps_id、sps_id和pps_id值,且可以通过激活参数集、以信令方法来解码关联的au。扩展类型中位流的表示以下,提出了vps的扩展信息()(extension_info())和新的sei消息,以在包括支持层扩展的位流时,描述和发信号通知关于可伸缩层的信息。为了表示扩展类型中的位流,可以发信号通知以下信息。layer_id发信号通知是否其传送层的优先级值。这里,可以响应于每一layer_id值来发信号通知空间层(其由相关性id(dependency_id)值识别)、snr层(其由质量id(quality_id)值识别)、视图(其由视图id(view_id)值识别)等,且可以由nalu报头的temporal_id识别时间层。此外,可以通过区域id(region_id)发信号通知关于layer_id的视频的区域。此外,可以发信号通知每一可伸缩层的相关性信息、位速率信息和每一可伸缩层的质量信息。extension_info()语法与表15相同。<表15>表15的语法的语义如下。-数目帧尺寸减1(num_frame_sizes_minus1)加1指示编码视频序列中包括的其他类型的画面的尺寸信息的最大数目(例如,luma样本中的画面宽度(pic_width_in_luma_samples[i])、luma样本中的画面高度(pic_height_in_luma_samples[i])、画面切割标志(pic_cropping_flag[i])、pic_cropping_flag[i]、画面切割左偏移(pic_crop_left_offset[i])、画面切割右偏移(pic_crop_right_offsetv[i])、画面切割上偏移(pic_crop_top_offset[i])和画面切割下偏移(pic_crop_bottom_offset[i]))。num_frame_sizes_minus1的值可以是0-x。其他类型的画面可以包括具有不同分辨率的画面。-数目rep格式减1(num_rep_formats_minus1)加1指示编码视频序列中包括的不同类型的位深度和色度格式的最大数目(例如,位深度luma减8(bit_depth_luma_minus8[i])、位深度色度减8(bit_depth_chroma_minus8[i])和色度格式idc(chroma_format_idc)值[i])。num_rep_formats_minus1的值可以是0-x的范围。-pic_width_in_luma_samples[i]、pic_height_in_luma_samples[i]、pic_cropping_flag[i]、pic_cropping_flag[i]、pic_crop_left_offset[i]、pic_crop_right_offsetv[i]、pic_crop_top_offset[i]和pic_crop_bottom_offset[i]指示编码视频序列的第i个pic_width_in_luma_samples、pic_height_in_luma_samples、pic_cropping_flag、pic_cropping_flag、pic_crop_left_offset、pic_crop_right_offsetv、pic_crop_top_offset、pic_crop_bottom_offset值。-bit_depth_luma_minus8[i]、bit_depth_chroma_minus8[i]和chroma_format_idc[i]指示编码视频序列的第i个bit_depth_luma_minus8、bit_depth_chroma_minus8和chroma_format_idc值。-数目层减1(num_layers_minus1)指示位流中可用的可伸缩层的数目。-当相关性id标志(dependency_id_flag)的值是1时,其指示存在关于layer_id值的一个或多个dependency_id值。-当质量id标志(quality_id_flag)的值是1时,其指示存在关于layer_id值的一个或多个quality_id值。-当视图id标志(view_id_flag)的值是1时,其指示存在关于layer_id值的一个或多个view_id值。-当区域id标志(region_id_flag)的值是1时,其指示存在关于layer_id值的一个或多个相关的region_id值。-当层相关联信息标志(layer_dependency_info_flag)的值是1时,其指示提供了可伸缩层的相关性信息。-帧尺寸idx(frame_size_idx[i])指示用于应用于具有layer_id值为i的层的一组帧尺寸的索引。frame_size_idx[i]具有范围从0到x的值。-rep格式idx(rep_format_idx[i])指示用于应用于具有layer_id值为i的层的一组位深度和色度格式的索引。rep_format_idx[i]具有范围从0到x的值。-当一个相关性id标志(one_dependency_id_flag[i])的值是1时,其指示仅存在与其layer_id是i的层相关联的一个dependency_id。当one_dependency_id_flag[i]的值是0时,其指示存在与其layer_id是i的层相关联两个或更多dependency_id。-dependency_id[i]指示与其layer_id是i的层相关联的dependency_id的值。-相关性id最小(dependency_id_min[i])和相关联id组大(dependency_id_max[i])分别指示与其layer_id是ii的层相关联的最小dependency_id值和最大dependency_id值。-当一个质量id标志(one_quality_id_flag[i])的值是1时,其指示仅存在与其layer_id是i的层相关联的一个quality_id。当one_quality_id_flag[i]的值是0时,其指示存在与其layer_id是i的层相关联的两个或更多quality_id值。-quality_id[i]指示与其layer_id是i的层相关联的quality_id的值。-质量id最小(quality_id_min[i])和质量id最大(quality_id_max[i])分别指示与其layer_id是i的层相关联的最小quality_id值和最大quality_id值。-当一个视图id标志(one_view_id_flag[i])的值是1时,其指示仅存在与其layer_id是i的层相关联的一个view_id。当one_view_id_flag[i]的值是0时,其指示存在与其layer_id是i的层相关联的两个或更多view_id值。-view_id[i]指示与其layer_id是i的层相关联的view_id的值。-当深度标志(depth_flag[i])的值是1时,其指示其layer_id是i的可伸缩层包括3-d视频位流的深度信息。-视图id最小(view_id_min[i])和视图id最大(view_id_max[i])分别指示与其layer_id是i的层相关联的最小view_id值和最大view_id值。-数目区域减1(num_regions_minus1)加1指示与其layer_id是i的层相关联的区域的数目。-region_id[j]指示与其layer_id是i的层相关联的区域j的标识符。-数目直接相关层(num_directly_dependent_layers[i])指示当前可伸缩层i直接相关联的可伸缩层的数目(即,当执行解码时产生预测信号所需的层的数目)。-直接相关层id差量减1(directly_dependent_layer_id_delta_minus1[i][j])加1指示layer_id[i],即,当前可伸缩层和当前可伸缩层直接相关联的第j可伸缩层的层标识符之间的差值。当前可伸缩层直接相关联的第j可伸缩层的层标识符与(layer_id[i]-directly_dependent_layer_id_delta_minus1[i][j]-1)相同。根据另一实施例的extension_info()语法与表16相同。<表16>如表16所示,可以通过关于不同表示格式的信息来发信号通知pic_width_in_luma_samples[i]和pic_height_in_luma_samples[i]、bit_depth_luma_minus8[i]、bit_depth_chroma_minus8[i]和chroma_format_idc[i]。根据另一实施例,可以通过关于不同画面(即,具有不同分辨率的画面)的信息来发信号通知pic_width_in_luma_samples[i]、pic_height_in_luma_samples[i]、bit_depth_luma_minus8[i]、bit_depth_chroma_minus8[i]和chroma_format_idc[i]。用于发信号通知位速率和质量信息的激活sei消息的语法与表17相同。<表17>表17的语法的语义如下。-num_layers_minus1指示可以在位流中提供的可伸缩层的数目。-当位速率信息标志(bitrate_info_flag)的值是1时,其指示提供每一可伸缩层的位速率信息。-当质量信息标志(quality_info_flag)的值是1时,其指示提供每一可伸缩层的质量值的信息。-当质量类型标志(quality_type_flag)的值是1时,其指示提供每一可伸缩层的质量类型的信息。-最大位速率(max_bitrate[i])指示其layer_id值是i的可伸缩层的最大位速率,且平均位速率(average_bitrate[i])指示其layer_id值是i的可伸缩层的平均位速率。-质量值(quality_value[i])指示可伸缩层i的质量值。-质量类型uri(quality_type_uri[qualitytypeuriidx])指示具有以utf-8字符编码的空0终结(null0terminated)字符串的第qualitytypeuriidx字节且指示包括质量值的类型的表示的通用资源标识符(uri)。在下文中,提出改进视频参数集(vps)的方案以高效地提取位流。层参考指示支持多层的位流中layer_id和可伸缩性维度id之间的关系的方法可以包括第一方法和第二方法。第一方法通知layer_id和可伸缩性维度id之间的映射方法。第二方法分区或者拼接layer_id的位,且然后,通知哪个维度类型存在于分区或者拼接的位中。在支持多层的位流中,维度类型可能指的是可伸缩性(比如,空间可伸缩性和质量可伸缩性)的类型,且维度id可能指的是用于特定维度类型的层的索引。在支持多层的位流中,总的来说,特定层(为了帮助理解,例如,当在单层的位流中支持时间可伸缩性的情况下,时间层(子层)3)可以直接参考特定维度中的下一下层(例如,时间层(子层)2)。例如,在支持空间可伸缩性的情况下,这意味着空间层2直接参考下一较低空间层1。因此,为了指示以上情况,提出首先描述具有默认直接相关性的维度。此后,在用于可伸缩层的描述环中具体描述特定相关性。以下提出了用于使用这两种方法发信号通知层参考的方案。用于vps扩展(vps_extension)的改进的语法与表18到表21相同。<表18>表18示出了使用第一方法将layer_id映射到可伸缩性维度id的语法。表18的语法的语义如下。-当所有默认相关性标志(all_default_dependency_flag)的值是1时,其指示所有层维度具有默认相关性。也就是,这意味着在特定维度i中,具有‘维度id(dimension_id[i])=n’的层默认地直接参考具有dimension_id[i]=n-1的另一层。当all_default_dependency_flag的值是0时,其指示所有层维度可以不具有默认相关性。当all_default_dependency_flag的值是0时,发信号通知以下‘num_default_dim_minus1’。-数目默认维度减1(num_default_dim_minus1)指示具有默认相关性的维度的数目。-维度[j]规定具有默认相关性的层维度的类型。也就是,在逐个地增加具有默认相关性的维度的数目的同时,发信号通知关于具有默认相关性的层维度的类型的信息。在相应的维度中,较高层(例如,dimension_id=n)将直接参考下一较低层(例如,dimension_id=n-1)。-当特定相关性标志(specific_dependency_flag[i])的值是1时,这意味着存在对于相应层详细描述的直接相关性/参考。因此,当specific_dependency_flag[i]的值是1时,发信号通知相应层直接参考的层的数目和层的id。层c直接参考层b指的是解码器需要使用层b的信息(解码或不解码的)以解码层c。如果层b直接使用层a的信息,则不考虑层c直接参考层a。<表19>表19示出了layer_id的位分配给可伸缩性维度类型和使用第二方法发信号通知所分配的维度类型的长度的语法。表19中描述的数目维度减1(num_dimensions_minus1)指示nalu报头中存在的层维度的数目。也就是,检查nalu报头中存在的层维度的数目,且检查每一相应层维度中存在的层类型和分配给维度类型的位的数目。表19中描述的用于层参考的语法‘all_default_dependency_flag、num_default_dim_minus1、dimension[j]和specific_dependency_flag[i]’具有与表18中描述的语法相同的语义。表20和21描述表18和19的替代语法。表20示出了当使用第一方法时指示默认相关性的替代语法,且表21示出了当使用第二方法时指示默认相关性的替代语法。<表20><表21>在表20和21的语法当中,省略了表18和19中描述的语法的描述。表20和21中的新语法‘默认相关性标志(default_dependency_flag[i])’指示维度类型i是否使用默认相关性。在相应的维度中,高层(例如,dimension_id[i]=n)直接参考右下层(例如,dimension_id[i]=n-1)。也就是,在由num_dimensions_minus1和维度类型(dimension_type[i])指定特定维度类型之后,发信号通知特定维度类型是否使用默认相关性。如果不发信号通知它,则其指示发信号通知用于相应层直接参考的层的信息。根据本发明的维度类型列出在表22中。<表22>dimension_type[i][j]dimension_id[i][j]0视图次序idx(vieworderidx)1深度标志(depthflag)2相关联id(dependencyid)3质量id(qualityid)4优先级id(priorityid)5区域id(regionid)6..15保留根据本发明,已经在现有的维度类型中添加了维度类型4和5,即,指示优先级id和区域id的类型。dimension_type[i][j]可以具有0和5之间的值。可以随后定义其他值,且如果dimension_type[i][j]不具有0和5之间的值,则解码器可以忽视dimension_type[i][j]的值。如果dimension_type具有值4,则相应的dimension_id指示svc标准中位流的优先级层的id。如果dimension_type具有值5,则相应的dimension_id指示位流的特定区域的id。特定区域可以是位流中的一个或多个空间-时间分段。图4是图示根据本发明的编码视频信息的方法的控制流程图。参考图4,编码设备在步骤401编码包括关于视频的信息的网络抽象层(nal)单元。nalu的nalu报头不包括指示nalu是否包括包含至少某些或者整个非基准画面的片段的信息。同时,nalu报头包括层id信息,以识别支持可伸缩层的位流中的可伸缩层。这里,用于发信号通知指示除了nalu报头之外的nalu是否包括包含至少某些或者整个非基准画面的片段的信息的位可用于发信号通知层id信息。此外,nalu可以包括关于解码视频所需的各种参数集的信息。编码设备可以编码包括关于活动参数集的信息的补充增强信息(sei)消息,作为独立nalu。关于活动参数集的信息可以包括在其上对活动vps编索引的信息和在其上对活动sps编索引的信息的至少一个。此外,关于活动参数集的信息可以包括关于在其上对活动vps编索引的信息、关于参考活动vps的sps的数目的信息、和在其上对sps编索引的信息。解码设备可以使用关于参数集的信息来提取提供时间可伸缩性的子层。此外,当激活解码视频编码层nalu所需的参数集时,用于执行解码的解码设备或者解码模块可以使用关于参数集的信息。编码设备在步骤402以位流的形式发送包括关于编码视频的信息的nalu。图5是图示根据本发明的解码视频信息的方法的控制流程图。参考图5,解码设备在步骤501通过位流接收包括关于编码视频的信息的nalu。解码设备在步骤502解析nalu的报头和nal有效载荷。视频信息的解析可以由熵解码模块或者附加的解析模块执行。解码设备可以通过解析获得nalu的报头和nal有效载荷中包括的各条信息。nalu报头可以在支持可伸缩层的位流中包括用于识别可伸缩层的层id信息,且可以不在整个位流中包括当编码视频数据时指示nalu是非基准画面、还是基准画面的1位的标志信息。这里,用于发信号通知指示除了nalu报头之外的nalu是否包括包含至少某些或者整个非基准画面的片段的信息的位可用于发信号通知层id信息。此外,解码设备可以通过解析获得sei消息中包括的关于参数集的信息。用于参数集的获得的信息是解码与sei消息相关联的nalu所需的。关于活动参数集的信息可以包括在其上对活动vps编索引的信息和在其上对活动sps编索引的信息的至少一个。此外,关于活动参数集的信息可以包括在其上对活动vps编索引的信息、指示参考活动vps的sps的数目的信息、和在其上对sps编索引的信息。解码设备可以使用关于参数集的这些条信息来提取提供时间可伸缩性的子层。另外,当解码位流时或者在会话协商(例如,在ip网络中的流传输时的会话协商)中可以使用关于参数集的所述条信息。在上述的实施例中,虽然已经以一系列步骤或者块的形式基于流程图描述了所述方法,但是本发明不限于所述步骤的序列,且可以以与其他步骤不同的次序执行某些步骤,或者可以与其他步骤同时地执行某些步骤。此外,本领域技术人员将理解,在流程图中示出的步骤不是排他的,且所述步骤可以包括另外的步骤或者可以删除流程图中的一个或多个步骤,而不改变本发明的范围。上述实施例包括实例的各种方面。虽然可能没有描述呈现各种方面的所有可能组合,本领域技术人员将理解其他组合是可能的。因此,本发明应该理解为包括落入到权利要求的范围内的所有其他替换、修改和改变。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1