CN115699766A - 动态图像编码装置以及动态图像解码装置 - Google Patents
动态图像编码装置以及动态图像解码装置 Download PDFInfo
- Publication number
- CN115699766A CN115699766A CN202180037420.5A CN202180037420A CN115699766A CN 115699766 A CN115699766 A CN 115699766A CN 202180037420 A CN202180037420 A CN 202180037420A CN 115699766 A CN115699766 A CN 115699766A
- Authority
- CN
- China
- Prior art keywords
- flag
- sps
- rpl
- prediction
- reference picture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
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/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/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/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/172—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 picture, frame or field
-
- 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/174—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 slice, e.g. a line of blocks or a group of 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/46—Embedding additional information in the video signal during the compression process
-
- 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/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- 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/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
在利用一个索引值选择两个参照图像列表的情况下,由于两个参照图像列表结构的数量,参照图像列表有时不固定。具有预测部,所述预测部对包括多个参照图像列表的参照图像列表结构进行解码并以图像单位或者切片单位从所述参照图像列表结构中选择两个参照图像列表,在所述预测部中,根据两个参照图像列表结构的数量,利用一个索引值选择两个参照图像列表。
Description
技术领域
本发明的实施方式涉及一种动态图像编码装置以及动态图像解码装置。
背景技术
为了高效地传输或记录动态图像,使用通过对动态图像进行编码来生成编码数据的动态图像编码装置以及通过对该编码数据进行解码来生成解码图像的动态图像解码装置。
作为具体的动态图像编码方式,例如可举出H.264/AVC、H.265/HEVC(High-Efficiency Video Coding:高效动态图像编码)等。
在这样的动态图像编码方式中,构成动态图像的图像(picture)通过分级结构来管理并按每个CU进行编码/解码,该分级结构由通过对图像进行分割而获得的切片、通过对切片进行分割而获得的编码树单元(CTU:Coding Tree Unit)、通过对编码树单元进行分割而获得的编码单位(有时也称为编码单元(Coding Unit:CU))以及通过对编码单位进行分割而获得的变换单元(TU:Transform Unit)构成。
此外,在这样的动态图像编码方式中,通常基于通过对输入图像进行编码/解码而获得的局部解码图像来生成预测图像,对从输入图像(原图像)减去该预测图像而获得的预测误差(有时也称为“差分图像”或“残差图像”)进行编码。作为预测图像的生成方法,可举出画面间预测(帧间预测)和画面内预测(帧内预测)。
此外,作为近年来的动态图像编码和解码的技术可举出非专利文献1。
在非专利文献1中采用了以下方法:按每个列表注册多个参照图像列表,在图像报头或者切片报头中参照并使用这些参照图像列表。
现有技术文献
非专利文献
非专利文献1:“Versatile Video Coding(Draft8)”,JVET-R2001-vA,JointVideo Exploration Team(JVET)of ITU-T SG 16WP 3and ISO/IEC JTC1/SC 29/WG 11,2020-05-15
发明内容
发明所要解决的问题
然而,在非专利文献1所记载的方法中有以下问题:对参照图像列表进行定义的语法、语义有欠缺,在利用一个索引值选择两个参照图像列表的情况下,由于两个参照图像列表结构的数量,参照图像列表不固定。
用于解决问题的方案
本发明的一个方案的动态图像解码装置的特征在于:具有预测部,该预测部对包括多个参照图像列表的参照图像列表结构进行解码并以图像单位或者切片单位从所述参照图像列表结构中选择两个参照图像列表,在所述预测部中,根据两个参照图像列表结构的数量,利用一个索引值选择两个参照图像列表。
本发明的一个方案的动态图像编码装置的特征在于:具有预测部,该预测部对包括多个参照图像列表的参照图像列表结构进行编码并以图像单位或者切片单位从所述参照图像列表结构中选择两个参照图像列表,在所述预测部中,根据两个参照图像列表结构的数量,利用一个索引值选择两个参照图像列表。
通过设为这样的构成,能无欠缺地进行编码、解码。
发明效果
根据本发明的一个方案,能解决上述的问题。
附图说明
图1是表示本实施方式的图像传输系统的构成的概略图。
图2是对本实施方式的搭载有动态图像编码装置的发送装置和搭载有动态图像解码装置的接收装置的构成进行示出的图。PROD_A表示搭载有动态图像编码装置的发送装置,PROD_B表示搭载有动态图像解码装置的接收装置。
图3是对本实施方式的搭载有动态图像编码装置的记录装置和搭载有动态图像解码装置的再现装置的构成进行示出的图。PROD_C表示搭载有动态图像编码装置的记录装置,PROD_D表示搭载有动态图像解码装置的再现装置。
图4是表示编码流的数据的分级结构的图。
图5是表示参照图像和参照图像列表的一个例子的概念图。
图6是表示动态图像解码装置的构成的概略图。
图7是说明动态图像解码装置的概略性的动作的流程图。
图8是说明合并候选的配置的图。
图9是表示帧间预测参数导出部的构成的概略图。
图10是表示合并预测参数导出部和AMVP预测参数导出部的构成的概略图。
图11是表示帧间预测图像生成部的构成的概略图。
图12是表示动态图像编码装置的构成的框图。
图13是表示帧间预测参数编码部的构成的概略图。
图14是表示帧内预测参数编码部的构成的概略图。
图15是表示Sequence Paramenter Set(SPS)和Picture Parameter Set(PPS)的语法的一部分的图。
图16是表示图像报头PH和切片报头的语法的一部分的图。
图17是表示对参照图像列表进行定义的ref_pic_lists()和对参照图像列表结构ref_pic_list_struct(listIdx、rplsIdx)进行定义的语法的图。
具体实施方式
(第一实施方式)
以下,参照附图对本发明的实施方式进行说明。
图1是表示本实施方式的图像传输系统1的构成的概略图。
图像传输系统1是传输对已被变换分辨率的不同的分辨率的图像进行编码而得的编码流,对所传输的编码流进行解码而将图像逆变换为原来的分辨率并进行显示的系统。图像传输系统1构成为包括分辨率变换装置(分辨率变换部)51、动态图像编码装置(图像编码装置)11、网络21、动态图像解码装置(图像解码装置)31、分辨率逆变换装置(分辨率逆变换部)61以及动态图像显示装置(图像显示装置)41。
分辨率变换装置51对动态图像中所包括的图像T的分辨率进行变换,将包括不同的分辨率的图像的可变分辨率动态图像信号供给至图像编码装置11。此外,分辨率变换装置51将表示图像有无分辨率变换的信息供给至动态图像编码装置11。在该信息表示分辨率变换的情况下,动态图像编码装置将后述的分辨率变换信息ref_pic_resampling_enabled_flag设定为1,使其包括于编码数据的序列参数集SPS(Sequence Parameter Set)并进行编码。
向动态图像编码装置11输入已被变换分辨率的图像T。
网络21将动态图像编码装置11所生成的编码流Te传输至动态图像解码装置31。网络21为互联网(Internet)、广域网(WAN:Wide Area Network)、局域网(LAN:LocalAreaNetwork)或这些的组合。网络21不一定限定于双向的通信网,也可以为地面数字广播、卫星广播等传输广播波的单向的通信网。此外,网络21也可以由DVD(Digital VersatileDisc(数字通用光碟):注册商标)、BD(Blue-rayDisc(蓝光光盘):注册商标)等记录有编码流Te的存储介质代替。
动态图像解码装置31对网络21所传输的各编码流Te进行解码,生成可变分辨率解码图像信号并将其供给至分辨率逆变换装置61。
在可变分辨率解码图像信号中所包括的分辨率变换信息表示分辨率变换的情况下,分辨率逆变换装置61对进行了分辨率变换的图像进行逆变换,由此,生成原始尺寸的解码图像信号。
动态图像显示装置41显示从分辨率逆变换部输入的解码图像信号表示的一个或多个解码图像Td的全部或一部分。动态图像显示装置41例如具备液晶显示器、有机EL(Electro-luminescence:电致发光)显示器等显示设备。作为显示器的形式,可举出固定、移动、HMD(Head Mounted Display:头戴式显示器)等。此外,在动态图像解码装置31具有高的处理能力的情况下,显示画质高的图像,在只具有较低的处理能力的情况下,显示无需高的处理能力、显示能力的图像。
<运算符>
以下记载本说明书中使用的运算符。
>>为右位移位,<<为左位移位,&为逐位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)。
abs(a)是返回a的绝对值的函数。
Int(a)是返回a的整数值的函数。
floor(a)是返回a以下的最大的整数的函数。
ceil(a)是返回a以上的最小的整数的函数。
a/d表示a除以d(舍去小数点以下)。
min(a,b)表示a和b中的小的一方的值。
<编码流Te的结构>
在详细说明本实施方式的动态图像编码装置11和动态图像解码装置31之前,对由动态图像编码装置11生成并由动态图像解码装置31解码的编码流Te的数据结构进行说明。
图4是表示编码流Te中的数据的分级结构的图。编码流Te示例性地包括序列和构成序列的多个图像。在图4中,示出了表示既定序列SEQ的编码视频序列、规定图像PICT的编码图像、规定切片S的编码切片、规定切片数据的编码切片数据、编码切片数据中所包括的编码树单元、编码树单元中所包括的编码单元的图。
(编码视频序列)
在编码视频序列中,规定有供动态图像解码装置31为了对处理对象的序列SEQ进行解码而参照的数据的集合。如图4所示,序列SEQ包括视频参数集VPS(Video ParameterSet)、序列参数集SPS(Sequence Parameter Set)、图像参数集PPS(Picture ParameterSet)、Adaptation Parameter Set(APS:自适应参数集)、图像PICT以及补充增强信息SEI(Supplemental Enhancement Information)。
视频参数集VPS在由多层构成的动态图像中,规定有对多个动态图像通用的编码参数的集合、动态图像中所包括的多层以及与各个层关联的编码参数的集合。
在序列参数集SPS中,规定有供动态图像解码装置31为了对对象序列进行解码而参照的编码参数的集合。例如规定有图像的宽度和高度。需要说明的是,可以存在多个SPS。在该情况下,从PPS中选择多个SPS中的任一个。
(编码图像)
在编码图像中,规定有供动态图像解码装置31为了对处理对象的图像PICT进行解码而参照的数据的集合。如图4所示,图像PICT包括图像报头PH、切片0至切片NS-1(NS为图像PICT中所包括的切片的总数)。
以下,在无需区分各个切片0至切片NS-1的情况下,有时会省略符号的后缀来记述。此外,对于以下说明的编码流Te中所包括的且附有后缀的其他数据也同样。
(编码切片)
在编码切片中,规定有供动态图像解码装置31为了对处理对象的切片S进行解码而参照的数据的集合。如图4所示,切片包括切片报头和切片数据。
切片报头中包括供动态图像解码装置31为了确定对象切片的解码方法而参照的编码参数群。指定切片类型的切片类型指定信息(slice_type)为切片报头中所包括的编码参数的一个例子。
作为能通过切片类型指定信息指定的切片类型,可举出(1)在编码时仅使用帧内预测的I切片、(2)在编码时使用单向预测(L0预测)或帧内预测的P切片、(3)在编码时使用单向预测(仅使用参照图像列表0的L0预测或仅使用参照图像列表1的L1预测)、双向预测或帧内预测的B切片等。需要说明的是,帧间预测不限于单向预测、双向预测,也可以使用更多的参照图像来生成预测图像。以下,在称为P、B切片的情况下是指包括能使用帧间预测的块的切片。
需要说明的是,切片报头也可以包括对图像参数集PPS的参照(pic_parameter_set_id)。
(编码切片数据)
在编码切片数据中,规定有供动态图像解码装置31为了对处理对象的切片数据进行解码而参照的数据的集合。如图4的编码切片报头所示,切片数据包括CTU。CTU是构成切片的固定尺寸(例如64×64)的块,有时也称为最大编码单位(LCU:Largest Coding Unit)。
(编码树单元)
在图4中,规定有供动态图像解码装置31为了对处理对象的CTU进行解码而参照的数据的集合。CTU通过递归的四叉树分割(QT(Quad Tree)分割)、二叉树分割(BT(BinaryTree)分割)或者三叉树分割(TT(Ternary Tree)分割)而分割为作为编码处理的基本的单位的编码单元CU。将BT分割与TT分割并称为多叉树分割(MT(Multi Tree)分割)。将通过递归的四叉树分割获得的树形结构的节点称为编码节点(CodingNode)。四叉树、二叉树以及三叉树的中间节点为编码节点,CTU本身也被规定为最上位的编码节点。
CT包括表示是否进行CT分割的CU分割标志(split_cu_flag)、表示是否进行QT分割的QT分割标志(qt_split_cu_flag)、表示MT分割的分割方向的MT分割方向(mtt_split_cu_vertical_flag)、表示MT分割的分割类型的MT分割类型(mtt_split_cu_binary_flag)来作为CT信息。split_cu_flag、qt_split_cu_flag、mtt_split_cu_vertical_flag、mtt_split_cu_binary_flag按每个编码节点进行传输。
也可以在亮度和色差中使用不同的树。用treeType表示树的类别。例如,在亮度(Y,cIdx=0)和色差(Cb/Cr,cIdx=1,2)中使用共同的树的情况下,用treeType=SINGLE_TREE表示共同单个树。在亮度和色差中使用不同的两个树(DUAL树)的情况下,用treeType=DUAL_TREE_LUMA表示亮度的树,用treeType=DUAL_TREE_CHROMA表示色差的树。
(编码单元)
图4中,规定有供动态图像解码装置31为了对处理对象的编码单元进行解码而参照的数据的集合。具体而言,CU由CU报头CUH、预测参数、变换参数、量化变换系数等构成。在CU报头中规定有预测模式等。
预测处理有以CU单位进行的情况和以CU进一步分割的子CU单位进行的情况。在CU与子CU的尺寸相等的情况下,CU中的子CU为一个。在CU比子CU的尺寸大的情况下,CU被分割为子CU。例如在CU为8×8、子CU为4×4的情况下,CU被分割为由水平分割的两部分、垂直分割的两部分构成的四个子CU。
预测的种类(预测模式)有帧内预测和帧间预测两种。帧内预测是同一图像内的预测,帧间预测是指在彼此不同的图像间(例如显示时刻间、层图像间)进行的预测处理。
变换/量化处理以CU单位进行,但量化变换系数也可以以4×4等的子块单位进行熵编码。
(预测参数)
预测图像由附带于块的预测参数导出。预测参数中有帧内预测和帧间预测的预测参数。
以下,将对帧间预测的预测参数进行说明。帧间预测参数由预测列表利用标志predFlagL0和predFlagL1、参照图像索引refIdxL0和refIdxL1、运动矢量mvL0和mvL1构成。predFlagL0、predFlagL1是表示是否使用参照图像列表(L0列表、L1列表)的标志,在值为1的情况下使用对应的参照图像列表。需要说明的是,本说明书中记为“表示是否为XX的标志”的情况下,将标志为除了0以外(例如1)设为是XX的情况,将标志为0的设为不是XX的情况,在逻辑非、逻辑积等中将1视为真,将0视为假(以下同样)。不过,在实际的装置和方法中,也可以使用其他值作为真值、假值。
在用于导出帧间预测参数的语法要素中,例如有在合并模式中使用的仿射标志affine_flag、合并标志merge_flag、合并索引merge_idx、MMVD标志mmvd_flag、在AMVP模式中使用的用于选择参照图像的帧间预测标识符inter_pred_idc、参照图像索引refIdxLX、用于导出运动矢量的预测矢量索引mvp_LX_idx、差分矢量mvdLX、运动矢量精度模式amvr_mode。
(参照图像列表)
参照图像列表是由存储于参照图像存储器306的参照图像构成的列表。图5是表示参照图像和参照图像列表的一个例子的概念图。在图5的表示参照图像的一个例子的概念图中,矩形表示图像,箭头表示图像的参照关系,横轴表示时间,矩形中的I、P、B分别表示帧内图像、单向预测图像、双向预测图像,矩形中的数字表示解码顺序。如图5所示,图像的解码顺序为I0、P1、B2、B3、B4,显示顺序为I0、B3、B2、B4、P1。在图5中示出了图像B3(对象图像)的参照图像列表的例子。参照图像列表是表示参照图像的候选的列表,一个图像(切片)可以具有一个以上的参照图像列表。在图的例子中,对象图像B3具有L0列表RefPicList0和L1列表RefPicList1的参照图像列表。在各个CU中,由refIdxLX指定实际上参照参照图像列表RefPicListX(X=0或1)中的哪个图像。图是refIdxL0=2、refIdxL1=0的例子。需要说明的是,LX是在不区分L0预测和L1预测的情况下使用的记述方法,之后,通过将LX替换为L0、L1来区分针对L0列表的参数和针对L1列表的参数。
(合并预测和AMVP预测)
预测参数的解码(编码)方法中有合并预测(merge)模式和AMVP(Advanced MotionVector Prediction、高级运动矢量预测)模式,merge_flag是用于标识它们的标志。合并预测模式是不将预测列表利用标志predFlagLX、参照图像索引refIdxLX、运动矢量mvLX包括于编码数据而根据已处理的附近块的预测参数等导出的模式。AMVP模式是将inter_pred_idc、refIdxLX、mvLX包括于编码数据的模式。需要说明的是,mvLX被编码为标识预测矢量mvpLX的mvp_LX_idx和差分矢量mvdLX。此外,除了合并预测模式以外,还有仿射预测模式、MMVD预测模式。
inter_pred_idc是表示参照图像的种类和数量的值,取PRED_L0、PRED_L1、PRED_BI中的任一值。PRED_L0、PRED_L1分别表示使用在L0列表、L1列表中进行管理的一张参照图像的单向预测。PRED_BI表示使用在L0列表和L1列表中进行管理的两张参照图像的双向预测。
merge_idx是表示将从处理完成的块导出的预测参数候选(合并候选)中的哪一个预测参数用作对象块的预测参数的索引。
(运动矢量)
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能通过两个预测列表利用标志是否均为1来导出。例如能通过以下的算式导出。
biPred=(predFlagL0==1&&predFlagL1==1)
或者,biPred也能通过帧间预测标识符是否为表示使用两个预测列表(参照图像)的值来导出。例如能通过以下的算式导出。
biPred=(inter_pred_idc==PRED_BI)?1:0
(动态图像解码装置的构成)
对本实施方式的动态图像解码装置31(图6)的构成进行说明。
动态图像解码装置31构成为包括熵解码部301、参数解码部(预测图像解码装置)302、环路滤波器305、参照图像存储器306、预测参数存储器307、预测图像生成部(预测图像生成装置)308、逆量化/逆变换部311以及加法部312、预测参数导出部320。需要说明的是,配合后述的动态图像编码装置11,也有动态图像解码装置31不包括环路滤波器305的构成。
参数解码部302还具备报头解码部3020、CT信息解码部3021以及CU解码部3022(预测模式解码部),CU解码部3022还具备TU解码部3024。也可以将它们进行统称而称为解码模块。报头解码部3020从编码数据对VPS、SPS、PPS、APS等参数集信息、切片报头(切片信息)进行解码。CT信息解码部3021从编码数据对CT进行解码。CU解码部3022从编码数据对CU进行解码。TU解码部3024在TU中包括预测误差的情况下,从编码数据对QP更新信息(量化校正值)和量化预测误差(residual_coding)进行解码。
TU解码部3024在除了跳越模式以外(skip_mode==0)的情况下,从编码数据对QP更新信息和量化预测误差进行解码。更具体而言,TU解码部3024在skip_mode==0的情况下,对表示在对象块中是否包括量化预测误差的标志cu_cbp进行解码,在cu_cbp为1的情况下对量化预测误差进行解码。在cu_cbp不存在于编码数据的情况下,导出为0。
TU解码部3024从编码数据对表示变换基底的索引mts_idx进行解码。此外,TU解码部3024从编码数据对表示二次变换的利用和变换基底的索引stIdx进行解码。stIdx在为0的情况下表示不适用二次变换,在为1的情况下表示二次变换基底的集合(配对)中的一方的变换,在为2的情况下表示上述配对中的另一方的变换。
此外,TU解码部3024也可以对子块变换标志cu_sbt_flag进行解码。在cu_sbt_flag为1的情况下,将CU分割为多个子块,仅对特定的一个子块进行残差解码。而且,TU解码部3024也可以对表示子块的数量是4还是2的标志cu_sbt_quad_flag、表示分割方向的cu_sbt_horizontal_flag、表示包括非零的变换系数的子块的cu_sbt_pos_flag进行解码。
预测图像生成部308构成为包括帧间预测图像生成部309和帧内预测图像生成部310。
预测参数导出部320构成为包括帧间预测参数导出部303和帧内预测参数导出部304。
此外,之后会记载将CTU、CU用作处理的单位的例子,但不限于该例子,也可以以子CU单位进行处理。或者,也可以将CTU、CU改称为块,将子CU改称为子块,采用块单位或者子块单位的处理。
熵解码部301对从外部输入的编码流Te进行熵解码,将各个代码(语法要素)进行解码。熵编码中有以下方式:使用根据语法要素的种类、周围的状况而自适应地选择出的上下文(概率模型)对语法要素进行可变长编码的方式;以及使用预定的表或计算式对语法要素进行可变长编码的方式。前者的CABAC(Context Adaptive Binary Arithmetic Coding:上下文自适应二进制算术编码)将上下文的CABAC状态(指定占优符号的类别(0或1)和概率的概率状态索引pStateIdx)储存于存储器。熵解码部301在分段(图块、CTU行、切片)的起点将所有CABAC状态初始化。熵解码部301将语法要素变换为二进制串(Bin String),对BinString的各比特进行解码。在使用上下文的情况下,对语法要素的各比特导出上下文索引ctxInc,使用上下文将比特解码,更新所使用的上下文的CABAC状态。未使用上下文的比特以等概率(EP,bypass)进行解码,省略ctxInc导出和CABAC状态。已解码的语法要素中有用于生成预测图像的预测信息和用于生成差分图像的预测误差等。
熵解码部301将解码过的代码输出至参数解码部302。解码过的码例如是指预测模式predMode、merge_flag、merge_idx、inter_pred_idc、refIdxLX、mvp_LX_idx、mvdLX、amvr_mode等。对哪一个代码进行解码的控制基于参数解码部302的指示来进行。
(基本流程)
图7是对动态图像解码装置31的概略性的动作进行说明的流程图。
(S1100:参数集信息解码)报头解码部3020从编码数据对VPS、SPS、PPS等参数集信息进行解码。
(S1200:切片信息解码)报头解码部3020从编码数据对切片报头(切片信息)进行解码。
以下,动态图像解码装置31通过针对对象图像中所包括的各CTU反复进行S1300至S5000的处理来导出各CTU的解码图像。
(S1300:CTU信息解码)CT信息解码部3021从编码数据对CTU进行解码。
(S1400:CT信息解码)CT信息解码部3021从编码数据对CT进行解码。
(S1500:CU解码)CU解码部3022实施S1510、S1520,从编码数据对CU进行解码。
(S1510:CU信息解码)CU解码部3022从编码数据对CU信息、预测信息、TU分割标志split_transform_flag、CU残差标志cbf_cb、cbf_cr、cbf_luma等进行解码。
(S1520:TU信息解码)TU解码部3024在TU中包括预测误差的情况下,从编码数据对QP更新信息、量化预测误差、变换索引mts_idx进行解码。需要说明的是,Qp更新信息是与作为量化参数QP的预测值的量化参数预测值qPpred的差分值。
(S2000:预测图像生成)预测图像生成部308针对对象CU中所包括的各块,基于预测信息生成预测图像。
(S3000:逆量化/逆变换)逆量化/逆变换部311针对对象CU中所包括的各TU执行逆量化/逆变换处理。
(S4000:解码图像生成)加法部312通过将由预测图像生成部308供给的预测图像与由逆量化/逆变换部311供给的预测误差相加来生成对象CU的解码图像。
(S5000:环路滤波器)环路滤波器305对解码图像施加去块滤波、SAO、ALF等环路滤波,生成解码图像。
(帧间预测参数导出部的构成)
在图9中示出了表示本实施方式的帧间预测参数导出部303的构成的概略图。帧间预测参数导出部303基于从参数解码部302输入的语法要素,参照存储于预测参数存储器307的预测参数来导出帧间预测参数。此外,将帧间预测参数输出至帧间预测图像生成部309、预测参数存储器307。帧间预测参数导出部303和作为其内部的元素的AMVP预测参数导出部3032、合并预测参数导出部3036、仿射预测部30372、MMVD预测部30373、GPM预测部30377、DMVR部30537、MV加法部3038是在动态图像编码装置、动态图像解码装置中共同的单元,因此,也可以将它们进行统称而称为运动矢量导出部(运动矢量导出装置)。
尺度参数导出部30378导出参照图像的水平方向的缩放比RefPicScale[i][j][0]、参照图像的垂直方向的缩放比RefPicScale[i][j][1]以及表示参照图像是否被缩放的RefPicIsScaled[i][j]。在此,i表示参照图像列表是L0列表还是L1列表,将j设为L0参照图像列表或者L1参照图像列表的值,以如下方式导出。
RefPicScale[i][j][0]=
((fRefWidth<<14)+(PicOutputWidthL>>1))/PicOutputWidthL
RefPicScale[i][j][1]=
((fRefHeight<<14)+(PicOutputHeightL>>1))/PicOutputHeightL
RefPicIsScaled[i][j]=
(RefPicScale[i][j][0]!=(1<<14))||(RefPicScale[i][j][1]!=(1<<14))
在此,变量PicOutputWidthL是在参照编码图像时计算水平方向的缩放比时的值,使用从编码图像的亮度的水平方向的像素数减去左右的偏移值的值。变量PicOutputHeightL是在参照编码图像时计算垂直方向的缩放比时的值,使用从编码图像的亮度的垂直方向的像素数减去上下的偏移值的值。将变量fRefWidth设为列表i的参照图像列表值j的参照图像的PicOutputWidthL的值,将变量fRefHight设为列表i的参照图像列表值j的参照图像的PicOutputHeightL的值。
在affine_flag为1、即表示仿射预测模式的情况下,仿射预测部30372导出子块单位的帧间预测参数。
在mmvd_flag为1、即表示MMVD预测模式的情况下,MMVD预测部30373从由合并预测参数导出部3036导出的合并候选和差分矢量导出帧间预测参数。
在GPM Flag为1、即表示GPM(Geometric Partitioning Mode:几何划分模式)预测模式的情况下,GPM预测部30377导出GPM预测参数。
在merge_flag为1、即表示合并预测模式的情况下,导出merge_idx并输出至合并预测参数导出部3036。
在merge_flag为0、即表示AMVP预测模式的情况下,AMVP预测参数导出部3032从inter_pred_idc、refIdxLX或mvp_LX_idx导出mvpLX。
(MV加法部)
MV加法部3038中将所导出的mvpLX与mvdLX相加,导出mvLX。
(仿射预测部)
仿射预测部30372进行1)导出对象块的两个控制点CP0、CP1或者三个控制点CP0、CP1、CP2的运动矢量、2)导出对象块的仿射预测参数、3)从仿射预测参数导出各子块的运动矢量。
在合并仿射预测的情况下,从对象块的邻接块的运动矢量导出各控制点CP0、CP1、CP2的运动矢量cpMvLX[]。在帧间仿射预测的情况下,从各控制点CP0、CP1、CP2的预测矢量与从编码数据导出的差分矢量mvdCpLX[]之和,导出各控制点的cpMvLX[]。
(合并预测)
在图10中示出了表示本实施方式的合并预测参数导出部3036的构成的概略图。合并预测参数导出部3036具备合并候选导出部30361、合并候选选择部30362。需要说明的是,合并候选构成为包括预测参数(predFlagLX、mvLX、refIdxLX)并储存于合并候选列表。针对储存于合并候选列表的合并候选,按照规定的规则来分配索引。
合并候选导出部30361直接使用已解码的邻接块的运动矢量和refIdxLX来导出合并候选。除此以外,合并候选导出部30361也可以适用后述的空间合并候选导出处理、时间合并候选导出处理、成对合并候选导出处理以及零合并候选导出处理。
作为空间合并候选导出处理,合并候选导出部30361按照规定的规则,读出预测参数存储器307所存储的预测参数并设定为合并候选。参照图像的指定方法例如是分别涉及从对象块起处于预定的范围内的邻接块(例如,与对象块的左A1、右B1、右上B0、左下A0、左上B2分别相接的块的全部或一部分)的预测参数。将各个合并候选称为A1、B1、B0、A0、B2。
在此,A1、B1、B0、A0、B2分别为从包括下述的坐标的块导出的运动信息。在图8的对象图像中,将A1、B1、B0、A0、B2的位置表示为合并候选的配置。
A1:(xCb-1,yCb+cbHeight-1)
B1:(xCb+cbWidth-1,yCb-1)
B0:(xCb+cbWidth,yCb-1)
A0:(xCb-1,yCb+cbHeight)
B2:(xCb-1,yCb-1)
将对象块的左上坐标设为(xCb,yCb),宽度设为cbWidth,高度设为cbHeight。
作为时间合并导出处理,合并候选导出部30361如图8的同位图像所示,从预测参数存储器307中读出对象块的右下CBR或者包括中央的坐标的参照图像中的块C的预测参数来作为合并候选Col并将其储存于合并候选列表mergeCandList[]。
一般而言,优先将块CBR添加于mergeCandList[],在CBR不具有运动矢量(例如帧内预测块)的情况、CBR位于图像外的情况下,将块C的运动矢量添加于预测矢量候选。将运动不同的可能性高的同位块的运动矢量添加作预测候选,由此,预测矢量的选择项增加,编码效率提高。
在ph_temporal_mvp_enabled_flag为0或cbWidth*cbHeight为32以下的情况下,将对象块的同位运动矢量mvLXCol设定为0,将同位块的可利用性标志availableFlagLXCol设定为0。
在除此以外(SliceTemporalMvpEnabledFlag为1)的情况下,实施下述内容。
例如合并候选导出部30361也可以通过以下的算式导出C的位置(xColCtr,yColCtr)和CBR的位置(xColCBr、yColCBr)。
xColCtr=xCb+(cbWidth>>1)
yColCtr=yCb+(cbHeight>>1)
xColCBr=xCb+cbWidth
yColCBr=yCb+cbHeight
若CBR可利用,则利用CBR的运动矢量导出合并候选COL。若CBR不可利用,则使用C导出COL。然后,将availableFlagLXCol设定为1。需要说明的是,参照图像也可以为在切片报头中通知的collocated_ref_idx。
成对候选导出部从已储存于mergeCandList的两个合并候选(p0Cand,p1Cand)的平均导出成对候选avgK并将其储存于mergeCandList[]。
mvLXavgK[0]=(mvLXp0Cand[0]+mvLXp1Cand[0])/2
mvLXavgK[1]=(mvLXp0Cand[1]+mvLXp1Cand[1])/2
合并候选导出部30361导出refIdxLX为0......M、mvLX的X分量、Y分量均为0的零的合并候选Z0,......,ZM并将其储存于合并候选列表。
储存于mergeCandList[]的顺序例如为空间合并候选(A1、B1、B0、A0、B2)、时间合并候选Col、成对候选avgK、零合并候选ZK。需要说明的是,不可利用的(块为帧内预测等)参照块不储存于合并候选列表。
i=0
if(availableFlagB1)
mergeCandList[i++]=B1
if(availableFlagA1)
mergeCandList[i++]=A1
if(availableFlagB0)
mergeCandList[i++]=B0
if(availableFlagA0)
mergeCandList[i++]=A0
if(availableFlagB2)
mergeCandList[i++]=B2
if(availableFlagCol)
mergeCandList[i++]=Col
if(availableFlagAvgK)
mergeCandList[i++]=avgK
if(i<MaxNumMergeCand)
mergeCandList[i++]=ZK
合并候选选择部30362通过以下的算式,选择合并候选列表中所包括的合并候选中的merge_idx表示的合并候选N。
N=mergeCandList[merge_idx]
在此,N是表示合并候选的标签,取A1、B1、B0、A0、B2、Col、avgK、ZK等。标签N所示的合并候选的运动信息由(mvLXN[0],mvLXN[0])、predFlagLXN,refIdxLXN表示。
将所选择的(mvLXN[0],mvLXN[0])、predFlagLXN,refIdxLXN选作对象块的帧间预测参数。合并候选选择部30362将所选择的合并候选的帧间预测参数存储于预测参数存储器307,并且输出至帧间预测图像生成部309。
(DMVR)
接着,对DMVR部30375所进行的DMVR(Decoderside Motion Vector Refinement:解码端运动矢量细化)处理进行说明。DMVR部30375针对对象CU,在merge_flag为1的情况或跳过标志skip_flag为1的情况下,使用参照图像对合并预测部30374导出的该对象CU的mvLX进行修正。具体而言,在合并预测部30374导出的预测参数为双向预测的情况下,当与两张参照图像对应时,使用从运动矢量导出的预测图像对运动矢量进行修正。修正后的mvLX被供给至帧间预测图像生成部309。DMVR部30375在dmvrFlag为1的情况(至少ph_disable_dmvr_flag为0的情况)下,进行上述的运动矢量的修正。DMVR部30375在以下的算式全部为真的情况下,设定为dmvrFlag=1,将除此以外的情况设为0。
ph_disable_dmvr_flag==0
general_merge_flag==1
predFlagL0==1and predFlagL1==1
mmvd_merge_flag==0
ciip_flag==0
DiffPicOrderCnt(currPic,RefPicList[0][refIdxL0])==DiffPicOrderCnt(RefPicList[1][refIdxL1],currPic)
RefPicList[0][refIdxL0]and RefPicList[1][refIdxL1]为短期参照图像
BcwIdx==0
luma_weight_l0_flag[refIdxL0]==0and luma_weight_l1_flag[refIdxL1]==0
chroma_weight_l0_flag[refIdxL0]==0and chroma_weight_l1_flag[refIdxL1]==0
cbWidth>=8
cbHeight>=8
cbHeight*cbWidth>=128
RefPicIsScaled[0][refIdxL0]==0and RefPicIsScaled[1][refIdxL1]==0
函数DiffPicOrderCnt(picA,picB)如下所示。
DiffPicOrderCnt(picA,picB)=PicOrderCnt(picA)-PicOrderCnt(picB)
此外,在规定是否进行DMVR处理的标志dmvrFlag的导出中,作为将dmvrFlag设定为1的多个条件之一,包括上述的RefPicIsScaled[0][refIdxL0]的值为0且RefPicIsScaled[1][refIdxL1]的值为0。在dmvrFlag的值设定为1的情况下,执行由DMVR部30375实现的DMVR处理。
此外,在规定是否进行DMVR处理的标志dmvrFlag的导出中,作为将dmvrFlag设定为1的多个条件之一,包括ciip_flag为0、即不适用IntraInter合成处理。
此外,在规定是否进行DMVR处理的标志dmvrFlag的导出中,作为将dmvrFlag设定为1的多个条件之一,包括luma_weight_l0_flag[i]为0且1uma_weight_ll_flag[i]的值为0,该luma_weight_l0_flag[i]是表示后述的亮度的L0预测的加权预测的系数信息是否存在的标志,该luma_weight_l1_flag[i]是表示亮度的L1预测的加权预测的系数信息是否存在的标志。在dmvrFlag的值设定为1的情况下,执行由DMVR部30375实现的DMVR处理。
需要说明的是,在规定是否进行DMVR处理的标志dmvrFlag的导出中,作为将dmvrFlag设定为1的多个条件之一,也可以包括luma_weight_l0_flag[i]为0且luma_weight_l1_flag[i]的值为0且chroma_weight_l0_flag[i]为0且chroma_weight_l1_flag[i]的值为0,该chroma_weight_l0_flag[i]是表示后述的色差的L0预测的加权预测的系数信息是否存在的标志,该chroma_weight_l1_flag[i]是表示色差的L1预测的加权预测的系数信息是否存在的标志。在dmvrFlag的值设定为1的情况下,执行由DMVR部30375实现的DMVR处理。
(Prof)
此外,若RefPicIsScaled[0][refIdxLX]的值为1或RefPicIsScaled[1][refIdxLX]的值为1,则cbProfFlagLX的值设定为FALSE(=0)。在此,cbProfFlagLX是规定是否进行仿射预测的Prediction refinement(PROF)的标志。
(AMVP预测)
在图10中示出了表示本实施方式的AMVP预测参数导出部3032的构成的概略图。AMVP预测参数导出部3032具备矢量候选导出部3033和矢量候选选择部3034。矢量候选导出部3033基于refIdxLX从预测参数存储器307所存储的已解码的邻接块的运动矢量导出预测矢量候选并储存于预测矢量候选列表mvpListLX[]。
矢量候选选择部3034将mvpListLX[]的预测矢量候选中的mvp_LX_idx表示的运动矢量mvpListLX[mvp_LX_idx]选作mvpLX。矢量候选选择部3034将所选择的mvpLX输出至MV加法部3038。
(MV加法部)
MV加法部3038将从AMVP预测参数导出部3032输入的mvpLX与解码过的mvdLX相加而计算出mvLX。加法部3038将计算出的mvLX输出至帧间预测图像生成部309和预测参数存储器307。
mvLX[0]=mvpLX[0]+mvdLX[0]
mvLX[1]=mvpLX[1]+mvdLX[1]
(子块合并的详细分类)
对子块合并所关联的预测处理的种类进行整理。如上所述,大致区分为合并预测和AMVP预测。
合并预测进一步分类为以下。
·常规合并预测(基于块的合并预测)
·子块合并预测
子块合并预测进一步分类为以下。
·子块预测(ATMVP)
·仿射预测
·继承仿射预测(inferred affine prediction)
·构成仿射预测(constructed affine prediction)
另一方面,AMVP预测分类为以下。
·AMVP(平移)
·MVD仿射预测
MVD仿射预测进一步分类为以下。
·四参数MVD仿射预测
·六参数MVD仿射预测
需要说明的是,MVD仿射预测是指将差分矢量解码并使用的仿射预测。
在子块预测中,与时间合并导出处理同样,判定对象子块的同位子块COL的可利用性availableFlagSbCol,在可利用的情况下,导出预测参数。在至少上述的SliceTemporalMvpEnabledFlag为0的情况下,availableFlagSbCol设定为0。
MMVD预测(Merge with Motion Vector Difference:合并运动矢量差)既可以分类为合并预测,也可以分类为AMVP预测。就前者而言,在merge_flag=1的情况下对mmvd_flag和MMVD关联语法要素进行解码,就后者而言,在merge_flag=0的情况下对mmvd_flag和MMVD关联语法要素进行解码。
环路滤波器305是设于编码环路内的滤波器,是去除块失真或振铃失真来改善画质的滤波器。环路滤波器305针对加法部312所生成的CU的解码图像,实施去块滤波、取样自适应偏移(SAO)、自适应环路滤波(ALF)等滤波。
参照图像存储器306将CU的解码图像按每个对象图像和对象CU存储于预定的位置。
预测参数存储器307将预测参数按每个CTU或者CU存储于预定的位置。具体而言,预测参数存储器307存储参数解码部302解码过的参数和预测参数导出部320所导出的参数等。
向预测图像生成部308输入预测参数导出部320所导出的参数。此外,预测图像生成部308从参照图像存储器306读出参照图像。预测图像生成部308在predMode表示的预测模式下,使用参数和参照图像(参照图像块)生成块或者子块的预测图像。在此,参照图像块是指参照图像上的像素的集合(由于通常为矩形而称为块),是为了生成预测图像而参照的区域。(帧间预测图像生成部309)
在predMode表示帧间预测模式的情况下,帧间预测图像生成部309使用从帧间预测参数导出部303输入的帧间预测参数和参照图像,通过帧间预测来生成块或者子块的预测图像。
图11是表示本实施方式的预测图像生成部308中所包括的帧间预测图像生成部309的构成的概略图。帧间预测图像生成部309构成为包括运动补偿部(预测图像生成装置)3091、合成部3095。合成部3095构成为包括IntraInter合成部30951、GPM合成部30952、BDOF部30954、加权预测部3094。
(运动补偿)
运动补偿部3091(插补图像生成部3091)基于从帧间预测参数导出部303输入的帧间预测参数(predFlagLX、refIdxLX、mvLX),从参照图像存储器306读出参照块,由此生成插补图像(运动补偿图像)。参照块是在由refIdxLX指定的参照图像RefPicLX上、从对象块的位置起移位了mvLX的位置的块。在此,在mvLX不是整数精度的情况下,实施称为运动补偿滤波的用于生成小数位置的像素的滤波,生成插补图像。
运动补偿部3091首先通过以下的算式导出与预测块内坐标(x,y)对应的整数位置(xInt,yInt)和位相(xFrac,yFrac)。
xInt=xPb+(mvLX[0]>>(log2(MVPREC)))+x
xFrac=mvLX[0]&(MVPREC-1)
yInt=yPb+(mvLX[1]>>(log2(MVPREC)))+y
yFrac=mvLX[1]&(MVPREC-1)
在此,(xPb,yPb)是bW*bH大小的块的左上坐标,x=0......bW-1,y=0......bH-1,MVPREC表示mvLX的精度(1/MVPREC像素精度)。例如为MVPREC=16。
运动补偿部3091使用插补滤波对参照图像refImg进行水平插补处理,由此导出临时的图像temp[][]。以下的∑是与k=0..NTAP-1的k有关的和,shift1是对值的区间进行调整的归一化参数,offset1=1<<(shift1-1)。
temp[x][y]=(∑mcFilter[xFrac][k]*refImg[xInt+k-NTAP/2+1][yInt]+offset1)>>shift1
接着,运动补偿部3091对临时的图像temp[][]进行垂直插补处理,由此导出插补图像Pred[][]。以下的∑是与k=0..NTAP-1的k有关的和,shift2是对值的区间进行调整的归一化参数,offset2=1<<(shft2-1)。
Pred[x][y]=(∑mcFilter[yFrac][k]*temp[x][y+k-NTAP/2+1]+offset2)>>shift2
需要说明的是,在双向预测的情况下,按每个L0列表、L1列表导出上述的Pred[][](称为插补图像PredL0[][]和PredL1[][]),从PredL0[][]和PredL1[][]生成插补图像Pred[][]。
需要说明的是,运动补偿部3091具有以下功能:根据由尺度参数导出部30378导出的参照图像的水平方向的缩放比RefPicScale[i][j][0]和参照图像的垂直方向的缩放比RefPicScale[i][j][1]缩放插补图像。
合成部3095具备IntraInter合成部30951、GPM合成部30952、加权预测部3094以及BDOF部30954。
(interpolation filter处理)
以下,对由预测图像生成部308执行的interpolation filter处理且适用上述的重采样并在单个序列中参照图像的尺寸发生变化的情况下的interpolation filter处理进行说明。需要说明的是,该处理例如也可以是由运动补偿部3091执行的处理。
预测图像生成部308在从帧间预测参数导出部303输入的RefPicIsScaled[i][j]的值表示参照图像被缩放的情况下,切换多个滤波系数,执行interpolation filter处理。
(IntraInter合成处理)
IntraInter合成部30951通过帧间预测图像与帧内预测图像的加权和生成预测图像。
若表示是否适用IntraInter合成处理的标志ciip_flag为1,则预测图像的像素值predSamplesComb[x][y]以如下方式导出。
predSamplesComb[x][y]=(w*predSamplesIntra[x][y]+(4-w)*predSamplesInter[x][y]+2)>>2
在此,predSamplesIntra[x][y]是帧内预测图像,由planar预测限定。predSamplesInter[x][y]是重建的帧间预测图像。
权重w以如下方式导出。
在与对象编码块左邻接的最下方的块和与对象编码块上邻接的最右的块这两方是帧内的情况下,w设定为3。
在除此以外的情况下、在与对象编码块左邻接的最下方的块和与对象编码块上邻接的最右的块这两方不是帧内的情况下,w设定为1。
在除此以外的情况下,w设定为2。
(GPM合成处理)
GPM合成部30952生成使用上述的GPM预测的预测图像。
(BDOF预测)
接着,对BDOF部30954所进行的BDOF预测(Bi-DirectionalOpticalFlow(双向光流),BDOF处理)的详情进行说明。BDOF部30954在双向预测模式中,参照两个预测图像(第一预测图像和第二预测图像)和梯度校正项bdofOffset来生成预测图像。具体而言,DMVR部30375在以下的算式全部为真的情况下,设定为bdofFlag=1,在除此以外的情况下设定为0。
ph_disable_bdof_flag==0
predFlagL0==1and predFlagL1==1
DiffPicOrderCnt(currPic,RefPicList[0][refIdxL0])==DiffPicOrderCnt(RefPicList[1][refIdxL1],currPic).
RefPicList[0][refIdxL0]、RefPicList[1][refIdxL1]是短期参照图像
MotionModelIdc==0
merge_subblock_flag==0
sym_mvd_flag==0
ciip_flag==0
BcwIdx==0
luma_weight_l0_flag[refIdxL0]==0and luma_weight_l1_flag[refIdxL1]==0
chroma_weight_l0_flag[refIdxL0]==0and chroma_weight_l1_flag[refIdxL1]==0
cbWidth>=8
cbHeight>=8
cbHeight*cbWidth>=128
RprConstraintsActive[0][refIdxL0]==0and RprConstraintsActive[1][refIdxL1]==0
cIdx==0
BDOF在bdofFlag为1的情况下(至少ph_disable_bdor_flag为0的情况下),实施以下的处理。
·梯度导出
gradientHL0[x][y]=(predSamplesL0[hx+1][vy]>>shift1)-(predSamplesL0[hx-1][vy]>>shift1)
gradientVL0[x][y]=(predSamplesL0[hx][vy+1]>>shift1)-(predSamplesL0[hx][vy-1]>>shift1)
gradientHL1[x][y]=(predSamplesL1[hx+1][vy]>>shift1)-(predSamplesL1[hx-1][vy]>>shift1)
gradientVL1[x][y]=(predSamplesL1[hx][vy+1]>>shift1)-(predSamplesL1[hx][vy-1]>>shift1)
·预测图像差分导出
diff[x][y]=(predSamplesL0[hx][vy]>>shift2)-(predSamplesL1[hx][vy]>>shift2)
tempH[x][y]=(gradientHL0[x][y]+gradientHL1[x][y])>>shift3
tempV[x][y]=(gradientVL0[x][y]+gradientVL1[x][y])>>shift3
·梯度相关值导出
sGx2=∑i∑jAbs(tempH[xSb+i][ySb+j])with i,j=-1..4
sGy2=∑i∑jAbs(tempV[xSb+i][ySb+j])with i,j=-1..4
sGxGy=∑i∑j(Sign(tempV[xSb+i][ySb+j])*tempH[xSb+i][ySb+j])with i,j=-1..4
sGxdl=∑i∑j(-Sign(tempH[xSb+i][ySb+j])*diff[xSb+i][ySb+j])with i,j=-1..4
sGydl=∑i∑j(-Sign(tempV[xSb+i][ySb+j])*diff[xSb+i][ySb+j])with i,j=-1..4
·校正运动矢量vx,vy导出
vx=sGx2>0?Clip3(-mvRefineThres+1,mvRefineThres-1,(sGxdl<<2)>>Floor(Log2(sGx2))):0
vy=sGy2>0?Clip3(-mvRefineThres+1,mvRefineThres-1,((sGydl<<2)-((vx*sGxGy)>>1))>>Floor(Log2(sGy2))):0
·校正项导出
bdofOffset=vx*(gradientHL0[x+1][y+1]-gradientHL1[x+1][y+1])+vy*(gradientVL0[x+1][y+1]-gradientVL1[x+1][y+1])
·预测图像导出
pbSamples[x][y]=Clip3(0,(2^BitDepth)-1,(predSamplesL0[x+1][y+1]+offset4+predSamplesL1[x+1][y+1]+bdofOffset)>>shift4)
(加权预测)
加权预测部3094从插补图像predSamplesLX生成块的预测图像pbSamples。
首先,表示是否进行加权预测处理的变量weightedPredFlag以如下方式导出。在slice_type等于P的情况下,weightedPredFlag设定为等于在PPS中定义的pps_weighted_pred_flag。除此以外,在slice_type等于B的情况下,weightedPredFlag设定为等于在PPS中定义的pps_weighted_bipred_flag&&(!dmvrFlag)。
之后,bcw_idx为具有CU单位的权重的双向预测的权重索引。在未通知bcw_idx的情况下,设定为bcw_idx=0。bcwIdx在合并预测模式下设定附近块的bcwIdxN,在AMVP预测模式下设定对象块的bcw_idx。
若在变量weightedPredFlag的值等于0或变量bcwIdx的值为0的情况下,则作为通常的预测图像处理,预测图像pbSamples以如下方式导出。
在预测列表利用标志中的一方(predFlagL0或者predFlagL1)为1(单向预测)(不使用加权预测)的情况下,进行使predSamplesLX(LX为L0或者L1)与像素比特数bitDepth匹配的以下的算式的处理。
pbSamples[x][y]=Clip3(0,(1<<bitDepth)-1,(predSamplesLX[x][y]+offset1)>>shiftl)
在此,shift1=14-bitDepth、offset1=1<<(shift1-1)。PredLX是L0或者L1预测的插补图像。
此外,在两个预测列表利用标志(predFlagL0和predFlagL1)为1(双向预测PRED_BI)且不使用加权预测的情况下,进行将predSamplesL0、predSamplesL1平均并使平均值与像素比特数匹配的以下的算式的处理。
pbSamples[x][y]=Clip3(0,(1<<bitDepth)-1,(predSamplesL0[x][y]+predSamplesL1[x][y]+offset2)>>shift2)
在此,shift2=15-bitDepth、offset2=1<<(shift2-1)。
若在变量weightedPredFlag的值等于1且变量bcwIdx的值等于0的情况下,则作为加权预测处理,预测图像pbSamples以如下方式导出。
变量shift1设定为等于Max(2、14-bitDepth)。变量log2Wd、o0、o1、w0以及w1以如下方式导出。
若在cIdx为0且为亮度的情况下,则适用以下。
log2Wd=luma_log2_weight_denom+shift1
w0=LumaWeightL0[refldxL0]
w1=LumaWeightL1[refIdxL1]
o0=luma_offset_l0[refIdxL0]<<(bitDepth-8)
o1=luma_offset_l1[refIdxL1]<<(bitDepth-8)
在除此以外(cIdx不等于0的色差)的情况下,适用以下方法。
log2Wd=ChromaLog2WeightDenom+shift1
w0=ChromaWeightL0[refIdxL0][cIdx-1]
w1=ChromaWeightL1[refIdxL1][cIdx-1]
o0=ChromaOffsetL0[refIdxL0][cIdx-1]<<(bitDepth-8)
o1=ChromaOffsetL1[refIdxL1][cIdx-1]<<(bitDepth-8)
x=0..nCbW-1和y=0..nCbH-1的预测图像的像素值pbSamples[x][y]以如下方式导出。
接着,若在predFlagL0等于1、predFlagL1等于0的情况下,则预测图像的像素值pbSamples[x][y]以如下方式导出。
除此以外,若在predFlagL0为0且predFlagL1为1的情况下,则预测图像的像素值pbSamples[x][y]以如下方式导出。
除此以外,若在predFlagL0等于1、predFlagL1等于1的情况下,则预测图像的像素值pbSamples[x][y]以如下方式导出。
pbSamples[x][y]=Clip3(0,(1<<bitDepth)-1,
(predSamplesL0[x][y]*w0+predSamplesL1[x][y]*w1+((o0+o1+1)<<log2Wd))>>(1og2Wd+1))
(BCW预测)
BCW(Bi-prediction with CU-level Weights:CU级加权双向预测)预测是能切换以CU级别预先决定的加权系数的预测方法。
输入指定当前的编码块的宽度和高度的两个变量nCbW和nCbH、(nCbW)x(nCbH)的两个数组predSamplesL0和predSamplesL1、表示是否使用预测列表的标志predFlagL0和predFlagL1、参照图像索引refIdxL0和refIdxL1、BCW预测的索引bcw_idx、指定亮度分量、色差分量的索引的变量cIdx,进行BCW预测处理,输出(nCbW)x(nCbH)的数组pbSamples的预测图像的像素值。
在表示是否以SPS级别使用该预测的sps_bcw_enabled_flag为TURE、变量weightedPredFlag为0、两个参照图像索引refIdxL0和refIdxL1表示的参照图像均无加权预测系数且编码块尺寸为一定以下的情况下,显示地通知CU级别的语法的bcw_idx,向变量bcwIdx代入该值。在不存在bcw_idx的情况下,向变量bcwIdx代入0。
在变量bcwIdx为0的情况下,预测图像的像素值以如下方式导出。pbSamples[x][y]=Clip3(0,(1<<bitDepth)-1,
(predSamplesL0[x][y]+predSamplesL1[x][y]+offset2)>>shift2)
在除此以外的情况下(bcwIdx不等于0的情况下),适用以下。
变量w1设定为等于bcwWLut[bcwIdx]。bcwWLut[k]={4、5、3、10、-2}。
变量w0设定为(8-w1)。此外,预测图像的像素值以如下方式导出。pbSamples[x][y]=Clip3(0、(1<<bitDepth)-1、(w0*predSamplesL0[x][y]+w1*predSamplesL1[x][y]+offset3)>>
(shft2+3))
在AMVP预测模式中使用BCW预测的情况下,帧间预测参数解码部303将bcw_idx解码,发送给BCW部30955。此外,在合并预测模式中使用BCW预测的情况下,帧间预测参数解码部303将合并索引merge_idx解码,合并候选导出部30361导出各合并候选的bcwIdx。具体而言,合并候选导出部30361将在合并候选的导出中使用的邻接块的加权系数用作在对象块中使用的合并候选的加权系数。就是说,在合并模式中,将过去使用的加权系数继承为对象块的加权系数。
(帧内预测图像生成部310)
在predMode表示帧内预测模式的情况下,帧内预测图像生成部310使用从帧内预测参数导出部304输入的帧内预测参数和从参照图像存储器306读出的参照像素进行帧内预测。
逆量化/逆变换部311将从参数解码部302输入的量化变换系数逆量化来求出变换系数。
加法部312将从预测图像生成部308输入的块的预测图像与从逆量化/逆变换部311输入的预测误差按每个像素相加,生成块的解码图像。加法部312将块的解码图像存储于参照图像存储器306,此外,向环路滤波器305输出。
逆量化/逆变换部311将从参数解码部302输入的量化变换系数逆量化来求出变换系数。
加法部312将从预测图像生成部308输入的块的预测图像与从逆量化/逆变换部311输入的预测误差按每个像素相加,生成块的解码图像。加法部312将块的解码图像存储于参照图像存储器306,此外,向环路滤波器305输出。
(动态图像编码装置的构成)
接着,对本实施方式的动态图像编码装置11的构成进行说明。图12是表示本实施方式的动态图像编码装置11的构成的框图。动态图像编码装置11构成为包括预测图像生成部101、减法部102、变换/量化部103、逆量化/逆变换部105、加法部106、环路滤波器107、预测参数存储器(预测参数存储部、帧存储器)108、参照图像存储器(参照图像存储部、帧存储器)109、编码参数确定部110、参数编码部111、预测参数导出部120、熵编码部104。
预测图像生成部101按每个CU生成预测图像。预测图像生成部101包括已说明的帧间预测图像生成部309和帧内预测图像生成部310,省略说明。
减法部102从图像T的像素值减去从预测图像生成部101输入的块的预测图像的像素值,生成预测误差。减法部102将预测误差输出至变换/量化部103。
变换/量化部103针对从减法部102输入的预测误差,通过频率变换计算变换系数,通过量化导出量化变换系数。变换/量化部103将量化变换系数输出至参数编码部111和逆量化/逆变换部105。
逆量化/逆变换部105与动态图像解码装置31中的逆量化/逆变换部311(图6)相同,省略说明。计算出的预测误差被输出至加法部106。
参数编码部111具备报头编码部1110、CT信息编码部1111、CU编码部1112(预测模式编码部)。CU编码部1112还具备TU编码部1114。以下,对各模块的概略动作进行说明。
报头编码部1110进行报头信息、分割信息、预测信息、量化变换系数等参数的编码处理。
CT信息编码部1111对QT、MT(BT、TT)分割信息等进行编码。
CU编码部1112对CU信息、预测信息、分割信息等进行编码。
TU编码部1114在TU中包括预测误差的情况下,对QP更新信息和量化预测误差进行编码。
CT信息编码部1111、CU编码部1112供帧间预测参数(predMode、merge_flag、merge_idx、inter_pred_idc、refIdxLX、mvp_LX_idx、mvdLX)、帧内预测参数(intra_luma_mpm_flag、intra_luma_mpm_idx、intra_luma_mpm_reminder、intra_chroma_pred_mode)、量化变换系数等语法要素供给至参数编码部111。
从参数编码部111向熵编码部104输入量化变换系数和编码参数(分割信息、预测参数)。熵编码部104对这些进行熵编码,生成编码流Te并进行输出。
预测参数导出部120是包括帧间预测参数编码部112和帧内预测参数编码部113的单元,从输入自编码参数确定部110的参数导出帧内预测参数和帧内预测参数。导出的帧内预测参数和帧内预测参数被输出至参数编码部111。
(帧间预测参数编码部的构成)
如图13所示,帧间预测参数编码部112构成为包括参数编码控制部1121、帧间预测参数导出部303。帧间预测参数导出部303是与动态图像解码装置共同的构成。参数编码控制部1121包括合并索引导出部11211和矢量候选索引导出部11212。
合并索引导出部11211导出合并候选等并向帧间预测参数导出部303输出。矢量候选索引导出部11212导出预测矢量候选等并向帧间预测参数导出部303和参数编码部111输出。
(帧内预测参数编码部113的构成)
如图14所示,帧内预测参数编码部113具备参数编码控制部1131和帧内预测参数导出部304。帧内预测参数导出部304是与动态图像解码装置共同的构成。
参数编码控制部1131导出IntraPredModeY和IntraPredModeC。而且,参照mpmCandList[]来确定intra_luma_mpm_flag。将这些预测参数输出至帧内预测参数导出部304和参数编码部111。
其中,与动态图像解码装置不同,向帧间预测参数导出部303、帧内预测参数导出部304的输入是编码参数确定部110、预测参数存储器108,向参数编码部111输出。
加法部106将从预测图像生成部101输入的预测块的像素值与从逆量化/逆变换部105输入的预测误差按每个像素相加,生成解码图像。加法部106将所生成的解码图像存储于参照图像存储器109。
环路滤波器107针对加法部106所生成的解码图像,实施去块滤波、SAO、ALF。需要说明的是,环路滤波器107也可以不一定包括上述三种滤波,例如也可以为仅是去块滤波的构成。
预测参数存储器108将编码参数确定部110所生成的预测参数按每个对象图像和CU存储于预定的位置。
参照图像存储器109将环路滤波器107所生成的解码图像按每个对象图像和CU存储于预定的位置。
编码参数确定部110选择编码参数的多个集合中的一个集合。编码参数是指上述的QT、BT或者TT分割信息、预测参数或者与这些关联地生成的作为编码的对象的参数。预测图像生成部101使用这些编码参数生成预测图像。
编码参数确定部110针对多个集合的每一个计算信息量的大小和表示编码误差的RD成本值。RD成本值例如为代码量与均方误差乘以系数λ的值之和。代码量是对量化误差和编码参数进行熵编码而获得的编码流Te的信息量。均方误差是在减法部102中计算出的预测误差的均方和。系数λ是比预先设定的零大的实数。编码参数确定部110选择计算出的成本值最小的编码参数的集合。编码参数确定部110将所确定的编码参数向参数编码部111和预测参数导出部120输出。
需要说明的是,也可以设为通过计算机实现上述的实施方式中的动态图像编码装置11、动态图像解码装置31的一部分、例如熵解码部301、参数解码部302、环路滤波器305、预测图像生成部308、逆量化/逆变换部311、加法部312、预测参数导出部320、预测图像生成部101、减法部102、变换/量化部103、熵编码部104、逆量化/逆变换部105、环路滤波器107、编码参数确定部110、参数编码部111、预测参数导出部120。在该情况下,可以通过以下方式来实现:将用于实现该控制功能的程序记录于计算机可读记录介质,使计算机系统读入记录于该记录介质的程序并执行。需要说明的是,在此所述的“计算机系统”是指内置于动态图像编码装置11、动态图像解码装置31中的任一个的计算机系统,设为包括OS(OperatingSystem,操作系统)和外围设备等硬件。此外,“计算机可读记录介质”是指软盘、磁光盘、ROM(Read-Only Memory:只读存储器)、CD-ROM(Compact Disc Read-Only Memory:只读存储光盘)等可移动介质、内置于计算机系统的硬盘等存储装置。而且,“计算机可读记录介质”也可以包括:像经由互联网等网络、电话线路等通信线路来发送程序的情况下的通信线那样短时间内、动态地保存程序的记录介质;以及像作为该情况下的服务器、客户端的计算机系统内部的易失性存储器那样保存程序固定时间的记录介质。此外,上述程序可以是用于实现上述功能的一部分的程序,还可以是能通过与已记录于计算机系统的程序进行组合来实现上述功能的程序。
此外,也可以将上述的实施方式中的动态图像编码装置11、动态图像解码装置31的一部分或全部作为LSI(Large Scale Integration:大规模集成电路)等集成电路来实现。动态图像编码装置11、动态图像解码装置31的各功能块既可以单独地处理器化,也可以将一部分或全部集成来处理器化。此外,集成电路化的方法不限于LSI,也可以通过专用电路或通用处理器来实现。此外,在因半导体技术的进步而出现代替LSI的集成电路化的技术的情况下,也可以使用基于该技术的集成电路。
以上,参照附图对本发明的一个实施方式详细地进行了说明,但具体的构成不限定于上述的实施方式,在不脱离该发明的主旨的范围内可以进行各种设计变更等。
(语法)
图15的(a)表示非专利文献1的Sequence Paramenter Set(SPS)的语法的一部分。
sps_long_term_ref_pics_flag是表示是否使用长期图像的标志。
sps_inter_layer_ref_pics_present_flag是表示是否使用层间预测的标志。
sps_idr_rpl_present_flag是表示IDR图像(Instantaneous Decoding Refreshpicture:即时解码刷新图像)的切片报头是否存在参照图像列表的语法要素的标志。
sps_rpl1_same_as_rpl0_flag是表示是否存在用于参照图像列表1的信息的标志。在sps_rpl1_same_as_rpl0_flag为1的情况下,表示用于参照图像列表1的信息不作为编码数据来进行编码、解码,而是利用参照图像列表0的信息。具体而言,表示参照图像列表1的参照图像列表信息ref_pic_lists()的数量sps_num_ref_pic_lists[1]和参照图像列表结构ref_pic_list_struct(1,rplsIdx)是与sps_num_ref_pic_lists[0]和ref_pic_list_struct(0,rplsIdx)相同的值。
具体而言,在sps_rpl1_same_as_rpl0_flag为1的情况下,动态图像解码装置和动态图像编码装置进行以下设定。
sps_num_ref_pic_lists[1]=sps_num_ref_pic_lists[0]
此外,针对从0起至sps_num_ref_pic_lists[0]-1为止的rplsIdx,将ref_pic_list_struct(1,rplsIdx)的各个值设定为ref_pic_list_struct(0,rplsIdx)的各个值。
sps_num_ref_pic_lists[i]中,listIdx等于i,表示SPS中所包括的ref_pic_list_struct(listIdx、rplsIdx)的数量。listIdx是表示是参照图像列表0还是参照图像列表1的值,分别为0或者1、sps_num_ref_pic_lists[i]的值为0至64的范围内。
在SPS中,针对在sps_rpl1_same_as_rpl0_flag为1的情况下只是与参照图像列表0对应的i=0、在sps_rpl1_same_as_rpl0_flag为0的情况下与两个参照图像列表对应的i=0和1的情况,对sps_num_ref_pic_lists[i]个ref_pic_list_struct(i,j)进行编码、解码。
图15的(b)表示非专利文献1中的Picture Parameter Set(PPS)的语法的一部分。
pps_no_pic_partition_flag是表示图像分割不适用于参照PPS的各图像的标志。
pps_rpl1_idx_present_flag是表示存在由图像报头PH或切片报头调用的ref_pic_lists()中的语法要素rpl_sps_flag[1]和rpl_idx[1]的标志。
pps_rpl_info_in_ph_flag是表示参照图像列表信息是否存在于图像报头PH的标志。在作为表示图像分割不适用于图像的标志的pps_no_pic_partition_flag为0的情况下,存在pps_no_pic_partition_flag、pps_rpl_info_in_ph_flag等于1表示参照图像列表信息存在于图像报头。rpl_info_in_ph_flag等于0表示参照图像列表信息可能不存在于图像报头而存在于切片报头。
图16的(a)示出了非专利文献1的图像报头PH的语法的一部分。
ph_inter_slice_allowed_flag是表示图像内的切片是否为帧间的标志。在ph_inter_slice_allowed_flag为0的情况下,表示图像内的全部切片的slice_type为2(ISlice)。在ph_inter_slice_allowed_flag为1的情况下,表示图像中所包括的至少一个以上的切片的slice_type为0(B Slice)或1(P Slice)。
在表示参照图像列表信息存在于图像报头PH的标志pps_rpl_info_in_ph_flag为1的情况下,通过图像报头PH调用对参照图像列表进行定义的ref_pic_lists()并对其进行解码或者编码。
在ph_inter_slice_allowed_flag为1的情况且pps_rpl_info_in_ph_flag为0的情况或表示列表1的参照图像数的num_ref_entries[1][RplsIdx[1]]大于1的情况下,对作为表示是否在双向预测的L1预测中适用使运动矢量的差分为零的模式的标志的ph_mvd_l1_zero_flag进行编码、解码。
图16的(b)示出了非专利文献1的切片报头的语法的一部分。这些语法例如通过参数解码部302解码。
若在pps_rpl_info_in_ph_flag为0且、NAL单元类型nal_unit_type既不是作为IDR的IDR_W_RADL也不是IDR_N_LP的情况或表示参照图像列表的语法要素存在于IDR图像的切片报头的标志sps_idr_rpl_present_flag为1的情况下,则通过切片报头调用对参照图像列表进行定义的ref_pic_lists()。
需要说明的是,在sps_idr_rpl_present_flag等于0、nal_unit_type等于IDR_W_RADL或IDR_N_LP的情况下,导出参照图像列表RefPicList[0]和RefPicList[1]两方均为空,即包括0个条目,针对i=0和1,推测为变量RplsIdx[i]的值等于sps_num_ref_pic_lists[i],推测为num_ref_entries[i][RplsIdx[i]]的值等于0,将作为实际上能使用的参照图像数的变量NumRefIdxActive[i]的值估计为0。
图17的(a)示出了本实施方式的对参照图像列表进行定义的ref_pic_lists()的语法。ref_pic_lists()有时如图16所示那样存在于图像报头或切片报头。ref_pic_lists()中,针对i=0,1,可以包括rpl_sps_flag[i]、rpl_idx[i]、ref_pic_list_struct()。就是说,动态图像编码装置、动态图像解码装置针对i=0,1,对rpl_sps_flag[i]、rpl_idx[i]、ref_pic_list_struct()进行编码或者解码。
rpl_sps_flag[i]是表示基于在SPS中经编码、解码的ref_pic_list_struct(1istIdx、rplsIdx)选择参照图像列表结构的标志。在此,listIdx等于i。
若rpl_sps_flag[i]为1,则表示将SPS的ref_pic_list_struct(listIdx、rplsIdx)之中的一个用作ref_pic_lists()对应的图像或者切片所利用的参照图像列表i。
在rpl_sps_flag[i]为0的情况下,表示在对应的图像或者切片中使用的参照图像列表1直接基于ref_pic_list_struct(listIdx、rplsIdx)而导出。就是说,在rpl_sps_flag[i]为0的情况下,作为参照图像列表i的参照图像结构,在动态图像编码装置中对ref_pic_list_struct(listIdx=i、rplsIdx=sps_num_ref_pic_lists[i])进行编码,在动态图像解码装置中对ref_pic_list_struct(listIdx=i、rplsIdx=sps_num_ref_pic_lists[i])进行解码。
在不存在rpl_sps_flag[i]的情况下,适用以下。在sps_num_ref_pic_lists[i]为0的情况下,将rpl_sps_flag[i]的值推测为0。在不是这样的情况下(在num_ref_pic_lists_in_sps[i]大于0的情况下),若pps_rpl1_idx_present_flag等于0且i等于1,则推测为rpl_sps_flag[1]的值等于rpl_sps_flag[0]。
rpl_idx[i]用于导出针对在SPS中经编码、解码的ref_pic_list_struct(1istIdx、rplsIdx)的索引rplsIdx。在此,listIdx等于i。rpl_idx[i]以Ceil(Log2(sps_num_ref_pic_lists[i]))比特表达。rpl_idx[i]的值为0至sps_num_ref_pic_lists[i]-1的范围内。若在不存在rpl_idx[i]的情况、rpl_sps_flag[i]等于1、pps_rpl1_idx_present_flag等于0的情况下,则估计为rpl_idx[1]的值等于rpl_idx[0],在不是这样的情况下,将rpl_idx[1]的值估计为0。
作为在对象图像或者切片中利用的参照图像结构ref_pic_list_struct(listIdx、rplsIdx)的索引rplsIdx的变量RplsIdx[i]以如下方式导出。
RplsIdx[i]=(rpl_sps_flag[i])?rpl_idx[i]:num_ref_pic_lists_in_sps[i](算式1)
就是说,在rpl_sps_flag[i]为1的情况下,使用表示在SPS中经编码、解码的参照图像结构的索引rpl_idx[i](0<=rpl_idx<=num_ref_pic_lists_in_sps[i]-1)。在不是这样而是rpl_sps_flag[i]为0的情况下,使用表示在PH或者SH中经编码、解码的参照图像结构的num_ref_pic_lists_in_sps[i]。
图17的(b)示出了本实施方式的对参照图像列表结构ref_pic_list_struct(listIdx、rplsIdx)进行定义的语法。
ref_pic_list_struct(listIdx、rplsIdx)有时存在于SPS、图像报头或切片报头。根据语法包括于SPS还是包括于图像报头还是包括于切片报头,适用以下。若在存在于图像报头或切片报头的情况下,则ref_pic_list_struct(1istIdx、rplsIdx)表示当前的图像(包括切片的图像)的参照图像列表listIdx。在存在于SPS的情况下,ref_pic_list_struct(listIdx、rplsIdx)表示参照图像列表listIdx的候选。并且,当前的图像从图像报头或切片报头,利用索引值参照SPS中所包括的ref_pic_list_struct(listIdx、rplsIdx)的列表。在ref_pic_list_struct中,对num_ref_entries、ltrp_in_header_flag、st_ref_pic_flag、abs_delta_poc_st、strp_entry_sign_flag、ilrp_idx进行编码或者解码。
在此,num_ref_entries[listIdx][rplsIdx]表示ref_pic_list_struct(listIdx、rplsIdx)的参照图像列表、即索引rpsIdx的参照图像列表listIdx中的参照图像的数量。num_ref_entries[listIdx][rplsIdx]的值取0以上且MaxDpbSize+13以下的值。MaxDpbSize为由档次级别决定的解码图像的数量。
ltrp_in_header_flag[listIdx][rplsIdx]是表示ref_pic_list_struct(listIdx、rplsIdx)的参照图像列表中是否存在长期参照图像的标志。
inter_layer_ref_pic_flag[listIdx][rplsIdx][i]是表示ref_pic_list_struct(listIdx、rplsIdx)的参照图像列表的第i个条目是否为层间预测的标志。
st_ref_pic_flag[listIdx][rplsIdx][i]是表示ref_pic_list_struct(listIdx、rplsIdx)的参照图像列表的第i个条目是否为短期参照图像的标志。
abs_delta_poc_st[listIdx][rplsIdx][i]是用于导出短期参照图像的POC的差分绝对值的语法要素。
strp_entry_sign_flag[listIdx][rplsIdx][i]是用于导出正负的符号的标志。
rpls_poc_lsb_lt[listIdx][rplsIdx][i]是用于导出ref_pic_list_struct(1istIdx、rplsIdx)的参照图像列表的第i个长期参照图像的POC的语法要素。
ilrp_idx[listIdx][rplsIdx][i]是用于导出ref_pic_list_struct(listIdx、rplsIdx)的参照图像列表的第i个层间预测的参照图像的层信息的语法要素。
作为也在非专利文献1中使用的上述构成的争论点,可举出与对参照图像列表进行定义的ref_pic_lists()关联的语法、语义有欠缺这点。
作为第一争论点,有以下欠缺:在以下的条件的情况下,参照图像列表1的参照图像列表结构不固定。
具体而言,在作为表示是否存在用于参照图像列表1的信息的标志的sps_rpl1_same_as_rpl0_flag为0且为以下的情况下会产生问题。针对sps_num_ref_pic_ists[i],为sps_num_ref_pic_lists[0]的值大于sps_num_ref_pic_lists[1]且pps_rpl1_idx_present_flag为0且rpl_sps_flag[0]为1且rpl_idx[0]为sps_num_ref_pic_lists[1]以上且sps_num_ref_pic_lists[0]-1以下的值的情况。在此,sps_num_ref_pic_lists[i]表示在SPS中经编码、解码的参照图像列表结构ref_pic_list_struct(listIdx、rplsIdx)的数量。pps_rpl1_idx_present_flag是表示是否存在由图像报头PH或切片报头调用的ref_pic_lists()中的语法要素rpl_sps_flag[1]和rpl_idx[1]的标志。rpl_sps_flag[0]是表示基于在SPS中经编码、解码的ref_pic_list_struct(0、rplsIdx)选择参照图像列表结构的标志。rpl_idx[0]为用于以下的索引:导出针对在SPS中经编码、解码的ref_pic_list_struct(listIdx、rplsIdx)的索引。
在上述的条件的情况下,由于pps_rpl1_idx_present_flag为0,因此,rpl_sps_flag[1]和rpl_idx[1]的值分别复制rpl_sps_flag[0]和rpl_idx[0]的值。但是,在rpl_idx[0]的值为sps_num_ref_pic_lists[1]以上且sps_num_ref_pic_lists[0]-1以下的值的情况下,rpl_idx[1]会超过作为可取的值的0以上且sps_num_ref_pic_lists[1]-1以下的值。并且,就变量RplsIdx[1]而言,在rpl_sps_flag[1]为1的情况下,代入rpl_idx[0]的值。
该情况下,利用rplsIdx参照的参照图像结构ref_pic_list_struct(1、rplsIdx)由于为在SPS中定义出的参照图像结构的范围(0..sps_num_ref_pic_lists[1]-1)外而不存在。
rplsIdx=RplsIdx[1]=rpl_idx[1]=rpl_idx[0]>=sps_num_ref_pic_lists[1]
作为结果,有以下欠缺:导出在SPS中经编码、解码的参照图像列表结构中不存在的索引值。
若举例,则设为
sps_rpl1_same_as_rpl0_flag=0
sps_num_ref_pic_lists[0]=5
sps_num_ref_pic_lists[1]=3
pps_rpl1_idx_present_flag=0
rpl_sps_flag[0]=1
rpl_idx[0]=4。
按照上述的说明,导出rpl_sps_flag[1]=1、rpl_idx[1]=4、RplsIdx[1]=4,但由于sps_num_ref_pic_lists[1]为3,因此不存在与上述rplsIdx=RplsIdx[1]=4相符的参照图像列表结构。
本实施方式中,为了解决上述问题而公开如下的方法。具体而言,向上述的构成添加以下所说明的追加或者变更。
作为第一方法,追加以下的条件来作为sps_num_ref_pic_lists[i]的语义。
sps_num_ref_pic_lists[0]必须为sps_num_ref_pic_lists[1]以下的值。
换言之,sps_num_ref_pic_lists[1]必须大于sps_num_ref_pic_lists[0]。
通过追加这样的约束,不会再发生能选作参照图像列表1的参照图像列表结构的rpl_idx[0]的值(sps_num_ref_pic_lists[0]-1以下的值)为sps_num_ref_pic_lists[1]以上的情况,因此,能解决问题。
需要说明的是,追加条件来作为语义的意思是指在动态图像编码装置中对满足所追加的条件的编码数据进行编码,在动态图像解码装置中对满足所追加的条件的编码数据进行解码。
而且,除了上述以外,编码数据也可满足以下的条件。
在sps_rpl1_same_as_rpl0_flag为0的情况下,sps_num_ref_pic_lists[0]必须为sps_num_ref_pic_lists[1]以下的值。
在sps_rpl1_same_as_rpl0_flag为0且pps_rpl1_idx_present_flag为0的情况下,sps_num_ref_pic_lists[0]必须为sps_num_ref_pic_lists[1]以下的值。
在上述中,也可以将sps_num_ref_pic_lists[1]设为大于sps_num_ref_pic_lists[0]的值。
作为第二方法,追加以下的条件来作为pps_rpl1_idx_present_flag的语义。
在sps_rpl1_same_as_rpl0_flag为0的情况下,pps_rpl1_idx_present_flag不能为0。
换言之,在pps_rpl1_idx_present_flag为0的情况下,sps_rpl1_same_as_rpl0_flag不能为0。
通过追加这样的约束,仅能在为列表0与列表1相同的参照图像列表结构时使pps_rpl1_idx_present_flag为0,能解决问题。
作为第三方法,追加以下的条件来作为pps_rpl1_idx_present_flag的语义。
在sps_num_ref_pic_lists[0]的值大于sps_num_ref_pic_lists[1]的值的情况下,pps_rpl1_idx_present_flag不能为0。
通过追加这样的约束,仅能在sps_num_ref_pic_lists[0]的值为sps_num_ref_pic_lists[1]的值以下时使pps_rpl1_idx_present_flag为0,能解决问题。
此外,进一步而言,也可以为下面的条件。
在sps_num_ref_pic_lists[0]的值大于sps_num_ref_pic_lists[1]的值的情况下,sps_rpl1_same_as_rpl0_flag不能为0。
在sps_num_ref_pic_lists[0]的值大于sps_num_ref_pic_lists[1]的值的情况下,不能为sps_rpl1_same_as_rpl0_flag=0且不能为pps_rpl1_idx_present_flag=0。
此外,作为第四方法,将rpl_sps_flag[i]的语义设为如下。
在不存在rpl_sps_flag[i]的情况下,适用以下。在sps_num_ref_pic_lists[i]为0的情况下,将rpl_sps_flag[i]的值推测为0。除此以外(在num_ref_pic_lists_in_sps[i]大于0的情况下),在pps_rpl1_idx_present_flag为0且i等于1且rpl_sps_flag[0]为1且sps_num_ref_pic_lists[0]的值为sps_num_ref_pic_ists[1]的值以下的情况下,推测为rpl_sps_flag[1]的值等于rpl_sps_flag[0]。在不是这样的情况下,将rpl_sps_flag[i]估计为0。
或者,也可以为下面的条件。在不存在rpl_sps_flag[i]的情况下,适用以下。在sps_num_ref_pic_ists[i]为0的情况下,将rpl_sps_flag[i]的值推测为0。在不存在rpl_sps_flag[i](i!=0)的情况下,在num_ref_pic_lists_in_sps[i]大于0的情况下pps_rpl1_idx_present_flag为0且rpl_sps_flag[0]为1且sps_num_ref_pic_lists[0]的值为sps_num_ref_pic_ists[1]的值以下的情况下,推测为rpl_sps_flag[1]的值等于rpl_sps_flag[0]。在不是这样的情况下,将rpl_sps_flag[i]估计为0。
通过设为这样的语义,在pps_rpl1_idx_present_flag为0时,考虑sps_num_ref_pic_lists[0]和sps_num_ref_pic_lists[1]的值的大小来决定rpl_sps_flag[1],由此能解决问题。
此外,作为第五方法,将rpl_idx[0]的语义设为如下。
在pps_rpl1_dx_present_flag为0的情况下,将rpl_idx[0]的值的范围设为0至min(sps_num_ref_pic_lists[0],sps_num_ref_pic_lists[1])-1。语法要素的rpl_idx[0]用Ceil(Log2(min(sps_num_ref_pic_lists[0],sps_num_ref_pic_lists[1])))比特来表达。在不是这样的情况下(pps_rpl1_idx_present_flag为1),将rpl_idx[i]的值的范围设为0至sps_num_ref_pic_lists[i]-1。语法要素rpl_idx[i]用Ceil(Log2(sps_num_ref_pic_lists[i]))比特来表达。
通过设为这样的语义,在pps_rpl1_idx_present_flag为0时,考虑sps_num_ref_pic_lists[0]和sps_num_ref_pic_lists[1]的值的大小来对rpl_idx[1]限制值的范围,由此能解决问题。
此外,作为第六方法,将rpl_idx[i]的语义设为如下。
若在不存在rpl_idx[0]的情况下,则将rpl_idx[0]的值估计为0。
若在不存在rpl_idx[1]的情况下,则在rpl_sps_flag[0]等于1且pps_rpl1_idx_present_flag等于0且rpl_idx[0]的值小于sps_num_ref_pic_lists[1]的情况下,估计为rpl_idx[1]的值等于rpl_idx[0]。在不是这样的情况下,将rpl_idx[1]的值估计为0。
作为非专利文献1的第二争论点,有以下欠缺:在调用ref_pic_lists()前,有时会使用变量RplsIdx[1],RplsIdx[1]的值不固定。
具体而言,对图16的(a)的ph_mvd_l1_zero_flag进行编码、解码的条件中有pps_rpl_info_in_ph_flag为0或num_ref_entries[1][RplsIdx[1]]>0的条件。在pps_rpl_info_in_ph_flag为0的情况下,不调用ref_pic_lists()地评估该条件式。但是,由于rpl_sps_flag[i]未解码,因此,使用该值导出的RplsIdx[1]的值不固定,num_ref_entries[1][RplsIdx[1]]的值也不固定。因此,未确定是否对ph_mvd_l1zero_flag进行编码/解码的条件。
在本实施方式中,为了解决上述的问题,导入如下的语义。
首先,将不存在rpl_sps_flag[i]的情况下的语义设为如下。
在不存在rpl_sps_flag[i]的情况下,适用以下。在sps_num_ref_pic_lists[i]为0的情况下,将rpl_sps_flag[i]的值推测为0。若不是这样而是pps_rpl1_idx_present_flag为0且i等于1,则推测为rpl_sps_flag[1]的值等于rpl_sps_flag[0]。在不是这样的情况下,将rpl_sps_flag[i]的值估计为0。
接着,在不存在num_ref_entries[i][sps_num_ref_pic_lists[i]]的情况下,将num_ref_entries[i][sps_num_ref_pic_lists[i]]估计为0。
通过使用这样的语义,RplsIdx[i]的值为sps_num_ref_pic_ists[i],num_ref_entries[i][sps_num_ref_pic_lists[i]]为0,由此,num_ref_entries[1][RplsIdx[1]]的值唯一地决定为0,因此问题被消除。
作为非专利文献1的第三争论点,有以下欠缺:未在rpl_idx[0]的语义中对sps_num_ref_pic_lists[0]的值为1的情况下的语义进行定义。
根据图17的(a)的语法,在sps_num_ref_pic_lists[0]的值为1的情况下,rpl_idx[0]未作为语法要素来被编码、解码。但是,由于在语义中,不存在对该情况下的rpl_idx[0]的值进行定义的描述而有值不固定的问题。
本实施方式中,为了解决上述问题,使用如下的语义。
若在不存在rpl_idx[i]的情况下,则实施以下。在sps_num_ref_pic_lists[i]为1以下的情况下,将rpl_idx[i]的值估计为0,在除此以外(sps_num_ref_pic_lists[i]大于1)且rpl_sps_flag[0]等于1、pps_rpl1_idx_present_flag等于0、i等于1的情况下,估计为rpl_idx[1]的值等于rpl_idx[0]。
此外,也可以为下面的语义。
若在不存在rpl_idx[i]的情况下,则实施以下。在rpl_sps_flag[0]等于1、pps_rpl1_idx_present_flag等于0、i等于1的情况下,估计为rpl_idx[i]的值等于rpl_idx[0],在除此以外的情况下,将rpl_idx[i]的值估计为0。
通过使用这样的语义,值不会再不固定。
通过使用基于如上的实施方式的方法,能解决问题。
〔应用例〕
上述的动态图像编码装置11和动态图像解码装置31能搭载于进行动态图像的发送、接收、记录、再现的各种装置来利用。需要说明的是,动态图像既可以为由摄像机等拍摄的自然动态图像,也可以为由计算机等生成的人工动态图像(包括CG和GUI)。
首先,参照图2对能将上述的动态图像编码装置11和动态图像解码装置31用于动态图像的发送和接收的情况进行说明。
图2的PROD_A是示出了搭载有动态图像编码装置11的发送装置PROD_A的构成的框图。如图2所示,发送装置PROD_A具备:编码部PROD_A1,通过对动态图像进行编码来获得编码数据;调制部PROD_A2,通过利用编码部PROD_A1所获得的编码数据对载波进行调制来获得调制信号;以及发送部PROD_A3,发送调制部PROD_A2所获得的调制信号。上述的动态图像编码装置11被用作该编码部PROD_A1。
发送装置PROD_A还可以具备拍摄动态图像的摄像机PROD_A4、记录有动态图像的记录介质PROD_A5、用于从外部输入动态图像的输入端子PROD_A6以及生成或加工图像的图像处理部A7来作为向编码部PROD_A1输入的动态图像的供给源。在图2中,举例示出了发送装置PROD_A具备全部这些的构成,但也可以省略一部分。
需要说明的是,记录介质PROD_A5既可以为记录有未被编码的动态图像的介质,也可以为记录有以与传输用的编码方式不同的记录用的编码方式进行了编码的动态图像的介质。在后者的情况下,使按照记录用的编码方式对从记录介质PROD_A5读出的编码数据进行解码的解码部(未图示)介于记录介质PROD_A5与编码部PROD_A1之间为好。
图2的PROD_B是示出了搭载有动态图像解码装置31的接收装置PROD_B的构成的框图。如图2所示,接收装置PROD_B具备:接收部PROD_B1,接收调制信号;解调部PROD_B2,通过对接收部PROD_B1所接收的调制信号进行解调来获得编码数据;以及解码部PROD_B3,通过对解调部PROD_B2所获得的编码数据进行解码来获得动态图像。上述的动态图像解码装置31被用作该解码部PROD_B3。
接收装置PROD_B还可以具备显示动态图像的显示器PROD_B4、用于记录动态图像的记录介质PROD_B5以及用于将动态图像输出至外部的输出端子PROD_B6来作为解码部PROD_B3输出的动态图像的供给目的地。在图2中,举例示出了接收装置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这两方发挥功能。
接着,参照图3,对能将上述的动态图像编码装置11和动态图像解码装置31用于动态图像的记录和再现的情况进行说明。
图3的PROD_C是示出了搭载有上述的动态图像编码装置11的记录装置PROD_C的构成的框图。如图3所示,记录装置PROD_C具备:编码部PROD_C1,通过对动态图像进行编码来获得编码数据;以及写入部PROD_C2,将编码部PROD_C1所获得的编码数据写入至记录介质PROD_M。上述的动态图像编码装置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_C还可以具备拍摄动态图像的摄像机PROD_C3、用于从外部输入动态图像的输入端子PROD_C4、用于接收动态图像的接收部PROD_C5以及生成或加工图像的图像处理部PROD_C6来作为向编码部PROD_C1输入动态图像的供给源。在图3中,举例示出了记录装置PROD_C具备全部这些的构成,但也可以省略一部分。
需要说明的是,接收部PROD_C5既可以为接收未被编码的动态图像的接收部,也可以为接收以与记录用的编码方式不同的传输用的编码方式进行了编码的编码数据的接收部。在后者的情况下,使对以传输用的编码方式进行了编码的编码数据进行解码的传输用解码部(未图示)介于接收部PROD_C5与编码部PROD_C1之间为好。
作为这样的记录装置PROD_C,例如可举出DVD记录器、BD记录器、HDD(HardDiskDrive)记录器等(在该情况下,输入端子PROD_C4或接收部PROD_C5为动态图像的主要的供给源)。此外,便携式摄像机(在该情况下,摄像机PROD_C3为动态图像的主要的供给源)、个人计算机(在该情况下,接收部PROD_C5或图像处理部C6为动态图像的主要的供给源)、智能手机(在该情况下,摄像机PROD_C3或接收部PROD_C5为动态图像的主要的供给源)等也是这样的记录装置PROD_C的一个例子。
图3PROD_D是示出了搭载有上述的动态图像解码装置31的再现装置PROD_D的构成的框图。如图3所示,再现装置PROD_D具备:读出部PROD_D1,读出已写入至记录介质PROD_M的编码数据;以及解码部PROD_D2,通过对读出部PROD_D1所读出的编码数据进行解码来获得动态图像。上述的动态图像解码装置31被用作该解码部PROD_D2。
需要说明的是,记录介质PROD_M既可以是(1)像HDD、SSD等那样内置于再现装置PROD_D的类型的记录介质,也可以是(2)像SD存储卡、USB闪存等那样连接于再现装置PROD_D的类型的记录介质,还可以是(3)像DVD、BD等那样装填至内置于再现装置PROD_D的驱动装置(未图示)的记录介质。
此外,再现装置PROD_D还可以具备显示动态图像的显示器PROD_D3、用于将动态图像输出至外部的输出端子PROD_D4以及发送动态图像的发送部PROD_D5来作为解码部PROD_D2输出的动态图像的供给目的地。在图3中,举例示出了再现装置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(CentralProcessing Unit:中央处理器)来以软件方式实现。
在后者的情况下,上述各装置具备执行实现各功能的程序的命令的CPU、储存上述程序的ROM(Read Only Memory)、展开上述程序的RAM(RandomAccess Memory:随机存取存储器)、储存上述程序和各种数据的存储器等存储装置(记录介质)等。并且,本发明的实施方式的目的能通过以下方式达成:将以计算机可读取的方式记录有作为实现上述的功能的软件的上述各装置的控制程序的程序代码(执行形式程序、中间代码程序、源程序)的记录介质供给至上述各装置,该计算机(或CPU、MPU)读出记录于记录介质的程序代码并执行。
作为上述记录介质,例如能使用磁带、盒式磁带等带类、包括软(floppy,注册商标)盘/硬盘等磁盘、CD-ROM(Compact Disc Read-Only Memory)/MO盘(Magneto-Opticaldisc:磁光盘)/MD(Mini Disc:迷你磁光盘)/DVD(Digital Versatile Disc:注册商标)/CD-R(CD Recordable:光盘刻录片)/蓝光光盘(Blu-rayDisc:注册商标)等光盘的盘类、IC卡(包括存储卡)/光卡等卡类、掩模ROM/EPROM(Erasable ProgrammableRead-OnlyMemory:可擦可编程只读存储器)/EEPROM(ElectricallyErasableandProgrammableRead-OnlyMemory(电可擦可编程只读存储器):注册商标)/闪存ROM等半导体存储器类或者PLD(Programmable logic device:可编程逻辑器件)、FPGA(FieldProgrammable GateArray:现场可编程门阵列)等逻辑电路类等。
此外,也可以是,将上述各装置构成为能与通信网络连接并经由通信网络供给上述程序代码。该通信网络能传输程序代码即可,没有特别限定。例如,能利用互联网、内联网(intranet)、外联网(extranet)、LAN(Local Area Network:局域网)、ISDN(IntegratedServices DigitalNetwork:综合业务数字网)、VAN(Value-Added Network:增值网)、CATV(Community Antenna television/Cable Television:共用天线电视/有线电视)通信网、虚拟专用网(Virtual Private Network)、电话线路网、移动通信网、卫星通信网等。此外,构成该通信网络的传输介质也是能传输程序代码的介质即可,不限定于特定的构成或种类的介质。例如,既可以通过IEEE(Institute of Electrical and ElectronicEngineers:电气和电子工程师协会)1394、USB、电力线输送、有线TV线路、电话线、ADSL(AsymmetricDigital Subscriber Line:非对称数字用户线路)线路等有线来利用,也可以通过像IrDA(InfraredData Association:红外线数据协会)、遥控器那样的红外线、BlueTooth(注册商标)、IEEE802.11无线、HDR(High Data Rate:高数据速率)、NFC(NearField Communication:近场通讯)、DLNA(Digital Living Network Alliance(数字生活网络联盟):注册商标)、便携电话网、卫星线路、地面数字广播网等无线来利用。需要说明的是,本发明的实施方式也能以通过电子传输来将上述程序代码具体化的嵌入载波的计算机数据信号的方式实现。
本发明的实施方式不限定于上述的实施方式,能在权利要求所示的范围内进行各种变更。即,将在权利要求所示的范围内适当地变更过的技术手段进行组合而获得的实施方式也包括在本发明的技术范围内。
产业上的可利用性
本发明的实施方式能优选地适用于对图像数据被编码的编码数据进行解码的动态图像解码装置和生成图像数据被编码的编码数据的动态图像编码装置。此外,能优选地适用于由动态图像编码装置生成并被动态图像解码装置参照的编码数据的数据结构。
(关联申请的相互参照)
本申请对于2020年5月21日提出申请的日本专利申请:日本专利申请2020-088862主张优先权的利益,并通过对其进行参照而将其全部内容包括在本说明书中。
附图标记说明:
31:图像解码装置;
301:熵解码部;
302:参数解码部;
303:帧间预测参数导出部;
304:帧内预测参数导出部;
305、107:环路滤波器;
306、109:参照图像存储器;
307、108:预测参数存储器;
308、101:预测图像生成部;
309:帧间预测图像生成部;
310:帧内预测图像生成部;
311、105:逆量化/逆变换部;
312、106:加法部;
320:预测参数导出部;
11:图像编码装置;
102:减法部;
103:变换/量化部;
104:熵编码部;
110:编码参数确定部;
111:参数编码部;
112:帧间预测参数编码部;
113:帧内预测参数编码部;
120:预测参数导出部。
Claims (3)
1.一种动态图像解码装置,其特征在于,具有:
解码部,对多个参照图像列表结构进行解码;以及
预测部,以图像单位或者切片单位从所述参照图像列表结构中导出参照图像列表,
所述解码部对第一标志rpl_sps_flag[i]进行解码,在此,所述第一标志rpl_sps_flag[i]在值为1的情况下,表示基于在SPS中经解码的第一参照图像列表结构导出与参照图像列表信息ref_pic_lists对应的所述参照图像列表,所述第一标志rpl_sps_flag[i]在值为0的情况下,表示基于直接包括于所述参照图像列表信息ref_pic_lists的第二参照图像列表结构导出与所述参照图像列表信息ref_pic_lists对应的所述参照图像列表,
所述解码部在所述第一标志rpl_sps_flag[i]为1的情况下,基于所述第一参照图像列表结构的数量sps_num_ref_pic_lists[i]和第二标志pps_rpl1Jdx_present_flag,对用于表示所述第一参照图像列表结构的索引rpl_idx[i]进行解码,
所述解码部在所述第一标志rpl_sps_flag[i]为0的情况下,对直接包括于所述参照图像列表信息ref_pic_lists的所述第二参照图像列表结构进行解码,
所述解码部在所述第一标志rpl_sps_flag[i]等于1且所述第一参照图像列表结构的数量sps_num_ref_pic_lists[i]为1以下的情况下,将所述索引rpl_idx[i]的值估计为0,所述解码部在所述第一标志rpl_sps_flag[i]等于1且所述第二标志pps_rpl1_idx_present_flag等于0的情况下,将索引rpl_idx[1]的值估计为等于索引rpl_idx[0]的值。
2.一种动态图像解码方法,其特征在于,包括以下步骤:
以图像单位或者切片单位从参照图像列表结构中导出参照图像列表;
对第一标志rpl_sps_flag[i]进行解码,在此,所述第一标志rpl_sps_flag[i]在值为1的情况下,表示基于在SPS中经解码的第一参照图像列表结构导出与参照图像列表信息ref_pic_lists对应的所述参照图像列表,所述第一标志rpl_sps_flag[i]在值为0的情况下,表示基于直接包括于所述参照图像列表信息ref_pic_lists的第二参照图像列表结构导出与所述参照图像列表信息ref_pic_lists对应的所述参照图像列表;
在所述第一标志rpl_sps_flag[i]为1的情况下,基于所述第一参照图像列表结构的数量sps_num_ref_pic_lists[i]和第二标志pps_rpl1_idx_present_flag,对用于表示所述第一参照图像列表结构的索引rpl_idx[i]进行解码;
在所述第一标志rpl_sps_flag[i]为0的情况下,对直接包括于所述参照图像列表信息ref_pic_lists的所述第二参照图像列表结构进行解码;以及
在所述第一标志rpl_sps_flag[i]等于1且所述第一参照图像列表结构的数量sps_num_ref_pic_lists[i]为1以下的情况下,将所述索引rpl_idx[i]的值估计为0,在所述第一标志rpl_sps_flag[i]等于1且所述第二标志pps_rpl1_idx_present_flag等于0的情况下,将索引rpl_idx[1]的值估计为等于索引rpl_idx[0]的值。
3.一种动态图像编码装置,其特征在于,具有:
编码部,对多个参照图像列表结构进行编码;以及
预测部,以图像单位或者切片单位从所述参照图像列表结构中导出参照图像列表,
所述编码部对第一标志rpl_sps_flag[i]进行编码,在此,所述第一标志rpl_sps_flag[i]在值为1的情况下,表示基于在SPS中经解码的第一参照图像列表结构导出与参照图像列表信息ref_pic_lists对应的所述参照图像列表,所述第一标志rpl_sps_flag[i]在值为0的情况下,表示基于直接包括于所述参照图像列表信息ref_pic_lists的第二参照图像列表结构导出与所述参照图像列表信息ref_pic_lists对应的所述参照图像列表,
所述编码部在所述第一标志rpl_sps_flag[i]为1的情况下,基于所述第一参照图像列表结构的数量sps_num_ref_pic_lists[i]和第二标志pps_rpl1_idx_present_flag,对用于表示所述第一参照图像列表结构的索引rpl_idx[i]进行编码,
所述编码部在所述第一标志rpl_sps_flag[i]为0的情况下,对直接包括于所述参照图像列表信息ref_pic_lists的所述第二参照图像列表结构进行编码,
所述编码部在所述第一标志rpl_sps_flag[i]等于1且所述第一参照图像列表结构的数量sps_num_ref_pic_lists[i]为1以下的情况下,将所述索引rpl_idx[i]的值估计为0,所述编码部在所述第一标志rpl_sps_flag[i]等于1且所述第二标志pps_rpl1_idx_present_flag等于0的情况下,将索引rpl_idx[1]的值估计为等于索引rpl_idx[0]的值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020088862 | 2020-05-21 | ||
JP2020-088862 | 2020-05-21 | ||
PCT/JP2021/018844 WO2021235448A1 (ja) | 2020-05-21 | 2021-05-18 | 動画像符号化装置及び動画像復号装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115699766A true CN115699766A (zh) | 2023-02-03 |
Family
ID=78708537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180037420.5A Pending CN115699766A (zh) | 2020-05-21 | 2021-05-18 | 动态图像编码装置以及动态图像解码装置 |
Country Status (4)
Country | Link |
---|---|
US (2) | US12047560B2 (zh) |
CN (1) | CN115699766A (zh) |
TW (1) | TW202145797A (zh) |
WO (1) | WO2021235448A1 (zh) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11463736B2 (en) * | 2018-09-21 | 2022-10-04 | Sharp Kabushiki Kaisha | Systems and methods for signaling reference pictures in video coding |
-
2021
- 2021-05-18 WO PCT/JP2021/018844 patent/WO2021235448A1/ja active Application Filing
- 2021-05-18 US US17/925,042 patent/US12047560B2/en active Active
- 2021-05-18 CN CN202180037420.5A patent/CN115699766A/zh active Pending
- 2021-05-21 TW TW110118513A patent/TW202145797A/zh unknown
-
2024
- 2024-06-12 US US18/740,728 patent/US20240333916A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US12047560B2 (en) | 2024-07-23 |
US20230188706A1 (en) | 2023-06-15 |
US20240333916A1 (en) | 2024-10-03 |
JPWO2021235448A1 (zh) | 2021-11-25 |
WO2021235448A1 (ja) | 2021-11-25 |
TW202145797A (zh) | 2021-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114762348B (zh) | 运动图像解码装置 | |
US20200021837A1 (en) | Video decoding apparatus and video coding apparatus | |
CN110574374A (zh) | 图像解码装置以及图像编码装置 | |
JP7448349B2 (ja) | 動画像復号装置 | |
WO2020184487A1 (ja) | 動画像復号装置 | |
WO2020137920A1 (ja) | 予測画像生成装置、動画像復号装置、動画像符号化装置および予測画像生成方法 | |
US11303927B2 (en) | Video decoding apparatus and video coding apparatus | |
JP2023181459A (ja) | 動画像復号装置、動画像符号化装置、動画像復号方法および動画像符号化方法 | |
WO2021200658A1 (ja) | 動画像復号装置及び動画像復号方法 | |
JP2020096279A (ja) | 予測画像生成装置、動画像復号装置および動画像符号化装置 | |
US11044490B2 (en) | Motion compensation filter apparatus, image decoding apparatus, and video coding apparatus | |
JP7465128B2 (ja) | 動画像符号化装置及び動画像復号装置 | |
WO2021235448A1 (ja) | 動画像符号化装置及び動画像復号装置 | |
JP7514611B2 (ja) | 動画像復号装置、動画像符号化装置、及び、予測画像生成装置 | |
WO2021200610A1 (ja) | 動画像復号装置、動画像符号化装置、動画像復号方法及び動画像符号化方法 | |
US12132887B2 (en) | Video decoding apparatus, video coding apparatus, video decoding method, and video coding method | |
CN113170190B (zh) | 以两个预测图像生成预测图像的预测图像生成装置和方法 | |
JP2021175009A (ja) | 動画像符号化装置及び動画像復号装置 | |
JP2021197558A (ja) | 動画像符号化装置及び動画像復号装置 | |
JP2022085475A (ja) | 動画像符号化装置、復号装置 | |
JP2024149704A (ja) | 動画像復号装置及び画像符号化装置 | |
JP2020109919A (ja) | 予測画像生成装置、動画像復号装置および動画像符号化装置 |
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 |