CN114097238A - 视频译码中开始新编码视频序列的图像的先前图像的输出 - Google Patents

视频译码中开始新编码视频序列的图像的先前图像的输出 Download PDF

Info

Publication number
CN114097238A
CN114097238A CN202080033617.7A CN202080033617A CN114097238A CN 114097238 A CN114097238 A CN 114097238A CN 202080033617 A CN202080033617 A CN 202080033617A CN 114097238 A CN114097238 A CN 114097238A
Authority
CN
China
Prior art keywords
video
picture
flag
gdr
decoding
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
CN202080033617.7A
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 CN114097238A publication Critical patent/CN114097238A/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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements

Landscapes

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

Abstract

提供了一种对编码视频码流进行解码的方法。所述方法包括接收所述编码视频码流,其中,所述编码视频码流包含逐步解码刷新(gradual decoding refresh,GDR)图像和具有第一值的第一标志;设置第二标志的第二值等于所述第一标志的所述第一值;根据具有所述第二值的所述第二标志,从解码图像缓冲区(decoded picture buffer,DPB)中清空任何之前解码的图像;在所述DPB被清空之后,对当前图像进行解码。还提供了对应的编码方法。

Description

视频译码中开始新编码视频序列的图像的先前图像的输出
相关申请案交叉申请
本专利申请要求由王业奎于2019年5月6日提交的第62/843,991号、发明名称为“视频译码中开始新编码视频序列的图像的先前图像的输出(Output of Prior Picturesfor Pictures Starting a New Coded Video Sequence In Video Coding)”的美国临时专利申请的权益,所述美国临时专利申请通过引用的方式并入本文中。
技术领域
本申请大体上描述了支持在视频译码中输出之前解码的图像的技术。更具体地,本申请支持从解码图像缓冲区(decoded picture buffer,DPB)输出对应于开始编码视频序列(coded video sequence,CVS)的随机接入点图像的之前解码的图像。
背景技术
即使在视频较短的情况下也需要对大量的视频数据进行描述,当数据要在带宽容量受限的通信网络中发送或以其它方式发送时,这样会造成困难。因此,视频数据通常要先压缩然后在现代电信网络中发送。由于内存资源有限,当在存储设备中存储视频时,视频的大小也会成为问题。视频压缩设备通常在信源侧使用软件和/或硬件,以在发送或存储之前对视频数据进行编码,从而减少用来表示数字视频图像所需的数据量。然后,压缩数据在目的侧由用于对视频数据进行解码的视频解压缩设备接收。在有限的网络资源以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术在几乎不影响图像质量的情况下能够提高压缩比。
发明内容
第一方面涉及一种视频解码器实现的解码方法。所述方法包括:所述视频解码器接收编码视频码流,其中,所述编码视频码流包含逐步解码刷新(gradual decodingrefresh,GDR)图像和具有第一值的第一标志;所述视频解码器设置第二标志的第二值等于所述第一标志的所述第一值;在所述GDR图像被解码之后,所述视频解码器根据具有所述第二值的所述第二标志,从解码图像缓冲区(decoded picture buffer,DPB)中清空任何之前解码的图像;在所述DPB被清空之后,所述视频解码器对当前图像进行解码。
所述方法实现当在解码顺序中遇到即时解码刷新(instantaneous decoderrefresh,IDR)图像以外的随机接入点图像(例如,净随机接入(clean random access,CRA)图像、逐步随机接入(gradual random access,GRA)图像或逐步解码刷新(gradualdecoding refresh,GDR)图像、CVSS图像等)时,在解码图像缓冲区(decoded picturebuffer,DPB)中输出先前图像(例如,之前解码的图像)的技术。当到达随机接入点图像时,从DPB中清空之前解码的图像可防止DPB溢出,确保播放连续性。因此,视频译码中的编码器/解码器(又称为编解码器)相对于现有的编解码器有所改进。实际上,改进的视频译码过程在发送、接收和/或观看视频时为用户提供更好的体验。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述GDR图像不是所述编码视频码流的第一个图像。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述GDR图像位于具有逐步解码刷新(gradual decoding refresh,GDR)网络抽象层(network abstractionlayer,NAL)单元类型(GDR_NUT)的视频编码层(video coding layer,VCL)网络抽象层(network abstraction layer,NAL)单元中。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,第一标志被指定为no_output_of_prior_pics_flag,第二标志被指定为NoOutputOfPriorPicsFlag。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,当所述第一标志被设置为所述第一值时将DPB满度参数(fullness parameter)设置为0。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,在所述GDR图像被解码之后清空所述DPB。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,显示根据所述当前图像生成的图像。
第二方面涉及一种视频编码器实现的编码方法。所述方法包括:所述视频编码器确定视频序列的随机接入点;所述视频编码器将逐步解码刷新(gradual decodingrefresh,GDR)图像编码到所述视频序列中的所述随机接入点处;所述视频编码器将标志设置为第一值,以指示视频解码器从解码图像缓冲区(decoded picture buffer,DPB)中清空任何之前解码的图像;所述视频编码器生成视频码流,所述视频码流包含所述视频序列和所述标志,所述视频序列在所述随机接入点处具有所述GDR图像;所述视频编码器存储用于向所述视频解码器发送的所述视频码流。
所述方法实现当在解码顺序中遇到即时解码刷新(instantaneous decoderrefresh,IDR)图像以外的随机接入点图像(例如,净随机接入(clean random access,CRA)图像、逐步随机接入(gradual random access,GRA)图像或逐步解码刷新(gradualdecoding refresh,GDR)图像、CVSS图像等)时,在解码图像缓冲区(decoded picturebuffer,DPB)中输出先前图像(例如,之前解码的图像)的技术。当到达随机接入点图像时,从DPB中清空之前解码的图像可防止DPB溢出,确保播放连续性。因此,视频译码中的编码器/解码器(又称为编解码器)相对于现有的编解码器有所改进。实际上,改进的视频译码过程在发送、接收和/或观看视频时为用户提供更好的体验。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述GDR图像不是所述视频码流的第一个图像,所述视频解码器被指示在所述GDR图像被解码之后清空所述DPB。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述GDR图像位于具有逐步解码刷新(gradual decoding refresh,GDR)网络抽象层(network abstractionlayer,NAL)单元类型(GDR_NUT)的视频编码层(video coding layer,VCL)网络抽象层(network abstraction layer,NAL)单元中。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,当所述标志被设置为所述第一值时,指示所述视频解码器将DPB满度参数设置为0。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述标志被指定为no_output_of_prior_pics_flag。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述标志的第一值为1。
第三方面涉及一种解码设备。所述解码设备包括:接收器,用于接收编码视频码流;耦合到所述接收器的存储器,所述存储器存储指令;耦合到所述存储器的处理器,所述处理器用于执行所述指令以使所述解码设备执行以下操作:接收所述编码视频码流,其中,所述编码视频码流包含逐步解码刷新(gradual decoding refresh,GDR)图像和具有第一值的第一标志;设置第二标志的第二值等于所述第一标志的所述第一值;根据具有所述第二值的所述第二标志,从解码图像缓冲区(decoded picture buffer,DPB)中清空任何之前解码的图像;在所述DPB被清空之后,对当前图像进行解码。
所述解码设备实现了当在解码顺序中遇到即时解码刷新(instantaneousdecoder refresh,IDR)图像以外的随机接入点图像(例如,净随机接入(clean randomaccess,CRA)图像、逐步随机接入(gradual random access,GRA)图像或逐步解码刷新(gradual decoding refresh,GDR)图像、CVSS图像等)时,在解码图像缓冲区(decodedpicture buffer,DPB)中输出先前图像(例如,之前解码的图像)的技术。当到达随机接入点图像时,从DPB中清空之前解码的图像可防止DPB溢出,确保播放连续性。因此,视频译码中的编码器/解码器(又称为编解码器)相对于现有的编解码器有所改进。实际上,改进的视频译码过程在发送、接收和/或观看视频时为用户提供更好的体验。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述GDR图像不是所述编码视频码流的第一个图像。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述第一标志被指定为no_output_of_prior_pics_flag,所述第二标志被指定为NoOutputOfPriorPicsFlag。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,显示器用于显示根据所述当前图像生成的图像。
第四方面涉及一种编码设备。所述编码设备包括:存储器,所述存储器包含指令;耦合到所述存储器的处理器,所述处理器用于执行所述指令以使所述编码设备执行以下操作:确定视频序列的随机接入点;将逐步解码刷新(gradual decoding refresh,GDR)图像编码到所述视频序列中的所述随机接入点处;将标志设置为第一值,以指示视频解码器从解码图像缓冲区(decoded picture buffer,DPB)中清空任何之前解码的图像;生成视频码流,所述视频码流包含所述视频序列和所述标志,所述视频序列在所述随机接入点处具有GDR图像;耦合到所述处理器的发送器,所述发送器用于向视频解码器发送所述视频码流。
所述编码设备实现当在解码顺序中遇到即时解码刷新(instantaneous decoderrefresh,IDR)图像以外的随机接入点图像(例如,净随机接入(clean random access,CRA)图像、逐步随机接入(gradual random access,GRA)图像或逐步解码刷新(gradualdecoding refresh,GDR)图像、CVSS图像等)时,在解码图像缓冲区(decoded picturebuffer,DPB)中输出先前图像(例如,之前解码的图像)的技术。当到达随机接入点图像时,从DPB中清空之前解码的图像可防止DPB溢出,确保播放连续性。因此,视频译码中的编码器/解码器(又称为编解码器)相对于现有的编解码器有所改进。实际上,改进的视频译码过程在发送、接收和/或观看视频时为用户提供更好的体验。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述GDR图像不是所述视频码流的第一个图像。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述标志被指定为no_output_of_prior_pics_flag。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,在所述发送器向所述视频解码器发送所述码流之前,所述存储器存储所述码流。
第五方面涉及一种译码装置。所述译码装置包括:接收器,用于接收用于编码的图像或接收用于解码的码流;耦合到所述接收器的发送器,所述发送器用于将所述码流发送到解码器或将解码图像发送到显示器;耦合到所述接收器和所述发送器中的至少一个的存储器,所述存储器用于存储指令;耦合到所述存储器的处理器,所述处理器用于执行存储在所述存储器中的所述指令,以执行本文公开的任一方法。
所述译码装置实现当在解码顺序中遇到即时解码刷新(instantaneous decoderrefresh,IDR)图像以外的随机接入点图像(例如,净随机接入(clean random access,CRA)图像、逐步随机接入(gradual random access,GRA)图像或逐步解码刷新(gradualdecoding refresh,GDR)图像、CVSS图像等)时,在解码图像缓冲区(decoded picturebuffer,DPB)中输出先前图像(例如,之前解码的图像)的技术。当到达随机接入点图像时,从DPB中清空之前解码的图像可防止DPB溢出,确保播放连续性。因此,视频译码中的编码器/解码器(又称为编解码器)相对于现有的编解码器有所改进。实际上,改进的视频译码过程在发送、接收和/或观看视频时为用户提供更好的体验。
可选地,根据上述任一方面,在所述方面的另一种实现方式中,显示器用于显示图像。
第六方面涉及一种系统。所述系统包括编码器;与所述编码器通信的解码器,其中,所述编码器或所述解码器包括本文公开的解码设备、编码设备或译码装置。
所述系统实现当在解码顺序中遇到即时解码刷新(instantaneous decoderrefresh,IDR)图像以外的随机接入点图像(例如,净随机接入(clean random access,CRA)图像、逐步随机接入(gradual random access,GRA)图像或逐步解码刷新(gradualdecoding refresh,GDR)图像、CVSS图像等)时,在解码图像缓冲区(decoded picturebuffer,DPB)中输出先前图像(例如,之前解码的图像)的技术。当到达随机接入点图像时,从DPB中清空之前解码的图像可防止DPB溢出,确保播放连续性。因此,视频译码中的编码器/解码器(又称为编解码器)相对于现有的编解码器有所改进。实际上,改进的视频译码过程在发送、接收和/或观看视频时为用户提供更好的体验。
第七方面涉及一种译码单元。所述译码单元包括:接收单元,用于接收用于编码的图像或接收用于解码的码流;耦合到所述接收单元的发送单元,其中,所述发送单元用于将所述码流发送到解码单元或将解码图像发送到显示单元;耦合到所述接收单元或所述发送单元中的至少一个的存储单元,所述存储单元用于存储指令;耦合到所述存储单元的处理单元,所述处理单元用于执行存储在所述存储单元中的所述指令,以执行本文公开的任一方法。
所述译码单元实现当在解码顺序中遇到即时解码刷新(instantaneous decoderrefresh,IDR)图像以外的随机接入点图像(例如,净随机接入(clean random access,CRA)图像、逐步随机接入(gradual random access,GRA)图像或逐步解码刷新(gradualdecoding refresh,GDR)图像、CVSS图像等)时,在解码图像缓冲区(decoded picturebuffer,DPB)中输出先前图像(例如,之前解码的图像)的技术。当到达随机接入点图像时,从DPB中清空之前解码的图像可防止DPB溢出,确保播放连续性。因此,视频译码中的编码器/解码器(又称为编解码器)相对于现有的编解码器有所改进。实际上,改进的视频译码过程在发送、接收和/或观看视频时为用户提供更好的体验。
为了清楚起见,上述任一实施例可以与上述其它实施例中任何一个或多个组合以创建本申请范围内的新实施例。
从结合附图和权利要求书的以下详细描述中,将更清楚地理解这些和其它特征。
附图说明
为了更完整地理解本申请,结合附图和具体实施方式,参考以下简要描述,其中,相同的附图标记表示相同的部件。
图1为可使用GDR技术的示例性译码系统的框图。
图2为可实现GDR技术的示例性视频编码器的框图。
图3为可实现GDR技术的示例性视频解码器的框图。
图4为在解码顺序和呈现顺序中IRAP图像相对于前置图像和后置图像之间的关系的表示。
图5示出了一种逐步解码刷新技术。
图6为不期望的运动搜索的示意图。
图7示出了用于实现净随机接入(clean random access,CRA)技术的视频码流。
图8为对编码视频码流进行解码的方法的实施例。
图9为对编码视频码流进行编码的方法的实施例。
图10为视频译码设备的示意图。
图11为译码单元的一个实施例的示意图。
具体实施方式
首先应理解,尽管下文提供了一个或多个实施例的说明性实现方式,但所公开的系统和/或方法可以使用任何数量的技术来实现,无论该技术是当前已知的技术还是现有的技术。本申请不应限于下文所说明的说明性实现方式、附图和技术,包括本文所说明和描述的示例性设计和实现方式,而是可在所附权利要求书的范围以及其等效部分的完整范围内修改。
图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 video disk,DVD)、只读光盘存储器(compact disc read-only memory,CD-ROM)、闪存、易失性或非易失性存储器,或用于存储编码视频数据的任何其它合适的数字存储介质。在另一个示例中,存储设备可以对应文件服务器或者可以对应可以存储源设备12生成的编码视频的另一个中间存储设备。目的地设备14可以通过流式或下载从存储设备访问存储的视频数据。文件服务器可以是能够存储编码视频数据并将该编码视频数据发送到目的地设备14的任何类型的服务器。示例性文件服务器包括Web服务器(例如,针对网站)、文件传输协议(file transferprotocol,FTP)服务器、网络附加存储(network attached storage,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可以包括瞬态介质,例如无线广播或有线网络传输,或存储介质(即非瞬态存储介质),例如硬盘、闪存驱动器、光盘、数字视频光盘、蓝光光盘,或其它计算机可读介质。在一些示例中,网络服务器(未示出)可以从源设备12接收编码视频数据,并且例如通过网络传输将编码视频数据提供给目的地设备14。类似地,介质生产设施(例如光盘冲压设施)的计算设备可以从源设备12接收编码视频数据,并生产出包含编码视频数据的光盘。因此,在各种示例中,计算机可读介质16可以被理解为包括各种形式的一个或多个计算机可读介质。
目的地设备14的输入接口28从计算机可读介质16接收信息。计算机可读介质16的信息可以包括由视频编码器20定义的语法信息,其中,该语法信息也由视频解码器30使用,该语法信息包括描述块和其它译码单元(例如,图像组(group of picture,GOP))的特征和/或处理的语法元素。显示设备32向用户显示解码视频数据,并且可以包括多种显示设备中的任一种,显示设备例如阴极射线管(cathode ray tube,CRT)、液晶显示器(liquidcrystal display,LCD)、等离子显示器、有机发光二极管(organic light emittingdiode,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复用器协议,或用户数据报协议(user datagramprotocol,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在跳过模式编码或直接模式编码、帧内预测模式编码或帧间预测模式编码下,分割模式可能不同。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-adaptive binaryarithmetic coding,SBAC)、概率区间分割熵(probability interval partitioningentropy,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可以根据当前帧或图像的之前解码块的指示的帧内预测模式和数据来生成当前视频条带的视频块的预测数据。当视频帧被编码为帧间编码(例如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可以称为外部输入装置或外部装置。
考虑到上述情况,视频压缩技术执行空间(帧内)预测和/或时间(帧间)预测以减少或去除视频序列中固有的冗余。对于基于块的视频译码,可以将视频条带(例如视频图像或视频图像的一部分)分割为视频块,视频块也可以称为树块、编码树块(coding treeblock,CTB)、编码树单元(coding tree unit,CTU)、编码单元(coding unit,CU)和/或编码节点。参照同一图像的相邻块中的参考样本使用空间预测对图像内的帧内编码(I)条带中的视频块进行编码。图像内的帧间编码(P或B)条带中的视频块参照同一图像的相邻块中的参考样本使用空间预测,或者参照其它参考图像中的参考样本使用时间预测。图像可以称为帧,参考图像可以称为参考帧。
通过空间预测或时间预测,产生待编码块的预测块。残差数据表示待编码的原始块与预测块之间的像素差。根据运动向量和残差数据对帧间译码块进行编码,其中,运动向量指向构成预测块的参考样本的块,残差数据表示编码块与预测块之间的差值。根据帧内编码模式和残差数据对帧内编码块进行编码。为了进一步压缩,可以将残差数据从像素域变换到变换域,从而产生接着进行量化的残差变换系数。可以扫描最初以二维阵列排列的量化变换系数以生成变换系数的一维向量,并且可以应用熵编码以实现进一步压缩。
图像和视频压缩发展迅速,编码标准多样化。这些视频编码标准包括ITU-TH.261、国际标准化组织/国际电工委员会(international organization forstandardization/international electrotechnical commission,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-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 codingplus 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标准有几个工作草案(working draft,WD),但本文特别参考VVC中的一个工作草案,即B.Bross、J.Chen和S.Liu的“通用视频编码(草案5)(Versatile Video Coding(Draft 5))”JVET-N1001-v3,第13次JVET会议,2019年3月27日(VVC草案5)。
本文公开的技术的描述基于ITU-T和ISO/IEC的联合视频专家组(joint videoexperts team,JVET)正在开发的视频编码标准,即通用视频编码(versatile videocoding,VVC)。但是,这些技术也适用于其它视频编解码规范。
图4为在解码顺序408和呈现顺序410中帧内随机接入图像(intra random accesspicture,IRAP)图像402相对于前置图像404和后置图像406之间的关系的表示400。在一个实施例中,IRAP图像402被称为净随机接入(clean random access,CRA)图像或伴随随机接入可解码(random access decodable,RADL)图像的即时解码刷新(instantaneousdecoder refresh,IDR)图像。在HEVC中,IDR图像、CRA图像和断点连接接入(broken linkaccess,BLA)图像都被认为是IRAP图像402。对于VVC,在2018年10月的第12次JVET会议上,同意将IDR图像和CRA图像作为IRAP图像。在一个实施例中,断点连接接入(broken linkaccess,BLA)图像和逐步解码器刷新(gradual decoder refresh,GDR)图像也可以被认为是IRAP图像。编码视频序列的解码过程始终从IRAP开始。
CRA图像是IRAP图像,其每个视频编码层(video coding layer,VCL)网络抽象层(network abstraction layer,NAL)单元的nal_unit_type等于CRA_NUT。CRA图像在解码过程中不参考除自身以外的任何图像进行帧间预测,可以是解码顺序中码流中的第一个图像,也可以出现在码流中的稍后位置。CRA图像可以具有关联的RADL或跳过随机接入前置(random access skipped leading,RASL)图像。当CRA图像的NoOutputBeforeRecoveryFlag等于1时,解码器不会输出关联的RASL图像,因为关联的RASL图像可能包含对码流中不存在的图像的参考而不可解码。
如图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图像402相关联的前置图像404的类型应该被标识为RADL或RASL,以便高效和正确地编码。在HEVC中,当存在RASL图像和RADL图像时,受到如下限制:对于与同一IRAP402图像关联的RASL图像和RADL图像,RASL图像在呈现顺序410中应在RADL图像之前。
IRAP图像402提供了以下两个重要的功能/益处。第一,IRAP图像402的存在表示解码过程可以从该图像开始。该功能支持随机接入特性,其中,解码过程从码流中的某个位置开始,而不一定是从码流起始处开始,只要IRAP图像402在该位置存在。第二,IRAP图像402的存在刷新了解码过程,使得从IRAP图像402开始的编码图像(不包括RASL图像)在没有对之前图像的参考的情况下被编码。因此,码流中存在IRAP图像402可以防止在对IRAP图像402之前的编码图像进行解码期间可能发生的任何错误传播到IRAP图像402以及解码顺序408中在IRAP图像402之后的那些图像。
虽然IRAP图像402提供了重要功能,但IRAP图像可能会影响压缩效率。IRAP图像402的存在导致码率激增。两个原因造成压缩效率效率低下。第一,由于IRAP图像402是帧内预测图像,当与作为帧内预测图像的其它图像(例如,前置图像404、后置图像406)相比时,该图像将需要相对更多的位来表示。第二,因为IRAP图像402的存在破坏了时间预测(这是因为解码器会刷新解码过程,其中,解码过程的动作之一是删除解码图像缓冲区(decodedpicture 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-layer access,TSA)等),参考图像标识过程(即,确定解码图像缓冲区(decoded picturebuffer,DPB)中用于参考和不用于参考的参考图像的状态的过程)需要下面描述的参考图像集(reference picture set,RPS)等信息或其它形式的类似信息(例如参考图像列表)。但是,对于IDR图像,不需要指示这样的信息,因为IDR的存在表示解码过程应该简单地将DPB中的所有参考图像标识为不用于参考。
在HEVC和VVC中,IRAP图像402和前置图像404可以各自包含在单个网络抽象层(network abstraction layer,NAL)单元中。NAL单元集合可以称为接入单元。IRAP图像402和前置图像404被赋予不同的NAL单元类型,使得这些图像容易由系统级应用识别。例如,视频条带器需要理解编码图像类型而不必理解编码码流中语法元素的太多细节,特别是需要从非IRAP图像中识别IRAP图像402,并从后置图像406中识别前置图像404,包括确定RASL图像和RADL图像。后置图像406是与IRAP图像402关联并且在呈现顺序410中在IRAP图像402之后的图像。一个图像可以在解码顺序408中在特定IRAP图像402之后,并且在解码顺序408中在任何其它IRAP图像402之前。为此,赋予IRAP图像402和前置图像404NAL单元类型有助于此类应用。
对于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单元。
图5示出了用于实现逐步解码刷新(gradual decoding refresh,GDR)技术500的视频码流550。本文使用的视频码流550也可以称为编码视频码流、码流或其变体。如图5所示,码流550包括序列参数集(sequence parameter set,SPS)552、图像参数集(pictureparameter set,PPS)554、条带头556和图像数据558。
SPS 552包含对图像序列(sequence of picture,SOP)中所有图像通用的数据。相比之下,PPS 554包含对整个图像通用的数据。条带头556包含当前条带的信息,例如条带类型、待使用的参考图像等。SPS 552和PPS 554可以统称为参数集。SPS 552、PPS 554和条带头556是网络抽象层(network abstraction layer,NAL)单元的类型。NAL单元是一种语法结构,包含待遵循的数据类型(例如,编码视频数据)的表示。NAL单元分为视频编码层(video coding layer,VCL)NAL单元和非VCL NAL单元。VCL NAL单元包含表示视频图像中样本值的数据,非VCL NAL单元包含任何关联的附加信息,如参数集(可应用于大量VCL NAL单元的重要报头数据)和补充增强信息(定时信息和其它补充数据,可用于增强解码视频信号的可用性,但不是解码视频图像中样本的值所必需的)。本领域技术人员将理解,码流550在实际应用中可以包含其它参数和信息。
图5的图像数据558包括与正在编码或解码的图像或视频关联的数据。图像数据558可以简单地称为码流550中携带的负载或数据。在一个实施例中,图像数据558包括CVS508(或CLVS),该CVS 508(或CLVS)包含GDR图像502、一个或多个后置图像504和恢复点图像506。在一个实施例中,GDR图像502被称为CVS开始(CVS starting,CVSS)图像。CVS 508是视频码流550中的每个编码层视频序列(coded layer video sequence,CLVS)的编码视频序列。需要说明的是,当视频码流550包括单个层时,CVS和CLVS相同。CVS和CLVS仅在视频码流550包括多个层时才不同。在一个实施例中,后置图像504可以被视为GDR图像的一种形式,因为它们在GDR周期中在恢复点图像506之前。
在一个实施例中,GDR图像502、后置图像504和恢复点图像506可以定义CVS 508中的GDR周期。在一个实施例中,解码顺序依次是GDR图像502、后置图像504、恢复点图像506。
CVS 508是从GDR图像502开始的一系列图像(或其部分),并包括下一个GDR图像前(但不包括下一个GDR图像)或码流结束前的所有图像(或其部分)。GDR周期是从GDR图像502开始的一系列图像,并包括恢复点图像506前(包括恢复点图像506)的所有图像。CVS 508的解码过程总是从GDR图像502开始。
如图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。
如图5所示,CVS 508中的GDR图像502、后置图像504和恢复点图像506各自包含在自己的VCL NAL单元530中。CVS 508中的VCL NAL单元530的集合可以称为接入单元。
在一个实施例中,CVS 508中包含GDR图像502的VCL NAL单元530具有GDR NAL单元类型(GDR_NUT)。即,在一个实施例中,CVS 508中包含GDR图像502的VCL NAL单元530相对于后置图像504和恢复点图像506具有自己唯一的NAL单元类型。在一个实施例中,GDR_NUT支持码流550以GDR图像502开始,而不是码流550必须以IRAP图像开始。例如,将GDR图像502的VCL NAL单元530指定为GDR_NUT可以向解码器指示CVS 508中的初始VCL NAL单元530包含GDR图像502。在一个实施例中,GDR图像502是CVS 508中的初始图像。在一个实施例中,GDR图像502是GDR周期中的初始图像。
图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的非最佳性的原因。
图7示出了用于实现逐步解码刷新(gradual decoding refresh,GDR)技术700的视频码流750。本文使用的视频码流750也可以称为编码视频码流、码流或其变体。如图7所示,码流750包括序列参数集(sequence parameter set,SPS)752、图像参数集(pictureparameter set,PPS)754、条带头756和图像数据758。图7中的码流750、SPS 752、PPS754和条带头756类似于图5的码流550、SPS 552、PPS 554和条带头556。因此,为了简洁起见,不再重复对这些元素进行描述。
图7的图像数据758包括与所编码或解码的图像或视频关联的数据。图像数据758可以简单地称为码流750中携带的负载或数据。在一个实施例中,图像数据758包括CVS 708(或CLVS),该CVS 708(或CLVS)包含GDR图像702、一个或多个后置图像704和序列结束图像706。在一个实施例中,GDR图像702被称为CVSS图像。CVS 708的解码过程总是从GDR图像702开始。
如图7所示,CVS 708中的GDR图像702、后置图像704和序列结束图像706各自包含在自己的VCL NAL单元730中。CVS 708中的VCL NAL单元730的集合可以称为接入单元。
在VVC的最新草案规范中,IRAP图像的先前图像的输出规定如下。IRAP图像的先前图像(例如,之前解码的图像)是指以下图像:(1)比IRAP图像早解码的图像,(2)被指示用于输出的图像,(3)在开始解码IRAP图像时在解码图像缓冲区(DPB)中存在的图像,(4)在开始解码IRAP图像时未输出的图像。本文使用的先前图像可以被称为之前解码的图像。
条带头语法包括IDR和CRA图像的语法元素no_output_of_prior_pics_flag。语义如下:
在解码不是VVC草案5的附件C中规定的码流中的第一个图像的IDR图像之后,no_output_of_prior_pics_flag会影响解码图像缓冲区中之前解码的图像的输出。
VVC草案5中的第C.3.2条(在解码当前图像之前从DPB中删除图像)包括以下文本:
–当当前图像是NoIncorrectPicOutputFlag等于1的IRAP图像(不是图像0)时,应用以下顺序步骤:
1.为测试中的解码器推导变量NoOutputOfPriorPicsFlag,如下所示:
–如果当前图像是CRA图像,则NoOutputOfPriorPicsFlag被设置为1(无论no_output_of_prior_pics_flag的值被设置为哪个值)。
–否则,如果从活跃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[HighestTid]的值与分别从之前图像的活跃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[HighestTid]的值不同,则NoOutputOfPriorPicsFlag可以(但不应)由测试中的解码器设置为1,无论no_output_of_prior_pics_flag的值被设置为哪个值。
注–尽管在这些条件下,测试中的解码器将NoOutputOfPriorPicsFlag设置为等于no_output_of_prior_pics_flag是首选的,但是在这种情况下,测试中的解码器可以将NoOutputOfPriorPicsFlag设置为1。
–否则,NoOutputOfPriorPicsFlag被设置为等于no_output_of_prior_pics_flag。
2.为测试中的解码器推导的NoOutputOfPriorPicsFlag的值应用于假设参考解码(hypothetical reference decoder,HRD),使得当NoOutputOfPriorPicsFlag的值等于1时,DPB中的所有图像存储缓冲区都被清空,而不输出它们所包含的图像,并且DPB满度被设置为0。
VVC草案5的第C.5.2.2条(从DPB中输出和删除图像)包括以下文本:
–如果当前图像是NoIncorrectPicOutputFlag等于1的IRAP图像(不是图像0),则应用以下顺序步骤:
1.为测试中的解码器推导变量NoOutputOfPriorPicsFlag,如下所示:
–如果当前图像是CRA图像,则NoOutputOfPriorPicsFlag被设置为1(无论no_output_of_prior_pics_flag的值被设置为哪个值)。
–否则,如果从活跃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[HighestTid]的值与分别从之前图像的活跃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[HighestTid]的值不同,则NoOutputOfPriorPicsFlag可以(但不应)由测试中的解码器设置为1,无论no_output_of_prior_pics_flag的值被设置为哪个值。
注–尽管在这些条件下,测试中的解码器将NoOutputOfPriorPicsFlag设置为等于no_output_of_prior_pics_flag是首选的,但是在这种情况下,测试中的解码器可以将NoOutputOfPriorPicsFlag设置为1。
–否则,NoOutputOfPriorPicsFlag被设置为等于no_output_of_prior_pics_flag。
2.为测试中的解码器推导的NoOutputOfPriorPicsFlag的值应用于HRD,如下所示:
–如果NoOutputOfPriorPicsFlag等于1,则DPB中的所有图像存储缓冲区都被清空,而不输出它们所包含的图像,并且DPB满度被设置为0。
–否则(NoOutputOfPriorPicsFlag等于0),包含标记为“不需要输出”和“不用于参考”的图像的所有图像存储缓冲区都被清空(无输出),DPB中的所有非空图像存储缓冲区通过反复调用C.5.2.4条中指定的“bumping”过程来清空,DPB满度被设置为0。
讨论了现有设计中存在的问题。
在VVC的最新草案规范中,对于NoIncorrectPicOutputFlag等于1的CRA图像(即,开始新CVS的CRA图像),不使用no_output_of_prior_pics_flag的值,因为无论no_output_of_prior_pics_flag的值被设置为哪个值,NoOutputOfPriorPicsFlag的值都被设置为1。这是指开始CVS的每个CRA图像的先前图像不会被输出。但是,类似地,对于IDR图像,只要DPB在解码开始新CVS和解码顺序中的后续图像时不溢出,先前图像的输出/显示就可以更连续地播放,从而使得用户体验更佳。
为了解决上述问题,本申请提供了以下发明方面。no_output_of_prior_pics_flag的值用于开始新CVS且不是码流中的第一个图像的每个CRA图像的先前图像的输出的规范中。这可以实现更连续的播放,从而使得用户体验更佳。
本申请还适用于开始新CVS的其它类型的图像,例如,当前在最新VVC草案规范中指定的逐步随机接入(gradual random access,GRA)图像。在一个实施例中,GRA图像可以被称为或等同于GDR图像。
例如,当解码视频码流时,在码流中指示对应于净随机接入(clean randomaccess,CRA)图像的标志。该标志指定当CRA图像开始新编码视频序列时,是否输出解码图像缓冲区中早于CRA图像解码的解码图像。也就是说,当标志的值表示输出先前图像时(例如,当值等于0时),输出先前图像。在一个实施例中,该标志被指定为no_output_of_prior_pics_flag。
在另一个示例中,当解码视频码流时,在码流中指示对应于逐步随机接入(gradual random access,GRA)图像的标志。该标志指定当GRA图像开始新编码视频序列时,是否输出解码图像缓冲区中早于GRA图像解码的解码图像。也就是说,当标志的值表示输出先前图像时(例如,当值等于0时),输出先前图像。在一个实施例中,该标志被指定为no_output_of_prior_pics_flag。
本文公开了当在解码顺序中遇到即时解码刷新(instantaneous decoderrefresh,IDR)图像以外的随机接入点图像(例如,净随机接入(clean random access,CRA)图像、逐步随机接入(gradual random access,GRA)图像或逐步解码刷新(gradualdecoding refresh,GDR)图像、CVSS图像等)时,在解码图像缓冲区(decoded picturebuffer,DPB)中输出先前图像(例如,之前解码的图像)的技术。当到达随机接入点图像时,从DPB中清空之前解码的图像可防止DPB溢出,确保播放连续性。因此,视频译码中的编码器/解码器(又称为编解码器)相对于现有的编解码器有所改进。实际上,改进的视频译码过程在发送、接收和/或观看视频时为用户提供更好的体验。
图8为视频解码器(例如视频解码器30)实现的对编码视频码流进行解码的方法800的一个实施例。方法800可以在直接或间接从视频编码器(例如,视频编码器20)接收到解码码流之后执行。当遇到随机接入点图像时,方法800通过在当前图像被解码之前清空DPB来改进解码过程。方法800防止DPB溢出并有利于更连续的播放。这实际上提高了编解码器的性能,从而使得用户体验更佳。
在步骤802中,视频解码器接收编码视频码流(例如,码流750)。编码视频码流包含逐步解码刷新(gradual decoding refresh,GDR)图像和具有第一值的第一标志。在一个实施例中,GDR图像不是编码视频码流的第一个图像。在一个实施例中,第一标志被指定为no_output_of_prior_pics_flag。在一个实施例中,GDR图像位于具有逐步解码刷新(gradualdecoding refresh,GDR)网络抽象层(network abstraction layer,NAL)单元类型(GDR_NUT)的视频编码层(video coding layer,VCL)网络抽象层(network abstraction layer,NAL)单元中。
在步骤804中,视频解码器设置第二标志的第二值等于第一标志的第一值。在一个实施例中,第二标志被指定为NoOutputOfPriorPicsFlag。在一个实施例中,第二标志是解码器内部的。
在步骤806中,视频解码器根据具有第二值的第二标志从DPB中清空对应于GDR图像的任何之前解码的图像。在一个实施例中,在GDR图像被解码之后,之前解码的图像从DPB中清空。也就是说,视频解码器从DPB中的图像存储缓冲区中删除之前解码的图像。在一个实施例中,当从DPB中删除之前解码的图像时,不输出或显示之前解码的图像。在一个实施例中,当第一标志被设置为第一值时,DPB满度参数被设置为0。DPB满度参数表示DPB中保存的图像数量。将DPB满度参数设置为0表示DPB为空。
在步骤808中,在DPB被清空之后,视频解码器对当前图像进行解码。在一个实施例中,当前图像与CRA图像在相同的CVS中,并且在解码顺序中在CRA之后。在一个实施例中,为电子设备(例如智能手机、平板电脑、笔记本电脑、个人计算机等)的用户显示根据当前图像生成的图像。
图9为视频编码器(例如,视频编码器20)实现的对视频码流进行编码的方法900的实施例。当图像(例如,视频中的图像)需要编码到视频码流中并且发送到视频解码器(例如,视频解码器30)时,可以执行方法900。在遇到随机接入点图像时,方法900通过指示视频解码器在当前图像被解码之前清空DPB来改进编码过程。方法900防止DPB溢出并有利于更连续的播放。这实际上提高了编解码器的性能,从而使得用户体验更佳。
在步骤902中,视频编码器确定视频序列的随机接入点。在步骤904中,视频编码器将逐步解码刷新(gradual decoding refresh,GDR)图像编码到视频序列中的随机接入点处。在一个实施例中,GDR图像不是视频码流的第一个图像。在一个实施例中,GDR图像位于具有逐步解码刷新(gradual decoding refresh,GDR)网络抽象层(network abstractionlayer,NAL)单元类型(GDR_NUT)的视频编码层(video coding layer,VCL)网络抽象层(network abstraction layer,NAL)单元中。
在步骤906中,视频编码器将标志设置为第一值,以指示视频解码器从解码图像缓冲区(decoded picture buffer,DPB)中清空任何之前解码的图像。在一个实施例中,视频解码器被指示在GDR图像被解码之后从DPB清空任何之前解码的图像。在一个实施例中,该标志被指定为no_output_of_prior_pics_flag。在一个实施例中,当标志被设置为第一值时,视频编码器指示视频解码器将DPB满度参数设置为0。在一个实施例中,标志的第一值是1。
在步骤908中,视频编码器生成视频码流,该视频码流包含视频序列和标志,该视频序列在随机接入点处具有GDR图像。在步骤910中,视频编码器存储用于向视频解码器发送的视频码流。
以下语法和语义可用于实现本文公开的实施例。以下描述是相对于基础文本的,该文本是最新的VVC草案规范。换句话说,只描述了增量,而下面未提到的基础文本中的文本则按原样适用。相对于基础文本的添加文本以粗体显示,删除的文本以斜体显示。
通用条带头语法(VVC中的7.3.5.1)。
Figure BDA0003337509190000191
Figure BDA0003337509190000201
通用条带头语义(VVC中的7.4.6.1)。
当存在时,条带头语法元素slice_pic_parameter_set_id、slice_pic_order_cnt_lsb、no_output_of_prior_pics_flag和slice_temporal_mvp_enabled_flag中的每一个的值在编码图像的所有条带头中应相同。
……
在解码不是附件C中规定的码流中的第一个图像的IDR图像CVSS图像之后,no_output_of_prior_pics_flag会影响解码图像缓冲区中之前解码的图像的输出。
……
在解码当前图像之前,从DPB中删除图像(VVC中的C.3.2)。
……
–当当前图像是NoIncorrectPicOutputFlag等于1的IRAP图像(CVSS图像)(不是图像0)时,应用以下顺序步骤:
1.为测试中的解码器推导变量NoOutputOfPriorPicsFlag,如下所示:
–如果当前图像是CRA图像,则NoOutputOfPriorPicsFlag被设置为1(无论no_output_of_prior_pics_flag的值被设置为哪个值)。
–否则,如果如果从活跃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[HighestTid]的值与分别从之前图像的活跃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[HighestTid]的值不同,则NoOutputOfPriorPicsFlag可以(但不应)由测试中的解码器设置为1,无论no_output_of_prior_pics_flag的值被设置为哪个值。
注–尽管在这些条件下,测试中的解码器将NoOutputOfPriorPicsFlag设置为等于no_output_of_prior_pics_flag是首选的,但是在这种情况下,测试中的解码器可以将NoOutputOfPriorPicsFlag设置为1。
–否则,NoOutputOfPriorPicsFlag被设置为等于no_output_of_prior_pics_flag。
2.为测试中的解码器推导的NoOutputOfPriorPicsFlag的值应用于HRD,使得当NoOutputOfPriorPicsFlag的值等于1时,DPB中的所有图像存储缓冲区都被清空,而不输出它们所包含的图像,并且DPB满度被设置为0。
图10为根据本申请实施例的视频译码设备1000(例如视频编码器20或视频解码器30)的示意图。视频译码设备1000适合于实现如本文所描述的公开实施例。视频译码设备1000包括:用于接收数据的入端口1010和接收单元(Rx)1020;用于处理数据的处理器、逻辑单元或中央处理单元(central processing unit,CPU)1030;用于发送数据的发送单元(Tx)1040和出端口1050;用于存储数据的存储器1060。视频译码设备1000还可以包括耦合到入端口1010、接收单元1020、发送单元1040和出端口1050的光电(optical-to-electrical,OE)组件和电光(electrical-to-optical,EO)组件,用作光信号或电信号的出口或入口。
处理器1030通过硬件和软件实现。处理器1030可以实现为一个或多个CPU芯片、核(例如,多核处理器)、现场可编程门阵列(field-programmable gate array,FPGA)、专用集成电路(application specific integrated circuit,ASIC)和数字信号处理器(digitalsignal processor,DSP)。处理器1030与入端口1010、接收单元1020、发送单元1040、出端口1050和存储器1060通信。处理器1030包括译码模块1070。译码模块1070实现以上所描述的公开实施例。例如,译码模块1070实现、处理、准备或提供各种编解码功能。因此,将译码模块1070包括在内,这为视频译码设备1000的功能提供了实质性的改进,并且影响了视频译码设备1000到不同状态的转换。或者,以存储在存储器1060中并由处理器1030执行的指令来实现译码模块1070。
视频译码设备1000还可以包括用于与用户传送数据的输入和/或输出(I/O)设备1080。I/O设备1080可以包括输出设备,例如用于显示视频数据的显示器、用于输出音频数据的扬声器等。I/O设备1080还可以包括输入设备,例如键盘、鼠标、轨迹球等,和/或用于与这些输出设备交互的对应的接口。
存储器1060包括一个或多个磁盘、磁带机和固态硬盘,并且可以用作溢出数据存储设备,以在选择此类程序用于执行时存储程序,以及存储在程序执行期间读取的指令和数据。存储器1060可以是易失性和/或非易失性的,并且可以是只读存储器(read-onlymemory,ROM)、随机存取存储器(random access memory,RAM)、三态内容寻址存储器(ternary content-addressable memory,TCAM)和/或静态随机存取存储器(staticrandom-access memory,SRAM)。
图11为译码单元1100的一个实施例的示意图。在一个实施例中,译码单元1100在视频译码设备1102(例如,视频编码器20或视频解码器30)中实现。视频译码设备1102包括接收单元1101。接收单元1101用于接收用于进行编码的图像,或接收用于进行解码的码流。视频译码设备1102包括耦合到接收单元1101的发送单元1107。发送单元1107用于将码流发送到解码器或将解码图像发送到显示单元(例如,I/O设备1080中的一个)。
视频译码设备1102包括存储单元1103。存储单元1103耦合到接收单元1101或发送单元1107中的至少一个。存储单元1103用于存储指令。视频译码设备1102还包括处理单元1105。处理单元1105耦合到存储单元1103。处理单元1105用于执行存储在存储单元1103中的指令以执行本文公开的方法。
还应理解,本文中阐述的示例性方法的步骤不一定需要按照所描述的顺序执行,并且这些方法的步骤的顺序应理解为仅仅是示例性的。同样地,在与本申请各种实施例相一致的方法中,这些方法可以包括其它步骤,并且某些步骤可以省略或组合。
尽管本申请中已经提供了几个实施例,但应理解的是,在不背离本申请的精神或范围的情况下,所公开的系统和方法可以以许多其它特定形式实现。当前的这些示例被认为是说明性的而非限制性的,并且意图不限于本文给出的细节。例如,各种元件或部件可以组合或集成在另一个系统中,或者某些特征可以省略或不实现。
此外,在不背离本申请范围的情况下,在各种实施例中描述和示出为分立的或独立的技术、系统、子系统和方法,可以与其它系统、模块、技术或方法组合或集成。示出或讨论为相互耦合、直接耦合或通信的其它项目可以通过电、机械或其它方式通过一些接口、设备或中间组件间接耦合或通信。改变、替换和更改的其它示例可以由本领域技术人员确定,并且可以在不背离本文所公开的精神和范围的情况下进行。

Claims (25)

1.一种视频解码器实现的解码方法,其特征在于,包括:
所述视频解码器接收编码视频码流,其中,所述编码视频码流包含逐步解码刷新(gradual decoding refresh,GDR)图像和具有第一值的第一标志;
所述视频解码器设置第二标志的第二值等于所述第一标志的所述第一值;
在所述GDR图像被解码之后,所述视频解码器根据具有所述第二值的所述第二标志,从解码图像缓冲区(decoded picture buffer,DPB)中清空任何之前解码的图像;
在所述DPB被清空之后,所述视频解码器对当前图像进行解码。
2.根据权利要求1所述的方法,其特征在于,所述GDR图像不是所述编码视频码流的第一个图像。
3.根据权利要求1或2所述的方法,其特征在于,所述GDR图像位于具有逐步解码刷新(gradual decoding refresh,GDR)网络抽象层(network abstraction layer,NAL)单元类型(GDR_NUT)的视频编码层(video coding layer,VCL)网络抽象层(network abstractionlayer,NAL)单元中。
4.根据权利要求1至3中任一项所述的方法,其特征在于,还包括当所述第一标志被设置为所述第一值时将DPB满度参数设置为0。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述第一标志被指定为no_output_of_prior_pics_flag,所述第二标志被指定为NoOutputOfPriorPicsFlag。
6.根据权利要求1至5中任一项所述的方法,其特征在于,在所述GDR图像被解码之后,所述DPB被清空。
7.根据权利要求1至6中任一项所述的方法,其特征在于,还包括显示根据所述当前图像生成的图像。
8.一种视频编码器实现的编码方法,其特征在于,所述方法包括:
所述视频编码器确定视频序列的随机接入点;
所述视频编码器将逐步解码刷新(gradual decoding refresh,GDR)图像编码到所述视频序列中的所述随机接入点处;
所述视频编码器将标志设置为第一值,以指示视频解码器从解码图像缓冲区(decodedpicture buffer,DPB)中清空任何之前解码的图像;
所述视频编码器生成视频码流,所述视频码流包含所述视频序列和所述标志,所述视频序列在所述随机接入点处包括所述GDR图像;
所述视频编码器存储用于向所述视频解码器发送的所述视频码流。
9.根据权利要求8所述的方法,其特征在于,所述GDR图像不是所述视频码流的第一个图像,所述视频解码器被指示在所述GDR图像被解码之后清空所述DPB。
10.根据权利要求8或9所述的方法,其特征在于,所述GDR图像位于具有逐步解码刷新(gradual decoding refresh,GDR)网络抽象层(network abstraction layer,NAL)单元类型(GDR_NUT)的视频编码层(video coding layer,VCL)网络抽象层(network abstractionlayer,NAL)单元中。
11.根据权利要求8至10中任一项所述的方法,其特征在于,还包括当所述标志被设置为所述第一值时,指示所述视频解码器将DPB满度参数设置为0。
12.根据权利要求8至11中任一项所述的方法,其特征在于,所述标志被指定为no_output_of_prior_pics_flag。
13.根据权利要求8至12中任一项所述的方法,其特征在于,所述标志的所述第一值为1。
14.一种解码设备,其特征在于,包括:
接收器,用于接收编码视频码流;
耦合到所述接收器的存储器,所述存储器存储指令;
耦合到所述存储器的处理器,所述处理器用于执行所述指令以使所述解码设备执行以下操作:
接收所述编码视频码流,其中,所述编码视频码流包含逐步解码刷新(gradualdecoding refresh,GDR)图像和具有第一值的第一标志;
设置第二标志的第二值等于所述第一标志的所述第一值;
根据具有所述第二值的所述第二标志,从解码图像缓冲区(decoded picture buffer,
DPB)中清空任何之前解码的图像;
在所述DPB被清空之后,对当前图像进行解码。
15.根据权利要求14所述的解码设备,其特征在于,所述GDR图像不是所述编码视频码流的第一个图像。
16.根据权利要求14或15所述的解码设备,其特征在于,所述第一标志被指定为no_output_of_prior_pics_flag,所述第二标志被指定为NoOutputOfPriorPicsFlag。
17.根据权利要求14至16中任一项所述的解码设备,其特征在于,还包括用于显示根据所述当前图像生成的图像的显示器。
18.一种编码设备,其特征在于,包括:
存储器,所述存储器包含指令;
耦合到所述存储器的处理器,所述处理器用于执行所述指令以使所述编码设备执行以下操作:
确定视频序列的随机接入点;
将逐步解码刷新(gradual decoding refresh,GDR)图像编码到所述视频序列中的所述随机接入点处;
将标志设置为第一值,以指示视频解码器从解码图像缓冲区(decoded picturebuffer,DPB)中清空任何之前解码的图像;
生成视频码流,所述视频码流包含所述视频序列和所述标志,所述视频序列在所述随机接入点处包括GDR图像;
耦合到所述处理器的发送器,所述发送器用于向视频解码器发送所述视频码流。
19.根据权利要求18所述的编码设备,其特征在于,所述GDR图像不是所述视频码流的第一个图像。
20.根据权利要求18或19所述的编码设备,其特征在于,所述标志被指定为no_output_of_prior_pics_flag。
21.根据权利要求18至20中任一项所述的编码设备,其特征在于,所述存储器在所述发送器向所述视频解码器发送所述码流之前存储所述码流。
22.一种译码装置,其特征在于,包括:
接收器,用于接收用于编码的图像或接收用于解码的码流;
耦合到所述接收器的发送器,所述发送器用于将所述码流发送到解码器或将解码图像发送到显示器;
耦合到所述接收器和所述发送器中的至少一个的存储器,所述存储器用于存储指令;
耦合到所述存储器的处理器,所述处理器用于执行存储在所述存储器中的所述指令,以执行根据权利要求1至7中任一项以及权利要求8至13中任一项所述的方法。
23.根据权利要求22所述的译码装置,其特征在于,还包括用于显示图像的显示器。
24.一种系统,其特征在于,包括:
编码器;
与所述编码器通信的解码器,所述编码器或所述解码器包括根据权利要求14至23中任一项所述的解码设备、编码设备或译码装置。
25.一种译码单元,其特征在于,包括:
接收单元,用于接收用于编码的图像或接收用于解码的码流;
耦合到所述接收单元的发送单元,其中,所述发送单元用于将所述码流发送到解码单元或将解码图像发送到显示单元;
耦合到所述接收单元或所述发送单元中的至少一个的存储单元,所述存储单元用于存储指令;
耦合到所述存储单元的处理单元,其中,所述处理单元用于执行存储在所述存储单元中的所述指令,以执行根据权利要求1至7中任一项以及权利要求8至13中任一项所述的方法。
CN202080033617.7A 2019-05-06 2020-05-01 视频译码中开始新编码视频序列的图像的先前图像的输出 Pending CN114097238A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962843991P 2019-05-06 2019-05-06
US62/843,991 2019-05-06
PCT/US2020/030951 WO2020227064A1 (en) 2019-05-06 2020-05-01 Output of prior pictures for pictures starting a new coded video sequence in video coding

Publications (1)

Publication Number Publication Date
CN114097238A true CN114097238A (zh) 2022-02-25

Family

ID=73050680

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202080033617.7A Pending CN114097238A (zh) 2019-05-06 2020-05-01 视频译码中开始新编码视频序列的图像的先前图像的输出
CN202080033673.0A Pending CN114097239A (zh) 2019-05-06 2020-05-01 视频译码中开始新编码视频序列的图像的先前图像的输出

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202080033673.0A Pending CN114097239A (zh) 2019-05-06 2020-05-01 视频译码中开始新编码视频序列的图像的先前图像的输出

Country Status (7)

Country Link
US (2) US20220060733A1 (zh)
EP (2) EP3957068A4 (zh)
JP (4) JP2022531470A (zh)
KR (2) KR20220003619A (zh)
CN (2) CN114097238A (zh)
MX (2) MX2021013534A (zh)
WO (2) WO2020227060A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11695938B2 (en) * 2021-01-05 2023-07-04 Dish Network Technologies India Private Limited Method and apparatus for thumbnail generation for a video device
WO2022149156A1 (en) * 2021-01-05 2022-07-14 Sling Media Pvt Ltd. Method and apparatus for thumbnail generation for a video device

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MY160436A (en) * 2007-02-23 2017-03-15 Nokia Technologies Oy Backward-compatible characterization of aggregated media data units
US9736476B2 (en) * 2012-04-27 2017-08-15 Qualcomm Incorporated Full random access from clean random access pictures in video coding
US9516308B2 (en) * 2012-04-27 2016-12-06 Qualcomm Incorporated Parameter set updates in video coding
US9225978B2 (en) * 2012-06-28 2015-12-29 Qualcomm Incorporated Streaming adaption based on clean random access (CRA) pictures
EP2901688B1 (en) * 2012-09-28 2019-10-23 Nokia Technologies Oy An apparatus and a method for video coding and decoding
US9462268B2 (en) * 2012-10-09 2016-10-04 Cisco Technology, Inc. Output management of prior decoded pictures at picture format transitions in bitstreams
WO2014112354A1 (en) * 2013-01-15 2014-07-24 Sharp Kabushiki Kaisha Video decoder with signaling
US20140301477A1 (en) 2013-04-07 2014-10-09 Sharp Laboratories Of America, Inc. Signaling dpb parameters in vps extension and dpb operation
MX361490B (es) * 2013-04-07 2018-12-07 Dolby Int Ab Cambio de señalización en grupos de capa de salida.
CN105453569A (zh) * 2013-07-10 2016-03-30 夏普株式会社 缩放列表信号发送和参数集激活
CN105981387B (zh) * 2013-10-15 2019-09-27 诺基亚技术有限公司 用于处理视频的方法、装置和计算机可读存储介质
US9854270B2 (en) * 2013-12-19 2017-12-26 Qualcomm Incorporated Device and method for scalable coding of video information
US9860540B2 (en) * 2014-01-03 2018-01-02 Qualcomm Incorporated Inference of nooutputofpriorpicsflag in video coding
US20170134742A1 (en) * 2014-06-18 2017-05-11 Sharp Kabushiki Kaisha Slice type and decoder conformance
US9866852B2 (en) 2014-06-20 2018-01-09 Qualcomm Incorporated Video coding using end of sequence network abstraction layer units
US10575013B2 (en) * 2015-10-19 2020-02-25 Mediatek Inc. Method and apparatus for decoded picture buffer management in video coding system using intra block copy
US11558630B2 (en) * 2020-05-20 2023-01-17 Tencent America LLC Techniques for random access point indication and picture output in coded video stream
US11611778B2 (en) * 2020-05-20 2023-03-21 Sharp Kabushiki Kaisha Systems and methods for signaling general constraint information in video coding

Also Published As

Publication number Publication date
US20220060732A1 (en) 2022-02-24
JP2022531487A (ja) 2022-07-06
KR20220003101A (ko) 2022-01-07
JP7359871B2 (ja) 2023-10-11
CN114097239A (zh) 2022-02-25
JP2023179587A (ja) 2023-12-19
WO2020227064A1 (en) 2020-11-12
JP2022531470A (ja) 2022-07-06
WO2020227060A1 (en) 2020-11-12
MX2021013534A (es) 2022-02-03
EP3957067A4 (en) 2022-06-22
MX2021013537A (es) 2022-02-03
EP3957068A1 (en) 2022-02-23
EP3957067A1 (en) 2022-02-23
KR20220003619A (ko) 2022-01-10
JP2024023680A (ja) 2024-02-21
EP3957068A4 (en) 2022-06-22
US20220060733A1 (en) 2022-02-24
US11895312B2 (en) 2024-02-06

Similar Documents

Publication Publication Date Title
JP7302000B2 (ja) エンコーダ、デコーダ、および対応する方法
CN114584774A (zh) 视频译码中的参考图像管理
US12022107B2 (en) Handling of decoder-side motion vector refinement (DMVR) coding tool for reference picture resampling in video coding
JP7384929B2 (ja) 映像コーディングにおける参照ピクチャリサンプリングに対する双方向オプティカルフロー(bio)コーディングツールの取扱い
CN113273202A (zh) 基于子图像的随机接入
US11895312B2 (en) Output of prior pictures for pictures starting a new coded video sequence in video coding
CN113924772A (zh) 多层支持下视频译码中的帧间译码
US20220060726A1 (en) Wavefront parallel processing for tile, brick, and slice
RU2820215C2 (ru) Обработка инструмента кодирования двунаправленного оптического потока (bio) для передискретизации опорного изображения при кодировании видео

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