CN113273196A - 视频译码中的分块组指示 - Google Patents

视频译码中的分块组指示 Download PDF

Info

Publication number
CN113273196A
CN113273196A CN201980086865.5A CN201980086865A CN113273196A CN 113273196 A CN113273196 A CN 113273196A CN 201980086865 A CN201980086865 A CN 201980086865A CN 113273196 A CN113273196 A CN 113273196A
Authority
CN
China
Prior art keywords
block
tile
group
processor
flag
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
CN201980086865.5A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN113273196A publication Critical patent/CN113273196A/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/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/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/172Methods 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 picture, frame or field
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of 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/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/184Methods 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 bits, e.g. of the compressed video stream
    • 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
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供一种对视频码流进行解码的方法。所述码流包括至少一个图像的译码数据,每个图像包括至少一个分块组。所述方法包括解析标志,所述标志表示译码图像的分块信息是存在于参数集合还是分块组标头中。所述分块信息表示所述图像的包括在所述分块组中的分块。所述方法根据所述标志从所述参数集合或所述分块组标头解析所述分块信息。所述方法根据所述分块信息获取所述译码图像的经解码数据。

Description

视频译码中的分块组指示
相关申请案交叉申请
本专利申请要求FNU Hendry等人于2018年12月27日提交的第62/785,517号、发明名称为“视频译码中的分块组指示(Tile Group Signaling in Video Coding)”的美国临时专利申请以及FNU Hendry等人于2019年7月5日提交的第62/871,024号、发明名称为“视频译码中的分块组指示(Tile Group Signaling in Video Coding)”的美国临时专利申请的权益,其全部内容通过引用的方式并入本文中。
技术领域
本公开大体上涉及视频译码,具体地,涉及视频译码中的分块组指示。
背景技术
即使在视频较短的情况下也需要对大量的视频数据进行描述,当数据要在带宽容量受限的通信网络中发送或以其它方式发送时,这样可能会造成困难。因此,视频数据通常要先压缩然后在现代电信网络中发送。由于内存资源可能有限,当在存储设备中存储视频时,视频的大小也可能成为问题。视频压缩设备通常在信源侧使用软件和/或硬件,以在发送或存储之前对视频数据进行译码,从而减少用来表示数字视频图像所需的数据量。然后,压缩数据在目的侧由用于对视频数据进行解码的视频解压缩设备接收。在有限的网络资源以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术在几乎不影响图像质量的情况下能够提高压缩比。
发明内容
本发明的第一方面包括一种在编码器中实现的方法,所述方法包括:所述编码器的处理器对表示译码图像的分块信息是存在于参数集合还是分块组标头中的标志进行编码,其中,所述分块信息指示所述图像中的包括在分块组中的分块;在确定所述标志表示已将译码图像的分块信息编码在所述参数集合中之后,所述处理器将所述分块信息仅编码在所述参数集合中;在确定所述标志表示已将译码图像的分块信息编码在所述分块组标头中之后,所述处理器将所述分块信息仅编码在所述分块组标头中;所述处理器根据所述分块信息对所述视频码流中的所述图像进行编码;通过网络向解码器发送所述视频码流。本方面提供了一种改进分块组结构指示并减少冗余信息的机制。
可选地,在第一方面中,所述处理器将所述分块信息仅编码在所述参数集合中包括:所述处理器对所述图像中的每个分块组的第一分块的分块标识符(identifier,ID)进行编码。
可选地,在第一方面中,所述处理器将所述分块信息仅编码在所述参数集合中还包括:所述处理器解析第二标志,所述第二标志表示引用所述参数集合的当前分块组是否包括一个以上分块;在确定所述第二标志表示引用所述参数集合的所述当前分块组包括一个以上分块之后,所述处理器对所述图像中的所述当前分块组的最后一个分块的分块ID进行编码。
可选地,在第一方面中,所述处理器将所述分块信息仅编码在所述参数集合中还包括:所述处理器解析第二标志,所述第二标志表示引用所述参数集合的当前分块组是否包括一个以上分块;在确定所述第二标志表示引用所述参数集合的所述当前分块组包括一个以上分块之后,所述处理器对所述图像中的所述当前分块组中的多个分块进行编码。
可选地,在第一方面中,所述处理器将所述分块信息仅编码在所述分块组标头中包括:所述处理器将所述图像中的分块组的第一分块的分块ID编码在分块组标头中;所述处理器确定所述标志是否表示已将所述译码图像的所述分块信息编码在所述分块组标头中,以及所述第二标志是否表示引用所述参数集合的当前分块组包括一个以上分块;在确定所述标志表示已将所述译码图像的所述分块信息编码在所述分块组标头中,并且所述第二标志表示引用所述参数集合的所述当前分块组包括一个以上分块之后,所述处理器将所述图像中的所述分块组的最后一个分块的分块ID编码在分块组标头图像中。
本发明的第二方面包括一种在解码器中实现的用于对视频码流进行解码的方法,其中所述视频码流包括至少一个图像的译码数据,每个图像包括至少一个分块组,所述方法包括:所述解码器的处理器解析表示译码图像的分块信息是存在于参数集合还是分块组标头中的标志,其中,所述分块信息指示所述图像中的包括在分块组中的分块;在确定所述标志表示已将译码图像的分块信息编码在所述参数集合中之后,所述处理器从所述参数集合中解析所述分块信息;在确定所述标志表示已将译码图像的分块信息编码在所述分块组标头中之后,所述处理器从所述分块组标头中解析所述分块信息;根据所述分块信息获取所述译码图像的经解码数据。
可选地,在第二方面中,所述处理器解析所述参数集合中的所述分块信息包括:对所述图像中的每个分块组的第一分块的分块标识(identifier,ID)进行解码。
可选地,在第二方面中,所述处理器解析所述参数集合中的所述分块信息还包括:所述处理器解析第二标志,所述第二标志表示引用所述参数集合的当前分块组是否包括一个以上分块;在确定所述第二标志表示引用所述参数集合的所述当前分块组包括一个以上分块之后,对所述图像中的所述当前分块组的最后一个分块的分块ID进行解码。
可选地,在第二方面中,所述处理器解析所述参数集合中的所述分块信息还包括:所述处理器解析第二标志,所述第二标志表示引用所述参数集合的当前分块组是否包括一个以上分块;在确定所述第二标志表示引用所述参数集合的所述当前分块组包括一个以上分块之后,对所述图像中的所述当前分块组中的多个分块进行解码。
可选地,在第二方面中,所述处理器解析所述分块组标头中的所述分块信息包括:对分块组标头中所述图像中的分块组的第一分块的分块ID进行解码;确定所述标志是否表示已将所述译码图像的所述分块信息编码在所述分块组标头中,以及所述第二标志是否表示引用所述参数集合的当前分块组包括一个以上分块;在确定所述标志表示已将所述译码图像的所述分块信息编码在所述分块组标头中,并且所述第二标志表示引用所述参数集合的所述当前分块组包括一个以上分块之后,对分块组标头中所述图像中的分块组的最后一个分块的分块ID进行解码。
可选地,在第二方面中,所述处理器解析表示参数集合中或分块组标头中是否存在译码图像的分块信息的所述标志包括:在确定所述参数集合中不存在表示所述译码图像的所述分块信息的所述标志之后,推断所述标志仅在所述分块组标头中存在。
可选地,在上述任一方面中,所述标志称为tile_group_info_in_pps_flag。
可选地,在上述任一方面中,所述第二标志称为single_tile_per_tile_group_flag。
可选地,在上述任一方面中,所述参数集合为图像参数集合。
可选地,在上述任一方面中,所述参数集合为序列参数集合。
可选地,在上述任一方面中,所述参数集合为视频参数集合。
本发明的第三方面包括一种视频译码设备,所述视频译码设备包括处理器、耦合到所述处理器的接收器,以及耦合到所述处理器的发送器,所述处理器、所述接收器和所述发送器用于执行根据上述方面中任一方面所述的方法。
本发明的第四方面包括一种非瞬时性计算机可读介质,其包括用于视频译码设备的计算机程序产品,所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令,当处理器执行所述计算机可执行指令时,使得所述视频译码设备执行根据上述方面中任一方面所述的方法。
为了清楚起见,上述任一实施例可以与上述任一其它实施例组合以创建本发明范围内的新实施例。
从结合附图和权利要求书的以下详细描述中,将更清楚地理解这些和其它特征。
附图说明
为了更完整地理解本发明,参考以下结合附图和详细描述而进行的简要描述,其中,相同的附图标记表示相同的部分。
图1为对视频信号进行译码的示例性方法的流程图。
图2是用于视频译码的示例编码和解码(codec)系统的示意图。
图3为示例性视频编码器的示意图。
图4为示例性视频解码器的示意图。
图5为包括编码视频序列的示例性码流的示意图。
图6为分割为示例性分块组的图像的示意图。
图7为示例性视频译码设备的示意图。
图8为将图像编码到码流中的示例性方法的流程图,该图像具有表示分块组信息的位置的标记。
图9为从码流中对图像进行解码的示例性方法的流程图,该图像具有表示分块组信息的位置的标志。
图10为用于对码流中的图像的视频序列进行译码的示例性系统的示意图。
具体实施方式
首先应理解,尽管下文提供了一个或多个实施例的说明性实现方式,但所公开的系统和/或方法可以使用任何数量的技术来实现,无论该技术是当前已知的技术还是现有的技术。本发明不应限于下文所说明的说明性实现方式、附图和技术,包括本文所说明和描述的示例性设计和实现方式,而是可在所附权利要求书的范围以及其等效部分的完整范围内修改。
许多视频压缩技术可以用来减小视频文件的大小,同时尽量减少数据丢失。例如,视频压缩技术可以包括执行空间(例如,帧内)预测和/或时间(例如,帧间)预测以减少或去除视频序列中的数据冗余。对于基于块的视频译码,可以将视频条带(slice)(例如,视频图像或视频图像的一部分)分割为视频块,视频块也可以称为树块、译码块(coding block,CB)、译码树块(coding tree block,CTB)、译码树单元(coding tree unit,CTU)、译码单元(coding unit,CU)和/或译码节点。译码块(coding block,CB)为M×N的像素点块,其中M和N可以设为某些值以将CTB分割为译码块,这是一种分割。译码树块(coding tree block,CTB)为N×N的像素点块,其中N可以设为某个值以将分量分割为CTB,这是一种分割。译码树单元(coding tree unit,CTU)为:亮度像素点的CTB、具有三个像素点阵列的图像的色度像素点的两个对应的CTB、单色图像或使用三个单独的颜色平面和用于对像素点进行译码的语法结构译码的图像的像素点的CTB。译码单元(coding unit,CU)为:亮度像素点的译码块、具有三个像素点阵列的图像的色度像素点的两个对应的译码块、单色图像或使用三个单独的颜色平面和用于对像素点进行译码的语法结构译码的图像的像素点的译码块。
图像的帧内译码(I)条带中的视频块针对同一图像中的相邻块中的参考像素点使用空间预测进行译码。图像的帧间译码(P或B)条带中的视频块可以针对同一图像中的相邻块中的参考像素点使用空间预测,或者针对其它参考图像中的参考像素点使用时间预测。图像(picture/image)可以称为帧(frame),参考图像可以称为参考帧。空间或时间预测产生表示图像块的预测块。残差数据表示原始图像块与预测块之间的像素差。因此,根据指向构成预测块的参考像素点块的运动矢量,和表示译码块与预测块之间差值的残差数据,对帧间译码块进行编码。根据帧内译码模式和残差数据对帧内译码块进行编码。为了进一步压缩,残差数据可以从像素域变换到变换域,从而产生残差变换系数,然后可以量化残差变换系数。可以扫描最初以二维阵列排列的量化变换系数,以产生一维变换系数向量。可以应用熵译码来实现更大的压缩。下面详细讨论这种视频压缩技术。
为了保证能够准确地对编码视频进行解码,根据对应的视频译码标准对视频进行编码和解码。视频译码标准包括国际电信联盟电信标准化部门(InternationalTelecommunication Union Telecommunication Standardization Sector,ITU-T)H.261、ISO/IEC运动图像专家组(MotionPicture Experts Group,MPEG)-1第2部分、ITU-T H.262或ISO/IEC MPEG-2第2部分、ITU-TH.263、ISO/IEC MPEG-4第2部分、高级视频译码(Advanced Video Coding,AVC)(也称为ITU-T H.264或ISO/IEC MPEG-4第10部分),以及高效视频译码(High Efficiency Video Coding,HEVC)(也称为ITU-T H.265或MPEG-H第2部分)。AVC包括可分级视频译码(Scalable Video Coding,SVC)、多视点视频译码(MultiviewVideo Coding,MVC)和多视点视频译码加深度(Multiview Video Coding plus Depth,MVC+D),以及三维(three dimensional,3D)AVC(3D-AVC)等扩展。HEVC包括可分级HEVC(Scalable HEVC,SHVC)、多视图HEVC(Multiview HEVC,MV-HEVC)和3D HEVC(3D-HEVC)等扩展。ITU-T和ISO/IEC的联合视频专家组(joint video experts team,JVET)已开始开发一种称为通用视频译码(Versatile Video Coding,VVC)的视频译码标准。VVC包括在工作草案(Working Draft,WD)中,工作草案包括JVET-L1001-v9。
为了对视频图像进行译码,首先对图像进行分割,并将得到的各部分译码到码流中。有多种图像分割方案。例如,可以将图像分割为规则条带、相关条带、分块(tile),和/或根据波前并行处理(Wavefront Parallel Processing,WPP)对图像进行分割。为了简单起见,HEVC限制了编码器,使得在将条带分割为用于视频译码的CTB组时,只能使用规则条带、相关条带、分块、WPP及其组合。这种分割可以用于支持最大传输单元(Maximum TransferUnit,MTU)大小匹配、并行处理和减少端到端时延。MTU表示单个报文中能够发送的最大数据量。如果报文有效载荷超过MTU,则通过称为分割的过程将该载荷分划为两个报文。
规则条带,也简称为条带,是图像的分割部分,可以独立于同一图像中的其它规则条带重建,尽管由于循环滤波操作存在一些相互依赖性。一个条带包括以光栅扫描顺序连续排序的整数个CTU。每个条带封装在自己的网络抽象层(network abstraction layer,NAL)单元中进行发送。此外,可以禁用跨条带边界的帧内预测(帧内像素点预测、运动信息预测、译码模式预测)和熵译码依赖,以支持独立重建。这种独立重建支持并行化。例如,基于规则条带的并行化使用最小的处理器间或核间通信。但是,由于每个规则条带是独立的,因此每个条带都与单独的条带标头相关。由于每个条带的条带标头的位成本,以及由于缺乏跨条带边界的预测,使用规则条带会造成大的译码开销。此外,可以使用规则条带,以支持MTU大小匹配要求。具体地,由于规则条带封装在单独的NAL单元中,并且可以独立译码,所以每个规则条带应小于MTU方案中的MTU,以避免将条带分为多个报文。因此,为了实现并行化和MTU大小匹配,图像中的条带布局可能互相矛盾。
相关条带与规则条带类似,但相关条带具有缩短的条带标头,并且允许在不影响帧内预测的情况下对图像树块边界进行分割。因此,相关条带允许将规则条带分割为多个NAL单元,这通过在整个规则条带的编码完成之前发送规则条带的一部分,降低端到端时延。
分块是图像(image/picture)中由水平和垂直边界创建的分割部分,这些边界创建了分块的列和行。分块包括图像中特定分块列和特定分块行内的CTU的矩形区域。分块可以按光栅扫描顺序(从右到左,从上到下)进行译码。CTB的扫描顺序在分块内部进行。因此,在进行到下一个分块中的CTB之前,按照光栅扫描顺序对第一分块中的CTB进行译码。与规则条带类似,分块去除了帧内预测依赖以及熵解码依赖。但是,单个NAL单元中可以不包括分块,因此,分块可以不用于MTU大小匹配。每个分块可以由一个处理器/核处理,处理器间/核间通信(该通信用于处理单元之间的帧内预测,处理单元对相邻分块进行解码)可以限于发送共享的条带标头(当相邻分块在同一条带中时),并对重建像素点和元数据进行循环滤波相关的共享。当条带中包括多个分块时,除条带中的第一入口点偏移之外,还可以在条带标头中指示(signal)每个分块的入口点字节偏移。
给定的译码视频序列不能同时包括分块和HEVC中规定的大多数配置的波前并行处理。对于每个条带和分块,应满足以下任一条件或同时满足以下两个条件:(1)条带中的所有译码树块属于同一个分块;(2)分块中的所有译码树块属于同一个条带。波前段仅包括一个CTB行,当使用WPP时,如果一个条带开始于一个CTB行,则它必须在同一个CTB行结束。
在WPP中,将图像分割为单行CTB。熵解码和预测机制可以使用来自其它行中的CTB的数据。通过对CTB行进行并行解码,支持并行处理。例如,当前行可以与前一行并行解码。但是,对当前行的解码会比前几行的解码过程时延两个CTB。这种时延确保了在对当前CTB进行译码之前,与当前行中当前CTB上方和右侧的CTB相关的数据可用。当用图形表示时,这种方法表现为波前。如果图像包含CTB行,这种交错启动支持尽可能多的处理器/内核进行并行处理。由于支持在图像内相邻树块行之间进行帧内预测,因此处理器间/核间通信可以实现帧内预测。WPP分割不考虑NAL单元大小。因此,WPP不支持MTU大小匹配。但是,规则条带可以与WPP结合使用,以根据需要实现MTU大小匹配,这需要一定的译码开销。
分块也可以包括运动约束分块集。运动约束分块集(motion constrained tileset,MCTS)是一种分块集,用来将相关的运动矢量限制为指向MCTS内部的全像素点位置和指向分数像素点位置,该分数像素点位置仅需要MCTS内部的全像素点位置进行插值。此外,不允许将运动矢量候选用于从MCTS外部的块推导的时间运动矢量预测。这样,每个MCTS可以独立解码,无需在MCTS中包括分块。HEVC规定了三个MCTS相关的补充增强信息(supplemental enhancement information,SEI)消息,分别是时间MCTS SEI消息、MCTS提取信息集SEI消息和MCTS提取信息嵌套SEI消息。
时间MCTS SEI消息可以用于表示码流中存在MCTS并指示MCTS。MCTS SEI消息提供可用于MCTS子码流提取(作为SEI消息语义的一部分表示)的补充信息,以生成符合MCTS的码流。该信息包括多个提取信息集,每个提取信息集定义多个MCTS,并且包含在MCTS子码流提取过程所使用的替换视频参数集(video parameter set,VPS)、序列参数集(sequenceparameter set,SPS)和图像参数集(picture parameter set,PPS)的原始字节序列载荷(raw bytes sequence payload,RBSP)字节。当根据MCTS子码流提取过程提取子码流时,可以重写或替换参数集(VPS、SPS、PPS),并且可以更新条带标头,因为一个或所有条带地址相关的语法元素(包括first_slice_segment_in_pic_flag和slice_segment_address)可以在所提取的子码流中使用不同的值。
如上所述,在图像的分块光栅扫描或矩形分组中,分块组包括图像的整数个分块。分块组中的分块只包括在一个NAL单元中。在一些示例中,分块组可以替换条带。在对图像进行分割以进行进一步编码时,可以使用各种分块方案(即,分块分组方法)。在特定示例中,可以限制分块分组,使得分到分块组中的分块形成图像内的矩形区域(本文称为矩形分块组)。可以通过表示分块组的第一分块和最后一个分块来指示包括在分块组中的分块。在这种情况下,第一分块的分块索引可以小于最后一个分块的分块索引。
分块组结构可以通过两种方式指示(例如,图像中的分块组地址/位置以及分块组中的分块的数量,如果需要)。第一种是在参数集合中(例如在图像参数集合(pictureparameter set,PPS)中)指示分块组结构。第二种是在每个分块组的标头中指示分块组结构。这两种指示方式不能同时使用。每种方式各有优点。例如,第一种方式适用于360度视频等,其中通常将分块组译码为MCTS,以便能够仅发送每个图像的一部分。在这种情况下,通常已知的图像编码是将分块分配到视频译码层(video coding layer,VCL)NAL单元。第二种方式在无线显示等超低时延应用场景中是有益的,其中,将分块分配到VCL NAL单元可能需要取决于分块的实际位大小。当在参数集合中指示分块组结构时,分块组标头中的一些语法元素可能不需要,因此可以删除这些语法元素或者需要对这些语法元素的存在进行条件限制。
在一些应用中,可以将图像封装成若干个VCL NAL单元,每个VCL NAL单元包括一个分块组。对于此类应用,不进行并行处理,因为该应用的每个分块组仅包括一个分块。在一个360度视频应用的示例中,视角效果更佳。在这种情况下,分块组结构的当前指示,无论是在参数集合中还是在分块组标头中指示,都会有一些冗余。
本文公开了各种机制来改进分块组结构指示以解决上述问题。如进一步解释的,在一个实施例中,编码器可以对由分块组直接或间接引用的参数集合中的标志(例如,称为single_tile_per_tile_group_flag的标志)进行编码,以表示引用参数集合的每个分块组是否只包括一个分块。例如,如果将single_tile_per_tile_group_flag设置为1或真(true),则分块组标头不包括某些语法元素(例如,表示分块组中分块的数量的语法元素)。如本文进一步描述的,分块标头也不包括其它语法元素。此外,在一些实施例中,编码器可以将标志(例如,称为tile_group_info_in_pps_flag的标志)编码在参数集合中,以表示分块组结构信息是否在参数集合中存在。tile_group_info_in_pps_flag的值用于判断参数集合和分块组标头中是否存在与分块组结构相关的语法元素。在某些实施例中,代替single_tile_per_tile_group_flag或除了single_tile_per_tile_group_flag之外,可以对tile_group_info_in_pps_flag进行编码。
图1为对视频信号进行译码的示例性操作方法100的流程图。具体地,在编码器侧对视频信号进行编码。编码过程通过使用各种机制对视频信号进行压缩,以减小视频文件大小。较小的文件大小允许在减少相关的带宽开销的同时,将压缩的视频文件发送给用户。然后,解码器对压缩的视频文件进行解码,以重建原始视频信号,向终端用户显示。解码过程通常与编码过程对应,以允许解码器一致地重建视频信号。
在步骤101中,将视频信号输入编码器。例如,视频信号可以是存储在存储器中的未压缩的视频文件。在另一示例中,视频文件可以由视频捕获设备(例如视频摄像机)捕获,并进行编码以支持视频的直播。视频文件可以包括音频分量和视频分量。视频分量包含一系列图像帧,当按顺序观看时,这些图像帧会产生运动的视觉效果。这些帧包括根据光(本文称为亮度分量(或亮度像素点))和颜色(称为色度分量(或颜色像素点))表示的像素。在一些示例中,帧还可以包含深度值以支持三维观看。
在步骤103中,将视频分割为块。分割包括将每个帧中的像素细分为方块和/或矩形块进行压缩。例如,在高效视频译码(High Efficiency Video Coding,HEVC)(也称为H.265和MPEG-H第2部分)中,可以首先将帧分割为译码树单元(coding tree unit,CTU),这些译码树单元是预定义大小(例如,64×64个像素)的块。CTU包含亮度像素点和色度像素点。可以使用译码树将CTU分为块,然后递归地细分这些块,直到获得支持进一步编码的配置。例如,可以对帧的亮度分量进行细分,直到各个块包括相对均匀的亮度值。此外,可以对帧的色度分量进行细分,直到各个块包括相对均匀的色值。因此,分割机制根据视频帧的内容而不同。
在步骤105中,使用各种压缩机制来压缩在步骤103中分割的图像块。例如,可以使用帧间预测和/或帧内预测。帧间预测旨在利用公共场景中的对象往往出现在连续帧中这一事实。因此,无需在相邻帧中对参考帧中描绘对象的块进行重复描述。具体地,一个对象(如一张桌子)可能在多个帧中保持恒定的位置。因此,只描述一次桌子,相邻帧可以重新引用参考帧。可以使用模式匹配机制来匹配多个帧中的对象。此外,由于对象移动或摄像机移动等,移动对象可以通过多个帧表示。在特定示例中,视频可以通过多个帧显示在屏幕上移动的汽车。可以使用运动矢量描述这种移动。运动矢量是一个二维矢量,提供从帧中对象的坐标到参考帧中该对象的坐标的偏移。因此,帧间预测可以将当前帧中的图像块编码为运动矢量集合,表示相对于参考帧中对应块的偏移。
帧内预测对公共帧中的块进行编码。帧内预测利用亮度分量和色度分量往往在帧中聚集这一事实。例如,一棵树的一部分中的一片绿色往往与几片类似的绿色相邻。帧内预测采用多种方向预测模式(例如,HEVC中的33种模式)、平面模式和直流(direct current,DC)模式。方向模式表示当前块与对应方向上邻块的像素点相似/相同。平面模式表示可以根据行边缘处的邻块对行/列(例如平面)上的一系列块进行插值。实际上,平面模式通过采用变化值的相对恒定的斜率来表示光/颜色在行/列上的平滑转变。DC模式用于边界平滑,表示块和与所有邻块的像素点相关的平均值相似/相同,所述邻块与方向预测模式的角方向相关。因此,帧内预测块可以将图像块表示为各种关系预测模式值而非实际值。此外,帧间预测块可以将图像块表示为运动矢量值而非实际值。在任一种情况下,预测块在某些情况下可能无法准确地表示图像块。所有差值都存储在残差块中。可以对残差块应用变换以进一步压缩文件。
在步骤107中,可以应用各种滤波技术。在HEVC中,根据环内滤波方案应用滤波器。上文描述的基于块的预测可以在解码器侧创建块状图像。此外,基于块的预测方案可以对块进行编码,然后重建编码块,以供以后用作参考块。所述环内滤波方案迭代地将噪声抑制滤波器、去块效应滤波器、自适应环路滤波器和像素点自适应偏移(sample adaptiveoffset,SAO)滤波器应用于块/帧。这些滤波器减少了此类块伪影,从而可以准确地重建编码文件。此外,这些滤波器减少了重建参考块中的伪影,使得伪影不太可能在基于重建参考块编码的后续块中产生其它的伪影。
在步骤109中,一旦视频信号被分割、压缩和滤波,就将所得到的数据编码在码流中。所述码流包括上述数据以及支持在解码器侧进行适当的视频信号重建所需要的任何指示数据。例如,此类数据可以包括分割数据、预测数据、残差块和向解码器提供译码指令的各种标志。所述码流可以存储在存储器中,以便在请求时向解码器发送。还可以向多个解码器广播和/或组播所述码流。创建码流是一个迭代过程。因此,步骤101、103、105、107和109可以在多个帧和块上连续和/或同时发生。图1所示的顺序是为了清楚和便于描述而呈现的,并非旨在将视频译码过程限制于特定顺序。
在步骤111中,所述解码器接收所述码流并开始解码过程。具体地,所述解码器采用熵解码方案将所述码流转换为对应的语法数据和视频数据。在步骤111中,所述解码器使用所述码流中的语法数据来确定帧的分割。分割应与步骤103中的块分割的结果匹配。这里描述了步骤111中采用的熵编码/解码。编码器在压缩过程中进行许多选择,例如根据一个或多个输入图像中值的空间定位从多个可能选择中选择块分割方案。指示确切的选择可能会占用大量的位元。本文中使用的位元是被视为变量的二进制值(例如,可能根据上下文变化的比特值)。熵编码允许编码器丢弃任何明显不适合特定情况的选项,从而留下一组可使用的选项。然后,为每个可使用的选项分配码字。码字的长度取决于可使用的选项的数量(例如,一个位元对应两个选项,两个位元对应三个或四个选项等)。然后,所述编码器对所选选项的码字进行编码。该方案减小了码字的大小,因为码字的大小与唯一地表示从可使用选项的小子集中的一个选项,而非唯一表示从所有可能选项的潜在大集中的选择所需要的码字一样大。然后,解码器通过以与编码器类似的方式确定可使用选项集来对所述选择进行解码。通过确定可使用选项集,解码器可以读取码字并确定编码器做出的选择。
在步骤113中,解码器执行块解码。具体地,解码器进行逆变换来生成残差块。然后,解码器使用残差块和对应的预测块,根据分割重建图像块。所述预测块可以包括在步骤105中编码器侧生成的帧内预测块和帧间预测块。然后,根据在步骤111中确定的分割数据将重建图像块定位到重建视频信号的帧中。步骤113的语法还可以通过上文描述的熵编码在码流中指示。
在步骤115中,以类似于步骤107的方式在编码器侧对重建视频信号的帧进行滤波。例如,可以对帧应用噪声抑制滤波器、去块效应滤波器、自适应环路滤波器和SAO滤波器以去除块伪影。在步骤117中,一旦对帧进行滤波,将视频信号输出到显示器以供终端用户观看。
图2为用于视频译码的示例性编码和解码(codec)系统200的示意图。具体地,编解码系统200能够实现操作方法100。编解码系统200广义地描述编码器和解码器中使用的组件。编解码系统200接收视频信号并对视频信号进行分割,如操作方法100中的步骤101和103所描述,从而产生经分割的视频信号201。然后,当作为编码器时,编解码系统200将经分割的视频信号201压缩到经编码码流中,如方法100中的步骤105、107和109所描述的。当作为解码器时,编解码系统200从码流中生成输出视频信号,如操作方法100中的步骤111、113、115和117所描述的。编解码系统200包括通用译码器控制组件211、变换缩放和量化组件213、帧内估计组件215、帧内预测组件217、运动补偿组件219、运动估计组件221、缩放和逆变换组件229、滤波器控制分析组件227、环内滤波器组件225、解码图像缓冲器组件223、标头格式化和上下文自适应二进制算术编码(context adaptive binary arithmeticcoding,CABAC)组件231。这种组件如图所示耦合。在图2中,黑线表示待编码/解码数据的移动,而虚线表示控制其它组件操作的控制数据的移动。编解码系统200的组件都可以在编码器中使用。解码器可以包括编解码系统200的组件的子集。例如,解码器可以包括帧内预测组件217、运动补偿组件219、缩放和逆变换组件229、环内滤波器组件225和解码图像缓冲器组件223。这里对这些组件进行描述。
经分割的视频信号201是已通过译码树分割为像素块的采集视频序列。译码树使用各种划分模式将像素块细分为更小的像素块。然后,可以将这些块进一步细分为更小块。所述块可以称为所述译码树上的节点。较大的父节点划分为较小的子节点。节点被细分的次数称为节点/译码树的深度。在一些情况下,分割的块可以包括在译码单元(codingunit,CU)中。例如,CU可以是CTU的子部分,包括亮度块、一个或多个红差色度(Cr)块和一个或多个蓝差色度(Cb)块以及CU的对应语法指令。所述划分模式可以包括二叉树(binarytree,BT)、三叉树(triple tree,TT)和四叉树(quad tree,QT),用于根据所使用的划分模式,分别将节点分割为不同形状的两个、三个或四个子节点。将经分割的视频信号201转发给通用编码器控制组件211、变换缩放和量化组件213、帧内估计组件215、滤波器控制分析组件227和运动估计组件221进行压缩。
通用编码器控制组件211用于根据应用限制做出与将视频序列的图像编码到码流中相关的决策。例如,通用编码器控制组件211管理码率/码流大小相对于重建质量的优化。可以根据存储空间/带宽可用性和图像分辨率请求做出此类决策。通用编码器控制组件211还根据发送速度管理缓冲器利用率,以缓解缓存欠载和超载问题。为了解决这些问题,通用编码器控制组件211管理由其它组件进行的分割、预测和过滤。例如,通用编码器控制组件211可以动态地提高压缩复杂度以提高分辨率和增加带宽利用率,或者降低压缩复杂度以降低分辨率和带宽利用率。因此,通用编码器控制组件211控制编解码系统200的其它组件来平衡视频信号重建质量与码率问题。通用编码器控制组件211创建控制数据,这些控制数据控制其它组件的操作。还将所述控制数据转发给标头格式化和CABAC组件231,以编码到码流中,从而指示用于在解码器侧解码的参数。
还将经分割的视频信号201发送到运动估计组件221和运动补偿组件219进行帧间预测。可以将经分割的视频信号201的帧或条带分为多个视频块。运动估计组件221和运动补偿组件219相对于一个或多个参考帧中的一个或多个块对所接收视频块进行帧间预测编码以提供时间预测。编解码系统200可以执行多个译码过程,以便为每个视频数据块选择适当的译码模式等等。
运动估计组件221和运动补偿组件219可以高度集成,但出于概念目的进行单独说明。运动估计组件221执行的运动估计是生成运动矢量的过程,其中,这些运动矢量用于估计视频块的运动。例如,运动矢量可以表示译码对象相对于预测块的位移。预测块是被发现在像素差异方面与待译码块高度匹配的块。预测块也可以称为参考块。此类像素差异可以通过绝对差异和(sum of absolute difference,SAD)、平方差异和(sum of squaredifference,SSD)或其它差异度量来确定。HEVC采用若干译码对象,包括CTU、译码树块(coding tree block,CTB)和CU。例如,可以将CTU分为多个CTB,然后可以将CTB分为多个CB包括在CU中。可以将CU编码为包括预测数据的预测单元(prediction unit,PU)和/或包括CU的变化残差数据的一个或多个变换单元(transform unit,TU)。运动估计组件221使用率失真分析作为率失真优化过程的一部分来生成运动矢量、PU和TU。例如,运动估计组件221可以确定当前块/帧的多个参考块、多个运动矢量等,并且可以选择具有最佳率失真特性的参考块、运动矢量等。最佳率失真特性平衡视频重建的质量(例如,压缩造成的数据丢失量)和译码效率(例如,最终编码的大小)。
在一些示例中,编解码系统200可以计算存储在解码图像缓冲器组件223中的参考图像的子整数像素位置的值。例如,视频编解码系统200可以插值参考图像的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计组件221可以执行相对于全像素位置和分数像素位置的运动搜索,并输出具有分数像素精度的运动矢量。运动估计组件221通过将PU的位置与参考图像的预测块的位置进行比较来计算帧间译码条带中视频块的PU的运动矢量。运动估计组件221将计算的运动矢量作为运动数据输出到标头格式化和CABAC组件231以进行编码,并将运动输出到运动补偿组件219。
运动补偿组件219执行的运动补偿可以涉及根据运动估计组件221所确定的运动矢量获取或生成预测块。另外,在一些示例中,运动估计组件221和运动补偿组件219可以在功能上集成。在接收当前视频块的PU的运动矢量之后,运动补偿组件219可以定位运动矢量指向的预测块。然后,从所译码的当前视频块的像素值中减去预测块的像素值,从而形成像素差值,如此形成残差视频块。通常,运动估计组件221相对于亮度分量执行运动估计,运动补偿组件219将根据亮度分量计算的运动矢量用于色度分量和亮度分量。将预测块和残差块转发给变换缩放和量化组件213。
还将经分割的视频信号201发送到帧内估计组件215和帧内预测组件217。如同运动估计组件221和运动补偿组件219,帧内估计组件215和帧内预测组件217可以高度集成,但出于概念目的进行单独说明。帧内估计组件215和帧内预测组件217相对于当前帧中的块对当前块进行帧内预测,以替代如上所述的由运动估计组件221和运动补偿组件219在各帧之间执行的帧间预测。具体地,帧内估计组件215确定帧内预测模式来用于对当前块进行编码。在一些示例中,帧内估计组件215从多个测试的帧内预测模式中选择适当的帧内预测模式来对当前块进行编码。然后,将所选择的帧内预测模式转发给标头格式化和CABAC组件231进行编码。
例如,帧内估计组件215对各种测试的帧内预测模式进行率失真分析来计算率失真值,并在测试的模式中选择具有最佳率失真特性的帧内预测模式。率失真分析通常确定编码块与经编码以产生编码块的原始未编码块之间的失真(或误差)量,以及用于产生编码块的码率(例如,比特数)。帧内估计组件215根据各种编码块的失真和速率计算比率,以确定表现出块的最佳率失真值的帧内预测模式。此外,帧内估计组件215可用于根据率失真优化(rate-distortion optimization,RDO),使用深度建模模式(depth modeling mode,DMM)对深度图的深度块进行译码。
当在编码器上实现时,帧内预测组件217可以根据由帧内估计组件215确定的所选帧内预测模式从预测块生成残差块,或者当在解码器上实现时,从码流读取残差块。所述残差块包括预测块与原始块之间的值差,表示为矩阵。然后,将残差块转发给变换缩放和量化组件213。帧内估计组件215和帧内预测组件217可以对亮度分量和色度分量进行操作。
变换缩放和量化组件213用于进一步压缩残差块。变换缩放和量化组件213对残差块应用变换,如离散余弦变换(discrete cosine transform,DCT)、离散正弦变换(discrete sine transform,DST)或概念上类似的变换,从而产生包括残差变换系数值的视频块。还可以使用小波变换、整数变换、子带变换或其它类型的变换。变换可以将残差信息从像素值域转化到变换域,如频域。例如,变换缩放和量化组件213还用于根据频率等对变换的残差信息进行缩放。这种缩放涉及对残差信息应用缩放因子,以便在不同粒度下量化不同的频率信息,这可能会影响重建视频的最终视觉质量。变换缩放和量化组件213还用于量化变换系数以进一步降低码率。量化过程可以降低与一些或全部系数有关的位深度。可以通过调整量化参数来修改量化程度。在一些示例中,变换缩放和量化组件213随后可以对包括量化变换系数的矩阵进行扫描。将量化变换系数转发给标头格式化和CABAC组件231,以编码到码流中。
缩放和逆变换组件229应用变换缩放和量化组件213的逆操作以支持运动估计。缩放和逆变换组件229使用逆缩放、逆变换和/或反量化以重建像素域中的残差块,例如,用于以后用作参考块,所述参考块可成为另一当前块的预测块。运动估计组件221和/或运动补偿组件219可以通过将残差块添加回对应的预测块来计算参考块,以用于后续块/帧的运动估计。将滤波器应用于重建参考块,以减少在缩放、量化和变换期间产生的伪影。当预测后续块时,此类伪影可能另外导致预测不准确(并产生其它伪影)。
滤波器控制分析组件227和环内滤波器组件225将滤波器应用于残差块和/或重建图像块。例如,可以将缩放和逆变换组件229的变换残差块与帧内预测组件217和/或运动补偿组件219的对应预测块合并以重建原始图像块。然后,可以将滤波器应用于重建图像块。在一些示例中,滤波器可以转而应用于残差块。如同图2中的其它组件,滤波器控制分析组件227和环内滤波器组件225高度集成,可以一起实现,但出于概念目的进行单独描述。应用于重建参考块的滤波器应用于特定空间区域,包括多个参数以调整应用此类滤波器的方式。滤波器控制分析组件227对重建参考块进行分析,以确定应该应用此类滤波器的位置并设置对应的参数。将此类数据作为滤波器控制数据转发给标头格式化和CABAC组件231进行编码。环内滤波器组件225根据滤波器控制数据应用此类滤波器。所述滤波器可以包括去块效应滤波器、噪声抑制滤波器、SAO滤波器和自适应环路滤波器。此类滤波器可以根据示例应用于空域/像素域(例如,针对重建像素块)或频域中。
当作为编码器操作时,将经滤波的重建图像块、残差块和/或预测块存储在解码图像缓冲器组件223中,以供以后用于运动估计,如上所述。当作为解码器操作时,解码图像缓冲器组件223存储经重建和经滤波的块并将其作为输出视频信号的一部分向显示器转发。解码图像缓冲器组件223可以是能够存储预测块、残差块和/或重建图像块的任何存储器设备。
标头格式化和CABAC组件231从编解码系统200的各组件接收数据并将此类数据编码到经编码码流中以向解码器发送。具体地,标头格式化和CABAC组件231生成各种标头以对控制数据(如总体控制数据和滤波器控制数据)进行编码。此外,将预测数据(包括帧内预测)和运动数据,以及量化变换系数数据形式的残差数据均编码到码流中。最终码流包括解码器重建原始的经分割的视频信号201所需要的所有信息。此类信息还可以包括帧内预测模式索引表(也称为码字映射表)、各种块的编码上下文的定义、最可能的帧内预测模式的表示、分割信息的表示等。此类数据可以采用熵译码进行编码。例如,可以采用上下文自适应可变长度译码(context adaptive variable length coding,CAVLC)、CABAC、基于语法的上下文自适应二进制算术译码(syntax-based context-adaptive binary arithmeticcoding,SBAC)、概率区间分割熵(probability interval partitioning entropy,PIPE)译码或其它熵译码技术对信息进行编码。在熵译码之后,可以将译码码流发送到另一设备(例如,视频解码器)或存档以用于后续发送或检索。
图3为示例性视频编码器300的框图。视频编码器300可以用于实现编解码系统200的编码功能和/或实现操作方法100的步骤101、103、105、107和/或109。编码器300对输入视频信号进行分割,从而产生经分割的视频信号301,其中,所述经分割的视频信号301实质上类似于经分割的视频信号201。然后,通过编码器300的组件压缩经分割的视频信号301并编码到码流中。
具体地,将经分割的视频信号301转发给帧内预测组件317进行帧内预测。帧内预测组件317可以实质上类似于帧内估计组件215和帧内预测组件217。还将经分割的视频信号301转发给运动补偿组件321,以根据解码图像缓冲器组件323中的参考块进行帧间预测。运动补偿组件321可以实质上类似于运动估计组件221和运动补偿组件219。将帧内预测组件317和运动补偿组件321的预测块和残差块转发给变换和量化组件313以对残差块进行变换和量化。变换和量化组件313可以实质上类似于变换缩放和量化组件213。将经变换和量化的残差块和对应的预测块(连同相关控制数据)转发给熵译码组件331以译码到码流中。熵译码组件331可以实质上类似于标头格式化和CABAC组件231。
也将经变换和量化的残差块和/或对应的预测块从变换和量化组件313转发给逆变换和量化组件329以重建成参考块供运动补偿组件321使用。逆变换和量化组件329可以实质上类似于缩放和逆变换组件229。根据示例,也将环内滤波器组件325中的环内滤波器应用于残差块和/或重建参考块。环内滤波器组件325可以实质上类似于滤波器控制分析组件227和环内滤波器组件225。环内滤波器组件325可以包括多个滤波器,如环内滤波器组件225所描述的。然后,将滤波块存储在解码图像缓冲器组件323中,以供运动补偿组件321用作参考块。解码图像缓冲器组件323可以实质上类似于解码图像缓冲器组件223。
图4为示例性视频解码器400的框图。视频解码器400可以用于实现编解码系统200的解码功能和/或实现操作方法100的步骤111、113、115和/或117。例如,解码器400从编码器300接收码流,并根据所述码流生成重建的输出视频信号,向终端用户显示。
所述码流由熵解码组件433接收。熵解码组件433用于实现熵解码方案,如CAVLC、CABAC、SBAC、PIPE译码或其它熵译码技术。例如,熵解码组件433可以使用标头信息来提供上下文以解释在码流中编码为码字的其它数据。解码信息包括对视频信号进行解码所需的任何信息,如总体控制数据、滤波器控制数据、分割信息、运动数据、预测数据和残差块中的量化变换系数。将量化变换系数转发给逆变换和量化组件429以重建成残差块。逆变换和量化组件429可以类似于逆变换和量化组件329。
将重建残差块和/或预测块转发给帧内预测组件417,以根据帧内预测操作重建成图像块。帧内预测组件417可以类似于帧内估计组件215和帧内预测组件217。具体地,帧内预测组件417采用预测模式来定位帧中的参考块,并将残差块应用于结果以重建帧内预测图像块。将重建的帧内预测图像块和/或残差块以及对应的帧间预测数据通过环内滤波器组件425转发给解码图像缓冲器组件423。解码图像缓冲器组件423和环内滤波器组件425可以分别实质上类似于解码图像缓冲器组件223和环内滤波器组件225。环内滤波器组件425对重建图像块、残差块和/或预测块进行滤波,并且将此类信息存储在解码图像缓冲器组件423中。将解码图像缓冲器组件423的重建图像块转发给运动补偿组件421进行帧间预测。运动补偿组件421可以实质上类似于运动估计组件221和/或运动补偿组件219。具体地,运动补偿组件421使用参考块的运动矢量来生成预测块,并将残差块应用于结果以重建图像块。还可以通过环内滤波器组件425将所得到的重建块转发给解码图像缓冲器组件423。解码图像缓冲器组件423继续存储附加重建图像块,这些重建图像块可以通过分割信息重建成帧。此类帧也可以位于序列中。将所述序列作为重建的输出视频信号向显示器输出。
图5为包括编码视频序列的示例性码流500的示意图。例如,码流500可以由编解码系统200和/或编码器300生成,由编解码系统200和/或解码器400进行解码。在另一示例中,码流500可以由方法100的步骤109中的编码器生成,在步骤111中由解码器使用。
码流500包括序列参数集(sequence parameter set,SPS)510、多个图像参数集(picture parameter set,PPS)512、分块组标头514和图像数据520。SPS 510包括码流500中包括的视频序列中的所有图像共有的序列数据。这些数据可以包括图像大小、位深度、译码工具参数、位速率限制等。PPS 512包括一个或多个相应图像的特定参数。因此,视频序列中的每个图像可以引用一个PPS 512。PPS 512可以表示可用于对应图像中的分块的译码工具、量化参数、偏移、图像特定译码工具参数(例如,滤波器控制)等。分块组标头514包括图像中的每个分块组特定的参数。因此,视频序列中的每个分块组可以有一个分块组标头514。分块组标头514可包括分块组信息、图像顺序编号(picture order count,POC)、参考图像列表、预测权重、分块入口点、去块参数等。需要说明的是,一些系统将分块组标头514称为条带标头,并使用这些信息来支持条带而不是分块组。
图像数据520包含根据帧间预测和/或帧内预测编码的视频数据以及对应的变换和量化残差数据。根据编码前用于对图像进行分割的分割,对这些图像数据520进行分类。例如,将图像数据520中的图像分为分块523。将分块523进一步分为译码树单元(codingtree unit,CTU)。根据译码树将CTU进一步分为译码块。然后可以根据预测机制对译码块进行编码/解码。图像(image/picture)可以包括一个或多个分块523。
分块523是由水平和垂直边界创建的图像的分割部分。分块523可以按照光栅扫描顺序进行译码,在不同示例中,可以允许或不允许根据其它分块523进行预测。每个分块523在图像中具有唯一的分块索引524。分块索引524是程序上选择的数字标识符,其可用于将一个分块523与另一个分块523区分开。例如,分块索引524的数字可以按光栅扫描顺序增加。光栅扫描顺序从左到右,从上到下。需要说明的是,在一些示例中,也可以为分块523分配分块标识符(identifier,ID)。分块ID是一种分配的标识符,其可用于将一个分块523与另一个分块区分开。在一些示例中,可以使用分块ID进行计算,而不是使用分块索引524进行计算。此外,在一些示例中,可以为分块ID分配与分块索引524相同的值。
可以对分块索引524进行指示,以表示包括分块523的分块组。可以在分块组标头514中指示第一分块索引和最后一个分块索引。在一些示例中,第一分块索引和最后一个分块索引由相应的分块ID进行指示。然后,解码器可以根据标志、第一分块索引和最后一个分块索引确定分块组的配置。编码器可以在率失真优化过程中采用与解码器类似的过程,以便在选择优化编码方法时预测解码器的解码结果。通过仅指示第一分块索引和最后一个分块索引,而不是指示分块组中的所有分块,可以节省很多位。这样可以提高译码效率,并且降低编码器和解码器的内存资源占用率和网络资源占用率。
图6为本发明的一个实施例提供的分割为示例性分块组的示例性图像601。例如,图像601可以是视频序列中的单个图像,编解码系统200、编码器300和/或解码器400等在码流500中编码和从码流500中解码该视频序列。此外,可以将图像601进行分割以根据方法100进行编码和解码。
可以将图像601分割为分块603。分块603可以基本上类似于分块523。分块603可以是矩形和/或正方形。为每个分块603分配一个分块索引,分块索引按光栅扫描顺序增加。在所描绘的实施例中,分块索引从零延伸到二十三(0-23)。这些分块索引是示例性的,是为了清楚讨论而提供的,因此不应被视为限制。
图像601包括:左边界601a,包括分块0、6、12和18;右边界601b,包括分块5、11、17和23;上边界601c,包括分块0-5;以及下边界601d,包括分块18-23。左边界601a、右边界601b、上边界601c和下边界601d构成图像601的边缘。此外,可以将分块603分割为分块行605和分块列607。分块行605是一组分块603,以水平相邻的方式定位以创建从左边界601a到右边界601b的连续线(或反之亦然)。分块列607是一组分块603,以垂直相邻的方式定位以创建从上边界601c到下边界601d的连续线(或反之亦然)。
分块603可以包括在一个或多个分块组609中。分块组609是分块603的相关集合,可以单独提取和译码,以支持感兴趣区域的显示和/或支持并行处理。可以在不引用分块组609之外的分块603的情况下对分块组609中的分块603进行译码。可以将每个分块603分配给相应的分块组609,因此图像601可以包括多个分块组609。但是,为了清楚讨论,本发明提及分块组609,该分块组609显示为阴影区域,该阴影区域包括索引为七至十(7-10)和十三至十六(13-16)的分块603。
因此,可以通过第一分块索引7和最后一个分块索引16来指示图像601的分块组609。解码器可以根据第一分块索引和最后一个分块索引确定分块组609的配置。如本文所使用的,分块组609的配置表示分块组609中的行、列和分块603。为了确定分块组609的配置,视频译码设备可以使用预定义的算法。例如,视频译码设备可以通过将增量(delta)分块索引设置为分块组609的最后一个分块索引与分块组609的第一分块索引之间的差值,来确定从图像601分割得到的分块组609中的分块603的数量。通过将增量分块索引除以图像601中的分块列607的数量加1,可以确定分块组609中的分块行605的数量。此外,分块组609中的分块列607的数量可以根据以下方式确定:将增量分块索引和图像601中的分块列607的数量进行取模运算再加1。可以通过将分块组609中的分块列607的数量乘以分块组609中的分块行605的数量来确定分块组609中的分块603的数量。
如上所述,在某些情况下,分块组结构的当前指示,无论是在参数集合中还是在分块组标头中进行指示,都包括一些冗余信息。为了解决这一问题,在本发明中提供用于解决上述问题的下列方面,这些方面单独或结合在一个或多个实施例中应用。
在一个实施例中,当每个图像有一个以上分块时,在由分块组直接或间接引用的参数集合中对标志进行指示,以表示引用参数集合的每个分块组是否仅包括一个分块。参数集合可以是序列参数集合、图像参数集合,也可以是分块组直接或间接引用的任何其它参数集合。在一个实施例中,该标志可以称为single_tile_per_tile_group_flag。在一个实施例中,当single_tile_per_tile_group_flag的值等于1时,不存在以下分块组标头中的语法元素:(1)表示分块组中的分块数量的语法元素;(2)表示分块组的最后一个分块标识的语法元素,(3)表示除分块组中第一分块以外的任何分块的分块标识的语法元素。
在另一个实施例中,可以在由每个分块组直接或间接引用的参数集合中或直接在分块组标头中指示分块组结构信息。当图像中的分块的数量大于1时,可以在参数集合中设置一个标志,以表示参数集合中是否存在分块组结构信息。参数集合可以是序列参数集合、图像参数集合,也可以是分块组直接或间接引用的任何其它参数集合。在一个实施例中,该标志可以称为tile_group_info_in_pps_flag。在一个实施例中,当标志在参数集合中不存在时(例如,当图像仅包括一个分块时),推断tile_group_info_in_pps_flag的值等于0。tile_group_info_in_pps_flag的值用于判断参数集合和分块组标头中是否存在与分块组结构相关的语法元素。这些语法元素可以包括:(1)表示分块组中的分块数量的语法元素;(2)表示分块组的最后一个分块标识的语法元素,(3)表示除分块组中第一分块以外的任何分块的分块标识的语法元素。
本实施例的PPS和分块组标头中相关语法元素的语法和语义如下:该描述与基础文本相关,在JVET文稿JVET-L0686中进行了描述,标题为“视频译码规范草案文本”。也就是说,仅描述增量或其它修改,而基础文本中未提及的文本如基础文本中所述那样适用。pic_parameter_set_rbsp()函数相对于基础文本的修改文本将用星号(*)突出显示。
Figure BDA0003136089230000151
上述图像参数集合RBSP中,语法元素pps_pic_parameter_set_id标识了PPS,由其它语法元素引用。在一个实施例中,pps_pic_parameter_set_id的值应在0至63的范围内(包括端值)。语法元素pps_seq_parameter_set_id表示激活SPS的sps_seq_parameter_set_id。pps_seq_parameter_set_id的值在0至15的范围内(包括端值)。在一个实施例中,如果语法元素transform_skip_enabled_flag等于1,则transform_skip_flag语法元素可以在残差译码语法中存在。如果语法元素transform_skip_enabled_flag等于0,则transform_skip_flag syntax语法元素在残差译码语法中不存在。如果语法元素single_tile_in_pic_flag等于1,则表示每个图像中只有一个分块引用PPS。如果语法元素single_tile_in_pic_flag等于0(即,if(!single_tile_in_pic_flag)),则表示每个图像中有多个分块引用PPS。在这种情况下,语法元素single_tile_per_tile_group_flag用于表示引用PPS的每个分块组是否只包括一个分块。例如,如果语法元素single_tile_per_tile_group_flag等于1,则表示引用PPS的每个分块组仅包括一个分块。如果语法元素single_tile_per_tile_group_flag等于0,则表示引用参数集合的每个分块组包括一个或多个分块。语法元素tile_group_info_in_pps_flag用于表示该分块组信息是在PPS中存在还是在引用PPS的分块组标头中存在。在一个实施例中,如果语法元素tile_group_info_in_pps_flag等于1,则表示分块组信息在PPS中存在,在引用PPS的分块组标头中不存在。如果语法元素tile_group_info_in_pps_flag等于0,则表示分块组信息在PPS中不存在,而是在引用PPS的分块组标头中存在。
在所描述的实施例中,如果语法元素tile_group_info_in_pps_flag等于1(即,if(tile_group_info_in_pps_flag)),表示分块组信息在PPS中存在,而在引用PPS的分块组标头中不存在,则将变量num_tile_groups_in_pic_minus1设置为比图像中的分块组的数量小1。这个变量在for循环中使用,循环通过图像中的每个分块组。语法元素pps_first_tile_id[i]表示图像中第i分块组的第一分块的分块ID。在一个实施例中,pps_first_tile_id[i]的长度为Ceil(Log2(NumTilesInPic))位。对于不等于j的任何i,pps_first_tile_id[i]的值不应等于pps_first_tile_id[j]的值。否则,图像中第i分块组的第一分块ID不应与图像中任何其它分块组的第一分块ID相同。
对于图像中的每个第i分块组,如果语法元素single_tile_per_tile_group_flag等于0(即,if(!single_tile_per_tile_group_flag)),表示引用参数集合的第i分块组包括一个或多个分块,则使用语法元素pps_num_tiles_in_tile_group_minus1[i]加1来表示第i分块组中的分块的数量。pps_num_tiles_in_tile_group_minus1[i]的值在0至NumTilesInPic-1的范围内(包括端值)。在一个实施例中,当不存在语法元素pps_num_tiles_in_tile_group_minus1[i]时,推断pps_num_tiles_in_tile_group_minus1[i]的值等于0。
例如,本发明第二实施例的PPS和分块组标头中相关语法元素的语法和语义如下:如上所述,该描述与基础文本相关,在JVET文稿JVET-L0686中进行了描述,标题为“视频译码规范草案文本”。也就是说,仅描述增量或其它修改,而基础文本中未提及的文本如基础文本中所述那样适用。pic_parameter_set_rbsp()函数相对于基础文本的修改文本将用星号(*)突出显示。
Figure BDA0003136089230000161
Figure BDA0003136089230000171
语法元素pps_pic_parameter_set_id、pps_seq_parameter_set_id、transform_skip_enabled_flag和single_tile_in_pic_flag如以上根据基础文本(JVET文稿JVET-L0686)所描述。在本实施例中,如果语法元素single_tile_in_pic_flag等于0(即if(!single_tile_in_pic_flag)),表示引用参数集合的每个分块组包括一个或多个分块,则single_tile_per_tile_group_flag语法元素用于表示引用PPS的每个分块组是否仅包括一个分块。在一个实施例中,如果single_tile_per_tile_group_flag等于1,则表示引用PPS的每个分块组仅包括一个分块。如果single_tile_per_tile_group_flag等于0,则表示引用PPS的每个分块组包括一个或多个分块。tile_group_info_in_pps_flag语法元素用于表示分块组信息是在PPS中存在还是在引用PPS的分块组标头中存在。在一个实施例中,如果tile_group_info_in_pps_flag等于1,则表示分块组信息在PPS中存在,而在引用PPS的分块组标头中不存在。当tile_group_info_in_pps_flag等于0时,表示分块组信息在PPS中不存在,而是在引用PPS的分块组标头中存在。
在所描述的实施例中,如果tile_group_info_in_pps_flag等于1(即,if(tile_group_info_in_pps_flag)),表示分块组信息在PPS中存在,而在引用PPS的分块组标头中不存在,则将变量num_tile_groups_in_pic_minus1设置为比图像中的分块组的数量小1。这个变量在for循环中使用,循环通过图像中的每个分块组。语法元素pps_first_tile_id[i]表示图像中第i分块组的第一分块的分块ID。对于不等于j的任何i,pps_first_tile_id[i]的值不应等于pps_first_tile_id[j]的值。在本实施例中,如果每个分块组有多个分块(即,if(!single_tile_per_tile_group_flag)),则语法元素pps_last_tile_id[i]表示第i分块组的最后一个分块的分块ID。pps_first_tile_id[i]和pps_last_tile_id[i]的长度为Ceil(Log2(NumTilesInPic))位。
在一个实施例中,分块组标头和RBSP语法和语义如下:tile_group_header()函数相对于基础文本的修改文本将用星号(*)突出显示。
Figure BDA0003136089230000181
在所描述的实施例中,如果图像中的分块的数量(NumTilesInPic)大于1,则使用语法元素first_tile_id表示分块组的第一分块的分块ID。first_tile_id的长度为Ceil(Log2(NumTilesInPic))位。同一图像中,一个分块组的first_tile_id的值不等于任何其它分块组的first_tile_id的值。如果single_tile_per_tile_group_flag表示每个分块组有多个分块(即,if(!single_tile_per_tile_group_flag)),并且tile_group_info_in_pps_flag表示分块组信息在PPS中不存在,而是在引用PPS的分块组标头(即,!tile_group_info_in_pps_flag)中存在,则使用语法元素last_tile_id表示分块组的最后一个分块的分块ID。在一个实施例中,last_tile_id的长度为Ceil(Log2(NumTilesInPic))位。
在一个实施例中,当NumTilesInPic等于1或single_tile_per_tile_group_flag等于1时,推断last_tile_id的值等于first_tile_id。在一个实施例中,当tile_group_info_in_pps_flag等于1时,推断last_tile_id的值等于pps_first_tile_id[i]的值,其中i可以取值为使得first_tile_id等于pps_first_tile_id[i]。在本实施例中,还可以限制每个分块组包括图像的矩形区域。在这种情况下,first_tile_id表示位于分块组左上角的分块的分块ID,last_tile_id表示位于分块组右下角的分块的分块ID。
在一个实施例中,语法元素可以在PPS中另外指示以表示分块组模式,该分块组模式至少允许以下两种分块组模式。在第一种模式(称为矩形分块组模式)中,另外限制每个分块组包括图像的矩形区域。在这种情况下,first_tile_id表示位于分块组左上角的分块的分块ID,last_tile_id表示位于分块组右下角的分块的分块ID。在第二种模式(称为分块光栅扫描模式)中,不作其它变化,每个分块组包括的分块为图像的分块光栅扫描中的顺序分块。
图7为示例性视频译码设备700的示意图。如本文所述,视频译码设备700适合于实现所公开的示例/实施例。视频译码设备700包括下行端口720、上行端口750和/或收发器单元(Tx/Rx)710,包括用于通过网络向上游和/或下游传送数据的发送器和/或接收器。视频译码设备700还包括处理器730,处理器730包括用于处理数据的逻辑单元和/或中央处理器(central processing unit,CPU)以及用于存储数据的存储器732。视频译码设备700还可包括电、光电(optical-to-electrical,OE)组件、电光(electrical-to-optical,EO)组件、和/或耦合到上行端口750和/或下行端口720的无线通信组件,用于通过电、光或无线通信网络传送数据。视频译码设备700还可以包括用于与用户传送数据的输入和/或输出(I/O)设备760。I/O设备760可以包括输出设备,例如用于显示视频数据的显示器、用于输出音频数据的扬声器等。I/O设备760还可以包括输入设备,例如键盘、鼠标、轨迹球等,和/或用于与这些输出设备交互的对应接口。
处理器730通过硬件和软件实现。处理器730可以实现为一个或多个CPU芯片、核(例如,多核处理器)、现场可编程门阵列(field-programmable gate array,FPGA)、专用集成电路(application specific integrated circuit,ASIC)和数字信号处理器(digitalsignal processor,DSP)。处理器730与下行端口720、Tx/Rx 710、上行端口750和存储器732通信。处理器730包括译码模块714。译码模块714实现本文所描述的实施例,例如方法100、800和900,可以使用码流500和/或分割为分块组609的图像。译码模块714还可以实现本文所描述的任何其它方法/机制。此外,译码模块714可以实现编解码系统200、编码器300和/或解码器400。例如,当译码模块714用作编码器时,译码模块714可以对视频码流进行编码,所述视频码流包括至少一个图像的译码数据,该图像包括至少一个分块组。译码模块714还可以对参数集合中的标志进行编码,该标志表示译码图像的分块信息是否在参数集合中或分块组标头中存在。当译码模块714用作解码器时,译码模块714可以读取表示译码图像的分块信息是否在参数集合或分块组标头中存在的标志。因此,译码模块714改进了视频译码设备700的功能,并解决视频译码领域特定的问题,以减少或消除视频序列中的数据冗余(因此提高译码效率),而不对分块组指示产生负面影响。此外,译码模块714可以将视频译码设备700变换到不同的状态。或者,译码模块714可以实现为存储在存储器732中并由处理器730执行的指令(例如,存储在非瞬时性介质中的计算机程序产品)。
存储器732包括一个或多个存储器类型,如磁盘、磁带机、固态驱动器、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、闪存、三元内容寻址存储器(ternary content-addressable memory,TCAM)、静态随机存取存储器(staticrandom-access memory,SRAM)等。存储器732可以用作溢出数据存储设备,以在选择程序用于执行时存储此类程序,并存储程序执行期间读取的指令和数据。
图8为将图像(例如图像601)编码到码流(例如码流500)中的示例性方法800的流程图。方法800可以由编码器(例如编解码系统200、编码器300和/或视频译码设备700)在执行方法100时使用。
方法800可以在编码器接收到包括多个图像的视频序列,并且例如根据用户输入确定将该视频序列编码到码流中时开始。视频序列在编码之前分割为图像/帧以进行进一步分割。在步骤801中,将图像分割为多个分块。可以将分块进一步分割为多个CTU,这些CTU可以进一步分割为译码块,用于基于预测的压缩的应用。还将一组分块分配到一个分块组中。
在步骤803中,将分块组编码到码流中,该码流包括至少一个图像的译码数据。每个图像包括至少一个分块组。此外,将标志编码到码流中的参数集合中。该标志表示译码图像的分块信息是否在参数集合或分块组标头中存在。分块信息表示图像的包括在分块组中的分块。作为特定示例,该标志为tile_group_info_in_pps_flag。例如,可以将标志编码到与图像相关的PPS中。
在步骤805中,根据该标志将分块信息编码在参数集合或分块组报标头中。在一个实施例中,当语法元素tile_group_info_in_pps_flag等于1时,表示分块组信息在参数集合中存在,而在引用参数集合的分块组标头中不存在。当语法元素tile_group_info_in_pps_flag等于0时,表示分块组信息在参数集合中不存在,而是在引用参数集合的分块组标头中存在。在一个实施例中,当标志在参数集合中不存在时(例如,当图像仅包括一个分块时),推断tile_group_info_in_pps_flag的值等于0。分块组信息可以包括表示分块组中的分块的数量的语法元素,表示分块组的最后一个分块标识的语法元素,以及表示除分块组中第一分块之外的任何分块的分块标识的语法元素。
在步骤807中,通过网络向解码器发送(transmitted/sent)视频码流。在一个实施例中,在请求时发送视频码流。视频码流也可以由编码器自动推送到解码器。在一个实施例中,译码视频码流可以临时或永久地存储在编码器中。
图9为从码流(例如码流500)对图像(例如图像601)进行解码的示例性方法900的流程图。方法900可以由解码器(例如编解码系统200、解码器400和/或视频译码设备700)在执行方法100时使用。
例如,在方法800结束之后,方法900开始,在步骤901中,解码器开始接收表示视频序列的译码数据的码流。例如,译码数据包括至少一个图像的译码数据,其中,每个图像包括至少一个分块组。
在步骤903中,从码流中的参数集合中解析标志。例如,可以从与该图像相关的PPS中获取该标志。本文中使用的术语解析可以包括识别或确定该标志或其它语法元素是否在参数集合中存在、获取与该标志或其它语法元素对应的值,以及确定与该标志或其它语法元素的值相关的条件的过程。在一个实施例中,通过解析该标志,方法900能够根据该标志确定用于译码图像的分块信息是否在参数集合中或分块组标头中存在。
在步骤905中,方法900根据该标志获取参数集合或分块组标头中的分块信息。例如,当该标志表示已将译码图像的分块信息编码在参数集合中时,方法900可以从参数集合中解析分块信息。同样地,当该标志表示已将译码图像的分块信息编码在分块组标头中时,方法900可以从分块组标头中解析分块信息。
在步骤907中,可以对分块组进行解码以重建图像的一部分,然后,可以将其作为重建视频序列的一部分。可以将所得到的重建视频序列转发到显示设备以显示给用户。还可以将所得到的重建视频序列临时或永久地存储在解码器的存储器或数据存储单元中。
图10为用于对码流(例如码流500)中的图像(例如图像601)的视频序列进行译码的示例性系统1000的示意图。系统1000可以由编码器和解码器(例如编解码系统200、编码器300、解码器400和/或视频译码设备700)实现。此外,当实现方法100、800和/或900时,可以使用系统1000。
系统1000包括视频编码器1002。视频编码器1002包括分割模块1001,用于将第一图像分割为多个分块。视频编码器1002还包括分配模块1003,用于将一组分块分配到分块组中。视频编码器1002还包括编码模块1005,用于将分块组编码到码流中,并将标记编码到码流中的参数集合中,以表示用于译码图像的分块信息是否在参数集合或分块组报标头中存在。视频编码器1002还包括存储模块1007,用于存储发送给解码器的码流。视频编码器1002还包括发送模块1009,用于向解码器发送码流。视频编码器1002还可以用于执行方法800中的任一步骤。
系统1000还包括视频解码器1010。视频解码器1010包括接收模块1011,用于接收码流,该码流包括分块组,该分块组包括从图像分割得到的一组分块。视频解码器1010还包括获取模块1013,用于从码流中的参数集合获取标志,其中,标志表示译码图像的分块信息是否在参数集合或分块组报标头中存在。视频解码器1010还包括确定模块1015,用于确定某些条件是否存在,因为它们与分块信息的位置相关。例如,确定模块1015可以通过解析single_tile_per_tile_group_flag来确定每个分块组是否存在单个分块。视频解码器1010还包括解码模块1017,用于解码分块组以生成用于显示的重建视频序列。视频解码器1010还可以用于执行方法900中的任一步骤。
当除了第一组件与第二组件之间的线、迹线或其它介质之外,没有中间组件时,第一组件直接耦合到第二组件。当第一组件与第二组件之间除线、迹线或其它介质之外,有中间组件时,第一组件间接耦合到第二组件。术语“耦合”及其同义词包括直接耦合和间接耦合。除非另有说明,术语“约”是指包括其后数量的±10%的范围。
还应理解,本文中阐述的示例性方法的步骤不一定需要按照所描述的顺序执行,并且这些方法的步骤的顺序应理解为仅仅是示例性的。同样地,在与本发明各种实施例相一致的方法中,这些方法可以包括其它步骤,并且某些步骤可以省略或组合。
尽管本发明中已经提供了几个实施例,但可以理解的是,在不背离本发明的精神或范围的情况下,所公开的系统和方法可以以许多其它特定形式实现。这些示例视为说明性而非限制性,并且意图不限于本文给出的细节。例如,可以将各种元件或组件组合或集成在另一个系统中,或者可以省略或不实现某些特征。
此外,在不背离本发明范围的情况下,在各种实施例中描述和示出为分立的或单独的技术、系统、子系统和方法,可以与其它系统、组件、技术或方法组合或集成。改变、替换和更改的其它示例可以由本领域技术人员确定,并且可以在不背离本文所公开的精神和范围的情况下进行。

Claims (18)

1.一种在编码器中实现的用于对视频码流进行编码的方法,其特征在于,所述视频码流包括至少一个图像的译码数据,每个图像包括至少一个分块组,所述方法包括:
所述编码器的处理器对表示译码图像的分块信息是存在于参数集合还是分块组标头中的标志进行编码,其中,所述分块信息指示所述图像中的包括在分块组中的分块;
在确定所述标志表示已将译码图像的分块信息编码在所述参数集合中之后,所述处理器将所述分块信息仅编码在所述参数集合中;
在确定所述标志表示已将译码图像的分块信息编码在所述分块组标头中之后,所述处理器将所述分块信息仅编码在所述分块组标头中;
所述处理器根据所述分块信息对所述视频码流中的所述图像进行编码;
通过网络向解码器发送所述视频码流。
2.根据权利要求1所述的方法,其特征在于,所述处理器将所述分块信息仅编码在所述参数集合中包括:所述处理器对所述图像中的每个分块组的第一分块的分块标识符(identifier,ID)进行编码。
3.根据权利要求2所述的方法,其特征在于,所述处理器将所述分块信息仅编码在所述参数集合中还包括:
所述处理器解析第二标志,所述第二标志表示引用所述参数集合的当前分块组是否包括一个以上分块;
在确定所述第二标志表示引用所述参数集合的所述当前分块组包括一个以上分块之后,所述处理器对所述图像中的所述当前分块组的最后一个分块的分块ID进行编码。
4.根据权利要求2所述的方法,其特征在于,所述处理器将所述分块信息仅编码在所述参数集合中还包括:
所述处理器解析第二标志,所述第二标志表示引用所述参数集合的当前分块组是否包括一个以上分块;
在确定所述第二标志表示引用所述参数集合的所述当前分块组包括一个以上分块之后,所述处理器对所述图像中的所述当前分块组中的多个分块进行编码。
5.根据权利要求1所述的方法,其特征在于,所述处理器将所述分块信息仅编码在所述分块组标头中包括:
所述处理器将所述图像中的分块组的第一分块的分块ID编码在分块组标头中;
所述处理器确定所述标志是否表示已将所述译码图像的所述分块信息编码在所述分块组标头中,以及所述第二标志是否表示引用所述参数集合的当前分块组包括一个以上分块;
在确定所述标志表示已将所述译码图像的所述分块信息编码在所述分块组标头中,并且所述第二标志表示引用所述参数集合的所述当前分块组包括一个以上分块之后,所述处理器将所述图像中的所述分块组的最后一个分块的分块ID编码在分块组标头图像中。
6.一种在解码器中实现的用于对视频码流进行解码的方法,其特征在于,所述视频码流包括至少一个图像的译码数据,每个图像包括至少一个分块(tile)组,所述方法包括:
所述解码的处理器解析表示译码图像的分块信息是存在于参数集合还是分块组标头中的标志,其中,所述分块信息指示所述图像中的包括在分块组中的分块;
在确定所述标志表示已将译码图像的分块信息编码在所述参数集合中之后,所述处理器从所述参数集合中解析所述分块信息;
在确定所述标志表示已将译码图像的分块信息编码在所述分块组标头中之后,所述处理器从所述分块组标头中解析所述分块信息;
根据所述分块信息获取所述译码图像的经解码数据。
7.根据权利要求6所述的方法,其特征在于,所述处理器解析所述参数集合中的所述分块信息包括:对所述图像中的每个分块组的第一分块的分块标识(identifier,ID)进行解码。
8.根据权利要求7所述的方法,其特征在于,所述处理器解析所述参数集合中的所述分块信息还包括:
所述处理器解析第二标志,所述第二标志表示引用所述参数集合的当前分块组是否包括一个以上分块;
在确定所述第二标志表示引用所述参数集合的所述当前分块组包括一个以上分块之后,对所述图像中的所述当前分块组的最后一个分块的分块ID进行解码。
9.根据权利要求7所述的方法,其特征在于,所述处理器解析所述参数集合中的所述分块信息还包括:
所述处理器解析第二标志,所述第二标志表示引用所述参数集合的当前分块组是否包括一个以上分块;
在确定所述第二标志表示引用所述参数集合的所述当前分块组包括一个以上分块之后,对所述图像中的所述当前分块组中的多个分块进行解码。
10.根据权利要求6所述的方法,其特征在于,所述处理器在所述分块组标头中解析所述分块信息包括:
对分块组标头中所述图像中的分块组的第一分块的分块ID进行解码;
确定所述标志是否表示已将所述译码图像的所述分块信息编码在所述分块组标头中,以及所述第二标志是否表示引用所述参数集合的当前分块组包括一个以上分块;
在确定所述标志表示已将所述译码图像的所述分块信息编码在所述分块组标头中,并且所述第二标志表示引用所述参数集合的所述当前分块组包括一个以上分块之后,对分块组标头中所述图像中的分块组的最后一个分块的分块ID进行解码。
11.根据权利要求6所述的方法,其特征在于,所述处理器解析表示参数集合中或分块组标头中是否存在译码图像的分块信息的所述标志包括:在确定所述参数集合中不存在表示所述译码图像的所述分块信息的所述标志之后,推断所述标志仅在所述分块组标头中存在。
12.根据权利要求1至11中任一项所述的方法,其特征在于,所述标志称为tile_group_info_in_pps_flag。
13.根据权利要求1至11中任一项所述的方法,其特征在于,所述第二标志称为single_tile_per_tile_group_flag。
14.根据权利要求1至11中任一项所述的方法,其特征在于,所述参数集合为图像参数集合。
15.根据权利要求1至11中任一项所述的方法,其特征在于,所述参数集合为序列参数集合。
16.根据权利要求1至11中任一项所述的方法,其特征在于,所述参数集合为视频参数集合。
17.一种视频译码设备,其特征在于,包括:
处理器、耦合到所述处理器的接收器,以及耦合到所述处理器的发送器,所述处理器、接收器和发送器用于执行根据权利要求1至16中任一项所述的方法。
18.一种非瞬时性计算机可读介质,其特征在于,包括用于视频译码设备的计算机程序产品,所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令,当处理器执行所述计算机可执行指令时,使得所述视频译码设备执行根据权利要求1至16中任一项所述的方法。
CN201980086865.5A 2018-12-31 2019-12-12 视频译码中的分块组指示 Pending CN113273196A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US62/785,517 2018-12-27
US201862785517P 2018-12-31 2018-12-31
US201962871024P 2019-07-05 2019-07-05
US62/871,024 2019-07-05
PCT/US2019/065909 WO2020142175A1 (en) 2018-12-31 2019-12-12 Tile group signaling in video coding

Publications (1)

Publication Number Publication Date
CN113273196A true CN113273196A (zh) 2021-08-17

Family

ID=71406745

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980086865.5A Pending CN113273196A (zh) 2018-12-31 2019-12-12 视频译码中的分块组指示

Country Status (10)

Country Link
US (2) US11284092B2 (zh)
EP (2) EP4376414A3 (zh)
JP (2) JP7368477B2 (zh)
KR (2) KR102660599B1 (zh)
CN (1) CN113273196A (zh)
HU (1) HUE066902T2 (zh)
MX (1) MX2021007872A (zh)
PL (1) PL3903492T3 (zh)
PT (1) PT3903492T (zh)
WO (1) WO2020142175A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10535357B2 (en) * 2017-10-05 2020-01-14 Qualcomm Incorporated Encoding or decoding of audio signals
CN113170201B (zh) * 2018-11-30 2024-04-12 夏普株式会社 用于对视频数据进行解码的方法和设备
WO2020142483A1 (en) * 2018-12-31 2020-07-09 Futurewei Technologies, Inc. Explicit address signaling in video coding
WO2020235659A1 (ja) * 2019-05-21 2020-11-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG11201500846TA (en) * 2012-09-26 2015-05-28 Panasonic Ip Corp America Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
CN104838654B (zh) * 2012-12-06 2018-11-06 索尼公司 解码装置、解码方法以及程序
CN109618235B (zh) 2013-01-18 2021-03-16 佳能株式会社 生成设备和方法、处理设备和方法以及存储介质
JP6271888B2 (ja) * 2013-07-12 2018-01-31 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
CN106664424A (zh) 2014-01-03 2017-05-10 诺基亚技术有限公司 参数集编码
US20150334425A1 (en) * 2014-05-14 2015-11-19 Blackberry Limited Adaptive context initialization
US10999590B2 (en) * 2018-12-28 2021-05-04 Tencent America LLC Method for identification of random access point and picture types

Also Published As

Publication number Publication date
KR20210105980A (ko) 2021-08-27
KR102660599B1 (ko) 2024-04-24
US20230336743A1 (en) 2023-10-19
EP3903492A1 (en) 2021-11-03
MX2021007872A (es) 2022-01-18
JP2023184565A (ja) 2023-12-28
EP3903492B1 (en) 2024-04-24
US20210235096A1 (en) 2021-07-29
PL3903492T3 (pl) 2024-07-29
US11284092B2 (en) 2022-03-22
WO2020142175A1 (en) 2020-07-09
JP7368477B2 (ja) 2023-10-24
JP2022533497A (ja) 2022-07-25
EP4376414A2 (en) 2024-05-29
EP3903492A4 (en) 2022-02-23
HUE066902T2 (hu) 2024-09-28
EP4376414A3 (en) 2024-07-31
KR20240063987A (ko) 2024-05-10
PT3903492T (pt) 2024-06-28
US11729401B2 (en) 2023-08-15
US20220174290A1 (en) 2022-06-02

Similar Documents

Publication Publication Date Title
CN112703743B (zh) 视频译码中的条带和分块
CN114189694B (zh) 用于视频译码的参数集
US12058347B2 (en) Flexible tile signaling in video coding
US11729401B2 (en) Tile group signaling in video coding
US11889087B2 (en) Tile group assignment for raster scan and rectangular tile groups in video coding
US11425377B2 (en) Arbitrary and wrap-around tile grouping
CN113243110A (zh) 视频译码中的显式地址指示
US12126817B2 (en) Tile group signaling in video coding

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