CN116762338A - 使用预处理的视频编码 - Google Patents
使用预处理的视频编码 Download PDFInfo
- Publication number
- CN116762338A CN116762338A CN202180079854.1A CN202180079854A CN116762338A CN 116762338 A CN116762338 A CN 116762338A CN 202180079854 A CN202180079854 A CN 202180079854A CN 116762338 A CN116762338 A CN 116762338A
- Authority
- CN
- China
- Prior art keywords
- encoding
- spatial resolution
- video stream
- stream
- preprocessing
- 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
Links
- 238000007781 pre-processing Methods 0.000 title claims abstract description 98
- 238000000034 method Methods 0.000 claims abstract description 174
- 230000004048 modification Effects 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 238000002203 pretreatment Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 47
- 239000010410 layer Substances 0.000 description 49
- 238000012545 processing Methods 0.000 description 41
- 230000006870 function Effects 0.000 description 26
- 230000000875 corresponding effect Effects 0.000 description 25
- 238000005070 sampling Methods 0.000 description 15
- 238000013528 artificial neural network Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 238000001914 filtration Methods 0.000 description 11
- 238000012937 correction Methods 0.000 description 8
- 238000000354 decomposition reaction Methods 0.000 description 8
- 230000004913 activation Effects 0.000 description 7
- 238000013459 approach Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 238000013139 quantization Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000000052 comparative effect Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 230000002411 adverse Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000016776 visual perception Effects 0.000 description 2
- 238000012952 Resampling Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000004438 eyesight Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000013442 quality metrics Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/33—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/93—Run-length coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供了一种用于视频编码的技术。该技术包括在下采样器(820)处将第一分辨率(805)下的输入视频流下采样到第二分辨率(825)。该第二分辨率低于该第一分辨率。该技术使用一组编码器以第一空间分辨率和第二空间分辨率对从该输入视频流导出的信号进行编码。还提供了预处理阶段(830),以在下采样器(820)处的该下采样之前对该第一分辨率(805)下的该输入视频流进行预处理。该预处理包括应用模糊滤波器(810)和锐化滤波器(815)。
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”)。在非限制性实例中,当信号是视频流的帧时,最低梯级可以是原始帧的缩略图,或者甚至只是单个图片元素。其他梯级含有有关应用于重构再现以便产生最终输出的校正的信息。梯级可以基于残差信息,例如特定质量等级的原始信号的版本和相同质量等级的信号的重构版本之间的差异。最低梯级可不包括残差信息,但可包括原始信号的最低采样。给定质量层级的解码信号通过以下方式进行重构:首先对最低梯级(因此以第一最低质量层级重构该信号)进行解码,然后预测第二质量层级——下一较高质量层级信号的再现,然后对相应的第二梯级重构数据(也称为第二质量层级“残差数据”)进行解码,然后将预测数据与重构数据组合,以便重构第二较高质量层级信号的再现,等等,直到重构给定质量层级。重构该信号可以包含对残差数据进行解码,并使用该残差数据来校正特定质量等级的版本,该版本导出自较低质量等级的信号版本。不同梯级的数据可以使用不同的编码格式进行编码,并且不同的质量层级可以具有不同的采样率(例如,针对图像或视频信号的情况的分辨率)。后续梯级可以指信号的相同信号分辨率(即,采样率),或指越来越高的信号分辨率。
当生成分级信号编码时,期望能够控制不同编码层的内容。举例来说,在诸如LCEVC和VC-6等方案中,可能期望控制生成的一个或多个残差流的内容,例如以全局方式。在一种情况下,可能期望减少残差流的信息内容,例如减少需要传输的残差数据量,和/或生成具有更易于压缩形式的残差数据,例如当应用游程编码和霍夫曼编码中的一者或多者时。
在对信号(诸如音频和/或视频信号)进行编码时,通常还需要应用信号处理操作来适应实时帧率,例如在30或60赫兹的频率下——即每帧33毫秒或16毫秒。处理通常还需要在资源有限的装置上执行,诸如在电池供电的移动装置上进行视频会议和/或从边缘捕获装置发送监控视频期间。
发明内容
本发明的各个方面和变型在所附权利要求中阐述。
在下面的详细描述中进一步阐述了某些未要求保护的方面。
附图说明
图1示出了分级编码和解码过程的高级示意图;
图2示出了分级解构过程的高级示意图;
图3示出了分级解构过程的替代高级示意图;
图4示出了适用于对分层输出的残差进行编码的编码过程的高级示意图;
图5示出了适用于对来自图4的每个输出层级进行解码的分级解码过程的高级示意图;
图6示出了分级编码技术的编码过程的高级示意图;并且,
图7示出了适用于对图6的输出进行解码的解码过程的高级示意图。
图8在框图中示出了用于在对视频流进行下采样之前对所述视频流进行预处理的技术。
图9在流程图中示出了在对视频流进行下采样之前对所述视频流进行预处理的方法。
图10在高级示意图中示出了在图8和图9中展示的并且在图6的编码过程中实现的预处理。
图11在高级示意图中示出了图6和图10的编码器架构的变型,其具有附加的样本转换阶段。
图12示出了根据实施例的设备的实例的框图。
具体实施方式
本文所述的某些实例涉及用于对信号进行编码的方法。处理数据可包含但不限于获取、导出、输出、接收和重构数据。
在某些对比案例中,在对图像进行下采样之前应用滤波器以改善经下采样的信号的属性。举例来说,在图像处理中已知模糊图像,例如在下采样之前使用高斯滤波器,以防止经下采样的图像内出现混叠。在这种情况下,混叠包括由于离散信号变化而不是连续变化引起的信号中可感知的失真。举例来说,由于选择了特定样本作为下采样过程的一部分,因此在下采样之后,在较高分辨率下平滑而细的曲线或颜色过渡可能在较低分辨率下看起来呈锯齿状或块状。通常,建议在下采样之前进行模糊处理,以改善下采样图像对于人类观察者的外观,例如随着尖锐变化在几个像素上变得“模糊”,因此单个像素选择对经下采样的图像的影响较小。
本文所述的某些实例基于令人惊讶的概念运行,即在分级图像编码中,输入信号(诸如视频帧)可以在下采样之前以这样的方式进行滤波:可以不同于针对可感知的经下采样的图像的推荐滤波,但仍增强一个或多个编码流。举例来说,像LCEVC和VC-6这样利用一个或多个残差流的编码方案可能会受益于在下采样之前进行滤波,以改变使用经下采样的信号生成的残差信号的分布,并且提高编码效率。
在本文所述的某些情况下,期望的预处理可以通过在下采样之前级联多个预处理滤波器来实现。对于视频信号,这些预处理滤波器可能是相对简单的处理操作,可以在减少处理负载的情况下实现复杂的预处理效果,例如与使用资源更丰富的大型神经网络架构进行预处理相比。在某些情况下,级联的预处理滤波器可以实现为两层或更多层的轻量级神经网络架构,例如其具有小的(诸如N<5)2D卷积和快速非线性激活函数。可以使用残差数据流的优化(例如损失)函数来训练轻量级神经网络架构,使得残差数据流通过预处理以期望的方式被修改。
本文所述的某些实例提供了一种不太复杂的方式来生成期望的非线性行为,它不需要那么多的处理能力并且不使用那么多的能量。预处理滤波器很简单并且需要低处理能力来实现。低处理能力要求降低了能量消耗,并且因此在实践中不切实际,例如,当从移动装置进行视频会议时使用比较复杂的非线性处理会很快耗尽移动装置的电池。
根据本发明的一个方面,提供了一种用于视频编码的方法。该方法包括在下采样器处,将输入视频流从第一空间分辨率下采样到第二空间分辨率。第二空间分辨率低于第一空间分辨率。一组编码器以第一空间分辨率和第二空间分辨率对从输入视频流导出的信号进行编码。在下采样之前,对输入视频流进行预处理的预处理阶段。预处理包括应用模糊滤波器和锐化滤波器。
预处理和下采样可实现对输入视频流的非线性修改。
预处理阶段的预处理可以被可控地启用或禁用。
模糊滤波器和锐化滤波器可以按该次序级联。
模糊滤波器可以是高斯滤波器。模糊滤波器可以是每个方向上的1D可分离3系数滤波器或2D 3×3滤波器。
锐化滤波器可包括反锐化掩模。锐化滤波器可以是2D N×N滤波器,其中N是整数值。N可以取值为3。
锐化滤波器可使用可调系数以适应不同的处理要求。举例来说,中心值和外围值可以是可调的,仅外围值可以是可调的,或者仅中心值可以是可调的。可选择某些系数值来增加或减少高频能量。可选择附加系数值来修改全分辨率细节与中低频分离的方式。然后,这允许基于简单滤波器的可控预处理操作。
该组编码器可以实现比特率阶梯。
在该组编码器处的编码可包括使用第一编码方法编码以第一空间分辨率对从输入视频流导出的信号进行编码,并且使用第二方法以第二空间分辨率编码对从输入视频流导出的信号进行编码。第一编码方法和第二编码方法可以不同。当不同时,第一编码方法和第二编码方法可生成LCEVC编码数据流的至少一部分。
在该组编码器处的编码可包括使用第一编码方法编码以第一空间分辨率对从输入视频流导出的信号进行编码,并且使用第二方法以第二空间分辨率编码对从输入视频流导出的信号进行编码。第一编码方法和第二编码方法可以相同。第一编码方法和第二编码方法可生成VC-6编码数据流的至少一部分。
在该组编码器处的编码可包括对残差流进行编码。残差流可基于第一空间分辨率下的输入视频流的重构与第一空间分辨率下的输入视频流的比较来生成。第一空间分辨率下的视频流的重构可以从第二空间分辨率下的视频流的重构导出。
在该组编码器处的编码可包括以第二空间分辨率对输入视频流进行编码。
在该组编码器处的编码可包括对第二残差流进行编码。第二残差流可基于第二空间分辨率下的输入视频流的重构与第二空间分辨率下的输入视频流的比较来生成。第二空间分辨率下的输入视频流的重构可以从解码第二空间分辨率下的编码输入视频流导出。
该方法可进一步包括在第二下采样器处的第二下采样以将输入视频流从第二空间分辨率转换为第三空间分辨率。第三空间分辨率可以低于第二空间分辨率。可以在第二下采样器之前的第二预处理阶段应用进一步的预处理。
预处理阶段和第二预处理阶段的预处理可以以不同的组合被启用或禁用。
当预处理被启用时,由该组编码器中的一个或多个编码器使用的一个或多个图像度量可以被禁用。
当该组编码器中的一个或多个编码器使用峰值信噪比(PSNR)或结构相似性指数度量(SSIM)图像度量进行编码时,预处理可以被禁用。
提供了一种用于视频编码的系统或设备,其被配置为执行上文详述的方法。
在某些情况下,信号编码器包括:多个神经网络层,该多个神经网络层接收从用于编码的输入信号导出的数据,每个神经网络层将至少一组权重应用于输入信号,每个神经网络层包括应用于输出的激活函数,该激活函数是可微非线性函数,该多个神经网络层以串联方式通信地耦合;下采样器,该下采样器将从该多个神经网络层的输出导出的数据从第一采样分辨率转换为第二采样分辨率,第二采样分辨率低于第一采样分辨率;接口,该接口将从下采样器的输出导出的数据提供给以第二采样分辨率或更低的采样分辨率运行的基础编码器;以及残差编码器,该残差编码器对残差信号进行编码,该残差信号通过将从基础编码器导出的数据和从下采样器的输出导出的数据进行比较来计算,其中基础编码器的输出和残差编码器的输出形成输入信号的编码,并且其中该多个神经网络层基于优化函数来训练,该优化函数包括残差信号的函数。还可以提供一种基于该信号编码器的信号编码方法。
在某些情况下,上述信号编码器包括另一个残差编码器,该残差编码器对残差信号进行编码,该残差信号通过将以第一采样分辨率生成的重构和在该多个神经网络层之前从输入信号导出的数据进行比较来计算,其中基础编码器的输出、残差编码器的输出和另一个残差编码器的输出形成输入信号的编码,并且其中该多个神经网络层基于优化函数来训练,该优化函数包括由残差编码器和另一个残差编码器编码的残差信号中的一者或多者的函数。
提供了一种计算机可读介质,其包括指令,该指令当被执行时使处理器执行上文详述的方法。
简介
本文所述的实例涉及信号处理。信号可以被视为样本序列(即二维图像、视频帧、视频场、声音帧等)。在说明书中,术语“图像”、“图片”或“平面”(意指“超平面”的最广泛含义,即具有任意维数和给定采样网格的元素阵列)将通常用于标识沿样本序列的信号样本的数字再现,其中,每个平面对于其每个维度(例如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比分级中的层级数少一个。在本文参考图2至图7说明的所有实例中,输出编码数据有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。变换可以是如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(即,不转发这些残差值以供处理)来预处理残差可提供可控制且灵活的方式来管理位速率和流带宽,以及资源使用。
与下采样增强相关的实例
在本文所述的某些示例性实施例中,下采样操作,例如图2和图3中的操作201或图6中的操作605中的一个或多个操作(以及未示出的其他下采样操作)包括下采样之前呈预处理阶段的形式的任选增强操作。
如上所述,在分级编码系统(诸如视频编码方案LCEVC和VC-6)中,期望控制生成的一个或多个残差流的属性(例如,根据2或图3的梯级,或图6中所示的层1和层2残差流中的一者或多者)。在实例中,一个或多个预处理滤波器和下采样滤波器的内核是不同的,以从下采样滤波器产生复杂输出。在某些实例中,不同滤波器的组合提供非线性滤波和/或复杂线性滤波。在某些情况下,预处理滤波器和下采样滤波器中的一者或多者是非线性函数。例如,从一组像素中选择一个像素的下采样滤波器可以提供非线性。在其他情况下,可以在由级联的预处理滤波器和下采样滤波器形成的流水线内提供一个或多个附加的非线性激活函数,使得该组合提供非线性滤波。
在以下实例中,已经通过实验发现在下采样操作之前模糊滤波器和锐化滤波器的特定组合在一个或多个层级提供更有效的残差数据编码。在这些情况下,在模糊与下采样之间添加锐化阶段是令人惊讶的,因为它可以消除模糊的影响并进一步引入混叠。然而,已经发现,由于下采样信号要被编码,例如通过较低或基础层级编码器,产生“良好”可感知图像的属性对于产生有效残差编码的属性而言并不必要。因此,模糊和锐化的组合提供更有效地由较低级或基础层级编码器编码的信号和/或产生在残差层级更有效地编码(例如,即在变换、量化和游程或霍夫曼编码之后更有效地编码)的残差数据。在某些情况下,残差数据量可能会增加,但它可能具有更容易编码的结构,例如产生具有公共量化层级的更多特征和/或更多连续的水平、竖直和/或对角线条,这些线条导致具有相同值的一系列经变换且经量化系数——例如H、V或D表面/平面,其具有可以有效压缩的长串公共值。已经发现,被传递用于较低层级编码的信号甚至可能看起来对人类感知者而言是不愉快的(因此避免使用)但会生成更有效的编码,例如以更小的比特流和/或更少的处理操作的形式。
图8是示出根据一个示例性实施例的用于在对视频流进行下采样之前对所述视频流进行预处理的技术的框图。在一般形式中,第一分辨率805下的视频流在预处理阶段830被预处理,然后在下采样器820处被下采样以创建低于第一分辨率的第二分辨率825下的视频流。预处理阶段830包括模糊滤波器810和锐化滤波器815。
图9在流程图中描绘了根据图8的公开的用于在对视频流进行下采样之前对所述视频流进行预处理的方法905。在910处,该方法包括接收第一分辨率下的输入视频流。在915处,使用模糊滤波器和锐化滤波器对接收到的视频流进行预处理。在920处,通过下采样将预处理视频流从第一分辨率转换为第二分辨率。在925处,输出第二分辨率下的视频流。
根据需要由一组编码器对第一和/或第二分辨率下的视频流进行编码,这些编码器以适当分辨率对至少从输入视频流导出的信号进行操作,例如关于图1至图7所讨论的。下采样器820可以包括图2和图3中的下采样器201i或图6中的下采样器605中的任一者。
在下采样之前,运算子(即滤波器)的组合提供了改进的图像编码和后续解码。这至少部分地实现,因为模糊滤波器有助于减少由锐化滤波器和/或下采样器引起的混叠,并且锐化滤波器有助于减少由下采样引起的图像柔化。总的来说,通过滤波器和下采样器一起工作,图像再现得到改善:变得更清晰,没有那么多的混叠,另外还有处理器需求和功率消耗相对较低的益处。
在某些情况下,预处理和下采样实现对输入视频流的非线性修改
以此方式,提供了一种在下采样之前通过级联一组运算子(可能是简单的数学运算子,诸如模糊滤波器和锐化滤波器)生成对视频流的期望非线性操作的技术。运算子和下采样的组合提供了改进的图像编码和后续解码。
该特定实施例中的第一和第二分辨率是空间分辨率,然而其他分辨率可以以此方式有用地处理,例如其他形式的采样率和/或分辨率。在编码和解码时,尤其是在分级编解码器中,对空间分辨率使用预处理在创建改进的视频再现方面具有特殊的优势和效果。
在该示例性实施例中,预处理阶段的预处理被可控地启用或禁用。当预处理被启用时,由该组编码器中的一个或多个编码器使用的一个或多个图像度量被禁用。在一个特定实例中,当该组编码器中的一个或多个编码器使用PSNR或SSIM图像度量来进行编码时,预处理被禁用。在这些情况下,较低层级或基础编码器可以使用图像度量来控制编码。在本实例中,预处理阶段以这种方式将输入帧修改为较低层级或基础编码器:可能导致这些图像度量的“差”或不可预测的输出,并且因此可能影响使用这些图像度量的值来控制编码的任何较低层级或基础编码。如上所述,这反映了这样的事实,即某些图像度量被配置为反映人类视觉感知,并且预处理可能会导致根据人类视觉感知为“差”的下采样输出。这就是为什么令人惊讶的是,即使根据传统图像度量,较低层级或基础编码可能对“差”信号进行,但当在分级编码方案内使用残差流进行重构时,这种“差”信号实际上可能会导致解码器处的改进的最终重构和/或减少处理和/或比特流资源的预定义质量重构。
再次参考图8,模糊滤波器和锐化滤波器按该次序级联。模糊滤波器可包括高斯滤波器。模糊滤波器可以从每个方向上的1D可分离3系数滤波器或2D 3×3滤波器中选择。锐化滤波器可包括定义的2D N×N滤波器,其中N是整数值。N可以取值为3。这些滤波器可以如本领域已知的那样与输入信号进行卷积。锐化滤波器可使用可调系数以适应不同的处理要求。举例来说,中心值和外围值可以是可调的,仅外围值可以是可调的,或者仅中心值可以是可调的。可选择某些系数值来增加或减少高频能量。可选择附加系数值来修改全分辨率细节与中低频分离的方式。具体地,在某些实例中,锐化滤波器可包括反锐化掩模。当然,可使用其他合适的滤波器。在一种情况下,可使用以下形式的3×3反锐化掩模。
0 | -S | 0 |
-S | C | -S |
0 | -S | 0 |
在这种情况下,锐化滤波器可以实现为输入图像f(例如,表示颜色平面的帧,诸如YUV之一)和加权拉普拉斯内核的卷积L:
z=f*L
其中f是输入图像,z是输出(经滤波的)图像,并且L是如上所示的滤波器内核。S和C是控制锐化滤波器效果的参数。在一种情况下,S可以是1并且仅有C可以是可控的。在其他情况下,C=4S+1。可以在编码期间控制参数值(S和/或C)。在这些情况下,参数值可包括整数值或浮点值。在某些情况下,0≤S≤1,其中S=0对应无滤波效果(即z=f),并且s=1则滤波效果最强。S(和/或C)的值可以通过用户配置来选择,也可以根据正在处理的内容来设置。在后一种情况下,S或C的值可能因编码块(例如,输入信号的每个2×2或4×4块)而异。该滤波器可被称为反锐化掩模,因为它使用图像的负模糊(或反锐化)版本作为掩模来执行锐化,随后将掩模与原始图像组合。在其他实例中,锐化滤波器可包括任何线性和/或非线性锐化滤波器。应理解,可以以类似的方式将模糊(例如高斯)滤波器应用为一组1D可分离滤波器或2D滤波器。
除了本文讨论的分级编码方法,在一个实现方式中,一个或多个下采样阶段可用于实现比特率阶梯。例如,一组编码器的布置可以接收相应的经下采样的信号并且对多个编码信号流进行编码。在这种情况下,编码信号流可以是完全编码信号流(类似于图6中的基础编码流601),与编码残差流或增强流相反。在这些情况下,比特率阶梯可以被视为与不同编码配置文件或分辨率相关联的多个编码。例如,视频可能以270p 1mbps、480p 2mbps、640p 3.2mbps、720p 4mbps和1080p 5mbps来进行编码,其中原始源视频1080p,图8的下采样方法用于生成每个其他分辨率信号用于编码。在这种情况下,编码器可以是非LCEVC或非VC-6编码器,诸如AVC、HEVC、AV1、VVC等。
在某些实例中,模糊滤波器810、锐化滤波器815和下采样器820可以被提供为任何基于层级的编解码器中的单个包滤波器。在一个优选实施例中,预处理滤波器与线性下采样内核组合以生成自适应比特率(ABR)阶梯的低分辨率源,无论用于编码的编解码器如何,这都将提高ABR阶梯的质量。
图10以高级示意图示出了参考图8和图9讨论的预处理。该实例示出了在图6的特定LCEVC编码实施例中实现的图8和图9的一般教导。当然,一般教导也适用于参考图2和图3示出和描述的实施例。在该示例性实施例中,不再重复图6的细节,并且相似的附图标记描述相似的组件和布置。如图10可见,输入视频600在下采样块605之前被传递到预处理阶段830。按照图8,预处理阶段830包括与锐化滤波器815级联的模糊滤波器810。模糊滤波器810和锐化滤波器815可以如上所述配置。
此外,编码包括使用第一编码方法以第一分辨率对从输入视频流导出的信号进行编码,并且使用第二方法以第二分辨率编码对输入视频流导出的信号进行编码。第一编码方法和第二编码方法在LCEVC实施例中是不同的(参见图6)。当不同时,第一编码方法和第二编码方法可生成LCEVC编码数据流的至少一部分。在VC-6实施例中,第一编码方法和第二编码方法可以是相同的(参见图2和图3)。第一编码方法和第二编码方法可生成VC-6编码数据流的至少一部分。
如技术读者将显而易见的,编码包括对残差流进行编码。残差流基于第一分辨率下的输入视频流的重构与第一分辨率下的输入视频流的比较619来生成。第一分辨率下的视频流的重构从第二分辨率下的视频流的重构导出。此外,输入视频流使用基础编码器613以第二分辨率来进行编码,如已经参考图6和图10所述。此外,编码包括对第二残差流进行编码。第二残差流可基于第二空间分辨率下的输入视频流的重构与第二空间分辨率下的输入视频流610的比较来生成。第二空间分辨率下的输入视频流的重构从解码第二空间分辨率下的编码输入视频流导出。
图11在高级示意图中示出了图10的编码器架构的变型。在该示例性实施例中,不再重复图10的细节(其也可从图6导出),并且相似的附图标记描述相似的组件和布置。该实例具有附加下采样块1105,其在基础编码器613处的编码之前进一步将输入视频流从第二分辨率下采样到第三较低分辨率。然后,在基础解码器614处对编码基础流601进行解码之后,进一步的上采样块1165将所得信号上采样到第二分辨率。上采样块1165的输出然后变成第二分辨率下的重构输入视频流并且用于生成编码层级1流602和编码层级2流603,如关于图6所讨论的,并且关于图10重复。
在某些实例中,不同阶段的给定下采样器和上采样器对以不同的组合被启用或禁用。在一种情况下,可以设置缩放方向,例如按照本文所述的仅水平下采样/上采样。如果第二下采样块1105和第一上采样块1165被禁用,则图11的拓扑结构是图10的拓扑结构。
在该示例性实施例中,存在进一步的预处理阶段830',其在附加下采样块1105处的下采样之前以第二分辨率处理输入视频。进一步的预处理阶段830'包括模糊滤波器810'和锐化滤波器815',如上面关于预处理阶段830所讨论的。每个预处理阶段830和830'的配置在本实例中是相同的,但是配置可以根据实现方式而不同。此外,滤波器参数可能不同(例如上面的C和S)和/或可能是独立可控的。
下采样阶段605可包括输入像素数据的子采样和/或包括线性下采样内核的应用程序。线性下采样内核可以包括双线性、双三次、Lanczos和多叶Lanczos内核等中的一者。内核可以是可定制的大小。
在该实例中,第三分辨率低于第二分辨率。
预处理阶段830和进一步的预处理阶段830'处的预处理可以以不同的组合被启用或禁用。换句话讲,预处理阶段830可以被开启,而进一步的预处理阶段830'可以被关闭,反之亦然。预处理阶段830和830'可以一起开启或关闭。附加下采样块1105的使用允许供应给基础编码器613的信号在大小上进一步减小(例如,在竖直和/或水平空间分辨率上减小)。附加下采样块1105可用于加速基础编码(因为要编码的信号具有更少的像素)和/或降低编码基础流601的比特率(可能代价是增加编码层级1流602或编码层级2流603的比特率)。具有多个可控缩放操作(在一维或多维中)并且能够控制这些缩放操作的预处理(例如以滤波器参数和/或开/关激活的形式)可以允许对编码信号流601、602和603进行复杂的细粒度控制,同时仅使用可以在低资源装置中以低资源成本实现的简单滤波方法(例如,在移动装置上不使用大量电池电量)。
一方面,当预处理阶段830和/或进一步的预处理阶段830'被启用时,由基础或较低层级编码器使用的一个或多个图像度量可以被禁用。具体地,当编码器使用PSNR或SSIM图像度量来进行编码时,预处理阶段830和/或进一步的预处理阶段830'可以被禁用。在某些情况下,基础或较低层级编码器可使用一个或多个图像度量(诸如PSNR或SSIM)来控制(例如优化)编码。如果应用了预处理阶段830或830'中的一者或多者,这可能会导致这些度量(旨在反映感知质量而非编码质量)的性能不佳。这些度量的性能不佳可能会干扰基础或较低层级编码,并且因此可以通过关闭预处理操作来避免。更具体地,当编码器使用PSNR或SSIM图像度量来进行编码时,预处理阶段830和830'都被禁用。
在某些实例中,其他图像度量可能不会受到本文所述的预处理的不利影响。例如,平均意见得分(MOS)和/或视频多方法评估融合(VMAF)度量可能不会受到不利影响,并且因此使用这些度量的编码器可能仍然能够成功执行基于度量的编码。在一种情况下,可以基于选定的一组编码器配置来自动控制预处理。
众所周知,非线性技术在处理视频信号方面可能比更传统的线性内核(尤其是可分离内核)更有效,但代价是增加了处理能力要求。因此,本公开的一个方面概述了一种通过级联一组运算子(例如滤波器)来生成期望的非线性行为的技术,从而以处理有效的方式创建非线性行为的近似。
在上述实例的一个变型中,预处理阶段和预处理阶段加下采样阶段中的一者或多者可以用有效的轻量级神经网络架构来代替。例如,模糊滤波器810和锐化滤波器815中的一者或多者可以由卷积神经网络中的一个或多个N×N卷积滤波器来代替。在一种情况下,上述滤波器可以由3×3可训练卷积滤波器来代替。在一种情况下,可基于上述模糊和锐化滤波器系数来校准初始权重(在其他案例至,可使用其他初始化,诸如随机权重)。也可使用一个或多个激活函数。例如,可以在第一滤波器810与第二滤波器815之间和/或在第二滤波器815之后在下采样之前实现非线性(或激活函数层)。下采样可以作为在一个或多个维度上具有可配置步幅的步幅选择来实现(例如,在X和Y方向中的每个方向上的步幅2将执行除以2下采样),和/或可包括线性滤波器,诸如Lanczos滤波器。在一种情况下,可以在子采样步骤之前应用线性滤波器。
在一个或多个可训练滤波器之后应用的如上所述的非线性可包括任何已知的非线性,诸如S形函数、tanh函数、整流线性单元(ReLU)或指数线性单元(ELU)。也可使用常用函数的变型,诸如所谓的Leaky ReLU或Scaled ELU。在一个实例中,非线性层可包含LeakyReLU——在这种情况下,针对大于0(或等于0)的输入值,该层的输出等于输入,并且针对小于0的输入值,输出等于输入的预定义比例,例如a*输出。在一种情况下,a可以设置为0.2。
在以上实例中,第一滤波器810和第二滤波器815的卷积滤波器系数可以基于优化函数来训练,该优化函数是一个或多个残差数据流的函数(例如,图10和图11中的比较器610和619中的一者或多者的输出的函数)。对于图11的实现方式,预处理阶段830'的滤波器系数可以基于比较器610输出的第一残差流的函数,并且预处理阶段830的滤波器系数可以基于比较器619输出的第一残差流的函数。该函数可以包括损失函数。损失函数可以寻求基于残差值使度量最小化(诸如求和或平均值),和/或可以包括度量,诸如编码流602或603中的一者或多者的比特率。因此,在该实例中,可以使用神经网络方法(例如,经由标准梯度下降和反向传播方法)来学习预处理模糊和锐化滤波器的系数值。由于与大规模神经网络架构(其可能具有更多层和/或更多卷积滤波器)相比,滤波器可能非常简单,因此它们可能是可训练的并且可实现实时帧率处理,并且具有与其他实例相同的低资源优势。
本文所述的预处理可以有利地与LCEVC编码器一起应用,即,生成LCEVC数据流以供LCEVC解码器解码的编码器。在这种情况下,预处理设置可能会影响LCEVC编码器设置的组合,这些设置会影响以下中的两者或更多者的互锁图像处理效果:下采样器滤波器、上采样器滤波器、所谓的“预测残差”计算(参见例如WO2020/188242,其以引用方式并入本文)以及一个或多个残差数据流。本文所述的预处理方法允许非线性和/或内容自适应下采样方法以及自定义内容或上下文自适应上采样方法(有关后者的更多详细信息,参见PCT/GB2020/052420,公布为WO2021/064413,其内容以引用方式并入本文)。如WO2020/188242中所述,“预测残差”计算用于在添加完全分辨率(例如最高层级或层级2)残差数据之前生成上采样重构。因此,在解码侧,进一步级联有用于上采样的非线性自适应滤波器,其可生成简化的“超分辨率”上采样形式。这种简化的“超分辨率”上采样通过完全分辨率(或更高层级/层级2)残差数据(例如表示精细细节)进一步校正,这些数据无法以其他方式重构(例如通过简化的上采样本身),以尽可能接近无损编码(例如,最佳地重构原始输入视频信号)。
在多层编码(诸如LCEVC)中,与在完全分辨率下单独使用的基础编解码器(即完全分辨率是LCEVC的增强输出分辨率)相比,整体压缩效率部分源于智能处理中-低频特征(所谓的“核心”信号)和高频特征(所谓的“细节”),其中这两组特征可以经由处理流水线单独压缩。在LCEVC中,提供了一组低复杂性工具,其专门设计用于使用轻量级并行处理有效地压缩高频细节。这些工具包括本文所述的预处理方法,这会影响中-低频特征的“分离”方式。传统的单层编解码器用于压缩中-低频特征,并且这可以在较低的采样率、比特深度和/或分辨率下有效地执行。
本文所述的预处理方法与LCEVC的残差编码流水线以及本文引用的定制上采样方法组合,允许在校准LCEVC压缩方面具有充分的灵活性。在某些情况下,由于LCEVC执行的重采样和信号分解的有效非线性组合可能会生成与传统视频输入(例如用于基础编码和/或呈用于编码的残差数据流的形式)的深刻差异,传统的“可感知”视觉质量,以及被配置为接近这种“可感知”视觉质量的视觉质量度量,可能会受到影响。在这些情况下,可以定义提供高质量重构的LCEVC校准。这可能包括LCEVC配置参数的所谓的“调整”集,其提供在测试条件下运行良好的配置组合。这些设置可能涉及本文所述的预处理设置。在一种情况下,可以通过设置“pre_processing_mode”设置来开启和关闭本文所述的预处理。当设置为“开启”时,本文所述的预处理方法提供不同于基础线性内核的配置,并且为形成LCEVC编码器的一部分的联锁非线性帧处理工具的“连锁反应”元素中的一者提供一定程度的控制。
在一组实例中,“pre_processing_mode”设置可采用以下三个值中的一者:“禁用”、“代替”或“分离”。“禁用”值指示预处理阶段被禁用(例如,跨越图10和图11中所示的一个或两个层级)。“代替”值指示对两个残差表面应用了一组公共的预处理,例如对于图11中所示的两个层级。在这种情况下,预处理阶段830和830'使用相同的滤波器参数(例如,使用相同的一组滤波器系数)。“分离”值指示对两个残差表面单独应用预处理。例如,在这种情况下,预处理阶段830和830'中的每一者使用不同的滤波器参数(例如,使用不同的一组滤波器系数)。
在某些实例中,本文所述的预处理滤波器可以使用分别表示高频强度(例如hf_strength)和低频强度(例如lf_strength)的两个参数来配置。这些参数可以分别对应于上面的S和C参数。高频强度参数可以接受介于0与0.5之间的分数值,从而允许增加或减少滤波信号内高频特征的能量。接近0的值可能更适合视频源内更柔的细节。默认值可以设置在0与0.35之间。低频强度参数可以接受介于0与1.0之间的分数值,从而影响高分辨率细节(例如高频特征)与传递到基础编解码器的中-低频分离的方式。默认值可以设置在0与0.35之间。
用于实现编码器的示例性设备
参考图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 (20)
1.一种用于视频编码的方法,所述方法包括:
在下采样器处,将输入视频流从第一空间分辨率下采样到第二空间分辨率,所述第二空间分辨率低于所述第一空间分辨率;以及
在一组编码器处,以所述第一空间分辨率对从所述输入视频流导出的信号进行编码,并且以所述第二空间分辨率对从经下采样的输入视频流导出的信号进行编码;
其中所述方法进一步包括:
在预处理阶段,在所述下采样之前对所述输入视频流进行预处理,其中所述预处理包括应用:
模糊滤波器;和
锐化滤波器。
2.根据权利要求1所述的方法,其中所述预处理和所述下采样实现对所述输入视频流的非线性修改。
3.根据任一前述权利要求所述的方法,其中在所述预处理阶段的所述预处理被可控地启用或禁用。
4.根据任一前述权利要求所述的方法,其中所述模糊滤波器和所述锐化滤波器按该次序级联。
5.根据任一前述权利要求所述的方法,其中所述模糊滤波器是高斯滤波器。
6.根据任一前述权利要求所述的方法,其中所述锐化滤波器包括反锐化掩模。
7.根据任一前述权利要求所述的方法,其中所述锐化滤波器是2D N×N滤波器,其中N是整数值。
8.根据任一前述权利要求所述的方法,其中所述锐化滤波器使用可调系数值。
9.根据任一前述权利要求所述的方法,其中所述一组编码器实现比特率阶梯。
10.根据任一前述权利要求所述的方法,其中在所述一组编码器处的所述编码包括使用第一编码方法以所述第一空间分辨率对从所述输入视频流导出的所述信号进行编码,并且使用第二编码方法以所述第二空间分辨率对从经下采样的输入视频流导出的所述信号进行编码,其中所述第一编码方法和所述第二编码方法不同。
11.根据权利要求10所述的方法,其中来自所述第一方法和所述第二方法的编码信号被输出为LCEVC编码数据流。
12.根据权利要求1至9中任一项所述的方法,其中在所述一组编码器处的所述编码包括使用第一编码方法以所述第一空间分辨率对从所述输入视频流导出的所述信号进行编码,并且使用第二编码方法以所述第二空间分辨率对从经下采样的输入视频流导出的所述信号进行编码,其中所述第一编码方法和所述第二编码方法相同。
13.根据权利要求12所述的方法,其中所述第一编码方法和所述第二编码方法生成VC-6编码数据流的至少一部分。
14.根据任一前述权利要求所述的方法,其中在所述一组编码器处的所述编码包括对残差流进行编码,所述残差流是基于所述第一空间分辨率下的所述输入视频流的重构与所述第一空间分辨率下的所述输入视频流的比较而生成的,所述第一空间分辨率下的所述视频流的所述重构是从所述第二空间分辨率下的所述视频流的重构导出的。
15.根据任一前述权利要求所述的方法,其中在所述一组编码器处的所述编码包括以所述第二空间分辨率或更低的空间分辨率对所述输入视频流进行编码,并且其中在所述一组编码器处的所述编码进一步包括对第二残差流进行编码,所述第二残差流是基于所述第二空间分辨率下的所述输入视频流的重构与所述第二空间分辨率下的所述输入视频流的比较而生成的,所述第二空间分辨率下的所述输入视频流的所述重构是从所述第二空间分辨率或更低的空间分辨率下的所述编码输入视频流的解码导出的。
16.根据任一前述权利要求所述的方法,其中所述方法进一步包括在第二下采样器处进行第二下采样以将所述输入视频流从所述第二空间分辨率转换为第三空间分辨率,所述第三空间分辨率低于所述第二空间分辨率,并且在所述第二下采样器之前的第二预处理阶段应用所述预处理。
17.根据权利要求16所述的方法,其中在所述预处理阶段和在所述第二预处理阶段的所述预处理以不同的组合被启用或禁用。
18.根据任一前述权利要求所述的方法,其中当所述预处理被启用时,由所述一组编码器中的一个或多个编码器使用的一个或多个图像度量被禁用,所述一个或多个图像度量任选地包括PSNR或SSIM图像度量。
19.一种用于视频编码的系统或设备,其被配置为执行根据任一前述权利要求所述的方法。
20.一种计算机可读介质,其包括指令,所述指令当被执行时使处理器执行根据权利要求1至18中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB2018742.3A GB2601362B (en) | 2020-11-27 | 2020-11-27 | Video encoding using pre-processing |
GB2018742.3 | 2020-11-27 | ||
PCT/GB2021/053070 WO2022112774A1 (en) | 2020-11-27 | 2021-11-26 | Video encoding using pre-processing |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116762338A true CN116762338A (zh) | 2023-09-15 |
Family
ID=74099742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180079854.1A Pending CN116762338A (zh) | 2020-11-27 | 2021-11-26 | 使用预处理的视频编码 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20240040160A1 (zh) |
EP (1) | EP4252423A1 (zh) |
KR (1) | KR20230108286A (zh) |
CN (1) | CN116762338A (zh) |
GB (2) | GB2621248A (zh) |
WO (1) | WO2022112774A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2621248A (en) * | 2020-11-27 | 2024-02-07 | V Nova Int Ltd | Video encoding using pre-processing |
WO2024120499A1 (en) * | 2022-12-10 | 2024-06-13 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for visual data processing |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110317755A1 (en) * | 2010-06-24 | 2011-12-29 | Worldplay (Barbados) Inc. | Systems and methods for highly efficient compression of video |
ES2907510T3 (es) * | 2012-05-14 | 2022-04-25 | V Nova Int Ltd | Descomposición de datos residuales durante la codificación, decodificación y reconstrucción de señales en una jerarquía escalonada |
GB2554065B (en) * | 2016-09-08 | 2022-02-23 | V Nova Int Ltd | Data processing apparatuses, methods, computer programs and computer-readable media |
CN111684802B (zh) * | 2017-12-06 | 2023-12-22 | V-诺瓦国际有限公司 | 用于对字节流进行分级编码和解码的方法和设备 |
EP3721634A1 (en) * | 2017-12-06 | 2020-10-14 | V-Nova International Limited | Methods and apparatuses for encoding and decoding a bytestream |
CN111711817B (zh) * | 2019-03-18 | 2023-02-10 | 四川大学 | 一种结合卷积神经网络的hevc帧内编码压缩性能优化方法 |
GB2617304B (en) | 2019-03-20 | 2024-04-03 | V Nova Int Ltd | Residual filtering in signal enhancement coding |
GB2617790B (en) | 2019-03-20 | 2024-03-13 | V Nova Int Ltd | Low complexity enhancement video coding |
GB201905400D0 (en) * | 2019-04-16 | 2019-05-29 | V Nova Int Ltd | Video coding technology |
GB2603873B (en) | 2019-10-02 | 2023-12-27 | V Nova Int Ltd | Use of embedded signalling for backward-compatible scaling improvements and super-resolution signalling |
WO2022011571A1 (zh) * | 2020-07-14 | 2022-01-20 | Oppo广东移动通信有限公司 | 视频处理方法、装置、设备、解码器、系统及存储介质 |
GB2621248A (en) * | 2020-11-27 | 2024-02-07 | V Nova Int Ltd | Video encoding using pre-processing |
CN116582685A (zh) * | 2023-04-12 | 2023-08-11 | 百果园技术(新加坡)有限公司 | 一种基于ai的分级残差编码方法、装置、设备和存储介质 |
-
2020
- 2020-11-27 GB GB2310451.6A patent/GB2621248A/en active Pending
- 2020-11-27 GB GB2018742.3A patent/GB2601362B/en active Active
-
2021
- 2021-11-26 KR KR1020237019385A patent/KR20230108286A/ko unknown
- 2021-11-26 CN CN202180079854.1A patent/CN116762338A/zh active Pending
- 2021-11-26 WO PCT/GB2021/053070 patent/WO2022112774A1/en active Application Filing
- 2021-11-26 US US18/254,364 patent/US20240040160A1/en active Pending
- 2021-11-26 EP EP21834836.5A patent/EP4252423A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
GB202018742D0 (en) | 2021-01-13 |
US20240040160A1 (en) | 2024-02-01 |
WO2022112774A1 (en) | 2022-06-02 |
KR20230108286A (ko) | 2023-07-18 |
GB2601362B (en) | 2023-08-16 |
GB2601362A (en) | 2022-06-01 |
EP4252423A1 (en) | 2023-10-04 |
GB2621248A (en) | 2024-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11272181B2 (en) | Decomposition of residual data during signal encoding, decoding and reconstruction in a tiered hierarchy | |
CN108293138B (zh) | 有效和可缩放帧内视频/图像编码 | |
US20220385911A1 (en) | Use of embedded signalling for backward-compatible scaling improvements and super-resolution signalling | |
US20220217345A1 (en) | Quantization of residuals in video coding | |
KR20150010903A (ko) | 모바일 단말 화면을 위한 3k해상도를 갖는 디스플레이 영상 생성 방법 및 장치 | |
US20230069953A1 (en) | Learned downsampling based cnn filter for image and video coding using learned downsampling feature | |
CN113994688A (zh) | 视频译码中的残差的处理 | |
US20240040160A1 (en) | Video encoding using pre-processing | |
US20220182654A1 (en) | Exchanging information in hierarchical video coding | |
US20220272342A1 (en) | Quantization of residuals in video coding | |
CN116508091A (zh) | 使用后处理控制的视频解码 | |
US20220329802A1 (en) | Quantization of residuals in video coding | |
WO2023111574A1 (en) | Digital image processing | |
WO2023187372A1 (en) | Upsampling filter for applying a predicted average modification | |
Akramullah et al. | Digital Video Compression Techniques |
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 |