CN103220488B - 一种视频帧率上转换装置及方法 - Google Patents

一种视频帧率上转换装置及方法 Download PDF

Info

Publication number
CN103220488B
CN103220488B CN201310135376.9A CN201310135376A CN103220488B CN 103220488 B CN103220488 B CN 103220488B CN 201310135376 A CN201310135376 A CN 201310135376A CN 103220488 B CN103220488 B CN 103220488B
Authority
CN
China
Prior art keywords
frame
sad
block
estimation
value
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
CN201310135376.9A
Other languages
English (en)
Other versions
CN103220488A (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.)
Peking University
Original Assignee
Peking University
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 Peking University filed Critical Peking University
Priority to CN201310135376.9A priority Critical patent/CN103220488B/zh
Publication of CN103220488A publication Critical patent/CN103220488A/zh
Application granted granted Critical
Publication of CN103220488B publication Critical patent/CN103220488B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种视频帧率上转换装置及方法,所述装置包括输入/输出模块、运动估计模块、运动矢量中值滤波模块、重构模块、去块效应滤波模块、DDR及控制器模块、状态机控制模块等。该装置可以提升视频帧率,生成具有高质量的视频。所述方法包括如下步骤:对重构帧的前向帧和后向帧分别进行运动估计;依据运动估计得到的SAD值(差的绝对值之和)和当前块的阈值进行比较,从而采用多帧外推、直接内插或者进行可变块大小以及自适应阈值判决的运动估计方法;通过运动估计得到初始的运动矢量并更新当前图像块的阈值;使用基于时域和空域的中值滤波方法滤除估计错误的运动矢量;进行重构和去块效应滤波并输出。

Description

一种视频帧率上转换装置及方法
技术领域
本发明涉及数字视频处理技术领域,尤其涉及到基于可变块大小自适应阈值运动估计方法的帧率转换装置及其方法。
背景技术
视频帧率上转换作为一种数字视频预处理和后处理技术,在若干已知帧中间插入中间帧,实现将一个视频从较低的帧率转换到较高的帧率,在数字视频领域有着广泛的应用。
随着高清/超高清数字电视以及多媒体信息系统的发展,现有的视频节目源已经不能满足人们视对觉效果日益增高的需求,需要提高现有节目源的帧率来达到更优的视觉效果。
在视频和多媒体通信中,带宽资源受到限制。为了满足此类低带宽的应用,可以在编码端降低帧率,而在解码端采用帧率上转换方法恢复到原来的帧率,这样可以有效的减小传输带宽。
不同的视频格式之间帧率不同,如电影为24fps,PAL为25fps,NTSC为30fps,以及在高清中有720p50、720p60和1080p30等格式。在不同的视频之间进行格式转换,需要使用帧率转换技术。
视频在无线通信或者网络流媒体传输中,有可能发生丢帧或者误码现象。对于丢弃帧以及由误码而产生的错误帧,在接收端采用帧率转换技术重构出来,是一种行之有效的方法。
常用的帧率转换有非运动估计方法、基于运动估计的方法以及基于三维时空域统计模型的方法。非运动估计方法比如帧复制和帧平均,算法简单,易于实现,但是对于运动剧烈的视频,重构帧中有抖动或者模糊现象,严重影响了视频质量。基于运动估计的方法运算适中,复杂度适中,能较好的重构出内插帧。基于三维时空域统计模型的方法主要对视频序列本身建模,借鉴错误隐藏的相关技术,利用已知的像素对将要差值的像素进行估计,从而获取内插帧;但这种算法计算量较大,实用性受到一定限制。
在目前使用的基于运动估计的帧率上转换方法中,重构帧由前后帧内插而得出,图像质量主要取决于运动矢量的准确性,因此运动矢量估计需要尽可能精确。运动块大小的选择非常关键:如果图像块过大,则容易把运动物体和相对静止的背景包括在内;如果图像块过小,则容易产生匹配错误。本发明提供了基于可变块大小的自适应阈值的运动估计方法,对于图像块大小的分割从大到小逐步求精,直至搜索到符合要求的匹配块。同时针对运动比较剧烈的序列,提供了多帧外推的方法,从而避免直接使用内插时,运动搜索无法找到被运动物体覆盖的背景的情形。在经过运动估计得到初始的运动矢量之后,需要对运动矢量进行滤波处理。本发明提供了中值滤波方法,对运动矢量的水平和垂直方向分别进行中值滤波,得到的运动矢量作为最终的运动矢量用于重构出内插帧,最后对内插帧进行去块效应滤波,得到更优的视觉效果。
发明内容
本发明的目的在于克服现有帧率上转换方法的不足,提供了一种更优的帧率上转换装置及方法。在不显著增加运算复杂度的同时,尽量提高运动估计的精确性以及重构图像的视频质量。
为了解决上述问题,本发明的方法及其装置包括:
一种视频帧率上转换装置,所述装置由依次连接的DDR存储器、DDR控制器、Cache模块、运动估计模块、运动矢量中值滤波模块、帧重构模块、去块效应模块、状态机控制器模块以及输入/输出模块组成;其中,所述输入/输出模块为满足SMPTE 274/296格式的视频,输入模块解析视频序列,得到行同步和场同步信号并发送给状态机控制器,并将解析得到的视频数据存入DDR中;所述的DDR存储器,存储若干帧由SMPTE274/296解析后的YUV422视频数据;存储图像块的运动矢量以用于基于时域的运动矢量中值滤波;存储重构帧视频数据,输出模块根据需要,从DDR存储器中读取解析的和重构的视频数据用于输出;所述的Cache模块存储解析后的视频数据,运动估计模块在运动搜索时,通过访问Cache,能够有效地减小对DDR的带宽需求,同时Cache模块也缓存运动矢量信息,用于运动矢量中值滤波模块读取运动矢量信息以及存储滤波之后的运动矢量。
一种视频帧率上转换方法,包括使用所述的装置,包括如下步骤:
对重构帧的前向帧和后向帧分别进行运动估计;
依据运动估计得到的SAD值即差的绝对值之和,与当前块的阈值进行比较,从而采用多帧外推、直接内插或者进行可变块大小以及自适应阈值判决的运动估计方法;
通过运动估计得到初始的运动矢量并更新当前图像块的阈值;
使用基于时域和空域的中值滤波方法滤除估计错误的运动矢量;
进行重构和去块效应滤波并输出。
其中,所述的运动估计方法,以重构帧中需要重构的图像块坐标为基准,分别选取前向帧和后向帧进行运动估计,得到SAD值以及相应的匹配块,并将得到的运动矢量作为待插图像块的运动矢量。
其中,依据运动估计得到的SAD值和当前块进行比较,取前向帧得到的SAD值以及后向帧得到的SAD值分别和阈值进行比较;如果前向帧和后向帧的SAD值都大于当前块的阈值,则进行多帧外推法;如果前向帧和后向帧的SAD值都小于当前块的阈值,则进行直接内插法;如果前向帧的SAD值大于当前块的阈值而后向帧的SAD值小于当前块的阈值,则采用基于可变块大小自适应阈值的运动估计方法,将后向帧作为基准,在前向帧中搜索匹配块;如果前向帧的SAD值小于当前块的阈值而后向帧的SAD值大于当前块的阈值,则采用基于可变块大小自适应阈值的运动估计方法,将前向帧作为基准,在后向帧中搜索匹配块。
其中,所述运动估计的步骤包括,
对于重构帧Ft,选择一个图像块Bt,对重构帧的前一帧Ft-1和后一帧Ft+1中相同的位置分别选择一个图像块Bt-1和Bt+1;以Ft-1中的Bt-1为基准在Ft+1中搜索匹配块,得到Bt-1和匹配块之间像素值差的绝对值之和SADt-1和运动矢量MVt-1;以Ft+1中的Bt+1为基准在Ft-1中搜索匹配块,得到Bt+1和匹配块之前像素值差的绝对值之和SADt+1和运动矢量MVt+1;比较SADt-1和SADt+1的大小,如果SADt-1≤SADt+1,则使用前一帧的运动矢量MVt-1作为重构帧的运动矢量MVt,反之则使用后一帧的运动矢量MVt+1作为重构帧的运动矢量MVt
其中,所述的多帧外推法,根据SAD和阈值之间的关系来决定是否采用多帧外推以及使用前向帧或者后向帧,当SADt-1和SADt+1都大于阈值,则有图像背景被运动物体覆盖,选择多帧外推的方法重构被覆盖部分;当SADt-1≤SADt+1,则使用Ft-3和Ft-1来外推;否则使用Ft+1和Ft+3来外推。
其中,所述的直接内插法,进行16×16运动估计后立即终止对当前块的运动估计,不再减小图像块的尺寸,不更新阈值,直接使用16×16的块进行重构。
其中,所述的自适应可变块大小的运动估计方法,当采用可变块大小运动估计时,首先对16×16的图像块进行运动估计,当SAD值大于阈值的时候,减小图像块的大小,进行8×16的图像块运动估计;当其SAD值大于阈值,则进行16×8的图像块运动估计;每次运动估计之后,都将得到的SAD值和相对应的阈值进行比较,图像块大小依次为16×16、8×16、16×8、8×8、4×8、8×4以及4×4。
其中,所述的自适应阈值方法,对于初始的16×16图像块,其TH16x16为一个经验阈值,当进行8×16可变块大小运动估计时,TH8x16为TH16x16/2和8×16运动估计的SAD中的最小值,即
TH8x16=min(1/2*TH16x16,SAD8x16),
其中min为取最小数操作;
对于16×8、8×8、4×8、8×4和4×4,有
TH16x8=min(1/2*TH16x16,SAD16x8)
TH8x8=min(1/2*min(TH8x16,TH16x8),SAD8x8)
TH4x8=min(1/2*TH8x8,SAD4x8)
TH8x4=min(1/2*TH8x8,SAD8x4)
TH4x4=min(1/2*min(TH4x8,TH8x4),SAD4x4)。
其中,所述的可变块大小自适应阈值的运动估计方法采用自适应的运动估计终止方法,当运动估计得到的SAD值小于相对应块的阈值时,则立即终止运动估计;当每次可变块大小运动估计得到的SAD值都不小于阈值时,则进行到4×4运动估计之后,自动终止运动估计。
其中,所述的基于时域和空域的运动矢量中值滤波方法,对于采用可变块大小自适应阈值的运动估计方法,在当前块的上下左右块都运动估计结束之后,选取当前块以及上下左右四个图像块的运动矢量做中值滤波;对于直接内推和多帧外插方法,则还增加前向帧和后向帧中同样坐标的图像块的运动矢量进行中值滤波;对运动矢量的水平方向分量和垂直方向分量分别进行滤波。
其中,所述的去块效应滤波中系数的选择,对相邻图像块像素值之差和阈值进行比较,当大于阈值,则认为处于不同物体或者为物体边缘或者纹理部分,不做平滑处理;如果小于阈值,则认为是同一物体上的像素值,采用去块效应滤波。
其中,所述的重构方法,当采用直接内插法时,由前后帧直接重构得出;当进行倍频时,前向帧和后向帧中的系数均为0.5;当采用多帧外推法时,根据时间轴关系的远近,系数和时间轴距离成正比,因此系数分别为0.25和0.75;当采用可变块大小自适应阈值滤波方法时,前向帧和后向帧的系数都为0.5。
其中,所述的多帧外推方法,用于解决图像块的遮挡和显露部分的问题,当前向帧的背景在后向帧中被运动物体覆盖时,则前向帧无法在后向帧中搜索到正确的匹配块,此时得到的SAD值会大于阈值,则使用前向帧以及前向帧的前向帧来进行运动估计和匹配,从而搜索到背景部分,从而在内插帧中重构出背景部分。
其中,所述的运动估计,只针对像素的亮度值做SAD值匹配,像素的色度值使用对应图像块的运动矢量进行重构。
当搜索终止之后,需要对运动矢量进行滤波,从而滤除错误的运动矢量。本发明采用中值滤波方法,结合当前块周围的运动矢量、前一帧和后一帧对应位置的运动矢量来进行中值滤波。中值滤波对水平方向和垂直方向分别进行。
使用经过滤波之后的运动矢量进行重构。对应外推和内插法重构时,采用不同的加权系数。其加权系数的大小取决于重构帧到参考帧的时间轴上的距离。
本发明对重构帧进行去块效应滤波。在滤波时,先判定相邻块像素的差值,从而决定采用是否采用模糊滤波。
有益效果
本发明根据视频序列运动情况,采用自适应块大小动估计方法,从而避免图像块划分得过大或者过小;采用自适应阈值的方法,既能提高运动矢量的精度,也能尽快终止搜索;采用多帧外推和直接内插相结合的方式,在直接内插失效时,多帧外推方法能较为有效的内插出被运动物体覆盖的背景图像;根据运动物体运动的惯性,利用前后帧结合周围块运动矢量进行中值滤波,能更加精确的得到运动矢量;去块效应滤波模块根据相邻快像素之间的差值决定是否采用去块效应滤波,从而避免滤除纹理和细节部分。
附图说明
图1描述视频帧率上转换系统流程图;
图2描述视频图像分割为16x16块之后进行运动估计而得到运动矢量;
图3描述了直接内推法和多帧外推法的基本原理;
图4描述了基于可变块大小自适应阈值的运动估计方法;
图5描述了中值滤波原理图;
图6描述了采用本发明的视频帧率上转换方法的实施实例。
具体实施方式
本发明中,采用基于可变块大小自适应阈值的运动估计方法得到运动矢量,并通过中值滤波滤除错误的运动矢量,然后使用运动矢量对内插帧进行重构,最后通过去块效应对重构图像进行滤波并输出。如图1所示,视频帧率上转换流程主要包括运动估计、运动矢量中值滤波、内插帧重构和去块效应滤波。
本发明装置仅对亮度块做运动估计搜索和运动矢量滤波,色度块采用亮度块的运动矢量。
在基于可变块大小自适应阈值的运动估计中,先对图像序列分为16x16的图像块。如图2所示,图像块Bt为需要重构的帧Ft中的一个16x16图像块。设图像块左上角像素的坐标为(x,y),在前一帧Ft-1和后一帧Ft+1中对应位置(x,y)找到16x16图像块
S101:对图像的对应位置的前一帧和后一帧进行运动估计。本发明中采用全搜索法,以为当前块,在Ft+1中搜索匹配块B't+1,得到运动矢量MVt-1以及差的绝对值之和SADt-1;以为当前块,在Ft-1中搜索匹配块B't-1,得到运动矢量MVt+1以及差的绝对值之和SADt+1
比较SADt-1、SADt+1和TH16x16的大小。设min(*)为取最小值操作,max(*)为取最大值操作,根据比较的结果进行不同的操作。
( 1 ) - - - m a x ( S A D t - 1 , S A D t + 1 ) ≤ T H 16 x 16 ( 2 ) - - - m i n ( SAD t - 1 , SAD t + 1 ) ≥ TH 16 x 16 ( 3 ) - - - m a x ( SAD t - 1 , SAD t + 1 ) ≥ TH 16 x 16 , m i n ( SAD t - 1 , SAD t + 1 ) ≤ TH 16 x 16
如果满足条件(1)max(SADt-1,SADt+1)≤TH16x16,则认为视频序列中的物体运动不剧烈,可将前一帧或者后一帧的运动矢量等价于内插帧的运动矢量,直接采用Ft-1和Ft+1进行直接内插。
如果满足条件(2)min(SADt-1,SADt+1)≥TH16x16,则认为运动剧烈,会产生较大的运动矢量,都搜索不到匹配块,并认为其为被运动物体遮挡的部分。采用前后两帧进行内插失效,则采样在前向或者后向各增加一帧方法,即外推方法。
如果满足条件(3)max(SADt-1,SADt+1)≥TH16x16且min(SADt-1,SADt+1)≤TH16x16,则进行可变块大小自适应阈值的运动搜索。
S103:当采用直接内插的方法时,需要先判断SADt-1和SADt+1的大小。若SADt-1≤SADt+1,则使用MVt-1作为Ft中Bt的运动矢量的估计值否则使用MVt+1作为Ft中Bt的运动矢量的估计值
如图2所示,在t-1时刻的视频帧Ft-1中的图像块Bt-1,在t+1时刻的视频帧Ft+1中的图像块Bt+1,则对于t时刻重构帧Ft中的图像块Bt可由Bt-1和Bt+1重构出。
考虑到时间轴上的距离关系,对于
当SADt-1≤SADt+1
mvx t ^ = 1 / 2 * mvx t - 1
mvy t ^ = 1 / 2 * mvy t - 1 .
否则,有
mvx t ^ = 1 / 2 * mvx t + 1
mvy t ^ = 1 / 2 * mvy t + 1 .
其中Bt-1的左上角像素坐标为Bt+1的左上角像素坐标为
S102:当使用多帧外推的方法时,需要先判断SADt-1和SADt+1的大小。若SADt-1≤SADt+1,则使用Ft-3和Ft-1作为Ft中Bt的运动矢量的估计值否则使用MVt+1作为Ft中Bt的运动矢量的估计值
如图3所示,对于运动块Bt-1遮挡的部分Ct-1,由于Ct+1找不到相应的搜索块,因此Ct需要由Ct+1和Ct+3来重构出。
考虑到相应的位置远近关系,设以Ct+1到Ct+3的运动矢量为MVt+1',表示为(mvxt+1',mvyt+1'),则位于Ct运动矢量表示为
mvx t ^ = 1 / 2 * mvx ′ t + 1 ,
m v y ^ t = 1 / 2 * mvy ′ t + 1 .
同理,对于At的运动矢量表示为
m v x ^ t = 1 / 2 * mvx ′ t - 1 ,
m v y ^ t = 1 / 2 * mvy ′ t - 1 .
S104:当使用可变块大小自适应阈值的方法时,在逐步减小搜索块大小的同时需要更新阈值。采用可变块大小运动估计,主要为了解决运动物体和背景同属于一个图像块的问题。逐步减小搜索块的大小,直至将运动物体和背景分离。随着图像块减小,图像块和匹配块的MAD(差的绝对值的平均值)逐渐减小,因此需要自适应更新阈值,来终止运动搜索。
在Ft-1和Ft+1中16x16运动估计之后,根据条件(1)、(2)和(3)进行SAD判决,只有符合条件(3)的块才进行如图4所示的可变块大小自适应阈值的运动估计方法。
首先采用8x16图像块运动估计,因为大多数情况下水平方向运动分量大于垂直方向运动分量。当重新计算得到的SAD都小于TH8x16时则终止搜索,否则,SAD大于TH8x16的图像块进行下一步搜索。如图4所示,依次进行16x16、8x16、16x8、8x8、4x8、8x4、4x4搜索。
本发明中,阈值自适应更新采用如下方法。TH16x16采用经验阈值,对于不同的序列,其经验阈值有所不同。对于一般的序列,可采用8000作为参考值。
设SAD16x16、SAD8x16、……SAD4x4分别为16x16,8x16,……,4x4搜索的SAD,则每次搜索完毕之后,其判断的阈值按如下方法更新:
TH8x16=min(1/2*TH16x16,SAD8x16)
TH16x8=min(1/2*TH16x16,SAD16x8)
TH8x8=min(1/2*min(TH8x16,TH16x8),SAD8x8)
TH4x8=min(1/2*TH8x8,SAD4x8)
TH8x4=min(1/2*TH8x8,SAD8x4)
TH4x4=min(1/2*min(TH4x8,TH8x4),SAD4x4)
本发明中,搜索终止按如下方法进行:
如果进行外推或者直接内插,则进行16x16运动估计之后则停止搜索。
如果在搜索过程中,所有块的阈值都小于其相应的阈值,则停止搜索。
如果所有的搜索都不满足上述停止搜索条件,则搜索到4x4之后自动终止。而此4x4图像块的运动矢量采用通过周围图像块的中值滤波方法产生。
S105:本发明中,对运动估计错误的运动矢量采用中值滤波方法来进一步提高运动矢量的精确性。如图5所示为一个16x16块,经过可变块大小运动估计之后得到的运动矢量图。左上角为8x8运动搜索,右半部分为16x8运动搜索,左下角为4个4x4运动搜索。对于图中运动矢量,可以发现4x4图像块中有一个运动矢量和其它运动矢量方向明显差异,需要通过中值滤波来滤除。
运动矢量中值滤波方法,采用其上、下、左、右和前一帧的运动矢量共计5个运动矢量作为当前帧的中值滤波矢量模版。对运动矢量的水平方向和垂直方向分别作中值滤波得到最终的MVt=(mvxt,mvyt),有
m v x = m e d i a n ( mvx u p ^ , mvx d o w n ^ , mvx l e f t ^ , mvx r i g h t ^ , mvx p r e v i o u s ^ )
m v y = m e d i a n ( mvy u p ^ , mvy d o w n ^ , mvy l e f t ^ , mvy r i g h t ^ , mvy p r e v i o u s ^ )
S106:在得到MVt之后,使用加权运动矢量的方法重构出中间帧。
当采用外推法时,对于Ct,可由Ct-1和Ct-3重构得出,其计算如下:
ft(x,y)=3/4*ft+1(x+mvxt+1,y+mvyt+1)+1/4*ft+3(x+3*mvxt+3,y+3*mvyt+3)。
同理,对于At,可由At-1和At-3重构得出,计算如下:
ft(x,y)=3/4*ft-1(x+mvxt-1,y+mvyt-1)+1/4*ft+3(x+3*mvxt-3,y+3*mvyt-3)
对于直接内插以及基于可变块自适应阈值运动估计方法,对于重构帧中的像素ft(x,y),有
f t ( x , y ) = λ t - 1 * f t - 1 ( x - 1 / 2 * mvx t ^ , y - 1 / 2 * mvy t ^ ) + λ t + 1 * f t + 1 ( x + 1 / 2 * mvx t ^ , y + 1 / 2 * mvy t ^ )
其中λt-1和λt+1为加权系数。对于二倍频的话,有λt-1=λt+1=1/2。对于三倍频,前后两个内插帧分别有
λt-1=2/3,λt+1=1/3和
λt-1=1/3,λt+1=2/3
S107:重构图像在输出前需要进行去块效应滤波。在运动估计时将图像划分为不同的图像块,对于非全局运动,则各个图像块的运动矢量不会完全相等,如果仅仅依靠运动矢量而重构,因此不可避免的产生块效应,严重影响视频质量。
去块效应滤波有可能将本属于不同纹理或者不同物体轮廓的细节模糊,因此在进行去块效应之前,先进行判定。若不同块之间相邻像素之间的差值小于某一个阈值,则认为这两个块的边界属于同一物体,进行平滑滤波。反之,当不同块之间相邻像素之间的差值大于某一个阈值,则认为这是物体边界或者纹理信息,予以保留,不进行平滑滤波。
图6给出了一种视频帧率上转换方法的实施实例。该系统由主要由输入模块、输出模块、DDR存储器、DDR控制器、Cache模块、运动估计模块、运动矢量中值滤波模块、内插/外推重构模块和去块效应滤波等模块组成。
在内插/外推重构时,需要通过时间轴上前后的帧来重构出中间帧,因此需要将视频数据存储起来。而视频数据量巨大,需要使用片外DDR存储器。DDR存储器存储YUV视频序列以及由运动估计得到的运动矢量,其中视频序列为YUV422格式,包括从原始视频序列中解析得到的视频数据以及从帧率转换模块得到的重构帧数据。
Finite State Machine有限状态机控制器用于控制整个系统的运行。
DDR控制器用于DDR和Cache模块、输入模块、输出模块等之间的交互。本装置中存在多个读写请求,DDR控制器对各模块的请求进行仲裁,从而决定优先响应哪些访问请求。
输入模块接收SMPTE274/SMPTE296格式的高清视频序列并进行解析。通过视频序列中的SAV/EAV而得到行同步信号Hsync和场同步信号Vsync信号,并发送给主控制器。输入模块同时还将解析后的YUV422视频数据通过DDR控制器中的端口0存入DDR存储器中。
Cache用于缓存DDR和运动估计、运动矢量中值滤波、重构、去块效应等之间的数据。在进行运动估计搜索时,数据的重用性非常高,若不进行缓存,则对存储器带宽的要求非常高。使用Cache可以有效的减缓DDR访问的带宽要求。Cache通过端口1、端口2、端口3以及端口4与DDR控制器进行交互。
ME运动估计模块用于对图像块进行运动估计,其方法按照基于可变块大小自适应阈值的方法进行。ME模块根据需要,读取Cache中的Yt-3,Yt-1,Yt+1和Yt+3,对亮度进行运动估计。在进行可变块大小运动估计时,用Buffer0缓存当前块的运动矢量信息。
MC运动补偿模块用于滤除错误的运动矢量。MC模块采用中值滤波方法,从Buffer1中得到当前块周围的运动矢量,并读取Cache中的MVt-3,MVt-1,MVt+1和MVt+3作为前向帧和后向帧相同位置的运动矢量,组成中值滤波模板进行中值滤波。
重构模块包括内插/外推(Interpolation/Extrapolation)模块和去块效应滤波(De-Block)模块。在内插/外推模块中,Buffer2用于存储Buffer1中经过中值滤波之后的运动矢量。内插/外推模通过端口3从DDR中读取中间帧的前后帧输入,然后根据Buffer2中的运动矢量,进行重构。重构之后的中间帧有块效应,因此通过De-Block模块进行滤波。滤波之后的中间帧通过端口4写入DDR中。
输出模块通过端口5从DDR中读取解析得到的视频数据以及重构滤波之后得到的视频数据,根据时序信息,将YUV视频序列封装为符合SMPTE274/SMPTE296的视频格式进行输出。

Claims (12)

1.一种视频帧率上转换装置,其特征在于:所述装置由依次连接的DDR存储器、DDR控制器、Cache模块、运动估计模块、运动矢量中值滤波模块、帧重构模块、去块效应模块、状态机控制器模块以及输入/输出模块组成;其中,所述输入/输出模块为满足SMPTE274/296格式的视频,输入模块解析视频序列,得到行同步和场同步信号并发送给状态机控制器,并将解析得到的视频数据存入DDR中;所述的DDR存储器,存储若干帧由SMPTE274/296解析后的YUV422视频数据;存储图像块的运动矢量以用于基于时域的运动矢量中值滤波;存储重构帧视频数据,输出模块根据需要,从DDR存储器中读取解析的和重构的视频数据用于输出;Cache用于缓存DDR和运动估计、运动矢量中值滤波、重构、去块效应之间的数据;Cache通过端口1、端口2、端口3以及端口4与DDR控制器进行交互,其中,DDR控制器用于DDR和Cache模块、输入模块、输出模块等之间的交互,本装置中存在多个读写请求,DDR控制器对各模块的请求进行仲裁,从而决定优先响应哪些访问请求。
2.一种视频帧率上转换方法,包括使用权利要求1所述的装置,其特征在于,包括如下步骤:
对重构帧的前向帧和后向帧分别进行运动估计;
依据运动估计得到的SAD值即差的绝对值之和,与当前块的阈值进行比较,从而采用多帧外推、直接内插或者进行可变块大小以及自适应阈值判决的运动估计方法;
通过运动估计得到初始的运动矢量并更新当前图像块的阈值;
使用基于时域和空域的中值滤波方法滤除估计错误的运动矢量;
进行重构和去块效应滤波并输出;所述的运动估计方法,以重构帧中需要重构的图像块坐标为基准,分别选取前向帧和后向帧进行运动估计,得到SAD值以及相应的匹配块,并将得到的运动矢量作为待插图像块的运动矢量;依据运动估计得到的SAD值和当前块进行比较,取前向帧得到的SAD值以及后向帧得到的SAD值分别和阈值进行比较;如果前向帧和后向帧的SAD值都大于当前块的阈值,则进行多帧外推法;如果前向帧和后向帧的SAD值都小于当前块的阈值,则进行直接内插法;如果前向帧的SAD值大于当前块的阈值而后向帧的SAD值小于当前块的阈值,则采用基于可变块大小自适应阈值的运动估计方法,将后向帧作为基准,在前向帧中搜索匹配块;如果前向帧的SAD值小于当前块的阈值而后向帧的SAD值大于当前块的阈值,则采用基于可变块大小自适应阈值的运动估计方法,将前向帧作为基准,在后向帧中搜索匹配块。
3.根据权利要求2所述的方法,其特征在于:所述的多帧外推法,根据SAD和阈值之间的关系来决定是否采用多帧外推以及使用前向帧或者后向帧,当SADt-1和SADt+1都大于阈值,则有图像背景被运动物体覆盖,选择多帧外推的方法重构被覆盖部分;当SADt-1≤SADt+1,则使用Ft-3和Ft-1来外推;否则使用Ft+1和Ft+3来外推。
4.根据权利要求2所述的方法,其特征在于:所述的直接内插法,进行16×16运动估计后立即终止对当前块的运动估计,不再减小图像块的尺寸,不更新阈值,直接使用16×16的块进行重构。
5.根据权利要求2所述的方法,其特征在于:所述的自适应可变块大小的运动估计方法,当采用可变块大小运动估计时,首先对16×16的图像块进行运动估计,当SAD值大于阈值的时候,减小图像块的大小,进行8×16的图像块运动估计;当其SAD值大于阈值,则进行16×8的图像块运动估计;每次运动估计之后,都将得到的SAD值和相对应的阈值进行比较,图像块大小依次为16×16、8×16、16×8、8×8、4×8、8×4以及4×4。
6.根据权利要求5所述的方法,其特征在于:所述的自适应阈值方法,对于初始的16×16图像块,其TH16x16为一个经验阈值,当进行8×16可变块大小运动估计时,TH8x16为TH16x16/2和8×16运动估计的SAD中的最小值,即
TH8x16=min(1/2*TH16x16,SAD8x16),
其中min为取最小数操作;
对于16×8、8×8、4×8、8×4和4×4,有
TH16x8=min(1/2*TH16x16,SAD16x8)
TH8x8=min(1/2*min(TH8x16,TH16x8),SAD8x8)
TH4x8=min(1/2*TH8x8,SAD4x8)
TH8x4=min(1/2*TH8x8,SAD8x4)
TH4x4=min(1/2*min(TH4x8,TH8x4),SAD4x4)。
7.根据权利要求2所述的方法,其特征在于:所述的可变块大小自适应阈值的运动估计方法采用自适应的运动估计终止方法,当运动估计得到的SAD值小于相对应块的阈值时,则立即终止运动估计;当每次可变块大小运动估计得到的SAD值都不小于阈值时,则进行到4×4运动估计之后,自动终止运动估计。
8.根据权利要求2所述的方法,其特征在于:所述的基于时域和空域的运动矢量中值滤波方法,对于采用可变块大小自适应阈值的运动估计方法,在当前块的上下左右块都运动估计结束之后,选取当前块以及上下左右四个图像块的运动矢量做中值滤波;对于直接内推和多帧外插方法,则还增加前向帧和后向帧中同样坐标的图像块的运动矢量进行中值滤波;对运动矢量的水平方向分量和垂直方向分量分别进行滤波。
9.根据权利要求2所述的方法,其特征在于:所述的去块效应滤波中系数的选择,对相邻图像块像素值之差和阈值进行比较,当大于阈值,则认为处于不同物体或者为物体边缘或者纹理部分,不做平滑处理;如果小于阈值,则认为是同一物体上的像素值,采用去块效应滤波。
10.根据权利要求2所述的方法,其特征在于:所述的重构方法,当采用直接内插法时,由前后帧直接重构得出;当进行倍频时,前向帧和后向帧中的系数均为0.5;当采用多帧外推法时,根据时间轴关系的远近,系数和时间轴距离成正比,因此系数分别为0.25和0.75;当采用可变块大小自适应阈值滤波方法时,前向帧和后向帧的系数都为0.5。
11.根据权利要求2所述的方法,其特征在于:所述的多帧外推方法,用于解决图像块的遮挡和显露部分的问题,当前向帧的背景在后向帧中被运动物体覆盖时,则前向帧无法在后向帧中搜索到正确的匹配块,此时得到的SAD值会大于阈值,则使用前向帧以及前向帧的前向帧来进行运动估计和匹配,从而搜索到背景部分,从而在内插帧中重构出背景部分。
12.根据权利要求2所述的方法,其特征在于:所述的运动估计,只针对像素的亮度值做SAD值匹配,像素的色度值使用对应图像块的运动矢量进行重构。
CN201310135376.9A 2013-04-18 2013-04-18 一种视频帧率上转换装置及方法 Active CN103220488B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310135376.9A CN103220488B (zh) 2013-04-18 2013-04-18 一种视频帧率上转换装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310135376.9A CN103220488B (zh) 2013-04-18 2013-04-18 一种视频帧率上转换装置及方法

Publications (2)

Publication Number Publication Date
CN103220488A CN103220488A (zh) 2013-07-24
CN103220488B true CN103220488B (zh) 2016-09-07

Family

ID=48817915

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310135376.9A Active CN103220488B (zh) 2013-04-18 2013-04-18 一种视频帧率上转换装置及方法

Country Status (1)

Country Link
CN (1) CN103220488B (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103702128B (zh) * 2013-12-24 2016-11-16 浙江工商大学 一种应用于视频帧速率上转换的插值帧生成方法
CN103929648B (zh) * 2014-03-27 2017-04-19 华为技术有限公司 一种帧率上采样中的运动估计方法和装置
CN104202603B (zh) * 2014-09-23 2017-05-24 浙江工商大学 一种应用于视频帧速率上转换的运动向量场生成方法
US20180109791A1 (en) * 2015-05-07 2018-04-19 Peking University Shenzhen Graduate School A method and a module for self-adaptive motion estimation
CN106101716B (zh) * 2016-07-11 2019-05-07 北京大学 一种视频帧率上变换方法
CN106210767B (zh) * 2016-08-11 2020-01-07 上海交通大学 一种智能提升运动流畅性的视频帧率上变换方法及系统
CN106331723B (zh) * 2016-08-18 2019-12-13 上海交通大学 一种基于运动区域分割的视频帧率上变换方法及系统
CN106375772B (zh) * 2016-08-29 2019-10-01 北京小米移动软件有限公司 视频播放方法及装置
CN106303546B (zh) * 2016-08-31 2019-05-14 四川长虹通信科技有限公司 一种帧速率上转换方法及系统
US10778999B2 (en) * 2016-09-30 2020-09-15 Qualcomm Incorporated Frame rate up-conversion coding mode with affine motion model
CN108156409B (zh) * 2016-12-06 2020-11-24 杭州海康威视数字技术股份有限公司 图像处理方法、设备和系统
CN107124611B (zh) * 2017-04-07 2020-06-05 上海顺久电子科技有限公司 一种视频帧率的转换方法和装置
CN107197281A (zh) * 2017-05-12 2017-09-22 武汉斗鱼网络科技有限公司 一种实现运动估计的方法及电子设备
CN107197299A (zh) * 2017-05-12 2017-09-22 武汉斗鱼网络科技有限公司 一种运动估计实现方法及电子设备
CN107172426B (zh) * 2017-06-23 2019-10-11 西安电子科技大学 基于双MIC的OpenCL并行帧率上转换方法
CN107613299A (zh) * 2017-09-29 2018-01-19 杭州电子科技大学 一种利用生成网络提高帧速率上转换效果的方法
CN108566551B (zh) * 2018-04-18 2020-11-27 上海顺久电子科技有限公司 一种图像处理方法及装置
CN110896476B (zh) * 2018-09-13 2021-11-26 阿里巴巴(中国)有限公司 图像处理方法、装置及存储介质
CN110896492B (zh) * 2018-09-13 2022-01-28 阿里巴巴(中国)有限公司 图像处理方法、装置及存储介质
WO2020056798A1 (zh) 2018-09-21 2020-03-26 华为技术有限公司 一种视频编解码的方法与装置
WO2020057648A1 (zh) * 2018-09-21 2020-03-26 华为技术有限公司 一种帧间预测方法和装置
CN110798630B (zh) * 2019-10-30 2020-12-29 北京市商汤科技开发有限公司 图像处理方法及装置、电子设备和存储介质
CN112203073B (zh) * 2020-12-07 2021-03-05 南京爱奇艺智能科技有限公司 一种适用于vr实时渲染应用的异步帧外插管线方法和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69727911D1 (de) * 1997-04-24 2004-04-08 St Microelectronics Srl Verfahren zur Erhöhung der bewegungsgeschätzten und bewegungskompensierten Bildfrequenz für Videoanwendungen, und Vorrichtung zur Verwendung eines solchen Verfahrens
KR100517504B1 (ko) * 2003-07-01 2005-09-28 삼성전자주식회사 B-픽처의 움직임 보상 모드 결정방법 및 장치
CN102123283B (zh) * 2011-03-11 2013-10-30 杭州海康威视数字技术股份有限公司 视频帧率转换中的插值帧获取方法及其装置

Also Published As

Publication number Publication date
CN103220488A (zh) 2013-07-24

Similar Documents

Publication Publication Date Title
CN103220488B (zh) 一种视频帧率上转换装置及方法
CN104219533B (zh) 一种双向运动估计方法和视频帧率上转换方法及系统
CN105100807B (zh) 一种基于运动矢量后处理的帧率提升方法
US6192079B1 (en) Method and apparatus for increasing video frame rate
CN104363451B (zh) 图像预测方法及相关装置
CN103460242B (zh) 信息处理装置、信息处理方法、以及位置信息的数据结构
US8559763B2 (en) Method and apparatus for motion-compensated interpolation (MCI) with conservative motion model
JP5535625B2 (ja) 適応的参照フィルタリングの方法及び装置
CN100527842C (zh) 基于背景的运动估计编码方法
CN106210767A (zh) 一种智能提升运动流畅性的视频帧率上变换方法及系统
US9148622B2 (en) Halo reduction in frame-rate-conversion using hybrid bi-directional motion vectors for occlusion/disocclusion detection
CN106331723B (zh) 一种基于运动区域分割的视频帧率上变换方法及系统
CN107623850B (zh) 一种基于时空相关性的快速屏幕内容编码方法
US10349058B2 (en) Method for predicting depth map coding distortion of two-dimensional free viewpoint video
WO2012043841A1 (en) Systems for producing a motion vector field
US20110206127A1 (en) Method and Apparatus of Frame Interpolation
CN108574844B (zh) 一种时空显著感知的多策略视频帧率提升方法
CN103051857B (zh) 基于运动补偿的1/4像素精度视频图像去隔行方法
CN109978774A (zh) 多帧连续等曝光图像的去噪融合方法及装置
Kaviani et al. Frame rate upconversion using optical flow and patch-based reconstruction
CN104602028A (zh) 一种立体视频b帧整帧丢失错误隐藏方法
KR20090041562A (ko) 프레임 보간 장치 및 그를 포함한 프레임 속도 상향 변환장치
CN109688407A (zh) 编码单元的参考块选择方法、装置、电子设备及存储介质
CN105872559A (zh) 一种基于色度混合匹配的帧率上转换方法
KR101402185B1 (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