CN114556936A - 利用子图片来编码和解码视频流的方法和设备 - Google Patents

利用子图片来编码和解码视频流的方法和设备 Download PDF

Info

Publication number
CN114556936A
CN114556936A CN202080065219.3A CN202080065219A CN114556936A CN 114556936 A CN114556936 A CN 114556936A CN 202080065219 A CN202080065219 A CN 202080065219A CN 114556936 A CN114556936 A CN 114556936A
Authority
CN
China
Prior art keywords
picture
sub
bitstream
split
boundary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080065219.3A
Other languages
English (en)
Inventor
内尔·奥德拉奥果
弗兰克·德诺奥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN114556936A publication Critical patent/CN114556936A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Abstract

本发明涉及一种编码方法,其包括对允许解码器推断位于子图片的右侧或低部的CTB的拆分的信息进行编码,当子图片不位于图像的右侧或底部时,其宽度或高度不是CTB大小的倍数。还提出了用于所生成的位流的相应解码方法。

Description

利用子图片来编码和解码视频流的方法和设备
技术领域
本公开涉及一种用于对视频位流进行编码和解码的方法和装置,其有助于子图片的位移。本发明更具体地涉及由来自不同视频位流的子图片的合并得到的视频位流的编码和解码。
背景技术
视频位流中的图像的大小可能不对应于编码处理中所使用的编码树块(codingtree block(CTB))的大小的倍数。可以在编码时递归地拆分CTB,特别是为了找到优化编码处理的编码块大小。因此,可以分割CTB直到最小编码块大小为止。当图像的大小不是CTB的大小的倍数时,图像的右侧或底部边界跨越最右侧或最底部CTB。在该情况下,提供CTB的推断拆分(inferred split)。落在图像之外的编码块通常不被编码。
当考虑将图像分割成子图片时,最右侧或最底部的子图片可以包含经受推断拆分的不完整CTB,该不完整CTB包括一些未编码的编码块。
在位流中为解码器提供以像素为单位的图像的大小和CTB的大小。因此,解码器可以确定图像的右侧和底部边界的确切位置,并且执行图像中的最右侧和最底部CTB的推断拆分。
当考虑位于图像中其他地方的图像的右侧或底部边界处的子图片的位移时,由于子图片的大小被提供为整数个CTB,因此解码器不能推断最右侧或最底部CTB的拆分以及缺失编码块的识别。解码失败。
本发明旨在解决一个或多于一个上述问题。提出一种编码方法,其包括对允许解码器推断位于子图片的右侧或底部的CTB的拆分的信息进行编码,当子图片不位于图像的右侧或底部时,其宽度或高度不是CTB大小的倍数。还提出了用于所生成的位流的相应解码方法。
发明内容
根据本发明的一方面,提供一种将包括图片的视频数据编码到位流中的方法,图片被分割成子图片,所述方法包括:针对至少一个子图片,在所述位流中对如下的信息进行编码,该信息指示所述图片具有作为编码树块的大小的倍数的大小并且所述子图片是能够独立解码的;将构成所述子图片的编码树块编码到所述位流中。
在实施例中,所述信息与所有子图片相关。
在实施例中,所述信息是在序列参数集中定义的,所述序列参数集是包含应用于所述位流的图片的句法元素的句法结构。
在实施例中,子图片进一步利用子图片标识符来识别。
在实施例中,禁止在图片头部中定义所述子图片标识符。
在实施例中,在图片参数集中定义的子图片标识符必须在所有图片参数集中相同。
在实施例中,所述信息与特定档次相关联。
根据本发明的另一方面,提供一种将包括图片的视频数据编码到位流中的方法,图片被分割成子图片,所述方法包括:针对至少一个子图片,在所述位流中对指示所述子图片的一致性窗口的信息进行编码;将构成所述子图片的编码树块编码到所述位流中。
在实施例中,指示一致性窗口的所述信息是在SEI消息中定义的。
在实施例中,所述信息针对所述子图片定义左偏移、右偏移、上偏移和下偏移。
根据本发明的另一方面,提供一种将包括图片的视频数据编码到位流中的方法,图片被分割成子图片,所述方法包括:针对至少一个子图片,在所述位流中对第一信息进行编码,所述第一信息指示所述子图片具有作为编码树块的大小的倍数的大小并且所述子图片是能够独立解码的;在所述位流中对指示所述子图片的一致性窗口的第二信息进行编码;将构成所述子图片的编码树块编码到所述位流中。
根据本发明的另一方面,提供一种用于可编程设备的计算机程序产品,所述计算机程序产品包括指令序列,所述指令序列在被加载到所述可编程设备中并且被所述可编程设备执行时用于实现根据本发明的方法。
根据本发明的另一方面,提供一种计算机可读存储介质,其存储用于实现根据本发明的方法的计算机程序的指令。
根据本发明的另一方面,提供一种计算机程序,其在执行时使得进行根据本发明的方法。
根据本发明的另一方面,提供一种用于将包括图片的视频数据编码到位流中的装置,图片被分割成子图片,所述装置包括处理器,所述处理器被配置为针对至少一个子图片执行:在所述位流中对如下的信息进行编码,该信息指示所述子图片具有作为编码树块的大小的倍数的大小并且所述子图片是能够独立解码的;将构成所述子图片的编码树块编码到所述位流中。
根据本发明的另一方面,提供一种用于将包括图片的视频数据编码到位流中的装置,图片被分割成子图片,所述装置包括处理器,所述处理器被配置为针对至少一个子图片执行:在所述位流中对指示所述子图片的一致性窗口的信息进行编码;将构成所述子图片的编码树块编码到所述位流中。
根据本发明的另一方面,提供一种用于将包括图片的视频数据编码到位流中的装置,图片被分割成子图片,所述装置包括处理器,所述处理器被配置为针对至少一个子图片执行:在所述位流中对第一信息进行编码,所述第一信息指示所述子图片具有作为编码树块的大小的倍数的大小并且所述子图片是能够独立解码的;在所述位流中对指示所述子图片的一致性窗口的第二信息进行编码;将构成所述子图片的编码树块编码到所述位流中。
根据本发明的方法的至少部分可以是计算机实现的。因此,本发明可以采取完全硬件实施例、完全软件实施例(包括固件、常驻软件、微代码等)或组合软件和硬件方面的实施例的形式,这些软件和硬件在本文中通常都可以被称为“电路”、“模块”或“系统”。此外,本发明可以采取体现在任何有形表达介质中的计算机程序产品的形式,该有形表达介质具有体现在介质中的计算机可用程序代码。
由于本发明可以用软件实现,因此本发明可以体现为用于在任何合适的载体介质上提供给可编程设备的计算机可读代码。有形的非暂时性载体介质可以包括存储介质,诸如软盘、CD-ROM、硬盘驱动器、磁带装置或固态存储器装置等。瞬态载体介质可以包括诸如电信号、电子信号、光信号、声信号、磁信号或电磁信号(例如微波或RF信号)等的信号。
附图说明
现在将仅通过示例的方式并参考以下附图来描述本发明的实施例,在附图中:
图1a和1b示出了用于组合感兴趣区域的两个不同的应用示例;
图2a示出了编码系统中的一些分区;
图2b示出了将图片分区成子图片的示例;
图2c示出了将图片分区成片(title)和区块(brick)的示例;图3示出了示例性编码系统VVC中的位流的组织;
图4示意性地示出了在VVC中用于对跨越图像边界的树块进行编码的四叉树推理机制;
图5a和5b示出了边界子图片被移动到非边界位置的位流的创建;
图6示出了根据本发明的第一方面的将视频图像编码到位流中的方法;
图7示出了本发明的实施例的一般解码处理;
图8示出了条带(slice)中编码的CTB的解码处理;
图9示出了图片被分割成16个子图片的示例;
图10示出了图片被分割成具有图片宽拆分推断边界(splitting inferenceboundary)的16个子图片的示例;
图11示出了图片宽边界(picture-wide boundary)的概念;
图12是用于实现本发明的一个或多于一个实施例的计算装置的示意性框图。
具体实施方式
图1a和1b示出了用于组合感兴趣区域的两个不同的应用示例。
例如,图1a示出来自第一视频位流的图片(或帧)100和来自第二视频位流的图片101合并到所得到的位流的图片102中的示例。各图片由编号从1到4的四个感兴趣区域组成构成。已经使用得到高质量编码的编码参数对图片100进行了编码。已经使用导致低质量编码的编码参数对图片101进行了编码。众所周知,与以高质量编码的图片相比,以低质量编码的图片与更低的位率相关联。所得到的图片102将来自图片101的感兴趣区域1、2和4(因此以低质量编码)与来自图片100的感兴趣区域3(以高质量编码)组合。这种组合的目标通常是获得高质量的感兴趣区域,这里是区域3,同时通过使区域1、2和4以低质量编码来保持所得位率合理。这种场景可能特别发生在全向内容(omnidirectional content)的上下文中,从而允许实际可见的内容具有更高的质量,而其余部分具有较低的质量。
图1b示出四个不同的视频A、B、C和D被合并以形成所得到的视频的第二示例。视频A的图片103由感兴趣区域A1、A2、A3和A4构成。视频B的图片104由感兴趣区域B1、B2、B3和B4构成。视频C的图片105由感兴趣区域C1、C2、C3和C4构成。视频D的图片106由感兴趣区域D1、D2、D3和D4构成。所得到的视频的图片107由区域B4、A3、C3和D1构成。在该示例中,所得到的视频是各原始视频流的不同感兴趣区域的马赛克视频。原始视频流的感兴趣区域被重新布置并组合在所得到的视频流的新位置中。
视频的压缩依赖于如HEVC(代表High Efficiency Video Coding(高效率视频编码))或新兴的VVC(代表Versatile Video Coding(通用视频编码))标准的大多数编码系统中的基于块的视频编码。在这些编码系统中,视频由可以在若干不同时间显示的帧或图片或图像或样本的序列构成。在多层视频(例如,可缩放、立体、3D视频)的情况下,可以解码若干图片以构成所得到的图像以在某一个时刻显示。图片也可以由不同的图像分量构成。例如,用于编码亮度、色度或深度信息。
视频序列的压缩依赖于针对各图片的若干分区技术。图2a示出了编码系统中的一些分区。图片201和202以虚线所示的编码树单元(CTU)分割。CTU是编码和解码的基本单元。例如,CTU可以对128×128个像素的区域进行编码。
编码树单元(CTU)也可以称为块、宏块、编码块。可以同时编码不同的图像分量,或者可以限于仅一个图像分量。当图像含有若干分量时,CTU对应于针对各分量的一个CTB。在下文中,本发明适用于CTU或CTB级别这两者。
如图2a所示,可以根据由细实线示出的片(tile)的网格来分区图片。片是图片部分,因此是可独立于CTU分区而定义的像素的矩形区域。片的边界和CTU的边界可以是不同的。如在所示的示例中,片还可以对应于CTU序列,意味着片与CTU的边界重合。
片定义规定了片边界打破空间编码依赖性。这意味着片中的CTU的编码不基于来自图片中的另一片的像素数据。
一些编码系统(例如VVC)提供了条带(slice)的概念。该机制允许将图片分区成一个或若干片组。各条带由一个或若干片构成。如图片201和202所示,提供了两种不同的条带。第一种条带限于图片中形成矩形区域的条带。图片201示出了将图片分区成五个不同的矩形条带。第二种条带限于光栅扫描顺序中的连续片。图片202示出了将图片分区成由按光栅扫描顺序的连续片构成的三个不同条带。矩形条带是用于处理视频中的感兴趣区域的选择的结构。条带可以在位流中被编码为一个或若干NAL单元。代表Network AbstractionLayer unit(网络抽象层单元)的NAL单元是用于将数据封装在经编码位流中的数据的逻辑单元。在VVC编码系统的示例中,条带被编码为单个NAL单元。当条带在位流中被编码为若干NAL单元时,条带的各NAL单元是条带分段。条带分段包括含有条带分段的编码参数的条带分段头部。条带的第一分段NAL单元的头部包含条带的所有编码参数。条带的后续NAL单元的条带分段头部可以包含比第一NAL单元少的参数。在这种情况下,第一条带分段是独立条带分段,并且后续分段是从属条带分段。
在OMAF v2 ISO/IEC 23090-2中,子图片是表示原始视频内容的空间子集的图片的一部分,原始视频内容在内容产生侧的视频编码之前已经被拆分成空间子集。子图片例如是形成矩形区域的一个或多于一个条带。
图2b示出将图片分区成子图片的示例。子图片表示覆盖图片的矩形区域的图片部分。各子图片可以具有不同的大小和编码参数。例如,可以针对各子图片定义不同的片网格和条带分区。在图2b中,图片204被细分为包括子图片205和206的24个子图片。这两个子图片与图2a的图片201和202类似进一步描述的条带中的片网格和分区。在第二示例中,片和区块分区不是针对每子图片定义,而是在图片级别定义。然后将子图片定义为形成矩形区域的一个或多于一个条带。
图2c示出使用区块分区进行分区的示例。各片可以包括区块集合。区块是形成片中的一行的CTU的连续集合。例如,图2c的帧207被分割成25个片。除了片的最右列中的每片包含两个区块的片之外,各片恰好包含一个区块。例如,片208包含两个区块209和210。当采用区块分区时,条带包含来自一个片的区块或来自其他片的若干区块。换句话说,VCL NAL单元是区块集合而不是片集合。
图3示出了示例性编码系统VVC中的位流的组织。
根据VVC编码系统的位流300由句法元素和编码数据的有序序列构成。句法元素和编码数据被放置到NAL单元301-305中。存在不同的NAL单元类型。网络抽象层提供将位流封装到不同协议(例如RTP/IP(代表实时协议/因特网协议)、ISO基本媒体文件格式等)中的能力。网络抽象层还提供用于包丢失弹性(packet loss resilience)的框架。
NAL单元被分割成VCL NAL单元和非VCL NAL单元,VCL代表Video Coding Layer(视频编码层)。VCL NAL单元包含实际经编码视频数据。非VCL NAL单元包含附加信息。该附加信息可以是经编码视频数据的解码所需的参数、或可增强经解码视频数据的可用性的补充数据。NAL单元305对应于条带且构成位流的VCL NAL单元。不同的NAL单元301-304对应于不同的参数集,这些NAL单元是非VCL NAL单元。VPS NAL单元301(VPS代表Video ParameterSet(视频参数集))包含针对整个视频定义的参数,并且因此包含针对整个位流定义的参数。VPS的命名可以改变并且例如变成VVC中的DPS。在替代方案中,VPS及DPS是不同参数集NAL单元。DPS(其代表Decoder Parameter Set(解码器参数集))NAL单元可以定义比VPS中的参数更静态的参数。换句话说,DPS的参数比VPS的参数更不频繁地改变。SPS NAL单元302(SPS代表Sequence Parameter Set(序列参数集))包含针对视频序列定义的参数。具体地,SPS NAL单元可以定义视频序列的子图片。SPS的句法包含例如以下句法元素:
Figure BDA0003550663360000081
描述符列给出句法元素的编码,u(1)意指使用一个位对句法元素进行编码,ue(v)意指使用无符号整数0阶Exp-Golomb编码句法元素对句法元素进行编码,其中第一左位是可变长度编码。
图像中子图片的存在取决于subpics_present_flag的值。当该标志等于0时,指示图像不包含子图片。当等于1时,句法元素集指定帧中的子图片。句法元素max_subpics_minus1指定视频序列的图片中的子图片的最大数量。然后,SPS用大小由subpic_grid_col_width_minus1和subpic_grid_row_height_minus1定义的子图片网格元素的网格来定义子图片分区。各网格元素指定subpic_grid_idx[i][j](其中i和j是网格中元素的坐标),其是子图片的索引。存在与视频序列的图片中的子图片一样多的subpic_grid_idx[i][j]值。subpic_grid_idx[i][j]句法元素是子图片的标识符。共用相同索引值的所有网格元素形成与等于索引值的索引(或标识符)的子图片相对应的矩形区域。subpic_treated_as_pic_flag[i]句法元素指示子图片边界是否应被视为除环路滤波处理之外的图片边界。loop_filter_across_subpic_enabled_flag[i]句法元素陈述是否跨越子图片边界应用环路滤波器。
PPS NAL单元303(PPS代表Picture Parameter Set(图片参数集))包含针对图片或图片组定义的参数。APS NAL单元304(APS代表Adaptation Parameter Set(自适应参数集))包含在条带级别定义的环路滤波器(典型地是自适应环路滤波器(ALF)或整形器模型(或具有色度缩放模型的亮度映射))的参数。位流还可以包含SEI(代表SupplementalEnhancement Information(补充增强信息))NAL单元。这些参数集在位流中的出现周期是可变的。针对整个位流定义的VPS需要在位流中仅出现一次。相反,针对条带定义的APS可以针对各图片中的各条带出现一次。实际上,不同条带可以依赖于相同APS,并且因此通常存在比各图片中的条带更少的APS。当图片被分割成子图片时,可以针对各子图片或子图片组定义新的参数集或PPS。
VCL NAL单元305各自包含条带。条带可以对应于整个图片或子图片、单个片或多个片或单个区块或多个区块。条带由条带头部310和包含区块的RBSP(raw byte sequencepayload(原始字节序列有效载荷))311构成。
如在VVC的当前版本中提出的PPS的句法包括指定图片和亮度样本的大小以及各图片在片、区块和条带中的分区的句法元素。
如在VVC的当前版本中提出的PPS的句法被组织如下:
Figure BDA0003550663360000101
Figure BDA0003550663360000111
描述符列给出句法元素的编码,u(1)意指使用一个位对句法元素进行编码,ue(v)意指使用无符号整数0阶Exp-Golomb编码句法元素对句法元素进行编码,其中第一左位是可变长度编码。句法元素pic_width_in_luma_samples和pic_height_in_luma_samples指定以亮度样本的图片的宽度和高度。
当图片中的片的数量大于一(single_tile_in_pic_flag等于0)时,PPS定义将帧中的片分区指定为片网格的若干句法元素(上表中未表示)。
当存在区块(brick_spliting_present_flag等于1)时,PPS在片网格的各片上包含循环,以指示片是否被分割成区块。当片包含区块时,片的区块配置被编码在PPS中。
条带分区用以下句法元素表示:
句法元素single_tile_in_pic_flag说明图片是否包含单个片。换句话说,当该标志为真时,图片中仅存在一个片和一个条带。
single_brick_per_slice_flag说明各条带是否包含单个区块。换句话说,当该标志为真时,图片的所有区块属于不同的条带。
句法元素rect_slice_flag指示图片的条带形成如图片201中所表示的矩形形状。
当存在时,句法元素num_slices_in_pic_minus1等于图片中的矩形条带的数量减一。
然后,句法元素(上表中未表示)在图片的所有条带上在“for循环”中相对于区块分区对各条带的位置进行编码。该for循环中的条带位置参数的索引是条带的索引。
当signalled_slice_id_flag等于1时,指定条带标识符。在该情况下,signalled_slice_id_length_minus1句法元素指示用于编码各条带标识符值的位的数量。slice_id[]关联表通过条带索引进行索引,并且包含条带的标识符。当signalled_slice_id_flag等于0时,slice_id由条带索引进行索引并且包含条带的条带索引。
总之,PPS包含使得可以确定帧中的条带位置的句法元素。由于子图片在帧中形成矩形区域,因此可以确定属于子图片的条带、片和区块的集合。
条带头部包括根据当前VVC版本中的以下句法的条带地址:
Figure BDA0003550663360000121
当条带不是矩形时,条带头部借助于num_tiles_in_slice_minus1句法元素指示条带NAL单元中的片的数量。
各片320可以包括片分段头部330和片分段数据331。片分段数据331包括经编码的编码块340。在VVC标准的当前版本中,不存在片分段头部,并且片分段数据包含编码块数据340。
在变型中,视频序列包括子图片;条带头部的句法可以如下:
Figure BDA0003550663360000122
条带头部包括slice_subpic_id句法元素,其指定其所属的子图片的标识符(例如,对应于SPS中定义的subpic_grid_idx[i][j]的值之一)。结果,视频序列中共用相同slice_sub_pic_id的所有条带属于相同的子图片。
仅出于说明的目的,图4示意性地示出了在VVC中使用的用于跨越图像边界的编码树块的四叉树推断机制。在VVC中,图像不限于具有编码树块大小的宽度和高度倍数。然后,帧的最右侧的编码树块可以跨越图像的右侧边界401,并且帧的最底部的编码树块可以跨越图像的底部边界402。在这些情况下,VVC定义用于跨越边界的编码树块的四叉树推断机制。该机制包括递归地拆分编码树块的跨越图像边界的任何编码块,直到不再有跨越边界的编码块为止,或者直到这些编码树块达到最大四叉树深度为止。例如,编码树块403不被自动拆分,而编码树块404、405和406被自动拆分。不存在推断的四叉树的用信号通知:解码器必须在图像边界上推断相同的四叉树。然而,通过用信号通知这些编码树块的拆分信息(如果未达到最大四叉树深度),可以针对帧内的编码树块进一步细化自动获得的四叉树,例如,如407中所示。
当将CTB拆分成编码块时,存在无法拆分的最小编码块。该最小编码块(其为正方形)的大小由MinCBSizeY给出。在一些示例中,MinCBSizeY等于4。
在编码时,位于图像外部的编码树块的编码块通常没有被编码在位流中。在解码时,解码器使用相同的四叉树推理机制,并且知道这些编码块未被编码。解码器能够对已经编码在位流中的落入图像中的其他编码块进行解码。所获得的编码树由编码器编码在位流中。解码器依赖于该经编码的编码树信息来正确地识别块以解码和重构图像。具体地,经编码的编码树包含指定编码单元是否被拆分的参数,例如称为split_cu_flag。
图5a和5b示出了边界子图片被移动到非边界位置的位流的创建。
在该示例中,第一位流500由4个子图片1HQ至4HQ构成。该位流表示视频的高质量版本。第二位流501由4个子图片1LQ至4LQ构成。该位流表示同一视频的低质量版本。通过合并和重新布置从位流500和501发出的一些子图片来创建位流502。
具体地,位流502由子图片2HQ、1LQ、4HQ和3LQ构成,其中子图片2HQ从位流500中的右上位置移动到位流502中的左上位置,子图片4HQ从位流500中的右下位置移动到位流502中的左下位置,子图片1LQ从位流501中的左上位置移动到位流502中的右上位置,子图片3LQ从位流501中的左下位置移动到位流502中的右下位置。
如图5b所示,位流500由宽度不是编码树块(CTB)大小的倍数的图像构成。因此,最右侧的编码树块经受推断拆分。这些CTB中的最右侧编码块没有被编码在位流中。这些未编码的编码块由阴影部分503表示。在位流502中,未编码的编码块504位于子图片2HQ和4HQ的右侧边界,在图像的中间。
在位流中对图像的以像素(或亮度样本)的大小进行编码。该信息允许解码器知道图像的边界并推断图像中最右侧CTB的推断拆分。然后,解码器知道未被编码的编码块,并且能够对构成图像的编码块进行解码。
当如子图片2HQ和4HQ的子图片在如位流502中从图像的最右侧部分移动到别处时,出现问题。子图片的大小在位流中被编码为整数个CTB。由于标准中的这种特殊性,解码器不可能推断子图片的右侧边界和子图片的最右侧CTB的相应推断拆分。解码器期望子图片的最右侧CTB的所有编码块被编码在位流中。当它们中的一些丢失时,解码失败。
需要找到一种在图像中重新布置子图片而不对它们进行重新编码的方法。
该问题可以通过提出一种编码方法来解决,该编码方法包括对允许解码器推断位于子图片的右侧或低部的CTB的拆分的信息进行编码,当子图片不位于图像的右侧或底部时,其宽度或高度不是CTB大小的倍数。还提出了用于所生成的位流的相应解码方法。
子图片是由一个或多于一个条带表示的图片中的矩形区域。子图片例如在SPS或PPS NAL单元中定义。编码器可以针对各子图片指示它们的边界被视为图像边界,这意味着子图片可以彼此独立地解码。帧内和帧间预测处理被约束为使用仅来自当前帧和参考帧中的相同子图片的预测信息。子图片边界的滤波由针对各子图片定义的标志控制。该标志使得有可能在子图片的边界处应用环路滤波器或不应用环路滤波器。当从一个条带解码CTB时,解码器确定CTB所属的子图片的索引或标识符。
在下文中,子图片的使用是允许在不同位置处解码视频序列的区域,并且还可能在新的解码位置处移动子图片。为此,在优选实施例中,子图片边界被视为图片边界(因为它确保运动预测被约束为允许子图片的独立解码),并且在子图片边界处禁用环路滤波器。对于VVC,当针对子图片,标志subpic_treated_as_pic_flag[i]和loop_filter_across_subpic_enabled_flag[i]标志分别等于1和0时,满足这两个条件。对于HEVC,子图片例如是属于根据HEVC规范的运动约束片集合(Motion Constrained Tile Set)的条带的集合。
图6示出了根据本发明的第一方面的将视频图片编码到位流中的方法。
在第一步骤601中,图像被分割成子图片。
在步骤602中,确定子图片的大小。各子图片的宽度和高度是输入视频序列中存在的感兴趣区域的函数。通常,使各子图片的大小包含一个感兴趣区域。子图片的大小以像素(或亮度样本)确定。当子图片的大小不是CTB大小的倍数时,确定为针对子图片需要特定的拆分推理处理。特别地,当如图5a所示编码器合并两个位流时可能发生这种情况。
在步骤603中,在位流中编码子图片的大小。该大小是指示当需要拆分推断处理时子图片的拆分推断边界的位置的信息。如果需要,则在位流中编码指示需要针对该子图片进行拆分推断处理的信息。该步骤在位流中提供的信息允许解码器进行拆分推理处理。
在步骤604中,在位流中编码构成子图片的至少一个条带。当需要拆分推断处理时,编码器将子图片分割成两部分。第一部分是子图片的顶部和左侧边界与水平和垂直拆分推断边界之间的区域。第二部分是拆分推断边界与子图片的底部和右侧边界之间的区域。例如,图5b的2HQ的子图片中的白色区域对应于第一部分,并且阴影区域对应于第二部分。在本文中,我们将子图片的第一部分称为子图片的有用部分。根据该拆分推断处理落在子图片的有用部分之外的编码单元不被编码。
在替代实施例中,落在子图片的有用部分之外的编码块用填充数据(paddingdata)来编码。
在另一替代实施例中,在位流中插入标志,以指示落在子图片的有用部分之外的编码块是用填充数据编码还是不编码。典型地,编码器在图片参数集NAL单元中指定子图片包含针对落在子图片的有用部分之外的编码单元的利用填充数据的经编码的编码块。例如,标志与各子图片标识符相关联,以指定是否为子图片的有用部分之外的编码单元提供填充编码数据。
在一些实施例中,可以从位流的上下文中已知针对各片使用拆分推断处理。在这些实施例中,不需要对标志进行编码来用信号通知针对子图片使用拆分推断处理。
提出了在一个参数集NAL单元中(例如在SPS中)引入新的句法元素,其使得当在合并的位流中的不同位置处移动时,可以获得用于在一个子图片的右侧边界和/或底部边界处的CTB的相同拆分推断。
当子图片边界被视为图片边界时,这些句法元素将使得解码器可以确定子图片的最后CTB行/或最后CTB列中的跳过的编码块的大小。
因此,当将子图片从图片中的最右侧位置移动到另一位置时,合并或编码操作包括确定最后CTB行和列中的跳过编码块的大小,然后例如在与子图片相关联的SPS中指定。合并位流的解码将使用这些值来确定子图片的可用大小。
例如,SPS的句法包括如下句法元素:
Figure BDA0003550663360000161
Figure BDA0003550663360000171
根据所提出的实施例,已经引入了在表中以粗体表示的一些新句法元素。这些新句法元素的语义可以如下。
subpic_split_inference_flag等于1指示子图片的最后CTB行或最后CTB列不完整。拆分子图片的最后CTB行和列的CTB所用的推断处理考虑子图片的可用大小以确定split_cu_flag的值。
subpic_split_inference_flag等于0指示子图片的所有CTB都是完整的。对于子图片的最后CTB行和列上的CTB不需要拆分推断处理。
subpic_split_inference_ctb_width[i]指定第i个子图片(当存在时)的最右列CTB中的CTB的实际宽度(即,第i个子图片的有用部分中的CTB的像素的宽度)。subpic_split_inference_ctb_width[i]的值是以MinCbSizeY宽度的编码块为单位指定的,并且可以在[0,CtbSizeY/MinCbSizeY-1](包含)的范围内。当不存在时,推断subpic_split_inference_ctb_width[i]的值等于对应于CTB的宽度的CtbSizeY/MinCbSizeY。该编码句法元素例如使用7位或等于log2(CtbSizeY/MinCbSizeY-1)的固定长度码来编码。也可以使用Exp-Golomb码。
subpic_split_inference_ctb_height[i]指定第i个子图片(当存在时)的最后一行CTB中的CTB的实际高度。subpic_split_inference_ctb_height[i]的值是以MinCbSizeY高度的编码块为单位指定的,并且可以在[0,CtbSizeY/MinCbSizeY-1](包含)的范围内。当不存在时,推断subpic_split_inference_ctb_height[i]的值等于对应于CTB的高度的CtbSizeY/MinCbSizeY。该编码句法元素例如使用7位或等于log2(CtbSizeY/MinCbSizeY-1)的固定长度码来编码。也可以使用Exp-Golomb码。
subpic_split_inference_flag使得编码器可以向解码器指示需要特定处理来应对一些子图片的最后CTB行和列的CTB。这意味着最右侧和/或底部CTB行包括编码器尚未编码的编码块。将这些CTB拆分成块由编码树拆分处理来应对,所述编码树拆分处理可以根据第i个子图片的subpic_split_inference_ctb_width[i]和subpic_split_inference_ctb_height[i]句法元素的值推断各块的拆分。
第i个子图片中的最右侧和底部CTB的实际大小(由subpic_split_inference_ctb_width[i]和subpic_split_inference_ctb_height[i]指定)以SPS中指定的最小编码块大小(MinCbSizeY,MinCbSizeY)为单位。CTB的实际大小不能超过如SPS中指定的编码树块的最大大小(CtbSizeY,CtbSizeY)。因此,subpic_split_inference_ctb_height和subpic_split_inference_ctb_width的范围是0到CTB的最大大小与编码块的最小大小的比率减去一。
在一个替代方案中,subpic_split_inference_ctb_width[i]和subpic_split_inference_ctb_height[i]以若干亮度样本(典型地为四个亮度样本)为单位表达以简化SPS的解析。实际上,CTB的大小和编码块的最小大小在SPS中指定,并且可以在subpic_split_inference_ctb_width[i]和subpic_split_inference_ctb_height[i]句法元素之后定义。在这种情况下,拆分推断边界的位置被表示为编码树块的最小编码块的大小的整数倍。另外,当在不同参数集NAL单元中定义subpic_split_inference_ctb_width[i]和subpic_split_inference_ctb_height[i]时,可以独立于CTB和编码块大小来计算各子图片的实际大小。
下面的伪代码确定触发编码树的拆分的第i个子图片中的边界。垂直边界的位置由变量SubPicRightSplitInferenceBoundary[i]表示,并且水平边界的位置由SubPicBotSplitInferenceBoundary[i]变量表示。
第i个子图片中的垂直边界的以亮度样本为单元的位置等于在第i个子图片的CTB边界上对齐的右侧边界的位置减去SPS中定义的subpic_split_inference_ctb_width[i]句法元素。第i个子图片中的水平边界的以亮度样本为单位的位置等于在第i个子图片的CTB边界上对齐的底部边界的位置减去SPS中定义的subpic_split_inference_ctb_height[i]句法元素。
变量SubPicRightSplitInferenceBoundary[i]和SubPicBotSplitInferenceBoundary[i]导出如下:
Figure BDA0003550663360000191
因此,所提出的与子图片相关联的新句法元素subpic_split_inference_flag、subpic_split_inference_ctb_width[i]和subpic_split_inference_ctb_height[i]允许编码器向解码器指示需要能够推断不完整CTB的拆分并确定落在子图片的有用部分之外的编码块的信息。
编码树句法包括指示编码块是否被拆分的标志split_cu_flag。当编码树块不完全在子图片的有用部分的边界内并且因此标志未被编码时,推断拆分。
split_cu_flag等于0指定编码块不被拆分。split_cu_flag等于1指定了使用如句法元素split_qt_flag所指示的四叉树拆分来将编码块拆分成四个编码块,或者使用如句法元素mtt_split_cu_binary_flag所指示的二元拆分来将编码块拆分成两个编码块或者使用如句法元素mtt_split_cu_binary_flag所指示的三元拆分将编码块拆分成三个编码块。如句法元素mtt_split_cu_vertical_flag所指示的,二元或三元拆分可以是垂直的或水平的。
当在编码块的编码中不存在split_cu_flag时,如下推断split_cu_flag的值:
-如果以下条件中的一个或多于一个为真,则推断split_cu_flag的值等于1:
-x0+cbWidth大于SubPicRightSplitInferenceBoundary[SubPicIdx]。
-y0+cbHeight大于SubPicBotSplitInferenceBoundary[SubPicIdx]。
-此外,推断split_cu_flag的值等于0。
上述伪代码确定位于宽度(或高度)等于cbWidth(或cbHeight)的以亮度样本坐标的位置(x0,y0)处的编码块是否完全位于索引等于SubPicIdx的当前子图片的有用部分内。当在该区域之外时,编码器(和解码器)推断编码块被拆分(split_cu_flag等于1)。
当由于编码块的边界在子图片实际像素边界的有用部分之外而推断出该编码块被拆分时,存在三种可能的拆分。第一种是四叉树拆分,即,编码块被进一步分割成4个相等大小的平方编码块。第二种是拆分成由跨整个编码块的垂直或水平边界分开的两个编码块。该拆分是二叉树拆分。最后,第三种拆分是将编码块分割成由垂直或水平边界分开的三个块的三叉树拆分。
除了拆分推断处理之外,编码器(以及类似地,解码器)对子图片的有用部分之外的编码块应用特定的编码处理。在第一实施例中,这些编码块不被编码。对于各拆分编码块,编码器检查块的顶部边界(相应地,左边界)的y轴(相应地,x轴)坐标是否大于等于当前子图片的SubPicBotSplitInferenceBoundary(相应地,SubPicRightSplitInferenceBoundary)值。在这种情况下,编码器跳过块的编码。因此,不针对这些编码块提供经编码的句法元素。因此,当对相邻编码单元进行编码时,这些跳过编码块被认为不可用于帧间和帧内预测。类似地,时间预测被限制以避免使用来自这些跳过编码块的像素信息。
图7示出了本发明的实施例的一般解码处理。在步骤701中,解码器通过解析流的SPS和PPS来确定帧的子图片的大小,典型地是子图片的宽度和高度。具体地,确定属于各子图片的条带NAL单元。在步骤702中,解码器对形成图片的子图片的条带进行解码。参考图8给出了各条带中的经编码CTB的解码处理的更多细节。在步骤703中,包括从经解码图片生成输出图片。特别地,解码器可以可选地对经解码子图片应用一些裁剪操作。
图8示出了条带中编码的CTB的解码处理702。在步骤801中,检查是否存在要解码的条带。当所有条带都已被解码时,处理结束。对于给定条带,解码器在步骤802中确定条带所属的子图片的标识符。
然后,在步骤803中,检查在当前条带中是否有剩余的要解码的CTB。对于给定CTB,在步骤804中,解码器解析CTB的句法元素。当CTB在具有在802中确定的标识符的子图片的最右侧或底部边界上时,如果当前条带需要该处理,则解码器将拆分推断处理应用于CTB。然后,当CTB被拆分时,在步骤805中,解码器解码由推断处理得到并位于子图片内的各编码块。位于子图片的有用部分之外的编码块不被解码,这是因为它们不存在于位流中。在一些实施例中,如果已经用填充数据对位于子图片的有用部分之外的编码块进行了编码,则对这些编码块进行解码。
对于大小不是CTB大小的倍数的子图片,子图片的解码处理导致不完整CTB的右侧列或底部行。当布置子图片以构成要渲染的最终帧时,解码器必须确定位于这些像素带中的像素的值。在图5b中给出了未确定像素的带的示例,即带504。这是由于帧内的子图片被限制为由整数个CTB构成的事实。结果,子图片包含与子图片的原点和拆分推断边界之间的区域相对应的一致的解码像素集合。剩余区域对应于未定义、或不旨在显示的像素值。在一些实施例中,解码器可以将剩余带中的像素的值设置为零。在一些其他实施例中,解码器可以通过复制最近的一致像素的值来设置剩余带中的像素的值。
由于不旨在显示未确定像素的这些带,因此可以通过移位相邻子图片来在所得到的帧中抑制这些带。例如,图5b的位流502中的子图片1LQ和3LQ可以左移带504的宽度。
在该实施例中,解码器将在当前子图片的右侧和底部的子图片的解码像素移位,使得它们与右侧和底部推断拆分边界对齐。编码块的以亮度样本的解码位置考虑到一些子图片不完整。
解码器具有识别未确定像素的带所需的所有信息。在一个实施例中,解码器进行子图片的移位,以在解码所有子图片之后在后解码处理中消除这些带。
在另一实施例中,解码器可以将移位操作集成在解码处理中。在该实施例中,新变量由解码器定义,并在各CTB的解码期间使用,以解码正好在其最终位置的编码块。
SubPicOffSetX[i]和SubPicOffSetY[i]变量分别指示要从第i个子图片的编码块的像素的X轴坐标和Y轴坐标减去的偏移,所述第i个子图片的编码块的像素将被放置在其正确位置处。
例如,xCtbShifted和yCtbShifted变量是在移位操作之后按图片的光栅扫描顺序在CtbAddrInRs地址处的CTB的左上像素的新坐标。
下面的伪代码计算这些坐标,其中CtbAddressInRs是图片中的CTB的光栅扫描地址;PicWidthInCtbsY是以CTB为单位的图片的宽度,并且CtbLog2SizeY是以亮度样本的CTB的大小的log2;SubPicIdx是包含当前CTB的子图片的索引。
Figure BDA0003550663360000221
前两行计算以亮度样本为单位的编码树块的原点的x轴和y轴坐标。这些值不考虑相邻子图片(如果有)中的跳过像素。然后,如果subpic_split_inference_flag等于1,其指示子图片可能包含跳过块,则从xCtbShifted(相应地,yCtbShifted)坐标中减去位于编码树块左侧(相应地,顶部)的子图片的跳过像素的宽度之和。
编码器如下确定各子图片的x轴(SubPicOffsetX[i])及y轴(SubPicOffsetY[i])坐标的移位偏移。首先,对于给定的子图片,确定当前子图片左侧的子图片集合。对于该集合的各子图片,移位偏移等于最后CTB行的右侧边界与右子图片推断边界之间的差。典型地,该值等于CtbSizeY-Subpic_split_inference_ctb_width[j]*MinCbSizeY,其中j是集合中的子图片的索引,并且CtbSizeY是以亮度样本或像素为单元的CTB的大小。x轴的移位偏移的值等于CtbSizeY-subpic_split_inference_ctb_width[j]*MinCbSizeY的总和,其中各j等于左子图片集合中的子图片的索引。类似地,y轴的移位偏移的值等于CtbSizeY-subpic_split_inference_ctb_height[j]*MinCbSizeY的总和,其中各j等于当前子图片上方的顶部子图片集合中的子图片的索引。
图9示出了图片被分割成16个子图片的情况,其中未确定像素的带由阴影带表示。箭头表示子图片的移位以消除未确定像素的带。如果所有垂直带(相应地,水平带)具有相同的大小,则可以理解,所得到的图像是矩形的。也是这种情况,因为子图片的各列包括相同数量的水平带,并且子图片的各行包括相同数量的垂直带。
可以理解,如果不满足这些条件,则所得到的图像可能不是矩形。
在一个实施例中,对针对子图片指定不同推断边界的可能性进行约束,以避免在移位操作之后定义具有非矩形图片形状的图片。特别地,在经解码帧的移位或裁剪之后,子图片的各列(相应地,行)以亮度样本的高度(相应地,宽度)必须相等。
在子图片的给定行(或列)中指定不同推断边界的可能性可能导致在各子图片处以不同的移位偏移来移位经解码样本的复杂操作。为此,在实施例中,可以定义子图片推断边界跨越图像对齐的约束。例如,图10示出了图片被分割成遵守该约束的16个子图片的情况。
图11示出了图片宽边界的概念。
在替代方案中,编码器确定子图片的两种类型的边界。首先,子图片边界与共同跨越整个图片宽度或高度的其他子图片边界对齐。我们将这种子图片边界称为图片宽边界。例如,图11中的子图片0的底部边界是图片宽边界。相反,子图片1的底部边界不是图片宽的。
在实施例中,编码器约束子图片布置,使得具有不是图片宽的底部边界的子图片的最后CTB行不使用推断拆分。换句话说,拆分推断边界与CTB边界对齐,并且例如subpic_split_inference_ctb_height[i]的大小等于CTB的大小。相同的原理适用于具有图片宽的右侧边界的子图片的最后CTB列。在一个替代方案中,编码器确定各子图片的边界的类型,并且当子图片的右侧(相应地,底部)边界是图片宽边界时,对subpic_split_inference_ctb_width[i](相应地,subpic_split_inference_ctb_height[i])的值进行编码。当右侧(相应地,底部)边界不是图片宽时,不对subpic_split_inference_ctb_width[i](相应地,subpic_split_inference_ctb_height[i])进行编码并推断等于CTB的大小。
编码器可以对底部(相应地,右侧)边界是相同的图片宽边界的子图片应用第二约束。例如,该约束是当边界在子图片的底部时,对于该子图片集合的所有第i个子图片,subpic_split_inference_height[i]是相等的。类似地,对于具有公共右侧图片宽边界的子图片集合的所有第i个子图片,subpic_split_inference_width[i]可以是相等的。
另外,当子图片不可独立解码时,编码器可以应用拆分推断边界与CTB边界对齐的第三约束。典型地,对于第i个子图片,当subpic_treated_as_pic_flag[i]等于0或loop_filter_across_subpic_enabled_flag[i]等于1时。该约束确保拆分推断机制仅在子图片合并的上下文中使用。现在将描述根据这些约束的实施例。
在另一实施例中,改变SPS的句法以指定跨越整个图片的垂直拆分推断边界的位置和水平拆分推断边界的位置。在该实施例中,由于经受拆分推断的子图片边界仅涉及图片宽边界,因此使用图片级别的用信号通知。
存在若干替代方案来指定这些边界的位置。拆分推断边界的位置可以在诸如SPS或PPS等的参数集NAL单元中用信号通知。参数集应当描述与子图片和图片信息有关的信息。
在一个替代方案中,推断边界的位置例如相对于以亮度样本为单位的图片的原点来定义。
例如,PPS句法包括以下元素:
Figure BDA0003550663360000251
其中:
pps_subpic_split_inference_flag是指示子图片拆分推断的使用的标志。典型地,拆分推断适用于图片宽边界。pps_subpic_split_inference_flag等于1指示存在pps_split_inference_boundary_pos_x和pps_split_inference_boundary_pos_y;pps_subpic_split_inference_flag等于0指示不存在pps_split_inference_boundary_pos_x和pps_split_inference_boundary_pos_y;
pps_split_inference_boundary_pos_x用于计算PpsSplitInferenceBoundaryPosX的值,PpsSplitInferenceBoundaryPosX指定以亮度样本为单位的垂直拆分推断边界的位置。pps_split_inference_boundary_pos_x可以在1到Ceil(pic_width_in_luma_samples÷4)-1(包含)的范围内。例如,使用13位或等于log2(pic_width_in_luma_samples/4)的固定长度码对该编码句法元素进行编码。也可以使用Exp-Golomb码。
垂直拆分推断边界PpsSplitInferenceBoundaryPosX的位置导出如下:
PpsSplitInferenceBoundaryPosX=pps_split_inference_boundary_pos_x*4
pps_split_inference_boundary_pos_y用于计算PpsSplitInferenceBoundaryPosY的值,PpsSplitInferenceBoundaryPosY指定以亮度样本为单位的水平拆分推断边界的位置。pps_split_inference_boundary_pos_y可以在1到Ceil(pic_height_in_luma_samples÷4)-1(包含)的范围内。例如,使用13位或等于log2(pic_width_in_luma_samples/4)的固定长度码对该编码句法元素进行编码。也可以使用Exp-Golomb码。
水平拆分推断边界PpsSplitInferenceBoundaryPosY的位置导出如下:
PpsSplitInferenceBoundaryPosY=pps_split_inference_boundary_pos_y*4
编码树拆分推断处理将编码单元边界与拆分推断边界的位置进行比较。例如,当编码块的右侧边界或底部边界大于跨越当前子图片的拆分推断边界之一时,推断编码单元的拆分。因此,slit_cu_flag的拆分推断例如如下:
当split_cu_flag不存在时,split_cu_flag的值推断如下:
-如果以下条件中的一个或多于一个为真,则推断split_cu_flag的值等于1:
-x0+cbWidth大于PpsSplitInferenceBoundaryPosX并且(SubPicLeft[SubPicIdx])*(subpic_grid_col_width_minus1+1)*4)<PpsSplitInferenceBoundaryPosX并且(SubPicLeft[SubPicIdx]+SubPicWidth[i])*(subpic_grid_col_width_minus1+1)*4)>PpsSplitInferenceBoundaryPosX
-y0+cbHeight大于PpsSplitInferenceBoundaryPosY并且(SubPicTop[SubPicIdx])*(subpic_grid_row_height_minus1+1)*4)<PpsSplitInferenceBoundaryPosY并且(SubPicTop[SubPicIdx]+SubPicHeight[i])*(subpic_grid_row_height_minus1+1)*4)>PpsSplitInferenceBoundaryPosY
-否则,推断split_cu_flag的值等于0。
确定split_cu_flag的值的另一等效算法如下:
当split_cu_flag不存在时,split_cu_flag的值推断如下:
-如果以下条件中的一个或多于一个为真,则推断split_cu_flag的值等于1:
-SubPicInferenceSplitFlag等于0且x0+cbWidth大于pic_width_in_luma_samples。
-SubPicInferenceSplitFlag等于0且y0+cbHeight大于pic_height_in_luma_samples。
-SubPicInferenceSplitFlag等于1且x0+cbWidth大于SubPicInferenceBoundaryPosX。
-SubPicInferenceSplitFlag等于1且y0+cbHeight大于SubPicInferenceBoundaryPosY。
-否则,推断split_cu_flag的值等于0。
当包含编码块的子图片被拆分推断边界跨越时,SubPicInferenceSplitFlag等于1。SubPicInferenceBoundaryPosX是跨越当前子图片的垂直拆分推断边界的水平坐标。当子图片没有被垂直拆分推断边界跨越时,将SubPicInferenceBoundaryPosX设置为大于或等于子图片右侧边界的水平坐标的值,以避免不必要的拆分推断。类似地,SubPicInferenceBoundaryPosY是跨越当前子图片(如果有)的水平拆分推断边界的垂直坐标。否则,当子图片没有被水平拆分推断边界跨越时,将SubPicInferenceBoundaryPosY设置为大于或等于子图片的右侧边界的水平坐标的值。引入因子“4”,因为拆分推断边界被约束为对应于最小编码块边界。假设最小编码块的大小是4×4。如果最小编码块的大小不同,则可以在这些等式中使用另一因素。
在另一示例中,可在SPS级别处定义上文在PPS中所描述的句法元素,这在拆分推断边界在各新PPS NAL单元处不改变时可以是有利的。因此,SPS的句法包括例如以下元素:
Figure BDA0003550663360000281
其中,subpic_split_inference_flag、split_inference_boundary_pos_x和split_inference_boundary_pos_y具有与pps_subpic_split_inference_flag、pps_split_inference_boundary_pos_x和pps_split_inference_boundary_pos_y类似的语义:
subpic_split_inference_flag是指示使用子图片拆分推断的标志。subpic_split_inference_flag等于1指示存在split_inference_boundary_pos_x和split_inference_boundary_pos_y;subpic_split_inference_flag等于0指示不存在split_inference_boundary_pos_x和split_inference_boundary_pos_y;
split_inference_boundary_pos_x用于计算SplitInferenceBoundaryPosX的值,SplitInferenceBoundaryPosX指定以亮度样本为单位的垂直拆分推断边界的位置。split_inference_boundary_pos_x可以在1到Ceil(pic_width_in_luma_samples÷4)-1(包含)的范围内。
垂直拆分推断边界SplitInferenceBoundaryPosX的位置导出如下:
SplitInferenceBoundaryPosX=split_inference_boundary_pos_x*4
split_inference_boundary_pos_y用于计算SplitInferenceBoundaryPosY的值,SplitInferenceBoundaryPosY指定以亮度样本为单位的水平拆分推断边界的位置。split_inference_boundary_pos_y可以在1到Ceil(pic_height_in_luma_samples÷4)-1(包含)的范围内。
水平拆分推断边界SplitInferenceBoundaryPosY的位置导出如下:
SplitInferenceBoundaryPosY=split_inference_boundary_pos_y*4;
split_inference_boundary_pos_x和split_inference_boundary_pos_y句法元素例如使用13位或者对于split_inference_boundary_pos_x等于log2(pic_width_in_luma_samples/4)且对于split_inference_boundary_pos_x等于log2(pic_height_in_luma_samples/4)的固定长度码来编码。也可以使用Exp-Golomb码。
在另一实施例中,split_inference_boundary_pos_y可以在1到Ceil(pic_height_in_luma_samples÷4)(包含)的范围内,并且split_inference_boundary_pos_x可以在1到Ceil(pic_width_in_luma_samples÷4)(包含)的范围内。在这种情况下,范围的最大值指示拆分推断边界与图片边界对齐或在图片边界之外。结果,当设置为最大值时,指示不使用垂直或水平拆分边界。在变型中,使用两个不同的标志(针对垂直和水平拆分推断边界分别使用一个标志)。在该变型中,split_inference_boundary_pos_x和split_inference_boundary_pos_y的存在以这些标志值为条件。
在另一实施例中,PPS定义一个或多于一个水平和垂直拆分推断边界。编码器指定水平拆分推断边界的数量以及垂直拆分推断边界的数量。这些边界限于图片宽边界。例如,PPS的句法包含以下元素:
Figure BDA0003550663360000291
pps_num_ver_split_inference_boundaries指定PPS中存在的pps_split_inference_boundaries_pos_x[i]句法元素的数量。当pps_num_ver_split_inference_boundaries不存在时,推断其等于0。
pps_split_inference_boundaries_pos_x[i]用于计算PpsSplitInferenceBoundaryPosX[i]的值,PpsSplitInferenceBoundaryPosX[i]指定以亮度样本为单位的第i个垂直拆分推断边界的位置。pps_split_inference_boundary_pos_x[i]可以在1到Ceil(pic_width_in_luma_samples÷4)-1(包含)的范围内。例如,使用13位或等于log2(pic_width_in_luma_samples/4)的固定长度码对该编码句法元素进行编码。也可以使用Exp-Golomb码。
第i个垂直拆分推断边界PpsSplitInferenceBoundaryPosX[i]的位置导出如下:
PpsSplitInferenceBoundaryPosX[i]=pps_split_inference_boundary_pos_x[i]*4
任何两个垂直拆分推断边界之间的距离可以大于或等于CtbSizeY个亮度样本,其是以亮度样本的CTB的大小。
pps_num_hor_split_inference_boundaries指定PPS中存在的pps_split_inference_boundaries_pos_y[i]句法元素的数量。当pps_num_hor_split_inference_boundaries不存在时,推断其等于0。
pps_split_inference_boundaries_pos_y[i]用于计算PpsSplitInferenceBoundaryPosY[i]的值,PpsSplitInferenceBoundaryPosY[i]指定以亮度样本的第i个水平拆分推断边界的位置。pps_split_inference_boundary_pos_y[i]可以在1到Ceil(pic_height_in_luma_samples÷4)-1(包含)的范围内。该编码句法元素例如使用13位或等于log2(pic_height_in_luma_samples/4)的固定长度码来编码。也可以使用Exp-Golomb码。
第i个水平拆分推断边界PpsSplitInferenceBoundaryPosY[i]的位置导出如下:
PpsSplitInferenceBoundaryPosX[i]=pps_split_inference_boundary_pos_y[i]*4
任何两个水平拆分推断边界之间的距离可以大于或等于CtbSizeY个亮度样本,其是以亮度样本的CTB的大小。
在另一实施例中,编码器指定图片宽拆分推断边界相对于由图片的CTB形成的网格的位置。典型地,SPS或PPS包括句法元素以指示拆分推断处理的垂直和水平边界的数量及其位置作为CTB行或CTB列的索引。对于PPS中描述的各CTB行(相应地,列),编码器指示用于推断处理的CTB的宽度(相应地,高度)。
在该实施例的变型中,编码器和解码器可以根据子图片定义来确定图片宽的子图片边界。具体地,编码器确定作为垂直图片宽子图片边界的数量的NumVerSplitInferenceBoundaries和作为水平图片宽子图片边界的数量的NumHorSplitInferenceBoundaries。还确定第i个(按光栅扫描顺序)垂直图片宽子图片边界在x轴上的位置,并将其存储在PictureWideSubPictureBoundaryPosX[i]变量中。还确定第i个(按光栅扫描顺序)水平图片宽子图片边界在y轴上的位置,并将其存储在PictureWideSubPictureBoundaryPosY[i]变量中。
然后,编码器对拆分推断所使用的宽度(相应地,高度)进行编码,以用于垂直(相应地,水平)图片图片宽子图片边界的左侧(相应地,顶部)处的CTB行(相应地,列)。
例如,PPS包括以下句法元素:
Figure BDA0003550663360000311
其中:
pps_split_inference_ctb_width[i]用于计算PpsSplitInferenceBoundaryPosX[i]的值,PpsSplitInferenceBoundaryPosX[i]指定以亮度样本为单位的第i个垂直拆分推断边界的位置。pps_split_inference_ctb_width[i]是以MinCbSizeY宽度的编码块为单位指定的,并且可以在0到CtbSizeY/MinCbSizeY-1(包含)的范围内。例如,使用等于log2(CtbSizeY/MinCbSizeY-1)的固定长度码对该编码句法元素进行编码。也可以使用Exp-Golomb码。
第i个垂直拆分推断边界PpsSplitInferenceBoundaryPosX[i]的(以亮度样本的)位置导出如下:
PpsSplitInferenceBoundaryPosX[i]=PictureWideSubPictureBoundaryPosX[i]-CtbSizeY+pps_split_inference_ctb_width[i]*MinCbSizeY
pps_split_inference_ctb_height[i]用于计算PpsSplitInferenceBoundaryPosY[i]的值,PpsSplitInferenceBoundaryPosY[i]指定以亮度样本为单位的第i个水平拆分推断边界的位置。pps_split_inference_ctb_height[i]是以MinCbSizeY高度的编码块为单位指定的,并且可以在0到CtbSizeY/MinCbSizeY-1(包含)的范围内。例如,使用等于log2(CtbSizeY/MinCbSizeY-1)的固定长度码对该编码句法元素进行编码。也可以使用Exp-Golomb码。
第i个水平拆分推断边界PpsSplitInferenceBoundaryPosY[i]的(以亮度样本的)位置导出如下:
PpsSplitInferenceBoundaryPosY[i]=PictureWideSubPictureBoundaryPosY[i]-CtbSizeY+pps_split_inference_ctb_height[i]*MinCbSizeY
在另一实施例中,拆分推断边界是从子图片分区(例如从子图片网格)推导出的。具体地,编码器可以描述不与CTB边界对齐的子图片边界。例如,子图片分区定义低于CTB大小的子图片网格元素大小。当两个连续的网格元素具有两个不同的子图片索引并且属于相同的CTB时,这指示第一子图片具有不与CTB边界对齐的右侧(相应地,底部)边界。第二子图片具有不与CTB边界对齐的左侧(相应地,顶部)边界。在这种情况下,推断拆分边界与第一子图片的右侧(相应地,底部)边界对齐,因此与第二子图片的左侧(相应地,顶部)边界对齐。在变型中,使用不同的用信号通知,以例如通过以低于CTB大小单位的单位显式地指示各子图片的宽度和高度来指示子图片的右侧边界和左侧边界。在这种情况下,将子图片宽度和高度与其以CTB为单位的值进行比较,以确定不与CTB边界对齐的子图片。在另一变型中,保留子图片元素的特定值以指示该子图片网格元素不具有经编码数据。然后,从子图片分区推导拆分推断边界,这避免了SPS、PPS或任何参数集或SEI中的拆分推断边界的显式用信号通知。
VVC规范定义了PPS中的一致性窗口(conformance window),如下表所示:
Figure BDA0003550663360000331
该一致性窗口是各图片中的由到图片边界的左、右、上和下偏移表示的矩形区域。在解码处理结束时,解码器应用裁剪处理以去除一致性窗口之外的像素。
在先前的实施例中,我们描述了编码器跳过CTB中的被拆分推断边界跨越的一些编码块。跳过编码块位于垂直拆分推断边界的右侧和水平拆分推断边界的下方。在一个实施例中,解码器将对具有针对这些编码块的未定义像素的CTB进行解码。为此,建议在PPS中添加将定义各子图片的一致性窗口的句法元素。
在一个实施例中,参数集包括用于指示一致的各子图片中的以亮度样本的矩形区域的新句法元素。它是由解码器解码的所有像素,其值等于由编码器编码的值,即,对应于子图片的有用部分。
典型地,SPS或PPS针对流的具有等于真的标志subpic_treated_as_pic_flag的各子图片定义四个一致性窗口偏移参数。例如,句法可以如下:
Figure BDA0003550663360000341
句法元素subpic_conf_win_left_offset[i]、subpic_conf_win_right_offset[i]、subpic_conf_win_top_offset[i]、subpic_conf_win_bottom_offset[i]、subpic_conf_win_left_offset[i]指定四个一致性窗口偏移参数。
在另一实施例中,例如,当编码器约束拆分推断边界以跨越图片宽度和高度时,未定义像素形成图片中的一个或多于一个像素带。因此,代替指定各子图片中的一致性区域,PPS描述从一致性窗口排除且应经裁剪的像素带。
例如,PPS定义从针对PPS中的图片定义的一致性窗口排除的像素带的数量。对于各像素带,编码器指定带的宽度。例如,PPS的句法可以包括以下元素:
Figure BDA0003550663360000351
具有以下语义:
conformance_exclusion_band_flag等于1指示PPS中存在一致性排除带。conformance_exclusion_band_flag等于0指示PPS中不存在一致性排除带。
num_ver_conformance_exclusion_bands指定存在于PPS中的conformance_exclusion_ver_band_pos_x[i]和conformance_exclusion_ver_band_width_minus1[i]句法元素的数量。当num_ver_conformance_exclusion_bands不存在时,推断其等于0。
conformance_exclusion_ver_band_width_minus1[i]加1指定以亮度样本的第i个垂直一致性排除带的宽度,并且用于计算PpsConformanceVerBandPosX[i],PpsConformanceVerBandPosX[i]指定以亮度样本为单位的第i个垂直一致性排除带边界的位置。一致性。conformance_exclusion_ver_band_width_minus1[i]可以在0到CtbSizeY-2的范围内。该编码句法元素例如使用8位或等于log2(pic_width_in_luma_samples/CtbSizeY)或等于log2(CtbSizeY-2)的固定长度码来编码。也可以使用Exp-Golomb码。
conformance_exclusion_ver_band_pos_x[i]用于计算PpsConformanceVerBandPosX[i]的值,PpsConformanceVerBandPosX[i]指定以亮度样本为单位的第i个垂直一致性排除带边界的位置。conformance_exclusion_ver_band_pos_x[i]可以在0到PicWidthInCtbsY(包含)的范围内。在变型中,范围是1到PicWidthInCtbsY-1(包含),以避免指定在图片的第一个或最后一个像素列处开始的垂直带。例如,使用8位或等于log2(pic_width_in_luma_samples/CtbSizeY)的固定长度码对该编码句法元素进行编码。也可以使用Exp-Golomb码。
第i个垂直排除带PpsConformanceVerBandPosX[i]的位置导出如下:
PpsConformanceVerBandPosX[i]=conformance_exclusion_ver_band_pos_x[i]*CtbSizeY–(conformance_exclusion_ver_band_width_minus1[i]+1)
任何两个垂直一致性排除带边界之间的距离可以大于或等于CtbSizeY个亮度样本,其是以亮度样本的CTB的大小。在变型中,对两个垂直一致性排除带边界之间的距离没有限制,并且各带可以与另一带重叠。在这种情况下,解码器必须确定重叠带以确定图片的实际一致性区域。
num_hor_conformance_exclusion_bands指定存在于PPS中的conformance_exclusion_hor_band_pos_y[i]和conformance_exclusion_hor_band_height_minus1[i]句法元素的数量。当num_hor_conformance_exclusion_bands不存在时,推断其等于0。
conformance_exclusion_hor_band_height_minus1[i]加1指定以亮度样本的第i个水平一致性排除带的高度,并且用于计算PpsConformanceHorBandPosY[i],PpsConformanceHorBandPosY[i]指定以亮度样本为单位的第i个水平一致性排除带边界的位置。一致性。conformance_exclusion_hor_band_height_minus1[i]可以在0到CtbSizeY-2的范围内。该编码句法元素例如使用7位或等于log2(pic_height_in_luma_samples/CtbSizeY)的固定长度码来编码。也可以使用Exp-Golomb码。
conformance_exclusion_hor_band_pos_y[i]用于计算PpsConformanceHorBandPosY[i]的值,PpsConformanceHorBandPosY[i]指定以亮度样本为单位的第i个水平一致性排除带边界的位置。conformance_exclusion_hor_band_pos_y[i]可以在0到PicHeightInCtbsY(包含)的范围内。PicHeightInCtbsY是以CTB为单位的图片的高度。在变型中,范围是1到PicHeightInCtbsY-1(包含),以避免指定在图片的第一个或最后一个像素行处开始的水平带。该编码句法元素例如使用8位或等于log2(pic_height_in_luma_samples/CtbSizeY)的固定长度码来编码。也可以使用exp-Golomb码。
第i个水平排除带PpsConformanceHorBandPosY[i]的位置导出如下:
PpsConformanceHorBandPosY[i]=conformance_exclusion_hor_band_pos_y[i]*CtbSizeY-(conformance_exclusion_hor_band_height_minus1[i]+1)
任何两个水平一致性排除带边界之间的距离可以大于或等于CtbSizeY个亮度样本,其是以亮度样本的CTB的大小。在变型中,对两个水平一致性排除带边界之间的距离没有限制,并且各带可以与另一带重叠。在该情况下,解码器必须确定重叠带以确定图片的实际一致性区域。
在变型中,水平和垂直排除带的数量是可选的。在这种情况下,当num_ver_conformance_exclusion_bands和num_hor_conformance_exclusion_bands句法元素不存在时,推断它们的值等于1。PPS的句法例如如下:
Figure BDA0003550663360000381
在变型中,水平或/和垂直拆分推断边界信息的描述是可选的。例如,PPS(或SPS)的句法如下:
Figure BDA0003550663360000382
新句法(粗体)元素的语义如下:
conformance_exclusion_ver_band_flag等于1指示在PPS中存在conformance_exclusion_ver_band_width_minus1和conformance_exclusion_ver_band_pos_x,其指定垂直一致性排除带。conformance_exclusion_band_flag等于0指示PPS中不存在conformance_exclusion_ver_band_width_minus1和conformance_exclusion_ver_band_pos_x。
conformance_exclusion_ver_band_width_minus1加1指定以亮度样本的垂直一致性排除带的宽度,并且用于计算PpsConformanceVerBandPosX。PpsConformanceVerBandPosX指定垂直一致性排除带的左侧边界的位置。conformance_exclusion_ver_band_width_minus1可以在0至CtbSizeY-2的范围内。
conformance_exclusion_ver_band_pos_x用于计算PpsConformanceVerBandPosX的值。conformance_exclusion_ver_band_pos_x可以在1至PicWidthInCtbsY-1(包含)的范围内。
垂直排除带的左侧边界的位置PpsConformanceVerBandPosX导出如下:
PpsConformanceVerBandPosX=conformance_exclusion_ver_band_pos_x*CtbSizeY–(conformance_exclusion_ver_band_width_minus1+1)
conformance_exclusion_hor_band_flag等于1指示PPS中存在conformance_exclusion_hor_band_height_minus1和conformance_exclusion_hor_band_pos_y,其指定水平一致性排除带。conformance_exclusion_band_flag等于0指示PPS中不存在conformance_exclusion_hor_band_height_minus1和conformance_exclusion_hor_band_pos_y。
conformance_exclusion_hor_band_height_minus1加1指定以亮度样本的水平一致性排除带的高度,并且用于计算PpsConformanceHorBandPosY。PpsConformanceHorBandPosY指定水平一致性排除带的顶部边界的位置。conformance_exclusion_hor_band_height_minus1可以在0至CtbSizeY-2的范围内。
conformance_exclusion_hor_band_pos_y用于计算PpsConformanceHorBandPosY的值。conformance_exclusion_hor_band_pos_y可以在1至PicHeightInCtbsY-1(包含)的范围内。
水平排除带的顶部边界的位置PpsConformanceHorBandPosY导出如下:
PpsConformanceHorBandPosY=conformance_exclusion_hor_band_pos_y*CtbSizeY–(conformance_exclusion_hor_band_height_minus1+1)
在变型中,排除带的宽度、高度和坐标以色度样本表达。以亮度样本的这些值是通过将色度样本中表达的值乘以SubWidthC及SubHeightC而获得。SubWidthC和SubHeightC分别表示亮度分量与色度分量之间的水平和垂直采样比。例如,当色度格式为4:2:0时,SubWidthC和SubHeightC等于2。在另一变型中,排除带的宽度、高度和坐标以最小CTB大小单位表达以进一步减小句法元素的长度。
在另一实施例中,排除带的宽度和高度大于CTB。这允许将两个连续的像素排除带合并成单个排除带。例如,当两个相邻子图片定义两组相邻的非一致性像素时。这允许更紧凑地描述排除带。
在另一实施例中,推断垂直一致性排除带的数量和水平一致性排除带的数量分别等于垂直拆分推断边界和水平拆分推断边界的数量。
在另一实施例中,推断垂直和水平一致性排除带的位置分别等于垂直拆分推断边界和水平拆分推断边界的位置。
在另一实施例中,推断给定垂直一致性排除带的宽度等于相同位置处的垂直拆分推断边界与最近的右侧CTB边界之间的像素数量。这同样适用于具有水平拆分推断边界的水平排除带。
在另一实施例中,从子图分区中推导出子图拆分推断。从一致性窗口排除的像素被推断对应于不与CTB边界对齐的子图片的右侧(相应地,底部)边界和这些CTB的右侧(相应地,底部)边界之间的区域。
在变型中,这些区域被分组在不同的子图片中。在这种情况下,这些子图片的宽度或高度小于CTB大小。因此,可以将这些非一致性子图片与特定索引相关联。SPS或PPS可以提供不一致且应从一致性窗口排除的子图片索引的列表。在另一实施例中,从一致性窗口排除的带的数量及其大小是从推断拆分边界位置确定的。
在另一替代方案中,从一致性窗口排除的带的数量及其大小是根据推断拆分边界位置确定的。
一致性裁剪窗口包含亮度样本,所述亮度样本具有从SubWidthC*conf_win_left_offset到pic_width_in_luma_samples-(SubWidthC*conf_win_right_offset+1)的水平图片坐标以及从SubHeightC*conf_win_top_offset到pic_height_in_luma_samples-(SubHeightC*conf_win_bottom_offset+1)(包含)的垂直图片坐标。
另外,具有从PpsConformanceVerBandPosX[i]到PpsConformanceVerBandPosX[i]+conformance_exclusion_ver_band_width_minus1[i]+1的水平图片坐标的亮度样本从一致性窗口中排除,其中i在0至num_ver_conformance_exclusion_bands的范围内。
另外,具有从PpsConformanceHorBandPosY[i]到PpsConformanceHorBandPosY[i]+conformance_exclusion_hor_band_height_minus1[i]+1的垂直图片坐标的亮度样本从一致性窗口中排除,其中i在0至num_ver_conformance_exclusion_bands的范围内。
裁剪处理之后图片的宽度和高度对应于如下导出的变量PicOutputWidthL和PicOutputHeightL:该图片的宽度(相应地,高度)等于裁剪窗口宽度(相应地,高度)减去像素排除带的宽度(相应地,高度),这对应于以下伪代码:
Figure BDA0003550663360000411
在实施例中,可以在合并操作中位移的图片及其子图片是在两个方向上具有CTB大小的倍数的大小的约束。通常,当尚未遵守该约束时,可以通过用填充像素扩展输入图片来完成。因此,不存在要使用的推断边界机制。该约束在位流中用信号通知。例如,可以使用标志来指示子图片受到该约束,并且因此可以自由地合并子图片,并且在任何位置处在所得到的图像中位移子图片而没有任何边界问题。为了确保子图片可以自由地合并,附加约束与标志相关联,即子图片是可独立解码的。该标志可以被定义为应用于图像中的所有子图片,或者可以在子图片级别被定义为指示相关联的子图片可以被自由地合并。在一个实施例中,指示图像及其子图片的大小是CTB大小的倍数的标志是在序列参数集中定义的,并且对于序列的所有子图片是有效的。
在一些实施例中,可以在子图片级别(例如在SEI消息中)定义一致性窗口。
在一个实施例中,SPS的句法被改变为包含指示位流的子图片的编码是否约束编码工具和视频序列特性以允许合并操作的一个附加标志。当被设置时,该标志将子图片约束为可独立解码或不可独立解码。句法可以如下:
Figure BDA0003550663360000421
Figure BDA0003550663360000431
例如,元素的语义如下:
subpic_mergeable_flag等于1指示图片的所有子图片被约束用于合并操作。subpic_mergeable_flag等于0指示子图片可能受约束或可能不受约束。
pic_width_max_in_luma_samples指定参考SPS的各经解码图片的最大宽度(以亮度样本为单位)。pic_width_max_in_luma_samples不应等于0且应为Max(8,MinCbSizeY)的整数倍。当subpic_mergeable_flag等于1时,pic_width_max_in_luma_samples应为CtbSizeY的整数倍。因此,当子图片被约束用于合并操作(subpic_mergeable_flag等于1)时,当图片的原始宽度不是CTB大小的倍数时,经编码图片被约束为使用填充。
pic_height_max_in_luma_samples指定参考SPS的各经解码图片的最大高度(以亮度样本为单位)。pic_height_max_in_luma_samples不应等于0且应为Max(8,MinCbSizeY)的整数倍。当subpic_mergeable_flag_mergeable_flag等于1时,pic_height_max_in_luma_samples应为CtbSizeY的整数倍。因此,在子图片被约束用于合并操作(subpic_mergeable_flag等于1)的情况下,当图片的原始高度不是CTB大小的倍数时,经编码图片被约束为使用填充。
在该实施例中,可以约束PPS的一些元素的语义,以确保当子图片被约束用于合并操作时,参考PPS的各图片具有CTB大小的倍数的图片大小。例如,pic_width_in_luma_samples和pic_height_in_luma_samples的语义如下:
pic_width_in_luma_samples指定参考PPS的各解码图片的宽度(以亮度样本为单位)。pic_width_in_luma_samples不应等于0,应为Max(8,MinCbSizeY)的整数倍,并且应小于或等于pic_width_max_in_luma_samples。当subpic_mergeable_flag等于1(例如在具有在PPS中用信号通知的标识符的SPS中)时,pic_width_in_luma_samples应为CtbSizeY的整数倍。
pic_height_in_luma_samples指定参考PPS的各解码图片的高度(以亮度样本为单位)。pic_height_in_luma_samples不应等于0且应为Max(8,MinCbSizeY)的整数倍,并且应小于或等于pic_height_max_in_luma_samples。当subpic_mergeable_flag等于1时,pic_height_in_luma_samples应为CtbSizeY的整数倍。
对图片的该第一组约束确保当subpic_mergeable_flag等于1时,对于合并流的图片中的子图片,任何合并位置都是可以的。编码器可以必须使用填充数据来使图片的宽度和高度都是CTB大小的倍数。编码器可以通过在位流中定义一致性窗口而用信号通知具有填充数据的区域。通常,可以在SEI消息中定义针对各子图片的一个一致性窗口。
在另一实施例中,当子图片被约束用于合并操作(subpic_mergeable_flag等于1)时,可合并标志还约束参数集NAL单元中描述的所有子图片的各子图片内的时间预测机制。
例如,subpic_treated_as_pic_flag[i]等于1指定CLVS中的各经编码图片的第i个子图片在除环内滤波操作之外的解码处理中被视为图片。subpic_treated_as_pic_flag[i]等于0指定CLVS中的各编码图片的第i个子图片在除环内滤波操作之外的解码处理中不被视为图片。当不存在时,推断subpic_treated_as_pic_flag[i]的值等于subpic_mergeable_flag。因此,当子图片被约束用于合并操作(subpic_mergeable_flag等于1)时,subpic_treated_as_pic_flag[i]句法元素不存在于参数集NAL单元中并且被推断等于1,这指示子图片的时间预测被约束到各子图片边界。否则,时间预测可以受约束或可以不受约束。
在另一实施例中,当子图片被约束用于合并操作(subpic_mergeable_flag等于1)时,跨越参数集NAL单元中描述的所有子图片的子图片边界,禁用环路滤波器机制。例如,loop_filter_across_subpic_enabled_flag[i]等于1指定可以跨越CLVS中的各经编码图片中的第i个子图片的边界进行环内滤波操作。loop_filter_across_subpic_enabled_flag[i]等于0指定不跨越CLVS中的各编码图片中的第i个子图片的边界进行环内滤波操作。当不存在时,推断loop_filter_across_subpic_enabled_pic_flag[i]的值等于!subpic_mergeable_flag。因此,当子图片被约束用于合并操作(subpic_mergeable_flag等于1)时,loop_filter_across_subpic_enabled_pic_flag[i]句法元素不存在于参数集NAL单元中,并且推断等于0,这指示环路滤波器被约束为不跨越子图片边界启用。否则,环路滤波器可以受约束或可以不受约束。
在一些实施例中,可以仅在一些时间间隔上提供空间访问。所提出的标志可以相应地在PPS中或甚至在图片头部中定义。图片头部是对在图片级别处定义且适用于图片的所有条带的某句法元素进行定义的非VCL NAL单元。
在另一实施例中,子图片的用信号通知将子图片的标识符与子图片索引相关联。该标识符对于给定的子图片是唯一的,并且简化了合并操作,这是因为当在合并操作之后将子图片移动到新位置时,允许避免在条带头部中重写子图片索引。出于该原因,当子图片被约束用于合并操作时,非VCL NAL单元之一可以在位流中用信号通知子图片标识符。
通常,子图片标识符可以存在于SPS、PPS或图片头部中。具体地,sps_subpic_id_present_flag是SPS的标志,当等于1时指示位流中存在子图片标识符。该句法元素的语义例如如下:
sps_subpic_id_present_flag等于1指定SPS中存在子图片ID映射。sps_subpic_id_present_flag等于0指定SPS中不存在子图片ID映射。当subpic_mergeable_flag等于1时,sps_subpic_id_present_flag必须等于1。结果,当子图片被约束用于合并操作时,在位流中提供子图片标识符的用信号通知。在变型中,当subpic_mergeable_flag等于1时,sps_subpic_id_present_flag不存在于SPS中并且被推断等于1。SPS的相应句法可以包含以下句法元素:
Figure BDA0003550663360000451
Figure BDA0003550663360000461
在另一实施例中,图片头部中子图片标识符的存在可能使合并操作更复杂。实际上,当在图片头部中进行标识符的用信号通知时,覆盖在参数集NAL单元中进行的子图片标识符的映射。由于针对各帧发送不同的图片头部,因此在各图片处存在映射改变的可能性。结果,典型的合并操作需要检查图片头部是否修改子图片标识符映射。为了避免这种检查操作,当子图片被约束用于合并操作时,禁用图片头部中的标识符的映射。利用ph_subpic_id_signalling_present_flag句法元素来控制图片头部中子图片标识符映射的存在。在该实施例中,ph_subpic_id_signalling_present_flag的语义如下:
ph_subpic_id_signalling_present_flag等于1指定在PH中用信号通知子图片ID映射。ph_subpic_id_signalling_present_flag等于0指定不在PH中用信号通知子图片ID映射。当subpic_mergeable_flag等于1时,ph_subpic_id_signalling_present_flag必须等于0。在变型中,当subpic_mergeable_flag等于1时,ph_subpic_id_signalling_present_flag不存在于图片头部中并且被推断等于0。
PPS还可以用信号通知子图片标识符的映射。对于图片头部,需要检查两个PPSNAL单元之间的映射是否改变。该附加检查增加了合并操作的复杂性。因此,在一个实施例中,当子图片被约束用于合并操作时,子图片被约束为在subpic_mergeable_flag等于1的各个和每个PPS中是相同的。PPS的pps_subpic_id[i]句法元素指定对应于子图片标识符与子图片索引的映射的第i个子图片的子图片ID(或标识符)。当subpic_mergeable_flag等于1时,参考相同SPS的所有PPS应具有pps_subpic_id[i]的相同值,其中i在0至pps_num_subpics_minus1(包含)的范围内。
在另一实施例中,指示子图片被约束用于合并操作的信息对应于VVC规范的特定档次(profile)。典型地,general_profile_idc句法元素的特定值(例如,3)指示输出层符合用于子图片合并操作的档次。在变型中,指示子图片被约束用于合并操作的信息对应于子档次。在该情况下,general_sub_profile_idc[i]的特定值(例如,3)指示位流被约束用于子图片合并操作。
VVC的一般受约束信息结构由档次(profile)、等级(tier)和级别(level)信息中描述的标志设置,这使得可以禁用一个或多于一个编码工具。在一个实施例中,一般受约束信息结构包括以下句法元素中的任何一个:
-no_dependent_subpicture_flag句法元素,当等于1时指定对于任何i值,subpic_treated_as_pic_flag[i]应等于1。no_dependent_subpicture_flag等于0不施加这样的约束。在变型中,当等于1时,指定对于任何i值,subpic_treated_as_pic_flag[i]和loop_filter_across_subpic_enabled_flag[i]应等于1。
-no_picture_header_subpicture_id_mapping句法元素,当等于1时指定所有图片头部NAL单元应使ph_subpic_id_signalling_present_flag等于0。no_picture_header_subpicture_id_mapping等于0,不施加这样的约束。
-no_pps_subpicture_id_mapping_change句法元素,当等于1时指定所有PPS NAL单元对于任何i值应具有相等的pps_subpic_id[i]值。no_pps_subpicture_id_mapping_change等于0不施加这样的约束。
在实施例中,提出SEI消息来处理需要解码后裁剪操作的图片内区域。这可能导致例如位流提取和合并操作,其中最初位于图片的右侧边界或底部边界的一些子图片包含填充数据。该SEI向解码器指示用于至少一些子图片的一致性窗口,所述子图片定义包含填充或者内容创建者认为应该在要显示的图像上移除的甚至不可靠或无用数据的图片区域。
SEI可以提供以下句法,例如:
Figure BDA0003550663360000471
Figure BDA0003550663360000481
具有以下语义:
subpic_conf_win_cancel_flag等于1指示SEI消息取消应用于当前层的按输出顺序的任何先前子图片一致性窗口SEI消息的持久性。subpic_conf_win_cancel_flag等于0指示跟随有子图片一致性窗口信息。
subpic_conf_win_num_subpics_minus1加1指定存在于SEI消息中的子图片一致性窗口的数量。该值是图像中存在的子图片的数量的函数。典型地,要求subpic_conf_win_num_subpics_minus1的值应等于sps_num_subpics_minus1,以允许定义针对各子图片的一致性窗口。
subpic_conf_win_left_offset[i]、subpic_conf_win_right_offset[i]、subpic_conf_win_top_offset[i]和subpic_conf_win_bottom_offset[i]指定从解码处理输出的在CLV中的图片的第i个子图片的样本(就相对于如SPS NAL单元中所描述的第i个子图片的原点的、针对输出的图片坐标中指定的矩形区域而言)。
第i个子图片的子图片一致性裁剪窗口包含具有从SubPictureLuma_X[i]+SubWidthC*conf_win_left_offset到SubPictureLuma_X[i]+SubPictureLuma_Width[i]-(SubWidthC*subpic_conf_win_right_offset[i]+1)的水平图片坐标以及从SubPictureLuma_Y[i]+SubHeightC*subpic_conf_win_top_offset[i]到SubPictureLuma_Y[i]+SubPictureLuma_Height[i]-(SubHeightC*subpic_conf_win_bottom_offset[i]+1)(包含)的垂直图片坐标的亮度样本。其中SubPictureLuma_X[i]和SubPictureLuma_Y[i]指定第i个子图片中的第一像素的水平和垂直图片坐标,并且SubPictureLuma_Width[i]和SubPictureLuma_Height[i]指定SPS中描述的第i个子图片的以亮度样本的宽度和高度。例如,这些变量计算如下:
SubPictureLuma_X[i]=subpic_ctu_top_left_x[i]*CtbSizeY
SubPictureLuma_Y[i]=subpic_ctu_top_left_y[i]*CtbSizeY
SubPictureLuma_Width[i]=(subpic_width_minus1[i]+1)*CtbSizeY
SubPictureLuma_Height[i]=(subpic_height_minus1[i]+1)*CtbSizeY
在一些情况下,仅子图片的子集(典型地,具有填充数据的子图片)需要一致性窗口。在这种情况下,新句法元素针对各子图片指示是否用信号通知一致性窗口。例如,各子图片上的“for”循环指定针对子图片中描述的第i个子图片的subpic_conf_win_signalled_flag[i]句法元素。当等于1时,存在偏移参数,并且针对子图片指定一致性窗口。否则,subpic_conf_win_signalled_flag[i]等于0,不针对第i个子图片用信号通知一致性,并且偏移参数不存在且推断等于0。在变型中,SEI消息中描述的子图片一致性窗口的数量不同于图片中的子图片的数量,并且对于在SEI中用信号通知的各用信号通知的子图片一致性窗口,图片中的一个或多于一个子图片索引的列表与子图片一致性窗口的索引相关联。该索引列表指示使用子图片一致性窗口的子图片。例如,SEI消息的for循环指示subpic_conf_win_num_subpics_minus1[i]句法元素,其是与SEI消息的第i个子图片一致性窗口相关联的子图片索引的数量减1。接着,针对在0至subpic_conf_win_num_subpics_minus1[i](包含)的范围内的j的处理循环定义subpic_conf_win_subpic_index[i][j]句法元素。subpic_conf_win_subpic_index[i][j]指定使用第i个子图片一致性窗口的子图片的第j索引。在变型中,SEI消息可以定义子图片标识符来代替子图片索引。在该情况下,子图片标识符的位长度可选地在SEI消息中描述。
图12是用于实现本发明的一个或多个实施例的计算装置120的示意性框图。计算装置120可以是诸如微计算机、工作站或轻型便携式装置等的装置。
计算装置120包括通信总线,该通信总线连接到:
-标记为CPU的中央处理单元121,诸如微处理器等;
-标记为RAM的随机存取存储器122,用于存储本发明实施例的方法的可执行代码以及适于记录变量和参数的寄存器,该变量和参数是用于实现根据本发明的实施例的方法所必需的,该随机存取存储器的存储器容量可以例如通过连接到扩展端口的可选RAM来扩展;
-标记为ROM的只读存储器123,用于存储用于实施本发明实施例的计算机程序;
-网络接口124,其通常连接到通信网络,通过该通信网络来发送或接收要处理的数字数据。网络接口124可以是单个网络接口,或者由不同的网络接口(例如,有线和无线接口,或者不同种类的有线或无线接口)的集合构成。在CPU 121中所运行的软件应用的控制下,将数据包写入网络接口以用于发送,或者从网络接口读取数据包以用于接收;
-用户接口125,其可以用于从用户接收输入或向用户显示信息;
-标记为HD的硬盘126,其可以设置为大存储装置;
-I/O模块127,其可以用于从/向外部装置(诸如,视频源或显示器等)接收/发送数据。
可执行代码既可以存储在只读存储器123中,可以存储在硬盘126上,也可以存储在可移动数字介质(例如,盘)上。根据变体,可以借助于通信网络经由网络接口124来接收程序的可执行代码,以使程序的可执行代码在被执行之前存储在通信装置120的存储部件(诸如,硬盘126等)其中之一中。
中央处理单元121适于控制和指导根据本发明实施例的一个或多个程序的指令或部分软件代码的执行,这些指令存储在前述存储部件其中之一中。在接通电源之后,CPU121能够在例如从程序ROM 123或硬盘(HD)126加载了与软件应用有关的来自主RAM存储器122的指令之后执行这些指令。这样的软件应用在由CPU 121执行时,使得进行本发明的流程图的步骤。
本发明的算法的任何步骤可以通过由可编程计算机器(诸如PC(“个人计算机”)、DSP(“数字信号处理器”)或微控制器等)执行指令或程序集而在软件中实现;或者通过机器或专用组件(诸如FPGA(“现场可编程门阵列”)或ASIC(“专用集成电路”)等)在硬件中实现。
尽管以上已经参考具体实施例描述了本发明,但是本发明不限于具体实施例,并且对本领域技术人员来说,在本发明的范围内的修改将是明显的。
在参考前述说明性实施例时本领域技术人员将想到许多进一步的修改和变形建议,这些实施例仅作为示例给出并且不意在限制本发明的范围,该范围仅由所附权利要求确定。特别地,在适当的情况下,可以互换来自不同实施例的不同特征。
上述本发明的各实施例可以单独实现或实现为多个实施例的组合实现。此外,来自不同实施例的特征可以在必要时组合或者来自单独实施例的元素或特征的组合在单个实施例中是有益的情况下组合。
在本说明书(包括任何所附权利要求、摘要和附图)中公开的各个特征可以由用于相同、等效或相似目的的替代特征替换,除非另有明确规定。因此,除非另有明确规定,否则所公开的各个特征仅是通用系列的等效或相似特征的一个示例。
在权利要求中,“包括”一词不排除其他元素或步骤,并且不定冠词“a”或“an”不排除复数。仅仅在相互不同的从属权利要求中限定不同特征的这一事实并不指示不能有利地使用这些特征的组合。

Claims (40)

1.一种将包括图片的视频数据编码到位流中的方法,图片被分割成子图片,所述方法包括:针对至少一个子图片,
在所述位流中对如下的信息进行编码,该信息指示所述图片具有作为编码树块的大小的倍数的大小并且所述子图片是能够独立解码的;
将构成所述子图片的编码树块编码到所述位流中。
2.根据权利要求1所述的方法,其中,所述信息与所有子图片相关。
3.根据权利要求1或2所述的方法,其中,所述信息是在序列参数集中定义的,所述序列参数集是包含应用于所述位流的图片的句法元素的句法结构。
4.根据权利要求1至3中任一项所述的方法,其中,子图片进一步利用子图片标识符来识别。
5.根据权利要求4所述的方法,其中,禁止在图片头部中定义所述子图片标识符。
6.根据权利要求4所述的方法,其中,在图片参数集中定义的子图片标识符必须在所有图片参数集中相同。
7.根据权利要求1所述的方法,其中,所述信息与特定档次相关联。
8.一种将包括图片的视频数据编码到位流中的方法,图片被分割成子图片,所述方法包括:针对至少一个子图片,
在所述位流中对指示所述子图片的一致性窗口的信息进行编码;
将构成所述子图片的编码树块编码到所述位流中。
9.根据权利要求8所述的方法,其中,指示一致性窗口的所述信息是在SEI消息中定义的。
10.根据权利要求8或9所述的方法,其中,所述信息针对所述子图片定义左偏移、右偏移、上偏移和下偏移。
11.一种将包括图片的视频数据编码到位流中的方法,图片被分割成子图片,所述方法包括:针对至少一个子图片,
在所述位流中对第一信息进行编码,所述第一信息指示所述子图片具有作为编码树块的大小的倍数的大小并且所述子图片是能够独立解码的;
在所述位流中对指示所述子图片的一致性窗口的第二信息进行编码;
将构成所述子图片的编码树块编码到所述位流中。
12.一种用于可编程设备的计算机程序产品,所述计算机程序产品包括指令序列,所述指令序列在被加载到所述可编程设备中并且被所述可编程设备执行时用于实现根据权利要求1至11中任一项所述的方法。
13.一种计算机可读存储介质,其存储用于实现根据权利要求1至11中任一项所述的方法的计算机程序的指令。
14.一种计算机程序,其在执行时使得进行根据权利要求1至11中任一项所述的方法。
15.一种将包括图片的视频数据编码到位流中的装置,图片被分割成子图片,所述装置包括处理器,所述处理器被配置为针对至少一个子图片执行:
在所述位流中对如下的信息进行编码,该信息指示所述子图片具有作为编码树块的大小的倍数的大小并且所述子图片是能够独立解码的;
将构成所述子图片的编码树块编码到所述位流中。
16.一种将包括图片的视频数据编码到位流中的装置,图片被分割成子图片,所述装置包括处理器,所述处理器被配置为针对至少一个子图片执行:
在所述位流中对指示所述子图片的一致性窗口的信息进行编码;
将构成所述子图片的编码树块编码到所述位流中。
17.一种将包括图片的视频数据编码到位流中的装置,图片被分割成子图片,所述装置包括处理器,所述处理器被配置为针对至少一个子图片执行:
在所述位流中对第一信息进行编码,所述第一信息指示所述子图片具有作为编码树块的大小的倍数的大小并且所述子图片是能够独立解码的;
在所述位流中对指示所述子图片的一致性窗口的第二信息进行编码;
将构成所述子图片的编码树块编码到所述位流中。
18.一种将包括图片的视频数据编码到位流中的方法,图片被分割成子图片,所述方法包括:针对至少一个子图片,
在所述位流中对指示所述子图片的拆分推断边界的位置的信息进行编码;
将构成所述子图片的编码树块编码到所述位流中。
19.一种将包括图片的视频数据编码到位流中的方法,图片被分割成子图片,所述方法包括:针对至少一个子图片,
基于所述子图片的大小和用于对所述图片进行编码的编码树块的大小,确定所述子图片是否需要拆分推断处理;
在所述位流中对指示所述确定的步骤的结果的标志进行编码;
在经编码的标志为真的情况下,进行根据权利要求18所述的方法。
20.根据权利要求18或19所述的方法,其中,指示所述子图片的拆分推断边界的位置的信息包括:
所述子图片的编码树块的最右列中的编码树块的实际宽度;以及/或者所述子图片的编码树块的最底行中的编码树块的实际高度。
21.根据权利要求18至20中任一项所述的方法,其中,指示所述子图片的拆分推断边界的位置的信息被表达为编码树块的最小编码块的大小的整数倍。
22.根据权利要求18至21中任一项所述的方法,其中,拆分推断边界将所述子图片分割成有用部分和其他部分,不对所述子图片的该其他部分的编码块进行编码。
23.根据权利要求18至21中任一项所述的方法,其中,所述拆分推断边界将所述子图片分割成有用部分和其他部分,利用填充数据对所述子图片的该其他部分的编码块进行编码。
24.根据权利要求18至21中任一项所述的方法,其中,所述拆分推断边界将所述子图片分割成有用部分和其他部分,指示是否利用填充数据对所述子图片的该其他部分的编码块进行编码的标志被编码到所述位流中。
25.根据权利要求18至24中任一项所述的方法,其中,确定所述子图片是否需要拆分推断处理是提供图片宽拆分推断边界的约束。
26.根据权利要求25所述的方法,其中,指示所述拆分推断边界的位置的信息是在所述位流中在图片级别编码的。
27.根据权利要求26所述的方法,其中,指示所述拆分推断边界的位置的信息包括:
水平拆分推断边界的数量的指示;以及/或者
垂直拆分推断边界的数量的指示;以及
针对所述拆分推断边界中的各拆分推断边界的、该拆分推断边界的位置的指示。
28.根据权利要求26所述的方法,其中,指示所述拆分推断边界的位置的信息包括所述垂直拆分推断边界的宽度或者所述水平拆分推断边界的高度。
29.根据权利要求18所述的方法,其中,指示所述拆分推断边界的位置的信息包括子图片的一致性窗口。
30.根据权利要求25所述的方法,其中:
所述图片宽拆分推断边界定义像素的未确定带;
指示所述拆分推断边界的位置的信息包括用于像素的该未确定带的指示的一致性窗口。
31.根据权利要求19至30中任一项所述的方法,其中,指示所述确定的步骤的结果的标志和指示所述拆分推断边界的位置的信息被编码在所述位流的参数集逻辑单元中。
32.一种将包括图片的视频数据解码成位流的方法,图片被分割成子图片,所述方法包括:针对至少一个子图片,
基于所述位流中的指示拆分推断边界的位置的信息,确定所述拆分推断边界的位置;
通过在需要的情况下应用拆分推断处理,对构成所述子图片的编码树块进行解码。
33.根据权利要求32所述的方法,其中,所述方法包括:针对各子图片,
基于所述位流中的标志,确定所述子图片是否需要拆分推断处理;
在需要拆分推断处理的情况下,基于所述位流中的指示所述拆分推断边界的位置的信息来确定所述拆分推断边界的位置;
通过在需要的情况下应用所述拆分推断处理,对构成所述子图片的编码树块进行解码。
34.根据权利要求33所述的方法,其中,所述方法包括:
子图片的所述拆分推断边界定义未确定像素的带,将所述未确定像素的值设置为0。
35.根据权利要求33所述的方法,其中,所述方法包括:
子图片的所述拆分推断边界定义未确定像素的带,移位相邻子图片以抑制所述未确定像素的带。
36.一种用于可编程设备的计算机程序产品,所述计算机程序产品包括指令序列,所述指令序列在被加载到所述可编程设备中并且被所述可编程设备执行时用于实现根据权利要求18至35中任一项所述的方法。
37.一种计算机可读存储介质,其存储用于实现根据权利要求18至35中任一项所述的方法的计算机程序的指令。
38.一种计算机程序,其在执行时使得进行根据权利要求18至35中任一项所述的方法。
39.一种将包括图片的视频数据编码到位流中的装置,图片被分割成子图片,所述装置包括处理器,所述处理器被配置为针对至少一个子图片执行:
在所述位流中对如下的信息进行编码,该信息指示所述子图片的拆分推断边界的位置的信息;
将构成所述子图片的编码树块编码到所述位流中。
40.一种将包括图片的视频数据解码成位流的装置,图片被分割成子图片,所述装置包括处理器,所述处理器被配置为针对至少一个子图片执行:
基于所述位流中的指示拆分推断边界的位置的信息,确定所述拆分推断边界的位置。
通过在需要的情况下应用拆分推断处理,对构成所述子图片的编码树块进行解码。
CN202080065219.3A 2019-09-17 2020-09-07 利用子图片来编码和解码视频流的方法和设备 Pending CN114556936A (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
GB1913403.0 2019-09-17
GB201913403A GB201913403D0 (en) 2019-09-17 2019-09-17 Method and apparatus for encoding and decoding a video stream with subpictures
GB1913976.5A GB2587243A (en) 2019-09-17 2019-09-27 Method and apparatus for encoding and decoding a video stream with subpictures
GB1913976.5 2019-09-27
GB1918661.8 2019-12-17
GB1918661.8A GB2587244B (en) 2019-09-17 2019-12-17 Method and apparatus for encoding and decoding a video stream with subpictures
PCT/EP2020/074912 WO2021052794A1 (en) 2019-09-17 2020-09-07 Method and apparatus for encoding and decoding a video stream with subpictures

Publications (1)

Publication Number Publication Date
CN114556936A true CN114556936A (zh) 2022-05-27

Family

ID=68315233

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080065219.3A Pending CN114556936A (zh) 2019-09-17 2020-09-07 利用子图片来编码和解码视频流的方法和设备

Country Status (7)

Country Link
US (1) US20220329792A1 (zh)
EP (1) EP4032279A1 (zh)
JP (1) JP2022546893A (zh)
KR (1) KR20220058623A (zh)
CN (1) CN114556936A (zh)
GB (4) GB201913403D0 (zh)
WO (1) WO2021052794A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021063421A1 (en) 2019-10-02 2021-04-08 Beijing Bytedance Network Technology Co., Ltd. Syntax for subpicture signaling in a video bitstream
WO2021073631A1 (en) 2019-10-18 2021-04-22 Beijing Bytedance Network Technology Co., Ltd. Interplay between subpictures and in-loop filtering
JP7372465B2 (ja) * 2020-02-11 2023-10-31 ホアウェイ・テクノロジーズ・カンパニー・リミテッド シーケンスパラメータセット内でのサブピクチャのシグナリングのためのエンコーダ、デコーダ、および対応する方法
WO2021160175A1 (en) 2020-02-14 2021-08-19 Beijing Bytedance Network Technology Co., Ltd. Sub-bitstream extraction process in video coding
EP4115611A4 (en) * 2020-03-30 2023-06-28 ByteDance Inc. Slice type in video coding
EP4068788A1 (en) * 2021-03-31 2022-10-05 Panasonic Intellectual Property Corporation of America Encoder, decoder, encoding method, and decoding method
US20230007305A1 (en) * 2021-06-28 2023-01-05 Tencent America LLC Subpicture partitioning and scaling window information
EP4254949A1 (en) * 2022-03-31 2023-10-04 Beijing Xiaomi Mobile Software Co., Ltd. Encoding/decoding video picture partitionned in ctu grids
EP4254950A1 (en) * 2022-03-31 2023-10-04 Beijing Xiaomi Mobile Software Co., Ltd. Encoding/decoding video picture partitionned in ctu grids
EP4254948A1 (en) * 2022-03-31 2023-10-04 Beijing Xiaomi Mobile Software Co., Ltd. Encoding/decoding video picture partitionned in ctu grids
EP4351133A1 (en) * 2022-10-07 2024-04-10 Beijing Xiaomi Mobile Software Co., Ltd. Encoding/decoding video picture data

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105284114A (zh) * 2013-07-07 2016-01-27 韦勒斯标准与技术协会公司 视频信号处理方法及装置
US10171823B2 (en) * 2014-05-26 2019-01-01 Sharp Kabushiki Kaisha Image decoding device and image coding device
US11297349B2 (en) * 2017-05-31 2022-04-05 Sharp Kabushiki Kaisha Video decoding device and video encoding device
US20190246122A1 (en) * 2018-02-08 2019-08-08 Qualcomm Incorporated Palette coding for video coding
BR112021021344A2 (pt) * 2019-04-25 2022-01-18 Op Solutions Llc Candidatos em quadros com movimento global

Also Published As

Publication number Publication date
KR20220058623A (ko) 2022-05-09
WO2021052794A1 (en) 2021-03-25
GB2587243A (en) 2021-03-24
GB201918661D0 (en) 2020-01-29
GB2587244B (en) 2023-09-27
GB2619180A (en) 2023-11-29
JP2022546893A (ja) 2022-11-10
GB202312302D0 (en) 2023-09-27
EP4032279A1 (en) 2022-07-27
GB201913976D0 (en) 2019-11-13
GB201913403D0 (en) 2019-10-30
US20220329792A1 (en) 2022-10-13
GB2587244A (en) 2021-03-24

Similar Documents

Publication Publication Date Title
CN114556936A (zh) 利用子图片来编码和解码视频流的方法和设备
JP7126329B2 (ja) パーティション符号化を用いた有効な予測
CN114584770B (zh) 视频译码中的子图像布局指示
US20210203989A1 (en) Attribute Layers And Signaling In Point Cloud Coding
JP6501808B2 (ja) 高い分割自由度を伴う効果的なパーティション符号化
US10499053B2 (en) Method of improved directional intra prediction for video coding
US20220217355A1 (en) Method and apparatus for encoding and decoding a video bitstream for merging regions of interest
KR20210147096A (ko) 효율적인 확장가능한 코딩 개념
WO2020178065A1 (en) Method and apparatus for encoding and decoding a video bitstream for merging regions of interest
JP7421600B2 (ja) フレーム部分を有するビデオデータを符号化又は復号する方法及び装置
CN114846791A (zh) 支持子图片、条带和区块的视频编码
CN113366855A (zh) 基于条件的非对称四叉树分割
JP2023024970A (ja) ビデオエンコーディングおよびデコーディングにおける改善されたタイルアドレスシグナリング
WO2020178144A1 (en) Method and apparatus for encoding and decoding a video bitstream for merging regions of interest
JP2022546898A (ja) ビデオ画像処理方法、装置、および記憶媒体
GB2584723A (en) Method, device, and computer program for coding and decoding a picture

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination