本发明涉及用于使用块分割对影像及图像进行编码及解码的方法及装置。
背景技术:
在以往的图像及影像编码方法中,图像一般来说被分割为块,以块级进行编码及解码处理。在最近的影像标准开发中,除了典型的8×8或16×16的尺寸以外,还能够以各种块尺寸进行编码及解码处理。为了图像的编码及解码处理,能够使用4×4~256×256的尺寸的范围。
现有技术文献
非专利文献
非专利文献1:h.265(iso/iec23008-2hevc(highefficiencyvideocoding))
技术实现要素:
发明要解决的课题
为了表示4×4~256×256的尺寸的范围,块分割模式(例如,四叉树,二叉树及三叉树)及分割标志(例如,splitflag)那样的块分割信息为了用于块而被决定并信号化。该信号化的开销随着分割深度增加而增加。并且,增加的开销使影像压缩效率下降。
因此,本发明的一形态的编码装置提供能够在块分割信息的编码中使压缩效率提高的编码装置等。
用于解决课题的手段
本公开的一形态的图像编码装置是对图像的块进行编码的图像编码装置,具备处理器和存储器,上述处理器使用上述存储器进行如下处理:向比特流写入第1参数,该第1参数用于从多个分割模式之中识别用于将第1块分割为子块的分割模式;判断上述第1参数是否识别出第1分割模式;至少基于上述第1参数是否识别出上述第1分割模式的判断,判断作为用于分割与上述第1块不同的第2块的候选是否不选择第2分割模式;在判断为作为用于分割上述第2块的候选而选择上述第2分割模式的情况下,从包含上述第2分割模式作为候选的多个分割模式之中选择分割模式,将表示选择结果的第2参数写入比特流;在判断为作为用于分割上述第2块的候选而不选择上述第2分割模式的情况下,选择与上述第2分割模式不同的分割模式,该分割模式将块分割为与通过上述第2分割模式生成的子块相比具有不同的形状或不同的尺寸的子块,并且使用所选择的上述分割模式将上述第2块分割为子块,并对分割后的上述块进行编码。
另外,这些包含性或具体的形态也可以由系统,方法,集成电路,计算机程序或计算机可读取的cd-rom等记录介质实现,也可以由系统,方法,集成电路,计算机程序及记录介质的任意的组合来实现。
发明效果
根据本发明,能够在块分割信息的编码中使压缩效率提高。
附图说明
图1是表示有关实施方式1的编码装置的功能结构的框图。
图2是表示实施方式1的块分割的一例的图。
图3是表示与各变换类型对应的变换基函数的表。
图4a是表示alf中使用的滤波器的形状的一例的图。
图4b是表示alf中使用的滤波器的形状的另一例的图。
图4c是表示alf中使用的滤波器的形状的另一例的图。
图5a是表示帧内预测的67个帧内预测模式的图。
图5b是用来说明基于obmc处理进行的预测图像修正处理的概要的流程图。
图5c是用来说明基于obmc处理进行的预测图像修正处理的概要的概念图。
图5d是表示fruc的一例的图。
图6是用来说明沿着运动轨迹的2个块之间的图案匹配(双向匹配)的图。
图7是用来说明当前图片内的模板与参照图片内的块之间的图案匹配(模板匹配)的图。
图8是用来说明假定了等速直线运动的模型的图。
图9a是用来说明基于多个相邻块的运动矢量进行的子块单位的运动矢量的导出的图。
图9b是用来说明基于合并模式的运动矢量导出处理的概要的图。
图9c是用来说明dmvr处理的概要的概念图。
图9d是用来说明采用基于lic处理的亮度修正处理的预测图像生成方法的概要的图。
图10是表示有关实施方式1的解码装置的功能结构的框图。
图11是表示有关实施方式2的影像编码处理的流程图。
图12是表示有关实施方式2的影像解码处理的流程图。
图13是表示有关实施方式3的影像编码处理的流程图。
图14是表示有关实施方式3的影像解码处理的流程图。
图15是表示有关实施方式2或3的影像/图像编码装置的结构的框图。
图16是表示有关实施方式2或3的影像/图像解码装置的结构的框图。
图17是表示实施方式2或3中的压缩影像流内的第1参数的可考虑的位置的例子的图。
图18是表示实施方式2或3中的压缩影像流内的第2参数的可考虑的位置的例子的图。
图19是表示在实施方式2或3中接续在第1参数之后的第2参数的例子的图。
图20是表示在实施方式2中如步骤(2c)所示为了2n×n像素的块的分割而不选择第2分割模式的一例的图。
图21是表示在实施方式2中如步骤(2c)所示为了n×2n像素的块的分割而不选择第2分割模式的一例的图。
图22是表示在实施方式2中如步骤(2c)所示为了n×n像素的块的分割而不选择第2分割模式的一例的图。
图23是表示在实施方式2中如步骤(2c)所示为了n×n像素的块的分割而不选择第2分割模式的一例的图。
图24是表示在实施方式2中如步骤(3)所示使用不选择第2分割模式时所选择的分割模式来对2n×n像素的块进行分割的一例的图。
图25是表示在实施方式2中如步骤(3)所示使用不选择第2分割模式时所选择的分割模式来对n×2n像素的块进行分割的一例的图。
图26是表示在实施方式2中如步骤(3)所示使用不选择第2分割模式时所选择的分割模式来对n×n像素的块进行分割的一例的图。
图27是表示在实施方式2中如步骤(3)所示使用不选择第2分割模式时所选择的分割模式来对n×n像素的块进行分割的一例的图。
图28是表示在实施方式2中用于对n×n像素的块进行分割的分割模式的例子的图。图28的(a)~(h)是表示相互不同的分割模式的图。
图29是表示在实施方式3中用于对n×n像素的块进行分割的分割类型及分割方向的一例的图。(1)、(2)、(3)及(4)是不同的分割类型,(1a)、(2a)、(3a)及(4a)是在垂直方向的分割方向上分割类型不同的分割模式,(1b)、(2b)、(3b)及(4b)是在水平方向的分割方向上分割类型不同的分割模式。
图30是表示在实施方式3中与在分割类型之前对分割方向进行编码的情况相比、在分割方向之前对分割类型进行编码所带来的优点的图。
图31a是表示在分割模式的编码中使用更少的二进制(bin)数的分割模式集而将块分割为子块的一例的图。
图31b是表示在分割模式的编码中使用更少的二进制数的分割模式集而将块分割为子块的一例的图。
图32a是表示使用在多个分割模式集的规定的顺序上最初出现的分割模式集而将块分割为子块的一例的图。
图32b是表示使用在多个分割模式集的规定的顺序上最初出现的分割模式集而将块分割为子块的一例的图。
图32c是表示使用在多个分割模式集的规定的顺序上最初出现的分割模式集而将块分割为子块的一例的图。
图33是实现内容分发服务的内容供给系统的整体结构图。
图34是表示可分级编码(scalablecoding)时的编码结构的一例的图。
图35是表示可分级编码时的编码结构的一例的图。
图36是表示web页的显示画面例的图。
图37是表示web页的显示画面例的图。
图38是表示智能电话的一例的图。
图39是表示智能电话的结构例的框图。
具体实施方式
以下,参照附图具体地说明实施方式。
另外,以下说明的实施方式都表示包含性或具体的例子。在以下的实施方式中表示的数值,形状,材料,构成要素,构成要素的配置及连接形态,步骤,步骤的顺序等是一例,不是限定权利要求的意思。此外,关于以下的实施方式的构成要素中的,在表示最上位概念的独立权利要求中没有记载的构成要素,设为任意的构成要素而进行说明。
(实施方式1)
首先,作为能够应用在后述的本发明的各形态中说明的处理及/或结构的编码装置及解码装置的一例,说明实施方式1的概要。但是,实施方式1只不过是能够应用在本发明的各形态中说明的处理及/或结构的编码装置及解码装置的一例,在本发明的各形态中说明的处理及/或结构在与实施方式1不同的编码装置及解码装置中也能够实施。
在对于实施方式1应用在本发明的各形态中说明的处理及/或结构的情况下,例如也可以进行以下中的某个。
(1)对于实施方式1的编码装置或解码装置,将构成该编码装置或解码装置的多个构成要素中的,与在本发明的各形态中说明的构成要素对应的构成要素,替换为在本发明的各形态中说明的构成要素;
(2)对于实施方式1的编码装置或解码装置,在对构成该编码装置或解码装置的多个构成要素中的一部分构成要素施以功能或实施的处理的追加,替换,删除等的任意的变更后,将与在本发明的各形态中说明的构成要素对应的构成要素替换为在本发明的各形态中说明的构成要素;
(3)对于实施方式1的编码装置或解码装置实施的方法,施以处理的追加,及/或对于该方法中包含的多个处理中的一部分处理施以替换,删除等的任意的变更后,将与在本发明的各形态中说明的处理对应的处理替换为在本发明的各形态中说明的处理;
(4)将构成实施方式1的编码装置或解码装置的多个构成要素中的一部分构成要素,与在本发明的各形态中说明的构成要素、具备在本发明的各形态中说明的构成要素所具备的功能的一部分的构成要素、或实施在本发明的各形态中说明的构成要素所实施的处理的一部分的构成要素组合而实施;
(5)将具备构成实施方式1的编码装置或解码装置的多个构成要素中的一部分构成要素所具备的功能的一部分的构成要素、或实施构成实施方式1的编码装置或解码装置的多个构成要素中的一部分构成要素所实施的处理的一部分的构成要素,与在本发明的各形态中说明的构成要素、具备在本发明的各形态中说明的构成要素所具备的功能的一部分的构成要素、或实施在本发明的各形态中说明的构成要素所实施的处理的一部分的构成要素组合而实施;
(6)对于实施方式1的编码装置或解码装置所实施的方法,将该方法中包含的多个处理中的与在本发明的各形态中说明的处理对应的处理,替换为在本发明的各形态中说明的处理;
(7)将在实施方式1的编码装置或解码装置所实施的方法中包含的多个处理中的一部分的处理与在本发明的各形态中说明的处理组合而实施。
另外,在本发明的各形态中说明的处理及/或结构的实施的方式并不限定于上述的例子。例如,也可以在以与实施方式1中公开的运动图像/图像编码装置或运动图像/图像解码装置不同的目的使用的装置中实施,也可以将在各形态中说明的处理及/或结构单独地实施。此外,也可以将在不同的形态中说明的处理及/或结构组合而实施。
[编码装置的概要]
首先,说明有关实施方式1的编码装置的概要。图1是表示有关实施方式1的编码装置100的功能结构的框图。编码装置100是将运动图像/图像以块单位进行编码的运动图像/图像编码装置。
如图1所示,编码装置100是将图像以块单位进行编码的装置,具备分割部102、减法部104、变换部106、量化部108、熵编码部110、逆量化部112、逆变换部114、加法部116、块存储器118、循环滤波部120、帧存储器122、帧内预测部124、帧间预测部126和预测控制部128。
编码装置100例如由通用处理器及存储器实现。在此情况下,当保存在存储器中的软件程序被处理器执行时,处理器作为分割部102、减法部104、变换部106、量化部108、熵编码部110、逆量化部112、逆变换部114、加法部116、循环滤波部120、帧内预测部124、帧间预测部126及预测控制部128发挥功能。此外,编码装置100也可以作为与分割部102、减法部104、变换部106、量化部108、熵编码部110、逆量化部112、逆变换部114、加法部116、循环滤波部120、帧内预测部124、帧间预测部126及预测控制部128对应的专用的1个以上的电子电路实现。
以下,对编码装置100中包含的各构成要素进行说明。
[分割部]
分割部102将输入运动图像中包含的各图片分割为多个块,将各块向减法部104输出。例如,分割部102首先将图片分割为固定尺寸(例如128×128)的块。该固定尺寸的块有被称作编码树单元(ctu)的情况。并且,分割部102基于递归性的四叉树(quadtree)及/或二叉树(binarytree)块分割,将固定尺寸的各个块分割为可变尺寸(例如64×64以下)的块。该可变尺寸的块有被称作编码单元(cu),预测单元(pu)或变换单元(tu)的情况。另外,在本实施方式中,不需要将cu、pu及tu区分,而也可以将图片内的一部分或全部的块作为cu、pu、tu的处理单位。
图2是表示实施方式1的块分割的一例的图。在图2中,实线表示基于四叉树块分割的块边界,虚线表示基于二叉树块分割的块边界。
这里,块10是128×128像素的正方形块(128×128块)。该128×128块10首先被分割为4个正方形的64×64块(四叉树块分割)。
左上方的64×64块再被垂直地分割为2个矩形的32×64块,左方的32×64块再被垂直地分割为2个矩形的16×64块(二叉树块分割)。结果,左上方的64×64块被分割为2个16×64块11、12和32×64块13。
右上方的64×64块被水平地分割为2个矩形的64×32块14、15(二叉树块分割)。
左下方的64×64块被分割为4个正方形的32×32块(四叉树块分割)。4个32×32块中的左上方的块及右下方的块进一步被分割。左上方的32×32块被垂直地分割为2个矩形的16×32块,右方的16×32块再被水平地分割为2个16×16块(二叉树块分割)。右下方的32×32块被水平地分割为2个32×16块(二叉树块分割)。结果,左下方的64×64块被分割为16×32块16,2个16×16块17、18,2个32×32块19、20,以及2个32×16块21、22。
右下方的64×64块23不被分割。
如以上这样,在图2中,块10基于递归性的四叉树及二叉树块分割而被分割为13个可变尺寸的块11~23。这样的分割有被称作qtbt(quad-treeplusbinarytree,四叉树加二叉树)分割的情况。
另外,在图2中,1个块被分割为4个或2个块(四叉树或二叉树块分割),但分割并不限定于此。例如,也可以是1个块被分割为3个块(三叉树分割)。包括这样的三叉树分割在内的分割有被称作mbt(multitypetree,多类型树)分割的情况。
[减法部]
减法部104以由分割部102分割的块单位从原信号(原样本)减去预测信号(预测样本)。即,减法部104计算编码对象块(以下称作当前块)的预测误差(也称作残差)。并且,减法部104将计算出的预测误差向变换部106输出。
原信号是编码装置100的输入信号,是表示构成运动图像的各图片的图像的信号(例如亮度(luma)信号及2个色差(chroma)信号)。以下,也有将表示图像的信号也称作样本的情况。
[变换部]
变换部106将空间域的预测误差变换为频域的变换系数,将变换系数向量化部108输出。具体而言,变换部106例如对空间域的预测误差进行预先设定的离散余弦变换(dct)或离散正弦变换(dst)。
另外,变换部106也可以从多个变换类型之中适应性地选择变换类型,使用与所选择的变换类型对应的变换基函数(transformbasisfunction),将预测误差变换为变换系数。这样的变换有被称作emt(explicitmultiplecoretransform,多核变换)或amt(adaptivemultipletransform,自适应多变换)的情况。
多个变换类型例如包括dct-ii、dct-v、dct-viii、dst-i及dst-vii。图3是表示与各变换类型对应的变换基函数的表。在图3中,n表示输入像素的数量。从这些多个变换类型之中的变换类型的选择,例如既可以依赖于预测的种类(帧内预测及帧间预测),也可以依赖于帧内预测模式。
表示是否应用这样的emt或amt的信息(例如称作amt标志)及表示所选择的变换类型的信息以cu级被信号化。另外,这些信息的信号化并不需要限定于cu级,也可以是其他级(例如,序列级、图片级、切片级、瓦片级或ctu级)。
此外,变换部106也可以对变换系数(变换结果)进行再变换。这样的再变换有被称作ast(adaptivesecondarytransform,自适应二次变换)或nsst(non-separablesecondarytransform,不可分二次变换)的情况。例如,变换部106按与帧内预测误差对应的变换系数的块中包含的每个子块(例如4×4子块)进行再变换。表示是否应用nsst的信息及与nsst中使用的变换矩阵有关的信息以cu级被进行信号化。另外,这些信息的信号化并不需要限定于cu级,也可以是其他级(例如,序列级、图片级、切片级、瓦片级或ctu级)。
这里,separable(可分离)的变换是指与输入的维度数相当地按每个方向分离而进行多次变换的方式,non-separable(不可分)的变换是指当输入是多维时将2个以上的维度合起来看作1个维度而一起进行变换的方式。
例如,作为non-separable的变换的1例,可以举出在输入是4×4的块的情况下将其看作具有16个元素的一个排列,对该排列以16×16的变换矩阵进行变换处理的方式。
此外,同样,在将4×4的输入块看作具有16个元素的一个排列后对该排列多次进行givens旋转的方式(hypercubegivenstransform),也是non-separable的变换的例子。
[量化部]
量化部108对从变换部106输出的变换系数进行量化。具体而言,量化部108对当前块的变换系数以规定的扫描顺序进行扫描,基于与被扫描的变换系数对应的量化参数(qp)对该变换系数进行量化。并且,量化部108将当前块的量化后的变换系数(以下称作量化系数)向熵编码部110及逆量化部112输出。
规定的顺序是用于变换系数的量化/逆量化的顺序。例如,用频率的升序(从低频向高频的顺序)或降序(从高频向低频的顺序)定义规定的扫描顺序。
量化参数是指定义量化步长(量化宽度)的参数。例如,如果量化参数的值增加,则量化步长也增加。即,如果量化参数的值增加,则量化误差增大。
[熵编码部]
熵编码部110通过对作为来自量化部108的输入的量化系数进行可变长编码,生成编码信号(编码比特流)。具体而言,熵编码部110例如将量化系数进行二值化,对二值信号进行算术编码。
[逆量化部]
逆量化部112对作为来自量化部108的输入的量化系数进行逆量化。具体而言,逆量化部112对当前块的量化系数以规定的扫描顺序进行逆量化。并且,逆量化部112将当前块的逆量化后的变换系数向逆变换部114输出。
[逆变换部]
逆变换部114通过对作为来自逆量化部112的输入的变换系数进行逆变换,复原预测误差。具体而言,逆变换部114通过对变换系数进行与变换部106的变换对应的逆变换,复原当前块的预测误差。并且,逆变换部114将复原后的预测误差向加法部116输出。
另外,复原后的预测误差由于通过量化丢失了信息,所以与减法部104计算出的预测误差不一致。即,复原后的预测误差中包含量化误差。
[加法部]
加法部116通过将作为来自逆变换部114的输入的预测误差与作为来自预测控制部128的输入的预测样本相加,重构当前块。并且,加法部116将重构的块向块存储器118及循环滤波部120输出。重构块有被称作本地解码块的情况。
[块存储器]
块存储器118是用来将在帧内预测中参照的、编码对象图片(以下称作当前图片)内的块进行保存的存储部。具体而言,块存储器118保存从加法部116输出的重构块保存。
[循环滤波部]
循环滤波部120对由加法部116重构的块施以循环滤波,将滤波后的重构块向帧存储器122输出。循环滤波是指在编码循环内使用的滤波(环内滤波),例如包括解块滤波(df)、样本自适应偏移(sao)及自适应循环滤波(alf)等。
在alf中,采用用来除去编码失真的最小二乘误差滤波器,例如按当前块内的每个2×2子块,采用基于局部性的梯度(gradient)的方向及活性度(activity)从多个滤波器中选择的1个滤波器。
具体而言,首先将子块(例如2×2子块)分类为多个类(例如15或25类)。子块的分类基于梯度的方向及活性度来进行。例如,使用梯度的方向值d(例如0~2或0~4)和梯度的活性值a(例如0~4),计算分类值c(例如c=5d+a)。并且,基于分类值c,将子块分类为多个类(例如15或25类)。
梯度的方向值d例如通过将多个方向(例如水平、垂直及2个对角方向)的梯度进行比较而导出。此外,梯度的活性值a例如通过将多个方向的梯度相加,并对相加结果进行量化来导出。
基于这样的分类的结果,从多个滤波器之中决定用于子块的滤波器。
作为在alf中使用的滤波器的形状,例如使用圆对称形状。图4a~图4c是表示在alf中使用的滤波器的形状的多个例子的图。图4a表示5×5钻石形状滤波器,图4b表示7×7钻石形状滤波器,图4c表示9×9钻石形状滤波器。表示滤波器的形状的信息以图片级被进行信号化。另外,表示滤波器的形状的信息的信号化不需要限定于图片级,也可以是其他级(例如,序列级、切片级、瓦片级、ctu级或cu级)。
alf的开启/关闭例如以图片级或cu级决定。例如,关于亮度,以cu级决定是否采用alf,关于色差,以图片级决定是否采用alf。表示alf的开启/关闭的信息以图片级或cu级被进行信号化。另外,表示alf的开启/关闭的信息的信号化并不需要限定于图片级或cu级,也可以是其他级(例如,序列级、切片级、瓦片级或ctu级)。
可选择的多个滤波器(例如到15个或25个为止的滤波器)的系数集以图片级被进行信号化。另外,系数集的信号化并不需要限定于图片级,也可以是其他级(例如,序列级、切片级、瓦片级、ctu级、cu级或子块级)。
[帧存储器]
帧存储器122是用来将在帧间预测中使用的参照图片进行保存的存储部,也有被称作帧缓冲器的情况。具体而言,帧存储器122保存由循环滤波部120滤波后的重构块。
[帧内预测部]
帧内预测部124参照保存在块存储器118中的当前图片内的块而进行当前块的帧内预测(也称作画面内预测),从而生成预测信号(帧内预测信号)。具体而言,帧内预测部124通过参照与当前块相邻的块的样本(例如亮度值,色差值)进行帧内预测而生成帧内预测信号,并将帧内预测信号向预测控制部128输出。
例如,帧内预测部124使用预先规定的多个帧内预测模式中的1个进行帧内预测。多个帧内预测模式包括1个以上的非方向性预测模式和多个方向性预测模式。
1个以上的非方向性预测模式例如包括由h.265/hevc(high-efficiencyvideocoding)规格(非专利文献1)规定的planar(平面)预测模式及dc预测模式。
多个方向性预测模式例如包括由h.265/hevc规格规定的33个方向的预测模式。另外,多个方向性预测模式也可以除了33个方向以外还包括32个方向的预测模式(合计65个方向性预测模式)。图5a是表示帧内预测中的67个帧内预测模式(2个非方向性预测模式及65个方向性预测模式)的图。实线箭头表示由h.265/hevc规格规定的33个方向,虚线箭头表示追加的32个方向。
另外,在色差块的帧内预测中,也可以参照亮度块。即,也可以基于当前块的亮度成分来预测当前块的色差成分。这样的帧内预测有被称作cclm(cross-componentlinearmodel,跨组件的线性模型)预测的情况。也可以将这样的参照亮度块的色差块的帧内预测模式(例如称作cclm模式)作为色差块的帧内预测模式的1个来添加。
帧内预测部124也可以基于水平/垂直方向的参照像素的梯度,将帧内预测后的像素值进行修正。伴随着这样的修正的帧内预测有被称作pdpc(positiondependentintrapredictioncombination,位置决定的帧内预测组合)的情况。表示有没有采用pdpc的信息(例如称作pdpc标志)例如以cu级被进行信号化。另外,该信息的信号化并不需要限定于cu级,也可以是其他级(例如,序列级、图片级、切片级、瓦片级或ctu级)。
[帧间预测部]
帧间预测部126参照保存在帧存储器122中的与当前图片不同的参照图片进行当前块的帧间预测(也称作画面间预测),从而生成预测信号(帧间预测信号)。帧间预测以当前块或当前块内的子块(例如4×4块)的单位进行。例如,帧间预测部126对于当前块或子块,在参照图片内进行运动估计(motionestimation)。并且,帧间预测部126使用通过运动估计得到的运动信息(例如运动矢量)进行运动补偿,从而生成当前块或子块的帧间预测信号。并且,帧间预测部126将所生成的帧间预测信号向预测控制部128输出。
在运动补偿中使用的运动信息被信号化。在运动矢量的信号化中也可以使用预测运动矢量(motionvectorpredictor)。即,也可以是运动矢量与预测运动矢量之间的差被信号化。
另外,也可以是,不仅使用通过运动估计得到的当前块的运动信息,还使用相邻块的运动信息来生成帧间预测信号。具体而言,也可以将基于通过运动估计得到的运动信息的预测信号,与基于相邻块的运动信息的预测信号进行加权相加,由此以当前块内的子块单位生成帧间预测信号。这样的帧间预测(运动补偿)有被称作obmc(overlappedblockmotioncompensation,重叠块运动补偿)的情况。
在这样的obmc模式中,对表示用于obmc的子块的尺寸的信息(例如称作obmc块尺寸)以序列级进行信号化。此外,对表示是否采用obmc模式的信息(例如称作obmc标志)以cu级进行信号化。另外,这些信息的信号化的级别并不需要限定于序列级及cu级,也可以是其他级(例如图片级、切片级、瓦片级、ctu级或子块级)。
对于obmc模式更具体地进行说明。图5b及图5c是用来说明基于obmc处理进行的预测图像修正处理的概要的流程图及概念图。
首先,使用被分配给编码对象块的运动矢量(mv),取得通过通常的运动补偿得到的预测图像(pred)。
接着,对编码对象块采用已编码的左相邻块的运动矢量(mv_l)而取得预测图像(pred_l),通过将上述预测图像和pred_l加权叠加,进行预测图像的第1次修正。
同样,对编码对象块采用已编码的上相邻块的运动矢量(mv_u)而取得预测图像(pred_u),通过对进行上述第1次修正后的预测图像和pred_u加权叠加,进行预测图像的第2次修正,将其作为最终的预测图像。
另外,这里说明了使用左相邻块和上相邻块的两阶段的修正的方法,但也可以构成为使用右相邻块及下相邻块进行比两阶段多的次数的修正。
另外,进行叠加的区域也可以不是块整体的像素区域,而仅是块边界附近的一部分区域。
另外,这里对根据1张参照图片的预测图像修正处理进行了说明,但在根据多张参照图片对预测图像进行修正的情况下也是同样的,在根据各个参照图片取得修正后的预测图像后,将得到的预测图像进一步叠加,由此作为最终的预测图像。
另外,上述处理对象块也可以是预测块单位,也可以是将预测块进一步分割的子块单位。
作为是否采用obmc处理的判断的方法,例如有使用表示是否采用obmc处理的信号即obmc_flag的方法。作为具体的一例,在编码装置中,判断编码对象块是否属于运动复杂的区域,在属于运动复杂的区域的情况下,作为obmc_flag而设定值1并采用obmc处理进行编码,在不属于运动复杂的区域的情况下,作为obmc_flag而设定值0,不采用obmc处理而进行编码。另一方面,在解码装置中,通过将流中记述的obmc_flag解码,根据其值切换是否采用obmc处理,来进行解码。
另外,也可以不将运动信息进行信号化,而在解码装置侧导出。例如,也可以使用由h.265/hevc规格规定的合并模式。此外,例如也可以通过在解码装置侧进行运动估计来导出运动信息。在此情况下,不使用当前块的像素值而进行运动估计。
这里,对在解码装置侧进行运动估计的模式进行说明。该在解码装置侧进行运动估计的模式有被称作pmmvd(patternmatchedmotionvectorderivation,图案匹配的运动矢量推导)模式或fruc(framerateup-conversion,帧速率上转换)模式的情况。
在图5d中表示fruc处理的一例。首先,参照与当前块在空间或时间上相邻的已编码块的运动矢量,生成分别具有预测运动矢量的多个候选的列表(也可以与合并列表共用)。接着,从登记在候选列表中的多个候选mv之中选择最佳候选mv。例如,计算候选列表中包含的各候选的评价值,基于评价值选择1个候选。
并且,基于所选择的候选的运动矢量,导出用于当前块的运动矢量。具体而言,例如将所选择的候选的运动矢量(最佳候选mv)原样作为用于当前块的运动矢量来导出。此外,例如也可以通过在与所选择的候选的运动矢量对应的参照图片内的位置的周边区域中进行图案匹配,来导出用于当前块的运动矢量。即,也可以对最佳候选mv的周边区域通过同样的方法进行搜索,在有评价值为更好的值的mv的情况下,将最佳候选mv更新为上述mv,将其作为当前块的最终的mv。另外,也可以做成不实施该处理的结构。
也可以在以子块单位进行处理的情况下也进行完全同样的处理。
另外,关于评价值,通过与运动矢量对应的参照图片内的区域和规定区域之间的图案匹配求出重构图像的差分值来计算。另外,也可以是,除了差分值以外还使用其以外的信息来计算评价值。
作为图案匹配,使用第1图案匹配或第2图案匹配。第1图案匹配及第2图案匹配有分别被称作双向匹配(bilateralmatching)及模板匹配(templatematching)的情况。
在第1图案匹配中,在不同的2个参照图片内的,沿着当前块的运动轨迹(motiontrajectory)的2个块之间进行图案匹配。因而,在第1图案匹配中,作为上述的用于候选的评价值的计算的规定区域,使用沿着当前块的运动轨迹的其他参照图片内的区域。
图6是用来说明沿着运动轨迹的2个块间的图案匹配(双向匹配)的一例的图。如图6所示,在第1图案匹配中,通过在沿着当前块(curblock)的运动轨迹的2个块,且不同的2个参照图片(ref0,ref1)内的2个块的对之中搜索最匹配的对,导出2个运动矢量(mv0,mv1)。具体而言,对于当前块,导出由候选mv指定的第1已编码参照图片(ref0)内的指定位置处的重构图像,与由将上述候选mv以显示时间间隔进行缩放后的对称mv指定的第2已编码参照图片(ref1)内的指定位置处的重构图像的差分,使用所得到的差分值计算评价值。可以在多个候选mv之中选择评价值为最好的值的候选mv作为最终mv。
在连续性的运动轨迹的假定下,指示2个参照块的运动矢量(mv0,mv1)相对于当前图片(curpic)与2个参照图片(ref0,ref1)之间的时间上的距离(td0,td1)成比例。例如,在当前图片在时间上位于2个参照图片之间,从当前图片向2个参照图片的时间上的距离相等的情况下,在第1图案匹配中,导出镜像对称的双方向的运动矢量。
在第2图案匹配中,在当前图片内的模板(在当前图片内与当前块相邻的块(例如上及/或左相邻块))与参照图片内的块之间进行图案匹配。因而,在第2图案匹配中,作为上述的用于候选的评价值的计算的规定区域,使用当前图片内的与当前块相邻的块。
图7是用来说明当前图片内的模板与参照图片内的块之间的图案匹配(模板匹配)的一例的图。如图7所示,在第2图案匹配中,通过在参照图片(ref0)内搜索与在当前图片(curpic)内相邻于当前块(curblock)的块最匹配的块,导出当前块的运动矢量。具体而言,对于当前块,导出左相邻及上相邻的双方或某一方的已编码区域的重构图像与由候选mv指定的已编码参照图片(ref0)内的同等位置处的重构图像的差分,使用所得到的差分值计算评价值,在多个候选mv之中选择评价值为最好的值的候选mv作为最佳候选mv。
这样的表示是否采用fruc模式的信息(例如称作fruc标志)以cu级被信号化。此外,在采用fruc模式的情况下(例如fruc标志为真的情况下),表示图案匹配的方法(第1图案匹配或第2图案匹配)的信息(例如称作fruc模式标志)以cu级被信号化。另外,这些信息的信号化并不需要限定于cu级,也可以是其他级(例如,序列级、图片级、切片级、瓦片级,ctu级或子块级)。
这里,说明基于假定了等速直线运动的模型来导出运动矢量的模式。该模式有被称作bio(bi-directionalopticalflow,双向光流)的情况。
图8是用来说明假定了等速直线运动的模型的图。在图8中,(vx,vy)表示速度矢量,τ0、τ1分别表示当前图片(curpic)与2个参照图片(ref0,ref1)之间的时间上的距离。(mvx0,mvy0)表示与参照图片ref0对应的运动矢量,(mvx1,mvy1)表示与参照图片ref1对应的运动矢量。
此时,在速度矢量(vx,vy)的等速直线运动的假定下,(mvx0,mvy0)及(mvx1,mvy1)分别被表示为(vxτ0,vyτ0)及(-vxτ1,-vyτ1),以下的光流(opticalflow)等式(1)成立。
[数式1]
这里,i(k)表示运动补偿后的参照图像k(k=0,1)的亮度值。该光流等式表示(i)亮度值的时间微分,(ii)水平方向的速度及参照图像的空间梯度的水平成分的积,以及(iii)垂直方向的速度及参照图像的空间梯度的垂直成分的积的和等于零。基于该光流等式与埃尔米特内插值(hermiteinterpolation)的组合,对从合并列表等得到的块单位的运动矢量以像素单位进行修正。
另外,也可以通过与基于假定了等速直线运动的模型的运动矢量的导出不同的方法,在解码装置侧导出运动矢量。例如,也可以基于多个相邻块的运动矢量,以子块单位导出运动矢量。
这里,对基于多个相邻块的运动矢量以子块单位导出运动矢量的模式进行说明。该模式有被称作仿射运动补偿预测(affinemotioncompensationprediction)模式的情况。
图9a是用来说明基于多个相邻块的运动矢量进行的子块单位的运动矢量的导出的图。在图9a中,当前块包括16个4×4子块。这里,基于相邻块的运动矢量,导出当前块的左上角控制点的运动矢量v0,基于相邻子块的运动矢量,导出当前块的右上角控制点的运动矢量v1。并且,使用2个运动矢量v0及v1,通过以下的式(2),导出当前块内的各子块的运动矢量(vx,vy)。
[数式2]
这里,x及y分别表示子块的水平位置及垂直位置,w表示预先设定的权重系数。
在这样的仿射运动补偿预测模式中,也可以包括左上及右上角控制点的运动矢量的导出方法不同的若干模式。表示这样的仿射运动补偿预测模式的信息(例如称作仿射标志)以cu级被信号化。另外,表示该仿射运动补偿预测模式的信息的信号化并不需要限定于cu级,也可以是其他级(例如,序列级、图片级、切片级、瓦片级、ctu级或子块级)。
[预测控制部]
预测控制部128选择帧内预测信号及帧间预测信号中的某一个,将所选择的信号作为预测信号,向减法部104及加法部116输出。
这里,说明通过合并模式导出编码对象图片的运动矢量的例子。图9b是用来说明基于合并模式的运动矢量导出处理的概要的图。
首先,生成登记有预测mv的候选的预测mv列表。作为预测mv的候选,有在空间上位于编码对象块的周边的多个已编码块所具有的mv即空间相邻预测mv,将已编码参照图片中的编码对象块的位置投影的近旁的块所具有的mv即时间相邻预测mv,将空间相邻预测mv与时间相邻预测mv的mv值组合而生成的mv即结合预测mv,以及值为零的mv即零预测mv等。
接着,通过从登记在预测mv列表中的多个预测mv之中选择1个预测mv,决定为编码对象块的mv。
进而,在可变长编码部中,将作为表示选择了哪个预测mv的信号的merge_idx记述在流中并编码。
另外,在图9b中说明的预测mv列表中登记的预测mv是一例,也可以是与图中的个数不同的个数,或者是不包含图中的预测mv的一部分种类的结构,或者是追加了图中的预测mv的种类以外的预测mv的结构。
另外,也可以使用通过合并模式导出的编码对象块的mv进行后述的dmvr处理,从而决定最终的mv。
这里,对使用dmvr处理决定mv的例子进行说明。
图9c是用来说明dmvr处理的概要的概念图。
首先,将对处理对象块设定的最优mvp作为候选mv,按照上述候选mv,从作为l0方向的已处理图片的第1参照图片及作为l1方向的已处理图片的第2参照图片分别取得参照像素,通过取各参照像素的平均来生成模板。
接着,使用上述模板,分别搜索第1参照图片及第2参照图片的候选mv的周边区域,将成本最小的mv决定为最终的mv。另外,关于成本值,使用模板的各像素值与搜索区域的各像素值的差分值及mv值等来计算。
另外,在编码装置及解码装置中,这里说明的处理的概要基本上是共通的。
另外,即使不是这里说明的处理本身,只要是能够搜索候选mv的周边并导出最终的mv的处理,也可以使用其他处理。
这里,对使用lic处理生成预测图像的模式进行说明。
图9d是用来说明使用基于lic处理的亮度修正处理的预测图像生成方法的概要的图。
首先,导出用来从作为已编码图片的参照图片取得与编码对象块对应的参照图像的mv。
接着,对于编码对象块,使用左相邻及上相邻的已编码周边参照区域的亮度像素值和由mv指定的参照图片内的同等位置处的亮度像素值,提取表示在参照图片和编码对象图片中亮度值怎样变化的信息,计算亮度修正参数。
通过使用上述亮度修正参数对由mv指定的参照图片内的参照图像进行亮度修正处理,生成对于编码对象块的预测图像。
另外,图9d中的上述周边参照区域的形状是一例,也可以使用其以外的形状。
此外,这里对根据1张参照图片生成预测图像的处理进行了说明,但在根据多张参照图片生成预测图像的情况下也是同样的,在对从各个参照图片取得的参照图像以同样的方法进行亮度修正处理后生成预测图像。
作为是否采用lic处理的判断的方法,例如有使用作为表示是否采用lic处理的信号的lic_flag的方法。作为具体的一例,在编码装置中,判断编码对象块是否属于发生了亮度变化的区域,在属于发生了亮度变化的区域的情况下,作为lic_flag而设定值1,采用lic处理进行编码,在不属于发生了亮度变化的区域的情况下,作为lic_flag而设定值0,不采用lic处理而进行编码。另一方面,在解码装置中,通过将记述在流中的lic_flag解码,根据其值切换是否采用lic处理而进行解码。
作为是否采用lic处理的判断的其他方法,例如还有按照在周边块是否采用了lic处理来判断的方法。作为具体的一例,在编码对象块是合并模式的情况下,判断在合并模式处理中的mv的导出时所选择的周边的已编码块是否采用lic处理进行了编码,根据其结果,切换是否采用lic处理而进行编码。另外,在该例的情况下,解码中的处理也完全同样。
[解码装置的概要]
接着,对能够将从上述编码装置100输出的编码信号(编码比特流)进行解码的解码装置的概要进行说明。图10是表示有关实施方式1的解码装置200的功能结构的框图。解码装置200是将运动图像/图像以块单位进行解码的运动图像/图像解码装置。
如图10所示,解码装置200具备熵解码部202、逆量化部204、逆变换部206、加法部208、块存储器210、循环滤波部212、帧存储器214、帧内预测部216、帧间预测部218和预测控制部220。
解码装置200例如由通用处理器及存储器实现。在此情况下,当由处理器执行了保存在存储器中的软件程序时,处理器作为熵解码部202、逆量化部204、逆变换部206、加法部208、循环滤波部212、帧内预测部216、帧间预测部218及预测控制部220发挥功能。此外,解码装置200也可以作为与熵解码部202、逆量化部204、逆变换部206、加法部208、循环滤波部212、帧内预测部216、帧间预测部218及预测控制部220对应的专用的1个以上的电子电路实现。
以下,对解码装置200中包含的各构成要素进行说明。
[熵解码部]
熵解码部202对编码比特流进行熵解码。具体而言,熵解码部202例如从编码比特流算数解码为二值信号。接着,熵解码部202将二值信号进行多值化(debinarize)。由此,熵解码部202以块单位将量化系数向逆量化部204输出。
[逆量化部]
逆量化部204对作为来自熵解码部202的输入的解码对象块(以下称作当前块)的量化系数进行逆量化。具体而言,逆量化部204对于当前块的量化系数,分别基于与该量化系数对应的量化参数,对该量化系数进行逆量化。并且,逆量化部204将当前块的逆量化后的量化系数(即变换系数)向逆变换部206输出。
[逆变换部]
逆变换部206通过对作为来自逆量化部204的输入的变换系数进行逆变换,将预测误差复原。
例如在从编码比特流解读出的信息表示采用emt或amt的情况下(例如amt标志是真),逆变换部206基于解读出的表示变换类型的信息,对当前块的变换系数进行逆变换。
此外,例如在从编码比特流解读出的信息表示采用nsst的情况下,逆变换部206对变换系数应用逆再变换。
[加法部]
加法部208通过将作为来自逆变换部206的输入的预测误差与作为来自预测控制部220的输入的预测样本相加,重构当前块。并且,加法部208将重构的块向块存储器210及循环滤波部212输出。
[块存储器]
块存储器210是用来将作为在帧内预测中参照的,解码对象图片(以下称作当前图片)内的块进行保存的存储部。具体而言,块存储器210保存从加法部208输出的重构块。
[循环滤波部]
循环滤波部212对由加法部208重构的块施以循环滤波,将滤波后的重构块向帧存储器214及显示装置等输出。
在从编码比特流解读出的表示alf的开启/关闭的信息表示alf的开启的情况下,基于局部性的梯度的方向及活性度从多个滤波器之中选择1个滤波器,对所重构块应用选择的滤波器。
[帧存储器]
帧存储器214是用来将在帧间预测中使用的参照图片进行保存的存储部,也有称作帧缓冲器的情况。具体而言,帧存储器214保存由循环滤波部212滤波后的重构块。
[帧内预测部]
帧内预测部216基于从编码比特流解读出的帧内预测模式,参照保存在块存储器210中的当前图片内的块进行帧内预测,由此生成预测信号(帧内预测信号)。具体而言,帧内预测部216通过参照与当前块相邻的块的样本(例如亮度值,色差值)进行帧内预测,由此生成帧内预测信号,将帧内预测信号向预测控制部220输出。
另外,在色差块的帧内预测中选择了参照亮度块的帧内预测模式的情况下,帧内预测部216也可以基于当前块的亮度成分来预测当前块的色差成分。
此外,在从编码比特流解读出的信息表示pdpc的采用的情况下,帧内预测部216基于水平/垂直方向的参照像素的梯度,对帧内预测后的像素值进行修正。
[帧间预测部]
帧间预测部218参照保存在帧存储器214中的参照图片,预测当前块。预测以当前块或当前块内的子块(例如4×4块)的单位进行。例如,帧间预测部218使用从编码比特流解读出的运动信息(例如运动矢量)进行运动补偿,由此生成当前块或子块的帧间预测信号,将帧间预测信号向预测控制部220输出。
另外,在从编码比特流解读出的信息表示采用obmc模式的情况下,帧间预测部218不仅使用通过运动估计得到的当前块的运动信息,还使用相邻块的运动信息来生成帧间预测信号。
此外,在从编码比特流解读出的信息表示采用fruc模式的情况下,帧间预测部218按照从编码流解读出的图案匹配的方法(双向匹配或模板匹配)进行运动估计,由此导出运动信息。并且,帧间预测部218使用所导出的运动信息进行运动补偿。
此外,帧间预测部218在采用bio模式的情况下,基于假定了等速直线运动的模型导出运动矢量。此外,在从编码比特流解读出的信息表示采用仿射运动补偿预测模式的情况下,帧间预测部218基于多个相邻块的运动矢量以子块单位导出运动矢量。
[预测控制部]
预测控制部220选择帧内预测信号及帧间预测信号中的某一个,将所选择的信号作为预测信号向加法部208输出。
(实施方式2)
关于有关实施方式2的编码处理及解码处理,参照图11及图12具体地说明,关于有关实施方式2的编码装置及解码装置,参照图15及图16具体地说明。
[编码处理]
图11表示有关实施方式2的影像编码处理。
首先,在步骤s1001中,将用于从多个分割模式中识别用于将第1块分割为多个子块的分割模式的第1参数写入比特流。若使用分割模式,则块被分割为多个子块。若使用不同的分割模式,则块被分割为不同形状、不同高度或不同宽度的多个子块。
图28表示在实施方式2中用于对n×n像素的块进行分割的分割模式的例子。在图28中,(a)~(h)表示相互不同的分割模式。如图28所示,若使用分割模式(a),则n×n像素(例如16×16像素,作为“n”的值可以取8到128为止的4的整数倍的任何值)的块被分割为2个n/2×n像素(例如8×16像素)的子块。若使用分割模式(b),则n×n像素的块被分割为n/4×n像素(例如4×16像素)的子块和3n/4×n像素(例如12×16像素)的子块。若使用分割模式(c),则n×n像素的块被分割为3n/4×n像素(例如12×16像素)的子块和n/4×n像素(例如4×16像素)的子块。若使用分割模式(d),则n×n像素的块被分割为(n/4)×n像素(例如4×16像素)的子块、n/2×n像素(例如8×16像素)的子块、和n/4×n像素(例如4×16像素)的子块。若使用分割模式(e),则n×n像素的块被分割为2个n×n/2像素(例如16×8像素)的子块。若使用分割模式(f),则n×n像素的块被分割为n×n/4像素(例如16×4像素)的子块和n×3n/4像素(例如16×12像素)的子块。若使用分割模式(g),则n×n像素的块被分割为n×3n/4像素(例如16×12像素)的子块和n×n/4像素(例如16×4像素)的子块。若使用分割模式(h),则n×n像素的块被分割为n×n/4像素(例如16×4像素)的子块、n×n/2像素(例如16×8像素)的子块、和n×n/4像素(例如16×4像素)的子块。
接着,在步骤s1002中判断第1参数是否识别出第1分割模式。
接着,在步骤s1003中,至少基于第1参数是否识别出第1分割模式的判断,来判断作为用于分割第2块的的候选是否不选择第2分割模式。
2个不同的分割模式集可能将块分割为相同形状及尺寸的子块。例如,如图31a所示,(1b)及(2c)的子块具有相同形状及尺寸。1个分割模式集能够包含至少2个分割模式。例如,如图31a的(1a)及(1b)所示,1个分割模式集能够接续于三叉树垂直分割而包含中央的子块的二叉树垂直分割和其他的子块的非分割。并且例如,如图31a的(2a)、(2b)及(2c)所示,其他的分割模式集能够接续于二叉树垂直分割而包含两方的子块的二叉树垂直分割。哪个分割模式集都成为相同形状及尺寸的子块。
在从将块分割为相同形状及尺寸的子块的2个割模式集且在比特流内被编码时为不同的二进制数或不同的比特数的2个分割模式集之中进行选择的情况下,选择更少的二进制数或更少的比特数的分割模式集。另外,二进制数及比特数相当于代码量。
在从将块分割为相同形状及尺寸的子块的2个分割模式集且在比特流内被编码时为相同的二进制数或相同的比特数的2个分割模式集之中选择的情况下,选择在多个分割模式集的规定的顺序上最初出现的分割模式集。规定的顺序可以是例如基于各分割模式集内的分割模式的数量的顺序。
图31a及图31b是表示在分割模式的编码中使用更少的二进制数的分割模式集来将块分割为子块的一例的图。在该例中,在左侧的n×n像素的块被垂直地分割为2个子块的情况下,在步骤(2c)中不选择用于右侧的n×n像素的块的第2分割模式。这是因为,在图31b的分割模式的编码方法中,第2分割模式集(2a,2b,2c)与第1分割模式集(1a,1b)相比,对分割模式的编码要求更多的二进制。
图32a~图32c是表示使用在多个分割模式集的规定的顺序上最初出现的分割模式集来将块分割为子块的一例的图。在该例中,在2n×n/2像素的块被垂直地分割为3个子块的情况下,在步骤(2c)中,不选择用于下方的2n×n/2像素的块的第2分割模式。这是因为,在图32b的分割模式的编码方法中,第2分割模式集(2a,2b,2c)是与第1分割模式集(1a,1b,1c,1d)相同的二进制数,并且在图32c所示的分割模式集的规定的顺序中,在第1分割模式集(1a,1b,1c,1d)之后出现。多个分割模式集的规定的顺序也能够固定,也能够在比特流内进行信号化。
图20表示在实施方式2中如步骤(2c)所示为了2n×n像素的块的分割而不选择第2分割模式的一例。如图20所示,能够使用第一分割方法(i),如步骤(1a)那样将2n×2n像素(例如,16×16像素)的块等分割为n×n像素(例如8×8像素)的4个子块。并且,也能够使用第二分割方法(ii),如步骤(2a)那样将2n×2n像素的块水平地等分割为2n×n像素(例如,16×8像素)的2个子块。这里,在第二分割方法(ii)中,如步骤(2b)那样通过第1分割模式而将上侧的2n×n像素的块(第1块)垂直地分割为2个n×n像素的子块的情况下,在步骤(2c)中,将下侧的2n×n像素的块(第2块)垂直地分割为2个n×n像素的子块的第2分割模式不被选择为可能的分割模式的候选。这是因为,会生成与通过第一分割方法(i)的四分割得到的子块尺寸相同的子块尺寸。
如以上那样,在图20中,在若使用第1分割模式则第1块被沿垂直方向等分割为2个子块、且若使用第2分割模式则与第1块在垂直方向相邻的第2块被沿垂直方向等分割为2个子块的情况下,不将第2分割模式选择为候选。
图21表示在实施方式2中如步骤(2c)所示为了n×2n像素的块的分割而不选择第2分割模式的一例。如图21所示,能够使用第一分割方法(i)如步骤(1a)那样将2n×2n像素的块等分割为n×n像素的4个子块。并且,也能够使用第二分割方法(ii)如步骤(2a)那样将2n×2n像素的块垂直地等分割为2n×n像素(例如,8×16像素)的2个子块。在第二分割方法(ii)中如步骤(2b)那样通过第1分割模式而将左侧的n×2n像素的块(第1块)水平地分割为2个n×n像素的子块的情况下,在步骤(2c)中,将右侧的n×2n像素的块(第2块)水平地分割为2个n×n像素的子块的第2分割模式不被选择为可能的分割模式的候选。这是因为,会生成与通过第一分割方法(i)的四分割得到的子块尺寸相同的子块尺寸。
如以上那样,在图21中,在若使用第1分割模式则第1块被沿水平方向等分割为2个子块、且若使用第2分割模式则与第1块在水平方向上相邻的第2块被沿水平方向等分割为2个子块的情况下,不将第2分割模式选择为候选。
图22表示在实施方式2中如步骤(2c)所示为了n×n像素的块的分割而不选择第2分割模式的一例。如图22所示,能够使用第一分割方法(i),如步骤(1a)那样将2n×n像素(例如,16×8像素,作为“n”的值也可取8到128为止的4的整数倍的任何的值)的块垂直地分割为n/2×n像素的子块、n×n像素的子块、及n/2×n像素的子块(例如4×8像素的子块、8×8像素的子块、及4×8像素的子块)。并且,也能够使用第二分割方法(ii),如步骤(2a)那样将2n×n像素的块分割为2个n×n像素的子块。在第一分割方法(i)中能够在步骤(1b)中将中央的n×n像素的块垂直地分割为2个n/2×n像素(例如4×8像素)的子块。在第二分割方法(ii)中,如步骤(2b)那样在将左侧的n×n像素的块(第1块)垂直地分割为2个n/2×n像素的子块的情况下,在步骤(2c)中,将右侧的n×n像素的块(第2块)垂直地分割为2个n/2×n像素的子块的分割模式不被选择为可能的分割模式的候选。这是因为,会生成与通过第一分割方法(i)得到的子块尺寸相同的子块尺寸、即4个n/2×n像素的子块。
如以上那样,在图22中,在若使用第1分割模式则第1块被沿垂直方向等分割为2个子块、且若使用第2分割模式则与第1块在水平方向上相邻的第2块被沿垂直方向等分割为2个子块的情况下,不将第2分割模式选择为候选。
图23表示在实施方式2中如步骤(2c)所示为了n×n像素的块的分割而不选择第2分割模式的一例。如图23所示,能够使用第一分割方法(i),如步骤(1a)那样将n×2n像素(例如8×16像素,作为“n”的值也可取8到128为止的4的整数倍的任何的值)分割为n×n/2像素的子块、n×n像素的子块、及n×n/2像素的子块(例如8×4像素的子块、8×8像素的子块及8×4像素的子块)。并且,能够使用第二分割方法,如步骤(2a)那样分割为2个n×n像素的子块。在第一分割方法(i)中能够如步骤(1b)那样将中央的n×n像素的块分割为2个n×n/2像素的子块。在第二分割方法(ii)中,如步骤(2b)那样将上侧的n×n像素的块(第1块)水平地分割为2个n×n/2像素的子块的情况下,在步骤(2c)中,将下侧的n×n像素的块(第2块)水平地分割为2个n×n/2像素的子块的分割模式不被选择为可能的分割模式的候选。这是因为,会生成与通过第一分割方法(i)得到的子块尺寸相同的子块尺寸、即4个n×n/2像素的子块。
如以上那样,在图23中,在若使用第1分割模式则第1块被沿水平方向等分为2个子块、且若使用第2分割模式则与第1块在垂直方向上相邻的第2块被沿水平方向等分为2个子块的情况下,不将第2分割模式选择为候选。
若判断为选择第2分割模式作为用于第2块的候选(s1003的否),则在步骤s1004中从包含第2分割模式作为候选的多个分割模式中选择分割模式。在步骤s1005中,表示选择结果的第2参数被写入比特流。
若判断为作为用于分割第2块的候选而不选择第2分割模式(s1003的是),则在步骤s1006中为了分割第2块而选择与与第2分割模式不同的分割模式。这里所选择的分割模式中,将块分割为与通过第2分割模式生成的子块相比具有不同形状或不同尺寸的子块。
图24表示在实施方式2中如步骤(3)所示使用不选择第2分割模式时所选择的分割模式来分割2n×n像素的块的一例。如图24所示,所选择的分割模式能够将2n×n像素的当前块(该例中为下块)如图24的(c)及(f)所示分割为3个子块。3个子块的尺寸可以不同。例如,在3个子块中,大子块可以具有小子块的2倍的宽度/高度。并且例如,所选择的分割模式也能够将当前块如图24的(a)、(b)、(d)及(e)所示分割为尺寸不同的2个子块(非对称二叉树)。例如,在使用非对称二叉树的情况下,大子块能够具有小子块的3倍的宽度/高度。
图25表示在实施方式2中如步骤(3)所示使用不选择第2分割模式时所选择的分割模式来分割n×2n像素的块的一例。如图25所示,所选择的分割模式能够将n×2n像素的当前块(该例中为右块)如图25的(c)及(f)所示分割为3个子块。3个子块的尺寸可以不同。例如,在3个子块中,大子块可以具有小子块的2倍的宽度/高度。并且例如,所选择的分割模式也能够将当前块如图25的(a)、(b)、(d)及(e)所示那样分割为尺寸不同的2个子块(非对称二叉树)。例如,在使用了非对称二叉树的情况下,大子块能够具有小子块的3倍的宽度/高度。
图26表示在实施方式2中如步骤(3)所示使用不选择第2分割模式时所选择的分割模式来分割n×n像素的块的一例。如图26所示,在步骤(1)中,2n×n像素的块被垂直地分割为2个n×n像素的子块,在步骤(2)中,左侧的n×n像素的块被垂直地分割为2个n/2×n像素的子块。在步骤(3)中,能够使用用于n×n像素的当前块(该例中为左块)的所选择的分割模式而如图26的(c)及(f)所示将当前块分割为3个子块。3个子块的尺寸可以不同。例如,在3个子块中,大子块可以具有小子块的2倍的宽度/高度。并且例如,所选择的分割模式也能够将当前块如图26的(a)、(b)、(d)及(e)所示分割为尺寸不同的2个子块(非对称二叉树)。例如,在使用非对称二叉树的情况下,大子块能够具有小子块的3倍的宽度/高度。
图27表示在实施方式2中如步骤(3)所示使用不选择第2分割模式时所选择的分割模式来分割n×n像素的块的一例。如图27所示,在步骤(1)中,n×2n像素的块被水平地分割为2个n×n像素的子块,在步骤(2)中,上侧的n×n像素的块被水平地分割为2个n×n/2像素的子块。在步骤(3)中,能够使用用于n×n像素的当前块(该例中为下块)的所选择的分割模式而如图27的(c)及(f)所示将当前块分割为3个子块。3个子块的尺寸可以不同。例如,在3个子块中,大子块可以具有小子块的2倍的宽度/高度。并且例如,所选择的分割模式也能够将当前块如图27的(a)、(b)、(d)及(e)所示分割为尺寸不同的2个子块(非对称二叉树)。例如,在使用非对称二叉树的情况下,大子块能够具有小子块的3倍的宽度/高度。
图17表示压缩影像流内的第1参数的可考虑的位置。如图17所示,第1参数能够配置在视频参数集、序列参数集、图片参数集、切片头或编码树单元内。第1参数能够表示将块分割为多个子块的方法。例如,第1参数能够包含表示是否将块沿水平方向或垂直方向分割的标志。第1参数也能够包含表示是否将块分割为2个以上的子块的参数。
图18表示压缩影像流内的第2参数的可考虑的位置。如图18所示,第2参数能够配置在视频参数集、序列参数集、图片参数集、切片头或编码树单元内。第2参数能够表示将块分割为多个子块的方法。例如,第2参数能够包含表示是否将块沿水平方向或垂直方向分割的标志。第2参数也能够包含表示是否将块分割为2个以上的子块的参数。如图19所示,第2参数在比特流内接续在第1参数之后。
第1块及第2块是不同的块。第1块及第2块可以包含在同一帧中。例如,第1块可以是在第2块之上相邻的块。并且例如,第1块也可以是在第2块的左侧相邻的块。
在步骤s1007中,第2块使用所选择的分割模式而被分割为子块。在步骤s1008中,分割后的块被编码。
[编码装置]
图15是表示有关实施方式2或3的影像/图像编码装置的结构的框图。
影像编码装置5000是用于按照每个块对输入影像/图像进行编码而生成编码输出比特流的装置。如图15所示,影像编码装置5000具备变换部5001、量化部5002、逆量化部5003、逆变换部5004、块存储器5005、帧存储器5006、帧内预测部5007、帧间预测部5008、熵编码部5009、和块分割决定部5010。
输入影像被输入到加法器,加法值被输出到变换部5001。变换部5001基于通过块分割决定部5010导出的块分割模式,将加法值变换为频率系数,并将频率系数向量化部5002输出。块分割模式能够与块分割模式、块分割类型或块分割方向建立关联。量化部5002对输入量化系数进行量化,并将量化值向逆量化部5003及熵编码部5009输出。
逆量化部5003对从量化部5002输出的量化值进行逆量化,并将频率系数向逆变换部5004输出。逆变换部5004基于通过块分割决定部5010导出的块分割模式,对频率系数执行逆频率变换,将频率系数变换为比特流的样本值,并将样本值向加法器输出。
加法器将从逆变换部5004输出的比特流的样本值与从帧内/帧间预测部5007、5008输出的预测影像/图像值相加,并为了进一步的预测而将加法值向块存储器5005或帧存储器5006输出。块分割决定部5010从块存储器5005或帧存储器5006收集块信息,并导出块分割模式及与块分割模式有关的参数。若使用所导出的块分割模式,则块被分割为多个子块。帧内/帧间预测部5007、5008从保存在块存储器5005中的影像/图像、或者通过由块分割决定部5010导出的块分割模式重构而得到的帧存储器5006内的影像/图像之中搜索,推定例如与预测对象的输入影像/图像最类似的影像/图像区域。
熵编码部5009对从量化部5002输出的量化值进行编码,对来自块分割决定部5010的参数进行编码,并输出比特流。
[解码处理]
图12表示有关实施方式2的影像解码处理。
首先,在步骤s2001中,根据比特流来解读第1参数,该第1参数从多个分割模式之中识别用于将第1块分割为子块的分割模式。若使用分割模式,则块被分割为子块,若使用不同的分割模式,则块被分割为具有不同形状、不同高度或不同宽度的子块。
图28表示在实施方式2中用于分割n×n像素的块的分割模式的例。在图28中,(a)~(h)表示相互不同的分割模式。如图28所示,若使用分割模式(a),则n×n像素(例如16×16像素,作为“n”的值也可取8到128为止的4的整数倍的任何的值)的块被分割为2个n/2×n像素(例如8×16像素)的子块。若使用分割模式(b),则n×n像素的块被分割为n/4×n像素(例如4×16像素)的子块和3n/4×n像素(例如12×16像素)的子块。若使用分割模式(c),则n×n像素的块被分割为3n/4×n像素(例如12×16像素)的子块和n/4×n像素(例如4×16像素)的子块。若使用分割模式(d),则n×n像素的块被分割为(n/4)×n像素(例如4×16像素)的子块、n/2×n像素(例如8×16像素)的子块、和n/4×n像素(例如4×16像素)的子块。若使用分割模式(e),则n×n像素的块被分割为2个n×n/2像素(例如16×8像素)的子块。若使用分割模式(f),则n×n像素的块被分割为n×n/4像素(例如16×4像素)的子块和n×3n/4像素(例如16×12像素)的子块。若使用分割模式(g),则n×n像素的块被分割为n×3n/4像素(例如16×12像素)的子块和n×n/4像素(例如16×4像素)的子块。若使用分割模式(h),则n×n像素的块被分割为n×n/4像素(例如16×4像素)的子块、n×n/2像素(例如16×8像素)的子块、和n×n/4像素(例如16×4像素)的子块。
接着,在步骤s2002中,判断第1参数是否识别出第1分割模式。
接着,在步骤s2003中,至少基于第1参数是否识别出第1分割模式的判断,来判断作为用于分割第2块的候选是否不选择第2分割模式。
2个不同的分割模式集可能将块分割为相同的形状及尺寸的子块。例如,如图31a所示(1b)及(2c)的子块具有相同形状及尺寸。1个分割模式集能够包含至少2个分割模式。例如,如图31a的(1a)及(1b)所示,1个分割模式集能够接着三叉树垂直分割而包含中央的子块的二叉树垂直分割和其他的子块的非分割。并且例如,如图31a的(2a)、(2b)及(2c)所示,其他的分割模式集能够接着二叉树垂直分割而包含两方的子块的二叉树垂直分割。哪种分割模式集都成为相同形状及尺寸的子块。
在从将块分割为相同形状及尺寸的子块的2个分割模式集且在比特流内被编码时为不同的二进制数或不同的比特数的2个分割模式集之中进行选择的情况下,选择更少的二进制数或更少的比特数的分割模式集。
在从将块分割为相同形状及尺寸的子块的2个分割模式集且在比特流内被编码时为相同的位数或相同的比特数的2个分割模式集之中进行选择的情况下,选择在多个分割模式集的规定的顺序上最初出现的分割模式集。规定的顺序可以是例如基于各分割模式集内的分割模式的数量的顺序。
图31a及图31b是表示在分割模式的编码中使用更少的二进制数的分割模式集来将块分割为子块的一例的图。该例中,在左侧的n×n像素的块被垂直地分割为2个子块的情况下,在步骤(2c)中不选择用于右侧的n×n像素的块的第2分割模式。这是因为,在图31b的分割模式的编码方法中,第2分割模式集(2a,2b,2c)与第1分割模式集(1a,1b)相比,对分割模式的编码要求更多的二进制。
图32a是表示使用在多个分割模式集的规定的顺序上最初出现的分割模式集来将块分割为子块的一例的图。该例中,在2n×n/2像素的块被垂直地分割为3个子块的情况下,在步骤(2c)中,不选择用于下侧的2n×n/2像素的块的第2分割模式。这是因为,在图32b的分割模式的编码方法中,第2分割模式集(2a,2b,2c)是与第1分割模式集(1a,1b,1c,1d)相同的二进制数,并且在图32c所示的分割模式集的规定的顺序中在第1分割模式集(1a,1b,1c,1d)之后出现。多个分割模式集的规定的顺序也能够固定,也能够在比特流内信号化。
图20表示在实施方式2中如步骤(2c)所示为了2n×n像素的块的分割而不选择第2分割模式的一例。如图20所示,能够使用第一分割方法(i),如步骤(1a)那样将2n×2n像素(例如,16×16像素)的块等分割为n×n像素(例如8×8像素)的4个子块。并且,也能够使用第二分割方法(ii),如步骤(2a)那样将2n×2n像素的块水平地等分割为2n×n像素(例如,16×8像素)的2个子块。在第二分割方法(ii)中如步骤(2b)那样通过第1分割模式将上侧的2n×n像素的块(第1块)垂直地分割为2个n×n像素的子块的情况下,在步骤(2c)中,将下侧的2n×n像素的块(第2块)垂直地分割为2个n×n像素的子块的第2分割模式不被选择为可能的分割模式的候选。这是因为,会生成与通过第一分割方法(i)的四分割得到的子块尺寸相同的子块尺寸。
如以上那样,图20中,在若使用第1分割模式则第1块被沿垂直方向等分割为2个子块、且若使用第2分割模式则与第1块在垂直方向上相邻的第2块被沿垂直方向等分割为2个子块的情况下,不将第2分割模式选择为候选。
图21表示在实施方式2中如步骤(2c)所示为了n×2n像素的块的分割而不选择第2分割模式的一例。如图21所示,能够使用第一分割方法(i),如步骤(1a)那样将2n×2n像素的块等分割为n×n像素的4个子块。并且,也能够使用第二分割方法(ii),如步骤(2a)那样将2n×2n像素的块垂直地等分割为2n×n像素(例如,8×16像素)的2个子块。在第二分割方法(ii)中,在如步骤(2b)那样通过第1分割模式将左侧的n×2n像素的块(第1块)水平地分割为2个n×n像素的子块的情况下,在步骤(2c)中,将右侧的n×2n像素的块(第2块)水平地分割为2个n×n像素的子块的第2分割模式不被选择为可能的分割模式的候选。这是因为,会生成与通过第一分割方法(i)的四分割得到的子块尺寸相同的子块尺寸。
如以上那样,图21中,在若使用第1分割模式则第1块被沿水平方向等分割为2个子块、且若使用第2分割模式则与第1块在水平方向上相邻的第2块被沿水平方向等分割为2个子块的情况下,不将第2分割模式选择为候选。
图22表示在实施方式2中如步骤(2c)所示为了n×n像素的块的分割而不选择第2分割模式的一例。如图22所示,能够使用第一分割方法(i),如步骤(1a)那样将2n×n像素(例如,16×8像素,作为“n”的值也可取8到128为止的4的整数倍的任何的值)的块垂直地分割为n/2×n像素的子块、n×n像素的子块、及n/2×n像素的子块(例如,4×8像素的子块、8×8像素的子块、及4×8像素的子块)。并且,也能够使用第二分割方法(ii),如步骤(2a)那样将2n×n像素的块分割为2个n×n像素的子块。在第一分割方法(i)中,能够用步骤(1b)将中央的n×n像素的块垂直地分割为2个n/2×n像素(例如4×8像素)的子块。在第二分割方法(ii)中,在如步骤(2b)那样左侧的n×n像素的块(第1块)被垂直地分割为2个n/2×n像素的子块的情况下,在步骤(2c)中,将右侧的n×n像素的块(第2块)垂直地分割为2个n/2×n像素的子块的分割模式不被选择为可能的分割模式的候选。这是因为,会生成与通过第一分割方法(i)得到的子块尺寸相同的子块尺寸、即4个n/2×n像素的子块。
如以上那样,图22中,在若使用第1分割模式则第1块被沿垂直方向等分割为2个子块、且若使用第2分割模式则与第1块在水平方向上相邻的第2块被沿垂直方向等分割为2个子块的情况下,不将第2分割模式选择为候选。
图23表示在实施方式2中如步骤(2c)所示为了n×n像素的块的分割而不选择第2分割模式的一例。如图23所示,能够使用第一分割方法(i),如步骤(1a)那样将n×2n像素(例如8×16像素,作为“n”的值也可取8到128为止的4的整数倍的任何的值)分割为n×n/2像素的子块、n×n像素的子块、及n×n/2像素的子块(例如8×4像素的子块、8×8像素的子块及8×4像素的子块)。并且,也能够使用第二分割方法,如步骤(2a)那样分割为2个n×n像素的子块。在第一分割方法(i)中,能够如步骤(1b)那样将中央的n×n像素的块分割为2个n×n/2像素的子块。在第二分割方法(ii)中,在如步骤(2b)那样上侧的n×n像素的块(第1块)被水平地分割为2个n×n/2像素的子块的情况下,在步骤(2c)中,将下侧的n×n像素的块(第2块)水平地分割为2个n×n/2像素的子块的分割模式不被选择为可能的分割模式的候选。这是因为,会生成与通过第一分割方法(i)得到的子块尺寸相同的子块尺寸、即4个n×n/2像素的子块。
如以上那样,图23中,在若使用第1分割模式则第1块被沿水平方向等分割为2个子块、且若使用第2分割模式则与第1块在垂直方向上相邻的第2块被沿水平方向等分割为2个子块的情况下,不将第2分割模式选择为候选。
若判断为选择第2分割模式作为用于分割第2块的候选(s2003的否),则在步骤s2004中从比特流中解读出第2参数,并从包含第2分割模式作为候选的多个分割模式中选择分割模式。
若判断为作为用于分割第2块的候选而不选择第2分割模式(s2003的是),则步骤s2005中为了分割第2块而选择与第2分割模式不同的分割模式。这里所选择的分割模式将块分割为与通过第2分割模式生成的子块相比具有不同形状或不同尺寸的子块。
图24表示在实施方式2中如步骤(3)所示使用不选择第2分割模式时所选择的分割模式来分割2n×n像素的块的一例。如图24所示,所选择的分割模式能够将2n×n像素的当前块(该例中为下块)如图24的(c)及(f)所示分割为3个子块。3个子块的尺寸可以不同。例如,在3个子块中,大子块可以具有小子块的2倍的宽度/高度。并且例如,所选择的分割模式也能够将当前块如图24的(a)、(b)、(d)及(e)所示分割为尺寸不同的2个子块(非对称二叉树)。例如,在使用非对称二叉树的情况下,大子块能够具有小子块的3倍的宽度/高度。
图25表示在实施方式2中如步骤(3)所示使用不选择第2分割模式时所选择的分割模式来分割n×2n像素的块的一例。如图25所示,所选择的分割模式能够将n×2n像素的当前块(该例中为右块)如图25的(c)及(f)所示分割为3个子块。3个子块的尺寸可以不同。例如,在3个子块中,大子块可以具有小子块的2倍的宽度/高度。并且例如,所选择的分割模式也能够将当前块如图25的(a)、(b)、(d)及(e)所示分割为尺寸不同的2个子块(非对称二叉树)。例如,在使用非对称二叉树的情况下,大子块能够具有小子块的3倍的宽度/高度。
图26表示在实施方式2中如步骤(3)所示使用不选择第2分割模式时所选择的分割模式来分割n×n像素的块的一例。如图26所示,在步骤(1)中,2n×n像素的块被垂直地分割为2个n×n像素的子块,在步骤(2)中,左侧的n×n像素的块被垂直地分割为2个n/2×n像素的子块。在步骤(3)中,能够使用用于n×n像素的当前块(该例中为左块)的所选择的分割模式,如图26的(c)及(f)所示将当前块分割为3个子块。3个子块的尺寸可以不同。例如,在3个子块中,大子块可以具有小子块的2倍的宽度/高度。并且例如,所选择的分割模式也能够将当前块如图26的(a)、(b)、(d)及(e)所示分割为尺寸不同的2个子块(非对称二叉树)。例如,在使用非对称二叉树的情况下,大子块能够具有小子块的3倍的宽度/高度。
图27表示在实施方式2中如步骤(3)所示使用不选择第2分割模式时所选择的分割模式来分割n×n像素的块的一例。如图27所示,在步骤(1)中,n×2n像素的块被水平地分割为2个n×n像素的子块,在步骤(2)中,上侧的n×n像素的块被水平地分割为2个n×n/2像素的子块。在步骤(3)中,能够使用用于n×n像素的当前块(该例中为下块)的所选择的分割模式,如图27的(c)及(f)所示将当前块分割为3个子块。3个子块的尺寸可以不同。例如,在3个子块中,大子块具有小子块的2倍的宽度/高度。并且例如,所选择的分割模式也能够将当前块如图27的(a)、(b)、(d)及(e)所示分割为尺寸不同的2个子块(非对称二叉树)。例如,在使用非对称二叉树的情况下,大子块能够具有小子块的3倍的宽度/高度。
图17表示压缩影像流内的第1参数的可考虑的位置。如图17所示,第1参数能够配置在视频参数集、序列参数集、图片参数集、切片头或编码树单元内。第1参数能够表示将块分割为多个子块的方法。例如,第1参数能够包含表示是否将块沿水平方向或垂直方向分割的标志。第1参数也能够包含表示是否将块分割为2个以上的子块的参数。
图18表示压缩影像流内的第2参数的可考虑的位置。如图18所示,第2参数能够配置在视频参数集、序列参数集、图片参数集、切片头或编码树单元内。第2参数能够表示将块分割为多个子块的方法。例如,第2参数能够包含表示是否将块沿水平方向或垂直方向分割的标志。第2参数也能够包含表示是否将块分割为2个以上的子块的参数。如图19所示,第2参数在比特流内接续在第1参数之后而配置。
第1块及第2块是不同的块。第1块及第2块也可以包含于同一帧。例如,第1块可以是在第2块的上方相邻的块。并且例如,第1块也可以是在第2块的左侧相邻的块。
在步骤s2006中,第2块使用所选择的分割模式被分割为子块。在步骤s2007中,分割后的块被解码。
[解码装置]
图16是表示有关实施方式2或3的影像/图像解码装置的结构的框图。
影像解码装置6000是用于按照每个块对输入编码比特流进行解码并输出影像/图像的装置。影像解码装置6000如图16所示具备熵解码部6001、逆量化部6002、逆变换部6003、块存储器6004、帧存储器6005、帧内预测部6006、帧间预测部6007和块分割决定部6008。
输入编码比特流被输入到熵解码部6001。在输入编码比特流被输入到熵解码部6001之后,熵解码部6001对输入编码比特流进行解码,将参数向块分割决定部6008输出,并将解码值向逆量化部6002输出。
逆量化部6002对解码值进行逆量化,将频率系数向逆变换部6003输出。逆变换部6003基于通过块分割决定部6008导出的块分割模式,对频率系数执行逆频率变换,将频率系数变换为样本值,并将样本值向加法器输出。块分割模式能够与块分割模式、块分割类型、或块分割方向建立关联。加法器对从帧内/帧间预测部6006、6007输出的预测影像/图像值加上样本值,对显示器输出加法值,为了进一步的预测,将加法值向块存储器6004或帧存储器6005输出。块分割决定部6008从块存储器6004或帧存储器6005收集块信息,使用通过熵解码部6001解码出的参数,导出块分割模式。若使用所导出的块分割模式,则块被分割为多个子块。进而,帧内/帧间预测部6006、6007根据块存储器6004中保存的影像/图像、或通过由块分割决定部6008导出的块分割模式进行重构后的帧存储器6005内的影像/图像,对解码对象块的影像/图像区域进行预测。
[效果等]
如以上那样,有关本实施方式的影像编码装置5000是对图像的块进行编码的图像编码装置,具备处理器和存储器,上述处理器使用上述存储器进行如下处理:将用于从多个分割模式之中识别用于将第1块分割为子块的分割模式的第1参数写入比特流;判断上述第1参数是否识别出第1分割模式;至少基于上述第1参数是否识别出上述第1分割模式的判断,判断作为用于分割与上述第1块不同的第2块的候选是否不选择第2分割模式;在判断为选择上述第2分割模式作为用于分割上述第2块的候选的情况下,从包含上述第2分割模式作为候选的多个分割模式之中选择分割模式,将表示选择结果的第2参数写入比特流;在判断为作为用于分割上述第2块的候选而不选择上述第2分割模式的情况下,选择与上述第2分割模式不同、且将块分割为与通过上述第2分割模式生成的子块相比不同形状或不同尺寸的子块的分割模式,并使用所选择的上述分割模式,将上述第2块分割为子块,对分割后的上述块进行编码。
据此,在判断为作为用于分割第2块的候选而不选择第2分割模式的情况下,能够选择与第2分割模式不同的分割模式。因而,能够使可选择的分割模式减少,能够削减分割模式的代码量而使压缩效率提高。
并且,在有关本实施方式的影像编码装置5000中,也可以是,与上述第2分割模式不同的被选择的上述分割模式将块分割为与上述第2分割模式相比更多的子块,或者将上述块分割为与上述第2分割模式相同的数量且不同尺寸的子块。
据此,在作为候选不选择第2分割模式的情况下,能够分割为与通过第2分割模式得到的子块不同的子块。
并且,在有关本实施方式的影像编码装置5000中,也可以是,在是否不选择上述第2分割模式的判断中,在上述第1参数识别出第1分割模式的情况下,基于包含上述第1分割模式及上述第2分割模式在内的第1分割模式集的第1代码量、以及与上述第1分割模式集不同的第2分割模式集的第2代码量,判断作为上述候选是否不选择上述第2分割模式,上述第2分割模式集包含至少一个分割模式,该至少一个分割模式用于将块分割成与使用上述第1分割模式及上述第2分割模式对上述第1块及上述第2块进行分割而得到的子块的形状及尺寸相同的子块的形状及尺寸。
据此,能够基于分割模式集的代码量来判断作为候选是否不选择第2分割模式,能够削减分割模式的代码量而使压缩效率提高。
并且,在有关本实施方式的影像编码装置5000中,也可以是,在是否不选择上述第2分割模式的判断中,在上述第1代码量比上述第2代码量大的情况下,判断为不选择上述第2分割模式。
据此,能够防止选择更多的代码量的分割模式集,能够削减分割模式的代码量而使压缩效率提高。
并且,在有关本实施方式的影像编码装置5000中,也可以是,在是否不选择上述第2分割模式的判断中,在上述第1代码量与上述第2代码量相等的情况下,若在包含上述第1分割模式集及上述第2分割模式集在内的多个分割模式集的规定的顺序中、上述第2分割模式集比上述第1分割模式集先出现,则判断为不选择上述第2分割模式。
据此,在2个分割模式集的代码量相等的情况下,能够基于规定的顺序来选择分割模式集。
如以上那样,有关本实施方式的影像解码装置6000是对图像的块进行解码的图像解码装置,具备处理器和存储器,上述处理器使用上述存储器进行如下处理:从比特流中解读出用于从多个分割模式之中识别用于将第1块分割为子块的分割模式的第1参数;判断上述第1参数是否识别出第1分割模式;至少基于上述第1参数是否识别出上述第1分割模式的判断,来判断作为用于分割与上述第1块不同的第2块的候选是否不选择第2分割模式;在判断为选择上述第2分割模式作为用于分割上述第2块的候选的情况下,从比特流中解读出用于从包含上述第2分割模式作为候选的多个分割模式之中选择用于分割上述第2块的分割模式的第2参数;在判断为作为用于分割上述第2块的候选而不选择上述第2分割模式的情况下,选择与上述第2分割模式不同、且将块分割为与通过上述第2分割模式生成的子块相比不同形状或不同尺寸的子块的分割模式,使用所选择的上述分割模式来将上述第2块分割为子块,并将分割后的上述块解码。
据此,在判断为作为用于分割第2块的候选而不选择第2分割模式的情况下,能够选择与第2分割模式不同的分割模式。从而,能够使可选择的分割模式减少,并削减分割模式的代码量而使压缩效率提高。
并且,在有关本实施方式的影像解码装置6000中,也可以是,与上述第2分割模式不同的被选择的上述分割模式将块分割为与上述第2分割模式相比更多的子块,或者将上述块分割为与上述第2分割模式相同的数量且不同尺寸的子块。
据此,在第2分割模式不被选择为候选的情况下,能够分割为与通过第2分割模式得到的子块不同的子块。
并且,在有关本实施方式的影像解码装置6000中,也可以是,在是否不选择上述第2分割模式的判断中,在上述第1参数识别出第1分割模式的情况下,基于包含上述第1分割模式及上述第2分割模式在内的第1分割模式集的第1代码量、及与上述第1分割模式集不同的第2分割模式集的第2代码量,来判断作为上述候选是否不选择上述第2分割模式,上述第2分割模式集可以包含至少一个分割模式,该至少一个分割模式用于将块分割为与使用上述第1分割模式及上述第2分割模式对上述第1块及上述第2块进行分割而得到的子块的形状及尺寸相同的子块的形状及尺寸。
据此,能够基于分割模式集的代码量来判断作为候选是否不选择第2分割,能够削减分割模式的代码量而使压缩效率提高。
并且,在有关本实施方式的影像解码装置6000中,也可以是,在是否不选择上述第2分割模式的判断中,在上述第1代码量比上述第2代码量大的情况下,判断为不选择上述第2分割模式。
据此,能够防止更多的代码量的分割模式集被选择,能够削减分割模式的代码量而使压缩效率提高。
并且,在有关本实施方式的影像解码装置6000中,也可以是,在是否不选择上述第2分割模式的判断中,在上述第1代码量与上述第2代码量相等的情况下,若在包含上述第1分割模式集及上述第2分割模式集在内的多个分割模式集的规定的顺序中、上述第2分割模式集比上述第1分割模式集先出现,则判断为不选择上述第2分割模式。
据此,在2个分割模式集的代码量相等的情况下,能够基于规定的顺序来选择分割模式集。
也可以将本形态与本公开的其他形态的至少一部分组合来实施。并且,也可以将本形态的流程图中记载的一部分处理、装置的一部分结构、句法的一部分等与其他的形态组合来实施。
(实施方式3)
参照图13及图14具体地说明有关实施方式3的编码处理及解码处理。参照图15及图16具体地说明有关实施方式3的编码装置及解码装置。
[编码处理]
图13表示有关实施方式3的影像编码处理。
首先,在步骤s3001中,向比特流写入第1参数,该第1参数从多个分割类型之中识别用于将第1块分割为子块的分割类型。
在接下来的步骤s3002中,将表示分割方向的第2参数写入比特流。第2参数在比特流内接续在第1参数之后而配置。分割类型可以与分割方向一起构成分割模式。分割类型表示用于分割块的、子块的数量及分割比。
图29表示在实施方式3中用于分割n×n像素的块的分割类型及分割方向的一例。在图29中,(1)、(2)、(3)及(4)是不同的分割类型,(1a)、(2a)、(3a)及(4a)是垂直方向的分割方向且分割类型不同的分割模式,(1b)、(2b)、(3b)及(4b)是水平方向的分割方向且分割类型不同的分割模式。如图29所示,在分割比为1:1且沿垂直方向以对称二叉树(即2个子块)被分割的情况下,n×n像素的块使用分割模式(1a)而被分割。在分割比为1:1且沿水平方向以对称二叉树(即2个子块)被分割的情况下,n×n像素的块使用分割模式(1b)而被分割。在分割比为1:3且沿垂直方向以非对称二叉树(即2个子块)被分割的情况下,n×n像素的块使用分割模式(2a)而被分割。在分割比为1:3且沿水平方向以非对称二叉树(即2个子块)被分割的情况下,n×n像素的块使用分割模式(2b)而被分割。在分割比为3:1且沿垂直方向以非对称二叉树(即2个子块)被分割的情况下,n×n像素的块使用分割模式(3a)而被分割。在分割比为3:1且沿水平方向以非对称二叉树(即2个子块)被分割的情况下,n×n像素的块使用分割模式(3b)而被分割。在分割比为1:2:1且沿垂直方向以三叉树(即3个子块)被分割的情况下,n×n像素的块使用分割模式(4a)而被分割。在分割比为1:2:1且沿水平方向以三叉树(即3个子块)被分割的情况下,n×n像素的块使用分割模式(4b)而被分割。
图17表示压缩影像流内的第1参数的可考虑的位置。如图17所示,第1参数能够配置在视频参数集、序列参数集、图片参数集、切片头或编码树单元内。第1参数能够表示将块分割为多个子块的方法。例如,第1参数能够包含表示是否将块沿水平方向或垂直方向分割的标志。第1参数也能够包含表示是否将块分割为2个以上的子块的参数。
图18表示压缩影像流内的第2参数的可考虑的位置。如图18所示,第2参数能够配置在视频参数集、序列参数集、图片参数集、切片头或编码树单元内。第2参数能够表示将块分割为多个子块的方法。例如,第2参数能够包含是否将块沿水平方向或垂直方向分割的标志。第2参数也能够包含表示是否将块分割为2个以上的子块的参数。如图19所示,第2参数在比特流内接续在第1参数之后而配置。
图30表示与在分割类型之前对分割方向进行编码的情况相比、在分割方向之前对分割类型进行编码所带来的优点。该例中,在因不支持的尺寸(16×2像素)而水平方向的分割方向被无效化的情况下,不需要对分割方向进行编码。该例中,分割方向被决定为垂直方向的分割方向,水平方向的分割方向被无效。在分割方向之前对分割类型进行编码的情况下,与在分割类型之前对分割方向进行编码的情况相比,抑制由分割方向的编码所带来的代码比特。
像这样,也可以基于预先确定的块可分割或不可分割的条件来判断块是否能够在水平方向及垂直方向分别进行分割。然后,在判断为仅能够在水平方向及垂直方向中的一方进行分割的情况下,也可以将分割方向向比特流的写入跳过。进而,在判断为在水平方向及垂直方向双方都不可分割的情况下,除了分割方向向比特流的写入以外也还可以将分割类型向比特流的写入跳过。
预先确定的块可分割或不可分割的条件例如通过尺寸(像素数)或分割次数等定义。该块可分割或不可分割条件也可以在标准规格中预先定义。并且,块可分割或不可分割条件也可以包含在视频参数集、序列参数集、图片参数集、切片头或编码树单元中。块可分割或不可分割条件也可以在所有的块中是固定的,也可以根据块的特性(例如亮度及色差块)或图片的特性(例如i、p、b图片)等而被动态地切换。
在步骤s3003中,使用所识别的分割类型及所示的分割方向将块分割为子块。在步骤s3004中,将分割后的块编码。
[编码装置]
图15是表示有关实施方式2或3的影像/图像编码装置的结构的框图。
影像编码装置5000是用于按照每个块对输入影像/图像进行编码并生成编码输出比特流的装置。如图15所示,影像编码装置5000具备变换部5001、量化部5002、逆量化部5003、逆变换部5004、块存储器5005、帧存储器5006、帧内预测部5007、帧间预测部5008、熵编码部5009和块分割决定部5010。
输入影像被输入到加法器,加法值被向变换部5001输出。变换部5001基于通过块分割决定部5010导出的块分割类型及方向,将加法值变换为频率系数,并将频率系数向量化部5002输出。块分割类型及方向能够与块分割模式、块分割类型、或块分割方向建立关联。量化部5002对输入量化系数进行量化,将量化值向逆量化部5003及熵编码部5009输出。
逆量化部5003对从量化部5002输出的量化值进行逆量化,将频率系数向逆变换部5004输出。逆变换部5004基于通过块分割决定部5010导出的块分割类型及方向,对频率系数执行逆频率变换,并将频率系数变换为比特流的样本值,将样本值向加法器输出。
加法器对从帧内/帧间预测部5007、5008输出的预测影像/图像值加上从逆变换部5004输出的比特流的样本值,并为了进一步的预测而将加法值向块存储器5005或帧存储器5006输出。块分割决定部5010从块存储器5005或帧存储器5006收集块信息,导出块分割类型及方向、以及与块分割类型及方向有关的参数。若使用所导出的块分割类型及方向,则块被分割为多个子块。帧内/帧间预测部5007、5008从保存在块存储器5005中的影像/图像、或通过由块分割决定部5010导出的块分割类型及方向进行重构而得到的帧存储器5006内的影像/图像之中进行搜索,并推定例如与预测对象的输入影像/图像最类似的影像/图像区域。
熵编码部5009对从量化部5002输出的量化值进行编码,并将来自块分割决定部5010的参数编码,输出比特流。
[解码处理]
图14表示有关实施方式3的影像解码处理。
首先,在步骤s4001中,从比特流解读出第1参数,该第1参数从多个分割类型之中识别用于将第1块分割为子块的分割类型。
在接下来的步骤s4002中,从比特流解读出表示分割方向的第2参数。第2参数在比特流内接续在第1参数之后。分割类型也可以与分割方向一起构成分割模式。分割类型表示用于分割块的、子块的数量及分割比。
图29表示在实施方式3中用于分割n×n像素的块的分割类型及分割方向的一例。在图29中,(1)、(2)、(3)及(4)是不同的分割类型,(1a)、(2a)、(3a)及(4a)是垂直方向的分割方向且分割类型不同的分割模式,(1b)、(2b)、(3b)及(4b)是水平方向的分割方向且分割类型不同的分割模式。如图29所示,在分割比为1:1且沿垂直方向以对称二叉树(即2个子块)被分割的情况下,n×n像素的块使用分割模式(1a)而被分割。在分割比为1:1且沿水平方向以对称二叉树(即2个子块)被分割的情况下,n×n像素的块使用分割模式(1b)而被分割。在分割比为1:3且沿垂直方向以非对称二叉树(即2个子块)被分割的情况下,n×n像素的块使用分割模式(2a)而被分割。在分割比为1:3且沿水平方向以非对称二叉树(即2个子块)被分割的情况下,n×n像素的块使用分割模式(2b)而被分割。在分割比为3:1且沿垂直方向以非对称二叉树(即2个子块)被分割的情况下,n×n像素的块使用分割模式(3a)而被分割。在分割比为3:1且沿水平方向以非对称二叉树(即2个子块)被分割的情况下,n×n像素的块使用分割模式(3b)而被分割。在分割比为1:2:1且沿垂直方向以三叉树(即3个子块)被分割的情况下,n×n像素的块使用分割模式(4a)而被分割。在分割比为1:2:1且沿水平方向以三叉树(即3个子块)被分割的情况下,n×n像素的块使用分割模式(4b)而被分割。
图17表示压缩影像流内的第1参数的可考虑的位置。如图17所示,第1参数能够配置在视频参数集、序列参数集、图片参数集、切片头或编码树单元内。第1参数能够表示将块分割为多个子块的方法。例如,第1参数能够包含上述的分割类型的识别符。例如,第1参数能够包含表示是否将块沿水平方向或垂直方向分割的标志。第1参数也能够包含表示是否将块分割为2个以上的子块的参数。
图18表示压缩影像流内的第2参数的可考虑的位置。如图18所示,第2参数能够配置在视频参数集、序列参数集、图片参数集、切片头或编码树单元内。第2参数能够表示将块分割为多个子块的方法。例如,第2参数能够包含表示是否将块沿水平方向或垂直方向分割的标志。即,第2参数能够包含表示分割方向的参数。第2参数也能够包含表示是否将块分割为2个以上的子块的参数。如图19所示,第2参数在比特流内接续在第1参数之后而配置。
图30表示与在分割类型之前将分割方向编码的情况相比、在分割方向之前将分割类型编码所带来的优点。该例中,在因不支持的尺寸(16×2像素)而水平方向的分割方向被无效化的情况下,不需要将分割方向编码。该例中,分割方向被决定为垂直方向的分割方向,水平方向的分割方向被无效。在分割方向之前将分割类型编码,其与在分割类型之前将分割方向编码的情况相比,抑制由分割方向的编码带来的代码比特。
像这样,也可以基于预先确定的块可分割或不可分割的条件来判断块是否能够在水平方向及垂直方向分别分割。然后,在判断为仅能够在水平方向及垂直方向中的一方分割的情况下,也可以将分割方向的从比特流的解读跳过。进而,在判断为在水平方向及垂直方向双方都不能分割的情况下,除了分割方向的解读以外也还可以将分割类型的从比特流的解读跳过。
预先确定的块可分割或不可分割的条件通过例如尺寸(像素数)或分割次数等定义。该块可分割或不可分割条件也可以在标准规格中预先定义。并且,块可分割或不可分割条件也可以包含在视频参数集、序列参数集、图片参数集、切片头或编码树单元中。块可分割或不可分割条件也可以在所有的块中是固定的,也可以根据块的特性(例如亮度及色差块)或图片的特性(例如i、p、b图片)等而被动态地切换。
在步骤s4003中,使用所识别的分割类型及所示的分割方向将块分割为子块。在步骤s4004中,将分割后的块解码。
[解码装置]
图16是表示有关实施方式2或3的影像/图像解码装置的结构的框图。
影像解码装置6000是用于按照每个块对输入编码比特流进行解码并输出影像/图像的装置。影像解码装置6000如图16所示具备熵解码部6001、逆量化部6002、逆变换部6003、块存储器6004、帧存储器6005、帧内预测部6006、帧间预测部6007和块分割决定部6008。
输入编码比特流被输入到熵解码部6001。输入编码比特流被输入到熵解码部6001后,熵解码部6001对输入编码比特流进行解码,将参数向块分割决定部6008输出,并将解码值向逆量化部6002输出。
逆量化部6002对解码值进行逆量化,将频率系数向逆变换部6003输出。逆变换部6003基于通过块分割决定部6008导出的块分割类型及方向,对频率系数执行逆频率变换,将频率系数变换为样本值,并将样本值向加法器输出。块分割类型及方向能够与块分割模式、块分割类型或块分割方向建立关联。加法器对从帧内/帧间预测部6006、6007输出的预测影像/图像值加上样本值,将加法值向显示器输出,为了进一步的预测,将加法值向块存储器6004或帧存储器6005输出。块分割决定部6008从块存储器6004或帧存储器6005中收集块信息,使用通过熵解码部6001解码后的参数导出块分割类型及方向。若使用所导出的块分割类型及方向,则块被分割为多个子块。进而,帧内/帧间预测部6006、6007根据保存在块存储器6004中的影像/图像、或通过由块分割决定部6008导出的块分割类型及方向进行重构而得到的帧存储器6005内的影像/图像,对解码对象块的影像/图像区域进行预测。
[效果等]
如以上那样,有关本实施方式的影像编码装置5000是对图像的块进行编码的图像编码装置,具备处理器和存储器,上述处理器使用上述存储器进行如下处理:向比特流写入用于从多个分割类型之中识别用于将块分割为2个以上的子块的分割类型的第1参数;向比特流写入表示分割方向、且在比特流内接续在上述第1参数之后的第2参数;使用所识别的上述分割类型及所示的上述分割方向,将上述块分割为子块,并将分割后的上述块编码。
据此,能够在识别分割类型的第1参数的后面写入表示分割方向的第2参数。从而,能够在不需要表示分割方向的情况下省略第2参数,并且能够削减分割模式的代码量而使压缩效率提高。
并且,在有关本实施方式的影像编码装置5000中,也可以是,若将分割类型与所识别出的分割方向一起使用,则块在所识别出的上述分割方向被分割为子块,若将不同的分割类型与分割方向一起使用,则块可以被分割为不同形状、不同高度或不同宽度的子块。
据此,能够通过分割类型及分割方向来控制子块的形状、高度或宽度。
并且,在有关本实施方式的影像编码装置5000中,也可以是,上述处理器进一步使用通过上述第1参数识别出的上述分割类型来判定是否能够将上述块沿水平方向及垂直方向分别分割,在判断为仅能够在上述水平方向及上述垂直方向中的一方进行分割的情况下,跳过上述第2参数向比特流的写入,使用所识别出的上述分割类型、以及上述水平方向及上述垂直方向中的另一方,将上述块分割为子块。
据此,在水平方向及垂直方向中的一方不能实现块的分割的情况下,能够跳过表示分割方向的第2参数的写入。即,能够在比特流内省略第2参数,能够削减有关块分割方法的代码量而使压缩效率提高。
如以上那样,有关本实施方式的影像解码装置6000是对图像的块进行解码的图像解码装置,具备处理器和存储器,上述处理器使用上述存储器进行如下处理:从比特流解读用于从多个分割类型之中识别用于将块分割为2个以上的子块的分割类型的第1参数;从比特流解读表示分割方向、且在比特流内接续在上述第1参数之后的第2参数;使用所识别出的上述分割类型及所示的上述分割方向,将上述块分割为子块,并对分割后的上述块进行解码。
据此,能够在识别分割类型的第1参数的后面写入表示分割方向的第2参数。从而,能够在不需要表示分割方向的情况下省略第2参数,并且能够削减分割模式的代码量而使压缩效率提高。
并且,在有关本实施方式的影像解码装置6000中,也可以是,若将分割类型与所识别出的分割方向一起使用,则块在所识别出的上述分割方向被分割为子块,若将不同的分割类型与分割方向一起使用,则块被分割为不同形状、不同高度或不同宽度的子块。
据此,能够通过分割类型及分割方向来控制子块的形状、高度或宽度。
并且,在有关本实施方式的影像解码装置6000中,也可以是,上述处理器进一步使用通过上述第1参数识别出的上述分割类型,来判断是否能够将上述块在水平方向及垂直方向分别分割,在判断为仅能够在上述水平方向及上述垂直方向中的一方进行分割的情况下,跳过从比特流的上述第2参数的解读,并使用所识别出的上述分割类型、以及上述水平方向及上述垂直方向中的另一方作为上述分割方向,将上述块分割为子块。
据此,在水平方向及垂直方向中的一方不能实现块的分割的情况下,能够跳过表示分割方向的第2参数的解读。即,能够在比特流内省略第2参数,能够削减有关块分割方法的代码量而使压缩效率提高。
可以将本形态与本公开中的其他形态的至少一部分组合来实施。并且,可以将本形态的流程图中记载的一部分处理、装置的一部分结构、句法的一部分等与其他的形态组合来实施。
(实施方式4)
在以上的各实施方式中,各个功能块通常可以通过mpu及存储器等实现。此外,各个功能块的处理通常通过由处理器等程序执行部将记录在rom等记录介质中的软件(程序)读出并执行来实现。该软件既可以通过下载等来分发,也可以记录到半导体存储器等记录介质中来分发。另外,当然也能够通过硬件(专用电路)实现各功能块。
此外,在各实施方式中说明的处理既可以通过使用单一的装置(系统)集中处理来实现,或者也可以通过使用多个装置进行分散处理来实现。此外,执行上述程序的处理器既可以是单个,也可以是多个。即,既可以进行集中处理,也可以进行分散处理。
本发明的形态并不限定于以上的实施例,能够进行各种各样的变更,它们也包含在本发明的形态的范围内。
进而,这里说明在上述各实施方式中表示的运动图像编码方法(图像编码方法)或运动图像解码方法(图像解码方法)的应用例和使用它的系统。该系统的特征在于,具有使用图像编码方法的图像编码装置,使用图像解码方法的图像解码装置,以及具备两者的图像编码解码装置。关于系统中的其他结构,根据情况能够适当地变更。
[使用例]
图33是表示实现内容分发服务的内容供给系统ex100的整体结构的图。将通信服务的提供区分割为希望的大小,在各单元内分别设有作为固定无线站的基站ex106、ex107、ex108、ex109、ex110。
在该内容供给系统ex100中,在因特网ex101上经由因特网服务提供商ex102或通信网ex104、以及基站ex106~ex110连接着计算机ex111、游戏机ex112、相机ex113、家电ex114以及智能电话ex115等各设备。该内容供给系统ex100也可以将上述的某些要素组合而连接。也可以不经由作为固定无线站的基站ex106~ex110而将各设备经由电话网或近距离无线等直接或间接地相互连接。此外,流媒体服务器ex103经由因特网ex101等而与计算机ex111、游戏机ex112、相机ex113、家电ex114及智能电话ex115等各设备连接。此外,流媒体服务器ex103经由卫星ex116而与飞机ex117内的热点内的终端等连接。
另外,也可以代替基站ex106~ex110而使用无线接入点或热点等。此外,流媒体服务器ex103既可以不经由因特网ex101或因特网服务提供商ex102而直接与通信网ex104连接,也可以不经由卫星ex116而直接与飞机ex117连接。
相机ex113是数字相机等能够进行静止图像摄影及运动图像摄影的设备。此外,智能电话ex115是与通常被称作2g、3g、3.9g、4g及今后被称作5g的移动通信系统的方式对应的智能电话机,便携电话机或phs(personalhandyphonesystem)等。
家电ex118是电冰箱或在家庭用燃料电池热电联供系统中包含的设备等。
在内容供给系统ex100中,具有摄影功能的终端经由基站ex106等连接到流媒体服务器ex103上,由此能够进行现场分发等。在现场分发中,终端(计算机ex111、游戏机ex112、相机ex113、家电ex114、智能电话ex115及飞机ex117内的终端等)对由用户使用该终端拍摄的静止图像或运动图像内容进行在上述各实施方式中说明的编码处理,将通过编码得到的影像数据和将与影像对应的声音进行编码而得到的声音数据复用,将得到的数据向流媒体服务器ex103发送。即,各终端作为有关本发明的一形态的图像编码装置发挥功能。
另一方面,流媒体服务器ex103将对有请求的客户端发送的内容数据进行流分发。客户端是能够将上述编码处理后的数据进行解码的计算机ex111、游戏机ex112、相机ex113、家电ex114、智能电话ex115或飞机ex117内的终端等。接收到被分发的数据的各设备对接收到的数据进行解码处理并再现。即,各设备作为有关本发明的一形态的图像解码装置发挥功能。
[分散处理]
此外,流媒体服务器ex103也可以是多个服务器或多个计算机,将数据分散处理或记录而分发。例如,流媒体服务器ex103也可以由cdn(contentsdeliverynetwork)实现,通过将分散在世界中的许多边缘服务器与边缘服务器之间相连的网络来实现内容分发。在cdn中,根据客户端而动态地分配在物理上较近的边缘服务器。并且,通过向该边缘服务器高速缓存及分发内容,能够减少延迟。此外,在发生了某种错误的情况下或因通信量的增加等而通信状态变化的情况下,能够用多个边缘服务器将处理分散,或将分发主体切换为其他边缘服务器,或绕过发生故障的网络的部分而继续分发,所以能够实现高速且稳定的分发。
此外,不限于分发自身的分散处理,所拍摄的数据的编码处理既可以由各终端进行,也可以在服务器侧进行,也可以相互分担而进行。作为一例,通常在编码处理中进行2次处理循环。在第1次的循环中对帧或场景单位的图像的复杂度或代码量进行检测。此外,在第2次的循环中进行维持画质而使编码效率提高的处理。例如,通过由终端进行第1次的编码处理,由接收到内容的服务器侧进行第2次的编码处理,能够在减少各终端中的处理负荷的同时使内容的质和效率提高。在此情况下,如果有几乎实时地接收并解码的请求,则也可以将终端进行的第一次编码完成的数据由其他终端接收并再现,所以也能够进行更灵活的实时分发。
作为其他例子,相机ex113等从图像进行特征量提取,将关于特征量的数据作为元数据压缩并向服务器发送。服务器例如根据特征量来判断目标的重要性而切换量化精度等,进行与图像的意义对应的压缩。特征量数据对于服务器中的再次压缩时的运动矢量预测的精度及效率提高特别有效。此外,也可以由终端进行vlc(可变长编码)等简单的编码,由服务器进行cabac(上下文自适应二值算术编码方式)等处理负荷大的编码。
作为其他例子,在体育场,购物中心或工厂等中,有存在由多个终端拍摄大致相同的场景而得到的多个影像数据的情况。在此情况下,使用进行了拍摄的多个终端,以及根据需要而使用没有进行摄影的其他终端及服务器,例如以gop(groupofpicture)单位,图片单位或将图片分割而得到的瓦片单位等分别分配编码处理而进行分散处理。由此,能够减少延迟而更好地实现实时性。
此外,由于多个影像数据是大致相同场景,所以也可以由服务器进行管理及/或指示,以将由各终端拍摄的影像数据相互参照。或者,也可以是服务器接收来自各终端的已编码数据并在多个数据间变更参照关系,或将图片自身进行修正或替换而重新编码。由此,能够生成提高了一个个数据的质和效率的流。
此外,服务器也可以进行将影像数据的编码方式变更的转码后将影像数据分发。例如,服务器也可以将mpeg类的编码方式变换为vp类,也可以将h.264变换为h.265。
这样,编码处理能够由终端或1个以上的服务器进行。因此,以下作为进行处理的主体而使用“服务器”或“终端”等的记载,但也可以将由服务器进行的处理的一部分或全部用终端进行,也可以将由终端进行的处理的一部分或全部用服务器进行。此外,关于这些,对于解码处理也是同样的。
[3d,多角度]
近年来,将由相互大致同步的多个相机ex113及/或智能电话ex115等终端拍摄的不同场景,或从不同的角度拍摄了相同场景的图像或影像合并而利用的情况增加。将由各终端拍摄的影像基于另取得的终端间的相对位置关系,或影像中包含的特征点一致的区域等来合并。
服务器不仅是将二维的运动图像进行编码,也可以基于运动图像的场景解析等自动地或在用户指定的时刻将静止图像进行编码并向接收终端发送。服务器还在能够取得拍摄终端间的相对位置关系的情况下,不仅是二维的运动图像,还能够基于从不同的角度拍摄了相同场景的影像,生成该场景的三维形状。另外,服务器也可以将由点云(pointcloud)等生成的三维的数据另行编码,也可以基于使用三维数据将人物或目标进行识别或跟踪的结果,从由多个终端拍摄的影像中选择或重构而生成向接收终端发送的影像。
这样,用户既能够任意地选择与各拍摄终端对应的各影像而欣赏场景,也能够欣赏从使用多个图像或影像重构的三维数据中切取了任意视点的影像的内容。进而,与影像同样,声音也可以从多个不同的角度集音,由服务器匹配于影像而将来自特定的角度或空间的声音与影像复用并发送。
此外,近年来,virtualreality(vr:虚拟现实)及augmentedreality(ar:增强现实)等将现实世界与虚拟世界建立对应的内容也正在普及。在vr图像的情况下,服务器分别制作右眼用及左眼用的视点图像,既可以通过multi-viewcoding(mvc:多视点编码)等进行在各视点影像间容许参照的编码,也可以相互不参照而作为不同的流进行编码。在不同的流的解码时,可以根据用户的视点相互同步地再现,以再现虚拟的三维空间。
在ar图像的情况下,也可以是,服务器基于三维的位置或用户的视点的移动,对现实空间的相机信息重叠虚拟空间上的虚拟物体信息。解码装置取得或保持虚拟物体信息及三维数据,根据用户的视点的移动而生成二维图像,通过平滑地相连来制作重叠数据。或者,也可以是,解码装置除了虚拟物体信息的委托以外还将用户的视点的移动发送给服务器,服务器根据保持在服务器中的三维数据,匹配于接收到的视点的移动而制作重叠数据,将重叠数据进行编码并向解码装置分发。另外,重叠数据在rgb以外具有表示透射度的α值,服务器将根据三维数据制作出的目标以外的部分的α值设定为0等,在该部分透射的状态下进行编码。或者,服务器也可以如色度键那样将规定值的rgb值设定为背景,生成将目标以外的部分设为背景色的数据。
同样,分发的数据的解码处理既可以由作为客户端的各终端进行,也可以在服务器侧进行,也可以相互分担而进行。作为一例,也可以是某个终端先向服务器发送接收请求,由其他终端接收与该请求对应的内容并进行解码处理,将已解码的信号向具有显示器的装置发送。通过与可通信的终端自身的性能无关地都将处理分散而选择适当的内容,能够再现画质较好的数据。此外,作为其他例子,也可以由tv等接收大尺寸的图像数据,并且由欣赏者的个人终端将图片被分割后的瓦片等一部分区域进行解码并显示。由此,能够在使整体像共有化的同时,在手边确认自己的负责领域或想要更详细地确认的区域。
此外,预想今后在不论室内外都能够使用近距离,中距离或长距离的多个无线通信的状况下,利用mpeg-dash等的分发系统标准,一边对连接中的通信切换适当的数据一边无缝接收内容。由此,用户不仅用自身的终端,还能够自由地选择设置在室内外的显示器等解码装置或显示装置来实时地切换。此外,能够基于自身的位置信息等,切换解码的终端及显示的终端来进行解码。由此,还能够在向目的地的移动中一边在埋入有可显示的设备的旁边的建筑物的墙面或地面的一部分上显示地图信息一边移动。此外,还能够基于在能够从接收终端以短时间访问的服务器中高速缓存有编码数据,或在内容分发服务的边缘服务器中复制有编码数据等的向网络上的编码数据的访问容易性,来切换接收数据的比特率。
[可分级编码]
关于内容的切换,使用图34所示的,使用应用在上述各实施方式中表示的运动图像编码方法进行压缩编码的可分级(scalable)的流进行说明。对服务器而言,作为单独的流也可以具有内容相同而品质不同的多个流,也可以是如图示那样利用通过分层进行编码而实现的时间/空间上的可分级的流的特征来切换内容的结构。即,通过由解码侧根据性能这样的内在因素和通信频带的状态等外在因素来决定解码到哪个层,解码侧能够自由地切换低分辨率的内容和高分辨率的内容来解码。例如在想要将在移动中用智能电话ex115视听的影像的后续在回家后用因特网tv等设备视听的情况下,该设备只要将相同的流解码到不同的层就可以,所以能够减轻服务器侧的负担。
进而,在如上述那样按每个层将图片编码,实现在基本层的上位存在增强层的分级性的结构以外,也可以是增强层(enhancementlayer)包含基于图像的统计信息等的元信息,解码侧通过基于元信息将基本层的图片进行超析像来生成高画质化的内容。超析像可以是相同分辨率下的sn比的提高及分辨率的扩大中的任意一种。元信息包括用来确定在超析像处理中使用的线性或非线性的滤波系数的信息,或确定在超析像处理中使用的滤波处理,机器学习或最小2乘运算中的参数值的信息等。
或者,也可以是根据图像内的目标等的意义将图片分割为瓦片等,解码侧通过选择进行解码的瓦片而仅将一部分区域解码的结构。此外,通过将目标的属性(人物、车、球等)和影像内的位置(同一图像中的坐标位置等)作为元信息保存,解码侧能够基于元信息确定希望的目标的位置,决定包括该目标的瓦片。例如,如图35所示,使用hevc中的sei消息等与像素数据不同的数据保存构造来保存元信息。该元信息例如表示主目标的位置,尺寸或色彩等。
此外,也可以以流,序列或随机访问单位等由多个图片构成的单位保存元信息。由此,解码侧能够取得特定人物在影像内出现的时刻等,通过与图片单位的信息匹配,能够确定目标存在的图片,以及图片内的目标的位置。
[web页的优化]
图36是表示计算机ex111等中的web页的显示画面例的图。图37是表示智能电话ex115等中的web页的显示画面例的图。如图36及图37所示,有web页包含多个作为向图像内容的链接的链接图像的情况,根据阅览的设备而其可见方式不同。在画面上能看到多个链接图像的情况下,在用户明示地选择链接图像之前,或链接图像接近于画面的中央附近或链接图像的整体进入到画面内之前,显示装置(解码装置)中作为链接图像而显示各内容所具有的静止图像或i图片,或用多个静止图像或i图片等显示gif动画那样的影像,或仅接收基本层而将影像解码及显示。
在由用户选择了链接图像的情况下,显示装置将基本层最优先地解码。另外,如果在构成web页的html中有表示是可分级的内容的信息,则显示装置也可以解码到增强层。此外,在为了确保实时性而在选择之前或通信频带非常紧张的情况下,显示装置可以通过仅将前方参照的图片(i图片,p图片,仅进行前方参照的b图片)解码及显示,来减少开头图片的解码时刻与显示时刻之间的延迟(从内容的解码开始到显示开始的延迟)。此外,显示装置也可以将图片的参照关系强行地忽视而将全部的b图片及p图片设为前方参照而粗略地解码,随着时间经过而接收到的图片增加,进行正常的解码。
[自动行驶]
此外,在为了车的自动行驶或行驶辅助而收发二维或三维的地图信息等的静止图像或影像数据的情况下,接收终端也可以除了属于1个以上的层的图像数据以外,还作为元信息而接收天气或施工的信息等,将它们建立对应而解码。另外,元信息既可以属于层,也可以只与图像数据复用。
在此情况下,由于包含接收终端的车,无人机或飞机等在移动,所以接收终端通过在接收请求时发送该接收终端的位置信息,能够切换基站ex106~ex110来进行无缝接收及解码。此外,接收终端根据用户的选择,用户的状况或通信频带的状态,能够动态地切换将元信息以何种程度接收,或将地图信息以何种程度更新。
如以上这样,在内容供给系统ex100中,客户端能够将用户发送的已编码的信息实时地接收并解码,再现。
[个人内容的分发]
此外,在内容供给系统ex100中,不仅是由影像分发业者提供的高画质,长时间的内容,还能够进行由个人提供的低画质,短时间的内容的单播或多播分发。此外,可以想到这样的个人内容今后也会增加。为了使个人内容成为更好的内容,服务器也可以在进行编辑处理后进行编码处理。这例如可以通过以下这样的结构实现。
在拍摄时实时地或累积下来拍摄后,服务器根据原图像或已编码数据,进行拍摄错误,场景搜索,意义的解析及目标检测等的识别处理。并且,服务器基于识别结果,手动或自动地进行将焦点偏差或手抖动等修正,或将明亮度比其他图片低或焦点没有对上的场景等的重要性低的场景删除,或将目标的边缘强调,或使色调变化等的编辑。服务器基于编辑结果,将编辑后的数据进行编码。此外,已知如果拍摄时刻过长则视听率会下降,服务器也可以根据拍摄时间,不仅将如上述那样重要性低的场景,还将运动少的场景等基于图像处理结果自动地裁剪,以成为特定的时间范围内的内容。或者,服务器也可以基于场景的意义解析的结果而生成摘要并编码。
另外,个人内容在原状态下有被写入侵害著作权,著作者人格权或肖像权等的内容的情形,也有共享的范围超过了想要的范围等对于个人而言不便的情况。因此,例如服务器也可以将画面的周边部的人的脸,或家中等强行地变更为不对焦的图像而进行编码。此外,服务器也可以识别在编码对象图像内是否拍摄到与预先登记的人物不同的人物的脸,在拍摄到的情况下,进行对脸部分施加马赛克等的处理。或者,作为编码的前处理或后处理,也可以从著作权等的观点出发,用户指定想要将图像加工的人物或背景区域,服务器进行将所指定的区域替换为别的影像,或将焦点模糊化等的处理。如果是人物,则能够在运动图像中跟踪人物的同时,将脸部分的影像替换。
此外,数据量小的个人内容的视听其实时性要求较强,所以虽然也取决于带宽,但解码装置首先将基本层最优先地接收并进行解码及再现。解码装置也可以在此期间中接收增强层,在再现被循环的情况等2次以上被再现的情况下,将增强层也包括在内再现高画质的影像。这样,如果是进行了可分级编码的流,则能够提供在未选择时或刚开始看的阶段是虽然较粗糙的运动图像但流逐渐变得流畅而图像变好的体验。除了可分级编码以外,在第1次被再现的较粗糙的流和参照第1次的运动图像而被编码的第2次的流构成为1个流的情况下也能够提供同样的体验。
[其他使用例]
此外,这些编码或解码处理通常在各终端所具有的lsiex500中处理。lsiex500既可以是单芯片也可以是由多芯片构成的结构。另外,也可以将运动图像编码或解码用的软件装入到能够由计算机ex111等读取的某种记录介质(cd-rom,软盘,硬盘等)中,使用该软件进行编码处理及解码处理。进而,在智能电话ex115带有相机的情况下,也可以发送由该相机取得的运动图像数据。此时的运动图像数据是用智能电话ex115所具有的lsiex500进行编码处理后的数据。
另外,lsiex500也可以是将应用软件下载并将其激活的结构。在此情况下,终端首先判断该终端是否与内容的编码方式对应,或是否具有特定服务的执行能力。在终端不与内容的编码方式对应的情况下,或不具有特定服务的执行能力的情况下,终端下载编解码器或应用软件,然后进行内容取得及再现。
此外,并不限于经由因特网ex101的内容供给系统ex100,也能够在数字广播用系统中组装上述各实施方式的至少运动图像编码装置(图像编码装置)或运动图像解码装置(图像解码装置)中的某一种。由于利用卫星等使广播用的电波承载将影像与声音复用的复用数据而收发,所以相对于内容供给系统ex100的容易单播的结构,有适合多播的差异,但关于编码处理及解码处理能够进行同样的应用。
[硬件结构]
图38是表示智能电话ex115的图。此外,图39是表示智能电话ex115的结构例的图。智能电话ex115具有用来在与基站ex110之间收发电波的天线ex450、能够拍摄影像及静止图像的相机部ex465、显示由相机部ex465拍摄的影像及将由天线ex450接收到的影像等解码后的数据的显示部ex458。智能电话ex115还具备作为触摸面板等的操作部ex466,用来输出声音或音响的作为扬声器等的声音输出部ex457,用来输入声音的作为麦克风等的声音输入部ex456,能够保存所拍摄的影像或静止图像,录音的声音,接收到的影像或静止图像,邮件等的编码后的数据或解码后的数据的存储器部ex467,或者作为与simex468的接口部的插槽部ex464,所述simex468用来确定用户,进行以网络为代表向各种数据的访问的认证。此外,也可以代替存储器部ex467而使用外置存储器。
此外,对显示部ex458及操作部ex466等进行综合控制的主控制部ex460与电源电路部ex461、操作输入控制部ex462、影像信号处理部ex455、相机接口部ex463、显示器控制部ex459、调制/解调部ex452、复用/分离部ex453、声音信号处理部ex454、插槽部ex464及存储器部ex467经由总线ex470相互连接。
电源电路部ex461如果通过用户的操作使电源键成为开启状态,则通过从电池组对各部供给电力,将智能电话ex115启动为能够动作的状态。
智能电话ex115基于具有cpu,rom及ram等的主控制部ex460的控制,进行通话及数据通信等处理。在通话时,通过声音信号处理部ex454将由声音输入部ex456集音的声音信号变换为数字声音信号,将其用调制/解调部ex452进行波谱扩散处理,由发送/接收部ex451实施数字模拟变换处理及频率变换处理之后经由天线ex450发送。此外,将接收数据放大并实施频率变换处理及模拟数字变换处理,由调制/解调部ex452进行波谱逆扩散处理,由声音信号处理部ex454变换为模拟声音信号后,将其从声音输出部ex457输出。在数据通信时,通过主体部的操作部ex466等的操作将文本,静止图像或影像数据经由操作输入控制部ex462向主控制部ex460送出,同样进行收发处理。在数据通信模式时,在发送影像,静止图像或影像和声音的情况下,影像信号处理部ex455将保存在存储器部ex467中的影像信号或从相机部ex465输入的影像信号通过在上述各实施方式中表示的运动图像编码方法进行压缩编码,将编码后的影像数据向复用/分离部ex453送出。此外,声音信号处理部ex454将在由相机部ex465拍摄影像,静止图像等的过程中由声音输入部ex456集音的声音信号编码,将编码后的声音数据向复用/分离部ex453送出。复用/分离部ex453将已编码影像数据和已编码声音数据以规定的方式复用,由调制/解调部(调制/解调电路部)ex452及发送/接收部ex451实施调制处理及变换处理,经由天线ex450发送。
在接收到添附在电子邮件或聊天工具中的影像,或链接在网页等上的影像的情况下,为了将经由天线ex450接收到的复用数据进行解码,复用/分离部ex453通过将复用数据分离而将复用数据分为影像数据的比特流和声音数据的比特流,经由同步总线ex470将编码后的影像数据向影像信号处理部ex455供给,并将编码后的声音数据向声音信号处理部ex454供给。影像信号处理部ex455通过与在上述各实施方式中表示的运动图像编码方法对应的运动图像解码方法将影像信号进行解码,经由显示器控制部ex459从显示部ex458显示被链接的运动图像文件中包含的影像或静止图像。此外,声音信号处理部ex454将声音信号进行解码,从声音输出部ex457输出声音。另外,由于实时流媒体正在普及,所以根据用户的状况,也可能发生声音的再现在社会上不适合的场合。因此,作为初始值,优选的是不将声音信号再现而仅将影像数据再现的结构。也可以仅在用户进行了将影像数据点击等操作的情况下将声音同步地再现。
此外,这里以智能电话ex115为例进行了说明,但作为终端,可以考虑除了拥有编码器及解码器双方的收发型终端以外,还有仅具有编码器的发送终端,仅具有解码器的接收终端这3种安装形式。进而,在数字广播用系统中,假设将在影像数据中复用了声音数据等的复用数据接收,发送而进行了说明,但在复用数据中除了声音数据以外还可以复用与影像关联的字符数据等,也可以不是将复用数据而是将影像数据自身接收或发送。
另外,假设包括cpu的主控制部ex460控制编码或解码处理而进行了说明,但终端具备gpu的情况也较多。因此,也可以做成通过由cpu和gpu共用的存储器,或以能够共同使用的方式管理地址的存储器,来利用gpu的性能将较大的区域一起处理的结构。由此,能够缩短编码时间,确保实时性,实现低延迟。特别是,如果将运动估计,解块滤波,sao(sampleadaptiveoffset)及变换/量化的处理不是用cpu进行而是用gpu以图片等单位一起进行,则更有效。
产业上的可利用性
能够用于多媒体数据的编码/解码,特别能够用于利用块编码/解码的图像及影像编码/解码装置。
标号说明
100编码装置
102分割部
104减法部
106,5001变换部
108,5002量化部
110,5009熵编码部
112,5003,6002逆量化部
114,5004,6003逆变换部
116加法部
118,5005,6004块存储器
120循环滤波部
122,5006,6005帧存储器
124,5007,6006帧内预测部
126,5008,6007帧间预测部
128预测控制部
200解码装置
202,6001熵解码部
204逆量化部
206逆变换部
208加法部
210块存储器
212循环滤波部
214帧存储器
216帧内预测部
218帧间预测部
220预测控制部
5000影像编码装置
5010,6008块分割决定部
6000影像解码装置