CN115191117A - 视频编码中的参考图片列表和共位图片信令通知 - Google Patents

视频编码中的参考图片列表和共位图片信令通知 Download PDF

Info

Publication number
CN115191117A
CN115191117A CN202180015196.XA CN202180015196A CN115191117A CN 115191117 A CN115191117 A CN 115191117A CN 202180015196 A CN202180015196 A CN 202180015196A CN 115191117 A CN115191117 A CN 115191117A
Authority
CN
China
Prior art keywords
syntax element
slice
value
motion vector
syntax
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
CN202180015196.XA
Other languages
English (en)
Inventor
V.塞雷金
M.Z.科班
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN115191117A publication Critical patent/CN115191117A/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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Landscapes

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

Abstract

视频解码器可以被配置为响应于接收到指示参考图片列表信息被包括在图片头语法结构中的第一语法元素,在图片头语法结构中接收第二语法元素,该第二语法元素指示用于时域运动矢量预测的共位图片是否将从第一参考图片列表或第二参考图片列表导出;接收指代图片头语法结构的视频数据的条带;以及响应于该条带为P条带,将与该条带相关联的用于第三语法元素的值设定为用于该第三语法元素的第一值,用于该第三语法元素的第一值指示用于时域运动矢量预测的共位图片将从第一参考图片列表中导出。

Description

视频编码中的参考图片列表和共位图片信令通知
交叉引用
本申请要求2021年2月22日提交的美国申请第17/181,876号和2020年2月24日提交的美国临时专利申请第62/980,695号的优先权,其中每一项的全部内容通过引用合并。2021年2月22日提交的美国申请第17/181,876号要求2020年2月24日提交的美国临时专利申请第62/980,695号的权益。
技术领域
本公开涉及视频编码和视频解码。
背景技术
数字视频功能可以集成到各种设备中,包括数字电视、数字直接广播系统、无线广播系统、个人数字助理(PDA)、膝上式或台式计算机、平板计算机、电子书阅读器、数码相机、数字记录设备、数字媒体播放器、视频游戏设备、视频游戏机、蜂窝或卫星无线电电话、所谓的“智能电话”、视频电话会议设备、视频流设备等。数字视频设备实施视频译码(coding)技术,例如MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分、高级视频译码(AVC)、ITU-T H.265/高效视频译码(HEVC)规定的标准以及此类标准的扩展所描述的技术。通过实施此类视频译码技术,视频设备可以更有效地发送,接收,编码,解码和/或存储数字视频信息。
视频译码技术包括空域(spatial)(图片内)预测和/或时域(temporal)(图片间)预测,以减少或消除视频序列中固有的冗余。对于基于块的视频译码,可以将视频条带(例如,视频图片或视频图片的一部分)分区为视频块,这些视频块也可以称为译码树单元(CTU)、译码单元(CU)和/或译码节点。使用同一图片中相邻块中的参考样本的空域预测对图片的帧内译码(I)条带中的视频块进行编码。图片的帧间译码(P或B)条带中的视频块可以使用相对于同一图片中相邻块中参考样本的空域预测,或针对其他参考图片中的参考样本进行时域预测。图片可以被称为帧,并且参考图片可以被称为参考帧。
发明内容
本公开的技术涉及帧间预测,并且更具体地,涉及帧间预测中使用的参考图片的信令通知。如下文更详细地讨论的,在VVC草案8中使用的参考图片列表信令通知可以具有一些低效率和其他潜在问题。举例来说,即使PH可以具有仅使用参考图片列表0的相关联的P条带,VVC草案8的信令通知技术允许PH级信令通知,该PH级信令通知指示将要从参考图片列表1中导出用于时域运动矢量预测的共位图片。根据本公开所述的技术,视频解码器可以被配置为响应于条带为P条带,并将与该条带相关联的语法元素的值设定为下述语法元素的值,该语法元素指示用于时域运动矢量预测的共位图片将从参考图片列表0中导出。如以下更详细地描述,视频解码器可以被配置为在没有实际接收语法元素的实例的情况下推断出指示用于时域运动矢量预测的共位图片将从参考图片列表0中导出的值,从而有效地覆盖了P条带的PH级语法。从而,本公开的技术可以有利地使视频解码器能够解析和解码这样的比特流,而不会过度限制视频编码器对比特流进行编码的方式。
根据本公开的一个示例,一种对视频数据进行解码的方法包括:接收第一语法元素;响应于指示参考图片列表信息被包括在图片头语法结构中的第一语法元素,在图片头语法结构中接收第二语法元素,其中用于第二语法元素的第一值指示用作时域运动矢量预测的共位(collocate)图片将从第一参考图片列表导出,以及用于第二语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表导出;接收指代图片头语法结构的视频数据条带;以及响应于该条带为P条带,将与该条带相关联的用于第三语法元素的值设定为第三语法元素的第一值,其中,该第三语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表导出,并且用于第三语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表导出。
根据本公开的另一个示例,一种用于对视频数据进行解码的设备包括:存储器,该存储器被配置为存储视频数据;以及一个或多个处理器,该一个或多个处理器在电路中实施并且被配置为:接收第一语法元素;响应于指示参考图片列表信息被包括在图片头语法结构中的第一语法元素,在图片头语法结构中接收第二语法元素,其中用于第二语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表导出,以及用于第二语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表导出;接收指代图片头语法结构的视频数据条带;以及响应于该条带为P条带,将与该条带相关联的用于第三语法元素的值设定为用于第三语法元素的第一值,其中,用于该第三语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表导出,并且用于第三语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表导出。
根据本公开的另一个示例,一种计算机可读存储介质存储指令,这些指令在由一个或多个处理器执行时使一个或多个处理器执行以下操作:接收第一语法元素;响应于第一语法元素指示参考图片列表信息被包括在图片头语法结构中,在图片头语法结构中接收第二语法元素,其中用于第二语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表导出,以及用于第二语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表中导出;接收指代图片头语法结构的视频数据条带;以及响应于该条带为P条带,将与该条带相关联的用于第三语法元素的值设定为用于第三语法元素的第一值,其中,用于该第三语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表导出,并且用于第三语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表导出。
根据本公开的另一个示例,一种对视频数据进行解码的装置包括:用于接收第一语法元素的部件;响应于指示参考图片列表信息被包括在图片头语法结构中的第一语法元素,用于在图片头语法结构中接收第二语法元素的部件,其中用于第二语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表导出,以及用于第二语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表中导出;用于接收指代图片头语法结构的视频数据条带的部件;以及响应于该条带为P条带,用于将与该条带相关联的用于第三语法元素的值设定为用于第三语法元素的第一值的部件,其中,用于该第三语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表导出,并且用于第三语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表导出。
根据本公开的另一个示例,一种对视频数据进行编码的方法包括:响应于确定参考图片列表信息被包含在图片头语法结构中,生成指示该参考图片列表信息被包括在图片头语法结构中的第一语法元素;生成用于包括在图片头语法结构中的第二语法元素,其中用于第二语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表导出,以及用于第二语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表导出;确定指代图片头语法结构的视频数据条带为P条带;响应于该条带为P条带,确定与该条带相关联的用于第三语法元素的值等于用于第三语法元素的第一值,其中,用于该第三语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表导出,并且用于第三语法元素的第二值指示用于时域运动矢量预测的共位图片将从第二参考图片列表导出;以及输出编码的视频数据的比特流,其中该编码的视频数据包含第一语法元素和图片头语法结构。
根据本公开的另一个示例,一种对视频数据进行编码的设备包含:存储器,该存储器被配置为存储视频数据;以及一个或多个处理器,该一个或多个处理器在电路中实施并且被配置为:响应于确定参考图片列表信息被包含在图片头语法结构中,生成指示该参考图片列表信息被包含在图片头语法结构中的第一语法元素;生成用于包含在图片头语法结构中的第二语法元素,其中用于第二语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表导出,以及用于第二语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表导出;确定指代图片头语法结构的视频数据条带为P条带;响应于该条带为P条带,确定与该条带相关联的用于第三语法元素的值等于用于第三语法元素的第一值,其中,用于该第三语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表导出,并且用于第三语法元素的第二值指示用于时域运动矢量预测的共位图片将从第二参考图片列表导出;以及输出编码的视频数据的比特流,其中该编码的视频数据包含第一语法元素和图片头语法结构。
根据本公开的另一个示例,一种计算机可读存储介质存储指令,这些指令在由一个或多个处理器执行时使一个或多个处理器执行以下操作:响应于确定参考图片列表信息被包括在图片头语法结构中,生成指示该参考图片列表信息被包括在图片头语法结构中的第一语法元素;生成用于包括在图片头语法结构中的第二语法元素,其中用于第二语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表导出,以及用于第二语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表中导出;确定指代图片头语法结构的视频数据条带为P条带;响应于该条带为P条带,确定与该条带相关联的用于第三语法元素的值等于用于第三语法元素的第一值,其中,用于该第三语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表导出,并且用于第三语法元素的第二值指示用于时域运动矢量预测的共位图片将从第二参考图片列表导出;以及输出编码的视频数据的比特流,其中该编码的视频数据包括第一语法元素和图片头语法结构。
根据本公开的另一个示例,一种对视频数据进行编码的装置包括:用于响应于确定参考图片列表信息被包括在图片头语法结构中,生成第一语法元素的部件,该第一语法元素指示参考图片列表信息被包括在图片头语法结构中;生成用于包括在图片头语法结构中的第二语法元素的部件,其中用于第二语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表导出,以及用于第二语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表导出;确定指代图片头语法结构的视频数据片为P条带的部件;部件,响应于该条带为P条带,确定与该条带相关联的用于第三语法元素的值等于用于第三语法元素的第一值,其中,用于该第三语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表导出,并且用于第三语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表导出;以及输出编码的视频数据的比特流的部件,其中该编码的视频数据包括第一语法元素和图片头语法结构。
附图说明
图1示出了可以执行本公开的技术的示例视频编码和解码系统的框图。
图2A和图2B示出了示例四叉树二叉树(QTBT)结构以及对应的译码树单元(CTU)的概念图。
图3示出了可以执行本公开的技术的示例视频编码器的框图。
图4示出了可以执行本公开的技术的示例视频解码器的框图。
图5示出了示例视频编码过程的流程图。
图6示出了示例视频解码过程的流程图。
图7示出了示例视频编码过程的流程图。
图8示出了示例视频解码过程的流程图。
具体实施方式
视频译码(例如,视频编码和/或视频解码)通常涉及根据同一图片中的视频数据的已经译码的块(例如,帧内预测)或不同图片中的视频数据的已经译码的块(例如,帧间预测)来预测视频数据的块。在一些情况下,视频编码器还通过将预测块与原始块进行比较来计算残差(residual)数据。从而,残差数据表示预测块和原始块之间的差。为了减少信令通知残差数据所需的比特的数量,视频编码器对残差数据进行变换和量化,并在编码的比特流中信令通知经变换和量化的残差数据。通过变换和量化处理实现的压缩可能是有损的,这意味着变换和量化处理可能为解码的视频数据引入失真。
视频解码器对残差数据进行解码并添加到预测块,以产生比单独的预测块更接近地匹配原始视频块的重构视频块。由于残差数据的变换和量化引入的损失,第一重构块可能存在失真或伪像。一种常见类型的伪像或失真被称为块效应,其中用于译码的视频数据的块的边界是可见的。
为了进一步改进解码的视频的质量,视频解码器可以对重构的视频块执行一个或多个滤波操作。这些滤波操作的示例包括去块滤波、样本自适应偏移(SAO)滤波、和自适应环路滤波(ALF)。这些滤波操作的参数可以由视频编码器确定并在编码的视频比特流中显式地信令通知,或者可以由视频解码器隐式地确定,而不需要在编码的视频比特流中显式地信令通知这些参数。
本公开的技术涉及帧间预测,并且更具体地涉及帧间预测中使用的参考图片的信令。ITU-T H.266中的帧间预测,也称为通用视频译码(VVC),利用参考图片列表,该参考图片列表通常指的是用于P或B条带的帧间预测的参考图片的列表。VVC中的帧间预测利用两个参考图片列表,其中参考图片列表0指的是用于P条带的帧间预测的参考图片列表或用于B条带的帧间预测的第一参考图片列表,参考图片列表1指的是用于B条带的帧间预测的第二参考图片列表。对于预测性(P)条带的解码过程,仅参考图片列表0用于帧间预测。对于双预测性(B)条带的解码过程,参考图片列表0和参考图片列表1都用于帧间预测。对于帧内(I)条带的条带数据的解码,没有参考图片列表用于帧间预测。
P条带是使用帧内预测或使用帧间预测与最多一个运动矢量和参考索引解码以预测每个块的样本值的条带。B条带是使用帧内预测或使用帧间预测与最多两个运动矢量和参考索引解码以预测每个块的样本值的条带。I条带是仅使用帧内预测解码的条带。
用于生成和维护参考图片列表的信息以各种语法结构,包括序列参数集(SPS)语法结构、图片参数集(PPS)语法结构、图片头(picture header,PH)语法结构和条带头(SH)语法结构的形式信令通知。在VVC中,SPS指的是一种语法结构,该语法结构包括适用于零个或更多个整个译码层视频序列(CLVS)的语法元素,该译码层视频序列由PPS中找到的语法元素的内容所确定,而PPS中找到的语法元素由每个PH中找到的语法元素所引用,PPS指的是一种语法结构,该语法结构包括适用于零个或更多个完整译码图片的语法元素,该完整译码图片由每个PH中找到的语法元素确定。在VVC中,PH指的是语法结构,该语法结构包括适用于译码图片的所有条带的语法元素,SH指的是译码条带的一部分,译码条带包括与所有片或在条带中表示的片内的译码树单元(CTU)行有关的数据元素。
如下文更详细地讨论,在VVC草案8中使用的参考图片列表信令通知可以具有一些低效率和其他潜在问题。举例来说,即使PH可以具有仅使用参考图片列表0的相关联的P条带,VVC草案8的信令通知技术允许PH级信令通知,该PH级信令通知指示将要从参考图片列表1中导出用于时域运动矢量预测的共位图片。根据本公开所述的技术,视频解码器可以被配置为响应于条带为P条带,并将与该条带相关联的语法元素的值设定为下述语法元素的值,该语法元素指示用于时域运动矢量预测的共位图片将从参考图片列表0中导出。如以下更详细地描述,视频解码器可以被配置为在没有实际接收语法元素的实例的情况下推断出指示用于时域运动矢量预测的共位图片将从参考图片列表0中导出的值,从而有效地覆盖了P条带的PH级语法。从而,本公开的技术可以有利地使视频解码器能够解析和解码这样的比特流,而不会过度限制视频编码器对比特流进行编码的方式。
图1示出了可以执行本公开的技术的示例视频编码和解码系统100的框图。本公开的技术一般针对译码(编码和/或解码)视频数据。通常,视频数据包括用于处理视频的任何数据。因此,视频数据可以包括原始的未编码的视频、编码的视频、解码的(例如,重构的)视频、以及视频元数据(诸如信令数据)。
如图1所示,在此示例中,系统100包括源设备102,该源设备102提供要由目标设备116解码和显示的、编码的视频数据。具体地,源设备102经由计算机可读介质110向目标设备116提供视频数据。源设备102和目标设备116可以包括多种设备中的任何一种,多种设备包括台式计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、诸如智能手机的电话手持机、电视、摄像机、显示设备、数字媒体播放器、视频游戏机、视频流设备或类似设备。在一些情况下,源设备102和目标设备116可以被配备用于无线通信,并从而可以被称为无线通信设备。
在图1的示例中,源设备102包括视频源104、存储器106、视频编码器200和输出接口108。目标设备116包括输入接口122、视频解码器300、存储器120和显示设备118。根据本公开,源设备102的视频编码器200和目标设备116的视频解码器300可以被配置为应用本文描述的用于参考图片列表和共位图片信令通知的技术。因此,源设备102表示视频编码设备的示例,而目标设备116表示视频解码设备的示例。在其他示例中,源设备和目标设备可以包括其他组件或配置。例如,源设备102可以从诸如外部摄像机的外部视频源接收视频数据。同样,目标设备116可以与外部显示设备连接,而不包括集成的显示设备。
如图1所示的系统100仅是一个示例。通常,任何数字视频编码和/或解码设备都可以执行本文描述的用于参考图片列表和共位图片信令通知的技术。源设备102和目标设备116仅仅是其中源设备102生成译码的视频数据以传输到目标设备116的这种译码设备的示例。本公开用“译码(coding)”设备指代,作为执行数据的译码(coding)(编码(encoding)和/或解码(decoding))的设备。因此,视频编码器200和视频解码器300表示译码设备的示例,具体地分别是视频编码器和视频解码器的示例。在一些示例中,源设备102和目标设备116可以以基本对称的方式进行操作,使得源设备102和目标设备116中的每一个都包括视频编码和解码组件。因此,系统100可以支持源设备102和目标设备116之间的单向或双向视频传输,例如用于视频流送(streaming)、视频回放、视频广播或视频电话。
通常,视频源104表示视频数据(即,原始的、未编码的视频数据)的源,并向视频编码器200提供视频数据的一系列顺序图片(也称为“帧”),该视频编码器200对用于图片的数据进行编码。源设备102的视频源104可以包括视频捕获设备,诸如视频摄像机、包含先前捕获的原始视频的视频档案、和/或从视频内容提供商接收视频的视频馈送接口。作为另一替代,视频源104可以生成基于计算机图形的数据作为源视频,或者实况视频、存档视频和计算机生成视频的组合。在每种情况下,视频编码器200对捕获的、预捕获的或计算机生成的视频数据进行编码。视频编码器200可以将图片从接收的顺序(有时称为“显示顺序”)重新排列为用于译码的译码顺序。视频编码器200可以生成包括编码的视频数据的比特流。然后源设备102可以经由输出接口108将编码的视频数据输出到计算机可读介质110上,用于由例如目标设备116的输入接口122接收和/或检索。
源设备102的存储器106和目标设备116的存储器120表示通用存储器。在一些示例中,存储器106、120可以存储原始视频数据,例如来自视频源104的原始视频和来自视频解码器300的原始的解码的视频数据。附加地或可替代地,存储器106、120可以分别存储可由例如视频编码器200和视频解码器300运行的软件指令。尽管在此示例中存储器106和存储器120被示为与视频编码器200和视频解码器300分离,但是应当理解,视频编码器200和视频解码器300也可以包括用于功能类似或等同目的的内部存储器。此外,存储器106、120可以存储编码的视频数据,例如,从视频编码器200输出并输入到视频解码器300的编码的视频数据。在一些示例中,存储器106、120中的部分可以被分配为一个或多个视频缓冲器,例如,以存储原始的、解码的和/或编码的视频数据。
计算机可读介质110可以表示能够将编码的视频数据从源设备102传输到目标设备116的任何类型的介质或装置。在一个示例中,计算机可读介质110表示使源设备102能够经由例如射频网络或基于计算机的网络实时地将编码的视频数据直接发送到目标设备116的通信介质。根据诸如无线通信协议的通信标准,输出接口108可以解调包括编码的视频数据的传输信号,并且输入接口122可以解调接收的传输信号。通信介质可以包括任何无线或有线的通信介质,诸如射频(RF)频谱或者一条或多条物理传输线。通信介质可以形成基于分组的网络中的部分,诸如局域网、广域网、或诸如互联网的全球网络。通信介质可以包括路由器、交换器、基站、或可以有助于促进从源设备102到目标设备116的通信的任何其他设备。
在一些示例中,源设备102可以从输出接口108向存储设备112输出编码的数据。类似地,目标设备116可以经由输入接口122从存储设备112存取编码的数据。存储设备112可以包括多种分布式或本地存取的数据存储介质中的任何一种,诸如硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪存、易失性或非易失性存储器、或者用于存储编码的视频数据的任何其他合适的数字存储介质。
在一些示例中,源设备102可以向文件服务器114或可以存储由源设备102生成的编码的视频的另一中间存储设备输出编码的视频数据。目标设备116可以经由流送或下载从文件服务器114存取存储的视频数据。文件服务器114可以是能够存储编码的视频数据并将该编码的视频数据传输到目标设备116的任何类型的服务器设备。文件服务器114可以表示网页服务器(例如,用于网站)、文件发送协议(FTP)服务器、内容传递网络设备或网络附加存储(NAS)设备。目标设备116可以通过任何标准数据连接(包括互联网连接)从文件服务器114存取编码的视频数据。这可以包括无线信道(例如,Wi-Fi连接)、有线连接(例如,数字订户线(DSL)、线缆调制解调器等)、或者两者的适用于存取存储在文件服务器114上的编码的视频数据的组合。文件服务器114和输入接口122可以被配置为根据流传输协议、下载传输协议或其组合来操作。
输出接口108和输入接口122可以表示无线发送器/接收器、调制解调器、有线网络组件(例如,以太网卡)、根据多种IEEE 802.11标准中的任何一种进行操作的无线通信组件、或其他物理组件。在输出接口108和输入接口122包括无线组件的示例中,输出接口108和输入接口122可以被配置为根据诸如4G、4G-LTE(长期演进)、高级LTE、5G等的蜂窝通信标准,来传输诸如编码的视频数据的数据。在输出接口108包括无线发送器的一些示例中,输出接口108和输入接口122可以被配置为根据诸如IEEE 802.11规范、IEEE 802.15规范(例如ZigBeeTM)、BluetoothTM标准等的其他无线标准,来传输诸如编码的视频数据的数据。在一些示例中,源设备102和/或目标设备116可以包括各自的片上系统(SoC)装置。例如,源设备102可以包括执行属于视频编码器200和/或输出接口108的功能的SoC设备,并且目标设备116可以包括执行属于视频解码器300和/或输入接口122的功能的SoC设备。
本公开的技术可以应用于视频译码,以支持多种多媒体应用中的任何一种,诸如空中电视广播、有线电视传输、卫星电视传输、诸如基于HTTP的动态自适应流送(DASH)的互联网流式视频传输、编码到数据存储介质上的数字视频、存储在数据存储介质上的数字视频的解码、或其他应用。
目标设备116的输入接口122从计算机可读介质110(例如,通信介质、存储设备112、文件服务器114等)接收编码的视频比特流。编码的视频比特流可以包括由视频编码器200定义的信令通知信息,其也由视频解码器300使用,该信令通知信息诸如具有描述视频块或其他译码单元(例如,条带、图片、图片组、序列等)的特性和/或处理的值的语法元素。显示设备118向用户显示解码的视频数据的解码的图片。显示设备118可以表示各种显示设备中的任何一种,诸如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一种类型的显示设备。
虽然在图1中未示出,但是在一些示例中,视频编码器200和视频解码器300可以各自与音频编码器和/或音频解码器集成,并且可以包括适当的MUX-DEMUX单元或其他硬件和/或软件,以处理在公共数据流中包括音频和视频两者的多路复用流。如果适用,MUX-DEMUX单元可以依照ITU H.223多路复用器协议,或诸如用户数据报协议(UDP)的其他协议。
视频编码器200和视频解码器300均可被实施为多种合适的编码器和/或解码器电路中的任何一种,诸如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。在以软件来部分地实施这些技术时,设备可以将软件的指令存储在合适的非暂时性计算机可读介质中,并且使用一个或多个处理器在硬件中运行这些指令以执行本公开的技术。视频编码器200和视频解码器300中的每一个可以被包括在一个或多个编码器或解码器中,其中任一个都可以被集成为相应设备中的组合编码器/解码器(CODEC)中的部分。包括视频编码器200和/或视频解码器300的设备可以包括集成电路、微处理器、和/或诸如蜂窝电话的无线通信设备。
视频编码器200和视频解码器300可以根据视频译码标准进行操作,诸如视频编码标准ITU-T H.265(也称为高效视频译码(HEVC))或其诸如多视图和/或可缩放视频译码扩展的扩展。可替代地,视频编码器200和视频解码器300可以根据其他专有或行业标准进行操作,诸如VVC。VVC标准的最新草案在Bross等人于2020年1月7日-17日在ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的联合视频专家小组(JVET)的比利时布鲁塞尔第17次会议的JVET-Q2001-v13(以下简称“VVC草案8”)的“通用视频译码(草案8)”中进行了描述。然而,本公开的技术不限于任何特定的译码标准。
通常,视频编码器200和视频解码器300可以执行基于块的图片编码。术语“块”通常是指包括要处理的数据(例如,编码的、解码的、或者另外在编码和/或解码处理中使用的数据)的结构。例如,块可以包括亮度和/或色度数据的样本的二维矩阵。通常,视频编码器200和视频解码器300可以对以YUV(例如,Y、Cb、Cr)格式表示的视频数据进行译码。也就是说,视频编码器200和视频解码器300可以对亮度和色度分量进行译码,而不是对图片样本的红、绿和蓝(RGB)数据进行译码,其中色度分量可以包括红色调(hue)和蓝色调色度分量。在一些示例中,视频编码器200在编码之前将接收到的RGB格式的数据转换成YUV表示,并且视频解码器300将YUV表示转换成RGB格式。可替代地,预处理和后处理单元(未示出)可以执行这些转换。
本公开通常可涉及图片的译码(例如,编码和解码),以包括对图片的数据进行编码或解码的处理。类似地,本公开可以涉及图片块的译码,以包括对块的数据进行编码或解码的处理,例如预测和/或残差译码。编码的视频比特流通常包括表示译码决策(例如,译码模式)和将图片分区为块的语法元素的一系列值。因此,对译码图片或块的引用通常应理解为译码形成图片或块的语法元素的值。
HEVC定义了各种块,包括译码单元(CU)、预测单元(PU)和变换单元(TU)。根据HEVC,视频译码器(诸如视频编码器200)根据四叉树结构将译码树单元(CTU)分区为多个CU。也就是说,视频译码器将CTU和CU分区为四个相等的、不重叠的正方形,并且四叉树的每个节点有零个或四个子节点。没有子节点的节点可以被称为“叶节点”,并且这种叶节点的CU可以包括一个或多个PU和/或一个或多个TU。视频译码器可以进一步分区PU和TU。例如,在HEVC中,残差四叉树(RQT)表示对TU的分区。在HEVC中,PU表示帧间预测数据,而TU表示残差数据。帧内预测的CU包括帧内预测信息,诸如帧内模式指示。
作为另一示例,视频编码器200和视频解码器300可以被配置为根据VVC进行操作。根据VVC,视频译码器(诸如视频编码器200)将图片分区为多个译码树单元(CTU)。视频编码器200可以根据树结构来分区CTU,诸如四叉树二叉树(QTBT)结构或多类型树(MTT)结构。QTBT结构移除了多个分区类型的概念,诸如HEVC的CU、PU和TU间的分离。QTBT结构包括两层:根据四叉树分区所分区的第一层,以及根据二叉树分区所分区的第二层。QTBT结构的根节点对应于CTU。二叉树的叶节点对应于译码单元(CU)。
在MTT分区结构中,可以使用四叉树(QT)分区、二叉树(BT)分区、和一种或多种三叉树(TT)(也称为三元树(TT))分区来对块进行分区。三叉或三元树分区是将块分割成三个子块的分区。在一些示例中,三叉或三元树分区在不通过中心来划分原始块的情况下将块划分成三个子块。MTT中的分区类型(例如,QT、BT和TT)可以是对称的或非对称的。
在一些示例中,视频编码器200和视频解码器300可以使用单个QTBT或MTT结构来表示亮度和色度分量中的每一个,而在其他示例中,视频编码器200和视频解码器300可以使用两个或更多个QTBT或MTT结构,诸如一个QTBT/MTT结构用于亮度分量,并且另一QTBT/MTT结构用于两个色度分量(或者两个QTBT/MTT结构用于相应的色度分量)。
视频编码器200和视频解码器300可以被配置为使用按照HEVC的四叉树分区、QTBT分区、MTT分区、或其他分区结构。出于说明的目的,本公开的技术的描述是针对QTBT分区来呈现的。然而,应当理解,本公开的技术也可以应用于被配置为使用四叉树分区或其他类型的分区的视频译码器。
可以在图片中以各种方式对块(例如,CTU或CU)进行分组。作为一个示例,砖(brick)可以指图片中特定片(tile)内的CTU行的矩形区域。片可以是图片中特定片列和特定片行内的CTU的矩形区域。片列指具有与图片的高度相等的高度和由语法元素(例如,在图片参数集中)指定的宽度的CTU的矩形区域。片行指具有由语法元素(例如,在图片参数集中)指定的高度和与图片的宽度相等的宽度的CTU的矩形区域。
在一些示例中,片可以被分区为多个砖,其中的每个砖可以包括该片内的一个或多个CTU行。未被分区为多个砖的片也可以被称为砖。然而,作为片的真实子集的砖不能被称为片。
图片中的砖还可以按条带排列。条带可以是图片的可以排他地在单个网络抽象层(NAL)单元中包含的整数数目的砖。在一些示例中,条带包括多个完整的片或者仅包括一个片的全部砖的连续序列。
本公开可以互换地使用“NxN”和“N乘N”来指代块(诸如CU或其他视频块)在垂直和水平维度方面的样本维度,例如16x16样本或16乘16样本。通常,16x16CU会在垂直方向上具有16个样本(y=16),并且在水平方向上具有16个样本(x=16)。同样,NxN CU通常在垂直方向上具有N个样本,并且在水平方向上具有N个样本,其中N表示非负整数值。CU中的样本可以按行和列排列。此外,CU不一定需要在水平方向上和在垂直方向上具有相同数目的样本。例如,CU可以包括NxM个样本,其中M不一定等于N。
视频编码器200对表示预测和/或残差信息以及其他信息的CU的视频数据进行编码。预测信息指示如何预测该CU,以便针对该CU形成预测块。残差信息通常表示编码之前的CU的样本与预测块之间的逐样本差。
为了预测CU,视频编码器200通常可以通过帧间预测或帧内预测来形成CU的预测块。帧间预测通常是指根据先前译码的图片的数据来预测CU,而帧内预测通常是指根据同一图片的先前编码的数据来预测CU。为了执行帧间预测,视频编码器200可以使用一个或多个运动矢量来生成预测块。视频编码器200通常可以执行运动搜索以标识与CU紧密匹配(例如,在CU和参考块之间的差方面)的参考块。视频编码器200可使用绝对差和(SAD)、平方差和(SSD)、平均绝对差(MAD)、均方差(MSD)或其他此类差计算来计算差度量,以确定参考块是否与当前CU紧密匹配。在一些示例中,视频编码器200可以使用单向预测或双向预测来预测当前CU。
VVC的一些示例也提供仿射(affine)运动补偿模式,其可以被认为是帧间预测模式。在仿射运动补偿模式下,视频编码器200可以确定表示非平移运动的两个或更多个运动矢量,非平移运动诸如放大或缩小、旋转、透视运动、或其他不规则运动类型。
为了执行帧内预测,视频编码器200可以选择帧内预测模式来生成预测块。VVC的一些示例提供了六十七种帧内预测模式,包括各种方向模式,以及平面模式和DC模式。通常,视频编码器200选择描述当前块(例如,CU的块)的相邻样本的帧内预测模式,从该当前块来预测当前块的样本。假设视频编码器200以光栅扫描顺序(从左到右、从上到下)对CTU和CU进行译码,这种样本在与当前块相同的图片中通常可以在当前块的上方、上方和左侧、或者左侧。
视频编码器200对表示当前块的预测模式的数据进行编码。例如,对于帧间预测模式,视频编码器200可以对表示使用各种可用帧间预测模式中的哪一种的数据、以及对应模式的运动信息进行编码。例如,对于单向或双向帧间预测,视频编码器200可以使用高级运动矢量预测(AMVP)或合并模式来编码运动矢量。视频编码器200可以使用类似的模式来编码仿射运动补偿模式的运动矢量。
在预测(诸如块的帧内预测或帧间预测)之后,视频编码器200可以计算块的残差数据。残差数据(诸如残差块)表示块与该块的使用对应的预测模式形成的预测块之间的逐样本差。视频编码器200可以对残差块应用一个或多个变换,以产生变换域而不是样本域中的变换数据。例如,视频编码器200可以对残差视频数据应用离散余弦变换(DCT)、整数变换、小波变换、或概念上类似的变换。附加地,视频编码器200可以在第一变换之后应用次变换,诸如模式相关的不可分离次变换(MDNSST)、信号相关的变换、卡尔亨-洛夫(Karhunen-Loeve)变换(KLT)等。视频编码器200在应用一个或多个变换后产生变换系数。
如上所述,在任何变换产生变换系数之后,视频编码器200可以执行变换系数的量化。量化通常是指量化变换系数以尽可能减少用于表示变换系数的数据的数量从而提供进一步压缩的处理。通过执行量化处理,视频编码器200可以减少与变换系数中的一些或全部相关联的比特深度。例如,视频编码器200可以在量化期间将n比特值向下舍入到m比特值,其中n大于m。在一些示例中,为了执行量化,视频编码器200可以对要量化的值执行按位右移位。
在量化之后,视频编码器200可以扫描变换系数,从包括量化的变换系数的二维矩阵中产生一维矢量。扫描可以被设计为将较高能量(并因此较低频率)的变换系数放置在矢量的前部,并将较低能量(并因此较高频率)的变换系数放置在矢量的后部。在一些示例中,视频编码器200可以利用预定义的扫描顺序来扫描量化的变换系数以产生串行化的矢量,然后对矢量的量化的变换系数进行熵编码。在其他示例中,视频编码器200可以执行自适应扫描。在扫描量化的变换系数以形成一维矢量之后,视频编码器200可以例如根据上下文自适应二进制算术译码(CABAC)对该一维矢量进行熵编码。视频编码器200还可以对描述与编码的视频数据相关联的元数据的语法元素的值进行熵编码,以供视频解码器300在解码视频数据时使用。
为了执行CABAC,视频编码器200可以将上下文模型内的上下文分配给要传输的符号。该上下文可以关于例如符号的相邻值是否为零值。概率确定可以基于分配给符号的上下文。
视频编码器200还可以例如在PH、块头、SH中向视频解码器300生成语法数据——诸如基于块的语法数据、基于图片的语法数据和基于序列的语法数据,或其他语法数据——诸如序列参数集(SPS)、图片参数集(PPS)、或视频参数集(VPS)。同样地,视频解码器300可以解码此类语法数据以确定如何解码对应的视频数据。
以这种方式,视频编码器200可以生成包括编码的视频数据(例如,描述将图片分区为块(例如,CU)的语法元素以及块的预测和/或残差信息)的比特流。最终,视频解码器300可以接收比特流并解码编码的视频数据。
通常,视频解码器300执行与视频编码器200执行的处理相反的处理,以解码比特流的编码的视频数据。例如,视频解码器300可以使用CABAC以与视频编码器200的CABAC编码处理基本相似但相反的方式来解码比特流的语法元素的值。语法元素可以定义将图片分区为CTU的分区信息,和根据对应的分区结构(诸如QTBT结构)对每个CTU进行分区,以定义CTU的CU。语法元素可以进一步定义视频数据的块(例如,CU)的预测和残差信息。
残差信息可以由例如量化的变换系数来表示。视频解码器300可以对块的量化的变换系数进行逆量化和逆变换,以再现该块的残差块。视频解码器300使信令通知的预测模式(帧内或帧间预测)和相关的预测信息(例如,用于帧间预测的运动信息)来形成块的预测块。然后视频解码器300可以(在逐个样本的基础上)组合预测块和残差块,以再现原始块。视频解码器300可执行附加处理,诸如执行去块处理以减少沿着块的边界的视觉伪像。
本公开通常可以涉及“信令通知”某些信息,诸如语法元素。术语“信令通知”通常可以涉及用于对编码的视频数据进行解码的语法元素和/或其他数据的值的传递。也就是说,视频编码器200可以在比特流中信令通知语法元素的值。通常,信令通知涉及在比特流中生成值。如上所述,源设备102可以大体上实时地或者非实时地将比特流传输到目标设备116,诸如当将语法元素存储到存储设备112以供目标设备116稍后检索时可能发生的情况。
图2A和2B是图示示例四叉树二叉树(QTBT)结构130和对应的译码树单元(CTU)132的概念图。实线表示四叉树分割(splitting),并且虚线指示二叉树分割。在二叉树的每个分割(即,非叶)节点中,信令通知一个标志以指示使用哪种分割类型(即,水平还是垂直),其中在本示例中,0指示水平分割,并且1指示垂直分割。对于四叉树分割,不需要指示分割类型,因为四叉树节点将块水平和垂直分割为4个具有相等大小的子块。因此,视频编码器200可以编码并且视频解码器300可以解码QTBT结构130的区域树层的语法元素(诸如分割信息)(即,实线)和QTBT结构130的预测树层的语法元素(诸如分割信息)(即,虚线)。视频编码器200可以编码并且视频解码器300可以为由QTBT结构130的终端叶节点表示的CU解码视频数据,诸如预测和变换数据。
通常,图2B的CTU 132可以与定义对应于QTBT结构130的第一和第二层的节点的块的大小的参数相关联。这些参数可以包括CTU大小(表示样本中CTU 132的大小)、最小四叉树大小(MinQTSize,表示最小允许的四叉树叶节点大小)、最大二叉树大小(MaxBTSize,表示最大允许的二叉树根节点大小)、最大二叉树深度(MaxBTDepth,表示最大允许的二叉树深度)和最小二叉树大小(MinBTSize,表示最小允许的二叉树叶节点大小)。
对应于CTU的QTBT结构的根节点可以在QTBT结构的第一层具有四个子节点,其中每个子节点可以根据四叉树分区来进行分区。也就是说,第一层的节点是叶节点(没有子节点),或者具有四个子节点。QTBT结构130的示例将这种节点表示为包括父节点和具有用于分支的实线的子节点。如果第一层的节点不大于最大允许的二叉树根节点大小(MaxBTSize),则节点可以由相应的二叉树进一步分区。可以迭代一个节点的二叉树分割,直到分割产生的节点达到最小允许的二叉树叶节点大小(MinBTSize)或最大允许的二叉树深度(MaxBTDepth)。QTBT结构130的示例将这种节点表示为具有用于分支的虚线。二叉树叶节点被称为译码单元(CU),其用于预测(例如,图片内或图片间预测)和变换,而无需任何进一步的分区。如上所述,CU也可以被称为“视频块”或“块”。
在QTBT分区结构的一个示例中,CTU大小被设置为128x128(亮度样本和两个对应的64x64色度样本),MinQTSize被设置为16x16,MaxBTSize被设置为64x64,(宽度和高度两者的)MinBTSize被设置为4,并且MaxBTDepth被设置为4。首先将四叉树分区应用于CTU,以生成四叉树叶节点。四叉树叶节点可以具有从16x16(即,MinQTSize)到128x128(即,CTU大小)的大小。如果四叉树叶节点是128x128,则叶四叉树节点不会被二叉树进一步分割,因为其大小超过了MaxBTSize(即,在本示例中为64x64)。否则,四叉树叶节点将被二叉树进一步分区。因此,四叉树叶节点也是二叉树的根节点,并且二叉树深度为0。当二叉树深度达到MaxBTDepth(在本示例中为4)时,不允许进一步分割。具有宽度等于MinBTSize(在本示例中为4)的二叉树节点意味着不允许进一步垂直分割。类似地,具有高度等于MinBTSize的二叉树节点意味着不允许对二叉树节点进一步的水平分割。如上所述,二叉树的叶节点被称为CU,并且根据预测和变换被进一步处理,而无需进一步分区。
在VVC草案8中,可以在PH或SH中信令通知参考图片列表(RPL)。然而,仅在PH中信令通知时域运动矢量预测(TMVP)的启用。仅在SH中信令通知发送有效参考图片(用于帧间预测的图片)的数量。
RPL是用于P或B条带的帧间预测的参考图片的列表。针对非IDR图片的每个条带,生成两个参考图片列表,即参考图片列表0和参考图片列表1。由与图片相关联的两个参考图片列表中的所有条目所指代的唯一图片集合包括所有的参考图片,该所有的参考图片可以用于对相关联的图片或在解码顺序下相关联图片之后的任何图片进行帧间预测。对于P条带的解码过程,仅参考图片列表0用于帧间预测。对于B条带的解码过程,参考图片列表0和参考图片列表1都用于帧间预测。对于I条带的条带数据的解码,没有参考图片列表用于帧间预测。参考图片列表0指的是用于P条带的帧间预测的参考图片列表或用于B条带的帧间预测的第一参考图片列表。参考图片列表1指的是用于B条带的帧间预测的第二参考图片列表。
PH是语法结构,该语法结构包含适用于译码图片的所有条带的语法元素,SH是译码条带的一部分,译码条带包含与所有片或在条带中表示的片内的CTU行有关的数据元素。条带是整数个完整的片或整数个图片的片中的连续完整CTU行,它们完全包含在单个NAL单元中。
在VVC草案8中,存在以下语法表:
rpl_info_in_ph_flag等于1说明参考图片列表信息存在于PH语法结构中,而不存在于涉及不包含PH语法结构的PPS的条带头中。rpl_info_in_ph_flag等于0说明在PH语法结构中不存在参考图片列表信息,并且可以存在于涉及不包含PH语法结构的PPS的条带头中。
图片头
Figure BDA0003802318510000191
Figure BDA0003802318510000201
ph_inter_slice_allowed_flag等于0说明图片的所有译码条带的slice_type等于2。ph_inter_slice_allowed_flag等于1说明图片中可能有slice_type等于0或1的一个或多个译码条带,也可能没有。
ph_temporal_mvp_enabled_flag说明是否可以将时域运动矢量预测用于与PH关联的条带的帧间预测。如果ph_temporal_mvp_enabled_flag等于0,则应限制与PH关联的条带的语法元素,以使在条带的解码中不使用时域运动矢量预测子。否则(ph_temporal_mvp_enabled_flag等于1),可以在与PH关联的条带的解码中使用时域运动矢量预测子。如果不存在,则推断ph_temporal_mvp_enabled_flag的值等于0。当DPB中没有参考图片具有与当前图片相同的空域分辨率时,ph_temporal_mvp_enabled_flag的值应等于0。
Ph_collocated_from_l0_flag等于1说明用于时域运动矢量预测的共位图片从参考图片列表0导出。ph_collocated_from_l0_flag等于0说明用于时域运动矢量预测的共位图片从参考图片列表1导出。
ph_collocated_ref_idx说明用于时域运动矢量预测的共位图片的参考索引。
当ph_collocated_from_l0_flag等于1时,ph_collocated_ref_idx指代参考图片列表0中的一个条目,并且ph_collocated_ref_idx的值应在0到num_ref_entries[0][PicRplsIdx[0]]-1的范围内。
当ph_collocated_from_l0_flag等于0时,ph_collocated_ref_idx指代参考图片列表1中的一个条目,并且ph_collocated_ref_idx的值应在0到num_ref_entries[1][PicRplsIdx[1]]-1(含端值)的范围内。
如果不存在,则推断ph_collocated_ref_idx的值等于0。
条带头
Figure BDA0003802318510000211
Figure BDA0003802318510000221
sps_idr_rpl_present_flag等于1说明IDR图片的条带头中存在参考图片列表语法元素。sps_idr_rpl_present_flag等于0说明IDR图片的条带头中不存在参考图片列表语法元素。
num_ref_idx_active_override_flag等于1说明P和B条带存在语法元素num_ref_idx_active_minus1[0],B条带存在语法元素num_ref_idx_active_minus1[1]。num_ref_idx_active_override_flag等于0说明不存在语法元素num_ref_idx_active_minus1[0]和num_ref_idx_active_minus1[1]。如果不存在,则num_ref_idx_active_override_flag的值推断等于1。
num_ref_idx_active_minus1[i]用于导出变量NumRefIdxActive[i],如公式143所示。num_ref_idx_active_minus1[i]的值应在0到14(含端值)之间。
对于i等于0或1,在当前条带为B条带时,num_ref_idx_active_override_flag等于1,并且num_ref_idx_active_minus1[i]不存在,则num_ref_idx_active_minus1[i]推断为等于0。
在当前条带为P条带时,num_ref_idx_active_override_flag等于1,并且num_ref_idx_active_minus1[0]不存在,则num_ref_idx_active_minus1[0]推断为等于0。
slice_collocated_from_l0_flag等于1说明用于时域运动矢量预测的共位图片从参考图片列表0导出。slice_collocated_from_l0_flag等于0说明用于时域运动矢量预测的共位图片从参考图片列表1导出。
当slice_type等于B或P时,ph_temporal_mvp_enabled_flag等于1,并且不存在slice_collocated_from_l0_flag,则适用以下条件:
–如果rpl_info_in_ph_flag等于1,则将slice_collocated_from_l0_flag推断为等于ph_collocated_from_l0_flag。
–否则rpl_info_in_ph_flag等于0,并且如果slice_type等于P,则slice_collocated_from_l0_flag的值被推断为等于1。
slice_collocated_ref_idx说明用于时域运动矢量预测的共位图片的参考索引。
当slice_type等于P或slice_type等于B并且collocated_from_l0_flag等于1时,slice_collocated_ref_idx涉及考参考图片列表0中的一个条目,并且slice_collocated_ref_idx的值应在0到NumRefIdxActive[0]-1(含端值)的范围内。
当slice_type等于B且slice_collocated_from_l0_flag等于0时,slice_collocated_ref_idx指代参考图片列表1中的一个条目,并且slice_collocated_ref_idx的值应在0到NumRefIdxActive[1]-1(含端值)的范围内。
当不存在slice_collocated_ref_idx时,以下条件适用:
–如果rpl_info_in_ph_flag等于1,则将slice_collocated_ref_idx的值推断为等于ph_collocated_ref_idx。
–否则(rpl_info_in_ph_flag等于0),将slice_collocated_ref_idx的值推断为等于0。
比特流一致性的要求是,对于译码图片的所有条带,slice_collocated_ref_idx所指代的图片应该相同。
比特流一致性的要求是由slice_collocated_ref_idx指代的参考图片的pic_width_in_luma_samples和pic_height_in_luma_samples的值应该分别等于当前图片的pic_width_in_luma_samples和pic_height_in_luma_samples的值,并且RprConstraintsActive[slice_collocated_from_l0_flag?0:1][slice_collocated_ref_idx]应该等于0。
PH和SH语义的上述实施方式可能有一些潜在的问题。如前所述,无论是在PH还是SH中信令通知RPL,仅在PH中信令通知TMVP使能标志。此外,VVC草案8施加了约束,其中比特流一致性要求对于译码图片的所有条带,slice_collocated_ref_idx所指代的图片应该相同。
在PH中信令通知RPL且启用TMVP的情况下,图片的条带中有效参考图片的数量可能小于PH中RPL中所包括的参考图片的数量,并且共位图片可以不包括在有效参考图片中。
在潜在问题的另一个示例中,对于一些译码场景,可以在PH中启用TMVP,但是每条带可以信令通知RPL。有效参考图片的数量可能在同一图片的条带之间有所不同,并且对于一些条带,RPL中可以不包括共位图片。本公开描述了针对违反共位图片约束的条带禁用TMVP的技术。
SH中的RPL信令通知可能存在效率低下。当前的实施方式(例如,VVC草案8)允许即使对于IDR图片不存在RPL,诸如当sps_idr_rpl_present_flag等于0时,也可以为I-条带信令通知RPL。PH中的加权预测信令通知中也可能存在效率低下的情况,当不存在相互关联的语法时,诸如ph_inter_slice_allowed_flag等于0并且IDR图片的RPL不存在时,诸如sps_idr_rpl_present_flag等于0时,可能会进行信令通知。本公开描述了可以解决上述问题的技术。下文所述的各种技术可以独立使用或以任何组合使用。
在一些示例中,为了解决PH中的RPL的冗余信令通知,本公开描述了技术,用于当允许帧间预测时,诸如,当ph_inter_slice_allowed_flag等于1时,或者当针对IDR图片存在RPL时,诸如,当sps_idr_rpl_present_flag等于1时,信令通知RPL。
在一个示例中,可以通过与VVC草案8相关的以下语法更改来实施此技术。在下面的示例以及本公开的其余部分中,<ADD>和</ADD>之间的文本表示添加到VVC草案8的文本,而<DEL>和</DEL>之间的文本表示消除的文本,即,已从VVC草案8中删除的文本。
Figure BDA0003802318510000241
视频解码器300可被配置为推断出当ph_intra_slice_allowed_flag不存在时,ph_intra_slice_allowed_flag的值被推断为等于1,这意味着当不允许进行帧间预测时,则应允许进行帧内预测。因此,上述条件可以简化如下:
Figure BDA0003802318510000242
此外,视频编码器200可以配置为在允许帧间预测时(例如,在ph_inter_slice_allowed_flag等于1时)或在IDR图片存在RPL时(例如在sps_idr_rpl_present_flag等于1时)信令通知加权预测表。
这些技术的示例实施方式如下所示,是有关VVC草案8的修改:
Figure BDA0003802318510000251
视频解码器300可被配置为推断出当ph_intra_slice_allowed_flag不存在时,ph_intra_slice_allowed_flag的值等于1,这意味着当不允许进行帧间预测时,则应允许进行帧内预测。因此,上述条件可以简化如下:
Figure BDA0003802318510000252
上面的两种技术使用相似的条件,并且可以组合以信令通知ref_pic_lists()和pred_weight_table(),这可能是有利的,因为实施这样的条件需要较少的条件检查。
这些技术的示例实施方式如下所示,是有关VVC草案8的修改:
Figure BDA0003802318510000253
在另一个示例中,鉴于上述针对ph_intra_slice_allowed_flag的推论,可以相对于如下VVC草案8所示实施这些技术:
Figure BDA0003802318510000261
pps_weighted_pred_flag等于说明不将加权预测应用于参考PPS的P条带。pps_weighted_pred_flag等于1说明将加权预测应用于引用PPS的P条带。当sps_weighted_pred_flag等于0时,pps_weighted_pred_flag的值应等于0。
pps_weighted_bipred_flag等于0说明不将显式加权预测应用于参考PPS的B条带。pps_weighted_bipred_flag等于1说明将显式加权预测应用于参考PPS的B条带。当sps_weighted_bipred_flag等于0时,pps_weighted_bipred_flag的值应等于0。
根据本公开的技术,为了避免跨越相同图片的条带的有效条目之间出现任何不一致性,视频编码器200可以被配置为信令通知PH中的有效参考图片条目的数量。在一个示例中,视频编码器200可以在PH中存在RPL的条件下信令通知有效参考条目的数量,例如rpl_info_in_ph_flag等于1,并且例如当ph_inter_slice_allowed_flag等于1时,例如图片中可能存在P或B条带,或者当IDR图片中存在RPL,例如当sps_idr_rpl_present_flag等于1时,允许进行帧间预测。
这些技术的示例实施方式如下所示,是有关VVC草案8的修改:
Figure BDA0003802318510000262
Figure BDA0003802318510000271
视频解码器300可被配置为推断出当不存在ph_intra_slice_allowed_flag时,ph_intra_slice_allowed_flag的值被推断为等于1,这意味着当不允许进行帧间预测时,则应允许进行帧内预测。因此,可以如下简化上述条件:
Figure BDA0003802318510000272
<ADD>ph_num_ref_idx_active_override_flag等于1说明PH中存在语法元素ph_num_ref_idx_active_minus1
Figure BDA0003802318510000273
当rpl1_present_flag等于1时,语法元素ph_num_ref_idx_active_minus1[1]存在。ph_num_ref_idx_active_override_flag等于1说明语法元素ph_num_ref_idx_active_minus1[0]和ph_num_ref_idx_active_minus1[1]不存在。如果不存在,则ph_num_ref_idx_active_override_flag的值推断为等于0。</ADD>
<ADD>ph_num_ref_idx_active_minus1[i]用于导出变量NumRefIdxActive[i],如公式143所示。ph_num_ref_idx_active_minus1[i]的值应在0和num_ref_entries[i][RplsIdx[i]](含端值)之间。如果ph_num_ref_idx_active_minus1[i]不存在,则将其推断为等于0。</ADD>
附加地,视频编码器200可以被配置为有条件地进行信令通知,并且视频解码器300被配置为基于PH中的重载标志ph_num_ref_idx_active_override_flag值有条件地解析SH中的重载标志num_ref_idx_active_override_flag。在一个示例中,视频编码器200可以被配置为仅在PH重载标志ph_num_ref_idx_active_override_flag等于0时信令通知SH重载标志num_ref_idx_active_override_flag。
视频解码器300可以被配置为:如果PH中的覆盖标志ph_num_ref_idx_active_override_flag等于1,则从PH中信令通知的有效参考图片的数量中得出条带中的有效参考图片的数量NumRefIdxActive[i],其被分别应用于RefPicList0和RefPicList1。
这些技术的示例实施方式如下所示,作为有关VVC草案8的修改:
变量NumRefIdxActive[i]从如下导出:
Figure BDA0003802318510000281
在加权预测表信令通知中,有两个语法元素num_l0_weights和num_l1_weights,它们指示在RefPicList0和RefPicList1中信令通知的权重数量。当在PH中信令通知重载标志时,RPL中的条目的数量是已知的。因此,可能不需要num_l0_weights和/或num_l1_weights的值。视频编码器200可以被配置为基于PH覆盖标志ph_num_ref_idx_active_override_flag的存在有条件地信令通知这些语法元素,而视频解码器300可以被配置为针对RefPicList0和RefPicList1推断权重数量将分别等于ph_num_ref_idx_active_minus1。
这些技术的示例实施方式如下所示,是有关VVC草案8的修改:
Figure BDA0003802318510000291
Figure BDA0003802318510000292
num_l0_weights说明针对参考图片列表中的条目信令通知的权重数量。num_l0_weights[i]的值应在0和num_ref_entries[0][PicRplsIdx[0]](含端值)之间。
<ADD>变量NumWeightsL0导出如下:
Figure BDA0003802318510000293
num_l1_weights说明针对参考图片列表1中的条目信令通知的权重数量。num_l1_weights的值应在0到num_ref_entries[1][PicRplsIdx[1]](含端值)之间。
<ADD>变量NumWeightsL0导出如下:
Figure BDA0003802318510000294
Figure BDA0003802318510000301
根据本公开的技术,为了解决当TMVP被启用时在RPL中可能不存在共位图片的问题,视频编码器200和视频解码器300可以被配置为根据应存在有效参考图片之间的共位图片的约束进行操作。
在一个示例中,以以下方式修改ph_collocated_ref_idx约束:ph_collocated_ref_idx的范围是从0到属于同一图片的任何条带的有效参考图片的最小数目。在这种情况下,不可能在PH中信令通知共位参考索引以指示在同一图片的一些条带中可能不存在的共位图片。
在一个示例中,可以通过如下修改ph_collocated_ref_idx的语义约束来实施该约束:
当ph_collocated_from_l0_flag等于1时,ph_collocated_ref_idx指代参考图片列表0中的一个条目,并且ph_collocated_ref_idx的值应在0<ADD>到图片中所有条带的NumRefIdxActive[0]–1的最小值(含</ADD>)的范围内。
当ph_collocated_from_l0_flag等于0时,ph_collocated_ref_idx指代参考图片列表1中的一个条目,并且ph_collocated_ref_idx的值应在0<ADD>到图片中所有条带的NumRefIdxActive[1]–1的最小值(含</ADD>)的范围内。
在一些示例中,ph_collocated_ref_idx的语义可以保持不变,因为可以在解析ph_collocated_ref_idx的过程中使用这些语义,但是可以添加比特流一致性约束以反映ph_collocated_ref_idx不得超过num_ref_idx_active_minus1[0][PicRplsIdx[0]]-1的值或图片中任何条带的num_ref_idx_active_minus1[1][PicRplsIdx[1]]–1的值。
在一个示例中,这样的比特流一致性约束可以表示如下:
满足以下条件是比特流一致性的要求:
·当ph_collocated_from_l0_flag等于1时,ph_collocated_ref_idx指代参考图片列表0中的一个条目,并且ph_collocated_ref_idx的值应在0到<ADD>图片中所有条带的NumRefIdxActive[0]-1的最小值(含端值)的范围内</ADD>。
·当ph_collocated_from_l0_flag等于0时,ph_collocated_ref_idx指代参考图片列表1中的一个条目,并且ph_collocated_ref_idx的值应在0到<ADD>图片中所有条带的NumRefIdxActive[1]-1的最小值(含端值)的范围内</ADD>。
从而,在一些示例中,视频编码器200和视频解码器300可根据包括在图片中的条带的NumRefIdxActive的约束进行操作,即如果启用了TMVP,则针对参考图片列表的有效参考图片的数量NumRefIdxActive应在ph_collocated_ref_idx至num_ref_idx_active_minus1的范围内。
在一个示例中,约束可以表示如下:
<ADD>当ph_temporal_mvp_enabled_flag等于1时,NumRefIdxActive[slice_collocated_from_l0_flag?0:1]应大于或等于slice_collocated_ref_idx。</ADD>
在又一示例中,可以添加约束以要求共位图片为有效参考图片,即,该共位图片必须存在于RPL中。
在一个示例中,约束可以表示如下:
<ADD>条带的共位图片应为有效条目。</ADD>
可选地,可以在约束中添加检查是否启用TMVP的一个示例,如下所示:
<ADD>如果启用TMVP,条带的共位图片应为有效条目。</ADD>
在VVC草案8中,可以使用ph_collocated_from_l0_flag在PH中信令通知从中导出共位图片的参考图片列表。当此标志ph_collocated_from_l0_flag等于0时,即从RefPicList1导出共位图片,并且图片中存在P和B条带时,可能会出现问题。在这种情况下,因为没有针对P条带的RefPicList1,所以无法为P条带导出共位图片。
为了解决这个问题,视频编码器200和视频解码器300可以被配置为根据当图片中存在P条带时,ph_collocated_from_l0_flag不应等于1的约束进行操作。在一个示例中,约束可以表示如下:
Ph_collocated_from_l0_flag等于1说明用于时域运动矢量预测的共位图片从参考图片列表0导出。ph_collocated_from_l0_flag等于0说明用于时域运动矢量预测的共位图片从参考图片列表1导出。
<ADD>当ph_temporal_mvp_enabled_flag等于1时,如果图像中至少有一个P条带,则ph_collocated_from_l0_flag的值应等于1。</ADD>
因此,视频编码器200和视频解码器300可以被配置为根据以下约束条件进行操作:当条带类型为P并且启用了TMVP时,则ph_collocated_from_l0_flag应等于1。在一个示例中,约束可以表示如下:
slice_type根据表9说明条带的编码类型。
表9—与slice_type相关联的名称
Figure BDA0003802318510000321
<ADD>当slice_type等于1时,slice_collocated_from_l0_flag的值应等于1。</ADD>
在一些示例中,当由于PH中的ph_collocated_from_l0_flag信令通知而未信令通知slice_collocated_from_l0_flag时,视频解码器300可以被配置为针对P条带推断出slice_collocated_from_l0_flag等于1。在一个示例中,约束可以表示如下:
slice_collocated_from_l0_flag等于1说明用于时域运动矢量预测的共位图片从参考图片列表0导出。slice_collocated_from_l0_flag等于0说明用于时域运动矢量预测的共位图片从参考图片列表1导出。
当slice_type等于B或P时,ph_temporal_mvp_enabled_flag等于1,并且不存在slice_collocated_from_l0_flag,则适用以下条件:
<ADD>
–如果slice_type等于P,则将slice_collocated_from_l0_flag的值推断为等于1。
–否则,如果rpl_info_in_ph_flag等于1,则将slice_collocated_from_l0_flag推断为等于ph_collocated_from_l0_flag。
</ADD>
即,对于P条带,视频解码器300可以被配置为将slice_collocated_from_l0_flag设置为等于l,意味不管ph_collocated_from_l0_flag的值是0还是1,都根据l0进行预测。
为了解决在RPL中没有共位图片的问题,本公开的技术包括:如果RPL中不存在共位图片但是启用了TMVP,则禁用TMPV。在一个示例中,视频编码器200可以被配置为除了在PH中信令通知TMVP使能标志之外,还在SH中信令通知TMVP使能标志。在一个示例中,如果在PH中启用了TMVP,则对于违反共位图片约束条件的条带,允许逐条带地禁用TMVP。在另一个示例中,即使启用了TMVP,如果在RPL中不存在共位图片,则视频编码器200和视频解码器300可以配置为不基于块应用TMVP。
视频编码器200可以被配置为基于PH中的TMVP使能标志有条件地信令通知条带中的TMVP使能标志。在一个示例中,如果PH中的TMVP使能标志等于1,则视频编码器200可在条带中信令通知TMVP使能标志。当不存在TMVP使能标志SH时,视频解码器300可以被配置为推断出TMVP的值等于在PH中信令通知的TMVP标志。
在一示例中,上述技术可以如下实施:
Figure BDA0003802318510000331
<ADD>等于1的slice_temporal_mvp_enabled_flag说明可以将时域运动矢量预测子用于帧间预测。slice_temporal_mvp_enabled_flag等于0说明在条带中禁用时域运动矢量预测子。当不存在slice_temporal_mvp_enabled_flag,则可以推断出它等于ph_temporal_mvp_enabled_flag。</ADD>
在另一个示例中,TMVP使能标志可以从PH移动到SH。如果在条带层上禁用了TMVP,则视频编码器200可以被配置为不信令通知与TMVP相关的信息,例如slice_collocated_from_l0_flag和slice_collocated_ref_idx。
这些技术的示例实施方式如下所示,是有关VVC草案8的修改:
Figure BDA0003802318510000332
Figure BDA0003802318510000341
在另一个示例中,视频编码器200可以被配置为如果在SH中信令通知RPL,则总是通过例如在SH中信令通知TMVP使能标志,而总在RPL中信令通知TMVP使能标志,并且如果在PH中信令通知RPL,则在PH中信令通知TMVP使能标志。
附加地,视频编码器200可以被配置为以互斥的方式在SH或PH中信令通知TMVP使能标志,使得不能在PH和SH两者中信令通知TMVP使能标志。
当在PH中,例如通过ph_collocated_ref_idx指示共位图片时,可以指示具有与当前图片大小不同的图片大小的共位图片。为了解决这个问题,本公开描述了用于配置视频编码器200和视频解码器300以根据以下约束进行操作的技术:在PH中指示的共位图片应当具有与当前图片相同的图片大小,不对共位图片进行缩放,或不使用参考共位图片和当前图片的用于导出缩放比例的缩放窗口的不同值。
在一示例中,上述技术可以如下实施:
<ADD>比特流一致性的要求是由ph_collocated_ref_idx指代的参考图片的pic_width_in_luma_samples和pic_height_in_luma_samples的值应该分别等于当前图片的pic_width_in_luma_samples和pic_height_in_luma_samples的值,并且RprConstraintsActive[ph_collocated_from_l0_flag?0:1][ph_collocated_ref_idx]应该等于0。</ADD>
在VVC草案8中,可以在SPS、PH或SH中信令通知RPL。当在PH或SH中信令通知时,可以从SPS导出RPL。在后一种情况下,信令通知标志rpl_sps_flag[i]来指示RPL是从SPS导出的,并且向RPL索引信令通知rpl_idx[i]来指示将使用SPS的哪个RPL。
可以有两个列表,即RefPicList0和RefPicList1,它们利用了这种RPL导出。在RefPicList1的情况下,信令通知一个附加语法元素标志rpl1_idx_present_flag,以指示是否发生了从SPS导出RPL的情况。如果RPL不是从SPS导出的,则显式地信令通知RPL,这可能通过使RefPicList0和RefPicList1信令通知以不同的方式处理而在设计中引入不一致。
在一个示例中,视频编码器200和视频解码器300可以对rpl0_idx_present_flag进行编码,其指示RefPicList0的rpl_sps_flag[i]和rpl_idx[i]的存在,即,提供与RefPicList1相同的信令通知功能。
在另一个示例中,可以将rpl1_idx_present_flag替换为另一个标志rpl1_present_flag,其指示是否存在任何与RefPicList1相关的语法元素。在这种情况下,该标志可以另外用作图片中的B条带。
在一个示例中,可以在PPS中信令通知这样的标志,并且可以如下实施:
<ADD>rpl1_present_flag等于0说明RefPicList1相关语法元素不存在于PH语法结构或指代PPS的图片的条带头中。rpl1_present_flag等于1说明RefPicList1相关语法元素可以存在于PH语法结构或指代PPS的图片的条带头中。</ADD>
然后,视频编码器200可以被配置为有条件地信令通知,而视频解码器300被配置为基于此标志有条件地解析RefPicList1语法元素。
在一个示例中,视频编码器200可以被配置为基于此标志有条件地从PH中的RefPicList0信令通知共位图片标志,并且如果不存在,则视频解码器300可以被配置为推断出共位图片标志指示共位图片来自RefPicList0。这些技术的示例实施方式如下所示,是有关VVC草案8的修改:
<ADD>if(rpl1_present_flag)</ADD>
ph_collocated_from_l0_flag u(1)
Ph_collocated_from_l0_flag等于1说明用于时域运动矢量预测的共位图片从参考图片列表0导出。ph_collocated_from_l0_flag等于0说明用于时域运动矢量预测的共位图片从参考图片列表1导出。<ADD>如果不存在,则ph_collocated_from_l0_flag推断为等于1。</ADD>
在另一个示例中,视频编码器200可以被配置为基于ph_collocated_from_l0_flag有条件地信令通知针对PH中的RefPicList1的零MVD标志。这些技术的示例实施方式如下所示,是有关VVC草案8的修改:
<ADD>if(rpl1_present_flag)</ADD>
mvd_l1_zero_flag u(1)
在另一个示例中,视频编码器200和视频解码器300可以被配置为根据约束进行操作,在该约束中,条带类型被约束为当rpl1_present_flag等于0时,条带可以仅具有I-条带或P-条带类型。例如,它可以表示如下:
<ADD>当rpl1_present_flag等于0时,slice_type的值应等于1或2。
</ADD>
在另一个示例中,视频编码器200可以被配置为基于rpl1_present_flag有条件地信令通知RefPicList1的加权预测表,而视频解码器300有条件地解析RefPicList1的加权预测表。
这些技术的示例实施方式如下所示,是有关VVC草案8的修改:
if(wp_info_in_ph_flag&&<ADD>rpl1_present_flag</ADD>)
num_l1_weights ue(v)
num_l1_weights说明针对参考图片列表1中的条目信令通知的权重数量。num_l1_weights的值应在0到num_ref_entries[1][PicRplsIdx[1]](含端值)之间。
变量NumWeightsL0导出如下:
Figure BDA0003802318510000361
在另一个示例中,视频编码器200可以被配置为基于rpl1_present_flag有条件地信令通知针对RefPicList1的RPL语法元素。这些技术的示例实施方式如下所示,是有关VVC草案8的修改:
Figure BDA0003802318510000362
Figure BDA0003802318510000371
在这种情况下,可以简化ref_pic_list信令通知中的条件检查。
在VVC草案8中,可以为非IDR图片的I-条带信令通知RPL。然而,这种RPL未用于I-条带解码中,并且没有办法避免这种冗余信令通知。本公开描述了用于配置视频编码器200以在不是I-条带类型的条带上调节RPL信令通知的技术。本发明还描述了只有当指示针对此类图片存在RPL时,例如当sps_idr_rpl_present_flag等于1时,用于配置视频编码器200向IDR图片信令通知RPL的技术。
这些技术的示例实施方式如下所示,是有关VVC草案8的修改:
Figure BDA0003802318510000372
Figure BDA0003802318510000381
在VVC草案8中,只有当在PH中信令通知RPL时,才在SH中信令通知参考图片重载标志num_ref_idx_active_override_flag。当在SH中信令通知RPL且应在RPL中信令通知一些图片以供将来参考时,这可能会产生问题,但因为在SH中未信令通知重载标志,所以无法更改有效参考图片的数量。信令通知此类图片的唯一方法是使整个信令通知的RPL有效,由于未使用RPL中包括的一些图片,因此每个块的参考索引信令通知都需要额外的开销。另一个问题是,即使不需要I-条带,也会信令通知num_ref_idx_active_override_flag。
根据本发明的技术,即使当在SH中信令通知RPL时,视频编码器200可以被配置以在SH中信令通知重载标志num_ref_idx_active_override_flag。附加地或可替代地,视频编码器200可以被配置为即使当其他信令通知指示针对此类图片存在RPL时,也不会针对IDR图片的I-条带信令通知(例如,避免信令通知)重载标志。例如,当sps_idr_rpl_present_flag等于1时,由于I-条带解码不需要RPL,因此I-条带中没有参考索引信令通知,因此没有额外的开销。
这些技术的示例实施方式如下所示,是有关VVC草案8的修改:
Figure BDA0003802318510000382
在该示例实施方式中,如果信令通知指示针对I-条带存在RPL信息,则当在PH中信令通知RPL信息时(例如,当rpl_info_in_ph_flag等于1时)或针对IDR图片存在RPL(例如,sps_idr_rpl_present_flag等于1),并且在任何参考图片列表中RPL条目的数量都大于1,则不会信令通知语法元素num_ref_idx_active_override_flag。或者换句话说,如果信令通知指示PH中存在RPL(rpl_info_in_ph_flag等于1)或针对IDR图片存在RPL(sps_idr_rpl_present_flag等于1),并且在任何参考图片列表中RPL条目的数量均大于1,仅针对P-条带或B-条带类型信令通知num_ref_idx_active_override_flag。
在VVC草案8中,PH中有一个标志gdr_or_irap_pic_flag来指示图片是IRAP还是GDR,其可用于标识解码的起点。然而,此标志的信令通知不受图片中可能存在混合NAL类型的指示的约束。在这种情况下,不可能有IRAP或GDR图片。
根据本公开的技术,视频编码器200可以被配置为基于对混合NAL单元类型mixed_nalu_types_in_pic_flag的指示而有条件地信令通知gdr_or_irap_pic_flag。视频解码器300可以被配置为当在比特流中不存在gdr_or_irap_pic_flag时,推断出gdr_or_irap_pic_flag等于0。
这些技术的示例实施方式如下所示,是有关VVC草案8的修改:
<ADD>if(mixed_nalu_types_in_pic_flag)</ADD>
gdr_or_irap_pic_flag u(1)
gdr_or_irap_pic_flag等于1说明当前图片是GDR或IRAP图片。gdr_or_irap_pic_flag等于0说明当前图片可能是GDR或IRAP图片,也可能不是。<ADD>当不存在gdr_irap_pic_flag时,则可以推断出它等于0。</ADD>
在一些示例中,视频编码器200和视频解码器300可以被配置为根据约束进行操作,在该约束中,gdr_or_irap_pic_flag的语义被约束,使得当指示混合NAL单元类型存在时,gdr_or_irap_pic_flag应为0。这些技术的示例实施方式如下所示,是有关VVC草案8的修改:
gdr_or_irap_pic_flag等于1说明当前图片是GDR或IRAP图片。gdr_or_irap_pic_flag等于0说明当前图片可能是GDR或IRAP图片,也可能不是。<ADD>当mixed_nalu_types_in_pic_flag等于1时,gdr_irap_pic_flag应等于0。</ADD>
根据以上介绍的技术,视频编码器200可以被配置为确定参考图片列表信息被包括在PH语法结构中,并生成第一语法元素,诸如上述的rpl_info_in_ph_flag,以指示参考图片列表信息被包括在PH语法结构中。视频编码器200可以生成第二语法元素,诸如上述的ph_collocated_from_l0_flag,以包括在PH语法结构中,其中第二语法元素的第一值(例如,0)指示用于时域运动矢量预测的共位图片将从第一参考图片列表(例如,l0)导出,以及第二语法元素的第二值(例如,1)指示用于时域运动矢量预测的共位图片将从第二参考图片列表(例如,l1)导出。视频编码器200可以确定指代PH语法结构的视频数据的条带为P条带,且响应于条带为P条带,确定与条带相关联的第三语法元素的值(诸如,slice_collocated_from_l0_flag)等于第三语法元素的第一值,其中第三语法元素的第一值(例如0)指示用于时域运动矢量预测的共位图片将从第一参考图片列表(例如,l0)导出,以及第三语法元素的第二值(例如,1)指示用于时域运动矢量预测的共位图片将从第二参考图片列表(例如,l1)导出。视频编码器200可以输出包括第一语法元素和PH语法结构的编码的视频数据的比特流。
依照这样的技术,视频解码器300可以被配置为接收第一语法元素,诸如上面的rpl_info_in_ph_flag,其指示参考图片列表信息被包括在PH语法结构中,并且作为响应,接收第二语法元素,诸如上面PH语法结构中的ph_collocated_from_l0_flag。对于第二语法元素,第一值(例如,0)可以指示用于时域运动矢量预测的共位图片将从第一参考图片列表(例如,l0)导出,以及第二值(例如,1)可以指示用于时域运动矢量预测的共位图片将从第二参考图片列表(例如,l1)导出。视频解码器300可以接收指代PH语法结构的视频数据的条带,并且响应于条带为P条带,将与该条带相关联的第三语法元素的值,诸如上面的slice_collocated_from_l0_flag,设置为第一值。第三语法元素的第一值(例如,0)可以指示用于时域运动矢量预测的共位图片将从第一参考图片列表(例如,l0)导出,而第三语法元素的第二值(例如,1)将指示用于时域运动矢量预测的共位图片将从第二参考图片列表(例如,l1)导出。
附加地,视频解码器300可以被配置为响应于接收到指示参考图片列表信息被包括在图片头语法结构中的第一语法元素并且响应于条带为P条带,而接收第四语法元素的实例,其中第四语法元素的第一值指示第五语法元素被包括在条带头中,而第四语法元素的第二值指示第五语法元素不被包括在条带头中。响应于第四语法元素的实例等于第四语法元素的第一值,视频解码器300可以接收第五语法元素的实例,并基于用于第五个语法元素的实例的值确定用于条带的有效参考图片的数量。
图3示出了可以执行本公开的技术的示例视频编码器200的框图。提供图3是为了进行说明,而不应认为是对本公开中广泛示例和描述的技术的限制。出于说明的目的,本公开根据VVC(正在开发的ITU-T H.266)和HEVC(ITU-T H.265)的技术来描述视频编码器200。然而,本公开的技术可以由被配置为其他视频编码标准的视频编码设备来执行。
在图3的示例中,视频编码器200包括视频数据存储器230、模式选择单元202、残差生成单元204、变换处理单元206、量化单元208、逆量化单元210、逆变换处理单元212、重构单元214、滤波器单元216、DPB 218和熵编码单元220。可以在一个或多个处理器中或在处理电路中实现视频数据存储器230、模式选择单元202、残差生成单元204、变换处理单元206、量化单元208、逆量化单元210、逆变换处理单元212、重构单元214、滤波器单元216、解码图片缓冲器(DPB)218和熵编码单元220中的任何一个或全部。例如,视频编码器200的单元可以被实现为一个或多个电路或逻辑元件,作为硬件电路的一部分,或者作为处理器、ASIC、FPGA的一部分。此外,视频编码器200可以包括附加的或可替代的处理器或处理电路来执行这些和其他功能。
视频数据存储器230可以存储要由视频编码器200的组件编码的视频数据。视频编码器200可以从例如视频源104(图1)接收存储在视频数据存储器230中的视频数据。DPB218可以充当参考图片存储器,其存储用于在视频编码器200对后续视频数据的预测中使用的参考视频数据。视频数据存储器230和DPB 218可以由各种存储器装置中的任何一种形成,诸如动态随机存取存储器(DRAM),包括同步DRAM(SDRAM)、磁阻RAM(MRAM)、电阻RAM(RRAM)或其他类型的存储器装置。视频数据存储器230和DPB218可以由相同的存储器设备或单独的存储器设备提供。在各种示例中,视频数据存储器230可以与视频编码器200的其他组件在芯片上,如图所示,或者相对于这些组件在芯片外。
在本公开中,对视频数据存储器230的引用不应被解释为限于视频编码器200内部的存储器(除非如此具体描述),或者限于视频编码器200外部的存储器(除非如此具体描述)。相反,对视频数据存储器230的引用应该理解为存储视频编码器200接收用于编码的视频数据(例如,要被编码的当前块的视频数据)的参考存储器。图1的存储器106还可以提供来自视频编码器200的各个单元的输出的临时存储。
图3的各个单元被图示以帮助理解由视频编码器200执行的操作。该单元可以被实现为固定功能电路、可编程电路或其组合。固定功能电路涉及提供特定功能的电路,并被预设为可以执行的操作。可编程电路是指可被编程以执行各种任务并在可执行的操作中提供灵活功能的电路。例如,可编程电路可以运行软件或固件,使得可编程电路以由软件或固件的指令定义的方式操作。固定功能电路可以运行软件指令(例如,接收参数或输出参数),但是固定功能电路执行的操作的类型通常是不可变的。在一些示例中,这些单元中的一个或多个可以是不同的电路块(固定功能的或可编程的),并且在一些示例中,这些单元中的一个或多个可以是集成电路。
视频编码器200可以包括算术逻辑单元(ALU)、基本功能单元(EFU)、数字电路、模拟电路、和/或由可编程电路形成的可编程核心。在使用由可编程电路运行的软件来执行视频编码器200的操作的示例中,存储器106(图1)可以存储视频编码器200接收并运行的软件的指令(例如,目标代码),或者视频编码器200内的另一存储器(未示出)可以存储这样的指令。
视频数据存储器230被配置为存储接收的视频数据。视频编码器200可以从视频数据存储器230检索视频数据的图片,并将视频数据提供到残差生成单元204和模式选择单元202。视频数据存储器230中的视频数据可以是待编码的原始视频数据。
模式选择单元202包括运动估计单元222、运动补偿单元224和帧内预测单元226。模式选择单元202可以包括附加的功能单元,以根据其他预测模式来执行视频预测。作为示例,模式选择单元202可以包括调色板(palette)单元、块内复制单元(其可以是运动估计单元222和/或运动补偿单元224的一部分)、仿射单元、线性模型(LM)单元等。
模式选择单元202通常协调多个编码遍历(pass),以测试编码参数的组合以及这种组合的结果(resulting)率失真值。编码参数可以包括将CTU分区为CU、用于CU的预测模式、用于CU的残差数据的变换类型、用于CU的残差数据的量化参数等。模式选择单元202可以最终选择具有比其他测试组合更好的率失真值的编码参数组合。
视频编码器200可以将从视频数据存储器230中检索到的图片分区为一系列CTU,并将一个或多个CTU封装在条带内。模式选择单元202可以根据树结构(诸如上述HEVC的QTBT结构或四叉树结构),来分区图片的CTU。如上所述,视频编码器200可以通过根据树结构分区CTU来形成一个或多个CU。这样的CU通常也可以被称为“视频块”或“块”。
通常,模式选择单元202还控制其组件(例如,运动估计单元222、运动补偿单元224和帧内预测单元226),以生成当前块(例如,当前CU,或者在HEVC中PU和TU的重叠部分)的预测块。对于当前块的帧间预测,运动估计单元222可以执行运动搜索以标识一个或多个参考图片(例如,在DPB 218中存储的一个或多个先前译码的图片)中的一个或多个紧密匹配的参考块。具体地,运动估计单元222可以计算表示可能参考块与当前块如何相似的值,例如根据绝对差和(SAD)、平方差和(SSD)、平均绝对差(MAD)、均方差(MSD)等。运动估计单元222通常可以使用当前块和所考虑的参考块之间的逐样本差来执行这些计算。运动估计单元222可以标识具有由这些计算产生的最低值的参考块,该最低值指示最紧密匹配当前块的参考块。
运动估计单元222可以形成一个或多个运动矢量(MV),该运动矢量定义参考图片中的参考块的位置相对于当前图片中的当前块的位置。然后运动估计单元222可以向运动补偿单元224提供运动矢量。例如,对于单向帧间预测,运动估计单元222可以提供单个运动矢量,而对于双向帧间预测,运动估计单元222可以提供两个运动矢量。然后运动补偿单元224可以使用运动矢量来生成预测块。例如,运动补偿单元224可以使用运动矢量来检索参考块的数据。作为另一示例,如果运动矢量具有分数采样精度,则运动补偿单元224可以根据一个或多个插值滤波器对预测块的值进行插值。此外,对于双向帧间预测,运动补偿单元224可以检索由相应运动矢量标识的两个参考块的数据,并通过例如逐样本平均或加权平均来组合检索的数据。
作为另一示例,对于帧内预测、或帧内预测译码,帧内预测单元226可以从与当前块相邻的样本生成预测块。例如,对于方向模式,帧内预测单元226通常可以数学地组合相邻样本的值,并在当前块上沿定义的方向填充这些计算值,以产生预测块。作为另一示例,对于DC模式,帧内预测单元226可以计算当前块的相邻样本的平均值,并且生成预测块以包括预测块的每个样本的所产生的平均值。
模式选择单元202将预测块提供到残差生成单元204。残差生成单元204从视频数据存储器230接收当前块的原始未编码版本,并从模式选择单元202接收预测块。残差生成单元204计算当前块和预测块之间的逐样本差。所得的逐样本差定义了当前块的残差块。在一些示例中,残差生成单元204还可以确定残差块中的样本值之间的差,以使用残差差分脉冲译码调制(RDPCM)来生成残差块。在一些示例中,可以使用执行二进制减法的一个或多个减法器电路来形成残差生成单元204。
在模式选择单元202将CU分区为PU的示例中,每个PU可以与亮度预测单元和对应的色度预测单元相关联。视频编码器200和视频解码器300可以支持具有各种大小的PU。如上所述,CU的大小可以指CU的亮度译码块的大小,并且PU的大小可以指PU的亮度预测单元的大小。假设特定CU的大小为2Nx2N,视频编码器200可支持用于帧内预测的2Nx2N或NxN的PU大小,以及用于帧间预测的2Nx2N、2NxN、Nx2N、NxN或类似的对称PU大小。视频编码器200和视频解码器300还可以支持用于帧间预测的2NxnU、2NxnD、nLx2N和nRx2N的PU大小的非对称分区。
在模式选择单元202未进一步将CU分区为PU的示例中,每个CU可以与亮度译码块和对应的色度译码块相关联。如上所述,CU的大小可以指CU的亮度译码块的大小。视频编码器200和视频解码器300可以支持2Nx2N、2NxN或Nx2N的CU大小。
对于其他视频译码技术,诸如块内复制模式译码、仿射模式译码和线性模型(LM)模式译码(作为少数示例),模式选择单元202经由与译码技术相关联的相应单元,针对正在编码的当前块生成预测块。在一些示例中,诸如调色板模式译码,模式选择单元202可以不生成预测块,而是生成指示基于所选调色板来重构块的方式的语法元素。在这种模式下,模式选择单元202可以将这些语法元素提供到熵编码单元220以进行编码。
如上所述,残差生成单元204接收当前块和对应预测块的视频数据。然后残差生成单元204针对当前块生成残差块。为了生成残差块,残差生成单元204计算预测块和当前块之间的逐样本差。
变换处理单元206对残差块应用一个或多个变换,以生成变换系数的块(本文称为“变换系数块”)。变换处理单元206可以对残差块应用各种变换,以形成变换系数块。例如,变换处理单元206可以对残差块应用离散余弦变换(DCT)、方向变换、卡尔亨-洛夫变换(KLT)、或概念上类似的变换。在一些示例中,变换处理单元206可以对残差块执行多个变换,例如主变换和次变换,诸如旋转变换。在一些示例中,变换处理单元206不对残差块应用变换。
量化单元208可以量化变换系数块中的变换系数,以产生量化的变换系数块。量化单元208可以根据与当前块相关联的量化参数(QP)值来量化变换系数块的变换系数。视频编码器200(例如,经由模式选择单元202)可以通过调整与CU相关联的QP值来调整应用于与当前块相关联的变换系数块的量化的程度。量化可能引入信息损失,因此,量化的变换系数可能比由变换处理单元206产生的原始变换系数具有更低的精度。
逆量化单元210和逆变换处理单元212可以分别对量化的变换系数块应用逆量化和逆变换,以从变换系数块重构残差块。重构单元214可以基于重构的残差块和由模式选择单元202生成的预测块来产生对应于当前块的重构块(尽管可能具有一定程度的失真)。例如,重构单元214可以将重构的残差块的样本添加到来自模式选择单元202生成的预测块的对应样本中,以产生重构块。
滤波器单元216可以对重构块执行一个或多个滤波操作。例如,滤波器单元216可以执行去块操作以减少沿CU边缘的块效应伪像。在一些示例中,可以跳过滤波器单元216的操作。
视频编码器200在DPB 218中存储重构块。例如,在不执行滤波器单元216的操作的示例中,重构单元214可以将重构块存储到DPB 218。在执行滤波器单元216的操作的示例中,滤波器单元216可以将经滤波的重构块存储到DPB 218。运动估计单元222和运动补偿单元224可以从DPB 218中检索参考图片,该参考图片由重构的(并且可能经滤波的)块形成,以对随后编码的图片的块进行帧间预测。此外,帧内预测单元226可以使用当前图片的DPB218中的重构块来对当前图片中的其他块进行帧内预测。
通常,熵编码单元220可以对从视频编码器200的其他功能组件接收的语法元素进行熵编码。例如,熵编码单元220可以对来自量化单元208的量化的变换系数块进行熵编码。作为另一示例,熵编码单元220可以对来自模式选择单元202的预测语法元素(例如,用于帧间预测的运动信息或用于帧内预测的帧内模式信息)进行熵编码。熵编码单元220可以对作为视频数据的另一示例的语法元素执行一个或多个熵编码操作,以生成熵编码的数据。例如,熵编码单元220可以对数据执行上下文自适应可变长度译码(CAVLC)操作、CABAC操作、变长-变长(V2V)译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率区间分区熵(PIPE)译码操作、指数-哥伦布(Exponential-Golomb)编码操作、或另一种类型的熵编码操作。在一些示例中,熵编码单元220可以在语法元素未被熵编码的旁路模式下操作。
视频编码器200可以输出包括重构条带或图片的块所需的经熵编码的语法元素的比特流。具体地,熵编码单元220可以输出比特流。
以上描述的操作是针对块进行描述的。这种描述应该理解为用于亮度译码块和/或色度译码块的操作。如上所述,在一些示例中,亮度译码块和色度译码块是CU的亮度和色度分量。在一些示例中,亮度译码块和色度译码块是PU的亮度和色度分量。
在一些示例中,不需要对色度译码块重复针对亮度译码块执行的操作。作为一个示例,不需要为了标识色度块的MV和参考图片而重复标识亮度译码块的运动矢量(MV)和参考图片的操作。相反,亮度译码块的MV可以被缩放以确定色度块的MV,并且参考图片可以是相同的。作为另一示例,帧内预测处理对于亮度译码块和色度译码块可以是相同的。
视频编码器200表示被配置为编码的视频数据的设备的示例,该设备包括被配置为存储视频数据的存储器,以及在电路中实现并被配置为执行本公开的技术(包括在下面的权利要求部分中的技术)的一个或多个处理单元。
图4示出了可以执行本公开的技术的示例视频解码器300的框图。图4是出于说明的目的而提供的,并不限制本公开中广泛示例和描述的技术。出于说明的目的,本公开根据VVC(正在开发的ITU-T H.266)和HEVC(ITU-T H.265)的技术来描述视频解码器300。然而,本公开的技术可以由被配置为其他视频译码码标准的视频译码装置来执行。
在图4的示例中,视频解码器300包括译码图片缓冲器(CPB)存储器320、熵解码单元302、预测处理单元304、逆量化单元306、逆变换处理单元308、重构单元310、滤波器单元312和解码图片缓冲器(DPB)314。可以在一个或多个处理器中或在处理电路中实现CPB存储器320、熵解码单元302、预测处理单元304、逆量化单元306、逆变换处理单元308、重构单元310、滤波器单元312和DPB 314中的任何一个或全部。例如,视频解码器300的单元可以被实现为一个或多个电路或逻辑元件,作为硬件电路的一部分,或者作为处理器、ASIC、FPGA的一部分。此外,视频解码器300可以包括附加的或可替代的处理器或处理电路来执行这些和其他功能。
预测处理单元304包括运动补偿单元316和帧内预测单元318。预测处理单元304可以包括附加单元,以根据其他预测模式执行预测。作为示例,预测处理单元304可以包括调色板单元、块内复制单元(其可以形成运动补偿单元316的一部分)、仿射单元、线性模型(LM)单元等。在其他示例中,视频解码器300可以包括更多、更少或不同的功能组件。
CPB存储器320可以存储要由视频解码器300的组件解码的视频数据,诸如编码的视频比特流。在CPB存储器320中存储的视频数据可以例如从计算机可读介质110(图1)获得。CPB存储器320可以包括存储来自编码的视频比特流的编码的视频数据(例如,语法元素)的CPB。此外,CPB存储器320可以存储除译码的图片的语法元素外的视频数据,诸如表示来自视频解码器300的各个单元的输出的临时数据。DPB 314通常存储解码的图片,视频解码器300可以在解码编码的视频比特流的后续数据或图片时输出该解码的图片和/或将其用作参考视频数据。CPB存储器320和DPB 314可以由多种存储器装置中的任何一种形成,诸如DRAM,包括SDRAM、MRAM、RRAM或其他类型的存储器装置。CPB存储器320和DPB 314可以由相同的存储器设备或单独的存储器设备提供。在各种示例中,CPB存储器320可以与视频解码器300的其他组件在芯片上,或者相对于这些组件在芯片外。
附加地或可替代地,在一些示例中,视频解码器300可以从存储器120(图1)检索译码的视频数据。也就是说,存储器120可以如上所述利用CPB存储器320存储数据。同样,在以要由视频解码器300的处理电路运行的软件实现视频解码器300的功能中的一些或全部时,存储器120可以存储要由视频解码器300运行的指令。
图4中所示的各种单元被图示以帮助理解视频解码器300执行的操作。该单元可以被实现为固定功能电路、可编程电路或其组合。类似于图3,固定功能电路是指提供特定功能的电路,并被预设为可以执行的操作。可编程电路是指可被编程以执行各种任务并在可执行的操作中提供灵活功能的电路。例如,可编程电路可以运行软件或固件,使得可编程电路以由软件或固件的指令定义的方式操作。固定功能电路可以运行软件指令(例如,接收参数或输出参数),但是固定功能电路执行的操作的类型通常是不可变的。在一些示例中,这些单元中的一个或多个可以是不同的电路块(固定功能的或可编程的),并且在一些示例中,这些单元中的一个或多个可以是集成电路。
视频解码器300可以包括ALU、EFU、数字电路、模拟电路、和/或由可编程电路形成的可编程核心。在由在可编程电路上运行的软件来执行视频解码器300的操作的示例中,片上或片外存储器可以存储视频解码器300接收和运行的软件的指令(例如,目标代码)。
熵解码单元302可以从CPB接收编码的视频数据,并对视频数据进行熵解码以再现语法元素。预测处理单元304、逆量化单元306、逆变换处理单元308、重构单元310和滤波器单元312可以基于从比特流提取的语法元素来生成解码的视频数据。
通常,视频解码器300在逐块的基础上重构图片。视频解码器300可以对每个块单独执行重构操作(其中当前正在重构(即解码)的块可以被称为“当前块”)。
熵解码单元302可以对定义量化的变换系数块的量化的变换系数的语法元素、以及变换信息(诸如量化参数(QP)和/或(一个或多个)变换模式指示)进行熵解码。逆量化单元306可以使用与量化的变换系数块相关联的QP来确定量化的程度,并且类似地,确定逆量化单元306要应用的逆量化的程度。逆量化单元306可以例如执行逐位左移位操作来对量化的变换系数进行逆量化。逆量化单元306可以由此形成包括变换系数的变换系数块。
在逆量化单元306形成变换系数块之后,逆变换处理单元308可以对变换系数块应用一个或多个逆变换,以生成与当前块相关联的残差块。例如,逆变换处理单元308可以对变换系数块应用逆DCT、逆整数变换、逆卡尔亨-洛夫变换(KLT)、逆旋转变换、逆方向变换、或另一逆变换。
此外,预测处理单元304根据由熵解码单元302熵解码的预测信息语法元素生成预测块。例如,如果预测信息语法元素指示当前块是帧间预测的,则运动补偿单元316可以生成预测块。在这种情况下,预测信息语法元素可以指示从中检索参考块的DPB 314中的参考图片,以及标识参考图片中的参考块的位置相对于当前图片中的当前块的位置的运动矢量。运动补偿单元316通常可以以与针对运动补偿单元224(图3)描述的大体相似的方式来执行帧间预测处理。
作为另一示例,如果预测信息语法元素指示当前块是帧内预测的,则帧内预测单元318可以根据由预测信息语法元素指示的帧内预测模式来生成预测块。同样,帧内预测单元318通常可以以与关于帧内预测单元226(图3)所描述的大体类似的方式来执行帧内预测处理。帧内预测单元318可以从DPB 314检索当前块的相邻样本的数据。
重构单元310可以使用预测块和残差块来重构当前块。例如,重构单元310可以将残差块的样本添加到预测块的对应样本以重构当前块。
滤波器单元312可以对重构块执行一个或多个滤波操作。例如,滤波器单元312可以执行去块操作以减少沿着重构块的边缘的块效应伪像。滤波器单元312的操作不一定在所有示例中执行。
视频解码器300可以将重构块存储在DPB 314中。例如,在不执行滤波器单元312的操作的示例中,重构单元310可以将重构块存储到DPB 314。在执行滤波器单元312的操作的示例中,滤波器单元312可以将经滤波的重构块存储到DPB 314。如上所述,DPB 314可以向预测处理单元304提供参考信息,诸如用于帧内预测的当前图片的样本和用于后续运动补偿的先前解码的图片。此外,视频解码器300可以从DPB 314输出解码的图片(例如,解码的视频),用于在显示设备(诸如图1的显示设备118)上随后呈现。
以这种方式,视频解码器300表示视频解码装置的示例,该视频解码设备包括被配置为存储视频数据的存储器,以及在电路中实现并被配置为执行本公开的技术(包括以下权利要求部分的技术)的一个或多个处理单元。
图5示出了用于对当前块进行编码的示例方法的流程图。当前块可以包括当前CU。尽管对视频编码器200(图1和3)进行了描述,但是应当理解,可以将其他设备配置为执行与图5类似的方法。
在本示例中,视频编码器200最初预测当前块(350)。例如,视频编码器200可以形成当前块的预测块。然后视频编码器200可以计算当前块的残差块(352)。为了计算残差块,视频编码器200可以计算原始未编码块与当前块的预测块之间的差。然后视频编码器200可以变换残差块并量化残差块的变换系数(354)。接下来,视频编码器200可以扫描残差块的量化的变换系数(356)。在扫描期间,或在扫描之后,视频编码器200可以对变换系数进行熵编码(358)。例如,视频编码器200可以使用CAVLC或CABAC对变换系数进行编码。然后视频编码器200可以输出块的熵编码的数据(360)。
图6是示出用于解码视频数据的当前块的示例方法的流程图。当前块可以包括当前CU。尽管对视频解码器300(图1和4)进行了描述,但是应当理解,可以将其他设备配置为执行与图6类似的方法。
视频解码器300可以接收当前块(370)的熵编码的数据,诸如用于对应于当前块的残差块的转换系数的熵编码的预测信息和熵编码的数据。视频解码器300可以对熵编码的数据进行熵解码,以确定当前块的预测信息,并再现残差块的转换系数(372)。视频解码器300可预测当前块(374),例如,使用由当前块的预测信息指示的帧内或帧间预测模式,来计算当前块的预测块。然后视频解码器300可以逆扫描再现的转换系数(376),以创建量化的变换系数的块。然后视频解码器300可以对变换系数进行逆量化和逆变换,以产生残差块(378)。视频解码器300可通过组合预测块和残差块来最终解码当前块(380)。
图7示出了用于对当前块进行编码的示例方法的流程图。当前块可以包括当前CU。尽管对视频编码器200(图1和3)进行了描述,但是应当理解,可以将其他设备配置为执行与图7类似的方法。
在图7的示例中,响应于确定参考图片列表信息被包括在PH语法结构中,视频编码器200生成第一语法元素,诸如上面的rpl_info_in_ph_flag,指示参考图片列表信息被包括在PH语法结构中(400)。
视频编码器200生成包括在PH语法结构中的第二语法元素,诸如ph_collocated_from_l0_flag,该第二语法元素被设置为一个值以指示用于时域运动矢量预测的共位图片将从两个参考图片列表中的第二参考图片列表(例如,l1)中导出(402)。视频编码器200确定指代PH语法结构的视频数据条带为P条带(404)。响应于该条带为P条带,视频编码器200确定与该条带相关联的第三语法元素的值,诸如slice_collocated_from_l0_flag,等于指示用于时域运动矢量预测的共位图片将从两个参考图片列表的第一参考图片列表(例如,l0)导出的值(406)。视频编码器200输出包括第一语法元素和PH语法结构的编码的视频数据的比特流(408)。
图8是示出用于解码视频数据的当前块的示例方法的流程图。当前块可以包括当前CU。尽管对视频解码器300(图1和4)进行了描述,但是应当理解,可以将其他设备配置为执行与图8类似的方法。
在图8的示例中,响应于接收到第一语法元素,诸如rpl_info_in_ph_flag,指示参考图片列表信息被包括在PH语法结构中,视频解码器300接收第二语法元素,诸如PH语法结构中的ph_collocated_from_l0_flag(410)。视频解码器300基于第二语法元素的值确定用于时域运动矢量预测的共位图片将从第二参考图片列表(例如,l1)导出(412)。视频解码器300接收指代PH语法结构的视频数据的条带(414)。响应于该条带为P条带,视频解码器300设定与该条带相关联的第三语法元素的值,诸如slice_collocated_from_l0_flag,等于指示用于时域运动矢量预测的共位图片将从第二参考图片列表导出的值(416)。
视频解码器300可以基于第三语法元素的值来解码视频数据的条带。例如,对于该条带的块,视频解码器300可以确定时域运动矢量候选以被包括在运动矢量候选列表中。为了确定要包括在运动矢量候选列表中的时域运动矢量候选,视频解码器300可以从第一参考图片列表中标识用于时域运动矢量预测的共位图片;在共位图片中标识共位块;并基于用于解码共位块的运动矢量来导出时域运动矢量候选。
视频解码器300可输出包括条带的解码版本的解码视频数据。例如,视频解码器300可以输出包括解码的条带的解码图片以供显示或存储。
以下各条(clause)代表了上述技术和装置的示例性实施方式。
第1条:一种对视频数据进行解码的方法,该方法包括:接收第一语法元素;响应于指示参考图片列表信息被包含在图片头语法结构中的第一语法元素,在图片头语法结构中接收第二语法元素,其中用于第二语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表中导出,以及用于第二语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表中导出;接收指代图片头语法结构的视频数据条带;以及响应于该条带为P条带,将与该条带相关联的用于第三语法元素的值设定为用于第三语法元素的第一值,其中,用于该第三语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表中导出,并且用于第三语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表中导出。
第2条:根据第1条所述的方法,其中,用于第二语法元素的值等于用于第二语法元素的第二值。
第3条:根据第1条或第2条所述的方法,其中将与该条带相关联的用于第三语法元素的值设定为第二值包括:将用于第二标志的值推断为第二值。
第4条:根据第1-3条中的任一项所述的方法,其中将与该条带相关联的用于第三语法元素的值设定为第二值包括:在不接收该条带的条带头中的第三语法的实例的情况下,将用于第三语法元素的值设定为第二值。
第5条:根据第1-4条中的任一项所述的方法,还包括:针对该条带的块,确定用于包括在运动矢量候选列表中的时域运动矢量候选,其中确定时域运动矢量候选包括:从第一参考图片列表中标识用作时域运动矢量预测的共位图片;在共位图片中标识共位块;并基于用作解码共位块的运动矢量来导出时域运动矢量候选。
第6条:根据第1-5条中的任一项所述的方法,还包括:响应于接收到指示参考图片列表信息被包括在图片头语法结构中的第一语法元素,并且响应于该条带为P条带,接收第四语法元素的实例,其中用于第四语法元素的第一值指示第五语法元素被包括在该条带头中,并且用于第四语法元素的第二值指示第五语法元素不被包括在该条带头中;响应于第四语法元素的实例等于用于第四语法元素的第一值,接收第五语法元素的实例;以及基于用于该第五语法元素的实例的值,确定该条带的有效参考图片的数量。
第7条:根据第6条所述的方法,其中该条带是第一条带,第四语法元素的实例是第四语法元素的第一实例,第五语法元素的实例是第五语法元素的第一实例,该方法还包括:接收指代该图片头语法结构的视频数据的第二条带;以及响应于接收到指示参考图片列表信息被包括在图片头语法结构中的第一语法元素,并且响应于第二条带为I条带,在没有第四语法元素的第二实例的情况下接收针对第二条带的条带头。
第8条:一种对视频数据进行解码的设备,包含:存储器,该存储器被配置为存储视频数据;以及一个或多个处理器,该一个或多个处理器在电路中实施并且被配置为:接收第一语法元素;响应于指示参考图片列表信息被包含在图片头语法结构中的第一语法元素,在图片头语法结构中接收第二语法元素,其中用于第二语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表中导出,以及用于第二语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表中导出;接收指代图片头语法结构的视频数据条带;以及响应于该条带为P条带,将与该条带相关联的用于第三语法元素的值设定为用于第三语法元素的第一值,其中,用于该第三语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表中导出,并且用于第三语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表中导出。
第9条:根据第8条所述的设备,其中,用于该第二语法元素的值等于用于第二语法元素的第二值。
第10条:根据第8条或第9条所述的设备,其中为将与该条带相关联的用于第三语法元素的值设定为第二值,一个或多个处理器还被配置为将用于第三语法元素的值推断为第二值。
第11条:根据第8-10条中的任一项所述的设备,其中将与该条带相关联的用于第三语法元素的值设定为第二值包括:一个或多个处理器还被配置为在不接收该条带的条带头中的第三语法的实例的情况下,将用于第三语法元素的值设定为第二值。
第12条:根据第8-11条中的任一项所述的设备,其中,一个或多个处理器还被配置为:针对该条带的块,确定用于包括在运动矢量候选列表中的时域运动矢量候选,其中为确定时域运动矢量候选,一个或多个处理器还被配置为:从第一参考图片列表中标识用作时域运动矢量预测的共位图片;在共位图片中标识共位块;并基于用作解码共位块的运动矢量来导出时域运动矢量候选。
第13条:根据第8-12条中的任一项所述的设备,其中,一个或多个处理器还被配置为:响应于接收到指示参考图片列表信息被包括在图片头语法结构中的第一语法元素,并且响应于该条带为P条带,接收第四语法元素的实例,其中用于第四语法元素的第一值指示第五语法元素被包括在该条带头中,并且用于第四语法元素的第二值指示第五语法元素不被包括在该条带头中;响应于第四语法元素的实例等于用于第四语法元素的第一值,接收第五语法元素的实例;以及基于用于该第五语法元素的实例的值,确定该条带的有效参考图片的数量。
第14条:根据第13条所述的设备,其中条带是第一条带,第四语法元素的实例是第四语法元素的第一实例,第五语法元素的实例是第五语法元素的第一实例,其中一个或多个处理器还被配置为:接收指代图片头语法结构的视频数据的第二条带;响应于接收到指示参考图片列表信息被包括在图片头语法结构中的第一语法元素,并且响应于第二条带为I条带,在没有第四语法元素的第二实例的情况下接收用于第二条带的条带头。
第15条:根据第8-14条中任一项的设备,其中,该装置包括无线通信装置,还包括被配置为接收编码的视频数据的接收器。
第16条:根据第15条所述的设备,其中,该无线通信装置包括电话手持机,并且其中,所述接收器被配置为根据无线通信标准对包括所述编码的视频数据的信号进行解调。
第17条:根据第8-16条中任一项所述的设备,还包括配置为显示解码视频数据的显示器。
第18条:根据第8-17条中任一项的设备,其中,该装置包括摄像机、计算机、移动设备、广播接收器装置或机顶盒中的一个或多个。
第19条:一种对视频数据进行编码的方法,包括:响应于确定参考图片列表信息被包含在图片头语法结构中,生成指示该参考图片列表信息被包含在图片头语法结构中的第一语法元素;生成用于包含在图片头语法结构中的第二语法元素,其中用于第二语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表中导出,以及用于第二语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表中导出;确定指代图片头语法结构的视频数据条带为P条带;响应于该条带为P条带,确定与该条带相关联的用于第三语法元素的值等于用于第三语法元素的第一值,其中,用于该第三语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表中导出,并且用于第三语法元素的第二值指示用于时域运动矢量预测的共位图片将从第二参考图片列表中导出;以及输出编码的视频数据的比特流,其中该编码的视频数据包含第一语法元素和图片头语法结构。
第20条:根据第19条所述的方法,其中,用于第二语法元素的值等于用于第二语法元素的第二值。
第21条:根据第19或20条所述的方法,还包括:生成用于包括在编码的视频数据的比特流中的用于条带的条带头,而在条带头中不包括第三语法元素的实例。
第22条:根据第19-21条中的任一项所述的方法,还包括:针对该条带的块,确定用于包括在运动矢量候选列表中的时域运动矢量候选,其中确定时域运动矢量候选包括:从第一参考图片列表中标识用作时域运动矢量预测的共位图片;在共位图片中标识共位块;并基于用作解码共位块的运动矢量来导出时域运动矢量候选。
第23条:根据第19-22条中的任一项所述的方法,还包括:响应于确定参考图片列表信息被包括在图片头语法结构中,并且响应于确定该条带为P条带,生成第四语法元素的实例,其中用于第四语法元素的第一值指示第五语法元素被包括在条带头中,并且用于第四语法元素的第二值指示第五语法元素不被包括在条带头中;确定用于条带的有效参考图片的数量;以及响应于第四语法元素的实例等于用于第四语法元素的第一值,生成用于包括在编码的视频数据的比特流中的第五语法元素的实例,其中用于第五语法元素的实例的值指示用于条带的有效参考图片的数量。
第24条:根据第23条所述的方法,其中该条带是第一条带,第四语法元素的实例是第四语法元素的第一实例,第五语法元素的实例是第五语法元素的第一实例,该方法还包括:针对指代该图片头语法结构的视频数据的第二条带,响应于确定参考图片列表信息被包括在图片头语法结构,并且响应于第二条带为I条带,在没有第四语法元素的第二实例的情况下生成用于包括在编码的视频数据的比特流中的条带头。
第25条:一种对视频数据进行编码的设备,包括:存储器,该存储器被配置为存储视频数据;以及一个或多个处理器,该一个或多个处理器在电路中实施并且被配置为:响应于确定参考图片列表信息被包含在图片头语法结构中,生成指示该参考图片列表信息被包含在图片头语法结构中的第一语法元素;生成用于包含在图片头语法结构中的第二语法元素,其中用于第二语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表中导出,以及用于第二语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表中导出;确定指代图片头语法结构的视频数据条带为P条带;响应于该条带为P条带,确定与该条带相关联的用于第三语法元素的值等于用于第三语法元素的第一值,其中,用于该第三语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表中导出,并且用于第三语法元素的第二值指示用于时域运动矢量预测的共位图片将从第二参考图片列表中导出;以及输出编码的视频数据的比特流,其中该编码的视频数据包含第一语法元素和图片头语法结构。
第26条:根据第25条所述的设备,其中,用于该第二语法元素的值等于用于该第二语法元素的第二值。
第27条:根据第25或26条所述的设备,还包括:生成用于包括在编码的视频数据的比特流中的用于条带的条带头,在条带头中不包括第三语法元素的实例。
第28条:根据第25-27条中的任一项所述的设备,还包括:针对该条带的块,确定用于包括在运动矢量候选列表中的时域运动矢量候选,其中确定时域运动矢量候选包括:从第一参考图片列表中标识用作时域运动矢量预测的共位图片;在共位图片中标识共位块;并基于用作解码共位块的运动矢量来导出时域运动矢量候选。
第29条:根据第25-28条所述的设备,还包括:响应于确定参考图片列表信息被包括在图片头语法结构中,并且响应于确定该条带为P条带,生成第四语法元素的实例,其中用于第四语法元素的第一值指示第五语法元素被包括在条带头中,并且用于第四语法元素的第二值指示第五语法元素不被包括在条带头中;确定用于条带的有效参考图片的数量;以及响应于用于第四语法元素的实例等于用于第四语法元素的第一值,生成用于包括在编码的视频数据的比特流中的第五语法元素的实例,其中用于第五语法元素的实例的值指示用于条带的有效参考图片的数量。
第30条:根据第29条所述的设备,其中该条带是第一条带,第四语法元素的实例是第四语法元素的第一实例,第五语法元素的实例是第五语法元素的第一实例,该方法还包括:针对指代该图片头语法结构的视频数据的第二条带,响应于确定参考图片列表信息被包括在图片头语法结构,并且响应于第二条带为I条带,在没有第四语法元素的第二实例的情况下生成用于包括在编码的视频数据的比特流中的条带头。
第31条:根据第25-30条中任一项的设备,其中,该设备包括无线通信设备,还包括被配置为传输编码的视频数据的发送器。
第32条:根据第31条所述的设备,其中,该无线通信设备包括电话手持机,并且其中,该发送器被配置为根据无线通信标准对包括编码视频数据的信号进行调制。
第33条:根据第25-32条中任一项所述的设备,还包括配置为捕获视频数据的摄像机。
第34条:根据第25-33条中任一项的设备,其中,该设备包括摄像机、计算机或移动设备中的一个或多个。
第35条:一种对视频数据进行解码的方法,该方法包括:接收第一标志;接收第二个标志;基于第一和第二标志确定在视频数据的语法结构中是否信令通知参考图片列表。
第36条:根据第35条所述的方法,其中,该第一标志指示是否允许帧间条带用于图片。
第37条:根据第35或36条所述的方法,其中第二标志指示参考图像列表语法元素是否存在于即时解码器刷新图片的条带头中。
第38条:根据第35-37条的任何组合所述的方法,其中基于第一和第二标志确定是否在视频数据的数据结构中信令通知参考图片列表包括:响应于第一标志或第二标志中的至少一个为真,确定在视频数据的数据结构中信令通知参考图片列表。
第39条:根据第35-37条的任何组合所述的方法,还包括:接收第三标志,该第三标志指示在图片头语法结构或条带头中是否存在参考图片列表信息。
第40条:根据第39条所述的方法,其中基于第一和第二标志确定是否在视频数据的数据结构中信令通知参考图片列表包括:响应于(1)第一标志或第二标志中的至少一个为真以及(2)第三标志为真,确定在视频数据的数据结构中信令通知参考图片列表。
第41条:根据第35-40条的任何组合所述的方法,其中语法结构包括图片头语法结构。
第42条:一种对视频数据进行译码的方法,该方法包括:接收第一标志;接收第二标志;基于第一和第二标志确定在视频数据的语法结构中是否信令通知加权预测表。
第43条:根据第42条所述的方法,其中,该第一标志指示是否允许帧间条带用于图片。
第44条:根据第42或43条所述的方法,其中第二标志指示参考图像列表语法元素是否存在于即时解码器刷新图片的条带头中。
第45条:根据第42-44条的任何组合所述的方法,其中基于第一和第二标志确定是否在视频数据的数据结构中信令通知加权预测表包括:响应于第一标志或第二标志中的至少一个为真,确定在视频数据的数据结构中信令通知加权预测表。
第46条:根据第42-45条的任何组合所述的方法,还包括:接收指示是否应用加权预测的第三标志。
第47条:根据第46条所述的方法,其中基于第一和第二标志确定是否在视频数据的数据结构中信令通知加权预测表包括:响应于(1)第一标志或第二标志中的至少一个为真以及(2)第三标志为真,确定在视频数据的数据结构中信令通知参考图片列表。
第48条:根据第42-47条的任何组合所述的方法,其中语法结构包括图片头语法结构。
第49条:一种用于对视频数据进行译码的设备,该设备包括一个或多个用于执行第35-48条的任何组合所述方法的部件。
第50条:根据第49条所述的设备,其中,一个或多个部件包含在电路中实现的一个或多个处理器。
第51条:根据第49-50条中任一项所述的设备,还包括用于存储视频数据的存储器。
第52条:根据第49-51条中任一项所述的设备,还包括配置为显示解码视频数据的显示器。
第53条:根据第49-52条中任一项所述的设备,其中,该设备包括摄像机、计算机、移动设备、广播接收器装置或机顶盒中的一个或多个。
第54条:根据第49-53条中任一项所述的设备,其中,该设备包括视频解码器。
第55条:根据第49-54条中任一项所述的设备,其中,该设备包括视频编码器。
第56条:一种其上存储有指令的计算机可读存储介质,该指令在被执行时使一个或多个处理器执行第35-48中任一项所述的方法。
应当认识到,根据示例,本文描述的任何技术的某些动作或事件可以以不同的顺序执行,可以被添加,合并或完全省略(例如,并非所有描述的动作或事件都是技术实践所必需的)。此外,在某些示例中,动作或事件可以例如通过多线程处理、中断处理或多个处理器并发地而不是顺序地执行。
在一个或多个示例中,可以以硬件、软件、固件或其任何组合来实现所描述的功能。如果以软件实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质传输,并由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,其对应于诸如数据存储介质的有形介质,或者通信介质,包括例如根据通信协议来促进将计算机程序从一个地方转移到另一个地方的任何介质。以这种方式,计算机可读介质通常可以对应于(1)非暂时性的有形计算机可读存储介质,或者(2)诸如信号或载波的通信介质。数据存储介质可以是可以由一台或多台计算机或一个或多个处理器存取以检索指令、代码和/或数据结构以实现本公开中描述的技术的任何可用介质。计算机程序产品可以包括计算机可读介质。
作为示例而非限制,这种计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储,磁盘存储或其他磁性存储设备,闪存或任何其他可以用来以指令或数据结构的形式存储所需的程序代码,并且可以由计算机存取。而且,任何连接都适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或无线技术(例如红外,无线电和微波)从网站、服务器或其他远程源发送指令,则介质的定义包括同轴电缆、光纤电缆、双绞线、数字用户线或诸如红外、无线电和微波之类的无线技术。然而,应当理解的是,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他瞬时介质,而是针对非瞬时的有形存储介质。本文使用的磁盘和光盘包括压缩盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式复制数据,而光盘则通过激光光学方式复制数据。上述的组合也应包括在计算机可读介质的范围内。
指令可以由一个或多个处理器执行,例如一个或多个(DSP)、通用微处理器、ASIC、FPGA或其他等效的集成或离散逻辑电路。因此,如本文所使用的术语“处理器”和“处理电路”可以指任何前述结构或适合于实现本文描述的技术的任何其他结构。另外,在一些方面,本文描述的功能可以在被配置用于编码和解码的专用硬件和/或软件模块内提供,或结合在组合编解码器中。同样,该技术可以在一个或多个电路或逻辑元件中完全实现。
本公开的技术可以在包括无线手持机、集成电路(IC)或一组集成电路(例如,芯片组)的多种装置或设备中实现。在本发明中描述各种组件,模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但不一定需要由不同硬件单元来实现。而是,如上所述,各种单元可以组合在编解码器硬件单元中,或者由包括合适的软件和/或固件的互操作硬件单元的集合来提供,该互操作硬件单元包括如上所述的一个或多个处理器。
已经对各种示例进行了描述。这些示例以及其他示例都在所附权利要求的范围内。

Claims (34)

1.一种对视频数据进行解码的方法,所述方法包括:
接收第一语法元素;
响应于指示参考图片列表信息被包含在图片头语法结构中的所述第一语法元素,在所述图片头语法结构中接收第二语法元素,其中用于所述第二语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表导出,以及用于所述第二语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表导出;
接收指代所述图片头语法结构的视频数据条带;以及
响应于所述条带为P条带,将与所述条带相关联的用于第三语法元素的值设定为用于所述第三语法元素的第一值,其中,用于所述第三语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表导出,并且用于所述第三语法元素的第二值指示用作所述时域运动矢量预测的所述共位图片将从所述第二参考图片列表导出。
2.根据权利要求1所述的方法,其中,用于所述第二语法元素的值等于用于所述第二语法元素的第二值。
3.根据权利要求1所述的方法,其中,将与所述条带相关联的用于第三语法元素的值设定为所述第二值包括:将用于第二标志的值推断为所述第二值。
4.根据权利要求1所述的方法,其中将与所述条带相关联的用于第三语法元素的值设定为所述第二值包括:在不接收所述条带的条带头中的所述第三语法的实例的情况下,将用于所述第三语法元素的值设定为所述第二值。
5.根据权利要求1所述的方法,还包括:
对于所述条带的块,确定用于包含在运动矢量候选列表中的时域运动矢量候选,其中,确定所述时域运动矢量候选包括:
从所述第一参考图片列表标识用作所述时域运动矢量预测的所述共位图片;
在所述共位图片中标识共位块;以及
基于用作解码所述共位块的运动矢量来导出所述时域运动矢量候选。
6.根据权利要求1所述的方法,还包括:
响应于接收到指示参考图片列表信息被包含在所述图片头语法结构中的所述第一语法元素并且响应于所述条带为P条带,接收第四语法元素的实例,其中用于所述第四语法元素的第一值指示第五语法元素被包含在所述条带头中,以及用于所述第四语法元素的第二值指示所述第五语法元素不被包含在所述条带头中;
响应于所述第四语法元素的实例等于用于所述第四语法元素的第一值,接收所述第五语法元素的实例;以及
基于用于所述第五语法元素的实例的值,确定用于所述条带的有效参考图片的数量。
7.根据权利要求6所述的方法,其中所述条带是第一条带,所述第四语法元素的实例是所述第四语法元素的第一实例,所述第五语法元素的实例是所述第五语法元素的第一实例,所述方法还包括:
接收指代所述图片头语法结构的所述视频数据的第二条带;以及
响应于接收到指示参考图片列表信息被包含在所述图片头语法结构中的所述第一语法元素,并且响应于所述第二条带为I条带,在没有所述第四语法元素的第二实例的情况下接收用于所述第二条带的条带头。
8.一种用于对视频数据进行解码的设备,所述设备包括:
被配置为存储视频数据的存储器;和
一个或多个处理器,所述一个或多个处理器在电路中实现并配置为:
接收第一语法元素;
响应于指示参考图片列表信息被包含在图片头语法结构中的所述第一语法元素,在所述图片头语法结构中接收第二语法元素,其中用于所述第二语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表导出,以及用于所述第二语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表导出;
接收指代所述图片头语法结构的视频数据条带;以及
响应于所述条带为P条带,将与所述条带相关联的用于第三语法元素的值设定为用于所述第三语法元素的第一值,其中,用于所述第三语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表导出,并且用于所述第三语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表导出。
9.根据权利要求8所述的设备,其中,用于所述第二语法元素的值等于用于所述第二语法元素的第二值。
10.根据权利要求8所述的设备,其中为将与所述条带相关联的用于第三语法元素的值设定为所述第二值,所述一个或多个处理器还被配置为将用于所述第三语法元素的值推断为所述第二值。
11.根据权利要求8所述的设备,其中将与所述条带相关联的用于第三语法元素的值设定为所述第二值包括:所述一个或多个处理器还被配置为在不接收所述条带的条带头中的第三语法的实例的情况下,将用于所述第三语法元素的值设定为所述第二值。
12.根据权利要求8所述的设备,其中,所述一个或多个处理器还被配置为:
对于所述条带的块,确定用于包含在运动矢量候选列表中的时域运动矢量候选,其中,为确定所述时域运动矢量候选,所述一个或多个处理器还被配置为:
从所述第一参考图片列表标识用作所述时域运动矢量预测的所述共位图片;
在所述共位图片中标识共位块;以及
基于用作解码所述共位块的运动矢量来导出所述时域运动矢量候选。
13.根据权利要求8所述的设备,其中,所述一个或多个处理器还被配置为:
响应于接收到指示参考图片列表信息被包含在所述图片头语法结构中的所述第一语法元素并且响应于所述条带为P条带,接收第四语法元素的实例,其中用于所述第四语法元素的第一值指示第五语法元素被包含在所述条带头中,以及用于所述第四语法元素的第二值指示所述第五语法元素不被包含在所述条带头中;
响应于所述第四语法元素的实例等于用于所述第四语法元素的第一值,接收所述第五语法元素的实例;以及
基于用于所述第五语法元素的实例的值,确定用于所述条带的有效参考图片的数量。
14.根据权利要求13所述的设备,其中所述条带是第一条带,所述第四语法元素的实例是所述第四语法元素的第一实例,所述第五语法元素的实例是所述第五语法元素的第一实例,其中所述一个或多个处理器还被配置为:
接收指代所述图片头语法结构的视频数据的第二条带;以及
响应于接收到指示参考图片列表信息被包含在所述图片头语法结构中的第一语法元素,并且响应于第二条带为I条带,在没有所述第四语法元素的第二实例的情况下接收用于所述第二条带的条带头。
15.根据权利要求8所述的设备,其中,所述设备包括无线通信设备,还包括被配置为接收编码的视频数据的接收器。
16.根据权利要求15所述的设备,其中,所述无线通信设备包括电话手持机,并且其中,所述接收器被配置为根据无线通信标准对包括所述编码的视频数据的信号进行解调。
17.根据权利要求8所述的设备,还包括:
被配置为显示解码视频数据的显示器;
18.根据权利要求8所述的设备,其中,所述设备包括摄像机、计算机、移动设备、广播接收器设备或机顶盒中的一个或多个。
19.一种对视频数据进行编码的方法,所述方法包括:
响应于确定参考图片列表信息被包含在图片头语法结构中,生成指示所述参考图片列表信息被包含在所述图片头语法结构中的第一语法元素;
生成用于包含在所述图片头语法结构中的第二语法元素,其中用于所述第二语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表导出,以及用于所述第二语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表导出;
确定指代所述图片头语法结构的视频数据条带为P条带;
响应于所述条带为P条带,确定与所述条带相关联的用于第三语法元素的值等于用于所述第三语法元素的第一值,其中,用于所述第三语法元素的第一值指示用作时域运动矢量预测的所述共位图片将从第一参考图片列表导出,并且用于所述第三语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表导出;以及
输出包含所述第一语法元素和所述图片头语法结构的编码的视频数据的比特流。
20.根据权利要求19所述的方法,其中,用于所述第二语法元素的值等于用于所述第二语法元素的第二值。
21.根据权利要求19所述的方法,还包括:
在所述条带头中不包含所述第三语法元素的实例的情况下,生成用于包含在编码的视频数据的比特流中的用于条带的条带头。
22.根据权利要求19所述的方法,还包括:
对于所述条带的块,确定用于包含在运动矢量候选列表中的时域运动矢量候选,其中,确定所述时域运动矢量候选包括:
从所述第一参考图片列表标识用作所述时域运动矢量预测的所述共位图片;
在所述共位图片中标识共位块;以及
基于用作解码所述共位块的运动矢量来导出所述时域运动矢量候选。
23.根据权利要求19所述的方法,还包括:
响应于确定所述参考图片列表信息被包含在所述图片头语法结构中,并且响应于确定所述条带为P条带,生成第四语法元素的实例,其中用于所述第四语法元素的第一值指示第五语法元素被包含在所述条带头中,以及用于所述第四语法元素的第二值指示所述第五语法元素不被包含在所述条带头中;
确定用于所述条带的有效参考图片的数量;以及
响应于所述第四语法元素的实例等于用于所述第四语法元素的第一值,生成用于包含在编码的视频数据的比特流中的所述第五语法元素的实例,其中,用于所述第五语法元素的实例的值指示用于所述条带的有效参考图片的数量。
24.根据权利要求23所述的方法,其中所述条带是第一条带,所述第四语法元素的实例是所述第四语法元素的第一实例,所述第五语法元素的实例是所述第五语法元素的第一实例,所述方法还包括:
针对指代所述图片头语法结构的视频数据的第二条带,响应于确定参考图片列表信息被包含在所述图片头语法结构,并且响应于所述第二条带为I条带,在没有所述第四语法元素的第二实例的情况下,生成用于包含在编码的视频数据的比特流中的条带头。
25.一种用于对视频数据进行编码的设备,所述设备包括:
被配置为存储视频数据的存储器;和
一个或多个处理器,所述一个或多个处理器在电路中实现并配置为:
响应于确定参考图片列表信息被包含在图片头语法结构中,生成指示所述参考图片列表信息被包含在所述图片头语法结构中的第一语法元素;
生成用于包含在所述图片头语法结构中的第二语法元素,其中用于所述第二语法元素的第一值指示用作时域运动矢量预测的共位图片将从第一参考图片列表导出,以及用于第二语法元素的第二值指示用作时域运动矢量预测的共位图片将从第二参考图片列表导出;
确定指代所述图片头语法结构的视频数据条带为P条带;
响应于所述条带为P条带,确定与所述条带相关联的用于第三语法元素的值等于用于所述第三语法元素的第一值,其中,用于所述第三语法元素的第一值指示用作时域运动矢量预测的共位图片将从所述第一参考图片列表导出,并且用于所述第三语法元素的第二值指示用作时域运动矢量预测的共位图片将从所述第二参考图片列表导出;以及
输出包含所述第一语法元素和所述图片头语法结构的编码的视频数据的比特流。
26.根据权利要求25所述的设备,其中,用于所述第二语法元素的值等于用于所述第二语法元素的第二值。
27.根据权利要求25所述的设备,还包括:
在所述条带头中不包含所述第三语法元素的实例的情况下,生成用于包含在编码的视频数据的比特流中的用于条带的条带头。
28.根据权利要求25所述的设备,还包括:
对于所述条带的块,确定用于包含在运动矢量候选列表中的时域运动矢量候选,其中,确定所述时域运动矢量候选包括:
从所述第一参考图片列表标识用作所述时域运动矢量预测的所述共位图片;
在所述共位图片中标识共位块;以及
基于用作解码所述共位块的运动矢量来导出所述时域运动矢量候选。
29.根据权利要求25所述的设备,还包括:
响应于确定所述参考图片列表信息被包含在所述图片头语法结构中,并且响应于确定所述条带为P条带,生成第四语法元素的实例,其中用于第四语法元素的第一值指示第五语法元素被包含在所述条带头中,以及用于所述第四语法元素的第二值指示所述第五语法元素不被包含在所述条带头中;
确定用于所述条带中的有效参考图片的数量;以及
响应于所述第四语法元素的实例等于用于所述第四语法元素的第一值,生成用于包含在编码的视频数据的比特流中的所述第五语法元素的实例,其中,用于所述第五语法元素的实例的值指示用于所述条带的有效参考图片的数量。
30.根据权利要求29所述的设备,其中所述条带是第一条带,所述第四语法元素的实例是所述第四语法元素的第一实例,所述第五语法元素的实例是所述第五语法元素的第一实例,所述方法还包括:
针对指代所述图片头语法结构的视频数据的第二条带,响应于确定参考图片列表信息被包含在所述图片头语法结构,并且响应于所述第二条带为I条带,在没有所述第四语法元素的第二实例的情况下,生成用于包含在编码的视频数据的比特流中的条带头。
31.根据权利要求25所述的设备,其中,所述设备包括无线通信设备,还包括被配置为发送编码的视频数据的发送器。
32.根据权利要求31所述的设备,其中,所述无线通信设备包括电话手持机,并且其中,所述发送器被配置为根据无线通信标准对包括编码视频数据的信号进行调制。
33.根据权利要求25所述的设备,还包括:
被配置为捕获所述视频数据的摄像机;
34.根据权利要求25所述的设备,其中,所述设备包括摄像机、计算机或移动设备中的一个或多个。
CN202180015196.XA 2020-02-24 2021-02-23 视频编码中的参考图片列表和共位图片信令通知 Pending CN115191117A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202062980695P 2020-02-24 2020-02-24
US62/980,695 2020-02-24
US17/181,876 2021-02-22
US17/181,876 US11496771B2 (en) 2020-02-24 2021-02-22 Reference picture list and collocated picture signaling in video coding
PCT/US2021/019244 WO2021173556A1 (en) 2020-02-24 2021-02-23 Reference picture list and collocated picture signaling in video coding

Publications (1)

Publication Number Publication Date
CN115191117A true CN115191117A (zh) 2022-10-14

Family

ID=77367198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180015196.XA Pending CN115191117A (zh) 2020-02-24 2021-02-23 视频编码中的参考图片列表和共位图片信令通知

Country Status (7)

Country Link
US (1) US11496771B2 (zh)
EP (1) EP4111691A1 (zh)
KR (1) KR20220143835A (zh)
CN (1) CN115191117A (zh)
BR (1) BR112022015963A2 (zh)
TW (1) TW202139715A (zh)
WO (1) WO2021173556A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021534673A (ja) * 2018-08-17 2021-12-09 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ビデオコーディングにおける参照ピクチャ管理
EP4115605A4 (en) * 2020-03-30 2023-11-15 ByteDance Inc. CONSTRAINTS ON COLLOCATED IMAGES IN VIDEO CODING
KR20240074908A (ko) * 2020-03-31 2024-05-28 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 비디오 코딩에서의 신택스 엘리먼트의 시그널링을 위한 방법 및 장치
US11470358B2 (en) * 2020-04-02 2022-10-11 Sharp Kabushiki Kaisha Systems and methods for signaling scaling window information in video coding

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130268621A1 (en) * 2012-04-08 2013-10-10 Broadcom Corporation Transmission of video utilizing static content information from video source
US9549177B2 (en) 2012-04-11 2017-01-17 Google Technology Holdings LLC Evaluation of signaling of collocated reference picture for temporal prediction
US9420286B2 (en) 2012-06-15 2016-08-16 Qualcomm Incorporated Temporal motion vector prediction in HEVC and its extensions
US9628795B2 (en) * 2013-07-17 2017-04-18 Qualcomm Incorporated Block identification using disparity vector in video coding
US20210195179A1 (en) * 2019-12-23 2021-06-24 Qualcomm Incorporated Picture header signaling for video coding
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
EP4111691A1 (en) 2023-01-04
US20210266600A1 (en) 2021-08-26
WO2021173556A1 (en) 2021-09-02
KR20220143835A (ko) 2022-10-25
BR112022015963A2 (pt) 2022-10-11
TW202139715A (zh) 2021-10-16
US11496771B2 (en) 2022-11-08

Similar Documents

Publication Publication Date Title
US11350083B2 (en) Intra block copy merging data syntax for video coding
US10893291B2 (en) Ultimate motion vector expression with adaptive directional information set
JP7504925B2 (ja) ビデオコーディングのための組み合わされたインターおよびイントラ予測モード
CN113940069A (zh) 用于视频译码中的低频不可分离变换的变换和最后有效系数位置信令
CN114009026A (zh) 视频译码中的色度量化参数偏移的块级信令
JP2022533664A (ja) ビデオコーディングのためのマージモードコーディング
CN113508594A (zh) 视频编解码中三角形合并模式索引的信令
KR20220112781A (ko) 비디오 코딩에서 서브픽처들에 대한 참조 서브픽처 스케일링 비율들
US11496771B2 (en) Reference picture list and collocated picture signaling in video coding
US11064192B2 (en) Simplification of spatial-temporal motion vector prediction
CN115004712A (zh) 用于视频译码的经解码图片缓冲器(dpb)参数信令通知
CN114830648A (zh) 用于视频译码的图像报头信令
CN114868387B (zh) 在进行视频译码时对块的色度变换跳过和联合色度译码启用
JP2021527999A (ja) シグナリングサブ予測ユニット動きベクトル予測子
EP4150906A1 (en) Reference picture list constraints and signaling in video coding
CN113892264A (zh) 使用非矩形预测模式来减少用于视频数据预测的运动场存储
KR20220115962A (ko) 비디오 코딩에서 참조 픽처 리샘플링을 위한 랩어라운드 오프셋
US11395014B2 (en) Transform unit design for video coding
JP2022539005A (ja) ビデオコーディングにおける時間動きベクトル予測候補の導出
CN115280775A (zh) 针对具有混合nal单元类型的视频的高级语法
CN115398921A (zh) 确定是否对在切片报头中的视频数据的图片的图片报头数据进行译码
CN114846801A (zh) 基于色度变换跳过的用于色度的lfnst信令
KR20230123943A (ko) 비디오 코딩에서 최고 확률 모드 리스트 구성을 위한 디코더측 인트라 모드 도출
CN114175643B (zh) 调色板和预测模式信令
CN115104306B (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