首页> 中国专利> 视频编码装置、视频编码方法、视频编码程序、视频解码装置、视频解码方法以及视频解码程序

视频编码装置、视频编码方法、视频编码程序、视频解码装置、视频解码方法以及视频解码程序

摘要

本发明涉及视频编码装置、视频编码方法、视频编码程序、视频解码装置、视频解码方法以及视频解码程序。分割部将视频所包含的编码对象图像分割为多个区域,生成表示那些区域的区域信息,并生成非对称地规定参照约束的参照约束信息。参照约束信息分别是在第一区域与第二区域的边界从第一区域内的块参照第二区域内的块的信息的情况下的参照约束和从第二区域内的块参照第一区域内的块的信息的情况下的参照约束。判定部基于编码对象块与和编码对象块邻接的邻接块之间的位置关系、以及参照约束信息,生成表示是否参照邻接块的信息的判定结果。第一编码部按照判定结果对编码对象块进行编码,第二编码部对区域信息、参照约束信息以及编码对象块的编码结果进行编码。

著录项

  • 公开/公告号CN113039786A

    专利类型发明专利

  • 公开/公告日2021-06-25

    原文格式PDF

  • 申请/专利权人 富士通株式会社;

    申请/专利号CN201980075320.4

  • 发明设计人 数井君彦;

    申请日2019-08-21

  • 分类号H04N19/105(20060101);H04N19/167(20060101);H04N19/176(20060101);H04N19/70(20060101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人舒艳君;王海奇

  • 地址 日本神奈川县

  • 入库时间 2023-06-19 11:34:14

说明书

技术领域

本发明涉及视频编码装置、视频编码方法、视频编码程序、视频解码装置、视频解码方法以及视频解码程序。

背景技术

作为与视频数据的压缩编码有关的国际标准,已知H.265/HEVC(High EfficiencyVideo Coding)(例如,参照非专利文献1)。以下,有时记载为HEVC来指示H.265/HEVC。

另外,当前正在进行作为下一代国际标准的VVC(Versatile Video Coding:通用视频编码)的标准化作业(例如,参照非专利文献2)。在这些标准中,视频所包含的各图片被分割为多个处理单位。

HEVC标准中的分割单位是CTU(Coding Tree Unit:编码树单元)。CTU包括横M像素、纵M像素的亮度成分(Y)的亮度块和同一位置的两个色差成分(Cb,Cr)的色差块。M主要为64、32那样的2的幂的值。此外,在CTU与图片边界邻接的情况下,有效的纵像素数或者横像素数小于M。

在HEVC标准中,规定被称为切片或者图块的上位的分割单位。特别是,图块为在HEVC标准中新导入的分割单位,与在切片中未实现的、包括横X个(X>2)、纵Y个(Y>2)的CTU的矩形区域对应。

图1示出基于图块的图片分割的例子。图1的图片横4分割,纵2分割,被分割成图块101~图块108。例如,图块101包括6个CTU111。

各图块的高度以及宽度能够任意地设定,但存在于相同的纵位置的全部图块(例如,图块101~图块104)具有相同的高度,存在于相同的横位置的全部图块(例如,图块101以及图块105)具有相同的宽度。

在图1的图片内,按照处理顺序121处理各CTU。按照光栅扫描顺序(从左上到右下)处理图片内所包含的多个图块,也按照光栅扫描顺序处理各图块内所包含的多个CTU。

能够按每个图块独立进行各图块的处理。具体而言,在熵编码中,通过图块内的最终CTU的终止插入划分。另外,在对图块内的CU(Coding Unit)的帧内预测或者运动矢量预测中,禁止参照存在于该图块的外部的CU的信息。图块分割对并列处理图片内的多个矩形区域的情况等有用。

在HEVC等大多数的视频编码标准中,规定表示编码图片的解码定时以及解码图片的输出(显示)定时的HRD(Hypothetical Reference Decoder:假想参考解码器)模型。在解码定时以及输出定时的观点下,通过HRD模型约束比特流。

在HEVC标准之前的标准中,仅以编码图片为单位规定编码图片的解码定时。在HEVC标准中,除了编码图片之外,还能够规定图片内的每个小区域的解码定时。在HEVC标准中,编码图片被称为AU(Access Unit),图片内的小区域被称为DU(Decoding Unit)。

DU包括多个切片。通过以DU为单位规定解码定时,从而能够在将整个编码图片发送至视频解码装置之前,视频解码装置开始各DU的解码。因此,能够使整个编码图片的解码完成提前,结果能够将解码图片的输出定时提前。HEVC标准的HRD模型对以下所述的超低延迟编码有用。

超低延迟编码是将从向视频编码装置输入各图片到视频解码装置输出与该图片对应的解码图片为止的传输延迟抑制到小于1图片时间的编码控制。

传输延迟成为与视频解码装置的编码图片缓存的容量成比例的延迟和与视频解码装置的解码图片缓存的重排用图片组数成比例的延迟的合计。在HRD模型的规定中,编码图片缓存被称为CPB(Coded Picture Buffer),解码图片缓存被称为DPB(Decoded PictureBuffer)。

CPB确保解码单位(AU或者DU)的最大数据量相应的缓存容量,以免引起缓存溢出。DPB确保足以在双方向帧间预测时进行的图片重排处理的数量的解码图片组数。

作为图片编码顺序,采用不需要图片重排处理的顺序(即,视频编码装置按输入顺序对各图片进行编码的顺序),并且采用解码单位的平均数据量作为CPB的尺寸,能够使传输延迟最小化。特别是,通过采用DU作为解码单位,能够使传输延迟成为小于1图片时间的超低延迟。

作为用于保持低比特率并使CPB尺寸成为DU的平均数据量的方法,已知纵向帧内刷新线方式。在帧内刷新时,视频解码装置从比特流的中途开始解码的情况下,也进行使得能够输出完全的解码图片的刷新动作。在纵向帧内刷新线方式中,对全部图片以及全部CTU线均衡地分配用于刷新动作的帧内编码块。

此处,“完全解码”是指获得与从比特流的前端开始解码的情况完全相同的解码结果的解码。通过纵向帧内刷新线方式,实现在使用一般的帧内编码图片的刷新动作中较难的成为小于1图片时间的数据容量CPB。

图2示出基于纵向帧内刷新线方式的解码处理的例子。在时刻T[i](i=0~N)(N为1以上的整数),向视频解码装置输入图片201-i的编码数据。各图片201-i包括帧内编码的区域211-i(i=0~N)和帧间编码的区域212-i(i=0~N-1)、以及帧间编码的区域213-i(i=1~N)。

在周期(N+1)的刷新动作中,在时刻T[0],视频解码装置开始解码,在时刻T[N]完成整个图片的正常解码。为了实现该刷新动作,按每个图片,图片内的帧内编码的区域211-i的位置从左向右移动,并且到时刻T[N],相当于1图片的区域被区域211-0~区域211-N覆盖。

通过使用纵长矩形作为区域211-i的形状,从时刻T[0]到时刻T[N],使区域211-i从图片的左端移动到右端,能够对全部图片以及全部CTU线插入始终为相同的个数的帧内编码块。

数据量221表示各图片的各CTU线所包含的帧内编码块的理想数据量,数据量222表示各图片的各CTU线所包含的帧间编码块的理想数据量。通过将CTU线内的帧内编码块的个数保持恒定,即使在低比特率的条件下,也能够抑制每个块的画质变动,并容易实现使各CTU线的数据量变得理想(均匀)的控制。

关于视频数据的压缩编码,已知在图片分割编码方式中提高编码效率的技术(例如,参照专利文献1)。也已知灵活的图块分割方法(例如,参照非专利文献3)。

专利文献1:日本特开2013-098734号公报;

非专利文献1:“High Efficiency Video Coding”,Recommendation ITU-TH.265,February 2018;

非专利文献2:“Versatile Video Coding(Draft 3)”,JVET-L1001,October2018;

非专利文献3:“AHG12:Flexible Tile Splitting”,JVET-L0359,October2018。

发明内容

在现有的视频编码标准下,实现使用纵向帧内刷新线方式的超低延迟编码的情况下,产生编码效率降低这个问题。

此外,上述的问题并不限于使用纵向帧内刷新线方式的视频编码,也在将编码对象图像分割为多个区域进行编码的其它视频编码中产生。

在一个方面,本发明的目的在于在将编码对象图像分割为包括块的多个区域进行编码的视频编码中提高编码效率。

在一个方案中,视频编码装置包括分割部、判定部、第一编码部以及第二编码部。

分割部将视频所包含的编码对象图像分割为多个区域,生成表示那些区域的区域信息,并生成非对称地规定参照约束的参照约束信息。参照约束信息分别是在第一区域与第二区域的边界处从第一区域内的块参照第二区域内的块的信息的情况下的参照约束和从第二区域内的块参照第一区域内的块的信息的情况下的参照约束。

判定部基于编码对象块与编码对象块邻接的邻接块之间的位置关系、以及参照约束信息,生成表示是否参照邻接块的信息的判定结果。第一编码部按照判定结果对编码对象块进行编码,第二编码部对区域信息、参照约束信息以及编码对象块的编码结果进行编码。

根据实施方式,在将编码对象图像分割为包括块的多个区域进行编码的视频编码中,能够提高编码效率。

附图说明

图1是表示基于图块的图片分割的图。

图2是表示基于纵向帧内刷新线方式的解码处理的图。

图3是表示设定切片边界的图片的图。

图4是表示设定图块边界的图片的图。

图5是视频编码装置的构成图。

图6是表示第一图片分割的图。

图7是表示第一图片分割中的参照约束的图。

图8是表示比特流的图。

图9是视频编码处理的流程图。

图10是视频解码装置的构成图。

图11是视频解码处理的流程图。

图12是表示第二图片分割的图。

图13是表示第二图片分割中的参照约束的图。

图14是信息处理装置的构成图。

具体实施方式

以下,参照附图,详细对实施方式进行说明。

在HEVC标准中规定DU包括多个切片。其原因在于为了清楚地决定比特流内的DU的划分。在HEVC标准的熵编码中,采用作为算术编码的CABAC(Context Adaptive BinaryArithmetic Coding:基于上下文的自适应二进制算术编码)。

CABAC能够将被称为分箱的多个编码对象数据集中编码为1比特。因此,很难在比特流上规定CTU间的划分。在HEVC标准中,在切片或者图块的边界终止CABAC。由此,能够独立地进行各切片或者各图块的CABAC编码。

当为了使传输延迟减少到相当于1CTU线的时间而采用一个CTU线作为一个DU的情况下,为每个CTU线插入单位切片边界或者图块边界。通过为每个CTU线插入切片边界或者图块边界,从而禁止跨CTU线间的边界的像素值的参照以及编码参数的参照,所以帧内预测以及环路内滤波器的效率降低,整体的编码效率降低。

除了这个问题,在用于保证刷新周期内的图片的完全解码的编码处理中也产生编码效率降低这个问题。

为了保证完全解码,期望图2所示的帧内编码的区域211-i和存在于区域211-i的左侧的帧间编码的区域213-i编码为始终被完全解码。因此,优选在参照解码像素值时,设置禁止参照存在于区域211-i的右侧的帧间编码的区域212-i的参照的参照限制。其理由是因为无法保证区域212-i内的块完全解码。

专利文献1公开了抑制编码效率的降低并实现完全解码的方法。在该方法中,视频编码装置以及视频解码装置双方限制跨虚拟的参照边界的参照并且进行动作。例如,在图2的例子中,在区域211-i与区域212-i之间设定虚拟的参照边界。

然而,在HEVC标准等现有的视频编码标准中没有规定如专利文献1那样的虚拟的参照边界。为了实现同等的参照限制,期望在虚拟的参照边界的位置设定切片边界或者图块边界。

在虚拟的参照边界的位置设定切片边界的情况下,为一个CTU线插入2个切片,CABAC终止的次数增加,编码效率降低。另外,由于在区域211-i与区域212-i的边界以外也禁止跨CTU线间的边界的参照,所以编码效率降低。

图3示出在虚拟的参照边界的位置设定切片边界的图片的例子。在图3的图片中设定虚拟的参照边界301,包括切片311-1~切片311-K以及切片312-1~切片312-K(K为2以上的整数)。为一个CTU线插入切片311-j以及切片312-j(j=1~K)这2个切片。

通过插入这样的切片,能够禁止存在于参照边界301的左右的块间的参照。然而,例如,由于从切片311-2内的块参照其上邻接的切片311-1内的块的信息也被禁止,所以编码效率降低。

一方面,在虚拟的参照边界的位置设定图块边界的情况下,跨CTU线间的边界的参照成为可能。然而,在HEVC标准的图块规定中,由于CTU的处理顺序为图块内的光栅扫描顺序,所以很难使CPB的尺寸最小化。

图4示出在虚拟的参照边界的位置设定图块边界的图片的例子。在图4的图片中设定虚拟的参照边界401,包括图块411以及图块412。图块411包括帧内编码的区域421。

数据量431表示图块411所包含的帧内编码的区域421的数据量表,数据量432表示图块411所包含的帧间编码的区域的数据量。数据量433表示图块412所包含的帧间编码的区域的数据量。由于图块412不包含帧内编码的区域,所以数据量433小于数据量431与数据量432的合计,结果每个DU的数据量的偏差变大。

这样的问题并不限于根据HEVC标准的视频编码,也可能发生在根据VVC标准的视频编码中。

图5示出实施方式的视频编码装置的构成例。图5的视频编码装置501包括:编码控制部511、画面分割部512、编码顺序控制部513、参照块决定部514、源编码部515以及帧存储器516。视频编码装置501还包括:画面分割部517、解码时刻计算部518、熵编码部519以及流缓存520。

画面分割部512是分割部的一个例子,参照块决定部514是判定部的一个例子,源编码部515是第一编码部的一个例子,熵编码部519是第二编码部的一个例子。画面分割部517以及解码时刻计算部518是生成部的一个例子。

视频编码装置501例如能够作为硬件电路安装。该情况下,可以将视频编码装置501的各构成要素作为单独的电路安装,也可以作为一个集成电路安装。

视频编码装置501通过纵向帧内刷新线方式对所输入的视频进行编码,并将编码视频作为比特流输出。视频编码装置501能够将比特流经由通信网络向视频解码装置发送。

例如,视频编码装置501也可以组装到摄像机、视频发送装置、视频电话系统、计算机,或者移动终端装置中。

输入的视频包括与多个时刻的每个时刻对应的多个图像。各时刻的图像也有时被称为图片或者帧。各图像既可以是彩色图像,也可以是单色图像。彩色图像的情况下,像素值可以是RGB形式,也可以是YUV形式。

编码控制部511基于从外部的装置输入的编码参数来决定各图像内的虚拟的参照边界的位置、参照边界在图像间移动的移动方向以及各图像内的解码单位的个数。例如,输入图像尺寸、比特率、延迟时间、刷新周期等作为编码参数,DU(解码单元)被用作解码单位。

画面分割部512基于编码控制部511决定的参照边界的位置以及移动方向来决定输入的视频所包含的编码对象图像内的、矩形区域的个数以及位置,并将编码对象图像分割为多个矩形区域。而且,画面分割部512向编码顺序控制部513、参照块决定部514以及熵编码部519输出表示所决定的矩形区域的个数以及位置的区域信息。例如,使用图块作为矩形区域,各矩形区域包括CTU、CU等那样的多个块。

另外,画面分割部512基于参照边界的移动方向生成CTU间的参照约束信息,并向参照块决定部514以及熵编码部519输出。参照约束信息非对称地规定在矩形区域间的边界处从一个矩形区域内的块参照另一个矩形区域内的块的信息的情况下的参照约束、和从另一个矩形区域内的块参照一个矩形区域内的块的信息的情况下的参照约束。

编码顺序控制部513基于画面分割部512输出的区域信息来决定编码对象图像内的CTU的总数和各CTU的形状以及源编码顺序。

参照块决定部514基于编码对象图像内的块间的位置关系、以及画面分割部512输出的参照约束信息来决定对各CTU内的编码对象块的参照约束,并生成表示所决定的参照约束的判定结果。块间的位置关系包括编码对象块与和该编码对象块邻接的邻接块之间的位置关系,判定结果表示是否在编码对象块的编码处理中允许邻接块的信息的参照。

源编码部515将编码对象图像分割为多个CTU,按CTU内的光栅扫描顺序通过源编码对CTU内的各块进行编码。源编码包括帧内预测或者帧间预测、预测误差的正交变换和量子化、量子化结果的逆量子化和逆正交变换、恢复预测误差和预测值的相加以及环路内滤波器。量子化结果是对预测误差的正交变换系数进行量子化的结果(量子化系数),表示源编码中的编码结果。

源编码部515按照编码顺序控制部513决定的源编码顺序来控制各CTU的处理顺序以及各CTU的形状,并且按照参照块决定部514的判定结果来决定是否参照邻接块的信息。而且,源编码部515向熵编码部519输出各块的编码参数以及量子化结果。

帧存储器516存储由源编码部515生成的CTU的本地解码像素值,在源编码部515对后续的CTU进行编码时,向源编码部515输出本地解码像素值。输出的本地解码像素值用于生成后续的CTU的预测值。

画面分割部517基于编码控制部511决定的延迟时间来决定编码对象图像内的DU的个数、以及进行CABAC的终止处理的CTU位置。进行CABAC的终止处理的CTU位置表示在编码对象图像所包含的多个块的编码结果中与矩形区域间的边界不同的划分位置。而且,画面分割部517向解码时刻计算部518以及熵编码部519输出表示所决定的DU的个数的DU信息,并向熵编码部519输出表示所决定的CTU位置的位置信息。

解码时刻计算部518按照画面分割部517输出的DU信息来决定开始各DU的解码的解码时刻,并向熵编码部519输出表示所决定的解码时刻的解码时刻信息。

熵编码部519通过使用CABAC的熵编码对源编码部515输出的、各块的编码参数以及量子化结果进行编码,生成比特流。此时,与各块的编码参数以及量子化结果一起也对画面分割部512输出的区域信息以及参照约束信息、画面分割部517输出的DU信息以及位置信息以及解码时刻计算部518输出的解码时刻信息进行编码。

流缓存520存储包括各块的编码参数以及量子化结果、区域信息、参照约束信息、DU信息、位置信息以及解码时刻信息的比特流,并向通信网络输出比特流。

图6示出使用图块作为矩形区域的情况下的第一图片分割的例子。图6(a)示出与编码对象图像对应的图片内的图块的例子。图片601被分割为图块611以及图块612,图块611与图块612之间的边界与虚拟的参照边界602一致。参照边界602在图片601内沿垂直方向(纵向)延伸。

图6(b)示出图片601内的CTU的例子。图片601被分割为多个CTU621。在该例子中,由于参照边界602的横向位置不是CTU宽度的整数倍的位置,所以与参照边界602的左侧邻接的CTU的形状不是正方形而是矩形。

图片601内的各CTU的处理顺序622独立于图块611以及图块612的形状,是图片601内的光栅扫描顺序。此外,各CTU内的各CU的处理顺序与HEVC标准同样地是U内的光栅扫描顺序。

CTU位置631~CTU位置633表示图片601被分割为三个DU的情况下的DU间的边界,被设定为与图片601的右端相接的块的编码结果的紧后的位置。该情况下,熵编码部519进行CTU位置631~CTU位置633根据熵编码。因此,在CTU位置631~CTU位置633各个中进行CABAC的终止处理。

图7示出图6的第一图片分割中的参照约束的例子。图块间的边界711与图6的参照边界602对应,CTU701~CTU703与边界711的左侧邻接,CTU704~CTU706与边界711的右侧邻接。

画面分割部512基于参照边界602的移动方向生成CTU间的参照约束信息。例如,在参照边界602从左向右移动的情况下,限制从存在于边界711的左侧的CTU内的块参照存在于边界711的右侧的CTU内的块的信息。

例如,在CTU701为处理对象的情况下,仅能够从CTU701内的CU参照存在于边界711的左侧的CTU701~CTU703内的CU的信息。因此,禁止参照存在于边界711的右侧的CTU704~CTU706内的CU的信息。

另一方面,在CTU704为处理对象的情况下,从CTU704内的CU除了能够参照CTU704~CTU706内的CU的信息之外,还能够参照CTU701~CTU703内的CU的信息。

这样,在边界711非对称地规定从左侧的图块611内的块参照右侧的图块612内的块的信息情况下的参照约束和从图块612内的块参照图块611内的块的信息情况下的参照约束。

此外,在进行帧内预测时,与HEVC标准同样地还应用基于处理顺序的参照约束。例如,在帧内预测中,禁止从CTU704内的CU参照CTU703内的CU的信息禁止。

在视频解码装置中,与视频编码装置501同样地应用图6的图片分割和图7的参照约束。

图8示出视频编码装置501输出的比特流的例子。图8的比特流与一个编码图像对应,包括序列参数集(SPS)801、图片参数集(PPS)802、SEI(Supplemental EnhancementInformation:补充增强信息)803以及CTU编码数据804。

SPS801相当于HEVC标准的SPS,被附加到多个编码图像的每一个。PPS802相当于HEVC标准的PPS。SEI803是辅助数据,相当于HEVC标准的图片定时SEI。CTU编码数据804是图像内的各CTU的编码结果,相当于HEVC标准的SliceSegmentData()。

SPS801包括表示使用与HEVC标准的图块不同的CTU处理顺序以及参照限制的标志AlternativeTileModeFlag。在AlternativeTileModeFlag为0的情况下,使用与HEVC标准的图块同样的CTU处理顺序以及参照限制。SPS801的其它句法与HEVC标准的SPS同等。

PPS802包括表示使用图块的TilesEnableFlag。TilesEnableFlag与HEVC标准同等。在TilesEnableFlag为1的情况下,PPS802包括描述图块的个数以及位置的参数群TilesGeomParams()。TilesGeomParams()包括NumTileColumnsMinus1等,与HEVC标准或者非专利文献3同等。

在AlternativeTileModeFlag为1的情况下,PPS802还包括描述图块边界的参照限制的有无以及限制方向的BoundaryCntlIdc、以及表示DU的尺寸(CTU线的个数)的DuSizeInCtuLine。通过ceil(H/DuSizeInCtuLine)求出图像内的DU的个数。ceil()是向上取整函数(CEILING函数),H表示图像内所包含的CTU线的个数。

SEI803包括除了图像内的最后的DU之外的各DU的解码时刻信息DuCpbRemovalDelayInc。根据DuCpbRemovalDelayInc计算各DU的解码时刻的方法和SEI803的其它句法与HEVC标准的图片定时SEI同等。

CTU编码数据804包括相当于一个CTU的CodingTreeUnit()、表示CABAC的终止的EndOfSubsetOneBit以及用于字节对齐的追加比特串ByteAlignment()。在AlternativeTileModeFlag为0的情况下,EndOfSubsetOneBit被插入到HEVC标准中的图块边界(CTU的TileId不连续的位置)。另一方面,在AlternativeTileModeFlag为1的情况下,EndOfSubsetOneBit被插入到由DuSizeInCtuLine决定的CTU所对应的CodingTreeUnit()的紧后。

接下来,对图8所示的基于比特流内的参数的视频编码装置501以及视频解码装置的动作进行说明。由于AlternativeTileModeFlag为0的情况下的动作与HEVC标准同样,所以以下,仅对AlternativeTileModeFlag为1的情况下的动作进行说明。

CTU的熵解码顺序是图像内的光栅扫描顺序。例如,如果将一个CTU线所包含的CTU的个数设为W,则从图像的左端起第X个(X=0,1,2,...)、从图像的上端起第Y个(Y=0,1,2,...)的CTU的熵解码顺序为第(X+W*Y)个。

在遵循HEVC标准的TilesGeomParams()的情况下,通过ceil(PicWidth/CtuWidth)给予W。PicWidth以及CtuWidth分别是由SPS参数决定的图像宽度(单位为像素)以及CTU宽度(单位像素)。

另一方面,在遵循非专利文献3的TilesGeomParams()的情况下,W为针对存在于相同的纵位置的全部图块,将各图块内的横向的CTU的个数合计的结果。此处,通过ceil(TileWidth/CtuWidth)给予图块内的横向的CTU的个数。TileWidth是根据ColumnWidthMinus1计算的图块宽度(单位为像素)。

TilesGeomParams()的处理(图块的个数、各图块的尺寸以及各图块的位置的决定)与HEVC标准或者非专利文献3同等。例如,在NumTileColumnsMinus1为1的情况下,横向的图块的个数为2。

通过BoundaryCntlIdc的值如以下那样切换动作。

BoundaryCntlIdc=0的情况:跨图块边界的帧内预测参照是不可的,环路内滤波器用像素参照是可能的。该动作相当于HEVC标准的LoopFilterAcrossTilesEnabledFlag为1的情况。

BoundaryCntlIdc=1的情况:跨图块边界的帧内预测参照是不可的,环路内滤波器用像素参照也是不可的。该动作相当于HEVC标准的LoopFilterAcrossTilesEnabledFlag为0的情况。

BoundaryCntlIdc=2的情况:从TileId较小的图块所包含的CU参照TileId较大的图块所包含的CU的信息是不可的。在虚拟的参照边界的左侧存在帧内编码的区域的情况下采用该动作。

BoundaryCntlIdc=3的情况:从TileId较大的图块所包含的CU参照TileId较小的图块所包含的CU的信息是不可的。在虚拟的参照边界的右侧存在帧内编码的区域的情况下采用该动作。

此外,相同的图块内所包含的CU间的信息的参照始终是可能的。

通过DuSizeInCtuLine的值决定进行CABAC的终止处理的CTU位置(熵编码顺)。如果将一个CTU线所包含的CTU的个数设为W,则对于第(DuSizeInCtuLine*W)个的每个CTU,在该CTU的紧前插入CABAC的终止。

图9是表示视频编码装置501进行的视频编码处理的例子的流程图。对视频所包含的各图像应用图9的视频编码处理。在该视频编码处理中,使用图块作为矩形区域。

首先,视频编码装置501决定编码对象图像的图块构造(步骤901),并按照所决定的图块构造对图块参数进行编码(步骤902)。

接下来,视频编码装置501决定处理对象的CTU(处理CTU)(步骤903)。此时,视频编码装置501按图像内的光栅扫描顺序决定处理CTU的位置以及尺寸。而且,视频编码装置501基于处理CTU的位置以及图块边界的位置来决定对邻接块的参照限制(步骤904)。

接下来,视频编码装置501进行处理CTU的源编码(步骤905)。在源编码中,视频编码装置501进行量子化参数的调整等来控制数据量,以使得包括处理CTU的DU比通过图片定时SEI描述的视频解码装置中的DU的解码时刻先到达CPB。

接下来,视频编码装置501进行处理CTU的熵编码(步骤906),检查处理CTU是否对应于DU的终止(步骤907)。

在处理CTU对应于DU的终止的情况下(步骤907:“是”),视频编码装置501进行CABAC的终止处理(步骤908),检查编码对象图像内是否残留未处理的CTU(步骤909)。另一方面,在处理CTU不对应于DU的终止的情况下(步骤907:“否”),视频编码装置501进行步骤909的处理。

在残留未处理的CTU的情况下(步骤909:“是”),视频编码装置501反复步骤903以下的处理。在没有残留未处理的CTU的情况下(步骤909:“否”),视频编码装置501结束处理。

根据图5的视频编码装置501,在将编码对象图像分割为多个矩形区域进行编码的视频编码中,能够提高编码效率。因此,可以保证解码图像的画质并减少代码量。特别是在使用纵向帧内刷新线方式的超低延迟编码中,能够提高编码效率。

图10示出对从视频编码装置501输出的比特流进行解码的、视频解码装置的构成例。图10的视频解码装置1001包括:流缓存1011、熵解码部1012、画面分割部1013、解码时刻计算部1014、画面分割部1015、参照块决定部1016、源解码部1017以及帧存储器1018。

熵解码部1012是第一解码部的一个例子,源解码部1017是第二解码部的一个例子。画面分割部1015是分割部的一个例子,参照块决定部1016是判定部的一个例子。

视频解码装置1001例如能够作为硬件电路来安装。该情况下,可以将视频解码装置1001的各构成要素作为单独的电路安装,也可以作为一个集成电路安装。

视频解码装置1001对输入的编码视频的比特流进行解码,输出解码视频。视频解码装置1001能够从图5的视频编码装置501经由通信网络接收比特流。

例如,视频解码装置1001也可以组装到摄像机、视频接收装置、视频电话系统、计算机,或者移动终端装置中。

流缓存1011存储输入的比特流,在各编码图像的报头信息(SPS、PPS、SEI)到达流缓存1011时,将报头信息的到达通知给熵解码部1012。

熵解码部1012进行比特流的熵解码。熵解码部1012在从流缓存1011通知报头信息的到达时,从流缓存1011读出报头信息的编码数据,并通过熵解码进行解码。由此,恢复区域信息、参照约束信息、DU信息、位置信息以及解码时刻信息。熵解码部1012向画面分割部1013输出DU信息、位置信息以及解码时刻信息,并向画面分割部1015输出区域信息以及参照约束信息。

在从解码时刻计算部1014通知的、DU的解码时刻到来时,熵解码部1012从流缓存1011读出DU的编码数据,按数据顺序进行DU内的各CTU的熵解码。由此,各块的编码结果被恢复为编码块的解码对象代码。熵解码部1012向源解码部1017输出编码块的解码对象代码。

画面分割部1013基于熵解码部1012输出的DU信息以及位置信息计算各DU内的最终CTU的CTU位置,并向解码时刻计算部1014输出所计算出的CTU位置和各DU的解码时刻信息。

解码时刻计算部1014根据从画面分割部1013输出的各DU的解码时刻信息计算各DU的解码时刻,并通知熵解码部1012。

画面分割部1015基于熵解码部1012输出的区域信息来决定矩形区域的个数、各矩形区域的位置以及尺寸,并将图像分割为多个矩形区域。而且,画面分割部1015向参照块决定部1016输出多个矩形区域的信息以及参照约束信息。

参照块决定部1016基于编码图像内的块间的位置关系、画面分割部1015输出的多个矩形区域的信息以及参照约束信息来决定对各CTU内的编码块的参照约束,并生成表示所决定的参照约束的判定结果。

编码块表示成为源解码的解码对象的块,块间的位置关系包括编码块与和该编码块邻接的邻接块之间的位置关系。判定结果表示是否在编码块的解码处理中允许邻接块的信息的参照。

源解码部1017通过源解码按解码顺序对熵解码部1012输出的解码对象代码进行解码。此时,源解码部1017按照参照块决定部1016的判定结果来决定是否参照邻接块的信息。源解码包括逆量子化、逆正交变换、恢复预测误差与预测值的相加以及环路内滤波器。

帧存储器1018存储由源解码部1017生成的由CTU的解码像素值构成的解码图像,在源解码部1017对后续的编码CTU进行解码时,向源解码部1017输出解码像素值。输出的解码像素值用于生成后续的编码CTU的预测值。然后,帧存储器1018通过按解码顺序输出多个解码图像而生成解码视频。

图11是表示视频解码装置1001进行的视频解码处理的例子的流程图。对比特流所包含的各编码图像应用图11的视频解码处理。在该视频解码处理中,使用图块作为矩形区域。

首先,视频解码装置1001通过熵解码对编码图像的报头信息的编码数据进行解码(步骤1101)。而且,视频解码装置1001恢复编码图像的图块构造(步骤1102),恢复各DU的解码时刻(步骤1103)。

视频解码装置1001待机,直到作为下一个处理对象的DU的解码时刻到来为止(步骤1104)。若DU的解码时刻到来,则视频解码装置1001按比特流顺序进行DU内的CTU的熵解码(步骤1105)。然后,视频解码装置1001决定对该CTU内的编码块的参照限制(步骤1106)。

接下来,视频解码装置1001进行CTU的源解码(步骤1107),检查DU内是否残留未处理的CTU(步骤1108)。在残留未处理的CTU的情况下(步骤1108:“是”),视频解码装置1001反复步骤1105以下的处理。在没有残留未处理的CTU的情况下(步骤1108:“否”),视频解码装置1001进行CABAC的终止处理(步骤1109)。

接下来,视频解码装置1001检查编码图像内是否残留未处理的DU(步骤1110)。在残留未处理的DU的情况下(步骤1110:“是”),视频解码装置1001反复步骤1104以下的处理。在没有残留未处理的DU的情况下(步骤1110:“否”),视频解码装置1001结束处理。

图12示出使用图块作为矩形区域的情况下的第二图片分割的例子。图12(a)示出与编码对象图像对应的图片内的图块的例子。图片1201内的各CTU线被分割为2个图块,图片1201被分割为图块1211~图块1222。各CTU线所包含的2个的图块之间的边界与虚拟的参照边界1202一致。参照边界1202在图片1201内沿垂直方向(纵向)延伸。

图12(b)示出图片1201内的CTU的例子。图片1201被分割为多个CTU1231。在该例子中,由于参照边界1202的横向位置不是CTU宽度的整数倍的位置,所以与参照边界1202的左侧邻接的CTU的形状不是正方形而是矩形。

图片1201内的各CTU的处理顺序1232独立于图块1211~图块1222的形状,是图片1201内的光栅扫描顺序。

CTU位置1241~CTU位置1243表示图片1201被分割为三个DU的情况下的DU间的边界,被设定为与图片1201的右端相接的块的编码结果的紧后的位置。该情况下,熵编码部519按照CTU位置1241~CTU位置1243进行熵编码。因此,在CTU位置1241~CTU位置1243每个位置进行CABAC的终止处理。

图13示出图12的第二图片分割中的参照约束的例子。图块间的边界1321与图12的参照边界1202对应,图块间的边界1322以及边界1323与CTU线间的边界对应。CTU1301~CTU1306存在于边界1321的左侧,CTU1311~CTU1316存在于边界1321的右侧。

画面分割部512基于参照边界1202的移动方向生成CTU间的参照约束信息。例如,在参照边界1202从左向右移动的情况下,限制从存在于边界1321的左侧的CTU内的块参照存在于边界1321的右侧的CTU内的块的信息。

例如,在CTU1305为处理对象的情况下,仅能够从CTU1305内的CU参照存在于边界1321的左侧的CTU1301~CTU1306内的CU的信息。因此,禁止参照存在于边界1321的右侧的CTU1311~CTU1316内的CU的信息。

另一方面,在CTU1312为处理对象的情况下,从CTU1312内的CU除了能够参照CTU1311~CTU1316内的CU的信息之外还能够参照CTU1301~CTU1306内的CU的信息。

这样,非对称地规定在边界1321从左侧的图块内的块参照右侧的图块内的块的信息的情况下的参照约束和从右侧的图块内的块参照左侧的图块内的块的信息的情况下的参照约束。不对边界1322以及边界1323应用这些参照约束。

此外,在进行帧内预测时,与HEVC标准同样地还应用基于处理顺序的参照约束。例如,在帧内预测中禁止从CTU1312内的CU参照CTU1306内的CU的信息。

在视频解码装置1001中,与视频编码装置501同样地也应用图12的图片分割和图13的参照约束。

采用图12的图片分割的情况下的比特流与图8的比特流同样。但是,通过BoundaryCntlIdc的值如以下那样切换动作。

BoundaryCntlIdc=0的情况:跨图块边界的帧内预测参照是不可的,环路内滤波器用像素参照是可能的。该动作相当于HEVC标准的LoopFilterAcrossTilesEnabledFlag为1的情况。

BoundaryCntlIdc=1的情况:跨图块边界的帧内预测参照是不可的,环路内滤波器用像素参照也是不可的。该动作相当于HEVC标准的LoopFilterAcrossTilesEnabledFlag为0的情况。

BoundaryCntlIdc=2的情况:从处理对象的CU参照与该CU左邻接的垂直方向的图块边界的相反侧存在的CU的信息是不可的。在虚拟的参照边界的左侧存在帧内编码的区域的情况下采用该动作。

BoundaryCntlIdc=3的情况:从处理对象的CU参照与该CU右邻接的垂直方向的图块边界的相反侧存在的CU的信息是不可的。在虚拟的参照边界的右侧存在帧内编码的区域的情况下采用该动作。

此外,相同的图块内所包含的CU间的信息的参照始终是可能的。

图5的视频编码装置501的结构只是一个例子,可以根据视频编码装置501的用途或者条件省略或者变更一部分的构成要素。

图10的视频解码装置1001的结构只是一个例子,可以根据视频解码装置1001的用途或者条件省略或者变更一部分的构成要素。

图9以及图11所示的流程图只是一个例子,可以根据视频编码装置501或者视频解码装置1001的结构或者条件省略或者变更一部分的处理。

图5的视频编码装置501和图10的视频解码装置1001也能够作为硬件电路安装,还能够使用信息处理装置(计算机)安装。

图14示出被用作视频编码装置501或者视频解码装置1001的信息处理装置的构成例。图14的信息处理装置包括:CPU(Central Processing Unit)1401、存储器1402、输入装置1403、输出装置1404、辅助存储装置1405、介质驱动装置1406以及网络连接装置1407。这些构成要素通过总线1408相互连接。

存储器1402例如是ROM(Read Only Memory:只读存储器)、RAM(Random AccessMemory:随机存取存储器)、闪存等半导体存储器,存储用于处理的程序以及数据。存储器1402能够用作图5的帧存储器516以及流缓存520。存储器1402也能够用作图10的流缓存1011以及帧存储器1018。

CPU1401(处理器)例如通过利用存储器1402执行程序,从而作为图5的编码控制部511、画面分割部512、编码顺序控制部513、参照块决定部514以及源编码部515进行动作。CPU1401通过利用存储器1402执行程序,从而也作为画面分割部517、解码时刻计算部518以及熵编码部519进行动作。

CPU1401通过利用存储器1402执行程序,从而也作为图10的熵解码部1012、画面分割部1013以及解码时刻计算部1014进行动作。CPU1401通过利用存储器1402执行程序,从而也作为画面分割部1015、参照块决定部1016以及源解码部1017进行动作。

输入装置1403例如是键盘、指示设备等,用于来自用户或者操作人员的指示或信息的输入。输出装置1404例如是显示装置、打印机、扬声器等,用于向用户或者操作人员的询问或处理结果的输出。处理结果也可以是解码视频。

辅助存储装置1405例如是磁盘装置、光盘装置、光磁盘装置、磁带装置等。辅助存储装置1405也可以是硬盘驱动器。信息处理装置在辅助存储装置1405储存程序以及数据,能够将它们加载到存储器1402中使用。

介质驱动装置1406驱动便携型记录介质1409,访问该记录内容。便携型记录介质1409可以是存储设备、软盘、光盘、光磁盘等。便携型记录介质1409也可以是CD-ROM(Compact Disk Read Only Memory:紧凑型光盘只读储存器)、DVD(Digital VersatileDisk:数字通用光盘),或者USB(Universal Serial Bus:通用串行总线)存储器。用户或者操作人员在该便携型记录介质1409中储存程序以及数据,并能够将它们加载到存储器1402中使用。

这样,储存用于处理的程序以及数据的计算机可读取的记录介质包括存储器1402、辅助存储装置1405以及便携型记录介质1409那样的物理的(非暂时性的)记录介质。

网络连接装置1407是与LAN(Local Area Network:局域网)、WAN(Wide AreaNetwork:广域网)等通信网络连接,进行伴随通信的数据变换的通信接口电路。网络连接装置1407能够向视频解码装置1001发送比特流,或从视频编码装置501接收比特流。信息处理装置能够从外部的装置经由网络连接装置1407接收程序以及数据,并将它们加载到存储器1402中使用。

此外,信息处理装置无需包含图14的全部构成要素,还可以根据用途或者条件省略一部分的构成要素。例如,在不需要与用户或者操作人员的接口的情况下,可以省略输入装置1403以及输出装置1404。另外,在信息处理装置不访问便携型记录介质1409的情况下,可以省略介质驱动装置1406。

对公开的实施方式和其优点详细进行了说明,但本领域技术人员能够不脱离权利要求书中明确记载的本发明的范围而进行各种变更、追加、省略。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号