CN109688411B - 一种视频编码率失真代价估计方法和装置 - Google Patents

一种视频编码率失真代价估计方法和装置 Download PDF

Info

Publication number
CN109688411B
CN109688411B CN201710978189.5A CN201710978189A CN109688411B CN 109688411 B CN109688411 B CN 109688411B CN 201710978189 A CN201710978189 A CN 201710978189A CN 109688411 B CN109688411 B CN 109688411B
Authority
CN
China
Prior art keywords
distortion
estimation model
bit
coding
parameter
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.)
Active
Application number
CN201710978189.5A
Other languages
English (en)
Other versions
CN109688411A (zh
Inventor
刘祥凯
徐科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Kress Semiconductor Technology Co ltd
Original Assignee
Sanechips Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sanechips Technology Co Ltd filed Critical Sanechips Technology Co Ltd
Priority to CN201710978189.5A priority Critical patent/CN109688411B/zh
Publication of CN109688411A publication Critical patent/CN109688411A/zh
Application granted granted Critical
Publication of CN109688411B publication Critical patent/CN109688411B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

本发明公开了一种视频编码率失真代价估计方法、编码重建失真估计方法、编码消耗比特估计方法和装置,所述视频编码率失真代价估计方法包括:获取待编码图像块、预测图像块、量化参数、失真估计模型参数和比特估计模型参数;计算所述待编码图像块和预测图像块之间的预测误差;将预测误差、量化参数和失真估计模型参数输入所述失真估计模型,得到编码重建失真的估计值;将预测误差、量化参数和比特估计模型参数输入所述比特估计模型,得到编码消耗比特的估计值;根据所述编码重建失真的估计值和编码消耗比特的估计值得到所述待编码图像块的视频编码率失真代价值。本发明实施例降低了编码器的硬件实现代价,同时又不会对编码压缩性能造成较大影响。

Description

一种视频编码率失真代价估计方法和装置
技术领域
本发明涉及多媒体及视频图像信号处理领域,尤指一种视频编码率失真代价估计方法、编码重建失真估计方法、编码消耗比特估计方法和装置。
背景技术
视频编码技术利用视频图像前后帧之间的时域冗余信息,以及图像内部的空域冗余信息对视频数据进行压缩编码。由于视频的内容千差万别,难以使用某一种特定的统计模型对一幅图像中的像素分布特性进行描述,因此视频编码器在对图像块进行编码时,必须针对不同图像块选择符合其内容特性的编码模式才能达到较优的压缩效率。
现有的主流视频编码标准,如H.264、H.265/HEVC(High Efficiency VideoCoding,高效视频编码)等,为了提升编码性能,采用了大量的候选编码模式,以适应不同内容特性的视频内容。例如,对于一个图像块,可以对其采用帧内编码(Intra)或帧间编码(Inter)。帧内编码是指利用图像块周边的像素对当前图像块的像素值进行预测,帧间编码是指利用时域上相邻帧的图像块对当前图像块的像素值进行预测。若选择了帧内编码,还要进一步选择像素的预测方向,例如HEVC标准中定义了35种帧内编码预测方向。若选择了帧间编码,还要进一步估计运动向量,即在参考帧中搜索当前图像块的匹配块,需要注意的是,最优的匹配块并不一定是像素差异最小的图像块,由于编码器需要在图像失真和码率之间取得平衡,因此需要编码器在众多的候选运动向量中做出选择。类似的需要编码器进行模式选择的模块还有很多,例如在图像的纹理细节丰富区域或者物体轮廓边缘区域,采用大尺寸的图像块进行编码无法达到最佳效果,需要对图像块进行四叉树划分,以适应局部图像特性。是否能够对图像块的划分模式做出恰当的选择,是决定编码器性能优劣的关键。
如上所述,编码器的编码过程,实际上是一个不断从众多候选编码模式中进行选择的过程。选中某一种模式的依据是该模式能够使当前图像块在不超出码率(Rate,R)限制的前提下,失真(Distortion,D)最小。该过程被称为视频编码率失真优化(Rate-Distortion Optimization,RDO)。具体的,在对某一个图像块进行编码时,可能存在N种候选编码模式,每一种编码模式都有对应的编码重建失真D和编码消耗比特R。要从中选择一个最优解的限失真优化问题通常被采用拉格朗日乘子法进行求解,将该问题转化为找到代价值J最小的解:
J=D+λ·R
其中,λ是拉格朗日乘子。在实际的编码过程中,对每一个图像块都要遍历大量的候选编码模式,针对每一个编码模式都要计算一次D和R,计算量巨大。例如在最新的HEVC编码标准中,对于图像中每一个64×64的图像块,都存在83522种不同的四叉树划分模式,理论上若需要达到最佳编码效果,则每一种候选模式都需要遍历。若是对分辨率为4K(3840×2160)帧率为50帧每秒的视频进行实时编码,其运算复杂度会非常高。这其中最困难的问题在于,计算编码重建失真D和编码消耗比特R的过程非常繁杂,首先需要将经过候选编码模式预测得到的预测图像块与当前待编码图像块相减,得到预测残差。然后对预测残差进行变换(Transform,T)、量化(Quantization,Q)以及反变换(Inverse Transform,IT)、反量化(Inverse Quantization,IQ),之后才能得到重建图像块。然后将待编码图像块与重建图像块相减才能得到编码重建失真D。编码消耗比特R的计算同样复杂。首先,需要对预测残差系数进行扫描,并进行二值化。常用的二值化方法包括0阶或者1阶指数哥伦布编码方法。对残差系数进行二值化之后的比特数可以作为编码残差所需编码消耗比特的估计值。其次,还需要对当前编码图像块所采用的编码模式、预测模式等信息进行编码,以便更准确的估计编码消耗比特R。
在使用硬件电路实现编码器的过程中,每一处需要进行编码模式选择的环节都需要对编码重建失真D和编码消耗比特R进行估计计算。然而,变换、量化以及反变换和反量化再加上后续的残差系数编码等过程会增加大量的芯片面积以及功耗,导致编码器硬件实现代价过高。
发明内容
本发明实施例提供了一种视频编码率失真代价估计方法、编码重建失真估计方法、编码消耗比特估计方法和装置,以降低计算的复杂度。
本发明实施例提供了一种视频编码率失真代价估计方法,包括:
获取待编码图像块、预测图像块、量化参数、失真估计模型参数和比特估计模型参数;
计算所述待编码图像块和预测图像块之间的预测误差;
将所述预测误差、量化参数和失真估计模型参数输入所述失真估计模型,得到编码重建失真的估计值;将所述预测误差、量化参数和比特估计模型参数输入所述比特估计模型,得到编码消耗比特的估计值;
根据所述编码重建失真的估计值和编码消耗比特的估计值得到所述待编码图像块的视频编码率失真代价值。
本发明实施例还提供了一种编码重建失真估计方法,包括:
获取待编码图像块、预测图像块、量化参数和失真估计模型参数;
计算所述待编码图像块和预测图像块之间的预测误差;
将所述预测误差、量化参数和失真估计模型参数输入失真估计模型,得到编码重建失真的估计值。
本发明实施例还提供了一种编码消耗比特估计方法,包括:
获取待编码图像块、预测图像块、量化参数和比特估计模型参数;
计算所述待编码图像块和预测图像块之间的预测误差;
将所述预测误差、量化参数和比特估计模型参数输入比特估计模型,得到编码消耗比特的估计值。
本发明实施例还提供了一种视频编码率失真代价估计装置,包括:
第一获取模块,用于获取待编码图像块、预测图像块、量化参数、失真估计模型参数和比特估计模型参数;
第一预测误差计算模块,用于计算所述待编码图像块和预测图像块之间的预测误差;
第一失真估计模块,用于将所述预测误差、量化参数和失真估计模型参数输入失真估计模型,得到编码重建失真的估计值;
第一比特估计模块,用于将所述预测误差、量化参数和比特估计模型参数输入比特估计模型,得到编码消耗比特的估计值;
失真代价值计算模块,用于根据所述编码重建失真的估计值和编码消耗比特的估计值得到所述待编码图像块的视频编码率失真代价值。
本发明实施例还提供了一种编码重建失真估计装置,包括:
第二获取模块,用于获取待编码图像块、预测图像块、量化参数和失真估计模型参数;
第二预测误差计算模块,用于计算所述待编码图像块和预测图像块之间的预测误差;
第二失真估计模块,用于将所述预测误差、量化参数和失真估计模型参数输入失真估计模型,得到编码重建失真的估计值。
本发明实施例还提供了一种码消耗比特估计装置,包括:
第三获取模块,用于获取待编码图像块、预测图像块、量化参数和比特估计模型参数;
第三预测误差计算模块,用于计算所述待编码图像块和预测图像块之间的预测误差;
第二比特估计模块,用于将所述预测误差、量化参数和比特估计模型参数输入比特估计模型,得到编码消耗比特的估计值。
本发明实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述的视频编码率失真代价估计方法。
本发明实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述的编码重建失真估计方法。
本发明实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述的编码消耗比特估计方法。
本发明实施例包括:获取待编码图像块、预测图像块、量化参数、失真估计模型参数和比特估计模型参数;计算所述待编码图像块和预测图像块之间的预测误差;将所述预测误差、量化参数和失真估计模型参数输入失真估计模型,得到编码重建失真的估计值;将所述预测误差、量化参数和比特估计模型参数输入比特估计模型,得到编码消耗比特的估计值;根据所述编码重建失真的估计值和编码消耗比特的估计值得到所述待编码图像块的视频编码率失真代价值。在本发明实施例中,由于不需要对预测残差进行变换、量化、反变换、反量化等操作,大大降低了编码模式选择率失真优化的复杂度,降低了编码器的硬件实现代价,同时又不会对编码压缩性能造成较大影响。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例一的编码重建失真估计方法流程图;
图2为本发明实施例二的编码重建失真估计以及模型参数更新的流程图;
图3为本发明实施例三的编码消耗比特估计方法流程图;
图4为本发明实施例四的编码消耗比特估计以及模型参数更新的流程图;
图5为本发明实施例五的视频编码率失真代价估计方法流程图;
图6为本发明实施例六的视频编码率失真代价估计装置示意图;
图7为本发明实施例七的编码重建失真估计装置示意图;
图8为本发明实施例八的编码消耗比特估计装置示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例一
如图1所示,本发明实施例的编码重建失真估计方法,包括:
步骤101,获取待编码图像块、预测图像块、量化参数和失真估计模型参数;
步骤102,计算所述待编码图像块和预测图像块之间的预测误差;
步骤103,将所述预测误差、量化参数和失真估计模型参数输入失真估计模型,得到编码重建失真的估计值。
在本发明实施例中,由于不需要对预测残差进行变换、量化、反变换、反量化等操作,大大降低了计算编码重建失真的估计值的复杂度。
所述预测图像块为对所述待编码图像块进行预测得到图像块。
在一实施方式中,所述失真估计模型参数包括失真估计模型第一参数η和失真估计模型第二参数γ,所述失真估计模型为:
Figure BDA0001437479080000061
其中,D为编码重建失真的估计值,Qstep为量化步长(Quantization Step),
Qstep=2(QP-4)/6 (2)
QP为量化参数(Quantization Parameter),
Figure BDA0001437479080000062
为预测误差,ln()表示以常数e为底的自然对数。
其中,量化参数为QP的取值由编码配置决定,其值范围是0~51。也可以在步骤101中,根据量化参数为QP,预先计算量化步长Qstep
在一实施方式中,步骤101之前,还包括:设置失真估计模型参数的初始值;其中,对于帧间编码,η的初始值设置范围为:[5000,15000]之间,γ的初始值设置范围为:[-15000,-10000]之间;对于帧内编码,η的初始值设置范围为:[200,1000]之间,γ的初始值设置范围为:[-15000,-10000]之间。
η和γ的初始值可以是通过对测试序列进行编码后,对编码重建失真的真实值和
Figure BDA0001437479080000071
进行线性拟合得到的线性系数。
在一实施方式中,计算待编码图像块和预测图像块之间的预测误差
Figure BDA0001437479080000073
的步骤中,可采用误差平方和(SSD,Sum of Squared Differences)、绝对误差和(SAD,Sum ofAbsolute Difference)、平均绝对差值(MAD,Mean Absolute Difference)或平均平方误差(MSE,Mean Squared Error)等方式计算预测误差。
在一实施方式中,步骤103之后,还包括:
所述待编码图像块编码完成之后,得到编码重建失真的真实值,根据所述编码重建失真的真实值更新所述失真估计模型参数。
在一实施方式中,所述待编码图像块编码完成之后,将得到的真实编码重建值与原始参考像素值相减得到编码重建失真的真实值DActual
Θ表示
Figure BDA0001437479080000072
的乘积,将编码重建失真的真实值DActual代入下式
DActual=η×Θtemp+γ (3)
计算得到Θtemp,按照下式对η和γ进行更新:
ηnew=η+δD×(ln(Θ)-ln(Θtemp))×η (4)
γnew=γ+δD×(ln(Θ)-ln(Θtemp))×γ (5)
其中,ηnew和γnew分别为更新后的失真估计模型第一参数和失真估计模型第二参数,δD为失真估计更新幅度调节因子,取值范围为:[0.01,0.5]之间。
将更新后的参数值ηnew和γnew代入式(1)进行下一个图像块的编码。
实施例二
如图2所示,为本发明实施例的编码重建失真估计以及模型参数更新的流程图,图2为图1的细化流程,包括如下步骤:
步骤201,为失真估计模型的第一参数η和第二参数γ设置初始值;
η和γ的初始值可以是通过对测试序列进行编码后,对编码重建失真的真实值和
Figure BDA0001437479080000081
进行线性拟合得到的线性系数。
步骤202,获取待编码图像块、预测图像块、量化参数和失真估计模型参数;
其中,量化参数为QP的取值由编码配置决定,其值范围是0~51。
步骤203,将量化参数QP转换为量化步长Qstep
Qstep=2(QP-4)/6
步骤204,计算所述待编码图像块和预测图像块之间的预测误差;
其中,计算待编码图像块和预测图像块之间的预测误差,度量差异的方法不限,可以是误差平方和、绝对误差和、平均绝对差值或平均平方误差等。
步骤205,将量化步长Qstep和预测误差代入失真估计模型,得到编码重建失真的估计值;
该模型为:
Figure BDA0001437479080000082
其中,D为编码重建失真的估计值,
Figure BDA0001437479080000083
为预测误差,ln()表示以常数e为底的自然对数。
步骤206,完成编码过程得到编码重建失真的真实值;
步骤207,判断当前序列是否编码结束,若是,则结束流程,若否,则执行步骤208;
步骤208,根据所述编码重建失真的真实值更新所述失真估计模型参数,返回执行步骤202,将更新后的失真估计模型参数用于下一个图像块的编码。
其中,将得到的真实编码重建值与原始参考像素值相减得到编码重建失真的真实值DActual
Θ表示
Figure BDA0001437479080000091
的乘积,将编码重建失真的真实值DActual代入下式
DActual=η×Θtemp
计算得到Θtemp,按照下式对η和γ进行更新:
ηnew=η+δD×(ln(Θ)-ln(Θtemp))×η
γnew=γ+δD×(ln(Θ)-ln(Θtemp))×γ
其中,ηnew和γnew分别为更新后的失真估计模型第一参数和失真估计模型第二参数,δD为失真估计更新幅度调节因子,取值范围为:[0.01,0.5]之间。
实施例三
如图3所示,本发明实施例的编码消耗比特估计方法,包括:
步骤301,获取待编码图像块、预测图像块、量化参数和比特估计模型参数;
步骤302,计算所述待编码图像块和预测图像块之间的预测误差;
步骤303,将所述预测误差、量化参数和比特估计模型参数输入比特估计模型,得到编码消耗比特的估计值。
在本发明实施例中,估计编码消耗比特无需对预测残差系数进行扫描、二值化等处理,大大降低了编码消耗比特估计的复杂度。
在一实施方式中,所述比特估计模型参数包括比特估计模型第一参数α和失真估计模型第二参数β,所述比特估计模型为:
Figure BDA0001437479080000092
其中,R为编码消耗比特的估计值,Qstep为量化步长,Qstep=2(QP-4)/6,QP为量化参数,
Figure BDA0001437479080000093
为预测误差,ln()表示以常数e为底的自然对数。
其中,量化参数为QP的取值由编码配置决定,其值范围是0~51。也可以在步骤301中,根据量化参数为QP,预先计算量化步长Qstep
在一实施方式中,步骤301之前,还包括:设置比特估计模型参数的初始值;其中,对于帧间编码,α的初始值设置范围是:[2000,10000]之间,β的初始值设置范围是[-100,-10]之间;对于帧内编码,α的初始值设置范围是[2000,10000]之间,β的初始值设置范围是[-100,-10]之间。
α和β的初始值可以是通过对测试序列进行编码后,对编码消耗比特的真实值和
Figure BDA0001437479080000101
进行线性拟合得到的线性系数。
在一实施方式中,步骤303之后,还包括:
所述待编码图像块编码完成之后,得到编码消耗比特的真实值,根据所述编码消耗比特的真实值更新所述比特估计模型参数。
在一实施方式中,所述待编码图像块编码完成之后,得到编码消耗比特的真实值,根据所述编码消耗比特的真实值更新所述比特估计模型参数包括:
所述待编码图像块编码完成之后,得到编码消耗比特的真实值RActual,Φ表示
Figure BDA0001437479080000102
的商值,将RActual代入下式:
RActual=α×Φtemp+β (7)
计算得到Φtemp,按照下式对α和β进行更新:
αnew=α+δR×(ln(Φ)-ln(Φtemp))×α (8)
βnew=β+δR×(ln(Φ)-ln(Φtemp))×β (9)
其中,αnew和βnew分别为更新后的比特估计模型第一参数和比特估计模型第二参数,δR为比特估计更新幅度调节因子,取值范围是[0.01,0.5]之间。
将更新后的参数值αnew和βnew代入式(6)进行下一个图像块的编码。
实施例四
如图4所示,为本发明实施例的编码消耗比特估计以及模型参数更新的流程图,图4为图3的细化流程,包括如下步骤:
步骤401,为比特估计模型的第一参数α和第二参数β设置初始值;
其中,α和β的初始值可以是通过对测试序列进行编码后,对编码消耗比特的真实值和
Figure BDA0001437479080000111
进行线性拟合得到的线性系数。
对于帧间编码,α的初始值设置范围可以是:[2000,10000]之间,β的初始值设置范围可以是[-100,-10]之间;对于帧内编码,α的初始值设置范围可以是[2000,10000]之间,β的初始值设置范围可以是[-100,-10]之间。
步骤402,获取待编码图像块、预测图像块、量化参数和比特估计模型参数;
其中,量化参数为QP的取值由编码配置决定,其值范围是0~51。
步骤403,将量化参数QP转换为量化步长Qstep
Qstep=2(QP-4)/6
步骤404,计算所述待编码图像块和预测图像块之间的预测误差;
其中,计算待编码图像块和预测图像块之间的预测误差,度量差异的方法不限,可以是误差平方和、绝对误差和、平均绝对差值或平均平方误差等。
步骤405,将量化步长Qstep和预测误差代入比特估计模型,得到编码消耗比特的估计值;
该模型为:
Figure BDA0001437479080000112
其中,R为编码消耗比特的估计值,
Figure BDA0001437479080000113
为预测误差,ln()表示以常数e为底的自然对数。
步骤406,待编码图像块编码完成之后,得到编码消耗比特的真实值;
步骤407,判断当前序列是否编码结束,若是,则结束流程,若否,则执行步骤408;
步骤408,根据所述编码消耗比特的真实值更新所述比特估计模型参数,返回执行步骤402,将更新后的比特估计模型参数用于下一个图像块的编码。
其中,所述待编码图像块编码完成之后,得到编码消耗比特的真实值RActual,Φ表示
Figure BDA0001437479080000121
的商值,将RActual代入下式:
RActual=α×Φtemp
计算得到Φtemp,按照下式对α和β进行更新:
αnew=α+δR×(ln(Φ)-ln(Φtemp))×α
βnew=β+δR×(ln(Φ)-ln(Φtemp))×β
其中,αnew和βnew分别为更新后的比特估计模型第一参数和比特估计模型第二参数,δR为比特估计更新幅度调节因子,取值范围是[0.01,0.5]之间。
实施例五
如图5所示,本发明实施例的视频编码率失真代价估计方法,包括:
步骤501,获取待编码图像块、预测图像块、量化参数、失真估计模型参数和比特估计模型参数;
步骤502,计算所述待编码图像块和预测图像块之间的预测误差;
步骤503,将所述预测误差、量化参数和失真估计模型参数输入失真估计模型,得到编码重建失真的估计值;将所述预测误差、量化参数和比特估计模型参数输入比特估计模型,得到编码消耗比特的估计值;
步骤504,根据所述编码重建失真的估计值和编码消耗比特的估计值得到所述待编码图像块的视频编码率失真代价值。
在本发明实施例中,由于不需要对预测残差进行变换、量化、反变换、反量化等操作,大大降低了编码模式选择率失真优化的复杂度,降低了编码器的硬件实现代价,同时又不会对编码压缩性能造成较大影响。
在一实施方式中,所述将所述预测误差、量化参数和失真估计模型参数输入失真估计模型,得到编码重建失真的估计值之后,还包括:
所述待编码图像块编码完成之后,得到编码重建失真的真实值,根据所述编码重建失真的真实值更新所述失真估计模型参数。
在一实施方式中,所述失真估计模型参数包括失真估计模型第一参数η和失真估计模型第二参数γ,所述失真估计模型为:
Figure BDA0001437479080000131
其中,D为编码重建失真的估计值,Qstep为量化步长,Qstep=2(QP-4)/6,QP为量化参数,
Figure BDA0001437479080000132
为预测误差,ln()表示以常数e为底的自然对数。
在一实施方式中,所述待编码图像块编码完成之后,得到编码重建失真的真实值,根据所述编码重建失真的真实值更新所述失真估计模型参数包括:
所述待编码图像块编码完成之后,将得到的真实编码重建值与原始参考像素值相减得到编码重建失真的真实值DActual
Θ表示
Figure BDA0001437479080000133
的乘积,将编码重建失真的真实值DActual代入下式
DActual=η×Θtemp
计算得到Θtemp,按照下式对η和γ进行更新:
ηnew=η+δD×(ln(Θ)-ln(Θtemp))×η
γnew=γ+δD×(ln(Θ)-ln(Θtemp))×γ
其中,ηnew和γnew分别为更新后的失真估计模型第一参数和失真估计模型第二参数,δD为失真估计更新幅度调节因子,取值范围为:[0.01,0.5]之间。
在一实施方式中,所述获取待编码图像块、预测图像块、量化参数、失真估计模型参数和比特估计模型参数之前,还包括:
设置失真估计模型参数的初始值;
其中,对于帧间编码,η的初始值设置范围为:[5000,15000]之间,γ的初始值设置范围为:[-15000,-10000]之间;对于帧内编码,η的初始值设置范围为:[200,1000]之间,γ的初始值设置范围为:[-15000,-10000]之间。
在一实施方式中,所述将所述预测误差、量化参数和比特估计模型参数输入比特估计模型,得到编码消耗比特的估计值之后,所述方法还包括:
所述待编码图像块编码完成之后,得到编码消耗比特的真实值,根据所述编码消耗比特的真实值更新所述比特估计模型参数。
在一实施方式中,所述比特估计模型参数包括比特估计模型第一参数α和失真估计模型第二参数β,所述比特估计模型为:
Figure BDA0001437479080000141
其中,R为编码消耗比特的估计值,Qstep为量化步长,Qstep=2(QP-4)/6,QP为量化参数,
Figure BDA0001437479080000142
为预测误差,ln()表示以常数e为底的自然对数。
在一实施方式中,所述待编码图像块编码完成之后,得到编码消耗比特的真实值,根据所述编码消耗比特的真实值更新所述比特估计模型参数包括:
所述待编码图像块编码完成之后,得到编码消耗比特的真实值RActual,Φ表示
Figure BDA0001437479080000143
的商值,将RActual代入下式:
RActual=α×Φtemp
计算得到Φtemp,按照下式对α和β进行更新:
αnew=α+δR×(ln(Φ)-ln(Φtemp))×α
βnew=β+δR×(ln(Φ)-ln(Φtemp))×β
其中,αnew和βnew分别为更新后的比特估计模型第一参数和比特估计模型第二参数,δR为比特估计更新幅度调节因子,取值范围为:[0.01,0.5]之间。
在一实施方式中,所述获取待编码图像块、预测图像块、量化参数、失真估计模型参数和比特估计模型参数之前,还包括:
设置比特估计模型参数的初始值;
其中,对于帧间编码,α的初始值设置范围是:[2000,10000]之间,β的初始值设置范围是[-100,-10]之间;对于帧内编码,α的初始值设置范围是[2000,10000]之间,β的初始值设置范围是[-100,-10]之间。
在一实施方式中,所述预测误差为如下之一:
误差平方和、绝对误差和、平均绝对差值、平均平方误差。
上述步骤501~503的实现过程可参照实施例一~实施例四的描述。
在一实施方式中,步骤504中,可通过下式得到所述待编码图像块的视频编码率失真代价值:
J=D+λ·R
其中,J为视频编码率失真代价值,D为编码重建失真的估计值,R为编码消耗比特的估计值,λ为拉格朗日乘子。
另外,对于采用帧内预测(Intra)编码和采用帧间预测(Inter)编码的图像帧,可采用两套不同的模型参数,分别进行更新。
实施例六
如图6所示,本发明实施例的视频编码率失真代价估计装置,包括:
第一获取模块61,用于获取待编码图像块、预测图像块、量化参数、失真估计模型参数和比特估计模型参数;
第一预测误差计算模块62,用于计算所述待编码图像块和预测图像块之间的预测误差;
第一失真估计模块63,用于将所述预测误差、量化参数和失真估计模型参数输入失真估计模型,得到编码重建失真的估计值;
第一比特估计模块64,用于将所述预测误差、量化参数和比特估计模型参数输入比特估计模型,得到编码消耗比特的估计值;
失真代价值计算模块65,用于根据所述编码重建失真的估计值和编码消耗比特的估计值得到所述待编码图像块的视频编码率失真代价值。
在一实施方式中,还包括:
第一失真估计更新模块,用于所述待编码图像块编码完成之后,得到编码重建失真的真实值,根据所述编码重建失真的真实值更新所述失真估计模型参数。
在一实施方式中,所述失真估计模型参数包括失真估计模型第一参数η和失真估计模型第二参数γ,所述失真估计模型为:
Figure BDA0001437479080000161
其中,D为编码重建失真的估计值,Qstep为量化步长,Qstep=2(QP-4)/6,QP为量化参数,
Figure BDA0001437479080000162
为预测误差,ln()表示以常数e为底的自然对数。
在一实施方式中,所述第一失真估计更新模块,用于:
所述待编码图像块编码完成之后,将得到的真实编码重建值与原始参考像素值相减得到编码重建失真的真实值DActual
Θ表示
Figure BDA0001437479080000163
的乘积,将编码重建失真的真实值DActual代入下式
DActual=η×Θtemp
计算得到Θtemp,按照下式对η和γ进行更新:
ηnew=η+δD×(ln(Θ)-ln(Θtemp))×η
γnew=γ+δD×(ln(Θ)-ln(Θtemp))×γ
其中,ηnew和γnew分别为更新后的失真估计模型第一参数和失真估计模型第二参数,δD为失真估计更新幅度调节因子,取值范围是[0.01,0.5]之间。
在一实施方式中,还包括:
第一比特估计更新模块,用于所述待编码图像块编码完成之后,得到编码消耗比特的真实值,根据所述编码消耗比特的真实值更新所述比特估计模型参数。
在一实施方式中,所述比特估计模型参数包括比特估计模型第一参数α和失真估计模型第二参数β,所述比特估计模型为:
Figure BDA0001437479080000164
其中,R为编码消耗比特的估计值,Qstep为量化步长,Qstep=2(QP-4)/6,QP为量化参数,
Figure BDA0001437479080000171
为预测误差,ln()表示以常数e为底的自然对数。
在一实施方式中,所述第一比特估计更新模块,用于:
所述待编码图像块编码完成之后,得到编码消耗比特的真实值RActual,Φ表示
Figure BDA0001437479080000172
的商值,将RActual代入下式:
RActual=α×Φtemp
计算得到Φtemp,按照下式对α和β进行更新:
αnew=α+δR×(ln(Φ)-ln(Φtemp))×α
βnew=β+δR×(ln(Φ)-ln(Φtemp))×β
其中,αnew和βnew分别为更新后的比特估计模型第一参数和比特估计模型第二参数,δR为比特估计更新幅度调节因子,取值范围是[0.01,0.5]之间。
实施例七
如图7所示,本发明实施例的编码重建失真估计装置,包括:
第二获取模块71,用于获取待编码图像块、预测图像块、量化参数和失真估计模型参数;
第二预测误差计算模块72,用于计算所述待编码图像块和预测图像块之间的预测误差;
第二失真估计模块73,用于将所述预测误差、量化参数和失真估计模型参数输入失真估计模型,得到编码重建失真的估计值。
在一实施方式中,还包括:
第二失真估计更新模块,用于所述待编码图像块编码完成之后,得到编码重建失真的真实值,根据所述编码重建失真的真实值更新所述失真估计模型参数。
在一实施方式中,所述失真估计模型参数包括失真估计模型第一参数η和失真估计模型第二参数γ,所述失真估计模型为:
Figure BDA0001437479080000181
其中,D为编码重建失真的估计值,Qstep为量化步长,Qstep=2(QP-4)/6,QP为量化参数,
Figure BDA0001437479080000182
为预测误差,ln()表示以常数e为底的自然对数。
在一实施方式中,第二失真估计更新模块,用于:
所述待编码图像块编码完成之后,将得到的真实编码重建值与原始参考像素值相减得到编码重建失真的真实值DActual
Θ表示
Figure BDA0001437479080000183
的乘积,将编码重建失真的真实值DActual代入下式
DActual=η×Θtemp
计算得到Θtemp,按照下式对η和γ进行更新:
ηnew=η+δD×(ln(Θ)-ln(Θtemp))×η
γnew=γ+δD×(ln(Θ)-ln(Θtemp))×γ
其中,ηnew和γnew分别为更新后的失真估计模型第一参数和失真估计模型第二参数,δD为失真估计更新幅度调节因子。
在本发明实施例中,估计编码消耗比特无需对预测残差系数进行扫描、二值化等处理,大大降低了编码消耗比特估计的复杂度。
实施例八
如图8所示,本发明实施例的码消耗比特估计装置,包括:
第三获取模块81,用于获取待编码图像块、预测图像块、量化参数和比特估计模型参数;
第三预测误差计算模块82,用于计算所述待编码图像块和预测图像块之间的预测误差;
第二比特估计模块83,用于将所述预测误差、量化参数和比特估计模型参数输入比特估计模型,得到编码消耗比特的估计值。
在一实施方式中,还包括:
第二比特估计更新模块,用于所述待编码图像块编码完成之后,得到编码消耗比特的真实值,根据所述编码消耗比特的真实值更新所述比特估计模型参数。
在一实施方式中,所述比特估计模型参数包括比特估计模型第一参数α和失真估计模型第二参数β,所述比特估计模型为:
Figure BDA0001437479080000191
其中,R为编码消耗比特的估计值,Qstep为量化步长,Qstep=2(QP-4)/6,QP为量化参数,
Figure BDA0001437479080000192
为预测误差,ln()表示以常数e为底的自然对数。
在一实施方式中,第二比特估计更新模块,用于:
所述待编码图像块编码完成之后,得到编码消耗比特的真实值RActual,Φ表示
Figure BDA0001437479080000193
的商值,将RActual代入下式:
RActual=α×Φtemp
计算得到Φtemp,按照下式对α和β进行更新:
αnew=α+δR×(ln(Φ)-ln(Φtemp))×α
βnew=β+δR×(ln(Φ)-ln(Φtemp))×β
其中,αnew和βnew分别为更新后的比特估计模型第一参数和比特估计模型第二参数,δR为比特估计更新幅度调节因子。
在本发明实施例中,估计编码消耗比特无需对预测残差系数进行扫描、二值化等处理,大大降低了编码消耗比特估计的复杂度。
下面通过应用实例进一步说明。
应用实例1
在对帧间预测单元(Prediction Unit,PU)进行编码模式选择时,每个PU有多种候选编码模式,其中可以分为采用运动搜索得到的运动向量(Motion Vector,MV)进行编码或者直接沿用周围已编码图像块的MV进行编码的融合(Merge)模式。率失真代价最小的编码模式会被选中为最优模式。每种编码模式都需要计算对应编码重建失真的估计值D和编码消耗比特的估计值R。
在HEVC标准中,Merge模式是指PU可以不编码传输运动向量,而是直接沿用其候选预测MV的值。假设存在5种候选MV,对于每一种MV,当前PU都存在要对预测残差进行编码和不对预测残差进行编码两种选择,因此对于每一个PU都存在10种不同的Merge编码模式,需要分别计算10次对应的率失真代价值。由于每帧图像中的PU数量巨大,因此Merge模式的决策计算复杂度很高。此应用实例采用上述RD估计模型对Merge编码模式的编码代价进行估算,从而降低整个编码过程所需的时间。
在进行PU模式选择时,需要对Merge模式的RD代价进行计算。此时,对于每一个PU,最多存在5个候选的预测MV,并且对于每一个MV,都存在编码预测残差和不编码预测残差两种情况。针对每一种情况,针对图像的亮度分量计算失真和比特。下面简述本发明实施例的RD估计模型在Merge编码模式率失真代价估计方面的应用步骤。
第一步,对于当前PU,在进行Merge编码模式选择时,共存在10种候选Merge编码模式{Mij|i={0,1},j={0,1,2,3,4}}。其中i=0表示需要对预测残差进行编码,i=1表示不需要对预测残差进行编码,共两种情况。j表示5种候选预测MVj。针对每一种Mij,根据其运动矢量MVj得到其预测图像块。
第二步,针对需要对预测残差进行编码的情况(i=0),将当前待编码图像块与预测图像块相减,得到预测残差的误差平方和SSD。将当前PU的量化参数QP按照式(2)转化为量化步长Qstep。将SSD与Qstep代入式(1)和(6),得到编码重建失真的估计值D和编码消耗比特的估计值R。按照J=D+λ×R计算率失真代价J。在本例中,式(1)中的模型参数η和γ的初始值分别设置为1081和13156,式(6)中的模型参数α和β的初始值分别设置为6707.8和58.988。用于计算率失真代价J的拉格朗日乘子λ的值则按照目前通用的计算模型得到。针对i=0情况下的5种候选预测MVj,重复上述的步骤,最终得到5种率失真代价值J01到J05
第三步,针对i=1的情况下的5种候选预测MVj,由于不需要对预测残差进行编码,所以其编码重建失真就是预测失真。因此直接将预测MV对应的预测图像块与当前图像块相减,计算误差平方和SSD作为失真D。统计MV索引等信息所需要的编码比特数,得到R。按照J=D+λ×R计算率失真代价J。针对i=1情况下的5种候选预测MVj,重复上述的步骤,最终得到5种率失真代价值J11到J15
第四步,对比十种编码模式所对应的率失真代价值Jij,从中选出最小值。最小值所对应的编码模式Mij为当前PU的最优Merge编码模式。
第五步,若当前PU以需要编码预测残差的Merge模式完成了实际的编码,则可以将该PU编码重建失真的真实值DActual和编码消耗比特的真实值RActual用于更新模型(1)和(6)中的参数值,从而在后续的编码过程中获得更准确的RD代价估计值。按照式(3)至(5)可以对模型(1)的参数η和γ的值进行更新。按照式(7)至(9)可以对模型(6)的参数α和β的值进行更新。在本实施例中,式(4)、(5)、(8)、(9)中的参数值δD和δR的取值均为0.01。
应用实例2
在对帧内预测单元PU进行编码模式选择时,每个PU有多种候选编码模式,其中帧内编码模式利用图像块周边的已编码像素对当前图像块的像素值进行预测。HEVC标准中定义了35种帧内编码预测方向,在对PU进行最优帧内编码模式决策时,需要遍历35种预测方向,每种预测方向都要计算出相应的编码重建失真的估计值D和编码消耗比特的估计值R,并根据率失真代价函数J=D+λ×R计算出具有最小代价值J的对应预测方向,作为最优的帧内编码预测方向。此应用实例采用上述RD估计模型对帧内编码模式各预测方向的编码代价进行估算,从而降低整个编码过程所需的时间。
第一步,对于当前PU,在进行帧内编码模式选择时,假设共存在35种候选帧内编码模式{Mi|0≤i≤34}。针对每一种预测模式Mi,根据其帧内预测方向得到预测图像块。
第二步,将当前待编码图像块与预测图像块相减,得到预测残差的绝对误差和SAD。将当前PU的量化参数QP按照式(2)转化为量化步长Qstep。将MAD与Qstep代入式(1)和(6),得到编码重建失真的估计值D和编码消耗比特的估计值R。按照J=D+λ×R计算率失真代价J。在本例中,式(1)中的模型参数η和γ的初始值分别设置为698.22和14190,式(6)中的模型参数α和β的初始值分别设置为5244.9和83.044。用于计算率失真代价J的拉格朗日乘子λ的值则按照目前通用的计算模型得到。针对35种候选预测MVi,重复上述的步骤,最终得到35种率失真代价值Ji
第三步,对比35种编码模式所对应的率失真代价值Ji,从中选出最小值。最小值所对应的编码模式Mi为当前PU的最优帧内编码模式。
第四步,若当前PU以帧内编码模式完成了实际的编码,则可以将该PU编码重建失真的真实值DActual和编码消耗比特的真实值RActual用于更新模型(1)和(6)中的参数值,从而在后续的编码过程中获得更准确的RD代价估计值。按照式(3)至(5)可以对模型(1)的参数η和γ的值进行更新。按照式(7)至(9)可以对模型(6)的参数α和β的值进行更新。在本实施例中,式(4)、(5)、(8)、(9)中的参数值δD和δR的取值均为0.05。
应用实例3
在对编码单元(Coding Unit,CU)进行编码模式选择时,CU可以选择帧内编码也可以选择帧间编码。此时需要编码器分别计算当前CU采用帧内编码和采用帧间编码时的编码重建失真的估计值D和编码消耗比特的估计值R,并根据率失真代价函数J=D+λ×R计算出代价值J。根据J的大小选择当前CU应编码为帧内还是帧间模式。此应用实例采用上述RD估计模型对帧内/帧间编码模式决策过程中的编码率失真代价进行估算,从而降低整个编码过程所需的时间。
对于当前CU,假设已确定一种最佳帧内编码预测模式MIntra,并且也已确定一种最佳帧间编码预测模式MInter
第一步,针对帧内编码预测模式MIntra,根据其帧内预测方向得到预测图像块。将当前待编码图像块与预测图像块相减,得到预测残差的平均绝对差值MAD。将当前CU的量化参数QP按照式(2)转化为量化步长Qstep。将MAD与Qstep代入式(1)和(6),得到编码重建失真的估计值D和编码消耗比特的估计值R。按照J=D+λ×R计算帧内编码率失真代价JIntra。在本实施例中,对帧内编码模式进行RD估计时,式(1)中的模型参数η和γ的初始值分别设置为698.22和14190,式(6)中的模型参数α和β的初始值分别设置为5244.9和83.044。用于计算率失真代价J的拉格朗日乘子λ的值则按照目前通用的计算模型得到。
第二步,针对帧间编码预测模式MInter,根据其运动矢量得到其预测图像块。将当前待编码图像块与预测图像块相减,得到预测残差的平均绝对差值MAD。将当前CU的量化参数QP按照式(2)转化为量化步长Qstep。将MAD与Qstep代入式(1)和(6),得到编码重建失真的估计值D和编码消耗比特的估计值R。按照J=D+λ×R计算率失真代价帧间编码率失真代价JInter。在本例中,对帧间编码模式进行RD估计时,式(1)中的模型参数η和γ的初始值分别设置为1081和13156,式(6)中的模型参数α和β的初始值分别设置为6707.8和58.988。用于计算率失真代价J的拉格朗日乘子λ的值则按照目前通用的计算模型得到。
第三步,比较JIntra和JInter,若JIntra更小,则当前CU编码为帧内模式,反之则编码为帧间模式。
第四步,若当前CU实际按照帧内编码模式进行编码,则根据其实际的编码重建失真的真实值和编码消耗比特的真实值对帧内编码RD估计模型的参数进行更新。若当前CU实际按照帧间模式进行编码,则根据其实际的编码重建失真的真实值和编码消耗比特的真实值对帧间编码RD估计模型的参数进行更新。参数更新过程如下:将该CU编码重建失真的真实值DActual和编码消耗比特的真实值RActual用于更新模型(1)和(6)中的参数值,从而在后续的编码过程中获得更准确的RD代价估计值。按照式(3)至(5)可以对模型(1)的参数η和γ的值进行更新。按照式(7)至(9)可以对模型(6)的参数α和β的值进行更新。在本实施例中,式(4)、(5)、(8)、(9)中的参数值δD和δR的取值均为0.1。
应用实例4
在对编码单元CU进行编码时,CU可以选择按照当前图像块尺寸进行编码,也可以选择进行四叉树划分,即进一步划分成四个等大小的CU分别进行编码。编码器需要计算CU按当前尺寸进行编码的编码重建失真的估计值D和编码消耗比特的估计值R,并根据率失真代价函数J=D+λ×R计算出代价值J。同时还需要分别计算当前CU进行四叉树划分之后的4个CU的编码重建失真的估计值D和编码消耗比特的估计值R,以及相应的率失真代价J之和。从而才能够决定当前CU是否需要进行进一步的四叉树划分。此应用实例采用上述RD估计模型对CU划分模式决策过程中的编码率失真代价进行估算,从而降低整个编码过程所需的时间。
假设当前CU为CU0,将当前CU进行四叉树划分可以得到四个更小的CU,分别为CU10,CU11,CU12和CU13。假设对于CU0,已确定一种最优编码模式M0,对于CU10,CU11,CU12和CU13,已分别确定最优编码模式M10,M11,M12和M13
第一步,针对CU0,根据其最优编码模式M0,得到预测图像块。将当前待编码图像块与预测图像块相减,得到预测残差的平均平方误差MSE。将当前CU的量化参数QP按照式(2)转化为量化步长Qstep。将MSE与Qstep代入式(1)和(6),得到编码重建失真的估计值D和编码消耗比特的估计值R。按照J=D+λ×R计算帧内编码率失真代价J0。在本实施例中,若M0为帧内预测,式(1)中的模型参数η和γ的初始值分别设置为698.22和14190,式(6)中的模型参数α和β的初始值分别设置为5244.9和83.044。若M0为帧间预测,式(1)中的模型参数η和γ的初始值分别设置为1081和13156,式(6)中的模型参数α和β的初始值分别设置为6707.8和58.988。用于计算率失真代价J的拉格朗日乘子λ的值则按照目前通用的计算模型得到。
第二步,针对CU10,CU11,CU12和CU13,分别根据其最优编码模式M10,M11,M12和M13,得到预测图像块。将当前待编码图像块与预测图像块相减,得到预测残差的平均绝对差值MAD。将当前CU的量化参数QP按照式(2)转化为量化步长Qstep。将MAD与Qstep代入式(1)和(6),得到编码重建失真的估计值D和编码消耗比特的估计值R。按照J=D+λ×R计算编码率失真代价J10,J11,J12和J13。式(1)和(6)中的模型参数初始值选取视帧内还是帧间编码模式而定,具体可参考第一步。
第三步,比较J0的值以及J10,J11,J12和J13之和的大小关系。若J0更小,则当前CU0不需要再进行四叉树划分,反之将当前CU0划分为CU10,CU11,CU12和CU13
第四步,根据每一个CU的实际的编码重建失真的真实值和编码消耗比特的真实值,对RD估计模型的参数进行更新。若CU实际按照帧内编码模式进行编码,则根据其实际的编码重建失真的真实值和编码消耗比特的真实值对帧内编码RD估计模型的参数进行更新。若当前CU实际按照帧间模式进行编码,则根据其实际的编码重建失真的真实值和编码消耗比特的真实值对帧间编码RD估计模型的参数进行更新。参数更新过程如下:将该CU编码重建失真的真实值DActual和编码消耗比特的真实值RActual用于更新模型(1)和(6)中的参数值,从而在后续的编码过程中获得更准确的RD代价估计值。按照式(3)至(5)可以对模型(1)的参数η和γ的值进行更新。按照式(7)至(9)可以对模型(6)的参数α和β的值进行更新。在本实施例中,式(4)、(5)、(8)、(9)中的参数值δD和δR的取值均为0.5。
本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行实施例一的编码重建失真估计方法。
本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行实施例三的编码消耗比特估计方法。
本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行实施例五的视频编码率失真代价估计方法。
在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
显然,本领域的技术人员应该明白,上述的本发明实施例的模块或步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (26)

1.一种视频编码率失真代价估计方法,包括:
获取待编码图像块、预测图像块、量化参数、失真估计模型参数和比特估计模型参数;
计算所述待编码图像块和预测图像块之间的预测误差;
将所述预测误差、量化参数和失真估计模型参数输入所述失真估计模型,得到编码重建失真的估计值;将所述预测误差、量化参数和比特估计模型参数输入所述比特估计模型,得到编码消耗比特的估计值;
根据所述编码重建失真的估计值和编码消耗比特的估计值得到所述待编码图像块的视频编码率失真代价值;
所述失真估计模型参数包括失真估计模型第一参数η和失真估计模型第二参数γ,所述失真估计模型为:
Figure FDA0003561632490000011
其中,D为编码重建失真的估计值,Qstep为量化步长,Qstep=2(QP-4)/6,QP为量化参数,
Figure FDA0003561632490000012
为预测误差,ln()表示以常数e为底的自然对数;
所述比特估计模型参数包括比特估计模型第一参数α和比特估计模型第二参数β,所述比特估计模型为:
Figure FDA0003561632490000013
其中,R为编码消耗比特的估计值,Qstep为量化步长,Qstep=2(QP-4)/6,QP为量化参数,
Figure FDA0003561632490000014
为预测误差,ln()表示以常数e为底的自然对数。
2.如权利要求1所述的方法,其特征在于,所述将所述预测误差、量化参数和失真估计模型参数输入所述失真估计模型,得到编码重建失真的估计值之后,还包括:
所述待编码图像块编码完成之后,得到编码重建失真的真实值,根据所述编码重建失真的真实值更新所述失真估计模型参数。
3.如权利要求1所述的方法,其特征在于,所述待编码图像块编码完成之后,得到编码重建失真的真实值,根据所述编码重建失真的真实值更新所述失真估计模型参数包括:
所述待编码图像块编码完成之后,将得到的真实编码重建值与原始参考像素值相减得到编码重建失真的真实值DActual
Θ表示
Figure FDA0003561632490000021
的乘积,将编码重建失真的真实值DActual代入下式
DActual=η×Θtemp
计算得到Θtemp,按照下式对η和γ进行更新:
ηnew=η+δD×(ln(Θ)-ln(Θtemp))×η
γnew=γ+δD×(ln(Θ)-ln(Θtemp))×γ
其中,ηnew和γnew分别为更新后的失真估计模型第一参数和失真估计模型第二参数,δD为失真估计更新幅度调节因子。
4.如权利要求1或3所述的方法,其特征在于,所述获取待编码图像块、预测图像块、量化参数、失真估计模型参数和比特估计模型参数之前,还包括:
设置失真估计模型参数的初始值;
其中,对于帧间编码,η的初始值设置范围为:[5000,15000]之间,γ的初始值设置范围为:[-15000,-10000]之间;对于帧内编码,η的初始值设置范围为:[200,1000]之间,γ的初始值设置范围为:[-15000,-10000]之间。
5.如权利要求1所述的方法,其特征在于,所述将所述预测误差、量化参数和比特估计模型参数输入所述比特估计模型,得到编码消耗比特的估计值之后,所述方法还包括:
所述待编码图像块编码完成之后,得到编码消耗比特的真实值,根据所述编码消耗比特的真实值更新所述比特估计模型参数。
6.如权利要求1所述的方法,其特征在于,所述待编码图像块编码完成之后,得到编码消耗比特的真实值,根据所述编码消耗比特的真实值更新所述比特估计模型参数包括:
所述待编码图像块编码完成之后,得到编码消耗比特的真实值RActual,Φ表示
Figure FDA0003561632490000031
的商值,将RActual代入下式:
RActual=α×Φtemp
计算得到Φtemp,按照下式对α和β进行更新:
αnew=α+δR×(ln(Φ)-ln(Φtemp))×α
βnew=β+δR×(ln(Φ)-ln(Φtemp))×β
其中,αnew和βnew分别为更新后的比特估计模型第一参数和比特估计模型第二参数,δR为比特估计更新幅度调节因子。
7.如权利要求1或6所述的方法,其特征在于,所述获取待编码图像块、预测图像块、量化参数、失真估计模型参数和比特估计模型参数之前,还包括:
设置比特估计模型参数的初始值;
其中,对于帧间编码,α的初始值设置范围为:[2000,10000]之间,β的初始值设置范围为:[-100,-10]之间;对于帧内编码,α的初始值设置范围为:[2000,10000]之间,β的初始值设置范围为:[-100,-10]之间。
8.如权利要求1~3,5~6中任意一项所述的方法,其特征在于,所述预测误差为如下之一:
误差平方和、绝对误差和、平均绝对差值、平均平方误差。
9.一种编码重建失真估计方法,包括:
获取待编码图像块、预测图像块、量化参数和失真估计模型参数;
计算所述待编码图像块和预测图像块之间的预测误差;
将所述预测误差、量化参数和失真估计模型参数输入失真估计模型,得到编码重建失真的估计值;
所述失真估计模型参数包括失真估计模型第一参数η和失真估计模型第二参数γ,所述失真估计模型为:
Figure FDA0003561632490000041
其中,D为编码重建失真的估计值,Qstep为量化步长,Qstep=2(QP-4)/6,QP为量化参数,
Figure FDA0003561632490000042
为预测误差,ln()表示以常数e为底的自然对数。
10.如权利要求9所述的方法,其特征在于,所述将所述预测误差、量化参数和失真估计模型参数输入失真估计模型,得到编码重建失真的估计值之后,还包括:
所述待编码图像块编码完成之后,得到编码重建失真的真实值,根据所述编码重建失真的真实值更新所述失真估计模型参数。
11.如权利要求9所述的方法,其特征在于,所述待编码图像块编码完成之后,得到编码重建失真的真实值,根据所述编码重建失真的真实值更新所述失真估计模型参数包括:
所述待编码图像块编码完成之后,将得到的真实编码重建值与原始参考像素值相减得到编码重建失真的真实值DActual
Θ表示
Figure FDA0003561632490000043
的乘积,将编码重建失真的真实值DActual代入下式
DActual=η×Θtemp
计算得到Θtemp,按照下式对η和γ进行更新:
ηnew=η+δD×(ln(Θ)-ln(Θtemp))×η
γnew=γ+δD×(ln(Θ)-ln(Θtemp))×γ
其中,ηnew和γnew分别为更新后的失真估计模型第一参数和失真估计模型第二参数,δD为失真估计更新幅度调节因子。
12.一种编码消耗比特估计方法,包括:
获取待编码图像块、预测图像块、量化参数和比特估计模型参数;
计算所述待编码图像块和预测图像块之间的预测误差;
将所述预测误差、量化参数和比特估计模型参数输入比特估计模型,得到编码消耗比特的估计值;
所述比特估计模型参数包括比特估计模型第一参数α和比特估计模型第二参数β,所述比特估计模型为:
Figure FDA0003561632490000051
其中,R为编码消耗比特的估计值,Qstep为量化步长,Qstep=2(QP-4)/6,QP为量化参数,
Figure FDA0003561632490000052
为预测误差,ln()表示以常数e为底的自然对数。
13.如权利要求12所述的方法,其特征在于,所述将所述预测误差、量化参数和比特估计模型参数输入比特估计模型,得到编码消耗比特的估计值之后,所述方法还包括:
所述待编码图像块编码完成之后,得到编码消耗比特的真实值,根据所述编码消耗比特的真实值更新所述比特估计模型参数。
14.如权利要求12所述的方法,其特征在于,所述待编码图像块编码完成之后,得到编码消耗比特的真实值,根据所述编码消耗比特的真实值更新所述比特估计模型参数包括:
所述待编码图像块编码完成之后,得到编码消耗比特的真实值RActual,Φ表示
Figure FDA0003561632490000053
的商值,将RActual代入下式:
RActual=α×Φtemp
计算得到Φtemp,按照下式对α和β进行更新:
αnew=α+δR×(ln(Φ)-ln(Φtemp))×α
βnew=β+δR×(ln(Φ)-ln(Φtemp))×β
其中,αnew和βnew分别为更新后的比特估计模型第一参数和比特估计模型第二参数,δR为比特估计更新幅度调节因子。
15.一种视频编码率失真代价估计装置,包括:
第一获取模块,用于获取待编码图像块、预测图像块、量化参数、失真估计模型参数和比特估计模型参数;
第一预测误差计算模块,用于计算所述待编码图像块和预测图像块之间的预测误差;
第一失真估计模块,用于将所述预测误差、量化参数和失真估计模型参数输入失真估计模型,得到编码重建失真的估计值;
第一比特估计模块,用于将所述预测误差、量化参数和比特估计模型参数输入比特估计模型,得到编码消耗比特的估计值;
失真代价值计算模块,用于根据所述编码重建失真的估计值和编码消耗比特的估计值得到所述待编码图像块的视频编码率失真代价值;
所述失真估计模型参数包括失真估计模型第一参数η和失真估计模型第二参数γ,所述失真估计模型为:
Figure FDA0003561632490000061
其中,D为编码重建失真的估计值,Qstep为量化步长,Qstep=2(QP-4)/6,QP为量化参数,
Figure FDA0003561632490000062
为预测误差,ln()表示以常数e为底的自然对数;
所述比特估计模型参数包括比特估计模型第一参数α和比特估计模型第二参数β,所述比特估计模型为:
Figure FDA0003561632490000063
其中,R为编码消耗比特的估计值,Qstep为量化步长,Qstep=2(QP-4)/6,QP为量化参数,
Figure FDA0003561632490000064
为预测误差,ln()表示以常数e为底的自然对数。
16.如权利要求15所述的装置,其特征在于,还包括:
第一失真估计更新模块,用于所述待编码图像块编码完成之后,得到编码重建失真的真实值,根据所述编码重建失真的真实值更新所述失真估计模型参数。
17.如权利要求16所述的装置,其特征在于,
所述第一失真估计更新模块,用于:
所述待编码图像块编码完成之后,将得到的真实编码重建值与原始参考像素值相减得到编码重建失真的真实值DActual
Θ表示
Figure FDA0003561632490000065
的乘积,将编码重建失真的真实值DActual代入下式
DActual=η×Θtemp
计算得到Θtemp,按照下式对η和γ进行更新:
ηnew=η+δD×(ln(Θ)-ln(Θtemp))×η
γnew=γ+δD×(ln(Θ)-ln(Θtemp))×γ
其中,ηnew和γnew分别为更新后的失真估计模型第一参数和失真估计模型第二参数,δD为失真估计更新幅度调节因子。
18.如权利要求15所述的装置,其特征在于,还包括:
第一比特估计更新模块,用于所述待编码图像块编码完成之后,得到编码消耗比特的真实值,根据所述编码消耗比特的真实值更新所述比特估计模型参数。
19.如权利要求15所述的装置,其特征在于,所述第一比特估计更新模块,用于:
所述待编码图像块编码完成之后,得到编码消耗比特的真实值RActual,Φ表示
Figure FDA0003561632490000071
的商值,将RActual代入下式:
RActual=α×Φtemp
计算得到Φtemp,按照下式对α和β进行更新:
αnew=α+δR×(ln(Φ)-ln(Φtemp))×α
βnew=β+δR×(ln(Φ)-ln(Φtemp))×β
其中,αnew和βnew分别为更新后的比特估计模型第一参数和比特估计模型第二参数,δR为比特估计更新幅度调节因子。
20.一种编码重建失真估计装置,包括:
第二获取模块,用于获取待编码图像块、预测图像块、量化参数和失真估计模型参数;
第二预测误差计算模块,用于计算所述待编码图像块和预测图像块之间的预测误差;
第二失真估计模块,用于将所述预测误差、量化参数和失真估计模型参数输入失真估计模型,得到编码重建失真的估计值;
所述失真估计模型参数包括失真估计模型第一参数η和失真估计模型第二参数γ,所述失真估计模型为:
Figure FDA0003561632490000081
其中,D为编码重建失真的估计值,Qstep为量化步长,Qstep=2(QP-4)/6,QP为量化参数,
Figure FDA0003561632490000082
为预测误差,ln()表示以常数e为底的自然对数。
21.如权利要求20所述的装置,其特征在于,还包括:
第二失真估计更新模块,用于所述待编码图像块编码完成之后,得到编码重建失真的真实值,根据所述编码重建失真的真实值更新所述失真估计模型参数。
22.一种码消耗比特估计装置,包括:
第三获取模块,用于获取待编码图像块、预测图像块、量化参数和比特估计模型参数;
第三预测误差计算模块,用于计算所述待编码图像块和预测图像块之间的预测误差;
第二比特估计模块,用于将所述预测误差、量化参数和比特估计模型参数输入比特估计模型,得到编码消耗比特的估计值;
所述比特估计模型参数包括比特估计模型第一参数α和比特估计模型第二参数β,所述比特估计模型为:
Figure FDA0003561632490000083
其中,R为编码消耗比特的估计值,Qstep为量化步长,Qstep=2(QP-4)/6,QP为量化参数,
Figure FDA0003561632490000084
为预测误差,ln()表示以常数e为底的自然对数。
23.如权利要求22所述的装置,其特征在于,还包括:
第二比特估计更新模块,用于所述待编码图像块编码完成之后,得到编码消耗比特的真实值,根据所述编码消耗比特的真实值更新所述比特估计模型参数。
24.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1-8任一项的视频编码率失真代价估计方法。
25.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求9-11任一项的编码重建失真估计方法。
26.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求12-14任一项的编码消耗比特估计方法。
CN201710978189.5A 2017-10-18 2017-10-18 一种视频编码率失真代价估计方法和装置 Active CN109688411B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710978189.5A CN109688411B (zh) 2017-10-18 2017-10-18 一种视频编码率失真代价估计方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710978189.5A CN109688411B (zh) 2017-10-18 2017-10-18 一种视频编码率失真代价估计方法和装置

Publications (2)

Publication Number Publication Date
CN109688411A CN109688411A (zh) 2019-04-26
CN109688411B true CN109688411B (zh) 2022-05-10

Family

ID=66184143

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710978189.5A Active CN109688411B (zh) 2017-10-18 2017-10-18 一种视频编码率失真代价估计方法和装置

Country Status (1)

Country Link
CN (1) CN109688411B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111726618B (zh) * 2020-06-29 2022-11-18 上海富瀚微电子股份有限公司 Rdoq的最优量化值的计算方法
CN116170594B (zh) * 2023-04-19 2023-07-14 中国科学技术大学 一种基于率失真代价预测的编码方法和装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6925120B2 (en) * 2001-09-24 2005-08-02 Mitsubishi Electric Research Labs, Inc. Transcoder for scalable multi-layer constant quality video bitstreams
US8031774B2 (en) * 2005-01-31 2011-10-04 Mediatek Incoropration Video encoding methods and systems with frame-layer rate control
CN100508610C (zh) * 2007-02-02 2009-07-01 清华大学 H.264/avc视频编码中速率和失真的快速估计方法
GB2492163B (en) * 2011-06-24 2018-05-02 Skype Video coding
CN102752596B (zh) * 2012-07-05 2014-12-17 深圳广晟信源技术有限公司 一种率失真优化方法
CN107071422B (zh) * 2017-04-17 2019-07-12 南京邮电大学 基于图像相关模型的低复杂度hevc码率适配转换编码方法

Also Published As

Publication number Publication date
CN109688411A (zh) 2019-04-26

Similar Documents

Publication Publication Date Title
US9451266B2 (en) Optimal intra prediction in block-based video coding to calculate minimal activity direction based on texture gradient distribution
CN103079070B (zh) 视频编码器
CN110519600B (zh) 帧内帧间联合预测方法、装置、编解码器及存储装置
CN110741640B (zh) 用于视频代码化中的运动补偿预测的光流估计
TWI498003B (zh) 代表一序列圖像的碼式資料連流之解碼方法和一序列圖像之寫碼方法及碼式圖像資料結構
CN107846593B (zh) 一种率失真优化方法及装置
CN106803960A (zh) 图像解码方法
CN111314698A (zh) 一种图像编码处理方法及装置
CN103248895A (zh) 一种用于hevc帧内编码的快速模式估计方法
CN108989799B (zh) 一种编码单元参考帧的选择方法、装置及电子设备
CN101605262A (zh) 可变块尺寸运动预测方法和装置
CN106878737A (zh) 高效视频编码中的运动估计加速方法
CN114900691B (zh) 编码方法、编码器及计算机可读存储介质
CN111263157A (zh) 一种基于运动矢量一致性的视频多域隐写分析方法
CN109688411B (zh) 一种视频编码率失真代价估计方法和装置
CN103096064B (zh) 编码和重构像素块的方法以及相应设备
EP2076047A2 (en) Video motion estimation
CN106060555A (zh) 一种基于多核处理器的编码器
CN103430543A (zh) 重构和编码图像块的方法
CN110049339A (zh) 图像编码中的预测方向选取方法、装置和存储介质
CN103796026A (zh) 一种基于双参考帧的运动估计方法
CN109587487B (zh) 一种对rdo策略的结构性失真度的评估方法及系统
CN114422803B (zh) 一种视频处理方法、装置及设备
KR100845644B1 (ko) 고속 움직임 모드 결정 방법
CN116074507A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221021

Address after: 610213 Industrial land in Southwest Airport Industrial Development Zone, Shuangliu District, Chengdu, Sichuan

Patentee after: Chengdu Kress Semiconductor Technology Co.,Ltd.

Address before: 518055 Zhongxing Industrial Park, Liuxian Avenue, Xili street, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: SANECHIPS TECHNOLOGY Co.,Ltd.