CN106170981A - 图像解码装置 - Google Patents

图像解码装置 Download PDF

Info

Publication number
CN106170981A
CN106170981A CN201580014371.8A CN201580014371A CN106170981A CN 106170981 A CN106170981 A CN 106170981A CN 201580014371 A CN201580014371 A CN 201580014371A CN 106170981 A CN106170981 A CN 106170981A
Authority
CN
China
Prior art keywords
layer
picture
collection
output layer
decoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201580014371.8A
Other languages
English (en)
Other versions
CN106170981B (zh
Inventor
筑波健史
猪饲知宏
山本智幸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN106170981A publication Critical patent/CN106170981A/zh
Application granted granted Critical
Publication of CN106170981B publication Critical patent/CN106170981B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/36Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

现有技术中,有时会出现定义了没有输出层的输出层集的情况。因此,即使解码器从比特流解码了没有输出层的输出层集的各层,也没有图片输出。这样的编码数据,在默认有输出的解码器中可能发生不可预料的动作。此外,有可能定义相同结构的输出层集,造成重复定义的输出层集的编码冗余。根据本发明的一种方式,通过定义输出层集相关的比特流一致性,可防止产生没有输出层的输出层集、以及重复的输出层集。

Description

图像解码装置
技术领域
本发明涉及对分层编码图像的分层编码数据进行解码的图像解码装置、以及通过对图像进行分层编码而生成分层编码数据的图像编码装置。
背景技术
图像或视频是通信系统传输的信息、或存储装置中记录的信息之一。现有技术中,已知有图像编码技术用于这些图像(包含视频,以下以图像为例)的传输和存储。
已知的视频编码方式,有AVC(H.264/MPEG-4Advanced Video Coding)、及其后续的编解码方式HEVC(High-Efficiency Video Coding)(非专利文献1)。
这些视频编码方式中,通常是根据对输入图像进行编码/解码所得到的局部解码图像生成预测图像,对输入图像(原图像)减去该预测图像所得到的预测残差(也称为“差分图像”或“残差图像”)进行编码。此外,预测图像的生成方法有帧间预测(Inter预测)、帧内预测(Intra预测)等。
此外,近年来还提出了根据必要的数据速率,对图像进行分层编码的可分级编码技术、或分层编码技术。SHVC(Scalable HEVC)和MV-HEVC(MultiView HEVC)是已知的有代表性的可分级编码方式(分层编码方式)。
SHVC支持空域可分级、时域可分级、SNR可分级。例如,空域可分级的情况,将从原图像按所希望的分辨率进行下采样后的图像作为低层进行编码,然后在高层进行层间预测以去除层间的冗余(非专利文献2)。
MV-HEVC支持视点可分级(view scalability)。例如,在对视点图像0(层0)、视点图像1(层1)、视点图像2(层2)的3个视点图像进行编码时,通过从低层(层0)对高层的视点图像1、视点图像2进行层间预测,可去除层间的冗余(非专利文献3)。
SHVC和MV-HEVC等中,从输入的分层编码数据中解码属于指定的对象输出层集的各层,作为输出层输出所指定层的解码图片。作为输出层集的相关信息被解码/编码的有表示层的集合的层集、以及指定将层集中的哪些层作为输出层的输出层标记、对应各层集的Profile/Level信息(以下称为PTL信息)、HRD信息、DPB信息等。
现有技术中,输出层集OLS#0~OLS#(VpsNumLayerSets-1)与各输出层集下标(也称为输出层集标识符)对应的层集LS#0~LS#(VpsNumLayerSets-1)建立了对应关系,各输出层集的输出层通过默认输出层标识符(default_target_ouput_layer_idc)值决定。例如,当默认输出层标识符值为0时,输出层集的全部层都为输出层;当默认输出层标识符值为1时,输出层集中具有最高层的层ID的主层成为输出层;当默认输出层标识符值为2时,各输出层集OLS#i(i=1..(VpsNumLayerSets-1))的输出层通过明确通知的输出层标记(output_layer_flag)进行指定。
此外,定义了追加输出层集时(追加输出层集数(num_add_output_layer_sets)大于0时),各输出层集OLS#i(i=VpsNumLayerSets..NumOuputLayerSets-1,输出层集数NumOutputLayerSets=VpsNumlayerSets+num_add_output_layer_sets))通过明确通知的层集标识符(LayerSetIdx[i]=output_layer_set_idx_minus1[i])与指定的层集LS#(LayerSetIdx[i])建立对应关系,并且通过明确通知的输出层标记(output_layer_flag)指定输出层。
现有技术文献
非专利文献
非专利文献1:“Recommendation H.265(04/13)”,ITU-T(2013年6月7日公开)
非专利文献2:JCTVC-P1008_v4“High efficiency video coding(HEVC)scalableextensions Draft 5”,Joint Collaborative Team on Video Coding(JCT-VC)of ITU-T SG 16WP 3and ISO/IEC JTC 1/SC 29/WG 11 16th Meeting:San Jose,US,9-17Jan.2014(2014年1月22日公开)
非专利文献3:JCT3V-G1004_v6“MV-HEVC Draft Text 7”,Joint CollaborativeTeam on 3D Video Coding Extension Development of ITU-T SG 16WP 3and ISO/IECJTC 1/SC 29/WG 11 7th Meeting:San Jose,US,11-17Jan.2014.(2014年1月24日公开)
发明内容
发明所要解決的问题
然而,对于输出层集,存在以下问题。
如图1中的输出层集OLS#4所示,存在定义了没有输出层的输出层集的情况。因此,即使解码器从比特流中解码了这种没有输出层的输出层集的各层,也没有输出图片。这样的编码数据在默认有输出的解码器中可能导致发生不可设想的动作。
明确地通知输出层标记、指定输出层的情况,如图1上的输出层集OLS#1和OLS#5所示的那样,会发生定义了相同结构的输出层集的问题。这种情况,重复定义的输出层集发生编码冗余。
层集数(VpsNumLayerSets)为1时,即只有层集LS#0的情况,因为层集LS#0只由基本层(L#0)构成,所以输出层也当然只有L#0。这时,存在默认输出层标识符的编码冗余的问题。
鉴于上述问题,本发明的目的是实现一种图像解码装置和图像编码装置,通过定义输出层集的相关比特流一致性,防止发生没有输出层的输出层集、以及重复的输出层集,同时改善输出层集相关信息的信号方法,用相对较少的编码量实现输出层集相关信息的解码/编码。
解决问题的方法
为了解决上述问题,本发明的方式1的相关图像解码装置,其特征在于:是对1或多层构成的分层图像编码数据进行解码的图像解码装置;具有层集信息解码部,解码表示层集中层结构的层集信息;具有输出层集信息解码部,解码确定层集的层集标识符、以及指定所述层集中包含的层是否为输出层的输出层标记OutputLayerFlag,并导出输出层集;具有图片解码部,解码获得所述输出层集中包含的输出层的图片;所述输出层集具有至少1层的输出层。
发明的效果
根据本发明的一种方式,通过定义输出层集的相关比特流一致性,可防止发生没有输出层的输出层集、以及重复的输出层集。
附图说明
图1是说明现有技术中输出层集的相关问题的图,举出了没有输出层的输出层集、以及输出层相同组合的重复输出层集的一个例子。
图2是说明本发明一实施例相关的分层编码数据的层结构图。其中(a)所示为分层视频编码装置端;(b)所示为分层视频解码装置端。
图3是说明比特流抽取处理、表示层集A、及其子集层集B的构成的图。
图4是构成NAL单元层的数据结构示例图。
图5是NAL单元层中包含的语法元素示例图。(a)是构成NAL单元层的语法元素示例图;(b)是NAL单元头的语法元素示例图。
图6是表示本发明实施例相关的NAL单元类型的值和NAL单元种类的关系的图。
图7是表示接入单元中包含的NAL单元的构成示例图。
图8是说明本发明实施例相关的分层编码数据的构成图。图(a)示出了定义序列SEQ的序列层;图(b)示出了定义图片PICT的图片层;图(c)示出了定义条带S的条带层;图(d)示出了定义条带数据的条带数据层;图(e)示出了定义条带数据中包含的编码树单元的编码树层;图(f)示出了定义编码树中包含的编码单位(Coding Unit;CU)的编码单元层。
图9是说明本实施例相关的参数集的参考关系的图。
图10是说明参考图片列表、以及参考图片的图。图(a)是参考图片列表的举例;图(b)是表示参考图片的一个概念图。
图11是本发明实施例相关的VPS语法元素表的一个示例图。
图12是VPS扩展数据的语法元素表的示例。(a)是本发明实施例相关的VPS扩展数据的语法元素表的示例,(b)是现有技术中VPS扩展数据的语法元素表的示例。
图13是表示分层ID和分层类型对应表。
图14是本实施例相关的PTL信息语法元素表的一个例子。
图15是本发明实施例相关的SPS/PPS/条带层语法元素表的一个例子。(a)示出了SPS语法元素表的一个例子;(b)示出了PPS语法元素表的一个例子;(c)示出了条带层中包含的条带头、以及条带数据的语法元素表的一个例子;(d)示出了条带头语法元素表的一个例子;(e)示出了条带数据语法元素表的一个例子。
图16是说明本实施例相关的分层视频解码装置构成的概要图。
图17是说明本实施例相关的目标集图片解码部构成的概要图。
图18是说明本实施例相关的图片解码部动作的流程图。
图19是说明本实施例相关的比特流抽取部动作的流程图。
图20是本实施例相关的分层视频编码装置构成的概要图。
图21是说明本实施例相关的目标集图片编码部构成的概要图。
图22是说明本实施例相关的图片编码部的动作的流程图。
图23是表示搭载了上述分层视频编码装置的发送装置、以及搭载了上述分层视频解码装置的接收装置的构成图。(a)所示为搭载分层视频编码装置的发送装置;(b)所示为搭载分层视频解码装置的接收装置。
图24是表示搭载了上述分层视频编码装置的记录装置、以及搭载了上述分层视频解码装置的播放装置的构成图。(a)所示为搭载分层视频编码装置的记录装置;(b)所示为搭载分层视频解码装置的播放装置。
具体实施方式
按照图2~图24,对本发明的一个实施例相关的分层视频解码装置1及分层视频编码装置2说明如下。
〔概要〕
本实施例的分层视频解码装置(图像解码装置)1,对被分层视频编码装置(图像编码装置)2进行了分层编码的编码数据进行解码。分层编码是指将视频从低品质到高品质分层进行编码的编码方式。分层编码已在SVC、SHVC等中标准化。此外,这里所指的视频品质是广义地指主观和客观上影响视频视觉效果的元素。视频的品质中,包括如“分辨率”、“帧频”、“画质”、以及“像素的表现精度”等。因此,以后称视频的品质不同,比如可以指“分辨率”等的不同,但并不仅限于此。例如,在不同量化步长中量化的视频(即通过不同编码杂音编码的视频)的情况,也可以相互认为视频品质不同。
此外,从被分层信息的种类来看,分层编码技术可分为(1)空域可分级、(2)时域可分级、(3)SNR(Signal to Noise Ratio)可分级、以及(4)视点可分级。空域可分级是指分辨率和图像尺寸等的分层技术。时域可分级是指帧频(单位时间的帧数)的分层技术。SNR可分级是指编码杂音分层技术。视点可分级是指对应各图像的视点位置的分层技术。
在对本实施例相关的分层视频编码装置2及分层视频解码装置1进行详细说明之前,首先,(1)对通过分层视频编码装置2生成的、通过分层视频解码装置1进行解码的分层编码数据的层结构进行说明,然后,(2)对各层中可采用的数据结构的具体例子进行说明。
〔分层编码数据的层结构〕
在此利用图2对分层编码数据的编码和解码说明如下。图2是通过低层L3、中层L2和高层L1共3层对视频进行分层编码/解码时的模型图。即在图2(a)和(b)中,3层中的高层L1为最高层,低层L3为最低层。
以下将从分层编码数据进行解码所得到的对应特定品质的解码图像称为特定层的解码图像(或称为对应特定层的解码图像)(例如,高层L1的解码图像POUT#A)。
图2(a)所示为分别将输入图像PIN#A~PIN#C进行分层编码后生成编码数据DATA#A~DATA#C的分层视频编码装置2#A~2#C。图2(b)所示为分别将被分层编码的编码数据DATA#A~DATA#C进行解码后生成解码图像POUT#A~POUT#C的分层视频解码装置1#A~1#C。
首先利用图2(a)对编码装置进行说明。编码装置端输入的输入图像PIN#A、PIN#B以及PIN#C虽然与原图相同,但图像的品质(分辨率、帧频以及画质等)不同。图像的品质按输入图像PIN#A、PIN#B和PIN#C的顺序降低。
低层L3的分层视频编码装置2#C,对低层L3的输入图像PIN#C进行编码、生成低层L3的编码数据DATA#C。它包含了为获得低层L3的解码图像POUT#C进行解码所必须的基本信息(图2中的“C”所示)。低层L3因为是最低的层,所以低层L3的编码数据DATA#C也称为基本编码数据。
中层L2的分层视频编码装置2#B,参考低层的编码数据DATA#C,对中层L2的输入图像PIN#B进行编码,生成中层L2的编码数据DATA#B。中层L2的编码数据DATA#B中,在编码数据DATA#C中包含的基本信息“C”的基础上,还包含了为获得中层解码图像POUT#B进行解码所必须的附加信息(图2中的“B”所示)。
高层L1的分层视频编码装置2#A,参考中层L2的编码数据DATA#B,对高层L1的输入图像PIN#A进行编码,生成高层L1的编码数据DATA#A。高层L1的编码数据DATA#A中,在为获得低层L3的解码图像POUT#C进行解码所必须的基本信息“C”以及为获得中层L2的解码图像POUT#B进行解码所必须的附加信息“B”的基础上,还包含了为获得高层的解码图像POUT#A进行解码所必须的附加信息(图2中的“A”所示)。
就这样,在高层L1的编码数据DATA#A中包含了不同的、多种品质的解码图像信息。
接下来利用图2(b)对解码装置进行说明。在解码装置端,分别对应高层L1、中层L2和低层L3的解码装置1#A、1#B和1#C,对编码数据DATA#A、DATA#B和DATA#C进行解码、输出解码图像POUT#A、POUT#B和POUT#C。
抽取高层的分层编码数据的部分信息(也称为比特流抽取),在相对低层的特定解码装置中,通过对该抽取的信息进行解码,可进行特定品质的视频播放。
例如,中层L2的分层解码装置1#B,可以从高层L1的分层编码数据DATA#A中抽取为获得解码图像POUT#B进行解码所必须的信息(即,分层编码数据DATA#A中包含的“B”和“C”),进行解码获得解码图像POUT#B。换言之,解码装置端可根据高层L1的分层编码数据DATA#A中包含的信息,进行解码获得解码图像POUT#A、POUT#B和POUT#C。
并且,分层编码数据并不限于以上的3层分层,也可以分2层、或是比3层更多层。
此外,构成分层编码数据,也可以将特定层解码图像编码数据的一部分或全部独立于其它层进行编码,当对特定层解码时,可以不参考其它层的信息。例如,使用图2(a)及(b)说明的上述例中,曾说明在为获得解码图像POUT#B进行解码时参考“C”和“B”,但并不仅限于此。也可以构成只参考“B”即可解码而获得解码图像POUT#B的分层编码数据。例如,为获得解码图像POUT#B进行解码时,也可构成仅由“B”构成的分层编码数据和以解码图像POUT#C作为输入的分层视频解码装置。
在实现SNR可分级时,输入图像PIN#A、PIN#B和PIN#C采用同一原图,可生成解码图像POUT#A、POUT#B和POUT#C的不同画质的分层编码数据。这种情况,低层的分层视频编码装置用比高层分层视频编码装置更大的量化幅度对预测残差进行量化,生成分层编码数据。
本说明书中,为说明的方便,定义了如下术语。如无特殊说明,以下的术语用于表示下列技术事项。
档次(Profile):档次是指为特定的应用,规定符合规格的解码器应具备的处理功能,通过编码工具(基础技术)的组合或集合进行定义。通过规定档次,在各应用中,不需安装全部标准,只需安装相应的档次,具有降低解码器/编码器复杂程度的优点。
水平(Level):水平规定解码器处理能力的上限和电路规模的范围等,规定单位时间的最大处理像素数、图像的最大分辨率、最大比特率、最大参考图像缓存容量、最低压缩率等参数限制。即,水平规定了解码器的处理能力和比特流的复杂度等。并且水平中还规定了各档次中规定的工具的支持范围。因此,高层的水平必须支持低层的水平。例如,在限制水平的各种参数中,有最大亮度图片尺寸(Max luma picture size)、最大比特率(Maxbitrate)、最大CPB尺寸(Max CPB size)、每图片单位的最大条带片段数(Max slicesegments per picture)、每图片单位的最大片行数(Max number of tile rows)、每图片单位的最大片列数(Max number of tile columns)等。适用于特定档次、被限制了水平的各种参数中,有如最大亮度采样速率(Max luma sample rate)、最大比特率(Max bitrate)、以及最低圧縮比率(Mincompression Ratio)等。此外,作为水平的子概念,还有等级(tier),它规定对应各水平比特流(编码数据)的最大比特率、以及收容比特流的最大CPB尺寸是主等级(Main tier:消费者用)或是高等级(High tier:业务使用)。
HRD(Hypothetical Reference Decoder,假想参考解码器):HRD是指以缓存动作为主的解码器的假想模型,也称为缓存模型。HRD由:(1)比特流的传输缓存CPB(CodedPicture Buffer,已编码图像缓存);(2)瞬间进行解码动作的解码处理部;(3)保存已解码图片的DPB(Decoded Picture Buffer、解码后图片缓存);(4)进行裁剪处理的裁剪处理部(裁剪出图像有效范围的处理)构成。
HRD的基本动作如下所示。
(SA01)将输入比特流存储到CPB。
(SA02)对CPB中存储的AU进行瞬间解码处理。
(SA03)将通过瞬时解码处理得到的解码后图片保存到DPB中。
(SA04)将DPB中保存的解码图片裁剪后输出。
HRD参数(HRD parameters):HRD参数是表示验证输入的比特流在HRD中是否满足一致性条件用的缓存模式的参数。
比特流一致性:比特流一致性是指分层视频解码装置(此处指与本发明的实施例相关的分层视频解码装置)解码的比特流应满足的必要条件。同样地,对于分层视频编码装置(此处指与本发明的实施例相关的分层视频编码装置)生成的比特流,为了保证其是上述分层视频解码装置能够解码的比特流,也必须满足上述比特流一致性。
VCL NAL单元:VCL(Video Coding Layer,视频编码层)NAL单元,指包含视频(视频信号)编码数据的NAL单元。例如,VCL NAL单元中包含了条带数据(CTU的编码数据)、以及通过该条带的解码而共同使用的头信息(条带头)。
non-VCL NAL单元:non-VCL(non-Video Coding Layer,非视频编码层,非VCL)NAL单元是指包含解码视频参数集VPS、序列参数集SPS、图片参数集PPS等各序列和图片时利用的、作为编码参数集合的头信息和辅助信息SEI等的编码数据的NAL单元。
层标识符:层标识符(也称为层ID),用于对层(Layer)的识别,与层为一一对应关系。分层编码数据中包含了用于选择为获得特定层解码图像进行解码所必须的部分编码数据的标识符。与特定层对应的层标识符相关联的分层编码数据的部分集合,也称为层表现。
通常,在为获得特定层解码图像的解码中,使用该层的层表现和/或对应比该层低的层的层表现。即在为获得对象层解码图像的解码中,使用对象层的层表现和/或比对象层低的层中包含的至少1层的层表现。
层:具有特定层(Layer)的层标识符值(nuh_layer_id,nuhLayerId)的VCL NALUNIT以及与该VCL NAL单元相关联的non-VCL NAL UNIT的集合、或一个具有分层关系的语法构造的集合。
高层:在某层之上位置的层称为高层。例如,图2中,低层L3的高层有中间位置的层L2及高层位置的层L1。此外,高层解码图像是指品质更高(例如,高分辨率、高帧频、高画质等)的解码图像。
低层:在某层之下位置的层称为低层。例如,图2中,高层L1的低层有中间位置的层L2及低层位置的层L3。此外,低层解码图像是指品质更低的解码图像。
对象层:指作为解码或编码对象的层。与对象层对应的解码图像称为对象层图片。构成对象层图片的像素称为对象层像素。
输出层:在解码或编码对象层中,其解码图片被指定作为输出图片输出的层。
参考层:为获得对象层对应的解码图像进行解码时所参考的特定的低层称为参考层。与参考层对应的解码图像称为参考层图片。构成参考层的像素称为参考层像素。
在图2(a)及(b)所示的例中,高层L1的参考层为中层L2及低层L3。但并不仅限于此,在特定的上述层的解码中,也可不参考全部低层而构成分层编码数据。例如,也可以构成分层编码数据,让高层L1的参考层是中层L2或低层L3的其中之一。此外,参考层也可表述为预测对象层解码用的编码参数等时使用(参考)的、与对象层不同的层。对象层的层间预测中直接被参考的参考层称为直接参考层。在对象层的直接参考层A的层间预测中被参考的直接参考层B,因为对象层是间接依赖,故称为对象层的间接参考层。换言之,层i通过1或多层k(i<k<j)对层j进行间接依赖时,层j称为层i的间接参考层。此外,对象层的直接参考层和间接参考层统称为依赖层。
基本层(base layer):处于最下层的层称为基本层。基本层的解码图像是从编码数据解码所得到的最低品质的解码图像,也称为基本解码图像。换言之,基本解码图像是与最下层对应的解码图像。为获得基本解码图像的解码中所必须的分层编码数据的部分编码数据称为基本编码数据。例如,高层L1的分层编码数据DATA#A中包含的基本信息“C”就是基本编码数据。并且,基本层至少是由具有相同层标识符、且该层标识符(nuh_layer_id)的值为0的1个或多个VCL NAL单元构成的层。
增强层(non-base layer):基本层之上的层称为增强层。并且,增强层至少是具有相同层标识符、且该层标识符(nuh_layer_id)的值大于0的1个或多个VCL NAL单元构成的层。
层间预测:层间预测是指根据与对象层的层表现不同的层(参考层)的层表现中包含的语法元素值、从语法元素值中导出的值和解码图像,预测对象层的语法元素值和对象层解码中用的编码参数等。从参考层信息预测与运动预测相关的信息的层间预测称为层间运动信息预测。从低层解码图像进行的层间预测称为层间图像预测(或层间纹理预测)。用于层间预测的层,典型的是对象层的低层。此外,不用参考层而在对象层内进行的预测也称为层内预测。
时域标识符:时域标识符(时域ID)是为了识别时域可分级的层(以下称为子层)的标识符。时域标识符的作用是识别子层,与子层为一一对应的关系。编码数据中包含时域标识符用于选择为获得特定子层的解码图像进行解码所必须的部分编码数据。特别地,最高层子层的时域标识符称为最高层时域标识符(highest TemporalId,highestTid)。
子层:子层是通过时域标识符确定的时域可分级的层。为了区别于空域可分级、SNR可分级等其它的可分级,以后称为子层(也称时域层)。并且以后认为时域可分级是通过基本层编码数据、或对某层解码所必须的分层编码数据中包含的子层而实现的。
层集:层集是指由1以上的层(含1)所构成的层的集合。而且,层集的构成通过层ID列表LayerSetLayerIdList[](或LayerIdList[])表示,识别层集中包含的层的层ID(或VPS上表示层的顺序的索引)包含在层ID列表LayerIdList[K](K=0..N-1,N为层集中包含的层数)的各元素中。
输出层集:输出层集是指对上述层集中包含的层指定是否为输出层的层的集合。此外,输出层集也表现为通过指定层集和输出层的输出层标记的组合表示的集合。
比特流抽取处理:比特流抽取处理是从某比特流(分层编码数据、编码数据)中,去除(丢弃)由对象最高时域标识符(highestTid)、表示对象层集中所包含的层ID列表LayerIdList[]所决定的集合(称为目标集TargetSet)中不包含的NAL单元、抽取由目标集TargetSet中包含的NAL单元构成的比特流的处理。比特流抽取也称为子比特流抽取。
对象最高时域标识符称为TargetHighestTid,对象层集称为TargetLayerSet,对象层集的层ID列表(对象层ID列表)也称为TargetLayerIdList。特别地,解码对象的层ID列表称为TargetDecLayerIdList。此外,通过比特流抽取而生成的、目标集TargetSet中包含的NAL单元所构成的比特流也称为编码数据BitstreamToDecode。
接下来,参考图3,举例说明通过比特流抽取处理,从包含某层集A的分层编码数据中,抽取包含作为层集A子集的层集B的分层编码数据。
图3所示为由3个层(L#0,L#1,L#2)、以及各层的3个子层(TID1,TID2,TID3)所构成的层集A、及其子集层集B的构成。以下,将构成层集的层、以及子层用{LayerIdList={L#0,..,L#N},HighestTid=K}表示。例如,图3中的层集A用{LayerIdList={L#0,L#1,L#2},HighestTid=3}表示。此处的符号L#N表示层N,图3中的各方框表示图片,方框内的编号表示举例的解码顺序。以下,编号N的图片标记为P#N。
各图片间的箭头表示图片间的依赖方向(参考关系)。如果是同一层内的箭头,表示为Inter预测中使用的参考图片。如果是层间箭头,则表示是层间预测中使用的参考图片(也称参考层图片)。
图3中的AU表示接入单元,符号#N表示接入单元的编号。AU#N表示当某起点(例如,随机接入开始点)的AU作为AU#0时的第(N-1)号接入单元,它表示比特流中包含的AU的顺序。即,以图3为例,在比特流上,接入单元是按AU#0、AU#1、AU#2、AU#3、AU#4的顺序排列的。并且,接入单元是指按特定分类规则汇总的NAL单元的集合。图3的AU#0可认为是包含图片P#1、P#1、以及P#3的编码数据的VCL NAL的集合。关于接入单元的详细内容将在以后阐述。本说明书中,标记为编号X时,指开头的元素编号为0,从第0开始数(以下相同)。
图3的例中,因为目标集TargetSet(层集B)为{LayerIdList={L#0,L#1}、HighestTid=2},所以,从包含层集A的比特流中,通过比特流抽取丢弃目标集TargetSet中不包含的层、以及比最高时域ID(HighestTid=2)大的子层。即层ID列表中不包含的层L#2、以及具有子层(TID3)的NAL单元被丢弃,最终抽取出包含层集B的比特流。图3中虚线的方框表示被丢弃的图片,虚线箭头表示被丢弃图片和参考图片之间的依赖方向。另外,因为已经丢弃了层L#3、以及构成TID3的子层图片的NAL单元,依赖关系已经被切断。
SHVC和MV-HEVC等中,为了实现SNR可分级、空域可分级、时域可分级等,导入了层、以及子层的概念。正如图3中所说明的,在变更帧频实现时域可分级时,通过比特流抽取处理,首先丢弃不被其它图片参考的(最高时域ID(TID3))的编码数据。如图3中通过丢弃图片(10、13、11、14、12、15)的编码数据,生成了帧频为1/2的编码数据。
而且,实现SNR可分级、空域可分级、视点可分级等时,通过比特流抽取,丢弃目标集TargetSet中不包含的层的编码数据,可变更各可分级的粒度。图3的情况,通过丢弃图片(3、6、9、12、15)的编码数据,生成粗化了可分级粒度的编码数据。通过反复进行上述处理,可分级调整层、子层的粒度。
另外,以上术语的目的是为了说明上的方便,上述的技术事项也可用别的术语表达。
〔分层编码数据的数据结构〕
下面,生成各层编码数据的编码方式将以使用HEVC及其扩展方式为例。但并不仅限于此,各层的编码数据也可以用MPEG-2、H.264/AVC等的编码方式来生成。
也可以低层和高层采用不同编码方式进行编码。此外,各层的编码数据可以是通过相互不同的传输路径提供给分层视频解码装置1,也可以通过同一传输路径提供给分层视频解码装置1。
例如,将超高清视频(视频、4K视频数据)通过基本层及1个增强层进行分层编码并传输的情况,可以用基本层将4K视频数据缩小(Downscaling)、将隔行扫描处理后的视频数据通过MPEG-2或H.264/AVC进行编码,传送给电视广播网,用增强层将4K视频(渐进的)通过HEVC进行编码,传送到互联网。
<分层编码数据DATA的结构>
在详细说明本实施例相关的图像编码装置2及图像解码装置1之前,首先来说明通过图像编码装置2生成的、通过图像解码装置1解码的分层编码数据DATA的数据结构。
(NAL单元层)
图4所示为分层编码数据DATA中数据的分层结构。分层编码数据DATA以NAL(Network Abstraction Layer)单元为单位进行编码。
NAL是在进行视频编码处理的层VCL(Video Coding Layer)和传输、存储编码数据的低层系统之间设置的用于通信抽象化的层。
VCL是指进行图像编码处理的层,在VCL中进行编码。另一方面,这里所说的低层系统,对应H.264/AVC及HEVC的文件格式、、MPEG-2系统等。在以下的示例中,低层系统对应对象层及参考层中的解码处理。另外,在NAL中,VCL生成的比特流以NAL单元为单位进行分割,被传输到目标低层系统。
图5(a)所示为NAL单元的语法元素表。NAL单元中包括有在VCL编码的编码数据和将该编码数据正确传送到目标低层系统用的“头”(NAL单元头:nal_unit_header())。NAL单元头可用如图5(b)所示的语法元素表示。NAL单元头中,记述了表示NAL单元中存储的编码数据种类的“nal_unit_type”、表示存储的编码数据所属子层的标识符(时域标识符)”nuh_temporal_id_plus1”、表示存储的编码数据所属层的标识符(层标识符)”nuh_layer_id”(或nuh_reserved_zero_6bits)。而且,NAL单元数据中,包含了后述的参数集、SEI、条带等。
图6所示为NAL单元类型的值和NAL单元种类的关系。如图6所示,SYNA101表示的NAL单元类型值为0到15的NAL单元,为非RAP(随机接入图片)的条带。SYNA102表示的NAL单元类型值为16到21的NAL单元,为RAP(随机接入图片、IRAP图片)的条带。RAP图片可分为BLA图片、IDR图片、CRA图片三大类,其中BLA图片又可分为BLA_W_LP、BLA_W_DLP、BLA_N_LP,IDR图片还可分为IDR_W_DLP、IDR_N_LP。RAP图片以外的图片,还有领先图片(LP图片)、时域接入图片(TSA图片、STSA图片)、尾随图片(TRAIL图片)等。另外,各层的编码数据,通过存储在NAL单元,被NAL复用后传输到分层视频解码装置1。
如图6中的NAL Unit Type Class所示,各NAL单元对应NAL单元类型,可分为构成图片的数据(VCL数据)和除此以外的数据(non-VCL)。无论是随机接入图片、LP图片、TRAIL图片等何种类型的图片,图片都属于VCL NAL单元,作为图片解码中所需数据的参数集、图片辅助信息SEI、表示序列分隔的接入单元定界符(AUD)、序列终止符(EOS)、比特流终止符(EOB)等,都属于non-VCL NAL单元。
(接入单元)
由特定的分类规则汇总的NAL单元的集合称为接入单元。当层数为1时,接入单元为构成1图片的NAL单元的集合。当层数大于1时,接入单元为构成同时刻(同一输出时刻)的多层图片的NAL单元的集合。另外,为了表示接入单元的分隔,编码数据也可包含被称为接入单元定界符(AUD:Access unit delimiter)的NAL单元。接入单元定界符处在编码数据中的构成接入单元的NAL单元的集合和构成别的接入单元的NAL单元的集合之间。
图7所示为接入单元中包含的NAL单元的构成示例。图中,AU由表示AU先头的接入单元定界符(AUD)、各种参数集(VPS,SPS,PPS)、各种SEI(Prefix SEI,Suffix SEI)、层数为1时构成1图片的VCL(slice)、层数大于1时构成层数张图片的VCL、表示序列终点的EOS(Endof Sequence)、表示比特流终点的EOB(End of Bitstream)等NAL单元构成。另外,图7中,VPS,SPS,SEI,VCL后的符号L#K(K=Nmin..Nmax)表示层ID(或表示VPS上定义的层的顺序的索引)。图7的例中,AU内除VPS外,层L#Nmin~层L#Nmax各层的SPS,PPS,SEI,VCL以层ID(或表示VPS上定义的层的顺序的索引)的升序排列。图7的例中,VPS只用最低的层ID传送。另外,图7中,用箭头表示特定NAL单元是否存在于AU内以及是否反复存在。
例如,特定的NAL单元如果存在于AU内,用穿过该NAL单元的箭头表示,特定的NAL单元如果不存在于AU内,用跳过该NAL单元的箭头表示。例如,不穿过AUD而指向VPS的箭头,表示AUD不存在于AU内。而通过VCL后又折回VCL的箭头,表示存在1以上的VCL。
在AU内可以包含具有最低以外的高层ID的VPS,但图像解码装置会忽略具有最低以外的层ID的VPS。而且,各种参数集(VPS,SPS,PPS)、辅助信息SEI,如图7所示,可以作为接入单元的一部分包含其中,也可以用与比特流不同的其它方法传递给解码器。另外,图7仅仅是接入单元中包含的NAL单元的构成的一个实施例,接入单元中包含的NAL单元的构成,可在比特流解码的可能范围内变更。
特别是包含层标识符nuhLayerId=0的IRAP图片的接入单元称为IRAP接入单元(随机接入点、接入单元)。实施目标集全部层解码处理初始化的IRAP接入单元称为初始化IRAP接入单元。按解码顺序从初始化IRAP接入单元开始、随后接0以上的非初始化IRAP接入单元(初始化IRAP接入单元以外的接入单元)、直至下一个初始化IRAP接入单元之前的接入单元的集合(不包括下一个初始化IRAP接入单元)也称为CVS(Coded Video Sequence;编码视频序列、以后也称为序列SEQ)。
图8所示为分层编码数据DATA中的数据的分层结构。例如,分层编码数据DATA包含序列和构成序列的多张图片。图8的(a)~(f)分别为定义序列SEQ的序列层;定义图片PICT的图片层;定义条带S的条带层;定义条带数据的条带数据层;定义条带数据中包含的编码树单元的编码树层;定义编码树中包含的编码单位(Coding Unit;CU)的编码单元层。
(序列层)
序列层中定义了对处理对象的序列SEQ(以下也称为对象序列)进行解码的图像解码装置1参考的数据的集合。序列SEQ如图8(a)所示,包含了视频参数集(Video ParameterSet)、序列参数集SPS(Sequence Parameter Set)、图片参数集PPS(Picture ParameterSet)、图片PICT、以及附加扩展信息SEI(Supplemental Enhancement Information)。#后的值表示层ID。图8例中有#0和#1,即存在层ID为0和层ID为1的编码数据,但层的种类和层的数量不仅限于此。
(视频参数集)
图11是视频参数集VPS语法元素表的一个示例,图12是视频参数集VPS的扩展数据语法元素表的一个示例。视频参数集VPS定义了对1以上(含1)的层构成的编码数据进行解码的图像解码装置1所参考的编码参数的集合。例如定义了用于识别后述序列参数集和其它语法元素等参考的VPS的VPS标识符(video_parameter_set_id)(图11中的SYNVPS01)、编码数据中包含的层数(vps_max_layers_minus1)(图11中的SYNVPS02)、层中包含的子层数(vps_sub_layers_minus1)(图11中的SYNVPS03)、定义编码数据中出现的由1以上(含1)层形成的层的集合的层集数(vps_num_layer_sets_minus1)(图11中的SYNVPS06)、定义构成层集的层的集合的层集信息(layer_id_included_flag[i][j])(图11中的SYNVPS07)、层间的依赖关系(直接依赖标记direct_dependency_flag[i][j])(图12中的SYNVPS0C)、构成输出层集的输出层的集合、定义了PTL信息等的输出层集信息(默认输出层标识符default_target_output_layer_idc、输出层标记output_layer_flag[i][j]等)(图12中的SYNVPS0G~SYNVPS0K)等。在编码数据内可存在多个VPS。此时,对各对象序列解码用的VPS将从多个候补中选择。
对属于某层的特定序列进行解码时使用的VPS称为Active VPS。以下,若无特殊指定,VPS指针对属于某层的对象序列的Active VPS。
(序列参数集)
图15(a)是序列参数集SPS语法元素表的一个示例。序列参数集SPS定义了对对象序列进行解码的图像解码装置1所参考的编码参数的集合。例如定义了表示对象SPS参考的Active VPS的Active VPS标识符(sps_video_parameter_set_id)(图15(a)中的SYNSPS01)、用于识别后述的图片参数集和其它语法元素等参考的SPS的SPS标识符(sps_seq_parameter_set_id)(图15(a)中的SYNSPS02)、图片的宽度和高度等。在编码数据内可存在多个SPS,此时,每个对象序列解码用的SPS将从多个候补中选择。
对属于某层的特定序列进行解码所使用的SPS也称为Active SPS。以下,若无特殊规定,SPS指针对属于某层的对象序列的Active SPS。
(图片参数集)
图15(b)是图片参数集PPS语法元素表的一个示例。图片参数集PPS定义了对对象序列内的各图片进行解码的图像解码装置1所参考的编码参数的集合。例如包含了:表示对象PPS参考的Active SPS的Active SPS标识符(pps_seq_parameter_set_id)(图15(b)中的SYNPPS01)、用于识别后述条带头和其它语法元素等参考的PPS的PPS标识符(pps_pic_parameter_set_id)(图15(b)中的SYNPPS02)、图片解码用的量化范围基准值(pic_init_qp_minus26)、表示适用于带权重预测的标记(weighted_pred_flag)、分级列表(量化矩阵)等。PPS可存在多个,此时,从对象序列内的各图片中选择多个PPS中的某一个。
对属于某层的特定图片进行解码所使用的PPS称为Active PPS。以下,若无特殊规定,PPS指针对属于某层的对象图片的Active PPS。另外,Active SPS、以及Active PPS,可在不同层的不同SPS或PPS中设置。即各层可参考不同的SPS或PPS等进行解码处理。
(图片层)
图片层定义了对处理对象图片PICT(以下也称为对象图片)进行解码时分层视频解码装置1所参考的数据的集合。图片PICT如图8(b)所示,包含了条带S0~SNS-1(NS为图片PICT中包含的条带的总数)。另外,以下如果没有必要区别S0~SNS-1的各具体条带时,省略符号的下标。以下说明中的分层编码数据DATA中包含的有下标的其它数据也同样如此。
(条带层)
条带层定义了对处理对象条带S(也称为对象条带的条带片段)进行解码时分层视频解码装置1所参考的数据的集合。条带S如图8(c)所示,包含了条带头SH、及条带数据SDATA。
条带头SH包含了决定对象条带解码方法时分层视频解码装置1所参考的编码参数群。图15(d)是条带头语法元素表的一个示例。例如包含了指定对对象条带进行解码用的参考PPS(Active PPS)的Active PPS标识符(slice_pic_parameter_set_id)(图15(d)中的SYNSH02)。另外,Active PPS参考的SPS通过Active PPS中包含的Active SPS标识符(pps_seq_parameter_set_id)进行指定。而Active SPS参考的VPS(Active VPS)通过Active SPS中包含的Active VPS标识符(sps_video_parameter_set_id)进行指定。
以图9为例,来说明参数集的激活,并说明头信息和构成接入单元(AU)的编码数据的参考关系。图9的例中,构成属于AU内各层L#K(K=Nmin..Nmax)的图片的各条带,在条带头中包含了指定应参考的PPS的Active PPS标识符,在开始各条带的解码时,通过该识符指定解码中使用的PPS(Active PPS)(也称为激活)。另外,同一图片内的条带参考的各PPS、SPS、VPS标识符必须相同。被激活的PPS中,包含了指定解码处理中应参考的SPS(ActiveSPS)的Active SPS标识符,通过该标识符指定解码中使用的SPS(Active SPS)。同样,被激活的SPS中,包含了指定各层序列解码处理中应参考的VPS(Active VPS)的Active VPS标识符,通过该标识符指定解码中使用的VPS(Active VPS)。按照以上的步骤,确定各层编码数据解码处理时所必须的参数集。
另外,各种头信息(条带头SH、PPS、SPS)参考的高层参数集的标识符不仅限于图9的举例。VPS可以从VPS标识符k=0..15中选择;SPS可以从SPS标识符m=0..15中选择;PPS可以从PPS标识符n=0..63中选择。
指定条带类型的条带类型指定信息(slice_type)也是条带头SH中包含的编码参数之一。
例如,可通过条带类型指定信息指定的条带类型有:(1)编码时只用帧内预测的I条带;(2)编码时用单方向预测或帧内预测的P条带;(3)编码时用单方向预测、双方向预测或帧内预测的B条带等。
(条带数据层)
条带数据层定义了对处理对象的条带数据SDATA进行解码时分层视频解码装置1所参考的数据的集合。如图8(d)所示,条带数据SDATA中包含了编码树块(CTB:Coded TreeBlock)。CTB为构成条带的固定尺寸(例如64×64)的块,也称为最大编码单位(LCU:LargestCording Unit)。
(编码树层)
如图8(e)所示,编码树层定义了对处理对象的编码树块进行解码时分层视频解码装置1所参考的数据的集合。编码树单元通过迭代的四叉树分割进行分割。通过迭代的四叉树分割得到的树结构节点称为编码树(coding tree)。四叉树的中间节点是编码树单元(CTU:Coded Tree Unit),编码树块自身也被定义作为最高层的CTU。CTU中,包含分割标记(split_flag),当split_flag为1时,分割成4个编码树单元CTU。当split_flag为0时,编码树单元CTU被分割成4个编码单元(CU:Coded Unit)。编码单元CU为编码树层的末端节点,此层不能再被分割。编码单元CU是编码处理的基本单位。
通过编码树单元解码的对象图片上的部分区域称为编码树块(CTB:Coding Treeblock)。对应对象图片亮度成分的亮度图片的CTB称为亮度CTB。换言之,从CTU解码的亮度图片上的部分区域称为亮度CTB。而对应由CTU解码的色度图片的部分区域称为色度CTB。通常,如果决定了图像的色格式,亮度CTB尺寸和色度CTB尺寸可以相互变换。例如,当色格式为4:2:2时,各色度CTB尺寸为亮度CTB尺寸的一半。以下的阐述中,若无特殊规定,CTB尺寸即指亮度CTB的尺寸。而且,CTU的尺寸为对应CTU的亮度CTB的尺寸。
(编码单元层)
如图8(f)所示,编码单元层定义了对处理对象的编码单元进行解码时分层视频解码装置1所参考的数据的集合。具体的编码单元CU(coding unit)由CU头CUH、预测树、变换树构成。CU头CUH定义了编码单元是使用帧内预测的单元还是使用帧间预测单元等。编码单元作为预测树(prediction tree;PT)及变换树(transform tree;TT)的根。另外,对应CU的图片上的区域称为编码块(CB:Coding Block)。亮度图片上的CB称为亮度CB、色度图片上的CB称为色度CB。CU的尺寸(编码节点的尺寸)是指亮度CB的尺寸。
(变换树)
变换树(以下简称TT)定义了编码单元CU被分割成1个或多个变换块、以及各变换块的位置和尺寸。也就是说,变换块是构成编码单元CU的1个或多个不重复的区域。或者说,变换树包含了通过上述分割得到的1个或多个变换块。另外,CU中包含的变换树的相关信息、以及变换树中包含的信息称为TT信息。
变换树中的分割有将与编码单元相同大小的区域作为变换块进行的分割、以及与上述树块分割同样的通过迭代四叉树进行的分割。变换处理在各变换块进行。以下,将作为变换的单位的变换块称为变换单位(transform unit;TU)。
变换树TT包含指定将对象CU分割成各变换块的分割方式的TT分割信息SP_TT、以及量化预测残差QD1~QDNT(NT为对象CU中包含的变换单位TU的总数)。
TT分割信息SP_TT具体是指决定对象CU中包含的各变换块的形状、以及在对象CU内的位置的信息。例如,TT分割信息SP_TT可由表示是否进行对象节点分割的信息(split_transform_unit_flag)和表示其分割深度的信息(trafoDepth)组成。
各量化预测残差QD是分层视频编码装置2通过对作为处理对象变换块的对象块进行以下处理1~3而生成的编码数据。
处理1:对从编码对象图像减去预测图像得到的预测残差进行频率变换(例如,DCT变换(Discrete Cosine Transform)及DST变换(Discrete Sine Transform)等);
处理2:对从处理1得到的变换系数进行量化;
处理3:对处理2中量化的变换系数进行可变长度编码。
另外,上述的量化参数qp表示分层视频编码装置2在量化变换系数时使用的量化步长QP的大小(QP=2qp/6)。
(预测树)
预测树(以下简称PT)定义了编码单元CU被分割成1个或多个预测块、以及各预测块的位置和尺寸。也就是说,预测块是构成编码单元CU的1个或多个不重复的区域。或者说,预测树包含了通过上述分割得到的1个或多个预测块。另外,CU中包含的预测树的相关信息、以及预测树中包含的信息称为PT信息。
预测处理在各预测块中进行。以下将作为预测的单位的预测块称为预测单位(prediction unit:PU)。
预测树中的分割可分为2类,即帧内预测和帧间预测。帧内预测是指同一图片内的预测,帧间预测是指不同图片间(例如,显示时间之间、分层图像间)进行的预测处理。即,帧间预测中,是将与对象层同一层的参考图片(层内参考图片)或对象层的参考层上的参考图片(层间参考图片)作为参考图片,从参考图片上的解码图像生成预测图像。
帧内预测时,分割方法有2N×2N(与编码单元相同尺寸)和N×N。
帧间预测时,分割方法是通过编码数据的part_mode进行编码,有2N×2N(与编码单元相同尺寸)、2N×N、2N×nU、2N×nD、N×2N、nL×2N、nR×2N、及、N×N等。
(预测参数)
预测单元的预测图像通过附属于预测单元的预测参数导出。预测参数中,有帧内预测的预测参数和帧间预测的预测参数。
帧内预测参数是还原各IntraPU的帧内预测(预测模式)用的参数。还原预测模式用的参数中包含MPM(Most Probable Mode、下同)标记mpm_flag、选择MPM用的索引mpm_idx、以及指定MPM以外的预测模式用的索引rem_idx。
帧间预测参数由预测列表使用标记predFlagL0、predFlagL1和参考图片索引refldxL0、refIdxL1和矢量mvL0、mvL1组成。预测列表使用标记predFlagL0、predFlagL1是表示是否使用称为L0参考列表、L1参考列表的参考图片列表的标记,值为1时使用对应的参考图片列表。使用2个参考图片列表,即predFlagL0=1、predFlagL1=1时,对应双预测;使用1个参考图片列表,即(predFLagL0,predFlagL1)=(1,0)或(predFlagL0,predFlagL1)=(0,1)时,对应单预测。
(参考图片列表的举例)
下面举例说明参考图片列表。参考图片列表是指存储在解码图片缓存中的参考图片的列表。图10(a)所示为举例的参考图片列表概念图。在参考图片列表RPL0中,左右排列的5个长方形,分别表示各参考图片。从左至右依次排列的符号P1、P2、Q0、P3、P4分别表示各参考图片的符号。同样,参考图片列表RPL1中,从左至右依次排列的符号P4、P3、R0、P2、P1分别为表示参考图片的符号。P1等中的P表示对象层P,Q0中的Q表示与对象层P不同的层Q。同样,R0中的R表示与对象层P及层Q不同的层R。P、Q、R的下标,表示图片序号POC(PictureOrdering Count)。refldxL0正下方的向下箭头表示参考图片索引refldxL0是在解码图片缓存中通过参考图片列表RPL0对参考图片Q0进行参考的索引。同样,refldxL1正下方的向下箭头,表示参考图片索引refldxL1是在解码图片缓存中通过参考图片列表RPL1对参考图片P3进行参考的索引。
(参考图片的举例)
下面举例说明导出矢量时使用的参考图片。图10(b)为举例的参考图片概念图。图10(b)中,横轴表示时间,纵轴表示层数。图中所示的横向3个纵向3个(共9个)长方形,分别表示图片。9个长方形中,中间行左数第2列的长方形表示解码对象图片(对象图片),其余的8个长方形表示各参考图片。从对象图片向下箭头所示的参考图片Q2、以及R2为与对象图片相同显示时间的不同层的图片。在以对象图片curPic(P2)为基准的层间预测中,使用参考图片Q2或R2。从对象图片向左箭头所示的参考图片P1为与对象图片同一层的过去的图片。从对象图片向右箭头所示的参考图片P3为与对象图同一层的未来的图片。在以对象图片为基准的运动预测中,使用参考图片P1或P3。
(运动矢量和变位矢量)
矢量mvLX中有运动矢量和变位矢量(disparity vector、视差矢量)。运动矢量是表示在某层某显示时间的图片中的块的位置和不同显示时间(例如,邻接的离散时间)的同一层图片中的对应块的位置差异的矢量。
变位矢量是表示在某层某显示时间的图片中的块的位置和同一显示时间中的不同层的图片中的对应块的位置差异的矢量。不同层的图片有多种情况,如同一分辨率而品质不同的图片、不同视点的图片、或不同分辨率的图片等。特别地将对应不同视点的图片的变位矢量称为视差矢量。
〔分层视频解码装置〕
以下,参考图16~图19,说明本实施例相关的分层视频解码装置1的构成。
(分层视频解码装置的构成)
以下说明本实施例相关的分层视频解码装置1的构成。图16所示为本实施例相关的分层视频解码装置1的构成概要图。
分层视频解码装置1对分层视频编码装置2提供的分层编码数据DATA进行解码,生成根据外部提供的通过输出指定信息(对象层集标识符)确定的解码对象层集TargetDecLayerSet的层ID列表TargetDecLayerIdList、以及外部提供的指定解码对象的层上附属的最高子层的对象最高时域标识符TargetHighestTid决定的目标集TargetSet中包含的各层的解码图片,将通过对象输出层集相关的输出层信息OutputLayerFlag作为输出层指定的层的解码图片作为输出图片POUT#T输出。
即,分层视频解码装置1按对象解码层集TargetDecLayerSet的层ID列表的元素TargetDecLayerIdList[0]..TargetDecLayerIdList[N-1](N为对象解码层集中包含的层数)的顺序,对层i图片的编码数据进行解码,生成其解码图片,当该层i的输出层信息OutputLayerFlag[i]显示为“输出层”时,将该层i的解码图片在指定时间输出。
如图16所示,分层视频解码装置1由NAL解复用部11、以及目标集图片解码部10构成。而目标集图片解码部10又由Non-VCL解码部12、参数存储器13、图片解码部14、解码图片管理部15、以及输出控制部16构成。NAL解复用部11中还配备有比特流抽取部17。
分层编码数据DATA中,除有通过VCL生成的NALU(NAL Unit)以外,还有包含参数集(VPS、SPS、PPS)、SEI等的NALU。这些NAL相对VCL NALU称为非VCL NALU(non-VCL NALunit)。
输出控制部16基于外部提供的输出指定信息、参数存储器13中保存的Active VPS层集信息、以及输出层集信息,作为输出控制信息,导出表示对象输出层集TargetOptLayerSet层结构的对象输出层ID列表TargetOptLayerIdList、以及表示解码对象输出层集所必要的层结构的对象解码层ID列表TargetDecLayerIdList。导出的对象输出层ID列表TargetOptLayerIdList、以及对象解码层ID列表TargetDecLayerIdList分别提供给比特流抽取部17、以及解码图片管理部15。输出控制部16中的对象输出层ID列表、以及对象解码层ID列表的导出处理将后述。
NAL解复用部11中的比特流抽取部17,概括地说,就是进行比特流抽取处理,从分层编码数据DATA中,抽取由通过输出控制部16提供的对象解码层ID列表、以及解码对象最高子层标识符TargetHighestTid决定的集合的目标TargetSet中包含的NAL单元构成的目标集编码数据DATA#T(BitstreamToDecode)。比特流抽取部17中与本发明关联性大的处理将在后面详细论述。
然后,NAL解复用部11将由比特流抽取部17抽取的目标集编码数据DATA#T(BitstreamToDecode)进行解复用,参考NAL单元中包含的NAL单元类型、层标识符(层ID)、时域标识符(时域ID),将目标集中包含的NAL单元提供给目标集图片解码部10。
目标集图片解码部10,分别将所提供的目标集编码数据DATA#T中包含的NALU中的non-VCL NALU提供给Non-VCL解码部12,将VCL NALU提供给图片解码部14。即目标集图片解码部10将所提供的NAL单元的头(NAL单元头)进行解码,根据解码的NAL单元头中包含的NAL单元类型、层标识符、以及时域标识符,将non-VCL NALU的编码数据提供给Non-VCL解码部12,将VCL NALU的编码数据提供给图片解码部14,解码的NAL单元类型、层标识符、以及时域标识符也一起提供。
Non-VCL解码部12从输入的non-VCL NALU解码参数集,即解码VPS、SPS、及、PPS提供给参数存储器13。Non-VCL解码部12中与本发明关联性大的处理将在后面详述。
参数存储器13按解码后参数集的各参数集标识符保管参数集的编码参数。具体是:如果是VPS,按每个VPS标识符(video_parameter_set_id)保管VPS的编码参数;如果是SPS,按每个SPS标识符(sps_seq_parameter_set_id)保管SPS的编码参数;如果是PPS,按每个PPS标识符(pps_pic_parameter_set_id)保管PPS的编码参数。另外,参数存储器13中保管的编码参数中也可以包含各参数集的层标识符、以及时域标识符。
参数存储器13还将后述的图片解码部14解码图片时参考的参数集(Active参数集)的编码参数提供给图片解码部14。具体是:首先根据被图片解码部14解码的条带头SH中包含的Active PPS标识符(slice_pic_parameter_set_id),指定Active PPS;然后,根据所指定的Active PPS中包含的Active SPS标识符(pps_seq_parameter_set_id),指定ActiveSPS;最后,通过Active SPS中包含的Active VPS标识符(sps_video_parameter_set_id),指定Active VPS。之后将所指定的Active PPS、Active SPS、Active VPS的编码参数提供给图片解码部14。同样,参数存储器13还将输出控制部16导出输出控制信息时参考的Active参数集的编码参数提供给输出控制部16。
图片解码部14根据所输入的VCL NALU、Active参数集(Active PPS、Active SPS、Active VPS)以及参考图片,生成解码图片,并提供给解码图片管理部15。所提供的解码图片保存在解码图片管理部15内的缓存中。图片解码部14的详细说明将后述。
解码图片管理部15将所输入的解码图片保存在内部的解码图片缓存(DPB:Decoded Picture Buffer)中,同时还决定参考图片列表的生成和输出图片等。此外,解码图片管理部15还将DPB中记录的解码图片中的、由输出控制部16导出的对象输出层ID列表TargetOptLayerIdList中包含的输出层的解码图片作为输出图片POUT#T,在指定时间向外部输出。
(Non-VCL解码部12)
Non-VCL解码部12从输入的目标集编码数据中,解码目标集解码用的参数集(VPS,SPS,PPS)。解码后的参数集的编码参数被提供给参数存储器13,按各参数集的各标识符记录。此外,Non-VCL解码部12不仅限于参数集,也可以解码图6中分类为non-VCL的NAL单元(nal_unit_type=32..63)。与参数集同样,解码后的non-VCL编码参数分别记录在参数存储器13中。
通常,参数集的解码按既定的语法元素表进行。即,按语法元素表定义的步骤从编码数据中读出比特串,解码获得语法元素表中的语法元素。也可以根据需要,基于已解码的语法元素导出变量,包含在输出的参数集中。因此,从Non-VCL解码部12输出的参数集,可描述为编码数据中包含的参数集(VPS、SPS、PPS)相关的语法元素、及通过该语法元素导出的变量的集合。
此外,图中虽未表示,Non-VCL解码部12的构成中包含了根据规定语法元素表解码参数集(VPS/SPS/PPS)的参数集解码装置。而参数集解码装置中又具有:解码层集信息的层集解码装置;解码层间依赖信息的层间依赖信息解码装置;解码输出层集信息的输出层集信息解码装置;解码对应输出层集的PTL信息的PTL信息解码装置;解码对应输出层集的HRD参数的HRD参数解码装置;解码对应输出层集的DPB信息的DPB信息解码装置等。
以下重点说明Non-VCL解码部12中解码用的语法元素表中与本发明关联性大的语法元素。
(层集信息)
层集信息是表示构成分层编码数据的层集的层的集合的列表(以下称为层ID列表LayerIdList),通过层集信息解码装置从VPS进行解码。层集信息中包含有表示VPS中定义的层集数的语法元素(vps_num_layer_sets_minus1)(图11中的SYNPVS06)以及表示按VPS中的层定义顺序的第j层(层j)是否包含在第i层集(层集i)中的语法元素“layer_id_included_flag[i][j]”(SYNVPS07)。层集数VpsNumLayerSets设置为(vps_num_layer_sets_minus1+1)。此外,层集i由语法元素”layer_id_included_flag[i][j]”的值为1的层j构成,即构成层集i的层j包含在层ID列表LayerIdList[i]中。
层集i中包含的层数NumLayersInIdList[i]是指语法元素“layer_id_included_flag[i][j]”中,对层集i的该语法元素值为1的标记的个数。
更具体地说,各层集i的层ID列表LayerIdList[i]、以及层集i中包含的层数NumLayersInIdList[i]可以通过以下的伪代码导出。
(表示导出各层集的层ID列表的伪代码)
for(i=0;i<VpsNumLayerSets;i++){
NumLayersInIdList[i]=0;
for(m=0;m<=vps_max_layer_id;m++){
if(layer_id_included_flag[i][m]){
LayerIdList[i][NumLayersInIdList[i]]=m;
NumLayersInIdList[i]++;
}
}//end of loop on for(m=0;m<=vps_max_layer_id;m++)
}//end of loop on for(i=0;i<VpsNumLayerSets;i++)
可用如下步骤表述上述伪代码。
(SA01)导出层集i的层ID列表的循环的始点。循环开始前,将变量i初始化为0。当变量i小于层集数“NumLayerSets”时,执行循环内的处理,每执行1次循环内的处理,变量i加“1”。
(SA02)将层集i的层数NumLayresInIdList[i]初始化为0(即NumLayersInIdList[i]=0)。
(SA03)向层集i的层ID列表追加第m层(层m)元素的循环的始点。循环开始前,将变量m初始化为0。当变量m(第m层)小于等于最大层标识符“vps_max_layer_id”(m<=vps_max_layer_id)时,执行循环内的处理,每执行1次循环内的处理,变量m加“1”。另外,也可以用最大层数VpsMaxLayers取代最大层标识符“vps_max_layer_id”,当变量m小于最大层数VpsMaxLayers时,执行循环内的处理。即,for语句的“m<=vps_max_layer_id”判断式可变更为“m<VpsMaxLayers”。
(SA04)判断层m是否包含在层集i中(layer_id_included_flag[i][m])。如果layer_id_included_flag[i][m]为1,进入步骤SA05。如果layer_id_included_flag[i][m]为0,省略步骤SA05~SA06的处理,进入SA0A。
(SA05)将层m追加到层集i的层ID列表LayerIdList[i][]的第NumLayersInIdList[i]元素(即,LayerIdList[i][NumLayersInIdList[i]]=m)。
(SA06)将层集i的层数NumLayersInIdList[i]的值加“1”(即,NumLayersInIdList[i]++)。
(SA0A)向层集i的层ID列表追加第m层(层m)元素的循环的终点。
(SA0B)导出层集i的层ID列表的循环的终点。
通过以上步骤,可以导出各层集i的层ID列表LayerIdList[i]。参照层ID列表LayerIdList[],可知层集i中的第m元素的层在全部层(VPS中定义的层)中是第几层。并且,通过表示层集i的层数的变量NumLayersInIdList[i]也可知层集i中包含的层数。另外,导出的步骤并不仅限于上述步骤,可在实施可能的范围内变更。
(PTL信息)
PTL信息是表示解码输出层集所必须的档次以及水平的信息,通过PTL信息解码装置从VPS或SPS进行解码。
对应输出层集OLS#0的PTL信息,VPS中的在图11所示的SYNVPS04、SPS中的在图15(a)中通知。并且,对应输出层集OLS#i(i=1..NumOutputLayerSets-1)的PTL信息,由表示VPS中定义的”PTL信息数-1”的语法元素”vps_num_profile_tier_level_minus1”(图11中的SYNVPS0D)、表示第i(i=1..num_profile_tier_level_minus1)的PTL信息的档次信息有无的档次有无标记”vps_profile_present_flag[i]”(图11中的SYNVPS0E)、以及第i的PTL信息”profile_tier_level()”(图11中的SYNVPS0F)组成。
各PTL信息通过后述的输出层集OLS#i中包含的PTL指定标识符(profile_level_tier_idx[i])(图12中的SYNVPS0J)与输出层集OLS#i建立对应关系。例如,如果输出层集OLS#3的PTL指定标识符profile_level_tier_idx[3]=10,则图12的SYNVPS0F中的PTL信息列表中,从开头数起第10的PTL信息是适用于输出层集OLS#3的PTL信息。
而如图13所示的PTL信息(SYNVPS04以及SYNVPS0H)中,包含了档次以及水平的相关语法元素组(SYNPTL01、SYNPTL02、SYNPTL03、SYNPTL04、SYNPTL05、SYNPTL06),通过PTL信息解码装置进行解码。
语法元素组SYNPTL01中包含了下列语法元素。
·档次空间general_profile_space
·等级标记general_tier_flag
·档次标识符general_profile_idc
·档次兼容标记general_profile_compatibility_flag[i]
·档次预约语法元素general_reserved_zero_44bits
语法元素组SYNPTL02中包含了水平标识符general_level_idc。
语法元素组SYNPTL03包含了子层的子层档次有无标记及子层水平有无标记。
语法元素组SYNPTL04为基于子层数(MaxNumSbuLayersMinus1、或MaxNumSubLayers-1)决定的比特数个数的byte align data(reserved_zero_2bits[i])。
语法元素组SYNPTL05中包含下列语法元素。
·子层档次空间sub_layer_profile_space[i]
·子层等级标记sub_layer_tier_flag[i]
·子层档次标识符sub_layer_profile_idc[i]
·子层档次兼容标记sub_layer_profile_compatibility_flag[i][j]
·子层档次预约语法元素sub_layer_reserved_zero_44bits[i]
语法元素组SYNPTL05中,作为子层的子层水平信息包含了子层水平标识符sub_layer_level_idc[i]。
(输出层集信息)
输出层集通过输出的层的集合(输出层信息)和解码处理对象的层的集合(层集信息)的组合进行定义,通过分层视频解码装置具有的输出层集信息解码装置(图中未表示)进行解码。分层视频解码装置将层集信息解码装置解码的输出层集中包含的层集(与输出层集建立了对应关系的层集)中包含的层作为解码对象,解码获得该层的解码图片保存在缓存中,以输出层集中包含的输出层为对象,选择缓存中保存的特定层的解码图片并输出。
输出层集信息中包含了以下的语法元素(E1~E5)。
E1:追加输出层集数(num_add_output_layer_sets)(图12中的SYNVPS0G)
E2:默认输出层标识符(default_target_output_layer_idc)(图12中的SYNVPS0H)
E3:层集标识符(output_layer_set_idx_minus1)(图12中的SYNVPS0I)
E4:输出层信息(output_layer_flag)(图12中的SYNVPS0J)
E5:PTL指定IDX(profile_level_tier_idx)(图12中的SYNVPS0K)
本实施例的输出层集信息解码装置至少解码输出层集的层集标识符和输出层标记。
(E1:追加输出层集)
输出层集基于对应的层集进行定义。在定义了比基础的层集数VpsNumlayerSets多的输出层集时定义追加输出层集。追加输出层集数num_add_output_layer_sets是与追加输出层集数量相关的语法元素。
本实施例的输出层集信息解码装置,解码输出层集数NumOutputLayerSets,通过层集数VpsNumlayerSets+追加输出层集数num_add_output_layer_sets导出输出层集数NumOutputLayerSets。以下,相对i=VpsNumLayerSets-1..NumOutputLayerSet的追加层集OLS#i,将i=0..(VpsNumLayerSets-1)的输出层集OLS#i称为基本层集。
本实施例的输出层集信息解码装置,对应层集数VpsNumLayerSets,省略追加输出层集数的解码。具体是,当层集数VpsNumLayerSets大于1(vps_num_layer_sets_minus1>0)时,输出层集信息解码装置从编码数据中解码获得追加输出层集数num_add_output_layer_sets(SYNVPS0G)。当追加输出层集数num_add_output_layer_sets没有出现在编码数据中时,即层集数VpsNumLayerSets为1(vps_num_layer_sets_minus1=0)时,输出层集信息解码装置推定追加输出层集数num_add_output_layer_sets为0。
因为层集0总是由基本层构成的层集,所以,当层集数为1时,输出层集中包含的层(=层集)只有基本层。作为由基本层构成的输出层集,只有当基本层的输出标记为1时解码才有意义,除此以外解码追加输出层集没有意义。因此,上述构成的输出层集信息解码装置,当层集数为0时,不解码追加输出层集数(不使用追加输出层)是合适的。
根据上述构成的输出层集信息解码装置,当层集数为1时,可省略追加输出层集数的语法元素相关的解码/编码。
(E2:默认输出层标识符)
默认输出层标识符default_target_output_layer_idc是指定输出层集(输出层信息)导出处理的语法元素。本实施例的输出层集信息解码装置基于对默认输出层标识符的解码,导出输出层集OLS#i(i=1..(VpsNumLayerSets-1))的输出层信息(OutputLayerFlag)。
(1)当默认输出层标识符=0时,对基本层集(i=1..(VpsNumLayerSets-1)为止的输出层集OLS#i),省略后述的output_layer_flag,将各输出层集中包含的全部层作为输出层。对于追加层集,通过output_layer_flag明确指定输出层。
(2)当默认输出层标识符=1时,在基本层集(i=1..(VpsNumLayerSets-1)为止的输出层集OLS#i)中,将各输出层集中包含的具有最高层标识符的主层作为输出层。对于追加层集,通过output_layer_flag明确指定输出层。
(3)当默认输出层标识符=2时,在全部的输出层集(基本层集及追加层集、i=0...(NumOutputLayerSet-1)为止的输出层集OLS#i)中,对output_layer_flag[i][j]进行编码,明确指定输出层。
另外,默认输出层标识符的3以上的值作为将来规格扩展用预约值。
本实施例的输出层集信息解码装置,对应层集数VpsNumLayerSets,省略默认输出层标识符(default_target_output_layer_idc)的解码。
具体是,本实施例的输出层集信息解码装置,当层集数VpsNumLayerSets大于1(vps_num_layer_sets_minus1>0)时,解码默认输出层标识符(default_target_output_layer_idc);当层集数VpsNumLayerSets等于1(vps_num_layer_sets_minus1=0)时,不解码默认输出层标识符(default_target_output_layer_idc)。当默认输出层标识符(default_target_output_layer_idc没有出现在编码数据中时,本实施例的输出层集信息解码装置推定默认输出层标识符(default_target_output_layer_idc)为0(推定为上述默认输出层标识符=2以外的情况)。
根据上述构成的输出层集信息解码装置,可通过取代输出层集数NumOutputLayerSets、将层集数VpsNumLayerSets作为解码的条件,解码追加输出层集数(num_add_output_layer_sets)相关的语法元素,不导出通过追加输出层集数决定的输出层集数NumOutputLayerSets(=VpsNumOutputLayerSets+num_add_output_layer_sets),而解码默认输出层标识符相关的语法元素。即可简化默认输出层标识符解码的相关处理。
(E3:层集标识符)
层集标识符是确认与输出层集关联的层集的值。本实施例的输出层集信息解码装置,解码语法元素output_layer_set_idx_minus1[i],将值为output_layer_set_idx_minus1[i]加1的层集标识符所指的层集(LS#(output_layer_set_idx_minus1[i]+1))与输出层集OLS#i建立关联。
另外,在编码数据中,当输出层集OLS#i的层集标识符output_layer_set_idx_minus1[i]不存在(被省略了)时,输出层集信息解码装置也可以推定。例如,i=0..VpsNumLayerSets-1的输出层集OLS#i时,推定层集标识符output_layer_set_minus1[i]=(i-1)。本实施例中,层集标识符相关的语法元素用”层集标识符的值-1”表示,但并不仅限于此,也可以用”层集标识符的值”本身表示
(E4:输出层信息)
输出层信息是表示与输出层集关联的层集中包含的各层是否作为输出对象层的标记OutputLayerFlag[i][j]。本实施例的输出层集信息解码装置,从语法元素output_layer_flag[i][j]中解码输出层信息OutputLayerFlag[i][j]。output_layer_flag[i][j]是表示输出层集i中的第j层是否是输出对象层的标记,值为真(1)时,表示作为输出对象层,值为伪(0)时,不作为输出对象层。
输出层集信息解码装置也可省略部分或全部输出层信息的解码,推定、或者根据其它语法元素值的导出处理,决定输出层信息。例如,也可根据默认输出层标识符(default_target_output_layer_idc),基于以下(1)~(3)所示的导出处理,决定输出层集OLS#i(i=1..VpsNumLayerSets-1)的输出层信息。另外,只由基本层构成的输出层集OLS#0的输出层信息也可推定为OutputLayerFlag[0][0]=1。
(1)当默认输出层标识符=0时:如以下伪代码所示,输出层集信息解码装置针对i=0..vps_number_layer_sets_minus1的基本输出层,推定全部层的输出层标记OutputLayerFlag[i][j]为1。此处,变量LayerSetIdx[i]表示与输出层集OLS#i相关联的层集的层集标识符,被设置为(output_layer_set_idx_minus1[i]+1),变量NumLayersInIdList[LayerSetIdx[i]]为层集LS#(LayerSetIdx[i])中包含的层数(以下同)。
for(j=0;j<NumLayersInIdList[LayerSetIdx[i]];j++){
OutputLayerFlag[i][j]=1;
}
(2)当默认输出层标识符=1时:对i=0..vps_number_layer_sets_minus1的基本输出层,输出层集信息解码装置将各输出层集中包含的具有最高层标识符的主层作为输出层。输出层信息(OutputLayerFlag)可以通过以下的伪代码导出。
for(j=0;j<NumLayersInIdList[LayerSetIdx[i]];j++){
if(层j是LayerIdList[LayerSetIdx[i]]中的具有最高层标识符的
主层){
OutputLayerFlag[i][j]=1;
}else{
OutputLayerFlag[i][j]=0;
}
}
此外,参考从表示层j的维数ID的语法元素”dimension_id[i][j]”导出的分层ID(ScalabilityId)、图13中所示的分层ID和分层类型(Scalability Diemnsion)的对应表,根据该表中的“Auxiliary”项(AuxId[j]=ScalabilityId[j][3])的值判断层j是否是主层。即,该项值为0(AuxId[j]==0)时,表示层j为主层,大于0(AuxId[j]>0)时,表示层j是辅助层(或AUX层)。辅助层是指针对属于主层的图片,通知深度图、Alpha通道等的辅助图片用的层。主层是指通知由亮度/色度形成的图片用的层,不包含辅助图片。
(3)当默认输出层标识符=2时:各输出层集OLS#i中,通过明确通知的输出层信息相关的语法元素”output_layer_flag[i][j]”,决定输出层。即,如以下伪代码所示,在输出层集OLS#i第j层(层j)的输出层信息(OutputLayerFlag[i][j])中,设置语法元素output_layer_flag[i][j]的值。
for(j=0;j<NumLayersInIdList[LayerSetIdx[i]];j++){
OutputLayerFlag[i][j]=output_layer_flag[i][j];
}
输出层集信息解码装置,也可根据导出的输出层信息(OutputLayerFlag),通过以下的伪代码导出各输出层集OLS#i(i=0..NumOuputLayerSets-1)的输出层数NumOptLayersInOLS[i]。即,输出层集OLS#i的输出层数NumOptLayersInOLS[i]是层j的输出层标记OutputLayerFlag[i][j]表示”输出层”标记的个数。
NumOptLayersInOLS[i]=0;
for(j=0;j<NumLayersInIdList[LayerSetIdx[i]];j++){
NumOptLayersInOLS[i]+=OuputLayerFlag[i][j];
}
(E5:PTL指定标识符)
PTL指定标识符(profile_level_tier_idx)(图12中的SYNVPS0K)···用于指定适用于输出层集OLS#i(i=1..NumOutputLayerSets-1)的PTL信息的语法元素。用PTL指定标识符(profile_tier_level[i])所指定的第(profile_tier_level_idx[i])项的PTL信息适用于输出层集OLS#i。
(输出层集相关的比特流一致性)
以下说明输出层集应满足的各种比特流一致性。
因为现有技术中未解决的课题,禁止定义没有输出层的输出层集,所以,本实施例中图像解码装置1/图像编码装置2所解码/生成的编码数据至少必须满足以下的输出层集一致性条件CA1。
CA1:各输出层集OLS#i(i=0..NumOutputLayerSets-1)具有1以上(含1)输出层(或至少具有1个输出层)。
使用输出层标记OutputLayerFlag,条件CA1也可以描述成条件CA2、或条件CA3。
CA2:各输出层集OLS#i(i=0..NumOutputLayerSets-1)中,输出层标记的总和大于等于1(或者大于0)(针对全部的i=0..NumOutputLayerSets-1,j=0..NumLayersInIdList[LayerSetIdx[i]]的OutputLayerFlag[i][j]的和大于等于1)。
条件CA2中,输出层集OLS#i的输出层标记的总和SumOfOutputLayerFlag,例如可以通过以下的伪代码导出。
SumOfOutputLayerFlag=0;
for(j=0;j<NumLayersInIdList[LayerSetIdx[i]];j++){
SumOfOutputLayerFlag+=OutputLayerFlag[i][j];
}
CA3:针对全部i=0..NumOutputLayerSets-1,对满足0..NumLayersInIdList[LayerSetIdx[i]]的至少1个j,有OutputLayerFlag[i][j]等于1。
上述一致性条件CA1~CA3,换言之,即禁止定义没有输出层的输出层集。编码数据通过输出层集满足上述一致性条件CA1(或CA2、CA3),图像解码装置1从上述编码数据解码得到的输出层集,可保证至少有1以上(含1)输出层的解码图片作为输出图片输出。因此,可防止现有技术中图像解码装置从编码数据中解码了没有输出层的输出层集的各层,因没有输出图片而导致可能发生不可预料动作的问题。
并且,图像解码装置1/图像编码装置2,优选解码/生成满足以下所示输出层集相关一致性条件CB1的编码数据。
条件CB1:2以上(含2)的输出层集与同一层集建立了对应关系(关联)、且输出层数相等时,在上述的2以上(含2)的输出层集中,至少有1个的同一层相关输出层标记值互不相同。
上述条件CB1也可以用条件CB2~CB3表述。
条件CB2:输出层集OLS#i(i=0..NumOutputLayerSets-1)的层集标识符LayerSetIdx[i]和输出层集OLS#j(j=0..NumOutputLayerSets-1,i!=j)的层集标识符LayerSetIdx[j]相等、且输出层集OLS#i的输出层数NumOptLayersInOLS[i]和输出层集OLS#j的输出层数NumOptLayersInOLS[j]相等时,至少有1层n(n=0..NumOptLayersInOLS[i]-1)的输出层集OLS#i的输出层标记OuputLayerFlag[i][n]和输出层集OLS#j的输出层标记OuputLayerFlag[i][n]不相同。
条件CB3:输出层集OLS#i(i=0..NumOutputLayerSets-1)的层集标识符LayerSetIdx[i]和输出层集OLS#j(j=0..NumOutputLayerSets-1,i!=j)的层集标识符LayerSetIdx[j]相等时,输出层集OLS#i的输出层标记的列表OutputLayerFlag[j][]和输出层集OLS#j的输出层标记的列表OutputLayerFlag[j][]互不相同。
条件CB1~CB3,换言之,即禁止重复定义具有相同输出层结构的输出层集。通过编码数据的输出层集满足上述一致性条件CB1(或CB2/CB3),图像解码装置1中,从上述编码数据中解码得到的2以上(含2)的输出层集,可保证是互不相同的输出层结构。因此,可防止图像解码装置从编码数据解码重复定义的输出层集。而且,可减少输出层集重复定义的相关编码量。
作为禁止输出层集重复定义的一致性条件,取代条件CB1~CB3,图像解码装置1/图像编码装置2所解码/生成的编码数据也可满足禁止输出层标记以及PTL信息组合时重复定义的一致性条件CB4~CB6。
条件CB4:2以上(含2)的输出层集与同一层集建立了对应关系(关联)、且输出层数相等时,上述2以上(含2)的输出层集中,与各输出层集相关联的PTL信息互不相同,或至少有1个同一层的输出层标记的值不相同。
条件CB5:输出层集OLS#i(i=0..NumOutputLayerSets-1)的层集标识符LayerSetIdx[i]和输出层集OLS#j(j=0..NumOutputLayerSets-1,i!=j)的层集标识符LayerSetIdx[j]相等、且输出层集OLS#i的输出层数NumOptLayersInOLS[i]和输出层集OLS#j的输出层数NumOptLayersInOLS[j]相等时,与各输出层集相关联的PTL信息互不相同,或至少有1层n(n=0..NumOptLayersInOLS[i]-1)的输出层集OLS#i的输出层标记OuputLayerFlag[i][n]和输出层集OLS#j的输出层标记OuputLayerFlag[i][n]互不相同。
条件CB6:输出层集OLS#i(i=0..NumOutputLayerSets-1)的层集标识符LayerSetIdx[i]和输出层集OLS#j(j=0..NumOutputLayerSets-1,i!=j)的层集标识符LayerSetIdx[j]相等时,输出层集OLS#i的PTL信息和输出层标记形成的集合互不相同。
此处,与各输出层集相关联的PTL信息互不相同,优选是“通过输出层集OLS#i的PTL指定标识符(profile_tier_level[i])所指定的PTL信息和通过输出层集OLS#j的PTL指定标识符IDX(profile_tier_level[j])所指定的PTL信息中,至少档次空间general_profile_space、档次标识符general_profile_idc、水平标识符general_level_idc、等级标记general_tier_flag、档次兼容标记general_compatibility_flag[i]的语法元素的集合P={general_profile_space,general_profile_idc,general_level_idc,general_tier_flag,general_compatibility_flag[i](i=0..31)}互不相同”。
条件CB4~CB6,换言之,即禁止重复定义具有相同输出层结构且具有相同档次/水平的输出层集。编码数据通过输出层集满足上述一致性条件CB4(或CB5/CB6),图像解码装置1从上述编码数据中解码2以上(含2)的输出层集时,可保证各输出层集有互不相同的输出层结构或互不相同的档次/水平。因此,可防止图像解码装置从编码数据解码重复定义的输出层集。而且,可减少输出层集重复定义的相关编码量。
此外,图像解码装置1/图像编码装置2,优选解码/生成的编码数据满足以下所示的与输出层集相关联的层集的一致性条件CC1。
条件CC1:层集LS#i(i=0..VpsNumLayerSets-1)包含基本层。
上述条件CC1也可以用条件CC2~CC4表述。
CC2:层集LS#i(i=0..VpsNumLayerSets-1)包含层标识符为0的层。
CC3:层集LS#i(i=0..VpsNumLayerSets-1)的层ID列表LayerIdList[i]的第0号元素LayerIdList[i][0]是层标识符为0的层。
CC4:表示层0是否包含在层集LS#i(i=0..VpsNumLayerSets-1)中的标记layer_id_included_flag[i][0]的值为1(对i=0..VpsNumLayerSets-1,有layer_id_included_flag[i][0]=1)。
即本实施例的图像解码装置1/图像编码装置2,优选解码/生成的编码数据满足一致性条件CC(CC为CC1到CC4中之一)。
换言之,条件CC1~CC4意味着在输出层集中,作为解码对象的层总是包含基本层(层标识符为0的层)。编码数据通过与输出层集相关联的层集(即全部的层集)满足上述一致性条件CC(CC为CC1~CC4的其中之一),图像解码装置1从上述编码数据解码输出层集,必定能保证基本层的解码。因此,对通过从包含某层集A的编码数据进行比特流抽取处理生成的、包含层集A子集的层集B的编码数据进行解码时,在只对应基本层(层标识符为0的层)解码的解码装置V1(例如HEVC Main profile定义的解码)中,也可以不发生问题正常动作,其理由如下。
·包含被抽取层集B的编码数据,包含层标识符为0的VCL(条带片段)及nonVCL(参数集(VPS/SPS/PPS)。
·解码装置V1对层标识符为0的条带片段进行解码,如果层标识符为0的条带片段所参考的SPS的档次表示可以解码时,进行解码;如果层标识符为0的条带片段所参考的SPS的档次等的PTL信息没有表示可以解码时,则可以不进行解码。
解码装置V1可以进行解码也可以停止解码。即,解码装置V1可以不发生问题正常解码(对应可能)。
反之,用层集解码装置V1解码不满足条件CC1~CC4的编码数据,即,解码装置V1解码不包含基本层的层集时将发生以下问题。
·因为编码数据中不存在层标识符为0的条带片段,所以,解码装置V1不解码条带片段。
·因不解码条带片段的slice_pic_parameter_set_id,所以,PPS不被激活(同样,SPS、VPS也不被激活)。
·解码装置V1因不解码激活的SPS(以及VPS)、不解码SPS(VPS)中包含的档次等的PTL信息,所以,不被解码。
·当内部缓存的编码数据用完了时,解码装置V1向编码装置(或编码数据发送装置、编码数据缓存装置)发出编码数据需求的请求。因为请求的编码数据中或许也没有解码对象,为了解码以获得被请求的输出图像(例如,1张图片),可能会一直持续对编码数据的请求和解码。
满足一致性条件CC(CC指CC1~CC4)时,可保证包含层集A(或从包含层集A的编码数据通过比特流抽取生成的层集A子集的层集B)的编码数据可以解码(可以对应)。
(输出控制部16)
输出控制部16,基于外部提供的输出指定信息、参数存储器13中保存的ActiveVPS的层集信息、以及输出层集信息,作为输出控制信息导出表示对象输出层集TargetOptLayerSet层结构的对象输出层ID列表TargetOptLayerIdList、以及表示对象输出层集解码所必须的层结构的对象解码层ID列表TargetDecLayerIdList,将其结果提供给比特流抽取部17、以及解码图片管理部15。
外部提供的输出指定信息中,作为确定处理对象输出层集用的信息,至少包含对象输出层集标识符TargetOLSIdx。而且输出控制部16参考的Active VPS已经预先解码、并保存在参数存储器13中。此外,为确定Active VPS,也可将Active VPS标识符包含在输出指定信息中。
对象输出层ID列表TargetOptLayerIdList、以及对象解码层ID列表TargetDecLayerIdList,例如可以通过以下的伪代码导出。
(导出TargetDecLayerIdList、以及TargetOptLayerIdList的伪代码)for(k=0,j=0;j<NumLayersInIdList[LayerSetIdx[TargetOLSIdx]];j++){//SA01
TargetDecLayerIdList[j]=LayerIdList[LayerSetIdx[TargetOLSIdx]][j];//SA02
if(OutputLayerFlag[TargetOLSIdx][j]){//SA03
TargetOptLayerIdList[k]=LayerIdList[LayerSetIdx[TargetOLSIdx]][j];//SA04
k++;//SA05
}
}//end of loop//SA07
也可用如下步骤表述上述伪代码。
(SA01)导出对象输出层集OLS#(TargetOLSIdx)的层ID列表TargetOptLayerIdList[]、以及对象解码层ID列表TargetDecLayerIdList[]的循环的始点。循环开始前,变量k、j初始化为0。当变量j小于与对象输出层集OLS#(TargetOLSIdx)相关联的层集LS#(LayerSetIdx[TargetOLSIdx])中包含的层数“NumLayersInIdList[LayerSetIdx[TargetOLSIdx]]”时,执行循环内的处理,每执行1次循环内的处理,变量j加“1”。
(SA02)将与输出层集OLS#(TargetOLSIdx)相关联的层集LS#(LayerSetIdx[TargetOLSIdx])的第j元素追加到对象解码层ID列表TargetDecLayerIdList[]的第j元素(即,TargetDecLayerIdList[j]=LayerIdList[LayerSetIdx[TargetOLSIdx]][j];)。
(SA03)判断输出层集OLS#(TargetOLSIdx)中的第j层是否是输出层。即,输出层标记OutputLayerFlag[TargetOLSIdx][j]为1(真)时(是输出层),进入步骤SA04。输出层标记OutputLayerFlag[TargetOLSIdx][j]为0(伪)时(不是输出层),进入步骤SA0A。
(SA04)将与输出层集OLS#(TargetOLSIdx)相关联的层集LS#(LayerSetIdx[TargetOLSIdx])的第j元素追加到输出层集OLS#(TargetOLSIdx)的层ID列表TargetOptLayerIdList[]的第k元素(即,TargetOptLayerIdList[k]=LayerIdList[LayerSetIdx[TargetOLSIdx]][j];)。
(SA05)变量k加”1”(即,k++;)。
(SA0A)导出对象输出层集OLS#(TargetOLSIdx)层ID列表TargetOptLayerIdList[]、以及对象解码层ID列表TargetDecLayerIdList[]的循环的终点。
以上,根据输出控制部16,基于外部提供的输出指定信息、参数存储器13中保存的Active VPS层集信息、以及输出层集信息,作为输出控制信息可导出表示对象输出层集TargetOptLayerSet层结构的对象输出层ID列表TargetOptLayerIdList、以及表示对象输出层集解码所必须的层结构的对象解码层ID列表TargetDecLayerIdList。并且,输出控制部16中,如果所指定的输出层集OLS#(TargetOLSIdx)没有输出层,优选指定输出层集中包含的至少1以上(含1)层作为输出层。例如,可指定输出层集中包含的全部层、或有最高层标识符的主层作为输出层。
(图片解码部14)
图片解码部14根据输入的VCL NAL单元和Active参数集生成解码图片并输出。
用图17来说明图片解码部14的基本构成。图17所示为图片解码部14构成的概要功能方块图。
图片解码部14具有条带头解码部141、CTU解码部142。CTU解码部142中又包含预测残差还原部1421、预测图像生成部1422、以及CTU解码图像生成部1423。
(条带头解码部141)
条带头解码部141根据输入的VCL NAL单元和Active参数集进行条带头的解码。解码后的条带头与输入的VCL NAL单元一起输出到CTU解码部142。
(CTU解码部142)
概括地说,CTU解码部142是根据输入的VCL NAL单元中包含的条带片段(条带头及条带数据)、以及Active参数集,解码获得构成图片的条带中包含的各CTU对应区域的解码图像,从而生成条带的解码图像。CTU的解码图像通过CTU解码部142内部的预测残差还原部1421、预测图像生成部1422、以及CTU解码图像生成部1423生成。
预测残差还原部1421解码输入条带数据中包含的预测残差信息(TT信息),生成对象CTU预测残差,并输出。
预测图像生成部1422根据输入的条带数据中包含的预测信息(PT信息)所指示的预测方法和预测参数,生成并输出预测图像。此时,根据需要可使用参考图片的解码图像和编码参数等。例如,使用帧间预测、或层间图像预测时,从解码图片管理部15读出对应的参考图片。
CTU解码图像生成部1423将输入的预测图像和预测残差相加,生成并输出对象CTU的解码图像。
<图片解码部14的解码过程>
以下,参考图18,概要说明图片解码部14中的对象层i的图片解码动作。图18所示为构成图片解码部14中的对象层i的图片以条带为单位的解码过程流程图。
(SD101)对解码对象条带的先头条带标记(first_slice_segment_in_pic_flag)(图15(d)SYNSH01)进行解码。当先头条带标记为1时,解码对象条带为图片内按解码顺序(以下称为处理顺序)的先头条带,将解码对象条带先头CTU的图片内的光栅扫描顺序的位置(以下称CTU地址)设为0。并将图片内已处理的CTU数的计数numCtu(以下称为已处理CTU数numCtu)设为0。当先头条带标记为0时,根据在后述的SD106解码的条带地址,设置解码对象条带的先头CTU地址。
(SD102)对指定解码对象条带解码时参考的Active PPS的Active PPS标识符(slice_pic_paramter_set_id)(图15(d)的SYNSH02)进行解码。
(SD104)从参数存储器13取来Active参数集。即,将具有与解码对象条带参考的Active PPS标识符(slice_pic_parameter_set_id)相同PPS标识符(pps_pic_parameter_set_id)的PPS作为Active PPS,从参数存储器13取来Active PPS的编码参数(读出)。将具有与Active PPS内的Active SPS标识符(pps_seq_parameter_set_id)相同的SPS标识符(sps_seq_parameter_set_id)的SPS作为Active SPS,从参数存储器13取来Active SPS的编码参数。将具有与Active SPS内的Active VPS标识符(sps_video_parameter_set_id)相同的VPS标识符(vps_video_parameter_set_id)的VPS作为Active VPS,从参数存储器13取来Active VPS的编码参数。
(SD105)根据先头条带标记判断解码对象条带是否是图片内处理顺序的先头条带。当先头条带标记为0时(SD105判断为Yes),进入步骤SD106。除此以外的情况(SD105判断为No),跳过步骤SD106的处理。另外,当先头条带标记为1时,解码对象条带的条带地址为0。
(SD106)对解码对象条带的条带地址(slice_segment_address)(图15(d)的SYNSH03)进行解码,设置解码对象条带的先头CTU地址。例如,先头条带CTU地址=slice_segment_address。
···省略···
(SD10A)CTU解码部142,根据输入的条带头、Active参数集、以及VCL NAL单元中包含的条带数据内各CTU信息(图15(d)的SYNSD01),生成构成图片的条带中包含的各CTU对应区域的CTU解码图像。各CTU信息后是表示该CTU是否是解码对象条带终点的条带终点标记(end_of_slice_segment_flag)(图15(e)的SYNSD2)。各CTU解码后,已处理CTU数numCtu的值加1(numCtu++)。
(SD10B)根据条带终点标记判断该CTU是否是解码对象条带的终点。当条带终点标记为1时(SD10B判断为Yes),进入步骤SD10C。除此以外的情况(SD10B判断为No),进入步骤SD10A,处理后续CTU信息的解码。
(SD10C)判断已处理CTU数numCtu是否达到了构成图片的CTU总数(PicSizelnCtbsY)。即,判断numCtu==PicSizeInCtbsY。numCtu等于PicSizeInCtbsY时(SD10C判断为Yes),结束构成解码对象图片的以条带为单位的解码处理。除此以外的情况(numCtu<PicSizeInCtbsY)(SD10C判断为No),进入步骤SD101,继续进行构成解码对象图片的以条带为单位的解码处理。
以上说明了实施例1的图片解码部14的动作,但不仅限于上述步骤,在实施可能的范围内,可以变更步骤。
(比特流抽取部17)
比特流抽取部17,根据输出控制部16提供的输出控制信息(输出层集中表示解码对象的层结构的对象解码层ID列表TargetDecLayerIdList、以及对象最高时域标识符TargetHighestTid),进行比特流抽取处理,从输入的分层编码数据DATA中,去除(丢弃)由对象最高时域标识符TargetHighestTid、以及对象解码层ID列表TargetDecLayerIdList决定的集合(称为目标集TargetSet)中不包含的NAL单元,抽取并输出由目标集TargetSet中包含的NAL单元构成的目标集编码数据DATA#T(BitstreamToDecode)。
更具体地说,上述比特流抽取部17具有解码NAL单元头的NAL单元解码装置。
以下,参考图19,概略说明本实施例相关的比特流抽取部17的动作。图19所示为比特流抽取部17中的以接入单元为单位的比特流抽取处理流程图。
(SG101)比特流抽取部17,按照图5(b)所示的语法元素表对所提供的对象NAL单元的NAL单元头进行解码。即,解码NAL单元类型(nal_unit_type)、层标识符(nuh_layer_id)以及时域标识符(nuh_temporal_id_plus1)。而且,将对象NAL单元的层标识符nuhLayerId设置为“nuh_layer_id”,对象NAL单元的时域标识符temporalId设置为“nuh_temporal_id_plus1-1”。
(SG102)根据对象解码层ID列表TargetDecLayerIdList、以及对象最高时域标识符判断对象NAL单元的层标识符和时域标识符是否包含在目标集TargetSet中。更具体地说,以下的(1)~(2)条件中,至少有1个条件为伪时(SG102判断为No),进入步骤SG103。除此以外的情况((1)、(2)都为真)时(SG102判断为Yes),进入步骤SG104。
(1)如果“对象解码层ID列表TargetDecLayerIdList中有与对象NAL单元的层标识符相同的值”,判断为真,除此以外的情况(对象解码层ID列表TargetDecLayerIdList中没有与对象NAL单元的层标识符相同的值)时,判断为伪。
(2)如果“对象NAL单元的时域标识符在对象最高时域标识符TargetHighestTid以下(含相同)”,判断为真,除此以外的情况(对象NAL单元的时域标识符比对象最高时域标识符TargetHighestTid大),判断为伪。
(SG103)丢弃对象NAL单元。即,因为对象NAL单元没有包含在目标集TargetSet中,比特流抽取部17从输入的分层编码数据DATA中去除对象NAL单元。
(SG10A)判断在同一接入单元内是否有未处理的NAL单元。如果有未处理NAL单元(SG10A判断为No),进入步骤SG101,继续进行对构成对象接入单元的NAL单元单位的比特流抽取。除此以外的情况(SG10A判断为Yes),进入步骤SG10B。
(SG10B)判断输入的分层编码数据DATA中的对象接入单元之后是否还有下一个接入单元。如果有下一个接入单元(SG10B判断为Yes),进入步骤步骤SG101,继续下一个接入单元的处理。如果没有下一个接入单元(SG10B判断为No),结束比特流抽取处理。
以上说明了实施例1的比特流抽取部17的动作,但不仅限于上述步骤,在实施可能的范围内,可以变更步骤。
根据以上说明的比特流抽取部17,基于构成外部提供的对象层集LayerSetTarget的层的层ID列表LayerIdListTarget、以及对象最高时域标识符HighestTidTarget,进行比特流抽取处理,从输入的分层编码数据DATA中,去除(丢弃)由对象最高时域标识符HighestTidTarget、以及对象层集LayerSetTarget的层ID列表LayerIdListTarget所决定的目标集TargetSet中不包含的NAL单元,抽取并生成由目标集TargetSet中包含的NAL单元构成的编码数据BitstreamToDecode。
(视频解码装置1的效果)
以上说明的本实施例相关的分层视频解码装置1(分层图像解码装置),具有比特流抽取部17。该比特流抽取部17,进行比特流抽取处理,从输入的分层编码数据DATA中,去除(丢弃)由表示通过外部提供的对象输出层集标识符确定的解码对象的层结构的对象解码层ID列表TargetDecLayerIdList、以及指定外部提供的解码对象的层上附属的最高子层的对象最高时域标识符TargetHighestTid所决定的目标集TargetSet中不包含的NAL单元,抽取由目标集TargetSet中包含的NAL单元构成的目标集编码数据DATA#T(BitstreamToDecode)。
分层视频解码装置1(分层图像解码装置)还具有以下特征:具有层集信息解码装置,从输入的分层编码数据中解码包含1以上(含1)层集的层集信息;具有输出层集信息解码装置,解码包含1以上(含1)由上述层集和输出层标记的组合表示的输出层集的输出层集信息;具有输出层集选择装置,选择1个上述输出层集信息中包含的输出层集;具有图片解码装置,生成与上述被选择的输出层集对应的层集中包含的各层的解码图片;具有缓存装置,保存上述各层的解码图片;上述缓存装置,在保存的上述各层的解码图片中,至少针对1以上(含1)层,将与该层对应的解码图片作为输出图片输出。因此,即使输入了没有输出层的输出层集编码数据,在解码对象的层集中也至少有1层作为输出层,可输出该输出层的解码图片。
〔分层视频编码装置〕
以下,参考图20,对本实施例相关的分层视频编码装置2的构成进行说明。
(分层视频编码装置的构成)
使用图20概要说明分层视频编码装置2的构成。图20所示为分层视频编码装置2构成的概要功能块图。分层视频编码装置2对作为编码对象的目标集中包含的各层/子层的输入图像PIN#T(图片)进行编码,生成目标集的分层编码数据DATA。即视频编码装置2按照目标集TargetSet的层ID列表的元素TargetLayerIdList[0]..TargetLayerIdList[N-1](N为目标集(对象层集)中包含的层数)的顺序,对各层图片进行编码,生成其编码数据。此外,为了保证分层视频解码装置1(包括其变化实施例)从上述编码数据解码的输出层集中至少有1以上(含1)输出层的解码图片作为输出图片输出,分层视频编码装置2至少满足前述的一致性条件CA1(或CA2、CA3)生成目标集的分层编码数据DATA。或者,为了保证从上述编码数据解码的2以上(含2)的输出层集是不同的的输出层结构,优选满足前述的一致性条件CB1(或CB2~CB6)生成目标集的分层编码数据DATA。为了保证层集中包含基本层,优选满足前述的一致性条件CC(CC为CC1~CC4)生成目标集的分层编码数据DATA。此外,也可满足非专利文献1的Annex.C、非专利文献2以及3的Annex.C的一致性条件生成目标集的分层编码数据DATA。
图20所示的分层视频编码装置2包含有目标集图片编码部20、以及NAL复用部21。而目标集图片编码部20中包含有Non-VCL编码部22、图片编码部24、解码图片管理部15、及编码参数决定部26。
解码图片管理部15与已经说明的分层视频解码装置1的解码图片管理部15是相同的构成元素。但因为分层视频编码装置2的解码图片管理部15中,不需要将内部DPB中记录的图片作为输出图片输出,所以可以省略该输出部分。另外,将分层视频解码装置1的解码图片管理部15的说明中的“解码”用“编码”置换后,也可适用于分层视频编码装置2的解码图片管理部15。
NAL复用部21通过将输入的目标集各层的VCL、以及non-VCL存储到NAL单元,生成NAL复用的层视频编码数据DATA#T,并向外部输出。换言之,NAL复用部21将目标集图片编码部20提供的non-VCL编码数据、VCL编码数据、以及对应各non-VCL、VCL的NAL单元类型、层标识符、时域标识符存储到NAL单元(编码),生成NAL复用的分层编码数据DATA#T。
编码参数决定部26从多个编码参数集中选择1个集。编码参数是指与各参数集(VPS、SPS、PPS)有关的各种参数、图片编码用的预测参数、以及与该预测参数相关联生成的编码对象参数等。编码参数决定部26对上述编码参数的多个集的每一集算出表示信息量大小和编码误差的成本值。例如,成本值是编码量与平方误差乘以系数λ的和。编码量是指对量化误差和编码参数进行可变长度编码得到的目标集的各层/子层的编码数据的信息量。平方误差是指像素间的输入图像PIN#T和预测图像的差分值的平方值的总和。系数λ是预先设定的大于零的实数。编码参数决定部26选择所算出的成本值最小的编码参数集,将所选择的各编码参数集提供给参数集编码部22、以及图片编码部24。
Non-VCL编码部22是对应分层视频解码装置1中的Non-VCL解码部12的逆处理,根据从编码参数决定部26输入的各non-VCL编码参数和输入图像,设置输入图像编码用的参数集(VPS、SPS、及SPS)和其它的non-VCL,各参数集和其它的non-VCL作为存储在non-VCLNAL单元中的数据,提供给NAL复用部21。此外,在Non-VCL编码部22被编码的Non-VCL中,包含有在分层视频解码装置1的Non-VCL解码部12的说明中阐述的层集信息、输出层集信息、以及PTL信息。即,Non-VCL编码部22具有参数集编码装置(图中未表示)。并且,参数集编码装置的构成中还包含有编码(生成)层集信息的层集信息编码装置、编码(生成)输出层集信息的输出层集信息编码装置、以及编码PTL信息的PTL信息编码装置(图中未表示)。编码部、编码装置的各功能和动作对应于相应的解码部、解码装置的逆处理,可将解码部、解码装置中的“解码”用“编码”替换进行解释。另外,Non-VCL编码部22在向NAL复用部21提供non-VCL的编码数据时,附加对应non-VCL的NAL单元类型、层标识符、以及时域标识符后输出。
Non-VCL编码部22生成的参数集中,包含了识别该参数集的标识符、以及指定各层图片解码时参考的参数集所参考的参数集(Active参数集)的Active参数集标识符。具体是,如果是视频参数集VPS,则包含识别该VPS的VPS标识符。如果是序列参数集SPS,则包含识别该SPS的SPS标识符(sps_seq_parameter_set_id)、以及确定该SPS和其它语法元素参考的VPS的Active VPS标识符(sps_video_parameter_set_id)。如果是图片参数集PPS,则包含识别该PPS的PPS标识符(pps_pic_parameter_set_id)、以及确定该PPS和其它语法元素参考的SPS的Active SPS标识符(pps_seq_parameter_set_id)。
图片编码部24根据输入的各层输入图像PIN#T、通过编码参数决定部26提供的Non-VCL(特别是参数集)、以及解码图片管理部15中记录的参考图片,对与构成图片的条带对应的各层的部分输入图像进行编码,生成该部分的编码数据,作为VCL NAL单元中存储的数据提供给NAL复用部21。图片编码部24的详细说明将后述。另外,图片编码部24在向NAL复用部21提供VCL编码数据时,附加对应VCL的NAL单元类型、层标识符、以及时域标识符后输出。
(图片编码部24)
下面参考图21,详细说明图片编码部24的构成。图21所示为图片编码部24的构成概要功能块图。
如图21所示,图片编码部24的构成中包含条带头编码部241、以及CTU编码部242。
条带头编码部241根据输入的Active参数集,生成以条带单位输入的各层的输入图像编码用的条带头。所生成的条带头作为条带编码数据的一部分被输出,同时,与输入图像一起被提供给CTU编码部242。另外,条带头编码部241生成的条带头中,包含了指定各层图片解码时参考的图片参数集PPS(Active PPS)的Active PPS标识符。
CTU编码部242根据输入的Active参数集、条带头,对输入图像(对象条带部分)以CTU单位进行编码,生成并输出对象条带相关的条带数据及解码图像(解码图片)。更具体地说,CTU编码部242,以参数集包含的CTB尺寸大小的CTB为单位对对象条带的输入图像进行分割,将各CTB的对应图像作为1个CTU进行编码。通过预测残差编码部2421、预测图像编码部2422、CTU解码图像生成部2423执行CTU的编码。
预测残差编码部2421将输入的输入图像和预测图像的差分图像通过变换、量化后得到的量化残差信息(TT信息)作为条带编码数据中包含的条带数据的一部分输出。或者对量化残差信息采用逆变换、逆量化还原预测残差,将还原后的预测残差输出到CTU解码图像生成部2423。
预测图像编码部2422根据编码参数决定部26决定的、对象条带中包含的对象CTU的预测方式及预测参数,生成预测图像,输出给预测残差编码部2421和CTU解码图像生成部2423。另外,预测方式、预测参数等信息作为预测信息(PT信息)被可变长度编码后,作为条带编码数据中包含的条带数据的一部分输出。此外,当使用Inter预测或层间图像预测时,通过解码图片管理部15读出对应的参考图片。
CTU解码图像生成部2423因为与分层视频解码装置1的CTU解码图像生成部1423是相同构成元素,在此省略说明。另外,对象CTU的解码图像被提供给解码图片管理部15,记录在内部的DPB中。
<图片编码部24的编码流程>
以下,参考图22,概要说明图片编码部24中的对象层i的图片的编码动作。图22所示为构成图片编码部24中的对象层i的图片的以条带为单位的编码流程图。
(SE101)对编码对象条带的先头条带标记(first_slice_segment_in_pic_flag)(图15(d)的SYNSH01)进行编码。即,以条带为单位分割的输入图像(以下称编码对象条带)按图片内的编码顺序(解码顺序)(以后称处理顺序)如果是先头条带,先头条带标记(first_slice_segment_in_pic_flag)为1。如果编码对象条带不是先头条带,先头条带标记为0。当先头条带标记为1时,编码对象条带的先头CTU地址设置为0。并将图片内已处理CTU数的计数器numCtb设置为0。当先头条带标记为0时,根据后述的SE106中被编码的条带地址,设置编码对象条带的先头CTU地址。
(SE102)对指定编码对象条带编码时参考的Active PPS的Active PPS标识符(slice_pic_paramter_set_id)(图15(d)的SYNSH02)进行编码。
(SE104)获取编码参数决定部26决定的Active参数集。即,将与编码对象条带参考的Active PPS标识符(slice_pic_parameter_set_id)有相同PPS标识符(pps_pic_parameter_set_id)的PPS作为Active PPS,从编码参数决定部26取来Active PPS的编码参数(读出)。将与Active PPS内的Active SPS标识符(pps_seq_parameter_set_id)有相同SPS标识符(sps_seq_parameter_set_id)的SPS作为Active SPS,从编码参数决定部26取来Active SPS的编码参数。将与Active SPS内的Active VPS标识符(sps_video_parameter_set_id)有相同VPS标识符(vps_video_parameter_set_id)的VPS作为Active VPS,从编码参数决定部26取来Active VPS的编码参数。
图片编码部24也可参考Active VPS中包含的层集信息输出层集信息、PTL信息、该Active参数集(VPS,SPS,PPS)的层标识符、对象层的层标识符等,验证目标集是否满足一致性条件。一致性条件因为已在分层视频解码装置1中进行了说明,在此省略。并且,只要满足一致性条件,就保证了生成的目标集的分层编码数据DATA在对应分层图像编码装置2的分层视频解码装置1中可以解码。
(SE105)根据先头条带标记判断编码对象条带是不是按图片内处理顺序的先头条带。当先头条带标记为0时(SE105判断为Yes),进入步骤SE106。除此以外的情况(SE105判断为No),跳过步骤SE106的处理。另外,当先头条带标记为1时,编码对象条带的条带地址为0。
(SE106)对编码对象条带的条带地址(slice_segment_address)(图15(d)的SYNSH03)进行编码。另外,编码对象条带的条带地址(编码对象条带的先头CTU地址)可以根据图片内的已处理CTU数的计数器numCtu值进行设置。此时,条带地址为slice_segment_adress=numCtu。即,编码对象条带的先头CTU地址=numCtu。并且,条带地址的决定方法并不仅限于此,可在实施可能的范围内变更。
(SE10A)CTU编码部242根据输入的Active参数集、条带头,对输入图像(编码对象条带)以CTU为单位进行编码,作为编码对象条带的条带数据的一部分,输出CTU信息的编码数据(图15(d)的SYNSD01)。而且,CTU编码部242,生成并输出各CTU对应区域的CTU解码图像。在各CTU信息的编码数据后,对表示该CTU是否是编码对象条带终点的条带终点标记(end_of_slice_segment_flag)(图15(d)的SYNSD02)进行编码。如果该CTU是编码对象条带的终点,将条带终点标记设为1、除此以外的情况设为0进行编码。各CTU编码后,已处理CTU数numCtu的值加1(numCtu++)。
(SE10B)根据条带终点标记判断该CTU是否是编码对象条带的终点。条带终点标记为1时(SE10B判断为Yes),进入步骤SE10C。除此以外的情况(SE10B判断为No),进入步骤SE10A,对后续的CTU进行编码。
(SE10C)判断已处理CTU数numCtu是否达到了构成图片的CTU总数(PicSizeInCtbsY)。即,判断是否numCtu==PicSizeInCtbsY。如果numCtu等于PicSizeInCtbsY(SE10C判断为Yes),结束对构成编码对象图片的以条带为单位的编码处理。除此以外的情况(numCtu<PicSizeInCtbsY)(SE10C判断为No),进入步骤SE101,继续对构成编码对象图片进行以条带为单位的编码处理。
以上、说明了实施例1的图片编码部24的动作,但不仅限于上述步骤,在实施可能的范围内,可以变更步骤。
(视频编码装置2的效果)
以上说明的本实施例相关的分层视频编码装置2,为了保证分层视频解码装置1(包括其变化实施例)从上述编码数据解码的输出层集中至少有1以上(含1)输出层的解码图片作为输出图片输出,至少满足前述的一致性条件CA1(或CA2)生成目标集的分层编码数据DATA。或为了保证从上述编码数据解码的2以上(含2)的输出层集是互不相同的输出层结构,满足前述一致性条件CB1(或CB2~CB6)生成目标集的分层编码数据DATA。因此,通过生成满足上述比特流一致性的分层编码数据DATA,分层视频解码装置1可防止(1)选择没有输出层的输出层集;(2)发生有相同输出层的重复输出层集。
而且,为保证层集中包含基本层,满足前述一致性条件CC1(或CC2~CC4)生成目标集的分层编码数据DATA。这样,图像解码装置1从上述编码数据解码的输出层集必定保证了基本层的解码。因此,对从包含某层集A的编码数据进行比特流抽取处理生成的、包含层集A子集的层集B的编码数据进行解码时,层集B的某层C(层标识符>0)中,当具有层标识符的参数集(VPS/SPS/PPS)作为Active参数集参考基本层时,可防止基本层不在包含层集B的编码数据中而导致某层C不能解码的情况。即,通过满足一致性条件CC1(C2C~CC4),保证可解码包含从层集A的编码数据中通过比特流抽取生成的层集A子集的层集B的编码数据。
(对其它分层视频编码/解码系统的适用例)
上述的分层视频编码装置2以及分层视频解码装置1,可搭载在用于视频发送、接收、记录、播放的各种装置中使用。其中的视频可以是通过摄像头(照相机)等拍摄的自然视频,也可以是通过计算机等生成的人工视频(包括CG及GUI)
根据图23,说明上述分层视频编码装置2及分层视频解码装置1可用于视频的发送和接收。图23(a)所示为搭载了分层视频编码装置2的发送装置PROD_A的构成方块图。
如图23(a)所示,发送装置PROD_A包括:通过对视频进行编码而获得编码数据的编码部PROD_A1;用编码部PROD_A1获得的编码数据对载波进行调制而得到调制信号的调制部PROD_A2;发送调制部PROD_A2得到的调制信号的发送部PROD_A3。上述的分层视频编码装置2作为该编码部PROD_A1使用。
发送装置PROD_A中,作为向编码部PROD_A1输入视频的供給源,也可以包括:录制视频的摄像头(照相机)PROD_A4;记录视频的记忆媒体PROD_A5;从外部输入视频的输入端子PROD_A6;以及生成或加工图像的图像处理部A7。图23(a)所示为包括了所有这些部分的发送装置PROD_A的构成示例,但也可以省略一部分。
另外,记忆媒体PROD_A5记录的还可以是未经编码的视频,还可以是与传输用编码方式不同的记录用编码方式编码的视频。是后者时,在记忆媒体PROD_A5与编码部PROD_A1之间最好有解码部(图中未表示),将从记忆媒体PROD_A5读出的编码数据按照记录用的编码方式进行解码。
图23(b)所示为搭载分层视频解码装置1的接收装置PROD_B的构成方块图。如图23(b)所示,接收装置PROD_B包括:接收调制信号的接收部PROD_B1;对接收部PROD_B1接收的调制信号进行解调而获得编码数据的解调部PROD_B2;对解调部PROD_B2获得的编码数据进行解码而获得视频的解码部PROD_B3。上述的分层视频解码装置1作为此解码部PROD_B3使用。
接收装置PROD_B中,作为解码部PROD_B3输出视频的提供对象,也可包括:显示视频的显示器PROD_B4;记录视频用的记忆媒体PROD_B5;以及向外部输出视频用的输出端子PROD_B6。图23(b)所示为包括了所有这些部分的接收装置PROD_B的构成示例,但也可以省略一部分。
记忆媒体PROD_B5记录的还可以是未经编码的视频,可以采用与传输用编码方式不同的记录用编码方式编码。是后者时,在解码部PROD_B3和记忆媒体PROD_B5之间最好有编码部(图中未表示),将从解码部PROD_B3获取的视频按照记录用编码方式进行编码。
另外,传输调制信号的传输媒体可以是无线也可以是有线。而且,传输调制信号的传输模式可以是广播(此处指没有预先指定发送对象的发送方式),也可以是通信(此处指预先指定了发送对象的发送方式)。即,可通过无线广播、有线广播、无线通信、以及有线通信中的任何一种方式来实现调制信号的传输。
例如,地上波数字广播的电视台(广播设备等)/接收台(电视接收机等)即是用无线广播发送/接收调制信号的发送装置PROD_A/接收装置PROD_B的一个示例。有线电视广播的电视台(广播设备等)/接收台(电视接收机等)即是用有线广播发送/接收调制信号的发送装置PROD_A/接收装置PROD_B的一个示例。
利用互联网的VOD(Video On Demand)服务和视频共享服务等的服务器(工作站等)/客户端(电视接收机、个人电脑、智能手机等)也是用通信发送/接收调制信号的发送装置PROD_A/接收装置PROD_B的一个示例(通常、LAN中的传输媒体采用了无线或有线,WAN中的传输媒体采用有线)。此处的个人电脑中包含台式电脑、便携式电脑、以及平板电脑。而且,智能手机中还包括多功能手机终端。
另外,视频共享服务的客户端,除将从服务器下载的编码数据进行解码后在显示器上显示的功能之外,还有将用摄像头(照相机)撮像的视频进行编码后向服务器上传的功能。即,视频共享服务的客户端具有发送装置PROD_A以及接收装置PROD_B的双重功能。
用图24来说明可将上述的分层视频编码装置2及分层视频解码装置1用于视频的记录及播放。图24所示为搭载上述分层视频编码装置2的记录装置PROD_C的构成方块图。
如图24(a)所示,记录装置PROD_C包括:对视频进行编码而获得编码数据的编码部PROD_C1;将编码部PROD_C1获得的编码数据写入记忆媒体PROD_M的写入部PROD_C2。上述的分层视频编码装置2作为此编码部PROD_C1使用。
另外,记忆媒体PROD_M也可以是:(1)置于记录装置PROD_C内部的内置型,如HDD(Hard Disk Drive)、SSD(Solid State Drive)等;(2)与记录装置PROD_C连接的类型,如SD存储卡和USB(Universal Serial Bus)闪存等;(3)装入记录装置PROD_C的内置驱动装置(图中未表示),如DVD(Digital Versatile Disc)和BD(BLu-ray Disc:注册商标)等。
记录装置PROD_C,作为向编码部PROD_C1输入的视频的供给源,也可包括:进行视频撮像的摄像头(照相机)PROD_C3;用于从外部输入视频的输入端子PROD_C4;用于视频接收的接收部PROD_C5;进行图像生成和加工的图像处理部C6。图24(a)所示为包括了所有这些部分的记录装置PROD_C的构成示例,但也可以省略一部分。
另外,接收部PROD_C5接收的也可以是未经编码的视频,也可以是不同于记录用编码方式的传输用编码方式编码的编码数据。是后者时,在接收部PROD_C5和编码部PROD_C1之间最好有传输用解码部(图中未表示),将传输用编码方式编码的编码数据进行解码。
这样的记录装置PROD_C有例如DVD刻录机、BD刻录机、HDD(Hard Disk Drive)刻录机等(此时,输入端子PROD_C4或接收部PROD_C5为视频的主要供给源)。便携式录像机(此时,摄像头(照相机)PROD_C3为视频的主要供给源)、个人电脑(此时,接收部PROD_C5或图像处理部C6为视频的主要供给源)、智能手机(此时,摄像头(照相机)PROD_C3或接收部PROD_C5为视频的主要供给源)等,也是这种记录装置PROD_C的例子。
图24(b)所示为搭载上述的分层视频解码装置1的播放装置PROD_D的构成方块图。如图24(b)所示,播放装置PROD_D包括:将写入记忆媒体PROD_M中的编码数据读出的读出PROD_D1;对读出部PROD_D1读出的编码数据进行解码而得到视频的解码部PROD_D2。上述分层视频解码装置1作为此解码部PROD_D2使用。
记忆媒体PROD_M也可以是:(1)置于播放装置PROD_D内部的内置型,如HDD和SSD等;(2)与播放装置PROD_D连接的类型,如SD存储卡和USB闪存等;(3)装入播放装置PROD_D的内置驱动装置(图中未表示),如DVD和BD等。
播放装置PROD_D中,作为解码部PROD_D2输出视频的提供对象,也可包括:显示视频的显示器PROD_D3;用于将视频向外部输出的输出端子PROD_D4;以及用于发送视频的发送部PROD_D5。图24(b)所示为包括了所有这些部分的播放装置PROD_D的构成示例,但也可以省略一部分。
另外,发送部PROD_D5发送的也可以是未经编码的视频,也可以是不同于记录用编码方式的传输用编码方式编码的编码数据。是后者时,在解码部PROD_D2和发送部PROD_D5之间最好有编码部(图中未表示),将视频用传输用编码方式进行编码。
这样的播放装置PROD_D有例如DVD播放机、BD播放机、HDD播放机等(此时,与电视接收机等连接的输出端子PROD_D4为视频的主要提供对象)。另外,电视接收机(此时,显示器PROD_D3为视频的主要提供对象)、数字标牌(也称电子标牌等,显示器PROD_D3或发送部PROD_D5为视频的主要提供对象)、台式电脑(此时,输出端子PROD_D4或发送部PROD_D5为视频的主要提供对象)、便携式电脑或平板电脑(此时,显示器PROD_D3或发送部PROD_D5为视频的主要提供对象)、智能手机(此时,显示器PROD_D3或发送部PROD_D5为视频的主要提供对象)等也是这种播放装置PROD_D的例子。
(由硬件实现及由软件实现)
分层视频解码装置1、分层视频编码装置2的各功能块,可以通过集成电路(IC芯片)上形成的逻辑电路由硬件实现,也可以利用CPU(Central Processing Unit)由软件实现。
后者的情况,上述各装置具有:执行实现各功能控制程序命令的CPU;存储上述程序的ROM(Read Only Memory);展开上述程序的RAM(Random Access Memory);以及存储上述程序和各种数据的内存等记忆装置(记忆媒体)等。因此,也可通过将记录了可在计算机上读取的、作为实现上述功能的软件的上述各装置的控制程序的程序代码(执行码、中间码、源代码)的记忆媒体,提供给上述各装置,该计算机(或CPU、MPU(Micro ProcessingUnit)等)读出并执行记录在记忆媒体中的程序代码,来实现本发明的目的。
上述记忆媒体,可使用如:磁带、盒式磁带等记录带类;包括软盘(floppy disk,注册商标)/硬盘等磁盘、CD-ROM(Compact Disc Read-Only Memory)/MO(Magneto-Optical)/MD(Mini Disc)/DVD(Digital Versatile Disk)/CD-R(CD Recordable)等光盘在内的盘类;IC卡(包括内存卡)/光卡等卡类;掩膜ROM/EPROM(Erasable ProgrammableRead-only Memory)/EEPROM(注册商标)(Electrically Erasable and ProgrammableRead-only Memory)/闪存ROM等半导体存储类;PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)等逻辑电路类等。
上述各装置可用通信网络连接构成,上述程序代码也可通过通信网络提供。该通信网络,只要能传输程序代码即可,没有特别的限制。例如,可利用互联网、以太网、外联网、LAN(Local Area Network)、ISDN(Integrated Services Digital Network)、VAN(Value-Added Network)、CATV(Community Antenna Television)通信网、虚拟专用网(VirtualPrivate Network)、电话网、移动通信网、卫星通信网等。而且构成此通信网络的传输媒体也只需是可以传输程序代码的媒体,对其构成和种类没有特别的限制。例如,可利用有线,如IEEE(Institute of Electrical and Electronic Engineers)1394、USB、电力输送线、有线电视线、电话线、ADSL(Asymmetric DigitalSubscriber Line)等;也可利用无线,如IrDA(Infrared Data Association)、遥控器那样的红外线、Bluetooth(注册商标)、IEEE802.11无线、HDR(High Data Rate)、NFC(Near Field Communication)、DLNA(DigitalLiving Network Alliance)、移动电话网、卫星传输、地上波数字网等。另外,本发明也可通过上述程序代码在电子传输中而具体化的、嵌在载波中的计算机数据信号的形式实现。
〔总结〕
本发明中至少包括方式1至7的图像解码装置、以及方式8至12的图像编码装置。
本发明的方式1的相关图像解码装置,其特征在于:是对分层图像编码数据进行解码的图像解码装置;具有层集信息解码装置,解码包含1以上(含1)层集的层集信息;具有输出层集信息解码装置,解码包含1以上(含1)由上述层集和输出层标记的组合表示的输出层集的输出层集信息;具有输出层集选择装置,选择1个上述输出层集信息中包含的输出层集;具有图片解码装置,生成与上述选择的输出层集相关联的层集中包含的各层的解码图片;具有缓存装置,保存上述各层的解码图片;上述缓存装置,在保存的上述各层的解码图片中,至少针对1以上(含1)层,将与该层对应的解码图片作为输出图片输出。
本发明方式2的相关图像解码装置,其特征在于:在上述方式1中,上述输出层集中,输出层标记的总和大于等于1。
本发明方式3的相关图像解码装置,其特征在于:在上述方式1和2中,上述与输出层集相关联的层集包含基本层。
本发明方式4的相关图像解码装置,其特征在于:在上述方式1和2中,上述输出层集中,2以上(含2)的输出层集与同一层集相对应且输出层数相等时,在上述2以上(含2)的输出层集中,至少1个同一层相关的输出层标记值互不相同。
本发明方式5的相关图像解码装置,其特征在于:在上述方式1和2中,还具有解码上述输出层集对应的PTL信息的PTL信息解码装置;当上述输出层集中2以上(含2)的输出层集与同一层集对应且输出层数相等时,在上述2以上(含2)的输出层集中,PTL信息互不相同,或至少1个同一层的输出层标记值互不相同。
本发明方式6的相关图像解码装置,其特征在于:上述方式1和2中,上述输出层集信息解码装置,当层集数等于1时,追加输出层集数不从编码数据解码而直接推定为0,当上述层集数大于1时,从编码数据中解码追加输出层集数,用层集数与追加输出层集数之和导出输出层集数。
本发明方式7的相关图像解码装置,其特征在于:上述方式1和2中,上述输出层集信息解码装置,当层集数大于1时,从编码数据中解码获得指定上述输出层标记导出处理的默认输出层信息,当上述层集数等于1时,不从编码数据中解码上述默认输出层信息。
本发明方式8的相关图像编码装置,其特征在于:是生成分层编码数据的图像编码装置;具有层集信息编码装置,编码包含1以上(含1)层的层集信息;具有输出层集信息编码装置,编码包含1以上(含1)由上述层集信息和输出层标记的组合表示的输出层集的输出层集信息;具有图片编码装置,编码对应上述输出层集的层集中包含的各层的图片;上述输出层集至少具有1以上(含1)输出层。
本发明方式9的相关图像编码装置,其特征在于:上述方式8中,上述输出层集中有2以上(含2)的输出层集与同一层集相对应且输出层数相等时,上述2以上(含2)的输出层集中,至少1个同一层的输出层标记值互不相同。
本发明方式10的相关图像编码装置,其特征在于:上述方式8中,还具有PTL信息编码装置,编码对应上述输出层集的PTL信息;上述输出层集中有2以上(含2)的输出层集与同一层集相对应且输出层数相等时,上述2以上(含2)的输出层集中,PTL信息互不相同,或至少1个同一层的输出层标记值互不相同。
本发明方式11的相关图像编码装置,其特征在于:上述方式8中,上述输出层集信息编码装置,当层集数等于1时,不对表示输出层集数和层集数之差的追加输出层集数进行编码,当上述层集数大于1时,进行上述追加输出层集数的编码。
本发明方式12的相关图像编码装置,其特征在于:上述方式8中,上述输出层集信息编码装置,当层集数大于1时,对上述默认输出层信息进行编码,当上述层集数等于1时,不对上述默认输出层信息进行编码。
本发明并不只限于上述的各实施例,在权利要求所示范围内可以有各种变化,在不同实施例中对用公开的技术方法进行适当组合而得到的实施例也包含在本发明的技术范围内。
在行业中使用的可能性
本发明可根据需要应用于对分层编码图像的编码数据进行解码的分层视频解码装置、以及生成分层编码图像的编码数据的分层视频编码装置中。而且,也可根据需要用于由分层视频编码装置生成的、由分层视频解码装置参考的分层编码数据的数据结构中。
符号的说明
1…分层视频解码装置
2…分层视频编码装置
10…目标集图片解码部
11…NAL解复用部(NAL单元解码装置、层标识符解码装置)
12…Non-VCL解码部(参数集解码装置、层集信息解码装置、输出层集信息解码装置、PTL信息解码装置)
13…参数存储器
14…图片解码部(VCL解码装置)
141…条带头解码部
142…CTU解码部
1421…预测残差还原部
1422…预测图像生成部
1423…CTU解码图像生成部
15…解码图片管理部
16…输出控制部(输出层集选择装置)
17…比特流抽取装置(编码数据抽取装置)
20…目标集图片编码部
21…NAL复用部(NAL单元编码装置)
22…Non-VCL编码部(参数集编码装置、层集信息编码装置、输出层集信息编码装置、PTL信息编码装置)
24…图片编码部(VCL编码装置)
26…编码参数决定部
241…条带头编码部
242…CTU编码部
2421…预测残差编码部
2422…预测图像编码部
2423…CTU解码图像生成部

Claims (4)

1.一种图像解码装置,其特征在于:是对1或多层构成的分层图像编码数据进行解码的图像解码装置;具有层集信息解码部,解码表示层集的层结构的层集信息;具有输出层集信息解码部,解码确定层集的层集标识符、以及指定所述层集中包含的层是否为输出层的输出层标记OutputLayerFlag,并导出输出层集;具有图片解码部,解码所述输出层集中包含的输出层的图片;所述输出层集具有至少1层的输出层。
2.权利要求1描述的图像解码装置,其特征在于:所述输出层标记,值为1时表示对象层作为输出层、值为0时表示对象层不作为输出层,所述输出层集中包含的层的所述输出层标记值的总和为1或1以上。
3.权利要求2描述的图像解码装置,其特征在于:所述输出层集信息解码部,推定所述层集标识符值为0的所述输出层集的基本层的所述输出层标记的值为1。
4.权利要求3描述的图像解码装置,其特征在于:当所述分层图像编码数据中包含的层集数大于1时,所述输出层集信息解码部从所述分层图像编码数据中解码追加输出层集数、且在所述追加输出层集数相关的语法元素在所述分层图像编码数据中不存在时,推定所述追加输出层集数为0。
CN201580014371.8A 2014-03-14 2015-03-05 图像解码装置 Active CN106170981B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014-051851 2014-03-14
JP2014051851 2014-03-14
PCT/JP2015/056552 WO2015137237A1 (ja) 2014-03-14 2015-03-05 画像復号装置

Publications (2)

Publication Number Publication Date
CN106170981A true CN106170981A (zh) 2016-11-30
CN106170981B CN106170981B (zh) 2019-02-26

Family

ID=54071683

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580014371.8A Active CN106170981B (zh) 2014-03-14 2015-03-05 图像解码装置

Country Status (6)

Country Link
US (3) US11356682B2 (zh)
EP (1) EP3107299A4 (zh)
JP (2) JP6329246B2 (zh)
KR (1) KR102073030B1 (zh)
CN (1) CN106170981B (zh)
WO (1) WO2015137237A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109788300A (zh) * 2018-12-28 2019-05-21 芯原微电子(北京)有限公司 一种hevc解码器中的错误检测方法和装置
WO2021233448A1 (en) * 2020-05-22 2021-11-25 Beijing Bytedance Network Technology Co., Ltd. Signalling of general level index
CN114303372A (zh) * 2019-06-28 2022-04-08 Sk电信有限公司 自适应地设置分辨率的方法及图像解码装置
CN114424572A (zh) * 2019-09-24 2022-04-29 华为技术有限公司 用于多层视频码流的dpb参数的指示
CN114503591A (zh) * 2019-09-24 2022-05-13 华为技术有限公司 支持空间可适性和snr可适性的ols
CN114556951A (zh) * 2019-09-24 2022-05-27 华为技术有限公司 可伸缩嵌套式sei消息管理
WO2023030072A1 (zh) * 2021-08-30 2023-03-09 华为技术有限公司 编解码方法、编码器、解码器及电子设备
US11838554B2 (en) 2020-02-29 2023-12-05 Beijing Bytedance Network Technology Co., Ltd. Constrains for diferent coding tools

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10178397B2 (en) * 2014-03-24 2019-01-08 Qualcomm Incorporated Generic use of HEVC SEI messages for multi-layer codecs
US9918091B2 (en) 2014-06-20 2018-03-13 Qualcomm Incorporated Systems and methods for assigning a minimum value to a syntax structure in a parameter set
WO2020130910A1 (en) * 2018-12-20 2020-06-25 Telefonaktiebolaget Lm Ericsson (Publ) Methods providing encoding and/or decoding of video using a syntax indicator and picture header
CA3143885A1 (en) 2019-06-20 2020-12-24 Nokia Technologies Oy An apparatus, a method and a computer program for video encoding and decoding
CN116471410A (zh) 2019-09-24 2023-07-21 华为技术有限公司 支持多视图可适性的ols
BR112022006429A2 (pt) * 2019-10-07 2022-06-28 Huawei Tech Co Ltd Restrições de entrada de imagem de referência com base em tamanho de dpb
US11265567B2 (en) * 2019-10-08 2022-03-01 Tencent America LLC Method for output layer set signaling in scalable video stream
WO2021071196A1 (ko) * 2019-10-10 2021-04-15 삼성전자 주식회사 툴 세트를 이용하는 영상 복호화 장치 및 이에 의한 영상 복호화 방법, 및 영상 부호화 장치 및 이에 의한 영상 부호화 방법
KR102493125B1 (ko) * 2019-10-10 2023-01-30 삼성전자주식회사 툴 세트를 이용하는 영상 복호화 장치 및 이에 의한 영상 복호화 방법, 및 영상 부호화 장치 및 이에 의한 영상 부호화 방법
WO2021125703A1 (ko) * 2019-12-20 2021-06-24 엘지전자 주식회사 영상/비디오 코딩 방법 및 장치
CN117560496A (zh) * 2019-12-26 2024-02-13 字节跳动有限公司 条带类型和视频层的信令通知
WO2021134020A1 (en) 2019-12-26 2021-07-01 Bytedance Inc. Constraints on signaling of hypothetical reference decoder parameters in video bitstreams
JP2023508681A (ja) 2019-12-27 2023-03-03 バイトダンス インコーポレイテッド ビデオサブピクチャをシグナリングするための構文
CN114946174A (zh) 2020-01-09 2022-08-26 字节跳动有限公司 层间参考图片的存在的信令通知
JP2021158407A (ja) * 2020-03-25 2021-10-07 富士通株式会社 符号化装置、復号装置、符号化方法、復号方法、画面転送システム及びプログラム
US11228776B1 (en) * 2020-03-27 2022-01-18 Tencent America LLC Method for output layer set mode in multilayered video stream
KR20220162742A (ko) * 2020-03-30 2022-12-08 엘지전자 주식회사 Sps 내 ptl, dpb 및 hrd 관련 정보를 시그널링하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 컴퓨터 판독 가능한 기록 매체
US11140399B1 (en) * 2020-04-03 2021-10-05 Sony Corporation Controlling video data encoding and decoding levels
KR20230008795A (ko) 2020-05-04 2023-01-16 엘지전자 주식회사 영상 디코딩 방법 및 그 장치
EP4140126A4 (en) 2020-05-22 2023-06-21 Beijing Bytedance Network Technology Co., Ltd. SCALING WINDOW IN A SUB-PICTURE SUB-BITSTREAM EXTRACTION PROCESS

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102428693A (zh) * 2009-05-18 2012-04-25 思杰系统有限公司 用于合成图像压缩的块重组的系统和方法
US20130339482A1 (en) * 2012-06-15 2013-12-19 Samsung Electronics Co., Ltd Data transmitting system, and transmitting apparatus and receiving apparatus and program in data transmitting system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101678321B1 (ko) * 2012-07-02 2016-11-21 노키아 테크놀로지스 오와이 비디오 코딩을 위한 방법 및 장치
AU2013327962A1 (en) * 2012-10-09 2015-04-02 Sony Corporation Image-processing device and method
US9936196B2 (en) * 2012-10-30 2018-04-03 Qualcomm Incorporated Target output layers in video coding
US9591321B2 (en) * 2013-04-07 2017-03-07 Dolby International Ab Signaling change in output layer sets

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102428693A (zh) * 2009-05-18 2012-04-25 思杰系统有限公司 用于合成图像压缩的块重组的系统和方法
US20130339482A1 (en) * 2012-06-15 2013-12-19 Samsung Electronics Co., Ltd Data transmitting system, and transmitting apparatus and receiving apparatus and program in data transmitting system

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HAHYUN LEE ET.AL.: "MV-HEVC/SHVC HLS: On output_layer_flag,JCTVC-P0078", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) F ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 16TH MEETING: SAN JOSÉ, US, 9–17 JAN. 2014 》 *
KEMAL UGUR,MISKA M. HANNUKSELA: "MV-HEVC/SHVC HLS: On default output layer sets,JCTVC-P0110", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 16TH MEETING: SAN JOSÉ, US, 9–17 JAN. 2014》 *
SACHIN DESHPANDE: "On DPB Parameters in VPS,JCTVC-P0156", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 16TH MEETING: SAN JOSÉ, US, 9–17 JAN. 2014》 *
TOMOHIRO IKAI,TAKESHI TSUKUBA,TOMOYUKI YAMAMOTO: "MV-HEVC/SHVC HLS: On layer set definition,JCTVC-P0045", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 16TH MEETING: SAN JOSÉ, US, 9–17 JAN. 2014》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109788300A (zh) * 2018-12-28 2019-05-21 芯原微电子(北京)有限公司 一种hevc解码器中的错误检测方法和装置
CN114303372B (zh) * 2019-06-28 2024-04-09 Sk电信有限公司 自适应地设置分辨率的方法及图像解码装置
CN114303372A (zh) * 2019-06-28 2022-04-08 Sk电信有限公司 自适应地设置分辨率的方法及图像解码装置
CN114556951B (zh) * 2019-09-24 2023-11-03 华为技术有限公司 可伸缩嵌套式sei消息管理
CN114503591A (zh) * 2019-09-24 2022-05-13 华为技术有限公司 支持空间可适性和snr可适性的ols
CN114556951A (zh) * 2019-09-24 2022-05-27 华为技术有限公司 可伸缩嵌套式sei消息管理
CN114424572B (zh) * 2019-09-24 2023-08-22 华为技术有限公司 用于多层视频码流的dpb参数的指示
CN114424572A (zh) * 2019-09-24 2022-04-29 华为技术有限公司 用于多层视频码流的dpb参数的指示
CN114503591B (zh) * 2019-09-24 2023-11-17 华为技术有限公司 支持空间可适性和snr可适性的ols
US11849134B2 (en) 2019-09-24 2023-12-19 Huawei Technologies Co., Ltd. Signaling of DPB parameters for multi-layer video bitstreams
US11838554B2 (en) 2020-02-29 2023-12-05 Beijing Bytedance Network Technology Co., Ltd. Constrains for diferent coding tools
US11889119B2 (en) 2020-02-29 2024-01-30 Beijing Bytedance Network Technology Co., Ltd. Constrains for syntax elements of adaptation parameter set
US11968402B2 (en) 2020-02-29 2024-04-23 Beijing Bytedance Network Technology Co., Ltd. Constrains for high level syntax elements
WO2021233448A1 (en) * 2020-05-22 2021-11-25 Beijing Bytedance Network Technology Co., Ltd. Signalling of general level index
US11956474B2 (en) 2020-05-22 2024-04-09 Beijing Bytedance Network Technology Co., Ltd. Signalling of general constrains flag
WO2023030072A1 (zh) * 2021-08-30 2023-03-09 华为技术有限公司 编解码方法、编码器、解码器及电子设备

Also Published As

Publication number Publication date
KR20160132089A (ko) 2016-11-16
EP3107299A4 (en) 2017-04-26
JP6329246B2 (ja) 2018-05-23
JPWO2015137237A1 (ja) 2017-04-06
US11683508B2 (en) 2023-06-20
JP6585223B2 (ja) 2019-10-02
US20220286693A1 (en) 2022-09-08
KR102073030B1 (ko) 2020-02-04
CN106170981B (zh) 2019-02-26
WO2015137237A1 (ja) 2015-09-17
EP3107299A1 (en) 2016-12-21
US20230421784A1 (en) 2023-12-28
US11356682B2 (en) 2022-06-07
JP2018139433A (ja) 2018-09-06
US20170006300A1 (en) 2017-01-05

Similar Documents

Publication Publication Date Title
CN106170981B (zh) 图像解码装置
JP6465863B2 (ja) 画像復号装置、画像復号方法及び記録媒体
JP6800837B2 (ja) 画像復号装置、及び画像復号方法
CN105594209B (zh) 图像解码装置、图像解码方法以及图像编码装置
CN105519119B (zh) 图像解码装置
CN105409220B (zh) 用于视频译码的经解码图片缓冲器操作
CN105814893B (zh) 在多层视频译码中信息用于色域可扩展性的3d查找表的发信分区
CN103843342B (zh) 图像解码方法
US20080225116A1 (en) Method and Apparatus For Defining and Reconstructing Rois in Scalable Video Coding
CN105814892B (zh) 视频编解码的方法、装置以及相应的计算机可读存储媒体
CN104620587B (zh) 用于对多层视频进行编码的方法和设备以及用于对多层视频进行解码的方法和设备
CN106233729A (zh) 用于色域可扩展性的3d色彩预测的信令参考层
JP2015195543A (ja) 画像復号装置、画像符号化装置
CN101895744B (zh) 处理多视图视频
JP2015119402A (ja) 画像復号装置、画像符号化装置、及び符号化データ
WO2015098713A1 (ja) 画像復号装置および画像符号化装置
JP2015126507A (ja) 画像復号装置、画像符号化装置、及び符号化データ

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant