CN102036062A - 视频编码方法、装置及电子设备 - Google Patents

视频编码方法、装置及电子设备 Download PDF

Info

Publication number
CN102036062A
CN102036062A CN 200910235275 CN200910235275A CN102036062A CN 102036062 A CN102036062 A CN 102036062A CN 200910235275 CN200910235275 CN 200910235275 CN 200910235275 A CN200910235275 A CN 200910235275A CN 102036062 A CN102036062 A CN 102036062A
Authority
CN
China
Prior art keywords
frame
present frame
parameter
model parameter
actual
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.)
Granted
Application number
CN 200910235275
Other languages
English (en)
Other versions
CN102036062B (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.)
University of Science and Technology of China USTC
Huawei Technologies Co Ltd
Original Assignee
University of Science and Technology of China USTC
Huawei Technologies 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 University of Science and Technology of China USTC, Huawei Technologies Co Ltd filed Critical University of Science and Technology of China USTC
Priority to CN 200910235275 priority Critical patent/CN102036062B/zh
Publication of CN102036062A publication Critical patent/CN102036062A/zh
Application granted granted Critical
Publication of CN102036062B publication Critical patent/CN102036062B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明实施例公开了一种视频编码方法、装置及电子设备,其中方法包括:确定当前帧的模型参数θ,所述模型参数θ为表征所述当前帧图像的频率成分的参数;根据目标码率和模型参数确定所述当前帧的目标ρ值,所述ρ值为所述当前帧的量化系数中数值为0的系数所占的比例;确定所述当前帧的图像复杂度参数;根据所述当前帧的图像复杂度参数和所述当前帧的目标ρ值,确定所述当前帧的量化参数,所述量化参数用于对所述当前帧进行编码。本发明实施例提供的方法、装置及电子设备,能够提高码率控制的效率和准确度,降低编码复杂度。

Description

视频编码方法、装置及电子设备
技术领域
本发明涉及视频技术领域,尤其涉及一种视频编码方法、装置及电子设备。
背景技术
对视频序列进行编码的时候,每一单位时间所产生的码流的比特数各不相同,因此在通信信道上,无论其传输率是恒定还是可变,必须在编码器和信道间放置一个缓冲区以平滑输入,缓冲器的容量越大,承受码流变动的能力越大,但是缓冲带来的延时也越大,即缓冲器的容量与延时成反比。同时还需要一个码率控制系统来进行必要的控制,该码率控制系统可以根据传输通道以及缓冲区的满度的情况来获取所需要编码的目标比特率,然后结合目标码率,调节编码器的量化参数(Quantization Parameter,简称QP)来对由于图像编码引起的码率变化引起的码率进行调整,防止缓冲区的上溢或下溢,从而使得输出码流在保证图像质量稳定的条件下,适应有限的信道容量。也就是说,码率控制策略的目的是,通过对QP的控制和选择,使得视频编码器在一定视频数据带宽的限制下能够保证较稳定的码率和帧率以及较小的视频延时。
现有技术提供的一种方法:
采用固定QP编码器(FixedQPEncoder)选择合适的QP。固定QP编码器通过估计出的QP迭代的对目标视频序列进行基于可伸缩性视频编码(Scalable Video Coding,简称SVC)的固定QP编码,每一次编码产生的码率和QP用来产生下一次迭代的QP,直到产生的码率与目标码率的误差达到一个可接受的范围,或者直到迭代次数超过预设值。固定QP编码器中使用对数查找算法(logarithmic search algorithm)来获取最佳QP。该算法通过迭代计算,使得码率不断接近目标码率,产生合适的码流以满足不同网络带宽以及用户需求。
发明人在实施本发明的过程中,发现上述技术方案至少存在如下缺陷:
采用固定QP编码器编码时,需要进行不断的迭代以获得QP,编码复杂度太高,耗时太长,而且所得的最终码率与目标码率仍然有很大的偏差,码率控制的准确度和效率较低,编码复杂度高。
发明内容
本发明实施例提供一种视频编码方法、装置及电子设备,能够提高码率控制的效率和准确度,降低编码复杂度。
本发明实施例提供了一种视频编码方法,包括:
确定当前帧的模型参数θ,所述模型参数θ为表征所述当前帧图像的频率成分的参数;
根据目标码率和模型参数确定所述当前帧的目标ρ值,所述ρ值为所述当前帧的量化系数中数值为0的系数所占的比例;
确定所述当前帧的图像复杂度参数;
根据所述当前帧的图像复杂度参数和所述当前帧的目标ρ值,确定所述当前帧的量化参数,所述量化参数用于对所述当前帧进行编码。
本发明实施例还提供了一种视频编码装置,包括:
第一确定模块,用于确定当前帧的模型参数θ,所述模型参数θ为表征所述当前帧图像的频率成分的参数;
第二确定模块,用于根据目标码率和所述第一确定模块确定的模型参数θ确定所述当前帧的目标ρ值;所述ρ值为所述当前帧的量化系数中数值为0的系数所占的比例;
第三确定模块,用于确定所述当前帧的图像复杂度参数;
第四确定模块,用于根据所述第三确定模块确定的当前帧的图像复杂度参数和所述第二确定模块确定的当前帧的目标ρ值,确定所述当前帧的量化参数,所述量化参数用于对所述当前帧进行编码。
本发明实施例还提供了一种电子设备,包括收发装置以及如如前所述的视频编码装置,所述收发装置用于接收或发送视频数据。
本发明实施例提供的视频编码方法、装置及电子设备,首先根据获取到的模型参数θ获取获得当前帧的目标ρ值,根据图像复杂度预测模型预测获得所述当前帧的图像复杂度参数,根据所述当前帧的图像复杂度参数和所述当前帧的目标ρ值,获取所述当前帧的量化参数。根据本发明提供的实施例,可以提高码率控制的效率和准确度,并且降低编码复杂度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1所示为本发明各实施例中涉及到的一种码率控制示意图;
图2所示为本发明视频编码方法实施例一流程图;
图3所示为本发明视频编码方法实施例二流程图;
图4所示为本发明视频编码装置实施例结构示意图;
图5所示为本发明电子设备实施例结构示意图;
图6所示为采用本发明实施例的方法得到的公共车序列的PSNR;
图7所示为采用本发明实施例的方法得到的工头序列的PSNR。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
近年来,随着Internet的发展,网络已经深入人们的日常生活,计算机、通信和多媒体技术的交互、融合使如今各种数字媒体应用通过通信网络连为一体。在网络环境(比如互联网)里,由于网络带宽是有限的,用户终端以及用户的需求都是不同的,所以为了某种特定的应用而一次压缩的码流并不是令人满意和有效的,对一些特定的用户或设备而言,甚至是没有意义的。解决这个问题的一个有效的方法就是可伸缩性视频编码(Scalable VideoCoding,简称SVC),联合视频组(Joint Video Team,简称JVT)已经将其纳入到H.264/高级视频编码(Advanced Video Coding,简称AVC)标准的扩展中,现已被证实接受为国际标准。
SVC能提供的最低质量层被称作基本层,能增强空间分辨率、时间分辨率或信噪比强度的层被称作增强层。空间可伸缩性使用分层编码(LayeredCoding)的方法,利用层间的运动、纹理和残差信息。时间可伸缩性采用分级双向预测帧(Hierarchical B)编码技术。信噪比的可伸缩性,可以使用两种方法:粗粒度可伸缩性(Coarse Crain Scalability,简称CGS)和中粒度可伸缩性(Medium Grain Scalability,简称MGS)。CGS和MGS也采用和空间可伸缩性相同的层间预测方式,即利用层间的运动、纹理和残差信息。CGS和MGS与空间可伸缩性的不同点在于层间分辨率相同,运动向量不用进行尺度放大,重建信号和残差信号不用进行采样滤波,同时高层必须使用更小的QP来增强视频质量。
如图1所示为本发明各实施例中涉及到的一种码率控制示意图,视频源被输入到视频编码器1,经过视频编码器编码后的码流输入到缓冲区2,码率控制装置3监视缓冲区2的满度,通过调整QP来控制视频编码器1中的码率,从而达到防止缓冲区2上溢或下溢的目的。缓冲区2将码流输出到视频解码器4中。
码率控制的一种方式是固定比特(Constant Bit Rate,简称CBR)方式,即向码率控制装置中输入目标码率和视频源,根据对视频源复杂度估计、缓冲区的大小以及网络带宽估计动态调整QP,得到符合要求的码率。
下面介绍一下ρ域的相关知识。
一个基本的量化过程如下:Zi,j=round(Yi,j/Qstep),其中i,j分别表示图像中的行列坐标,Yi,j为离散余弦变换(Discrete Cosine Transform,简称DCT)系数,Zi,j为量化系数,Qstep为量化步长。也可以通过其他的变换方法来完成量化过程,比如KL变换或小波变换等。
令θ为表征当前帧图像的频率成分的参数,从θ的物理意义来看,θ可以表征图像的纹理信息复杂程度,图像的纹理越复杂,高频信息越多,θ就越小,反之则越大。
对于每一帧图像,量化系数总的个数是确定的。将量化系数中数值为0的系数的个数与量化系数总的个数的比值定义为ρ,即ρ是量化系数中值为0的系数所占的比例。ρ与编码码率R是呈线性关系的:
R(ρ)=θ(1-ρ)                            (6)
而ρ和QP之间有着一一对应的关系,可以通过DCT得到DCT的系数分布P(x),x为DCT系数,然后对于每一个QP可以计算出对应的ρ,从而建立QP与ρ间的一一对应关系。具体地,根据已知的分布P(x),对于每个QP,可以计算出ρ:
Figure B2009102352752D0000051
P(x)为编码的DCT系数分布,Δ是死区,譬如对于H.264/AVC,帧间编码时
Figure B2009102352752D0000052
帧内编码时
Figure B2009102352752D0000053
Figure B2009102352752D0000061
因而可以通过预先分配的目标码率R计算得到ρ,再由ρ得到一一对应的QP,从而达到精确进行码率控制的目的。
本发明实施例提出了一种线性ρ-Qstep模型,通过线性ρ-Qstep模型进行一次编码而不须进行预编码就可以得到ρ和QP之间的一一对应关系,然后再用ρ域的方法来得进行码率控制。
根据大量的仿真实验结果可以证明,在SVC中,R和ρ的关系是线性的。并且在质量可分级编码中,基本层和增强层的R-ρ关系的斜率即线性R-ρ模型(即公式(6))中的模型参数θ值非常接近。在空间可分级中,基本层和增强层的R-ρ关系的模型参数θ值比值近似为基本层像素点数与增强层像素点数的比值,本发明实施例中用基本层像素点数与增强层像素点数的比值来进行θ的层间预测。
在确定了R和ρ的关系后,再确定Qstep、图像复杂度参数和ρ之间的关系。图像复杂度参数可以是平均绝对差值(Mean Absolute Difference,简称MAD),也可以采用其他的参数来作为图像复杂度参数,比如:绝对误差和(Sum of Absolute Difference,简称SAD)等。本发明各实施例中以MAD为图像复杂度参数为例来说明。
考虑到对于同一帧,Qstep是与图像复杂度参数成正相关的,在给定的目标码率下,图像复杂度参数越大,则图像越复杂,高频信息越多,需要用较大的Qstep来编码才能得到合适的比特数,而Qstep又是与ρ成正相关的,ρ越大,表明对于同一DCT系数分布量化的死区越大因而QP越大,即Qstep越大,因此我们可以得到Qstep与MAD/(1-ρ)是成正相关的,通过大量实验结果得出,用一次模型来拟合Qstep与MAD/(1-ρ)的关系误差非常小。因而在本发明实施例中采用线性关系来拟合MAD/(1-ρ)与Qstep的关系:
Qstep=a1*MAD/(1-ρ)+a2                (7)
其中a1,a2为模型的两个参数,除了公式(7),还有其他方式可以表示Qstep和ρ关系,在此不一一穷举。在本发明实施例中,可以通过对前w帧的Qstep、MAD和实际ρ进行线性回归的方法来拟合得到:
a 1 = w Σ j = i - 1 i - w Qstep j × MAD j 1 - ρ j - ( Σ j = i - 1 i - w MAD j 1 - ρ j ) × ( Σ j = i - 1 j - w Qstep j ) w Σ j = i - 1 j - w ( MA D j 1 - ρ j ) 2 - ( Σ j = i - 1 j - w MAD j 1 - ρ j ) 2 - - - ( 8 )
a 2 = Σ j = i - 1 i - w Qstep j - a 1 Σ j = i - 1 i - w MAD j 1 - ρ j w
其中w为用来预测的帧数,i为当前帧帧编号。
公式(7)即为本发明建立的线性ρ-Qstep模型。公式(7)反映了Qstep和ρ之间的关系,得到Qstep之后,根据Qstep与QP之间的关系
Figure B2009102352752D0000073
可以计算获得QP。
基于上述建立的ρ-Qstep模型,本发明实施例提供的视频编码方法如图2所示,如图2所示为本发明视频编码方法实施例一流程图,包括:
步骤101、确定当前帧的模型参数θ,模型参数θ为表征当前帧图像的频率成分的参数。
步骤102、根据目标码率和模型参数确定当前帧的目标ρ值,ρ值为当前帧的量化系数中数值为0的系数所占的比例。
步骤103、确定当前帧的图像复杂度参数。
步骤104、根据当前帧的图像复杂度参数和当前帧的目标ρ值,确定当前帧的量化参数,量化参数用于对所述当前帧进行编码。
本发明实施例一提供的视频编码方法,首先根据获取到的模型参数θ获取获得当前帧的目标ρ值,确定当前帧的图像复杂度参数,根据当前帧的图像复杂度参数和当前帧的目标ρ值,获取所述当前帧的量化参数。根据本发明提供的实施例,可以提高码率控制的效率、准确度和率失真性能,并且降低编码复杂度。
实施例一提供的方法可以应用到SVC中,也可以应用到多视角视频编码(Multiview Video Coding)以及立体视频编码(Stereos Video Coding)中。下面首先说明SVC中的视频编码方法的实现过程。
在步骤101之前还可以包括为当前帧分配目标码率。具体可以是:为每一层每一帧分配目标码率R。
步骤101具体可以是:根据SVC的层间预测特性确定当前帧的模型参数θ。
步骤102具体可以是:将目标码率和模型参数θ代入公式
Figure B2009102352752D0000081
确定当前帧的目标ρ。公式
Figure B2009102352752D0000082
是由公式(6)变换得到的。
MAD为原始图像与预测图像的差值,描述了图像的复杂度。步骤103具体可以是:通过线性预测模型(如公式(9)所示)从前一参考帧的MAD预测得到当前帧的MAD,公式(9)如下:
MADj=c1×MADj-1+c2                       (9)
其中c1、c2是两个系数,初始值分别设为1和0,可以通过线性回归的方法得到,MADj-1为前一参考帧的真实MAD,j为帧编号。
也可以通过其他的方式获得当前帧的MAD。
步骤104具体可以是:将当前帧的MAD和当前帧的目标ρ代入公式(7),得到当前帧的Qstep,将当前帧的Qstep代入公式
Figure B2009102352752D0000083
得到当前帧的量化参数,该量化参数用于对当前帧进行编码。
步骤104之后还可以包括:根据量化参数对当前帧进行编码。
步骤101中,确定当前帧的模型参数θ的方式可以有如下几种:
(1)采用空间预测方法获取当前帧的模型参数θ:θi(j)=cθi-1(j),其中i在SVC中为层数,j为帧编号,c可以为一个常量,为第i层与第i-1层图像像素点数的比值,比如第i-1层为四分之一通用中间格式(QuarterCommon Intermediate Format,简称QCIF),第i层为通用中间格式(CommonIntermediate Format,简称CIF),c则为4。
(2)采用时间预测方法获取当前帧的模型参数θ:θi(j)=θi(j-1),其中i在SVC中为层数,j为帧编号
(3)对于在给定更新帧数,比较采用时间预测方法得到前面各帧的θ与前面各帧的实际θ之间的误差和采用空间预测方法得到前面各帧的θ与前面各帧的实际θ之间的误差,选择误差较小的预测方法作为当前帧的预测方法,得到的当前帧的θ。例如,给定更新帧数为A,则可以比较采用时间预测方法得到前面A帧的θ与前面A帧的实际θ之间的误差和采用空间预测方法得到前面A帧的θ与前面A帧的实际θ之间的误差,选择误差较小的预测方法作为当前帧的预测出方法,得到的当前帧的θ
考虑到SVC的层间相关性,当视频序列的时间相关性比较差,而空间相关性比较强时,如果还用前面的帧来预测当前帧的θ,误差就会比较大。从θ的物理意义来看,θ是与图像的纹理信息有着很强的相关性的,视频帧的纹理越复杂,高频信息越多,θ就越小,反之则越大。在SVC中,如果视频变化比较剧烈,那么当前帧与前面帧之间的相关性就比较差,其纹理复杂度相差也较大,因而如果还采用时间预测方法来预测θ,误差就比较大。
在变化较快的视频序列中,帧与帧之间的时间相关性小,空间相关性大(即层间相关性大),帧与帧之间的纹理相关性也较大,因而用空间预测方法获得的θ误差较小。
上述提供的方式(3)中,比较采用时间预测方法得到的前面各帧的θ与前面各帧的实际θ之间的误差以及采用空间预测方法得到的前面各帧的θ与所述前面各帧的实际θ之间的误差,选择误差较小的预测方法作为当前帧的预测方法,得到当前帧的θ。
具体地,可以计算第一时间窗口内,采用时间预测方法得到的前面各帧的θ与各前面各帧的实际θ之间的误差和;计算第一时间窗口内,采用空间预测方法得到的前面各帧的θ与前面各帧的实际θ之间的误差和;选择误差较小的预测方法作为当前帧的预测方法,得到当前帧的θ。
可以采用如公式(10)计算采用时间预测方法得到的前面各帧的θ与前面各帧的实际θ之间的误差和,公式(10)如下:
E temporal = Σ k = i - w i - 1 | θ k , actual - θ k , temporal | - - - ( 10 )
其中,Etemporal为采用时间预测方法得到的前面w帧的θ与前面w帧的实际θ之间的误差和,w为选定的第一时间窗口的大小,θk,actual为前面第k帧的实际θ,θk,temporal为采用时间预测方法得到的第k帧的θ。
可以采用如公式(11)计算采用空间预测方法得到的θ与各帧的实际θ之间的误差和,公式(11)如下:
E saptial = Σ k = i - w i - 1 | θ k , actual - θ k , saptial | - - - ( 11 )
其中,Esaptial为采用空间预测方法得到的前面w帧的θ与前面w帧的实际θ之间的误差和,w为选定的第一时间窗口的大小,θk,spatial为采用空间预测方法得到的θ。
如图3所示为本发明视频编码方法实施例二流程图,包括:
步骤201、接收视频。
步骤202、判断当前帧是否是第一帧。如果当前帧是第一帧,执行步骤203;如果当前帧不是第一帧,执行步骤204。
步骤203、对第一帧进行码率控制,然后执行步骤207。
步骤204、判断当前帧是否是第二帧,如果当前帧是第二帧,执行步骤205;如果当前帧不是第二帧,执行步骤206。
步骤205、对第二帧进行码率控制,然后执行步骤207。
步骤206、对第二帧之后的其他帧进行码率控制,然后执行步骤207。
步骤207、判断视频序列是否结束,如果结束则终止码率控制;如果视频序列没有结束,则执行步骤202。
其中,步骤203包括:
步骤203a、根据为第一帧预先分配的目标码率,计算出为每个像素分配的比特(bits per pixel,简称bpp):
bpp = R f × N pixel
其中R为当前码率,f为视频帧率,Npixel为帧的像素点数。
将bpp代入到公式(12),计算出第一帧的QP。
Qp = 40 bpp &le; l 1 30 l 1 < bpp &le; l 2 20 l 2 < bpp &le; l 3 10 bpp > l 3 - - - ( 12 )
其中,l1=0.15,l2=0.45,l3=0.9,或者l1=0.6,l2=1.4,l3=2.4。或者l1、l2、l3也可以根据视频处理的实际需要来取值。第一帧的QP也可以通过其他的公式来计算获得,不限于上述公式(12)。
步骤203b、采用步骤203a获取的QP对第一帧进行编码。
步骤203c、根据编码得到的第一帧的实际码流R1以及实际的ρ更新ρ域模型中的相关参数。ρ域模型即为公式(6),具体地,经过步骤203b对第一帧进行编码之后,即可得到第一帧的实际码率R1,通过第一帧的实际码率R1和实际ρ获得第一帧的模型参数θ实际值。第一帧的实际ρ可以通过第一帧的QP得到,具体地:可以通过公式
Figure B2009102352752D0000113
得到,其中x为编码的DCT系数,P(x)为编码的DCT系数分布,Δ为死区,是由量化步长或量化参数决定的。
步骤205包括:
步骤205a、根据第一帧的QP来确定第二帧的QP,第二帧的QP可以是将第一帧的QP加上一个常数,例如可以选为2)。
步骤205b、采用第二帧的QP对第二帧进行编码。
步骤205c、对线性R-ρ模型、线性MAD预测模型和线性ρ-Qstep模型中的相关参数进行更新。具体地,对于R-ρ模型,根据经过步骤204b对第二帧进行编码之后,即可得到第二帧的实际码率R2,通过第二帧的实际码率R2和实际ρ获得第二帧的模型参数θ。第二帧的实际ρ可以通过第二帧的QP得到,具体地,也可以通过公式
Figure B2009102352752D0000121
得到。对于线性ρ-Qstep模型,可以利用第二帧的Qstep、MAD以及ρ来更新ρ-Qstep模型中的a1和a2这两个参数,具体更新方法可以参考公式(8)。
步骤206包括:
步骤206a、获取每一帧的目标码率。
步骤206b、根据每一帧的目标码率,得到每一帧的目标ρ,获取每一帧的模型参数θ,根据线性MAD预测得到每一帧的MAD。
步骤206c、将每一帧的目标ρ、每一帧的模型参数θ、每一帧的MAD代入到公式(7),得到每一帧的Qstep,从而得到每一帧的QP。
步骤206d、用每一帧各自的QP对每一帧进行编码。
步骤206e、对线性R-ρ模型、线性MAD预测模型和线性ρ-Qstep模型的相关参数进行更新。具体地,对于R-ρ模型,可以利用当前帧的实际码率R和实际ρ来更新模型参数θ。对于线性MAD预测模型,可以采用当前帧获取的MAD来更新c1和c2参数。对于线性ρ-Qstep模型,可以采用当前帧的Qstep、MAD和ρ来更新a1和a2这两个参数。
在实施例二中,第一帧和第二帧的各个参数无法根据前面帧预测得到,所以第一帧和第二帧的各个参数需要通过特殊的方式获取。从第三帧开始,各个帧的QP就可以通过类似于实施例一的方式获取。
实施例二中,获取后续帧的模型参数θ时,以第一帧和第二帧的模型参数θ为基础来预测。可以通过前述实施例中提供各种预测模型参数的方式来获得当前帧的模型参数θ。例如,对于时间或空间预测方法,可以第一帧或第二帧的模型参数θ为基础进行预测。
另外,对于模型更新窗口大小,二次RD模型以及MAD预测模型参数都是由线性拟合的方法得到的,在每次编码完之后都要对模型中的参数a1和a2进行刷新,这样预测的精度由线性拟合的输入点数决定,一般的最大更新窗口为20,即要要输入坐标平面上最多20个的点进行一次拟合,一次拟合完成后去掉与拟合直线误差较大的点进行第二次拟合,可以看出这种处理过程运算开销非常大。对于本发明中的一次线性ρ-Qstep模型,因为参数预测更准确,而且对于预测误差更容易保持其稳定性,因而可以使用更小的更新窗口来更新模型中的参数。另外考虑到,视频相隔太远的帧相关性也变弱,如果还用来对当前帧进行预测,那么会引起较大偏差,在权衡序列帧相关性以及拟合精度上,本发明中所有模型的最大更新窗口为10,因而最多只用10个点进行拟合,在不影响性能的前提下大大降低了复杂度。
下面说明多视角编码和立体视频编码中视频编码方法的实现过程。
对于多视角编码和立体视频编码中的视频编码,步骤101之前可以包括为每一视角的每一帧分配目标码率R。
步骤101具体可以是:根据多视角视频编码以及立体视频编码的视角间特性确定当前帧的模型参数θ。
其中,根据多视角视频编码以及立体视频编码的视角间特性确定当前帧的模型参数θ具体为:
采用时间预测方法确定当前帧的θ;或者
采用视角预测方法确定当前帧的θ;或者
比较采用时间预测方法得到的前面各帧的θ与前面各帧的实际θ之间的误差以及采用视角预测方法得到的前面各帧的θ与前面各帧的实际θ之间的误差,选择误差较小的预测方法作为当前帧的预测方法,确定当前帧的θ。
对于多视角编码和立体视频编码中的视频编码,确定θ的方法,除了可以通过时间预测方法得到之外,还可以通过视角预测方法得到。
其中,比较采用时间预测方法得到的前面各帧的θ与前面各帧的实际θ之间的误差以及采用视角预测方法得到的前面各帧的θ与前面各帧的实际θ之间的误差,选择误差较小的预测方法作为当前帧的预测方法,确定当前帧的θ具体可以是:
计算第一时间窗口内,采用时间预测方法得到的前面各帧的θ与前面各帧的实际θ之间的误差和;计算所述第一时间窗口内,采用视角预测方法得到的前面各帧的θ与前面各帧的实际θ之间的误差和;选择误差较小的预测方法作为当前帧的预测方法,确定当前帧的θ。
可以采用如公式(13)计算采用视角预测方法得到的前面各帧θ与前面各帧的实际θ之间的误差和,公式(13)如下:
E view = &Sigma; k - i - w i - 1 | &theta; k , actual - &theta; k , view | - - - ( 13 )
其中,Eview采用视角预测方法得到的前面w帧的θ与前面w帧的实际θ之间的误差和,w为选定的第一时间窗口的大小,θk,view为采用视角预测方法得到的第k帧的θ。
对于多视角编码和立体视频编码中的视频编码,步骤102-104的实现过程可以与SVC中的视频编码相同。
实施例二提供的方法也可以应用到多视角编码和立体视频编码中,具体的实现过程,本领域技术人员可以类比得到,此处不再赘述。
本发明实施例提供的视频编码方法,能够提高码率控制的效率、准确度,降低编码复杂度。
如图4所示为本发明视频编码装置实施例结构示意图,该装置包括第一确定模块11、第二确定模块12、第三确定模块13和第四确定模块14。其中,第一确定模块11用于确定当前帧的模型参数θ,模型参数θ为表征所述当前帧图像的频率成分的参数;第二确定模块12用于根据目标码率和第一确定模块11确定的模型参数θ确定当前帧的目标ρ值;ρ值为所述当前帧的量化系数中数值为0的系数所占的比例;第三确定模块13用于确定当前帧的图像复杂度参数;第四确定模块14用于根据第三确定模块13确定的当前帧的图像复杂度参数和第二确定模块12确定的当前帧的目标ρ值,确定当前帧的量化参数,量化参数用于对所述当前帧进行编码。
图4所示的装置还可以包括目标码率接收模块和编码模块。目标码率接收模块,用于接收为视频帧分配的目标码率,可以与第二确定模块12连接。编码模块,可以与第四确定模块14连接,用于根据第四确定模块14确定的量化参数对当前帧进行编码。
第一确定模块11可以包括第一子单元或第二子单元。第一子单元可以用于根据SVC的层间预测特性确定当前帧的模型参数θ;第二子单元可以用于根据多视角视频编码以及立体视频编码的视角间特性确定当前帧的模型参数θ。
其中,第一子单元具体可以用于采用时间预测方法确定当前帧的θ;或者采用空间预测方法确定当前帧的θ;或者比较采用时间预测方法得到的前面各帧的θ与前面各帧的实际θ之间的误差,以及采用空间预测方法得到的所述前面各帧的θ与前面各帧的实际θ之间的误差,选择误差较小的预测方法作为所述当前帧的预测方法,确定当前帧的θ。
第二子单元具体可以用于采用时间预测方法确定当前帧的θ;或者采用视角预测方法确定当前帧的θ;或者比较采用时间预测方法得到的前面各帧的θ与前面各帧的实际θ之间的误差,以及采用视角预测方法得到的所述前面各帧的θ与前面各帧的实际θ之间的误差,选择误差较小的预测方法作为所述当前帧的预测方法,确定当前帧的θ。
在图4所示的实施例中,第二确定模块12具体可以用于将目标码率和模型参数θ代入公式
Figure B2009102352752D0000161
获得当前帧的目标ρ值。
本发明实施例提供的视频编码装置,能够提高码率控制的效率和准确度,降低编码复杂度。
如图5所示为本发明电子设备实施例结构示意图,包括收发装置21和视频编码装置22。其中,视频编码装置22可以为图4所示的装置,不再赘述。收发装置21用于执行如下项中的至少一项:发送量化参数给视频编码器、接收当前帧的目标码率。
本发明实施例的电子设备可以是手机、视频处理设备、计算机、服务器等。
本发明实施例提供的电子设备,能够提高码率控制的效率、准确度,降低编码复杂度。
在本发明在一个实施例中,将本发明实施例的方法用JSVM915的参考软件实现:
1)包括序列:公共车(Bus)、工头(Foreman)、手机(mobile)、橄榄球(Football)、英式足球(Soccer)、机务人员(Crew)、城市(City)。
2)两层,基本层:QCIF@30Hz(时间分辨率为30Hz,即每秒30帧),增强层:QCIF@30Hz。
3)图像组(Group of Pictures,简称GOP)大小设置为1,GOP结构为IPPP等,IPPP中的I为帧内编码,P为帧间编码。
4)编码120帧。
在本实施例中,采用质量可伸缩编码两层生成两个不同的码流,将采用固定QP方法能够取得的效果与本发明实施例中的方法能够取得的效果进行比较。固定QP方法的迭代次数设为最大50,码率范围设为±1%。另外,固定QP方法和本发明的初始QP均设为相同的。
表一是固定QP方法取得的效果与本发明实施例中的方法取得的效果的比较结果。从每个序列取两个码率点进行比较,从表一可以看出,本发明实施例的方法可以精确的控制码率,而固定QP方法则与目标码率有相当大的误差,有时一直迭代到最大迭代次数才停止而码率误差却大的惊人,在表一中码率误差最大可达9%。
而且采用本发明实施例中的方法,峰值信噪比(Peak Signal to NoiseRatio,简称PSNR)也有所提高,最高在基本层可以提高0.8dB,在增强层提高可达0.6dB。另外在计算量方面,固定QP方法对每一个目标码率需要不断地迭代很多次,计算量非常巨大,而本发明实施例的方法只需进行一次编码,而且由于本发明使用的是线性ρ-Qstep模型,与广为采用的二次模型相比,计算量更小,而且本发明实施例采用的更新窗口最大为10,因而计算量小于一般码率控制方法,比如H.264/AVC码率控制算法。
表一、固定QP方法取得的效果与本发明实施例中的方法取得的效果的比较结果
Figure B2009102352752D0000171
Figure B2009102352752D0000191
如图6所示为采用本发明实施例的方法得到的公共车序列的PSNR。图6中,第0层目标码率为96k,第1层目标码率为192k。如图7所示为采用本发明实施例的方法得到的工头序列的PSNR。图7中,第0层目标码率为128k,第1层目标码率为256k。考虑到视频各帧间的PSNR变化如果太大的对人眼视觉效果影响很大,因而PSNR变化越小则性能更好,从图6和图7中可以看到,本发明实施例的方法得到的PSNR变化比较平滑。
本发明实施例提供一种视频编码方法、视频编码装置及电子设备,能够提高码率控制的效率、准确度,降低编码复杂度。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。

Claims (15)

1.一种视频编码方法,其特征在于,包括:
确定当前帧的模型参数θ,所述模型参数θ为表征所述当前帧图像的频率成分的参数;
根据目标码率和模型参数确定所述当前帧的目标ρ值,所述ρ值为所述当前帧的量化系数中数值为0的系数所占的比例;
确定所述当前帧的图像复杂度参数;
根据所述当前帧的图像复杂度参数和所述当前帧的目标ρ值,确定所述当前帧的量化参数,所述量化参数用于对所述当前帧进行编码。
2.根据权利要求1所述的方法,其特征在于,在根据目标码率和模型参数确定所述当前帧的目标ρ值之前还包括:
为当前帧分配目标码率。
3.根据权利要求1所述的方法,其特征在于,在根据所述当前帧的图像复杂度参数和所述当前帧的目标ρ值,确定所述当前帧的量化参数之后还包括:
根据所述量化参数对所述当前帧进行编码。
4.根据权利要求1所述的方法,其特征在于,
所述确定当前帧的模型参数θ包括:根据可伸缩视频编码SVC的层间预测特性确定当前帧的模型参数θ。
5.根据权利要求4所述的方法,其特征在于,所述根据SVC的层间预测特性确定当前帧的模型参数θ包括:
采用时间预测方法确定当前帧的θ;或者,
采用空间预测方法确定当前帧的θ;或者,
比较采用时间预测方法得到的前面各帧的θ与所述前面各帧的实际θ之间的误差,以及采用空间预测方法得到的前面各帧的θ与所述前面各帧的实际θ之间的误差,选择误差较小的预测方法作为所述当前帧的预测方法,确定所述当前帧的θ。
6.根据权利要求5所述的方法,其特征在于,所述比较采用时间预测方法得到的前面各帧的θ与所述前面各帧的实际θ之间的误差,以及采用空间预测方法得到的前面各帧的θ与所述前面各帧的实际θ之间的误差,选择误差较小的预测方法作为所述当前帧的预测方法,确定所述当前帧的θ包括:
确定第一时间窗口内,采用时间预测方法得到的前面各帧的θ与所述前面各帧的实际θ之间的误差和;确定所述第一时间窗内,采用空间预测方法得到的前面各帧的θ与所述前面各帧的实际θ之间的误差和;选择误差和较小的预测方法作为所述当前帧的预测方法,确定所述当前帧的θ。
7.根据权利要求1所述的方法,其特征在于,
所述确定当前帧的模型参数θ包括:根据多视角视频编码以及立体视频编码的视角间特性确定当前帧的模型参数θ。
8.根据权利要求7所述的方法,其特征在于,所述根据多视角视频编码以及立体视频编码的视角间特性确定当前帧的模型参数θ包括:
采用时间预测方法确定当前帧的θ;或者,
采用视角预测方法确定当前帧的θ;或者,
比较采用时间预测方法得到的前面各帧的θ与所述前面各帧的实际θ之间的误差,以及采用视角预测方法得到的前面各帧的θ与所述前面各帧的实际θ之间的误差,选择误差较小的预测方法作为所述当前帧的预测方法,确定所述当前帧的θ。
9.根据权利要求8所述的方法,其特征在于,所述比较采用时间预测方法得到的前面各帧的θ与所述前面各帧的实际θ之间的误差,以及采用空间预测方法得到的前面各帧的θ与所述前面各帧的实际θ之间的误差,选择误差较小的预测方法作为所述当前帧的预测方法,确定所述当前帧的θ包括:
确定第一时间窗口内,采用时间预测方法得到的前面各帧的θ与所述前面各帧的实际θ之间的误差和;确定所述第一时间窗口内,采用视角预测方法得到的所述前面各帧的θ与所述前面各帧的实际θ之间的误差和;选择误差和较小的预测方法作为所述当前帧的预测方法,确定所述当前帧的θ。
10.根据权利要求1-9中任一项权利要求所述的方法,其特征在于,所述根据目标码率和模型参数获得所述当前帧的目标ρ值包括:将所述目标码率和模型参数θ代入公式
Figure F2009102352752C0000031
确定所述当前帧的目标ρ值,其中R为所述目标码率。
11.一种视频编码装置,其特征在于,包括:
第一确定模块,用于确定当前帧的模型参数θ,所述模型参数θ为表征所述当前帧图像的频率成分的参数;
第二确定模块,用于根据目标码率和所述第一确定模块确定的模型参数θ确定所述当前帧的目标ρ值;所述ρ值为所述当前帧的量化系数中数值为0的系数所占的比例;
第三确定模块,用于确定所述当前帧的图像复杂度参数;
第四确定模块,用于根据所述第三确定模块确定的当前帧的图像复杂度参数和所述第二确定模块确定的当前帧的目标ρ值,确定所述当前帧的量化参数,所述量化参数用于对所述当前帧进行编码。
12.根据权利要求11所述的装置,其特征在于,还包括:
目标码率接收模块,用于接收为视频帧分配的目标码率。
13.根据权利要求11所述的装置,其特征在于,还包括:
编码模块,用于根据所述第四确定模块确定的量化参数对所述当前帧进行编码。
14.根据权利要求11-13中任一权利要求所述的装置,其特征在于,
所述第一确定模块包括第一子单元或第二子单元;
所述第一子单元用于根据SVC的层间预测特性确定当前帧的模型参数θ;
所述第二子单元用于根据多视角视频编码以及立体视频编码的视角间特性确定当前帧的模型参数θ。
15.一种电子设备,其特征在于,包括收发装置以及如权利要求11至14中任一项权利要求所述的视频编码装置,所述收发装置用于接收或发送视频数据。
CN 200910235275 2009-09-29 2009-09-29 视频编码方法、装置及电子设备 Active CN102036062B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910235275 CN102036062B (zh) 2009-09-29 2009-09-29 视频编码方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910235275 CN102036062B (zh) 2009-09-29 2009-09-29 视频编码方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN102036062A true CN102036062A (zh) 2011-04-27
CN102036062B CN102036062B (zh) 2012-12-19

Family

ID=43888297

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910235275 Active CN102036062B (zh) 2009-09-29 2009-09-29 视频编码方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN102036062B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103079065A (zh) * 2012-12-27 2013-05-01 华为技术有限公司 一种视频数据处理方法以及装置
CN103517067A (zh) * 2012-12-14 2014-01-15 深圳百科信息技术有限公司 一种初始量化参数自适应调整方法及系统
CN103905843A (zh) * 2014-04-23 2014-07-02 无锡天脉聚源传媒科技有限公司 一种规避连续i帧的分布式音视频处理装置和处理方法
CN103974072A (zh) * 2013-01-29 2014-08-06 江山 视频解码中基于块压缩的帧的储存
CN104756497A (zh) * 2012-10-17 2015-07-01 日立麦克赛尔株式会社 图像传送系统
CN104780375A (zh) * 2015-03-30 2015-07-15 康佳集团股份有限公司 一种可伸缩视频编码的码率控制方法及系统
WO2017166487A1 (zh) * 2016-03-30 2017-10-05 乐视控股(北京)有限公司 实时码率调节方法、装置及服务端设备
WO2018133734A1 (en) * 2017-01-18 2018-07-26 SZ DJI Technology Co., Ltd. Rate control
WO2019127136A1 (zh) * 2017-12-27 2019-07-04 深圳市大疆创新科技有限公司 码率控制的方法与编码装置
WO2020088200A1 (zh) * 2018-10-31 2020-05-07 腾讯科技(深圳)有限公司 视频编码方法、装置、计算机可读存储介质和计算机设备
CN111193927A (zh) * 2018-11-14 2020-05-22 腾讯科技(深圳)有限公司 编码数据处理方法、装置、计算机设备和存储介质
CN111866504A (zh) * 2020-07-17 2020-10-30 Oppo广东移动通信有限公司 一种编码方法、编码器及计算机可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101112101A (zh) * 2004-11-29 2008-01-23 高通股份有限公司 使用参数方程式进行视频编码的速率控制技术
CN100358364C (zh) * 2005-05-27 2007-12-26 上海大学 基于h.264的精细颗粒可伸缩编码的码率控制方法
CN100581262C (zh) * 2008-05-23 2010-01-13 清华大学 基于ρ域的视频编码码率控制方法

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104756497B (zh) * 2012-10-17 2018-01-16 麦克赛尔株式会社 图像传送系统
CN104756497A (zh) * 2012-10-17 2015-07-01 日立麦克赛尔株式会社 图像传送系统
CN103517067A (zh) * 2012-12-14 2014-01-15 深圳百科信息技术有限公司 一种初始量化参数自适应调整方法及系统
CN103517067B (zh) * 2012-12-14 2017-04-19 深圳百科信息技术有限公司 一种初始量化参数自适应调整方法及系统
CN103079065B (zh) * 2012-12-27 2016-08-03 华为技术有限公司 一种视频数据处理方法以及装置
CN103079065A (zh) * 2012-12-27 2013-05-01 华为技术有限公司 一种视频数据处理方法以及装置
CN103974072A (zh) * 2013-01-29 2014-08-06 江山 视频解码中基于块压缩的帧的储存
CN103905843A (zh) * 2014-04-23 2014-07-02 无锡天脉聚源传媒科技有限公司 一种规避连续i帧的分布式音视频处理装置和处理方法
CN104780375A (zh) * 2015-03-30 2015-07-15 康佳集团股份有限公司 一种可伸缩视频编码的码率控制方法及系统
WO2017166487A1 (zh) * 2016-03-30 2017-10-05 乐视控股(北京)有限公司 实时码率调节方法、装置及服务端设备
WO2018133734A1 (en) * 2017-01-18 2018-07-26 SZ DJI Technology Co., Ltd. Rate control
US11159796B2 (en) 2017-01-18 2021-10-26 SZ DJI Technology Co., Ltd. Data transmission
WO2019127136A1 (zh) * 2017-12-27 2019-07-04 深圳市大疆创新科技有限公司 码率控制的方法与编码装置
WO2020088200A1 (zh) * 2018-10-31 2020-05-07 腾讯科技(深圳)有限公司 视频编码方法、装置、计算机可读存储介质和计算机设备
US11317097B2 (en) 2018-10-31 2022-04-26 Tencent Technology (Shenzhen) Company Limited Video encoding method and apparatus, computer-readable storage medium, and computer device
CN111193927A (zh) * 2018-11-14 2020-05-22 腾讯科技(深圳)有限公司 编码数据处理方法、装置、计算机设备和存储介质
US11431993B2 (en) 2018-11-14 2022-08-30 Tencent Technology (Shenzhen) Company Limited Method and apparatus for processing encoded data, computer device, and storage medium
CN111193927B (zh) * 2018-11-14 2022-09-23 腾讯科技(深圳)有限公司 编码数据处理方法、装置、计算机设备和存储介质
CN111866504A (zh) * 2020-07-17 2020-10-30 Oppo广东移动通信有限公司 一种编码方法、编码器及计算机可读存储介质

Also Published As

Publication number Publication date
CN102036062B (zh) 2012-12-19

Similar Documents

Publication Publication Date Title
CN102036062B (zh) 视频编码方法、装置及电子设备
CN101010964B (zh) 在可分级视频编码中的使用帧速率上变换技术的方法与设备
CN101743753B (zh) 利用视频编码中的帧复杂性、缓冲水平和内部帧位置的基于缓冲的速率控制
CN102067610B (zh) 基于视频编码的切片依赖性的码率控制模型适配
CN100358365C (zh) 网络视频编码器多维尺度码率控制方法
CN100358364C (zh) 基于h.264的精细颗粒可伸缩编码的码率控制方法
CN100352283C (zh) 用于对细粒度可扩缩编码的视频进行代码转换的方法
KR20070100081A (ko) 가중 평균합을 이용하여 fgs 계층을 인코딩 및디코딩하는 방법 및 장치
CN108769693A (zh) 质量感知视频优化中的宏块级自适应量化
EP2001242A2 (en) Error control system, method, encoder and decoder for video coding
CN101077011A (zh) 运用精细粒度可伸缩性技术进行数字视频实时代码转换的系统和方法
US20130251031A1 (en) Method for bit rate control within a scalable video coding system and system therefor
US9560386B2 (en) Pyramid vector quantization for video coding
CN101018333A (zh) 空域可分级信噪比精细可分级视频编码方法
CN101888542B (zh) 视频转码的帧级码率控制方法及转码器
JP2022500901A (ja) 符号化の対象となるデータ処理方法、装置、及びコンピュータプログラム
CN101115200B (zh) 一种有效的运动矢量可伸缩编码方法
CN107343202B (zh) 基于附加码率的无反馈分布式视频编解码方法
CN102420987A (zh) 基于分层b帧结构的码率控制的自适应比特分配方法
CN104125460A (zh) 用于控制视频比特率的方法和设备
GB2371434A (en) Encoding and transmitting video data
CN100448295C (zh) 一种低复杂度的积分码率控制方法
US20230239480A1 (en) Spatial Layer Rate Allocation
CN101977309B (zh) 码率控制方法及装置
KR20030060009A (ko) 사람의 시각적 특성을 고려한 적응적 부호화 방법 및 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant