CN113196768A - 图像处理装置和方法 - Google Patents

图像处理装置和方法 Download PDF

Info

Publication number
CN113196768A
CN113196768A CN201980082665.2A CN201980082665A CN113196768A CN 113196768 A CN113196768 A CN 113196768A CN 201980082665 A CN201980082665 A CN 201980082665A CN 113196768 A CN113196768 A CN 113196768A
Authority
CN
China
Prior art keywords
image
encoding
prediction
section
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980082665.2A
Other languages
English (en)
Inventor
藤本勇司
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Sony Group Corp
Original Assignee
Sony Group 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 Sony Group Corp filed Critical Sony Group Corp
Publication of CN113196768A publication Critical patent/CN113196768A/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

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

本公开涉及能够抑制编码和解码的并行度降低的图像处理装置和图像处理方法。在包括变换块的作为树结构中最上位编码块的编码树单元的每行中并行地对与图像相关的系数数据进行编码,并且对每行执行编码,使得将编码相对于要编码的行上方的行的编码延迟一个编码树单元。在包括变换块的作为树结构中最上编码块的编码树单元的每行中并行地对通过对与图像相关的系数数据进行编码而获得的编码数据进行解码,并且对每行执行解码,使得将解码相对于要解码的行紧上方的行的解码延迟一个编码树单元。本公开可以应用于例如图像处理装置、图像编码装置、图像解码装置等。

Description

图像处理装置和方法
技术领域
本公开涉及图像处理装置和图像处理方法,并且具体地涉及能够抑制编码和解码的并行度降低的图像处理装置和图像处理方法。
背景技术
WPP(Wavefront Parallelel Processing,波前并行处理)被常规地引入HEVC(高效视频编码)作为如下工具,该工具在每CTU(Coding Tree Unit,编码树单元)行中将CABAC(Context-based Adaptive Binary Arithmetic Code,基于上下文的自适应二进制算术代码)编码并行化,同时最大程度地减少编码效率的降低(参见例如非专利文献1)。
另外,已经提出了如下方法:将64×64块用作亮度分量的处理单元,并且将32×32块用作色差分量的处理单元,以对诸如编码(解码)、变换和量化(逆量化和逆变换)、去块和SAO(Sample Adaptive Offset,样本自适应偏移)之类的各个处理步骤执行流水线化(例如,参见非专利文献2和非专利文献3)。
[现有技术文献]
[非专利文献]
[非专利文献1]
ITU(International Telecommunication Union,国际电信联盟)的电信标准化部门2016年12月的“High efficiency video coding”,H.265;
[非专利文献2]
Tzu-Der Chuang,Ching-Yeh Chen,Yu-Wen Huang,Shaw-Min Lei,“CE1-related:Separate tree partitioning at 64×64-luma/32×32-chroma unit level”,JVET-K0230-v3,ITU-T SG 16 WP 3的联合视频专家组(JVET)以及ISO/IEC JTC 1/SC 29/WG 11第11次会议:SI,卢布尔雅那,2018年7月10日至18日;
[非专利文献3]
Chia-Ming Tsai,Chih-Wei Hsu,Tzu-Der Chuang,Ching-Yeh Chen,Yu-WenHuang,Shaw-Min Lei,“CE1.2.1:Constraint for binary and ternary partitions”,JVET-L0081-v2,ITU-T SG 16 WP 3的联合视频专家组(JVET)以及ISO/IEC JTC 1/SC 29/WG 11第十二次会议:中国澳门,2018年10月3日至12日。
发明内容
[技术问题]
然而,随着图像分辨率的提高,近来也需要在编码中处理更大的CTU大小。例如,在非专利文献1中描述的HEVC的情况下,CTU大小最大为64×64。然而,在非专利文献2和非专利文献3中描述的方法的情况下,CTU大小最大为128×128。
在WPP中,在相同图像中(具体地,在相同分辨率的情况下),如上所述,增加的CTU大小会减少一帧中CTU行的数目。因此,编码和解码的并行度(换言之,并行处理的CTU的数目)减少,可能导致并行流水行中的延迟增加(换言之,导致处理时间延长)。
另外,根据非专利文献2和非专利文献3中描述的方法,可以通过使用大小减小的块作为处理单元对诸如编码(解码)、变换和量化(逆量化和逆变换)、去块和SAO之类的各个处理步骤执行流水线化,然而,难以对每个块的编码和解码执行并行流水线化。
考虑到这种情况,本公开的目的是使得可以抑制编码和解码的并行度的降低。
[问题的解决方案]
根据本技术的一个方面的图像处理装置包括编码部,编码部按照编码树单元的每行并行地对与图像相关的系数数据进行编码,每个编码树单元包括变换块并且对应于树结构的最上位编码块,并且编码部将每行的编码相对于要编码的行的紧上一行的编码延迟与一个编码树单元对应的量来执行。
根据本技术的一个方面的图像处理方法包括:按照编码树单元的每行并行地对与图像相关的系数数据进行编码,每个编码树单元包括变换块并且对应于树结构的最上位编码块,以及将每行的编码相对于要编码的行的紧上一行的编码延迟与一个编码树单元对应的量来执行。
根据本技术的另一方面的图像处理装置包括解码部,该解码部按照编码树单元的每行并行地对通过对与图像相关的系数数据进行编码而获得的编码数据进行解码,每个编码树单元包括变换块并且对应于树结构的最上位编码块,并且解码部将每行的解码相对于要解码的行的紧上一行的解码延迟与一个编码树单元对应的量来执行。
根据本技术的另一方面的图像处理方法包括:在均包括变换块并且与树结构中最上编码块对应的编码树单元的每行中并行地对通过对与图像相关的系数数据进行编码而获得的编码数据进行解码,以及对每行执行解码,使得将解码相对于要解码的行紧上方的行的解码延迟与一个编码树单元对应的量。
在根据本技术的一个方面的图像处理装置和图像处理方法中,在均包括变换块并且与树结构中最上编码块对应的编码树单元的每行中并行地对与图像相关的系数数据进行编码,并且对每行执行编码,使得将编码相对于要编码的行紧上方的行的编码延迟与一个编码树单元对应的量。
在根据本技术的另一方面的图像处理装置和图像处理方法中,按照编码树单元的每行并行地对通过对与图像相关的系数数据进行编码而获得的编码数据进行解码,每个编码树单元包括变换块并且作为树结构的最上位编码块,以及将每行的解码相对于要解码的行的紧上一行的解码延迟与一个编码树单元对应的量来执行。
附图说明
[图1]
图1是示出WPP的示例的图。
[图2]
图2是示出并行度与块大小之间的关系的示例的图。
[图3]
图3是示出VPDU的示例的图。
[图4]
图4是示出使用VPDU的流水线化的示例的图。
[图5]
图5是示出用于编码和解码的并行流水线化的方法的图。
[图6]
图6是示出通过使用VPDU在每CTU行中并行化的示例的图。
[图7]
图7是示出每个线程的处理定时的示例的图。
[图8]
图8是示出帧内预测的参考限制的示例的图。
[图9]
图9示出了帧内预测的参考限制的示例。
[图10]
图10示出了帧内预测的参考限制的示例。
[图11]
图11示出了帧间预测的参考限制的示例。
[图12]
图12是示出帧间预测的参考限制的示例的图。
[图13]
图13是示出图像编码装置的主要配置示例的框图。
[图14]
图14是示出图像编码处理的流程的示例的流程图。
[图15]
图15是示出预测处理的流程的示例的流程图。
[图16]
图16是示出编码处理的流程的示例的流程图。
[图17]
图17是示出CTU处理的流程的示例的流程图。
[图18]
图18是示出CTU处理的流程的示例的流程图。
[图19]
图19是示出图像解码装置的主要配置示例的框图。
[图20]
图20是示出图像解码处理的流程的示例的流程图。
[图21]
图21是示出解码处理的流程的示例的流程图。
[图22]
图22是示出CTU处理的流程的示例的流程图。
[图23]
图23是示出CTU处理的流程的示例的流程图。
[图24]
图24是从图23继续的流程图,并且图24示出了CTU处理的流程的示例。
[图25]
图25是示出计算机的主要配置示例的框图。
具体实施方式
下面将描述用于执行本公开的方式(在下文中称为实施方式)。按以下顺序给出描述。
1.支持技术内容和技术术语的文献等
2.WPP和VPDU
3.概念
4.方法1
5.第一实施方式(图像编码装置和图像解码装置)
6.补充特征
<1.支持技术内容和技术术语的文献等>
本技术中公开的范围包括在以下列出的非专利文献中描述的内容、在提交时已知的内容以及在示例中描述的内容。
非专利文献1:(上文中已列出)
非专利文献2:(上文中已列出)
非专利文献3:(上文中已列出)
非专利文献4:ITU(国际电信联盟)的电信标准化部门,“Advanced video codingfor generic audiovisual services”,H.264,04/2017
非专利文献5:Jianle Chen,Elena Alshina,Gary J.Sullivan,Jens-Rainer,Jill Boyce,“Algorithm Description of Joint Exploration Test Model 4”,VET-G1001_v1、ITU-T SG 16 WP 3的联合视频探索小组(JVET)以及ISO/IEC JTC 1/SC 29/WG11第七次会议:都灵,意大利(IT),2017年7月13日至21日
非专利文献6:Benjamin Bross,Jianle Chen,Shan Liu,“Versatile VideoCoding(Draft 2)”,JVET-K1001-v7、ITU-T SG 16 WP 3的联合视频专家组(JVET)以及ISO/IEC JTC 1/SC 29/WG 11第11次会议:卢布尔雅那,斯洛文尼亚(SI),2018年7月10日至18日
换言之,以上列出的非专利文献中描述的内容也构成用于确定支持要求的依据。例如,即使在示例不包括对这样的结构的直接描述的情况下,非专利文献1中描述的四叉树块结构以及非专利文献5中描述的QTBT(四叉树加二叉树)块结构旨在落入本公开范围内,并且也满足权利要求书中的支持要求。另外,例如,即使在示例不包括对这样的术语的直接描述的情况下,诸如解析、语法和语义之类的技术术语也类似地旨在落入本公开范围内并且满足权利要求书中的支持要求。
另外,除非另有说明,否则本文中用于描述为图像(图片)的部分区域或处理单元的“块”(不是指处理部的块)指示图片中的任何部分区域,并且块大小、形状、特性等不受限制。例如,“块”旨在包括任何部分区域(处理单元),例如上面列出的非专利文献1至非专利文献6中描述的TB(变换块)、TU(变换单元)、PB(预测块)、PU(预测单元)、SCU(最小编码单元)、CU(编码单元)、LCU(最大编码单元)、CTB(编码树块)、CTU(编码树单元)、变换块、子块、宏块、图块或切片。
另外,在指定这种块的大小时,可以使用对块大小的间接指定以及对块大小的直接指定。例如,用于标识大小的标识信息可以用于指定块大小。另外,例如,可以通过使用块与参考块(例如,LCU、SCU等)的大小比率或者块与参考块之间的差来指定块大小。例如,在发送将块大小指定为语法元素等的信息的情况下,可以使用如上所述间接指定大小的信息作为该信息。这使得能够减少信息量,可以允许提高编码效率。另外,块大小的指定包括块大小的范围的指定(例如,块大小的容许范围的指定等)。
另外,在本文中使用的编码包括用于将图像变换成比特流的部分处理以及整体处理。例如,编码包括:量化和算术编码的一般处理;预测处理、量化和算术编码的综合处理等;以及预测处理、正交变换、量化和算术编码等的综合处理。类似地,解码包括用于将比特流变换成图像的部分处理以及整体处理。例如,解码包括:逆算术解码和逆量化的综合处理;逆算术解码、逆量化和预测处理的综合处理等;以及逆算术解码、逆量化、逆正交变换、预测处理的综合处理,等等。
<2.WPP和VPDU>
<WPP>
例如,如非专利文献1中所述,WPP(波前并行处理)常规上被引入到HEVC(高效视频编码)中作为如下工具,该工具在CTU(编码树单元)每行中将CABAC(基于上下文的自适应二进制算术代码)编码并行化,同时最大程度地减少编码效率的降低。
例如,图1示出了待编码的图像的一部分,并且每个正方形指示CTU。如图1所示,将CTU布置成矩阵。在应用WPP的情况下,每行CTU(也称为每CTU行)中的编码和解码(熵编码和熵解码)的步骤被并行化(并行执行每CTU行中的处理步骤)。在每CTU行中,如图中的虚线箭头所示,从最左侧的CTU开始逐一对CTU进行处理(进行熵编码或熵解码)。
通过使用在前一CTU的处理中导出的发生概率作为上下文来处理每个CTU。然而,通过使用具有初始值的上下文来处理图像中最上方的行中最左侧的CTU。另外,如图1中实心方块和箭头所示,通过使用在处理在要被处理的CTU行紧上方的CTU行中的从左侧起第二个CTU时导出的发生概率(也称为习得的发生概率)作为上下文来处理次上方和随后的CTU行中的每一行中的最左侧的CTU。换言之,如图1中的灰色方块所示,每个CTU行都在被处理的同时相对于CTU行紧上方的CTU行延迟了与两个CTU对应的量。
这允许并行地处理各个CTU行(即使具有定时间隙,也可以实现处理,使得至少处理定时彼此部分交叠(存在处理多个CTU行中的CTU的时间点))。因此,与串行处理图像中的所有CTU的情况相比,可以更快地执行编码和解码。
<并行度降低>
然而,随着图像分辨率的提高,近来也存在在编码中处理的CTU大小更大的需求。例如,在非专利文献1中描述的HEVC的情况下,CTU大小最大为64×64。然而,在非专利文献2和非专利文献3中描述的方法的情况下,CTU大小最大为128×128。
在WPP中,在相同图像中(具体地,在相同分辨率的情况下),如上所述,增加的CTU大小会减少一帧中CTU行的数目。因此,编码和解码的并行度(换言之,并行处理的CTU的数目)减少,可能导致并行流水线中的延迟增加(换言之,处理时间延长)。
例如,假定对所有CTU使用相同的处理时间。如式(1)所示,定义了最大并行度,该最大并行度指示在相同时间点处理的CTU的最大数目。在式(1)中,CTUw指示要处理的图像中的水平方向上的CTU的数目。此外,CTUh指示要处理的图像中的竖直方向上的CTU的数目。此外,函数ceil指示四舍五入到最接近的整数。
[数学式1]
最大并行度=min(ceil(CTUw/2),CTUh)...(1)
另外,如式(2)所示,定义了平均并行度,该平均并行度指示在相同时间点处理的CTU的平均数目。在式(2)中,p(x,y)指示当处理CTU(x,y)时实现的并行度。另外,CTUw和CTUh与式(1)中的CTUw和CTUh相同。
[数学式2]
平均并行度=Σp(x,y)/(CTUw*CTUh)...(2)
例如,图2中的表指示例如在CTU大小最大为64×64的情况以及在CTU大小最大为128×128的情况下在通过WPP处理4K图像(分辨率为3840×2160的图像)时最大并行度之间以及平均并行度之间的比较结果。
如图2中的表所示,在CTU大小最大为64×64的情况下,CTUw和CTUh分别为60和34。因此,上述式(1)和式(2)指示最大值并行度为30,而平均并行度为21.2。另一方面,在CTU大小最大为128×128的情况下,CTUw和CTUh分别为30和17。因此,上述式(1)和式(2)指示最大并行度为15,而平均并行度为10.6。因此,并行度(最大并行度和平均并行度)减小到一半。因此,如上所述,在CTU大小最大为128×128的情况下,与CTU大小最大为64×64的情况相比,存在并行流水线的延迟增加并且处理时间延长的可能性。
另外,当处理负荷在并行处理的各个CTU之间变化时,可能需要等待时间以协调CTU行彼此之间的处理定时。并行度的粒度随着CTU大小的增加而增加,这使得CTU处理负荷中的变化的分散变得更加困难。换言之,随着CTU大小的增加,等待时间可能由于变化而增加,并且增加的等待时间可能进一步减小实际并行度,因此,减小的实际并行度可能进一步延长处理时间。
<VPDU>
另外,如非专利文献2和非专利文献3中所述,提出了如下方法:将64×64块用作亮度分量的处理单元,并且将32×32块用作色差分量的处理单元,以对诸如编码(解码)、变换和量化(逆量化和逆变换)、去块和SAO(样本自适应偏移)之类的各个处理步骤执行流水线化。
例如,如图3所示,对于亮度分量,将128×128CTB分为四部分(将CTB在竖直方向上分为两部分,并且在水平方向上分为两部分),并且将64×64块(虚拟流水线数据单元(Virtual Pipeline Data Unit),也称为VPDU)用作处理单元。另外,对于色差分量,将64×64的CTB分为四部分(将CTB在竖直方向上分为两部分,并且在水平方向上分为两部分),并且将32×32的块(也称为VPDU)用作处理单元。
如图4的示例中所示,通过使用这种VPDU作为处理单元,对诸如编码(解码)、变换和量化(逆量化和逆变换)、去块和SAO之类的各个处理步骤执行流水线化。这允许抑制总处理时间的增加。
然而,根据该方法,难以对每个块中的编码和解码执行并行流水线化。
<3.概念>
<每个变换块行中的WPP>
因此,如在图5的表中的最上行中描述的方法1中那样,实现了与VPDU兼容的WPP,即,通过使用VPDU在每CTU行中的并行化。变换块是用于变换处理(诸如对图像数据执行的正交变换)的处理单元,并且CTU行指示布置成矩阵的CTU的行(线)。
如在图5的表的次上行中描述的方法1-1中那样,编码和解码可以在包括VPDU的CTU的每行中被并行化,并且可以将行之间的延迟(流水线延迟)设置为与一个CTU对应的量。
例如,与图像相关的系数数据在编码树单元的每行中被并行地编码,每个编码树单元包括单个或多个变换块并且与树结构中的最高编码块对应,并且执行每行的编码时相对于该行的紧上一行的编码延迟与与一个编码树单元对应的量。另外,例如,图像处理装置包括编码部,该编码部按照编码树单元的每行并行地对与图像相关的系数数据进行编码,每个编码树单元包括单个或多个变换块并且对应于树结构的最上位编码块,并且对每行执行编码,使得将编码相对于在该行紧上方的行的编码延迟与一个编码树单元对应的量。与HEVC中的WPP相比,这大大减少了CTU行之间的延迟,从而允许抑制编码的并行度的降低。这允许抑制编码处理时间的增加。
另外,例如,在与图像相关的系数数据的编码树单元的每行中,可以从最左侧的编码树单元开始依次逐个对编码树单元进行编码。
另外,例如,可以针对每个变换块对每个编码树单元进行编码。
另外,例如,可以通过使用从前一个变换块的熵编码导出的发生概率来对每个变换块进行熵编码。
另外,例如,可以通过使用发生概率的初始值对图像中的最上方的编码树单元的行中最左侧的编码树单元中的第一个变换块进行熵编码。此外,例如,可以通过使用从在该行紧上方的编码树单元的行中的最左侧的编码树单元中的最后一个变换块的熵编码导出的发生概率对图像中的编码树单元的的次上方行和随后的行中的每一个中的最左侧的编码树单元中的第一个变换块进行熵编码。
另外,例如,变换块可以是VPDU(虚拟流水线数据单元)。
另外,通过对与图像相关的系数数据进行编码而获得的编码数据在编码树单元的每个行中被并行地解码,每个编码树单元包括单个或多个变换块并且与树结构中的最高编码块对应,并且每个行的解码在被执行的同时延迟与相对于在该行紧上方的行的解码的一个编码树单元对应的量。另外,例如,图像处理装置包括解码部,该解码部在编码树单元的每个行中对通过对与图像相关的系数数据并行地编码而获得的编码数据进行解码,每个编码树单元包括单个或多个变换块并且与树结构中的最高编码块对应,并且将每行的解码相对于该行紧上方的行的解码延迟与一个编码树单元对应的量来执行解码。与HEVC中的WPP相比,这大大减少了CTU行之间的延迟,从而允许抑制解码的并行度的降低。这允许抑制解码处理时间的增加。
另外,例如,可以对与图像相关的系数数据的编码树单元的每个行中的编码数据进行解码,使得从最左侧的编码树单元开始依次对编码树单元逐一进行解码。
另外,例如,可以针对每个变换块对每个编码树单元的编码数据进行解码。
另外,例如,可以通过使用从前一变换块的编码数据的熵解码导出的发生概率对每个变换块的编码数据进行熵解码。
另外,例如,可以通过使用发生概率的初始值对图像中的编码树单元的最上方的行中的最左侧的编码树单元中的第一个变换块的编码数据进行熵解码。此外,例如,可以通过使用从对该行紧上方的编码树单元的行中的最左侧的编码树单元中的最后一个变换块的编码数据进行熵解码导出的发生概率对图像中的编码树单元的次上方和随后的行中的每一条中的最左侧的编码树单元中的每一个中的第一个变换块的编码数据进行熵解码。
另外,例如,变换块可以是VPDU(虚拟流水线数据单元)。
另外,如在图5的表中的从上方数第三段中描述的方法1-2中那样,可以限制帧内预测。例如,如在图5中的表中的从上方数第四段中描述的方法1-2-1中那样,在要处理的CTU(也称为当前CTU)中的右上VPDU的帧内预测中,对右上方VPDU的右上方处的VPDU(CTU)的参考可以被禁止(无效)。
例如,在编码树单元的右上变换块的帧内预测中,可以使对右上变换块的右上处的变换块的参考无效。这使得能够基于对帧内预测的参考来减少CTU行之间的依赖性关系。因此,可以抑制等待时间的增加。
另外,如在图5中的表中的从上方数第五段中描述的方法1-3中,可以限制帧间预测。例如,如在图5中的表中的从上方数第六段中描述的方法1-3-1中那样,对于其中将当前CTU中的右上VPDU设置为要处理的预测块(也称为当前预测块)的帧间预测,对预测块的右上处的VPDU(CTU)的参考可以被禁止(无效)。换言之,可以与上述方法1-2-1的情况类似地施加限制(即,可以限制帧内预测)。
例如,在编码树单元的右上变换块的帧间预测中,可以使对右上变换块的右上处的变换块的参考无效。这使得能够基于对帧间预测的参考来减少CTU行之间的依赖性关系,从而能够抑制等待时间的增加。
另外,如在图5中的表中的从上方数第七段中描述的方法1-3-2中那样,在其中当前预测块具有128×N的块大小的帧间预测中,对当前预测块的右上处的块的参考可以被禁止(无效)。
例如,在与帧间预测的处理单元对应并且具有与编码树单元的水平长度相同的水平长度的预测块的帧间预测中,可以使对预测块的右上处的变换块的参考无效。这使得能够基于对帧间预测的参考来减少CTU行之间的依赖性关系,从而能够抑制等待时间的增加。
<4.方法1>
<4-1:方法1-1>
接下来,将更详细地描述上述“方法1”。图6示出了要被编码的图像的一部分。图像被划分为与树结构中的最上位编码块对应的CTU 111。在图6中,由粗线正方形包围的各个区域是CTU 111。在HEVC中的WPP中,在CTU 111的每行中使处理(熵编码和熵解码)并行化。在每CTU行中,沿着CTU行从左到右对CTU逐一进行处理,例如按照从CTU 111-1、CTU 111-2、CTU 111-3和CTU 111-4的顺序进行处理。
另外,每个CTU 111被划分为VPDU 121。在图6中,由细线正方形包围的各个区域是VPDU 121。在这种示例中,每个CTU 111被划分为四部分(在竖直方向上被划分为两部分,并且在水平方向上被划分为两部分)。例如,CTU 111-1被划分为VPDU 121-1、VPDU 121-2、VPDU 121-3和VPDU 121-4。换言之,一个CTU行设置有两个VPDU行。注意,CTU 111的大小是可选的。只要VPDU 121小于CTU 111,VPDU 121的大小也是可选的。在本文的描述中,假定CTU大小为128×128,并且假定VPDU大小为64×64。
在方法1-1中,如图6中的虚线箭头所示,在均包括VPDU 121的CTU 111的每行中使处理(熵编码和熵解码)并行化。此外,在每CTU行中,从最左侧的CTU开始对CTU 111进行逐一处理。另外,在相对于CTU行紧上方的CTU行延迟与一个CTU对应的量的同时,执行每个CTU行的处理。
在图6中,各个VPDU 121中的数字指示处理的顺序。换言之,针对每个VPDU 121对各个CTU 111进行处理(熵编码和熵解码)。
在这点上,熵编码和熵解码是使用从前一处理导出的发生概率作为上下文的无损编码和无损解码。例如,熵编码和熵解码可以是诸如CABAC的算术编码和算术解码。本文的描述假定应用了CABAC。换言之,通过使用从前一VPDU的处理中导出的发生概率作为上下文来处理每个VPDU。
然而,通过使用具有初始值的上下文来处理图像的最上方的CTU行中的最左侧CTU中的第一个VPDU(左上方VPDU)。另外,通过使用从要处理的CTU行的紧上方的CTU行中的最左侧CTU中的最后一个VPDU(左下方VPDU)的处理期间导出的发生概率(也称为习得的发生概率)作为上下文对次上方CTU行和随后的CTU行中的最左侧的CTU中的每一个中的第一个VPDU(左上VPDU)进行处理,如图6中实心方框和箭头所示。
因此,如图7所示,相对于CTU行紧上方的CTU行的处理线程,每个CTU行的处理线程被延迟与一个CTU对应的量。尽管存在时间间隔,但是并行执行多个线程。
另外,对帧内预测和帧间预测的限制允许将CTU行之间的延迟调整为一个CTU。这允许抑制由于CTU大小的增加而导致的编码和解码的并行度的降低。因此,可以抑制并行流水线中的延迟的增加,从而可以抑制处理时间的增加。例如,在要处理的图像大小为4K(3840×2160)的图像的情况下,最大并行度为17,平均并行度为13.8。
注意,如上所述,在其中使均包括多个VPDU的CTU的每行中的编码和解码并行化的情况下,与非专利文件2和非专利文献3中描述的VPDU的流水线处理的情况类似,对预测块和变换块的限制进行限制。
<4-2:方法1-2>
在方法1-2中,某些模式在帧内预测中受到限制。在要处理的块处于帧内预测模式的情况下,通过参考相邻块的帧内预测模式来预测该模式,并且通过参考相邻块的像素来创建预测图像。
<4-2-1:方法1-2-1>
在方法1-2-1中,如图8中的虚线箭头所示,在CTU中的右上方VPDU的帧内预测中,对右上VPDU的右上处的VPDU(CTU)的参考被禁止(无用)。具体地,禁止参考由图8中的虚线箭头指示的帧内预测模式和预测像素。
例如,(在WPP关闭期间)在未使编码和解码并行化的情况下,在与当前CTU 111中的右上VPDU 121对应的VPDU[b]的帧内预测中,要参考VPDU[a]、VPDU[f]、VPDU[g]和VPDU[h]和相邻像素(图中的黑带部分)的帧内预测模式,如图9中的A所示。在这种情况下,帧内预测块大小等于或小于64×64(等于或小于VPDU 121),因此,当帧内预测块大小等于VPDU121时,参考范围最大。
相比之下,在方法1-2-1中,在如方法1-1中那样在均包括VPDU的CTU的每行中使编码和解码并行化的情况下(在处理VPDU的WPP期间),如图8的B所示,在与CTU 111中的右上VPDU 121对应的VPDU[b]的帧内预测中,禁止参考VPDU[h]和相邻像素的帧内预测模式(使参考无效)。
在方法1-1中,处理在每个CTU行中被并行化,并且行之间的延迟对应于一个CTU,因此,具有VPDU[b]的CTU与具有VPDU[h]的CTU可以同时被处理。然而,上述参考关系可能要求VPDU[b]的处理要等到直到VPDU[h]的处理结束(换言之,等待时间可能会延长)。
类似于方法1-2-1中的限制,对参考的限制可以防止创建这种用于帧内预测的参考关系(可以对VPDU[b]进行独立于VPDU[h]的帧内预测),因此可以抑制等待时间的增加。
对于CTU 111中的其他VPDU 121,即使在处理VPDU的WPP期间,也可以类似于在WPP关闭期间的情况进行参考。例如,在与当前CTU 111中的左上VPDU 121对应的VPDU[a]的帧内预测中,如图10的A所示,在WPP关闭期间以及在处理VPDU的WPP期间都参考VPDU[e]、VPDU[f]、VPDU[g]、VPDU[i]和VPDU[j]和相邻像素(图中的黑带部分)的帧内预测模式。VPDU[a]右上处的VPDU[g]在处理VPDU的WPP期间在VPDU[a]之前也被处理,因此可以被参考。
另外,例如,如图10的B所示,在与当前CTU 111中的左下VPDU 121对应的VPDU[c]的帧内预测中,VPDU[a]、VPDU[b]、VPDU[i]、VPDU[j]和相邻像素(图中的黑带部分)的帧内预测模式在WPP关闭期间以及处理VPDU的WPP期间都将被参考。VPDU[c]的右上处的VPDU[b]在处理VPDU的WPP期间在处理VPDU[c]之前也被处理,因此可以被参考。
另外,例如,如图10的C所示,在与当前CTU 111中的右下VPDU 121对应的VPDU[d]的帧内预测中,VPDU[a]、VPDU[b]和VPDU[c]和相邻像素(图中的黑带部分)的帧内预测模式在WPP关闭期间以及处理VPDU的WPP期间都将参考。VPDU[d]的右上处的VPDU在WPP关闭期间以及在处理VPDU的WPP期间都在VPDU[d]之后被处理,因此防止了被参考。
<4-3:方法1-3>
在方法1-3中,帧间预测受到限制。在要处理的块处于帧间预测模式的情况下,通过参考相邻块的帧间预测模式来预测模式,并且通过参考相邻块的运动矢量来预测要处理的块的运动矢量。
<4-3-1:方法1-3-1>
在方法1-4-1中,如图8中的虚线箭头所示,在作为当前预测块的CTU中的右上VPDU的帧间预测中,参考右上VPDU的右上处的VPDU被禁止(无效)。具体地,禁止参考由图8中的虚线箭头指示的帧间预测模式和运动矢量。换言之,使得类似于帧内预测的参考关系的参考关系无效(类似于方法1-2-1的情况施加限制)。
这可以防止创建这种用于帧间预测的参考关系,从而可以抑制等待时间的增加。
对于其中将CTU 111中的每个其他VPDU 121用作当前预测块的帧间预测,类似于帧内预测的情况(图10),也可以在处理VPDU的WPP期间进行类似于在WPP关闭期间的参考的参考。注意,在帧间预测块大小等于或小于64×64(等于或小于VPDU 121)的情况下,在方法1-4-1中限制参考就足够了。
然而,在帧间预测中,可以将预测块的块大小设置为大于64×64,并且可以将块大小设置为例如128×64、64×128、128×128等。
<4-3-2:方法1-3-2>
在方法1-3-2中,在当前预测块具有128×N的块大小的情况下,使得对在当前预测块的右上处的块的参考无效。
例如,在块大小为128×64的预测块的帧间预测中,禁止参考该预测块的右上处的块的帧间预测模式和运动矢量(使参考无效)。例如,假定图11的A所示的当前CTU 111中的包括左上VPDU[a]和右上VPDU[b]的预测块[ab]是当前预测块131。在这种情况下,在WPP关闭期间,参考VPDU[e]、VPDU[f]、VPDU[g]、VPDU[h]、VPDU[i]和VPDU[j]的帧间预测模式和运动矢量,如图11中的A所示。
相比之下,在方法1-3-2中,在预测块[ab]的帧间预测中,在处理VPDU的WPP期间禁止参考在预测块[ab]右上处的VPDU[h]的帧间预测模式和运动矢量(使参考无效),如图11中的B所示。
在方法1-1中,处理在每个CTU行中被并行化,并且行之间的延迟对应于一个CTU,因此,VPDU[a](即,预测块[ab])和VPDU[h]可以被同时处理。然而,上述参考关系可能要求等待对预测块[ab]的处理直到VPDU[h]的处理结束(换言之,等待时间会延长)。
类似于方法1-3-2中的限制,对参考的限制可以防止创建这种用于帧间预测的参考关系(可以独立于VPDU[h]对预测块[ab]执行帧间预测),因此,可以抑制等待时间的增加。
另外,在块大小为128×128的预测块的帧间预测中,类似地禁止参考在预测块的右上处的块的帧间预测模式和运动矢量(使参考无效)。例如,假定图11的C所示的当前CTU111中的包括所有VPDU(VPDU[a]、VPDU[b]、VPDU[c]和VPDU[d])的预测块[abcd]是当前预测块131。在这种情况下,在WPP关闭期间,参考VPDU[e]、VPDU[f]、VPDU[g]、VPDU[h]、VPDU[i]、VPDU[j]的帧间预测模式和运动矢量,如图11的C所示。
相比之下,在方法1-3-2中,在预测块[abcd]的帧间预测中,在处理VPDU的WPP期间禁止参考预测块[abcd]右上处的VPDU[h]的帧间预测模式和运动矢量(使参考无效),如图11的D所示。
在方法1-1中,处理在每个CTU行中被并行化,并且行之间的延迟对应于一个CTU,因此,VPDU[a](即,预测块[abcd]和VPDU[h])可以被同时处理。然而,上述参考关系可能要求等待对预测块[abcd]的处理直到VPDU[h]的处理结束(换言之,等待时间可能会延长)。
类似于方法1-3-2中对参考的限制可以防止创建这种用于帧间预测的参考关系(可以独立于VPDU[h]对预测块[abcd]执行帧间预测),因此,可以抑制等待时间的增加。
注意,在将包括当前CTU 111的左下VPDU[c]和右下VPDU[d]的预测块[cd]用作当前预测块131的情况下,类似于在WPP关闭期间的参考,也可以在如图12所示的处理VPDU的WPP期间进行参考(进行对VPDU[a]、VPDU[b]、VPDU[i]和VPDU[j]的帧间预测模式和运动矢量的参考)(右上块稍后被处理,因此即使在WPP OFF期间也未被参考)。
<5.第一实施方式>
<5-1:图像编码装置>
上面描述的本技术可以应用于任何装置、设备、系统等。例如,上述本技术可以应用于对图像数据进行编码的图像编码装置。
图13是示出与应用了本技术的图像处理装置的一个方面对应的图像编码装置的配置示例的框图。图13所示的图像编码装置500是对运动图像的图像数据进行编码的装置。例如,图像编码装置500实现非专利文献1至非专利文献6中描述的技术,并且通过使用符合这些文献中的任何文献中描述的标准的方法来对运动图像的图像数据进行编码。
注意,图13示出了诸如处理部和数据流之类的主要元件,但是未示出图像编码装置500的所有元件。换言之,在图像编码装置500中,可以存在未在图13中以方框示出的处理部,或者可以存在未在图13中以箭头等示出的处理流程或数据流。
如图13所示,图像编码装置500包括控制部501、排序缓冲器511、计算部512、正交变换部513、量化部514、编码部515、存储缓冲器516、逆量化部517、逆正交变换部518、计算部519、环内滤波器部520、帧存储器521、预测部522和速率控制部523。
<控制部>
基于外部处理单元中的或者预先指定的处理单元中的块大小,控制部501将由排序缓冲器511保存的运动图像数据划分为处理单元中的块(CU、PU、变换块等)。另外,例如,控制部501基于RDO(速率失真优化)来确定要提供给每个块的编码参数(报头信息Hinfo、预测模式信息Pinfo、变换信息Tinfo、滤波器信息Finfo等)。
编码参数的细节将在下面描述。控制部501如上所述确定编码参数,然后将编码参数馈送到每个块。具体地,如下所述来执行。
报头信息Hinfo被馈送到每个块。预测模式信息Pinfo被馈送到编码部515和预测部522。变换信息Tinfo被馈送到编码部515、正交变换部513、量化部514、逆量化部517和逆正交变换部518。滤波器信息Finfo被馈送到环内滤波器部520。
<排序缓冲器>
图像编码装置500以各字段的再现(显示)的顺序来接收运动图像数据(输入图像)的各个字段。排序缓冲器511以图像的再现(显示)的顺序获取各个输入图像,并且保存(存储)所获取的输入图像。排序缓冲器511在控制部501的控制下将输入图像排序为编码(解码)的顺序,并且将输入图像划分为处理单元中的块。排序缓冲器511将如此处理的各个输入图像馈送到计算部512中。另外,排序缓冲器511还将各个输入图像(原始图像)馈送到预测部522和环内滤波器部520。
<计算部>
计算部512接收与处理单元中的块对应的图像I以及由预测部522馈送的预测图像P作为输入,并且如式(3)所示从图像I中减去预测图像P,以导出预测残差resi。计算部512将预测残差resi馈送到正交变换部513。
[数学式3]
resi=I-P...(3)
<正交变换部>
正交变换部513接收从计算部512馈送的预测残差resi以及从控制部501馈送的变换信息Tinfo作为输入,并且基于变换信息Tinfo对预测残差resi执行正交变换,以导出变换系数系数coef。正交变换部513将获得的变换系数coef馈送到量化部514。
<量化部>
量化部514接收从正交变换部513馈送的变换系数coef以及从控制部501馈送的变换信息Tinfo作为输入,并且基于变换信息Tinfo来缩放(量化)变换系数coef。注意,量化的速率由速率控制部523控制。量化部514向编码部515和逆量化部517馈送如上所述通过量化获得的经量化的变换系数,即,量化变换系数水平qcoef。
<编码部>
编码部515接收从量化部514馈送的量化变换系数水平qcoef、从控制部501馈送的各种类型的编码参数(报头信息Hinfo、预测模式信息Pinfo、变换信息Tinfo、滤波器信息Finfo等)、与滤波器相关的信息(例如,从环内滤波器部520馈送的滤波器系数)以及与从预测部522馈送的最佳预测模式相关的信息作为输入。编码部515对量化变换系数水平qcoef进行编码(例如,执行例如CABAC的算术编码)以生成比特序列。
另外,编码部515从量化变换系数水平qcoef导出残差信息Rinfo,并对残差信息Rinfo进行编码以生成比特序列。
此外,编码部515在滤波器信息Finfo中包括与从环内滤波器部520馈送的滤波器相关的信息,并且在预测模式信息Pinfo中包括与从预测部522馈送的最佳预测模式相关的信息。然后,编码部515对上述各种类型的编码参数(报头信息Hinfo、预测模式信息Pinfo、变换信息Tinfo、滤波器信息Finfo等)进行编码以生成比特序列。
另外,编码部515对如上所述生成的各种类型的信息的比特序列进行复用,以生成编码数据。编码部515将编码数据馈送到存储缓冲器516。
<存储缓冲器>
存储缓冲器516临时保存从编码部515获得的编码数据。存储缓冲器516在预定定时处例如以比特流之类的的形式将保存在存储缓冲器516中的编码数据输出到图像编码装置500的外部。例如,经编码的数据经由可选的记录介质、可选的传输介质、可选的图像处理装置等被发送到解码侧。换言之,存储缓冲器516还用作发送编码数据(比特流)的发送部。
<逆量化部>
逆量化部517执行与逆量化相关的处理。例如,逆量化部517接收从量化部514馈送的量化变换系数水平qcoef以及从控制部501馈送的变换信息Tinfo作为输入,以基于变换信息Tinfo对量化变换系数水平qcoef进行缩放(逆量化)。注意,逆量化是在量化部514中执行的量化的逆处理。逆量化部517将如上所述通过逆量化获得的变换系数coefI馈送给逆正交变换部518。
<逆正交变换部>
逆正交变换部518执行与逆正交变换相关的处理。例如,逆正交变换部518接收从逆量化部517馈送的变换系数coefI以及从控制部501馈送的变换信息Tinfo作为输入,并且基于变换信息Tinfo对变换系数coefI执行逆正交变换,以导出预测残差resiI。注意,逆正交变换是在正交变换部513中执行的正交变换的逆处理。逆正交变换部518如上所述将通过逆正交变换获得的预测残差resiI馈送给计算部519。注意,逆正交变换部518类似于(下面描述的)解码侧上的逆正交变换部,并且因此(下面给出的)对解码侧的描述可以应用于逆正交变换部518。
<计算部>
计算部519接收从逆正交变换部518馈送的预测残差resiI以及从预测部522馈送的预测图像P作为输入。计算部519将预测残差resiI和与预测残差resiI对应的预测图像P相加,以导出局部解码图像Rlocal。计算部519将导出的局部解码图像Rlocal馈送到环内滤波器部520和帧存储器521。
<环内滤波器部>
环内滤波器部520执行与环内滤波器处理相关的处理。例如,环内滤波器部520接收从计算部519馈送的局部解码图像Rlocal、从控制部501馈送的滤波器信息Finfo以及从排序缓冲器511馈送的输入图像(原始图像)作为输入。注意,任何信息被输入到环内滤波器部520,并且上述以外的信息可以被输入到环内滤波器部520。例如,环内滤波器部520可以根据需要接收诸如预测模式的信息、运动信息、代码量目标值、量化参数QP、图片类型或者块(CU、CTU等)作为输入。
环内滤波器部520基于滤波器信息Finfo适当地对局部解码图像Rlocal执行滤波处理。环内滤波器部520根据需要将输入图像(原始图像)和任何其他输入信息用于滤波处理。
例如,环内滤波器部520依次应用四个环内滤波器,四个环内滤波器包括:双边滤波器、去块滤波器(DBF)、自适应偏移滤波器(SAO(样本自适应偏移))和自适应环内滤波器(ALF)。请注意,应用哪个滤波器以及以什么顺序应用滤波器是可选的,并且可以根据需要选择滤波器和顺序。
不言而喻,由环内滤波器部520执行的滤波处理是可选的,并且不限于上述示例。例如,环内滤波器部520可以应用维纳(Wiener)滤波器等。
环内滤波器部520将经滤波处理的局部解码图像Rlocal馈送到帧存储器521。注意,例如,在诸如滤波器系数之类的与滤波器相关的信息被发送到解码侧的情况下,环内滤波器部520将与滤波器相关的信息提供给编码部515。
<帧存储器>
帧存储器521执行与存储图像相关数据有关的处理。例如,帧存储器521接收从计算部519馈送的局部解码图像Rlocal以及从环内滤波器部520馈送的经滤波的局部解码图像Rlocal作为输入,并且保存(存储)局部解码图像Rlocal。另外,帧存储器521使用局部解码图像Rlocal来重构每个图片单元的解码图像R,并且保存解码图像R(将解码图像R存储在帧存储器521中的缓冲器中)。响应于来自预测部522的请求,帧存储器521将解码图像R(或者解码图像R的一部分)馈送到预测部522。
<预测部>
预测部522执行与预测图像的生成相关的处理。例如,预测部522接收从控制部501馈送的预测模式信息Pinfo、从排序缓冲器511馈送的输入图像(原始图像)以及从帧存储器521读出的解码图像R(或者解码图像R的一部分)作为输入。预测部522使用预测模式信息Pinfo和输入图像(原始图像)来执行诸如帧间预测和帧内预测之类的预测处理,并且通过参考作为参考图像的解码图像R来执行预测。基于预测结果,预测部522执行运动补偿处理以生成预测图像P。预测部522将所生成的预测图像P馈送到计算部512和计算部519。另外,预测部522根据需要将与通过上述处理选择的预测模式相关的信息(即与最佳预测模式相关的信息)馈送给编码部515。
<速率控制部>
速率控制部523执行与速率控制相关的处理。例如,速率控制部523基于存储在存储缓冲器516中的编码数据的代码量,控制量化部514的量化操作的速率以防止上溢或下溢。
<本技术的应用>
上面<3.概念>和<4.方法1>中描述的本技术被应用于如上所述配置的图像编码装置500。例如,“方法1-1”可以应用于图像编码装置500。例如,控制部501可以在CTU 111中设置VPDU,编码部515可以并行地在包括VPDU 121的CTU 111的每行中执行编码。另外,编码部515可以执行每CTU行的处理,以相对于CTU行紧上方的CTU行将每CTU行的处理延迟与一个CTU对应的量。
例如,编码部515可以按照均包括单个或多个变换块并且与树结构中的最上编码块对应的编码树单元的每行并行地对与图像相关的系数数据进行编码,并且可以对每行执行编码,以相对于该行紧上方的行将编码延迟与一个编码树单元对应的量。
另外,例如,在与图像相关的系数数据的编码树单元的每行中,编码部515可以从最左侧的编码树单元开始依次对编码树单元进行逐一编码。
另外,例如,编码部515可以针对每个变换块对每个编码树单元进行编码。
另外,例如,编码部515可以通过使用从前一变换块的熵编码导出的发生概率来对每个变换块进行熵编码。
另外,例如,编码部515可以通过使用发生概率的初始值对图像中的编码树单元的最上方的行中的最左侧的编码树单元中的第一个变换块进行熵编码。此外,例如,编码部515可以通过使用从对该行紧上方的编码树单元的行中的最左侧的编码树单元中的最后一个变换块进行熵编码导出的发生概率对图像中的编码树单元的次上方行和随后的行中的最左侧的编码树单元中的每一个的第一个变换块进行熵编码。
另外,“方法1-2”可以应用于图像编码装置500。具体地,预测部522可以限制帧内预测模式中的某些模式。例如,“方法1-2-1”可以应用于图像编码装置500。具体地,在CTU中的右上VPDU的帧内预测中,控制部501可以使对右上VPDU的右上处的VPDU的参考无效,并且预测部522可以在控制部501的控制下执行帧内预测。换言之,对于CTU中的右上VPDU,预测部522可以在使对右上VPDU的右上处的VPDU的参考无效的同时执行帧内预测。
例如,在编码树单元的右上变换块的帧内预测中,预测部522可以使对右上变换块的右上处的变换块的参考无效。
另外,“方法1-3”可以应用于图像编码装置500。具体地,预测部522可以限制帧间预测。例如,“方法1-3-1”可以应用于图像编码装置500。具体地,在其中将CTU中的右上的VPDU用作当前预测块的帧间预测中,控制部501可以使对右上VPDU的右上处的VPDU的帧间预测模式和运动矢量的参考无效,并且预测部522可以在控制部501的控制下执行帧间预测。换言之,在使用CTU中的右上VPDU作为当前预测块的情况下,预测部522可以在使对右上VPDU的右上处的VPDU的帧间预测模式和运动矢量的参考无效的同时执行帧间预测。
例如,在编码树单元的右上变换块的帧间预测中,预测部522可以使对右上变换块的右上处的变换块的参考无效。
另外,例如,“方法1-3-2”可以应用于图像编码装置500。具体地,在块大小为128×N的预测块的帧间预测中,控制部501可以禁止对预测块的右上处的块的帧间预测模式和运动矢量的参考(使得对预测块的右上处的块的帧间预测模式和运动矢量的参考无效),并且预测部522可以在控制部501的控制下执行帧间预测。换言之,预测部522可以在使对具有128×N的块大小的当前预测块的右上处的块的参考无效的同时执行帧间预测。
例如,在用作帧间预测的处理单元并且具有与树结构中的最上编码块对应的编码树单元的水平长度相同的水平长度的预测块的帧间预测中,预测部522可以使对预测块右上处的变换块的参考无效。
这样的配置使得图像编码装置500能够抑制编码的并行度的降低,从而能够抑制处理时间的增加。
<5-2:处理流程>
<图像编码处理的流程>
接下来,将描述如上所述由图像编码装置500执行的每种类型的处理的流程。首先,参照图14中的流程图,将描述图像编码处理的流程的示例。
当开始图像编码处理时,在步骤S101中,排序缓冲器511在控制部501的控制下对输入的运动图像数据中的帧进行排序,以将帧的顺序从显示顺序变为编码顺序。
在步骤S102中,控制部501针对由排序缓冲器511保存的输入图像设置处理单元(执行块划分)。
在步骤S103中,控制部501确定(设置)由排序缓冲器511保存的输入图像的编码参数。这时,控制部501根据需要进行与上述帧内预测和帧间预测的限制相关的设置。该设置例如作为预测模式信息Pinfo被馈送到预测部522。
在步骤S104中,在控制部501的控制下,预测部522执行预测处理以生成处于最佳预测模式等的预测图像。下面将描述预测处理的细节。
在步骤S105中,计算部512计算在通过步骤S104中的预测处理选择的最佳模式下的输入图像与预测图像之间的差。换言之,计算部512生成输入图像与预测图像之间的预测残差resi。这样确定的预测残差resi具有比原始图像数据少的数据量。因此,与对图像进行直接编码的情况相比,这能够减少数据量。
在步骤S106中,正交变换部513对通过步骤S105中的处理生成的预测残差resi执行正交变换处理,以导出变换系数coef。
在步骤S107中,量化部514例如使用由控制部501计算出的量化参数对通过步骤S106中的处理而获得的变换系数coef进行量化,从而导出量化变换系数水平qcoef。
在步骤S108中,逆量化部517使用与步骤S107中的量化的特性对应的特性对通过步骤S107中的处理生成的量化变换系数水平qcoef进行逆量化,从而导出变换系数coefI。
在步骤S109中,逆正交变换部518使用与步骤S106中的正交变换处理对应的方法,对通过步骤S108中的处理而获得的变换系数coefI执行逆正交变换,从而导出预测残差resiI。注意,逆正交变换处理与在(下面描述的)解码侧执行的逆正交变换部相似,并且因此(下面给出的)解码侧的描述可以应用于步骤S109中的逆正交变换处理。
在步骤S110中,计算部519将通过步骤S104中的预测处理而获得的预测图像与从步骤S109中的处理导出的预测残差resiI相加,以生成局部解码的解码图像。
在步骤S111中,环内滤波器部520对从步骤S110中的处理进行局部解码并导出的解码图像执行环内滤波器处理。
在步骤S112中,帧存储器521存储从步骤S110中的处理进行局部解码并且导出的解码图像以及在步骤S111中进行局部解码并且滤波的解码图像。
在步骤S113中,编码部515执行编码处理,以对通过步骤S107中的处理获得的量化变换系数水平qcoef进行编码。例如,编码部515通过算术编码等对与图像相关的信息对应的量化变换系数水平qcoef进行编码以生成编码数据。另外,此时,编码部515对各种类型的编码参数(报头信息Hinfo、预测模式信息Pinfo和变换信息Tinfo)进行编码。此外,编码部515从量化变换系数水平qcoef导出残差信息Rinfo,并且对残差信息Rinfo进行编码。将描述编码处理的细节。
在步骤S114中,存储缓冲器516存储由此获得的编码数据,并且将该编码数据例如作为比特流输出到图像编码装置500的外部。比特流例如经由传输路径或记录介质被传输至解码侧。另外,速率控制部523根据需要执行速率控制。
当步骤S114中的处理结束时,图像编码处理结束。
在图像编码处理的步骤S113中执行的编码处理中,编码部515按照均包括单个或多个变换块并且与树结构中的最高编码块对应的编码树单元的每行并行地对与图像相关的系数数据进行编码,并且将每行的编码相对于该行紧上一行的编码延迟与一个编码树单元对应的量来进行编码。这使得图像编码装置500能够抑制编码的并行度的降低,从而能够抑制处理时间的增加。
<预测处理的流程>
接下来,将参照图15中的流程图描述在图14中的步骤S104中执行的预测处理的流程的示例。
当开始预测处理时,在步骤S131中,对于CTU中的右上VPDU的帧内预测,控制部501使对右上VPDU的右上处的VPDU的参考无效。在步骤S132中,预测部522根据步骤S131中的设置执行帧内预测。换言之,预测部522执行每个VPDU的帧内预测,并且在要处理CTU中的右上VPDU的情况下,预测部522在使对右上VPDU的右上处的VPDU的参考无效的同时执行帧内预测。
在步骤S133中,对于包括CTU的右上处的VPDU的预测块的帧间预测,控制部501使对预测块的右上处的VPDU的参考无效。另外,在步骤S134中,对于块大小为128×N的预测块的帧间预测,控制部501使对预测块的右上处的块的参考无效。在步骤S135中,预测部522根据步骤S133和步骤S134中的设置执行帧间预测。换言之,预测部522执行每个预测块的帧间预测,并且在要处理包括CTU中的右上VPDU的预测块的情况下,预测部522对在预测块的右上处的VPDU的参考无效的同时执行帧间预测,并且在要处理块大小为128×N的预测块的情况下,预测部522在使对预测块的右上处的块的参考无效的同时执行帧间预测。
在步骤S136中,预测部522基于步骤S132中的处理结果和步骤S135中的处理结果来选择最佳预测模式。换言之,预测部522以最佳帧内预测模式等执行帧内预测以生成预测图像,以最佳帧间预测模式等执行帧间预测以生成预测图像,并且基于成本函数等从上述模式中选择最佳预测模式。
当步骤S136中的处理结束时,预测处理结束,并且处理返回到图14。
<编码处理的流程>
接下来,将参照图16中的流程图描述在图14中的步骤S113中执行的编码处理的流程的示例。
当开始编码处理时,在步骤S151中,编码部515将指示要处理的CTU行的位置的变量T(按顺序从图像中的最上一行开始的行号)设置为初始值(=1)。
在步骤S152中,编码部515对与图像中的最上方的行对应的CTU行1执行CTU处理。下面将详细描述该处理。当对CTU行1执行的处理结束时,处理进行到步骤S153。
在步骤S153中,编码部515确定是否存在任何未处理的CTU行。在直至最下部的CTU行的处理尚未完成并且编码部515确定存在未处理的CTU行的情况下,处理进行到步骤S154。
在步骤S154中,编码部515将变量T的值加1(T=T+1)。当变量T的值增加时,处理进行到步骤S155。
在步骤S155中,编码部515对与自图像中的最上方的行起的第T行对应的CTU行T执行CTU处理。下面将详细描述该处理。当对CTU行T执行的处理结束时,处理返回到步骤S153。
换言之,重复步骤S153至S155中的处理,直到处理完所有CTU行为止。然后,在编码部515在步骤S153中确定不存在未处理的CTU行(所有CTU行均已被处理)的情况下,编码处理结束,并且处理返回图14。
<对CTU行1的CTU处理的流程>
接下来,将参照图17中的流程图描述在图16的步骤S152中执行的对CTU行1的CTU处理的流程的示例。
当开始CTU处理时,在步骤S171中,编码部515将指示当前CTU的位置(从图像中最左侧的CTU起的CTU的数目)的变量i设置为初始值(=1)。另外,编码部515将值N设置为水平方向上的CTU的数目。换言之,值N指示CTU行1中的CTU的数目。
在步骤S172中,编码部515使处理线程上下文(发生概率)初始化。
在步骤S173中,编码部515确定变量i是否等于或小于N(i<=N)。在确定变量i等于或小于N并且确定CTU行1包括未处理的CTU的情况下,处理进行到步骤S174。
在步骤S174中,编码部515从最左侧开始对第i个CTU进行编码。编码部515针对包括在第i个CTU中的每个VPDU从最左侧对第i个CTU进行编码。当从最左侧起的第i个CTU被编码时,处理进行到步骤S175。
在步骤S175中,编码部515确定变量i的值是否为1(i==1)。在变量i的值被确定为1(换言之,在步骤S174的处理中最左侧的CTU已经被编码)的情况下,处理进行到步骤S176。
在步骤S176中,编码部515保存在图像中最左侧的CTU中的最后一个VPDU的CABAC上下文(发生概率),该CABAC上下文已经在步骤S174中被生成。当上下文被保存时,处理进行到步骤S177。
另外,在步骤S175中,在确定变量i的值不为2(图像中最左侧的CTU不是处理目标)的情况下,跳过步骤S176的处理,并且处理进行到步骤S177。
在步骤S177中,编码部515确定变量i的值是否等于或大于1(i>=1)。在确定变量i的值等于或大于1的情况下,处理进行到步骤S178。
在步骤S178中,编码部515将CTU处理完成通知给与处理CTU行2的线程对应的CTU行2处理线程。当通知了CTU处理的完成时,处理进行到步骤S179。
另外,在步骤S177中确定变量i的值小于1(最左侧的CTU尚未完成编码)的情况下,跳过步骤S178的处理,并且处理进行到步骤S179。
在步骤S179中,编码部515将变量i的值加1(i=i+1)。当变量i的值增加时,处理返回到步骤S173。
换言之,重复步骤S173至S179中的处理,直到处理完CTU行1中的所有CTU为止。然后,在步骤S173中,在编码部515确定不存在未处理的CTU(CTU行1中的所有CTU均已被处理)的情况下,CTU处理结束,并且处理返回图16。
<对CTU行T的CTU处理的流程>
接下来,将参照图18中的流程图描述在图16的步骤S155等中执行的对CTU行T的CTU处理的流程的示例。
当开始CTU处理时,在步骤S191中,编码部515等待直到编码部515从与处理CTU行T紧上方的CTU行T-1的线程对应的CTU行T-1处理线程接收到CTU处理完成的通知为止。当从CTU行T-1处理线程获取到CTU处理完成的通知时,处理进行到步骤S192。
在步骤S192中,编码部515将变量i设置为初始值(=1)。另外,编码部515将值N设置为水平方向上的CTU的数目。
在步骤S193中,编码部515接管在对CTU行T紧上方的CTU行T-1执行的CTU处理时保存的CABAC上下文(发生概率),并且初始化CABAC。
在步骤S194中,编码部515确定变量i是否等于或小于N(i<=N)。在确定变量i等于或小于N并且确定CTU行T包括未处理的CTU的情况下,处理进行到步骤S195。
在步骤S195中,为了控制处理定时,编码部515等待直到编码部515从CTU行T-1处理线程接收到CTU处理完成的通知。当从CTU行T-1处理线程获取到CTU处理完成的通知时,处理进行到步骤S196。
在步骤S196中,编码部515针对第i个CTU中包括的每个VPDU从最左侧开始对第i个CTU进行编码。当从最左侧起的第i个CTU被编码时,处理进行到步骤S197。
在步骤S197中,编码部515确定变量i的值是否为1(i==1)。在变量i的值被确定为1(即,确定最左侧的CTU被处理)的情况下,处理进行到步骤S198。
在步骤S198中,编码部515保存在图像的最左侧的CTU中的最后一个VPDU的CABAC上下文(发生概率),该CABAC上下文已经在步骤S196中生成。当上下文被保存时,处理进行到步骤S199。
另外,在步骤S197中,在确定变量i的值不为1(图像中最左侧的CTU不是处理目标)的情况下,跳过步骤S198的处理,并且处理进行到步骤S199。
在步骤S199中,编码部515确定变量i的值是否等于或大于1(i>=1)。在确定变量i的值等于或大于1的情况下,处理进行到步骤S200。
在步骤S200中,编码部515将CTU处理完成通知给与处理CTU行T紧下方的CTU行T+1的线程对应的CTU行T+1处理线程。当通知完成了CTU处理时,处理进行到步骤S201。
另外,在步骤S199中确定变量i的值小于1(即,最左侧的CTU尚未完成编码)的情况下,跳过步骤S200的处理,并且处理进行到步骤S201。
在步骤S201中,编码部515将变量i的值加1(i=i+1)。当变量i的值增加时,处理返回到步骤S194。
换言之,重复步骤S194至S201的处理,直到处理完CTU行T中的所有CTU为止。然后,在步骤S194中,在编码部515确定不存在未处理的CTU(CTU行T中的所有CTU均已被处理)的情况下,CTU处理结束,并且处理返回图16。
通过执行每个处理步骤,图像编码装置500可以抑制编码的并行度的降低。
<5-3:图像解码装置>
另外,上述本技术可以应用于例如对通过对图像数据进行编码而获得的编码数据进行解码的图像解码装置。
图19是示出与应用了本技术的图像处理装置的一个方面对应的图像解码装置的配置示例的框图。与AVC或HEVC中一样,图25所示的图像解码装置600对通过对图像与图像的预测图像之间的预测残差进行编码而获得的编码数据进行解码。例如,图像解码装置600实施非专利文献1至非专利文献6中描述的技术,并且通过使用符合这些文献中任何一个中描述的标准的方法,对通过对运动图像的图像数据进行编码而获得的编码数据进行解码。例如,图像解码装置600对由上述图像编码装置500生成的编码数据(比特流)进行解码。
注意,图19示出了诸如处理部和数据流之类的主要元件,但是未示出图像解码装置600的所有元件。换言之,在图像解码装置600中,可以存在未在图19中以方框示出的处理部,或者可以存在未在图19中以箭头等示出的处理流程或数据。
在图19中,图像解码装置600包括存储缓冲器611、解码部612、逆量化部613、逆正交变换部614、计算部615、环内滤波器部616、排序缓冲器617、帧存储器618和预测部619。注意,预测部619包括未示出的帧内预测部和帧间预测部。图像解码装置600是被配置为通过对编码数据(比特流)进行解码来生成运动图像数据的装置。
<存储缓冲器>
存储缓冲器611获取并保存(存储)输入到图像解码装置600的比特流。例如,存储缓冲器611在预定的定时处或者在满意预定条件的情况下,将存储的比特流馈送到解码部612。
<解码部>
解码部612执行与图像的解码相关的处理。例如,解码部612接收从存储缓冲器611馈送的比特流作为输入,并且根据语法表中的定义对来自比特序列的各个语法元素的语法值进行可变长度解码,以导出参数。
从语法元素导出的参数以及语法元素的语法值包括例如报头信息Hinfo、预测模式信息Pinfo、变换信息Tinfo、残差信息Rinfo、滤波器信息Finfo等。换言之,解码部612从比特流中解析(分析和获取)这些信息。这些信息将在下面描述。
<报头信息Hinfo>
报头信息Hinfo包括诸如VPS(视频参数集)/SPS(序列参数集)/PPS(图片参数集)/SH(切片报头(slice header))之类的报头信息。报头信息Hinfo包括指定例如如下内容的信息:图像大小(水平宽度PicWidth和竖直宽度PicHeight)、位深度(亮度bitDepthY和色差bitDepthC)、色差阵列类型ChromaArrayType、CU大小的最大值MaxCUSize/CU大小的最小值MinCUSize、四叉树划分的最大深度MaxQTDepth/最小深度MinQTDepth、二叉树划分的最大深度MaxBTDepth/最小深度MinBTDepth、变换跳过块的最大值MaxTSSize(也称为最大变换跳过块大小)、每个编码工具的开/关标志(也称为启用标志)等。
例如,报头信息Hinfo中包括的编码工具的开/关标志包括与以下描述的变换和量化处理相关的开/关标志。注意,编码工具的开/关标志也可以被解释为指示在编码数据中是否存在与编码工具相关的语法的标志。此外,值为1(真)的开/关标志指示编码工具可用,而值为0(假)的开/关标志指示编码工具无效。注意,可以相反地解释标志值。
分量间预测使能标志(ccp_enabled_flag)是指示分量间预测(CCP,也称为CC预测)是否可用的标志信息。例如,标志信息为“1”(真)指示CCP有效,而标志信息为“0”(假)指示CCP无效。
注意,CCP也称为分量间线性预测(CCLM或CCLMP)。
<预测模式信息Pinfo>
预测模式信息Pinfo包括诸如处理目标PB(预测块)大小信息PBSize(预测块大小)、帧内预测模式信息IPinfo和运动预测信息MVinfo之类的信息。
帧内预测模式信息IPinfo包括例如JCTVC-W1005的7.3.8.5编码单元语法中的prev_intra_luma_pred_flag,mpm_idx和rem_intra_pred_mode以及从该语法导出的亮度帧内预测模式IntraPredModeY。
另外,帧内预测模式信息IPinfo包括例如从这些语法导出的分量间预测标志(ccp_flag(cclmp_flag))、多类线性预测模式标志(mclm_flag)、色差样本位置类型标识符(chroma_sample_loc_type_idx)以及色差MPM标识符(chroma_mpm_idx)和亮度帧内预测模式(IntraPredModeC)。
分量间预测标志(ccp_flag(cclmp_flag))是指示是否应用分量间线性预测的标志信息。例如,ccp_flag==1指示将应用分量间线性预测,而ccp_flag==0指示将不应用分量间线性预测标志。
多类线性预测模式标志(mclm_flag)是与线性预测的模式相关的信息(线性预测模式信息)。更具体地,多类线性预测模式标志(mclm_flag)是指示是否应用多类线性预测模式的标志信息。例如,“0”指示一类模式(单类模式)(例如,CCLMP),而“1”指示二类模式(多类模式)(例如,MCLMP)。
色差样本位置类型标识符(chroma_sample_loc_type_idx)是标识色差分量的像素位置的类型(也称为色差样本位置类型)的标识符。例如,在与同颜色格式相关的信息对应的色差阵列类型(ChromaArrayType)指示420格式的情况下,如以下式(4)所示分配色差样本位置类型标识符。
[式4]
chroma_sample_loc_type_idx==0:类型2
chroma_sample_loc_type_idx==1:类型3
chroma_sample_loc_type_idx==2:类型0
chroma_smaple_loc_type_idx==3:类型1
…(4)
注意,色差样本位置类型标识符(chroma_sample_loc_type_idx)(被存储在与色差分量的像素位置相关的信息中并且)作为与色差分量的像素位置相关的信息(chroma_sample_loc_info())来发送。
色差MPM标识符(chroma_mpm_idx)是表示将色差帧内预测候选列表(intraPredModeCandListC)中的哪个预测模式候选指定为色差帧内预测模式的标识符。
运动预测信息MVinfo包括例如诸如merge_idx、merge_flag、inter_pred_idc、ref_idx_LX、mvp_lX_flag、X={0,1}和mvd的信息(例如,参见JCTVC-W1005的7.3.8.6预测单元语法)。
不言而喻,包括在预测模式信息Pinfo中的信息是可选的,并且可以包括除上述之外的信息。
<变换信息Tinfo>
变换信息Tinfo包括例如以下描述的信息。不言而喻,包括在变换信息Tinfo中的信息是可选的,并且可以包括除以下之外的信息。
要处理的变换块的水平宽度大小TBWSize和竖直宽度TBHSize(或以2为底的TBWSize和TBHSize的对数值log2TBWSize和log2TBHSize)。变换跳过标志(ts_flag):指示是否跳过(逆)一次变换和(逆)二次变换的标志。
扫描标识符(scanIdx)
量化参数(qp)
量化矩阵(scaling_matrix(例如,JCTVC-W1005的7.3.4缩放列表数据语法))
<残差信息Rinfo>
残差信息Rinfo(例如,参见JCTVC-W1005中的7.3.8.11残差编码语法)包括例如以下语法。
cbf(coded_block_flag):残差数据存在/不存在标志
last_sig_coeff_x_pos:最后一个非零系数X坐标
last_sig_coeff_y_pos:最后一个非零系数Y坐标
coded_sub_block_flag:子块非零系数存在/不存在标志
sig_coeff_flag:非零系数存在/不存在标志
gr1_flag:指示非零系数的水平是否大于1的标志(也称为GR1标志)
gr2_flag:指示非零系数的水平是否大于2的标志(也称为GR2标志)
sign_flag:指示非零系数是正还是负的代码(也称为符号代码)
coeff_abs_level_remaining:非零系数的剩余水平(也称为非零系数剩余水平)
等等。
不言而喻,包括在残差信息Rinfo中的信息是可选的,并且可以包括除上述信息之外的信息。
<滤波器信息Finfo>
滤波器信息Finfo包括例如与下述的各种滤波处理相关的控制信息。
与去块滤波器(DBF)相关的控制信息
与自适应偏移滤波器(SAO)相关的控制信息
与自适应环路滤波器(ALF)相关的控制信息
与任何其他线性或非线性滤波器相关的控制信息
更具体地,滤波器信息Finfo包括例如应用了每个滤波器的图片、指定图片内的区域的信息、以CU为单位的滤波器开/关控制信息、切片、与图块之间的边界相关的滤波器开/关控制信息等。不言而喻,包括在滤波器信息Finfo中的信息是可选的,并且可以包括除上述信息之外的信息。
返回到解码部612的描述,解码部612参考残差信息Rinfo来导出每个变换块内的每个系数位置中的量化变换系数水平qcoef。解码部612将量化变换系数水平qcoef馈送到逆量化部613。
另外,解码部612向每个块馈送已解析的报头信息Hinfo、预测模式信息Pinfo、量化变换系数水平qcoef、变换信息Tinfo和滤波器信息Finfo。具体地,如下所述地馈送信息。
报头信息Hinfo被馈送到逆量化部613、逆正交变换部614、预测部619和环内滤波器部616。预测模式信息Pinfo被馈送到逆量化部613和预测部619。变换信息Tinfo被馈送到逆量化部613和逆正交变换部614。滤波器信息Finfo被馈送到环内滤波器部616。
不言而喻,上述示例是说明性的而不是限制性的。例如,每个编码参数可以被馈送到任何处理部。另外,其他信息可以被馈送到任何处理部。
<逆量化部>
逆量化部613执行与逆量化相关的处理。例如,逆量化部613接收从解码部612馈送的变换信息Tinfo和量化变换系数水平qcoef作为输入,并且基于变换信息Tinfo来对量化变换系数水平qcoef的值进行缩放(逆量化),从而导出经逆量化的变换系数coefI。
注意,逆量化是作为由量化部514执行的量化的逆处理而执行的。另外,逆量化是与由逆量化部517执行的逆量化相似的处理。换言之,逆量化部517执行与由逆量化部613执行的处理类似的处理(逆量化)。
逆量化部613将导出的变换系数coefI馈送到逆正交变换部614。
<逆正交变换部>
逆正交变换部614执行与逆正交变换相关的处理。例如,逆正交变换部614接收从逆量化部613馈送的变换系数coefI以及从解码部612馈送的变换信息Tinfo作为输入,并且基于变换信息Tinfo对变换系数coefI执行逆正交变换,从而导出预测残差resiI。
注意,逆正交变换被执行为由正交变换部513执行的正交变换的逆处理。另外,逆正交变换是与由逆正交变换部518执行的逆正交变换相似的处理。也就是说,逆正交变换部518执行与逆正交变换部614执行的处理相似的处理(逆正交变换)。
逆正交变换部614将导出的预测残差resiI馈送到计算部615。
<计算部>
计算部615执行与图像相关信息的相加有关的处理。例如,计算部615接收从逆正交变换部614馈送的预测残差resiI以及从预测部619馈送的预测图像P作为输入。计算部615将预测残差resiI与同该预测残差resiI对应的预测图像P(预测信号)相加,以导出局部解码图像Rlocal,如下面的式(5)所示。
[数学式5]
Rlocal=resiI+P...(5)
计算部615将导出的局部解码图像Rlocal馈送到环内滤波器部616和帧存储器618。
<环内滤波器部>
环内滤波器部616执行与环内滤波器处理相关的处理。例如,环内滤波器部616接收从计算部615馈送的局部解码图像Rlocal以及从解码部612馈送的滤波器信息Finfo作为输入。注意,输入到环内滤波器部616的信息是可选的,可以输入除上述信息以外的信息。
环内滤波器部616基于滤波器信息Finfo适当地对局部解码图像Rlocal执行滤波处理。
例如,环内滤波器部616依次应用四个环内滤波器,四个环内滤波器包括:双边滤波器、去块滤波器(DBF)、自适应偏移滤波器(SAO(样本自适应偏移))和自适应环内滤波器(ALF)。请注意,应用哪个滤波器以及应用的顺序是可选的,并且可以通过适当的选择来确定。
环内滤波器部616执行与在编码侧(例如,图像编码装置500的环内滤波器部520)执行的滤波处理对应的滤波处理。不言而喻,由环内滤波器部616执行的滤波器处理是可选的,并且不限于上述示例。例如,环内滤波器部616可以应用维纳滤波器等。
环内滤波器部616将经滤波的局部解码图像Rlocal馈送到排序缓冲器617和帧存储器618。
<排序缓冲器>
排序缓冲器617接收从环内滤波器部616馈送的局部解码图像Rlocal作为输入,并且保存(存储)局部解码图像Rlocal。排序缓冲器617使用局部解码图像Rlocal来以图片为单位重构解码图像R,并且保存解码图像R(将解码图像R存储在缓冲器中)。排序缓冲器617对获得的解码图像R进行排序,以将解码图像R的顺序从解码顺序变为再现顺序。排序缓冲器617将经排序的解码图像R的组作为运动图像数据输出到图像解码装置600的外部。
<帧存储器>
帧存储器618执行与图像相关数据的存储有关的处理。例如,帧存储器618接收从计算部615馈送的局部解码图像Rlocal作为输入,以图片为单位重建解码图像R,并且将解码图像R存储在帧存储器618中的缓冲器中。
另外,帧存储器618接收经过环内滤波并且从环内滤波器部616馈送的局部解码图像Rlocal作为输入,以图片为单位重构解码图像R,并且将解码图像R存储在帧存储器618中的缓冲器中。帧存储器618适当地将帧存储器618中存储的任何解码图像R(或者解码图像R的一部分)馈送到预测部619作为参考图像。
注意,帧存储器618可以存储与解码图像的生成相关的报头信息Hinfo、预测模式信息Pinfo、变换信息Tinfo、滤波器信息Finfo等。
<预测部>
预测部619执行与预测图像的生成相关的处理。例如,预测部619接收从解码部612馈送的预测模式信息Pinfo作为输入,并且通过使用由预测模式信息Pinfo指定的预测方法来执行预测,从而导出预测图像P。在导出期间,预测部619将存储在帧存储器618中并且由预测模式信息Pinfo指定的经滤波或未经滤波的解码图像R(或者解码图像R的一部分)用作参考图像。预测部619将导出的预测图像P馈送到计算部615。
<本技术的应用>
上面在<3.概念>和<4.方法1>中描述的本技术被应用于如上所述配置的图像解码装置600。例如,“方法1-1”被应用于图像解码装置600。例如,解码部612可以在CTU 111中设置VPDU 121,并且并行地在包括VPDU 121的CTU 111的每行中对编码数据进行解码。另外,解码部612将每个CTU行的处理相对于CTU行紧上方的CTU行延迟与一个CTU对应的量来执行。
例如,解码部612按照编码树单元的每行并行地对通过对与图像相关的系数数据进行编码而获得的编码数据进行解码,每个编码树单元包括单个或多个变换块并且对应于树结构的最上位编码块,并且解码部612将每行的解码相对于该行的紧上一行的解码延迟与一个编码树单元对应的量来执行。
另外,例如,解码部612可以对与图像相关的系数数据的编码树单元的每行的编码数据进行解码,使得从最左侧的编码树单元开始依次逐个对编码树单元进行解码。
另外,例如,解码部612可以按照每个变换块对每个编码树单元的编码数据进行解码。
另外,例如,解码部612可以通过使用从前一个变换块的编码数据的熵解码中导出的发生概率来对每个变换块的编码数据进行熵解码。
另外,例如,解码部612可以使用发生概率的初始值来对图像中的编码树单元的最上方的行中的最左侧的编码树单元中的第一个变换块的编码数据进行熵解码。另外,例如,解码部612可以通过使用从对该行紧上方的编码树单元的行中的最左侧的编码树单元中的最后一个变换块的编码数据进行熵解码导出的发生概率对图像中的编码树单元的次上方行和随后的行中的最左侧的编码树单元中的每一个的第一个变换块的编码数据进行熵解码。
另外,“方法1-2”可以应用于图像解码装置600。具体地,预测部619可以限制帧内预测中的某些模式。例如,“方法1-2-1”可以应用于图像解码装置600。具体地,在CTU中的右上VPDU的帧内预测中,预测部619可以在使对右上VPDU的右上处的VPDU的参考无效的同时执行帧内预测。
例如,在编码树单元的右上变换块的帧内预测中,预测部619可以使对右上变换块的右上处的变换块的参考无效。
另外,“方法1-3”可以应用于图像解码装置600。具体地,预测部619可以限制帧间预测。例如,“方法1-3-1”可以应用于图像解码装置600。具体地,在其中将CTU中的右上VPDU用作当前预测块的帧间预测中,预测部619可以在使对右上VPDU的右上处的VPDU的帧间预测模式和运动矢量的参考无效的同时执行帧间预测。
例如,在编码树单元中的右上变换块的帧间预测中,预测部619可以使对右上变换块的右上处的变换块的参考无效。
另外,例如,“方法1-3-2”可以应用于图像解码装置600。具体地,在具有128×N的块大小的预测块的帧间预测中,预测部619可以在使对预测块的右上处的块的帧间预测模式和运动矢量的参考无效的同时执行帧间预测。
例如,在与帧间预测的处理单元对应并且具有与编码树单元的水平长度相同的水平长度的预测块的帧间预测中,预测部619可以使对预测块的右上处的变换块的参考无效。
这样的配置使得图像解码装置600能够抑制解码的并行度的降低,从而能够抑制处理时间的增加。
<5-4:处理的流程>
<图像解码处理的流程>
接下来,下面将描述如上所述由图像解码装置600执行的每种类型的处理的流程。首先,将参照图20中的流程图描述图像解码处理的流程的示例。
当开始图像解码处理时,在步骤S301中,存储缓冲器611获取从图像解码装置600的外部馈送的编码数据(比特流),并且保存(存储)该编码数据。
在步骤S302中,解码部612执行解码处理以对编码数据(比特流)进行解码,从而获得量化变换系数水平qcoef。另外,解码部612执行解码以从编码数据(比特流)解析(分析和获取)各种类型的编码参数。下面将描述解码处理的细节。
在步骤S303中,逆量化部613对通过步骤S302中的处理获得的量化变换系数水平qcoef执行与在编码侧执行的量化的逆处理对应的逆量化,从而获得变换系数coefI。
在步骤S304中,逆正交变换部614对通过步骤S303中的处理获得的变换系数coefI执行与在编码侧执行的正交变换处理的逆处理对应的逆正交变换处理,从而获得预测残差resiI。
在步骤S305中,预测部619基于在步骤S302中解析的信息,使用由编码侧指定的预测方法来执行预测处理,并且例如通过参考存储在帧存储器618中的参考图像来生成预测图像P。
在步骤S306中,计算部615将通过步骤S304中的处理获得的预测残差resiI与通过步骤S305中的处理获得的预测图像P相加,以导出局部解码图像Rlocal。
在步骤S307中,环内滤波器部616对通过步骤S306中的处理获得的局部解码图像Rlocal执行环内滤波器处理。
另外,在步骤S308中,帧存储器618存储至少通过步骤S306中的处理获得的局部解码图像Rlocal或者通过步骤S307中的处理获得的经滤波的局部解码图像Rlocal。
在步骤S309中,排序缓冲器617使用通过步骤S307中的处理获得的经滤波的局部解码图像Rlocal来导出解码图像R,并且对解码图像R的组进行排序以将解码图像R的顺序从解码顺序变为再现顺序。
在步骤S310中,排序缓冲器617将按再现顺序排序的解码图像R的组作为运动图像输出到图像解码装置600的外部。当步骤S310中的处理结束时,图像解码处理结束。
在如上所述的图像解码处理的步骤S302中执行的解码处理中,解码部612按照编码树单元的每行并行地对通过对与图像相关的系数数据进行编码而获得的编码数据进行解码,每个编码树单元包括单个或多个变换块并且对应于树结构的最上位编码块,并且解码部将每行的解码相对于该行的紧上一行的解码延迟与一个编码树单元对应的量来执行。这使得图像解码装置600能够抑制解码的并行度的降低,从而能够抑制处理时间的增加。
<解码处理的流程>
接下来,将参照图21中的流程图描述在图20的步骤S302中执行的解码处理的流程的示例。
当开始解码处理时,在步骤S331中,解码部612将指示要处理的CTU行的位置的变量T(从图像中的最上面的行开始依次排列的行数)设置为初始值(=1)。
在步骤S332中,解码部612对与图像中的最上方的行对应的CTU行1执行CTU处理。处理的细节将在下面描述。当对CTU行1的处理结束时,处理进行到步骤S333。
在步骤S333中,解码部612确定是否存在任何未处理的CTU行。在解码部612确定直至最下方的CTU行的处理尚未被执行并且存在未处理的CTU行的情况下,处理进行到步骤S334。
在步骤S334中,解码部612将变量T的值加1(T=T+1)。当变量T的值增加时,处理进行到步骤S335。
在步骤S335中,解码部612对与从图像中的最上方的行起第T行对应的CTU行T执行CTU处理。处理的细节将在下面描述。当CTU行T上的处理结束时,处理返回到步骤S333。
换言之,重复步骤S333至S335中的处理,直到处理完所有CTU行为止。然后,在步骤S333中,在解码部612确定不存在未处理的CTU行(所有CTU行均已被处理)的情况下,解码处理结束,并且处理返回到图20。
<对CTU行1的VPDU处理的流程>
接下来,将参照图22中的流程图描述在图21的步骤S332中执行的对CTU行1的CTU处理的流程的示例。
当开始CTU处理时,在步骤S351中,解码部612将指示当前CTU的位置的变量i设置为初始值(=1)(按照从图像中最左侧的CTU开始的顺序的CTU号)。另外,解码部612将值N设置为水平方向上的CTU的数目。
在步骤S352中,解码部612使CABAC上下文(发生概率)初始化。
在步骤S353中,解码部612确定变量i是否等于或小于N(i<=N)。在解码部612确定变量i等于或小于N并且CTU行1包括未处理的CTU的情况下,处理进行到步骤S354。
在步骤S354中,解码部612从最左侧开始对第i个CTU的编码数据进行解码。
在步骤S355中,解码部612确定变量i的值是否为1(i==1)。在变量i的值被确定为1的情况下(即,在步骤S354中,处理图像中的最左侧的CTU),处理进行到步骤S356。
在步骤S356中,解码部612保存图像的最左侧的CTU中的最后一个VPDU的CABAC上下文(发生概率),已经在步骤S354中生成该CABAC上下文。当上下文被保存时,处理进行到步骤S357。
另外,在步骤S355中,在确定变量i的值不为1的情况下(在步骤S354中,处理了除图像中最左侧的CTU以外的CTU,或者尚未完成对图像中最左侧的CTU的处理),则跳过步骤S356的处理,然后处理进行到步骤S357。
在步骤S357中,解码部612确定变量i的值是否等于或大于1(i>=1)。在确定变量i的值等于或大于1的情况下,处理进行到步骤S358。
在步骤S358中,解码部612通知与处理CTU行2的线程对应的CTU行2处理线程的CTU处理的完成。当通知了完成CTU处理时,处理进行到步骤S359。
另外,在步骤S357中,在确定变量i的值小于1(最左侧的CTU的处理尚未完成)的情况下,跳过步骤S358的处理,并且处理进行到步骤S359。
在步骤S359中,解码部612将变量i的值加1(i=i+1)。当变量i的值增加时,处理返回到步骤S353。
换言之,重复步骤S353至S359中的处理,直到处理完CTU行1中的所有CTU为止。然后,在步骤S353中,在解码部612确定不存在未处理的CTU(CTU行1中的所有CTU均已被处理)的情况下,CTU处理结束,并且处理返回图21。
<对CTU行T的CTU处理的流程>
接下来,将参照图23和图24中的流程图描述在图21的步骤S335中执行的对CTU行T的CTU处理的流程的示例。
当在这种情况下开始CTU处理时,在步骤S371中,解码部612等待,直到解码部612从与处理CTU行紧上方的CTU行T-1的线程对应的CTU行T-1处理线程接收到CTU处理完成的通知为止。当从CTU行T-1处理线程接收到CTU处理完成的通知时,处理进行到步骤S372。
在步骤S372中,解码部612将变量i设置为初始值(=1)。另外,解码部612将值N设置为水平方向上的CTU的数目。
在步骤S373中,解码部612接管当在对CTU行T紧接上方的CTU行T-1执行CTU处理时保存的CABAC上下文(发生概率),并且使CABAC初始化。
在步骤S374中,解码部612确定变量i是否等于或小于N(i<=N)。在解码部612确定变量i等于或小于N并且CTU行T包括未处理的CTU的情况下,处理进行到步骤S375。
在步骤S375中,为了控制处理定时,解码部612等待,直到解码部612从CTU行T-1处理线程接收到CTU处理完成的通知为止。当从CTU行T-1处理线程接收到CTU处理完成的通知时,处理进行到步骤S376。
在步骤S376中,解码部612使对当前CTU的右上处的CTU的参考无效。因此,在预测处理(图20中的步骤S305)包括其中将CTU中的右上VPDU用作当前预测块的帧间预测的情况下,预测部619可以在使对当前预测块右上处的VPDU(即,当前CTU右上处的CTU)的帧间预测模式和运动矢量的参考无效的同时执行帧间预测。
在步骤S377中,解码部612从最左侧开始对第i个CTU的编码数据进行解码。当解码结束时,处理进行到图24中的步骤S381。
在步骤S381中,解码部612确定第i个CTU是否处于帧间128×N模式(即,第i个CTU是否被包括在已经执行了帧间预测的128×N的预测块中)。在解码部612确定第i个CTU处于帧间128×N模式的情况下,处理进行到步骤S382。
在步骤S382中,在这种情况下,当前CTU被包括在已经执行了帧间预测的块大小为128×N的预测块中,因此,解码部612使对预测块的右上处的块的参考无效。当步骤S382中的处理结束时,处理进行到步骤S383。
另外,在步骤S381中,在确定第i个CTU不处于帧间128×N模式下的情况下,跳过(省略)步骤S382的处理,并且处理进行到步骤S383。
在步骤S383中,解码部612确定变量i的值是否为1(i==1)。在变量i的值被确定为1的情况下,处理进行到步骤S384。
在步骤S384中,解码部612保存当前VPDU(图像中最左侧的CTU中的最后一个VPDU)的CABAC上下文(发生概率),已经在图23的步骤S377中生成该CABAC编码。当保存了上下文时,处理进行到步骤S385。
另外,在步骤S383中,在确定变量i的值不为1(图像中最左侧的CTU不是处理目标)的情况下,跳过步骤S384的处理,并且处理进行到步骤S385。
在步骤S385中,解码部612确定变量i的值是否等于或大于1(i>=1)。在确定变量i的值等于或大于1的情况下,处理进行到步骤S386。
在步骤S386中,解码部612将CTU处理完成通知给与处理CTU行T紧下方的CTU行T+1的线程对应的CTU行T+1处理线程。当通知了完成CTU处理后,处理进行到步骤S387。
另外,在步骤S385中,在确定变量i的值小于1(尚未完成处理作为处理目标的图像中最左侧的CTU)的情况下,跳过处理步骤S386,并且处理进行到步骤S387。
在步骤S387中,解码部612将变量i的值加1(i=i+1)。当变量i的值增加时,处理返回到图23中的步骤S374。
换言之,重复图23中的步骤S374至S377中的处理以及图24中的步骤S381至S387中的处理,直到处理完CTU行T中的所有CTU为止。然后,在步骤S374中,解码部612确定不存在未处理的CTU(CTU行T中的所有CTU均已被处理),CTU处理结束,并且处理返回图21。
通过执行如上所述的处理,图像解码装置600可以抑制解码的并行度的降低。
<6.补充功能>
<计算机>
处理步骤的序列可以由硬件或软件执行。在处理步骤的序列由软件执行的情况下,软件中包括的程序被安装在计算机中。在此,计算机的示例包括集成在专用硬件中的计算机,例如,可以通过安装各种程序来执行各种功能的通用计算机。
图25是示出根据程序执行上述处理步骤的序列的计算机的硬件的配置示例的框图。
在图25所示的计算机800中,CPU(中央处理单元)801、ROM(只读存储器)802和RAM(随机存取存储器)803经由总线804连接在一起。
输入/输出接口810也连接到总线804。输入/输出接口810连接到输入部811、输出部812、存储部813、通信部814和驱动器815。
输入部811包括例如键盘、鼠标、麦克风、触摸面板、输入端子等。输出部812包括例如显示器、扬声器、输出端子等。存储部813包括例如硬盘、RAM盘、非易失性存储器等。通信部814包括例如网络接口。驱动器815驱动可移动介质821,例如磁介质、光盘、磁光盘或半导体存储器。
在如上所述配置的计算机中,CPU 801例如经由输入/输出接口810和总线804将存储在存储部813中的程序加载到RAM 803中并执行该程序,从而执行上述处理步骤的序列。RAM 803还根据需要存储例如CPU 801执行各种处理步骤所需的数据。
例如,可以将由计算机(CPU 801)执行的程序记录在用作应用的封装介质等的可移动介质821中。在这种情况下,通过将可移动介质821安装到驱动器815,可以经由输入/输出接口810将程序安装在存储部813中。
另外,可以经由诸如局域网、因特网或数字卫星广播之类的有线或无线传输介质来提供程序。在这种情况下,程序可以被通信部814接收并安装在存储部813中。
否则,可以预先将程序安装在ROM 802或存储部813中。
<信息和处理的单元>
设置有上述各种类型的信息的数据单元以及与各种类型的处理的目标对应的数据单元是可选的,并且不限于上述示例。例如,可以针对TU(变换单元)、TB(变换块)、PU(预测单元)、PB(预测块)、CU(编码单元)、LCU(最大编码单元)、子块、块、图块、切片、图片、序列或部件中的每一个或者此类数据单元中的数据设置上述信息和处理。不言而喻,可以针对每条信息和每个处理步骤设置数据单元,并且不必针对所有信息和处理使用公共数据单元。注意,这些信息被存储在任何位置,并且可以存储在上述数据单元中的报头、参数集等中。另外,信息可以被存储在多个位置。
<控制信息>
可以从编码侧向解码侧发送与本技术相关并且在上述实施方式中描述的控制信息。例如,可以发送用于控制是否允许(或禁止)上述本技术的应用的控制信息(例如,enabled_flag)。另外,例如,可以发送指示应用了上述本技术的目标(或者不应用上述本技术的目标)的控制信息。例如,可以发送控制信息,该控制信息指定了要应用本技术(或者针对其允许或禁止应用)的块大小(上限或下限或两者)、帧、分量、层等。
<本技术的应用目标>
本技术可以应用于任何图像编码和解码方案。具体地,在与上述本技术一致的范围内,诸如变换(逆变换)、量化(逆量化)、编码(解码)和预测之类的与图像编码和解码有关的各种类型的处理的规范是可选的,并且说明书不限于上述示例。另外,在与上述本技术一致的范围内,可以省略这些类型的处理中的一些。
另外,本技术可以应用于用于对包括多个视图中的图像的多视图图像进行编码和解码的多视图图像编码和解码系统。在这种情况下,将本技术应用于每个视图中的编码和解码就足够了。
此外,本技术可以应用于用于对具有多个层(具有分级结构)的分层图像进行编码和解码的分层图像编码(可缩放编码)和解码系统,以为某些参数提供可缩放性功能。在这种情况下,将本技术应用于每一层的编码和解码就足够了。
根据上述实施方式的图像处理装置、图像编码装置和图像解码装置可以应用于各种类型的电子装置,包括例如卫星广播、诸如有线电视之类的广播、互联网上的分发以及通过蜂窝通信向终端的分发中的发送器和接收器(例如,电视接收器和蜂窝电话)或者是在诸如光盘、磁盘和闪存中记录图像并且从这些存储介质中复制图像的装置(例如,硬盘记录器和摄像装置)。
另外,本技术可以被实现为安装在装置中或者系统中包括的任何装置中的任何配置,例如用作系统LSI(大规模集成)的处理器等(例如,视频处理器)、使用多个处理器等的模块(例如,视频模块)、使用多个模块等的单元(例如,视频单元)、包括添加了任何其他功能的单元的集合(例如,视频集)等(即,作为与装置的一部分对应的配置)。
此外,本技术可以应用于包括多个装置的网络系统。例如,本技术可以应用于向诸如计算机、AV(视听)设备、便携式信息处理终端或IoT(物联网)装置之类的任何终端提供与图像(运动图像)相关的服务的云服务。
注意,应用本技术的系统、装置、处理部等可以在诸如交通、医疗、预防犯罪、农业、畜牧业、采矿业、美容保健、工厂、家用电器、天气服务和自然监视的任何领域中使用。此外,它们可以用于任何目的。
例如,本技术可以应用于用于提供用于观看等的内容的系统和装置。另外,本技术可以应用于用于交通目的例如交通状况的管理和自动操作控制的系统和装置。此外,例如,本技术可以应用于用于安全目的的系统和装置。另外,例如,本技术可以应用于用于机器等的自动控制的系统和装置。此外,例如,本技术可以应用于用于农业和畜牧业的系统和装置。另外,本技术可以应用于监视例如火山、森林、海洋、野生生物等自然状况的系统和装置。此外,例如,本技术可以应用于用于运动目的的系统和装置。
<其他>
注意,本文中使用的“标志”是指用于将多个状态彼此区分的信息,并且包括用于将三个或更多状态以及真(1)和假(0)两个状态彼此区分的信息。因此,“标志”可以采用的值可以是1/0的二进制值,或者是三个或更多个值。具体地,“标志”中包括的位数是可选的,并且“标志”包括一个或多个位。另外,假定标识信息(包括标志)具有如下形式:标识信息与用作参考的信息之间的差异信息被包括在比特流中;以及具有如下形式:标识信息被包括在比特流中。本文中使用的“标志”和“标识信息”不仅包括信息本身,而且包括相对于参考信息的差异信息。
另外,可以以任何形式发送或记录与编码数据(比特流)相关的各种类型的信息(元数据等),只要该信息与编码数据相关联即可。在此,术语“相关联”是指将两条数据配置为使得例如当处理一条数据时,另一条数据可用于(链接到)该处理。换言之,可以将彼此相关联的多条数据编译成一个数据或者用作单独的数据。例如,与编码数据(图像)相关联的信息可以通过与传输编码数据(图像)的传输路径不同的传输路径来传输。另外,例如,与编码数据(图像)相关联的信息可以被记录在与其中记录有编码数据(图像)的记录介质不同的记录介质中(或者可以被记录在同一记录介质中的不同记录区域中)。注意,“相关联”可以对数据的一部分而不是整个数据来执行。例如,图像和与该图像对应的信息可以以诸如多个帧、一个帧或者帧内的一部分的任何单元彼此相关联。
注意,术语“合成”、“多路复用”、“相加”、“集成”、“包括”、“存储”、“放入”、“插进”、“插入”等表示将多个对象集合在一起,例如将编码数据和元数据编译为一个数据,并且表示上述“相关联”的一种方法。
另外,本技术的实施方式不限于上述实施方式,并且在不脱离本技术的范围的情况下可以进行各种修改。
另外,例如,被描述为一个装置(或处理部)的配置可以被划分为多个装置(或处理部)。相比之下,可以将上述作为多个装置(或处理部)的配置组合到一个装置(或处理部)中。此外,不言而喻,每个装置(或每个处理部)的配置可以包括除了上述部件之外的其他部件。此外,一个装置(或处理部)的一部分配置可以被包括在另一装置(或另一处理部)的配置中,只要这些装置在整个系统的配置或操作上基本相同即可。
注意,本文中使用的系统是指一组多个部件(装置,模块(部件)等),而不管所有部件是否都位于同一壳体中。因此,容纳在单独的壳体中并经由网络连接在一起的多个装置以及具有容纳在一个壳体中的多个模块的一个装置都是系统。
另外,例如,本技术可以采用云计算的配置,在该配置中,一个功能由多个装置经由网络共享并共同处理。
另外,例如,上述程序可以在任何装置中执行。在这种情况下,向装置提供所需的功能(功能块等)并使得该装置能够获得所需的信息就足够了。
另外,例如,流程图中的上述每个步骤可以由多个装置共享,而不是由一个装置执行。此外,在一个步骤包括多种类型的处理的情况下,一个步骤中包括的多种类型的处理可以由多个装置共享,而不是由一个装置执行。换言之,可以将一个步骤中包括的多种类型的处理作为多个处理步骤来执行。相比之下,可以将描述为多个步骤的处理放到一个步骤中。
注意,对于由计算机执行的程序,描述程序的处理步骤可以根据本文中描述的顺序按时间顺序执行,可以并行执行,或者可以在所需的定时处例如在调用该操作的定时处单独执行。换言之,在与本技术一致的范围内,可以以与上述顺序不同的顺序执行处理步骤。此外,描述程序的处理步骤可以与另一程序的处理并行或组合执行。
注意,在与本技术一致的范围内,本文描述的多种本技术可以被独立地实现为单个技术。不言而喻,可以一起实现任何多种本技术。例如,在任一实施方式中描述的本技术的一部分或全部可以与在另一实施方式中描述的本技术的一部分或全部结合并且可以实现。另外,任何上述当前技术的一部分或全部可以与以上未描述的另一技术一起实现。
注意,本技术还可以采用以下配置。
(1)
一种图像处理装置,包括:
编码部,所述编码部按照变换块的每行并行地对与图像相关的系数数据进行编码,所述变换块均被用作将图像数据变换成系数数据的单元。
(2)
根据(1)所述的图像处理装置,
其中,所述编码部对与所述图像相关的系数数据的变换块的每行进行编码使得从最左侧的变换块开始依次逐个对变换块进行编码,并且编码部通过使用从前一个熵编码导出的发生概率对每个变换块进行熵编码。
(3)
根据(2)所述的图像处理装置,
其中,所述编码部通过使用发生概率的初始值对所述图像中的最上方的变换块的行中的最左侧的变换块中进行熵编码,并且所述编码部通过使用从要编码的行的紧上方的变换块的行中的次左侧变换块的熵编码导出的发生概率对所述图像中的变换块的次上方行和随后的行中的每一个中的最左侧的变换块中的第一个变换块进行熵编码。
(4)
根据(2)所述的图像处理装置,
其中,所述编码部通过使用发生概率的初始值对所述图像中的最上方的变换块的行中的最左侧的变换块中进行熵编码,并且所述编码部通过使用从对要编码的行紧上方的变换块的行中的次左侧的变换块的熵编码导出的发生概率,对属于与要编码的变换块紧上方的变换块的编码树单元相同的编码树单元的变换块的行中的最左侧的变换块进行熵编码,所述行与所述图像中的变换块的次上行和随后的行对应,所述编码树单元与树结构中的最上位编码块对应,并且所述编码部通过使用从对要编码的行紧上方的变换块的行中的从左侧起第三个变换块的熵编码导出的发生概率,对属于与要编码的变换块紧上方的变换块的编码树单元不同的编码树单元的变换块的行中的最左侧的变换块进行熵编码,所述行与所述图像中的变换块的次上方和随后的行中的一个对应。
(5)
根据(1)所述的图像处理装置,
其中,所述变换块是VPDU(虚拟流水线数据单元)。
(6)
根据(1)所述的图像处理装置,还包括:
预测部,所述预测部对所述图像执行帧内预测,
其中,在与树结构中的最上位编码块对应的编码树单元中的左上变换块的帧内预测中,所述预测部使对前一编码树结构中的右下变换块的参考无效。
(7)
根据(1)所述的图像处理装置,还包括:
预测部,所述预测部对所述图像执行帧间预测,
其中,在与树结构中的最上位编码块对应的编码树单元中的左上变换块的帧间预测中,所述预测部使对前一编码树中的右下变换块的运动矢量的参考无效。
(8)
根据(1)所述的图像处理装置,还包括:
预测部,所述预测部对所述图像执行帧间预测,
其中,在与所述帧间预测的处理单元对应并且水平长度与在树结构中的最上位编码块对应的编码树单元的水平长度相同的预测块的帧间预测中,所述预测部使对所述预测块的右上处的变换块的运动矢量的参考无效。
(9)
根据(1)所述的图像处理装置,
其中,对于与所述帧间预测的处理单元对应并且竖直长度与树结构中的最上位编码块对应的编码树单元的竖直长度相同的的预测块,所述编码部针对每个预测块对指示所述帧间预测的模式的模式信息进行编码,并且针对所述预测块中包括的每个变换块对所述图像与预测图像之间的残差数据进行编码。
(10)
一种图像处理方法,包括:
按照变换块的每行并行地对与图像相关的系数数据进行编码,所述变换块均被与将图像数据变换成系数数据的单元对应。
(11)
一种图像处理装置,包括:
解码部,所述解码部在变换块的每行中并行地对通过对与图像相关的系数数据进行编码获得的编码数据进行解码,所述变换块均被与将图像数据变换成系数数据的单元对应。
(12)
根据(11)所述的图像处理装置,
其中,所述解码部对与所述图像相关的系数数据的变换块的每行中的编码数据进行解码,使得从最左侧的变换块开始依次对所述变换块进行逐一解码,并且通过使用从前一熵解码导出的发生概率对每个变换块的编码数据进行熵解码。
(13)
根据(12)所述的图像处理装置,
其中,所述解码部通过使用所述发生概率的初始值对所述图像中的变换块的最上方的行中的最左侧的变换块的编码数据进行熵解码,并且通过使用从要变换的行紧上方的变换块的行中的次左侧的变换块的编码数据的熵解码中导出的发生概率,对所述图像中的变换块的次上和随后的行中的每一个中的最左侧的变换块的编码数据进行熵解码。
(14)
根据(12)所述的图像处理装置,
其中,所述解码部通过使用所述发生概率的初始值,对所述图像中的变换块的最上方的行中的最左侧的变换块的编码数据进行熵解码,所述解码部通过使用从对要解码的行紧上方的变换块的行中的次左侧的变换块的编码数据的熵解码导出的发生概率对属于与要解码的变换块紧上方的变换块的编码树单元相同的编码树单元的变换块的行中的最左侧的变换块的编码数据进行熵解码,所述行与所述图像中的变换块的次上和随后的行对应,所述编码树单元与树结构中的最上位编码块对应,并且所述解码部通过使用从对要解码的行紧上方的变换块的行中的从左侧起第三个变换块的编码数据的熵解码导出的发生概率,对属于与要解码的变换块紧上方的变换块的编码树单元不同的编码树单元的变换块的行中的最左侧的变换块的编码数据进行熵解码,所述行与所述图像中的变换块的次上方和随后的行中的一个对应。
(15)
根据(11)所述的图像处理装置,
其中,所述变换块是VPDU(虚拟流水线数据单元)。
(16)
根据(11)所述的图像处理装置,
预测部,所述预测部对所述图像执行帧内预测,
其中,在与树结构中的最上位编码块对应的编码树单元中的左上变换块的帧内预测中,所述预测部使对编码树单元的前一解码中的右下变换块的参考无效。
(17)
根据(11)所述的图像处理装置,还包括:
预测部,所述预测部对所述图像执行帧间预测,
其中,在与树结构中的最上位编码块对应的编码树单元中的左上变换块的帧间预测中,所述预测部使对编码树单元的前一解码中的右下变换块的运动矢量的参考无效。
(18)
根据(11)所述的图像处理装置,还包括:
预测部,所述预测部对所述图像执行帧间预测,
其中,在与所述帧间预测的处理单元对应并且水平长度与在树结构中的最上位编码块对应的编码树单元的水平长度相同的预测块的帧间预测中,所述预测部使对所述预测块的右上处的变换块的运动矢量的参考无效。
(19)
根据(11)所述的图像处理装置,
其中,对于与所述帧间预测的处理单元对应并且竖直长度与树结构中的最上位编码块对应的编码树单元的竖直长度相同的的预测块,所述解码部针对每个预测块对指示所述帧间预测的模式的模式信息的编码数据进行解码,并且针对所述预测块中包括的每个变换块对所述图像与预测图像之间的残差数据的编码数据进行解码。
(20)
一种图像处理方法,包括:
在变换块的每行中并行地对通过对与图像相关的系数数据进行编码获得的编码数据进行解码,所述变换块均与将图像数据变换成系数数据的单元对应。
[附图标记列表]
500:图像编码装置
501:控制部
515:编码部
522:预测部
600:图像解码装置
612:解码部
619:预测部

Claims (20)

1.一种图像处理装置,包括:
编码部,所述编码部按照编码树单元的每行并行地对与图像相关的系数数据进行编码,每个编码树单元包括变换块并且对应于树结构的最上位编码块,并且所述编码部将每行的编码相对于要编码的行的紧上一行的编码延迟与一个编码树单元对应的量来执行。
2.根据权利要求1所述的图像处理装置,
其中,所述编码部对与所述图像相关的系数数据的编码树单元的每行进行编码,使得从最左侧的编码树单元开始依次逐个对所述编码树单元进行编码。
3.根据权利要求2所述的图像处理装置,
其中,所述编码部按照每个变换块对每个编码树单元进行编码。
4.根据权利要求3所述的图像处理装置,
其中,所述编码部通过使用从前一个变换块的熵编码导出的发生概率对每个变换块进行熵编码。
5.根据权利要求4所述的图像处理装置,
其中,所述编码部通过使用发生概率的初始值对所述图像中的最上方的编码树单元的行中的最左侧的编码树单元中的第一个变换块进行熵编码,并且所述编码部通过使用从要编码的行的紧上方的编码树单元的行中的最左侧的编码树单元中的最后一个变换块的熵编码导出的发生概率对所述图像中的编码树单元的次上方行和随后的行中的每一个中的最左侧的编码树单元中的第一个变换块进行熵编码。
6.根据权利要求1所述的图像处理装置,
其中,所述变换块为VPDU虚拟流水线数据单元。
7.根据权利要求1所述的图像处理装置,还包括:
预测部,所述预测部对所述图像执行帧内预测,
其中,在编码树单元中的右上变换块的帧内预测中,所述预测部使对所述右上变换块中的右上处的变换块的参考无效。
8.根据权利要求1所述的图像处理装置,还包括:
预测部,所述预测部对所述图像执行帧间预测,
其中,在编码树单元的右上变换块的帧间预测中,所述预测部使对所述右上变换块中的右上处的变换块的参考无效。
9.根据权利要求1所述的图像处理装置,还包括:
预测部,所述预测部对所述图像执行帧间预测,
其中,在与所述帧间预测的处理单元对应并且其水平方向的长度与编码树单元的水平方向的长度相同的预测块的帧间预测中,所述预测部使对所述预测块右上处的变换块的参考无效。
10.一种图像处理方法,包括:
按照编码树单元的每行并行地对与图像相关的系数数据进行编码,每个编码树单元包括变换块并且对应于树结构的最上位编码块;以及
将每行的编码相对于要编码的行的紧上一行的编码延迟与一个编码树单元对应的量来执行。
11.一种图像处理装置,包括:
解码部,所述解码部按照编码树单元的每行并行地对通过对与图像相关的系数数据进行编码而获得的编码数据进行解码,每个编码树单元包括变换块并且对应于树结构的最上位编码块,并且所述解码部将每行的解码相对于要解码的行的紧上一行的解码延迟与一个编码树单元对应的量来执行。
12.根据权利要求11所述的图像处理装置,
其中,所述解码部针对与所述图像相关的系数数据的编码树单元的每行的编码数据进行解码,使得从最左侧的编码树单元开始依次逐个对编码树单元地进行解码。
13.根据权利要求12所述的图像处理装置,
其中,所述解码部按照每个变换块对每个编码树单元的编码数据进行解码。
14.根据权利要求13所述的图像处理装置,
其中,所述解码部通过使用从前一个变换块的编码数据的熵解码导出的发生概率对每个变换块的编码数据进行熵解码。
15.根据权利要求14所述的图像处理装置,
其中,所述解码部通过使用发生概率的初始值对所述图像中的最上方的编码树单元的行中的最左侧的编码树单元中的第一个变换块的编码数据进行熵解码,并且所述解码部通过使用从要解码的行的紧上方的编码树单元的行中的最左侧的编码树单元中的最后一个变换块的编码数据的熵解码导出的发生概率对所述图像中的编码树单元的次上方行和随后的行中的每一个中的最左侧的编码树单元中的第一个变换块的编码数据进行熵解码。
16.根据权利要求11所述的图像处理装置,
其中,所述变换块为VPDU虚拟流水线数据单元。
17.根据权利要求11所述的图像处理装置,还包括:
预测部,所述预测部对所述图像执行帧内预测,
其中,在编码树单元中的右上的变换块的帧内预测中,所述预测部使对所述右上变换块中的右上处的变换块的参考无效。
18.根据权利要求11所述的图像处理装置,还包括:
预测部,所述预测部对所述图像执行帧间预测,
其中,在编码树单元的右上的变换块的帧间预测中,所述预测部使对所述右上变换块中的右上处的变换块的参考无效。
19.根据权利要求11所述的图像处理装置,还包括:
预测部,所述预测部对所述图像执行帧间预测,
其中,在与所述帧间预测的处理单元对应并且其水平方向的长度与编码树单元相同的预测块的帧间预测中,所述预测部使对所述预测块的右上处的变换块的参考无效。
20.一种图像处理方法,包括:
按照编码树单元的每行并行地对通过对与图像相关的系数数据进行编码而获得的编码数据进行解码,每个编码树单元包括变换块并且作为树结构的最上位编码块;以及
将每行的解码相对于要解码的行的紧上一行的解码延迟与一个编码树单元对应的量来执行。
CN201980082665.2A 2018-12-21 2019-12-06 图像处理装置和方法 Pending CN113196768A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018-240108 2018-12-21
JP2018240108 2018-12-21
PCT/JP2019/047782 WO2020129698A1 (ja) 2018-12-21 2019-12-06 画像処理装置および方法

Publications (1)

Publication Number Publication Date
CN113196768A true CN113196768A (zh) 2021-07-30

Family

ID=71100284

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980082665.2A Pending CN113196768A (zh) 2018-12-21 2019-12-06 图像处理装置和方法

Country Status (10)

Country Link
US (2) US11800123B2 (zh)
EP (1) EP3902259A4 (zh)
JP (1) JP7409320B2 (zh)
CN (1) CN113196768A (zh)
AU (1) AU2019407687A1 (zh)
BR (1) BR112021011507A2 (zh)
CA (1) CA3121322A1 (zh)
MX (1) MX2021006944A (zh)
SG (1) SG11202103327SA (zh)
WO (1) WO2020129698A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114125464B (zh) * 2020-08-27 2024-02-06 扬智科技股份有限公司 视频解码方法与视频解码装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013168913A (ja) * 2012-01-19 2013-08-29 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
US20150010088A1 (en) * 2011-03-07 2015-01-08 Dolby International Ab Method of Coding and Decoding Images, Coding and Decoding Device and Computer Programs Corresponding Thereto
CN104904210A (zh) * 2013-01-07 2015-09-09 日本电气株式会社 视频编码设备、视频解码设备、视频编码方法、视频解码方法,以及程序
WO2016004850A1 (en) * 2014-07-07 2016-01-14 Mediatek Singapore Pte. Ltd. Method of intra block copy search and compensation range
GB2531001A (en) * 2014-10-06 2016-04-13 Canon Kk Method and apparatus for vector encoding in video coding and decoding
US20160142740A1 (en) * 2014-11-17 2016-05-19 Sony Corporation Data encoding and decoding

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020085235A1 (ja) * 2018-10-22 2020-04-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US11418796B2 (en) * 2018-10-27 2022-08-16 Qualcomm Incorporated Intra block copy prediction restrictions in video coding

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150010088A1 (en) * 2011-03-07 2015-01-08 Dolby International Ab Method of Coding and Decoding Images, Coding and Decoding Device and Computer Programs Corresponding Thereto
JP2013168913A (ja) * 2012-01-19 2013-08-29 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
CN104904210A (zh) * 2013-01-07 2015-09-09 日本电气株式会社 视频编码设备、视频解码设备、视频编码方法、视频解码方法,以及程序
WO2016004850A1 (en) * 2014-07-07 2016-01-14 Mediatek Singapore Pte. Ltd. Method of intra block copy search and compensation range
GB2531001A (en) * 2014-10-06 2016-04-13 Canon Kk Method and apparatus for vector encoding in video coding and decoding
US20160142740A1 (en) * 2014-11-17 2016-05-19 Sony Corporation Data encoding and decoding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHIH-WEI HSU等: "CE1-related: Constraint for binary and ternary partitions", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11,11TH MEETING: LJUBLJANA, SI, 10–18 JULY 2018, pages 1 - 3 *
XIAOZHONG XU等: "Intra Block Copy in HEVC Screen Content Coding Extensions", IEEE JOURNAL ON EMERGING AND SELECTED TOPICS IN CIRCUITS AND SYSTEMS ( VOLUME: 6, ISSUE: 4, DECEMBER 2016), pages 409 *

Also Published As

Publication number Publication date
MX2021006944A (es) 2021-08-24
CA3121322A1 (en) 2020-06-25
US11800123B2 (en) 2023-10-24
US20240040137A1 (en) 2024-02-01
SG11202103327SA (en) 2021-05-28
US20210392354A1 (en) 2021-12-16
JP7409320B2 (ja) 2024-01-09
EP3902259A1 (en) 2021-10-27
EP3902259A4 (en) 2022-09-07
JPWO2020129698A1 (ja) 2021-11-04
BR112021011507A2 (pt) 2021-08-31
WO2020129698A1 (ja) 2020-06-25
AU2019407687A1 (en) 2021-06-10

Similar Documents

Publication Publication Date Title
US10750177B2 (en) Image coding apparatus, image coding method, and program, and image decoding apparatus, image decoding method, and program
TW202139698A (zh) 影像處理裝置及方法
JP7235030B2 (ja) 画像処理装置および方法
CN114342396A (zh) 图像处理装置和方法
US20240040137A1 (en) Image processing apparatus and method
WO2020100672A1 (ja) 画像処理装置および方法
JP7235031B2 (ja) 画像処理装置および方法
WO2022044845A1 (ja) 画像処理装置および方法
CN114731443A (zh) 图像处理装置和方法
CN113940072A (zh) 图像处理装置和方法
CN115176476A (zh) 图像处理装置、比特流生成方法、系数数据生成方法以及量化系数生成方法
WO2020129697A1 (ja) 画像処理装置および方法
JP2022002352A (ja) 画像処理装置および方法
JP7494858B2 (ja) 画像処理装置および方法
US20240163437A1 (en) Image processing device and method
WO2023195330A1 (ja) 画像処理装置および方法
JP7494850B2 (ja) 画像処理装置および方法
JP7484923B2 (ja) 画像処理装置および方法
WO2020129636A1 (ja) 画像符号化装置、画像符号化方法、画像復号装置、および画像復号方法
KR20240024808A (ko) 화상 처리 장치 및 방법
CN114762327A (zh) 图像处理装置和方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40047125

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination