CN114845112B - 后缀sei消息的可伸缩嵌套的方法、设备、介质、解码器和编码器 - Google Patents

后缀sei消息的可伸缩嵌套的方法、设备、介质、解码器和编码器 Download PDF

Info

Publication number
CN114845112B
CN114845112B CN202210411182.6A CN202210411182A CN114845112B CN 114845112 B CN114845112 B CN 114845112B CN 202210411182 A CN202210411182 A CN 202210411182A CN 114845112 B CN114845112 B CN 114845112B
Authority
CN
China
Prior art keywords
sei
layer
sei message
scalable
scalable nesting
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.)
Active
Application number
CN202210411182.6A
Other languages
English (en)
Other versions
CN114845112A (zh
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 CN202210411182.6A priority Critical patent/CN114845112B/zh
Publication of CN114845112A publication Critical patent/CN114845112A/zh
Application granted granted Critical
Publication of CN114845112B publication Critical patent/CN114845112B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/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
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/423Methods 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 characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • 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
    • 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)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

本发明公开了一种视频译码机制。所述机制包括:将一个或多个经编码图像编码到码流中;将补充增强信息(supplemental enhancement information,SEI)网络抽象层(networkabstraction layer,NAL)单元编码到所述码流中,其中,所述SEI NAL单元的NAL单元类型(nal_unit_type)等于后缀SEI NAL单元类型(SUFFIX_SEI_NUT),所述SEI NAL单元包括可伸缩嵌套式SEI消息;根据所述可伸缩嵌套式SEI消息,对所述码流执行一组码流一致性测试;存储所述码流,以将所述码流发送到解码器。

Description

后缀SEI消息的可伸缩嵌套的方法、设备、介质、解码器和编码器
本申请是分案申请,原申请的申请号是202080066880.6,原申请日是2020年09月17日,原申请的全部内容通过引用结合在本申请中。
相关申请交叉引用
本专利申请要求王业奎(Ye-Kui Wang)于2019年9月24日递交的申请号为62/905,236、发明名称为“视频译码改进(Video Coding Improvements)”的美国临时专利申请的权益,其内容通过引用结合在本申请中。
技术领域
本发明一般涉及视频译码,具体涉及指示(signal)参数以支持多层码流译码的改进。
背景技术
即使在视频较短的情况下,也需要大量的视频数据来描述,当数据要在带宽容量有限的通信网络中流式传输或以其它方式传输时,这样可能会造成困难。因此,视频数据通常要先压缩,然后通过现代电信网络进行传输。由于内存资源可能有限,当在存储设备上存储视频时,该视频的大小也可能成为问题。视频压缩设备通常在信源侧使用软件和/或硬件对视频数据进行编码,然后进行传输或存储,从而减少表示数字视频图像所需的数据量。然后,解码视频数据的视频解压缩设备在目的地侧接收压缩数据。在网络资源有限以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术在几乎不影响图像质量的情况下能够提高压缩比。
发明内容
在一个实施例中,本发明包括一种由解码器实现的方法。所述方法包括:所述解码器的接收器接收包括经编码图像和补充增强信息(supplemental enhancementinformation,SEI)网络抽象层(network abstraction layer,NAL)单元的码流,其中,所述SEI NAL单元的NAL单元类型(nal_unit_type)等于后缀SEI NAL单元类型(SUFFIX_SEI_NUT),所述SEI NAL单元包括可伸缩嵌套式SEI消息;所述解码器的处理器对所述经编码图像进行解码,以产生经解码图像。
一些视频译码系统使用SEI消息。SEI消息包括解码过程不需要的信息,以便确定经解码图像中的样本的值。例如,所述SEI消息可以包括用于检查码流是否符合标准的参数。此外,视频译码系统可以将图像编码到多层和/或输出层集(output layer set,OLS)中。可伸缩嵌套式SEI消息可以用于将前缀SEI消息与所述层和/或所述OLS相关。一些视频译码系统也使用后缀SEI消息,但不可以在后缀SEI消息中使用可伸缩嵌套式SEI消息。各种类型的SEI消息可以包括为前缀SEI消息或后缀SEI消息。但是,某些类型的SEI消息(例如,解码图像哈希SEI消息)被限制用作后缀SEI消息。因此,某些SEI消息(例如,解码图像哈希SEI消息)不能在这些系统中的可伸缩嵌套式SEI消息中译码。本示例包括用于在可伸缩嵌套式SEI消息中译码某些SEI消息(例如,解码图像哈希SEI消息)的机制。具体地,后缀SEI消息可以与可伸缩嵌套式SEI消息组合使用。换句话说,nal_unit_type等于SUFFIX_SEI_NUT的SEI NAL单元可以包括可伸缩嵌套式SEI消息。这样,后缀SEI消息(例如,解码图像哈希SEI消息)可以用作可伸缩嵌套式SEI消息和/或用作可伸缩嵌套式SEI消息中包括的可伸缩嵌套的SEI消息。这样使得在应用于特定层和/或OLS时可以嵌套后缀SEI消息。这样,编码器和解码器的功能增加。此外,可以提高编码效率,减少了编码器和解码器侧的处理器、存储器和/或网络信令资源的使用。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述可伸缩嵌套式SEI消息包括一个或多个可伸缩嵌套的SEI消息。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述一个或多个可伸缩嵌套的SEI消息包括解码图像哈希SEI消息。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述可伸缩嵌套式SEI消息将SEI消息与特定OLS关联。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述可伸缩嵌套式SEI消息将SEI消息与特定层关联。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述可伸缩嵌套式SEI消息包括设置为133的载荷类型(payloadType)。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述可伸缩嵌套式SEI消息包括可伸缩嵌套式层标识符(layer_id[i]),所述layer_id[i]表示所述可伸缩嵌套的SEI消息所应用的第i层的NAL单元头层标识符(nuh_layer_id)值。
在一个实施例中,本发明包括一种由编码器实现的方法,所述方法包括:所述编码器的处理器将一个或多个经编码图像编码到码流中;所述处理器将SEI NAL单元编码到所述码流中,其中,所述SEI NAL单元的nal_unit_type等于SUFFIX_SEI_NUT,所述SEI NAL单元包括可伸缩嵌套式SEI消息;所述处理器根据所述可伸缩嵌套式SEI消息,对所述码流执行一组码流一致性测试;与所述处理器耦合的存储器存储所述码流,以将所述码流发送到解码器。
一些视频译码系统使用SEI消息。SEI消息包括解码过程不需要的信息,以便确定经解码图像中的样本的值。例如,所述SEI消息可以包括用于检查码流是否符合标准的参数。此外,视频译码系统可以将图像编码到多层和/或输出层集(output layer set,OLS)中。可伸缩嵌套式SEI消息可以用于将前缀SEI消息与所述层和/或所述OLS相关。一些视频译码系统也使用后缀SEI消息,但不可以在后缀SEI消息中使用可伸缩嵌套式SEI消息。各种类型的SEI消息可以包括为前缀SEI消息或后缀SEI消息。但是,某些类型的SEI消息(例如,解码图像哈希SEI消息)被限制用作后缀SEI消息。因此,某些SEI消息(例如,解码图像哈希SEI消息)不能在这些系统中的可伸缩嵌套式SEI消息中译码。本示例包括用于在可伸缩嵌套式SEI消息中译码某些SEI消息(例如,解码图像哈希SEI消息)的机制。具体地,后缀SEI消息可以与可伸缩嵌套式SEI消息组合使用。换句话说,nal_unit_type等于SUFFIX_SEI_NUT的SEI NAL单元可以包括可伸缩嵌套式SEI消息。这样,后缀SEI消息(例如,解码图像哈希SEI消息)可以用作可伸缩嵌套式SEI消息和/或用作可伸缩嵌套式SEI消息中包括的可伸缩嵌套的SEI消息。这样使得在应用于特定层和/或OLS时可以嵌套后缀SEI消息。这样,编码器和解码器的功能增加。此外,可以提高编码效率,减少了编码器和解码器侧的处理器、存储器和/或网络信令资源的使用。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述可伸缩嵌套式SEI消息包括一个或多个可伸缩嵌套的SEI消息。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述一个或多个可伸缩嵌套的SEI消息包括解码图像哈希SEI消息。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述可伸缩嵌套式SEI消息将SEI消息与特定OLS关联。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述可伸缩嵌套式SEI消息将SEI消息与特定层关联。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述可伸缩嵌套式SEI消息包括设置为133的payloadType。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述可伸缩嵌套式SEI消息包括可伸缩嵌套式layer_id[i],所述layer_id[i]表示所述可伸缩嵌套的SEI消息所应用的第i层的nuh_layer_id值。
在一个实施例中,本发明包括一种视频译码设备,其中,所述视频译码设备包括:处理器、与所述处理器耦合的接收器、与所述处理器耦合的存储器和与所述处理器耦合的发送器,其中,所述处理器、所述接收器、所述存储器和所述发送器用于执行根据上述任一方面所述的方法。
在一个实施例中,本发明包括一种非瞬时性计算机可读介质,包括供视频译码设备使用的计算机程序产品,其中,所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令,当处理器执行所述计算机可执行指令时,使得所述视频译码设备执行上述任一方面所述的方法。
在一个实施例中,本发明包括一种解码器,其中,所述解码器包括:接收模块,用于接收包括经编码图像和SEI NAL单元的码流,其中,所述SEI NAL单元的nal_unit_type等于SUFFIX_SEI_NUT,所述SEI NAL单元包括可伸缩嵌套式SEI消息;解码模块,用于对所述经编码图像进行解码,以产生经解码图像;转发模块,用于转发所述经解码图像,以将所述经解码图像显示为经解码视频序列的一部分。
一些视频译码系统使用SEI消息。SEI消息包括解码过程不需要的信息,以便确定经解码图像中的样本的值。例如,所述SEI消息可以包括用于检查码流是否符合标准的参数。此外,视频译码系统可以将图像编码到多层和/或输出层集(output layer set,OLS)中。可伸缩嵌套式SEI消息可以用于将前缀SEI消息与所述层和/或所述OLS相关。一些视频译码系统也使用后缀SEI消息,但不可以在后缀SEI消息中使用可伸缩嵌套式SEI消息。各种类型的SEI消息可以包括为前缀SEI消息或后缀SEI消息。但是,某些类型的SEI消息(例如,解码图像哈希SEI消息)被限制用作后缀SEI消息。因此,某些SEI消息(例如,解码图像哈希SEI消息)不能在这些系统中的可伸缩嵌套式SEI消息中译码。本示例包括用于在可伸缩嵌套式SEI消息中译码某些SEI消息(例如,解码图像哈希SEI消息)的机制。具体地,后缀SEI消息可以与可伸缩嵌套式SEI消息组合使用。换句话说,nal_unit_type等于SUFFIX_SEI_NUT的SEI NAL单元可以包括可伸缩嵌套式SEI消息。这样,后缀SEI消息(例如,解码图像哈希SEI消息)可以用作可伸缩嵌套式SEI消息和/或用作可伸缩嵌套式SEI消息中包括的可伸缩嵌套的SEI消息。这样使得在应用于特定层和/或OLS时可以嵌套后缀SEI消息。这样,编码器和解码器的功能增加。此外,可以提高编码效率,减少了编码器和解码器侧的处理器、存储器和/或网络信令资源的使用。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述解码器还用于执行上述任一方面所述的方法。
在一个实施例中,本发明包括一种编码器,其中,所述编码器包括:编码模块,用于:将一个或多个经编码图像编码到码流中;将SEI NAL单元编码到所述码流中,其中,所述SEI NAL单元的nal_unit_type等于SUFFIX_SEI_NUT,所述SEI NAL单元包括可伸缩嵌套式SEI消息;HRD模块,用于根据所述可伸缩嵌套式SEI消息,对所述码流执行一组码流一致性测试;存储模块,用于存储所述码流,以将所述码流发送到解码器。
一些视频译码系统使用SEI消息。SEI消息包括解码过程不需要的信息,以便确定经解码图像中的样本的值。例如,所述SEI消息可以包括用于检查码流是否符合标准的参数。此外,视频译码系统可以将图像编码到多层和/或输出层集(output layer set,OLS)中。可伸缩嵌套式SEI消息可以用于将前缀SEI消息与所述层和/或所述OLS相关。一些视频译码系统也使用后缀SEI消息,但不可以在后缀SEI消息中使用可伸缩嵌套式SEI消息。各种类型的SEI消息可以包括为前缀SEI消息或后缀SEI消息。但是,某些类型的SEI消息(例如,解码图像哈希SEI消息)被限制用作后缀SEI消息。因此,某些SEI消息(例如,解码图像哈希SEI消息)不能在这些系统中的可伸缩嵌套式SEI消息中译码。本示例包括用于在可伸缩嵌套式SEI消息中译码某些SEI消息(例如,解码图像哈希SEI消息)的机制。具体地,后缀SEI消息可以与可伸缩嵌套式SEI消息组合使用。换句话说,nal_unit_type等于SUFFIX_SEI_NUT的SEI NAL单元可以包括可伸缩嵌套式SEI消息。这样,后缀SEI消息(例如,解码图像哈希SEI消息)可以用作可伸缩嵌套式SEI消息和/或用作可伸缩嵌套式SEI消息中包括的可伸缩嵌套的SEI消息。这样使得在应用于特定层和/或OLS时可以嵌套后缀SEI消息。这样,编码器和解码器的功能增加。此外,可以提高编码效率,减少了编码器和解码器侧的处理器、存储器和/或网络信令资源的使用。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述编码器还用于执行上述任一方面所述的方法。
为了描述的清晰性,上述任一实施例可以与上述其它任一或多个实施例结合以创建本发明范围内的新实施例。
这些和其它特征将结合附图和权利要求书从以下详细描述中更清楚地理解。
附图说明
为了更透彻地理解本发明,现参考结合附图和具体实施方式而描述的以下简要说明,其中的相同附图标记表示相同部件。
图1为对视频信号进行译码的示例性方法的流程图。
图2为用于视频译码的示例性编码和解码(编解码)系统的示意图。
图3为示例性视频编码器的示意图。
图4为示例性视频解码器的示意图。
图5为示例性假设参考解码(hypothetical reference decoder,HRD)的示意图。
图6为示例性多层视频序列的示意图。
图7为示例性码流的示意图。
图8为示例性视频译码设备的示意图。
图9为通过使用可以包括可伸缩嵌套式SEI消息的后缀补充增强信息(supplemental enhancement information,SEI)消息将视频序列编码到码流中的示例方法的流程图。
图10为通过使用包括可伸缩嵌套式SEI消息的后缀SEI消息从码流中解码视频序列的示例性方法的流程图。
图11为通过使用包括可伸缩嵌套式SEI消息的后缀SEI消息使用码流对视频序列进行译码的示例性系统的示意图。
具体实施方式
首先应理解,尽管下文提供一项或多项实施例的说明性实现方式,但本发明所公开的系统和/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实现方式、附图和技术,包括本文所说明并描述的示例性设计和实现方式,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
以下术语的定义如下所述,除非在本文相反的上下文中使用。具体地,以下定义旨在更加清晰地描述本发明。但是,术语在不同的上下文中可能会有不同的描述。因此,以下定义应当视为补充信息,不应当视为对此处为这些术语提供的描述的任何其它定义进行限制。
码流(bitstream)是包括视频数据的一系列比特,这些视频数据被压缩以在编码器和解码器之间传输。编码器(encoder)是一种用于采用编码过程将视频数据压缩到码流中的设备。解码器(decoder)是一种用于采用解码过程从码流中重建视频数据进行显示的设备。图像是创建帧或其场的亮度样本和/或色度样本组成的阵列。条带(slice)是图像中的整数个完整分块或图像中(例如,一个分块内)的整数个连续完整的编码树单元(codingtree unit,CTU)行,这些分块或CTU行只包括在单个网络抽象层(network abstractionlayer,NAL)单元中。为了清楚讨论,正在编码或解码的图像可以称为当前图像。经编码图像(coded picture)是图像的经译码表示,包括在接入单元(access unit,AU)内具有NAL单元头层标识符(nuh_layer_id)的特定值的视频编码层(video coding layer,VCL)NAL单元并包括该图像的所有编码树单元(coding tree unit,CTU)。经解码图像(decoded picture)是通过将解码过程应用于经编码图像而产生的图像。
AU是一组包括在不同层中并与从解码图像缓冲区(decoded picture buffer,DPB)输出的相同时间相关联的经编码图像。NAL单元是一种语法结构,包括原始字节序列载荷(Raw Byte Sequence Payload,RBSP)形式的数据,是数据类型的指示,并根据需要穿插预防混淆字节。VCL NAL单元是经译码为包括视频数据的NAL单元,例如图像的经译码条带。非VCL NAL单元是包括非视频数据的NAL单元,例如支持对视频数据进行解码、一致性检查的性能或其它操作的语法和/或参数。NAL单元类型(nal_unit_type)是NAL单元中包括的语法元素,表示NAL单元中包括的数据类型。层是一组VCL NAL单元,它们共用由层ID和关联的非VCL NAL单元指示的指定特征(例如,公共分辨率、帧率、图像大小等)。nuh_layer_id是表示包括NAL单元的层的标识符的语法元素。输出层集(output layer set,OLS)是层的集合,其中,一个或多个层被指定为输出层。
假设参考解码(hypothetical reference decoder,HRD)是在编码器上运行的解码器模型,检查编码过程产生的码流的可变性,以验证是否符合指定约束条件。码流一致性测试是确定经编码码流是否符合通用视频编码(Versatile Video Coding,VVC)等标准的测试。HRD参数是初始化和/或定义HRD运行条件的语法元素。HRD参数可以包括在补充增强信息(supplemental enhancement information,SEI)消息中和/或视频参数集(videoparameter set,VPS)中。
SEI消息是一种具有指定语义的语法结构,该语法结构传达解码过程不需要的信息,以便确定经解码图像中的样本的值。SEI NAL单元是包括一个或多个SEI消息的NAL单元。特定的SEI NAL单元可以称为当前SEI NAL单元。可伸缩嵌套式SEI消息是包括多个SEI消息的消息,这些消息对应于一个或多个输出层集(output layer set,OLS)或一个或多个层。前缀SEI消息是应用于一个或多个后续NAL单元的SEI消息。前缀SEI NAL单元类型(PREFIX_SEI_NUT)指示对应的SEI消息是前缀SEI消息。后缀SEI消息是应用于一个或多个先前NAL单元的SEI消息。后缀SEI NAL单元类型(SUFFIX_SEI_NUT)指示对应的SEI消息是后缀SEI消息。载荷类型(payloadType)是表示SEI消息中包括的数据类型的语法元素,因此也表示SEI NAL单元中包括的SEI消息的类型。缓冲周期(buffering period,BP)SEI消息是包括用于初始化HRD以管理编码图像缓冲区(coded picture buffer,CPB)的HRD参数的一种SEI消息。图像定时(picture timing,PT)SEI消息是包括用于管理CPB和/或解码图像缓冲区(decoded picture buffer,DPB)处AU的传送信息的HRD参数的一种SEI消息。解码单元信息(decoding unit information,DUI)SEI消息包括用于管理CPB和/或DPB处DU的传送信息的HRD参数的一种SEI消息。解码图像哈希SEI消息是一种类型的SEI消息,包括从经解码图像的样本值中推导出的校验和。解码图像哈希SEI消息可以用于检测图像是否在解码器侧正确接收和解码。可伸缩嵌套式SEI消息包括一组可伸缩嵌套的SEI消息。可伸缩嵌套的SEI消息是嵌套在可伸缩嵌套式SEI消息中的SEI消息。可伸缩嵌套式层ID(layer_id[i])是可伸缩嵌套式SEI消息中的语法元素,表示可伸缩嵌套的SEI消息所应用的第i层的nuh_layer_id值。
图像参数集(picture parameter set,PPS)是一种语法结构,包括适用于完整的经编码图像的语法元素,所述完整的经编码图像由每个图像头中存在的语法元素确定。图像头是一种语法结构,包括应用于经编码图像中的所有条带的语法元素。条带头(sliceheader)是经译码条带的一部分,包括与条带中表示的所有分块或一个分块内的CTU行相关的数据元素。编码视频序列是一个或多个经编码图像的集合。解码视频序列是一个或多个经解码图像的集合。
本文中使用以下首字母缩写:接入单元(Access Unit,AU)、编码树块(CodingTree Block,CTB)、编码树单元(Coding Tree Unit,CTU)、编码单元(Coding Unit,CU)、编码层视频序列(Coded Layer Video Sequence,CLVS)、编码层视频序列开始(Coded LayerVideo Sequence Start,CLVSS)、编码视频序列(Coded Video Sequence,CVS)、编码视频序列开始(Coded Video Sequence Start,CVSS)、联合视频专家组(Joint Video ExpertsTeam,JVET)、假设参考解码(Hypothetical Reference Decoder,HRD)、运动约束分块集(Motion Constrained Tile Set,MCTS)、最大传输单元(Maximum Transfer Unit,MTU)、网络抽象层(Network Abstraction Layer,NAL)、输出层集(Output Layer Set,OLS)、图像顺序编号(Picture Order Count,POC)、随机接入点(Random Access Point,RAP)、原始字节序列载荷(Raw Byte Sequence Payload,RBSP)、序列参数集(Sequence Parameter Set,SPS)、视频参数集(Video Parameter Set,VPS)、通用视频编码(Versatile Video Coding,VVC)。
许多视频压缩技术可以用来减小视频文件的大小,同时最大限度地减少数据丢失。例如,视频压缩技术可以包括执行空间(例如,帧内)预测和/或时间(例如,帧间)预测来减少或去除视频序列中的数据冗余。对于基于块的视频译码,视频条带(slice)(例如,视频图像或视频图像的一部分)可以分割成视频块,视频块也可以称为树块、编码树块(codingtree block,CTB)、编码树单元(coding tree unit,CTU)、编码单元(coding unit,CU)和/或编码节点。一个图像的帧内译码(I)条带中的视频块使用针对同一图像内的相邻块中的参考样本的空间预测进行译码。一个图像的帧间译码单向预测(P)或双向预测(B)条带中的视频块可以采用针对同一图像内的相邻块中的参考样本的空间预测,或者采用针对其它参考图像中的参考样本的时间预测进行译码。图像(picture/image)可以称为帧(frame),参考图像可以称为参考帧。空间或时间预测会产生表示图像块的预测块。残差数据表示原始图像块和预测块之间的像素差。相应地,帧间译码块根据指向构成预测块的参考样本的块的运动矢量和表示编码块与预测块之间的差值的残差数据进行编码,帧内译码块根据帧内译码模式和残差数据进行编码。为了进一步压缩,残差数据可以从像素域变换到变换域,从而产生残差变换系数,然后可以量化残差变换系数。量化变换系数最初可以排列于二维阵列中。可以扫描量化变换系数,以产生变换系数的一维矢量。可以应用熵编码来实现更大程度的压缩。下文将更详细地讨论这些视频压缩技术。
为了保证经编码视频能够被准确解码,按照对应的视频编码标准对视频进行编码和解码。视频编码标准包括国际电信联盟标准化部门(international telecommunicationunion(ITU)standardization sector,ITU-T)H.261、国际标准化组织/国际电工委员会(international organization for standardization/internationalelectrotechnical commission,ISO/IEC)运动图像专家组(motion picture expertsgroup,MPEG)-1第2部分、ITU-T H.262或ISO/IEC MPEG-2第2部分、ITU-T H.263、ISO/IECMPEG-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)、多视点视频编码(Multiview Video Coding,MVC)和多视点视频编码加深度(Multiview Video Coding plus Depth,MVC+D)以及三维(three dimensional,3D)AVC(3D-AVC)等扩展版本。HEVC包括可分级HEVC(Scalable HEVC,SHVC)、多视图HEVC(Multiview HEVC,MV-HEVC)以及3D HEVC(3D-HEVC)等扩展版本。ITU-T和ISO/IEC的联合视频专家组(joint video experts team,JVET)已开始开发一种称为通用视频编码(Versatile Video Coding,VVC)的视频编码标准。VVC包括在工作草案(Working Draft,WD)中,该WD包括JVET-O2001-v14。
一些视频译码系统使用补充增强信息(supplemental enhancementinformation,SEI)消息。SEI消息包括解码过程不需要的信息,以便确定经解码图像中的样本的值。例如,所述SEI消息可以包括用于检查码流是否符合标准的参数。此外,视频译码系统可以将图像编码到多层和/或输出层集(output layer set,OLS)中。可伸缩嵌套式SEI消息可以用于将前缀SEI消息与所述层和/或所述OLS相关。一些视频译码系统也使用后缀SEI消息,但不可以在后缀SEI消息中使用可伸缩嵌套式SEI消息。各种类型的SEI消息可以包括为前缀SEI消息或后缀SEI消息。但是,某些类型的SEI消息(例如,解码图像哈希SEI消息)被限制用作后缀SEI消息。因此,某些SEI消息(例如,解码图像哈希SEI消息)不能在这些系统中的可伸缩嵌套式SEI消息中译码。
本文中公开了一种用于在可伸缩嵌套式SEI消息中译码某些SEI消息(例如,解码图像哈希SEI消息)的机制。具体地,后缀SEI消息可以与可伸缩嵌套式SEI消息组合使用。换句话说,NAL单元类型(nal_unit_type)等于后缀SEI NAL单元类型(SUFFIX_SEI_NUT)的SEINAL单元可以包括可伸缩嵌套式SEI消息。这样,后缀SEI消息(例如,解码图像哈希SEI消息)可以用作可伸缩嵌套式SEI消息和/或用作可伸缩嵌套式SEI消息中包括的可伸缩嵌套的SEI消息。这样使得在应用于特定层和/或OLS时可以嵌套后缀SEI消息。这样,编码器和解码器的功能增加。此外,可以提高编码效率,减少了编码器和解码器侧的处理器、存储器和/或网络信令资源的使用。
图1为对视频信号进行译码的示例性操作方法100的流程图。具体地,在编码器侧对视频信号进行编码。编码过程通过使用各种机制来压缩视频信号,从而减小视频文件。较小的文件大小有助于压缩视频文件传输给用户,同时减少相关的带宽开销。然后,解码器对压缩视频文件进行解码,以重建原始视频信号,向终端用户显示。解码过程通常与编码过程一样,有助于解码器以相同方式重建视频信号。
在步骤101中,将视频信号输入编码器。例如,视频信号可以是存储在存储器中的未压缩的视频文件。又如,视频文件可以由视频捕获设备(例如,摄像机)捕获,并且进行编码以支持视频的实时流传输。视频文件可以同时包括音频分量和视频分量。视频分量包括一系列图像帧,当按顺序观看时,这些图像帧会产生运动的视觉效果。这些帧包括以光表示的像素(本文称为亮度分量(或亮度样本))和颜色(称为色度分量(或颜色样本))。在一些示例中,所述帧还可以包括深度值以支持三维观看。
在步骤103中,将视频分割成块。分割包括将每个帧中的像素细分为正方形和/或矩形块以进行压缩。例如,在高效视频编码(high efficiency video coding,HEVC)(还称为H.265和MPEG-H第2部分)中,可以先将帧分成编码树单元(coding tree unit,CTU),这些CTU是预定义大小(例如64×64个像素)的块。CTU包括亮度样本和色度样本。可以使用编码树将CTU分成块,然后递归地细分这些块,直到获得支持进一步编码的配置结构。例如,可以细分帧的亮度分量,直到各个块包括相对均匀的亮度(lighting)值。此外,可以细分帧的色度分量,直到各个块包括相对均匀的颜色值。因此,视频帧的内容不同,分割机制就不同。
在步骤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是用于视频译码的示例性编码和解码(编解码)系统200的示意图。具体地,编解码系统200能够实现操作方法100。广义地,编解码器系统200用于描述编码器和解码器中使用的组件。如关于操作方法100中的步骤101和103所讨论,编解码系统200接收视频信号并对视频信号进行分割,产生分割后的视频信号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 square difference,SSD)或其它差度量确定。HEVC使用若干编码对象,包括CTU、编码树块(coding tree block,CTB)和CU。例如,CTU可以划分为多个CTB,然后CTB可以划分为多个CB,多个CB用于包括在CU中。CU可以编码为包括预测数据的预测单元和/或包括CU的变换残差数据的变换单元(transformunit,TU)。运动估计组件221使用率失真分析作为率失真优化过程的一部分来生成运动矢量、预测单元和TU。例如,运动估计组件221可以为当前块/帧确定多个参考块、多个运动矢量等,并且可以选择具有最佳率失真特性的参考块、运动矢量等。最佳率失真特性平衡视频重建的质量(例如,压缩造成的数据丢失量)和译码效率(例如,最终编码的大小)。
在一些示例中,编解码系统200可以计算存储在解码图像缓冲区组件223中的参考图像的子整数像素位置的值。例如,视频编解码系统200可对参考图像的四分之一像素位置、八分之一像素位置或其它分数像素位置的值进行插值。因此,运动估计组件221可执行有关于整像素位置和分数像素位置的运动搜索,并输出具有分数像素精度的运动矢量。运动估计组件221通过比较预测单元的位置与参考图像的预测块的位置来计算经帧间编码条带中视频块的预测单元的运动矢量。运动估计组件221将计算的运动矢量作为运动数据输出到标头格式化和CABAC组件231以进行编码,并将运动输出到运动补偿组件219。
由运动补偿组件219执行的运动补偿可涉及根据由运动估计组件221确定的运动矢量获取或生成预测块。同样,在一些示例中,运动估计组件221和运动补偿组件219可以在功能上集成。在接收当前视频块的预测单元的运动矢量时,运动补偿组件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 modelingmode,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对输入视频信号进行分割,产生和分割后的视频信号201基本相似的分割后的视频信号301。然后,通过编码器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基本相似。如关于环内滤波器组件225所讨论,环内滤波器组件325可以包括多个滤波器。然后,将滤波块存储在解码图像缓冲区组件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为示例性HRD 500的示意图。HRD 500可以在编码器(例如编解码器系统200和/或编码器300)中使用。HRD 500可以检查在方法100的步骤109中产生的码流,然后,将码流转发给解码器,例如解码器400。在一些示例中,当码流进行编码时,码流可以不断地通过HRD 500转发。如果码流的一部分不符合相关约束条件,则HRD 500会向编码器指示这种不符合情况,以使得编码器使用不同的机制对码流的对应部分进行重新编码。
HRD 500包括假设流调度方法(hypothetical stream scheduler,HSS)541。HSS541是用于执行假设传送机制(hypothetical delivery mechanism)的组件。假设传送机制用于检查码流或解码器的关于输入到HRD 500中的码流551的时间和数据流的一致性。例如,HSS 541可以接收从编码器输出的码流551,并管理对码流551进行的一致性测试过程。在一个特定的示例中,HSS 541可以控制经编码图像在HRD 500中移动的速率,并验证码流551不包括不符合标准的数据。
HSS 541可以按预定义的速率将码流551转发给CPB 543。HRD 500可以管理解码单元(decoding unit,DU)553中的数据。DU 553是接入单元(Access Unit,AU)或AU和关联的非视频编码层(video coding layer,VCL)网络抽象层(network abstraction layer,NAL)单元的子集。具体地,AU包括与输出时间关联的一个或多个图像。例如,AU可以包括单层码流中的单个图像,并且可以包括多层码流中每层的图像。AU中的每个图像可以被划分为条带,每个条带都包括在对应的VCL NAL单元中。因此,DU 553可以包括一个或多个图像、图像的一个或多个条带或其组合。此外,用于对AU、图像和/或条带进行解码的参数可以包括在非VCL NAL单元中。因此,DU 553包括非VCL NAL单元,这些非VCL NAL单元包括支持对DU553中的VCL NAL单元进行解码所需的数据。CPB 543是HRD 500中的先入先出缓冲区。CPB543包括DU 553,DU 553包括按解码顺序排列的视频数据。CPB 543存储这些视频数据以在码流一致性验证过程中使用。
CPB 543将DU 553转发给解码过程组件545。解码过程组件545是符合VVC标准的组件。例如,解码过程组件545可以模拟终端用户使用的解码器400。解码过程组件545按示例性终端用户解码器可以实现的速率对DU 553进行解码。如果解码过程组件545不能足够快地对DU 553进行解码以防止CPB 543溢出,则码流551不符合标准,需要重新编码。
解码过程组件545对DU 553进行解码,产生了经解码DU 555。经解码DU 555包括经解码图像。将经解码DU 555转发给DPB 547。DPB 547可以基本上类似于解码图像缓冲区组件223、323和/或423。为了支持帧间预测,将从经解码DU 555中获得的标识为用作参考图像556的图像返回给解码过程组件545,以支持进一步解码。DPB 547将经解码视频序列输出为一系列图像557。图像557是重建图像,通常是由编码器编码到码流551中的图像的镜像。
将图像557转发给输出裁剪组件549。输出裁剪组件549用于将一致性裁剪窗口(conformance cropping window)应用于图像557。这样得到裁剪后的输出图像559。裁剪后的输出图像559是完全重建的图像。因此,裁剪后的输出图像559模仿终端用户在对码流551进行解码时看到的内容。这样一来,编码器可以查看裁剪后的输出图像559,以确保编码令人满意。
根据码流551中的HRD参数初始化HRD 500。例如,HRD 500可以从VPS、SPS和/或SEI消息中读取HRD参数。然后,HRD 500可以根据这些HRD参数中的信息对码流551执行一致性测试操作。在特定示例中,HRD 500可以根据HRD参数确定一个或多个CPB传送时间表(delivery schedule)。传送时间表指定将视频数据传送到CPB和/或DPB等存储位置和/或从存储位置传送的时间。因此,CPB传送时间表指定向/从CPB 543传送AU、DU 553和/或图像的时间。需要说明的是,HRD 500可以针对DPB 547采用类似于CPB传送时间表的DPB传送时间表。
视频可以被译码到不同的层和/或OLS中,以供不同硬件能力级别的解码器使用以及在不同的网络条件下使用。选择CPB传送时间表以反映这些问题。因此,高层子码流被指定用于最佳硬件和网络条件,因此高层可以接收一个或多个CPB传送时间表,这些传送时间表使用CPB 543中的大量内存和向DPB 547传输DU 553的短延迟。同样,低层子码流被指定用于有限的解码器硬件能力和/或恶劣的网络条件。因此,低层可以接收一个或多个CPB传送时间表,这些传送时间表使用CPB 543中的少量内存和向DPB 547传输DU 553的长延迟。然后,可以根据对应的传送时间表测试OLS、层、子层或其组合,以确保在子码流预期的条件下可以正确解码得到的子码流。因此,码流551中的HRD参数可以表示CPB传送时间表,并且包括足够的数据使HRD 500可以确定CPB传送时间表并将CPB传送时间表与对应的OLS、层和/或子层相关联。
图6为示例性多层视频序列600的示意图。根据方法100等,多层视频序列600可以由编码器(例如,编解码系统200和/或编码器300)编码,并由解码器(例如,编解码系统200和/或解码器400)解码。此外,多层视频序列600可以通过HRD(例如,HRD 500)检查标准一致性。包括多层视频序列600是为了描绘编码视频序列中的层的示例性应用。多层视频序列600是使用多个层的任何视频序列,例如,层N 631和层N+1 632。
在一个示例中,多层视频序列600可以采用层间预测621。层间预测621应用于不同层中的图像611、612、613和614与图像615、616、617和618之间。在所示的示例中,图像611、612、613和614是层N+1 632的一部分,图像615、616、617和618是层N 631的一部分。层N 631和/或层N+1 632等层是一组图像,这些图像都与类似的大小、质量、分辨率、信噪比、能力等类似的特征值关联。层可以正式定义为共用相同层ID的VCL NAL单元集和关联的非VCL NAL单元。VCL NAL单元是经译码为包括视频数据的NAL单元,例如图像的经译码条带。非VCLNAL单元是包括非视频数据的NAL单元,例如支持对视频数据进行解码、一致性检查的性能或其它操作的语法和/或参数。
在所示的示例中,相比于层N 631,层N+1 632与更大的图像大小相关联。因此,在本示例中,层N+1 632中的图像611、612、613和614比层N 631中的图像615、616、617和618大(例如,高度和宽度更大,因此样本更多)。但是,这些图像可以通过其它特征划分为层N+1632和层N 631。虽然只显示了两层:层N+1 632和层N 631,但一组图像可以根据关联的特征划分为任意数量的层。层N+1 632和层N 631也可以用层ID表示。层ID是与图像关联的数据项,并表示图像是所指示层的一部分。因此,图像611至618中的每个图像可以与对应的层ID关联,以表示层N+1 632或层N 631中的哪个层包括对应的图像。例如,层ID可以包括nuh_layer_id 635,是指表示包括NAL单元(例如,包括层中图像的条带和/或参数)的层的标识符的语法元素。与较低质量/较小图像大小/较小码流大小相关联的层,例如,层N 631,通常被分配低层ID,称为低层。此外,与较高质量/较大图像大小/较大码流大小相关联的层,例如,层N+1 632,通常被分配高层ID,称为高层。
不同层631和632中的图像611至618被配置为交替显示。在特定示例中,如果需要较小的图像,则解码器可以在当前显示时间解码并显示图像615,或者如果需要较大的图像,则解码器可以在当前显示时间解码并显示图像611。因此,高层N+1 632中的图像611至614与低层N 631中的对应图像615至618包括基本上相同的图像数据(尽管图像大小不同)。具体地,图像611与图像615包括基本上相同的图像数据,图像612与图像616包括基本上相同的图像数据,以此类推。
图像611至618可以通过参考同一层N 631或N+1 632中的其它图像611至618进行译码。参考同层中的一个图像对另一个图像进行译码即为帧间预测623。帧间预测623由实线箭头表示。例如,图像613可以通过将层N+1 632中的图像611、612和/或614中的一个或两个图像作为参考的帧间预测623来译码,其中,单向帧间预测使用一个图像作为参考,和/或双向帧间预测使用两个图像作为参考。此外,图像617可以通过将层N 631中的图像615、616和/或618中的一个或两个图像作为参考的帧间预测623来译码,其中,单向帧间预测使用一个图像作为参考,和/或双向帧间预测使用两个图像作为参考。当在执行帧间预测623时将一个图像作为同一层中另一个图像的参考时,该图像可以称为参考图像。例如,图像612可以是用于根据帧间预测623对图像613进行译码的参考图像。帧间预测623也可以称为多层上下文中的层内预测。因此,帧间预测623是通过参考与当前图像不同的参考图像中的指示样本对当前图像中的样本进行译码的机制,其中,参考图像和当前图像位于同一层中。
图像611至618也可以通过参考不同层中的其它图像611至618进行译码。这个过程称为层间预测621,由虚线箭头表示。层间预测621是通过参考一个参考图像中的指示样本对当前图像中的样本进行译码的机制,其中,当前图像和参考图像位于不同的层中,因此具有不同的nuh_layer_id 635值。例如,低层N 631中的图像可以作为对高层N+1 632中的对应图像进行译码的参考图像。在一个特定示例中,图像611可以根据层间预测621通过参考图像615进行译码。在这种情况下,图像615被用作层间参考图像。层间参考图像是用于层间预测621的参考图像。在大多数情况下,对层间预测621进行了约束,使得当前图像(例如,图像611)只能使用同一AU 627中包含的且位于低层中的一个或多个层间参考图像,例如,图像615。当多层(例如,两层以上)可用时,层间预测621可以根据层级比当前图像低的多个层间参考图像对当前图像进行编码/解码。
视频编码器可以使用多层视频序列600来通过帧间预测623和层间预测621的许多不同组合和/或排列对图像611至618进行编码。例如,图像615可以根据帧内预测进行译码。然后,通过将图像615作为参考图像,图像616至618可以根据帧间预测623进行译码。此外,通过将图像615作为层间参考图像,图像611可以根据层间预测621进行译码。然后,通过将图像611作为参考图像,图像612至614可以根据帧间预测623进行译码。因此,参考图像可以作为不同译码机制的单层参考图像和层间参考图像。通过根据低层N 631图像对高层N+1632图像进行译码,高层N+1 632可以避免使用帧内预测,帧内预测的译码效率比帧间预测623和层间预测621的译码效率低得多。因此,译码效率低的帧内预测可以限于最小/最低质量的图像,因此限于对最少量的视频数据进行译码。用作参考图像和/或层间参考图像的图像可以在参考图像列表结构中包括的一个或多个参考图像列表的条目中指示。
为了执行这些操作,层N 631和层N+1 632等层可以包括在OLS 628中。OLS 628是层的集合,其中,一个或多个层被指定为输出层。输出层是指定用于输出(例如,至显示器)的层。例如,层N 631可以仅仅被包括以支持层间预测621,并且可以永远不被输出。在这种情况下,根据层N 631对层N+1 632进行解码并输出。在这种情况下,OLS 628包括层N+1 632作为输出层。在一些情况下,OLS 628仅包括被称为同播层的输出层。在其它情况下,OLS628可以包括不同组合中的许多层。例如,OLS 628中的输出层可以根据基于一个、两个或多个较低层的层间预测621进行译码。此外,OLS 628可以包括多于一个输出层。因此,OLS 628可以包括一个或多个输出层和重建输出层所需的任何支持层。多层视频序列600可以通过采用许多不同的OLS 628进行译码,每个OLS 628都采用不同的层组合。每个OLS 628都与OLS索引关联,OLS索引是唯一标识对应OLS 628的索引。
图像611至618也可以包括在接入单元(access unit,AU)627中。AU 627是一组包括在不同层中并与在解码期间的相同输出时间关联的经编码图像。因此,同一AU 627中的经编码图像被调度同时从解码器处的DPB输出。例如,图像614和618在同一AU 627中。图像613和617与图像614和618在不同的AU 627中。同一AU 627中的图像614和618可以交替显示。例如,当需要较小图像大小时,可以显示图像618,当需要较大图像大小时,可以显示图像614。当需要较大图像大小时,输出图像614,并且图像618仅用于层间预测621。在这种情况下,一旦层间预测621完成,图像618就被丢弃而不输出。
图7为示例性码流700的示意图。例如,码流700可以由编解码系统200和/或编码器300生成,以由编解码系统200和/或解码器400根据方法100进行解码。此外,码流700可以包括多层视频序列600。此外,码流700可以包括各种参数以控制HRD(例如,HRD 500)的操作。根据这些参数,HRD可以在向解码器传输码流700进行解码之前检查码流700是否符合标准。
码流700包括VPS 711、一个或多个SPS 713、多个图像参数集(picture parameterset,PPS)715、多个条带头717、图像数据720、前缀SEI消息718和后缀SEI消息719。VPS 711包括与整个码流700相关的数据。例如,VPS 711可以包括码流700中使用的数据相关的OLS、层和/或子层。SPS 713包括码流700中包括的编码视频序列中所有图像共用的序列数据。例如,每层可以包括一个或多个编码视频序列,每个编码视频序列可以参考SPS 713获取对应的参数。SPS 713中的参数可以包括图像大小、比特深度、编码工具参数、码率限制等。需要说明的是,虽然每个序列都参考SPS 713,但在一些示例中,单个SPS 713可以包括多个序列的数据。PPS 715包括应用于整个图像的参数。因此,视频序列中的每个图像可以参考PPS715。需要说明的是,虽然每个图像都参考PPS 715,但是在一些示例中,单个PPS 715可以包括多个图像的数据。例如,可以根据类似的参数对多个类似的图像进行译码。在这种情况下,单个PPS 715可以包括用于这些类似图像的数据。PPS 715可以表示可用于对应图像中的条带的编码工具、量化参数、偏移等。
条带头717包括图像中每个条带的特定参数。因此,视频序列中的每个条带可以有一个条带头717。条带头717可以包括条带类型信息、滤波信息、预测权重、分块入口点、去块效应滤波参数等。需要说明的是,在一些示例中,码流700还可以包括图像头,图像头是包括应用于单个图像中的所有条带的参数的语法结构。为此,图像头和条带头717可以在一些上下文中互换使用。例如,条带头717和图像头可以使用一些相同的参数,这取决于这些参数是否是图像中所有条带共用的。
图像数据720包括根据帧间预测和/或帧内预测编码的视频数据以及对应的变换和量化残差数据。例如,图像数据720可以包括层723、图像725和/或条带727。层723是一组VCL NAL单元745,它们共用由层ID(例如,nuh_layer_id)和关联的非VCL NAL单元741指示的指定特征(例如,公共分辨率、帧率、图像大小等)。例如,层723可以包括共用相同nuh_layer_id的一组图像725。层723可以基本上类似于层631和/或632。nuh_layer_id是表示包括至少一个NAL单元的层723的标识符的语法元素。例如,称为基本层的最低质量层723可以包括最低nuh_layer_id值,nuh_layer_id值越大,层723的质量越高。因此,低层是nuh_layer_id值较小的层723,高层是nuh_layer_id值较大的层723。
图像725是创建帧或其场的亮度样本和/或色度样本组成的阵列。例如,图像725是经编码图像,其可以被输出用于显示或用于支持对其它图像725进行译码,然后输出。图像725包括一个或多个条带727。条带727可以被定义为图像725中的整数个完整分块或图像725中(例如,一个分块内)的整数个连续完整编码树单元(coding tree unit,CTU)行,这些分块或CTU行只包括在单个NAL单元中。条带727进一步分成CTU和/或编码树块(codingtree block,CTB)。CTU是一组预定义大小的样本,可以通过编码树(coding tree)分割。CTB是CTU的子集,包括CTU的亮度分量或色度分量。根据编码树,将CTU/CTB进一步划分为编码块。然后可以根据预测机制对编码块进行编码/解码。
SEI消息是一种具有指定语义的语法结构,该语法结构传达解码过程不需要的信息,以便确定经解码图像中的样本的值。例如,SEI消息可以包括支持HRD过程的数据或与解码器侧的码流700解码不直接相关的其它支持数据。SEI消息可以配置为前缀SEI消息718或后缀SEI消息719。前缀SEI消息718是应用于一个或多个后续NAL单元的SEI消息。后缀SEI消息719是应用于一个或多个先前NAL单元的SEI消息。前缀SEI消息718可以包括指定类型的SEI消息,后缀SEI消息719可以包括其它类型的SEI消息。
前缀SEI消息718可以包括用于初始化HRD以管理CPB来测试对应OLS和/或层723的HRD参数的缓冲周期(buffering period,BP)SEI消息。前缀SEI消息718还可以包括用于管理CPB和/或DPB处的AU的传送信息以测试对应OLS和/或层723的HRD参数的图像定时(picture timing,PT)SEI消息。前缀SEI消息718还可以包括用于管理CPB和/或DPB处的解码单元(decoding unit,DU)的传送信息以测试对应OLS和/或层723的HRD参数的解码单元信息(decoding unit information,DUI)SEI消息。
后缀SEI消息719可以包括解码图像哈希SEI消息748。解码图像哈希SEI消息748是一种类型的SEI消息,包括从经解码图像的样本值中推导出的校验和。解码图像哈希SEI消息748可以由解码器用于检测图像是否已被正确接收和解码。因此,解码图像哈希SEI消息748可以用于检测与解码图像哈希SEI消息748之前的图像725相关的传输和解码错误。
一组SEI消息可以实现为可伸缩嵌套式SEI消息746。可伸缩嵌套式SEI消息746提供了一种将SEI消息与特定层723关联的机制。可伸缩嵌套式SEI消息746是包括多个可伸缩嵌套的SEI消息747的消息。可伸缩嵌套的SEI消息747是对应于一个或多个OLS或一个或多个层723的SEI消息。OLS是层723的集合,其中,层723中的至少一个是输出层。因此,可伸缩嵌套式SEI消息746可以根据上下文包括一组可伸缩嵌套的SEI消息747,或包括一组SEI消息。此外,可伸缩嵌套式SEI消息746包括一组相同类型的可伸缩嵌套的SEI消息747。
一些视频译码系统不可以在后缀SEI消息719中使用可伸缩嵌套式SEI消息746。各种类型的SEI消息可以包括为前缀SEI消息718或后缀SEI消息719。但是,某些类型的SEI消息(例如,解码图像哈希SEI消息748)被限制用作后缀SEI消息719。因此,某些SEI消息(例如,解码图像哈希SEI消息748)不能在这些系统中的可伸缩嵌套式SEI消息746中编码。
修改码流700以解决上述缺点。具体地,后缀SEI消息719被配置成包括可伸缩嵌套式SEI消息746。因此,后缀SEI消息719还可以包括对应于层743和/或OLS的可伸缩嵌套的SEI消息747。因此,某些SEI消息(例如,解码图像哈希SEI消息748)可以用作可伸缩嵌套式SEI消息746中的可伸缩嵌套的SEI消息747。
需要说明的是,码流700可以译码为NAL单元的序列。NAL单元是视频数据和/或支持语法的容器。NAL单元可以是VCL NAL单元745或非VCL NAL单元741。VCL NAL单元745是经译码以包括视频数据的NAL单元。具体地,VCL NAL单元745包括条带727和关联的条带头717。非VCL NAL单元741是包括非视频数据的NAL单元,例如支持对视频数据进行解码、一致性检查的性能或其它操作的语法和/或参数。非VCL NAL单元741可以包括VPS NAL单元、SPSNAL单元、PPS NAL单元和SEI NAL单元744,分别包括VPS 711、SPS 713、PPS 715和前缀SEI消息718或后缀SEI消息719。需要说明的是,上述NAL单元列表是示例性的,而不是详尽无遗的。每个NAL单元包括NAL单元类型(nal_unit_type)731。nal_unit_type 731是NAL单元中包括的语法元素,表示NAL单元中包括的数据类型。
SEI NAL单元744是包括SEI消息的NAL单元。SEI NAL单元744可以包括nal_unit_type 731,设置为表示SEI NAL单元744是前缀SEI NAL单元类型(PREFIX_SEI_NUT)742。SEINAL单元744还可以包括nal_unit_type 731,设置为表示SEI NAL单元744是SUFFIX_SEI_NUT 743。因此,nal_unit_type 731等于SUFFIX_SEI_NUT 743的SEI NAL单元744可以包括可伸缩嵌套式SEI消息746和/或一个或多个可伸缩嵌套的SEI 747。这样,后缀SEI消息719(例如,解码图像哈希SEI消息748)可以用作可伸缩嵌套式SEI消息746和/或用作可伸缩嵌套式SEI消息746中包括的可伸缩嵌套的SEI消息747。这样使得在应用于特定层723和/或OLS(图6中所示的OLS 628)时可以嵌套后缀SEI消息719。此外,当放置在后缀SEI消息719(例如,在SEI NAL单元744中,nal_unit_type 731设置为表示SEI NAL单元744是SUFFIX_SEI_NUT 743)中时,可以在后缀SEI消息719中使用的其它SEI消息(例如BP SEI消息、PTSEI消息和/或DUI SEI消息)也可用作可伸缩嵌套式SEI消息746和/或可伸缩嵌套的SEI消息747。这样,编码器和解码器的功能增加。此外,可以提高编码效率,减少了编码器和解码器侧的处理器、存储器和/或网络信令资源的使用。
可伸缩嵌套式SEI消息746还包括用于将可伸缩嵌套的SEI消息747与层723和/或OLS关联的语法元素。例如,可伸缩嵌套式SEI消息746可以包括载荷类型(payloadType)733和可伸缩嵌套式层标识符(layer_id[i])735。载荷类型(payloadType)是表示SEI消息中包括的数据类型的语法元素,因此也表示SEI NAL单元744中包括的SEI消息(例如,后缀SEI消息719)的类型。例如,payloadType733可以设置为表示后缀SEI消息719包括可伸缩嵌套式SEI消息746。在特定示例中,payloadType733可以设置为值133,表示后缀SEI消息719包括可伸缩嵌套式SEI消息746。换句话说,payloadType 733可以设置为值133,表示SEI NAL单元744具有SUFFIX_SEI_NUT 743的nal_unit_type 731并且包括可伸缩嵌套式SEI消息746。可伸缩嵌套式layer_id[i]735是可伸缩嵌套式SEI消息746中的语法元素,表示可伸缩嵌套的SEI消息747所应用的第i层723的nuh_layer_id值。因此,可伸缩嵌套式layer_id[i]735可以将可伸缩嵌套式SEI消息746中的每个可伸缩嵌套的SEI消息747与对应的层723关联。因此,HRD和/或解码器可以读取payloadType 733以确定可伸缩嵌套式SEI消息746存在于后缀SEI消息719中。然后,HRD和/或解码器可以根据可伸缩嵌套式layer_id[i]735中的层ID值确定可伸缩嵌套式SEI消息746中的每个可伸缩嵌套的SEI消息747的层723。
下文更详细地描述上述信息。分层视频编码也被称为可分级视频编码或具有可分级性的视频编码。视频译码的可分级性通常可以通过使用多层译码技术来支持。多层码流包括基本层(base layer,BL)和一个或多个增强层(enhancement layer,EL)。可分级性的示例包括空间可分级性、质量/信噪比(signal to noise ratio,SNR)可分级性、多视图可分级性、帧率可分级性等。当使用多层译码技术时,可以在不使用参考图像的情况下对图像或图像的一部分进行译码(帧内预测),可以通过参考同一层中的参考图像对图像或图像的一部分进行译码(帧间预测),和/或可以通过参考其它层中的参考图像对图像或图像的一部分进行译码(层间预测)。用于当前图像的层间预测的参考图像称为层间参考图像(inter-layer reference picture,ILRP)。图6示出了用于空间可分级性的多层编码的示例,其中,不同层中的图像具有不同的分辨率。
一些视频编码系列支持根据用于单层译码的一个或多个档次(profile)实现一个或多个单独档次中的可分级性。可分级视频编码(scalable video coding,SVC)是高级视频编码(advanced video coding,AVC)的可分级扩展版本,支持空间、时间和质量可分级性。对于SVC,在EL图像中的每个宏块(macroblock,MB)中指示了一个标志,以表示EL MB是否使用低层中的并置块进行预测。基于并置块的预测可以包括纹理、运动矢量和/或译码模式。SVC的实现方式不能在其设计中直接重用未经修改的AVC实现方式。SVC EL宏块语法和解码过程与AVC语法和解码过程不同。
可分级HEVC(Scalable HEVC,SHVC)是HEVC的扩展版本,支持空间、时间和质量可分级性。多视图HEVC(Multiview HEVC,MV-HEVC)是HEVC的扩展版本,支持多视图可分级性。3D HEVC(3D-HEVC)是HEVC的扩展版本,支持比MV-HEVC更高级、更高效的3D视频译码。时间可分级性可以是单层HEVC编解码器的组成部分。在HEVC的多层扩展版本中,用于层间预测的经解码图像仅来自同一AU,并被视为长期参考图像(long-term reference picture,LTRP)。这些图像分配有参考图像列表中的参考索引和当前层中的其它时间参考图像。层间预测(inter-layer prediction,ILP)是通过将参考索引的值设置为参考一个或多个参考图像列表中的一个或多个层间参考图像而在预测单元级实现的。当ILRP的空间分辨率与正在编码或解码的当前图像的空间分辨率不同时,空间可分级性对参考图像或参考图像的一部分进行重采样。参考图像重采样可以在图像级或编码块级实现。
VVC还可以支持分层视频译码。VVC码流可以包括多个层。这些层可以相互独立。例如,每个层都可以在不使用层间预测的情况下译码。在这种情况下,这些层也称为同播层。在一些情况下,一些层使用ILP进行译码。VPS中的标志可以表示这些层是否为同播层,或者一些层是否使用ILP。当一些层使用ILP时,层之间的层依赖关系也会在VPS中指示(signal)。与SHVC和MV-HEVC不同,VVC可以不表示OLS。OLS包括指定的层集,其中,层集中的一个或多个层被指定为输出层。输出层是OLS的输出层。在VVC的一些实现方式中,当层是同播层时,只能选择一层进行解码和输出。在VVC的一些实现方式中,当任何层使用ILP时,指定对包括所有层在内的整个码流进行解码。此外,层中的某些层被指定为输出层。输出层可以被指示为仅最高层、所有层或最高层加上一组指示的低层。
上述方面存在一些问题。例如,SPS、PPS和APS NAL单元的nuh_layer_id值可能没有得到适当的约束。此外,SEI NAL单元的TemporalId值可能没有得到适当的约束。此外,当启用参考图像重采样且CLVS中的图像具有不同的空间分辨率时,NoOutputOfPriorPicsFlag的设置可能无法正确指定。此外,在一些视频译码系统中,后缀SEI消息不能包括在可伸缩嵌套式SEI消息中。又如,缓冲周期、图像定时和解码单元信息SEI消息可以包括解析VPS和/或SPS的依赖关系。
一般来说,本发明描述了视频译码改进方法。技术描述参见VVC。然而,这些技术还根据其它视频编解码规范应用于分层视频译码。
上述一个或多个问题可以如下解决。SPS、PPS和APS NAL单元的nuh_layer_id值在本文中得到适当的约束。SEI NAL单元的TemporalId值在本文中得到适当的约束。当启用参考图像重采样且CLVS中的图像具有不同的空间分辨率时,NoOutputOfPriorPicsFlag的设置得到正确指定。可伸缩嵌套式SEI消息中可以包括后缀SEI消息。可以通过重复BP SEI消息语法中的语法元素decoding_unit_hrd_params_present_flag、PT SEI消息语法中的语法元素decoding_unit_hrd_params_present_flag和decoding_unit_cpb_params_in_pic_timing_sei_flag以及DUI SEI消息中的语法元素decoding_unit_cpb_params_in_pic_timing_sei_flag来删除解析BP、PT和DUI SEI消息对VPS或SPS的依赖关系。
上述机制的示例性实现方式描述如下。通用NAL单元语义举例如下:
Nuh_temporal_id_plus1–1表示NAL单元的时间标识符。nuh_temporal_id_plus1的值不应等于0。变量TemporalId推导如下:
TemporalId=nuh_temporal_id_plus1–1
当nal_unit_type在IDR_W_RADL到RSV_IRAP_13的范围内(包括端值)时,TemporalId应等于0。当nal_unit_type等于STSA_NUT时,TemporalId不应等于0。
接入单元中所有VCL NAL单元的TemporalId值必须相同。经编码图像、层接入单元或接入单元的TemporalId值可以为经编码图像、层接入单元或接入单元的VCL NAL单元的TemporalId值。子层表示的TemporalId的值可以是子层表示中所有VCL NAL单元的最大的TemporalId值。
非VCL NAL单元的TemporalId值的限制条件如下:如果nal_unit_type等于DPS_NUT、VPS_NUT或SPS_NUT,则TemporalId应等于0,且包括NAL单元的接入单元的TemporalId应等于0。否则,如果nal_unit_type等于EOS_NUT或EOB_NUT,则TemporalId应等于0。否则,如果nal_unit_type等于AUD_NUT、FD_NUT、PREFIX_SEI_NUT或SUFFIX_SEI_NUT,TemporalId应等于包括NAL单元的接入单元的TemporalId。否则,当nal_unit_type等于PPS_NUT或APS_NUT时,TemporalId应大于或等于包括NAL单元的接入单元的TemporalId。当NAL单元为非VCL NAL单元时,TemporalId值应等于该非VCL NAL单元所应用的所有接入单元的最小TemporalId值。当nal_unit_type等于PPS_NUT或APS_NUT时,TemporalId可以大于或等于包含接入单元的TemporalId。这是因为所有PPS和APS都可以包括在码流的开头。此外,第一经编码图像的TemporalId等于0。
示例性序列参数集RBSP语义如下所述。SPS RBSP在被参考之前应可用于解码过程。SPS可以包括在至少一个TemporalId等于0的接入单元中,或者通过外部机制提供。包括SPS的SPS NAL单元可以被限制为nuh_layer_id等于参考SPS的PPS NAL单元的最小nuh_layer_id值。
示例性图像参数集RBSP语义如下所述。PPS RBSP在被参考之前应可用于解码过程。PPS应包括在至少一个TemporalId小于或等于PPS NAL单元的TemporalId的接入单元中,或者通过外部机制提供。包括PPS RBSP的PPS NAL单元的nuh_layer_id应等于参考PPS的经译码条带NAL单元的最小nuh_layer_id值。
示例性自适应图像参数集语义如下所述。每个APS RBSP在被参考之前应可用于解码过程。APS还应包括在至少一个TemporalId小于或等于参考APS的经译码条带NAL单元的TemporalId的接入单元中,或者通过外部机制提供。APS NAL单元可以被多个层的图像/条带共用。包括APS NAL单元的nuh_layer_id应等于参考APS NAL单元的经译码条带NAL单元的最小nuh_layer_id值。或者,APS NAL单元可以不被多个层的图像/条带共用。APS NAL单元的nuh_layer_id应等于参考APS的条带的nuh_layer_id。
在一个示例中,在对当前图像进行解码之前从DPB中删除图像描述如下。在对当前图像进行解码之前(但在解析当前图像的第一条带的条带头之后)从DPB中删除图像可以发生在接入单元n(包括当前图像)的第一解码单元的CPB删除时间。过程如下。调用用于参考图像列表构建的解码过程,并调用用于参考图像标记的解码过程。
当所述当前图像是图像索引不是0的编码层视频序列(coded layer videosequence start,CLVSS)图像时,可以应用以下按顺序执行的步骤。为测试解码器推导变量NoOutputOfPriorPicsFlag,如下所示:如果从SPS中推导出的pic_width_max_in_luma_samples、pic_height_max_in_luma_samples、chroma_format_idc、separate_colour_plane_flag、bit_depth_luma_minus8、bit_depth_chroma_minus8或sps_max_dec_pic_buffering_minus1[Htid]的值分别与从由前一图像参考的SPS中推导出的pic_width_in_luma_samples、pic_height_in_luma_samples、chroma_format_idc、separate_colour_plane_flag、bit_depth_luma_minus8、bit_depth_chroma_minus8或sps_max_dec_pic_buffering_minus1[Htid]的值不同,则NoOutputOfPriorPicsFlag可以由测试解码器设置为1,不考虑no_output_of_prior_pics_flag的值。需要说明的是,虽然在这些条件下,可以优选将NoOutputOfPriorPicsFlag设置为no_output_of_prior_pics_flag,但是在这种情况下,测试解码器可以将NoOutputOfPriorPicsFlag设置为1。否则,NoOutputOfPriorPicsFlag可以被设置为no_output_of_prior_pics_flag。
为测试解码器推导出的NoOutputOfPriorPicsFlag的值应用于HRD,使得当NoOutputOfPriorPicsFlag的值等于1时,在不输出缓冲区中所包含的图像的情况下,DPB中的所有图像存储缓冲区都被清空,并且DPB满度(fullness)被设置为0。当以下两个条件对于DPB中的任何图像k都为真时,DPB中的所有此类图像k都将从DPB中删除。图像k被标记为不用于参考,图像k的PictureOutputFlag等于0或对应的DPB输出时间小于或等于当前图像n的第一解码单元(记为解码单元m)的CPB删除时间。当DpbOutputTime[k]小于或等于DuCpbRemovalTime[m]时,可能会发生这种情况。对于从DPB中删除的每一个图像,DPB满度减1。
在一个示例中,从DPB中输出和删除图像的示例如下所述。在对当前图像进行解码之前(但在解析当前图像的第一条带的条带头之后)从DPB中输出和删除图像可以发生在包括当前图像的接入单元的第一解码单元从CPB中删除的时候,并且如下进行。调用用于参考图像列表构建的解码过程,并调用用于参考图像标记的解码过程。
如果当前图像是图像索引不是0的CLVSS图像,则应用以下按顺序执行的步骤。变量NoOutputOfPriorPicsFlag可以如下所述为测试解码器推导出。如果从SPS中推导出的pic_width_max_in_luma_samples、pic_height_max_in_luma_samples、chroma_format_idc、separate_colour_plane_flag、bit_depth_luma_minus8、bit_depth_chroma_minus8或sps_max_dec_pic_buffering_minus1[Htid]的值分别与从由前一图像参考的SPS中推导出的pic_width_in_luma_samples、pic_height_in_luma_samples、chroma_format_idc、separate_colour_plane_flag、bit_depth_luma_minus8、bit_depth_chroma_minus8或sps_max_dec_pic_buffering_minus1[Htid]的值不同,则NoOutputOfPriorPicsFlag可以由测试解码器设置为1,不考虑no_output_of_prior_pics_flag的值。需要说明的是,虽然在这些条件下,优选将NoOutputOfPriorPicsFlag设置为no_output_of_prior_pics_flag,但是在这种情况下,测试解码器可以将NoOutputOfPriorPicsFlag设置为1。否则,NoOutputOfPriorPicsFlag可以被设置为no_output_of_prior_pics_flag。
为测试解码器推导出的NoOutputOfPriorPicsFlag的值可以如下所述应用于HRD。如果NoOutputOfPriorPicsFlag等于1,则在不输出所包含的图像的情况下,DPB中的所有图像存储缓冲区都被清空,并且DPB满度被设置为0。否则(NoOutputOfPriorPicsFlag等于0),包括标记为不需要输出且不用于参考的图像的所有图像存储缓冲区被清空(不输出),DPB中的所有非空图像存储缓冲区通过反复调用碰撞(bumping)过程来清空,而且DPB满度被设置为0。
否则(当前图像不是CLVSS图像),所有包括被标记为不需要输出且不用于参考的图像的图像存储缓冲区都将清空(不输出)。对于每个空图像存储缓冲区,DPB满度减1。当以下一个或多个条件为真时,重复调用碰撞过程,同时对每个空的额外图像存储缓冲区进一步将DPB满量减1,直到以下条件都不为真。条件是DPB中标记为需要输出的图像的数量大于sps_max_num_reorder_pics[Htid]。另一个条件是sps_max_latency_increase_plus1[Htid]不等于0,并且DPB中至少有一个图像被标记为需要输出,其关联变量PicLatencyCount大于或等于SpsMaxLatencyPictures[Htid]。另一个条件是DPB中的图像数量大于或等于SubDpbSize[Htid]。
示例性通用SEI消息语法如下所示。
示例性可伸缩嵌套式SEI消息语法如下所示。
示例性可伸缩嵌套式SEI消息语义如下所示。可伸缩嵌套式SEI消息提供了一种机制,将SEI消息与特定OLS上下文中的特定层或与不在OLS上下文中的特定层相关联。可伸缩嵌套式SEI消息包括一个或多个SEI消息。可伸缩嵌套式SEI消息中包括的SEI消息也称为可伸缩嵌套的SEI消息。当SEI消息包括在可伸缩嵌套式SEI消息中时,码流一致性可能要求应用以下限制。
payloadType等于132(解码图像哈希)或133(可伸缩嵌套式)的SEI消息不应包括在可伸缩嵌套式SEI消息中。当可伸缩嵌套式SEI消息包括缓冲周期、图像定时或解码单元信息SEI消息时,可伸缩嵌套式SEI消息不应包括任何其它payloadType不等于0(缓冲周期)、1(图像定时)或130(解码单元信息)的SEI消息。
码流一致性还可以要求以下限制应用于包括可伸缩嵌套的SEI消息的SEI NAL单元的nal_unit_type值。当可伸缩嵌套式SEI消息包括的SEI消息的payloadType等于0(缓冲周期)、1(图像定时)、130(解码单元信息)、145(依赖RAP指示)或168(帧字段信息)时,包括可伸缩嵌套式SEI消息的SEI NAL单元的nal_unit_type应设置为PREFIX_SEI_NUT。当可伸缩嵌套式SEI消息包括的SEI消息的payloadType等于132(解码图像哈希)时,包括可伸缩嵌套式SEI消息的SEI NAL单元的nal_unit_type应设置为SUFFIX_SEI_NUT。
nesting_ols_flag可以设置为1,表示可伸缩嵌套的SEI消息应用于特定OLS上下文中的特定层。nesting_ols_flag可以设置为0,表示可伸缩嵌套的SEI消息通常应用于特定层(例如,不在OLS的上下文中)。
码流一致性可以要求对nesting_ols_flag的值应用以下限制。当可伸缩嵌套式SEI消息包括的SEI消息的payloadType等于0(缓冲周期)、1(图像定时)或130(解码单元信息)时,nesting_ols_flag的值应等于1。当可伸缩嵌套式SEI消息包括的SEI消息的payloadType等于VclAssociatedSeiList中的值时,nesting_ols_flag的值应等于0。
nesting_num_olss_minus1+1表示应用可伸缩嵌套的SEI消息的OLS数量。nesting_num_olss_minus1的取值范围可以为0到TotalNumOlss–1(包括端值)。nesting_ols_idx_delta_minus1[i]用于推导变量NestingOlsIdx[i],该变量表示可伸缩嵌套的SEI消息在nesting_ols_flag等于1时应用于的第i个OLS的OLS索引。nesting_ols_idx_delta_minus1[i]的取值范围应该为0到TotalNumOlss–2(包括端值)。变量NestingOlsIdx[i]可以推导如下:
nesting_num_ols_layers_minus1[i]+1表示可伸缩嵌套的SEI消息在第NestingOlsIdx[i]个OLS上下文中应用的层数。nesting_num_ols_layers_minus1[i]的取值范围应该为0到NumLayersInOls[NestingOlsIdx[i]]–1(包括端值)。
nesting_ols_layer_idx_delta_minus1[i][j]用于推导变量NestingOlsLayerIdx[i][j],该变量表示可伸缩嵌套的SEI消息在nesting_ols_flag等于1时应用于第NestingOlsIdx[i]个OLS的上下文的第j个层的OLS层索引。nesting_ols_layer_idx_delta_minus1[i]的取值范围应该为0到NumLayersInOls[nestingOlsIdx[i]]–2(包括端值)。
变量NestingOlsLayerIdx[i][j]可以推导如下:
0到nesting_num_olss_minus1(包括端值)范围内的i的所有LayerIdInOls[NestingOlsIdx[i]][NestingOlsLayerIdx[i][0]]值中的最小值应等于当前SEI NAL单元(例如,包括可伸缩嵌套式SEI消息的SEI NAL单元)的nuh_layer_id。nesting_all_layers_flag可以设置为1,表示可伸缩嵌套的SEI消息通常应用于nuh_layer_id大于或等于当前SEI NAL单元的nuh_layer_id的所有层。nesting_all_layers_flag可以设置为0,表示可伸缩嵌套的SEI消息可以或通常不可以应用于nuh_layer_id大于或等于当前SEI NAL单元的nuh_layer_id的所有层。
nesting_num_layers_minus1+1表示可伸缩嵌套的SEI消息通常应用于的层数。nesting_num_layers_minus1的取值范围应为0到vps_max_layers_minus1–GeneralLayerIdx[nuh_layer_id](包括端值),其中,nuh_layer_id为当前SEI NAL单元的nuh_layer_id。nesting_layer_id[i]表示nesting_all_layers_flag等于0时可伸缩嵌套的SEI消息通常应用于的第i层的nuh_layer_id值。nesting_layer_id[i]的值应大于nuh_layer_id,其中,nuh_layer_id是当前SEI NAL单元的nuh_layer_id。
当nesting_ols_flag等于1时,变量NestingNumLayers表示可伸缩嵌套的SEI消息通常应用于的层数,以及取值范围为0到NestingNumLayers–1(包括端值)的i的列表NestingLayerId[i]表示可伸缩嵌套的SEI消息通常应用于的层的nuh_layer_id值列表,这些变量推导如下,其中,nuh_layer_id为当前SEI NAL单元的nuh_layer_id:
nesting_num_seis_minus1+1表示可伸缩嵌套的SEI消息的数量。nesting_num_seis_minus1的取值范围应该为0到63(包括端值)。nesting_zero_bit应设置为0。
图8为示例性视频译码设备800的示意图。如本文所述,视频译码设备800适合于实现所公开的示例/实施例。视频译码设备800包括下行端口820、上行端口850和/或收发单元(Tx/Rx)810。收发单元810包括发送器和/或接收器,用于通过网络在上行和/或下行进行数据通信。视频译码设备800还包括:处理器830,包括用于处理数据的逻辑单元和/或中央处理单元(central processing unit,CPU);和用于存储数据的存储器832。视频译码设备800还可以包括与上行端口850和/或下行端口820耦合的电组件、光电(optical-to-electrical,OE)组件、电光(electrical-to-optical,EO)组件,和/或无线通信组件,用于通过电通信网络、光通信网络或无线通信网络进行数据通信。视频译码设备800还可以包括用于与用户传送数据的输入和/或输出(I/O)设备860。I/O设备860可以包括输出设备,例如显示视频数据的显示器、输出音频数据的扬声器等。I/O设备860还可以包括键盘、鼠标、轨迹球等输入设备和/或与上述输出设备进行交互的对应接口。
处理器830通过硬件和软件实现。处理器830可以实现为一个或多个CPU芯片、一个或多个核(例如,作为多核处理器)、一个或多个现场可编程门阵列(field-programmablegate array,FPGA)、一个或多个专用集成电路(application specific integratedcircuit,ASIC)以及一个或多个数字信号处理器(digital signal processor,DSP)。处理器830与下行端口820、Tx/Rx 810、上行端口850和存储器832通信。处理器830包括译码模块814。译码模块814实现本文描述的公开实施例,例如方法100、方法900和/或方法1000,它们可以采用多层视频序列600和/或码流700。译码模块814还可以实现本文所描述的任何其它方法/机制。此外,译码模块814可以实现编解码系统200、编码器300、解码400和/或HRD500。例如,译码模块814可以使用信号和/或读取本文所述的各种参数。此外,译码模块可以用于根据这些参数对视频序列进行编码和/或解码。因此,本文描述的信令变化可以提高译码模块814中的效率和/或避免错误。因此,译码模块814可以用于执行解决上述一个或多个问题的机制。因此,译码模块814使视频译码设备800在译码视频数据时具备其它功能和/或更高的译码效率。因此,译码模块814改进了视频译码设备800的功能,并解决了视频译码领域特有的问题。此外,译码模块814可以将视频译码设备800变换到不同的状态。或者,译码模块814可以实现为存储在存储器832中并由处理器830执行的指令(例如,存储在非瞬时性介质上的计算机程序产品)。
存储器832包括一个或多个存储器类型,如磁盘、磁带机、固态驱动器、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、闪存、三态内容寻址存储器(ternary content-addressable memory,TCAM)、静态随机存取存储器(staticrandom-access memory,SRAM)等。存储器832可以用作溢出数据存储设备,以在选择程序用于执行时存储此类程序,并存储程序执行期间读取的指令和数据。
图9为通过使用可以包括可伸缩嵌套式SEI消息的后缀SEI消息将视频序列编码到码流(例如,码流700)中的示例性方法900的流程图。方法900可以由编解码系统200、编码器300和/或视频译码设备800等编码器在执行方法100时执行。此外,方法900可以在HRD 500上操作,因此可以对多层视频序列600执行一致性测试。
方法900可以开始于:编码器接收包括视频序列,并根据用户输入等确定将所述视频序列编码到多层码流中。在步骤901中,编码器将一个或多个VCL NAL单元中的一个或多个经编码图像编码到码流中。例如,经编码图像可以包括在层中的AU中。此外,编码器可以将包括经编码图像的一个或多个层编码到多层码流中。层可以包括具有相同层ID的VCLNAL单元集和关联的非VCL NAL单元。例如,当VCL NAL单元集都具有特定nuh_layer_id值时,VCL NAL单元集是层的一部分。层可以包括VCL NAL单元集,这些VCL NAL单元包括经编码图像的视频数据以及用于对这些图像进行译码的任何参数集。层可以包括在一个或多个OLS中。一个或多个层可以是输出层(例如,每个OLS包括至少一个输出层)。非输出层的层被编码以支持重建输出层,但这些支持层并不打算在解码器上输出。这样,编码器可以编码层的各种组合,以便根据请求传输到解码器。该层可以根据需要传输,以允许解码器根据网络条件、硬件能力和/或用户设置获得视频序列的不同表示。
在步骤903中,编码器可以将一个或多个非VCL NAL单元编码到码流中。例如,层和/或层集还包括各种非VCL NAL单元。非VCL NAL单元与都具有特定nuh_layer_id值的VCLNAL单元集关联。具体地,编码器可以编码nal_unit_type等于SUFFIX_SEI_NUT的SEI NAL单元,其中,所述SEI NAL单元包括可伸缩嵌套式SEI消息。换句话说,编码器可以将可伸缩嵌套式SEI消息编码到后缀SEI消息中。可伸缩嵌套式SEI消息包括一个或多个可伸缩嵌套的SEI消息。可伸缩嵌套的SEI消息可以是可以包括在后缀SEI消息中的任何类型的SEI消息。例如,可伸缩嵌套的SEI消息可以包括解码图像哈希SEI消息(或BP SEI消息、PT SEI消息和/或DUI SEI消息等)。因此,可伸缩嵌套式SEI消息根据示例将后缀SEI消息与特定OLS和/或特定层关联。需要说明的是,(后缀SEI消息中的)可伸缩嵌套式SEI消息可以包括可伸缩嵌套式layer_id[i],所述layer_id[i]表示可伸缩嵌套的SEI消息所应用的第i层的nuh_layer_id的值。因此,可伸缩嵌套式layer_id[i]可以将可伸缩嵌套式SEI消息中的可伸缩嵌套的SEI消息与层关联。在一些示例中,后缀SEI消息中的可伸缩嵌套式SEI消息可以包括设置为133的payloadType。payloadType是表示SEI消息中包括的数据类型的语法元素,因此也表示SEI NAL单元中包括的SEI消息的类型。因此,payloadType可以表示后缀SEI消息包括可伸缩嵌套式SEI消息和/或一个或多个可伸缩嵌套的SEI消息。因此,可伸缩嵌套式SEI消息和/或一个或多个可伸缩嵌套的SEI消息被编码以应用于可伸缩嵌套式SEI消息和/或可伸缩嵌套的SEI消息之前的NAL单元,例如,VCL NAL单元。
在步骤905中,编码器可以使用HRD根据可伸缩嵌套式SEI消息,对码流执行一组码流一致性测试。一组码流一致性测试可以包括一个或多个测试。例如,HRD可以使用nal_unit_type确定后缀SEI消息包括可伸缩嵌套式SEI消息和/或一个或多个可伸缩嵌套的SEI消息。此外,HRD可以使用可伸缩嵌套式layer_id[i]和/或nuh_layer_id值将后缀SEI消息中的可伸缩嵌套的SEI消息与经编码图像、层和/或OLS相关。因此,HRD可以使用SEI消息的参数,从紧位于后缀SEI消息之前的VCL NAL单元开始,对经编码图像、层和/或OLS执行一个或多个一致性测试。在步骤907中,编码器还可以存储码流,以将所述码流发送到解码器。编码器还可以根据需要向解码器发送码流。
图10为通过使用可以包括可伸缩嵌套式SEI消息的后缀SEI消息从码流(例如,码流700)中解码视频序列的示例性方法1000的流程图。方法1000可以由编解码系统200、解码器400和/或视频译码设备800等解码器在执行方法100时执行。此外,方法1000可以用于已经由HRD(例如HRD 500)检查一致性的多层视频序列600上。
解码器开始接收表示多层视频序列的经译码数据的码流,例如作为方法900的结果或响应于解码器的请求时,开始执行方法1000。在步骤1001中,解码器接收包括一个或多个VCL NAL单元中的经编码图像的码流。此外,码流可以包括一个或多个层,所述一个或多个层包括经编码图像。层可以包括具有相同层ID的VCL NAL单元集和关联的非VCL NAL单元。例如,当VCL NAL单元集都具有特定nuh_layer_id值时,VCL NAL单元集是层的一部分。层可以包括VCL NAL单元集,这些VCL NAL单元包括经编码图像的视频数据,以及用于对这些图像进行译码的任何参数集。一个或多个层可以是输出层。非输出层的层被编码以支持重建输出层,但这些支持层并不打算输出。这样,解码器可以根据网络条件、硬件能力和/或用户设置获得视频序列的不同表示。层还包括各种非VCL NAL单元。非VCL NAL单元与都具有特定nuh_layer_id值的VCL NAL单元集关联。
具体地,码流可以包括nal_unit_type等于SUFFIX_SEI_NUT的SEI NAL单元,表示SEI NAL单元包括后缀SEI消息。此外,SEI NAL单元可以包括可伸缩嵌套式SEI消息。换句话说,后缀SEI消息包括可伸缩嵌套式SEI消息。可伸缩嵌套式SEI消息包括一个或多个可伸缩嵌套的SEI消息。可伸缩嵌套的SEI消息可以是可以包括在后缀SEI消息中的任何类型的SEI消息。例如,可伸缩嵌套的SEI消息可以包括解码图像哈希SEI消息(或BP SEI消息、PT SEI消息和/或DUI SEI消息等)。因此,可伸缩嵌套式SEI消息根据示例将后缀SEI消息与特定OLS和/或特定层关联。需要说明的是,(后缀SEI消息中的)可伸缩嵌套式SEI消息可以包括可伸缩嵌套式layer_id[i],所述layer_id[i]表示可伸缩嵌套的SEI消息所应用的第i层的nuh_layer_id的值。因此,可伸缩嵌套式layer_id[i]可以将可伸缩嵌套式SEI消息中的可伸缩嵌套的SEI消息与层关联。在一些示例中,后缀SEI消息中的可伸缩嵌套式SEI消息可以包括设置为133的payloadType。payloadType是表示SEI消息中包括的数据类型的语法元素,因此也表示SEI NAL单元中包括的SEI消息的类型。因此,payloadType可以表示后缀SEI消息包括可伸缩嵌套式SEI消息和/或一个或多个可伸缩嵌套的SEI消息。因此,可伸缩嵌套式SEI消息和/或一个或多个可伸缩嵌套的SEI消息被接收以应用于可伸缩嵌套式SEI消息和/或可伸缩嵌套的SEI消息之前的NAL单元,例如,VCL NAL单元。
在步骤1003中,解码器可以从VCL NAL单元中解码经编码图像,以产生经解码图像。例如,解码器可以使用nal_unit_type确定后缀SEI消息包括可伸缩嵌套式SEI消息和/或一个或多个可伸缩嵌套的SEI消息。此外,解码器可以使用可伸缩嵌套式layer_id[i]和/或nuh_layer_id值将后缀SEI消息中的可伸缩嵌套的SEI消息与经编码图像、层和/或OLS相关。然后,当对经编码图像进行解码时,解码器可以根据需要使用后缀SEI消息中的可伸缩嵌套式SEI消息和/或可伸缩嵌套的SEI消息。例如,解码器可以使用解码图像哈希SEI消息来确认一个或多个层中的一个或多个图像(例如,包括经编码图像)已经被正确接收和解码,没有产生错误。在步骤1005中,解码器可以转发经解码图像以作为经解码视频序列的一部分进行显示。
图11为通过使用包括可伸缩嵌套式SEI消息的后缀SEI消息使用码流对视频序列进行译码的示例性系统1100的示意图。系统1100可以由编解码系统200、编码器300、解码器400和/或视频译码设备800等编码器和解码器实现。此外,系统1100可以采用HRD 500对多层视频序列600和/或码流700执行一致性测试。此外,系统1100可以用于实现方法100、方法900和/或方法1000。
系统1100包括视频编码器1102。视频编码器1102包括编码模块1103,用于将一个或多个经编码图像编码到码流中。编码模块1103还用于将nal_unit_type等于SUFFIX_SEI_NUT的SEI NAL单元编码到码流中,所述SEI NAL单元包括可伸缩嵌套式SEI消息。视频编码器1102还包括HRD模块1105,用于根据可伸缩嵌套式SEI消息对码流执行一组码流一致性测试。视频编码器1102还包括存储模块1106,用于存储码流,以将所述码流发送到解码器。视频编码器1102还包括发送模块1107,用于将码流发送到视频解码器1110。视频编码器1102还可以用于执行方法900的任一步骤。
系统1100还包括视频解码器1110。视频解码器1110包括接收模块1111,用于接收包括一个或多个经编码图像和SEI NAL单元的码流,其中,所述SEI NAL单元的nal_unit_type等于SUFFIX_SEI_NUT,所述SEI NAL单元包括可伸缩嵌套式SEI消息。视频解码器1110还包括:解码模块1113,用于对经编码图像进行解码,生成经解码图像。视频解码器1110还包括转发模块1115,用于转发经解码图像,以显示为经解码视频序列的一部分。视频解码器1110还可以用于执行方法1000的任一步骤。
当第一组件和第二组件之间除了线、迹或其它介质之外没有其它中间组件时,第一组件直接与第二组件耦合。当第一组件和第二组件之间存在线、迹或其它介质之外的其它中间组件时,第一组件间接与第二组件耦合。术语“耦合”及其变体包括直接耦合和间接耦合。除非另有说明否则使用术语“约”是指以下描述的数字的±10%。
还应当理解,本文中阐述的示例性方法的步骤不一定需要按照所描述的顺序执行,并且这些方法的步骤的顺序应当理解为仅仅是示例性的。同样地,在与本发明各种实施例相一致的方法中,这些方法可以包括其它步骤,并且某些步骤可以省略或合并。
虽然本发明提供多个具体实施例,但应当理解,所公开的系统和方法也可通过其它多种具体形式体现,而不会脱离本发明的精神或范围。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或组件可以在另一系统中组合或集成,或者某些特征可以省略或不实现。
此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、组件、技术或方法进行组合或集成。其它改变、替换、更替示例对本领域技术人员而言是显而易见的,均不脱离本文所公开的精神和范围。

Claims (20)

1.一种由解码器实现的方法,其特征在于,所述方法包括:
所述解码器的接收器接收包括经编码图像和补充增强信息SEI网络抽象层NAL单元的码流,其中,所述SEI NAL单元的NAL单元类型(nal_unit_type)等于后缀SEI NAL单元类型(SUFFIX_SEI_NUT),所述SEINAL单元包括可伸缩嵌套式SEI消息;
所述解码器的处理器对所述经编码图像进行解码,以产生经解码图像。
2.根据权利要求1所述的方法,其特征在于,所述可伸缩嵌套式SEI消息包括一个或多个可伸缩嵌套的SEI消息。
3.根据权利要求2所述的方法,其特征在于,所述一个或多个可伸缩嵌套的SEI消息包括解码图像哈希SEI消息。
4.根据权利要求1至2中任一项所述的方法,其特征在于,所述可伸缩嵌套式SEI消息将SEI消息与特定输出层集OLS关联。
5.根据权利要求1至2中任一项所述的方法,其特征在于,所述可伸缩嵌套式SEI消息将SEI消息与特定层关联。
6.根据权利要求1至2中任一项所述的方法,其特征在于,所述可伸缩嵌套式SEI消息包括设置为133的载荷类型(payloadType)。
7.根据权利要求1至2中任一项所述的方法,其特征在于,所述可伸缩嵌套式SEI消息包括可伸缩嵌套式层标识符(layer_id[i]),所述layer_id[i]表示所述可伸缩嵌套的SEI消息所应用的第i层的NAL单元头层标识符(nuh_layer_id)值。
8.一种由编码器实现的方法,其特征在于,所述方法包括:
所述编码器的处理器将一个或多个经编码图像编码到码流中;
所述处理器将补充增强信息SEI网络抽象层NAL单元编码到所述码流中,其中,所述SEINAL单元的NAL单元类型(nal_unit_type)等于后缀SEI NAL单元类型(SUFFIX_SEI_NUT),所述SEINAL单元包括可伸缩嵌套式SEI消息;
所述处理器根据所述可伸缩嵌套式SEI消息,对所述码流执行一组码流一致性测试;
与所述处理器耦合的存储器存储所述码流,以将所述码流发送到解码器。
9.根据权利要求8所述的方法,其特征在于,所述可伸缩嵌套式SEI消息包括一个或多个可伸缩嵌套的SEI消息。
10.根据权利要求9所述的方法,其特征在于,所述一个或多个可伸缩嵌套的SEI消息包括解码图像哈希SEI消息。
11.根据权利要求8至9中任一项所述的方法,其特征在于,所述可伸缩嵌套式SEI消息将SEI消息与特定输出层集OLS关联。
12.根据权利要求8至9中任一项所述的方法,其特征在于,所述可伸缩嵌套式SEI消息将SEI消息与特定层关联。
13.根据权利要求8至9中任一项所述的方法,其特征在于,所述可伸缩嵌套式SEI消息包括设置为133的载荷类型(payloadType)。
14.根据权利要求8至9中任一项所述的方法,其特征在于,所述可伸缩嵌套式SEI消息包括可伸缩嵌套式层标识符(layer_id[i]),所述layer_id[i]表示所述可伸缩嵌套的SEI消息所应用的第i层的NAL单元头层标识符(nuh_layer_id)值。
15.一种视频译码设备,其特征在于,包括:
处理器、与所述处理器耦合的接收器、与所述处理器耦合的存储器和与所述处理器耦合的发送器,其中,所述处理器、所述接收器、所述存储器和所述发送器用于执行根据权利要求1至14中任一项所述的方法。
16.一种非瞬时性计算机可读介质,其特征在于,包括供视频译码设备使用的计算机程序产品,其中,所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令,当处理器执行所述计算机可执行指令时,使得所述视频译码设备执行根据权利要求1至14中任一项所述的方法。
17.一种解码器,其特征在于,包括:
接收模块,用于接收包括经编码图像和补充增强信息SEI网络抽象层NAL单元的码流,其中,所述SEI NAL单元的NAL单元类型(nal_unit_type)等于后缀SEI NAL单元类型(SUFFIX_SEI_NUT),所述SEINAL单元包括可伸缩嵌套式SEI消息;
解码模块,用于对所述经编码图像进行解码,以产生经解码图像;
转发模块,用于转发所述经解码图像,以将所述经解码图像显示为经解码视频序列的一部分。
18.根据权利要求17所述的解码器,其特征在于,所述可伸缩嵌套式SEI消息包括一个或多个可伸缩嵌套的SEI消息。
19.一种编码器,其特征在于,包括:
编码模块,用于:
将一个或多个经编码图像编码到码流中;
将补充增强信息SEI网络抽象层NAL单元编码到所述码流中,其中,所述SEINAL单元的NAL单元类型(nal_unit_type)等于后缀SEI NAL单元类型(SUFFIX_SEI_NUT),所述SEINAL单元包括可伸缩嵌套式SEI消息;
假设参考解码HRD模块,用于根据所述可伸缩嵌套式SEI消息,对所述码流执行一组码流一致性测试;
存储模块,用于存储所述码流,以将所述码流发送到解码器。
20.根据权利要求19所述的编码器,其特征在于,所述可伸缩嵌套式SEI消息包括一个或多个可伸缩嵌套的SEI消息。
CN202210411182.6A 2019-09-24 2020-09-17 后缀sei消息的可伸缩嵌套的方法、设备、介质、解码器和编码器 Active CN114845112B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210411182.6A CN114845112B (zh) 2019-09-24 2020-09-17 后缀sei消息的可伸缩嵌套的方法、设备、介质、解码器和编码器

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962905236P 2019-09-24 2019-09-24
US62/905,236 2019-09-24
CN202210411182.6A CN114845112B (zh) 2019-09-24 2020-09-17 后缀sei消息的可伸缩嵌套的方法、设备、介质、解码器和编码器
CN202080066880.6A CN114424559A (zh) 2019-09-24 2020-09-17 后缀sei消息的可伸缩嵌套
PCT/US2020/051315 WO2021061495A1 (en) 2019-09-24 2020-09-17 Scalable nesting for suffix sei messages

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202080066880.6A Division CN114424559A (zh) 2019-09-24 2020-09-17 后缀sei消息的可伸缩嵌套

Publications (2)

Publication Number Publication Date
CN114845112A CN114845112A (zh) 2022-08-02
CN114845112B true CN114845112B (zh) 2023-04-04

Family

ID=75166352

Family Applications (11)

Application Number Title Priority Date Filing Date
CN202210411182.6A Active CN114845112B (zh) 2019-09-24 2020-09-17 后缀sei消息的可伸缩嵌套的方法、设备、介质、解码器和编码器
CN202210439711.3A Active CN115002467B (zh) 2019-09-24 2020-09-17 用于分辨率改变的解码图像缓冲区操作的方法和设备
CN202210439325.4A Active CN114979663B (zh) 2019-09-24 2020-09-17 解码器、编码器及其实现的方法
CN202080066831.2A Pending CN114514703A (zh) 2019-09-24 2020-09-17 基于层的参数集nal单元约束条件
CN202210439500.XA Active CN114968894B (zh) 2019-09-24 2020-09-17 Sei消息的时间标识符约束条件
CN202080066983.2A Pending CN114467262A (zh) 2019-09-24 2020-09-17 视频译码中的sei消息依赖简化
CN202080066863.2A Pending CN114450962A (zh) 2019-09-24 2020-09-17 用于分辨率改变的解码图像缓冲区操作
CN202080066880.6A Pending CN114424559A (zh) 2019-09-24 2020-09-17 后缀sei消息的可伸缩嵌套
CN202210454061.XA Active CN114978232B (zh) 2019-09-24 2020-09-17 视频译码中的sei消息依赖简化
CN202310750312.3A Pending CN116744002A (zh) 2019-09-24 2020-09-17 视频译码中的sei消息依赖简化
CN202080066835.0A Pending CN114450675A (zh) 2019-09-24 2020-09-17 Sei消息的时间标识符约束条件

Family Applications After (10)

Application Number Title Priority Date Filing Date
CN202210439711.3A Active CN115002467B (zh) 2019-09-24 2020-09-17 用于分辨率改变的解码图像缓冲区操作的方法和设备
CN202210439325.4A Active CN114979663B (zh) 2019-09-24 2020-09-17 解码器、编码器及其实现的方法
CN202080066831.2A Pending CN114514703A (zh) 2019-09-24 2020-09-17 基于层的参数集nal单元约束条件
CN202210439500.XA Active CN114968894B (zh) 2019-09-24 2020-09-17 Sei消息的时间标识符约束条件
CN202080066983.2A Pending CN114467262A (zh) 2019-09-24 2020-09-17 视频译码中的sei消息依赖简化
CN202080066863.2A Pending CN114450962A (zh) 2019-09-24 2020-09-17 用于分辨率改变的解码图像缓冲区操作
CN202080066880.6A Pending CN114424559A (zh) 2019-09-24 2020-09-17 后缀sei消息的可伸缩嵌套
CN202210454061.XA Active CN114978232B (zh) 2019-09-24 2020-09-17 视频译码中的sei消息依赖简化
CN202310750312.3A Pending CN116744002A (zh) 2019-09-24 2020-09-17 视频译码中的sei消息依赖简化
CN202080066835.0A Pending CN114450675A (zh) 2019-09-24 2020-09-17 Sei消息的时间标识符约束条件

Country Status (11)

Country Link
US (6) US11800130B2 (zh)
EP (5) EP4022777A4 (zh)
JP (7) JP2022548330A (zh)
KR (5) KR20220065051A (zh)
CN (11) CN114845112B (zh)
AU (5) AU2020354926A1 (zh)
BR (6) BR112022005394A2 (zh)
CA (2) CA3152357A1 (zh)
CL (2) CL2022000702A1 (zh)
MX (2) MX2022003547A (zh)
WO (5) WO2021061496A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4014492A4 (en) 2019-09-14 2023-01-11 ByteDance Inc. QUANTIZATION PARAMETER OFFSET FOR CHROMA UNLOCK FILTERING
WO2021061496A1 (en) * 2019-09-24 2021-04-01 Futurewei Technologies, Inc. Sei message dependency simplification in video coding
WO2021072177A1 (en) * 2019-10-09 2021-04-15 Bytedance Inc. Cross-component adaptive loop filtering in video coding
CN114556916B (zh) * 2019-10-12 2023-11-17 北京字节跳动网络技术有限公司 视频编解码工具的高级语法
KR20220073746A (ko) 2019-10-14 2022-06-03 바이트댄스 아이엔씨 비디오 처리에서 크로마 양자화 파라미터 사용
KR20220106116A (ko) 2019-12-09 2022-07-28 바이트댄스 아이엔씨 비디오 코딩에서 양자화 그룹 사용
WO2021133721A1 (en) 2019-12-26 2021-07-01 Bytedance Inc. Techniques for implementing a decoding order within a coded picture
KR20220115958A (ko) 2019-12-26 2022-08-19 바이트댄스 아이엔씨 코딩된 비트스트림들에서의 비디오 계층들의 시그널링에 대한 제약들
WO2021134019A1 (en) 2019-12-26 2021-07-01 Bytedance Inc. Constraints on coding of layered video
WO2021134055A1 (en) 2019-12-27 2021-07-01 Bytedance Inc. Subpicture signaling in parameter sets
WO2021138293A1 (en) 2019-12-31 2021-07-08 Bytedance Inc. Adaptive color transform in video coding
CN115004669A (zh) 2020-01-09 2022-09-02 字节跳动有限公司 不同sei消息的解码顺序
CN115315942A (zh) * 2020-03-17 2022-11-08 字节跳动有限公司 视频编解码中的图片输出标志指示
CN115715466A (zh) * 2020-05-22 2023-02-24 抖音视界有限公司 子比特流提取处理中的填充符有效载荷
JP2023526661A (ja) 2020-05-22 2023-06-22 バイトダンス インコーポレイテッド 適合出力サブビットストリームの生成技術
EP4150900A4 (en) * 2020-06-09 2023-11-08 ByteDance Inc. SUB-BITSTREAM EXTRACTION OF MULTI-LAYER VIDEO BITSTREAMS
EP4329303A1 (en) * 2021-04-19 2024-02-28 LG Electronics Inc. Media file processing method, and device therefor
KR20240004569A (ko) * 2021-04-23 2024-01-11 엘지전자 주식회사 레이어 식별자 정보를 포함하는 sei 메시지 기반의영상 부호화/복호화 방법, 장치, 및 비트스트림을 전송하는 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106170982A (zh) * 2014-03-24 2016-11-30 高通股份有限公司 Hevc sei消息用于多层编解码器的一般使用

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8374238B2 (en) * 2004-07-13 2013-02-12 Microsoft Corporation Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video
US7852353B1 (en) * 2005-03-31 2010-12-14 Apple Inc. Encoding a transparency (alpha) channel in a video bitstream
US20070086521A1 (en) 2005-10-11 2007-04-19 Nokia Corporation Efficient decoded picture buffer management for scalable video coding
US7903737B2 (en) * 2005-11-30 2011-03-08 Mitsubishi Electric Research Laboratories, Inc. Method and system for randomly accessing multiview videos with known prediction dependency
JP2007166129A (ja) * 2005-12-13 2007-06-28 Victor Co Of Japan Ltd 符号化データ生成装置
US7535383B2 (en) * 2006-07-10 2009-05-19 Sharp Laboratories Of America Inc. Methods and systems for signaling multi-layer bitstream data
CN101627634B (zh) * 2006-10-16 2014-01-01 诺基亚公司 用于将可并行解码片用于多视点视频编码的系统和方法
JP5686594B2 (ja) 2007-04-12 2015-03-18 トムソン ライセンシングThomson Licensing スケーラブル・ビデオ符号化のためのビデオ・ユーザビリティ情報(vui)用の方法及び装置
US20100142613A1 (en) * 2007-04-18 2010-06-10 Lihua Zhu Method for encoding video data in a scalable manner
US9131033B2 (en) * 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
US20140133547A1 (en) * 2011-08-30 2014-05-15 Sony Corporation Image processing device and image processing method
US9106927B2 (en) * 2011-09-23 2015-08-11 Qualcomm Incorporated Video coding with subsets of a reference picture set
US9565431B2 (en) * 2012-04-04 2017-02-07 Qualcomm Incorporated Low-delay video buffering in video coding
JP6057395B2 (ja) * 2012-04-16 2017-01-11 ノキア テクノロジーズ オーユー ビデオ符号化方法および装置
US20130343465A1 (en) * 2012-06-26 2013-12-26 Qualcomm Incorporated Header parameter sets for video coding
US10110890B2 (en) * 2012-07-02 2018-10-23 Sony Corporation Video coding system with low delay and method of operation thereof
US9912941B2 (en) * 2012-07-02 2018-03-06 Sony Corporation Video coding system with temporal layers and method of operation thereof
US9584804B2 (en) * 2012-07-10 2017-02-28 Qualcomm Incorporated Coding SEI NAL units for video coding
US9380289B2 (en) 2012-07-20 2016-06-28 Qualcomm Incorporated Parameter sets in video coding
US9014051B2 (en) 2012-08-30 2015-04-21 Abb Inc. Updating multicast group information of a client device of a wireless mesh network
US9686542B2 (en) * 2012-09-05 2017-06-20 Qualcomm Incorporated Network abstraction layer header design
US9426462B2 (en) * 2012-09-21 2016-08-23 Qualcomm Incorporated Indication and activation of parameter sets for video coding
US9491456B2 (en) * 2012-09-24 2016-11-08 Qualcomm Incorporated Coded picture buffer removal times signaled in picture and sub-picture timing supplemental enhancement information messages
US10021394B2 (en) * 2012-09-24 2018-07-10 Qualcomm Incorporated Hypothetical reference decoder parameters in video coding
US9154785B2 (en) * 2012-10-08 2015-10-06 Qualcomm Incorporated Sub-bitstream applicability to nested SEI messages in video coding
WO2014058177A1 (ko) * 2012-10-08 2014-04-17 삼성전자 주식회사 멀티 레이어 비디오 부호화 방법 및 장치, 멀티 레이어 비디오 복호화 방법 및 장치
US9521393B2 (en) * 2013-01-07 2016-12-13 Qualcomm Incorporated Non-nested SEI messages in video coding
US20140269896A1 (en) * 2013-03-13 2014-09-18 Futurewei Technologies, Inc. Multi-Frame Compression
US10003815B2 (en) 2013-06-03 2018-06-19 Qualcomm Incorporated Hypothetical reference decoder model and conformance for cross-layer random access skipped pictures
JP6352383B2 (ja) * 2013-07-14 2018-07-04 シャープ株式会社 復号方法及び復号装置
CN105359525A (zh) * 2013-07-14 2016-02-24 夏普株式会社 瓦片对齐信令和一致性约束
CN109862373B (zh) * 2013-07-15 2021-10-15 索尼公司 用于对比特流进行编码的方法和装置
WO2015009693A1 (en) * 2013-07-15 2015-01-22 Sony Corporation Layer based hrd buffer management for scalable hevc
EP3057327A4 (en) * 2013-10-08 2017-05-17 Sharp Kabushiki Kaisha Image decoder, image encoder, and encoded data converter
US9648333B2 (en) 2013-10-11 2017-05-09 Vid Scale, Inc. High level syntax for HEVC extensions
US10187662B2 (en) * 2013-10-13 2019-01-22 Sharp Kabushiki Kaisha Signaling parameters in video parameter set extension and decoder picture buffer operation
CN105981387B (zh) * 2013-10-15 2019-09-27 诺基亚技术有限公司 用于处理视频的方法、装置和计算机可读存储介质
US9860540B2 (en) * 2014-01-03 2018-01-02 Qualcomm Incorporated Inference of nooutputofpriorpicsflag in video coding
WO2015125489A1 (en) * 2014-02-24 2015-08-27 Sharp Kabushiki Kaisha Restrictions on signaling
US9866869B2 (en) * 2014-03-17 2018-01-09 Qualcomm Incorporated POC value design for multi-layer video coding
US20150264404A1 (en) * 2014-03-17 2015-09-17 Nokia Technologies Oy Method and apparatus for video coding and decoding
US9794626B2 (en) * 2014-05-01 2017-10-17 Qualcomm Incorporated Partitioning schemes in multi-layer video coding
JP2017525215A (ja) * 2014-06-19 2017-08-31 シャープ株式会社 復号方法
US10455242B2 (en) 2015-03-04 2019-10-22 Qualcomm Incorporated Signaling output indications in codec-hybrid multi-layer video coding
US10021401B2 (en) * 2015-04-09 2018-07-10 Arris Enterprises Llc Analytic tool for managing distributed statistically multiplexed systems and method for using same
US10200690B2 (en) * 2015-09-22 2019-02-05 Qualcomm Incorporated Video decoder conformance for high dynamic range (HDR) video coding using a core video standard
US10575013B2 (en) * 2015-10-19 2020-02-25 Mediatek Inc. Method and apparatus for decoded picture buffer management in video coding system using intra block copy
CN109963176B (zh) 2017-12-26 2021-12-07 中兴通讯股份有限公司 视频码流处理方法、装置、网络设备和可读存储介质
US11321516B2 (en) 2018-01-19 2022-05-03 Qualcomm Incorporated Processing dynamic web content of an ISO BMFF web resource track
SG11202106524PA (en) 2018-12-20 2021-07-29 Ericsson Telefon Ab L M Normative indication of recovery point
WO2020176636A1 (en) * 2019-02-27 2020-09-03 Futurewei Technologies, Inc. Luma mapping with chroma scaling adaptation parameter set in video coding
KR102393325B1 (ko) * 2019-02-28 2022-05-02 엘지전자 주식회사 Aps 시그널링 기반 비디오 또는 영상 코딩
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
US11166033B2 (en) * 2019-06-06 2021-11-02 Qualcomm Incorporated Adaptation parameter set in access unit in video coding
KR20220019241A (ko) * 2019-07-08 2022-02-16 엘지전자 주식회사 적응적 루프 필터 기반 비디오 또는 영상 코딩
CA3151829A1 (en) * 2019-08-19 2021-02-25 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Usage of access unit delimiters and adaptation parameter sets
BR112022005046A2 (pt) * 2019-09-18 2022-07-05 Beijing Bytedance Network Tech Co Ltd Método de processamento de dados de vídeo, aparelho para processar dados de vídeo, meio de armazenamento não transitório legível por computador e meio de gravação não transitório legível por computador
US11375223B2 (en) * 2019-09-20 2022-06-28 Tencent America LLC Method for signaling output layer set with sub-picture
WO2021061428A1 (en) * 2019-09-24 2021-04-01 Futurewei Technologies, Inc. Scalable nesting sei messages for ols
WO2021061496A1 (en) * 2019-09-24 2021-04-01 Futurewei Technologies, Inc. Sei message dependency simplification in video coding
CN117528097A (zh) * 2019-10-29 2024-02-06 抖音视界(北京)有限公司 跨分量自适应环路滤波器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106170982A (zh) * 2014-03-24 2016-11-30 高通股份有限公司 Hevc sei消息用于多层编解码器的一般使用

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Draft high efficiency video coding (HEVC) version 2, combined format range extensions (RExt), scalability (SHVC), and multi-view (MV-HEVC) extensions;Jill Boyce等;《Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 18th Meeting, JCTVC-R1013_v6》;20140930;第8.1,8.2,D.2,D.3.23,F.14.3.5,F.14.3.2.7节 *
Jill Boyce等.Draft high efficiency video coding (HEVC) version 2, combined format range extensions (RExt), scalability (SHVC), and multi-view (MV-HEVC) extensions.《Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 18th Meeting, JCTVC-R1013_v6》.2014, *

Also Published As

Publication number Publication date
CN114450962A (zh) 2022-05-06
BR112022005000A2 (pt) 2022-06-14
JP2024023566A (ja) 2024-02-21
US20220217410A1 (en) 2022-07-07
CN114450675A (zh) 2022-05-06
JP2022548404A (ja) 2022-11-18
WO2021061495A1 (en) 2021-04-01
KR20220065054A (ko) 2022-05-19
MX2022003547A (es) 2022-05-30
BR112022004873A2 (pt) 2022-06-07
BR112022004883A2 (pt) 2022-06-07
JP7400088B2 (ja) 2023-12-18
CN114845112A (zh) 2022-08-02
WO2021061492A1 (en) 2021-04-01
JP2022550320A (ja) 2022-12-01
CN115002467A (zh) 2022-09-02
JP2022549010A (ja) 2022-11-22
AU2020354926A1 (en) 2022-04-07
US20220217387A1 (en) 2022-07-07
CN116744002A (zh) 2023-09-12
CN114978232A (zh) 2022-08-30
EP4022778A1 (en) 2022-07-06
US20220217388A1 (en) 2022-07-07
CN114979663A (zh) 2022-08-30
BR122022007954A2 (pt) 2022-07-05
EP4035377A4 (en) 2022-11-23
BR112022005394A2 (pt) 2022-06-21
CN114514703A (zh) 2022-05-17
CL2022000703A1 (es) 2022-11-18
BR112022004862A2 (pt) 2022-06-07
CN114979663B (zh) 2023-08-04
CN114968894A (zh) 2022-08-30
EP4035377A1 (en) 2022-08-03
CN114968894B (zh) 2023-08-04
AU2020352914A1 (en) 2022-04-14
AU2020354368A1 (en) 2022-04-14
EP4022777A4 (en) 2022-11-23
US20230269389A1 (en) 2023-08-24
KR20220063269A (ko) 2022-05-17
CL2022000702A1 (es) 2022-11-18
CN115002467B (zh) 2023-04-04
KR20220062657A (ko) 2022-05-17
US20220217411A1 (en) 2022-07-07
MX2022003548A (es) 2022-06-02
CN114467262A (zh) 2022-05-10
CA3152353A1 (en) 2021-04-01
US11800130B2 (en) 2023-10-24
AU2020356300A1 (en) 2022-04-14
CA3152357A1 (en) 2021-04-01
JP7416921B2 (ja) 2024-01-17
CN114424559A (zh) 2022-04-29
KR20220065051A (ko) 2022-05-19
EP4022778A4 (en) 2022-11-23
WO2021061494A1 (en) 2021-04-01
KR20220065055A (ko) 2022-05-19
JP2022548405A (ja) 2022-11-18
EP4022772A1 (en) 2022-07-06
EP4022777A1 (en) 2022-07-06
EP4022451A1 (en) 2022-07-06
US20220217390A1 (en) 2022-07-07
JP2024028383A (ja) 2024-03-04
EP4022451A4 (en) 2022-11-23
WO2021061493A1 (en) 2021-04-01
JP2022548330A (ja) 2022-11-17
AU2020352453A1 (en) 2022-04-21
WO2021061496A1 (en) 2021-04-01
CN114978232B (zh) 2023-04-04
EP4022772A4 (en) 2022-11-23

Similar Documents

Publication Publication Date Title
CN114845112B (zh) 后缀sei消息的可伸缩嵌套的方法、设备、介质、解码器和编码器
CN114424556B (zh) 对ols的hrd一致性测试
CN114586365A (zh) 基于dpb大小的参考图像条目约束条件
CN114900697B (zh) 由编码器/解码器实现的方法、视频译码设备及计算机可读介质
CN115002474A (zh) 支持多视图可适性的ols
CN114424527B (zh) 所有层可伸缩嵌套式sei消息的设置方法和装置

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
GR01 Patent grant
GR01 Patent grant