图像处理方法和设备、记录介质、及程序的制作方法

文档序号:7634816阅读:159来源:国知局
专利名称:图像处理方法和设备、记录介质、及程序的制作方法
技术领域
本发明涉及图像处理方法和设备、记录介质、及程序。更具体地说,本发明涉及一种图像处理方法和设备、一种记录介质、及一种其中可增加运动向量检测的精度的程序。
背景技术
在用来转换图像帧频率的图像处理设备中,梯度法用作用来检测感兴趣块的运动向量的方法。尽管梯度法对于微小运动可产生高度精确的检测结果,但当检测实际运动图像的运动时,这样一种运动太大。因而,如在专利文件1中描述的那样,通过递归地进行梯度运算实现检测。
然而,简单递归地进行梯度运算在进行实时处理的情况下占用很长时间。因而,当进行梯度运算时,从在过去帧中检测到的周缘块运动向量、等等中,找到具有类似运动的初始向量。通过使用初始向量作为用于梯度法的初始值,减少进行梯度运算的次数。基于运动对象的空间或时间相关,从诸如在感兴趣块周围的周缘块中的运动向量之类的运动向量、和在具有相位与在以前帧中的感兴趣块相同的块中的运动向量,可找到初始向量。
日本未审查专利申请公报No.60-158786发明内容由本发明要解决的问题然而,在具有大运动量的对象中,或在不同运动对象之间的边界的附近的块中,在梯度法中用作初始向量的最佳运动向量(即,与计算运动类似的运动向量)不存在。因而,出现问题,因为选择虚假初始向量(具有不同运动的初始向量)。另外,这导致通过梯度法在以后阶段中运动向量检测的精度下降,因而引起图像变坏。
鉴于以上情况已经形成本发明,并且本发明的目的在于,能够实现增加在梯度法中运动向量检测精度的初始向量的选择。
用来解决问题的手段本发明的一种图像处理设备包括初始向量选择装置,用来把用来检测在帧中的感兴趣块中的运动向量所使用的初始向量,选作用于梯度法的初始值;向量检测装置,用来通过使用由初始向量选择装置选择的初始向量使用梯度法检测在感兴趣块中的运动向量;移动初始向量设置装置,用来把大小和取向与运动向量相同的运动向量,设置为在帧中的块中的移动初始向量,每个设置运动向量具有在帧中的块作为初始点,所述在帧中的块与在相对于该帧的过去帧中由运动向量检测装置检测的运动向量每个的终点处的最终块的位置相同;及候选向量设置装置,用来把由移动初始向量设置装置设置的移动初始向量,设置为由初始向量选择装置用来选择在感兴趣块中的初始向量的候选向量。
运动向量可以是在帧中具有感兴趣块作为初始点的运动向量,并且初始向量选择装置可以选择在帧中具有感兴趣块作为初始点的初始向量。
移动初始向量设置装置可以包括块运算装置,用来得出在帧中位置与在由运动向量检测装置检测的运动向量中每一个的终点处的最终块相同的块;可靠性比较装置,用来比较由运动向量检测装置检测的运动向量;及移动初始向量选择装置,用来把大小和取向与由可靠性比较装置确定为具有最高可靠性的运动向量相同的运动向量,选作在帧中的块中的移动初始向量。
在候选向量设置装置中,在感兴趣块中由移动初始向量设置装置设置的移动初始向量、和由运动向量检测装置检测的运动向量中,在帧或过去帧中检测的、在感兴趣块周围的预定周缘块中的运动向量,可以被设置为用来选择初始向量的候选向量。
图像处理设备还可以包括用来计算代表由候选向量设置装置设置的候选向量的可靠性的估计值的估计值运算装置,并且初始向量选择装置可以基于由估计值运算装置计算的估计值选择用于感兴趣块的初始向量。
图像处理设备还可以包括分配装置,用来把由运动向量检测装置检测的运动向量分配给在帧之间的内插帧中的象素;和象素值内插产生装置,用来基于由分配装置分配的运动向量进行内插,以在内插帧中产生象素值。
本发明的一种图像处理方法包括初始向量选择步骤,把用来检测在帧中的感兴趣块中的运动向量所使用的初始向量,选作用于梯度法的初始值;运动向量检测步骤,通过使用在初始向量选择步骤中选择的初始向量使用梯度法检测在感兴趣块中的运动向量;移动初始向量设置步骤,把大小和取向与运动向量相同的运动向量,设置为在帧中的块中的移动初始向量,每个设置运动向量具有在帧中的块作为初始点,所述在帧中的块与在相对于该帧的过去帧中在运动向量检测步骤中检测的运动向量中每个的终点处的最终块的位置相同;及候选向量设置步骤,用来把在移动初始向量设置步骤中设置的移动初始向量,设置为在初始向量选择步骤中用来选择在感兴趣块中的初始向量的候选向量。
记录在本发明的一种记录介质上的程序包括初始向量选择步骤,把用来检测在帧中的感兴趣块中的运动向量所使用的初始向量,选作用于梯度法的初始值;运动向量检测步骤,通过使用在初始向量选择步骤中选择的初始向量使用梯度法检测在感兴趣块中的运动向量;移动初始向量设置步骤,把大小和取向与运动向量相同的运动向量,设置为在帧中的块中的移动初始向量,每个设置运动向量具有在帧中的块作为初始点,所述在帧中的块与在相对于该帧的过去帧中在运动向量检测步骤中检测的运动向量中每个的终点处的最终块的位置相同;及候选向量设置步骤,用来把在移动初始向量设置步骤中设置的移动初始向量,设置为在初始向量选择步骤中用来选择在感兴趣块中的初始向量的候选向量。
本发明的一种程序包括初始向量选择步骤,把用来检测在帧中的感兴趣块中的运动向量所使用的初始向量,选作用于梯度法的初始值;运动向量检测步骤,通过使用在初始向量选择步骤中选择的初始向量使用梯度法检测在感兴趣块中的运动向量;移动初始向量设置步骤,把大小和取向与运动向量相同的运动向量,设置为在帧中的块中的移动初始向量,每个设置运动向量具有在帧中的块作为初始点,所述在帧中的块与在相对于该帧的过去帧中在运动向量检测步骤中检测的运动向量中每个的终点处的最终块的位置相同;及候选向量设置步骤,用来把在移动初始向量设置步骤中设置的移动初始向量,设置为在初始向量选择步骤中用来选择在感兴趣块中的初始向量的候选向量。
在本发明中,大小和取向与运动向量相同的运动向量设置为在帧中的块中的移动初始向量,每个设置运动向量具有在帧中的块作为初始点,所述在帧中的块与在相对于该帧的过去帧中在运动向量检测步骤中检测的运动向量每个的终点处的最终块的位置相同。设置移动初始向量被设置为在感兴趣块中的初始向量的候选向量。
优点根据本发明,可选择用来通过梯度法改进运动向量检测精度的初始向量。此外,根据本发明,具体地说,在具有运动的边界附近,可改进基于梯度法的运动向量精度。


图1是方块图,表示本发明一种信号处理设备的构造的例子。
图2是方块图,表示在图1中表示的信号处理设备的构造。
图3是本发明的处理原理的说明。
图4是本发明的处理的详细说明。
图5是在信号处理设备中使用的估计值的说明。
图6是流程图,表明在信号处理设备中的帧频转换过程。
图7是方块图,表示图像内插单元的构造。
图8是流程图,表明图像内插过程。
图9是方块图,表示向量检测单元的构造。
图10是在向量检测单元中使用的梯度法的说明。
图11是使用初始向量的递归梯度法的说明。
图12是流程图,表明运动向量检测过程。
图13是方块图,表示移动初始向量分配单元的构造。
图14是移动初始向量的概念的说明。
图15是移动初始向量的特别说明。
图16是移动初始向量的特别说明。
图17是用来确定移动初始向量的方法的说明。
图18是移动初始向量分配的例子的说明。
图19是在运动向量冲突的情况下移动初始向量的例子的说明。
图20是流程图,表明移动初始向量分配过程。
图21是方块图,表示移动初始向量选择单元的构造。
图22是初始向量周围的周缘区域的说明。
图23是用于初始向量的候选块的说明。
图24是流程图,表明初始向量选择过程。
图25是方块图,表示递归梯度运算单元的构造。
图26是方块图,表示有效象素确定单元的构造。
图27是方块图,表示梯度运算单元的构造。
图28是涉及运动向量的检测块和运算块的说明。
图29是在检测块中对象运动的说明。
图30是在具有对象的检测块中的亮度状态的说明,这些对象具有相同运动。
图31是在具有对象的检测块中的亮度状态的说明,这些对象具有不同运动。
图32是在象素-单位处理中的运算块的例子的说明。
图33是在图29中表示的检测块中的象素-单位处理的说明。
图34是流程图,表明递归梯度运算过程。
图35是流程图,表明有效象素确定过程。
图36是流程图,表明梯度运算过程。
图37是流程图,表明象素-单位递归梯度运算过程。
图38是方块图,表示向量分配单元的构造。
图39是在本发明中的四点内插过程的说明。
图40是向量分配过程的概括的说明。
图41是在运动向量与内插帧之间的交点的邻域中象素的例子的说明。
图42是一种用来估计用于分配的候选运动向量的方法的说明。
图43是在向量分配中四点内插的例子的说明。
图44是流程图,表明向量分配过程。
图45是流程图,表明象素位置运算过程。
图46是流程图,表明分配向量估计过程。
图47是方块图,表示分配补偿单元的构造。
图48是方块图,表示分配补偿单元的构造。
图49是分配补偿过程的原理的说明。
图50是运动相关的原理的说明。
图51是在感兴趣象素周围的周缘象素的构造的例子的说明。
图52是用于感兴趣象素的运动向量的补偿候选向量的例子的说明。
图53是用于感兴趣象素的运动向量的补偿候选向量的例子的说明。
图54是用于感兴趣象素的运动向量的补偿候选向量的例子的说明。
图55是补偿候选向量的估计的例子的说明。
图56是补偿候选向量的估计的例子的说明。
图57是补偿候选向量的估计的例子的说明。
图58是把补偿候选向量选作感兴趣象素的运动向量的例子的说明。
图59是流程图,表明分配补偿过程。
图60是流程图,表明向量补偿过程。
附图标记1 信号处理设备11 CPU12 ROM13 RAM31 磁盘32 光盘33 磁光盘34 半导体存储器51 帧存储器52 向量检测单元53 检测向量存储器54 向量分配单元55 分配向量存储器56 分析标志存储器57 分配补偿单元58 图像内插单元101初始向量选择单元103递归梯度运算单元104向量估计单元105移动初始向量分配单元106估计值存储器107移动初始向量存储器201分配位置计算单元202估计值比较单元203移动初始向量替换单元251候选向量位置运算单元
252检测向量获取单元253移动初始向量获取单元254偏移位置运算单元255估计值运算单元256估计值比较单元257最佳候选向量存储寄存器401模式选择单元402选择器403有效确定单元404梯度运算单元405延迟单元411时间象素差计算单元412象素差确定单元413有效象素计数器414梯度运算连续确定单元421时间象素差计算单元422象素差确定单元423水平和垂直象素差计算单元424梯度累积单元425向量计算单元701象素信息运算单元702估计值运算单元703感兴趣象素差运算单元704向量估计单元705向量选择单元711象素差确定单元712估计值确定单元801分配向量确定单元802向量补偿单元
811补偿单元812估计值运算单元821存储器具体实施方式
下面参照附图描述本发明的实施例。
图1是方块图,表示一种对其应用本发明的信号处理设备1的构造的例子。信号处理设备1由例如个人计算机等形成。在图1中,CPU(中央处理单元)11按照在ROM(只读存储器)12或存储单元18中存储的程序执行各种类型的处理。如果需要,则RAM(随机存取存储器)13存储由CPU 11执行的程序和数据。CPU 11、ROM 12、及RAM 13由总线14彼此连接。
CPU 11通过总线14连接到输入/输出接口15上。输入/输出接口15连接到包括键盘、鼠标、及麦克风的输入单元16上,并且连接到包括显示器和扬声器的输出单元17上。CPU 11响应从输入单元16输入的指令执行各种类型的处理。CPU 11把在处理中得到的图像、声频、等等输出到输出单元17。
连接到输入/输出接口15上的存储单元18由例如硬盘形成,并且存储待由CPU 11执行的程序、和各种类型的数据。通信单元19通过因特网或其它网络与外部设备通信。程序可以通过通信单元19获取,并且可以存储在存储单元18中。
当加载磁盘31、光盘32、磁光盘33、或半导体存储器34时,连接到输入/输出接口15上的驱动器20驱动加载的记录介质,并且获取记录在其上的程序和数据。如果需要,则获取的程序和数据被传输并且存储在存储单元18中。
作为信号处理设备1,例如可使用电视接收机或光盘播放器、或其信号处理单元。
图2是方块图,表示信号处理设备1。
信号处理设备1的功能可以由硬件或由软件实现。换句话说,在本说明书中的方块图可以当作硬件方块图或当作软件方块图。
在图2中表示的信号处理设备1接收基于具有24Hz帧频的顺次图像信号(下文称作“24P信号”)的图像。信号处理设备1把输入图像转换成基于具有60Hz帧频的顺次图像信号(下文称作“60P信号”)的图像,并且输出转换图像。换句话说,图2表示用作图像处理设备的信号处理设备1的构造。
输入到信号处理设备1的基于24P信号的图像供给到帧存储器51、向量检测单元52、向量分配单元54、分配补偿单元57、及图像内插单元58。帧存储器51以帧为单位存储输入图像。帧存储器51存储在时间t+1处的输入图像之前的在时间t处的帧。存储在帧存储器51中的、在时间t处的帧供给到向量检测单元52、向量分配单元54、分配补偿单元57、及图像内插单元58。在如下描述中,在帧存储器51中在时间t处的帧在下文称作“帧t”,并且输入图像的在时间t+1处的帧在下文称作“帧t+1”。
向量检测单元52检测在帧存储器51中在帧t处的感兴趣块与在输入图像的帧t+1中的对象块之间的运动向量,并且把检测到的运动向量存储在检测向量存储器53中。作为一种用来检测在以上两个帧之间的运动向量的方法,使用诸如梯度法或块匹配之类的方法。向量检测单元52的构造细节在以后描述。检测向量存储器53存储由向量检测单元52在帧t中检测的运动。
向量分配单元54把在24P信号帧t中检测到的运动向量分配给在分配向量存储器55中用于内插的60P-信号帧中的象素。在如下描述中,60P-信号帧也称作“内插帧”,以便与24P信号帧区分。向量分配单元54把在分配标志存储器56中的分配标志重写成一(真)。向量分配单元54的构造细节在以后描述。
分配向量存储器55以其中分配运动向量与内插帧的每个象素相关的形式存储由向量分配单元54分配的运动向量。分配标志存储器56,对于内插帧的每个象素,存储指示是否有分配运动向量的分配标志。例如,当分配标志是真(一)时,指示运动向量分配给对应象素。当分配标志是假(零)时,指示没有运动向量分配给对应象素。
通过参考在分配标志存储器56中的分配标志,分配补偿单元57,对于其中由向量分配单元54没有分配给运动向量的感兴趣象素,补偿在感兴趣象素周围的周缘象素的运动向量,并且把补偿象素分配给在分配向量存储器55中的内插帧。在这时,分配补偿单元57重写在分配给运动向量的感兴趣象素中的分配标志,使得它是一(真)。分配补偿单元57的构造细节在以后描述。
图像内插单元58通过使用分配给分配向量存储器55的内插帧的运动向量、和在帧t和下个帧t+1中的象素进行内插,以在内插帧中产生象素。图像内插单元58通过输出产生的内插帧、和如果需要则以后输出帧t+1,而把60P-信号图像输出到随后级(未表示)。在如下描述中,象素值在下文也称作“亮度”。
图3表明由本发明的信号处理设备1进行处理的原理。在图3中表示的例子中,虚线指示在时间t、t+1、及t+2处的24P信号帧,并且实线指示在时间t、t+0.4、t+0.8、t+1.2、t+1.6及t+2处产生的内插60P-信号帧。
一般地说,为了把24P信号转换成60P信号,要求5/2-倍帧。换句话说,由两个24P信号图像必须产生五个60P-信号图像。在这种情况下,产生的60P信号内插帧布置在其中在24P信号上的时间相位是0.0、0.4、0.8、1.2、及1.6的位置处,以便具有相等的帧间隔。在这些帧中,四个帧(在时间t+0.4、t+0.8、t+1.2、及t+1.6处的帧)(不包括在其中时间相位是0.0的时间t处的一个帧)是在24P信号上不存在的图像。因而,当输入24P-信号图像时,由在时间t和t+1处的两个帧产生四个内插帧。因此,信号处理设备1输出包括在时间t、t+0.4、t+0.8、t+1.2、及t+1.6处的五个帧的60P-信号图像。
如上所述,信号处理设备1执行用来把24P-信号图像转换到60P-信号图像的帧频转换。
在原理上,如上所述,由在时间t和t+1处的两个24P信号帧,产生在时间t、t+0.4、t+0.8、t+1.2、及t+1.6处的五个60P-信号帧。实际上,在图3中的例子中,基于在时间t和t+1处的两个24P信号帧,产生在时间t、t+0.4、及t+0.8处的60P-信号帧。基于在时间t+1和t+2处的两个24P信号帧,产生在时间t+1.2、t+1.6、及t+2处的60P-信号帧。
图4是本发明的处理的更具体说明。在图4中表示的例子中,粗箭头指示状态的变化,并且箭头T指示在状态81至85中时间过去的方向。状态81至85在概念上代表在到/从构成信号处理设备1的每个单元的输入/输出的模式中,在24P信号的时间t处的帧t中、在下个时间t+1处的帧t+1中、及在帧t与帧t+1之间,产生的60P信号内插帧F的状态。换句话说,实际上,不输入其中检测到由状态82所指示的运动向量的帧。帧和运动向量分离地输入。
状态81指示输入到向量检测单元52的24P信号帧t和t+1的每个状态。在状态81下在帧t中的黑点指示在帧t中的象素。向量检测单元52检测在状态81下在帧t中的象素可时间t+1处的下个帧中可运动到的位置,并且输出运动作为与象素相对应的运动向量,如在状态82下在帧t中表示的那样。作为一种用来检测在两个帧之间的运动向量的方法,使用块匹配、梯度法等等。当在这种情况下对于一个象素检测多个运动向量时,向量检测单元52得出运动向量的估计值(以后描述),并且基于估计值选择运动向量。
状态82代表输入到向量分配单元54的帧t和t+1的每个状态。在状态82下,来自在帧t中的象素的箭头指示由向量检测单元52检测的运动向量。
向量分配单元54把对于在帧t中的象素检测的运动向量延伸到下个帧t+1,并且得出在预定时间相位(例如,在图3中的t+0.4)中在内插帧F中运动向量通过的位置。这是因为,假定运动向量的运动在帧t与t+1之间是恒定的,运动向量通过内插帧F的点用作在内插帧F中的象素位置。因而,向量分配单元54把一个通过运动向量分配给在状态83下在内插帧F中的四个相邻象素。另外,在这时,可能有其中依据在内插帧F中的象素没有运动向量的情况,或其中多个运动向量将用作补偿候选的情况。在后一种情况下,类似于向量检测单元52,向量分配单元54得出运动向量的估计值,并且基于估计值选择待分配的运动向量。
状态83代表都输入到分配补偿单元57的帧t、帧t+1、及运动向量分配给的内插帧F的每个状态。在状态83下在内插帧F中,表示由向量分配单元54分配给运动向量的运动向量、和没有分配给运动向量的象素。
分配补偿单元57对于在状态83下没有运动向量分配给的一个象素,通过使用分配给周缘象素的运动向量而补偿,该周缘象素在没有运动向量分配给的象素的周围。这是因为,如果在感兴趣象素周围的相邻区具有类似运动的假设成立,则在感兴趣象素周围的周缘象素的运动向量、和在感兴趣象素中的运动向量具有类似性。这把精确到某种程度的运动向量提供给甚至没有运动向量分配给的象素,从而在状态84中,运动向量分配给在内插帧F中的所有象素。而且在这种情况下,有周缘象素的运动向量作为候选,分配补偿单元57与向量分配单元54相类似地得出估计值或运动向量,并且基于估计值选择待分配的运动向量。
状态84代表帧t、帧t+1、及内插帧F的每个状态,对于这些帧运动向量分配给所有象素。这些帧输入到图像内插单元58。基于分配给所有象素的运动向量,图像内插单元58确定在内插帧F中的象素和在两个帧t和t+1中的象素之间的位置关系。因而,通过使用分配给内插帧F和在帧t和t+1中的象素的运动向量,图像内插单元58进行内插以产生在内插帧F中的象素,如在状态85下在内插帧F中的黑点指示的那样。图像内插单元58通过输出产生的内插帧和以后输出帧t+1把60P-信号图像输出到随后级(未表示)。
其次,下面参照图5描述在本发明的信号处理设备1中使用的运动向量的估计值。
如参照图4描述的那样,在信号处理设备1的功能单元(向量检测单元52、向量分配单元54、及分配补偿单元57)中,选择对于在随后级中的处理是最佳的运动向量。在这种情况下,信号处理设备1的每一个把代表在块之间的相关值的DFD(位移帧差值)用作运动向量的估计值,这些块在两个帧中被移动感兴趣的向量值。
在图5中表示的例子表示两个块,就是说,在时间t处在帧t中在象素位置p周围的m-by-n块、和在象素位置p+v周围的m-by-n块,该象素位置p+v从在时间t+1处在帧t+1中的象素位置移动感兴趣的运动向量v的向量值。在两个块之间计算的位移帧差值DFDt(p)由如下表达式表达。
DFDt(p)=Σx,ymxn|Ft+1(px,y+v)-Ft(px,y)|---(1)]]>这里,Ft(p)代表在时间t处在象素位置p处的亮度,并且m×n代表用来得出位移帧差值的DFD运算范围(块)。位移帧差值代表在两个帧中在DFD运算范围(块)之间的相关值。因而,一般地说,位移帧差值越小,则在帧之间块的波形彼此重合得越多。因此,确定位移帧差值越小则运动向量v的可靠性越高。因而,位移帧差值用来从多个运动向量中选择最可能运动向量。
因此,在如下描述中,在信号处理设备1的功能单元(向量检测单元52、向量分配单元54、及分配补偿单元57)中,位移帧差值(下文也称作“估计值DFD”)用作选择运动向量时的估计值。
其次,下面参照在图6中表示的流程图,描述信号处理设备1的帧频转换过程。
在步骤S1中,输入图像在时间t+1处的帧t+1的象素值、和在帧存储器51中输入图像在时间t处在以前帧t中的象素值被输入到向量检测单元52。过程前进到步骤S2。在这时,输入图像在时间t+1处的帧t+1的象素值、和在帧存储器51中输入图像在时间t处在以前帧t中的象素值被输入到向量分配单元54、分配补偿单元57、及图像内插单元58。
在步骤S2中,向量检测单元52执行运动向量检测过程,并且前进到步骤S3。换句话说,向量检测单元52检测在帧存储器51中在帧t中感兴趣的块、与在是输入图像的下个帧t+1中的对象块之间的运动向量。向量检测单元52把检测的运动向量存储在检测向量存储器53中,并且前进到步骤S3。为了检测在两个帧之间的运动向量,使用梯度法、块匹配、等等。另外,当有候选运动向量时,得出运动向量的估计值DFD,并且检测基于得出的估计值DFD的高度可靠运动向量。换句话说,在这种情况下,在从其检测运动向量的感兴趣块中,选择和检测最可能运动向量。在步骤S2中的运动向量检测过程的细节在以后描述。
在步骤S3中,向量分配单元54执行向量分配过程,并且前进到步骤S4。明确地说,向量分配单元54把在帧t中得出的运动向量分配给在分配向量存储器55中经受内插的内插帧中的感兴趣象素,并且重写在分配标志存储器56中与具有分配运动向量的象素相对应的分配标志,从而它是一(真)。例如,是真的分配标志指示运动向量分配给对应象素,并且是假的分配标志指示运动向量不分配给对应象素。当每个象素具有多个候选运动向量时,对于运动向量得出估计值,并且分配基于估计值DFD的高度可靠运动向量。换句话说,在这种情况下,对于运动向量要分配给的感兴趣象素,选择和分配高度可靠的运动向量。在步骤S3中的向量分配过程的细节在以后描述。
在步骤S4中,分配补偿单元57执行分配补偿过程,并且前进到步骤S5。换句话说,在步骤S4中,通过参考在分配标志存储器56中的分配标志,分配补偿单元57,对于由向量分配单元54没有把运动向量分配给的感兴趣象素,补偿在感兴趣象素周围的周缘象素中的运动向量,并且把得到的象素分配给在分配向量存储器55中的内插帧。在这时,分配补偿单元57补偿运动向量,并且重写分配感兴趣象素的分配标志,从而它是一(真)。当感兴趣象素具有周缘象素的多个运动向量时,对于运动向量得出估计值DFD,并且分配基于得到的估计值DFD的高度可靠运动向量。换句话说,在这种情况下,对于运动向量要分配给的感兴趣象素,分配和选择最可能的运动向量。在步骤S4中的分配补偿过程的细节在以后描述。
在步骤S5中,图像内插单元58执行图像补偿过程。换句话说,在步骤S5中,图像内插单元58通过使用分配给在分配向量存储器55中的内插帧的运动向量、和在帧t和t+1中的象素进行补偿,以产生在内插帧中的象素值。过程前进到步骤S6。在步骤S5中图像补偿过程的细节在以后描述。在步骤S6中,图像内插单元58通过输出产生的内插帧、和如果需要则随后输出帧t+1,把60-P信号图像输出到随后级(未表示)。过程前进到步骤S7。
在步骤S7中,向量检测单元52确定是否已经完成对所有帧的处理。如果确定还没有完成对所有帧的处理,则过程返回到步骤S1,并且重复地进行随后步骤。如果在步骤S7中确定已经完成对所有帧的处理,则向量检测单元52完成帧频转换过程。
如上所述,本发明的信号处理设备1由24P-信号图像的帧检测运动向量,把检测的运动向量分配到在60P-信号帧中的象素,及基于分配的运动向量产生在60P-信号帧中的象素值。在这时,信号处理设备1基于在每次处理中的估计值DFD(位移帧差值)选择高度可靠的运动向量,并且把运动向量输出到随后级。因而,信号处理设备1可产生较高质量图像,因为诸如运动损失之类的缺陷被抑制。
其次,下面参照图7描述图像内插单元58的细节。
图7是方块图,表示图像内插单元58的构造。其构造表示在图7中的图像内插单元58,进行通过使用分配给在分配向量存储器55中的内插帧的运动向量、和在帧t和t+1中的象素进行内插以产生内插帧的象素的过程,并且输出60-P信号图像。
在图7中表示的例子中,在时间t处的帧t输入到空间滤波器92-1,而在时间t+1处的帧t+1输入到空间滤波器92-2和缓冲器95。
内插控制单元91选择在分配向量存储器55中在内插帧中的象素,并且基于分配给选择象素的运动向量,得出在内插帧中的象素与在两个帧t和t+1中的象素之间的位置关系(空间移动)。明确地说,内插控制单元91把在内插帧中的象素用作参考,并且由在帧t中与象素的运动向量相关的位置、和在帧t中与在内插帧中的象素相对应的位置,得出涉及两个帧的空间移动。内插控制单元91把得到的空间移动供给到空间滤波器92-1。类似地,内插控制单元91把在内插帧中的象素用作参考,并且由在帧t+1中与象素的运动向量相关的位置、和在帧t+1中与在内插帧中的象素相对应的位置,得出涉及两个帧的空间移动。内插控制单元91把得到的空间移动供给到空间滤波器92-2。
另外,基于在内插帧中预先设置的时间相位(时间),内插控制单元91得出帧t和t+1之间的内插权重,并且把得到的内插权重设置在乘法器93-1和93-2中。例如,当在内插帧中的时间在离帧t+1的时间t+1的距离为“k”处,并且在离帧t的时间t的距离为“1-k”处时,就是说,当内插帧在把时间t和t+1内分成“1-k”“k”的时间处产生时,内插控制单元91把“1-k”的内插权重设置在乘法器93-1中,并且把“k”的内插权重设置在乘法器93-2中。
空间滤波器92-1和92-2由例如立方滤波器等形成。基于输入的在帧t中的象素的象素值、和从内插控制单元91供给的空间移动,空间滤波器92-1得出在帧t中与在内插帧中的象素相对应的象素值,并且把得到的象素值输出到乘法器93-1。基于输入的在帧t+1中的象素的象素值、和从内插控制单元91供给的空间移动,空间滤波器92-2得出在帧t+1中与在内插帧中的象素相对应的象素值,并且把得到的象素值输出到乘法器93-2。
当在内插帧中的象素的位置不与在帧t或帧t+1中的象素的位置重合时,就是说,当内插帧的位置具有等于或小于在帧t或帧t+1中的象素值的分量时,通过使用在帧t或帧t+1中在内插帧中的象素周围的四个相邻象素的象素值,空间滤波器92-1或92-2得出到相邻象素的距离的反比之和,由此得出在帧中与在内插帧中的象素相对应的象素值。换句话说,基于到相邻象素的距离通过线性内插,得出等于或小于参考象素值的象素值。
乘法器93-1把从空间滤波器92-1输入的在帧t中的象素值乘以在内插控制单元91中设置的内插权重“1-k”,并且把加权象素值输出到加法器94。乘法器93-2把从空间滤波器92-2输入的在帧t+1中的象素值乘以在内插控制单元91中设置的内插权重“k”,并且把加权象素值输出到加法器94。
加法器94通过把从乘法器93-1输入的象素值和从乘法器93-2输入的象素值相加而产生在内插帧中的象素的象素值,并且把产生的在内插帧中的象素值输出到缓冲器95。缓冲器95缓冲输入帧t+1。缓冲器95输出产生的内插帧。随后,如果需要则通过输出缓冲帧t+1,基于预先设置的60P帧的时间相位(时间),缓冲器95把60P-信号图像输出到随后级(未表示)。
下面参照在图8中表示的流程图,描述由具有以上构造的图像内插单元58进行的图像内插过程的细节。
在步骤S51中,基于待处理的内插帧的时间相位,内插控制单元91得出在帧t和t+1之间内插帧的内插权重(例如“k”和“1-k”),并且把得到的内插权重设置在乘法器93-1和93-2中。过程前进到步骤S52。在步骤S52中,内插控制单元91选择在分配向量存储器55中在内插帧中的象素,并且前进到步骤S53。从在帧中的左上象素起按光栅扫描顺序选择在内插帧中的象素。
在步骤S53中,基于分配给选择象素的运动向量,内插控制单元91得出在内插帧中的象素与在两个帧t和t+1中的象素的每一个之间的位置关系(空间移动)。内插控制单元91把得到的空间移动供给到空间滤波器92-1和92-2,并且过程前进到步骤S54。明确地说,在步骤S53中,通过把在内插帧中的象素用作参考,由在帧t中与其运动向量相关的位置、和在帧t中与在内插帧中的象素相对应的象素的位置,内插控制单元91得出涉及两个帧的空间移动,并且把得到的空间移动供给到空间滤波器92-1。类似地,通过把在内插帧中的象素用作参考,由在帧t+1中与其运动向量相关的位置、和在帧t+1中与在内插帧中的象素相对应的象素的位置,内插控制单元91得出涉及两个帧的空间移动,并且把空间移动供给到空间滤波器92-2。
在时间t处在图像的帧t中的象素值输入到空间滤波器92-1,而在时间t+1处在图像的帧t+1中的象素值输入到空间滤波器92-2。在步骤S54中,基于在帧t和帧t+1中的象素的象素值、和从内插控制单元91供给的空间移动,空间滤波器92-1和92-2得出在帧中与在内插帧中的象素相对应的象素值,并且把得到的象素值输出到乘法器93-1和93-2。
在步骤S55中,乘法器93-1和93-2使用由内插控制单元91设置的权重加权在从乘法器93-1和93-2输入的在帧中的象素值,并且把加权象素值输出到加法器94。过程前进到步骤S56。明确地说,乘法器93-1把从空间滤波器92-1输入的在帧t中的象素值乘以由内插控制单元91设置的内插权重“1-k”,并且把加权象素值输出到加法器94。乘法器93-2把从空间滤波器92-2输入的在帧t+1中的象素值乘以由内插控制单元91设置的内插权重“k”,并且把加权象素值输出到加法器94。
在步骤S56中,加法器94通过把由乘法器93-1加权的象素值和由乘法器93-2加权的象素值相加而产生在内插帧中的象素的象素值。加法器94把产生的象素值输出到缓冲器95,并且过程前进到步骤S57。在步骤S57中,内插控制单元91确定是否已经完成对在内插帧中的所有象素的处理。如果内插控制单元91确定还没有完成对在内插帧中的所有象素的处理,则过程返回到步骤S52,并且重复地进行随后步骤。如果内插控制单元91确定已经完成对在内插帧中的所有象素的处理,则图像内插过程结束。
如上所述,基于分配给内插帧的运动向量,产生在内插帧中的象素的象素值。在以上描述的图6中的步骤S6中,缓冲器95输出内插帧,并且随后输出帧t+1,由此60P-信号图像输出到随后级(未表示)。因此,最可能运动向量分配给在在内插帧中的象素。因而,可产生高质量内插帧。
其次,下面描述向量检测单元52的构造的细节。
图9是方块图,表示向量检测单元52的构造。其构造表示在图9中的向量检测单元52通过使用输入图像在时间t处的帧t、输入图像在时间t+1处的帧t+1,检测在帧t中的运动向量。对于包括多个象素的每个预定块执行运动向量的这种检测。
由于检测过去运动向量的结果得到的高度可靠运动向量,作为用作用于在梯度法中的初始值,由初始向量选择单元101输出到用于每个预定块的递归梯度运算单元103。明确地说,初始向量选择单元101把在检测向量存储器53中存储的、在过去周缘块中得到的运动向量,和在移动初始向量存储器107中存储的移动初始向量,选作用于初始向量的候选向量。初始向量选择单元101通过使用帧t和帧t+1得出候选向量的估计值DFD,并且基于得到的估计值DFD从候选向量中选择最可靠向量。初始向量选择单元101输出选择的向量作为初始向量V0。初始向量选择单元101的构造的细节在以后描述。
预滤波器102-1和102-2由低通滤波器或高斯(Gaussian)滤波器形成。预滤波器102-1和102-2从输入图像的帧t和帧t+1消除噪声分量,并且把得到的帧输出到递归梯度运算单元103。
递归梯度运算单元103通过使用从初始向量选择单元101输入的初始向量V0和通过预滤波器102-1和102-2输入的帧t和t+1,使用梯度法计算用于每个预定块的运动向量Vn。递归梯度运算单元103把初始向量V0和计算的运动向量Vn输出到向量估计单元104。另外,递归梯度运算单元103基于由向量估计单元104进行的运动向量估计的结果递归地进行梯度运算,而计算运动向量Vn。递归梯度运算单元103的构造的细节在下面描述。
向量估计单元104得出来自递归梯度运算单元103的运动向量Vn-1(或初始向量V0)和运动向量Vn的估计值DFD,并且基于得到的估计值DFD控制递归梯度运算单元103,以递归地进行梯度运算。最后,向量估计单元104基于估计值DFD选择高度可靠的向量,并且把选择向量作为运动向量V存储在检测向量存储器53中。然后,向量估计单元104把运动向量V的估计值DFD和运动向量V一起供给到移动初始向量分配单元105。
当移动初始向量分配单元105供给有运动向量V和其来自向量估计单元104的估计值DFD时,在移动初始向量分配单元105中,把通过在下个帧中的感兴趣块的运动向量设置为移动到感兴趣块的移动初始向量。换句话说,移动初始向量分配单元105把这样一种运动向量设置为移动初始向量,这种运动向量具有在下个帧中与在运动向量V的终点处的块位置相同的感兴趣块作为初始点,并且大小和取向与运动向量V相同。移动初始向量分配单元105把设置的移动初始向量以与感兴趣块相关的形式分配给移动初始向量存储器107。
明确地说,移动初始向量分配单元105在估计值存储器106中,存储以与感兴趣块相关的形式分配为移动初始向量的运动向量V的估计值DFD。移动初始向量分配单元105把估计值DFD与通过同一感兴趣块的另一个运动向量V的估计值DFD相比较(即,把在过去帧中与感兴趣块位置相同的块用作终点)。随后,移动初始向量分配单元105把基于估计值DFD高度可靠的运动向量V移动到感兴趣块,并且把移动初始向量作为在感兴趣块中的移动初始向量分配给移动初始向量存储器107。移动初始向量分配单元105的构造的细节在以后描述。
其次,下面描述在向量检测单元52中使用的梯度法的原理。
首先,在运动图像中,在坐标(x,y,t)处的象素亮度由g(x,y,t)代表。当在坐标(x0,y0,t0)处的感兴趣象素在微小时间中移动(dx,dy,dt)时,通过由gx(x0,y0,t0)、gy(x0,y0,t0)、及gt(x0,y0,t0)分别代表水平、垂直、及时基梯度(差值不同),位移象素的亮度用泰勒(Taylor)展开近似法由如下表达式(2)表示。
g(x0+dx,y0+dy,t0+dt)≈g(x0,y0,t0)+gx(x0,y0,t0)dx+gy(x0,y0,t0)dy+gt(x0,y0,t0)dt(2)当在运动图像中的感兴趣象素在一个帧之后运动水平距离vx和垂直距离vy(下文称作“(vx,vy)”)时,象素的亮度由如下表达式(3)表示。
g(x0+vx,y0+vy,t0+1)=g(x0,y0,t0) (3)
通过用表达式(2)代替表达式(3),表达式(3)由如下表达式(4)表示。
gx(x0,y0,t0)vx+gy(x0,y0,t0)vy+gt(x0,y0,t0)=0(4)表达式(4)具有两个变量vx和vy。因而,有可能求解用于一个感兴趣象素的单一表达式。因而,如下面描述的那样,把是在感兴趣象素周围的周缘区域的块当作一个处理单元,并且假定在块(周缘区域)中的所有象素都进行相同运动(vx,vy),对于每个象素写出类似表达式。通过把假设用作条件,对于两个变量,可得到数量等于周缘象素数量的表达式。因此,同时求解得到的表达式,以得出其中在块中所有象素的运动-补偿帧差值的平方之和为最小的值(vx,vy)。
当象素(x,y,t)在一个帧期间运动值(vx,vy)时,运动-补偿帧间差值d由如下表达式(5)表示。
d=g(x+vx,y+vy,t+1)-g(x,y,t)=Δxvx+Δyvy+Δt (5)在表达式(5)中,Δx=gx(x,y,t),它代表水平梯度;Δy=gy(x,y,t),它代表垂直梯度;及Δt=gt(x,y,t),它代表时间梯度。通过使用这些和由E代表运动-补偿帧间差值的平方之和,E由如下表达式(6)表示。
E=Σd2=Σ(Δx2vx2+Δy2vy2+2ΔxΔyvxvy+2ΔxΔtvx+2ΔyΔtvy+Δt2)=vx2ΣΔx2+vy2ΣΔy2+2vxvyΣΔxΔy+2vxΣΔxΔt+2vyΣΔyΔt+ΣΔt2(6)在表达式(6)中,当每个变量的偏微分值是零是,就是说,当条件δE/δvx=δE/δvy=0成立时,得到其中E为最小的值(vx,vy)。因而,由表达式(6),得到如下表达式(7)和(8)。
vxΣΔx2+vyΣΔxΔy+ΣΔxΔt=0(7)vyΣΔy2+vxΣΔxΔy+ΣΔyΔt=0(8)由表达式(7)和(8),通过求解如下表达式(9)可计算是待检测的运动的值(vx,vy)。
vx=-(ΣΔy2)(ΣΔtΔx)-(ΣΔxΔy)(ΣΔtΔy)(ΣΔx2)(ΣΔy2)-(ΣΔxΔy)2]]>vy=-(ΣΔx2)(ΣΔxΔy)-(ΣΔxΔy)(ΣΔtΔx)(ΣΔx2)(ΣΔy2)-(ΣΔxΔy)2---(9)]]>图10用于特别描述。在图10中的例子中,箭头X指示水平方向,并且箭头Y指示垂直方向。另外,箭头T指示时间从定位在图10的背景的右侧上在时间t处的帧t到定位在图10的前景的左侧上在时间t+1处的帧t+1的时间过去方向。在图10中的例子中,在每个帧中,只有用在象素运算中的八象素乘八象素的区域表示成在感兴趣象素周围的周缘区域(块),由参考字母p表示。
当在帧t中,通过使用梯度法得出定位在从左上象素向下第五行和从左上象素向右第五列中的感兴趣象素p的运动向量V(vx,vy)时,通过对于在感兴趣象素p周围的周缘区域(8乘8象素)中的所有象素的每一个,得出在感兴趣象素的x-和y-方向上得到的、在相邻象素px和py之间的亮度差的差值(即,梯度)Δx和Δy,和在帧t+1中得到的、相对于与感兴趣象素q同相定位的象素q的亮度差的时基差值Δt(梯度),并且使用基于亮度差的差值进行运算的表达式(9),可计算运动向量V(vx,vy)。
换句话说,在梯度法中,计算在两个帧之间的梯度Δx、Δy、及Δt,并且由得到的Δx、Δy、及Δt,通过使用差值的平方的和,满意地计算运动向量V(vx,vy)。
一般地说,在使用以上梯度法的运动向量检测中,对于微小运动得到高度精确的结果。然而,当在实际运动图像中得出运动时,这种梯度法是不实用的,因为在图像中的运动量太大。为了消除这种缺陷,可能的是,递归地进行梯度法多次。通过递归地执行梯度法,在运算中的运动量收敛。因而,逐步计算精确运动。
虽然如此,但当进行实时处理时,从运算时间方面看,仅仅递归地进行梯度法是不实用的。因而,在向量检测单元52中,把基于过去和当前帧之间的周缘象素的运动得出的初始向量用作初始值,因而减少递归地进行梯度法的次数。换句话说,通过借助于把偏移预先添加到由初始向量代表的位置而由用作运动初始点的感兴趣象素计算粗略运动,并通过从具有添加的偏移的位置使用梯度法进行运算,可进行包括在象素内的运动的精细调节。这能够实现精确运动向量的检测而不增加运算时间。
图11是通过使用初始向量执行递归梯度法的特别说明。在图11中表示的例子中,箭头T指示从表示在前景的左侧上在时间t处的帧t到表示在背景的右侧上在时间t+1处的帧t+1的时间过去。其中心分别是象素p、q0、q1、q2、及q3的块指示在用于象素的梯度运算中使用的周缘区域(块)。
在图11中的例子中,对于在帧t中感兴趣象素p,在帧t+1中,不是与感兴趣象素p同相定位的象素q0,而是预先得出的初始向量v0被偏移(运动),以计算位置(象素)q1。进行第一梯度运算,以位置q1作为初始点。这产生运动向量v1。
其次,通过把借助于从象素q0偏移v0+v1计算的位置用作初始点,进行第二梯度运算。这产生运动向量v2。因而,按如下表达式(10)得出运动向量V。
V=v0+v1+v2(10)如上所述,通过使用初始向量执行梯度运算,可计算高度精确的运动向量,同时减少需要的运算时间。
其次,下面参照在图12中表示的流程图,描述运动向量检测过程的细节。
向量检测单元52接收输入的在时间t处的帧t、输入的在时间t+1处的帧t+1。
在步骤S101中,初始向量选择单元101把在帧t中经受处理的块选作感兴趣块,并且过程前进到步骤S102。在该帧中,从左上块起按光栅扫描顺序执行处理。
在步骤S102中,初始向量选择单元101执行初始向量选择过程。初始向量选择单元101对于在步骤S101中的每组块从检测过去运动向量的结果选择高度可靠运动向量,把选择运动向量作为用于在梯度法中使用的初始值的初始向量V0,输出到递归梯度运算单元103。过程前进到步骤S103。
换句话说,在初始向量选择单元101中,把在梯度运动估计过程(在下面描述的步骤S103)中在过去得出之后存储在检测向量存储器53中的周缘块的运动向量、和由移动初始向量分配过程(下面描述的步骤S104)在过去存储在移动初始向量存储器107中的移动初始向量,选作候选向量。初始向量选择单元101使用帧t和帧t+1得出候选向量的估计值DFD,基于得到的估计值DFD从候选向量选择高度可靠的向量,及输出选择的向量作为初始向量V0。在步骤S102中的初始向量选择过程的细节在下面描述。
在步骤S103中,递归梯度运算单元103和向量估计单元104执行递归梯度运算估计过程(下文也称作“递归梯度运算过程”),并且前进到步骤S104。明确地说,在步骤S103中,通过使用从初始向量选择单元101输入的初始向量V0和通过预滤波器102-1和102-2分别输入的帧t和t+1,递归梯度运算单元103基于运动向量估计的结果递归地进行梯度运算,以计算运动向量Vn。另外,向量估计单元104得出运动向量Vn-1和运动向量Vn的估计值DFD,基于得到的估计值DFD选择高度可靠的运动向量,及把选择的运动向量作为运动向量V存储在检测向量存储器53中。在这时,向量估计单元104把运动向量V的估计值DFD与运动向量V一起供给到移动初始向量分配单元105。在步骤S103中的递归梯度运算的细节以后描述。
在步骤S104中,移动初始向量分配单元105执行移动初始向量分配过程,并且前进到步骤S105。当移动初始向量分配单元105供给有运动向量V和其来自向量估计单元104的估计值DFD时,在步骤S104中,在移动初始向量分配单元105中,把穿过在下个帧中的感兴趣块的运动向量设置为移动到感兴趣块的移动初始向量。换句话说,把具有在下个帧中与在运动向量V的终点处的块位置相同的感兴趣块作为初始点、并且大小和取向与运动向量V相同的运动向量,设置为移动初始向量。移动初始向量分配单元105把设置的移动初始向量以与感兴趣块相关的形式分配给移动初始向量存储器107。
明确地说,移动初始向量分配单元105进行在估计值存储器106中存储以与感兴趣块相关的形式分配为移动初始向量的运动向量V的估计值DFD;把存储的估计值DFD与通过同一感兴趣块(即,在过去帧中与感兴趣块位置相同的块)的另一个运动向量V的估计值DFD相比较;把高度可靠的运动向量V(基于估计值DFD)移动到该块从而是移动初始向量;及把移动初始向量以与移动块相关的形式分配给移动初始向量存储器107。移动初始向量分配单元105的构造细节以后描述。
在步骤S105中,初始向量选择单元101确定是否已经完成对于帧t的所有块的处理。如果确定还未完成对于帧t的所有块的处理,则过程返回到步骤S101,并且重复地进行随后步骤。如果在步骤S105中,初始向量选择单元101已经确定已经完成对于帧t的所有块的处理,就是说,如果初始向量选择单元101已经确定已经在帧t的所有块的每一个中检测到运动向量,则运动向量检测过程结束。
如上所述,初始向量从在过去检测的运动向量中选择,并且基于选择的初始向量使用梯度操作,以重复地计算运动向量。由计算的运动向量,检测基于估计值DFD的高度可靠(即,最可能的)运动向量。结果,在检测向量存储器53中,存储用于帧t的所有块的运动向量V。
其次,下面描述移动初始向量分配单元105的构造的细节。
图13是方块图,表示移动初始向量分配单元105的构造。其构造表示在图13中的移动初始向量分配单元105进行基于由向量估计单元104检测的运动向量V,设置用作初始候选向量的移动初始向量;和把设置的移动初始向量分配到移动初始向量存储器107。由向量估计单元104检测的运动向量V、和运动向量V的估计值DFD输入到移动初始向量分配单元105。
分配位置计算单元201进行运算,以得出由向量估计单元104检测的运动向量V在下个时间处的帧中通过的块的位置,就是说,在下个帧中与在当前帧中检测的运动向量V的终点处的块位置相同的块的位置;并且把块的计算位置供给到估计值存储器106和移动向量替换单元203。
当运动向量V和运动向量V的估计值DFD输入时,估计值比较单元202从估计值存储器106,读取来自分配位置计算单元201的在块的位置处的估计值DFD。估计值比较单元202比较从估计值存储器106读取的估计值DFD和由向量估计单元104检测的运动向量V的估计值DFD。当确定检测运动向量V的估计值DFD较小时,估计值比较单元202控制移动初始向量替换单元203,由确定为高度可靠的、基于估计值DFD的运动向量V,重写在移动初始向量存储器107中的、在由移动初始向量分配单元105供给的块的位置处的移动初始向量。同时,估计值比较单元202控制估计值替换单元204,由运动向量V的估计值DFD重写由分配位置计算单元201选择的块的位置的估计值DFD。
移动向量替换单元203由从估计值比较单元202供给的运动向量V,就是说,大小和取向与运动向量V相同的运动向量,重写在移动初始向量存储器107中的、由分配位置计算单元201供给的块的位置处的移动初始向量。在估计值比较单元202的控制下,估计值替换单元204通过运动向量V的估计值DFD重写由分配位置计算单元201选择的块的位置的估计值DFD。
估计值存储器106以块为单位存储用于分配到块的初始候选向量的在下个帧中的估计值DFD。在移动初始向量存储器107中,存储其估计值DFD在下个帧中的每个块中为最小的运动向量,作为移动初始向量以便与块相关。
图14是由移动初始向量分配单元105分配的移动初始向量的一维说明。在图14中表示的例子中,按照顺序从顶部表示在时间t=t-1处的帧t-1、在时间t=t处的帧t、及在时间t=t+1处的帧t+1。在帧中的分隔指示在帧中的块边界。
在图14中的例子中,在帧t-1中的块B中检测的运动向量由运动向量V表示(在图14中的实线箭头),并且基于其初始点是块B的运动向量V在帧t中的运动补偿块(下文称作“偏移块”)由块Bt表示。另外,通过把在帧t-1中的运动向量V移动到块Bt得到的运动向量由移动初始向量SV表示(在图14中的虚线箭头)。在这种情况下,偏移块表示与在帧t-1中检测的运动向量V的终点处的块位置相同的块Bt。术语“移动”是指与在帧t-1中检测的运动向量V取向相同的运动向量的初始点,用作在帧t中与在帧t-1中运动向量V的终点处的块位置相同的块Bt。换句话说,移动初始向量SV是具有在帧t中与在帧t-1中检测的运动向量V的终点处的块位置相同的块Bt作为初始点的运动向量。
一般地,在顺序帧之间,运动对象的运动量具有一定水平的连续性,并且轻微地变化。因而,在图14中的例子中,当在块B上的对象以恒定速度或接近其的速度运动时,在多种情况下,在块Bt中的运动向量也用作运动向量V或接近其的运动向量。
因此,在检测感兴趣块Bt的运动向量的情况下,通过把这个移动初始向量SV用作对于梯度运算给出的初始候选向量,与仅把周缘块的运动向量用作初始候选向量的情况相比,在由梯度运算检测的运动向量中可得到更适当的初始向量。
下面参照图15和16明确地描述上文。在图15和16中,在每个帧中,表示9个块。
图15表示具有大运动的对象通过的块的例子、和周缘块的运动向量。在图15的情况下,由一个块形成的对象01的图像对象具有有大运动的运动向量V1,并且从在帧t-1中的最右端块(从左起第九块)经在帧t中从左起第五块运动到在帧t+1中的最左块。另外,由四个块形成的对象O2具有运动向量V2-它具有比运动向量V1小的运动,从在帧t-1中从左起第三至第六(四个)块经在帧t+1中从左起第四至第七(四个)块运动到在帧t+1中从左起第五至第八(四个)块。换句话说,在帧t中从左起第五块中,对象O1的图像对象和对象O2的图像对象彼此交叉,使对象O1的图像对象位于前面。
在这时,为了检测在帧t中从左起第五块的运动向量-其中对象O1的图像对象作为运动向量V1通过,如果从周缘块的运动抽取初始向量,则没有适当的运动向量存在,因为对象O2的图像对象以向量V2的形式在周缘块(第四或第六块)中通过,该向量V2与对象O1的图像对象的向量不同。即使在这样一种情况下,移动初始向量SV1(在图15中由虚线箭头指示)是通过把在过去帧T-1中检测到的运动向量V1移动到在帧t中从左起第五块而得到的运动向量(即,一种其大小和取向与运动向量V1相同、并且其初始点是与在帧t-1中检测的运动向量V1的终点处的块位置相同的块(在帧t中)的运动向量)。因而,保证可获得移动初始向量SV1。
图16表示在运动对象的边界上的块的例子、和周缘块的运动向量。在图16中表示的情况下,由一个块形成的对象03的图像对象具有运动向量V3,并且从在帧t-1处从左起第六块经在帧t中从左起第五块运动到在帧t+1中从左起第四块。另外,由至少九个块形成的对象O4的图像对象具有与运动向量V1不同的运动向量V4,从在帧t-1中所有九个块经在帧t中从左起第二至第九(八个)块运动到在帧t+1中从左起第三至第九(八个)块。换句话说,对象O3的图像对象在帧t-1中从左起第六块、在帧t中从左起第五块、及在帧t+1中从左起第四块中,在对象O4的图像对象前面通过。
在这时,如果为了检测从左起第五块的运动向量-其中对象O3的图像对象以运动向量V3的形式通过,从周缘块的运动抽取初始向量,则没有适当的运动向量存在,因为在周缘块(从左起第四或第六块)中,对象O4的图像对象以运动向量V4的形式通过,该向量V4与对象O3的图像对象不同。然而,也在这种情况下,与在图15中的情况类似,移动初始向量SV3(由虚线箭头指示)是通过把在过去帧t-1中检测到的运动向量V3移动到在帧t中从右起第五块而得到的向量,就是说,得到的向量大小和取向与运动向量V3相同、并且具有在帧t中与在帧t-1中检测的运动向量V3的终点处的块位置相同的块作为初始点。因而,保证可获得移动初始向量SV3。
如上所述,关于具有在图15中所示的大运动、和在图16中所示的运动对象的边界的对象,在多种情况下,可用作在感兴趣块中从其检测运动向量的初始候选向量的周缘块,没有最佳运动向量作为在感兴趣块中的初始向量。相反,移动初始向量不依赖于在块之间的空间距离,因为移动初始向量是一种大小和相位与其初始点是在帧t中的块相同的运动向量,该块与在过去帧t-1中检测到的运动向量的终点处的块相同。因而,即使在周缘块中,没有适当运动向量存在作为在感兴趣块中的初始向量,也保证得到移动初始向量,并且移动初始向量可用作光学初始候选向量。
返回参照图14,下面描述一种用来确定移动初始向量的方法。在图14中表示的情况下,在查找在感兴趣块Bt中通过的运动向量、同时把在帧t中经受运动向量检测过程的感兴趣块Bt用作参考的情况下,必须查找在帧t-1中的所有块的运动向量。这需要大量处理。因此,在这种情况下,当进行运动向量检测时,必须进行大量处理所需要的巨量运算。因而,难以实施(以硬件的形式)大量处理。
因而,当进行在帧t-1中的运动向量检测时,移动初始向量分配单元105得出其中在感兴趣块Bt中检测的运动向量V在下个时间处在帧t中通过的块(即,在帧t中与在运动向量V的终点处的块位置相同的块)的位置,并且预先把运动向量V分配为用于块Bt的移动初始向量SV。这减少用来查找对于在帧t中的运动向量检测所需要的移动初始向量的运算数量,并因此建立需要的硬件。因此,实际上可把移动初始向量用作初始候选向量。
下面参照图17明确地描述由移动初始向量分配单元105来确定移动初始向量的方法。
在图17中表示的例子中,箭头T指示从在时间t-1处的前面左边帧t-1到在时间t处的背景右边帧t的时间过去。在帧中的圆圈指示象素。
在帧t-1中,块B0包括四乘四个象素。当在块B0中检测的运动向量由Vb表示时,通过偏移块B0从而处于帧t中而得到的偏移块(在帧t中与块B0的运动向量Vb的终点处的块的位置相同)A0,一般与在帧t中的四个块Bt1至Bt4重叠,这四个块Bt1至Bt4中的每个包括四乘四个象素。因而,在图17中的情况下,与偏移块A0重叠的块Bt1至Bt4中的所有四个块,用作被分配运动向量Vb的块。
如上所述,在以前帧中检测的运动向量被分配为移动初始向量。在这种情况下,待分配的块的位置取决于运动向量的大小和取向。因而,如图18中所示,依据在帧t-1中检测的运动向量的分布,在帧t中,多个移动初始向量经受分配,从而产生冲突块和相反没有分配给移动初始向量的块。
图18表示移动初始向量分配的例子。在图18中表示的例子中,在帧之间的每个分隔指示块边界。在帧t-1中,从在图18中的左边起表示块B1至B5,并且在帧t中,从在图18中的左边起表示块Bt1至Bt5。
在块B1中,检测运动向量V1,并且用于块B1的偏移块A1与在帧t中的块Bt1和Bt2重叠。在块B2中,检测运动向量V2,并且用于块B2的偏移块A2与在帧t中的块Bt1和Bt2重叠。在块B3中,检测运动向量V3,并且用于块B3的偏移块A3与在帧t中的块Bt4和Bt5重叠。在块B4中,检测运动向量V4,并且用于块B4的偏移块A4与块Bt4和Bt5重叠。在块B5中,检测运动向量V5,并且用于块B5的偏移块A5与在帧t中的块Bt5和相邻块(未表示)重叠。
换句话说,在图18中的情况下,运动向量V1和V2之一作为移动初始向量分配给块Bt1和Bt2。运动向量V3和V4之一作为移动初始向量分配给在帧t中的块Bt4。运动向量V3、V4、及V5之一作为移动初始向量分配给在帧t中的块Bt5。然而,在帧t中的块Bt3中,用作候选移动初始向量的运动向量不存在。因而,没有移动初始向量分配。
因此,移动初始向量分配单元105把零向量作为移动初始向量分配给没有分配移动初始向量的块,如块Bt3。另外,移动初始向量分配单元105基于其中多个运动向量互相冲突的块,如块Bt1、Bt2、Bt4、及Bt5,的上述估计值DFD,选择高度可靠的运动向量,并且把选择的运动向量作为移动初始向量分配给每个块。
在图18中的情况下,为描述简要起见,偏移块A以稍微移离帧t的形式表示。
图19是冲突运动向量的例子的说明。在图19中表示的情况下,从在帧t-1中的块B1和B2,其中检测的运动向量V1和V2在帧t中的块Bt中通过。换句话说,块Bt是在帧t中与在帧t-1中的运动向量V1的终点位置相同的块,并且是在帧t中与在帧t-1中的运动向量V2的终点位置相同的块。如以上描述的那样,当多个运动向量对于同一块相互冲突时,比较用于运动向量V1的估计值DFD1和用于运动向量V2的估计值DFD2,并且把一个其估计值DFD较小的运动向量,就是说,较高可靠的运动向量,选作用于块Bt的移动初始向量SV2。这使得有可能基于估计值DFD得到高度可靠的移动初始向量。
其次,参照在图20中表示的流程图,描述移动初始向量分配过程的细节。
当在以前级中,向量估计单元104检测到在帧t-1中感兴趣的块的运动向量V时,向量估计单元104向移动初始向量分配单元105供有对于检测运动向量V得到的估计值DFD以及运动向量V。
在步骤S201中,运动向量V和其估计值DFD从向量估计单元104输入到估计值比较单元202。另外,在这时,运动向量V输入到分配位置计算单元201,并且过程前进到步骤S202。在步骤S202中,估计值比较单元202得出在帧t中待偏移的(运动补偿)并且经受分配的块的位置。换句话说,分配位置计算单元201得出在帧t中与在帧t-1中检测的运动向量V的终点处的块位置相同的每个块的位置。过程前进到步骤S203。在步骤S203中,分配位置计算单元201从得到的分配块中选择一个分配块(它经受分配)。分配位置计算单元201把选择的分配块供给到估计值存储器106和移动初始向量替换单元203。过程前进到步骤S204。在步骤S203中,从在帧t中的左上块顺序选择分配块。
在步骤S204中,估计值比较单元202从估计值存储器106获取选择分配块的估计值DFD。过程前进到步骤S205。在步骤S205,确定在步骤S201中输入的运动向量V的估计值DFD是否小于在估计值存储器106中的估计值DFD,就是说,运动向量V的估计值DFD是否在可靠性方面高于在估计值存储器106中的估计值DFD。如果确定运动向量V的估计值DFD小于在估计值存储器106中的估计值DFD,则过程前进到步骤S206。
在步骤S206中,估计值比较单元202控制移动初始向量替换单元203,以通过运动向量V,就是说,大小和取向与运动向量V相同的运动向量,重写由分配位置计算单元201选择(在移动初始向量存储器107中)的分配块的移动初始向量。前进到步骤S207,估计值比较单元202控制估计值替换单元204,以通过运动向量V的估计值DFD重写由分配位置计算单元201选择的分配块的估计值DFD。过程前进到步骤S208。
如果在步骤S205中,确定在步骤S201中输入的运动向量V的估计值DFD不小于在估计值存储器106中存储的估计值DFD,则跳过步骤S206和S207,并且过程前进到步骤S208。换句话说,在这种情况下,确定在估计值存储器106中的估计值DFD的可靠性比运动向量V的估计值DFD高,在估计值存储器106和移动初始向量存储器107中的值不被重写。
在步骤S208中,分配位置计算单元201确定是否已经完成对于要被分配运动向量V的所有分配块的处理。如果在步骤S208中确定还未完成对于所有分配块的处理,则过程前进到步骤S203,并且重复地进行随后步骤。如果在步骤S208中,分配位置计算单元201确定已经完成对于所有分配块的处理,则移动初始向量分配过程结束。
在最初处理中,用于选择分配块的移动初始向量还未存储在移动初始向量存储器107中。因而,当移动初始向量的估计值DFD还未存储在估计值存储器106中的对应分配块中时,在步骤S201中,从选择分配块得不到估计值DFD。因而,在步骤S205中的确定结果是肯定的,因而执行步骤S206和步骤S207。
如上所述,在基于运动对象的运动量在顺序帧之间具有一定水平连续性并且运动量轻微变化的事实,检测感兴趣块的运动向量的情况下,通过把是从以前(过去)时间帧通过在下个时间在帧中感兴趣块的运动向量,就是说,大小和取向与运动向量V相同、并且其初始点是在下个帧中与在过去帧中检测的运动向量V的终点处的块位置相同的块的运动向量,的移动初始向量用作初始候选向量,与其中如在相关技术中那样,仅把在周缘块中以前得到的运动向量用作初始候选向量的情况相比,特别是在运动对象的边界中,可给出更适当的运动向量作为用于梯度运算的初始值。这能够提高通过梯度运算的运动向量检测的精度。
在细化移动初始向量的情况下,得出在以前时间处在帧中检测的块-它在下个时间处在帧中通过,就是说,在帧t中与在帧t-1中检测的运动向量V的终点处的块位置相同的块;并且把在得到块中的运动向量分配为在下个时间处在帧中在感兴趣块中的移动初始向量。因而,与从在以前时间处在帧中的所有块中的所有运动向量查找通过感兴趣块的运动向量的情况相比,减少处理所需要的运算数量。因而,实现其实现由于巨大数量运算是困难的硬件的建立。
此外,在开始对帧t的处理之前,已经获得在帧t中的移动初始向量必需的估计值。因此,通过使用上述本发明的处理、用来确定在过去帧t-1与当前帧t之间产生的移动初始向量的用来计算在帧中的必需估计值的所有处理,可实现实时处理。
具体地说,即使发生以上参照图19和20描述的运动向量的冲突,也只需要用来基于已经计算的估计值由从过去帧t-1到当前帧t检测的运动向量得到移动初始向量的选择过程。换句话说,在移动初始向量选择过程中,只有在过去帧的时间t-1与当前帧的时间t之间的已经计算的估计值用作参考,从而需要较少数量的运算,因而建立实时处理。
其次,下面描述估计值比较单元202的构造的细节。
图21是方块图,表示初始向量选择单元101的构造。在其构造表示在图21中的初始向量选择单元101中,从诸如在以前(过去)帧中检测的运动向量和移动初始向量之类的候选向量(下文也称作“初始候选向量”)中,把高度可靠的运动向量选作初始向量。在时间t处的帧t和在时间t+1处的帧t+1被输入到初始向量选择单元101。
当接收输入帧t时,候选向量位置运算单元251选择在帧t中待处理的块,从感兴趣块的周缘区域得出从其获得用于感兴趣块的初始候选向量的候选块的位置、待用作初始候选向量的运动向量的类型和优先权水平,及把候选块的位置信息和初始候选向量的类型信息按得到的优先权值的顺序供给到检测向量获取单元252和移动初始向量获取单元253。另外,候选向量位置运算单元251把候选块的位置信息也供给到偏移位置运算单元254。
在信号处理设备1中,基于在初始向量精度与硬件性能之间的平衡把初始候选向量的数量设置到预定数量。另外,预先设置候选块的位置、和初始候选向量的类型和优先权级别,如参照图23描述的那样。初始候选向量的类型包括移动初始向量SV,它是通过把通过预定块的运动向量移动到预定块而得到的运动向量,就是说,大小和取向与运动向量V相同、并且其初始点是在下个帧中与在过去帧中检测的运动向量的终点处的块位置相同的块的运动向量;在过去帧中检测的运动向量(下文称作“过去向量PV”);在当前帧中在感兴趣块以前的块中检测的运动向量(下文也称作“当前向量CV”);零向量。
因此,当预先设置的初始候选向量的类型信息代表过去向量或当前向量时,候选向量位置运算单元251把候选块的位置信息和初始候选向量的类型信息供给到检测向量获取单元252。当预先设置的初始候选向量的类型信息代表移动初始向量时,候选向量位置运算单元251把候选块的位置信息和初始候选向量的类型信息供给到移动初始向量获取单元253。在另一种情况下,例如,当预先设置的初始候选向量的类型信息代表零向量时,候选向量位置运算单元251也设置零向量,并且把零向量与候选块的位置信息一起供给到偏移位置运算单元254。
检测向量获取单元252按照从候选向量位置运算单元251供给的候选块的位置信息和初始候选向量的类型信息,从检测向量存储器53获取运动向量。检测向量获取单元252把获取的运动向量作为初始候选向量输出到偏移位置运算单元254。
按照从候选向量位置运算单元251供给的候选块的位置信息和初始候选向量的类型信息,移动初始向量获取单元253从移动初始向量存储器107获取与候选块的位置信息相对应的移动初始向量,并且把获得的移动初始向量作为初始候选向量输出到偏移位置运算单元254。另外,当在由候选向量位置运算单元251指定的块位置处没有分配移动初始向量时,移动初始向量获取单元253把零向量输出到偏移位置运算单元254。当没有分配移动初始向量时,零向量可以预先存储在移动初始向量存储器107中。
当从检测向量获取单元252或移动初始向量获取单元253输入初始候选向量(或来自候选向量位置运算单元251的零向量)时,偏移位置运算单元254基于从候选向量位置运算单元251供给的候选块的位置信息进行算术运算,以得出得到的偏移块的块位置,从而对于每个初始候选向量,在帧t中的感兴趣块被偏移(运动补偿)成在帧t+1中。偏移位置运算单元254把候选块的位置信息和偏移块位置的信息与初始候选向量一起输出到估计值运算单元255。
当接收到候选块的位置信息和偏移块位置的信息以及初始候选向量时,估计值运算单元255通过使用帧t和帧t+1得出初始候选向量的估计值DFD。估计值运算单元255把得到的估计值DFD与初始候选向量一起输出到估计值比较单元256。
估计值比较单元256比较由估计值运算单元255输入的估计值DFD和在最佳候选向量存储寄存器257中存储的最佳候选向量的估计值DFD。当估计值比较单元256确定初始候选向量的估计值DFD小于最佳候选向量的估计值DFD,就是说,初始候选向量的可靠性比最佳候选向量高时,估计值比较单元256用确定可靠性较高的初始候选向量和其估计值DFD替换最佳候选向量和其估计值DFD。最后,估计值比较单元256控制最佳候选向量存储寄存器257,以把从所有候选向量中已经确定为最可靠的最佳候选向量,作为初始向量V0,输出到递归梯度运算单元103。
最佳候选向量存储寄存器257存储作为最佳候选向量的初始候选向量以及其估计值DFD,该初始候选向量已经由估计值比较单元256确定为具有小估计值DFD(高度可靠的)。在估计值比较单元256的控制下,最佳候选向量存储寄存器257把最后存储的最佳候选向量作为初始向量V0输出到递归梯度运算单元103。
图22示出了可用作用于初始向量的候选块的周缘区域。在图22中表示的例子中,箭头T指示从定位在图22的前景左侧上在时间t-1处的过去(以前)帧t-1到定位在背景右侧上在时间t处的当前帧t的时间过去方向。在图22中表示的例子中,可用于初始候选向量的周缘区域由在感兴趣块Bt周围的七象素乘七象素块形成,并且每个块包括四象素。
按光栅扫描顺序从帧的左上块执行运动向量检测过程。因而,在当前帧t中在感兴趣块Bt上的运动向量检测中,在初始向量选择单元101中,检测运动向量直到最后块的结果可用作初始候选向量。
换句话说,在感兴趣块Bt周围的周缘区域包括在处理感兴趣块Bt之前处理的块CVB、和在处理感兴趣块Bt之后处理的块PVB。因此,当得出用于感兴趣块Bt的初始向量时,初始候选向量可从在块CVB中在当前帧t中检测的运动向量(当前向量CV)、和在块PVB中在过去帧t-1中检测的运动向量(过去向量)中选择。在这种情况下,分配到同一周缘区域中的块的移动初始向量也可用作初始候选向量。
图23表示用于在候选向量位置运算单元251中设置的初始向量的候选块的例子。在图23中表示的例子中,在感兴趣块Bt周围的周缘区域中,载有字母数字符号的八个预定块设置为由其获得初始候选向量的候选块。在八个预定块的每一个中,在其之间具有斜线(slash)标记的符号分别代表“初始候选向量类型”和“优先权”。在初始候选向量类型中,字母P代表在过去帧t-1中检测的过去向量PV,字母C代表在当前帧t中检测的当前向量,及字母S代表移动初始向量SV。
感兴趣块Bt的表示“S/1”指示分配给感兴趣块Bt的移动初始向量SV用作具有“第一”优先权的初始候选向量。与感兴趣块Bt相邻的左边块的表示“C/2”指示在当前帧t中检测的块的当前向量CV用作具有“第二”优先权的初始候选向量。感兴趣块Bt的右上块的表示“C/3”指示在当前帧t中检测的块的当前向量CV用作具有“第三”优先权的初始候选向量。感兴趣块Bt的右下块的表示“P/4”指示在过去帧t-1中检测的块的过去向量PV用作具有“第四”优先权的初始候选向量。
七乘七象素的周缘区域的左上角的右下块的表示“C/6”指示在当前帧t中检测的块的当前向量CV用作具有第六优先权的初始候选向量。七乘七象素的周缘区域的右上角的左下块的表示“C/5”指示在当前帧t中检测的块的当前向量CV用作具有第五优先权的初始候选向量。七乘七象素的周缘区域的左下角的右上块的表示“P/7”指示在过去帧t-1中检测的块的过去向量PV用作具有第七优先权的初始候选向量。七乘七象素的周缘区域的右下角的左上块的表示“P/8”指示在过去帧t-1中检测的块的过去向量PV用作具有第八优先权的初始候选向量。
如上所述,在图23中表示的例子中,在感兴趣块Bt和与其相邻的块中,感兴趣块Bt、和感兴趣块Bt的左相邻、右上、及右下块的向量用作初始候选向量。在不与感兴趣块Bt相邻的块中,选择在从七乘七象素的周缘区域的角部向内移动一个块的位置处的块的向量。
换句话说,在图23中表示的例子中,优先权设置成与感兴趣块Bt相邻(空间和时间接近)的块比在某一距离处的块具有较高优先权;并且在当前帧t中检测的当前向量比在过去帧t-1中检测的过去向量具有更高优先权。基于空间相关、时间相关、等等而设置以上初始候选向量的位置、类型及优先权,不仅包括在感兴趣块Bt附近的块而且包括在某一种距离处的块,从而由最小数量的候选向量可以得到可能的初始候选向量。因而,以这样一种方式,通过把预先设置的预定块的运动向量用作初始候选向量,可减少由初始候选向量数量的增加造成的巨大数量的算术运算。
候选块的位置和类型不限于在图23中的例子。可以使用其它类型的块和其它位置的块。另外,当考虑到其中没有最佳向量存在的情况时,可以使用在这样一种情况下抑制变坏的零向量。候选块的数量也可以多于或少于八个。
其次,下面参照在图24中表示的流程图,描述初始向量选择过程的细节。
在步骤S251中,候选向量位置运算单元251由选择感兴趣块周围的周缘区域、从其获得初始候选的候选块的位置、及初始候选向量的类型和优先权而得出预先设置的位置、类型、及优先权。在步骤S252中,候选向量位置运算单元251确定在候选块中的初始候选向量的类型是过去向量和当前向量的哪种。如果在步骤S252中,候选向量位置运算单元251已经确定在候选块中的初始候选向量的类型是过去和当前向量中的一种,则过程前进到步骤S253。在步骤253中,候选向量位置运算单元251向检测向量获取单元252供给候选块的位置信息和初始候选向量的类型信息。在候选向量位置运算单元251的控制下,检测向量获取单元252按照候选块的位置信息和初始候选向量的类型信息从检测向量存储器53获得运动向量(过去向量PV或当前向量CV),并且把获得的运动向量输出到偏移位置运算单元254。过程前进到步骤S257。
如果在步骤S252中,候选向量位置运算单元251已经确定在候选块中的初始候选向量的类型不是过去和当前向量中的一种,则过程前进到步骤S254。在步骤254中,候选向量位置运算单元251确定在候选块中的初始候选向量的类型是否是移动初始向量。如果在步骤254中,候选向量位置运算单元251已经确定在候选块中的初始候选向量的类型是移动初始向量,则过程前进到步骤S255。在步骤S255中,候选向量位置运算单元251向移动初始向量获取单元253供给候选块的位置信息和初始候选向量的类型信息。另外,在候选向量位置运算单元251的控制下,移动初始向量获取单元253从移动初始向量存储器107获得与候选块的位置信息相对应的移动初始向量,并且把获得的移动初始向量输出到偏移位置运算单元254。过程前进到步骤S257。
如果在步骤254中,候选向量位置运算单元251已经确定在候选块中的初始候选向量的类型不是移动初始向量,就是说,确定在候选块中的初始候选向量的类型是零向量,则过程前进到步骤S256。候选向量位置运算单元251把零向量设置为初始候选向量,并且向偏移位置运算单元254供给候选向量的位置信息以及零向量。过程前进到步骤S257。在步骤S253和S255中,候选向量位置运算单元251也把候选块的位置信息供给到偏移位置运算单元254。
在步骤257中,当接收到由检测向量获取单元252或移动初始向量获取单元253输入的初始候选向量时,基于由候选向量位置运算单元251供给的候选块的位置信息,偏移位置运算单元254进行算术运算,以得出通过把在帧t中的感兴趣块偏移在帧t+1上而得到的偏移块的块位置。偏移位置运算单元254把候选块的位置信息和偏移块的位置信息以及初始候选向量输出到估计值运算单元255,并且过程前进到步骤S258。
当估计值运算单元255接收到来自偏移位置运算单元254的候选块的位置信息和偏移块的位置信息、以及初始候选向量时,在步骤S258中,估计值运算单元255通过使用帧t和帧t+1得出初始候选向量的估计值DFD,并且把得到的估计值DFD与初始候选向量一起输出到估计值比较单元256。过程前进到步骤S259。
在步骤S259中,估计值比较单元256确定由估计值运算单元255得到的估计值DFD是否小于在最佳候选向量存储寄存器257中存储的最佳候选向量的估计值DFD。如果估计值比较单元256已经确定由估计值运算单元255得到的估计值DFD小于在最佳候选向量存储寄存器257中存储的最佳候选向量的估计值DFD,就是说,初始候选向量可靠性比最佳候选向量高,过程前进到步骤S260。在步骤S260中,估计值比较单元256用确定可靠性较高的初始候选向量和其估计值DFD重写在最佳候选向量存储寄存器257中的最佳候选向量和其估计值DFD。过程前进到步骤S261。
在步骤S259,如果估计值比较单元256已经确定由估计值运算单元255得到的估计值DFD不小于在最佳候选向量存储寄存器257中存储的最佳候选向量的估计值DFD,则跳过步骤260,并且过程前进到步骤S261。
在步骤S261中,候选向量位置运算单元251确定是否已经完成对所有初始候选向量(在图23中表示的例子中的八个向量)的处理。如果候选向量位置运算单元251已经确定还未完成对所有初始候选向量的处理,则过程前进到步骤S252,并且重复地进行以后步骤。
如果在步骤S261中,候选向量位置运算单元251已经确定已经完成对所有初始候选向量的处理,则过程前进到步骤S262。估计值比较单元256控制最佳候选向量存储寄存器257,以把所有初始候选向量、在所有初始候选向量中已经确定为最可靠的最佳候选向量,作为初始向量V0,输出到递归梯度运算单元103。初始向量选择过程结束。
如上所述,在感兴趣的块中得出多个初始候选向量的估计值DFD之后,可把具有最小估计值DFD,就是说,最高可靠性,的初始候选向量选作初始向量。因而,可给出在随后级中用于运动向量检测的最佳初始向量。这导致在随后级的运动向量检测的精度增加。按步骤,通过把预先设置的预定块的运动向量用作初始候选向量,可减小由初始候选向量数量的增加造成的巨大数量的算术运算。
基于运动对象的运动量在顺序帧之间具有一定水平连续性并且运动量轻微变化的事实,把是从以前帧通过感兴趣块的运动向量的移动初始向量用作初始候选向量。因而,如在相关技术中那样,与仅把在周缘块中得到的过去运动向量用作初始候选向量的情况相比,可进行更高精度的运动检测。这在运动对象的边界中特别有效。
其次,下面描述递归梯度运算单元103的构造的细节。
图25是方块图,表示递归梯度运算单元103的构造。递归梯度运算单元103通过使用输入的在时间t处的帧t和在时间t+1处的帧t+1进行最佳运动向量检测过程。对于包括多个象素的每个预定块,执行这种运动向量检测过程。在每个块中,递归梯度运算单元103基于通过以块为单位或以象素为单位重复地执行梯度运算的估计值DFD,输出是高度可靠的最佳运动向量。
在时间t处的帧t和在时间t+1处的帧t+1通过预滤波器102-1和102-2输入到递归梯度运算单元103,并且初始向量V0从初始向量选择单元101输入到递归梯度运算单元103。
在有效象素确定单元403的控制下,对于每个预定块,模式选择单元401选择用于梯度运算的处理模式,并且把来自初始向量选择单元101的初始向量V0输出到选择器402和向量估计单元104。用于梯度运算的处理模式包括块-单位处理模式,它把块用作从其检测运动向量的一个块;和象素-单位处理模式,它把象素用作从其检测运动向量的一个块。块-单位处理模式选作初始值。在向量估计单元104的控制下,选择器402把来自模式选择单元401的初始向量V0、和从梯度运算单元404输出的运动向量Vn之一,作为用作用于梯度运算的初始值的运动向量(下文称作“偏移向量”),输出到有效象素确定单元403和梯度运算单元404。
当接收到由选择器402选择的偏移向量时,通过使用通过预滤波器102-1和102-2分别输入的在时间t处的帧t和在时间t+1处的帧t+1,同时把通过使偏移向量偏移而计算的位置用作开始点,有效象素确定单元403确定在任一单位处理模式中的运算块中,在梯度运算中的有效象素的数量是否大于阈值。有效象素确定单元403依据确定结果在处理方法之间切换。换句话说,如果有效象素确定单元403已经确定在梯度运算中的有效象素的数量等于或小于阈值,则有效象素确定单元403控制模式选择单元401把处理模式或预定块变到象素-单位处理模式并停止梯度运算。如果有效象素确定单元403已经确定在梯度运算中的有效象素的数量大于阈值,则有效象素确定单元403控制梯度运算单元404以任一处理单位执行梯度运算。
当接收到从选择器402输入的偏移向量时,通过使用通过预滤波器102-1和102-2分别输入的在时间t处的帧t和在时间t+1处的帧t+1,同时把通过偏移来自选择器402的偏移向量而计算的位置用作开始点,梯度运算单元404以任一单位处理模式执行梯度运算,并且把计算的运动向量Vn输出到延迟单元405和向量估计单元104。
延迟单元405存储从梯度运算单元404输出的运动向量Vn,直到有效象素确定单元403和梯度运算单元404的下个处理循环,并且响应选择器402的控制把存储的运动向量Vn输出到有效象素确定单元403。
图26是方块图,表示有效象素确定单元403的构造。在图26中表示的例子中,有效象素确定单元403包括时间象素差计算单元411、象素差确定单元412、有效象素计数器413、及梯度运算连续确定单元414。
当接收到由选择器402选择的偏移向量时,时间象素差计算单元411选择在块-单位运算块中的象素,通过使用偏移向量、和通过预滤波器102-1和102-2分别输入的在时间t处的帧t和在时间t+1处的帧t+1计算选择象素的时基象素差Δt,及把计算的时基象素差Δt输出到象素差确定单元412。
象素差确定单元412确定由时间象素差计算单元411计算的时基象素差Δt是否小于预定阈值(下文称作“象素差”)。如果象素差确定单元412已经确定时基象素差Δt小于预定象素差,则象素差确定单元412把有效象素计数器413的有效象素数量增加一。有效象素计数器413计数在每个运算块中由象素差确定单元412确定为有效象素的象素数量。在每个运算块中复位有效象素计数器413。
梯度运算连续确定单元414确定在任一单位处理模式中的运算块中,用于梯度运算的有效象素的数量是否小于阈值。如果梯度运算连续确定单元414已经确定在任一单位处理模式中的运算块中,用于梯度运算的有效象素的数量大于阈值,则梯度运算连续确定单元414输出允许梯度运算单元404以任一单位处理模式执行梯度运算的标志(flg=1)。如果梯度运算连续确定单元414已经确定在任一单位处理模式中的运算块中,用于梯度运算的有效象素的数量小于阈值,则梯度运算连续确定单元414控制模式选择单元401,以选择其它单位处理模式并且把中断梯度运算的标志(flg=0)输出到梯度运算单元404。
图27是详细方块图,表示梯度运算单元404的构造。在图27中表示的例子中,梯度运算单元404包括时间象素差计算单元421、象素差确定单元422、水平-和-垂直象素差计算单元423、梯度累积单元424、及向量计算单元425。
时间象素差计算单元421基于从有效象素确定单元403输入的标志,控制梯度运算单元404的部分。换句话说,当标志指示一(flg=1)时,时间象素差计算单元421允许梯度运算单元404的部分执行梯度运算。明确地说,当接收到来自有效象素确定单元403的标志时,通过使用通过预滤波器102-1和102-2分别输入的在时间t处的帧t和在时间t+1处的帧t+1,时间象素差计算单元421选择在通过使来自选择器402的偏移向量偏移而计算的象素周围在任一单位处理模式中的运算块中的象素,计算选择象素的时基象素差Δt,及把计算的时基象素差Δt、和偏移向量输出到象素差确定单元422。另外,当对于在运算块中的象素的处理完成时,时间象素差计算单元421把偏移向量输出到向量计算单元425,并且控制向量计算单元425,以计算在经受检测的块中的运动向量。
可选择地,当标志指示零(flg=0)时,时间象素差计算单元421不计算在运算块中的象素的时基象素差Δt。梯度运算单元404的每个部分不执行梯度运算以中断处理。在这时,时间象素差计算单元421控制向量计算单元425,以把运动向量V设置为零向量。
象素差确定单元422确定由时间象素差计算单元421计算的时基象素差Δt是否小于预定阈值(下文称作“象素差”)。如果象素差确定单元422已经确定由时间象素差计算单元421计算的时基象素差Δt小于预定阈值,则象素差确定单元422把象素用作经受梯度运算的象素,并且把时基象素差Δt和偏移向量输出到水平-和-垂直象素差计算单元423。换句话说,具有已经确定为小于预定象素差的象素差Δt的象素,在水平-和-垂直象素差计算单元423和梯度累积单元424中经受算术运算。另外,如果象素差确定单元422已经确定时基象素差Δt不小于预定象素差,则象素差确定单元422允许象素在水平-和-垂直象素差计算单元423和梯度累积单元424禁止象素处理。
当接收到来自象素差确定单元422的偏移向量时,通过使用通过预滤波器102-1和102-2分别输入的在时间t处的帧t和在时间t+1处的帧t+1,水平-和-垂直象素差计算单元423计算象素的水平象素差Δx和垂直象素差Δy,这些象素的时基象素差Δt已经确定为小于在通过使偏移向量偏移而计算的象素周围在任一单位处理模式中的运算块中的预定象素差。另外,水平-和-垂直象素差计算单元423把时基象素差Δt、水平象素差Δx、及垂直象素差Δy输出到梯度累积单元424。梯度累积单元424累积其时基象素差Δt已经确定为具有小于预定象素差的值的象素的梯度。换句话说,梯度累积单元424累积由时间象素差计算单元421计算的时基象素差Δt、由水平-和-垂直象素差计算单元423计算的水平象素差Δx和垂直象素差Δy,并且把累积梯度输出到向量计算单元425。
当接收到来自时间象素差计算单元421的偏移向量时,向量计算单元425计算由梯度累积单元424累积的梯度,并且通过使用最小平方和计算运动向量vn。另外,向量计算单元425通过把来自时间象素差计算单元421的偏移向量添加到计算的运动向量vn上而得到运动向量Vn,及把得到的运动向量Vn输出到向量估计单元104和延迟单元405。
其次,下面描述从其检测运动向量的块、和用于运动向量的运算块。
当考虑在图像中对象的运动时,在多种情况下,一般地,如果对象是相同的,则对象相同地运动。因此,关于用来检测运动向量的检测过程的单位,如图28中所示,通常是以块为单位进行该过程。
在图28中表示的的例子中,箭头X指示水平方向,并且箭头Y指示垂直方向。箭头T也指示从位于前景右侧的在时间t处的帧t到位于背景左侧的在时间t+1处的帧t+1的时间过去方向。
在图28中的的例子中,包括八乘八个象素的块(下文称作“8乘8象素块”)表示为在经受检测的每个帧中的检测块K。检测块K代表其中当进行在8乘8象素块上的运动向量检测时对于8乘8象素块得出相同运动的块。
另外,通过梯度法的运动向量检测(或运算)具有能够检测用于每个象素的运动向量的特征。然而,在以象素为单位进行运动向量运算的情况下,使用最小平方法的统计解的梯度法具有检测精度显著下降的缺陷。因此,通常不仅对于每个块而且也对于用于处理的每个象素,当进行运动向量运算时,通常是以块为单位(运算块)构造在梯度运算中使用的象素。
如上所述,在梯度运算中使用的象素是在8乘8运算块中的象素。换句话说,在图28中的例子中,可以说,通过使用运算块(8乘8象素)进行梯度运算得到的运动向量与在检测块K(8乘8象素)中的所有象素相对应。
然而,关于当如上所述在梯度运算中使用的象素以运算块为单位被处置时发生的一个问题,如图29中所示,有其中构成检测块K的象素包括具有不同运动的对象的象素的情形。
在图29中表示的例子中,包括8乘8象素(64个象素)的检测块K(或运算块)中,具有左上端象素作为参考的28个象素(由粗圆圈指示)具有由箭头A指示的左上倾斜运动。在包括8乘8象素的检测块K中,具有右下端象素的36个象素具有由箭头B指示的水平右运动。
因而,在检测块K中,象素具有相同运动的假设不成立。在通过使用包括具有不同运动的象素的运算块进行梯度运算的情况下,运动向量检测精度下降。换句话说,这是一种涉及在具有不同运动的对象之间的边界上产生的对象湮灭区(覆盖的背景区)和对象产生区(暴露的背景区)的检测精度下降问题。湮灭区是用于前景区的、定位成与在前景中对象的行进方向的前端相对应的混合区,并且代表其背景分量按照时间过去变得由前景覆盖的区域。相反,产生区是用于前景区的、定位成与在前景中对象的行进方向的后端相对应的混合区,并且代表其背景分量按照时间过去变得暴露的区域。
图30是具有相同对象的检测块的亮度状态的说明。在图30的左侧上,箭头X指示水平方向,并且箭头Y指示垂直方向。箭头T指示从位于图30的背景右侧的在时间t处的帧t到位于图30的前景左侧的在时间t+1处的帧t+1的时间过去方向。在图30的右侧上,箭头X指示水平方向,并且箭头L指示亮度。换句话说,在图30的右侧上的亮度Lp1、Lp2、Lp3、…、Lpi(3<i<7)、…、Lp7代表在图30的左侧上在帧t中的8乘8象素检测块中,在从上起向下第五行中的象素p1、p2、p3、…、pi(3<i<7)、…、p7、…的亮度。类似地,亮度Lq1、Lq2、Lq3、…、Lqi(3<i<7)、…、Lq7代表在图30的左侧上在帧t+1中的8乘8象素检测块中,在从上起向下第五行中的象素q1、q2、q3、…、qi(3<i<7)、…、q7、…的亮度,这些象素与象素p1、p2、p3、…、pi(3<i<7)、…、p7等等同相。另外,在亮度Lp1至Lp7与Lq1至Lq7之间的箭头指示在帧t中的每个象素与在帧t+1中的每个象素之间的每个时基象素差Δt。
因而,在图30中表示的例子中,在象素p1与q1之间的时基象素差Δt由在亮度Lp1与Lq1之间的差代表。在象素p2与q2之间的时基象素差Δt由在亮度Lp2与Lq2之间的差代表。在象素p3与q3之间的时基象素差Δt由在亮度Lp3与Lq3之间的差代表。在象素pi与qi之间的时基象素差Δt由在亮度Lpi与Lqi之间的差代表。在象素p7与q7之间的时基象素差Δt由在亮度Lp7与Lq7之间的差代表。亮度差以这样一种形式轻微地变化,从而连接Lp1至Lp7的曲线、和连接Lq1至Lq7的曲线具有大体相同的形状。
如上所述,当在检测块中的象素是相同对象(或运动相同)时,对应时间象素的亮度不会显著变化。
图31是在其中具有不同运动的对象的象素同时存在的情况下在检测块中的亮度状态的说明。在图30中,与图31中那些相对应的部分由对应附图标记指示。因而,省去诸部分的描述。在图31中表示的例子中,在帧t中的象素p7在运动方面与其它象素不同。
例如,当在帧t中的象素p7在运动方面与其它象素相同时,在帧t+1中,与象素p7同相定位的q7的亮度必须由亮度Lq7-1代表。然而,由于在图31中表示的例子中,象素p7在运动方面与其它象素不同,如由亮度Lq7-2指示的那样,所以象素q7的亮度从亮度Lq701显著地向下变化。因此,在象素p7与象素q7之间的时基象素差Δt,就是说,在亮度Lp7与Lq7-2之间的差,大大地变化。
如上所述,例如,当在检测块中,以上对象湮灭、产生、转换、等等引起一种其中具有不同运动的对象的象素同时存在的状态时,有其中对应象素的亮度显著变化的多种情形,并且这可能引起运动不规则性的可能性。因而,有效象素确定单元403构造成,确定具有小亮度变化的象素当用在运动向量检测中时是有效的,并且相反地确定具有大亮度变化的象素当用在运动向量检测中时不是有效的。换句话说,通过注意亮度变化大小的元素、和基于象素亮度的变化大小确定象素是否有效,其亮度轻微变化的象素可用于运动向量检测,并且相反,其亮度显著变化的象素不可用于运动向量检测。这能够实现运动向量检测的提高精度。
明确地说,对于在运算块中的每个象素,有效象素确定单元403设置关于时基象素差Δ的预定象素差(阈值)。当时基象素差Δt小于设置预定象素差时,确定象素有助于运动向量检测(对于其是有效的),并且在进行运动向量检测的情况下在梯度法中使用该象素。当时基象素差Δt不小于设置预定象素差时,确定认为象素具有产生运动不规则性的可能性,并且在进行运动向量检测的情况下从梯度运算中排除该象素。这防止包括不同的运动,从而执行更稳定的梯度运算。结果,可能的运动向量被检测。
然而,由于如上所述,梯度运算是基于是统计解的最小平方法的算术运算,所以通过把象素划分成在梯度运算中使用的象素和在梯度运算中不使用的那些象素,大大减少在梯度运算中使用的象素。如果极小数量的象素用来进行梯度运算,则运算可靠性降低,因而可能使运动向量检测的精度降低。
因而,当用在梯度运算中的象素数量较小时,有效象素确定单元403把在(8乘8象素)检测块的处理单元中的梯度运算当作不稳定的,并且通过对于在8乘8象素块中的(64)象素中的每一个切换到运算单元进行处理,如图32中所示。
图32是在象素-单位处理中的运算块的例子的说明。在图32中表示的例子表示,当把在帧中的(8乘8象素)检测块K切换到象素-单位处理时,用于位于检测块K的左上端处的象素p的运算块E(在图32中包括9乘9象素)。
换句话说,当找象素p的运动向量时,使用在象素p周围的运算块E(在图32中包括9乘9象素)。例如,当找与象素p相邻右边的右相邻象素的运动向量时,使用相对于象素p在右相邻象素周围的9乘9象素运算块(未表示)。
因此,例如,即使在检测块K中,大多数象素与象素p不同地运动时,在检测块K(8乘8象素)中,也计数用在梯度运算中的象素的数量,并且如果计数数量较小,则处理切换到象素-单位处理,如图32中所示,在象素-单位处理中的运算块E,执行梯度运算。
当如上所述,通过把象素划分成在梯度运算中使用的象素和在梯度运算中不使用的那些象素,大大减少在梯度运算中使用的象素时,不是通过停止在在检测块K(8乘8象素)中所有象素的运动向量的检测,而是通过切换到象素-单位处理并且以其中对于每个象素改变在运算块E(9乘9象素)中的象素的形式进行梯度运算,可尽可能地防止在梯度运算中包括不使用的象素,并且依据象素可进行更精确的运动向量检测。
图33是对在图29中表示的检测块K(运算块)中的象素应用象素-单位处理的例子的说明。在图33中表示的例子中,在检测块K(8乘8象素)中进行象素-单位处理,该检测块K包括具有两种不同运动的象素,就是说,具有由箭头A指示的左上倾斜运动的象素(粗圆圈)、和由箭头B指示的水平向右运动的象素(细圆圈)。在这种情况下,当检测到在经受检测的检测块K中的左上端检测象素p的运动向量时,使用检测象素p周围的运算块E(9乘9象素)。
在运算块E中的象素具有由箭头A指示的左上倾斜运动,不包括在右下角中具有由箭头B指示的水平向右运动的三个象素(细圆圈)。类似于块-单位处理的情形,对于在运算块E中的每个象素,对于时基象素差Δt设置不同的预定阈值(象素差)。当时基象素差Δt小于设置阈值时,确定象素有助于运动向量检测,并且在进行运动向量检测的情况下在梯度运算中使用该象素。当时基象素差Δt大于设置阈值时,确定象素具有产生在运动中的不规则性的可能性,并且在进行运动向量检测的情况下在梯度运算中不使用该象素。
换句话说,在图33中的例子中,在运算块E中,除在右下角中的三个象素(细圆圈)之外的象素(粗圆圈)被确定为在用于检测象素p的梯度运算中是有效的。有效象素被用来执行梯度运算。因而,与在通过把在图29中表示的检测块K(8乘8象素)用作运算块的块-单位处理中的梯度运算相比,执行更稳定的梯度运算,从而检测可能的运动向量。
在用于每个象素的运算块中,当通过把象素划分成在梯度运算中使用的象素和在梯度运算中不使用的那些象素,大大减少在梯度运算中使用的象素时,确定运动向量检测是危险的,并且中断梯度运算。换句话说,这是因为,如果确定检测到具有某一大小的运动,尽管运动向量检测是不稳定的,则测量的运动向量可能也是不可能的,就是说,这可能与在实际图像中的对象的运动不匹配。在多种情况下,通过使用不可能运动向量执行随后处理(例如,向量分配过程或向量补偿过程)产生的图像可能具有视觉变坏,如不连续运动和块噪声的出现。
因而,当在象素-单位梯度运算中使用的象素大大减少时,例如把零向量(即,静止状态)用作检测的运动向量。这防止运动向量影响随后处理,因而抑制在产生图像中的较大视觉变坏。
其次,参照在图34中表示的流程图,描述递归梯度运算的细节。初始向量V0从以前级输入到模式选择单元401。
在步骤S401中,模式选择单元401选择块-单位处理模式。模式选择单元401把检测块(运算块)用作在作为检测块(运算块)的帧t中的块,并且把初始向量V0输出到选择器402和向量估计单元104。过程前进到步骤S402。这允许递归梯度运算单元103的每个部分执行块-单位处理。在步骤S402中,响应通过向量估计单元104的控制,选择器402把从模式选择单元401输入的初始向量V0选作偏移向量,并且把选择的偏移向量输出到时间象素差计算单元411和间象素差计算单元421。过程前进到步骤S403。
在步骤S403中,时间象素差计算单元411和象素差确定单元412使用(在这种情况下偏移初始向量V0)选择的偏移向量,以执行块-单位有效象素确定过程。过程前进到步骤S404。参照图35描述块-单位有效象素确定过程的细节。在块-单位有效象素确定过程中,有效象素计数器413计数在块-单位运算块中,其中确定象素差小于预定象素差,就是说,在随后级中的梯度运算中有效,的象素的数量。
在步骤S404中,梯度运算连续确定单元414确定在有效象素计数器413中计数的象素(有效象素)的数量是否大于预定阈值α。如果确定有效象素的数量大于预定阈值α,则梯度运算连续确定单元414以块为单位输出用来允许梯度运算单元404执行梯度运算的标志(flg=1)以执行梯度运算。过程前进到步骤S405。
在步骤S405中,基于来自梯度运算连续确定单元414的标志,梯度运算单元404使用来自选择器402的偏移向量(在这种情况下的初始向量V0)执行块-单位梯度运算过程。过程前进到步骤S406。梯度运算过程的细节下面参照图36描述。这个梯度运算过程得出运动向量Vn,并且把得到的运动向量Vn输出到向量估计单元104和延迟单元405。运动向量Vn是在第一梯度运算中计算的运动向量vn和偏移向量Vn-1之和(Vn=Vn-1+vn)。例如,运动向量V1是在第一梯度运算中计算的运动向量v1和偏移向量(初始向量V0)之和(V1=V0+v1)。
在步骤S406中,向量估计单元104得出在梯度运算中得到的运动向量Vn的估计值DFD(n)和用作偏移向量的运动向量Vn-1的估计值DFD(n-1)。向量估计单元104确定估计值DFD(n)是否小于估计值DFD(n-1),就是说,在梯度运算中得到的运动向量Vn是否比用作偏移向量的运动向量Vn-1更可靠。明确地说,例如,在第一次处理中,把得到的运动向量V1的估计值DFD(1)和初始向量V0的估计值DFD(0)相比较。在第二次处理中,把得到的运动向量V2的估计值DFD(2)和得到的运动向量V1的估计值DFD(1)相比较。
如果在步骤S406中,确定估计值DFD(n)小于估计值DFD(n-1),就是说,运动向量Vn比运动向量Vn-1更可靠,则在步骤S407中,向量估计单元104把计算的运动向量Vn(在第一次中的运动向量V1、在第二次中的运动向量V2)设置为在检测块中的运动向量V。过程前进到步骤S408。在步骤S408中,在过程前进到步骤S409之前,向量估计单元104把重复次数n增加一。在步骤S409中,向量估计单元104确定重复次数n是否已经达到设置的最大重复次数(例如两次)。如果在步骤S409中,确定重复次数n还未达到设置的最大重复次数,则向量估计单元104控制选择器402,从而过程前进到步骤S402,并且重复随后步骤。
换句话说,在步骤S402中,在从向量计算单元425输出之后存储在延迟单元405中的运动向量V1由选择器402选作偏移向量。在步骤S403中,时间象素差计算单元411和象素差确定单元412通过把运动向量V1用作偏移向量执行块-单位有效象素确定过程,并且过程重复随后步骤。因此,在步骤S405中计算的运动向量V2是在第二梯度运算中计算的运动向量V2和用作偏移向量的运动向量V1之和(即,V2=V1+v2=V0+v1+v2)。
如果在步骤S406中,确定估计值DFD(n)不小于估计值DFD(n-1),就是说,运动向量Vn-1比运动向量Vn更可靠,则向量估计单元104前进到步骤S410。在步骤S410中,由向量估计单元104把在梯度运算中用作偏移的运动向量Vn-1(在第一次中的初始向量V0、在第二次中的运动向量V1)设置为在检测块中的运动向量V,并且过程前进到步骤S411。如果在步骤S409中,确定重复次数n已经达到设置的最大重复次数,则向量估计单元104前进到步骤S411。
在步骤S411中,向量估计单元104确定运动向量V是否位于预先设置为用于运动向量检测的搜索区域中。如果确定运动向量V位于搜索区域中,则向量估计单元104前进到步骤S415,并且把运动向量V以与检测块相关的形式存储在检测向量存储器53中。此后,过程结束。
另外,如果在步骤S411中,确定运动向量V不位于搜索区域中,则向量估计单元104前进到步骤S412,并且把运动向量V设置为零向量。前进到步骤S415,向量估计单元104把运动向量V(零向量)存储在检测向量存储器53中,并且完成递归梯度运算过程。
如果在步骤S404中,确定在有效象素计数器413中的有效象素数量等于或小于预定阈值α,则梯度运算连续确定单元414前进到步骤S413。在步骤S413中,在前进到步骤S414之前,梯度运算连续确定单元414控制模式选择单元401选择象素-单位处理模式。这允许递归梯度运算单元103以象素为单位执行处理。在步骤S414中,模式选择单元401执行象素-单位递归梯度运算过程,并且前进到步骤S415。象素-单位递归梯度运算过程的细节下面参照图37描述。由于以象素为单位的递归梯度运算过程得出在检测块的所有象素的运动向量V,所以在步骤S415中,向量估计单元104把运动向量V以与在检测块中的每个象素相关的形式存储在检测向量存储器53中,并且递归梯度运算过程结束。
在上述步骤S406中,通过比较在梯度运算过程得到的运动向量Vn的估计值DFD(n)和用作偏移向量的运动向量Vn-1的估计值DFD(n-1)进行运动向量可靠性的估计。与估计值DFD的比较同时,通过确定在梯度运算过程得到的运动向量vn(在添加偏移向量之前得到的运动向量)的模的值(|vn|)是否小于预定大小(例如,在8乘8象素运算块的情况下的16)也可以进行估计。
模代表向量在向量空间的大小。例如,从原点(0,0)开始到(x,y)的向量v的模由如下表达式(11)表示。
|v|=x2+y2---(11)]]>换句话说,在梯度运算中,一般地,得到高度精确的结果。然而,当在梯度运算中得到的运动向量的模|vn|超过预定大小时,不会总是得到用于大运动向量vn的高度精确结果。因而,与估计值DFD一起,通过确定在梯度运算中得到的每个运动向量的模|vn|是否超过预定大小,并且排除其模|vn|超过预定大小的运动向量,在这种梯度操作中,对于微小运动或对于较大运动,可得到高度精确的结果,并且可改进运动向量检测的精度。
在基于估计值DFD和模的确定的情况下,如果在步骤S406中,|vn|≤16并且估计值DFD(n-1)>估计值DFD(n),则过程前进到步骤S407,并且进行设置使得V=Vn。如果在步骤S406中,|vn|>16或估计值DFD(n-1)≤估计值DFD(n),则过程前进到步骤S410,并且进行设置使得V=Vn-1。
下面参照在图35中表示的流程图,描述有效象素确定过程的细节。图35表示在图34中的步骤S403中有效象素确定过程的例子。
当偏移向量从选择器402输入时,在步骤S431中,时间象素差计算单元411控制象素差确定单元412复位有效象素计数器413。前进到步骤S432,时间象素差计算单元411选择在块-单位运算块中的象素,并且前进到步骤S433。按光栅扫描的顺序从左上端象素选择象素。
在步骤S433中,通过使用偏移向量、和通过预滤波器102-1和102-2分别输入的在时间t处的帧t和在时间t+1处的帧t+1,计算选择象素的时基象素差Δt,并且输出到象素差确定单元412。过程前进到步骤S434。
在步骤S434中,象素差确定单元412确定由时间象素差计算单元411计算的时基象素差Δt是否小于预定象素差,就是说,计算的时基象素差Δt在随后级中的梯度运算中是否有效。如果确定计算的时基象素差Δt小于预定象素差,则过程前进到步骤S435。象素差确定单元412把在有效象素计数器413中的有效象素数量增加一,并且过程前进到步骤S436。如果在步骤S434中,确定时基象素差Δt等于或大于预定象素差,则象素差确定单元412确定时基象素差Δt在随后级中的梯度运算中不是有效的,并且跳过步骤S435和前进到步骤S436。
在步骤436中,时间象素差计算单元411确定是否已经完成对在确定块中所有象素的处理。如果时间象素差计算单元411确定还未完成对在运算块中所有象素的处理,则过程前进到步骤S432,并且选择下个象素以重复随后步骤。如果在步骤436中,时间象素差计算单元411确定已经完成对在运算块中所有象素的处理,则有效象素确定过程结束,以返回在图34中的步骤S404。
在以上过程中,有效象素计数器413具有象素的计数数量,在这些象素的每一个中,象素差Δt小于预定象素差,并且象素在随后级中的梯度运算中是有效的。因而,通过参考在图34中在步骤S404中在有效象素计数器413中的象素数量,梯度运算连续确定单元414可确定是进行块-单位梯度运算还是进行象素-单位梯度运算。
其次,下面参照在图36中表示的流程图,描述块-单位梯度运算过程的细节。图36表示在图34中的步骤S405中的块-单位梯度运算过程的例子。因而,在图36的例子中,用来执行梯度运算的标志(flg=1)从梯度运算连续确定单元414输入到时间象素差计算单元421。
当标志(flg=1)从梯度运算连续确定单元414输入时,在步骤S451中,时间象素差计算单元421选择在块-单位运算块中的象素,并且过程前进到步骤S452。按光栅扫描的顺序从在运算块中的左上端象素选择象素。
在步骤S452中,通过使用来自选择器402的偏移向量、和通过预滤波器102-1和102-2分别输入的在时间t处的帧t和在时间t+1处的帧t+1,时间象素差计算单元421计算选择象素的时基象素差Δt,及把计算的时基象素差Δt、和偏移向量输出到象素差确定单元422。过程前进到步骤S453。
在步骤S453中,象素差确定单元422确定由时间象素差计算单元421计算的时基象素差Δt是否小于预定象素差,就是说,选择向量在随后级中的梯度运算中是否是有效的。如果确定时基象素差Δt小于预定象素差,则过程前进到步骤S454,并且象素差确定单元422控制水平-和-垂直象素差计算单元423以计算确定为有效的象素的水平象素差Δx。在象素差确定单元422中的预定象素差可以等于在时间象素差计算单元421中的预定象素差或者与其不同。在这时,象素差确定单元422把由时间象素差计算单元421计算的时基象素差Δt和偏移向量输出到水平-和-垂直象素差计算单元423。
在步骤S454中,通过使用偏移向量、和通过预滤波器102-1和102-2分别输入的在时间t处的帧t和在时间t+1处的帧t+1,水平-和-垂直象素差计算单元423计算确定为有效的象素的水平象素差Δx。前进到步骤S455,水平-和-垂直象素差计算单元423计算确定为有效的象素的垂直象素差Δy,并且把时基象素差Δt、水平象素差Δx、及垂直象素差Δy输出到梯度累积单元424。过程前进到步骤S456。在步骤456中,梯度累积单元424累积时基象素差Δt、水平象素差Δx、及垂直象素差Δy,并且把累计结果输出到向量计算单元425。过程前进到步骤S457。
如果在步骤S453中,确定时基象素差Δt等于或大于预定象素差,则象素差确定单元422跳过步骤S454至456,并且前进到步骤S457。换句话说,象素的象素差(梯度)指示在梯度运算中不使用的象素,因为它在随后级中的梯度运算中不是有效的。
在步骤S457中,时间象素差计算单元421确定是否已经完成对于在运算块中的所有象素的处理。如果确定还没有完成对在运算块中的所有象素的处理,则过程返回到步骤S451,并且选择下个象素以重复随后步骤。可选择地,如果在步骤S457中,确定已经完成对于在运算块中的所有象素的处理,则时间象素差计算单元421把偏移向量输出到向量计算单元425,及过程前进到步骤S458。当接收到来自时间象素差计算单元421的偏移向量时,向量计算单元425通过使用来自梯度累积单元424的梯度累积结果和在表达式(9)中的最小平方法计算运动向量vn,并且前进到步骤S459。向量计算单元425通过把计算的运动向量vn添加到来自时间象素差计算单元421的偏移向量上而计算运动向量Vn,并且把计算的运动向量Vn输出到向量估计单元104。梯度运算过程结束,并且返回到在图34中的步骤S406。
如上所述,当时基象素差Δt等于或大于设置的预定象素差时,象素被认为具有产生运动不规则性的可能性,并因而在运动向量检测的情况下从梯度运算排除。因而,执行更稳定的梯度运算,从而检测可能运动向量,因而改进运动向量检测的精度。
其次,参照在图37中表示的流程图,描述象素-单位递归梯度运算过程的细节。图37表示在图34中的步骤S414中的象素-单位递归梯度运算过程的例子。这个过程对于在检测块中的每个象素执行。
在设置象素-单位处理模式之后,在步骤S471中,模式选择单元401把在检测块中的象素选作经受检测的象素,并且把在运算块(例如,9乘9象素)中的象素的初始向量V0输出到选择器402和向量估计单元104。过程前进到步骤S472。按光栅扫描的顺序从在检测块中的左上端象素选择象素。在步骤S472中,响应通过向量估计单元104的控制,选择器402把从模式选择单元401输入的初始向量V0选作偏移向量,并且把选择的偏移向量输出到时间象素差计算单元411和间象素差计算单元421。过程前进到步骤S473。
在步骤S473中,时间象素差计算单元411和象素差确定单元412通过使用选择的偏移向量(通过把初始向量V0用作偏移)执行象素-单位有效象素确定过程,并且过程前进到步骤S474。省略有效象素确定过程的细节的详细描述,因为进行基本类似的处理,不同之处在于,参照图35描述的块-单位有效象素确定过程和经受处理的运算块(块范围和构成块的象素)不同。在有效象素确定过程中,有效象素计数器413具有象素的计数数量,这些象素的每一个确定成在象素-单位运算块中具有小于预定象素差的象素差,就是说,在随后级中的梯度运算中是有效的。以象素为单位在有效象素确定中使用的预定象素差可以等于以块为单位确定的情况下的值或者与其不同。
在步骤S474中,梯度运算连续确定单元414确定在有效象素计数器413中的计数象素数量(有效象素数量)是否大于预定阈值β。如果确定有效象素的数量大于预定阈值β,则梯度运算连续确定单元414输出用来执行梯度运算的标志(flg=1),并且过程前进到步骤S475。阈值β可以等于或不同于在块-单位情况下的阈值α。
在步骤S475中,基于来自梯度运算连续确定单元414的标志,梯度运算单元404使用来自选择器402的偏移向量(初始向量V0)执行象素-单位梯度运算过程,并且过程前进到步骤S476。省略梯度运算过程的详细描述,因为进行基本类似的处理,不同之处在于,参照图36描述的块-单位梯度运算过程和经受处理的运算块(块范围和构成块的象素)不同。这个梯度运算过程得出经受检测的象素的运动向量Vn,并且把得到的运动向量Vn输出到向量估计单元104和延迟单元405。运动向量Vn是由第一梯度运算得到的运动向量vn和偏移向量之和(Vn=Vn-1+vn)。
在步骤S476中,向量估计单元104得出由梯度运算过程计算的运动向量Vn的估计值DFD(n)和用作偏移的运动向量Vn-1的估计值DFD(n-1),并且确定估计值DFD(n)是否小于估计值DFD(n-1),就是说,由梯度运算过程计算的运动向量Vn是否比用作偏移的运动向量Vn-1更可靠。
如果在步骤S476中,确定估计值DFD(n)小于估计值DFD(n-1),就是说,运动向量Vn比运动向量Vn-1更可靠,则在步骤S477中,把计算的运动向量Vn(在第一次中的运动向量V1、在第二次中的运动向量V2)设置为经受检测的象素的运动向量V,并且过程前进到步骤S478。在步骤S478中,向量估计单元104把重复次数n增加一。前进到步骤S479,向量估计单元104确定重复次数n是否已经达到最大重复次数(例如2)。如果确定重复次数n还未达到最大重复次数,则向量估计单元104控制选择器402返回到步骤S472,以重复随后步骤。
换句话说,在步骤S472中,在从向量计算单元425输出之后存储在延迟单元405中的运动向量V1由选择器402选作偏移向量。在步骤S473中,时间象素差计算单元411和象素差确定单元412偏移是偏移向量的运动向量V1,并且执行象素-单位有效象素确定过程,以重复随后步骤。因而,在步骤S475中得到的运动向量V2是在第二梯度运算中计算的运动向量V2和用作偏移向量的运动向量V1之和(即,V2=V1+v2=V0+v1+v2)。
如果在步骤S476中,确定估计值DFD(n)大于估计值DFD(n-1),就是说,运动向量Vn-1比运动向量Vn更可靠,则过程前进到步骤S480。在步骤S480中,把在梯度运算中用作偏移的运动向量Vn-1(在第一次中的初始向量V0、在第二次中的运动向量V1)设置为在检测块中的运动向量V,并且过程前进到步骤S481。另外,如果在步骤S479中,重复次数n已经达到最大重复次数,则向量估计单元104前进到步骤S481。
在步骤S481中,向量估计单元104确定运动向量V是否在预先设置为运动向量检测范围的搜索区域中。如果确定运动向量V在搜索区域中,则过程前进到步骤S483。如果在步骤S481中,确定运动向量V不在搜索区域中,则过程前进到步骤S482,并且把运动向量V设置为零向量。过程前进到步骤S483。
如果在步骤S474中,确定在有效象素计数器413中的有效象素的数量小于预定阈值β,则梯度运算连续确定单元414向梯度运算单元404输出用来中断梯度运算的标志(flg=0),并且过程前进到步骤S482。时间象素差计算单元421基于标志控制向量计算单元425,并且把运动向量V设置为零向量。过程前进到步骤S483。
在步骤S483中,模式选择单元401确定是否完成对于在检测块中的所有象素的处理。如果确定还没有完成对于在检测块中的所有象素的处理,则过程返回到步骤S471。把在检测块中的下个象素用作经受检测的象素,并且重复随后步骤。如果在步骤S483中,确定已经完成对于在检测块中的所有象素的处理,则模式选择单元401完成象素-单位递归梯度运算过程,并且返回在图34中的步骤S415。换句话说,象素-单位递归梯度运算过程得出在检测块中的所有象素的运动向量V,过程返回在图34中的步骤S415,及向量估计单元104以与在检测块中的每个象素相关的形式把每个运动向量V存储在检测向量存储器53中。此后,递归梯度运算过程结束。
在步骤S476中的运动向量可靠性的估计中,类似于步骤S406的情况,可以组合地使用基于估计值DFD的确定和基于模的确定。
如上所述,通过对于梯度运算仅使用其每一个在运算块中的象素差小于预定象素差的象素,可从对其进行算术运算的块中排除具有不同运动的象素,从而改进由梯度运算得到的运动向量可能性,因而改进运动向量检测的精度。
另外,当由于在运算块中的象素差大于预定象素差而在梯度运算中不使用的象素的数量,大于预定阈值时,梯度运算过程被适当地控制。因而,具体地说,在对象之间的运动边界中,可改进运动向量检测的精度,从而与待检测的运动向量相比,可改进可能性。
明确地说,当由于在运算块中的象素差大于预定象素差而在梯度运算中不使用的象素的数量,大于预定阈值时,块-单位模式被切换到象素-单位模式,对于在检测块中的每个象素设置运算块,及进行有效象素确定过程和梯度运算过程。因而,可进行运动向量的更精确检测。另外,当由于在运算块中的象素差大于预定象素差而在梯度运算中不使用的象素的数量,大于预定阈值时,可抑制不规则运动向量检测,因而能够实现更可靠的运动向量检测。
其次,下面描述向量分配单元54的构造的细节。
图38是方块图,表示在图2中表示的向量分配单元54的构造。在具有在图38中表示的构造的向量分配单元54中,通过使用24-P信号图像的在时间t处的帧t和在时间t+1处的帧t+1,在帧t中检测的运动向量被分配到待内插的内插帧(在分配向量存储器55中)中。
在图38中表示的例子中,在时间t处的帧t和在时间t+1处的帧t+1输入到象素信息运算单元701、估计值运算单元702、及感兴趣象素差运算单元703。
象素信息运算单元701获得按光栅扫描的顺序从左上端象素起从在检测向量存储器53中在帧t中的象素检测的运动向量,在下个时间处在帧t+1的方向上延伸每个获得运动向量,及计算在延伸向量与内插帧之间的交点。由在计算运动向量与内插帧之间的交点,象素信息运算单元701设置运动向量待分配给的象素(下文也称作“分配象素”),并且把运动向量和分配象素的信息输出到向量选择单元705。另外,象素信息运算单元701计算在帧t中的位置P和在帧t+1中的位置Q(通过运动向量与分配象素相关联),并且把计算的关于帧t和帧t+1的位置信息输出到估计值运算单元702和感兴趣象素差运算单元703。
当从象素信息运算单元701接收到分配象素和涉及由运动向量相关联的帧t和帧t+1位置信息时,估计值运算单元702设置在位置P周围的DFD运算范围(m乘n象素)和在位置Q周围的DFD运算范围(m乘n象素)以便进行运算以得出在帧t和帧t+1中在位置P和Q处的估计值DFD,并且确定每个DFD运算范围是否位于图像帧中。如果确定每个DFD运算范围位于图像帧中,则估计值运算单元702通过使用进行运算的DFD运算范围得出用于运动向量的分配象素的估计值DFD,并且把得到的估计值DFD输出到向量估计单元704。
当从象素信息运算单元701接收到分配象素和涉及由运动向量相关联的帧t和帧t+1位置信息时,感兴趣象素差运算单元703使用在帧t中的位置P和在帧t+1中的位置Q得出用于分配象素的亮度差的绝对值,并且把得到的亮度差绝对值输出到向量估计单元704。
向量估计单元704包括象素差确定单元711和估计值确定单元712。象素差确定单元711确定从感兴趣象素差运算单元703输入的亮度差的绝对值(对于分配象素)是否小于预定阈值。如果象素差确定单元711已经确定从感兴趣象素差运算单元703输入的亮度差的绝对值(对于分配象素)小于预定阈值,则估计值确定单元712确定从估计值运算单元702输入的(分配象素的)估计值是否小于在向量选择单元705中的DFD表中的最小估计值。如果确定从估计值运算单元702输入的(分配象素的)估计值小于在DFD表中的最小估计值,则估计值确定单元712确定与分配象素相对应的运动向量是高度可靠的,并且把分配象素的估计值DFD输出到向量选择单元705。
向量选择单元705具有DFD表,该DFD表存储在内插帧中的象素的最小估计值。对于在内插帧中的每个象素,当分配零向量时得到的估计值DFD作为在接口中的每个象素的最小估计值预先存储在DFD表中。当接收到来自向量估计单元704的分配象素的估计值DFD时,向量选择单元705基于分配象素的位置信息把分配标志存储器56的标志重写成一(真),并且由分配象素的估计值DFD重写在DFD表中用于分配象素的最小估计值。另外,基于来自象素信息运算单元701的分配象素的位置信息,向量选择单元705把来自象素信息运算单元701的运动向量分配给在分配向量存储器55中的分配象素。
其次,下面描述在象素尺寸以下的运动向量精度。在由表达式(1)代表的DFD估计运算中,通常是,通过把在帧t中的象素位置p移动向量v得到的在帧t+1中的相位p+v实际上与在24P信号的帧t+1中的象素位置不重合,并且不定义在这样一种情况下的亮度。因而,为了进行用于具有在象素尺寸以下的精度的运动向量v的估计值DFD,在象素尺寸以下在相位中的亮度必须由某种方法产生。
在与其对应的一种方法中,具有与通过把在帧t中的象素位置p移动向量v得到的在帧t+1中的相位p+v最接近的相位的象素的亮度,以不变形式使用。然而,在这种方法中,在象素尺寸以下的估计运动向量的分量被圆整。因而,可以说,丢弃在象素尺寸以下的估计运动向量的分量。因而,得到的估计值DFD具有低可靠性。
因而,本发明使用基于四个周缘象素的亮度的四点内插过程。图39是在本发明中的四点内插过程的概念的说明。在图39中,箭头X指示帧t+1的水平方向,并且箭头Y指示帧t+1的垂直方向。在帧t+1中,白色圆圈指示在帧t+1中的象素位置,并且黑色圆圈指示在象素尺寸以下的位置。左上端黑点p+v和在帧t+1中的四个周缘象素在窗口E中放大表示。在窗口E中在白色圆圈中的字母数字符号代表四个周缘象素的亮度。
假定在帧t+1中的左上端黑点p+v是通过把在帧t中的象素位置p移动向量v得到的象素位置的相位p+v,相位p+v的亮度Ft+1(p+v)通过使用在象素尺寸以下的水平分量α、在象素尺寸以下的垂直分量β、及在相位p+v中的四个周缘象素的亮度L0至L4由到四个周缘象素的距离的反比之和得出。换句话说,亮度Ft+1(p+v)由如下表达式(12)表示。
Ft+1(p+v)=(1-α)(1-β)L0+α(1-β)L1+(1-α)βL2+αβL3 (12)如上所述,通过借助于使用在四点内插过程中得到的亮度Ft+1(p+v)进行用于DFD估计的算术运算,可防止估计值DFD的可靠性降低,而不增加硬件实施成本。如下描述指向其中四点内插过程应用于对于诸如估计值DFD和在向量分配中的亮度差的绝对值之类的值的算术运算的例子。显然,在用于上述初始向量选择过程和检测过程的运算、和在向量估计的情况下用于估计值DFD的运算中,如分配补偿过程(以后描述),也使用四点内插过程。
其次,下面描述向量分配过程的概念。通过例子,当假定对象在24P-信号图像上以速度v运动,并且假定在两个任意帧之间关于这个对象的运动的均匀速度假设成立时,内插新帧是可能的。在这种情况下,当运动向量v从24P-信号对象延伸时,在运动向量v与内插帧之间的交点在同一对象中,并且具有相同的速度v。
因此,通过把由检测向量存储器53检测的在24P-信号帧(与内插帧相比,下文也称作“原始帧”)中的运动向量分配给在运动向量与待内插的60P-信号内插帧之间的交点,可得出在内插帧中每个象素的运动。相反,从分配的运动向量,可得出在内插帧中的象素在24P-信号帧中从哪个位置运动。
图40以一维形式表示在24P-信号原始帧中检测的运动向量和在内插帧中的象素的例子。在图40中,例如,两个内插帧-在时间t+0.4处的内插帧F1和在时间t+0.8处的内插帧F2插入在两个帧-在时间t处的24P-信号帧t和在时间t+1处的24P-信号帧t+1之间。如上所述,基于60P-信号帧布置在其在24P-信号上的时间相位是0.0、0.4、0.8、1.2、及1.6的位置处的事实,在信号处理设备1中预先设置这些内插帧的位置。
在每个帧中的圆圈指示象素。在以前级中由向量检测单元52在帧t中检测的运动向量v1、v2、及v3在帧t+1的方向上延伸。当这些运动向量分配给在内插帧F1和F2中的象素时,在每个内插帧中的每个象素附近通过的运动向量用作分配给象素的候选向量(下文也称作“分配候选向量”)。
因此,从在帧t中的左端象素指向在帧t+1中从左起第四和第五象素附近的运动向量v1,在内插帧F1中在从左起第二与第三象素之间通过,并且在内插帧F2中在从左起第三与第四象素之间通过。所以,运动向量v1用作待分配给在运动向量v1与内插帧F1和F2相交的点的邻域N1中包括的象素(在内插帧F1中从左起第二和第三象素及在内插帧F2中从左起第三和第四象素)的分配候选向量。
从在帧t中从左起第三象素指向第二和第三象素的邻域的运动向量v2,在内插帧F1中在从左起第二与第三象素之间通过,并且在内插帧F2中在从左起第二与第三象素之间通过。因此,运动向量V2用作待分配给在运动向量V2与内插帧F1和F2相交的点的邻域N2中包括的象素(在内插帧F1中从左起第二和第三象素及在内插帧F2中从左起第二和第三象素)的分配候选向量。
从在帧t中从左起第五象素指向在帧t+1中从左起第四和第五象素的邻域的运动向量v3,在内插帧F1中在从左起第四与第五象素之间通过,并且在内插帧F2中在从左起第四与第五象素之间通过。因而,运动向量V3用作待分配给在运动向量V3与内插帧F1和F2相交的邻域N3中包括的象素(在内插帧F1中从左起第四和第五象素及在内插帧F2中从左起第四和第五象素)的分配候选向量。
换句话说,用于内插帧F2从左起第二象素的分配候选向量是向量V2,并且用于内插帧F1从左起第二和第三象素和内插帧F2从左起第三象素的分配候选向量是运动向量v1和v2。用于内插帧F2从左起第四象素的分配候选向量是向量v1和v3,并且用于在内插帧F1中从左起第四和第五象素和在内插帧F2中从左起第五象素的分配候选向量是运动向量v3。
如上所述,由在原始帧中检测的运动向量中,得出待分配给在内插帧中的象素的分配候选向量。关于在内插帧F1和F2中的左端象素和右端象素,未表示在邻域中通过的向量。换句话说,在内插帧F1和F2中的左端象素和右端象素没有待分配的分配候选向量。因此,对于这些象素,在随后级中由分配补偿单元57执行分配补偿过程,这在以后描述。
参照图41详细地描述在原始帧中检测的运动向量和在60P-信号内插帧中的象素。在图41中表示的例子中,箭头T指示从位于在图41中的前景左侧上在时间t处的帧t到位于在图41中的背景右侧上在时间t+1处的帧t+1的时间过去方向。内插帧F布置在时间t与时间t+1之间的时间t+post处。
在图41中表示的情况下,在帧t中在象素(xa,ya)处检测的运动向量va(xva,yva)在帧t+1的方向上延伸,并且计算在延伸运动向量与内插帧F1之间的交点(xia,yia)。交点是在24P-信号帧t中在运动向量va的端点处的象素被运动而得到的点。因而,交点由如下表达式(13)和(14)表示。
xia=xa+postxva(13)yia=ya+postyva(14)
如上所述,当运动向量va具有在象素尺寸以下的精度时,运动向量va的交叉点不总是与在内插帧F1中的象素位置重合。当两者彼此不重合时,运动向量va分配给在内插帧F1中在交点的邻域中的四个象素G1至G4。换句话说,运动向量va移动(平移)到在邻域中的四个象素G1至G4,并且用作待分配给每个象素的分配候选向量。此后,执行分配补偿过程。
在这样一种情况下,一个运动向量可以用作待分配给在邻域中的四个象素的候选向量。因而,依据象素,多个运动向量用作分配候选向量。在这种情况下,通过对于在内插帧中的象素与在由运动向量相关联的原始帧中的位置之间的每个运动向量计算在原始帧中的交点、和使用交点,向量分配单元54最终确定待分配给在内插帧中的象素的运动向量。
参照图42描述通过向量分配单元54的运动向量估计。图42从底部以一维形式表示在时间t处的帧t、在时间t+post处的内插帧F1、及在时间t+1处的帧t+1,这些帧表示在图41中。
在图42中表示的例子中,在帧t中在象素(xa,ya)中检测的运动向量va作为用于邻近象素G4的分配候选向量移动(平移)到象素G4,而得到运动向量sva。在图42中,运动向量sva(移动在帧t中在象素(xa,ya)中检测的运动向量va而得到)与帧t和帧t+1的交点分别由附图标记P和Q指示。
在第一估计中,向量分配单元54首先得出在点P和Q周围的DFD运算范围,并且确定得到的DFD运算范围是否超越图像帧。因而,如果在点P和Q周围的DFD运算范围超越图像帧,则从候选向量排除运动向量sva。
另外,当点P和Q属于不同的对象时,点P的亮度Ft(P)和点Q的亮度Ft+1(Q)具有较大差别。因而,在运动向量sva的第二估计中,向量分配单元54通过使用点P和Q得出在象素Q4处的亮度差的绝对值dp,并且确定亮度差的绝对值dp是否大于预定值。如果确定亮度差的绝对值dp大于预定值,则确定在象素G4处的运动向量sva具有低可靠性,并且从候选向量排除运动向量sva。亮度差的绝对值dp由如下表达式(15)表示。
dp=|Ft(P)-Ft+1(Q)|(15)在第三估计中,向量分配单元54基于代表在点P和Q周围的DFD运算范围上的相关值的差的绝对值进行估计。换句话说,向量分配单元54通过使用在象素P和Q周围的DFD运算范围得出在象素G4处的运动向量sva的估计值DFD,并且确定得到的估计值DFD是否小于在估计值DFD表中的最小估计值。向量分配单元54通过以上估计向象素G4分配在得到的估计值DFD中其估计值DFD最小的、由以上估计检测到的运动向量。
如上所述,作为在内插帧中的象素处的分配候选向量的运动向量通过不仅使用经受分配的分配象素的估计值DFD、而且使用在分配象素处的亮度差的绝对值而估计。因而,与仅使用估计值DFD的有关技术的情况相比,可能运动向量可分配给分配向量。这导致向量分配精度的改进。
如上所述,为了估计作为在内插帧中的象素处的分配候选向量的运动向量,使用在原始帧中由运动向量相关联的位置,使在内插帧中的象素用作参考。然而,当求亮度差的绝对值dp和估计值DFD时,在运动向量与原始帧之间的交点可能不与在原始帧中的象素位置相重合,因为作为分配候选向量的运动向量对于作为参考的象素位置延伸。因而,如果这种状态保持不变,则不可能得出象素值。在这种情况下,执行参照图39描述的四点内插过程。
图43表示在向量分配中的四点内插的例子。在图43中,与在图41和42中的那些相对应的部分由对应参考符号指示,并且省略对应部分的重复描述。
在图43中表示的例子中,运动向量sva延伸,使在内插帧F1中的象素位置G4用作参考。因而,在运动向量sva与帧t之间的交点P与在帧t中的象素位置(白色圆圈)不重合,并且另外,在运动向量sva与帧t+1之间的交点Q与在帧t+1中的象素位置(白色圆圈)不重合。因此,在帧t和帧t+1中,通过使用在交点P和Q周围的邻域的每一个中的四个象素(在帧t和帧t+1中的白色圆圈),进行上述四点内插运算,以得出在交点P和Q处的象素值。
由于如上所述,在本发明的分配过程中,由四点内插过程得到的在交点P和Q处的象素值被用来计算亮度差的绝对值dp和估计值DFD,所以能以比在圆整在象素尺寸以下的分量的有关技术的方法高的精度,得出亮度差的绝对值dp和估计值DFD。
其次,下面参照在图44中表示的流程图,描述向量分配过程的细节。是24P-信号原始帧的在时间t处的帧t、和在时间t+1处的帧t+1输入到象素信息运算单元701、估计值运算单元702、及感兴趣象素差运算单元703。
当接收到原始帧时,在步骤S701中,象素信息运算单元701控制向量选择单元705以把在分配标志存储器56中的分配标志初始化到零(假),并且前进到步骤S702。在步骤S702中,象素信息运算单元701控制向量选择单元705以把在分配向量存储器55中的分配向量初始化到零向量,并且前进到步骤S703。作为结果,零向量分配给没有分配运动向量的象素。
在步骤S702中,象素信息运算单元701控制估计值运算单元702以通过使用零向量计算对于在内插帧中的所有象素每一个的估计值DFD0,并且控制向量选择单元705把对于零向量计算的估计值DFD0作为对于在内插帧中每一个象素的最小估计值存储在DFD表中。过程前进到步骤S704。换句话说,在步骤S703中,估计值运算单元702使用零向量计算对于在内插帧中的所有象素的估计值DFD0,并且把计算的估计值DFD0通过向量估计单元704输出到向量选择单元705。向量选择单元705把通过向量估计单元704输入的估计值DFD0作为对应象素的最小估计值存储在DFD表中。
在步骤S704中,象素信息运算单元701从在检测向量存储器53中的原始帧选择象素,并且前进到步骤S705。在这种情况下,按光栅扫描的顺序从左端象素选择象素。
在步骤S705中,象素信息运算单元701进行象素位置运算过程,并且前进到步骤S706。象素位置运算过程的细节参照图45描述。在这个象素位置运算过程中,使计算的分配象素用作参考,计算在内插帧中的分配象素,对于该分配象素计算在步骤S704中选择的象素处检测的运动向量;和在原始帧中的象素位置,该象素位置由运动向量相关联。
在步骤S706中,象素信息运算单元701选择计算的分配象素,并且在前进到步骤S707之前,把选择的分配象素和其运动向量输出到向量选择单元705。同时,象素信息运算单元701把在原始帧中由运动向量相关联的象素位置的信息输出到估计值运算单元702和感兴趣象素差运算单元703。在步骤S706中,当多个分配象素存在时,象素信息运算单元701从左端象素起选择象素。
在步骤S707中,象素信息运算单元701执行分配向量估计过程,并且前进到步骤S708。分配向量估计过程的细节参照图46以后描述。在分配向量估计过程中,得出运动向量的估计值DFD和在分配象素处的亮度差的绝对值,并且确定在分配象素处的运动向量的可靠性。在确定之后,由确定是高度可靠的运动向量重写在分配向量存储器55中的运动向量。
在步骤S708中,象素信息运算单元701确定是否已经完成对于所有分配象素的处理。如果确定还没有完成对于所有分配象素的处理,则象素信息运算单元701返回到步骤S706,选择下个分配象素,并且重复随后步骤。
如果在步骤S708中,确定已经完成对于所有分配象素的处理,则在步骤S709中,象素信息运算单元701确定是否已经完成对于在检测向量存储器53中在原始帧中的所有象素的处理。如果在步骤S709中,确定还未完成对于在检测向量存储器53中在原始帧中的所有象素的处理,则象素信息运算单元701返回到步骤S704,并且选择下个象素以重复随后步骤。如果在步骤S709中,确定已经完成对于在检测向量存储器53中在原始帧中的所有象素的处理,则象素信息运算单元701完成向量分配过程。
其次,下面参照在图45中表示的流程图,描述象素位置运算过程的细节。图45表示在图44中的步骤S705中的象素位置运算过程的例子。
在步骤S721中,象素信息运算单元701从检测向量存储器53获得在步骤S704中选择的象素处检测的运动向量,并且前进到步骤S722。由于选择象素的运动向量是零向量,所以零向量作为初始值被预先存储在分配向量存储器55中,跳过随后步骤S722至S724、和图44的步子S706至S708,并且过程前进到步骤S709。
在步骤S722中,象素信息运算单元701计算在获得运动向量与内插帧之间的交点。明确地说,象素信息运算单元701在下个帧t+1的方向上延伸获得的运动向量,计算在延伸的运动向量与内插帧之间的交点,及前进到步骤S723。
在步骤S723中,象素信息运算单元701设置来自基于运动向量和内插帧计算的交点的分配象素,并且前进到步骤S724。当交点与在内插帧中的象素位置相重合时,象素信息运算单元701把交点设置为分配象素。可选择地,当交点与在内插帧中的象素位置不相重合时,由象素信息运算单元701把在内插帧中在交点的邻域中的四个象素设置为分配象素,如以上描述那样。
在步骤S724中,通过把每个分配象素用作参考,象素信息运算单元701计算在原始帧中由获得运动向量相关联的象素位置。对于估计值运算单元702和感兴趣象素差运算单元703需要该象素位置,以得出估计值DFD和亮度差的绝对值。明确地说,在步骤S724中,象素信息运算单元701把获得的运动向量移动(平移)到设置分配象素,得出在移动运动向量与在原始帧中的位置的交点,并且完成象素位置运算过程。过程返回到在图43中的步骤S706。
其次,下面参照在图46中表示的流程图,描述分配向量估计过程的细节。图46表示在图44中的步骤S707中的分配向量估计过程的例子。
在图44的步骤S706中,通过把选择的分配象素用作参考,由象素信息运算单元701得出在原始帧中由其运动向量相关联的象素位置。在原始帧中的位置的信息输入到估计值运算单元702和感兴趣象素差运算单元703。
当接收到来自象素信息运算单元701的在原始帧中的位置的信息时,在步骤S741中,为了得出在分配象素处的运动向量的估计值DFD,估计值运算单元702得出在帧t和帧t+1周围的DFD运算范围(m乘n象素),并且前进到步骤S742。在步骤S742中,估计值运算单元702确定得到的DFD运算范围是否在图像帧中。如果在步骤S742中,确定DFD运算范围超越图像帧,则估计值运算单元702确定运动向量不用作分配给分配象素的分配候选向量。因而,跳过步骤S743至S749,并且在返回到在图44中的步骤S708之前完成分配向量估计过程。
如果在步骤S742中,确定每个得到的DFD运算范围在图像帧中,则估计值运算单元702前进到步骤S743。在步骤S743中,通过使用确定为在图像帧中的DFD运算范围,估计值运算单元702进行运算以得出分配象素的估计值DFD,并且在前进到步骤S744之前,把得到的估计值DFD输出到估计值确定单元712。如果在这时,在原始帧中的位置是除象素位置之外的位置,则通过使用得出在原始帧中交点的亮度的上述四点内插过程,得到分配象素的估计值DFD。
当接收到来自象素信息运算单元701的在原始帧中的位置的信息时,在步骤S744中,感兴趣象素差运算单元703得出在分配象素处的亮度差的绝对值dp,并且把得到的亮度差的绝对值dp输出到象素差确定单元711。过程前进到步骤S745。也在这种情况下,当在原始帧中的位置是除象素位置之外的位置时,通过使用得出在原始帧中交点的亮度的上述四点内插过程,感兴趣象素差运算单元703计算在分配象素处的亮度差的绝对值dp。
如果在步骤S745中,象素差确定单元711确定来自分配象素的亮度差的绝对值dp是否等于或小于预定阈值。如果确定分配象素的亮度差的绝对值dp等于或小于预定阈值,则象素差确定单元711确定在帧t和帧t+1中的交点可能分别属于不同对象,就是说,象素差确定单元711确定,运动向量在分配象素处具有低可靠性并且不用作用于分配到分配象素的分配候选向量。因而,跳过步骤S746至S749,并且在返回到在图44中的步骤S708之前完成分配向量估计过程。
如果在步骤S745中,象素差确定单元711已经确定亮度差的绝对值dp是小于预定阈值,则过程前进到步骤S746。在步骤S746中,通过参考在向量选择单元705中的DFD表,估计值确定单元712确定来自估计值运算单元702的估计值DFD是否小于在DFD表中存储的分配象素的最小估计值(对于零向量的估计值DFD0)。如果确定来自估计值运算单元702的分配象素的估计值DFD等于或大于在DFD表中存储的分配象素的最小估计值,则估计值确定单元712确定运动向量在分配象素处具有低可靠性。因而,跳过步骤S747至S749,并且在返回到在图44中的步骤S708之前完成分配向量估计过程。
可选择地,如果在步骤S746中,确定来自估计值运算单元702的分配象素的估计值DFD小于在DFD表中存储的分配象素的最小估计值,则估计值确定单元712确定,在已经比较的运动向量中该运动向量基于估计值DFD具有最高可靠性,并且把确定为具有最高可靠性的分配象素的估计值DFD输出到向量选择单元705。过程前进到步骤S747。
当接收到来自估计值确定单元712的分配象素的估计值DFD时,在步骤S747中,向量选择单元705把在分配标志存储器56中用于分配象素的分配标志重写成一(真),并且过程前进到步骤S748。在步骤S748中,向量选择单元705把与在DFD表中的分配象素相对应的最小估计值重写成确定为具有最高可靠性的估计值DFD,并且前进到步骤S749。
选择的分配象素和其运动向量在步骤S706中从象素信息运算单元701输入到向量选择单元705。因此,在步骤S749中,向量选择单元705用与确定为具有最高可靠性的估计值DFD相对应的运动向量重写分配给在分配向量存储器55中的分配象素的运动向量,并且在返回到在图44中的步骤S708之前完成分配向量估计过程。
如上所述,当选择待分配给在内插帧中的分配象素的运动向量时,不仅估计值DFD、而且基于在原始帧中由运动向量相关联的位置得到的分配象素的亮度差的绝对值,被分离地处理和估计。因而,与仅使用估计值DFD的相关技术的情况相比,从分配候选向量中,选择最可能运动向量并且将其分配给分配象素。这改进向量分配精度,因而抑制在随后级中在图像内插过程中产生的图像不连续性、等等,从而可改进图像质量。
另外,由于在得出估计值DFD和亮度差的绝对值的情况下,当要求在除象素位置之外的位置处的象素值时,基于到在位置的邻域中的四个象素的距离通过线性内插计算象素值,可进行对于位置的精确处理。况且,与圆整除象素位置之外的位置的分量的相关技术的方法相比,能以较高精度得出亮度差的绝对值dp和估计值DFD。这使得有可能把在分配候选向量中的最可能运动向量分配给感兴趣象素。换句话说,改进向量分配过程的精度。
另外,在基于零向量的估计值DFD作为初始值被预先存储之后,在运动向量正在被顺序处理的同时,当基于运动向量的估计值DFD用作在该时间处的最小估计值时,在DFD表中的最小估计值和在分配向量存储器55中分配的运动向量按要求被更新。因而,可高效地使用时间和资源。
其次,下面描述分配补偿单元57的构造的细节。
图47是方块图,表示分配补偿单元57的构造。其构造表示在图47中的分配补偿单元57包括分配向量确定单元801和向量补偿单元802。分配补偿单元57把象素周围的周缘象素的运动向量,分配给在60P-信号内插帧中由向量分配单元54没有运动向量分配给的象素。
运动向量由向量分配单元54分配给在分配向量存储器55中在内插帧中的象素。另外,对于由向量分配单元54把运动向量分配给的象素,一(真)写入在分配标志存储器56中的分配标志中,并且对于没有运动向量分配给的象素,零(假)写入在分配标志存储器56中的分配标志中。
通过参考在分配标志存储器56中的分配标志,分配向量确定单元801确定运动向量是否由向量分配单元54分配给感兴趣象素。分配向量确定单元801选择没有运动向量由向量分配单元54分配给的感兴趣象素,并且对于选择的感兴趣象素,控制向量补偿单元802,以选择周缘象素的运动向量并把其分配给在分配向量存储器55中的内插帧。
向量补偿单元802从分配向量存储器55获得分配给在感兴趣象素周围的周缘象素的运动向量。通过使用在时间t处的输入帧t和在时间t+1处的输入帧t+1得出获得运动向量的估计值DFD、并且比较得到的估计值DFD,向量补偿单元802把在分配给在感兴趣象素周围的周缘象素的运动向量中基于估计值DFD具有最高可靠性的运动向量分配给在分配向量存储器55中的感兴趣象素。另外,向量补偿单元802对于运动向量分配给的感兴趣象素,使用一(真)重写分配标志。
图48是方块图,表示向量补偿单元802的构造。在图48中表示的向量补偿单元802包括补偿单元811和估计值运算单元812。
补偿单元811包括存储器821,用来存储最小估计值DFD和用于最小估计值DFD的运动向量作为候选向量(下文也称作“补偿候选向量”)。存储器821存储零向量的估计值DFD,作为最小估计值DFD和作为由分配向量确定单元801选择的选择感兴趣象素的初始值,并且存储零向量作为补偿候选向量。通过参考分配标志存储器56,补偿单元811确定是否有在感兴趣象素周围的周缘象素的运动向量,从分配向量存储器55获得分配给周缘象素的运动向量,及控制估计值运算单元812以计算运动向量的估计值DFD。
补偿单元811确定由估计值运算单元812计算的每个估计值DFD是否小于最小估计值。如果确定计算的估计值DFD小于最小估计值,则补偿单元811用计算的估计值DFD和运动向量重写在存储器821中存储的补偿候选向量和最小估计值。最后,把确定为具有最小估计值DFD的周缘象素的运动向量(补偿候选向量)作为感兴趣象素的运动向量分配给在分配向量存储器55中的感兴趣象素。对于运动向量分配给的感兴趣象素,补偿单元811使用一(真)重写在分配标志存储器56中的分配标志。
在从分配向量存储器55获得周缘象素的运动向量之后,估计值运算单元812通过使用输入24P-信号图像的帧t(在时间t处)和帧t+1(在时间t+1处)计算来自分配向量存储器55的运动向量的估计值DFD,并且把计算的估计值DFD输出到补偿单元811。
图49是分配补偿过程的原理的说明。在图49中表示的例子中,表示在内插帧中的象素。从象素延伸的箭头指示分配给象素的运动向量。没有箭头的象素指示对其没有运动向量分配给的象素。
从在分配给感兴趣象素P的邻域中的周缘象素的运动向量中,选择基于估计值DFD具有最高可靠性的运动向量,并且将其分配给由向量分配单元54没有运动向量分配给的感兴趣中心象素P。在图49中表示的例子中,选择象素的运动向量(由粗箭头指示),并且分配给感兴趣象素P。这是基于运动相关执行的过程,这在下面描述。
图50是运动相关的原理的说明。在图50中表示的例子中,对象O1在帧中以运动v1运动,并且对象O2在帧中以运动v2运动。属于对象O1的感兴趣象素P1和其邻域K1具有大体与对象O1的运动相同的运动v1。另外,属于对象O2的感兴趣象素P2和其邻域K2具有大体与对象O2的运动相同的运动v2。
如上所述,运动相关代表如下事实在多种情况下,在相同单个时间中的空间(同一帧)中,属于一个对象的象素的运动大体相同。因此,对于未被分配运动向量的象素,通过使用在同一时间在空间(同一帧)中存在的这种运动相关,从周缘象素的运动向量中选择与象素对应的运动向量。这也应用于时间相关,尽管省略其描述。
其次,下面参照图51至57,描述基于运动相关执行的运动向量补偿过程。明确地说,在运动向量补偿过程中,从周缘象素的运动向量,选择运动向量,并且用于补偿作为感兴趣象素的运动向量。在图51中表示的例子中,白色圆圈指示在内插帧中的象素。在其运动向量待得出的感兴趣象素P周围表示八个周缘象素。通过参考八个周缘象素的运动向量得出感兴趣象素P的运动向量。
在图52中表示的例子中,在感兴趣象素P周围的八个周缘象素中,左上、右上、及右下象素(由黑色圆圈指示)具有由在以前级的处理(例如,上述向量分配过程)得到的运动向量(由箭头指示)。换句话说,在这种情况下,左上、右上、及右下象素用作用于感兴趣象素P的补偿候选向量。由于在帧中,按光栅扫描顺序从在帧中的左上端象素得出运动向量,所以有在八个周缘象素中没有得出其运动向量的象素可能存在的可能性。这样的运动向量不能用作补偿候选向量。
如由在图53中表示的例子指示的那样,在八个周缘象素中,除具有由在以前级中的处理得出的运动向量的象素(黑色圆圈)之外,也存在具有由本过程得出的运动向量的象素(由加阴影的圆圈表示)。换句话说,在本过程中,也使用在以前级中由本过程得到的结果。因而,在图53中表示的例子中,用于感兴趣象素P的补偿候选向量包括其运动向量已经存在的象素(黑色圆圈)的运动向量、和具有由在以前级中这个过程得出的运动向量的象素(加阴影圆圈)的象素的运动向量。
另外,如由在图54中表示的例子指示的那样,其中运动量是零的零向量S0(静止向量)也可用作补偿候选向量。在图53中表示的例子中,分离地表示具有由本过程得出的运动向量的象素、和其运动向量已经存在的象素。然而,两者在具有运动向量方面是相同的。因而,在图54至57中,认为具有由本过程得出的运动向量的象素也包括在其运动向量已经存在的象素(黑色圆圈)中。因此,在图54中表示的例子中,用于感兴趣象素P的补偿候选向量包括其运动向量已经存在的象素(黑色圆圈)和零向量S0。
为了比较如以上描述的那样形成的补偿候选向量的可靠性(可能性),如图55至57中所示得出用于运动向量估计的估计值DFD。图55表示零向量S0用作补偿候选向量。图56表示在八个周缘象素中的左上象素VK1用作补偿候选向量。图57表示在八个周缘象素中的顶部中心象素VK2用作补偿候选向量。
在图55中表示的例子中,从用于感兴趣象素P的、表示在图55的左侧上的补偿候选向量,选择零向量S0,并且得出选择的零向量S0的估计值DFD。换句话说,得出零向量S0的估计值DFD,从而在有感兴趣象素P(60P-信号内插帧)提供在其之间的、24P-信号图像的帧t和帧t+1中,通过使用在内插帧中的感兴趣象素P,得出与选择的零向量S0相关联的交点,以交点作为中心计算由预定m乘n象素范围形成的DFD运算范围D1-1和D1-2,及基于表达式(1)使用所计算的DFD运算范围D1-1和D1-2进行运算。
在图56中表示的例子中,从用于感兴趣象素P的、表示在图56的左侧上的补偿候选向量,选择八个周缘象素的左上象素的运动向量VK1,并且得出选择的运动向量VK1的估计值DFD。换句话说,得出八个周缘象素的左上象素的运动向量VK1的估计值DFD,从而在有感兴趣象素P(在内插帧中)提供在其之间的帧t和帧t+1中,通过把感兴趣象素P用作参考,得出与选择的运动向量VK1相关联的交点,以交点作为中心计算由预定m乘n象素范围形成的DFD运算范围D2-1和D2-2,及基于表达式(1)使用计算的DFD运算范围D2-1和D2-2进行运算。
在图57中表示的例子中,从用于感兴趣象素P的、表示在图57的左侧上的补偿候选向量,选择八个周缘象素的项部中心象素的运动向量VK2,并且得出选择的运动向量VK2的估计值DFD。换句话说,得出周缘象素的顶部中心象素的运动向量VK2的估计值DFD,从而在有感兴趣象素P(在内插帧中)提供在其之间的帧t和帧t+1中,通过把感兴趣象素P用作参考,得出与选择的运动向量VK2相关联的交点,以交点作为中心计算由预定m乘n象素范围形成的DFD运算范围D3-1和D3-2,及基于表达式(1)使用计算的DFD运算范围D3-1和D3-2进行运算。
基于在图57的左则上表示的其它补偿候选向量,进行基本相同的处理。因而,省略其描述。如以上描述的那样,得出用于感兴趣象素P周围的周缘象素的所有补偿候选向量的估计值DFD,彼此比较得到的估计值DFD,并且在得到的估计值DFD中,把具有最小估计值DFD的补偿候选向量选作具有最高可靠性的、待分配给感兴趣象素P的可能运动向量。
在图58中表示的例子中,从用于感兴趣象素P的周缘象素的补偿候选向量中,确定用于八个周缘象素的左上象素的运动向量VK1的估计值DFD是最小的,并且把运动向量VK1分配给感兴趣象素P的运动向量。
如上所述,由向量分配单元54未能分配运动向量的象素的运动向量通过使用运动相关由周缘象素的运动向量补偿。因而,与没有分配运动向量的情形,例如,其中分配零向量的情形相比,可抑制运动的不规则性。另外,以这种方式补偿的象素的运动向量也可再次用作用于另一个象素的补偿候选向量。换句话说,不仅在空间邻域中的运动向量、而且在时间邻域中的运动向量可用作补偿候选向量。对于在对象中大体相同运动的象素,选择具有大体相同运动的向量,从而可得到具有减小错误的稳定运动向量。这改进向量分配的精度。
其次,下面参照在图59中表示的流程图,描述分配补偿过程的细节。
运动向量在以前级中由向量分配单元54分配给在分配向量存储器55中在内插帧中的象素。用于由向量分配单元54把运动向量分配给的每个象素的、在分配标志存储器56中的分配标志中,写入一(真)。用于没有运动向量分配给的象素的、在分配标志存储器56中的分配标志中,写入零(假)。
在步骤S801中,分配向量确定单元801把在分配标志存储器56中在内插帧中的象素选作感兴趣象素,并且前进到步骤802。分配向量确定单元801按光栅扫描的顺序从左上端象素选择象素。
在步骤S802中,分配向量确定单元801确定在分配标志存储器56中用于感兴趣象素的分配标志是否是零(假)。如果确定在分配标志存储器56中用于感兴趣象素的分配标志是零(假),则分配向量确定单元801确定没有分配运动向量。前进到步骤803,分配向量确定单元801控制补偿单元811执行向量补偿过程,并且前进到步骤804。向量补偿过程的细节以后参照图60描述。在向量补偿过程中,由分配给周缘象素的运动向量,把具有最小估计值DFD的运动向量作为补偿候选向量存储在存储器821中。
在步骤S804中,补偿单元811把在存储器821中的补偿候选向量作为感兴趣象素的运动向量分配给分配向量存储器55,并且前进到步骤805。补偿单元811重写在分配标志存储器56中用于感兴趣象素的分配标志,并且过程前进到步骤806。
如果在步骤S802中,确定在分配标志存储器56中用于感兴趣象素的分配标志是一(真),则分配向量确定单元801确定运动向量已经分配给感兴趣象素,并且前进到步骤806,跳过步骤803至805。
在步骤S806中,分配向量确定单元801确定是否已经完成对于在分配标志存储器56中在内插帧中的所有象素的处理。如果确定还未完成对于所有象素的处理,则过程返回到步骤S801,并且选择在分配标志存储器56中在内插帧中的下个象素。执行随后步骤。如果在步骤S806中,确定已经完成对于在分配标志存储器56中在内插帧中的所有象素的处理,则分配补偿过程结束。
其次,下面参照在图60中表示的流程图,描述向量补偿过程的细节。
在步骤S821中,补偿单元811控制估计值运算单元812以通过使用零向量计算估计值DFD0,并且过程前进到步骤822。明确地说,在步骤S821中,通过使用输入的在时间t处的帧t和在时间t+1处的帧t+1,如以上参照例如图55描述的那样,估计值运算单元812在使用零向量的情况下计算估计值DFD0,并且把计算的估计值DFD0输出到补偿单元811。
在步骤S822中,补偿单元811把估计值DFD0作为最小估计值存储在存储器821中。前进到步骤S823,补偿单元811把零向量作为补偿候选向量存储在存储器821中。在步骤S824中,补偿单元811从由分配向量确定单元801选择的感兴趣象素周围的八个周缘象素中选择一个周缘象素,并且前进到步骤S825。在这时,补偿单元811按光栅扫描的顺序从左上端象素起选择八个周缘象素。
在步骤S825中,通过参考分配标志存储器56,补偿单元811确定选择的周缘象素是否具有运动向量。如果在分配标志存储器56中用于周缘象素的分配标志是一(真),则在步骤825中,补偿单元811确定分配给选择周缘象素的运动向量存在。前进到步骤S826,补偿单元811从分配向量存储器55获得周缘象素的运动向量,并且过程前进到步骤S827。然后,周缘象素的运动向量从分配向量存储器55也输出到估计值运算单元812。
当接收到来自分配向量存储器55的周缘象素的运动向量时,在步骤S827中,通过使用输入的在时间t处的帧t和在时间t+1处的帧t+1,估计值运算单元812计算来自分配向量存储器55的运动向量的估计值DFD,并且把计算的估计值DFD输出到补偿单元811。过程前进到步骤S828。
当接收到来自估计值运算单元812的估计值DFD时,在步骤S828中,补偿单元811确定估计值DFD是否小于在存储器821中存储的感兴趣象素的最小估计值。如果确定估计值DFD小于在存储器821中存储的最小估计值,则补偿单元811前进到步骤S829,并且用确定为小于最小估计值的估计值DFD重写在存储器821中的最小估计值。前进到步骤830,补偿单元811用用于最小估计值的运动向量重写在存储器821中的补偿候选向量。过程前进到步骤831。
如果在步骤S825中,在分配标志存储器56中用于周缘象素的分配标志是零(假),则补偿单元811确定选择的周缘象素还没有分配运动向量,并且前进到步骤831,跳过步骤S826至S830。另外,如果在步骤S828中,确定估计值DFD等于或大于在存储器821中存储的感兴趣象素的最小估计值,则补偿单元811前进到步骤831,跳过步骤S829至S830。
在步骤S831中,补偿单元811确定是否完成对于在感兴趣象素周围的所有八个周缘象素的处理。如果确定还未完成对于在感兴趣象素周围的所有八个周缘象素的处理,则补偿单元811返回到步骤S824,并且选择下个周缘象素以重复随后步骤。如果在步骤S831中,确定已经完成对于在感兴趣象素周围的所有八个周缘象素的处理,则在返回到在图59中的步骤S804之前完成向量补偿过程。
如上所述,对于由分配过程未能分配运动向量的象素,通过使用运动相关,由在该象素周围的周缘象素的运动向量,可得到基于估计值DFD具有最高可靠性的可能运动向量。因而,与其中由于不能分配运动向量而分配零向量等的情形相比,改进向量分配的精度,因而抑制在图像内插过程中产生的图像不连续性。
用于由上述分配补偿过程分配给运动向量的象素的分配标志由一(真)重写,并且由分配补偿过程分配的运动向量用作用于下个象素的补偿候选向量。因而,对于大体相同运动的象素,选择具有大体相同运动的运动向量,从而可得到具有减小错误的稳定运动向量。结果,在随后级中在图像中产生的块噪声、粉状噪声、等等被减少,以改进图像质量。
另外,对于其运动向量待得出的象素,通过计算用于零向量的估计值DFD、并且把计算的估计值DFD作为最小估计值存储在存储器中,与计算所有补偿候选向量的估计值DFD、并且从计算的估计值DFD中选择最小估计值DFD的情形相比,可高效地使用时间和资源。
在以上描述中,对于由向量分配单元54未分配给运动向量的象素进行向量补偿过程。然而,对于其运动向量由某一过程未得出的象素,如由向量检测单元52未检测到的象素(其中检测到零象素)的象素,可以进行向量补偿过程。况且,对于在其每一个中检测的运动向量或分配的运动向量不是可能的(具有低可靠性)的象素,可以进行向量补偿过程。
尽管在以上实施例的描述中,是差的绝对值之和的估计值DFD用作用于运动向量选择的估计值,但估计值不限于估计值DFD,而是如果能估计运动向量的可靠性,则可以使用另一种类型的值。
另外,尽管以上实施例描述了用来进行每个过程的块包括例如8乘8象素、和9乘9象素,但这些是例子,并且构成用来进行每个过程的块的象素数量不限于以上象素数量。
此外,尽管以上实施例通过举例从24P信号至60P信号的信号转换而描述,但本发明可以应用于例如交错信号转换和其它帧速率转换作为运动图像帧频率转换。
上述连续过程可由硬件或由软件执行。当连续过程由软件执行时,构成软件的程序从程序存储介质安装到例如建造成专用硬件的计算机、或多目的个人计算机上,在该多目的个人计算机中,通过安装各种类型的程序可执行各种类型的功能。
用来存储安装到计算机中并且使得由计算机可执行的程序存储介质如图1中所示包括可除去记录介质(包介质),包括磁盘31(包括软盘)、光盘32((CD-ROM)(紧凑盘只读存储器)、DVD(数字多用途盘))、磁光盘33(包括MD(小型盘))、及半导体存储器34;和ROM 12,用来临时或永久地存储程序。
在本说明书中,在流程图中表示的步骤不仅包括按照给出顺序以时间序列方式进行的处理步骤,而且也包括如果不总是按时间序列方式执行则并行地或分离地执行的处理步骤。
权利要求
1.一种图像处理设备,包括初始向量选择装置,用来把用来检测在帧中的感兴趣块中的运动向量所使用的初始向量,选作用于梯度法的初始值;向量检测装置,用来通过使用由初始向量选择装置选择的初始向量使用梯度法检测在感兴趣块中的运动向量;移动初始向量设置装置,用来把大小和取向与运动向量相同的运动向量,设置为在帧中的块中的移动初始向量,每个设置运动向量具有在帧中的块作为初始点,所述在帧中的块与在相对于该帧的过去帧中由运动向量检测装置检测的运动向量中每个的终点处的最终块的位置相同;及候选向量设置装置,用来把由移动初始向量设置装置设置的移动初始向量,设置为由初始向量选择装置用来选择在感兴趣块中的初始向量的候选向量。
2.根据权利要求1所述的图像处理设备,其中,运动向量是在帧中具有感兴趣块作为初始点的运动向量,并且初始向量选择装置选择在帧中具有感兴趣块作为初始点的初始向量。
3.根据权利要求1所述的图像处理设备,其中,移动初始向量设置装置包括块运算装置,用来得出在帧中与在由运动向量检测装置检测的运动向量中每一个的终点处的最终块位置相同的块;可靠性比较装置,用来比较由运动向量检测装置检测的运动向量;及移动初始向量选择装置,用来把大小和取向与由可靠性比较装置确定为具有最高可靠性的运动向量相同的运动向量,选作在帧中的块中的移动初始向量。
4.根据权利要求1所述的图像处理设备,其中,在候选向量设置装置中,在感兴趣块中由移动初始向量设置装置设置的移动初始向量、和由运动向量检测装置检测的运动向量中,在帧或过去帧中检测的在感兴趣块周围的预定周缘块中的运动向量,被设置为用来选择初始向量的候选向量。
5.根据权利要求1所述的图像处理设备,还包括用来计算代表由候选向量设置装置设置的候选向量的可靠性的估计值的估计值运算装置,其中,初始向量选择装置基于由估计值运算装置计算的估计值选择用于感兴趣块的初始向量。
6.根据权利要求1所述的图像处理设备,还包括分配装置,用来把由运动向量检测装置检测的运动向量分配给在帧之间的内插帧中的象素;和象素值内插产生装置,用来基于由分配装置分配的运动向量进行内插,以在内插帧中产生象素值。
7.一种图像处理方法,包括初始向量选择步骤,把用来检测在帧中的感兴趣块中的运动向量所使用的初始向量,选作用于梯度法的初始值;运动向量检测步骤,通过使用在初始向量选择步骤中选择的初始向量使用梯度法检测在感兴趣块中的运动向量;移动初始向量设置步骤,把大小和取向与运动向量相同的运动向量,设置为在帧中的块中的移动初始向量,每个设置运动向量具有在帧中的块作为初始点,所述在帧中的块与在相对于该帧的过去帧中在运动向量检测步骤中检测的运动向量中每个的终点处的最终块的位置相同;及候选向量设置步骤,用来把在移动初始向量设置步骤中设置的移动初始向量,设置为在初始向量选择步骤中用来选择在感兴趣块中的初始向量的候选向量。
8.一种具有在其上记录的计算机可读程序的记录介质,该程序包括初始向量选择步骤,把用来检测在帧中的感兴趣块中的运动向量所使用的初始向量,选作用于梯度法的初始值;运动向量检测步骤,通过使用在初始向量选择步骤中选择的初始向量使用梯度法检测在感兴趣块中的运动向量;移动初始向量设置步骤,把大小和取向与运动向量相同的运动向量,设置为在帧中的块中的移动初始向量,每个设置运动向量具有在帧中的块作为初始点,所述在帧中的块与在相对于该帧的过去帧中在运动向量检测步骤中检测的运动向量中每个的终点处的最终块的位置相同;及候选向量设置步骤,用来把在移动初始向量设置步骤中设置的移动初始向量,设置为在初始向量选择步骤中用来选择在感兴趣块中的初始向量的候选向量。
9.一种用来允许计算机执行下述步骤的程序,所述步骤包括初始向量选择步骤,把用来检测在帧中的感兴趣块中的运动向量所使用的初始向量,选作用于梯度法的初始值;运动向量检测步骤,通过使用在初始向量选择步骤中选择的初始向量使用梯度法检测在感兴趣块中的运动向量;移动初始向量设置步骤,把大小和取向与运动向量相同的运动向量,设置为在帧中的块中的移动初始向量,每个设置运动向量具有在帧中的块作为初始点,所述在帧中的块与在相对于该帧的过去帧中在运动向量检测步骤中检测的运动向量中每个的终点处的最终块的位置相同;及候选向量设置步骤,用来把在移动初始向量设置步骤中设置的移动初始向量,设置为在初始向量选择步骤中用来选择在感兴趣块中的初始向量的候选向量。
全文摘要
本发明涉及图像处理方法和设备、记录介质、及程序,其中具体公开了通过梯度法选择初始向量以改进运动向量的检测精度的一种图像处理装置和方法、一种记录介质、及程序。让(V)是在时间(t-1)处的帧(t-1)上的块(B)上的运动向量,并且让块(Bt)是位置与块(B)的运动向量的端点相同、并且对其在时间(t)处的帧(t)上进行运动补偿的块。当在帧(t)上的感兴趣块(Bt)的运动向量由梯度法检测时,其开始点是在帧(t)上的块(Bt)、并且大小和方向与运动向量(V)相同的运动向量,形成移动初始向量(SV),并且用作候选的初始向量。本发明可应用于用来把24P信号帧频转换成60P信号的信号处理装置。
文档编号H04N7/01GK1947152SQ20058001224
公开日2007年4月11日 申请日期2005年4月8日 优先权日2004年4月9日
发明者中村幸弘, 高桥康昭, 堀士贤, 川口邦雄, 吉原典文, 贝野彰彦, 长木悠太 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1