CN114979663B - 解码器、编码器及其实现的方法 - Google Patents

解码器、编码器及其实现的方法 Download PDF

Info

Publication number
CN114979663B
CN114979663B CN202210439325.4A CN202210439325A CN114979663B CN 114979663 B CN114979663 B CN 114979663B CN 202210439325 A CN202210439325 A CN 202210439325A CN 114979663 B CN114979663 B CN 114979663B
Authority
CN
China
Prior art keywords
layer
nal unit
pps
aps
value
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
CN202210439325.4A
Other languages
English (en)
Other versions
CN114979663A (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 CN202210439325.4A priority Critical patent/CN114979663B/zh
Publication of CN114979663A publication Critical patent/CN114979663A/zh
Application granted granted Critical
Publication of CN114979663B publication Critical patent/CN114979663B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/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/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/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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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

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

本发明公开了一种视频译码机制。所述机制包括:接收码流,所述码流包括图像参数集(picture parameter set,PPS)网络抽象层(network abstraction layer,NAL)单元中的PPS以及包括视频编码层(video coding layer,VCL)NAL单元集的经编码图像,其中,除非所述PPS NAL单元的NAL单元头层标识符(nuh_layer_id)值小于或等于特定VCL NAL单元的nuh_layer_id值,否则所述特定VCL NAL单元不参考所述PPS NAL单元;根据所述PPS NAL单元中的所述PPS,从所述VCL NAL单元集中解码所述经编码图像,以产生经解码图像;转发所述经解码图像,以将所述经解码图像显示为解码视频序列的一部分。

Description

解码器、编码器及其实现的方法
本申请是分案申请,原申请的申请号是202080066831.2,原申请日是2020年09月17日,原申请的全部内容通过引用结合在本申请中。
相关申请交叉引用
本专利申请要求王业奎(Ye-Kui Wang)于2019年9月24日递交的申请号为62/905,236、发明名称为“视频译码改进(Video Coding Improvements)”的美国临时专利申请的权益,其内容通过引用并入本文本中。
技术领域
本发明一般涉及视频译码,具体涉及指示(signal)参数以支持多层码流译码的改进。
背景技术
即使在视频较短的情况下,也需要大量的视频数据来描述,当数据要在带宽容量受限的通信网络中流式传输或以其它方式传输时,这样可能会造成困难。因此,视频数据通常要先压缩,然后在现代电信网络中发送。由于内存资源可能有限,当在存储设备上存储视频时,视频的大小也可能成为问题。视频压缩设备通常在信源侧使用软件和/或硬件对视频数据进行编码,然后进行传输或存储,从而减少表示数字视频图像所需的数据量。然后,解码视频数据的视频解压缩设备在目的地侧接收压缩数据。在网络资源有限以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术在几乎不影响图像质量的情况下能够提高压缩比。
发明内容
在一个实施例中,本发明包括一种由解码器实现的方法,所述方法包括:所述解码器的接收器接收码流,其中,所述码流包括图像参数集(picture parameter set,PPS)网络抽象层(network abstraction layer,NAL)单元中的PPS以及包括视频编码层(videocoding layer,VCL)NAL单元集的经编码图像,除非所述PPS NAL单元的NAL单元头层标识符(nuh_layer_id)值小于或等于特定VCL NAL单元的nuh_layer_id值,否则所述特定VCL NAL单元不参考所述PPS NAL单元;所述解码器的处理器根据所述PPS NAL单元中的所述PPS,从所述VCL NAL单元集中解码所述经编码图像,以产生经解码图像。
一些视频译码系统将视频序列编码为图像层。不同层中的图像具有不同的特征。因此,编码器可以根据解码器侧的约束条件将不同的层发送到解码器。为了执行此功能,编码器可以将所有层编码到单个码流中。根据请求,所述编码器可以执行子码流提取过程,以从所述码流中删除无关信息。得到提取后的码流,所述码流仅包括用于对请求层进行解码的数据。这个过程可以通过将所有数据包括在NAL单元中来完成。每个NAL单元接收称为nuh_layer_id的层标识符(identifier,ID)。然后,所述子码流提取过程可以删除具有目标范围外的nuh_layer_id的所有NAL单元。这种方法存在的一个问题是,一些NAL单元与许多层相关。例如,PPS和自适应参数集(adaptation parameter set,APS)可以包括与一个或多个层相关的数据。如果PPS NAL单元或APS NAL单元的nuh_layer_id在目标范围外,则可以通过所述子码流提取过程删除所述PPS和/或所述APS。当这种情况发生时,所述解码器没有足够的数据来对所述提取后的码流进行解码。
本示例限制了所述PPS和所述APS,以确保在子码流提取过程中,对应NAL单元不会被错误地从码流中删除。具体地,所述PPS和所述APS由包括经编码图像中的条带的VCL NAL单元所参考。所述PPS NAL单元被限制包括小于或等于所有VCL NAL单元的nuh_layer_id的nuh_layer_id,所述VCL NAL单元参考所述PPS NAL单元中的所述PPS。同样,所述APS NAL单元被限制包括小于或等于所有VCL NAL单元的nuh_layer_id的nuh_layer_id,所述VCL NAL单元参考所述APS NAL单元中的所述APS。所述子码流提取过程删除具有大于目标nuh_layer_id的nuh_layer_id的NAL单元。通过确保所述PPS NAL单元和所述APS NAL单元具有比参考这些NAL单元的所有VCL NAL单元小的nuh_layer_id,所述PPS/APS不能通过子码流提取过程删除,该过程也保留了参考所述PPS/APS的VCL NAL单元。因此,避免了错误。这样,编码器和解码器的功能增加。此外,通过正确删除不需要的NAL单元,提高了编码效率,减少了编码器和解码器侧的处理器、存储器和/或网络信令资源的使用。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述码流还包括APS NAL单元中的APS;除非所述APS NAL单元的nuh_layer_id值小于或等于所述特定VCLNAL单元的所述nuh_layer_id值,否则所述特定VCL NAL单元不参考所述APS NAL单元。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述特定VCL NAL单元包括所述经编码图像中的条带和包括与所述条带有关的数据元素的头,所述头表示所述APS的APS ID。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述特定VCL NAL单元包括所述经编码图像中的条带,所述条带与包括应用于所述经编码图像中的所述条带的语法元素的头关联,所述头表示所述PPS的PPS ID。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述码流是根据nuh_layer_id值从所述码流中删除NAL单元的子码流提取过程的结果。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,当所述VCL NAL单元集都具有特定nuh_layer_id值时,所述VCL NAL单元集是层的一部分。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述层包括与都具有特定nuh_layer_id值的所述VCL NAL单元集关联的非VCL NAL单元。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述方法还包括:所述解码器接收第二码流,其中,所述第二码流包括第二PPS NAL单元中的第二PPS和包括第二VCL NAL单元集的第二经编码图像,第二VCL NAL单元参考所述第二PPS NAL单元,所述第二PPS NAL单元的nuh_layer_id值不小于或等于所述第二VCL NAL单元的nuh_layer_id值;在所述接收之后,采取一些其它纠正措施,以确保在从所述第二VCL NAL单元集中解码所述经编码图像之前,对应于所述第二码流的一致性码流被接收。
在一个实施例中,本发明包括一种由编码器实现的方法,其中,所述方法包括:所述编码器的处理器将包括VCL NAL单元集的经编码图像编码到码流中;所述处理器根据除非PPS NAL单元的nuh_layer_id值小于或等于特定VCL NAL单元的nuh_layer_id值,否则所述特定VCL NAL单元不参考所述PPS NAL单元的约束条件,将所述PPS NAL单元中的PPS编码到所述码流中;与所述处理器耦合的存储器存储所述码流,以将所述码流发送到解码器。
一些视频译码系统将视频序列编码为图像层。不同层中的图像具有不同的特征。因此,编码器可以根据解码器侧的约束条件将不同的层发送到解码器。为了执行此功能,编码器可以将所有层编码到单个码流中。根据请求,所述编码器可以执行子码流提取过程,以从所述码流中删除无关信息。得到提取后的码流,所述码流仅包括用于对请求层进行解码的数据。这个过程可以通过将所有数据包括在NAL单元中来完成。每个NAL单元接收称为nuh_layer_id的层ID。然后,所述子码流提取过程可以删除具有目标范围外的nuh_layer_id的所有NAL单元。这种方法存在的一个问题是,一些NAL单元与许多层相关。例如,PPS和APS可以包括与一个或多个层相关的数据。如果PPS NAL单元或APS NAL单元的nuh_layer_id在目标范围外,则可以通过所述子码流提取过程删除所述PPS和/或所述APS。当这种情况发生时,所述解码器没有足够的数据来对所述提取后的码流进行解码。
本示例限制了所述PPS和所述APS,以确保在子码流提取过程中,对应NAL单元不会被错误地从码流中删除。具体地,所述PPS和所述APS由包括经编码图像中的条带的VCL NAL单元所参考。所述PPS NAL单元被限制包括小于或等于所有VCL NAL单元的nuh_layer_id的nuh_layer_id,所述VCL NAL单元参考所述PPS NAL单元中的所述PPS。同样,所述APS NAL单元被限制包括小于或等于所有VCL NAL单元的nuh_layer_id的nuh_layer_id,所述VCL NAL单元参考所述APS NAL单元中的所述APS。所述子码流提取过程删除具有大于目标nuh_layer_id的nuh_layer_id的NAL单元。通过确保所述PPS NAL单元和所述APS NAL单元具有比参考这些NAL单元的所有VCL NAL单元小的nuh_layer_id,所述PPS/APS不能通过子码流提取过程删除,该过程也保留了参考所述PPS/APS的VCL NAL单元。因此,避免了错误。这样,编码器和解码器的功能增加。此外,通过正确删除不需要的NAL单元,提高了编码效率,减少了编码器和解码器侧的处理器、存储器和/或网络信令资源的使用。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述方法还包括:所述处理器根据除非自适应参数集(adaptation parameter set,APS)NAL单元的nuh_layer_id值小于或等于特定VCL NAL单元的nuh_layer_id值,否则所述特定VCL NAL单元不参考所述PPS NAL单元的约束条件,将所述APS NAL单元中的APS编码到所述码流中。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述特定VCL NAL单元包括所述经编码图像中的条带和包括与所述条带有关的数据元素的头,所述头表示所述APS的APS ID。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述特定VCL NAL单元包括所述经编码图像中的条带,所述条带与包括应用于所述经编码图像中的所述条带的语法元素的头关联,所述头表示所述PPS的PPS ID。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述方法还包括:所述处理器根据nuh_layer_id值执行子码流提取过程,以从所述码流中删除NAL单元。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,当所述VCL NAL单元集都具有特定nuh_layer_id值时,所述VCL NAL单元集是层的一部分。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述层包括与都具有特定nuh_layer_id值的所述VCL NAL单元集关联的非VCL NAL单元。
在一个实施例中,本发明包括一种视频译码设备,包括:处理器、与所述处理器耦合的接收器和与所述处理器耦合的存储器;与所述处理器耦合的发送器,其中,所述处理器、接收器、存储器和发送器用于执行上述方面中任一方面所述的方法。
在一个实施例中,本发明包括一种非瞬时性计算机可读介质,包括供视频译码设备使用的计算机程序产品,所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令,当处理器执行所述计算机可执行指令时,使得所述视频译码设备执行任一上述方面所述的方法。
在一个实施例中,本发明包括一种解码器,所述解码器包括:接收模块,用于接收码流,其中,所述码流包括PPS NAL单元中的PPS以及包括VCL NAL单元集的经编码图像,除非所述PPS NAL单元的nuh_layer_id值小于或等于特定VCL NAL单元的nuh_layer_id值,否则所述特定VCL NAL单元不参考所述PPS NAL单元;解码模块,用于根据所述PPS NAL单元中的所述PPS,从所述VCL NAL单元集中解码所述经编码图像,以产生经解码图像;转发模块,用于转发所述经解码图像,以将所述经解码图像显示为解码视频序列的一部分。
一些视频译码系统将视频序列编码为图像层。不同层中的图像具有不同的特征。因此,编码器可以根据解码器侧的约束条件将不同的层发送到解码器。为了执行此功能,编码器可以将所有层编码到单个码流中。根据请求,所述编码器可以执行子码流提取过程,以从所述码流中删除无关信息。得到提取后的码流,所述码流仅包括用于对请求层进行解码的数据。这个过程可以通过将所有数据包括在NAL单元中来完成。每个NAL单元接收称为nuh_layer_id的层ID。然后,所述子码流提取过程可以删除具有目标范围外的nuh_layer_id的所有NAL单元。这种方法存在的一个问题是,一些NAL单元与许多层相关。例如,PPS和APS可以包括与一个或多个层相关的数据。如果PPS NAL单元或APS NAL单元的nuh_layer_id在目标范围外,则可以通过所述子码流提取过程删除所述PPS和/或所述APS。当这种情况发生时,所述解码器没有足够的数据来对所述提取后的码流进行解码。
本示例限制了所述PPS和所述APS,以确保在子码流提取过程中,对应NAL单元不会被错误地从码流中删除。具体地,所述PPS和所述APS由包括经编码图像中的条带的VCL NAL单元所参考。所述PPS NAL单元被限制包括小于或等于所有VCL NAL单元的nuh_layer_id的nuh_layer_id,所述VCL NAL单元参考所述PPS NAL单元中的所述PPS。同样,所述APS NAL单元被限制包括小于或等于所有VCL NAL单元的nuh_layer_id的nuh_layer_id,所述VCL NAL单元参考所述APS NAL单元中的所述APS。所述子码流提取过程删除具有大于目标nuh_layer_id的nuh_layer_id的NAL单元。通过确保所述PPS NAL单元和所述APS NAL单元具有比参考这些NAL单元的所有VCL NAL单元小的nuh_layer_id,所述PPS/APS不能通过子码流提取过程删除,该过程也保留了参考所述PPS/APS的VCL NAL单元。因此,避免了错误。这样,编码器和解码器的功能增加。此外,通过正确删除不需要的NAL单元,提高了编码效率,减少了编码器和解码器侧的处理器、存储器和/或网络信令资源的使用。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述解码器还用于执行上述任一方面所述的方法。
在一个实施例中,本发明包括一种编码器,所述编码器包括:编码模块,用于:将包括VCL NAL单元集的经编码图像编码到码流中;根据除非PPS NAL单元的nuh_layer_id值小于或等于特定VCL NAL单元的nuh_layer_id值,否则所述特定VCL NAL单元不参考所述PPSNAL单元的约束条件,将所述PPS NAL单元中的PPS编码到所述码流中;存储模块,用于存储所述码流,以将所述码流发送到解码器。
一些视频译码系统将视频序列编码为图像层。不同层中的图像具有不同的特征。因此,编码器可以根据解码器侧的约束条件将不同的层发送到解码器。为了执行此功能,编码器可以将所有层编码到单个码流中。根据请求,所述编码器可以执行子码流提取过程,以从所述码流中删除无关信息。得到提取后的码流,所述码流仅包括用于对请求层进行解码的数据。这个过程可以通过将所有数据包括在NAL单元中来完成。每个NAL单元接收称为nuh_layer_id的层ID。然后,所述子码流提取过程可以删除具有目标范围外的nuh_layer_id的所有NAL单元。这种方法存在的一个问题是,一些NAL单元与许多层相关。例如,PPS和APS可以包括与一个或多个层相关的数据。如果PPS NAL单元或APS NAL单元的nuh_layer_id在目标范围外,则可以通过所述子码流提取过程删除所述PPS和/或所述APS。当这种情况发生时,所述解码器没有足够的数据来对所述提取后的码流进行解码。
本示例限制了所述PPS和所述APS,以确保在子码流提取过程中,对应NAL单元不会被错误地从码流中删除。具体地,所述PPS和所述APS由包括经编码图像中的条带的VCL NAL单元所参考。所述PPS NAL单元被限制包括小于或等于所有VCL NAL单元的nuh_layer_id的nuh_layer_id,所述VCL NAL单元参考所述PPS NAL单元中的所述PPS。同样,所述APS NAL单元被限制包括小于或等于所有VCL NAL单元的nuh_layer_id的nuh_layer_id,所述VCL NAL单元参考所述APS NAL单元中的所述APS。所述子码流提取过程删除具有大于目标nuh_layer_id的nuh_layer_id的NAL单元。通过确保所述PPS NAL单元和所述APS NAL单元具有比参考这些NAL单元的所有VCL NAL单元小的nuh_layer_id,所述PPS/APS不能通过子码流提取过程删除,该过程也保留了参考所述PPS/APS的VCL NAL单元。因此,避免了错误。这样,编码器和解码器的功能增加。此外,通过正确删除不需要的NAL单元,提高了编码效率,减少了编码器和解码器侧的处理器、存储器和/或网络信令资源的使用。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述编码器还用于执行上述任一方面所述的方法。
在一个实施例中,本发明包括一种由解码器实现的方法,所述方法包括:所述解码器的接收器接收码流,其中,所述码流包括PPS NAL单元中的PPS以及包括VCL NAL单元集的经编码图像,参考所述PPS的VCL NAL单元被限制包括小于或等于所述PPS NAL单元的nuh_layer_id值的nuh_layer_id值;所述解码器的处理器根据所述PPS NAL单元中的所述PPS,从所述VCL NAL单元集中解码所述经编码图像,以产生经解码图像。
一些视频译码系统将视频序列编码为图像层。不同层中的图像具有不同的特征。因此,编码器可以根据解码器侧的约束条件将不同的层发送到解码器。为了执行此功能,编码器可以将所有层编码到单个码流中。根据请求,所述编码器可以执行子码流提取过程,以从所述码流中删除无关信息。得到提取后的码流,所述码流仅包括用于对请求层进行解码的数据。这个过程可以通过将所有数据包括在NAL单元中来完成。每个NAL单元接收称为nuh_layer_id的层ID。然后,所述子码流提取过程可以删除具有目标范围外的nuh_layer_id的所有NAL单元。这种方法存在的一个问题是,一些NAL单元与许多层相关。例如,PPS和APS可以包括与一个或多个层相关的数据。如果PPS NAL单元或APS NAL单元的nuh_layer_id在目标范围外,则可以通过所述子码流提取过程删除所述PPS和/或所述APS。当这种情况发生时,所述解码器没有足够的数据来对所述提取后的码流进行解码。
本示例限制了所述PPS和所述APS,以确保在子码流提取过程中,对应NAL单元不会被错误地从码流中删除。具体地,所述PPS和所述APS由包括经编码图像中的条带的VCL NAL单元所参考。所述PPS NAL单元被限制包括小于或等于所有VCL NAL单元的nuh_layer_id的nuh_layer_id,所述VCL NAL单元参考所述PPS NAL单元中的所述PPS。同样,所述APS NAL单元被限制包括小于或等于所有VCL NAL单元的nuh_layer_id的nuh_layer_id,所述VCL NAL单元参考所述APS NAL单元中的所述APS。所述子码流提取过程删除具有大于目标nuh_layer_id的nuh_layer_id的NAL单元。通过确保所述PPS NAL单元和所述APS NAL单元具有比参考这些NAL单元的所有VCL NAL单元小的nuh_layer_id,所述PPS/APS不能通过子码流提取过程删除,该过程也保留了参考所述PPS/APS的VCL NAL单元。因此,避免了错误。这样,编码器和解码器的功能增加。此外,通过正确删除不需要的NAL单元,提高了编码效率,减少了编码器和解码器侧的处理器、存储器和/或网络信令资源的使用。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述码流还包括APS NAL单元中的APS,并且参考所述APS的VCL NAL单元被限制包括小于或等于所述APSNAL单元的nuh_layer_id值的nuh_layer_id值。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,每个VCL NAL单元包括所述经编码图像中的条带和包括与所述条带有关的数据元素的头,所述头表示所述APS的APS ID。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,每个VCL NAL单元包括所述经编码图像中的条带,所述条带与包括应用于所述经编码图像中的所述条带的语法元素的头关联,所述头表示所述PPS的PPS ID。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述码流是根据nuh_layer_id值从所述码流中删除NAL单元的子码流提取过程的结果。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,当所述VCL NAL单元集都具有特定nuh_layer_id值时,所述VCL NAL单元集是层的一部分。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述层包括与都具有特定nuh_layer_id值的所述VCL NAL单元集关联的非VCL NAL单元。
在一个实施例中,本发明包括一种由编码器实现的方法,其中,所述方法包括:所述编码器的处理器将包括VCL NAL单元集的经编码图像编码到码流中;所述处理器根据参考PPS的VCL NAL单元被限制包括小于或等于PPS NAL单元的nuh_layer_id值的nuh_layer_id值的约束条件,将所述PPS NAL单元中的PPS编码到所述码流中;与所述处理器耦合的存储器存储所述码流,以将所述码流发送到解码器。
一些视频译码系统将视频序列编码为图像层。不同层中的图像具有不同的特征。因此,编码器可以根据解码器侧的约束条件将不同的层发送到解码器。为了执行此功能,编码器可以将所有层编码到单个码流中。根据请求,所述编码器可以执行子码流提取过程,以从所述码流中删除无关信息。得到提取后的码流,所述码流仅包括用于对请求层进行解码的数据。这个过程可以通过将所有数据包括在NAL单元中来完成。每个NAL单元接收称为nuh_layer_id的层ID。然后,所述子码流提取过程可以删除具有目标范围外的nuh_layer_id的所有NAL单元。这种方法存在的一个问题是,一些NAL单元与许多层相关。例如,PPS和APS可以包括与一个或多个层相关的数据。如果PPS NAL单元或APS NAL单元的nuh_layer_id在目标范围外,则可以通过所述子码流提取过程删除所述PPS和/或所述APS。当这种情况发生时,所述解码器没有足够的数据来对所述提取后的码流进行解码。
本示例限制了所述PPS和所述APS,以确保在子码流提取过程中,对应NAL单元不会被错误地从码流中删除。具体地,所述PPS和所述APS由包括经编码图像中的条带的VCL NAL单元所参考。所述PPS NAL单元被限制包括小于或等于所有VCL NAL单元的nuh_layer_id的nuh_layer_id,所述VCL NAL单元参考所述PPS NAL单元中的所述PPS。同样,所述APS NAL单元被限制包括小于或等于所有VCL NAL单元的nuh_layer_id的nuh_layer_id,所述VCL NAL单元参考所述APS NAL单元中的所述APS。所述子码流提取过程删除具有大于目标nuh_layer_id的nuh_layer_id的NAL单元。通过确保所述PPS NAL单元和所述APS NAL单元具有比参考这些NAL单元的所有VCL NAL单元小的nuh_layer_id,所述PPS/APS不能通过子码流提取过程删除,该过程也保留了参考所述PPS/APS的VCL NAL单元。因此,避免了错误。这样,编码器和解码器的功能增加。此外,通过正确删除不需要的NAL单元,提高了编码效率,减少了编码器和解码器侧的处理器、存储器和/或网络信令资源的使用。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述方法还包括:所述处理器根据参考APS NAL单元中的APS的VCL NAL单元被限制包括小于或等于所述APSNAL单元的nuh_layer_id值的nuh_layer_id值的约束条件,将所述APS编码到所述码流中。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,每个VCL NAL单元包括所述经编码图像中的条带和包括与所述条带有关的数据元素的头,所述头表示所述APS的APS ID。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,每个VCL NAL单元包括所述经编码图像中的条带,所述条带与包括应用于所述经编码图像中的所述条带的语法元素的头关联,所述头表示所述PPS的PPS ID。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述方法还包括:所述处理器根据nuh_layer_id值执行子码流提取过程,以从所述码流中删除NAL单元。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,当所述VCL NAL单元集都具有特定nuh_layer_id值时,所述VCL NAL单元集是层的一部分。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述层包括与都具有特定nuh_layer_id值的所述VCL NAL单元集关联的非VCL NAL单元。
为了描述的清晰性,上述任一实施例可以与上述其它任一或多个实施例结合以创建本发明范围内的新实施例。
这些和其它特征将结合附图和权利要求书从以下详细描述中更清楚地理解。
附图说明
为了更透彻地理解本发明,现参考结合附图和具体实施方式而描述的以下简要说明,其中的相同附图标记表示相同部件。
图1为对视频信号进行译码的示例性方法的流程图。
图2为用于视频译码的示例性编码和解码(编解码)系统的示意图。
图3为示例性视频编码器的示意图。
图4为示例性视频解码器的示意图。
图5为示例性假设参考解码(hypothetical reference decoder,HRD)的示意图。
图6为示例性多层视频序列的示意图。
图7为示例性码流的示意图。
图8为示例性视频译码设备的示意图。
图9为通过将PPS和APS的层标识符(identifier,ID)限制于码流中而将视频序列编码到所述码流中的示例性方法的流程图。
图10为从码流中解码视频序列的示例性方法的流程图,其中,所述码流中的PPS和APS上文的层ID被限制。
图11为使用码流对视频序列进行译码的示例性系统的示意图,其中,所述码流中的PPS和APS的层ID被限制。
具体实施方式
首先应理解,尽管下文提供一项或多项实施例的说明性实现方式,但本发明所公开的系统和/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实现方式、附图和技术,包括本文所说明并描述的示例性设计和实现方式,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
以下术语的定义如下所述,除非在本文相反的上下文中使用。具体地,以下定义旨在更加清晰地描述本发明。但是,术语在不同的上下文中可能会有不同的描述。因此,以下定义应当视为补充信息,不应当视为对此处为这些术语提供的描述的任何其它定义进行限制。
码流(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单元,例如支持对视频数据进行解码、一致性检查的性能或其它操作的语法和/或参数。层是VCL NAL单元和关联的非VCL NAL单元的集合,所述VCL NAL单元共用由层ID指示的指定特征(例如,公共分辨率、帧率、图像大小等)。NAL单元头层标识符(nuh_layer_id)是表示包括NAL单元的层的标识符的语法元素。
图像参数集(picture parameter set,PPS)是一种语法结构,包括适用于完整的经编码图像的语法元素,所述完整的经编码图像由每个图像头中存在的语法元素确定。PPSNAL是包括PPS的NAL单元。PPS ID,也表示为pps_pic_parameter_set_id,是标识PPS供其它语法元素参考的标识符。自适应参数集(adaptation parameter set,APS)是一种语法结构,包括应用于根据条带头中找到的语法元素确定的条带的语法元素。APS NAL是包括APS的NAL单元。APS ID,也表示为aps_adaptation_parameter_set_id,是标识APS供其它语法元素参考的标识符。图像头是一种语法结构,包括应用于经编码图像中的所有条带的语法元素。条带头(slice header)是经译码条带的一部分,包括与条带中表示的所有分块或一个分块内的CTU行相关的数据元素。编码视频序列是一个或多个经编码图像的集合。解码视频序列是一个或多个经解码图像的集合。子码流提取过程是一个过程,通过该过程,从码流中删除由目标输出层集(output layer set,OLS)索引和目标最高时间标识符(TemporalId)确定的、不包括在码流中的目标集合的NAL单元,其中,输出子码流包括码流中的目标集合中包括的NAL单元。
本文中使用以下首字母缩写:接入单元(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(MultiviewHEVC,MV-HEVC)以及3D HEVC(3D-HEVC)等扩展版。ITU-T和ISO/IEC的联合视频专家组(joint video experts team,JVET)已开始开发一种称为通用视频编码(Versatile VideoCoding,VVC)的视频编码标准。VVC包括在工作草案(Working Draft,WD)中,该WD包括JVET-O2001-v14。
一些视频译码系统将视频序列编码为图像层。不同层中的图像具有不同的特征。因此,编码器可以根据解码器侧的约束条件将不同的层发送到解码器。为了执行此功能,编码器可以将所有层编码到单个码流中。根据请求,所述编码器可以执行子码流提取过程,以从所述码流中删除无关信息。得到提取后的码流,所述码流仅包括用于对请求层进行解码的数据。这个过程可以通过将所有数据包括在网络抽象层(network abstraction layer,NAL)单元中来完成。每个NAL单元接收称为NAL单元头层标识符(nuh_layer_id)的层标识符(identifier,ID)。然后,所述子码流提取过程可以删除具有目标范围外的nuh_layer_id的所有NAL单元。这种方法存在的一个问题是,一些NAL单元与许多层相关。例如,图像参数集(picture parameter set,PPS)和自适应参数集(adaptation parameter set,APS)可以包括与一个或多个层相关的数据。如果PPS NAL单元或APS NAL单元的nuh_layer_id在目标范围外,则可以通过所述子码流提取过程删除所述PPS和/或所述APS。当这种情况发生时,所述解码器没有足够的数据来对所述提取后的码流进行解码。
本文中公开了一种机制,所述机制限制了所述PPS和所述APS,以确保在子码流提取过程中,对应NAL单元不会被错误地从码流中删除。具体地,PPS和APS由包括经编码图像中的条带的视频编码层(video coding layer,VCL)NAL单元所参考。所述PPS NAL单元被限制包括小于或等于所有VCL NAL单元的nuh_layer_id的nuh_layer_id,所述VCL NAL单元参考所述PPS NAL单元中的所述PPS。同样,所述APS NAL单元被限制包括小于或等于所有VCLNAL单元的nuh_layer_id的nuh_layer_id,所述VCL NAL单元参考所述APS NAL单元中的所述APS。所述子码流提取过程删除具有大于目标nuh_layer_id的nuh_layer_id的NAL单元。通过确保所述PPS NAL单元和所述APS NAL单元具有比参考这些NAL单元的所有VCL NAL单元小的nuh_layer_id,所述PPS/APS不能通过子码流提取过程删除,该过程也保留了参考所述PPS/APS的VCL NAL单元。因此,避免了错误。这样,编码器和解码器的功能增加。此外,通过正确删除不需要的NAL单元,提高了编码效率,减少了编码器和解码器侧的处理器、存储器和/或网络信令资源的使用。
图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单元,例如图像的经译码条带。非VCL NAL单元是包括非视频数据的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可以包括NAL单元头层标识符(nuh_layer_id),是指表示包括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是通过参考一个参考图像中的指示样本对当前图像中的样本进行译码的机制,其中,当前图像和参考图像位于不同的层中,因此具有不同的层ID。例如,低层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的译码效率低得多。因此,译码效率低的帧内预测可以限于最小/最低质量的图像,因此限于对最少量的视频数据进行译码。用作参考图像和/或层间参考图像的图像可以在参考图像列表结构中包括的一个或多个参考图像列表的条目中指示。
图像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就被丢弃而不输出。
AU 627可以进一步划分为一个或多个图像单元(picture unit,PU)628。PU 628是包括单个经编码图像的AU 627的子集。PU 628正式定义为NAL单元的集合,这些NAL单元根据指定的分类规则相互关联,按解码顺序连续,并且只包括一个经编码图像。需要说明的是,当从HRD和/或关联的一致性测试的角度讨论时,PU 628可以被称为解码单元(decodingunit,DU)。
需要说明的是,图像611至618,因此AU 627和PU 628各自与时间标识符(TemporalId)629关联。TemporalId 629是表示NAL单元在视频序列中的相对位置的标识符。同一AU 627中的图像和/或PU 628与相同的TemporalId 629值关联。例如,序列中的第一AU 627可以包括等于0的TemporalId 629,后续AU 627包括连续增大的TemporalId 629。非VCL NAL单元也可以与TemporalId 629关联。例如,参数集可以包括在AU 627中,并且可以与AU 627中的一个或多个图像关联。在这种情况下,参数集的TemporalId 629可以小于或等于AU 627的TemporalId 629。
图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、多个自适应参数集(adaptation parameter set,APS)716、多个图像头718、多个条带头717、图像数据720和SEI消息719。VPS 711包括与整个码流700相关的数据。例如,VPS 711可以包括码流700中使用的数据相关的OLS、层和/或子层。SPS 713包括码流700中包括的编码视频序列中所有图像共用的序列数据。例如,每层可以包括一个或多个编码视频序列,每个编码视频序列可以参考SPS 713获取对应的参数。SPS 713中的参数可以包括图像大小、比特深度、编码工具参数、码率限制等。需要说明的是,虽然每个序列都参考SPS 713,但在一些示例中,单个SPS 713可以包括多个序列的数据。PPS 715包括应用于整个图像的参数。因此,视频序列中的每个图像可以参考PPS 715。需要说明的是,虽然每个图像都参考PPS 715,但是在一些示例中,单个PPS 715可以包括多个图像的数据。例如,可以根据类似的参数对多个类似的图像进行译码。在这种情况下,单个PPS 715可以包括用于这些类似图像的数据。PPS 715可以表示可用于对应图像中的条带的编码工具、量化参数、偏移等。PPS715可以与特定的图像集725相关,码流700可以包括许多PPS 715。因此,每个PPS715可以包括标识PPS 715以供其它语法元素参考的PPS ID 732。在一些示例中,PPS ID732可以存储在PPS 715中的PPS图像参数集ID(pps_pic_parameter_set_id)语法元素中。
APS 716是包括应用于一个或多个图像725中的一个或多个条带727的语法元素/参数的语法结构。这种相关性可以根据在与条带727关联的条带头717中找到的语法元素来确定。例如,APS 716可以应用于第一图像721中的至少一个但小于全部的条带727,应用于第二图像725中的至少一个但小于全部的条带727等。APS 716可以根据APS 716中包括的参数分为多种类型。这些类型可以包括自适应环路滤波器(adaptive loop filter,ALF)APS、亮度映射与色度缩放(luma mapping with chroma scaling,LMCS)APS和/或缩放列表(Scaling)APS。ALF是一种基于块的自适应滤波器,它包括由可变参数控制的传递函数,并使用反馈环路的反馈来修正传递函数。此外,ALF用于校正由于基于块的译码而发生的模糊和振铃伪影等编码伪影(例如,误差)。因此,包括在ALF APS中的ALF参数可以包括由编码器选择的参数,以使ALF在解码器侧进行解码期间删除基于块的编码伪影。LMCS是作为解码过程的一部分应用的过程,所述过程将亮度样本映射到特定值,在一些情况下,还将缩放操作应用于色度样本的值。LMCS工具可以根据到对应的色度分量的映射来重塑亮度分量,以减少率失真。因此,LMCS APS包括编码器选择的参数,使得LMCS工具可以重塑亮度分量。缩放列表
APS包括与指定滤波器使用的量化矩阵关联的编码工具参数。因此,APS 716可以包括用于
在HRD的一致性测试期间和/或在解码器侧进行解码期间将各种滤波器应用于经译码条带
727的参数。APS 716可以与特定的条带集727相关,码流700可以包括许多APS716。因此,每个APS 716可以包括标识APS 716以供其它语法元素参考的APS ID 731。在一些示例中,APS ID 731可以存储在APS 716中的APS自适应参数集ID(aps_adaptation_parameter_set_id)语法元素中。
图像头718是一种语法结构,包括应用于经编码图像725中的所有条带727的语法元素。例如,图像头718可以包括图像顺序编号信息、参考图像数据、与帧内随机接入点(intra-random access point,IRAP)图像有关的数据、与图像725的滤波器应用有关的数据,PU可以包括正好一个图像头718和一个图像725。因此,码流700可以包括每个图像725正好一个图像头718。图像头718还可以指定PPS ID 732,所述PPS ID 732表示哪个PPS 715包括与对应于图像头718的图像725相关的参数。在特定示例中,PPS ID 732可以作为图像头(picture header,PH)图像参数集ID(ph_pic_parameter_set_id)存储在图像头718中。图像头718还可以指定APS ID 731,所述APS ID 731表示哪个APS 716包括与对应于图像头718的图像725相关的参数。在特定示例中,APS ID 731可以作为PH缩放列表APS ID(ph_scaling_list_aps_id)或PH LMCS APS ID(ph_lmcs_aps_id)存储在图像头718中,具体取决于示例。
条带头717包括图像725中每个条带727特定的参数。因此,视频序列中的每个条带727可以有一个条带头717。条带头717可以包括条带类型信息、滤波信息、预测权重、分块入口点、去块效应参数等。在一些情况下,对于图像725中的所有条带727,语法元素可以是相同的。为了减少冗余,图像头718和条带头717可以共用某些类型的信息。例如,当某些参数(例如,滤波参数)应用于整个图像725时,这些参数可以包括在图像头718中,或者当这些参数应用于作为整个图像725的子集的一组条带727时,可以包括在条带头717中。条带头717还可以指定APS ID 731,所述APS ID 731表示哪个APS 716包括与对应于条带头717的条带727相关的参数。在特定示例中,APS ID 731可以作为用于亮度分量的条带头(sliceheader,SH)ALF APS ID(sh_alf_aps_id_luma)或用于色度分量的SH ALF APS ID(sh_alf_aps_id_chroma)存储在条带头717中,具体取决于示例。
图像数据720包括根据帧间预测和/或帧内预测编码的视频数据以及对应的变换和量化残差数据。例如,图像数据720可以包括层723、图像725和/或条带727。层723是VCLNAL单元和关联的非VCL NAL单元的集合,所述VCL NAL单元共用由层ID(例如,nuh_layer_id729)指示的指定特征(例如,公共分辨率、帧率、图像大小等)。例如,层723可以包括共用相同nuh_layer_id 729的一组图像725。层723可以基本上类似于层631和/或632。nuh_layer_id 729是表示包括至少一个NAL单元的层723的标识符的语法元素。例如,称为基本层的最低质量层723可以包括最小nuh_layer_id 729值,nuh_layer_id 729值越大,层723的质量越高。因此,低层723是nuh_layer_id 729值较小的层723,高层是nuh_layer_id 729值较大的层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消息719是一种具有指定语义的语法结构,该语法结构传达解码过程不需要的信息,以便确定经解码图像中的样本的值。例如,SEI消息719可以包括支持HRD过程的数据或与解码器侧的码流700解码不直接相关的其它支持数据。
码流700可以译码为NAL单元的序列。NAL单元是视频数据和/或支持语法的容器。NAL单元可以是VCL NAL单元747或非VCL NAL单元。VCL NAL单元747是经译码以包括视频数据的NAL单元。具体地,VCL NAL单元747包括条带727和关联的条带头717。非VCL NAL单元是包括非视频数据的NAL单元,例如支持对视频数据进行解码、一致性检查的性能或其它操作的语法和/或参数。非VCL NAL单元可以包括VPS NAL单元741、SPS NAL单元743、PPS NAL单元745、APS NAL单元746、PH NAL单元748和SEI NAL单元749,这些单元分别包括VPS 711、SPS 713、PPS 715、APS 716、图像头718和SEI消息719。需要说明的是,上述NAL单元列表是示例性的,而不是详尽无遗的。
如上所述,不同层723中的图像725具有不同的特征。例如,不同层723中的图像725可以以不同的大小、分辨率、帧率等编码。这样,编码器可以根据解码器侧的约束条件将不同的层723发送到解码器。为了执行此功能,编码器可以将所有层723编码到单个码流中700。根据请求,编码器(或内容托管服务器的条带器)可以执行子码流提取过程,以在发送之前从码流700中删除无关信息。得到提取后的码流700,所述码流仅包括用于对请求层723进行解码的数据。这个过程可以通过使用NAL单元来完成。具体地,在每个NAL单元中包括nuh_layer_id 729。因此,nuh_layer_id 729包括在VPS NAL单元741、SPS NAL单元743、PPSNAL单元745、APS NAL单元746、PH NAL单元748、VCL NAL单元747和SEI NAL单元749中。所述子码流提取过程接收描述所请求层723的ID的目标范围。所述子码流提取过程可以删除具有目标范围外的nuh_layer_id 729值的所有NAL单元。这只留下在提取后的码流700中剩余的目标范围内具有nuh_layer_id 729的NAL单元,以便发送到解码器。这种方法存在的一个问题是,一些NAL单元与许多层723相关。例如,包括PPS 715的PPS NAL单元745和包括APS716的APS NAL单元746可以包括与一个或多个层723相关的数据。如果PPS NAL单元745或APS NAL单元746的nuh_layer_id 729在目标范围外,则可以通过子码流提取过程删除PPS715和/或APS 716。当发生这种情况时,PPS 715和/或APS 716不被发送到解码器。在这种情况下,解码器没有足够的数据来对提取后的码流700进行解码。
因此,码流700对PPS 715和APS 716应用约束条件,以确保在子码流提取过程期间,PPS NAL单元745和APS NAL单元746不会被错误地从码流700中删除。具体地,PPS 715和APS 716分别通过使用PPS ID 732和APS ID 731由图像头718和/或条带头717参考。PPS715和/或PPS NAL单元745被限制包括小于或等于所有VCL NAL单元747的nuh_layer_id729值的nuh_layer_id 729值,所述VCL NAL单元747参考PPS NAL单元745中的PPS 715。所述子码流提取过程可以根据对nuh_layer_id 729值或更小值的请求对一组层进行操作。因此,约束条件确保在PPS 715与具有请求范围内的nuh_layer_id 729值的VCL NAL单元747关联时PPS NAL单元745包括nuh_layer_id 729值,所述nuh_layer_id 729值被限制于请求范围内。因此,除非PPS NAL单元745的nuh_layer_id 729值小于或等于特定VCL NAL单元747的nuh_layer_id 729值,否则特定VCL NAL单元747不参考PPS NAL单元745。在特定实现方式中,当图像头718中的ph_pic_parameter_set_id被设置等于PPS 715中的pps_pic_parameter_set_id时,PPS 715的nuh_layer_id 729被限制小于或等于与图像725关联的VCL NAL单元747中的nuh_layer_id 729。
同样,APS 716和/或APS NAL单元746被限制包括小于或等于所有VCL NAL单元747的nuh_layer_id 729值的nuh_layer_id 729值,所述VCL NAL单元747参考APS NAL单元746中的APS 716。所述子码流提取过程可以根据对nuh_layer_id 729值或更小值的请求对一组层进行操作。因此,约束条件确保在APS 716与具有请求范围内的nuh_layer_id 729值的VCL NAL单元747关联时APS NAL单元746包括nuh_layer_id 729值,所述nuh_layer_id 729值被限制于请求范围内。因此,除非APS NAL单元746的nuh_layer_id 729值小于或等于特定VCL NAL单元747的nuh_layer_id 729值,否则特定VCL NAL单元747不参考APS NAL单元746。在特定实现方式中,当图像头718和/或条带头717中的ph_scaling_list_aps_id、ph_lmcs_aps_id、sh_alf_aps_id_luma和/或sh_alf_aps_id_chroma被设置等于APS 716中的aps_adaptation_parameter_set_id,APS 716的nuh_layer_id 729被限制小于或等于与条带727关联的VCL NAL单元747中的nuh_layer_id 729。
通过确保PPS NAL单元745和APS NAL单元746具有比参考这些NAL单元的所有VCLNAL单元747小的nuh_layer_id 729,PPS 715和APS 716不能通过子码流提取过程删除,该过程也保留了参考PPS/APS的VCL NAL单元747。因此,避免了子码流提取相关的错误。这样,编码器和解码器的功能增加。此外,通过正确删除不需要的NAL单元,提高了编码效率,减少了编码器和解码器侧的处理器、存储器和/或网络信令资源的使用。
下文更详细地描述上述信息。分层视频编码也被称为可分级视频编码或具有可分级性的视频编码。视频译码的可分级性通常可以通过使用多层译码技术来支持。多层码流包括基本层(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-layerprediction,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为通过将PPS和APS的层ID限制于码流中而将视频序列编码到码流(例如,码流700)中的示例性方法900的流程图。方法900可以由编解码系统200、编码器300和/或视频译码设备800等编码器在执行方法100时执行。此外,方法900可以在HRD 500上操作,因此可以在多层视频序列600上执行一致性测试。
方法900可以开始于:编码器接收包括视频序列,并根据用户输入等确定将所述视频序列编码到多层码流中。在步骤901中,编码器将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单元关联。可以对非VCL NAL单元的nuh_layer_id应用约束条件,以确保非VCLNAL单元与VCL NAL单元正确关联,并且在发送到解码器之前通过子码流提取过程从码流中删除所述非VCL NAL单元。
在步骤903中,编码器将PPS编码到码流中。PPS被编码到PPS NAL单元中。PPS NAL单元是与一个或多个层关联的非VCL NAL单元的示例。根据除非PPS NAL单元的nuh_layer_id值小于或等于特定VCL NAL单元的nuh_layer_id值,否则特定VCL NAL单元不参考/不可以参考PPS NAL单元的约束条件,对PPS NAL单元进行译码。换句话说,PPS和/或PPS NAL单元被限制包括小于或等于所有VCL NAL单元的nuh_layer_id值的nuh_layer_id值,所述VCLNAL单元参考PPS NAL单元中的PPS。这种约束条件或要求确保码流符合(例如)VVC或一些其它标准,如本文所示修改。然而,编码器也可以能够在其不受如此限制的其它模式下运行,例如在不同标准或同一标准的不同版本下运行时。约束条件中描述的特定VCL NAL单元可以包括经编码图像中的条带,并且可以与包括与条带有关的数据元素的头(例如,条带头和/或图像头)关联。头表示PPS的PPS ID。头中的PPS ID表示条带参考PPS NAL单元,因此所述约束条件适用。
在步骤905中,编码器将APS编码到码流中。APS被编码到APS NAL单元中。APS NAL单元是与一个或多个层关联的非VCL NAL单元的示例。根据除非APS NAL单元的nuh_layer_id值小于或等于特定VCL NAL单元的nuh_layer_id值,否则特定VCL NAL单元不参考APSNAL单元的约束条件,对APS NAL单元进行译码。换句话说,APS和/或APS NAL单元被限制包括小于或等于所有VCL NAL单元的nuh_layer_id值的nuh_layer_id值,所述VCL NAL单元参考APS NAL单元中的APS。特定VCL NAL单元可以包括经编码图像中的条带,并且可以与包括与条带有关的数据元素的头(例如,条带头和/或图像头)关联。头表示APS的APS ID。头中的APS ID表示条带参考APS NAL单元,因此所述约束条件适用。上述约束条件和/或要求确保码流符合(例如)VVC或一些其它标准,如本文所示修改。然而,编码器也可以能够在其不受如此限制的其它模式下运行,例如在不同标准或同一标准的不同版本下运行时。
在步骤907中,编码器可以存储码流,以根据请求将所述码流发送到解码器。接收到请求之后,编码器和/或对应的条带器还可以执行子码流提取过程,以在步骤909中根据nuh_layer_id值从码流中删除NAL单元。此过程产生仅包括与请求层关联的VCL NAL单元和非VCL NAL单元的码流。由于上述约束条件,当请求层中的VCL NAL单元参考PPS/PPS NAL单元和/或APS/APS NAL单元时,PPS/PPS NAL单元和/或APS NAL单元保留在码流中,并在请求层中的VCL NAL单元不参考PPS/PPS NAL单元和/或APS/APS NAL单元时从码流中删除这些单元。然后,提取后的码流可以发送到解码器以进行解码和输出。
图10为从码流(例如,码流700)中解码视频序列的示例性方法1000的流程图,其中,码流中PPS和APS的层ID被限制。方法1000可以由编解码系统200、解码器400和/或视频译码设备800等解码器在执行方法100时执行。此外,方法1000可以用于已经由HRD(例如HRD500)检查一致性的多层视频序列600上。
解码器开始接收表示多层视频序列的经译码数据的码流,例如作为方法900的结果或响应于解码器的请求时,开始执行方法1000。在步骤1001中,解码器接收包括PPS NAL单元中的PPS、APS NAL单元中的APS和VCL NAL单元集中的经编码图像的码流。例如,经编码图像可以包括在层中。此外,码流可以包括一个或多个层,所述一个或多个层包括经编码图像。层可以包括具有相同层ID的VCL NAL单元和关联的非VCL NAL单元的集合。例如,当VCLNAL单元集都具有特定值nuh_layer_id时,VCL NAL单元集是层的一部分。层可以包括VCLNAL单元集,这些VCL NAL单元包括经编码图像的视频数据,以及用于对这些图像进行译码的任何参数集。一个或多个层可以是输出层。非输出层的层被编码以支持重建输出层,但这些支持层并不打算输出。这样,解码器可以根据网络条件、硬件能力和/或用户设置获得视频序列的不同表示。层还包括各种非VCL NAL单元。非VCL NAL单元与一组都具有特定nuh_layer_id值的VCL NAL单元关联。可以对非VCL NAL单元的nuh_layer_id应用约束条件,以确保非VCL NAL单元与VCL NAL单元正确关联,并且在发送到解码器之前通过子码流提取过程从码流中删除所述非VCL NAL单元。
PPS NAL单元是与一个或多个层关联的非VCL NAL单元的示例。根据除非PPS NAL单元的nuh_layer_id值小于或等于特定VCL NAL单元的nuh_layer_id值,否则(VCL NAL单元集中的)特定VCL NAL单元不参考/不可以参考PPS NAL单元的约束条件,对PPS NAL单元进行译码。换句话说,PPS和/或PPS NAL单元被限制包括小于或等于所有VCL NAL单元的nuh_layer_id值的nuh_layer_id值,所述VCL NAL单元参考PPS NAL单元中的PPS。特定VCLNAL单元可以包括经编码图像中的条带,并且可以与包括与条带有关的数据元素的头(例如,条带头和/或图像头)关联。头表示PPS的PPS ID。头中的PPS ID表示条带参考PPS NAL单元,因此所述约束条件适用。
APS NAL单元是与一个或多个层关联的非VCL NAL单元的另一个示例。根据除非APS NAL单元的nuh_layer_id值小于或等于特定VCL NAL单元的nuh_layer_id值,否则特定VCL NAL单元不参考APS NAL单元的约束条件,对APS NAL单元进行译码。换句话说,APS和/或APS NAL单元被限制包括小于或等于所有VCL NAL单元的nuh_layer_id值的nuh_layer_id值,所述VCL NAL单元参考APS NAL单元中的APS。特定VCL NAL单元可以包括经编码图像中的条带,并且可以与包括与条带有关的数据元素的头(例如,条带头和/或图像头)关联。头表示APS的APS ID。头中的APS ID表示条带参考APS NAL单元,因此所述约束条件适用。
在步骤1001中接收的码流是根据nuh_layer_id值从所述码流中删除NAL单元的子码流提取过程的结果。此过程产生仅包括与请求层关联的VCL NAL单元和非VCL NAL单元的码流。由于上述约束条件,当接收层中的VCL NAL单元参考PPS/PPS NAL单元和/或APS/APSNAL单元时,PPS/PPS NAL单元和/或APS NAL单元保留在码流中,并在接收层中的VCL NAL单元不参考PPS/PPS NAL单元和/或APS/APS NAL单元时从码流中删除这些单元。在一个实施例中,视频解码器期望VCL NAL单元、PPS NAL单元和APS NAL单元包括如上所述根据VVC或一些其它标准限制的nuh_layer_id。然而,如果解码器确定此条件不成立,则解码器可以检测到错误、发出错误信号、请求重新发送修订后的码流(或其一部分),或采取一些其它纠正措施来确保接收到一致的码流。
在步骤1003中,解码器可以根据PPS NAL单元中的PPS和/或APS NAL单元中的APS,从VCL NAL单元集中解码经编码图像,以产生经解码图像。在步骤1005中,解码器可以转发经解码图像以作为解码视频序列的一部分进行显示。
图11为使用码流对视频序列进行译码的示例性系统1100的示意图,其中,所述码流中的PPS和APS的层ID被限制。系统1100可以由编解码系统200、编码器300、解码器400和/或视频译码设备800等编码器和解码器实现。此外,系统1100可以采用HRD 500对多层视频序列600和/或码流700执行一致性测试。此外,系统1100可以用于实现方法100、方法900和/或方法1000。
系统1100包括视频编码器1102。视频编码器1102包括编码模块1105,用于将VCLNAL单元集中的经编码图像编码到码流中。编码模块1105还用于:根据除非PPS NAL单元的nuh_layer_id值小于或等于特定VCL NAL单元的nuh_layer_id值,否则(VC NAL单元集中的)特定VCL NAL单元不参考PPS NAL单元的约束条件,将PPS NAL单元中的PPS编码到码流中。视频编码器1102还包括存储模块1106,用于存储码流,以将所述码流发送到解码器。视频编码器1102还包括发送模块1107,用于将码流发送到视频解码器1110。视频编码器1102还可以用于执行方法900的任一步骤。
系统1100还包括视频解码器1110。视频解码器1110包括接收模块1111,用于接收包括PPS NAL单元中的PPS和VCL NAL单元集中的经编码图像的码流,其中,除非PPS NAL单元的nuh_layer_id值小于或等于特定VCL NAL单元的nuh_layer_id值,否则特定VCL NAL单元不参考PPS NAL单元。视频解码器1110还包括解码模块1113,用于根据PPS NAL单元中的PPS,从VCL NAL单元集中解码经编码图像,以产生经解码图像。视频解码器1110还包括转发模块1115,用于转发经解码图像,以显示为解码视频序列的一部分。视频解码器1110还可以用于执行方法1000的任一步骤。
当第一组件和第二组件之间除了线、迹或其它介质之外没有其它中间组件时,第一组件直接与第二组件耦合。当第一组件和第二组件之间存在线、迹或其它介质之外的其它中间组件时,第一组件间接与第二组件耦合。术语“耦合”及其变体包括直接耦合和间接耦合。除非另有说明否则使用术语“约”是指以下描述的数字的±10%。
还应当理解,本文中阐述的示例性方法的步骤不一定需要按照所描述的顺序执行,并且这些方法的步骤的顺序应当理解为仅仅是示例性的。同样地,在与本发明各种实施例相一致的方法中,这些方法可以包括其它步骤,并且某些步骤可以省略或合并。
虽然本发明提供多个具体实施例,但应当理解,所公开的系统和方法也可通过其它多种具体形式体现,而不会脱离本发明的精神或范围。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或组件可以在另一系统中组合或集成,或者某些特征可以省略或不实现。
此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、组件、技术或方法进行组合或集成。其它改变、替换、更替示例对本领域技术人员而言是显而易见的,均不脱离本文所公开的精神和范围。

Claims (31)

1.一种由解码器实现的方法,其特征在于,所述方法包括:
所述解码器的接收器接收码流,所述码流包括图像参数集PPS网络抽象层NAL单元中的PPS以及包括视频编码层VCL NAL单元集的经编码图像,其中,当所述PPS NAL单元的NAL单元头层标识符nuh_layer_id值小于或等于特定VCL NAL单元的nuh_layer_id值时,所述特定VCL NAL单元参考所述PPS NAL单元;
所述解码器的处理器根据所述PPS NAL单元中的所述PPS,从所述VCL NAL单元集中解码所述经编码图像,以产生经解码图像;
其中,所述特定VCL NAL单元包括所述经编码图像中的条带和包括与所述条带有关的数据元素的头,所述头表示自适应参数集APS的APS标识符ID。
2.根据权利要求1所述的方法,其特征在于,所述码流还包括APS NAL单元中的自适应参数集APS;当所述APS NAL单元的nuh_layer_id值小于或等于所述特定VCL NAL单元的所述nuh_layer_id值时,所述特定VCL NAL单元参考所述APS NAL单元。
3.根据权利要求1所述的方法,其特征在于,所述特定VCL NAL单元包括所述经编码图像中的条带,所述条带与包括应用于所述经编码图像中的所述条带的语法元素的头关联,所述条带的语法元素的头表示所述PPS的PPS ID。
4.根据权利要求1所述的方法,其特征在于,所述码流是根据nuh_layer_id值从所述码流中删除NAL单元的子码流提取过程的结果。
5.根据权利要求1至4中任一项所述的方法,其特征在于,当所述VCL NAL单元集都具有特定nuh_layer_id值时,所述VCL NAL单元集是层的一部分。
6.根据权利要求5所述的方法,其特征在于,所述层包括与都具有特定nuh_layer_id值的所述VCL NAL单元集关联的非VCL NAL单元。
7.根据权利要求1所述的方法,其特征在于,还包括:
所述解码器接收第二码流,其中,所述第二码流包括第二PPS NAL单元中的第二PPS和包括第二VCL NAL单元集的第二经编码图像,第二VCL NAL单元参考所述第二PPS NAL单元,所述第二PPS NAL单元的nuh_layer_id值不小于或等于所述第二VCL NAL单元的nuh_layer_id值;
在所述接收之后,采取一些其它纠正措施,以确保在从所述第二VCL NAL单元集中解码所述经编码图像之前,对应于所述第二码流的一致性码流被接收。
8.一种由编码器实现的方法,其特征在于,所述方法包括:
所述编码器的处理器将包括视频编码层VCL网络抽象层NAL单元集的经编码图像编码到码流中;
所述处理器根据当图像参数集PPS NAL单元的NAL单元头层标识符nuh_layer_id值小于或等于特定VCL NAL单元的nuh_layer_id值时,所述特定VCL NAL单元参考所述PPS NAL单元的约束条件,将所述PPS NAL单元中的PPS编码到所述码流中;
与所述处理器耦合的存储器存储所述码流,以将所述码流发送到解码器;
其中,所述特定VCL NAL单元包括所述经编码图像中的条带和包括与所述条带有关的数据元素的头,所述头表示自适应参数集APS的APS标识符ID。
9.根据权利要求8所述的方法,其特征在于,还包括:所述处理器根据当所述PPS NAL单元的nuh_layer_id值小于或等于特定VCL NAL单元的nuh_layer_id值时,所述特定VCL NAL单元参考自适应参数集APS NAL单元的约束条件,将所述APS NAL单元中的APS编码到所述码流中。
10.根据权利要求8所述的方法,其特征在于,所述特定VCL NAL单元包括所述经编码图像中的条带,所述条带与包括应用于所述经编码图像中的所述条带的语法元素的头关联,所述条带的语法元素的头表示所述PPS的PPS ID。
11.根据权利要求8所述的方法,其特征在于,还包括:所述处理器根据nuh_layer_id值执行子码流提取过程,以从所述码流中删除NAL单元。
12.根据权利要求8至11中任一项所述的方法,其特征在于,当所述VCL NAL单元集都具有特定nuh_layer_id值时,所述VCL NAL单元集是层的一部分。
13.根据权利要求12所述的方法,其特征在于,所述层包括与都具有特定nuh_layer_id值的所述VCL NAL单元集关联的非VCL NAL单元。
14.一种视频译码设备,其特征在于,包括:
处理器、与所述处理器耦合的接收器、与所述处理器耦合的存储器和与所述处理器耦合的发送器,其中,所述处理器、接收器、存储器用于执行根据权利要求1至13中任一项所述的方法,所述发送器用于将码流发送到解码器。
15.一种非瞬时性计算机可读介质,其特征在于,包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令,当处理器执行所述计算机可执行指令时,所述视频译码设备执行根据权利要求1至13中任一项所述的方法。
16.一种解码器,其特征在于,包括:
接收模块,用于接收码流,其中,所述码流包括图像参数集PPS网络抽象层NAL单元中的PPS以及包括视频编码层VCL NAL单元集的经编码图像,当所述PPS NAL单元的NAL单元头层标识符nuh_layer_id值小于或等于特定VCL NAL单元的nuh_layer_id值时,所述特定VCLNAL单元参考所述PPS NAL单元;
解码模块,用于根据所述PPS NAL单元中的所述PPS,从所述VCL NAL单元集中解码所述经编码图像,以产生经解码图像;
转发模块,用于转发所述经解码图像,以将所述经解码图像显示为解码视频序列的一部分;
其中,所述特定VCL NAL单元包括所述经编码图像中的条带和包括与所述条带有关的数据元素的头,所述头表示自适应参数集APS的APS标识符ID。
17.根据权利要求16所述的解码器,其特征在于,所述解码器还用于执行根据权利要求2至7中任一项所述的方法。
18.一种编码器,其特征在于,包括:
编码模块,用于:
将包括视频编码层VCL网络抽象层NAL单元集的经编码图像编码到码流中;
根据当图像参数集PPS NAL单元的NAL单元头层标识符nuh_layer_id值小于或等于特定VCL NAL单元的nuh_layer_id值时,所述特定VCL NAL单元参考所述PPS NAL单元的约束条件,将所述PPS NAL单元中的PPS编码到所述码流中;
存储模块,用于存储所述码流,以将所述码流发送到解码器;
其中,所述特定VCL NAL单元包括所述经编码图像中的条带和包括与所述条带有关的数据元素的头,所述头表示自适应参数集APS的APS标识符ID。
19.根据权利要求18所述的编码器,其特征在于,所述编码器还用于执行根据权利要求9至13中任一项所述的方法。
20.一种由解码器实现的方法,其特征在于,所述方法包括:
所述解码器的接收器接收码流,其中,所述码流包括图像参数集PPS网络抽象层NAL单元中的PPS以及包括视频编码层VCL NAL单元集的经编码图像,参考所述PPS的VCL NAL单元被限制包括小于或等于所述PPS NAL单元的NAL单元头层标识符nuh_layer_id值的nuh_layer_id值;
所述解码器的处理器根据所述PPS NAL单元中的所述PPS,从所述VCL NAL单元集中解码所述经编码图像,以产生经解码图像;
其中,每个VCL NAL单元包括所述经编码图像中的条带和包括与所述条带有关的数据元素的头,所述头表示自适应参数集APS的APS标识符ID。
21.根据权利要求20所述的方法,其特征在于,所述码流还包括自适应参数集APS NAL单元中的APS,参考所述APS的VCL NAL单元被限制包括小于或等于所述APS NAL单元的nuh_layer_id值的nuh_layer_id值。
22.根据权利要求20所述的方法,其特征在于,每个VCL NAL单元包括所述经编码图像中的条带,所述条带与包括应用于所述经编码图像中的所述条带的语法元素的头关联,所述条带的语法元素的头表示所述PPS的PPS ID。
23.根据权利要求20所述的方法,其特征在于,所述码流是根据nuh_layer_id值从所述码流中删除NAL单元的子码流提取过程的结果。
24.根据权利要求20至22中任一项所述的方法,其特征在于,当所述VCL NAL单元集都具有特定nuh_layer_id值时,所述VCL NAL单元集是层的一部分。
25.根据权利要求23所述的方法,其特征在于,所述层包括与都具有特定nuh_layer_id值的所述VCL NAL单元集关联的非VCL NAL单元。
26.一种由编码器实现的方法,其特征在于,所述方法包括:
所述编码器的处理器将包括视频编码层VCL网络抽象层NAL单元集的经编码图像编码到码流中;
所述处理器根据参考图像参数集PPS的VCL NAL单元被限制包括小于或等于PPS NAL单元的NAL单元头层标识符nuh_layer_id值的nuh_layer_id值的约束条件,将所述PPS NAL单元中的PPS编码到所述码流中;
与所述处理器耦合的存储器存储所述码流,以将所述码流发送到解码器;
其中,每个VCL NAL单元包括所述经编码图像中的条带和包括与所述条带有关的数据元素的头,所述头表示自适应参数集APS的APS标识符ID。
27.根据权利要求26所述的方法,其特征在于,还包括:所述处理器根据参考自适应参数集APS NAL单元中的APS的VCL NAL单元被限制包括小于或等于APS NAL单元的nuh_layer_id值的nuh_layer_id值的约束条件,将所述APS编码到所述码流中。
28.根据权利要求26所述的方法,其特征在于,每个VCL NAL单元包括所述经编码图像中的条带,所述条带与包括应用于所述经编码图像中的所述条带的语法元素的头关联,所述条带的语法元素的头表示所述PPS的PPS ID。
29.根据权利要求26所述的方法,其特征在于,还包括:所述处理器根据nuh_layer_id值执行子码流提取过程,以从所述码流中删除NAL单元。
30.根据权利要求26至29中任一项所述的方法,其特征在于,当所述VCL NAL单元集都具有特定nuh_layer_id值时,所述VCL NAL单元集是层的一部分。
31.根据权利要求30所述的方法,其特征在于,所述层包括与都具有特定nuh_layer_id值的所述VCL NAL单元集关联的非VCL NAL单元。
CN202210439325.4A 2019-09-24 2020-09-17 解码器、编码器及其实现的方法 Active CN114979663B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210439325.4A CN114979663B (zh) 2019-09-24 2020-09-17 解码器、编码器及其实现的方法

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962905236P 2019-09-24 2019-09-24
US62/905,236 2019-09-24
PCT/US2020/051311 WO2021061492A1 (en) 2019-09-24 2020-09-17 Layer based parameter set nal unit constraints
CN202210439325.4A CN114979663B (zh) 2019-09-24 2020-09-17 解码器、编码器及其实现的方法
CN202080066831.2A CN114514703A (zh) 2019-09-24 2020-09-17 基于层的参数集nal单元约束条件

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202080066831.2A Division CN114514703A (zh) 2019-09-24 2020-09-17 基于层的参数集nal单元约束条件

Publications (2)

Publication Number Publication Date
CN114979663A CN114979663A (zh) 2022-08-30
CN114979663B true CN114979663B (zh) 2023-08-04

Family

ID=75166352

Family Applications (11)

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

Family Applications Before (5)

Application Number Title Priority Date Filing Date
CN202080066835.0A Pending CN114450675A (zh) 2019-09-24 2020-09-17 Sei消息的时间标识符约束条件
CN202310750312.3A Pending CN116744002A (zh) 2019-09-24 2020-09-17 视频译码中的sei消息依赖简化
CN202210439500.XA Active CN114968894B (zh) 2019-09-24 2020-09-17 Sei消息的时间标识符约束条件
CN202080066863.2A Pending CN114450962A (zh) 2019-09-24 2020-09-17 用于分辨率改变的解码图像缓冲区操作
CN202210439711.3A Active CN115002467B (zh) 2019-09-24 2020-09-17 用于分辨率改变的解码图像缓冲区操作的方法和设备

Family Applications After (5)

Application Number Title Priority Date Filing Date
CN202080066831.2A Pending CN114514703A (zh) 2019-09-24 2020-09-17 基于层的参数集nal单元约束条件
CN202080066983.2A Pending CN114467262A (zh) 2019-09-24 2020-09-17 视频译码中的sei消息依赖简化
CN202210454061.XA Active CN114978232B (zh) 2019-09-24 2020-09-17 视频译码中的sei消息依赖简化
CN202080066880.6A Pending CN114424559A (zh) 2019-09-24 2020-09-17 后缀sei消息的可伸缩嵌套
CN202210411182.6A Active CN114845112B (zh) 2019-09-24 2020-09-17 后缀sei消息的可伸缩嵌套的方法、设备、介质、解码器和编码器

Country Status (11)

Country Link
US (6) US20220217411A1 (zh)
EP (5) EP4022778A4 (zh)
JP (9) JP7400088B2 (zh)
KR (5) KR20220065051A (zh)
CN (11) CN114450675A (zh)
AU (5) AU2020354368A1 (zh)
BR (6) BR122022007954A2 (zh)
CA (2) CA3152353A1 (zh)
CL (2) CL2022000702A1 (zh)
MX (2) MX2022003548A (zh)
WO (5) WO2021061493A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020156538A1 (en) 2019-02-03 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Interaction between mv precisions and mv difference coding
WO2020164580A1 (en) 2019-02-14 2020-08-20 Beijing Bytedance Network Technology Co., Ltd. Size selective application of decoder side refining tools
JP7321364B2 (ja) 2019-09-14 2023-08-04 バイトダンス インコーポレイテッド ビデオコーディングにおけるクロマ量子化パラメータ
AU2020354368A1 (en) * 2019-09-24 2022-04-14 Huawei Technologies Co., Ltd. Temporal identifier constraints for SEI messages
WO2021072177A1 (en) * 2019-10-09 2021-04-15 Bytedance Inc. Cross-component adaptive loop filtering in video coding
EP4029245A4 (en) * 2019-10-12 2022-11-23 Beijing Bytedance Network Technology Co., Ltd. HIGH LEVEL SYNTAX FOR VIDEO CODING TOOLS
JP7443509B2 (ja) 2019-10-14 2024-03-05 バイトダンス インコーポレイテッド ビデオコーディングにおけるクロマ量子化パラメータの使用
JP7508558B2 (ja) 2019-12-09 2024-07-01 バイトダンス インコーポレイテッド ビデオコーディングにおける量子化グループの使用
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
WO2021133721A1 (en) 2019-12-26 2021-07-01 Bytedance Inc. Techniques for implementing a decoding order within a coded picture
CN114902567A (zh) 2019-12-27 2022-08-12 字节跳动有限公司 视频编解码中的子图像信令
CN114902657A (zh) 2019-12-31 2022-08-12 字节跳动有限公司 视频编解码中的自适应颜色变换
EP4074052A4 (en) 2020-01-09 2023-05-31 ByteDance Inc. PROCESSING OF FILLER DATA UNITS IN VIDEO STREAMS
KR20220155292A (ko) * 2020-03-17 2022-11-22 바이트댄스 아이엔씨 비디오 코딩에서 설정한 비디오 파라미터 세트의 사용
AU2021276676B2 (en) 2020-05-22 2024-08-22 Bytedance Inc. Scalable nested SEI message handling in video sub-bitstream extraction process
CN115715466A (zh) * 2020-05-22 2023-02-24 抖音视界有限公司 子比特流提取处理中的填充符有效载荷
JP7549045B2 (ja) 2020-06-09 2024-09-10 バイトダンス インコーポレイテッド マルチレイヤ映像ビットストリームのサブビットストリーム抽出
KR20230159499A (ko) * 2021-04-19 2023-11-21 엘지전자 주식회사 미디어 파일 처리 방법 및 그 장치
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
CN105706451A (zh) * 2013-10-11 2016-06-22 Vid拓展公司 Hevc扩展的高级句法

Family Cites Families (64)

* 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
KR20080066784A (ko) * 2005-10-11 2008-07-16 노키아 코포레이션 규모가변적 비디오 코딩을 위한 효율적 디코딩 화상 버퍼관리
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
CA2673494C (en) * 2006-10-16 2014-07-08 Nokia Corporation System and method for using parallelly decodable slices for multi-view video coding
EP2137973B1 (en) * 2007-04-12 2019-05-01 InterDigital VC Holdings, Inc. Methods and apparatus for video usability information (vui) for scalable video coding (svc)
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
JPWO2013031315A1 (ja) * 2011-08-30 2015-03-23 ソニー株式会社 画像処理装置及び画像処理方法
US9131245B2 (en) * 2011-09-23 2015-09-08 Qualcomm Incorporated Reference picture list construction for video coding
US9578326B2 (en) * 2012-04-04 2017-02-21 Qualcomm Incorporated Low-delay video buffering in video coding
US20130272372A1 (en) * 2012-04-16 2013-10-17 Nokia Corporation Method and apparatus for video coding
US9979958B2 (en) * 2012-04-20 2018-05-22 Qualcomm Incorporated Decoded picture buffer processing for random access point pictures in video sequences
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
US9967583B2 (en) * 2012-07-10 2018-05-08 Qualcomm Incorporated Coding timing information 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
US9554146B2 (en) 2012-09-21 2017-01-24 Qualcomm Incorporated Indication and activation of parameter sets for video coding
US9479774B2 (en) * 2012-09-24 2016-10-25 Qualcomm Incorporated Buffering period and recovery point supplemental enhancement information messages
US9351005B2 (en) * 2012-09-24 2016-05-24 Qualcomm Incorporated Bitstream conformance test in video coding
US9319703B2 (en) * 2012-10-08 2016-04-19 Qualcomm Incorporated Hypothetical reference decoder parameter syntax structure
US20150237372A1 (en) * 2012-10-08 2015-08-20 Samsung Electronics Co., Ltd. Method and apparatus for coding multi-layer video and method and apparatus for decoding multi-layer video
WO2014059049A1 (en) * 2012-10-09 2014-04-17 Rodriguez Arturo A Output management of prior decoded pictures at picture format transitions in bitstreams
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
CN105379273B (zh) 2013-07-14 2019-03-15 夏普株式会社 对来自比特流的视频进行解码的方法和设备
US10250897B2 (en) 2013-07-14 2019-04-02 Sharp Kabushiki Kaisha Tile alignment signaling and conformance constraints
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
EP3057327A4 (en) * 2013-10-08 2017-05-17 Sharp Kabushiki Kaisha Image decoder, image encoder, and encoded data converter
WO2015052943A1 (en) * 2013-10-13 2015-04-16 Sharp Kabushiki Kaisha Signaling parameters in vps extension and dpb operation
WO2015056182A2 (en) 2013-10-15 2015-04-23 Nokia Technologies Oy Video encoding and decoding
US9860540B2 (en) * 2014-01-03 2018-01-02 Qualcomm Incorporated Inference of nooutputofpriorpicsflag in video coding
US20170171563A1 (en) * 2014-02-24 2017-06-15 Sharp Kabushiki Kaisha Restrictions on signaling
US20150264404A1 (en) * 2014-03-17 2015-09-17 Nokia Technologies Oy Method and apparatus for video coding and decoding
US9866869B2 (en) * 2014-03-17 2018-01-09 Qualcomm Incorporated POC value design for multi-layer video coding
US10178397B2 (en) * 2014-03-24 2019-01-08 Qualcomm Incorporated Generic use of HEVC SEI messages for multi-layer codecs
US9712871B2 (en) * 2014-05-01 2017-07-18 Qualcomm Incorporated Determination bitstream decoding capability in video coding
JP2017525215A (ja) 2014-06-19 2017-08-31 シャープ株式会社 復号方法
US20160112724A1 (en) * 2014-10-15 2016-04-21 Qualcomm Incorporated Hrd descriptor and buffer model of data streams for carriage of hevc extensions
US10455242B2 (en) 2015-03-04 2019-10-22 Qualcomm Incorporated Signaling output indications in codec-hybrid multi-layer video coding
MX369288B (es) * 2015-04-09 2019-11-04 Arris Entpr Llc Metodo y aparato para descubrimiento automatico de elementos en un sistema de codificadores.
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
CN108141619B (zh) * 2015-10-19 2020-11-20 联发科技股份有限公司 管理已解码图像缓存器的方法及装置
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
KR102661416B1 (ko) * 2019-02-27 2024-04-25 후아웨이 테크놀러지 컴퍼니 리미티드 인코더, 디코더 및 대응하는 방법
WO2020175893A1 (ko) * 2019-02-28 2020-09-03 엘지전자 주식회사 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
CN114391252A (zh) * 2019-07-08 2022-04-22 Lg电子株式会社 基于自适应环路滤波器的视频或图像编码
WO2021032747A1 (en) * 2019-08-19 2021-02-25 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Usage of access unit delimiters and adaptation parameter sets
KR102707780B1 (ko) * 2019-09-18 2024-09-20 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 적응형 루프 필터의 2-파트 시그널링
US11375223B2 (en) * 2019-09-20 2022-06-28 Tencent America LLC Method for signaling output layer set with sub-picture
AU2020352900A1 (en) * 2019-09-24 2022-04-14 Huawei Technologies Co., Ltd. Scalable Nesting SEI Messages For OLSs
AU2020354368A1 (en) * 2019-09-24 2022-04-14 Huawei Technologies Co., Ltd. Temporal identifier constraints for SEI messages
KR102707834B1 (ko) * 2019-10-29 2024-09-19 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 루마 차이를 이용한 크로스 컴포넌트 적응적 루프 필터

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105706451A (zh) * 2013-10-11 2016-06-22 Vid拓展公司 Hevc扩展的高级句法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Jianle Chen等.SHVC Working Draft 2.《Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,13th Meeting: Incheon, KR, 18–26 Apr. 2013,JCTVC-M1008》.2013,第8.1、F.3.2、F.3.9、F.7.4.2.4.2节. *

Also Published As

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

Similar Documents

Publication Publication Date Title
CN114979663B (zh) 解码器、编码器及其实现的方法
CN114430906B (zh) 用于实现时间可适性的图像时序和解码单元信息
CN114430905A (zh) 用于单层ols的sei消息
CN114424526B (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