CN116508091A - 使用后处理控制的视频解码 - Google Patents

使用后处理控制的视频解码 Download PDF

Info

Publication number
CN116508091A
CN116508091A CN202180079641.9A CN202180079641A CN116508091A CN 116508091 A CN116508091 A CN 116508091A CN 202180079641 A CN202180079641 A CN 202180079641A CN 116508091 A CN116508091 A CN 116508091A
Authority
CN
China
Prior art keywords
stream
decoder
resolution
video output
data
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
CN202180079641.9A
Other languages
English (en)
Inventor
圭多·梅尔迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
V Nova International Ltd
Original Assignee
V Nova International Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by V Nova International Ltd filed Critical V Nova International Ltd
Publication of CN116508091A publication Critical patent/CN116508091A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/2007Display of intermediate tones
    • G09G3/2044Display of intermediate tones using dithering

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Computer Hardware Design (AREA)

Abstract

本发明提供了一种用于视频编码的方法。该方法包括从呈现平台接收对期望视频输出分辨率的指示。该方法还包括将一个或多个接收到的视频流解码成重构视频输出流,其中在输出该重构视频流之前应用后处理。该方法进一步包括当该期望视频输出分辨率不同于重构视频输出流分辨率时,在该后处理之前应用从该重构视频输出流分辨率到该期望视频输出分辨率的样本转换。

Description

使用后处理控制的视频解码
技术领域
本发明涉及用于处理信号的方法,例如作为非限制性实例的视频、图像、超光谱图像、音频、点云、3DoF/6DoF和体积信号。处理数据可以包含但不限于在分级(基于层)编码格式的环境中获取、导出、编码、输出、接收并重构信号(其中信号以随后较高的质量层级分层解码),利用并组合重构数据的后续层(“梯级”)。信号的不同层可以用不同的编码格式进行编码(例如作为非限制性实例的传统的基于单层DCT的编解码器、ISO/IEC MPEG-5第2部分低复杂性增强视频编码SMPTE VC-6 2117等),通过可以或可不在单个比特流中复用的不同基本流。
背景技术
在基于层的编码格式中,诸如ISO/IEC MPEG-5第2部分LCEVC(以下简称“LCEVC”)或SMPTE VC-6 2117(以下简称“VC-6”),信号被分解为多个数据“梯级”(也称为“分级层”),从具有原始信号的采样率的最高梯级到通常具有低于原始信号的采样率的最低梯级,每个梯级对应于信号的“质量层级”(“LoQ”)。在非限制性实例中,当信号是视频流的帧时,最低梯级可以是原始帧的缩略图,或者甚至只是单个图片元素。其他梯级含有有关应用于重构再现以便产生最终输出的校正的信息。梯级可以基于残差信息,例如特定质量等级的原始信号的版本和相同质量等级的信号的重构版本之间的差异。最低梯级可不包括残差信息,但可包括原始信号的最低采样。给定质量层级的解码信号通过以下方式进行重构:首先对最低梯级(因此以第一最低质量层级重构该信号)进行解码,然后预测第二质量层级——下一较高质量层级信号的再现,然后对相应的第二梯级重构数据(也称为第二质量层级“残差数据”)进行解码,然后将预测数据与重构数据组合,以便重构第二较高质量层级信号的再现,等等,直到重构给定质量层级。重构该信号可以包含对残差数据进行解码,并使用该残差数据来校正特定质量等级的版本,该版本导出自较低质量等级的信号版本。不同梯级的数据可以使用不同的编码格式进行编码,并且不同的质量层级可以具有不同的采样率(例如,针对图像或视频信号的情况的分辨率)。后续梯级可以指信号的相同信号分辨率(即,采样率),或指越来越高的信号分辨率。
在将信号重构到特定质量层级之后且在装置的显示器上呈现所述信号之前,通常认为对重构信号应用后处理(例如,抖色)以便实现最佳视觉效果是有利的。在某些应用程序中,用于显示的信号可能优选地具有特定分辨率。在确定该特定分辨率之后,重构信号可以经历样本转换(即,上采样或下采样)以实现所述期望分辨率。然而,组合后处理和样本转换可能会对呈现信号导致不期望的影响。因此,期望在这些情况下改善呈现信号的技术。
发明内容
本发明的各个方面和变型在所附权利要求中阐述。
在下面的详细描述中进一步阐述了某些未要求保护的方面。
附图说明
图1示出了分级编码和解码过程的高级示意图;
图2示出了分级解构过程的高级示意图;
图3示出了分级解构过程的替代高级示意图;
图4示出了适用于对分层输出的残差进行编码的编码过程的高级示意图;
图5示出了适用于对来自图4的每个输出层级进行解码的分级解码过程的高级示意图;
图6示出了分级编码技术的编码过程的高级示意图;并且,
图7示出了适用于对图6的输出进行解码的解码过程的高级示意图。
图8在框图中示出了用于在呈现视频流之前对所述视频流进行后处理和样本转换的技术。
图9在流程图中示出了在呈现视频流之前对所述视频流进行后处理和样本转换的方法。
图10在高级示意图中示出了在图8和图9中展示的并且在图7的解码过程中实现的后处理和样本转换。
图11示出了执行在图8和图9中概述的方法的解码器实现方式。
图12示出了根据实施例的设备的实例的框图。
具体实施方式
本文所述的某些实例涉及用于对信号进行编码的方法。处理数据可包含但不限于获取、导出、输出、接收和重构数据。
根据本发明的一个方面,提供了一种用于视频编码的方法。该方法包括从呈现平台接收对期望视频输出属性的指示。将一个或多个接收到的视频流解码成重构视频输出流,其中在输出重构视频流之前应用后处理。该方法进一步包括当期望视频输出属性不同于重构视频输出流属性时,在后处理之前应用从重构视频输出流属性到期望视频输出属性的样本转换。属性可以包括空间分辨率和/或比特深度。
可以动态地且内容自适应地应用后处理以针对特定应用程序定制后处理。
样本转换可以包括将重构视频输出流分辨率上采样到期望输出分辨率。上采样可以包括非线性上采样、神经网络上采样或分数上采样中的一者以允许定制的分辨率。
后处理包括抖色。其中该方法包括接收抖色类型和抖色强度中的一者或多者。其中抖色强度可基于对比度的确定或帧内容的确定中的至少一者来设置。
该方法包括接收指示基础量化参数QP值的参数,以开始应用抖色。
该方法包括接收指示使抖色饱和的基础QP值的参数。
该方法包括接收输入以启用或禁用抖色。其中输入可以是二进制输入,但也可以使用其他形式的输入。
提供了一种用于视频解码的***或设备,其被配置为执行上文详述的方法。
解码可以使用包括AV1、VVC、AVC和LCEVC中的一者或多者的一个或多个解码器来实现。
该一个或多个解码器可以使用本机/OS功能来实现。
该***或设备包括解码器集成层和一个或多个解码器插件。控制接口可以形成解码器集成层的一部分。该一个或多个解码器插件可以提供到该一个或多个解码器的接口。
后处理可以使用后处理模块来实现并且样本转换可以使用样本转换模块来实现,其中后处理模块或样本转换模块中的至少一者形成解码器集成层和该一个或多个解码器插件中的一者或多者的一部分。
该一个或多个解码器可以包括实现基础解码层以对视频流进行解码的解码器和实现增强解码层的增强解码器。基础解码层可以包括基础解码器。基础解码器可以是硬件加速的并且包括使用本机或操作***功能来实现的传统编解码器。增强解码器可以包括LCEVC解码器。
增强解码器可以被配置为接收编码增强流。增强解码器还可以被配置为对编码增强流进行解码以获得一个或多个残差数据层。该一个或多个残差数据层是基于从解码视频流导出的数据与从原始输入视频流导出的数据的比较而生成的。
解码器集成层可以控制该一个或多个解码器插件和增强解码器的操作,以使用来自基础解码层的解码视频流和来自增强解码层的该一个或多个残差数据层来生成重构视频输出流。
呈现平台可以是客户端计算装置上的客户端应用程序,并且控制接口可以是客户端应用程序能够访问的应用程序编程接口API。
后处理可以由呈现平台经由控制接口来启用或禁用。
期望输出分辨率从呈现平台经由控制接口进行传送。
提供了一种计算机可读介质,其包括指令,该指令当被执行时使处理器执行上文详述的方法。
简介
本文所述的实例涉及信号处理。信号可以被视为样本序列(即二维图像、视频帧、视频场、声音帧等)。在说明书中,术语“图像”、“图片”或“平面”(意指“超平面”的最广泛含义,即具有任意维数和给定采样网格的元素阵列)将通常用于标识沿样本序列的信号样本的数字再现,其中,每个平面对于其每个维度(例如X和Y)具有给定的分辨率,并且包括一组平面元素(或“元素”或“画素”或通常称为“像素”的用于二维图像的显示元素,通常称为“体素”的用于体积图像的显示元素等),其以一个或多个“值”或“设置”为特征(例如,通过非限制性实例的方式,合适颜色空间中的颜色设置、指示密度等级的设置、指示温度等级的设置、指示音频音高的设置、指示幅度的设置、指示深度的设置、指示阿尔法信道透明度等级的设置等)。每个平面元素均由一组合适的坐标标识,指示所述元素在图像的采样网格中的整数位置。信号维度可以仅包含空间维度(例如,在图像的情况下)或时间维度(例如,在信号随时间演变的情况下,诸如视频信号)。
例如,信号可以是图像、音频信号、多通道音频信号、遥测信号、视频信号、3DoF/6DoF视频信号、体积信号(例如,医学成像、科学成像、全息成像等)、体积视频信号,甚至是超过四个维度的信号。
为简单起见,本文所述的实例通常指的是显示为2D设置平面的信号(例如,合适颜色空间中的2D图像),诸如视频信号。术语“帧”或“场”将与术语“图像”互换使用,以指示视频信号的时间样本:针对由帧构成的视频信号(逐行视频信号)说明的任何概念和方法也可以很容易适用于由场构成的视频信号(隔行视频信号),反之亦然。尽管本文说明的实施例的重点是图像和视频信号,但本领域技术人员可以容易地理解相同的概念和方法也适用于任何其他类型的多维信号(例如,音频信号、体积信号、立体视频信号、3DoF/6DoF视频信号、全光信号、点云等)。
本文描述的某些基于层的分级格式使用变化的校正量(例如,也以“残差数据”的形式,或简称为“残差”),以便在给定的质量层级上生成与原始信号最相似(或甚至无损重构)的信号重构。校正量可以基于给定质量层级的预测再现的保真度。
为了实现高保真重构,编码方法可以将信号的较低分辨率重构上采样到信号的下一个更高分辨率重构。在某些情况下,不同的信号可能用不同的方法进行最佳处理,即,相同的方法可能并非对所有信号都是最佳的。
此外,已经确定非线性方法可能比更传统的线性内核(尤其是可分离内核)更有效,但代价是增加了处理能力要求。
基于层的分级编码方案或格式的实例
在优选实例中,编码器或解码器是基于层的分级编码方案或格式的一部分。基于层的分级编码方案的实例包含LCEVC:MPEG-5第2部分LCEVC(“低复杂度增强视频编码”)和VC-6:SMPTE VC-6ST-2117,前者在PCT/GB2020/050695——公布为WO2020/188273(及相关联标准文件)中描述,后者在PCT/GB2018/053552——公布为WO2019/111010(及相关联标准文件)中描述,所有这些文件以引用方式并入本文。然而,本文所示的概念不必限于这些特定的分级编码方案。
图1至图7提供了不同示例性基于层的分级编码格式的概述。这些被提供作为用于添加进一步信号处理操作的上下文,其在图7之后的图中进行阐述。图1至图5提供了类似于SMPTE VC-6ST-2117的实现方式的实例,而图6和图7提供了类似于MPEG-5第2部分LCEVC的实现方式的实例。可以看出,两组实例利用共同的底层操作(例如,下采样、上采样和残差生成),并且可以共享模块化实现技术。
图1非常一般地示出了分级编码方案。待编码的数据101由输出编码数据103的分级编码器102检索。随后,编码数据103被分级解码器104接收,该分级解码器对数据进行解码并且输出解码数据105。
通常,本文实例中使用的分级编码方案创建基础或核心层级,它是较低质量层级下的原始数据的表示,以及一个或多个残差层级,其可用于使用基础层级数据的解码版本来重建较高质量层级下的原始数据。一般来说,如本文所使用的术语“残差”指代参考阵列或参考帧的值与数据的实际阵列或帧之间的差。阵列可以是表示译码单元的一维或二维阵列。举例来说,译码单元可以是对应于输入视频帧的类似大小的区域的2×2或4×4组的残差值。
应注意,一般化实例对于输入信号的性质是不可知的。对如本文中所使用的“残差数据”的提及指代从残差集合导出的数据,例如残差集合本身或对残差集合执行的一组数据处理操作的输出。在整个本说明书中,一般来说,残差集合包含多个残差或残差要素,每一残差或残差要素对应于信号要素,即信号或原始数据的要素。
在具体实例中,数据可以是图像或视频。在这些实例中,残差集合对应于视频的图像或帧,其中每一残差与信号的像素相关联,该像素为信号要素。
本文所述的方法可以应用于反映视频信号的不同颜色分量的所谓的数据平面。举例来说,这些方法可以应用于反映不同颜色通道的YUV或RGB数据的不同平面。可并行地处理不同颜色通道。每个流的分量可以按任何逻辑次序来整理。
现在将描述分级编码方案,其中可以部署本发明的概念。该方案在图2至图5中概念性地说明,并且大致对应于上述VC-6。在此类编码技术中,残差数据被用于逐步提高质量层级。在所提出的该技术中,核心层以第一分辨率表示图像,并且分层结构中的后续层是解码侧以更高分辨率重构图像所需的残差数据或调整层。每一层或层级可以被称为梯级指数,使得残差数据是校正较低梯级指数中存在的低质量信息所需的数据。此分级技术中的每一层或梯级指数,尤其是每一残差层,通常是具有许多零值元素的相对稀疏的数据组。当提到梯级指数时,它是指该层级的所有梯级或分量组,例如,在该质量层级执行的变换步骤中产生的所有子组。
以此特定的分级方式中,所描述的数据结构消除了对先前或后续质量层级的任何要求或依赖。可以单独对质量层级进行编码和解码,而无需参考任何其他层。因此,与许多已知的其他分级编码方案相反,其中需要解码最低质量层级以便解码任何更高质量层级,所描述的方法不需要解码任何其他层。然而,下面描述的交换信息的原理也可以适用于其他分级编码方案。
如图2所示,编码数据表示一组层或层级,本文一般地称为梯级指数。基础或核心层级表示原始数据帧210,尽管处于最低质量层级或分辨率,并且随后的残差数据梯级可以与核心梯级指数下的数据组合,从而以逐渐变高的分辨率重建原始图像。
为了创建核心梯级指数,输入数据帧210可使用与要在分级编码操作中使用的多个层级或梯级指数相对应的多个下采样操作201来进行下采样。所需的下采样操作201比分级中的层级数少一个。在本文说明的所有实例中,存在输出编码数据的4个层级或梯级指数以及相应的3个下采样操作,但是当然应理解,这些仅是为了说明。其中n指示层级的数量,向下采样器的数量是n-1。核心层级R1-n是第三次下采样操作的输出。如上所述,核心层级R1-n对应于最低质量层级的输入数据帧的表示。
为了区分下采样操作201,将按照对输入数据210执行操作的顺序或通过其输出所表示的数据来引用每一个操作。举例来说,实例中的第三下采样操作2011-n也可以被称为核心下采样器,因为其输出生成核心梯级指数或梯级1-n,也就是说,在此层级的所有梯级的指数是1-n。因此,在此实例中,第一下采样操作201-1对应于R-1下采样器,第二下采样操作201-2对应于R-2下采样器,并且第三下采样操作2011-n对应于核心或R-3下采样器。
如图2所示,表示核心质量层级R1-n的数据经历上采样操作2021-n,在此称为核心上采样器。第二下采样操作201-2的输出(R-2下采样器的输出,即核心下采样器的输入)和核心上采样器2021-n的输出之间的差203-2被输出作为第一残差数据R-2。此第一残差数据R-2相应地表示核心电平R-3和用于创建该电平的信号之间的误差。由于该信号本身在该实例中经历了两次下采样操作,因此第一残差数据R-2是调整层,其可用于以比核心质量层级更高、但比输入数据帧210更低的质量层级来重建原始信号。
图2和图3中概念性地说明了如何创建表示更高质量层级的残差数据的变型。
在图2中,第二下采样操作201-2的输出(或R-2下采样器,即用于创建第一残差数据R-2的信号)被上采样202-2,并且第二下采样操作201-2的输入(或R-2下采样器,即R-1下采样器的输出)之间的差203-1以与创建第一残差数据R-2大致相同的方式来计算。此差相应地是第二残差数据R-1并且表示调整层,该调整层可以用于使用来自较低层的数据以更高的质量层级重建原始信号。
然而,在图3的变型中,第二下采样操作201-2(或R-2下采样器)的输出与第一残差数据R-2组合或相加304-2以重建核心上采样器2021-n的输出。在该变型中,正是该重构数据被上采样202-2,而不是经下采样的数据。类似地,将经下采样的数据与第二下采样操作的输入(或R-2下采样器,即R-1下采样器的输出)进行比较203-1,以创建第二残差数据R-1
图2和图3的实现方式之间的变型导致这两个实现方式之间的残差数据略有不同。图2受益于更大的并行化潜力。
重复该过程或循环以创建第三残差R0。在图2和图3的实例中,输出残差数据R0(即第三残差数据)对应于最高层级并且在解码器处用于重建输入数据帧。在该层级上,差运算基于与第一次下采样操作的输入相同的输入数据帧。
图4示出了用于对数据的每个层级或梯级指数进行编码以产生具有梯级指数的一组编码数据梯级的示例性编码过程401。此编码过程仅用作用于对层级中的每个进行编码的合适编码过程的实例,但是应理解,可以使用任何合适的编码过程。该过程的输入是从图2或图3输出的相应层级的残差数据,并且输出为一组编码残差数据梯级,这些编码残差数据梯级共同分级表示编码数据。
在第一步中,执行变换402。该变换可以是定向分解变换,如PCT/EP2013/059847——公布为WO2013/171173中描述的,或者是小波或离散余弦变换。如果使用方向分解变换,则可以输出一组四个分量(也称为变换系数)。当提到梯级指数时,它统称为所有方向(A、H、V、D),即4个梯级。然后,在熵编码之前,将分量组量化403。在此实例中,熵编码操作404被耦合到稀疏化步骤405,该稀疏化步骤利用残差数据的稀疏性来减小总的数据大小,并且涉及将数据元素映射到有序四叉树。在WO2019/111004中进一步描述了熵编码和稀疏化的此类耦合,但是此类过程的精确细节与对本发明的理解无关。每个残差阵列都可以被认为是一个梯级。
上面阐述的过程对应于适用于根据SMPTE ST 2117,VC-6多平面图片格式对用于重构的数据进行编码的编码过程。VC-6是一种灵活的、多分辨率的、仅帧内位流格式,能够压缩任何有序的整数元素网格组,网格中的每个都具有独立的大小,但也是为图片压缩而设计的。它采用数据不可知技术(data agnostic technique)进行压缩,并且能够压缩低位或高位深度的图片。位流的报头可以含有关于图片的多种元数据。
如将理解的,可以使用单独的编码器或编码操作来实现每个梯级或梯级指数。类似地,编码模块可以被分成下采样和比较的步骤,以产生残差数据,并且随后对残差进行编码,或替代地,梯级的步骤中的每个都可以在组合的编码模块中实现。因此,过程可以例如使用4个编码器来实现,每个梯级指数一个编码器,1个编码器和多个编码模块并行或串行操作,或一个编码器对不同的数据组重复操作。
下面给出重构原始数据帧的实例,该数据帧已经使用上述示例性过程进行了编码。此重构过程可以被称为锥体重构。有利地,该方法提供了一种用于重构在接收到的数据集中编码的图像的有效技术,该数据集可以通过数据流接收,例如,通过单独解码对应于不同图像大小或分辨率层级的不同分量集,并且将来自一个解码分量集的图像细节与来自较低分辨率分量集的比例放大的解码图像数据组合。因此,通过对两个或更多个分量集执行该过程,可以重构数字图像其中的结构或细节以获得逐渐变高的分辨率或更大数量的像素,而不需要接收到最高分辨率分量集的全部或完整图像细节。相反,该方法便于逐步添加越来越高分辨率的细节,同时以分阶段的方式从较低分辨率分量集重构图像。
此外,单独解码每个分量组便于并行处理所接收的分量组,从而在多个处理可用的实现方式中提高重构速度和效率。
每个分辨率层级对应于一个质量层级或梯级指数。这是一个集合术语,与描述所有新的输入或所接收的分量组的平面(在此实例中是整数值元素的网格表示)以及指数m循环的输出重构图像相关联。例如,梯级指数为零的重构图像是锥体重构的最后循环的输出。
锥体重构可以是这样一种过程:从初始梯级指数开始重构倒锥体,并且使用新残差的循环来导出更高的梯级指数,直到在梯级指数为零处的最大质量,质量为零。循环可以被认为是此类锥体重构中的步骤,该步骤由指数m识别。该步骤通常包括对来自可能的先前步骤的输出数据进行上采样,例如,对解码的第一分量组进行放大,并且采取新的残差数据作为进一步的输入,以便获取将在可能的后续步骤中进行上采样的输出数据。在仅接收到第一分量组和第二分量组的情况下,梯级指数的数量将是两个,并且不存在可能的后续步骤。然而,在分量组或梯级指数的数量为三个或更多个的实例中,输出数据可以在下面的步骤中被逐步上采样。
第一分量组通常对应于初始梯级指数,该初始梯级指数可以由梯级指数1-N表示,其中N是平面中梯级指数的数量。
通常,对解码的第一分量组的放大包括对初始梯级指数的解码过程的输出应用上采样器。在实例中,这涉及使从初始梯级指数分量集的解码输出的重构图片的分辨率与对应于2-N的第二分量集的分辨率一致。通常,来自较低梯级指数分量集的比例放大的输出对应于较高梯级指数分辨率下的预测图像。由于较低分辨率的初始梯级指数图像和上采样过程,预测图像通常对应于平滑或模糊图片。
从上面的梯级指数中向该预测图片添加更高分辨率的细节,这提供了组合的重构图像集。有利地,在一个或多个较高梯级指数分量集中的接收到的分量集包括残差图像数据或指示比例放大的预测图片与原始的、未经压缩的或预编码图像之间的像素值差的数据的情况下,为了重构给定分辨率或质量的图像或数据集所需的接收到的数据量可能比使用其他技术接收相同质量图像所需的数据量或数据速率要小得多。因此,根据该方法,通过将以较低分辨率接收的低细节图像数据与以越来越高的分辨率接收的逐渐更详细的图像数据组合,降低了数据速率要求。
通常,该组编码数据包括一个或多个另外的分量集,其中该一个或多个另外的分量集中的每一者对应于比第二分量集更高的图像分辨率,并且其中该一个或多个另外的分量集中的每一者对应于逐渐变高的图像分辨率,该方法包括:针对该一个或多个另外的分量集中的每一者,对该分量集进行解码以获得解码集,该方法进一步包括:针对该一个或多个另外的分量集中的每一者,按对应图像分辨率的升序:对具有最高对应图像分辨率的重构集进行比例放大,以使重构集的对应图像分辨率增加到与另外的分量集的对应图像分辨率相等,并且将重构集与另外的分量集组合在一起以产生另外的重构集。
以此方式,该方法可能涉及获取给定分量集层级或梯级指数的重构图像输出,对该重构集进行比例放大,并且将其与上述分量集或梯级指数的解码输出组合,以产生新的、更高分辨率的重构图片。应理解,对于逐步更高的梯级指数,这可以根据所接收的组中的分量组的总数重复执行。
在典型实例中,分量集中的每一者对应于逐渐变高的图像分辨率,其中每个逐渐变高的图像分辨率对应于对应图像中四倍数量的像素。因此,通常,对应于给定分量集的图像大小四倍于对应于以下分量集(即具有比所讨论的梯级指数小一的梯级指数的分量集)的图像的大小或像素数,或者两倍于其高度和宽度。例如,其中每个对应图像的线性大小两倍于以下图像大小的接收到的一组分量集可以便于更简单的比例放大操作。
在所示的实例中,其他的分量组的数量是两个。因此,所接收的组中的分量组的总数为四个。这对应于初始梯级指数为梯级3。
第一分量集可以对应于图像数据,并且第二分量集和任何其他分量集对应于残差图像数据。如上所述,在最低梯级指数(即第一分量集)包含正在传输的图像的低分辨率或下采样版本的情况下,该方法为给定图像大小提供了特别有利的数据速率要求降低。以此方式,在每个重构循环中,从低分辨率图像开始,对该图像进行比例放大以产生高分辨率而又平滑的版本,并且然后通过添加该比例放大的预测图像与要以该分辨率传输的实际图像之间的差来改进该图像,并且可以针对每个循环重复这种附加改进。因此,设置为高于初始梯级指数的每个分量仅需要包含残差数据,以便重新引入在将原始图像下采样到最低梯级指数时可能已经丢失的信息。
该方法提供了一种在接收到包含例如已经通过分解、量化、熵编码和稀疏化来进行压缩的数据的集合时获得图像数据的方式,该图像数据可以是残差数据。稀疏化步骤在结合原始或预传输数据稀疏的集合一起使用时特别有利,这通常可能对应于残差图像数据。残差可以是第一图像的元素与第二图像的元素之间的差,这些元素通常位于同一位置。这种残差图像数据通常可能具有高度的稀疏性。这可以被认为对应于这样的图像:其中细节区域稀疏地分布在细节最少、可忽略或不存在的区域中。此类稀疏数据可以被描述为数据阵列,其中数据以至少二维结构(例如,网格)来组织,并且其中如此组织的大部分数据为零(逻辑上或数字上)或被认为低于某个阈值。残差数据只是一个实例。此外,元数据可能是稀疏的,因此通过此过程在很大程度上减少了大小。发送已经稀疏化的数据允许通过省略发送此类稀疏区域,而是在解码器处的所接收的字节组内的适当位置重新引入它们,来实现所需数据速率的显著降低。
通常,熵解码、去量化和方向合成变换(directional composition transform)步骤是根据编码器或发送所接收的编码数据组的节点所限定的参数来执行的。对于每个梯级指数或分量组,这些步骤用于解码图像数据,以便得到可以按照上面公开的技术与不同梯级指数组合的组,同时允许以数据高效的方式传输每个层级的组。
还可以提供一种根据上面公开的方法来重构编码数据组的方法,其中根据上面公开的方法来执行第一分量组和第二分量组中的每一个的解码。因此,本公开的有利解码方法可以用于所接收的图像数据组中的每个分量组或梯级指数,并且相应地进行重构。
参考图5,现在描述解码实例。接收一组编码数据501,其中该组包括四个梯级指数,每个梯级指数包括四个梯级:从最高分辨率或质量层级的梯级0到初始梯级的梯级-3。梯级-3分量集携带的图像数据对应于图像数据,并且其他分量集包含该传输图像的残差数据。虽然每个层级可输出可被视为残差的数据,但初始梯级(即梯级-3)中的残差有效地对应于实际重构图像。在阶段503处,并行处理分量组中的每个,以便对该编码组进行解码。
参考初始梯级指数或核心梯级指数,对每个分量组梯级-3到梯级0执行以下解码步骤。
在步骤507处,分量组被去稀疏化。去稀疏化可以是在其他基于层的分级格式中不执行的任选步骤。在此实例中,去稀疏化导致由在每个梯级处所接收的编码字节组重建稀疏二维阵列。在二维阵列内未被接收的位置处分组的零值(由于为了减少传输的数据量而从传输的字节分组中省略了)由此过程重新填充。阵列中的非零值在重建的二维阵列中保持其正确的值和位置,去稀疏化步骤在适当的位置或其间的位置的分组重新填充传输的零值。
在步骤509处,将范围解码器应用于每个梯级的去稀疏化组,以便用像素值替换阵列内的编码符号,该范围解码器的配置参数对应于在传输之前对传输数据进行编码所使用的参数。根据图像的像素值分布的近似,接收集中的编码符号被替换为像素值。使用分布的近似,即图像中所有像素值的每个值的相对频率,而不是真实分布,允许减少对集合进行解码所需的数据量,因为范围解码器需要分布信息来执行该步骤。如本公开中所描述的,去稀疏化和范围解码的步骤是相互依赖的,而不是顺序的。这由流程图中的箭头形成的回路指示。
在步骤511处,值阵列被去量化。根据在传输之前用于对分解图像进行量化的参数再次执行该过程。
在去量化之后,在步骤513通过合成变换来变换该组,该合成变换包括对去量化的阵列应用逆方向分解操作。根据包括平均、水平、竖直和对角线运算子的运算子集,这导致方向滤波被反转,使得所得阵列是梯级-3的图像数据和梯级-2到梯级0的残差数据。
阶段505示出了在利用梯级分量组501中的每一个的合成变换的输出进行重构所涉及的若干循环。阶段515指示从解码器503输出的用于初始梯级的重构图像数据。在实例中,重构图片515具有64×64的分辨率。在516处,对该重构图片进行上采样,以将其组成像素数增加到四倍,从而产生具有128×128分辨率的预测图片517。在阶段520,将预测图片517添加到来自梯级-2的解码器的输出的解码残差518。将这两个128×128大小的图像相加生成128×128大小的重构图像,其中包含经过来自梯级-2的残差的较高分辨率细节增强的来自初始梯级的平滑图像细节。如果所需的输出分辨率是对应于梯级-2的分辨率,则可以输出或显示该所得重构图片519。在本实例中,重构图片519用于进一步循环。在步骤512处,重构图像519以与步骤516相同的方式被上采样,以产生256×256大小的预测图片524。然后在步骤528处将其与解码梯级-1输出526组合,从而产生256×256大小的重构图片527,它是用残差526的较高分辨率细节增强的预测519的比例放大版本。在530处,最后一次重复该过程,并且将重构图片527的比例放大到512×512分辨率,用于在阶段532处与梯级0残差组合。从而获得512×512的重构图片531。
图6和图7中示出了可利用本公开的原理的另外的分级编码技术。此技术是一种灵活的、适应性强的、高效的且计算成本低廉的编码格式,其将不同的视频编码格式、基础编解码器(例如,AVC、HEVC或任何其他当前或未来的编解码器)与编码数据的至少两个增强层级相组合。
编码方案的一般结构使用以基础编解码器进行编码的经下采样源信号,将第一层级的校正数据添加到基础编解码器的经解码输出以产生经校正图片,且接着将另一层级的增强数据添加到经校正图片的经上采样型式。因此,流被认为是基础流和增强流,它们可以被进一步复用或以其他方式组合以生成编码数据流。在某些情况下,基础流和增强流可以单独传输。如本文描述的,对编码数据的引用可以指增强流或基础流和增强流的组合。基础流可以由硬件解码器解码,而增强流可以适用于具有适当功耗的软件处理实现。此通用编码结构创建了多个自由度,这些自由度允许对许多情况的极大灵活性和适应性,从而使得编码格式适用于许多用例,包含OTT传输、直播流、直播超高清UHD广播等。尽管基础编解码器的经解码输出并非意图用于检视,但其为较低分辨率下的完全经解码视频,从而使得输出与现有解码器兼容,并且在认为合适的情况下也可用作较低分辨率输出。
在某些实例中,可以使用一组网络抽象层单元(NALU)将每个或两个增强流封装到一个或多个增强位流中。NALU意图囊封增强位流以便将增强应用于正确的基础重构帧。NALU可例如含有到NALU的参考索引,其含有增强必须应用于的基础解码器经重构帧位流。以此方式,增强可同步到基础流和组合的每一位流的帧以产生经解码输出视频(即,增强层级的每一帧的残差与基础解码流的帧组合)。图片的群组可表示多个NALU。
回到上面描述的初始过程,其中基础流连同增强流内的两个增强层级(或子层级)一起被提供,通用编码过程的实例在图6的框图中进行描绘。处理初始分辨率下的输入视频600以生成各种编码流601、602、603。通过向基础编解码器(例如,AVC、HEVC或任何其他编解码器)馈送输入视频的下取样型式来产生第一编码流(经编码基础流)。编码的基础流可被称为基础层或基础层级。通过处理通过取经重构基础编解码器视频与输入视频的下取样型式之间的差而获得的残差来产生第二编码流(经编码层级1流)。通过处理通过取经重构基础译码视频的经校正型式的上取样型式与输入视频之间的差而获得的残差来产生第三编码流(经编码层级2流)。在某些情况下,图6的分量可以提供通用的低复杂性编码器。在某些情况下,可通过形成低复杂性编码器的一部分的编码过程来生成增强流,且低复杂性编码器可被配置成控制独立的基础编码器和解码器(例如,封装为基础编解码器)。在其他情况下,基础编码器和解码器可供应为低复杂性编码器的一部分。在一种情况下,图6的低复杂性编码器可被视为基础编解码器的包装器形式,其中基础编解码器的功能可对实现低复杂性编码器的实体隐藏。
通过下采样组件105说明的下采样操作可以应用于输入视频以产生将由基础编解码器的基础编码器613编码的下采样视频。下取样可在竖直和水平两个方向上进行,或替代地仅在水平方向上进行。基础编码器613和基础解码器614可以由基础编解码器实现(例如,作为公共编解码器的不同功能)。基础编解码器和/或基础编码器613和基础解码器614中的一个或多个可以包括适当配置的电子电路***(例如,硬件编码器/解码器)和/或由处理器执行的计算机程序代码。
每个增强流编码过程可能不一定包含上采样步骤。在图6中,例如,第一增强流在概念上是校正流,而第二增强流被上采样以提供增强层级。
更详细地参见生成增强流的过程,为了生成编码的层级1流,编码的基础流由基础解码器614解码(即,解码操作应用于编码的基础流以生成解码的基础流)。解码可由基础编解码器的解码功能或模式执行。接着在层级1比较器610处创建经解码基础流与下取样的输入视频之间的差(即,减法运算应用于下取样的输入视频和经解码基础流以生成第一残差集合)。比较器610的输出可被称为第一组残差,例如残差数据的表面或帧,其中在基础编码器613、基础解码器614和下采样块605的输出的分辨率下针对每个图像元素确定残差值。
该差接着由第一编码器615(即,层级1编码器)编码以生成编码的层级1流602(即,将编码操作应用于第一组残差以生成第一增强流)。
如上所述,增强流可包括第一增强层级602和第二增强层级603。第一增强层级602可被视为经校正流,例如以比输入视频600低的分辨率向基础编码/解码视频信号提供校正层级的流。第二增强层级603可被视为将经校正流转换为原始输入视频600的另一增强层级,例如其将增强层级或校正应用于从经校正流重构的信号。
在图6的实例中,通过对另一组残差进行编码来创建第二增强层级603。另一组残差由层级2比较器619生成。层级2比较器619确定解码层级1流的上采样版本(例如上采样组件617的输出)与输入视频600之间的差。上采样组件617的输入是通过将第一解码器(即层级1解码器)应用于第一编码器615的输出而生成的。这生成一组解码的层级1残差。这些残差接着在求和组件620处与基础解码器614的输出组合。这有效地将层级1残差应用于基础解码器614的输出。其允许层级1编码和解码过程中的损失由层级2残差校正。求和组件620的输出可被视为表示对解码器处的编码的基础流601和编码的层级1流602应用层级1处理的输出的模拟信号。
如前所述,将上采样流与输入视频进行比较,这会产生另一组残差(即,对上采样重建流应用差运算以生成另一组残差)。另一组残差接着由第二编码器621(即,层级2编码器)编码为编码的层级2增强流(即,编码操作接着应用于另一组残差以生成另一编码的增强流)。
因此,如图6所示和上文所述,编码过程的输出是基础流601和一个或多个增强流602、603,其优选地包括第一增强层级和另一增强层级。三个流601、602和603可在具有或不具有例如控制标头等额外信息的情况下组合以生成用于表示输入视频600的视频编码框架结构的组合流。应注意,图6中所示的组件可以对数据块或编码单元进行运算,例如对应于特定分辨率层级的帧的2×2或4×4部分。该组件在无任何块间相依性的情况下操作,因此其可并行地应用于帧内的多个块或译码单元。这不同于对比的视频编码方案,在对比的视频编码方案中,块之间存在相依性(例如空间相依性或时间相依性)。对比的视频编码方案的相依性限制并行水平且需要高得多的复杂性。
在图7的框图中描绘了对应的通用解码过程。图7可以说是示出了对应于图6的低复杂性编码器的低复杂性解码器。低复杂性解码器接收由低复杂性编码器生成的三个流601、602、603连同含有另外的解码信息的标头704。编码的基础流601由对应于在低复杂性编码器中使用的基础编解码器的基础解码器710解码。编码层级1流602由第一解码器711(即层级1解码器)接收,该解码器对由图1的第一编码器615编码的第一组残差进行解码。在第一求和组件712处,将基础解码器710的输出与从第一解码器711获取的解码的残差组合。通过上采样组件713对可称为层级1经重构视频信号的组合视频进行上采样。编码的层级2流103由第二解码器714(即,层级2解码器)接收。第二解码器714对由图1的第二编码器621编码的第二组残差进行解码。尽管在图7中示出了标头704被第二解码器714使用,但标头也可以被第一解码器711以及基础解码器710使用。第二解码器714的输出是第二组解码的残差。这些可处于比第一组残差和到上采样组件713的输入更高的分辨率。在第二求和组件715处,将来自第二解码器714的第二组残差与上采样组件713的输出(即经上采样的重构层级1信号)组合以重构解码视频750。
按照低复杂性编码器,图7的低复杂性解码器可以对视频信号的给定帧的不同块或编码单元并行操作。另外,可并行地执行由基础解码器710、第一解码器711和第二解码器714中的两个或更多个进行的解码。这是可能的,因为不存在块间相依性。
在解码过程中,解码器可解析标头704(其可含有全局配置信息、图片或帧配置信息和数据块配置信息)且基于那些标头而配置低复杂性解码器。为了重新创建输入视频,低复杂性解码器可对基础流、第一增强流和另一或第二增强流中的每一个进行解码。该流的各帧可经同步且接着组合以导出经解码视频750。取决于低复杂性编码器和解码器的配置,经解码视频750可为原始输入视频100的有损或无损重构。在许多情况下,经解码视频750可为原始输入视频600的有损重构,其中该损失对经解码视频750的感知具有减小的影响或最小影响。
在图6和图7中的每一者中,层级2和层级1编码操作可以包括变换、量化和熵编码的步骤(例如,按该次序)。这些步骤可以以与图4和图5中所示的操作类似的方式来实现。编码操作还可以包含残差分级、加权和滤波。类似地,在解码阶段,可将残差传递通过熵解码器、解量化器(de-quantizer)和逆变换模块(例如,按该次序)。可使用任何合适的编码和相应的解码操作。然而,优选地,层级2和层级1编码步骤可在软件中执行(例如,如由编码装置中的一个或多个中央或图形处理单元执行)。
如本文中所描述的变换可使用定向分解变换,诸如基于哈达玛的变换(Hadamard-based transform)。这两者可包括应用于残差的展平译码单元(即,2×2或4×4残差块)的小内核或矩阵。关于变换的更多细节可以在例如专利申请PCT/EP2013/059847——公布为WO2013/171173或PCT/GB2017/052632——公布为WO2018/046941中找到,这些文件以引用方式并入本文。编码器可在待使用的不同变换之间选择,例如在待应用的内核的大小之间选择。
该变换可将残差信息变换到四个表面。举例来说,该变换可产生以下分量或变换系数:平均、竖直、水平和对角。特定表面可以包括特定分量的所有值,例如第一表面可以包括所有平均值,第二表面可以包括所有竖直值等等。如在本公开中较早提及,由变换输出的这些分量可在此些实施例中被采用为待根据所描述的方法量化的系数。量化方案可用于将残差信号创建为量,使得特定变量可采用仅特定离散量值。在此实例中,熵编码可以包括游程编码(RLE),然后使用霍夫曼编码器处理编码输出。在某些情况下,当需要熵编码时,可使用这些方案中的仅一个。
综上所述,本文中的方法和设备基于一种总体方法,其经由现有编码和/或解码算法(例如MPEG标准,诸如AVC/H.264、HEVC/H.265等;以及非标准算法,诸如VP9、AV1等)构建,所述现有编码和/或解码算法用作相应地用于不同编码和/或解码方法的增强层的基线。实例的总体方法背后的想法是以阶层方式对视频帧进行编码/解码,与使用MPEG系列算法中所使用的基于块的方法形成对比。以阶层方式对帧进行编码包含针对全帧生成残差,且接着针对抽取帧生成残差,等等。
如上所述,由于不存在块间依赖性,因此可以将这些过程并行应用于帧的颜色分量的编码单元或块。一组颜色分量内的每个颜色分量的编码也可以并行执行(例如,使得根据(帧数)*(颜色分量数)*(每帧编码单元数)重复操作)。还应注意,不同颜色分量可具有每帧不同数量个编码单元,例如可在人类视觉可检测到照度改变大于颜色改变时在比色度(例如,U或V)分量集合高的分辨率下处理亮度(例如,Y)分量。
因此,如上文所示出且描述,解码过程的输出是(任选的)基础重构,以及在较高层级处的原始信号重构。此实例尤其非常适合于在不同帧分辨率下创建经编码和经解码视频。举例来说,输入信号30可以是包括1920×1080分辨率下的帧的HD视频信号。在某些情况下,基础重构和层级2重构两者可由显示装置使用。举例来说,在网络业务的情况下,层级2流可能比层级1流和基础流受到更多干扰(因为它可能包含高达4倍的数据量,其中下采样在每个方向上将尺寸除以2)。在这种情况下,当业务发生时,显示装置可恢复显示基础重构,而层级2流被中断(例如,当层级2重构不可用时),且接着当网络条件改进时恢复显示层级2重构。当解码装置遭受资源约束时可应用类似方法,例如执行***更新的机顶盒可具有操作基础解码器220以输出基础重构,但可不具有处理容量来计算层级2重构。
编码布置还使得视频分布器能够将视频分布到非均质装置集合;仅具有基础解码器720的那些装置检视基础重构,而具有增强层级的那些装置可检视较高质量层级2重构。在对比案例中,需要单独分辨率下的两个完整视频流来服务于两个装置集合。由于层级2和层级1增强流对残差数据进行编码,可更有效地对层级2和层级1增强流进行编码,例如残差数据的分布通常大部分质量都在0左右(即,不存在差)且通常采取约0的小范围值。量化之后的情况尤其如此。相比而言,不同分辨率下的完整视频流将具有非零均值或中值的不同分布,该值需要较高位速率以供传输到解码器。在本文中所描述的实例中,残差由编码管道进行编码。这可包含变换、量化和熵编码操作。其还可包含残差分级、加权和滤波。随后将残差传输到解码器,例如作为L-1和L-2增强流,该增强流可与基础流组合作为混合流(或单独传输)。在一种情况下,设定用于包括基础流和两个增强流的混合数据流的位速率,且接着基于正处理的数据将不同自适应位速率应用于个别流以满足设定的位速率(例如,以低假影水平所感知的高质量视频可通过自适应地将位速率指派给不同个别流(即使在逐帧层级处)而构造,以使得经约束数据可由感知上最有影响的个别流使用,该个别流可随着图像数据改变而改变)。
如本文中所描述的残差集合可被视为稀疏数据,例如在许多情况下对于给定像素或区域不存在差,且所得残差值为零。当查看残差的分布时,将许多概率质量分配到接近零定位的小残差值,例如对于-2、-1、0、1、2等的某些视频值发生得最频繁。在某些情况下,残差值的分布关于0对称或近似对称。在某些测试视频情况下,发现残差值的分布关于0呈类似于对数或指数分布的形状(例如,对称地或近似对称地)。残差值的准确分布可取决于输入视频流的内容。
残差可自身被处理为二维图像,例如差的差量图像。以此方式,可以看到数据的稀疏性涉及在残差图像中可见的比如“点”、小“线”、“边缘”、“拐角”等特征。已发现这些特征通常不完全相关(例如,在空间上和/或在时间上)。该特征具有不同于其来源于的图像数据的特性(例如,原始视频信号的像素特性)的特性。
由于残差的特性不同于所述残差来源于的图像数据的特性,因此通常不可能应用标准编码方法,例如传统动态图片专家组(MPEG)编码和解码标准中发现的那些方法。举例来说,许多对比方案使用较大变换(例如正常视频帧中的较大像素区域的变换)。归因于例如如上文所描述的残差的特性,对残差图像使用这些对比的大变换将是极低效的。举例来说,使用经设计用于正常图像的区域的大块对残差图像中的小点进行编码将是非常困难的。
本文中所描述的某些实例通过代替地使用较小和简单的变换内核(例如,如本文中所呈现的2×2或4×4内核-定向分解和定向分解平方)来解决这些问题。可使用哈达玛矩阵(例如,用于展平2×2编码块的4×4矩阵,或用于展平4×4编码块的16×16矩阵)来应用本文中所描述的变换。这在与对比的视频编码方法不同的方向上移动。将这些新方法应用于残差块会生成压缩效率。举例来说,某些变换生成可以有效压缩的不相关的变换系数(例如在空间中)。虽然可以利用变换系数之间的相关性,例如针对残差图像中的线条,这些可能会导致编码复杂度,这很难在传统和低资源装置上实现,并且经常会生成需要校正的其他复杂伪影。通过将某些残差值设定为0(即,不转发这些残差值以供处理)来预处理残差可提供可控制且灵活的方式来管理位速率和流带宽,以及资源使用。
与后处理相关的实例
本文所述的某些实例便于解码视频数据的后处理。某些实例对于多层解码方法特别有用,诸如基于LCEVC和VC-6的方法,如上所述。在实例中,在应用至少一个后处理操作之前执行选择性或条件式样本转换。该至少一个后处理操作可以包括抖色。样本转换将输出解码视频流的原始视频属性转换为期望视频属性。期望视频属性可以由呈现装置(诸如移动客户端应用程序、智能电视或另一显示装置)发信号通知。下面给出了其中视频属性与视频分辨率(例如,一维或多维的像素数)相关的实例;然而,这些实例可以扩展到其他视频属性,诸如比特深度(例如,其表示颜色深度)、帧率等。
图8是示出根据一个示例性实施例的用于在呈现解码视频流之前对所述视频流进行后处理的技术的框图。在一般形式中,在框810处,对第一分辨率805下的视频流进行解码以创建重构视频输出流。将重构视频输出流分辨率与从呈现平台接收到的(例如,作为应用程序编程接口API功能调用的一部分接收到的)期望输出分辨率进行比较。如果期望输出分辨率等于重构视频输出流分辨率,则重构视频输出流在框815处经历后处理,然后在框820处输出。然而,如果期望输出分辨率不等于重构视频输出流分辨率,则重构视频输出流在框825处经历必要的样本转换,以便使重构视频输出流分辨率等于期望输出分辨率,然后在框815处后处理并且在框820处输出。
图9在流程图中描绘了根据图8的公开的用于对视频流进行后处理的方法900。在905处,该方法包括接收一个或多个接收到的视频流。在910处,对该一个或多个接收到的视频流进行解码以产生重构视频输出流。在915处,将重构视频输出流分辨率与从呈现平台接收到的期望输出流分辨率进行比较。如果期望输出分辨率等于重构视频输出流分辨率,则该方法进行到步骤925,在该步骤中对重构视频输出流进行后处理,然后在步骤930处输出重构视频输出流。然而,如果在步骤915处期望输出分辨率不等于重构视频输出流分辨率,则该方法进行到步骤920然后进行到步骤925,以便使重构视频输出流分辨率等于期望输出分辨率,然后在步骤925处后处理,并且然后在步骤930处输出重构视频输出流。
就在呈现平台处呈现信号之前,旨在用于在呈现平台处再现的信号可能优选地具有特定分辨率。用于显示的最佳分辨率通常由呈现平台确定。因此,本发明的一个方面使用API功能,例如以从呈现平台接收期望输出分辨率,以便确定重构信号必须具有什么分辨率才能实现最佳视觉效果。在确定显示重构信号的最佳分辨率之后,重构信号在步骤920处经历样本转换(即,上采样或下采样)以实现所述最佳分辨率。
组合后处理和样本转换,如果不小心,可能会对最终再现导致不期望的影响。举例来说,对低分辨率信号应用抖色然后对低分辨率信号进行上采样可能会导致形成不期望的噪声。因此,与当代技术相反,图8和图9中使用的技术在应用样本转换之后应用后处理(诸如抖色),以减轻样本转换对经后处理的信号的负面影响。举例来说,如果随后进行样本转换,受控的后处理步骤可能很快就会被破坏并且不再受控。
此外,在对比的当代技术中,输出视频属性,诸如分辨率,被视为设置为视频编码的一部分;解码器被配置为接收表示特定分辨率下的信号的数据流,并且对该信号进行解码以输出该特定分辨率下的数据。因此,解码规范将后处理的执行指示为一组解码阶段之后的固定或“硬连线”阶段。因此,解码器被视为具有待呈现的定义输出的“黑匣子”,其中后处理在“黑匣子”内执行。然而,该方法会导致需要灵活呈现解码输出的问题,例如基于用户偏好或由于使用诸如“画中画”或“多屏幕”等呈现方法。
在某些方法中,可缩放编码信号流已被用于提供大量可选输出分辨率,在某些情况下具有不同分辨率下的一组多播流,或使用可缩放编解码器,诸如可缩放视频编解码器(SVC)或可缩放HEVC(SHVC)。然而,这些案例不允许在解码器输出中进行可选和灵活的更改,例如可用分辨率由不同层流的配置来设置。因此,没有样本转换,而是选择特定解码层级。在这种对比案例中,后处理以解码分辨率而不是期望显示分辨率来执行。
有时,显示装置(诸如移动装置和电视)可包括它们自己的比例放大或颜色深度增强,但这些应用于解码器“黑匣子”的输出,其中例如根据标准化解码规范,后处理已经执行。因此,在这些对比案例中,应用于解码器输出的样本转换很可能会产生视觉伪影。
在该示例性实施例中,根据基础层的质量,例如光的质量以及其他因素,动态地且内容自适应地应用后处理。这是有利的,因为允许定制后处理应用程序,以便实现最佳视觉效果。举例来说,后处理参数可基于在解码期间在编码器处计算(并且发信号通知)和/或在解码器处计算的一个或多个图像度量来确定。这些参数可包括抖色强度、锐化和其他噪声添加。
在一个示例性实施例中,样本转换包括将重构视频输出流分辨率上采样到期望输出分辨率。上采样可包括非线性上采样、神经网络上采样或分数上采样中的一者。在后一种情况下,期望分辨率可包括解码器输出分辨率的任何倍数或分数。然而,本领域技术人员可以理解,当期望输出分辨率低于重构视频输出流分辨率时,对重构视频输出流进行下采样也是可能的。
上采样可包括非线性上采样、神经网络上采样或分数上采样中的一者。这是有利的,因为其允许定制的分辨率并且实现精确的上采样。
在该示例性实施例中,后处理是抖色以便最小化视觉损伤,诸如色带或块伪影。然而,本领域技术人员可以理解,类似的技术可以应用于其他类型的后处理方法以便增强最终呈现信号。
后处理抖色采用抖色类型和抖色强度。抖色类型指定是否应用均匀抖色算法。抖色类型可以设置为不应用抖色或应用均匀随机抖色。抖色强度指定待使用的最大抖色强度。抖色强度基于对比度的确定或帧内容的确定中的至少一者来设置。
在该示例性实施例中,参数用于指示基础量化参数(QP)值,以开始应用抖色。附加参数用于指示使抖色饱和的基础QP值。输入信号也用于启用或禁用抖色。输入信号可以是二进制输入信号,但可以理解,可以使用其他输入信号来指示抖色的启用或禁用。启用和禁用信号可以经由API功能调用源自呈现平台。自适应抖色在LCEVC规范内有更详细的解释;然而,此处自适应抖色是在附加样本转换之后执行的,这在LCEVC规范内没有教导。
图10以高级示意图示出了参考图8和图9讨论的后处理和样本转换。该实例示出了在图7的特定LCEVC解码实施例中实现的图8和图9的一般教导。当然,一般教导也适用于参考VC-6和其他类似解码技术示出和描述的实施例。在该示例性实施例中,不再重复图7的细节,并且相似的附图标记描述相似的组件和布置。如图10可见,在创建解码视频/重构视频输出流750之后,采用来自图8的框825和815,以便增强最终再现的视觉外观。
图11示出了执行在图8和图9中概述的方法的解码器实现方式。图11包括应用程序层1105,其中在本文参考图8、图9和图10描述的样本转换和后处理之后,可以由客户端应用程序呈现重构视频流。举例来说,客户端应用程序可包括智能电视媒体播放器应用程序、移动装置应用程序、桌面应用程序等。图11还包括解码器集成层(DIL)1110,其与一个或多个解码器1120、一个或多个插件1130和内核/操作***(OS)层1135一起操作以将视频流解码成重构视频输出流。在图11中,至少解码器集成层1110和一个或多个解码器1125可形成一组解码器库。一个或多个解码器1125可包括增强解码器,诸如LCEVC解码器。
在该示例性实施例中,解码器集成层1110控制一个或多个解码器插件1130和一个或多个解码器1125的操作以生成重构视频输出流。解码可以使用包括AV1、VVC、AVC和LCEVC中的一者或多者的一个或多个解码器来实现。一个或多个解码器插件1130可形成该组解码器库的一部分且/或可以由第三方提供。在一个或多个解码器1125包括增强解码器的情况下,该一个或多个解码器插件提供到解码器集成层1110的公共接口,同时包装用于控制不同组的基础解码器的不同方法和命令。举例来说,基础解码器可使用来自内核/OS层1135的本地(例如操作***)功能来实现。例如,基础解码器可以是使用操作***机制访问的低级媒体编解码器,诸如MediaCodec命令(例如在Android操作***中找到)、VTDecompressionSession命令(例如在iOS操作***中找到)或Media Foundation Transforms命令(MFT——例如在Windows系列操作***中找到),具体取决于操作***。
解码器集成层可包含后处理模块1115和/或样本转换模块1120以对重构视频输出流应用后处理和样本转换,如参考图8、图9和图10所概述的。替代地,后处理和/或样本转换可形成解码器集成层1110、一个或多个插件1130、一个或多个解码器1125或该组解码器库内的单独单独单元中的任一者的一部分。当该一个或多个解码器包括一个或多个LCEVC解码器时,解码器库可以是一组对应的LCEVC解码器库。
此外,控制接口形成解码器集成层1110的一部分。控制接口可以被认为是应用程序层1105与解码器集成层1110之间的接口。控制接口可包括一组外部可调用的方法或功能,例如可以从在应用程序层1105内运行的客户端应用程序调用。因此,解码器集成层1110可以被认为是内核/OS层1135的扩展以向应用程序(或一组解码中间件)提供解码功能。应用程序层1105可以在客户端计算或显示装置上提供呈现平台,其中控制接口被提供为在应用程序层1105内运行的应用程序能够访问的API。本文讨论的期望输出流属性可以在应用程序层1105中运行的应用程序之间经由控制接口传送到解码器集成层1110。举例来说,一个或多个期望视频输出属性,诸如分辨率或比特深度,可以经由对传递设置值的控制接口的功能调用和/或作为执行由解码器集成层提供的解码相关外部方法的一部分来设置。
本文所述的某些实例避免了图像质量问题,其中显示装置对包括后处理的解码器输出进行上采样或比例放大。举例来说,显示装置对带有抖色的解码器输出进行上采样可能会导致难看的抖色“糊点”,其中抖色噪声被上采样。在实例中,诸如LCEVC实例,其中显示分辨率高于输出分辨率(诸如来自增强层级2的解码重构输出),自定义缩放可基于由解码器集成层从显示装置接收到的命令来执行,并且然后对自定义比例放大输出应用抖色。在某些情况下,解码器输出之前的自定义比例放大也可以启用更高级的比例放大方法(例如,与可能是显示装置“内置”的固定旧比例放大方法相反)。此外,比例放大还可以使用对解码器可用但对显示装置不可用的内容自适应参数(例如,基于编码和/或解码度量,针对不同编码块的不同参数)。在这些情况下,解码器可以接收关于显示分辨率的媒体播放器信息,因为解码器视频流仅包含关于解码分辨率的信息,并且无论显示能力如何,都可以提供该媒体播放器信息。
用于实现编码器的示例性设备
参考图12,示出了设备1200的实例的示意性框图。
设备1200的实例包括但不限于移动计算机、个人计算机***、无线装置、基站、电话装置、台式计算机、膝上型计算机、笔记本电脑、上网本计算机、大型计算机***、手持式计算机、工作站、网络计算机、应用服务器、存储装置、消费型电子装置,诸如相机、摄像机、移动装置、视频游戏机、手持式视频游戏装置、***装置,诸如交换机、调制解调器、路由器、车辆等或通常任何类型的计算或电子装置。
在该实例中,设备1200包含被配置成处理信息和/或指令的一个或多个处理器1213。一个或多个处理器1213可以包含中央处理单元(CPU)。一个或多个处理器1213与总线1211耦合。由一个或多个处理器1213执行的操作可以由硬件和/或软件实行。一个或多个处理器1213可包括多个协同定位的处理器或多个全异地定位的处理器。
在该实例中,设备1213包含被配置成存储用于一个或多个处理器1213的信息和/或指令的计算机可用存储器1212。计算机可用存储器1212与总线1211耦合。计算机可用存储器可包括易失性存储器和非易失性存储器中的一者或多者。易失性存储器可以包含随机存取存储器(RAM)。非易失性存储器可以包含只读存储器(ROM)。
在该实例中,设备1200包含被配置成存储信息和/或指令的一个或多个外部数据存储单元1280。该一个或多个外部数据存储单元1280经由I/O接口1214与设备1200耦合。该一个或多个外部数据存储单元1280可例如包括磁盘或光盘和磁盘驱动器或固态驱动器(SSD)。
在该实例中,设备1200进一步包括经由I/O接口1214耦合的一个或多个输入/输出(I/O)装置1216。设备1200还包含至少一个网络接口1217。I/O接口1214和网络接口1217都耦合到***总线1211。至少一个网络接口1217可以使得设备1200能够经由一个或多个数据通信网络1290进行通信。数据通信网络的实例包括但不限于因特网和局域网(LAN)。一个或多个I/O装置1216可以使用户能够经由一个或多个输入装置(未示出)向设备1200提供输入。一个或多个I/O装置1216可以使信息能够经由一个或多个输出装置(未示出)提供给用户。
在图12中,(信号)处理器应用程序1240-1被示出为加载到存储器1212中。这可以作为(信号)处理器过程1240-2执行以实现本文所述的方法(例如,以实现合适的编码器或解码器)。设备1200还可以包含为清楚起见未示出的额外特征,包括操作***和额外数据处理模块。(信号)处理器过程1240-2可以通过存储在计算机可用非易失性存储器内的存储器位置中的计算机程序代码、一个或多个数据存储单元内的计算机可读存储介质和/或其他有形计算机可读存储介质来实施。有形计算机可读存储介质的实例包括但不限于:光学介质(例如,CD-ROM、DVD-ROM或蓝光)、闪存卡、软盘或硬盘或能够在至少一个ROM或RAM或可编程ROM(PROM)芯片中存储如固件或微代码等计算机可读指令或作为专用集成电路(ASIC)的任何其他介质。
因此,设备1200可包括可以由一个或多个处理器1213执行的数据处理模块。数据处理模块可以被配置成包括实施本文描述的至少一些操作的指令。在操作期间,一个或多个处理器1213启动、运行、执行、解译或以其他方式执行指令。
尽管本文参考附图描述的实例的至少一些方面包含在处理***或处理器中执行的计算机过程,但是本文描述的实例还扩展到计算机程序,例如载体上或载体中的计算机程序,其适于将实例付诸实践。载体可以是任何能够承载程序的实体或装置。应当理解,设备1200可包括与图12中所描绘的部件相比更多、更少和/或不同的组件。设备1200可以位于单个位置或可以分布在多个位置。此类位置可以是本地或远程的。
本文描述的技术可以通过软件或硬件实现,或者可以使用软件和硬件的组合来实现。它们可以包含配置设备以实施和/或支持本文描述的任何或所有技术。
以上实施例应理解为说明性实例。设想另外的实施例。
应理解,关于任一个实施例描述的任何特征可单独使用,或者与所描述的其他特征结合使用,并且还可与任何其他实施例的一个或多个特征结合使用,或者与任何其他实施例的任何组合结合使用。此外,在不脱离由所附权利要求书限定的本发明的范围的情况下,还可采用上文未描述的等效者和修改。

Claims (24)

1.一种用于视频解码的方法,所述方法包括:
从呈现平台接收对至少一个期望视频输出属性的指示;
将一个或多个接收到的视频流解码成重构视频输出流,其中在输出所述重构视频流之前应用后处理;
其中所述方法进一步包括当所述期望视频输出属性不同于重构视频输出流属性时,在所述后处理之前对所述重构视频输出流应用样本转换以提供所述期望视频输出属性。
2.根据权利要求1所述的方法,其中动态地且内容自适应地应用所述后处理。
3.根据权利要求1或权利要求2所述的方法,其中所述期望视频输出属性是期望视频输出分辨率,并且当所述期望视频输出分辨率不同于所述重构视频输出流的分辨率时,所述样本转换包括从所述重构视频输出流的所述分辨率转换为所述期望视频输出分辨率。
4.根据任一前述权利要求所述的方法,其中所述期望视频输出属性是期望比特深度,并且当期望视频输出比特深度不同于所述重构视频输出流的比特深度时,所述样本转换包括从所述重构视频输出流的所述比特深度转换为所述期望视频输出比特深度。
5.根据任一前述权利要求所述的方法,其中所述样本转换包括将重构视频输出流分辨率上采样到期望输出分辨率。
6.根据权利要求3所述的方法,其中所述上采样包括非线性上采样、神经网络上采样或分数上采样中的一者。
7.根据任一前述权利要求所述的方法,其中所述后处理包括抖色。
8.根据权利要求7所述的方法,其进一步包括接收抖色类型和抖色强度中的一者或多者。
9.根据权利要求8所述的方法,其中所述抖色强度基于对比度的确定或帧内容的确定中的至少一者来设置。
10.根据权利要求7至9中任一项所述的方法,其进一步包括接收指示基础量化参数QP值的参数,以开始应用所述抖色。
11.根据权利要求7至10中任一项所述的方法,其进一步包括接收指示使所述抖色饱和的基础量化参数QP值的参数。
12.根据权利要求7至11中任一项所述的方法,其进一步包括接收输入以启用或禁用所述抖色。
13.一种用于视频解码的***或设备,其被配置为执行根据任一前述权利要求所述的方法。
14.根据权利要求13所述的***或设备,其中所述解码使用包括AV1、VVC、AVC和LCEVC中的一者或多者的一个或多个解码器来实现。
15.根据权利要求14所述的***或设备,其中所述一个或多个解码器使用本机或操作***功能来实现。
16.根据权利要求13至15中任一项所述的***或设备,其包括解码器集成层和一个或多个解码器插件,其中控制接口形成所述解码器集成层的一部分;并且所述一个或多个解码器插件提供到所述一个或多个解码器的接口。
17.根据权利要求16所述的***或设备,其中所述后处理使用后处理模块来实现并且所述样本转换使用样本转换模块来实现,其中所述后处理模块或所述样本转换模块中的至少一者形成所述解码器集成层和所述一个或多个解码器插件中的一者或多者的一部分。
18.根据权利要求16或权利要求17所述的***或设备,其中所述一个或多个解码器包括实现基础解码层以对视频流进行解码的解码器和实现增强解码层的增强解码器。
19.根据权利要求18所述的***或设备,其中所述增强解码器被配置为:
接收编码增强流,以及
对所述编码增强流进行解码以获得一个或多个残差数据层,所述一个或多个残差数据层是基于从解码视频流导出的数据与从原始输入视频流导出的数据的比较而生成的。
20.根据权利要求19中任一项所述的***或设备,其中所述解码器集成层控制所述一个或多个解码器插件和所述增强解码器的操作,以使用来自所述基础解码层的解码视频流以及来自所述增强解码层的所述一个或多个残差数据层来生成所述重构视频输出流。
21.根据权利要求16至20中任一项所述的***或设备,其中所述呈现平台是客户端计算装置上的客户端应用程序,并且所述控制接口是所述客户端应用程序能够访问的应用程序编程接口API。
22.根据权利要求21所述的***或设备,其中所述后处理由所述呈现平台经由所述控制接口来启用或禁用。
23.根据权利要求21至22中任一项所述的***或设备,其中所述期望视频输出属性从所述呈现平台经由所述控制接口进行传送。
24.一种计算机可读介质,其包括指令,所述指令当被执行时使处理器执行根据权利要求1至12中任一项所述的方法。
CN202180079641.9A 2020-11-27 2021-11-26 使用后处理控制的视频解码 Pending CN116508091A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB2018755.5A GB2601368B (en) 2020-11-27 2020-11-27 Video decoding using post-processing control
GB2018755.5 2020-11-27
PCT/GB2021/053071 WO2022112775A2 (en) 2020-11-27 2021-11-26 Video decoding using post-processing control

Publications (1)

Publication Number Publication Date
CN116508091A true CN116508091A (zh) 2023-07-28

Family

ID=74099745

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180079641.9A Pending CN116508091A (zh) 2020-11-27 2021-11-26 使用后处理控制的视频解码

Country Status (5)

Country Link
EP (1) EP4252426A2 (zh)
KR (1) KR20230107627A (zh)
CN (1) CN116508091A (zh)
GB (1) GB2601368B (zh)
WO (1) WO2022112775A2 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230047271A1 (en) * 2021-08-02 2023-02-16 Mediatek Singapore Pte. Ltd. Color Component Processing In Down-Sample Video Coding
CN116781912B (zh) * 2023-08-17 2023-11-14 瀚博半导体(上海)有限公司 视频传输方法、装置、计算机设备及计算机可读存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EA201492098A1 (ru) 2012-05-14 2015-04-30 Лука Россато Кодирование и декодирование на основании смешивания последовательностей выборок с течением времени
EP2958101A1 (en) * 2014-06-20 2015-12-23 Thomson Licensing Methods and apparatus for displaying HDR image on LDR screen
GB2554065B (en) 2016-09-08 2022-02-23 V Nova Int Ltd Data processing apparatuses, methods, computer programs and computer-readable media
CN111699696B (zh) * 2017-12-06 2023-11-28 V-诺瓦国际有限公司 用于对字节流进行编码和解码的方法和设备
WO2019111010A1 (en) * 2017-12-06 2019-06-13 V-Nova International Ltd Methods and apparatuses for encoding and decoding a bytestream
CN113994689A (zh) * 2019-03-20 2022-01-28 威诺瓦国际有限公司 信号增强编码中的残差滤波
CN114503573A (zh) 2019-03-20 2022-05-13 威诺瓦国际有限公司 低复杂性增强视频编码
PL4038883T3 (pl) * 2019-10-02 2024-04-29 V-Nova International Limited Wykorzystanie przekształconych współczynników w celu zapewnienia osadzonej sygnalizacji znaku wodnego

Also Published As

Publication number Publication date
WO2022112775A3 (en) 2022-07-21
GB2601368A (en) 2022-06-01
GB202018755D0 (en) 2021-01-13
GB2601368B (en) 2023-09-20
KR20230107627A (ko) 2023-07-17
EP4252426A2 (en) 2023-10-04
WO2022112775A2 (en) 2022-06-02

Similar Documents

Publication Publication Date Title
US11272181B2 (en) Decomposition of residual data during signal encoding, decoding and reconstruction in a tiered hierarchy
US20220385911A1 (en) Use of embedded signalling for backward-compatible scaling improvements and super-resolution signalling
US20230080852A1 (en) Use of tiered hierarchical coding for point cloud compression
US20220217345A1 (en) Quantization of residuals in video coding
CN116508091A (zh) 使用后处理控制的视频解码
US20220272342A1 (en) Quantization of residuals in video coding
US20220182654A1 (en) Exchanging information in hierarchical video coding
US20240048738A1 (en) Methods, apparatuses, computer programs and computer-readable media for processing configuration data
US20240040160A1 (en) Video encoding using pre-processing
CN116458163A (zh) 多层信号编码的分布式分析
US20220329802A1 (en) Quantization of residuals in video coding
WO2023187307A1 (en) Signal processing with overlay regions
GB2614054A (en) Digital image processing
GB2617491A (en) Signal processing with overlay regions
WO2023187372A1 (en) Upsampling filter for applying a predicted average modification

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
CB02 Change of applicant information

Address after: 2nd floor, 20 Eastbourne Street, Paddington, London, UK

Applicant after: V-NOVA INTERNATIONAL LTD.

Address before: Great Britain London

Applicant before: V-NOVA INTERNATIONAL LTD.

CB02 Change of applicant information