CN114303374A - 利用可切换滤波器的参考画面重采样 - Google Patents

利用可切换滤波器的参考画面重采样 Download PDF

Info

Publication number
CN114303374A
CN114303374A CN202080061647.9A CN202080061647A CN114303374A CN 114303374 A CN114303374 A CN 114303374A CN 202080061647 A CN202080061647 A CN 202080061647A CN 114303374 A CN114303374 A CN 114303374A
Authority
CN
China
Prior art keywords
current
picture
filter
filter index
video
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
CN202080061647.9A
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 CN114303374A publication Critical patent/CN114303374A/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/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/182Methods 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 pixel
    • 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
    • H04N19/51Motion estimation or motion compensation
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

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

Abstract

描述了用于通过使用利用可切换滤波器的参考画面重采样进行视频编码和解码的技术。一个示例涉及:获得当前画面和参考画面;识别用于当前画面的当前块的滤波器索引信息;以及确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值。基于确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值,使用默认滤波器索引替换由滤波器索引信息标识的当前滤波器索引来执行重采样过程。附加的示例可以在后续块中使用由滤波器索引信息标识的当前滤波器索引。在各种示例中,当前滤波器索引可以是推导的或信令通知的。

Description

利用可切换滤波器的参考画面重采样
技术领域
本申请涉及视频编解码和压缩。更具体地,本申请涉及提供利用可切换滤波器的参考画面重采样的系统和方法。
背景技术
许多设备和系统允许视频数据被处理和输出以供消费。数字视频数据包括大量数据以满足消费者和视频提供者的需求。例如,视频数据的消费者期望最佳质量的、具有高保真度、分辨率、帧速率等的视频。因此,满足这些需求所需要的大量视频数据给处理和存储视频数据的通信网络和设备带来了负担。
可以使用各种视频编解码技术来压缩视频数据。根据一种或多种视频编解码标准来执行视频编解码。例如,视频编解码标准包括高效视频编解码(HEVC)、高级视频编解码(AVC)、运动图像专家组(MPEG)第2部分编解码、VP9、开放媒体联盟(AOMedia)视频1(AV1)、基本视频编解码(EVC)等。视频编解码通常使用预测方法(例如,帧间预测、帧内预测等),预测方法利用视频图像或序列中存在的冗余。视频编解码技术的重要目标是将视频数据压缩成使用较低比特率的形式,同时避免或最小化视频质量的下降。随着不断演进的视频服务变得可用,需要具有更高编解码效率的编码技术。
发明内容
本文中描述了用于提供改进的视频处理技术的系统和方法。视频处理的一些示例使用带有预测的视频压缩技术来有效地编码和解码视频数据。例如,视频编码器可以通过将当前块中的像素值与预测块(例如,尚未被编码或先前已被解码的块)进行比较来对正在被编码的当前块执行预测。预测误差(也称为残差)可以被确定为当前块和预测块之间的差异。当画面中的块使用一个或多个其他画面中的一个或多个块来执行预测(称为帧间预测)时,运动矢量可以被用来指示预测块相对于当前块的位置。视频编码器可以对预测误差应用变换(例如,离散余弦变换(DCT)或其他合适的变换)以生成变换系数。变换后,视频编码器可以对变换系数进行量化。量化的变换系数和运动矢量可以使用语法元素来表示,并且与控制信息一起形成视频序列的编解码表示。在一些情况下,视频编码器可以对语法元素进行熵编解码,这可以进一步减少表示语法元素所需的比特数。
在一些示例中,可以将采样率转换应用于视频数据。采样率转换可以包括重采样、下采样、上采样、插值和/或其他采样率转换技术。例如,插值可以包括分段常数插值、线性插值、多项式插值和样条插值,以及其他插值技术。重采样可以包括下采样、上采样、和/或下采样和上采样的组合,或者以不同的采样率获得新样点。
在一些示例中,可以使用帧间预测块合并技术来增强运动预测,以简化逐块运动数据信令。由于对象在画面之间(例如,当前画面和参考画面之间)的位移不依赖于图像的像素网格,在这种情况下插值任务被使用。从而,可以使用分数精度(fractionalaccuracy)(例如,估计图像中像素之间的布局)来更准确地捕获运动。插值滤波器可以被用于视频处理中以实现分数精度,特别是当参考画面和正在被处理的当前画面共享同一尺寸时。插值滤波器用于对图像数据进行滤波以估计分数位置(fractional position)处的图像值,并且该分数位置数据可以与预测或其他图像处理操作一起使用。
重采样是指以某些样点(例如,某一网格中的像素)来获取图像,并修改这些样点(例如,在不同网格上创建新像素),同时保持来自原始样点中的数据。如上所述,重采样可以包括上采样,其中来自较低分辨率网格的像素被用于在较高分辨率网格中创建像素,以及下采样,其中来自较高分辨率网格的像素被用于在较低分辨率网格中生成像素。在上述运动预测和运动矢量的上下文中,当参考画面和被比较的当前画面具有不同尺寸时,参考画面重采样可以被用来标准化像素网格,以作为生成具有分数精度的图像的一部分。当图像处理系统被配置为允许参考画面具有与当前画面不同的尺寸时,由滤波器索引指示的滤波器可以适用于对这些图像进行处理以进行插值滤波(例如,当参考与当前画面的尺寸相同时的分数精度),但不适用于参考画面重采样情况下的分数精度(例如,当参考画面的尺寸与当前画面的不同时的分数精度)。在某些系统中,例如,当参考画面和当前画面尺寸相同时,用于分数精度的平滑滤波器可以通过插值产生良好的结果,但在参考画面具有与当前画面不同的像素网格(例如,不同的尺寸)的情况下与参考画面重采样一起使用会产生较差的结果。本文中所描述的示例通过识别适当的滤波器值并在编码和解码设备的操作期间生成改进的编码和解码结果来改进解码和编码设备的操作。
在各种示例中,可以通过识别用于当前画面的当前块的滤波器索引信息以及确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值(例如,其中参考画面重采样被使用)来实现这种改进。在这种情况下,该示例使用默认滤波器索引替换由滤波器索引信息标识的当前滤波器索引来执行重采样过程(例如,不使用当前滤波器索引)。
在一个说明性示例中,提供了一种用于处理视频数据的装置。该装置包括存储器和以电路实现的一个或多个处理器。一个或多个处理器被配置为获得当前画面和参考画面。处理器还被配置为识别当前画面的当前块的滤波器索引信息并且确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值。基于确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值,一个或多个处理器可以使用默认滤波器索引替换由滤波器索引信息标识的当前滤波器索引来执行采样率转换过程。
在另一示例中,提供了一种处理视频数据的方法。该方法包括获得当前画面和参考画面。该方法还包括识别当前画面的当前块的滤波器索引信息,并确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值。该方法包括:基于确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值,使用默认滤波器索引替换由滤波器索引信息标识的当前滤波器索引来执行采样率转换过程。
在另一示例中,一种计算机可读存储介质存储有指令,这些指令在被执行时使得用于处理视频数据的设备的一个或多个处理器:获得当前画面和参考画面;识别当前画面的当前块的滤波器索引信息,并确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值;以及基于确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值,使用默认滤波器索引替换由滤波器索引信息标识的当前滤波器索引来执行采样率转换过程。
在另一示例中,提供了一种用于处理视频数据的装置。该装置包括:用于获得当前画面和参考画面的部件;用于识别当前画面的当前块的滤波器索引信息的部件;用于确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值的部件;以及用于基于确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值,使用默认滤波器索引替换由滤波器索引信息标识的当前滤波器索引来执行采样率转换过程的部件。
在一些示例中,方法、装置和存储在计算机可读存储介质中的指令包括:获得当前画面和参考画面;识别当前画面的当前块的滤波器索引信息;确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值;以及基于确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值,在不使用由滤波器索引信息标识的当前滤波器索引的情况下执行采样率转换过程。
在一些示例中,方法、装置和存储在计算机可读存储介质中的指令包括:获取当前画面和参考画面;识别当前画面的当前块的滤波器索引信息;确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值;基于确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值,使用默认索引值替换由滤波器索引信息标识的当前滤波器索引来执行采样率转换过程。
在一些情况下,方法、装置和存储在上述计算机可读存储介质中的指令包括:将由滤波器索引信息标识的当前滤波器索引与当前块一起进行存储,并且基于正在由滤波器索引信息标识的当前滤波器索引,在后续块的运动矢量候选推导中使用当前滤波器索引。
在一些情况下,方法、装置和指令包括:在不使用当前滤波器索引来执行采样率转换过程时,为当前滤波器索引分配默认值以临时替换原始值,以创建默认滤波器索引;以及在采样率转换过程之后为当前滤波器索引分配原始值。在一些情况下,当前滤波器索引的默认值指示备选的可切换滤波不被应用为采样率转换过程的一部分。
在一些情况下,滤波器索引信息包括相邻块信息,并且其中当前滤波器索引是在合并模式运动矢量候选列表推导期间从相邻块信息推导的。在一些情况下,滤波器索引信息包括自适应运动矢量分辨率(AMVR)模式信令,并且其中当前滤波器索引是通过AMVR模式信令来信令通知的。在一些情况下,采样率转换过程是运动补偿过程。在一些情况下,采样率转换过程是重采样过程。在一些情况下,采样率转换过程是插值过程。
在一些情况下,方法、装置和存储在上述计算机可读存储介质中的指令通过使用参考画面进行对当前画面的当前块的帧间预测来运行。在一些情况下,方法、装置和存储在上述计算机可读存储介质中的指令包括确定当前滤波器索引不被用于采样率转换过程;以及响应于确定当前滤波器索引不被用于采样率转换过程,用默认值替换当前滤波器索引的值。在一些情况下,方法、装置和存储在上述计算机可读存储介质中的指令包括对默认值进行处理以确定备选的可切换滤波器不被应用。在一些示例中,备选的可切换滤波器是平滑滤波器。
在一些情况下,响应于确定在采样率转换过程中当前滤波器索引不被使用,当前滤波器索引值不被信令通知。在一些情况下,当前滤波器索引选自滤波器集,其中滤波器集的子集被用于执行采样率转换过程,而其中滤波器集的剩余部分对于采样率转换不可用。在一些情况下,当前滤波器索引使用语法元素来选择,该语法元素指示禁止从滤波器集的剩余部分中选择当前滤波器索引。
在一些情况下,采样率转换过程包括重采样过程。在这种情况下,方法、装置和存储在上述计算机可读存储介质中的指令包括识别用于插值的第一滤波器组和用于重采样的第二滤波器组,其中当前滤波器索引来自第二滤波器组。
在一些情况下,方法、装置和存储在上述计算机可读存储介质中的指令包括:获得第二当前画面和第二参考画面;确定第二当前画面的第三画面尺寸值和第二参考画面的第四画面尺寸值是相同的尺寸值;以及基于确定第二当前画面的第三画面尺寸值和第二参考画面的第四画面尺寸值是相同的尺寸值,使用第二选择的滤波器执行第二当前块的第二重采样过程,其中第二选择的滤波器来自第一滤波器组。
在一些情况下,第一滤波器组和第二滤波器组中的每个滤波器由相关联的滤波器索引标识,相关联的滤波器索引指示来自用于插值的滤波器集或用于重采样的滤波器集的相关联的索引值。
在一些情况下,方法、装置和存储在上述计算机可读存储介质中的指令包括:通过针对选择的滤波器索引值的查找操作从滤波器索引中获得当前滤波器索引;其中选择的滤波器索引值与第二滤波器组相关联;以及其中选择的滤波器索引值与第二滤波器组之间的关联是基于确定第一画面尺寸值不同于第二画面尺寸值。
在一些情况下,方法、装置和存储在所述计算机可读存储介质中的指令运行,其中确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值包括确定以下各项中的至少之一:当前画面宽度不同于参考画面宽度;以及当前画面高度不同于参考画面高度。
在一些情况下,方法、装置和存储在上述计算机可读存储介质中的指令包括:生成包括当前画面和参考画面的已编码视频比特流。在一些示例中,方法、装置和存储在上述计算机可读存储介质中的指令包括向解码设备发送已编码视频比特流,已编码视频比特流与信令信息一起被发送,信令信息包括默认滤波器索引。在一些示例中,方法、装置和存储在上述计算机可读存储介质中的指令包括存储已编码视频比特流。
在一些情况下,方法、装置和存储在上述计算机可读存储介质中的指令包括:获得包括当前画面和参考画面的已编码视频比特流;识别与已编码视频比特流相关联的信令信息,信令信息包括滤波器索引信息;以及从已编码视频比特流中解码当前画面的当前块。在一些示例中,从已编码视频比特流中解码当前画面的当前块包括基于默认滤波器索引来重建当前块。
在一些方面,用于处理视频数据的装置可以包括解码设备或装置和/或编码设备或装置。用于处理视频数据的装置可以是相机、移动设备(例如,移动电话或所谓的“智能手机”或其他移动设备)、可穿戴设备、扩展现实设备(例如,虚拟现实(VR)设备、增强现实(AR)设备或混合现实(MR)设备)、个人计算机、膝上型计算机、服务器计算机或其他设备。在一些方面,用于处理视频数据的装置包括用于捕获一幅或多幅图像的一个或多个相机。在一些方面,用于处理视频数据的装置包括用于显示一幅或多幅图像、通知和/或其他可显示数据的显示器。
与上述方法、装置和计算机可读介质中的任一项相关的上述方面可以单独地或以任何合适的组合方式被使用。
本概述不旨在标识要求保护的主题的关键或基本特征,也不旨在单独使用以确定要求保护的主题的范围。应该通过参考本专利的整个说明书、任一或全部附图以及每项权利要求的适当部分来理解该主题。
参考以下说明书、权利要求和附图,上述内容连同其他特征和实施例将变得更加明显。
附图说明
下面结合附图对本申请的说明性实施例进行详细描述:
图1是示出根据一些示例的包括编码设备和解码设备的系统的示例框图;
图2A是示出根据一些示例的用于合并模式的示例空间相邻运动矢量候选的概念图;
图2B是示出根据一些示例的用于先进运动矢量预测(AMVP)模式的示例空间相邻运动矢量候选的概念图;
图3是示出用于处理视频数据的技术的流程图;
图4是示出根据一些示例的参考画面重采样的方面的图;
图5是示出根据一些示例的用于参考画面重采样的方法的各方面的流程图;
图6是示出根据一些示例的参考画面重采样的各方面的流程图;
图7是示出根据一些示例的示例视频编码设备的框图;以及
图8是示出根据一些示例的示例视频解码设备的框图。
具体实施方式
下文中提供了本公开的特定方面和实施例。本领域技术人员明白的是,这些方面和实施例中的一些可以被独立应用而其中的一些可以被组合应用。在以下描述中,出于解释的目的,阐述了具体细节以实现本申请的实施例的全面理解。然而,很明显的是,可以在没有这些具体细节的情况下实践各种实施例。附图和描述不旨在是限制性的。
随后的描述仅提供示例性实施例,并不旨在限制本公开的范围、适用性或配置。相反,示例性实施例的随后描述将为本领域技术人员提供用于实现示例性实施例的使能描述。应当理解,在不脱离如所附权利要求所阐述的本申请的精神和范围的情况下,可以对元素的功能和布置进行各种改变。
视频编解码设备实现视频压缩技术以有效地对视频数据进行编码和解码。视频压缩技术可以包括应用不同的预测模式,包括空间预测(例如,帧内预测(intra-frameprediction或intra-prediction))、时间预测(例如,帧间预测(inter-frame prediction或inter-prediction))、层间预测(跨视频数据的不同层,和/或减少或去除视频序列中的固有冗余的其他预测技术。视频编码器可以将原始视频序列的每个画面分割成被称为视频块或编解码单元(在下文被更详细地描述)的矩形区域。可以使用特定预测模式对这些视频块进行编码。
可以以一种或多种方式将视频块划分为一组或多组更小的块。块可以包括编解码树块、预测块、变换块和/或其他合适的块。除非另有说明,一般对“块”的引用可以指这种视频块(例如,编解码树块、编解码块、预测块、变换块或其他适当的块或子块,如本领域技术人员理解的那样)。进一步地,这些块中的每一个块在本文中还可互换地被称为“单元”(例如,编解码树单元(CTU)、编解码单元、预测单元(PU)、变换单元(TU)等)。在一些情况下,单元可以指示在比特流中被编码的编解码逻辑单元,而块可以指示进程所指向的视频帧缓冲器的一部分。
对于帧间预测模式,视频编码器可以在位于另一时间位置中的帧(或画面)中搜索与正在被编码的块相似的块,该位于另一时间位置中的帧(或画面)被称为参考帧或参考画面。视频编码器可以将该搜索限制到距要被编码的块一定的空间位移内。可以使用包括水平位移分量和垂直位移分量的二维(2D)运动矢量来定位最佳匹配。对于帧内预测模式,视频编码器可以基于同一画面内预先已编码的相邻块的数据使用空间预测技术来形成预测块。
视频编码器可以确定预测误差。例如,预测可以被确定为正在被编码的块和预测块中的像素值之间的差。预测误差还可以被称为残差。视频编码器还可以将变换(例如,离散余弦变换(DCT)或其他适当的变换)应用于预测误差以生成变换系数。变换后,视频编码器可以对变换系数进行量化。可以使用语法元素来表示量化的变换系数和运动矢量,并且与控制信息一起形成视频序列的已编解码表示。在一些示例中,视频编码器可以对语法元素进行熵编解码,从而进一步减少其表示所需要的比特的数量。
视频解码器可以使用以上讨论的语法元素和控制信息来构建用于解码当前帧的预测数据(例如,预测块)。例如,视频解码器可以添加预测块和压缩的预测误差。视频解码器可以使用量化的系数通过对变换基函数进行加权来确定压缩的预测误差。重建帧与原始帧之间的差异被称为重建误差。
在一些示例中,采样率转换可以被应用于视频数据。采样率转换可以包括重采样、下采样、上采样、插值和/或其他采样率转换技术。例如,插值可以包括分段常数插值、线性插值、多项式插值和样条插值,以及其他插值技术。重采样可以包括下采样、上采样和/或下采样和上采样的组合,或者以不同的采样率获得新样点。
在某些系统中,可以使用帧间预测块合并技术来增强运动预测,以简化逐块运动数据信令。在画面之间对象的位移独立于图像的像素网格的情况下,插值任务被使用。因此,分数精度(例如,估计图像中布置之间的定位)可以被用于更准确地捕获运动。这种分数精度可以使得从先前已解码的块中推断运动数据。对于插值和分数参考画面样点,高精度可以提高滤波。示例系统可以支持具有四分之一像素精度、八分之一像素精度、十六分之一像素精度或者取决于系统的其他这种精度的运动矢量。在一些示例中,亮度和色度分量在同一系统中可以具有不同的分数精度。在这种情况下,插值滤波器可以被用于处理图像。此外,在不同的情况(例如,基于运动矢量值)下可以使用多个不同的插值滤波器。在可用的不同插值滤波器之间进行选择在本文中被称为插值滤波器切换。
重采样是指从一幅图像中获取像素值并从像素值中“重采样”数据以生成新图像的新像素值。如上所述,重采样可以包括下采样以及上采样,在下采样中,来自较高分辨率图像的像素值被用于生成较低分辨率的图像。在上采样中,来自较低分辨率图像的像素值被用于生成较高分辨率的图像。在上述运动预测的上下文中,不同尺寸(例如,分辨率)的参考图像和当前图像可以被用于生成运动矢量并执行运动预测。在这种情况下,重采样可以被用于管理参考画面和当前画面之间的缩放差异。另外,当参考画面和当前画面的尺寸不同时,滤波器可以由滤波器索引来指示,滤波器索引适用于不进行重采样的插值滤波而不适用于进行参考画面重采样的插值滤波。在一些图像处理系统中,例如,当用于插值的平滑滤波器被用于参考画面重采样时会产生不理想的结果。本文所述的示例通过识别适当的滤波器值并在编码和解码设备的运行期间生成改善的编码和解码结果来改进解码和编码设备的操作。在一个示例中,这种提高通过识别用于当前画面的当前块的滤波器索引信息并确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值(例如,该参考画面重采样被使用)来实现。在这种情况下,本示例使用默认滤波器索引替换由滤波器索引信息标识的当前滤波器索引来执行重采样过程(例如,不使用当前滤波器索引)。在下文中描述了各种示例的附加方面。
本文描述的技术可以应用于现有的视频编解码器(例如,高效视频编解码(HEVC)、高级视频编解码(AVC)或其他合适的现有视频编解码器)中的任一个,并且/或者可以作为以下正被开发的视频编解码标准和/或未来的视频编解码标准的有效编解码工具:诸如,例如,通用视频编解码(VVC))、联合探索模型(JEM)和/或其他在开发中的或待被开发的视频编解码标准。
图1是示出包括编码设备104和解码设备112的系统100的示例的框图。编码设备104可以是源设备的一部分,而解码设备112可以是接收设备的一部分。源设备和/或接收设备可以包括电子设备,例如移动或固定电话手机(例如,智能电话、蜂窝电话等)、台式计算机、膝上型或笔记本计算机、平板计算机、机顶盒、电视、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备、互联网协议(IP)相机、或任何其他合适的电子设备。在一些示例中,源设备和接收设备可以包括用于无线通信的一个或多个无线收发器。本文所述的编解码技术可应用于各种多媒体应用中的视频编解码,该多媒体应用包括流视频传输(例如,通过互联网)、电视广播或传输、对数字视频的编码以用于存储在数据存储介质上、对数字视频的解码以用于存储在数据存储介质上、或其他应用。在一些示例中,系统100可以支持单向或双向视频传输以支持诸如视频会议、视频流、视频回放、视频广播、游戏、和/或视频电话的应用。
编码设备104(或编码器)可以被用于使用视频编解码标准或协议对视频数据进行编码以生成经编码视频比特流。视频编解码标准的示例包括ITU-T H.261、ISO/IEC MPEG-1视觉、ITU-T H.262或ISO/IEC MPEG-2视觉、ITU-T H.263、ISO/IEC MPEG-4视觉、ITU-TH.264(也称为ISO/IEC MPEG-4AVC),包括其可缩放视频编解码(SVC)和多视图视频编解码(MVC)扩展,以及高效视频编解码(HEVC)或ITU-T H.265。存在HEVC的各种扩展以处理多层视频编解码,包括范围和屏幕内容编解码扩展、3D视频编解码(3D-HEVC)和多视图扩展(MV-HEVC)以及可缩放扩展(SHVC)。HEVC及其扩展由ITU-T视频编解码专家组(VCEG)和ISO/IEC运动图像专家组(MPEG)的视频编解码联合协作团队(JCT-VC)和3D视频编解码扩展开发联合协作组(JCT-3V)开发。MPEG和ITU-T VCEG还组成了联合探索视频团队(JVET),为下一代视频编解码标准探索新的编解码工具。参考软件被称为JEM(联合探索模型)。JVET正在开发的新的视频编解码标准被称为通用视频编解码(VVC)。
HEVC由ITU-T视频编解码专家组(VCEG)和ISO/IEC运动图像专家组(MPEG)的视频编解码联合协作团队(JCT-VC)于2013年最终确定。由MPEG和ITU-T研究组16的VCEG形成的协作团队,即联合视频专家团队(JVET),正在研究新的VVC视频编解码标准。VVC的目标是在现有HEVC标准的压缩性能方面提供显著改进,帮助部署高质量的视频服务和新兴应用(例如,360°全方位沉浸式多媒体、高动态范围(HDR)视频等)。
本文所述的多个实施例提供使用JEM模型、VVC、HEVC标准、和/或其扩展的示例。然而,如上所述,本文所描述的技术和系统也可以适用于其他编解码标准,例如AVC、MPEG、JPEG(或用于静止图像的其他编解码标准)、其扩展或其他已经可用的或尚不可用的或开发的合适的编解码标准。因此,虽然可以参考特定视频编解码标准来描述本文描述的技术和系统,但是本领域普通技术人员会理解的是,该描述不应被解释为仅适用于该特定标准。
参考图1,视频源102可以向编码设备104提供视频数据。视频源102可以是源设备的一部分,或者可以是除源设备之外的设备的一部分。视频源102可以包括视频捕获设备(例如,摄像机、拍照电话、视频电话等)、包含存储的视频的视频档案、提供视频数据的视频服务器或内容提供者、接收来自视频服务器或内容提供者的视频的视频馈送接口、用于生成计算机图形视频数据的计算机图形系统、这些源的组合或任何其他合适的视频源。
来自视频源102的视频数据可以包括一个或多个输入画面或帧。在一些情况下,画面或帧是作为视频的一部分的静止图像。在一些示例中,来自视频源102的数据可以是不作为视频的一部分的静止图像。编码设备104的编码器引擎106(或编码器)对视频数据进行编码以生成经编码视频比特流。在一些示例中,经编码视频比特流(或“视频比特流”或“比特流”)是一系列的一个或多个经编码视频序列。经编码视频序列(CVS)包括一系列访问单元(AU),这些访问单元从在基层中具有随机访问点画面并且具有某些属性的AU开始,直到但不包括在基层中具有随机访问点画面并且具有某些属性的下一个AU。例如,开始CVS的随机访问点画面的某些属性可以包括等于1的RASL标志(例如,NoRaslOutputFlag)。否则,随机访问点画面(具有等于0的RASL标志)不开始CVS。访问单元(AU)包括一个或多个经编码画面和与共享相同输出时间的经编码画面对应的控制信息。画面的经编码切片以比特流级别被封装到称为网络抽象层(NAL)单元的数据单元中。例如,HEVC视频比特流可以包括包含NAL单元的一或多个CVS。NAL单元中的每一个都具有NAL单元报头。在一个示例中,H.264/AVC(多层扩展除外)的报头为一字节,HEVC的报头为两字节。NAL单元报头中的语法元素采用指定比特位,因此对各种系统和传送层都是可见的,例如传送流、实时传输(RTP)协议、文件格式等。
HEVC标准中存在两类NAL单元,包括视频编解码层(VCL)NAL单元和非VCL NAL单元。VCL NAL单元包括经编解码画面数据的一个切片或切片段(如下所述),而非VCL NAL单元包括与一个或多个经编解码画面相关的控制信息。在一些情况下,NAL单元可以被称为分组。HEVC AU包括包含经编解码画面数据的VCL NAL单元和对应于经编解码画面数据的非VCL NAL单元(如果有的话)。
NAL单元可以包含形成视频数据的经编解码表示的比特序列(例如,经编码视频比特流、比特流的CVS等),例如视频中的画面的经编解码表示。编码器引擎106通过将每个画面分割为多个切片来生成画面的经编解码表示。切片独立于其他切片,以使得不依赖于同一画面内的其他切片的数据对该切片中的信息进行编解码。切片包括一个或多个切片段,这些切片段包括独立的切片段,以及依赖于先前切片段的一个或多个依赖切片段(如果存在)。然后,切片被分割为亮度样点和色度样点的编解码树块(CTB)。亮度样点的CTB和色度样点的一个或多个CTB,连同样点的语法,被称为编解码树单元(CTU)。CTU是HEVC编码的基本处理单元。CTU可以被拆分为多个不同尺寸的编解码单元(CU)。CU包含被称为编解码块(CB)的亮度和色度样点阵列。
亮度和色度CB可以进一步被拆分为预测块(PB)。PB是亮度分量或色度分量的样点块,其使用相同的运动参数进行帧间预测或块内复制预测(当可用或启用时)。亮度PB和一个或多个色度PB,和相关联的语法一起形成预测单元(PU)。对于帧间预测,在每个PU的比特流中信令通知运动参数集(例如,一个或多个运动矢量、参考索引等),该运动参数集被用于亮度PB和一个或多个色度PB的帧间预测。运动参数还可以被称为运动信息。CB还可以被分割为一个或多个变换块(TB)。TB表示颜色分量的样点的正方形块,对其应用相同的二维变换来对预测残差信号进行编解码。变换单元(TU)表示亮度和色度样点的TB,以及相应的语法元素。
CU的尺寸对应于编解码模式的尺寸并且可以是正方形形状。例如,CU的尺寸可以是8×8个样点、16×16个样点、32×32个样点、64×64个样点、或任何其他适当的尺寸直到对应的CTU的尺寸。在本文中,短语“N×N”用于表示视频块在垂直和水平维度方面的像素维度(例如,8像素×8像素)。块中的像素可以按行和列排列。在一些实施例中,块在水平方向上的像素数量可以与垂直方向上的像素数量不同。与CU相关联的语法数据可以描述例如将CU分割为一个或多个PU。取决于CU以帧内预测模式被编码还是以帧间预测模式被编码,分割模式可以不同。PU可以被分割为非正方形形状。与CU相关联的语法数据还可以描述,例如,根据CTU将CU分割为一个或多个TU。TU的形状可以是正方形或非正方形。
根据HEVC标准,可以使用变换单元(TU)来进行变换。TU可以随着不同的CU而变化。可以根据给定CU内的PU的尺寸来确定TU的尺寸。TU的尺寸可以与PU尺寸相同或者小于PU的尺寸。在一些示例中,可以使用被称为残差四叉树(RQT)的四叉树结构将对应于CU的残差样点细分为更小的单元。RQT的叶节点可以对应于TU。可以对与TU相关联的像素差值进行变换以产生变换系数。然后可以由编码器引擎106对变换系数进行量化。
一旦视频数据的画面被分割为CU,编码器引擎106就使用预测模式来预测每个PU。然后,从原始视频数据中减去预测单元或预测块以获得残差(如下所述)。对于每个CU,可以使用语法数据在比特流内信令通知预测模式。预测模式可以包括帧内预测(或画面内预测)或帧间预测(或画面间预测)。帧内预测利用画面内空间上相邻的样点之间的相关性。例如,在使用帧内预测的情况下,使用例如用于寻求PU的平均值的DC预测、用于将平面表面拟合到PU的平面预测、根据相邻数据进行推断的方向预测、或任何其他合适类型的预测,根据同一画面中的相邻图像数据来预测每个PU。帧间预测使用画面之间的时间相关性来推导图像样点的块的运动补偿预测。例如,在使用帧间预测的情况下,使用根据一个或多个参考画面(按输出顺序在当前画面之前或之后)中的图像数据的运动补偿预测来预测每个PU。可以在例如CU级别做出使用画面间预测还是画面内预测对画面区域进行编解码的决定。
在一些示例中,画面的一个或多个切片被指定切片类型。切片类型包括I切片、P切片和B切片。I切片(帧内,独立可解码)是仅通过帧内预测来编解码的画面的切片,因此是独立可解码的,因为I切片仅需要帧内的数据来预测该切片的任何预测单元或预测块。P切片(单向预测帧)是可以使用帧内预测和单向帧间预测来编解码的画面的切片。P切片内的每个预测单元或预测块都通过帧内预测或帧间预测来编解码。当应用帧间预测时,仅通过一个参考画面对预测单元或预测块进行预测,因此参考样点仅来自一帧的一个参考区域。B切片(双向预测帧)是可以使用帧内预测以及使用帧间预测(例如,双向预测或单向预测)来编解码的画面的切片。可以根据两个参考画面来双向预测B切片的预测单元或预测块,其中每个画面提供一个参考区域,并且对两个参考区域的样点集进行加权(例如,具有相等的权重或具有不同的权重)以产生双向预测块的预测信号。如上所述,一个画面的切片是被独立编解码的。在一些情况下,画面可以被编解码为恰好一个切片。
如上所述,画面内预测利用画面内空间上相邻的样点之间的相关性。画面间预测使用画面之间的时间相关性,以便推导图像样点的块的运动补偿预测。使用平移运动模型,先前已解码画面(参考画面)中的块位置由运动矢量(Δx,Δy)指示,其中Δx指定参考块相对于当前块的位置的水平位移,而Δy指定参考块相对于当前块的位置的垂直位移。在一些情况下,运动矢量(Δx,Δy)可以是整数样点精度(也称为整数精度),在这种情况下,运动矢量指向参考帧的整像素网格(或整像素采样网格)。在一些情况下,运动矢量(Δx,Δy)可以具有分数样点精度(也称为分数像素精度或非整数精度),以更准确地捕获潜在对象的运动,而不受限于参考帧的整像素网格。可以通过运动矢量的量化级别来表示运动矢量的精度。例如,量化级别可以是整数精度(例如,1-像素)或分数像素精度(例如,1/4-像素、1/2-像素或其他子像素值)。当对应的运动矢量具有分数样点精度时,对参考画面应用插值以推导预测信号。例如,整数位置处可用的样点(例如,使用一个或多个插值滤波器)可以被滤波以估计分数位置处的值。先前已解码的参考画面由参考画面列表的参考索引(refIdx)指示。运动矢量和参考索引可以被称为运动参数。可以执行两种画面间预测,包括单向预测和双向预测。
在使用双预测的帧间预测的情况下,使用两组运动参数(Δx0,y0,refIdx0和Δx1,y1,refIdx1)来生成两个运动补偿预测(根据相同的参考画面或可能根据不同的参考画面)。例如,对于双预测,每个预测块使用两个运动补偿预测信号,并且生成B预测单元。然后将两个运动补偿预测进行组合以获得最终的运动补偿预测。例如,可以通过求均值来组合两个运动补偿预测。在另一个示例中,可以使用加权预测,在这种情况下,可以对每个运动补偿预测应用不同的权重。可以在双预测中使用的参考画面被存储在两个不同的列表中,这两个不同的列表分别表示为列表0和列表1。可以在编码器处使用运动估计过程来推导运动参数。
在使用单预测的帧间预测的情况下,使用运动参数集(Δx0,y0,refIdx0)来根据参考画面生成运动补偿预测。例如,在单预测的情况下,每个预测块最多使用一个运动补偿预测信号,并且生成P预测单元。
PU可以包括与预测过程相关的数据(例如,运动参数或其他合适的数据)。例如,当使用帧内预测对PU进行编码时,PU可以包括描述PU的帧内预测模式的数据。作为另一示例,当使用帧间预测对PU进行编码时,PU可包括定义PU的运动矢量的数据。定义PU的运动矢量的数据可以描述,例如,运动矢量的水平分量(Δx)、运动矢量的垂直分量(Δy)、运动矢量的分辨率(例如,整数精度、四分之一像素精度或八分之一像素精度)、运动矢量指向的参考画面、参考索引、运动矢量的参考画面列表(例如,列表0、列表1或列表C),或上述各项的任意组合。
然后,编码设备104可以执行变换和量化。例如,在预测之后,编码器引擎106可以计算对应于PU的残差值。残差值可以包括正在被编码的当前像素块(PU)和用于预测当前块的预测块(例如,当前块的经预测版本)之间的像素差值。例如,在生成预测块(例如,使用帧间预测或帧内预测)之后,编码器引擎106可以通过从当前块中减去由预测单元产生的预测块来生成残差块。残差块包括对当前块的像素值和预测块的像素值之间的差进行量化的一组像素差值。在一些示例中,可以以二维块格式(例如,二维矩阵或像素值阵列)来表示残差块。在这种示例中,残差块是像素值的二维表示。
使用块变换对在执行预测之后剩余的任何残差数据进行变换,其可以基于离散余弦变换、离散正弦变换、整数变换、小波变换、其他合适的变换函数、或以上各项的其任意组合。在一些情况下,可以将一个或多个块变换(例如,尺寸32×32、16×16、8×8、4×4或其他合适的尺寸)应用于每个CU中的残差数据。在一些实施例中,TU可以被用于由编码器引擎106实现的变换和量化过程。具有一个或多个PU的给定CU还可以包括一个或多个TU。如下文进一步详细描述的,可以使用块变换将残差值变换为变换系数,并且可以使用TU对其进行量化和扫描以产生用于熵编解码的串行化变换系数。
在一些实施例中,在使用CU的PU进行帧内预测的或帧间预测的编解码之后,编码器引擎106可以计算CU的TU的残差数据。PU可以包括空间域中(或像素域)的像素数据。在应用了块变换之后,TU可以包括变换域的系数。如前所述,残差数据可以对应于未编码画面的像素和与PU对应的预测值之间的像素差值。编码器引擎106可以形成包括CU的残差数据的TU,然后可以对TU进行变换以产生用于CU的变换系数。
编码器引擎106可以对变换系数进行量化。量化通过对变换系数进行量化以减少用于表示这些系数的数据量,从而提供进一步的压缩。例如,量化可以减少与这些系数中的一些或全部相关联的位深度。在一个示例中,具有n比特值的系数可以在量化期间向下取整为m比特值,其中n大于m。
一旦量化被执行,经编解码视频比特流包括量化的变换系数、预测信息(例如,预测模式、运动矢量、块矢量等)、分割信息和任何其他合适的数据,例如其他语法数据。然后,可以由编码器引擎106对经编解码视频比特流的不同元素进行熵编码。在一些示例中,编码器引擎106可以利用预定义的扫描顺序来扫描量化的变换系数以产生可以被熵编码的序列化矢量。在一些示例中,编码器引擎106可以执行自适应扫描。在扫描量化的变换系数以形成矢量(例如,一维矢量)之后,编码器引擎106可以对该矢量进行熵编码。例如,编码器引擎106可以使用上下文自适应可变长度编解码、上下文自适应二进制算术编解码、基于语法的上下文自适应二进制算术编解码、概率区间分割熵编解码或其他合适的熵编码技术。
编码设备104的输出110可以通过通信链路120将组成经编码视频比特流数据的NAL单元发送到接收设备的解码设备112。解码设备112的输入114可以接收NAL单元。通信链路120可以包括由无线网络、有线网络、或有线和无线网络的组合提供的信道。无线网络可以包括任何无线接口或无线接口的组合,并且可以包括任何合适的无线网络(例如,互联网或其他广域网、基于分组的网络、WiFiTM、射频(RF)、UWB、WiFi直连、蜂窝、长期演进(LTE)、WiMaxTM等)。有线网络可以包括任何有线接口(例如,光纤、以太网、电力线以太网、基于同轴电缆的以太网、数字信号线(DSL)等)。有线和/或无线网络可以通过使用各种装备来实现,例如基站、路由器、接入点、网桥、网关、交换机等。经编码视频比特流数据可以根据例如无线通信协议的通信标准被调制,并被发送至接收设备。
在一些示例中,编码设备104可以将将编码视频比特流数据存储在存储器108中。输出110可以从编码器引擎106或从存储器108中检索经编码视频比特流数据。存储器108可以包括各种分布式或本地访问的数据存储介质。例如,存储器108可以包括硬盘驱动器、存储盘、闪存、易失性或非易失性存储器、或者用于存储经编码视频数据的任何其他合适的数字存储介质。
解码设备112的输入114接收经编码视频比特流数据,并且可以将该视频比特流数据提供给解码器引擎116,或者提供给存储装置118以供解码器引擎116稍后使用。解码器引擎116可以通过熵解码(例如,使用熵解码器)并提取组成经编码视频数据的一个或多个经编解码视频序列的元素来对经编码视频比特流数据进行解码。然后,解码器引擎116可以对经编码视频比特流数据进行重缩放并执行逆变换。残差数据随后被传递到解码器引擎116的预测阶段。然后,解码器引擎116对像素块(例如,PU)进行预测。在一些示例中,预测被添加到逆变换的输出(残差数据)。
解码设备112可以将经解码视频输出到视频目标设备122,视频目标设备122可以包括显示器或用于将经解码视频数据显示给该内容的消费者的其他输出设备。在一些方面,视频目标设备122可以是包括解码设备112的接收设备的一部分。在一些方面,视频目标设备122可以是除了接收设备之外的独立设备的一部分。
在一些实施例中,视频编码设备104和/或视频解码设备112可以分别与音频编码设备和音频解码设备集成在一起。视频编码设备104和/或视频解码设备112还可以包括实现上述的编解码技术所必需的其他硬件或软件,例如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或上述各项的任何组合。视频编码设备104和视频解码设备112可以被集成为相应设备中的组合编码器/解码器(编解码器)的一部分。以下参考图7对编码设备104的具体细节的示例进行描述。以下参考图8对解码设备112的具体细节的示例进行描述。
HEVC标准的扩展包括被称为MV-HEVC的多视图视频编解码扩展以及被称为SHVC的可缩放视频编解码扩展。MV-HEVC和SHVC扩展共享分层编解码的概念,其中不同的层被包括于经编码视频比特流中。经编码视频序列中的每一层都由唯一的层标识符(ID)寻址。层ID可以存在于NAL单元的报头中以标识与NAL单元相关联的层。在MV-HEVC中,不同的层可以表示视频比特流中同一场景的不同视图。在SHVC中,提供了不同的可缩放层,以不同的空间分辨率(或画面分辨率)或者不同的重建保真度表示视频比特流。可缩放层可以包括基层(层ID=0)和一个或多个增强层(层ID=1,2,...,n)。基层可以符合HEVC的第一版本的配置文件,并且表示比特流中的最低可用层。与基层相比,增强层具有增加的空间分辨率、时间分辨率或帧速率和/或重建保真度(或质量)。增强层是分层构造的并且可以(也可以不)依赖于更低的层。在一些示例中,可以使用单个标准编解码器对不同层进行编解码(例如,对全部层都使用HEVC、SHVC或其他编解码标准进行编码)。在一些示例中,可以使用多标准编解码器对不同层进行编解码。例如,可以使用AVC对基层进行编解码,而可以使用HEVC标准的SHVC和/或MV-HEVC扩展对一个或多个增强层进行编解码。
通常,层包括一组VCL NAL单元和对应的一组非VCL NAL单元。NAL单元被分配特定的层ID值。层可以是分层的,这意味着层可以依赖于更低层。层集合是指在比特流内被表示的自包含层的集合,这意味着层集合内的层在解码过程中可以依赖于层集合中的其他层,但是不依赖用于解码的任何其他层。因此,层集合中的层可以形成可以表示视频内容的独立比特流。可以通过运行子比特流提取过程从另一比特流获得层集合中的一组层。层集合可以对应于当解码器想要根据某些参数进行操作时要被解码的一组层。
如前所述,HEVC比特流包括一组NAL单元,包括VCL NAL单元和非VCL NAL单元。VCLNAL单元包括形成经编解码视频比特流的经编解码画面数据。例如,形成经编解码视频比特流的比特序列存在于VCL NAL单元中。除了其他信息之外,非VCL NAL单元还可以包含具有与经编码视频比特流相关的高级信息的参数集。例如,参数集可以包括视频参数集(VPS)、序列参数集(SPS)和画面参数集(PPS)。参数集的目标的示例包括比特率效率、错误复原性和提供系统层接口。每个切片参考单个活动的PPS、SPS和VPS以访问解码设备112会用其来解码该切片的信息。可以针对每个参数集对标识符(ID)进行编解码,包括VPS ID、SPS ID和PPS ID。SPS包括SPS ID和VPS ID。PPS包括PPS ID和SPS ID。每个切片报头都包括PPS ID。通过使用ID,可以识别出给定切片的激活参数集。
PPS包括应用于给定画面中的全部切片的信息。因此,画面中的全部切片都参考相同的PPS。不同画面中的切片也可以参考同一个PPS。SPS包括应用于同一经编解码视频序列(CVS)或比特流中的全部画面的信息。如前所述,经编解码视频序列是一系列访问单元(AU),这些访问单元从在基层中具有随机访问点画面(例如,瞬时解码参考(IDR)画面或断链访问(BLA)画面,或其他适当的随机访问点画面)并且某些属性(如上所述)的访问单元开始,直到但不包括在基层中具有随机访问点画面并且具有某些属性(或者在比特流的末尾)的下一个AU。SPS中的信息可以不随着经编解码视频序列内的画面发生变化。经编解码视频序列中的画面可以使用相同的SPS。VPS包括应用于经编解码视频序列或比特流内的全部层的信息。VPS包括具有应用于整个经编解码视频序列的语法元素的语法结构。在一些实施例中,VPS、SPS或PPS可以与经编码比特流一起被带内传输。在一些实施例中,VPS、SPS或PPS可以在与包含经编解码视频数据的NAL单元分开的传输中被带外传输。
视频比特流还可以包括补充增强信息(SEI)消息。例如,SEI NAL单元可以是视频比特流的一部分。在一些示例中,SEI消息可以包含解码过程不需要的信息。例如,SEI消息中的信息可以不是解码器解码比特流的视频画面所必要的,但是解码器可以使用此信息来改进画面的显示或处理(例如,经解码输出)。SEI消息中的信息可以是嵌入的元数据。在一个说明性示例中,SEI消息中的信息可以被解码器侧实体使用,以便提高内容的可见性。在一些情况下,某些应用标准会要求比特流中存在这种SEI消息,以使得符合该应用标准的全部设备在质量方面得以提高(例如,帧兼容平面立体3DTV视频格式的帧封装SEI消息的携带,其中SEI消息针对视频的每一帧被携带,处理恢复点SEI消息,使用全景扫描来扫描DVB中的矩形SEI消息,除了许多其他示例之外)。
在一些实施例中,视频编码设备104和/或视频解码设备112可以分别与音频编码设备和音频解码设备一起被集成。视频编码设备104和/或视频解码设备112还可以包括实现上述编解码技术所必需的其他硬件或软件,例如,一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件、或以上各项的任一组合。视频编码设备104和视频解码设备112可以被集成为相应设备中的组合编码器/解码器(编解码器)的一部分。下文参考图7描述编码设备104的具体细节的示例。下文参考图8描述解码设备112的具体细节的示例。
图1中所示的示例系统是可以在本文中被使用的一个说明性示例。使用本文所述的技术来处理视频数据的技术可以由任一数字视频编码和/或解码设备执行。尽管本公开的技术通常由视频编码设备或视频解码设备执行,但这些技术还可以由组合的视频编码器-解码器(通常称为“编解码器”)来执行。而且,本公开的技术还可以由视频预处理器执行。源设备和接收设备仅仅是这种编解码设备的示例,其中源设备生成经编解码视频数据以用于传输至接收设备。在一些示例中,源设备和接收设备可以以基本对称的方式运行,以使得上述设备中的每一个都包括视频编码和解码组件。因而,示例系统可以支持视频设备之间的单向或双向视频传输,例如,用于视频流、视频回放、视频广播或视频电话。
如上所述,对于每个块,运动信息集(在本文中也被称为运动参数)是可用的。运动信息集包含前向预测方向和后向预测方向的运动信息。前向预测方向和后向预测方向是双向预测模式的两个预测方向,在这种情况下,术语“前向”和“后向”不一定具有几何意义。相反,“前向”和“后向”对应于当前画面的参考画面列表0(RefPicList0或L0)和参考画面列表1(RefPicList1或L1)。在一些示例中,当画面或切片只有一个参考画面列表可用时,只有RefPicList0可用而且切片的每个块的运动信息都是前向的。
在一些情况下,运动矢量连同其参考索引一起被用于编解码过程(例如,运动补偿)中。这种具有相关联的参考索引的运动矢量被表示为运动信息的单向预测集。对于每个预测方向,运动信息可以包含参考索引和运动矢量。在一些情况下,为简单起见,运动矢量本身可以以假定其具有相关联的参考索引的方式被参考。参考索引用于识别当前参考画面列表(RefPicList0或RefPicList1)中的参考画面。运动矢量具有水平和垂直分量。水平和垂直分量提供从当前画面中的坐标位置到由参考索引标识的参考画面中的坐标的偏移。例如,参考索引可以指示应该被用于当前画面中的块的特定参考画面,而运动矢量可以指示在参考画面中最佳匹配的块(与当前块最佳匹配的块)在参考画面中的何处。
可以在视频编解码标准中使用画面顺序计数(POC)来标识画面的显示顺序。尽管在某些情况下,一个经编解码视频序列中的两个画面可以具有相同的POC值,但通常这种情况不会发生在经编解码视频序列中。当比特流中存在多个经编解码视频序列时,具有相同POC值的画面在解码顺序上会更接近彼此。画面的POC值可以用于参考画面列表构建、如HEVC中的参考画面集的推导、以及运动矢量缩放。
在H.264/AVC中,可以以四种不同的方式对每个帧间宏块(MB)进行分割,包括:一个16×16MB分割;两个16×8MB分割;两个8×16MB分割;和四个8×8MB分割。一个MB中的不同MB分割可以针对每个方向(RefPicList0或RefPicList1)具有不同的参考索引值。在一些情况下,当MB没有被分割为四个8×8MB分割时,其可以针对每个方向上的每个MB分割只有一个运动矢量。在一些情况下,当MB被分割为四个8×8MB分割时,每个8×8MB分割可以被进一步分割为子块,在这种情况下,每个子块可以在每个方向上具有不同的运动矢量。在一些示例中,有四种不同的方式从8×8MB分割得到子块,包括:一个8×8子块;两个8×4子块;两个4×8子块;和四个4×4子块。每个子块可以在每个方向上具有不同的运动矢量。因此,运动矢量存在于等于高于子块的级别中。
在AVC中,可以在MB级别或MB分割级别启用时间直接模式(temporal directmode)以用于B切片中的跳过和/或直接模式(direct mode)。对于每个MB分割,当前块的RefPicList1[0]中的与当前MB分割位于相同位置的块的运动矢量被用于推导运动矢量。基于POC距离对该相同位置的块中的每个运动矢量进行缩放。
也可以在AVC中执行空间直接模式(spatial direct mode)。例如,在AVC中,直接模式还可以根据空间上的相邻对象来预测运动信息。
在HEVC中,切片中的最大编解码单元被称为编解码树块(CTB)。CTB包含四叉树,其节点是编解码单元。在HEVC主配置文件中,CTB的尺寸范围可以从16×16到64×64。在一些情况下,可以支持8×8CTB尺寸。编解码单元(CU)可以与CTB尺寸相同且小至8×8。在一些情况下,使用一种模式对每个编解码单元进行编解码。当CU被帧间编解码时,该CU可以被进一步分割为2个或4个预测单元(PU),或者当进一步分割不应用时,可以变成仅一个PU。当两个PU存在于一个CU中时,其可以是尺寸为CU的尺寸的一半的矩形,也可以是尺寸分别为CU的尺寸的1/4和3/4的两个矩形。
当CU被帧间编解码时,针对每个PU存在运动信息集。此外,每个PU用唯一的帧间预测模式进行编解码,以推导该运动信息集。
对于HEVC中的运动预测,有两种帧间预测模式,包括合并模式和用于预测单元(PU)的高级运动矢量预测(AMVP)模式。跳过被认为是合并的一种特殊情况。在AMVP或合并模式中,为多个运动矢量预测器保持运动矢量(MV)候选列表。当前PU的运动矢量以及合并模式中的参考索引是通过从MV候选列表中获取一个候选来生成的。在一些示例中,如下所述,一个或多个被存储的局部照明补偿(LIC)标志可以与被存储的运动矢量一起被包括在MV候选列表中。
在MV候选列表被用于块的运动预测(并且在适用的情况下,照明补偿)的示例中,MV候选列表可以由编码设备和解码设备分开构建。例如,编码设备可以在对块进行编码时生成MV候选列表,而解码设备可以在对块进行解码时生成该MV候选列表。与MV候选列表中的运动信息候选相关的信息(例如,与一个或多个运动矢量相关的信息、在一些情况下可以与存储于MV候选列表中的一个或多个LIC标志相关的信息、和/或其他信息)可以在编码设备和解码设备之间信令通知。例如,在合并模式中,存储的运动信息候选的索引值可以从编码设备被信令通知给解码设备(例如,在下述语法结构中,诸如,画面参数集(PPS)、序列参数集(SPS)、视频参数集(VPS)、切片报头、在视频比特流中发送的或与视频比特流分开发送的补充增强信息(SEI)消息、和/或其他信令)。解码设备可以构建MV候选列表并使被信令通知的参考或索引从所构建的MV候选列表中获得一个或多个运动信息候选以用于运动补偿预测。例如,解码设备112可以构建MV候选列表并且将根据被索引位置的运动矢量(而在一些情况下是LIC标志)用于块的运动预测。在AMVP模式的情况下,除了参考或索引之外,差值或残差值也可以作为增量被信令通知。例如,对于AMVP模式,解码设备可以构建一个或多个MV候选列表并将增量值应用于在执行块的运动补偿预测时使用被信号通知的索引值获得的一个或多个运动信息候选。
在一些示例中,MV候选列表包含多达五个用于合并模式的候选和两个用于AMVP模式的候选。在其他示例中,用于合并模式和/或AMVP模式的MV候选列表可以包括不同数量的候选。合并候选可以包含运动信息集。例如,运动信息集可以包括对应于参考画面列表(列表0和列表1)和参考索引两者的运动矢量。如果合并候选由合并索引标识,则参考画面被用于当前块的预测,同时相关联的运动矢量被确定。然而,在AMVP模式下,对于来自列表0或列表1的每个潜在预测方向,因为AMVP候选仅包含运动矢量,需要将参考索引连同MVP索引一起显式地信令通知给MV候选列表。在AMVP模式下,预测的运动矢量可以被进一步细化。
如上可见,合并候选对应于完整的运动信息集,而AMVP候选仅包含用于特定预测方向和参考索引的一个运动矢量。两种模式的候选都相似地根据相同的空间和时间相邻块推导。
在一些示例中,合并模式允许帧间预测的PU从包括选自一组空间相邻运动数据位置的运动数据位置和时间上处于相同位置的两个运动数据位置中之一的帧间预测的PU继承一个或多个相同的运动矢量、预测方向和一个或多个参考画面索引。对于AMVP模式,PU的一个或多个运动矢量可以相对于由编码器和/或解码器构建的AMVP候选列表中的一个或多个运动矢量预测器(MVP)被预测性地编解码。在一些情况下,对于PU的单方向帧间预测,编码器和/或解码器可以生成单个AMVP候选列表。在一些情况下,对于PU的双向预测,编码器和/或解码器可以生成两个AMVP候选列表,其中一个使用来自前向预测方向的空间和时间相邻PU的运动数据,另一个使用来自后向预测方向的空间和时间相邻PU的运动数据。
两种模式的候选可以根据空间和/或时间相邻块推导。例如,图2A和图2B包括示出HEVC中的空间相邻候选的概念图。
图2A示出合并模式的空间相邻运动矢量(MV)候选。图2B示出AMVP模式的空间相邻运动矢量(MV)候选。空间MV候选根据特定PU(PU0)的相邻块推导,尽管根据块生成候选的方法对于合并和AMVP模式是不同的。
在合并模式中,编码器和/或解码器可以通过考虑将多个运动数据位置的候选进行合并而形成合并候选列表。例如,如图2A所示,参考图2A中用数字0-4示出的空间相邻运动数据位置,可以推导多达四个空间MV候选。在合并候选列表中可以以数字0-4所示的顺序对MV候选进行排序。例如,位置和顺序可以包括:左位置(0)、上位置(1)、右上位置(2)、左下位置(3)和左上位置(4)。
在图2B中示出的AVMP模式下,相邻块被划分为两组:包括块0和1的左组,以及包括块2、3和4的上组。对于每一组,参考与被信令通知的参考索引所指示的参考画面相同的参考画面的相邻块中的潜在候选具有被选择以形成该组的最终候选者的最高优先级。可能不是全部的相邻块都包含指向相同参考画面的运动矢量。因此,如果找不到这样的候选,则第一可用的候选将被缩放以形成最终的候选,从而时间距离差可以得以补偿。
本文所描述的一些示例可以使用自适应运动矢量分辨率(AMVR)模式,如上所述。AMVR是指在图像处理期间自适应地调整运动矢量的范围或分辨率。AMVR的使用实现了在对运动矢量差进行编解码时的不同级别的精确度,这使得提高了编解码效率并且可以涉及分数样点单元(例如,半像素或任何分辨率级别的其他这种分数样点)的使用。在一些实现方式中,均匀分数样点单元、整数样点单元等可以用于整个范围,或者样点单元的范围可以根据区域来自适应地设置。前者可以称为线性AMVR,而后者可以称为非线性AMVR。AMVR模式的使用可以进一步涉及滤波器索引值的显式信令(例如,使用视频比特流中的语法元素)以用于当前图像的运动补偿处理。
在上述情况下,参考画面重采样(RPR)是可以用于允许具有与正被编码或解码的当前画面的画面尺寸不同的画面尺寸的参考画面的重采样过程。当参考画面具有与当前画面不同的尺寸时,画面重采样过程可以被调用以提供画面中的一个画面的上采样或下采样版本以匹配另一画面的尺寸(例如,对参考画面进行上采样或下采样以匹配当前画面尺寸)。在一些示例中,这种重采样可以与用于在H.265/HEVC标准的可缩放扩展(SHVC)中使用的空间可缩放性的操作相似。RPR过程可以应用于具有不同尺寸的单层的画面并且/或者可以应用于具有不同尺寸的不同层的画面。下面参考图3描述了将RPR应用于来自不同层的不同尺寸的画面的说明性示例。
图3是示出在不同缩放值(例如,不同尺寸)的情况下系统中的画面数据的各方面的图。画面或画面的数据(例如,访问单元)可以被赋予层结构。每一层都可以用于具有不同尺寸(例如,分辨率)的画面帧。图3中示出的一个这种示例包括两层,而其他各种示例可以使用其他数量的层(例如,三层、四层等)。如上所述,单个层内的画面可以具有不同的尺寸,在这种情况下,RPR过程可以被执行。在图3的示例中,显示了三个画面的数据,其中每个画面与两个不同的画面尺寸相关联。第一画面与第一画面尺寸的层1单元314和第二画面尺寸的层0单元312相关联。相似地,第二画面与第一画面尺寸的层1单元324和第二画面尺寸的层0单元322相关联,以及第三画面与第一画面尺寸的层1单元334和第二画面尺寸的层0单元332相关联。在信令通知期间,可以构建参考画面列表来识别参考画面以在处理当前画面中使用。在一些示例中,来自一个层(例如,处于第一分辨率)的画面可以用作第二层(例如,处于第二分辨率)的当前画面的参考画面。在另一示例中,单层可以具有不同尺寸的画面,如上所述。
通过RPR,不同尺寸的画面(或画面的块)(例如,来自单个层的画面或来自不同层的画面)可以用作当前画面的块的参考画面。这种参考画面可以存储在经解码画面缓冲器(DPB)中(例如,使用用于滤波器单元(例如,图8的滤波器单元91)的存储器(例如,图8的画面存储器92)或参考画面存储装置)。参考画面采样工具可以用于根据参考画面生成必要的参考数据,以用于处理当前画面。在一些示例中,该参考画面采样工具可以是滤波器单元(例如,图8的滤波器单元91)的一部分,或者在其他示例中可以是如本文所述的用于编码或解码的设备的任一方面的一部分。
图4是示出根据本文所描述的示例的参考画面重采样的进一步方面的图。图4包括参考画面410和当前画面420。参考画面410具有第一水平网格间距414和第一垂直网格间距412。当前画面420具有不同于第一水平网格间距414的第二水平网格间距424。当前画面还具有不同于第一垂直网格间距412的第二垂直网格间距422。第一网格间距412和414可以例如与第一层相关联,而第二网格间距422和424可以与第二层相关联。参考画面410可以是视频流中与第二层的当前画面420相连续的第一层画面,其中作为预测操作的一部分,参考画面410被选为当前画面420的参考画面。
参考画面410和当前画面420均包括像素网格,包括参考画面410的像素418和419以及当前画面420的像素428。每个像素可以具有相关联的数据,例如像素的红、绿和蓝部分的颜色值。每种颜色在每个像素处都有数据值。每个画面的每个像素都可以与画面的网格中的整数位置(例如,尺寸或缩放值)相关联。直接从一个像素指向另一像素的标准运动矢量430可以使用像素的整数位置。然而,如上所述,分数精度可以允许运动矢量430指向像素之间。半像素精度可以例如允许运动矢量430指向像素419和418之间的中间。四分之一像素精度允许运动矢量430指向像素之间的三个不同位置(例如,四分之一、二分之一和四分之三)处以及直接指向像素的整数位置。
如上所述,AMVR允许运动矢量旋进被自适应地设置于不同的分数精度级别。当使用AMVR模式的图像处理被实现时,MV精度可以以整像素精确度(例如,其中MV位于仅用于网格间距412、414、422和424的网格点处,没有分数精度)或者以被实现的AMVR模式所支持的任一分数精度级别(例如,允许MV以用于网格间距412、414、422和424的分数精度级别指向网格点之间的点)来自适应地选择。允许系统自适应地确定分辨率级别(例如,以网格间距级别的整数分辨率或针对网格间距之间的精度的分数分辨率)提高了编解码效率。这种提高的编解码效率可以使用附加语法元素来进行信令通知,其还可以显式地指示当前画面的滤波器索引,如本文中针对各种示例所描述的。
插值用于在给定预期运动或其他变化的情况下选择像素位置处的数据值(例如,红、绿和蓝的数据值),包括像素内数据(例如,根据使用分数精度的运动矢量的像素内数据)。在处理(例如,解码或编码)期间,对每个像素或对每个像素的每个样点(例如,亮度样点和/或色度样点)执行处理。对每个像素或每个像素的每个样点执行滤波,包括差值和由于RPR引起的任一重采样补偿,以在视频数据处理期间生成当前画面420的像素或样点值。在另一示例中,插值和重采样滤波可以被合并到一个滤波过程中。在处理期间,每个像素或样点都将具有附加的缩放值和运动矢量。如上所述,在不同情况下可以使用不同的滤波器(例如,运动矢量430的不同值或参考画面410和当前画面420之间的不同缩放值)。
以下的表1提供了具有滤波器索引的滤波器系数的示例表,用于在不同半像素插值滤波器之间进行插值滤波器切换:
Figure BDA0003527967350000271
表1
表1示出了用于在十六分之一精度位置处进行滤波的插值滤波器系数的表格。取决于分数精度位置(例如,第一列中的分数样点位置1-15,其中0位置是非分数或整数位置),可以使用不同的滤波器系数(例如,来自于对应于分数位置的行中的系数)。此外,在半像素位置(例如,表1的十六分之一分数精度中的分数样点位置8),有两个插值滤波器可用,并且可以使用信令在此级别的滤波器之间切换。虽然表1描述了用于以半像素级别进行插值滤波器切换(例如,在滤波器索引值1和2之间进行选择)的两个滤波器,但其他示例可以使用两个以上的滤波器进行切换,或者可以包括附加滤波器以用于在任一分数位置处进行切换。添加用于插值滤波器切换的附加滤波器可以在图像处理期间以额外的信令和处理资源为代价来提高分数精度。
在JVET-N0279和JVET-O0242中,RPR被提出,JVET-N0279和JVET-O0242的全部内容通过引用并入本文并用于全部目的。在该提案中,当前画面(例如,当前正在被编码或解码的画面)和参考画面可以具有如上所述的不同分辨率(例如,尺寸、网格间距、缩放值等)。在这种情况下,在运动补偿期间,在通过调整插值滤波器相位进行插值滤波时分辨率上的差被考虑。例如,在实时视频通信中,允许分辨率在经编解码视频序列内变化而不插入帧内预测画面(I-画面)不仅可以使视频数据无缝适应于动态信道条件或用户偏好,还可以消除I-画面造成的影响。当自适应分辨率发生变化时,可以根据不同尺寸的参考画面预测当前画面。下面描述参考画面重采样(或缩放)过程的说明性示例。
在JVET-O0057中,可切换插值滤波器概念被提出给VVC,JVET-O0057的全部内容通过引用并入本文并且用于全部目的。在本文档中,一个或多个插值滤波器可以被切换。例如,滤波器索引可以是信令通知的或推断出的(例如,由解码器)以指示:另一插值滤波器被用于块。滤波器索引可以基于块被信令通知(例如,显式地或通过半像素AMVR模式信令被信令通知)。例如,在具有半像素AMVR的系统中,在比特流中信令通知的语法元素(例如,指示表1的特定滤波器索引值的语法元素)可以显式地指示在处理与该语法元素相关联的当前块时要使用的滤波器索引。在AMVR使用除半像素以外的分数精度的示例中,相似的信令通知可以使用被配置为AMVR实现方式的特定分辨率选项的语法元素。
在其他实现方式中,滤波器索引不需要通过比特流中具体指示要使用的滤波器索引的语法元素来显式地信令通知。在没有显式信令的这类其他示例中,可以通过类合并(merge-like)模式(例如以上参考图2A和2B所述的合并模式)中的运动矢量候选来推断(例如,由解码器)滤波器索引。
在一个说明性示例中,可以总共定义N个具有不同特性(例如,诸如滤波器长度、截止频率、过渡频带或波纹量)的滤波器。对于每个块,可以定义N个滤波器的子集,并且可以将在子集中选取的滤波器的索引显式或隐式地信令通知给解码器(例如,使用如表1中所示的标志或滤波器索引值)。子集可以基于某些标准(例如,先前已被编解码的块中的滤波器的命中率、运动矢量值、缩放值等)从一个块变化到另一个块。
当插值滤波器切换发生时,由滤波器索引指示的滤波器可以适合于插值目的,但不可以被用于画面重采样目的(以及在一些情况下的其他采样率转换过程)。例如,平滑滤波器可能不是一个好的重采样滤波器。在不同的滤波器之间切换(例如,插值滤波器切换)允许图像处理操作取决于正在被滤波的像素的特性(例如,当前画面和相关联的参考画面中的像素的关联运动矢量和缩放值)在图像之间创建稳定性。例如,滤波器索引可以具有不同滤波器的滤波器索引值。在一些示例中,信令通知(例如,使用标志)要被使用的滤波器以指示索引中的滤波器中的哪一个要被使用(例如,在插值滤波器之间切换)。在另一示例中,要被使用的滤波器可以来自空间候选(例如,参考画面),其中滤波器索引与运动矢量数据一起被存储并且从参考画面传播以与当前画面一起使用。
本文中所描述的方法、装置和计算机可读介质解决了上述问题以及其他问题。在一些示例中,如下文更详细地描述的,可以执行条件检查以识别当前画面尺寸和参考画面尺寸是否为相同尺寸。可以在不同级别执行该条件检查,如下文所详细描述的。
图5是示出用于处理视频数据的方法500的流程图。在一些示例中,方法500由包括存储器和一个或多个处理器的设备执行。在一些示例中,方法500可以由诸如设备104的编码设备执行。在一些示例中,方法500可以由诸如设备112的解码设备执行。在一些示例中,方法500被体现为存储在计算机可读存储器中的指令,当该指令被一个或多个处理器执行时使得一个或多个处理器执行方法500。
在操作505处,方法500包括获得当前画面和参考画面。如上所述,在各种示例中,当前画面和参考画面可以以各种方式(例如,各种单元、切片等)进行划分和构造。
方法500的操作510包括识别用于当前画面的当前块的滤波器索引信息。在不同的示例中,滤波器索引信息可以根据相邻块来推断,或者可以作为AMVR的一部分被信令通知。在一些示例中,滤波器索引信息包括AMVR模式信令数据,其中当前滤波器索引通过AMVR模式信令被信令通知。在一些示例中,滤波器索引信息包括相邻块信息,则在合并模式运动矢量候选列表推导期间根据相邻块信息推导当前滤波器索引。滤波器索引信息包括诸如滤波器索引或滤波器索引值的运动信息。在合并模式中,该滤波器索引信息可以从相邻块中被传播或隐含。在AMVR模式下,可以使用AMVR信令将滤波器索引信息显式地信令通知。
方法500的操作515包括确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值。在一些示例中,该确定可以涉及宽度和高度比较。在其他示例中,可以使用任何其他这样的比较。在一个示例中,确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值包括确定下述中至少之一:当前画面宽度不同于参考画面宽度;以及当前画面高度不同于参考画面高度。该画面尺寸检查可以用作改变滤波器索引的条件。取决于画面尺寸检查和滤波器索引的相关联变化,可以配置原始索引值(例如,由画面尺寸检查指示的情况下,被替换之前的当前索引值)的传播(例如,通过存储原始索引值并将其替换以用于传播步骤,或者如果默认值不替换原始索引值,则保留原始索引值)。
在操作520,方法500包括通过使用默认滤波器索引替换由滤波器索引信息标识的当前滤波器索引来执行采样率转换过程。在一些示例中,采样率转换过程包括重采样过程。例如,操作520可以包括通过使用默认滤波器索引替换由滤波器索引信息标识的当前滤波器索引来执行重采样过程。在一些示例中,采样率转换过程包括插值过程。该执行可以基于确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值。在各种示例中,在当前画面和参考画面具有不同尺寸值时,采样率转换过程(例如,重采样过程)在不使用当前滤波器索引的情况下执行。在一些这种示例中,当前滤波器索引的默认值由设备解析或者包括备选的可切换滤波不作为采样率转换过程(例如,重采样过程)的一部分被应用的指示。
在各种示例中,当推导出滤波器索引(例如,由信令或推导指示的当前索引)时,该值与块在一起,并且可以用于(例如,被传播)由系统处理的后续块。在这种示例中,如果默认滤波器索引值用于当前画面(例如,不使用备选的可切换滤波器),则默认滤波器索引值不从当前画面传播,而原始值可以被存储或者默认值可以在用于到后续画面的传播之后被替换为原始值。
在一些示例中,该方法还可以涉及用于以下的操作:将由滤波器索引信息标识的当前滤波器索引与当前块一起存储,并且基于正由滤波器索引信息标识的当前滤波器索引在针对后续块的运动矢量候选推导中使用当前滤波器索引。在一些示例中,该方法还可以涉及用于以下的操作:在不使用当前滤波器索引的情况下执行采样率转换过程(例如,重采样过程)时,为当前滤波器索引分配默认值以临时替换原始值以创建默认滤波器索引,并且用于在采样率转换过程(例如,重采样过程)之后为当前滤波器索引分配原始值。原始的这种重新分配允许:即使当前滤波器索引值不用于当前画面,当前滤波器索引值(例如,原始值)也被传播到后续画面。
一些这样的示例可以通过以下来运行:确定当前滤波器索引不用于采样率转换过程(例如,重采样过程),以及响应于确定当前滤波器索引不用于采样率转换过程(例如,重采样过程)而用默认值替换当前滤波器索引的值。相似地,一些这样的示例通过对默认值进行处理以确定备选的可切换滤波器不被应用来运行。
一些示例可以在下述情况下运行:响应于确定当前滤波器索引不被用于采样率转换过程(例如,重采样过程)中而不信令通知当前滤波器索引值。一些示例可以在当前滤波器索引选自滤波器集的情况下运行,在这种情况下,该滤波器集的子集用于执行采样率转换过程(例如,重采样过程),并且该滤波器集的剩余部分对于采样率转换不可用(例如,对于重采样不可用)。一些这样的示例在下述情况下运行:使用语法元素来选择当前滤波器索引,该语法元素指示禁止从滤波器集的剩余部分选择当前滤波器索引。
然后根据需要,方法500可以作为解码或编码操作的一部分被重复。在一些操作中,方法500将不用于一些迭代(例如,在不涉及重采样或涉及其他采样率转换过程的情况下的插值,例如当参考画面与当前画面尺寸相同时)。如上所述,在一些示例中,采样率转换过程包括重采样过程。方法500的操作还可以包括识别用于插值的第一滤波器组和用于重采样的第二滤波器组,其中当前滤波器索引来自第二滤波器组。方法500的操作还可以包括获得第二当前画面和第二参考画面,确定第二当前画面的第三画面尺寸值与第二参考画面的第四画面尺寸值是相同的尺寸值。基于确定第二当前画面的第三画面尺寸值和第二参考画面的第四画面尺寸值是相同的尺寸值,方法500的操作可以包括使用第二选择的滤波器对第二当前块执行第二重采样过程,其中第二选择的滤波器来自第一滤波器组。在一些这样的示例中,第一滤波器组和第二滤波器组中的每个滤波器都由相关联的滤波器索引标识,相关联的滤波器索引指示来自用于插值的滤波器集或用于重采样的滤波器集的相关联索引值。一些这样的示例还包括通过针对选择的滤波器索引值的查找操作根据滤波器索引获得当前滤波器索引,其中选择的滤波器索引值与第二滤波器组相关联,并且其中选择的滤波器索引值和第二滤波器组之间的关联是基于确定第一画面尺寸值不同于第二画面尺寸值。
在一些示例中,在当前画面宽度不同于参考画面宽度或者当前画面高度不同于参考画面高度的情况下,当前滤波器索引不用于(例如,被忽略或者重采样过程或其他采样率转换过程不依赖于当前滤波器索引的值)重采样过程中。推导的或信令通知的滤波器索引可以与当前块一起存储,并用于后续块中的运动矢量候选推导过程中。当确定推导的或信令通知的滤波器索引不被使用时,滤波器索引的默认值可以在重采样过程中临时分配,而推导的或信令通知的滤波器索引值在重采样过程之后保持不变。在这种情况下,默认值可以指示备选的可切换滤波器不被应用。
在一些这样的示例中,滤波器索引是在用于合并模式的运动矢量候选列表推导过程期间根据相邻块来推导的,如上所述。在其他示例中,滤波器索引通过AMVR模式被信令通知。在一些示例中,采样率转换过程是运动补偿过程。在一些这样的示例中,参考画面是用于当前画面的当前块的帧间预测的参考画面。
在一些示例中,当确定推导的或信令通知的滤波器索引不被使用时,该滤波器索引值可以被替换为默认值。在一些这样的示例中,默认值指示备选的可切换滤波器不被应用,其中在一个示例中备选的滤波器可以是平滑滤波器。在一些其他示例中,当确定滤波器索引不在重采样过程(或其他采样率转换过程)中使用时,滤波器索引值不被信令通知。
在一些实现方式中,本文所描述的过程(或方法)可以由计算设备或由装置执行,例如图1中所示的系统100。例如,这些过程可以由图1和图7中所示的编码设备104执行、由另一视频源侧设备或视频传输设备执行、由图1和图8中所示的解码设备112执行、和/或由另一客户端设备执行,该另一客户端设备是例如播放器设备、显示器或任何其他客户端设备。在一些情况下,计算设备或装置可以包括处理器、微处理器、微型计算机或被配置为执行本文所述的过程的步骤的设备的其他组件。在一些示例中,计算设备或装置可以包括被配置为捕获包括视频帧的视频数据(例如,视频序列)的相机。在一些示例中,捕获视频数据的相机或其他捕获设备与计算设备分离设置,在这种情况下,计算设备接收或获得捕获的视频数据。计算设备还可以包括被配置为传送视频数据的网络接口。网络接口可以被配置为传送基于互联网协议(IP)的数据或其他类型的数据。在一些示例中,计算设备或装置可以包括用于显示输出视频内容的显示器,例如视频比特流的画面的样点。
图6是示出根据一些示例的参考画面重采样的各方面的流程图,在图6中被示出为方法600。方法600可以作为图像或视频处理程序的一部分来执行,例如根据VVC、JEM或如上所述的其他视频编解码标准程序的处理过程。
在视频处理期间,作为方法600的实现方式的一部分,操作602包括识别当前画面。可以使用如上所述的POC或使用用于识别与图像集(例如,视频)中的图像相关联的数据的任何其他操作来识别当前画面。
为了处理在操作602中识别的当前画面,在操作604中识别参考画面。作为该识别的一部分,可以选择一个或多个参考画面或参考画面候选(例如,来自DPB)用于如上文和下文详细描述的参考画面列表(例如,使用POC)。取决于实现方式,可以从参考画面列表中选择单个参考画面用于处理当前画面的各方面。在一些实现方式中,不同的参考画面可以用于处理当前画面的不同部分,但是在处理的过程中,使用来自单个参考画面的数据(例如,用于创建运动矢量(诸如,使用参考画面410的运动矢量430)的图像数据)。
另外,在根据方法600的视频处理期间,各种不同的模式可以用作视频处理的一部分。这些可以包括如上所述的用于运动预测的不同模式,例如AMVR和合并模式。在不同的实现方式中,这些模式可以在处理单个图像、图像的部分或图像组的过程中发生变化。
不同的处理模式可以以不同的方式来信令通知在处理当前图像中要使用的滤波器的信息。例如,如本文所述,AMVR可以显式地信令通知指示标识与在处理当前图像中要使用的滤波器有关的信息的滤波器索引值的语法元素。相比之下,通过根据其他画面(例如,相邻画面、参考画面等)来推导滤波器索引信息,合并模式可以在没有显式滤波器索引信令的情况下运行。在操作608中,确定用于识别滤波器索引信息的适当操作,并且处理操作继续进行该适当操作以收集滤波器索引信息。如果显式滤波器索引信令被使用,则在操作610中,对显式信令通知的语法元素进行解析以收集滤波器索引信息(例如,滤波器索引的值)。如果显式滤波器索引信令不被使用,则在操作612中,推导滤波器索引信息(例如,从相邻图像或图像部分传播)。
一旦在操作610或在操作612中收集了滤波器索引信息,滤波器索引信息就用于在操作614中设置当前滤波器索引值。例如,在使用表1的实现方式中,基于滤波器索引信息,滤波器索引值可以被设置为与半像素分数索引位置相关联的两个滤波器索引值之一。
操作616包括条件检查,其用于根据重采样是否被使用来选择适当的滤波器。条件检查涉及对当前画面和在操作604中识别的参考画面的尺寸进行比较。如本文所述,条件检查可以涉及比较水平尺寸、垂直尺寸、分辨率值或与当前画面和参考画面的尺寸相关联的任何其他这种信息。在一些示例中,可以以块为基础来执行条件检查(例如,比较参考和当前画面尺寸或进行缩放)。例如,可以执行条件检查以检查包含块的当前画面和在该块中由参考索引指示的参考画面是否具有相同的画面尺寸或者它们是否不具有相同的尺寸。在一些示例中,可以对切片、图块、子画面或其他块组级别执行条件检查。例如,条件检查可以检查当前画面和可用于帧间预测的参考画面是否具有相同的尺寸。
在一些示例中,可以在序列级别对条件进行检查,例如检查具有不同画面尺寸的可能性是否是可能的。在一个示例中,可以在参数集中指示(例如,由PPS、SPS和/或VPS中的标志指示)画面重采样是否可以被应用。
在一些情况下,当画面尺寸被推导时(例如,对于当前画面和参考画面两者),该尺寸可以是经解码画面尺寸或经裁剪画面尺寸。例如,一致性窗口(conformance window)可以在比特流中被信令通知,并且可以被解码器或媒体播放器应来以将经解码画面裁剪为经裁剪画面尺寸。在一些情况下,用于条件检查的画面尺寸可以基于经解码画面尺寸和各种偏移(例如,左偏移、右偏移、顶偏移和/或底偏移)来推导。可以在参数集(例如,PPS、SPS和/或VPS)或其他地方(例如,在SEI消息、切片报头或其他信令机制中)中信令通知经解码画面尺寸和/或偏移。在这种情况下,可以通过考虑当前画面的画面尺寸和带有所应用的偏移的参考画面的尺寸来推导用于重采样的缩放比。在一些实现方式中,偏移可以与在HEVC标准中(例如,在可缩放扩展中)使用的缩放偏移相似。用于当前画面和参考画面的该缩放比率和/或尺寸值然后可以在确定哪些滤波器被应用于处理当前画面中使用。本文所描述的技术可以使用检查当前画面尺寸和参考画面尺寸是否是相同尺寸的任一方法。
取决于操作616的结果,然后可以以不同的方式(例如,使用不同的滤波器)来处理当前图像。如果当前画面和参考画面被识别为相同尺寸,则在操作618中,当前索引值(例如,如上信令通知的或推导的)在处理当前图像中使用。
在当前画面和参考画面尺寸不相同的情况下,然后,在操作620中,操作614中设置的当前滤波器索引值被忽略。这可以涉及在用于滤波的系统内设置的涉及参考画面重采样的默认滤波器值或者用于该检查条件为真的操作的默认滤波器回路的使用。在一些示例中,如果识别出检查条件为真(例如,当前画面和参考的画面尺寸,或双向预测中的一个或两个参考画面是不同),则在SPS中的序列级别上、在通过PPS信令的画面级别上、在切片和/或图块级别上、和/或在块级别上,一个或多个可切换插值滤波器的使用被禁用。这种可切换插值滤波的禁用(例如,当在系统内使用了可切换插值滤波时使用设置的当前滤波器索引值)可以被认为是默认滤波器或用于在操作614中设置的可切换插值滤波器的任一替换滤波器的选择。
无论选择了哪个滤波器,在操作622中都使用选择的滤波器对当前画面进行处理。该处理可以是对当前图像的不同部分进行滤波的编解码回路的一部分,因此取决于实现方式,可以以不同的方式对方法600的操作进行重复和循环,以使用不同的滤波器来处理当前图像或当前图像的部分。在方法600的示例中,操作624包括传播当前滤波器索引值,以使得该信息在需要的情况下可用于后续块。这可以涉及生成显式信令,或者可以涉及存储当前滤波器索引值以使得其可以在操作612的后续迭代期间被访问以推导滤波器索引值(例如,在当前画面或当前画面的一部分变为正在被处理的后续当前画面的相邻或参考画面时)。然后,方法600可以结束并且可以被循环以处理视频流。很明显的是,可以用附加的重复或介于其间的操作来实现方法600,这取决于如何使用可切换插值滤波的使用(例如,在用于可切换插值滤波的结构在SPS中的序列级别上、在通过PPS信令的画面级别上、在切片上和/或图块级别上、和/或在块级别上要被禁用的情况下)。此外,在某些模式或处理操作期间,可切换插值滤波可以不被使用(例如,在可切换插值滤波的情况下,对单个四分之一像素或表1的除了半像素索引值之外的其他值的选择),则方法600在被用于同一视频的其他部分时不可以被用于处理视频的某一部分。
在一些情况下,当在块级别上禁用了一个或多个可切换插值滤波器的使用时(例如,当识别出检查条件为真时),不为块信令通知指示滤波器索引的语法元素(例如,半像素AMVR模式信令,其中不同的半像素插值被隐式地隐含)。在这种情况下,与用于指示不同插值滤波器的半像素AMVR的可切换滤波(例如滤波器索引)相关联的语法元素取决于画面尺寸检查(例如,当前画面尺寸和参考画面尺寸是否是相同尺寸)。
在一些情况下,当在块级别上禁用了一个或多个可切换插值滤波器的使用时(例如,当识别出检查条件为真时),如果滤波器索引或不同滤波器的使用(例如,通过例如半像素AMVR信令或以合并模式或其他类合并的模式)被信令通知或根据相邻块推断出,则滤波器索引被修改并被设置为用于根据相邻块的所推导的运动矢量候选的默认滤波器索引值。在一个示例中,默认滤波器可以指示可切换滤波器不被应用。根据各种示例,可以显式地或隐式地指示选择的滤波器。在一些示例中,显式语法元素是经由AMVR模式信令来信令通知的。在其他示例中,滤波器是从相邻块或参考块隐含的、推导的或传播的。当被信令通知(例如,显式地或隐式地)的滤波器索引由于可切换插值滤波被禁用而不被使用时,默认滤波器索引值可以被使用。该默认滤波器可以指示可切换滤波不被使用(例如,作为用于在其不被允许时禁用可切换插值滤波的过程的一部分)。
在一些情况下,当在块级别上禁用了可切换插值滤波器的使用时(当识别出检查条件为真时),如果滤波器索引(或通过例如半像素AMVR信号使用不同的滤波器)是例如以合并模式或其他类合并模式根据相邻块推断的,则滤波器索引(或通过例如半像素AMVR模式的隐式信令)是根据相邻块推导的,而在重采样过程中,所推导的滤波器索引被忽略,并且即使可能指示应该使用可切换滤波,也会应用重采样滤波器。用于当前块的所推导的滤波器索引可以与块一起被存储并且可以用于后续块(在当前块之后),在这种情况下滤波器索引传播。
在一些示例中,在以下情况下对上述想法进行扩展:滤波器可以选自滤波器集(例如,表1的两个半像素滤波器),仅滤波器的子集可以用于重采样,并且对于重采样不可用的其他滤波器也被限制选择(在一个示例中,指示基于画面尺寸不同的条件这种选择可以被禁止的语法元素)或者在执行重采样过程时这种选择被忽略。
在一些示例中,两个滤波器组或滤波器集可以被提供,其中一个滤波器组用于插值(例如,用于使用在操作618中选择的滤波器的处理操作622)而另一滤波器组用于重采样(例如,使用在操作620中选择的滤波器的处理操作622)。在这种示例中,如果滤波器的切换被指示,则基于画面尺寸不同的条件从组中选择滤波器,即执行重采样。例如,滤波器索引可以指示使用来自滤波器集(或组)中的具有滤波器索引的滤波器,其中基于是否仅对块执行了插值或重采样来识别该集(或组)。
在更详细的示例中,假定有用于插值的滤波器集(表示为interpolationSet)和用于重采样的另一滤波器集(表示为resamplingSet)。滤波器集可以具有一个滤波器或多个滤波器(滤波器集的尺寸可以是1或大于1)。可以选择具有值filterIndex的滤波器索引以在块中使用。在块中使用的滤波器可以通过查找具有索引filterIndex的滤波器而从滤波器集中获得。滤波器可以来自interpolationSet或resamplingSet集,并且滤波器集是基于当前画面和参考画面尺寸是否相同的条件来识别的。如果当前画面和参考画面尺寸相同(在这种情况下不需要重采样),则滤波器集被识别为interpolationSet。如果当前画面和参考画面尺寸不同(在这种情况下执行重采样),则滤波器集被识别为resamplingSet。该技术的优点是不需要改变滤波器索引信令和滤波器索引推断(例如,滤波器索引值可以在被插值或被重采样的相邻块之间传播),并且基于画面尺寸条件从集中仅选择最终滤波器。
现在将对参考画面重采样(或缩放)RPR过程的说明性示例进行描述。如上所述,当有分辨率变化时(例如,在经编解码视频序列(CVS)内),画面可以具有与其参考画面中的一个或多个不同的尺寸。RPR过程可以被执行以将全部运动矢量归一化到当前画面网格,而不是它们对应的参考画面网格。这样的过程可以有利于保持设计一致性并使得分辨率变化对运动矢量预测过程是透明的。否则,指向具有不同尺寸的参考画面的相邻运动矢量由于比例不同而不可以被直接用于空间运动矢量预测。
当发生分辨率变化时,运动矢量和参考块都可以在进行运动补偿预测时被缩放。在一些情况下,缩放范围被限制为[1/8,2](例如,放大被限制为1∶8,而缩小被限制为2∶1)。这里,放大(或上采样)是指参考画面小于当前画面的情况,而缩小(或下采样)是指参考画面大于当前画面的情况。以下对缩放过程进行更详细地描述。
对于亮度块,缩放因子及其定点表示可以被定义为:
Figure BDA0003527967350000381
Figure BDA0003527967350000382
RPR过程可以包括两部分,包括:(1)将当前块的左上角像素映射到参考画面;以及(2)使用水平和垂直步长来处理当前块的其他像素的参考位置。在一些情况下,如果当前块的左上角像素的坐标为(x,y),则运动矢量(mvX,mvY)指向的参考画面中的以1/16像素为单位的亚像素(subpel)位置(x′,y′)被指定,其中在参考画面中的水平位置为:
x′=((x<<4)+mvX)·hori_scale_fp,等式(3)
并且,x′进一步被缩小以仅保留10个分数位:
x′=Sign(x′)·((Abs(x′)+(1<<7))>>8),等式(4)
相似地,在参考画面中的垂直位置为:
y′=((y<<4)+mvY)·vert_scale_fp,等式(5)
并且,y′被进一步缩小至:
y′=Sign(y′)·((Abs(y′)+(1<<7))>>8),等式(6)
此时,当前块的左上角像素的参考位置在(x′,y′)处。可以相对于(x′,y′)以水平和垂直步长来计算其他参考亚像素/像素位置。可以根据上述水平和垂直缩放因子以1/1024像素精度(或其他像素精度)来推导那些步长,如下式:
x_step=(hori_scale_fp+8)>>4,等式(7)
y_step=(vert_scale_fp+8)>>4,等式(8)
在一个示例中,如果当前块中的像素距离左上角像素(或样点)有i列和j行远,则其对应的参考像素的水平和垂直坐标由下式推导:
x′i=x′+i*x_step,等式(9)
y′j=y′+j*y_step,等式(10)
在亚像素插值中,x′i和y′j可能需要被分解为整像素部分和分数像素部分,如下式,其中用于寻址参考块的整像素部分等于:
(x′i+32)>>10,等式(11)
(y′j+32)>>10,等式(12)
用于选择插值滤波器的分数像素部分等于:
Δx=((x′i+32)>>6)&15,等式(13)
Δy=((y′j+32)>>6)&15等式(14)
一旦确定了参考画面内的整像素和分数像素位置,就可以使用现有的运动补偿插值器而无需任何另外的改变。整像素位置将被用于从参考画面中获取参考块片,而分数像素位置将被用于选择适当的插值滤波器。
现在描述色度块的RPR过程的示例。例如,当色度格式为4:2:0时,色度运动矢量的精度为1/32像素。在本示例中,色度运动矢量和色度参考块的缩放过程与亮度块的相似,只是引入了色度格式相关的调整。
在当前色度块的左上角像素坐标为(xc,yc)时,参考色度画面中的初始水平和垂直位置为:
xc′=((xc<<5)+mvX)·hori_scale_fp,等式(15)
yc′=((yc<<5)+mvY)·vert_scale_fp,等式(16)
其中,mvX和mvY是原始亮度运动矢量,但现在应该以1/32像素精度进行检测。xc′和yc′进一步被缩小以保持1/1024像素精度,如下式:
xc′=Sign(xc′)·((Abs(xc′)+(1<<8))>>9),等式(17)
yc′=Sign(yc′)·((Abs(yc′)+(1<<8))>>9),等式(18)
与相关联的亮度等式相比,上述右移增加了一个额外比特。
所使用的步长可以与用于亮度的相同。对于相对于左上角像素的(i,j)处的色度像素,其参考像素的水平和垂直坐标由下式推导:
Figure BDA0003527967350000401
Figure BDA0003527967350000402
在亚像素插值中,
Figure BDA0003527967350000403
Figure BDA0003527967350000404
也被分解为整像素部分和分数像素部分,并且用于寻址参考块的整像素部分等于:
Figure BDA0003527967350000405
Figure BDA0003527967350000406
用于选择插值滤波器的分数像素部分等于:
Figure BDA0003527967350000407
Figure BDA0003527967350000408
可以参照逻辑流程图来描述过程,其操作表示可以在硬件、计算机指令、或其组合中实现的操作的序列。在计算机指令的上下文中,操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,当该指令由一个或多个处理器执行时,执行所列举的操作。通常,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不旨在被解释为限制,而可以以任何顺序和/或并行地组合任何数量的所述的操作来实现这些过程。
另外,这些过程可以在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可以被实现为在一个或多个处理器上共同执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用),这些过程还可以由硬件、或者上述的组合的方式来实施。如上所述,代码可以例如以包括可由一个或多个处理器执行的多个指令的计算机程序的形式存储在计算机可读或机器可读存储介质上。计算机可读或机器可读存储介质可以是非暂时性的。
本文所讨论的编解码技术可以在示例视频编码和解码系统(例如,系统100)中实现。在一些示例中,系统包括提供稍后要由目标设备解码的经编码视频数据的源设备。具体地,源设备经由计算机可读介质向目标设备提供视频数据。源设备和目标设备可以包括各种各样设备中的任一种,包括桌上型计算机、笔记本(即膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话的电话手机、所谓的“智能”平板、电视、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备等。在一些情况下,源设备和目标设备可以被装备以用于无线通信。
目标设备可以经由计算机可读介质接收要被解码的经编码视频数据。计算机可读介质可以包括能够将经编码视频数据从源设备移动到目标设备的任何类型的介质或设备。在一个示例中,计算机可读介质可以包括通信介质以使得源设备实时地将经编码视频数据直接传输到目标设备。经编码视频数据可以根据诸如无线通信协议之类的通信标准被调制,并且被传输到目标设备。通信介质可以包括任何无线的或有线的通信介质,例如射频(RF)频谱或一条或多条物理传输线。通信介质可以形成基于分组的网络的一部分,诸如局域网、广域网或诸如因特网的全球网络。通信介质可以包括路由器、交换机、基站或者可以对促进从源设备到目标设备的通信有用的任何其他设备。
在一些示例中,经编码数据可以从输出接口输出到存储设备。类似地,可以通过输入接口从存储设备访问经编码数据。存储设备可以包括各种分布式的或本地访问的数据存储介质中的任何一种,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪存、易失性或非易失性存储器,或用于存储经编码视频数据的任何其他合适的数字存储介质。在另一示例中,存储设备可以对应于文件服务器或可以存储由源设备生成的经编码视频的另一中间存储设备。目标设备可以经由流或下载来访问存储设备中的存储视频数据。文件服务器可以是能够存储经编码视频数据并将该经编码视频数据传输到目标设备的任何类型的服务器。示例文件服务器包括Web服务器(例如,用于网站)、FTP服务器、附网存储(NAS)设备或本地磁盘驱动器。目标设备可以通过任何标准数据连接,包括互联网连接,来访问经编码视频数据。目标设备可以包括适合用于访问存储在文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或两者的组合。从存储设备的经编码视频数据的传输可以是流式传输、下载传输、或其组合。
在一个示例中,源设备包括视频源、视频编码器和输出接口。目标设备可以包括输入接口、视频解码器和显示设备。源设备的视频编码器可以被配置为应用本文所公开的技术。在其他示例中,源设备和目标设备可以包括其他组件或布置。例如,源设备可以从外部视频源(例如,外部相机)接收视频数据。同样地,目标设备可以与外部显示设备连接,而不是包括集成的显示设备。
以上的示例系统仅仅是一个示例。用于并行处理视频数据的技术可以由任何数字视频编码和/或解码设备执行。尽管本公开的技术通常由视频编码设备执行,但是这些技术也可以由视频编码器/解码器执行,视频编码器/解码器通常称为“编解码器”。此外,本公开的技术还可以由视频预处理器执行。源设备和目标设备仅仅是其中源设备生成经编码视频数据以用于传输到目标设备的编解码设备的示例。在一些示例中,源设备和目标设备可以以基本对称的方式运行,使得设备中的每一个都包括视频编码和解码组件。从而,示例系统可以支持视频设备之间的单向或双向视频传输,例如,用于视频流式传输、视频回放、视频广播或视频电话。
视频源可以包括视频捕获设备,例如摄像机、包含先前所捕获的视频的视频档案,和/或用于从视频内容提供者接收视频的视频馈送接口。作为另一可替换方案,视频源可以生成基于计算机图形的数据作为源视频,或者实况视频、存档视频和计算机生成视频的组合。在一些情况下,如果视频源是摄像机,则源设备和目标设备可以形成所谓的摄像电话或视频电话。然而,如上所述,本公开中所描述的技术通常适用于视频编解码,并且可以被应用于无线和/或有线应用。在每种情况下,捕获的、预先捕获的或计算机生成的视频可以由视频编码器进行编码。然后可以通过输出接口将经编码视频信息输出到计算机可读介质上。
如上所述,计算机可读介质可以包括瞬时介质(例如,无线广播或有线网络传输)或存储介质(即,非暂时存储介质)(例如,硬盘、闪存驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读介质)。在一些示例中,网络服务器(未示出)可以从源设备接收经编码视频数据并且例如经由网络传输将经编码视频数据提供给目标设备。类似地,诸如光盘冲压机构的介质生产设施的计算设备可以从源设备接收经编码视频数据并且生产包含该经编码视频数据的光盘。因此,在各种示例中,计算机可读介质可以被理解为包括各种形式的一个或多个计算机可读介质。
目标设备的输入接口从计算机可读介质接收信息。计算机可读介质的信息可以包括由视频编码器定义的、由视频解码器使用的语法信息。该信息包括描述块和其他经编解码单元(例如,画面组(GOP))的特性和/或处理的语法元素。显示设备向用户显示经解码视频数据,并且可以包括各种显示设备中的任一种,各种显示设备包括例如阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器、或另一类型的显示设备。本申请的多种实施例已经被描述。
编码设备104和解码设备112的具体细节在图7和图8中分别示出。图7是示出可以实现本公开中所描述的技术中的一种或多种的示例编码设备104的框图。编码设备104可以例如生成本文所述的语法结构(例如,VPS、SPS、PPS或其他语法元素的语法结构)。编码设备104可以对视频切片内的视频块执行帧内预测和帧间预测编解码。如前所述,帧内编解码至少部分依赖于空间预测以减少或去除给定视频帧或画面内的空间冗余。帧间编解码至少部分依赖于时间预测以减少或去除视频序列的相邻或周围帧内的时间冗余。帧内模式(I模式)可以指几种基于空间的压缩模式中的任何一种。帧间模式,例如单向预测(P模式)或双向预测(B模式),可以指几种基于时间的压缩模式中的任何一种。
编码设备104包括分割单元35、预测处理单元41、滤波器单元63、画面存储器64、加法器50、变换处理单元52、量化单元54和熵编码单元56。预测处理单元41包括运动估计单元42、运动补偿单元44和帧内预测处理单元46。针对视频块重建,编码设备104还包括逆量化单元58、逆变换处理单元60和加法器62。滤波器单元63旨在表示一个或多个环路滤波器,例如,去块滤波器、自适应环路滤波器(ALF)和样点自适应偏移(SAO)滤波器。虽然滤波器单元63在图7中示出为环路滤波器,但是在其他配置中,滤波器单元63可以被实现为后环路滤波器。后处理设备57可以对由编码设备104生成的经编码视频数据执行附加处理。本公开的技术可以在一些示例中由编码设备104实现。然而,在其他示例中,本公开的技术中的一种或多种可以由后处理设备57实现。
如图7所示,编码设备104接收视频数据,并且分割单元35将数据分割为视频块。分割还可以包括分割成切片、切片段、图块或其他更大的单元,以及例如根据LCU和CU的四叉树结构的视频块分割。编码设备104大概示出对要被编码的视频切片内的视频块进行编码的组件。切片可以被划分为多个视频块(并且可能被划分为被称为图块的视频块集)。预测处理单元41可以基于误差结果(例如,编解码率和失真程度等)为当前视频块选择多种可能的编解码模式中的一种,例如,多种帧内预测编解码模式中的一种或者多种帧间预测编解码模式中的一种。预测处理单元41可以将所得的经帧内或帧间编解码块提供给加法器50以生成残差块数据,并提供给加法器62以重建经编码块用作参考画面。
预测处理单元41内的帧内预测处理单元46可以相对于同一帧或切片内的一个或多个相邻块来执行对当前视频块的帧内预测编解码作为要被编解码的当前块,以提供空间压缩。预测处理单元41内的运动估计单元42和运动补偿单元44相对于一个或多个参考画面中的一个或多个预测块来执行当前视频块的帧间预测编解码,以提供时间压缩。
运动估计单元42可以被配置为根据视频序列的预定模式确定视频切片的帧间预测模式。预定模式可以将序列中的视频切片指定为P切片、B切片或GPB切片。运动估计单元42和运动补偿单元44可以被高度集成,但出于概念的目的被分开地示出。由运动估计单元42执行的运动估计是生成对视频块的运动进行估计的运动矢量的过程。运动矢量例如可以指示当前视频帧或画面内的视频块的预测单元(PU)相对于参考画面内的预测块的位移。
预测块是被发现在像素差方面与要被编解码的视频块的PU紧密匹配的块,其可以由绝对差之和(SAD)、平方差之和(SSD),或其他差值度量来确定。在一些示例中,编码设备104可以计算画面存储器64中存储的参考画面的子整数像素位置的值。例如,编码设备104可以对参考画面的四分之一像素位置、八分之一像素位置或其他分数像素位置的值进行插值。因此,运动估计单元42可以相对于全像素位置和分数像素位置执行运动搜索并且输出具有分数像素精度的运动矢量。
运动估计单元42通过将PU的位置与参考画面的预测块的位置进行比较来计算经帧间编解码切片中的视频块的PU的运动矢量。可以从第一参考画面列表(列表0)或第二参考画面列表(列表1)中选择参考画面,其中每个列表标识存储于画面存储器64中的一个或多个参考画面。运动估计单元42将算出的运动矢量发送到熵编码单元56和运动补偿单元44。
由运动补偿单元44执行的运动补偿可以涉及基于由运动估计确定的运动矢量来获取或生成预测块,可能执行到子像素精度的插值。在接收到当前视频块的PU的运动矢量后,运动补偿单元44可以定位参考画面列表中的运动矢量所指向的预测块。编码设备104通过从正被编解码的当前视频块的像素值中减去预测块的像素值来形成像素差值,从而形成残差视频块。像素差值形成块的残差数据,并且可以包括亮度差分量和色度差分量两者。加法器50表示执行此减法运算的一个或多个组件。运动补偿单元44还可以生成与视频块及视频切片相关联的语法元素以供解码设备112在对视频切片的视频块进行解码期间使用。
帧内预测处理单元46可以对当前块进行帧内预测,作为由运动估计单元42和运动补偿单元44执行的帧间预测的替换方案,如上所述的。具体地,帧内预测处理单元46可以确定帧内预测模式以用于对当前块进行编码。在一些示例中,帧内预测处理单元46可以例如在分开的编码通道期间使用各种帧内预测模式对当前块进行编码,并且帧内预测单元处理46可以从经测试的模式中选择适当的帧内预测模式来使用。例如,帧内预测处理单元46可以针对各种经测试的帧内预测模式使用率失真分析来计算率失真值,并且可以选择经测试的模式中具有最佳率失真特性的帧内预测模式。率失真分析通常确定经编码块和已经被编码并产生该经编码块的原始未编码块之间的失真(或误差)的量,以及用于产生该经编码块的比特率(即,比特的个数)。帧内预测处理单元46可根据各种经编码块的失真和率来计算比例,以确定哪个帧内预测模式呈现出针对块的最佳率失真值。
在任何情况下,在为块选择了帧内预测模式之后,帧内预测处理单元46可以向熵编码单元56提供指示为该块选择的帧内预测模式的信息。熵编码单元56可以对指示所选择的帧内预测模式的信息进行编码。编码设备104可以在传输的比特流配置数据中包括各种块的编码上下文的定义以及最可能的帧内预测模式的指示、帧内预测模式索引表的指示和经修改的帧内预测模式索引表的指示,以用于上下文中的每一个。比特流配置数据可以包括多个帧内预测模式索引表和多个经修改的帧内预测模式索引表(也称为码字映射表)。
在预测处理单元41经由帧间预测或帧内预测生成当前视频块的预测块之后,编码设备104通过从当前视频块中减去预测块来形成残差视频块。残差块中的残差视频数据可以包含于一个或多个TU中并被应用于变换处理单元52。变换处理单元52使用变换,例如离散余弦变换(DCT)或概念上类似的变换,将残差视频数据变换为残差变换系数。变换处理单元52可以将残差视频数据从像素域变换到变换域,例如频域。
变换处理单元52可以将所得到的变换系数发送到量化单元54。量化单元54对变换系数进行量化以进一步降低比特率。量化过程可以减少与一些或全部系数相关联的比特深度。可以通过调节量化参数来修改量化的程度。在一些示例中,然后,量化单元54可以执行包括量化的变换系数的矩阵的扫描。可替换地,熵编码单元56可以执行该扫描。
在量化之后,熵编码单元56对量化的变换系数进行熵编码。例如,熵编码单元56可以执行上下文自适应可变长度编解码(CAVLC)、上下文自适应二进制算术编解码(CABAC)、基于语法的上下文自适应二进制算术编解码(SBAC)、概率区间分割熵(PIPE)编解码或另一熵编码技术。在熵编码单元56进行熵编码之后,经编码比特流可以被传输到解码设备112,或者被存档以供解码设备112稍后进行传输或检索。熵编码单元56还可以对正在被编解码的当前视频切片的运动矢量和其他语法元素进行熵编码。
逆量化单元58和逆变换处理单元60分别应用逆量化和逆变换来重建像素域的残差块,以稍后用作参考画面的参考块。运动补偿单元44可通过将残差块与参考画面列表内的参考画面中之一的预测块相加来计算参考块。运动补偿单元44还可以将一个或多个插值滤波器应用于重建残差块来计算子整数像素值以用于运动估计中。加法器62将重建残差块与运动补偿单元44产生的运动补偿预测块相加来产生参考块以存储在画面存储器64中。该参考块可以被运动估计单元42和运动补偿单元44用作参考块以对后续的视频帧或画面中的块进行帧间预测。
在这种方式下,图7的编码设备104表示被配置为执行本文所述的技术中的任一种,包括上文参照图5描述的方法500。在一些情况下,本公开的技术中的一些还可以由后处理设备57实现。
图7是示出示例解码设备112的框图。解码设备112包括熵解码单元80、预测处理单元81、逆量化单元86、逆变换处理单元88、加法器90、滤波器单元91以及画面存储器92。预测处理单元81包括运动补偿单元82和帧内预测处理单元84。在一些示例中,解码设备112可以执行与参照图7的中的编码设备104描述的编码通道大体相反的解码通道。
在解码过程期间,解码设备112接收表示由编码设备104发送的经编码视频切片的视频块和相关联的语法元素的经编码视频比特流。在一些实施例中,解码设备112可以从编码设备104接收经编码视频比特流。在一些实施例中,解码设备112可以从网络实体79接收经编码视频比特流,其中网络实体79包括例如服务器、媒体感知网络元件(MANE)、视频编辑器/拼接器或被配置为实现上述技术中的一种或多种的其他这种设备。网络实体79可以包括或者可以不包括编码设备104。本公开中描述的技术中的一些可以在网络实体79向解码设备112发送经编码视频比特流之前由网络实体79实现。在一些视频解码系统中,网络实体79和解码设备112可以是分离设备的部分,而在其他示例中,参照网络实体79描述的功能可以由包括解码设备112的相同设备来执行。
解码设备112的熵解码单元80对比特流进行熵解码以生成量化的系数、运动矢量和其他语法元素。熵解码单元80将运动矢量和其他语法元素转发到预测处理单元81。解码设备112可以在视频切片级别和/或视频块级别接收语法元素。熵解码单元80可以对在或多个参数集(例如VPS、SPS和PPS)中的固定长度语法元素和可变长度语法元素都进行处理和解析。
当视频切片被编解码为经帧内编解码(I)切片时,预测处理单元81的帧内预测处理单元84可以基于用信令通知的帧内预测模式和来自当前帧或画面的先前的经解码块的数据来生成当前视频切片的视频块的预测数据。当视频帧被编解码为经帧间编解码(即,B、P或GPB)切片时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动矢量和其他语法元素来产生当前视频切片的视频块的预测块。预测块可以从参考画面列表内的参考画面中之一中产生。解码设备112可以基于存储在画面存储器92中的参考画面,使用默认构建技术来构建参考帧列表,列表0和列表1。
运动补偿单元82通过解析运动矢量和其他语法元素来确定当前视频切片的视频块的预测信息,并且使用该预测信息来产生当前正被解码的视频块的预测块。例如,运动补偿单元82可以使用参数集中的一个或多个语法元素来确定:用于对视频切片的视频块进行编解码的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、针对切片的一个或多个参考画面列表的构建信息、切片的每个经帧间编码视频块的运动矢量、切片的每个经帧间编解码视频块的帧间预测状态,以及用于解码当前视频切片中的视频块的其他信息。
运动补偿单元82还可以基于插值滤波器来执行插值。运动补偿单元82可以使用如编码设备104在视频块的编码期间使用的插值滤波器来计算参考块的子整数像素的插值后的值。在这种情况下,运动补偿单元82可以根据所接收的语法元素来确定编码设备104所使用的插值滤波器,并可使用该插值滤波器来产生预测块。
逆量化单元86对比特流中提供的并由熵解码单元80解码的量化的变换系数进行逆量化或去量化。逆量化过程可以包括使用由编码设备104为视频切片中的每个视频块计算的量化参数来以确定量化的程度以及应该被应用的逆量化的程度。逆变换处理单元88对变换系数应用逆变换(例如,逆DCT或其他合适的逆变换)、逆整数变换或概念上类似的逆变换过程,以便于产生像素域的残差块。
在运动补偿单元82基于运动矢量和其他语法元素生成当前视频块的预测块之后,解码设备112通过将来自逆变换处理单元88的残差块与由运动补偿单元82生成的对应的预测块相加来形成经解码视频块。加法器90表示执行该求和运算的一个或多个组件。如果需要,环路滤波器(在编解码环路中或在编解码环路之后)也可以被用于平滑像素过渡,或者提高视频质量。滤波器单元91旨在表示一个或多个环路滤波器,例如去块滤波器、自适应环路滤波器(ALF)和样点自适应偏移(SAO)滤波器。虽然图8中将滤波器单元91示出为环路滤波器,但是在其他配置中,滤波器单元91可以被实现为后环路滤波器。然后,给定帧或画面中的经解码视频块被存储于画面存储器92中,该画面存储器92存储参考画面以用于后续运动补偿。画面存储器92还存储经解码视频以供稍后在例如图1中所示的视频目标设备122的显示设备上呈现。
在这种情况下,图8的解码设备112表示被配置执行本文所描述的技术中的任一种(包括上文参照图3所述的方法300)的视频解码器的一种示例。
本发明的技术不一定受限于无线应用或设置。这些技术可以被应用于支持以下多种多媒体应用中的任一种的视频编解码:例如空中电视广播、有线电视传输、卫星电视传输、互联网流视频传输(例如,HTTP上的动态自适应流(DASH))、被编码到数据存储介质上的数字视频、存储在数据存储介质上的数字视频的解码,或其他应用。在一些示例中,系统可以被配置为支持单向或双向视频传输以支持例如视频流式传输、视频回放、视频广播和/或视频电话的应用。
如本文所使用,术语“计算机可读介质”包括但不限于便携式或非便携式存储设备、光存储设备以及能够存储、包含或携带指令的各种其他介质和/或数据。计算机可读介质可以包括其中可以存储数据并且不包括无线地或通过有线连接进行传播的载波和/或瞬态电子信号的非暂时性介质。非暂时性介质的示例可以包括但不限于磁盘或磁带、诸如压缩光盘(CD)或数字多功能盘(DVD)的光存储介质、闪存、存储器或存储设备。计算机可读介质可以在其上存储代码和/或机器可执行指令,这些代码和/或指令可以表示过程、函数、子程序、程序、例程、子例程、模块、软件包、类或指令、数据结构或程序语句的任何组合。代码段可以通过传递和/或接收信息、数据、自变量、参数或存储器内容而耦合到另一个代码段或硬件电路。信息、自变量、参数、数据等可以经由包括存储器共享、消息传递、令牌传递、网络传输等任何合适的手段被传递、转发、或传输。
在一些实施例中,计算机可读存储设备、介质和存储器可以包括包含比特流等的电缆或无线信号。然而,当被提及时,非暂时性计算机可读存储介质明确排除诸如能量、载波信号、电磁波和信号本身之类的介质。
在以上描述中提供了具体细节以提供对本文提供的实施例和示例的全面理解。然而,本领域普通技术人员应当理解的是,可以在没有这些具体细节的情况下实践这些实施例。为了解释的清楚,在一些示例中,本技术可以被呈现为包括独立的功能块,这些功能块包括包含设备、设备组件、以软件或者硬件和软件的组合体现的方法中的步骤或例程的功能块。可以使用除了图中所示和/或本文所述的组件之外的附加组件。例如,电路、系统、网络、过程和其他组件可以以框图形式示出为组件,以免在不必要的细节方面混淆实施例。在其他示例中,为了避免使实施例晦涩难懂,可以示出已知的电路、过程、算法、结构、和技术,而不带有不必要的细节。
以上可以将各个实施例描述为过程或方法,其被描绘为流程图、流程图、数据流图、结构图或框图。尽管流程图可以将操作描述为顺序过程,但许多操作可以并行或者同时被执行。另外,可以重新安排操作的顺序。过程在其操作完成时被终止,但可以具有图中未包括的其他步骤。过程可以对应于方法、函数、进程、子例程、子程序等。当过程对应于函数时,其的终止可以对应函数返回到调用函数或主函数。
可以使用存储的或者来自计算机可读介质的可用的计算机可执行指令来实现根据上述示例的过程和方法。这种指令可以包括例如导致或配置通用计算机、专用计算机或处理设备以执行特定功能或功能组的指令和数据。所使用的计算机资源的部分可以通过网络易访问。计算机可执行指令可以是例如二进制、诸如汇编语言的中间格式指令、固件、源代码等。可以用于存储指令、使用的信息和/或在根据上述示例的方法期间创建的信息的计算机可读介质的示例包括磁盘或光盘、闪存、配备有非易失性存储器的USB设备、网络存储设备等。
实现根据这些公开的过程和方法的设备可以包括硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合,并且可以采用多种形式因素中的任何一种。当以软件、固件、中间件或微代码的形式被实现时,执行必要任务(例如,计算机程序产品)的程序代码或代码段可以被存储于计算机可读或机器可读介质中。处理器可以执行必要的任务。形式因素的典型示例包括膝上型计算机、智能手机、移动电话、平板设备或其他小外形因素个人计算机、个人数字助理、机架式设备、独立设备等。本文所描述的功能还可以体现在外围设备或插卡中。作为另一示例,这样的功能还可以在不同芯片之间或在单个设备中执行的不同过程之间的电路板上被实现。
指令、用于传送这种指令的介质、用于执行其的计算资源以及用于支持这些计算资源的其他结构是用于提供本公开中描述的功能的示例手段。
在前面的描述中,参考本申请的具体实施例描述了本申请的各方面,但是本领域技术人员应该了解的是,本申请并不限于此。因此,虽然本文中详细描述了本申请的说明性实施例,但应当理解的是,本发明构思可以多方面地被体现和采用,并且所附权利要求旨在被解释为包括这些变体,除非受限于现有技术。上述申请的各种特征和方面可以单独地或联合地被使用。而且,在不脱离本说明书的更广泛的精神和范围的情况下,实施例可以在超出本文描述的环境和应用的任何数量的环境和应用中被使用。因此,说明书和附图被认为是说明性的而非限制性的。为了说明的目的,按特定顺序描述了方法。应当理解的是,在替换实施例中,这些方法可以按照与所描述的顺序不同的顺序被执行。
普通技术人员应当理解的是,本文使用的小于(“<”)和大于(“>”)符号或术语可以在不脱离本说明书的范围的情况下分别被替换为小于或等于(“≤”)和大于或等于(“≥”)符号。
在组件被描述为“被配置为”执行某些操作的情况下,这种配置可以通过设计电子电路或其他硬件来执行操作、通过对可编程电子电路(例如,微处理器,或其他合适的电子电路)进行编程来执行操作、或其任何组合来完成。
短语“耦合到”是指直接地或间接地被物理连接到另一个组件的任何组件,和/或直接地和/或间接地与另一个组件进行通信(例如,通过有线或无线连接,和/或其他合适的通信接口,被连接到另一个组件)的任何组件。
陈述集合“中的至少一个”和/或集合“中的一个或多个”的权利要求语言或其他语言指示该集合的一个成员或该集合的多个成员(以任一组合的方式)都满足权利要求。例如,陈述“A和B中的至少一个”或“A或B中的至少一个”的权利要求语言的意思是A、B或A和B。在另一示例中,陈述“A、B和C中的至少一个”或“A、B或C中的至少一个”的权利要求语言的意思是A、B、C,或A和B,或A和C,或B和C,或A和B和C。语言集合“中的至少一个”和/或集合“中的一个或多个”并不将该集合限制为集合中所列的项目。例如,陈述“A和B中的至少一个”或“A或B中的至少一个”的权利要求语言可以表示A、B或A和B,并且可以另外包括未在A和B的集合中列出的项目。
结合本文公开的实施例描述的各种说明性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件、固件或其组合。为了清楚地说明硬件和软件的这种可互换性,以上已经在其的功能方面对各种说明性组件、块、模块、电路和步骤进行了大体描述。这种功能被实现为硬件还是软件取决于特定的应用和对整个系统施加的设计约束。技术人员可以针对每种特定应用以不同方式来实现所描述的功能,但是这种实现决定不应被解释为导致偏离本申请的范围。
本文所描述的技术还可以在电子硬件、计算机软件、固件或其任何组合中被实现。这些技术可以在各种设备中的任一种中被实现。各种设备包括例如通用计算机、无线通信设备手机或具有多种用途(包括在无线通信设备手机和其他设备中的应用)的集成电路设备。被描述为模块或组件的任何特征可以在集成逻辑设备中一起被实现或者在分立可互操作的逻辑设备被分开实现。如果以软件实现,则这些技术可以至少部分地通过包括程序代码的计算机可读数据存储介质来实现。程序代码包括在被执行时执行这些方法中的一个或多个的指令。计算机可读数据存储介质可以形成计算机程序产品的一部分,其可以包括分组材料。计算机可读介质可以包括存储器或数据存储介质,例如,诸如同步动态随机存取存储器(SDRAM)的随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、FLASH存储器、磁或光数据存储介质等。另外地或可替换地,这些技术可以至少部分地由计算机可读通信介质来实现,该计算机可读通信介质携带或传送以指令或数据结构形式的、可以由计算机访问、读取和/或执行的程序代码,例如传播的信号或波。
程序代码可以由处理器执行,处理器可以包括一个或多个处理器,例如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA),或者其他等效的集成或分立逻辑电路。这种处理器可以被配置为执行本公开中所描述的任何技术。通用处理器可以是微处理器;但在替换方案中,处理器可以是任何传统的处理器、控制器、微控制器或状态机。处理器还可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器的组合、一个或多个微处理器与DSP核结合的组合,或任何其他这样的配置。因此,如本文所使用的术语“处理器”可以指前述结构的任一种、前述结构的任何组合、或者适用于实施本文所述技术的任何其他结构或装置。另外,在一些方面,本文所述的功能可以被提供于被配置为编码和解码的专用软件模块或硬件模块内,或者被包含在组合的视频编码器-解码器(编解码器)中。
本公开的说明性示例包括:
示例1:一种处理视频数据的方法,该方法包括:获得视频数据的当前画面;确定当前画面的尺寸不同于至少一个参考画面的尺寸;基于当前画面的尺寸不同于至少一个参考画面的尺寸,确定可切换插值滤波的使用被禁用;以及基于当前画面的尺寸不同于至少一个参考画面的尺寸,执行至少一个参考画面的参考画面重采样。
示例2.根据示例1的方法,其中以块为基础来执行确定尺寸。
示例3.根据示例1的方法,其中以切片为基础来执行确定尺寸。
示例4.根据示例1的方法,其中以图块为基础来执行确定尺寸。
示例5.根据示例1的方法,其中以子画面为基础来执行确定尺寸。
示例6.根据示例1的方法,其中在序列级别上执行确定尺寸。
示例7.根据示例1至6中任一项的方法,其中当前画面的尺寸是当前画面的经解码画面尺寸。
示例8.根据示例1至6中的任一项的方法,其中当前画面的尺寸是在应用一个或多个一致性窗口之后的当前画面的经裁剪画面尺寸。
示例9.根据示例1至8中的任一项的方法,其中基于当前画面的经解码画面尺寸和一个或多个偏移来确定参考画面的尺寸。
示例10.根据示例1至9中任一项的方法,还包括:基于当前画面的尺寸和带有所应用的偏移的参考画面的尺寸来确定用于执行参考画面重采样的缩放比率。
示例11.根据示例1至10中任一项的方法,其中对于基于可切换插值滤波在块级别被禁用的具有经编码视频比特流的块,与可切换插值滤波相关联的一个或多个语法元素不被信令通知。
示例12.根据示例11的方法,其中与可切换插值滤波相关联的一个或多个语法元素包括指示用于当前画面的块的滤波器索引的语法元素。
示例13.根据示例1至12中任一项的方法,其中当可切换插值滤波在块级别被禁用时,并且当块的滤波器索引根据该块的一个或多个相邻块推断出时,滤波器索引被修改并设置为根据该块的相邻块的所推导的运动矢量候选的默认滤波器索引。
示例14.根据示例13的方法,其中默认滤波器索引指示可切换插值滤波不被应用。
示例15.根据示例13或14中任一项的方法,其中默认滤波器索引针对该块被忽略并且与该块一起被存储以用于一个或多个后续块。
示例16.根据示例1至15中的任一项的方法,还包括生成包括当前画面的经编码视频比特流。
示例17.根据示例1至15中任一项的方法,还包括:对当前画面进行解码。
示例18.一种装置包括被配置为存储视频数据的存储器以及被配置为处理根据示例1至17中任一项的视频数据的处理器。
示例19.根据示例18的装置,其中该装置包括编码器。
示例20.根据示例18的装置,其中该装置包括解码器。
示例21.根据示例18至20中任一项的装置,其中该装置是移动设备。
示例22.根据示例18至21中任一项的装置,还包括被配置为显示视频数据的显示器。
示例23.根据示例18至22中任一项的装置,还包括被配置为捕获一个或多个画面的相机。
示例24.一种其上存储有指令的计算机可读介质,该指令在被处理器执行时执行示例1至17中任一项的方法。
示例24.一种处理,视频数据的方法,该方法包括:获得视频数据的当前画面;确定当前画面的尺寸是否不同于至少一个参考画面的尺寸;获得指示要从第一滤波器集或第二滤波器集中选择的滤波器的滤波器索引,第一滤波器集包括一个或多个插值滤波器,而第二集包括用于执行至少一个参考画面的参考画面重采样的一个或多个滤波器;以及基于当前画面的尺寸是否不同于至少一个参考画面的尺寸来确定是否从第一滤波器集或第二滤波器集中选择滤波器。
示例25.根据示例24的方法,还包括:确定当前画面的尺寸和至少一个参考画面的尺寸是相同尺寸;以及基于确定当前画面的尺寸和至少一个参考画面的尺寸是相同尺寸从第一滤波器集中选择滤波器。
示例26.根据示例24的方法,还包括:确定当前画面的尺寸不同于至少一个参考画面的尺寸;以及基于确定当前画面的尺寸不同于至少一个参考画面的尺寸从第二滤波器集中选择滤波器。
示例27.一种装置,包括被配置为存储视频数据的存储器和被配置为根据示例24至26中任一项处理视频数据的处理器。
示例28.根据示例27的装置,其中该装置包括编码器。
示例29.根据示例27的装置,其中该装置包括解码器。
示例30.根据示例27至29中任一项的装置,其中该装置是移动设备。
示例31.根据示例27至30中任一项的装置,还包括被配置为显示视频数据的显示器。
示例32.根据示例27至31中任一项的装置,还包括被配置为捕获一个或多个画面的相机。
示例33.一种其上存储有指令的计算机可读介质,该指令在被处理器执行时执行示例24至26中任一项的方法。
示例34.一种用于处理视频数据的装置,该装置包括:存储指令的一个或多个存储器单元;以及执行指令的一个或多个处理器,其中一个或多个处理器对该指令的执行使得一个或多个处理器:获得当前画面和参考画面;识别用于当前画面的当前块的滤波器索引信息;确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值;以及基于确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值,不使用由滤波器索引信息标识的当前滤波器索引来执行重采样过程。
示例35.一种用于处理视频数据的装置,该装置包括:存储指令的一个或多个存储器单元;以及执行指令的一个或多个处理器,其中一个或多个处理器对该指令的执行使得一个或多个处理器:获得当前画面和参考画面;识别用于当前画面的当前块的滤波器索引信息;确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值;以及基于确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值,使用默认滤波器索引(例如,默认索引值)替换由滤波器索引信息标识的当前滤波器索引来执行采样率转换过程。
示例36.根据示例34或35中任一项的装置,其中一个或多个处理器对该指令的执行还使得一个或多个处理器:将由滤波器索引信息标识的当前滤波器索引与当前块一起存储;以及基于由滤波器索引信息标识的当前滤波器索引在后续块的运动矢量候选推导中使用当前滤波器索引。
示例37.根据示例34或35中任一项的装置,其中所述一个或多个处理器对该指令的执行还使得一个或多个处理器:在不使用当前滤波器索引来执行采样率转换过程时,为当前滤波器索引分配默认值以临时替换原始值,以创建默认滤波器索引;以及在采样率转换过程之后为当前滤波器索引分配原始值。
示例38.根据示例37的装置,其中当前滤波器索引的默认值指示备选的可切换滤波不被应用为重采样过程的一部分。
示例39.根据示例34至38中任一项的装置,滤波器索引信息包括相邻块信息,并且其中当前滤波器索引是在合并模式运动矢量候选列表推导期间根据相邻块信息推导的。
示例40.根据示例34至39中任一项的装置,其中滤波器索引信息包括自适应运动矢量分辨率(AMVR)模式信令,并且其中通过MVR模式信令来信令通知当前滤波器索引。
示例41.根据示例34至40中任一项的装置,其中采样率转换过程是运动补偿过程。
示例42.根据示例34至41中任一项的装置,其中采样率转换过程包括重采样过程。
示例43.根据示例34至42中任一项的装置,其中采样率转换过程包括插值过程。
示例44.根据示例34至43中任一项的装置,其中一个或多个处理器对该指令的执行还使得一个或多个处理器使用参考画面进行当前画面的当前块的帧间预测。
示例45.根据示例34至44中任一项的装置,其中一个或多个处理器对该指令的执行还使得一个或多个处理器:确定当前滤波器索引不被用于采样率转换过程;以及响应于确定当前滤波器索引不被用于采样率转换过程而用默认值替换当前滤波器索引的值。
示例46.根据示例34至45中任一项的装置,其中一个或多个处理器对该指令的执行还使得一个或多个处理器对默认值进行处理以确定备选的可切换滤波器不被应用。
示例47.根据示例46的设备,其中备选的可切换滤波器是平滑滤波器。
示例48.根据示例34至47中任一项的装置,其中响应于确定在采样率转换过程中当前滤波器索引不被使用,当前滤波器索引值不被信令通知。
示例49.根据示例34至48中任一项的装置,其中当前滤波器索引选自滤波器集,其中滤波器集的子集被用于执行采样率转换过程,而其中滤波器集的剩余部分对于采样率转换不可用。
示例50.根据示例49中任一项的装置,其中使用指示禁止从滤波器集的剩余部分中选择当前滤波器索引的语法元素来选择当前滤波器索引。
示例51.根据示例34至50中任一项的装置,其中采样率转换过程包括重采样过程,并且其中一个或多个处理器对该指令的执行还使得一个或多个处理器:识别用于插值的第一滤波器组和用于重采样的第二滤波器组,其中当前滤波器索引来自第二滤波器组。
示例52.根据示例51的装置,其中一个或多个处理器对该指令的执行还使得一个或多个处理器:获得第二当前画面和第二参考画面;确定第二当前画面的第三画面尺寸值和第二参考画面的第四画面尺寸值是相同的尺寸值;以及基于确定第二当前画面的第三画面尺寸值和第二参考画面的第四画面尺寸值是相同的尺寸值,使用第二选择的滤波器执行第二当前块的第二重采样过程,其中第二选择的滤波器来自第一滤波器组。
示例53.根据示例51或52中任一项的装置,其中第一滤波器组和第二滤波器组中的每个滤波器由相关联的滤波器索引标识,相关联的滤波器索引指示来自用于插值的滤波器集或用于重采样的滤波器集的相关联的索引值。
示例54.根据示例51至53中任一项的装置,其中一个或多个处理器对该指令的执行还使得一个或多个处理器:通过针对选择的滤波器索引值的查找操作从滤波器索引中获得当前滤波器索引;其中选择的滤波器索引值与第二滤波器组相关联;并且其中选择的滤波器索引值与第二滤波器组之间的关联是基于确定第一画面尺寸值不同于第二画面尺寸值。
示例55.根据示例34至54中任一项的装置,其中确定当前画面的第一画面尺寸值不同于参考画面的第二画面尺寸值包括确定以下各项中的至少之一:当前画面宽度不同于参考画面宽度;以及当前画面高度不同于参考画面高度。
示例56.根据示例34至55中任一项的设备,其中一个或多个处理器对指令的执行还使得一个或多个处理器:生成包括当前画面和参考画面的经编码视频比特流。
示例57.根据示例56的装置,其中一个或多个处理器对该指令的执行还使得一个或多个处理器:向解码设备发送经编码视频比特流,经编码视频比特流与信令信息一起被发送,该信令信息包括默认滤波器索引。
示例58.根据示例56或57中的任一项的装置,其中一个或多个处理器对该指令的执行还使得一个或多个处理器:存储经编码视频比特流。
示例59.根据示例56至58中任一项的装置,其中一个或多个处理器对该指令的执行还使得一个或多个处理器:获得包括当前画面和参考画面的经编码视频比特流;识别与经编码视频比特流相关联的信令信息,该信令信息包括滤波器索引信息;以及从经编码视频比特流中解码当前画面的当前块。
示例60.根据示例34至55中任一项的装置,其中从经编码视频比特流中解码当前画面的当前块包括基于默认滤波器索引来重建当前块。
示例61.根据示例34至60中任一项的装置,其中该装置是移动设备。
示例62.根据示例34至61中任一项的装置,其中该装置包括被配置为显示视频数据的显示器。
示例63.根据示例34至62中任一项的装置,其中该装置包括被配置为捕获视频数据的一个或多个视频帧的相机。
示例64.一种根据以上示例34至63中任一项的方法。
示例65.一种包括指令的非暂时性计算机可读存储介质,当该指令被设备执行时,使得设备执行根据以上示例34至63中任一项的操作。
示例66.一种装置,包括用于执行根据以上示例34至63的任一操作的部件。

Claims (55)

1.一种处理视频数据的方法,所述方法包括:
获得当前画面和参考画面;
识别用于所述当前画面的当前块的滤波器索引信息;
确定所述当前画面的第一画面尺寸值不同于所述参考画面的第二画面尺寸值;以及
基于确定所述当前画面的第一画面尺寸值不同于所述参考画面的第二画面尺寸值,使用默认滤波器索引替换由所述滤波器索引信息标识的当前滤波器索引来执行采样率转换过程。
2.根据权利要求1所述的方法,还包括:
将由所述滤波器索引信息标识的所述当前滤波器索引与所述当前块一起存储;以及
基于由所述滤波器索引信息标识的所述当前滤波器索引,在后续块的运动矢量候选推导中使用所述当前滤波器索引。
3.根据权利要求1所述的方法,还包括:
在不使用所述当前滤波器索引来执行所述采样率转换过程时,为所述当前滤波器索引分配默认值以临时替换原始值,以创建所述默认滤波器索引;以及
在所述采样率转换过程之后为所述当前滤波器索引分配所述原始值。
4.根据权利要求3所述的方法,其中,所述当前滤波器索引的所述默认值指示备选的可切换滤波不被应用为所述采样率转换过程的一部分。
5.根据权利要求1所述的方法,其中,所述滤波器索引信息包括相邻块信息,并且其中所述当前滤波器索引是在合并模式运动矢量候选列表推导期间根据所述相邻块信息推导的。
6.根据权利要求1所述的方法,其中,所述滤波器索引信息包括自适应运动矢量分辨率AMVR模式信令,并且其中通过所述AMVR模式信令来信令通知所述当前滤波器索引。
7.根据权利要求1所述的方法,其中,所述采样率转换过程是运动补偿过程。
8.根据权利要求1所述的方法,其中,所述采样率转换过程包括重采样过程。
9.根据权利要求1所述的方法,其中,所述采样率转换过程包括插值过程。
10.根据权利要求1所述的方法,还包括使用所述参考画面进行所述当前画面的所述当前块的帧间预测。
11.根据权利要求1所述的方法,还包括:
确定所述当前滤波器索引不被用于所述采样率转换过程;以及
响应于确定所述当前滤波器索引不被用于所述采样率转换过程,用默认值替换所述当前滤波器索引的值。
12.根据权利要求11所述的方法,还包括:
对所述默认值进行处理以确定备选的可切换滤波器不被应用。
13.根据权利要求12所述的方法,其中,所述备选的可切换滤波器是平滑滤波器。
14.根据权利要求1所述的方法,其中,响应于确定在所述采样率转换过程中所述当前滤波器索引不被使用,所述当前滤波器索引值不被信令通知。
15.根据权利要求1所述的方法,其中,所述当前滤波器索引选自滤波器集,其中所述滤波器集的子集被用于执行所述采样率转换过程,并且其中所述滤波器集的剩余部分对于采样率转换不可用。
16.根据权利要求15所述的方法,其中,所述当前滤波器索引是使用指示禁止从所述滤波器集的所述剩余部分中选择所述当前滤波器索引的语法元素来选择的。
17.根据权利要求1所述的方法,其中,所述采样率转换过程包括重采样过程,并且还包括:
识别用于插值的第一滤波器组和用于重采样的第二滤波器组,其中所述当前滤波器索引来自所述第二滤波器组。
18.根据权利要求17所述的方法,还包括:
获得第二当前画面和第二参考画面;
确定所述第二当前画面的第三画面尺寸值和所述第二参考画面的第四画面尺寸值是相同的尺寸值;以及
基于确定所述第二当前画面的所述第三画面尺寸值和所述第二参考画面的所述第四画面尺寸值是相同的尺寸值,使用第二选择的滤波器执行第二当前块的第二重采样过程,其中所述第二选择的滤波器来自所述第一滤波器组。
19.根据权利要求17所述的方法,其中,所述第一滤波器组和所述第二滤波器组中的每个滤波器由相关联的滤波器索引标识,所述相关联的滤波器索引指示来自用于插值的滤波器集或用于重采样的滤波器集的相关联的索引值。
20.根据权利要求17所述的方法,还包括:
通过针对选择的滤波器索引值的查找操作从滤波器索引中获得所述当前滤波器索引;
其中所述选择的滤波器索引值与所述第二滤波器组相关联;以及
其中所述选择的滤波器索引值与所述第二滤波器组之间的关联是基于确定所述第一画面尺寸值不同于所述第二画面尺寸值。
21.根据权利要求1所述的方法,其中,确定所述当前画面的所述第一画面尺寸值不同于所述参考画面的所述第二画面尺寸值包括确定以下各项中的至少之一:
当前画面宽度不同于参考画面宽度;以及
当前画面高度不同于参考画面高度。
22.根据权利要求1所述的方法,还包括:
生成包括所述当前画面和所述参考画面的经编码视频比特流。
23.根据权利要求22所述的方法,还包括:
向解码设备发送所述经编码视频比特流,所述经编码视频比特流与信令信息一起发送,所述信令信息包括所述默认滤波器索引。
24.根据权利要求22所述的方法,还包括:
存储所述经编码视频比特流。
25.根据权利要求1所述的方法,还包括:
获得包括所述当前画面和所述参考画面的经编码视频比特流;
识别与所述经编码视频比特流相关联的信令信息,所述信令信息包括所述滤波器索引信息;以及
从所述经编码视频比特流中解码所述当前画面的所述当前块。
26.根据权利要求25所述的方法,其中,从所述经编码视频比特流中解码所述当前画面的所述当前块包括基于所述默认滤波器索引来重建所述当前块。
27.一种用于处理视频数据的装置,所述装置包括:
存储指令的一个或多个存储单元;以及
执行所述指令的一个或多个处理器,其中所述一个或多个处理器对所述指令的执行使得所述一个或多个处理器:
获得当前画面和参考画面;
识别用于所述当前画面的当前块的滤波器索引信息;
确定所述当前画面的第一画面尺寸值不同于所述参考画面的第二画面尺寸值;以及
基于确定所述当前画面的所述第一画面尺寸值不同于所述参考画面的所述第二画面尺寸值,使用默认滤波器索引替换由所述滤波器索引信息标识的当前滤波器索引来执行采样率转换过程。
28.根据权利要求27所述的装置,其中,所述一个或多个处理器对所述指令的执行还使得所述一个或多个处理器:
将由所述滤波器索引信息标识的所述当前滤波器索引与所述当前块一起存储;以及
基于由所述滤波器索引信息标识的所述当前滤波器索引,在后续块的运动矢量候选推导中使用所述当前滤波器索引。
29.根据权利要求27所述的装置,其中,所述一个或多个处理器对所述指令的执行还使得所述一个或多个处理器:
在不使用所述当前滤波器索引来执行所述采样率转换过程时,为所述当前滤波器索引分配默认值以临时替换原始值,以创建所述默认滤波器索引;以及
在所述采样率转换过程之后为所述当前滤波器索引分配所述原始值。
30.根据权利要求29所述的装置,其中,所述当前滤波器索引的所述默认值指示备选的可切换滤波不被应用为所述采样率转换过程的一部分。
31.根据权利要求27所述的装置,其中,所述滤波器索引信息包括相邻块信息,并且其中所述当前滤波器索引是在合并模式运动矢量候选列表推导期间根据所述相邻块信息推导的。
32.根据权利要求27所述的装置,其中,所述滤波器索引信息包括自适应运动矢量分辨率AMVR模式信令,并且其中通过所述AMVR模式信令来信令通知所述当前滤波器索引。
33.根据权利要求27所述的装置,其中,所述采样率转换过程是运动补偿过程。
34.根据权利要求27所述的装置,其中,所述采样率转换过程包括重采样过程。
35.根据权利要求27所述的装置,其中,所述采样率转换过程包括插值过程。
36.根据权利要求27所述的装置,其中,所述一个或多个处理器对所述指令的执行还使得所述一个或多个处理器使用所述参考画面进行所述当前画面的所述当前块的帧间预测。
37.根据权利要求27所述的装置,其中,所述一个或多个处理器对所述指令的执行还使得所述一个或多个处理器:
确定所述当前滤波器索引不被用于所述采样率转换过程;以及
响应于所述确定所述当前滤波器索引不被用于所述采样率转换过程,用默认值替换所述当前滤波器索引的值。
38.根据权利要求37所述的装置,其中,所述一个或多个处理器对所述指令的执行还使得所述一个或多个处理器对所述默认值进行处理以确定备选的可切换滤波器不被应用。
39.根据权利要求38所述的装置,其中,所述备选的可切换滤波器是平滑滤波器。
40.根据权利要求27所述的装置,其中,响应于确定在所述采样率转换过程中所述当前滤波器索引不被使用,所述当前滤波器索引值不被信令通知。
41.根据权利要求27所述的装置,其中,所述当前滤波器索引选自滤波器集,其中所述滤波器集的子集被用于执行所述采样率转换过程,并且其中所述滤波器集的剩余部分对于采样率转换不可用。
42.根据权利要求41所述的装置,其中,所述当前滤波器索引是使用指示禁止从所述滤波器集的所述剩余部分中选择所述当前滤波器索引的语法元素来选择的。
43.根据权利要求27所述的装置,其中,所述采样率转换过程包括重采样过程,并且其中所述一个或多个处理器对所述指令的执行还使得所述一个或多个处理器:
识别用于插值的第一滤波器组和用于重采样的第二滤波器组,其中所述当前滤波器索引来自所述第二滤波器组。
44.根据权利要求43所述的装置,其中,所述一个或多个处理器对所述指令的执行还使得所述一个或多个处理器:
获得第二当前画面和第二参考画面;
确定所述第二当前画面的第三画面尺寸值和所述第二参考画面的第四画面尺寸值是相同的尺寸值;以及
基于确定所述第二当前画面的所述第三画面尺寸值和所述第二参考画面的所述第四画面尺寸值是相同的尺寸值,使用第二选择的滤波器执行第二当前块的第二重采样过程,其中所述第二选择的滤波器来自所述第一滤波器组。
45.根据权利要求43所述的装置,其中,所述第一滤波器组和所述第二滤波器组中的每个滤波器由相关联的滤波器索引标识,所述相关联的滤波器索引指示来自用于插值的滤波器集或用于重采样的滤波器集的相关联的索引值。
46.根据权利要求27所述的装置,其中,所述一个或多个处理器对所述指令的执行还使得所述一个或多个处理器:
通过针对选择的滤波器索引值的查找操作从滤波器索引中获得所述当前滤波器索引;
其中所述选择的滤波器索引值与所述第二滤波器组相关联;以及
其中所述选择的滤波器索引值与所述第二滤波器组之间的关联是基于确定所述第一画面尺寸值不同于所述第二画面尺寸值。
47.根据权利要求27所述的装置,其中,确定所述当前画面的所述第一画面尺寸值不同于所述参考画面的所述第二画面尺寸值包括确定以下各项中的至少之一:
当前画面宽度不同于参考画面宽度;以及
当前画面高度不同于参考画面高度。
48.根据权利要求27所述的装置,其中,所述一个或多个处理器对所述指令的执行使得所述一个或多个处理器:
生成包括所述当前画面和所述参考画面的经编码视频比特流。
49.根据权利要求48所述的装置,其中,所述一个或多个处理器对所述指令的执行使得所述一个或多个处理器:
向解码设备发送所述经编码视频比特流,所述经编码视频比特流与信令信息一起发送,所述信令信息包括所述默认滤波器索引。
50.根据权利要求48所述的装置,其中,所述一个或多个处理器对所述指令的执行使得所述一个或多个处理器:
存储所述经编码视频比特流。
51.根据权利要求27所述的装置,其中,所述一个或多个处理器对所述指令的执行使得所述一个或多个处理器:
获得包括所述当前画面和所述参考画面的经编码视频比特流;
识别与所述经编码视频比特流相关联的信令信息,所述信令信息包括所述滤波器索引信息;以及
从所述经编码视频比特流中解码所述当前画面的所述当前块。
52.根据权利要求51所述的装置,其中,从所述经编码视频比特流中解码所述当前画面的所述当前块包括基于所述默认滤波器索引来重建所述当前块。
53.根据权利要求27所述的装置,其中,所述装置是移动设备。
54.根据权利要求27所述的装置,其中,所述装置包括被配置为显示所述视频数据的显示器。
55.根据权利要求27所述的装置,其中,所述装置包括被配置为捕获所述视频数据的一个或多个视频帧的相机。
CN202080061647.9A 2019-07-09 2020-06-26 利用可切换滤波器的参考画面重采样 Pending CN114303374A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962872225P 2019-07-09 2019-07-09
US62/872,225 2019-07-09
US16/912,660 US11563933B2 (en) 2019-07-09 2020-06-25 Reference picture resampling with switchable filters
US16/912,660 2020-06-25
PCT/US2020/039824 WO2021007048A1 (en) 2019-07-09 2020-06-26 Reference picture resampling with switchable filters

Publications (1)

Publication Number Publication Date
CN114303374A true CN114303374A (zh) 2022-04-08

Family

ID=74102083

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080061647.9A Pending CN114303374A (zh) 2019-07-09 2020-06-26 利用可切换滤波器的参考画面重采样

Country Status (14)

Country Link
US (1) US11563933B2 (zh)
EP (1) EP3997873A1 (zh)
JP (1) JP2022539455A (zh)
KR (1) KR20220030988A (zh)
CN (1) CN114303374A (zh)
AU (1) AU2020311851A1 (zh)
BR (1) BR112021026705A2 (zh)
CA (1) CA3144976A1 (zh)
CL (1) CL2022000026A1 (zh)
CO (1) CO2022000028A2 (zh)
IL (1) IL289255A (zh)
MX (1) MX2022000300A (zh)
TW (1) TW202110178A (zh)
WO (1) WO2021007048A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102600746B1 (ko) 2019-04-01 2023-11-09 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 히스토리 기반 움직임 벡터 예측을 위한 보간 필터 사용
EP3972250A4 (en) * 2019-05-13 2023-01-25 Samsung Electronics Co., Ltd. METHOD AND APPARATUS FOR VIDEO ENCODING BASED ON VIDEO SIZE, AND METHOD AND APPARATUS FOR VIDEO DECODING BASED ON VIDEO SIZE
EP4011084A4 (en) * 2019-08-06 2023-08-09 OP Solutions PRESCALE ADAPTIVE RESOLUTION MANAGEMENT
BR112022002480A2 (pt) * 2019-08-20 2022-04-26 Beijing Bytedance Network Tech Co Ltd Método para processamento de vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador armazenado em uma mídia legível por computador não transitória
US11336894B2 (en) 2019-09-20 2022-05-17 Tencent America LLC Signaling of reference picture resampling with resampling picture size indication in video bitstream
CN113242427B (zh) * 2021-04-14 2024-03-12 中南大学 一种基于vvc中自适应运动矢量精度的快速方法及装置
US20230031886A1 (en) * 2021-08-02 2023-02-02 Tencent America LLC Adaptive up-sampling filter for luma and chroma with reference picture resampling (rpr)
CN116076073A (zh) * 2021-09-02 2023-05-05 辉达公司 用于高性能视频编码的硬件编解码器加速器
WO2023200246A1 (ko) * 2022-04-12 2023-10-19 엘지전자 주식회사 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체
WO2023200243A1 (ko) * 2022-04-12 2023-10-19 엘지전자 주식회사 Mvd 부호 예측에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7720311B1 (en) * 2005-03-03 2010-05-18 Nvidia Corporation Memory and compute efficient block-based two-dimensional sample-rate converter for image/video applications
US10462464B2 (en) * 2013-11-24 2019-10-29 Lg Electronics Inc. Method and apparatus for encoding and decoding video signal using adaptive sampling

Also Published As

Publication number Publication date
CO2022000028A2 (es) 2022-01-17
US11563933B2 (en) 2023-01-24
IL289255A (en) 2022-02-01
BR112021026705A2 (pt) 2022-02-15
KR20220030988A (ko) 2022-03-11
AU2020311851A1 (en) 2022-01-27
US20210014478A1 (en) 2021-01-14
CL2022000026A1 (es) 2022-10-28
TW202110178A (zh) 2021-03-01
CA3144976A1 (en) 2021-01-14
EP3997873A1 (en) 2022-05-18
WO2021007048A1 (en) 2021-01-14
MX2022000300A (es) 2022-02-03
JP2022539455A (ja) 2022-09-09

Similar Documents

Publication Publication Date Title
CN113196775B (zh) 用于当前图片参考(cpr)和帧内块复制(ibc)的虚拟搜索区
US11140408B2 (en) Affine motion prediction
US11659201B2 (en) Systems and methods for generating scaling ratios and full resolution pictures
US11563933B2 (en) Reference picture resampling with switchable filters
CN113711595B (zh) 针对帧内预测模式推导的基于块的量化残差域脉冲编解码调制分配
US11184607B2 (en) Same picture order count (POC) numbering for scalability support
US11582475B2 (en) History-based motion vector prediction
US20210099729A1 (en) Affine coding with vector clipping
CN113170123A (zh) 照明补偿与帧间预测的相互作用
CN113826389A (zh) 对自适应环路滤波器的削波值计算的简化
US11388394B2 (en) Local illumination compensation (LIC) for virtual pipeline data units (VPDUS)
KR20230123952A (ko) 중첩 블록 모션 보상
CN112823517B (zh) 基于历史的运动矢量预测子的改进
RU2819420C2 (ru) Повторная дискретизация опорных кадров с помощью переключаемых фильтров
CN116601959A (zh) 重叠块运动补偿
CN112823517A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40072834

Country of ref document: HK