CN112997502B - 编码装置、解码装置、编码方法和解码方法 - Google Patents

编码装置、解码装置、编码方法和解码方法 Download PDF

Info

Publication number
CN112997502B
CN112997502B CN201980073220.8A CN201980073220A CN112997502B CN 112997502 B CN112997502 B CN 112997502B CN 201980073220 A CN201980073220 A CN 201980073220A CN 112997502 B CN112997502 B CN 112997502B
Authority
CN
China
Prior art keywords
tile
picture
information
slice
block
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.)
Active
Application number
CN201980073220.8A
Other languages
English (en)
Other versions
CN112997502A (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.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
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 Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Publication of CN112997502A publication Critical patent/CN112997502A/zh
Application granted granted Critical
Publication of CN112997502B publication Critical patent/CN112997502B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding 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/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/176Methods 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 block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements

Landscapes

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

Abstract

编码装置(100)具备电路(160)和与电路(160)连接的存储器(162),电路(160)在动作中,将编码对象的图片分割为2个以上的瓦片,通过对由分割出的瓦片的一部分或1个以上的瓦片构成的矩形形状的每个切片进行编码,对上述图片进行编码,在对上述图片进行编码时,不将与位于上述图片的右下角的切片所占的区域相关的信息包含在头部信息中。

Description

编码装置、解码装置、编码方法和解码方法
技术领域
本发明涉及视频编码,例如涉及运动图像的编码以及解码中的系统、构成要素以及方法等。
背景技术
视频编码技术从H.261和MPEG-1进步到H.264/AVC(Advanced Video Coding:高级视频编码)、MPEG-LA、H.265/HEVC(High Efficiency Video Coding:高效视频编码)和H.266/VVC(Versatile Video Codec:通用视频编解码器)。伴随着该进步,为了处理在各种用途中持续增加的数字视频数据量,始终需要提供视频编码技术的改良以及最优化。
现有技术文献
非专利文献
非专利文献1:H.265(ISO/IEC 23008-2HEVC(High Efficiency Video Coding))
发明内容
发明要解决的课题
关于上述那样的编码方式,为编码效率的改善、画质的改善、处理量的削减、电路规模的削减、或者滤波器、块、尺寸、运动矢量、参照图片或参照块等要素或动作的适当的选择等,期望提出新的方式。
本发明提供一种能够对例如编码效率的改善、画质的改善、处理量的削减、电路规模的削减、处理速度的改善以及要素或动作的适当的选择等中的1个以上做出贡献的结构或方法。此外,本发明可以包含能够有助于上述以外的利益的结构或方法。
用于解决课题的手段
本发明的一形态的编码装置是对运动图像进行编码的编码装置,具备:电路以及与上述电路连接的存储器,上述电路在动作中,将编码对象的图片分割为2个以上的瓦片,通过对由分割出的瓦片的一部分或1个以上的瓦片构成的矩形形状的每个切片进行编码,对上述图片进行编码,在对上述图片进行编码时,不将与位于上述图片的右下角的切片所占的区域相关的信息包含在头部信息中。
本发明的一形态的解码装置是对运动图像进行解码的解码装置,具备:电路以及与上述电路连接的存储器,上述电路在动作中,将解码对象的图片分割为2个以上的瓦片,通过对由分割出的瓦片的一部分或1个以上的瓦片构成的矩形形状的每个切片进行解码,对上述图片进行解码,在对上述图片进行解码时,通过不使用头部信息的规定的方法来设定与位于上述图片的右下角的切片所占的区域相关的信息,与上述区域相关的信息不包含在上述头部信息中。
本发明中的几个实施方式的安装可以改善编码效率,可以简化编码/解码处理,可以加快编码/解码处理速度,还可以高效地选择适当的滤波器、块尺寸、运动矢量、参照图片、参照块等那样的编码和解码中使用的适当的构成要素/动作。
根据说明书以及附图,对本发明的一形态中的进一步的优点以及效果进行了明确。该优点和/或效果通过几个实施方式以及说明书和附图中记载的特征而分别得到,但为了得到1个或其以上的优点和/或效果,未必需要全部提供。
此外,这些总括性或者具体的形态也可以通过系统、方法、集成电路、计算机程序、记录介质或者它们的任意组合来实现。
发明效果
本发明的一形态的结构或者方法例如能够对编码效率的改善、画质的改善、处理量的削减、电路规模的削减、处理速度的改善以及要素或动作的适当的选择等中的1个以上做出贡献。另外,本发明的一形态的结构或方法也可以对上述以外的利益做出贡献。
附图说明
图1是表示实施方式的编码装置的功能结构的框图。
图2是表示由编码装置进行的整体编码处理的一例的流程图。
图3是表示块分割的一例的概念图。
图4A是表示切片的结构的一例的概念图。
图4B是表示瓦片的结构的一例的概念图。
图5A是表示与各种变换类型对应的变换基函数的表。
图5B是表示SVT(Spatially Varying Transform,空间变换)的一例的概念图。
图6A是表示ALF(adaptive loop filter:自适应循环滤波器)中使用的滤波器的形状的一例的概念图。
图6B是表示ALF中使用的滤波器的形状的另一例的概念图。
图6C是表示ALF中使用的滤波器的形状的另一例的概念图。
图7是表示作为DBF(deblocking filter:去块滤波器)发挥功能的循环滤波部的详细结构的一例的框图。
图8是表示具有相对于块边界对称的滤波特性的去块滤波的例子的概念图。
图9是用于说明进行去块滤波处理的块边界的概念图。
图10是表示Bs值的一例的概念图。
图11是表示由编码装置的预测处理部进行的处理的一例的流程图。
图12是表示由编码装置的预测处理部进行的处理的另一例的流程图。
图13是表示由编码装置的预测处理部进行的处理的另一例的流程图。
图14是表示实施方式的帧内预测中的67个帧内预测模式的一例的概念图。
图15是表示帧间预测的基本处理的流程的一例的流程图。
图16是表示运动矢量导出的一例的流程图。
图17是表示运动矢量导出的另一例的流程图。
图18是表示运动矢量导出的另一例的流程图。
图19是表示基于普通帧间模式的帧间预测的例子的流程图。
图20是表示基于合并模式的帧间预测的例子的流程图。
图21是用于说明基于合并模式的运动矢量导出处理的一例的概念图。
图22是表示FRUC(frame rate up conversion,帧速率上变换)处理的一例的流程图。
图23是用于说明沿着运动轨道的2个块之间的图案匹配(双向匹配)的一例的概念图。
图24是用于说明当前图片内的模板与参照图片内的块之间的图案匹配(模板匹配)的一例的概念图。
图25A是用于说明基于多个相邻块的运动矢量的子块单位的运动矢量的导出的一例的概念图。
图25B是用于说明在具有3个控制点的仿射模式中的子块单位的运动矢量的导出的一例的概念图。
图26A是用于说明仿射合并模式的概念图。
图26B是用于说明具有2个控制点的仿射合并模式的概念图。
图26C是用于说明具有3个控制点的仿射合并模式的概念图。
图27是表示仿射合并模式的处理的一例的流程图。
图28A是用于说明具有2个控制点的仿射帧间模式的概念图。
图28B是用于说明具有3个控制点的仿射帧间模式的概念图。
图29是表示仿射帧间模式的处理的一例的流程图。
图30A是用于说明当前块具有3个控制点、相邻块具有2个控制点的仿射帧间模式的概念图。
图30B是用于说明当前块具有2个控制点、相邻块具有3个控制点的仿射帧间模式的概念图。
图31A是表示包含DMVR(decoder motion vector refinement:解码器运动矢量细化)的合并模式的流程图。
图31B是用于说明DMVR处理的一例的概念图。
图32是表示预测图像的生成的一例的流程图。
图33是表示预测图像的生成的另一例的流程图。
图34是表示预测图像的生成的另一例的流程图。
图35是用于说明基于OBMC(overlapped block motion compensation,重叠块运动补偿)处理的预测图像修正处理的一例的流程图。
图36是用于说明基于OBMC处理的预测图像修正处理的一例的概念图。
图37是用于说明2个三角形的预测图像的生成的概念图。
图38是用于说明假定了等速直线运动的模型的概念图。
图39是用于说明使用了基于LIC(local illumination compensation,局部光补偿)处理的亮度修正处理的预测图像生成方法的一例的概念图。
图40是表示编码装置的安装例的框图。
图41是表示实施方式的解码装置的功能结构的框图。
图42是表示由解码装置进行的整体解码处理的一例的流程图。
图43是表示由解码装置的预测处理部进行的处理的一例的流程图。
图44是表示由解码装置的预测处理部进行的处理的另一例的流程图。
图45是表示解码装置中的基于普通帧间模式的帧间预测的例子的流程图。
图46是表示解码装置的安装例的框图。
图47A是表示实施方式1的第1形态的以瓦片边界为基准而被分割为1个以上的瓦片集的图片结构的一例的图。
图47B是表示实施方式1的第1形态的以瓦片边界为基准而被分割为1个以上的瓦片集的图片结构的一例的图。
图47C是表示实施方式1的第1形态的以瓦片边界为基准而被分割为1个以上的瓦片集的图片结构的一例的图。
图47D是表示实施方式1的第1形态的以瓦片边界为基准而被分割为1个以上的瓦片集的图片结构的一例的图。
图48A是表示实施方式1的第1形态的在对图片进行编码时,用于对构成图片的瓦片组进行编码的句法的一例的图。
图48B是表示实施方式1的第1形态的与瓦片组相关的句法的一例的图。
图49A是表示实施方式1的第1形态的构成图片的瓦片集的一例和基本编码顺序的图。
图49B是表示在与图48A相同的瓦片集中调换了瓦片组的编码顺序的例子的图。
图50A是表示实施方式1的第1形态的解码装置进行的瓦片组的解码处理的流程图。
图50B是表示实施方式1的第1形态的解码装置进行的瓦片组的解码处理时的错误检测处理和隐藏处理的一例的流程图。
图51A是表示实施方式1的第1形态的在图片之后对瓦片提取信息SEI进行编码的情况的一例的图。
图51B是表示实施方式1的第1形态的在图片之前对瓦片提取信息SEI进行编码的情况的一例的图。
图52是表示实施方式1的第1形态的用于对瓦片提取信息SEI进行编码的句法的一例的图。
图53是表示实施方式1的第2形态的在对图片进行编码时,用于对构成图片的瓦片进行编码的句法的一例的图。
图54A是表示实施方式1的第2形态的构成图片的瓦片集的一例和基本编码顺序的图。
图54B是表示在由与图54A相同的瓦片组构成的瓦片集中调换了瓦片的编码顺序的例子的图。
图55A是表示实施方式1的第2形态的解码装置进行的瓦片的解码处理的流程图。
图55B是表示实施方式1的第2形态的解码装置进行的瓦片的解码处理时的错误检测处理以及隐藏处理的一例的流程图。
图56A是表示实施方式1的第2形态的在图片之后对瓦片提取信息SEI进行编码的情况的一例的图。
图56B是表示实施方式1的第2形态的在图片之前对瓦片提取信息SEI进行编码的情况的一例的图。
图57是表示实施方式1的第2形态的用于对瓦片提取信息SEI进行编码的句法的一例的图。
图58A是表示实施方式1的第3形态的将图片分割为矩形区域并进行编码时的图片的结构的一例的图。
图58B是表示实施方式1的第3形态的将图片分割为矩形区域并进行编码时的图片的结构的一例的图。
图59是表示实施方式1的第3形态的在对图片进行编码时,用于分割图片进行编码的图片参数集(PPS)的句法的一例的图。
图60是表示实施方式1的第3形态的解码装置进行的矩形切片模式下的矩形切片设定处理的一例的流程图。
图61是表示实施方式1的第4形态的在对图片进行编码时,用于分割图片进行编码的图片参数集(PPS)的句法的一例的图。
图62是表示实施方式1的第4形态的解码装置进行的矩形切片模式下的矩形切片设定处理的一例的流程图。
图63是表示实施方式1的第5形态的在对图片进行编码时,用于分割图片进行编码的图片参数集(PPS)的句法的一例的图。
图64是表示实施方式1的第5形态的解码装置进行切片数据的解码处理时的切片模式设定处理的一例的流程图。
图65是表示实施方式1的第6形态的在对图片进行编码时,用于分割图片并进行编码的图片参数集(PPS)的句法的一例的图。
图66是表示实施方式1的第6形态的解码装置进行砖块数据的解码处理时的砖块设定处理的一例的流程图。
图67是表示实施方式1的编码装置的安装例的框图。
图68是表示图67所示的编码装置的动作例的流程图。
图69是表示实施方式1的解码装置的安装例的框图。
图70是表示图69所示的解码装置的动作例的流程图。
图71是表示实现内容分发服务的内容供给系统的整体结构的框图。
图72是表示可分级编码时的编码构造的一例的概念图。
图73是表示可分级编码时的编码构造的一例的概念图。
图74是表示web页的显示画面例的概念图。
图75是表示web页的显示画面例的概念图。
图76是表示智能电话的一例的框图。
图77是表示智能电话的结构例的框图。
具体实施方式
例如,本发明的一形态的编码装置是对运动图像进行编码的编码装置,具备:电路以及与上述电路连接的存储器,上述电路在动作中,将编码对象的图片分割为2个以上的瓦片,通过对由分割出的瓦片的一部分或1个以上的瓦片构成的矩形形状的每个切片进行编码,对上述图片进行编码,在对上述图片进行编码时,不将与位于上述图片的右下角的切片所占的区域相关的信息包含在头部信息中。
由此,编码装置能够在图片参数集中不包含而省略与切片的设定方法相关的信息的一部分,因此存在能够削减编码量的可能性。
另外,例如,与上述区域相关的信息是表示上述切片的右下角的位置的信息。
另外,例如,与上述区域相关的信息是表示上述切片的左上角的位置以及右下角的位置的信息。
另外,例如,与上述区域相关的信息是由句法表示的信息。
另外,例如,上述电路在上述动作中,在对上述图片进行编码时,将位于上述图片的开头的切片的左上角的位置信息作为表示上述图片的左上角的位置的信息包含在头部信息中。
另外,本发明的一形态的解码装置是对运动图像进行解码的解码装置,具备:电路以及与上述电路连接的存储器,上述电路在动作中,将解码对象的图片分割为2个以上的瓦片,通过对由分割出的瓦片的一部分或1个以上的瓦片构成的矩形形状的每个切片进行解码,对上述图片进行解码,在对上述图片进行解码时,通过不使用头部信息的规定的方法来设定与位于上述图片的右下角的切片所占的区域相关的信息,与上述区域相关的信息不包含在上述头部信息中。
由此,即使在图片参数集中不包含与切片的设定方法相关的信息的一部分,也能够进行解码处理。因此,解码装置存在能够削减所取得的比特流的编码量的可能性。
另外,例如,与上述区域相关的信息是表示上述切片的右下角的位置的信息。
另外,例如,与上述区域相关的信息是表示上述切片的左上角的位置以及右下角的位置的信息。
另外,例如,与上述区域相关的信息是由句法表示的信息。
另外,例如,上述电路在上述动作中,在对上述图片进行解码时,根据头部信息中包含的表示上述图片的左上角的位置的信息,对位于上述图片的开头的切片的左上角的位置信息进行解码。
另外,例如,本发明的一形态的编码方法是对运动图像进行编码的编码方法,将编码对象的图片分割为2个以上的瓦片,通过对由分割出的瓦片的一部分或1个以上的瓦片构成的矩形形状的每个切片进行编码,对上述图片进行编码,在对上述图片进行编码时,不将与位于上述图片的右下角的切片所占的区域相关的信息包含在头部信息中。
由此,该编码方法能够在图片参数集中不包含而省略与切片的设定方法相关的信息的一部分,因此存在能够削减编码量的可能性。
另外,例如,本发明的一形态的解码方法是对运动图像进行解码的解码方法,将解码对象的图片分割为2个以上的瓦片,通过对由分割出的瓦片的一部分或1个以上的瓦片构成的矩形形状的每个切片进行解码,对上述图片进行解码,在对上述图片进行解码时,通过不使用头部信息的规定的方法来设定与位于上述图片的右下角的切片所占的区域相关的信息,与上述区域相关的信息不包含在上述头部信息中。
由此,即使在图片参数集中不包含与切片的设定方法相关的信息的一部分,也能够进行解码处理。因此,该解码方法存在能够削减所取得的比特流的编码量的可能性。
而且,这些包含性或具体的形态也可以由系统、装置、方法、集成电路、计算机程序或计算机可读取的CD-ROM等非暂时的记录介质实现,也可以由系统、装置、方法、集成电路、计算机程序及记录介质的任意的组合来实现。
以下,参照附图具体地说明实施方式。另外,以下说明的实施方式都表示包含性或具体的例子。在以下的实施方式中表示的数值、形状、材料、构成要素、构成要素的配置位置及连接形态、步骤、步骤的关系及顺序等是一例,不是限定权利要求的意思。
以下,说明编码装置及解码装置的实施方式。实施方式是能够应用在本发明的各形态中说明的处理及/或结构的编码装置及解码装置的例子。处理及/或结构在与实施方式不同的编码装置及解码装置中也能够实施。例如,关于对实施方式应用的处理及/或结构,例如也可以进行以下中的某个。
(1)在本发明的各形态中说明的实施方式的编码装置或解码装置的多个构成要素中的某个,也可以替换为在本发明的各形态中的某个所说明的其他构成要素,或是将它们组合;
(2)在实施方式的编码装置或解码装置中,也可以对通过该编码装置或解码装置的多个构成要素中的一部分构成要素进行的功能或处理,进行功能或处理的追加、替换、删除等的任意的变更。例如,将任一功能或处理替换为在本发明的各形态中的某个所说明的其他功能或处理,或是将它们组合;
(3)在实施方式的编码装置或解码装置实施的方法中,也可以对于该方法中包含的多个处理中的一部分处理,进行追加、替换、删除等任意的变更。例如,将方法中任一处理替换为在本发明的各形态中的某个所说明的其他处理,或是将它们组合;
(4)构成实施方式的编码装置或解码装置的多个构成要素中的一部分构成要素,可以与在本发明的各形态中的某个所说明的构成要素组合,也可以与具备在本发明的各形态中的某个所说明的功能的一部分的构成要素组合,也可以与实施在本发明的各形态中说明的构成要素所实施的处理的一部分的构成要素组合;
(5)具备实施方式的编码装置或解码装置的功能的一部分的构成要素、或实施实施方式的编码装置或解码装置的处理的一部分的构成要素,与在本发明的各形态中的某个所说明的构成要素、具备在本发明的各形态中的某个所说明的功能的一部分的构成要素、或实施在本发明的各形态中的某个所说明的处理的一部分的构成要素组合或替换;
(6)在实施方式的编码装置或解码装置所实施的方法中,该方法中包含的多个处理中的某个替换为在本发明的各形态中的某个所说明的处理或者同样的某个处理,或是将它们组合;
(7)将在实施方式的编码装置或解码装置所实施的方法中包含的多个处理中的一部分的处理也可以与在本发明的各形态中的任一种中说明的处理组合。
(8)在本发明的各形态中说明的处理及/或结构的实施的方式并不限定于实施方式的编码装置或解码装置。例如,处理及/或结构也可以在以与实施方式中公开的运动图像编码或运动图像解码不同的目的而利用的装置中实施。
[编码装置]
首先,说明有关实施方式的编码装置。图1是表示有关实施方式的编码装置100的功能结构的框图。编码装置100是将运动图像以块单位进行编码的运动图像编码装置。
如图1所示,编码装置100是将图像以块单位进行编码的装置,具备分割部102、减法部104、变换部106、量化部108、熵编码部110、逆量化部112、逆变换部114、加法部116、块存储器118、循环滤波部120、帧存储器122、帧内预测部124、帧间预测部126和预测控制部128。
编码装置100例如由通用处理器及存储器实现。在此情况下,当保存在存储器中的软件程序被处理器执行时,处理器作为分割部102、减法部104、变换部106、量化部108、熵编码部110、逆量化部112、逆变换部114、加法部116、循环滤波部120、帧内预测部124、帧间预测部126及预测控制部128发挥功能。此外,编码装置100也可以作为与分割部102、减法部104、变换部106、量化部108、熵编码部110、逆量化部112、逆变换部114、加法部116、循环滤波部120、帧内预测部124、帧间预测部126及预测控制部128对应的专用的1个以上的电子电路实现。
以下,在说明了编码装置100的整体处理的流程之后,对编码装置100中包含的各构成要素进行说明。
[编码处理的整体流程]
图2是表示由编码装置100进行的整体编码处理的一例的流程图。
首先,编码装置100的分割部102将作为运动图像的输入图像中包含的各图片分割为多个固定尺寸的块(例如,128×128像素)(步骤Sa_1)。然后,分割部102对该固定尺寸的块选择分割图案(也称为块形状)(步骤Sa_2)。也就是说,分割部102将具有固定尺寸的块进一步分割为构成该所选择的分割图案的多个块。然后,编码装置100对于该多个块中的每一个,对该块(即,编码对象块)进行步骤Sa_3至Sa_9的处理。
也就是说,由帧内预测部124、帧间预测部126和预测控制部128的全部或一部分构成的预测处理部生成编码对象块(也称为当前块)的预测信号(也称为预测块)(步骤Sa_3)。
接着,减法部104生成编码对象块与预测块的差分作为预测残差(也称为差分块)(步骤Sa_4)。
接下来,变换部106和量化部108通过对该差分块进行变换和量化来生成多个量化系数(步骤Sa_5)。此外,由多个量化系数构成的块也被称为系数块。
接着,熵编码部110通过对该系数块和与预测信号的生成相关的预测参数进行编码(具体而言是熵编码),生成编码信号(步骤Sa_6)。另外,编码信号也称为编码比特流、压缩比特流或流。
接下来,逆量化部112和逆变换部114通过对系数块进行逆量化和逆变换来复原多个预测残差(即,差分块)(步骤Sa_7)。
接着,加法部116通过对该复原后的差分块加上预测块,将当前块重构为重构图像(也称为重构块或解码图像块)(步骤Sa_8)。由此,生成重构图像。
当生成该重构图像时,循环滤波部120根据需要对该重构图像进行滤波(步骤Sa_9)。
然后,编码装置100判定整个图片的编码是否已完成(步骤Sa_10),并且在判定为编码未完成的情况下(步骤Sa_10中为否),反复进行从步骤Sa_2开始的处理。
另外,在上述的例子中,编码装置100对固定尺寸的块选择1个分割图案,按照该分割图案进行各块的编码,但也可以按照多个分割图案的每一个进行各块的编码。在这种情况下,编码装置100可以评价针对多个分割图案中的每一个的成本,并且例如可以选择通过按照最小成本的分割图案进行编码而得到的编码信号作为输出的编码信号。
如图所示,这些步骤Sa_1~Sa_10的处理由编码装置100顺序地进行。或者,这些处理中的一部分多个处理可以并行地进行,也可以进行这些处理的顺序的调换。
[分割部]
分割部102将输入运动图像中包含的各图片分割为多个块,将各块向减法部104输出。例如,分割部102首先将图片分割为固定尺寸(例如128×128)的块。也可以采用其他固定块尺寸。该固定尺寸的块有被称作编码树单元(CTU)的情况。并且,分割部102例如基于递归性的四叉树(quadtree)及/或二叉树(binary tree)块分割,将固定尺寸的各个块分割为可变尺寸(例如64×64以下)的块。即,分割部102选择分割图案。该可变尺寸的块有被称作编码单元(CU)、预测单元(PU)或变换单元(TU)的情况。另外,在各种处理例中,不需要将CU、PU及TU区分,而也可以将图片内的一部分或全部的块作为CU、PU、TU的处理单位。
图3是表示实施方式的块分割的一例的概念图。在图3中,实线表示基于四叉树块分割的块边界,虚线表示基于二叉树块分割的块边界。
这里,块10是128×128像素的正方形块(128×128块)。该128×128块10首先被分割为4个正方形的64×64块(四叉树块分割)。
左上方的64×64块再被垂直地分割为2个矩形的32×64块,左方的32×64块再被垂直地分割为2个矩形的16×64块(二叉树块分割)。结果,左上方的64×64块被分割为2个16×64块11、12和32×64块13。
右上方的64×64块被水平地分割为2个矩形的64×32块14、15(二叉树块分割)。
左下方的64×64块被分割为4个正方形的32×32块(四叉树块分割)。4个32×32块中的左上方的块及右下方的块进一步被分割。左上方的32×32块被垂直地分割为2个矩形的16×32块,右方的16×32块再被水平地分割为2个16×16块(二叉树块分割)。右下方的32×32块被水平地分割为2个32×16块(二叉树块分割)。结果,左下方的64×64块被分割为16×32块16、2个16×16块17、18、2个32×32块19、20、以及2个32×16块21、22。
右下方的64×64块23不被分割。
如以上这样,在图3中,块10基于递归性的四叉树及二叉树块分割而被分割为13个可变尺寸的块11~23。这样的分割有被称作QTBT(quad-tree plus binary tree,四叉树加二叉树)分割的情况。
另外,在图3中,1个块被分割为4个或2个块(四叉树或二叉树块分割),但分割并不限定于这些。例如,也可以是1个块被分割为3个块(三叉树分割)。包括这样的三叉树分割在内的分割有被称作MBT(multi type tree,多类型树)分割的情况。
[图片的结构切片/瓦片]
为了并行地解码图片,图片有时以切片单位或以瓦片单位构成。由切片单位或瓦片单位构成的图片可以由分割部102构成。
切片是构成图片的基本的编码的单位。图片例如由1个以上的切片构成。另外,切片由1个以上的连续的CTU(Coding Tree Unit,编码树单元)构成。
图4A是表示切片的结构的一例的概念图。例如,图片包括11×8个CTU,并且被分割为4个切片(切片1~4)。切片1由16个CTU构成,切片2由21个CTU构成,切片3由29个CTU构成,切片4由22个CTU构成。在此,图片内的各CTU属于任一个切片。切片的形状成为将图片在水平方向上分割的形状。切片的边界不需要是画面端,可以是画面内的CTU的边界中的任意位置。切片中的CTU的处理顺序(编码顺序或解码顺序)例如是光栅扫描顺序。此外,切片包含头部信息和编码数据。在头部信息中,也可以记述切片的开头的CTU地址、切片类型等该切片的特征。
瓦片是构成图片的矩形区域的单位。也可以按光栅扫描顺序对各瓦片分派被称为TileId的编号。
图4B是表示瓦片的结构的一例的概念图。例如,图片包括11×8个CTU,并且被分割为4个矩形区域的瓦片(瓦片1~4)。在使用瓦片的情况下,与不使用瓦片的情况相比,变更CTU的处理顺序。在不使用瓦片的情况下,图片内的多个CTU按照光栅扫描顺序被处理。在使用瓦片的情况下,在多个瓦片的每一个中,至少1个CTU按照光栅扫描顺序被处理。例如,如图4B所示,瓦片1中包括的多个CTU的处理顺序是从瓦片1的第1行的左端到瓦片1的第1行的右端,然后从瓦片1的第2行的左端到瓦片1的第2行的右端的顺序。
另外,1个瓦片有时包含1个以上的切片,1个切片有时包含1个以上的瓦片。
[减法部]
减法部104以从分割部102输入并由分割部102分割的块单位从原信号(原样本)减去预测信号(以下所示的从预测控制部128输入的预测样本)。即,减法部104计算编码对象块(以下称作当前块)的预测误差(也称作残差)。并且,减法部104将计算出的预测误差(残差)向变换部106输出。
原信号是编码装置100的输入信号,是表示构成运动图像的各图片的图像的信号(例如亮度(luma)信号及2个色差(chroma)信号)。以下,也有将表示图像的信号称作样本的情况。
[变换部]
变换部106将空间域的预测误差变换为频域的变换系数,将变换系数向量化部108输出。具体而言,变换部106例如对空间域的预测误差进行规定的离散余弦变换(DCT)或离散正弦变换(DST)。规定的DCT或DST也可以预先确定。
另外,变换部106也可以从多个变换类型之中适应性地选择变换类型,使用与所选择的变换类型对应的变换基函数(transform basis function),将预测误差变换为变换系数。这样的变换有被称作EMT(explicit multiple core transform,多核变换)或AMT(adaptive multiple transform,自适应多变换)的情况。
多个变换类型例如包括DCT-II、DCT-V、DCT-VIII、DST-I及DST-VII。图5A是表示与变换类型例对应的变换基函数的表。在图5A中,N表示输入像素的数量。从这些多个变换类型之中的变换类型的选择,例如既可以依赖于预测的种类(帧内预测及帧间预测),也可以依赖于帧内预测模式。
表示是否应用这样的EMT或AMT的信息(例如称作EMT标志或者AMT标志)及表示所选择的变换类型的信息通常以CU级被信号化。另外,这些信息的信号化并不需要限定于CU级,也可以是其他级(例如,比特序列级、图片级、切片级、瓦片级或CTU级)。
此外,变换部106也可以对变换系数(变换结果)进行再变换。这样的再变换有被称作AST(adaptive secondary transform,自适应二次变换)或NSST(non-separablesecondary transform,不可分二次变换)的情况。例如,变换部106按与帧内预测误差对应的变换系数的块中包含的每个子块(例如4×4子块)进行再变换。表示是否应用NSST的信息及与NSST中使用的变换矩阵有关的信息通常以CU级被进行信号化。另外,这些信息的信号化并不需要限定于CU级,也可以是其他级(例如,序列级、图片级、切片级、瓦片级或CTU级)。
在变换部106也可以应用Separable的变换和Non-Separable的变换,Separable(可分离)的变换是指与输入的维度数相当地按每个方向分离而进行多次变换的方式,Non-Separable(不可分)的变换是指当输入是多维时将2个以上的维度合起来看作1个维度而一起进行变换的方式。
例如,作为Non-Separable的变换的一例,可以举出在输入是4×4的块的情况下将其看作具有16个元素的一个排列,对该排列以16×16的变换矩阵进行变换处理的方式。
此外,在Non-Separable的变换的进一步的例子中,也可以在将4×4的输入块看作具有16个要素的一个排列后,进行对该排列多次进行Givens旋转的变换(HypercubeGivens Transform)。
在变换部106中的变换中,能够根据CU内的区域来切换要变换为频率区域的基的类型。作为一例,有SVT(Spatially Varying Transform)。在SVT中,如图5B所示,在水平或垂直方向上将CU二等分,仅对任意一方的区域进行向频率区域的变换。能够对每个区域设置变换基的类型,例如使用DST7和DCT8。在本例中,仅对CU内的2个区域中的某一方进行变换,另一方不进行变换,但也可以将2个区域都变换。另外,分割方法也不仅是二等分,还可以更灵活,例如四等分或者对表示分割的信息另外进行编码,与CU分割同样地进行信号化(signaling)等。另外,有时也将SVT称为SBT(Sub-block Transform,子块变换)。
[量化部]
量化部108对从变换部106输出的变换系数进行量化。具体而言,量化部108对当前块的变换系数以规定的扫描顺序进行扫描,基于与被扫描的变换系数对应的量化参数(QP)对该变换系数进行量化。并且,量化部108将当前块的量化后的变换系数(以下称作量化系数)向熵编码部110及逆量化部112输出。规定的扫描顺序也可以预先确定。
规定的扫描顺序是用于变换系数的量化/逆量化的顺序。例如,也可以用频率的升序(从低频向高频的顺序)或降序(从高频向低频的顺序)定义规定的扫描顺序。
量化参数(QP)是指定义量化步长(量化宽度)的参数。例如,如果量化参数的值增加,则量化步长也增加。即,如果量化参数的值增加,则量化误差增大。
另外,在量化中,有时使用量化矩阵。例如,有时与4×4和8×8等频率变换尺寸、帧内预测和帧间预测等预测模式、亮度和色差等像素成分对应地使用多种量化矩阵。另外,量化是指将以规定的间隔采样的值与规定的级别对应起来进行数字化,在该技术领域中,也可以使用舍入、化整(rounding)、缩放这样的其他表现来参照,也可以采用舍入、化整、缩放。规定的间隔以及级别也可以预先确定。
作为使用量化矩阵的方法,有使用在编码装置侧直接设定的量化矩阵的方法和使用默认的量化矩阵(默认矩阵)的方法。在编码装置侧,通过直接设定量化矩阵,能够设定与图像的特征相应的量化矩阵。然而,在这种情况下,存在由于量化矩阵的编码而编码量增加的缺点。
另一方面,也存在不使用量化矩阵而以高频成分的系数和低频成分的系数都相同的方式进行量化的方法。另外,该方法等同于使用系数全部为相同值的量化矩阵(平坦矩阵)的方法。
量化矩阵例如可以由SPS(序列参数集:Sequence Parameter Set)或PPS(图片参数集:Picture Parameter Set)指定。SPS包含对序列使用的参数,PPS包含对图片使用的参数。SPS和PPS有时简称为参数集。
[熵编码部]
熵编码部110基于从量化部108输入的量化系数,生成编码信号(编码比特流)。具体而言,熵编码部110例如将量化系数进行二值化,对二值信号进行算术编码,输出被压缩的比特流或序列。
[逆量化部]
逆量化部112对从量化部108输入的量化系数进行逆量化。具体而言,逆量化部112对当前块的量化系数以规定的扫描顺序进行逆量化。并且,逆量化部112将当前块的逆量化后的变换系数向逆变换部114输出。规定的扫描顺序也可以预先确定。
[逆变换部]
逆变换部114通过对从逆量化部112输入的变换系数进行逆变换,复原预测误差(残差)。具体而言,逆变换部114通过对变换系数进行与变换部106的变换对应的逆变换,复原当前块的预测误差。并且,逆变换部114将复原后的预测误差向加法部116输出。
另外,复原后的预测误差通常由于通过量化丢失了信息,所以与减法部104计算出的预测误差不一致。即,复原后的预测误差中通常包含量化误差。
[加法部]
加法部116通过将从逆变换部114输入的预测误差与从预测控制部128输入的预测样本相加,重构当前块。并且,加法部116将重构的块向块存储器118及循环滤波部120输出。重构块有被称作本地解码块的情况。
[块存储器]
块存储器118例如是用来将在帧内预测中参照的、编码对象图片(称作当前图片)内的块进行保存的存储部。具体而言,块存储器118保存从加法部116输出的重构块。
[帧存储器]
帧存储器122例如是用来将在帧间预测中使用的参照图片进行保存的存储部,也有被称作帧缓冲器的情况。具体而言,帧存储器122保存由循环滤波部120滤波后的重构块。
[循环滤波部]
循环滤波部120对由加法部116重构的块施以循环滤波,将滤波后的重构块向帧存储器122输出。循环滤波是指在编码循环内使用的滤波(环内滤波),例如包括解块滤波(DF或DBF)、样本自适应偏移(SAO)及自适应循环滤波(ALF)等。
在ALF中,采用用来除去编码失真的最小二乘误差滤波器,例如按当前块内的每个2×2子块,采用基于局部性的梯度(gradient)的方向及活性度(activity)从多个滤波器中选择的1个滤波器。
具体而言,首先将子块(例如2×2子块)分类为多个类(例如15或25类)。子块的分类基于梯度的方向及活性度来进行。例如,使用梯度的方向值D(例如0~2或0~4)和梯度的活性值A(例如0~4),计算分类值C(例如C=5D+A)。并且,基于分类值C,将子块分类为多个类。
梯度的方向值D例如通过将多个方向(例如水平、垂直及2个对角方向)的梯度进行比较而导出。此外,梯度的活性值A例如通过将多个方向的梯度相加、并对相加结果进行量化来导出。
基于这样的分类的结果,从多个滤波器之中决定用于子块的滤波器。
作为在ALF中使用的滤波器的形状,例如使用圆对称形状。图6A~图6C是表示在ALF中使用的滤波器的形状的多个例子的图。图6A表示5×5钻石形状滤波器,图6B表示7×7钻石形状滤波器,图6C表示9×9钻石形状滤波器。表示滤波器的形状的信息通常以图片级被进行信号化。另外,表示滤波器的形状的信息的信号化不需要限定于图片级,也可以是其他级(例如,序列级、切片级、瓦片级、CTU级或CU级)。
ALF的开启/关闭例如也可以以图片级或CU级决定。例如,关于亮度,可以以CU级决定是否采用ALF,关于色差,可以以图片级决定是否采用ALF。表示ALF的开启/关闭的信息通常以图片级或CU级被进行信号化。另外,表示ALF的开启/关闭的信息的信号化并不需要限定于图片级或CU级,也可以是其他级(例如,序列级、切片级、瓦片级或CTU级)。
可选择的多个滤波器(例如到15个或25个为止的滤波器)的系数集通常以图片级被进行信号化。另外,系数集的信号化并不需要限定于图片级,也可以是其他级(例如,序列级、切片级、瓦片级、CTU级、CU级或子块级)。
[循环滤波部>去块滤波器]
在去块滤波器中,循环滤波部120通过对重构图像的块边界进行滤波处理来减少在该块边界产生的失真。
图7是表示作为去块滤波器发挥功能的循环滤波部120的详细结构的一例的框图。
循环滤波部120包括边界判定部1201、滤波判定部1203、滤波处理部1205、处理判定部1208、滤波特性决定部1207以及开关1202、1204和1206。
边界判定部1201判定在块边界附近是否存在进行去块滤波处理的像素(即对象像素)。然后,边界判定部1201将判定结果输出到开关1202和处理判定部1208。
在由边界判定部1201判定为对象像素存在于块边界附近的情况下,开关1202将滤波处理前的图像输出到开关1204。相反,在由边界判定部1201判定为对象像素不存在于块边界附近时,开关1202将滤波处理之前的图像输出到开关1206。
滤波判定部1203基于位于对象像素的周边的至少1个周边像素的像素值,判定是否对对象像素进行去块滤波处理。然后,滤波判定部1203将该判定结果输出到开关1204和处理判定部1208。
在由滤波判定部1203判定为对于对象像素进行去块滤波处理的情况下,开关1204将经由开关1202取得的滤波处理前的图像输出到滤波处理部1205。相反,在由滤波判定部1203判定为不对于对象像素进行去块滤波处理的情况下,开关1204将经由开关1202取得的滤波处理前的图像输出到开关1206。
在经由开关1202和1204取得了滤波处理前的图像的情况下,滤波处理部1205对于对象像素执行具有由滤波特性决定部1207决定的滤波特性的去块滤波处理。然后,滤波处理部1205将该滤波处理后的像素输出到开关1206。
根据处理判定部1208的控制,开关1206选择性地输出未被去块滤波处理的像素和通过滤波处理部1205被去块滤波处理的像素。
处理判定部1208基于边界判定部1201和滤波判定部1203的各自的判定结果来控制开关1206。即,处理判定部1208在由边界判定部1201判定为对象像素存在于块边界附近、且由滤波判定部1203判定为对于对象像素进行去块滤波处理的情况下,从开关1206输出去块滤波处理后的像素。另外,在上述情况以外的情况下,处理判定部1208从开关1206输出未被去块/滤波处理的像素。通过反复进行这样的像素的输出,从开关1206输出滤波处理后的图像。
图8是表示具有相对于块边界对称的滤波特性的去块滤波的一例的概念图。
在去块滤波处理中,例如,使用像素值和量化参数,选择特性不同的2个去块滤波器、即强滤波器和弱滤波器中的任一个。在强滤波器中,如图8所示,在隔着块边界存在像素p0~p2和像素q0~q2的情况下,像素q0~q2各自的像素值例如通过进行以下的式所示的运算而变更为像素值q’0~q’2。
q’0=(p1+2×p0+2×q0+2×q1+q2+4)/8
q’1=(p0+q0+q1+q2+2)/4
q’2=(p0+q0+q1+3×q2+2×q3+4)/8
此外,在上述的式子中,p0~p2以及q0~q2是像素p0~p2以及像素q0~q2各自的像素值。另外,q3是在与块边界相反的一侧与像素q2相邻的像素q3的像素值。另外,在上述的各式的右边,与在去块滤波处理中使用的各像素的像素值相乘的系数是滤波系数。
进而,在去块滤波处理中,也可以以运算后的像素值不超过阈值而被设定的方式进行限幅处理。在该限幅处理中,使用根据量化参数决定的阈值,将基于上述式的运算后的像素值限幅为“运算对象像素值±2×阈值”。由此,能够防止过度的平滑化。
图9是用于说明进行去块滤波处理的块边界的概念图。图10是表示Bs值的一例的概念图。
进行去块滤波处理的块边界例如是图9所示的8×8像素块的PU(PredictionUnit,预测单元)或TU(Transform Unit,变换单元)的边界。去块滤波处理能够以4行或4列为单位进行。首先,对于图9所示的块P以及块Q,如图10那样决定Bs(Boundary Strength,边界强度)值。
根据图10的Bs值,决定是否即使是属于同一图像的块边界,也进行不同强度的去块滤波处理。在Bs值为2的情况下进行针对色差信号的去块滤波处理。在Bs值为1以上且满足规定的条件的情况下,进行针对亮度信号的去块滤波处理。规定的条件也可以预先确定。另外,Bs值的判定条件并不限定于图10所示的条件,也可以基于其他参数来决定。
[预测处理部(帧内预测部/帧间预测部/预测控制部)]
图11是表示由编码装置100的预测处理部进行的处理的一例的流程图。此外,预测处理部由帧内预测部124、帧间预测部126和预测控制部128的全部或一部分的构成要素构成。
预测处理部生成当前块的预测图像(步骤Sb_1)。该预测图像也称为预测信号或预测块。另外,在预测信号中,例如有帧内预测信号或帧间预测信号。具体而言,预测处理部使用通过进行预测块的生成、差分块的生成、系数块的生成、差分块的复原、以及解码图像块的生成而已经得到的重构图像,生成当前块的预测图像。
重构图像例如可以是参照图片的图像,也可以是包含当前块的图片即当前图片内的已编码的块的图像。当前图片内的已编码的块例如是当前块的相邻块。
图12是表示由编码装置100的预测处理部进行的处理的另一例的流程图。
预测处理部通过第1方式生成预测图像(步骤Sc_1a),通过第2方式生成预测图像(步骤Sc_1b),并且通过第3方式生成预测图像(步骤Sc_1c)。第1方式、第2方式和第3方式是用于生成预测图像的互不相同的方式,分别可以是例如帧间预测方式、帧内预测方式和其他预测方式。在这样的预测方式中,也可以使用上述的重构图像。
接着,预测处理部选择在步骤Sc_1a、Sc_1b以及Sc_1c中生成的多个预测图像中的任一个(步骤Sc_2)。该预测图像的选择、即用于得到最终的预测图像的方式或模式的选择也可以针对所生成的各预测图像计算成本,并基于该成本来进行。此外,该预测图像的选择可以基于用于编码处理的参数来进行。编码装置100可以将用于确定所选择的预测图像、方式或模式的信息信号化为编码信号(也称为编码比特流)。该信息例如可以是标志等。由此,解码装置能够基于该信息,按照在编码装置100中选择的方式或模式来生成预测图像。此外,在图12所示的例子中,预测处理部在通过各方式生成预测图像后,选择预测图像中的任一个。然而,在生成这些预测图像前,预测处理部可以基于用于上述编码处理的参数来选择方式或模式,并且可以根据该方式或模式来生成预测图像。
例如,第1方式和第2方式分别是帧内预测和帧间预测,并且预测处理部可以从按照这些预测方式生成的预测图像中选择针对当前块的最终预测图像。
图13是表示由编码装置100的预测处理部进行的处理的另一例的流程图。
首先,预测处理部通过帧内预测生成预测图像(步骤Sd_1a),并且通过帧间预测生成预测图像(步骤Sd_1b)。此外,通过帧内预测生成的预测图像也被称为帧内预测图像,通过帧间预测生成的预测图像也被称为帧间预测图像。
接下来,预测处理部评价帧内预测图像和帧间预测图像中的每一个(步骤Sd_2)。在该评价中也可以使用成本。也就是说,预测处理部计算帧内预测图像和帧间预测图像各自的成本C。该成本C能够通过R-D最优化模型的式子例如C=D+λ×R来计算。在该式中,D是预测图像的编码失真,并且例如通过当前块的像素值与预测图像的像素值之间的差分绝对值和等来表示。另外,R是预测图像的产生编码量,具体而言,是用于生成预测图像的运动信息等的编码所需的编码量等。另外,λ例如是拉格朗日的未定乘数。
然后,预测处理部从帧内预测图像和帧间预测图像中选择计算出最小成本C的预测图像作为当前块的最终预测图像(步骤Sd_3)。也就是说,选择用于生成当前块的预测图像的预测方式或模式。
[帧内预测部]
帧内预测部124参照保存在块存储器118中的当前图片内的块而进行当前块的帧内预测(也称作画面内预测),从而生成预测信号(帧内预测信号)。具体而言,帧内预测部124通过参照与当前块相邻的块的样本(例如亮度值、色差值)进行帧内预测而生成帧内预测信号,并将帧内预测信号向预测控制部128输出。
例如,帧内预测部124使用规定的多个帧内预测模式中的1个进行帧内预测。多个帧内预测模式通常包括1个以上的非方向性预测模式和多个方向性预测模式。规定的多个模式也可以预先确定。
1个以上的非方向性预测模式例如包括由H.265/HEVC规格规定的Planar(平面)预测模式及DC预测模式。
多个方向性预测模式例如包括由H.265/HEVC规格规定的33个方向的预测模式。另外,多个方向性预测模式也可以除了33个方向以外还包括32个方向的预测模式(合计65个方向性预测模式)。图14是表示可以在帧内预测中使用的全部67个帧内预测模式(2个非方向性预测模式及65个方向性预测模式)的概念图。实线箭头表示由H.265/HEVC规格规定的33个方向,虚线箭头表示追加的32个方向(2个非方向性预测模式在图14中未图示)。
在各种处理例中,在色差块的帧内预测中,也可以参照亮度块。即,也可以基于当前块的亮度成分来预测当前块的色差成分。这样的帧内预测有被称作CCLM(cross-component linear model,跨组件的线性模型)预测的情况。也可以将这样的参照亮度块的色差块的帧内预测模式(例如称作CCLM模式)作为色差块的帧内预测模式的1个来添加。
帧内预测部124也可以基于水平/垂直方向的参照像素的梯度,将帧内预测后的像素值进行修正。伴随着这样的修正的帧内预测有被称作PDPC(position dependent intraprediction combination,位置决定的帧内预测组合)的情况。表示有没有采用PDPC的信息(例如称作PDPC标志)通常以CU级被进行信号化。另外,该信息的信号化并不需要限定于CU级,也可以是其他级(例如,序列级、图片级、切片级、瓦片级或CTU级)。
[帧间预测部]
帧间预测部126参照保存在帧存储器122中的与当前图片不同的参照图片进行当前块的帧间预测(也称作画面间预测),从而生成预测信号(帧间预测信号)。帧间预测以当前块或当前块内的当前子块(例如4×4块)的单位进行。例如,帧间预测部126对于当前块或当前子块,在参照图片内进行运动搜索(motion estimation,运动估计),寻找与该当前块或当前子块最一致的参照块或子块。并且,帧间预测部126取得对从参照块或子块到当前块或子块的运动或变化进行补偿的运动信息(例如运动矢量)。帧间预测部126基于该运动信息进行运动补偿(或运动预测),从而生成当前块或子块的帧间预测信号。并且,帧间预测部126将所生成的帧间预测信号向预测控制部128输出。
在运动补偿中使用的运动信息以多种形态被信号化为帧间预测信号。例如,运动矢量也可以被信号化。作为其他例子,运动矢量和预测运动矢量(motion vectorpredictor)之间的差分也可以被信号化。
[帧间预测的基本流程]
图15是表示帧间预测的基本流程的一例的流程图。
帧间预测部126首先生成预测图像(步骤Se_1至Se_3)。接下来,减法部104生成当前块与预测图像之间的差分作为预测残差(步骤Se_4)。
这里,在预测图像的生成中,帧间预测部126通过进行当前块的运动矢量(MV)的决定(步骤Se_1和Se_2)以及运动补偿(步骤Se_3)来生成该预测图像。此外,在MV的决定中,帧间预测部126通过进行候选运动矢量(候选MV)的选择(步骤Se_1)和MV的导出(步骤Se_2)来决定该MV。候选MV的选择例如通过从候选MV列表中选择至少1个候选MV来进行。另外,在MV的导出中,帧间预测部126也可以通过从至少1个候选MV中进一步选择至少1个候选MV,将该选择出的至少1个候选MV决定为当前块的MV。或者,帧间预测部126可以通过对该选择出的至少一个候选MV中的每一个搜索由该候选MV指示的参照图片的区域来决定当前块的MV。另外,也可以将搜索该参照图片的区域的动作称为运动搜索(motion estimation)。
此外,在上述例子中,步骤Se_1~Se_3由帧间预测部126进行,但是例如步骤Se_1或步骤Se_2等的处理也可以由编码装置100中包括的其他构成要素进行。
[运动矢量的导出的流程]
图16是表示运动矢量导出的一例的流程图。
帧间预测部126在对运动信息(例如MV)进行编码的模式下导出当前块的MV。在这种情况下,例如,运动信息被编码为预测参数,并且被信号化。也就是说,编码后的运动信息包含在编码信号(也称为编码比特流)中。
或者,帧间预测部126在不对运动信息进行编码的模式下导出MV。在这种情况下,运动信息不包含在编码信号中。
在此,MV导出的模式也可以有后述的普通帧间模式、合并模式、FRUC模式以及仿射模式等。在这些模式中,对运动信息进行编码的模式有普通帧间模式、合并模式、以及仿射模式(具体而言,仿射帧间模式和仿射合并模式)等。此外,运动信息不仅可以包括MV,而且可以包括后述的预测运动矢量选择信息。此外,不对运动信息进行编码的模式有FRUC模式等。帧间预测部126从这些多个模式中选择用于导出当前块的MV的模式,并且使用该选择出的模式导出当前块的MV。
图17是表示运动矢量导出的另一例的流程图。
帧间预测部126在对差分MV进行编码的模式下导出当前块的MV。在这种情况下,例如,差分MV被编码为预测参数,并且被信号化。也就是说,被编码的差分MV包含在编码信号中。该差分MV是当前块的MV与其预测MV之差。
或者,帧间预测部126在不对差分MV进行编码的模式下导出MV。在这种情况下,被编码的差分MV不包含在编码信号中。
在此,如上所述,MV的导出模式有后述的普通帧间模式、合并模式、FRUC模式以及仿射模式等。在这些模式中,对差分MV进行编码的模式有普通帧间模式、以及仿射模式(具体而言,仿射帧间模式)等。此外,不对差分MV进行编码的模式有FRUC模式、合并模式、以及仿射模式(具体而言,仿射合并模式)等。帧间预测部126从这些多个模式中选择用于导出当前块的MV的模式,并且使用该选择出的模式导出当前块的MV。
[运动矢量的导出的流程]
图18是表示运动矢量导出的另一例的流程图。MV导出的模式、即帧间预测模式有多个模式,大致分为对差分MV进行编码的模式和不对差分运动矢量进行编码的模式。不对差分MV进行编码的模式有合并模式、FRUC模式和仿射模式(具体而言,仿射合并模式)。关于这些模式的详细内容将后述,简单地说,合并模式是通过从周边的已编码块中选择运动矢量来导出当前块的MV的模式,FRUC模式是通过在已编码区域间进行搜索来导出当前块的MV的模式。另外,仿射模式是假定仿射变换,将构成当前块的多个子块各自的运动矢量作为当前块的MV而导出的模式。
具体而言,如图所示,在帧间预测模式信息表示0的情况下(Sf_1中的0),帧间预测部126基于合并模式导出运动矢量(Sf_2)。此外,在帧间预测模式信息表示1的情况下(Sf_1中的1),帧间预测部126根据FRUC模式导出运动矢量(Sf_3)。此外,在帧间预测模式信息表示2的情况下(Sf_1中的2),帧间预测部126根据仿射模式(具体而言,仿射合并模式)导出运动矢量(Sf_4)。此外,在帧间预测模式信息表示3的情况下(Sf_1中的3),帧间预测部126根据对差分MV进行编码的模式(例如,普通帧间模式)来导出运动矢量(Sf_5)。
[MV导出>普通帧间模式]
普通帧间模式是基于从由候选MV表示的参照图片的区域中与当前块的图像相似的块来导出当前块的MV的帧间预测模式。此外,在该普通帧间模式中,差分MV被编码。
图19是表示基于普通帧间模式的帧间预测的例子的流程图。
首先,帧间预测部126基于在时间或空间上位于当前块周围的多个已编码块的MV等的信息,对于该当前块取得多个候选MV(步骤Sg_1)。也就是说,帧间预测部126制作候选MV列表。
接着,帧间预测部126从在步骤Sg_1中取得的多个候选MV中,将N个(N为2以上的整数)候选MV分别作为预测运动矢量候选(也称为预测MV候选),按照规定的的优先顺序进行提取(步骤Sg_2)。另外,该优先顺序也可以是对N个候选MV的每一个而预先确定的。
接着,帧间预测部126从该N个预测运动矢量候选中选择1个预测运动矢量候选作为当前块的预测运动矢量(也称为预测MV)(步骤Sg_3)。此时,帧间预测部126将用于识别选择出的预测运动矢量的预测运动矢量选择信息编码到流。另外,流是上述的编码信号或编码比特流。
接着,帧间预测部126参照已编码参照图片,导出当前块的MV(步骤Sg_4)。此时,帧间预测部126还将所导出的MV与预测运动矢量之间的差分值作为差分MV编码到流。另外,已编码参照图片是由在编码后重构的多个块构成的图片。
最后,帧间预测部126通过使用该导出的MV和已编码的参照图片对当前块进行运动补偿来生成该当前块的预测图像(步骤Sg_5)。另外,预测图像是上述的帧间预测信号。
此外,编码信号中包含的表示在预测图像的生成中使用的帧间预测模式(在上述例子中,普通帧间模式)的信息被编码为例如预测参数。
另外,候选MV列表也可以与在其他模式中使用的列表共同使用。此外,与候选MV列表有关的处理可以应用于与其他模式中使用的列表有关的处理。与该候选MV列表有关的处理例如是从候选MV列表中提取或选择候选MV、重新排列候选MV、或者删除候选MV等。
[MV导出>合并模式]
合并模式是通过从候选MV列表中选择候选MV作为当前块的MV来导出该MV的帧间预测模式。
图20是表示基于合并模式的帧间预测的例子的流程图。
首先,帧间预测部126基于在时间或空间上位于当前块周围的多个已编码块MV等的信息,对该当前块取得多个候选MV(步骤Sh_1)。也就是说,帧间预测部126制作候选MV列表。
接着,帧间预测部126通过从在步骤Sh_1中取得的多个候选MV中选择1个候选MV,导出当前块的MV(步骤Sh_2)。此时,帧间预测部126将用于识别选择出的候选MV的MV选择信息编码到流。
最后,帧间预测部126通过使用该导出的MV和已编码参照图片对当前块进行运动补偿来生成该当前块的预测图像(步骤Sh_3)。
此外,编码信号中包含的表示在预测图像的生成中使用的帧间预测模式(在上述例子中,合并模式)的信息被编码为例如预测参数。
图21是用于说明基于合并模式的当前图片的运动矢量导出处理的一例的概念图。
首先,生成登记了预测MV的候选的预测MV列表。作为预测MV的候选,有:空间相邻预测MV,是位于对象块的空间的周边的多个已编码块所具有的MV;时间相邻预测MV,是对已编码参照图片中的对象块的位置进行了投影的附近的块所具有的MV;结合预测MV,是将空间相邻预测MV和时间相邻预测MV的MV值组合而生成的MV;以及零预测MV,是值为零的MV,等。
接着,通过从登记在预测MV列表中的多个预测MV中选择1个预测MV,来决定为对象块的MV。
而且,在可变长度编码部中,将表示选择了哪个预测MV的信号即merge_idx记述在流中进行编码。
另外,在图21中说明的预测MV列表中登记的预测MV是一例,也可以是与图中的个数不同的个数,或者是不包含图中的预测MV的一部分种类的结构,或者是追加了除图中的预测MV的种类以外的预测MV的结构。
也可以使用通过合并模式导出的对象块的MV,通过进行后述的DMVR(decodermotion vector refinement)处理来决定最终的MV。
另外,预测MV的候选是上述的候选MV,预测MV列表是上述的候选MV列表。此外,也可以将候选MV列表称为候选列表。此外,merge_idx是MV选择信息。
[MV导出>FRUC模式]
运动信息也可以不从编码装置侧被信号化,而在解码装置侧被导出。另外,如上所述,也可以使用由H.265/HEVC规格规定的合并模式。此外,例如也可以通过在解码装置侧进行运动搜索来导出运动信息。在实施方式中,在解码装置侧不使用当前块的像素值而进行运动搜索。
这里,对在解码装置侧进行运动估计的模式进行说明。该在解码装置侧进行运动估计的模式有被称作PMMVD(pattern matched motion vector derivation,图案匹配的运动矢量推导)模式或FRUC(frame rate up-conversion,帧速率上变换)模式的情况。
以流程图的形式在图22中表示FRUC处理的一例。首先,参照与当前块在空间或时间上相邻的已编码块的运动矢量,生成分别具有预测运动矢量(MV)的多个候选的列表(即,是候选MV列表,也可以与合并列表共用)(步骤Si_1)。接着,从登记在候选MV列表中的多个候选MV之中选择最佳候选MV(步骤Si_2)。例如,计算候选MV列表中包含的各候选MV的评价值,基于评价值选择1个候选。并且,基于所选择的候选的运动矢量,导出用于当前块的运动矢量(步骤Si_4)。具体而言,例如将所选择的候选的运动矢量(最佳候选MV)原样作为用于当前块的运动矢量来导出。此外,例如也可以通过在与所选择的候选的运动矢量对应的参照图片内的位置的周边区域中进行图案匹配,来导出用于当前块的运动矢量。即,也可以对最佳候选MV的周边区域通过使用参照图片中的图案匹配以及评价值进行搜索,在有评价值为更好的值的MV的情况下,将最佳候选MV更新为上述MV,将其作为当前块的最终的MV。也可以做成不实施进行向具有更好的评价值的MV的更新的处理的结构。
最后,帧间预测部126通过使用该导出的MV和已编码的参照图片对当前块进行运动补偿来生成该当前块的预测图像(步骤Si_5)。
也可以在以子块单位进行处理的情况下也进行完全同样的处理。
评价值也可以通过各种方法来计算。例如,将与运动矢量对应的参照图片内的区域的重构图像与规定的区域(例如,如下所示,该区域可以是其他参照图片的区域或当前图片的相邻块的区域)的重构图像进行比较。规定的区域也可以预先确定。
然后,也可以计算2个重构图像的像素值的差分,用于运动矢量的评价值。另外,也可以是,除了差分值以外还使用其他信息来计算评价值。
接着,对图案匹配的例子进行详细说明。首先,选择候选MV列表(例如合并列表)中包含的1个候选MV作为基于图案匹配的搜索的起始点。例如,作为图案匹配,能够使用第1图案匹配或第2图案匹配。第1图案匹配及第2图案匹配有分别被称作双向匹配(bilateralmatching)及模板匹配(template matching)的情况。
[MV导出>FRUC>双向匹配]
在第1图案匹配中,在不同的2个参照图片内的、沿着当前块的运动轨迹(motiontrajectory)的2个块之间进行图案匹配。因而,在第1图案匹配中,作为上述的用于候选的评价值的计算的规定区域,使用沿着当前块的运动轨迹的其他参照图片内的区域。规定的区域也可以预先确定。
图23是用于说明沿着运动轨迹的2个参照图片中的2个块间的第1图案匹配(双向匹配)的一例的概念图。如图23所示,在第1图案匹配中,通过在沿着当前块(Cur block)的运动轨迹的2个块、且不同的2个参照图片(Ref0,Ref1)内的2个块的对之中搜索最匹配的对,导出2个运动矢量(MV0,MV1)。具体而言,对于当前块,导出由候选MV指定的第1已编码参照图片(Ref0)内的指定位置处的重构图像、与由将上述候选MV以显示时间间隔进行缩放后的对称MV指定的第2已编码参照图片(Ref1)内的指定位置处的重构图像的差分,使用所得到的差分值计算评价值。能够在多个候选MV之中选择评价值为最好的值的候选MV作为最终MV,能够得到良好的结果。
在连续性的运动轨迹的假定下,指示2个参照块的运动矢量(MV0,MV1)相对于当前图片(Cur Pic)与2个参照图片(Ref0,Ref1)之间的时间上的距离(TD0,TD1)成比例。例如,在当前图片在时间上位于2个参照图片之间、从当前图片向2个参照图片的时间上的距离相等的情况下,在第1图案匹配中,导出镜像对称的双方向的运动矢量。
[MV导出>FRUC>模板匹配]
在第2图案匹配(模板匹配)中,在当前图片内的模板(在当前图片内与当前块相邻的块(例如上及/或左相邻块))与参照图片内的块之间进行图案匹配。因而,在第2图案匹配中,作为上述的用于候选的评价值的计算的规定区域,使用当前图片内的与当前块相邻的块。
图24是用于说明当前图片内的模板与参照图片内的块之间的图案匹配(模板匹配)的一例的概念图。如图24所示,在第2图案匹配中,通过在参照图片(Ref0)内搜索与在当前图片(Cur Pic)内相邻于当前块(Cur block)的块最匹配的块,导出当前块的运动矢量。具体而言,对于当前块,导出左相邻及上相邻的双方或某一方的已编码区域的重构图像与由候选MV指定的已编码参照图片(Ref0)内的同等位置处的重构图像的差分,使用所得到的差分值计算评价值,能够在多个候选MV之中选择评价值为最好的值的候选MV作为最佳候选MV。
这样的表示是否采用FRUC模式的信息(例如称作FRUC标志)以CU级被信号化。此外,在采用FRUC模式的情况下(例如FRUC标志为真的情况下),表示可采用的图案匹配的方法(第1图案匹配或第2图案匹配)的信息以CU级被信号化。另外,这些信息的信号化并不需要限定于CU级,也可以是其他级(例如,序列级、图片级、切片级、瓦片级、CTU级或子块级)。
[MV导出>仿射模式]
接下来,对基于多个相邻块的运动矢量并以子块单位导出运动矢量的仿射模式进行说明。该模式有时被称为仿射运动补偿预测(affine motion compensationprediction)模式。
图25A是用于说明基于多个相邻块的运动矢量的子块单位的运动矢量的导出的一例的概念图。在图25A中,当前块包括16个4×4子块。这里,基于相邻块的运动矢量导出当前块的左上角控制点的运动矢量v0,同样地,基于相邻子块的运动矢量导出当前块的右上角控制点的运动矢量v1。然后,根据以下的式(1A),可以投影2个运动矢量v0以及v1,也可以导出当前块内的各子块的运动矢量(vx,vy)。
【数式1】
这里,x和y分别表示子块的水平位置和垂直位置,w表示规定的权重系数。规定的权重系数也可以预先决定。
表示这种仿射模式的信息(例如,称为仿射标志)可以被信号化为CU级的信号。此外,表示该仿射模式的信息的信号化不需要限定于CU级,可以是其他级别(例如,序列级、图片级、切片级、瓦片级、CTU级或子块级)。
另外,在这样的仿射模式中,也可以包含左上以及右上角控制点的运动矢量的导出方法不同的若干模式。例如,在仿射模式中,有仿射帧间(也称为仿射普通帧间)模式和仿射合并模式这2个模式。
[MV导出>仿射模式]
图25B是用于说明具有3个控制点的仿射模式中的子块单位的运动矢量的导出的一例的概念图。在图25B中,当前块包括16个4×4子块。这里,基于相邻块的运动矢量导出当前块的左上角控制点的运动矢量v0,同样地,基于相邻块的运动矢量导出当前块的右上角控制点的运动矢量v1,基于相邻块的运动矢量导出当前块的左下角控制点的运动矢量v2。然后,根据以下的式(1B),可以投影3个运动矢量v0、v1以及v2,也可以导出当前块内的各子块的运动矢量(vx,vy)。
【数式2】
这里,x和y分别表示子块中心的水平位置和垂直位置,w表示当前块的宽度,h表示当前块的高度。
不同的控制点数(例如,2个和3个)的仿射模式也可以以CU级进行切换而信号化。另外,也可以将表示在CU级中使用的仿射模式的控制点数的信息以其他级(例如,序列级、图片级、切片级、瓦片级、CTU级或子块级)进行信号化。
另外,在这样的具有3个控制点的仿射模式中,也可以包含左上、右上以及左下角控制点的运动矢量的导出方法不同的若干模式。例如,在仿射模式中,有仿射帧间(也称为仿射普通帧间)模式和仿射合并模式这2个模式。
[MV导出>仿射合并模式]
图26A、图26B和图26C是用于说明仿射合并模式的概念图。
在仿射合并模式中,如图26A所示,例如,基于与在与当前块相邻的已编码的块A(左)、块B(上)、块C(右上)、块D(左下)和块E(左上)中的以仿射模式编码的块对应的多个运动矢量,计算当前块的控制点中的每一个的预测运动矢量。具体而言,按照已编码的块A(左)、块B(上)、块C(右上)、块D(左下)以及块E(左上)的顺序检查这些块,确定以仿射模式编码的最初的有效块。基于与所确定的块对应的多个运动矢量来计算当前块的控制点的预测运动矢量。
例如,如图26B所示,在以具有2个控制点的仿射模式对与当前块的左侧相邻的块A进行编码的情况下,导出投影到包含块A的已编码的块的左上角以及右上角的位置的运动矢量v3以及v4。然后,根据导出的运动矢量v3和v4,计算当前块的左上角的控制点的预测运动矢量v0和右上角的控制点的预测运动矢量v1
例如,如图26C所示,当在具有3个控制点的仿射模式下对与当前块的左侧相邻的块A进行编码时,导出投影到包含块A的已编码的块的左上角、右上角和左下角的位置的运动矢量v3、v4和v5。然后,根据导出的运动矢量v3、v4和v5,计算当前块的左上角的控制点的预测运动矢量v0、右上角的控制点的预测运动矢量v1和左下角的控制点的预测运动矢量v2
另外,在后述的图29的步骤Sj_1中的当前块的控制点各自的预测运动矢量的导出中,也可以使用该预测运动矢量导出方法。
图27是表示仿射合并模式的一例的流程图。
在仿射合并模式中,如图所示,首先,帧间预测部126导出当前块的控制点各自的预测MV(步骤Sk_1)。控制点如图25A所示,是当前块的左上角和右上角的点,或者如图25B所示,是当前块的左上角、右上角和左下角的点。
也就是说,如图26A所示,帧间预测部126按照已编码的块A(左)、块B(上)、块C(右上)、块D(左下)和块E(左上)的顺序检查这些块,并且确定以仿射模式编码的初始有效块。
然后,在块A被确定并且块A具有2个控制点的情况下,如图26B所示,帧间预测部126根据包含块A的已编码的块的左上角和右上角的运动矢量v3和v4来计算当前块的左上角的控制点的运动矢量v0和右上角的控制点的运动矢量v1。例如,通过将已编码的块的左上角和右上角的运动矢量v3和v4投影到当前块,帧间预测部126计算当前块的左上角的控制点的预测运动矢量v0和右上角的控制点的预测运动矢量v1
或者,在块A被确定并且块A具有3个控制点的情况下,如图26C所示,帧间预测部126根据包含块A的已编码的块的左上角、右上角和左下角的运动矢量v3、v4和v5来计算当前块的左上角的控制点的运动矢量v0、右上角的控制点的运动矢量v1和左下角的控制点的运动矢量v2。例如,通过将已编码的块的左上角、右上角和左下角的运动矢量v3、v4和v5投影到当前块上,帧间预测部126计算当前块的左上角的控制点的预测运动矢量v0、右上角的控制点的预测运动矢量v1和左下角的控制点的运动矢量v2
接下来,帧间预测部126对当前块中包含的多个子块中的每一个进行运动补偿。即,帧间预测部126针对该多个子块的每一个,使用2个预测运动矢量v0和v1和上述的式(1A)、或者3个预测运动矢量v0、v1以及v2和上述的式(1B),计算该子块的运动矢量作为仿射MV(步骤Sk_2)。然后,帧间预测部126这些使用仿射MV和已编码的参照图片来对该子块进行运动补偿(步骤Sk_3)。结果,对当前块进行运动补偿,并且生成该当前块的预测图像。
[MV导出>仿射帧间模式]
图28A是用于说明具有2个控制点的仿射帧间模式的概念图。
在该仿射帧间模式中,如图28A所示,从与当前块相邻的已编码的块A、块B和块C的运动矢量中选择的运动矢量被用作当前块的左上角的控制点的预测运动矢量v0。同样地,从与当前块相邻的已编码的块D和块E的运动矢量中选择的运动矢量被用作当前块的右上角的控制点的预测运动矢量v1
图28B是用于说明具有3个控制点的仿射帧间模式的概念图。
在该仿射帧间模式中,如图28B所示,从与当前块相邻的已编码的块A、块B和块C的运动矢量中选择的运动矢量被用作当前块的左上角的控制点的预测运动矢量v0。同样地,从与当前块相邻的已编码的块D和块E的运动矢量中选择的运动矢量被用作当前块的右上角的控制点的预测运动矢量v1。此外,从与当前块相邻的已编码的块F和块G的运动矢量中选择的运动矢量被用作当前块的左下角的控制点的预测运动矢量v2
图29是表示仿射帧间模式的一例的流程图。
如图所示,在仿射帧间模式中,首先,帧间预测部126导出当前块的2个或3个控制点各自的预测MV(v0,v1)或(v0,v1,v2)(步骤Sj_1)。如图25A或图25B所示,控制点是当前块的左上角、右上角或左下角的点。
即,帧间预测部126通过选择图28A或图28B所示的当前块的各控制点附近的已编码的块中的某个块的运动矢量,导出当前块的控制点的预测运动矢量(v0,v1)或(v0,v1,v2)。此时,帧间预测部126将用于识别所选择的2个运动矢量的预测运动矢量选择信息编码到流。
例如,帧间预测部126可以通过使用成本评价等来决定从与当前块相邻的已编码块中选择哪个块的运动矢量作为控制点的预测运动矢量,并且可以在比特流中记述表示选择了哪个预测运动矢量的标志。
接下来,帧间预测部126在更新步骤Sj_1中选择或导出的预测运动矢量的同时(步骤Sj_2)进行运动搜索(步骤Sj_3和Sj_4)。也就是说,帧间预测部126将与要更新的预测运动矢量对应的各子块的运动矢量作为仿射MV,并且使用上述的式(1A)或式(1B)来计算(步骤Sj_3)。然后,帧间预测部126使用这些仿射MV和已编码的参照图片对各子块进行运动补偿(步骤Sj_4)。结果,在运动搜索循环中,帧间预测部126例如将可以得到最小成本的预测运动矢量决定为控制点的运动矢量(步骤Sj_5)。此时,帧间预测部126还将该决定的MV和预测运动矢量之间的差分值作为差分MV编码成流。
最后,帧间预测部126通过使用该决定的MV和已编码的参照图片对当前块进行运动补偿来生成该当前块的预测图像(步骤Sj_6)。
[MV导出>仿射帧间模式]
在以CU级切换不同的控制点数(例如,2个和3个)的仿射模式来进行信号化的情况下,有时在已编码的块和当前块中控制点的数量不同。图30A以及图30B是用于说明在已编码的块和当前块中控制点的数量不同的情况下的控制点的预测矢量导出方法的概念图。
例如,如图30A所示,在当前块具有左上角、右上角以及左下角这3个控制点,与当前块的左侧相邻的块A以具有2个控制点的仿射模式被编码的情况下,导出投影到包含块A的已编码的块的左上角以及右上角的位置的运动矢量v3以及v4。然后,根据导出的运动矢量v3和v4,计算当前块的左上角的控制点的预测运动矢量v0和右上角的控制点的预测运动矢量v1。此外,根据导出的运动矢量v0和v1计算左下角的控制点的预测运动矢量v2
例如,如图30B所示,在当前块具有左上角和右上角这2个控制点、与当前块的左侧相邻的块A以具有3个控制点的仿射模式下被编码的情况下,导出投影到包含块A的已编码的块的左上角、右上角和左下角的位置的运动矢量v3、v4和v5。然后,根据导出的运动矢量v3、v4和v5,计算当前块的左上角的控制点的预测运动矢量v0和右上角的控制点的预测运动矢量v1
在图29的步骤Sj_1中的当前块的控制点的各个预测运动矢量的导出中,也可以使用该预测运动矢量导出方法。
[MV导出>DMVR]
图31A是表示合并模式以及DMVR的关系的流程图。
帧间预测部126在合并模式下导出当前块的运动矢量(步骤Sl_1)。接下来,帧间预测部126判定是否进行运动矢量搜索,即运动搜索(步骤Sl_2)。这里,当判定为不进行运动搜索时(步骤Sl_2中的否),帧间预测部126将在步骤Sl_1中导出的运动矢量决定为针对当前块的最终运动矢量(步骤Sl_4)。即,在这种情况下,在合并模式下决定当前块的运动矢量。
另一方面,当在步骤Sl_1中判定为进行运动搜索时(步骤Sl_2中的是),帧间预测部126通过搜索由在步骤Sl_1中导出的运动矢量表示的参照图片的周边区域来导出针对当前块的最终运动矢量(步骤Sl_3)。即,在这种情况下,由DMVR决定当前块的运动矢量。
图31B是用于说明用于决定MV的DMVR处理的一例的概念图。
首先,将(例如在合并模式中)对当前块设定的最佳MVP设为候选MV。然后,按照候选MV(L0),根据L0方向的已编码图片即第1参照图片(L0)确定参照像素。同样地,按照候选MV(L1),根据L1方向的已编码图片即第2参照图片(L1)确定参照像素。通过取这些参照像素的平均来生成模板。
接着,使用上述模板,分别搜索第1参照图片(L0)和第2参照图片(L1)的候选MV的周边区域,将成本最小的MV决定为最终的MV。此外,成本值例如也可以使用模板的各像素值与搜索区域的各像素值的差分值以及候选MV值等来计算。
另外,典型地,在编码装置和后述的解码装置中,这里说明的处理的结构和动作基本上是共同的。
即使不是这里说明的处理例本身,只要是能够搜索候选MV的周边而导出最终的MV的处理,则也可以使用任意的处理。
[运动补偿>BIO/OBMC]
在运动补偿中,存在生成预测图像并对该预测图像进行修正的模式。该模式例如是后述的BIO以及OBMC。
图32是表示预测图像的生成的一例的流程图。
帧间预测部126生成预测图像(步骤Sm_1),并且通过例如上述任一个模式来修正该预测图像(步骤Sm_2)。
图33是表示生成预测图像的另一例的流程图。
帧间预测部126决定当前块的运动矢量(步骤Sn_1)。接下来,帧间预测部126生成预测图像(步骤Sn_2),并且判定是否进行修正处理(步骤Sn_3)。这里,当判定为进行修正处理时(步骤Sn_3中的是),帧间预测部126通过修正该预测图像来生成最终预测图像(步骤Sn_4)。另一方面,当判定为不进行修正处理时(步骤Sn_3中为否),帧间预测部126不修正该预测图像地输出该预测图像作为最终预测图像(步骤Sn_5)。
此外,在运动补偿中,存在在生成预测图像时修正亮度的模式。该模式例如是后述的LIC。
图34是表示生成预测图像的另一例的流程图。
帧间预测部126导出当前块的运动矢量(步骤So_1)。接下来,帧间预测部126判定是否进行亮度修正处理(步骤So_2)。这里,当判定为进行亮度修正处理时(步骤So_2中的是),帧间预测部126在进行亮度修正的同时生成预测图像(步骤So_3)。也就是说,通过LIC生成预测图像。另一方面,当判定为不进行亮度修正处理时(步骤So_2中为否),帧间预测部126在不进行亮度修正的情况下通过通常的运动补偿生成预测图像(步骤So_4)。
[运动补偿>OBMC]
不仅可以使用通过运动搜索得到的当前块的运动信息,而且可以使用相邻块的运动信息来生成帧间预测信号。具体而言,也可以通过对基于通过(参照图片内的)运动搜索得到的运动信息的预测信号和基于(当前图片内的)相邻块的运动信息的预测信号进行加权相加,以当前块内的子块单位生成帧间预测信号。这样的帧间预测(运动补偿)有时被称为OBMC(overlapped block motion compensation,重叠块运动补偿)。
在OBMC模式中,表示用于OBMC的子块的尺寸的信息(例如称为OBMC块尺寸)也可以以序列级进行信号化。并且,表示是否应用OBMC模式的信息(例如称为OBMC标志)也可以以CU级进行信号化。另外,这些信息的信号化的级不需要限定于序列级以及CU级,也可以是其他级(例如图片级、切片级、瓦片级、CTU级或者子块级)。
对OBMC模式的例子进行更具体的说明。图35和图36是用于说明基于OBMC处理的预测图像修正处理的概要的流程图和概念图。
首先,如图36所示,使用分配给处理对象(当前)块的运动矢量(MV),取得基于通常的运动补偿的预测图像(Pred)。在图36中,箭头“MV”指向参照图片,并且表示当前图片的当前块参照哪个块以得到预测图像。
接着,将对已编码的左相邻块已经导出的运动矢量(MV_L)应用(再利用)到编码对象块,取得预测图像(Pred_L)。运动矢量(MV_L)由从当前块指向参照图片的箭头“MV_L”表示。然后,通过重叠2个预测图像Pred和Pred_L,进行预测图像的第1次修正。这具有混合相邻块间的边界的效果。
同样地,将对已编码的上相邻块已经导出的运动矢量(MV_U)应用(再利用)到编码对象块,取得预测图像(Pred_U)。运动矢量(MV_U)由从当前块指向参照图片的箭头“MV_U”表示。然后,通过将预测图像Pred_U与进行了第1次修正的预测图像(例如,Pred和Pred_L)重合来进行预测图像的第2次修正。这具有混合相邻块间的边界的效果。通过第2次修正得到的预测图像是与相邻块的边界被混合(平滑)的当前块的最终预测图像。
此外,上述的例子是使用了左相邻以及上相邻的块的2路径的修正方法,但该修正方法也可以是还使用了右相邻及/或下相邻的块的3路径或者其以上的路径的修正方法。
另外,进行重合的区域也可以不是块整体的像素区域,而仅是块边界附近的一部分区域。
另外,在此说明了OBMC的预测图像修正处理,上述OBMC的预测图像修正处理用于通过将1张参照图片与追加的预测图像Pred_L和Pred_U重合而得到1张预测图像Pred。但是,在基于多个参照图像来修正预测图像的情况下,也可以对多个参照图片分别应用同样的处理。在这种情况下,通过进行基于多个参照图片的OBMC的图像修正,在从各个参照图片取得了被修正的预测图像后,通过进一步重合该取得的多个修正预测图像来取得最终预测图像。
另外,在OBMC中,对象块的单位可以是预测块单位,也可以是将预测块进一步分割后的子块单位。
作为判定是否应用OBMC处理的方法,例如有使用表示是否应用OBMC处理的信号即obmc_flag的方法。作为具体的一例,编码装置也可以判定对象块是否属于运动复杂的区域。编码装置在属于运动复杂的区域的情况下,作为obmc_flag设定值1并应用OBMC处理来进行编码,在不属于运动复杂的区域的情况下,作为obmc_flag设定值0并不应用OBMC处理地进行块的编码。另一方面,在解码装置中,通过对流(例如压缩序列)中记述的obmc_flag进行解码,根据该值切换是否应用OBMC处理来进行解码。
在上述的例子中,帧间预测部126对矩形的当前块生成1个矩形的预测图像。然而,帧间预测部126可以对该矩形的当前块生成具有与矩形不同的形状的多个预测图像,并且可以通过结合这些多个预测图像来生成最终矩形预测图像。与矩形不同的形状例如也可以是三角形。
图37是用于说明2个三角形的预测图像的生成的概念图。
帧间预测部126通过对当前块内的三角形第1分区使用该第1分区的第1MV进行运动补偿,从而生成三角形预测图像。同样地,帧间预测部126通过对当前块中的三角形第2分区使用该第2分区的第2MV进行运动补偿来生成三角形预测图像。然后,帧间预测部126通过结合这些预测图像来生成与当前块相同的矩形的预测图像。
此外,在图37所示的例子中,第1分区及第2分区分别为三角形,但也可以是梯形,也可以分别是相互不同的形状。而且,在图37所示的例子中,当前块由2个分区构成,但也可以由3个以上的分区构成。
另外,第1分区以及第2分区也可以重复。即,第1分区以及第2分区也可以包含相同的像素区域。在这种情况下,可以使用第1分区中的预测图像和第2分区中的预测图像来生成当前块的预测图像。
另外,在该例中,示出了2个分区都通过帧间预测来生成预测图像的例子,但也可以针对至少1个分区通过帧内预测来生成预测图像。
[运动补偿>BIO]
接着,对导出运动矢量的方法进行说明。首先,说明基于假定了等速直线运动的模型来导出运动矢量的模式。该模式有时被称作BIO(bi-directional optical flow,双向光流)模式。
图38是用于说明假定了等速直线运动的模型的概念图。在图38中,(vx,vy)表示速度矢量,τ0、τ1分别表示当前图片(Cur Pic)与2个参照图片(Ref0,Ref1)之间的时间上的距离。(MVx0,MVy0)表示与参照图片Ref0对应的运动矢量,(MVx1,MVy1)表示与参照图片Ref1对应的运动矢量。
此时,也可以是,在速度矢量(vx,vy)的等速直线运动的假定下,(MVx0,MVy0)及(MVx1,MVy1)分别被表示为(vxτ0,vyτ0)及(-vxτ1,-vyτ1),采用以下的光流(opticalflow)等式(2)。
【数式3】
这里,I(k)表示运动补偿后的参照图像k(k=0、1)的亮度值。该光流等式表示(i)亮度值的时间微分、(ii)水平方向的速度及参照图像的空间梯度的水平成分的积、以及(iii)垂直方向的速度及参照图像的空间梯度的垂直成分的积的和等于零。也可以是,基于该光流等式与埃尔米特内插值(Hermite interpolation)的组合,对从合并列表等得到的块单位的运动矢量以像素单位进行修正。
另外,也可以通过与基于假定了等速直线运动的模型的运动矢量的导出不同的方法,在解码装置侧导出运动矢量。例如,也可以基于多个相邻块的运动矢量,以子块单位导出运动矢量。
[运动补偿>LIC]
接着,对使用LIC(local illumination compensation)处理来生成预测图像(预测)的模式的一例进行说明。
图39是用于说明使用了基于LIC处理的亮度修正处理的预测图像生成方法的一例的概念图。
首先,从已编码的参照图片导出MV,取得与当前块对应的参照图像。
接着,对当前块提取表示在参照图片和当前图片中亮度值如何变化的信息。该提取是基于当前图片中的已编码的左相邻参照区域(周边参照区域)及已编码的上相邻参照区域(周边参照区域)的亮度像素值、和由导出的MV指定的参照图片内的同等位置处的亮度像素值来进行的。然后,使用表示亮度值如何变化的信息,计算亮度修正参数。
通过应用上述亮度修正参数对由MV指定的参照图片内的参照图像进行亮度修正处理,生成对于当前块的预测图像。
另外,图39中的上述周边参照区域的形状是一例,也可以使用其以外的形状。
此外,这里对根据1张参照图片生成预测图像的处理进行了说明,但在根据多张参照图片生成预测图像的情况下也是同样的,也可以在对从各个参照图片取得的参照图像以与上述同样的方法进行亮度修正处理后生成预测图像。
作为是否采用LIC处理的判定的方法,例如有使用作为表示是否采用LIC处理的信号的lic_flag的方法。作为具体的一例,在编码装置中,判定当前块是否属于发生了亮度变化的区域,在属于发生了亮度变化的区域的情况下,作为lic_flag而设定值1,采用LIC处理进行编码,在不属于发生了亮度变化的区域的情况下,作为lic_flag而设定值0,不采用LIC处理而进行编码。另一方面,在解码装置中,也可以通过将记述在流中的lic_flag解码,根据其值切换是否采用LIC处理而进行解码。
作为是否采用LIC处理的判定的其他方法,例如还有按照在周边块是否采用了LIC处理来判定的方法。作为具体的一例,在当前块是合并模式的情况下,判定在合并模式处理中的MV的导出时所选择的周边的已编码块是否采用LIC处理进行了编码,根据其结果,切换是否采用LIC处理而进行编码。另外,在该例的情况下,相同的处理也适用于解码装置侧。
使用图39对LIC处理(亮度修正处理)的形态进行了说明,以下,对其详细内容进行说明。
首先,帧间预测部126从作为已编码图片的参照图片导出用于取得与编码对象块对应的参照图像的运动矢量。
接着,帧间预测部126对编码对象块,使用左相邻及上相邻的已编码的周边参照区域的亮度像素值和位于由运动矢量指定的参照图片内的同等位置的亮度像素值,提取表示在参照图片和编码对象图片中亮度值如何变化的信息,计算亮度修正参数。例如,将编码对象图片内的周边参照区域内的某像素的亮度像素值设为p0,将与该像素同等位置的参照图片内的周边参照区域内的像素的亮度像素值设为p1。帧间预测部126对周边参照区域内的多个像素计算用于优化A×p1+B=p0的系数A和B作为亮度修正参数。
接下来,帧间预测部126通过使用亮度修正参数对由运动矢量指定的参照图片内的参照图像进行亮度修正处理,生成针对编码对象块的预测图像。例如,将参照图像内的亮度像素值设为p2,将亮度修正处理后的预测图像的亮度像素值设为p3。帧间预测部126通过对参照图像内的各像素计算A×p2+B=p3来生成亮度修正处理后的预测图像。
此外,图39中的周边参照区域的形状是一例,也可以使用除此以外的形状。另外,也可以使用图39所示的周边参照区域的一部分。例如,也可以将包含从上相邻像素以及左相邻像素分别间隔剔除的规定数量的像素的区域用作周边参照区域。此外,周边参照区域不限于与编码对象块相邻的区域,也可以是不与编码对象块相邻的区域。与像素相关的规定数量也可以预先确定。
此外,在图39所示的例子中,参照图片内的周边参照区域是从编码对象图片内的周边参照区域中由编码对象图片的运动矢量指定的区域,但也可以是由其他运动矢量指定的区域。例如,该其他运动矢量也可以是编码对象图片内的周边参照区域的运动矢量。
另外,在此,说明了编码装置100中的动作,但典型地,解码装置200中的动作也是同样的。
此外,LIC处理不仅应用于亮度,也可以应用于色差。此时,可以对Y、Cb以及Cr的每一个单独地导出修正参数,也可以对任一个使用共同的修正参数。
此外,LIC处理也可以以子块单位来应用。例如,也可以使用当前子块的周边参照区域和由当前子块的MV指定的参照图片内的参照子块的周边参照区域来导出修正参数。
[预测控制部]
预测控制部128选择帧内预测信号(从帧内预测部124输出的信号)及帧间预测信号(从帧间预测部126输出的信号)中的某一个,将所选择的信号作为预测信号,向减法部104及加法部116输出。
如图1所示,在各种编码装置例中,预测控制部128也可以输出输入到熵编码部110的预测参数。熵编码部110可以基于从预测控制部128输入的该预测参数和从量化部108输入的量化系数来生成编码比特流(或序列)。预测参数也可以在解码装置中使用。解码装置也可以接收编码比特流并进行解码,进行与在帧内预测部124、帧间预测部126以及预测控制部128中进行的预测处理相同的处理。预测参数可以包括选择预测信号(例如,运动矢量、预测类型,或者帧内预测部124或帧间预测部126使用的预测模式),或者基于在帧内预测部124、帧间预测部126和预测控制部128中进行的预测处理或表示该预测处理的任意索引、标志或值。
[编码装置的安装例]
图40是表示编码装置100的安装例的框图。编码装置100具备处理器a1以及存储器a2。例如,图1所示的编码装置100的多个构成要素由图40所示的处理器a1以及存储器a2安装实现。
处理器a1是进行信息处理的电路,是可访问存储器a2的电路。例如,处理器a1是对运动图像进行编码的专用或通用的电子电路。处理器a1也可以是CPU那样的处理器。另外,处理器a1也可以是多个电子电路的集合体。另外,例如,处理器a1也可以起到图1等所示的编码装置100的多个构成要素中的多个构成要素的作用。
存储器a2是存储处理器a1对运动图像进行编码用的信息的专用或通用的存储器。存储器a2既可以是电子电路,也可以与处理器a1连接。另外,存储器a2也可以包含在处理器a1中。另外,存储器a2也可以是多个电子电路的集合体。另外,存储器a2既可以是磁盘或者光盘等,也可以表现为储存器(storage)或者记录介质等。另外,存储器a2既可以是非易失性存储器,也可以是易失性存储器。
例如,存储器a2可以存储被编码的运动图像,也可以存储与被编码后的运动图像对应的比特串。另外,在存储器a2中也可以存储处理器a1对运动图像进行编码用的程序。
另外,例如,存储器a2也可以起到图1等所示的编码装置100的多个构成要素中用于存储信息的构成要素的作用。例如,存储器a2可以起到图1所示的块存储器118及帧存储器122的作用。更具体而言,存储器a2可以存储已重构的块及已重构的图片等。
另外,在编码装置100中,可以不安装图1等所示的多个构成要素的全部,也可以不进行上述的多个处理的全部。图1等所示的多个构成要素的一部分可以包含于其他装置,也可以由其他装置执行上述的多个处理的一部分。
[解码装置]
接着,对能够将从例如上述编码装置100输出的编码信号(编码比特流)进行解码的解码装置进行说明。图41是表示有关实施方式的解码装置200的功能结构的框图。解码装置200是将运动图像以块单位进行解码的运动图像解码装置。
如图41所示,解码装置200具备熵解码部202、逆量化部204、逆变换部206、加法部208、块存储器210、循环滤波部212、帧存储器214、帧内预测部216、帧间预测部218和预测控制部220。
解码装置200例如由通用处理器及存储器实现。在此情况下,当由处理器执行了保存在存储器中的软件程序时,处理器作为熵解码部202、逆量化部204、逆变换部206、加法部208、循环滤波部212、帧内预测部216、帧间预测部218及预测控制部220发挥功能。此外,解码装置200也可以作为与熵解码部202、逆量化部204、逆变换部206、加法部208、循环滤波部212、帧内预测部216、帧间预测部218及预测控制部220对应的专用的1个以上的电子电路实现。
以下,在说明了解码装置200的整体处理的流程之后,对解码装置200中包含的各构成要素进行说明。
[解码处理的整体流程]
图42是表示由解码装置200进行的整体的解码处理的一例的流程图。
首先,解码装置200的熵解码部202确定固定尺寸的块(例如128×128像素)的分割图案(步骤Sp_1)。该分割图案是由编码装置100选择的分割图案。然后,解码装置200对构成该分割图案的多个块分别进行步骤Sp_2~Sp_6的处理。
即,熵解码部202对解码对象块(也称为当前块)的编码后的量化系数和预测参数进行解码(具体而言,熵解码)(步骤Sp_2)。
接着,逆量化部204和逆变换部206通过对多个量化系数进行逆量化和逆变换,复原多个预测残差(即差分块)(步骤Sp_3)。
接下来,由帧内预测部216、帧间预测部218和预测控制部220的全部或一部分构成的预测处理部生成当前块的预测信号(也称为预测块)(步骤Sp_4)。
接着,加法部208通过对差分块加上预测块,将当前块重构为重构图像(也称为解码图像块)(步骤Sp_5)。
而且,当生成该重构图像时,循环滤波部212对该重构图像进行滤波(步骤Sp_6)。
然后,解码装置200判定图片整体的解码是否已完成(步骤Sp_7),在判定为未完成的情况下(步骤Sp_7中的否),反复执行从步骤Sp_1起的处理。
如图所示,步骤Sp_1~Sp_7的处理由解码装置200顺序地进行,或者,这些处理中的一部分的多个处理可以并行地进行,也可以进行顺序的调换等。
[熵解码部]
熵解码部202对编码比特流进行熵解码。具体而言,熵解码部202例如从编码比特流算数解码为二值信号。接着,熵解码部202将二值信号进行多值化(debinarize)。由此,熵解码部202以块单位将量化系数向逆量化部204输出。熵解码部202也可以向实施方式中的帧内预测部216、帧间预测部218以及预测控制部220输出编码比特流(参照图1)中包含的预测参数。帧内预测部216、帧间预测部218和预测控制部220能够执行与由编码装置侧的帧内预测部124、帧间预测部126和预测控制部128进行的处理相同的预测处理。
[逆量化部]
逆量化部204对作为来自熵解码部202的输入的解码对象块(以下称作当前块)的量化系数进行逆量化。具体而言,逆量化部204对于当前块的量化系数,分别基于与该量化系数对应的量化参数,对该量化系数进行逆量化。并且,逆量化部204将当前块的逆量化后的量化系数(即变换系数)向逆变换部206输出。
[逆变换部]
逆变换部206通过对作为来自逆量化部204的输入的变换系数进行逆变换,将预测误差复原。
例如在从编码比特流读解出的信息表示采用EMT或AMT的情况下(例如AMT标志是真),逆变换部206基于读解出的表示变换类型的信息,对当前块的变换系数进行逆变换。
此外,例如在从编码比特流读解出的信息表示采用NSST的情况下,逆变换部206对变换系数应用逆再变换。
[加法部]
加法部208通过将作为来自逆变换部206的输入的预测误差与作为来自预测控制部220的输入的预测样本相加,重构当前块。并且,加法部208将重构的块向块存储器210及循环滤波部212输出。
[块存储器]
块存储器210是用来将作为在帧内预测中参照的、解码对象图片(以下称作当前图片)内的块进行保存的存储部。具体而言,块存储器210保存从加法部208输出的重构块。
[循环滤波部]
循环滤波部212对由加法部208重构的块施以循环滤波,将滤波后的重构块向帧存储器214及显示装置等输出。
在从编码比特流读解出的表示ALF的开启/关闭的信息表示ALF的开启的情况下,基于局部性的梯度的方向及活性度从多个滤波器之中选择1个滤波器,对所重构块应用选择的滤波器。
[帧存储器]
帧存储器214是用来将在帧间预测中使用的参照图片进行保存的存储部,也有称作帧缓冲器的情况。具体而言,帧存储器214保存由循环滤波部212滤波后的重构块。
[预测处理部(帧内预测部/帧间预测部/预测控制部)]
图43是表示由解码装置200的预测处理部进行的处理的一例的流程图。此外,预测处理部由帧内预测部216、帧间预测部218和预测控制部220的全部或一部分构成要素构成。
预测处理部生成当前块的预测图像(步骤Sq_1)。该预测图像也称为预测信号或预测块。另外,在预测信号中,例如有帧内预测信号或帧间预测信号。具体而言,预测处理部使用通过进行预测块的生成、差分块的生成、系数块的生成、差分块的复原、以及解码图像块的生成而已经得到的重构图像,生成当前块的预测图像。
重构图像例如可以是参照图片的图像,也可以是包含当前块的图片即当前图片内的已解码的块的图像。当前图片内的已解码的块例如是当前块的相邻块。
图44是表示由解码装置200的预测处理部进行的处理的另一例的流程图。
预测处理部判定用于生成预测图像的方式或模式(步骤Sr_1)。例如,该方式或模式可以基于例如预测参数等来判定。
在判定为第1方式是用于生成预测图像的模式的情况下,预测处理部按照该第1方式生成预测图像(步骤Sr_2a)。此外,在判定为第2方式是用于生成预测图像的模式的情况下,预测处理部按照该第2方式生成预测图像(步骤Sr_2b)。此外,在判定为第3方式是用于生成预测图像的模式的情况下,预测处理部按照该第3方式生成预测图像(步骤Sr_2c)。
第1方式、第2方式和第3方式是用于生成预测图像的互不相同的方式,并且可以是例如帧间预测方式、帧内预测方式和其他预测方式。在这样的预测方式中,也可以使用上述的重构图像。
[帧内预测部]
帧内预测部216基于从编码比特流读解出的帧内预测模式,参照保存在块存储器210中的当前图片内的块进行帧内预测,由此生成预测信号(帧内预测信号)。具体而言,帧内预测部216通过参照与当前块相邻的块的样本(例如亮度值、色差值)进行帧内预测,由此生成帧内预测信号,将帧内预测信号向预测控制部220输出。
另外,在色差块的帧内预测中选择了参照亮度块的帧内预测模式的情况下,帧内预测部216也可以基于当前块的亮度成分来预测当前块的色差成分。
此外,在从编码比特流读解出的信息表示PDPC的采用的情况下,帧内预测部216基于水平/垂直方向的参照像素的梯度,对帧内预测后的像素值进行修正。
[帧间预测部]
帧间预测部218参照保存在帧存储器214中的参照图片,预测当前块。预测以当前块或当前块内的子块(例如4×4块)的单位进行。例如,帧间预测部218使用从编码比特流(例如从熵解码部202输出的预测参数)读解出的运动信息(例如运动矢量)进行运动补偿,由此生成当前块或子块的帧间预测信号,将帧间预测信号向预测控制部220输出。
在从编码比特流读解出的信息表示采用OBMC模式的情况下,帧间预测部218不仅使用通过运动估计得到的当前块的运动信息,还使用相邻块的运动信息来生成帧间预测信号。
此外,在从编码比特流读解出的信息表示采用FRUC模式的情况下,帧间预测部218按照从编码流读解出的图案匹配的方法(双向匹配或模板匹配)进行运动估计,由此导出运动信息。并且,帧间预测部218使用所导出的运动信息进行运动补偿(预测)。
此外,帧间预测部218在采用BIO模式的情况下,基于假定了等速直线运动的模型导出运动矢量。此外,在从编码比特流读解出的信息表示采用仿射运动补偿预测模式的情况下,帧间预测部218基于多个相邻块的运动矢量以子块单位导出运动矢量。
[MV导出>普通帧间模式]
在从编码比特流读取的信息表示应用普通帧间模式的情况下,帧间预测部218基于从编码比特流读取的信息导出MV,并且使用该MV进行运动补偿(预测)。
图45是表示解码装置200中的基于普通帧间模式的帧间预测的例子的流程图。
解码装置200的帧间预测部218对每个块进行针对该块的运动补偿。帧间预测部218基于在时间上或空间上处于当前块周围的多个已解码的块的MV等信息,对该当前块取得多个候选MV(步骤Ss_1)。也就是说,帧间预测部218制作候选MV列表。
接着,帧间预测部218从在步骤Ss_1中取得的多个候选MV中,将N个(N为2以上的整数)候选MV分别作为预测运动矢量候选(也称为预测MV候选),按照规定的优先顺序进行提取(步骤Ss_2)。另外,该优先顺序也可以是对N个预测MV候选的每一个而预先确定的。
接着,帧间预测部218从输入的流(即编码比特流)中对预测运动矢量选择信息进行解码,使用该解码后的预测运动矢量选择信息,从该N个预测MV候选中选择1个预测MV候选作为当前块的预测运动矢量(也称为预测MV)(步骤Ss_3)。
接下来,帧间预测部218从输入的流中解码差分MV,并且通过将作为该解码的差分MV的差分值与所选择的预测运动矢量相加来导出当前块的MV(步骤Ss_4)。
最后,帧间预测部218通过使用该导出的MV和已解码的参照图片对当前块进行运动补偿来生成该当前块的预测图像(步骤Ss_5)。
[预测控制部]
预测控制部220选择帧内预测信号及帧间预测信号中的某一个,将所选择的信号作为预测信号,向加法部208输出。总体上,解码装置侧的预测控制部220、帧内预测部216和帧间预测部218的结构、功能和处理可以对应于编码装置侧的预测控制部128、帧内预测部124和帧间预测部126的结构、功能和处理。
[解码装置的安装例]
图46是表示解码装置200的安装例的框图。解码装置200具备处理器b1以及存储器b2。例如,图41所示的解码装置200的多个构成要素通过图46所示的处理器b1以及存储器b2来安装。
处理器b1是进行信息处理的电路,是可访问存储器b2的电路。例如,处理器b1是对编码后的运动图像(即编码比特流)进行解码的专用或通用的电子电路。处理器b1也可以是CPU那样的处理器。另外,处理器b1也可以是多个电子电路的集合体。另外,例如,处理器b1也可以起到图41等所示的解码装置200的多个构成要素中的多个构成要素的作用。
存储器b2是存储用于处理器b1对编码比特流进行解码的信息的专用或通用的存储器。存储器b2可以是电子电路,也可以与处理器b1连接。另外,存储器b2也可以包含在处理器b1中。另外,存储器b2也可以是多个电子电路的集合体。另外,存储器b2可以是磁盘或光盘等,也可以表现为储存器或记录介质等。另外,存储器b2既可以是非易失性存储器,也可以是易失性存储器。
例如,存储器b2可以存储运动图像,也可以存储编码比特流。另外,在存储器b2中也可以存储有用于处理器b1对编码比特流进行解码的程序。
另外,例如,存储器b2可以起到图41等所示的解码装置200的多个构成要素中用于存储信息的构成要素的作用。具体而言,存储器b2可以起到图41所示的块存储器210及帧存储器214的作用。更具体而言,存储器b2可以存储已重构的块及已重构的图片等。
另外,在解码装置200中,既可以不安装图41等所示的多个构成要素的全部,也可以不进行上述的多个处理的全部。图41等所示的多个构成要素的一部分可以包含于其他装置,也可以由其他装置执行上述的多个处理的一部分。
[各用语的定义]
各用语作为一例,也可以是以下那样的定义。
图片是单色格式中的多个亮度样本的排列,或者4:2:0、4:2:2以及4:4:4的彩色格式中的多个亮度样本的排列以及多个色差样本的2个对应排列。图片可以是帧或场。
帧是产生多个样本行0、2、4、…的顶场以及产生多个样本行1、3、5、…的底场的组合物。
切片为1个独立切片段、以及(如果有)相同访问单元内的(如果有)下一个独立切片段之前的所有后续的依存切片段所包含的整数个编码树单元。
瓦片为图片中的特定的瓦片列以及特定的瓦片行内的多个编码树块的矩形区域。瓦片可以依然应用跨越瓦片的边缘的循环滤波器,但也可以是意图能够独立地进行解码和编码的帧的矩形区域。
块为多个样本的MxN(N行M列)排列,或者是多个变换系数的MxN排列。块也可以是由1个亮度和2个色差的多个矩阵构成的多个像素的正方形或矩形的区域。
CTU(编码树单元)可以是具有3个样本排列的图片的多个亮度样本的编码树块,也可以是多个色差样本的2个对应编码树块。或者,CTU也可以是单色图片、和使用在3个分离的彩色平面以及多个样本的编码中使用的句法构造进行编码的图片中的任意多个样本的编码树块。
超级块构成1个或2个模式信息块,或者也可以是递归地分割为4个32×32的块,进而能够分割的64×64像素的正方形块。
(实施方式1)
[第1形态]
以下,代表性地说明编码装置100或解码装置200的动作,但解码装置200或编码装置100的动作也相同。
在本实施方式的第1形态中,编码装置100(或解码装置200)将图片分割为2个以上的瓦片,对由1个以上的瓦片构成的每个瓦片组进行编码(或解码),由此进行图片的编码(或解码)。
图47A~图47D是表示实施方式1的第1形态的以瓦片边界为基准而被分割为1个以上的瓦片集的图片结构的一例的图。在图47A~图47D中,将图片在横向上4分割并在纵向上3分割的12个矩形区域分别表示为1个瓦片。如上所述,各瓦片由1个以上的连续的CTU构成。这样的图片的结构也可以由分割部102构成。
在图47A中,示出了图片被分割为具有瓦片组A~C的瓦片集1的例子。在此,图47A所示的瓦片组A包含在瓦片集1中,由圆圈1以及圆圈2所示的基本编码顺序连续的2个瓦片构成。图47A所示的瓦片组B包含在瓦片集1中,由圆圈3~圆圈9所示的基本编码顺序连续的7个瓦片构成。同样地,图47A所示的瓦片组C包含在瓦片集1中,由圆圈10~圆圈12所示的基本编码顺序连续的3个瓦片构成。即,瓦片组包含在瓦片集中,由基本编码顺序连续的1个以上的瓦片构成。此外,基本编码顺序是指在编码时对瓦片进行扫描的顺序,是栅格(raster)顺序。例如,瓦片的基本编码顺序是指在编码时对瓦片进行扫描的顺序是栅格顺序。
在图47B中,示出了图片被分割为具有瓦片组A的瓦片集1和具有瓦片组B~D的瓦片集2的例子。图47B所示的瓦片组A包含在瓦片集1中,由圆圈1~圆圈4所示的基本编码顺序连续的4个瓦片构成。图47B所示的瓦片组B包含在瓦片集2中,由圆圈5~圆圈8所示的基本编码顺序连续的4个瓦片构成。图47B所示的瓦片组C和D包含在瓦片集2中,由圆圈9、10和圆圈11~圆圈12所示的基本编码顺序连续的2个瓦片构成。
在图47C中,示出了图片被分割为具有瓦片组A、B的瓦片集1、具有瓦片组C、D的瓦片集2和具有瓦片组E的瓦片集2的例子。图47C所示的瓦片组A包含在瓦片集1中,由圆圈1、2所示的基本编码顺序连续的2个瓦片构成。图47C所示的瓦片组B包含在瓦片集1中,由圆圈3所示的1个瓦片构成。图47C所示的瓦片组C包含在瓦片集2中,由圆圈4~圆圈6所示的基本编码顺序连续的3个瓦片构成。图47C所示的瓦片组D包含在瓦片集2中,由圆圈7~圆圈9所示的基本编码顺序连续的3个瓦片构成。同样地,图47C所示的瓦片组E包含在瓦片集3中,由圆圈10~圆圈12所示的基本编码顺序连续的3个瓦片构成。
在图47D中,示出了图片被分割为具有瓦片组A、B的瓦片集1、具有瓦片组C的瓦片集2、具有瓦片组D、E的瓦片集3和具有瓦片组F的瓦片集4的例子。图47D所示的瓦片组A包含在瓦片集1中,由圆圈1、2所示的基本编码顺序连续的2个瓦片构成。图47C所示的瓦片组B包含在瓦片集1中,由圆圈3~圆圈6所示的4个瓦片构成。图47D所示的瓦片组C包含在瓦片集2中,由圆圈7、8所示的基本编码顺序连续的3个瓦片构成。图47D所示的瓦片组D包含在瓦片集3中,由圆圈9所示的1个瓦片构成。图47D所示的瓦片组E包含在瓦片集3中,由圆圈10、11所示的基本编码顺序连续的2个瓦片构成。图47D所示的瓦片组F包含在瓦片集4中,由圆圈12所示的1个瓦片构成。
这样,有时1个瓦片集包含1个以上的瓦片组,有时1个瓦片组包含1个以上的瓦片。此外,瓦片组也可以被称为切片。
图48A是表示实施方式1的第1形态的在对图片进行编码时,用于对构成图片的瓦片组进行编码的句法的一例的图。在图48A中示出了用于对图47A~图47D那样被分割出的瓦片组进行编码的句法的一例。在本形态中,以瓦片组单位进行NAL单元化。在此,NAL是Network Abstraction Layer(网络抽象化层)的缩写,表示适当地划分原始的流的处理阶层。在本形态中,图片被分割为多个NAL单元,被封装,按每个NAL单元被编码。
在图片由多个瓦片组构成的情况下,编码装置100也可以将瓦片组分类为独立瓦片组(Independent Tile Group)和依存瓦片组(Dependent Tile Group),并以句法进行通知。在该情况下,也可以由1个独立瓦片组与0个以上的依存瓦片组构成瓦片组序列。在此,独立瓦片组是能够独立解码的瓦片组,依存瓦片组是能够利用所属的瓦片组序列中的独立瓦片组的信息进行解码的瓦片组。
在本形态中,编码装置100也可以将依存瓦片组识别信息(在图48A所示的句法例中,dependent_tile_group_flag等)包含在瓦片组头部中。由此,编码装置100能够通知该瓦片组为独立瓦片组或依存瓦片组。
另外,编码装置100在图片由多个瓦片组构成的情况下,也可以将瓦片组序列识别信息(例如,在图48A所示的句法例中tile_group_seq_id等)包含在瓦片组头部中。由此,编码装置100能够通知该瓦片组所属的瓦片组序列ID。进而,编码装置100能够使用瓦片组序列识别信息,通知瓦片组序列由1个独立瓦片组和0个以上的依存瓦片组构成的瓦片组序列构成。
此外,编码装置100可以在瓦片组序列的开头对独立瓦片组进行编码。由此,编码装置100在解码装置200对依存瓦片组进行解码时,能够使具有相同的瓦片组序列识别信息的独立瓦片组的头部信息(参数值)再利用。进而,编码装置100在该瓦片组为依存瓦片组的情况下,能够使具有相同的瓦片组序列ID的独立瓦片组的参数值再利用,因此能够省略依存瓦片组的参数值的通知。
此外,编码装置100也可以根据瓦片组中包含的瓦片的数量(以下称为瓦片数)或瓦片的数据尺寸等来决定各个瓦片组的大小。
此外,编码装置100可以总是将该瓦片组所属的图片的时刻信息(图48A中所示的句法例中的tile_group_pic_order_cnt_lsb等)包含在瓦片组头部中。即,编码装置100也可以不依赖于该瓦片组为独立瓦片组还是依存瓦片组,始终通知该瓦片组所属的图片的时刻信息。由此,解码装置200通过参照瓦片组头部的时刻信息,能够检测到下一个图片的瓦片组到达,因此能够检测存在未到达的瓦片组。因此,解码装置200可以在检测到在构成当前图片的瓦片组之中存在未到达的瓦片组的情况下判断为错误。
因此,即使在以任意顺序对瓦片组进行编码的情况下,编码装置100也存在能够使解码装置200容易地进行基于通信错误等的数据缺失的检测的可能性。
图48B是表示实施方式1的第1形态的与瓦片组相关的句法的一例的图。
在图48B中,示出了编码装置100以瓦片单位对1个以上的连续的CTU进行编码的情况下的句法的例子。此外,在图48B中,示出了如下情况的句法例:编码装置100以瓦片单位反复编码,直到瓦片组终端识别信息(例如,在图48B所示的句法例中为end_of_tile_group_flag等)变为真。
此外,编码装置100也可以根据包含在瓦片组中的瓦片数或包含在瓦片组中的瓦片的数据尺寸等来决定各个瓦片组的大小,并设定瓦片组终端识别信息的真伪。
此外,瓦片组终端识别信息也可以不一定被CABAC编码。在该情况下,编码装置100也可以省略瓦片终端的1比特(例如,在图48B所示的句法例中为end_of_tile_one_bit等)而进行编码。
图49A是表示实施方式1的第1形态的构成图片的瓦片集的一例和基本编码顺序的图。在图49A中,示出了图片被分割为具有瓦片组A~C的瓦片集1和具有瓦片组D~F的瓦片集2的例子。瓦片组A~F分别由2个瓦片构成。
图49B是表示在与图48A相同的瓦片集中调换了瓦片组的编码顺序的例子的图。即,如图49B所示,编码装置100也可以在对瓦片集1中包含的瓦片组A进行编码之后,对瓦片集2中包含的瓦片组D进行编码等,在瓦片集1与2之间进行交织而进行编码。由此,在编码装置100以瓦片集单位并行地进行编码处理的情况下,存在能够缩短从编码到数据送出的延迟时间的可能性。
另外,图49B所示的对瓦片集间进行交织来对瓦片组进行编码的编码顺序是一例。即,编码装置100可以以任意的顺序对瓦片组进行编码,也可以在瓦片组序列中,按照独立瓦片组序列一定为最初的顺序进行编码。
另外,编码装置100也可以将调换编码顺序的单位设为瓦片组序列或瓦片集单位。并且,在该情况下,编码装置100也可以省略瓦片组序列识别信息的编码。
图50A是表示实施方式1的第1形态的解码装置200进行的瓦片组的解码处理的流程图。
首先,解码装置200取得以瓦片组单位进行了编码的比特流的瓦片组头部,并进行所取得的瓦片组头部的信息解析(S10)。
接着,解码装置200基于步骤S10中的信息解析结果,判定解码对象的瓦片组是否是依存瓦片组(S11)。在本形态中,解码装置200能够通过解析瓦片组头部中包含的依存瓦片组识别信息(例如,图48A中所示的dependent_tile_group_flag等的句法)来判定该瓦片组是否是依存瓦片组。
在步骤S11中,在解码对象的瓦片组不是依存瓦片组的情况下(在步骤S11中为独立),解码装置200将解析出的瓦片组头部的信息保存在规定的存储器区域中(S12)。在本形态中,解码装置200在解码对象的瓦片组为独立瓦片组的情况下,将解析出的瓦片组头部的信息保存在根据瓦片组序列识别信息(例如,图48A所示的tile_group_seq_id等的句法)而决定的存储器区域中。
另一方面,在步骤S11中,在解码对象的瓦片组为依存瓦片组的情况下(在步骤S11中为依存),解码装置200从规定的存储器区域取得瓦片组头部的信息(S13)。在本形态中,解码装置200在解码对象的瓦片组为依存瓦片组的情况下,从根据瓦片组序列识别信息而决定的存储区域取得瓦片组头部的信息。所取得的瓦片组头部的信息是属于解码对象的依存瓦片组所属的瓦片组序列中的独立瓦片组的瓦片组头部的信息,并且根据瓦片组序列识别信息来决定并保存在规定的存储器区域中。由此,对独立瓦片组的瓦片组头部的信息进行再利用。
接着,解码装置200使用解析或取得的瓦片组头部的信息,进行瓦片组中包含的所有的瓦片的解码处理(S14)。
图50B是表示实施方式1的第1形态的解码装置200进行的瓦片组的解码处理时的错误检测处理和隐藏处理的一例的流程图。
首先,解码装置200取得以瓦片组单位进行了编码的比特流的瓦片组头部,并进行所取得的瓦片组头部的信息解析(S20)。在本形态中,解码装置200解析瓦片组头部的时刻信息(例如,图48A所示的tile_group_pic_order_cnt_lsb等的句法)。
接着,解码装置200基于步骤S20中的信息解析结果,判定解码对象的瓦片组所属的图片的时刻是否已前进(S21)。在本形态中,解码装置200通过确认瓦片组头部的时刻信息,来判定解码对象的瓦片组所属的图片的时刻(例如,时刻T)是否已前进。
在步骤S21中,在图片的时刻已前进的情况下(在步骤S21中为是),解码装置200判定是否有未接收的瓦片组(S22)。在本形态中,解码装置200在解码对象的瓦片组所属的图片的时刻例如成为时刻T+1并已前进的情况下,判定在前一时刻(时刻T)的图片中是否有未接收的瓦片组。
在步骤S22中,在有未接收的瓦片组的情况下(S22中为是),解码装置200对未接收的瓦片组进行错误隐藏处理(S23)。在本形态中,解码装置200在前一时刻(时刻T)的图片中有未接收的瓦片组的情况下,判断为在通信错误等该未接收的瓦片组中发生了错误,对该未接收的瓦片组进行错误隐藏处理。
接下来,解码装置200基于解析出的瓦片组头部的信息,进行瓦片组中包含的所有的瓦片的解码处理(S24)。在步骤S24中,也可以根据瓦片组头部中包含的依存瓦片组识别信息所表示的内容来切换处理。切换处理时的处理在图50A中进行了说明,因此在此省略说明。
另外,在步骤S21中,在图片的时刻未前进的情况下(步骤S21中为否),以及在步骤S22中没有未接收的瓦片组的情况下(S22中为否),开始循环,执行步骤S24即可。
接着,对将与保存有提取对象的瓦片的比特流位置相关的信息作为瓦片提取信息SEI进行编码的情况的例子进行说明。这里,SEI是补充增强信息(SupplementalEnhancement Information)的缩写,是提供虽然编码不需要但有用的信息的NAL单元。此外,瓦片提取信息SEI也是用于提取编码后的瓦片中的一部分瓦片并进行处理的信息。另外,瓦片提取信息SEI也可以在瓦片集、瓦片组序列或瓦片组之前或之后进行编码。在不对图片全部进行解码而是仅对图片的一部分区域进行解码的情况下,提取对象的瓦片是指例如构成该一部分区域的瓦片。另外,在对图片的解码进行并行处理的情况下,提取对象的瓦片是指构成为了并行处理而分割了图片时的分割的缝隙的瓦片等。
图51A是表示实施方式1的第1形态的在图片之后对瓦片提取信息SEI进行编码的情况的一例的图。图51B是表示实施方式1的第1形态的在图片之前对瓦片提取信息SEI进行编码的情况的一例的图。
在此,编码装置100如图51A所示的例子那样,设为在图片之后对瓦片提取信息SEI进行编码。在该情况下,编码装置100能够在对瓦片组数据进行了编码后对瓦片提取信息SEI进行编码,因此,能够在瓦片组数据的编码完毕后,发送或蓄积瓦片组数据。由此,编码装置100存在能够削减用于暂时保持瓦片组数据的存储量的可能性。
另外,编码装置100如图51B所示的例子那样,设为在图片之前对瓦片提取信息SEI进行编码。在该情况下,解码装置200能够在解析瓦片组数据之前取得瓦片提取信息SEI。由此,编码装置100存在能够简化解码装置200所进行的期望的瓦片数据的提取步骤的可能性。
此外,编码装置100在利用MPEG-2TS或MMT、MP4等进行系统复用处理时,也可以在使上述的瓦片提取信息SEI从对应的瓦片组数据之后向前移动了的基础上进行复用处理。
图52是表示实施方式1的第1形态的用于对瓦片提取信息SEI进行编码的句法的一例的图。
编码装置100可以将瓦片组中包含的瓦片数和表示作为提取单位的瓦片的数据的开头的字节位置的开头字节位置信息作为句法包含在瓦片提取信息SEI中进行编码。在图52所示的例子中,表示瓦片组中包含的瓦片数的句法是num_tiles_in_tile_group_minus1[i]等。另外,表示开头字节位置信息的句法是entry_point_offset_minus1[i][j]等。
这样,编码装置100通过对瓦片提取信息SEI进行编码,能够通知瓦片组中包含的瓦片数和作为提取单位的瓦片的数据的开头的字节位置。
此外,编码装置100也可以将表示作为提取单位的瓦片的比特精度的句法(在图52所示的例子中为offset_len_minus1等)进一步包含在瓦片提取信息SEI中进行编码。由此,编码装置100能够进一步通知作为提取单位的瓦片的比特精度。
此外,编码装置100可以将瓦片组中包含的瓦片数和表示作为提取单位的瓦片的数据的开头的字节位置的开头字节位置信息作为句法包含在瓦片提取信息SEI中进行编码。
另外,编码装置100也可以将表示与该瓦片提取信息SEI相关联的瓦片组的数量的信息作为句法包含在瓦片提取信息SEI中进行编码。此外,编码装置100可以将图片、瓦片集或瓦片组序列中包含的所有瓦片组等与多个瓦片组相关联,或者可以与各个瓦片组单独相关联。在该情况下,编码装置100也可以将表示相关联的内容的句法包含在瓦片提取信息SEI中进行编码。
另外,编码装置100也可以将表示有无瓦片组数据的重排的信息包含在瓦片提取信息SEI中进行编码。表示有无瓦片组数据的重排的信息包括例如基本编码顺序。除了有无瓦片组数据的重排之外,编码装置100也可以将包含表示数据的重排单位(瓦片集、瓦片组序列等)的信息等的信息包含在瓦片提取信息SEI中进行编码。另外,在图52所示的例子中,表示有无重排瓦片组数据的句法是arbitrary_tile_group_order_flag等。
进而,编码装置100也可以将瓦片组序列识别信息、瓦片组的开头瓦片的瓦片地址信息以及依存瓦片组识别信息包含在瓦片提取信息SEI中进行编码。在图52所示的例子中,表示瓦片组序列识别信息的句法例如是tile_group_seq_id[i]等。另外,表示瓦片组的开头瓦片的瓦片地址信息的句法是tile_group_address[i]等。另外,表示依存瓦片组识别信息的句法是dependent_tile_group_flag[i]等。由此,编码装置100通过对瓦片提取信息SEI进行编码,能够通知瓦片组序列识别信息、瓦片组的开头瓦片的瓦片地址信息以及依存瓦片组识别信息。
此外,编码装置100也可以将与开头字节位置以及瓦片组中包含的瓦片的字节数相关的信息作为与VAL NAL单元的包含仿真防止字节的有效载荷部分中的字节位置以及字节数相关的信息。进而,编码装置100也可以将各自的瓦片组头部的开头字节位置作为字节位置的基准。
另外,编码装置100也可以代替由1个瓦片提取信息SEI指定多个瓦片组,而将仅指定1个瓦片组的瓦片提取信息SEI以瓦片组的数量进行多个编码。
[第1形态的效果]
根据第1形态,编码装置100通过瓦片组头部通知瓦片组序列识别信息。由此,即使在通过编码装置100调换瓦片组的编码顺序而编码图片的情况下,解码装置200也存在正确地取得依存瓦片组的瓦片组头部的信息的可能性。
此外,编码装置100通过始终将瓦片组所属的图片的时刻信息包含在瓦片组头部中,通知在瓦片组头部中图片的时刻信息。由此,即使在由编码装置100对瓦片组的编码顺序进行了调换的情况下,解码装置200也存在能够容易地检测由丢包等引起的瓦片组数据的缺失的可能性。
进而,根据第1形态,解码装置200在解析瓦片组数据之前能够取得瓦片提取信息SEI,从而存在能够简化期望的瓦片数据的提取步骤的可能性。另外,根据第1形态,编码装置100也可以在对瓦片组数据进行了编码后对瓦片提取信息SEI进行编码。由此,编码装置100在瓦片组数据的编码完毕后,能够发送或蓄积瓦片组数据,存在能够削减用于暂时保持瓦片组数据的存储量的可能性。
[与其他形态的组合]
另外,本形态也可以与本发明中的其他形态的至少一部分组合来实施。另外,也可以将本形态的流程图中记载的一部分处理、本形态的装置的一部分的结构、本形态的句法的一部分等与其他形态组合来实施。
另外,解码装置200中的瓦片组解码处理在编码装置100的瓦片组编码处理中也可以同样地实施。
另外,本形态所记载的所有构成要素并不总是必须的,也可以仅具备第1形态的一部分的构成要素。
另外,解码装置200不限于利用瓦片组头部的信息来进行依存瓦片组的解码处理的情况。也可以是,解码装置200利用具有与解码对象的瓦片组相同的瓦片组序列识别信息的已解码的独立瓦片组、已解码的依存瓦片组的重构图像或者参数来进行依存瓦片组的解码处理。在此,参数例如是与运动矢量相关的信息或索引、帧间预测模式、参照图片列表、参照图片索引、帧内预测模式、量化参数、算术编码的内部参数等中的至少1个参数。此外,依存瓦片组的解码处理例如包括帧间预测、帧内预测、逆量化、算术解码、滤波处理等中的至少1个处理。
[第2形态]
在第1形态中,对以瓦片组单位进行NAL单元化的情况的例子进行了说明。在第2形态中,对以瓦片单位进行NAL单元化的情况的例子进行说明。
图53是表示实施方式1的第2形态的在对图片进行编码时,用于对构成图片的瓦片进行编码的句法的一例的图。在图53中,示出了用于对图47A~图47D那样被分割的瓦片进行编码的句法的一例。在本形态中,如上所述,以瓦片单位进行NAL单元化。
在构成图片的瓦片组由多个瓦片构成的情况下,编码装置100也可以将瓦片分类为独立瓦片(Independent Tile)和依存瓦片(Dependent Tile),并通过句法进行通知。在此,独立瓦片是能够独立解码的瓦片,依存瓦片是能够利用所属的瓦片组中的独立瓦片的信息进行解码的瓦片。
在本形态中,编码装置100也可以将依存瓦片识别信息(在图53所示的句法例中为dependent_tile_flag等)包含在瓦片头部中。由此,编码装置100能够通知该瓦片为独立或依存瓦片。
另外,在瓦片组由多个瓦片构成的情况下,编码装置100也可以将瓦片组识别信息(例如,图53所示的句法例中tile_group_id等)包含在瓦片头部中。由此,编码装置100能够通知该瓦片所属的瓦片组ID。进而,编码装置100能够使用瓦片组识别信息,通知瓦片组由1个独立瓦片和0个以上的依存瓦片构成。
并且,编码装置100也可以将独立瓦片在瓦片组的开头进行编码。由此,编码装置100在解码装置200对依存瓦片进行解码时,能够使具有相同的瓦片组识别信息的独立瓦片的头部信息(参数值)再利用。进而,编码装置100在该瓦片为依存瓦片的情况下,能够使具有相同的瓦片组ID的独立瓦片的参数值再利用,因此能够省略依存瓦片的参数值的通知。
此外,编码装置100也可以将该瓦片所属的图片的时刻信息(在图53所示的句法例中tile_pic_order_cnt_lsb等)始终包含在瓦片头部中。即,编码装置100也可以不依赖于该瓦片是独立瓦片还是依存瓦片,始终通知该瓦片所属的图片的时刻信息。由此,解码装置200通过参照瓦片头部的时刻信息,能够检测下一个图片的瓦片到达,因此能够检测存在未到达的瓦片。解码装置200也可以在检测到在构成当前的图片的瓦片中存在未到达的瓦片的情况下,判断为错误。
因此,编码装置100即使在以任意的顺序对瓦片进行编码的情况下,也存在能够使解码装置200容易地进行由通信错误等引起的数据缺失的检测的可能性。
图54A是表示实施方式1的第2形态的构成图片的瓦片集的一例和基本编码顺序的图。图54A是与图49A相同的图,如在图49A中说明的那样,因此省略关于图54A的说明,图54A所示的圆圈1~圆圈12示出了编码顺序。
图54B是表示在由与图54A相同的瓦片组构成的瓦片集中调换了瓦片的编码顺序的例子的图。图54B所示的圆圈1~圆圈12示出了编码顺序。
例如,编码装置100在对瓦片集1的瓦片组A中包含的由圆圈1表示的瓦片进行了编码后,对瓦片集2的瓦片组D中包含的由圆圈2表示的瓦片进行编码,然后对瓦片集1的瓦片组A中包含的由圆圈3表示的瓦片进行编码等。即,编码装置100也可以如图54B所示,在瓦片集1与2之间交织而进行编码。由此,在编码装置100以瓦片集单位并行地进行编码处理的情况下,存在能够缩短从编码到数据送出的延迟时间的可能性。
另外,图54B所示的将瓦片集间交织来对瓦片进行编码的编码顺序是一例。即,编码装置100可以以任意的顺序对瓦片进行编码,也可以在瓦片组中,以独立瓦片必定成为最初的顺序进行编码。
另外,编码装置100也可以将调换编码顺序的单位设为瓦片组或瓦片集单位。并且,在该情况下,编码装置100也可以省略瓦片组识别信息的编码。
图55A是表示实施方式1的第2形态的解码装置200进行的瓦片的解码处理的流程图。
首先,解码装置200取得以瓦片单位进行了编码的比特流的瓦片头部,并进行所取得的瓦片头部的信息解析(S30)。
接着,解码装置200基于步骤S30中的信息解析结果,判定解码对象的瓦片是否为依存瓦片(S31)。在本形态中,解码装置200通过对瓦片头部中包含的依存瓦片识别信息(例如,图53所示的dependent_tile_flag等的句法)进行解析,能够判定解码对象的瓦片是否为依存瓦片。
在步骤S31中,在解码对象的瓦片不是依存瓦片的情况下(在步骤S31中为独立),解码装置200将解析出的瓦片头部的信息保存在规定的存储器区域中(S32)。在本形态中,解码装置200在解码对象的瓦片为独立瓦片的情况下,将解析出的瓦片头部的信息保存在根据瓦片组识别信息(例如,图53所示的tile_group_id等的句法)而决定的存储器区域中。
另一方面,在步骤S31中,在解码对象的瓦片为依存瓦片的情况下(在步骤S31中为依存),解码装置200从规定的存储器区域取得瓦片头部的信息(S33)。在本形态中,解码装置200在解码对象的瓦片为依存瓦片的情况下,从根据瓦片组识别信息而决定的存储器区域取得瓦片头部的信息。所取得的瓦片头部的信息是解码对象的依存瓦片所属的瓦片组中的独立瓦片的瓦片头部的信息,根据瓦片组识别信息而决定并保存在规定的存储器区域中。由此,对独立瓦片的瓦片头部的信息进行再利用。
接着,解码装置200使用解析或取得的瓦片头部的信息,进行解码对象的瓦片的解码处理(S34)。
图55B是表示实施方式1的第2形态的解码装置200进行的瓦片的解码处理时的错误检测处理以及隐藏处理的一例的流程图。
首先,解码装置200取得以瓦片单位进行了编码的比特流的瓦片头部,并进行所取得的瓦片头部的信息解析(S40)。在本形态中,解码装置200对瓦片头部的时刻信息(例如,图53所示的tile_pic_order_cnt_lsb等的句法)进行解析。
接着,解码装置200基于步骤S40中的信息解析结果,判定解码对象的瓦片所属的图片的时刻是否已前进(S41)。在本形态中,解码装置200通过确认瓦片头部的时刻信息,来判定解码对象的瓦片所属的图片的时刻(例如,时刻T)是否已前进。
在步骤S41中,在图片的时刻已前进的情况下(在步骤S41中为是),解码装置200判定是否有未接收的瓦片(S42)。在本形态中,解码装置200在解码对象的瓦片所属的图片的时刻例如成为时刻T+1而已前进的情况下,判定在前一时刻(时刻T)的图片中是否有未接收的瓦片。
在步骤S42中,在有未接收的瓦片的情况下(S42中为是),解码装置200对未接收的瓦片进行错误隐藏处理(S43)。在本形态中,解码装置200在前一时刻(时刻T)的图片中有未接收的瓦片的情况下,判断为通信错误等在该未接收的瓦片中发生了错误,对该未接收的瓦片进行错误隐藏处理。
接着,解码装置200基于解析出的瓦片头部的信息,进行解码对象的瓦片的解码处理(S44)。在步骤S44中,也可以根据瓦片头部中包含的依存瓦片识别信息所表示的内容来切换处理。切换处理时的处理在图55A中进行了说明,因此在此省略说明。
另外,在步骤S41中,在图片的时刻没有前进的情况下(步骤S41中为否),以及在步骤S42中没有未接收的瓦片的情况下(S42中为否),前进至步骤S44,执行处理即可。
接着,对将与保存有提取对象的瓦片的比特流位置相关的信息作为瓦片提取信息SEI进行编码的情况的例子进行说明。另外,瓦片提取信息SEI也可以在瓦片集或瓦片组之前或之后进行编码。
图56A是表示实施方式1的第2形态的在图片之后对瓦片提取信息SEI进行编码的情况的一例的图。图56B是表示实施方式1的第2形态的在图片之前对瓦片提取信息SEI进行编码的情况的一例的图。
在此,编码装置100如图56A所示的例子那样,设为在图片之后对瓦片提取信息SEI进行编码。在该情况下,编码装置100能够在对瓦片数据进行了编码后对瓦片提取信息SEI进行编码,因此,在瓦片数据的编码完毕后,能够发送或蓄积瓦片数据。由此,编码装置100存在能够削减用于暂时保持瓦片数据的存储量的可能性。
另外,编码装置100如图56B所示的例子那样,设为在图片之前对瓦片提取信息SEI进行编码。在该情况下,解码装置200能够在解析瓦片数据之前取得瓦片提取信息SEI。由此,编码装置100存在能够简化解码装置200所进行的期望的瓦片数据的提取步骤的可能性。
此外,编码装置100在利用MPEG-2TS或MMT、MP4等进行系统复用处理时,也可以对上述的瓦片提取信息SEI在使其从对应的瓦片数据之后向前移动了的基础上进行复用处理。
图57是表示实施方式1的第2形态的用于对瓦片提取信息SEI进行编码的句法的一例的图。
编码装置100也可以将与瓦片提取信息SEI相关联的瓦片组数、与瓦片数据的重排相关的信息、瓦片组识别信息、表示瓦片组的开头瓦片的地址的瓦片地址信息作为句法包含在瓦片提取信息SEI中进行编码。此外,编码装置100可以将表示瓦片组中包含的瓦片数的信息作为句法包含在瓦片提取信息SEI中进行编码。
表示瓦片组数的句法是图57所示的num_tile_groups_minus1[i]等。另外,作为与数据的重排相关的信息,有表示有无瓦片数据的重排的信息、表示数据的重排单位(瓦片集、瓦片组等)的信息等。另外,在图57所示的例子中,表示有无瓦片数据的重排的句法是arbitrary_tile_order_flag等。表示瓦片组识别信息的句法是tile_group_id[i]等。表示瓦片地址信息的句法是tile_group_address[i]等。表示瓦片组中包含的瓦片数的句法是num_tiles_in_tile_group_minus1[i]等。
这样,编码装置100通过对瓦片提取信息SEI进行编码,能够通知瓦片组数、与瓦片数据的重排相关的信息、瓦片组识别信息、瓦片地址信息、以及瓦片组中包含的瓦片数等。
由此,编码装置100能够利用瓦片提取信息SEI对与图片内的各瓦片所属的瓦片组相关的信息进行编码,因此存在解码装置200对期望的瓦片进行解码时能够简化所需数据的提取的可能性。
此外,编码装置100可以将图片、瓦片集或者瓦片组序列中包含的所有的瓦片组等与多个瓦片组相关联,也可以与各个瓦片组单独相关联。在该情况下,编码装置100也可以将表示相关联的内容的句法包含在瓦片提取信息SEI中进行编码。
[第2形态的效果]
根据第2形态的结构,编码装置100利用瓦片头部通知瓦片组识别信息。由此,即使在通过编码装置100对瓦片的编码顺序进行调换而对图片进行了编码的情况下,解码装置200也存在能够正确地取得依存瓦片的瓦片头部的信息的可能性。
另外,编码装置100通过在瓦片头部中始终包含瓦片所属的图片的时刻信息,从而通过瓦片头部通知图片的时刻信息。由此,即使在通过编码装置100对瓦片的编码顺序进行调换而对图片进行了编码的情况下,解码装置200也存在能够容易地进行由丢包等引起的瓦片数据的缺失的检测的可能性。
进而,根据第2形态,解码装置200在解析瓦片数据之前能够取得瓦片提取信息SEI,从而存在能够简化期望的瓦片数据的提取步骤的可能性。另外,根据第2形态,编码装置100也可以在对瓦片数据进行了编码后对瓦片提取信息SEI进行编码。由此,编码装置100在瓦片数据的编码完毕后,能够发送或蓄积瓦片数据,因此存在能够削减用于暂时保持瓦片数据的存储量的可能性。
[与其他形态的组合]
另外,本形态也可以与本发明中的其他形态的至少一部分组合来实施。另外,也可以将本形态的流程图中记载的一部分处理、本形态的装置的一部分的结构、本形态的句法的一部分等与其他形态组合来实施。
另外,解码装置200中的瓦片解码处理也可以在编码装置100的瓦片编码处理中也同样地实施。
另外,本形态所记载的所有构成要素不一定均是必要的,也可以仅具备本形态的一部分的构成要素。
此外,图片中包含的瓦片的单位不限定于如在本发明中定义的瓦片集、瓦片组以及瓦片。图片只要包含至少1个以上的瓦片即可,也可以不定义瓦片集或瓦片组的一方。换言之,图片至少包括包含1个以上CTU的区域A(例如瓦片或瓦片组)和包含1个以上区域A的区域B(例如瓦片组或瓦片集)即可。在该情况下,也可以将能够以第1顺序(例如栅格顺序)连续扫描的1个以上的区域A定义为区域B。此时,可以输出或解码以与第1顺序不同的第2顺序对区域A进行了编码的比特流。
另外,在本形态中,说明了以图片单位对瓦片提取信息SEI进行编码的例子,但不限于此。可以以序列单位对瓦片提取信息SEI进行编码。
另外,编码装置100也可以以图片单位切换识别提取对象的瓦片组的瓦片提取信息和识别提取对象的瓦片的瓦片提取信息来进行编码。
另外,解码装置200不限于利用瓦片头部的信息来进行依存瓦片的解码处理的情况。解码装置200也可以利用具有与解码对象的瓦片相同的瓦片组识别信息的已解码的独立瓦片、已解码的依存瓦片的重构图像或者参数来进行依存瓦片的解码处理。在此,参数例如是与运动矢量相关的信息或索引、帧间预测模式、参照图片列表、参照图片索引、帧内预测模式、量化参数、算术编码的内部参数等中的至少1个参数。另外,在依存瓦片的解码处理中,例如包括帧间预测、帧内预测、逆量化、算术解码、滤波处理等中的至少1个处理。
[第3形态]
分割图片的瓦片有时能够进一步分割。在以下的第3形态中,对编码装置100(或解码装置200)将图片分割为2个以上的瓦片,由分割出的瓦片的一部分或1个以上的瓦片构成的矩形形状的每个切片进行编码(或解码)的情况进行说明。
图58A及图58B是表示实施方式1的第3形态的将图片分割为矩形区域并进行编码时的图片的结构的一例的图。
在图58A中,示出了将图片分割为在横向上4分割并在纵向上3分割的12个矩形区域的例子。圆圈1~圆圈12所示的矩形区域可以是瓦片,也可以是砖块(brick)。即,也可以将图片分割为由圆圈1~圆圈12表示的瓦片,将分割出的瓦片进一步分割为1个砖块。在此,砖块是分割瓦片的单位,是将瓦片分割为1个以上的矩形区域的单位。瓦片或砖块由1个以上的连续的CTU构成。这样的图片的结构也可以由分割部102构成。圆圈1~圆圈12的数字表示编码装置100对瓦片或砖块进行编码的顺序。
在图58B中,示出了将图片分割为6个矩形区域的例子。更具体而言,在图58B中,示出了图片首先被分割为3个瓦片(由粗框包围的3个矩形区域),进而,3个瓦片分别被分割为1个以上的砖块(由细框包围的1个以上的矩形区域)的例子。左侧的瓦片被分割为由圆圈1和圆圈2表示的2个砖块,中央的瓦片被分割为由圆圈3~圆圈6表示的3个砖块。右侧的瓦片可以被分割为由圆圈6表示的1个砖块,也可以保持瓦片的状态。这样的图片的结构也可以由分割部102构成。圆圈1~圆圈6中的数字表示编码装置100对瓦片或砖块进行编码的顺序。
此外,砖块与瓦片同样地能够构成切片。即,1个以上的瓦片或1个以上的砖块能够构成1个切片,作为1个切片而汇集地进行编码。
在本形态中,作为切片的设定方法,有栅格扫描切片模式(Raster Scan SliceMode)或矩形切片模式(Rectangular Slice Mode)等。在栅格扫描切片模式中,按照栅格顺序扫描瓦片或砖块而汇集于切片。在矩形切片模式中,以所有切片的形状成为矩形的方式将瓦片或砖块汇集于切片。
在图58A中示出了在栅格扫描切片模式下设定了切片的例子。即,在图58A中,圆圈1以及圆圈2的瓦片(或砖块)汇集于切片A,圆圈3~圆圈9的瓦片(或砖块)汇集于切片B。而且,圆圈10~圆圈12的瓦片(或砖块)汇集于切片C。
另一方面,在图58B中,示出了以矩形切片模式设定了切片的例子。即,在图58B中,圆圈1的砖块汇集于切片A,圆圈2的砖块汇集于切片B。另外,圆圈3和圆圈4的砖块汇集于切片C,圆圈5的砖块汇集于切片D。而且,圆圈6的瓦片(或砖块)汇集于切片E。
图59是表示实施方式1的第3形态的在对图片进行编码时,用于分割图片进行编码的图片参数集(PPS)的句法的一例的图。在图59中,示出了用于如图58A或图58B那样分割图片并进行编码的PPS的句法的一例。PPS是图片参数集(Picture Parameter Set)的缩写,并且是写有与图片整体的编码相关的信息的头部信息。
在本形态中,编码装置100在图片被分割为多个瓦片的情况下,通知与图片的分割方法相关的信息和与切片的设定方法相关的信息即可。更具体而言,编码装置100将与对象的图片是否由单一的瓦片构成相关的信息(在图59所示的句法例中single_tile_in_pic_flag等)包含在PPS中。并且,编码装置100在图片由多个瓦片构成的情况下,将与基于瓦片或砖块的图片的分割方法相关的信息和与切片的设定方法相关的信息包含在PPS中。由此,编码装置100能够根据与对象的图片是否由单一的瓦片构成相关的信息,通知与基于瓦片或砖块的图片的分割方法相关的信息和与切片的设定方法相关的信息。
作为与切片的设定方法相关的信息,例如有表示切片内的砖块数是否必定为1个的信息及与切片模式相关的信息。在此,在图59所示的例子中,表示切片内的砖块数是否必定为1个的句法是single_brick_per_slice_flag等。表示与切片模式相关的信息的句法是rect_slice_flag等。由此,编码装置100通过将表示与切片模式相关的信息的句法包含在PPS中,能够通知对象的图片中的切片的设定方法是矩形切片模式还是栅格扫描切片模式。
此外,编码装置100也可以基于表示切片内的砖块数是否必定为1个的信息及与切片模式相关的信息中的至少1个,来切换是否将用于特定各切片中包含的区域的信息进一步包含在PPS中来进行通知。编码装置100也可以不将与切片模式相关的信息包含在PPS中。在该情况下,解码装置200不通知与切片模式相关的信息,因此也可以视为在切片模式中函数信息始终为1,对象的图片中的切片的设定方法为矩形切片模式。
编码装置100在对象的图片中的切片的设定方法为矩形切片模式的情况下,作为与切片的设定方法相关的信息,能够通过将特定各切片中包含的矩形区域的信息包含在PPS中来进行通知。
在本形态中,在特定各切片中包含的矩形区域的信息中,有与图片内的切片数相关的信息和各切片的左上角和右下角的位置信息。在图59所示的例子中,表示图片内的切片数的句法是num_slices_in_pic_minus1等。另外,如图59所示,表示各切片的左上角和右下角的位置的句法是top_left_brick_idx和bottom_right_brick_idx_delta等。即,左上角的位置用砖块索引表示,右下角的位置用砖块索引或其差分值表示。
这样,编码装置100通过将特定各切片中包含的矩形区域的信息作为句法包含在PPS中,能够通知图片内的切片数和各切片的左上角和右下角的位置。
此外,在对象的图片中的切片的设定方法为矩形切片模式的情况下,编码装置100也可以省略图片的开头的切片的左上角的位置信息和图片的末尾的切片的左上角和右下角的位置信息(也可以不包含在PPS中)。在该情况下,解码装置200只要通过规定的方法来设定值即可。以下,具体地进行说明。
例如,解码装置200针对图片的开头的切片的左上角的位置设定为0(零)即可。另外,解码装置200也可以针对图片的末尾的切片的左上角的位置以如下方式设定。该末尾的切片相当于基于与相同的PPS中包含的切片设定方法相关的信息的切片未设定的区域。因此,解码装置200也可以将占据该未设定的区域的砖块索引中的成为最小的值的砖块索引设定在图片的末尾的切片的左上角的位置。
另外,解码装置200也可以针对图片的末尾的切片的右下角的位置,设定图片的末尾的切片的左上角的位置的偏移值等。例如,解码装置200也可以将图片的末尾的切片的右下角的位置设定为NumBricksInPic-1-top_left_brick_idx[num_slices_in_pic_minus1]。在此,将图片内的砖块数设为NumBricksInPic。另外,将图片的末尾的切片的左上角的位置设为top_left_brick_idx[num_slices_in_pic_minus1]。
这样,编码装置100在对象的图片中的切片的设定方法为矩形切片模式的情况下,通过将各切片的左上角和右下角的位置信息等特定各切片中包含的矩形区域的信息包含在PPS中来进行通知。但是,编码装置100也可以省略针对图片的开头的切片的左上角的位置信息和图片的末尾的切片的左上角和右下角的位置信息的通知。
图60是表示实施方式1的第3形态的解码装置200进行的矩形切片模式下的矩形切片设定处理的一例的流程图。在图60中,示出了在解码装置200以矩形切片模式进行解码处理时,作为矩形切片设定处理,一边参照与由PPS通知的切片的设定方法相关的信息,一边特定各切片中包含的矩形区域的处理。
首先,解码装置200取得比特流的图片参数集(PPS),并解析所取得的PPS(S51)。
接着,解码装置200设定比图片内的切片数少1次的循环次数(S52)。在本形态中,解码装置200对PPS进行解析,确认与图片内的切片数相关的信息。解码装置200在图59所示的例子中,通过对PPS中包含的num_slices_in_pic_minus1等的句法进行解析,能够确认与图片内的切片数相关的信息。
接着,解码装置200以设定的次数即比图片内的切片数少1次的次数执行循环处理。
即,在循环处理中,首先,解码装置200判定解码对象的切片是否是图片的开头的切片(S53)。
在解码对象的切片是开头以外的切片的情况下(在步骤S53中为开头以外),解码装置200设定由PPS通知的值作为解码对象的切片的左上角的位置信息(S54)。在本形态中,解码装置200也可以设定PPS中包含的砖块索引作为解码对象的切片的左上角的位置信息,并设定砖块索引或其差分值作为右下角的位置信息。例如,解码装置200也可以将各切片的左上角的位置信息和右下角的位置信息设定为图59所示的top_left_brick_idx和bottom_right_brick_idx_delta等。由此,解码装置200能够特定各切片中包含的矩形区域。
另一方面,在解码对象的切片是开头的切片的情况下(步骤S53中为开头),解码装置200通过第1规定的方法,设定解码对象的切片的左上角的位置信息(S55)。在图60所示的处理例中,针对图片的开头的切片的左上角的位置信息设为不由PPS通知。因此,解码装置200将图片的开头的切片的左上角的位置信息设定为例如0(零)等表示图片的左上角的信息即可。
接着,当结束循环处理时,解码装置200通过第2规定的方法,设定解码对象的切片的左上角的位置信息(S56)。由于循环处理结束,这里的解码对象的切片是图片的末尾的切片。另外,图片的末尾的切片的左上角的位置信息不由PPS通知。因此,解码装置200将解码对象的切片的左上角的位置信息设定为在基于与PPS中包含的切片设定方法相关的信息的切片未设定的区域中成为最小的值的砖块索引即可。例如,解码装置200将图片的末尾的切片的左上角的位置信息设定为图59所示的top_left_brick_idx[num_slices_in_pic_minus1]等即可。
接着,解码装置200通过第3规定的方法,设定解码对象的切片的右下角的位置信息(S57)。在图60所示的处理例中,设为作为解码对象的图片的末尾的切片的右下角的位置信息也未由PPS通知。因此,解码装置200可以将左上角的位置的偏移值设定为作为解码对象的图片的末尾的切片的右下角的位置信息。解码装置200例如将NumBricksInPic-1-top_left_brick_idx[num_slices_in_pic_minus1]等设定为图片的末尾的切片的右下角的位置信息即可。在此,将图片内的砖块数设为NumBricksInPic。另外,将图片的末尾的切片的左上角的位置设为top_left_brick_idx[num_slices_in_pic_minus1]。
[第3形态的效果]
根据第3形态,编码装置100能够在图片参数集中不包含而省略与切片的设定方法相关的信息的一部分,因此存在能够削减编码量的可能性。
[与其他形态的组合]
另外,本形态也可以与本发明中的其他形态的至少一部分组合来实施。另外,也可以将本形态的流程图中记载的一部分处理、本形态的装置的一部分的结构、本形态的句法的一部分等与其他形态组合来实施。
另外,解码装置200中的矩形切片设定处理也可以在编码装置100的矩形切片设定处理中也同样地实施。
另外,本形态所记载的所有构成要素并不一定均是必要的,也可以仅具备本形态的一部分的构成要素。
[第4形态]
在以下的第4形态中,对第3形态中说明的可省略的信息(与切片的设定方法相关的信息的一部分)不同的情况的例子进行说明。
图61是表示实施方式1的第4形态的在对图片进行编码时,用于分割图片进行编码的图片参数集(PPS)的句法的一例的图。在图61中,示出了用于如图58A或图58B那样分割图片并进行编码的PPS的句法的一例。
在本形态中也是,编码装置100在图片被分割为多个瓦片的情况下,只要通知与图片的分割方法相关的信息和与切片的设定方法相关的信息即可。更具体而言,编码装置100在PPS中包含与对象的图片是否由单个瓦片构成相关的信息(例如,图61所示的句法例中也是single_tile_in_pic_flag等)。并且,编码装置100在图片由多个瓦片构成的情况下,将与基于瓦片或砖块的图片的分割方法相关的信息和与切片的设定方法相关的信息包含在PPS中。由此,编码装置100能够根据与对象的图片是否由单一的瓦片构成相关的信息,通知与基于瓦片或砖块的图片的分割方法相关的信息和与切片的设定方法相关的信息。
作为与切片的设定方法相关的信息,例如有表示切片内的砖块数是否必定为1个的信息及与切片模式相关的信息。在此,在图61所示的例子中,表示切片内的砖块数是否必定为1个的句法也是single_brick_per_slice_flag等。表示与切片模式相关的信息的句法是rect_slice_flag等。由此,编码装置100通过将表示与切片模式相关的信息的句法包含在PPS中,能够通知对象的图片中的切片的设定方法是矩形切片模式还是栅格扫描切片模式。
此外,编码装置100也可以基于表示切片内的砖块数是否必定为1个的信息以及与切片模式相关的信息中的至少1个,来切换是否将用于特定各切片中包含的区域的信息进一步包含在PPS中来进行通知。编码装置100也可以不将与切片模式相关的信息包含在PPS中。在该情况下,解码装置200不通知与切片模式相关的信息,因此也可以视为在切片模式中函数信息始终为1,对象的图片中的切片的设定方法为矩形切片模式。
编码装置100在对象的图片中的切片的设定方法为矩形切片模式的情况下,作为与切片的设定方法相关的信息,能够通过将特定各切片中包含的矩形区域的信息包含在PPS中来进行通知。
在本形态中,在特定各切片中包含的矩形区域的信息中,有与图片内的切片数相关的信息、和各切片的左上角和右下角的位置信息。在图59所示的例子中,表示图片内的切片数的句法是num_slices_in_pic_minus1等。另外,如图59所示,表示各切片的左上角和右下角的位置的句法是top_left_brick_idx和bottom_right_brick_idx_delta等。左上角的位置用砖块索引表示,右下角的位置用砖块索引或其差分值表示。
这样,编码装置100通过将特定各切片中包含的矩形区域的信息作为句法包含在PPS中,能够通知图片内的切片数和各切片的左上角和右下角的位置。
此外,在对象的图片中的切片的设定方法为矩形切片模式的情况下,编码装置100也可以省略图片的开头的切片的左上角的位置信息以及图片的末尾的切片的右下角的位置信息(也可以不包含在PPS中)。在该情况下,解码装置200只要通过规定的方法来设定值即可。
例如,解码装置200将图片的开头的切片的左上角的位置设定为0(零)即可。另外,解码装置200也可以针对图片的末尾的切片的右下角的位置,设定图片的末尾的切片的左上角的位置的偏移值等。例如,解码装置200也可以将图片的末尾的切片的右下角的位置设定为NumBricksInPic-1-top_left_brick_idx[num_slices_in_pic_minus1]。在此,将图片内的砖块数设为NumBricksInPic。另外,将图片的末尾的切片的左上角的位置设为top_left_brick_idx[num_slices_in_pic_minus1]。
这样,在对象的图片中的切片的设定方法为矩形切片模式的情况下,编码装置100通过将各切片的左上角和右下角的位置信息等特定各切片中包含的矩形区域的信息包含在PPS中来进行通知。但是,编码装置100也可以针对关于图片的开头的切片的左上角的位置信息和图片的末尾的切片的右下角的位置信息省略通知。
图62是表示实施方式1的第4形态的解码装置200进行的矩形切片模式下的矩形切片设定处理的一例的流程图。在图62中,在解码装置200以矩形切片模式进行解码处理时,作为矩形切片设定处理,一边参照与由PPS通知的切片的设定方法相关的信息,一边特定各切片中包含的矩形区域。
首先,解码装置200取得比特流的图片参数集(PPS),并解析所取得的PPS(S61)。
接着,解码装置200根据图片内的切片数设定循环次数(S62)。在本形态中,解码装置200对PPS进行解析,确认与图片内的切片数相关的信息。在图62所示的例子中,解码装置200通过解析PPS中包含的num_slices_in_pic_minus1等的句法,能够确认与图片内的切片数相关的信息。然后,解码装置200根据所确认的图片内的切片数设定以后的循环处理的次数。
接着,解码装置200执行所设定的循环次数即图片内的切片数的次数的循环处理。
即,在循环处理中,首先,解码装置200判定解码对象的切片是否是图片的开头的切片(S63)。
在解码对象的切片是开头以外的切片的情况下(在步骤S63中为开头以外),解码装置200设定由PPS通知的值作为解码对象的切片的左上角的位置信息(S64)。在本形态中,解码装置200也可以设定PPS中包含的砖块索引作为解码对象的切片的左上角的位置信息,并设定砖块索引或其差分值作为右下角的位置信息。例如,解码装置200将各切片的左上角的位置信息和右下角的位置信息设定为图61所示的top_left_brick_idx和bottom_right_brick_idx_delta等即可。由此,解码装置200能够特定各切片中包含的矩形区域。
另一方面,在解码对象的切片是开头的切片的情况下(在步骤S63中为开头),解码装置通过第1规定的方法,设定解码对象的切片的左上角的位置信息(S65)。在图62所示的处理例中也设为,关于图片的开头的切片的左上角的位置信息,未由PPS通知。因此,解码装置200将图片的开头的切片的左上角的位置信息设定为例如0(零)等表示图片的左上角的信息即可。
接着,解码装置200判定解码对象的切片是否是图片的末尾的切片(S66)。
在解码对象的切片是末尾以外的切片的情况下(步骤S66中为末尾以外),解码装置200设定由PPS通知的值作为解码对象的切片的右下角的位置信息(S67)。在本形态中,解码装置200也可以设定PPS中包含的砖块索引或其差分值作为解码对象的切片的右下角的位置信息。例如,解码装置200将解码对象的切片的右下角的位置信息设定为图61所示的bottom_right_brick_idx_delta等即可。
另一方面,在解码对象的切片是末尾的切片的情况下(步骤S66中为末尾),解码装置通过第3规定的方法,设定解码对象的切片的右下角的位置信息(S68)。在此,图片的末尾的切片的右下角的位置信息也设为未由PPS通知。因此,解码装置200可以将左上角的位置的偏移值设定为作为解码对象的图片的末尾的切片的右下角的位置信息。例如,解码装置200将图片的末尾的切片的右下角的位置信息设定为NumBricksInPic-1-top_left_brick_idx[num_slices_in_pic_minus1]等即可。在此,将图片内的砖块数设为NumBricksInPic。另外,将图片的末尾的切片的左上角的位置设为top_left_brick_idx[num_slices_in_pic_minus1]。
这样,解码装置200能够特定各切片中包含的矩形区域。
[第4形态的效果]
根据第4形态,编码装置100能够在图片参数集中不包含而省略与切片的设定方法相关的信息的一部分,因此存在能够削减编码量的可能性。
[与其他形态的组合]
另外,本形态也可以与本发明中的其他形态的至少一部分组合来实施。另外,也可以将本形态的流程图中记载的一部分处理、本形态的装置的一部分的结构、本形态的句法的一部分等与其他形态组合来实施。
另外,解码装置200中的矩形切片设定处理也可以在编码装置100的矩形切片设定处理中也同样地实施。
另外,本形态所记载的所有构成要素并不一定均是必要的,也可以仅具备本形态的一部分的构成要素。
[第5形态]
在以下的第5形态中,对与在第3形态以及第4形态中说明的例子不同的例子进行说明。
图63是表示实施方式1的第5形态的在对图片进行编码时,用于分割图片进行编码的图片参数集(PPS)的句法的一例的图。在图63中,示出了用于如图58A或图58B那样分割图片并进行编码的PPS的句法的一例。图63所示的PPS的句法,与例如图61所示的PPS的句法相比较,追加了与基于砖块的瓦片分割方法相关的信息。
在本形态中也是,编码装置100在图片被分割为多个瓦片的情况下,只要通知与图片的分割方法相关的信息和与切片的设定方法相关的信息即可。更具体而言,编码装置100在PPS中包含与对象的图片是否由单个瓦片构成相关的信息(例如,图63所示的句法例中也是single_tile_in_pic_flag等)。并且,编码装置100在图片由多个瓦片构成的情况下,将与基于瓦片或砖块的图片的分割方法相关的信息和与切片的设定方法相关的信息包含在PPS中。由此,编码装置100能够根据与对象的图片是否由单一的瓦片构成相关的信息,通知与基于瓦片或砖块的图片的分割方法相关的信息和与切片的设定方法相关的信息。
此外,以下,在矩形切片模式下,设为能够选择是否将瓦片分割为砖块。另一方面,在栅格扫描切片模式下,设为始终不将瓦片分割为砖块。
另外,在本形态中,编码装置100也可以将与基于砖块的瓦片分割方法相关的信息包含在PPS中。在此,作为与基于砖块的瓦片分割方法相关的信息,例如有表示是否允许图片内的瓦片被砖块分割的信息及表示切片内的砖块数是否必定为1个的信息。在图63所示的例子中,表示是否允许图片内的瓦片被砖块分割的句法例如是brick_splitting_present_flag等。表示切片内的砖块数是否必定为1个的句法例如为single_brick_per_slice_flag等。
编码装置100在表示是否允许图片内的瓦片被砖块分割的信息表示允许的情况下,将表示每个瓦片中的基于砖块的分割方法的信息包含在PPS中来进行通知。
此外,表示是否允许图片内的瓦片被砖块分割的信息设为表示不允许。并且,进一步表示切片内的砖块数是否必定为1个的信息表示未必是1个时,编码装置100将与切片模式相关的信息作为与切片的设定方法相关的信息包含在PPS中来进行通知。表示与切片模式相关的信息的句法例如是图63所示的rect_slice_flag等。与切片模式相关的信息表示对象的图片中的切片的设定方法是矩形切片模式还是栅格扫描切片模式。
另一方面,在不满足条件时,即表示切片内的砖块数是否必定为1个的信息表示必定为1个时,编码装置100也可以省略与切片模式相关的信息(不包含在PPS中),省略通知。解码装置200也可以在未通知与切片模式相关的信息的情况下,视为切片模式中函数信息始终为1,对象的图片中的切片的设定方法为矩形切片模式。
这样,编码装置100能够无误地实施在矩形切片模式下通过砖块分割瓦片的处理和栅格扫描切片模式的处理的排他控制。
图64是表示实施方式1的第5形态的解码装置200进行切片数据的解码处理时的切片模式设定处理的一例的流程图。在图64中,解码装置200作为切片模式设定处理,一边参照与由PPS通知的切片或瓦片的设定方法相关的信息或与砖块的设定方法相关的信息,一边特定切片模式(矩形切片模式或栅格扫描切片模式)。
首先,解码装置200取得比特流的图片参数集(PPS),并解析所取得的PPS(S71)。
接着,解码装置200判定是否允许图片内的瓦片被砖块分割(S72)。在本形态中,解码装置200对PPS进行解析,确认表示是否允许图片内的瓦片被砖块分割的信息。在图63所示的例子中,解码装置200通过对PPS中包含的brick_splitting_present_flag等的句法进行解析,能够确认是否允许图片内的瓦片被砖块分割。
在步骤S72中,在不允许图片内的瓦片被砖块分割的情况下(在步骤S72中为不允许),解码装置200判定切片内的砖块数是否必定为1个(S73)。在本形态中,解码装置200在表示是否允许PPS中包含的图片内的瓦片被砖块分割的句法不为1的情况下,确认表示PPS中包含的切片内的砖块数是否必定为1个的句法。在图63所示的例子中,解码装置200通过解析PPS中包含的single_brick_per_slice_flag等的句法,能够确认切片内的砖块数是否必定为1个。
在步骤S73中,在切片内的砖块数不一定为1个的情况下(在步骤S73中为否),解码装置200根据与PPS的切片模式相关的信息来设定切片模式(S74)。在本形态中,解码装置200在表示PPS中包含的切片内的砖块数是否必定为1个的句法不为1的情况下,将切片模式设定为栅格扫描切片模式。
此外,在步骤S72中,在允许图片内的瓦片被砖块分割的情况下(在步骤S72中为允许),解码装置200将切片模式设定为矩形切片模式(S75)。在本形态中,解码装置200在表示是否允许PPS中包含的图片内的瓦片被砖块分割的句法为1的情况下,解码装置200将切片模式设定为矩形切片模式。
另外,在步骤S73中,在切片内的砖块数必定为1个的情况下(步骤S73中为是),解码装置200将切片模式设定为矩形切片模式(S75)。在本形态中,解码装置200在表示PPS中包含的切片内的砖块数是否必定为1个的句法为1的情况下,解码装置200将切片模式设定为矩形切片模式。
另外,解码装置200在将切片模式设定为矩形切片模式的情况下,例如有时在图63的rect_slice_flag等PPS中省略与切片模式相关的信息,不进行通知。
[第5形态的效果]
根据第5形态,编码装置100能够在图片参数集中不包含而省略与切片模式相关的信息的一部分,因此存在能够削减编码量的可能性。
[与其他形态的组合]
另外,本形态也可以与本发明中的其他形态的至少一部分组合来实施。另外,也可以将本形态的流程图中记载的一部分处理、本形态的装置的一部分的结构、本形态的句法的一部分等与其他形态组合来实施。
另外,解码装置200中的切片模式设定处理在编码装置100的切片模式设定处理中也可以同样地实施。
另外,本形态所记载的所有构成要素并不一定均是必要的,也可以仅具备本形态的一部分的构成要素。
[第6形态]
在以下的第6形态中,对与第5形态中说明的例子不同的例子进行说明。
图65是表示实施方式1的第6形态的在对图片进行编码时,用于分割图片并进行编码的图片参数集(PPS)的句法的一例的图。在图65中,示出了如图58A或图58B那样用于分割图片并进行编码的PPS的句法的一例。
在本形态中也是,编码装置100在图片被分割为多个瓦片的情况下,只要通知与图片的分割方法相关的信息和与切片的设定方法相关的信息即可。更具体而言,编码装置100将与对象的图片是否由单个瓦片构成相关的信息(例如,图65所示的句法例中也是single_tile_in_pic_flag等)包含在PPS中。并且,编码装置100在图片由多个瓦片构成的情况下,将与基于瓦片或砖块的图片的分割方法相关的信息和与切片的设定方法相关的信息包含在PPS中。由此,编码装置100能够根据与对象的图片是否由单一的瓦片构成相关的信息,通知与基于瓦片或砖块的图片的分割方法相关的信息和与切片的设定方法相关的信息。
此外,在以下情况中,也在矩形切片模式下,设为能够选择是否将瓦片分割为砖块。另一方面,在栅格扫描切片模式下,设为不始终将瓦片分割为砖块。
在本形态中,如图65所示,在与对象的图片是否是由单一的瓦片构成相关的信息之后,在PPS中包含与切片模式有关系的信息,在与切片模式有关系的信息之后,在PPS中包含与砖块的分割相关的信息。即,编码装置100为了切换是否将与砖块的分割相关的信息包含在PPS中来进行通知,在与砖块的分割相关的信息之前,将与切片模式有关系的信息包含在PPS中来进行通知。
在此,作为与切片模式有关系的信息,有表示切片内的砖块数是否必定为1个的信息和与切片模式相关的信息。
例如,表示切片内的砖块数是否必定为1个的句法是图65所示的single_brick_per_slice_flag等。表示与切片模式相关的信息的句法例如是图65所示的rect_slice_flag等。与切片模式相关的信息表示对象的图片中的切片的设定方法是矩形切片模式还是栅格扫描切片模式。
此外,编码装置100也可以省略与切片模式相关的信息(不包含在PPS中),省略通知。解码装置200也可以在未通知与切片模式相关的信息的情况下,视为切片模式中函数信息始终为1,对象的图片中的切片的设定方法为矩形切片模式。
另外,编码装置100也可以仅在对象的图片中的切片的设定方法为矩形切片模式的情况下,将表示是否允许图片内的瓦片被砖块分割的信息作为与砖块的分割相关的信息包含在PPS中来进行通知。换言之,编码装置100也可以在对象的图片中的切片的设定方法不是矩形切片(是栅格扫描切片模式)的情况下,省略表示是否允许图片内的瓦片被砖块分割的信息(不包含在PPS中),也可以省略通知。此外,编码装置100在对象的图片中的切片的设定方法不是矩形切片的情况下,也可以将表示不允许砖块分割的信息包含在PPS中。由此,在解码装置200中,能够以不允许砖块分割的方式进行解码处理。即,解码装置200设定为不允许砖块分割的砖块分割动作,进行解码处理。
在本形态中,作为与砖块的分割相关的信息,有表示是否允许图片内的瓦片被砖块分割的信息、以及表示将各瓦片以何种方式被砖块分割的信息。在图65所示的例子中,表示是否允许图片内的瓦片被砖块分割的句法是brick_splitting_present_flag等。在表示将各瓦片以何种方式被砖块分割的信息中,例如有有无各瓦片的分割及分割尺寸等各瓦片的砖块分割方法。
此外,如上述那样,编码装置100也可以仅在矩形切片模式时将表示是否允许图片内的瓦片被砖块分割的信息包含在PPS中来进行通知,在栅格扫描模式时省略(不包含在PPS中)而不进行通知。解码装置200也可以在未通知表示是否允许图片内的瓦片被砖块分割的信息的情况下,视为该信息始终为0,在图片内没有被砖块分割的瓦片。
这样,在本形态中,编码装置100在将编码对象的图片分割为2个以上的瓦片并对该图片进行编码时,对由分割出的瓦片的一部分或1个以上的瓦片构成的每个切片进行编码,并且将表示用于特定该切片是否为矩形形状的切片模式的信息包含在头部信息中。此外,编码装置100在通过对矩形形状的每个切片进行编码而对该图片进行编码时,作为切片模式,也可以将表示矩形形状切片模式的信息和与构成矩形形状的切片的瓦片的一部分或1个以上的瓦片的设定方法相关的信息包含在头部信息中。另外,编码装置100在通过对矩形形状的每个切片进行编码而对该图片进行编码时,作为切片模式,也可以将表示矩形形状切片模式的信息、允许被分割的瓦片进一步分割为多个矩形区域的信息、与构成矩形形状的切片的瓦片的一部分或1个以上的瓦片的设定方法相关的信息包含在头部信息中,瓦片的一部分由1个以上的矩形区域构成。此外,编码装置100也可以对分割出的2个以上的瓦片按照栅格顺序进行扫描而汇集于切片,对汇集的每个切片进行编码,由此,在对该图片进行编码时,将表示对汇集的每个切片进行编码的切片模式的信息包含在头部信息中。
图66是表示实施方式1的第6形态的解码装置200进行砖块数据的解码处理时的砖块设定处理的一例的流程图。在图66中,作为砖块设定处理,解码装置200一边参照与由PPS通知的切片或瓦片的设定方法相关的信息或与砖块的设定方法相关的信息,一边特定各砖块中包含的矩形区域。
首先,解码装置200取得比特流的图片参数集(PPS),并解析所取得的PPS(S81)。
接着,解码装置200确认解码对象的图片的切片模式(S82)。在本形态中,解码装置200对PPS进行解析,确认与切片模式相关的信息。解码装置200例如通过解析PPS中包含的rect_slice_flag等的句法,能够确认解码对象的图片的切片模式是矩形切片模式还是栅格扫描切片模式。
在步骤S82中,在解码对象的图片的切片模式为栅格扫描切片模式的情况下(在步骤S82中为栅格扫描),解码装置200将所有的瓦片设定为没有砖块分割(1瓦片=1砖块)(S83)。
另一方面,在步骤S82中,在解码对象的图片的切片模式为矩形切片模式的情况下(在步骤S82中为矩形),解码装置200确认是否允许图片内的瓦片被砖块分割(S84)。在本形态中,解码装置200通过对PPS中包含的brick_splitting_present_flag等的句法进行解析,能够确认是否允许图片内的瓦片被砖块分割。
在步骤S84中,在不允许图片内的瓦片被砖块分割的情况下(在步骤S84中为不允许),前进至步骤S83,解码装置200将所有的瓦片设定为没有砖块分割(1瓦片=1砖块)。在本形态中,解码装置200对PPS进行解析,在PPS中包含的brick_splitting_present_flag等的句法为0的情况下,解释为不允许图片内的瓦片被砖块分割,将所有的瓦片设定为没有砖块分割(1瓦片=1砖块)。
另一方面,在步骤S84中,在允许图片内的瓦片被砖块分割的情况下(在步骤S84中为允许),解码装置200设定与图片内的瓦片数相关的信息所相应的循环处理的次数(循环次数)(S85)。在本形态中,解码装置200对PPS进行解析,在PPS中包含的brick_splitting_present_flag等的句法为1的情况下,解释为允许图片内的瓦片被砖块分割。然后,解码装置200例如设定与水平方向的瓦片分割数和垂直方向的瓦片分割数的乘积等与图片内的瓦片数相关的信息相应的循环次数,并执行循环处理。
接着,在循环处理中,解码装置200根据与砖块的分割相关的信息来设定各瓦片的砖块分割方法(S86)。在本形态中,解码装置200例如设定有无各瓦片的分割以及分割尺寸等各瓦片的砖块分割方法。
[第6形态的效果]
根据第6形态,编码装置100能够在图片参数集中不包含而省略与砖块的设定方法相关的信息的一部分,因此存在能够削减编码量的可能性。
[与其他形态的组合]
另外,本形态也可以与本发明中的其他形态的至少一部分组合来实施。另外,也可以将本形态的流程图中记载的一部分处理、本形态的装置的一部分的结构、本形态的句法的一部分等与其他形态组合来实施。
另外,解码装置200中的砖块设定处理在编码装置100的砖块设定处理中也可以同样地实施。
另外,本形态所记载的所有构成要素并不一定均是必要的,也可以仅具备本形态的一部分的构成要素。
[编码装置的安装例]
图67是表示实施方式1的编码装置100的安装例的框图。编码装置100具备电路160以及存储器162。例如,图1所示的编码装置100的多个构成要素由图67所示的电路160以及存储器162来安装。
电路160是进行信息处理的电路,是可访问存储器162的电路。例如,电路160是对运动图像进行编码的专用或通用的电子电路。电路160也可以是CPU那样的处理器。另外,电路160也可以是多个电子电路的集合体。另外,例如,电路160也可以起到图1等所示的编码装置100的多个构成要素中的、除了用于存储信息的构成要素之外的多个构成要素的作用。
存储器162是用于存储电路160对运动图像进行编码的信息的专用或通用的存储器。存储器162既可以是电子电路,也可以与电路160连接。另外,存储器162也可以包含在电路160中。另外,存储器162也可以是多个电子电路的集合体。另外,存储器162既可以是磁盘或者光盘等,也可以表现为储存器(storage)或记录介质等。另外,存储器162既可以是非易失性存储器,也可以是易失性存储器。
例如,在存储器162中可以存储被编码的运动图像,也可以存储与被编码的运动图像对应的比特串。另外,在存储器162中也可以存储电路160对运动图像进行编码用的程序。
另外,例如,存储器162也可以起到图1等所示的编码装置100的多个构成要素中用于存储信息的构成要素的作用。具体而言,存储器162也可以起到图1所示的块存储器118以及帧存储器122的作用。更具体而言,在存储器162中,也可以存储已重构的块以及已重构的图片等。
此外,在编码装置100中,可以不安装图1等所示的多个构成要素的全部,也可以不进行上述的多个处理的全部。图1等所示的多个构成要素的一部分可以包含于其他装置,也可以由其他装置执行上述的多个处理的一部分。并且,在编码装置100中,安装图1等所示的多个构成要素中的一部分,通过进行上述的多个处理的一部分,高效地进行帧间预测模式下的预测处理。
以下,示出了图67所示的编码装置100的动作例。图68是表示图67所示的编码装置100的动作例的流程图。例如,图67所示的编码装置100在对运动图像进行编码时,进行图68所示的动作。
具体而言,编码装置100的电路160在动作中进行以下的处理。即,首先,电路160将编码对象的图片分割为2个以上的瓦片(S311)。接着,电路160对由在步骤S311中分割出的瓦片的一部分或1个以上的瓦片构成的矩形形状的每个切片进行编码,从而对图片进行编码,在电路160对图片进行编码时,不将与位于上述图片的右下角的切片所占的区域相关的信息包含在头部信息中(S312)。此外,电路160在对图片进行编码时,将与其他区域相关的信息包含在头部信息中。另外,在步骤S311中分割出的瓦片的一部分是指被分割出的2个以上的瓦片中包含的瓦片的一部分。
由此,编码装置100能够在图片参数集中不包含而省略与切片的设定方法相关的信息的一部分,因此存在能够削减编码量的可能性。
[解码装置的安装例]
图69是表示实施方式1的解码装置200的安装例的框图。解码装置200具备电路260以及存储器262。例如,图41所示的解码装置200的多个构成要素通过图69所示的电路260以及存储器262来安装。
电路260是进行信息处理的电路,是可访问存储器262的电路。例如,电路260是对运动图像进行解码的专用或通用的电子电路。电路260也可以是CPU那样的处理器。另外,电路260也可以是多个电子电路的集合体。另外,例如,电路260也可以起到图41等所示的解码装置200的多个构成要素中的、除了用于存储信息的构成要素以外的多个构成要素的作用。
存储器262是存储用于电路260对运动图像进行解码的信息的专用或通用的存储器。存储器262可以是电子电路,也可以与电路260连接。另外,存储器262也可以包含在电路260中。另外,存储器262也可以是多个电子电路的集合体。另外,存储器262可以是磁盘或光盘等,也可以表现为储存器或记录介质等。另外,存储器262既可以是非易失性存储器,也可以是易失性存储器。
例如,在存储器262中,可以存储与编码后的运动图像对应的比特串,也可以存储与解码后的比特串对应的运动图像。另外,在存储器262中,也可以存储用于电路260对运动图像进行解码的程序。
另外,例如,存储器262可以起到图41等所示的解码装置200的多个构成要素中的用于存储信息的构成要素的作用。具体而言,存储器262可以起到图41所示的块存储器210及帧存储器214的作用。更具体而言,在存储器262中,可以存储已重构的块及已重构的图片等。
此外,在解码装置200中,既可以不安装图41等所示的多个构成要素的全部,也可以不进行上述的多个处理的全部。图41等所示的多个构成要素的一部分可以包含于其他装置,也可以由其他装置执行上述的多个处理的一部分。并且,在解码装置200中,安装图41等所示的多个构成要素中的一部分,通过进行上述的多个处理的一部分,高效地进行运动补偿。
以下,表示图69所示的解码装置200的动作例。图70是表示图69所示的解码装置200的动作例的流程图。例如,图69所示的解码装置200在对运动图像进行解码时,进行图70所示的动作。
具体而言,解码装置200的电路260在动作中进行以下的处理。即,首先,电路260将解码对象的图片分割为2个以上的瓦片(S411)。接着,电路260通过对由在步骤S411中分割出的瓦片的一部分或1个以上的瓦片构成的矩形形状的每个切片进行解码,从而对该图片进行解码,在电路260对该图片进行解码时,通过不使用头部信息的规定的方法来设定与位于该图片的右下角的切片所占的区域相关的信息,与该区域相关的信息不包含在头部信息中(S412)。此外,在电路260对图片进行编码时,在头部信息中包含与其他区域相关的信息。
这样,解码装置200即使在图片参数集中不包含与切片的设定方法相关的信息的一部分,也能够进行解码处理。因此,解码装置200存在能够削减所取得的比特流的编码量的可能性。
[补充]
此外,本实施方式中的编码装置100和解码装置200可以分别作为图像编码装置和图像解码装置利用,也可以作为运动图像编码装置和运动图像解码装置利用。
另外,在本实施方式中,各构成要素由专用的硬件构成,但也可以通过执行适合于各构成要素的软件程序来实现。各构成要素可以通过CPU或处理器等程序执行部读出并执行硬盘或半导体存储器等记录介质中记录的软件程序来实现。
具体而言,编码装置100及解码装置200中的每一个可以具备处理电路(Processing Circuitry)和电连接到该处理电路的可从该处理电路访问的存储装置(Storage)。例如,处理电路与电路160或260对应,存储装置与存储器162或262对应。
处理电路包含专用的硬件及程序执行部中的至少一方,使用存储装置来执行处理。另外,存储装置在处理电路包含程序执行部的情况下,存储由该程序执行部执行的软件程序。
在此,实现本实施方式的编码装置100或解码装置200等的软件是如下的程序。
即,也可以是,该程序使计算机执行对运动图像进行编码的编码方法,上述编码方法为:将编码对象的图片分割为2个以上的瓦片,通过对由分割出的瓦片的一部分或1个以上的瓦片构成的矩形形状的每个切片进行编码,对图片进行编码,在对图片进行编码时,不将与位于图片的右下角的切片所占的区域相关的信息包含在头部信息中。
或者,也可以是,该程序使计算机执行对运动图像进行解码的解码方法,上述解码方法为:将解码对象的图片分割为2个以上的瓦片,通过对由分割出的瓦片的一部分或1个以上的瓦片构成的矩形形状的每个切片进行解码,对图片进行解码,在对该图片进行解码时,通过不使用头部信息的规定的方法来设定与位于上述图片的右下角的切片所占的区域相关的信息,与该区域相关的信息不包含在头部信息中。
另外,如上所述,各构成要素也可以是电路。这些电路既可以作为整体构成一个电路,也可以分别是不同的电路。另外,各构成要素既可以通过通用的处理器来实现,也可以通过专用的处理器来实现。
另外,也可以由其他构成要素执行特定的构成要素所执行的处理。另外,执行处理的顺序可以变更,也可以同时执行多个处理。另外,也可以是,编码解码装置具备编码装置100及解码装置200。
在说明中使用的第1以及第2等的序数也可以适当地更换。另外,对于构成要素等,既可以新赋予序数,也可以去除序数。
以上,基于实施方式说明了编码装置100及解码装置200的形态,但编码装置100及解码装置200的形态并不限定于本实施方式。只要不脱离本发明的主旨,对本实施方式实施了本领域技术人员能想到的各种变形的形态、将不同的实施方式中的构成要素组合而构建的形态也可以包含在编码装置100及解码装置200的形态的范围内。
也可以将在此公开的1个以上方式与本发明中的其他形态的至少一部分组合来实施。此外,也可以将在此公开的1个以上方式的流程图所记载的一部分处理、装置的一部分结构、句法的一部分等与其他形态组合来实施。
(实施方式2)
在以上的各实施方式中,各个功能块或起作用的块通常可以通过MPU(microprocessing unit,微处理单元)及存储器等实现。此外,也可以是,各个功能块的处理由读出并执行ROM等记录介质中记录的的软件(程序)的处理器等程序执行部来实现。该软件可以分发。该软件也可以记录到半导体存储器等各种记录介质中。另外,也能够通过硬件(专用电路)实现各功能块。能够采用硬件和软件的各种组合。
在各实施方式中说明的处理既可以通过使用单一的装置(系统)集中处理来实现,或者也可以通过使用多个装置进行分散处理来实现。此外,执行上述程序的处理器既可以是单个,也可以是多个。即,既可以进行集中处理,也可以进行分散处理。
本发明的形态并不限定于以上的实施例,能够进行各种各样的变更,它们也包含在本发明的形态的范围内。
进而,这里说明在上述各实施方式中表示的运动图像编码方法(图像编码方法)或运动图像解码方法(图像解码方法)的应用例和实施该应用例的各种系统。也可以是,这样的系统的特征在于,具有使用图像编码方法的图像编码装置、使用图像解码方法的图像解码装置、或者具备两者的图像编码解码装置。关于这样的系统的其他结构,根据情况能够适当地变更。
[使用例]
图71是表示实现内容分发服务的适当内容供给系统ex100的整体结构的图。将通信服务的提供区分割为希望的尺寸,在各单元内分别设有图示的例子中的作为固定无线站的基站ex106、ex107、ex108、ex109、ex110。
在该内容供给系统ex100中,在因特网ex101上经由因特网服务提供商ex102或通信网ex104、以及基站ex106~ex110连接着计算机ex111、游戏机ex112、相机ex113、家电ex114以及智能电话ex115等各设备。该内容供给系统ex100也可以将上述的某些装置组合而连接。在各种实施中,也可以不经由基站ex106~ex110而将各设备经由电话网或近距离无线等直接或间接地相互连接。而且,流媒体服务器ex103也可以经由因特网ex101等而与计算机ex111、游戏机ex112、相机ex113、家电ex114及智能电话ex115等各设备连接。此外,流媒体服务器ex103也可以经由卫星ex116而与飞机ex117内的热点内的终端等连接。
另外,也可以代替基站ex106~ex110而使用无线接入点或热点等。此外,流媒体服务器ex103既可以不经由因特网ex101或因特网服务提供商ex102而直接与通信网ex104连接,也可以不经由卫星ex116而直接与飞机ex117连接。
相机ex113是数字相机等能够进行静止图像摄影及运动图像摄影的设备。此外,智能电话ex115是与被称作2G、3G、3.9G、4G、及今后被称作5G的移动通信系统的方式对应的智能电话机、便携电话机或PHS(Personal Handy-phone System)等。
家电ex114是电冰箱或在家庭用燃料电池热电联供系统中包含的设备等。
在内容供给系统ex100中,具有摄影功能的终端经由基站ex106等连接到流媒体服务器ex103上,由此能够进行现场分发等。在现场分发中,终端(计算机ex111、游戏机ex112、相机ex113、家电ex114、智能电话ex115及飞机ex117内的终端等)可以对由用户使用该终端拍摄的静止图像或运动图像内容进行在上述各实施方式中说明的编码处理,也可以将通过编码得到的影像数据和将与影像对应的声音进行编码而得到的声音数据复用,也可以将得到的数据向流媒体服务器ex103发送。即,各终端作为有关本发明的一形态的图像编码装置发挥功能。
另一方面,流媒体服务器ex103将对有请求的客户端发送的内容数据进行流分发。客户端是能够将上述编码处理后的数据进行解码的计算机ex111、游戏机ex112、相机ex113、家电ex114、智能电话ex115或飞机ex117内的终端等。接收到被分发的数据的各设备也可以对接收到的数据进行解码处理并再现。即,各设备也可以作为有关本发明的一形态的图像解码装置发挥功能。
[分散处理]
此外,流媒体服务器ex103也可以是多个服务器或多个计算机,将数据分散处理或记录而分发。例如,流媒体服务器ex103也可以由CDN(Contents Delivery Network)实现,通过将分散在世界中的许多边缘服务器与边缘服务器之间相连的网络来实现内容分发。在CDN中,能够根据客户端而动态地分配在物理上较近的边缘服务器。并且,通过向该边缘服务器高速缓存及分发内容,能够减少延迟。此外,在发生了几类错误的情况下或因通信量的增加等而通信状态变化的情况下,能够用多个边缘服务器将处理分散、或将分发主体切换为其他边缘服务器、或绕过发生故障的网络的部分而继续分发,所以能够实现高速且稳定的分发。
此外,不限于分发自身的分散处理,所拍摄的数据的编码处理既可以由各终端进行,也可以在服务器侧进行,也可以相互分担而进行。作为一例,通常在编码处理中进行2次处理循环。在第1次的循环中对帧或场景单位的图像的复杂度或编码量进行检测。此外,在第2次的循环中进行维持画质而使编码效率提高的处理。例如,通过由终端进行第1次的编码处理、由接收到内容的服务器侧进行第2次的编码处理,能够在减少各终端中的处理负荷的同时使内容的质和效率提高。在此情况下,如果有几乎实时地接收并解码的请求,则也可以将终端进行的第一次编码完成的数据由其他终端接收并再现,所以也能够进行更灵活的实时分发。
作为其他例子,相机ex113等从图像提取特征量(特征或特征的量),将关于特征量的数据作为元数据压缩并向服务器发送。服务器例如根据特征量来判断目标的重要性而切换量化精度等,进行与图像的意义(或内容的重要性)对应的压缩。特征量数据对于服务器中的再次压缩时的运动矢量预测的精度及效率提高特别有效。此外,也可以由终端进行VLC(可变长编码)等简单的编码,由服务器进行CABAC(上下文自适应二值算术编码方式)等处理负荷大的编码。
作为其他例子,在体育场、购物中心或工厂等中,有存在由多个终端拍摄大致相同的场景而得到的多个影像数据的情况。在此情况下,使用进行了拍摄的多个终端、以及根据需要而使用没有进行摄影的其他终端及服务器,例如以GOP(Group of Picture)单位、图片单位或将图片分割而得到的瓦片单位等分别分配编码处理而进行分散处理。由此,能够减少延迟而更好地实现实时性。
由于多个影像数据是大致相同场景,所以也可以由服务器进行管理及/或指示,以将由各终端拍摄的影像数据相互参照。此外,也可以是服务器接收来自各终端的已编码数据并在多个数据间变更参照关系,或将图片自身进行修正或替换而重新编码。由此,能够生成提高了一个个数据的质和效率的流。
而且,服务器也可以进行将影像数据的编码方式变更的转码后将影像数据分发。例如,服务器也可以将MPEG类的编码方式变换为VP类(例如VP9),也可以将H.264变换为H.265等。
这样,编码处理能够由终端或1个以上的服务器进行。因此,以下作为进行处理的主体而使用“服务器”或“终端”等的记载,但也可以将由服务器进行的处理的一部分或全部用终端进行,也可以将由终端进行的处理的一部分或全部用服务器进行。此外,关于这些,对于解码处理也是同样的。
[3D、多角度]
将由相互大致同步的多个相机ex113及/或智能电话ex115等终端拍摄的不同场景、或从不同的角度拍摄了相同场景的图像或影像合并而利用的情况增加。将由各终端拍摄的影像能够基于另取得的终端间的相对位置关系、或影像中包含的特征点一致的区域等来合并。
服务器不仅是将二维的运动图像进行编码,也可以基于运动图像的场景解析等自动地或在用户指定的时刻将静止图像进行编码并向接收终端发送。服务器还在能够取得拍摄终端间的相对位置关系的情况下,不仅是二维的运动图像,还能够基于从不同的角度拍摄了相同场景的影像,生成该场景的三维形状。服务器也可以将由点云等生成的三维的数据另行编码,也可以基于使用三维数据将人物或目标进行识别或跟踪的结果,从由多个终端拍摄的影像中选择或重构而生成向接收终端发送的影像。
这样,用户既能够任意地选择与各拍摄终端对应的各影像而欣赏场景,也能够欣赏从使用多个图像或影像重构的三维数据中切取了选择视点的影像的内容。进而,与影像一起,声音也可以从多个不同的角度集音,服务器将来自特定的角度或空间的声音与对应的影像复用,并发送复用后的影像和声音。
此外,近年来,Virtual Reality(VR:虚拟现实)及Augmented Reality(AR:增强现实)等将现实世界与虚拟世界建立对应的内容也正在普及。在VR图像的情况下,服务器分别制作右眼用及左眼用的视点图像,既可以通过Multi-View Coding(MVC:多视点编码)等进行在各视点影像间容许参照的编码,也可以相互不参照而作为不同的流进行编码。在不同的流的解码时,可以根据用户的视点相互同步地再现,以再现虚拟的三维空间。
在AR图像的情况下,也可以是,服务器也可以基于三维的位置或用户的视点的移动,对现实空间的相机信息重叠虚拟空间上的虚拟物体信息。解码装置取得或保持虚拟物体信息及三维数据,根据用户的视点的移动而生成二维图像,通过平滑地相连来制作重叠数据。或者,也可以是,解码装置除了虚拟物体信息的委托以外还将用户的视点的移动发送给服务器。也可以是,服务器根据保持在服务器中的三维数据,匹配于接收到的视点的移动而制作重叠数据,将重叠数据进行编码并向解码装置分发。另外,典型地,重叠数据在RGB以外具有表示透射度的α值,服务器将根据三维数据制作出的目标以外的部分的α值设定为0等,在该部分透射的状态下进行编码。或者,服务器也可以如色度键那样将规定值的RGB值设定为背景,生成将目标以外的部分设为背景色的数据。规定的值的RGB值也可以预先确定。
同样,分发的数据的解码处理既可以由客户端(例如,终端)进行,也可以在服务器侧进行,也可以相互分担而进行。作为一例,也可以是某个终端先向服务器发送接收请求,由其他终端接收与该请求对应的内容并进行解码处理,将已解码的信号向具有显示器的装置发送。通过与可通信的终端自身的性能无关地都将处理分散而选择适当的内容,能够再现画质较好的数据。此外,作为其他例子,也可以由TV等接收大尺寸的图像数据,并且由欣赏者的个人终端将图片被分割后的瓦片等一部分区域进行解码并显示。由此,能够在使整体像共有化的同时,在手边确认自己的负责领域或想要更详细地确认的区域。
在能够使用室内外的近距离、中距离或长距离的无线通信中的多个的状况下,利用MPEG-DASH等的分发系统标准,也许能够无缝接收内容。用户也可以在自由地选择用户的终端、配置在室内外的显示器等解码装置或显示装置的同时实时地切换。此外,能够使用自身的位置信息等,切换解码的终端及显示的终端并进行解码。由此,还能够在用户向目的地的移动期间,在埋入有可显示的设备的旁边的建筑物的墙面或地面的一部分上映射并显示信息。此外,还能够基于在能够从接收终端以短时间访问的服务器中高速缓存有编码数据、或在内容分发服务的边缘服务器中复制有编码数据等的向网络上的编码数据的访问容易性,来切换接收数据的比特率。
[可分级编码]
关于内容的切换,使用图72所示的、使用应用在上述各实施方式中表示的运动图像编码方法进行压缩编码的可分级(scalable)的流进行说明。对服务器而言,作为单独的流也可以具有内容相同而品质不同的多个流,也可以是如图示那样利用通过分层进行编码而实现的时间/空间上的可分级的流的特征来切换内容的结构。即,通过由解码侧根据性能这样的内在因素和通信频带的状态等外在因素来决定解码哪个层,解码侧能够自由地切换低分辨率的内容和高分辨率的内容来解码。例如在想要将用户在移动中用智能电话ex115视听的影像的后续例如在回家后用因特网TV等设备视听的情况下,该设备只要将相同的流解码到不同的层就可以,所以能够减轻服务器侧的负担。
进而,在如上述那样按每个层将图片编码、实现在基本层的上位的增强层的分级性的结构以外,也可以是增强层(enhancement layer)包含基于图像的统计信息等的元信息。也可以是,解码侧通过基于元信息将基本层的图片进行超析像来生成高画质化的内容。超析像可以在维持及/或扩大分辨率的同时,提高SN比。元信息包括用来确定在超析像处理中使用的那样的线性或非线性的滤波系数的信息、或确定在超析像处理中使用的滤波处理、机器学习或最小2乘运算中的参数值的信息等。
或者,也可以提供根据图像内的目标等的意义将图片分割为瓦片等的结构。解码侧通过选择进行解码的瓦片而仅将一部分区域解码。而且,通过将目标的属性(人物、车、球等)和影像内的位置(同一图像中的坐标位置等)作为元信息保存,解码侧能够基于元信息确定希望的目标的位置,决定包括该目标的瓦片。例如,如图73所示,也可以使用HEVC中的SEI(supplemental enhancement information,补充增强信息)消息等与像素数据不同的数据保存构造来保存元信息。该元信息例如表示主目标的位置、尺寸或色彩等。
也可以以流、序列或随机访问单位等由多个图片构成的单位保存元信息。解码侧能够取得特定人物在影像内出现的时刻等,通过与图片单位的信息和时间信息匹配,能够确定目标存在的图片,能够决定图片内的目标的位置。
[Web页的优化]
图74是表示计算机ex111等中的web页的显示画面例的图。图75是表示智能电话ex115等中的web页的显示画面例的图。如图74及图75所示,有web页包含多个作为向图像内容的链接的链接图像的情况,根据阅览的设备而其可见方式也可以不同。在画面上能看到多个链接图像的情况下,在用户明示地选择链接图像之前、或链接图像接近于画面的中央附近或链接图像的整体进入到画面内之前,显示装置(解码装置)中可以作为链接图像而显示各内容所具有的静止图像或I图片,也可以用多个静止图像或I图片等显示gif动画那样的影像,也可以仅接收基本层而将影像解码及显示。
在由用户选择了链接图像的情况下,显示装置例如将基本层设为最优先并进行解码。另外,如果在构成web页的HTML中有表示是可分级的内容的信息,则显示装置也可以解码到增强层。而且,在为了确保实时性而在选择之前或通信频带非常紧张的情况下,显示装置可以通过仅将前方参照的图片(I图片、P图片、仅进行前方参照的B图片)解码及显示,来减少开头图片的解码时刻与显示时刻之间的延迟(从内容的解码开始到显示开始的延迟)。此外进一步,显示装置也可以将图片的参照关系强行地忽视而将全部的B图片及P图片设为前方参照而粗略地解码,随着时间经过而接收到的图片增加,进行正常的解码。
[自动行驶]
此外,在为了车的自动行驶或行驶辅助而收发二维或三维的地图信息等那样的静止图像或影像数据的情况下,接收终端也可以除了属于1个以上的层的图像数据以外,还作为元信息而接收天气或施工的信息等,将它们建立对应而解码。另外,元信息既可以属于层,也可以只与图像数据复用。
在此情况下,由于包含接收终端的车、无人机或飞机等在移动,所以接收终端通过发送该接收终端的位置信息,能够实现在切换基站ex106~ex110的同时执行无缝接收及解码。此外,接收终端根据用户的选择、用户的状况及/或通信频带的状态,能够动态地切换将元信息以何种程度接收、或将地图信息以何种程度更新。
在内容供给系统ex100中,客户端能够将用户发送的已编码的信息实时地接收并解码、再现。
[个人内容的分发]
此外,在内容供给系统ex100中,不仅是由影像分发业者提供的高画质、长时间的内容,还能够进行由个人提供的低画质、短时间的内容的单播或多播分发。可以想到这样的个人内容今后也会增加。为了使个人内容成为更好的内容,服务器也可以在进行编辑处理后进行编码处理。这例如可以用以下这样的结构实现。
在拍摄时实时地或累积下来拍摄后,服务器根据原图像数据或已编码数据,进行拍摄错误、场景搜索、意义的解析及目标检测等的识别处理。并且,服务器基于识别结果,手动或自动地进行将焦点偏差或手抖动等修正、或将明亮度比其他图片低或焦点没有对上的场景等的重要性低的场景删除、或将目标的边缘强调、或使色调变化等的编辑。服务器基于编辑结果,将编辑后的数据进行编码。此外,已知如果拍摄时刻过长则视听率会下降,服务器也可以根据拍摄时间,不仅将如上述那样重要性低的场景,还将运动少的场景等基于图像处理结果自动地限制,以成为特定的时间范围内的内容。或者,服务器也可以基于场景的意义解析的结果而生成摘要并编码。
个人内容在原状态下有被写入侵害著作权、著作者人格权或肖像权等的内容的情形,也有共享的范围超过了想要的范围等对于个人而言不便的情况。因此,例如服务器也可以将画面的周边部的人的脸、或家中等强行地变更为不对焦的图像而进行编码。而且,服务器也可以识别在编码对象图像内是否拍摄到与预先登记的人物不同的人物的脸,在拍摄到的情况下,进行对脸部分施加马赛克等的处理。或者,作为编码的前处理或后处理,也可以从著作权等的观点出发,用户指定想要将图像加工的人物或背景区域。服务器也可以进行将所指定的区域替换为别的影像、或将焦点模糊化等的处理。如果是人物,则能够在运动图像中跟踪人物,将人物的脸部分的影像替换。
数据量小的个人内容的视听其实时性要求较强,所以虽然也取决于带宽,但解码装置也可以首先将基本层最优先地接收并进行解码及再现。解码装置也可以在此期间中接收增强层,在再现被循环的情况等2次以上被再现的情况下,将增强层也包括在内再现高画质的影像。这样,如果是进行了可分级编码的流,则能够提供在未选择时或刚开始看的阶段是虽然较粗糙的运动图像但流逐渐变得流畅而图像变好的体验。除了可分级编码以外,在第1次被再现的较粗糙的流和参照第1次的运动图像而被编码的第2次的流构成为1个流的情况下也能够提供同样的体验。
[其他实施应用例]
此外,这些编码或解码处理通常在各终端所具有的LSIex500中处理。LSI(largescale integration circuitry,大规模集成电路)ex500(参照图71)既可以是单芯片也可以是由多芯片构成的结构。另外,也可以将运动图像编码或解码用的软件装入到能够由计算机ex111等读取的某种记录介质(CD-ROM、软盘、硬盘等)中、使用该软件进行编码处理及解码处理。进而,在智能电话ex115带有相机的情况下,也可以发送由该相机取得的运动图像数据。此时的运动图像数据也可以是用智能电话ex115所具有的LSIex500进行编码处理后的数据。
另外,LSIex500也可以是将应用软件下载并将其激活的结构。在此情况下,终端首先判定该终端是否与内容的编码方式对应、或是否具有特定服务的执行能力。在终端不与内容的编码方式对应的情况下、或不具有特定服务的执行能力的情况下,终端也可以下载编解码器或应用软件,然后进行内容取得及再现。
此外,并不限于经由因特网ex101的内容供给系统ex100,也能够在数字广播用系统中组装上述各实施方式的至少运动图像编码装置(图像编码装置)或运动图像解码装置(图像解码装置)中的某一种。由于利用卫星等使广播用的电波承载将影像与声音复用的复用数据而收发,所以相对于内容供给系统ex100的容易单播的结构,有适合多播的差异,但关于编码处理及解码处理能够进行同样的应用。
[硬件结构]
图76是进一步详细表示图71所示的智能电话ex115的图。此外,图77是表示智能电话ex115的结构例的图。智能电话ex115具有用来在与基站ex110之间收发电波的天线ex450、能够拍摄影像及静止图像的相机部ex465、显示由相机部ex465拍摄的影像及将由天线ex450接收到的影像等解码后的数据的显示部ex458。智能电话ex115还具备作为触摸面板等的操作部ex466、用来输出声音或音响的作为扬声器等的声音输出部ex457、用来输入声音的作为麦克风等的声音输入部ex456、能够保存所拍摄的影像或静止图像、录音的声音、接收到的影像或静止图像、邮件等的编码后的数据或解码后的数据的存储器部ex467、或者作为与SIMex468的接口部的插槽部ex464,所述SIMex468用来确定用户,进行以网络为代表向各种数据的访问的认证。此外,也可以代替存储器部ex467而使用外置存储器。
对显示部ex458及操作部ex466等能够进行综合控制的主控制部ex460与电源电路部ex461、操作输入控制部ex462、影像信号处理部ex455、相机接口部ex463、显示器控制部ex459、调制/解调部ex452、复用/分离部ex453、声音信号处理部ex454、插槽部ex464及存储器部ex467同步经由总线ex470相互连接。
电源电路部ex461如果通过用户的操作使电源键成为开启状态,则将智能电话ex115启动为能够动作的状态,从电池组对各部供给电力。
智能电话ex115基于具有CPU、ROM及RAM等的主控制部ex460的控制,进行通话及数据通信等处理。在通话时,通过声音信号处理部ex454将由声音输入部ex456集音的声音信号变换为数字声音信号,实施调制/解调部ex452进行波谱扩散处理,由发送/接收部ex451实施数字模拟变换处理及频率变换处理,该结果的信号经由天线ex450发送。此外,将接收数据放大并实施频率变换处理及模拟数字变换处理,由调制/解调部ex452进行波谱逆扩散处理,由声音信号处理部ex454变换为模拟声音信号后,将其从声音输出部ex457输出。在数据通信时,能够基于主体部的操作部ex466等的操作将文本、静止图像或影像数据经由操作输入控制部ex462在主控制部ex460的控制下送出。进行同样的收发处理。在数据通信模式时,在发送影像、静止图像或影像和声音的情况下,影像信号处理部ex455将保存在存储器部ex467中的影像信号或从相机部ex465输入的影像信号通过在上述各实施方式中表示的运动图像编码方法进行压缩编码,将编码后的影像数据向复用/分离部ex453送出。声音信号处理部ex454将在由相机部ex465拍摄影像、静止图像的过程中由声音输入部ex456集音的声音信号编码,将编码后的声音数据向复用/分离部ex453送出。复用/分离部ex453将已编码影像数据和已编码声音数据以规定的方式复用,由调制/解调部(调制/解调电路部)ex452及发送/接收部ex451实施调制处理及变换处理,经由天线ex450发送。规定的方式也可以预先确定。
在接收到添附在电子邮件或聊天工具中的影像、或链接在网页上的影像等的情况下,为了将经由天线ex450接收到的复用数据进行解码,复用/分离部ex453通过将复用数据分离而将复用数据分为影像数据的比特流和声音数据的比特流,经由同步总线ex470将编码后的影像数据向影像信号处理部ex455供给,并将编码后的声音数据向声音信号处理部ex454供给。影像信号处理部ex455通过与在上述各实施方式中表示的运动图像编码方法对应的运动图像解码方法将影像信号进行解码,经由显示器控制部ex459从显示部ex458显示被链接的运动图像文件中包含的影像或静止图像。声音信号处理部ex454将声音信号进行解码,从声音输出部ex457输出声音。由于实时流媒体愈发普及,所以根据用户的状况,也可能发生声音的再现在社会上不适合的情况。因此,也可以是,作为初始值,优选的是不将声音信号再现而仅将影像数据再现的结构,仅在用户进行了将影像数据点击等操作的情况下将声音同步地再现。
此外,这里以智能电话ex115为例进行了说明,但作为终端,可以考虑除了拥有编码器及解码器双方的收发型终端以外,还有仅具有编码器的发送终端、仅具有解码器的接收终端这样另外的安装形式。在数字广播用系统中,假设将在影像数据中复用了声音数据的复用数据接收、发送而进行了说明。但是,在复用数据中除了声音数据以外还可以复用与影像关联的字符数据等。另外,也可以不是将复用数据而是将影像数据自身接收或发送。
另外,假设包括CPU的主控制部ex460控制编码或解码处理而进行了说明,但各种终端具备GPU的情况也较多。因此,也可以做成通过由CPU和GPU共用的存储器、或以能够共同使用的方式管理地址的存储器,来利用GPU的性能将较大的区域一起处理的结构。由此,能够缩短编码时间,确保实时性,实现低延迟。特别是,如果将运动估计、解块滤波、SAO(Sample Adaptive Offset)及变换/量化的处理不是用CPU进行而是用GPU以图片等单位一起进行,则更有效。
产业上的可利用性
本发明能够利用于例如电视接收机、数字视频记录器、汽车导航系统、移动电话、数字相机、数字摄像机、电视会议系统或电子镜等。
附图标记说明
100 编码装置
102 分割部
104 减法部
106 变换部
108 量化部
110 熵编码部
112、204 逆量化部
114、206 逆变换部
116、208 加法部
118、210 块存储器
120、212 循环滤波部
122、214 帧存储器
124、216 帧内预测部
126、218 帧间预测部
128、220 预测控制部
200解码装置
202熵解码部
1201边界判定部
1202、1204、1206开关
1203滤波判定部
1205滤波处理部
1207滤波特性决定部
1208处理判定部
a1、b1处理器
a2、b2存储器

Claims (9)

1.一种解码装置,对运动图像进行解码,其中,具备:
电路;以及
存储器,与上述电路连接,
上述电路在动作中,
将解码对象的图片分割为2个以上的瓦片,
通过对由分割出的瓦片的一部分或1个以上的瓦片构成的矩形形状的每个切片进行解码,对上述图片进行解码,
在对上述图片进行解码时,不从头部信息读出与位于上述图片的右下角的切片所占的区域相关的第1信息而通过规定的方法来设定上述第1信息,
上述第1信息不包含在上述头部信息中。
2.根据权利要求1所述的解码装置,其中,
上述第1信息是表示上述切片的右下角的位置的信息。
3.根据权利要求1所述的解码装置,其中,
上述第1信息是表示上述切片的左上角的位置以及右下角的位置的信息。
4.根据权利要求1至3中任一项所述的解码装置,其中,
上述第1信息是由句法表示的信息。
5.根据权利要求1至3中任一项所述的解码装置,其中,
上述电路在上述动作中,
在对上述图片进行解码时,根据头部信息中包含的表示上述图片的左上角的位置的信息,对位于上述图片的开头的切片的左上角的位置信息进行解码。
6.根据权利要求1至3中任一项所述的解码装置,其中,
上述规定的方法是使用包含于上述头部信息且与上述第1信息不同的第2信息来计算上述第1信息的方法。
7.根据权利要求6所述的解码装置,其中,
上述第2信息是上述头部信息中包含的瓦片索引或上述瓦片索引的差。
8.根据权利要求7所述的解码装置,其中,
上述瓦片索引的差是上述切片的左上角的瓦片的瓦片索引与上述切片的右下角的瓦片的瓦片索引的差。
9.一种解码方法,对运动图像进行解码,其中,
将解码对象的图片分割为2个以上的瓦片,
通过对由分割出的瓦片的一部分或1个以上的瓦片构成的矩形形状的每个切片进行解码,对上述图片进行解码,
在对上述图片进行解码时,不从头部信息读出与位于上述图片的右下角的切片所占的区域相关的第1信息而通过规定的方法来设定上述第1信息,
上述第1信息不包含在上述头部信息中。
CN201980073220.8A 2018-12-07 2019-12-06 编码装置、解码装置、编码方法和解码方法 Active CN112997502B (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201862776780P 2018-12-07 2018-12-07
US201862776792P 2018-12-07 2018-12-07
US62/776,780 2018-12-07
US62/776,792 2018-12-07
US201962808540P 2019-02-21 2019-02-21
US62/808,540 2019-02-21
US201962839033P 2019-04-26 2019-04-26
US62/839,033 2019-04-26
PCT/JP2019/047886 WO2020116630A1 (ja) 2018-12-07 2019-12-06 符号化装置、復号装置、符号化方法及び復号方法

Publications (2)

Publication Number Publication Date
CN112997502A CN112997502A (zh) 2021-06-18
CN112997502B true CN112997502B (zh) 2024-04-26

Family

ID=70973918

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980073220.8A Active CN112997502B (zh) 2018-12-07 2019-12-06 编码装置、解码装置、编码方法和解码方法

Country Status (8)

Country Link
US (3) US11388429B2 (zh)
JP (2) JPWO2020116630A1 (zh)
KR (1) KR20210093877A (zh)
CN (1) CN112997502B (zh)
BR (1) BR112021005443A2 (zh)
MX (1) MX2021004194A (zh)
TW (1) TW202029764A (zh)
WO (1) WO2020116630A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113170201B (zh) * 2018-11-30 2024-04-12 夏普株式会社 用于对视频数据进行解码的方法和设备
CN113228519A (zh) * 2018-12-14 2021-08-06 华为技术有限公司 任意和环绕分块分组
WO2020213963A1 (ko) 2019-04-17 2020-10-22 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치
KR20210077625A (ko) * 2019-12-17 2021-06-25 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치
CN112572796B (zh) * 2020-12-23 2022-10-18 南京拓恒无人系统研究院有限公司 一种基于互联网水利用可多处水源取样的无人机

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223526A (zh) * 2010-04-15 2011-10-19 华为技术有限公司 图像编解码方法及相关装置
CN104584554A (zh) * 2012-09-26 2015-04-29 松下电器(美国)知识产权公司 图像解码方法、图像编码方法、图像解码装置、图像编码装置及图像编解码装置
CN104584555A (zh) * 2012-09-26 2015-04-29 松下电器(美国)知识产权公司 图像解码方法、图像编码方法、图像解码装置、图像编码装置及图像编解码装置
CN107258081A (zh) * 2015-03-06 2017-10-17 高通股份有限公司 对使用非正方形分割编码视频数据的优化
CN108510441A (zh) * 2018-03-19 2018-09-07 东南大学 一种基于交错网格的影像多分辨率显示方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8718389B2 (en) * 2011-04-13 2014-05-06 Huawei Technologies Co., Ltd. Image encoding and decoding methods and related devices
US9584819B2 (en) * 2011-10-24 2017-02-28 Qualcomm Incorporated Grouping of tiles for video coding
US10244246B2 (en) * 2012-02-02 2019-03-26 Texas Instruments Incorporated Sub-pictures for pixel rate balancing on multi-core platforms
JP6214235B2 (ja) 2012-07-02 2017-10-18 キヤノン株式会社 ファイル生成方法、ファイル生成装置、及びプログラム
US9930353B2 (en) * 2013-03-29 2018-03-27 Sony Corporation Image decoding device and method
JP6363088B2 (ja) 2013-10-08 2018-07-25 シャープ株式会社 画像復号装置、画像復号方法、画像符号化装置、および画像符号化方法
US10542258B2 (en) * 2016-01-25 2020-01-21 Google Llc Tile copying for video compression
KR102619997B1 (ko) * 2019-01-02 2024-01-02 애플 인크. 영상 신호 부호화/복호화 방법 및 이를 위한 장치
KR20200115322A (ko) * 2019-03-26 2020-10-07 인텔렉추얼디스커버리 주식회사 영상 부호화/복호화 방법 및 장치
WO2020213963A1 (ko) * 2019-04-17 2020-10-22 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223526A (zh) * 2010-04-15 2011-10-19 华为技术有限公司 图像编解码方法及相关装置
CN103281527A (zh) * 2010-04-15 2013-09-04 华为技术有限公司 图像编解码方法及相关装置
CN104584554A (zh) * 2012-09-26 2015-04-29 松下电器(美国)知识产权公司 图像解码方法、图像编码方法、图像解码装置、图像编码装置及图像编解码装置
CN104584555A (zh) * 2012-09-26 2015-04-29 松下电器(美国)知识产权公司 图像解码方法、图像编码方法、图像解码装置、图像编码装置及图像编解码装置
CN107258081A (zh) * 2015-03-06 2017-10-17 高通股份有限公司 对使用非正方形分割编码视频数据的优化
CN108510441A (zh) * 2018-03-19 2018-09-07 东南大学 一种基于交错网格的影像多分辨率显示方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Arild Fuldseth ; Michael Horowitz ; Shilin Xu ; Kiran Misra ; Andrew Segall ; Minhua Zhou.Tiles for managing computational complexity of video encoding and decoding.《2012 Picture Coding Symposium》.2012,全文. *
FMO矩形条带对视频编码效率影响的研究;肖明明 徐红明 吕文辉;《仲恺农业工程学院学报》;20041124;全文 *
Rickard Sjöberg ; Mitra Damghanian ; Martin Pettersson.Tile groups for VVC.《Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 12th Meeting: Macao, CN, 3–12 Oct. 2018 JVET-L0415-v1》.2018,全文. *
基于TILE64的H.264多线程并行编码;张超;《中国优秀硕士学位论文全文数据库(电子期刊)》;20110915;全文 *

Also Published As

Publication number Publication date
US11388429B2 (en) 2022-07-12
KR20210093877A (ko) 2021-07-28
TW202029764A (zh) 2020-08-01
CN112997502A (zh) 2021-06-18
US11812045B2 (en) 2023-11-07
JP2023168625A (ja) 2023-11-24
US20210250598A1 (en) 2021-08-12
JPWO2020116630A1 (ja) 2021-10-07
WO2020116630A1 (ja) 2020-06-11
US20220312025A1 (en) 2022-09-29
MX2021004194A (es) 2021-05-27
BR112021005443A2 (pt) 2021-06-15
US20240007661A1 (en) 2024-01-04

Similar Documents

Publication Publication Date Title
CN110463203B (zh) 图像解码方法及装置
CN112753221B (zh) 编码装置、解码装置、编码方法和解码方法
CN111684805B (zh) 编码装置、解码装置、编码方法和解码方法
CN112997502B (zh) 编码装置、解码装置、编码方法和解码方法
CN113678443B (zh) 编码装置、解码装置、编码方法、解码方法和记录介质
CN114173125B (zh) 编码装置、编码方法、解码装置及解码方法
CN112425171A (zh) 编码装置、解码装置、编码方法和解码方法
CN118042132A (zh) 图像编码装置、编码方法、图像解码装置、解码方法和非暂时性存储介质
CN113170103B (zh) 编码装置、解码装置、编码方法和解码方法
CN111247806B (zh) 解码装置和解码方法
CN113994704B (zh) 编码装置、解码装置、编码方法和解码方法
CN113475066B (zh) 编码装置、解码装置、编码方法和解码方法
CN117730538A (zh) 编码装置、解码装置、编码方法以及解码方法

Legal Events

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