CN101394554B - 一种自适应跳帧方法和装置 - Google Patents
一种自适应跳帧方法和装置 Download PDFInfo
- Publication number
- CN101394554B CN101394554B CN2008101688615A CN200810168861A CN101394554B CN 101394554 B CN101394554 B CN 101394554B CN 2008101688615 A CN2008101688615 A CN 2008101688615A CN 200810168861 A CN200810168861 A CN 200810168861A CN 101394554 B CN101394554 B CN 101394554B
- Authority
- CN
- China
- Prior art keywords
- frame
- motion vector
- mean value
- value
- skipping
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了本发明提供一种自适应跳帧方法和装置,本发明方法包括:运算当前帧的运动矢量的平均值;使用当前帧的运动矢量的平均值与运算出的相邻最近的至少一帧的平均运动矢量的平均值的比值,和当前帧的运动矢量的相对平均值与运算出的相邻最近的至少一帧的平均运动矢量的相对平均值的比值加权之和作为平滑因子;当判断出所述平滑因子的值在阈值范围之内,对所述当前帧做跳帧处理。本发明还提供一种自适应跳帧装置。本发明的方法和装置符合HVS视觉特性,保证终端用户有最佳的视觉质量,满足图像质量,且不会影响用户观看图像的视觉质量。
Description
技术领域
本发明涉及多媒体处理技术领域,特别是指视频编码中的一种自适应跳帧方法和装置。
背景技术
在多媒体数据处理中,码率控制是实时视频编码的关键技术,它决定着编码图像的质量;特别是在无线低变码率实时视频通信中,码率控制算法至关重要。
跳帧处理是码率控制的帧层控制技术,在变码率信道中对时间质量和空间选题进行平衡,最终得到最优解码视频质量。以往的视频主要在有限网络传输,带宽波动很小,基本是固定码率编码,很少有跳帧处理,故研究也不多。比较经典的跳帧方法是TMN8的码率控制中的跳帧方法,它完全根据编码缓冲区的充盈度来判断的。码率控制假设编码器端有个虚拟缓冲区,每编完一帧,就把所编比特流全部放到些缓冲区,接着进行下一帧编码。而缓冲区中的数据则按信道带宽要求发送到信道进行传输(如64k/s)。如果缓冲区容量无限大,这样就不可能出现溢出,但在实时视频应用中,缓冲区太大会带来相应的时延,也称编码缓冲区时延。为了保证实时视频通信,时延要求小于100ms,所以缓冲区容量必须小于所容忍时延内的信道传输的数据量(即带宽乘以时延),否则数据在缓冲区保存时间过长,就会超过最低时延要求,引起图像滞后。缓冲区的容量也不能太小,如果很小,数据经常溢出,虽然满足了实时,但是图像数据经常丢失,图像质量无法保证。保存在缓冲区中数据不能过大也不能过小。如果缓冲区上溢,则会丢掉这些数据引起解码错误;相反,如果缓冲区占用量过低就会浪费带宽。所以编码器要控制缓冲区不能既不能上溢也不能下溢,一般图像数据比较大,不容易出现下溢,主要是防止上溢,而且上溢产生解码错误会严重影响图像质量。
当缓冲区保存数据量很大,避免上溢的一个有效方法就是跳帧,只根据缓冲区状态进行跳帧的算法,是一种突然跳帧算法,存在明显的问题:它没有考虑所跳过图像本身特性,可能会跳过复杂图像或运动剧烈(视觉敏感性)的图像,导致运动平滑性和连续性下降,图像质量不一致,引起主观视觉质量严重下降。
发明内容
有鉴于此,本发明在于提供一种自适应跳帧方法和装置,以解决上述的跳帧方案存在的图像质量较差的问题。
为解决上述问题,本发明提供一种自适应跳帧的方法,包括:运算当前帧的运动矢量的平均值;使用当前帧的运动矢量的平均值与运算出的相邻最近的至少一帧的平均运动矢量的平均值的比值,和,当前帧的运动矢量的相对平均值与运算出的相邻最近的至少一帧的平均运动矢量的相对平均值的比值加权之和作为平滑因子;当判断出所述平滑因子的值在阈值范围之内,对所述当前帧做跳帧处理。
优选的,所述运算当前帧的运动矢量的平均值的过程包括:
运算出所有运动矢量的值,保存并排序所有宏块的运动矢量,选择出值最大的20%至30%个运动矢量值MVx、MVy,通过选择出的运动矢量值得出平均值MA。
优选的,得出平滑因子的过程采用如下公式运算:
MAcurr表示当前帧的平均运动矢量信息,即MA(motion average)值;ΔMAcurr表当前帧的MA相对前N帧MA的差的绝对值,N大于或等于1;MAavg和ΔMAavg分别表示前面多帧MA、ΔMA的平均值。
优选的,所述当判断出所述平滑因子的值在阈值范围之内,对所述当前帧作跳帧处理的过程包括:
如果判断出平滑因子的值在[0.9~1.1]之间,则作跳帧处理;或,如果判断出平滑因子的值在[0.7~0.9]或[1.1~1.3]之间,则判断缓冲区状态,如果缓冲区数据量在50%至70%之间,则对当前帧作跳帧处理。
本发明还提供一种自适应跳帧的装置,包括:
接收单元,用于各个数据帧;
连接所述接收单元的运算单元,包括:
平均值模块,用于运算各个帧的运动矢量的平均值;
平滑因子模块,用于使用当前帧的运动矢量的平均值与运算出的相邻最近的至少一帧的平均运动矢量的平均值的比值,和,当前帧的运动矢量的相对平均值与运算出的相邻最近的至少一帧的平均运动矢量的相对平均值的比值加权之和作为平滑因子;
连接所述运算单元的判断单元,用于当判断出所述平滑因子的值在阈值范围之内,触发跳帧单元;
连接所述判断单元的跳帧单元,用于对所述当前帧做跳帧处理。
优选的,所述平均值模块运算当前帧的运动矢量的平均值的过程包括:
保存并排序所有宏块的运动矢量,运算出所有运动矢量的值,选择出值最大的20%至30%个运动矢量值MVx、MVy,通过选择出的运动矢量值得出平均值MA。
优选的,所述判断单元判断所述平滑因子的值在阈值范围之内的过程包括:
判断平滑因子的值是否在[0.9~1.1]之间,或,如果判断出平滑因子的值在[0.7~0.9]或[1.1~1.3]之间,则判断缓冲区的数据量是否在50%至70%之间。
本发明的方法和装置符合HVS视觉特性,对低运动图像序列而言,HVS对空间细节比对时间细节更敏感;对高运动序列而言,HVS对时间细节更敏感。因此对低运动图像序列,可以跳过更多帧而不影响主观图像质量,节省比特数来提高空间质量;相应地对高运动序列,尽量减少跳帧,用降低空间质量获得较好的时间质量。当信道带宽特别低时,可同时满足时间连续性和空间质量时,根据人类视觉特点,合理减少视频时间分辨率来提高视频空间质量,以保证终端用户有最佳的视觉质量,满足图像质量,且不会影响用户观看图像的视觉质量。
附图说明
图1是本发明方法实施例的流程图;
图2是本发明装置实施例的结构图。
具体实施方式
为清楚说明本发明中的方案,下面给出优选的实施例并结合附图详细说明。
参见图1,本发明实施例中的方法包括:
步骤11:运算当前帧的运动矢量的平均值;
运算平均值时,先运算出所有运动矢量的值,保存并排序所有宏块的运动矢量,即得MAx和MAy,在里面选择出值最大的20%至30%个运动矢量值MVx、MVy,通过选择出的运动矢量值得出平均值MA;对于INTRA块的运动矢量值,因为只有运动估计匹配不到合适块的宏才作INTRA模型编码,所以可以认为其运动矢量为运动估计范围的最大值,将最大值作为运动矢量值。
步骤12:使用当前帧的运动矢量的平均值与运算出的相邻最近的至少一帧的平均运动矢量的平均值的比值,和,当前帧的运动矢量的相对平均值与运算出的相邻最近的至少一帧的平均运动矢量的相对平均值的比值加权之和作为平滑因子;
平滑因子的计算过程可参见以下公式:
运动平滑因子用MI表示,即:
MAcurr表示当前帧的平均运动矢量信息即MA(motion average)值;ΔMAcurr表当前帧的MA相对前一帧MA的差的绝对值;MAavg和ΔMAavg分别表示前面多帧MA、ΔMA的平均值,所有变量都是正数。采用滑动窗口加权平均法求得MAavg和ΔMAavg,滑动窗口大小决定***对运动反映的快慢,可以自由选择,一般为1-5帧。
步骤13:当判断出所述平滑因子的值在阈值范围之内,对所述当前帧跳帧处理。
为了得到MI的阈值,对6个序列进行了测试,其中滑动窗口大小取值为2,结果表明:前后帧图像越相似,其变化也越小,相对变化也小时,则MI的值就越接近1。从实验中可见,运动很平缓的图像,也是MI值较小的图像,这和我们主观观测的结果也滑是一致的。因此定义当MI在0.9到1之间时,为平缓运动可以主动跳帧;当MI在0.7到1.3之间时,结合缓冲区考虑跳帧,这样不管图像序列本身是大运动或是小运动,其跳帧是基于相对运动的,跳帧比例合理。如表1所示,测试的6个序列各103帧中,X、Y两个方向的MA都在0.7到1.3之间的比例约为10%-20%,而整个序列为大运动的foreman和整个序列都是平滑运动Claire的比例最少,这样就不会对本身都是大运动图像和本身就平滑运动序列进行不必要的跳帧。测试结果正符合我们的预想:对大运动图像序列中不影响主观质量的平滑图像帧不编码,作跳帧处理,以节省比特数给大运动的图像,而其在解码端由前一帧图像表示,基本不影响主观视觉感受。
图像序列 | MA在0.7-1.3间的帧数 | MA在0.7-1.3的比例 |
tempete | 17 | 16.5 |
claire | 10 | 9.7% |
mobile | 22 | 21.3% |
paris | 21 | 20.3% |
suize | 14 | 13.4% |
foreman | 11 | 10.6% |
表1
通过运算出的MI值大小判断是否平滑运动图像,如果判断出MI的值在[0.9~1.1]之间,则作跳帧处理,平滑运动图像;如果MI的值在[0.7~0.9]或[1.1~1.3]之间,则判断缓冲区状态,如果缓冲区数据量在50%至70%之间,则平滑运动图像,对当前帧作跳帧处理。
上面详细描述了本发明的方法,下面结合图2详细说明本发明的装置实施例。参见图2,包括:
接收单元,用于各个数据帧;
连接所述接收单元的运算单元,包括:
平均值模块,用于运算各个帧的运动矢量的平均值;
平滑因子模块,用于使用当前帧的运动矢量的平均值与运算出的相邻最近的至少一帧的平均运动矢量的平均值的比值,和,当前帧的运动矢量的相对平均值与运算出的相邻最近的至少一帧的平均运动矢量的相对平均值的比值加权之和作为平滑因子;
连接所述运算单元的判断单元,用于当判断出所述平滑因子的值在阈值范围之内,触发跳帧单元;
连接所述判断单元的跳帧单元,用于对所述当前帧做跳帧处理。
优选的,所述平均值模块运算当前帧的运动矢量的平均值的过程包括:
保存并排序所有宏块的运动矢量,运算出所有运动矢量的值,选择出值最大的20%至30%个运动矢量值MVx、MVy,通过选择出的运动矢量值得出平均值MA。
优选的,所述判断单元判断所述平滑因子的值在阈值范围之内的过程包括:
判断平滑因子的值是否在[0.9~1.1]之间,或,如果判断出平滑因子的值在[0.7~0.9]或[1.1~1.3]之间,则判断缓冲区的数据量是否在50%至70%之间。
本发明的方法和装置符合HVS视觉特性,对低运动图像序列而言,HVS对空间细节比对时间细节更敏感;对高运动序列而言,HVS对时间细节更敏感。因此对低运动图像序列,可以跳过更多帧而不影响主观图像质量,节省比特数来提高空间质量;相应地对高运动序列,尽量减少跳帧,用降低空间质量获得较好的时间质量。当信道带宽特别低时,不能同时满足时间连续性和空间质量时,需要在时间连续性和空间质量间进行权衡。根据HVS,连续的空间质量很差的图像让人眼觉得很不舒服,不如牺牲连续性来获得图像的清晰度对于运动特别平缓的图像,采取提前跳帧,因为降低其帧率基本不影响主观视频质量,以留更多比特给运动剧烈的图像,获得更好的主观视觉质量。这样在带宽条件有限的情况下,根据人类视觉特点,通过合理减少视频时间分辨率来提高视频空间质量,以保证终端用户有最佳的视觉质量。本发明可实现基于HVS特性实现跳帧,满足图像质量,且不会影响用户观看图像的视觉质量。
对于本发明各个实施例中所阐述的方法和装置,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种自适应跳帧的方法,其特征在于,包括:运算当前帧的运动矢量的平均值;使用当前帧的运动矢量的平均值与运算出的相邻至少一帧的平均运动矢量的平均值的比值,和,当前帧的运动矢量的相对平均值与运算出的相邻至少一帧的平均运动矢量的相对平均值的比值加权之和作为平滑因子,得出平滑因子的过程采用如下公式运算:
MAcurr表示当前帧的平均运动矢量信息,即MA(motion average)值;ΔMAcurr表当前帧的MA相对前N帧MA的差的绝对值的平均值,N大于或等于1;MAavg和ΔMAavg分别表示前面多帧MA、ΔMA的平均值;当判断出所述平滑因子的值在阈值范围[0.9~1.1],或者,在阈值范围[0.7~0.9]或[1.1~1.3]、且缓冲区数据量在50%至70%之间时,对所述当前帧做跳帧处理。
2.根据权利要求1所述的方法,其特征在于,所述运算当前帧的运动矢量的平均值的过程包括:
运算出所有运动矢量的值,保存并排序所有宏块的运动矢量,选择出值最大的20%至30%个运动矢量值MVx、MVy,通过选择出的运动矢量值得出平均值MA。
3.一种自适应跳帧的装置,其特征在于,包括:
接收单元,用于接收各个数据帧的运动矢量;
连接所述接收单元的运算单元,包括:
平均值模块,用于运算各个帧的运动矢量的平均值;
平滑因子模块,用于使用当前帧的运动矢量的平均值与运算出的相邻至少一帧的平均运动矢量的平均值的比值,和,当前帧的运动矢量的相对平均值与运算出的相邻至少一帧的平均运动矢量的相对平均值的比值加权之和作为平滑因子,得出平滑因子的过程采用如下公式运算:
MAcurr表示当前帧的平均运动矢量信息,即MA(motion average)值;ΔMAcurr表当前帧的MA相对前N帧MA的差的绝对值的平均值,N大于或等于1;MAavg和ΔMAavg分别表示前面多帧MA、ΔMA的平均值;
连接所述运算单元的判断单元,用于当判断出所述平滑因子的值在阈值范围[0.9~1.1],或者,在阈值范围[0.7~0.9]或[1.1~1.3]、且缓冲区数据量在50%至70%之间时,触发跳帧单元;
连接所述判断单元的跳帧单元,用于对所述当前帧做跳帧处理。
4.根据权利要求3所述的装置,其特征在于,所述平均值模块运算当前帧的运动矢量的平均值的过程包括:
运算出所有运动矢量的值,保存并排序所有宏块的运动矢量,选择出值最大的20%至30%个运动矢量值MVx、MVy,通过选择出的运动矢量值得出平均值MA。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101688615A CN101394554B (zh) | 2008-09-28 | 2008-09-28 | 一种自适应跳帧方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101688615A CN101394554B (zh) | 2008-09-28 | 2008-09-28 | 一种自适应跳帧方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101394554A CN101394554A (zh) | 2009-03-25 |
CN101394554B true CN101394554B (zh) | 2010-06-09 |
Family
ID=40494587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101688615A Expired - Fee Related CN101394554B (zh) | 2008-09-28 | 2008-09-28 | 一种自适应跳帧方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101394554B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103051829B (zh) * | 2012-12-10 | 2016-12-21 | 天津天地伟业数码科技有限公司 | 基于fpga平台的原始图像数据降噪***及降噪方法 |
CN110113602A (zh) * | 2019-04-22 | 2019-08-09 | 西安电子科技大学 | 一种h.264码率控制跳帧优化方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5654761A (en) * | 1995-01-09 | 1997-08-05 | Daewoo Electronics Co, Ltd | Image processing system using pixel-by-pixel motion estimation and frame decimation |
CN1588450A (zh) * | 2004-07-08 | 2005-03-02 | 上海大学 | 基于区域多重选择的视频运动对象分割提取方法 |
EP1662794A1 (en) * | 2003-09-02 | 2006-05-31 | Sony Corporation | Video encoding device, video encoding control method, and video encoding control program |
CN101164345A (zh) * | 2005-03-01 | 2008-04-16 | 高通股份有限公司 | 用于速率受控视频编码的自适应跳帧技术 |
-
2008
- 2008-09-28 CN CN2008101688615A patent/CN101394554B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5654761A (en) * | 1995-01-09 | 1997-08-05 | Daewoo Electronics Co, Ltd | Image processing system using pixel-by-pixel motion estimation and frame decimation |
EP1662794A1 (en) * | 2003-09-02 | 2006-05-31 | Sony Corporation | Video encoding device, video encoding control method, and video encoding control program |
CN1588450A (zh) * | 2004-07-08 | 2005-03-02 | 上海大学 | 基于区域多重选择的视频运动对象分割提取方法 |
CN101164345A (zh) * | 2005-03-01 | 2008-04-16 | 高通股份有限公司 | 用于速率受控视频编码的自适应跳帧技术 |
Also Published As
Publication number | Publication date |
---|---|
CN101394554A (zh) | 2009-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109309834B (zh) | 基于卷积神经网络和hevc压缩域显著信息的视频压缩方法 | |
US5473377A (en) | Method for quantizing intra-block DC transform coefficients using the human visual characteristics | |
CN100571390C (zh) | 一种h264视频编码快速模式选择方法和装置 | |
CN108012163B (zh) | 视频编码的码率控制方法及装置 | |
EP2458863A3 (en) | Improved interpolation of compressed video frames | |
JPH10257489A (ja) | 映像符号化のためのビット発生量調節装置及び方法 | |
US20110075730A1 (en) | Row Evaluation Rate Control | |
JP2004248285A (ja) | 画像通話時における話者の映像の差動的符号化可能のビデオエンコーダ及びこれを利用したビデオ信号圧縮方法 | |
CN110996102B (zh) | 抑制p/b帧中帧内块呼吸效应的视频编码方法及装置 | |
CN103634606A (zh) | 视频编码方法和装置 | |
CN110312131B (zh) | 一种基于深度学习的内容自适应在线视频编码方法 | |
CN103533359A (zh) | 一种h.264码率控制方法 | |
CN100452878C (zh) | 一种视频编码中的运动图像处理方法 | |
EP4333433A1 (en) | Video coding method and apparatus, and electronic device | |
CN100384230C (zh) | 运动画面接收设备,发送设备及其解码和编码方法 | |
CN108989818A (zh) | 一种图像编码参数调整方法及装置 | |
CN101394554B (zh) | 一种自适应跳帧方法和装置 | |
CN108322740A (zh) | 一种编码复杂度可控的编码方法 | |
CN101489141B (zh) | 基于主观质量失真预测的自适应帧内宏块刷新方法 | |
WO2008079353A1 (en) | Scaling the complexity of video encoding | |
JP4341078B2 (ja) | 動画像情報の符号化装置 | |
US20050140781A1 (en) | Video coding method and apparatus thereof | |
CN114449281A (zh) | 一种基于场景变动的智能码率控制优化方法 | |
CN116827921A (zh) | 一种流媒体的音视频处理方法、装置及设备 | |
CN103096093A (zh) | 一种h.264视频p帧的差错掩盖方法 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100609 Termination date: 20130928 |