CN113330451A - 视频译码中的子图像大小 - Google Patents

视频译码中的子图像大小 Download PDF

Info

Publication number
CN113330451A
CN113330451A CN202080008756.4A CN202080008756A CN113330451A CN 113330451 A CN113330451 A CN 113330451A CN 202080008756 A CN202080008756 A CN 202080008756A CN 113330451 A CN113330451 A CN 113330451A
Authority
CN
China
Prior art keywords
sub
image
picture
images
decoder
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
CN202080008756.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
Priority to CN202211022376.3A priority Critical patent/CN115550648B/zh
Publication of CN113330451A publication Critical patent/CN113330451A/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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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
    • 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/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/188Methods 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 a video data packet, e.g. a network abstraction layer [NAL] unit
    • 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/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/29Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding involving scalability at the object level, e.g. video object layer [VOL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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
    • 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

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)
  • Color Television Systems (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Television Systems (AREA)
  • Control Of El Displays (AREA)
  • Studio Circuits (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种视频译码机制。该机制包括接收码流,该码流包括从图像分割的一个或多个子图像,使得当每个子图像包括的右边界与该图像的右边界不重合时,每个子图像包括的子图像宽度是译码树单元(coding tree unit,CTU)大小的整数倍。解析码流以获得一个或多个子图像。对一个或多个子图像进行解码以创建视频序列。发送视频序列用于显示。

Description

视频译码中的子图像大小
相关申请案交叉申请
本专利申请要求王业奎等人于2019年1月9日提交的第62/790,207号、发明名称为“视频译码中的子图像(Sub-Pictures in Video Coding)”的美国临时专利申请的权益,其通过引用的方式并入本文中。
技术领域
本公开大体上涉及视频译码,具体涉及视频译码中的子图像管理。
背景技术
即使在视频较短的情况下也需要对大量的视频数据进行描述,当数据要在带宽容量受限的通信网络中发送或以其它方式发送时,这样可能会造成困难。因此,视频数据通常要先压缩然后在现代电信网络中发送。由于内存资源可能有限,当在存储设备中存储视频时,视频的大小也可能成为问题。视频压缩设备通常在信源侧使用软件和/或硬件,以在发送或存储之前对视频数据进行译码,从而减少用来表示数字视频图像所需的数据量。然后,压缩数据在目的侧由用于对视频数据进行解码的视频解压缩设备接收。在有限的网络资源以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术在几乎不影响图像质量的情况下能够提高压缩比。
发明内容
在一个实施例中,本发明包括一种在解码器中实现的方法,所述方法包括:所述解码器的接收器接收码流,所述码流包括通过对图像进行分割获得的一个或多个子图像,使得当第一子图像包括的右边界与所述图像的右边界重合时,所述第一子图像包括的子图像宽度包括不完整译码树单元(coding tree unit,CTU);所述解码器的处理器解析所述码流以获得所述一个或多个子图像;所述处理器对所述一个或多个子图像进行解码以创建视频序列;所述处理器发送用于显示的所述视频序列。一些视频系统可以将子图像包括的高度和宽度限制为CTU大小的倍数。但是,图像包括的高度和宽度可以不是CTU大小的倍数。因此,子图像大小约束使得子图像在很多图像布局中操作不正确。在所公开的示例中,子图像宽度和子图像高度约束为CTU大小的倍数。但是,当子图像分别位于图像的右边界或图像的下边界时,需要去除这些约束。通过分别允许下子图像和右子图像包括的高度和宽度不是CTU大小的倍数,子图像可以与任何图像一起使用而不会导致解码错误。这增强了编码器和解码器的功能。此外,增强的功能使得编码器更高效地译码图像,这降低了编码器和解码器的网络资源利用率、内存资源利用率和/或处理资源利用率。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,当第二子图像包括的下边界与所述图像的下边界不重合时,所述第二子图像包括的子图像高度包括整数个完整CTU。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,当第三子图像包括的右边界与所述图像的右边界不重合时,所述第三子图像包括的子图像宽度包括整数个完整CTU。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,当第四子图像包括的下边界与所述图像的下边界重合时,所述第四子图像包括的子图像高度包括不完整CTU。
在一个实施例中,本发明包括在解码器中实现的方法,所述方法包括:所述解码器的接收器接收码流,所述码流包括通过对图像进行分割获得的一个或多个子图像,使得当每个子图像包括的右边界与所述图像的右边界不重合时,每个子图像包括的子图像宽度是译码树单元(coding tree unit,CTU)大小的整数倍;所述解码器的处理器解析所述码流以获得所述一个或多个子图像;所述处理器对所述一个或多个子图像进行解码以创建视频序列;所述处理器发送用于显示的所述视频序列。一些视频系统可以将子图像包括的高度和宽度限制为CTU大小的倍数。但是,图像包括的高度和宽度可以不是CTU大小的倍数。因此,子图像大小约束使得子图像在很多图像布局中操作不正确。在所公开的示例中,子图像宽度和子图像高度约束为CTU大小的倍数。但是,当子图像分别位于图像的右边界或图像的下边界时,需要去除这些约束。通过分别允许下子图像和右子图像包括的高度和宽度不是CTU大小的倍数,子图像可以与任何图像一起使用而不会导致解码错误。这增强了编码器和解码器的功能。此外,增强的功能使得编码器更高效地译码图像,这降低了编码器和解码器的网络资源利用率、内存资源利用率和/或处理资源利用率。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,当每个子图像包括的下边界与所述图像的下边界不重合时,每个子图像包括的子图像高度是所述CTU大小的整数倍。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,当每个子图像包括的右边界与所述图像的右边界重合时,所述子图像中的至少一个子图像包括的子图像宽度不是所述CTU大小的整数倍。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,当每个子图像包括的下边界与所述图像的下边界重合时,所述子图像中的至少一个子图像包括的子图像高度不是所述CTU大小的整数倍。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述图像包括的图像宽度不是所述CTU大小的整数倍。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述图像包括的图像高度不是所述CTU大小的整数倍。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述CTU大小是以亮度像素点为单位测量的。
在一个实施例中,本发明包括一种在编码器中实现的方法,所述方法包括:所述编码器的处理器将图像分割为多个子图像,使得当每个子图像包括的右边界与所述图像的右边界不重合时,每个子图像包括的子图像宽度是CTU大小的整数倍;所述处理器将一个或多个子图像编码到码流中;在所述编码器的存储器中存储所述码流,所述码流用于发送到解码器。一些视频系统可以将子图像包括的高度和宽度限制为CTU大小的倍数。但是,图像包括的高度和宽度可以不是CTU大小的倍数。因此,子图像大小约束使得子图像在很多图像布局中操作不正确。在所公开的示例中,子图像宽度和子图像高度约束为CTU大小的倍数。但是,当子图像分别位于图像的右边界或图像的下边界时,需要去除这些约束。通过分别允许下子图像和右子图像包括的高度和宽度不是CTU大小的倍数,子图像可以与任何图像一起使用而不会导致解码错误。这增强了编码器和解码器的功能。此外,增强的功能使得编码器更高效地译码图像,这降低了编码器和解码器的网络资源利用率、内存资源利用率和/或处理资源利用率。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,当每个子图像包括的下边界与所述图像的下边界不重合时,每个子图像包括的子图像高度是所述CTU大小的整数倍。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,当每个子图像包括的右边界与所述图像的右边界重合时,所述子图像中的至少一个子图像包括的子图像宽度不是所述CTU大小的整数倍。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,当每个子图像包括的下边界与所述图像的下边界重合时,所述子图像中的至少一个子图像包括的子图像高度不是所述CTU大小的整数倍。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述图像包括的图像宽度不是所述CTU大小的整数倍。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述图像包括的图像高度不是所述CTU大小的整数倍。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述CTU大小是以亮度像素点为单位测量的。
在一个实施例中,本发明包括一种视频译码设备,包括:处理器、存储器、耦合到处理器的接收器和发送器,处理器、储存器、接收器和发送器用于执行根据上述方面中任一方面所述的方法。
在一个实施例中,本发明包括一种非瞬时性计算机可读介质,其包括用于视频译码设备的计算机程序产品,计算机程序产品包括存储在非瞬时性计算机可读介质中的计算机可执行指令,当计算机可执行指令由处理器执行时,使得视频译码设备执行根据上述方面中任一方面所述的方法。
在一个实施例中,本发明包括解码器,所述解码器包括:接收模块,用于接收码流,所述码流包括通过对图像进行分割获得的一个或多个子图像,使得当每个子图像包括的右边界与所述图像的右边界不重合时,每个子图像包括的子图像宽度是CTU大小的整数倍;解析模块,用于解析所述码流以获得所述一个或多个子图像;解码模块,用于对所述一个或多个子图像进行解码以创建视频序列;发送模块,用于发送用于显示的所述视频序列。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,解码器还用于执行上述任一方面所述的方法。
在一个实施例中,本发明包括一种编码器,所述编码器包括:分割模块,用于将图像分割为多个子图像,使得当每个子图像包括的右边界与所述图像的右边界不重合时,每个子图像包括的子图像宽度是CTU大小的整数倍;编码模块,用于将所述子图像中的一个或多个编码到码流中;存储模块,用于存储所述码流,所述码流用于发送到解码器。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述编码器还用于执行上述任一方面所述的方法。
为了清楚起见,上述任一实施例可以与上述任一其它实施例组合以创建本发明范围内的新实施例。
从结合附图和权利要求书的以下详细描述中,将更清楚地理解这些和其它特征。
附图说明
为了更完整地理解本发明,参考以下结合附图和详细描述而进行的简要描述,其中,相同的附图标记表示相同的部分。
图1为对视频信号进行译码的示例性方法的流程图。
图2为用于视频译码的示例编码和解码(codec)系统的示意图。
图3为示例性视频编码器的示意图。
图4为示例性视频解码器的示意图。
图5为从码流提取的示例性码流和子码流的示意图。
图6为分割为子图像的示例性图像的示意图。
图7为用于将条带与子图像布局相关的示例性机制的示意图。
图8为分割为子图像的另一示例性图像的示意图。
图9为示例性视频译码设备的示意图。
图10为利用自适应大小约束对子图像的码流进行编码的示例性方法的流程图。
图11为利用自适应大小约束对子图像的码流进行解码的示例性方法的流程图。
图12为利用自适应大小约束对子图像的码流进行指示的示例性系统的示意图。
具体实施方式
首先应理解,尽管下文提供了一个或多个实施例的说明性实现方式,但所公开的系统和/或方法可以使用任何数量的技术来实现,无论该技术是当前已知的技术还是现有的技术。本发明不应限于下文所说明的说明性实现方式、附图和技术,包括本文所说明和描述的示例性设计和实现方式,而是可在所附权利要求书的范围以及其等效部分的完整范围内修改。
本文采用各种缩略语,例如:译码树块(coding tree block,CTB),码译码树单元(coding tree unit,CTU)、译码单元(coding unit,CU)、译码视频序列(coded videosequence,CVS)、联合视频专家组(Joint Video Experts Team,JVET)、运动约束分块集(motion constrained tile set,MCTS)、最大传输单元(maximum transfer unit,MTU)、网络抽象层(network abstraction layer,NAL)、图像顺序编号(picture order count,POC)、原始字节序列载荷(raw byte sequence payload,RBSP)、序列参数集(sequenceparameter set,SPS)、通用视频译码(versatile video coding,VVC)、工作草稿(workingdraft,WD)。
许多视频压缩技术可以用来减小视频文件的大小,同时尽量减少数据丢失。例如,视频压缩技术可以包括执行空间(例如,帧内)预测和/或时间(例如,帧间)预测以减少或去除视频序列中的数据冗余。对于基于块的视频译码,可以将视频条带(slice)(例如,视频图像或视频图像的一部分)分割为视频块,视频块也可以称为树块、译码树块(coding treeblock,CTB)、译码树单元(coding tree unit,CTU)、译码单元(coding unit,CU)和/或译码节点。图像的帧内译码(I)条带中的视频块针对同一图像中的相邻块中的参考像素点使用空间预测进行译码。图像的帧间译码(P或B)条带中的视频块可以针对同一图像中的相邻块中的参考像素点使用空间预测,或者针对其它参考图像中的参考像素点使用时间预测。图像(picture/image)可以称为帧(frame),参考图像可以称为参考帧。空间或时间预测产生表示图像块的预测块。残差数据表示原始图像块与预测块之间的像素差。因此,根据指向构成预测块的参考像素点块的运动矢量,和表示译码块与预测块之间差值的残差数据,对帧间译码块进行编码。根据帧内译码模式和残差数据对帧内译码块进行编码。为了进一步压缩,残差数据可以从像素域变换到变换域,从而产生残差变换系数,然后可以量化残差变换系数。可以扫描最初以二维阵列排列的量化变换系数,以产生一维变换系数向量。可以应用熵译码来实现更大的压缩。下面详细讨论这种视频压缩技术。
为了保证能够准确地对编码视频进行解码,根据相应的视频译码标准对视频进行编码和解码。视频译码标准包括国际电信联盟电信标准化部门(InternationalTelecommunication Union Telecommunication Standardization Sector,ITU-T)H.261、ISO/IEC运动图像专家组(Motion Picture Experts Group,MPEG)-1第2部分、ITU-T H.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部分),以及高效视频译码(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,则通过称为分割的过程将该载荷划分为两个报文。
规则条带,也简称为条带,是图像的分割部分,可以独立于同一图像中的其它规则条带重建,尽管由于循环滤波操作存在一些相互依赖性。每个规则条带封装在自己的网络抽象层(network abstraction layer,NAL)单元中进行发送。此外,可以禁用跨条带边界的帧内预测(帧内像素点预测、运动信息预测、译码模式预测)和熵译码依赖,以支持独立重建。这种独立重建支持并行化操作。例如,基于规则条带的并行化使用最小的处理器间或核间通信。但是,由于每个规则条带是独立的,因此每个条带都与单独的条带头相关。由于每个条带的条带头的位成本,以及由于缺乏跨条带边界的预测,使用规则条带会造成大的译码开销。此外,可以使用规则条带,以支持MTU大小匹配要求。具体地,由于规则条带封装在单独的NAL单元中,并且可以独立译码,所以每个规则条带应小于MTU方案中的MTU,以避免将条带分成多个报文。因此,为了实现并行化和MTU大小匹配,图像中的条带布局可能互相矛盾。
相关条带与规则条带类似,但相关条带具有缩短的条带头,并且允许在不影响帧内预测的情况下对图像树块边界进行分割。因此,相关条带将规则条带分割为多个NAL单元,这通过在整个规则条带的编码完成之前发送规则条带的一部分,降低端到端时延。
分块是图像中由水平和垂直边界创建的分割部分,这些边界创建了分块的列和行。分块可以按光栅扫描顺序(从右到左,从上到下)进行译码。CTB的扫描顺序在分块内部进行。因此,在进行到下一个分块中的CTB之前,按照光栅扫描顺序对第一分块中的CTB进行译码。与规则条带类似,分块去除了帧内预测依赖以及熵解码依赖。但是,各个NAL单元中可以不包括分块,因此,分块可以不用于MTU大小匹配。每个分块可以由一个处理器/核处理,处理器间/核间通信(该通信用于处理单元之间的帧内预测,处理单元对相邻分块进行解码)可以限于发送共用的条带头(当相邻分块在同一条带中时),并对重建像素点和元数据进行循环滤波相关的共用。当条带中包括多个分块时,除条带中的第一入口点偏移之外,还可以在条带头中指示(signal)每个分块的入口点字节偏移。对于每个条带和分块,应满足以下条件中的至少一个:(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并指示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)可以在所提取的子码流中使用不同的值。
也可以将图像分割为一个或多个子图像。子图像是矩形分块组集/条带集,以分块组开头,分块组的tile_group_address等于0。每个子图像可以引用单独的PPS,因此可以具有单独的分块分割。在解码过程中,可以像处理图像一样处理子图像。用于解码当前子图像的参考子图像是通过从解码图像缓冲器中的参考图像中提取与当前子图像并置的区域而生成的。提取的区域视为解码子图像。帧间预测可以发生在图像中大小相同和位置相同的子图像之间。分块组,也称为条带,是图像或子图像中相关分块的序列。可以推导若干项来确定子图像在图像中的位置。例如,每个当前子图像可以按照CTU光栅扫描顺序位于在图像中的下一个未占用位置,该位置足够大以包括图像边界内的当前子图像。
此外,图像分割可以基于图像级分块和序列级分块。序列级分块可以包括MCTS的功能,并且可以实现为子图像。例如,图像级分块可以定义为图像中的特定分块列和特定分块行内的译码树块的矩形区域。序列级分块可以定义为包括在不同帧中的译码树块的矩形区域集,其中每个矩形区域还包括一个或多个图像级分块,并且译码树块的矩形区域集可独立地从任何其它类似的矩形区域集解码。序列级分块组集(sequence level tile groupset,STGPS)是一组此类序列级分块。STGPS可以在非视频译码层(video coding layer,VCL)NAL单元中用NAL单元头中的相关标识符(identifier,ID)进行指示。
上述基于子图像的分割方案可能与某些问题相关。例如,当使用子图像时,可以将子图像分割为分块(tile)以支持并行处理。用于并行处理的子图像的分块分割可以根据图像而变化(例如,用于并行处理负载平衡),因此可以在图像级(例如,在PPS中)进行管理。但是,可以使用子图像分割(将图像分割为子图像)来支持感兴趣区域(region of interest,ROI)和基于子图像的图像访问。在这种情况下,PPS中子图像或MCTS的指示效率不高。
在另一示例中,当图像中的任一子图像译码为时间运动约束子图像时,图像中的所有子图像可以译码为时间运动约束子图像。这种图像分割可能是限制性的。例如,将子图像译码为时间运动约束子图像会降低译码效率,但有利于其它功能。但是,在基于感兴趣区域的应用中,通常只有一个或几个子图像为基于时间运动约束的子图像。因此,在实际上没有提供任何好处的情况下降低了其余的子图像的译码效率。
在另一示例中,用于表示子图像的大小的语法元素可以以亮度CTU大小为单位进行表示。因此,子图像的宽度和高度都应该是CtbSizeY的整数倍。这种表示子图像宽度和高度的机制可能导致各种问题。例如,子图像分割只适用于图像宽度和/或图像高度是CtbSizeY的整数倍的图像。这使子图像分割不可用于包括的尺寸不是CTbSizeY的整数倍的图像。如果在图像尺寸不是CtbSizeY的整数倍时对图像宽度和/或高度进行了子图像分割,则对于最右的子图像和最下的子图像,以亮度像素点为单位的子图像宽度和/或子图像高度的推导是错误的。这种错误的推导会导致一些译码工具产生错误的结果。
在另一示例中,可以不指示子图像在图像中的位置。相反,使用以下规则推导位置。当前子图像按照CTU光栅扫描顺序位于在图像中的下一个此类未占用位置,该位置足够大以包括图像边界内的子图像。在一些情况下,以这种方式推导子图像位置可能会导致错误。例如,如果一个子图像在发送中丢失,则将错误地推导其它子图像的位置,并且会将解码像素点放置在错误的位置。当子图像按错误顺序到达时,会出现同样的问题。
在另一示例中,解码子图像可以提取参考图像中的并置子图像。这可能会增加处理器的复杂性和负载以及内存资源利用率。
在另一示例中,当将子图像指定为时间运动约束的子图像时,禁用遍历子图像边界的环路滤波器。无论是否启用遍历分块边界的环路过滤器,都会发生这种情况。这种约束可能过于限制,并且可能导致使用多个子图像的视频图像的视觉伪影。
在另一示例中,SPS、STGPS、PPS和分块组标头之间的关系如下:STGPS引用SPS,PPS引用STGPS,分块组标头/条带头引用PPS。但是,STGPS和PPS应该是数据独立的,而不是PPS引用STGPS。上述布置也可以使得同一图像的所有分块组不引用同一PPS。
在另一示例中,每个STGPS可以包括子图像的四个边的ID。此类ID用于识别共用同一边界的子图像,以便可以定义它们的相对空间关系。但是,在一些些情况下,此类信息可能不足以推导序列级分块组集的位置和大小信息。在其它情况下,位置和大小信息的指示可能是冗余的。
在另一示例中,STGPS ID可以使用8个位在VCL NAL单元的NAL单元头中指示。这有助于子图像提取。这种指示可能会不必要地增加NAL单元头的长度。另一问题是,除非对序列级分块组集进行约束以防止重叠,否则一个分块组可以与多个序列级分块组集相关。
本文公开了用于解决上述问题中的一个或多个的各种机制。在第一示例中,子图像的布局信息包括在SPS中而不是PPS中。子图像布局信息包括子图像位置和子图像大小。子图像位置是子图像左上像素点与图像左上像素点之间的偏移。子图像大小是以亮度像素点为单位测量的子图像的高度和宽度。如上所述,一些系统在PPS中包括分块信息,因为分块可能根据图像而变化。但是,子图像可以用于支持ROI应用和基于子图像的访问。这些功能不会在每个图像的基础上改变。此外,视频序列可以包括单个SPS(或每个视频片分段一个SPS),并且可以包括每个图像最多一个PPS。在SPS中放置子图像的布局信息可以确保只针对序列/分段指示一次布局,而不是针对每个PPS都指示。因此,在SPS中指示子图像布局提高了译码效率,从而降低编码器和解码器的网络资源利用率、内存资源利用率和/或处理资源利用率。此外,一些系统具有由解码器推导的子图像信息。指示子图像信息降低丢失报文时出错的可能性,并且支持提取子图像的其它功能。因此,在SPS中指示子图像布局提高了编码器和/或解码器的功能。
在第二示例中,将子图像宽度和子图像高度约束为CTU大小的倍数。但是,当子图像分别位于图像的右边界或图像的下边界时,需要去除这些约束。如上所述,一些视频系统可以将子图像包括的高度和宽度限制为CTU大小的倍数。这使得子图像在多个图像布局中操作不正确。通过分别允许下子图像和右子图像包括的高度和宽度不是CTU大小的倍数,子图像可以与任何图像一起使用而不会导致解码错误。这增强了编码器和解码器的功能。此外,增强的功能使得编码器更高效地译码图像,这降低了编码器和解码器的网络资源利用率、内存资源利用率和/或处理资源利用率。
在第三示例中,将子图像约束为覆盖没有间隙或重叠的图像。如上所述,一些视频译码系统允许子图像包括间隙和重叠。这样可以将分块组/条带与多个子图像关联。如果编码器允许这样做,则必须将解码器构建为支持这种译码方案,即使解码方案很少使用。通过不允许存在子图像间隙和重叠,可以降低解码器的复杂性,因为在确定子图像大小和位置时不需要解码器考虑潜在的间隙和重叠。此外,不允许存在子图像间隙和重叠降低了编码器中的率失真优化(rate distortion optimization,RDO)过程的复杂性,因为编码器在为视频序列选择编码时可以忽略考虑间隙和重叠情况。因此,避免间隙和重叠可以降低编码器和解码器的内存资源利用率和/或处理资源利用率。
在第四示例中,可以在SPS中指示标志以表示子图像何时是时间运动约束的子图像。如上所述,一些系统可以将所有子图像都设置为时间运动约束子图像或完全不允许使用时间运动约束子图像。这种时间运动约束子图像提供了独立提取功能,但是降低了译码效率。但是,在基于感兴趣区域的应用中,应该对感兴趣区域进行译码以进行独立提取,而感兴趣区域之外的区域不需要这种功能。因此,在实际没有提供任何好处的情况下降低了其余的子图像的译码效率。因此,该标志允许存在提供独立提取功能的时间运动约束子图像,也允许存在非运动约束子图像,以便在不需要独立提取时提高译码效率。因此,该标志增强了功能和/或提高了译码效率,这降低了编码器和解码器的网络资源利用率、内存资源利用率和/或处理资源利用率。
在第五示例中,在SPS中指示完整的子图像ID集,并且条带头包括子图像ID,子图像ID表示包括相应条带的子图像。如上所述,一些系统指示子图像相对于其它子图像的位置。如果子图像丢失或单独提取子图像,这会导致问题。通过用ID指定每个子图像,在不参考其它子图像的情况下,可以对子图像进行定位并调整大小。这反过来支持纠错以及仅提取部分子图像并避免发送其它子图像的应用。SPS中可以发送完整的所有子图像ID的列表,同时发送相应的大小信息。每个条带头可以包括子图像ID,子图像ID表示包括相应条带的子图像。这样,在不参考其它子图像的情况下,就可以提取和定位子图像和相应条带。因此,子图像ID增强了功能和/或提高了译码效率,这降低了编码器和解码器的网络资源利用率、内存资源利用率和/或处理资源利用率。
在第六示例中,指示每个子图像的级别。在一些视频译码系统中,指示图像的级别。级别表示解码图像所需的硬件资源。如上所述,在一些情况中,不同的子图像可能具有不同的功能,因此在译码过程期间可以不同地处理它们。因此,基于图像的级别可能不利于解码一些子图像。因此,本发明包括每个子图像的级别。这样,每个子图像可以独立于其它子图像进行译码,不会因为根据不复杂的机制译码对子图像设置过高的解码要求而对解码器造成不必要的负载过重。指示的子图像级别信息增强了功能和/或提高了译码效率,这降低了编码器和解码器的网络资源利用率、内存资源利用率和/或处理资源利用率。
图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 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和子码流501的示意图。例如,码流500可以由编解码系统200和/或编码器300生成,由编解码系统200和/或解码器400进行解码。在另一示例中,码流500可以由方法100的步骤109中的编码器生成,在步骤111中由解码器使用。
码流500包括序列参数集(sequence parameter set,SPS)510、多个图像参数集(picture parameter set,PPS)512、多个条带头514、图像数据520和一个或多个SEI消息515。SPS 510包括码流500中包含的视频序列中的所有图像共用的序列数据。这些数据可以包括图像大小、位深度、译码工具参数、位速率限制等。PPS 512包括一个或多个相应图像的特定参数。因此,视频序列中的每个图像可以引用一个PPS 512。PPS 512可以表示可用于相应图像中的分块的译码工具、量化参数、偏移、图像特定译码工具参数(例如,滤波器控制)等。条带头514包括图像中的一个或多个相应条带524的特定参数。因此,视频序列中的每个条带524可以引用条带头514。条带头514可以包括条带类型信息、图像顺序编号(pictureorder count,POC)、参考图像列表、预测权重、分块入口点、去块参数等。在一些示例中,条带524可以称为分块组。在这种情况下,条带头514可以称为分块组标头。SEI消息515是包括块解码不需要的元数据的可选消息,但是可以用于相关目的,例如表示图像输出定时、显示设置、丢失检测、丢失隐藏等。
图像数据520包括根据帧间预测和/或帧内预测编码的视频数据以及相应的变换和量化残差数据。根据编码前用于对图像进行分割的分割,对这些图像数据520进行分类。例如,将视频序列分为图像521。可以将图像521进一步分为子图像522,将子图像522分为条带524。可以将条带524进一步分为分块和/或CTU。根据译码树将CTU进一步分为译码块。然后可以根据预测机制对译码块进行编码/解码。例如,图像521可以包括一个或多个子图像522。子图像522可以包括一个或多个条带524。图像521引用PPS 512,条带524引用条带头514。子图像522可以在整个视频序列(也称为分段)上一致地分割,因此可以引用SPS 510。每个条带524可以包括一个或多个分块。每个条带524以及图像521和子图像522也可以包括多个CTU。
每个图像521可以包括与相应时刻的视频序列相关的整个视觉数据集。但是,在一些情况下,一些应用可以仅显示图像521的一部分。例如,虚拟现实(virtual reality,VR)系统可以显示图像521的用户选择区域,创建了出现在图像521描绘的场景中的感觉。当编码码流500时,用户可能希望观看的区域是未知的。因此,图像521可以包括用户可能观看的每个可能的区域作为子图像522,所述子图像522可以基于用户输入单独解码和显示。其它应用可以单独显示感兴趣区域。例如,为了在一个图像中显示另一个图像,电视可以在不相关视频序列的图像521上显示一个视频序列的特定区域,并因此显示子图像522。在又一示例中,电话会议系统可以显示当前正在发言的用户的全部图像521和当前未发言的用户的子图像522。因此,子图像522可以包括图像521的定义区域。暂时受运动约束的子图像522与图像521的其余部分可以分别解码。具体地,在不参考时间运动约束子图像外部的像素点的情况下对时间运动约束子图像进行编码,并因此包括足够的信息以在不参考图像521的其余部分的情况下完成解码。
每个条带524可以是由左上角的CTU和右下角的CTU定义的矩形。在一些示例中,条带524包括一系列分块和/或CTU,这些分块和/或CTU按照从左到右和从上到下的顺序。在其它示例中,条带524是矩形条带。矩形条带可能不会按照光栅扫描顺序遍历图像的整个宽度。相反,矩形条带可以包括根据CTU和/或分块行以及CTU和/或分块列定义的图像521和/或子图像522的矩形和/或正方形区域。条带524是解码器能够单独显示的最小单元。因此,可以将图像521的条带524分配给不同的子图像522,以分别描绘图像521的期望区域。
解码器可以显示图像521的一个或多个子图像523。子图像523是用户选择的或预定义的子图像522的子组。例如,可以将图像521分为9个子图像522,但是解码器可以仅显示该组子图像522中的单个子图像523。子图像523包括条带525,条带525是选择的或预定义的条带524的子组。为了单独显示子图像523,可以从码流500中提取(529)子码流501。提取(529)可发生在编码器侧,使得解码器仅接收子码流501。在其它情况下,将整个码流500发送到解码器,并且解码器提取(529)子码流501用于单独解码。需要说明的是,子码流501在一些情况下也可以统称为码流。子码流501包括SPS 510、PPS 512、选择的子图像523、条带头514,以及与子图像523和/或条带525相关的SEI消息515。
本发明指示各种数据以支持解码器中子图像522的高效译码,以便选择和显示子图像523。SPS 510包括子图像大小531、子图像位置532,以及与完整子图像集522集相关的子图像ID 533。子图像大小531包括相应子图像522的以亮度像素点为单位的子图像高度和以亮度像素点为单位的子图像宽度。子图像位置532包括相应子图像522的左上像素点与图像521的左上像素点之间的偏移距离。子图像位置532和子图像大小531定义了相应子图像522的布局。子图像ID 533包括唯一地标识相应子图像522的数据。子图像ID 533可以是子图像522光栅扫描索引或其它定义值。因此,解码器可以读取SPS 510并确定每个子图像522的大小、位置和ID。在一些视频译码系统中,与子图像522相关的数据可以包括在PPS 512中,因为子图像522是从图像521中分割的。但是,用于创建子图像522的部分可以由应用使用,例如基于ROI的应用、VR应用等,这些应用依赖于视频序列/分段上的一致的子图像522部分。因此,子图像522部分通常不在每个图像的基础上改变。在SPS 510中放置子图像522的布局信息可以确保只针对序列/分段指示一次布局,而不是针对每个PPS 512都指示(在一些情况下可以针对每个图像521进行指示)。此外,指示子图像522信息而不是依赖于解码器来推导此类信息,减少了在丢失报文的情况下出错的可能性,并且支持提取子图像523的其它功能。因此,在SPS 510中指示子图像522布局提高了编码器和/或解码器的功能。
SPS 510还包括与完整子图像集522相关的运动约束子图像标志534。运动约束子图像标志534表示每个子图像522是否为时间运动约束子图像。因此,解码器可以读取运动约束子图像标志534,并确定哪些子图像522可以单独提取和显示,而无需解码其它子图像522。将选择的子图像522译码为时间运动约束子图像,同时在没有这种限制的情况下对其它子图像522进行译码,以提高译码效率。
子图像ID 533也包括在条带头514中。每个条带头514包括与相应条带集524相关的数据。因此,条带头514仅包括对应于与条带头514相关的条带524的子图像ID 533。这样,解码器可以接收条带524,从条带头514获取子图像ID 533,并确定哪个子图像522包括条带524。解码器还可以使用来自条带头514的子图像ID 533,以与SPS 510中的相关数据相关。这样,解码器可以通过读取SPS 510和相关条带头514来确定如何定位子图像522/523和条带524/525。这使得即使在一些子图像522在发送中丢失或故意省略以提高译码效率的情况下,也能对子图像523和条带525进行解码。
SEI消息515还可以包括子图像级别535。子图像级别535表示解码相应子图像522所需的硬件资源。这样,每个子图像522可以独立于其它子图像522进行译码。这可以确保在解码器中为每个子图像522分配正确的硬件资源量。如果没有这样的子图像级别535,则会为每个子图像522分配足够的资源以解码最复杂的子图像522。因此,如果子图像522与变化的硬件资源需求相关,则子图像级别535防止了解码器过度分配硬件资源。
图6为分割为子图像622的示例性图像600的示意图。例如,可以通过编解码系统200、编码器300和/或解码器400,在码流500中编码和从码流500中解码图像600。此外,可以对图像600进行分割和/或将图像600包括在子码流501中,以支持根据方法100进行编码和解码。
图像600可以基本上类似于图像521。此外,可以将图像600分割为子图像622,其基本上类似于子图像522。每个子图像622包括子图像大小631,子图像大小631可以作为子图像大小531包括在码流500中。子图像大小631包括子图像宽度631a和子图像高度631b。子图像宽度631a是相应子图像622的宽度,以亮度像素点为单位。子图像高度631b是相应子图像622的高度,以亮度像素点为单位。每个子图像622包括子图像ID 633,子图像ID 633可以作为子图像ID 633包括在码流500中。子图像ID 633可以是唯一地标识每个子图像622的任何值。在所示示例中,子图像ID 633是子图像622索引。每个子图像622包括位置632,位置632可以作为子图像位置532包括在码流500中。将位置632表示为相应子图像622的左上像素点与图像600的左上像素点642之间的偏移。
此外,如图所示,一些子图像622可以是时间运动约束子图像634,而其它子图像622可以不是。在所示示例中,子图像ID 633为5的子图像622是时间运动约束子图像634。这表示在没有参考任何其它子图像622的情况下,可以对标识为5的子图像622进行译码,因此可以在不考虑来自其它子图像622的数据的情况下进行提取和单独解码。可以用运动约束子图像标记534在码流500中指示表示哪些子图像622是时间运动约束子图像634。
如图所示,可以将子图像622约束为覆盖图像600,没有间隙或重叠。间隙是图像600中不包括在任何子图像622中的区域。重叠是图像600的包括在多个子图像622中的区域。在图6所示的示例中,从图像600分割子图像622,以防止间隙和重叠。间隙导致图像600的像素点留在子图像622之外。重叠导致多个子图像622中同时包括相关条带。因此,当以不同的方式对子图像622进行译码时,间隙和重叠可能导致像素点不同处理带来的影响。如果编码器允许这样做,则解码器必须支持这种译码方案,即使解码方案很少使用。通过不允许存在子图像622间隙和重叠,可以降低解码器的复杂性,因为在确定子图像大小631和位置632时不需要解码器考虑潜在的间隙和重叠。此外,不允许存在子图像622间隙和重叠降低了编码器中RDO过程的复杂性。这是因为编码器在为视频序列选择编码时可以忽略考虑间隙和重叠的情况。因此,避免间隙和重叠可以降低编码器和解码器的内存资源利用率和/或处理资源利用率。
图7为用于将条带724与子图像722布局相关的示例性机制700的示意图。例如,机制700可以应用于图像600。此外,可以由编解码系统200、编码器300和/或解码器400等基于码流500中的数据来应用机制700。此外,机制700可以用于根据方法100进行编码和解码。
机制700可以分别应用于子图像722中的条带724,例如条带524/525和子图像522/523。在所示示例中,子图像722包括第一条带724a、第二条带724b和第三条带724c。每个条带724的条带头包括子图像722的子图像ID 733。解码器可以将条带头中的子图像ID 733与SPS中的子图像ID 733进行匹配。然后,解码器可以根据子图像ID 733从SPS中确定子图像722的位置732和大小。使用位置732,子图像722可以相对于图像的左上角742的左上像素点放置。该大小可以用于设置子图像722相对于位置732的高度和宽度。然后条带724可以包括在子图像722中。因此,在不参考其它子图像的情况下,条带724可以基于子图像ID 733放置在正确的子图像722中。这支持纠错,因为其它丢失的子图像不会改变子图像722的解码。这也支持仅提取子图像722且避免发送其它子图像的应用。因此,子图像ID 733增强了功能和/或提高了译码效率,这降低了编码器和解码器的网络资源利用率、内存资源利用率和/或处理资源利用率。
图8为分割为子图像822的另一示例性图像800的示意图。图像800可以基本上类似于图像600。此外,可以通过编解码系统200、编码器300和/或解码器400,在码流500中编码和从码流500中解码图像800。此外,可以对图像800进行分割和/或将图像800包括在子码流501中,以支持根据方法100和/或机制700进行编码和解码。
图像800包括子图像822,子图像822可以基本上类似于子图像522、523、622和/或722。将子图像822分为多个CTU 825。CTU 825是标准化视频译码系统中的基本译码单元。通过译码树将CTU 825细分为译码块,根据帧间预测或帧内预测对译码块进行译码。如图所示,将一些子图像822a包括的子图像宽度和子图像高度约束为CTU 825大小的倍数。在所示示例中,子图像822a具有6个CTU 825的高度和5个CTU 825的宽度。对于位于图像右边界801上的子图像822b和位于图像下边界802上的子图像822c,需要去除这种约束。在所示示例中,子图像822b具有介于5至6个CTU 825之间的宽度。因此,子图像822b具有五个完整CTU825和一个不完整CTU 825的宽度。但是,仍然将不位于图像下边界802上的子图像822b的子图像高度约束为CTU 825大小的倍数。在所示示例中,子图像822c具有介于6到7个CTU 825之间的高度。因此,子图像822c具有六个完整的CTU 825和一个不完整的CTU 825的高度。但是,仍然将不位于图像右边界801上的子图像822c的子图像宽度约束为CTU 825大小的倍数。需要说明的是,图像右边界801和图像下边界802也可以分别称为图像右边界和图像下边界。还应说明的是,CTU 825大小是用户定义值。CTU 825大小可以是最小CTU 825大小与最大CTU 825大小之间的任何值。例如,最小CTU 825大小可以是16个亮度像素点的高度和16个亮度像素点的宽度。此外,最大CTU 825大小可以是128个亮度像素点的高度和128个亮度像素点的宽度。
如上所述,一些视频系统可以将子图像822包括的高度和宽度限制为CTU 825大小的倍数。这使得子图像822在很多图像布局中操作不正确,例如在包括的总宽度或高度不是CTU 825大小的倍数的图像800中。通过分别使下子图像822c和右子图像822b包括的高度和宽度不是CTU 825大小的倍数,子图像822可以与任何图像800一起使用,而不会引起解码错误。这增强了编码器和解码器的功能。此外,增强的功能使得编码器更高效地译码图像,这降低了编码器和解码器的网络资源利用率、内存资源利用率和/或处理资源利用率。
如本文所述,本发明描述了视频译码中基于子图像的图像分割的设计。子图像是图像中的矩形区域,可以使用与图像相同的解码过程独立地进行解码。本发明涉及译码视频序列和/或码流中的子图像的指示以及子图像提取的过程。这些技术的描述是基于ITU-T和ISO/IEC的JVET的VVC。但是,这些技术也适用于其它视频编解码规范。下面是本文描述的示例性实施例。这样的实施例可以单独地或组合地应用。
与可能存在于译码视频序列(coded video sequence,CVS)中的子图像相关的信息可以在序列级参数集(例如SPS)中指示。此类指示可以包括以下信息。CVS的每个图像中存在的子图像的数量可以在SPS中指示。在SPS或CVS的上下文中,所有接入单元(accessunit,AU)的并置子图像可以统称为子图像序列。SPS中还可以包括循环,用于进一步表示描述每个子图像的属性的信息。该信息可以包括子图像标识、子图像的位置(例如,子图像的左上角亮度像素点与图像的左上角亮度像素点之间的偏移距离),以及子图像的大小。此外,SPS可以指示每个子图像是否为运动约束子图像(包括MCTS的功能)。每个子图像的配置文件、层和级别信息也可以进行指示或可在解码器中推导。此类信息可以用于确定通过从原始码流提取子图像创建的码流的配置文件、层和级别信息。每个子图像的配置文件和层可以推导为与整个码流的配置文件和层相同。可以显式指示每个子图像的级别。此类指示可以出现在SPS中包括的循环中。可以在SPS的视频可用性信息(video usabilityinformation,VUI)部分中为每个子图像(或等效地,每个子图像序列)指示序列级假设参考解码(hypothetical reference decoder,HRD)参数。
当没有将一个图像分割为两个或多个子图像时,可能不会在码流中存在/指示除了子图像ID外的子图像的属性(例如,位置、大小等)。在提取CVS中的图像的子图像时,新码流中的每个接入单元可以不包括子图像。在这种情况下,不会将新码流中的每个AU中的图像分割为多个子图像。因此,不需要在SPS中指示位置和大小等子图像属性,因为此类信息可以从图像属性推导。但是,仍然可以指示子图像标识,因为ID可以由包括在提取的子图像中的VCL NAL单元/分块组引用。这样,在提取子图像时保持相同子图像ID。
可以以亮度像素点为单位指示子图像在图像中的位置(x偏移和y偏移)。该位置表示子图像的左上角亮度像素点与图像的左上角亮度像素点之间的距离。或者,可以以最小译码亮度块大小(MinCbSizeY)为单位指示子图像在图像中的位置。或者,子图像位置偏移的单位可以由参数集中的语法元素显式指示。单位可以是CtbSizeY、MinCbSizeY、亮度像素点或其它值。
可以以亮度像素点为单位指示子图像的大小(子图像宽度和子图像高度)。或者,可以以最小译码亮度块大小(MinCbSizeY)为单位指示子图像的大小。或者,子图像大小值的单位可以由参数集中的语法元素显式指示。单位可以是CtbSizeY、MinCbSizeY、亮度像素点或其它值。当子图像的右边界与图像的右边界不重合时,可以要求子图像的宽度为亮度CTU大小(CtbSizeY)的整数倍。同样,当子图像的下边界与图像的下边界不重合时,可以要求子图像的高度为亮度CTU大小(CtbSizeY)的整数倍。如果子图像的宽度不是亮度CTU大小的整数倍,则可以要求子图像位于图像中最右的位置。同样地,如果子图像的高度不是亮度CTU大小的整数倍,则可以要求子图像位于图像中最下的位置。在一些情况下,子图像的宽度可以以亮度CTU大小为单位进行指示,但是子图像的宽度不是亮度CTU大小的整数倍。在这种情况下,以亮度像素点为单位的实际宽度可以基于子图像的偏移位置来推导。子图像宽度可以基于亮度CTU大小推导,图像高度可以基于亮度像素点推导。同样,可以以亮度CTU大小为单位指示子图像的高度,但是子图像的高度不是亮度CTU大小的整数倍。在这种情况下,基于亮度像素点的实际高度可以基于子图像的偏移位置来推导。子图像高度可以基于亮度CTU大小推导,图像高度可以基于亮度像素点推导。
对于任一子图像,子图像ID和子图像索引可以不同。子图像索引可以是SPS中的子图像循环中指示的子图像的索引。子图像ID可以是图像中子图像光栅扫描顺序中子图像的索引。当每个子图像的子图像ID的值与子图像索引相同时,可以指示或推导子图像ID。当每个子图像的子图像ID与子图像索引不同时,显式指示子图像ID。用于指示子图像ID的位数可以在包括子图像属性的同一参数集中(例如,在SPS中)指示。可以出于某些目的而保留子图像ID的一些值。例如,当分块组标头包括子图像ID以指定哪个子图像包括分块组时,可以为子图像保留0值且不用于子图像,以确保分块组标头的前几位不全为0,以避免意外包括防伪码。在图像的子图像没有覆盖图像的整个区域而没有间隙和重叠的可选情况下,可以为不属于任何子图像一部分的分块组保留值(例如,值1)。或者,显式地指示其余区域的子图像ID。用于指示子图像ID的位数可以约束如下。该值的范围应足以唯一标识一个图像中的所有子图像,包括子图像ID的保留值。例如,子图像ID的最小位数可以为Ceil(Log2(一个图像中的子图像数量+保留的子图像ID的数量))的值。
子图像的结合必须覆盖整个图像,没有间隙和重叠,这可能会受到约束。当进行这种约束时,对于每个子图像,可以存在一个标志,用于表示子图像是否为运动约束子图像,这表示可以提取该子图像。或者,子图像的结合可以不覆盖整个图像,但不允许重叠。
子图像ID可以紧接在NAL单元头之后,这有助于子图像提取过程,不需要提取器解析NAL单元位的其余部分。对于VCL NAL单元,子图像ID可以在分块组标头的前几位中。对于非VCL NAL单元,可以应用以下内容。对于SPS,子图像ID不需要紧接在NAL单元头之后。对于PPS,如果将同一图像的所有分块组都约束为引用同一个PPS,则子图像ID不需要紧接在NAL单元头之后。如果允许同一图像的分块组引用不同的PPS,则子图像ID可以在PPS的前几位中(例如,紧接在NAL单元头之后)。在这种情况下,可以允许一个图像的任何分块组共用同一PPS。或者,当允许同一图像的分块组引用不同的PPS,且允许同一图像的不同分块组共用同一PPS时,PPS语法中也可以没有子图像ID。或者,当允许同一图像的分块组引用不同的PPS,且允许同一图像的不同分块组共用同一PPS时,PPS语法中可以存在子图像ID列表。该列表表示PPS应用到的子图像。对于其它非VCL NAL单元,如果非VCL单元适用于图像级或更高级(如访问单元分隔符、序列结束、码流结束等),则子图像ID可能不会紧接在NAL单元头之后。否则,子图像ID可以紧接在NAL单元头之后。
利用上述SPS指示,可以在PPS中指示各个子图像内的分块分割。允许同一图像中的分块组引用不同的PPS。在这种情况下,分块分组可能仅在每个子图像中。分块分组的概念是将子图像分割为分块。
或者,定义用于描述各个子图像内的分块分割的参数集。这种参数集可以称为子图像参数集(sub-picture parameter set,SPPS)。SPPS引用SPS。SPPS中存在一个引用SPSID的语法元素。SPPS可以包括子图像ID。为了子图像提取,引用子图像ID的语法元素是SPPS中的第一个语法元素。SPPS包括分块结构(例如,列的数量、行的数量、均匀分块间距等)。SPPS可以包括标志,用于表示是否跨相关子图像边界启用循环滤波器。或者,每个子图像的子图像属性可以在SPPS中而不是在SPS中指示。仍然可以在PPS中指示各个子图像内的分块分割。允许同一图像中的分块组引用不同的PPS。一旦激活一个SPPS,该SPPS按照解码顺序持续一系列连续的AU。但是,SPPS可以在不是CVS的开始的一个AU中去激活/激活。在某些AU中,在具有多个子图像的单层码流的解码过程中的任何时刻,多个SPPS可以处于激活状态。AU的不同子图像可以共用一个SPPS。或者,可以将SPPS和PPS融合为一个参数集。在这种情况下,同一图像的所有分块组可能不需要引用同一PPS。可以进行约束,使得同一子图像中的所有分块组可以引用由SPPS与PPS融合产生的同一参数集。
可以在NAL单元头中指示用于指示子图像ID的位数。当NAL单元头中存在这些信息时,可以有助于子图像提取过程在NAL单元的载荷的开始处解析子图像ID值(例如,紧接在NAL单元头之后的前几位)。对于此类指示,可以使用NAL单元头中的一些保留位(例如,七个保留位)以避免增加NAL单元头的长度。此类指示的位数可以覆盖sub-picture-ID-bit-len的值。例如,VVC NAL单元头的7个保留位中的4个位可以用于此目的。
当解码子图像时,可以将每个译码树块(例如xCtb和yCtb)的位置调整为图像中的实际亮度像素点位置,而不是子图像中的亮度像素点位置。这样,可以避免从每个参考图像中提取并置子图像,因为译码树块是参考图像进行解码而不是参考子图像进行解码。调整译码树块位置时,可以根据子图像位置(subpic_x_offset和subpic_y_offset)推导变量SubpictureXOffset和SubpictureYOffset。可以将变量的值分别添加到子图像中每个译码树块的亮度像素点位置x和y坐标的值中。
子图像提取过程可以定义如下。该过程的输入为待提取的目标子图像。可以是子图像ID或子图像位置。当输入为子图像位置时,通过解析SPS中的子图像信息,可以解析出相关子图像ID。对于非VCL NAL单元,以下情况适用。SPS中与图像大小和级别相关的语法元素可以更新为子图像的大小和级别信息。以下非VCL NAL单元保持不变:PPS、访问单元分隔符(access unit delimiter,AUD)、序列结束(end of sequence,EOS)、(end ofbitstream,EOB),以及适用于图像级或更高级的非VCL NAL单元。可以去除子图像ID不等于目标子图像ID的其余的非VCL NAL单元。也可以去除子图像ID不等于目标子图像ID的VCLNAL单元。
序列级子图像嵌套SEI消息可以用于嵌套子图像集的AU级或子图像级SEI消息。这可以包括缓冲周期、图像定时和非HRD SEI消息。该子图像嵌套SEI消息的语法和语义可以如下。对于系统操作,例如在全向媒体格式(omnidirectional media format,OMAF)环境中,可以由OMAF播放器请求并解码覆盖视角的子图像序列集。因此,序列级SEI消息用于携带集体覆盖矩形图像区域的子图像序列集的信息。系统可以使用该信息,并且该信息表示所需的解码能力以及子图像序列集的码率。该信息表示仅包括子图像序列集的码流的级别。该信息还表示仅包括子图像序列集的码流的码率。可选地,可以为子图像序列集指定子码流提取过程。这样做的好处是,仅包括子图像序列集的码流也可以是一致性的。缺点是,在考虑不同视角大小的可能性时,除了已经很大数量的单个子图像序列之外,还可以存在许多这样的集。
在一个示例性实施例中,所公开的示例中的一个或多个可以实现如下。子图像可以定义为图像中的一个或多个分块组的矩形区域。允许的二元划分过程可以定义如下。该过程的输入为:二元划分模式btSplit、译码块宽度cbWidth、译码块高度cbHeight、所考虑译码块的左上亮度像素点相对于图像的左上亮度像素点的位置(x0,y0)、多类型树深度mttDepth、具有偏移的最大多类型树深度maxMttDepth、最大二叉树大小maxBtSize、分割索引partIdx。该过程的输出为变量allowBtSplit。
基于btSplit的parallelTtSplit和cbSize规格
btSplit==SPLIT_BT_VER btSplit==SPLIT_BT_HOR
parallelTtSplit SPLIT_TT_VER SPLIT_TT_HOR
cbSize cbWidth cbHeight
变量parallelTtSplit和cbSize是如上所述推导的。变量allowBtSplit推导如下:如果以下条件中的一个或多个为真,则将allowBtSplit设置为假:cbSize小于等于MinBtSizeY,cbWidth大于maxBtSize,cbHeight大于maxBtSize,mttDepth大于等于maxMttDepth。否则,如果以下条件都为真,则将allowBtSplit设置为假,btSplit等于SPLIT_BT_VER,y0+cbHeight大于SubPicBottomBorderInPic。否则,如果以下条件都为真,则将allowBtSplit设置为假:btSplit等于SPLIT_BT_HOR,x0+cbWidth大于SubPicRightBorderInPic,y0+cbHeight小于等于SubPicBottomBorderInPic。否则,如果以下条件都为真,则将allowBtSplit设置为FALSE:mttDepth大于0,partIdx等于1,MttSplitMode[x0][y0][mttDepth-1]等于parallelTtSplit。否则,如果以下条件都为真,则将allowBtSplit设置为假:btSplit等于SPLIT_BT_VER,cbWidth小于等于MaxTbSizeY,cbHeight大于MaxTbSizeY。否则,如果以下条件都为真,则将allowBtSplit设置为假:等于SPLIT_BT_HOR,cbWidth大于MaxTbSizeY,cbHeight小于等于MaxTbSizeY。否则,将allowBtSplit设置为真。
允许的三元划分过程可以定义如下。该过程的输入为:三元划分模式ttSplit、译码块宽度cbWidth、译码块高度cbHeight、所考虑译码块的左上亮度像素点相对于图像的左上亮度像素点的位置(x0,y0)、多类型树深度mttDepth、具有偏移的最大多类型树深度maxMttDepth、最大二叉树大小maxTtSize。该过程的输出是变量allowTtSplit。
基于ttSplit的cbSize规格。
ttSplit==SPLIT_TT_VER ttSplit==SPLIT_TT_HOR
cbSize cbWidth cbHeight
变量cbSize是如上所述推导的。变量allowTtSplit推导如下:如果以下条件中的一个或几个为真,则将allowTtSplit设置为假:cbSize小于或等于2*MinTtSizeY,cbWidth大于Min(MaxTbSizeY,maxTtSize),cbHeight大于Min(MaxTbSizeY,maxTtSize),mttDepth大于或等于maxMttDepth,x0+cbWidth大于SubPicRightBorderInPic,y0+cbHeight大于SubPicBottomBorderInPic。否则,将allowTtSplit设置为真。
序列参数集RBSP语法和语义如下。
Figure BDA0003156940320000231
pic_width_in_luma_samples表示每个解码图像的宽度,以亮度像素点为单位。pic_width_in_luma_samples不应等于0,并且应为MinCbSizeY的整数倍。pic_height_in_luma_samples表示每个解码图像的高度,以亮度像素点为单位。pic_height_in_luma_samples不应等于0,并且应为MinCbSizeY的整数倍。Num_subpicture_minus1加1表示在属于译码视频序列的译码图像中分割的子图像的数量。subpic_id_len_minus1加1表示用于在SPS中表示语法元素subpic_id[i]的位数,SPPS中的spps_subpic_id引用SPS,分块组标头中的tile_group_subpic_id引用SPS。subpic_id_len_minus1的值的范围应为Ceil(Log2(num_subpic_minus1+2))到8(包括端值)。subpic_id[i]表示引用SPS的图像中的第i个子图像的子图像ID。subpic_id[i]的长度为subpic_id_len_minus1+1位。subpic_id[i]的值应大于0。subpic_level_idc[i]表示从第i个子图像提取得到的CVS符合指定资源要求的级别。码流不应包括subpic_level_idc[i]的值,但指定的值除外。保留subpic_level_idc[i]的其它值。如果不存在,推断subpic_level_idc[i]的值等于general_level_idc的值。
subpic_x_offset[i]表示第i个子图像的左上角相对于图像的左上角的水平偏移。当不存在时,推断subpic_x_offset[i]的值等于0。子图像x偏移的值推导如下:SubpictureXOffset[i]=subpic_x_offset[i]。subpic_y_offset[i]表示第i个子图像的左上角相对于图像的左上角的垂直偏移。当不存在时,推断subpic_y_offset[i]的值等于0。子图像y偏移的值推导如下:SubpictureYOffset[i]=subpic_y_offset[i]。subpic_width_in_luma_samples[i]表示该SPS为激活SPS的第i个解码子图像的宽度。当SubpictureXOffset[i]与subpic_width_in_luma_samples[i]之和小于pic_width_in_luma_samples时,subpic_width_in_luma_samples[i]的值应为CtbSizeY的整数倍。当不存在时,推断subpic_width_in_luma_samples[i]的值等于pic_width_in_luma_samples的值。subpic_height_in_luma_samples[i]表示该SPS为激活SPS的第i个解码子图像的高度。当SubpictureYOffset[i]与subpic_height_in_luma_samples[i]之和小于pic_height_in_luma_samples时,subpic_height_in_luma_samples[i]的值应为CtbSizeY的整数倍。如果不存在,则推断subpic_height_in_luma_samples[i]的值等于pic_height_in_luma_samples的值。
子图像的结合应覆盖图像的整个区域,没有重叠和间隙,这是码流一致性的要求。subpic_motion_constrained_flag[i]等于1,表示第i个子图像为时间运动约束子图像。subpic_motion_constrained_flag[i]等于0,表示第i个子图像可以是时间运动约束子图像,也可以不是时间运动约束子图像。当不存在时,推断subpic_motion_constrained_flag的值等于0。
变量SubpicWidthInCtbsY、SubpicHeightInCtbsY、SubpicSizeInCtbsY、SubpicWidthInMinCbsY、SubpicHeightInMinCbsY、SubpicSizeInMinCbsY、SubpicSizeInSamplesY、SubpicWidthInSamplesC和SubpicHeightInSamplesC推导如下:
SubpicWidthInLumaSamples[i]=subpic_width_in_luma_samples[i]
SubpicHeightInLumaSamples[i]=subpic_height_in_luma_samples[i]
SubPicRightBorderInPic[i]=SubpictureXOffset[i]+PicWidthInLumaSamples[i]
SubPicBottomBorderInPic[i]=SubpictureYOffset[i]+PicHeightInLumaSamples[i]
SubpicWidthInCtbsY[i]=Ceil(SubpicWidthInLumaSamples[i]÷CtbSizeY)
SubpicHeightInCtbsY[i]=Ceil(SubpicHeightInLumaSamples[i]÷CtbSizeY)
SubpicSizeInCtbsY[i]=SubpicWidthInCtbsY[i]*SubpicHeightInCtbsY[i]
SubpicWidthInMinCbsY[i]=SubpicWidthInLumaSamples[i]/MinCbSizeY
SubpicHeightInMinCbsY[i]=SubpicHeightInLumaSamples[i]/MinCbSizeY
SubpicSizeInMinCbsY[i]=SubpicWidthInMinCbsY[i]*SubpicHeightInMinCbsY[i]
SubpicSizeInSamplesY[i]=SubpicWidthInLumaSamples[i]*
SubpicHeightInLumaSamples[i]
SubpicWidthInSamplesC[i]=SubpicWidthInLumaSamples[i]/SubWidthC
SubpicHeightInSamplesC[i]=SubpicHeightInLumaSamples[i]/SubHeightC
子图像参数集RBSP语法和语义如下。
Figure BDA0003156940320000251
spps_subpic_id标识SPPS所属的子图像。spps_subpic_id的长度为subpic_id_len_minus1+1位。spps_subpic_parameter_set_id标识SPPS,以供其它语法元素引用。spps_subpic_parameter_set_id的值的范围应为0到63(包括端值)。语法元素spps_seq_parameter_set_id表示激活SPS的sps_seq_parameter_set_id的值。spps_seq_parameter_set_id的值应在0到15的范围内(包括端值)。single_tile_in_subpic_flag等于1,表示引用SPPS的每个子图像中只有一个分块。single_tile_in_subpic_flag等于0,表示引用SPPS的每个子图像中有多个分块。num_tile_columns_minus1加1表示分割子图像的分块列的数量。num_tile_columns_minus1应在0到PicWidthInCtbsY[spps_subpic_id]-1的范围内(包括端值)。如果不存在,则推断num_tile_columns_minus1的值等于0。num_tile_rows_minus1加1表示分割子图像的分块行的数量。num_tile_rows_minus1应在0到PicHeightInCtbsY[spps_subpic_id]-1的范围内(包括端值)。如果不存在,则推断num_tile_rows_minus1的值等于0。将变量NumTilesInPic设置为(num_tile_columns_minus1+1)*(num_tile_rows_minus1+1)。
当single_tile_in_subpic_flag等于0时,NumTilesInPic应大于0。uniform_tile_spacing_flag等于1表示分块列边界以及分块行边界均匀分布在子图像上。uniform_tile_spacing_flag等于0表示分块列边界以及分块行边界不会均匀分布在子图像上,而是使用语法元素tile_column_width_minus1[i]和tile_row_height_minus1[i]显式指示。当不存在时,推断uniform_tile_spacing_flag的值等于1。tile_column_width_minus1[i]加1表示第i个tile列的宽度(以CTB为单位)。tile_row_height_minus1[i]加1表示第i个分块行的高度(以CTB为单位)。
通过调用CTB光栅和分块扫描转换过程,推导如下变量:列表ColWidth[i],i的范围为0到num_tile_columns_minus1(包括端值),列表ColWidth[i]表示第i个分块列的宽度(以CTB为单位);列表RowHeight[j],j的范围为0到num_tile_rows_minus1(包括端值),列表RowHeight[j]表示第j个分块行的高度(以CTB为单位);列表ColBd[i],i的范围为0到num_tile_columns_minus1+1(包括端值),列表ColBd[i]表示第i个分块列边界的位置(以CTB为单位);列表RowBd[j],j的范围为0到num_tile_rows_minus1+1(包括端值),RowBd[j]表示第j个分块行边界的位置(以CTB为单位);列表CtbAddrRsToTs[ctbAddrRs],ctbAddrRs的范围为0到PicSizeInCtbsY-1(包括端值),列表CtbAddrRsToTs[ctbAddrRs]表示图像的CTB光栅扫描中的CTB地址到分块扫描中的CTB地址的转换;列表CtbAddrTsToRs[ctbAddrTs],ctbAddrTs的范围为0到PicSizeInCtbsY-1(包括端值),列表CtbAddrTsToRs[ctbAddrTs]表示图像的分块扫描中的CTB地址到CTB光栅扫描中的CTB地址的转换;列表TileId[ctbAddrTs],ctbAddrTs的范围为0到PicSizeInCtbsY-1(包括端值),列表TileId[ctbAddrTs]表示分块扫描中CTB地址到分块ID的转换;列表NumCtusInTile[tileIdx],tileIdx的范围为0到PicSizeInCtbsY-1(包括端值),列表NumCtusInTile[tileIdx]表示从分块索引到该分块中CTU的数量的转换;列表FirstCtbAddrTs[tileIdx],tileIdx的范围为0到NumTilesInPic-1(包括端值),列表FirstCtbAddrTs[tileIdx]表示从分块ID到该分块中的第一CTB的分块扫描中的CTB地址的转换;列表ColumnWidthInLumaSamples[i],i的范围为0到num_tile_columns_minus1(包括端值),列表ColumnWidthInLumaSamples[i]表示第i个分块列的宽度(以亮度像素点为单位);列表RowHeightInLumaSamples[j],j的范围为0到num_tile_rows_minus1(包括端值),列表RowHeightInLumaSamples[j]表示第j个分块行的高度(以亮度像素点为单位)。ColumnWidthInLumaSamples[i]和RowHeightInLumaSamples[j]的值应均大于0,i的范围为0到num_tile_columns_minus1(包括端值),j的范围为0到num_tile_rows_minus1(包括端值)。
loop_filter_across_tiles_enabled_flag equal等于1,表示可以在引用SPPS的子图像中跨分块边界执行环内滤波操作。loop_filter_across_tiles_enabled_flag等于0,表示引用SPPS的子图像中不跨分块边界执行环内滤波操作。环内滤波操作包括去块滤波操作、采样自适应偏移滤波操作和自适应环路滤波操作。当不存在时,推断loop_filter_across_tiles_enabled_flag的值等于1。loop_filter_across_subpic_enabled_flag等于1,表示可以在引用SPPS的子图像中跨子图像边界执行环内滤波操作。loop_filter_across_subpic_enabled_flag等于0,表示在引用SPPS的子图像中不跨子图像边界执行环内滤波操作。环内滤波操作包括去块滤波操作、采样自适应偏移滤波操作和自适应环路滤波操作。如果不存在,则推断loop_filter_across_subpic_enabled_flag的值等于loop_filter_across_tiles_enabled_flag的值。
通用分块组标头语法和语义如下:
Figure BDA0003156940320000271
译码图像的所有分块组标头中,分块组标头语法元素tile_group_pic_parameter_set_id和tile_group_pic_order_cnt_lsb的值应相同。译码子图像的所有分块组标头中,分块组标头语法元素tile_group_subpic_id的值应相同。tile_group_subpic_id标识分块组所属的子图像。tile_group_subpic_id的长度为subpic_id_len_minus1+1位。tile_group_subpic_parameter_set_id表示当前使用的SPPS的spps_subpic_parameter_set_id的值。tile_group_spps_parameter_set_id的值范围应为0到63(包括端值)。
推导以下变量,并且用这些变量覆盖从激活SPS推导的相应变量:
PicWidthInLumaSamples=SubpicWidthInLumaSamples[tile_group_subpic_id]
PicHeightInLumaSamples=PicHeightInLumaSamples[tile_group_subpic_id]
SubPicRightBorderInPic=SubPicRightBorderInPic[tile_group_subpic_id]
SubPicBottomBorderInPic=SubPicBottomBorderInPic[tile_group_subpic_id]
PicWidthInCtbsY=SubPicWidthInCtbsY[tile_group_subpic_id]
PicHeightInCtbsY=SubPicHeightInCtbsY[tile_group_subpic_id]
PicSizeInCtbsY=SubPicSizeInCtbsY[tile_group_subpic_id]
PicWidthInMinCbsY=SubPicWidthInMinCbsY[tile_group_subpic_id]
PicHeightInMinCbsY=SubPicHeightInMinCbsY[tile_group_subpic_id]
PicSizeInMinCbsY=SubPicSizeInMinCbsY[tile_group_subpic_id]
PicSizeInSamplesY=SubPicSizeInSamplesY[tile_group_subpic_id]
PicWidthInSamplesC=SubPicWidthInSamplesC[tile_group_subpic_id]
PicHeightInSamplesC=SubPicHeightInSamplesC[tile_group_subpic_id]
译码树单元语法如下:
Figure BDA0003156940320000281
Figure BDA0003156940320000282
译码四叉树语法和语义如下:
Figure BDA0003156940320000283
Figure BDA0003156940320000291
qt_split_cu_flag[x0][y0]表示是否将译码单元划分为水平大小的一半和垂直大小的一半的译码单元。阵列索引x0、y0表示所考虑译码块的左上亮度像素点相对于图像的左上亮度像素点的位置(x0,y0)。当qt_split_cu_flag[x0][y0]不存在时,以下情况适用:如果以下条件中的一个或多个为真,则推断qt_split_cu_flag[x0][y0]的值等于1。否则,如果treeType等于DUAL_TREE_CHROMA或大于MaxBtSizeY,则x0+(1<<log2CbSize)大于SubPicRightBorderInPic,且(1<<log2CbSize)大于MaxBtSizeC。否则,如果treeType等于DUAL_TREE_CHROMA或大于MaxBtSizeY,则y0+(1<<log2CbSize)大于SubPicBottomBorderInPic,且(1<<log2CbSize)大于MaxBtSizeC。
否则,如果treeType等于DUAL_TREE_CHROMA或大于MinQtSizeY,如果以下条件都为真,则推断qt_split_cu_flag[x0][y0]的值等于1:x0+(1<<log2CbSize)大于SubPicRightBorderInPic,y0+(1<<log2CbSize)大于SubPicBottomBorderInPic,(1<<log2CbSize)大于MinQtSizeC。否则,推断qt_split_cu_flag[x0][y0]的值等于0。
多类型树语法和语义如下:
Figure BDA0003156940320000301
Figure BDA0003156940320000311
Figure BDA0003156940320000321
mtt_split_cu_flag等于0表示不划分译码单元。mtt_split_cu_flag等于1,表示使用二元划分将译码单元划分为两个译码单元,或使用三元划分将译码单元划分为三个译码单元,如语法元素mtt_split_cu_binary_flag所表示。二元划分或三元划分可以是垂直划分也可以是水平划分,如语法元素mtt_split_cu_vertical_flag所表示。当mtt_split_cu_flag不存在时,mtt_split_cu_flag的值推断如下。如果以下条件中的一个或多个为真,则推断mtt_split_cu_flag等于1:x0+cbWidth大于SubPicRightBorderInPic,y0+cbHeight大于SubPicBottomBorderInPic。否则,推断mtt_split_cu_flag的值等于0。
时间亮度运动矢量预测的推导过程如下。该过程的输出为:1/16分数采样精度的运动矢量预测mvLXCol,以及可用性标志availableFlagLXCol。变量currCb表示亮度位置(xCb,yCb)的当前亮度译码块。变量mvLXCol和availableFlagLXCol推导如下。如果tile_group_temporal_mvp_enabled_flag等于0,或者如果参考图像是当前图像,则mvLXCol的两个分量都设置为0,availableFlagLXCol设置为0。否则(tile_group_temporal_mvp_enabled_flag等于1,且参考图像不是当前图像),按顺序执行以下步骤。右下并置运动矢量推导如下:
xColBr=xCb+cbWidth (8-355)
yColBr=yCb+cbHeight (8-356)
如果yCb>>CtbLog2SizeY等于yColBr>>CtbLog2SizeY,yColBr小于SubPicBottomBorderInPic,并且xColBr小于SubPicRightBorderInPic,则以下情况适用。变量colCb表示亮度译码块,该亮度译码块覆盖ColPic所表示的并置图像内部((xColBr>>3)<<3,(yColBr>>3)<<3)所给出的修改位置。将亮度位置(xColCb,yColCb)设置为等于colCb表示的并置亮度译码块的左上像素点相对于ColPic表示的并置图像的左上亮度像素点。调用并置运动矢量推导过程,将currCb、colCb、(xColCb,yColCb)、refIdxLX和sbFlag设置为0作为输入,将输出分配给mvLXCol和availableFlagLXCol。否则,mvLXCol的两个分量都设置为0,availableFlagLXCol设置为0。
时间三角融合候选的推导过程如下。变量mvLXColC0、mvLXColC1、availableFlagLXColC0和availableFlagLXColC1推导如下:如果tile_group_temporal_mvp_enabled_flag等于0,则mvLXColC0和mvLXColC1的分量都设置为0,availableFlagLXColC0和availableFlagLXColC1的分量都设置为0。否则(tile_group_temporal_mvp_enabled_flag等于1),按顺序执行以下步骤。右下并置运动矢量mvLXColC0推导如下:
xColBr=xCb+cbWidth (8-392)
yColBr=yCb+cbHeight (8-393)
如果yCb>>CtbLog2SizeY等于yColBr>>CtbLog2SizeY,yColBr小于SubPicBottomBorderInPic,并且xColBr小于SubPicRightBorderInPic,则以下情况适用。变量colCb表示亮度译码块,该亮度译码块覆盖ColPic所表示的并置图像内部((xColBr>>3)<<3,(yColBr>>3)<<3)所给出的修改位置。将亮度位置(xColCb,yColCb)设置为等于colCb表示的并置亮度译码块的左上像素点相对于ColPic表示的并置图像的左上亮度像素点。调用并置运动矢量推导过程,将currCb、colCb、(xColCb,yColCb)、refIdxLXC0和sbFlag设置为0作为输入,将输出分配给mvLXColC0和availableFlagLXColC0。否则,mvLXColC0的两个分量都设置为0,availableFlagLXColC0设置为0。
构造的仿射控制点运动矢量融合候选的推导过程如下。第四(并置右下)控制点运动矢量cpMvLXCorner[3]、参考索引refIdxLXCorner[3]、预测列表使用标志predFlagLXCorner[3]和可用性标志availableFlagCorner[3](其中X为0和1)推导如下。将时间融合候选的参考索引refIdxLXCorner[3](其中X为0或1)设置为0。变量mvLXCol和availableFlagLXCol(X为0或1)推导如下。如果tile_group_temporal_mvp_enabled_flag等于0,则mvLXCol的两个分量都设置为0,availableFlagLXCol设置为0。否则(tile_group_temporal_mvp_enabled_flag等于1),以下情况适用:
xColBr=xCb+cbWidth (8-566)
yColBr=yCb+cbHeight (8-567)
如果yCb>>CtbLog2SizeY等于yColBr>>CtbLog2SizeY,yColBr小于SubPicBottomBorderInPic,并且xColBr小于SubPicRightBorderInPic,则以下情况适用。变量colCb表示亮度译码块,该亮度译码块覆盖ColPic所表示的并置图像内部((xColBr>>3)<<3,(yColBr>>3)<<3)所给出的修改位置。将亮度位置(xColCb,yColCb)设置为等于colCb表示的并置亮度译码块的左上像素点相对于ColPic表示的并置图像的左上亮度像素点。调用并置运动矢量推导过程,将currCb、colCb、(xColCb,yColCb)、refIdxLX和sbFlag设置为0作为输入,将输出分配给mvLXCol和availableFlagLXCol。否则,mvLXCol的两个分量都设置为0,availableFlagLXCol设置为0。将出现的所有pic_width_in_luma_samples替换为PicWidthInLumaSamples。将出现的所有pic_height_in_luma_samples替换为PicHeightInLumaSamples。
在第二示例性实施例中,序列参数集RBSP语法和语义如下。
Figure BDA0003156940320000331
Figure BDA0003156940320000341
subpic_id_len_minus1加1表示用于在SPS中表示语法元素subpic_id[i]的位数,SPPS中的spps_subpic_id引用SPS,分块组标头中的tile_group_subpic_id引用SPS。subpic_id_len_minus1的值的范围应为Ceil(Log2(num_subpic_minus1+3))到8(包括端值)。对于i从0到num_subpic_minus1(包括端值)的子图像[i]之间不应重叠,这是码流一致性的要求。每个子图像可以是时间运动约束子图像。
通用分块组标头语义如下。tile_group_subpic_id标识分块组所属的子图像。tile_group_subpic_id的长度为subpic_id_len_minus1+1位。tile_group_subpic_id等于1表示该分块组不属于任何子图像。
在第三示例性实施例中,NAL单元头语法和语义如下。
Figure BDA0003156940320000342
nuh_subpicture_id_len表示用于表示子图像ID的语法元素的位数。当nuh_subpicture_id_len的值大于0时,后nuh_reserved_zero_4bits中的前nuh_subpicture_id_len-th位表示NAL单元的载荷所属的子图像ID。当nuh_subpicture_id_len大于0时,nuh_subpicture_id_len的值应等于激活SPS的subpic_id_len_minus1的值。非VCL NAL单元的nuh_subpicture_id_len的值约束如下:如果nal_unit_type等于SPS_NUT或PPS_NUT,则nuh_subpicture_id_len应等于0。nuh_reserved_zero_3bits应等于“000”。解码器应忽略(例如,从码流中去除并丢弃)nuh_reserved_zero_3bits的值不等于“000”的NAL单元。
在第四示例性实施例中,子图像嵌套语法如下。
Figure BDA0003156940320000351
all_sub_pictures_flag等于1表示嵌套SEI消息应用于所有子图像。all_sub_pictures_flag等于1表示应用嵌套SEI消息的子图像由后续语法元素显式指示。nesting_num_sub_pictures_minus1加1表示应用嵌套SEI消息的子图像的数量。nesting_sub_picture_id[i]表示应用嵌套SEI消息的第i个子图像的子图像ID。nesting_sub_picture_id[i]语法元素由Ceil(Log2(nesting_num_sub_pictures_minus1+1))位表示。sub_picture_nesting_zero_bit应等于0。
图9为示例性视频译码设备900的示意图。如本文所述,视频译码设备900适合于实现所公开的示例/实施例。视频译码设备900包括下行端口920、上行端口950和/或收发器单元(Tx/Rx)910,包括用于通过网络向上游和/或下游传送数据的发送器和/或接收器。视频译码设备900还包括处理器930,处理器930包括用于处理数据的逻辑单元和/或中央处理器(central processing unit,CPU)以及用于存储数据的存储器932。视频译码设备900还可包括电、光电(optical-to-electrical,OE)组件、电光(electrical-to-optical,EO)组件、和/或耦合到上行端口950和/或下行端口920的无线通信组件,用于通过电、光或无线通信网络传送数据。视频译码设备900还可以包括用于与用户传送数据的输入和/或输出(I/O)设备960。I/O设备960可以包括输出设备,例如用于显示视频数据的显示器、用于输出音频数据的扬声器等。I/O设备960还可以包括输入设备,例如键盘、鼠标、轨迹球等,和/或用于与这些输出设备交互的相应接口。
处理器930通过硬件和软件实现。处理器930可以实现为一个或多个CPU芯片、核(例如,多核处理器)、现场可编程门阵列(field-programmable gate array,FPGA)、专用集成电路(application specific integrated circuit,ASIC)和数字信号处理器(digitalsignal processor,DSP)。处理器930与下行端口920、Tx/Rx 910、上行端口950和存储器932通信。处理器930包括译码模块914。译模块914实现上述公开的实施例,例如方法100、1000、1100和/或机制700,可以使用码流500、图像600和/或图像800。译码模块914还可以实现本文所描述的任何其它方法/机制。此外,译码模块914可以实现编解码系统200、编码器300和/或解码器400。例如,译码模块914可以用于在SPS中指示和/或获取子图像位置和大小。在另一示例中,译码模块914可以将子图像宽度和子图像高度约束为CTU大小的倍数,除非这些子图像分别位于图像的右边界或图像的下边界上。在另一示例中,译码模块914可以将子图像约束为没有间隙或重叠地覆盖图像。在另一示例中,译码模块914可用于指示和/或获取数据,该数据表示一些子图像是时间运动约束子图像而其它子图像不是时间运动约束子图像。在另一示例中,译码模块914可以在SPS中指示完整的子图像ID集,并在每个条带头中包括子图像ID以表示包括相应条带的子图像。在另一示例中,译码模块914可以指示每个子图像的级别。因此,译码模块914使视频译码设备900具有其它功能,在对视频数据进行分割和译码时,避免进行某些处理,以减少处理开销和/或提高译码效率。因此,译码模块914改进了视频译码设备900的功能,并解决了视频译码领域特有的问题。此外,译码模块914可以将视频译码设备900变换到不同的状态。或者,译码模块914可以实现为存储在存储器932中并由处理器930执行的指令(例如,存储在非瞬时性介质中的计算机程序产品)。
存储器932包括一个或多个存储器类型,如磁盘、磁带机、固态驱动器、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、闪存、三元内容寻址存储器(ternary content-addressable memory,TCAM)、静态随机存取存储器(staticrandom-access memory,SRAM)等。存储器932可以用作溢出数据存储设备,以在选择程序用于执行时存储此类程序,并存储程序执行期间读取的指令和数据。
图10为利用自适应大小约束编码子图像(例如,子图像522、523、622、722和/或822)的码流(例如码流500和/或子码流501)的示例性方法1000的流程图。方法1000可以由编码器(例如编解码系统200、编码器300和/或视频译码设备900)在执行方法100时使用。
方法1000可以在编码器接收到包括多个图像的视频序列,并且例如根据用户输入确定将该视频序列编码到码流中时开始。视频序列在编码之前分割为图像/帧以进行进一步分割。在步骤1001中,将图像分割为多个子图像。在分割子图像时应用自适应大小约束。每个子图像包括子图像宽度和子图像高度。当当前子图像包括的右边界与图像的右边界不重合时,将当前子图像的子图像宽度约束为CTU的整数倍(例如,除822b之外的子图像822)。因此,当每个子图像包括的右边界与图像的右边界重合时,子图像(例如,子图像822b)中的至少一个包括的子图像宽度可以不是CTU大小的整数倍。此外,当当前子图像包括的下边界与图像的下边界不重合时,将当前子图像的子图像高度约束为CTU的整数倍(例如,除822c之外的子图像822)。因此,当每个子图像包括的下边界与图像的下边界不重合时,子图像(例如,子图像822c)中的至少一个包括的子图像高度可以不是CTU大小的整数倍。该自适应大小约束允许从图像中分割子图像,该图像包括的图像宽度不是CTU大小的整数倍和/或图像高度不是CTU大小的整数倍。CTU大小可以以亮度像素点为单位进行测量。
在步骤1003中,将一个或多个子图像编码到码流中。在步骤1005中,存储码流,该码流用于发送到解码器。然后,可以根据需要将码流发送到解码器。在一些示例中,可以从经编码的码流中提取子码流。在这种情况下,发送的码流为子码流。在其它示例中,可以发送经编码的码流,用于在解码器中进行子码流提取。在又一示例中,无需子码流提取,经编码的码流可以解码和显示。在这些示例中的任何示例中,自适应大小约束允许从高度或宽度不是CTU大小的倍数的图像中分割子图像,因此增强了编码器的功能。
图11为利用自适应大小约束对子图像(例如,子图像522、523、622、722和/或822)的码流(例如码流500和/或子码流501)进行解码的示例性方法1100的流程图。方法1100可以由解码器(例如编解码系统200、解码器400和/或视频译码设备900)在执行方法100时使用。例如,方法1100可以用于解码通过方法1000创建的码流。
方法1100可以开始于解码器开始接收包括子图像的码流。码流可以包括完整的视频序列,或者码流可以是子码流,该子码流包括用于单独提取的减少的子图像集。在步骤1101中,接收码流。该码流包括根据自适应大小约束从图像中分割一个或多个子图像。每个子图像包括子图像宽度和子图像高度。当当前子图像包括的右边界与图像的右边界不重合时,将当前子图像的子图像宽度约束为CTU的整数倍(例如,除822b之外的子图像822)。因此,当每个子图像包括的右边界与图像的右边界重合时,子图像(例如,子图像822b)中的至少一个包括的子图像宽度可以不是CTU大小的整数倍。此外,当当前子图像包括的下边界与图像的下边界不重合时,将当前子图像的子图像高度约束为CTU的整数倍(例如,除822c之外的子图像822)。因此,当每个子图像包括的下边界与图像的下边界不重合时,子图像(例如,子图像822c)中的至少一个包括的子图像高度可以不是CTU大小的整数倍。该自适应大小约束允许从图像中分割子图像,该图像包括的图像宽度不是CTU大小的整数倍和/或图像高度不是CTU大小的整数倍。CTU大小可以以亮度像素点为单位进行测量。
在步骤1103中,解析码流以获得一个或多个子图像。在步骤1105中,对一个或多个子图像进行解码以创建视频序列。然后可以发送视频序列用于显示。因此,自适应大小约束允许从高度或宽度不是CTU大小的倍数的图像中分割子图像。因此,解码器可以在高度或宽度不是CTU大小的倍数的图像上使用基于子图像的功能,例如单独的子图像提取和/或显示。因此,自适应大小约束的应用增强了解码器的功能。
图12为利用自适应大小约束对子图像(例如,子图像522、523、622、722和/或822)的码流(例如码流500和/或子码流501)进行指示的示例性系统1200的示意图。系统1200可以由编码器和解码器(例如编解码系统200、编码器300、解码器400和/或视频译码设备900)实现。此外,可以使用系统1200实现方法100、1000和/或1100时。
系统1200包括视频编码器1202。视频编码器1202包括分割模块1201,用于将图像分割为多个子图像,使得当每个子图像包括的右边界与图像的右边界不重合时,每个子图像包括的子图像宽度是CTU大小的整数倍。视频编码器1202还包括编码模块1203,用于将一个或多个子图像编码到码流中。视频编码器1202还包括存储模块1205,用于存储码流,该码流用于发送到解码器。视频编码器1202还包括发送模块1207,用于将包括子图像的码流发送到解码器。视频编码器1202还可以用于执行方法1000中的任一步骤。
系统1200还包括视频解码器1210。视频解码器1210包括接收模块1211,用于接收码流,该码流包括从图像分割的一个或多个子图像,使得当每个子图像包括的右边界与该图像的右边界不重合时,每个子图像包括的子图像宽度是译码树单元(coding tree unit,CTU)大小的整数倍。视频解码器1210还包括解析模块1213,用于解析码流以获得一个或多个子图像。视频解码器1210还包括解码模块1215,用于解码一个或多个子图像,以创建视频序列。视频解码器1210还包括发送模块1217,用于发送用于显示的视频序列。视频解码器1210还可以用于执行方法1100中的任一步骤。
当第一组件与第二组件之间除线、迹线或其它介质之外,没有中间组件时,第一组件直接耦合到第二组件。当第一组件与第二组件之间除线、迹线或其它介质之外,有中间组件时,第一组件间接耦合到第二组件。术语“耦合”及其同义词包括直接耦合和间接耦合。除非另有说明,术语“约”是指包括其后数量的±10%的范围。
还应理解,本文中阐述的示例性方法的步骤不一定需要按照所描述的顺序执行,并且这些方法的步骤的顺序应理解为仅仅是示例性的。同样地,在与本发明各种实施例相一致的方法中,这些方法可以包括其它步骤,并且某些步骤可以省略或组合。
尽管本发明中已经提供了几个实施例,但可以理解的是,在不背离本发明的精神或范围的情况下,所公开的系统和方法可以以许多其它特定形式实现。这些示例视为说明性而非限制性,并且意图不限于本文给出的细节。例如,可以将各种元件或组件组合或集成在另一个系统中,或者可以省略或不实现某些特征。
此外,在不背离本发明范围的情况下,在各种实施例中描述和示出为分立的或单独的技术、系统、子系统和方法,可以与其它系统、组件、技术或方法组合或集成。改变、替换和更改的其它示例可以由本领域技术人员确定,并且可以在不背离本文所公开的精神和范围的情况下进行。

Claims (24)

1.一种在解码器中实现的方法,其特征在于,所述方法包括:
所述解码器的接收器接收码流,所述码流包括通过对图像进行分割获得的一个或多个子图像,使得当第一子图像包括的右边界与所述图像的右边界重合时,所述第一子图像包括的子图像宽度包括不完整译码树单元(coding tree unit,CTU);
所述解码器的处理器解析所述码流以获得所述一个或多个子图像;
所述处理器对所述一个或多个子图像进行解码以创建视频序列;
所述处理器发送用于显示的所述视频序列。
2.根据权利要求1所述的方法,其特征在于,当第二子图像包括的下边界与所述图像的下边界不重合时,所述第二子图像包括的子图像高度包括整数个完整CTU。
3.根据权利要求1或2所述的方法,其特征在于,当第三子图像包括的右边界与所述图像的右边界不重合时,所述第三子图像包括的子图像宽度包括整数个完整CTU。
4.根据权利要求1至3中任一项所述的方法,其特征在于,当第四子图像包括的下边界与所述图像的下边界重合时,所述第四子图像包括的子图像高度包括不完整CTU。
5.一种在解码器中实现的方法,其特征在于,所述方法包括:
所述解码器的接收器接收码流,所述码流包括通过对图像进行分割获得的一个或多个子图像,使得当每个子图像包括的右边界与所述图像的右边界不重合时,每个子图像包括的子图像宽度是译码树单元(coding tree unit,CTU)大小的整数倍;
所述解码器的处理器解析所述码流以获得所述一个或多个子图像;
所述处理器对所述一个或多个子图像进行解码以创建视频序列;
所述处理器发送用于显示的所述视频序列。
6.根据权利要求5所述的方法,其特征在于,当每个子图像包括的下边界与所述图像的下边界不重合时,每个子图像包括的子图像高度是所述CTU大小的整数倍。
7.根据权利要求5或6所述的方法,其特征在于,当每个子图像包括的右边界与所述图像的右边界重合时,所述子图像中的至少一个子图像包括的子图像宽度不是所述CTU大小的整数倍。
8.根据权利要求5至7中任一项所述的方法,其特征在于,当每个子图像包括的下边界与所述图像的下边界重合时,所述子图像中的至少一个子图像包括的子图像高度不是所述CTU大小的整数倍。
9.根据权利要求5至8中任一项所述的方法,其特征在于,所述图像包括的图像宽度不是所述CTU大小的整数倍。
10.根据权利要求5至9中任一项所述的方法,其特征在于,所述图像包括的图像高度不是所述CTU大小的整数倍。
11.根据权利要求5至10中任一项所述的方法,其特征在于,所述CTU大小是以亮度像素点为单位进行测量的。
12.一种在编码器中实现的方法,其特征在于,所述方法包括:
所述编码器的处理器将图像分割为多个子图像,使得当每个子图像包括的右边界与所述图像的右边界不重合时,每个子图像包括的子图像宽度是译码树单元(coding treeunit,CTU)大小的整数倍;
所述处理器将一个或多个子图像编码到码流中;
在所述编码器的存储器中存储所述码流,所述码流用于发送到解码器。
13.根据权利要求12所述的方法,其特征在于,当每个子图像包括的下边界与所述图像的下边界不重合时,每个子图像包括的子图像高度是所述CTU大小的整数倍。
14.根据权利要求12或13所述的方法,其特征在于,当每个子图像包括的右边界与所述图像的右边界重合时,所述子图像中的至少一个子图像包括的子图像宽度不是所述CTU大小的整数倍。
15.根据权利要求12至14中任一项所述的方法,其特征在于,当每个子图像包括的下边界与所述图像的下边界重合时,所述子图像中的至少一个子图像包括的子图像高度不是所述CTU大小的整数倍。
16.根据权利要求12至15中任一项所述的方法,其特征在于,所述图像包括的图像宽度不是所述CTU大小的整数倍。
17.根据权利要求12至16中任一项所述的方法,其特征在于,所述图像包括的图像高度不是所述CTU大小的整数倍。
18.根据权利要求12至17中任一项所述的方法,其特征在于,所述CTU大小是以亮度像素点为单位进行测量的。
19.一种视频译码设备,其特征在于,包括:
处理器、存储器、耦合到所述处理器的接收器和发送器,所述处理器、存储器、接收器和发送器用于执行根据权利要求1至18中任一项所述的方法。
20.一种非瞬时性计算机可读介质,其特征在于,包括用于视频译码设备的计算机程序产品,所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令,当处理器执行所述计算机可执行指令时,使得所述视频译码设备执行根据权利要求1至18中任一项所述的方法。
21.一种解码器,其特征在于,包括:
接收模块,用于接收码流,所述码流包括通过对图像进行分割获得的一个或多个子图像,使得当每个子图像包括的右边界与所述图像的右边界不重合时,每个子图像包括的子图像宽度是译码树单元(coding tree unit,CTU)大小的整数倍;
解析模块,用于解析所述码流以获得所述一个或多个子图像;
解码模块,用于对所述一个或多个子图像进行解码以创建视频序列;
发送模块,用于发送用于显示的所述视频序列。
22.根据权利要求17所述的解码器,其特征在于,所述解码器还用于执行根据权利要求1至11中任一项所述的方法。
23.一种编码器,其特征在于,包括:
分割模块,用于将图像分割为多个子图像,使得当每个子图像包括的右边界与所述图像的右边界不重合时,每个子图像包括的子图像宽度是译码树单元(coding tree unit,CTU)大小的整数倍;
编码模块,用于将所述子图像中的一个或多个编码到码流中;
存储模块,用于存储所述码流,所述码流用于发送到解码器。
24.根据权利要求23所述的编码器,其特征在于,所述编码器还用于执行根据权利要求12至18中任一项所述的方法。
CN202080008756.4A 2019-01-09 2020-01-09 视频译码中的子图像大小 Pending CN113330451A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211022376.3A CN115550648B (zh) 2019-01-09 2020-01-09 视频译码中的子图像大小

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962790207P 2019-01-09 2019-01-09
US62/790,207 2019-01-09
PCT/US2020/012910 WO2020146616A1 (en) 2019-01-09 2020-01-09 Sub-picture sizing in video coding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202211022376.3A Division CN115550648B (zh) 2019-01-09 2020-01-09 视频译码中的子图像大小

Publications (1)

Publication Number Publication Date
CN113330451A true CN113330451A (zh) 2021-08-31

Family

ID=71520341

Family Applications (10)

Application Number Title Priority Date Filing Date
CN202211022376.3A Active CN115550648B (zh) 2019-01-09 2020-01-09 视频译码中的子图像大小
CN202080008738.6A Pending CN113330745A (zh) 2019-01-09 2020-01-09 视频译码中的子图像标识符指示
CN202210114288.XA Active CN114584770B (zh) 2019-01-09 2020-01-09 视频译码中的子图像布局指示
CN202080008683.9A Pending CN113508591A (zh) 2019-01-09 2020-01-09 视频译码中的子图像位置约束
CN202410210946.4A Pending CN118101934A (zh) 2019-01-09 2020-01-09 视频译码中的子图像标识符指示
CN202211021778.1A Active CN115550647B (zh) 2019-01-09 2020-01-09 视频译码中的子图像标识符指示
CN202080008699.XA Pending CN113302933A (zh) 2019-01-09 2020-01-09 视频译码中的子图像级别指示符指示
CN202080008695.1A Pending CN113287313A (zh) 2019-01-09 2020-01-09 视频译码中的子图像布局指示
CN202080008756.4A Pending CN113330451A (zh) 2019-01-09 2020-01-09 视频译码中的子图像大小
CN202080008660.8A Pending CN113302930A (zh) 2019-01-09 2020-01-09 视频译码中的时间运动约束子图像指示

Family Applications Before (8)

Application Number Title Priority Date Filing Date
CN202211022376.3A Active CN115550648B (zh) 2019-01-09 2020-01-09 视频译码中的子图像大小
CN202080008738.6A Pending CN113330745A (zh) 2019-01-09 2020-01-09 视频译码中的子图像标识符指示
CN202210114288.XA Active CN114584770B (zh) 2019-01-09 2020-01-09 视频译码中的子图像布局指示
CN202080008683.9A Pending CN113508591A (zh) 2019-01-09 2020-01-09 视频译码中的子图像位置约束
CN202410210946.4A Pending CN118101934A (zh) 2019-01-09 2020-01-09 视频译码中的子图像标识符指示
CN202211021778.1A Active CN115550647B (zh) 2019-01-09 2020-01-09 视频译码中的子图像标识符指示
CN202080008699.XA Pending CN113302933A (zh) 2019-01-09 2020-01-09 视频译码中的子图像级别指示符指示
CN202080008695.1A Pending CN113287313A (zh) 2019-01-09 2020-01-09 视频译码中的子图像布局指示

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202080008660.8A Pending CN113302930A (zh) 2019-01-09 2020-01-09 视频译码中的时间运动约束子图像指示

Country Status (21)

Country Link
US (8) US20210337227A1 (zh)
EP (10) EP4221214A1 (zh)
JP (11) JP7404373B2 (zh)
KR (7) KR20210107128A (zh)
CN (10) CN115550648B (zh)
AU (2) AU2020206246B2 (zh)
BR (5) BR112021013499A2 (zh)
CY (3) CY1126078T1 (zh)
DK (6) DK3906665T3 (zh)
ES (4) ES2951060T3 (zh)
FI (5) FI3909246T3 (zh)
HR (3) HRP20230702T1 (zh)
HU (4) HUE062631T2 (zh)
LT (3) LT3906665T (zh)
MX (6) MX2021008347A (zh)
PL (4) PL3906665T3 (zh)
PT (6) PT3909244T (zh)
RS (3) RS64353B1 (zh)
SG (5) SG11202107543SA (zh)
SI (3) SI3909244T1 (zh)
WO (6) WO2020146614A1 (zh)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112236998A (zh) * 2019-01-02 2021-01-15 株式会社 Xris 用于对视频信号进行编码/解码的方法及其装置
JP7404373B2 (ja) * 2019-01-09 2023-12-25 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ビデオエンコーダ、ビデオデコーダ、および対応する方法
WO2020164480A1 (en) * 2019-02-11 2020-08-20 Beijing Bytedance Network Technology Co., Ltd. Condition dependent video block partition
CN113661714B (zh) * 2019-03-11 2024-10-01 交互数字Vc控股公司 子画面比特流提取和重新定位
US20220182681A1 (en) * 2019-03-24 2022-06-09 Lg Electronics Inc. Image or video coding based on sub-picture handling structure
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
CN118138754A (zh) 2019-06-14 2024-06-04 北京字节跳动网络技术有限公司 处理视频单元边界和虚拟边界
US20220272321A1 (en) * 2019-06-19 2022-08-25 Electronics And Telecommunications Research Institute Method, device, and recording medium for encoding/decoding image using reference picture
KR20220042125A (ko) 2019-08-10 2022-04-04 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 서브픽처 디코딩에서의 버퍼 관리
CN112970251A (zh) 2019-08-20 2021-06-15 株式会社 Xris 用于对图像信号进行编码/解码的方法及其装置
WO2021039578A1 (ja) * 2019-08-29 2021-03-04 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法、および復号方法
JP2021044708A (ja) * 2019-09-11 2021-03-18 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
KR102707780B1 (ko) 2019-09-18 2024-09-20 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 적응형 루프 필터의 2-파트 시그널링
EP4018652A4 (en) 2019-09-22 2022-11-02 Beijing Bytedance Network Technology Co., Ltd. FILLING METHOD IN AN ADAPTIVE LOOP FILTER
US20220385924A1 (en) * 2019-09-23 2022-12-01 Telefonaktiebolaget Lm Ericsson (Publ) Segment position signalling with subpicture slice position deriving
JP7326600B2 (ja) 2019-09-27 2023-08-15 北京字節跳動網絡技術有限公司 異なるビデオユニット間の適応ループフィルタリング
JP7322290B2 (ja) * 2019-10-02 2023-08-07 北京字節跳動網絡技術有限公司 ビデオビットストリームにおけるサブピクチャシグナリングのための構文
EP4029263A4 (en) 2019-10-10 2022-12-07 Beijing Bytedance Network Technology Co., Ltd. FILLING PROCEDURE AT UNAVAILABLE SAMPLING POINTS IN AN ADAPTIVE LOOP FILTERING
JP7482220B2 (ja) 2019-10-18 2024-05-13 北京字節跳動網絡技術有限公司 サブピクチャのパラメータセットシグナリングにおける構文制約
KR102707834B1 (ko) 2019-10-29 2024-09-19 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 루마 차이를 이용한 크로스 컴포넌트 적응적 루프 필터
US11509938B2 (en) * 2019-11-05 2022-11-22 Hfi Innovation Inc. Method and apparatus of signaling subpicture information in video coding
US20210176475A1 (en) * 2019-12-05 2021-06-10 Mediatek Inc. Specifying Layout In Video Pictures
US12088848B2 (en) * 2019-12-11 2024-09-10 Sharp Kabushiki Kaisha Systems and methods for signaling output layer set information in video coding
BR112022011466A2 (pt) 2019-12-11 2022-08-23 Beijing Bytedance Network Tech Co Ltd Método de processamento de dados de vídeo, aparelho para processamento de dados de vídeo, meio de armazenamento e meio de gravação legíveis por computador não transitório
GB2590632B (en) * 2019-12-20 2023-07-26 Canon Kk Video coding and decoding
EP4062634A4 (en) 2019-12-26 2022-12-28 ByteDance Inc. LIMITATIONS ON SIGNALING HYPOTHETICAL REFERENCE DECODER PARAMETERS IN VIDEO BITSTREAMS
WO2021134015A1 (en) 2019-12-26 2021-07-01 Bytedance Inc. Profile, tier and layer indication in video coding
CN114902567A (zh) 2019-12-27 2022-08-12 字节跳动有限公司 视频编解码中的子图像信令
US11778169B2 (en) * 2019-12-27 2023-10-03 Electronics And Telecommunications Research Institute Method, apparatus and storage medium for image encoding/decoding using reference picture
US12058357B2 (en) * 2020-03-31 2024-08-06 Tencent America LLC Method for signaling subpicture partitioning in coded video stream
CN116325728A (zh) 2020-06-30 2023-06-23 抖音视界有限公司 自适应环路滤波的边界位置
EP3972279A1 (en) 2020-09-17 2022-03-23 Lemon Inc. Subpicture track referencing and processing
US20220086387A1 (en) 2020-09-17 2022-03-17 Lemon Inc. Subpicture entity groups in video coding
US20220086497A1 (en) 2020-09-17 2022-03-17 Lemon Inc. Subpicture entity group signaling in coded video
WO2022139459A1 (ko) * 2020-12-23 2022-06-30 엘지전자 주식회사 서브 픽처 id 정보를 시그널링하는 미디어 파일 생성/수신 방법, 장치 및 미디어 파일을 저장한 컴퓨터 판독 가능한 기록 매체
US20220345725A1 (en) 2021-04-15 2022-10-27 Lemon Inc. Level Indicator For Sub-Picture Entity Group
WO2023244022A1 (ko) * 2022-06-16 2023-12-21 엘지전자 주식회사 스캔 오더(scan order) 정보에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체

Family Cites Families (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100496703B1 (ko) * 1996-09-27 2005-11-24 마쯔시다덴기산교 가부시키가이샤 비디오데이터의택일적인재생이가능한멀티미디어스트림생성방법과멀티미디어광디스크오소링시스템
GB2382940A (en) * 2001-11-27 2003-06-11 Nokia Corp Encoding objects and background blocks
US20030112868A1 (en) * 2001-12-17 2003-06-19 Koninklijke Philips Electronics N.V. Shape assisted padding for object-based coding
JP2004128761A (ja) * 2002-10-01 2004-04-22 Pioneer Electronic Corp 情報記録媒体、情報記録装置及び方法、情報再生装置及び方法、情報記録再生装置及び方法、記録又は再生制御用のコンピュータプログラム、並びに制御信号を含むデータ構造
KR100539886B1 (ko) 2004-09-10 2005-12-28 삼성전자주식회사 디지털 방송 수신 장치 및 그 방법
JP2008536420A (ja) * 2005-04-13 2008-09-04 ノキア コーポレイション スケーラビリティ情報の符号化、格納およびシグナリング
JP2010505318A (ja) * 2006-09-26 2010-02-18 エーエムビーエックス ユーケー リミテッド ビデオフレームと補助データを含むビットストリームの形成及び処理
US20140072058A1 (en) * 2010-03-05 2014-03-13 Thomson Licensing Coding systems
JP2010041494A (ja) * 2008-08-06 2010-02-18 Sumitomo Electric Ind Ltd ネットワーク端末
US9602821B2 (en) * 2008-10-01 2017-03-21 Nvidia Corporation Slice ordering for video encoding
US9036714B2 (en) * 2009-01-26 2015-05-19 Thomson Licensing Frame packing for video coding
KR20110061468A (ko) * 2009-12-01 2011-06-09 (주)휴맥스 고해상도 영상의 부호화/복호화 방법 및 이를 수행하는 장치
US20120179833A1 (en) * 2010-06-02 2012-07-12 Onmobile Global Limited Method and apparatus for adapting media
US8780973B2 (en) * 2010-08-13 2014-07-15 Texas Instruments Incorporated Limiting the maximum size of an encoded video picture using sub-picture based rate control
US8891889B2 (en) * 2011-04-13 2014-11-18 Huawei Technologies Co., Ltd. Image encoding and decoding methods and related devices
US20130016769A1 (en) 2011-07-17 2013-01-17 Qualcomm Incorporated Signaling picture size in video coding
US9584819B2 (en) * 2011-10-24 2017-02-28 Qualcomm Incorporated Grouping of tiles for video coding
US20130107973A1 (en) 2011-10-28 2013-05-02 Qualcomm Incorporated Loop filtering control over tile boundaries
US20130136180A1 (en) * 2011-11-29 2013-05-30 Futurewei Technologies, Inc. Unified Partitioning Structures and Signaling Methods for High Efficiency Video Coding
US9819949B2 (en) * 2011-12-16 2017-11-14 Microsoft Technology Licensing, Llc Hardware-accelerated decoding of scalable video bitstreams
US9288506B2 (en) * 2012-01-05 2016-03-15 Qualcomm Incorporated Signaling view synthesis prediction support in 3D video coding
US9332259B2 (en) 2012-01-18 2016-05-03 Qualcomm Incorporated Indication of use of wavefront parallel processing in video coding
US10244246B2 (en) 2012-02-02 2019-03-26 Texas Instruments Incorporated Sub-pictures for pixel rate balancing on multi-core platforms
US9756327B2 (en) * 2012-04-03 2017-09-05 Qualcomm Incorporated Quantization matrix and deblocking filter adjustments for video coding
US9578326B2 (en) * 2012-04-04 2017-02-21 Qualcomm Incorporated Low-delay video buffering in video coding
WO2013150944A1 (ja) 2012-04-06 2013-10-10 ソニー株式会社 復号装置および復号方法、並びに、符号化装置および符号化方法
JP5888278B2 (ja) 2012-04-06 2016-03-16 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
IN2014DN07859A (zh) * 2012-04-16 2015-04-24 Ericsson Telefon Ab L M
US20130287093A1 (en) * 2012-04-25 2013-10-31 Nokia Corporation Method and apparatus for video coding
CN115442623B (zh) 2012-06-29 2024-08-23 Ge视频压缩有限责任公司 解码视频数据流的方法、存储介质、编码器、解码器
JP6376719B2 (ja) * 2012-06-29 2018-08-22 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US20140003504A1 (en) * 2012-07-02 2014-01-02 Nokia Corporation Apparatus, a Method and a Computer Program for Video Coding and Decoding
US9602827B2 (en) * 2012-07-02 2017-03-21 Qualcomm Incorporated Video parameter set including an offset syntax element
EP2871567A4 (en) * 2012-07-06 2016-01-06 Samsung Electronics Co Ltd METHOD AND APPARATUS FOR ENCODING MULTILAYER VIDEO, AND METHOD AND APPARATUS FOR DECODING MULTILAYER VIDEO
JP2014027371A (ja) * 2012-07-24 2014-02-06 Nippon Hoso Kyokai <Nhk> イントラ予測処理装置及びプログラム
US8989508B2 (en) * 2012-09-28 2015-03-24 Sharp Kabushiki Kaisha Electronic device for signaling a sub-picture buffer parameter
US9491457B2 (en) * 2012-09-28 2016-11-08 Qualcomm Incorporated Signaling of regions of interest and gradual decoding refresh in video coding
EP2887663B1 (en) 2012-09-29 2017-02-22 Huawei Technologies Co., Ltd. Method, apparatus and system for encoding and decoding video
RU2608465C1 (ru) * 2013-01-04 2017-01-18 Самсунг Электроникс Ко., Лтд. Способ энтропийного кодирования сегмента слайса и устройство для него и способ энтропийного декодирования сегмента слайса и устройство для него
CN105144720B (zh) * 2013-01-04 2018-12-28 Ge视频压缩有限责任公司 高效可伸缩编码概念
WO2014141142A1 (en) 2013-03-14 2014-09-18 Gamesys Ltd Systems and methods for detection of gaming experience management implementations
GB2512829B (en) * 2013-04-05 2015-05-27 Canon Kk Method and apparatus for encoding or decoding an image with inter layer motion information prediction according to motion information compression scheme
US9749627B2 (en) * 2013-04-08 2017-08-29 Microsoft Technology Licensing, Llc Control data for motion-constrained tile set
US9635371B2 (en) * 2013-05-31 2017-04-25 Qualcomm Incorporated Determining rounding offset using scaling factor in picture resampling
US8923640B1 (en) * 2013-06-07 2014-12-30 Apple Inc. Coherence groups: region descriptors for low bit rate encoding
JP6505026B2 (ja) 2013-07-10 2019-04-24 シャープ株式会社 符号化方法
WO2015009693A1 (en) * 2013-07-15 2015-01-22 Sony Corporation Layer based hrd buffer management for scalable hevc
EP3008896B1 (en) * 2013-07-15 2021-03-31 Sony Corporation Extensions of motion-constrained tile sets sei message for interactivity
GB2516824A (en) * 2013-07-23 2015-02-11 Nokia Corp An apparatus, a method and a computer program for video coding and decoding
WO2015052979A1 (ja) * 2013-10-11 2015-04-16 ソニー株式会社 画像処理装置及び画像処理方法
WO2015052943A1 (en) * 2013-10-13 2015-04-16 Sharp Kabushiki Kaisha Signaling parameters in vps extension and dpb operation
EP3089452A4 (en) * 2013-12-26 2017-10-25 Samsung Electronics Co., Ltd. Inter-layer video decoding method for performing subblock-based prediction and apparatus therefor, and inter-layer video encoding method for performing subblock-based prediction and apparatus therefor
US9912966B2 (en) * 2014-01-03 2018-03-06 Nokia Technologies Oy Parameter set coding
US10320867B2 (en) 2014-01-07 2019-06-11 Canon Kabushiki Kaisha Method, device, and computer program for encoding inter-layer dependencies in encapsulating multi-layer partitioned timed media data
JP6224516B2 (ja) * 2014-05-07 2017-11-01 日本電信電話株式会社 エンコード方法およびエンコードプログラム
US9699480B2 (en) * 2014-06-13 2017-07-04 Sharp Laboratories Of America, Inc. Level limits
MX2021015798A (es) 2014-06-20 2023-03-07 Sony Corp Dispositivo y metodo de codificacion de imagen, y dispositivo y metodo de decodificacion de imagen.
WO2015194187A1 (en) * 2014-06-20 2015-12-23 Sharp Kabushiki Kaisha Harmonized palette coding
EP3248377B1 (en) * 2015-02-16 2022-05-04 HFI Innovation Inc. Method and apparatus for palette predictor initialization for palette coding in video and image compression
GB2535990A (en) * 2015-02-26 2016-09-07 Univ Antwerpen Computer program and method of determining a personalized head-related transfer function and interaural time difference function
EP3128485A1 (en) * 2015-08-05 2017-02-08 Thomson Licensing Method and apparatus for hierarchical motion estimation using dfd-based image segmentation
WO2017088093A1 (en) 2015-11-23 2017-06-01 Mediatek Singapore Pte. Ltd. On the smallest allowed block size in video coding
US20170180758A1 (en) * 2015-12-22 2017-06-22 Vallabhajosyula S. Somayazulu Tiled Wireless Display
CN118784881A (zh) * 2016-02-09 2024-10-15 弗劳恩霍夫应用研究促进协会 解码器、编码器、方法、网络设备以及可读存储介质
EP3249928A1 (en) 2016-05-23 2017-11-29 Thomson Licensing Method, apparatus and stream of formatting an immersive video for legacy and immersive rendering devices
US10812791B2 (en) * 2016-09-16 2020-10-20 Qualcomm Incorporated Offset vector identification of temporal motion vector predictor
US10250776B2 (en) * 2016-10-04 2019-04-02 International Business Machines Corporation Enhancing graph visualization with supplemental data
CN115022626A (zh) * 2016-10-04 2022-09-06 有限公司B1影像技术研究所 图像数据编码/解码方法和计算机可读记录介质
WO2018071666A1 (en) * 2016-10-12 2018-04-19 Arris Enterprises Llc Coding schemes for virtual reality (vr) sequences
WO2018083378A1 (en) * 2016-11-01 2018-05-11 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
GB2594615B (en) * 2017-03-20 2022-11-30 Canon Kk Method and apparatus for encoding and transmitting at least a spatial part of a video sequence
CN115955560B (zh) * 2017-03-20 2024-10-11 Ge视频压缩有限责任公司 生成视频数据流的装置以及生成视频数据流的方法
WO2018221368A1 (ja) * 2017-05-31 2018-12-06 シャープ株式会社 動画像復号装置、及び動画像符号化装置
EP3422724B1 (en) * 2017-06-26 2024-05-01 Nokia Technologies Oy An apparatus, a method and a computer program for omnidirectional video
CN116320400A (zh) * 2017-07-03 2023-06-23 汉阳大学校产学协力团 利用包含追加区域的分割单位的影像解码方法以及装置
CN118200610A (zh) * 2017-07-04 2024-06-14 华为技术有限公司 边界强制分区的改进
TWI812414B (zh) * 2017-07-13 2023-08-11 美商松下電器(美國)知識產權公司 編碼裝置、解碼裝置及記錄媒體
CN118018761A (zh) * 2017-12-28 2024-05-10 韩国电子通信研究院 图像编码和解码的方法和装置以及存储比特流的记录介质
KR102543953B1 (ko) 2018-04-19 2023-06-20 엘지전자 주식회사 영상의 처리 방법 및 이를 위한 장치
CN112544084B (zh) * 2018-05-15 2024-03-01 夏普株式会社 图像编码装置、编码流提取装置以及图像解码装置
EP3782369B1 (en) * 2018-05-30 2023-08-23 Huawei Technologies Co., Ltd. Multi-type tree depth extension for picture boundary handling
US20210274217A1 (en) * 2018-06-29 2021-09-02 Electronics And Telecommunications Research Institute Image encoding/decoding method and apparatus for throughput enhancement, and recording medium storing bitstream
JP2021153213A (ja) * 2018-06-29 2021-09-30 シャープ株式会社 動画像符号化装置および動画像復号装置
US11290728B2 (en) * 2018-07-02 2022-03-29 Nokia Technologies Oy Method and apparatus for tile-relative addressing in video coding
KR102545728B1 (ko) * 2018-07-16 2023-06-20 엘지전자 주식회사 서브블록 단위의 시간적 움직임 정보 예측을 위한 인터 예측 방법 및 그 장치
WO2020050705A1 (ko) * 2018-09-07 2020-03-12 가온미디어 주식회사 그룹 단위 양자화 파라미터를 처리하는 영상 복호화 및 부호화 방법
CN112703734A (zh) * 2018-09-14 2021-04-23 Vid拓展公司 用于灵活网格区域的方法和装置
US11057636B2 (en) * 2018-09-17 2021-07-06 Qualcomm Incorporated Affine motion prediction
WO2020060243A1 (ko) * 2018-09-19 2020-03-26 한국전자통신연구원 경계 처리를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR102660160B1 (ko) * 2018-11-22 2024-04-24 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 서브 블록 기반 인터 예측을 위한 조정 방법
EP3891983A1 (en) * 2018-12-04 2021-10-13 VID SCALE, Inc. Tile group partitioning
US11102513B2 (en) * 2018-12-06 2021-08-24 Tencent America LLC One-level transform split and adaptive sub-block transform
CN113196757B (zh) * 2018-12-20 2024-04-26 瑞典爱立信有限公司 用于使用图片中的均匀片段分割进行视频编码的方法和装置
CN118660160A (zh) * 2018-12-28 2024-09-17 有限公司B1影像技术研究所 对图像进行编码/解码的方法和计算机可读存储介质
WO2020135482A1 (en) * 2018-12-29 2020-07-02 Beijing Bytedance Network Technology Co., Ltd. Construction method for default motion candidate in sub-block based inter prediction
EP3906677A4 (en) * 2019-01-02 2022-10-19 Nokia Technologies Oy DEVICE, METHOD AND COMPUTER PROGRAM FOR VIDEO ENCODING AND DECODING
JP7404373B2 (ja) * 2019-01-09 2023-12-25 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ビデオエンコーダ、ビデオデコーダ、および対応する方法
GB2584295A (en) 2019-05-28 2020-12-02 Canon Kk Method and apparatus for encoding and decoding a video bitstream for merging regions of interest
JP7482220B2 (ja) * 2019-10-18 2024-05-13 北京字節跳動網絡技術有限公司 サブピクチャのパラメータセットシグナリングにおける構文制約
JP7535584B2 (ja) * 2019-12-12 2024-08-16 エルジー エレクトロニクス インコーポレイティド ループフィルタリングを制御するための映像コーディング装置及び方法

Also Published As

Publication number Publication date
US20210337226A1 (en) 2021-10-28
EP3906665B1 (en) 2023-06-07
MX2021008345A (es) 2021-10-13
CN115550647A (zh) 2022-12-30
PL3906665T3 (pl) 2023-09-04
HRP20230707T1 (hr) 2023-10-13
JP7556861B2 (ja) 2024-09-26
WO2020146616A1 (en) 2020-07-16
LT3909244T (lt) 2023-07-10
CN115550648A (zh) 2022-12-30
DK3909246T3 (da) 2023-07-10
JP2023059882A (ja) 2023-04-27
CY1126131T1 (el) 2023-11-15
ES2951004T3 (es) 2023-10-17
HUE062613T2 (hu) 2023-11-28
CY1126094T1 (el) 2023-11-15
HRP20230702T1 (hr) 2023-10-13
SG11202107543SA (en) 2021-08-30
CN113508591A (zh) 2021-10-15
EP3909245A4 (en) 2022-03-30
EP4221215A1 (en) 2023-08-02
EP3906687A4 (en) 2022-03-23
EP4221215B1 (en) 2024-08-07
EP3909244A4 (en) 2022-03-30
US20230319299A1 (en) 2023-10-05
FI3909244T3 (fi) 2023-07-13
JP2023101529A (ja) 2023-07-21
HUE062301T2 (hu) 2023-10-28
ES2951060T3 (es) 2023-10-17
DK3909245T3 (da) 2024-09-16
JP2024071391A (ja) 2024-05-24
CN114584770B (zh) 2023-11-03
EP3909244B1 (en) 2023-06-07
LT3906665T (lt) 2023-07-25
PL3909244T3 (pl) 2023-08-14
EP3909244A1 (en) 2021-11-17
JP2022518170A (ja) 2022-03-14
JP2022516998A (ja) 2022-03-03
BR112021013531A2 (pt) 2021-09-14
RS64353B1 (sr) 2023-08-31
PT3909244T (pt) 2023-07-05
PT3906684T (pt) 2024-08-06
US20210337200A1 (en) 2021-10-28
WO2020146662A1 (en) 2020-07-16
US20210337198A1 (en) 2021-10-28
EP3909245A1 (en) 2021-11-17
RS64330B1 (sr) 2023-08-31
JP7404373B2 (ja) 2023-12-25
MX2021008339A (es) 2021-09-30
DK4221215T3 (da) 2024-08-26
KR20240056798A (ko) 2024-04-30
FI3906684T3 (fi) 2024-08-23
MX2021008347A (es) 2021-10-13
WO2020146614A1 (en) 2020-07-16
BR112021013521A2 (pt) 2021-09-14
SG11202107549XA (en) 2021-08-30
EP3906684B1 (en) 2024-06-19
KR20210107126A (ko) 2021-08-31
SI3906665T1 (sl) 2023-09-29
CN113302933A (zh) 2021-08-24
US11917173B2 (en) 2024-02-27
JP7516389B2 (ja) 2024-07-16
PL3906687T3 (pl) 2024-07-22
FI3909246T3 (fi) 2023-07-18
DK3909244T3 (da) 2023-07-24
US11949893B2 (en) 2024-04-02
SG11202107545TA (en) 2021-08-30
CN113330745A (zh) 2021-08-31
JP2022518169A (ja) 2022-03-14
JP7508462B2 (ja) 2024-07-01
CY1126078T1 (el) 2023-11-15
LT3909246T (lt) 2023-07-10
PT3906665T (pt) 2023-08-01
HUE066684T2 (hu) 2024-08-28
KR20210107127A (ko) 2021-08-31
US20240205437A1 (en) 2024-06-20
EP3909246B1 (en) 2023-06-07
EP4451673A2 (en) 2024-10-23
ES2981568T3 (es) 2024-10-09
CN118101934A (zh) 2024-05-28
RS64374B1 (sr) 2023-08-31
JP7467706B2 (ja) 2024-04-15
BR112021013436A2 (pt) 2021-10-19
KR20210110710A (ko) 2021-09-08
WO2020146623A1 (en) 2020-07-16
JP2022516996A (ja) 2022-03-03
DK3906665T3 (da) 2023-07-31
DK3906684T3 (da) 2024-09-02
EP4221213A1 (en) 2023-08-02
CN114584770A (zh) 2022-06-03
US20210337228A1 (en) 2021-10-28
CN113287313A (zh) 2021-08-20
EP3909246A1 (en) 2021-11-17
HRP20230682T1 (hr) 2023-10-13
MX2021008344A (es) 2021-09-30
JP2024019510A (ja) 2024-02-09
AU2020206246A1 (en) 2021-08-12
AU2024202115A1 (en) 2024-05-02
SI3909246T1 (sl) 2023-08-31
US20210337227A1 (en) 2021-10-28
PT3909245T (pt) 2024-09-16
PL3909246T3 (pl) 2023-08-21
WO2020146665A1 (en) 2020-07-16
EP3906684B9 (en) 2024-08-28
SG11202107546UA (en) 2021-08-30
EP3909246A4 (en) 2022-03-23
FI3909245T3 (fi) 2024-09-11
SG11202107548WA (en) 2021-08-30
HUE062631T2 (hu) 2023-11-28
WO2020146582A1 (en) 2020-07-16
ES2952079T3 (es) 2023-10-26
KR20210107128A (ko) 2021-08-31
CN115550647B (zh) 2024-01-30
JP7467480B2 (ja) 2024-04-15
FI3906665T3 (fi) 2023-07-31
EP3906684A1 (en) 2021-11-10
KR20210109630A (ko) 2021-09-06
CN113302930A (zh) 2021-08-24
JP2022518168A (ja) 2022-03-14
AU2020206246B2 (en) 2024-01-04
EP3906687B1 (en) 2024-04-24
KR102648032B1 (ko) 2024-03-14
JP7223146B2 (ja) 2023-02-15
PT3906687T (pt) 2024-06-18
JP2024086733A (ja) 2024-06-28
JP2022516997A (ja) 2022-03-03
US12088835B2 (en) 2024-09-10
EP3906665A1 (en) 2021-11-10
US20210337199A1 (en) 2021-10-28
KR20210107129A (ko) 2021-08-31
MX2021008346A (es) 2021-10-13
EP3906684A4 (en) 2022-03-16
CN115550648B (zh) 2023-09-01
EP3906665A4 (en) 2022-03-23
EP4221214A1 (en) 2023-08-02
MX2021008348A (es) 2021-10-13
KR102661006B1 (ko) 2024-04-24
BR112021013499A2 (pt) 2021-09-14
BR112021013512A2 (pt) 2021-09-14
KR102650474B1 (ko) 2024-03-21
PT3909246T (pt) 2023-07-05
SI3909244T1 (sl) 2023-08-31
EP4221213B1 (en) 2024-09-25
EP3906687A1 (en) 2021-11-10
EP3909245B1 (en) 2024-06-19

Similar Documents

Publication Publication Date Title
CN115550648B (zh) 视频译码中的子图像大小
CN112703743B (zh) 视频译码中的条带和分块
KR20210095958A (ko) 비디오 코딩의 유연한 타일링 개선
CN114650428B (zh) 使用标识符指示的视频译码码流提取的方法、设备和介质
CN113273196A (zh) 视频译码中的分块组指示

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