多层视频编码方法和装置以及多层视频解码方法和装置的制造方法
【技术领域】
[0001] 本发明涉及一种对多层视频(诸如,可伸缩视频或多视点视频)进行编码和解码 的方法和设备,更具体地,涉及一种用于用信令传送多层视频的高级语法结构。
【背景技术】
[0002] 通常,图像数据根据指定的数据压缩标准(例如,运动图像专家组(MPEG)压缩标 准)被编码,并被存储在数据存储介质中,或者以比特流的形式经由通信信道被传输。
[0003] 可伸缩视频编码(SVC)是用于适当地调整数据量并与各种类型的通信网络和终 端对应地发送数据的视频压缩方法。在SVC中,提供了能够通过使用单个视频流适应性地 向各种传输网络和各种接收终端提供服务的视频编码方法。
[0004] 随着近来三维(3D)多媒体设备和3D多媒体内容的传播,用于3D视频编码的多视 点视频编码(MVC)正在被广泛使用。
[0005] 在传统的SVC和MVC中,基于具有预定尺寸的宏块根据有限编码方法对视频进行 编码。
【发明内容】
[0006] 技术问题
[0007] 本发明提供提高编码效率的编码和解码方法。
[0008] 技术方案
[0009] 根据本发明的一方面,提供了一种对多层视频进行解码的图像解码方法,其中,所 述方法包括:从多层视频比特流获得至少一个解码目标层图像的层标识符ID;从所述比特 流获得指示可伸缩性信息是否已包括在层ID中的标志;当所述标志表示多条可伸缩性信 息从层ID被获得时,从层ID获得多种不同类型的可伸缩性信息之中的至少一种类型的可 伸缩性信息;通过经由使用可伸缩性信息对所述解码目标层图像进行解码来恢复图像。
[0010] 有益效果
[0011] 由于使用了根据本发明的实施例的编码和解码方法,因此压缩效率被提高。
【附图说明】
[0012] 图1是根据实施例的多层视频编码设备的结构的框图。
[0013] 图2示出根据实施例的多层视频。
[0014] 图3示出根据实施例的包括多层视频的编码数据的网络抽象层(NAL)单元。
[0015] 图4a和图4b示出根据实施例的NAL单元的头的示例。
[0016] 图5示出根据实施例的包括层标识符(ID)的NAL单元的标头,其中,所述层ID包 括两种类型的可伸缩性信息。
[0017] 图6示出根据实施例的包括层ID的NAL单元的标头,其中,所述层ID包括三种类 型的可伸缩性信息。
[0018] 图7示出根据实施例的划分维度ID表。
[0019] 图8示出根据实施例的维度ID表。
[0020] 图9是根据实施例的多层视频编码方法的流程图。
[0021] 图10是根据实施例的多层视频解码设备的结构的框图。
[0022] 图11是根据实施例的多层视频解码方法的流程图。
[0023] 图12a和图12b示出根据本发明的实施例的用于在编码设备和解码设备之间用信 令传送的视频参数集(VPS)扩展语法;
[0024] 图13是根据本发明的实施例的基于具有树结构的编码单元的视频编码设备的框 图。
[0025] 图14是根据本发明的实施例的基于具有树结构的编码单元的视频解码设备的框 图。
[0026] 图15是用于描述根据本发明的实施例的编码单元的构思的示图。
[0027] 图16是根据本发明的实施例的基于编码单元的图像编码器的框图。
[0028] 图17是根据本发明的实施例的基于编码单元的图像解码器的框图。
[0029] 图18是根据本发明的实施例的根据深度的较深层编码单元以及分区的示图。
[0030] 图19是用于描述根据本发明的实施例的编码单元和变换单元之间的关系的示 图。
[0031] 图20是用于描述根据本发明的实施例的根据深度的编码单元的编码信息的示 图。
[0032] 图21是根据本发明的实施例的根据深度的较深层编码单元的示图。
[0033] 图22至图24是用于描述根据本发明的实施例的编码单元、预测单元和变换单元 之间的关系的示图。
[0034] 图25是用于根据表5的编码模式信息描述编码单元、预测单元和变换单元之间的 关系的不图。
[0035] 最佳实施方式
[0036] 根据本发明的一方面,提供了一种对多层视频进行解码的图像解码方法,所述图 像解码方法包括:从多层视频比特流获得至少一个解码目标层图像的层标识符(ID);从所 述多层视频比特流获得指示可伸缩性信息是否已包括在层ID中的标志;当所述标志表示 多条可伸缩性信息从层ID被获得时,从层ID获得多种不同类型的可伸缩性信息之中的至 少一种类型的可伸缩性信息;通过经由使用可伸缩性信息对解码目标层图像进行解码来恢 复图像。
[0037] 获得可伸缩性信息的步骤可包括:当标志的值为1时,从层ID的表示的一部分产 生可伸缩性信息。
[0038] 解码目标层图像可包括多条可伸缩性信息,层ID的表示可包括维度ID作为所述 表示的一部分,其中,所述维度ID表示针对多种可伸缩性类型的可伸缩性维度。
[0039] 解码目标层图像可包括多条可伸缩性信息,所述多条可伸缩性信息可作为ID部 分以二进制形式延续,并包括在层ID的二进制表示中。
[0040] 获得可伸缩性信息的步骤可包括:从比特流获得指示包括在层ID中的可伸缩性 信息的类型的数量的语法;通过使用指示类型的数量的语法,从层ID获得解码目标层图像 的可伸缩性信息。
[0041] 获得可伸缩性信息的步骤可包括:从比特流获得指示包括在层ID中的可伸缩性 信息占据层ID的二进制表示的位长的语法;通过使用指示位长的语法,从层ID获得解码目 标层图像的可伸缩性信息。
[0042] 以最后次序包括在层ID中的可伸缩性信息的长度可通过使用层ID的长度以及包 括在层ID中的多条可伸缩性信息之中的除了以最后次序包括在层ID中的可伸缩信息信息 之外的多条可伸缩性信息的长度来确定。
[0043]获得可伸缩性信息的步骤可包括:根据表示可伸缩性信息集是否包括在比特流中 的标志的值,获得可伸缩性信息集,其中,所述可伸缩性信息集是根据所述至少一个解码目 标层图像的可伸缩性信息以及所述至少一个解码目标编码图像的层ID的ID部分产生的; 通过使用可伸缩性信息集来获得解码目标层图像的可伸缩性信息。
[0044]根据本发明的一方面,提供了一种对多层视频进行编码的图像编码方法,其中,所 述方法包括:将图像数据编码为多层编码图像;针对来自于多层编码图像的至少一个编码 目标层图像,产生不同类型的可伸缩性信息之中的至少一种类型的可伸缩性信息;通过使 用可伸缩性信息来产生编码目标层图像的层ID;从比特流获得指示可伸缩性信息是否已 包括在层ID中的标志;产生包括层ID和所述标志的比特流。
[0045]通过使用可伸缩性信息产生编码目标层图像的层ID的步骤可包括:产生层ID,使 得层ID的值的表示包括可伸缩性信息的值作为层ID的值的表示的一部分。
[0046]编码目标层图像可包括多条可伸缩性信息,并且层ID的表示可包括维度ID作为 表示的一部分,其中,所述维度ID表示针对多种可伸缩性类型的可伸缩性维度。
[0047]编码目标层图像可包括多条可伸缩性信息,并且所述多条可伸缩性信息可以以二 进制形式延续,并包括在层ID的二进制表示中。
[0048] 产生层ID的步骤可包括:产生指示包括在层ID中的可伸缩性信息占据层ID的二 进制表示的位长的语法。
[0049] 多条可伸缩性信息可被顺序地包括在层ID中,指示所述位长的指示符可不指示 以最后次序包括在层ID中的可伸缩性信息的位长。
[0050]所述比特流还可包括根据包括在所述至少一个编码目标层图像中的可伸缩性信 息类型以及所述至少一个编码目标层图像的层ID产生的所述至少一个编码目标层图像的 可伸缩性信息集,并且还包括指示可伸缩性信息集包括在所述比特流中的标志。
[0051]根据本发明的一方面,提供了一种用于对多层视频进行解码的图像解码设备,所 述设备包括:接收器,被配置为接收多层视频比特流;解码器,被配置为当从所述比特流获 得的指示可伸缩性信息是否已包括在至少一个编码目标层图像的层ID中的标志表示多条 可伸缩性信息从层ID被获得时,通过使用从层ID获得的多种不同类型的可伸缩性信息之 中的至少一种类型的可伸缩性信息,对解码目标层图像进行解码从而恢复图像。
[0052]根据本发明的一方面,提供了一种用于对多层视频进行编码的图像编码设备,所 述设备包括:编码器,被配置为针对来自于多层编码图像的至少一个编码目标层图像产生 不同类型的可伸缩性信息之中的至少一种类型的可伸缩性信息,通过使用可伸缩性信息产 生所述编码目标层图像的层ID,产生指示可伸缩性信息是否已包括在层ID中的标志,并将 图像数据编码为多层编码图像;输出器,被配置为产生包括层ID和所述标志的比特流。
[0053] 根据本发明的一方面,提供了一种计算机可读记录介质,其中,所述计算机可读记 录介质上记录有用于运行图像解码方法的程序。
[0054] 根据本发明的一方面,提供了一种计算机可读记录介质,其中,所述计算机可读记 录介质上记录有用于运行图像编码方法的程序。
【具体实施方式】
[0055] 现在将参照附图更全面地描述本发明的实施例。现在将参照图1至图13描述根 据实施例的多层视频编码方法和多层视频解码方法。现在将参照图13至图25描述根据实 施例的基于具有树结构的编码单元的视频编码和解码方法。
[0056] 图1是根据实施例的多层视频编码设备10的结构的框图。
[0057] 参照图1,多层视频编码设备10包括视频编码器11和输出器12。
[0058] 视频编码器11接收多层视频并对多层视频进行编码。视频编码器11与对输入视 频进行编码的视频编码层相应。如稍后将描述的图13至图25,视频编码器11可基于具有 树结构的编码单元对包括在多层视频中的每个图像进行编码。
[0059] 输出器12与网络抽象层(NAL)相应,其中,NAL将编码的多层视频数据和附加信息 添加到具有预定格式的发送数据单元并输出添加的结果。发送数据单元可以是NAL单元。 输出器12将多层视频数据和附加信息添加到NAL单元,并输出包括多层视频数据和附加信 息的NAL单元。输出器12可输出使用NAL单元产生的比特流。
[0060] 图2示出根据实施例的多层视频。
[0061] 为了为各种网络环境和各种终端提供最优服务,多层视频编码设备10可对具有 各种空间分辨率、各种质量、各种帧率和不同视点的多层图像序列进行编码,并输出可伸缩 比特流。换言之,多层视频编码设备10可对根据各种可伸缩性类型的输入图像进行编码, 以产生并输出可伸缩视频比特流。可伸缩性包括时间可伸缩性、空间可伸缩性、质量可伸缩 性、多视点可伸缩性和上述各项的组合。这些可伸缩性可按照类型被分类。每种可伸缩类 型中的可伸缩性还可根据维度标识符(ID)被分类。
[0062] 例如,可伸缩性可具有诸如时间可伸缩性、空间可伸缩性、质量可伸缩性或多视点 可伸缩性的可伸缩性类型。每种类型中的可伸缩性还可根据可伸缩性维度ID被分类。例 如,如果可伸缩性类型具有不同的可伸缩性,则不同的可伸缩性可具有不同的维度ID。例 如,较高的可伸缩性维度可被分配给可伸缩性类型的更高维度的可伸缩性。
[0063]当比特流能够被划分为有效的子流时,比特流被称为是可伸缩的。空间可伸缩比 特流包括具有各种分辨率的子流。可伸缩性维度用于将同一可伸缩性类型的不同可伸缩性 相互区分。可伸缩性维度可被表示为可伸缩性维度ID。
[0064] 例如,空间可伸缩比特流可被划分为具有不同分辨率的子流,诸如,QVGA、VGA和 WVGA子流。例如,可通过使用维度ID来将具有不同分辨率的层相互区分。例如,QVGA子流 的空间可伸缩性维度ID可为0,VGA子流的空间可伸缩性维度ID可为1,WVGA子流的空间 可伸缩性维度ID可为2。
[0065] 时间可伸缩比特流包括具有各种帧率的子流。例如,时间可伸缩比特流可被划分 为帧率为7. 5Hz的子流、帧率为15Hz的子流、帧率为30Hz的子流和帧率为60Hz的子流。在 质量方面可伸缩的比特流可根据粗粒度可伸缩性(CGS)方法、中粒度可伸缩性(MGS)方法 和细粒度可伸缩性(FGS)方法被划分为具有不同质量的子流。可根据不同帧率使用不同维 度来识别时间可伸缩性,还可根据不同方法使用不同维度来识别质量可伸缩性。
[0066] 多视点可伸缩比特流在单个比特流内包括不同视点的子流。例如,立体图像的比 特流包括左图像和右图像。可伸缩比特流可包括关于多视点图像的子流以及被编码的深度 图的数据。可使用根据视点的不同维度来识别视点可伸缩性。
[0067] 不同的可伸缩性扩展类型可相互组合。换言之,可伸缩视频流可包括通过对多层 图像序列进行编码而获得的子流,其中,所述多层图像序列由在时间可伸缩性、空间可伸缩 性、质量可伸缩性和多视点可伸缩性中的至少一个方面是不同的图像组成。
[0068] 图2示出具有不同可伸缩性扩展类型的图像序列21、22和23。图像序列21与第 一层相应,图像序列22与第二层相应,图像序列23与第η层相应(其中,η表示整数)。图 像序列21、22和23可在分辨率、质量和视点中的至少一个方面是不同的。第一层的图像序 列21、第二层的图像序列22和第η层的图像序列23之中的一个层的图像序列可以是基本 层的图像序列,并且其他层的图像序列可以是增强层的图像序列。
[0069] 例如,第一层的图像序列21可以是第一视点的图像,第二层的图像序列22可以是 第二视点的图像,第η层的图像序列23可以是第η视点的图像。作为另一示例,第一层的 图像序列21可以是基本层的左视点图像,第二层的图像序列22可以是基本层的右视点图 像,第η层的图像序列23可以是增强层的右视点图像。具有不同可伸缩性扩展类型的图像 序列21、22和23不限于此,并且图像序列21、22和23可以是具有不同图像属性的图像序 列。
[0070] 图3示出根据实施例的包括多层视频的编码数据的NAL单元。
[0071] 如上所述,输入器12输出包括编码的多层视频数据和附加信息的NAL单元。
[0072] 视频参数集(VPS)包括应用于多层视频中包括的多层图像序列32、33和34的信 息。包括关于VPS的信息的NAL单元可被称为VPSNAL单元31。
[0073] VPSNAL单元31包括例如由多层图像序列32、33和34共享的共用语法元素、关于 用于防止不必要信息的传输的操作点的信息、以及关于会话协商阶段所必需的操作点的必 要信息(诸如,配置文件或级别)。具体而言,根据实施例的VPSNAL单元31包括与可伸缩 性ID相关的可伸缩性信息以实现多层视频中的可伸缩性。可伸缩性信息用于确定应用于 多层视频中包括的多层图像序列32、33和34的可伸缩性。
[0074] 如稍后将描述的,可伸缩性信息包括关于应用于多层视频中包括的多层图像序列 32、33和34的可伸缩性类型和可伸缩性维度的信息。在根据本发明的第一实施例的编码/ 解码方法中,可伸缩性信息可直接从包括在NAL单元头中的层ID的值获得。层ID包括在 VPS中,并用于将多个层相互区分。VPS可经由VPS扩展来用信令传送每个层的层ID。VPS 的每个层的层ID可包括在VPSNAL单元中,并随后被用信令传送。例如,属于VPS的特定 层的NAL单元的层ID可包括在VPSNAL单元中。例如,属于VPS的NAL单元的层ID可经 由VPS扩展被用信令传送。因此,在根据本发明的实施例的编码/解码方法中,可使用NAL 单元的层ID来获得关于属于VPS的NAL单元的层的可伸缩性。
[0075] 在根据本发明的第二实施例的编码/解码方法中,可通过参考可伸缩性划分维度 表,通过使用从层ID获得的值来获得可伸缩性信息。例如,可通过使用层ID的值的二进制 表示中所包括的特定ID部分在层ID中被布置的顺序以及所述特定ID部分的值作为索引, 通过参考可伸缩性划分维度表来获得关于NAL单元的可伸缩性信息。在根据本发明的第三 实施例的编码/解码方法中,可通过参考按照层ID值和可伸缩性类型的顺序确定的可伸缩 性维度表来获得关于特定NAL单元的可伸缩性信息。
[0076] 层ID信息可包括在SPSNAL单元32a、33a和34a中,或包括在PPSNAL单元32b、 33b和34b中,而不是包括在VPSNAL单元31中,其中,SPSNAL单元32a、33a和34a包括 层的序列参数集(SPS)信息,PPSNAL单元32b、33b和34b包括层的图像参数集(PPS)信 息。
[0077]SPS包括通常应用于一个层的图像序列的信息。SPSNAL单元32a、33a和34a中 的每个单元包括这样的SPS,其中,所述SPS包括通常应用于图像序列32、33和34的信息。
[0078]PPS包括通常应用于一个层的图像的信息。PPSNAL单元32b、33b和34b包括这 样的PPS,其中,所述PPS包括通用地应用于一个层的图像的信息。PPS可包括关于所有图 像的编码模式(例如,熵编码模式)的信息以及图像单元的量化参数初始值。不需要针对 每个图像产生PPS。换言之,当不存在PPS时,可使用先前存在的PPS,并且当包括在PPS中 的信息需要被更新时,可设置新的PPS并可产生包括关于设置的PPS的信息的PPSNAL单 JL·〇
[0079] 片段包括至少一个最大编码单元的编码数据。该片段可包括在片段NAL32c、33c 和34c中,并随后被发送。
[0080] 如图3中所示,视频包括多层图像序列32、33和34。为了识别序列,通过在每个层 的SPS中包括SPSIDsequence_parameter_set_id并为PPS指定SPSID,可识别包括PPS 的序列。通过在PPS中包括PPSIDpicture_parameter_set_id并在片段中包括PPSID, 可确定哪个PPS被片段使用。还可通过使用包括在由片段的PPSID指示的PPS中的SPS ID来识别由该片段使用的SPS和层信息。例如,假设第一层SPSNAL32a的SPSID值为0。 在这种情况下,包括在第一层图像序列32中的第一层PPSNAL32b包括值为0的SPSID。 还假设第一层PPSNAL32b的PPSID值为0。在这种情况下,参考第一层PPSNAL32b的 第一层片段NAL32c具有值为0的PPSID。
[0081] 尽管图3示出形成单个VPS的示例,但可形成每个都具有图3的结构的多个多层 视频。在这种情况下,为了从多个多层视频中识别包括NAL单元的多层视频,可在SPSNAL 单元中包括VPSIDvideo_parameter_set_id。例如,当VPSNAL单元 31 的VPSID值为 0 时,值为〇的VPSID可包括在单个多层视频中包括的SPSNAL32a、33a和34a中。
[0082] 图4a和图4b示出根据实施例的NAL单元的头的示例。
[0083] 参照图4a和图4b,NAL单元的头总长为2字节。图4b中的数字0到7表示2字 节中包括的比特位。NAL单元头包括forbidden_zero_bit(F) 41、NAL单元类型(NUT) 42、为 未来使用预留的预留区reserved_zero_6bits43以及时间ID(TID)44,其中,forbidden_ Zer〇_bit(F) 41是用于识别NAL单元并且值为0的的比特位,NAL单元类型(NUT) 42是指示 NAL单元的类型的ID。为未来使用预留的预留区reserved_zero_6bits43可被分配NAL 单元的层IDnuh_layer_id。因此,IDNUT42和层ID可均包括6个比特位,并且TID44 可包括3比特位。
[0084] 为了将多层视频的可伸缩性信息添加到图4a和图4b中示出的NAL单元,根据实 施例的输出器12可使用NAL单元头的区域之中的预留区43。
[0085] 根据实施例的用于多层视频的可伸缩扩展的NAL单元的标头除了包括用于识别 NAL单元的比特位forbidden_zero_bit(F)以及指示NAL单元的类型的IDNUT之外,还包 括分配给包括可伸缩性信息的层ID的预留区43。
[0086] 根据NUTnal_unit_type的值,可确定NAL单元是即时解码刷新(IDR)图像、完全 随机访问(CRA)图像、VPS、SPS、PPS、补充增强信息(SEI),自适应参数集(APS)、被预留以 用于未来扩展的NAL单元还是预定义的NAL单元。
[0087] 表1示出根据实施例的根据Nal_unit_type(NUT)的NAL单元的类型。
[0088]【表1】
[0089]