CN113228669A - 运动图像编码装置以及运动图像解码装置 - Google Patents

运动图像编码装置以及运动图像解码装置 Download PDF

Info

Publication number
CN113228669A
CN113228669A CN201980085198.9A CN201980085198A CN113228669A CN 113228669 A CN113228669 A CN 113228669A CN 201980085198 A CN201980085198 A CN 201980085198A CN 113228669 A CN113228669 A CN 113228669A
Authority
CN
China
Prior art keywords
tile
group
ctu
segment
decoding
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
Application number
CN201980085198.9A
Other languages
English (en)
Inventor
萨钦·G·德施潘德
佐佐木瑛一
中条健
八杉将伸
猪饲知宏
青野友子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FG Innovation Co Ltd
Sharp Corp
Original Assignee
FG Innovation Co Ltd
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by FG Innovation Co Ltd, Sharp Corp filed Critical FG Innovation Co Ltd
Publication of CN113228669A publication Critical patent/CN113228669A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

在对将图片分割成一个以上矩形区域且由一个以上分段构成的图块组的编码数据进行解码的运动图像解码装置中,对表示对象图块组内的分段是否为1CTU高的CTU行的WPP有效标志进行解码,在WPP有效标志为1的情况下,在对CTU行右端的CTU进行解码后对固定值的第一分段末位比特进行解码。

Description

运动图像编码装置以及运动图像解码装置
技术领域
本发明的一个方案涉及运动图像解码装置以及运动图像编码装置。
背景技术
为了高效地传输或记录运动图像,使用通过对运动图像进行编码而生成编码数据的运动图像编码装置,以及通过对该编码数据进行解码而生成解码图像的运动图像解码装置。
作为具体的运动图像编码方式,例如可以列举出H.264/AVC、HEVC(High-Efficiency Video Coding:高效运动图像编码)等。
在这种运动图像编码方式中,构成运动图像的图像(图片)通过分级结构来管理,并按每个CU进行编码/解码,所述分级结构包括通过分割图像而得到的切片、通过分割切片而得到的编码树单元(CTU:Coding Tree Unit)、通过分割编码树单元而得到的编码单位(有时也称为编码单元(Coding Unit:CU))以及通过分割编码单位而得到的变换单元(TU:Transform Unit)。
此外,在这种运动图像编码方式中,通常,基于通过通知输入图像而得到的局部解码图像生成预测图像,对从输入图像(原图像)中减去该预测图像而得到的预测误差(有时也称为″差分图像″或″残差图像″)进行编码。作为预测图像的生成方法,可列举出画面间预测(帧间预测)和画面内预测(帧内预测)。
此外,作为将画面分割成多个单位来进行传输的方法,已知分割成切片、CTU行(波前并行,以下称为分段)、图块的方法。
此外,作为近年的运动图像编码和解码的技术,可以列举出非专利文献1,今后计划与作为将多个图块合为一体的子流的图块组对应。非专利文献2中公开了图块组的技术,而图块组的具体的语法例在非专利文献3中公开。
现有技术文献
非专利文献
非专利文献1:″Versatile Video Coding(Draft 3)″,JVET-L1001,Joint VideoExploration Team(JVET)of ITU-T SG 16WP 3and ISO/IEC JTC 1/SC 29/WG 11,2018-11-08
非专利文献2:″Tile groups for VVC〞,JVET-L0415,Joint Video ExplorationTeam(JVET)of ITU-T SG 16WP 3and ISO/IEC JTC 1/SC 29/WG 11,2018-09-25
非专利文献3:″Spec text for the agreed starting point on slicing andtiling″,JVET-L0686,Joint Video Exploration Team(JVET)of ITU-T SG 16WP 3andISO/IEC JTC 1/SC 29/WG 11,2018-10-12
发明内容
发明要解决的问题
在HEVC中,存在如下问题:虽然与将图片分割成矩形的图块、分割成CTU行的波前并行处理(Wavefront Parallel Processing:WPP)、分割成连续的CTU的集合的切片对应,但是对于一个区域而言,图块、波前、切片的使用并不排他,因此处理变得复杂。此外,如非专利文献2、3所述,存在如下问题:不与图块组对应,因此在使用图块、波前并行化的情况下,仅能以图片为单位对表示编码数据的开始位置的入口点进行编码,而无法以分割画面得到的组为单位进行编码。
在非专利文献2、非专利文献3中记载的图块中,存在如下问题:能以组为单位通知图块,但不与实现高效且高并行度的波前并行处理或在矩形以外的任意位置实现分段的分割位置的切片对应。此外,无法以图块组为单位切换分段的类别。
此外,非专利文献2、非专利文献3中记载的图块中,对以图片为单位分割图块的方法进行了规定,因此,无法以图片组为单位变更图块的宽度、高度。
因此,本发明是鉴于上述的问题而完成的,其目的在于,通过在图块组内排他地使用图块、波前、切片,对编码处理、解码处理进行简化、高效化。此外,还在图片组单位变更图块的宽度、高度。
技术方案
本发明的一个方案的运动图像解码装置是一种对将图片分割成一个以上矩形区域且由一个以上分段构成的图块组的编码数据进行解码的运动图像解码装置,其特征在于,具备报头解码部,所述报头解码部从图块组报头对表示对象图块组内的分段是矩形的图块、1CTU高的CTU行、CTU单位的切片中的哪一个的对象图块组内的图块数、WPP有效标志、切片有效标志进行解码,上述报头解码部在一个图块组内,仅对图块数为两个以上、WPP有效标志为1、切片有效标志为1中的任一个进行解码。
附图说明
图1是表示本实施方式的图像传输系统的构成的概略图。
图2是表示搭载有本实施方式的运动图像编码装置的发送装置和搭载有运动图像解码装置的接收装置的构成的图。图2的(a)表示搭载有运动图像编码装置的发送装置,图2的(b)表示搭载有运动图像解码装置的接收装置。
图3是表示搭载有本实施方式的运动图像编码装置的记录装置和搭载有运动图像解码装置的再现装置的构成的图。图3的(a)表示搭载有运动图像编码装置的记录装置,图3的(b)表示搭载有运动图像解码装置的再现装置。
图4是表示编码流的数据的分级结构的图。
图5是表示图片的分割例的图。
图6是对图块组进行说明的图。
图7是对本实施方式的图块组的编码或解码进行说明的流程图。
图8是对本实施方式的图块组进行说明的图。
图9是表示运动图像解码装置的构成的概略图。
图10是对运动图像解码装置的概略动作进行说明的流程图。
图11是与图块信息等有关的语法表。
图12是表示本实施方式的图块组的语法构成的图。
图13是对本实施方式的图块组进行说明的图。
图14是表示本实施方式的图片参数集的语法构成的图。
图15是在图块组(分段组)单位使用不同种类的分段的示例。
图16是对图块分段和CTU行分段的排他构成进行说明的图。
图17是对图块和波前的排他构成中的报头解码部的动作进行说明的图。
图18是表示本实施方式的图块组的语法构成的图。
图19是表示本实施方式的图块组的语法构成的图。
图20是对图块分段和切片分段的排他构成进行说明的图。
图21是表示本实施方式的图块组的语法构成的图。
图22是对图块分段、CTU行分段以及切片分段的排他构成进行说明的图。
图23是表示本实施方式的图块组的语法构成的图。
图24是表示运动图像编码装置的构成的框图。
图25是表示本实施方式的图块组的语法构成的图。
图26是对运动图像解码装置的概略的动作进行说明的流程图。
具体实施方式
(第一实施方式)
以下,参照附图对本发明的实施方式进行说明。
图1是表示本实施方式的图像传输系统1的构成的概略图。
图像传输系统1是传输对编码对象图像进行编码而得到的编码流,并对所传输的编码流进行解码并显示图像的系统。图像传输系统1构成为包括:运动图像编码装置(图像编码装置)11、网络21、运动图像解码装置(图像解码装置)31以及运动图像显示装置(图像显示装置)41。
运动图像编码装置11被输入图像T。
网络21将运动图像编码装置11所生成的编码流Te传输至运动图像解码装置31。网络21是互联网(Internet)、广域网(WAN:Wide Area Network)、小型网络(LAN:Local AreaNetwork,局域网)或它们的组合。网络21不一定限定于双向的通信网,也可以是传输地面数字广播、卫星广播等广播波的单向的通信网。此外,网络21也可以用DVD(DigitalVersatile Disc:数字通用光盘,注册商标)、BD(Blue-ray Disc:蓝光光盘,注册商标)等记录有编码流Te的存储介质代替。
运动图像解码装置31对网络21所传输的编码流Te分别进行解码,生成解码后的一个或多个解码图像Td。
运动图像显示装置41显示运动图像解码装置31所生成的一个或多个解码图像Td的全部或一部分。运动图像显示装置41例如具备液晶显示器、有机EL(Electro-luminescence:电致发光)显示器等显示设备。作为显示器的形式,可列举出固定式、移动式、HMD等。此外,在运动图像解码装置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(舍去小数点以下)。
<编码流Te的结构>
在对本实施方式的运动图像编码装置11和运动图像解码装置31进行详细说明之前,对由运动图像编码装置11生成并由运动图像解码装置31进行解码的编码流Te的数据结构进行说明。
图4是表示编码流Te中的数据的分级结构的图。编码流Te示例性地包括序列和构成序列的多个图片。图4(a)~(f)分别是表示既定序列SEQ的编码视频序列、规定图片PICT的编码图片、规定图块组的编码图块组、规定图块的分段(例如编码图块、CTU行、切片)、分段中包括的编码树单元以及编码树单元中包括的编码单元的图。
(编码视频序列)
在编码视频序列中,规定有运动图像解码装置31为了对处理对象的序列SEQ进行解码而参照的数据的集合。如图4的(a)所示,序列SEQ包括序列参数集SPS(SequenceParameter Set)、图片参数集PPS(Picture Parameter Set)、图片PICT以及补充增强信息SEI(Supplemental Enhancement Information)。
在序列参数集SPS中,规定有运动图像解码装置31为了对对象序列进行解码而参照的编码参数的集合。例如,规定有与图片的宽度、高度、形状有关的信息、与解码工具的开启/关闭有关的信息。需要说明的是,SPS可以存在多个。在该情况下,从PPS中选择多个SPS中的任一个。
在图片参数集PPS中,规定有运动图像解码装置31为了对对象序列内的各图片进行解码而参照的编码参数的集合。例如,包括与构成图片的图块的个数、宽度、高度有关的信息。需要说明的是,PPS可以存在多个。在该情况下,从对象序列内的各图片中选择多个PPS中的任一个。
(编码图片)
在编码图片中,规定有运动图像解码装置31为了对处理对象的图片PICT进行解码而参照的数据的集合。如图4的(b)所示,图片PICT包括图块组0~图块组NTG-1(NTG为图片PICT中包括的图块的总数)。
(分段、图块组)
分段是指用于将图片分割并发送的单位,在编码数据上被编码、解码为字节对齐的比特串。
图块、CTU行、切片分别是用于将图片分割并发送的分段。
分段组(图块组)是指作为CTU的集合的分段的组,也可以称为分段组。需要说明的是,各分段是具备以下的特性的单位,能并行地进行解码。
·在画面上与CTU的集合对应
·在编码数据上的字节单位对齐
·在分段起点进行CABAC初始化
·能在相同的图片内的分段之间限制预测(能限制其他分段的参照)
预测的限制是指,例如,在分段为图块的情况下,进行不进行使用与对象图块不同的图块的图像的帧内预测的限制。分段为切片的情况也同样,进行不进行使用与对象切片不同的切片的图像的帧内预测的限制。在分段为WPP的情况下,允许一部分使用与对象CTU行不同的CTU行的图像的帧内预测。具体而言,在WPP中,能参照对象CTU行的上侧的CTU行。不过,在对象CTU行的上侧的CTU行中,也无法参照超过对象CTU的水平坐标的CTU。此外,可以根据标志来开启/关闭参照。
在图块组(分段组)中,通过在分段中仅对在分段中通用的报头进行一次编码,起到提高编码效率的效果。
图5是将图片分割成四个图块组TileGr0~TileGr3的图。图块组进一步能分割成一个以上分段。TileGr后的编号(图5中为0~3)为图块组的标识符,从图片的左上向右下按栅格扫描顺序进行设定。图块组标识符是按每个图块组而不同的值,是按扫描顺序单调增加的值。
图6的(a)是在分段为图块的情况下对图块地址进行说明的图。图6的(a)中的图块Tile后的编号是图片内的图块的地址(TileAddrInPic)。TileAddrInPic从图片的左上向右下按栅格扫描顺序进行设定。图6的(a)中的图块组TileGr0包括图块Tile0、Tile1、Tile4、Tile5。TileGr1包括Tile2、Tile3、Tile6、Tile7。TileGr2包括Tile8、Tile9。TileGr3包括Tile10、Tile11。在使用TileAddrInPic作为图块地址的情况下,图块地址在图块组内不连续。
图6的(b)是在分段为图块的情况下对图块地址进行说明的另一图。图6的(b)中的图块Tile后的编号是图块组内的图块的地址(TileAddrInTG)。TileAddrInTG从图块组的左上向右下按栅格扫描顺序进行设定。图6的(b)中的图块组TileGr0包括图块Tile0、Tile1、Tile2、Tile3。TileGr1包括Tile4、Tile5、Tile6、Tile7。TileGr2包括Tile8、Tile9。TileGr3包括Tile10、Tile11。在使用TileAddrInTG作为图块地址的情况下,图块地址在图块组内连续。
(编码图块组)
在编码图块组中,规定有运动图像解码装置31为了对处理对象的图块组进行解码而参照的数据的集合。如图4的(c)所示,图块组包括图块组报头和图块组数据。而且,图块组数据的后可以包括字节对齐用的后缀数据(rbsp_tile_group_trailing_bits)。
图7是对本实施方式的图块组的编码或解码进行说明的流程图。执行各步骤的构成构件记载于图9、图24,将在后文加以记述。
S2001报头编码部1110和报头解码部3020对图块组报头进行编码或解码。
S2002:CT信息编码部1111和CT信息解码部3021对图块组数据进行编码或解码。
S2003:报头编码部1110和报头解码部3020对后缀数据进行编码或解码。后缀数据可以包括字节对齐用的比特串。此外,在字节对齐后还可以包括表示分割的比特串。
在图块组报头中包括用于确定对象图块组的解码方法的编码参数组、在图块组的图块中通用的参数。图块组数据由图块组中包括的一个以上分段的编码数据构成。分段由CTU构成。在分段为图块的情况下,图块组数据由一个以上编码图块构成。
(图块组报头)
图块组报头可以包括图块组类型指定信息(tile_group_type)。
作为能由图块组类型指定信息指定的图块组类型,可以列举出:(1)在进行编码时仅使用帧内预测的I图块组;(2)在进行编码时使用单向预测或帧内预测的P图块组;(3)在进行编码时使用单向预测、双向预测或帧内预测的B图块组等。需要说明的是,帧间预测不限于单向预测、双向预测,也可以使用更多的参照图片来生成预测图像。以下,称为P、B图块组的情况是指包括能使用帧间预测的块的图块组。
需要说明的是,图块组报头可以包括对图片参数集PPS的参照(pic_parameter_set_id)。
(编码图块)
在编码图块中,规定有运动图像解码装置31为了对处理对象的图块进行解码而参照的数据的集合。如图4的(d)所示,图块包括CTU。CTU是构成图块的固定尺寸(例如128×128)的块,有时也称为最大编码单位(LCU:Largest Coding Unit)。
(图块、WPP、切片)
图8的(a)是将图块组TileGr0分割成多个图块Tile0~Tile3(粗实线的矩形)的示例。图块是由一个以上CTU构成的矩形的分段。各CTU的地址(图块扫描顺序的CTU地址ctbAddrTs)从各图块的左上向右下按栅格扫描顺序进行设定。
图8的(b)是将图块组分割成多个CTU行的示例。如图8的(b)所示,CTU行是由1行(高度为CTU高度,宽度为分段宽度)的CTU的集合构成的分段。如后文所述,CTU行的分段在WPP中使用。
图8的(c)是将图块组分割成连续的CTU的集合的示例。如图8的(c)所示,切片是由编码、解码顺序的CTU的集合构成的分段。
(编码树单元)
在图4的(e)中,规定有运动图像解码装置31为了对处理对象的CTU进行解码而参照的数据的集合。CTU通过递归的四叉树分割(QT(Quad Tree)分割)、二叉树分割(BT(Binary Tree)分割)或三叉树分割(TT(Ternary Tree)分割)分割成作为编码处理的基本单位的编码单元CU。将BT分割和TT分割统称为多叉树分割(MT(Multi Tree)分割)。将通过递归的四叉树分割而得到的树形结构的节点称为编码节点(Coding Node)。四叉树、二叉树以及三叉树的中间节点为编码节点,CTU本身也被规定为最上层的编码节点。
(编码单元)
如图4的(f)所示,规定有运动图像解码装置31为了对处理对象的编码单元进行解码而参照的数据的集合。具体而言,CU由CU报头、预测参数、变换参数、量化变换系数等构成。在CU报头中规定有预测模式等。
(运动图像解码装置的构成)
对本实施方式的运动图像解码装置31(图9)的构成进行说明。
运动图像解码装置31构成为包括:参数解码部(预测图像解码装置)302、环路滤波器305、参照图片存储器306、预测参数存储器307、预测图像生成部(预测图像生成装置)308、逆量化/逆变换部311以及加法部312。需要说明的是,根据后文所述的运动图像编码装置11,还存在运动图像解码装置31中不包括环路滤波器305的构成。参数解码部302还具备熵解码部301、报头解码部3020、CT信息解码部3021以及CU解码部3022,CU解码部3022还具备TU解码部3024。
(解码模块)
以下,对各模块的概略动作进行说明。参数解码部302进行报头信息、分割信息、预测信息、量化变换系数等参数的解码处理。
熵解码部301从二进制数据对语法要素进行解码。更具体而言,熵解码部301基于由供给方供给的语法要素,从基于CABAC等熵编码方式的编码数据对语法要素进行解码并返回给供给方。在以下示出的示例中,语法要素的供给方是CT信息解码部3021、CU解码部3022。
(基本流程)
图10是对运动图像解码装置31的概略动作进行说明的流程图。
(S1100:参数集信息解码)报头解码部3020从编码数据对SPS、PPS等参数集信息和图块信息进行解码。
将与图块的分割数或尺寸有关的信息称为图块信息。图块的宽度ColWidth、高度RowHeight使用图片的宽度PicWidthInCtbsY和高度PicHeightInCtbsY、以及图片内的水平、垂直方向的图块数NumTileColumns、NumTileRows来推导出。ColWidth、RowHeight、PicWidthInCtbsY、PicHeightInCtbsY的单位为CTU。报头解码部3020使用图片的像素单位的宽度pic_width_in_luma_samples、高度pic_eight_in_luma_samples以及从CTU尺寸的对数值中减去2得到的值log2_ctu_size_minus2通过下式来推导出。pic_width_in_luma_samples、pic_height_in_luma_samples、log2_ctu_size_minus2通过图11的(a)的sequence_parameter_set_rbsp()(称为SPS)进行通知(信号通知)。以下,″通知″某个信息的意思是,将某个信息包括在编码数据(比特流)中,在运动图像编码装置中对该信息进行编码,在运动图像解码装置中对该信息进行解码。
ctuWidth=ctuHeight=1<<(log2_ctu_size_minus2+2)
PicWidthInCtbsY=Ceil(pic_width_in_luma_samples/ctuWidth)
PicHeightInCtbsY=Ceil(pic_height_in_luma_samples/ctuHeight)
此处的除法(/)采用小数精度。
图片内的水平、垂直方向的图块数NumTileColumns、NumTileRows通过图11的(b)的PPS(pic_parameterset_rbsp())进行通知。例如,图块信息可以是single_tile_in_pic_flag、num_tile_columns_minus1、num_tile_rows_minus1、uniform_tile_spacing_flag、tile_column_width_minus1[i]、tile_row_height_minus1[i]。在此,single_tile_in_pic_flag是表示图片中是否存在多个图块的标志,若为1,则图片内的图块为一个,图片相当于图块。若为0,则在图片中包括多个图块。num_tile_columns_minus1、num_tile_rows_minus1分别为从图片内的水平、垂直方向的图块数NumTileColumns、NumTileRows分别减去1得到的值。uniform_spacing_flag是表示是否尽可能均等地将图片分割成图块的标志。
报头解码部3020通过以下公式推导出图片内的水平、垂直方向的图块数NumTileColumns、NumTileRows以及图片内的图块的总数NumTilesInPic。
NumTileColumns=num_tile_columns_minus1+1
NumTileRows=num_tile_rows_minus1+1
NumTilesInPic=NumTileColumns*NumTileRows
报头解码部3020可以通过以下公式推导出图块尺寸。
Figure BDA0003124648610000131
在uniform_spacing_flag的值为0的情况下,单独设定图片的各图块的宽度、高度。在运动图像编码装置中,按每个图块来对各图块的宽度ColWidth[m]、高度RowHeight[n]进行编码。运动图像解码装置的报头解码部3020按每个图块以如下方式对ColWidth[m]、RowHeight[n]进行解码。ColWidth[m]=tile_column_width_minus1[m]+1(0<=m<NumTileColumns-1)RowHeight[n]=tile_row_height_minus1[m]+1(0<=n<NumTileRows-1)ColWidth[NumTileColumns-1]=PicWidthInCtbsY-sum_m(ColWidth[m])RowHeight[NumTileRows-1]=PicHeightInCtbsY-sum_n(RowHeight[n])
在此,sum_m(ColWidth[m])表示ColWidth[m](0<=m<NumTileColumns-1)的总和,sum_n(RowHeight[n])表示RowHeight[m](0<=NumTileRows<N-1)的总和。
(S1200:图块组信息解码)报头解码部3020从编码数据对图块组报头(图块组信息)进行解码。
图12的(a)是表示编码图块组的图块组报头的语法。在图块组报头中,通知tile_group_pic_parameter_set_id、tile_group_address、num_tiles_in_tile_group_minus1、tile_group_type以及entry_point()。tile_group_pic_parameter_set_id表示包括该图块组的图片的图片参数集标识符pps_pic_parameter_set_id。tile_group_address表示图块组内的第一个图块的图块地址,是0~NumTilesInPic-1的范围的值。相同的图片中包括的图块组的tile_group_address是互不相同的值。num_tiles_in_tile_group_minus1+1表示图块组内的图块的个数。tile_group_type表示图块组的编码类型(I图块组、P图块组、B图块组)。entry_point()是入口点的语法,在图12的(b)中示出一个示例。
参数解码部302首先对tile_group_pic_parameter_set_id进行解码。接着,在图块组内的图块的个数NumTilesInPic大于1的情况下,对tile_group_address和num_tiles_in_tile_group_minus1进行解码。否则(NumTilesInPic==1),分别将tile_group_address和num_tiles_in_tile_group_minus1设为0。接着对tile_group_type进行解码。
在图块组中包括多个图块的情况下(num_tiles_in_tile_group_minus1>0),参数解码部302对offset_len_minus1和NumEntryPoint个入口点entry_point_offset_minus1[i]进行解码。在分段为图块的情况下,NumEntryPoint设定为num_tiles_in_tile_group_minus1。在图块组内的图块为一个的情况下(num_tiles_in_tile_group_minus1=0),参数解码部302不对入口点进行解码。
入口点为编码数据中的分段的起点地址(例如,将对象分段所属的图块组报头的编码数据上的开始点或现有的分段的开始点设为零点的字节单位的偏移位置),在分段为图块的情况下,为各图块的起点地址。entry_point_offset_minus1[i]+1可以是编码数据中的第i+1个入口点与第i个入口点的差分值。第0个入口点为图块组报头的起点地址(图块组报头开始点的位置,即零点),不进行通知。offset_len_minus1+1是表示entry_point_offset_minus1[i]的比特数。
当将对象分段所述的图块组报头的编码数据上的开始点设为零点的字节单位的偏移位置表现为firstByte[k],将分段末位的字节单位的偏移位置表现为lastByte[k]时,能根据entry_point_offset_minus1[i]以如下方式推导出。firstByte[k]=∑(entry_point_offset_minus1[n-1]+1)
∑表示n=1至k的和。
lastByte[k]=firstByte[k]+entry_point_offset_minus1[k]
以下,运动图像解码装置31通过对对象图片中包括的各CTU重复进行S1300到S5000的处理来推导出各CTU的解码图像。
(S1300:CTU信息解码)CT信息解码部3021从编码数据对CTU进行解码。CT(CodingTree)信息包括编码树的分割信息。
图12的(c)是编码图块组的图块组数据的语法的一个示例。在图块组数据中,对图块组的CTU数据coding_tree_unit()进行编码或解码,在分段末尾对固定值的分段末位比特end_of_tile_one_bit进行编码或解码。
CT信息解码部3021在分段为图块的情况下,通过图块末位(图块右下)的CTU对固定值的end_of_tile_one_bit进行解码,并对用于字节对齐的比特串byte_alignment()进行解码。需要说明的是,byte_alignment()的解码可以限于i小于num_tiles_in_tile_group_minus1的情况。就是说,在图块组中的末尾的分段(i==num_tiles_in_tile_group_minus1)中,之后要对字节对齐用的后缀数据进行解码,因此可以省略byte_alignment()的解码。
CT信息解码部3021对tileIdx设置tile_group_address。tileIdx是图块的标识符,tile_group_address是图块组内的第一个图块的图块地址。使用tileIdx对图块组的各图块进行识别,因此每当CT信息解码部3021对图块进行处理,都将tileIdx递增1。
CT信息解码部3021使用tileIdx和FirstCtbAddrTs[],通过以下公式推导出图块内的图块扫描顺序的CTU地址ctbAddrTs。图块扫描是指,在图块内从图块的左上向右下依次进行处理的扫描方法。
ctbAddrTs=FirstCtbAddrTs[tileIdx]
FirstCtbAddrTs[]是将tileIdx转换为图块的第一个CTU地址的表,以如下方式推导出。
Figure BDA0003124648610000161
在此,TileId[]是将图块扫描顺序的CTU地址转换成图块标识符的表。以下示出一个示例。
Figure BDA0003124648610000162
在此,RowBD[]和ColBD[]是储存各图块行的垂直方向的最大坐标和各图块列的水平方向的最大坐标的表,以CTU为单位表现。以下示出一个示例。
Figure BDA0003124648610000163
此外,CtbAddrRsToTs[]是将图片内的栅格扫描顺序的CTU地址转换成图块扫描顺序的CTU地址的表。以下示出一个示例。
Figure BDA0003124648610000171
CT信息解码部3021使用ctbAddrTs和CtbAddrTsToRs[],通过以下公式推导出栅格扫描顺序的CTU地址ctbAddrRs。
ctbAddrRs=CtbAddrTsToRs[ctbAddrTs]
CtbAddrTsToRs[]是将图块扫描顺序的CTU地址转换成栅格扫描顺序的CTU地址的表,以如下方式推导出。
for(ctbAddrRs=0;ctbAddrRs<PicSizeInCtbsY;ctbAddrRs++)
CtbAddrTsToRs[CtbAddrRsToTs[ctbAddrRs]]=ctbAddrRs
CT信息解码部3021按图块扫描顺序对图块内的各CTU进行解码,在对所有CTU解码结束后,对end_of_tile_one_bit进行解码。
(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更新信息(量化校正值)和量化预测误差(residual_coding)进行解码。需要说明的是,QP更新信息是与作为量化参数QP的预测值的量化参数预测值qPpred的差分值。
(S2000:预测图像生成)预测图像生成部308针对对象CU中包括的各块,基于预测信息生成预测图像。
(S3000:逆量化/逆变换部)逆量化/逆变换部311针对对象CU中包括的各TU,执行逆量化/逆变换部处理。
(S4000:解码图像生成)加法器312通过将由预测图像生成部308供给的预测图像与由逆量化/逆变换部311供给的预测误差相加来生成对象CU的解码图像。
(S5000:环路滤波)环路滤波器305对解码图像施加去块滤波、SAO、ALF等环路滤波,生成解码图像。
(变形例1)按每个图块组来变更图块尺寸的示例
在上述的示例中,在图片单位(PPS)规定了图块的宽度和高度,但在变形例1中,对按每个分割图片的图块组来灵活地设定图块尺寸的示例进行说明。
图13是将图片分割成四个图块组TileGr0~TileGr3,进而将图块组分割成图块的示例。与图6的图块分割不同,其特征为按每个图块组设定不同的图块的宽度和高度。图13中的Tile后的编号是图块组内的图块的地址(TileAddrInTG)。图13中的图块组TileGr0包括图块Tile0、Tile1、Tile2、Tile3。TileGr1包括Tile4、Tile5。TileGr2包括Tile6、Tile7、Tile8。TileGr3包括Tile9。
在图14中示出变形例1的语法的一个示例。如图14所示,语法例如可以是single_tile_group_in_pic_flag、num_tile_group_columns_minus1、num_tilerows_group_minus1、tile_group_column_width_minus1[i]、tile_group_row_height_minus1[i]。
在此,single_tile_group_in_pic_flag是表示图片中是否存在多个图块组的标志,若为1,则图片内的图块组为一个,图片相当于图块组。若为0,则在图片中包括多个图块组。num_tile_group_columns_minus1、num_tile_group_rows_minus1分别为从图片内的水平、垂直方向的图块组数NumTileGrColumns、NumTileGrRows分别减去1得到的值。
接着,按每个图块组通知图块的语法。例如,针对第j个图块组内的各图块,通知single_tile_in_pic_flag[j]、num_tile_columns_minus1[j]、num_tile_rows_minus1[j]、uniform_tile_spacing_flag[j]、tile_column_width_minus1[j][i]、tile_row_height_minus1[j][i]。各语法的的意思与图11的(b)的语法相同。
报头解码部3020通过以下方式推导出第j个图块组的宽度和高度(CTU单位)。
TileGrWidthInCtbsY[j]=Ceil((tile_group_column_width_minus1[j]+1)/ctuWidth)TileGrHeightInCtbsY[j]=Ceil((tile_group_height_in_luma_samples[j]+1)/ctuHeight)
报头解码部3020通过以下方式推导出图片内的水平、垂直方向的图块组数NumTileGrColumns、NumTileGrRows以及图片内的图块组的总数NumTileGrsInPic。
NumTileGrColumns=num_tile_group_columns_minus1+1
NumTileGrRows=num_tile_group_rows_minus1+1
NumTilesGrsInPic=NumTileGrColumns*NumTileGrRows
报头解码部3020通过以下方式推导出第j个图块组内的水平、垂直方向的图块数NumTileColumns[j]、NumTileRows[j]以及图块组内的图块的总数NumTilesInPic[j]。
NumTileColumns[j]=num_tile_columns_minus1[j]+1
NumTileRows[j]=num_tilerows_minus1[j]+1
NumTilesInPic[j]=NumTileColumns[j]*NumTileRows[j]
报头解码部3020以如下方式对第j个图块组的各图块的宽度ColWidth[j][m]、高度RowHeight[j][n]进行解码。
ColWidth[j][m]=tile_column_width_minus1[j][m]+1(0<=m<NumTileColumns[j]-1)
RowHeight[j][n]=tile_row_height_minus1[j][m]+1(0<=n<NumTileRows[j]-1)
ColWidth[j][NumTileColumns[j]-1]=TileGrWidthInCtbsY[j]-sum_m(ColWidth[j][m])
RowHeight[j][NumTileRows[j]-1]=TileGrHeightInCtbsY[j]-sum_n(RowHeight[j][n])
在此,sum_m(ColWidth[j][m])表示ColWidth[j][m](0<=m<NumTileColumns[j]-1)的总和,sum_n(RowHeight[j][n])表示RowHeight[j][m](0<=NumTileRows[j]<N-1)的总和。
在变形例1中,图块组报头、图块组数据的语法与图12的(a)和图12的(c)相同,但将图块扫描顺序的CTU地址转换成图块标识符的表TileId[]的推导方法不同。以下示出变形例1中的该表的推导方法。
Figure BDA0003124648610000211
除此以外的报头解码部3020的处理与通过上述的PPS规定图块的宽度和高度的示例相同。
如上所述,按每个图块组来对表示图块的宽度和高度的语法进行编码或解码,从而能使用按每个图块组而不同的尺寸的图块,能更灵活地进行图块分割。
(波前并行处理)
波前并行处理(WPP:Wavefront Pararrel Processing)通过将CTU行用作分段,在抑制编码效率的降低的同时,能实现大量分段的并行编码或并行解码。以下,在将CTU行用作分段的情况下,使用WPP。
(分段组内的排他构成)
图15表示以图块组(分段组)为单位使用不同种类的分段的示例。在该示例中示出了在TileGr0、TileGr1中将图块用作分段,在TileGr2中将CTU行用作分段,在TileGr3中将切片用作分段的示例。
在之后的实施方式中,其特征在于,在一个分段组内(图块组内),将分段的类别限制为一个,排他地处理图块、CTU行、切片。即,在一个图块组内(分段组),只能使图块分段(多个图块分段)、CTU行分段、切片分段中的任一个有效。例如,在一个图块组内中,只能使图块和CTU行中的任一方有效。在以上说明中,使图块有效的意思是,图块组由两个以上的图块构成的情况(将图块组分割成两个上的图块)。
(变形例2)分段可采用图块和CTU行的情况下的处理
在变形例2中,对分段为图块、CTU行(CTU row)中的任一个,以图块组为单位使用图块和CTU中的任一方的情况进行说明。
图16是对图块分段和CTU行分段的排他构成进行说明的图。
entropy_coding_sync_enabled_flag是表示是否将CTU行设为分段(是否实施WPP)的标志(WPP有效标志)。需要说明的是,在将CTU行设为分段的情况下,进行CABAC的同步处理。即,在CABAC中,使用一个上的CTU行的第二个CTU结束的时间点的CABAC状态来进行CTU行的起点CTU的CABAC初始化。如图16所示,在hum_tiles_in_tile_group_minus1大于0的情况,就是说图块为多个的情况下,entropy_coding_sync_enabled_flag仅取0。在该情况下,仅多个图块有效。在hum_tiles_in_tile_group_minus1为0的情况,就是说图块为一个的情况下,entropy_coding_sync_enabled_flag可以取1。在该情况下,仅多个CTU行(波前)有效。在末尾,在hum_tiles_in_tile_group_minus1为0且entropy_coding_sync_enabled_flag为0的情况下,是图块组内的图块为一个的情况。如后文所述,在该情况下,还可以使切片有效。
如上所述,通过构成,起到能在一个图块组中(分段组内)将图块和波前的入口点通用的效果。
此外,还起到能在某个图块组中使图块(多个图块)有效,在其他图块组中使波前有效的效果。
在变形例2中,要实现图块和波前的排他构成,因此在图块组内的图块的个数为1(图块组与图块相同,就是说在对象图块组中不使多个图块有效)的情况下,能通过通知entropy_coding_sync_enabled_flag标志,将CTU行用作分段,否则(图块组包括多个图块),将图块用作分段。因此,存在以下情况:如图5所示将图片分割成四个图块组的情况;各图块组如图8的(a)所示分割成多个图块的情况;如图8的(b)所示分割成多个CTU行的情况;以及图块组由一个图块构成的情况(图块组内的图块为一个的情况且不以CTU行进行分割的情况)。
为了并行地对图块组中包括的多个图块或多个CTU行进行编码或解码,图块或CTU行的起点地址(入口点)通过图块组报头进行编码或解码。
是使用图17,对具备图块和波前的排他构成的结构的报头编码部1110和报头解码部3020的动作进行说明的图。在图18的(a)中示出本实施方式的进行编码和解码的图块组报头的语法构成。
如图的流程图和语法构成所示,报头编码部1110或报头解码部3020在num_tiles_in_tile_group_minus1为0(在S3001中为是)的情况下,即在图块组内有一个图块的情况下,对entropy_coding_sync_enabled_flag进行编码或解码(S3002)。否则,将entropy_coding_sync_enabled_flag设为0(WPP关闭)。
Figure BDA0003124648610000231
图18的(b)是表示入口点的语法构成的图。图18的(b)中,TileGrHeightInCtbsY是图块组的CTU单位的高度,num_tiles_in_tile_group_minus1是从图块组的图块数减去1得到的值。
报头编码部1110或报头解码部3020推导出入口点的个数NumEntryPoint。在图块组中包括的分段使用WPP的情况(entropy_coding_sync_enabled_flag=1的情况)下,将图块组中包括的CTU行的个数-1(在此为TileGrHeightInCtbsY-1)设为NumEntryPoin。NumEntryPoint=TileGrHeightInCtbsY-1
除此以外,将图块组中包括的图块数-1(在此为num_tiles_in_tile_group_minus1)设为NumEntryPoint。NumEntryPoint=num_tiles_in_tile_group_minus1
报头编码部1110或报头解码部3020在NumEntryPoint大于0的情况下对入口点的信息(offset_len_minus1和NumEntryPoint个entry_point_offset_minus1)进行编码或解码。
图18的(c)是表示图块组数据的语法构成的图。coding_tree_unit()是CTU行中包括的CTU的编码数据。end_of_subset_one_bit是表示分段的末位的标志。
CT信息编码部1111或CT信息解码部3021在对图块组内的图块进行处理的环路处理(环路变量i)中,进而在与图块内的CTU有关的环路处理(环路变量j)中,对对象CTUcoding_tree_unit()进行编码或解码。
CT信息编码部1111或CT信息解码部3021使用ctbAddrTs和FirstCtbAddrTs[],通过以下公式推导出ctbAddrInTile。ctbAddrInTile是在图块内的现有CTU的地址,ctbAddrTs是现有CTU的图块扫描顺序的地址,FirstCtbAddrTs[]是图块组的第一个CTU的地址。ctbAddrInTile=ctbAddrTs-FirstCtbAddrTs[tile_group_address]
CT信息编码部1111或CT信息解码部3021在WPP开启的情况下,在CTU行的解码结束后对end_of_subset_one_bit进行编码或解码。end_of_subset_one_bit是插入CTU行的末尾的比特。通过以下公式判定是否是CTU行的末尾。entropy_coding_sync_enabled_flag&&(CtbAddrInTile+1)%TileWidthInCtbsY==0
就是说,CT信息解码部3021在(entropy_coding_sync_enabled_flag&&(CtbAddrInTile+1)%TileWidthInCtbsY==0)的情况,即,entropy_coding_sync_enabled_flag为1的情况下,在CTU行右端,在CTU解码后对固定值的end_of_subset_one_bit进行解码。此外,在对对象CTU coding_tree_unit()进行编码或解码前,在对象CTU为CTU行的起点(左端)的情况下,通过对表示分段(在此为CTU行)的末尾的比特串进行解码,也能进行相同的处理。
CT信息编码部1111或CT信息解码部3021在j==NumCtusInTile[tileIdx]-1的情况下,即,在图块组内的末尾的CTU,对固定值的end_of_subset_one_bit进行编码或解码。
而且,除了图块组的末尾的分段以外(除了紧后对后缀数据进行编码的情况以外),CT信息编码部1111或CT信息解码部3021在end_of_subset_one_bit之后对字节对齐的比特串进行解码。需要说明的是,j<NumCtusInTile[tileIdx]-1是分段内的末尾的CTU以外,i<num_tiles_in_tile_group_minus1是末尾的分段以外,通过两者的并集,能判定图块组的末尾的分段以外的CTU。
图25是表示图块和波前的排他构成中的图块组数据的其他语法构成的图。图块组报头和入口点的构成与图18的(a)、(b)相同。在图25中,除了作为在分段的末尾通知的固定值的分段末位比特表示WPP的末位的end_of_subset_one_bit以外,还包括表示图块的末位的end_of_tile_one_bit。图26是表示CT信息解码部3021对图25的语法进行解码的动作的流程图。
设定图块的标识符(S2602)。
按图块组内的每个图块(环路变量i)实施S2604~S2624的处理。需要说明的是,在WPP开启的情况下,图块组由一个图块构成,图块组与图块相等。如上所述,即使是在图块组由一个图块构成的情况下能使用WPP开启的构成,也可以是在WPP开启的情况采用一个图块的构成。
设定图块组的起点CTU地址(S2604)。
ctbAddrInTile=ctbAddrTs-FirstCtbAddrTs[tile_group_address]
在与图块内的CTU有关的环路处理(环路变量j)中,设定图块内的CTU地址(S2606),对对象CTU进行解码(S2608)。
例如通过以下公式判定WPP是否开启且是否为CTU行的末尾的CTU(S2610)。
entropy_coding_sync_enabled_flag&&((CtbAddrInTile+1)%TileWidthInCtbsY)==0
在WPP开启且为CTU行的末尾的CTU的情况下,进入S2612。否则,进入下一CTU解码处理。
对end_of_subset_one_bit进行解码(S2610)。end_of_subset_one_bit是插入CTU行的末尾的比特。
例如通过以下公式判定是否为图块组内的末尾的CTU(S2614)。
j<NumCtusInTile[tileIdx]-1
在为图块组的末尾的CTU的情况下,进入下一CTU解码处理。否则,对字节对齐用的比特串进行解码(S2616)。
重复S2604~S2616的处理,直到图块内的所有CTU的处理结束。
判定WPP是否关闭(S2618)。在WPP不关闭的情况下,结束处理。在WPP开启的情况下,进入S2620。
对end_of_tile_one_bit进行解码。end_of_tile_one_bit是插入图块的末尾的比特(S2620)。
判定是否为图块组的末尾的图块(S2622)。在为图块组的末尾的图块的情况下,结束处理。否则,对字节对齐的比特串进行解码(S2624)。
重复以上处理,直到图块组内的所有图块的处理结束。
需要说明的是,在CT信息编码部1111中,实施将图26中的″解码″置换成″编码″的处理。
在上述的处理中,在使用WPP的情况(entropy_coding_sync_enabled_flag==1的情况)下,在各CTU行的末尾插入表示分段末位的比特和字节对齐,但在相当于图块组的末尾的末尾的CTU行(j==NumCtusInTile[tileIdx]-1)中省略字节对齐。在WPP时,图块组由CTU行构成,因此图块组的末尾=CTU行的末尾。在不使用WPP的情况(entropy_coding_sync_enabled_flag==0的情况)下,在图块的末尾插入表示分段末位的比特和字节对齐,但在图块组的末尾(i==num_tiles_in_tile_group_minus1)中省略字节对齐。这是因为如已经在图4的(c)中进行说明过的那样,避免在图块组数据后包括字节对齐用的后缀数据(rbsp_tile_group_trailing_bits)的构成中与在后缀数据插入的字节对齐重复。在不在后缀数据进行字节对齐的构成中,即使是图块组的末位,也可以在图块组的数据中插入字节对齐。
在图25、图26中,通过对在波前中插入CTU行的末尾的比特(end_of_subset_one_bit)和在图块中插入图块的末尾的比特(end_of_tile_one_bit)进行区别,能明确区别波前和图块。
如上所述,通过以图块组为单位使用图块和CTU行中的任一方,能排他地在一个图块组中执行具有并行处理功能的多个处理,因此编码效率良好。此外,关于图块和CTU行,能通用入口点,入口点按每个图块组指向图块的起点地址和CTU行的起点地址中的哪一个是已知的,因此处理简单。
图19是本实施方式的进行编码和解码的图块组报头的语法构成的其他示例。如图19所示,可以先对entropy_coding_sync_enabled_flag进行编码、解码,在entropy_coding_sync_enabled_flag为0,即WPP关闭的情况下,通知num_tiles_in_tile groupminus1。在该情况下,报头编码部1110和报头解码部3020对entropy_coding_sync_enabled_flag进行编码或解码,在NumTilesInPic大于1且entropy_coding_sync_enabled_flag为0的情况下对num tiles_in_tile_group_minus1进行编码或解码。否则(NumTilesInPic为1以下,或者entropy_coding_sync_enabled_flag为1),报头编码部1110和报头解码部3020将num_tiles_in_tile_group_minus1设为0。
(变形例3)分段可采用图块和切片的情况下的处理
在变形例3中,对作为图块组内的分段,排他地使用图块、切片中的任一方的情况进行说明。
图20是对图块分段和切片分段的排他构成进行说明的图。
slice_enabled_flag是表示是否将切片设为分段(是否使用切片)的标志。需要说明的是,在切片起点对CABAC进行初始化。如图20所示,在num_tiles_in_tile_group_minus1大于0的情况,就是说图块为多个的情况下,slice_enabled_flag仅取0。在该情况下,仅多个图块有效。在num_tiles_in_tile_group_minus1为0的情况,就是说图块为一个的情况下,slice_enabled_flag可以取1。在该情况下,仅切片有效。在末尾num_tiles_in_tile_group_minus1为0且entropy_coding_sync_enabled_flag为0的情况下,为图块组内的图块为一个的情况。该情况下,可以将WPP设为有效。
在变形例3中,在图块组内的图块的个数为1(图块组与图块相同)的情况下能将切片用作分段,否则(图块组包括多个图块),在分段中使用图块。例如,存在以下情况:如图5所示将图片分割成四个图块组的情况;各图块组如图8的(a)所示分割成多个图块的情况;如图8的(c)所示分割成多个切片的情况。此外,可以是分割成一个图块的情况。就是说,在图块组内的图块为一个的情况且不在CTU行进行分割的情况下,图块组包括一个图块。
在切片中,在CTU的编码数据的末尾,通知表示是否为分段的末尾的切片末位标志end_of_slice_segment_flag,由此能在CTU单位的任意位置结束分段。将能在这种CTU单位中改变大小的分段称为切片分段。例如在希望在所指定的比特量以内设置分段的分割的情况下使用切片。而且,可以采用以切片的并行解码为目的,在切片的起点插入标记(独特代码、起始代码:start code)的构成。通过使用标记,运动图像解码装置能检索在各切片的比特流上的起点位置并鉴定位置。需要说明的是,在切片的起点插入标记的构成中,可以是每当插入切片时(就是说,在end_of_slice_segment_flag为1的情况下),结束图块组的构成。在该构成中,在图块组中包括一个切片,因此始终将图块组报头附加于切片的起点,起到标记的作用。
在通过标记对切片起点进行编码或解码的情况下,在切片的前面插入独特代码,例如″0x00000100″(32bit),运动图像解码装置可以通过预先对编码数据进行解码,探索编码数据中的切片起点。
为了对图块、切片进行并行处理,图块的起点地址(入口点)可以通过图块组报头进行通知。在图21的(a)中示出图块组报头的一个示例。在图21中,通知slice_enabled_flag。slice_enabled_flag是表示是否进行切片分割的标志。
报头编码部1110和报头解码部3020在num_tiles_in_tile_group_minus1为0的情况,即在图块组内中具有一个图块的情况下,对slice_enabled_flag和num_slices_in_tile_minus1进行编码或解码。否则,将slice_enabled_flag设为0(切片关闭)。
需要说明的是,可以是不通过图块组报头通知num_slices_in_tile_minus1的构成。
图块数num_tiles_in_tile_group_minus1、切片有效标志slice_enabled_flag的编码、解码顺序并不限于上述。可以以如下方式进行处理。
(切片、图块)
在按切片有效标志slice_enabled_flag、图块数num_tiles_in_tile_group_minus1的顺序进行通知的情况下,进行以下的处理。报头编码部1110和报头解码部3020通过图块组报头对slice_enabled_flag进行编码或解码。在slice_enabled_flag为0的情况下对num_tiles_in_tile_group_minus1进行编码或解码。在不对num_tiles_in_tile_group_minus1、slice_enabled_flag进行解码的情况下,分别设定为0。
报头编码部1110和报头解码部3020推导出NumEntryPoint。NumEntryPoint是入口点的个数,在使用图块的情况下,设置num_tiles_in_tile_group_minus1。报头编码部1110和报头解码部3020在NumEntryPoint大于0的情况下对入口点的信息(offset_len_minus1和NumEntryPoint个entry_point_offset_minus1)进行编码或解码
CT信息解码部3021在切片开启的情况下,在1CTU的解码结束后对end_of_slice_segment_flag进行解码。end_of_slice_segment_flag是插入CTU行的末尾的比特。
图21的(c)是编码图块组的图块组数据的语法的一个示例。图21的(c)表示在1CTU的解码结束后对end_of_slice_segment_flag进行编码或解码的构成。end_of_slice_segment_flag是表示是否为切片的末尾的标志,若为1,则是切片的末尾,否则,不是切片的末尾。
如上所述,通过以图块组为单位使用图块和切片中的任一方,能排他地在一个图块组中执行具有并行处理功能的多个处理,效率良好。
(变形例4)在切片使用入口点的情况下的处理
在以下示例中,示出了将切片的起点地址作为入口点来进行编码或解码由此指定在比特流上的切片的起点位置的构成。
为了对图块、切片进行并行处理,图块和切片的起点地址(入口点)通过图块组报头进行通知。在图21的(a)中示出的图块组报头的一个示例中,可以在slice_enabled_flag之后通知num_slices_in_tile_minus1。num_slices_in_tile_minus1是从图块内的切片的个数减去1得到的值。
此外,将入口点的语法在图21的(b)中示出。图21的(c)表示在NumEntryPoint的推导中使用slice_enabled_flag和num_slices_in_tile_minus1的构成。
报头解码部3020在num_tiles_in_tile_group_minus1为0的情况,即在图块组内具有一个图块的情况下,对slice_enabled_flag和num_slices_in_tile_minus1进行解码。否则,将slice_enabled_flag设为0(切片关闭)。
报头解码部3020推导出NumEntryPoint。NumEntryPoint是入口点的个数,在使用切片的情况下设置num_slices_in_tile_minus1,在使用图块的情况下设置num_tiles_in_tile_group_minus1。报头解码部3020在NumEntryPoint大于0的情况下对入口点的信息(offset_len_minus1和NumEntryPoint个entry_point_offset_minus1)进行解码。
除了上述以外的处理与变形例2相同。
接着,对图块组数据进行说明。
图21的(c)是编码图块组的图块组数据的语法的一个示例。图21的(c)表示在1CTU的解码结束后对end_of_slice_segment_flag进行编码或解码的构成。end_of_slice_segment_flag是表示是否为切片的末尾的标志(比特),若为1,则是切片的末尾,否则,不是切片的末尾。
CT信息解码部3021在切片开启的情况下,在1CTU的解码结束后对end_of_slice_segment_flag进行解码。
如上所述,通过以图块组为单位使用图块和切片中的任一方,能排他地在一个图块组中执行具有并行处理功能的多个处理,效率良好。此外,关于图块和切片,能通用入口点,入口点按每个图块组指向图块的起点地址和切片的起点地址中的哪一个是已知的,因此处理简单。或者可以不使用入口点,而通过唯一的标记来通知切片的起点。
(变形例5)使用图块、CTU行、切片的分段
在变形例5中,对排他地设定图块、CTU行、切片的示例进行说明。图22是对图块分段、CTU行分段以及切片分段的排他构成进行说明的图。如图22所示,在变形例5中,采用以下任一情况:在图块组内具有多个图块分段的情况;具有CTU行分段的情况;具有切片分段的情况;以及在图块组内具有单个分段(在此称为图块)的情况。
更具体而言,可以是在图块组内包括多个图块时使用图块,在图块组由一个图块构成时使用CTU行或切片的构成。在图块组由一个图块构成,不使用CTU行也不使用切片的情况下,图块组设定为一个图块。
(按图块数、WPP有效标志、切片有效标志的顺序进行通知的构成)
图23的(a)是图块组报头的一个示例。在图23的(a)中,在图块的个数为1的情况下,通知entropy_coding_sync_enabled_flag,在entropy_coding_sync_enabled_flag为0(WPP关闭)的情况下,对slice_enabled_flag进行编码或解码。
报头编码部1110和报头解码部3020在Bum_tiles_in_tile_group_minus1为0的情况下对entropy_coding_sync_enabled_flag进行编码或解码。接着,在entropy_coding_sync_enabled_flag为0的情况下对slice_enabled_flag进行编码或解码。在num_tiles_in_tile_group_minus1不为0的情况下,将entropy_coding_sync_enabled_flag和slice_enabled_flag设定为0。在num_tiles_in_tile_group_minus1为0且entropy_coding_sync_enabled_flag为0以外的情况下,将slice_enabled_flag设定为0。
除此以外的处理与分段仅为图块的示例相同。
图23的(b)是编码图块组的图块组数据的语法的一个示例。如图23的(b)所示,在本实施方式中,在分段为图块的情况和为CTU行(波前)的情况下,在分段的末尾必须对为1的end_of_subset_one_bit进行编码或解码,在分段为切片的情况下,对可以取表示CTU是否为分段的末位的0和1的end_of_slice_segment_flag进行编码或解码。对end_of_subset_one_bit进行编码或解码的方法已经在图18的(c)中进行了说明,因此省略说明。此外,对end_of_slice_segment_flag进行编码或解码的方法已经在图21的(c)中进行了说明,因此省略说明。
如上所述,通过以图块组为单位排他地使用图块、CTU行、切片,能简化分段的编码解码处理。此外,起到使分段的起点和末位明确的效果。例如,不存在既存在切片起点,又存在图块的起点,还存在CTU行的起点这种混乱。
图块数num_tiles_in_tile_group_minus1、WPP有效标志entropy_coding_sync_enabled_flag、切片有效标志slice_enabled_flag的编码、解码顺序并不限于上述。可以以如下方式进行处理。
(图块、切片、WPP)
在按num_tiles_in_tile_group_minus1、slice_enabled_flag、entropy_coding_sync_enabled_flag的顺序进行通知的情况下,进行以下的处理。报头编码部1110和报头解码部3020对num_tiles_in_tile_group_minus1进行编码或解码。在num_tiles_in_tile_group_minus1为0的情况下对slice_enabled_flag进行编码或解码。接着,在slice_enabled_flag为0的情况下对entropy_coding_sync_enabled_flag进行编码或解码。在不对num_tiles_in_tile_group_minus1、entropy_coding_sync_enabled_flag、slice_enabled_flag进行解码的情况下,分别设定为0。
(WPP、图块、切片)
在按entropy_coding_sync_enabled_flag、num_tiles_in_tile_group_minus1、slice_enabled_flag的顺序进行通知的情况下,进行以下的处理。报头编码部1110和报头解码部3020通过图块组报头对entropy_coding_sync_enabled_flag进行编码或解码。在entropy_coding_sync_enabled_flag为0的情况下对num_tiles_in_tile_group_minus1进行编码或解码。接着,在num_tiles_in_tile_group_minus1为0的情况下,对slice_enabled_flag进行编码或解码。在不对num_tiles_in_tile_group_minus1、entropy_coding_sync_enabled_flag、slice_enabled_flag进行解码的情况下,分别设定为0。
(WPP、切片、图块)
在按entropy_coding_sync_enabled_flag、slice_enabled_flag、num_tiles_in_tile_group_minus1的顺序进行通知的情况下,进行以下的处理。报头编码部1110和报头解码部3020通过图块组报头对entropy_coding_sync_enabled_flag进行编码或解码。在entropy_coding_sync_enabled_flag为0的情况下对slice_enabled_flag进行编码或解码。接着,在slice_enabled_flag为0的情况下对num_tiles_in_tile_group_minus1进行编码或解码。在不对num_tiles_in_tile_group_minus1、entropy_coding_sync_enabled_flag、slice_enabled_flag进行解码的情况下,分别设定为0。
(切片、图块、WPP)
在按slice_enabled_flag、num_tiles_in_tile_group_minus1、entropy_coding_sync_enabled_flag的顺序进行通知的情况下,进行以下的处理。报头编码部1110和报头解码部3020通过图块组报头对slice_enabled_flag进行编码或解码。在slice_enabled_flag为0的情况下对num_tiles_in_tile_group_minus1进行编码或解码。接着,在num_tiles_in_tile_group_minus1为0的情况下对entropy_coding_sync_enabled_flag进行编码或解码。在不对num_tiles_in_tile_group_minus1、entropy_coding_sync_enabled_flag、slice_enabled_flag进行解码的情况下,分别设定为0。
(切片、WPP、图块)
在按slice_enabled_flag、entropy_coding_sync_enabled_flag、num_tiles_in_tile_group_minus1的顺序进行通知的情况下,进行以下的处理。报头编码部1110和报头解码部3020通过图块组报头对slice_enabled_flag进行编码或解码。在slice_enabled_flag为0的情况下对entropy_coding_sync_enabled_flag进行编码或解码。接着,在entropy_coding_sync_enabled_flag为0的情况下对num_tiles_in_tile_group_minus1进行编码或解码。在不对num_tiles_in_tile_group_minus1、entropy_coding_sync_enabled_flag、slice_enabled_flag进行解码的情况下,分别设定为0。
熵解码部301将帧间预测参数输出至帧间预测参数解码部303。此外,将帧内预测参数输出至帧内预测参数解码部304。此外,将量化变换系数输出至逆量化/逆变换部311。
熵解码部301具备CABAC初始化部3011、CABAC解码部3012、初始化表3013以及空间预测储存部3015(包括空间预测表3016)。空间预测储存部3015在内部的空间预测表3016中储存CABAC状态。所储存的CABAC状态供在对象图片的后续的分段等对象分段以外的分段的解码时参照并用于CABAC状态的初始化。CABAC解码部3012根据在内部所具备的CABAC状态从编码数据(比特流)对语法进行解码。
熵解码部301在分段起点使用CABAC初始化部3011来对CABAC状态进行初始化。CABAC状态是指,例如,表示上下文单位的概率的状态的StateIdx、表示0和1哪个是高概率的MpsVal、系数StatCoeff等。上下文按构成语法的二进制串(由0和1构成的串)的要素来确定。CABAC(Context-adaptive binary arithmetic coding:上下文自适应二进制算术编码)是指,根据上下文推定编码为0或1的概率,并基于该概率来对二进制进行编码,由此能高效地进行编码。此时,需要设定概率StateIdx的初始值(和高概率的二进制Mps),将其称为CABAC初始化。TableStateIdx、TableMpsVal、TableStatCoeff是由StateIdx、MpsVal、StatCoeff构成的表。
上述CABAC初始化部3011在分段为图块的情况下,将矩形的图块的左上CTU作为解码开始时间点(图块的边界时间点),使用初始化表来进行CABAC状态的初始化。在分段为CTU行的情况(entropy_coding_sync_enabled_flag为1,WPP的情况)下,在CTU行的左端,使用储存于空间预测储存部3015的CABAC状态来进行初始化。在WPP的情况下,将各CTU行的第二个CTU的CABAC状态储存于空间预测储存部3015,在后续的分段中使用。在分段为切片的情况(slice_enabled_flag为1)下,可以使用初始化表来进行CABAC状态的初始化。在此,图块边界的判定可以使用邻接的CTU的图块的标识符是否不同(TileId[CtbAddrTs]!=TileId[CtbAddrTs-1])。在此,CTU行的左端的判定可以是(CtbAddrInTile%TileWidthInCtbsY==0)。此外,切片起点的判定可以是CTU地址CtbAddrRs是否与切片起点的CTU地址一致(CtbAddrRs==slice_segment_address)。
环路滤波器305是设于编码环路内的滤波器,是去除块失真、振铃失真来改善画质的滤波器。环路滤波器305对加法部312所生成的CU的解码图像实施去块滤波、取样自适应偏移(SAO)、自适应环路滤波(ALF)等滤波。
参照图片存储器306将加法部312所生成的CU解码图像按每个对象图片和对象CU存储于预定的位置。
预测参数存储器307将预测参数按每个解码对象的CTU或CU存储于预定的位置。具体而言,预测参数存储器307存储由参数解码部302解码后的参数和由熵解码部301分离后的预测模式predMode等。
预测图像生成部308被输入预测模式predMode、预测参数等。此外,预测图像生成部308从参照图片存储器306中读出参照图片。预测图像生成部308在预测模式predMode所指示的预测模式下,使用预测参数和读出的参照图片(参照图片块)来生成块或子块的预测图像。在此,参照图片块是指参照图片上的像素的集合(通常为矩形因此称为块),是为了生成预测图像而参照的区域。
逆量化/逆变换部311将从熵解码部301输入的量化变换系数逆量化来求出变换系数。该量化变换系数是在编码处理中对预测误差进行DCT(Discrete Cosine Transform:离散余弦变换)等频率变换并进行量化而得到的系数。逆量化/逆变换部311对求出的变换系数进行逆DCT等逆频率变换,计算预测误差。逆量化/逆变换部311将预测误差输出至加法部312。
加法部312将从预测图像生成部308输入的块的预测图像与从逆量化/逆变换部311输入的预测误差按每个像素相加,生成块的解码图像。加法部312将块的解码图像存储于参照图片存储器306,并向环路滤波器305输出。
(运动图像编码装置的构成)
接着,对本实施方式的运动图像编码装置11的构成进行说明。图24是表示本实施方式的运动图像编码装置11的构成的框图。运动图像编码装置11构成为包括:预测图像生成部101、减法部102、变换/量化部103、逆量化/逆变换部105、加法部106、环路滤波器107、预测参数存储器109、编码参数确定部110、参数编码部111以及熵编码部104。
预测图像生成部101按将每个图像T的各图片分割而成的区域即CU生成预测图像。预测图像生成部101是与已说明的预测图像生成部308相同的动作。
减法部102从图像T的像素值中减去从预测图像生成部101输入的块的预测图像的像素值,生成预测误差。减法部102将预测误差输出至变换/量化部103。
变换/量化部103对从减法部102输入的预测误差,通过频率变换计算出变换系数,并通过量化推导出量化变换系数。变换/量化部103将量化变换系数输出至熵编码部104和逆量化/逆变换部105。
逆量化/逆变换部105与运动图像解码装置31中的逆量化/逆变换部311(图9)相同。计算出的预测误差输入至加法部106。
参数编码部111具备:报头编码部1110、CT信息编码部1111、CU编码部1112(预测模式编码部)、熵编码部104、以及未图示的帧间预测参数编码部112和帧内预测参数编码部113。CU编码部1112还具备TU编码部1114。
以下,对各模块的概略动作进行说明。参数编码部111进行报头信息、分割信息、预测信息、量化变换系数等参数的编码处理。
CT信息编码部1111对QT、MT(BT、TT)分割信息等进行编码。
CU编码部1112对CU信息、预测信息、TU分割标志、CU残差标志等进行编码。
TU编码部1114在TU中包括预测误差的情况下,对QP更新信息(量化校正值)和量化预测误差(residual_coding)进行编码。
熵编码部104将从供给方供给的语法要素转换成二进制数据,通过CABAC等熵编码方式生成编码数据并输出。在图24中示出的示例中,语法要素的供给方是CT信息编码部1111、CU编码部1112。
加法部106将从预测图像生成部101输入的块预测图像的像素值和从逆量化/逆变换部105输入的预测误差按每个像素相加来生成解码图像。加法部106将生成的解码图像存储于参照图片存储器109。
环路滤波器107对加法部106所生成的解码图像,实施去块滤波、SAO、ALF。需要说明的是,环路滤波器107不一定必须包括上述3种滤波器。
预测参数存储器108将编码参数确定部110所生成的预测参数按每个对象图片和CU存储于预定的位置。
参照图片存储器109将环路滤波器107所生成的解码图像按每个对象图片和CU每存储于预定的位置。
编码参数确定部110选择编码参数的多个集合中的一个集合。编码参数是指上述的QT、BT或TT分割信息、预测参数或与它们关联生成的作为编码对象的参数。预测图像生成部101使用这些编码参数来生成预测图像。
编码参数确定部110对多个集合中的每一个计算表示信息量的大小和编码误差的RD成本值,并选择成本值最小的编码参数的集合。由此,熵编码部104将所选出的编码参数的集合作为编码流Te输出。编码参数确定部110将所确定的编码参数存储于预测参数存储器108。
需要说明的是,可以通过计算机实现上述的实施方式中的运动图像编码装置11、运动图像解码装置31中的一部分,例如,熵解码部301、参数解码部302、环路滤波器305、预测图像生成部308、逆量化/逆变换部311、加法部312、预测图像生成部101、减法部102、变换/量化部103、熵编码部104、逆量化/逆变换部105、环路滤波器107、编码参数确定部110以及参数编码部111。在该情况下,可以通过将用于实现该控制功能的程序记录于计算机可读记录介质,使计算机系统读入记录于该记录介质的程序并执行来实现。需要说明的是,在此提到的″计算机系统″是指内置于运动图像编码装置11、运动图像解码装置31中的任一个的计算机系统,采用包括OS、外围设备等硬件的计算机系统。此外,″计算机可读记录介质″是指软盘、磁光盘、ROM、CD-ROM等可移动介质、内置于计算机系统的硬盘等存储装置。而且,″计算机可读记录介质″也可以包括:像经由互联网等网络或电话线路等通信线路来发送程序的情况下的通信线那样短时间内、动态地保存程序的记录介质;以及像作为该情况下的服务器、客户端的计算机系统内部的易失性存储器那样保存程序固定时间的记录介质。此外,上述程序可以是用于实现上述功能的一部分的程序,也可以是能通过与已记录在计算机系统中的程序进行组合来实现上述功能的程序。
此外,也可以将上述的实施方式中的运动图像编码装置11、运动图像解码装置31中的一部分或全部作为LSI(Large Scale Integration:大规模集成电路)等集成电路而实现。运动图像编码装置11、运动图像解码装置31的各功能块可以单独地处理器化,也可以将一部分或全部集成来处理器化。此外,集成电路化的方法并不限于LSI,也可以通过专用电路或通用处理器来实现。此外,在随着半导体技术的进步而出现代替LSI的集成电路化的技术的情况下,也可以使用基于该技术的集成电路。
以上,参照附图对该发明的一实施方式详细地进行了说明,但具体构成并不限于上述实施方式,在不脱离该发明的主旨的范围内,可以进行各种设计变更等。
本发明的一个方案的运动图像解码装置是一种对将图片分割成一个以上矩形区域且由一个以上分段构成的图块组的编码数据进行解码的运动图像解码装置,其特征在于,具备报头解码部,所述报头解码部从图块组报头对表示对象图块组内的分段是矩形的图块、1CTU高的CTU行、CTU单位的切片中的哪一个的对象图块组内的图块数、WPP有效标志、切片有效标志进行解码,上述报头解码部在一个图块组内,仅对图块数为两个以上、WPP有效标志为1、切片有效标志为1中的任一个进行解码。
在本发明的一个方案的运动图像解码装置中,其特征在于,上述报头解码部在对象图块组的图块数为1的情况下对WPP有效标志进行解码,在上述对象图块组的图块数为2以上的情况下,不对WPP有效标志进行解码而设定为0,CT信息解码部在WPP有效标志为1的情况下,在对CTU行右端的CTU进行解码后对固定值的分段末位比特进行解码。
在本发明的一个方案的运动图像解码装置中,其特征在于,上述报头解码部在对象图块组的图块数为1的情况下对WPP有效标志进行解码,在上述对象图块组的图块数为2以上的情况下,不对WPP有效标志进行解码而设定为0,CT信息解码部在WPP有效标志为1的情况下,在对CTU行右端的CTU进行解码后对固定值的第一分段末位比特进行解码,在WPP有效标志为0的情况下,在对图块右下方的CTU进行解码后对固定值的第二分段末位比特进行解码,第一分段末位比特与第二分段末位比特不同。
在本发明的一个方案的运动图像解码装置中,其特征在于,上述报头解码部在对象图块组的WPP有效标志为0的情况下对图块数进行解码,在上述对象图块组的WPP有效标志为1的情况下不对图块数进行解码而将图块数设定为1,CT信息解码部在WPP有效标志为1的情况下,在对CTU行右端的CTU进行解码后对固定值的分段末位比特进行解码。
在本发明的一个方案的运动图像解码装置中,其特征在于,上述报头解码部在对象图块组的WPP有效标志为0的情况下对图块数进行解码,在上述对象图块组的WPP有效标志为1的情况下不对图块数进行解码而设定为1,CT信息解码部在WPP有效标志为1的情况下,在对CTU行右端的CTU进行解码后对固定值的第一分段末位比特进行解码,在WPP有效标志为0的情况下,在对图块右下方的CTU进行解码后对固定值的第二分段末位比特进行解码,第一分段末位比特与第二分段末位比特不同。
在本发明的一个方案的运动图像解码装置中,其特征在于,上述报头解码部在对象图块组的图块数为1的情况下对切片有效标志进行解码,在上述对象图块组的图块数为2以上的情况下,不对切片有效标志进行解码而设定为0,CT信息解码部在切片有效标志为1的情况下在CTU解码后对切片末位标志进行解码。
在本发明的一个方案的运动图像解码装置中,其特征在于,上述报头解码部在对象图块组的切片有效标志为0的情况下对图块数进行解码,在上述对象图块组的切片末位标志为1的情况下,不对图块数进行解码而设定为1,CT信息解码部在切片有效标志为1的情况下,在CTU解码后对切片末位标志进行解码。
在本发明的一个方案的运动图像解码装置中,其特征在于,上述报头解码部在对象图块组的图块数为1的情况下对WPP有效标志进行解码,在上述对象图块组的图块数为2以上的情况下,不对WPP有效标志进行解码而设定为0,进而在上述WPP有效标志为0的情况下,对切片有效标志进行解码,在WPP有效标志为1的情况下,不对切片末位标志进行解码而设定为0,CT信息解码部在切片有效标志为1的情况下,在CTU解码后对切片末位标志进行解码。
在本发明的一个方案的运动图像解码装置中,其特征在于,上述报头解码部在对象图块组的WPP有效标志为0的情况下对图块数进行解码,在上述对象图块组的WPP有效标志为1的情况下不对图块数进行解码而设定为1,进而在上述图块数为1的情况对切片有效标志进行解码,在图块数为2以上的情况下,不对切片有效标志进行解码而设定为0,CT信息解码部在切片有效标志为1的情况下,在CTU解码后对切片结束标志进行解码。
〔应用例〕
上述运动图像编码装置11和运动图像解码装置31可以搭载于进行运动图像的发送、接收、记录、再现的各种装置而利用。需要说明的是,运动图像可以是通过摄像机等拍摄的自然运动图像,也可以是通过计算机等生成的人工运动图像(包括CG和GUI)。
首先,参照图2对能将上述的运动图像编码装置11和运动图像解码装置31用于运动图像的发送和接收的情况进行说明。
图2的(a)是表示搭载有运动图像编码装置11的发送装置PROD_A的构成的框图。如图2的(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。在图2的(a)中举例示出了发送装置PROD_A具备全部这些的构成,但也可以省略一部分。
需要说明的是,记录介质PROD_A5可以是记录有未被编码的运动图像的介质,也可以是记录有以与传输用的编码方式不同的记录用的编码方式进行编码后的运动图像的介质。在后者的情况下,使按照记录用的编码方式对从记录介质PROD_A5读出的编码数据进行解码的解码部(未图示)介于记录介质PROD_A5与编码部PROD_A1之间为好。
图2的(b)是表示搭载有运动图像解码装置31的接收装置PROD_B的构成的框图。如图2的(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。在图2的(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这两方的功能。
接着,参照图3,对能将上述的运动图像编码装置11和运动图像解码装置31用于运动图像的记录和再现的情况进行说明。
图3的(a)是表示搭载有上述的运动图像编码装置11的记录装置PROD_C的构成的框图。如图3的(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。在图3的(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的一个示例。
图3的(B)是表示搭载有上述的运动图像解码装置31的再现装置PROD_D的构成的框图。如图3的(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。在图3的(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 ProcessingUnit:中央处理器)而以软件方式地实现。
在后者的情况下,上述各装置具备:执行实现各功能的程序的命令的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:数字生活网络联盟,注册商标)、便携电话网、卫星线路、地面数字广播网等无线中都可利用。需要说明的是,本发明的实施方式即使以通过电子传输来将上述程序代码具体化的嵌入载波的计算机数据信号的形态也能够实现。
本发明的实施方式并不限定于上述的实施方式,能在权利要求所示的范围内进行各种变更。即,将在权利要求所示的范围内经过适当变更的技术方案组合而得到的实施方式也包括在本发明的技术范围内。
工业上的可利用性
本发明的实施方式能优选地应用于对将图像数据编码而得到的编码数据进行解码的运动图像解码装置,以及生成将图像数据编码而得到的编码数据的运动图像编码装置。此外,能优选地应用于由运动图像编码装置生成并被运动图像解码装置参照的编码数据的数据结构。
(关联申请的相互参照)
本申请对于2018年12月21日提出申请的美国专利申请:62/783,640主张优先权的利益,并通过对其进行参照而将其全部内容包括到本说明书中。
附图标记说明
11 运动图像编码装置
31 运动图像解码装置
101、308 预测图像生成部
104 熵编码部(编码部)
107、305 环路滤波器
111 参数编码部
301 熵解码部
302 参数解码部(分割部)
3020 报头解码部
3021 CT信息解码部
3022 CU解码部
104 熵编码部
1110 报头编码部
1111 CT信息编码部
1112 CU编码部

Claims (4)

1.一种运动图像解码装置,是对将图片分割成一个以上矩形区域且由一个以上分段构成的图块组的编码数据进行解码的运动图像解码装置,其特征在于,具备:
报头解码部,对表示对象图块组内的分段中存在矩形的图块、1CTU高的CTU行中的哪一个的对象图块组内的图块数、WPP有效标志进行解码;以及
CT信息解码部,对分段的末位比特进行解码,
CT信息解码部在WPP有效标志为1的情况下,在对CTU行右端的CTU进行解码后对固定值的第一分段末位比特进行解码。
2.根据权利要求1所述的运动图像解码装置,其特征在于,
CT信息解码部在WPP有效标志为0的情况下,在对图块右下的CTU进行解码后对固定值的第二分段末位比特进行解码,第一分段末位比特与第二分段末位比特不同。
3.一种运动图像编码装置,是对将图片分割成一个以上矩形区域且由一个以上分段构成的图块组的编码数据进行编码的运动图像编码装置,其特征在于,具备:
报头编码部,对表示对象图块组内的分段中存在矩形的图块、1CTU高的CTU行中的哪一个的对象图块组内的图块数、WPP有效标志进行编码;以及
CT信息编码部,对分段的末位比特进行编码,
CT信息解码部在WPP有效标志为1的情况下,在对CTU行右端的CTU进行解码后对固定值的第一分段末位比特进行编码。
4.一种运动图像解码装置,是对将图片分割成一个以上矩形区域且由一个以上分段构成的图块组的编码数据进行解码的运动图像解码装置,其特征在于,
在对象图块组使用WPP的情况下,在CTU行的末尾对分段末位比特和字节对齐进行解码,在对象图块组不使用WPP的情况下,在图块的末尾对分段末位比特和字节对齐进行解码。
CN201980085198.9A 2018-12-21 2019-12-20 运动图像编码装置以及运动图像解码装置 Pending CN113228669A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862783640P 2018-12-21 2018-12-21
US62/783640 2018-12-21
PCT/JP2019/050149 WO2020130139A1 (ja) 2018-12-21 2019-12-20 動画像符号化装置および動画像復号装置

Publications (1)

Publication Number Publication Date
CN113228669A true CN113228669A (zh) 2021-08-06

Family

ID=71101405

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980085198.9A Pending CN113228669A (zh) 2018-12-21 2019-12-20 运动图像编码装置以及运动图像解码装置

Country Status (4)

Country Link
US (2) US11653010B2 (zh)
EP (1) EP3902260A4 (zh)
CN (1) CN113228669A (zh)
WO (1) WO2020130139A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7210748B2 (ja) * 2018-12-27 2023-01-23 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ビデオエンコーダ、ビデオデコーダ、および対応する方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130182774A1 (en) * 2012-01-18 2013-07-18 Qualcomm Incorporated Indication of use of wavefront parallel processing in video coding
CN104885456A (zh) * 2012-09-18 2015-09-02 Vid拓展公司 使用图块和图块组的感兴趣区域视频编码
CN105637864A (zh) * 2013-10-14 2016-06-01 高通股份有限公司 视频译码中的并行处理的指示
CN107637081A (zh) * 2015-06-16 2018-01-26 夏普株式会社 图像解码装置以及图像编码装置
CN108683917A (zh) * 2012-08-09 2018-10-19 太阳专利托管公司 图像编码方法及图像编码装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3202150B1 (en) * 2014-09-30 2021-07-21 Microsoft Technology Licensing, LLC Rules for intra-picture prediction modes when wavefront parallel processing is enabled

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130182774A1 (en) * 2012-01-18 2013-07-18 Qualcomm Incorporated Indication of use of wavefront parallel processing in video coding
CN108683917A (zh) * 2012-08-09 2018-10-19 太阳专利托管公司 图像编码方法及图像编码装置
CN104885456A (zh) * 2012-09-18 2015-09-02 Vid拓展公司 使用图块和图块组的感兴趣区域视频编码
CN105637864A (zh) * 2013-10-14 2016-06-01 高通股份有限公司 视频译码中的并行处理的指示
CN107637081A (zh) * 2015-06-16 2018-01-26 夏普株式会社 图像解码装置以及图像编码装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KENGO TERADA等: "CABAC termination for the end of tile/WPP", pages 1 - 2, Retrieved from the Internet <URL:http://phenix.int-evry.fr/jct/doc_end_ user/documents/11_Shanghai/wg11/JCTVC-K0182-v2.zip JCTVC-K0182.doc> *
YE-KUI WANG等: "Spec text for the agreed starting point on slicing and tiling", pages 16 - 29, Retrieved from the Internet <URL:http://phenix.int-evry.fr/jvet/doc_end_user/documents/12_Macao/wg11/JVET-L0686-v2.zip JVET-L0686-v2-SpecText.docx> *
沈燕飞;李锦涛;朱珍民;张勇东;: "高效视频编码", 计算机学报, vol. 36, no. 11, pages 2340 - 2352 *

Also Published As

Publication number Publication date
EP3902260A1 (en) 2021-10-27
EP3902260A4 (en) 2022-08-31
US20230247213A1 (en) 2023-08-03
US20220046258A1 (en) 2022-02-10
WO2020130139A1 (ja) 2020-06-25
US11653010B2 (en) 2023-05-16

Similar Documents

Publication Publication Date Title
CN114097209B (zh) 视频译码中的存取单元中的适应性参数集
WO2016203981A1 (ja) 画像復号装置及び画像符号化装置
KR102606330B1 (ko) Aps 시그널링 기반 비디오 또는 영상 코딩
WO2018008387A1 (ja) 画像処理装置および方法
WO2016203881A1 (ja) 算術復号装置及び算術符号化装置
US20170142442A1 (en) Dmm prediction section, image decoding device, and image coding device
US20240007635A1 (en) Video coding apparatus and video decoding apparatus
US20220337811A1 (en) Method and apparatus for coding transform coefficient in video/image coding system
CN111698519A (zh) 图像解码装置以及图像编码装置
US20220286691A1 (en) Method and apparatus for deriving rice parameter in video/image coding system
CN113892265A (zh) 图像解码装置
US20230247213A1 (en) Moving image encoding and decoding
US11652991B2 (en) Video decoding apparatus with picture tile structure
CA3167876A1 (en) Method and device for weighted prediction for image/video coding
CN113632475A (zh) 图像解码装置
JP7367077B2 (ja) ルマサンプルのマッピング及びクロマサンプルのスケーリングに基づくビデオまたは画像コーディング
KR20230008724A (ko) 비디오 코딩에서의 서브-픽처 추출 및 제약들
WO2020100833A1 (ja) 動画像復号装置、動画像符号化装置、動画像復号方法および動画像符号化方法
JP2020107961A (ja) 動画像符号化装置および動画像復号装置
JP2021153213A (ja) 動画像符号化装置および動画像復号装置
CN115349258B (zh) 图像编码系统中用于残差编码的图像解码方法及其设备
US20240080480A1 (en) Entropy coding method and device in video/image coding system
US20240015332A1 (en) Supplemental enhancement information (sei) manifest indication
WO2020045275A1 (ja) 画像復号装置および画像符号化装置
JP2016076904A (ja) Dcオフセット情報復号装置、画像復号装置、およびdcオフセット情報符号化装置。

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