CN110089115B - 图像解码装置、图像编码装置 - Google Patents
图像解码装置、图像编码装置 Download PDFInfo
- Publication number
- CN110089115B CN110089115B CN201780052604.2A CN201780052604A CN110089115B CN 110089115 B CN110089115 B CN 110089115B CN 201780052604 A CN201780052604 A CN 201780052604A CN 110089115 B CN110089115 B CN 110089115B
- Authority
- CN
- China
- Prior art keywords
- prediction
- mode
- block
- mpm
- intra
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明的图像解码装置包括帧内预测参数解码控制部及预测图像生成部,其在对图片进行分割与解码时,对通过进行在四叉树分割的基础上进行二叉树分割的QTBT分割而得到的块进行帧内预测。所述帧内预测参数解码控制部基于所述块的形状来变更帧内预测模式下的多个预测方向与多个模式编号之间的第一对应,以产生第二对应。所述预测图像生成部参照所述多个模式编号和所述第二对应,生成预测图像。所述帧内预测参数解码控制部基于所述块的所述形状来变更所述多个预测方向中第一部分的多个预测方向的数量,以产生多个变更预测方向,并基于所述多个变更预测方向来确定所述第二对应。朝向第一方向区域的所述多个预测方向为所述第一部分的所述多个预测方向。
Description
技术领域
本发明的实施方式涉及图像解码装置、图像编码装置、图像解码方法、以及图像编码方法。
背景技术
为了高效地传输或记录运动图像,使用通过对运动图像进行编码而生成编码数据的图像编码装置、以及通过对该编码数据进行解码而生成解码图像的图像解码装置。
作为具体的运动图像编码方式,例如可列举出在H.264/AVC、HEVC(High-Efficiency Video Coding:高效运动图像编码)中提出的方式等。
在这种运动图像编码方式中,构成运动图像的图像(图片)由包含通过对图像进行分割而得到的切片(slice)、通过对切片进行分割得到的编码单位(有时也称为编码单元(CU:Coding Unit))、以及作为通过对编码单元进行分割而得到的块的预测单元(PU)、转换单元(TU)的阶层结构来管理,并按CU来进行编码、解码。
此外,在这种运动图像编码方式中,通常,基于通过对输入图像进行编码/解码而得到的局部解码图像而生成预测图像,对从输入图像(原图像)中减去该预测图像而得到的预测残差(有时也称为“差分图像”或“残差图像”)进行编码。作为预测图像的生成方法,可列举画面间预测(帧间预测)以及画面内预测(帧内预测)。
此外,作为近年来的运动图像编码以及解码的技术,可列举非专利文献1。
而且,近年来,作为构成切片的编码树单元(CTU:Coding Tree Unit)的分割方式,在对CTU进行四叉树(quadtree)分割的QT分割的基础上,还导入了进行二叉树(binarytree)分割的BT分割。该BT分割中包括水平分割和垂直分割。
如上所述,对于QT分割的基础上进行BT分割的QTBT分割,CU形状的种类与以往相比大幅增加。因此,产生了与以往不同的各种各样的块形状及其组合。
现有技术文献
非专利文献
非专利文献1:“Algorithm Description of Joint Exploration Test Model2”,JVET-B1002,Joint Video Exploration Team(JVET)of ITU-T SG16 WP3 and ISO/IECJTC1/SC29/WG11,20-26 February 2016
发明内容
发明要解决的问题
在QTBT分割中,如下所述,可以产生各种各样的形状(纵横比)的CU。
正方形;纵长(1:2、1:4、1:8等);横长(2:1、4:1、8:1等)
然后,纵长、横长的CU多用于表现轮廓线等连续的边缘,对于其预测方向,在多数情况下,如果是纵长则接近用于上邻接CU的预测方向,如果是横长则接近用于左邻接CU的预测方向。然而,在以往技术中并未充分考虑到形状的不同,编码效率尚有改善的余地。因此,本发明的目的在于,使通过QTBT分割等图片的分割而得到的CU的编码效率或解码效率比以往提高。
技术方案
本发明的一方案的图像解码装置如下:
一种图像解码装置,在对图片进行分割时,对通过进行在四叉树分割的基础上进行二叉树分割的QTBT分割而得到的块进行帧内预测,并对所述图片进行解码,具备:
候选列表导出部,基于所述块的形状来在候选列表中追加多个相互不同的帧内预测模式,由此导出候选列表;以及
参数解码部,对用于从所述候选列表中导出帧内预测模式的参数进行解码。
本发明的一方案的图像解码装置如下:
一种图像解码装置,在对图片进行分割时,对通过进行在四叉树分割的基础上进行二叉树分割的QTBT分割而得到的块进行帧内预测,并对所述图片进行解码,具备:
候选列表导出部,基于所述块的形状或到得到所述块为止进行的分割次数,来变更在候选列表中追加的一个或多个相互不同的帧内预测模式的个数、或帧内预测的参数的上下文,由此导出候选列表;以及
参数解码部,对用于从所述候选列表中导出帧内预测模式的参数进行解码。
本发明的一方案的图像解码装置如下:
一种图像解码装置,在对图片进行分割时,对通过进行在四叉树分割的基础上进行二叉树分割的QTBT分割而得到的块进行帧内预测,并对所述图片进行解码,具备:
帧内预测参数解码控制部,基于所述块的形状来变更帧内预测模式下的预测方向与模式编号的对应;以及
参数解码部,参照所述对应,对用于导出帧内预测模式的参数进行解码。
本发明的一方案的图像编码装置如下:
一种图像编码装置,在对图片进行分割时,对通过进行在四叉树分割的基础上进行二叉树分割的QTBT分割而得到的块进行帧内预测,并对所述图片进行编码,具备:
候选列表导出部,基于所述块的形状,来在候选列表中追加多个相互不同的帧内预测模式,由此导出候选列表;以及
参数导出部,导出用于从所述候选列表中导出帧内预测模式的参数。
本发明的一方案的图像编码装置如下:
一种图像编码装置,在对图片进行分割时,对通过进行在四叉树分割的基础上进行二叉树分割的QTBT分割而得到的块进行帧内预测,并对所述图片进行编码,具备:
候选列表导出部,基于所述块的形状或到得到所述块为止进行的分割次数来变更在候选列表中追加的一个或多个相互不同的帧内预测模式的个数、或帧内预测的参数的上下文,由此导出候选列表;以及
参数导出部,导出用于从所述候选列表中导出帧内预测模式的参数。
本发明的一方案的图像编码装置如下:
一种图像编码装置,在对图片进行分割时,对通过进行在四叉树分割的基础上进行二叉树分割的QTBT分割而得到的块进行帧内预测,并对所述图片进行编码,具备:
帧内预测参数编码控制部,基于所述块的形状来变更帧内预测模式下的预测方向与模式编号的对应;以及
参数导出部,参照所述对应,导出用于导出帧内预测模式的参数。
本发明的一方案的图像解码方法如下:
一种图像解码方法,在对图片进行分割时,对通过进行在四叉树分割的基础上进行二叉树分割的QTBT分割而得到的块进行帧内预测,并对所述图片进行解码,包括:
候选列表导出步骤,基于所述块的形状,来在候选列表中追加多个相互不同的帧内预测模式,由此导出候选列表;以及
参数解码步骤,对用于从所述候选列表中导出帧内预测模式的参数进行解码。
本发明的一方案的图像解码方法如下:
一种图像解码方法,在对图片进行分割时,对通过进行在四叉树分割的基础上进行二叉树分割的QTBT分割而得到的块进行帧内预测,并对所述图片进行解码,包括:
候选列表导出步骤,基于所述块的形状或到得到所述块为止进行的分割次数来变更在候选列表中追加的一个或多个相互不同的帧内预测模式的个数、或帧内预测的参数的上下文,由此导出候选列表;以及
参数解码步骤,对用于从所述候选列表中导出帧内预测模式的参数进行解码。
本发明的一方案的图像解码方法如下:
一种图像解码方法,在对图片进行分割时,对通过进行在四叉树分割的基础上进行二叉树分割的QTBT分割而得到的块进行帧内预测,并对所述图片进行解码,包括:
帧内预测参数解码控制步骤,基于所述块的形状来变更帧内预测模式下的预测方向与模式编号的对应;以及
参数解码步骤,参照所述对应,对用于导出帧内预测模式的参数进行解码。
本发明的一方案的图像编码方法如下:
一种图像编码方法,在对图片进行分割时,对通过进行在四叉树分割的基础上进行二叉树分割的QTBT分割而得到的块进行帧内预测,并对所述图片进行编码,包括:
候选列表导出步骤,基于所述块的形状,来在候选列表中追加多个相互不同的帧内预测模式,由此导出候选列表;以及
参数导出步骤,导出用于从所述候选列表中导出帧内预测模式的参数。
本发明的一方案的图像编码方法如下:
一种图像编码方法,在对图片进行分割时,对通过进行在四叉树分割的基础上进行二叉树分割的QTBT分割而得到的块进行帧内预测,并对所述图片进行编码,包括:
候选列表导出步骤,基于所述块的形状或到得到所述块为止进行的分割次数来变更在候选列表中追加的一个或多个相互不同的帧内预测模式的个数、或帧内预测的参数的上下文,由此导出候选列表;以及
参数导出步骤,导出用于从所述候选列表中导出帧内预测模式的参数。
本发明的一方案的图像编码方法如下:
一种图像编码方法,在对图片进行分割时,对通过进行在四叉树分割的基础上进行二叉树分割的QTBT分割而得到的块进行帧内预测,并对所述图片进行编码,包括:
帧内预测参数编码控制步骤,基于所述块的形状来变更帧内预测模式下的预测方向与模式编号的对应;以及
参数导出步骤,参照所述对应,导出用于导出帧内预测模式的参数。
本发明的一方案的图像解码装置具备:候选列表导出部,导出包括用于对象块的帧内预测的对象帧内预测模式的候选的候选列表;解码部,在所述对象帧内预测模式不包括于所述候选列表的情况下,对用于导出所述对象帧内预测模式的参数进行解码;以及导出部,通过将所述参数按照与关于所述对象块的方向性对应的顺序与不包括于所述候选列表的帧内预测模式对应,来导出所述对象帧内预测模式。
本发明的一方案的图像解码装置具备:候选列表导出部,导出包括用于对象块的帧内预测的对象帧内预测模式的候选的候选列表;解码部,在所述对象帧内预测模式不包括于所述候选列表的情况下,对用于导出所述对象帧内预测模式的参数进行解码;以及导出部,通过将所述参数按照以所述候选列表包括的帧内预测模式作为基点的顺序与所述候选列表不包括的帧内预测模式对应,来导出所述对象帧内预测模式。
本发明的一方案的图像解码装置具备:候选列表导出部,导出包括用于对象块的帧内预测的对象帧内预测模式的候选的候选列表;编码部,在所述对象帧内预测模式不包括于所述候选列表的情况下,对用于导出所述对象帧内预测模式的参数进行编码;以及导出部,通过将所述参数按照与关于所述对象块的方向性对应的顺序与不包括于所述候选列表的帧内预测模式对应,来对所述对象帧内预测模式进行编码。
本发明的一方案的图像编码装置具备:候选列表导出部,导出包括用于对象块的帧内预测的对象帧内预测模式的候选的候选列表;编码部,在所述对象帧内预测模式不包括于所述候选列表的情况下,对用于导出所述对象帧内预测模式的参数进行编码;以及导出部,通过将所述参数按照以所述候选列表包括的帧内预测模式作为基点的顺序与所述候选列表不包括的帧内预测模式对应,来导出所述对象帧内预测模式。
有益效果
根据本发明的各方案,能够使通过QTBT分割等图片的分割而得到的CU的编码效率或解码效率比以往提高。
附图说明
图1是表示实施方式1的图像传输***的构成的概略图。
图2是表示实施方式1的编码流的数据的分级结构的图。
图3是表示PU分割模式的方案的图。图3(a)至图3(h)分别示出了PU分割模式为2N×2N、2N×N、2N×nU、2N×nD、N×2N、nL×2N、nR×2N、以及N×N的情况下的分区形状。
图4是表示参考图片以及参考图片列表的一个示例的概念图。
图5是表示实施方式1的图像解码装置的构成的框图。
图6是表示实施方式1的图像编码装置的构成的框图。
图7是表示实施方式1的图像编码装置的帧间预测图像生成部的构成的概略图。
图8是表示搭载有实施方式1的图像编码装置的发送装置、以及搭载有图像解码装置的接收装置的构成的图。图8(a)示出了搭载有图像编码装置的发送装置,图8(b)示出了搭载有图像解码装置的接收装置。
图9是表示搭载有实施方式1的图像编码装置的记录装置、以及搭载有图像解码装置的再现装置的构成的图。图9(a)示出了搭载有图像编码装置的记录装置,(b)示出了搭载有图像解码装置的再现装置。
图10是表示通过实施方式1的QTBT分割而得到的CU的形状的概略图。
图11是表示图5所示的图像解码装置的预测参数解码部的动作的流程图。
图12是表示在图11所示的预测参数解码部的动作所包括的一个步骤中使用的帧内预测模式的种类(模式编号)的概略图。
图13是表示图5所示的图像解码装置的预测参数解码部所使用的CU的语法的概略图。
图14是表示图13所示的CU的语法中的帧内预测参数的概略图。
图15是表示图6所示的图像编码装置的预测参数编码部的帧内预测参数编码部的构成的概略图。
图16是表示图5所示的图像解码装置的预测参数解码部的帧内预测参数解码部的构成的概略图。
图17是表示图15所示的帧内预测参数编码部中的、以及图16所示的帧内预测参数解码部中的MPM候选列表导出部将预测模式追加到MPM候选列表时的预测模式的顺序的概略图。
图18是表示图15所示的帧内预测参数编码部中的、以及图16所示的帧内预测参数解码部中的MPM候选列表导出部导出MPM候选列表的动作的流程图。
图19是表示图18所示的动作的一个步骤的详细内容的流程图。
图20是表示图18所示的动作的一个步骤的详细内容的流程图。
图21是表示图18所示的动作的一个步骤的详细内容的流程图。
图22是表示与图17所示的追加顺序不同的、MPM候选列表导出部基于块形状将预测模式追加到MPM候选列表时的预测模式的顺序的概略图。
图23是表示与图18所示的动作不同的、MPM候选列表导出部导出MPM候选列表的动作的流程图。
图24是表示图23所示的动作的一个步骤的详细内容的流程图。
图25是表示与图19所示的详细内容不同的一个步骤的详细内容的流程图。
图26是表示与图25所示的详细内容不同的一个步骤的详细内容的流程图。
图27是表示与图22所示的追加顺序不同的、MPM候选列表导出部基于块形状将预测模式追加到MPM候选列表时的预测模式的追加顺序的概略图。
图28是表示实施方式2的MPM候选模式索引的各位与对位进行解码时使用的上下文的对应的概略图。
图29是表示实施方式2的不将平面共享化的示例中的、对象块为非正方形(纵长)的情况下的模式编号与上下文编号的关系的概略图。
图30是表示实施方式2的、根据块形状调整范围的示例中的、对象块为非正方形(纵长)的情况下的模式编号与上下文编号的关系的概略图。
图31是表示实施方式2的、使用在对象块的长边侧、短边侧以及斜向上不同的上下文的示例中的、对象块为正方形的情况下的模式编号与上下文编号的关系的概略图。
图32是表示实施方式3的、块形状为纵长的情况下的帧内预测模式的构成的概略图。
图33是表示实施方式3的、块形状为横长的情况下的帧内预测模式的构成的概略图。
图34是表示实施方式3的、块形状为纵长的情况下的帧内预测模式的构成的概略图。
图35是表示实施方式3的、块形状为横长的情况下的帧内预测模式的构成的概略图。
图36是表示实施方式3的、块形状为非正方形的情况下的帧内预测模式的构成的概略图。
图37是表示图16所示的帧内预测参数解码部的非MPM参数解码部基于块形状而将REM的值与帧内预测模式编号对应的动作的流程图。
图38是表示图16所示的帧内预测参数解码部的非MPM参数解码部基于MPM的方向而将REM的值与帧内预测模式编号对应的动作的流程图。
图39是表示图16所示的帧内预测参数解码部的非MPM参数解码部基于到MPM的距离将REM的值而与帧内预测模式编号对应的动作的流程图。
图40是表示图16所示的帧内预测参数解码部的非MPM参数解码部基于到MPM的距离将REM的值而与帧内预测模式编号对应的其它动作的流程图。
具体实施方式
〔实施方式1〕
以下,参照附图对本发明的实施方式进行说明。
图1是表示本实施方式的图像传输***1的构成的概略图。
图像传输***1是传输对编码对象图像进行了编码而得到的代码,并显示对所传输的代码进行解码而得到的图像的***。图像传输***1构成为包括:图像编码装置11、网络21、图像解码装置31、以及图像显示装置41。
图像编码装置11中输入表示单层或者多层的图像的信号T。层是在构成某一时间的图片存在一个以上的情况下用于区分多个图片的概念。例如,当将相同图片在图像质量、分辨率不同的多个层进行编码时则成为可分级编码(scalable coding),当将不同视点的图片在多个层进行编码时则成为视点可分级编码(view scalable coding)。当在多个层的图片间进行预测(层间预测、视点间预测)的情况下,编码效率大幅度提高。此外,即使在不进行预测的情况(同时联播(simulcast))的情况下,也能够汇总编码数据。
网络21将图像编码装置11所生成的编码流Te传输至图像解码装置31。网络21是互联网(internet)、广域网(WAN:Wide Area Network)、小型网络(LAN:Local Area Network,局域网)或这些的组合。网络21不一定限定于双向的通信网,也可以是传输地面数字广播、卫星广播等广播波的单向的通信网。此外,网络21也可以用DVD(Digital Versatile Disc:数字通用光盘)、BD(Blue-ray Disc:蓝光光盘)等记录有编码流Te的存储介质来代替。
图像解码装置31对网络21所传输的编码流Te分别进行解码,生成分别解码后的一个或多个解码图像Td。
图像显示装置41显示图像解码装置31所生成的一个或多个解码图像Td的全部或一部分。图像显示装置41例如具备液晶显示器、有机EL(Electro-luminescence:电致发光)显示器等显示设备。此外,在空间可伸缩编码、SNR可伸缩编码中,在图像解码装置31、图像表示装置41具有高处理能力的情况下显示画质高的扩展层图像,在仅具有低处理能力的情况下显示无需增强层程度的高处理能力、显示能力的基本层图像(base layer image)。
<运算符>
将在本说明书中使用的运算符如下所述。
>>为向右位移,<<为向左位移,&为逐位AND,|为逐位OR,|=为与其它条件的和运算(OR)。
x?y:z是在x为真(0以外)的情况下取y、在x为假(0)的情况下取z的3项运算符。
Clip3(a,b,c)是将c限幅于a以上b以下的值的函数,是在c<a的情况下返回a、在c>b的情况下返回b、在其它情况下返回c的函数(其中,a<=b)。
<编码流Te的结构>
在对本实施方式的图像编码装置11以及图像解码装置31进行详细说明之前,对由图像编码装置11生成并被图像解码装置31解码的编码流Te的数据结构进行说明。
图2是表示编码流Te中的数据的分级结构的图。编码流Te示例性地包括序列以及构成序列的多个图片。图2(a)~图2(f)分别是表示既定序列SEQ的编码视频序列、规定图片PICT的编码图片、规定切片S的编码切片、规定切片数据的编码切片数据、包括于编码切片数据的编码树单元、以及包括于编码树单元的编码单元(Coding Unit:CU)的图。
(编码视频序列)
在编码视频序列中,规定有数据的集合,供图像解码装置31为了对处理对象的序列SEQ进行解码而参考。序列SEQ如图2(a)所示,包含视频参数集(Video Parameter Set)、序列参数集SPS(Sequence Parameter Set)、图片参数集PPS(Picture Parameter Set)、图片PICT、以及补充扩展信息SEI(Supplemental Enhancement Information)。在此,在#后示出的值表示层ID。在图2中示出了存在#0和#1即层0和层1的编码数据的示例,但层的种类以及层数并不取决于此。
视频参数集VPS在由多个层构成的运动图像中,规定有多个运动图像通用的编码参数的集合、以及运动图像所包含的多个层和与各层相关连的编码参数的集合。
在序列参数集SPS中,规定有编码参数的集合,供图像解码装置31为了对对象序列进行解码而参考。例如,规定了图片的宽度、高度。需要说明的是,SPS可以存在多个。在该情况下,从PPS中选择多个SPS中的任一个。
在图片参数集PPS中,规定有编码参数的集合,供图像解码装置31为了对对象序列内的各图片进行解码而参照。例如包括用于图片的解码的量化宽度的基准值(pic_init_qp_minus26)、以及指示加权预测的应用的标志(weighted_pred_flag)。需要说明的是,PPS可以存在多个。在该情况下,从对象序列内的各图片中选择多个PPS的任一个。
(编码图片)
在编码图片中,规定有数据的集合,供图像解码装置31为了对处理对象的图片PICT进行解码而参考。图片PICT如图2(b)所示,包含切片S0~SNS-1(NS为图片PICT中所包括的切片的总数)。
需要说明的是,以下,在无需对各切片S0~SNS-1进行区分的情况下,有时会省略代码的后缀来进行记述。此外,以下所说明的包括于编码流Te且带有后缀的其他数据也是相同的。
(编码切片)
在编码切片中,规定有数据的集合,供图像解码装置31为了对处理对象的切片S进行解码而参考。切片S如图2(c)所示,包括切片标头(slice header)SH以及切片数据SDATA。
切片标头SH中包括图像解码装置31用于确定对象切片的解码方法而参考的编码参数群。指定切片类型的切片类型指定信息(slice_type)是切片报头SH所包含的编码参数的一个示例。
作为可由切片类型指定信息指定的切片类型,可列举:(1)在进行编码时仅使用帧内预测的I切片、(2)在进行编码时使用单向预测或帧内预测的P切片、以及(3)在进行编码时使用单向预测、双向预测、或帧内预测的B切片等。
需要说明的是,切片标头SH中也可以含有包括于上述编码视频序列的对图片参数集PPS的参照(pic_parameter_set_id)。
(编码切片数据)
在编码切片数据中,规定有数据的集合,供图像解码装置31为了对处理对象的切片数据SDATA进行解码而参考。切片数据SDATA如图2(d)所示,包含编码树单元(CodingTree Unit:CTU)。CTU是构成切片的固定尺寸(例如64×64)的矩形,有时也被称为最大编码单位(Largest Coding Unit:LCU)。
(编码树单元)
如图2(e)所示,规定有数据的集合,供图像解码装置31为了对处理对象的编码树单元进行解码而参考。通过递归的四叉树分割(QT分割)或二叉树分割(BT分割)分割编码树单元。将通过递归的四叉树分割或二叉树分割得到的树形结构的节点称为编码节点(Coding Node:CN)。四叉树以及二叉树的中间节点为编码树(Coding Tree:CT),编码树单元本身也被规定为最上层的编码树。
CTU包括:表示是否进行QT分割的QT分割标志(cu_split_flag)、以及表示BT分割的分割方法的BT分割模式(split_bt_mode)。在cu_split_flag为1的情况下,分割为4个编码节点CN。在cu_split_flag为0的情况下,编码节点CN不被分割,而具有一个编码单元(Coding Unit:CU)来做为节点。另一方面,在split_bt_mode为2的情况下,水平分割为两个编码节点CN。在split_bt_mode为1的情况下,垂直分割为两个编码节点CN。在split_bt_mode为0的情况下,编码节点CN不被分割,而具有一个编码单元CU来做为节点。编码单元CU为编码树的末端节点,且不进行进一步分割。编码单元CU成为编码处理的基本的单位。
在编码树单元CTU的尺寸为64×64像素的情况下能够得到的编码单元的尺寸例如是64×64像素、64×32像素、32×64像素、32×32像素、64×16像素、16×64像素、32×16像素、16×32像素、16×16像素、64×8像素、8×64像素、32×8像素、8×32像素、16×8像素、8×16像素、以及8×8像素中的任一个。但是,根据关于分割的次数、组合、编码单元的尺寸等的制约,也可以得到除此之外的尺寸。
(编码单元)
编码单元层如图2(f)所示,规定有数据的集合,供图像解码装置31为了对处理对象的编码单元进行解码而参考。具体而言,编码单元由预测树、转换树、以及CU标头CUH构成。在CU标头中规定有预测模式、分割方法(PU分割模式)等。
预测树中,规定有将编码单元分割为一个或多个而得到的各预测单元(PU)的预测信息(参考图片索引、运动矢量等)。如果换为其他表述,预测单元是构成编码单元的一个或多个不重复的区域。此外,预测树包括通过前述的分割而得到的一个或多个预测单元。需要说明的是,以下将进一步分割预测单元而得到的预测单位称为“子块(sub block)”。子块由多个像素构成。在预测单元与子块的尺寸相等的情况下,预测单元中的子块为一个。在预测单元的尺寸大于子块的尺寸的情况下,预测单元会被分割为子块。例如在预测单元为8×8、子块为4×4的情况下,预测单元会被分割为四个子块,包括水平分割的两部分和垂直分割的两部分。
预测处理可以按该预测单元(子块)来进行。
预测树中的分割的种类大体来说有帧内预测的情况和帧间预测的情况这两种。帧内预测是同一图片内的预测,帧间预测是指在互不相同的图片间(例如,显示时刻间、层图像间)进行的预测处理。
在帧内预测的情况下,分割方法有2N×2N(与编码单元相同尺寸)和N×N。
此外,在帧间预测的情况下,分割方法根据编码数据的PU分割模式(part_mode)来进行编码,存在2N×2N(与编码单元相同尺寸)、2N×N、2N×nU、2N×nD、N×2N、nL×2N、nR×2N、以及N×N等。需要说明的是,2N×N、N×2N表示1:1的对称分割,
2N×nU、2N×nD以及nL×2N、nR×2N表示1:3、3:1的非对称分割。将包括于CU的PU依次表示为PU0、PU1、PU2、PU3。
图3的(a)至(h)中具体图示出了各个PU分割模式中的分区的形状(PU分割的边界的位置)。图3(a)表示2N×2N的分区,图3(b)、图3(c)、图3(d)分别表示2N×N、2N×nU以及2N×nD的分区(横长分区)。图3(e)、图3(f)、图3(g)分别表示N×2N、nL×2N、nR×2N的情况下的分区(纵长分区),(h)表示N×N的分区。需要说明的是,将横长分区和纵长分区统称为长方形分区,将2N×2N、N×N统称为正方形分区。
此外,在转换树中,编码单元被分割为一个或多个转换单元,并规定了各转换块的位置和尺寸。如果以其它表述来说,则转换单元是构成编码单元的一个或多个不重复的区域。此外,转换树包括通过前述的分割而得到的一个或多个转换单元。
在转换树的分割中具有将与编码单元相同的尺寸的区域分配为转换单元的分割、和与前述的CU的分割相同地通过递归的四叉树分割来进行的分割。
转换处理按该转换单元来进行。
(预测参数)
预测单元((Prediction Unit:PU))的预测图像由与PU关联的预测参数来导出。预测参数中具有帧内预测的预测参数或者帧间预测的预测参数。以下,对帧间预测的预测参数(帧间预测参数)进行说明。帧间预测参数由预测列表利用标志predFlagL0、predFlagL1、参考图片索引refIdxL0、refIdxL1、以及运动矢量mvL0、mvL1构成。预测列表利用标志predFlagL0、predFlagL1是表示是否使用各个被称为L0列表、L1列表的参考图片列表的标志,在值为1的情况下使用对应的参考图片列表。需要说明的是,在本说明书中记为“表示是否为××的标志”的情况下,将标志为0以外(例如1)设为是××的情况,将标志为0设为不是××的情况,在逻辑非、逻辑积等中将1视为真,将0视为假(以下同样)。但是,在实际的装置、方法中也可以使用其他值作为来真值、假值。
用于导出编码数据中所包括的帧间预测参数的语法要素中,例如具有PU分割模式part_mode、合并标志merge_flag、合并索引merge_idx、帧间预测标识符inter_pred_idc、参考图片索引refIdxLX、预测矢量索引mvp_LX_idx、以及差分矢量mvdLX。
(参考图片列表)
参考图片列表是由存储于参考图片存储器306的参考图片构成的列表。图4是表示参考图片以及参考图片列表的一个示例的概念图。在图4的(a)中,矩形表示图片,箭头表示图片的参考关系,横轴表示时间,矩形中的I、P、B分别表示帧内图片、单预测图片、双预测图片,矩形中的数字表示解码顺序。如图所示,图片的解码顺序为I0、P1、B2、B3、B4,显示顺序为I0、B3、B2、B4、P1。图4(b)中示出参考图片列表的示例。参考图片列表是表示参考图片的候选的列表,一个图片(切片)可以具有一个以上的参考图片列表。在图的示例中,对象图片B3具有L0列表RefPicList0以及L1列表RefPicList1这两个参考图片列表。对象图片为B3的情况下的参考图片为I0、P1、B2,参考图片具有这些图片来做为要素。在各预测单元中,由参考图片索引refIdxLX指定实际上参考参考图片列表RefPicListX中的哪一个图片。在图中示出根据refIdxL0以及refIdxL1参考参考图片P1和B2的示例。
(合并预测与AMVP预测)
预测参数的解码(编码)方法中具有合并预测(merge)模式和AMVP(AdaptiveMotion Vector Prediction:自适应运动矢量预测)模式,合并标志merge_flag是用于识别它们的标志。合并预测模式是不使预测列表利用标志predFlagLX(或帧间预测标识符inter_pred_idc)、参考图片索引refIdxLX、运动矢量mvLX包括于编码数据地使用从已处理的附近PU的预测参数中导出使用的模式,AMVP模式是在编码数据中包括帧间预测标识符inter_pred_idc、参考图片索引refIdxLX、运动矢量mvLX的模式。需要说明的是,运动矢量mvLX被编码为识别预测矢量mvpLX的预测矢量索引mvp_LX_idx和差分矢量mvdLX。
帧间预测标识符inter_pred_idc是表示参照图片的种类以及数量的值,取PRED_L0、PRED_L1、PRED_BI中的任一值。PRED_L0、PRED_L1表示使用分别在L0列表、L1列表的参考图片列表中被管理的参考图片,并表示使用一张参考图片(单预测)。PRED_BI表示使用两张参考图片(双预测),并表示使用在L0列表和L1列表中被管理的参考图片。预测矢量索引mvp_LX_idx是表示预测矢量的索引,参考图片索引refIdxLX是表示在参考图片列表中被管理的参考图片的索引。需要说明的是,LX是在不对L0预测和L1预测进行区别的情况下使用的记述方法,通过将LX替换为L0、L1,来对针对L0列表的参数和针对L1列表的参数进行区别。
合并索引merge_idx是表示是否使用从处理已完成的PU推导的预测参数候选(合并候选)中的任一个预测参数作为解码对象PU的预测参数的索引。
(运动矢量)
运动矢量mvLX表示不同的两张图片上的块间的偏移量。将与运动矢量mvLX相关的预测矢量、差分矢量分别称为预测矢量mvpLX、差分矢量mvdLX。
(帧间预测标识符inter_pred_idc与预测列表利用标志predFlagLX)
帧间预测标识符inter_pred_idc与预测列表利用标志predFlagL0、predFlagL1的关系能如下进行相互转换。
inter_pred_idc=(predFlagL1<<1)+predFlagL0
predFlagL0=inter_pred_idc&1
predFlagL1=inter_pred_idc>>1
需要说明的是,帧间预测参数可以使用预测列表利用标志,也可以使用帧间预测标识符。此外,使用了预测列表利用标志的判定可以替换为使用了帧间预测标识符的判定。反之,使用了帧间预测标识符的判定也可以替换为使用了预测列表利用标志的判定。
(双预测biPred的判定)
是否为双预测BiPred的标志biPred可以根据两个预测列表利用标志是否均为1而导出。例如可以通过下式导出。
biPred=(predFlagL0==1&&predFlagL1==1)
标志biPred也可以根据帧间预测标识符是否是表示使用两个预测列表(参考图片)的值而导出。例如可以通过下式导出。
biPred=(inter_pred_idc==PRED_BI)?1:0
上述式也可以通过下式来表示。
biPred=(inter_pred_idc==PRED_BI)
需要说明的是,PRED_BI可以使用例如3的值。
(图像解码装置的构成)
接着,对本实施方式的图像解码装置31的构成进行说明。图5是表示实施方式1的图像解码装置31的构成的框图。图像解码装置31构成为包括:熵解码部301、预测参数解码部(预测图像解码装置)302、环路滤波器305、参考图片存储器306、预测参数存储器307、预测图像生成部(预测图像生成装置)308、逆量化/逆DCT部311,以及加法部312。
此外,预测参数解码部302构成为包括帧间预测参数解码部303以及帧内预测参数解码部304。预测图像生成部308构成为包括帧间预测图像生成部309以及帧内预测图像生成部310。
熵解码部301对从外部输入的编码流Te进行熵解码,并分离各个代码(语法元素)而进行解码。经分离的代码中,具有用于生成预测图像的预测信息以及用于生成差分图像的残差信息等。
熵解码部301将分离后的代码的一部分输出至预测参数解码部302。分离后的代码的一部分例如是预测模式predMode、PU分割模式part_mode、合并标志merge_flag、合并索引merge_idx、帧间预测标识符inter_pred_idc、参考图片索引refIdxLX、预测矢量索引mvp_LX_idx、以及差分矢量mvdLX。基于预测参数解码部302的指示来控制对哪一个代码进行解码。熵解码部301将量化系数输出至逆量化/逆DCT部311。该量化系数是在编码处理中对残差信号进行DCT(Discrete Cosine Transform:离散余弦变换)并进行量化而得到的系数。
帧间预测参数解码部303基于从熵解码部301输入的代码,参考存储于预测参数存储器307的预测参数,来对帧间预测参数进行解码。
帧间预测参数解码部303将解码后得到的帧间预测参数输出至预测图像生成部308,此外,存储于预测参数存储器307。对帧间预测参数解码部303的详细内容将在下文加以记述。
帧内预测参数解码部304基于从熵解码部301输入的代码,参考存储于预测参数存储器307的预测参数,来对帧内预测参数进行解码。帧内预测参数是指在一个图片内对CU进行预测的处理中所使用的参数,例如,帧内预测模式IntraPredMode。帧内预测参数解码部304将解码后得到的帧内预测参数输出至预测图像生成部308,此外,存储于预测参数存储器307。
帧内预测参数解码部304也可以导出在亮度和色差上不同的帧内预测模式。在该情况下,帧内预测参数解码部304将亮度预测模式IntraPredModeY解码作为亮度的预测参数,将色差预测模式IntraPredModeC解码作为色差的预测参数。亮度预测模式IntraPredModeY为35个模式,平面预测(0)、DC预测(1)、方向预测(2~34)与其对应。色差预测模式IntraPredModeC使用平面预测(0)、DC预测(1)、方向预测(2~34)、LM模式(35)中的任一个。帧内预测参数解码部304也可以对表示IntraPredModeC是否是与亮度模式相同的模式的标志进行解码,如果标志表示是与亮度模式相同的模式,则将IntraPredModeY分配至IntraPredModeC,如果标志表示是与亮度模式不同的模式,则将平面预测(0)、DC预测(1)、方向预测(2~34)、LM模式(35)解码作为IntraPredModeC。
环路滤波器305对加法部312所生成的CU的解码图像施加去块滤波、样本自适应偏移(SAO)、自适应环路滤波(ALF)等滤波。
参考图片存储器306将加法部312所生成的CU解码图像按编码对象的图片以及CU存储于预定的位置。
预测参数存储器307将预测参数按解码对象的图片以及预测单元(或子块、固定尺寸块,像素)存储于预定的位置。具体而言,预测参数存储器307存储由帧间预测参数解码部303解码后得到的帧间预测参数、由帧内预测参数解码部304解码后得到的帧内预测参数、以及由熵解码部301分离后得到的预测模式predMode。所存储的帧间预测参数中,例如具有预测列表利用标识符predFlagLX(帧间预测标志inter_pred_idc)、参考图片索引refIdxLX、以及运动矢量mvLX。
预测图像生成部308中输入从熵解码部301输入的预测模式predMode,此外,从预测参数解码部302输入预测参数。此外,预测图像生成部308从参考图片存储器306中读出参考图片。预测图像生成部308在预测模式predMode所表示的预测模式下,使用输入的预测参数和读出的参考图片来生成PU的预测图像。
在此,在预测模式predMode表示帧间预测模式的情况下,帧间预测图像生成部309使用从帧间预测参数解码部303输入的帧间预测参数和读出的参考图片,通过帧间预测来生成PU的预测图像。
帧间预测图像生成部309对预测列表利用标志predFlagLX为1的参考图片列表(L0列表或者L1列表),根据参考图片索引refIdxLX所指示的参考图片,从参考图片存储器306中读出参考图片块,所述参考图片块位于以解码对象PU为基准的运动矢量mvLX所示的位置。帧间预测图像生成部309以读出的参考图片块为基础进行预测,生成PU的预测图像。帧间预测图像生成部309将生成的PU的预测图像输出至加法部312。
在预测模式predMode表示帧内预测模式的情况下,帧内预测图像生成部310使用从帧内预测参数解码部304输入的帧内预测参数和读出的参考图片来进行帧内预测。具体而言,帧内预测图像生成部310从参考图片存储器306中读出解码对象的图片中在已经解码的PU中位于从解码对象PU起预定的范围的相邻PU。预定的范围是指在解码对象PU以所谓的光栅扫描的顺序依次移动的情况下,为例如左、左上、上、右上的相邻PU中的任一个,根据帧内预测模式而不同。光栅扫描的顺序是在各图片中针对从上端至下端各行依次从左端移动至右端的顺序。
帧内预测图像生成部310在帧内预测模式IntraPredMode所示的预测模式下对读出的相邻PU进行预测,并生成PU的预测图像。帧内预测图像生成部310将生成的PU的预测图像输出至加法部312。
在帧内预测参数解码部304中,在导出亮度和色差上不同的帧内预测模式的情况下,帧内预测图像生成部310根据亮度预测模式IntraPredModeY,通过平面预测(0)、DC预测(1)、方向预测(2~34)中的任一个来生成亮度的PU的预测图像,并根据色差预测模式IntraPredModeC,通过平面预测(0)、DC预测(1)、方向预测(2~34)、LM模式(35)中的任一个来生成色差的PU的预测图像。
逆量化/逆DCT部311对从熵解码部301输入的量化系数进行逆量化来求出DCT系数。逆量化/逆DCT部311对求出的DCT系数进行逆DCT(Inverse Discrete CosineTransform:逆离散余弦变换),计算出残差信号。逆量化/逆DCT部311将计算出的残差信号输出至加法部312。
加法部312按像素将从帧间预测图像生成部309或帧内预测图像生成部310输入的PU的预测图像和从逆量化/逆DCT部311输入的残差信号进行相加,生成PU的解码图像。加法部312将生成的PU的解码图像存储于参考图片存储器306,并将按图片整合生成的PU的解码图像而得到的解码图像Td输出至外部。
(图像编码装置的构成)
接着,对本实施方式的图像编码装置11的构成进行说明。图6是表示本实施方式的图像编码装置11的构成的框图。图像编码装置11构成为包括:预测图像生成部101、减法部102、DCT/量化部103、熵编码部104、逆量化/逆DCT部105、加法部106、环路滤波器107、预测参数存储器(预测参数存储部、帧存储器)108、参考图片存储器(参考图像存储部、帧存储器)109、编码参数确定部110、以及预测参数编码部111。预测参数编码部111构成为包含帧间预测参数编码部112以及帧内预测参数编码部113。
对于图像T的各图片,预测图像生成部101按将此图片分割而成的区域即编码单元CU生成预测单元PU的预测图像P。在此,预测图像生成部101基于从预测参数编码部111输入的预测参数,来从参考图片存储器109中读出解码完的块。从预测参数编码部111输入的预测参数例如在帧间预测的情况下,是指运动矢量。预测图像生成部101以对象PU作为起点,读出运动矢量所表示的位于参考图像上的位置的块。此外,在帧内预测的情况下,预测参数是指例如帧内预测模式。从参考图片存储器109中读出在帧内预测模式下使用的邻接PU的像素值,生成PU的预测图像P。预测图像生成部101针对读出的参考图片块,使用多个预测方式中的一个预测方式来生成PU的预测图像。预测图像生成部101将生成的PU的预测图像输出至减法部102。
需要说明的是,预测图像生成部101是与已经说明的预测图像生成部308相同的动作。例如,图7是表示包括于预测图像生成部101的帧间预测图像生成部1011的构成的概略图。帧间预测图像生成部1011构成为包括运动补偿部10111和权重预测部10112。运动补偿部10111以及权重预测部10112分别是与前述的运动补偿部3091、权重预测部3094相同的构成,因此在此省略说明。
预测图像生成部101使用从预测参数编码部输入的参数,以从参考图片存储器中读出的参考块的像素值为基础而生成PU的预测图像P。由预测图像生成部101生成的预测图像输出至减法部102、加法部106。
减法部102从图像T所对应的PU的像素值减去从预测图像生成部101输入的PU的预测图像P的信号值,生成残差信号。减法部102将生成的残差信号输出至DCT/量化部103。
DCT/量化部103对从减法部102输入的残差信号进行DCT,计算出DCT系数。DCT/量化部103对计算出的DCT系数进行量化,并求出量化系数。DCT/量化部103将求出的量化系数输出至熵编码部104以及逆量化/逆DCT部105。
熵编码部104中,从DCT/量化部103输入量化系数,从预测参数编码部111输入编码参数。所输入的编码参数中,例如有参考图片索引refIdxLX、预测矢量索引mvp_LX_idx、差分矢量mvdLX、预测模式predMode、以及合并索引merge_idx等代码。
熵编码部104对输入的量化系数和编码参数进行熵编码从而生成编码流Te,并将生成的编码流Te输出至外部。
逆量化/逆DCT部105对从DCT/量化部103输入的量化系数进行逆量化,并求出DCT系数。逆量化/逆DCT部105对求出的DCT系数进行逆DCT,计算残差信号。逆量化/逆DCT部105将计算出残差信号输出至加法部106。
加法部106按像素将从预测图像生成部101输入的PU的预测图像P的信号值与从逆量化/逆DCT部105输入残差信号的信号值相加,生成解码图像。加法部106将生成的解码图像存储于参考图片存储器109。
环路滤波器107对加法部106所生成的解码图像施加去块滤波、样本自适应偏移(SAO)、自适应环路滤波(ALF)。
预测参数存储器108将预测参数编码部110所生成的预测参数按编码对象的图片以及CU存储于预定的位置。
参考图片存储器109将环路滤波器107所生成的解码图像按编码对象的图片以及CU存储于预定的位置。
编码参数确定部110选择编码参数的多个集合中的一个集合。编码参数是指前述的预测参数、与该预测参数关联而生成的成为编码的对象的参数。预测图像生成部101分别使用这些编码参数的集合来生成PU的预测图像。
编码参数确定部110对多个集合的每一个集合计算出信息量的大小和表示编码误差的成本值。成本值例如是代码量与平方误差乘以系数λ而得到的值之和。代码量是对量化误差和编码参数进行熵编码而得到的编码流Te的信息量。方差是关于在减法部102中计算出的残差信号的残差值的平方值的像素间的总和。系数λ是大于预先设定的零的实数。编码参数确定部110选择计算出的成本值成为最小的编码参数的集合。由此,熵编码部104将所选择的编码参数的集合作为编码流Te输出至外部,而不输出未被选择的编码参数的集合。编码参数确定部110将确定的编码参数存储于预测参数存储器108。
预测参数编码部111根据从编码参数确定部110输入的参数,导出用于编码的形式,并输出至熵编码部104。用于编码的形式的导出例如是指由运动矢量和预测矢量导出差分矢量。此外,预测参数编码部111从由编码参数确定部110输入的参数中导出用于生成预测图像所需的参数,并输出至预测图像生成部101。用于生成预测图像所需的参数例如是指子块单位的运动矢量。
帧间预测参数编码部112基于从编码参数确定部110输入的预测参数,来导出像差分矢量那样的帧间预测参数。帧间预测参数编码部112中,作为导出生成输出至预测图像生成部101的预测图像所需的参数的构成,包括一部分与帧间预测参数解码部303(参考图6)导出帧间预测参数的构成相同的构成。帧间预测参数编码部112的构成将在下文加以叙述。
帧内预测参数编码部113根据从编码参数确定部110输入的帧内预测模式IntraPredMode,导出用于编码的形式(例如mpm_idx、rem_intra_luma_pred_mode等)。
(通过QTBT分割而得到的CU形状)
图10是表示本实施方式的通过QTBT分割而得到的CU的形状的概略图。如图10所示,对图片进行QT分割,并进一步进行QT分割或BT分割,由此得到纵长/横长/正方形的CU。
需要说明的是,虽然并未特别图示出,但处理中或处理完成的块(CU/PU/TU)的位置、大小等属性信息被适当地供给到需要的部位。
(预测参数解码部302的动作)
图11是表示图5所示的图像解码装置31的预测参数解码部302的动作的流程图。图11所示的动作包括步骤S101~S103。
<步骤S101>
预测参数解码部302接受与CT有关的CT信息,判定是否进行帧间预测。在步骤S101中,在预测参数解码部302判定为进行帧间预测的情况(是)下,执行步骤S102。在步骤S101中,在预测参数解码部302判定为不进行帧间预测的情况(否)下,执行步骤S103。
<步骤S102>
在图像解码装置31中进行帧间预测的处理。预测参数解码部302将与帧间预测的处理结果对应的与CU有关的CU信息供给至预测图像生成部308(图5)。
<步骤S103>
在图像解码装置31中进行帧内预测的处理。预测参数解码部302将与帧内预测的处理结果对应的与CU有关的CU信息供给至预测图像生成部308。
需要说明的是,以上的处理不仅应用于解码处理,也应用于编码处理。在编码处理中,图5所示的“图像解码装置31”“预测参数解码部302”“预测图像生成部308”分别与图6所示的“图像编码装置11”“预测参数编码部111”“预测图像生成部101”对应。需要说明的是,在下面的处理中,也能将图5所示的图像解码装置31的各部与图6所示的图像编码装置11的各部对应。
(帧内预测模式的种类)
图12是表示在图11所示的预测参数解码部302的动作所包括的步骤S103中使用的帧内预测模式的种类(模式编号)的概略图。如图12所示,帧内预测模式例如存在67种(0~66)。
(CU以及帧内预测参数的语法)
图13是表示图5所示的图像解码装置31的预测参数解码部302所使用的CU的语法的概略图。如图13所示,预测参数解码部302执行coding_unit函数。coding_unit函数取以下自变量。
x0:对象CU的左上亮度像素的X坐标
y0:对象CU的左上亮度像素的Y坐标
log2CbWidth:对象CU的宽度(X方向的长度)
log2CbHeight:对象CU的高度(Y方向的长度)
需要说明的是,虽然对对象CU的宽度和高度使用2的对数值,但并不限定于此。
图14是表示图13所示的CU的语法中的帧内预测参数的概略图。如图14所示,coding_unit函数使用以下的5个语法元素来指定应用于亮度像素的帧内预测模式IntraPredModeY[x0][y0]。
prev_intra_luma_pred_flag[x0][y0]
mpm_idx[x0][y0]
rem_selected_mode_flag[x0][y0]
rem_selected_mode[x0][y0]
rem_non_selected_mode[x0][y0]
<MPM>
prev_intra_luma_pred_flag[x0][y0]是表示对象PU(块)的帧内预测模式IntraPred ModeY[x0][y0]与MPM(Most Probable Mode)一致的标志。MPM是指包括于MPM候选列表的预测模式,是当应用于对象PU的概率高时推定出的帧内预测模式值,并导出1个以上的值。需要说明的是,具有多个MPM的情况有时也被统称为MPM。
mpm_idx[x0][y0]是用于选择MPM的MPM候选模式索引。
<REM>
rem_selected_mode_flag[x0][y0]是指定是进行参考了rem_selected_mode[x0][y0]的帧内预测模式的选择、还是进行参考了rem_non_selected_mode[x0][y0]的帧内预测模式的选择的标志。
rem_selected_mode[x0][y0]是用于指定RemIntraPredMode的语法。
rem_non_selected_mode[x0][y0]是用于指定rem_selected_mode[x0][y0]未指定的RemIntraPredMode的语法。
需要说明的是,RemIntraPredMode是用于求出帧内预测模式IntraPredModeY[x0][y0]的临时变量。RemIntraPredMode从整个帧内预测模式中选择除了与MPM对应的帧内预测模式以外的其余模式。作为RemIntraPredMode可选择的帧内预测模式被称为“非MPM”或“REM”。
REM为亮度帧内预测模式,是MPM以外的(不包括在MPM候选列表中)预测模式。由于帧内预测模式编号中,0(PLANAR)和1(DC)始终包括在MPM中,因此REM是方向预测模式。由RemIntraPredMode选择REM。RemIntraPredMode的值与帧内预测模式编号在图12所示的示例中,按照从左下(2)向右上(66)逆时针的顺序与帧内预测模式编号对应,以便RemIntraPredMode的值为升序。
(帧内预测参数编码部113的构成)
图15是表示图6所示的图像编码装置11的预测参数编码部111的帧内预测参数编码部113的构成的概略图。如图15所示,帧内预测参数编码部113构成为包括:帧内预测参数编码控制部1131、亮度帧内预测参数导出部1132、以及色差帧内预测参数导出部1133。
帧内预测参数编码控制部1131从编码参数确定部110接受亮度预测模式IntraPredModeY以及色差预测模式IntraPredModeC的供给。此外,帧内预测参数编码控制部1131向预测图像生成部101供给(控制)IntraPredModeY/C。此外,帧内预测参数编码控制部1131向后述的MPM参数导出部11322和非MPM参数导出部11323供给亮度预测模式IntraPredModeY。此外,帧内预测参数编码控制部1131向色差帧内预测参数导出部1133供给亮度预测模式IntraPredModeY以及色差预测模式IntraPredModeC。
亮度帧内预测参数导出部1132构成为包括:MPM候选列表导出部30421(候选列表导出部)、MPM参数导出部11322(参数导出部)、以及非MPM参数导出部11323(参数导出部、编码部、导出部)。
MPM候选列表导出部30421接受预测参数存储器108所存储的预测参数的供给。此外,MPM候选列表导出部30421向MPM参数导出部11322和非MPM参数导出部11323供给MPM候选列表candModeList。以下将MPM候选列表candModeList简记为“MPM候选列表”。
MPM参数导出部11322向熵编码部104供给前述的prev_intra_luma_pred_flag以及mpm_idx。非MPM参数导出部11323向熵编码部104供给前述的prev_intra_luma_pred_flag、rem_selected_mode_flag、rem_selected_mode、以及rem_non_selected_mode。色差帧内预测参数导出部1133向熵编码部104供给后述的not_dm_chroma_flag、not_lm_chroma_flag以及chroma_intra_mode_idx。
(帧内预测参数解码部304的构成)
图16是表示图5所示的图像解码装置31的预测参数解码部302的帧内预测参数解码部304的构成的概略图。如图16所示,帧内预测参数解码部304构成为包括:帧内预测参数解码控制部3041、亮度帧内预测参数解码部3042、以及色差帧内预测参数解码部3043。
帧内预测参数解码控制部3041从熵解码部301接受代码的供给。此外,帧内预测参数解码控制部3041向熵解码部301供给解码指示信号。此外,帧内预测参数解码控制部3041向后述的MPM参数解码部30422供给前述的mpm_idx。此外,帧内预测参数解码控制部3041向后述的非MPM参数解码部30423供给前述的rem_selected_mode_flag、rem_selected_mode、以及rem_non_selected_mode。此外,帧内预测参数解码控制部3041向色差帧内预测参数解码部3043供给前述的not_dm_chroma_flag、not_lm_chroma_flag、以及chroma_intra_mode_idx。
亮度帧内预测参数解码部3042构成为包括:MPM候选列表导出部30421、MPM参数解码部30422(参数解码部)、以及非MPM参数解码部30423(参数解码部、解码部、导出部)。
MPM候选列表导出部30421将MPM候选列表供给至MPM参数解码部30422和非MPM参数解码部30423。
MPM参数解码部30422和非MPM参数解码部30423向帧内预测图像生成部310供给前述的亮度预测模式IntraPredModeY。
色差帧内预测参数解码部3043向帧内预测图像生成部310供给色差预测模式IntraPredModeC。
(帧内预测参数(亮度)的导出方法1)
预测参数解码部302在prev_intra_luma_pred_flag[x0][y0]为1时,从MPM候选列表中选择亮度像素中的对象块(PU)的帧内预测模式IntraPredModeY[x0][y0]。MPM候选列表(候选列表)是包括多个(例如6个)帧内预测模式的列表,从邻接块的帧内预测模式以及规定的帧内预测模式导出。
MPM参数解码部30422使用图14所示的语法中记载的mpm_idx[x0][y0],来选择MPM候选列表中所储存的帧内预测模式IntraPredModeY[x0][y0]。
(帧内预测参数(亮度)的导出方法2)
接着,对MPM候选列表的导出方法进行说明。MPM候选列表导出部30421随时判定MPM候选列表中是否已经包括某预测模式。MPM候选列表导出部30421不对MPM候选列表重复追加包括于MPM候选列表的预测模式。并且,如果MPM候选列表的预测模式数达到规定的数量(例如6个),则MPM候选列表导出部30421结束MPM候选列表的导出。<1.邻接模式以及平面模式的追加>
图17是表示图15所示的帧内预测参数编码部113中的、以及图16所示的帧内预测参数解码部304中的MPM候选列表导出部30421将预测模式追加到MPM候选列表时的预测模式的顺序的概略图。如图17所示,MPM候选列表导出部30421按照以下的顺序向MPM候选列表追加邻接模式以及平面模式中。
(1)对象块的左块的帧内预测模式(邻接模式)
(2)对象块的上块的帧内预测模式(邻接模式)
(3)PLANAR预测模式(平面模式)
(4)DC预测模式(平面模式)
(5)对象块的左下块的帧内预测模式(邻接模式)
(6)对象块的右上块的帧内预测模式(邻接模式)
(7)对象块的左上块的帧内预测模式(邻接模式)
<2.派生模式的追加>
针对MPM候选列表中的各方向预测模式(PLANAR预测以及DC预测以外),MPM候选列表导出部30421对MPM候选列表追加预测模式前后的模式、就是说图12所示的模式编号为±1的预测模式的派生模式(derivedmode)。
<3.默认模式的追加>
MPM候选列表导出部30421将默认模式追加到MPM候选列表中。默认模式是模式编号为50(垂直/VER)、18(水平/HOR)、2(左下)或34(左上对角/DIA)的预测模式。
需要说明的是,方便起见,将模式编号为2的预测模式(左下)与模式编号为66的预测模式(右上/VDIA)视为相邻(模式编号为±1)。
(MPM候选列表的导出方法)
图18是表示图15所示的帧内预测参数编码部113中的、以及图16所示的帧内预测参数解码部304中的MPM候选列表导出部30421导出MPM候选列表的动作的流程图。如图18所示,MPM候选列表导出部30421导出MPM候选列表的动作包括步骤S201、S202、以及S203。
<步骤S201>
MPM候选列表导出部30421对MPM候选列表追加邻接模式以及平面模式。图19(a)是表示图18所示的动作的步骤S201的详细内容的流程图。如图19(a)所示,步骤S201包括步骤S2011至S2014。
[步骤S2011]
MPM候选列表导出部30421对包括邻接模式以及平面模式的列表的各模式Md开始进行循环处理。在此,循环对象的列表的第i个要素每循环一次就被代入Md一次(在关于其它列表的循环中也相同)。需要说明的是,“包括邻接模式以及平面模式的列表”是为了便于说明的概念。这并不表示实际的数据构造,只要按照规定的顺序对所包括的要素进行处理即可。
[步骤S2012]
MPM候选列表导出部30421判定MPM候选列表内的要素数量是否小于规定的数量(例如6)。在要素数量小于6的情况(是)下,执行步骤S2013。在要素数量不小于6的情况(否)下,步骤S201结束。
[步骤S2013]
图19(b)是表示图19(a)所示的步骤S201的步骤S2013的详细内容的流程图。如图19(b)所示,步骤S2013包括步骤S20131以及S20132。
在步骤S20131中,MPM候选列表导出部30421判定MPM候选列表中是否没有模式Md。在MPM候选列表中不存在模式Md的情况(是)下,执行步骤S20132。在MPM候选列表中存在模式Md的情况(否)下,步骤S2013结束。
在步骤S20132中,MPM候选列表导出部30421在MPM候选列表的最后追加模式Md,使MPM候选列表的要素数量增加1。
[步骤S2014]
MPM候选列表导出部30421判定包括邻接模式以及平面模式的列表内是否有未处理的模式。在有未处理的模式的情况(是)下,重新执行步骤S2011。在没有未处理的模式的情况(否)下,步骤S201结束。
<步骤S202(图18)>
MPM候选列表导出部30421对MPM候选列表追加派生模式。图20(a)是表示图18所示的动作的步骤S202的详细内容的流程图。如图20(a)所示,步骤S202包括步骤S2021至S2024。
[步骤S2021]
MPM候选列表导出部30421对MPM候选列表的各模式Md开始进行循环处理。
[步骤S2022]
MPM候选列表导出部30421判定模式Md是否为方向预测。在模式Md是方向预测的情况(是)下,执行步骤S2023,并执行步骤S2024。在模式Md不是方向预测的情况(否)下,执行步骤S2024。
[步骤S2023]
图20(b)是表示图20(a)所示的步骤S202的步骤S2023的详细内容的流程图。如图20(b)所示,步骤S2023包括步骤S20231至S20236。
在步骤S20231中,MPM候选列表导出部30421判定MPM候选列表内的要素数量是否小于6。在要素数量小于6的情况(是)下,执行步骤S20232。在要素数量不小于6的情况(否)下,步骤S2023结束。
在步骤S20232中,MPM候选列表导出部30421导出与模式Md邻接的方向预测模式Md_-1。如前所述,模式Md在步骤S2022中被判定为是方向预测模式,与模式Md对应的模式编号为图12所示的2~66中的任一个。此时,与模式Md邻接的方向预测模式Md_-1是从与模式Md对应的模式编号中减去1后得到的模式编号所对应的方向预测模式。但是,在与模式Md对应的模式编号为2时,与模式Md邻接的方向预测模式Md_-1是与模式编号66对应的预测方向模式。
在步骤S20233中,将Md_-1代入图19(b)所示的步骤S2013的自变量Md来进行处理。
在步骤S20234中,MPM候选列表导出部30421判定MPM候选列表内的要素数量是否小于6。在要素数量小于6的情况(是)下,执行步骤S20235。在要素数量不小于6的情况(否)下,步骤S2023结束。
在步骤S20235中,MPM候选列表导出部30421导出与模式Md邻接的方向预测模式Md_+1。与模式Md邻接的方向预测模式Md_+1是使与模式Md对应的模式编号加上1后得到的模式编号所对应的方向预测模式。但是,在与模式Md对应的模式编号为66时,将与模式Md邻接的方向预测模式Md_+1设为模式编号2。
在步骤S20236中,将Md_+1代入图19(b)所示的步骤S2013的自变量Md来进行处理。
[步骤S2024]
MPM候选列表导出部30421判定MPM候选列表内是否有未处理的模式。在MPM候选列表内有未处理的模式的情况(是)下,重新执行步骤S2021。在MPM候选列表内没有未处理的模式的情况(否)下,步骤S202结束。
<步骤S203(图18)>
MPM候选列表导出部30421对MPM候选列表追加默认模式。图21是表示图18所示的动作的步骤S203的详细内容的流程图。如图21所示,步骤S203包括步骤S2031至S2034。
[步骤S2031]
MPM候选列表导出部30421对包括默认模式的列表的各模式Md开始进行循环处理。
[步骤S2032]
MPM候选列表导出部30421判定MPM候选列表内的要素数量是否小于6。在要素数量小于6的情况(是)下,执行步骤S2033。在要素数量不小于6的情况(否)下,步骤S203结束。
[步骤S2033]
在步骤S2033中,将步骤S2031中的Md代入图19(b)所示的步骤S2013的自变量Md来进行处理。
[步骤S2034]
MPM候选列表导出部30421判定包括默认模式的列表内是否有未处理的模式。在有未处理的模式的情况(是)下,重新执行步骤S2031。在没有未处理的模式的情况(否)下,步骤S203结束。
(帧内预测参数(亮度)的导出方法3)
在prev_intra_luma_pred_flag[x0][y0]为0时,非MPM参数解码部30423使用RemIntraPredMode和MPM候选列表来导出亮度像素中的对象块(PU)的帧内预测模式IntraPredModeY[x0][y0]。
首先,如果rem_selected_mode_flag[x0][y0]为1,则RemIntraPredMode为使rem_selected_mode的值向左移两位的值。如果rem_selected_mode_flag[x0][y0]为0,则RemIntraPredMode为使rem_non_selected_mode的值扩大4倍而得到的值除以3后再使得到的商加上1的值。表1示出rem_selected_mode、rem_non_selected_mode、以及RemIntraPredMode之间的对应。也可以不使用前述的计算,而是使用像表1那样的表来计算出RemIntraPredMode。
[表1]
Rem_selected_mode | 0 | 1 | 2 | … | |||||||
Rem_non_selected_mode | 0 | 1 | 2 | 3 | 4 | 5 | 6 | … | |||
RemIntraPreMode | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | … |
需要说明的是,RemIntraPredMode的计算并不限于上述的示例。而且,RemIntraPredMode与rem_selected_mode,rem_non_selected_mode的值的对应也可以与上述的示例不同。例如,如果rem_selected_mode_flag[x0][y0]为1,则RemIntraPredMode将使rem_selected_mode的值向左移3位的值设为RemIntraPredMode,如果rem_selected_mode_flag[x0][y0]为0,则RemIntraPredMode也可以通过将使rem_non_selected_mode的值扩大8倍而得到的值除以7后再使得到的商加上1的值设为RemIntraPredMode来进行计算。
在对rem_selected_mode[x0][y0]进行固定长度编码的情况下,如表1所示,通过对RemIntraPredMode分散并分配rem_selected_mode,有模式编号的大小不对编码数据的代码量造成影响,且降低方向选择的偏差的效果。
(帧内预测参数(亮度)的导出方法4)
RemIntraPredMode表示对非MPM标注的序列号,因此为了导出IntraPredModeY[x0][y0],需要与包括于MPM候选列表的MPM的预测模式值进行比较来进行校正。当例示出通过伪代码进行的导出处理时,则如下所述。
非MPM参数解码部30423通过RemIntraPredMode对变量intraPredMode进行初始化后,从包括于MPM候选列表的预测模式值的较小一侧起依次与RemIntraPredMode进行比较,并在预测模式值小于intraPredMode的情况下使intraPredMode加1。对MPM候选列表的所有要素进行该处理而得到的intraPredMode的值为IntraPredModeY[x0][y0]。(帧内预测参数(亮度)的导出方法5)
表2示出以帧内预测模式(模式编号)0、1、18、以及49~51(黑色)作为MPM候选(candModeList)时的MPM候选(candModeList)、RemIntraPredMode、rem_selected_mode、以及rem_non_selected_mode的关系。
[表2]
如上所述,将REM分类为selected mode和non-selected mode。
<selected mode>
selected mode是选自RemIntraPredMode的模式群。例如,是将RemIntraPredMode除以4后的余数为0的模式。在该情况下,根据预测模式的方向不同,编码数据的位数并没有差异,就是说,在图像编码装置11(图6)中,能够降低预测模式选择的方向性偏差。对selected mode中的序列号(rem_selected_mode)进行固定长度编码(在本实施例中,为了选择16个预测模式而设为4位)。由于能设为位数比后述的non-selected mode短的编码数据,因此即使在RemIntraPredMode中,也可以选择被选择的可能性较高的预测模式。
<non-selected mode>
对non-selected mode中的序列号(rem_non_selected_mode)进行可变长度编码。编码后的rem_non_selected_mode为可变长度代码,因此,根据预测模式的方向不同,编码数据的位数不同。该位数具体而言为5位或6位,从预测模式编号较小的一侧起,用5位编码20个。与此相同地,即使在编码为5位或6位的情况下,通过使被选择的可能性高的预测方向与更短的代码相对应,也能够减少代码量。或者,如果使rem_non_selected_mode的编码数据的位数取更宽幅(例如在4位至8位的范围),并使被选择的可能性高的预测方向与更短的(4位)代码对应,则能进一步减少代码量。(基于块形状的MPM候选列表的导出方法的变更)
如前所述,在以往技术中,并未充分地考虑到PU的块形状的不同,编码效率尚有改善的余地。例如,可以采取在纵长块中重视纵向、在横长块中重视横向的MPM候选列表的导出方法。
(A-1.1:基于块形状的邻接模式以及平面模式的追加)
根据块形状为纵长还是横长,通过变更作为邻接模式以及平面模式追加到MPM候选列表中的预测模式的顺序和/或内容,能解决前述问题。
具体而言,在对象块为纵长的情况下,优先或略多地以对象块的上侧的邻接块的预测模式作为追加对象。在对象块为横长的情况下,优先的或略多地以对象块的左侧的邻接块的预测模式作为追加对象。
图22(a)是表示与图17所示的追加顺序不同的、MPM候选列表导出部30421基于块形状将预测模式追加到MPM候选列表时的预测模式的追加顺序的概略图。如图22(a)所示,MPM候选列表导出部30421按照以下的顺序对MPM候选列表追加邻接模式以及平面模式。
(1)对象块的上块的帧内预测模式(邻接模式)
(2)对象块的左块的帧内预测模式(邻接模式)
(3)PLANAR预测模式(平面模式)
(4)DC预测模式(平面模式)
(5)对象块的右上块的帧内预测模式(邻接模式)
(6)对象块的左上块的帧内预测模式(邻接模式)
(7)对象块的左下块的帧内预测模式(邻接模式)
在图17中,对象块上侧的邻接块的帧内预测模式被追加到MPM候选列表的第2个列表中,但在图22(a)中,被追加到MPM候选列表的第1个列表中。这样,在对象块为纵长的情况下,优先以对象块上侧的邻接块的帧内预测模式作为追加对象。
在MPM候选列表中优先(就是说,对于更小值的索引)追加帧内预测模式是为了更加缩短将该帧内预测模式选择为MPM所需的
语法元素(mpm_idx)的位长度,实现编码效率的提高。
需要说明的是,在对象块为横长的情况下,也可以优先将对象块左侧的邻接块的帧内预测模式作为追加对象。但是,如图17所示,在对象块左侧的邻接块的帧内预测模式被优先、就是说被追加到MPM候选列表的第1个列表的情况下,也可以保持此MPM候选列表原样。
图22(b)是表示与图22(a)所示的追加顺序不同的追加顺序的概略图。如图22(b)所示,MPM候选列表导出部30421按照以下的顺序向MPM候选列表追加邻接模式以及平面模式。
(1)对象块的左块的帧内预测模式(邻接模式)
(2)对象块的上块的帧内预测模式(邻接模式)
(3)PLANAR预测模式(平面模式)
(4)DC预测模式(平面模式)
(5)对象块的左下块的帧内预测模式(邻接模式)
(6)对象块的左上块的帧内预测模式(邻接模式)
(7)对象块的右上块的帧内预测模式(邻接模式)
如图17所示,在对象块左侧的邻接块的帧内预测模式被优先、就是说被追加到MPM候选列表的第1个列表的情况下,如图22(b)所示,保持此MPM候选列表原样。
另一方面,在图17中,对象块左下侧的邻接块的帧内预测模式被追加到MPM候选列表的第7个列表中,但在图22(b)中,被追加到MPM候选列表的第5个列表中。这样,在对象块为横长的情况下,优先将对象块左侧的邻接块的帧内预测模式作为追加对象。
(A-1.2:基于块形状的邻接模式以及平面模式的追加:改进例)
图22(c)是图22(a)所示的方案的改进例。如图22(c)所示,MPM候选列表导出部30421也可以如下所述地向MPM候选列表追加邻接模式以及平面模式。
(1)对象块的上块的帧内预测模式(邻接模式)
(2)对象块的左块的帧内预测模式(邻接模式)
(3)PLANAR预测模式(平面模式)
(4)DC预测模式(平面模式)
(5)对象块的右上块的帧内预测模式(邻接模式)
(6)对象块的左上块的帧内预测模式(邻接模式)
在图22(a)中,对象块左下侧的邻接块的帧内预测模式被追加到MPM候选列表的第7个列表中,但在图22(c)中,并未被追加。这样,在对象块为纵长的情况下,通过不将对象块左下侧的邻接块的帧内预测模式追加到MPM候选列表中,使MPM候选列表中的对象块上侧的邻接块的帧内预测模式的比例相对变高。此外,通过不追加来抑制将不需要的预测模式作为派生模式追加到MPM候选列表中。
图22(d)是图22(b)所示的方案的改进例。如图22(d)所示,MPM候选列表导出部30421也可以如下所述地对MPM候选列表追加邻接模式以及平面模式。
(1)对象块的左块的帧内预测模式(邻接模式)
(2)对象块的上块的帧内预测模式(邻接模式)
(3)PLANAR预测模式(平面模式)
(4)DC预测模式(平面模式)
(5)对象块的左下块的帧内预测模式(邻接模式)
(6)对象块的左上块的帧内预测模式(邻接模式)
在图22(b)中,对象块右上侧的邻接块的帧内预测模式被追加到MPM候选列表的第7个列表中,但在图22(d)中,并未被追加。这样,在对象块为横长的情况下,通过不将对象块右上侧的邻接块的帧内预测模式追加到MPM候选列表中,使MPM候选列表中的对象块左侧的邻接块的帧内预测模式的比例相对变高。此外,通过不追加来抑制将不需要的预测模式作为派生模式追加到MPM候选列表中。
(A-2:基于块形状的派生模式的追加)
MPM候选列表导出部30421通过根据块形状是纵长还是横长,变更作为派生模式追加到MPM候选列表中的预测模式的顺序和/或内容,能解决上述问题。需要说明的是,以下对MPM候选列表进行追加预测模式等的主体为MPM候选列表导出部30421。
<顺序的变更>
具体而言,在对象块为纵长的情况下,首先,尝试对纵向的预测模式追加派生模式,接着尝试对横向的预测模式追加派生模式。在对象块为横长的情况下,与对象块为纵长的情况相反,就是说,首先尝试对横向的预测模式追加派生模式,接着尝试对纵向的预测模式追加派生模式。
在对象块为正方形块的情况下,以与所述“<2.派生模式的追加>”相同的方法追加派生模式。将预测模式分类为纵向/横向的方法优选设为与上下文自适应二进制算术编码(Context Adaptive Binary Arithmetic Coding:CABAC)的上下文相同。CABAC的上下文的详细内容将在下文加以叙述。(基于块形状的派生模式的追加动作)
图23是表示与图18所示的动作不同的、MPM候选列表导出部30421导出MPM候选列表的动作的流程图。图23所示的动作包括步骤S201、S20201、S202、S20202、两个S202a、两个S202b、以及S203。
<步骤S20201>
MPM候选列表导出部30421在步骤S201之后,判定对象块是否为正方形。在对象块是正方形的情况(是)下,执行步骤S202。在对象块不是正方形的情况(否)下,执行步骤S20202。
<步骤S20202>
MPM候选列表导出部30421判定对象块是否为纵长。在对象块是纵长的情况(是)下,执行步骤S202a。在对象块不是纵长的情况(否)下,执行步骤S202b。
<步骤S202a>
MPM候选列表导出部30421对MPM候选列表追加纵向的派生模式。在步骤S20202之后执行步骤S202a的情况下,在步骤S202a之后,执行步骤S202b。在步骤S202a之后执行步骤S202b的情况下,在步骤S202b之后,执行步骤S203。
图24(a)是表示图23所示的动作的步骤S202a的详细内容的流程图。如图24(a)所示,步骤S202a包括步骤S2021、S2022a、S2023、以及S2024。
[步骤S2022a]
MPM候选列表导出部30421在步骤S2021之后,判定模式Md是否为方向预测且为纵向。在模式Md为方向预测且为纵向的情况(是)下,执行步骤S2023,并执行步骤S2024。在模式Md不为方向预测且不为纵向的情况(否)下,执行步骤S2024。
<步骤S202b>
MPM候选列表导出部30421对MPM候选列表追加横向的派生模式。在步骤S20202之后执行步骤S202b的情况下,在步骤S202b之后,执行步骤S202a。在步骤S202b之后执行步骤S202a的情况下,在步骤S202a之后,执行步骤S203。
图24(b)是表示图23所示的动作的步骤S202b的详细内容的流程图。如图24(b)所示,步骤S202b包括步骤S2021、S2022b、S2023、以及S2024。
[步骤S2022b]
MPM候选列表导出部30421在步骤S2021之后,判定模式Md是否为方向预测且为横向。在模式Md为方向预测且为横向的情况(是)下,执行步骤S2023,并执行步骤S2024。在模式Md不为方向预测且不为横向的情况(否)下,执行步骤S2024。
<内容的变更>
在对象块为纵长的情况下,尝试仅对纵向的预测模式追加派生模式。横向的预测模式不作为派生模式的追加对象。作为例外,也可以仅将一部分的模式(模式编号为18的水平方向等)作为追加对象。
在对象块为横长的情况下,与对象块为纵长的情况相反,就是说,尝试仅对横向的预测模式追加派生模式。纵向的预测模式不作为派生模式的追加对象。作为例外,也可以仅将一部分的模式(模式编号为50的垂直方向等)作为追加对象。
(A-3:基于块形状的默认模式的追加)
根据块形状为纵长还是横长,通过变更作为默认模式追加到MPM候选列表的预测模式的顺序和/或内容,能解决上述问题。
具体而言,在对象块为纵长的情况下,以优先或较多地追加纵向的预测模式的方式构成默认模式。在为横长块的情况下,以优先或较多地追加横向的预测模式的方式构成默认模式。
在对象块为正方形块的情况下,以与所述“<3.默认模式的追加>”相同的方法追加默认模式。至少根据对象块的长边/短边的方向改变模式编号为18的水平方向的预测模式/模式编号为50的垂直方向的预测模式的顺序。斜向与水平方向/垂直方向相比重要性相对较低,因此可以不进行变更,但如果进行变更,则优先以分别更接近水平方向/垂直方向的朝向为好。
(A-3:基于块形状的默认模式的追加动作)
<顺序的变更例>
在块形状为纵长的情况/横长的情况下,分别优先垂直方向/水平方向的预测模式。例如,如下所述地对默认模式进行变更。以下用模式编号表示预测模式。
变更前:50,18,2,34
变更后:纵长:50,18,34,2
横长:18,50,2,34
正方形:50,18,2,34
MPM候选列表导出部30421在对象块为纵长的情况下,使34优先于2。MPM候选列表导出部30421在对象块为横长的情况下,使18优先于50。
如前所述,50为垂直(VER)方向的预测模式。18为水平(HOR)方向的预测模式。2为左下到右上方向的预测模式。34为左上到右下(DIA)方向的预测模式。
<内容的变更例1>
在块形状为纵长的情况/横长的情况下,使分别接近垂直方向/水平方向的斜向包括于默认模式。例如,如下所述地对默认模式进行变更。
变更后:纵长:50,58,42,18,2,34
横长:18,10,26,50,2,34
正方形:50,18,2,34
在对象块为纵长的情况下,默认模式包括58以及42。在对象块为横长的情况下,默认模式包括10以及26。
在此,58以及42是接近垂直的斜向的预测模式。10以及26是接近水平的斜向的预测模式。
<内容的变更例2>
如果固定默认模式所包括的预测模式的总数,则例如如下所述地对默认模式进行变更。
变更后:纵长:50,58,42,18
横长:18,10,26,50
正方形:50,18,2,34
(A-4:基于块形状的视为重复方向的条件的变更)
根据块形状为纵长还是横长,通过变更视为重复方向的条件,能解决上述问题。“视为重复方向的条件”是指当对MPM候选列表追加预测模式时用于判定预测模式是否已经包括在MPM候选列表中的条件。
在对象块为纵长的情况下,对视为重复方向的条件追加以下的条件。条件:如果在MPM候选列表中已经包括某横向的方向预测模式的表示邻近方向的预测模式,则不重复追加此方向预测模式。
在对象块为横长的情况下,对视为重复方向的条件追加以下的条件。条件:如果在MPM候选列表中已经包括某纵向的方向预测模式的表示邻近方向的预测模式,则不重复追加此方向预测模式。
“表示邻近方向的预测模式”是指,具有该方向预测模式前后的模式的规定范围(例如±1)的模式编号的方向预测模式。需要说明的是,通过环绕式处理,2(左下)与66(右上)被视为相邻的方向。
通过追加这样的条件,抑制将短边方向(指与长边相交的方向。距参考像素的距离短,不易表现出角度差)的方向预测模式追加到MPM候选列表中,使向MPM候选列表追加长边方向(指与短边相交的方向)的方向预测的机会增加。
(基于块形状的视为重复方向的条件的变更动作)
图25是表示与图19(b)所示的详细内容不同的步骤S2013的详细内容的流程图。在图25所示的步骤S2013中,实施增加了邻近(模式编号为±1)模式的判定的情况下的模式追加处理。如图25所示,步骤S2013包括步骤S20131、S2022、S20232、S202320、S20235、S202350、以及S20132。
如前所述,步骤S2022、S20232、以及S20235为派生模式的导出的步骤。这样,能够引用派生模式的导出处理。
在步骤S20131中,在MPM候选列表中没有模式Md的情况(是)下,执行步骤S2022以及随后的步骤。在MPM候选列表中有模式Md的情况(否)下,步骤S2013结束。
在步骤S2022中,在模式Md是方向预测的情况(是)下,执行步骤S20232以及随后的步骤。在模式Md不是方向预测的情况(否)下,执行步骤S20132。
在步骤S202320中,MPM候选列表导出部30421判定MPM候选列表中是否没有与模式Md邻接的方向预测模式Md_-1。在MPM候选列表中没有方向预测模式Md_-1的情况(是)下,执行步骤S20235以及随后的步骤。在MPM候选列表中有方向预测模式Md_-1的情况(否)下,步骤S2013结束。
在步骤S202350中,MPM候选列表导出部30421判定MPM候选列表中是否没有与模式Md邻接的方向预测模式Md_+1。在MPM候选列表中没有方向预测模式Md_+1的情况(是)下,执行步骤S20132。在MPM候选列表中有方向预测模式Md_+1的情况(否)下,步骤S2013结束。(基于块形状的视为重复方向的条件的变更动作:改进例)
图26是表示与图25所示的详细内容不同的步骤S2013的详细内容的流程图。在图26所示的步骤S2013中,实施使用针对模式编号的值(模式值)的差分的条件的情况下的模式追加处理。如图26所示,步骤S2013包括步骤S20131、S2022、S20133、S201330、以及S20132。S20131与图25相同,因此省略说明。
在步骤S2022中,在模式Md是方向预测的情况(是)下,执行步骤S20133以及随后的步骤。在模式Md不是方向预测的情况(否)下,执行步骤S20132。
在步骤S20133中,MPM候选列表导出部30421针对MPM候选列表内的各个方向预测模式,导出方向预测模式的模式值与模式Md的模式值的差分。
在步骤S201330中,MPM候选列表导出部30421判定在步骤S20133中导出的差分的绝对值为1以下的模式是否存在于MPM候选列表中。在绝对值为1以下的模式不存在于MPM候选列表中的情况(是)下,执行步骤S20132。在绝对值为1以下的模式存在于MPM候选列表中的情况(否)下,结束步骤S2013。
(A-5:基于块形状的邻接块参考位置的追加或变更)
在优先与对象块的短边侧邻接的邻接块的预测模式的情况下,当与对象块的长边侧邻接的邻接块参考位置变得过度稀疏时,则不参考最接近对象块的中心的位置的邻接块,导致编码效率降低成为问题。
通过追加或变更与对象块的长边侧邻接的邻接块的参考位置,能避免参考位置变得过度稀疏。
<追加例>
图27(a)是表示与图22(a)所示的追加顺序不同的、MPM候选列表导出部30421基于块形状将预测模式追加到MPM候选列表时的预测模式的追加顺序的概略图。如图27(a)所示,MPM候选列表导出部30421按照以下的顺序对MPM候选列表追加邻接模式以及平面模式。
(1)对象块的上块的帧内预测模式(邻接模式)
(2)对象块的左块的帧内预测模式(邻接模式)
(3)PLANAR预测模式
(4)DC预测模式
(5)对象块的右上块的帧内预测模式(邻接模式)
(6)对象块的左上块的帧内预测模式(邻接模式)
(7)对象块的左中块的帧内预测模式(邻接模式)
(8)对象块的左下块的帧内预测模式(邻接模式)
<变更例>
图27(b)是表示与图22(b)所示的追加顺序不同的、MPM候选列表导出部30421基于块形状将预测模式追加到MPM候选列表时的预测模式的追加顺序的概略图。如图27(b)所示,MPM候选列表导出部30421按照以下的顺序对MPM候选列表追加邻接模式以及平面模式。
(1)对象块的上块的帧内预测模式(邻接模式)
(2)对象块的左中块的帧内预测模式(邻接模式)
(3)PLANAR预测模式
(4)DC预测模式
(5)对象块的右上块的帧内预测模式(邻接模式)
(6)对象块的左上块的帧内预测模式(邻接模式)
(7)对象块的左下块的帧内预测模式(邻接模式)
或者,也可以不使用(7),而仅追加(1)至(6)。
(帧内预测参数(色差)的导出方法1)
使用图14对应用于色差像素的帧内预测模式IntraPredModeC[x0][y0]进行说明。帧内预测模式IntraPredModeC[x0][y0]使用下面的3个语法元素来计算出。
not_dm_chroma_flag[x0][y0]
not_lm_chroma_flag[x0][y0]
chroma_intra_mode_idx[x0][y0]
not_dm_chroma_flag[x0][y0]是在不使用亮度的帧内预测模式的情况下为1的标志。not_lm_chroma_flag[x0][y0]是在使用预测模式列表ModeList的情况下,不根据亮度像素进行线性预测时为1的标志。chroma_intra_mode_idx[x0][y0]是指定应用于色差像素的帧内预测模式的索引。需要说明的是,x0以及y0是图片中的对象块的左上亮度像素的坐标,而不是左上色差像素的坐标。然后,在两个标志(not_dm_chroma_flag[x0][y0]以及not_lm_chroma_flag[x0][y0])均为1的情况下,从预测模式列表ModeList中导出帧内预测模式IntraPredModeC[x0][y0]。如果例示出通过伪代码进行的导出处理,则如下所述。
需要说明的是,在色差格式为4:2:2的情况下,在色差的帧内预测模式中使用DM_CHROMA时,与上述伪代码不同,使用转换表、转换式对IntraPredModeY[x0][y0]所示的预测方向进行转换,并导出IntraPredModeC[x0][y0]。
(帧内预测参数(色差)的导出方法2)
色差的预测模式列表ModeList导出为如下所述。
ModeList[]={PLANAR,VER,HOR,DC}
但是,在IntraPredModeY[x0][y0]与ModeList[i]一致的情况(i=0~3)下,ModeList[i]为如下所述。
ModeList[i]=VDIA
就是说,如下表所述。ModeList由IntraPredModeY[x0][y0]决定。ModeList的后缀(0~3)由chroma_intra_mode_idx[x0][y0]进行选择。
[表3]
(A-6:基于块形状的色差的预测模式列表的变更)
根据块形状为纵长还是横长,通过变更色差的预测模式列表的构成,能解决上述问题。具体而言,根据块形状为纵长、横长还是正方形,来变更表3所示的ModeList的构成。更具体而言,在块形状为横长的情况下,使用下表导出ModeList,在其它情况下使用表3导出ModeList。其原因在于,在变更前的表3中,VER优先(为ModeList的更小的后缀所表示的要素)的情况较多。
[表4]
在表4中,在VER以及HOR双方均为ModeList的要素的情况下,HOR优先于VER。此外,在表4中2(左下)代替表3中的VDIA(66,右上)为ModeList的要素。
而且,也可以对块形状进行区分,可以在块形状为纵长的情况下使用表3,可以在块形状为横长的情况下使用表4,可以在块形状为正方形的情况下使用表5。
[表5]
在表5中,在表4中DIA(34,左上)代替表3中的VDIA(66,右上)为ModeList的要素。
根据以上所述,在色差块中,也能使用适于纵长、横长以及正方形等块的形状的构成的预测模式列表,起到提高编码效率的效果。
(A-7:与QP对应的MPM候选列表的导出)
根据量化参数(Quantization Parameter:QP),通过控制MPM候选列表的导出动作,能解决上述问题。具体而言,仅在对象块中的QP值满足规定的条件的情况下实施前述的导出动作。在此,“规定的条件”是指对象块中的QP值q处于规定的范围的情况。如以下的示例所述,根据QP值的大小实施导出动作。
例1:对于阈值q_th,仅对具有小于阈值q_th的QP值q的块实施前述的导出动作。
例2:在QP值q大于阈值q_th的情况下,在所述“<1.邻接模式以及平面模式的追加>”中,始终将追加顺序为(3)(4)的平面模式设为(1)(2)或者(2)(3)。
在QP值较高的块中,使用平面预测模式的比例高。因此,有时通过(1)在QP值较小的块中不优先平面模式、或(2)在QP值较大的块中优先平面模式,能充分提高编码效率。
在前述的导出动作中,根据块形状导出MPM候选列表,就是说优先与块形状对应的方向预测模式,而不优先平面模式。然后,根据例1,在QP值小的块中不优先平面模式。此外,根据例2,在QP值大的块中优先平面模式。因此,能够使编码效率提高。此外,根据以上所述,能简化MPM候选列表的导出动作。
需要说明的是,也可以根据对象块的尺寸控制MPM候选列表的导出动作。例如在尺寸大的情况下,优先平面模式。
(由基于块形状的MPM候选列表的导出方法的变更带来的效果)
在图15所示的帧内预测参数编码部113中、以及在图16所示的帧内预测参数解码部304中,MPM候选列表导出部30421基于对象块的形状,来导出MPM候选列表。此时,MPM候选列表如图22所示,优先包括适于对象块的形状的帧内预测模式。
<解码>
在图16所示的帧内预测参数解码部304中,MPM参数解码部30422以及非MPM参数解码部30423根据MPM候选列表对亮度预测模式IntraPredModeY进行解码。
此时,亮度预测模式IntraPredModeY优先将短代码分配给适于对象块的形状的帧内预测模式。因此,根据通过对图片进行QTBT分割而得到的对象CU、以及保持CU原样或对CU进行分割而得的PU的形状,能比以往更高效地对图片进行解码。
<编码>
在图15所示的帧内预测参数编码部113中,MPM参数导出部11322从亮度预测模式IntraPredModeY和MPM候选列表中导出帧内预测参数prev_intra_luma_pred_flag以及mpm_idx。此外,非MPM参数导出部11323从亮度预测模式IntraPredModeY和MPM候选列表中导出帧内预测参数prev_intra_luma_pred_flag、rem_selected_mode_flag、rem_selected_mode、以及rem_non_selected_mode。
此时,各帧内预测参数优先将短代码分配给适于对象块的形状的帧内预测模式。因此,根据通过对图片进行QTBT分割而得到的对象CU、以及保持CU原样或对CU进行分割而得到的PU的形状,能比以往更高效地对图片进行编码。
〔实施方式2〕
本实施方式与实施方式1的不同点在于基于块形状等变更MPM候选列表的构成/上下文。需要说明的是,在以下的实施方式中,为了便于说明,对与已经说明的构件具有相同功能的构件标注相同的符号,并省略其说明。
(亮度的CABAC上下文)
存在多个亮度帧内预测参数的CABAC上下文,根据情况来进行选择。或者将亮度帧内预测参数换算为二进制后的值的各数为0的概率与为1的概率视为相等,就是说,也存在不使用上下文(Equal Probability:EP)的选项。
将亮度帧内预测参数的CABAC上下文分为如下。
prev_intra_luma_pred_flag[x0][y0](上下文编号:0)
mpm_idx[x0][y0](mpmContext(candModeList[k])以及EP)
rem_selected_mode_flag[x0][y0](9)
rem_selected_mode[x0][y0](EP)
rem_non_selected_mode[x0][y0](EP)
(色差的CABAC上下文)
将色差帧内预测参数的CABAC上下文分为如下。
not_dm_chroma_flag[x0][y0](0)
not_lm_chroma_flag[x0][y0](1)
chroma_intra_mode_idx[x0][y0](EP)
(mpm_idx的上下文导出方法)
如前所述,mpm_idx是用于从MPM候选列表中选择MPM的索引。mpm_idx取值0~5,从6个MPM候选中选择1个。将mpm_idx的值编码为最大5bit(二进制值:0、10、110、1110、11110、11111)的编码位串。
在此,将mpm_idx的编码位串的第k位的值设为bk(如果MPM候选列表的要素数量为6,则k=0~4)。位bk为0/1分别表示“使用/不使用”candModeList[](MPM候选列表)的第k个预测模式。
图28是表示本实施方式的MPM候选模式索引mpm_idx的编码位串的各位bk与对位bk进行解码时使用的上下文ck的对应的概略图。如图28所示,上下文ck根据candModeList[]的第k个预测模式的种类来选择k<3的范围。对于k=3,4,是表示不使用上下文的“EP”。
下面,将用于选择上下文的函数或表记作mpmContext()。就是说,ck=mpmContext(candModeList[k])。mpmContext()取candModeList[k]作为自变量,并如下将值返回。
mpmContext(candModeList[k])=1(candModeList[k]=0,1)//平面
mpmContext(candModeList[k])=2(candModeList[k]=2~34)//横向
mpmContext(candModeList[k])=3(candModeList[k]=35~66)//纵向
这样,根据储存于candModeList[k]的帧内预测模式的种类,ck的上下文发生变化。
例如,在candModeList[]={1,24,0,23,25,50}的情况下,如下求出上下文ck。
c0=mpmContext(candModeList[0])=mpmContext(1)=1
c1=mpmContext(candModeList[1])=mpmContext(24)=2
c2=mpmContext(candModeList[2])=mpmContext(0)=1
(B-1:与块形状对应的MPM候选模式的个数/上下文的变更)
通过根据块形状来变更MPM候选模式的个数,或者根据块形状来变更MPM候选模式索引的CABAC上下文,能解决上述问题。
<MPM候选模式的个数的变更>
在块形状为正方形的情况与块形状为非正方形(纵长/横长)的情况下,将MPM候选列表所包括的预测模式(MPM候选模式)的个数设为不同的数量。MPM候选列表理想的是应用前述的导出方法导出。然后,随着增大或减小MPM候选模式,也使表示mpm_idx的编码位串的最大位数增大或减小。如果设为与所述“(mpm_idx的上下文导出方法)”相同,则表示mpm_idx的编码位串的最大位数为{MPM候选模式数-1}bit即可。
例1:在块形状为正方形的情况下,设为MPM候选模式=6个。在块形状为非正方形的情况下,设为MPM候选模式=4个。需要说明的是,在块形状为非正方形的情况下,进行抑制追加对象块的短边方向的预测模式这种处理来减少MPM候选模式为好。
例2:在块形状为正方形的情况下,设为MPM候选模式=6个。在块形状为非正方形的情况下,设为MPM候选模式=8个。需要说明的是,在块形状为非正方形的情况下,进行更多地追加对象块的长边方向的预测模式这种处理来增加MPM候选模式为好。
例3:不限于例1以及例2,如果进行与块形状对应的MPM候选列表的导出,则根据块形状来变更MPM候选模式数为好。
<MPM候选模式索引的CABAC上下文的变更>
在块形状为正方形的情况与块形状为非正方形(纵长/横长)的情况下,将MPM候选模式索引mpm_idx的CABAC上下文mpmContext设为不同。
[例1]
在块形状为正方形的情况下:如所述“(mpm_idx的上下文导出方法)”
mpmContext(candModeList[k])=1(candModeList[k]=0,1)//平面
mpmContext(candModeList[k])=2(candModeList[k]=2~34)//横向
mpmContext(candModeList[k])=3(candModeList[k]=35~66)//纵向
在块形状为非正方形的情况下:
mpmContext(candModeList[k])=4(candModeList[k]=0,1)//平面
mpmContext(candModeList[k])=5(candModeList[k]=2~34)//横向
mpmContext(candModeList[k])=6(candModeList[k]=35~66)//纵向
需要说明的是,mpmContext(candModeList[k])的值的集合并不限于例1{1,2,3}和例2{4,5,6}的集合。例如,mpmContext(candModeList[k])的值的集合可以是{1,3,5}和{2,4,6}的集合,也可以是{1,2,3}和{1,4,5}的集合,就是说,在块形状为正方形的情况下与块形状为非正方形的情况下为不同的集合即可。
[例2]
在块形状为正方形的情况下:如所述“(mpm_idx的上下文导出方法)”
mpmContext(candModeList[k])=1(candModeList[k]=0,1)//平面
mpmContext(candModeList[k])=2(candModeList[k]=2~34)//横向
mpmContext(candModeList[k])=3(candModeList[k]=35~66)//纵向
在块形状为非正方形(纵长)的情况下:
mpmContext(candModeList[k])=1(candModeList[k]=0,1)//平面
mpmContext(candModeList[k])=4(candModeList[k]=42~58)//纵向(窄)
mpmContext(candModeList[k])=5(candModeList[k]=others)//其它
others=2~41,59~66
在块形状为非正方形(横长)的情况下:
mpmContext(candModeList[k])=1(candModeList[k]=0,1)//平面
mpmContext(candModeList[k])=6(candModeList[k]=10~26)//横向(窄)
mpmContext(candModeList[k])=7(candModeList[k]=others)//其它
others=2~9,27~66
如上所述,通过根据块形状增大或减小MPM候选模式数,能根据块形状使适当数量的MPM候选模式包括于MPM候选模式列表中。因此,起到出能使编码效率提高的效果。
此外,通过根据块形状分离CABAC上下文,能将根据块形状而进行的预测模式选择的不同反映到将亮度帧内预测参数换算为二进制的值的各数为0的概率和为1的概率中。因此,起到出能使编码效率提高的效果。
[例3-1]
也可以利用对称性,将MPM候选模式索引mpm_idx的CABAC上下文mpmContext按相同的上下文分配为纵长和横长。具体而言,在例2中,可以以如下的方式对块形状为非正方形(横长)的情况下的mpmContext进行变更。
在块形状为非正方形(纵长)的情况下:
mpmContext(candModeList[k])=1(candModeList[k]=0,1)//平面
mpmContext(candModeList[k])=4(candModeList[k]=42~58)//长边方向的窄范围
mpmContext(candModeList[k])=5(candModeList[k]=others)//其它
others=2~41,59~66
在块形状为非正方形(横长)的情况下:
mpmContext(candModeList[k])=1(candModeList[k]=0,1)//平面
mpmContext(candModeList[k])=5(candModeList[k]=10~26)//长边方向的窄范围
mpmContext(candModeList[k])=4(candModeList[k]=others)//其它
others=2~9,27~66
根据以上所述,在块形状为非正方形的情况下,能在块形状为纵长的情况与块形状为横长的情况下,利用相同的上下文,并且利用在对象块的长边侧与对象块的短边侧将亮度帧内预测参数换算为二进制的值的各数为0的概率与为1的概率的偏差。
[例3-2]
此外,在例3-1中,也可以以如下的方式对mpmContext的方向的范围(candModeList[k]的范围)进行变更。
在块形状为非正方形(纵长)的情况下:
mpmContext(candModeList[k])=1(candModeList[k]=0,1)//平面
mpmContext(candModeList[k])=4(candModeList[k]=35~66)//短边方向
mpmContext(candModeList[k])=5(candModeList[k]=2~34)//长边方向
在块形状为非正方形(横长)的情况下:
mpmContext(candModeList[k])=1(candModeList[k]=0,1)//平面
mpmContext(candModeList[k])=5(candModeList[k]=2~34)//短边方向
mpmContext(candModeList[k])=4(candModeList[k]=35~66)//长边方向
[例4-1]
图29(a)是表示本实施方式的不将平面共享化的示例中的、对象块为非正方形(横长)的情况下的模式编号candModeList[k]与上下文编号mpmContext(candModeList[k])的关系的概略图。图29(b)是在图29(a)中对象块为非正方形(纵长)的情况下的概略图。
如图29(a)、(b)所示,在不将平面共享化的示例中,以如下的方式分配mpmContext。
在块形状为正方形的情况下:如所述“(mpm_idx的上下文导出方法)”所述
mpmContext(candModeList[k])=1(candModeList[k]=0,1)//平面
mpmContext(candModeList[k])=2(candModeList[k]=2~34)//横向
mpmContext(candModeList[k])=3(candModeList[k]=35~66)//纵向
在块形状为非正方形的情况下:
mpmContext(candModeList[k])=4(candModeList[k]=0,1)//平面
mpmContext(candModeList[k])=5(candModeList[k]=2~34&&横长)||(candModeList[k]=35~66&&纵长)//长边方向(横长)||长边方向(纵长)
mpmContext(candModeList[k])=6(candModeList[k]=35~66&&横长)||(candModeList[k]=2~34&&纵长)//短边方向(横长)||短边方向(纵长)
[例4-2]
图30(a)是表示本实施方式的根据块形状调整范围的示例中的、对象块为非正方形(横长)的情况下的模式编号candModeList[k]与上下文编号mpmContext(candModeList[k])的关系的概略图。图30(b)是在图30(a)中对象块为非正方形(纵长)的情况下的概略图。
如图30(a)(b)所示,在根据块形状调整范围的示例中,就是说在以45度以外的倾斜度区分块形状的纵长和横长的示例中,以如下方式分配mpmContext。需要说明的是,在块形状为正方形的情况下,如例4-1所述。在块形状为非正方形的情况下,在对象块中,根据块形状来改变用于将方向分类为纵/横/倾斜的边界。
在块形状为非正方形的情况下:
mpmContext(candModeList[k])=4(candModeList[k]=0,1)//平面
mpmContext(candModeList[k])=5((candModeList[k]=2~(2+24)&&横长)||(candModeList[k]=(2+40+1)~66&&纵长))//长边方向(横长)||长边方向(纵长)
mpmContext(candModeList[k])=6((candModeList[k]=(2+24+1)~66&&横长)||(candModeList[k]=2~(2+40)&&纵长))//短边方向(横长)||短边方向(纵长)
[例5-1]
图31(a)是表示本实施方式的在对象块的长边侧、短边侧以及斜向上使用不同上下文的示例中的、对象块为正方形的情况下的模式编号candModeList[k]与上下文编号mpmContext(candModeList[k])的关系的概略图。图31(b)是在图31(a)中对象块为非正方形(横长)的情况下的概略图。图31(c)是在图31(a)中对象块为非正方形(纵长)的情况下的概略图。
如图31(a)至图31(c)所示,在对象块的长边侧、短边侧以及斜向上使用不同上下文的示例中,就是说在对象块为横长的情况下和在为纵长的情况下,利用对称性使用相同上下文的示例中,以如下方式分配mpmContext。
在块形状为正方形的情况下:
mpmContext(candModeList[k])=1(candModeList[k]=0,1)//平面
mpmContext(candModeList[k])=2(candModeList[k]=10~26,42~58)//横向or纵向
mpmContext(candModeList[k])=3(candModeList[k]=2~9,27~41,59~66)//斜向
在块形状为非正方形的情况下:
mpmContext(candModeList[k])=4(candModeList[k]=0,1)//平面
mpmContext(candModeList[k])=5((candModeList[k]=10~26&&横长)||(candModeList[k]=42~58&&纵长))//长边方向(横长)||长边方向(纵长)
mpmContext(candModeList[k])=6((candModeList[k]=42~58&&横长)||(candModeList[k]=10..26&&纵长))//短边方向(横长)||短边方向(纵长)
mpmContext(candModeList[k])=7(candModeList[k]=2~9,27~41,59~66)//斜向
[例5-2]
在例5-1中,在块形状为正方形的情况下,也可以在纵/横上使用其它上下文。需要说明的是,在块形状为非正方形的情况下,如例5-1。
在块形状为正方形的情况下:
mpmContext(candModeList[k])=1(candModeList[k]=0,1)//平面
mpmContext(candModeList[k])=2(candModeList[k]=2~34)//横向
mpmContext(candModeList[k])=3(candModeList[k]=35~66)//纵向(B-2:与深度对应的MPM候选模式的个数/上下文的变更)
根据深度来变更MPM候选模式的个数,此外根据深度来变更MPM候选模式索引的CABAC上下文,由此能解决上述问题。“深度”是指至对CU进行分割而得到对象块为止所进行的分割次数。
<MPM候选模式的个数的变更>
根据深度将MPM候选列表所包括的预测模式(MPM候选模式)的个数设为不同的数量。MPM候选列表理想的是应用前述的导出方法导出。然后,随着增大或减小MPM候选模式,也使表示mpm_idx的编码位串的最大位数增大或减小。在该情况下,表示mpm_idx的编码位串的最大位数为{MPM候选模式数-1}bit。
[例1]
在深度d与阈值d_th满足d<d_th的情况下,MPM候选模式的个数设为3个。在深度d与阈值d_th满足d>=d_th的情况下,MPM候选模式的个数设为6个。
[例2]
在深度深(深度值大)的情况下,也可以将MPM候选列表所包括的预测模式(MPM候选模式)的个数设为如下所述不同的数。在深度d与阈值d_th满足d>d_th的情况下,MPM候选模式的个数设为3个。在深度d与阈值d_th满足d<=d_th的情况下,MPM候选模式的个数设为6个。<MPM候选模式索引的CABAC上下文的变更>
根据深度值d分开使用MPM候选模式索引mpm_idx的CABAC上下文mpmContext。
[例1]
在d>=d_th的情况下:如所述“(mpm_idx的上下文导出方法)”
mpmContext(candModeList[k])=1(candModeList[k]=0,1)//平面
mpmContext(candModeList[k])=2(candModeList[k]=2~34)//横向
mpmContext(candModeList[k])=3(candModeList[k]=35~66)//纵向
在d<d_th的情况下:
mpmContext(candModeList[k])=4(candModeList[k]=0,1)//平面
mpmContext(candModeList[k])=5(candModeList[k]=2~34)//横向
mpmContext(candModeList[k])=6(candModeList[k]=35~66)//纵向
[例2]
在d>=d_th的情况下:与例1相同
在d<d_th的情况下:
mpmContext(candModeList[k])=4(candModeList[k]=0,1)//平面
mpmContext(candModeList[k])=5(candModeList[k]=2~66)//除平面以外
根据以上,深度值较小的块由于使用平面预测模式的比例高,因此不需要许多MPM候选模式,通过减少MPM候选模式数能提高编码效率。例如,如果将MPM候选模式数减少到3个,则能将表示mpm_idx=2所需的位数从以往的3bit减少到2bit。
[例3]
在深度深(深度值大)的情况下,也可以如下将MPM候选模式索引mpm_idx的CABAC上下文mpmContext分开使用。
在d<=d_th的情况下:如所述“(mpm_idx的上下文导出方法)”
mpmContext(candModeList[k])=1(candModeList[k]=0,1)//平面
mpmContext(candModeList[k])=2(candModeList[k]=2~34)//横向
mpmContext(candModeList[k])=3(candModeList[k]=35~66)//纵向
在d>d_th的情况下:
mpmContext(candModeList[k])=4(candModeList[k]=0,1)//平面
mpmContext(candModeList[k])=5(candModeList[k]=2~34)//横向
mpmContext(candModeList[k])=6(candModeList[k]=35~66)//纵向
[例4]
在d<=d_th的情况下:与例3相同
在d>d_th的情况下:上下文的判别方法也不同
mpmContext(candModeList[k])=4(candModeList[k]=0,1)//平面
mpmContext(candModeList[k])=5(candModeList[k]=2~66)//除平面以外
根据以上,深度值较大的块由于数量多,因此通过减少MPM候选模式数,能减少mpm_idx的代码量。例如,如果将MPM候选模式数减少到3个,则能将表示mpm_idx=2所需的位数从以往的3bit减少到2bit。此外,通过根据深度值的大小改变上下文,能反映出根据块尺寸进行的模式选择的倾向的不同,提高编码效率。
(B-3:与块尺寸对应的上下文的固定)
在块尺寸较大的情况下,通过将MPM候选模式索引(mpm_idx)的上下文设为固定,能解决上述问题。首先,在如下面例示的条件下判定块尺寸的大小。
·对象块的面积为阈值以上。
·对象块的边的长度(短边、长边、或双方)为阈值以上。
·深度为阈值以下。
然后,在判定为块尺寸较大的情况下,不根据预测方向而变更mpm_idx的上下文mpmContext。例如如下所述。
例1:固定为ck=n。
例2:设为ck={n1,n2,n3}(之后为EP)。
(均为k=0,1,2)
需要说明的是,n、n1、n2、n3设为与用于块尺寸相对于mpm_idx不大的情况的上下文编号不重复的上下文编号为好。
根据以上,在块尺寸较大的情况下,因形状的差而对的对预测模式的选择特性造成的影响与小块相比并不明显,因此通过将上下文设为固定,能提高处理的效率。
(B-4:与块尺寸对应的MPM候选模式的个数的变更)
根据块尺寸来变更MPM候选模式的个数,此外根据块尺寸来变更MPM候选模式索引的CABAC上下文,由此能解决上述问题。
<MPM候选模式的个数的变更>
根据块尺寸将MPM候选列表所包括的预测模式(MPM候选模式)的个数设为不同的数量。例如,将块尺寸s设为短边与长边的和,将s_th1以及s_th2设为阈值,
在s<s_th1||s>s_th2的情况下,将MPM候选模式设为3个,
在s>=s_th1&&s<=s_th2的情况下,将MPM候选模式设为6个。
s_th1以及s_th2例如分别为8(4+4)和32(16+16)。
根据以上,在块尺寸较大的情况下使用平面预测模式的比例较高,此外在块尺寸较小的情况下即使变更预测方向,预测图像的变化也较小,因此均不需要许多MPM候选模式,因此能通过减少MPM候选模式提高编码效率。
〔实施方式3〕
本实施方式与实施方式1以及实施方式2的不同点在于基于块形状来变更帧内预测模式的构成。在图12所示的示例中,预测方向以大致固定的密度分布,仅在水平方向/垂直方向附近为略高的密度。在本实施方式中改变方向预测的配置。通过根据块形状来变更图12所示的帧内预测模式的构成,能解决上述问题。
(C-1:与纵长/横长的块形状对应的纵/横向的密度变更)
<纵长块>
图32是表示本实施方式的块形状为纵长的情况下的帧内预测模式的构成的概略图。如图32所示,与图12所示的示例相比,对于纵长块,进一步提高其纵向的方向预测的密度,并且降低其横向的方向预测的密度。更具体而言,配置于左下方向与左上方向之间的方向的方向预测模式的数量小于配置于左上方向与右上方向之间的方向的方向预测模式的数量。需要说明的是,该情况下的左下方向/左上方向/右上方向是指单位45度的斜向。
但是,如图32所示,通过改变方向预测模式的配置,与图12所示的示例相比,方向预测模式的模式编号与方向的对应发生变化。例如,在图12中示出的示例中,水平方向始终与模式编号18对应。此外,垂直方向始终与模式编号50对应。此时,为了判别纵向,判定模式编号是否为2~34。此外,为了判别横向,判定模式编号是否为35~66。
在本实施方式中,也可以如下适当改读与方向对应的模式编号来使用。
与水平方向对应的模式编号:13
与垂直方向对应的模式编号:45
判别纵向时所判定的模式编号:2~24
判别横向时所判定的模式编号:25~66
需要说明的是,在图32以及后述的图33~图36中,在色差像素的情况下,作为帧内预测模式,能使用Planar、VER、HOR、DC、VDIR、LM预测(根据亮度像素值的线性预测)、以及DM预测(挪用亮度的帧内预测模式)。
<横长块>
图33是表示本实施方式的块形状为横长的情况下的帧内预测模式的构成的概略图。如图33所示,与图12所示的示例相比,对于横长块,进一步提高其横向的方向预测的密度,并且降低其纵向的方向预测的密度。更具体而言,配置于左下方向与左上方向之间的方向的方向预测模式的数量大于配置于左上方向与右上方向之间的方向的方向预测模式的数量。需要说明的是,该情况下的左下方向/左上方向/右上方向是指单位45度的斜向。
但是,如图33示,通过改变方向预测模式的配置,与图12所示的示例相比,方向预测模式的模式编号与方向的对应发生变化。在本实施方式中,也可以如下所述地适当改读与方向对应的模式编号来使用。
与水平方向对应的模式编号:23
与垂直方向对应的模式编号:55
判别纵向时所判定的模式编号:2~44
判别横向时所判定的模式编号:45~66
(C-2:与纵长/横长的块形状对应的斜向的密度变更)
<纵长块>
图34是表示本实施方式的块形状为纵长的情况下的帧内预测模式的构成的概略图。如图34所示,与图12所示的示例相比,对于纵长块,其斜向的方向预测较为稀疏。更具体而言,增加了靠近垂直的方向预测,并且减少了靠近从对象块的中心朝向左上顶点/右上顶点的方向的方向预测。对于横向的配置,并未使其发生变化。
换句话说,使应用于纵长的块的帧内预测模式的方向预测的配置中的、垂直方向附近的方向预测模式数多于应用于其它种类的块的帧内模式预测的方向预测的配置中的、垂直附近(相同范围)的方向预测模式数。在此,“垂直附近的方向预测模式”是指例如与垂直方向的角度的差为±22.5度以内的方向的方向预测模式。“垂直附近的方向预测模式数”例如设为与垂直方向的角度的差为±22.5度以内的方向的方向预测模式的个数,能通过比较而求出。
<横长块>
图35是表示本实施方式的块形状为横长的情况下的帧内预测模式的构成的概略图。如图35所示,与图12所示的例相比,对于横长块,将斜向的方向预测设为较稀疏。更具体而言,增加了靠近水平方向的方向预测,并且减少了靠近从对象块的中心朝向左下顶点/左上顶点的方向的方向预测。对于纵向的配置,并未使其发生变化。
换句话说,使应用于横长的块的帧内预测模式的方向预测的配置中的、水平方向附近的方向预测模式数多于应用于其它种类的块的帧内模式预测的方向预测的配置中的水平附近(相同范围)的方向预测模式数。在此,“水平附近的方向预测模式”是指例如与水平方向的角度的差为±22.5度以内的方向的方向预测模式。“水平附近的方向预测模式数”例如设为与水平方向的角度的差为±22.5度以内的方向的方向预测模式的个数,能通过比较而求出。
(C-3:与正方形/非正方形的块形状对应的斜向的密度变更)
判别块形状为正方形还是非正方形,在为非正方形的情况下,可以变更帧内预测模式的方向预测中的预测方向的斜向的密度。图36是本实施方式的块形状为非正方形的情况下的帧内预测模式的构成的概略图。如图36所示,与图12所示的示例相比,增加了靠近垂直以及水平的方向预测。其结果是,减少了靠近从对象块的中心朝向左下顶点/左上顶点/右上顶点的方向的方向预测。换句话说,图36所示的帧内预测模式的配置是将图34(纵长用)以及图35(横长用)所示的帧内预测模式的配置归为1个的配置。(基于块形状的帧内预测模式的构成变更的效果)
根据以上的构成,在认为所选择的预测方向有偏差的情况下,通过以比期待的方向更密集的配置来配置方向预测模式,能提高预测图像的精度,并使编码效率提高。
〔实施方式4〕
在以下的实施方式中,为了便于说明,对与已经说明的构件具有相同功能的构件标注相同的符号,并省略其说明。
(基于块形状的REM的值与帧内预测模式编号的对应)
[表6]
如图10所示,通过QTBT分割得到的块形状为纵长、横长、以及正方形。在块形状为纵长的情况下,非MPM参数解码部30423(图16)以在图12所示的方向从66(右上)逆时针旋转(逆时针)的顺序使RemIntraPredMode的值相对于帧内预测模式编号呈降序的方式,如表4所示将RemIntraPredMode的值与帧内预测模式编号对应。
另一方面,在块形状为横长或正方形的情况下,非MPM参数解码部30423以在图12所示的方向从2(左下)顺时针旋转(顺时针)的顺序使RemIntraPredMode的值相对于帧内预测模式编号呈升序的方式,如表2所示地将RemIntraPredMode的值与帧内预测模式编号对应。
图37是表示图16所示的帧内预测参数解码部304的非MPM参数解码部30423基于块形状将REM的值与帧内预测模式编号对应的动作的流程图。如图37所示,在步骤S301中,非MPM参数解码部30423判定块是否为纵长。在块是纵长的情况(是)下,执行步骤S302。在块不是纵长的情况下,执行步骤S303。在步骤S302中,非MPM参数解码部30423以在图12所示的方向从66(右上)逆时针旋转的顺序使RemIntraPredMode的值相对于帧内预测模式编号呈降序的方式,将RemIntraPredMode的值与帧内预测模式编号对应。在步骤S303中,以在图12所示的方向上从2(左下)顺时针旋转的顺序使RemIntraPredMode的值相对于帧内预测模式编号呈升序的方式,将RemIntraPredMode的值与帧内预测模式编号对应。
需要说明的是,在步骤S302中,在模式编号66为MPM的情况下,将作为逆时针旋转的第一个非MPM的帧内预测模式编号设为RemIntraPredMode=0。同样地,在步骤S303中,在模式编号2为MPM的情况下,也将作为顺时针旋转的第一个非MPM的帧内预测模式编号设为RemIntraPredMode=0。
如上所述,非MPM参数解码部30423以与关于对象块的方向性对应的顺序将作为用于导出帧内预测模式的参数的rem_selected_mode以及rem_non_selected_mode与作为不包括于MPM候选列表的帧内预测模式的RemIntraPredMode对应。
在此,关于对象块的方向性是指对象块的长边延伸的方向。然后,非MPM参数解码部30423使RemIntraPredMode中沿着对象块的长边延伸的方向的帧内预测模式、就是说如果对象块为纵长则如表4所示,在图12所示的方向上使纵向(35~66)的帧内预测模式与编号小于横向(2~34)的帧内预测模式的rem_selected_mode以及rem_non_selected_mode对应,此外,如果对象块为横长则如表2所示,在图12所示的方向上使横向(2~34)的帧内预测模式与编号小于纵向(35~66)的帧内预测模式的rem_selected_mode以及rem_non_selected_mode对应。
如上所述,图像解码装置31(图5)具备:MPM候选列表导出部30421,导出包括用于对象块的帧内预测的对象帧内预测模式的候选的MPM候选列表;以及非MPM参数解码部30423,不仅是解码部,还是导出部,在对象帧内预测模式不包括于MPM候选列表的情况下对用于导出对象帧内预测模式的参数即rem_selected_mode以及rem_non_selected_mode进行解码,并且以与关于对象块的方向性对应的顺序将rem_selected_mode以及rem_non_selected_mode与不包括于MPM候选列表的帧内预测模式对应,由此导出对象帧内预测模式。
(基于块形状的REM的值与帧内预测模式编号的对应的效果)
对rem_non_selected_mode进行可变长度编码。此外,该可变长度编码中,更小的rem_non_selected_mode被编码为更短的代码。例如,比起与“44”对应的rem_non_selected_mode,与“0”对应的rem_non_selected_mode的一方会被编码位短编码。
在块为纵长的情况下,如表4所示,非MPM参数解码部30423使更小的rem_non_selected_mode与更靠近66的帧内预测模式编号对应。此时,块的预测方向为在图12所示的方向中比2(左下)更接近66(右上)的帧内预测模式编号所对应的预测方向的可能性高。此外,在块为横长的情况下,非MPM参数解码部30423如表2所示,使更小的rem_non_selected_mode与更靠近2的帧内预测模式编号相对应。此时,块的预测方向为在图12所示的方向上比66(右上)更靠近2(左下)的帧内预测模式编号所对应的预测方向的可能性高。因此,非MPM参数解码部30423将被选择的可能性高的预测方向与更短的代码对应,因此能减少代码量。
在图像编码装置11(图6)中进行与以上的解码处理对应的编码处理。就是说,图像编码装置11具备:MPM候选列表导出部30421,导出包括用于对象块的帧内预测的对象帧内预测模式的候选的MPM候选列表;以及非MPM参数导出部11323(图15),不仅是编码部,还是导出部,在对象帧内预测模式不包括于MPM候选列表的情况下对用于导出对象帧内预测模式的参数即rem_selected_mode以及rem_non_selected_mode进行编码,并且按照与关于对象块的方向性对应的顺序将rem_selected_mode以及rem_non_selected_mode与不包括于MPM候选列表的帧内预测模式对应,由此对对象帧内预测模式进行编码。根据以上所述,在编码处理中,MPM参数导出部11322将被选择的可能性高的预测方向与更短的代码对应,因此能减少代码量。
〔实施方式5〕
本实施方式与所述实施方式的不同点在于基于MPM的方向将REM的值与帧内预测模式编号对应。需要说明的是,在以下的实施方式中,为了便于说明,对与已经说明的构件具有相同功能的构件标注相同的符号,并省略其说明。
(基于MPM的方向的REM的值与帧内预测模式编号的对应)
非MPM参数解码部30423从MPM中在纵横的方向预测的数量上占优势的一侧起,将REM的值与帧内预测模式编号对应。具体而言,在将MPM候选列表所包括的纵向的预测模式的数量设为C_v,将横向的预测模式的数量设为C_h时,如果C_v>C_h,则非MPM参数解码部30423以使RemIntraPredMode的值以在图12所示的方向从右上(66)逆时针旋转的顺序相对于帧内预测模式编号呈降序的方式,将REM的值与帧内预测模式编号对应。
MPM候选列表包括大量纵向的MPM表示在对象块的周围纵向的预测模式多。因此,即使在不使用MPM的情况下,也可以期待使用纵向的预测模式。
在“纵向”“横向”的判定中,例如,将与模式编号2~34对应的预测模式判定为“横向”,并且将与模式编号35~66对应的预测模式判定为“纵向”。然而,并不限于此例,也可以在根据块形状将预测模式判定为纵/横时,变更与预测模式对应的模式编号的范围。例如,也可以将块的对角线设为判定为纵/横时的边界。或者,作为其它示例,也可以将水平(18)方向附近的包括于规定的范围的模式编号设为“横向”,将垂直(50)方向上的包括于规定的范围的模式编号设为“纵向”。
具体而言,例如,在MPM候选列表为{49,18,0,1,50,51}的情况下,C_v=3,C_h=1。因此,如表4所示,非MPM参数解码部30423以使RemIntraPredMode的值以在图12所示的方向从右上逆时针旋转的顺序,相对于帧内预测模式编号呈降序的方式,将RemIntraPredMode的值与帧内预测模式编号对应。
图38是表示图16所示的帧内预测参数解码部304的非MPM参数解码部30423基于MPM的方向将REM的值与帧内预测模式编号对应的动作的流程图。如图38所示,在步骤S401中,非MPM参数解码部30423对作为纵向的MPM数(C_v)和作为横向的MPM数(C_h)进行计数。在步骤S402中,非MPM参数解码部30423判定是否为C_v>C_h。在是C_v>C_h的情况(是)下,执行步骤S302。在不是C_v>C_h的情况(否)下,执行步骤S303。
如上所述,非MPM参数解码部30423以关于对象块的方向性所对应的顺序将作为用于导出帧内预测模式的参数的rem_selected_mode以及rem_non_selected_mode与作为不包括于MPM候选列表的帧内预测模式的RemIntraPredMode相对应。
本实施方式中,关于对象块的方向性是指MPM候选列表所包括的帧内预测模式的预测方向。然后,将MPM候选列表所包括的帧内预测模式分为两个方向性组。例如,在MPM候选列表为{49,18,0,1,50,51}的情况下,除了作为平面预测模式的0以及1以外,分为由“纵向”的{49,50,51}构成的第一方向性组和由“横向”的{18}构成的第二方向性组。第一方向性组所包括的帧内预测模式的个数多于第二方向性组所包括的帧内预测模式的个数。在该例中,非MPM参数解码部30423将RemIntraPredMode中作为包括更多的帧内预测模式的方向性组的第一方向性组所对应的帧内预测模式、就是说在图12所示的方向上纵向(35~66)的帧内预测模式与编号比横向(2~34)的帧内预测模式小的rem_selected_mode以及rem_non_selected_mode对应。
此外,在第二方向性组所包括的帧内预测模式的个数比第一方向性组所包括的帧内预测模式的个数多的示例中,非MPM参数解码部30423将RemIntraPredMode中作为包括更多的帧内预测模式的方向性组的第二方向性组所对应的帧内预测模式、就是说在图12所示的方向上横向(2~34)的帧内预测模式与编号比纵向(35~66)的帧内预测模式小的rem_selected_mode以及rem_non_selected_mode对应。
(基于MPM的方向的REM的值与帧内预测模式编号的对应的效果)
对rem_non_selected_mode进行可变长度编码。此外,该可变长度编码中,更小的rem_non_selected_mode编码位更短的代码。在MPM候选列表包括比横向的MPM多的纵向的MPM的情况(C_v>C_h)下,非MPM参数解码部30423如表4所示,将更小的rem_non_selected_mode与更靠近66的帧内预测模式编号对应。此时,块的预测方向为在图12所示的方向上与比2(左下)更靠近66(右上)的帧内预测模式编号对应的预测方向的可能性高。此外,在MPM候选列表不包括比横向的MPM多的纵向的MPM的情况(C_v≤C_h)下,如表2所示,非MPM参数解码部30423将更小的rem_non_selected_mode与更靠近2的帧内预测模式编号对应。此时,块的预测方向为在图12所示的方向上与比66(右上)更靠近2(左下)的帧内预测模式编号对应的预测方向的可能性高。因此,非MPM参数解码部30423将被选择的可能性高的预测方向与更短的代码对应,因此能减少代码量。
在图像编码装置11中进行与以上的解码处理对应的编码处理。然后,在编码处理中,MPM参数导出部11322(图15)将被选择的可能性高的预测方向与更短的代码对应,因此能减少代码量。
〔实施方式6〕
本实施方式与所述实施方式的不同点在于基于到MPM的距离将REM的值与帧内预测模式编号对应。
(基于到MPM的距离的REM的值与帧内预测模式编号的对应)
非MPM参数解码部30423将REM与RemIntraPredMode的值按照某帧内预测模式与距离其最近的MPM的帧内预测模式编号的差的绝对值从小到大的顺序对应。在此,“最近的MPM”是指在着眼于某帧内预测模式编号的情况下,MPM候选列表所包括的多个MPM中距离该某帧内预测模式编号最近的MPM。然后,将最近的MPM与帧内预测模式编号的差的绝对值称为“到MPM的距离”。需要说明的是,非MPM参数解码部30423不将MPM候选列表所包括的平面预测模式(PLANAR以及DC)的MPM设为要求出到MPM的距离的对象。
非MPM参数解码部30423在将RemIntraPredMode与到MPM距离相同的REM对应时,例如与图12所示的方向中的从左下顺时针(降序)/从右上逆时针(升序)对应。
也可以将本实施方式的基于到MPM的距离的对应与所述(1)基于块形状的对应组合。此外,也可以将本实施方式的基于到MPM的距离的对应与所述(2)基于MPM的方向的对应组合。而且,也可以将本实施方式的基于到MPM的距离的对应与所述(1)、所述(2)组合。
图39是表示图16所示的帧内预测参数解码部304的非MPM参数解码部30423基于到MPM的距离将REM的值与帧内预测模式编号对应的动作的流程图。如图39所示,在步骤S501中,非MPM参数解码部30423对作为REM的各方向预测模式导出到MPM的距离。在步骤S502中,非MPM参数解码部30423按照到MPM的距离从近到远的顺序对REM标注RemIntraPredMode编号。在步骤S503中,非MPM参数解码部30423基于RemIntraPredMode的顺序导出rem_selected_mode以及rem_non_selected_mode。
[表7]
具体而言,在MPM候选列表={2,49,0,1,18,23}的情况下,如表5所示,非MPM参数解码部30423导出作为REM的各方向预测模式和到MPM的距离,并标注RemIntraPredMode。如上述,非MPM参数解码部30423按照以MPM为基点(以表5中的黑色表示的帧内预测模式)的距离的顺序,将RemIntraPredMode与作为REM的各方向预测模式对应。
更具体而言,非MPM参数解码部30423将更小的、即rem_non_selected mode的代码变得更短的RemIntraPredMode与作为REM的各方向预测模式中的、与MPM的模式编号的差的绝对值、就是说预测方向的角度差的绝对值更小的帧内预测模式相对应。
(selected mode的分布的偏差的消除)
如上所述,selected mode是将RemIntraPredMode除以4后余数为0的模式。在表5所示的示例中,标注模式编号3、4、5的RemIntraPredMode0、8、16为selected mode,因此selected mode的分布出现偏差。这样,当对分布出现偏差的selected mode进行编码时,编码效率可能会降低。
因此,非MPM参数解码部30423基于RemIntraPredMode来选择selected mode,所述RemIntraPredMode根据到MPM的距离而进行排序前的RemIntraPredMode、就是说处于如表6所示,在图12所示的方向中从方向预测模式的左下起依次与值相对应的情况下。接着,非MPM参数解码部30423选择既不是MPM也不是所述的selected mode的方向预测模式作为non-selected_mode,按照到MPM的距离从小到大的顺序与值对应。根据以上所述,能够避免selected mode的分布的偏差。
需要说明的是,RemIntraPredMode不是直接被编码,因此非MPM参数解码部30423不一定需要导出RemIntraPredMode的值。在该例中,用不同的方法导出selected mode与non-selected mode,因此非MPM参数解码部30423省略RemIntraPredMode的导出,而直接导出rem_non_selected_mode的值。
[表8]
具体而言,在MPM候选列表={2,49,0,1,18,23}的情况下,非MPM参数解码部30423如表6所示,导出到MPM的距离,并对RemIntraPredMode标注帧内预测模式编号。
图40是表示图16所示的帧内预测参数解码部304的非MPM参数解码部30423基于到MPM的距离将REM的值与帧内预测模式编号对应的动作的流程图。如图40所示,在步骤S601中,基于帧内预测模式编号的顺序导出rem_selected_mode。在步骤S602中,非MPM参数解码部30423基于到MPM的距离的顺序来导出rem_non_selecterd_mode。
(到MPM的距离的导出方法)
作为一个示例,非MPM参数解码部30423能如下导出到MPM的距离。
(1)REM:设为MPM以外的各方向预测模式的集合。
(2)方向预测的MPM:设为平面预测模式(PLANAR以及DC)以外的MPM的集合。
(3)对各REM循环进行以下的处理。
·对各方向预测的MPM导出距离(帧内预测模式编号的差的绝对值)。但是,在MPM进行了与帧内预测模式编号有关的排序的情况下,如果分别针对左旋转(降序)/右旋转(升序)最靠近的1个MPM而导出距离,则显然其它MPM比距离左右最近的MPM远,因此可以省略对其它MPM的处理的循环。
·选择导出的距离中的最小值。
如上所述,图像解码装置31(图5)具备:MPM候选列表导出部30421,导出包括用于对象块的帧内预测的对象帧内预测模式的候选的MPM候选列表;以及非MPM参数解码部30423,不仅是解码部还是导出部,在对象帧内预测模式不包括于所述候选列表的情况下对用于导出对象帧内预测模式的参数即RemIntraPredMode进行解码,并且将rem_selected_mode以及rem_non_selected_mode与MPM候选列表所不包括的帧内预测模式相对应,并按照以MPM候选列表所包括的帧内预测模式作为基点的顺序与rem_non_selected_mode对应,由此来导出所述对象帧内预测模式。
(基于到MPM的距离的REM的值与帧内预测模式编号的对应的效果)
对rem_non_selected_mode进行可变长度编码。此外,在该可变长度编码中,更小的rem_non_selected_mode被编码为更短的代码。非MPM参数解码部30423如表6所示,将更小的rem_non_selected_mode与更接近MPM候选列表所包括的MPM(MPM候选)的帧内预测模式编号相对应。此时,块的预测方向为与接近MPM候选列表所包括的MPM的帧内预测模式编号对应的预测方向的可能性高。因此,非MPM参数解码部30423将被选择的可能性高的预测方向与更短的代码相对应,因此能减少代码量。
此外,在以上的说明中,对将RemIntraPredMode分为selected mode和non-selected mode的实施例进行了说明,但也可以采用将selected mode设为0个,而不对selected mode进行编码以及解码的方式。
具体而言,首先,如前述的图39所示,非MPM参数解码部30423基于到MPM的距离将REM的值与帧内预测模式编号相对应。通过实施图39的步骤S501以及步骤S502的处理,非MPM参数解码部30423按照到MPM的距离从近到远的顺序对REM标注RemIntraPredMode编号。在该情况下,不实施步骤S503的处理。例如,在MPM候选列表={2,49,0,1,18,23}的情况下,非MPM参数解码部30423如表7所示,将根据到MPM的距离排序的RemIntraPredMode编号与作为REM的各方向预测模式相对应。
接着,按照RemIntraPredMode从小值到大值的顺序,对2^N个的帧内预测模式分配N位的固定长度代码,利用至今为止所记载的方法将可变长度代码分配到剩余的帧内预测模式中。在此,N为正整数。
或者,也可以按照RemIntraPredMode从小值到大值的顺序,利用至今为止所记载的方法将可变长度代码分配到与RemIntraPredMode对应的所有帧内预测模式中。在该情况下,也可以将non-selected mode中被选择的可能性更高的预测方向的一部分进一步与短代码对应。
当这样处理时,能将短代码分配到与出现频率较高的到MPM的距离较近的帧内预测模式中,因此能减少代码量。
在图像编码装置11(图6)中进行与以上的解码处理对应的编码处理。就是说,图像编码装置11具备:MPM候选列表导出部30421,导出包括用于对象块的帧内预测的对象帧内预测模式的候选的MPM候选列表;以及非MPM参数导出部11323(图15),不仅是编码部还是导出部,在对象帧内预测模式不包括于MPM候选列表的情况下对作为用于导出对象帧内预测模式的参数的RemIntraPredMode进行编码,并且将rem_selected_mode以及rem_non_selected_mode与MPM候选列表所不包括的帧内预测模式相对应,并按照以MPM候选列表所包括的帧内预测模式作为基点的顺序与rem_non-selected_mode对应,由此导出对象帧内预测模式。根据以上,在编码处理中,MPM参数导出部11322将被选择的可能性高的预测方向与更短的代码对应,因此能减少代码量。
〔其它〕
需要说明的是,可以通过计算机实现前述的实施方式中的图像编码装置11、图像解码装置31的一部分,例如,熵解码部301、预测参数解码部302、环路滤波器305、预测图像生成部308、逆量化/逆DCT部311、加法部312、预测图像生成部101、减法部102、DCT/量化部103、熵编码部104、逆量化/逆DCT部105、环路滤波器107、编码参数确定部110、预测参数编码部111、以及各部所包括的块。在该情况下,可以通过将用于实现该控制功能的程序记录于计算机可读记录介质,并使计算机***读入记录于该记录介质的程序并执行来实现。需要说明的是,在此提到的“计算机***”是指内置于图像编码装置11、图像解码装置31中的任一个的计算机***,采用包含OS、***设备等硬件的计算机***。此外,“计算机可读记录介质”是指软盘、磁光盘、ROM、CD-ROM等可移动介质、内置于计算机***的硬盘等存储装置。而且,“计算机可读记录介质”也可以进一步包括:像经由互联网等网络或电话线路等通信线路来发送程序的情况下的通信线那样,短时间内、动态地保存程序的记录介质;以及像作为该情况下的服务器、客户端的计算机***内部的易失性存储器那样,将程序保存固定时间的记录介质。此外,上述程序可以是用于实现上述功能的一部分的程序,进而也可以是能通过与已记录在计算机***中的程序进行组合来实现上述功能的程序。
此外,也可以将前述的实施方式中的图像编码装置11、图像解码装置31的一部分或全部作为LSI(Large Scale Integration:大规模集成电路)等集成电路而实现。图像编码装置11、图像解码装置31的各功能块可以单独地处理器化,也可以将一部分或全部集成来处理器化。此外,集成电路化的方法并不限于LSI,也可以通过专用电路或通用处理器来实现。此外,在随着半导体技术的进步而出现代替LSI的集成电路化的技术的情况下,也可以使用基于该技术的集成电路。
〔应用例〕
前述的图像编码装置11以及图像解码装置31能搭载于进行运动图像的发送、接收、记录、再现的各种装置来利用。需要说明的是,运动图像可以是通过摄像机等拍摄的自然运动图像,也可以是通过计算机等生成的人工运动图像(包含CG以及GUI)。
首先,参照图8,对能将前述的运动图像编码装置11及运动图像解码装置31用于运动图像的发送以及接收的情况进行说明。
图8(a)是表示搭载有图像编码装置11的发送装置PROD_A的构成的框图。如图8(a)所示,发送装置PROD_A具备:通过对运动图像进行编码而得到编码数据的编码部PROD_A1、通过利用编码部PROD_A1所得到的编码数据对载波进行调制而得到调制信号的调制部PROD_A2、以及发送调制部PROD_A2所得到的调制信号的发送部PROD_A3。前述的图像编码装置11被作为该编码部PROD_A1来使用。
作为输入至编码部PROD_A1的运动图像的供给源,发送装置PROD_A也可以进一步具备:拍摄运动图像的摄像机PROD_A4、记录运动图像的记录介质PROD_A5、用于从外部输入运动图像的输入端子PROD_A6、以及生成或加工图像的图像处理部A7。在图8(a)中举例示出了发送装置PROD_A具备全部这些构成,但也可以省略一部分。
需要说明的是,记录介质PROD_A5可以是记录有未被编码的运动图像的介质,也可以是记录有以与传输用的编码方式不同的记录用的编码方式进行编码后的运动图像的介质。在后者的情况下,使按照记录用的编码方式对从记录介质PROD_A5读出的编码数据进行解码的解码部(未图示)介于记录介质PROD_A5与编码部PROD_A1之间为好。
图8(b)是表示搭载有图像解码装置31的接收装置PROD_B的构成的框图。如图8(b)所示,接收装置PROD_B具备:接收调制信号的接收部PROD_B1、通过对接收部PROD_B1所接收到的调制信号进行解调而得到编码数据的解调部PROD_B2、以及通过对解调部PROD_B2所得到的编码数据进行解码而得到运动图像的解码部PROD_B3。前述的图像解码装置31被作为该解码部PROD_B3来使用。
接收装置PROD_B作为解码部PROD_B3所输出的运动图像的供给目的地,也可以进一步具备显示运动图像的显示器PROD_B4、用于记录运动图像的记录介质PROD_B5、以及用于将运动图像输出至外部的输出端子PROD_B6。在图8(b)中举例示出了接收装置PROD_B具备全部这些的构成,但也可以省略一部分。
需要说明的是,记录介质PROD_B5可以是用于记录未被编码的运动图像的介质,也可以是以与传输用的编码方式不同的记录用的编码方式编码后的介质。在后者的情况下,使按照记录用的编码方式对从解码部PROD_B3获取的运动图像进行编码的编码部(未图示)介于解码部PROD_B3与记录介质PROD_B5之间为好。
需要说明的是,传输调制信号的传输介质可以是无线的,也可以是有线的。此外,传输调制信号的传输方案可以是广播(在此,指发送目的地未预先确定的发送方案),也可以是通信(在此,指发送目的地已预先确定的发送方案)。即,调制信号的传输可以通过无线广播、有线广播、无线通信、以及有线通信中的任一个来实现。
例如,地面数字广播的广播站(广播设备等)/接收站(电视接收机等)是通过无线广播收发调制信号的发送装置PROD_A/接收装置PROD_B的一个示例。此外,有线电视广播的广播站(广播设备等)/接收站(电视接收机等)是通过有线广播收发调制信号的发送装置PROD_A/接收装置PROD_B的一个示例。
此外,使用互联网的VOD(Video On Demand:视频点播)服务、运动图像共享服务等服务器(工作站等)/客户端(电视接收机、个人计算机、智能手机等)是通过通信收发调制信号的发送装置PROD_A/接收装置PROD_B的一个示例(通常,在LAN中使用无线或有线的任一个作为传输介质,在WAN中使用有线作为传输介质)。在此,个人计算机中包含台式型PC、膝上型PC、以及平板型PC。此外,智能手机中也包含多功能移动电话终端。
需要说明的是,运动图像共享服务的客户端除了对从服务器下载的编码数据进行解码并显示于显示器的功能以外,还具有对通过摄像机拍摄的运动图像进行编码并上传至服务器的功能。即,运动图像共享服务的客户端作为发送装置PROD_A以及接收装置PROD_B双方来发挥功能。
接着,参照图9,对能将前述的运动图像编码装置11及运动图像解码装置31用于运动图像的记录以及再现的情况进行说明。
图9(a)是表示搭载有前述的图像编码装置11的记录装置PROD_C的构成的框图。如图9(a)所示,记录装置PROD_C具备:通过对运动图像进行编码而得到编码数据的编码部PROD_C1、以及将编码部PROD_C1所得到的编码数据写入记录介质PROD_M的写入部PROD_C2。前述的图像编码装置11被作为该编码部PROD_C1来使用。
需要说明的是,记录介质PROD_M可以是(1)如HDD(Hard Disk Drive:硬盘驱动器)、SSD(Solid State Drive:固态硬盘)等那样内置于记录装置PROD_C的类型的记录介质,也可以是(2)如SD存储卡、USB(Universal Serial Bus:通用串行总线)闪存等那样连接于记录装置PROD_C的类型的记录介质,还可以是(3)如DVD(Digital Versatile Disc:数字通用光盘)、BD(Blu-ray Disc:蓝光光盘、注册商标)等那样装填至内置于记录装置PROD_C的驱动装置(未图示)的记录介质。
此外,作为输入至编码部PROD_C1的运动图像的供给源,记录装置PROD_C也可以进一步具备:拍摄运动图像的摄像机PROD_C3、用于从外部输入运动图像的输入端子PROD_C4、用于接收运动图像的接收部PROD_C5、以及生成或加工图像的图像处理部PROD_C6。在图9(a)中举例示出了记录装置PROD_C具备全部这些的构成,但也可以省略一部分。
需要说明的是,接收部PROD_C5可以接收未被编码的运动图像,也可以接收以与记录用的编码方式不同的传输用的编码方式编码后的编码数据。在后者的情况下,使对以传输用的编码方式编码后的编码数据进行解码的传输用解码部(未图示)介于接收部PROD_C5与编码部PROD_C1之间为好。
作为这种记录装置PROD_C,例如可举出:DVD记录器、BD记录器、HDD(Hard DiskDrive)记录器等(在该情况下,输入端子PROD_C4或接收部PROD_C5为运动图像的主要的供给源)。此外,便携式摄像机(在该情况下,摄像机PROD_C3为运动图像的主要的供给源)、个人计算机(在该情况下,接收部PROD_C5或图像处理部C6为运动图像的主要的供给源)、智能手机(在该情况下,摄像机PROD_C3或接收部PROD_C5为运动图像的主要的供给源)等也是这种记录装置PROD_C的一个示例。
图9(b)是表示搭载有前述的图像解码装置31的再现装置PROD_D的构成的框图。如图9(b)所示,再现装置PROD_D具备:读出已写入记录介质PROD_M的编码数据的读出部PROD_D1、以及通过对读出部PROD_D1所读出的编码数据进行解码来得到运动图像的解码部PROD_D2。前述的图像解码装置31被作为该解码部PROD_D2来使用。
需要说明的是,记录介质PROD_M可以是(1)如HDD、SSD等那样内置于再现装置PROD_D的类型的记录介质,也可以是(2)如SD存储卡、USB闪存等那样连接于再现装置PROD_D的类型的记录介质,也可以是(3)如DVD、BD等那样装填至内置于再现装置PROD_D的驱动装置(未图示)的记录介质。
此外,作为解码部PROD_D2所输出的运动图像的供给目的地,再现装置PROD_D也可以进一步具备:显示运动图像的显示器PROD_D3、用于将运动图像输出至外部的输出端子PROD_D4、以及发送运动图像的发送部PROD_D5。在图9(b)中举例示出了再现装置PROD_D具备全部这些的构成,但也可以省略一部分。
需要说明的是,发送部PROD_D5可以发送未被编码的运动图像,也可以发送以与记录用的编码方式不同的传输用的编码方式编码后的编码数据。在后者的情况下,使以传输用的编码方式对运动图像进行编码的编码部(未图示)介于解码部PROD_D2与发送部PROD_D5之间为好。
作为这种再现装置PROD_D,例如可列举出DVD播放器、BD播放器、HDD播放器等(在在该情况下,连接有电视接收机等的输出端子PROD_D4为运动图像的主要供给目的地)。此外,电视接收机(在该情况下,显示器PROD_D3为运动图像的主要供给目的地)、数字标牌(也称为电子看板、电子公告板等,显示器PROD_D3或发送部PROD_D5为运动图像的主要供给目的地)、台式PC(在该情况下,输出端子PROD_D4或发送部PROD_D5为运动图像的主要供给目的地)、膝上型或平板型PC(在该情况下,显示器PROD_D3或发送部PROD_D5为运动图像的主要供给目的地)、智能手机(在该情况下,显示器PROD_D3或发送部PROD_D5为运动图像的主要供给目的地)等也是这种再现装置PROD_D的一个示例。
(硬件实现以及软件实现)
此外,前述的图像解码装置31以及图像编码装置11的各块可以通过形成于集成电路(IC芯片)上的逻辑电路而以硬件方式实现,也可以利用CPU(Central Processing Unit:中央处理器)而以软件方式实现。
在后者的情况下,上述各装置具备:执行实现各功能的程序的命令的CPU、储存上述程序的ROM(Read Only Memory:只读存储器)、展开上述程序的RAM(Random AccessMemory:随机存取存储器)、以及储存上述程序和各种数据的存储器等存储装置(记录介质)等。然后,本发明的实施方案的目的在于通过以下方式也能够达到:将以计算机可读取的方式记录实现前述功能的软件即上述各装置的控制程序的程序代码(执行形式程序、中间代码程序、源程序)的记录介质供给至上述各装置,此计算机(或CPU、MPU)读出记录于记录介质的程序代码并执行。
作为上述记录介质,例如可以使用:磁带、盒式磁带等带类;包含软盘(注册商标)/硬盘等磁盘、CD-ROM(Compact Disc Read-Only Memory:光盘只读存储器)/MO盘(Magneto-Optical disc:磁光盘)/MD(Mini Disc:迷你磁光盘)/DVD(Digital Versatile Disc:数字通用光盘)/CD-R(CD Recordable:光盘刻录片)/蓝光光盘(Blu-ray Disc:注册商标)等光盘的盘类;IC卡(包含存储卡)/光卡等卡类;掩模ROM/EPROM(Erasable ProgrammableRead-Only Memory:可擦可编程只读存储器)/EEPROM(ElectricallyErasableandProgrammableRead-OnlyMemory:电可擦可编程只读存储器)/闪存ROM等半导体存储器类;或者PLD(Programmable logic device:可编程逻辑器件)、FPGA(Field Programmable GateArray:现场可编程门阵列)等逻辑电路类等。
此外,也可以将上述各装置构成为能与通信网络连接,并经由通信网络供给上述程序代码。该通信网络能传输程序代码即可,并无特别限定。例如,可利用互联网、内联网(intranet)、外联网(extranet)、LAN(Local Area Network:局域网)、ISDN(IntegratedServices Digital Network:综合业务数字网)、VAN(Value-Added Network:增值网络)、CATV(Community Antenna television/Cable Television:社区天线电视/有线电视)通信网、虚拟专用网(Virtual Private Network)、电话线路网、移动通信网、卫星通信网等。此外,构成该通信网络的传输介质也是为能传输程序代码的介质即可,不限定于特定的构成或种类。例如,无论在IEEE(Institute of Electrical and Electronic Engineers:电气和电子工程师协会)1394、USB、电力线输送、有线TV线路、电话线、ADSL(AsymmetricDigital Subscriber Line:非对称数字用户线路)线路等有线中,还是在如IrDA(InfraredData Association:红外线数据协会)、遥控器那样的红外线、BlueTooth(注册商标)、IEEE802.11无线、HDR(High Data Rate:高数据速率)、NFC(Near Field Communication:近场通讯)、DLNA(Digital Living Network Alliance:数字生活网络联盟,注册商标)、便携电话网、卫星线路、地面数字广播网等无线中都可利用。需要说明的是,本发明的实施方案即使以通过电子传输来将上述程序代码具体化的、嵌入载波的计算机数据信号的形态也能够实现。
〔附记事项〕
本发明的实施方案并不限定于前述的各实施方式,能在权利要求所示的范围内进行各种变更,将分别在不同的实施方式中公开的技术手段适当组合而得到的实施方式也包括在本发明的技术范围内。而且,通过将分别在各实施方式中公开的技术手段组合,能形成新的技术特征。
(关联申请的相互参考)
本申请基于2016年8月26日提出申请的日本专利申请:日本特愿2016-166320和2016年9月27日提出申请的日本专利申请:日本特愿2016-188789主张优先权的利益,并通过对其进行参照而将其全部内容包含到本说明书中。
工业上的可利用性
本发明的实施方式能够优选地应用于对将图像数据编码而得到的编码数据进行解码的图像解码装置、以及生成将图像数据编码而得到的编码数据的图像编码装置。此外,能够优选地应用于由图像编码装置生成并被图像解码装置参考的编码数据的数据结构。
符号说明
11 图像编码装置
31 图像解码装置
1131 帧内预测参数编码控制部
3041 帧内预测参数解码控制部
11322 MPM参数导出部(参数导出部)
11323 非MPM参数导出部(参数导出部、编码部、导出部)
30421 MPM候选列表导出部(候选列表导出部)
30422 MPM参数解码部(参数解码部)
30423 非MPM参数解码部(参数解码部、导出部、解码部)
Claims (7)
1.一种图像解码装置,其中,
在对图片进行分割与解码时,所述图像解码装置对通过在四叉树分割的基础上进行二叉树分割的QTBT分割而得到的块进行帧内预测,其特征在于,所述图像解码装置包括:
帧内预测参数解码控制部,基于所述块的形状来变更帧内预测模式下的多个预测方向与多个模式编号之间的第一对应,以产生第二对应;以及
预测图像生成部,参照所述多个模式编号和所述第二对应,生成预测图像,其中:
所述帧内预测参数解码控制部基于所述块的所述形状来变更所述多个预测方向中第一部分的多个预测方向的数量,以产生多个变更预测方向,并基于所述多个变更预测方向来确定所述第二对应,以及
朝向第一方向区域的所述多个预测方向为所述第一部分的所述多个预测方向。
2.根据权利要求1所述的图像解码装置,其特征在于,
当所述块的宽度大于所述块的高度时,所述第一方向区域为所述块的左下方向与所述块的左上方向之间,以及
当所述块的高度大于所述块的宽度时,所述第一方向区域为所述块的左上方向与所述块的右上方向之间。
3.根据权利要求2所述的图像解码装置,其特征在于,
所述左下方向、所述左上方向以及所述右上方向是单位45度的斜向。
4.根据权利要求1所述的图像解码装置,其特征在于,
所述帧内预测参数解码控制部基于所述块的所述形状来变更所述多个预测方向中第二部分的多个预测方向的数量,以产生所述多个变更预测方向,并基于所述多个变更预测方向来确定所述第二对应,以及
朝向第二方向区域的所述多个预测方向为所述第二部分的所述多个预测方向。
5.根据权利要求4所述的图像解码装置,其特征在于,
当所述块的宽度大于所述块的高度时,所述第二方向区域为所述块的左上方向与所述块的右上方向之间,以及
当所述块的高度大于所述块的宽度时,所述第二方向区域为所述块的左下方向与所述块的左上方向之间。
6.根据权利要求4所述的图像解码装置,其特征在于,
当所述第一部分的所述多个预测方向的数量基于所述块的所述形状而增加时,所述第二部分的所述多个预测方向的数量会减少,以及
当所述第一部分的所述多个预测方向的数量基于所述块的所述形状而减少时,所述第二部分的所述多个预测方向的数量会增加。
7.一种图像编码装置,其中,
在对图片进行分割与解码时,所述图像编码装置对通过在四叉树分割的基础上进行二叉树分割的QTBT分割而得到的块进行帧内预测,其特征在于,所述图像编码 装置包括:
帧内预测参数编码控制部,基于所述块的形状来变更帧内预测模式下的多个预测方向与多个模式编号之间的第一对应,以产生第二对应;以及
预测图像生成部,参照所述多个模式编号和所述第二对应,生成预测图像,其中:
所述帧内预测参数编码 控制部基于所述块的所述形状来变更所述多个预测方向中第一部分的多个预测方向的数量,以产生多个变更预测方向,并基于所述多个变更预测方向来确定所述第二对应,以及
朝向第一方向区域的所述多个预测方向为所述第一部分的所述多个预测方向。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016166320 | 2016-08-26 | ||
JP2016-166320 | 2016-08-26 | ||
JP2016-188789 | 2016-09-27 | ||
JP2016188789 | 2016-09-27 | ||
PCT/JP2017/028642 WO2018037896A1 (ja) | 2016-08-26 | 2017-08-07 | 画像復号装置、画像符号化装置、画像復号方法、および画像符号化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110089115A CN110089115A (zh) | 2019-08-02 |
CN110089115B true CN110089115B (zh) | 2021-07-06 |
Family
ID=61246540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780052604.2A Active CN110089115B (zh) | 2016-08-26 | 2017-08-07 | 图像解码装置、图像编码装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10972732B2 (zh) |
EP (2) | EP3910954A1 (zh) |
CN (1) | CN110089115B (zh) |
WO (1) | WO2018037896A1 (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018062788A1 (ko) * | 2016-09-30 | 2018-04-05 | 엘지전자(주) | 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 |
JP2019041165A (ja) * | 2017-08-23 | 2019-03-14 | 富士通株式会社 | 画像符号化装置、画像復号装置、画像処理方法、及び画像処理プログラム |
EP3685579A1 (en) * | 2017-10-09 | 2020-07-29 | Huawei Technologies Co., Ltd. | Devices and methods for image and video coding |
US10771781B2 (en) * | 2018-03-12 | 2020-09-08 | Electronics And Telecommunications Research Institute | Method and apparatus for deriving intra prediction mode |
WO2019209028A1 (ko) * | 2018-04-24 | 2019-10-31 | 삼성전자 주식회사 | 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 |
CN118175330A (zh) * | 2018-05-17 | 2024-06-11 | 松下电器(美国)知识产权公司 | 编码装置、编码方法、解码装置、解码方法和计算机可读取介质 |
WO2020002373A1 (en) * | 2018-06-27 | 2020-01-02 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Contour mode prediction |
WO2020017987A1 (en) * | 2018-06-29 | 2020-01-23 | Huawei Technologies Co., Ltd | Intra-prediction apparatus, encoding apparatus, decoding apparatus and methods |
KR20230127354A (ko) * | 2018-06-29 | 2023-08-31 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 인트라-예측을 위한 디바이스 및 방법 |
WO2020008324A1 (en) * | 2018-07-01 | 2020-01-09 | Beijing Bytedance Network Technology Co., Ltd. | Shape dependent intra coding |
US10382772B1 (en) * | 2018-07-02 | 2019-08-13 | Tencent America LLC | Method and apparatus for video coding |
CN112335238A (zh) * | 2018-07-14 | 2021-02-05 | Lg电子株式会社 | 图像编码***中使用帧内预测相关信息的图像解码方法及其设备 |
KR20210021938A (ko) * | 2018-07-18 | 2021-03-02 | 삼성전자주식회사 | 부호화 방법 및 그 장치, 복호화 방법 및 그 장치 |
WO2020040439A1 (ko) * | 2018-08-21 | 2020-02-27 | 엘지전자 주식회사 | 영상 코딩 시스템에서 인트라 예측 방법 및 장치 |
KR20230104769A (ko) * | 2018-08-24 | 2023-07-10 | 삼성전자주식회사 | 부호화 방법 및 그 장치, 복호화 방법 및 그 장치 |
CA3111038A1 (en) | 2018-09-03 | 2020-03-12 | Huawei Technologies Co., Ltd. | Method and apparatus for intra prediction |
JP7323014B2 (ja) * | 2018-09-19 | 2023-08-08 | 富士通株式会社 | 映像復号方法 |
TW202025732A (zh) * | 2018-09-19 | 2020-07-01 | 大陸商北京字節跳動網絡技術有限公司 | 用於幀內編碼的鄰近的相鄰塊的選擇 |
JP7180679B2 (ja) * | 2018-09-19 | 2022-11-30 | 富士通株式会社 | 映像符号化装置、映像符号化方法、映像符号化プログラム、映像復号装置、映像復号方法、及び映像復号プログラム |
EP3860122B1 (en) * | 2018-09-28 | 2024-03-27 | JVCKenwood Corporation | Image decoding device, image decoding method, and image decoding program |
CN118214859A (zh) * | 2018-10-12 | 2024-06-18 | 英迪股份有限公司 | 图像解码和编码方法、数字存储介质、发送比特流的方法 |
KR20200083321A (ko) * | 2018-12-28 | 2020-07-08 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
JP2022068379A (ja) * | 2019-03-08 | 2022-05-10 | シャープ株式会社 | 画像復号装置 |
CN116866574A (zh) | 2019-06-25 | 2023-10-10 | 日本放送协会 | 帧内预测装置、图像解码装置及程序 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857763A (zh) * | 2011-06-30 | 2013-01-02 | 华为技术有限公司 | 一种基于帧内预测的解码方法和解码装置 |
CN103636208A (zh) * | 2011-07-01 | 2014-03-12 | 高通股份有限公司 | 在视频译码中用于非正方形块的上下文自适应熵译码 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5359657B2 (ja) | 2009-07-31 | 2013-12-04 | ソニー株式会社 | 画像符号化装置および方法、記録媒体、並びにプログラム |
US9769472B2 (en) * | 2011-08-17 | 2017-09-19 | Mediatek Singapore Pte. Ltd. | Method and apparatus for Intra prediction using non-square blocks |
JP2013058939A (ja) * | 2011-09-08 | 2013-03-28 | Sharp Corp | 画像復号装置、および画像符号化装置 |
JP6470650B2 (ja) | 2015-03-05 | 2019-02-13 | 株式会社日本触媒 | オキソカーボン系化合物含有樹脂組成物及び該樹脂組成物を含む光学フィルター |
JP6367143B2 (ja) | 2015-03-30 | 2018-08-01 | 株式会社東芝 | 合成開口レーダ装置及びそのレーダ信号処理方法 |
EP3453174A1 (en) * | 2016-05-06 | 2019-03-13 | VID SCALE, Inc. | Method and system for decoder-side intra mode derivation for block-based video coding |
EP3454559A1 (en) * | 2016-05-13 | 2019-03-13 | Sony Corporation | Image processing device and method |
WO2017201141A1 (en) * | 2016-05-17 | 2017-11-23 | Arris Enterprises Llc | Template matching for jvet intra prediction |
US10284845B2 (en) * | 2016-05-25 | 2019-05-07 | Arris Enterprises Llc | JVET quadtree plus binary tree (QTBT) structure with multiple asymmetrical partitioning |
MX2018014480A (es) * | 2016-05-25 | 2019-08-12 | Arris Entpr Llc | Codificacion de prediccion angular ponderada mejorada para intra codificacion. |
MX2018014487A (es) * | 2016-05-25 | 2019-08-12 | Arris Entpr Llc | Prediccion angular ponderada para intra codificacion. |
WO2017205700A1 (en) * | 2016-05-25 | 2017-11-30 | Arris Enterprises Llc | Binary, ternary and quad tree partitioning for jvet coding of video data |
WO2017205704A1 (en) * | 2016-05-25 | 2017-11-30 | Arris Enterprises Llc | General block partitioning method |
US10230961B2 (en) * | 2016-06-03 | 2019-03-12 | Mediatek Inc. | Method and apparatus for template-based intra prediction in image and video coding |
CN109691110B (zh) * | 2016-09-08 | 2023-07-25 | 佳稳集团有限公司 | 利用空间布局信息的同步多视点影像的编码/解码方法以及其装置 |
-
2017
- 2017-08-07 CN CN201780052604.2A patent/CN110089115B/zh active Active
- 2017-08-07 US US16/328,690 patent/US10972732B2/en active Active
- 2017-08-07 EP EP21183211.8A patent/EP3910954A1/en active Pending
- 2017-08-07 WO PCT/JP2017/028642 patent/WO2018037896A1/ja unknown
- 2017-08-07 EP EP17843381.9A patent/EP3506638A4/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857763A (zh) * | 2011-06-30 | 2013-01-02 | 华为技术有限公司 | 一种基于帧内预测的解码方法和解码装置 |
CN103636208A (zh) * | 2011-07-01 | 2014-03-12 | 高通股份有限公司 | 在视频译码中用于非正方形块的上下文自适应熵译码 |
Non-Patent Citations (1)
Title |
---|
Algorithm Description of Joint Exploration Test Model 2;CHEN J ET AL;《JVET MEETING, URL:HTTP://PHENIX.INT-EVRY.FR/JVET/,no.JVET-B1001》;20160308;第4-5页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2018037896A1 (ja) | 2018-03-01 |
EP3910954A1 (en) | 2021-11-17 |
US20190208201A1 (en) | 2019-07-04 |
EP3506638A4 (en) | 2020-04-08 |
EP3506638A1 (en) | 2019-07-03 |
US10972732B2 (en) | 2021-04-06 |
CN110089115A (zh) | 2019-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110089115B (zh) | 图像解码装置、图像编码装置 | |
JP7223886B2 (ja) | 画像復号方法 | |
US11503319B2 (en) | Image coding apparatus and image decoding apparatus | |
JP7200320B2 (ja) | 画像フィルタ装置、フィルタ方法および動画像復号装置 | |
CN110574374B (zh) | 图像解码装置 | |
US10863186B2 (en) | Image decoding apparatus and image coding apparatus | |
US20190246108A1 (en) | Entropy decoding apparatus, entropy coding apparatus, image decoding apparatus, and image coding apparatus | |
WO2018116925A1 (ja) | イントラ予測画像生成装置、画像復号装置、および画像符号化装置 | |
CN114009018A (zh) | 用于基于交叉分量相关性来减小视频编码中的重构误差的***和方法 | |
CN110169067B (zh) | 图像解码装置以及图像编码装置 | |
US20190297320A1 (en) | Image decoding device and image encoding device | |
KR20160066011A (ko) | 화상 복호 장치 | |
US11863764B2 (en) | Video encoding device and video decoding device | |
JP7241153B2 (ja) | 画像復号装置 | |
US20200213619A1 (en) | Video coding apparatus and video decoding apparatus, filter device | |
WO2013046990A1 (ja) | オフセット復号装置、オフセット符号化装置、画像フィルタ装置、および、データ構造 | |
CN112204978A (zh) | 图像解码装置以及图像编码装置 | |
WO2019131349A1 (ja) | 画像復号装置、画像符号化装置 | |
CN117917074A (zh) | 跨分量样点自适应偏移中的编解码增强 | |
KR20170043461A (ko) | 영상 복잡도에 기반한 적응적 부호화 및 복호화를 위한 방법 및 장치 |
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 |