CN105519119B - 图像解码装置 - Google Patents

图像解码装置 Download PDF

Info

Publication number
CN105519119B
CN105519119B CN201480049652.2A CN201480049652A CN105519119B CN 105519119 B CN105519119 B CN 105519119B CN 201480049652 A CN201480049652 A CN 201480049652A CN 105519119 B CN105519119 B CN 105519119B
Authority
CN
China
Prior art keywords
layer
sps
identifier
pps
picture
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.)
Expired - Fee Related
Application number
CN201480049652.2A
Other languages
English (en)
Other versions
CN105519119A (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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Publication of CN105519119A publication Critical patent/CN105519119A/zh
Application granted granted Critical
Publication of CN105519119B publication Critical patent/CN105519119B/zh
Expired - Fee Related 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/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
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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
    • 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

Abstract

在某层集内的层间应用共享参数集的情况下,产生在从包括该层集的比特流通过比特流提取处理而生成的、只包括该层集的子集的层集的比特流上不能进行解码的层。根据本发明的一个方式,规定在某层集内的层间应用共享参数集的情况下的比特流的限制以及利用共享参数集的层间的依赖关系。

Description

图像解码装置
技术领域
本发明涉及对图像被层次性地进行编码的层次编码数据进行解码的图像解码装置、以及通过对图像层次性地进行编码而生成层次编码数据的图像编码装置。
背景技术
在通信系统中传输的信息或者在存储装置中记录的信息之一存在图像或者运动图像。以往,已知为了这些图像(以后,包括运动图像)的传输/存储而对图像进行编码的技术。
作为运动图像编码方式,已知AVC(H.264/MPEG-4高级视频编码(Advanced VideoCoding))、作为其后继编解码器(Codec)的HEVC(高效的视频编码(High-Efficiency VideoCoding))(非专利文献1)。
在这些运动图像编码方式中,通常,基于通过对输入图像进行编码/解码而获得的局部解码图像,生成预测图像,对从输入图像(原图像)减去该预测图像而获得的预测残差(有时也称为“差分图像”或者“残差图像”)进行编码。此外,作为预测图像的生成方法,举出画面间预测(外部预测)以及画面内预测(内部预测)。
在HEVC中,设想如将60fps的内容以30fps来再现的情况这样的、以在时间上间拔的帧率来再现的情况而使用实现时间可伸缩性(Temporal scalability)的技术。具体而言,对各图片(Picture)分配被称为时间识别符(TemporalID、子层识别符)的数值,施加时间识别符大的图片不参照比该时间识别符小的时间识别符的图片这样的限制。由此,在只将特定的时间识别符的图片间拔而再现的情况下,不需要被附加了比它大的时间识别符的图片的解码。
此外,近年来,提出了根据需要的数据速率来对图像层次性地进行编码的可伸缩编码技术或者层次编码技术。作为代表性的可伸缩编码方式(层次编码方式),已知SHVC(可伸缩HEVC(Scalable HEVC))以及MV-HEVC(多视点HEVC(MultiView HEVC))。
在SHVC中,支持空间可伸缩性、时间可伸缩性、SNR可伸缩性。例如,在空间可伸缩性的情况下,将从原图像以期望的分辨率进行了下采样的图像作为下位层来进行编码。接着,在上位层中,为了去除层间的冗长性而进行层间预测(非专利文献2)。
在MV-HEVC中,支持视点可伸缩性(View scalability)。例如,在对视点图像0(层0)、视点图像1(层1)、视点图像2(层2)这3个视点图像进行编码的情况下,从下位层(层0)通过层间预测而预测作为上位层的视点图像1、视点图像2,能够去除层间的冗长性(非专利文献3)。
在SHVC或MV-HEVC等的可伸缩编码方式中利用的层间预测中,有层间图像预测和层间移动预测。在层间图像预测中,利用下位层(或者,与对象层不同的其他层)的解码完毕图片的纹理信息(图像),生成对象层的预测图像。在层间移动预测中,利用下位层(或者,与对象层不同的其他层)的解码完毕图片的移动信息,导出对象层的移动信息的预测值。即,通过利用下位层(或者,与对象层不同的其他层)的解码完毕图片作为对象层的参照图片,进行层间预测。
此外,除了去除层间的图像信息或者移动信息的冗长性的层间预测之外,还有如下的参数集间预测:在为了对编码数据进行解码/编码而规定了必要的编码参数的集合的参数集(例如,序列参数集SPS或图片参数集PPS等)中,为了去除层间共同的编码参数的冗长性,根据在下位层的解码/编码中利用的参数集内的对应的编码参数来预测(也称为参照或者继承)在上位层的解码/编码中利用的参数集内的一部分编码参数,省略该编码参数的解码/编码。例如,有根据下位层的比例表信息来预测在SPS或PPS中通知的、对象层的比例表信息(量化矩阵)的技术(也称为参数集间语法预测)。
此外,有在视点可伸缩性或SNR可伸缩性的情况下,由于在各层的解码/编码中利用的参数集内共同的编码参数多,所以在不同的层间利用共同的参数集,去除层间的边信息(参数集)的冗长性的共享参数集这样的技术。例如,在非专利文献2以及3中,在层识别符的值为nuhLayerIdA的下位层的解码/编码中利用的SPS或PPS(参数集的层识别符的值也为nuhLayerIdA)允许在作为比nuhLayerIdA大的层识别符的值(nuhLayerIdB)的上位层的解码/编码时利用。另外,在存储有图像的编码数据或编码参数等的参数集的编码数据的NAL单元内的NAL单元头部中,被通知对层进行识别的层识别符(也称为nuh_layer_id或者layerId、lId)、对在层上附带的子层进行识别的时间识别符(也称为nuh_temporal_id_plus1或者temporalId、tId)以及表示在NAL单元中存储的编码数据的类别的NAL单元类型(nal_unit_type)。
现有技术文献
非专利文献
非专利文献1:“Recommendation H.265(04/13)”,ITU-T(2013年6月7日公开)
非专利文献2:JCTVC-N1008_v3“SHVC Draft 3”,Joint Collaborative TeamonVideo Coding(JCT-VC)of ITU-T SG 16WP 3and ISO/IEC JTC 1/SC 29/WG 11 14thMeeting:Vienna,AT,25July-2Aug.2013(2013年8月20日公开)
非专利文献3:JCT3V-E1004_v5“MV-HEVC Draft Text 5”,JointCollaborativeTeam on 3D Video Coding Extension Development of ITU-T SG 16WP3and ISO/IEC JTC 1/SC 29/WG 11 5th Meeting:Vienna,AT,27July-2Aug.2013(2013年8月7日公开)
发明内容
发明要解决的课题
但是,将现有技术中的序列参数集(SPS)以及图片参数集(PPS)等的参数集在多个层间共享的情况下(共享参数集),存在如下的课题。
(1)在有由层识别符的值为nuhLayerIdA的层A和层识别符的值为nuhLayerIdB的层B构成的比特流的情况下,若通过比特流提取,丢弃层A的编码数据而提取由只有层B的编码数据构成的比特流,则用于对层B进行解码所需的层A的参数集(层识别符的值为nuhLayerIdA)有时被丢弃。在该情况下,存在无法对所提取的层B的编码数据进行解码的问题。
更具体而言,如图1(a)所示,假设有包括由层识别符的值分别为nuhLayerId0、nuhLyaerId1以及nuhLayerId2的层0(图1(a)上的nuhLayerId0)、层1(图1(a)上的nuhLayerId1)、层2(图1(a)上的nuhLayerId2)构成的层集A{nuhLayerId0,nuhLayerId1,nuhLayerId2}的比特流。进一步,假设层集A中的层间的依赖关系有如下的依赖关系:如图1(a)所示,层1、层2分别将层0作为层间预测(层间图像预测、层间移动预测)的参照层来依赖(图1上的实线的箭头),层2在层2的解码中参照在层1的解码中利用的层识别符的值为nuhLayerId1的参数集(SPS、PPS)(图1上的双虚线的箭头)。
从包括该层集A{nuhLayerId0,nuhLayerId1,nuhLayerId2}的比特流,基于层ID{nuhLayerId0,nuhLayerId2}来提取(比特流提取)只包括作为层集A的子集的层集B{nuhLayerId0,nuhLayerId2}的子比特流(图1(b))。但是,由于在提取后的比特流中不存在对层集B内的层2(nuhLayerId2)的编码数据进行解码时利用的、层识别符的值为nuhLayerId1的参数集(SPS、PPS等),所以可能产生无法对层2的编码数据进行解码的情况。
(2)由于在编码数据的解码开始时刻不清楚与哪个层共同利用(应用共享参数集)层识别符的值为nuhLayerIdA的层A的参数集,所以在只对某层ID(或者层集)的编码数据进行解码或者提取的情况下,存在不清楚应对哪个层ID的参数集进行解码、提取的课题。
本发明是鉴于上述问题而完成的,其目的在于,实现一种如下的图像解码装置以及图像编码装置:规定在某层集内的层间应用共享参数集的情况下的比特流的限制以及利用共享参数集的层间的依赖关系,防止产生在从包括该层集的比特流通过比特流提取处理而生成的、只包括该层集的子集的层集的比特流上不能进行解码的层。
用于解决课题的手段
为了解决上述的课题,本发明的一个方式的图像解码装置是对包括多个层的层次图像编码数据进行解码的图像解码装置,具有:参数集解码单元,对参数集进行解码;片段头部解码单元,对片段头部进行解码;以及有效参数集指定单元,基于在片段头部或者参数集中包含的有效参数集识别符,从参数集中指定有效参数集,上述有效参数集的层识别符是对象层或者对象层的依赖层的层识别符。
发明效果
根据本发明的一个方式,能够规定在某层集内的层间应用共享参数集的情况下的比特流的限制以及利用共享参数集的层间的依赖关系,防止产生在从包括该层集的比特流通过比特流提取处理而生成的、只包括该层集的子集的层集的比特流上不能进行解码的层。
附图说明
图1是用于说明在从包括某层集A的比特流中提取作为层集A的子集的层集B时产生的问题的一例的图。(a)表示层集A的一例,(b)表示比特流提取后的层集B的一例。
图2是用于说明本发明的一实施方式的层次编码数据的层结构的图,(a)表示层次运动图像编码装置侧,(b)表示层次运动图像解码装置侧。
图3是用于说明构成某层集的层、以及子层(时间层)的结构的图。
图4是用于说明构成从图3所示的层集通过子比特流提取处理而提取的层集的子集的层、以及子层(时间层)的图。
图5是表示构成NAL单元层的数据结构的例的图。
图6是表示在NAL单元层中包含的语法的例的图。(a)是表示构成NAL单元层的语法例的图,(b)是表示NAL单元头部的语法例的图。
图7是表示本发明的实施方式的NAL单元类型的值和NAL单元的类别的关系的图。
图8是表示在接入单元中包含的NAL单元的结构的一例的图。
图9是用于说明本发明的实施方式的层次编码数据的结构的图,(a)是表示规定序列SEQ的序列层的图,(b)是表示规定图片PICT的图片层的图,(c)是表示规定片段S的片段层的图,(d)是表示规定片段数据的片段数据层的图,(e)是表示规定在片段数据中包含的编码树单元的编码树层的图,(f)是表示规定在编码树中包含的编码单位(Coding Unit;CU)的编码单元层的图。
图10是用于说明本实施方式的共享参数集的图。
图11是用于说明参照图片列表、以及参照图片的图。(a)是表示参照图片列表的一例的概念图,(b)是表示参照图片的一例的概念图。
图12是本发明的实施方式的VPS的语法表格的一例。
图13是本发明的实施方式的VPS扩展数据的语法表格的一例。
图14是用于说明本实施方式的层依赖类型的图。(a)是表示包括non-VCL的依赖的有无作为依赖类型的一例的图,(b)是表示包括共享参数集的有无以及参数集间预测的有无作为依赖类型的一例。
图15是本发明的实施方式的SPS的语法表格的一例。
图16是现有技术的SPS扩展数据的语法表格的一例。
图17是本发明的实施方式的PPS的语法表格的一例。
图18是本发明的实施方式的片段层的语法表格的一例。(a)表示在片段层中包含的片段头部、以及片段数据的语法表格的一例,(b)表示片段头部的语法表格的一例,(c)表示片段数据的语法表格的一例。
图19是表示本实施方式的层次运动图像解码装置的结构的概略图。
图20是表示本实施方式的对象层集图片解码部的结构的概略图。
图21是用于说明本实施方式的图片解码部的动作的流程图。
图22是表示本实施方式的层次运动图像解码装置的结构的概略图。
图23是表示本实施方式的对象层集图片解码部的结构的概略图。
图24是用于说明本实施方式的图片解码部的动作的流程图。
图25是表示搭载了上述层次运动图像编码装置的发送装置、以及搭载了上述层次运动图像解码装置的接收装置的结构的图。(a)表示搭载了层次运动图像编码装置的发送装置,(b)表示搭载了层次运动图像解码装置的接收装置。
图26是表示搭载了上述层次运动图像编码装置的记录装置、以及搭载了上述层次运动图像解码装置的再现装置的结构的图。(a)表示搭载了层次运动图像编码装置的记录装置,(b)表示搭载了层次运动图像解码装置的再现装置。
图27是本发明的实施方式的片段头部的语法表格的变形例的一例。
图28是本发明的实施方式的PPS的语法表格的变形例的一例。
图29是本发明的实施方式的SPS扩展数据的语法表格的一例。(a)是本发明的实施方式的层间像素对应信息的一例,(b)是层间像素对应信息的变形例的一例。
图30是例示对象层的图片、参照层的图片、以及层间像素对应偏移的关系的图,(a)表示参照层的图片整体对应于对象层的图片的一部分的情况下的例,(b)表示参照层的图片的一部分对应于对象层的图片整体的情况下的例。
图31是用于说明间接参照层的图。
具体实施方式
基于图2~图31说明本发明的一实施方式的层次运动图像解码装置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”,但并不限定于此。也能够如下构成层次编码数据:解码图像POUT#B能够只使用“B”进行解码。例如,也能够构成如下的层次运动图像解码装置:在解码图像POUT#B的解码中,以只由“B”构成的层次编码数据和解码图像POUT#C作为输入。
另外,在实现SNR可伸缩性的情况下,也能够如下生成层次编码数据:在作为输入图像PIN#A、PIN#B以及PIN#C而使用了同一个原画的基础上,解码图像POUT#A、POUT#B以及POUT#C成为不同的画质。此时,与上位层次的层次运动图像编码装置相比,下位层次的层次运动图像编码装置通过使用更大的量化步长对预测残差进行量化,从而生成层次编码数据。
在本说明书中,为了便于说明,如下定义用语。只要没有特别提及,则以下的用语用于表示下述的技术事项。
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等的、作为在对各序列或图片进行解码时利用的编码参数的集合的头部信息等的编码数据的NAL单元。
层识别符:层识别符(也称为层ID)是用于对层次(层)进行识别的识别符,与层次1对1对应。在层次编码数据中,包括用于选择特定的层次的解码图像的解码所需的部分编码数据的识别符。与对应于特定的层的层识别符相关的层次编码数据的部分集合也被称为层表现。
一般,在特定的层次的解码图像的解码中,使用该层次的层表现和/或与该层次的下位层对应的层表现。即,在对象层的解码图像的解码中,使用对象层的层表现和/或在对象层的下位层中包含的1个以上层次的层表现。
层:具有特定的层次(层)的层识别符的值(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称为对象层的间接参照层。
基本层:将位于最下层的层次称为基本层。基本层的解码图像是能够从编码数据进行解码得到的质量最低的解码图像,被称为基本解码图像。换言之,基本解码图像是与最下层的层次对应的解码图像。基本解码图像的解码所需的层次编码数据的部分编码数据被称为基本编码数据。例如,在上位层次L1的层次编码数据DATA#A中包含的基本信息“C”是基本编码数据。
扩展层:基本层的上位层被称为扩展层。
层间预测:层间预测是指,基于在与对象层的层表现不同的层次(参照层)的层表现中包含的语法要素值、通过语法要素值而导出的值以及解码图像,预测对象层的语法要素值或在对象层的解码中使用的编码参数等。有时也将从参照层的信息预测与移动预测有关的信息的层间预测称为层间移动信息预测。此外,有时也将从下位层的解码图像进行预测的层间预测称为层间图像预测(或者层间纹理预测)。另外,在层间预测中使用的层次,例示性地是对象层的下位层。此外,有时也将不使用参照层而在对象层内进行预测称为层内预测。
时间识别符:时间识别符(也称为时间ID、时间识别符、子层ID或者子层识别符)是用于识别与时间可伸缩性有关的层(以后,称为子层)的识别符。时间识别符是用于识别子层的识别符,与子层1对1对应。在编码数据中,包括用于选择特定的子层的解码图像的解码所需的部分编码数据的时间识别符。尤其,将最高次(最上位)的子层的时间识别符称为最高次(最上位)时间识别符(highest TemporalId、highestTid)。
子层:子层是与由时间识别符所确定的时间可伸缩性有关的层。为了与空间可伸缩性、SNR可伸缩性等除此之外的可伸缩性进行区分,以后称为子层(也称为时间层)。此外,以后,设为时间可伸缩性是通过在基本层的编码数据或者用于对某层进行解码所需的层次编码数据中包含的子层而实现。
层集:层集是由1以上的层构成的层的集合。
比特流提取处理:比特流提取处理是指,从某比特流(层次编码数据、编码数据)中,去除(丢弃)在由对象最高次时间识别符(highest TemporalId,highestTid)、表示在对象层集中包含的层的层ID列表(也称为LayerSetLayerIdList[])所确定的集合(称为目标集合)中不包括的NAL单元,提取由在目标集合中包含的NAL单元构成的比特流(也称为子比特流)的处理。比特流提取处理也被称为子比特流提取。另外,设为在层集中包含的层ID在层ID列表LayerSetLayerIdList[K](K=0…N-1,N为层集中包含的层数)的各要素中按升序存储。
接着,参照图3以及图4,说明通过比特流提取处理(也称为子比特流提取),从包括某层集A的层次编码数据中提取包括成为层集A的子集的层集B(也称为目标集合)的层次编码数据的例。
图3表示3个层(L#0、L#1、L#2)以及各层由3个子层(TID1、TID2、TID3)构成的层集A的结构。另外,以后,将构成层集的层以及子层表示为{层ID列表{L#0,…,L#N}、最高次时间ID(HighestTid=K)}。例如,图3的层集A表现为{层ID列表{L#0,L#1,L#2}、最高次时间ID=3}。这里,标号L#N表示某层N,图3中的各框表示图片,框内的号码表示解码顺序的一例。以后,在图片中号码N记载为P#N(关于图4,也是同样的)。
此外,各图片间的箭头表示图片间的依赖方向(参照关系)。若是同一层内的箭头,则表示是在外部预测中利用的参照图片。若是层间的箭头,则表示是在层间预测中利用的参照图片(也称为参照层图片)。
此外,图3中的AU表示接入单元,标号#N表示接入单元号码。若将某起点(例如,随机接入开始点)的AU设为AU#0,则AU#N表示是第(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的集合。另外,关于接入单元的细节,在后面叙述。
在图3的例中,由于是层ID列表{L#0、L#1}以及最高次时间ID=2,所以目标集合(层集B)从包括层集A的比特流中,通过比特流提取而丢弃在目标集合(层集B)中不包含的层以及大于最高次时间ID=2的子层。即,在层ID列表中不包含的层L#2以及具有子层(TID3)的NAL单元被丢弃,最终,如图4所示,提取包括层集B的比特流。在图4中,虚线的框表示被丢弃的图片,虚线的箭头表示被丢弃的图片和参照图片间的依赖方向。另外,由于层L#3以及构成TID3的子层的图片的NAL单元已丢弃完毕,所以依赖关系已经被切断。
在SHVC或MV-HEVC中,为了实现SNR可伸缩性、空间可伸缩性、时间可伸缩性等,导入了层以及子层的概念。如在图3、图4中已经说明,在变更帧率并实现时间可伸缩性的情况下,通过比特流提取处理,首先从其他的图片丢弃不会被参照的图片(最高次时间ID(TID3))的编码数据。在图3、图4的情况下,通过丢弃图片(10、13、11、14、12、15)的编码数据,生成帧率成为1/2的编码数据。
此外,在实现SNR可伸缩性、空间可伸缩性或视点可伸缩性的情况下,通过比特流提取而丢弃在目标集合中不包含的层的编码数据,能够变更各可伸缩性的粒度。通过丢弃(图3、图4中为3、6、9、12、15)的编码数据,生成将可伸缩性的粒度加粗的编码数据。通过重复上述处理,能够阶段性地对层、子层的粒度进行调整。
另外,以上的用语终究是为了便于说明的,也可以由其他的用语来表现上述的技术事项。
〔关于层次编码数据的数据结构〕
以下,例示使用HEVC以及其扩展方式作为生成各层次的编码数据的编码方式的情况。但是,并不限定于此,也可以通过MPEG-2或H.264/AVC等的编码方式而生成各层次的编码数据。
此外,下位层和上位层也可以通过不同的编码方式进行编码。此外,各层次的编码数据也可以经由相互不同的传输路径而提供给层次运动图像解码装置1,也可以经由相同的传输路径而提供给层次运动图像解码装置1。
例如,也可以在将超高清影像(运动图像、4K影像数据)通过基本层以及1个扩展层进行可伸缩编码而传输的情况下,基本层通过MPEG-2或者H.264/AVC对将4K影像数据进行了降比例(Downscaling)、交织化的影像数据进行编码并通过电视广播网而传输,扩展层通过HEVC对4K影像(渐进式)进行编码并通过互联网而传输。
<层次编码数据DATA的结构>
在本实施方式的图像编码装置2以及图像解码装置1的详细的说明之前,说明由图像编码装置2生成并由图像解码装置1进行解码的层次编码数据DATA的数据结构。
(NAL单元层)
图5是表示层次编码数据DATA中的数据的层次结构的图。层次编码数据DATA以被称为NAL(网络抽象层(Network Abstraction Layer))单元的单位进行编码。
NAL是用于将作为进行运动图像编码处理的层的VCL(视频编码层(Video CodingLayer))和传输/存储编码数据的下位系统之间的通信进行抽象化而设置的层。
VCL是进行图像编码处理的层,在VCL中进行编码。另一方面,这里所称的下位系统对应于H.264/AVC以及HEVC的文件格式、MPEG-2系统。在以下所示的例中,下位系统对应于对象层以及参照层中的解码处理。另外,在NAL中,在VCL中生成的比特流以称为NAL单元的单位被划分,向成为目的地地址的下位系统传输。
图6(a)表示NAL(网络抽象层(Network Abstraction Layer))单元的语法表格。在NAL单元中,包括在VCL中进行了编码的编码数据、以及用于该编码数据适当地到达目的地地址的下位系统的头部(NAL单元头部:nal_unit_header())。NAL单元头部例如由图6(b)所示的语法表示。在NAL单元头部中,记载有表示在NAL单元中存储的编码数据的种类的“nal_unit_type”、表示存储的编码数据所属的子层的识别符(时间识别符)的“nuh_temporal_id_plus1”或表示存储的编码数据所属的层的识别符(层识别符)的“nuh_layer_id”(或者,nuh_reserved_zero_6bits)。另一方面,在NAL单元数据中,包括后述的参数集、SEI、片段等。
图7是表示NAL单元类型的值和NAL单元的类别的关系的图。如图7所示,具有由SYNA101所示的0至15的值的NAL单元类型的NAL单元是非RAP(随机接入图片)的片段。具有由SYNA102所示的16至21的值的NAL单元类型的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。
图7中,尤其如NAL Unit Type Class所示,各NAL单元根据NAL单元类型而分类为构成图片的数据(VCL数据)和除此以外的数据(non-VCL)。图片不管随机接入图片、阅览图片、拖尾图片等的图片类别而全部分类为VCL NAL单元,作为图片的解码所需的数据的参数集或、作为图片的辅助信息的SEI、表示序列的段落的接入单元分隔符(AUD)、序列末端(EOS)、比特流末端(EOB)等分类为non-VCL NAL单元。
(接入单元)
将通过特定的分类规则而汇集的NAL单元的集合称为接入单元。在层数为1的情况下,接入单元是构成1个图片的NAL单元的集合。在层数大于1的情况下,接入单元是构成同一时刻的多个层的图片的NAL单元的集合。另外,为了表示接入单元的段落,编码数据也可以包括被称为接入单元分隔符(Access unit delimiter)的NAL单元。接入单元分隔符包含在构成在编码数据中的接入单元的NAL单元的集合和构成其他接入单元的NAL单元的集合之间。
图8是表示在接入单元中包含的NAL单元的结构的一例的图。如图8所示,AU由表示是AU的开头的接入单元分隔符(AUD)、各种参数集(VPS、SPS、PPS)、各种SEI(Prefix SEI、Suffix SEI)、在层数为1的情况下构成1个图片的VCL(slice)、在层数大于1的情况下构成层数个的图片的VCL、表示序列的终端的EOS(序列末端(End of Sequence))、表示比特流的终端的EOB(比特流末端(End of Bitstream))等的NAL单元构成。另外,在图8中,VPS、SPS、SEI、VCL的后面的标号L#K(K=Nmin…Nmax)表示层ID。在图8的例中,在AU内,除了VPS之外,各层L#Nmin~层L#Nmax的SPS、PPS、SEI、VCL按照层ID的升序存在。VPS只有在最低次的层ID中传送。另外,在图8中,由箭头表示特定NAL单元在AU内是否存在或者是否重复存在。例如,若特定的NAL单元在AU内存在,则由通过该NAL单元的箭头表示,若特定的NAL单元在AU内不存在,则由跳过该NAL单元的箭头表示。例如,不通过AUD而朝向VPS的箭头表示AUD在AU内不存在的情况。此外,具有最低次以外的上位的层ID的VPS也可以包含在AU内,但图像解码装置忽略具有最低次以外的层ID的VPS。此外,如图8所示,各种参数集(VPS,SPS,PPS)或作为辅助信息的SEI可以作为接入单元的一部分而包含,也可以通过与比特流不同的手段而传递给解码器。
图9是表示层次编码数据DATA中的数据的层次结构的图。层次编码数据DATA例示性地包括序列以及构成序列的多个图片。图9的(a)~(f)分别是表示规定序列SEQ的序列层、规定图片PICT的图片层、规定片段S的片段层、规定片段数据的片段数据层、规定在片段数据中包含的编码树单元的编码树层、规定在编码树中包含的编码单位(Coding Unit;CU)的编码单元层的图。
(序列层)
在序列层中,为了对处理对象的序列SEQ(以下,也称为对象序列)进行解码而规定了图像解码装置1参照的数据的集合。如图9的(a)所示,序列SEQ包括视频参数集(VideoParameter Set)、序列参数集SPS(Sequence Parameter Set)、图片参数集PPS(PictureParameter Set)、图片PICT以及附加扩展信息SEI(Supplemental EnhancementInformation)。这里,#之后示出的值表示层ID。在图9中,表示存在#0和#1即层ID为0和层ID为1的编码数据的例,但层的种类以及层的数目并不限定于此。
在视频参数集VPS中,为了对由1个以上的层构成的编码数据进行解码而规定了图像解码装置1参照的编码参数的集合。例如,规定了用于对后述的序列参数集或其他的语法要素参照的VPS进行识别的VPS识别符(video_parameter_set_id)、在编码数据中包含的层数(vps_max_layers_minus1)、在层中包含的子层数(vps_sub_layers_minus1)、规定由在编码数据中表现的1个以上的层构成的层的集合的层集的数(vps_num_layer_sets_minus1)、规定构成层集的层的集合的层集结构信息(layer_id_included_flag[i][j])、层间的依赖关系(直接依赖标记direct_dependency_flag[i][j]、层依赖类型direct_dependency_type[i][j])等。VPS可以在编码数据内存在多个。在该情况下,对每个对象序列从多个候选中选择用于解码的VPS。在属于某层的特定序列的解码中使用的VPS被称为有效VPS。此外,有时也将在基本层和扩展层中应用的VPS区分,将对于基本层(层ID=0)的VPS称为有效VPS,将对于扩展层(层ID>0)的VPS称为有效层VPS。以下,只要没有特别说明,则VPS意味着对于属于某层的对象序列的有效VPS。另外,在层ID=nuhLayerIdA的层的解码中利用的、层ID=nuhLayerIdA的VPS也可以在作为比nuhLayerIdA更大的层ID的层(nuhLayerIdB、nuhLayerIdB>nuhLayerIdA)的解码中利用。以后,只要没有特别说明,则在解码器和编码器间有VPS的层ID为0(nuhLayerId=0)、时间ID为0(tId=0)这样的限制(也称为比特流限制)。
在序列参数集SPS中,为了对对象序列进行解码而规定了图像解码装置1参照的编码参数的集合。例如,规定了表示对象SPS参照的有效VPS的有效VPS识别符(sps_video_parameter_set_id)、用于对后述的图片参数集或其他的语法要素参照的SPS进行识别的SPS识别符(sps_seq_parameter_set_id)、图片的宽度或高度。SPS可以在编码数据内存在多个。在该情况下,对每个对象序列从多个候选中选择用于解码的SPS。在属于某层的特定序列的解码中使用的SPS被称为有效SPS。此外,有时也将在基本层和扩展层中应用的SPS区分,将对于基本层的SPS称为有效SPS,将对于扩展层的SPS称为有效层SPS。以下,只要没有特别说明,则SPS意味着对于在属于某层的对象序列的解码中利用的有效VPS。另外,在属于层ID=nuhLayerIdA的层的序列的解码中利用的、层ID=nuhLayerIdA的SPS也可以在属于作为比nuhLayerIdA更大的层ID的层(nuhLayerIdB、nuhLayerIdB>nuhLayerIdA)的序列的解码中利用。以后,只要没有特别说明,则在解码器和编码器间有SPS的时间ID为0(tId=0)这样的限制(也称为比特流限制)。
在图片参数集PPS中,为了对对象序列内的各图片进行解码而规定了图像解码装置1参照的编码参数的集合。例如,包括表示对象PPS参照的有效SPS的有效SPS识别符(pps_seq_parameter_set_id)、用于对后述的片段头部或其他的语法要素参照的PPS进行识别的PPS识别符(pps_pic_parameter_set_id)、在图片的解码中使用的量化步长的基准值(pic_init_qp_minus26)、表示加权预测的应用的标记(weighted_pred_flag)、比例表(量化矩阵)。另外,PPS可以存在多个。在该情况下,从对象序列内的各图片中选择多个PPS中的某一个。在属于某层的特定图片的解码中使用的PPS被称为有效PPS。此外,有时也将在基本层和扩展层中应用的PPS区分,将对于基本层的PPS称为有效PPS,将对于扩展层的PPS称为有效层PPS。以下,只要没有特别说明,则PPS意味着对于在属于某层的对象图片的有效PPS。另外,在属于层ID=nuhLayerIdA的层的图片的解码中利用的、层ID=nuhLayerIdA的PPS也可以在属于作为比nuhLayerIdA更大的层ID的层(nuhLayerIdB、nuhLayerIdB>nuhLayerIdA)的图片的解码中利用。
另外,有效SPS以及有效PPS也可以设定为对每个层不同的SPS或PPS。即,能够参照对每个层不同的SPS或PPS而执行解码处理。
(图片层)
在图片层中,为了对处理对象的图片PICT(以下,也称为对象图片)进行解码而规定了层次运动图像解码装置1参照的数据的集合。如图9的(b)所示,图片PICT包括片段S0~SNS-1(NS为在图片PICT中包含的片段的总数)。
另外,以下,在不需要区分片段S0~SNS-1的每一个的情况下,有时省略标号的下标而记载。此外,关于以下说明的在层次编码数据DATA中包含的数据并且是标上下标的其他的数据,也是同样的。
(片段层)
在片段层中,为了对处理对象的片段S(也称为对象片段)进行解码而规定了层次运动图像解码装置1参照的数据的集合。如图9的(c)所示,片段S包括片段头部SH以及片段数据SDATA。
在片段头部SH中,为了决定对象片段的解码方法而包括层次运动图像解码装置1参照的编码参数组。例如,包括用于指定为了对对象片段进行解码而参照的PPS(有效PPS)的有效PPS识别符(slice_pic_parameter_set_id)。另外,有效PPS参照的SPS由在有效PPS中包含的有效SPS识别符(pps_seq_parameter_set_id)所指定。进一步,有效SPS参照的VPS(有效VPS)由在有效SPS中包含的有效VPS识别符(sps_video_parameter_set_id)所指定。
以图10为例,说明本实施例中的层间的参数集的共享(共享参数集)。图10表示头部信息和构成接入单元(AU)的编码数据的参照关系。在图10的例中,构成属于各AU内的层L#K(K=Nmin…Nmax)的图片的各片段将用于指定应参照的PPS的有效PPS识别符包含在片段头部内,在各片段的解码开始时通过该识别符而指定在解码中使用的PPS(有效PPS)(也称为激活)。另外,在同一图片内的片段参照的各PPS、SPS、VPS的识别符必须相同。在被激活的PPS中,包括用于指定在解码处理上应参照的SPS(有效SPS)的有效SPS识别符,通过该识别符而指定在解码中使用的SPS(有效SPS)(激活)。同样地,在被激活的SPS中,包括用于指定在属于各层的序列的解码处理上应参照的VPS(有效VPS)的有效VPS识别符,通过该识别符而指定在解码中使用的VPS(有效VPS)(激活)。通过以上的顺序而执行各层的编码数据的解码处理时确定所需的参数集。在图10的例中,设各参数集(VPS、SPS、PPS)的层识别符为属于某层集的最低次的层ID=L#Nmin。层ID=L#Nmin的片段参照具有同一层ID的参数集。即,在图10的例中,AU#i的层ID=L#Nmin的片段参照层ID=L#Nmin且PPS识别符=0的PPS,同PPS参照层ID=L#Nmin且SPS识别符=0的SPS,同SPS参照层ID=L#Nmin且VPS识别符=0的VPS。另一方面,AU#i的层ID=L#K(K>Nmin)(图10中,L#Nmax)的片段虽然能够参照具有同一层ID(=L#K)的PPS、SPS,但也能够参照比L#K下位的层L#M(K>M)(图10中,M=Nmin、L#Nmin)的PPS、SPS。即,通过在层间参照共同的参数集,在上位层中,不需要将具有与下位层相同的编码参数的参数集重复传送,能够降低与重复的参数集有关的符号量以及降低涉及解码/编码的处理量。另外,各头部信息(片段头部、PPS、SPS)参照的上位的参数集的识别符并不限定于图10的例。若是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参照的数据的集合。如图9的(d)所示,片段数据SDATA包括编码树块(CTB:Coded Tree Block)。CTB是构成片段的固定大小(例如64×64)的块,也有时称为最大编码单位(LCU:Largest Cording Unit)。
(编码树层)
如图9的(e)所示,编码树层为了对处理对象的编码树块进行解码而规定了层次运动图像解码装置1参照的数据的集合。编码树单元通过递归的4叉树分割而被分割。将通过递归的4叉树分割而获得的树结构的节点称为编码树(coding tree)。4叉树的中间节点是编码树单元(CTU:Coded Tree Unit),规定作为比编码树块本身最上位的CTU。CTU包括分割标记(split_flag),在split_flag为1的情况下,分割为4个编码树单元CTU。在split_flag为0的情况下,编码树单元CTU分割为4个编码单元(CU:Coded Unit)。编码单元CU是编码树层的末端节点,在这个层中不会进一步分割。编码单元CU成为编码处理的基本的单位。
此外,编码树单元CTU的大小以及各编码单元可取的大小依赖于在序列参数集SPS中包含的、最小编码节点的大小指定信息、以及最大编码节点和最小编码节点的层次深度的差分。例如,在最小编码节点的大小为8×8像素、且最大编码节点和最小编码节点的层次深度的差分为3的情况下,编码树单元CTU的大小为64×64像素且编码节点的大小可取4种大小即64×64像素、32×32像素、16×16像素以及8×8像素中的某一个。
另外,将通过编码树单元进行解码的对象图片上的部分区域称为编码树块(CTB:Coding Tree block)。与作为对象图片的亮度分量的亮度图片对应的CTB被称为亮度CTB。换言之,从CTU进行解码的亮度图片上的部分区域被称为亮度CTB。另一方面,与从CTU进行解码的色差图片对应的部分区域被称为色差CTB。一般,若决定图像的颜色格式,则亮度CTB大小和色差CTB大小能够相互变换。例如,在颜色格式为4:2:2的情况下,色差CTB大小是亮度CTB大小的各一半。在以下的记载中,只要没有特别说明,则CTB大小意味着亮度CTB大小。此外,CTU大小是对应于CTU的亮度CTB大小。
(编码单元层)
如图9的(f)所示,编码单元层为了对处理对象的编码单元进行解码而规定了层次运动图像解码装置1参照的数据的集合。具体而言,编码单元CU(coding unit)由CU头部CUH、预测树、变换树构成。在CU头部CUH中,规定了编码单元是使用内部预测的单元还是使用外部预测的单元等。编码单元成为预测树(prediction tree;PT)以及变换树(transformtree;TT)的根。另外,与CU对应的图片上的区域被称为编码块(CB:Coding Block)。将亮度图片上的CB称为亮度CB,将色差图片上的CB称为色差CB。CU大小(编码节点的大小)意味着亮度CB大小。
(变换树)
变换树(以下,简称为TT)中,编码单元CU分割为1个或者多个变换块,且规定了各变换块的位置和大小。换做其他表现的话,变换块是构成编码单元CU的1个或者多个不重复的区域。此外,变换树包括通过上述的分割而获得的1个或者多个变换块。另外,将与在CU中包含的变换树有关的信息、以及在变换树中包含的信息称为TT信息。
在变换树中的分割中,有将与编码单元相同的大小的区域作为变换块而分配的分割、和与上述的树块的分割相同的递归的4叉树分割的分割。变换处理对该每个变换块进行。以下,也将作为变换的单位的变换块称为变换单位(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)实现。例如,在CU大小为64×64的情况下,通过分割而获得的各变换块可取32×32像素至4×4像素的大小。
各量化预测残差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)。
预测树中的分割的种类大致有内部预测的情况和外部预测的情况的两种。内部预测是同一图片内的预测,外部预测是指在相互不同的图片间(例如,显示时刻间、层图像间)进行的预测处理。即,在外部预测中,将与对象层相同层的参照图片(层内参照图片)或者对象层的参照层上的参照图片(层间参照图片)中的某一个作为参照图片,从参照图片上的解码图像生成预测图像。
在内部预测的情况下,分割方法有2N×2N(与编码单元相同的大小)和N×N。
此外,在外部预测的情况下,分割方法通过编码数据的part_mode进行编码,有2N×2N(与编码单元相同的大小)、2N×N、2N×nU、2N×nD、N×2N、nL×2N、nR×2N以及N×N等。另外,意味着N=2m(m为1以上的任意的整数)。此外,由于分割数为1、2、4中的某一个,所以在CU中包含的PU为1个至4个。将这些PU按顺序表现为PU0、PU1、PU2、PU3。
(预测参数)
预测单元的预测图像通过在预测单元上附带的预测参数而导出。在预测参数中,有内部预测的预测参数或者外部预测的预测参数。
内部预测参数是用于恢复关于各内部PU的内部预测(预测模式)的参数。在用于恢复预测模式的参数中,包括作为与MPM(最可能的模式(Most Probable Mode),以下相同)有关的标记的mpm_flag、作为用于选择MPM的索引的mpm_idx、以及作为用于指定MPM以外的预测模式的索引的rem_idx。这里,MPM是在对象分区中选择的可能性高的估计预测模式。例如,基于对对象分区的周边的分区分配的预测模式而估计的估计预测模式、一般发生概率高的DC模式或Planar模式可包含在MPM中。此外,以下,在简单记载为“预测模式”的情况下,只有没有特别说明则指亮度预测模式。关于色差预测模式,记载为“色差预测模式”,与亮度预测模式进行区分。此外,在恢复预测模式的参数中,包括作为用于指定色差预测模式的参数的chroma_mode。
外部预测参数由预测列表利用标记predFlagL0、predFlagL1、参照图片索引refIdxL0、refIdxL1、矢量mvL0、mvL1构成。预测列表利用标记predFlagL0、predFlagL1分别是表示是否使用被称为L0参照列表、L1参照列表的参照图片列表的标记,在值为1的情况下使用对应的参照图片列表。在使用2个参照图片列表的情况下,即predFlagL0=1、predFlagL1=1的情况对应于双预测,在使用1个参照图片列表的情况下,即(predFlagL0,predFlagL1)=(1,0)或者(predFlagL0,predFlagL1)=(0,1)的情况对应于单预测。
在用于导出在编码数据中包含的外部预测参数的语法要素中,例如有分割模式part_mode、合并标记merge_flag、合并索引merge_idx、外部预测识别符inter_pred_idc、参照图片索引refIdxLX、预测矢量索引mvp_LX_idx、差分矢量mvdLX。另外,预测列表利用标记的各值基于外部预测识别符如下导出。
predFlagL0=外部预测识别符&1
predFlagL1=外部预测识别符>>1
这里,“&”是逻辑与、“>>”是右移。
(参照图片列表的一例)
接着,说明参照图片列表的一例。参照图片列表是由在解码图片缓冲器中存储的参照图片构成的列。图11(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。refIdxL0的正下方的向下的箭头表示参照图片索引refIdxL0是在解码图片缓冲器中从参照图片列表RPL0参照参照图片Q0的索引。同样地,refIdxL1的正下方的向下的箭头表示参照图片索引refIdxL1是在解码图片缓冲器中从参照图片列表RPL1参照参照图片P3的索引。
(参照图片的例)
接着,说明在导出矢量时使用的参照图片的例。图11(b)是表示参照图片的例的概念图。在图11(b)中,横轴表示显示时刻,纵轴表示层数。图示的纵3行、横3列(共9个)的长方形分别表示图片。在9个长方形中,从下行的左起第2列的长方形表示解码对象的图片(对象图片),剩余的8个长方形分别表示参照图片。从对象图片以向下的箭头表示的参照图片Q2以及R2是与对象图片相同的显示时刻且层不同的图片。在以对象图片curPic(P2)作为基准的层间预测中,使用参照图片Q2或者R2。从对象图片以向左的箭头表示的参照图片P1是与对象图片相同的层且过去的图片。从对象图片以向右的箭头表示的参照图片P3是与对象图片相同的层且未来的图片。在以对象图片作为基准的移动预测中,使用参照图片P1或者P3。
(合并预测和AMVP预测)
在外部预测参数的解码(编码)方法中,有合并预测(merge)模式和AMVP(AdaptiveMotion Vector Prediction、自适应移动矢量预测)模式。合并标记merge_flag是用于识别这些的标记。在合并预测模式和AMVP模式中,都使用已经处理完毕的块的预测参数而导出对象PU的预测参数。合并预测模式是在编码数据中不包括预测列表利用标记predFlagLX(外部预测识别符inter_pred_idc)、参照图片索引refIdxLX、矢量mvLX,而是直接使用已经导出的预测参数的模式,AMVP模式是在编码数据中包括外部预测识别符inter_pred_idc、参照图片索引refIdxLX、矢量mvLX的模式。另外,矢量mvLX作为表示预测矢量的预测矢量索引mvp_LX_idx和差分矢量(mvdLX)进行编码。
外部预测识别符inter_pred_idc是表示参照图片的种类以及数目的数据,取Pred_L0、Pred_L1、Pred_Bi中的某一值。Pred_L0、Pred_L1表示使用在分别被称为L0参照列表、L1参照列表的参照图片列表中存储的参照图片,且都表示使用1张参照图片(单预测)。将使用了L0参照列表、L1参照列表的预测分别称为L0预测、L1预测。Pred_Bi表示使用2张参照图片(双预测),表示使用在L0参照列表和L1参照列表中存储的2个参照图片。预测矢量索引mvp_LX_idx是表示预测矢量的索引,参照图片索引refIdxLX是表示在参照图片列表中存储的参照图片的索引。另外,LX是在不区分L0预测和L1预测时使用的记述方法,通过将LX替换为L0、L1,区分对于L0参照列表的参数和对于L1参照列表的参数。例如,refIdxL0是用于L0预测的参照图片索引,refIdxL1是用于L1预测的参照图片索引,refIdx(refIdxLX)是在不区分refIdxL0和refIdxL1时使用的表述。
合并索引merge_idx是表示将在从完成了处理的块导出的预测参数候选(合并候选)中的哪一个预测参数用作解码对象块的预测参数的索引。
(移动矢量和位移矢量)
在矢量mvLX中,有移动矢量和位移矢量(disparity vector、视差矢量)。移动矢量是表示某层的某显示时刻的图片中的块的位置和不同的显示时刻(例如,相邻的离散时刻)的同一个层的图片中的对应的块的位置之间的位置的偏差的矢量。位移矢量是表示某层的某显示时刻的图片中的块的位置和同一个显示时刻的不同的层的图片中的对应的块的位置之间的位置的偏差的矢量。作为不同的层的图片,有同一分辨率且质量不同的图片的情况、不同的视点的图片的情况、或者不同的分辨率的图片的情况等。尤其,将与不同的视点的图片对应的位移矢量称为视差矢量。在以下的说明中,在不区分移动矢量和位移矢量的情况下,简称为矢量mvLX。将与矢量mvLX有关的预测矢量、差分矢量分别称为预测矢量mvpLX、差分矢量mvdLX。矢量mvLX以及差分矢量mvdLX是移动矢量或是位移矢量,使用在矢量上附带的参照图片索引refIdxLX来进行。
另外,以上说明的参数可以单独进行编码,也可以是多个参数复合地进行编码。在多个参数复合地进行编码的情况下,对该参数的值的组合分配索引,被分配的该索引进行编码。此外,若参数能够从其他参数或解码完毕的信息导出,则能够省略该参数的编码。
〔层次运动图像解码装置〕
以下,参照图19~图21说明本实施方式的层次运动图像解码装置1的结构。
(层次运动图像解码装置的结构)
说明本实施方式的层次运动图像解码装置1的结构。图19是表示本实施方式的层次动画解码装置1的结构的概略图。层次运动图像解码装置1基于在从外部提供的层次编码数据DATA中包含的作为解码对象的层集(层ID列表)、以及指定在作为解码对象的层上附带的子层的最高次时间层识别符,对从层次运动图像编码装置2提供的层次编码数据DATA进行解码,生成在对象层集中包含的各层的解码图像POUT#T。即,层次运动图像解码装置1将在对象层集中包含的、最低次的层ID至最高次的层ID,按照升序对各层的图片的编码数据进行解码,生成其解码图像(解码图片)。换言之,按照对象层集的层ID列表LayerSetLayerIdList[0]…LayerSetIdList[N-1](N为在对象层集中包含的层数)的顺序,对各层的图片的编码数据进行解码。
另外,以下,以对象层为将基本层作为参照层的扩展层来说明。因此,对象层也是对于参照层的上位层。相反地,参照层也是对于对象层的下位层。
如图19所示,层次运动图像解码装置1包括NAL解复用部11以及对象层集图片解码部10而构成。进一步,对象层集图片解码部10包括参数集解码部12、参数集管理部13、图片解码部14以及解码图片管理部15而构成。此外,NAL解复用部11具备未图示的比特流提取部17。
在层次编码数据DATA中,除了通过VCL而生成的NAL之外,还包括包含参数集(VPS、SPS、PPS)或SEI等的NAL。这些NAL相对于VCL NAL被称为非VCL NAL(non-VCL)。
NAL解复用部11具备的比特流提取部17基于从外部提供的作为解码对象的层集(层ID列表)以及最高次时间层识别符,进行比特流提取处理,从层次编码数据DATA中,去除(丢弃)在由最高次时间识别符(highest TemporalId,highestTid)、表示在对象层集中包含的层的层ID列表所确定的集合(称为目标集合)中不包括的NAL单元,提取由在目标集合中包含的NAL单元构成的对象层集编码数据DATA#T。
接着,NAL解复用部11对由比特流提取部17所提取的对象层集编码数据DATA#T进行解复用,参照在NAL单元中包含的NAL单元类型、层识别符(层ID)、时间识别符(时间ID),将在对象层集中包含的NAL单元提供给对象层集图片解码部10。
对象层集图片解码部10在被提供的对象层集编码数据DATA#T中包含的NAL中,将非VCL NAL提供给参数集解码部12,将VCL NAL提供给图片解码部14。即,对象层集图片解码部10对被提供的NAL单元的头部(NAL单元头部)进行解码,基于在进行了解码的NAL单元头部中包含的NAL单元类型、层识别符以及时间识别符,与进行了解码的NAL单元类型、层识别符以及时间识别符一同,将non-VCL的编码数据提供给参数集解码部12,将VCL的编码数据提供给图片解码部14。
参数集解码部12从被输入的非VCL NAL解码参数集、即VPS、SPS以及PPS,并提供给参数集管理部13。另外,关于参数集解码部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将后述的图片解码部14为了对图片进行解码而参照的参数集(有效参数集)的编码参数提供给图片解码部14。具体而言,首先,由在图片解码部14中进行了解码的片段头部SH中包含的有效PPS识别符(slice_pic_parameter_set_id)指定有效PPS。接着,由在所指定的有效PPS中包含的有效SPS识别符(pps_seq_parameter_set_id)指定有效SPS。最后,由在有效SPS中包含的有效VPS识别符(sps_video_parameter_set_id)指定有效VPS。之后,将所指定的有效PPS、有效SPS、有效VPS的编码参数提供给图片解码部14。另外,也将指定为了对图片进行解码而参照的参数集称为“激活参数集”。例如,将指定有效PPS、有效SPS、有效VPS分别称为“激活PPS”、“激活SPS”、“激活VPS”。
图片解码部14基于被输入的VCL NAL、有效参数集(有效PPS、有效SPS、有效VPS)以及参照图片,生成解码图片,并提供给解码图片管理部15。被提供的解码图片记录在解码图片管理部15内的缓冲器中。另外,图片解码部14的详细的说明在后面叙述。
解码图片管理部15将被输入的解码图片记录在内部的解码图片缓冲器(DPB:Decoded Picture Buffer)中,且进行参照图片列表生成或输出图片决定。此外,解码图片管理部15在预定的定时,将在DPB中记录的解码图片作为输出图片POUT#T向外部输出。
(参数集解码部12)
参数集解码部12从被输入的对象层集编码数据,解码在对象层集的解码中使用的参数集(VPS、SPS、PPS)。进行了解码的参数集的编码参数提供给参数集管理部13,按各参数集具有的每个识别符记录。
一般,参数集的解码基于既定的语法表而执行。即,根据语法表的确定的顺序从编码数据中读出比特串,对在语法表中包含的语法的语法值进行解码。此外,根据需要,也可以导出基于进行了解码的语法值而导出的变量,包含在要输出的参数集中。因此,从参数集解码部12输出的参数集也能够表现为在编码数据中包含的参数集(VPS、SPS、PPS)所涉及的语法的语法值、以及通过该语法值而导出的变量的集合。
以下,以在参数集解码部12中用于解码的语法表中、与本发明的关联性高的语法表为中心进行说明。
(视频参数集VPS)
视频参数集VPS是用于规定多个层共同的参数的参数集,作为用于识别各VPS的VPS识别符、层信息,包括最大层数信息、层集信息以及层间依赖信息。
VPS识别符是用于识别各VPS的识别符,作为语法“video_parameter_set_id”(图12的SYNVPS01)包含在VPS中。由在后述的SPS中包含的有效VPS识别符(sps_video_parameter_set_id)所确定的VPS在对象层集内的对象层的编码数据的解码处理时参照。
最大层数信息是表示层次编码数据内的最大层数的信息,作为语法“vps_max_layers_minus1”(图12的SYNVPS02)包含在VPS中。层次编码数据内的最大层数(以下,最大层数MaxNumLayers)被设定为(vps_max_layers_minus1+1)的值。另外,这里规定的最大层数是除了时间可伸缩性之外,与其他的可伸缩性(SNR可伸缩性、空间可伸缩性、视点可伸缩性等)有关的层的最大层数。
最大子层数信息是表示层次编码数据内的最大子层数的信息,作为语法“vps_max_sub_layers_minus1”(图12的SYNVPS03)包含在VPS中。层次编码数据内的最大子层数(以下,最大子层数MaxNumSubLayers)被设定为(vps_max_num_sub_layers_minus1+1)的值。另外,这里规定的最大子层数是与时间可伸缩性有关的层的最大层数。
最大层识别符信息是表示在层次编码数据内包含的最高次的层的层识别符(层ID)的信息,作为语法“vps_max_layer_id”(图12的SYNVPS04)包含在VPS中。换言之,是在层次编码数据内包含的、NAL单元的层ID(nuh_layer_id)的最大值。
层集数信息是表示在层次编码数据中包含的层集的总数的信息,作为语法“vps_num_layer_sets_minus1”(图12的SYNVPS05)包含在VPS中。层次编码数据内的层集数(以下,层集数NumLayerSets)被设定为(vps_num_layer_sets_minus1+1)的值。
层集信息是表示构成在层次编码数据中包含的层集的层的集合的列表(以下,层ID列表LayerSetLayerIdList),从VPS进行解码。在VPS中,包括表示层识别符的值为j(nuhLayerId=j)的层是否包含在第i个层集中的语法“layer_id_included_flag[i][j]”(图12的SYNVPS06),由具有该语法的值为1的层识别符的层构成层集。即,构成层集i的层j包含在层ID列表LayerSetLayerIdList[i]中。
VPS扩展数据有无标记“vps_extension_flag”(图12的SYNVPS07)是表示VPS是否进一步包括VPS扩展数据vps_extension()(图12的SYNVPS08)的标记。另外,在本说明书中记载为“表示是否为XX的标记”或者“XX的有无标记”的情况下,将1设为是XX的情况,将0设为不是XX的情况,在逻辑非、逻辑与等中,将1处理为真,将0处理为假(以下,相同)。但是,在实际的装置或方法中,也能够使用其他的值作为真值、假值。
层间依赖信息从在VPS中包含的VPS扩展数据(vps_extension())进行解码。关于在VPS扩展数据中包含的层间依赖信息,参照图13进行说明。图13表示在VPS扩展解码时参照的语法表的一部分、且涉及层间依赖信息的部分。
在VPS扩展数据(vps_extension())中,作为层间依赖信息,包括直接依赖标记“direct_dependency_flag[i][j]”(图13的SYNVPS0A)。直接依赖标记direct_dependency_flag[i][j]表示第i个层是否直接依赖第j个层,在直接依赖的情况下取1的值,在不直接依赖的情况下取0的值。这里,在第i个层直接依赖第j个层的情况下,意味着在以第i个层作为对象层执行解码处理的情况下,存在与第j个层有关的参数集、解码图片或关联的解码完毕语法由对象层直接参照的可能性。相反地,在第i个层不直接依赖第j个层的情况下,意味着在以第i个层作为对象层执行解码处理的情况下,与第j个层有关的参数集、解码图片或关联的解码完毕语法不会被直接参照。换言之,在第i个层的对于第j个层的直接依赖标记为1的情况下,第j个层可成为第i个层的直接的参照层。将对特定的层可成为直接的参照层的层的集合、即对应的直接依赖标记的值为1的层的集合称为直接依赖层集。另外,由于i=0、即第0个层(基本层)与第j个层(扩展层)没有直接的依赖关系,所以直接依赖标记“direct_depedency_flag[i][j]”的值为0,如图13的包括SYNVPS0A的i的循环从1开始所示,能够省略对于第0个层(基本层)的第j个层(扩展层)的直接依赖标记的解码/编码。
这里,通过后述的式导出表示对于第i个层(层识别符iNuhLId=nunLayerIdI)的直接参照层集的参照层ID列表RefLayerId[iNuhLId][]、以及表示作为第i个层的参照层的第j个层在直接参照层集中按照升序是第几个要素的直接参照层IDX列表DirectRefLayerIdx[iNuhLId][]。另外,参照层ID列表RefLayerId[][]是二维排列,在第1个排列的要素中,存储对象层(层i)的层识别符,在第2个排列的要素中,存储在直接参照层集中按照升序是第k个参照层的层识别符。另外,直接参照层IDX列表DirectRefLayerIdx[][]是二维排列,在第1个排列的要素中,存储对象层(层i)的层识别符,在第2个排列的要素中,存储表示层识别符在直接参照层集中按照升序是第几个要素的索引(直接参照层IDX)。
上述的参照层ID列表以及直接参照层IDX列表通过以下的伪码导出。另外,第i个层的层识别符nuhLayerId在VPS上通过“layer_id_in_nuh[i]”(图13中未图示)的语法表示。以后,为了缩短第i个层的层识别符“layer_id_in_nuh[i]”的表述,表述为“nuhLId#i”。若是layer_id_in_nuh[j],则是“nuhLId#j”。此外,排列NumDirectRefLayers[]表示层识别符iNuhLId的层参照的直接参照层数。
(参照层ID列表以及直接参照层IDX列表的导出)
参照层ID列表以及直接参照层IDX列表的导出通过以下的伪码执行。
for(i=0;i<vps_max_layers_minus1+1;i++){
iNuhLId=nuhLId#i;
NumDirectRefLayers[iNuhLId]=0;
for(j=0;j<i;j++){
if(direct_dependency_flag[i][j]){
RefLayerId[iNuhLId][NumDirectRefLayers[iNuhLId]]=nuhLId#j;
NumDirectRefLayers[iNuhLId]++;
DirectRefLayerIdx[iNuhLId][nuhLId#j]=NumDirectRefLayers[iNuhLId]-1;
}
}//end of loop on for(j=0;j<i;i++)
}//end of loop on for(i=0;i<vps_max_layers_minus1+1;i++)
另外,若将上述伪码用步骤来表示,则如下所述。
(SL01)是涉及与第i个层有关的参照层ID列表以及直接参照层IDX列表的导出的循环的开始点。在循环的开始前,变量i被初始化为0。循环内的处理在变量i小于层数“vps_max_layers_minus1+1”时执行,在循环内的处理每执行1次时,变量i被加“1”。
(SL02)对变量iNuhLid设定第i个层的层识别符nuhLID#i。进一步,将层识别符nuhLID#i的直接参照层数NumDirectRefLyaers[iNuhLID]设定为0。(SL03)第j个层是涉及向与第i个层有关的参照层ID列表以及直接参照层IDX列表追加要素的循环的开始点。在循环的开始前,变量j被初始化为0。循环内的处理在变量j(第j个层)小于第i个层(j<i)时执行,在循环内的处理每执行1次时,变量j被加“1”。
(SL04)判定对于第i个层的第j个层的直接依赖标记(direct_dependency_flag[i][j])。若直接依赖标记为1,则为了执行步骤SL05~SL07的处理,转移到步骤SL05。若直接依赖标记为0,则省略步骤SL05~SL07的处理,转移到SL0A。
(SL05)对参照层ID列表RefLayerId[iNuhLId][]的第NumDirectRefLayers[iNuhLId]个要素,设定层识别符nuhLID#j。
即,RefLayerId[iNuhLId][NumDirectRefLayers[iNuhLId]]=nuhLId#j;
(SL06)将直接参照层数NumDirectRefLayers[iNuhLId]的值加“1”。即,NumDirectRefLayers[iNuhLId]++;
(SL07)对直接参照层IDX列表DirectRefLayerIdx[iNuhLid][]的第nuhLId#j个要素,设定“直接参照层数-1”的值作为直接参照层索引(直接参照层IDX)。即,
DirectRefLayerIdx[iNuhLId][nuhLId#j]=NumDirectRefLayers[iNuhLId]-1;
(SL0A)第j个层是涉及向与第i个层有关的参照层ID列表以及直接参照层IDX列表追加要素的循环的终端。
(SL0B)是涉及第i个层的参照层ID列表以及直接参照层IDX列表的导出的循环的终端。
通过利用以上说明的参照层ID列表以及直接参照层IDX列表,能够掌握在直接参照层集中第k个层的层ID在全层中是第几个要素(直接参照层IDX),反过来,能够掌握直接参照层IDX在直接参照层集中是第几个要素。另外,导出的顺序并不限定于上述步骤,也可以在可实施的范围内进行变更。
(间接依赖标记、依赖标记的导出)
这里,表示第i个层是否间接依赖第j个层(第j个层是否为第i个层的间接参照层)的依赖关系的间接依赖标记(IndirectDependencyFlag[i][j])能够参照直接依赖标记(direct_dependency_flag[i][j]),通过后述的伪码导出。同样地,表示第i个层是直接依赖第j个层(在直接依赖标记为1的情况下,第j个层也称为第i个层的直接参照层)还是间接依赖第j个层(在间接依赖标记为1的情况下,第j个层也称为第i个层的间接参照层)的依赖关系的依赖标记(DependencyFlag[i][j])能够参照直接依赖标记(direct_dependency_flag[i][j])以及上述间接依赖标记(IndirectDepdendencyFlag[i][j]),通过后述的伪码导出。这里,参照图31说明间接参照层。在图31中,层数为N+1,第j个层(图31上的L#j,称为层j)是比第i个层(图31上的L#i,称为层i)下位的层(j<i)。此外,设为有比层j上位且比层i下位的层k(图31上,L#k)(j<k<i)。在图31中,层k直接依赖层j(图31上的实线的箭头,层j是层k的直接参照层,direct_dependency_flag[k][j]==1),层i直接依赖层k(层k是层j的直接参照层,direct_dependency_flag[i][k]==1)。此时,由于层i经由层k间接依赖层j(图31上的虚线的箭头),所以层j称为层i的间接参照层。此外,在图31的例中,层j直接依赖层1(图31上的L#1),层1直接依赖层0(图31上的L#0,基本层)。此时,由于层i经由层k、层j间接依赖层1,所以层1是层i的间接参照层。此外,由于层i经由层k、层j、层1间接依赖层0,所以层0是层i的间接参照层。换言之,在层i经由1个或者多个层k(i<k<j)间接依赖层j的情况下,层j是层i的间接参照层。
另外,间接依赖标记IndirectDependencyFlag[i][j]表示第i个层是否间接依赖第j个层,在间接依赖的情况下取1的值,在不间接依赖的情况下取0的值。这里,在第i个层间接依赖第j个层的情况下,意味着在以第i个层作为对象层执行解码处理的情况下,存在与第j个层有关的参数集、解码图片或关联的解码完毕语法由对象层间接参照的可能性。相反地,在第i个层不间接依赖第j个层的情况下,意味着在以第i个层作为对象层执行解码处理的情况下,与第j个层有关的参数集、解码图片或关联的解码完毕语法不会被间接参照。换言之,在第i个层的对于第j个层的间接依赖标记为1的情况下,第j个层可成为第i个层的间接的参照层。将对特定的层可成为间接的参照层的层的集合、即对应的间接依赖标记的值为1的层的集合称为间接依赖层集。另外,由于i=0、即第0个层(基本层)与第j个层(扩展层)没有间接的依赖关系,所以间接依赖标记“IndirecctDepedencyFlag[i][j]”的值为0,能够省略对于第0个层(基本层)的第j个层(扩展层)的间接依赖标记的导出。
此外,依赖标记DependencyFlag[i][j]表示第i个层是否依赖第j个层,在依赖的情况下取1的值,在不依赖的情况下取0的值。另外,关于与依赖标记DependencyFlag[i][j]关联的参照或依赖,只要没有特别提及,则包括直接和间接(直接参照、间接参照、直接依赖、间接依赖)的双方。这里,在第i个层依赖第j个层的情况下,意味着在以第i个层作为对象层执行解码处理的情况下,存在与第j个层有关的参数集、解码图片或关联的解码完毕语法由对象层参照的可能性。相反地,在第i个层不依赖第j个层的情况下,意味着在以第i个层作为对象层执行解码处理的情况下,与第j个层有关的参数集、解码图片或关联的解码完毕语法不会被参照。换言之,在第i个层的对于第j个层的依赖标记为1的情况下,第j个层可成为第i个层的直接参照层或者间接参照层。将对特定的层可成为直接参照层或者间接参照层的层的集合、即对应的依赖标记的值为1的层的集合称为依赖层集。另外,由于i=0、即第0个层(基本层)与第j个层(扩展层)没有依赖关系,所以依赖标记“DepedencyFlag[i][j]”的值为0,能够省略对于第0个层(基本层)的第j个层(扩展层)的依赖标记的导出。
(伪码)
for(i=0;i<vps_max_layers_minus1+1;i++){
for(j=0;j<i;j++){
IndirectDependencyFlag[i][j]=0;
DependencyFlag[i][j]=0;
for(k=j+1;k<i;k++){
if(direct_dependency_flag[k][j]&&
direct_dependency_flag[i][k]&&
!direct_dependency_flag[i][j]){
IndirectDependencyFlag[i][j]=1;
}
}
DependencyFlag[i][j]=
(direct_dependency_flag[i][j]|IndirectDependencyFlag[i][j]);
}//end of loop on for(j=0;j<i;i++)
}//end of loop on for(i=0;i<vps_max_layers_minus1+1;i++)
另外,若将上述伪码用步骤来表示,则如下所述。
(SN01)是涉及与第i个层有关的间接依赖标记以及依赖标记的导出的循环的开始点。在循环的开始前,变量i被初始化为0。循环内的处理在变量i小于层数“vps_max_layers_minus1+1”时执行,在循环内的处理每执行1次时,变量i被加“1”。
(SN02)是涉及与第i个层和第j个层有关的间接依赖标记以及依赖标记的导出的循环的开始点。在循环的开始前,变量i被初始化为0。循环内的处理在变量j(第j个层)小于第i个层(j<i)时执行,在循环内的处理每执行1次时,变量j被加“1”。
(SN03)将间接依赖标记IndirectDependencyFlag[i][]的第j个要素的值设定为0,将依赖标记DependencyFlag[i][]的第j个要素的值设定为0。即,IndirectDependencyFlag[i][j]=0、DependencyFlag[i][j]=0。
(SN04)是用于探索对于第i个层的第j个层是否为间接参照层的循环的开始点。在循环的开始前,变量k被初始化为“j+1”。循环内的处理在变量k的值小于变量i时执行,在循环内的处理每执行1次时,变量k被加“1”。
(SN05)为了判定第j个层是否为第i个层的间接参照层,判定以下的(1)~(3)的条件。
(1)判定第j个层是否为第k个层的直接参照层。具体而言,若对于第k个层的第j个层的直接依赖标记(direct_dependency_flag[k][j])为1,则判定为真(是直接参照层),若直接依赖标记为0(不是直接参照层),则判定为假。
(2)判定第k个层是否为第i个层的直接参照层。具体而言,若对于第i个层的第k个层的直接依赖标记(direct_dependency_flag[i][k])为1,则判定为真(是直接参照层),若直接依赖标记为0(不是直接参照层),则判定为假。
(3)判定第j个层不是第i个层的直接参照层。具体而言,若对于第i个层的第j个层的直接依赖标记(direct_dependency_flag[i][j])为0(不是直接参照层),则判定为真,若直接依赖标记为1(是直接参照层),则判定为假。
在上述(1)~(3)的条件全部为真的情况下(即,对于第k个层的第j个层的直接依赖标记direct_dependency_flag[k][j]为1、且对于第i个层的第k个层的直接依赖标记direct_dependency_flag[i][k]为1、且对于第i个层的第j个层的直接依赖标记direct_dependency_flag[i][j]为0),转移到步骤SN06。在除此以外的情况下(在上述(1)~(3)中的至少一个为假的情况下,即,对于第k个层的第j个层的直接依赖标记direct_dependency_flag[k][j]为0,或者对于第i个层的第k个层的直接依赖标记direct_dependency_flag[i][k]为0,或者对于第i个层的第j个层的直接依赖标记direct_dependency_flag[i][j]为1),省略步骤SN06的处理,转移到步骤SN07。
(SN06)在上述(1)~(3)的条件全部为真的情况下,判断为对于第i个层的第j个层是间接参照层,将间接依赖标记IndirectDependencyFlag[i][]的第j个要素的值设定为1。即,IndirectDependencyFlag[i][j]=1。
(SN07)是用于探索对于第i个层的第j个层是否为间接参照层的循环的终端。
(SN08)基于直接依赖标记(direct_dependency_flag[i][j])以及间接依赖标记(IndirectDependencyFlag[i][j]),设定依赖标记(DependencyFlag[i][j])的值。具体而言,将直接依赖标记(direct_dependency_flag[i][j])的值和间接依赖标记(direct_dependency_flag[i][j])的值的逻辑和的值设为依赖标记(DependencyFlag[i][j])的值。即,通过以下的式导出。若直接依赖标记的值为1或者间接依赖标记的值为1,则依赖标记的值成为1。在除此以外的情况下(直接依赖标记的值为0、且间接依赖标记的值为0),依赖标记的值成为0。另外,下述导出式是一例,在对依赖标记设定的值成为相同的范围内能够进行变更。
DependencyFlag[i][j]=
(direct_dependency_flag[i][j]|IndirectDependencyFlag[i][j]);
(SN0A))是涉及与第i个层和第j个层有关的间接依赖标记以及依赖标记的导出的循环的终端。
(SN0B)是涉及与第i个层有关的间接依赖标记以及依赖标记的导出的循环的终端。
如以上所说明,通过导出表示在第i个层间接依赖第j个层的情况下的依赖关系的间接依赖标记(IndirectDependencyFlag[i][j]),能够掌握第j个层是否为第i个层的间接参照层。此外,通过导出表示在第i个层依赖第j个层的情况下(直接依赖标记为1或者间接依赖标记为1的情况下)的依赖关系的依赖标记(DependencyFlag[i][j]),能够掌握第j个层是否为第i个层的直接参照层或者间接参照层。另外,导出的顺序并不限定于上述步骤,也可以在可实施的范围内进行变更。例如,间接依赖标记、依赖标记的导出也可以通过以下的伪码导出。
(伪码)
//derive indirect reference layers of layer i
for(i=2;i<vps_max_layers_minus1+1;i++){
for(k=1;k<i;k++){
for(j=0;j<k;j++){
if((direct_dependency_flag[k][j]||IndirectDependencyFlag[k][j])
direct_dependency_flag[i][k]&&
!direct_dependency_flag[i][j]){
IndirectDependencyFlag[i][j]=1;
}
}//end of loop on for(j=0;j<k;j++)
}//end of loop on for(k=1;k<i;k++)
}//end of loop on for(i=2;i<vps_max_layers_minus1+1;i++)
//derive dependent layers(direct or indirect reference layers)oflayer i
for(i=0;i<vps_max_layers_minus1+1;i++){
for(j=0;j<i;j++){
DependencyFlag[i][j]=
(direct_dependency_flag[i][j]|IndirectDependencyFlag[i][j]);
}//end of loop on for(j=0;j<i;i++)
}//end of loop on for(i=0;i<vps_max_layers_minus1+1;i++)
另外,若将上述伪码用步骤来表示,则如下所述。另外,设为在步骤SO01的开始前,间接依赖标记IndirectDependencyFlag[][]以及依赖标记DependencyFlga[][]的全部要素的值已使用0来完成了初始化。
(SO01)是涉及与第i个层(层i)有关的间接依赖标记的导出的循环的开始点。在循环的开始前,变量i被初始化为2。循环内的处理在变量i小于层数“vps_max_layers_minus1+1”时执行,在循环内的处理每执行1次时,变量i被加“1”。另外,将变量i从2开始是因为发生间接参照层的层数为3层以上。
(SO02)是与作为第i个层(层i)的下位层且第j个层(层j)的上位层的第k个层(层k)(j<k<i)有关的循环的开始点。在循环的开始前,变量i被初始化为1。循环内的处理在变量k(层k)小于层i(k<i)时执行,在循环内的处理每执行1次时,变量k被加“1”。另外,将变量k从1开始是因为发生间接参照层的层数为3层以上。
(SO03)是探索层j是否为层i的间接参照层的循环开始点。在循环的开始前,变量j被初始化为0。循环内的处理在变量j(层j)小于层k(j<k)时执行,在循环内的处理每执行1次时,变量j被加“1”。
(SO04)为了判定层j是否为层i的间接参照层,判定以下的(1)~(3)的条件。
(1)判定层j是否为层k的直接参照层或者间接参照层。具体而言,若对于层k的层j的直接依赖标记(direct_dependency_flag[k][j])为1或者对于层k的层j的间接依赖标记(IndirectDependencyFlag[k][j])为1,则判定为真(是直接参照层或者间接参照层)。此外,若直接依赖标记为0(不是直接参照层)、且间接依赖标记为0(不是间接参照层),则判定为假。
(2)判定层k是否为层i的直接参照层。具体而言,若对于层i的层k的直接依赖标记(direct_dependency_flag[i][k])为1,则判定为真(是直接参照层),若直接依赖标记为0(不是直接参照层),则判定为假。
(3)判定层j不是层i的直接参照层。具体而言,若对于层i的层j的直接依赖标记(direct_dependency_flag[i][j])为0(不是直接参照层),则判定为真,若直接依赖标记为1(是直接参照层),则判定为假。
在上述(1)~(3)的条件全部为真的情况下(即,(对于层k的层j的直接依赖标记为1或者间接依赖标记为1)、且对于层i的层的直接依赖标记direct_dependency_flag[i][k]为1、且对于层i的层的直接依赖标记direct_dependency_flag[i][j]为0),转移到步骤SN06。在除此以外的情况下(在上述(1)~(3)中的至少一个为假的情况下,即,对于层k的层j的直接依赖标记为0且间接依赖标记为0),或者对于层i的层的直接依赖标记direct_dependency_flag[i][k]为0,或者对于层i的层的直接依赖标记direct_dependency_flag[i][j]为1),省略步骤SO05的处理,转移到步骤SO06。
(SO05)在上述(1)~(3)的条件全部为真的情况下,判断为层j是层i的间接参照层,将间接依赖标记IndirectDependencyFlag[i][]的第j个要素的值设定为1。即,IndirectDependencyFlag[i][j]=1。
(SO06)是探索层j是否为层i的间接参照层的循环的终端。
(SO07)是与作为层i的下位层且层j的上位层的层k(j<k<i)有关的循环的终端。
(SO08)是涉及与层i有关的间接依赖标记的导出的循环的终端。
(S00A)是涉及与层i有关的依赖标记的导出的循环的开始点。在循环的开始前,变量i被初始化为0。循环内的处理在变量i小于层数“vps_max_layers_minus1+1”时执行,在循环内的处理每执行1次时,变量i被加“1”。
(S00B)是探索层j是否为层i的依赖层(直接参照层或者间接参照层)的循环的开始点。在循环的开始前,变量j被初始化为0。循环内的处理在变量j小于变量i(j<i)时执行,在循环内的处理每执行1次时,变量j被加“1”。
(S00C)基于直接依赖标记(direct_dependency_flag[i][j])以及间接依赖标记(IndirectDependencyFlag[i][j]),设定依赖标记(DependencyFlag[i][j])的值。具体而言,将直接依赖标记(direct_dependency_flag[i][j])的值和间接依赖标记(direct_dependency_flag[i][j])的值的逻辑和的值设为依赖标记(DependencyFlag[i][j])的值。即,通过以下的式导出。若直接依赖标记的值为1或者间接依赖标记的值为1,则依赖标记的值成为1。在除此以外的情况下(直接依赖标记的值为0、且间接依赖标记的值为0),依赖标记的值成为0。另外,下述导出式是一例,在对依赖标记设定的值成为相同的范围内能够进行变更。
DependencyFlag[i][j]=
(direct_dependency_flag[i][j]|IndirectDependencyFlag[i][j]);
(S00D)是探索层j是否为层i的依赖层(直接参照层或者间接参照层)的循环的终端。
(S00E)是涉及与层i有关的依赖标记的导出的循环的终端。
如以上所说明,通过导出表示在层i间接依赖层j的情况下的依赖关系的间接依赖标记(IndirectDependencyFlag[i][j]),能够掌握层j是否为层i的间接参照层。此外,通过导出表示在层i依赖层j的情况下(直接依赖标记为1或者间接依赖标记为1的情况下)的依赖关系的依赖标记(DependencyFlag[i][j]),能够掌握层j是否为层i的依赖层(直接参照层或者间接参照层)。另外,导出的顺序并不限定于上述步骤,也可以在可实施的范围内进行变更。
此外,在上述的例中,对全层内的索引i和j导出表示对于第i个层的第j个层是否为直接参照层或者间接参照层的依赖标记DipendecyFlag[i][j],但也可以作为第i个层的层识别符nuhLId#i以及第j个层的层识别符nuhLId#j,导出层识别符间的依赖标记(层识别符间依赖标记)LIdDipendencyFlag[][]。此时,在上述步骤SN08中,将层识别符间依赖标记(LIdDependencyFlag[][])的第1个要素作为第i个层的层识别符nuhLId#i,将第2个要素作为第j个层的层识别符nuhLId#j,导出层识别符间依赖标记(LIdDependencyFlag[nuhLId#i][nuhLId#j])的值。即,如以下的式所示,若直接依赖标记的值为1或者间接依赖标记的值为1,则层识别符间依赖标记的值成为1。在除此以外的情况下(直接依赖标记的值为0、且间接依赖标记的值为0),层识别符间依赖标记的值成为0。
LIdDependencyFlag[nuhLId#i][nuhLId#j]=
(direct_dependency_flag[i][j]|IndirectDependencyFlag[i][j]);
如以上所说明,通过导出表示层识别符nuhLId#i的第i个层是否直接或者间接依赖层识别符nuhLId#j的第j个层的层识别符间依赖标记(Lid0DependencyFlag[nuhLId#i][nuhLId#j]),能够掌握层识别符nuhLId#j的第j个层是否为层识别符nuhLId#i的第i个层的直接参照层或者间接参照层。另外,上述顺序并不限定于此,也可以在可实施的范围内进行变更。
此外,在层间依赖信息中,包括表示后述的层依赖类型(direct_dependency_type[i][j])比特长M的语法“direct_dependency_len_minusN”(层依赖类型比特长)(图13的SYNVPS0C)。这里,N是由层依赖类型的种类的总数所确定的值,至少为2以上的整数。另外,比特长M的最大值例如为32,若设为N=2,则direct_dependency_type[i][j]的值域为0至(2^32-2)。更一般而言,若通过比特长M以及由层依赖类型的总数所确定的N来表示,则direct_dependency_type[i][j]的值域为0至(2^M-N)。
在层间依赖信息中,包括表示示出第i个层和第j个层间的参照关系的层依赖类型的语法“direct_dependency_type[i][j]”(图13的SYNVPS0D)。具体而言,在直接依赖标记direct_dependency_flag[i][j]为1的情况下,通过层依赖类型(DirectDepType[i][j]=direct_dependency_type[i][j]+1)的各比特值来表示作为对于第i个层的参照层的第j个层的层依赖类型的类别的有无标记。例如,在层依赖类型的类别的有无标记中,有层间图像预测的有无标记(SamplePredEnabledFlag;层间图像预测有无标记)、层间移动预测的有无标记(MotionPredEnabledFlag;层间移动预测有无标记)、non-VCL的依赖的有无标记(NonVCLDepEnabledFlag;non-VCL依赖有无标记)。另外,non-VCL的依赖有无标记表示与在non-VCL NAL单元中包含的头部信息(SPS或PPS等的参数集)有关的层间的依赖关系的有无。例如,包括后述的层间的参数集的共享(共享参数集)的有无、层间的参数集内的一部分的语法预测(例如,比例表信息(量化矩阵)等)(也称为参数集间语法预测或者参数集间预测)的有无。另外,通过语法“direct_dependency_type[i][j]”进行编码的值在图14的例中为层依赖类型的值-1,即“DirectDepType[i][j]-1”的值。
这里,图14(a)表示本实施方式的层依赖类型的值(DirectDepType[i][j]=direct_dependency_type[i][j]+1)和层依赖类型的类别的对应关系的一例。如图14(a)所示,层依赖类型的最下位比特(0比特)的值表示层间图像预测的有无,从最下位比特起第1个比特的值表示层间移动预测的有无,从最下位比特起第(N-1)个比特的值表示non-VCL的依赖的有无。另外,从最下位比特起第N个比特至最上位比特(第M-1个比特)的各比特是依赖类型的扩展用比特。
对于对象层i(层识别符iNuhLId=nunLayerIdI)的参照层j的各层依赖类型的有无标记通过以下式导出。
SamplePredEnabledFlag[iNuhLId][j]=((direct_dependency_type[i][j]+1)&1);
MotionPredEnabledFlag[iNuhLId][j]=((direct_dependency_type[i][j]+1)&2)>>1;
NonVCLDepEnabledFlag[iNuhLid][j]=
((direct_dependency_type[i][j]+1)&(1<<(N-1)))>>(N-1);
或者,也能够代替(direct_dependency_type[i][j]+1),使用变量DirectDepType[i][j],通过以下式表现。
SamplePredEnabledFlag[iNuhLId][j]=((DirectDepType[i][j])&1);
MotionPredEnabledFlag[iNuhLId][j]=((DirectDepType[i][j])&2)>>1;
NonVCLDepEnabledFlag[iNuhLid][j]=
((DirectDepType[i][j])&(1<<(N-1)))>>(N-1);
另外,在图14(a)的例中,将第(N-1)个比特设为non-VCL依赖类型(non-VCL依赖有无标记),但并不限定于此。例如,也可以设为N=3,将从最下位比特起第2比特设为表示non-VCL的依赖类型的有无的比特。此外,表示各依赖类型的有无标记的比特位置也可以在可实施的范围内进行变更。另外,上述各有无标记的导出也可以在前述的(参照层ID列表以及直接参照层IDX列表的导出)中,作为步骤SL08而执行并导出。另外,导出的顺序并不限定于上述步骤,也可以在可实施的范围内进行变更。
此外,也能够基于上述non-VCL依赖有无标记来导出non-VCL依赖层集(non-VCL依赖层ID列表NonVCLDepRefLayerId[iNuh][]以及直接non-VCL依赖层IDX列表DirectNonVCLDepRefLayerIdX[iNuh][])作为第i个层的直接参照层集的子集。这里,non-VCL依赖层ID列表NonVCLDepRefLayerId[][]是二维排列,在第1个排列的要素中,存储对象层(层i)的层识别符,在第2个排列的要素中,存储在直接参照层集中non-VCL依赖有无标记为1的第k个参照层的层识别符。此外,直接non-VCL依赖层IDX列表DirectNonVCLDepRefLayerId[][]是二维排列,在第1个排列的要素中,存储对象层(层i)的层识别符,在第2个排列的要素中,存储non-VCL依赖有无标记为1且表示层识别符在non-VCL依赖层集中按照升序是第几个要素的索引(直接non-VCL依赖层IDX)。
另外,基本上,在non-VCL的NAL单元内,对图片的解码具有依赖性的non-VCL NAL单元是参数集。即,在non-VCL的NAL单元内,作为辅助信息的SEI或表示流的段落的AUD、EOS、EOB对图片的解码动作本身不会产生影响。因此,在上述中,为了更一般的定义,导入了表示对于non-VCL的依赖性的标记,但也可以代替表示对于non-VCL的依赖性的标记,更直接地定义表示对于参数集的依赖性的标记。在作为表示对于参数集的依赖性的标记来定义的情况下,对于direct_dependency_type[][]的分配也与对于non-VCL的依赖性的情况相等,处理也相同(以下,相同)。另外,在作为对于参数集的依赖性来定义的情况下,导出的列表名也从NonVCLDepRefLayerId设为ParameterSetDepRefLayerId等即可。
(non-VCL依赖层ID列表、直接non-VCL依赖层IDX列表的导出)
non-VCL依赖层ID列表的导出通过以下的伪码执行。
for(i=1;i<vps_max_layers_minus1+1;i++){
iNuhLId=nuhLId#i;
NumNonVCLDepRefLayers[iNuhLId]=0;
for(j=0;j<i;j++){
if(NonVCLDepEnabledFlag[i][j]){
NonVCLDepRefLayerId[iNuhLId][NumNonVCLDepRefLayers[iNu hLId]]=nuhLId#j;
NumNonVCLDepRefLayers[iNuhLId]++;
DirectNonVCLDepRefLayerIdx[iNuhLId][nuhLId#j]=
NumNonVCLDepRefLayers[iNuhLId]-1;
}
}//end of loop on for(j=0;j<i;i++)
}//end of loop on for(i=1;i<vps_max_layers_minus1+1;i++)
另外,若将上述伪码用步骤来表示,则如下所述。
(SN01)是涉及与第i个层有关的non-VCL依赖层ID列表以及直接non-VCL层IDX列表的导出的循环的开始点。在循环的开始前,变量i被初始化为0。循环内的处理在变量i为1以上且小于层数“vps_max_layers_minus1+1”时执行,在循环内的处理每执行1次时,变量i被加“1”。在变量i=0的情况下,由于是基本层,所以没有与扩展层的依赖,所以省略处理。
(SN02)对变量iNuhLid设定第i个层的层识别符nuhLID#i。进一步,将层识别符nuhLID#i的直接non-VCL依赖层数NumDirectNonVCLDepRefLyaers[iNuhLID]设定为0。
(SN03)第j个层是涉及向与第i个层有关的non-VCL依赖层ID列表以及直接non-VCL依赖层IDX列表追加要素的循环的开始点。在循环的开始前,变量j被初始化为0。循环内的处理在变量i小于第i个层-1“i-1”时执行,在循环内的处理每执行1次时,变量j被加“1”。(SN04)判定对于第i个层的第j个层的non-VCL依赖有无标记(NonVCLDepEnabledFlag[i][j])。若non-VCL依赖有无标记为1,则为了执行步骤SN05~SN0X的处理,转移到步骤SN05。若non-VCL依赖标记为0,则省略步骤SN05~SN07的处理,转移到SN0A。
(SN05)对non-VCL依赖层ID列表NonVCLDepRefLayerId[iNuhLId][]的第NumDirectNonVCLDepRefLayers[iNuhLId]个要素,设定层识别符nuhLID#j。
即,NonVCLDepRefLayerId[iNuhLId][NumDirectNonVCLDepRefLayers[iNuhLId]]=nuhLId#j;
(SN06)将直接non-VCL依赖层数NumDirectNonVCLDepRefLyaers[iNuhLId]的值加“1”。即,NumDirectNonVCLDepRefLayers[iNuhLId]++;
(SN07)对直接non-VCL依赖层IDX列表DirectNonVCLDepRefLyaerIdX[iNuhLid][]的第nuhLId#j个要素设定“直接non-VCL依赖层数-1”的值作为直接non-VCL依赖层IDX。即,
DirectNonVCLDepRefLayerIdX[iNuhLId][nuhLId#j]=
NumDirectNonVCLDepRefLayers[iNuhLId]-1;
(SN0A)第j个层是涉及向与第i个层有关的non-VCL依赖层ID列表以及直接non-VCL依赖层IDX列表追加要素的循环的终端。
(SN0B)是涉及第i个层的non-VCL依赖层ID列表以及直接non-VCL依赖层IDX列表的导出的循环的终端。
另外,在变量i=0的情况下,直接non-VCL依赖层数NumDirectNonVCLDepRefLyaers[0]的值为0,即“NumDirectNonVCLDepRefLyaers[0]=0”。
通过利用以上说明的non-VCL依赖层ID列表以及直接non-VCL层IDX列表,能够掌握在直接参照层集中non-VCL依赖有无标记为1的第k个层的层ID在全层中是第几个要素(直接non-VCL依赖层IDX),反过来,能够掌握non-VCL依赖有无标记为1的直接non-VCL依赖层IDX在直接参照层集中是第几个要素。另外,导出的顺序并不限定于上述步骤,也可以在可实施的范围内进行变更。
(non-VCL依赖类型的效果)
以上,在本实施例中,作为层依赖类型,除了VCL间的依赖类型(层间图像预测或层间移动预测)之外,新导入表示non-VCL间的依赖类型的有无的non-VCL依赖类型。在non-VCL间的依赖中,包括不同的层间的参数集的共享(共享参数集)、不同的层间的参数集间的语法的一部分的预测(参数集间语法预测)。
通过显式地通知non-VCL依赖类型的有无(non-VCL依赖类型),起到解码器能够通过对VPS扩展数据进行解码而掌握层集内的哪一个层成为对象层的non-VCL的依赖层(non-VCL依赖层)的效果。即,由于能够在开始对VPS以外的non-VCL进行解码前掌握层识别符的值为nuhLayerIdA的层A的non-VCL是否从与nuhLayerIdA不同的层识别符nuhLayerIdB的层B参照,所以在只对某层ID(或者层集)的编码数据进行解码或者提取的情况下,能够掌握应对哪个层ID的non-VCL进行解码、提取。即,能够解除在现有技术中的如下课题:由于在编码数据的解码开始时刻不清楚层识别符的值为nuhLayerIdA的层A的参数集与哪个层共同利用(应用共享参数集),所以在只对某层ID(或者层集)的编码数据进行解码或者提取的情况下,不清楚应对哪个层ID的参数集进行解码、提取。
同样地,基于non-VCL依赖类型,能够掌握层识别符nuhLayerIdA的层A的参数集是否从与nuhLayerIdA不同的层识别符nuhLayerIdB的层B参照。换言之,基于non-VCL依赖类型,能够掌握层识别符nuhLayerIdA的层A的参数集是否从与nuhLayerIdA不同的层识别符nuhLayerIdB的层B作为共享参数集而参照。同样地,能够掌握层识别符nuhLayerIdA的层A的参数集是否在来自与nuhLayerIdA不同的层识别符nuhLayerIdB的层B的参数集间预测中参照。
(涉及non-VCL依赖类型的比特流限制)
此外,通过导入non-VCL间的依赖类型的有无,在解码器和编码器间能够显式地示出以下的比特流限制。这里,比特流一致性(Bitstream conformance)是层次运动图像解码装置(这里是本发明的实施方式的层次运动图像解码装置)要进行解码的比特流需要满足的条件。
即,作为比特流一致性,比特流必须满足以下的条件CX1。
CX1:“当层识别符nuhLayerIdA的non-VCL为在层识别符nuhLayerIdB的层中利用的non-VCL时,层识别符nuhLayerIdA的层是层识别符nuhLayerIdB的直接参照层、且non-VCL依赖有无标记为1”
另外,CX1的条件也能够换作如以下的条件CX1’。
CX1’:“当具有等于nuhLayerIdA的层识别符nuh_layer_id的non-VCL为在具有等于nuhLayerIdB的层识别符nuh_layer_id的层中利用(参照)的non-VCL时,等于nuhLayerIdA的层识别符nuh_layer_id的层是等于nuhLayerIdB的层识别符nuh_layer_id的层的直接参照层、且non-VCL依赖有无标记为1”
上述比特流限制CX1换言之对象层可参照的层的non-VCL是具有对于对象层的直接参照层的层识别符的non-VCL。
“对象层可参照的层的non-VCL是具有对于对象层的直接参照层的层识别符的non-VCL”意味着禁止“作为层集A的子集的层集B内的层参照‘包含在层集A中但不包含在层集B中’的层的non-VCL”。
即,在从层集A中将作为子集的层集B进行比特流提取时,由于能够禁止“作为层集A的子集的层集B内的层参照‘包含在层集A中但不包含在层集B中’的层的non-VCL”,所以在层集B中包含的层参照的不同的层的non-VCL不会被丢弃。因此,能够解除在通过比特流提取而生成的子比特流中参照不同的层的non-VCL的层无法进行解码的问题。
进一步,关于共享参数集进行限定的话,作为比特流一致性,比特流必须满足以下的条件CX2。
CX2:“当层识别符nuhLayerIdA的参数集为层识别符nuhLayerIdB的层的有效参数集时,层识别符nuhLayerIdA的层是层识别符nuhLayerIdB的直接参照层、且non-VCL依赖有无标记为1”
另外,CX2的条件也能够换作如以下的条件CX2’。
CX2’:“当具有等于nuhLayerIdA的层识别符nuh_layer_id的参数集为具有等于nuhLayerIdB的层识别符nuh_layer_id的层的有效参数集时,等于nuhLayerIdA的层识别符nuh_layer_id的层是等于nuhLayerIdB的层识别符nuh_layer_id的层的直接参照层、且non-VCL依赖有无标记为1”
进一步,将上述限制条件CX2限定为与SPS有关的共享参数集、与PPS有关的共享参数集的话,作为比特流一致性,比特流必须分别满足以下的条件CX3以及CX4。
CX3:“当层识别符nuhLayerIdA的SPS为层识别符nuhLayerIdB的层的有效SPS时,层识别符nuhLayerIdA的层是层识别符nuhLayerIdB的直接参照层、且non-VCL依赖有无标记为1”
CX4:“当层识别符nuhLayerIdA的PPS为层识别符nuhLayerIdB的层的有效PPS时,层识别符nuhLayerIdA的层是层识别符nuhLyaerIdB的直接参照层、且non-VCL依赖有无标记为1”
另外,CX3以及CX4也能够分别换作如以下的条件CX3’、CX4’。
CX3’:“当具有等于nuhLayerIdA的层识别符nuh_layer_id的PPS为具有等于nuhLayerIdB的层识别符nuh_layer_id的层的有效PPS时,等于nuhLayerIdA的层识别符nuh_layer_id的层是等于nuhLayerIdB的层识别符nuh_layer_id的层的直接参照层、且non-VCL依赖有无标记为1”
CX4’:“当具有等于nuhLayerIdA的层识别符nuh_layer_id的SPS为具有等于nuhLayerIdB的层识别符nuh_layer_id的层的有效SPS时,等于nuhLayerIdA的层识别符nuh_layer_id的层是等于nuhLayerIdB的层识别符nuh_layer_id的层的直接参照层、且non-VCL依赖有无标记为1”
上述比特流限制CX2~CX4换言之能够作为共享参数集而利用的参数集是具有对于对象层的直接参照层的层识别符的参数集。
“能够作为共享参数集而利用的参数集是具有对于对象层的直接参照层的层识别符的参数集”意味着禁止“作为层集A的子集的层集B内的层参照‘包含在层集A中但不包含在层集B中’的层的参数集”。
即,在从层集A中将作为子集的层集B进行比特流提取时,由于能够禁止“作为层集A的子集的层集B内的层参照‘包含在层集A中但不包含在层集B中’的层的参数集”,所以在层集B中包含的层参照的不同的层的参数集不会被丢弃。因此,能够解除在通过比特流提取而生成的子比特流中,利用共享参数集的层无法进行解码的问题。即,能够解除在图1中说明的在现有技术中产生的比特流提取时的课题。
(序列参数集SPS)
在序列参数集SPS中,为了对对象序列进行解码而规定了图像解码装置1参照的编码参数的集合。
有效VPS识别符是指定为对象SPS参照的有效VPS的识别符,作为语法“sps_video_parameter_set_id”(图15的SYNSPS01)包含在SPS中。另外,参数集解码部12也可以对在解码对象的序列参数集SPS中包含的有效VPS识别符进行解码,且从参数集管理部13读出由该有效VPS识别符所指定的有效VPS的编码参数,在对以后的解码对象SPS的各语法进行解码时参照该有效VPS的编码参数。另外,在解码对象SPS的各语法不依赖有效VPS的编码参数的情况下,不需要在解码对象SPS的有效VPS识别符解码时刻的、VPS的激活处理。
SPS识别符是用于识别各SPS的识别符,作为语法“sps_seq_parameter_set_id”(图15的SYNSPS02)包含在SPS中。由在后述的PPS中包含的有效SPS识别符(pps_seq_parameter_set_id)所确定的SPS在对象层集内的对象层的编码数据的解码处理时参照。
(图片信息)
在SPS中,包括确定对象层的解码图片的大小的信息作为图片信息。例如,图片信息包括表示对象层的解码图片的宽度或高度的信息。在从SPS进行解码的图片信息中,包括解码图片的宽度(pic_width_in_luma_samples)和解码图片的高度(pic_height_in_luma_samples)(图15中未图示)。语法“pic_width_in_luma_samples”的值对应于以亮度像素单位的解码图片的宽度。此外,语法“pic_height_in_luma_samples”的值对应于以亮度像素单位的解码图片的高度。
图15的SYNSPS04所示的语法组是与通过对象序列整体而利用的比例表(量化矩阵)有关的信息(比例表信息)。在比例表信息中,“sps_infer_scaling_list_flag”(SPS比例表估计标记)是表示与对象SPS的比例表有关的信息是否从由“sps_scaling_list_ref_layer_id”所确定的参照层的有效SPS的比例表信息估计的标记。在SPS比例表估计标记为1的情况下,该SPS的比例表信息从由“sps_scaling_list_ref_layer_id”所确定的参照层的有效SPS的比例表信息被估计(被复制)。在SPS比例表估计标记为0的情况下,SPS的比例表信息基于“sps_scaling_list_data_present_flag”而被通知。
SPS扩展数据有无标记“sps_extension_flag”(图15的SYNSPS05)是表示SPS是否进一步包括SPS扩展数据sps_extension()(图15的SYNSPS06)的标记。
在SPS扩展数据(sps_extension())中,包括层间位置对应信息。
(层间位置对应信息)
层间位置对应信息大致表示对象层和参照层的对应的区域的位置关系。例如,在对象层的图片和参照层的图片中包括某物体(物体A)的情况下,对象层的图片上的与物体A对应的区域和参照层的图片上的与物体A对应的区域相当于所述对象层和参照层的对应的区域。另外,层间位置对应信息也可以不一定是准确地表示上述的对象层和参照层的对应的区域的位置关系的信息,但一般,为了提高层间预测的准确性,表示准确的对象层和参照层的对应的区域的位置关系。
层间位置对应信息包括层间像素对应信息。层间像素对应信息是表示参照层的图片上的像素和对应的对象层的图片上的像素的位置关系的信息。
(层间像素对应信息)
层间像素对应信息例如根据图29(a)所示的语法表进行解码。图29(a)是参数集解码部12在SPS解码时参照的语法表的一部分,是涉及层间像素对应信息的部分。
在层间像素对应信息中,包括表示在属于具有层识别符nuhLayerIdB(nuhLayerIdB>=nuhLayerIdA)的层的序列的解码时参照具有层识别符nuhLayerIdA的层的该SPS(解码对象SPS)作为共享参数集的层数(参数集参照层数NumLIdRefSharedSPS)的语法“num_layer_id_refering_shared_sps_minus1”(图29(a)的SYNSPS0A)。参数集参照层数NumLIdRefSharedSPS被设定为(num_layer_id_refering_shared_sps_minus1+1)的值。
在层间像素对应信息中,按在属于具有层识别符nuhLayerIdB(nuhLayerIdB>=nuhLayerIdA)的层的序列的解码时参照具有层识别符nuhLayerIdA的层的该SPS(解码对象SPS)的每个层(层识别符nuhLayerIdB=layer_id_referring_sps[k])(图29(a)的SYNSPS0B),包括在SPS扩展数据中包含的层间像素对应信息的个数“num_scaled_ref_layer_offsets[k]”(图29(a)的SYNSPS0C)。另外,在图29(a)的SYNSPS0B中,由于“layer_id_referring_sps[k]”在变量k为0的情况下是与该SPS具有相同的层识别符nuhLayerIdA的层,所以“layer_id_referring_sps[k]”不会被解码,“layer_id_referring_sps[k]”的值被估计为与该SPS的层识别符nuhLayerIdA相等(在图29(a)中,layer_id_referring_sps[0]=nuh_layer_id)。即,具有削减涉及“layer_id_referring_sps[0]”的符号量的效果。
除此之外,在层间像素对应信息中,按作为上述层识别符nuhLayerIdB=layer_id_referring_sps[k]的每个层,包括与该层和参照层(直接参照层)有关的所述层间像素对应信息的个数的层间像素对应偏移。即,图29(a)所示的层间像素对应信息是对象层和直接参照层间的层像素对应信息。在层间像素对应偏移中,包括改变比例后参照层左偏移(scaled_ref_layer_left_offset[k][i])、改变比例后参照层上偏移(scaled_ref_layer_top_offset[k][i])、改变比例后参照层右偏移(scaled_ref_layer_right_offset[k][i])以及改变比例后参照层下偏移(scaled_ref_layer_bottom_offset[k][i])。这里,变量k是用于识别参数集参照层的索引,变量i是用于识别该参数集参照层的直接参照层的索引,与在直接参照层IDX列表DirectRefLayerIdx[layer_id_refering_shared_sps[k]][]的第2个要素中存储的直接参照层IDX对应。另外,各偏移(scaled_ref_layer_x_offset[k][],x=left,top,right,bottom))的第2个要素也可以是代替直接参照层的直接参照层IDX,而是直接参照层的层识别符。在该情况下,如图29(b)的SYNSPS0D所示,表示直接参照层IDX的层识别符的“scaled_ref_layer_id[k][i]”配置在与偏移有关的语法的紧跟前。
参照图30说明在层间像素对应偏移中包含的各偏移的含义。图30是例示对象层的图片、参照层的图片以及层间像素对应偏移的关系的图。各偏移表示在对象层图片上与参照层图片整体(或者一部分区域)对应的对象层对象区域。图30(a)是对象层对象区域对应于参照层图片整体的情况,图30(b)是参照层对象区域对应于参照层图片的一部分的情况。
图30(a)表示在参照层的图片整体对应于对象层的图片的一部分的情况下的例。在该情况下,与参照层图片整体对应的对象层上的区域(对象层对应区域)包含在对象层图片的内部。图30(b)表示在参照层的图片的一部分对应于对象层的图片整体的情况下的例。在该情况下,在参照层对应区域的内部中包括对象层图片。
如图30所示,改变比例后参照层左偏移(图30中SRL左偏移)表示参照层对象区域左边相对于对象层图片左边的偏移。另外,在SRL左偏移大于0的情况下,表示参照层对象区域左边位于对象层图片左边的右侧。
改变比例后参照层上偏移(图30中SRL上偏移)表示参照层对象区域上边相对于对象层图片上边的偏移。另外,在SRL上偏移大于0的情况下,表示参照层对象区域上边位于对象层图片上边的下侧。
改变比例后参照层右偏移(图30中SRL右偏移)表示参照层对象区域右边相对于对象层图片右边的偏移。另外,在SRL右偏移大于0的情况下,表示参照层对象区域右边位于对象层图片右边的左侧。
改变比例后参照层下偏移(图30中SRL下偏移)表示参照层对象区域下边相对于对象层图片下边的偏移。另外,在SRL下偏移大于0的情况下,表示参照层对象区域下边位于对象层图片下边的上侧。
在现有技术的SPS的层间位置对应信息(图16的SYNSPS0B)中,只关于具有与该SPS相同的层识别符的层,包括该层和该层的参照层间的层间像素对应信息。但是,在具有比该SPS的层识别符上位的层识别符的层(上位层)参照该SPS作为共享参数集的情况下,存在没有该上位层和该上位层的参照层间的层像素对应位置信息这样的问题。即,由于没有该上位层用于准确地实施层间图像预测所需的层间像素对应信息,所以存在编码效率降低这样的问题。此外,存在只能在不包括层间图像对应信息的(num_scaled_ref_layer_offsets=0)的情况下上位层参照该SPS作为共享参数集的问题。另外,不包括层间图像对应信息的情况意味着对象层图片整体和参照层图片整体对应。
另一方面,在本实施例的SPS中包含的层间位置对应信息中,包括在属于具有层识别符nuhLayerIdB(nuhLayerIdB>=nuhLayerIdA)的层的序列的解码时参照该SPS(具有层识别符nuhLayerIdA的层的SPS)作为共享参数集的层(参数集参照层)的数目。进一步,在该层间位置对应信息中是如下的结构:按每个参数集参照层,包括具有该参数集参照层的层识别符的层依赖的层数个的层间像素对应信息。因此,能够解除在现有技术中产生的上述课题。即,解除在具有比该SPS的层识别符上位的层识别符的层(上位层)参照该SPS作为共享参数集的情况下,没有该上位层和该上位层的参照层间的层像素对应位置信息这样的问题。因此,由于包括该上位层用于准确地实施层间图像预测所需的层间像素对应信息,所以相对于现有技术起到提高编码效率的效果。此外,并不限定于不包括层间图像对应信息的(num_scaled_ref_layer_offsets=0)的情况,上位层能够参照该SPS作为共享参数集,所以能够降低与上位层的参数集有关的符号量以及降低涉及其解码/编码的处理量。
(图片参数集PPS)
在图片参数集PPS中,为了对对象序列内的各图片进行解码而规定了图像解码装置1参照的编码参数的集合。
PPS识别符是用于识别各PPS的识别符,作为语法“sps_seq_parameter_set_id”(图15的SYNSPS02)包含在PPS中。由在后述的片段头部中包含的有效PPS识别符(slice_pic_parameter_set_id)所确定的PPS在对象层集内的对象层的编码数据的解码处理时参照。
有效SPS识别符是指定为对象PPS参照的有效SPS的识别符,作为语法“pps_seq_parameter_set_id”(图17的SYNSPS02)包含在PPS中。另外,参数集解码部12也可以对在解码对象的图片参数集PPS中包含的有效SPS识别符进行解码,且从参数集管理部13读出由该有效SPS识别符所指定的有效SPS的编码参数,进一步,调用该有效SPS参照的有效VPS的编码参数,在对以后的解码对象PPS的各语法进行解码时参照该有效SPS以及该有效VPS的编码参数。另外,在解码对象PPS的各语法不依赖有效SPS以及有效VPS的编码参数的情况下,不需要在解码对象PPS的有效PPS识别符解码时刻的、SPS以及VPS的激活处理。
图17的SYNPPS03所示的语法组是与参照对象PPS的图片的解码时利用的比例表(量化矩阵)有关的信息(比例表信息)。在比例表信息中,“pps_infer_scaling_list_flag”(比例表估计标记)是表示将与对象PPS的比例表有关的信息是否从由“pps_scaling_list_ref_layer_id”所确定的参照层的有效PPS的比例表信息估计的标记。在PPS比例表估计标记为1的情况下,该PPS的比例表信息从由“sps_scaling_list_ref_layer_id”所确定的参照层的有效PPS的比例表信息被估计(被复制)。在PPS比例表估计标记为0的情况下,PPS的比例表信息基于“sps_scaling_list_data_present_flag”而被通知。
(图片解码部14)
图片解码部14基于被输入的VCL NAL单元以及有效参数集,生成解码图片并输出。
使用图20说明图片解码部14的概略性结构。图20是表示了图片解码部14的概略性结构的功能框图。
图片解码部14包括片段头部解码部141、CTU解码部142。CTU解码部142还包括预测残差恢复部1421、预测图像生成部1422以及CTU解码图像生成部1423。
(片段头部解码部141)
片段头部解码部141基于被输入的VCL NAL单元和有效参数集,对片段头部进行解码。进行了解码的片段头部与被输入的VCL NAL单元一并输出到CTU解码部142。
(CTU解码部142)
CTU解码部142大致基于被输入的片段头部、在VCL NAL单元中包含的片段数据以及有效参数集,对与在构成图片的片段中包含的各CTU对应的区域的解码图像进行解码,生成片段的解码图像。这里,CTU大小使用在有效参数集中包含的、对于对象层的CTB大小(图15的SYNSPS03上的log2_min_luma_coding_block_size_minus3、以及log2_diff_max_min_luma_coding_block_size对应的语法)。片段的解码图像作为解码图片的一部分输出到被输入的片段头部表示的片段位置。CTU的解码图像由CTU解码部142内部的预测残差恢复部1421、预测图像生成部1422以及CTU解码图像生成部1423生成。
预测残差恢复部1421对在输入的片段数据中包含的预测残差信息(TT信息)进行解码,生成对象CTU的预测残差并输出。
预测图像生成部1422基于在输入的片段数据中包含的预测信息(PT信息)表示的预测方法和预测参数,生成预测图像并输出。此时,根据需要,利用参照图片的解码图像或编码参数。例如,在使用外部预测或者层间图像预测的情况下,从解码图片管理部15读出对应的参照图片。另外,关于预测图像生成部1422进行的预测图像生成处理中、在选择了层间图像预测的情况下的预测图像生成处理的细节,在后面叙述。
CTU解码图像生成部1423将被输入的预测图像和预测残差相加,生成对象CTU的解码图像并输出。
<基于层图像预测的预测图像生成处理的细节>
说明前述的预测图像生成部1422进行的预测图像生成处理中、在选择了层间图像预测的情况下的预测图像生成处理的细节。
在应用层间图像预测的对象CTU中包含的对象像素的预测像素值的生成处理按照以下的顺序执行。首先,执行参照图片位置导出处理,导出对应参照位置。这里,对应参照位置是与对象层图片上的对象像素对应的参照层上的位置。另外,由于对象层和参照层的像素不是1对1对应,所以对应参照位置以小于参照层中的像素单位的精度来表现。接着,通过将导出的对应参照位置作为输入而执行插值滤波器处理,生成对象像素的预测像素值。
在对应参照位置导出处理中,基于在参数集中包含的图片信息、层间像素对应信息,导出对应参照位置。说明对应参照位置导出处理的详细顺序。对应参照位置导出处理通过顺序执行以下的S101~S104的处理而实现。
(S101)基于对象层图片大小、参照层图片大小、层间像素对应信息,计算参照层对应区域大小和层间大小比率(相对于参照层对应区域大小的参照层图片大小的比率)。首先,参照层对应区域的宽度SRLW和高度SRLH、层间大小比率的水平分量scaleX和水平分量scaleY通过以下式计算。
SRLW=currPicW-SRLLeftOffset-SRLRightOffset
SRLH=currPicH-SRLTopOffset-SRLBottomOffset
scaleX=refPicW÷SRLW
scaleY=refPicH÷SRLH
这里,currPicW和currPicH是对象图片的高度和宽度,在对应参照位置导出处理的对象为亮度像素的情况下,与在对象层中的SPS的图片信息中包含的pic_width_in_luma_samples和pic_height_in_luma_samples的各语法值一致。在对象为色差的情况下,使用根据颜色格式的种类而变换了所述语法值的值。例如,在颜色格式为4:2:2的情况下,使用各语法值的一半的值。此外,refPicW和refPicH是参照图片的高度和宽度,在对象为亮度像素的情况下,与在参照层中的SPS的图片信息中包含的pic_width_in_luma_samples和pic_height_in_luma_samples的各语法值一致。此外,SRLLeftOffset、SRLRightOffset、SRLTopOffset、SRLBottomOffset是参照图30说明的层间像素对应偏移。
(S102)基于层间像素对应信息和层间大小比率,计算相对于对象像素(xP,yP)的对应参照位置(xRef、yRef)。与对象层像素对应的参照位置的水平分量xRef和垂直分量yRef通过以下式计算。另外,xRef以参照层图片的像素单位表示将参照层图片的左上像素作为基准的水平方向的位置,yRef以参照层图片的像素单位表示将同左上像素作为基准的垂直方向的位置。
xRef=(xP-SRLLeftOffset)*scaleX
yRef=(yP-SRLTopOffset)*scaleY
这里,xP和yP分别以对象层图片的像素单位表示将对象层图片左上像素作为基准的对象层像素的水平分量和垂直分量。此外,对于实数X的Floor(X)意味着不超过X的最大的整数。
在上述的式中,将相对于参照层对应区域的左上像素的、对象像素的位置通过层间大小比率进行了比例变换的值作为参照位置。另外,也可以将上述的计算通过基于整数表现的近似运算来计算。例如,也可以作为对实际的倍率的值乘以预定的值(例如16)的整数来计算scaleX和scaleY,并使用其整数值来计算xRef或yRef。此外,在对象为色差的像素的情况下,也可以进行考虑了亮度和色差的相位差的校正。
另外,在上述式中以像素单位计算了对应参照位置,但并不限定于此。例如,也可以通过以下的式计算对应参照位置的整数表现的16分之1像素单位的值(xRef16,yRef16)。
xRef16=Floor(((xP-SRLLeftOffset)*scaleX)*16))
yRef16=Floor(((yP-SRLTopOffset)*scaleY)*16))
一般,优选以适合滤波器处理的应用的单位或表现来导出对应参照位置。例如,优选通过与插值滤波器参照的最小单位一致的精度的整数表现来导出对象参照位置。
通过以上说明的对应参照位置导出处理,能够导出与对象层图片上的对象像素对应的参照层图片上的位置作为对应参照位置。
在插值滤波器处理中,通过对参照层图片上的、所述对应参照位置附近的像素的解码像素应用插值滤波器,生成相当于在上述对应参照位置导出处理中导出的对应参照位置的位置的像素值。
以上,上述层次运动图像解码装置1具备的预测图像生成部1422由于能够使用所述层间相位对应信息来导出与预测对象像素对应的参照层图片上的准确的位置,所以通过插值处理而生成的预测像素的准确度提高。因此,上述层次解码装置1能够对比以往少的符号量的编码数据进行解码而输出上位层的解码图片。
<图片解码部14的解码过程>
以下,参照图21说明图片解码部14中的对象层i的图片的解码的概略性的动作。图21是表示图片解码部14中的构成对象层i的图片的片段单位的解码过程的流程图。
(SD101)对解码对象片段的开头片段标记(first_slice_segment_in_pic_flag)进行解码。在开头片段标记为1的情况下,解码对象片段是按照图片内的解码顺序(以后,称为处理顺序)的开头片段,将解码对象片段的开头CTU在图片内的光栅扫描顺序的位置(以后,称为CTU地址)设定为0。进一步,将图片内的处理完毕CTU数的计数器numCtb(以后,称为处理完毕CTU数numCtb)设定为0。在开头片段标记为0的情况下,基于在后述的SD106中进行解码的片段地址,设定解码对象片段的开头CTU地址。
(SD102)对指定在解码对象片段的解码时参照的有效PPS的有效PPS识别符(slice_pic_paramter_set_id)进行解码。
(SD104)从参数集管理部13提取有效参数集。即,将具有与解码对象片段参照的有效PPS识别符(slice_pic_parameter_set_id)相同的PPS识别符(pps_pic_parameter_set_id)的PPS设为有效PPS,从参数集管理部13提取(读出)有效PPS的编码参数。进一步,将具有与有效PPS内的有效SPS识别符(pps_seq_parameter_set_id)相同的SPS识别符(sps_seq_parameter_set_id)的SPS设为有效SPS,从参数集管理部13提取有效SPS的编码参数。进一步,将具有与有效SPS内的有效VPS识别符(sps_video_parameter_set_id)相同的VPS识别符(vps_video_parameter_set_id)的VPS设为有效VPS,从参数集管理部13提取有效VPS的编码参数。
(SD105)基于开头片段标记,判定解码对象片段在图片内的处理顺序中是否为开头片段。在开头片段标记为0的情况下(SD105中“是”),转移到步骤SD106。在除此以外的情况下(SD105中“否”),跳过步骤SD106的处理。另外,在开头片段标记为1的情况下,解码对象片段的片段地址为0。
(SD106)对解码对象片段的片段地址(slice_segment_address)进行解码,设定解码对象片段的开头CTU地址。例如,开头片段CTU地址=slice_segment_address。
……省略……
(SD10A)CTU解码部142基于被输入的片段头部、有效参数集以及在VCL NAL单元中包含的片段数据内的各CTU信息(图18的SYNSD01),生成与在构成图片的片段中包含的各CTU对应的区域的CTU解码图像。进一步,在各CTU信息之后,有表示该CTU是否为解码对象片段的终端的片段终端标记(end_of_slice_segment_flag)(图18的SYNSD2)。此外,在各CTU的解码之后,将处理完毕CTU数numCtb的值加1(numCtb++)。
(SD10B)基于片段终端标记,判定该CTU是否为解码对象片段的终端。在片段终端标记为1的情况下(SD10B中“是”),转移到步骤SD10C。在除此以外的情况下(SD10B中“否”),为了对后续的CTU信息进行解码,转移到步骤SD10A。
(SD10C)判定处理完毕CTU数numCtu是否达到了构成图片的CTU的总数(PicSizeInCtbsY)。即,判定是否为numCtu==PicSizeInCtbsY。在numCtu等于PicSizeInCtbsY的情况下(SD10C中“是”),结束构成解码对象图片的片段单位的解码处理。在除此以外的情况下(numCtu<PicSizeInCtbsY)(SD10C中“否”),为了继续构成解码对象图片的片段单位的解码处理,转移到步骤SD101。
以上,说明了实施例1的图片解码部14的动作,但并不限定于上述步骤,也可以在可实施的范围内变更步骤。
(运动图像解码装置1的效果)
以上说明的本实施方式的层次运动图像解码装置1(层次图像解码装置)通过共享在参照层的解码中利用的参数集作为在对象层的解码中利用的参数集(SPS、PPS),能够省略涉及对象层的参数集的解码处理。更具体而言,在本实施例中,作为层依赖类型,除了VCL间的依赖类型(层间图像预测或层间移动预测)之外,新导入non-VCL间的依赖类型的有无。在non-VCL间的依赖中,包括不同的层间的参数集的共享(共享参数集)、不同的层间的参数集间的语法的一部分的预测(参数集间语法预测)。
通过显式地通知表示non-VCL的有无的依赖类型的有无,起到解码器能够通过对VPS扩展数据进行解码而掌握层集内的哪个层成为对象层的non-VCL的依赖层(non-VCL参照层)的效果。即,能够解除在编码数据的解码开始时刻不清楚层识别符的值为nuhLayerIdA的层A的参数集与哪个层共同利用(应用共享参数集)这样的课题。
(实施例1的比特流限制)
此外,通过导入non-VCL间的依赖类型的有无,解码器和编码器间能够显式地示出以下的比特流限制。
即,作为比特流一致性,比特流必须满足以下的条件CX1。
CX1:“当层识别符nuhLayerIdA的non-VCL为在层识别符nuhLayerIdB的层中利用的non-VCL时,层识别符nuhLayerIdA的层是层识别符nuhLayerIdB的直接参照层、且non-VCL依赖有无标记为1”
进一步,关于共享参数集进行限定的话,作为比特流一致性,比特流必须满足以下的条件CX2。
CX2:“当层识别符nuhLayerIdA的参数集为层识别符nuhLayerIdB的层j的有效参数集时,层识别符nuhLayerIdA的层i是层识别符nuhLayerIdB的直接参照层(direct_dependency_flag[i][j]=1)、且从nuhLayerIdA和nuhLayerIdB间的依赖类型direct_dependency_type[i][j]导出的non-VCL依赖有无标记为1”
进一步,将上述限制条件CX2限定为与SPS有关的共享参数集、与PPS有关的共享参数集的话,作为比特流一致性,比特流必须分别满足以下的条件CX3以及CX4。
CX3:“当层识别符nuhLayerIdA的SPS为层识别符nuhLayerIdB的层的有效SPS时,层识别符nuhLayerIdA的层是层识别符nuhLayerIdB的直接参照层、且non-VCL依赖有无标记为1”
CX4:“当层识别符nuhLayerIdA的PPS为层识别符nuhLayerIdB的层的有效PPS时,层识别符nuhLayerIdA的层是层识别符nuhLyaerIdB的直接参照层、且non-VCL依赖有无标记为1”
另外,上述条件CX1~CX4也能够分别换作在(non-VCL依赖类型的效果)中已说明的条件CX1’~CX4’。
(实施例1的比特流限制的效果)
上述比特流限制换言之能够作为共享参数集而利用的参数集是具有对于对象层的直接参照层的层识别符的参数集。
“能够作为共享参数集而利用的参数集是具有对于对象层的直接参照层的层识别符的参数集”意味着禁止“作为层集A的子集的层集B内的层参照‘包含在层集A中但不包含在层集B中’的层的参数集”。
即,在从层集A中将作为子集的层集B进行比特流提取时,由于能够禁止“作为层集A的子集的层集B内的层参照‘包含在层集A中但不包含在层集B中’的层的参数集”,所以在层集B中包含的层参照的直接参照层的参数集不会被丢弃。因此,能够解除在通过比特流提取而生成的子比特流中,利用共享参数集的层无法进行解码的问题。即,能够解除在图1中说明的在现有技术中产生的比特流提取时的课题。
(non-VCL依赖类型的变形例1)
另外,在图14(a)的例中,不区分参数集间预测、共享参数集等的各non-VCL的依赖类型,通过non-VCL的依赖的有无标记进行了表现,但并不限定于此。例如,如图14(b)所示,也可以区分各non-VCL的依赖类型,将从最下位比特起第2比特的值作为共享参数集的有无标记(SharedParamSetEnabledFlag),将从最下位比特起第3比特的值作为表示参数集间预测(ParamSetPredEnabledFlag)的有无的依赖类型。在该情况下,对于对象层i(层识别符iNuhLId=layer_id_in_nuh[i])的参照层j的各层依赖类型的有无标记通过以下式导出。
SamplePredEnabledFlag[iNuhLId][j]=((direct_dependency_type[i][j]+1)&1);
MotionPredEnabledFlag[iNuhLId][j]=((direct_dependency_type[i][j]+1)&2)>>1;
SharedParamSetEnabledFlag[iNuhLid][j]=
((direct_dependency_type[i][j]+1)&4)>>2;
ParamSetPredEnabledFlag[iNuhLid][j]=
((direct_dependency_type[i][j]+1)&8)>>3;
或者,也能够代替(direct_dependency_type[i][j]+1),而是使用变量DirectDepType[i][j],通过以下式表现。
SamplePredEnabledFlag[iNuhLId][j]=((DirectDepType[i][j])&1);
MotionPredEnabledFlag[iNuhLId][j]=((DirectDepType[i][j])&2)>>1;
SharedParamSetEnabledFlag[iNuhLid][j]=
((DirectDepType[i][j])&4)>>2;
ParamSetPredEnabledFlag[iNuhLid][j]=
((DirectDepType[i][j])&8)>>3;
另外,表示各依赖类型的有无标记的比特位置也可以在可实施的范围内进行变更。
(non-VCL依赖类型的变形例1的效果)
以上,在本实施例中,作为层依赖类型,除了VCL间的依赖类型(层间图像预测或层间移动预测)之外,作为新的non-VCL间的依赖类型,包括表示不同的层间的参数集的共享(共享参数集)的有无的共享参数集有无标记、表示不同的层间的参数集间的语法的一部分的预测(参数集间语法预测)的有无的参数集间语法预测有无标记。
通过显式地通知各non-VCL的依赖类型的有无,起到解码器能够通过对VPS扩展数据进行解码而掌握层集内的哪个层成为对象层的共享参数集的依赖层、参数集间预测的依赖层的效果。即,能够解除在编码数据的解码开始时刻不清楚层识别符的值为nuhLayerIdA的层A的参数集与哪个层共同利用(应用共享参数集)这样的课题。进一步,能够解除在编码数据的解码开始时刻不清楚层识别符的值为nuhLayerIdA的层A的参数集参照哪个层的参数集的语法这样的课题。
(non-VCL依赖类型的变形例1的比特流限制)
此外,通过导入各non-VCL的依赖类型的有无,在解码器和编码器间能够显式地示出以下的比特流限制。
即,作为比特流一致性,比特流必须满足以下的条件CW1以及CW2。
CW1:“当层识别符nuhLayerIdA的参数集为层识别符nuhLayerIdB的层的有效参数集时,层识别符nuhLayerIdA的层是层识别符nuhLyaerIdB的直接参照层、且共享参数集有无标记为1”
CW2:“当层识别符nuhLayerIdA的参数集为在层识别符nuhLayerIdB的层的参数集间预测中参照的参数集时,层识别符nuhLayerIdA的层是层识别符nuhLyaerIdB的直接参照层、且参数集间预测有无标记为1”
另外,CW1以及CW2的条件也能够分别换作如以下的条件CW1’、CW2’。
CW1’:“当具有等于nuhLayerIdA的层识别符nuh_layer_id的参数集为具有等于nuhLayerIdB的层识别符nuh_layer_id的层的有效参数集时,等于nuhLayerIdA的层识别符nuh_layer_id的层是等于nuhLayerIdB的层识别符nuh_layer_id的层的直接参照层、且non-VCL依赖有无标记为1”
CW2’:“当具有等于nuhLayerIdA的层识别符nuh_layer_id的参数集为在具有等于nuhLayerIdB的层识别符nuh_layer_id的层的参数集间预测中参照的参数集时,等于nuhLayerIdA的层识别符nuh_layer_id的层是等于nuhLayerIdB的层识别符nuh_layer_id的层的直接参照层、且non-VCL依赖有无标记为1”
进一步,将上述限制条件CW1限定为与SPS有关的共享参数集、与PPS有关的共享参数集的话,作为比特流一致性,比特流必须分别满足以下的条件CW3以及CW4。
CW3:“当层识别符nuhLayerIdA的SPS是层识别符nuhLayerIdB的层的有效SPS时,层识别符nuhLayerIdA的层是层识别符nuhLayerIdB的直接参照层、且共享参数集有无标记为1”
CW4:“当层识别符nuhLayerIdA的PPS为层识别符nuhLayerIdB的层的有效PPS时,层识别符nuhLayerIdA的层是层识别符nuhLyaerIdB的直接参照层、且共享参数集有无标记为1”
另外,上述CW3以及CW4的条件也能够分别换作如以下的条件CW3’、CW4’。
CW3’:“当具有等于nuhLayerIdA的层识别符nuh_layer_id的SPS为具有等于nuhLayerIdB的层识别符nuh_layer_id的层的有效SPS时,等于nuhLayerIdA的层识别符nuh_layer_id的层是等于nuhLayerIdB的层识别符nuh_layer_id的层的直接参照层、且non-VCL依赖有无标记为1”
CW4’:“当具有等于nuhLayerIdA的层识别符nuh_layer_id的PPS为具有等于nuhLayerIdB的层识别符nuh_layer_id的层的有效PPS时,等于nuhLayerIdA的层识别符nuh_layer_id的层是等于nuhLayerIdB的层识别符nuh_layer_id的层的直接参照层、且non-VCL依赖有无标记为1”
上述比特流限制换言之能够作为共享参数集而利用的参数集是对于对象层的直接参照层的参数集。
(non-VCL依赖类型的变形例1的比特流限制的效果)
能够作为共享参数集而利用的参数集是具有对于对象层的直接参照层的层识别符的参数集。即,在从层集A中将作为子集的层集B进行比特流提取时,由于能够禁止“作为层集A的子集的层集B内的层参照‘包含在层集A中但不包含在层集B中’的层的参数集”,所以在层集B中包含的层参照的直接参照层的参数集不会被丢弃。因此,能够解除在通过比特流提取而生成的子比特流中,利用共享参数集的层无法进行解码这样的问题。即,能够解除在图1中说明的在现有技术中产生的比特流提取时的课题。
(non-VCL依赖类型的变形例1的比特流限制的变形例)
此外,将上述限制条件CW2限定为SPS间的参数集间预测、PPS间的参数集间预测的话,作为比特流一致性,比特流必须分别满足以下的条件CW5以及CW6。
CW5:“当层识别符nuhLayerIdA的SPS为在层识别符nuhLayerIdB的层的SPS的参数集间预测中参照的SPS时,层识别符nuhLayerIdA的层是层识别符nuhLyaerIdB的直接参照层、且参数集间预测有无标记为1”
CW6:“当层识别符nuhLayerIdA的PPS为在层识别符nuhLayerIdB的层的PPS的参数集间预测中参照的PPS时,层识别符nuhLayerIdA的层是层识别符nuhLyaerIdB的直接参照层、且参数集间预测有无标记为1”
另外,上述CW5以及CW6的条件也能够分别换作如以下的条件CW5’、CW6’。
CW5’:“当具有等于nuhLayerIdA的层识别符nuh_layer_id的SPS为在具有等于nuhLayerIdB的层识别符nuh_layer_id的层的参数集间预测中参照的SPS时,等于nuhLayerIdA的层识别符nuh_layer_id的层是等于nuhLayerIdB的层识别符nuh_layer_id的层的直接参照层、且non-VCL依赖有无标记为1”
CW6’:“当具有等于nuhLayerIdA的层识别符nuh_layer_id的PPS为在具有等于nuhLayerIdB的层识别符nuh_layer_id的层的参数集间预测中参照的PPS时,等于nuhLayerIdA的层识别符nuh_layer_id的层是等于nuhLayerIdB的层识别符nuh_layer_id的层的直接参照层、且non-VCL依赖有无标记为1”
上述比特流限制换言之能够作为参数集间预测而利用的参数集是对于对象层的直接参照层的参数集。
(non-VCL依赖类型的变形例1的比特流限制的变形例的效果)
能够作为参数集间预测而利用的参数集是具有对于对象层的直接参照层的层识别符的参数集。即,在从层集A中将作为子集的层集B进行比特流提取时,由于能够禁止“作为层集A的子集的层集B内的层参照‘包含在层集A中但不包含在层集B中’的层的参数集”,所以在层集B中包含的层参照的直接参照层的参数集不会被丢弃。因此,能够解除在通过比特流提取而生成的子比特流中,利用共享参数集的层无法进行解码这样的问题。即,能够解除在图1中说明的在现有技术中产生的比特流提取时的课题。
(non-VCL依赖类型的变形例2)
另外,在实施例1以及non-VCL依赖类型的变形例1中,通过参数集间预测、共享参数集等的各non-VCL的依赖类型有无标记、non-VCL的依赖的有无标记进行了表现,但也可以使non-VCL的依赖类型的有无标记不显式地作为信号,由直接依赖标记表示。更具体而言,基于直接依赖标记的值,将non-VCL依赖有无标记(NonVCLDepEnabledFlag[i][j])通过以下式导出(估计)。即,在直接依赖标记为1的情况下,将non-VCL依赖有无标记设定为1,在直接依赖标记为0的情况下,将non-VCL依赖有无标记设定为0。
NonVCLDepEnabledFlag[iNuhLid][j]=direct_dependency_type[i][j]?1:0;
或者,也可以基于表示在第i个层直接依赖第j个层的情况下(在直接依赖标记为1的情况下,第j个层也称为第i个层的直接参照层)或者间接依赖第j个层的的情况下(第j个层也称为第i个层的间接参照层)的依赖关系的依赖标记(DependencyFlag[i][j])的值,将non-VCL依赖有无标记(NonVCLDepEnabledFlag[i][j])通过以下式导出(估计)。即,在依赖标记(DependencyFlag[i][j])为1的情况下,将non-VCL依赖有无标记设定为1,在依赖标记(DependencyFlag[i][j])为0的情况下,将non-VCL依赖有无标记设定为0。
NonVCLDepEnabledFlag[iNuhLid][j]=DependencyFlag[i][j]?1:0;
(non-VCL依赖类型的变形例2的效果)
如以上所述,在non-VCL依赖类型的变形例2中,通过基于直接依赖标记或者依赖标记来估计non-VCL依赖有无标记,能够降低与non-VCL的依赖类型的有无标记(non-VCL依赖有无标记)有关的符号量以及涉及解码/编码的处理量。
(non-VCL依赖类型的变形例2的比特流限制)
在non-VCL依赖类型的变形例2的情况下,在解码器和编码器间进一步追加以下的比特流限制。
即,作为比特流一致性,比特流必须满足以下的条件CZ1。
CZ1:“当层识别符nuhLayerIdA的non-VCL为在层识别符nuhLayerIdB的层中利用的non-VCL时,层识别符nuhLayerIdA的层是层识别符nuhLyaerIdB的直接参照层或者间接参照层”
此外,CZ1的条件也能够换作如以下的条件CZ1’。
CZ1’:“当具有等于nuhLayerIdA的层识别符nuh_layer_id的non-VCL是在具有等于nuhLayerIdB的层识别符nuh_layer_id的层中利用的non-VCL时,等于nuhLayerIdA的层识别符nuh_layer_id的层是等于nuhLayerIdB的层识别符nuh_layer_id的层的直接参照层或者间接参照层”
另外,在上述条件中“层识别符nuhLayerIdA的层是层识别符nuhLyaerIdB的直接参照层或者间接参照层”这样的表现也能够使用依赖标记(DependencyFlag[i][j]),表现为“层识别符nuhLayerIdA的层和层识别符nuhLayerIdB的层j的依赖标记(DependencyFlag[i][j])为1”。换言之,也能够应用于使用以后的条件CZ2~CZ4、CZ1’~CZ4’以及其他同样的表现的条件。
(non-VCL依赖类型的变形例2的比特流限制的变形例1)
进一步,关于共享参数集进行限定的话,作为比特流一致性,比特流必须满足以下的条件CX2。
CZ2:“当层识别符nuhLayerIdA的参数集为层识别符nuhLayerIdB的层的有效参数集时,层识别符nuhLayerIdA的层是层识别符nuhLyaerIdB的直接参照层或者间接参照层”
另外,CZ2的条件也能够换作如以下的条件CZ2’。
CZ2’:“当具有等于nuhLayerIdA的层识别符nuh_layer_id的参数集为具有等于nuhLayerIdB的层识别符nuh_layer_id的层的有效参数集时,等于nuhLayerIdA的层识别符nuh_layer_id的层是等于nuhLayerIdB的层识别符nuh_layer_id的层的直接参照层或者间接参照层”
(non-VCL依赖类型的变形例2的比特流限制的变形例2)
进一步,将上述限制条件CZ2限定为与SPS有关的共享参数集、与PPS有关的共享参数集的话,作为比特流一致性,比特流必须分别满足以下的条件CZ3以及CZ4。
CZ3:“当层识别符nuhLayerIdA的SPS是层识别符nuhLayerIdB的层的有效SPS时,层识别符nuhLayerIdA的层是层识别符nuhLayerIdB的直接参照层或者间接参照层”
CZ4:“当层识别符nuhLayerIdA的PPS是层识别符nuhLayerIdB的层的有效PPS时,层识别符nuhLayerIdA的层是层识别符nuhLyaerIdB的直接参照层或者间接参照层”
另外,上述CZ3以及CZ4也能够分别换作如以下的条件CZ3’、CZ4’。
CZ3’:“当具有等于nuhLayerIdA的层识别符nuh_layer_id的SPS为具有等于nuhLayerIdB的层识别符nuh_layer_id的层的有效SPS时,等于nuhLayerIdA的层识别符nuh_layer_id的层是等于nuhLayerIdB的层识别符nuh_layer_id的层的直接参照层或者间接参照层”
CZ4’:“当具有等于nuhLayerIdA的层识别符nuh_layer_id的PPS为具有等于nuhLayerIdB的层识别符nuh_layer_id的层的有效PPS时,等于nuhLayerIdA的层识别符nuh_layer_id的层是等于nuhLayerIdB的层识别符nuh_layer_id的层的直接参照层或者间接参照层”
(non-VCL依赖类型的变形例2以及比特流限制的效果)
以上,在non-VCL依赖类型的变形例2中,通过基于直接依赖标记或者依赖标记来估计non-VCL依赖有无标记,能够降低与non-VCL的依赖类型的有无标记(non-VCL依赖有无标记)有关的符号量以及涉及解码/编码的处理量。
此外,上述比特流限制CZ1~CZ4(包括CZ1’~CZ4’)换言之能够作为共享参数集而利用的参数集是对于对象层的直接参照层或者间接参照层的参数集。
能够作为共享参数集而利用的参数集是具有对于对象层的直接参照层或者间接参照层的层识别符的参数集。即,在从层集A中将作为子集的层集B进行比特流提取时,由于能够禁止“作为层集A的子集的层集B内的层参照‘包含在层集A中但不包含在层集B中’的层的参数集”,所以在层集B中包含的层参照的直接参照层或者间接参照层的参数集不会被丢弃。因此,能够解除在通过比特流提取而生成的子比特流中,利用共享参数集的层无法进行解码这样的问题。即,能够解除在图1中说明的在现有技术中产生的比特流提取时的课题。
(共享参数集的变形例1)
(共享参数集的变形例1的片段头部)
在片段头部中,也可以包括对象层i可作为共享参数集而参照的、在non-VCL的直接参照层数为1的情况下(NumNonVCLDepRefLayers[i]==1)表示PPS在层间被参照的共享PPS利用标记(slice_shared_pps_flag)(例如,图27(a)上的SYNSH0X)。即,在图27(a)的例中,片段头部解码部141在紧跟着有效PPS识别符(slice_pic_parameter_set_id)(图27(a)的SYNSH02)之后,对象层i的层识别符nuhLayerId(nuh_layer_id)大于0的情况下,对该共享PPS利用标记(slice_shared_pps_flag)进行解码。在共享PPS利用标记为真的情况下,由于在对象层i的编码数据中不包括具有对象层i的层ID的PPS,所以将由有效PPS识别符(slice_pic_parameter_set_id)所确定的、具有non-VCL依赖层NonVCLDepRefLayerId[i][0]的层ID的PPS设为有效PPS。片段头部解码部141在共享PPS利用标记为假的情况下,由于在对象层i的编码数据中包括具有对象层i的层ID的PPS,所以将由有效PPS识别符(slice_pic_parameter_set_id)所确定的、具有对象层i的层ID的PPS设为有效PPS。即,片段头部解码部141将基于有效PPS识别符以及共享PPS利用标记所确定的PPS设为在之后的语法等的解码时参照的有效PPS,将该有效PPS的编码参数从参数管理部13读出(提取,激活PPS)。
(共享参数集的变形例1的片段头部的效果)
能够起到与运动图像解码装置1中的non-VCL的依赖类型的有无的导入相同的效果,且以图片单位选择是否利用与PPS有关的共享参数集。例如,当层间在图片的编码中利用的PPS的最佳的参数与参照层的参数不同的情况下,通过在对象层中设为slice_shared_pps_flag=0,参照具有对象层的层ID的PPS,能够降低对象层的图片的编码数据的符号量以及削减涉及对象层的图片的编码数据的解码/编码的处理量。此外,通过在对象层中设为slice_shared_pps_flag=1,参照具有参照层的层ID的PPS,能够省略具有对象层的层ID的PPS的编码,降低与该PPS有关的符号量以及削减该PPS的解码/编码所需的处理量。
(共享参数集的变形例1的PPS)
同样地,在图片参数集PPS中,也可以包括对象层i可作为共享参数而参照的、在non-VCL的直接参照层数为1的情况下(NumNonVCLDepRefLayers[i]==1)表示SPS在层间被参照的共享SPS利用标记(pps_shared_sps_flag)(例如,图28(a)上的SYNPPS05)。即,在图28(a)的例中,参数集解码部12在紧跟着PPS识别符(pps_pic_parameter_set_id)(图28(a)上的SYNPPS01)、有效SPS识别符(pps_seq_parameter_set_id)(图28(a)上的SYNPPS02)之后,对象层i的层识别符nuhLayerId(nuh_layer_id)大于0的情况下,对该共享SPS利用标记(pps_shared_sps_flag)进行解码。在共享SPS利用标记为真的情况下,由于在对象层i的编码数据中不包括具有对象层i的层ID的SPS,所以将由有效PPS具有的有效SPS识别符(pps_seq_parameter_set_id)所确定的、具有non-VCL依赖层NonVCLDepRefLayerId[i][0]的层ID的SPS设为有效SPS。此外,在共享SPS利用标记为假的情况下,由于在对象层i的编码数据中包括具有对象层i的层ID的SPS,所以将由有效PPS具有的有效SPS识别符(pps_seq_parameter_set_id)所确定的、具有对象层i的层ID的SPS设为有效SPS。即,参数集解码部12也可以将基于有效SPS识别符以及共享SPS利用标记所确定的SPS设为在之后的语法等的解码时参照的有效SPS,将该有效SPS的编码参数从参数管理部13读出(提取,激活SPS)。另外,在解码对象PPS的各语法不依赖有效SPS的编码参数的情况下,不需要解码对象PPS的有效SPS识别符以及共享SPS利用标记解码时刻的、SPS的激活处理。
同样地,片段头部解码部141在共享SPS利用标记为真的情况下,由于在对象层i的编码数据中不包括具有对象层i的层ID的SPS,所以将由有效PPS具有的有效SPS识别符(pps_seq_parameter_set_id)所确定的、具有non-VCL依赖层NonVCLDepRefLayerIdx[i][0]的层ID的SPS设为有效SPS。片段头部解码部141在共享SPS利用标记为假的情况下,由于在对象层i的编码数据中包括具有对象层i的层ID的SPS,所以将由有效PPS具有的有效SPS识别符(pps_seq_parameter_set_id)所确定的、具有对象层i的层ID的SPS设为有效SPS。即,片段头部解码部141将基于有效PPS具有的有效SPS识别符(pps_seq_parameter_set_id)以及共享SPS利用标记所确定的SPS设为有效SPS,将该有效SPS的编码参数从参数管理部13读出(提取,激活SPS)。
(共享参数集的变形例1的PPS的效果)
能够起到与运动图像解码装置1中的non-VCL的依赖类型的有无的导入相同的效果,且以图片单位选择是否利用与SPS有关的共享参数集。例如,当层间在图片的编码中利用的SPS的最佳的参数与参照层的参数不同的情况下,通过在对象层中设为pps_shared_sps_flag=0,参照具有对象层的层ID的SPS,能够降低对象层的图片的编码数据的符号量以及削减涉及对象层的图片的编码数据的解码/编码的处理量。此外,通过在对象层中设为pps_shared_sps_flag=1,参照具有参照层(non-VCL依赖层)的层ID的SPS,能够省略具有对象层的层ID的SPS的编码,降低与该SPS有关的符号量以及削减该SPS的解码/编码所需的处理量。
(共享参数集的变形例2)
(共享参数集的变形例2的片段头部)
在片段头部中,也可以包括对象层i可作为共享参数集而参照的、在non-VCL的直接参照层数大于1的情况下(NumNonVCLDepRefLayers[i]>1)表示PPS在层间被参照的共享PPS利用标记(slice_shared_pps_flag)(例如,图27(b)上的SYNSH0X)以及指定non-VCL依赖层的层识别符的non-VCL依赖层指定信息(NonVCLDepRefLayerId[i][slice_non_vcl_dep_ref_layer_id]的slice_non_vcl_dep_ref_layer_id(图27(b)上的SYNSH0Y))。
即,在图27(b)的例中,片段头部解码部141在紧跟着有效PPS识别符(slice_pic_parameter_set_id)(图27(b)的SYNSH02)之后,对象层i的层识别符nuhLayerId(nuh_layer_id)大于0的情况下,对该共享PPS利用标记(slice_shared_pps_flag)进行解码。进一步,片段头部解码部141在共享PPS利用标记为真的情况下,对non-VCL依赖层指定信息(slice_non_vcl_dep_ref_layer_id)进行解码。片段头部解码部141由于在对象层i的编码数据中不包括具有对象层i的层ID的PPS,所以将由有效PPS识别符(slice_pic_parameter_set_id)以及non-VCL依赖层指定信息(NonVCLDepRefLayerId[i][slice_non_vcl_dep_ref_layer_id])所确定的、具有non-VCL依赖层NonVCLDepRefLayerId[i][slice_non_vcl_dep_ref_layer_id]的层ID的PPS设为有效PPS。片段头部解码部141在共享PPS利用标记为假的情况下,由于在对象层i的编码数据中包括具有对象层i的层ID的PPS,所以将由有效PPS识别符(slice_pic_parameter_set_id)所确定的、具有对象层i的层ID的PPS设为有效PPS。即,片段头部解码部141将基于有效PPS识别符、共享PPS利用标记以及参照层指定信息所确定的PPS设为在之后的语法等的解码时参照的有效PPS,将该有效PPS的编码参数从参数管理部13读出(提取,激活PPS)。
(共享参数集的变形例2的片段头部的效果)
能够起到与运动图像解码装置1中的non-VCL的依赖类型的有无的导入相同的效果以及与共享参数集的变形例1相同的效果,且以图片单位从多个层中选择与PPS有关的共享参数集。例如,当层间在图片的编码中利用的PPS的最佳的参数与参照层的参数不同的情况下,通过在对象层中设为slice_shared_pps_flag=0,参照具有对象层的层ID的PPS,能够降低对象层的图片的编码数据的符号量以及削减涉及对象层的图片的编码数据的解码/编码的处理量。此外,通过在对象层中设为slice_shared_pps_flag=1,参照具有由non-VCL依赖层指定信息(NonVCLDepRefLayerId[i][slice_non_vcl_dep_ref_layer_id])所确定的non-VCL依赖层的层ID的PPS,能够省略具有对象层的层ID的PPS的编码,降低与该PPS有关的符号量以及削减该PPS的解码/编码所需的处理量。
(共享参数集的变形例2的PPS)
同样地,在图片参数集PPS中,也可以包括对象层i可作为共享参数而参照的、在non-VCL的直接参照层数大于1的情况下(NumNonVCLDepRefLayers[i]>1)表示SPS在层间被参照的共享SPS利用标记(pps_shared_sps_flag)(例如,图28(b)上的SYNPPS05)以及指定non-VCL依赖层的层识别符的non-VCL依赖层指定信息(NonVCLDepRefLayerId[i][pps_non_vcl_dep_ref_layer_id]的pps_non_vcl_dep_ref_layer_id(图28(b)上的SYNPPS06))。
即,在图28(b)的例中,参数集解码部12在紧跟着PPS识别符(pps_pic_parameter_set_id)(图28(b)上的SYNPPS01)、有效SPS识别符(pps_seq_parameter_set_id)(图28(b)上的SYNPPS02)之后,对象层i的层识别符nuhLayerId(nuh_layer_id)大于0的情况下,对该共享SPS利用标记(pps_shared_sps_flag)进行解码。进一步,参数集解码部12在共享SPS利用标记为真的情况下,对non-VCL依赖层指定信息(pps_non_vcl_dep_ref_layer_id)进行解码。参数集解码部12由于在对象层i的编码数据中不包括具有对象层i的层ID的SPS,所以将具有有效PPS具有的有效SPS识别符(pps_seq_parameter_set_id)以及non-VCL依赖层NonVCLDepRefLayerId[i][pps_non_vcl_dep_ref_layer_id]的层ID的SPS设为有效SPS。
此外,参数集解码部12在共享SPS利用标记为假的情况下,由于在对象层i的编码数据中包括具有对象层i的层ID的SPS,所以将由有效PPS具有的有效SPS识别符(pps_seq_parameter_set_id)所确定的、具有对象层i的层ID的SPS设为有效SPS。即,参数集解码部12将基于有效SPS识别符、共享SPS利用标记(pps_shared_sps_flag)以及non-VCL依赖层指定信息(pps_non_vcl_dep_ref_layer_id)所确定的SPS设为在之后的语法等的解码时参照的有效SPS,将该有效SPS的编码参数从参数管理部13读出(提取,激活SPS)。另外,在解码对象PPS的各语法不依赖有效SPS的编码参数的情况下,不需要解码对象PPS的有效SPS识别符、共享SPS利用标记以及non-VCL依赖层指定信息的解码时刻的、SPS的激活处理。
同样地,片段头部解码部141在共享SPS利用标记为真的情况下,由于在对象层i的编码数据中不包括具有对象层i的层ID的SPS,所以将具有有效PPS具有的有效SPS识别符(pps_seq_parameter_set_id)以及non-VCL依赖层NonVCLDepRefLayerId[i][pps_non_vcl_dep_ref_layer_id]的层ID的SPS设为有效SPS。片段头部解码部141在共享SPS利用标记为假的情况下,由于在对象层i的编码数据中包括具有对象层i的层ID的SPS,所以将由有效PPS具有的有效SPS识别符(pps_seq_parameter_set_id)所确定的、具有对象层i的层ID的SPS设为有效SPS。即,片段头部解码部141将基于有效PPS具有的有效SPS识别符(pps_seq_parameter_set_id)、共享SPS利用标记、non-VCL依赖层指定信息(pps_nov_vcl_dep_ref_layer_id)所确定的SPS设为有效SPS,将该有效SPS的编码参数从参数管理部13读出(提取,激活SPS)。
(共享参数集的变形例2的PPS的效果)
能够起到与运动图像解码装置1中的non-VCL的依赖类型的有无的导入相同的效果以及与共享参数集的变形例1相同的效果,且以图片单位从多个层中选择与SPS有关的共享参数集。例如,当层间在图片的编码中利用的SPS的最佳的参数与参照层的参数不同的情况下,通过在对象层中设为pps_shared_sps_flag=0,参照具有对象层的层ID的SPS,能够降低对象层的图片的编码数据的符号量以及削减涉及对象层的图片的编码数据的解码/编码的处理量。此外,通过在对象层中设为pps_shared_sps_flag=1,参照具有由NonVCLDepRefLayerId[i][pps_nov_vcl_dep_ref_layer_id]所确定的non-VCL依赖层的层ID的SPS,能够省略具有对象层的层ID的SPS的编码,降低与该SPS有关的符号量以及削减该SPS的解码/编码所需的处理量。
(备注事项)
另外,在层次动画层解码装置1具备的参数集解码部12中,将示出表示第i个层和第j个层间的参照关系的层依赖类型作为层间依赖信息的语法“direct_dependency_type[i][j]”(图13的SYNVPS0D)的值,作为在图14的例中说明的层依赖类型的值-1、即“DirectDepType[i][j]-1”的值进行了解码,但并不限定于此。也可以取而代之,将语法“direct_dependency_type[i][j]”的值直接作为层依赖类型的值、即“DirectDepType[i][j]”的值进行解码。在该情况下,关于表示层依赖类型的语法“direct_dependency_type[i][j]”的值,追加以下的限制CV1。即,作为比特流一致性,比特流必须满足以下的条件CV1。
CV1:“在直接依赖标记“direct_dependency_flag[i][j]”的值为1的情况下,表示层依赖类型的语法“direct_dependency_type[i][j]”的值为大于0的整数”。即,层依赖类型“direct_dependency_type[i][j]”的值域若使用由层依赖类型的比特长M以及层依赖类型的总数所确定的N表示,则direct_dependency_type[i][j]的值域是1至(2^M-N)。
在以上的情况下,也起到与在(non-VCL依赖类型的效果)中说明的效果相同的效果。进一步,由于将语法“direct_dependency_type[i][j]”的值直接设为层依赖类型的值、即“DirectDepType[i][j]”的值,所以与设为“DirectDepType[i][j]-1”的情况相比,能够削减加算(减算)的运算。即,能够简化层依赖类型“DirectDepType[i][j]”的导出处理、解码处理。此外,上述变更能够在层次运动图像编码装置2具备的参数集编码部22中应用,起到同样的效果。
〔层次运动图像编码装置〕
以下,参照图22说明本实施方式的层次运动图像编码装置2的结构。
(层次运动图像编码装置的结构)
使用图22说明层次运动图像编码装置2的概略结构。图22是表示了层次运动图像编码装置2的概略性结构的功能框图。层次运动图像编码装置2对在作为编码对象的层集(对象层集)中包含的各层的输入图像PIN#T(图片)进行编码,生成对象层集的层次编码数据DATA。即,运动图像编码装置2将在对象层集中包含的、最低次的层ID至最高次的层ID,按照升序对各层的图片进行编码,生成其编码数据。换言之,按照对象层集的层ID列表LayerSetLayerIdList[0]…LayerSetIdList[N-1](N为在对象层集中包含的层数)的顺序,对各层的图片进行编码。
如图22所示,层次运动图像编码装置2包括对象层集图片编码部20以及NAL复用部21。进一步,对象层集图片编码部20包括参数集编码部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。
参数集编码部22基于从编码参数决定部26输入的各参数集的编码参数和输入图像,设定在输入图像的编码中使用的参数集(VPS、SPS以及SPS),并将各参数集作为在non-VCL NAL单元中存储的数据,提供给NAL复用部21。另外,在参数集编码部22中进行编码的参数集中,包括在层次运动图像解码装置1具备的参数集解码部12的说明中记载的层间依赖信息(直接依赖标记、层依赖类型比特长、层依赖类型)以及层间位置对应信息。参数集编码部22作为层依赖类型的一部分,对non-VCL依赖有无标记进行编码。另外,参数集编码部22在对NAL复用部21提供non-VCL的编码数据时,也赋予与non-VCL对应的NAL单元类型、层识别符以及时间识别符而输出。
此外,在参数集编码部22中生成的参数集中,包括对该参数集进行识别的识别符以及指定为了对各层的图片进行解码而参照的该参数集参照的参数集(有效参数集)的有效参数集识别符。具体而言,若是视频参数集VPS,则包括识别该VPS的VPS识别符。若是序列参数集SPS,则包括识别该SPS的SPS识别符(sps_seq_parameter_set_id)以及确定该SPS或其他的语法参照的VPS的有效VPS识别符(sps_video_parameter_set_id)。若是图片参数集PPS,则包括识别该PPS的PPS识别符(pps_pic_parameter_set_id)以及确定该PPS或其他的语法参照的SPS的有效SPS识别符(pps_seq_parameter_set_id)。
图片编码部24基于被输入的各层的输入图像PIN#T、由编码参数决定部26所提供的参数集以及在解码图片管理部部15中记录的参照图片,对与构成图片的片段对应的各层的输入图像的一部分进行编码,生成该部分的编码数据,并作为在VCL NAL单元中存储的数据,提供给NAL复用部21。图片编码部24的详细的说明在后面叙述。另外,图片编码部24在对NAL复用部21提供VCL的编码数据时,也赋予与VCL对应的NAL单元类型、层识别符以及时间识别符而输出。
(图片编码部24)
参照图23,说明图片编码部24的结构的细节。图23是表示了图片编码部24的概略性结构的功能框图。
如图23所示,图片编码部24包括片段头部设定部241以及CTU编码部242而构成。
片段头部设定部241基于被输入的有效参数集,生成在以片段单位输入的各层的输入图像的编码中使用的片段头部。被生成的片段头部作为片段编码数据的一部分而输出,且与输入图像一同提供给CTU编码部242。另外,在片段头部设定部241中生成的片段头部中,包括指定为了对各层的图片进行解码而参照的图片参数集PPS(有效PPS)的有效PPS识别符。
CTU编码部242基于被输入的有效参数集、片段头部,将输入图像(对象片段部分)以CTU单位进行编码,生成涉及对象片段的片段数据以及解码图像(解码图片)并输出。更具体而言,CTU编码部242以参数集包括的CTB大小的大小的CTB作为单位,将对象片段的输入图像进行分割,并将与各CTB对应的图像作为一个CTU进行编码。CTU的编码由预测残差编码部2421、预测图像编码部2422、CTU解码图像生成部2423所执行。
预测残差编码部2421将对被输入的输入图像和预测图像的差分图像进行变换/量化而获得的量化残差信息(TT信息)作为在片段编码数据中包含的片段数据的一部分而输出。此外,对量化残差信息应用逆变换/逆量化而恢复预测残差,并将恢复的预测残差输出到CTU解码图像生成部2423。
预测图像编码部2422基于在编码参数决定部26中决定的、在对象片段中包含的对象CTU的预测方式以及预测参数,生成预测图像并输出到预测残差编码部2421和CTU解码图像生成部2423。另外,预测方式或预测参数的信息作为预测信息(PT信息)进行可变长编码,并作为在片段编码数据中包含的片段数据的一部分而输出。在预测图像编码部2422中能够选择的预测方式中,至少包括层间图像预测。
预测图像编码部2422在选择了层间图像预测作为预测方式的情况下,执行对应参照位置导出处理,决定与预测对象像素对应的参照层像素位置,通过基于该位置的插值处理而生成预测像素值。作为对应参照位置导出处理,能够应用关于层次运动图像解码装置1的预测图像生成部1422进行了说明的各处理。例如,应用在<层图像预测的预测图像生成处理的细节>中说明的处理。另外,在使用外部预测或者层间图像预测的情况下,从解码图片管理部15读出对应的参照图片。
以上,上述层次运动图像编码装置2具备的预测图像编码部2422由于能够使用所述层间相位对应信息来导出与预测对象像素对应的参照层图片上的准确的位置,所以通过插值处理而生成的预测像素的准确度提高。因此,上述层次运动图像编码装置2能够比以往少的符号量来生成编码数据并输出。
由于CTU解码图像生成部2423是与层次运动图像解码装置1具备的CTU解码图像生成部1423相同的结构要素,所以省略说明。另外,对象CTU的解码图像提供给解码图片管理部15,记录在内部的DPB中。
<图片编码部24的编码过程>
以下,参照图24说明图片编码部24中的对象层i的图片的编码的概略性的动作。图24是表示图片编码部24中的构成对象层i的图片的片段单位的编码过程的流程图。
(SE101)对编码对象片段的开头片段标记(first_slice_segment_in_pic_flag)进行编码。即,若以片段单位进行了分割的输入图像(以后,称为编码对象片段)按照图片内的编码顺序(解码顺序)(以后,称为处理顺序)为开头片段,则开头片段标记(first_slice_segment_in_pic_flag)为1。若编码对象片段不是开头片段,则开头片段标记为0。另外,在开头片段标记为1的情况下,将编码对象片段的开头CTU地址设定为0。进一步,将图片内的处理完毕CTU数的计数器numCtb设定为0。在开头片段标记为0的情况下,基于在后述的SD106中进行编码的片段地址,设定编码对象片段的开头CTU地址。
(SE102)对指定在编码对象片段的编码时参照的有效PPS的有效PPS识别符(slice_pic_paramter_set_id)进行编码。
(SE104)提取在编码参数决定部26中决定的有效参数集。即,将具有与编码对象片段参照的有效PPS识别符(slice_pic_parameter_set_id)相同的PPS识别符(pps_pic_parameter_set_id)的PPS设为有效PPS,从编码参数决定部26提取(读出)有效PPS的编码参数。进一步,将具有与有效PPS内的有效SPS识别符(pps_seq_parameter_set_id)相同的SPS识别符(sps_seq_parameter_set_id)的SPS设为有效SPS,从编码参数决定部26提取有效SPS的编码参数。进一步,将具有与有效SPS内的有效VPS识别符(sps_video_parameter_set_id)相同的VPS识别符(vps_video_parameter_set_id)的VPS设为有效VPS,从编码参数决定部26提取有效VPS的编码参数。
(SE105)基于开头片段标记来判定编码对象片段按照图片内的处理顺序是否为开头片段。在开头片段标记为0的情况下(SE105中“是”),转移到步骤SE106。在除此以外的情况下(SE105中“否”),跳过步骤SE106的处理。另外,在开头片段标记为1的情况下,编码对象片段的片段地址为0。
(SE106)对编码对象片段的片段地址(slice_segment_address)进行编码。另外,编码对象片段的片段地址(编码对象片段的开头CUT地址)例如能够基于图片内的处理完毕CTU数的计数器numCtb而设定。在该情况下,片段地址slice_segment_adress=numCtb。也即,编码对象片段的开头CTU地址=numCtb。另外,片段地址的决定方法并不限定于此,在可实施的范围内能够进行变更。
……省略……
(SE10A)CTU编码部242基于被输入的有效参数集、片段头部,以CTU单位对输入图像(编码对象片段)进行编码,并作为编码对象片段的片段数据的一部分,输出CTU信息的编码数据(图18的SYNSD01)。此外,CTU编码部242生成与各CTU对应的区域的CTU解码图像并输出。进一步,在各CTU信息的编码数据之后,对表示该CTU是否为编码对象片段的终端的片段终端标记(end_of_slice_segment_flag)(图18的SYNSD2)进行编码。在该CTU为编码对象片段的终端的情况下,将片段终端标记设定为1,在除此以外的情况下,设定为0,并进行编码。此外,在各CTU的编码后,将处理完毕CTU数numCtb的值加1(numCtb++)。
(SE10B)基于片段终端标记来判定该CTU是否为编码对象片段的终端。在片段终端标记为1的情况下(SE10B中“是”),转移到步骤SE10C。在除此以外的情况下(SE10B中“否”),为了对后续的CTU进行编码,转移到步骤SE10A。
(SE10C)判定处理完毕CTU数numCtu是否达到构成图片的CTU的总数(PicSizeInCtbsY)。即,判定是否为numCtu==PicSizeInCtbsY。在numCtu等于PicSizeInCtbsY的情况下(SE10C中“是”),结束构成编码对象图片的片段单位的编码处理。在除此以外的情况下(numCtu<PicSizeInCtbsY)(SE10C中“否”),为了继续构成编码对象对象图片的片段单位的编码处理,转移到步骤SE101。
以上,说明了实施例1的图片编码部24的动作,但并不限定于上述步骤,也可以在可实施的范围内变更步骤。
(运动图像编码装置2的效果)
以上说明的本实施方式的层次运动图像编码装置2通过共享在参照层的编码中利用的参数集作为在对象层的编码中利用的参数集(SPS、PPS),能够削减涉及对象层的参数集的符号量。更具体而言,在本实施例中,作为层依赖类型,除了VCL间的依赖类型(层间图像预测或层间移动预测)之外,新导入non-VCL间的依赖类型的有无。在non-VCL间的依赖中,包括不同的层间的参数集的共享(共享参数集)、不同的层间的参数集间的语法的一部分的预测(参数集间语法预测)。
通过显式地通知表示non-VCL的有无的依赖类型的有无,起到解码器能够通过对VPS扩展数据进行解码而掌握层集内的哪个层成为对象层的non-VCL的依赖层(non-VCL参照层)的效果。即,能够解除在编码数据的解码开始时刻不清楚层识别符的值为nuhLayerIdA的层A的参数集与哪个层共同利用(应用共享参数集)这样的课题。
此外,通过导入non-VCL间的依赖类型的有无,在解码器和编码器间能够显式地示出以下的比特流限制。
即,作为比特流一致性,比特流必须满足以下的条件CX1。
CX1:“当层识别符nuhLayerIdA的non-VCL为在层识别符nuhLayerIdB的层中利用的non-VCL时,层识别符nuhLayerIdA的层是层识别符nuhLyaerIdB的直接参照层、且non-VCL依赖有无标记为1”
进一步,关于共享参数集进行限定的话,作为比特流一致性,比特流必须满足以下的条件CX2。
CX2:“当层识别符nuhLayerIdA的参数集是层识别符nuhLayerIdB的层的有效参数集时,层识别符nuhLayerIdA的层是层识别符nuhLyaerIdB的直接参照层、且non-VCL依赖有无标记为1”
进一步,将上述限制条件CX2限定为与SPS有关的共享参数集、与PPS有关的共享参数集的话,作为比特流一致性,比特流必须分别满足以下的条件CX3以及CX4。
CX3:“当层识别符nuhLayerIdA的SPS为层识别符nuhLayerIdB的层的有效SPS时,层识别符nuhLayerIdA的层是层识别符nuhLayerIdB的直接参照层、且non-VCL依赖有无标记为1”
CX4:“当层识别符nuhLayerIdA的PPS为层识别符nuhLayerIdB的层的有效PPS时,层识别符nuhLayerIdA的层是层识别符nuhLyaerIdB的直接参照层、且non-VCL依赖有无标记为1”
上述比特流限制换言之能够作为共享参数集而利用的参数集是对于对象层的直接参照层的参数集。
能够作为共享参数集而利用的参数集是对于对象层的直接参照层的参数集是指,禁止在作为层集A的子集的层集B内参照包含在层集A中但不包含在层集B中的层。
即,在从层集A中将作为子集的层集B进行比特流提取时,由于能够禁止参照不包含在层集B中的层的参数集的共享,所以具有层集B的某层参照的直接参照层的层ID的参数集不会被丢弃。因此,能够解除在通过比特流提取而生成的子比特流中,利用共享参数集的层无法进行解码的问题。即,能够解除在图1中说明的现有技术中产生的比特流提取时的课题。
(non-VCL依赖类型的变形例1)
由于动画编码装置1中的non-VCL依赖类型的变形例1对应于运动图像解码装置1中的non-VCL依赖类型的变形例1,且是相同的内容,所以省略说明。此外,起到与运动图像解码装置1中的non-VCL依赖类型的变形例1相同的效果。
(non-VCL依赖类型的变形例2)
由于动画编码装置1中的non-VCL依赖类型的变形例2对应于运动图像解码装置1中的non-VCL依赖类型的变形例2,且是相同的内容,所以省略说明。此外,起到与运动图像解码装置1中的non-VCL依赖类型的变形例2相同的效果。
(共享参数集的变形例1)
运动图像编码装置2中的共享参数集的变形例1是对应于运动图像解码装置1中的共享参数集的变形例1的逆处理。
(共享参数集的变形例1的片段头部)
在片段头部中,也可以包括对象层i可作为共享参数集而参照的、在non-VCL的直接参照层数为1的情况下(NumNonVCLDepRefLayers[i]==1)表示PPS在层间被参照的共享PPS利用标记(slice_shared_pps_flag)(例如,图27(a)上的SYNSH0X)。即,在图27(a)的例中,片段头部设定部241在紧跟着有效PPS识别符(slice_pic_parameter_set_id)(图27(a)的SYNSH02)之后,对象层i的层识别符nuhLayerId(nuh_layer_id)大于0的情况下,对该共享PPS利用标记(slice_shared_pps_flag)进行解码。片段头部设定部241在该共享PPS利用标记为真的情况下,作为对象层i的编码数据的一部分,在参数集符号部22中省略具有对象层i的层ID的PPS的编码,将由有效PPS识别符(slice_pic_parameter_set_id)所确定的、具有non-VCL依赖层NonVCLDepRefLayerId[i][0]的层ID的编码完毕PPS设为有效PPS。片段头部设定部241在共享PPS利用标记为假的情况下,作为对象层i的编码数据的一部分,在参数集符号部22中具有对象层i的层ID的PPS已经编码完毕,所以将由有效PPS识别符(slice_pic_parameter_set_id)所确定的、具有对象层i的层ID的编码完毕PPS设为有效PPS。即,片段头部设定部241将基于有效PPS识别符以及共享PPS利用标记所确定的PPS设为在之后的语法等的编码时参照的有效PPS,将该有效PPS的编码参数从编码参数决定部26读出(提取,激活PPS)。
(共享参数集的变形例1的片段头部的效果)
能够起到与运动图像解码装置1中的non-VCL的依赖类型的有无的导入相同的效果,且以图片单位选择是否利用与PPS有关的共享参数集。例如,当层间在图片的编码中利用的PPS的最佳的参数与参照层的参数不同的情况下,通过在对象层中设为slice_shared_pps_flag=0,参照具有对象层的层ID的PPS,能够降低对象层的图片的编码数据的符号量以及削减涉及对象层的图片的编码数据的解码/编码的处理量。此外,通过在对象层中设为slice_shared_pps_flag=1,参照具有参照层的层ID的PPS,能够省略具有对象层的层ID的PPS的编码,降低与该PPS有关的符号量以及削减该PPS的解码/编码所需的处理量。
(共享参数集的变形例1的PPS)
同样地,在图片参数集PPS中,也可以包括对象层i可作为共享参数而参照的、在non-VCL的直接参照层数为1的情况下(NumNonVCLDepRefLayers[i]==1)表示SPS在层间被参照的共享SPS利用标记(pps_shared_sps_flag)。即,在图28(a)的例中,参数集编码部22在紧跟着PPS识别符(pps_pic_parameter_set_id)(图28(a)上的SYNPPS01)、有效SPS识别符(pps_seq_parameter_set_id)(图28(a)上的SYNPPS02)之后,对象层i的层识别符nuhLayerId(nuh_layer_id)大于0的情况下,对该共享SPS利用标记(pps_shared_sps_flag)进行编码。参数集编码部22在该共享SPS利用标记(pps_shared_sps_flag)为真的情况下,作为对象层i的编码数据的一部分,省略具有对象层i的层ID的SPS的编码,将由有效SPS识别符(pps_seq_parameter_set_id)所确定的、具有non-VCL依赖层NonVCLDepRefLayerId[i][0]的层ID的编码完毕SPS设为有效SPS。此外,参数集编码部22在该共享SPS利用标记为假的情况下,作为对象层i的编码数据的一部分,对由有效SPS识别符(pps_seq_parameter_set_id)所确定的、具有对象层i的层ID的SPS进行编码,将由该有效SPS识别符(pps_seq_parameter_set_id)所确定的SPS设为有效SPS。即,参数集编码部22也可以将基于有效SPS识别符以及共享SPS利用标记所确定的SPS设为在之后的语法等的编码时参照的有效SPS,将该有效SPS的编码参数从编码参数决定部26读出(提取,激活SPS)。另外,在编码对象PPS的各语法不依赖有效SPS的编码参数的情况下,不需要编码对象PPS的编码开始时刻的、SPS的激活处理。
同样地,片段头部设定部241在共享SPS利用标记为真的情况下,作为对象层i的编码数据的一部分,在参数集符号部22中省略具有对象层i的层ID的SPS的编码,将由有效PPS具有的有效SPS识别符(pps_seq_parameter_set_id)所确定的、具有non-VCL依赖层NonVCLDepRefLayerId[i][0]的层ID的编码完毕SPS设为有效SPS。片段头部设定部241在共享SPS利用标记为假的情况下,作为对象层i的编码数据的一部分,在参数集符号部22中具有对象层i的层ID的SPS已经编码完毕,所以将由有效PPS具有的有效SPS识别符(pps_seq_parameter_set_id)所确定的、具有对象层i的层ID的编码完毕SPS设为有效SPS。即,片段头部设定部241将基于有效PPS具有的有效SPS识别符(pps_seq_parameter_set_id)、共享SPS利用标记所确定的SPS设为在之后的语法等的编码时参照的有效SPS,将该有效SPS的编码参数从编码参数决定部26读出(提取,激活SPS)
(共享参数集的变形例1的PPS的效果)
能够起到与运动图像解码装置1中的non-VCL的依赖类型的有无的导入相同的效果,且以图片单位选择是否利用与SPS有关的共享参数集。例如,当层间在图片的编码中利用的SPS的最佳的参数与参照层的参数不同的情况下,通过在对象层中设为pps_shared_sps_flag=0,参照具有对象层的层ID的SPS,能够降低对象层的图片的编码数据的符号量以及削减涉及对象层的图片的编码数据的解码/编码的处理量。此外,通过在对象层中设为pps_shared_sps_flag=1,参照具有参照层的层ID的SPS,能够省略具有对象层的层ID的SPS的编码,降低与该SPS有关的符号量以及削减该SPS的解码/编码所需的处理量。
(共享参数集的变形例2)
运动图像编码装置2中的共享参数集的变形例2是对应于运动图像解码装置1中的共享参数集的变形例2的逆处理。
(共享参数集的变形例2的片段头部)
在片段头部中,也可以包括对象层i可作为共享参数集而参照的、在non-VCL的直接参照层数大于1的情况下(NumNonVCLDepRefLayers[i]>1)表示PPS在层间被参照的共享PPS利用标记(slice_shared_pps_flag)(例如,图27(b)上的SYNSH0X)以及指定non-VCL依赖层的non-VCL依赖层指定信息(NonVCLDepRefLayerId[i][slice_non_vcl_dep_ref_layer_id]的slice_non_vcl_dep_ref_layer_id(图27(b)上的SYNSH0Y))。
即,在图27(b)的例中,片段头部设定部241在紧跟着有效PPS识别符(slice_pic_parameter_set_id)之后,对象层i的层识别符nuhLayerId(nuh_layer_id)大于0的情况下,对该共享PPS利用标记(slice_shared_pps_flag)进行编码。进一步,片段头部设定部241在共享PPS利用标记为真的情况下,作为对象层i的编码数据的一部分,在参数集符号部22中省略具有对象层i的层ID的PPS的编码,将由有效PPS识别符(slice_pic_parameter_set_id)、以及non-VCL依赖层指定信息(NonVCLDepRefLayerId[i][slice_non_vcl_dep_ref_layer_id]的slice_non_vcl_dep_ref_layer_id)所确定的、具有non-VCL依赖层NonVCLDepRefLayerId[i][slice_non_vcl_dep_ref_layer_id]的层ID的编码完毕PPS设为有效PPS。片段头部设定部241在共享PPS利用标记为假的情况下,作为对象层i的编码数据的一部分,在参数集编码部22中具有对象层i的层ID的PPS已经编码完毕,所以将由有效PPS识别符(slice_pic_parameter_set_id)所确定的、具有对象层i的层ID的编码完毕PPS设为有效PPS。
(共享参数集的变形例2的片段头部的效果)
能够起到与运动图像解码装置1中的non-VCL的依赖类型的有无的导入相同的效果以及与共享参数集的变形例1相同的效果,且以图片单位从多个层中选择与PPS有关的共享参数集。例如,当层间在图片的编码中利用的PPS的最佳的参数与参照层的参数不同的情况下,通过在对象层中设为slice_shared_pps_flag=0,参照具有对象层的层ID的PPS,能够降低对象层的图片的编码数据的符号量以及削减涉及对象层的图片的编码数据的解码/编码的处理量。此外,通过在对象层中设为slice_shared_pps_flag=1,参照具有由NonVCLDepRefLayerId[i][slice_non_vcl_dep_ref_layer_id]所确定的non-VCL依赖层的层ID的PPS,能够省略具有对象层的层ID的PPS的编码,降低与该PPS有关的符号量以及削减该PPS的解码/编码所需的处理量。
(共享参数集的变形例2的PPS)
同样地,在图片参数集PPS中,也可以包括对象层i可作为共享参数而参照的、在non-VCL的直接参照层数大于1的情况下(NumNonVCLDepRefLayers[i]>1)表示SPS在层间被参照的共享SPS利用标记(pps_shared_sps_flag)(例如,图28(b)上的SYNPPS05)以及指定non-VCL依赖层的non-VCL依赖层指定信息(NonVCLDepRefLayerId[i][pps_non_vcl_dep_ref_layer_id]的pps_non_vcl_dep_ref_layer_id(图28(b)上的SYNPPS06))。
即,在图28(b)的例中,参数集编码部22在紧跟着PPS识别符(pps_pic_parameter_set_id)(图28(b)上的SYNPPS01)、有效SPS识别符(pps_seq_parameter_set_id)(图28(b)上的SYNPPS02)之后,对象层i的层识别符nuhLayerId(nuh_layer_id)大于0的情况下,对该共享SPS利用标记(pps_shared_sps_flag)进行编码。进一步,参数集编码部22在共享SPS利用标记为真的情况下,对non-VCL依赖层指定信息(pps_non_vcl_dep_ref_layer_id)进行编码。参数集编码部22作为对象层i的编码数据的一部分,省略具有对象层i的层ID的SPS的编码,将具有有效PPS具有的有效SPS识别符(pps_seq_parameter_set_id)以及non-VCL依赖层NonVCLDepRefLayerId[i][pps_non_vcl_dep_ref_layer_id]的层ID的编码完毕SPS设为有效SPS。此外,参数集编码部22在该共享SPS利用标记为假的情况下,作为对象层i的编码数据的一部分,对由有效SPS识别符(pps_seq_parameter_set_id)所确定的、具有对象层i的层ID的SPS进行编码,并将由该有效SPS识别符(pps_seq_parameter_set_id)所确定的SPS设为有效SPS。即,参数集编码部22也可以将基于有效SPS识别符、共享SPS利用标记(pps_shared_sps_flag)以及non-VCL依赖层指定信息(pps_non_vcl_dep_ref_layer_id)所确定的SPS设为在之后的语法等的编码时参照的有效SPS,将该有效SPS的编码参数从编码参数决定部26读出(提取,激活SPS)。另外,在编码对象PPS的各语法不依赖有效SPS的编码参数的情况下,不需要编码对象PPS的编码开始时刻的、SPS的激活处理。
同样地,片段头部设定部241在共享SPS利用标记为真的情况下,作为对象层i的编码数据的一部分,在参数集编码部22中省略具有对象层i的层ID的SPS的编码,将由有效PPS具有的有效SPS识别符(pps_seq_parameter_set_id)所确定的、具有non-VCL依赖层NonVCLDepRefLayerId[i][pps_non_vcl_ref_layer_id]的层ID的编码完毕SPS设为有效SPS。片段头部设定部241在共享SPS利用标记为假的情况下,作为对象层i的编码数据的一部分,在参数集编码部22中具有对象层i的层ID的SPS已经编码完毕,所以将由有效PPS具有的有效SPS识别符(pps_seq_parameter_set_id)所确定的、具有对象层i的层ID的编码完毕SPS设为有效SPS。即,片段头部设定部241将基于有效PPS具有的有效SPS识别符、共享SPS利用标记(pps_shared_sps_flag)以及non-VCL依赖层指定信息(pps_non_vcl_ref_layer_id)所确定的SPS设为在之后的语法等的编码时参照的有效SPS,将该有效SPS的编码参数从编码参数决定部26读出(提取,激活SPS)。
(共享参数集的变形例2的PPS的效果)
能够起到与运动图像解码装置1中的non-VCL的依赖类型的有无的导入相同的效果以及与共享参数集的变形例1相同的效果,且以图片单位从多个层中选择与SPS有关的共享参数集。例如,当层间在图片的编码中利用的SPS的最佳的参数与参照层的参数不同的情况下,通过在对象层中设为pps_shared_sps_flag=0,参照具有对象层的层ID的SPS,能够降低对象层的图片的编码数据的符号量以及削减涉及对象层的图片的编码数据的解码/编码的处理量。此外,通过在对象层中设为pps_shared_sps_flag=1,参照具有由NonVCLDepRefLayerId[i][pps_nov_vcl_dep_ref_layer_id]所确定的non-VCL依赖层的层ID的SPS,能够省略具有对象层的层ID的SPS的编码,降低与该SPS有关的符号量以及削减该SPS的解码/编码所需的处理量。
(备注事项)
另外,在层次动画层编码装置2具备的参数集编码部22中,将示出表示第i个层和第j个层间的参照关系的层依赖类型的语法“direct_dependency_type[i][j]”(图13的SYNVPS0D)的值作为层间依赖信息,对在图14的例中说明的层依赖类型的值-1、即“DirectDepType[i][j]-1”的值进行了编码,但并不限定于此。也可以取而代之,将语法“direct_dependency_type[i][j]”的值直接作为层依赖类型的值、即“DirectDepType[i][j]”的值进行编码。在该情况下,关于表示层依赖类型的语法“direct_dependency_type[i][j]”的值,追加以下的限制CV1。即,作为比特流一致性,比特流必须满足以下的条件CV1。
CV1:“在直接依赖标记“direct_dependency_flag[i][j]”的值为1的情况下,表示层依赖类型的语法“direct_dependency_type[i][j]”的值为大于0的整数”。即,层依赖类型“direct_dependency_type[i][j]”的值域若使用由层依赖类型的比特长M以及层依赖类型的总数所确定的N表示,则direct_dependency_type[i][j]的值域是1至(2^M-N)。在以上的情况下,也起到与在(non-VCL依赖类型的效果)中说明的效果相同的效果。进一步,由于将语法“direct_dependency_type[i][j]”的值直接设为层依赖类型的值、即“DirectDepType[i][j]”的值,所以与设为“DirectDepType[i][j]-1”的情况相比,能够削减加算(减算)的运算。即,能够简化层依赖类型“DirectDepType[i][j]”的导出处理、编码处理。另外,上述变更是与在层次运动图像解码装置1中说明的(备注事项)对应的逆处理。
(对于其他的层次运动图像编码/解码系统的应用例)
上述的层次运动图像编码装置2以及层次运动图像解码装置1能够搭载在进行运动图像的发送、接收、记录、再现的各种装置中利用。另外,运动图像可以是由相机等拍摄到的自然运动图像,也可以是由计算机等生成的人工运动图像(包括CG以及GUI)。
基于图25,说明能够将上述的层次运动图像编码装置2以及层次运动图像解码装置1利用于运动图像的发送以及接收的情况。图25的(a)是表示搭载了层次运动图像编码装置2的发送装置PROD_A的结构的框图。
如图25的(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。在图25的(a)中,例示由发送装置PROD_A具备了这些全部的结构,但也可以省略一部分。
另外,记录介质PROD_A5可以是记录了没有被编码的运动图像的记录介质,也可以是记录了以与传输用的编码方式不同的记录用的编码方式进行了编码的运动图像的记录介质。在后者的情况下,只要在记录介质PROD_A5和编码部PROD_A1之间,介入根据记录用的编码方式对从记录介质PROD_A5读出的编码数据进行解码的解码部(未图示)即可。
图25的(b)是表示搭载了层次运动图像解码装置1的接收装置PROD_B的结构的框图。如图25的(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。在图25的(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中作为传输介质而使用有线)。这里,在个人计算机中,包括桌上型PC、膝上型PC以及平板型PC。此外,在智能手机中,还包括多功能便携电话终端。
另外,动画共享服务的客户端除了具有将从服务器下载的编码数据进行解码而在显示器中显示的功能之外,还具有将通过相机拍摄到的运动图像进行编码而上传到服务器中的功能。即,动画共享服务的客户端作为发送装置PROD_A及接收装置PROD_B的双方发挥作用。
基于图26,说明能够将上述的层次运动图像编码装置2以及层次运动图像解码装置1利用于运动图像的记录以及再现的情况。图26的(a)是表示搭载了上述的层次运动图像编码装置2的记录装置PROD_C的结构的框图。
如图26的(a)所示,记录装置PROD_C包括通过对运动图像进行编码而获得编码数据的编码部PROD_C1以及将编码部PROD_C1获得的编码数据写入记录介质PROD_M的写入部PROD_C2。上述的层次运动图像编码装置2作为该编码部PROD_C1而被利用。
另外,记录介质PROD_M既可以是(1)如HDD(Hard Disk Drive,硬盘驱动器)或SSD(Solid State Drive,固态硬盘)等那样内置在记录装置PROD_C中的类型,也可以是(2)如SD存储卡或USB(Universal Serial Bus,通用串行总线)闪速存储器等那样连接到记录装置PROD_C的类型,也可以是(3)如DVD(Digital Versatile Disc,数字视盘)或BD(Blu-rayDisc(注册商标),蓝光盘)等那样在内置于记录装置PROD_C中的驱动器装置(未图示)中装填的类型。
此外,记录装置PROD_C也可以作为对编码部PROD_C1输入的运动图像的供应源,进一步包括拍摄运动图像的相机PROD_C3、用于从外部输入运动图像的输入端子PROD_C4、用于接收运动图像的接收部PROD_C5以及生成或者加工图像的图像处理部C6。在图26的(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的一例。
图26的(b)是表示搭载了上述的层次运动图像解码装置1的再现装置PROD_D的结构的块。如图26的(b)所示,再现装置PROD_D包括读出写入记录介质PROD_M的编码数据的读出部PROD_D1、以及通过对读出部PROD_D1读出的编码数据进行解码而获得运动图像的解码部PROD_D2。上述的层次运动图像解码装置1作为该解码部PROD_D2而被利用。
另外,记录介质PROD_M既可以是(1)如HDD或SSD等那样内置在再现装置PROD_D中的类型,也可以是(2)如SD存储卡或USB闪速存储器等那样连接到再现装置PROD_D的类型,也可以是(3)如DVD或BD等那样在内置于再现装置PROD_D中的驱动器装置(未图示)中装填的类型。
此外,再现装置PROD_D也可以作为解码部PROD_D2输出的运动图像的供应目的地,进一步包括显示运动图像的显示器PROD_D3、用于将运动图像输出到外部的输出端子PROD_D4以及发送运动图像的发送部PROD_D5。在图26的(b)中,例示了再现装置PROD_D将这些全部具备的结构,但也可以省略一部分。
另外,发送部PROD_D5既可以是发送没有进行编码的运动图像的部分,也可以是发送以与记录用的编码方式不同的传输用的编码方式进行了编码的编码数据的部分。在后者的情况下,只要在解码部PROD_D2和发送部PROD_D5之间,介入以传输用的编码方式对运动图像进行编码的编码部(未图示)即可。
作为这样的再现装置PROD_D,例如举出DVD播放器、BD播放器、HDD播放器等(此时,连接了电视接收机等的输出端子PROD_D4成为运动图像的主要的供应目的地)。此外,电视接收机(此时,显示器PROD_D3成为运动图像的主要的供应目的地)、数字标牌(也称为电子广告牌或电子布告牌等,显示器PROD_D3或者发送部PROD_D5成为运动图像的主要的供应目的地)、桌上型PC(此时,输出端子PROD_D4或者发送部PROD_D5成为运动图像的主要的供应目的地)、膝上型或者平板型PC(此时,显示器PROD_D3或者发送部PROD_D5成为运动图像的主要的供应目的地)、智能手机(此时,显示器PROD_D3或者发送部PROD_D5成为运动图像的主要的供应目的地)等也是这样的再现装置PROD_D的一例。
(关于硬件的实现以及软件的实现)
最后,层次运动图像解码装置1、层次运动图像编码装置2的各模块既可以通过在集成电路(IC芯片)上形成的逻辑电路而以硬件方式实现,也可以使用CPU(CentralProcessing Unit,中央处理器)而以软件方式实现。
在后者的情况下,上述各装置包括执行用于实现各功能的控制程序的命令的CPU、存储了上述程序的ROM(Read Only Memory,只读存储器)、展开上述程序的RAM(RandomAccess Memory,随机接入存储器)、存储上述程序以及各种数据的存储器等的存储装置(记录介质)等。并且,通过将实现上述的功能的软件即上述各装置的控制程序的程序代码(执行形式程序、中间代码程序、源程序)以计算机能够读取的方式记录的记录介质提供给上述各装置,其计算机(或者CPU或MPU(Micro Processing Unit,微处理器))读出在记录介质中记录的程序代码而执行,也能够达成本发明的目的。
作为上述记录介质,例如,能够使用磁带或盒式录音带等的带类、包括软盘(注册商标)/硬盘等的磁盘或CD-ROM(Compact Disc Read-Only Memory,光盘只读存储器)/MO(Magneto-Optical,光磁)/MD(Mini Disc,迷你盘)/DVD(Digital Versatile Disk,数字视频盘)/CD-R(CD Recordable,CD刻录)等的光盘的盘类、IC卡(包括存储卡)/光卡等的卡类、掩模ROM/EPROM(Erasable Programmable Read-only Memory,可擦除可编程序只读存储器)/EEPROM(注册商标)(Electrically Erasable and Programmable Read-only Memory,电可擦除可编程只读存储器)/闪速ROM等的半导体存储器类、或者PLD(Programmablelogic device,可编程逻辑电路)或FPGA(Field Programmable Gate Array,可编程门阵列)等的逻辑电路类等。
此外,也可以将上述各装置构成为能够与通信网络连接,经由通信网络而提供上述程序代码。该通信网络只要能够传输程序代码即可,没有特别限定。例如,可以利用互联网、内联网、外联网、LAN(Local Area Network,局域网)、ISDN(Integrated ServicesDigital Network,综合服务数字网络)、VAN(Value-Added Network,增值网络)、CATV(Community Antenna Television,共用天线电视)通信网、虚拟专用网(virtual privatenetwork)、电话线路网、移动通信网、卫星通信网等。此外,作为构成该通信网络的传输介质,只要能够传输程序代码的介质即可,并不限定于特定的结构或者种类。例如还能够利用IEEE(Institute of Electrical and Electronic Engineers,电气与电子工程师协会)1394、USB、电力线传输、电缆TV线路、电话线、ADSL(Asymmetric Digital SubscriberLine,非对称数字用户线路)线路等的有线,也可以使用IrDA(Infrared DataAssociation,红外数据协会)或遥控那样的红外线、Bluetooth(注册商标)、IEEE 802.11无线、HDR(High Data Rate,高数据率)、NFC(Near Field Communication,近场通信)、DLNA(注册商标)(Digital Living Network Alliance,数字生活网络联盟)、移动电话网、卫星线路、地面波数字网等的无线。另外,通过上述程序代码以电子传输而具体化的、埋入载波的计算机数据信号的方式,也能够实现本发明。
〔总结〕
本发明的方式1涉及的图像解码装置是一种具备对层识别符进行解码的层识别符解码单元、对表示对象层和参照层的参照关系的层依赖标记进行解码的层依赖标记解码单元、对non-VCL进行解码的non-VCL解码单元的图像解码装置,该图像解码装置的特征在于,所述图像解码装置对满足由某对象层参照的non-VCL的层识别符是与所述对象层相同的层识别符或者由所述对象层直接参照的层的层识别符这样的一致性条件的图像编码数据进行解码。
根据以上的图像解码装置,对满足“某对象层能够参照的层的non-VCL是具有对于对象层的直接参照层的层识别符的non-VCL”的图像编码数据进行解码。“某对象层能够参照的层的non-VCL是具有对于对象层的直接参照层的层识别符的non-VCL”意味着禁止“作为层集A的子集的层集B内的层参照‘包含在层集A中但不包含在层集B中’的层的non-VCL”。
即,在从层集A中将作为子集的层集B进行比特流提取时,由于能够禁止“作为层集A的子集的层集B内的层参照‘包含在层集A中但不包含在层集B中’的层的non-VCL”,所以在层集B中包含的层参照的直接参照层的non-VCL不会被丢弃。因此,能够解除在通过比特流提取而生成的子比特流中,直接参照层的non-VCL被丢弃,参照所述直接参照层的层无法进行解码的问题。
本发明的方式2涉及的图像解码装置的特征在于,在上述方式1中,对满足上述参照的non-VCL的层识别符进一步是由所述对象层间接参照的层识别符这样的一致性条件的图像编码数据进行解码。
根据以上的图像解码装置,对某对象层能够参照的参照层的non-VCL是对于对象层的直接参照层或者间接参照层的non-VCL的图像编码数据进行解码。因此,能够解除在通过比特流提取而生成的子比特流中,直接参照层或者间接参照层的non-VCL被丢弃,参照所述直接参照层或者间接参照层的层无法进行解码的问题。
本发明的方式3涉及的图像解码装置的特征在于,在上述方式1或者方式2中,进一步,对所述参照层由所述层依赖标记所指定的图像编码数据进行解码。
根据以上的图像编码数据,限制为“所述直接参照层或者间接参照层是由表示对象层和参照层的参照关系的层依赖标记所指定的参照层”。即,限制为“对象层能够参照的参照层的non-VCL是由表示对象层和参照层的参照关系的层依赖标记所指定的参照层”。因此,能够解除在从上述图像编码数据通过比特流提取而生成的子比特流中,由层依赖标记所指定的直接参照层或者间接参照层的non-VCL被丢弃,将参照所述直接参照层或者间接参照层的层的non-VCL进行参照的层无法进行解码的问题。
本发明的方式4涉及的图像解码装置的特征在于,在上述方式1中,还具备对层依赖类型进行解码的层依赖类型解码单元,所述层依赖类型包括表示所述对象层的non-VCL和所述参照层的non-VCL间的依赖的有无的non-VCL依赖类型。
根据以上的图像解码装置,对限制为“所述直接参照层是表示所述non-VCL依赖类型有non-VCL间的依赖的参照层”的图像编码数据进行解码。即,限制为“对象层能够参照的参照层是有所述对象层和所述直接参照层的non-VCL间的依赖的直接参照层”。因此,能够解除在通过比特流提取而生成的子比特流中,有所述对象层和所述直接参照层的non-VCL间的依赖的直接参照层的non-VCL被丢弃,参照所述直接参照层的层无法进行解码的问题。
本发明的方式5涉及的图像解码装置的特征在于,在上述方式4中,进一步,对满足当具有等于所述参照层的层识别符nuhLayerIdA的nuh_layer_id的non-VCL为在具有等于nuhLayerIdB的nuh_layer_id的对象层中利用的non-VCL的情况下,等于nuhLayerIdA的nuh_layer_id的层是具有等于nuhLayerIdB的nuh_layer_id的层的直接参照层这样的一致性条件的图像解码数据进行解码。
根据以上的图像解码装置,对限制为“当具有等于所述参照层的层识别符nuhLayerIdA的nuh_layer_id的non-VCL为在具有等于nuhLayerIdB的nuh_layer_id的对象层中利用的non-VCL的情况下,等于nuhLayerIdA的nuh_layer_id的层是具有等于nuhLayerIdB的nuh_layer_id的层的直接参照层”的图像编码数据进行解码。因此,能够解除在通过比特流提取而生成的子比特流中,具有等于nuhLayerIdA的nuh_layer_id的直接参照层的non-VCL被丢弃,具有等于参照所述直接参照层的nuhLayerIdB的nuh_layer_id的层无法进行解码的问题。
本发明的方式6涉及的图像解码装置的特征在于,在上述方式4或者方式5中,进一步,对所述non-VCL依赖类型包括共享参数集的依赖的有无的图像编码数据进行解码。
根据以上的图像解码装置,对限制为“对象层能够作为共享参数集而参照的参数集是表示所述对象层和所述直接参照层的所述non-VCL依赖类型有共享参数集的依赖的直接参照层的参数集”的图像编码数据进行解码。因此,能够解除在通过比特流提取而生成的子比特流中,表示所述对象层和所述直接参照层的所述non-VCL依赖类型有共享参数集的依赖的直接参照层的参数集被丢弃,参照所述直接参照层的层无法进行解码的问题。
本发明的方式7涉及的图像解码装置的特征在于,在上述方式4或者方式5中,进一步,对所述non-VCL依赖类型包括参数集间预测的依赖的有无的图像编码数据进行解码。
根据以上的图像解码装置,对限制为“对象层能够作为参数集间预测而参照的参数集是表示所述对象层和所述直接参照层的所述non-VCL依赖类型有参数集间预测的依赖的直接参照层的参数集”的图像编码数据进行解码。因此,能够解除在通过比特流提取而生成的子比特流中,表示所述对象层和所述直接参照层的所述non-VCL依赖类型有参数集间预测的依赖的直接参照层的参数集被丢弃,参照所述直接参照层的层无法进行解码的问题。
本发明的方式8涉及的图像解码装置其特征在于,在上述方式1至方式7中,进一步,对所述non-VCL包括参数集的图像编码数据进行解码。
根据以上的图像解码装置,作为non-VCL,对参数集进行解码。因此,能够解除在通过比特流提取而生成的子比特流中,所述参照层的参数集被丢弃,参照所述参照层的层无法进行解码的问题。
本发明的方式9涉及的图像编码数据的特征在于,所述图像编码数据是满足由某对象层参照的参照层的non-VCL的层识别符是与所述对象层相同的层识别符或者所述对象层的直接参照层的层识别符这样的一致性条件的图像编码数据。
根据以上的图像编码数据,限制为“某对象层能够参照的层的non-VCL是对于对象层的直接参照层的non-VCL”。“某对象层能够参照的层的non-VCL是具有对于对象层的直接参照层的层识别符的non-VCL”意味着禁止“作为层集A的子集的层集B内的层参照‘包含在层集A中但不包含在层集B中’的层的non-VCL”。
即,在从层集A中将作为子集的层集B进行比特流提取时,由于能够禁止“作为层集A的子集的层集B内的层参照‘包含在层集A中但不包含在层集B中’的层的non-VCL”,所以在层集B中包含的层参照的直接参照层的non-VCL不会被丢弃。因此,能够解除在从上述图像编码数据通过比特流提取而生成的子比特流中,直接参照层的non-VCL被丢弃,参照所述直接参照层的层无法进行解码的问题。
本发明的方式10涉及的图像编码数据的特征在于,在上述方式9中,进一步,所述图像编码数据是满足由所述对象层参照的参照层的non-VCL的层识别符是所述对象层的间接参照层的层识别符这样的一致性条件的图像编码数据。
根据以上的图像编码数据,限制为“某对象层能够参照的参照层的non-VCL是对于对象层的直接参照层或者间接参照层的non-VCL”。因此,能够解除在从上述图像编码数据通过比特流提取而生成的子比特流中,直接参照层或者间接参照层的non-VCL被丢弃,参照所述直接参照层或者间接参照层的层无法进行解码的问题。
本发明的方式11涉及的图像编码数据的特征在于,在上述方式9和方式10中,进一步,包括表示所述对象层和所述参照层的参照关系的层依赖标记,所述参照层由所述层依赖标记所指定。
根据以上的图像编码数据,对限制为“所述直接参照层或者间接参照层是由表示对象层和参照层的参照关系的层依赖标记所指定的参照层”的图像编码数据进行解码。即,限制为“对象层能够参照的参照层的non-VCL是由表示对象层和参照层的参照关系的层依赖标记所指定的参照层”。因此,能够解除在通过比特流提取而生成的子比特流中,由层依赖标记所指定的直接参照层或者间接参照层的non-VCL被丢弃,将参照所述直接参照层或者间接参照层的层的non-VCL进行参照的层无法解码的问题。
本发明的方式12涉及的图像编码数据的特征在于,在上述方式9中,进一步,包括表示所述对象层和所述参照层的参照关系的种类的层依赖类型,所述层依赖类型包括所述对象层的non-VCL和所述参照层的non-VCL间的non-VCL依赖类型。
根据以上的图像编码数据,限制为“所述直接参照层是表示所述non-VCL依赖类型有non-VCL间的依赖的参照层”。即,限制为“对象层能够参照的参照层是有所述对象层和所述直接参照层的non-VCL间的依赖的直接参照层”。因此,能够解除在从上述图像编码数据通过比特流提取而生成的子比特流中,有所述对象层和所述直接参照层的non-VCL间的依赖的直接参照层的non-VCL被丢弃,参照所述直接参照层的层无法进行解码的问题。
本发明的方式13涉及的图像编码数据的特征在于,在上述方式12中,进一步,当具有等于所述参照层的层识别符nuhLayerIdA的nuh_layer_id的non-VCL为在具有等于nuhLayerIdB的nuh_layer_id的对象层中利用的non-VCL的情况下,等于nuhLayerIdA的nuh_layer_id的层是具有等于nuhLayerIdB的nuh_layer_id的层的直接参照层。
根据以上的图像编码数据,限制为“当具有等于所述参照层的层识别符nuhLayerIdA的nuh_layer_id的non-VCL为在具有等于nuhLayerIdB的nuh_layer_id的对象层中利用的non-VCL的情况下,等于nuhLayerIdA的nuh_layer_id的层是具有等于nuhLayerIdB的nuh_layer_id的层的直接参照层”。因此,能够解除在从上述图像编码数据通过比特流提取而生成的子比特流中,具有等于nuhLayerIdA的nuh_layer_id的直接参照层的non-VCL被丢弃,具有等于参照所述直接参照层的nuhLayerIdB的nuh_layer_id的层无法进行解码的问题。
本发明的方式14涉及的图像编码数据的特征在于,在上述方式9和10中,进一步,所述non-VCL依赖类型包括共享参数集的依赖的有无。
根据以上的图像编码数据,限制为“对象层能够作为共享参数集而参照的参数集是表示所述对象层和所述直接参照层的所述non-VCL依赖类型有共享参数集的依赖的直接参照层的参数集”。因此,能够解除在从上述图像编码数据通过比特流提取而生成的子比特流中,表示所述对象层和所述直接参照层的所述non-VCL依赖类型有共享参数集的依赖的直接参照层的参数集被丢弃,参照所述直接参照层的层无法进行解码的问题。
本发明的方式15涉及的图像编码数据的特征在于,在上述方式12或者方式13中,进一步,所述non-VCL依赖类型包括参数集间预测的依赖的有无。
根据以上的图像编码数据,限制为“对象层能够作为参数集间预测而参照的参数集是表示所述对象层和所述直接参照层的所述non-VCL依赖类型有参数集间预测的依赖的直接参照层的参数集”。因此,能够解除在从上述图像编码数据通过比特流提取而生成的子比特流中,表示所述对象层和所述直接参照层的所述non-VCL依赖类型有参数集间预测的依赖的直接参照层的参数集被丢弃,参照所述直接参照层的层无法进行解码的问题。
本发明的方式16涉及的图像编码数据的特征在于,在上述方式9至方式15中,进一步,所述non-VCL包括参数集。
根据以上的图像编码数据,是包括参数集作为non-VCL的图像编码数据。因此,能够解除在从上述图像编码数据通过比特流提取而生成的子比特流中,所述参照层的参数集被丢弃,参照所述参照层的层无法进行解码的问题。
本发明的方式17涉及的图像编码数据的特征在于,在上述方式16中,进一步,所述参数集包括序列参数集。
根据以上的图像编码数据,是包括序列参数集作为参数集的图像编码数据。因此,能够解除在从上述图像编码数据通过比特流提取而生成的子比特流中,所述参照层的序列参数集被丢弃,参照所述参照层的层无法进行解码的问题。
本发明的方式18涉及的图像编码数据的特征在于,在上述方式16中,进一步,所述参数集包括图片参数集。
根据以上的图像编码数据,是包括图片参数集作为参数集的图像编码数据。因此,能够解除在从上述图像编码数据通过比特流提取而生成的子比特流中,所述参照层的图片参数集被丢弃,参照所述参照层的层无法进行解码的问题。
本发明的方式19涉及的图像编码数据的特征在于,在上述方式18中,进一步,所述图片参数集包括表示是否参照所述non-VCL依赖层的序列参数集作为共享参数集的共享SPS利用标记,
在所述共享SPS利用标记为真的情况下,表示参照所述non-VCL依赖层的序列参数集作为共享参数集,
在所述共享SPS利用标记为假的情况下,表示不参照所述non-VCL依赖层的序列参数集作为共享参数集。
根据以上的图像编码数据,能够以图片单位选择是否利用与SPS有关的共享参数集。例如,当层间在图片的编码中利用的SPS的最佳的参数与参照层的参数不同的情况下,通过在对象层中设为pps_shared_sps_flag=0,参照具有对象层的层ID的SPS,能够以较少的符号量来生成对象层的图片的编码数据。因此,能够削减涉及上述图像编码数据的解码/编码的处理量。此外,通过在对象层中设为pps_shared_sps_flag=1,参照具有参照层(non-VCL依赖层)的层ID的SPS,能够省略具有对象层的层ID的SPS的编码,降低与该SPS有关的符号量以及削减该SPS的解码/编码所需的处理量。
本发明的方式20涉及的图像编码数据的特征在于,在上述方式19中,进一步,包括构成所述对象层的图片的片段,在所述片段中包含的片段头部还包括表示是否参照所述non-VCL依赖层的图片参数集作为共享参数集的共享PPS利用标记,在所述共享PPS利用标记为真的情况下,表示参照所述non-VCL依赖层的图片参数集作为共享参数集,在所述共享PPS利用标记为假的情况下,表示不参照所述non-VCL依赖层的图片参数集作为共享参数集。
根据以上的图像编码数据,能够以图片单位选择是否利用与PPS有关的共享参数集。例如,当层间在图片的编码中利用的PPS的最佳的参数与参照层的参数不同的情况下,通过在对象层中设为slice_shared_pps_flag=0,参照具有对象层的层ID的PPS,能够降低对象层的图片的编码数据的符号量以及削减涉及对象层的图片的编码数据的解码/编码的处理量。此外,通过在对象层中设为slice_shared_pps_flag=1,参照具有参照层的层ID的PPS,能够省略具有对象层的层ID的PPS的编码,降低与该PPS有关的符号量以及削减该PPS的解码/编码所需的处理量。
本发明的方式21涉及的图像编码数据的特征在于,在上述方式17中,进一步,所述序列参数集按具有参照具有层识别符nuhLayerIdA的层的所述序列参数集的层识别符nuhLayerIdB(nuhLayerIdB>=nuhLayerIdA)的每个层,包括具有所述层识别符nuhLayerIdB的层和对于所述层识别符nuhLayerIdB的直接参照层之间的层间像素对应信息。
根据以上的图像编码数据,在所述序列参数集中包含的层间位置对应信息中,包括在属于具有层识别符nuhLayerIdB(nuhLayerIdB>=nuhLayerIdA)的层的序列的解码时参照该SPS(具有层识别符nuhLayerIdA的层的SPS)作为共享参数集的层(参数集参照层)的数目。进一步,在该层间位置对应信息中是如下的结构:按每个参数集参照层,包括具有该参数集参照层的层识别符的层依赖的层数个的层间像素对应信息。因此,能够解除在现有技术中产生的上述课题。即,解除在具有比该SPS的层识别符上位的层识别符的层(上位层)参照该SPS作为共享参数集的情况下,没有该上位层和该上位层的参照层间的层像素对应位置信息这样的问题。因此,由于包括该上位层用于准确地实施层间图像预测所需的层间像素对应信息,所以相对于现有技术起到提高编码效率的效果。此外,由于不限定于不包括层间图像对应信息的(num_scaled_ref_layer_offsets=0)情况,上位层能够参照该SPS作为共享参数集,所以能够降低涉及上位层的参数集的符号量以及降低涉及其解码/编码的处理量。
本发明的方式22涉及的图像编码装置是一种具备对层识别符进行编码的层识别符编码单元、对表示对象层和参照层的参照关系的层依赖标记进行编码的层依赖标记编码单元、对non-VCL进行编码的non-VCL编码单元的图像编码装置,该图像编码装置的特征在于,所述图像编码装置生成满足由某对象层参照的non-VCL的层识别符是与所述对象层相同的层识别符或者由所述对象层直接参照的层的层识别符这样的一致性条件的编码数据。
根据以上的图像编码装置,生成某对象层能够参照的参照层的non-VCL是对于对象层的直接参照层的non-VCL的编码数据。“某对象层能够参照的层的non-VCL是具有对于对象层的直接参照层的层识别符的non-VCL”意味着禁止“作为层集A的子集的层集B内的层参照‘包含在层集A中但不包含在层集B中’的层的non-VCL”。
即,在从层集A中将作为子集的层集B进行比特流提取时,由于能够禁止“作为层集A的子集的层集B内的层参照‘包含在层集A中但不包含在层集B中’的层的non-VCL”,所以在层集B中包含的层参照的直接参照层的non-VCL不会被丢弃。因此,能够解除在从由上述图像编码装置生成的图像编码数据通过比特流提取而生成的子比特流中,直接参照层的non-VCL被丢弃,参照所述直接参照层的层无法进行解码的问题。即,能够解除在图1中说明的现有技术中产生的比特流提取时的课题。
本发明并不限定于上述的各实施方式,在权利要求书所示的范围内能够进行各种变更,将在不同的实施方式中分别公开的技术手段适当地组合而获得的实施方式,也包含在本发明的技术范围中。
〔备注事项〕
另外,本发明也能够如以下表现。
为了解决上述的课题,本发明的方式1涉及的图像解码装置是一种具备对层识别符进行解码的层识别符解码单元、对表示对象层和参照层的参照关系的层依赖标记进行解码的层依赖标记解码单元、对non-VCL进行解码的non-VCL解码单元的图像解码装置,该图像解码装置的特征在于,所述图像解码装置对满足由某对象层参照的non-VCL的层识别符是与所述对象层相同的层识别符或者由所述对象层直接参照的层的层识别符这样的一致性条件的图像编码数据进行解码。
根据以上的图像解码装置,对满足“某对象层能够参照的层的non-VCL是具有对于对象层的直接参照层的层识别符的non-VCL”的图像编码数据进行解码。“某对象层能够参照的层的non-VCL是具有对于对象层的直接参照层的层识别符的non-VCL”意味着禁止“作为层集A的子集的层集B内的层参照‘包含在层集A中但不包含在层集B中’的层的non-VCL”。
即,在从层集A中将作为子集的层集B进行比特流提取时,由于能够禁止“作为层集A的子集的层集B内的层参照‘包含在层集A中但不包含在层集B中’的层的non-VCL”,所以在层集B中包含的层参照的直接参照层的non-VCL不会被丢弃。因此,能够解除在通过比特流提取而生成的子比特流中,直接参照层的non-VCL被丢弃,参照所述直接参照层的层无法进行解码的问题。
为了解决上述的课题,本发明的方式2涉及的图像解码装置的特征在于,在上述方式1中,对满足上述参照的non-VCL的层识别符进一步是由所述对象层间接参照的层识别符这样的一致性条件的图像编码数据进行解码。
根据以上的图像解码装置,对某对象层能够参照的参照层的non-VCL是对于对象层的直接参照层或者间接参照层的non-VCL的图像编码数据进行解码。因此,能够解除在通过比特流提取而生成的子比特流中,直接参照层或者间接参照层的non-VCL被丢弃,参照所述直接参照层或者间接参照层的层无法进行解码的问题。
为了解决上述的课题,本发明的方式3涉及的图像解码装置的特征在于,在上述方式1或者方式2中,进一步,对所述参照层由所述层依赖标记所指定的图像编码数据进行解码。
根据以上的图像编码数据,限制为“所述直接参照层或者间接参照层是由表示对象层和参照层的参照关系的层依赖标记所指定的参照层”。即,限制为“对象层能够参照的参照层的non-VCL是由表示对象层和参照层的参照关系的层依赖标记所指定的参照层”。因此,能够解除在从上述图像编码数据通过比特流提取而生成的子比特流中,由层依赖标记所指定的直接参照层或者间接参照层的non-VCL被丢弃,将参照所述直接参照层或者间接参照层的层的non-VCL进行参照的层无法进行解码的问题。
为了解决上述的课题,本发明的方式4涉及的图像解码装置的特征在于,在上述方式1中,还具备对层依赖类型进行解码的层依赖类型解码单元,所述层依赖类型包括表示所述对象层的non-VCL和所述参照层的non-VCL间的依赖的有无的non-VCL依赖类型。
根据以上的图像解码装置,对限制为“所述直接参照层是表示所述non-VCL依赖类型有non-VCL间的依赖的参照层”的图像编码数据进行解码。即,限制为“对象层能够参照的参照层是有所述对象层和所述直接参照层的non-VCL间的依赖的直接参照层”。因此,能够解除在通过比特流提取而生成的子比特流中,有所述对象层和所述直接参照层的non-VCL间的依赖的直接参照层的non-VCL被丢弃,参照所述直接参照层的层无法进行解码的问题。
为了解决上述的课题,本发明的方式5涉及的图像解码装置的特征在于,在上述方式4中,进一步,对满足当具有等于所述参照层的层识别符nuhLayerIdA的nuh_layer_id的non-VCL为在具有等于nuhLayerIdB的nuh_layer_id的对象层中利用的non-VCL的情况下,等于nuhLayerIdA的nuh_layer_id的层是具有等于nuhLayerIdB的nuh_layer_id的层的直接参照层这样的一致性条件的图像解码数据进行解码。
根据以上的图像解码装置,对限制为“当具有等于所述参照层的层识别符nuhLayerIdA的nuh_layer_id的non-VCL为在具有等于nuhLayerIdB的nuh_layer_id的对象层中利用的non-VCL的情况下,等于nuhLayerIdA的nuh_layer_id的层是具有等于nuhLayerIdB的nuh_layer_id的层的直接参照层”的图像编码数据进行解码。因此,能够解除在通过比特流提取而生成的子比特流中,具有等于nuhLayerIdA的nuh_layer_id的直接参照层的non-VCL被丢弃,具有等于参照所述直接参照层的nuhLayerIdB的nuh_layer_id的层无法进行解码的问题。
为了解决上述的课题,本发明的方式6涉及的图像解码装置的特征在于,在上述方式4或者方式5中,进一步,对所述non-VCL依赖类型包括共享参数集的依赖的有无的图像编码数据进行解码。
根据以上的图像解码装置,对限制为“对象层能够作为共享参数集而参照的参数集是表示所述对象层和所述直接参照层的所述non-VCL依赖类型有共享参数集的依赖的直接参照层的参数集”的图像编码数据进行解码。因此,能够解除在通过比特流提取而生成的子比特流中,表示所述对象层和所述直接参照层的所述non-VCL依赖类型有共享参数集的依赖的直接参照层的参数集被丢弃,参照所述直接参照层的层无法进行解码的问题。
为了解决上述的课题,本发明的方式7涉及的图像解码装置的特征在于,在上述方式4或者方式5中,进一步,对所述non-VCL依赖类型包括参数集间预测的依赖的有无的图像编码数据进行解码。
根据以上的图像解码装置,对限制为“对象层能够作为参数集间预测而参照的参数集是表示所述对象层和所述直接参照层的所述non-VCL依赖类型有参数集间预测的依赖的直接参照层的参数集”的图像编码数据进行解码。因此,能够解除在通过比特流提取而生成的子比特流中,表示所述对象层和所述直接参照层的所述non-VCL依赖类型有参数集间预测的依赖的直接参照层的参数集被丢弃,参照所述直接参照层的层无法进行解码的问题。
为了解决上述的课题,本发明的方式8涉及的图像解码装置的特征在于,在上述方式1至方式7中,进一步,对所述non-VCL包括参数集的图像编码数据进行解码。
根据以上的图像解码装置,作为non-VCL,对参数集进行解码。因此,能够解除在通过比特流提取而生成的子比特流中,所述参照层的参数集被丢弃,参照所述参照层的层无法进行解码的问题。
为了解决上述的课题,本发明的方式9涉及的图像编码数据的特征在于,所述图像编码数据是满足由某对象层参照的参照层的non-VCL的层识别符是与所述对象层相同的层识别符或者所述对象层的直接参照层的层识别符这样的一致性条件的图像编码数据。
根据以上的图像编码数据,限制为“某对象层能够参照的层的non-VCL是对于对象层的直接参照层的non-VCL”。“某对象层能够参照的层的non-VCL是具有对于对象层的直接参照层的层识别符的non-VCL”意味着禁止“作为层集A的子集的层集B内的层参照‘包含在层集A中但不包含在层集B中’的层的non-VCL”。
即,在从层集A中将作为子集的层集B进行比特流提取时,由于能够禁止“作为层集A的子集的层集B内的层参照‘包含在层集A中但不包含在层集B中’的层的non-VCL”,所以在层集B中包含的层参照的直接参照层的non-VCL不会被丢弃。因此,能够解除在从上述图像编码数据通过比特流提取而生成的子比特流中,直接参照层的non-VCL被丢弃,参照所述直接参照层的层无法进行解码的问题。
为了解决上述的课题,本发明的方式10涉及的图像编码数据的特征在于,在上述方式9中,进一步,所述图像编码数据是满足由所述对象层参照的参照层的non-VCL的层识别符是所述对象层的间接参照层的层识别符这样的一致性条件的图像编码数据。
根据以上的图像编码数据,限制为“某对象层能够参照的参照层的non-VCL是对于对象层的直接参照层或者间接参照层的non-VCL”。因此,能够解除在从上述图像编码数据通过比特流提取而生成的子比特流中,直接参照层或者间接参照层的non-VCL被丢弃,参照所述直接参照层或者间接参照层的层无法进行解码的问题。
为了解决上述的课题,本发明的方式11涉及的图像编码数据的特征在于,在上述方式9和10中,进一步,包括表示所述对象层和所述参照层的参照关系的层依赖标记,所述参照层由所述层依赖标记所指定。
根据以上的图像编码数据,对限制为“所述直接参照层或者间接参照层是由表示对象层和参照层的参照关系的层依赖标记所指定的参照层”的图像编码数据进行解码。即,限制为“对象层能够参照的参照层的non-VCL是由表示对象层和参照层的参照关系的层依赖标记所指定的参照层”。因此,能够解除在通过比特流提取而生成的子比特流中,由层依赖标记所指定的直接参照层或者间接参照层的non-VCL被丢弃,将参照所述直接参照层或者间接参照层的层的non-VCL进行参照的层无法解码的问题。
为了解决上述的课题,本发明的方式12涉及的图像编码数据的特征在于,在上述方式9中,进一步包括表示所述对象层和所述参照层的参照关系的种类的层依赖类型,所述层依赖类型包括所述对象层的non-VCL和所述参照层的non-VCL间的non-VCL依赖类型。
根据以上的图像编码数据,限制为“所述直接参照层是表示所述non-VCL依赖类型有non-VCL间的依赖的参照层”。即,限制为“对象层能够参照的参照层是有所述对象层和所述直接参照层的non-VCL间的依赖的直接参照层”。因此,能够解除在从上述图像编码数据通过比特流提取而生成的子比特流中,有所述对象层和所述直接参照层的non-VCL间的依赖的直接参照层的non-VCL被丢弃,参照所述直接参照层的层无法进行解码的问题。
为了解决上述的课题,本发明的方式13涉及的图像编码数据的特征在于,在上述方式12中,进一步,当具有等于所述参照层的层识别符nuhLayerIdA的nuh_layer_id的non-VCL为在具有等于nuhLayerIdB的nuh_layer_id的对象层中利用的non-VCL的情况下,等于nuhLayerIdA的nuh_layer_id的层是具有等于nuhLayerIdB的nuh_layer_id的层的直接参照层。
根据以上的图像编码数据,限制为“当具有等于所述参照层的层识别符nuhLayerIdA的nuh_layer_id的non-VCL为在具有等于nuhLayerIdB的nuh_layer_id的对象层中利用的non-VCL的情况下,等于nuhLayerIdA的nuh_layer_id的层是具有等于nuhLayerIdB的nuh_layer_id的层的直接参照层”。因此,能够解除在从上述图像编码数据通过比特流提取而生成的子比特流中,具有等于nuhLayerIdA的nuh_layer_id的直接参照层的non-VCL被丢弃,具有等于参照所述直接参照层的nuhLayerIdB的nuh_layer_id的层无法进行解码的问题。
为了解决上述的课题,本发明的方式14涉及的图像编码数据的特征在于,在上述方式9和10中,进一步,所述non-VCL依赖类型包括共享参数集的依赖的有无。
根据以上的图像编码数据,限制为“对象层能够作为共享参数集而参照的参数集是表示所述对象层和所述直接参照层的所述non-VCL依赖类型有共享参数集的依赖的直接参照层的参数集”。因此,能够解除在从上述图像编码数据通过比特流提取而生成的子比特流中,表示所述对象层和所述直接参照层的所述non-VCL依赖类型有共享参数集的依赖的直接参照层的参数集被丢弃,参照所述直接参照层的层无法进行解码的问题。
为了解决上述的课题,本发明的方式15涉及的图像编码数据的特征在于,在上述方式12或者方式13中,进一步,所述non-VCL依赖类型包括参数集间预测的依赖的有无。
根据以上的图像编码数据,限制为“对象层能够作为参数集间预测而参照的参数集是表示所述对象层和所述直接参照层的所述non-VCL依赖类型有参数集间预测的依赖的直接参照层的参数集”。因此,能够解除在从上述图像编码数据通过比特流提取而生成的子比特流中,表示所述对象层和所述直接参照层的所述non-VCL依赖类型有参数集间预测的依赖的直接参照层的参数集被丢弃,参照所述直接参照层的层无法进行解码的问题。
为了解决上述的课题,本发明的方式16涉及的图像编码数据的特征在于,在上述方式9至方式15中,进一步,所述non-VCL包括参数集。
根据以上的图像编码数据,是包括参数集作为non-VCL的图像编码数据。因此,能够解除在从上述图像编码数据通过比特流提取而生成的子比特流中,所述参照层的参数集被丢弃,参照所述参照层的层无法进行解码的问题。
为了解决上述的课题,本发明的方式17涉及的图像编码数据的特征在于,在上述方式16中,进一步,所述参数集包括序列参数集。
根据以上的图像编码数据,是包括序列参数集作为参数集的图像编码数据。因此,能够解除在从上述图像编码数据通过比特流提取而生成的子比特流中,所述参照层的序列参数集被丢弃,参照所述参照层的层无法进行解码的问题。
为了解决上述的课题,本发明的方式18涉及的图像编码数据的特征在于,在上述方式16中,进一步,所述参数集包括图片参数集。
根据以上的图像编码数据,是包括图片参数集作为参数集的图像编码数据。因此,能够解除在从上述图像编码数据通过比特流提取而生成的子比特流中,所述参照层的图片参数集被丢弃,参照所述参照层的层无法进行解码的问题。
为了解决上述的课题,本发明的方式19涉及的图像编码数据的特征在于,在上述方式18中,进一步,所述图片参数集包括表示是否参照所述non-VCL依赖层的序列参数集作为共享参数集的共享SPS利用标记,
在所述共享SPS利用标记为真的情况下,表示参照所述non-VCL依赖层的序列参数集作为共享参数集,
在所述共享SPS利用标记为假的情况下,表示不参照所述non-VCL依赖层的序列参数集作为共享参数集。
根据以上的图像编码数据,能够以图片单位选择是否利用与SPS有关的共享参数集。例如,当层间在图片的编码中利用的SPS的最佳的参数与参照层的参数不同的情况下,通过在对象层中设为pps_shared_sps_flag=0,参照具有对象层的层ID的SPS,能够以较少的符号量来生成对象层的图片的编码数据。因此,能够削减涉及上述图像编码数据的解码/编码的处理量。此外,通过在对象层中设为pps_shared_sps_flag=1,参照具有参照层(non-VCL依赖层)的层ID的SPS,能够省略具有对象层的层ID的SPS的编码,降低与该SPS有关的符号量以及削减该SPS的解码/编码所需的处理量。
为了解决上述的课题,本发明的方式20涉及的图像编码数据的特征在于,在上述方式19中,进一步,包括构成所述对象层的图片的片段,在所述片段中包含的片段头部还包括表示是否参照所述non-VCL依赖层的图片参数集作为共享参数集的共享PPS利用标记,在所述共享PPS利用标记为真的情况下,表示参照所述non-VCL依赖层的图片参数集作为共享参数集,在所述共享PPS利用标记为假的情况下,表示不参照所述non-VCL依赖层的图片参数集作为共享参数集。
根据以上的图像编码数据,能够以图片单位选择是否利用与PPS有关的共享参数集。例如,当层间在图片的编码中利用的PPS的最佳的参数与参照层的参数不同的情况下,通过在对象层中设为slice_shared_pps_flag=0,参照具有对象层的层ID的PPS,能够降低对象层的图片的编码数据的符号量以及削减涉及对象层的图片的编码数据的解码/编码的处理量。此外,通过在对象层中设为slice_shared_pps_flag=1,参照具有参照层的层ID的PPS,能够省略具有对象层的层ID的PPS的编码,降低与该PPS有关的符号量以及削减该PPS的解码/编码所需的处理量。
为了解决上述的课题,本发明的方式21涉及的图像编码数据的特征在于,在上述方式17中,进一步,所述序列参数集按具有参照具有层识别符nuhLayerIdA的层的所述序列参数集的层识别符nuhLayerIdB(nuhLayerIdB>=nuhLayerIdA)的每个层,包括具有所述层识别符nuhLayerIdB的层和对于所述层识别符nuhLayerIdB的直接参照层的层间像素对应信息。
根据以上的图像编码数据,在所述序列参数集中包含的层间位置对应信息中,包括在属于具有层识别符nuhLayerIdB(nuhLayerIdB>=nuhLayerIdA)的层的序列的解码时参照该SPS(具有层识别符nuhLayerIdA的层的SPS)作为共享参数集的层(参数集参照层)的数目。进一步,在该层间位置对应信息中具有如下结构:按每个参数集参照层,包括具有该参数集参照层的层识别符的层依赖的层数个的层间像素对应信息。因此,能够解除在现有技术中产生的上述课题。即,解除在具有比该SPS的层识别符上位的层识别符的层(上位层)参照该SPS作为共享参数集的情况下,没有该上位层和该上位层的参照层间的层像素对应位置信息这样的问题。因此,由于包括该上位层用于准确地实施层间图像预测所需的层间像素对应信息,所以相对于现有技术起到提高编码效率的效果。此外,由于不限定于不包括层间图像对应信息的(num_scaled_ref_layer_offsets=0)情况,上位层能够参照该SPS作为共享参数集,所以能够降低涉及上位层的参数集的符号量以及降低涉及其解码/编码的处理量。
为了解决上述的课题,本发明的方式22的图像编码装置是,一种具备对层识别符进行编码的层识别符编码单元、对表示对象层和参照层的参照关系的层依赖标记进行编码的层依赖标记编码单元、对non-VCL进行编码的non-VCL编码单元的图像编码装置,该图像编码装置的特征在于,所述图像编码装置生成满足由某对象层参照的non-VCL的层识别符是与所述对象层相同的层识别符或者由所述对象层直接参照的层的层识别符这样的一致性条件的编码数据。
根据以上的图像编码装置,生成某对象层能够参照的参照层的non-VCL是对于对象层的直接参照层的non-VCL的编码数据。“某对象层能够参照的层的non-VCL是具有对于对象层的直接参照层的层识别符的non-VCL”意味着禁止“作为层集A的子集的层集B内的层参照‘包含在层集A中但不包含在层集B中’的层的non-VCL”。
即,在从层集A中将作为子集的层集B进行比特流提取时,由于能够禁止“作为层集A的子集的层集B内的层参照‘包含在层集A中但不包含在层集B中’的层的non-VCL”,所以在层集B中包含的层参照的直接参照层的non-VCL不会被丢弃。因此,能够解除在从由上述图像编码装置生成的图像编码数据通过比特流提取而生成的子比特流中,直接参照层的non-VCL被丢弃,参照所述直接参照层的层无法进行解码的问题。即,能够解除在图1中说明的现有技术中产生的比特流提取时的课题。
产业上的可利用性
本发明能够适合应用于对图像数据层次性地进行了编码的编码数据进行解码的层次运动图像解码装置、以及生成图像数据层次性地进行了编码的编码数据的层次运动图像编码装置。此外,能够适合应用于由层次运动图像编码装置生成、由层次运动图像解码装置参照的层次编码数据的数据结构。
附图标记说明
1…层次运动图像解码装置
2…层次运动图像编码装置
10…对象层集图片解码部
11…NAL解复用部
12…参数集解码部
13…参数集管理部
14…图片解码部
141…片段头部解码部
142…CTU解码部
1421…预测残差恢复部
1422…预测图像生成部
1423…CTU解码图像生成部
15…解码图片管理部
20…对象层集图片编码部
21…NAL复用部
22…参数集编码部
24…图片编码部
26…编码参数决定部
241…片段头部设定部
242…CTU编码部
2421…预测残差编码部
2422…预测图像编码部
2423…CTU解码图像生成部

Claims (2)

1.一种图像解码装置,对包括多个层的层次图像编码数据进行解码,其特征在于,所述图像解码装置具有如下电路:
对参数集进行解码;
对片段头部进行解码;
基于在片段头部或者参数集中包含的有效参数集识别符,从参数集中指定有效参数集;
对表示在上述多个层中第一层是否为第二层的直接参照层的直接依赖标记进行解码;以及
参考被解码的直接依赖标记,导出表示上述第一层是否为上述第二层的直接参照层或者间接参照层的依赖标记,
其中上述有效参数集的层识别符是对象层的层识别符,或者对象层的直接参照层或者间接参照层的层识别符,
上述电路在(i)上述第一层为上述第二层的直接参照层或者(ii)上述第一层为上述第二层的间接参照层的情况下,将上述第一层的对于上述第二层的上述依赖标记设定为1,
上述电路在(i)上述第一层不是上述第二层的直接参照层以及(ii)上述第一层不是上述第二层的间接参照层的情况下,将上述第一层的对于上述第二层的上述依赖标记设定为0。
2.如权利要求1所述的图像解码装置,其特征在于,
上述有效参数集是具有与在上述片段头部中包含的有效PPS识别符相等的PPS识别符的图片参数集。
CN201480049652.2A 2013-10-10 2014-10-08 图像解码装置 Expired - Fee Related CN105519119B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP2013-213079 2013-10-10
JP2013213079 2013-10-10
JP2013-217572 2013-10-18
JP2013217572 2013-10-18
JP2013231338 2013-11-07
JP2013-231338 2013-11-07
PCT/JP2014/076980 WO2015053330A1 (ja) 2013-10-10 2014-10-08 画像復号装置

Publications (2)

Publication Number Publication Date
CN105519119A CN105519119A (zh) 2016-04-20
CN105519119B true CN105519119B (zh) 2019-12-17

Family

ID=52813145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480049652.2A Expired - Fee Related CN105519119B (zh) 2013-10-10 2014-10-08 图像解码装置

Country Status (5)

Country Link
US (1) US20160249056A1 (zh)
JP (1) JPWO2015053330A1 (zh)
CN (1) CN105519119B (zh)
HK (1) HK1223472A1 (zh)
WO (1) WO2015053330A1 (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014082541A (ja) * 2012-10-12 2014-05-08 National Institute Of Information & Communication Technology 互いに類似した情報を含む複数画像のデータサイズを低減する方法、プログラムおよび装置
US10225567B2 (en) * 2013-10-08 2019-03-05 Sharp Kabushiki Kaisha Image decoder, image encoder, and encoded data converter
US10284858B2 (en) * 2013-10-15 2019-05-07 Qualcomm Incorporated Support of multi-mode extraction for multi-layer video codecs
EP3703379B1 (en) 2013-12-16 2022-06-22 Panasonic Intellectual Property Corporation of America Transmission method, reception method, transmitting device, and receiving device
JP6652320B2 (ja) * 2013-12-16 2020-02-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 送信方法、受信方法、送信装置及び受信装置
KR102274321B1 (ko) * 2014-01-09 2021-07-07 삼성전자주식회사 스케일러블 비디오 부호화/복호화 방법 및 장치
US10284867B2 (en) * 2014-12-18 2019-05-07 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
US20180213216A1 (en) * 2015-06-16 2018-07-26 Lg Electronics Inc. Media data transmission device, media data reception device, media data transmission method, and media data rececption method
US10623755B2 (en) * 2016-05-23 2020-04-14 Qualcomm Incorporated End of sequence and end of bitstream NAL units in separate file tracks
CN117041600A (zh) * 2016-10-04 2023-11-10 有限公司B1影像技术研究所 图像编码/解码方法和计算机可读记录介质
CN114257809B (zh) 2016-10-04 2023-03-24 有限公司B1影像技术研究所 图像数据编码/解码方法和计算机可读记录介质
CN110022481B (zh) * 2018-01-10 2023-05-02 中兴通讯股份有限公司 视频码流的解码、生成方法及装置、存储介质、电子装置
WO2020084474A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Gradient computation in bi-directional optical flow
EP3857879A4 (en) 2018-11-12 2022-03-16 Beijing Bytedance Network Technology Co., Ltd. SIMPLIFICATION OF COMBINED INTER-INTRA PREDICTION
JP7241870B2 (ja) 2018-11-20 2023-03-17 北京字節跳動網絡技術有限公司 部分的な位置に基づく差分計算
CN109788300A (zh) * 2018-12-28 2019-05-21 芯原微电子(北京)有限公司 一种hevc解码器中的错误检测方法和装置
EP3915259A4 (en) 2019-03-06 2022-03-30 Beijing Bytedance Network Technology Co., Ltd. USE OF A CONVERTED UNIVERSITY PREDICTION CANDIDATE
WO2020182167A1 (en) * 2019-03-12 2020-09-17 Zhejiang Dahua Technology Co., Ltd. Systems and methods for image coding
US11153583B2 (en) * 2019-06-07 2021-10-19 Qualcomm Incorporated Spatial scalability support in video encoding and decoding
MX2022004138A (es) 2019-10-07 2022-04-26 Huawei Tech Co Ltd Evitación de señalización redundante en flujos de bits de video multicapa.
AU2020393728B2 (en) * 2019-11-28 2024-03-14 Lg Electronics Inc. Image/video coding method and apparatus on basis of picture division structure
WO2021128295A1 (en) * 2019-12-27 2021-07-01 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods for inter prediction
JP7470795B2 (ja) * 2020-01-03 2024-04-18 華為技術有限公司 柔軟なプロファイル構成のエンコーダ、デコーダ及び対応する方法
US11140399B1 (en) * 2020-04-03 2021-10-05 Sony Corporation Controlling video data encoding and decoding levels
CN115486082A (zh) 2020-04-27 2022-12-16 字节跳动有限公司 视频编解码中的虚拟边界
CN115699767A (zh) * 2020-05-22 2023-02-03 抖音视界有限公司 输出层集和层的数量限制
CN114845134B (zh) * 2020-10-16 2023-01-24 腾讯科技(深圳)有限公司 文件封装方法、文件传输方法、文件解码方法及相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101375594A (zh) * 2006-01-12 2009-02-25 Lg电子株式会社 处理多视图视频
CN101895748A (zh) * 2010-06-21 2010-11-24 华为终端有限公司 一种编解码方法以及编解码装置
US20130114742A1 (en) * 2011-11-08 2013-05-09 Nokia Corporation Reference picture handling
US20130195201A1 (en) * 2012-01-10 2013-08-01 Vidyo, Inc. Techniques for layered video encoding and decoding

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9774927B2 (en) * 2012-12-21 2017-09-26 Telefonaktiebolaget L M Ericsson (Publ) Multi-layer video stream decoding
US9426468B2 (en) * 2013-01-04 2016-08-23 Huawei Technologies Co., Ltd. Signaling layer dependency information in a parameter set
US9992493B2 (en) * 2013-04-01 2018-06-05 Qualcomm Incorporated Inter-layer reference picture restriction for high level syntax-only scalable video coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101375594A (zh) * 2006-01-12 2009-02-25 Lg电子株式会社 处理多视图视频
CN101895748A (zh) * 2010-06-21 2010-11-24 华为终端有限公司 一种编解码方法以及编解码装置
US20130114742A1 (en) * 2011-11-08 2013-05-09 Nokia Corporation Reference picture handling
US20130195201A1 (en) * 2012-01-10 2013-08-01 Vidyo, Inc. Techniques for layered video encoding and decoding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
High efficiency video coding(HEVC) scalable extension draft 3;Jianle Chen,Jill Boyce,Yan Ye,Miska M. Hannuksela;《Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11》;20130916;第4页9-35行,22页,33-45行,24页17-35行 *

Also Published As

Publication number Publication date
HK1223472A1 (zh) 2017-07-28
JPWO2015053330A1 (ja) 2017-03-09
US20160249056A1 (en) 2016-08-25
WO2015053330A1 (ja) 2015-04-16
CN105519119A (zh) 2016-04-20

Similar Documents

Publication Publication Date Title
CN105519119B (zh) 图像解码装置
JP6585223B2 (ja) 画像復号装置
JP6800837B2 (ja) 画像復号装置、及び画像復号方法
US10237564B1 (en) Image decoding device, image decoding method, image coding device, and image coding method
JP6456535B2 (ja) 画像符号化装置、画像符号化方法および記録媒体
WO2014050597A1 (ja) 画像復号装置
JP2015195543A (ja) 画像復号装置、画像符号化装置
JP2015119402A (ja) 画像復号装置、画像符号化装置、及び符号化データ
WO2015098713A1 (ja) 画像復号装置および画像符号化装置
JP2015050506A (ja) 画像復号装置および画像符号化装置
JP2015126507A (ja) 画像復号装置、画像符号化装置、及び符号化データ
JP2015076807A (ja) 画像復号装置、画像符号化装置、および符号化データのデータ構造
JP2015076806A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1223472

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1223472

Country of ref document: HK

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20191217

CF01 Termination of patent right due to non-payment of annual fee