CN117376580A - 视频编码方法及装置 - Google Patents
视频编码方法及装置 Download PDFInfo
- Publication number
- CN117376580A CN117376580A CN202210758640.3A CN202210758640A CN117376580A CN 117376580 A CN117376580 A CN 117376580A CN 202210758640 A CN202210758640 A CN 202210758640A CN 117376580 A CN117376580 A CN 117376580A
- Authority
- CN
- China
- Prior art keywords
- pixels
- pixel
- statistical
- current block
- block
- 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
- 238000000034 method Methods 0.000 title claims abstract description 99
- 238000001914 filtration Methods 0.000 claims abstract description 62
- 238000012512 characterization method Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 abstract description 41
- 238000004364 calculation method Methods 0.000 abstract description 17
- 238000004422 calculation algorithm Methods 0.000 description 17
- 230000003044 adaptive effect Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 15
- 230000002123 temporal effect Effects 0.000 description 9
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 239000002699 waste material Substances 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/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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开关于一种视频编码方法及装置,所述视频编码方法包括:基于当前块的像素,获得统计像素,其中,所述当前块是与原始块对应的重建块,所述统计像素的数量与所述当前块的像素的数量之比为预定比例;统计所述统计像素的像素特征;基于所述像素特征,确定滤波参数;将所述滤波参数编码到比特流中。根据本公开的视频编码方法及装置可以解决难以以较少的编码质量损失来降低编码计算量的问题,可以减少在像素特征统计过程中的计算量,提高编码效率。
Description
技术领域
本公开涉及视频处理技术领域,尤其涉及一种视频编码方法及装置。
背景技术
随着媒体服务的日益多样化和人们日益增强的资讯获取需求,互联网传输的数据量急剧增加,但是网络带宽受限使得亟需更高效的视频编码技术。
视频编码技术的发展可能会带来更大的编码计算量,使得视频编码效率下降,而在降低计算量的过程中,一方面,需要考虑在应用计算量降低的编码方法后,是否还适用于现有的视频编码标准,例如,已经提出的VVC标准等;另一方面,在降低计算量的同时需要尽量少地引入编码质量损失。
然而,现有的视频编码方案难以在适用于现有视频编码标准的情况下以较少的编码质量损失来降低编码计算量。
发明内容
本公开提供一种视频编码方法及装置,以至少解决相关技术中难以在适用于现有视频编码标准的情况下以较少的编码质量损失来降低编码计算量的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种视频编码方法,所述视频编码方法包括:基于当前块的像素,获得统计像素,其中,所述当前块是与原始块对应的重建块,所述统计像素的数量与所述当前块的像素的数量之比为预定比例;统计所述统计像素的像素特征;基于所述像素特征,确定滤波参数;将所述滤波参数编码到比特流中。
可选地,所述基于当前块的像素,获得统计像素,包括:按照所述预定比例对所述当前块中的像素进行均匀选取。
可选地,所述按照所述预定比例对所述当前块中的像素进行均匀选取,包括:按照第一预定像素行间隔,从所述当前块的像素选取像素作为所述统计像素;和/或,按照第二预定像素列间隔,从所述当前块的像素选取像素作为所述统计像素。
可选地,所述基于当前块的像素,获得统计像素,包括:按照预定大小的窗口,划分所述当前块中的像素;基于所述窗口内的像素计算得到所述统计像素。
可选地,所述像素特征包括第一像素特征和/或第二像素特征,所述第一像素特征指示所述统计像素与原始像素之间的差异表征值,其中,所述原始像素为在所述原始块中与所述统计像素对应的像素;所述第二像素特征指示所述统计像素与至少一个关联像素之间的差异表征值,其中,所述关联像素为在所述当前块中在所述统计像素周围的像素。
可选地,所述基于当前块的像素,获得统计像素,包括:按照所述预定比例对所述当前块中的像素进行下采样,得到下采样块;将所述下采样块中的像素作为所述统计像素。
根据本公开实施例的第二方面,提供一种视频编码装置,所述视频编码装置包括:获取单元,被配置为基于当前块的像素,获得统计像素,其中,所述当前块是与原始块对应的重建块,所述统计像素的数量与所述当前块的像素的数量之比为预定比例;统计单元,被配置为统计所述统计像素的像素特征;确定单元,被配置为基于所述像素特征,确定滤波参数;编码单元,被配置为将所述滤波参数编码到比特流中。
可选地,所述获取单元还被配置为:按照所述预定比例对所述当前块中的像素进行均匀选取。
可选地,所述获取单元还被配置为:按照第一预定像素行间隔,从所述当前块的像素选取像素作为所述统计像素;和/或,按照第二预定像素列间隔,从所述当前块的像素选取像素作为所述统计像素。
可选地,所述获取单元还被配置为:按照预定大小的窗口,划分所述当前块中的像素;基于所述窗口内的像素计算得到所述统计像素。
可选地,所述像素特征包括第一像素特征和/或第二像素特征,所述第一像素特征指示所述统计像素与原始像素之间的差异表征值,其中,所述原始像素为在所述原始块中与所述统计像素对应的像素;所述第二像素特征指示所述统计像素与所述至少一个关联像素之间的差异表征值,其中,所述关联像素为在所述当前块中在所述统计像素周围的像素。
可选地,所述获取单元还被配置为:按照所述预定比例对所述当前块中的像素进行下采样,得到下采样块;将所述下采样块中的像素作为所述统计像素。
根据本公开实施例的第三方面,提供一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器,其中,所述处理器可执行指令在被所述处理器运行时,使所述处理器执行根据本公开所述的视频编码方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行根据本公开所述的视频编码方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,其包括计算机指令,所述计算机指令被处理器执行时实现根据本公开所述的视频编码方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
可以基于当前块的像素,获得统计像素,从而可以基于统计像素的像素特征确定滤波参数,进而根据滤波参数,确定关于当前块的滤波信息,从而将滤波信息编码到比特流中,如此,可以减少在像素特征统计过程中的计算量,提高编码效率,而尽量少地引入编码质量上的损失,并且上述过程符合现有的视频编码标准。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是示出通用的基于块的视频编码系统的示例性框图。
图2是示出通用的基于块的视频解码系统的示例性框图。
图3是根据一示例性实施例示出的一种自适应环路滤波器的处理流程图。
图4是根据一示例性实施例示出的一种视频编码方法的流程图。
图5是根据一示例性实施例示出的获得统计像素的一示例的示意图。
图6是根据一示例性实施例示出的获得统计像素的另一示例的示意图。
图7是根据一示例性实施例示出的一种视频编码装置的框图。
图8是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
下面将首先结合图1和图2对通用的基于块的视频编码系统和视频解码系统的示例进行描述。
图1是示出通用的基于块的视频编码系统的框图。输入视频信号可以被逐块处理,这里,块可以例如是但不限于编码树单元(CTU)、最大编码单元(LCU)、编码单元(CU)、预测单元(PU)和变换单元(TU)等。在执行视频编码时,可以对块执行空间预测和/或时间预测。空间预测(或“帧内预测”)使用来自相同视频图片/条带中的已经编码的相邻块的样点(其被称为参考样点)的像素来预测当前视频块。空间预测减少了视频信号中固有的空间冗余。时间预测(也称为“帧间预测”或“运动补偿预测”)使用来自已经编码的视频图片的重构像素来预测当前视频块。时间预测减少了视频信号中固有的时间冗余。给定块的时间预测信号通常由一个或多个运动矢量(MV)发信号通知,运动矢量指示当前块与其时间参考之间的运动偏移量和方向。此外,如果支持多个参考图片,则另外发送一个参考图片索引,其用于识别时间预测信号来自参考图片存储器中的哪个参考图片。
在空间和/或时间预测之后,编码器中的帧内/帧间模式判定块例如基于率失真优化方法来选择最佳预测模式。然后,从当前视频块中减去预测块以获得预测残差,并且使用变换对预测残差进行去相关,然后进行量化。经量化残差系数经反量化及反变换以形成经重构残差,接着将所述经重构残差加回到预测块以形成块的重构信号。在将重构的块放入参考图片存储器中并用作对未来视频块进行编码而使用的参考之前,可以对重构的块应用进一步的环路滤波,例如,但不限于,去块滤波器(DEB)、样点自适应偏移(SAO)和自适应环路滤波器(ALF)等中的至少一项。在帧间模式下,可使用块的参考图片中的对应预测块对块执行运动估计和运动补偿。为了形成输出视频比特流,编码模式(帧间或帧内)、预测模式信息、运动信息和量化残差系数都被发送到熵编码单元以进行进一步压缩和打包。
图2是示出通用的基于块的视频解码系统的示例性框图。如图2所示,视频比特流首先在熵解码单元进行熵解码。编码模式和预测信息被发送到空间预测单元(如果帧内编码)或时间预测单元(如果帧间编码)以形成预测块。残差变换系数被发送到反量化单元和逆变换单元以重构残差块。然后将预测块和残差块加在一起。重构块可以在其被存储在参考图片存储器中之前进一步经历环路滤波,例如,但不限于,去块滤波器(DEB)、样点自适应偏移(SAO)和自适应环路滤波器(ALF)等中的至少一项。然后,将参考图片存储器中的重构视频发送出去以供显示,以及用于预测未来的视频块。在帧间模式下,可使用块的参考图片中的对应预测块对块执行运动补偿。
在上述视频编码系统和视频解码系统中,可能经历自适应环路滤波环节。并且在上述视频编码系统的编码过程中,在自适应环路滤波器(Adaptive Loop Filter,ALF)节点处会产生较大的编码计算量,使得视频编码效率下降。根据本公开的示例性实施例可以用于对视频编码系统中的自适应环路滤波器的改进。
具体来说,ALF是通用视频编码标准(Versatile Video Coding Standard,VVC)中正式引入的一种环路滤波器,使用ALF技术可以使得视频编码性能得到大幅提升。具体来说,ALF技术的核心思想是利用维纳滤波器(Wiener-filter)实现原始视频与重建视频的最小均方误差,具体实现方法是对周围像素施加不同的权重,用得到的偏移值使当前重建像素进一步趋近真实值。
ALF作为最新一代视频编码标准VVC最高效的工具之一,在同等视频质量情况下,可以节省高达5%的码率,但同时其也具有很高的复杂度。事实上,ALF滤波算法早在高效视频编码(High Efficiency Video Coding,HEVC)标准化工作前期就曾被提出并付诸应用,但是最终因其过多的计算量而被移除出HEVC标准。因此,在VVC标准化阶段,甚至在VVC标准已经出台之后,ALF简化一直是研究ALF算法的重要课题。
需要说明的是,由于VVC标准已经完全确定,因此所有基于ALF的简化都必须符合标准,这也是在ALF简化过程中最重要的限制之一。
在一些现有的方案中,考虑到经过ALF滤波像素值未发生变化的像素大多来自画面平坦区域的像素,而ALF滤波后发生变化的像素则主要出现在不平坦区域,因此,提出预先判断像素所在区域的平坦性,并且仅对不平坦区域的像素进行滤波。这种方式可以有效减少ALF编码和解码的滤波时间。然而,这样的方案属于“提前终止”范畴的简化,这种方案虽可以缩短软件视频编解码器的时间,但是并不适用于硬件编解码器。
在另一些现有的方案中,由于ALF对于那些与原始帧有较大差异的重建帧有较好的效果,因此,提出在一些帧上禁用ALF,以节省时间。然而,这样的方案即使实现了ALF简化的目的,但也带来了较大的质量损失。
此外,在VVC标准制定过程中,有大量需要对解码器进行更改,或尝试改变滤波器形状、滤波器参数个数从而简化VVC的方案出现,但是在VVC标准已经确定的背景下,这些方案便不再具备可实施性。
为了解决上述问题,本公开提出一种视频编码方法、视频编码装置、电子设备、计算机可读存储介质及计算机程序产品,其能够减少在像素特征统计过程中的计算量,提高编码效率,而尽量少地引入编码质量上的损失,并且上述过程符合现有的视频编码标准。此外,根据本公开的视频编码方案可以适用于软件编码器,也可以适用于硬件编码器。
该视频编码方法的执行主体可以是电子设备,这里的电子设备例如可以包括智能手机、平板电脑、笔记本电脑、数字助理、可穿戴设备、车载终端等的作为硬件编解码器的实体设备,也可以包括作为软件视频编码器的运行于实体设备的软体。
图3示出了根据一示例性实施例示出的ALF算法的处理流程图,其可作为根据本公开的视频编码方法和装置的实施场景图。
具体来说,ALF算法可以划分为编码和解码两个阶段,其中,编码阶段耗时占比较大。编码阶段的主要任务是:决策当前块是否需要进行ALF滤波,为ALF滤波选择失真最小的滤波器,并且统计帧级信息以获得自适应滤波参数,其流程图如图3所示。
如图3所示,“分类”过程是根据视频内容的方向性和活动性,将每个预定大小的像素块进行分类,这里,像素块的大小例如可以是4×4,然而其不限于此,像素块的大小可以根据实际应用而改变,例如也可以为8×8等。
“统计”过程是统计像素的像素特征。
“求解”过程是利用统计过程得到的统计信息计算自适应的滤波器组(即,自适应参数组),以供当前帧或后续编码帧使用,“求解”过程是ALF算法的高复杂度的主要来源。自适应参数组(Adaptive Parameter Set,APS)是ALF分析视频帧特性后生成的自适应维纳滤波器组,其能够在最大程度上减小误差。
“决策”过程需要使用ALF算法自带的固定滤波器以及在求解过程中计算出的APS滤波器依次为当前CTU的所有像素滤波,然后,选择出使重建视频失真最小的滤波器,最后判断当前CTU是否需要进行ALF滤波。这里,ALF算法自带的固定滤波器可以例如可以为但不限于16个。
“编码”过程是将当前CTU是否需要进行ALF滤波、使用哪组滤波参数进行滤波等信息编入码流。
“滤波”过程是利用选择的滤波参数组进行滤波,得到重建视频。
在上述流程中,“统计”是编码阶段最为重要、也是最为复杂的过程之一,其带来了较大的计算量。
在一示例中,以对单个Y像素执行像素统计的过程为例,在“统计”过程中,针对单个Y像素所需的计算量如下:
12×4×(2ADD+4COMP)+12×2ADD+4ADD (Elocal[13][4])
(1+2+……+13)×4×4×(1MULT+1ADD) (E[13][13][4][4])
13×4×(1MULT+1ADD) (y[4][13])
1MULT+1ADD (pixAcc)。
在上述计算中,ADD表示加和运算,COMP表示比较运算,MULT表示相乘运算,SHIFT表示移位运算,其总计算量为1633ADD+192COMP+1509MULT。
这里,Elocal[13][4]用于计算E[13][13][4][4]和y[4][13],E[13][13][4][4]表示累计当前像素与周围像素之间的像素差值的协方差;y[4][13]表示重建像素与原始像素之间的差值;pixAcc表示重建像素与原始像素之间的差值的平方和。
在另一示例中,以对单个Cb/Cr像素执行像素统计的过程为例,在“统计”过程中,针对单个Cb/Cr像素所需的计算量如下:
6×4×(2ADD+4COMP)+6×2ADD+4ADD (Elocal[7][4])
(1+2+……+7)×4×4×(1MULT+1ADD) (E[7][7][4][4])
7×4×(1MULT+1ADD) (y[4][7])
1MULT+1ADD (pixAcc)。
在上述计算中,总计算量为541ADD+96COMP+477MULT。
这里,以YUV颜色编码方法的YUV 420视频格式为例,Y像素个数:Cb像素个数:Cr像素个数例如为4:1:1,相当于在“统计”过程中,单个像素平均需要的计算量为1269ADD+160COMP+1165MULT。而为了计算出一组滤波参数,例如APS滤波器,当前帧每个像素都需要执行如上所示的大量运算。假设在每个画面组(Group of Pictures,GOP)内仅计算一组APS滤波器,则“统计”过程耗时约占编码阶段总耗时的64.6%,因此,降低该统计过程的计算量可有利于降低整个视频编码过程中的计算量,提高编码效率。
需要说明的是,上述对于Y像素和Cb/Cr像素的计算量的统计仅是一个示例,在实际应用中的计算量可以变化,但是其计算量总体上较大,不利于提高编码速度和编码效率。
还需要说明的是,尽管这里以涉及ALF算法的视频编码应用场景为例进行了阐述,但是应理解的是,根据本公开的视频编码方法、装置的应用场景不限于此,其也可以应用于任何其他涉及视频滤波的视频编码应用场景中。
图4是根据一示例性实施例示出的一种视频编码方法的流程图,如图4所示,视频编码方法可以包括以下步骤:
在步骤S401,可以基于当前块的像素,获得统计像素。
在该步骤中,当前块是与原始块对应的重建块。例如,当前块是对原始块经过一个或多个处理(例如,图1所示的诸如变换、量化、反量化、反变换等的处理)并重建得到的块,当前块可以与原始块相同或不同。
在本文中,诸如当前块、原始块的块例如可以是编码树单元(CTU)、编码单元(CU)等,然而其不限于此,也可以根据其他方式对视频图像进行划分得到,在一些情况下,块也可以是视频图像本身。在视频图像包括多个块的情况下,可以对每个块执行根据本公开的示例性实施例的视频编码方法。
在该步骤中,统计像素的数量与当前块的像素的数量之比可以为预定比例。预定比例可以指的是参与统计的统计像素占当前块的所有像素个数的比例。
作为示例,预定比例可以在[1:4,1:2]的区间内。在预定比例处于该区间的情况下,可以较好地取得编码质量与计算速度上的平衡,可以在降低计算量、提高计算速度的同时,确保编码性能。
以上述ALF算法为例,在采用1:4和1:2的预定比例的情况下,分别可以节省ALF算法中的“统计”过程的50%和75%的耗时,而其BDR损失仅为0.028%和0.1%,即可以保持编码性能几乎不下降。
然而,应理解的是,预定比例不限于上述区间,而是可以根据实际需要来设置,只要统计像素的数量相比于当前块的像素的数量减少即可。
根据本公开的一示例性实施例,可以按照上述预定比例从当前块中的像素中选取像素作为统计像素。
在一示例中,在步骤S401中,可以按照上述预定比例对当前块中的像素进行均匀选取。这里,均匀选取像素可以使得基于统计像素统计到的像素特征更均衡,更全面地保留当前块的像素信息。
例如,可以按照第一预定像素行间隔,从当前块的像素选取像素作为统计像素;和/或,可以按照第二预定像素列间隔,从当前块的像素选取像素作为统计像素。这里,第一预定像素行间隔和第二预定像素列间隔均可以根据实际需要而任意设置。如此,按照预定的像素行和/或列间隔选取统计像素,可以在使得基于统计像素统计到的像素特征更均衡的同时便于调整上述预定比例。
作为示例,从当前块的像素中选取的像素可以是不相邻的,但是其不限于此,也可以选取相邻的像素作为统计像素。
图5示出了根据一示例性实施例的获得统计像素的一示例,其中,标识为“^”的像素参与像素特征统计,即选取出的统计像素。
图5左侧的图示出了以1:2的预定比例从当前块选取像素作为统计像素的示例,其中,选取出的统计像素占当前块的所有像素个数的一半。在1:2的预定比例下,可以从当前块的每2个相邻的像素中选取一个统计像素,例如,可以从当前块的每个像素行中每隔一个像素选取一个统计像素,相邻像素行之间所选取的统计像素处于不同像素列中;和/或,可以从当前块的每个像素列中每隔一个像素选取一个统计像素,相邻像素列之间所选取的统计像素处于不同像素行中。
图5右侧的图示出了以1:4的预定比例从当前块选取像素作为统计像素的示例,其中,选取出的统计像素占当前块的所有像素个数的1/4。在1:4的预定比例下,可以从当前块的每4个像素形成的像素区域中选取一个统计像素,例如,可以在当前块的奇数行像素或偶数行像素中每隔一个像素选取一个统计像素;和/或,可以在当前块的奇数列像素或偶数列像素中每隔一个像素选取一个统计像素。
上面描述了按照上述预定比例对当前块中的像素进行均匀选取,然而其不限于此,在其它示例中,也可以按照上述预定比例对当前块中的像素进行非均匀选取,例如可以进行随机选取、最大池化选取等。
根据本公开的另一示例性实施例,可以按照上述预定比例,基于当前块中的像素计算得到统计像素。
例如,在步骤S401中,可以按照预定大小的窗口,划分当前块中的像素;基于窗口内的像素计算得到统计像素。如此,通过计算的方法得到统计像素,可以使得统计像素能够融合到或者反映出当前块中的相邻的多个像素的特征,使得基于这样的统计像素获得的像素特征更具有代表性,提高编码质量。
窗口的大小可以根据实际需要来改变,如图6所示,窗口例如可以是n×n大小的窗口,n可以是任意正整数,可以基于该窗口遍历整个当前块,基于在窗口内的n×n个像素计算得到一个统计像素。作为示例,若窗口的大小为n×n,则上述预定比例可以为1:n2。
这里,计算统计像素的方法可以例如包括但不限于高斯金字塔下采样法、平均池化法等。
根据本公开的再一示例性实施例,可以按照预定比例对当前块中的像素进行下采样,得到下采样块;将下采样块中的像素作为统计像素。
在一示例中,下采样的方式可以是直接从当前块中选取像素组成下采样块。在该示例中,例如可以通过诸如均匀下采样、随机下采样、隔点下采样等方法从当前块中选取像素作为下采样块中的像素,但是其不限于此,也可以通过其他任意下采样方法来实现。
在另一示例中,下采样的方式可以是基于当前块中的多个像素计算得到下采样像素,基于下采样像素形成下采样块。在该示例中,例如可以通过诸如最邻近采样法、二次差值法、卷积法等方法基于当前块中的多个像素计算得到下采样像素,但是其不限于此,也可以通过其他任意下采样方法来实现。
在步骤S402,可以统计统计像素的像素特征。
这里,像素特征可以表征被统计的统计像素与原始块中的像素和/或与其周围像素之间的关联性。通过统计像素特征可以获得视频特性或者至少获得当前视频帧的特性。
作为示例,像素特征可以包括第一像素特征和/或第二像素特征。
第一像素特征可以指示统计像素与原始像素之间的差异表征值,其中,原始像素为在原始块中与统计像素对应的像素。这里,统计像素与原始像素之间的差异表征值可以用于表征统计像素与原始像素之间的差异,该差异表征值例如包括但不限于统计像素与原始像素之间的像素差值、对多个统计像素与相应的原始像素之间的像素差值的统计量等,统计量包括但不限于差值平方和、协方差等。
例如,在按照预定比例从当前块中的像素中选取像素作为统计像素的示例中,第一像素特征可以包括:统计像素与原始像素之间的像素差值,和/或,所有统计像素与对应的原始像素之间的像素差值的平方和。
再例如,在按照上述预定比例基于当前块中的像素计算得到统计像素的示例中,第一像素特征可以包括:统计像素与原始像素的计算像素之间的像素差值,和/或,所有统计像素与对应的原始像素的计算像素之间的像素差值的平方和。这里,原始像素的计算像素为:采用与基于当前块中的像素计算得到统计像素的计算方法相同的方法,基于原始块中的原始像素计算得到的像素。
第二像素特征可以指示统计像素与至少一个关联像素之间的差异表征值,其中,关联像素为在当前块中在统计像素周围的像素。这里,在统计像素周围可以指的是在像素行和/或像素列方向上距统计像素预定距离(或者说预定个像素)的范围内。这里,统计像素与至少一个关联像素之间的差异表征值可以用于表征统计像素与至少一个关联像素之间的差异,该差异表征值例如包括但不限于统计像素与至少一个关联像素之间的像素差值、对统计像素与至少一个关联像素之间的像素差值的统计量等,统计量包括但不限于差值平方和、协方差等。
例如,第二像素特征可以包括统计像素与至少一个关联像素之间的像素差值的协方差。
此外,在计算像素差值的协方差的过程中,可以利用预设阈值对像素差值进行剪裁,预设阈值例如可以包括为像素差值设定的上限值和/或下限值,当像素差值大于该上限值时,可以将该像素差值修剪为该上限值;当像素差值小于该下限值时,可以将该像素差值修剪为该下限值。
此外,预设阈值可以为多个,例如,可以为像素差值设定的多个上限值和/或多个下限值下,在此情况下,可以计算在不同预设阈值下的不同像素差值之间的协方差作为第二像素特征。
如上所述,基于第一像素特征和/或第二像素特征,可以从统计像素与原始像素之间的差异的角度和/或统计像素与关联像素之间的差异的角度来确定像素特征,以尽可能保留更多的视频特征。
尽管上面以第一像素特征和第二像素特征为例描述了所统计的像素特征,但是基于统计像素统计的像素特征不限于此,其也可以是利用其他统计方式获得的特征,例如,像素特征也可以是在包含统计像素的预定像素区域内的像素值的统计量,该统计量例如是但不限于中位数、众数、最大值、均值等。
在步骤S403,可以基于像素特征,确定滤波参数。
在该步骤中,基于统计得到的像素特征,可以计算出一组APS滤波器。
具体来说,在一帧视频图像包括多个块的情况下,可以对所有块执行上述统计像素的过程,得到所有当前块的像素特征。可以基于该帧视频图像中所有块的像素特征,计算出一组APS滤波参数,计算出的这组APS滤波参数可以用于在当前帧之后的后续帧的滤波,也可以用于当前帧的滤波。作为示例,确定滤波参数的过程例如可以是ALF算法中的求解过程。
这里,可以针对视频中的每一帧计算APS滤波参数,也可以针对视频中的部分帧分别计算APS滤波参数。如此,在对任意一帧视频图像中的块执行上述统计像素的过程后,可以从算法中的固有滤波参数以及针对该帧计算的APS滤波参数和/或针对该帧之前的帧计算的APS滤波参数中,选择一组滤波参数作为当前块的滤波参数。
在步骤S404,可以将滤波参数编码到比特流中。
在该步骤中,可以将滤波参数编码到比特流中,作为对当前块所在的视频图像的编码信息,从而可以在解码时获取到该编码信息,以重建视频。
此外,根据本公开的示例性实施例,视频编码方法还可以包括:将对当前块的滤波信息编码到比特流中。
这里,可以从现有的多组滤波参数中选出一组滤波参数用于对当前块进行滤波,诸如从ALF算法中固有的滤波器和已计算出的APS滤波器中进行选择,并且可以根据所选择的一组滤波参数的滤波结果,确定是否对当前块进行滤波。
在一示例中,在滤波结果表示滤波后的率失真代价大于或等于不做滤波时的率失真代价的情况下,对当前块的滤波信息可以指示不对当前块进行滤波。
在该示例中,在滤波后的率失真代价大于或等于不做滤波时的率失真代价的情况下,可认为根据该滤波参数的滤波对当前块滤波后的图像质量比原始块差,可以确定不对当前块进行滤波的滤波信息,从而在解码端可以不对该块进行滤波。
在另一示例中,在滤波结果表示滤波后的率失真代价小于不做滤波时的率失真代价的情况下,对当前块的滤波信息可以包括对当前块进行滤波的信息以及指示滤波参数的信息。这里,滤波参数的信息可以包括滤波参数的标识。如此,可以在解码端可以根据滤波参数的标识获取到滤波参数,以进行解码滤波。
具体来说,如上所述,可以针对每帧视频图像中所有块的像素特征,计算出一组滤波参数,该组滤波参数可以被标记有唯一的标识,例如编号等,并且该组滤波参数及其标识将在对整帧进行编码时编入到比特流中。因此,每一组滤波参数均对应有标识。当从多组滤波参数中确定出对当前块进行滤波的一组滤波参数时,可以将该组滤波参数的标识作为该当前块的滤波信息的一部分。
作为示例,确定对当前块的滤波信息的过程例如可以是ALF算法中的决策过程。
上面描述了根据本公开的示例性实施例的视频编码方法。如前所述,以ALF算法为例,为了得到适应视频特性的APS,需要对像素特征进行统计。这些统计操作需要进行大量计算,而现有的统计方法对当前帧的所有像素均实施以上统计操作,本公开发现,相邻像素的特性大多相似,因此,实际上,对当前帧的所有像素均实施以上统计操作是不必要的,会造成大量计算资源的浪费。
基于此,根据本公开的示例性实施例的视频编码方法,基于统计像素进行像素特征统计分析,并且可以根据不同的预定比例来获得统计像素,其解决了现有的编码方案中计算量较大的问题,能够减少在像素特征统计过程中的计算量,提高编码效率。
根据本公开的示例性实施例的视频编码方法,可以实现低复杂度的统计计算,其例如可以应用于ALF算法。该方法利用相邻像素的相似性,认为不需要统计当前块中的所有像素的特性,可以极大简化诸如ALF算法中的“统计”过程的计算量,同时几乎不带来视频质量损失或者带来较小的质量损失。
此外,根据本公开的示例性实施例的视频编码方法,无需更改解码器,可以完全遵守VVC标准,并且无需对已经应用的解码端进行更改。
此外,根据本公开的示例性实施例的视频编码方法,可以适用于软件编码器和硬件编解码器二者,其应用的普适性较强。
图7是根据一示例性实施例示出的一种视频编码装置的框图。参照图7,该装置包括获取单元100、统计单元200、确定单元300以及编码单元400。
获取单元100被配置为基于当前块的像素,获得统计像素,其中,当前块是与原始块对应的重建块,统计像素的数量与当前块的像素的数量之比为预定比例。
统计单元200被配置为统计统计像素的像素特征。
确定单元300被配置为基于像素特征,确定滤波参数。
编码单元400被配置为将滤波参数编码到比特流中。
作为示例,获取单元100还被配置为:按照预定比例对当前块中的像素进行均匀选取。
作为示例,获取单元100还被配置为:按照第一预定像素行间隔,从当前块的像素选取像素作为统计像素;和/或,按照第二预定像素列间隔,从当前块的像素选取像素作为统计像素。
作为示例,获取单元100还被配置为:按照预定大小的窗口,划分当前块中的像素;基于窗口内的像素计算得到统计像素。
作为示例,像素特征包括第一像素特征和/或第二像素特征,第一像素特征指示统计像素与原始像素之间的差异表征值,其中,原始像素为在原始块中与统计像素对应的像素;第二像素特征指示统计像素与至少一个关联像素之间的差异表征值,其中,关联像素为在当前块中在统计像素周围的像素。
作为示例,获取单元100还被配置为:按照预定比例对当前块中的像素进行下采样,得到下采样块;将下采样块中的像素作为统计像素。
关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图8是根据一示例性实施例示出的一种电子设备的框图。如图8所示,电子设备10包括处理器101和用于存储处理器可执行指令的存储器102。这里,处理器可执行指令在被处理器运行时,使处理器执行如上述示例性实施例所述的视频编码方法。
作为示例,电子设备10并非必须是单个的设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备10还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的服务器。
在电子设备10中,处理器101可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器101还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
处理器101可运行存储在存储器102中的指令或代码,其中,存储器102还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
存储器102可与处理器101集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储器102可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器102和处理器101可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器101能够读取存储在存储器102中的文件。
此外,电子设备10还可以包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备10的所有组件可经由总线和/或网络而彼此连接。
在示例性实施例中,还可提供一种计算机可读存储介质,当计算机可读存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如上述示例性实施例所述的视频编码方法。计算机可读存储介质例如可以是包括指令的存储器,可选地,计算机可读存储介质可以是:只读存储器(ROM)、随机存取存储器(RAM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态硬盘(SSD)、卡式存储器(诸如,多媒体卡、安全数字(SD)卡或极速数字(XD)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
在示例性实施例中,还可提供一种计算机程序产品,该计算机程序产品包括计算机指令,计算机指令被处理器执行时实现如上述示例性实施例所述的视频编码方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种视频编码方法,其特征在于,所述视频编码方法包括:
基于当前块的像素,获得统计像素,其中,所述当前块是与原始块对应的重建块,所述统计像素的数量与所述当前块的像素的数量之比为预定比例;
统计所述统计像素的像素特征;
基于所述像素特征,确定滤波参数;以及
将所述滤波参数编码到比特流中。
2.根据权利要求1所述的视频编码方法,其特征在于,所述基于当前块的像素,获得统计像素,包括:
按照所述预定比例对所述当前块中的像素进行均匀选取。
3.根据权利要求2所述的视频编码方法,其特征在于,所述按照所述预定比例对所述当前块中的像素进行均匀选取,包括:
按照第一预定像素行间隔,从所述当前块的像素选取像素作为所述统计像素;和/或
按照第二预定像素列间隔,从所述当前块的像素选取像素作为所述统计像素。
4.根据权利要求1所述的视频编码方法,其特征在于,所述基于当前块的像素,获得统计像素,包括:
按照预定大小的窗口,划分所述当前块中的像素;以及
基于所述窗口内的像素计算得到所述统计像素。
5.根据权利要求1所述的视频编码方法,其特征在于,所述像素特征包括第一像素特征和/或第二像素特征,
所述第一像素特征指示所述统计像素与原始像素之间的差异表征值,其中,所述原始像素为在所述原始块中与所述统计像素对应的像素;
所述第二像素特征指示所述统计像素与至少一个关联像素之间的差异表征值,其中,所述关联像素为在所述当前块中在所述统计像素周围的像素。
6.根据权利要求1所述的视频编码方法,其特征在于,所述基于当前块的像素,获得统计像素,包括:
按照所述预定比例对所述当前块中的像素进行下采样,得到下采样块;以及
将所述下采样块中的像素作为所述统计像素。
7.一种视频编码装置,其特征在于,所述视频编码装置包括:
获取单元,被配置为基于当前块的像素,获得统计像素,其中,所述当前块是与原始块对应的重建块,所述统计像素的数量与所述当前块的像素的数量之比为预定比例;
统计单元,被配置为统计所述统计像素的像素特征;
确定单元,被配置为基于所述像素特征,确定滤波参数;
编码单元,被配置为将所述滤波参数编码到比特流中。
8.一种电子设备,其特征在于,所述电子设备包括:
处理器;以及
用于存储所述处理器可执行指令的存储器,
其中,所述处理器可执行指令在被所述处理器运行时,使所述处理器执行根据权利要求1至6中任一项所述的视频编码方法。
9.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行根据权利要求1至6中任一项所述的视频编码方法。
10.一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令被处理器执行时实现根据权利要求1至6中任一项所述的视频编码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210758640.3A CN117376580A (zh) | 2022-06-29 | 2022-06-29 | 视频编码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210758640.3A CN117376580A (zh) | 2022-06-29 | 2022-06-29 | 视频编码方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117376580A true CN117376580A (zh) | 2024-01-09 |
Family
ID=89387822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210758640.3A Pending CN117376580A (zh) | 2022-06-29 | 2022-06-29 | 视频编码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117376580A (zh) |
-
2022
- 2022-06-29 CN CN202210758640.3A patent/CN117376580A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10469876B2 (en) | Non-local adaptive loop filter combining multiple denoising technologies and grouping image patches in parallel | |
EP3979647A1 (en) | Coding/decoding method and device, and storage medium | |
JP5606591B2 (ja) | ビデオ圧縮方法 | |
KR20240068078A (ko) | 모드-인식 딥 러닝을 갖는 필터링을 위한 방법 및 장치 | |
US12058382B2 (en) | Systems and methods for reducing blocking artifacts | |
WO2017177957A1 (en) | Non-local adaptive loop filter | |
US8780971B1 (en) | System and method of encoding using selectable loop filters | |
CN106688232A (zh) | 基于模型的视频编码的感知优化 | |
US20100189184A1 (en) | Coding apparatus, coding method, and coding circuit | |
EP4088457A1 (en) | Signaling quantization related parameters | |
US10911785B2 (en) | Intelligent compression of grainy video content | |
US8249372B2 (en) | Methods and devices for coding and decoding multidimensional digital signals | |
CN114793282A (zh) | 带有比特分配的基于神经网络的视频压缩 | |
CN109565592B (zh) | 一种使用基于分割的视频编码块划分的视频编码设备和方法 | |
CN117376580A (zh) | 视频编码方法及装置 | |
CN117354535A (zh) | 视频编码方法及装置 | |
CN117640941A (zh) | 视频编码方法、装置、电子设备及计算机可读存储介质 | |
US10764607B2 (en) | Data processing systems for encoding video data | |
CN108111862B (zh) | 视频编码方法及装置 | |
CN113259669B (zh) | 编码方法、装置、电子设备及计算机可读存储介质 | |
CN109803147B (zh) | 基于视频纹理特征的变换处理方法及装置 | |
JP7483029B2 (ja) | ビデオ復号方法、ビデオ符号化方法、装置、媒体、及び電子機器 | |
CN116074504A (zh) | 编码方法、解码方法、装置、电子设备及可读存储介质 | |
WO2024212190A1 (zh) | 编解码方法及装置、编解码器、码流、设备、存储介质 | |
CN116055749A (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 |