CN113557733A - 视频译码中的逐步解码刷新 - Google Patents

视频译码中的逐步解码刷新 Download PDF

Info

Publication number
CN113557733A
CN113557733A CN202080020603.1A CN202080020603A CN113557733A CN 113557733 A CN113557733 A CN 113557733A CN 202080020603 A CN202080020603 A CN 202080020603A CN 113557733 A CN113557733 A CN 113557733A
Authority
CN
China
Prior art keywords
flag
picture
gdr
video
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.)
Pending
Application number
CN202080020603.1A
Other languages
English (en)
Inventor
弗努·亨德里
王业奎
陈建乐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN113557733A publication Critical patent/CN113557733A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/162User input
    • 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/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/1883Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/23Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with coding of regions that are present throughout a whole video segment, e.g. sprites, background or mosaic
    • 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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/12Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/55Motion estimation with spatial constraints, e.g. at image or region borders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6336Control signals issued by server directed to the network components or client directed to client directed to decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals

Landscapes

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

Abstract

本发明提供了一种由视频解码器实现的对经译码的视频码流进行解码的方法。所述方法包括:所述视频解码器确定第一标志的值是否由外部输入端提供;当所述第一标志的所述值由所述外部输入端提供时,将所述第一标志设置为等于所述外部输入端提供的值,以及将第二标志设置为等于所述第一标志的值,以防止输出逐步解码刷新(gradual decoding refresh,GDR)图像;对所述GDR图像进行解码;将所述GDR图像存储在解码图像缓冲器(decoded picture buffer,DPB)中。

Description

视频译码中的逐步解码刷新
相关申请案交叉引用
本专利申请要求Fnu Hendry等人于2019年3月11日提交的申请号为62/816,722、发明名称为“视频译码中的逐步解码刷新(Gradual Decoding Refresh in VideoCoding)”的美国临时专利申请案的权益以及要求Fnu Hendry等人于2019年7月5日提交的申请号为62/871,020、发明名称为“视频译码中的逐步解码刷新(Gradual DecodingRefresh in Video Coding)”的美国临时专利申请案的权益,这两个专利申请案的内容通过引用的方式并入本文本中。
技术领域
本发明大体上描述了支持视频译码中的逐步解码刷新的技术。更具体地,本发明实现渐进帧内刷新以在不需要使用帧内随机接入点(intra random access point,IRAP)图像的情况下启用随机接入。
背景技术
即使在视频较短的情况下,也需要大量的视频数据来描述,当数据要在带宽容量受限的通信网络中流式传输或以其它方式传输时,这样可能会造成困难。因此,视频数据通常要先压缩,然后在现代电信网络中发送。由于内存资源可能有限,当在存储设备上存储视频时,视频的大小也可能成为问题。视频压缩设备通常在信源侧使用软件和/或硬件对视频数据进行译码,然后进行传输或存储,从而减少表示数字视频图像所需的数据量。然后,由解码视频数据的视频解压缩设备在目的地侧接收压缩数据。在网络资源有限以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术在几乎不影响图像质量的情况下能够提高压缩比。
发明内容
第一方面涉及一种由视频解码器实现的对经译码的视频码流进行解码的方法。所述方法包括:所述视频解码器确定第一标志的值是否由外部输入端提供;当所述第一标志的所述值由所述外部输入端提供时,所述视频解码器将所述第一标志设置为等于所述外部输入端提供的值,以及将第二标志设置为等于所述第一标志,以防止输出逐步解码刷新(gradual decoding refresh,GDR)图像;所述视频解码器对所述GDR图像进行解码;所述视频解码器将所述GDR图像存储在解码图像缓冲器(decoded picture buffer,DPB)中。
所述方法提供实现渐进帧内刷新以在不需要使用帧内随机接入点(intra randomaccess point,IRAP)图像的情况下启用随机接入的技术。当所述第一标志的所述值由所述外部输入端提供时,第一标志被设置为等于外部输入端提供的值,第二标志被设置为等于所述第一标志,以防止输出逐步解码刷新(gradual decoding refresh,GDR)图像。例如,所述外部输入端可以是通过所述视频解码器的图形用户界面(graphic user interface,GUI)从用户(例如,网络管理员)接收的输入端。以这种方式设置所述第一标志和所述第二标志可防止可能将脏数据输出到显示器。也就是说,所述第一标志的所述值和所述第二标志控制是否可能输出来自所述GDR图像的脏数据,或者所述视频解码器是否等待完全同步以开始显示数据。通过具有限制输出脏数据的能力,视频译码中的编码器/解码器(又称为“编解码器”)相对于当前编解码器得到了改进。实际上,改进的视频译码过程在发送、接收和/或观看视频时提供了更好的用户体验。
根据所述第一方面,在所述方法的第一种实现方式中,当所述第一标志的所述值由所述外部输入端提供时,所述第一标志被设置为等于所述外部输入端提供的值,所述第二标志被设置为等于所述第一标志,以防止输出所述逐步解码刷新(gradual decodingrefresh,GDR)图像以及所述GDR图像与恢复点图像之间的按输出顺序排列的任何后置图像。
根据所述第一方面,在所述方法的第二种实现方式中,所述外部输入端是所述视频解码器的图形用户界面(graphic user interface,GUI),所述第一标志的所述值由所述视频解码器的用户使用所述外部输入端提供。
根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的第三种实现方式中,所述第一标志表示为HandleGdrAsCvsStartFlag。
根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的第四种实现方式中,所述第一标志的所述值和所述第二标志被设置为1(1),以防止输出所述GDR图像以及所述GDR图像与恢复点图像之间的按输出顺序排列的任何后置图像。
根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的第五种实现方式中,当所述第一标志的所述值不是由所述外部输入端提供时,所述第一标志的所述值被设置为0(0)。
第二方面涉及一种解码设备。所述解码设备包括:接收器,用于接收经译码的视频码流;存储器,耦合到所述接收器,所述存储器存储指令;处理器,耦合到所述存储器,所述处理器用于执行所述指令以使得所述解码设备进行以下操作:确定第一标志的值是否由外部输入端提供;当所述第一标志的所述值由所述外部输入端提供时,将所述第一标志设置为等于所述外部输入端提供的值,以及将第二标志设置为等于所述第一标志,以防止输出逐步解码刷新(gradual decoding refresh,GDR)图像;对所述GDR图像进行解码;将所述GDR图像存储在解码图像缓冲器(decoded picture buffer,DPB)中。
所述解码设备提供实现渐进帧内刷新以在不需要使用帧内随机接入点(intrarandom access point,IRAP)图像的情况下启用随机接入的技术。当所述第一标志的所述值由所述外部输入端提供时,第一标志被设置为等于外部输入端提供的值,第二标志被设置为等于所述第一标志,以防止输出逐步解码刷新(gradual decoding refresh,GDR)图像。例如,所述外部输入端可以是通过所述视频解码器的图形用户界面(graphic userinterface,GUI)从用户(例如,网络管理员)接收的输入端。以这种方式设置所述第一标志和所述第二标志可防止可能将脏数据输出到显示器。也就是说,所述第一标志的值和所述第二标志控制是否可能输出来自所述GDR图像的脏数据,或者所述视频解码器是否等待完全同步以开始显示数据。通过具有限制输出脏数据的能力,视频译码中的编码器/解码器(又称为“编解码器”)相对于当前编解码器得到了改进。实际上,改进的视频译码过程在发送、接收和/或观看视频时提供了更好的用户体验。
根据所述第二方面,在所述解码设备的第一种实现方式中,当所述第一标志的所述值由所述外部输入端提供时,所述第一标志被设置为等于所述外部输入端提供的值,所述第二标志被设置为等于所述第一标志,以防止输出所述逐步解码刷新(gradualdecoding refresh,GDR)图像以及所述GDR图像与恢复点图像之间的按输出顺序排列的任何后置图像。
根据所述第二方面,在所述解码设备的第二种实现方式中,所述外部输入端是所述视频解码器的图形用户界面(graphic user interface,GUI),所述第一标志的所述值由所述视频解码器的用户使用所述外部输入端提供。
根据所述第二方面,在所述解码设备的第三种实现方式中,所述第一标志表示为HandleGdrAsCvsStartFlag。
根据所述第二方面,在所述解码设备的第四种实现方式中,所述第一标志的所述值和所述第二标志被设置为1(1),以防止输出所述GDR图像以及所述GDR图像与恢复点图像之间的按输出顺序排列的任何后置图像。
根据所述第二方面,在所述解码设备的第五种实现方式中,当所述第一标志的所述值不是由所述外部输入端提供时,所述第一标志的所述值被设置为0(0)。
第三方面涉及一种译码装置。所述译码装置包括:接收器,用于接收图像进行编码或接收码流进行解码;发送器,耦合到所述接收器,所述发送器用于向解码器发送所述码流或向显示器发送经解码图像;存储器,耦合到所述接收器或所述发送器中的至少一个,所述存储器用于存储指令;处理器,耦合到所述存储器,所述处理器用于执行所述存储器中存储的所述指令,以执行本文公开的任一种方法。
所述译码装置提供实现渐进帧内刷新以在不需要使用帧内随机接入点(intrarandom access point,IRAP)图像的情况下启用随机接入的技术。当所述第一标志的所述值由所述外部输入端提供时,第一标志被设置为等于外部输入端提供的值,第二标志被设置为等于所述第一标志,以防止输出逐步解码刷新(gradual decoding refresh,GDR)图像。例如,所述外部输入端可以是通过所述视频解码器的图形用户界面(graphic userinterface,GUI)从用户(例如,网络管理员)接收的输入端。以这种方式设置所述第一标志和所述第二标志可防止可能将脏数据输出到显示器。也就是说,所述第一标志的所述值和所述第二标志控制是否可能输出来自所述GDR图像的脏数据,或者所述视频解码器是否等待完全同步以开始显示数据。通过具有限制输出脏数据的能力,视频译码中的编码器/解码器(又称为“编解码器”)相对于当前编解码器得到了改进。实际上,改进的视频译码过程在发送、接收和/或观看视频时提供了更好的用户体验。
根据所述第三方面,在所述译码装置的第一种实现方式中,所述译码装置还包括用于显示图像的显示器。
第四方面涉及一种系统。所述系统包括:编码器;解码器,与所述编码器通信,其中,所述编码器或所述解码器包括本文中所公开的解码设备、编码设备或译码装置。
所述系统提供实现渐进帧内刷新以在不需要使用帧内随机接入点(intra randomaccess point,IRAP)图像的情况下启用随机接入的技术。当所述第一标志的所述值由所述外部输入端提供时,第一标志被设置为等于外部输入端提供的值,第二标志被设置为等于所述第一标志,以防止输出逐步解码刷新(gradual decoding refresh,GDR)图像。例如,所述外部输入端可以是通过所述视频解码器的图形用户界面(graphic user interface,GUI)从用户(例如,网络管理员)接收的输入端。以这种方式设置所述第一标志和所述第二标志可防止可能将脏数据输出到显示器。也就是说,所述第一标志的值和所述第二标志控制是否可能输出来自所述GDR图像的脏数据,或者所述视频解码器是否等待完全同步以开始显示数据。通过具有限制输出脏数据的能力,视频译码中的编码器/解码器(又称为“编解码器”)相对于当前编解码器得到了改进。实际上,改进的视频译码过程在发送、接收和/或观看视频时提供了更好的用户体验。
第五方面涉及一种译码模块。所述译码模块包括:接收模块,用于接收图像进行编码或接收码流进行解码;发送模块,耦合到所述接收模块,所述发送模块用于向解码模块发送所述码流或向显示模块发送经解码图像;存储模块,耦合到所述接收模块或所述发送模块中的至少一个,所述存储模块用于存储指令;处理模块,耦合到所述存储模块,所述处理模块用于执行所述存储模块中存储的所述指令,以执行本文公开的任一种方法。
所述译码模块提供实现渐进帧内刷新以在不需要使用帧内随机接入点(intrarandom access point,IRAP)图像的情况下启用随机接入的技术。当所述第一标志的所述值由所述外部输入端提供时,第一标志被设置为等于外部输入端提供的值,第二标志被设置为等于所述第一标志,以防止输出逐步解码刷新(gradual decoding refresh,GDR)图像。例如,所述外部输入端可以是通过所述视频解码器的图形用户界面(graphic userinterface,GUI)从用户(例如,网络管理员)接收的输入端。以这种方式设置所述第一标志和所述第二标志可防止可能将脏数据输出到显示器。也就是说,所述第一标志的值和所述第二标志控制是否可能输出来自所述GDR图像的脏数据,或者所述视频解码器是否等待完全同步以开始显示数据。通过具有限制输出脏数据的能力,视频译码中的编码器/解码器(又称为“编解码器”)相对于当前编解码器得到了改进。实际上,改进的视频译码过程在发送、接收和/或观看视频时提供了更好的用户体验。
附图说明
为了更透彻地理解本发明,现参阅结合附图和具体实施方式而描述的以下简要说明,其中的相同附图标记表示相同部件。
图1为可利用GDR技术的示例性译码系统的框图。
图2为可实现GDR技术的示例性视频编码器的框图。
图3为可实现GDR技术的示例性视频解码器的框图。
图4是IRAP图像相对于按解码顺序和呈现顺序排列的前置图像和后置图像之间的关系的表示。
图5示出了一种逐步解码刷新技术。
图6为不需要的运动搜索的示意图。
图7为本发明实施例提供的用于实现逐步解码刷新技术的视频码流。
图8为对经译码的视频码流进行解码的方法的实施例。
图9为视频译码设备的示意图。
图10为译码模块的实施例的示意图。
具体实施方式
图1为可利用本文中所描述的视频译码技术的示例性译码系统10的框图。如图1所示,译码系统10包括源设备12,其中,所述源设备12提供稍后由目的设备14解码的经编码的视频数据。具体地,源设备12可以通过计算机可读介质16向目的设备14提供视频数据。源设备12和目的设备14可以包括以下多种设备中的任一种,包括台式计算机、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、“智能”手机和“智能”平板等电话手持机、电视、摄像机、显示设备、数字媒体播放器、视频游戏机、视频流设备等。在一些情况下,源设备12和目的设备14可配备用于无线通信的组件。
目的设备14可以通过计算机可读介质16接收待解码的经编码的视频数据。计算机可读介质16可以包括能够将经编码的视频数据从源设备12移动到目的设备14的任何类型的介质或设备。在一个示例中,计算机可读介质16可以包括通信介质,以使源设备12能够将经编码的视频数据直接实时地发送到目的设备14。经编码的视频数据可以根据无线通信协议等通信标准进行调制,并发送到目的设备14。通信介质可包括任何无线或有线通信介质,例如射频(radio frequency,RF)频谱或一条或多条物理传输线。所述通信介质可构成分组网络(如局域网、广域网、或因特网等全球网络)的一部分。所述通信介质可以包括路由器、交换机、基站或任何其它可用于从源设备12到目的设备14进行通信的设备。
在一些示例中,可以将经编码的数据从输出接口22输出到存储设备。类似地,可以通过输入接口从存储设备访问经编码的数据。所述存储设备可以包括各种分布式或本地访问数据存储介质中的任一种,如硬盘驱动器、蓝光光盘、数字视频磁盘(digital videodisk,DVD)、只读光盘存储器(Compact Disc Read-Only Memory,CD-ROM)、闪存、易失性或非易失性存储器,或用于存储经编码的视频数据的任何其它合适的数字存储介质。在另一示例中,存储设备可以对应于文件服务器或可以存储由源设备12生成的经编码的视频的另一中间存储设备。目的设备14可以通过流式传输或下载从存储设备中访问所存储的视频数据。所述文件服务器可以是能够存储经编码的视频数据并将该经编码的视频数据发送到目的设备14的任何类型的服务器。示例性文件服务器包括万维网服务器(例如,用于网站)、文件传输协议(file transfer protocol,FTP)服务器、网络附属存储(network attachedstorage,NAS)设备或本地磁盘驱动器。目的设备14可以通过任何标准数据连接(包括因特网连接)访问经编码的视频数据。所述标准数据连接可以包括无线信道(例如,Wi-Fi连接)、有线连接(例如,数字用户线(digital subscriber line,DSL)、电缆调制解调器等)或两者适于访问存储在文件服务器上的经编码的视频数据的组合。来自存储设备的经编码的视频数据的传输可以是流式传输、下载传输或其组合。
本发明中的技术不一定限于无线应用或设置。这些技术可以应用于视频译码以支持各种多媒体应用中的任一种,如空中电视广播、有线电视传输、卫星电视传输、互联网流视频传输(例如HTTP动态自适应流媒体(dynamic adaptive streaming over HTTP,DASH)、在数据存储介质上编码的数字视频、对存储在数据存储介质上的数字视频进行解码)或其它应用。在一些示例中,译码系统10可用于支持单向或双向视频传输,以支持视频流式传输、视频播放、视频广播和/或视频电话等应用。
在图1的示例中,源设备12包括视频源18、视频编码器20和输出接口22。目的设备14包括输入接口28、视频解码器30和显示设备32。根据本发明,源设备12的视频编码器20和/或目的设备14的视频解码器30可用于应用所述技术进行视频译码。在其它示例中,源设备和目的设备可以包括其它组件或装置。例如,源设备12可以从外部视频源(如外部摄像机)接收视频数据。同样地,目的设备14可以与外部显示设备连接,而不是包括集成显示设备。
图1所示的译码系统10仅是一个示例。视频译码技术可以由任何数字视频编码和/或解码设备执行。尽管本发明中的技术通常由视频译码设备执行,但这些技术也可以由视频编码器/解码器(通常称为“编解码器”)执行。此外,本发明中的技术还可以由视频预处理器执行。视频编码器和/或解码器可以是图形处理单元(graphics processing unit,GPU)或类似设备。
源设备12和目的设备14仅是此类译码设备的示例,其中,源设备12生成经译码的视频数据以发送到目的设备14。在一些示例中,源设备12和目的设备14可以基本上对称地操作,使得源设备12和目的设备14都包括视频编码和解码组件。因此,编码系统10可以支持视频设备12、14之间的单向或双向视频传输,例如用于视频流式传输、视频播放、视频广播或视频电话。
源设备12的视频源18可以包括视频捕获设备(如视频摄像机)、包括之前捕获的视频的视频存档,和/或从视频内容提供方接收视频的视频馈送接口。在另一替代方案中,视频源18可以生成基于计算机图形的数据作为源视频,或直播视频、存档视频和计算机生成视频的组合。
在一些情况下,当视频源18是视频摄像机时,源设备12和目的设备14可以形成摄像机手机或可视电话。然而,如上所述,本发明中描述的技术通常可用于视频译码,也可用于无线和/或有线应用。在每种情况下,可以由视频编码器20对所捕获、预捕获或计算机生成的视频进行编码。然后,可以通过输出接口22将经编码的视频信息输出到计算机可读介质16上。
计算机可读介质16可以包括瞬态介质,如无线广播或有线网络传输,或计算机可读介质16可包括非瞬时性存储介质,如硬盘、闪存驱动器、光盘、数字视频光盘、蓝光光盘,或其它计算机可读介质。在一些示例中,网络服务器(未示出)可以从源设备12接收经编码的视频数据,并且例如通过网络传输向目的设备14提供经编码的视频数据。类似地,介质生产设施(如光盘冲压设施)的计算设备可以从源设备12接收经编码的视频数据,并产生包括经编码的视频数据的光盘。因此,在各种示例中,计算机可读介质16可理解为包括一个或多个各种形式的计算机可读介质。
目的设备14的输入接口28从计算机可读介质16接收信息。计算机可读介质16的信息可以包括由视频编码器20定义的语法信息,其中,所述语法信息也由视频解码器30使用,所述语法信息包括描述块和其它译码单元(例如,图像组(group of picture,GOP))的特征和/或处理的语法元素。显示设备32向用户显示经解码的视频数据,并且可以包括各种显示设备中的任一种,如阴极射线管(cathode ray tube,CRT)、液晶显示器(liquid crystaldisplay,LCD)、等离子体显示器、有机发光二极管(organic light emitting diode,OLED)显示器或其它类型的显示设备。
视频编码器20和视频解码器30可以根据视频译码标准,如目前正在开发的高效视频译码(High Efficiency Video Coding,HEVC)标准进行操作,并且可符合HEVC测试模型(HEVC Test Model,HM)。或者,视频编码器20和视频解码器30可以根据其它专有或行业标准进行操作,如国际电信联盟电信标准化部门(International TelecommunicationsUnion Telecommunication Standardization Sector,ITU-T)H.264标准(还称为运动图像专家组(Motion Picture Expert Group,MPEG)-4第10部分)、高级视频编码(AdvancedVideo Coding,AVC)、H.265/HEVC或这些标准的扩展版本。然而,本发明中的技术不限于任何特定的译码标准。视频译码标准的其它示例包括MPEG-2和ITU-T H.263。尽管在图1中未示出,但是在一些方面中,视频编码器20和视频解码器30可以各自与音频编码器和音频解码器集成,并且可以包括合适的复用器-解复用器(multiplexer-demultiplexer,MUX-DEMUX)单元或其它硬件和软件,以对通用数据流或单独数据流中的音频和视频都进行编码处理。如果适用,MUX-DEMUX单元可以符合ITU H.223复用器协议,或用户数据报协议(userdatagram protocol,UDP)等其它协议。
视频编码器20和视频解码器30可以各自实现为各种合适的编码器电路中的任一种,如一个或多个微处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当所述技术部分地以软件形式实现时,设备可将软件的指令存储在合适的非瞬时性计算机可读介质中,并且使用一个或多个处理器以硬件形式执行所述指令,以执行本发明的技术。视频编码器20和视频解码器30各自可包括在一个或多个编码器或解码器中,其中任一者可作为组合式编码器/解码器(编解码器)的一部分集成在相应设备中。包括视频编码器20和/或视频解码器30的设备可以包括集成电路、微处理器和/或蜂窝电话等无线通信设备。
图2为可实现视频译码技术的示例性视频编码器20的框图。视频编码器20可以对视频条带内的视频块执行帧内译码和帧间译码。帧内译码依赖于空间预测来减少或去除给定视频帧或图像内视频中的空间冗余。帧间译码依赖于时间预测来减少或去除视频序列的相邻帧或图像内视频中的时间冗余。帧内模式(I模式)可以指几种基于空间的译码模式中的任意一种。帧间模式,如单向预测(P模式)或双向预测(B模式)可以指几种基于时间的译码模式中的任意一种。
如图2所示,视频编码器20接收待编码的视频帧内的当前视频块。在图2的示例中,视频编码器20包括模式选择单元40、参考帧存储器64、加法器50、变换处理单元52、量化单元54以及熵译码单元56。模式选择单元40又包括运动补偿单元44、运动估计单元42、帧内预测单元46和分割单元48。为了重建视频块,视频编码器20还包括反量化单元58、逆变换单元60和加法器62。也可以包括去块效应滤波器(图2中未示出),以对块边界进行滤波,从而从重建视频中去除块伪影。如果需要,去块效应滤波器通常将对加法器62的输出进行滤波。除去块效应滤波器外,还可以使用其它(环内或环后)滤波器。此类滤波器不是为了简洁性而示出,但是如果需要,可以对加法器50的输出进行滤波(作为环内滤波器)。
在编码过程中,视频编码器20接收待译码的视频帧或条带。帧或条带可以划分为多个视频块。运动估计单元42和运动补偿单元44相对于一个或多个参考帧中的一个或多个块对所接收的视频块执行帧间预测译码以提供时间预测。帧内预测单元46还可以相对于与待译码块位于同一帧或条带内的一个或多个相邻块对所接收的视频块进行帧内预测译码以提供空间预测。视频编码器20可以执行多个译码通道,例如,为每个视频数据块选择合适的译码模式。
此外,分割单元48可以根据在之前译码通道中对之前分割方案的评估将视频数据块分割成子块。例如,分割单元48可初始地将帧或条带分割成最大译码单元(largestcoding unit,LCU),并且根据速率失真分析(例如,速率失真优化)将每个LCU分割成子译码单元(子CU)。模式选择单元40还可以产生指示将LCU分割成子CU的四叉树数据结构。四叉树的叶节点CU可以包括一个或多个预测单元(prediction unit,PU)和一个或多个变换单元(transform unit,TU)。
本发明使用术语“块”来指代在HEVC上下文中CU、PU或TU中的任一个,或其它标准上下文中的类似数据结构(例如,H.264/AVC中的宏块及其子块)。CU包括译码节点、译码节点关联的PU和TU。CU的大小与译码节点的大小相对应,呈正方形。CU的大小范围可以为8×8个像素到最大值为64×64个像素或更大的树块大小。每个CU可以包括一个或多个PU和一个或多个TU。例如,与CU关联的语法数据可以描述将CU分割为一个或多个PU。是跳过CU还是对CU进行直接模式编码、帧内预测模式编码或帧间预测模式编码,分割模式可能有所不同。可以将PU分割成非正方形。例如,与CU关联的语法数据可以描述根据四叉树将CU分割为一个或多个TU。TU可以是正方形或非正方形(例如,矩形)。
模式选择单元40可以根据错误结果等选择帧内或帧间译码模式中的一种,将所得到的帧内或帧间译码块提供给加法器50以生成残差块数据,并提供给加法器62来重建编码块以用作参考帧。模式选择单元40还将语法元素,如运动矢量、帧内模式指示符、分割信息和其它此类语法信息提供给熵译码单元56。
运动估计单元42和运动补偿单元44可以高度集成,但出于概念目的,单独说明。由运动估计单元42执行的运动估计是生成运动矢量的过程,其中,所述运动矢量用于估计视频块的运动。例如,运动向量可以指示当前视频帧或图像中的视频块的PU相对于参考帧(或其它译码单元)内的预测块的位移,所述参考帧(或其它译码单元)中的预测块是相对于在当前帧(或其它译码单元)中译码的当前块而言的。预测块是在像素差方面与待译码块高度匹配的块,其中,所述像素差可以通过绝对差和(sum of absolute difference,SAD)、平方差和(sum of square difference,SSD)或其它差值度量进行确定。在一些示例中,视频编码器20可以计算存储在参考帧存储器64中的参考图像的子整数像素位置的值。例如,视频编码器20可以对参考图像的四分之一像素位置、八分之一像素位置或其它分数像素位置的值进行插值。因此,运动估计单元42可以执行相对于整像素位置和分数像素位置的运动搜索,并输出具有分数像素精度的运动矢量。
运动估计单元42通过比较PU的位置与参考图像的预测块的位置来计算帧间译码条带中视频块的PU的运动矢量。可从第一参考图像列表(列表0)或第二参考图像列表(列表1)中选择参考每个列表标识存储在参考帧存储器64中的一个或多个参考图像。运动估计单元42将计算后的运动矢量发送给熵译码单元56和运动补偿单元44。
由运动补偿单元44执行的运动补偿可以涉及根据运动估计单元42确定的运动矢量获取或生成预测块。另外,在一些示例中,运动估计单元42和运动补偿单元44可以在功能上集成。一旦接收到当前视频块的PU的运动矢量,运动补偿单元44可以定位在其中一个参考图像列表中运动矢量指向的预测块。加法器50通过从所译码的当前视频块的像素值中减去预测块的像素值,得到像素差值来形成残差视频块,如下文所述。通常,运动估计单元42相对于亮度分量执行运动估计,运动补偿单元44将根据亮度分量计算的运动矢量用于色度分量和亮度分量。模式选择单元40还可以生成与视频块和视频条带相关的语法元素,以供视频解码器30用于对视频条带的视频块进行解码。
帧内预测单元46可以对当前块进行帧内预测,作为由运动估计单元42和运动补偿单元44执行的帧间预测的替代方案,如上文所述。具体地,帧内预测单元46可以确定帧内预测模式,用于对当前块进行编码。在一些示例中,帧内预测单元46可以在单独的编码通道中等使用各种帧内预测模式对当前块进行编码,而帧内预测单元46(或者在一些示例中,模式选择单元40)可以从测试模式中选择合适的帧内预测模式进行使用。
例如,帧内预测单元46可以使用速率失真分析对各种测试的帧内预测模式计算速率失真值,并在测试的模式中选择具有最佳速率失真特性的帧内预测模式。速率失真分析通常确定编码块与经编码以产生编码块的原始未编码块之间的失真(或误差)量,以及用于产生编码块的码率(即,比特数)。帧内预测单元46可以根据各种编码块的失真和速率计算比率,以确定哪种帧内预测模式体现出最佳的块速率失真值。
此外,帧内预测单元46可以用于使用深度建模模式(depth modeling mode,DMM)对深度图的深度块进行译码。模式选择单元40可以确定可用的DMM模式产生的译码结果是否比帧内预测模式和其它DMM模式(例如,使用速率失真优化(rate-distortionoptimization,RDO))产生的译码结果更好。与深度图对应的纹理图像的数据可以存储在参考帧存储器64中。运动估计单元42和运动补偿单元44还可以用于对深度图的深度块进行帧间预测。
在为块选择帧内预测模式之后(例如,传统的帧内预测模式或DMM模式之一),帧内预测单元46可以将指示为块选择的帧内预测模式的信息提供给熵译码单元56。熵译码单元56可以对指示所选择的帧内预测模式的信息进行编码。视频编码器20可以在所发送的码流中包括配置数据,其中,所述配置数据包括多个帧内预测模式索引表和多个经修改的帧内预测模式索引表(也称为码字映射表)、各种块的编码上下文的定义,以及最可能的帧内预测模式、帧内预测模式索引表和经修改的帧内预测模式索引表的指示以用于每个上下文。
视频编码器20通过从所译码的原始视频块中减去模式选择单元40中的预测数据来形成残差视频块。加法器50表示执行该减法运算的一个或多个组件。
变换处理单元52对残差块应用变换,如离散余弦变换(discrete cosinetransform,DCT)或概念上类似的变换,从而产生包括残差变换系数值的视频块。变换处理单元52可以执行概念上类似于DCT的其它变换。还可以使用小波变换、整数变换、子带变换或其它类型的变换。
变换处理单元52对残差块应用变换,从而产生具有残差变换系数的块。变换可将残差信息从像素值域变换到变换域,例如频域。变换处理单元52可以将所得到的变换系数发送到量化单元54。量化单元54对变换系数进行量化以进一步降低码率。量化过程可以减少与部分或全部系数相关的位深度。可以通过调整量化参数来修改量化程度。在一些示例中,量化单元54随后可以对包括量化变换系数的矩阵进行扫描。或者,熵译码单元56可以执行扫描。
在量化后,熵译码单元56对经量化的变换系数进行熵译码。例如,熵译码单元56可以执行上下文自适应可变长度编码(context adaptive variable length coding,CAVLC)、上下文自适应二进制算术编码(context adaptive binary arithmetic coding,CABAC)、基于语法的上下文自适应二进制算术编码(syntax-based context-adaptivebinary arithmetic coding,SBAC)、概率区间分割熵(probability intervalpartitioning entropy,PIPE)译码或其它熵译码技术。在基于上下文的熵译码情况中,上下文可以基于相邻块。在熵译码单元56进行熵译码之后,可以将经编码的码流发送到另一设备(例如,视频解码器30)或存档以用于稍后发送或检索。
反量化单元58和逆变换单元60分别应用反量化和逆变换,以重建像素域中的残差块,例如,以供稍后用作参考块。运动补偿单元44可以通过将残差块添加到参考帧存储器64中的一个帧的预测块中来计算参考块。运动补偿单元44还可以将一个或多个插值滤波器应用于重建残差块,以计算子整数像素值以供用于运动估计中。加法器62将重建的残差块与由运动补偿单元44产生的运动补偿预测块相加,以产生重建的视频块,存储在参考帧存储器64中。运动估计单元42和运动补偿单元44可以将重建的视频块用作参考块,以对后续视频帧中的块进行帧内译码。
图3为可实现视频译码技术的示例性视频解码器30的框图。在图3的示例中,视频解码器30包括熵解码单元70、运动补偿单元72、帧内预测单元74、反量化单元76、逆变换单元78、参考帧存储器82和加法器80。在一些示例中,视频解码器30可执行通常与视频编码器20(图2)描述的编码过程相反的解码过程。运动补偿单元72可以根据从熵解码单元70接收的运动矢量生成预测数据,而帧内预测单元74可以根据从熵解码单元70接收的帧内预测模式指示符生成预测数据。
在解码过程中,视频解码器30从视频编码器20接收表示经编码的视频条带的视频块的经编码的视频码流以及相关联的语法元素。视频解码器30的熵解码单元70对码流进行熵解码以生成量化系数、运动矢量或帧内预测模式指示符以及其它语法元素。熵解码单元70将运动矢量和其它语法元素转发给运动补偿单元72。视频解码器30可以接收视频条带级和/或视频块级的语法元素。
当视频条带被译码为经帧内译码(I)的条带时,帧内预测单元74可以根据当前帧或图像的之前解码块的指示(signal)的帧内预测模式和数据来生成当前视频条带的视频块的预测数据。当视频帧被译码为经帧间译码(例如B、P或GPB)的条带时,运动补偿单元72根据从熵解码单元70接收的运动矢量和其它语法元素针对当前视频条带的视频块生成预测块。可以从其中一个参考图像列表内的其中一个参考图像产生这些预测块。视频解码器30可以根据存储在参考帧存储器82中的参考图像,使用默认构建技术来构建参考帧列表:列表0和列表1。
运动补偿单元72通过解析运动矢量和其它语法元素来确定当前视频条带中的视频块的预测信息并使用所述预测信息针对所解码的当前视频块生成预测块。例如,运动补偿单元72使用接收到的一些语法元素确定用于对视频条带的视频块进行译码的预测模式(例如帧内预测或帧间预测)、帧间预测条带类型(例如B条带、P条带或GPB条带)、用于条带的一个或多个参考图像列表的构建信息、用于条带的每个帧间编码的视频块的运动矢量、用于条带的每个帧间译码的视频块的帧间预测状态、其它信息,以对当前视频条带内的视频块进行解码。
运动补偿单元72还可以根据插值滤波器进行插值。运动补偿单元72可以使用视频编码器20在视频块编码期间使用的插值滤波器来计算参考块的子整数像素的插值后的值。在这种情况下,运动补偿单元72可以从接收到的语法元素中确定视频编码器20使用的插值滤波器,并使用插值滤波器来产生预测块。
与深度图像对应的纹理图像的数据可以存储于参考帧存储器82中。运动补偿单元72还可以用于对深度图的深度块进行帧间预测。
在一个实施例中,视频解码器30包括用户界面(user interface,UI)84。用户界面84用于接收来自视频解码器30的用户(例如,网络管理员)的输入。通过用户界面84,用户能够管理或改变视频解码器30上的设置。例如,用户能够输入或以其它方式提供参数(例如,标志)的值,以便根据用户的偏好控制视频解码器30的配置和/或操作。用户界面84可以是例如允许用户通过图形图标、下拉菜单、复选框等与视频解码器30连接的图形用户界面(graphical user interface,GUI)。在一些情况下,用户界面84可以通过键盘、鼠标或其它外围设备从用户接收信息。在一个实施例中,用户能够通过智能手机、平板设备、与视频解码器30相距较远的个人计算机等访问用户界面84。本文所使用的用户界面84可以称为外部输入端或外部模块。
请记住,视频压缩技术执行空间(帧内)预测和/或时间(帧间)预测以减少或去除视频序列固有的冗余。对于基于块的视频译码,视频条带(slice)(例如,视频图像或视频图像的一部分)可以分割成视频块,视频块也可以称为树块、编码树块(coding tree block,CTB)、编码树单元(coding tree unit,CTU)、编码单元(coding unit,CU)和/或编码节点。图像的帧内译码(I)条带中的视频块针对同一图像中的相邻块中的参考像素点使用空间预测进行编码。图像的帧间译码(P或B)条带中的视频块可以针对同一图像中的相邻块中的参考像素点使用空间预测,或者针对其它参考图像中的参考像素点使用时间预测。图像可以称为帧,参考图像可以称为参考帧。
空间或时间预测产生预测块用于待译码块。残差数据表示待译码的原始块和预测块之间的像素差。根据指向构成预测块的参考像素点的块的运动矢量和指示经译码块与预测块之间的差的残差数据,对帧间译码的块进行编码。帧内译码块根据帧内译码模式和残差数据进行编码。为了进一步压缩,残差数据可以从像素域变换到变换域,从而产生残差变换系数,然后可以量化残差变换系数。可以扫描最初以二维阵列排列的量化变换系数产生一维变换系数向量,并且可以应用熵译码来实现更大的压缩。
图像和视频压缩发展迅速,编码标准多样化。这些视频编码标准包括ITU-TH.261、ISO/IEC MPEG-1第2部分、ITU-T H.262或ISO/IEC MPEG-2第2部分、ITU-T H.263、ISO/IEC MPEG-4第2部分、高级视频编码(Advanced Video Coding,AVC)(也称为ITU-TH.264或ISO/IEC MPEG-4第10部分),以及高效视频编码(High Efficiency VideoCoding,HEVC)(也称为ITU-T H.265或MPEG-H第2部分)。AVC包括可分级的视频编码(Scalable Video Coding,SVC)、多视图视频编码(Multiview Video Coding,MVC)和多视图视频编码加深度(Multiview Video Coding plus Depth,MVC+D)、3D AVC(3D-AVC)等扩展版本。HEVC包括可分级的HEVC(Scalable HEVC,SHVC)、多视图HEVC(Multiview HEVC,MV-HEVC)、3D HEVC(3D-HEVC)等扩展版本。
还有一个新的视频编码标准,名为多功能视频编码(Versatile Video Coding,VVC),正在由ITU-T和ISO/IEC的联合视频专家组(joint video experts team,JVET)开发。虽然VVC标准有几个工作草案,VVC的一个工作草案(Working Draft,WD),即B.Bross、J.Chen和S.Liu在2019年1月的第13次JVET会议(VVC草案4)提出的JVET-M1001-v5“多功能视频编码(草案4)”,在本文中被引用。
本文公开的技术的描述是以ITU-T和ISO/IEC的联合视频专家组(joint videoexperts team,JVET)正在开发的视频编码标准多功能视频编码(Versatile VideoCoding,VVC)。然而,这些技术还适用于其它视频编解码规范。
图4为IRAP图像402相对于按解码顺序408和呈现顺序410排列的前置图像404和后置图像406之间的关系的表示400。在一个实施例中,IRAP图像402称为清理随机接入(cleanrandom access,CRA)图像或伴随可解码随机接入(random access decodable,RADL)图像的解码即时刷新(instantaneous decoder refresh,IDR)图像。在HEVC中,IDR图像、CRA图像和断点连接接入(Broken Link Access,BLA)图像都被认为是IRAP图像402。对于VVC,在2018年10月的第12次JVET会议上,约定将IDR和CRA图像作为IRAP图像。
如图4所示,前置图像404(例如,图像2和3)按解码顺序408在IRAP图像402之后,但按呈现顺序410在IRAP图像402之前。后置图像406按解码顺序408和呈现顺序410都在IRAP图像402之后。虽然图4中描绘了两个前置图像404和一个后置图像406,但本领域技术人员将理解,在实际应用中,解码顺序408和呈现顺序410中可以存在更多或更少的前置图像404和/或后置图像406。
图4中的前置图像404被分为两种类型,即跳过随机接入前置(random accessskipped leading,RASL)图像和RADL图像。当解码从IRAP图像402(例如,图像1)开始时,RADL图像(例如,图像3)可以被正确解码;然而,RASL图像(例如,图像2)无法正确解码。因此,RASL图像被丢弃。根据RADL图像和RASL图像之间的区别,与IRAP图像相关的前置图像的类型应确定为RADL或RASL,以便有效和适当的译码。在HEVC中,当存在RASL图像和RADL图像时,约束如下:对于与相同IRAP图像关联的RASL图像和RADL图像,RASL图像应按呈现顺序410在RADL图像之前。
IRAP图像402提供了以下两个重要的功能/好处。首先,IRAP图像402的存在表示解码过程可以从该图像开始。该功能具有随机接入特征,其中解码过程从码流中的该位置开始,而不一定从码流的起始开始,只要IRAP图像402存在于该位置中。其次,IRAP图像402的存在还刷新解码过程,使得从IRAP图像402开始的经译码的图像(不包括RASL图像)在不参考位于IRAP图像之前的图像的情况下被译码。因此,在码流中存在IRAP图像402将停止在解码IRAP图像402之前的经译码图像期间可能发生的任何错误,以传播到IRAP图像402和按解码顺序408在IRAP图像402之后的那些图像。
虽然IRAP图像402提供了重要的功能,但这些功能会使压缩效率降低。IRAP图像402的存在可能会导致码率激增。这种对压缩效率的降低是由于两个原因。首先,由于IRAP图像402是帧内预测图像,当与作为帧间预测图像的其它图像(例如,前置图像404、后置图像406)相比时,图像本身会需要相对更多的比特来表示。其次,由于IRAP图像402的存在破坏了时间预测(这是因为解码器将刷新解码过程,其中解码过程的动作之一是删除解码图像缓冲器(decoded picture buffer,DPB)中的之前参考图像),IRAP图像402导致按解码顺序408在IRAP图像402之后的图像的译码效率较低(即,需要更多的比特来表示),因为具有较少的用于进行帧间预测译码的参考图像。
在被认为是IRAP图像402的图像类型中,HEVC中的IDR图像与其它图像类型相比具有不同的指示和推导方式。其中一些区别如下。
对于IDR图像的图像顺序编号(picture order count,POC)值的指示和推导,POC的最高有效位(most significant bit,MSB)部分不是从之前的关键图像推导的,而是仅设置为等于0。
对于参考图像管理所需的指示信息,IDR图像的条带头不包括辅助参考图像管理所需的指示信息。对于其它图像类型(即CRA、后置、时间子层接入(temporal sub-layeraccess,TSA)等),参考图像标记过程(即,确定解码图像缓冲器(decoded picture buffer,DPB)中的参考图像的状态用于参考和未用于参考)需要下面描述的参考图像集(referencepicture set,RPS)之类的信息或其它形式的类似信息(例如,参考图像列表)。然而,对于IDR图像,不需要指示(signal)这些信息,因为IDR图像的存在表示解码过程应仅将DPB中的所有参考图像标记为未用于参考。
在HEVC和VVC中,IRAP图像402和前置图像404可以各自包括在单个网络抽象层(network abstraction layer,NAL)单元中。一组NAL单元可以称为接入单元。IRAP图像402和前置图像404属于不同的NAL单元类型,使得这些图像可以容易地由系统级应用标识。例如,视频拼接器需要理解经译码图像类型,而不需要理解经译码码流中语法元素的太多细节,特别是要从非IRAP图像中标识IRAP图像402,并标识前置图像404,包括从后置图像406确定RASL图像和RADL图像。后置图像406是与IRAP图像402相关联并按呈现顺序410在IRAP图像402之后的那些图像。图像可以按解码顺序408在特定IRAP图像402之后,并按解码顺序408在任何其它IRAP图像402之前。为此,赋予IRAP图像402和前置图像404它们自己的NAL单元类型有助于此类应用。
对于HEVC,IRAP图像的NAL单元类型包括:
伴随前置图像的BLA(BLA_W_LP):按解码顺序可以在一个或多个前置图像之前的断点连接接入(Broken Link Access,BLA)图像的NAL单元。
伴随RADL的BLA(BLA_W_RADL):按解码顺序可以在一个或多个RADL图像之前但未伴随RASL图像的BLA图像的NAL单元。
未伴随前置图像的BLA(BLA_N_LP):按解码顺序不在前置图像之前的BLA图像的NAL单元。
伴随RADL的IDR(IDR_W_RADL):按解码顺序可以在一个或多个RADL图像之前但未伴随RASL图像的IDR图像的NAL单元。
未伴随前置图像的IDR(IDR_N_LP):按解码顺序不在前置图像之前的IDR图像的NAL单元。
CRA:可以在前置图像(即,RASL图像或RADL图像或两种图像)之前的清理随机接入(Clean Random Access,CRA)图像的NAL单元。
RADL:RADL图像的NAL单元。
RASL:RASL图像的NAL单元。
对于VVC,IRAP图像402和前置图像404的NAL单元类型如下:
伴随RADL的IDR(IDR_W_RADL):按解码顺序可以在一个或多个RADL图像之前但未伴随RASL图像的IDR图像的NAL单元。
未伴随前置图像的IDR(IDR_N_LP):按解码顺序不在前置图像之前的IDR图像的NAL单元。
CRA:可以在前置图像(即,RASL图像或RADL图像或两种图像)之前的清理随机接入(Clean Random Access,CRA)图像的NAL单元。
RADL:RADL图像的NAL单元。
RASL:RASL图像的NAL单元。
下面讨论渐进帧内刷新/逐步解码刷新。
对于低延迟应用,需要避免将图像译码为IRAP图像(例如,IRAP图像402),因为IRAP图像与非IRAP(即,P类型/B类型)图像相比码率要求相对较大,从而导致更多的时延/延迟。然而,在所有低延迟应用中,完全避免使用IRAP是不可能的。例如,对于多方电话会议等会话应用,有必要提供新用户可以加入电话会议的常规点。
为了接入使新用户加入多方电话会议应用的码流,一种可能的策略是使用渐进帧内刷新技术(progressive intra refresh,PIR)而不是使用IRAP图像,以避免码率出现峰值。PIR也可以称为逐步解码刷新(gradual decoding refresh,GDR)。术语“PIR”和“GDR”在本发明中可以互换使用。
图5示出了一种逐步解码刷新(gradual decoding refresh,GDR)技术500。如图所示,使用码流的经译码视频序列508内的GDR图像502、一个或多个后置图像504和恢复点图像506来描述GDR技术500。在一个实施例中,GDR图像502、后置图像504和恢复点图像506可以在CVS 508中定义GDR周期。CVS 508是从GDR图像502开始的一系列图像(或其部分),并包括直到下一个GDR图像(但不包括下一个GDR图像)或直到码流结束的所有图像(或其部分)。GDR周期是从GDR图像502开始的一系列图像,并包括直到恢复点图像506(包括恢复点图像506)的所有图像。
如图5所示,GDR技术500或原理在以GDR图像502开始并以恢复点图像506结束的一系列图像上发挥作用。GDR图像502包括刷新的/干净区域510和未刷新的/脏区域512,所述刷新的/干净区域510包括所有已使用帧内预测译码的块(即,帧内预测的块),所述未刷新的/脏区域512包括所有已使用帧间预测译码的块(即,帧间预测块)。
紧邻GDR图像502的后置图像504包括刷新的/干净区域510,所述刷新的/干净区域510包括使用帧内预测译码的第一部分510A和使用帧间预测译码的第二部分510B。例如,第二部分510B通过参考CVS 508的GDR周期内的先前图像等的刷新的/干净区域510进行译码。如图所示,随着译码过程沿一致方向(例如,从左到右)移动或前进,后置图像504的刷新的/干净区域510扩展,也因此收缩了未刷新的/脏区域512。最终,从译码过程中获得仅包括刷新的/干净区域510的恢复点图像506。值得注意的是,如下文将进一步讨论的那样,译码为帧间预测块的刷新的/干净区域510的第二部分510B可以仅参考所述参考图像中的刷新的/干净区域510。
在HEVC中,使用恢复点补充增强信息(Supplemental Enhancement Information,SEI)消息和区域刷新信息SEI消息非规范地支持图5的GDR技术500。这两个SEI消息不定义GDR的执行方式。相反,两个SEI消息只是提供一种机制来表示GDR周期中的第一个图像和最后一个图像(即,由恢复点SEI消息提供)和被刷新的区域(即,由区域刷新信息SEI消息提供)。
在实践中,GDR技术500通过一起使用两种技术来执行。这两种技术是约束帧内预测(constraint intra prediction,CIP)和运动矢量的编码器约束。CIP可用于GDR目的,特别是用于对仅译码为帧内预测块的区域(例如,刷新的/干净区域510的第一部分510A)进行译码,因为CIP使得不使用来自未刷新区域(例如,未刷新的/脏区域512)的样本的区域用作参考。然而,使用CIP会导致译码性能严重降低,因为对帧内块的约束不仅必须应用于刷新的区域中的帧内块,而且必须应用于图像中的所有帧内块。运动矢量的编码器约束限制编码器使用位于刷新的区域之外的参考图像中的任何样本。这样的约束会导致非最佳运动搜索。
图6为使用编码器限制来支持GDR时不需要的运动搜索600的示意图。如图所示,运动搜索600描绘当前图像602和参考图像604。当前图像602和参考图像604各自包括用帧内预测译码的刷新的区域606、用帧间预测译码的刷新的区域608和未刷新的区域608。刷新的区域604、刷新的区域606和未刷新的区域608类似于图5中的刷新的/干净区域510的第一部分510A、刷新的/干净区域510的第二部分510B和未刷新的/脏区域512。
在运动搜索过程期间,限制或阻止编码器选择导致参考块612的一些样本位于刷新的区域606之外的任何运动矢量610。即使当参考块612在预测当前图像602中的当前块614时提供最佳速率失真成本标准时,也会发生这种情况。因此,图6示出了当使用编码器限制来支持GDR时,运动搜索600中的非最优性的原因。
JVET文献JVET-K0212和JVET-L0160描述了基于使用CIP和编码器约束方法的GDR的实现。实现可总结如下:以列为基础强制对编码单元使用帧内预测模式,启用约束帧内预测以确保帧内CU的重建,运动矢量被限制为指向刷新区域内部,同时考虑额外的裕量以避免滤波器的误差扩散(例如,6个像素),以及在重新循环帧内列时删除以前的参考图像。
JVET文献JVET-M0529提出了一种方法,用于指示图像在规范上是GDR周期中的第一个图像和最后一个图像。提出的想法如下。
将具有NAL单元类型恢复点指示的新NAL单元定义为非视频编码层(video codinglayer,VCL)NAL单元。NAL单元的载荷包括一个语法元素,用于表示可用于推导GDR周期中最后一个图像的POC值的信息。包括具有类型恢复点指示的非VCL NAL单元的接入单元称为恢复点开始(recovery point begin,RBP)接入单元(access unit,AU),RBP接入单元中的图像称为RBP图像。解码过程可以从RBP AU开始。当解码从RBP AU开始时,除最后一个图像外,GDR周期内的所有图像都不输出。
讨论了现有GDR设计的一些问题。
支持GDR的现有设计/方法至少存在以下问题。
JVET-M0529中规范定义GDR的方法存在以下问题。提出的方法没有描述如何执行GDR。相反,所提出的方法仅提供一些指示(signal)来表示GDR周期中的第一个图像和最后一个图像。为了指示GDR周期中的第一个图像和最后一个图像,需要一个新的非VCL NAL单元。这是一种冗余,因为恢复点指示(recovery point indication,RPI)NAL单元中包括的信息可以仅包括在GDR周期中第一个图像的分块组头中。此外,所提出的方法也无法描述GDR周期中图像中的哪个区域是刷新的区域和未刷新的区域。
JVET-K0212和JVET-L0160中描述的GDR方法存在以下问题。首先是CIP的使用。有必要使用一些约束对使用帧内预测的刷新的区域进行译码,以防止未刷新的区域的任何样本用于空间参考。当使用CIP时,译码是以图像为基础,这意味着图像中的所有帧内块也必须译码为CIP帧内块。因此,这将导致性能下降。此外,当与运动矢量相关的参考块的样本不完全在参考图像中的刷新的区域内时,使用编码器约束来限制运动搜索防止编码器选择最佳运动矢量。此外,仅使用帧内预测译码的刷新的区域不是CTU大小。相反,刷新的区域可以小于CTU大小,最小可以为最小CU大小。这使得实现变得不必要地复杂,因为可能需要块级别的指示。
本文公开了用于支持视频译码中的逐步解码刷新(gradual decoding refresh,GDR)的技术。本文公开的技术实现渐进帧内刷新以在不需要使用帧内随机接入点(intrarandom access point,IRAP)图像的情况下启用随机接入。当第一标志的值由外部输入端提供时,第一标志被设置等于外部输入端提供的值,第二标志被设置为等于第一标志,以防止输出逐步解码刷新(gradual decoding refresh,GDR)图像以及GDR图像与恢复点图像之间按输出顺序排列的任何后置图像。例如,外部输入端可以是通过所述视频解码器30的图形用户界面(graphic user interface,GUI)从用户(例如,网络管理员)接收的输入端。以这种方式设置所述第一标志和所述第二标志可防止可能将脏数据输出到显示器。也就是说,所述第一标志的所述值和所述第二标志控制是否可能输出来自所述GDR图像的脏数据,或者所述视频解码器是否等待完全同步以开始显示数据。通过具有限制输出脏数据的能力,视频译码中的编码器/解码器(又称为“编解码器”)相对于当前编解码器得到了改进。实际上,改进的视频译码过程在发送、接收和/或观看视频时提供了更好的用户体验。
为了解决上述问题中的一个或多个,本发明公开了以下方面。每个方面都可以单独应用,其中一些方面可以组合应用。
(1)定义了类型为GDR_NUT的VCL NAL单元。
a.NAL单元类型为GDR_NUT的图像称为GDR图像,即GDR周期中的第一个图像。
b.GDR图像的temporalID等于0。
c.包括GDR图像的接入单元称为GDR接入单元。如上所述,接入单元是一组NAL单元。每个NAL单元可以包括一个图像。
(2)编码视频序列(coded video sequence,CVS)可以从GDR接入单元开始。
(3)当以下任一情况为真(true)时,GDR接入单元是CVS中的第一个接入单元:
a.GDR接入单元是码流中的第一个接入单元。
b.GDR接入单元紧跟序列结束(end-of-sequence,EOS)接入单元。
c.GDR接入单元紧跟码流结束(end-of-bitstream,EOB)接入单元。
d.称为NoIncorrectPicOutputFlag的解码器标志与GDR图像相关联,并且该标志的值被解码器外部的实体设置为等于1(即,真)。
(4)当GDR图像是CVS中的第一个接入单元时,以下内容适用:
a.DPB中的所有参考图像都标记为“未用于参考”。
b.图像的POC MSB设置为等于0。
c.不输出GDR图像和按输出顺序在GDR图像之后的所有图像(即,标记为“不需要输出”),直到GDR周期中的最后一个图像(不包括GDR周期中的最后一个图像)。
(5)在序列级参数集(例如,在SPS中)中指示(signal)表示是否启用GDR的标志。
a.该标志可以表示为gdr_enabled_flag。
b.当标志等于1时,CVS中可以存在GDR图像。否则,当标志等于0时,GDR不启用,因此CVS中不存在GDR图像。
(6)在GDR图像的分块组头中指示可用于推导GDR周期中最后一个图像的POC值的信息。
a.所述信息作为GDR周期中的最后一个图像与GDR图像之间的增量POC指示。可以使用表示为recovery_point_cnt的语法元素来指示所述信息。
b.分块组头中是否存在语法元素recovery_point_cnt可以取决于gdr_enabled_flag的值和图像的NAL单元类型,即,仅当gdr_enabled_flag等于1且包括分块组的NAL单元的nal_unit_type为GDR_NUT时,才会存在所述标志。
(7)在分块组头中指示用于表示分块组是否属于刷新的区域的一部分的标志。
a.所述标志可以表示为refreshed_region_flag。
b.标志是否存在可以取决于gdr_enabled_flag的值以及包括分块组的图像是否在GDR周期内。因此,只有当以下所有条件均为真时,标志才会存在:
i.gdr_enabled_flag的值等于1。
ii.当前图像的POC等于或大于最后一个GDR图像的POC值(在当前图像为GDR图像时,最后一个GDR图像为当前图像)且小于GDR周期内最后一个图像的POC。
c.当所述标志不存在于分块组头中时,所述标志的值被推断为等于1。
(8)所有refreshed_region_flag等于1的分块组覆盖连接的区域。同样,所有refreshed_region_flag等于0的分块组也覆盖连接的区域。
(9)具有refreshed_region_flag的分块组可以是类型I(即,分块组内)或类型B或类型P(即,分块组间)。
(10)从GDR周期内的GDR图像开始到最后一个图像的每个图像至少包括一个refreshed_region_flag等于1的分块组。
(11)GDR图像至少包括一个refreshed_region_flag等于1且tile_group_type等于I(即,分块组内)的分块组。
(12)当gdr_enabled_flag等于1时,可以在图像参数集(picture parameter set,PPS)或分块组头中指示矩形分块组的信息,即分块组的数量及其地址。为此,在PPS中指示标志,表示PPS中是否存在矩形分块组信息。所述标志可以称为rect_tile_group_info_in_pps_flag。当gdr_enabled_flag等于1时,所述标志可能被限制为等于1。
a.在一种替代方案中,可以在PPS中指示更通用的标志,表示PPS中是否存在分块组信息(即,任何类型的分块组,例如,矩形分块组、光栅扫描分块组),而不是指示PPS中是否存在矩形分块组信息。
(13)当PPS中不存在分块组信息时,可以进一步限制显式分块组标识符(ID)信息的指示不存在。显式分块组ID信息包括:signaled_tile_group_id_flag、signaled_tile_group_id_length_minus1和tile_group_id[i]。
(14)发送标志,表示是否可以跨图像中刷新的区域和未刷新的区域之间的边界进行环路滤波操作。
a.所述标志可以在PPS中指示,并称为loop_filter_across_refreshed_region_enabled_flag。
b.loop_filter_across_refreshed_region_enabled_flag是否存在可以取决于loop_filter_across_tile_enabled_flag的值。当loop_filter_across_tile_enabled_flag等于0时,loop_filter_across_refreshed_region_enabled_flag可以不存在,其值被推断为等于0。
c.在一种替代方案中,标志可以在分块组头中指示,并且其存在可以取决于refreshed_region_flag的值,即,仅当refreshed_region_flag的值等于1时,标志才存在。
(15)当指示分块组是刷新的区域,并且指示不可以跨刷新的区域进行环路滤波时,以下内容适用:
a.当共用边缘的相邻分块组为未刷新的分块组时,不在分块组的边界处对边缘执行去块效应滤波。
b.分块组边界处块的样本自适应偏移(sample adaptive offset,SAO)过程不使用刷新的区域边界外的任何样本。
c.分块组边界处块的自适应环路滤波(adaptive loop filtering,ALF)过程不使用刷新的区域边界外的任何样本。
(16)当gdr_enabled_flag等于1时,每个图像都与变量相关联,以确定图像中刷新的区域的边界。这些变量可以称为:
a.图像中刷新的区域的左边界位置的PicRefreshedLeftBoundaryPos。
b.图像中刷新的区域的右边界位置的PicRefreshedRightBoundaryPos。
c.图像中刷新的区域的上边界位置的PicRefreshedTopBoundaryPos。
d.图像中刷新的区域的下边界位置的PicRefreshedBotBoundaryPos。
(17)可以推导图像中刷新的区域的边界。解析分块组头后,解码器更新图像的刷新的区域的边界,并且分块组的refreshed_region_flag的值等于1。
(18)在技术方案(17)的一个替代方案中,在图像的每个分块组中显式地指示图像中刷新的区域的边界。
a.可以指示标志来表示分块组所属的图像是否包括未刷新的区域。当表示图像不包括未刷新的区域时,不指示刷新的边界信息的信号,并且可以仅推断刷新的边界等于图像边界。
(19)对于当前图像,在环内滤波器过程中使用刷新的区域的边界,如下所示:
a.对于去块效应滤波过程,确定刷新的区域的边缘,以决定是否需要对边缘进行去块效应滤波。
b.对于SAO过程,确定刷新的区域的边界,以便在不可以跨刷新的区域应用环路滤波器时,可以应用限幅过程以避免使用未刷新的区域中的样本。
c.对于ALF过程,确定刷新的区域的边界,以便在不可以跨刷新的区域应用环路滤波器时,可以应用限幅过程以避免使用未刷新的区域中的样本。
(20)对于运动补偿过程,关于刷新的区域的边界信息,特别是参考图像中刷新的区域的边界信息,使用如下:在当前图像中的当前块在refreshed_region_flag等于1的分块组中,并且参考块在包括未刷新的区域的参考图像中时,以下内容适用:
a.从当前块到该参考图像的运动矢量被该参考图像中的刷新的区域的边界限幅。
b.对于该参考图像中样本的分数插值滤波器,运动矢量被该参考图像中刷新的区域的边界限幅。
提供了本发明实施例的详细描述。描述是相对于基础文本的,即JVET文献JVET-M1001-v5。即,只描述了增量,而下文未提到的基础文本中的文本按原样适用。相对于基础文本的修改文本为斜体。
提供了以下定义。
3.1清理随机接入(clean random access,CRA)图像:每个VCL NAL单元的nal_unit_type等于CRA_NUT的IRAP图像。
注:CRA图像在其解码过程中不参考除自身以外的任何图像进行帧间预测,并且按解码顺序可以是码流中的第一个图像,也可以出现在码流中的稍后位置。CRA图像可能具有关联的RADL图像或RASL图像。当CRA图像的NoIncorrectPicOutputFlag等于1时,解码器不会输出关联的RASL图像,因为RASL图像可以是不可解码的,因为RASL图像可以包括对码流中不存在的图像的参考图像。
3.2编码视频序列(coded video sequence,CVS):一种接入单元序列,按解码顺序包括NoIncorrectPicOutputFlag等于1的IRAP接入单元或NoIncorrectPicOutputFlag等于1的GDR接入单元,之后是零个或多个接入单元,这些接入单元不是NoIncorrectPicOutputFlag等于1的IRAP接入单元或NoIncorrectPicOutputFlag等于1的GDR接入单元,包括所有后续接入单元,但不包括是NoIncorrectPicOutputFlag等于1的IRAP接入单元或NoIncorrectPicOutputFlag等于1的GDR接入单元的任何后续接入单元。
注1:IRAP接入单元可以是IDR接入单元或CRA接入单元。对于每个IDR接入单元,NoIncorrectPicOutputFlag的值等于1,码流中按解码顺序是第一个接入单元的每个CRA接入单元是按解码顺序在序列结束的NAL单元之后的第一个接入单元,或HandleCraAsCvsStartFlag等于1。
注2:对于每个GDR接入单元,NoIncorrectPicOutputFlag的值等于1,GDR接入单元是码流中按解码顺序排列的第一个接入单元,是按解码顺序在序列结束NAL单元之后的第一个接入单元,或HandleGdrAsCvsStartFlag等于1。
3.3逐步解码刷新(gradual decoding refresh,GDR)接入单元:经译码图像是GDR图像的接入单元。
3.4逐步解码刷新(gradual decoding refresh,GDR)图像:每个VCL NAL单元的nal_unit_type等于GDR_NUT的图像。
3.5跳过随机接入前置(random access skipped leading,RASL)图像:每个VCLNAL单元的nal_unit_type等于RASL_NUT的经译码图像。
注:所有RASL图像都是关联CRA图像的前置图像。当关联CRA图像的NoIncorrectPicOutputFlag等于1时,不输出RASL图像且所述RASL图像可以不被正确解码,因为RASL图像可以包括对码流中不存在的图像的参考图像。RASL图像不用作非RASL图像解码过程的参考图像。当存在时,所有RASL图像按解码顺序在同一关联CRA图像的所有后置图像之前。
序列参数集原始字节序列载荷(raw byte sequence payload,RBSP)语法和语义。
Figure BDA0003257818080000191
gdr_enabled_flag等于1表示编码视频序列中可以存在GDR图像。gdr_enabled_flag等于0表示编码视频序列中不存在GDR图像。
图像参数集RBSP语法和语义。
Figure BDA0003257818080000192
Figure BDA0003257818080000201
rect_tile_group_info_in_pps_flag等于1表示在PPS中指示矩形分块组信息。rect_tile_group_info_in_pps_flag等于0表示不在PPS中指示矩形分块组信息。
码流一致性的要求是:当活动SPS中的gdr_enabled_flag的值等于0时,rect_tile_group_info_in_pps_flag的值应等于0。
loop_filter_across_refreshed_region_enabled_flag等于1表示可以跨参考PPS的图像中refreshed_region_flag等于1的分块组的边界执行环内滤波操作。
loop_filter_across_refreshed_region_enabled_flag等于0表示不跨参考PPS的图像中refreshed_region_flag等于1的分块组的边界执行环内滤波操作。环内滤波操作包括去块效应滤波操作、样本自适应偏移滤波操作以及自适应环路滤波操作。如果不存在loop_filter_across_refreshed_region_enabled_flag,则推断loop_filter_across_refreshed_region_enabled_flag的值等于0。
signalled_tile_group_id_flag等于1表示指示每个分块组的分块组ID。signalled_tile_group_index_flag等于0表示不指示分块组ID。如果不存在signalled_tile_group_index_flag,则推断signalled_tile_group_index_flag的值等于0。
signalled_tile_group_id_length_minus1+1表示用于表示语法元素tile_group_id[i](如果存在)和分块组头中的语法元素tile_group_address的比特数。signalled_tile_group_index_length_minus1的取值范围为0到15(包括端值)。如果不存在signalled_tile_group_index_length_minus1,则推断signalled_tile_group_index_length_minus1的值如下:
如果rect_tile_group_info_in_pps_flag等于1,则
Ceil(Log2(num_tile_groups_in_pic_minus1+1))–1。
否则,Ceil(Log2(NumTilesInPic))–1。
通用分块组头的语法和语义。
Figure BDA0003257818080000211
tile_group_address表示分块组中的第一个分块的分块地址。如果不存在tile_group_address,则推断tile_group_address的值等于0。
如果rect_tile_group_flag等于0,则以下内容适用:
tile_group_address是等式6-7表示的分块ID。
tile_group_address的长度为Ceil(Log2(NumTilesInPic))个比特。
tile_group_address的取值范围为0到NumTilesInPic–1(包括端值)。
否则,如果rect_tile_group_flag等于1且rect_tile_group_info_in_pps等于0,则以下内容适用:
tile_group_address是位于第i个分块组左上角的分块的分块索引。
tile_group_address的长度为signalled_tile_group_index_length_minus1+1个比特。
如果signalled_tile_group_id_flag等于0,则tile_group_address的取值范围为0到NumTilesInPic–1(包括端值)。否则,tile_group_address的取值范围为0到2(signalled _tile_group_index_length_minus1+1)–1(包括端值)。
否则(rect_tile_group_flag等于1且rect_tile_group_info_in_pps等于1),则以下内容适用:
tile_group_address是分块组的分块组ID。
tile_group_address的长度为signalled_tile_group_index_length_minus1+1个比特。
如果signalled_tile_group_id_flag等于0,则tile_group_address的取值范围为0到num_tile_groups_in_pic_minus1(包括端值)。否则,tile_group_address的取值范围为0到2(signalled_tile_group_index_length_minus1+1)–1(包括端值)。
bottom_right_tile_id表示位于分块组右下角的分块的分块索引。当single_tile_per_tile_group_flag等于1时,推断bottom_right_tile_id等于tile_group_address。语法元素bottom_right_tile_id的长度为Ceil(Log2(NumTilesInPic))个比特。
表示当前分块组中的分块数量的变量NumTilesInCurrTileGroup、表示分块组左上角分块的分块索引的TopLeftTileIdx、表示分块组右下角分块的索引的BottomRightTileIdx以及表示当前分块组中第i个分块的分块索引的TgTileIdx[i]推导如下:
Figure BDA0003257818080000221
Figure BDA0003257818080000231
recovery_poc_cnt表示按输出顺序排列的经解码图像的恢复点。如果CVS中存在按解码顺序在当前图像(即GDR图像)之后且PicOrderCntVal等于当前图像的PicOrderCntVal加上recovery_poc_cnt的值的图像picA,则图像picA称为恢复点图像。否则,输出顺序中PicOrderCntVal大于当前图像的PicOrderCntVal加上recovery_poc_cnt的值的第一个图像称为恢复点图像。恢复点图像按解码顺序不应在当前图像之前。从恢复点图像的输出顺序位置开始,所有按输出顺序排列的经解码图像都表示为内容正确或近似正确。recovery_poc_cnt的取值范围为–MaxPicOrderCntLsb/2至MaxPicOrderCntLsb/2–1(包括端值)。
值RecoveryPointPocVal的推导方式如下:
RecoveryPointPocVal=PicOrderCntVal+recovery_poc_cnt
refreshed_region_flag等于1表示无论关联GDR的NoIncorrectPicOutputFlag值如何,对分块组进行解码会产生正确的重建样本值。refreshed_region_flag等于0表示当从NoIncorrectPicOutputFlag等于1的关联GDR开始解码时,对分块组进行解码可以产生不正确的重建样本值。如果不存在refreshed_region_flag,则推断refreshed_region_flag的值等于1。
注x:当前图像本身可以是NoIncorrectPicOutputFlag等于1的GDR图像。
分块组刷新的边界的推导方式如下:
tileColIdx=TopLeftTileIdx%(num_tile_columns_minus1+1)
tileRowIdx=TopLeftTileIdx/(num_tile_columns_minus1+1)
TGRefreshedLeftBoundary=ColBd[tileColIdx]<<CtbLog2SizeY
TGRefreshedTopBoundary=RowBd[tileRowIdx]<<CtbLog2SizeY
tileColIdx=BottomRightTileIdx%(num_tile_columns_minus1+1)
tileRowIdx=BottomRightTileIdx/(num_tile_columns_minus1+1)
TGRefreshedRightBoundary=((ColBd[tileColIdx]+ColWidth[tileColIdx])<<CtbLog2SizeY)–1
TGRefreshedRightBoundary=TGRefreshedRightBoundary>pic_width_in_luma_samples?pic_width_in_luma_samples:TGRefreshedRightBoundary
TGRefreshedBotBoundary=((RowBd[tileRowIdx]+RowHeight[tileRowIdx])<<CtbLog2SizeY)–1
TGRefreshedBotBoundary=TGRefreshedBotBoundary>pic_height_in_luma_samples?pic_height_in_luma_samples:TGRefreshedBotBoundary
NAL单元头的语义。
表7-1:单元类型码和NAL单元类型分类
Figure BDA0003257818080000232
Figure BDA0003257818080000241
Figure BDA0003257818080000251
……
当nal_unit_type等于GDR_NUT时,经译码的分块组属于GDR图像,TemporalId应等于0。
讨论了接入单元的顺序和与CVS的关联关系。
符合本规范的码流(即JVET文献JVET-M1001-v5)包括一个或多个CVS。
CVS包括一个或多个接入单元。第7.4.2.4.4小节描述了NAL单元和经译码图像的顺序及它们与接入单元的关联关系。
CVS的第一个接入单元是以下之一:
–NoBrokenPictureOutputFlag等于1的IRAP接入单元。
–NoIncorrectPicOutputFlag等于1的GDR接入单元。
码流一致性的要求是,包括序列结束NAL单元或码流结束NAL单元的接入单元之后的下一个接入单元在存在时应为以下之一:
–IRAP接入单元,可以是IDR接入单元或CRA接入单元。
–GDR接入单元。
8.1.1讨论了经译码图像的解码过程。
……
在当前图像为IRAP图像时,以下内容适用:
–在当前图像为IDR图像时,即码流中按解码顺序为第一个图像或按解码顺序为序列结束NAL单元之后的第一个图像,变量NoIncorrectPicOutputFlag被设置为等于1。
–否则,当本规范中未指定的某些外部模块(例如,用户输入端)可用来将变量HandleCraAsCvsStartFlag设置为当前图像的值时,变量HandleCraAsCvsStartFlag被设置为等于外部模块提供的值,变量NoIncorrectPicOutputFlag被设置为等于HandleCraAsCvsStartFlag。
–否则,变量HandleCraAsCvsStartFlag被设置为等于0,变量NoIncorrectPicOutputFlag被设置为等于0。
在当前图像为GDR图像时,以下内容适用:
–在当前图像为GDR图像时,即码流中按解码顺序为第一个图像或按解码顺序为序列结束NAL单元之后的第一个图像,变量NoIncorrectPicOutputFlag被设置为等于1。
–否则,当本规范中未指定的某些外部模块可用来将变量HandleGdrAsCvsStartFlag设置为当前图像的值时,变量HandleGdrAsCvsStartFlag被设置为等于外部模块提供的值,变量NoIncorrectPicOutputFlag被设置为等于HandleGdrAsCvsStartFlag。
–否则,变量HandleGdrAsCvsStartFlag被设置为等于0,变量NoIncorrectPicOutputFlag被设置为等于0。
……
对于当前图像CurrPic,解码过程如下:
1.第8.2小节对NAL单元的解码进行说明。
2.第8.3小节中的过程使用条带头层及更高层的语法元素表示以下解码过程:
–根据第8.3.1小节来推导与图像顺序编号相关的变量和函数。需要仅对图像的第一个分块组调用上述解码过程。
–在非IDR图像的每个分块组的解码过程开始时,调用第8.3.2小节中参考图像列表构建的解码过程来推导参考图像列表0(RefPicList[0])和参考图像列表1(RefPicList[1])。
–调用用于第8.3.3小节中参考图像标记的解码过程,其中参考图像可以标记为“不用于参考”或“用于长期参考”。仅对图像的第一个分块组调用上述解码过程。
–PicOutputFlag被设置如下:
–如果以下条件中的一个为真,则PictureOutputFlag被设置为等于0:
–当前图像是RASL图像,则关联IRAP图像的NoIncorrectPicOutputFlag等于1。
–gdr_enabled_flag等于1,当前图像为NoIncorrectPicOutputFlag等于1的GDR图像。
–gdr_enabled_flag等于1,当前图像包括refreshed_region_flag等于0的一个或多个分块组,关联GDR图像的NoBrokenPictureOutputFlag等于1。
–否则,PicOutputFlag被设置为等于1。
3.对编码树单元、缩放、变换、环内滤波等调用解码过程。
4.在当前图像的所有分块组都已解码后,当前经解码图像标记为“用于短期参考”。
图像顺序编号的解码过程如下所述。
该过程的输出为PicOrderCntVal(当前图像的图像顺序编号)。
每个经译码的图像都与一个图像顺序编号变量关联,表示为PicOrderCntVal。
在当前图像不是NoIncorrectPicOutputFlag等于1的IRAP图像或NoIncorrectPicOutputFlag等于1的GDR图像时,变量prevPicOrderCntLsb和prevPicOrderCntMsb的推导方式如下:
–设置prevTid0Pic为按解码顺序TemporalId等于0的前一个图像且不是RASL图像或RADL图像。
–变量prevPicOrderCntLsb被设置为等于prevTid0Pic的tile_group_pic_order_cnt_lsb。
–变量prevPicOrderCntMsb被设置为等于prevTid0Pic的PicOrderCntMsb。
当前图像的变量PicOrderCntMsb的推导方式如下:
–在当前图像为NoIncorrectPicOutputFlag等于1的IRAP图像或NoIncorrectPicOutputFlag等于1的GDR图像时,PicOrderCntMsb被设置为等于0。
–否则,PicOrderCntMsb的推导方式如下:
Figure BDA0003257818080000261
Figure BDA0003257818080000271
PicOrderCntVal的推导方式如下:
PicOrderCntVal=PicOrderCntMsb+tile_group_pic_order_cnt_lsb (8-2)
注1:所有NoIncorrectPicOutputFlag等于1的IRAP图像的PicOrderCntVal等于tile_group_pic_order_cnt_lsb,因为对于NoIncorrectPicOutputFlag等于1的IRAP图像,PicOrderCntMsb被设置为等于0。
注1:所有NoIncorrectPicOutputFlag等于1的GDR图像的PicOrderCntVal等于tile_group_pic_order_cnt_lsb,因为对于NoIncorrectPicOutputFlag等于1的GDR图像,PicOrderCntMsb被设置为等于0。
PicOrderCntVal的取值范围为–231到231–1(包括端值)。
在当前图像为GDR图像时,LastGDRPocVal的值被设置为等于PicOrderCntVal。
图像的刷新的边界位置的解码过程如下所述。
只有当gdr_enabled_flag等于1时,才会调用所述过程。
在完成分块组头解析之后,调用所述过程。
所述过程的输出为PicRefreshedLeftBoundaryPos、PicRefreshedRightBoundaryPos、PicRefreshedTopBoundaryPos、PicRefreshedBotBoundaryPos和当前图像的刷新的区域的边界位置。
每个经译码的图像都与一组刷新的区域的边界位置变量关联,表示为PicOrderCntVal。
PicRefreshedLeftBoundaryPos、PicRefreshedRightBoundaryPos、PicRefreshedTopBoundaryPos和PicRefreshedBotBoundaryPos的推导方式如下:
如果分块组是refreshed_region_flag等于1的当前图像中第一个接收到的分块组,则以下内容适用:
PicRefreshedLeftBoundaryPos=TGRefreshedLeftBoundary
PicRefreshedRightBoundaryPos=TGRefreshedRightBoundary
PicRefreshedTopBoundaryPos=TGRefreshedTopBoundary
PicRefreshedBotBoundaryPos=TileGroupBotBoundary
否则,如果refreshed_region_flag等于1,则以下内容适用:
PicRefreshedLeftBoundaryPos=TGRefreshedLeftBoundary<PicRefreshedLeftBoundaryPos?
TGRefreshedLeftBoundary:PicRefreshedLeftBoundaryPos
PicRefreshedRightBoundaryPos=TGRefreshedRightBoundary>PicRefreshedRightBoundaryPos?
TGRefreshedRightBoundary:PicRefreshedRightBoundaryPos
PicRefreshedTopBoundaryPos=TGRefreshedTopBoundary<PicRefreshedTopBoundaryPos?
TGRefreshedTopBoundary:RefreshedRegionTopBoundaryPos
PicRefreshedBotBoundaryPos=TileGroupBotBoundary>PicRefreshedBotBoundaryPos?
TileGroupBotBoundary:PicRefreshedBotBoundaryPos
一种用于参考图像列表构建的解码过程如下所述。
……
码流一致性的要求是,对于每个不是NoIncorrectPicOutputFlag等于1的IRAP图像或NoIncorrectPicOutputFlag等于1的GDR图像的当前图像,maxPicOrderCnt–minPicOrderCnt的值应小于MaxPicOrderCntLsb/2。
……
用于参考图像标记的解码过程
……
如果当前图像为NoIncorrectPicOutputFlag等于1的IRAP图像或NoIncorrectPicOutputFlag等于1的GDR图像,则DPB中当前所有参考图像(如果有)都标记为“未用于参考”。
……
时域亮度运动矢量预测的推导过程如下所述。
……
变量currCb表示亮度位置(xCb,yCb)的当前亮度编码块。
变量mvLXCol和availableFlagLXCol的推导方式如下:
–如果tile_group_temporal_mvp_enabled_flag等于0,则mvLXCol的两个分量都被设置为等于0,且availableFlagLXCol被设置为等于0。
–否则(tile_group_temporal_mvp_enabled_flag等于1),以下按顺序执行的步骤适用:
1.右下角并置运动矢量的推导方式如下:
xColBr=xCb+cbWidth (8-414)
yColBr=yCb+cbHeight (8-415)
leftBoundaryPos=gdr_enabled_flag?PicRefreshedLeftBoundaryPos ofpicture referred to by RefPicList[X][refIdxLX]:0 (8-415)
topBoundaryPos=gdr_enabled_flag?PicRefreshedTopBoundaryPos ofpicture referred to by RefPicList[X][refIdxLX]:0 (8-415)
rightBoundaryPos=gdr_enabled_flag?PicRefreshedRightBoundaryPos ofpicture referred to by RefPicList[X][refIdxLX]:pic_width_in_luma_samples (8-415)
botBoundaryPos=gdr_enabled_flag?PicRefreshedBotBoundaryPos ofpicture referred to by RefPicList[X][refIdxLX]:pic_height_in_luma_samples (8-415)
–如果yCb>>CtbLog2SizeY等于yColBr>>CtbLog2SizeY,yColBr的取值范围为topBoundaryPos到botBoundaryPos(包括端值),xColBr的取值范围为leftBoundaryPos到rightBoundaryPos(包括端值),则以下内容适用:
–变量colCb表示覆盖ColPic表示的并置图像内的((xColBr>>3)<<3,(yColBr>>3)<<3)给出的修改位置的亮度编码块。
–亮度位置(xColCb,yColCb)被设置为等于colCb表示的并置亮度样本编码块的左上样本相对于ColPic表示的并置图像的左上亮度样本的位置。
–将currCb、colCb、(xColCb,yColCb)、refIdxLX和设置为等于0的sbFlag作为输入,根据第8.5.2.12小节调用并置运动矢量的推导过程,输出被赋值给mvLXCol和availableFlagLXCol。
–否则,mvLXCol的两个分量都被设置为等于0,且availableFlagLXCol被设置为等于0。
2……
亮度样本双线性插值过程如下所述。
该过程的输入是:
–以整样本为单位的亮度位置(xIntL,yIntL),
–以分数样本为单位的亮度位置(xFracL,yFracL),
–亮度参考样本阵列refPicLXL
–参考图像的刷新的区域的边界PicRefreshedLeftBoundaryPos、PicRefreshedTopBoundaryPos、PicRefreshedRightBoundaryPos和PicRefreshedBotBoundaryPos。
……
对于i=0..1,以整样本为单位的亮度位置(xInti,yInti)的推导方式如下:
–如果gdr_enabled_flag等于1,则以下内容适用:
xInti=Clip3(PicRefreshedLeftBoundaryPos,PicRefreshedRightBoundaryPos,xIntL+i) (8-458)
yInti=Clip3(PicRefreshedTopBoundaryPos,PicRefreshedBotBoundaryPos,yIntL+i) (8-458)
–否则(gdr_enabled_flag等于0),则以下内容适用:
xInti=sps_ref_wraparound_enabled_flag?
ClipH((sps_ref_wraparound_offset_minus1+1)*MinCbSizeY,picW,(xIntL+i)): (8-459)
Clip3(0,picW–1,xIntL+i)
yInti=Clip3(0,picH–1,yIntL+i) (8-460)
……
亮度样本8抽头插值滤波过程如下所述。
该过程的输入是:
–以整样本为单位的亮度位置(xIntL,yIntL),
–以分数样本为单位的亮度位置(xFracL,yFracL),
–亮度参考样本阵列refPicLXL
–列表padVal[dir](dir=0,1),表示参考样本填充方向和次数,
–参考图像的刷新的区域的边界PicRefreshedLeftBoundaryPos、PicRefreshedTopBoundaryPos、PicRefreshedRightBoundaryPos和PicRefreshedBotBoundaryPos。
……
对于i=0..7,以整样本为单位的亮度位置(xInti,yInti)的推导方式如下:
–如果gdr_enabled_flag等于1,则以下内容适用:
xInti=Clip3(PicRefreshedLeftBoundaryPos,PicRefreshedRightBoundaryPos,xIntL+i–3) (8-830)
yInti=Clip3(PicRefreshedTopBoundaryPos,PicRefreshedBotBoundaryPos,yIntL+i–3) (8-830)
–否则(gdr_enabled_flag等于0),则以下内容适用:
Figure BDA0003257818080000301
yInti=Clip3(0,picH–1,yIntL+i–3) (8-832)
色度样本插值过程如下所述。
该过程的输入是:
–以整样本为单位的色度位置(xIntC,yIntC),
–以1/32分数样本为单位的色度位置(xFracC,yFracC),
–色度参考样本阵列refPicLXC
–参考图像的刷新的区域的边界PicRefreshedLeftBoundaryPos、PicRefreshedTopBoundaryPos、PicRefreshedRightBoundaryPos和PicRefreshedBotBoundaryPos。
……
变量xOffset被设置为等于(sps_ref_wraparound_offset_minus1+1)*MinCbSizeY)/SubWidthC。
对于i=0..3,以整样本为单位的色度位置(xInti,yInti)的推导方式如下:
–如果gdr_enabled_flag等于1,则以下内容适用:
xInti=Clip3(PicRefreshedLeftBoundaryPos/SubWidthC,PicRefreshedRightBoundaryPos/SubWidthC,xIntL+i) (8-844)
yInti=Clip3(PicRefreshedTopBoundaryPos/SubHeightC,PicRefreshedBotBoundaryPos/SubHeightC,yIntL+i) (8-844)
–否则(gdr_enabled_flag等于0),则以下内容适用:
xInti=sps_ref_wraparound_enabled_flag?ClipH(xOffset,picWC,xIntC+i–1):(8-845)
Clip3(0,picWC–1,xIntC+i–1)yInti=Clip3(0,picHC–1,yIntC+i–1) (8-846)
去块效应滤波过程如下所述。
总体过程。
……
去块效应滤波过程适用于一个图像中的所有编码子块边缘和变换块边缘,但以下类型的边缘除外:
–位于图像边界的边缘,
–满足以下所有条件时,与分块组tgA的上边界重合的边缘:
–gdr_enabled_flag等于1,
–loop_filter_across_refreshed_region_enabled_flag等于0,
–与分块组tgB的下边界重合且tgB的refreshed_region_flag的值与tgA的refreshed_region_flag的值不同的边缘,
–满足以下所有条件时,与分块组tgA的左边界重合的边缘:
–gdr_enabled_flag等于1,
–loop_filter_across_refreshed_region_enabled_flag等于0,
–与分块组tgB的右边界重合且tgB的refreshed_region_flag的值与tgA的refreshed_region_flag的值不同的边缘,
–loop_filter_across_tiles_enabled_flag等于0时与条带边界重合的边缘,
–与tile_group_loop_filter_across_tile_groups_enabled_flag等于0或tile_group_deblocking_filter_disabled_flag等于1的分块组的上边界或左边界重合的边缘,
–tile_group_deblocking_filter_disabled_flag等于1的分块组内的边缘,
–与所考虑分量的8×8样本网格边界不对应的边缘,
–边缘两侧使用帧间预测的色度分量中的边缘,
–色度变换块的边缘,这些边缘不是关联变换单元的边缘,
–跨越IntraSubPartitionsSplit值不等于ISP_NO_SPLIT的译码单元的亮度变换块的边缘。
一个方向的去块效应滤波过程如下所述。
……
对于编码块宽度为log2CbW、编码块高度为log2CbH和编码块左上样本的位置为(xCb,yCb)的每个译码单元,当edgeType等于EDGE_VER且xCb%8等于0时,或当edgeType等于EDGE_HOR且yCb%8等于0时,边缘通过以下按顺序执行的步骤进行滤波:
1.编码块宽度nCbW被设置为等于1<<log2CbW,编码块高度nCbH被设置为等于1<<log2CbH。
2.变量filterEdgeFlag的推导方式如下:
–如果edgeType等于EDGE_VER且以下一个或多个条件为真(true),则filterEdgeFlag被设置为等于0:
–当前编码块的左边界是图像的左边界,
–当前编码块的左边界是分块的左边界,loop_filter_across_tiles_enabled_flag等于0,
–当前编码块的左边界是分块组的左边界,tile_group_loop_filter_across_tile_groups_enabled_flag等于0,
–当前编码块的左边界是当前分块组的左边界,且满足以下所有条件:
–gdr_enabled_flag等于1,
–loop_filter_across_refreshed_region_enabled_flag等于0,
–存在与当前分块组左边界共用边界的分块组,refreshed_region_flag的值与当前分块组的refreshed_region_flag的值不同。
–否则,如果edgeType等于EDGE_HOR且以下一个或多个条件为真,则变量filterEdgeFlag被设置为等于0:
–当前亮度编码块的上边界是图像的上边界,
–当前编码块的上边界是分块的上边界,loop_filter_across_tiles_enabled_flag等于0,
–当前编码块的上边界是分块组的上边界,tile_group_loop_filter_across_tile_groups_enabled_flag等于0,
–当前编码块的上边界是当前分块组的上边界,且满足以下所有条件:
–gdr_enabled_flag等于1,
–loop_filter_across_refreshed_region_enabled_flag等于0,
–存在与当前分块组上边界共用边界的分块组,refreshed_region_flag的值与当前分块组的refreshed_region_flag的值不同。
–否则,filterEdgeFlag被设置为等于1。
分块合并之后,调整语法。
3.二维(nCbW)×(nCbH)阵列edgeFlags的所有元素都被初始化为0。
SAO的CTB修改过程如下所述。
……
对于所有样本位置(xSi,ySj)和(xYi,yYj),其中,i=0..nCtbSw–1,j=0..nCtbSh–1,根据包括覆盖recPicture[xSi][ySj]的编码块的译码单元的pcm_loop_filter_disabled_flag、pcm_flag[xYi][yYj]和cu_transquant_bypass_flag的值,以下内容适用:
–……
修改未来决策转换/量化旁路时未决定的突出显示部分。
–如果SaoTypeIdx[cIdx][rx][ry]等于2,则以下按顺序执行的步骤适用:
1.hPos[k]和vPos[k](k=0..1)的值在表8-18中根据SaoEoClass[cIdx][rx][ry]表示。
2.变量edgeIdx的推导方式如下:
–修改后的样本位置(xSik′,ySjk′)和(xYik′,yYjk′)的推导方式如下:
(xSik′,ySjk′)=(xSi+hPos[k],ySj+vPos[k]) (8-1128)
(xYik′,yYjk′)=(cIdx==0)?(xSik′,ySjk′):(xSik′*SubWidthC,ySjk′*SubHeightC)(8-1129)
–如果所有样本位置(xSik′,ySjk′)和(xYik′,yYjk′)(k=0..1)的以下一个或多个条件为真,则edgeIdx被设置为等于0:
–位置(xSik′,ySjk′)的样本在图像边界之外,
–gdr_enabled_flag等于1,loop_filter_across_refreshed_region_enabled_flag等于0,当前分块组的refreshed_region_flag等于1,包括位置(xSik′,ySjk′)的样本的分块组的refreshed_region_flag等于0,
–位置(xSik′,ySjk′)的样本属于不同的分块组,并且以下两个条件中的一个为真:
–MinTbAddrZs[xYik′>>MinTbLog2SizeY][yYjk′>>MinTbLog2SizeY]小于MinTbAddrZs[xYi>>MinTbLog2SizeY][yYj>>MinTbLog2SizeY],样本recPicture[xSi][ySj]所属的分块组中的tile_group_loop_filter_across_tile_groups_enabled_flag等于0,
–MinTbAddrZs[xYi>>MinTbLog2SizeY][yYj>>MinTbLog2SizeY]小于MinTbAddrZs[xYik′>>MinTbLog2SizeY][yYjk′>>MinTbLog2SizeY],样本recPicture[xSik′][ySjk′]所属的分块组中的tile_group_loop_filter_across_tile_groups_enabled_flag等于0,
–loop_filter_across_tiles_enabled_flag等于0,位置(xSik′,ySjk′)的样本属于不同的分块。
当合并没有分块组的分块时,修改突出显示部分。
–否则,edgeIdx的推导方式如下:
–以下内容适用:
edgeIdx=2+Sign(recPicture[xSi][ySj]–recPicture[xSi+hPos[0]][ySj+vPos[0]])+Sign(recPicture[xSi][ySj]–recPicture[xSi+hPos[1]][ySj+vPos[1]]) (8-1130)
–当edgeIdx等于0、1或2时,edgeIdx的修改方式如下:
edgeIdx=(edgeIdx==2)?0:(edgeIdx+1) (8-1131)
3.修改后的图像样本阵列saoPicture[xSi][ySj]的推导方式如下:
saoPicture[xSi][ySj]=Clip3(0,(1<<bitDepth)–1,recPicture[xSi][ySj]+SaoOffsetVal[cIdx][rx][ry][edgeIdx]) (8-1132)
用于ALF的亮度样本的编码树块滤波过程如下所述。
……
为了推导经滤波的重建亮度样本alfPictureL[x][y],当前亮度编码树块内的每个重建亮度样本recPictureL[x][y]的滤波方式如下,其中,x,y=0..CtbSizeY–1:
–……
–亮度样本组成的给定阵列recPicture内的每个对应的亮度样本(x,y)的位置(hx,vy)的推导方式如下:
–如果gdr_enabled_flag等于1,loop_filter_across_refreshed_region_enabled_flag等于0,包括位置(x,y)的亮度样本的分块组tgA的refreshed_region_flag等于1,则以下内容适用:
–如果位置(hx,vy)位于另一个分块组tgB中,且tgB的refreshed_region_flag等于0,则变量leftBoundary、rightBoundary、topBoundary和botBoundary分别被设置为等于TGRefreshedLeftBoundary、TGRefreshedRightBoundary、TGRefreshedTopBoundary和TGRefreshedBotBoundary。
–否则,变量leftBoundary、rightBoundary、topBoundary和botBoundary分别被设置为等于PicRefreshedLeftBoundaryPos、PicRefreshedRightBoundaryPos、PicRefreshedTopBoundaryPos和PicRefreshedBotBoundaryPos。
hx=Clip3(leftBoundary,rightBoundary,xCtb+x) (8-1140)
vy=Clip3(topBoundary,botBoundary,yCtb+y) (8-1141)
–否则,以下内容适用:
hx=Clip3(0,pic_width_in_luma_samples–1,xCtb+x) (8-1140)
vy=Clip3(0,pic_height_in_luma_samples–1,yCtb+y) (8-1141)
–……
亮度样本的ALF转置和滤波器索引的推导过程如下所述。
……
亮度样本组成的给定阵列recPicture内的每个对应的亮度样本(x,y)的位置(hx,vy)的推导方式如下:
–如果gdr_enabled_flag等于1,loop_filter_across_refreshed_region_enabled_flag等于0,包括位置(x,y)的亮度样本的分块组tgA的refreshed_region_flag等于1,则以下内容适用:
–如果位置(hx,vy)位于另一个分块组tgB中,且tgB的refreshed_region_flag等于0,则变量leftBoundary、rightBoundary、topBoundary和botBoundary分别被设置为等于TGRefreshedLeftBoundary、TGRefreshedRightBoundary、TGRefreshedTopBoundary和TGRefreshedBotBoundary。
–否则,变量leftBoundary、rightBoundary、topBoundary和botBoundary分别被设置为等于PicRefreshedLeftBoundaryPos、PicRefreshedRightBoundaryPos、PicRefreshedTopBoundaryPos和PicRefreshedBotBoundaryPos。
hx=Clip3(leftBoundary,rightBoundary,x) (8-1140)
vy=Clip3(topBoundary,botBoundary,y) (8-1141)
–否则,以下内容适用:
hx=Clip3(0,pic_width_in_luma_samples–1,x) (8-1145)
vy=Clip3(0,pic_height_in_luma_samples–1,y) (8-1146)
色度样本的编码树块滤波过程如下所述。
……
为了推导经滤波的重建色度样本alfPicture[x][y],当前色度编码树块内的每个重建色度样本recPicture[x][y]的滤波方式如下,其中,x,y=0..ctbSizeC–1:
–色度样本组成的给定阵列recPicture内的每个对应的色度样本(x,y)的位置(hx,vy)的推导方式如下:
–如果gdr_enabled_flag等于1,loop_filter_across_refreshed_region_enabled_flag等于0,包括位置(x,y)的亮度样本的分块组tgA的refreshed_region_flag等于1,则以下内容适用:
–如果位置(hx,vy)位于另一个分块组tgB中,且tgB的refreshed_region_flag等于0,则变量leftBoundary、rightBoundary、topBoundary和botBoundary分别被设置为等于TGRefreshedLeftBoundary、TGRefreshedRightBoundary、TGRefreshedTopBoundary和TGRefreshedBotBoundary。
–否则,变量leftBoundary、rightBoundary、topBoundary和botBoundary分别被设置为等于PicRefreshedLeftBoundaryPos、PicRefreshedRightBoundaryPos、PicRefreshedTopBoundaryPos和PicRefreshedBotBoundaryPos。
hx=Clip3(leftBoundary/SubWidthC,rightBoundary/SubWidthC,xCtbC+x) (8-1140)
vy=Clip3(topBoundary/SubWidthC,botBoundary/SubWidthC,yCtbC+y) (8-1141)
–否则,以下内容适用:
hx=Clip3(0,pic_width_in_luma_samples/SubWidthC–1,xCtbC+x) (8-1177)
vy=Clip3(0,pic_height_in_luma_samples/SubHeightC–1,yCtbC+y) (8-1178)
图7为本发明实施例提供的用于实现逐步解码刷新(gradual decoding refresh,GDR)技术700的视频码流750。GDR技术700可以类似于图5的GDR技术500。如本文所使用,视频码流750也可以称为经译码的视频码流、码流或其变体。如图7所示,码流750包括序列参数集(sequence parameter set,SPS)752、图像参数集(picture parameter set,PPS)754、条带头756和图像数据758。
SPS 752包括图像序列(sequence of picture,SOP)中的所有图像共用的数据。相反,PPS 754包括的数据是整个图像共用的。条带头756包括当前条带的信息,例如条带类型、将使用哪些参考图像等。SPS 752和PPS 754可以统称为参数集。SPS 752、PPS 754和条带头756是网络抽象层(Network Abstraction Layer,NAL)单元的类型。NAL单元是一种语法结构,包括要遵循的数据类型(例如,经译码视频数据)的指示。NAL单元分为视频编码层(video coding layer,VCL)和非VCL NAL单元。VCL NAL单元包括表示视频图像中样本值的数据,非VCL NAL单元包括任何相关的附加信息,如参数集(可应用于大量VCL NAL单元的重要标头数据)和补充增强信息(定时信息和其它补充数据,其可以增强解码视频信号的可用性,但不是解码视频图像中样本的值所必需的)。本领域技术人员将理解,码流750在实际应用中可以包括其它参数和信息。
图7的图像数据758包括与正在编码或解码的图像或视频相关联的数据。图像数据758可以简单地称为码流750中携带的有效载荷或数据。在一个实施例中,图像数据758包括CVS 708(或CLVS),所述CVS 708(或CLVS)包括GDR图像702、一个或多个后置图像704和恢复点图像706。在一个实施例中,后置图像704可以被视为GDR图像的一种形式,因为后置图像704在GDR周期中在恢复点图像706之前。
在一个实施例中,GDR图像702、后置图像704和恢复点图像706可以在CVS 708中定义GDR周期。在一个实施例中,解码顺序从GDR图像702开始,之后是后置图像704,然后到恢复图像706。
当视频解码器30通过用户界面84接收到值(例如,1(1))时,第一标志被设置为等于用户界面(例如,外部输入端)提供的值,并且第二标志被设置为等于第一标志,以防止输出GDR图像702以及GDR图像702与恢复点图像706之间的按输出顺序(例如呈现顺序410)排列的任何后置图像704。否则,当视频解码器30没有通过用户界面84接收到任何值时,第一标志和第二标志被设置为等于不同的值(例如,0(0))。在一个实施例中,当第一标志被设置为等于用户界面提供的值时,仅防止输出GDR图像702。
CVS 708是视频码流750中的每个编码层视频序列(coded layer videosequence,CLVS)的编码视频序列。值得注意的是,当视频码流750包括单层时,CVS和CLVS是相同的。CVS和CLVS仅在视频码流750包括多层时不同。
如图7所示,GDR技术700或原理在以GDR图像702开始并以恢复点图像706结束的一系列图像上发挥作用。GDR技术700、GDR图像702、后置图像704和恢复点图像706类似于图5的GDR技术500、GDR图像502、后置图像504和恢复点图像506。因此,为了简洁起见,关于图7,不重复实现GDR技术700的方式。
如图7所示,CVS 708中的GDR图像702、后置图像704和恢复点图像706各自包括在它们自己的VCL NAL单元730中。CVS 708中的一组VCL NAL单元730可以称为接入单元。
包括CVS 708中的GDR图像702的NAL单元730具有GDR NAL单元类型(GDR_NUT)。即,在一个实施例中,CVS 708中包括GDR图像702的NAL单元730相对于后置图像704和恢复点图像706具有其自己唯一的NAL单元类型。在一个实施例中,GDR_NUT允许码流750以GDR图像702开始,而不是码流750必须以IRAP图像开始。将GDR图像702的VCL NAL单元730指定为GDR_NUT可以向解码器指示例如CVS 708中的初始VCL NAL单元730包括GDR图像702。
在一个实施例中,GDR图像702是CVS 708中的初始图像。在一个实施例中,GDR图像702是GDR周期中的初始图像。在一个实施例中,GDR图像702的时间标识符(identifier,ID)等于0。时间ID是标识一个图像相对于其它图像的位置或顺序的值或数字。在一个实施例中,包括具有GDR_NUT的VCL NAL单元730的接入单元表示为GDR接入单元。在一个实施例中,GDR图像702是另一个(例如,更大)GDR图像的经译码条带。即,GDR图像702可以是较大GDR图像的一部分。
图8为由视频解码器(例如,视频解码器30)实现的对经译码的视频码流进行解码的方法800的实施例。方法800可以在已从视频编码器(例如,视频编码器20)直接或间接接收到经解码码流之后执行。方法800改进了解码过程,因为该方法实现渐进帧内刷新以在不需要使用IRAP图像的情况下启用随机接入。标志的值由视频解码器的用户通过用户界面(例如,图3中的用户界面84或一些其它外部模块)设置,以防止输出GDR图像。在一个实施例中,标志的值由视频解码器的用户通过用户界面(例如,图3中的用户界面84或一些其它外部模块)设置,以防止输出GDR图像以及GDR图像与恢复点图像之间的按输出顺序排列的任何后置图像。以这种方式设置标志可防止可能将脏数据输出到显示器,并使得视频解码器根据用户的偏好进行操作。因此,实际上,编解码器的性能得到提高,用户体验更好。
在步骤802中,视频解码器确定第一标志的值是否由外部输入端(例如,图3中的用户界面84或一些其它外部模块)提供。在一个实施例中,外部输入端是视频解码器的图形用户界面(graphic user interface,GUI)。在一个实施例中,视频解码器的用户使用外部输入端提供第一标志的值。在一个实施例中,第一标志表示为HandleGdrAsCvsStartFlag。
在步骤804中,视频解码器将第一标志设置为等于外部输入端提供的值,将第二标志设置为等于所述第一标志,以防止在所述第一标志的值由外部输入端提供时,输出逐步解码刷新(gradual decoding refresh,GDR)图像(例如,GDR图像702)以及GDR图像702与恢复点图像706之间的按输出顺序排列的任何后置图像704。在一个实施例中,第一标志被设置为一(1),以防止输出GDR图像以及GDR图像与恢复点图像之间的按输出顺序排列的任何后置图像。在一个实施例中,当第一标志的值不是由外部输入端提供时,第一标志的值被设置为0(0)。
在一个实施例中,GDR图像是经译码的视频码流的CVS中的初始图像。在一个实施例中,GDR图像是经译码的视频码流的一个层中的初始图像。在一个实施例中,所述层是经译码的视频码流的CVS的CLVS。
在步骤806中,视频解码器对GDR图像进行解码。然后依次对后置图像和恢复点图像进行解码。在步骤808中,视频解码器将GDR图像存储在解码图像缓冲器(decodedpicture buffer,DPB)中。在一个实施例中,当通过设置第一标志和第二标志没有限制输出GDR图像时,可以为电子设备(例如,智能手机、平板电脑、笔记本电脑、个人电脑等)用户显示根据GDR图像生成的图像。
图9为本发明实施例提供的视频译码设备900(例如,视频编码器20或视频编码器30)的示意图。视频译码设备900适用于实现本文所述的所公开实施例。视频译码设备900包括用于接收数据的入端口910和接收器单元(receiver unit,Rx)920;用于处理数据的处理器、逻辑单元或中央处理单元(central processing unit,CPU)930;用于发送数据的发送器单元(transmitter unit,Tx)940和出端口950;以及用于存储数据的存储器960。视频译码设备900还可以包括耦合到入端口910、接收器单元920、发送器单元940和出端口950的光电(optical-to-electrical,OE)组件和电光(electrical-to-optical,EO)组件,用于光或电信号的出或入。
处理器930通过硬件和软件实现。处理器930可以实现为一个或多个CPU芯片、一个或多个核(例如,作为多核处理器)、一个或多个现场可编程门阵列(field-programmablegate array,FPGA)、一个或多个专用集成电路(application specific integratedcircuit,ASIC)以及一个或多个数字信号处理器(digital signal processor,DSP)。处理器930与入端口910、接收器单元920、发送器单元940、出端口950和存储器960通信。处理器930包括译码模块970。译码模块970实现上文所公开的实施例。例如,译码模块970执行、处理、准备或提供各种编解码功能。因此,包括译码模块970为视频译码设备900的功能提供了实质性改进,并且实现了视频译码设备900到不同状态的转换。或者,以存储在存储器960中并由处理器930执行的指令来实现译码模块970。
视频译码设备900还可以包括用于向用户和从用户发送数据的输入和/或输出(input/output,I/O)设备980。I/O设备980可以包括输出设备,例如用于显示视频数据的显示器、用于输出音频数据的扬声器。I/O设备980还可以包括键盘、鼠标、轨迹球等输入设备,和/或用于与这种输出设备交互的对应接口。在一个实施例中,I/O设备980是视频译码设备900的用户用于输入第一标志的值的外部装置。
存储器960包括一个或多个磁盘、磁带驱动器和固态驱动器,可用作溢出数据存储设备,以在选择执行程序时存储这些程序,以及存储程序执行期间读取的指令和数据。存储器960可以是易失性和/或非易失性的,并且可以是只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、三态内容寻址存储器(ternary content-addressable memory,TCAM)和/或静态随机存取存储器(static random-access memory,SRAM)。
图10为译码模块1000的实施例的示意图。在一个实施例中,译码模块1000在视频译码设备1002(例如,视频编码器20或视频解码器30)中实现。视频译码设备1002包括接收模块1001。接收模块1001用于接收图像进行编码或接收码流进行解码。视频译码设备1002包括耦合到接收模块1001的发送模块1007。发送模块1007用于将码流发送到解码器或将解码图像发送到显示模块(例如,I/O设备1080之一)。
视频译码设备1002包括存储模块1003。存储模块1003耦合到接收模块1001或发送模块1007中的至少一个。存储模块1003用于存储指令。视频译码设备1002包括处理模块1005。处理模块1005耦合到存储模块1003。处理模块1005用于执行存储在存储模块1003中的指令以执行本文公开的方法。
还应当理解,本文中阐述的示例性方法的步骤不一定需要按照所描述的顺序执行,并且这些方法的步骤的顺序应当理解为仅仅是示例性的。同样地,在与本发明各种实施例相一致的方法中,这些方法可以包括其它步骤,并且某些步骤可以省略或合并。
虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,本发明所公开的系统和方法可以以许多其它特定形式来体现。本发明的示例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或组件可以在另一系统中组合或合并,或者某些特征可以省略或不实现。
此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、模块、技术或方法进行组合或合并。展示或论述为彼此耦合或直接耦合或互相通信的其它项可以采用电方式、机械方式或其它方式经由某一接口、设备或中间组件间接地耦合或通信。其它变化、替代和改变的示例可以由本领域的技术人员在不脱离本文精神和所公开的范围的情况下确定。

Claims (16)

1.一种由视频解码器实现的对经译码的视频码流进行解码的方法,其特征在于,所述方法包括:
所述视频解码器确定第一标志的值是否由外部输入端提供;
当所述第一标志的所述值由所述外部输入端提供时,所述视频解码器将所述第一标志设置为等于所述外部输入端提供的值,以及将第二标志设置为等于所述第一标志,以防止输出逐步解码刷新(gradual decoding refresh,GDR)图像;
所述视频解码器对所述GDR图像进行解码;
所述视频解码器将所述GDR图像存储在解码图像缓冲器(decoded picture buffer,DPB)中。
2.根据权利要求1所述的方法,其特征在于,还包括当所述第一标志的所述值由所述外部输入端提供时,将所述第一标志设置为等于所述外部输入端提供的值,以及将所述第二标志设置为等于所述第一标志,以防止输出所述逐步解码刷新(gradual decodingrefresh,GDR)图像以及所述GDR图像与恢复点图像之间的按输出顺序排列的任何后置图像(trailing picture)。
3.根据权利要求1或2所述的方法,其特征在于,所述外部输入端是所述视频解码器的图形用户界面(graphic user interface,GUI),所述第一标志的所述值由所述视频解码器的用户使用所述外部输入端提供。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一标志表示为HandleGdrAsCvsStartFlag。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述第一标志的所述值和所述第二标志被设置为1(1),以防止输出所述GDR图像以及所述GDR图像与恢复点图像之间的按输出顺序排列的任何后置图像。
6.根据权利要求1所述的方法,其特征在于,当所述第一标志的所述值不是由所述外部输入端提供时,所述第一标志的所述值被设置为0(0)。
7.一种解码设备,其特征在于,包括:
接收器,用于接收经译码的视频码流;
存储器,耦合到所述接收器,所述存储器存储指令;
处理器,耦合到所述存储器,所述处理器用于执行所述指令以使得所述解码设备进行以下操作:
确定第一标志的值是否由外部输入端提供;
当所述第一标志的所述值由所述外部输入端提供时,将所述第一标志设置为等于所述外部输入端提供的值,以及将第二标志设置为等于所述第一标志,以防止输出逐步解码刷新(gradual decoding refresh,GDR)图像;
对所述GDR图像进行解码;
将所述GDR图像存储在解码图像缓冲器(decoded picture buffer,DPB)中。
8.根据权利要求7所述的解码设备,其特征在于,当所述第一标志的所述值由所述外部输入端提供时,所述第一标志被设置为等于所述外部输入端提供的值,所述第二标志被设置为等于所述第一标志,以防止输出所述逐步解码刷新(gradual decoding refresh,GDR)图像以及所述GDR图像与恢复点图像之间的按输出顺序排列的任何后置图像。
9.根据权利要求7或8所述的解码设备,其特征在于,所述外部输入端是所述视频解码器的图形用户界面(graphic user interface,GUI),所述第一标志的所述值由所述视频解码器的用户使用所述外部输入端提供。
10.根据权利要求7至9中任一项所述的解码设备,其特征在于,所述第一标志表示为HandleGdrAsCvsStartFlag。
11.根据权利要求7至10中任一项所述的解码设备,其特征在于,所述第一标志的所述值和所述第二标志被设置为1(1),以防止输出所述GDR图像以及所述GDR图像与恢复点图像之间的按输出顺序排列的任何后置图像。
12.根据权利要求7所述的解码设备,其特征在于,当所述第一标志的所述值不是由所述外部输入端提供时,所述第一标志的所述值被设置为0(0)。
13.一种译码装置,其特征在于,包括:
接收器,用于接收码流进行解码;
发送器,耦合到所述接收器,所述发送器用于向显示器发送经解码图像;
存储器,耦合到所述接收器或所述发送器中的至少一个,所述存储器用于存储指令;
处理器,耦合到所述存储器,所述处理器用于执行所述存储器中存储的所述指令,以执行根据权利要求1至6中任一项所述的方法。
14.根据权利要求13所述的译码装置,其特征在于,还包括用于显示图像的显示器。
15.一种系统,其特征在于,包括:
编码器;
解码器,与所述编码器通信,其中,所述解码器包括根据权利要求7至12中任一项所述的解码设备或根据权利要求13或14所述的译码装置。
16.一种译码模块,其特征在于,包括:
接收模块,用于接收图像进行编码或接收码流进行解码;
发送模块,耦合到所述接收模块,所述发送模块用于向解码模块发送所述码流或向显示模块发送经解码图像;
存储模块,耦合到所述接收模块或所述发送模块中的至少一个,所述存储模块用于存储指令;
处理模块,耦合到所述存储模块,所述处理模块用于执行所述存储模块中存储的所述指令,以执行根据权利要求1至6中任一项所述的方法。
CN202080020603.1A 2019-03-11 2020-03-11 视频译码中的逐步解码刷新 Pending CN113557733A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962816722P 2019-03-11 2019-03-11
US62/816,722 2019-03-11
US201962871020P 2019-07-05 2019-07-05
US62/871,020 2019-07-05
PCT/US2020/022185 WO2020185962A1 (en) 2019-03-11 2020-03-11 Gradual decoding refresh in video coding

Publications (1)

Publication Number Publication Date
CN113557733A true CN113557733A (zh) 2021-10-26

Family

ID=72426295

Family Applications (4)

Application Number Title Priority Date Filing Date
CN202080020589.5A Pending CN113924781A (zh) 2019-03-11 2020-03-11 视频译码中的逐步解码刷新
CN202080020603.1A Pending CN113557733A (zh) 2019-03-11 2020-03-11 视频译码中的逐步解码刷新
CN202080020573.4A Pending CN113557722A (zh) 2019-03-11 2020-03-11 视频译码中的逐步解码刷新
CN202080020529.3A Pending CN113615175A (zh) 2019-03-11 2020-03-11 视频译码中的逐步解码刷新

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202080020589.5A Pending CN113924781A (zh) 2019-03-11 2020-03-11 视频译码中的逐步解码刷新

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN202080020573.4A Pending CN113557722A (zh) 2019-03-11 2020-03-11 视频译码中的逐步解码刷新
CN202080020529.3A Pending CN113615175A (zh) 2019-03-11 2020-03-11 视频译码中的逐步解码刷新

Country Status (8)

Country Link
US (7) US11632545B2 (zh)
EP (5) EP4432649A2 (zh)
JP (8) JP7399977B2 (zh)
KR (4) KR20210132197A (zh)
CN (4) CN113924781A (zh)
BR (1) BR112021017985A2 (zh)
MX (4) MX2021011012A (zh)
WO (4) WO2020185957A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112534810A (zh) * 2018-08-06 2021-03-19 夏普株式会社 运动图像解码装置以及运动图像编码装置
BR112021002832A2 (pt) * 2018-08-17 2021-05-04 Huawei Technologies Co., Ltd. gerenciamento de imagem de referência em codificação de vídeo
JP7399977B2 (ja) * 2019-03-11 2023-12-18 ホアウェイ・テクノロジーズ・カンパニー・リミテッド エンコーダ、デコーダ、および対応する方法
CN113924784B (zh) * 2019-03-12 2024-06-11 现代自动车株式会社 用于编码和解码影像的方法
GB2617304B (en) * 2019-03-20 2024-04-03 V Nova Int Ltd Residual filtering in signal enhancement coding
ES2953120T3 (es) * 2019-04-23 2023-11-08 Guangdong Oppo Mobile Telecommunications Corp Ltd Método de decodificación de imágenes, decodificador y medio de almacenamiento
CN114930825A (zh) 2019-12-26 2022-08-19 字节跳动有限公司 用于在编解码图片中实现解码顺序的技术
US11758171B2 (en) 2019-12-27 2023-09-12 Alibaba Group Holding Limited Methods and systems for performing gradual decoding refresh processing on pictures
JP7460790B2 (ja) * 2020-03-19 2024-04-02 バイトダンス インコーポレイテッド 参照ピクチャ順序の制約
US11533499B2 (en) * 2020-03-31 2022-12-20 Tencent America LLC Method for signaling mixed NAL unit type and subpicture partitioning in coded video stream
US11496730B2 (en) * 2020-04-03 2022-11-08 Electronics And Telecommunications Research Institute Method, apparatus and storage medium for image encoding/decoding using subpicture
WO2022174431A1 (zh) * 2021-02-20 2022-08-25 深圳市大疆创新科技有限公司 图像传输方法、可移动平台、设备及计算机可读存储介质
CN114630122B (zh) 2021-03-19 2023-04-28 杭州海康威视数字技术股份有限公司 基于自适应帧内刷新机制的解码、编码方法及相关设备
EP4415099A1 (en) 2021-10-06 2024-08-14 Soulbrain Co., Ltd. Electrolyte and secondary battery comprising same

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8300690B2 (en) 2002-07-16 2012-10-30 Nokia Corporation Method for random access and gradual picture refresh in video coding
US20040260827A1 (en) * 2003-06-19 2004-12-23 Nokia Corporation Stream switching based on gradual decoder refresh
EP2119187B1 (en) * 2007-02-23 2017-07-19 Nokia Technologies Oy Backward-compatible characterization of aggregated media data units
TW201032597A (en) * 2009-01-28 2010-09-01 Nokia Corp Method and apparatus for video coding and decoding
TW201210325A (en) * 2010-07-21 2012-03-01 Nokia Corp Method and apparatus for indicating switching points in a streaming session
US9237356B2 (en) * 2011-09-23 2016-01-12 Qualcomm Incorporated Reference picture list construction for video coding
US9264717B2 (en) * 2011-10-31 2016-02-16 Qualcomm Incorporated Random access with advanced decoded picture buffer (DPB) management in video coding
US9124895B2 (en) * 2011-11-04 2015-09-01 Qualcomm Incorporated Video coding with network abstraction layer units that include multiple encoded picture partitions
US9736476B2 (en) * 2012-04-27 2017-08-15 Qualcomm Incorporated Full random access from clean random access pictures in video coding
AU2013282644B2 (en) 2012-06-25 2016-05-12 Nec Corporation Video encoding/decoding device, method, and program
US9225978B2 (en) * 2012-06-28 2015-12-29 Qualcomm Incorporated Streaming adaption based on clean random access (CRA) pictures
US9648322B2 (en) * 2012-07-10 2017-05-09 Qualcomm Incorporated Coding random access pictures for video coding
US9491457B2 (en) * 2012-09-28 2016-11-08 Qualcomm Incorporated Signaling of regions of interest and gradual decoding refresh in video coding
US9571847B2 (en) * 2013-01-07 2017-02-14 Qualcomm Incorporated Gradual decoding refresh with temporal scalability support in video coding
US10003815B2 (en) * 2013-06-03 2018-06-19 Qualcomm Incorporated Hypothetical reference decoder model and conformance for cross-layer random access skipped pictures
EP3039861A1 (en) * 2013-08-28 2016-07-06 Cisco Technology, Inc. Support for trick modes in hevc streams
WO2015047162A1 (en) * 2013-09-26 2015-04-02 Telefonaktiebolaget L M Ericsson (Publ) Hybrid codec scalable video
CN106416250B (zh) * 2013-12-02 2020-12-04 诺基亚技术有限公司 视频编码和解码
US10560710B2 (en) * 2014-01-03 2020-02-11 Qualcomm Incorporated Method for coding recovery point supplemental enhancement information (SEI) messages and region refresh information SEI messages in multi-layer coding
US10136152B2 (en) * 2014-03-24 2018-11-20 Qualcomm Incorporated Use of specific HEVC SEI messages for multi-layer video codecs
JP6398569B2 (ja) * 2014-10-07 2018-10-03 株式会社ソシオネクスト 画像符号化装置、画像符号化方法および画像符号化プログラム
WO2017052626A1 (en) * 2015-09-25 2017-03-30 Intel Corporation Power gate with metal on both sides
US20170111642A1 (en) * 2015-10-14 2017-04-20 Qualcomm Incorporated Support of random access and switching of layers and sub-layers in multi-layer video files
US10638147B2 (en) * 2018-06-01 2020-04-28 Apple Inc. Gradual decoder refresh techniques with management of reference pictures
US10972755B2 (en) * 2018-12-03 2021-04-06 Mediatek Singapore Pte. Ltd. Method and system of NAL unit header structure for signaling new elements
US11956471B2 (en) * 2018-12-20 2024-04-09 Telefonaktiebolaget Lm Ericsson (Publ) Normative indication of recovery point
JP7399977B2 (ja) * 2019-03-11 2023-12-18 ホアウェイ・テクノロジーズ・カンパニー・リミテッド エンコーダ、デコーダ、および対応する方法
EP3939305A4 (en) * 2019-03-11 2022-12-21 Telefonaktiebolaget Lm Ericsson (Publ) PROCEDURE FOR RECOVERY POINT PROCESS FOR VIDEO ENCODER AND ASSOCIATED DEVICE
US11228777B2 (en) * 2019-12-30 2022-01-18 Tencent America LLC Method for layerwise random access in a coded video stream
KR20220141794A (ko) * 2020-03-05 2022-10-20 엘지전자 주식회사 혼성 nal 유닛 타입에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법

Also Published As

Publication number Publication date
EP3928508A4 (en) 2022-08-17
JP7399977B2 (ja) 2023-12-18
JP2022524617A (ja) 2022-05-09
CN113557722A (zh) 2021-10-26
JP7364685B2 (ja) 2023-10-18
WO2020185959A1 (en) 2020-09-17
US20230156184A1 (en) 2023-05-18
JP7302000B2 (ja) 2023-07-03
CN113924781A (zh) 2022-01-11
EP3928508A1 (en) 2021-12-29
JP2022524618A (ja) 2022-05-09
JP7337948B2 (ja) 2023-09-04
WO2020185956A1 (en) 2020-09-17
JP2022524810A (ja) 2022-05-10
CN113615175A (zh) 2021-11-05
US11917134B2 (en) 2024-02-27
BR112021017985A2 (pt) 2021-11-16
US20240163425A1 (en) 2024-05-16
US11973939B2 (en) 2024-04-30
US20210409690A1 (en) 2021-12-30
US20210409691A1 (en) 2021-12-30
JP2024008969A (ja) 2024-01-19
US20220014755A1 (en) 2022-01-13
EP3928520A4 (en) 2022-08-17
MX2021011038A (es) 2021-10-13
MX2021011012A (es) 2021-11-12
JP2022526088A (ja) 2022-05-23
US11632545B2 (en) 2023-04-18
KR20210132197A (ko) 2021-11-03
MX2021011014A (es) 2021-11-12
EP3928511A4 (en) 2022-06-22
JP2023181208A (ja) 2023-12-21
EP3928511A1 (en) 2021-12-29
EP3928512A4 (en) 2022-06-22
WO2020185957A1 (en) 2020-09-17
US11856189B2 (en) 2023-12-26
KR20210134036A (ko) 2021-11-08
MX2021011013A (es) 2021-11-12
EP4432649A2 (en) 2024-09-18
US20240244189A1 (en) 2024-07-18
WO2020185962A1 (en) 2020-09-17
JP2023130378A (ja) 2023-09-20
EP3928520A1 (en) 2021-12-29
KR20210134390A (ko) 2021-11-09
US20210409689A1 (en) 2021-12-30
KR20210134774A (ko) 2021-11-10
JP2023160851A (ja) 2023-11-02
EP3928512A1 (en) 2021-12-29

Similar Documents

Publication Publication Date Title
US11632545B2 (en) Gradual decoding refresh in video coding
EP4221225B1 (en) Handling of bi-directional optical flow (bio) coding tool for reference picture resampling in video coding
CN113826399A (zh) 视频译码中用于参考图像重采样的解码器侧运动矢量修正(dmvr)译码工具的处理
CN114097238A (zh) 视频译码中开始新编码视频序列的图像的先前图像的输出
CN113924772A (zh) 多层支持下视频译码中的帧间译码

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination