CN116055732A - 视频译码方法,设备以及非瞬时性计算机可读介质 - Google Patents

视频译码方法,设备以及非瞬时性计算机可读介质 Download PDF

Info

Publication number
CN116055732A
CN116055732A CN202211454883.4A CN202211454883A CN116055732A CN 116055732 A CN116055732 A CN 116055732A CN 202211454883 A CN202211454883 A CN 202211454883A CN 116055732 A CN116055732 A CN 116055732A
Authority
CN
China
Prior art keywords
image
tile
stripe
ctu
slice
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
CN202211454883.4A
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 CN116055732A publication Critical patent/CN116055732A/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/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/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/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/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/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/1883Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

本发明公开了一种视频译码方法,设备以及非瞬时性计算机可读介质。所述方法包括在解码器中接收码流,所述码流包括视频译码层(video coding layer,VCL)网络抽象层(network abstraction layer,NAL)单元,所述视频译码层网络抽象层单元包含划分成多个分块(tile)的图像数据的条带(slice)。确定所述VCL NAL单元中所述的分块的数量。还确定所述分块的入口点偏移的数量比VCL NAL单元中的所述分块的数量少一。所述入口点偏移的数量没有在码流中进行显示指示。根据所述入口点偏移的数量获取所述分块的所述入口点偏移。对所述入口点偏移处的分块进行解码以生成重建图像。

Description

视频译码方法,设备以及非瞬时性计算机可读介质
本申请是分案申请,原申请的申请号是201980060365.4,原申请日是2019年09月13日,原申请的全部内容通过引用结合在本申请中。
技术领域
本发明大体上涉及视频译码,具体地,涉及将图像分割成条带、分块和编码树单元(coding tree unit,CTU),以便增强视频译码中的压缩。
背景技术
即使视频相对较短,也需要大量的视频数据来描述,当数据要在带宽容量有限的通信网络中发送或以其它方式发送时,这样可能会造成困难。因此,视频数据通常要先压缩然后在现代电信网络中发送。由于内存资源可能有限,当在存储设备中存储视频时,视频的大小也可能成为问题。视频压缩设备通常在信源侧使用软件和/或硬件对视频数据进行编码,然后进行发送或存储,从而减少表示数字视频图像所需的数据量。然后,压缩数据在目的地侧由对视频数据进行解码的视频解压缩设备接收。在网络资源有限以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术在几乎不影响图像质量的情况下能够提高压缩比。
发明内容
在一个实施例中,本发明包括一种在解码器中实现的方法。所述方法包括:所述解码器的接收器接收包括编码图像的第一条带的码流,其中,所述编码图像与所述码流中的图像参数集(picture parameter set,PPS)相关联,并且所述第一条带与所述码流中的条带头相关联。所述方法还包括:所述解码器的处理器从所述PPS中解析出所述PPS中的一组标识符(a list ofidentifiers(IDs))。所述方法还包括:所述处理器从所述第一条带的所述条带头中解析出第一ID,其中,所述第一ID与在所述PPS中显示指示的所述一组ID中的一个ID匹配。所述方法还包括:所述处理器根据所述第一ID,确定编码在所述第一条带中的一组分块(a list of tiles)。所述方法还包括:所述处理器对所述第一条带进行解码,以生成所述编码图像的重建子图像。
一些视频译码系统使用条带,这些条带根据条带相对于图像的位置进行指示。如果请求图像的子图像,则可以发送与该子图像相关联的条带。然而,此类系统中的条带头根据寻址系统进行编写,所述寻址系统假定所有条带都存在。如果仅存在条带的子集,则服务器端的拼接器(splicer)重写条带头,以符合省略多余条带的新寻址方案。例如,子图像的第一条带应重新编址,使得无论在基础图像中第一条带使用的原始地址如何,左上顶点都是起始地址。本发明避免了在将子图像发送到解码器时重写条带头。例如,条带和其它子部分可以根据ID(如分块ID)进行寻址。此外,所有这类ID(例如,分块ID)在基础图像中都是唯一的,并且值按光栅扫描顺序(例如,从左上到右下)增加。因此,即使第一条带不含原始地址,解码器仍可以确定条带、分块、编码树单元(coding tree unit,CTU)、块等的地址和边界。使用这些机制,通过推断可预测地址和/或ID以及从码流中省略此类数据等方式,可以改进视频文件的压缩。这可以减少编码器和解码器侧的网络通信资源使用和内存资源使用。此外,避免重写条带头可以省去拼接器的一些或全部功能,从而为包含编码视频的文件服务器节省了大量系统资源(例如,为视频的每个用户请求节省了资源)。此外,这种寻址支持对不同条带进行并行处理(例如,由于条带地址是独立的),从而提高了解码器侧的解码速度。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述码流缺少所述编码图像的一个或多个第二条带,由于所述码流缺少所述第二条带,所述第一条带的所述条带头没有重写。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述编码图像包含多个分块,其中,所述多个分块中的每个分块包含唯一的分块ID。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述编码图像中所述多个分块的每个所述分块ID按光栅扫描顺序递增。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述编码图像中所述多个分块的每个所述分块ID按光栅扫描顺序单调递增。
权6
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述第一条带包括一个或多个分块,所述一个或多个分块是所述编码图像中所述多个分块的子集,其中,所述一个或多个分块分别与分块ID相关联,其中,所述一个或多个分块中的每个分块包括包含子图像数据的一个或多个编码树单元(coding tree unit,CTU),并且每个CTU根据包含所述CTU的所述分块进行寻址。
权6结束
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述码流缺少所述第一条带中所述一个或多个分块的一个或多个分块ID,并且所述第一条带中所述一个或多个分块的所述一个或多个分块ID根据所述第一条带的左上分块ID和右下分块ID进行推导。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述编码图像中所述多个分块的分块ID是被显式指示在所述PPS中的所述一组ID。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述编码图像中的所述多个分块用分块索引指定,其中,所述多个分块的所述分块ID与所述多个分块的分块索引不同,并且分块ID与分块索引之间的转换在所述码流中的所述PPS中指定。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述方法还包括在解码所述第一条带之前,从所述条带头确定所述一个或多个分块的入口点偏移。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述方法还包括:所述处理器将所述重建子图像作为重建视频序列的一部分转发至显示器。
权6
在一个实施例中,本发明包括一种在编码器中实现的方法。所述方法包括:所述编码器的处理器将图像分割成多个条带。所述方法还包括:所述处理器将所述多个条带分割成多个分块。所述方法还包括:所述处理器对所述多个条带进行编码。所述方法还包括:所述处理器对PPS中的一组ID进行编码。所述方法还包括:所述处理器将与第一条带相关联的第一ID编码到所述第一条带的条带头中。所述第一ID与所述PPS中所述一组ID中的一个ID匹配。所述方法还包括:发送器向解码器发送码流,所述码流包括所述条带头、所述PPS和所述第一条带。一些视频译码系统使用条带,这些条带根据条带相对于图像的位置进行指示。如果请求图像的子图像,则可以发送与该子图像相关联的条带。然而,此类系统中的条带头根据寻址系统进行编写,所述寻址系统假定所有条带都存在。如果仅存在条带的子集,则服务器端的拼接器重写条带头,以符合省略多余条带的新寻址方案。例如,子图像的第一条带应重新编址,使得无论在基础图像中第一条带使用的原始地址如何,左上顶点都是起始地址。本发明避免了在将子图像发送到解码器时重写条带头。例如,条带和其它子部分可以根据ID(如分块ID)进行寻址。此外,所有这类ID(例如,分块ID)在基础图像中都是唯一的,并且值按光栅扫描顺序(例如,从左上到右下)增加。因此,即使第一条带不含原始地址,解码器仍可以确定条带、分块、编码树单元(coding tree unit,CTU)、块等的地址和边界。使用这些机制,通过推断可预测地址和/或ID以及从码流中省略此类数据等方式,可以改进视频文件的压缩。这可以减少编码器和解码器侧的网络通信资源使用和内存资源使用。此外,避免重写条带头可以省去拼接器的一些或全部功能,从而为包含编码视频的文件服务器节省了大量系统资源(例如,为视频的每个用户请求节省了资源)。此外,这种寻址支持对不同条带进行并行处理(例如,由于条带地址是独立的),从而提高了解码器侧的解码速度。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述码流缺少所述图像的一个或多个第二条带,由于所述码流缺少所述第二条带,所述第一条带的所述条带头没有重写。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述多个分块中的每个分块包含唯一的分块ID。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述多个分块的每个所述分块ID按光栅扫描顺序递增。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述多个分块的每个所述分块ID按光栅扫描顺序单调递增。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述多个分块分别与分块ID相关联,其中,所述多个分块中的每个分块包括包含图像数据的一个或多个CTU,并且每个CTU根据包含所述CTU的所述分块进行寻址。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述码流缺少与所述第一条带相关联的一个或多个分块ID,以便根据所述第一条带的左上分块ID和右下分块ID推断所述一个或多个分块ID。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述图像的所述多个分块的分块ID是所述PPS中的所述一组ID。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述多个分块用分块索引指定,其中,所述多个分块的所述分块ID与所述多个分块的分块索引不同,所述方法还包括:所述处理器将分块ID与分块索引之间的转换编码到所述码流中的所述PPS中。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述方法还包括:所述处理器将所述第一条带中的条带的入口点偏移编码到所述条带头中。
在一个实施例中,本发明包括一种视频译码设备,包括处理器、与所述处理器耦合的接收器以及与所述处理器耦合的发送器。所述处理器、接收器和发送器用于执行上述任一方面提供的方法。
在一个实施例中,本发明包括一种非瞬时性计算机可读介质,包括供视频译码设备使用的计算机程序产品,其中,所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令,当处理器执行所述计算机可执行指令时,所述视频译码设备执行上述任一方面提供的方法。
在一个实施例中,本发明包括一种解码器,所述解码器包括接收模块,用于接收包括编码图像的第一条带的码流。所述编码图像与所述码流中的PPS相关联,其中,所述第一条带与所述码流中的条带头相关联。所述解码器还包括解析模块,用于解析出被显式指示在所述PPS中的一组ID,并从所述第一条带的所述条带头中解析出第一ID,其中,所述第一ID与所述PPS中所述一组ID中的一个ID匹配。所述解码器还包括确定模块,用于根据所述第一ID,确定编码在所述第一条带中一组分块。所述解码器还包括解码模块,用于对所述第一条带进行解码,以生成所述编码图像的重建子图像。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述解码器还用于执行上述任一方面提供的方法。
在一个实施例中,本发明包括一种编码器,所述编码器包括分割模块,用于将图像分割成多个条带,并将所述多个条带分割成多个分块。所述编码器还包括编码模块,用于对所述多个条带进行编码,并对PPS中的一组ID进行编码,并将与第一条带相关联的第一ID编码到所述第一条带的条带头中。所述第一ID与所述PPS中所述一组ID中的一个ID匹配;所述编码器还包括发送模块,用于向所述解码器发送码流,所述码流包括所述条带头、所述PPS和所述第一条带。
可选地,在上述任一方面中,提供了所述方面的另一种实现方式:所述编码器还用于执行上述任一方面提供的方法。
为了清楚起见,任一上述实施例可以与上述其它任意一个或多个实施例组合以创建在本发明范围内的新实施例。
根据以下具体实施方式结合附图和权利要求书能更清楚地理解这些和其它特征。
附图说明
为了更全面地理解本发明,现在参考下文结合附图和详细说明进行的简要描述,其中,相同的附图标记表示相同的部件。
图1为对视频信号进行译码的示例性方法的流程图。
图2为用于视频译码的示例性编码和解码(编解码)系统的示意图。
图3为示例性视频编码器的示意图。
图4为示例性视频解码器的示意图。
图5为包括经编码的视频序列的示例性码流的示意图。
图6为经分割以进行译码的示例性图像的示意图。
图7为具有在不重写条带头的情况下指示的感兴趣区域的示例性图像的示意图。
图8为示例性视频译码设备的示意图。
图9为将图像编码到码流中以便在不重写条带头的情况下指示感兴趣区域的示例性方法的流程图。
图10为对码流中的图像进行解码的示例性方法的流程图,其中,所述码流包含在不重写条带头的情况下指示的感兴趣区域。
图11为用于在未重写条带头的情况下指示码流中的感兴趣区域的示例性系统的示意图。
图12为将图像编码到码流中以便在不重写条带头的情况下指示感兴趣区域的另一种示例性方法的流程图。
图13为对码流中的图像进行解码的另一种示例性方法的流程图,其中,所述码流包含在不重写条带头的情况下指示的感兴趣区域。
具体实施方式
首先应理解,尽管下文提供了一个或多个实施例的说明性实现方式,但所公开的系统和/或方法可使用任何数量的技术来实现,无论这些技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实现方式、附图和技术,包括本文所说明并描述的示例性设计和实现方式,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
许多视频压缩技术可以用来减小视频文件的大小,同时尽量减少数据丢失。例如,视频压缩技术可以包括执行空间(例如帧内)预测和/或时间(例如帧间)预测来减少或去除视频序列中的数据冗余。对于基于块的视频译码,视频条带(例如视频图像或视频图像的一部分)可以分割成视频块,视频块还可以称为树块(treeblock)、编码树块(coding treeblock,CTB)、编码树单元(coding tree unit,CTU)、编码单元(coding unit,CU)和/或编码节点。图像的帧内译码(I)条带中的视频块参照同一个图像内邻块中的参考样本使用空间预测进行译码。图像的经帧间译码的单向预测(P)或双向预测(B)条带中的视频块可以参照同一个图像内邻块中的参考样本使用空间预测进行译码,或者参照其它参考图像内的参考样本使用时间预测进行译码。图像(picture/image)可以称为帧(frame),参考图像可以称为参考帧。空间预测或时间预测会产生表示图像块的预测块。残差数据表示原始图像块与预测块之间的像素差。相应地,帧间译码块根据运动矢量和残差数据进行编码,其中,运动矢量指向组成预测块的参考样本的块,残差数据指示编码块与预测块之间的差值。帧内译码块根据帧内编码模式和残差数据进行编码。为了进一步压缩,残差数据可以从像素域变换到变换域,从而产生可以进行量化的残差变换系数。量化变换系数最初可以以二维阵列排列。可以扫描量化变换系数,以产生变换系数的一维矢量。可以应用熵编码以实现进一步压缩。下文详细描述了这类视频压缩技术。
为了确保经编码视频能够正确解码,根据对应的视频译码标准对视频进行编码和解码。视频译码标准包括国际电联(International Telecommunication Union,ITU)标准化部门(International TelecommunicationUnion Standardization Sector,ITU-T)H.261、国际标准化组织/国际电工委员会(International Organization forStandardization/International Electrotechnical Commission,ISO/IEC)运动图像专家组(Motion Picture Experts Group,MPEG)-1第2部分、ITU-TH.262或ISO/IEC MPEG-2第2部分、ITU-T H.263、ISO/IEC MPEG-4第2部分、高级视频译码(advanced video coding,AVC)(还称为ITU-T H.264或ISO/IEC MPEG-4第10部分)以及高效视频译码(highefficiency video coding,HEVC)(还称为ITU-T H.265或MPEG-H第2部分)。AVC包括可分级视频译码(scalable video coding,SVC)、多视点视频译码(multiview video 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包含在工作草案(workingdraft,WD)中,其中包括JVET-K1001-v4和JVET-K1002-v1。
为了对视频图像进行译码,首先对该图像进行分割,然后将分割部分译码到码流中。存在各种图像分割方案。例如,一个图像可以分割成常规条带、非独立条带、分块,和/或根据波前并行处理(wavefront parallel processing,WPP)进行分割。为了简单起见,HEVC对编码器做了限制,使得在将条带分割成用于视频译码的CTB组时,只能使用常规条带、非独立条带、分块、WPP及其组合。这种分割能够支持最大传输单元(maximum transfer unit,MTU)大小匹配、并行处理和减少端到端时延。MTU表示能够在单个数据包中发送的最大数据量。如果数据包载荷超过MTU,则通过称为分片的过程将该载荷划分为两个数据包。
常规条带还简称为条带,是分割图像后得到的部分,可以独立于同一个图像内的其它常规条带重建,但是由于存在环路滤波操作,所以还是存在相互依赖性。每个常规条带封装在自身的网络抽象层(network abstraction layer,NAL)单元中进行发送。此外,帧内预测(帧内样本预测、运动信息预测、译码模式预测)和跨条带边界的熵编码依赖性可能被禁用,以支持独立重建。这种独立重建支持并行化。例如,基于常规条带的并行化最大程度地减少了处理器间或核间通信。然而,由于常规条带都是独立的,所以每个条带都与单独的条带头相关联。使用常规条带可能会产生大量译码开销,因为每个条带的条带头的比特成本高以及没有跨条带边界进行的预测。此外,可以使用常规条带,以支持MTU大小匹配需求。具体地,由于常规条带封装在单独的NAL单元中,并且可以独立译码,所以每个常规条带需要小于MTU方案中的MTU,以避免将条带分为多个数据包。因此,为了实现并行化和MTU大小匹配,图像内的条带布局可能互相矛盾。
非独立条带与常规条带类似,但条带头更短,并且可以在不影响帧内预测的情况下对图像树块边界进行分割。相应地,非独立条带允许将常规条带切成多个NAL单元,从而可以在完成整个常规条带的编码之前发送常规条带的一部分,从而降低端到端时延。
分块是图像内通过水平和垂直边界产生的分割部分,这些边界产生了分块列和分块行。分块可以按光栅扫描顺序(从右到左,从上到下)进行译码。CTB的扫描顺序在分块的内部。相应地,首先按光栅扫描顺序对第一分块内的CTB进行译码,然后进行到下一个分块内的CTB。与常规条带类似,分块消除了帧内预测依赖性以及熵解码依赖性。然而,分块可以不包括在单独的NAL单元中,因此,分块不能用于实现MTU大小匹配。每个分块可以由一个处理器/核处理,解码相邻分块的处理单元之间的帧内预测所使用的处理器间/核间通信仅限于传送共享的条带头(如果相邻分块在同一个条带内)以及共享与环路滤波相关的重建样本和元数据。当条带中包括一个以上分块时,除条带中的第一入口点(entry point)偏移之外,还可以在条带头中指示每个分块的入口点字节偏移。对于每个条带和分块,需要满足以下条件中的至少一个:(1)条带中的所有编码树块都属于同一个分块;(2)分块中的所有编码树块都属于同一个条带。
在WPP中,图像被分割成单行CTB。熵解码和预测机制可以使用其它行中的CTB的数据。对CTB行进行并行解码,可以实现并行处理。例如,当前行可以与前一行并行解码。然而,当前行的解码比前一行的解码过程延迟两个CTB。这种延迟确保与位于当前行中的当前CTB上方和右上方的CTB相关的数据在解码当前CTB之前可用。当用图形表示时,该方法表现为波阵面。这种交错式开始解码可以使用与图像内包括的CTB行一样多的处理器/核来实现并行化。由于支持在图像内的相邻树块行之间进行帧内预测,所以可能需要大量处理器间/核间通信来实现帧内预测。WPP分割不考虑NAL单元大小。因此,WPP不支持MTU大小匹配。然而,常规条带可以与WPP结合使用,利用一定的译码开销,根据需要实现MTU大小匹配。
分块还可以包括运动约束分块集。运动约束分块集(motion constrained tileset,MCTS)是一种分块集,使得相关的运动矢量被限制为指向MCTS内部的整像素位置以及指向仅需要MCTS内部的整像素位置进行插值的分数像素位置。此外,禁止使用根据MCTS之外的块推导的用于时间运动矢量预测的运动矢量候选项。这样一来,每个MCTS可以独立解码,不需要MCTS中不包括的分块。时间MCTS补充增强信息(supplemental enhancementinformation,SEI)消息可以用于指示MCTS存在于码流中并指示(signal)MCTS。MCTS SEI消息提供补充信息(详述为SEI消息语义的一部分),该补充信息可以用于提取MCTS子码流,以生成用于MCTS集的一致性码流。该信息包括多个提取信息集,每个提取信息集定义多个MCTS集并且包括要在MCTS子码流提取过程使用的替换视频参数集(video parameter set,VPS)、序列参数集(sequence parameter set,SPS)和图像参数集(picture parameterset,PPS)的原始字节序列载荷(raw bytes sequence payload,RBSP)字节。当根据MCTS子码流提取过程提取子码流时,参数集(VPS、SPS和PPS)可能会重写或替换,而且条带头可能会更新,因为一个或所有条带地址相关的语法元素(包括first_slice_segment_in_pic_flag和slice_segment_address)会使用所提取的子码流中的不同值。
上述分块和条带机制为支持MTU大小匹配和并行处理提供了极大的灵活性。然而,随着电信网络的速度和可靠性不断提高,MTU大小匹配变得不那么重要。例如,MTU大小匹配的主要用途之一是支持显示错误隐藏图像。错误隐藏图像是指在发生某种数据丢失时,从发送的编码图像创建的解码图像。这种数据丢失可以包括编码图像的一些条带的丢失或编码图像使用的参考图像的错误(例如,参考图像也是错误隐藏图像)。可以通过显示正确条带并估计错误条带,例如通过从视频序列中的前一个图像复制与错误条带对应的条带,来创建错误隐藏图像。当每个条带包含在单个NAL单元中时,可以生成错误隐藏图像。然而,如果条带被分割到多个NAL单元中(例如,没有MTU大小匹配),则丢失一个NAL单元可能会损坏多个条带。错误隐藏图像的生成在现代网络环境中不那么重要,因为数据包丢失的情况少得多,而且现代网络速度允许系统完全省略具有错误的图像,而不会造成严重的视频卡顿,这是因为错误图像与后续错误较少的图像之间的延迟通常较小。此外,用于估计错误隐藏图像的质量的过程是复杂的,因此直接省略错误图像是有利的。因此,视频对话应用,如视频会议和视频电话,甚至广播应用通常都放弃使用错误隐藏图像。
由于错误隐藏图像的用处不大,因此MTU大小匹配的用处也不大。此外,在分割时继续支持MTU大小匹配范式会不必要地使译码系统复杂化并且使用多余的位,而这些位本来可以省略以提高译码效率。此外,一些分块方案(例如,MCTS)允许显示图像的子图像。为了显示子图像,显示感兴趣区域中的条带,而省略其它条带。感兴趣区域可以开始于图像的左上部分之外的位置,因此可以具有相对图像的开始偏移某变量值的地址。为了正确显示子图像,可以使用拼接器重写感兴趣区域的一个或多个条带头,以考虑此偏移。不需要这种条带头重写的条带和分块方案是有益的。此外,分块边界不能视为图像边界,除非它们与图像边界并置。然而,在某些情况下,由于边界填充以及放松与指向参考图像中边界之外的样本的运动矢量相关的约束,将分块边界视为图像边界可以提高译码效率。此外,HEVC可以在每个CTU的编码数据末尾使用名为end_of_slice_flag的标志,以指示是否已到达条带的结尾。出于相同的目的,AVC在每个宏块(macroblock,MB)的编码数据末尾使用该标志。然而,当最后一个CTU/MB通过其它机制已知时,没有必要对该标志进行译码,避免占用更多的位。本发明提供了用于解决视频译码领域中的这些问题和其它问题的机制。
本文公开了各种机制,用于提高译码效率并减少与上述条带和分块方案相关的处理开销。例如,在一些译码系统中,可以将感兴趣区域发送到解码器以进行解码。感兴趣区域为图像的子图像。在一些系统中,子图像寻址方案与子图像在图像中的位置相关。然而,解码器期望子图像寻址方案是独立的。例如,解码器期望子图像寻址从零位置(例如,左上顶点)开始,而不是从任意起始位置开始。因此,这类系统可以重写子图像中的条带的条带头,以考虑编码器侧的子图像寻址和解码器侧的子图像寻址的差异。所公开的机制采用一种寻址方案,该寻址方案减少了对感兴趣区域执行这种条带头重写的需求。在一个示例中,条带包括整数个分块。此外,可以为分块分配分块标识符(identifier,ID),这些标识符在图像中是唯一的,并且按光栅顺序递增。这允许根据分块ID而不是根据在图像内的相对位置来指示条带的边界。例如,子图像的条带边界可以根据左上分块ID和右下分块ID来指示。然后,解码器可以根据分块ID和基于分块的地址对条带进行解码,而不管编码器侧子图像在图像中的相对位置如何。这样一来,不需要调整子图像的条带地址,使得子图像的第一条带在零位置(例如,左上顶点)处被寻址。因此,避免了条带头重写。这些示例和其它示例在下文详细描述。
图1为对视频信号进行译码的示例性操作方法100的流程图。具体地,编码器对视频信号进行编码。编码过程采用各种机制来压缩视频信号,以减小视频文件大小。较小的文件大小允许在减少相关的带宽开销的同时,将压缩的视频文件发送至用户。然后,解码器对压缩的视频文件进行解码,以重建原始视频信号,向终端用户显示。解码过程通常是编码过程的逆过程,使得解码器重建的视频信号与编码器侧的视频信号保持一致。
在步骤101中,将视频信号输入编码器中。例如,所述视频信号可以是存储在存储器中的未压缩视频文件。在另一示例中,视频文件可以由视频捕获设备(例如摄像机)捕获,并且进行编码以支持视频的直播流传输。所述视频文件可以包括音频分量和视频分量。所述视频分量包括一系列图像帧。按顺序观看这些图像帧时,给人以运动的视觉效果。这些帧包括根据光(本文称为亮度分量(或亮度样本))和颜色(称为色度分量(或色度样本))表示的像素。在一些示例中,这些帧还可以包括深度值以支持三维观看。
在步骤103中,将视频分割成块。分割包括将每一帧中的像素细分成方块和/或矩形块,以进行压缩。例如,在高效视频译码(high efficiency video coding,HEVC)(还称为H.265和MPEG-H第2部分)中,可以先将帧分成编码树单元(coding tree unit,CTU),这些CTU是预定义大小(例如,64个像素×64个像素)的块。这些CTU包括亮度样本和色度样本。可以使用编码树将CTU分成块,然后递归地细分这些块,直到获得支持进一步编码的配置。例如,可以对帧的亮度分量进行细分,直到各个块包括相对均匀的亮度值。此外,可以对帧的色度分量进行细分,直到各个块包括相对均匀的色值。因此,分割机制根据视频帧的内容而不同。
在步骤105中,采用各种压缩机制对在步骤103中分割的图像块进行压缩。例如,可以采用帧间预测和/或帧内预测。帧间预测利用共同场景中的对象往往出现在连续帧中这一事实。因此,描绘参考帧中的对象的块不需要在相邻帧中进行重复描述。具体地,一个对象(如一张桌子)可以在多个帧中保持恒定的位置。因此,只描述一次桌子,相邻帧就可以回指参考帧。可以采用模式匹配机制来匹配多个帧中的对象。此外,由于对象移动或摄像机移动等,移动对象可以通过多个帧表示。在特定示例中,视频可以通过多个帧显示在屏幕上移动的汽车。运动矢量可以用来描述这种移动。运动矢量是一个二维矢量,提供从帧中对象的坐标到参考帧中该对象的坐标的偏移。因此,帧间预测可以将当前帧中的图像块编码为运动矢量集,这些运动矢量指示当前帧中的图像块与参考帧中的对应块之间的偏移。
帧内预测对公共帧中的块进行编码。帧内预测利用亮度分量和色度分量往往在帧中聚集这一事实。例如,一棵树某个部分的一片绿色往往与类似的几片绿色相邻。帧内预测采用多种方向性预测模式(例如,HEVC中有33种)、平面模式和直流(direct current,DC)模式。这些方向性模式表示当前块的样本与对应方向上邻块的样本相似/相同。平面模式表示一行/列(例如平面)上的一系列块可以根据该行的边缘处的邻块进行插值。实际上,平面模式通过采用变化值的相对恒定的斜率来指示光/颜色在行/列上的平滑转变。DC模式用于边界平滑,表示块与所有邻块的样本的平均值相似/相同,这些邻块与方向性预测模式的角方向相关。因此,帧内预测块可以将图像块表示为各种关系预测模式值而非实际值。此外,帧间预测块可以将图像块表示为运动矢量值而非实际值。在任一种情况下,预测块在某些情况下可能无法准确地表示图像块。所有差值都存储在残差块中。可以对残差块进行变换以进一步压缩文件。
在步骤107中,可以使用各种滤波技术。在HEVC中,根据环内滤波方案使用滤波器。上文描述的基于块的预测可能会在解码器侧产生块状图像。此外,基于块的预测方案可以对块进行编码,然后重建编码块,以供以后用作参考块。环内滤波方案迭代地将噪声抑制滤波器、去块效应滤波器、自适应环路滤波器和样本自适应偏移(sample adaptive offset,SAO)滤波器应用于块/帧。这些滤波器减少了此类块伪影,从而可以准确地重建编码文件。此外,这些滤波器减少了重建参考块中的伪影,使得伪影不太可能在基于重建参考块编码的后续块中产生其它的伪影。
在步骤109中,一旦对视频信号进行了分割、压缩和滤波,则将所得到的数据编码到码流中。所述码流包括上述数据以及支持在解码器侧进行适当的视频信号重建所需要的任何指示数据。例如,此类数据可以包括分割数据、预测数据、残差块和向解码器提供译码指令的各种标志。所述码流可以存储在存储器中,以便在请求时发送至解码器。所述码流还可以广播和/或组播到多个解码器。创建码流是一个迭代过程。因此,步骤101、步骤103、步骤105、步骤107和步骤109可以在多个帧和块中连续和/或同时执行。图1所示的顺序是为了清楚和便于描述而呈现的,并非旨在将视频译码过程限制于特定顺序。
在步骤111中,所述解码器接收所述码流,开始解码过程。具体地,解码器采用熵解码方案将码流转换为对应的语法数据和视频数据。在步骤111中,所述解码器使用所述码流中的语法数据来确定帧的分割部分。分割应该与步骤103中的块分割的结果匹配。下面描述在步骤111中采用的熵编码/解码。编码器在压缩过程中做出许多选择,例如根据一个或多个输入图像中的值的空间位置从若干个可能选择中选择块分割方案。指示确切的选择可能会占用大量的位元。本文中使用的位元是被视为变量的二进制值(例如,可能根据上下文变化的比特值)。熵编码允许编码器丢弃任何明显不适合特定情况的选项,从而留下一组可使用选项。然后,为每个可使用选项分配码字。码字的长度取决于可使用选项的数量(例如,一个位元对应两个选项,两个位元对应三个或四个选项等)。然后,编码器对所选选项的码字进行编码。该方案减小了码字的大小,因为码字的大小与唯一地指示从可使用选项的小子集中进行选择,而非唯一指示从所有可能选项的潜在大集中进行选择所需要的码字一样大。然后,解码器通过以与编码器类似的方式确定可使用选项集来对所述选择进行解码。通过确定可使用选项集,解码器可以读取码字并确定编码器做出的选择。
在步骤113中,所述解码器执行块解码。具体地,解码器进行逆变换,生成残差块。然后,解码器使用残差块和对应的预测块,根据分割来重建图像块。所述预测块可以包括编码器在步骤105中生成的帧内预测块和帧间预测块。然后,根据在步骤111中确定的分割数据将重建图像块放置在重建视频信号的帧中。还可以通过上文描述的熵编码在码流中指示用于步骤113的语法。
在步骤115中,以类似于编码器侧的步骤107的方式对重建视频信号的帧执行滤波。例如,可以将噪声抑制滤波器、去块效应滤波器、自适应环路滤波器和SAO滤波器应用于帧,以去除块伪影。一旦对帧进行了滤波,则在步骤117中,可以将视频信号输出到显示器,以供终端用户观看。
图2为用于视频译码的示例性编码和解码(编解码)系统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的对应语法指令。划分模式可以包括二叉树(binary tree,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 ofabsolute difference,SAD)、平方差异和(sum of square difference,SSD)或其它差异度量来确定。HEVC采用若干个译码对象,包括CTU、编码树块(coding treeblock,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将根据亮度分量计算的运动矢量用于色度分量和亮度分量。将预测块和残差块转发至变换缩放和量化组件21 3。
还将经分割的视频信号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可以对亮度分量和色度分量进行操作。
变换缩放和量化组件21 3用于进一步压缩残差块。变换缩放和量化组件21 3对残差块进行离散余弦变换(discrete cosine transform,DCT)、离散正弦变换(discretesine 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 binaryarithmetic coding,SBAC)、概率区间分割熵(probability interval partitioningentropy,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进行解码。在另一示例中,在方法100的步骤109中,码流500可以由编码器生成,由解码器在步骤111中使用。
码流500包括序列参数集(sequence parameter set,SPS)510、多个图像参数集(picture parameter sets,PPS)512、多个条带头514和图像数据520。SPS 510包括码流500中包括的视频序列中的所有图像共有的序列数据。这些数据可以包括图像大小、位深度、译码工具参数、码率限制等。PPS 512包含每个图像的特定参数。因此,视频序列中的每个图像可以有一个PPS 512。PPS 512可以表示对应图像中的条带可使用的译码工具、量化参数、偏移、图像专用译码工具参数(例如滤波器控制参数)等。条带头514包含图像中的每个条带的特定参数。因此,视频序列中的每个条带可以有一个条带头514。条带头514可以包含条带类型信息、图像顺序计数(picture order count,POC)、参考图像列表、预测权重、分块入口点、去块参数等。
图像数据520包括根据帧间预测和/或帧内预测进行编码的视频数据以及对应的变换和量化残差数据。这类图像数据520根据编码之前对图像进行分割的分割类型进行分类。例如,图像数据520中的图像被划分为条带521。每个条带521被进一步划分为分块523。分块523被进一步划分为CTU 527。CTU 527根据编码树被进一步划分为编码块。然后,编码块可以根据预测机制进行编码/解码。图像可以包含一个或多个条带521。每个条带521使用一个条带头514。每个条带521可以包含一个或多个分块523,然后,分块523可以包含多个CTU 527。
每个条带521可以是由左上顶点的分块523和右下顶点的分块523定义的矩形。与其它译码系统不同,条带521可能不遍历图像的整个宽度。条带521为解码器可以单独显示的最小单元。因此,将条带521划分成更小的单元允许以粒度足以显示图像的期望区域的方式生成子图像。例如,在虚拟现实(virtual reality,VR)环境中,图像可以包含整个可视数据范围,但是用户只能看到头戴式显示器上的子图像。较小的条带521允许单独指示这类子图像。条带521通常也在单独的VCL NAL单元533中进行指示。此外,条带521可以不根据其它条带521进行预测,从而可以独立于其它条带521对每个条带521进行译码。
条带521被分割成整数个分块523。分块523是由水平和垂直边界产生的条带521的分割部分。分块523可以按光栅扫描顺序进行译码,并且在不同的示例中,可以(或可以不)根据其它分块523进行预测。每个分块523在图像中可以具有唯一的分块ID 524。分块ID524是可以用于将一个分块523与其它分块区分开的数字标识符。分块ID 524可以取分块索引的值,分块索引的值按光栅扫描顺序数字增加。光栅扫描顺序为从左到右,从上到下。分块ID524还可以使用其它数值。然而,分块ID 524应始终按光栅扫描顺序递增以支持本文描述的计算。例如,可以根据条带521的左上顶点处的分块523的分块ID 524以及条带521的右下顶点处的分块523的分块ID 524确定条带521的边界。当分块ID 524是与分块索引不同的值时,可以在码流500中(例如在PPS 512中)指示转换机制。此外,每个分块523可与入口点偏移525相关联。入口点偏移525表示与分块523相关联的编码数据的第一个位的位置。第一个分块523的入口点偏移525可以为零,其它分块523的入口点偏移525可以分别等于前一个分块523中的编码数据的位数。因此,可以推断出入口点偏移525的数量比分块523的数量少一。
分块523被进一步划分为CTU 527。CTU 527为分块523的子部分,该子部分可以通过编码树结构进一步细分为编码块,这些编码块可以由编码器编码并由解码器解码。CTU527分别与CTU地址529相关联。CTU地址529表示码流500中对应CTU 527的位置。具体地,CTU地址529可以表示在VCLNAL单元533中对应CTU 527的位置。在一些示例中,CTU527的CTU地址529可以(例如)被显式指示在PPS 512中。在其它示例中,可以由解码器推导出CTU地址529。例如,可以根据包含对应CTU 527的分块523的分块ID 524来分配CTU地址529。在这种情况下,解码器可以根据左上和右下分块523的分块ID 524确定条带521中的分块523。然后,解码器可以使用条带521中所确定的分块523来确定条带521中CTU 527的数量。此外,解码器可以使用已知的分块ID 524和CTU 527的数量来确定CTU地址529。此外,由于解码器知道CTU 527的数量,因此可以省略指示每个CTU 527是否为VCL NAL单元533中的最后一个CTU 527的标志。这是因为解码器可以通过知道VCL NAL单元533中包含的条带521中的CTU527的数量来确定哪个CTU 527为VCL NAL单元533中的最后一个CTU 527。然而,在一些示例中,填充位可以放置在分块523中的最后一个CTU527之后,以便帮助区分分块523。可以发现,根据分块ID 524指示条带521边界可以使解码器推断出大量数据,然后,这些数据可以从码流500中省略以提高译码效率。
码流500置于VCL NAL单元533和非VCL NAL单元531中。NAL单元是编码数据单元,其大小可设置为单个数据包的有效载荷,以便通过网络进行发送。VCL NAL单元533是包含经编码的视频数据的NAL单元。例如,每个VCLNAL单元533可包含数据的一个条带521,所述数据包括对应的分块523、CTU 527和编码块。非VCL NAL单元531是包含支持语法但不包含经译码的视频数据的NAL单元。例如,非VCL NAL单元531可以包含SPS 510、PPS 512、条带头514等。因此,解码器在离散VCL NAL单元533和非VCL NAL单元531中接收码流500。在流式应用中,解码器可以在无需等待接收整个码流500的情况下对当前视频数据进行解码。因此,分块ID 524、入口点偏移525和CTU地址529可以使解码器正确定位VCL NAL单元533中的视频数据,以用于快速解码、并行处理和其它视频显示机制。因此,计算分块ID 524、入口点偏移525和/或CTU地址529可以实现高效的解码和显示机制,同时减小码流500的大小,从而提高译码效率。
图6为经分割以进行译码的示例性图像600的示意图。例如,图像600可以由编解码系统200、编码器300和/或解码器400等编码到码流500中以及从码流500中解码。此外,可以对图像600进行分割,以支持方法100提供的编码和解码。
图像600可以分割成条带621、分块623和CTU 627。条带621、分块623和CTU 627可以分别实质上类似于条带521、分块523和CTU 527。在图6中,条带621用粗线显示,通过交替的白色背景和散列以图形的方式区分各条带621。分块623用虚线示出。位于条带621边界上的分块623边界显示为粗虚线,而不位于条带621边界上的分块623边界显示为细虚线。CTU627边界显示为细实线,但由分块623边界或条带621边界覆盖的CTU 627边界除外。在该示例中,图像600包括9个条带621、24个分块623和216个CTU 627。
如图所示,条带621是具有边界的矩形,这些边界可以由所包含的分块623限定。条带621可能不会跨越图像600的整个宽度延伸。分块623可以根据行和列在条带621中生成。然后,CTU 627可以从分块623中分割出来,以产生图像600的分割部分,这些分割部分适于细分成编码块,从而根据帧间预测和/或帧内预测进行译码。
采用上述方法,可以改进视频译码系统。例如,条带设计成使得条带中包含的CTU并非简单的是按照图像的CTU光栅扫描顺序的图像的CTU集合。而是条带定义为覆盖图像的矩形区域的CTU集合。此外,每个条带位于自己的NAL单元中。此外,条带中包含的CTU的地址可以通过在条带头中按条带中左上CTU和右下CTU的光栅扫描顺序指示CTU地址来指示。此外,条带设计成包含并且仅包含覆盖图像的矩形区域的完整分块的集合。每个条带位于自己的NAL单元中。这样一来,具有一个以上条带可以是为了将覆盖图像的矩形区域的分块集合放入NAL单元中。在某些情况下,图像中具有一个或多个条带,这些条带中的每个条带可以包含覆盖矩形区域的完整分块的集合。图像中还可以有覆盖图像的其余分块的另一个条带。该条带所覆盖的区域可以是具有孔的矩形区域,该孔由其它条带覆盖。例如,对于感兴趣区域,图像可以包含两个条带,其中,一个条带包含覆盖感兴趣区域的完整分块的集合,而另一个条带包含图像的剩余分块。
条带中包含的CTU的地址可以通过条带中包含的分块的分块ID显式地或隐式地指示。为了实现高效的指示,在一些示例中,可以仅指示左上分块和右下分块的分块ID。为了进一步提高指示效率,可以指示表示条带是否包含单个分块的标志,如果包含,则仅指示一个分块ID。在其它情况下,指示条带中包含的所有分块ID。在一些示例中,为分块ID分配的值与图像中的分块索引相同。可以根据图像中的分块数量推导用于指示条带头中的分块ID的位的长度(例如,图像中分块数量的以2为底的对数的cell运算),所述分块ID用于推导条带中包含的CTU的地址。图像中的分块数量可以被显式指示在参数集中,也可以根据参数集中指示的分块配置进行推导。在一些示例中,可以在参数集中指示被显式指示在条带头中的分块ID的位长度,所指示的分块ID用于推导条带中包含的CTU的地址。在一些示例中,推导入口点数量并且不在条带头中指示入口点数量,所述入口点数量等于条带中的分块数量减1。在另一示例中,避免了为每个CTU指示标志,该标志表示该CTU是否为条带的结尾。
在一些示例中,条带和分块设计成使得在从码流中提取分块集合(如运动约束分块集(motion constrained tile set,MCTS))时不需要重写条带头,从而创建一致性子码流。例如,可以在指示分块配置的参数集中显式指示每个分块的分块ID。分块ID在图像内都是唯一的。分块ID在图像内可以不是连续的。然而,应当在图像的分块光栅扫描的方向上按递增顺序(例如,单调递增)组织分块ID。由此,图像中条带的解码顺序可以限制为按左上分块的分块ID的递增值。当分块ID没有被显式指示并推断为与分块索引相同时,以下内容可用于在条带头中指示分块ID值。可以指示表示条带是否为图像的第一个条带的标志。当该标志表示条带为图像的第一个条带时,可以省略对该条带的左上分块的分块ID的指示,因为可以推断该左上分块为具有最低分块索引的分块(例如,分块索引零-假定分块索引从零开始)。
在另一示例中,图像可以包含0个、1个或多个MCTS。MCTS可以包含一个或多个分块。当条带中的分块为MCTS的一部分时,对MCTS进行约束,使得条带中的所有分块都是同一个MCTS的一部分。可以对条带进行进一步约束,使得包含MCTS的分块的所有图像的分块配置在MCTS内分块的位置和大小方面是相同的。在一些示例中,对条带进行约束,使得MCTS只包含在条带中。这有两个结果。在这种情况下,每个MCTS都在单独的NAL单元中。此外,每个MCTS为矩形。
MCTS的指示可以如下。标志可以在条带头中指示,以表示在包含对应条带的访问单元中,条带是否包含具有MCTS的NAL单元。MCTS的其它支持信息(例如,通过提取MCTS产生的子码流的档次(profile)、层次(tier)和级别(1evel)信息)在SEI消息中指示。或者,MCTS的标志指示和支持信息都可以在SEI消息中指示。为了能够(例如)在指示档次配置的参数集中指示将MCTS边界视为图像边界,指示表示是否将所有分块边界视为与图像边界相同的语法元素。此外,例如当其它语法元素不表示将所有分块边界视为与图像边界相同时,可以在条带头中指示表示是否将条带的所有条带边界视为与图像边界相同的语法元素。
只有当语法没有表示所有分块边界均视为与图像边界相同时,才可以指示表示是否可以跨每个分块边界应用环内滤波操作的语法元素。在这种情况下,将分块边界视为图像边界表示:除其它方面外,不能跨每个分块边界应用环内滤波操作。在其它示例中,表示是否可以跨每个分块边界应用环内滤波操作的语法元素与是否将所有分块边界视为与图像边界相同的指示无关。在这种情况下,将分块边界视为图像边界表示仍然可以跨每个分块边界应用环内滤波操作。
在一些示例中,将MCTS边界视为图像边界。此外,还可以使条带头中表示是否将分块边界视为与图像边界相同的语法元素作为表示条带是否包含MCTS的标志的条件。在某些情况下,当条带头中的标志表示条带包含MCTS时,可以推断表示将MCTS边界视为图像边界的标志的值。
如果表示将分块或条带的边界视为图像边界,则适用以下内容。在时间亮度运动矢量预测的推导过程中,该过程中使用的右侧和下方图像边界位置(分别用pic_height_in_luma_samples-1和pic_width_in_luma_samples-1表示)分别替换为分块或条带的右侧和下方边界位置(以亮度样本为单位)。在亮度样本插值过程中,该过程中使用的左侧、右侧、上方和下方图像边界位置(分别用0、pic_height_in_luma_samples-1、0、pic_width_in_luma_samples-1表示)分别替换为分块或条带的左边界、右边界、上边界和下边界位置(以亮度样本为单位)。在色度样本插值过程中,该过程中使用的左侧、右侧、上方和下方图像边界位置(分别用0、pic_height_in_luma_samples/SubWidthC-1、0、pic_width_in_luma_samples/SubWidthC-1表示)分别替换为分块或条带的左边界、右边界、上边界和下边界位置(以色度样本为单位)。
上述机制可以如下实现。条带定义为覆盖图像的矩形区域并且仅包含在单个NAL单元中的整数个分块。条带头定义为编码条带的一部分,其中包含与条带中表示的所有分块相关的数据元素。分块定义为图像中特定分块列和特定分块行内的CTU的矩形区域。分块列定义为CTU的矩形区域,其高度等于图像的高度,宽度由图像参数集中的语法元素指定。分块行定义为CTU的矩形区域,其高度由图像参数集中的语法元素指定,宽度等于图像的宽度。分块扫描定义为对分割进行图像的CTU的特定有序排列,其中,CTU在分块中的CTU光栅扫描中连续排列,而图像中的分块在图像的分块光栅扫描中连续排列。
此部分指定将图像分割成条带和分块的方式。图像划分为条带和分块。条带是覆盖图像的矩形区域的分块序列。分块是覆盖图像的矩形区域的CTU序列。
当图像使用三个独立的颜色平面(separate_colour_plane_flag等于1)进行译码时,条带只包含一个颜色分量的CTU,该颜色分量通过colour_plane_id的对应值标识,图像的每个颜色分量阵列包括具有相同colour_plane_id值的条带。图像内具有不同colour_plane_id值的编码条带可以在以下约束下相互交织:对于每个colour_plane_id值,具有该colour_plane_id值的编码条带NAL单元应按照在每个编码条带NAL单元的第一个CTU的分块扫描顺序中递增CTU地址的顺序。需要说明的是,当separate_colour_plane_flag等于0时,图像的每个CTU恰好包含在一个条带中。当separate_colour_plane_flag等于1时,颜色分量的每个CTU恰好包含在一个条带中(例如,图像的每个CTU的信息恰好存在于三个条带中,这三个条带具有不同的colour_plane_id值)。
本说明书的处理元件的以下划分形成空间或逐分量分割:将每个图像划分为分量;将每个分量划分为CTB;将每个图像划分为分块列;将每个图像划分为分块行;将每个分块列划分为分块;将每个分块行划分为分块;将每个分块划分为CTU;将每个图像划分为条带;将每个条带划分为分块;将每个条带划分为CTU;将每个CTU划分为CTB;将每个CTB划分为编码块,但当分量宽度不是CTB大小的整数倍时,右侧分量边界处的CTB不完整,当分量高度不是CTB大小的整数倍时,下方分量边界处的CTB不完整;将每个CTU划分为编码单元,但当图像宽度以亮度样本计算不是亮度CTB大小的整数倍时,右侧图像边界处的CTU不完全,当图像高度以亮度样本计算不是亮度CTB大小的整数倍时,下方图像边界处的CTU不完全;将每个编码单元划分为变换单元;将每个编码单元划分为编码块;将每个编码块划分为变换块;将每个变换单元划分为变换块。
用于邻块可用性的推导过程的输入为:当前块的左上样本相对于当前图像的左上亮度样本的亮度位置(xCurr,yCurr),以及由邻块覆盖的相对于当前图像的左上亮度样本的亮度位置(xNbY,yNbY)。该过程的输出为覆盖位置(xNbY,yNbY)的邻块的可用性,表示为availableN。邻块可用性availableN如下推导。当满足以下一个或多个条件时,availableN设置为假(false)。包含邻块的条带的top_left_tile_id与包含当前块的条带的top_left_tile_id的值不同,或者邻块包含在与当前块不同的分块中。
CTB光栅和分块扫描过程如下。列表ColWidth[i]表示以CTB为单位的第i个分块列的宽度,其中,i的范围为0到hum_tile_columns_minus1(包括端值),该列表ColWidth[i]如下推导。
Figure BDA0003951928490000191
列表RowHeight[j]表示以CTB为单位的第j个分块行的高度,其中,j的范围为0到num_tile_rows_minus1(包括端值),该列表RowHeight[j]如下推导。
Figure BDA0003951928490000192
列表ColBd[i]表示以CTB为单位的第i个分块列边界的位置,其中,i的范围为0到num_tile_columns_minus1+1(包括端值),该列表ColBd[i]如下推导。
for(ColBd[0]=0,i=0;i<=num_tile_columns_minus 1;i++)
ColBd[i+1]=ColBd[i]+ColWidth[i]    (6-3)
列表RowBd[j]表示以CTB为单位的第j个分块行边界的位置,其中,j的范围为0到num_tile_rows_minus1+1(包括端值),该列表RowBd[j]如下推导。
for(RowBd[0]=0,j=0;j<=num_tile_rows_minus1;j++)
RowBd[j+1]=RowBd[j]+RowHeight[j]    (6-4)
列表CtbAddrRsToTs[ctbAddrRs]表示从图像的CTB光栅扫描中的CTB地址到分块扫描中的CTB地址的转换,其中,ctbAddrRs的范围为0到PicSizeInCtbsY-1(包括端值),该列表CtbAddrRsToTs[ctbAddrRs]如下推导。
Figure BDA0003951928490000193
Figure BDA0003951928490000201
列表CtbAddrTsToRs[ctbAddrTs]表示从分块扫描中的CTB地址到图像的CTB光栅扫描中的CTB地址的转换,其中,ctbAddrTs的范围为0到PicSizeInCtbsY-1(包括端值),该列表CtbAddrTsToRs[ctbAddrTs]如下推导。
for(ctbAddrRs=0;ctbAddrRs<PicSizeInCtbsY;ctbAddrRs++)    (6-6)CtbAddrTsToRs[CtbAddrRsToTs[ctbAddrRs]]=ctbAddrRs
列表TileId[ctbAddrTs]表示从分块扫描中的CTB地址到分块ID的转换,其中,ctbAddrTs的范围为0到PicSizeInCtbsY-1(包括端值),该列表TileId[ctbAddrTs]如下推导。
Figure BDA0003951928490000202
列表NumCtusInTile[tileIdx]表示从分块索引到分块中CTU数量的转换,其中,tileIdx的范围为0到PicSizeInCtbsY-1(包括端值),该列表NumCtusInTile[tileIdx]如下推导。
Figure BDA0003951928490000203
一组NumTilesInPic tileId值的集合TileIdToIdx[tileId]表示从分块ID到分块索引的转换,列表FirstCtbAddrTs[tileIdx](其中,tileIdx的范围为0到NumTilesInPic-1(包括端值))表示从分块ID到分块中第一个CTB的分块扫描中的CTB地址的转换,它们如下推导。
Figure BDA0003951928490000204
Figure BDA0003951928490000211
ColumnWidthInLumaSamples[i]的值表示以亮度样本为单位的第i个分块列的宽度,并设置为等于ColWidth[i]<<CtbLog2SizeY,其中,i的范围为0到num_tile_columns_minus1(包括端值)。RowHeightInLumaSamples[j]的值表示以亮度样本为单位的第j个分块行的高度,并设置为等于RowHeight[j]<<CtbLog2SizeY,其中,j的范围为0到num_tile_rows_minus1(包括端值)。
图像参数集RBSP语义如下:
表1
Figure BDA0003951928490000212
Figure BDA0003951928490000221
条带头语法如下变化。
表2
Figure BDA0003951928490000222
Figure BDA0003951928490000231
slice_data()语法如下:
表3
Figure BDA0003951928490000232
图像参数集RBSP语义如下。single_tile_in_pic_flag设置为1,表示每个图像中只有一个分块参考PPS。single_tile_in_pic_flag设置为0,表示每个图像中有一个以上分块参考PPS。码流一致性可能要求:对于在编码视频序列(coded video sequence,CVS)内激活的所有PPS,single_tile_in_pic_flag的值应该相同。num_tile_columns_minus1+1表示分割图像的分块列数量。num_tile_columns_minusl的范围应为0到PicWidthInCtbsY-1(包括端值)。如果num_tile_columns_minusl不存在,则推断num_tile_columns_minus1的值等于0。num_tile_rows_minus1+1表示分割图像的分块行数量。num_tile_rows_minus1的范围应为0到PicHeightInCtbsY-1(包括端值)。如果num_tile_rows_minus1不存在,则推断num_tile_rows_minus1的值等于0。将变量NumTilesInPic设置为等于(num_tile_columns_minus1+1)*(num_tile_rows_minus1+1)。
当single_tile_in_pic_flag等于0时,NumTilesInPic应大于0。tile_id_len_minus1+1表示用于表示PPS中的语法元素tile_id_val[i][j](当存在时)以及参考PPS的条带头中的语法元素top_left_tile_id和bottom_right_tile_id(当存在时)的位数。tile_id_len_minus1的取值范围应为Ceil(Log2(NumTilesInPic)到15(包括端值)。explicit_tile_id_flag设置为1,表示每个分块的分块ID被显式指示。explicit_tile_id_flag设置为0,表示分块ID不被显式指示。tile_id_val[i][j]表示第i个分块列和第j个分块行的分块ID。tile_id_val[i][j]的长度为(tile_id len_minus1+1)个位。
对于在0到num_tile_columns_minus1范围内(包括端值)的任意整数m和在0到num_tile_rows_minus1范围内(包括端值)的任意整数n,当i不等于m或j不等于n时,tile_id_val[i][j]不应等于tile_id_val[m][n];当j*(num_tile_columns_minus1+1)+i小于n*(num_tile_columns_minus1+1)+m时,tile_id_val[i][j]应小于tile_id_val[m][n]。uniform_tile_spacing_flag设置为1,表示分块列边界和分块行边界在图像内均匀分布。uniform_tile_spacing_flag设置为0,表示分块列边界和分块行边界不在图像内均匀分布,但使用语法元素tile_column_width_minus1[i]和tile_row_height_minus1[i]显示指示。如果uniform_tile_spacing_flag不存在,则推断uniform_tile_spacing_flag的值等于1。tile_column_width_minus1[i]+1表示以CTB为单位的第i个分块列的宽度。tile_row_height_minus1[i]+1表示以CTB为单位的第i个分块行的高度。
以下变量通过调用CTB光栅和分块扫描转换过程进行推导:列表ColWidth[i](i的范围为0到num_tile_columns_minus1,包括端值),表示以CTB为单位的第i个分块列的宽度;列表RowHeight[j](j的范围为0到num_tile_rows_minus1,包括端值),表示以CTB为单位的第j个分块行的高度;列表ColBd[i](i的范围为0到num_tile_columns_minus1+1,包括端值),表示以CTB为单位的第i个分块列边界的位置;列表RowBd[j](j的范围为0到num_tile_rows minus1+1,包括端值),表示以CTB为单位的第i个分块行边界的位置;列表CtbAddrRsToTs[ctbAddrRs](ctbAddrRs的范围为0到PicSizeInCtbsY-1,包括端值),表示图像的CTB光栅扫描中的CTB地址到分块扫描中的CTB地址的转换;列表CtbAddrTsToRs[ctbAddrTs](ctbAddrTs的范围为0到PicSizeInCtbsY-1,包括端值),表示分块扫描中的CTB地址到图像的CTB光栅扫描中的CTB地址的转换;列表TileId[ctbAddrTs](ctbAddrTs的范围为0到PicSizeInCtbsY-1,包括端值),表示分块扫描中的CTB地址到分块ID的转换;列表NumCtusInTile[tileIdx](tileIdx的范围为0到PicSizeInCtbsY-1,包括端值),表示分块索引到分块中的CTU数量的转换;一组NumTilesInPic tileId值的集合TileIdToIdx[tileId],表示分块ID到分块索引的转换,以及列表FirstCtbAddrTs[tileIdx](tileIdx的范围为0到NumTilesInPic-1,包括端值),表示分块ID到分块中的第一个CTB的分块扫描中的CTB地址的转换;列表ColumnWidthInLumaSamples[i](i的范围为0到num tile columnsminus1,包括端值),表示以亮度样本为单位的第i个分块列的宽度;列表RowHeightInLumaSamples[j](j的范围为0到num_tile_rows_minus1,包括端值),表示以亮度样本为单位的第j个分块行的高度。
ColumnWidthInLumaSamples[i]的值和RowHeightInLumaSamples[j]的值均应大于0,其中,i的范围为0到num_tile_columns_minus1(包括端值),j的范围为0到num_tile_rows_minus1(包括端值)。tile_boundary_treated_as_picture_boundary_flag设置为1,表示在参考PPS的图像的解码过程中,每个分块边界视为与图像边界相同。tile_boundary_treated_as_picture_boundary_flag设置为0,表示在参考PPS的图像的解码过程中,每个分块边界可以视为与图像边界相同,也可以视为与图像边界不同。如果tile_boundary_treated_as_picture_boundary_flag不存在,则推断tile_boundary_treated_as_picture_boundary_flag的值等于1。loop_filter_across_tiles_enabled_flag设置为1,表示在参考PPS的图像中可以跨分块边界执行环内滤波操作。loop_filter_across_tiles_enabled_flag设置为0,表示在参考PPS的图像中不能跨分块边界执行环内滤波操作。环内滤波操作包括去块效应滤波操作、样本自适应偏移滤波操作以及自适应环路滤波操作。如果loop_filter_across_tiles_enabled_flag不存在,则推断loop_filter_across_tiles_enabled_flag的值等于0。
条带头语义如下。当条带头语法元素slice_pic_parameter_set_id存在时,slice_pic_parameter_set_id的值在编码图像的所有条带头中应相同。slice_pic_parameter_set_id表示当前使用的PPS的pps_pic_parameter_set_id的值。slice_pic_parameter_set_id的取值范围应为0到63(包括端值)。single_tile_in_slice_flag设置为1,表示条带中只有一个分块。single_picture_in_pic_flag设置为0,表示条带中有一个以上分块。top_left_tile_id表示位于条带左上顶点的分块的分块ID。top_left_tile_id的长度为tile_id_len_minus1+1个位。top_left_tile_id的值不应等于同一编码图像的任何其它编码条带NAL单元的top_left_tile_id的值。当图像中有一个以上条带时,图像中条带的解码顺序应以top_left_tile_id的递增值为准。bottom_right_tile_id表示位于条带右下顶点的分块的分块ID。bottom_right_tile_id的长度为tile_id_len_minus1+1个位。如果bottom_right_tile_id不存在,则推断bottom_right_tile_id的值等于top_left_tile_id。
变量NumTileRowsInSlice、NumTileColumnsInSlice和NumTilesInSlice如下推导:
deltaTileIdx=TileIdToIdx[bottom_right_tile_id]-TileIdToIdx[top_left_tile_id]
NumTileRowsInSlice=(deltaTileIdx/(num_tile_columns_minus1+1))+1 (7-25)
NumTileColumnsInSlice=(deltaTileIdx%(num_tile_columns_minus1+1))+1
NumTilesInSlice=NumTileRowsInSlice*NumTileColumnsInSlice
slice_type根据表4表示条带的编码类型。
表4
slice_type slice_type的名称
0 B(B条带)
1 P(P条带)
2 I(I条带)
当nal_unit_type的值在TBD(包括端值)范围内时,例如,图像为帧内随机接入图像(intra random access picture,IRAP),slice_type应等于2。log2_diff_ctu_max_bt_size表示可以使用二叉树划分进行划分的编码块的亮度CTB大小与最大亮度大小(宽度或高度)之间的差值。log2_diff_ctu_max_bt_size的取值范围应为0到CtbLog2SizeY-MinCbLog2SizeY(包括端值)。当log2_diff_ctu_max_bt_size不存在时,推断log2_diff_ctu_max_bt_size的值等于2。
变量MinQtLog2SizeY、MaxBtLog2SizeY、MinBtLog2SizeY、MaxTtLog2SizeY、MinTtLog2SizeY、MaxBtSizeY、MinBtSizeY、MaxTtSizeY、MinTtSizeY和MaxMttDepth如下推导:
MinQtLog2SizeY=(slice_type==I)?MinQtLog2SizeIntraY:MinQtLog2SizeInterY                                                  (7-26)
MaxBtLog2SizeY=CtbLog2SizeY-log2_diff_ctu_max_bt_size       (7-27)
MinBtLog2SizeY=MinCbLog2SizeY                              (7-28)
MaxTtLog2SizeY=(slice_type==I)?5:6                (7-29)
MinTtLog2SizeY=MinCbLog2SizeY                           (7-30)
MinQtSizeY=1<<MinQtLog2SizeY                       (7-31)
MaxBtSizeY=1<<MaxBtLog2SizeY                          (7-32)
MinBtSizeY=1<<MinBtLog2SizeY                       (7-33)
MaxTtSizeY=1<<MaxTtLog2SizeY                        (7-34)
MinTtSizeY=1<<MinTtLog2SizeY                          (7-35)
MaxMttDepth=( slice_type==I)?max_mtt_hierarchy_depth_intra_slices:
max_mtt_hierarchy_depth_inter_slices   (7-36)
dep_quent_enabled_flag设置为0,表示禁用相关量化。dep_quent_enabled_flag设置为1,表示启用相关量化。sign_data_hiding_enabled_flag设置为0,表示禁用符号位隐藏。sign_data_hiding_enabled_flag设置为1,表示启用符号位隐藏。当sign_data_hiding_enabled_flag不存在时,推断它等于0。slice_boundary_treated_as_pic_boundary_flag设置为1,表示在解码过程中,条带的每个条带边界视为与图像边界相同。slice_boundary_treated_as_pic_boundary_flag等于0表示在解码过程中,每个分块边界可以视为与图像边界相同,也可以视为与图像边界不同。如果slice_boundary_treated_as_pic_boundary_flag不存在,则推断slice_boundary_treated_as_pic_boundary_flag的值等于1。offset_len_minus 1+1表示entry_point_offset_minus1[i]语法元素以位计算的长度。offset_len_minus1的取值范围应为0到31(包括端值)。entry_point_offset_minus1[i]+1表示以字节计算的第i个入口点偏移,由offset len minus1+1个位表示。条带头之后的条带数据由NumTilesInSlice子集组成,子集索引值的范围为0到NumTilesInSlice-1(包括端值)。条带数据的第一个字节被认为是字节0。如果存在,存在于编码条带NAL单元的条带数据部分中的预防混淆字节会被计为条带数据的一部分,以便子集标识。
子集0包括编码条带段数据的字节0到entry_point_offset_minus1[0](包括端值),子集k包括编码条带数据的字节firstByte[k]到lastByte[k](包括端值),其中,k的范围为1到NumTilesInSlice-2(包括端值)。firstByte[k]和lastByte[k]定义如下:
Figure BDA0003951928490000271
lastByte[k]=firstByte[k]+entry_point_ofrset_minus1[k](7-38)
最后一个子集(子集索引等于NumTilesInSlice-1)包括编码条带数据的剩余字节。每个子集应包括条带中同一个分块内的所有CTU的所有编码位。
通用条带数据语义如下。end_of_tile_one_bit应等于1。对于每个分块,变量LeftBoundaryPos、TopBoundaryPos、RightBoundaryPos和BotBoundaryPos如下推导。如果tile_boundary_treated_as_pic_boundary_flag为真,则:
tileColIdx=CurrTileIdx/(num_tile_columns_minus1+1)           (7-39)
tileRowIdx=CurrTileIdx%(num_tile_columns_minus 1+1)        (7-40)
LeftBoundaryPos=ColBd[tileColIdx]<<CtbLog2SizeY           (7-41)
RightBoundaryPos=((ColBd[tileColIdx]+ColWidth[tileColIdx])<<CtbLog2SizeY)-1                                                      (7-42)
TopBoundaryPos=RowBd[tileRowIdx]<<CtbLog2SizeY      (7-43)
BotBoundaryPos=((RowBd[tileRowIdx]+RowHeight[tileRowIdx])<<CtbLog2SizeY)-1(7-44)
否则,如果slice_boundary_treated_as_pic_boundary_flag为真,则:
sliceFirstTileColIdx=TileIdToIdx[top_left_tile_id]/(num_tile_columns_minus1+1)
(7-45)
sliceFirstTileRowIdx=TileIdToIdx[top_left_tile_id]%(num_tile_columns_minus1+1)
(7-46)
sliceLastTileColIdx=TileIdToIdx[bottom_right_tile_id]/(num_tile_columns_minus1+1)
(7-47)
sliceLastTileRowIdx=TileIdToIdx[bottom_right_tile_id]%(num_tile_columns_minus1+1)                                                 (7-48)
LeftBoundaryPos=ColBd[sliceFirstTileColIdx]<<CtbLog2SizeY  (7-49)
RightBoundaryPos=((ColBd[sliceLastTileColIdx]+ColWidth[sliceLastTileColIdx])<<
CtbLog2SizeY)-1                                          (7-50)
TopBoundaryPos=RowBd[sliceFirstTileRowIdx]<<CtbLog2SizeY  (7-51)
BotBoundaryPos=((RowBd[sliceLastTileRowIdx]+RowHeight[sliceLastTileRowIdx])<<CtbLog2SizeY)-1    (7-52)
否则(slice_boundary_treated_as_pic_boundary_flag为假):
LeftBoundaryPos=0                                          (7-53)
RightBoundaryPos=pic_width_in_luma_samples-1              (7-54)
TopBoundaryPos=0                                           (7-55)
BotBoundaryPos=pic_height_in_luma_samples-1                 (7-56)
时间亮度运动矢量预测的推导过程如下。如果yCb>>CtbLog2SizeY等于yColBr>>CtbLog2SizeY,yColBr小于pic_height_in_luma_samples且xColBr小于pic_width_in_luma_samples,则:
变量colCb表示覆盖由ColPic表示的并置图像内,通过((xColBr>>3)<<3,(yColBr>>3)<<3)所给出的修改位置的亮度编码块。亮度位置(xColCb,yColCb)设置为由colCb表示的并置亮度编码块的左上样本相对于由ColPic表示的并置图像的左上亮度样本的位置。调用并置运动矢量的推导过程,将currCb、colCb、(xColCb,yColCb)、refIdxLX以及设置为0的控制参数controlParaFlag作为输入,输出赋值为mvLXCol和availableFlagLXCol。如果yCb>>CtbLog2SizeY等于yColBr>>CtbLog2SizeY,yColBr小于或等于BotBoundaryPos且xColBr小于或等于RightBoundaryPos,则:变量colCb表示覆盖由ColPic表示的并置图像内,通过((xColBr>>3)<<3,(yColBr>>3)<<3)所给出的修改位置的亮度编码块。亮度位置(xColCb,yColCb)设置为由colCb表示的并置亮度编码块的左上样本相对于由ColPic表示的并置图像的左上亮度样本的位置。调用并置运动矢量的推导过程,将currCb、colCb、(xColCb,yColCb)、refIdxLX以及设置为0的控制参数controlParaFlag作为输入,输出赋值为mvLXCol和availableFlagLXCol。
在一些示例中,时间亮度运动矢量预测的推导过程如下。如果yCb>>CtbLog2SizeY等于yColBr>>CtbLog2SizeY,yColBr小于pic_height_in_luma_samples且xColBr小于pic_width_in_luma_samples,则:变量colCb表示覆盖由ColPic表示的并置图像内,通过((xColBr>>3)<<3,(yColBr>>3)<<3)所给出的修改位置的亮度编码块。亮度位置(xColCb,yColCb)设置为由colCb表示的并置亮度编码块的左上样本相对于由ColPic表示的并置图像的左上亮度样本的位置。调用并置运动矢量的推导过程,将currCb、colCb、(xColCb,yColCb)、refIdxLX以及设置为0的控制参数controlParaFlag作为输入,输出赋值为mvLXCol和availableFlagLXCol。如果yCb>>CtbLog2SizeY等于yColBr>>CtbLog2SizeY,则按如下方式处理。xColCtr=Min(xColCtr,RightBoundaryPos)且yColCtr=Min(yColCtr,BotBoundaryPos)。变量colCb表示覆盖由ColPic表示的并置图像内,通过((xColBr>>3)<<3,(yColBr>>3)<<3)所给出的修改位置的亮度编码块。亮度位置(xColCb,yColCb)设置为由colCb表示的并置亮度编码块的左上样本相对于由ColPic表示的并置图像的左上亮度样本的位置。调用并置运动矢量的推导过程,将currCb、colCb、(xColCb,yColCb)、refIdxLX以及设置为0的控制参数controlParaFlag作为输入,输出赋值为mvLXCol和availableFlagLXCol。
亮度样本插值过程如下。该过程的输入为:以全样本为单位的亮度位置(xIntL,yIntL);以分数样本为单位的亮度位置(xFracL,yFracL);以及亮度参考样本阵列refPicLXL。该过程的输出为预测亮度样本值predSampleLXL。变量shift1、shift2和shift3如下推导。将变量shift1设置为等于Min(4,BitDepthY-8),将变量shift2设置为6,将变量shift3设置为等于Max(2,14-BitDepthY)。预测亮度样本值predSampleLXL如下推导。如果xFracL和yFracL都等于0,则predSampleLXL的值如下推导:
predSampleLXL=refPicLXL[xIntL][yIntL]<<shift3    (8-228)否则,如果xFracL不等于0且yFracL等于0,则predSampleLXL的值如下推导:
predSampleLXL=(fL[xFracL,0]*refPicLXL[Clip3(LeftBoundaryPos,RightBoundaryPos,xIntL-3)][yIntL]+
fL[xFracL][1]*refPicLXL[Clip3(LeftBoundaryPos,RightBoundaryPos,xIntL-2)][yIntL]+
fL[xFracL][2]*refPicLXL[Clip3(LeftBoundaryPos,RightBoundaryPos,xIntL-1)][yIntL]+
fL[xFracL][3]*refPicLXL[Clip3(LeftBoundaryPos,RightBoundaryPos,xIntL)][yIntL]+
fL[xFracL][4]*refPicLXL[Clip3(LeftBoundaryPos,RightBoundaryPos,xIntL+1)][yIntL]+(8-228)
fL[xFracL][5]*refPicLXL[Clip3(LeftBoundaryPos,RightBoundaryPos,xIntL+2)][yIntL]+
fL[xFracL][6]*refPicLXL[Clip3(LeftBoundaryPos,RightBoundaryPos,xIntL+3)][yIntL]+
fL[xFracL][7]*refPicLXL[Clip3(LeftBoundaryPos,RightBoundaryPos,xIntL+4)][yIntL])>>shift1
否则,如果xFracL等于0且yFracL不等于0,则predSampleLXL的值如下推导:
predSampleLXL=
(fL[yFracL,0]*refPicLXL[xIntL][Clip3(TopBoundaryPos,BotBoundaryPos,yIntL-3)]+
fL[yFracL][1]*refPicLXL[xIntL][Clip3(TopBoundaryPos,BotBoundaryPos,yIntL-2)]+
fL[yFracL][2]*refPicLXL[xIntL][Clip3(TopBoundaryPos,BotBoundaryPos,yIntL-1)]+
fL[yFracL][3]*refPicLXL[xIntL][Clip3(TopBoundaryPos,BotBoundaryPos,yIntL)]+
fL[yFracL][4]*refPicLXL[xIntL][Clip3(TopBoundaryPos,BotBoundaryPos,yIntL+1)]+
(8-228)
fL[yFracL][5]*refPicLXL[xIntL][Clip3(TopBoundaryPos,BotBoundaryPos,yIntL+2)]+
fL[yFracL][6]*refPicLXL[xIntL][Clip3(TopBoundaryPos,BotBoundaryPos,yIntL+3)]+
fL[yFracL][7]*refPicLXL[xIntL][Clip3(TopBoundaryPos,BotBoundaryPos,yIntL+4)])>>shift1
否则,如果xFracL不等于0且yFracL不等于0,则predSampleLXL的值如下推导。样本阵列temp[n]如下推导,其中,n=0..7:
yPosL=Clip3(TopBoundaryPos,BotBoundaryPos,yIntL+n-3)    (8-228)
temp[n]=
(fL[xFracL,0]*refPicLXL[Clip3(LeftBoundaryPos,RightBoundaryPos,xIntL-3)][yPosL]+
fL[xFracL][1]*refPicLXL[Clip3(LeftBoundaryPos,RightBoundaryPos,xIntL-2)][yPosL]+
fL[xFracL][2]*refPicLXL[Clip3(LeftBoundaryPos,RightBoundaryPos,xIntL-1)][yPosL]+
fL[xFracL][3]*refPicLXL[Clip3(LeftBoundaryPos,RightBoundaryPos,xIntL)][yPosL]+
fL[xFracL][4]*refPicLXL[Clip3(LeftBoundaryPos,RightBoundaryPos,xIntL+1)][yPosL]+(8-228)
fL[xFracL][5]*refPicLXL[Clip3(LeftBoundaryPos,RightBoundaryPos,xIntL+2)][yPosL]+
fL[xFracL][6]*refPicLXL[Clip3(LeftBoundaryPos,RightBoundaryPos,xIntL+3)][yPosL]+
fL[xFracL][7]*refPicLXL[Clip3(LeftBoundaryPos,RightBoundaryPos,xIntL+4)][yPosL])>>shift1
预测亮度样本值predSampleLXL如下推导:
Figure BDA0003951928490000301
表5
Figure BDA0003951928490000302
Figure BDA0003951928490000311
色度样本插值过程如下。该过程的输入为:以全样本为单位的色度位置(xIntC,yIntC);以八分之一分数样本为单位的色度位置(xFracC,yFracC);以及色度参考样本阵列refPicLXC。该过程的输出为预测色度样本值predSampleLXC。变量shift1、shift2、shift3、picWC和picHC如下推导。将变量shift1设置为等于Min(4,BitDepthC-8),将变量shift2设置为6,将变量shift3设置为等于Max( 2,14-BitDepthC)。变量1Pos、rPos、tPos和bPos如下设置:
lPos=LeftBoundaryPos/SubWidthC                         (8-228)
rPos=(RightBoundaryPos+1)/SubWidthC                    (8-228)
tPos=TopBoundaryPos/SubHeightC                           (8-228)
bPos=(BotBoundaryPos+1)/SubHeightC                       (8-228)
预测色度样本值predSampleLXC如下推导。如果xFracC和yFracC都等于0,则predSampleLXC的值如下推导:
predSampleLXC=refPicLXC[xIntC][yIntC]<<shift3    (8-228)否则,如果xFracC不等于0且yFracC等于0,则predSampleLXC的值如下推导:
Figure BDA0003951928490000312
否则,如果xFracC等于0且yFracC不等于0,则predSampleLXC的值如下推导:
Figure BDA0003951928490000313
否则,如果xFracC不等于0且yFracC不等于0,则predSampleLXC的值如下推导。样本阵列temp[n]如下推导,其中,n=0..3:
yPosC=Clip3(tPos,bPos,yIntC+n-1)    (8-228)
Figure BDA0003951928490000314
预测色度样本值predSampleLXC如下推导:
Figure BDA0003951928490000321
表6
Figure BDA0003951928490000322
Figure BDA0003951928490000331
条带数据的基于上下文的自适应二进制算术译码(context-based adaptivebinary arithmetic coding,CABAC)解析过程如下。当开始解析CTU语法且CTU是分块中的第一个CTU时,调用初始化过程。需要说明的是,由于条带数据的每个开始都是分块的开始,因此这句话也包括条带数据的开始。
在另一示例中,CTB光栅和分块扫描过程如下。列表ColWidth[i]表示以CTB为单位的第i个分块列的宽度,其中,i的范围为0到num_tile_columns_minus1(包括端值),该列表ColWidth[i]如下推导。
Figure BDA0003951928490000332
列表RowHeight[j]表示以CTB为单位的第j个分块行的高度,其中,j的范围为0到num_tile_rows_minus1(包括端值),该列表RowHeight[j]如下推导。
Figure BDA0003951928490000333
Figure BDA0003951928490000341
列表ColBd[i]表示以CTB为单位的第i个分块列边界的位置,其中,i的范围为0到num_tile_columns_minus1+1(包括端值),该列表ColBd[i]如下推导。
for(ColBd[0]=0,i=0;i<=num_tile_columns_minus1;i++)
ColBd[i+1]=ColBd[i]+ColWidth[i]    (6-3)
列表RowBd[j]表示以CTB为单位的第j个分块行边界的位置,其中,j的范围为0到num_tile_rows_minus1+1(包括端值),该列表RowBd[j]如下推导。
for(RowBd[0]=0,j=0;j<=num_tile_rows_minus1;j++)
RowBd[j+1]=RowBd[j]+RowHeight[j]    (6-4)
列表CtbAddrRsToTs[ctbAddrRs]表示从图像的CTB光栅扫描中的CTB地址到分块扫描中的CTB地址的转换,其中,ctbAddrRs的范围为0到PicSizeInCtbsY-1(包括端值),该列表CtbAddrRsToTs[ctbAddrRs]如下推导。
Figure BDA0003951928490000342
列表CtbAddrTsToRs[ctbAddrTs]表示从分块扫描中的CTB地址到图像的CTB光栅扫描中的CTB地址的转换,其中,ctbAddrTs的范围为0到PicSizeInCtbsY-1(包括端值),该列表CtbAddrTsToRs[ctbAddrTs]如下推导。
for(ctbAddrRs=0;ctbAddrRs<PicSizeInCtbsY;ctbAddrRs++)    (6-6)
CtbAddrTsToRs[CtbAddrRsToTs[ctbAddrRs]]=ctbAddrRs
列表TileId[ctbAddrTs]表示从分块扫描中的CTB地址到分块ID的转换,其中,ctbAddrTs的范围为0到PicSizeInCtbsY-1(包括端值),该列表TileId[ctbAddrTs]如下推导。
Figure BDA0003951928490000351
tileIdx
列表NumCtusInTile[tileIdx]表示从分块索引到分块中CTU数量的转换,其中,tileIdx的范围为0到PicSizeInCtbsY-1(包括端值),该列表NumCtusInTile[tileIdx]如下推导。
for(j=0,tiileIdx=0;j<=num_tile_rows_minus1;j++)
for(i=0;i<=num_tile_columns_minus 1;i++,tileIdx++)    (6-8)
NumCtusInTile[tileIdx]=ColWidth[i]*RowHeight[j]
一组NumTilesInPic tileId值的集合TileIdToIdx[tileId]表示从分块ID到分块索引的转换,列表FirstCtbAddrTs[tileIdx](其中,tileIdx的范围为0到NumTilesInPic-1(包括端值))表示从分块ID到分块中第一个CTB的分块扫描中的CTB地址的转换,它们如下推导。
Figure BDA0003951928490000352
ColumnWidthInLumaSamples[i]的值表示以亮度样本为单位的第i个分块列的宽度,并设置为等于ColWidth[i]<<CtbLog2SizeY,其中,i的范围为0到num_tile_columns_minus1(包括端值)。RowHeightInLumaSamples[j]的值表示以亮度样本为单位的第j个分块行的高度,并设置为等于RowHeight[j]<<CtbLog2SizeY,其中,j的范围为0到num tilerows minus1(包括端值)。
图像参数集RBSP语法如下。
表7
Figure BDA0003951928490000353
Figure BDA0003951928490000361
条带头语法如下:
表8
Figure BDA0003951928490000371
条带头语义如下。当条带头语法元素slice_pic_parameter_set_id存在时,slice_pic_parameter_set_id的值在编码图像的所有条带头中应相同。slice_pic_parameter_set_id表示当前使用的PPS的pps_pic_parameter_set_id的值。slice_pic_parameter_set_id的取值范围应为0到63(包括端值)。first_slice_in_pic_flag设置为1,表示条带按解码顺序是图像的第一个条带。first_slice_in_pic_flag设置为0,表示条带按解码顺序不是图像的第一个条带。single_tile_in_slice_flag设置为1,表示条带中只有一个分块。single_picture_in_pic_flag等于0表示条带中有一个以上分块。top_left_tile_id表示位于条带左上顶点的分块的分块ID。top_left_tile_id的长度为Ceil(Log2((num_tile_rows_minus1+1)*(num_tile_columns_minus1+1)))个位。top_left_tile_id的值不应等于同一编码图像的任何其它编码条带NAL单元的top_left_tile_id的值。如果top_left_tile_id不存在,则推断top_left_tile_id的值等于0。当图像中有一个以上条带时,图像中条带的解码顺序应以top_left_tile_id的递增值为准。bottom_right_tile_id表示位于条带右下顶点的分块的分块ID。bottom_right_tile_id的长度为Ceil(Log2((num_tile_rows_minus 1+1)*
(num_tile_columns_minus1+1)))个位。如果bottom_right_tile_id不存在,则推断bottom_right_tile_id的值等于top_left_tile_id。变量NumTileRowsInSlice、NumTileColumnsInSlice和NumTilesInSlice如下推导:
Figure BDA0003951928490000381
all_tiles_mcts_flag设置为1,表示条带中的所有分块都是MCTS的一部分,MCTS只包含当前访问单元的条带中的分块,并且MCTS边界(与条带的条带边界并置)视为与图像边界相同。all_tiles_mcts_flag设置为0,表示all_tiles_mcts_flag等于1所表示的上述内容可能适用,也可能不适用。slice_boundary_treated_as_pic_boundary_flag设置为1,表示在解码过程中,条带的每个条带边界视为与图像边界相同。slice_boudnary_treated_as_pic_boundary_flag设置为0,表示在解码过程中,每个分块边界可以视为与图像边界相同,也可以视为与图像边界不同。如果slice_boundary_treated_as_pic_boundary_flag不存在,则推断slice_boundary_treated_as_pic_boundary_flag的值等于1。每个子集应包括条带中同一个分块内的所有CTU的所有编码位。
图7为具有在不重写条带头的情况下指示的感兴趣区域的示例性图像700的示意图。例如,图像700可以用于实现图像600。此外,图像700可以由编解码系统200、编码器300和/或解码器400等编码到码流500中以及从码流500中解码。此外,可以对图像700进行分割,以支持方法100提供的编码和解码。
图像700包括多个条带,这些条带包括第一条带721,第一条带721可以实质上类似于条带521和/或621。其它条带可以类似于第一条带721,但是为了清楚讨论,未进行描绘。第一条带721包括多个分块723,这些分块723用对应的分块ID 724指定,分块723和分块ID724分别实质上类似于分块523和分块ID 524。分块723各自包括由对应的CTU地址729指定的一个或多个CTU 727,CTU 727和CTU地址729可以分别实质上类似于CTU 527和CTU地址529。所述多个条带都是矩形,但可能不会从图像的左侧边界一直延伸到图像的右侧边界。例如,第一条带721的左侧边界与图像700帧的左侧边界不重合,第一条带721的右侧边界与图像700帧的右侧边界不重合。
在某些情况下,用户可能希望查看感兴趣区域。具体地,感兴趣区域是可以在解码端显示给用户同时省略图像700的其余部分的任何子图像701。子图像701是图像700的任何子集。在一个具体示例中,图像700可以编码为虚拟现实(virtual real,VR)视频的一部分。在VR视频中,用户使用头戴式设备(head mounted device,HMD)来显示图像700的子图像701。根据用户头部移动来选择所显示的子图像701,这会使用户拥有近似存在于由图像700定义的环境中的体验。具体地,图像700可以呈现为围绕用户的球体,其中,子图像701被选择为位于用户眼睛正前方的环境的部分。在另一示例中,感兴趣区域可以使用户放大较大高分辨率图像700的特定子图像701。
在任一种情况下,编码器在编码时不知道感兴趣区域,因此在实际接收到请求之前不知道应该将哪个子图像701发送到解码器。这在某些系统中会产生问题。例如,可以根据第一条带721相对于图像700的左上顶点702的位置对图像700的第一条带721和对应的CTU地址729进行编码。从编码端的寻址角度来看,左上顶点702作为零位置(例如,源、起点等),右下顶点704作为图像700的结尾。因此,此类系统中第一条带721的位置以及CTU地址729从左上顶点702偏移用户选择的值。然而,解码器分别在显示器的左上顶点和右下顶点显示子图像701中第一条带721的左上分块部分和第一条带721的右下部分。因此,此类系统中的解码器需要将第一条带721的左上部分的地址调整到左上顶点702(例如,重写为零位置),将第一条带721的右下部分的地址调整到右下顶点704(例如,最终地址),并且需要相应地调整其间的地址。为了完成这种重新编址,此类系统使用在视频服务器中操作的拼接器,该拼接器根据请求转发经编码的码流。拼接器是硬件组件,用于重写与子图像701中的条带相关联的条带头以响应用户请求而调整地址。
本发明采用一种基于分块ID724而不是基于图像700中的相对位置的寻址方案。通过作出这种改变,解码器可以根据原始编码的寻址方案对任意选择的子图像701进行解码,而无需对图像700的分量进行重新编址。因此,避免了条带头重写,并且可以省略拼接器的部分或全部功能。在一个实施例中,图像700中的每个条带都是矩形,并且包括整数个分块723(例如,没有部分的/分数的分块723)。分配的分块ID 724按光栅扫描顺序705递增。光栅扫描顺序705在图像700上从左到右、从上到下。此外,分块ID 724在图像700上是唯一的。因此,可以通过在描述第一条带721的条带头中指示左上分块723a和右下分块723b来唯一地标识第一条带721的边界。此外,根据包含对应CTU 727的分块723的分块ID 724来分配CTU地址729。
通过采用上述寻址方案,解码器可以通过从条带头获取对应的分块ID 724来确定左上分块723a和右下分块723b。然后,解码器可以使用基于分块723的寻址方案将左上分块723a放置在左上顶点702,将右下分块723b放置在右下顶点704,并且根据分块ID 724将其它分块723放置在对应位置。然后,解码器可以根据基于分块723的CTU地址729,将CTU 727放置在对应的分块723中。因此,在不改变在编码原始图像700时所分配的对应条带的地址的情况下,在解码端将子图像701呈现到显示器上。
这种译码方案还可以实现一些其它优点或进行修改。例如,可以从码流中省略除了左上分块723a和右下分块723b之外的分块723的分块ID 724以进一步压缩,因为这类分块ID 724可以在解码端根据左上分块723a和右下分块723b的分块ID 724来确定。如果不省略,则这类分块ID 724可以存储在PPS中。分块ID 724可以是单调递增的,也可以不是单调递增的(例如,每个分块ID 724是大于前一个分块ID 724的一个值)。此外,分块723也可以按位置索引。在一些示例中,将分块ID 724设置为分块索引。在其它情况下,可以将分块ID724设置为其它值。在这种情况下,在PPS中指定分块ID 724与分块索引之间的转换。
图8为示例性视频译码设备800的示意图。视频译码设备800适合于实现本文描述的公开示例/实施例。视频译码设备800包括下行端口820、上行端口850,和/或收发单元(Tx/Rx)81 0,其中,所述收发单元包括用于通过网络在上游和/或下游进行数据通信的发送器和/或接收器。视频译码设备800还包括:处理器830,包括用于处理数据的逻辑单元和/或中央处理单元(central processing unit,CPU);和用于存储数据的存储器832。视频译码设备800还可以包括与上行端口850和/或下行端口820耦合的电组件、光电(optical-to-electrical,OE)组件、电光(electrical-to-optical,EO)组件,和/或无线通信组件,用于通过电通信网络、光通信网络或无线通信网络进行数据通信。视频译码设备800还可以包括输入和/或输出(input/output,I/O)设备860,用于与用户进行数据通信。I/O设备860可以包括输出设备,如用于显示视频数据的显示器、用于输出音频数据的扬声器等。I/O设备860还可以包括输入设备,如键盘、鼠标、轨迹球等,和/或用于与此类输出设备交互的对应接口。
处理器830通过硬件和软件实现。处理器830可以实现为一个或多个CPU芯片、核(例如,多核处理器)、现场可编程门阵列(field-programmable gate array,FPGA)、专用集成电路(application specific integrated circuit,ASIC)和数字信号处理器(digitalsignal processor,DSP)。处理器830与下行端口820、Tx/Rx 810、上行端口850和存储器832通信。处理器830包括译码模块814。译码模块814实现上文描述的公开实施例,如方法100、方法900和方法1000,它们可以使用码流500、图像600和/或图像700。译码模块814还可以实现本文描述的任何其它方法/机制。此外,译码模块814可以实现编解码系统200、编码器300和/或解码器400。例如,译码模块814可以将图像分割成条带,将条带分割成分块,将分块分割成CTU,将CTU分割成块,并在充当编码器时对块进行编码。此外,译码模块814根据分块ID指示图像条带的边界,这允许在不重写对应的条带头以调整图像与子图像之间的寻址变化的情况下,将子图像中的条带发送到解码器。当译码模块814充当解码器时,译码模块814可以在不调整图像与子图像之间的寻址变化的情况下,根据分块ID重建图像并确定条带位置和对应的地址。因此,在对视频数据进行分割和译码时,译码模块814使视频译码设备800具备其它功能、避免某些处理而减少处理开销和/或提高译码效率。因此,译码模块814改进了视频译码设备800的功能,并解决了视频译码领域特有的问题。此外,译码模块814可以使视频译码设备800变换到不同的状态。或者,译码模块814可以实现为存储在存储器832中并由处理器830执行的指令(例如,存储在非瞬时性介质中的计算机程序产品)。
存储器832包括一个或多个存储器类型,如磁盘、磁带机、固态驱动器、只读存储器(read onlymemory,ROM)、随机存取存储器(random access memory,RAM)、闪存、三态内容可寻址存储器(ternary content-addressable memory,TCAM)、静态随机存取存储器(static random-access memory,SRAM)等。存储器832可用作溢出数据存储设备,以在选择程序执行时存储此类程序,并存储在程序执行期间读取的指令和数据。
图9为将图像(如图像600和/或700)编码到码流(如码流500)中以便在不重写条带头的情况下指示感兴趣区域的示例性方法900的流程图。方法900可以由编解码系统200、编码器300和/或视频译码设备800等编码器在执行方法100时执行。
方法900可以开始于:编码器接收包括多个图像的视频序列,并根据用户输入等确定将所述视频序列编码到码流中。所述视频序列在编码之前被分割成图像(picture/image)/帧以进行进一步分割。在步骤901中,将图像分割成多个条带。将条带分割成多个分块。将分块分割成包含图像的部分的多个CTU。进一步将CTU分割成编码块。
在步骤903中,将分块ID分配给分块。例如,多个分块中的每个分块可包含唯一的分块ID。此外,多个分块的每个分块ID按光栅扫描顺序递增。在一些示例中,多个分块的每个分块ID按光栅扫描顺序单调递增。多个分块中的每个分块包括包含图像数据的一个或多个CTU。根据包含对应CTU的分块的分块ID为每个CTU分配地址。
在步骤905中,将多个条带、分块、CTU和/或编码块编码到码流中。在步骤907中,对描述编码的各种元数据进行编码。例如,将图像的第一条带的左上顶点分块ID和右下顶点分块ID编码到与第一条带关联的条带头中。这支持在不将图像的一个或多个第二条带发送到解码器时,在不重写条带头的情况下确定第一条带的条带边界。在一些示例中,将多个分块的分块ID编码到码流中的PPS中。在一些示例中,从码流(例如,从PPS)中省略与第一条带相关联的一个或多个分块ID,以支持根据左上分块ID和右下分块ID推断一个或多个分块ID。
在步骤909中,可以将第一条带中的分块的入口点偏移编码到与第一条带相关联的条带头中。此外,每个分块可以使用一组分块索引中的分块索引来指定。在一些示例中,所选择的分块的分块ID与分块的分块索引不同。在这种情况下,可以将分块ID与分块索引之间的转换编码到码流中的PPS中。
然后,在步骤911中,可以将包括条带头和第一条带的码流发送至解码器以将图像的子图像重建为重建视频序列的一部分。需要说明的是,为了清楚讨论,步骤903、步骤905、步骤907和步骤909单独进行描述,但是可以按任何顺序实现和/或实际上可以基本上同时发生。
图10为从码流(如码流500)中解码图像(如图像600和/或700)的示例性方法1000的流程图,所述码流包含在不重写条带头的情况下指示的感兴趣区域。方法1000可以由编解码系统200、解码器400和/或视频译码设备800等解码器在执行方法100时执行。
方法1000可以开始于:解码器开始接收码流(例如作为方法900的结果),所述码流包括表示视频序列的经译码的图像数据。在步骤1001中,在解码端接收码流。具体地,码流包括编码图像的第一条带,并省略编码图像的一个或多个第二条带。例如,码流可以包括包含第一条带的编码图像的感兴趣区域/子图像,并且可以省略编码图像中感兴趣区域/子图像之外的条带。第一条带与条带头相关联/通过条带头描述。由于省略了第二条带,所以第一条带的条带头没有重写。
在步骤1003中,从条带头确定与第一条带相关联的左上分块ID和右下分块ID。在步骤1005中,根据编码在条带头中的左上分块ID和右下分块ID确定第一条带的边界。例如,编码图像包括多个分块。此外,第一条带包括一个或多个分块,所述一个或多个分块是编码图像中的多个分块的子集。此外,所述多个分块中的每个分块与唯一的分块ID相关联/包含唯一的分块ID。编码图像中的多个分块的每个分块ID可以按光栅扫描顺序递增。例如,编码图像中的多个分块的每个分块ID可以按光栅扫描顺序单调递增。因此,可以例如根据上述等式7-25,使用分块ID来确定第一条带的边界。
每个分块包括一个或多个CTU,所述一个或多个CTU包含编码块中的子图像数据,并且每个CTU可以根据包含CTU的分块进行寻址。因此,在步骤1007中,根据左上分块ID和右下分块ID确定第一条带中的分块ID和CTU的地址。在某些情况下,从码流中省略第一条带中的一个或多个分块的一个或多个分块ID,并根据左上分块ID和右下分块ID推断所述一个或多个分块ID。在其它示例中,编码图像中的多个分块的分块ID在码流中的PPS中指示。编码图像中的多个分块可以用分块索引来指定。在某些情况下,多个分块的分块ID与多个分块的分块索引不同。在此类情况下,例如根据上述等式6-9,可以根据在码流中的PPS中指定的分块ID与分块索引之间的转换来确定分块索引。还可以在解码第一条带之前从条带头确定一个或多个分块的入口点偏移。
在步骤1009中,对第一条带、分块、CTU和/或编码块进行解码。例如,根据确定的条带边界、分块ID、CTU地址和/或分块入口点偏移对第一条带进行解码。解码第一条带产生编码图像的重建子图像。此外,重建子图像可以作为重建视频序列的一部分转发至显示器。
图11为在不重写条带头的情况下,在码流(如码流500)中指示图像(如图像600和/或700)中包括的感兴趣区域的示例性系统1100的示意图。系统1100可以由编解码系统200、编码器300、解码器400和/或视频译码设备800等编码器和解码器实现。此外,系统1100可以用于实现方法100、方法900、方法1000、方法1200和/或方法1300。
系统1100包括视频编码器1102。视频编码器1102包括分割模块1101,用于将图像分割成多个条带,并将多个条带分割成多个分块。视频编码器1102还包括编码模块1105,用于编码多个条带,编码PPS中的一组ID,并将与第一条带相关联的第一ID编码到第一条带的条带头中,其中,第一ID与PPS中一组ID中的一个ID匹配。视频编码器1102还包括发送模块1107,用于向解码器发送码流,所述码流包括条带头、PPS和第一条带。视频编码器1102还可以用于执行方法900和/或1200的任一步骤。
系统1100还包括视频解码器1110。视频解码器1110包括接收模块1111,用于接收包括编码图像的第一条带的码流,其中,编码图像与PPS相关联。视频解码器1110还包括解析模块1113,用于解析出被显式指示在PPS中的一组ID,并从第一条带的条带头中解析出第一ID,其中,第一ID与在PPS中显示指示的一组ID中的一个ID匹配。视频解码器1110还包括确定模块1115,用于根据第一ID,确定编码在第一条带中的一组分块。视频解码器1110还包括解码模块1117,用于对第一条带进行解码,以生成编码图像的重建子图像。视频解码器1110还可以用于执行方法1000和/或1300的任一步骤。
图12为将图像(如图像600和/或700)编码到码流(如码流500)中以便在不重写条带头的情况下指示感兴趣区域的另一种示例性方法1200的流程图。方法1200可以由编解码系统200、编码器300和/或视频译码设备800等编码器在执行方法100时执行。
在步骤1201中,编码器将图像分割成多个条带。编码器还将多个条带分割成多个分块。在步骤1203中,编码器对多个条带进行编码。编码器还对PPS中的一组ID进行编码。编码器还将与第一条带相关联的第一ID编码到第一条带的条带头中。第一ID与PPS中一组ID中的一个ID匹配。在步骤1205中,编码器向解码器发送包括条带头、PPS和第一条带的码流。
图13为从码流(如码流500)中解码图像(如图像600和/或700)的另一种示例性方法1300的流程图,所述码流包含在不重写条带头的情况下指示的感兴趣区域。方法1300可以由编解码系统200、解码器400和/或视频译码设备800等解码器在执行方法100时执行。
在步骤1301中,解码器接收包括编码图像的第一条带的码流,其中,编码图像与PPS相关联。在步骤1303中,解码器从PPS中解析出被显式指示在PPS中的一组ID。解码器还从第一条带的条带头中解析出第一ID。第一ID与在PPS中显示指示的一组ID中的一个ID匹配。在步骤1305中,解码器根据第一ID确定编码在第一条带中的一组分块。解码器还对第一条带进行解码,以生成编码图像的重建子图像。
当第一组件与第二组件之间除了线、迹线或其它介质之外不存在中间组件时,第一组件与第二组件直接耦合。当第一组件与第二组件之间除了线、迹线或其它介质之外还存在中间组件时,第一组件与第二组件间接耦合。术语“耦合”及其变型包括直接耦合和间接耦合。除非另有说明,否则使用术语“约”意指包括后续数字±10%的范围。
还应理解,本文中阐述的示例性方法的步骤不一定需要按照所描述的顺序执行,并且这些方法的步骤的顺序应理解为仅仅是示例性的。同样地,在与本发明各种实施例相一致的方法中,这些方法可以包括其它步骤,并且某些步骤可以省略或组合。
虽然本发明提供了若干个实施例,但应理解,在不脱离本发明的精神或范围的情况下,所公开的系统和方法可以通过其它多种具体形式体现。本发明示例应被视为说明性而非限制性的,且本发明并不限于本文所给出的细节。例如,可以在另一系统中结合或集成各种元件或组件,或者可以省略或不实现某些特征。
此外,在不脱离本发明范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、组件、技术或方法进行组合或集成。变化、替换和变更的其它实例能够由本领域技术人员确定,并可在不脱离本文公开的精神和范围的情况下给出。

Claims (23)

1.一种在解码器中实现的方法,其特征在于,所述方法包括:
接收码流,所述码流包括视频译码层VCL(video coding layer)网络抽象层NAL(network abstraction layer)单元,所述视频译码层网络抽象层单元包含划分成多个分块(tile)的图像数据的条带(slice);
确定所述VCL NAL单元中的所述分块的数量;
其中所述分块的入口点偏移(entry point offset)的数量比所述VCL NAL单元中的所述分块的数量少一,其中所述入口点偏移的数量没有在所述码流中进行显式指示(explicitly signaled);
所述处理器根据所述入口点偏移的数量获取所述分块的所述入口点偏移。
2.根据权利要求1所述的方法,其特征在于,所述分块的所述入口点偏移是从与所述条带相关联的条带头获取的。
3.根据权利要求1或2所述的方法,其特征在于,所述码流包括多个VCL NAL单元,其中每个VCL NAL单元包含划分成整数个分块的图像数据的单个条带。
4.根据权利要求1或2所述的方法,其特征在于,所述图像数据译码为包含在所述分块中的每一个分块中的多个译码树单元CTU(coding tree unit),其中所述VCL NAL单元中的所述CTU的地址是根据与所述分块对应的分块标识符ID(identifier)来分配的。
5.根据权利要求4所述的方法,其特征在于,对所述分块进行解码包括根据所述VCLNAL单元中的所述CTU的地址对所述CTU进行解码,所述CTU的地址在所述条带头中进行显式指示。
6.根据权利要求4所述的方法,其特征在于,对所述分块进行解码包括:
所述处理器根据所述VCL NAL单元中包含的第一分块的分块ID确定所述VCL NAL单元中的所述CTU的地址;
所述处理器根据所述CTU的地址对所述CTU进行解码。
7.根据权利要求4所述的方法,其特征在于,所述CTU不包含表示所述VCL NAL单元中的最后一个CTU的标志,其中所述VCL NAL单元包含填充位,所述填充位紧跟在每个分块中的最后一个CTU之后。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述处理器将所述重建图像作为重建视频序列的一部分转发给显示器。
9.一种在编码器中实现的方法,其特征在于,所述方法包括:
将图像分割成至少一个条带(slice),并将所述至少一个条带分割成多个分块(tile);
将所述分块编码在至少一个视频译码层VCL(video coding layer)网络抽象层NAL(network abstraction layer)单元中的码流;
将所述VCL NAL单元中的所述分块的数量编码在码流;
将所述分块的入口点偏移编码在码流,入口点偏移的数量没有在所述码流中进行显式指示;
所述分块的所述入口点偏移的数量比所述VCL NAL单元中的所述分块的数量少一,发送没有所述入口点偏移的数量的所述码流,以支持对所述分块进行解码。
10.根据权利要求9所述的方法,其特征在于,所述分块的所述入口点偏移编码在与所述条带相关联的条带头中。
11.根据权利要求9或10所述的方法,其特征在于,所述码流包括多个VCL NAL单元,其中每个VCL NAL单元包含划分成整数个分块的图像数据的单个条带。
12.根据权利要求9或10所述的方法,其特征在于,所述方法还包括:
将所述分块分割成多个译码树单元CTU(coding tree unit);
根据与所述分块对应的分块标识符ID(identifier)分配所述VCL NAL单元中的所述CTU的地址。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括在所述条带头显式指示所述VCL NAL单元中的所述CTU的地址。
14.根据权利要求12所述的方法,其特征在于,从所述码流中省略所述VCL NAL单元中的所述CTU的地址,以支持在解码器中根据所述VCL NAL单元中包含的第一分块的分块ID来确定所述CTU的地址。
15.根据权利要求12所述的方法,其特征在于,所述CTU不包含表示所述VCL NAL单元中的最后一个CTU的标志,其中所述VCL NAL单元包含填充位,所述填充位紧跟在每个分块中的最后一个CTU之后。
16.一种视频译码设备,其特征在于,所述设备包括:
处理器、耦合到所述处理器的接收器以及耦合到所述处理器的发送器,所述处理器、接收器和发送器用于执行根据权利要求1至15中任一项所述的方法。
17.一种非瞬时性计算机可读介质,其特征在于,包括用于视频译码设备的计算机程序产品,所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令,当所述计算机可执行指令由处理器执行时,使得所述视频译码设备执行根据权利要求1至15中任一项所述的方法。
18.一种解码器,其特征在于,所述解码器包括:
接收模块,所述接收模块用于接收码流,所述码流包括视频译码层VCL(video codinglayer)网络抽象层NAL(network abstraction layer)单元,所述视频译码层网络抽象层单元包含划分成多个分块的图像数据的条带;
确定模块,所述确定模块用于确定所述VCL NAL单元中的所述分块的数量,所述分块的入口点偏移的数量比所述VCL NAL单元中的所述分块的数量少一,所述入口点偏移的数量没有在所述码流中进行显式指示;
获取模块,所述获取模块根据所述入口点偏移的数量获取所述分块的所述入口点偏移;
解码模块,所述解码模块用于对入口点偏移处的所述分块进行解码以生成重建图像。
19.根据权利要求18所述的解码器,其特征在于,所述解码器还用于执行根据权利要求1至8中任一项所述的方法。
20.一种编码器,其特征在于,编码器包括:
分割模块,所述分割模块用于将图像分割成至少一个条带,并将所述至少一个条带分割成多个分块;
编码模块,所述编码模块用于将所述分块编码在至少一个视频译码层VCL(videocoding layer)网络抽象层NAL(network abstraction layer)单元中的码流,将所述VCLNAL单元中的所述分块的数量编码在码流,并将所述分块的入口点偏移编码在码流,入口点偏移的数量没有在所述码流中进行显式指示;
发送模块,所述发送模块用于根据所述分块的所述入口点偏移的数量比所述VCL NAL单元中的所述分块的数量少一的推论,发送没有所述入口点偏移的数量的所述码流,以支持对所述分块进行解码。
21.根据权利要求20所述的编码器,其特征在于,所述编码器还用于执行根据权利要求9至15中任一项所述的方法。
22.一种存储装置,所述存储装置存储有根据权利要求9至15任一项所述的方法生成的码流。
23.一种传输视频数据的经编码的码流的系统,其特征在于,所述系统包括:
接收单元,用于接收码流,所述码流是根据权利要求9至15任一项所述的方法生成的码流;以及,
发送单元,用于发送所述码流。
CN202211454883.4A 2018-09-14 2019-09-13 视频译码方法,设备以及非瞬时性计算机可读介质 Pending CN116055732A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862731696P 2018-09-14 2018-09-14
US62/731,696 2018-09-14
PCT/US2019/051153 WO2020056357A1 (en) 2018-09-14 2019-09-13 Slicing and tiling for sub-image signaling in video coding
CN201980060365.4A CN112703736B (zh) 2018-09-14 2019-09-13 视频译码方法,视频译码设备以及非瞬时性计算机可读介质

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201980060365.4A Division CN112703736B (zh) 2018-09-14 2019-09-13 视频译码方法,视频译码设备以及非瞬时性计算机可读介质

Publications (1)

Publication Number Publication Date
CN116055732A true CN116055732A (zh) 2023-05-02

Family

ID=69777899

Family Applications (8)

Application Number Title Priority Date Filing Date
CN202211454883.4A Pending CN116055732A (zh) 2018-09-14 2019-09-13 视频译码方法,设备以及非瞬时性计算机可读介质
CN201980060333.4A Active CN112703743B (zh) 2018-09-14 2019-09-13 视频译码中的条带和分块
CN202310369159.XA Pending CN116781935A (zh) 2018-09-14 2019-09-13 视频译码中的分块指示
CN201980060324.5A Active CN112703742B (zh) 2018-09-14 2019-09-13 视频译码中的分块指示
CN202310199992.4A Pending CN116684625A (zh) 2018-09-14 2019-09-13 一种视频编码中的基于分块的寻址方法,编码器以及视频译码设备
CN201980060373.9A Active CN112690004B (zh) 2018-09-14 2019-09-13 一种视频译码中的基于分块的寻址方法,译码器以及视频译码设备
CN201980060365.4A Active CN112703736B (zh) 2018-09-14 2019-09-13 视频译码方法,视频译码设备以及非瞬时性计算机可读介质
CN202310202849.6A Pending CN116471411A (zh) 2018-09-14 2019-09-13 一种视频译码中的基于分块的寻址方法,译码器以及视频译码设备

Family Applications After (7)

Application Number Title Priority Date Filing Date
CN201980060333.4A Active CN112703743B (zh) 2018-09-14 2019-09-13 视频译码中的条带和分块
CN202310369159.XA Pending CN116781935A (zh) 2018-09-14 2019-09-13 视频译码中的分块指示
CN201980060324.5A Active CN112703742B (zh) 2018-09-14 2019-09-13 视频译码中的分块指示
CN202310199992.4A Pending CN116684625A (zh) 2018-09-14 2019-09-13 一种视频编码中的基于分块的寻址方法,编码器以及视频译码设备
CN201980060373.9A Active CN112690004B (zh) 2018-09-14 2019-09-13 一种视频译码中的基于分块的寻址方法,译码器以及视频译码设备
CN201980060365.4A Active CN112703736B (zh) 2018-09-14 2019-09-13 视频译码方法,视频译码设备以及非瞬时性计算机可读介质
CN202310202849.6A Pending CN116471411A (zh) 2018-09-14 2019-09-13 一种视频译码中的基于分块的寻址方法,译码器以及视频译码设备

Country Status (7)

Country Link
US (6) US11272223B2 (zh)
EP (3) EP3850843A4 (zh)
JP (2) JP7384902B2 (zh)
KR (1) KR20210057148A (zh)
CN (8) CN116055732A (zh)
MX (1) MX2021003049A (zh)
WO (4) WO2020056356A1 (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3811624A1 (en) 2018-06-21 2021-04-28 Telefonaktiebolaget LM Ericsson (publ) Tile shuffling for 360 degree video decoding
CN116055732A (zh) 2018-09-14 2023-05-02 华为技术有限公司 视频译码方法,设备以及非瞬时性计算机可读介质
KR20200033194A (ko) * 2018-09-19 2020-03-27 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2020034330A1 (en) * 2018-09-28 2020-02-20 Zte Corporation Video encoding and decoding methods and apparatus
WO2020070196A1 (en) * 2018-10-02 2020-04-09 Telefonaktiebolaget Lm Ericsson (Publ) Encoding and decoding pictures based on tile group id
BR112021010326A2 (pt) * 2018-11-30 2021-08-24 Sharp Kabushiki Kaisha Método de decodificar dados de vídeo, método de codificar dados de vídeo e dispositivo para decodificar dados de vídeo
JP7284285B2 (ja) * 2019-03-11 2023-05-30 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 矩形タイルグループシグナリングを含むビデオコーディング
WO2020249124A1 (en) 2019-06-14 2020-12-17 Beijing Bytedance Network Technology Co., Ltd. Handling video unit boundaries and virtual boundaries based on color format
CN113039799B (zh) 2019-08-23 2023-08-01 苹果公司 图像信号编码/解码方法及其设备
US11496774B2 (en) * 2019-08-27 2022-11-08 Tencent America LLC Header syntax for QT/BT/TT size
AU2020347030A1 (en) * 2019-09-10 2022-03-31 Xris Corporation Image signal encoding/decoding method and device therefor
BR112022005046A2 (pt) 2019-09-18 2022-07-05 Beijing Bytedance Network Tech Co Ltd Método de processamento de dados de vídeo, aparelho para processar dados de vídeo, meio de armazenamento não transitório legível por computador e meio de gravação não transitório legível por computador
EP4018652A4 (en) 2019-09-22 2022-11-02 Beijing Bytedance Network Technology Co., Ltd. FILLING METHOD IN AN ADAPTIVE LOOP FILTER
CN114450954A (zh) 2019-09-27 2022-05-06 北京字节跳动网络技术有限公司 不同视频单元之间的自适应环路滤波
WO2021068906A1 (en) 2019-10-10 2021-04-15 Beijing Bytedance Network Technology Co., Ltd. Padding process at unavailable sample locations in adaptive loop filtering
EP4042684A4 (en) 2019-10-29 2022-11-30 Beijing Bytedance Network Technology Co., Ltd. SIGNALING AN ADAPTIVE CROSS-COMPONENT LOOP FILTER
CN114667730A (zh) 2019-11-01 2022-06-24 北京字节跳动网络技术有限公司 交叉分量视频编解码的块尺寸限制
WO2021100863A1 (en) * 2019-11-22 2021-05-27 Sharp Kabushiki Kaisha Systems and methods for signaling tiles and slices in video coding
KR20220087514A (ko) * 2019-11-28 2022-06-24 엘지전자 주식회사 영상/비디오 코딩 방법 및 장치
MX2022006734A (es) 2019-12-11 2022-06-09 Beijing Bytedance Network Tech Co Ltd Relleno de muestra para filtrado de circuito adaptivo de componente cruzado.
US11297320B2 (en) * 2020-01-10 2022-04-05 Mediatek Inc. Signaling quantization related parameters
US11405649B2 (en) * 2020-02-18 2022-08-02 Mediatek Inc. Specifying slice chunks of a slice within a tile
CN115349228A (zh) * 2020-03-24 2022-11-15 阿里巴巴集团控股有限公司 视频记录的符号数据隐藏
CN115362685A (zh) * 2020-04-01 2022-11-18 北京达佳互联信息技术有限公司 用于视频编解码的无损编解码模式
EP4122204A4 (en) 2020-04-18 2024-02-14 Beijing Bytedance Network Tech Co Ltd SYNTAX FOR SIGNALING CROSS-COMPONENT VIDEO CODING
CN115349263A (zh) * 2020-05-19 2022-11-15 谷歌有限责任公司 质量归一化视频转码的动态参数选择
EP4154529A1 (en) 2020-05-22 2023-03-29 Alibaba Group Holding Limited Method and apparatus for processing video content
JP2023531223A (ja) 2020-06-30 2023-07-21 北京字節跳動網絡技術有限公司 適応ループフィルタリングのための境界位置
CN112995237B (zh) * 2021-05-21 2021-10-08 杭州博雅鸿图视频技术有限公司 一种用于处理视频数据流的方法、装置、设备及存储介质
US11539980B1 (en) * 2021-08-10 2022-12-27 Htc Corporation Image slice transforming method and electronic device

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2006072985A1 (ja) * 2005-01-06 2008-06-12 三菱電機株式会社 映像表示装置
JP4420459B2 (ja) 2005-06-14 2010-02-24 キヤノン株式会社 画像処理装置およびその方法
US20070189732A1 (en) * 2006-02-10 2007-08-16 Sai Pothana System and method for reconstructing MPEG-2 start codes from AVC data
US9648325B2 (en) * 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
CN101389021B (zh) * 2007-09-14 2010-12-22 华为技术有限公司 视频编解码方法及装置
US7886046B1 (en) * 2008-05-16 2011-02-08 Google Inc. Methods and apparatus for predicting impact of proposed changes and implementations in distributed networks
TWI428023B (zh) * 2008-11-18 2014-02-21 Ind Tech Res Inst 解碼方法及裝置
KR101583201B1 (ko) * 2010-09-27 2016-01-07 엘지전자 주식회사 블록 분할 방법 및 복호화 장치
US9325999B2 (en) 2011-03-10 2016-04-26 Sharp Kabushiki Kaisha Video decoder for slices
KR101578308B1 (ko) * 2011-06-30 2015-12-16 텔레폰악티에볼라겟엘엠에릭슨(펍) 레퍼러스 픽처 시그널링
US8767824B2 (en) * 2011-07-11 2014-07-01 Sharp Kabushiki Kaisha Video decoder parallelization for tiles
US9420307B2 (en) * 2011-09-23 2016-08-16 Qualcomm Incorporated Coding reference pictures for a reference picture set
US9584819B2 (en) 2011-10-24 2017-02-28 Qualcomm Incorporated Grouping of tiles for video coding
US9124895B2 (en) * 2011-11-04 2015-09-01 Qualcomm Incorporated Video coding with network abstraction layer units that include multiple encoded picture partitions
KR102238127B1 (ko) * 2011-12-29 2021-04-08 엘지전자 주식회사 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치
US9332259B2 (en) * 2012-01-18 2016-05-03 Qualcomm Incorporated Indication of use of wavefront parallel processing in video coding
KR102361012B1 (ko) * 2012-03-22 2022-02-09 엘지전자 주식회사 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
RS56322B1 (sr) * 2012-04-16 2017-12-29 Hfi Innovation Inc Postupak i aparat za filtriranje u petlji preko granica režnja ili pločice
FI4002842T3 (fi) * 2012-06-26 2023-11-02 Lg Electronics Inc Videodekoodausmenetelmä, videokoodausmenetelmä ja tallennusväline, joka tallentaa koodatun videoinformaation
AU2013283173B2 (en) * 2012-06-29 2016-03-24 Ge Video Compression, Llc Video data stream concept
JP6376719B2 (ja) * 2012-06-29 2018-08-22 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP6214235B2 (ja) * 2012-07-02 2017-10-18 キヤノン株式会社 ファイル生成方法、ファイル生成装置、及びプログラム
US20140079135A1 (en) * 2012-09-14 2014-03-20 Qualcomm Incoporated Performing quantization to facilitate deblocking filtering
AU2013322008B2 (en) * 2012-09-26 2016-10-27 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
JP6210375B2 (ja) * 2012-12-28 2017-10-11 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置及び画像符号化復号装置
CN116366835A (zh) * 2013-01-04 2023-06-30 Ge视频压缩有限责任公司 高效可伸缩编码概念
CA2897152C (en) * 2013-01-07 2019-03-05 Kemal Ugur Inter-layer video encoding and decoding with adaptive resolution change at indicated switching points
US9807421B2 (en) * 2013-04-05 2017-10-31 Sharp Kabushiki Kaisha NAL unit type restrictions
KR102327617B1 (ko) * 2013-04-08 2021-11-17 지이 비디오 컴프레션, 엘엘씨 효율적인 다-시점/계층 코딩을 허용하는 코딩 개념
US20150016503A1 (en) * 2013-07-15 2015-01-15 Qualcomm Incorporated Tiles and wavefront processing in multi-layer context
WO2015043501A1 (en) * 2013-09-27 2015-04-02 Qualcomm Incorporated Residual coding for depth intra prediction modes
US9936207B2 (en) * 2013-10-14 2018-04-03 Qualcomm Incorporated Indication of parallel processing in video coding
WO2015056179A1 (en) * 2013-10-15 2015-04-23 Nokia Technologies Oy Video encoding and decoding using syntax element
GB2519745B (en) * 2013-10-22 2018-04-18 Canon Kk Method of processing disordered frame portion data units
US9736488B2 (en) * 2013-11-27 2017-08-15 Nxp Usa, Inc. Decoding for high efficiency video transcoding
US9596477B2 (en) * 2013-12-26 2017-03-14 Mediatek Inc. Methods of multiple-slice coding for frame buffer compression
US9317889B1 (en) * 2013-12-31 2016-04-19 Exelis Inc. Parallel image processing method and system
CN105900401B (zh) * 2014-01-07 2020-03-06 佳能株式会社 用于对层间依赖性进行编码的方法、装置和计算机程序
KR102111740B1 (ko) * 2014-04-03 2020-05-15 삼성전자주식회사 영상 데이터를 처리하는 방법 및 디바이스.
US20160353128A1 (en) * 2015-06-01 2016-12-01 Microsoft Technology Licensing, Llc Decoding of intra-predicted images
CN115134610A (zh) 2015-06-11 2022-09-30 杜比实验室特许公司 使用自适应去块滤波编码和解码图像的方法及其装置
JPWO2016199608A1 (ja) * 2015-06-12 2018-03-29 ソニー株式会社 情報処理装置および情報処理方法
US20180242028A1 (en) * 2015-08-20 2018-08-23 Koninklijke Kpn N.V. Forming A Tiled Video On The Basis Of Media Streams
US10419768B2 (en) * 2016-03-30 2019-09-17 Qualcomm Incorporated Tile grouping in HEVC and L-HEVC file formats
GB2550912B (en) * 2016-05-27 2019-09-04 Canon Kk Method, device and computer program for encapsulating and parsing timed media data
CN109691103B (zh) * 2016-07-14 2023-02-28 皇家Kpn公司 视频编码
US10863186B2 (en) * 2016-08-26 2020-12-08 Sharp Kabushiki Kaisha Image decoding apparatus and image coding apparatus
EP3293981A1 (en) * 2016-09-08 2018-03-14 Koninklijke KPN N.V. Partial video decoding method, device and system
US10917564B2 (en) * 2016-10-12 2021-02-09 Qualcomm Incorporated Systems and methods of generating and processing files for partial decoding and most interested regions
KR102390413B1 (ko) * 2017-03-03 2022-04-25 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
US10764575B2 (en) * 2017-03-03 2020-09-01 Qualcomm Incorporated Coding MCTS-nested SEI messages to exclude other SEI messages that are not MCTS-nested
US10791316B2 (en) * 2017-03-28 2020-09-29 Samsung Electronics Co., Ltd. Method for transmitting data about three-dimensional image
US11184636B2 (en) * 2017-06-28 2021-11-23 Sharp Kabushiki Kaisha Video encoding device and video decoding device
WO2019009473A1 (ko) * 2017-07-04 2019-01-10 엘지전자 주식회사 360도 비디오의 영역 기반 처리 방법 및 장치
WO2019103126A1 (en) * 2017-11-22 2019-05-31 Sharp Kabushiki Kaisha Systems and methods for signaling tile structures for pictures of coded video
US11509937B2 (en) * 2018-04-09 2022-11-22 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding video
JP7437374B2 (ja) * 2018-07-02 2024-02-22 ノキア テクノロジーズ オーユー ビデオコーディングでのタイル関連アドレス指定のための方法および装置
CN116055732A (zh) 2018-09-14 2023-05-02 华为技术有限公司 视频译码方法,设备以及非瞬时性计算机可读介质
MX2021006627A (es) 2018-12-04 2021-08-16 Vid Scale Inc Particionamiento de grupos de mosaicos.

Also Published As

Publication number Publication date
JP2024012554A (ja) 2024-01-30
US20210204000A1 (en) 2021-07-01
WO2020056352A1 (en) 2020-03-19
WO2020056357A1 (en) 2020-03-19
CN112703736B (zh) 2022-11-25
EP3850843A1 (en) 2021-07-21
CN112703742A (zh) 2021-04-23
CN112690004A (zh) 2021-04-20
EP3850852A1 (en) 2021-07-21
MX2021003049A (es) 2021-08-11
WO2020056356A1 (en) 2020-03-19
CN116781935A (zh) 2023-09-19
KR20210057148A (ko) 2021-05-20
US20210211663A1 (en) 2021-07-08
EP3847817A1 (en) 2021-07-14
CN116684625A (zh) 2023-09-01
EP3847817B1 (en) 2024-05-15
JP7384902B2 (ja) 2023-11-21
EP3850852A4 (en) 2021-11-17
US20210211664A1 (en) 2021-07-08
US11272223B2 (en) 2022-03-08
US11622132B2 (en) 2023-04-04
CN116471411A (zh) 2023-07-21
EP3850843A4 (en) 2021-11-24
CN112703743A (zh) 2021-04-23
WO2020056354A1 (en) 2020-03-19
EP3847817A4 (en) 2021-11-24
US11968407B2 (en) 2024-04-23
CN112703736A (zh) 2021-04-23
CN112703742B (zh) 2023-03-31
CN112690004B (zh) 2023-01-13
US20230283809A1 (en) 2023-09-07
CN112703743B (zh) 2022-05-24
US20220159313A1 (en) 2022-05-19
US20210211662A1 (en) 2021-07-08
JP2022500924A (ja) 2022-01-04

Similar Documents

Publication Publication Date Title
CN112703736B (zh) 视频译码方法,视频译码设备以及非瞬时性计算机可读介质
CN115550648B (zh) 视频译码中的子图像大小
CN114073073B (zh) 一种支持混合nal单元的编解码方法和编解码器
KR20210096305A (ko) 비디오 인코더 및 비디오 디코더, 그리고 대응하는 방법
JP7368477B2 (ja) ビデオエンコーダ、ビデオデコーダ、及び対応する方法
CN114650428B (zh) 使用标识符指示的视频译码码流提取的方法、设备和介质
KR20210135621A (ko) 비디오 코딩에서 슬라이스 엔트리 포인트
CN114710668A (zh) 视频译码中光栅扫描分块组与矩形分块组的协调
CN117956190A (zh) 视频译码中的显式地址指示
CN116600126A (zh) 基于子图像的视频译码中的子图像id指示

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