CN115866250A - 视频处理方法、装置、设备及计算机可读存储介质 - Google Patents
视频处理方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115866250A CN115866250A CN202211556861.9A CN202211556861A CN115866250A CN 115866250 A CN115866250 A CN 115866250A CN 202211556861 A CN202211556861 A CN 202211556861A CN 115866250 A CN115866250 A CN 115866250A
- Authority
- CN
- China
- Prior art keywords
- complexity
- frame
- coding
- coded
- determining
- 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
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请提供一种视频处理方法、装置、设备及计算机可读存储介质,所述方法包括:获取待处理视频中当前待编码帧的预分配码率和预设的目标码率;当根据预分配码率和目标码率确定满足量化参数的调整条件时,获取当前待编码帧的编码复杂度和量化参数;获取待处理视频中上一个已编码帧进行运动估计过程中各帧间宏块的绝对误差和;根据编码复杂度和各帧间宏块的绝对误差和,对量化参数进行调整,得到调整后的量化参数;根据调整后的量化参数对当前待编码帧进行编码,得到编码结果。通过码率确定需要调整量化参数时,对待编码帧进行复杂度分析,实现对待编码帧的量化参数进行调整,从而实现视频帧级别的质量调控,达到优化视频质量的效果。
Description
技术领域
本申请涉及图像处理技术领域,涉及但不限于一种视频处理方法、装置、设备及计算机可读存储介质。
背景技术
随着数字技术的飞速发展,人们对视频质量的要求越来越高。采用数字传输视频信号和用计算机处理视频信号,首先要解决的问题是将视频信号数字化。视频信号数字化关键的一步为量化,量化就是把信号的连续取值映射成多个离散的幅值的过程,实现信号取值多对一的映射。量化不可避免地引入失真,导致视频质量下降。
发明内容
有鉴于此,本申请实施例提供一种视频处理方法、装置、设备及计算机可读存储介质。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种视频处理方法,所述方法包括:
获取待处理视频中当前待编码帧的预分配码率和预设的目标码率;
当根据所述预分配码率和所述目标码率确定满足量化参数的调整条件时,获取所述当前待编码帧的编码复杂度和量化参数;
获取所述待处理视频中上一个已编码帧进行运动估计过程中各帧间宏块的绝对误差和;
根据所述编码复杂度和所述各帧间宏块的绝对误差和,对所述量化参数进行调整,得到调整后的量化参数;
根据所述调整后的量化参数对所述当前待编码帧进行编码,得到编码结果。
在一些实施例中,所述编码复杂度包括帧复杂度、垂直方向复杂度和水平方向复杂度;
所述获取所述当前待编码帧的编码复杂度,包括:
从编码装置获取所述当前待编码帧的参考帧;
根据所述当前待编码帧和所述参考帧,确定所述当前待编码帧的帧复杂度;
从所述编码装置获取所述当前待编码帧的垂直方向复杂度和水平方向复杂度。
在一些实施例中,所述根据所述当前待编码帧和所述参考帧,确定所述当前待编码帧的帧复杂度,包括:
对所述当前待编码帧进行划分,得到多个编码块;
获取每一编码块的原始像素值和所述每一编码块在所述参考帧中对应位置块的重构像素值;
根据每一编码块的原始像素值和所述每一编码块的对应位置块的重构像素值,确定所述每一编码块的绝对误差和;
根据所述每一编码块的绝对误差和确定所述当前待编码帧的帧复杂度。
在一些实施例中,所述根据所述编码复杂度和所述各帧间宏块的绝对误差和,对所述量化参数进行调整,得到调整后的量化参数,包括:
根据所述垂直方向复杂度、水平方向复杂度和所述各帧间宏块的绝对误差和,确定第一控制因子;
获取当前编码的量化步长和对所述当前待编码帧进行划分得到的编码块的个数;
根据所述垂直方向复杂度、水平方向复杂度、量化步长、编码块的个数、所述各帧间宏块的绝对误差和和帧复杂度,确定第二控制因子;
根据所述第一控制因子和所述第二控制因子,确定调整值;
根据所述调整值对所述量化参数进行调整,得到调整后的量化参数。
在一些实施例中,所述根据所述垂直方向复杂度、水平方向复杂度和所述各帧间宏块的绝对误差和,确定第一控制因子,包括:
将所述各帧间宏块的绝对误差和相加,得到绝对误差累计和;
将所述垂直方向复杂度与所述水平方向复杂度的和,确定为方向复杂度;
将所述方向复杂度与所述绝对误差累计和的商确定为第一控制因子。
在一些实施例中,所述根据所述垂直方向复杂度、水平方向复杂度、量化步长、编码块的个数、帧复杂度和所述各帧间宏块的绝对误差和,确定第二控制因子,包括:
根据所述垂直方向复杂度、水平方向复杂度、量化步长和编码块的个数,确定控制子因子;
根据所述各帧间宏块的绝对误差和相加确定的绝对误差累计和、控制子因子和帧复杂度,确定第二控制因子。
在一些实施例中,所述根据所述第一控制因子和所述第二控制因子,确定调整值,包括:
当所述第一控制因子大于第一阈值且小于或等于第二阈值时,将所述调整值确定为预设的第一调整值;
当所述第一控制因子大于第二阈值、所述第二控制因子小于或等于第三阈值时,将所述调整值确定为预设的第二调整值;
当所述第一控制因子大于第二阈值、所述第二控制因子大于第三阈值且小于或等于第四阈值时,将所述调整值确定为预设的第三调整值;
当所述第一控制因子大于第二阈值、所述第二控制因子大于第四阈值时,将所述调整值确定为预设的第四调整值。
本申请实施例提供一种视频处理装置,所述装置包括:
第一获取模块,用于获取待处理视频中当前待编码帧的预分配码率和预设的目标码率;
第二获取模块,用于当根据所述预分配码率和所述目标码率确定满足量化参数的调整条件时,获取所述当前待编码帧的编码复杂度和量化参数;
第三获取模块,用于获取所述待处理视频中上一个已编码帧进行运动估计过程中各帧间宏块的绝对误差和;
调整模块,用于根据所述编码复杂度和所述各帧间宏块的绝对误差和,对所述量化参数进行调整,得到调整后的量化参数;
编码模块,用于根据所述调整后的量化参数对所述当前待编码帧进行编码,得到编码结果。
本申请实施例提供一种电子设备,包括:
处理器;以及
存储器,用于存储可在所述处理器上运行的计算机程序;
其中,所述计算机程序被处理器执行时实现上述视频处理方法的步骤。
本申请实施例提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令配置为执行上述视频处理方法的步骤。
本申请实施例提供一种视频处理方法、装置、设备及计算机可读存储介质,其中,所述方法包括:获取待处理视频中当前待编码帧的预分配码率和预设的目标码率;根据预分配码率和目标码率确定是否满足量化参数的调整条件,当满足时,获取当前待编码帧的编码复杂度和量化参数;并获取待处理视频中上一个已编码帧进行运动估计过程中各帧间宏块的绝对误差和;然后根据编码复杂度和各帧间宏块的绝对误差和,对量化参数进行调整,并利用调整后的量化参数对当前待编码帧进行编码,得到编码结果。通过码率确定需要调整量化参数时,对待编码帧进行复杂度分析,实现对待编码帧的量化参数进行调整,从而提高待编码帧的编码效果,实现视频帧级别的质量调控,达到优化视频质量的效果。
附图说明
在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。
图1为本申请实施例提供的视频处理方法的一种实现流程示意图;
图2为本申请实施例提供的视频处理方法中获取编码复杂度步骤的一种实现流程示意图;
图3为本申请实施例提供的视频处理方法中对量化参数进行调整步骤的一种实现流程示意图;
图4为本申请实施例提供的基于帧复杂度分析的视频会议场景主观质量优化系统原理示意图;
图5a为采用原量化参数对示例图像进行处理得到的示意图;
图5b为采用经过本申请实施例提供的视频处理方法处理后的量化参数对示例图像进行处理得到的示意图;
图6为本申请实施例提供的视频处理装置的一种组成结构示意图;
图7为本申请实施例提供的电子设备的一种组成结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,先对本申请实施例中涉及的名词和术语进行如下的解释。
量化,就是把信号的连续取值映射成多个离散的幅值的过程,实现信号取值多对一的映射。
量化步长(Qstep),即量化矩阵,作用于比例缩放过程(比例缩放过程在变换和量化之间),对不同位置的系数使用不同的量化步长,能提高视频的主观质量。
量化参数(QP),是量化步长的序号,反映空间细节压缩情况,值越小,量化越精细,图像质量越高,产生的码流也越长。如QP越小,越多的细节被保留,量化越精细;QP越大,越多的细节被丢失,量化越粗糙,此时虽然码率降低,但图像失真加强、质量下降。QP和Qstep具有线性相关性,Qstep随着QP的增加而增加,每当QP值增加6,Qstep值增加一倍。
码率,即比特率,表示单位时间内传送的比特数。
运动估计,指在帧间预测编码中,由于活动图像邻近帧中的景物存在着一定的相关性。因此,可将活动图像分成若干块或宏块,并设法搜索出每个块或宏块在邻近帧图像中的位置,并得出两者之间的空间位置的相对偏移量,得到的相对偏移量就是通常所指的运动矢量,得到运动矢量的过程被称为运动估计。
相关技术中,对视频编码时,对一秒内所有帧进行编码的量化参数是相同的,影响视频质量。为解决该问题,本申请实施例提供一种视频处理方法和装置。下面结合实现本申请实施例的装置对本申请实施例提供的方法进行说明。图1为本申请实施例提供的视频处理方法的一种实现流程示意图,如图1所示,本申请实施例提供的方法包括以下步骤:
步骤S101,获取待处理视频中当前待编码帧的预分配码率和预设的目标码率。
本申请实施例可以由电子设备中的视频处理装置执行。当需要对视频进行编码时,获取到待处理视频后,从待处理视频中确定出当前待编码的视频帧,并获取编码器预先为该待编码帧分配的码率,得到当前待编码帧的预分配码率。并且获取用户预先设定的目标码率。在实际应用中,用户可以按秒设置目标码率,即对每秒时长内的多个视频帧设置的目标码率是同一码率。
步骤S102,当根据预分配码率和目标码率确定满足量化参数的调整条件时,获取当前待编码帧的编码复杂度和量化参数。
根据预分配码率和目标码率,判断是否需要对编码器中当前待编码帧的量化参数进行调整,若预分配码率和目标码率满足预设关系,即根据预分配码率和目标码率确定满足量化参数的调整条件时,确定需要对量化参数进行调整,此时获取当前待编码帧的编码复杂度和量化参数。
本申请实施例中,量化参数的调整条件可以为:perFrameBits>(目标码率/帧率)*a,其中,perFrameBits为预分配码率,a为系数,例如a可以取值1.2。当perFrameBits>(目标码率/帧率)*1.2时,满足量化参数的调整条件,确定需要对量化参数进行调整,此时获取当前待编码帧的编码复杂度和量化参数,继续执行步骤S103以对量化参数进行调整后再执行编码步骤;当perFrameBits≤(目标码率/帧率)*1.2时,不满足量化参数的调整条件,无需对当前待编码帧的量化参数进行调整,即此时获取当前待编码帧的量化参数,根据该量化参数对当前待编码帧进行编码,得到编码结果,继续下一帧的编码步骤。
这里编码复杂度包括帧复杂度、垂直方向复杂度和水平方向复杂度,量化参数是编码器预测的值。
在一些实施例中,可以根据图2所示的以下步骤来获取编码复杂度:
步骤S1021,从编码装置获取当前待编码帧的参考帧。
参考帧是对当前待编码帧进行编码时所需参考的帧,可以是I帧,也可以是P帧。这里的编码装置可以为编码器。
步骤S1022,根据当前待编码帧和参考帧,确定当前待编码帧的帧复杂度。
在一种实现方式中,当前待编码帧的帧复杂度可以根据以下步骤来确定:对当前待编码帧进行划分,得到多个编码块;获取每一编码块的原始像素值和每一编码块在参考帧中对应位置块的重构像素值;根据每一编码块的原始像素值和每一编码块的对应位置块的重构像素值,确定每一编码块的绝对误差和;根据每一编码块的绝对误差和确定当前待编码帧的帧复杂度。
在实现时,可以按照4*4、8*8、16*16、32*32等块大小进行划分,例如将当前待编码帧按照16*16的块进行划分,若当前待编码帧为1280*720,则水平方向划分为1280/16=80,垂直方向划分720/16=45,共划分编码块80*45=3600块。将当前待编码帧与参考帧进行像素级别的绝对误差和的计算,并进行逐块累和,得到当前待编码帧的帧复杂度curFrameComplex,Sad的计算公式如下式(1)所示:
其中,f(x,y)为(x,y)处的原始像素值,g(x,y)为(x,y)处的重构像素值。
步骤S1023,从编码装置获取当前待编码帧的垂直方向复杂度和水平方向复杂度。
根据上述步骤,得到当前待编码帧的帧复杂度、垂直方向复杂度和水平方向复杂度,将帧复杂度、垂直方向复杂度和水平方向复杂度确定为当前待编码帧的编码复杂度。
步骤S103,获取待处理视频中上一个已编码帧进行运动估计过程中各帧间宏块的绝对误差和。
将当前待编码帧记为第k帧,上一个已编码帧即为第k-1帧,这里k>1。计算第k-1帧中帧间宏块进行运动估计过程中的Sad值,得到各帧间宏块的绝对误差和。
步骤S104,根据编码复杂度和各帧间宏块的绝对误差和,对量化参数进行调整,得到调整后的量化参数。
对各帧间宏块的绝对误差和计算累计和,得到绝对误差累计和,记为meSadAll,然后根据编码复杂度和meSadAll,确定对当前待编码帧的量化参数进行调整的量,即调整值,利用调整值对量化参数进行调整,得到调整后的量化参数。
步骤S105,根据调整后的量化参数对当前待编码帧进行编码,得到编码结果。
确定出调整后的量化参数后,利用调整后的量化参数对当前待编码帧进行编码,得到编码结果。继续进行下一个帧的编码步骤。
本申请实施例提供的方法,通过视频处理装置获取待处理视频中当前待编码帧的预分配码率和预设的目标码率;根据预分配码率和目标码率确定是否满足量化参数的调整条件,当满足时,获取当前待编码帧的编码复杂度和量化参数;并获取待处理视频中上一个已编码帧进行运动估计过程中各帧间宏块的绝对误差和;然后根据编码复杂度和各帧间宏块的绝对误差和,对量化参数进行调整,并利用调整后的量化参数对当前待编码帧进行编码,得到编码结果。通过码率确定需要调整量化参数时,对待编码帧进行复杂度分析,实现对待编码帧的量化参数进行调整,从而提高待编码帧的编码效果,实现视频帧级别的质量调控,达到优化视频质量的效果。
在一些实施例中,步骤S104“根据编码复杂度和各帧间宏块的绝对误差和,对量化参数进行调整,得到调整后的量化参数”可以通过图3所示的以下步骤来实现:
步骤S1041,根据垂直方向复杂度、水平方向复杂度和各帧间宏块的绝对误差和,确定第一控制因子。
将各帧间宏块的绝对误差和相加,得到绝对误差累计和;将垂直方向复杂度与水平方向复杂度的和,确定为方向复杂度;将方向复杂度与绝对误差累计和的商确定为第一控制因子。
将第一控制因子记为ctrFactor,绝对误差累计和为meSadAll,水平方向复杂度为hFrameComplex,垂直方向复杂度为vFrameComplex,可以根据下式(2)计算第一控制因子ctrFactor:
ctrFactor =(hFrameComplex + vFrameComplex)/ meSadAll (2);
步骤S1042,获取当前编码的量化步长和对当前待编码帧进行划分得到的编码块的个数。
从当前编码器获得当前编码的量化步长Qstep。若当前待编码帧为1280*720,水平方向划分为1280/16=80,垂直方向划分720/16=45,进行划分得到的编码块个数为80*45=3600块。
步骤S1043,根据垂直方向复杂度、水平方向复杂度、量化步长、编码块的个数、各帧间宏块的绝对误差和和帧复杂度,确定第二控制因子。
首先根据垂直方向复杂度、水平方向复杂度、量化步长和编码块的个数,确定控制子因子;然后根据各帧间宏块的绝对误差和相加确定的绝对误差累计和、控制子因子和帧复杂度,确定第二控制因子。
将控制子因子记为Cursi,第二控制因子记为ctrFactor_plus,在一种实现方式中,可以根据下式(3)计算控制子因子Cursi,根据下式(4)计算第二控制因子ctrFactor_plus:
Cursi=100*(hFrameComplex+vFrameComplex)/(Qstep*MBH*MBW)
(3);
ctrFactor_plus = meSadAll /(1000*Cursi*curFrameComplex) (4);
其中,MBH=1280/16=80,MBW=720/16=45。
步骤S1044,根据第一控制因子和第二控制因子,确定调整值。
在实现时,可以根据第一控制因子、第二控制因子和预设的多个区间,预先为各区间设置不同的值,以此来确定不同的调整值。
具体的,当第一控制因子大于第一阈值且小于或等于第二阈值时,将调整值确定为预设的第一调整值;当第一控制因子大于第二阈值、第二控制因子小于或等于第三阈值时,将调整值确定为预设的第二调整值;当第一控制因子大于第二阈值、第二控制因子大于第三阈值且小于或等于第四阈值时,将调整值确定为预设的第三调整值;当第一控制因子大于第二阈值、第二控制因子大于第四阈值时,将调整值确定为预设的第四调整值。
例如,以第一阈值取值0.01,第二阈值取值0.02,第三阈值取值0.65,第四阈值取值0.95为例,
当0.01<ctrFactor≤0.02时,将调整值确定为-1,即对当前量化参数减1;
当ctrFactor>0.02,且ctrFactor_plus≤0.65时,将调整值确定为-2,即对当前量化参数减2;
当ctrFactor>0.02,且0.65<ctrFactor_plus≤0.95时,将调整值确定为-3,即对当前量化参数减3;
当ctrFactor>0.02,且ctrFactor_plus>0.95时,将调整值确定为-4,即对当前量化参数减4。
步骤S1045,根据调整值对量化参数进行调整,得到调整后的量化参数。
确定出调整值后,根据上述调整值对当前待编码帧的量化参数进行调整,得到调整后的量化参数。调整后的量化参数小于调整前的量化参数,使得量化更加精细,如此减小当前待编码帧失真,提高该图像帧的质量,从而提高视频质量效果。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
随着数字技术的飞速发展,人们对视频质量的要求越来越高。现有技术中,对视频帧进行编码时,使用固定的量化参数,影响视频质量主观评估效果。
为了解决现有技术中存在的上述问题,本申请实施例提供一种基于帧复杂度分析的视频会议场景主观质量优化方法和装置,采用图像复杂度分析原理并根据分析进行公式计算求得经验数据,进而调整帧级别的量化参数,从而来提高视频的主观质量。
下面对本申请提供的方案进行详细描述。
Sad代表图像的像素级别的绝对误差和,通过编码器分析和编码器特性分析,在尽可能不增加复杂度的基础上,实现视频帧级别的质量调控,并实现视频主观质量优化。
视频会议编码帧结构:I P P P P P......P I P P P P P......
图4为本申请实施例提供的基于帧复杂度分析的视频会议场景主观质量优化系统原理示意图,结合图4说明本申请实施例提供的方案的详细流程:
1)从第k(k>1,即从第2)帧开始,将第k帧按照16x16划分,与其参考帧进行Sad计算,并进行逐块累和得到当前待编码帧复杂度curFrameCompl ex,Sad计算公式如下式(5):
其中,f(x,y)为(x,y)处的原始像素值,g(x,y)为(x,y)处的重构像素值。
2)获取当前编码过程的量化步长Qstep。
在一些实施例中,为了进一步提高视频主观质量,如果Qstep大于0时,可以对其求倒得到reverQstep,利用倒数reverQstep计算调整值。
3)获取第k-1帧中帧间宏块,进行运动估计过程中的Sad值,并进行累和,记为meSadAll;
4)获取编码预分配给每一帧的码率,定义为perFrameBits,用于判断是否进行当前算法调控,当perFrameBits>(目标码率/帧率)*1.2,进入编码算法调控,执行5);否则不进入算法调控,执行8)。
5)自定义第一控制因子ctrFactor
ctrFactor=(hFrameComplex+vFrameComplex)/meSadAll,其中,hFr ameComplex和vFrameComplex分别为垂直和水平方向复杂度,可以从当前编码器中直接获取。
6)自定义第二控制因子ctrFactor_plus
Cursi=100*(hFrameComplex+vFrameComplex)/(Qstep*MBH*MBW),ctrFactor_plus=meSadAll/(1000*Cursi*curFrameComplex),其中,MBH=1280/16=80,MBW=720/16=45。
7)根据4)条件并结合ctrFactor和ctrFactor_plus进行当前编码帧量化参数调整,调整策略如下:
①如果0.01<ctrFactor≤0.02时,当前帧量化参数iLumaQp=iLumaQp-1;
②如果ctrFactor>0.02,且ctrFactor_plus≤0.65时,将iLumaQp=iLuma Qp-2;
③如果ctrFactor>0.02,且0.65<ctrFactor_plus≤0.95时,将iLumaQp=iLumaQp-3;
④如果ctrFactor>0.02,且ctrFactor_plus>0.95时,将iLumaQp=iLuma Qp-4。
8)继续后续编码流程。
下面采用客观数据BD-RATE和主观质量进行测试,测试结果如下表所示:
表1不同分辨率视频帧的测试结果
序列 | 分辨率 | BD-RATE |
测试序列1 | 1920x1080 | -1.52% |
测试序列2 | 1280x720 | -2.11% |
测试序列3 | 720x1280 | -0.87% |
AVG | / | -1.50% |
BD-RATE,代表同等质量下码率降低多少百分比。
图5a为采用原量化参数对示例图像进行处理得到的示意图,图5b为采用经过本申请实施例提供的视频处理方法处理后的量化参数对示例图像进行处理得到的示意图,对比图5a和图5b可知,采用本申请实施例提供的方法,在码率基本一致的情况下,视频的主观质量有所提高。
基于前述的实施例,本申请实施例提供一种视频处理装置,该装置包括的各模块、以及各模块包括的各单元,可以通过计算机设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU,Central ProcessingUnit)、微处理器(MPU,Microprocessor Unit)、数字信号处理器(DSP,Digital SignalProcessing)或现场可编程门阵列(FPG A,Field Programmable Gate Array)等。
本申请实施例再提供一种视频处理装置,图6为本申请实施例提供的视频处理装置的一种组成结构示意图,如图6所示,所述视频处理装置600包括:
第一获取模块601,用于获取待处理视频中当前待编码帧的预分配码率和预设的目标码率;
第二获取模块602,用于当根据所述预分配码率和所述目标码率确定满足量化参数的调整条件时,获取所述当前待编码帧的编码复杂度和量化参数;
第三获取模块603,用于获取所述待处理视频中上一个已编码帧进行运动估计过程中各帧间宏块的绝对误差和;
调整模块604,用于根据所述编码复杂度和所述各帧间宏块的绝对误差和,对所述量化参数进行调整,得到调整后的量化参数;
编码模块605,用于根据所述调整后的量化参数对所述当前待编码帧进行编码,得到编码结果。
在一些实施例中,所述编码复杂度包括帧复杂度、垂直方向复杂度和水平方向复杂度;
所述第二获取模块602,还用于:
从编码装置获取所述当前待编码帧的参考帧;
根据所述当前待编码帧和所述参考帧,确定所述当前待编码帧的帧复杂度;
从所述编码装置获取所述当前待编码帧的垂直方向复杂度和水平方向复杂度。
在一些实施例中,所述第二获取模块602,还用于:
对所述当前待编码帧进行划分,得到多个编码块;
获取每一编码块的原始像素值和所述每一编码块在所述参考帧中对应位置块的重构像素值;
根据每一编码块的原始像素值和所述每一编码块的对应位置块的重构像素值,确定所述每一编码块的绝对误差和;
根据所述每一编码块的绝对误差和确定所述当前待编码帧的帧复杂度。
在一些实施例中,所述调整模块604,还用于:
根据所述垂直方向复杂度、水平方向复杂度和所述各帧间宏块的绝对误差和,确定第一控制因子;
获取当前编码的量化步长和对所述当前待编码帧进行划分得到的编码块的个数;
根据所述垂直方向复杂度、水平方向复杂度、量化步长、编码块的个数、所述各帧间宏块的绝对误差和和帧复杂度,确定第二控制因子;
根据所述第一控制因子和所述第二控制因子,确定调整值;
根据所述调整值对所述量化参数进行调整,得到调整后的量化参数。
在一些实施例中,所述调整模块604,还用于:
将所述各帧间宏块的绝对误差和相加,得到绝对误差累计和;
将所述垂直方向复杂度与所述水平方向复杂度的和,确定为方向复杂度;
将所述方向复杂度与所述绝对误差累计和的商确定为第一控制因子。
在一些实施例中,所述调整模块604,还用于:
根据所述垂直方向复杂度、水平方向复杂度、量化步长和编码块的个数,确定控制子因子;
根据所述各帧间宏块的绝对误差和相加确定的绝对误差累计和、控制子因子和帧复杂度,确定第二控制因子。
在一些实施例中,所述调整模块604,还用于:
当所述第一控制因子大于第一阈值且小于或等于第二阈值时,将所述调整值确定为预设的第一调整值;
当所述第一控制因子大于第二阈值、所述第二控制因子小于或等于第三阈值时,将所述调整值确定为预设的第二调整值;
当所述第一控制因子大于第二阈值、所述第二控制因子大于第三阈值且小于或等于第四阈值时,将所述调整值确定为预设的第三调整值;
当所述第一控制因子大于第二阈值、所述第二控制因子大于第四阈值时,将所述调整值确定为预设的第四调整值。
这里需要指出的是:以上视频处理装置实施例项的描述,与上述方法描述是类似的,具有同方法实施例相同的有益效果。对于本申请视频处理装置实施例中未披露的技术细节,本领域的技术人员请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read OnlyMemory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
相应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中提供的视频处理方法中的步骤。
本申请实施例提供一种电子设备,图7为本申请实施例提供的电子设备的一种组成结构示意图,根据图7示出的电子设备700的示例性结构,可以预见电子设备700的其他的示例性结构,因此这里所描述的结构不应视为限制,例如可以省略下文所描述的部分组件,或者,增设下文所未记载的组件以适应某些应用的特殊需求。
图7所示的电子设备700包括:一个处理器701、至少一个通信总线702、用户接口703、至少一个外部通信接口704和存储器705。其中,通信总线702配置为实现这些组件之间的连接通信。其中,用户接口703可以包括显示屏,外部通信接口704可以包括标准的有线接口和无线接口。其中,所述处理器701配置为执行存储器中存储的视频处理方法的程序,以实现上述实施例提供的视频处理方法中的步骤。
以上电子设备和存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请电子设备和存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种视频处理方法,其特征在于,所述方法包括:
获取待处理视频中当前待编码帧的预分配码率和预设的目标码率;
当根据所述预分配码率和所述目标码率确定满足量化参数的调整条件时,获取所述当前待编码帧的编码复杂度和量化参数;
获取所述待处理视频中上一个已编码帧进行运动估计过程中各帧间宏块的绝对误差和;
根据所述编码复杂度和所述各帧间宏块的绝对误差和,对所述量化参数进行调整,得到调整后的量化参数;
根据所述调整后的量化参数对所述当前待编码帧进行编码,得到编码结果。
2.根据权利要求1所述的方法,其特征在于,所述编码复杂度包括帧复杂度、垂直方向复杂度和水平方向复杂度;
所述获取所述当前待编码帧的编码复杂度,包括:
从编码装置获取所述当前待编码帧的参考帧;
根据所述当前待编码帧和所述参考帧,确定所述当前待编码帧的帧复杂度;
从所述编码装置获取所述当前待编码帧的垂直方向复杂度和水平方向复杂度。
3.根据权利要求2所述的方法,其特征在于,所述根据所述当前待编码帧和所述参考帧,确定所述当前待编码帧的帧复杂度,包括:
对所述当前待编码帧进行划分,得到多个编码块;
获取每一编码块的原始像素值和所述每一编码块在所述参考帧中对应位置块的重构像素值;
根据每一编码块的原始像素值和所述每一编码块的对应位置块的重构像素值,确定所述每一编码块的绝对误差和;
根据所述每一编码块的绝对误差和确定所述当前待编码帧的帧复杂度。
4.根据权利要求2所述的方法,其特征在于,所述根据所述编码复杂度和所述各帧间宏块的绝对误差和,对所述量化参数进行调整,得到调整后的量化参数,包括:
根据所述垂直方向复杂度、水平方向复杂度和所述各帧间宏块的绝对误差和,确定第一控制因子;
获取当前编码的量化步长和对所述当前待编码帧进行划分得到的编码块的个数;
根据所述垂直方向复杂度、水平方向复杂度、量化步长、编码块的个数、所述各帧间宏块的绝对误差和和帧复杂度,确定第二控制因子;
根据所述第一控制因子和所述第二控制因子,确定调整值;
根据所述调整值对所述量化参数进行调整,得到调整后的量化参数。
5.根据权利要求4所述的方法,其特征在于,所述根据所述垂直方向复杂度、水平方向复杂度和所述各帧间宏块的绝对误差和,确定第一控制因子,包括:
将所述各帧间宏块的绝对误差和相加,得到绝对误差累计和;
将所述垂直方向复杂度与所述水平方向复杂度的和,确定为方向复杂度;
将所述方向复杂度与所述绝对误差累计和的商确定为第一控制因子。
6.根据权利要求4所述的方法,其特征在于,所述根据所述垂直方向复杂度、水平方向复杂度、量化步长、编码块的个数、帧复杂度和所述各帧间宏块的绝对误差和,确定第二控制因子,包括:
根据所述垂直方向复杂度、水平方向复杂度、量化步长和编码块的个数,确定控制子因子;
根据所述各帧间宏块的绝对误差和相加确定的绝对误差累计和、控制子因子和帧复杂度,确定第二控制因子。
7.根据权利要求4所述的方法,其特征在于,所述根据所述第一控制因子和所述第二控制因子,确定调整值,包括:
当所述第一控制因子大于第一阈值且小于或等于第二阈值时,将所述调整值确定为预设的第一调整值;
当所述第一控制因子大于第二阈值、所述第二控制因子小于或等于第三阈值时,将所述调整值确定为预设的第二调整值;
当所述第一控制因子大于第二阈值、所述第二控制因子大于第三阈值且小于或等于第四阈值时,将所述调整值确定为预设的第三调整值;
当所述第一控制因子大于第二阈值、所述第二控制因子大于第四阈值时,将所述调整值确定为预设的第四调整值。
8.一种视频处理装置,其特征在于,所述装置包括:
第一获取模块,用于获取待处理视频中当前待编码帧的预分配码率和预设的目标码率;
第二获取模块,用于当根据所述预分配码率和所述目标码率确定满足量化参数的调整条件时,获取所述当前待编码帧的编码复杂度和量化参数;
第三获取模块,用于获取所述待处理视频中上一个已编码帧进行运动估计过程中各帧间宏块的绝对误差和;
调整模块,用于根据所述编码复杂度和所述各帧间宏块的绝对误差和,对所述量化参数进行调整,得到调整后的量化参数;
编码模块,用于根据所述调整后的量化参数对所述当前待编码帧进行编码,得到编码结果。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储可在所述处理器上运行的计算机程序;
其中,所述计算机程序被处理器执行时实现权利要求1至7任一项所述视频处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令配置为执行权利要求1至7任一项所述视频处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211556861.9A CN115866250A (zh) | 2022-12-06 | 2022-12-06 | 视频处理方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211556861.9A CN115866250A (zh) | 2022-12-06 | 2022-12-06 | 视频处理方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115866250A true CN115866250A (zh) | 2023-03-28 |
Family
ID=85670350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211556861.9A Pending CN115866250A (zh) | 2022-12-06 | 2022-12-06 | 视频处理方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115866250A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117596425A (zh) * | 2023-10-24 | 2024-02-23 | 书行科技(北京)有限公司 | 编码帧率的确定方法、装置、电子设备及存储介质 |
-
2022
- 2022-12-06 CN CN202211556861.9A patent/CN115866250A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117596425A (zh) * | 2023-10-24 | 2024-02-23 | 书行科技(北京)有限公司 | 编码帧率的确定方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1797722B1 (en) | Adaptive overlapped block matching for accurate motion compensation | |
CN100364338C (zh) | 估计图像噪声的方法和设备和消除噪声的方法 | |
KR100846774B1 (ko) | 블록킹 효과를 제거하기 위한 필터링 방법 및 그 장치 | |
EP2410746A1 (en) | Video coding with reference frames of high resolution | |
CN111164972A (zh) | 用于在帧级别控制视频编码的系统和方法 | |
EP1574072A1 (en) | Video encoding with skipping motion estimation for selected macroblocks | |
WO2012051164A1 (en) | Internal bit depth increase in deblocking filters and ordered dither | |
CN111164980A (zh) | 用于控制图像帧内的视频编码的系统和方法 | |
CN112544081A (zh) | 环路滤波的方法与装置 | |
JP7343817B2 (ja) | 符号化装置、符号化方法、及び符号化プログラム | |
CN115866250A (zh) | 视频处理方法、装置、设备及计算机可读存储介质 | |
CN115118976A (zh) | 一种图像编码方法、可读介质及其电子设备 | |
US9736485B2 (en) | Encoding apparatus, encoding method, and image capture apparatus | |
KR101626450B1 (ko) | 픽셀 그룹별 픽셀값 보상을 위한 비디오 부호화 방법과 그 장치, 및 픽셀 그룹별 픽셀값 보상을 위한 비디오 복호화 방법과 그 장치 | |
JP5032936B2 (ja) | 動画像符号化装置及びその制御方法 | |
CN113273194A (zh) | 图像分量预测方法、编码器、解码器以及存储介质 | |
CN107409211A (zh) | 一种视频编解码方法及装置 | |
JPH07203430A (ja) | 画像符号化装置 | |
JP5295089B2 (ja) | 画像符号化装置 | |
WO2008018708A1 (en) | Image quantization method and apparatus | |
JP4784618B2 (ja) | 動画像符号化装置、動画像復号化装置、動画像符号化プログラム、及び動画像復号化プログラム | |
CN113709459B (zh) | 帧内预测方法、装置及计算机存储介质 | |
CN113347425A (zh) | 信息处理方法及装置、设备、存储介质 | |
JP2016082395A (ja) | 符号化装置、符号化方法及びプログラム | |
JP2629409B2 (ja) | 動き補償予測フレーム間符号化装置 |
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 |