视频编码和解码方法和使用该方法的装置与流程

文档序号:15049919发布日期:2018-07-28 00:04阅读:155来源:国知局

本发明涉及视频信息压缩技术,尤其是,涉及用信号发送包括视频信息的比特流的方法和使用其解析信息的方法。



背景技术:

近来,对高分辨率和高质量图像的需求已经在各种应用领域中增长。由于图像具有更高的分辨率和更高的质量,有关图像的信息量也增长。

因此,如果视频数据被使用诸如现有的有线和无线宽带线路的介质发送,或者被使用常规的存储介质存储,发送和存储数据的成本也增长。

高效率的视频压缩技术可以被采用以便有效地发送、存储和再现在具有高分辨率和高质量的视频中的信息。

为了改善视频压缩效率,可以使用帧间预测和帧内预测。在帧间预测中,在当前图片内的像素值通过参考有关另一个图片的信息来预测。在帧内预测中,在当前图片内的像素值被使用在相同的图片内的像素之间的联系来预测。

预测的图片的处理单元,例如,块,可以经历各种方法以便呈现与原始图片相同的图片。因此,解码装置可以更加精确地将图片解码为与原始图片相同,并且编码装置可以编码图片以更加精确地重建。



技术实现要素:

技术问题

本发明的一个方面是提供一种用于有效地用信号发送编码的视频信息的方法和装置。

本发明的另一个方面是提供一种用于以字节设置入口点,并且当使用并行解码时用信号发送该入口点的方法和装置。

本发明的再一个方面是提供一种用于使用字节对准的解码单元执行并行解码的方法和装置。

本发明的又一个方面是提供一种用于指定为了使用字节对准的解码单元执行并行解码而发送和接收的信息,和使用该信息执行编码和解码的方法和装置。

技术方案

本发明的一个实施例提供一种视频编码方法,包括:熵编码量化的变换信息,和以比特流发送熵编码的信息,其中比特流包括以字节指定要经历并行解码的信息的信息。

该比特流可以在片(slice)头部中包括偏移信息,该偏移信息指定要经历并行解码的编译树单元(ctu)的行的入口点,并且偏移信息可以指示在两个入口点之间的字节数。

熵编码可以在由ctu的行的入口点指示的接入点开始熵编码,其中在当前行的参考ctu被完全熵编码时,基于参考ctu的上下文可以开始对下一行中的第一ctu熵编码,当前行的字节数由在比特流中发送的入口点之间的偏移来指示。

本发明的另一个实施例提供一种视频解码方法,包括:接收比特流,和基于比特流执行并行解码,其中比特流包括以字节指定要经历并行解码的信息的信息。

执行解码可以包括熵解码比特流,和

基于熵解码的信息重建图片。

解码的执行可以熵解码在ctu的第n个行中的第l个ctuctunl,并且然后基于ctuml的上下文熵解码在ctu的第(n+1)个行中的第一ctuctun+l1,n和l是整数,其中第n个行的字节数可以由有关包括在比特流中的入口点之间的偏移的信息的第n个偏移信息来指示。

也就是说,比特流可以包括指定要经历并行解码的ctu的行的入口点的偏移信息,且偏移信息可以指示在两个入口点之间的字节数。偏移信息可以经由片头部被发送。

解码的执行可以在由ctu的行的入口点指示的接入点开始解码,其中在当前行的参考ctu被完全熵解码时,基于参考ctu的上下文可以开始对下一行中的第一ctu熵解码,当前行的字节数由在比特流中发送的入口点之间的偏移指示。

有益效果

根据本发明,编码的视频信息被有效地用信号发送,从而改善编码效率。

此外,当使用并行解码时,入口点被以字节设置和用信号发送,从而有效地利用数据资源,并且提高压缩效率。

此外,使用字节对准的解码单元执行并行解码,从而显著地提高视频解码效率。

附图说明

图1是示意地图示根据本发明的一个示例性实施例的视频编码装置的方框图。

图2是示意地图示根据本发明的一个示例性实施例的视频解码装置的方框图。

图3示意地图示根据一个示例性实施例的片。

图4示意地图示根据一个示例性实施例的贴片(tile)和片。

图5示意地图示根据另一个示例性实施例的贴片和片。

图6示意地图示wpp子流。

图7示意地图示贴片。

图8示意地图示在wpp和贴片之间的关系。

图9示意地图示根据一个示例性实施例在图片中最大编译单元(lcu)的顺序。

图10示意地图示根据一个示例性实施例在比特流中的lcu的顺序。

图11示意地图示根据一个示例性实施例的子流的字节对准。

图12示意地图示根据一个示例性实施例的wpp子流的入口点。

图13示意地图示根据一个示例性实施例的贴片的入口点。

图14示意地图示根据一个示例性实施例当贴片和wpp子流一起使用时的入口点。

图15是示意地图示根据本发明的一个示例性实施例的编码方法的流程图。

图16是示意地图示根据本发明的一个示例性实施例的编码装置的方框图。

图17是示意地图示根据本发明的一个示例性实施例的解码方法的流程图。

图18是示意地图示根据本发明的一个示例性实施例的解码装置的方框图。

具体实施方式

本发明可以不同地变化和修改,并且参考不同的示例性实施例图示,其中一些将在附图中详细描述和示出。但是,这些实施例不意欲限制本发明。在此处使用的术语仅仅是为了描述特定的实施例的目的,并且不意欲限制本发明的技术思想。如在此处使用的,单数形式“一”、“一个”和“该”意欲同样包括复数形式,除非上下文另外清楚地表示。应该进一步理解,当在本说明书中使用时,术语“包括”和/或“具有”指定陈述的特点、整数、步骤、操作、要素、分量和/或其组合的存在,但是,不排除一个或多个其它的特点、整数、步骤、操作、要素、分量和/或其组合的存在或者增加。

虽然为了描述在视频编码装置/解码装置中不同的区别的功能的方便起见,在附图中图示的元件独立地示出,这样的配置不表示每个元件由单独的硬件成分或者软件组成构成。也就是说,至少二个元件可以被合并为单个元件,或者单个元件可以被分成多个元件来执行功能。应当注意,不脱离本发明的本质,某些元件被集成为一个组合元件,和/或一个元件被分成多个单独的元件的实施例包括在本发明的范围中。

在下文中,本发明示例性实施例将参考伴随的附图详细描述。在附图中相同的附图标记自始至终指的是相同的元件元,并且相同元件的冗余描述在此处将被省略。

图1是示意地图示根据本发明的一个示例性实施例的视频编码装置的方框图。参考图1,视频编码装置100包括图片分割模块105、预测模块110、变换模块115、量化模块120、重新排序模块125、熵编码模块130、去量化模块135、反变换模块140、滤波模块145,和存储器150。

图片分割模块105可以将输入图片分割为作为处理单元的至少一个块。在这里,作为处理单元的块可以是预测单元(pu)、变换单元(tu),或者编译单元(cu)。

由图片分割模块105分割的处理单元块可以具有四树结构。

预测模块110可以包括执行帧间预测的帧间预测模块,和执行帧内预测的帧内预测模块,则将被描述。预测模块110对来自分割模块105的图片的处理单元执行预测以产生预测块。在预测模块110中图片的处理单元可以是cu、tu或者pu。此外,预测模块110可以确定是否对处理单元执行帧间预测或者帧内预测,并且确定每个预测方法的细节(例如,预测模式)。在这里,用于执行预测的处理单元可以不同于用于确定预测方法和有关预测方法细节的处理单元。例如,预测方法和预测模式可以通过每个pu确定,饿预测可以通过每个tu执行。

在帧间预测中,预测块可以通过基于有关当前图片的先前的和/或后续的图片的至少一个的信息执行预测而产生。在帧内预测中,预测块可以通过基于有关在当前图片内的像素的信息执行预测而产生。

跳跃模式、合并模式和运动矢量预测(mvp)可以用作帧间预测方法。在帧间预测中,参考图片可以选择用于pu,并且对应于pu的参考块可以被选择。参考块可以作为整数像素单位来选择。随后,产生相对于当前pu具有最小残留信号和具有最小大小运动矢量的预测块。

预测块可以作为整数采样单位或者作为小于整数像素的像素单位,诸如1/2像素单位和1/4像素单位来产生。在这里,运动矢量也可以以小于整数像素的单位表示。

包括在帧间预测中选择的参考像素的索引、运动矢量(例如,运动矢量预测器)和残留信号的信息被熵编码,并且被传送给解码装置。在跳跃模式中,由于预测块可以是没有残留的重建的块,所以残留可以不被产生、变换、量化和传送。

在帧内预测中,预测模式可以通过pu确定,并且预测可以通过pu执行。做为选择,预测模式可以通过pu确定,并且帧内预测可以通过tu执行。

帧内预测可以包括33个方向预测模式,和两个或更多个无方向模式。无方向模式可以包括dc预测模式和平面模式。

在帧内预测中,预测块可以在滤波应用于参考采样之后产生。在这里,可以基于帧内预测模式和/或当前块的大小来确定是否将滤波应用于参考采样。

pu可以是不同大小/形式的块。例如,在帧间预测中,pu可以是2n×2n、2n×n、n×2n或者n×n块(n是整数)。在帧内预测中,pu可以是2n×2n或者n×n块(n是整数)。在这里,具有n×n大小的pu可以被设置仅仅应用于特定的情形。例如,n×npu可以仅仅可用于具有最小大小的cu,或者仅仅用于帧内预测。除了具有前述大小的pu之外,pu可以包括n×mn、mn×n、2n×mn和mn×2n块(m<1)。

在产生的预测块和原始块之间的残留值(残留块或者残留信号)被输入给变换模块115。此外,有关用于预测的预测模式和运动矢量的信息通过熵编码模块130与残留值一起编码,并且发送给解码装置。

变换模块115通过变换块变换残留块,并且产生变换系数。

变换块是向其应用相同的变换的采样的矩形块。变换块可以是tu,并且具有四树结构。

变换模块115可以基于应用于残留块的预测模式和块的大小执行变换。

例如,当帧内预测被应用于残留块,并且块具有4×4残留阵列时,变换模块115可以使用离散正弦变换(dst)来变换残留块。在其它情况下,变换模块115可以使用离散余弦变换(dct)来变换残留块。

变换模块115可以通过变换产生变换系数的变换块。

量化模块120可以量化由变换模块115变换的残留值,即,变换系数,以产生量化的变换系数。由量化模块120产生的系数被提供给去量化模块135和重新排序模块125。

重新排序模块125重新排序从量化模块120提供的量化的变换系数。重新排序量化的变换系数可以提高在熵编码模块130中的编码效率。

重新排序模块125可以使用系数扫描将量化的变换系数的二维(2d)块重新排序为一维(1d)矢量。

熵编码模块130可以熵编码由重新排序模块125重新排序的量化的变换系数。各种编码方法,诸如指数golomb、上下文自适应可变长度编译(cavlc),和上下文自适应二进制运算编译(cabac)可以用于熵编码。熵编码模块130可以编码从重新排序模块125和预测模块110接收的各种类型的信息,诸如量化的变换系数信息和有关cu的块类型信息、预测模式信息、分割单元信息、pu信息、传送单元信息、运动矢量信息、参考图片信息、块内插信息和滤波信息。

此外,熵编码模块130可以根据需要将变化应用于接收的参数集或者语法。

去量化模块135去量化由量化模块120量化的值,即,量化的变换系数,并且反变换模块140反变换由去量化模块135去量化的值。

经由去量化模块135和反变换模块140产生的残留值被添加给由预测模块110预测的预测块,从而产生重建的块。

图1图示重建的块通过经由加法器将残留块添加给预测块来产生。在这里,加法器可以被认为是用于产生重建的块的单独的模块(重建块产生模块)。

滤波模块145可以将去块滤波、自适应循环滤波(alf)和采样自适应偏移(sao)应用于重建的图片。

去块滤波可以去除在重建的图片中的块之间的边界上产生的块失真。alf可以基于将通过使用去块滤波滤波块获得的重建图片与原始图片比较而产生的值执行滤波。可以仅仅为了高效率而采用alf。sao通过像素单位重建在已经对其应用去块滤波的残留块和原始图片之间的偏移差,其中使用了带偏移或者边缘偏移。

同时,滤波模块145可以不将滤波应用于在帧间预测中使用的重建的块。

存储器150可以存储经由滤波模块145获得的重建的块或者图片。存储在存储器150中的重建的块或者图片可以提供给执行帧间预测的预测模块110。

图2是示意地图示根据本发明的一个示例性实施例的视频解码装置的方框图。参考图2,视频解码装置200可以包括熵解码模块210、重新排序模块215、去量化模块220、反变换模块225、预测模块230、滤波模块235,和存储器240。

当视频比特流被从视频编码装置输入时,输入的比特流可以根据视频编码装置处理视频信息的过程被解码。

例如,当视频编码装置使用可变长度编译(vlc),诸如cavlc,来执行熵编码时,熵解码模块210可以使用与在编码装置中使用的相同的vlc表执行熵解码。此外,如果视频编码装置使用cabac执行熵编码,则熵解码模块210也可以使用cabac执行熵解码。

在由熵解码模块210解码的信息之中,用于产生预测块的信息可以被提供给预测模块230,并且由熵解码模块210熵解码的残留值,即,量化的变换系数可以被输入给重新排序模块215。

重新排序模块215可以基于在编码装置中使用的重新排序方法重新排序有关由熵解码模块210熵解码的比特流,即,量化的变换系数的信息。

重新排序模块215可以重建系数的1d矢量并将其重新排序为系数的2d块。重新排序模块215可以基于当前块(变换块)的预测模式和变换块的大小来扫描系数,以产生系数(量化的变换系数)的2d块。

去量化模块220可以基于从编码装置提供的量化参数和重新排序的块系数执行去量化。

反变换模块225可以响应于由编码装置的变换模块执行的dct和dst,对由视频编码装置执行的量化结果执行反dct和/或反dst。反变换可以基于由编码装置确定的传送单元或者图片分割单元执行。编码装置的变换模块可以取决于多个信息元素,诸如,预测方法、当前块的大小和预测方向而有选择地执行dct和/或dst,并且解码装置的反变换模块225可以基于有关由编码装置的变换模块执行的变换的信息执行反变换。

预测模块230可以基于与从熵解码模块210提供的预测块的产生有关的信息,和有关从存储器240提供的预先地解码的块和/或图片的信息产生预测块。

如果用于当前pu的预测模式是帧内预测模式,则帧内预测可以基于有关在当前图片中的像素的信息来执行以产生预测块。

如果用于当前pu的预测模式是帧间预测模式,则用于当前pu的帧间预测可以基于有关当前图片的先前的和后续的图片的至少一个的信息执行。在这里,用于由视频编码装置提供的当前pu的帧间预测所必需的运动信息,例如,有关运动矢量和参考图片索引的信息可以通过检查从编码装置接收的跳越标记和合并标记被推导出。

重建的块可以使用由预测模块230产生的预测块和由反变换模块225提供的残留块来产生。图2图示加法器合并预测块和残留块以产生重建的块。在这里,加法器可以被认为是用于产生重建的块的单独的模块(重建块产生模块)。

当使用跳跃模式时,预测块可以是重建的块,而无需发送残留块。

重建的块和/或图片可以提供给滤波模块235。滤波模块235可以将去块滤波、sao和/或afl应用于重建的块和/或图片。

存储器240可以存储要作为参考图片或者参考模块使用的重建的图片或者块,并且将重建的图片提供给输出单元。

同时,编码装置和解码装置可以将图片分割为预先确定的单元以处理(编码/解码)该单元。

例如,图片可以被分割为片和贴片。

片是一个或多个片段的序列。片序列包括一个独立片段和在下一个独立片段之前跟随上述独立片段的后续从属片段。

片段可以是编译树单元(ctu)或者编译树块(ctb)的序列。ctu是四树的cu,其可以是最大的编译单元(lcu)。在本说明书中,为了更好地理解,ctu和lcu可以根据需要互相替换。

图3示意地图示根据一个示例性实施例的片。

当前图片300被片边界350划分成两个片。第一片可以包括包含四个ctu的独立片段310、包含32个ctu的第一从属片段320和包含24个ctu的第二从属片段340,第一从属片段320和第二从属片段通过片段边界330划分。

另一个独立片段360包括28个ctu。

贴片也可以是ctu、ctb或者lcu的序列。ctu是四树的cu,其可以是lcu。如上所述,在本说明书中,为了更好地理解,ctu和lcu可以根据需要互相替换。

详细地,贴片可以是在由一行或者一列指定的区域内共同出现的整数个ctu或者lcu。

关于每个片和每个贴片,以下的两个条件的全部或者至少一个满足:(1)在片中所有ctu或者lcu属于相同的贴片;和(2)在贴片中所有ctu或者lcu属于相同的片。

因此,包括多个贴片的片和包括多个片的贴片可以在相同的图片内存在。

此外,关于每个片段和每个贴片,以下的两个条件的全部或者至少一个满足:(1)在片段中所有ctu或者lcu属于相同的贴片;和(2)在贴片中所有ctu或者lcu属于相同的片段。

图4示意地图示根据一个示例性实施例的贴片和片。

当前图片400仅仅包括单个片,并且基于贴片边界410被划分成左右两个贴片。在当前图片400中的片包括一个独立片段420和由片段边界430、440和450划分的四个从属片段。

图5示意地图示根据另一个示例性实施例的贴片和片。

当前图片500基于贴片边界510被划分成左右两个贴片。在贴片边界510上的左贴片包括基于片边界550的两个片。在片边界550上的上片包括独立片段520和从属片段540,而在片边界550上的下片包括独立片段530和从属片段560。基于片边界590的下一个片,即,在第二贴片中的片,包括独立片段570和从属片段580。

编码和解码可以通过贴片、ctu的行(在下文中,为了描述的方便起见,ctu的行或者流,或者lct的行或者流称为“子流”)来执行。在贴片或者子流中的每个采样可以通过ctu或者lcu来处理。

在这里,解码可以并行执行。例如,解码可以通过贴片并行执行。做为选择,解码可以通过子流并行执行。

例如,当通过子流执行熵解码时,当开始第n个子流(n是整数)的熵解码时,在第n个子流的第二ctu或者lcu被熵解码之后,然后,第n+1个子流可以被熵解码。

子流可以是当并行执行多个解码处理时,在每个解码处理中要解码的比特流的一部分,其可以是lcu或者ctu的行。

在这里,当第n个子流(ctu或者lcu的第n个行)的第二ctu或者lcu被完全熵解码时,相关的上下文信息被存储。第n+1个子流的第一ctu或者lcu可以基于有关第n个子流的第二ctu或者lcu的上下文信息被熵解码。

因而,以一个ctu或者lcu的间隔并行解析子流被定义为波前并行处理(wpp)。

与wpp不同,贴片可以被以贴片结构同时解码。在这里,要并行处理的贴片的最大数目可以预先确定。例如,最多四个贴片可以被设置为并行处理。当要并行处理的贴片的数目是四个或者更少时,解码装置可以一次处理一个至四个贴片。

贴片结构和wpp使得编码装置能够将图片分割为多个部分。解码装置可以以并行方式解码分割的部分。

用于使用贴片结构(贴片子流)或者wpp执行并行解码的比特流的接入点被定义为入口点。例如,入口点可以是要经历并行处理的比特流的每个wpp子流或者每个贴片的起点。

因此,为了允许并行处理,重要的是用信号发送每个贴片的入口点,或者wpp子流的片头部的入口点。虽然贴片和wpp可以采用不同的编码/解码技术,但是贴片的入口点和应用子流的wpp的入口点可以以相同的方式用信号发送。

在并行处理中,贴片始终在字节对准比特置开始,而应用子流的wpp(“wpp子流”)可以不在字节对准比特置开始。字节对准指的是以字节对准。

由于贴片和wpp子流关于入口点在比特粒度方面不同,知道是否基于字节、比特或者多个字节用信号发送分割的长度,即,贴片的wpp子流,可能是重要的。

图6示意地图示wpp子流。

在图6中,图片的预先确定的区域600包括多个子流,诸如子流a610、子流b620和子流c630。

每个子流从第一lcu开始被连续解码。每个子流的第二和后续的lcu可以基于熵解码先前的lcu的结果,即,上下文,来被熵解码。

在wpp中,子流可以被并行解码,其中在第一子流之后的子流的第一lcu可以基于关于先前的子流的第二lcu的上下文变量的值来被熵解码。

例如,在使用wpp并行解码中,从在解码目标区域600中的第一行610的第一lcua1开始执行解码。当第一行610的第二lcua2被完全地熵解码时,解码装置存储关于a2的上下文变量的值。

第二行620的第一lcub1基于关于第一行610的第二lcua2的上下文变量的值被熵解码。当第二行620的第二lcub2被完全熵解码时,解码装置存储关于b2的上下文变量的值。

第三行630的第一lcuc1基于关于第二行620的第二lcub2的上下文变量的值被熵解码。当第三行630的第二lcuc2被完全熵解码时,解码装置存储关于c2的上下文变量的值。

同样地,第四和后续的行可以使用关于先前的行的第二lcu的上下文变量的值经历熵解码。

当采用wpp时,入口点可以指示每个子流的解码起点(接入点)。

在图6中,图片的预先确定的区域600可以是当前图片的一部分,当前图片的片,或者当前图片的整个区域。

图7示意地图示贴片。

在图7中,图片的预先确定的区域700被划分成贴片1710、贴片2720、贴片3730和贴片4740。每个贴片包括多个子流。

当采用贴片结构时,解码装置可以并行解码贴片。如以上图示的,当要并行解码的贴片的最大数目是4时,解码装置可以同时解码贴片1至4。

在并行解码贴片时,子流被以从每个贴片的第一子流开始的顺序,例如,a→b→c→等等解码,其中在子流中的lcu被以从第一lcu开始的顺序,例如,xx1→xx2→xx3→等等解码。

当应用贴片结构时,入口点可以指示相应的贴片的解码起点(接入点)。

在图7中,图片的预先确定的区域700可以是当前图片的一部分,当前图片的片,或者当前图片的整个区域。

同时,可以应用wpp和贴片两者。

图8示意地图示在wpp和贴片之间的关系。

当采用wpp和贴片两者时,在贴片中应用wpp子流,如图8图示。

在图8中,图片的预先确定的区域800被分成贴片1810、贴片2820、贴片3830和贴片4840。每个贴片包括多个子流。

如图8所示,子流a和b被交替地布置在贴片1810中,子流c和d被交替地布置在贴片2820中,子流e和f被交替地布置在贴片3830中,子流g和h被交替地布置在贴片4840中。

因此,考虑到贴片和wpp的应用,通过用信号发送的入口点指示的内容可能需具体指定何时既不使用贴片也不使用wpp,何时使用贴片,何时使用wpp,以及何时使用贴片和wpp两者。例如,入口点的类型可以如下指定。

(i)如果既不使用贴片也不使用wpp,则不存在入口点。

(ii)如果使用贴片,并且不使用wpp,则所有入口点是贴片的入口点。

(iii)如果不使用贴片,并且使用wpp,则所有入口点是wpp子流的入口点。

(iv)如果使用贴片和wpp两者,则当i%wpp子流数的数目是0时,第i个入口点是贴片和wpp子流两者的入口点,而当i%wpp子流的数目不是0时,第i个入口点是wpp子流的入口点。

在图8中,图片的预先确定的区域800可以是当前图片的一部分,当前图片的片,或者当前图片的整个区域。

如上所述,在并行解码时,每个并行处理的起点(接入点)由入口点指示。因此,用于编码装置的用信号发送入口点的各种方法,和用于解码装置的接收用信号发送的入口点并执行并行解码的各种方法可以考虑。

在下文中,入口点信息的信号发送将参考示例性实施例详细描述。

实施例1

表1图示在用于用信号发送wpp子流和贴片的入口点的片头部中的语法元素。

[表1]

在表1中,入口点信息可以是有关wpp子流的入口点的信息,或者有关贴片的入口点的信息。

entry_point_location_flag指定入口点信息是否存在于比特流中。例如,如果入口点信息,例如,入口点位置信息存在于该比特流中,则entry_point_location_flag是1。如果入口点信息在比特流中不存在,则entry_point_location_flag是0。

表2图示与表1中的入口点位置信息有关的语法结构。

[表2]

在表2中,入口点信息可以是有关wpp子流的入口点的信息,或者有关贴片的入口点的信息。

num_of_entry_points_minus1指定在片中在比特流中入口点的数目。由于入口点偏移的数目比入口点的数目小1,所以num_of_entry_points_minus1也可以指定在片头部中语法元素entry_point_offset[i]的数目。

entry_point_offset_length_minus2指定用于用信号发送有关入口点偏移(语法元素entry_point_offset)的信息的比特数。也就是说,entry_point_offset_length_minus2可以以比特或者字节指定语法元素entry_point_offset[i]的长度。

entry_point_offset[i]指定在两个入口点之间的比特数。在这里,当i是0时,entry_point_offset[0]指定在片中在片头部的末端和第一入口点之间的比特数。当i不是0时,entry_point_offset[i]指定在入口点i-1和入口点i之间的比特数。

如果entry_point_offset[i]的长度是xx,则xx可以如公式1限定。

[公式1]

xx=(num_substreams_minus1>0)?entry_point_offset_length_minus2+5:entry_point_offset_length_minus2+2

在公式1中,当子流的数目大于1时,可以采用wpp,而当子流的数目是1或者更小时,可以使用贴片。

在这种情况下,入口点类型,即,入口点是关于贴片还是关于wpp子流可以推断如下。

(1)如果tile_info_present_flag是1,并且num_substream_minus1是0,即,tile_info_present_flag==1&&num_substream_minus1==0,则所有入口点是贴片的入口点。也就是说,如果贴片信息存在,并且子流的数目是1,则所有入口点可以被推断为贴片的入口点。

(2)如果tile_info_present_flag是0,并且num_substream_minus1大于0,即,tile_info_present_flag==0&&num_substream_minus1>0,则所有入口点是wpp子流的入口点。也就是说,如果贴片信息不存在,并且多个子流存在,则所有入口点可以被推断为wpp子流的入口点。

(3)如果tile_info_present_flag是1,并且num_substream_minus1大于0,即,tile_info_present_flag==1&&num_substream_minus1>0,当i不是0(i!=0),并且(i+1)%(num_substream1+1)==0时,第i个入口点是贴片的入口点,即,第i个入口点。否则,入口点是wpp子流的入口点。也就是说,如果贴片信息存在,并且多个子流存在,则入口点可以被推断为wpp子流的入口点,或者贴片和wpp子流的入口点。

实施例2

当采用wpp时,在片中编码数据的流(例如,比特流)可以被分割为一个或多个子流。

子流可以是并行处理(并行解码)的单位,并且每个子流被以比特对准。在本说明书中,为了描述方便起见,“以比特对准/被对准”可以表示为“比特对准/对准的”。

因此,每个子流的长度可以以比特表示,并且其入口点也可以以比特表示。

图9示意地图示在图片中lcu的顺序。

参考图9,图片的预先确定的区域910包括两个子流,即,作为第0个子流的子流a和作为第一子流的子流b。子流a包括lcuax(x=1、2、…、7和8),并且子流b包括lcubx(x=1、2、…、7和8)。

在图9中,子流a和b被交替地布置在区域910中。

图片的区域910可以是当前图片的一部分,当前图片的片或者贴片,或者当前图片的整个区域。lcu可以是ctu。

图10示意地图示在比特流中lcu的顺序。在图10中,比特流由在图9中图示的lcu形成。

参考图10,比特流1010包括两个子流,即,作为第0个子流的是子流a和作为第一子流的子流b。子流a包括lcuax(x=1、2、…、7和8),并且子流b包括lcubx(x=1、2、…、7和8)。

在比特流1010中,子流a的入口点1020可以对应于lcua1的起点,并且子流b的入口点1030可以对应于lcub1的起点。

在图9中,当区域910是贴片,并且采用贴片结构而不是wpp时,入口点1030可以是贴片的入口点。

如上所述,图10的子流具有以比特的长度,并且入口点以比特表示。

就此而论,可以考虑以字节而不是以比特对准子流。在本说明书中,为了描述方便起见,“以字节对准/被对准”可以表示为“字节对准/对准的”。

因此,当采用wpp时,wpp子流是字节对准的,而当采用贴片结构时,在贴片中的子流可以是字节对准的。

字节对准比特可用于字节对准子流。字节对准比特是被添加到比特流或者子流的比特以便字节对准每个子流。

例如,当每个流(wpp子流或者贴片的子流)在其末端上不是字节对准时,可以添加字节对准比特。因此,每个子流的长度以字节而不是以比特表示。

字节对准比特可以添加到要经历字节对准的子流的预先确定的部分。例如,字节对准比特可以添加到每个子流的末端。

图11示意地图示子流的字节对准。

在图11中,比特流由在图9中图示的lcu形成。

参考图11,比特流1110包括两个子流,即,作为第0个子流的子流a和作为第一子流的子流b。子流a包括lcuax(x=1、2、…、7和8),并且子流b包括lcubx(x=1、2、…、7和8)。

在比特流1110中,子流a的入口点1120可以对应于lcua1的起点,并且子流b的入口点1130可以对应于lcub1的起点。

在图9中,当区域910是贴片,并且采用贴片结构而不是wpp时,入口点1130可以是贴片的入口点。

当子流a的长度不是以字节时,字节对准比特1140可以添加在子流a的末端上,从而以字节表示子流a。

当子流b的长度不是以字节时,字节对准比特1150可以添加在子流b的末端上,从而以字节表示子流b。

当子流是字节对准的,并且贴片和wpp子流两者能够以字节水平表示时,入口点可以以更简单的方式用信号发送,贴片和wpp子流的入口点的粒度是相同的。

表3图示在用于用信号发送wpp子流和贴片的入口点的片头部中的语法元素。

[表3]

在表3中,入口点信息可以是有关wpp子流的入口点的信息,或者有关贴片的入口点的信息。

entry_point_location_flag指定入口点信息是否存在于比特流中。例如,如果入口点信息,例如,入口点位置信息存在于比特流中,则entry_point_location_flag是1。如果入口点信息在比特流中不存在,则entry_point_location_flag是0。

表4图示与在表3中的入口点位置信息有关的语法结构。

[表4]

在表4中,入口点信息可以是有关wpp子流的入口点的信息,或者有关贴片的入口点的信息。

num_of_entry_points_minus1指定在片中在比特流中入口点的数目。由于入口点偏移的数目比入口点的数目小1,所以num_of_entry_points_minus1也可以指定在片头部中语法元素entry_point_offset[i]的数目。

entry_point_offset_length_minus2指定用于用信号发送有关入口点偏移(语法元素entry_point_offset)信息的比特数。也就是说,entry_point_offset_length_minus2可以以比特或者字节指定语法元素entry_point_offset[i]的长度。

entry_point_offset[i]指定在两个入口点之间的字节数。

当i是0时,entry_point_offset[i]指定在片中在片头部的末端和第一入口点之间的字节数。在这里,为了字节对准片头部的末端,第一贴片/wpp子流的某些初始比特可以被添加到片头部的末端。添加的比特起字节对准比特的作用。

当i不是0时,entry_point_offset[i]指定在入口点i-1和入口点i之间的字节数。

在这里,entry_point_offset[i]的长度是entry_point_offset_length_minus2+2。

入口点类型,即,入口点是关于贴片还是关于wpp子流可以推断如下。

(1)如果tile_info_present_flag是1,并且num_substream_minus1是0,即,tile_info_present_flag==1&&num_substream_minus1==0,则所有入口点是贴片的入口点。也就是说,如果贴片信息存在,并且子流的数目是1,则所有入口点可以被推断为贴片的入口点。

(2)如果tile_info_present_flag是0,并且num_substream_minus1大于0,即,tile_info_present_flag==0&&num_substream_minus1>0,则所有入口点是wpp子流的入口点。也就是说,如果贴片信息不存在,并且多个子流存在,则所有入口点可以被推断为wpp子流的入口点。

(3)如果tile_info_present_flag是1,并且num_substream_minus1大于0,即,tile_info_present_flag==1&&num_substream_minus1>0,则当i不是0(i!=0),并且(i+1)%(num_substream1+1)==0时,第i个入口点是贴片的入口点,即,第i个入口点。否则,入口点是wpp子流的入口点。也就是说,如果贴片信息存在,并且多个子流存在,则入口点可以推断为wpp子流的入口点,或者贴片和wpp子流的入口点。

实施例3

当采用并行处理时,在子流之中的仅wpp子流的入口点可以被用信号发送。例如,当仅采用wpp,而不是组合使用wpp和贴片结构时,wpp子流的入口点可以被用信号发送。

有关wpp子流的入口点的信息也可以在片头部中用信号发送。

表5图示在用于用信号发送有关wpp子流的入口点信息的片头部中的语法。

[表5]

在表5中,log_max_substream_length_minus2指定用于用信号发送有关子流的长度(substream_length[i])信息的比特数。

substream_length[i]指定在两个入口点之间的比特数。在这里,两个入口点可以关于wpp子流。

当i是0时,substream_length[i]指定在片中在片头部的末端和第一入口点之间的比特数。当i不是0时,substream_length[i]指定在入口点i-1和入口点i之间的比特数。

此外,如在实施例2中,子流的长度可以以字节表示。在这种情况下,substream_length[i]指定在两个wpp子流入口点之间的字节数。

虽然当前的实施例图示仅仅考虑到wpp子流的入口点被发送来发送有关子流的信息,但是代替子流的长度,入口点偏移也可以如在实施例1和2中那样被发送。

在这种情况下,在表5中的片头部发送entry_point_offset[i]而不是substream_length[i]。entry_point_offset[i]指定在两个入口点之间的字节或者比特数,其中如果指定字节数,则可以使用用于字节对准子流的字节对准比特。

实施例4

与先前的实施例不同,入口点类型,即,入口点是关于贴片还是关于wpp子流,可以直接用信号发送,而不是被推断。

表6图示在用于用信号发送有关入口点信息的片头部中的语法。

[表6]

在表6中,entry_point_location_flag指定入口点信息是否存在于比特流中。例如,如果入口点信息,例如,入口点位置信息存在于比特流中,则entry_point_location_flag是1。如果入口点信息在比特流中不存在,则entry_point_location_flag是0。

表7图示与在表6中的入口点位置信息有关的语法。

[表7]

num_of_entry_points_minus1指定在片中在比特流中入口点的数目。由于入口点偏移的数目比入口点的数目小1,因此num_of_entry_points_minus1也可以指定在片头部中语法元素entry_point_offset[i]的数目。

entry_point_offset_length_minus2指定用于用信号发送有关入口点偏移(语法元素entry_point_offset)信息的比特数。也就是说,entry_point_offset_length_minus2可以以比特或者字节表示语法元素entry_point_offset[i]的长度。

entry_point_type[i]指定入口点类型。例如,等于1的entry_point_type[i]指定wpp子流的入口点,并且等于0的entry_point_type[i]指定贴片和wpp子流两者的入口点。

entry_point_offset[i]指定在两个入口点之间的比特或者字节数。当i是0时,entry_point_offset[0]指定在片中在片头部的末端和第一入口点之间的比特或者字节数。当i不是0时,entry_point_offset[i]指定在入口点i-1和入口点i之间的比特或者字节数。

当entry_point_offset[i]指定在两个入口点之间的字节数时,可以使用用于字节对准的字节对准比特。

如果entry_point_offset[i]的长度是xx,则xx可以如公式2限定。

[公式2]

xx=(num_substreams_minus1>0)?entry_point_offset_length_minus2+5:entry_point_offset_length_minus2+2

在公式2中,当子流的数目大于1时,可以采用wpp,而当子流的数目是1或者更小时,可以使用贴片。

实施例5

有关入口点偏移长度的信息可以以与实施例1不同的方式用信号发送。

表8图示在用于用信号发送wpp子流和贴片的入口点的片头部中的语法元素。

[表8]

在表8中,入口点信息可以是有关wpp子流的入口点的信息,或者有关贴片的入口点的信息。

entry_point_location_flag指定入口点信息是否存在于比特流中。例如,如果入口点信息,例如,入口点位置信息存在于比特流中,则entry_point_location_flag是1。如果入口点信息在比特流中不存在,则entry_point_location_flag是0。

表9图示与在表8中的入口点位置信息有关的语法结构。

[表9]

在表9中,入口点信息可以是有关wpp子流的入口点的信息,或者有关贴片的入口点的信息。

num_of_entry_points_minus1指定在片中在比特流中入口点的数目。由于入口点偏移的数目比入口点的数目小1,因此num_of_entry_points_minus1也可以指定在片头部中语法元素entry_point_offset[i]的数目。

entry_point_offset_length_minus1指定用于用信号发送有关入口点偏移(语法元素entry_point_offset)信息的比特数。也就是说,entry_point_offset_length_minus1可以以比特或者字节指定语法元素entry_point_offset[i]的长度。

entry_point_type[i]指定入口点类型。例如,等于1的entry_point_type[i]指定wpp子流的入口点,并且等于0的entry_point_type[i]指定贴片和wpp子流两者的入口点。

entry_point_offset[i]指定在两个入口点之间的比特或者字节数。当i是0时,entry_point_offset[0]指定在片中在片头部的末端和第一入口点之间的比特或者字节数。当i不是0时,entry_point_offset[i]指定在入口点i-1和入口点i之间的比特或者字节数。

当入口点以字节表示时,即,子流字节对准,字节对准比特可以如上在实施例2中所述使用。

当使用entry_point_offset_length_minus1来指定用于发送入口点偏移的比特数时,如果entry_point_offset[i]的长度是xx,则xx可以如公式3限定。

[公式3]

xx=(num_substreams_minus1>0)?entry_point_offset_length_minus1+4:entry_point_offset_length_minus1+1

在公式3中,当子流的数目大于1时,可以采用wpp,而当子流的数目是1或者更小时,可以使用贴片。

实施例6

指定入口点信息是否存在于比特流中的entry_point_location_flag可以被推断或者推导出,而不是如在先前的实施例中用信号发送。

例如,无需在片头部中发送指示入口点信息是否存在于比特流中的语法元素,入口点信息的存在可以如下推断。

详细地,当在贴片中的行数大于1,或者在贴片中的列数大于1,并且子流的数目大于1时,推断入口点信息存在于比特流中。否则,推断入口点信息在比特流中不存在。

表10图示推断入口点信息存在的方法。

[表10]

在表10中,num_tile_columns_minus1+1指定分割图片的贴片列数,并且num_tile_columns_minus1可以从编码装置用信号发送。此外,num_tile_row_minus1+1指定分割图片的贴片列数,并且num_tile_rows_minus1可以从编码装置用信号发送。

因此,当片包括多个贴片和多个子流时,可以推断入口点信息存在于比特流中。

表11图示在用于发送入口点信息的片头部中的语法。

[表11]

在先前的实施例中,指定入口点信息的存在的entry_point_location_flag经由片头部被发送,其中等于1的entry_point_location_flag指定入口点信息存在于比特流中。

在表11中,当在贴片中的行数大于1,或者在贴片中的列数大于1,并且子流的数目大于1时,应该认为入口点信息存在于比特流中。在这种情况下,入口点信息可以如在表10中发送。

表12图示如在表11中那样当入口点信息存在于比特流中时发送的语法。

[表12]

在表12中,num_of_entry_points_minus1指定在片中在比特流中入口点的数目。由于入口点偏移的数目比入口点的数目小1,因此num_of_entry_points_minus1也可以指定在片头部中语法元素entry_point_offset[i]的数目。

entry_point_offset_length_minus1指定用于用信号发送有关入口点偏移(语法元素entry_point_offset)信息的比特数。也就是说,entry_point_offset_length_minus1可以以比特或者字节表示语法元素entry_point_offset[i]的长度。

entry_point_type[i]指定入口点类型。例如,等于1的entry_point_type[i]指定wpp子流的入口点,并且等于0的entry_point_type[i]指定贴片和wpp子流两者的入口点。

entry_point_offset[i]指定在两个入口点之间的比特或者字节数。当i是0时,entry_point_offset[0]指定在片中在片头部的末端和第一入口点之间的比特或者字节数。当i不是0时,entry_point_offset[i]指定在入口点i-1和入口点i之间的比特或者字节数。

当入口点以字节表示时,即,子流被字节对准,字节对准比特可以如上在实施例2中所述使用。

实施例7

当有关入口点偏移的长度信息如在实施例4中那样被发送时,入口点类型可以被有条件地用信号发送。

例如,当片包括多个贴片和多个子流时,入口点类型,即入口类型是关于贴片还是关于子流可以被用信号发送。

表13图示在用于用信号发送入口点信息的片头部中的语法。

[表13]

在表13中,entry_point_location_flag指定入口点信息是否存在于比特流中。例如,如果入口点信息,例如,入口点位置信息存在于比特流中,则entry_point_location_flag是1。如果入口点信息在比特流中不存在,则entry_point_location_flag是0。

表14图示与在表13中的入口点位置信息有关的语法。

[表14]

num_of_entry_points_minus1指定在片中在比特流中入口点的数目。由于入口点偏移的数目比入口点的数目小1,因此num_of_entry_points_minus1也可以指定在片头部中语法元素entry_point_offset[i]的数目。

entry_point_offset_length_minus2指定用于用信号发送有关入口点偏移(语法元素entry_point_offset)信息的比特数。也就是说,entry_point_offset_length_minus2可以以比特或者字节表示语法元素entry_point_offset[i]的长度。

当在贴片中的行数大于1,或者在贴片中的列数大于1,并且子流的数目大于1时,即,多个贴片和多个子流存在,指定入口点类型的entry_point_type[i]被用信号发送。

entry_point_type[i]指定入口点类型。例如,等于1的entry_point_type[i]指定wpp子流的入口点,并且等于0的entry_point_type[i]指定贴片和wpp子流两者的入口点。

因此,当单个贴片存在,或者贴片不存在,但是多个子流存在时,entry_point_type[i]指定wpp子流的入口点。在其它情况下,entry_point_type[i]指定贴片和wpp子流两者的入口点。

entry_point_offset[i]指定在两个入口点之间的比特或者字节数。当i是0时,entry_point_offset[0]指定在片中在片头部的末端和第一入口点之间的比特或者字节数。当i不是0时,entry_point_offset[i]指定在入口点i-1和入口点i之间的比特或者字节数。

当entry_point_offset[i]指定在两个入口点之间的字节数时,可以使用用于字节对准的字节对准比特。

如果entry_point_offset[i]的长度是xx,则xx可以如公式4限定。

[公式4]

xx=(num_substreams_minus1>0)?entry_point_offset_length_minus2+5:entry_point_offset_length_minus2+2

实施例8

当有关入口点偏移的长度信息如在实施例5中那样被发送时,入口点类型可以被有条件地用信号发送。

例如,当片包括多个贴片和多个子流时,入口点类型,即入口类型是关于贴片还是关于子流,可以被用信号发送。

表15图示在用于用信号发送入口点信息的片头部中的语法。

[表15]

在表15中,entry_point_location_flag指定入口点信息是否存在于比特流中。例如,如果入口点信息,例如,入口点位置信息存在于比特流中,则entry_point_location_flag是1。如果入口点信息在比特流中不存在,则entry_point_location_flag是0。

表16图示与在表15中的入口点位置信息有关的语法。

[表16]

num_of_entry_points_minus1指定在片中在比特流中入口点的数目。由于入口点偏移的数目比入口点的数目小1,因此num_of_entry_points_minus1也可以指定在片头部中语法元素entry_point_offset[i]的数目。

entry_point_offset_length_minus1指定用于用信号发送有关入口点偏移(语法元素entry_point_offset)信息的比特数。也就是说,entry_point_offset_length_minus1可以以比特或者字节表示语法元素entry_point_offset[i]的长度。

当在贴片中的行数大于1,或者在贴片中的列数大于1,并且子流的数目大于1时,即,多个贴片和多个子流存在,指定入口点类型的entry_point_type[i]被用信号发送。

entry_point_type[i]指定入口点类型。例如,等于1的entry_point_type[i]指定wpp子流的入口点,并且等于0的entry_point_type[i]指定贴片和wpp子流两者的入口点。

因此,当单个贴片存在,或者贴片不存在,但是多个子流存在时,entry_point_type[i]指定wpp子流的入口点。在其它情况下,entry_point_type[i]指定贴片和wpp子流两者的入口点。

entry_point_offset[i]指定在两个入口点之间的比特或者字节数。当i是0时,entry_point_offset[0]指定在片中在片头部的末端和第一入口点之间的比特或者字节数。当i不是0时,entry_point_offset[i]指定在入口点i-1和入口点i之间的比特或者字节数。

当entry_point_offset[i]指定在两个入口点之间的字节数时,可以使用用于字节对准的字节对准比特。

如果entry_point_offset[i]的长度是xx,则xx可以如公式4限定。

[公式5]

xx=(num_substreams_minus1>0)?entry_point_offset_length_minus2+4:entry_point_offset_length_minus2+1

在公式5中,当子流的数目大于1时,可以采用wpp,而当子流的数目是1或者更小时,可以使用贴片。

实施例9

当有关入口点偏移的长度信息如在实施例4中那样被发送时,入口点类型可以被推断,而不是被用信号发送。

例如,入口点类型,即,入口点是关于贴片还是关于wpp子流,可以被推断如下。

(1)如果tile_info_present_flag是1,并且num_substream_minus1是0,即,tile_info_present_flag==1&&num_substream_minus1==0,则所有入口点是贴片的入口点。也就是说,如果贴片信息存在,并且子流的数目是1,则所有入口点可以被推断为贴片的入口点。

(2)如果tile_info_present_flag是0,并且num_substream_minus1大于0,即,tile_info_present_flag==0&&num_substream_minus1>0,则所有入口点是wpp子流的入口点。也就是说,如果贴片信息不存在,并且多个子流存在,则所有入口点可以被推断为wpp子流的入口点。

(3)如果tile_info_present_flag是1,并且num_substream_minus1大于0,即,tile_info_present_flag==1&&num_substream_minus1>0,则当i不是0(i!=0),并且(i+1)%(num_substream1+1)==0时,第i个入口点是贴片的入口点,即,第i个入口点。否则,入口点是wpp子流的入口点。也就是说,如果贴片信息存在,并且多个子流存在,则入口点可以被推断为wpp子流的入口点,或者贴片和wpp子流的入口点。

表17图示在用于用信号发送入口点信息的片头部中的语法。

[表17]

在表17中,entry_point_location_flag指定入口点信息是否存在于比特流中。例如,如果入口点信息,例如,入口点位置信息存在于比特流中,则entry_point_location_flag是1。如果入口点信息在比特流中不存在,则entry_point_location_flag是0。

表18图示与在表17中的入口点位置信息有关的语法。

[表18]

num_of_entry_points_minus1指定在片中在比特流中入口点的数目。由于入口点偏移的数目比入口点的数目小1,因此num_of_entry_points_minus1也可以指定在片头部中语法元素entry_point_offset[i]的数目。

entry_point_offset_length_minus2指定用于用信号发送有关入口点偏移(语法元素entry_point_offset)信息的比特数。也就是说,entry_point_offset_length_minus2可以以比特或者字节表示语法元素entry_point_offset[i]的长度。

entry_point_offset[i]指定在两个入口点之间的比特或者字节数。当i是0时,entry_point_offset[0]指定在片中在片头部的末端和第一入口点之间的比特或者字节数。当i不是0时,entry_point_offset[i]指定在入口点i-1和入口点i之间的比特或者字节数。

当entry_point_offset[i]指定在两个入口点之间的字节数时,可以使用用于字节对准的字节对准比特。

在表18中,入口点类型没有直接用信号发送。替代的,在实施例9中,入口点类型基于如上所述的tile_info_present_flag和num_substream_minus1来推断。

实施例10

当有关入口点偏移的长度信息如在实施例5中那样被发送时,入口点类型可以被推断,而不是被用信号发送。

例如,入口点类型,即,入口点是关于贴片还是关于wpp子流可以推断如下。

(1)如果tile_info_present_flag是1,并且num_substream_minus1是0,即,tile_info_present_flag==1&&num_substream_minus1==0,则所有入口点是贴片的入口点。也就是说,如果贴片信息存在,并且子流的数目是1,则所有入口点可以被推断为贴片的入口点。

(2)如果tile_info_present_flag是0,并且num_substream_minus1大于0,即,tile_info_present_flag==0&&num_substream_minus1>0,则所有入口点是wpp子流的入口点。也就是说,如果贴片信息不存在,并且多个子流存在,则所有入口点可以被推断为wpp子流的入口点。

(3)如果tile_info_present_flag是1,并且num_substream_minus1大于0,即,tile_info_present_flag==1&&num_substream_minus1>0,则当i不是0(i!=0),并且(i+1)%(num_substream1+1)==0时,第i个入口点是贴片的入口点,即,第i个入口点。否则,入口点是wpp子流的入口点。也就是说,如果贴片信息存在,并且多个子流存在,入口点可以被推断为wpp子流的入口点,或者贴片和wpp子流的入口点。

表19图示在用于用信号发送入口点信息的片头部中的语法。

[表19]

在表19中,entry_point_location_flag指定入口点信息是否存在于比特流中。例如,如果入口点信息,例如,入口点位置信息存在于比特流中,则entry_point_location_flag是1。如果入口点信息在比特流中不存在,则entry_point_location_flag是0。

表20图示与在表19中的入口点位置信息有关的语法。

[表20]

num_of_entry_points_minus1指定在片中在比特流中入口点的数目。由于入口点偏移的数目比入口点的数目小1,因此num_of_entry_points_minus1也可以指定在片头部中语法元素entry_point_offset[i]的数目。

entry_point_offset_length_minus1指定用于用信号发送有关入口点偏移(语法元素entry_point_offset)信息的比特数。也就是说,entry_point_offset_length_minus1可以以比特或者字节表示语法元素entry_point_offset[i]的长度。

entry_point_offset[i]指定在两个入口点之间的比特或者字节数。当i是0时,entry_point_offset[0]指定在片中在片头部的末端和第一入口点之间的比特或者字节数。当i不是0时,entry_point_offset[i]指定在入口点i-1和入口点i之间的比特或者字节数。

当entry_point_offset[i]指定在两个入口点之间的字节数时,可以使用用于字节对准的字节对准比特。

在表20中,入口点类型没有直接用信号发送。替代的,在实施例10中,入口点类型基于如上所述的tile_info_present_flag和num_substream_minus1来推断。

实施例11

实施例11图示与以下的修改或者特征(1)至(4)的至少一个相结合基于先前的十个实施例的方法。

(1)当或者贴片或者wpp用于并行解码时,入口点信息被发送。因此,在先前的实施例中描述的指定入口点信息存在的entry_point_location_flag可能是不必要的。

(2)考虑到不使用贴片和wpp,指定入口点数目的信息可以使用num_of_entry_points而不是num_of_entry_points_minus1来被发送,以便指示为0的值。也就是说,表示入口点总数的值可以被发送,而不是表示入口点总数减去1的值。

(3)wpp和贴片可以不一起使用。在这种情况下,当采用wpp时,不使用贴片,并且当采用贴片时,不使用wpp。

(4)入口点偏移可以从字节0的nalu数据中导出。字节0可以是片段数据的第一字节。

当增加特征(1)时,与先前的十个实施例不同,无需经由片头部发送指定入口点信息存在的entry_point_location_flag,实施例11可以直接用信号发送必要的入口点信息。

表21图示根据实施例11在用于用信号发送有关wpp子流或者贴片的入口点信息的片头部中的语法。

[表21]

num_of_entry_points_minus1指定在片中在比特流中入口点的数目。由于入口点偏移的数目比入口点的数目小1,因此num_of_entry_points_minus1也可以指定在片头部中语法元素entry_point_offset[i]的数目。

entry_point_offset_length_minus1指定用于用信号发送有关入口点偏移(语法元素entry_point_offset)信息的比特数。也就是说,entry_point_offset_length_minus1可以以比特或者字节表示语法元素entry_point_offset[i]的长度。虽然本实施例说明entry_point_offset_length_minus1被用信号发送,但是可以替代entry_point_offset_length_minus1用信号发送entry_point_offset_length_minus2。

entry_point_offset[i]指定在两个入口点之间的比特或者字节数。当i是0时,entry_point_offset[0]指定在片中在nal单元数据的开始(字节0)和第一入口点(entry_point_offset[0]-1)之间的字节数。当i不是0时,entry_point_offset[i]指定在入口点i-1和入口点i之间的比特或者字节数。

当entry_point_offset[i]指定在两个入口点之间的字节数时,可以使用用于字节对准的字节对准比特。

entry_point_offset[i]的长度可以是entry_point_offset_length_minus1+1比特,或者entry_point_offset_length_minus2+2比特。

图12示意地图示wpp子流的入口点。

在图12中,图片的预先确定的区域1210包括四个子流,子流a、子流b、子流c和子流d。每个子流可以是lcu的阵列。

每个子流的起点可以由入口点指示。例如,如果子流a的入口点可以从比特流的起点或者片头部的终点指定,则子流b的入口点是入口点01220,子流c的入口点是入口点11230,且子流d的入口点是入口点21240。

在这种情况下,作为第一入口点的入口点01220可以是片头部的终点的值加上入口点偏移,例如,表示在片头部的终点和第一入口点之间的字节或者比特数的entry_point_offset[0]。同样地,在作为第一入口点的入口点11220和作为第二入口点的入口点21230之间的字节或者比特数可以由入口点偏移,例如,entry_point_offset[1]指示。

在图12中,图片的预先确定的区域1210可以是当前图片的一部分,当前图片的片,或者当前图片的整个区域。

图13示意地图示贴片的入口点。

在图13中,图片的预先确定的区域1310包括四个贴片,贴片1、贴片2、贴片3和贴片4。

每个贴片的起点可以由入口点指示。例如,如果贴片1的入口点可以从比特流的起点或者片头部的终点指定,则贴片2的入口点是入口点01320,贴片3的入口点是入口点11330,和贴片4的入口点是入口点21340。

在这种情况下,作为第一入口点的入口点01320可以是片头部的终点的值加上入口点偏移,例如,表示在片头部的终点和第一入口点之间的字节或者比特数的entry_point_offset[0]。同样地,在作为第一入口点的入口点11320和作为第二入口点的入口点21330之间的字节或者比特数可以由入口点偏移,例如,entry_point_offset[1]指示。

在图13中,图片的预先确定的区域1310可以是当前图片的一部分,当前图片的片,或者当前图片的整个区域。

图14示意地图示当贴片和wpp子流一起被采用时的入口点。

在图14中,图片的预先确定的区域1410包括四个贴片,贴片11410、贴片21420、贴片31430和贴片41440。

每个贴片包括两个子流。例如,贴片11410包括子流a和子流b。贴片21420包括子流c和子流d。贴片31430包括子流e和子流f。贴片41440包括子流g和子流h。

每个贴片和/或子流的起点可以由入口点指示。例如,贴片11410的入口点可以从比特流的起点或者片头部的终点指定,并且子流a的入口点也可以从比特流的起点或者片头部的终点指定。在贴片11410中作为第二子流的子流b的入口点是入口点01450。

贴片21420和子流c的入口点是入口点11455。在贴片21420中的子流d的入口点是入口点21460。

贴片31430和子流e的入口点是入口点11465。在贴片31430中的子流f的入口点是入口点21470。

贴片41440和子流g的入口点是入口点11475。在贴片41440中的子流h的入口点是入口点21480。

在这种情况下,作为第一入口点的入口点01450可以是片头部的终点的值加上入口点偏移,例如,表示在片头部的终点和第一入口点之间的字节或者比特数的entry_point_offset[0]。

作为第二入口点的入口点11455可以由作为第一入口点的入口点01450的值加上入口点偏移,例如,entry_point_offset[1]指示。作为第三入口点的入口点21460可以由作为第二入口点的入口点11455的值加上入口点偏移,例如,entry_point_offset[2]指示。作为第四入口点的入口点31465可以由作为第三入口点的入口点21460的值加上入口点偏移,例如,entry_point_offset[3]指示。作为第五入口点的入口点41470可以由作为第四入口点的入口点31465的值加上入口点偏移,例如,entry_point_offset[4]指示。作为第六入口点的入口点51475可以由作为第五入口点的入口点41470的值加上入口点偏移,例如,entry_point_offset[5]指示。作为第七入口点的入口点61480可以由作为第六入口点的入口点51475的值加上入口点偏移,例如,entry_point_offset[6]指示。

图15是示意地图示根据本发明的一个示例性实施例编码方法的流程图。

参考图15,编码装置可以转换输入视频信号(s1510)。编码装置可以将输入图片分割为编码单元,并且基于分割的编码单元或者细分的单元执行预测。编码装置产生作为在预测结果和原始信号之间差的残留。编码装置变换和量化该残留。dct和/或dst可以用于变换。

预测方法、变换方法和量化方法在以上的图1中图示。

编码装置可以熵编码变换的信号(s1520)。cabac、vlc和指数golomb可以用于熵编码。

编码装置经由比特流用信号发送熵编码的视频信息和解码所必需的信息(s1530)。当采用并行解码时,用信号发送的信息可以在片头部中包括并行处理所必需的信息,例如,入口点信息。

如上所述,入口点信息包括入口点偏移信息,有关入口点数目的信息,和有关入口点偏移长度的信息。

例如,经由片头部发送的入口点偏移信息entry_point_offset[i]以字节指定第i个入口点偏移。entry_point_offset[i]可以由有关入口点偏移长度的信息表示。例如,如果指定入口点偏移长度的信息是entry_point_offset_length_minus1,则入口点偏移可以由entry_point_offset_length_minus1加上一比特的值来表示。

跟随片头部的片段数据可以包括由有关入口点的数目信息指定的多个子集,并且并行解码可以通过子集执行。由于入口点的数目比用于偏移相邻入口点的入口点偏移的数目大1,因此在片中入口点的数目可以基于经由片头部用信号发送的入口点偏移的数目指定。例如,当入口点偏移的数目是n时,存在n+1个子集。

如上所述,在片中的第i个入口点是第(i-1)个入口点的值加上第i个入口点偏移。

做为选择,在形成该片段数据的子集之中的第i个子集的范围可以使用第i个入口点偏移指定。例如,第0个子集可以具有从片段数据的第一字节(字节0)到第0个入口点偏移-1的范围。在第i个子集(i是除去0的整数)的范围中的第一字节是先前的子集的总和,即先前的入口点偏移的总和,并且最后的字节是第一字节加上第i个入口点偏移的值减去1比特。

如上所述,有关入口点偏移数目的信息可以指定在片头部中语法元素entry_point_offset[i]的数目。例如,当采用wpp时,入口点偏移的数目可以具有从0到图片中ctb行数的范围中的值。当采用贴片时,入口点偏移的数目可以具有从0到贴片-1数目的范围中的值。当一起采用贴片和wpp时,入口点偏移的数目可以具有从0到贴片列的数目*ctb行的数目-1的范围中的值。

此外,有关入口点偏移数目的信息指定在片头部中语法元素entry_point_offset[i]的数目。例如,由于入口点偏移的数目比入口点的数目小1,因此有关入口点偏移语法元素的数目的信息可以作为num_of_entry_point_munus1发送。做为选择,入口点偏移的数目可以作为num_of_entry_point_offset直接发送。

有关入口点偏移长度的信息可以以比特指定语法元素entry_point_offset[i]的长度。例如,如果有关入口点偏移语法元素长度的信息被作为entry_point_offset_length_minus1发送,则入口点偏移语法元素的长度是entry_point_offset_length_minus1+1比特。做为选择,如果有关入口点偏移语法元素长度的信息被作为entry_point_offset_length_minus2发送,则入口点偏移语法元素的长度是entry_point_offset_length_minus2+2比特。入口点偏移语法元素的长度也可以作为entry_point_offset_length的语法元素发送,而在这样情况下,入口点偏移语法元素的长度是entry_point_offset_length比特。

图16是示意地图示根据本发明的一个示例性实施例的编码装置的方框图。

参考图16,编码装置1600包括信号转换模块1610、熵编码模块1620和信号发送模块1630。

信号转换模块1610可以将输入图片(视频)分割为编码单元,并且基于分割的编码单元或者细分的单元执行预测。信号转换模块1610产生作为在预测结果和原始信号之间差的残留。信号转换模块1610变换和量化该残留。dct和/或dst可以用于变换。

信号转换模块1610可以包括图片分割模块105、预测模块110、变换模块115、量化模块120和重新排序模块125,并且执行与图片分割模块105、预测模块110、变换模块115、量化模块120和重新排序模块125等效的操作。

熵编码模块1620可以熵编码从信号转换模块1610输出的信号。

熵编码模块1620可以对应于图1的熵编码模块130,并且执行与熵编码模块130等效的操作。

信号发送模块1630经由比特流用信号发送编码的视频信息和解码所必需的信息。当采用并行解码时,用信号发送的信息可以在片头部中包括并行处理所必需的信息,例如,入口点信息。

入口点信息包括入口点偏移信息,有关入口点数目的信息,和有关入口点偏移长度的信息。

如上所述,在片中的第i个入口点是第(i-1)个入口点的值加上第i个入口点偏移。因此,有关入口点数目的信息可以是表示在片头部中发送的入口点偏移信息数目的信息。

图17是示意地图示根据本发明的一个示例性实施例的解码方法的流程图。

参考图17,解码装置从编码装置接收有关视频信息的信号发送(s1710)。视频信息可以经由编码的比特流用信号发送。

解码装置可以熵解码接收的比特流(s1720)。解码装置可以接收在比特流中发送的数据比特以输出语法元素值。语法元素指的是在比特流中表示的数据元素。

当执行并行解码时,数据可以被字节对准。在这里,字节对准数据指的是以字节将数据放置在比特流中的位置上。例如,当在比特流中的位置是从比特流的第一比特起的8比特的整数倍数时,该位置被字节对准。

子流的字节对准如上所述。

当采用cabac用于熵解码时,解码可以连续地进行初始化、二值化和解码。

当解析片段数据、解析贴片的第一ctu或者lcu,和解析在ctu或者lcu的行中的第一ctu或者lcu的至少一个开始时,解码装置可以执行初始化。

解码装置可以通过初始化产生用于执行cabac的参数的初始值。

二值化是关于语法元素值的二进制位串的集合。二值化是将语法元素可能的值映射到二进制位串集合的统一的映射处理。

解码装置可以通过利用二值化与二进制位串,即二进制序列或者二进制码,映射,来输出语法元素值。解码装置可以使用为了二值化而将语法元素映射到二进制位串的表。

解码装置可以经由cabac的解码处理确定语法元素值。解码装置可以确定用于二进制位串的每个二进制位的二进制位索引,并且基于该二进制位索引确定上下文索引。解码装置可以使用上下文索引确定相关于要解码的二进制位串的随机变量,并且输出语法元素值。当基于二进制索引确定上下文索引时,解码装置可以使用表,并且也考虑要解码的图片或者片(i片、b片或者p片)的类型。

ctu或者lcu的行可以是wpp子流。如果采用wpp,则当在第n个子流(ctu或者lcu行的第n个行)中的第二ctu或者lcu被完全熵解码时,相关的上下文信息可以被存储。在第(n+1)个子流中的第一ctu或者lcu可以基于有关在第n个子流中的第二ctu或者lcu的上下文信息被初始化。

解码装置可以基于语法元素值重建图片(s1730)。如上所述,语法元素值可以从编码装置用信号发送,并且经由熵解码获得。

当执行并行解码时,可以使用贴片或者wpp。在这种情况下,语法元素可以包括指定贴片的入口点的信息,或者指定wpp子流的入口点的信息。

已经在上文描述了指定入口点的语法元素,例如,指定入口点数目的语法元素,指定入口点偏移的语法元素,指定与入口点偏移有关的语法元素长度的语法元素,指定入口点类型的语法元素和指定入口点信息存在的语法元素。

在这里,有关从编码装置发送的入口点的语法元素可以是上文在先前的实施例中描述的语法元素的全部或者一部分。

虽然为了更好地理解,图17分别图示熵解码操作(s1720)和重建操作(s1730),但是熵解码操作(s1720)和重建操作(s1730)可以被认为是单个解码操作。

图18是示意地图示根据本发明的一个示例性实施例的解码装置的方框图。

参考图18,解码装置1800包括信号发送接收模块1810、熵解码模块1820和重建模块1830。

信号发送接收模块1810从编码装置接收有关视频信息的信号发送。视频信息可以经由熵编码的比特流用信号发送。

熵解码模块1820可以熵解码接收的比特流。解码装置可以接收在比特流中发送的数据比特以输出语法元素值。熵解码已经在上面参考图17描述。

熵解码模块1820对应于图2的熵解码模块210。

重建模块1830可以基于从熵解码模块1820输出的语法元素值重建图片。重建模块1830可以包括重新排序模块215、去量化模块220、反变换模块225、预测模块230、滤波模块235和存储器240,并且执行与重新排序模块215、去量化模块220、反变换模块225、预测模块230、滤波模块235和存储器240等效的操作。

虽然图18为了更好地理解分别图示熵解码模块1820和重建模块1830,但是熵解码模块1820和重建模块1830可以被配置为单个解码模块。

虽然说明性的系统的方法已经基于流程图以一系列的级或者块描述,但是本发明不局限于先前的级的顺序。某些级可以以与如上所述不同的顺序或者同时执行。此外,应当注意,前面提到的实施例可以包括示例的各种方面。因此,应该理解,不脱离本发明的原理和精神,可以在这些示例性实施例中进行变化、修改和替换,本发明的范围在所附的权利要求及其等效中限定。

应该理解,当元件被称为“耦合”或者“连接到”另一个元件时,该元件可以直接耦合或者连接到另一个元件或者层,或者介入元件或者层。相比之下,当元件被称为“直接耦合到”或者“直接连接到”另一个元件或者层时,不存在介于其间的元件或者层。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1