CN113545057B - 编码装置、解码装置、编码方法及解码方法 - Google Patents

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

Info

Publication number
CN113545057B
CN113545057B CN202080016525.8A CN202080016525A CN113545057B CN 113545057 B CN113545057 B CN 113545057B CN 202080016525 A CN202080016525 A CN 202080016525A CN 113545057 B CN113545057 B CN 113545057B
Authority
CN
China
Prior art keywords
unit
decoding
data sequence
image
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
CN202080016525.8A
Other languages
English (en)
Other versions
CN113545057A (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 CN113545057A publication Critical patent/CN113545057A/zh
Application granted granted Critical
Publication of CN113545057B publication Critical patent/CN113545057B/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/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/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/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

编码装置(100)具备:电路;以及存储器,与电路连接;电路在动作中将图像编码;在图像的编码中,将图像的系数信息二值化;控制是否对系数信息被二值化后的二值化数据序列应用算术编码;输出包含被应用了算术编码或没有被应用算术编码的二值化数据序列的比特序列;在系数信息的二值化中,在对二值化数据序列应用算术编码、并且不满足规定的条件的情况下,将系数信息按照第1语法构造二值化;在对二值化数据序列应用算术编码、并且满足规定的条件的情况下,将系数信息按照与第1语法构造不同的第2语法构造二值化;在不对二值化数据序列应用算术编码的情况下,将系数信息按照第2语法构造二值化。

Description

编码装置、解码装置、编码方法及解码方法
技术领域
本发明涉及视频编码,例如涉及运动图像的编码及解码中的***、构成要素及方法等。
背景技术
视频编码技术正在向H.261及MPEG-1向H.264/AVC(高级视频编码,AdvancedVideo Coding)、MPEG-LA、H.265/HEVC(高效视频编码,High Efficiency Video Coding)及H.266/VVC(多功能视频编码,Versatile Video Codec)进步。伴随着该进步,为了处理在各种各样的用途中持续增加的数字视频数据量,总是需要提供视频编码技术的改良及优化。
另外,非专利文献1是关于与上述的视频编码技术有关的以往的规格的一例。
现有技术文献
非专利文献
非专利文献1:H.265(ISO/IEC 23008-2HEVC)/HEVC(High Efficiency VideoCoding)
发明内容
发明要解决的课题
关于上述那样的编码方式,为了编码效率的改善、画质的改善、处理量的削减、电路规模的削减、或者滤波器、块、尺寸、运动向量、参照图片或参照块等的要素或动作的适当的选择等,希望提出新的方式。
本发明提供一种能够对例如编码效率的改善、画质的改善、处理量的削减、电路规模的削减、处理速度的改善及要素或动作的适当的选择等中的1个以上做出贡献的构成或方法。另外,本发明可以包括能够贡献于上述以外的利益的构成或方法。
用来解决课题的手段
例如,有关本发明的一技术方案的编码装置具备:电路;以及存储器,与上述电路连接;上述电路在动作中将图像编码;在上述图像的编码中,将上述图像的系数信息二值化;控制是否对上述系数信息被二值化后的二值化数据序列应用算术编码;输出包含被应用了算术编码或没有被应用算术编码的上述二值化数据序列的比特序列;在上述系数信息的二值化中,在对上述二值化数据序列应用算术编码、并且不满足规定的条件的情况下,将上述系数信息按照第1语法构造二值化;在对上述二值化数据序列应用算术编码、并且满足上述规定的条件的情况下,将上述系数信息按照与上述第1语法构造不同的第2语法构造二值化;在不对上述二值化数据序列应用算术编码的情况下,将上述系数信息按照上述第2语法构造二值化。
本发明的实施方式的若干安装,既可以改善编码效率,也可以使编码/解码处理简单化,也可以加快编码/解码处理速度,也可以效率良好地选择适当的滤波器、块尺寸、运动向量、参照图片、参照块等那样的在编码及解码中被使用的适当的构成要素/动作。
本发明的一技术方案的进一步的优点及效果根据说明书及附图会变得清楚。这些优点及/或效果可以通过若干实施方式以及说明书及附图中记载的特征分别得到,但未必需要为了得到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 vectorrefinement)的合并模式的流程图。
图31B是用来说明DMVR处理的一例的概念图。
图32是表示预测图像的生成的一例的流程图。
图33是表示预测图像的生成的另一例的流程图。
图34是表示预测图像的生成的另一例的流程图。
图35是用来说明基于OBMC(重叠块运动补偿,overlapped block motioncompensation)处理的预测图像修正处理的一例的流程图。
图36是用来说明基于OBMC处理的预测图像修正处理的一例的概念图。
图37是用来说明2个三角形的预测图像的生成的概念图。
图38是用来说明假定了等速直线运动的模型的概念图。
图39是用来说明使用基于LIC(局部光补偿,local illumination compensation)处理的亮度修正处理的预测图像生成方法的一例的概念图。
图40是表示编码装置的安装例的框图。
图41是表示有关实施方式的解码装置的功能构成的框图。
图42是表示由解码装置进行的整体上的解码处理的一例的流程图。
图43是表示由解码装置的预测处理部进行的处理的一例的流程图。
图44是表示由解码装置的预测处理部进行的处理的另一例的流程图。
图45是表示解码装置的普通帧间模式的帧间预测的例子的流程图。
图46是表示解码装置的安装例的框图。
图47是表示有关实施方式的编码装置的熵编码部的详细的功能构成的框图。
图48是表示有关实施方式的解码装置的熵解码部的详细的功能构成的框图。
图49是表示有关实施方式的编码装置的熵编码部的第1动作例的流程图。
图50是表示有关实施方式的编码装置的熵编码部的第2动作例的流程图。
图51是表示有关实施方式的编码装置的动作的流程图。
图52是表示有关实施方式的编码动作的具体例的流程图。
图53是表示有关实施方式的二值化动作的具体例的流程图。
图54是表示有关实施方式的解码装置的动作的流程图。
图55是表示有关实施方式的解码动作的具体例的流程图。
图56是表示有关实施方式的逆二值化动作的具体例的流程图。
图57是表示实现内容分发服务的内容供给***的整体构成的框图。
图58是表示分级编码时的编码构造的一例的概念图。
图59是表示分级编码时的编码构造的一例的概念图。
图60是表示web页的显示画面例的概念图。
图61是表示web页的显示画面例的概念图。
图62是表示智能电话的一例的框图。
图63是表示智能电话的结构例的框图。
具体实施方式
例如,通过对将预测残差系数、频率变换系数及量化系数等那样的系数信息二值化后的二值化数据序列应用算术编码,能够削减代码量。另一方面,由此处理延迟有可能增大。因而,研究了将算术编码跳过的模式。在该模式下,处理延迟的增大被抑制。
此外,将算术编码跳过的情况下的语法构造也可以与应用算术编码的情况下的语法构造不同。由此,将算术编码跳过的情况下的代码量的增大有可能被抑制。
但是,在将算术编码跳过的情况下的语法构造与应用算术编码的情况下的语法构造不同的情况下,电路规模有可能会增大。
所以,例如有关本发明的一技术方案的编码装置具备:电路;以及存储器,与上述电路连接;上述电路在动作中将图像编码;在上述图像的编码中,将上述图像的系数信息二值化;控制是否对上述系数信息被二值化后的二值化数据序列应用算术编码;输出包含被应用了算术编码或没有被应用算术编码的上述二值化数据序列的比特序列;在上述系数信息的二值化中,在对上述二值化数据序列应用算术编码、并且不满足规定的条件的情况下,将上述系数信息按照第1语法构造二值化;在对上述二值化数据序列应用算术编码、并且满足上述规定的条件的情况下,将上述系数信息按照与上述第1语法构造不同的第2语法构造二值化;在不对上述二值化数据序列应用算术编码的情况下,将上述系数信息按照上述第2语法构造二值化。
由此,能够使不应用算术编码的情况下的语法构造和满足规定的条件的情况下的语法构造共通化。因而,能够在抑制电路规模的增大的同时,实现对代码量的增大的抑制及对处理延迟的抑制。
此外,例如上述规定的条件是指,在从上述图像的预测残差导出上述系数信息时正交变换处理被跳过。
由此,能够使不应用算术编码的情况下的语法构造和满足正交变换处理被跳过的规定的条件的情况下的语法构造共通化。因而,能够在抑制电路规模的增大的同时,实现对代码量的增大的抑制及对处理延迟的抑制。
此外,例如上述规定的条件是在上述图像的包含处理对象块的区域中、被按照CABAC(Context-based Adaptive Binary Arithmetic Coding)以与旁路模式不同的模式进行了编码处理的语法要素的个数为阈值以上的条件。
由此,能够使不应用算术编码的情况下的语法构造和满足非旁路CABAC的语法数为阈值以上的规定的条件的情况下的语法构造共通化。因而,能够在抑制电路规模的增大的同时,实现代码量的增大的抑制及处理延迟的抑制。
此外,例如上述比特序列在序列参数集、图片参数集或切片头中表示算术编码的应用是否有效。
由此,编码装置能够在序列参数集、图片参数集或切片头中切换算术编码的应用是否有效。因而,编码装置能够抑制关于是否应用算术编码进行按照数据类别的切换那样的频繁的切换。由此,能够实现代码量的增大的抑制及处理延迟的抑制。
此外,例如上述电路以包括1个以上的切片或1个以上的图片的单位包含性地切换是否应用算术编码。
由此,编码装置能够以较大的单位包含性地切换是否应用算术编码。因而,编码装置能够抑制关于是否应用算术编码进行按照数据类别的切换那样的频繁的切换。由此,能够实现代码量的增大的抑制及处理延迟的抑制。
此外,例如有关本发明的一技术方案的解码装置具备:电路;以及存储器,与上述电路连接;上述电路在动作中将图像解码;在上述图像的解码中,取得包含上述图像的系数信息被二值化的二值化数据序列的比特序列;控制是否对上述二值化数据序列应用算术解码;将被应用了算术解码或没有被应用算术解码的上述二值化数据序列逆二值化;在上述二值化数据序列的逆二值化中,在对上述二值化数据序列应用算术解码、并且不满足规定的条件的情况下,将上述二值化数据序列按照第1语法构造逆二值化;在对上述二值化数据序列应用算术解码、并且满足上述规定的条件的情况下,将上述二值化数据序列按照与上述第1语法构造不同的第2语法构造逆二值化;在不对上述二值化数据序列应用算术解码的情况下,将上述二值化数据序列按照上述第2语法构造逆二值化。
由此,能够使不应用算术解码的情况下的语法构造和满足规定的条件的情况下的语法构造共通化。因而,能够在抑制电路规模的增大的同时,实现代码量的增大的抑制及处理延迟的抑制。
此外,例如上述规定的条件是在从上述系数信息导出上述图像的预测残差时逆正交变换处理被跳过的条件。
由此,能够使不应用算术解码的情况下的语法构造和满足逆正交变换处理被跳过的规定的条件的情况下的语法构造共通化。因而,能够在抑制电路规模的增大的同时,实现代码量的增大的抑制及处理延迟的抑制。
此外,例如上述规定的条件是在上述图像的包含处理对象块的区域中、被按照CABAC(基于上下文的自适应二值算术编码,Context-based Adaptive BinaryArithmetic Coding)以与旁路模式不同的模式进行了解码处理的语法要素的个数为阈值以上的条件。
由此,能够使不应用算术解码的情况下的语法构造和满足非旁路CABAC的语法数为阈值以上的规定的条件的情况下的语法构造共通化。因而,能够在抑制电路规模的增大的同时,实现对代码量的增大的抑制及对处理延迟的抑制。
此外,例如上述比特序列在序列参数集、图片参数集或切片头中表示算术解码的应用是否有效。
由此,解码装置能够在序列参数集、图片参数集或切片头中切换算术解码的应用是否有效。因而,解码装置能够抑制关于是否应用算术解码而进行按照每个数据类别的切换那样的频繁的切换。由此,能够实现对代码量的增大的抑制及对处理延迟的抑制。
此外,例如上述电路以包括1个以上的切片或1个以上的图片的单位包含性地切换是否应用算术解码。
由此,解码装置能够以较大的单位包含性地切换是否应用算术解码。因而,解码装置能够抑制关于是否应用算术解码而进行按照每个数据类别的切换那样的频繁的切换。由此,能够实现对代码量的增大的抑制及对处理延迟的抑制。
此外,例如有关本发明的一技术方案的编码方法,将图像编码;在上述图像的编码中,将上述图像的系数信息二值化;控制是否对上述系数信息被二值化后的二值化数据序列应用算术编码;输出包含被应用了算术编码或没有被应用算术编码的上述二值化数据序列的比特序列;在上述系数信息的二值化中,在对上述二值化数据序列应用算术编码、并且不满足规定的条件的情况下,将上述系数信息按照第1语法构造二值化;在对上述二值化数据序列应用算术编码、并且满足上述规定的条件的情况下,将上述系数信息按照与上述第1语法构造不同的第2语法构造二值化;在不对上述二值化数据序列应用算术编码的情况下,将上述系数信息按照上述第2语法构造二值化。
由此,能够使不应用算术编码的情况下的语法构造和满足规定的条件的情况下的语法构造共通化。因而,能够在抑制电路规模的增大的同时,实现对代码量的增大的抑制及对处理延迟的抑制。
此外,例如有关本发明的一技术方案的解码方法,将图像解码;在上述图像的解码中,取得包含上述图像的系数信息被二值化后的二值化数据序列的比特序列;控制是否对上述二值化数据序列应用算术解码;将被应用了算术解码或没有被应用算术解码的上述二值化数据序列逆二值化;在上述二值化数据序列的逆二值化中,在对上述二值化数据序列应用算术解码、并且不满足规定的条件的情况下,将上述二值化数据序列按照第1语法构造逆二值化;在对上述二值化数据序列应用算术解码、并且满足上述规定的条件的情况下,将上述二值化数据序列按照与上述第1语法构造不同的第2语法构造逆二值化;在不对上述二值化数据序列应用算术解码的情况下,将上述二值化数据序列按照上述第2语法构造逆二值化。
由此,能够使不应用算术解码的情况下的语法构造和满足规定的条件的情况下的语法构造共通化。因而,能够在抑制电路规模的增大的同时,实现对代码量的增大的抑制及对处理延迟的抑制。
此外,例如有关本发明的一技术方案的编码装置具备划分部、帧内预测部、帧间预测部、预测控制部、变换部、量化部、熵编码部和环路滤波部。
上述划分部将构成上述运动图像的编码对象图片划分为多个块。上述帧内预测部进行帧内预测,该帧内预测使用上述编码对象图片中的参照图像生成上述编码对象图片中的编码对象块的上述预测图像。上述帧间预测部进行帧间预测,该帧间预测使用与上述编码对象图片不同的参照图片中的参照图像生成上述编码对象块的上述预测图像。
上述预测控制部控制上述帧内预测部进行的帧内预测及上述帧间预测部进行的帧间预测。上述变换部将由上述帧内预测部或上述帧间预测部生成的上述预测图像与上述编码对象块的图像之间的预测残差信号变换,生成上述编码对象块的变换系数信号。上述量化部将上述变换系数信号量化。上述熵编码部将已量化的上述变换系数信号编码。上述环路滤波部对上述编码对象块应用滤波。
此外,例如上述熵编码部在动作中将图像编码;在上述图像的编码中,将上述图像的系数信息二值化;控制是否对上述系数信息被二值化后的二值化数据序列应用算术编码;输出包含被应用了算术编码或没有被应用算术编码的上述二值化数据序列的比特序列;在上述系数信息的二值化中,在对上述二值化数据序列应用算术编码、并且不满足规定的条件的情况下,将上述系数信息按照第1语法构造二值化;在对上述二值化数据序列应用算术编码、并且满足上述规定的条件的情况下,将上述系数信息按照与上述第1语法构造不同的第2语法构造二值化;在不对上述二值化数据序列应用算术编码的情况下,将上述系数信息按照上述第2语法构造二值化。
此外,例如有关本发明的一技术方案的解码装置,是使用预测图像将运动图像解码的解码装置,具备熵解码部、逆量化部、逆变换部、帧内预测部、帧间预测部、预测控制部、加法部(重构部)和环路滤波部。
上述熵解码部将构成上述运动图像的解码对象图片中的解码对象块的已量化的变换系数信号解码。上述逆量化部将已量化的上述变换系数信号逆量化。上述逆变换部将上述变换系数信号逆变换,取得上述解码对象块的预测残差信号。
上述帧内预测部进行帧内预测,该帧内预测使用上述解码对象图片中的参照图像生成上述解码对象块的上述预测图像。上述帧间预测部进行帧间预测,该帧间预测使用与上述解码对象图片不同的参照图片中的参照图像生成上述解码对象块的上述预测图像。上述预测控制部控制上述帧内预测部进行的帧内预测及上述帧间预测部进行的帧间预测。
上述加法部将由上述帧内预测部或上述帧间预测部生成的上述预测图像与上述预测残差信号相加,重构上述解码对象块的图像。上述环路滤波部对上述解码对象块应用滤波。
此外,例如上述熵解码部在动作中将图像解码;在上述图像的解码中,取得包含上述图像的系数信息被二值化后的二值化数据序列的比特序列;控制是否对上述二值化数据序列应用算术解码;将被应用了算术解码或没有被应用算术解码的上述二值化数据序列逆二值化;在上述二值化数据序列的逆二值化中,在对上述二值化数据序列应用算术解码、并且不满足规定的条件的情况下,将上述二值化数据序列按照第1语法构造逆二值化;在对上述二值化数据序列应用算术解码、并且满足上述规定的条件的情况下,将上述二值化数据序列按照与上述第1语法构造不同的第2语法构造逆二值化;在不对上述二值化数据序列应用算术解码的情况下,将上述二值化数据序列按照上述第2语法构造逆二值化。
进而,这些包含性或具体的技术方案也可以由***、装置、方法、集成电路、计算机程序或计算机可读取的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 binarytree)划分的情况。
另外,在图3中,将1个块划分为4个或2个块(四叉树或二叉树块划分),但划分并不限定于这些。例如,也可以将1个块划分为3个块(三叉树块划分)。有将包括这样的三叉树块划分的划分称作MBT(多类型树,multi type tree)划分的情况。
[图片的构成切片(slice)/瓦片(tile)]
为了将图片并行地解码,有将图片用切片单位或瓦片单位构成的情况。由切片单位或瓦片单位构成的图片也可以由划分部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-separable secondary transform)的情况。例如,变换部106按照与帧内预测误差对应的变换系数的块中包含的每个子块(例如4×4子块)进行再变换。将表示是否应用NSST的信息及关于被用于NSST的变换矩阵的信息通常以CU级别进行信号化。另外,这些信息的信号化不需要限定于CU级别,也可以是其他的级别(例如,序列级别、图片级别、切片级别、瓦片级别或CTU级别)。
在变换部106中,也可以应用可分(Separable)的变换和不可分(Non-Separable)的变换。可分的变换,是以输入的维度的数量按照每个方向分离而进行多次变换的方式,不可分的变换,是当输入为多维度时将2个以上的维度一起看作一维、一起进行变换的方式。
例如,作为不可分的变换的一例,可以举出在输入是4×4的块的情况下将其看作拥有16个要素的一个排列,对该排列以16×16的变换矩阵进行变换处理那样的例子。
此外,在不可分的变换的进一步的例子中,也可以在将4×4的输入块看作拥有16个要素的一个排列后,对该排列进行多次Givens旋转那样的变换(超立方体吉文斯变换,Hypercube Givens Transform)。
在变换部106中的变换中,也可以根据CU内的区域而切换变换为频率区域的基础的类型。作为一例,有SVT(空间变化变换,Spatially Varying Transform)。在SVT中,如图5B所示,在水平或垂直方向上将CU二等分,仅进行将某一方的区域向频率区域的变换。变换基础的类型可以按照每个区域设定,例如使用DST7和DCT8。在本例中,在CU内的2个区域中,仅对某一方进行变换,不对另一方进行变换,但也可以对2个区域都进行变换。此外,划分方法也不仅是2等分,也可以进行4等分,或者将表示划分的信息另外编码,与CU划分同样地进行信号化等而灵活地对应。另外,也有将SVT称作SBT(子块变换,Sub-block Transform)的情况。
[量化部]
量化部108将从变换部106输出的变换系数量化。具体而言,量化部108将当前块的变换系数以规定的扫描顺序扫描,基于与被扫描的变换系数对应的量化参数(QP)将该变换系数量化。并且,量化部108将当前块的被量化的变换系数(以下称作量化系数)向熵编码部110及逆量化部112输出。也可以预先设定规定的扫描顺序。
规定的扫描顺序是用于变换系数的量化/逆量化的顺序。例如,规定的扫描顺序也可以以频率的升序(从低频到高频的顺序)或降序(从高频到低频的顺序)定义。
量化参数(QP)是定义量化步长(量化宽度)的参数。例如,如果量化参数的值增加,则量化步长也增加。即,如果量化参数的值增加,则量化误差增大。
此外,有在量化中使用量化矩阵的情况。例如,有对应于4×4及8×8等的频率变换尺寸、帧内预测及帧间预测等的预测模式和亮度及色差等的像素成分而使用多种量化矩阵的情况。另外,量化是指将以规定的间隔采样的值与规定的级别建立对应而数字化,在该技术领域中,既可以使用取整、舍入、缩放等的其他表现来参照,也可以采用取整、舍入、缩放。也可以预先设定规定的间隔及级别。
作为使用量化矩阵的方法,有使用在编码装置侧直接设定的量化矩阵的方法和使用默认的量化矩阵(默认矩阵)的方法。在编码装置侧,通过直接设定量化矩阵,能够设定与图像的特征对应的量化矩阵。但是,在此情况下,有通过量化矩阵的编码而代码量增加的缺点。
另一方面,也有不使用量化矩阵而将高频分量的系数及高频分量的系数都同样地量化的方法。另外,该方法等于使用系数全部为相同值的量化矩阵(平坦的矩阵)的方法。
量化矩阵例如也可以由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子块)分类为多个类(class)(例如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输出。
开关1202在由边界判定部1201判定为对象像素存在于块边界附近的情况下,将滤波处理前的图像向开关1204输出。相反,在由边界判定部1201判定为对象像素不存在于块边界附近的情况下,开关1202将滤波处理前的图像向开关1206输出。
滤波判定部1203基于处于对象像素的周边的至少1个周边像素的像素值,判定是否对对象像素进行解块滤波处理。并且,滤波判定部1203将该判定结果向开关1204及处理判定部1208输出。
在由滤波判定部1203判定为对对象像素进行解块滤波处理的情况下,开关1204将经由开关1202取得的滤波处理前的图像向滤波处理部1205输出。相反,在由滤波判定部1203判定为对对象像素不进行解块滤波处理的情况下,开关1204将经由开关1202取得的滤波处理前的图像向开关1206输出。
滤波处理部1205在经由开关1202及1204取得了滤波处理前的图像的情况下,对对象像素执行具有由滤波特性决定部1207决定的滤波特性的解块滤波处理。并且,滤波处理部1205将该滤波处理后的像素向开关1206输出。
开关1206根据由处理判定部1208进行的控制,将没有被解块滤波处理的像素和被滤波处理部1205解块滤波处理后的像素有选择地输出。
处理判定部1208基于边界判定部1201及滤波判定部1203各自的判定结果,对开关1206进行控制。即,处理判定部1208在由边界判定部1201判定为对象像素存在于块边界附近、并且由滤波判定部1203判定为对对象像素进行解块滤波处理的情况下,使被解块滤波处理后的像素从开关1206输出。此外,在上述的情况以外,处理判定部1208使没有被解块滤波处理的像素从开关1206输出。通过反复进行这样的像素的输出,将滤波处理后的图像从开关1206输出。
图8是表示具有相对于块边界对称的滤波特性的解块滤波器的例子的概念图。
在解块滤波处理中,例如使用像素值和量化参数,选择特性不同的2个解块滤波器、即强滤波器及弱滤波器中的某1个。在强滤波器中,如图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(预测单元,Prediction Unit)或TU(变换单元,Transform Unit)的边界。解块滤波处理可以以4行或4列为单位进行。首先,对于图9所示的块P及块Q,如图10那样决定Bs(边界强度,BoundaryStrength)值。
按照图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中生成的多个预测图像中的某1个(步骤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(位置相关帧内预测组合,positiondependent intra prediction combination)的情况。将表示PDPC的应用的有无的信息(例如称作PDPC标志)通常以CU级别信号化。另外,该信息的信号化并不需要限定于CU级别,也可以是其他的级别(例如,序列级别、图片级别、切片级别、瓦片级别或CTU级别)。
[帧间预测部]
帧间预测部126通过参照保存在帧存储器122中、并且与当前图片不同的参照图片进行当前块的帧间预测(也称作画面帧间预测),生成预测信号(帧间预测信号)。帧间预测以当前块或当前块内的当前子块(例如4×4块)的单位进行。例如,帧间预测部126对于当前块或当前子块在参照图片内进行运动探索(motion estimation),找到与该当前块或当前子块最一致的参照块或子块。并且,帧间预测部126取得对从参照块或子块向当前块或子块的运动或变化进行补偿的运动信息(例如运动向量)。帧间预测部126基于该运动信息进行运动补偿(或运动预测),生成当前块或子块的帧间预测信号。帧间预测部126将所生成的帧间预测信号向预测控制部128输出。
也可以将在运动补偿中使用的运动信息以多种多样的形态信号化为帧间预测信号。例如,也可以将运动向量信号化。作为另一例,也可以将运动向量与预测运动向量(motion vector predictor)之间的差信号化。
[帧间预测的基本流程]
图15是表示帧间预测的基本的流程的一例的流程图。
帧间预测部126首先生成预测图像(步骤Se_1~Se_3)。接着,减法部104生成当前块与预测图像的差作为预测残差(步骤Se_4)。
这里,帧间预测部126在预测图像的生成中,通过进行当前块的运动向量(MV)的决定(步骤Se_1及Se_2)和运动补偿(步骤Se_3),生成其预测图像。此外,帧间预测部126在MV的决定中,通过进行候选运动向量(候选MV)的选择(步骤Se_1)和MV的导出(步骤Se_2),决定其MV。候选MV的选择例如通过从候选MV列表中选择至少1个候选MV来进行。此外,在MV的导出中,帧间预测部126也可以通过从至少1个候选MV中再选择至少1个候选MV,将该选择的至少1个候选MV决定为当前块的MV。或者,帧间预测部126也可以通过对该被选择的至少1个候选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是表示运动向量导出的另一例的流程图。
在将差MV编码的模式中,帧间预测部126导出当前块的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的模式。
具体而言,如图示那样,帧间预测部126在帧间预测模式信息示出0的情况下(Sf_1中为0),通过合并模式导出运动向量(Sf_2)。此外,帧间预测部126在帧间预测模式信息示出1的情况下(Sf_1中为1),通过FRUC模式导出运动向量(Sf_3)。此外,帧间预测部126在帧间预测模式信息示出2的情况下(Sf_1中为2),通过仿射模式(具体而言,仿射合并模式)导出运动向量(Sf_4)。此外,帧间预测部126在帧间预测模式信息示出3的情况下(Sf_1中为3),通过将差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(解码器运动矢量细化,decoder motion vector refinement)处理,来决定最终的MV。
另外,预测MV的候选是上述的候选MV,预测MV列表是上述的候选MV列表。此外,也可以将候选MV列表称作候选列表。此外,merge_idx是MV选择信息。
[MV导出>FRUC模式]
也可以不从编码装置侧对运动信息进行信号化而在解码装置侧导出运动信息。另外,如上述那样,也可以使用由H.265/HEVC规格规定的合并模式。此外,例如也可以通过在解码装置侧进行运动探索来导出运动信息。在实施方式中,在解码装置侧,不使用当前块的像素值而进行运动探索。
这里,对在解码装置侧进行运动探索的模式进行说明。有将该在解码装置侧进行运动探索的模式称作PMMVD(模式匹配运动矢量推导,pattern matched motion vectorderivation)模式或FRUC(帧速率向上转换,frame rate up-conversion)模式的情况。
在图22中以流程图的形式表示FRUC处理的一例。首先,参照与当前块在空间上或时间上邻接的已编码块的运动向量,生成分别具有预测运动向量(MV)的多个候选的列表(即,是候选MV列表,也可以与合并列表共通)(步骤Si_1)。接着,从登记在候选MV列表中的多个候选MV之中选择最佳候选MV(步骤Si_2)。例如,计算包含在候选MV列表中的各候选MV的评价值,基于评价值选择1个候选MV。并且,基于所选择的候选的运动向量,导出用于当前块的运动向量(步骤Si_4)。具体而言,例如将所选择的候选的运动向量(最佳候选MV)原样作为用于当前块的运动向量导出。此外,例如也可以通过在与所选择的候选的运动向量对应的参照图片内的位置的周边区域中进行样式匹配,来导出用于当前块的运动向量。即,也可以对于最佳候选MV的周边的区域,进行使用参照图片的样式匹配及评价值的探索,在有评价值为更好的值的MV的情况下,将最佳候选MV更新为上述MV,将其作为当前块的最终的MV。也可以做成不实施更新至具有更好的评价值的MV的处理的构成。
最后,帧间预测部126通过使用该导出的MV和已编码参照图片对当前块进行运动补偿,生成该当前块的预测图像(步骤Si_5)。
在以子块单位进行处理的情况下也可以也进行完全同样的处理。
评价值也可以通过各种方法计算。例如,将与运动向量对应的参照图片内的区域的重构图像与规定的区域(该区域例如如以下所示,也可以是其他参照图片的区域或当前图片的邻接块的区域)的重构图像比较。也可以预先设定规定的区域。
并且,也可以计算2个重构图像的像素值的差,用于运动向量的评价值。另外,也可以除了差值以外还使用其以外的信息来计算评价值。
接着,对样式匹配的例子详细地进行说明。首先,选择包含在候选MV列表(例如合并列表)中的1个候选MV作为基于样式匹配的探索的开始点。例如,作为样式匹配,可以使用第1样式匹配或第2样式匹配。有将第1样式匹配及第2样式匹配分别称作双向匹配(bilateral matching)及模板匹配(template matching)的情况。
[MV导出>FRUC>双向匹配]
在第1样式匹配中,在不同的2个参照图片内的、沿着当前块的运动轨迹(motiontrajectory)的2个块之间进行样式匹配。因而,在第1样式匹配中,作为上述的用于候选的评价值的计算的规定的区域,使用沿着当前块的运动轨迹的其他参照图片内的区域。也可以预先设定规定的区域。
图23是用来说明沿着运动轨迹的2个参照图片的2个块间的第1样式匹配(双向匹配)的一例的概念图。如图23所示,在第1样式匹配中,通过在沿着当前块(Cur block)的运动轨迹的、不同的2个参照图片(Ref0、Ref1)内的2个块的对(pair)之中探索最匹配的对,导出2个运动向量(MV0、MV1)。具体而言,作为当前块,导出由候选MV指定的第1已编码参照图片(Ref0)内的指定位置处的重构图像、与由对称MV指定的第2已编码参照图片(Ref1)内的指定位置处的重构图像的差,使用得到的差值计算评价值,上述对称MV是将上述候选MV以显示时间间隔缩放后的MV。可以在多个候选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 compensation prediction)模式的情况。
图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所示,在当前块的左方邻接的块A被用具有2个控制点的仿射模式编码的情况下,导出投影在包括块A的已编码块的左上角及右上角的位置的运动向量v3及v4。并且,根据导出的运动向量v3及v4,计算当前块的左上角的控制点的预测运动向量v0和右上角的控制点的预测运动向量v1
例如,如图26C所示,在当前块的左方邻接的块A被用具有3个控制点的仿射模式编码的情况下,导出投影在包括块A的已编码块的左上角、右上角及左下角的位置的运动向量v3、v4及v5。并且,根据所导出的运动向量v3、v4及v5,计算当前块的左上角的控制点的预测运动向量v0、右上角的控制点的预测运动向量v1和左下角的控制点的预测运动向量v2
另外,在后述的图29的步骤Sj_1中的当前块的控制点各自的预测运动向量的导出中也可以使用该预测运动向量导出方法。
图27是表示仿射合并模式的一例的流程图。
在仿射合并模式中,如图示那样,首先,帧间预测部126导出当前块的控制点各自的预测MV(步骤Sk_1)。控制点如图25A所示那样是当前块的左上角及右上角的点,或者如图25B所示那样是当前块的左上角、右上角及左下角的点。
即,帧间预测部126如图26A所示,以已编码块A(左)、块B(上)、块C(右上)、块D(左下)及块E(左上)的顺序检查这些块,确定以仿射模式编码的最初的有效的块。
并且,在确定了块A且块A具有2个控制点的情况下,如图26B所示,帧间预测部126根据包括块A的已编码块的左上角及右上角的运动向量v3及v4,计算当前块的左上角的控制点的运动向量v0和右上角的控制点的运动向量v1。例如,帧间预测部126通过将已编码块的左上角及右上角的运动向量v3及v4投影到当前块中,计算当前块的左上角的控制点的预测运动向量v0与右上角的控制点的预测运动向量v1计算。
或者,在确定了块A且块A具有3个控制点的情况下,如图26C所示,帧间预测部126根据包括块A的已编码块的左上角、右上角及左下角的运动向量v3、v4及v5,计算当前块的左上角的控制点的运动向量v0、右上角的控制点的运动向量v1、左下角的控制点的运动向量v2。例如,帧间预测部126通过将已编码块的左上角、右上角及左下角的运动向量v3、v4及v5投影到当前块中,计算当前块的左上角的控制点的预测运动向量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导出>仿射帧间模式]
在将不同的控制点数(例如2个和3个)仿射模式以CU级别切换而进行信号化的情况下,有在已编码块和当前块中控制点的数量不同的情况。图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)。这里,帧间预测部126如果判定为没有进行运动探索(步骤Sl_2的否),则将在步骤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)。这里,帧间预测部126如果判定为进行修正处理(步骤Sn_3的是),则通过将该预测图像修正,生成最终的预测图像(步骤Sn_4)。另一方面,帧间预测部126如果判定为不进行修正处理(步骤Sn_3的否),则将该预测图像不修正而作为最终的预测图像输出(步骤Sn_5)。
此外,在运动补偿中,有在生成预测图像时将亮度修正的模式。该模式例如是后述的LIC。
图34是表示预测图像的生成的另一例的流程图。
帧间预测部126导出当前块的运动向量(步骤So_1)。接着,帧间预测部126判定是否进行亮度修正处理(步骤So_2)。这里,帧间预测部126如果判定为进行亮度修正处理(步骤So_2的是),则一边进行亮度修正一边生成预测图像(步骤So_3)。即,通过LIC生成预测图像。另一方面,帧间预测部126如果判定为不进行亮度修正处理(步骤So_2的否),则不进行亮度修正而通过通常的运动补偿生成预测图像(步骤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个路径或其以上个路径的修正方法。
另外,进行叠合的区域也可以不是块整体的像素区域,而仅是块边界附近的一部分的区域。
另外,这里对用来通过从1张参照图片叠合追加的预测图像Pred_L及Pred_U而得到1张预测图像Pred的OBMC的预测图像修正处理进行了说明。但是,在基于多个参照图像将预测图像修正的情况下,也可以对多个参照图片各自应用同样的处理。在这样的情况下,通过进行基于多个参照图片的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-directionaloptical 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),也可以采用以下的光流等式(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处理而进行编码。另外,在该例的情况下,也在解码装置侧的处理中应用相同的处理。
对于LIC处理(亮度修正处理)的技术方案使用图39进行了说明,以下说明其详细情况。
首先,帧间预测部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也可以是磁盘或光盘等,也可以表现为存储设备或记录介质等。此外,存储器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个独立切片段及全部从属切片段(如果有)中包含的整数个编码树单元,该从属切片段先行于相同访问单元内的下个独立切片段(如果有)。
瓦片是图片中的特定的瓦片列及特定的瓦片行内的多个编码树块的矩形区域。瓦片依然也可以应用跨瓦片的边缘的环路滤波,但也可以是想要能够独立地被解码及编码的帧中的矩形区域。
块是多个样本的M×N(N行M列)排列或多个变换系数的M×N排列。块也可以是由1个亮度及2个色差的多个矩阵构成的多个像素的正方形或矩形的区域。
CTU(编码树单元)既可以是具有3个样本排列的图片的多个亮度样本的编码树块,也可以是多个的2个对应色差样本的编码树块。或者,CTU也可以是图片的多个样本的编码树块,该图片是单色图片、使用在3个分离的彩色平面及多个样本的编码中被使用的语法构造编码的图片中的某种图片。
超级块也可以构成1个或2个模式信息块,或者64×64像素的正方形块,该64×64像素的正方形块能够进一步被划分而递归性地划分为4个32×32块。
[编码装置的熵编码部的详细情况]
在本实施方式中,可以应用CABAC跳过模式。CABAC跳过模式也可以表现为算术编码跳过模式或算术解码跳过模式。
图47是表示有关本实施方式的编码装置100的熵编码部110的详细的功能构成的框图。熵编码部110通过对图像的系数信息应用可变长编码,生成比特序列,将所生成的比特序列输出。该比特序列与被编码的图像对应,也被称作编码信号、编码比特流或编码比特序列。
在图47的例子中,熵编码部110具备二值化部132、切换部134、中间缓存136、算术编码部138、切换部140和复用部142。并且,熵编码部110生成比特序列,通过将所生成的比特序列输出,将所生成的比特序列向输出缓存144保存。被向输出缓存144保存的比特序列被适当从输出缓存144输出。熵编码部110也可以包括输出缓存144。
[熵编码部的二值化部]
二值化部132将系数等二值化。具体而言,二值化部132将被量化的频率变换系数等变换为例如由0或1表现的值的数据序列,将得到的数据序列输出。以下,将该数据序列也称作二值化数据序列。此外,由二值化部132进行的二值化基本上是用于算术编码的二值化,更具体地讲是用来进行二值算术编码的二值化。即,二值化部132基本上按照用于算术编码的二值化导出图像信息的二值化数据序列。
另外,作为二值化的方式,有一元二值化(unary binarization)、截断一元二值化(truncated unary binarization)、一元/k阶指数哥伦布结合二值化、固定长二值化及表参照等。
此外,例如通过二值化部132的二值化及算术编码部138的算术编码,进行上下文自适应二值算术编码方式(Context-based Adaptive Binary Arithmetic Coding)的熵编码。上下文自适应二值算术编码方式也被称作CABAC。由二值化部132进行的二值化也可以表现为用于上下文自适应二值算术编码方式的二值化。
[熵编码部的切换部]
切换部134及140按照模式信息连动动作,切换是否对二值化数据序列应用算术编码。例如,切换部134及140按照被从编码装置100的外部给出的模式信息,切换是否对二值化数据序列应用算术编码。模式信息也可以从用户或上位***等作为指示给出。
例如,该模式信息表示CABAC跳过模式是有效还是无效,即是否应用CABAC跳过模式。并且,例如在CABAC跳过模式是无效的情况下,对于二值化数据序列应用算术编码,在CABAC跳过模式是有效的情况下,对于二值化数据序列不应用算术编码。
具体而言,在CABAC跳过模式是无效的情况下,切换部134通过将从二值化部132输出的二值化数据序列向中间缓存136输出,将二值化数据序列保存到中间缓存136中。并且,算术编码部138对保存在中间缓存136中的二值化数据序列应用算术编码,将被应用算术编码后的二值化数据序列输出。切换部140将从算术编码部138输出的二值化数据序列向复用部142输出。
另一方面,在CABAC跳过模式是有效的情况下,切换部134将从二值化部132输出的二值化数据序列原样向切换部140输出。并且,切换部140将从切换部134输出的二值化数据序列向复用部142输出。即,算术编码被旁路(bypass)。另外,为了避免与作为算术编码的一形态的旁路算术编码的混淆,有把将算术编码旁路表现为将算术编码跳过的情况。
表示CABAC跳过模式是有效还是无效的信息例如被作为用户的指示或上位***的指示从编码装置100的外部输入。
[熵编码部的中间缓存]
中间缓存136是用来保存二值化数据序列的存储部,也被称作中间存储器。在由算术编码部138进行的算术编码中发生延迟。此外,延迟量根据二值化数据序列的内容而波动。通过中间缓存136,将延迟量的波动吸收,平滑地进行后续的处理。另外,向中间缓存136等的存储部输入数据,对应于将数据向存储部保存,从存储部输出数据,对应于从存储部将数据读出。
[熵编码部的算术编码部]
算术编码部138进行算术编码。具体而言,算术编码部138将保存在中间缓存136中的二值化数据序列读出,对二值化数据序列应用算术编码。算术编码部138也可以对于二值化数据序列应用与上下文自适应二值算术编码方式对应的算术编码。
例如,算术编码部138按照数据类别等的上下文选择值的发生概率,按照所选择的发生概率进行算术编码,按照算术编码的结果将发生概率更新。即,算术编码部138按照可变的发生概率进行算术编码。按照可变的发生概率进行的算术编码也被称作上下文适应算术编码。
此外,算术编码部138也可以对于特定的数据类别等按照固定的发生概率进行算术编码。具体而言,作为0或1的发生概率,算术编码部138也可以按照50%的发生概率进行算术编码。按照固定的发生概率进行的算术编码也被称作旁路算术编码。
[熵编码部的复用部]
复用部142将表示CABAC跳过模式是有效还是无效的模式信息和被算术编码或没有被算术编码的二值化数据序列复用,生成包含模式信息及二值化数据序列的比特序列。
并且,复用部142通过将比特序列向输出缓存144输出,将比特序列向输出缓存144保存。保存在输出缓存144中的比特序列被适当从输出缓存144输出。即,复用部142经由输出缓存144将比特序列输出。
例如,表示CABAC跳过模式是有效还是无效的模式信息也可以作为上位的参数包含在比特序列中。具体而言,模式信息也可以包含在比特序列的SPS(序列参数集)中,也可以包含在比特序列的PPS(图片参数集)中,也可以包含在比特序列的切片头中。包含在比特序列中的模式信息用1个以上的比特表现。
并且,二值化数据序列也可以包含在切片数据中。这里,二值化数据序列既可以是被应用算术编码的二值化数据序列,也可以是没有被应用算术编码的二值化数据序列。
此外,比特序列中包含的模式信息也可以被表现为是否对比特序列中包含的二值化数据序列应用了算术编码的应用信息。换言之,模式信息也可以作为表示是否对二值化数据序列应用了算术编码的应用信息包含在比特序列中。该应用信息可以表示比特序列是否包含被应用了算术编码的二值化数据序列、比特序列是否包含没有被应用算术编码的二值化数据序列。
另外,在表示CABAC跳过模式是有效还是无效的模式信息在收发装置间由上位***交换或预先规定的情况下等,也可以在比特序列中不包含模式信息。即,在此情况下,也可以不进行复用。
[输出缓存]
输出缓存144是用来保存比特序列的存储部,也被称作CPB(Coded PictureBuffer:编码图片缓存)或输出存储器。通过编码装置100将图像信息编码而得到的比特序列被保存在输出缓存144中。并且,保存在输出缓存144中的比特序列被适当输出,与例如编码音频信号等复用。
[编码处理的CABAC跳过模式]
例如,在希望以低延迟进行处理的***中,CABAC跳过模式被设定为有效。由此,能够不进行算术编码处理及关于它的缓存控制处理而生成比特序列,能够进行更低延迟的编码处理。
另外,使用图47说明的处理块构成是一例,也可以使用其以外的处理块构成。
[解码装置的熵解码部的详细情况]
图48是表示有关本实施方式的解码装置200的熵解码部202的详细的功能构成的框图。熵解码部202通过对经由输入缓存232被输入的比特序列进行熵解码,导出系数等。该比特序列例如是由图47所示的编码装置100生成的比特序列,可以具有上述的数据构成。
在图48的例子中,熵解码部202具备分离部234、切换部236、算术解码部238、中间缓存240、切换部242和逆二值化部244。熵解码部202也可以包括输入缓存232。
[输入缓存]
输入缓存232是用来保存比特序列的存储部,也被称作CPB或输入存储器。将由解码装置200解码的比特序列例如从编码音频信号等分离,保存到输入缓存232中。并且,解码装置200将保存在输入缓存232中的比特序列读出,将比特序列解码。
[熵解码部的分离部]
分离部234从输入缓存232取得比特序列,将模式信息和二值化数据序列从比特序列分离,将模式信息和二值化数据序列输出。即,分离部234经由输入缓存232取得包括模式信息和二值化数据序列的比特序列,将比特序列中包含的模式信息和二值化数据序列输出。二值化数据序列既可以是被应用了算术编码的二值化数据序列,也可以是没有被应用算术编码的二值化数据序列。
如上述那样,模式信息也可以表现为是否对比特序列中包含的二值化数据序列应用算术编码的应用信息。并且,在由上位***交换了模式信息的情况下、或预先设定了模式信息的情况下等,也可以在比特序列中不包含模式信息。在此情况下,也可以不进行模式信息的分离及输出。此外,模式信息也可以从解码装置200的外部、具体而言从用户或上位***等作为指示给出。
另外,在表示CABAC跳过模式是有效还是无效的模式信息在收发装置间由上位***交换或预先设定的情况下等,也可以在比特序列中不包含模式信息。即,在此情况下,也可以不进行模式信息的分离及输出,而仅输出被算术编码或没有被算术编码的二值化数据序列。此外,模式信息也可以从解码装置200的外部、具体而言从用户或上位***等作为指示给出。
[熵解码部的切换部]
切换部236及242按照从分离部234等得到的模式信息而连动动作,切换是否对二值化数据序列应用算术解码。例如,在CABAC跳过模式为无效的情况下,对二值化数据序列应用算术解码,在CABAC跳过模式为有效的情况下,不对二值化数据序列应用算术解码。
具体而言,在CABAC跳过模式为无效的情况下,切换部236将从分离部234输出的二值化数据序列向算术解码部238输出。并且,算术解码部238对二值化数据序列应用算术解码,通过将被应用了算术解码的二值化数据序列输出,将被应用了算术解码的二值化数据序列保存到中间缓存240中。
切换部242适当取得保存在中间缓存240中的二值化数据序列,将从中间缓存240取得的二值化数据序列向逆二值化部244输出。
另一方面,在CABAC跳过模式为有效的情况下,切换部236将从分离部234输出的二值化数据序列原样向切换部242输出。并且,切换部242将从切换部236输出的二值化数据序列向逆二值化部244输出。即,算术解码被旁路。另外,为了避免与作为算术解码的一形态的旁路算术解码的混淆,有把将算术解码旁路表现为将算术解码跳过的情况。
[熵解码部的算术解码部]
算术解码部238进行算术解码。具体而言,算术解码部238对被应用了算术编码的二值化数据序列应用算术解码,通过将被应用了算术解码的二值化数据序列输出,将被应用了算术解码的二值化数据序列保存到中间缓存240中。被应用了算术解码的二值化数据序列与没有被应用算术编码的原来的二值化数据序列对应。算术解码部238也可以对二值化数据序列应用与上下文自适应二值算术编码方式对应的算术解码。
例如,算术解码部238按照数据类别等的上下文选择值的发生概率,按照所选择的发生概率进行算术解码,按照算术解码的结果将发生概率更新。即,算术解码部238按照可变的发生概率进行算术解码。按照可变的发生概率进行的算术解码也被称作上下文适应算术解码。
此外,算术解码部238也可以对特定的数据类别等按照固定的发生概率进行算术解码。具体而言,作为0或1的发生概率,算术解码部238也可以按照50%的发生概率进行算术解码。按照固定的发生概率进行的算术解码也被称作旁路算术解码。
[熵解码部的中间缓存]
中间缓存240是用来将算术解码后的二值化数据序列保存的存储部,也被称作中间存储器。在由算术解码部238进行的算术解码中,发生延迟。此外,延迟量根据二值化数据序列的内容而波动。由中间缓存240将延迟量的波动吸收,平滑地进行后续的处理。
[熵解码部的逆二值化部]
逆二值化部244通过对二值化数据序列进行逆二值化,导出量化系数等。具体而言,逆二值化部244将例如用0或1表现的值的二值化数据序列变换为量化的频率变换系数等,将量化的频率变换系数等向逆量化部204输出。此外,由逆二值化部244进行的逆二值化基本上是与用于算术编码的二值化对应的逆二值化,更具体地讲是与用来进行二值算术编码的二值化对应的逆二值化。
此外,例如通过由算术解码部238的算术解码及逆二值化部244的逆二值化进行上下文自适应二值算术编码方式的熵解码。即,逆二值化部244也可以进行遵循上下文自适应二值算术编码方式的逆二值化。此外,逆二值化也被称作多值化。
[解码处理的CABAC跳过模式]
例如,在被希望以低延迟进行处理的***中,CABAC跳过模式被设定为有效。由此,能够不进行算术解码处理及关于它的缓存控制处理而将比特序列解码,能够进行更低延迟的解码处理。
另外,使用图48说明的处理块构成是一例,也可以使用其以外的处理块构成。
[算术编码及算术解码的应用有无]
本实施方式的编码装置100及解码装置200特别对于要求在短时间中进行编码及解码的实时通信***等是有用的。具体而言,编码装置100及解码装置200对于电视会议***或电子镜等是有用的。例如,在这些***环境中,CABAC跳过模式被设定为有效。
此外,基本上应用信息表示是否以包括1个以上的切片或1个以上的图片的单位包含性地对比特序列中包含的二值化数据序列应用了算术编码。并且,以包括1个以上的切片或1个以上的图片的单位包含性地进行算术编码的应用有无的切换。
但是,也可以以更细小的单位进行算术编码的应用有无的切换。例如,在特定的数据类别中,也可以将算术编码及算术解码跳过。更具体地讲,也可以代替旁路算术编码及旁路算术解码而进行算术编码及算术解码的跳过。
此外,例如也可以进行上下文算术编码、旁路算术编码和算术编码的跳过的切换。同样,也可以进行上下文算术解码、旁路算术解码和算术解码的跳过的切换。
此外,表示是否对二值化数据序列应用算术编码的应用信息既可以用1比特的标志表现,也可以用其他形式表现。例如,通过将表示对二值化数据序列应用了算术编码的信息追加到比特序列中,比特序列能够包含被追加的信息作为应用信息。或者,通过将表示没有对二值化数据序列应用算术编码的信息追加到比特序列中,比特序列能够包含被追加的信息作为应用信息。
此外,应用信息也可以作为与其他信息共通的信息而包含在比特序列中。例如,在表示图片的类别的信息包含在比特序列中、并且根据图片的类别来切换算术编码的应用有无的情况下,表示图片的类别的信息也可以是应用信息。
[语法构造的切换]
根据是否应用算术编码及算术解码,代码量有可能较大地不同。特别是,图像的系数信息的信息量较大。因而,在关于系数信息不使用算术编码及算术解码的情况下,代码量有可能变得非常大。
所以,例如编码装置100的二值化部132关于系数信息,在应用算术编码的情况和不应用算术编码的情况下以不同的二值化形式进行二值化。同样,解码装置200的逆二值化部244关于系数信息,在应用算术编码的情况和不应用算术编码的情况下以不同的逆二值化形式进行逆二值化。
对于编码装置100的二值化部132,也可以与编码装置100的切换部134及140同样赋予模式信息。并且,编码装置100的二值化部132也可以取得被赋予的模式信息,按照模式信息来切换系数信息的二值化形式。
同样,解码装置200的逆二值化部244也可以与解码装置200的切换部236及242同样被赋予模式信息。并且,解码装置200的逆二值化部244也可以取得被赋予的模式信息,按照模式信息来切换系数信息的逆二值化形式。
例如,对于系数信息,也可以在CABAC跳过模式为有效的情况和CABAC跳过模式为无效的情况下应用不同的语法构造。但是,CABAC跳过模式为有效的情况下的语法构造也可以与CABAC跳过模式为无效且满足规定的条件的情况下的语法构造相同。由此,抑制了电路规模的增大。
[系数编码方法的第1例]
图49是用来说明本技术方案的系数编码处理的第1例的图。例如,编码装置100的熵编码部110进行图49所示的动作。
在按每个TU(正交变换单元)的处理循环(S101~S108)中,首先,熵编码部110判定CABAC跳过模式是否为有效(S102)。CABAC跳过模式为有效,是指选择了将CABAC处理跳过的CABAC跳过模式作为动作模式。
并且,在CABAC跳过模式不为有效的情况下(S102中为“否”),熵编码部110再判定正交变换跳过模式是否为有效(S103)。正交变换跳过模式为有效,是指选择了将正交变换处理跳过的正交变换跳过模式作为动作模式。
在上述的2个判定都为假的情况下(S102中为“否”且S103中为“否”),熵编码部110以第1语法构造将系数二值化(S104)。另一方面,在上述的2个判定的至少某一方为真的情况下(S102中为“是”或S103中为“是”),熵编码部110以第2语法构造将系数二值化(S105)。
接着,熵编码部110再次判定CABAC跳过模式是否为有效(S106)。并且,在CABAC跳过模式不为有效的情况下(S106中为“否”),熵编码部110对系数被二值化的二值化数据序列进行CABAC处理,生成比特序列(S107)。另一方面,在CABAC跳过模式为有效的情况下(S106中为“是”),熵编码部110将系数被二值化的二值化数据序列原样作为比特序列输出。
另外,第1语法构造也可以是设想了进行CABAC处理的语法构造。具体而言,第1语法构造也可以是与第2语法构造相比被二值化的语法数较多、在语法之间值的相关性较高的语法构造。此外,第2语法构造也可以是与第1语法构造相比在语法之间值的相关性较低、被二值化的语法数较少的语法构造。
此外,这里的系数也可以是通过对图像的预测残差系数进行正交变换、再进行量化而得到的量化系数。或者,系数也可以是通过对图像的预测残差系数不进行正交变换而仅进行量化所得到的量化系数。或者,系数也可以是既不进行正交变换也不进行量化而得到的预测残差系数。
此外,这里使用按每个TU的循环,但该循环也可以不是按每个TU,而是按每个CU、按每个CTU、或按每个通过将TU再划分而得到的子TU等的循环。
此外,该处理流程是一例,也可以将所记载的处理的一部分去除,也可以追加没有记载的处理或条件判定。
此外,在上述中,说明了编码装置100的处理流程,但通过将处理的内容反转(例如,将二值化变更为逆二值化,将编码变更为解码),也能够将这里说明的处理流程对解码装置200应用。
[系数编码方法的第1例的效果]
通过使用图49说明的方法,在不进行CABAC处理的情况和不进行正交变换处理的情况下,能够按照共通的语法构造进行二值化。因而,能够在抑制电路规模的增加的同时,抑制最终生成的比特序列的量的增加,并抑制处理延迟的可能性变高。
[系数编码方法的第2例]
图50是用来说明本技术方案的系数编码处理的第2例的图。例如,编码装置100的熵编码部110进行图50所示的动作。
在本例中,在按每个TU的处理循环(S201~S210)中,包括按每个通过将TU再划分而得到的子TU的处理循环(S202~S207)。在按每个子TU的处理循环(S202~S207)中,首先,熵编码部110判定CABAC跳过模式是否为有效(S203)。
并且,在CABAC跳过模式不为有效的情况下(S203中为“否”),熵编码部110再进行以下的判定。具体而言,熵编码部110判定在处理对象TU内已经编码的语法中,被进行了非旁路CABAC处理的语法的个数是否是阈值以上(S204)。
在上述的2个判定都为假的情况下(S203中为“否”且S204中为“否”),熵编码部110以第1语法构造将系数二值化(S205)。另一方面,上述的2个判定的至少某一方为真的情况下(S203中为“是”或S204中为“是”),熵编码部110以第2语法构造将系数二值化(S206)。
接着,熵编码部110再次判定CABAC跳过模式是否为有效(S208)。并且,在CABAC跳过模式不为有效的情况下(S208中为“否”),熵编码部110对系数被二值化的二值化数据序列进行CABAC处理,生成比特序列(S209)。另一方面,在CABAC跳过模式为有效的情况下(S208中为“是”),熵编码部110将系数被二值化的二值化数据序列原样作为比特序列输出。
另外,第1语法构造也可以是设想了进行CABAC处理的语法构造。具体而言,第1语法构造也可以是与第2语法构造相比被二值化的语法数较多、在语法之间值的相关性较高的语法构造。此外,第2语法构造也可以是与第1语法构造相比在语法之间值的相关性较低、被二值化的语法数较少的语法构造。
此外,这里的系数也可以是通过对图像的预测残差系数进行正交变换、再进行量化而得到的量化系数。或者,系数也可以是通过对图像的预测残差系数不进行正交变换而仅进行量化所得到的量化系数。或者,系数也可以是既不进行正交变换也不进行量化而得到的预测残差系数。
此外,这里使用按每个TU的循环,但该循环也可以不是按每个TU,而是按每个CU或按每个CTU等的循环。此外,这里使用按每个子TU的循环,但该循环也可以不是按每个子TU,而是按每个系数或按每个被编码的语法等的循环。
此外,该处理流程是一例,也可以将所记载的处理的一部分去除,也可以追加没有记载的处理或条件判定。
此外,在上述中,说明了编码装置100的处理流程,但通过将处理的内容反转(例如,将二值化变更为逆二值化,将编码变更为解码),也能够将这里说明的处理流程对解码装置200应用。
[系数编码方法的第2例的效果]
通过使用图50说明的方法,在不进行CABAC处理的情况和进行了非旁路CABAC处理的语法的个数是是阈值以上的情况下,能够按照共通的语法构造进行二值化。因而,能够在抑制电路规模的增加的同时,抑制最终生成的比特序列的量的增加,并抑制处理延迟的可能性变高。
[系数编码方法的变形]
使用图49说明的方法,对应于在CABAC处理跳过模式为有效的情况和正交变换跳过模式为有效的情况下,按照共通的语法构造进行二值化的例子。使用图50说明的方法,对应于在CABAC处理跳过模式为有效的情况和进行了非旁路CABAC处理的语法的个数为阈值以上的情况下,按照共通的语法构造进行二值化的例子。
但是,用来使用共通的语法构造的规定的条件并不限于这些。也可以在满足其他规定的条件的情况下和CABAC处理跳过模式为有效的情况下,按照共通的语法构造进行二值化。此外,也可以预先设定规定的条件。
此外,也可以不使用完全共通的语法构造。也可以仅语法构造的一部分是共通,其他部分根据各自的条件而不同。例如,在共通的语法构造中,语法要素也可以根据条件而部分地不同。
此外,也可以不仅是将两种语法构造切换,而是将条件组合将3种以上的语法构造切换。具体而言,也可以除了上述的第1语法构造及第2语法构造以外还使用第3语法构造。
例如,在上述的例子中,在CABAC处理跳过模式为无效、不满足用来使用第2语法构造的条件的情况下,使用第1语法构造。但是,在此情况下,也可以在还满足用来使用第3语法构造的条件的情况下使用第3语法构造,在不满足用来使用第3语法构造的条件的情况下使用第1语法构造。
即,本实施方式在CABAC处理跳过模式为无效、不满足用来使用第2语法构造的条件的情况下,并不限定于总是使用第1语法构造,也可以容许使用第3语法构造。
[构成及处理的代表例]
以下表示上述所示的编码装置100及解码装置200的构成及处理的代表例。
图51是表示编码装置100的动作的流程图。例如,编码装置100具备电路及连接于电路的存储器。编码装置100具备的电路及存储器也可以与图40所示的处理器a1及存储器a2对应。编码装置100的电路进行图51所示的动作。具体而言,编码装置100的电路在动作中将图像编码(S301)。编码装置100的电路也可以将图像按每个块编码。
图52是表示图51所示的编码动作(S301)的具体例的流程图。例如,编码装置100的电路在图像的编码(S301)中进行图52所示的动作。
具体而言,编码装置100的电路将图像的系数信息二值化(S311)。并且,编码装置100的电路控制是否对系数信息被二值化的二值化数据序列应用算术编码(S312)。
即,编码装置100的电路判定是否对系数信息被二值化的二值化数据序列应用算术编码。这里,在判定为应用算术编码的情况下,编码装置100的电路对二值化数据序列应用算术编码。另一方面,在判定为不应用算术编码的情况下,编码装置100的电路对于二值化数据序列不应用算术编码。
并且,编码装置100的电路输出包含被应用了算术编码或没有被应用算术编码的二值化数据序列的比特序列(S313)。
例如,在判定为应用算术编码、对二值化数据序列应用了算术编码的情况下,编码装置100的电路输出包含被应用了算术编码的二值化数据序列的比特序列。另一方面,在判定为不应用算术编码、对于二值化数据序列没有应用算术编码的情况下,编码装置100的电路输出包含没有被应用算术编码的二值化数据序列的比特序列。
图53是表示图52所示的二值化动作(S311)的具体例的流程图。例如,编码装置100的电路在系数信息的二值化(S311)中进行图53所示的动作。
具体而言,编码装置100的电路按照是否对二值化数据序列应用算术编码(S321)以及是否满足规定的条件(S322),以第1语法构造或第2语法构造将系数信息二值化。例如,在对二值化数据序列应用算术编码、并且不满足规定的条件的情况下(S321中为“是”且S322中为“否”),编码装置100的电路按照第1语法构造将系数信息二值化(S323)。
此外,在对二值化数据序列应用算术编码、并且满足规定的条件的情况下(S321中为“是”且S322中为“是”),编码装置100的电路按照第2语法构造将系数信息二值化(S324)。这里,第2语法构造与第1语法构造不同。此外,在没有对二值化数据序列应用算术编码的情况下(S321中为“否”),编码装置100的电路按照第2语法构造将系数信息二值化(S324)。
由此,可以使不应用算术编码的情况下的语法构造和满足规定的条件的情况下的语法构造共通化。因而,能够在抑制电路规模的增大的同时,实现代码量的增大的抑制及处理延迟的抑制。
例如,规定的条件也可以是当根据图像的预测残差导出系数信息时正交变换处理被跳过的条件。由此,能够使不应用算术编码的情况下的语法构造和满足正交变换处理被跳过的规定的条件的情况下的语法构造共通化。因而,能够在抑制电路规模的增大的同时,实现代码量的增大的抑制及处理延迟的抑制。
此外,例如规定的条件也可以是在图像的包括处理对象块的区域中、按照CABAC以与旁路模式不同的模式进行了编码处理的语法要素的个数为阈值以上的条件。
由此,能够使不应用算术编码的情况下的语法构造和满足非旁路CABAC的语法数为阈值以上的规定的条件的情况下的语法构造共通化。因而,能够在抑制电路规模的增大的同时,实现代码量的增大的抑制及处理延迟的抑制。
此外,例如比特序列也可以在序列参数集、图片参数集或切片头中表示算术编码的应用是否有效。
由此,编码装置100能够在序列参数集、图片参数集或切片头中切换算术编码的应用是否有效。因而,编码装置100关于是否应用算术编码,能够抑制按每个数据类别的切换那样的频繁的切换。由此,能够实现代码量的增大的抑制及处理延迟的抑制。
此外,例如编码装置100的电路也可以以包括1个以上的切片或1个以上的图片的单位,包含性地切换是否应用算术编码。由此,编码装置100能够以较大的单位包含性地切换是否应用算术编码。因而,编码装置100关于是否应用算术编码,能够抑制按每个数据类别的切换那样的频繁的切换。由此,能够实现代码量的增大的抑制及处理延迟的抑制。
另外,由编码装置100的电路进行的上述的动作也可以由编码装置100的熵编码部110进行。
图54是表示解码装置200的动作的流程图。例如,解码装置200具备电路及与电路连接的存储器。解码装置200具备的电路及存储器也可以与图46所示的处理器b1及存储器b2对应。解码装置200的电路进行图54所示的动作。具体而言,解码装置200的电路在动作中将图像解码(S401)。解码装置200的电路也可以将图像按每个块解码。
图55是表示图54所示的解码动作(S401)的具体例的流程图。例如,解码装置200的电路在图像的解码(S401)中进行图55所示的动作。
具体而言,解码装置200的电路取得包含图像的系数信息被二值化的二值化数据序列的比特序列(S411)。并且,解码装置200的电路控制是否对二值化数据序列应用算术解码(S412)。
即,解码装置200的电路判定是否对包含在比特序列中的二值化数据序列应用算术解码。这里,在判定为应用算术解码的情况下,解码装置200的电路对二值化数据序列应用算术解码。另一方面,在判定为不应用算术解码的情况下,解码装置200的电路对于二值化数据序列不应用算术解码。
并且,解码装置200的电路将被应用了算术解码或没有被应用算术解码的二值化数据序列逆二值化(S413)。
例如,在判定为应用算术解码、对二值化数据序列应用了算术解码的情况下,解码装置200的电路将被应用了算术解码的二值化数据序列逆二值化。另一方面,在判定为不应用算术解码、对于二值化数据序列没有应用算术解码的情况下,解码装置200的电路将没有被应用算术解码的二值化数据序列逆二值化。
图56是表示图55所示的逆二值化动作(S413)的具体例的流程图。例如,解码装置200的电路在二值化数据序列的逆二值化(S413)中进行图56所示的动作。
具体而言,解码装置200的电路按照是否对二值化数据序列应用算术解码(S421)以及是否满足规定的条件(S422),以第1语法构造或第2语法构造将二值化数据序列逆二值化。例如,在对二值化数据序列应用算术解码、并且不满足规定的条件的情况下(S421中为“是”且S422中为“否”),解码装置200的电路按照第1语法构造将二值化数据序列逆二值化(S423)。
此外,在对二值化数据序列应用算术解码、并且满足规定的条件的情况下(S421中为“是”且S422中为“是”),解码装置200的电路按照第2语法构造将二值化数据序列逆二值化(S424)。这里,第2语法构造与第1语法构造不同。此外,在对于二值化数据序列不应用算术解码的情况下(S421中为“否”),解码装置200的电路按照第2语法构造将二值化数据序列逆二值化(S424)。
由此,可以使不应用算术解码的情况下的语法构造和满足规定的条件的情况下的语法构造共通化。因而,能够在抑制电路规模的增大的同时,实现代码量的增大的抑制及处理延迟的抑制。
例如,规定的条件也可以是当根据系数信息导出图像的预测残差时逆正交变换处理被跳过的条件。由此,能够使不应用算术解码的情况下的语法构造和满足逆正交变换处理被跳过的规定的条件的情况下的语法构造共通化。因而,能够在抑制电路规模的增大的同时,实现代码量的增大的抑制及处理延迟的抑制。
此外,例如规定的条件也可以是在图像的包括处理对象块的区域中、按照CABAC以与旁路模式不同的模式进行了解码处理的语法要素的个数为阈值以上的条件。
由此,能够使不应用算术解码的情况下的语法构造和满足非旁路CABAC的语法数为阈值以上的规定的条件的情况下的语法构造共通化。因而,能够在抑制电路规模的增大的同时,实现代码量的增大的抑制及处理延迟的抑制。
此外,例如比特序列也可以在序列参数集、图片参数集或切片头中表示算术解码的应用是否有效。
由此,解码装置200能够在序列参数集、图片参数集或切片头中切换算术解码的应用是否有效。因而,解码装置200关于是否应用算术解码,能够抑制按照数据类别的切换那样的频繁的切换。由此,能够实现代码量的增大的抑制及处理延迟的抑制。
此外,例如解码装置200的电路也可以以包括1个以上的切片或1个以上的图片的单位,包含性地切换是否应用算术解码。由此,解码装置200能够以较大的单位包含性地切换是否应用算术解码。因而,解码装置200关于是否应用算术解码,能够抑制按每个数据类别的切换那样的频繁的切换。由此,能够实现代码量的增大的抑制及处理延迟的抑制。
另外,由解码装置200的电路进行的上述的动作也可以由解码装置200的熵解码部202进行。
[其他例]
上述的各例的编码装置100及解码装置200既可以分别作为图像编码装置及图像解码装置利用,也可以作为运动图像编码装置及运动图像解码装置利用。
此外,也可以编码装置100及解码装置200仅进行上述的动作中的一部分的动作,其他装置进行其他动作。此外,也可以编码装置100及解码装置200仅具备上述的多个构成要素中的一部分的构成要素,其他装置具备其他的构成要素。
此外,也可以将上述各例的至少一部分作为编码方法或解码方法利用,也可以作为二值化方法或逆二值化方法利用,也可以作为其他方法利用。
此外,在上述的各例中,对图像的系数信息进行了二值化、逆二值化、编码及解码等的处理,但并不限于系数信息,也可以对包含图像的其他信息的图像信息进行处理。
此外,各构成要素也可以由专用的硬件构成,或通过执行适合于各构成要素的软件程序来实现。各构成要素也可以通过CPU或处理器等的程序执行部将记录在硬盘或半导体存储器等的记录介质中的软件程序读出并执行来实现。
具体而言,编码装置100及解码装置200分别也可以具备处理电路(ProcessingCircuitry)、和电连接于该处理电路并能够从该处理电路访问的存储装置(Storage)。例如,处理电路与处理器a1或b1对应,存储装置与存储器a2或b2对应。
处理电路包括专用的硬件及程序执行部的至少一方,使用存储装置执行处理。此外,存储装置在处理电路包括程序执行部的情况下,存储由该程序执行部执行的软件程序。
这里,实现上述的编码装置100或解码装置200等的软件是以下这样的程序。
例如,该程序也可以使计算机执行编码方法,所述编码方法将图像编码;在上述图像的编码中,将上述图像的系数信息二值化;控制是否对上述系数信息被二值化的二值化数据序列应用算术编码;输出包含被应用了算术编码或没有被应用算术编码的上述二值化数据序列的比特序列;在上述系数信息的二值化中,在对上述二值化数据序列应用算术编码、并且不满足规定的条件的情况下,将上述系数信息按照第1语法构造二值化;在对上述二值化数据序列应用算术编码、并且满足上述规定的条件的情况下,将上述系数信息按照与上述第1语法构造不同的第2语法构造二值化;在不对上述二值化数据序列应用算术编码的情况下,将上述系数信息按照上述第2语法构造二值化。
此外,例如该程序也可以使计算机执行解码方法,所述解码方法将图像解码;在上述图像的解码中,取得包含上述图像的系数信息被二值化的二值化数据序列的比特序列;控制是否对上述二值化数据序列应用算术解码;将被应用了算术解码或没有被应用算术解码的上述二值化数据序列逆二值化;在上述二值化数据序列的逆二值化中,在对上述二值化数据序列应用算术解码、并且不满足规定的条件的情况下,将上述二值化数据序列按照第1语法构造逆二值化;在对上述二值化数据序列应用算术解码、并且满足上述规定的条件的情况下,将上述二值化数据序列按照与上述第1语法构造不同的第2语法构造逆二值化;在不对上述二值化数据序列应用算术解码的情况下,将上述二值化数据序列按照上述第2语法构造逆二值化。
此外,各构成要素如上述那样也可以是电路。这些电路既可以作为整体构成1个电路,也可以是分别不同的电路。此外,各构成要素既可以由通用的处理器实现,也可以由专用的处理器实现。
此外,也可以将特定的构成要素执行的处理由其他的构成要素执行。此外,也可以将执行处理的顺序变更,也可以将多个处理并行地执行。此外,也可以编解码装置具备编码装置100及解码装置200。
在说明中使用的第1及第2等的序数也可以适当替换。此外,也可以对构成要素等新赋予序数,也可以去除。
以上,基于多个例子对编码装置100及解码装置200的技术方案进行了说明,但编码装置100及解码装置200的技术方案并不限定于这些例子。只要不脱离本发明的主旨,对各例实施了本领域技术人员想到的各种变形后的形态、或将不同例子的构成要素组合而构建的形态也可以包含在编码装置100及解码装置200的技术方案的范围内。
也可以将这里公开的1个以上的技术方案与本发明的其他技术方案的至少一部分组合来实施。此外,也可以将这里公开的1个以上的技术方案的流程图中记载的一部分的处理、装置的一部分的构成、语法的一部分等与其他技术方案组合来实施。
[实施及应用]
在以上的各实施方式中,功能性或作用性的块分别通常可以通过MPU(微处理单元,micro proccessing unit)及存储器等实现。此外,功能块的各自的处理也可以作为将记录在ROM等的记录介质中的软件(程序)读出并执行的处理器等的程序执行部实现。该软件也可以分发。该软件也可以记录到半导体存储器等的记录介质中。另外,也能够将各功能块用硬件(专用电路)实现。可以采用硬件及软件的各种各样的组合。
此外,在各实施方式中说明的处理既可以通过使用单一的装置(***)集中处理来实现,或者也可以通过使用多个装置进行分散处理来实现。此外,执行上述程序的处理器既可以是单个,也可以是多个。即,既可以进行集中处理,也可以进行分散处理。
本发明的技术方案并不限定于以上的实施例,能够进行各种各样的变更,它们也包含在本发明的技术方案的范围内。
进而,这里说明在上述各实施方式中表示的运动图像编码方法(图像编码方法)或运动图像解码方法(图像解码方法)的应用例及实施该应用例的各种***。这样的***也可以以具有使用图像编码方法的图像编码装置、使用图像解码方法的图像解码装置或具备两者的图像编解码装置为特征。关于这样的***的其他结构,根据情况能够适当地变更。
[使用例]
图57是表示实现内容分发服务的适当的内容供给***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-phoneSystem)等。
家电ex114是电冰箱或在家庭用燃料电池同时发热发电(cogeneration)***中包含的设备等。
在内容供给***ex100中,通过将具有摄影功能的终端经由基站ex106等连接到流媒体服务器ex103上,能够进行现场分发等。在现场分发中,终端(计算机ex111、游戏机ex112、照相机ex113、家电ex114、智能电话ex115及飞机ex117内的终端等)也可以对于用户使用该终端摄影的静止图像或运动图像内容进行在上述各实施方式中说明的编码处理,也可以将通过编码得到的影像数据和将与影像对应的声音编码的声音数据复用,也可以将得到的数据向流媒体服务器ex103发送。即,各终端作为有关本发明的一技术方案的图像编码装置发挥功能。
另一方面,流媒体服务器ex103将对于有请求的客户端发送的内容数据进行流分发。客户端是能够将被上述编码处理的数据进行解码的计算机ex111、游戏机ex112、照相机ex113、家电ex114、智能电话ex115或飞机ex117内的终端等。接收到被分发的数据的各设备也可以将接收到的数据解码处理并再现。即,各设备也可以作为有关本发明的一技术方案的图像解码装置发挥功能。
[分散处理]
此外,流媒体服务器ex103也可以是多个服务器或多个计算机、是将数据分散处理或记录而分发的构成。例如,流媒体服务器ex103也可以由CDN(内容交付网络,ContentsDelivery 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等的终端摄影的不同场景、或将相同场景以不同的角度摄影的图像或影像合并而利用的情况正在增加。可以将由各终端摄影的影像基于另外取得的终端间的相对的位置关系、或影像中包含的特征点一致的区域等来合并。
服务器不仅是将二维的运动图像进行编码,也可以基于运动图像的场景解析等自动地或在用户指定的时刻而将静止图像编码并向接收终端发送。服务器还在能够取得摄影终端间的相对的位置关系的情况下,不仅是二维的运动图像,还能够基于从虽然是相同场景但从不同的角度摄影的影像,生成该场景的三维形状。服务器也可以将由点云(pointcloud)等生成的三维的数据另外编码,也可以基于使用三维数据将人物或对象识别或跟踪的结果,从由多个终端摄影的影像中选择或重构而生成向接收终端发送的影像。
这样,用户既能够任意地选择与各摄影终端对应的各影像而欣赏场景,也能够欣赏从使用多个图像或影像重构的三维数据切取了选择视点的影像的内容。进而,也可以与影像一起将声音也从多个不同的角度收音,服务器将来自特定的角度或空间的声音与对应的影像复用,将复用的影像和声音发送。
此外,近年来,Virtual Reality(VR:虚拟现实)及Augmented Reality(AR:增强现实)等将现实世界与虚拟世界建立对应的内容也正在普及。在VR的图像的情况下,服务器分别制作右眼用及左眼用的视点图像,既可以通过Multi-View Coding(MVC:多视点编码)等进行在各视点影像间容许参照的编码,也可以相互不参照而作为不同的流编码。在不同的流的解码时,可以根据用户的视点相互同步地再现,以再现虚拟的三维空间。
在AR的图像的情况下,服务器也可以在现实空间的照相机信息中,基于三维的位置或用户的视点的运动而叠加虚拟空间上的虚拟物体信息。解码装置也可以取得或保持虚拟物体信息及三维数据,根据用户的视点的运动而生成二维图像,通过平滑地相连来制作叠加数据。或者,解码装置也可以除了虚拟物体信息的委托以外还将用户的视点的运动发送给服务器。服务器也可以根据保持在服务器中的三维数据,匹配于接收到的视点的运动而制作叠加数据,将叠加数据编码并向解码装置分发。另外,叠加数据典型的是在RGB以外还具有呈现透过度的α值,服务器也可以将根据三维数据制作出的对象以外的部分的α值设定为0等,在该部分透过的状态下进行编码。或者,服务器也可以如色度键那样将规定的值的RGB值设定为背景,生成对象以外的部分为背景色的数据。
同样,分发的数据的解码处理既可以由客户端(例如终端)进行,也可以在服务器侧进行,也可以相互分担而进行。作为一例,也可以是某个终端先向服务器发收发请求,由其他终端接收与该请求对应的内容并进行解码处理,将已解码的信号向具有显示器的装置发送。通过不论可通信的终端自身的性能如何都将处理分散而选择适当的内容,能够再现画质较好的数据。此外,作为其他的例子,也可以由TV等接收较大的尺寸的图像数据,并且由欣赏者的个人终端将图片被划分后的瓦片等一部分区域解码并显示。由此,能够在使整体像共有化的同时,在手边确认自己的负责领域或想要更详细地确认的区域。
在室内外的近距离、中距离或长距离的无线通信能够使用多个的状况下,有可能能够利用MPEG-DASH等的分发***标准无缝地接收内容。由此,用户也可以一边自由地选择用户的终端、设置在室内外的显示器等的解码装置或显示装置一边实时地切换。此外,能够基于自身的位置信息等,一边切换解码的终端及显示的终端一边进行解码。由此,能够在用户向目的地的移动的期间中使信息映射及显示在埋入有可显示的设备的旁边的建筑物的壁面或地面的一部分上。此外,还能够基于能够将编码数据从接收终端以短时间高速缓存到能够访问的服务器中、或复制到内容分发服务的边缘服务器中等的向网络上的编码数据的访问容易性,来切换接收数据的比特率。
[分级编码]
关于内容的切换,使用图58所示的、使用应用在上述各实施方式中表示的运动图像编码方法压缩编码的分级(scalable)的流进行说明。服务器作为单独的流也可以具有内容相同而品质不同的多个流,但也可以是如图示那样利用通过分层进行编码而实现的时间/空间上的分级的流的特征来切换内容的构成。即,通过解码侧根据性能这样的内在因素和通信频带的状态等的外在因素来决定解码哪个层,解码侧能够自由地切换解码低分辨率的内容和高分辨率的内容。例如在用户想要将在移动中用智能电话ex115视听的影像接着例如在回家后用因特网TV等的设备视听的情况下,该设备只要将相同的流解码到不同的层就可以,所以能够减轻服务器侧的负担。
进而,在如上述那样按照每个层将图片编码、在基础层的上位的扩展层实现分级性的构成以外,也可以扩展层包含基于图像的统计信息等的元信息。解码侧也可以通过基于元信息将基础层的图片进行超析像来生成高画质化的内容。超析像也可以在将分辨率维持及/或扩大的同时提高SN比。元信息包括用来确定在超析像处理中使用那样的线性或非线性的滤波系数的信息、或确定在超析像处理中使用的滤波处理、机器学习或最小2乘运算中的参数值的信息等。
或者,也可以提供根据图像内的对象等的意义将图片划分为瓦片等的构成。解码侧通过选择进行解码的瓦片而仅将一部分的区域解码。进而,通过将对象的属性(人物、车、球等)和影像内的位置(同一图像中的坐标位置等)作为元信息保存,解码侧能够基于元信息确定希望的对象的位置,决定包括该对象的瓦片。例如,如图59所示,也可以将元信息使用与HEVC中的SEI(补充增强信息,supplemental enhancement information)消息等像素数据不同的数据保存构造保存。该元信息例如表示主对象的位置、尺寸或色彩等。
也可以将流、序列或随机访问单位等以由多个图片构成的单位保存元信息。解码侧能够取得特定人物在影像内出现的时刻等,通过与图片单位的信息和时间信息匹配,能够确定对象存在的图片,能够决定图片内的对象的位置。
[Web页的优化]
图60是表示计算机ex111等中的web页的显示画面例的图。图61是表示智能电话ex115等中的web页的显示画面例的图。如图60及图61所示,有web页包含多个作为向图像内容的链接的链接图像的情况,根据阅览的设备而其可见方式不同。在画面上能看到多个链接图像的情况下,在用户明示地选择链接图像之前、或链接图像接近于画面的中央附近或链接图像的整体进入到画面内之前,显示装置(解码装置)既可以作为链接图像而显示各内容具有的静止图像或I图片,也可以用多个静止图像或I图片等显示gif动画那样的影像,也可以仅接收基础层而将影像解码及显示。
在由用户选择了链接图像的情况下,显示装置例如在将基础层设为最优先的同时进行解码。另外,如果在构成web页的HTML中有表示是分级的内容的信息,则显示装置也可以解码到扩展层。进而,在为了确保实时性而在选择之前或通信频带非常紧张的情况下,显示装置可以通过仅将前方参照的图片(I图片、P图片、仅进行前方参照的B图片)解码及显示,由此来减少开头图片的解码时刻与显示时刻之间的延迟(从内容的解码开始到显示开始的延迟)。进而,显示装置也可以将图片的参照关系强行地忽视而将全部的B图片及P图片设为前方参照而较粗地解码,随着时间经过而接收到的图片增加,进行正常的解码。
[自动行驶]
此外,在为了车的自动行驶或行驶支援而收发二维或三维的地图信息等那样的静止图像或影像数据的情况下,接收终端也可以除了属于1个以上的层的图像数据以外,还作为元信息而接收天气或施工的信息等,将它们建立对应而解码。另外,元信息既可以属于层,也可以单单与图像数据复用。
在此情况下,由于包含接收终端的车、无人机或飞机等在移动,所以接收终端通过将该接收终端的位置信息发送,能够一边切换基站ex106~ex110一边实现无缝的接收及解码的执行。此外,接收终端根据用户的选择、用户的状况及/或通信频带的状态,能够动态地切换将元信息以何种程度接收、或将地图信息以何种程度更新。
在内容供给***ex100中,客户端能够将用户发送的已编码的信息实时地接收并解码、再现。
[个人内容的分发]
此外,在内容供给***ex100中,不仅是由影像分发业者提供的高画质、长时间的内容,还能够进行由个人提供的低画质、短时间的内容的单播或多播分发。可以想到这样的个人的内容今后也会增加。为了使个人内容成为更好的内容,服务器也可以在进行编辑处理后进行编码处理。这例如可以使用以下这样的构成实现。
在摄影时实时或储存而摄影后,服务器根据原图像数据或已编码数据,进行摄影错误、场景搜索、意义的解析及对象检测等的识别处理。并且,服务器基于识别结果,进行手动或自动地将焦点偏差或手抖动等修正、或在明亮度比其他图片低或焦点没有对上的场景等的重要性较低的场景删除、或将对象的边缘强调、或使色调变化等的编辑。服务器基于编辑结果,将编辑后的数据编码。此外,已知如果摄影时刻过长则视听率会下降,服务器也可以根据摄影时间,不仅是如上述那样重要性较低的场景,还将运动较少的场景等基于图像处理结果自动地裁剪,以成为特定的时间范围内的内容。或者,服务器也可以基于场景的意义解析的结果而生成摘要并编码。
也有在个人内容中原样被写入构成著作权、著作者人格权或肖像权等的侵害的内容的情形,也有共享的范围超过了想要的范围等对于个人而言不便的情况。由此,例如服务器也可以将画面的周边部的人的脸、或家中等强行地变更为不对焦的图像而进行编码。进而,服务器也可以识别在编码对象图像内是否拍摄到与预先登记的人物不同的人物的脸,在拍摄到的情况下,进行对脸的部分施加马赛克等的处理。或者,作为编码的前处理或后处理,也可以从著作权等的观点而用户指定想要将图像加工的人物或背景区域。服务器也可以进行将所指定的区域替换为别的影像、或将焦点模糊化等的处理。如果是人物,则能够在运动图像中跟踪人物,将人物的脸的部分的影像替换。
由于数据量较小的个人内容的视听其实时性的要求较强,所以虽然也取决于带宽,但解码装置也可以首先将基础层最优先地接收并进行解码及再现。解码装置也可以在此期间中将扩展层接收,在再现被循环的情况等2次以上被再现的情况下,也包括扩展层而将高画质的影像再现。这样,如果是进行了分级的编码的流,则能够提供虽然在未选择时或刚开始看的阶段是较粗糙的运动图像但流逐渐变得流畅而图像变好那样的体验。在分级编码以外,如果将在第1次被再现的较粗糙的流、和参照第1次的运动图像被编码的第2次的流构成为1个流,也能够提供同样的体验。
[其他的实施应用例]
此外,这些编码或解码处理通常在各终端具有的LSIex500中处理。LSI(大规模集成电路,large scale integration circuitry)ex500(参照图57)既可以是单芯片也可以是由多芯片构成的构成。另外,也可以将图像编码或解码用的软件装入到能够由计算机ex111等读取的某种记录介质(CD-ROM、软盘、硬盘等)中、使用该软件进行编码处理及解码处理。进而,在智能电话ex115带有照相机的情况下,也可以将由该照相机取得的运动图像数据发送。此时的运动图像数据也可以是用智能电话ex115具有的LSIex500编码处理后的数据。
另外,LSIex500也可以是将应用软件下载并将其激活的构成。在此情况下,终端首先判定该终端是否与内容的编码方式对应、或是否具有特定服务的执行能力。在终端不与内容的编码方式对应的情况下、或不具有特定服务的执行能力的情况下,终端也可以将编解码器或应用软件下载,然后进行内容取得及再现。
此外,并不限于经由因特网ex101的内容供给***ex100,也能够在数字广播用***中组装上述各实施方式的至少运动图像编码装置(图像编码装置)或运动图像解码化装置(图像解码装置)的某种。由于利用卫星等使广播用的电波承载将影像与声音复用的复用数据而收发,所以相对于内容供给***ex100的容易单播的构成,有适合多播的差异,但关于编码处理及解码处理能够进行同样的应用。
[硬件构成]
图62是表示图57所示的智能电话ex115的更详细情况的图。此外,图63是表示智能电话ex115的结构例的图。智能电话ex115具有用来在与基站ex110之间收发电波的天线ex450、能够拍摄影像及静止图像的照相机部ex465、显示由照相机部ex465摄影的影像、以及由天线ex450接收到的影像等被解码后的数据的液晶显示器等的显示部ex458。智能电话ex115还具备作为操作面板等的操作部ex466、用来输出声音或音响的作为扬声器等的声音输出部ex457、用来输入声音的作为麦克风等的声音输入部ex456、能够将摄影的影像、静止图像、录音的声音、或接收到的影像或静止图像、邮件等的编码的数据或解码的数据保存的存储器部ex467、或者作为与SIMex468的接口部的插槽部ex464,所述SIMex468用来确定用户,进行以网络为代表向各种数据的访问的认证。
能够综合控制显示部ex458及操作部ex466等的主控制部ex460、与电源电路部ex461、操作输入控制部ex462、影像信号处理部ex455、照相机接口部ex463、显示器控制部ex459、调制/解调部ex452、复用/分离部ex453、声音信号处理部ex454、插槽部ex464存储器部ex467经由同步总线ex470相互连接。
电源电路部ex461如果通过用户的操作使电源键成为接通状态,则将智能电话ex115起动为可动作的状态,从电池组对各部供电。
智能电话ex115基于具有CPU、ROM及RAM等的主控制部ex460的控制,进行通话及数据通信等的处理。在通话时,将由声音输入部ex456集音的声音信号通过声音信号处理部ex454变换为数字声音信号,由调制/解调部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 预测控制部
132 二值化部
134、140、236、242 切换部
136、240 中间缓存
138 算术编码部
142 复用部
144 输出缓存
200 解码装置
202 熵解码部
232 输入缓存
234 分离部
238 算术解码部
244 逆二值化部
1201 边界判定部
1202、1204、1206 开关
1203 滤波判定部
1205 滤波处理部
1207 滤波特性决定部
1208 处理判定部
a1、b1 处理器
a2、b2 存储器

Claims (12)

1.一种编码装置,
具备:
电路;以及
存储器,与上述电路连接;
上述电路在动作中将图像编码;
在上述图像的编码中,
将上述图像的系数信息二值化;
控制是否对上述系数信息被二值化后的二值化数据序列应用算术编码;
输出包含被应用了算术编码或没有被应用算术编码的上述二值化数据序列的比特序列;
在上述系数信息的二值化中,
在对上述二值化数据序列应用算术编码、并且不满足规定的条件的情况下,将上述系数信息按照第1语法构造二值化;
在对上述二值化数据序列应用算术编码、并且满足上述规定的条件的情况下,将上述系数信息按照与上述第1语法构造不同的第2语法构造二值化;
在不对上述二值化数据序列应用算术编码的情况下,将上述系数信息按照上述第2语法构造二值化。
2.如权利要求1所述的编码装置,
上述规定的条件是指,在从上述图像的预测残差导出上述系数信息时正交变换处理被跳过。
3.如权利要求1所述的编码装置,
上述规定的条件是指,在上述图像的包含处理对象块的区域中、被按照CABAC即基于上下文的自适应二值算术编码以与旁路模式不同的模式进行了编码处理的语法要素的个数为阈值以上。
4.如权利要求1~3中任一项所述的编码装置,
上述比特序列在序列参数集、图片参数集或切片头中表示算术编码的应用是否有效。
5.如权利要求1~3中任一项所述的编码装置,
上述电路以包括1个以上的切片或1个以上的图片的单位包含性地切换是否应用算术编码。
6.一种解码装置,
具备:
电路;以及
存储器,与上述电路连接;
上述电路在动作中将图像解码;
在上述图像的解码中,
取得包含上述图像的系数信息被二值化后的二值化数据序列的比特序列;
控制是否对上述二值化数据序列应用算术解码;
将被应用了算术解码或没有被应用算术解码的上述二值化数据序列逆二值化;
在上述二值化数据序列的逆二值化中,
在对上述二值化数据序列应用算术解码、并且不满足规定的条件的情况下,将上述二值化数据序列按照第1语法构造逆二值化;
在对上述二值化数据序列应用算术解码、并且满足上述规定的条件的情况下,将上述二值化数据序列按照与上述第1语法构造不同的第2语法构造逆二值化;
在不对上述二值化数据序列应用算术解码的情况下,将上述二值化数据序列按照上述第2语法构造逆二值化。
7.如权利要求6所述的解码装置,
上述规定的条件是指,在从上述系数信息导出上述图像的预测残差时逆正交变换处理被跳过。
8.如权利要求6所述的解码装置,
上述规定的条件是指,在上述图像的包含处理对象块的区域中、被按照CABAC即基于上下文的自适应二值算术编码以与旁路模式不同的模式进行了解码处理的语法要素的个数为阈值以上。
9.如权利要求6~8中任一项所述的解码装置,
上述比特序列在序列参数集、图片参数集或切片头中表示算术解码的应用是否有效。
10.如权利要求6~8中任一项所述的解码装置,
上述电路以包括1个以上的切片或1个以上的图片的单位包含性地切换是否应用算术解码。
11.一种编码方法,
将图像编码;
在上述图像的编码中,
将上述图像的系数信息二值化;
控制是否对上述系数信息被二值化后的二值化数据序列应用算术编码;
输出包含被应用了算术编码或没有被应用算术编码的上述二值化数据序列的比特序列;
在上述系数信息的二值化中,
在对上述二值化数据序列应用算术编码、并且不满足规定的条件的情况下,将上述系数信息按照第1语法构造二值化;
在对上述二值化数据序列应用算术编码、并且满足上述规定的条件的情况下,将上述系数信息按照与上述第1语法构造不同的第2语法构造二值化;
在不对上述二值化数据序列应用算术编码的情况下,将上述系数信息按照上述第2语法构造二值化。
12.一种解码方法,
将图像解码;
在上述图像的解码中,
取得包含上述图像的系数信息被二值化后的二值化数据序列的比特序列;
控制是否对上述二值化数据序列应用算术解码;
将被应用了算术解码或没有被应用算术解码的上述二值化数据序列逆二值化;
在上述二值化数据序列的逆二值化中,
在对上述二值化数据序列应用算术解码、并且不满足规定的条件的情况下,将上述二值化数据序列按照第1语法构造逆二值化;
在对上述二值化数据序列应用算术解码、并且满足上述规定的条件的情况下,将上述二值化数据序列按照与上述第1语法构造不同的第2语法构造逆二值化;
在不对上述二值化数据序列应用算术解码的情况下,将上述二值化数据序列按照上述第2语法构造逆二值化。
CN202080016525.8A 2019-03-25 2020-03-25 编码装置、解码装置、编码方法及解码方法 Active CN113545057B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962823251P 2019-03-25 2019-03-25
US62/823,251 2019-03-25
PCT/JP2020/013418 WO2020196655A1 (ja) 2019-03-25 2020-03-25 符号化装置、復号装置、符号化方法、および復号方法

Publications (2)

Publication Number Publication Date
CN113545057A CN113545057A (zh) 2021-10-22
CN113545057B true CN113545057B (zh) 2024-01-16

Family

ID=72609946

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080016525.8A Active CN113545057B (zh) 2019-03-25 2020-03-25 编码装置、解码装置、编码方法及解码方法

Country Status (4)

Country Link
US (1) US11812024B2 (zh)
JP (1) JP7079377B2 (zh)
CN (1) CN113545057B (zh)
WO (1) WO2020196655A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023173025A2 (en) * 2022-03-09 2023-09-14 Innopeak Technology, Inc. Adaptive context initialization for entropy coding in video coding

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103597830A (zh) * 2011-11-07 2014-02-19 松下电器产业株式会社 图像编码方法、图像解码方法、图像编码装置、图像解码装置及图像编码解码装置
WO2018030291A1 (ja) * 2016-08-10 2018-02-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
CN109155863A (zh) * 2016-05-20 2019-01-04 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法及解码方法
CN109479138A (zh) * 2016-07-13 2019-03-15 韩国电子通信研究院 图像编码/解码方法和装置
CN109479134A (zh) * 2016-08-10 2019-03-15 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法及解码方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013067436A1 (en) * 2011-11-04 2013-05-10 Huawei Technologies Co., Ltd. Binarization of prediction residuals for lossless video coding
US9503717B2 (en) * 2012-01-09 2016-11-22 Texas Instruments Incorporated Context adaptive binary arithmetic coding (CABAC) with scalable throughput and coding efficiency
KR102057369B1 (ko) * 2013-12-13 2020-01-22 퀄컴 인코포레이티드 3d 비디오 코딩에서 깊이 인트라-예측 및 인터-예측 모드들을 위한 단순화된 깊이 코딩 (sdc) 의 시그널링
US10939114B2 (en) * 2019-05-15 2021-03-02 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103597830A (zh) * 2011-11-07 2014-02-19 松下电器产业株式会社 图像编码方法、图像解码方法、图像编码装置、图像解码装置及图像编码解码装置
CN109155863A (zh) * 2016-05-20 2019-01-04 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法及解码方法
CN109479138A (zh) * 2016-07-13 2019-03-15 韩国电子通信研究院 图像编码/解码方法和装置
WO2018030291A1 (ja) * 2016-08-10 2018-02-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
CN109479134A (zh) * 2016-08-10 2019-03-15 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法及解码方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Fast HEVC intra coding algorithm based on machine learning and Laplacian Transparent Composite Model;Yi Shan等;2017 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP);全文 *
HEVC熵编码器的关键技术浅析;周国良;自动化应用(第6期);全文 *
一种基于WBCT的图像编码算法;聂永丹等;计算机技术与发展(第1期);全文 *

Also Published As

Publication number Publication date
WO2020196655A1 (ja) 2020-10-01
US11812024B2 (en) 2023-11-07
CN113545057A (zh) 2021-10-22
JP7079377B2 (ja) 2022-06-01
US20210377537A1 (en) 2021-12-02
JPWO2020196655A1 (ja) 2021-11-18

Similar Documents

Publication Publication Date Title
CN113678443B (zh) 编码装置、解码装置、编码方法、解码方法和记录介质
CN111684805B (zh) 编码装置、解码装置、编码方法和解码方法
CN118075466A (zh) 编码装置、解码装置、以及非暂时性的计算机可读取的记录介质
CN113678442A (zh) 用于视频编码的***和方法
CN118200565A (zh) 编码装置、解码装置和非暂时性的计算机可读介质
CN112292857A (zh) 编码装置、解码装置、编码方法和解码方法
CN113170103B (zh) 编码装置、解码装置、编码方法和解码方法
CN114762347A (zh) 编码装置、解码装置、编码方法和解码方法
CN113383544A (zh) 编码装置、解码装置、编码方法和解码方法
CN114521331A (zh) 编码装置、解码装置、编码方法和解码方法
CN113302922A (zh) 编码装置、解码装置、编码方法和解码方法
CN112840659A (zh) 编码装置、解码装置、编码方法和解码方法
CN113545057B (zh) 编码装置、解码装置、编码方法及解码方法
CN113475066B (zh) 编码装置、解码装置、编码方法和解码方法
CN114097245B (zh) 编码装置、解码装置、编码方法和解码方法
CN113994704B (zh) 编码装置、解码装置、编码方法和解码方法
CN113841413B (zh) 编码装置、解码装置、编码方法和解码方法
WO2021006196A1 (ja) 符号化装置、復号装置、符号化方法、および復号方法
CN115136596A (zh) 编码装置、解码装置、编码方法和解码方法
CN114303384A (zh) 编码装置、解码装置、编码方法和解码方法
CN114902683A (zh) 编码装置、解码装置、编码方法和解码方法
TW202415073A (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