CN1950850A - 图像处理设备和方法、记录介质和程序 - Google Patents

图像处理设备和方法、记录介质和程序 Download PDF

Info

Publication number
CN1950850A
CN1950850A CNA2005800147927A CN200580014792A CN1950850A CN 1950850 A CN1950850 A CN 1950850A CN A2005800147927 A CNA2005800147927 A CN A2005800147927A CN 200580014792 A CN200580014792 A CN 200580014792A CN 1950850 A CN1950850 A CN 1950850A
Authority
CN
China
Prior art keywords
pixel
vector
motion vector
gradient
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2005800147927A
Other languages
English (en)
Other versions
CN100555330C (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of CN1950850A publication Critical patent/CN1950850A/zh
Application granted granted Critical
Publication of CN100555330C publication Critical patent/CN100555330C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4007Interpolation-based scaling, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/254Analysis of motion involving subtraction of images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/014Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes involving the use of motion vectors

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Television Systems (AREA)
  • Image Analysis (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明涉及其中能够提高通过梯度方法进行运动矢量检测的精度的图像处理设备和方法、记录介质和程序。对于在计算块中的每个像素而言,有效像素确定单元403设定在时基像素差异Δt上的预定像素差异(阈值)。在时基像素差异Δt小于设定的预定像素差异时,确定该像素有助于运动矢量检测(在其中是有效的),并且在进行运动矢量检测的情况中将该像素用在梯度操作中。在时基像素差异不小于设定的预定像素差异,则确定认为该像素具有在运动中产生不规则性的可能性,并且在进行运动矢量检测的情况中将该像素排除在梯度操作之外。本发明适用于用于进行从24P信号到60P信号的帧频率转换的信号处理设备。

Description

图像处理设备和方法、记录介质和程序
技术领域
本发明涉及图像处理设备和方法、记录介质和程序。具体地说,本发明涉及其中能够提高运动矢量检测的精度的图像处理设备和方法、记录介质和程序。
背景技术
在用于转换图像的帧频率的图像处理设备中,在专利文献1中所披露的梯度法用作检测在所感兴趣块中的运动矢量。虽然梯度法具有能够通过进行简化的算术运算来检测低于像素尺寸的运动的特征,但是该方法对于在像素单元中检测而言精度较差。因此,在普通情况中,一般通过累积在块单元中的检测值来进行运动矢量检测。
因此,一般来说,通过使用经过运动矢量检测的所感兴趣的像素或设置在所感兴趣块附近的操作块中的所有像素来进行梯度操作。理想的是,当在操作块中的像素具有基本上相同的运动时,检测可能的运动矢量。
[专利文献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所示的检测块中的像素单元处理的示意图。
图34A为一流程图,显示出递归梯度操作过程的示例。
图34B为一流程图,显示出递归梯度操作过程的另一个示例。
图34C为一流程图,显示出递归梯度操作过程的再一个示例。
图35为一流程图,显示出有效像素确定过程。
图36为一流程图,显示出有效像素确定过程。
图37为一流程图,显示出像素单元递归梯度操作过程。
图38为一方框图,显示出有效像素确定单元的另一个结构。
图39为一方框图,显示出梯度操作单元的另一个结构。
图40为检测块和操作块的其它示例的示意图。
图41为在图38中所示的有效像素确定方法的示意图。
图42为在操作放开中的有效像素的结构的示意图。
图43为一流程图,显示出有效像素确定过程的另一个示例。
图44为一流程图,显示出有效像素确定过程的另一个示例。
图45为一方框图,显示出矢量分配单元的结构。
图46为在本发明中的四点差值过程的示意图。
图47为矢量分配过程的概括示意图。
图48为在运动矢量和内插帧之间的相交点附近的像素示例的示意图。
图49为用于评估分配的候选运动矢量的方法的示意图。
图50为在矢量分配中的四点差值示例的示意图。
图51为一流程图,显示出矢量分配过程。
图52为一流程图,显示出像素位置操作过程。
图53为一流程图,显示出分配矢量评估过程。
图54为一方框图,显示出分配补偿单元的结构。
图55为一方框图,显示出分配补偿单元的结构。
图56为分配补偿过程原理的示意图。
图57为运动相关原理的示意图。
图58为在所感兴趣像素周围的周边像素的结构示例的示意图。
图59为用于所感兴趣像素的运动矢量的补偿候选矢量的示例的示意图。
图60为用于所感兴趣像素的运动矢量的补偿候选矢量的示例的示意图。
图61为用于所感兴趣像素的运动矢量的补偿候选矢量的示例的示意图。
图62为补偿候选矢量的评估示例的示意图。
图63为补偿候选矢量的评估示例的示意图。
图64为补偿候选矢量的评估示例的示意图。
图65为将补偿候选矢量选作所感兴趣像素的运动矢量的补偿候选矢量的示例的示意图。
图66为一流程图,显示出分配补偿过程。
图67为一流程图,显示出矢量补偿过程。
参考符号
1    信号处理设备
11   CPU
12   ROM
13   RAM
31   磁盘
32   光盘
33   磁光盘
34   半导体存储器
51    帧存储器
52    矢量检测单元
53    检测矢量存储器
54    矢量分配单元
55    分配矢量存储器
56    分配标志单元
57    分配补偿单元
58    图像内插单元
101   初始矢量选择单元
103   递归梯度操作单元
104   矢量评估单元
105   移位初始矢量分配单元
106   评估值存储器
107   移位初始矢量存储器
201   分配位置计算单元
202   评估值比较单元
203   移位初始矢量更换单元
204   评估值更换单元
251   候选矢量位置操作单元
252   检测矢量获取单元
253   移位初始矢量获取单元
254   偏置位置操作单元
255   评估值操作单元
256   评估值比较单元
257   最佳候选矢量存储寄存器
401   模式选择单元
402   选择器
403   有效像素确定单元
404   梯度操作单元
405    延迟单元
411    时间像素差异计算单元
412    像素差异确定单元
413    有效像素计数器
414    梯度操作连续确定单元
421    时间像素差异计算单元
422    像素差异确定单元
423    水平垂直像素差异计算单元
424    梯度累积单元
425    矢量计算单元
501    第一空间梯度像素差异计算单元
502    第二空间梯度像素差异计算单元
503    时基像素差异计算单元
504    操作确定单元
521    第一空间梯度像素差异计算单元
522    第二空间梯度像素差异计算单元
523    时基像素差异计算单元
524    操作确定单元
701    像素信息操作单元
702    评估值操作单元
703    所关心像素的差异操作单元
704    矢量评估单元
705    矢量选择单元
711    像素差异确定单元
712    评估值确定单元
801    分配矢量确定单元
802    矢量补偿单元
811    补偿单元
812    评估值操作单元
821    存储器
具体实施方式
下面将参照附图对本发明的实施方案进行说明。
图1显示出其上应用了本发明的信号处理设备的结构示例。该信号处理设备1由例如个人计算机等形成。在图1中,CPU(中央处理单元)11根据存储在ROM(只读存储器)12或存储单元18中的程序执行各种处理。如果需要的话,则RAM(随机存取存储器)13存储有由CPU11执行的程序和数据。CPU11、ROM12和RAM13通过总线14相互连接。
CPU11通过总线14与输入/输出接口15连接。输入/输出接口15与包括键盘、鼠标和麦克风的输入单元16连接,并且与包括显示器和扬声器的输出单元17连接。CPU11响应于从输入单元16输入的指令执行各种处理。CPU11将在处理中获得的图像、声音等输出给输出单元17。
与输入/输出接口15连接的存储单元18由例如硬盘形成,并且存储要由CPU11执行的程序和各种数据。通信单元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中检测出的运动矢量分配给在60P信号帧中的像素以便在分配矢量存储器55中进行内插。在下面的说明书中,60P信号帧在下面也被称为“内插帧”以便与24P信号帧区分开。矢量分配单元54将在分配标志存储器56中的分配标志重写成1(真)。下面对矢量分配单元54的结构细节进行说明。
分配矢量存储器55以其中分配运动矢量与内插帧的每个像素相关的形式存储由矢量分配单元54分配的运动矢量。分配标志存储器56为内插帧的每个像素存储分配标志,用来表示是否存在分配运动矢量。例如,在分配标志为真实的(1)时,表示将运动矢量分配给相应像素。在分配标志为假的(0)时,表示没有给相应像素分配任何运动矢量。
通过参照在分配标志存储器56中的分配标志,分配补偿单元57对没有由矢量分配单元54分配任何运动矢量的所关心像素补偿在所关心的像素周围的周边像素的运动矢量,并且将补偿像素分配给在分配矢量存储器55中的内插帧。这时,分配补偿单元57将其上分配有运动矢量的所关心像素中的分配标志重写,从而它为1(真)。下面将对分配补偿单元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倍帧。换句话说,从2个24P信号图像,必须产生出五个60P信号图像。在该情况中,所产生出的60P信号内插帧设置在这样的位置处,其中在24P信号上的时相为0.0、0.4、0.8、1.2和1.6以便具有相同的帧间隔。在这些帧中,除了在时相为0.0的时刻t处的一个帧之外,其余四个帧(在时刻t+0.4、t+0.8、t+1.2和t+1.6处的帧)为在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在概念上表示60P信号内插帧F的状态,它们在相对于构成信号处理设备1的每个单元输入/输出模式中在24P信号的时刻t处的帧t中、在下一个时刻t+1处的帧t+1中以及在帧t和帧t+1之间产生出。换句话说,实际上,没有输出其中运动矢量被检测为由状态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表示帧t、帧t+1和其上分配有运动矢量的内插帧F的每个状态,它们都被输入给分配补偿单元57。在状态83中的内插帧F中,显示出其上由矢量分配单元54分配有运动矢量的运动矢量和其上没有分配任何运动矢量的像素。
分配补偿单元57通过使用分配给在没有分配任何运动矢量的像素周围的周边像素的运动矢量来补偿其上没有分配任何运动矢量的在状态83中的一个像素。这是因为,如果假设在所关心像素周围的相邻区域具有类似的运动,则在所关心像素周围的周边像素的运动矢量和在所关心像素中的运动矢量具有相似处。这甚至给没有分配任何运动矢量的像素提供了在一定程度上精确的运动矢量,从而将运动矢量分配给在状态84中的内插帧F中的所有像素。还有在该情况中,存在作为候选的周边像素的运动矢量,与矢量分配单元54类似分配补偿单元57找出评估值或运动矢量,并且根据评估值选择所要分配的运动矢量。
状态84表示其上将运动矢量分配给所有像素的帧t、帧t+1和内插帧的每个状态。将这些帧输入给图像内插单元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×n块和从在时刻t+1处的帧t+1中的像素位置偏移所关心的运动矢量v的矢量值的像素位置p+v周围的m×n块。在两个块之间计算出的位移帧差DFDt(p)由下面公式(1)表示:
DFD t ( p ) = Σ x , y m × n | F t + 1 ( p x , y + v ) - F t ( P x , y ) | - - - ( 1 )
这里,Ft(p)表示在时刻t处的像素位置p处的亮度,并且m×n表示用于找出位移帧差的DFD操作范围(块)。
位移帧差表示在两个帧中在DFD操作范围(块)之间的相关值。因此,一般来说,位移帧差越小,则在这些帧之间的块的波形越相互一致。因此,确定位移帧差越小,则运动矢量v的可靠性就越高。因此,位移帧差用来从多个运动矢量之中选择出最可能的运动矢量。
因此,在下面的说明书中,在信号处理设备1的功能单元(矢量检测单元52、矢量分配单元54和分配补偿单元57)中,将位移帧差(下面也被称为“评估值DFD”)用作在选择运动矢量时的评估值。
接下来将参照图6所示的流程图对信号处理设备1的帧频率转换过程进行说明。
在步骤S1中,将在帧存储器51中在输入图像的时刻t+1处的帧t+1的像素值和在输入图像的时刻t处的前一帧t中的像素值输入给矢量检测单元52。该过程前进至步骤S2。这时,将在帧存储器51中在输入图像的时刻t+1处的帧t+1的像素值和在输入图像的时刻t处的前一帧t中的像素值输入给矢量分配单元54、分配补偿单元57和图像内插单元58。
在步骤S2中,矢量检测单元52执行运动矢量检测过程,并且前进至步骤S3。换句话说,矢量检测单元52检测在帧存储器51中的帧t中的所关心块和在下一帧t+1中的对象块之间的运动矢量,它作为输入图像。矢量检测单元52将检测的运动矢量存储在检测矢量存储器53中。为了检测在两个帧之间的运动矢量,采用梯度法、块匹配法等。另外,在存在候选运动矢量时,找出运动矢量的评估值DFD,并且检测基于所找出的评估值DFD的非常可靠的运动矢量。换句话说,在该情况中,在从中要检测出运动矢量的所关心块中,选择并且检测出最可能的运动矢量。下面将对在步骤S2中的运动矢量检测过程的细节进行说明。
在步骤S3中,矢量分配单元54执行矢量分配过程,并且前进至步骤S4。具体地说,矢量分配单元54将在帧t中找出的运动矢量分配给在分配矢量存储器55中的内插帧中的受到内插的所关心像素,并且将在分配标志存储器56中的与具有分配运动矢量的像素对应的分配标志重写,从而它为1(真)。例如,为真的分配标志表示将运动矢量分配给相应像素,并且为假的分配标志表示没有将运动矢量分配给相应像素。在每个像素具有多个候选运动矢量时,对于这些运动矢量找出评估值,并且根据这些评估值DFD分配非常可靠的运动矢量。换句话说,在该情况中,对于所关心的其上要分配运动矢量的像素,选择并且分配非常可靠的运动矢量。下面将对在步骤S3中的矢量分配过程的细节进行说明。
在步骤S4中,分配补偿单元57执行分配补偿过程,并且前进至步骤S5。换句话说,在步骤S4中,通过参照在分配标志存储器56中的分配标志,分配补偿单元57针对其上没有由矢量分配单元54分配任何运动矢量的所关心像素补偿在所关心像素周围的周边像素中的运动矢量,并且将所获得的像素分配给在分配矢量存储器55中的内插帧。这时,分配补偿单元57补偿运动矢量,并且将所关心的分配像素的分配标志重写,从而它为1(真)。在所关心的像素具有多个周边像素的运动矢量,则找出这些运动矢量的评估值DFD,并且根据所获得的评估值DFD分配非常可靠的运动矢量。换句话说,在该情况中,对于其上要分配运动矢量的所关心像素而言,选择并且分配最可能的运动矢量。下面将对在步骤S4中的分配补偿过程的细节进行说明。
在步骤S5中,图像内插单元58执行图像补偿过程。换句话说,在步骤S5中,图像内插单元58进行补偿以通过使用分配给在分配矢量存储器55中的内插帧的运动矢量以及在帧t和t+1中的像素来产生出在内插帧中的像素值。该过程前进至步骤S6。下面将对在步骤S5中的图像补偿过程的细节进行说明。在步骤S6中,如果需要的话,图像内插单元58通过输出所产生出的内插帧并且随后输出帧t+1来将60P信号图像输出给随后阶段(未示出)。该过程前进至步骤S7。
在步骤S7中,矢量检测单元52确定在所有帧上的处理是否已经结束。如果确定在所有帧上的处理没有结束,则该过程返回到步骤S1并且反复进行随后的步骤。如果在步骤S7中确定在所有帧上的处理已经完成,则矢量检测单元52完成帧频率转换过程。
如上所述,本发明的信号处理设备1从24P信号图像的帧中检测出运动矢量,将所检测出的运动矢量分配给在60P信号帧中的像素,并且根据所分配的运动矢量产生出在60P信号帧中的像素值。这时,信号处理设备1在每次处理中根据评估值DFD(移位帧差)选择非常可靠的运动矢量,并且将运动矢量输出给随后阶段。因此,由于抑制了缺陷(例如运动损失),信号处理设备1能够产生出更高质量的图像。
接下来将参照图7对图像内插单元58的细节进行说明。
图7为一方框图,显示出图像内插单元58的结构。其结构在图7中所示的该图像内插单元58进行这样一个过程,该过程通过使用分配给在分配矢量存储器55中的内插帧的运动矢量以及在帧t和t+1中的像素并且输出60P信号图像来产生出内插帧的像素。
在图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在乘法器93-1中设定“1-k”的内插权重,并且在乘法器93-2中设定“k”的内插权重。
空间滤波器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,并且反复进行随后的步骤,如果在步骤S57中内插控制单元91已经确定在内插帧中的所有像素上的处理已经完成,则该图像内插过程终止。
如上所述,根据分配给内插帧的运动矢量产生出在内插帧中的像素值,并且在图6中的步骤S6中,内插帧通过缓冲器95输出,随后如果需要的话则输出帧t+1,由此将60P信号图像输出给随后的图像。因此,将最可能的运动矢量分配给在内插帧中的像素。因此,产生出精确的内插帧。
接下来将对矢量检测单元52的结构的细节进行说明。
图9为一方框图,显示出矢量检测单元52的结构。其结构在图9中所示的该矢量检测单元52通过使用在输入图像的时刻t处的帧t和在输入图像的时刻t+1处的帧t+1检测在帧t中的运动矢量。对由多个像素构成的每个预定块执行运动矢量的这个检测。
通过初始矢量选择单元101将从检测过去运动矢量的结果中获得的非常可靠的运动矢量作为用作在梯度法中使用的初始值的初始矢量V0输出给用于每个预定块的递归梯度操作单元103。具体地说,初始矢量选择单元101将在周边块通过中获得的运动矢量作为初始矢量的候选矢量,这些矢量存储在检测矢量存储器53中并且为存储在移位初始矢量存储器107中的移位初始矢量。初始矢量选择单元101通过使用帧t和帧t+1找出候选矢量的评估值DFD,并根据所获得的评估值DFD从候选矢量中选择最可靠的矢量。初始矢量选择单元101将所选的矢量作为初始矢量V0输出。下面将对初始矢量选择单元101的结构的细节进行说明。
前置滤波器102-1和102-2由低通滤波器或高斯滤波器形成。前置滤波器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。
矢量计算单元104从递归梯度操作单元103和运动矢量Vn中找出运动矢量Vn-1(或初始矢量V0)的评估值DFD,并且根据所获得的评估值DFD控制递归梯度操作单元103以递归地进行梯度操作。最后,矢量评估单元104根据评估值DFD选择非常可靠的矢量,并且将所选的矢量作为运动矢量V存储在检测矢量存储器53中。然后,矢量评估单元104将运动矢量V的评估值DFD与运动矢量V一起提供给移位初始矢量分配单元105。
在从矢量评估单元104给移位初始矢量分配单元105提供运动矢量及其评估值DFD时,在移位初始矢量分配单元105中,在下一帧中通过所关心的块的运动矢量设定作为偏移到所关心块的移位初始矢量。换句话说,移位初始矢量分配单元105将这样一个运动矢量设定作为移位初始矢量,该矢量作为初始点具有其位置与在运动矢量V的终端点处的块相同的在下一帧中的所关心块并且在幅度和取向方面与运动矢量V相同。移位初始矢量分配单元105将所设定的移位初始矢量以与所关心的块相关联的形式分配给移位初始矢量存储器107。
具体地说,移位初始矢量分配单元105将以与所关心块相关的形式作为移位初始矢量分配的运动矢量V的评估值DFD存储在评估值存储器106中。移位初始矢量分配单元105将评估值DFD与通过所关心的相同块的另一个运动矢量的评估值DFD比较(即,在其位置与所关心块相同的过去帧中的块用作终端点)。随后,移位初始矢量分配单元105使根据评估值DFD而非常可靠的运动矢量偏移至所关心的块,并且将移位运动矢量作为在所关心的块中的移位初始矢量分配给移位初始矢量存储器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)表示水平、垂直和时基梯度(在差值方面的差异),通过下面公式(2)在Taylor扩展近似中表示出移位像素的亮度。
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表示出运动补偿帧间差的平方和,从而通过以下公式(6)表示出E。
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时获得其中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 = - ( Σ Δy 2 ) ( ΣΔtΔx ) - ( ΣΔxΔy ) ( ΣΔtΔy ) ( Σ Δx 2 ) ( Σ Δy 2 ) - ( ΣΔxΔy ) 2
vy = - ( ΣΔ x 2 ) ( ΣΔxΔy ) - ( ΣΔxΔy ) ( ΣΔtΔx ) ( ΣΔ x 2 ) ( ΣΔ y 2 ) - ( ΣΔxΔy ) 2 . - - - ( 9 )
图10用于具体说明。在图10中的示例中,箭头X表示水平方向,并且箭头Y表示垂直方向。另外,箭头T表示从设置在图10的背景右侧上的在时刻t处帧t到设置在图10的前景的左侧上的在时刻t+1处的帧t+1的时间流逝方向。在图10中的示例中,在每个帧中,只是将用在梯度操作中的8个像素乘以8个像素的区域显示为由参考字母p表示的在所关心像素周围的周边区域(块)。
当在帧t中通过使用梯度法找出设置在从顶左边像素向下第五排中并且在从顶左边像素向右第五列中的所关心像素p的运动矢量V(vx,vy)时,通过对于在所关心像素p周围的周边区域(8×8像素)中的所有像素的每一个找出在沿着所关心像素的x和y方向获得的相邻像素px和py之间的亮度差中的差异(即梯度)Δx和Δy、相对于与所关心像素p同相设置的像素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中,不是设置成与所关心像素p同相的像素q0,而是提前找到的初始像素v0被偏置(移动)以计算位置(像素)q1。进行第一梯度操作,并且将位置q1作为初始点。这产生出运动矢量V1。
接下来,通过将通过从像素q0偏置v0+v1而计算出的位置作为初始点来进行第二梯度操作。这产生出运动矢量v2。因此,将运动矢量V用以下公式(10)表示。
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输入的初始矢量V0,从而递归梯度操作单元103递归地进行梯度操作以根据运动矢量评估结果计算出运动矢量Vn。另外,矢量评估单元104找出运动矢量Vn-1和运动矢量Vn的评估值DFD,根据所获得的评估值DFD选择非常可靠的运动矢量,并且将所选运动矢量作为运动矢量V存储在检测矢量存储器53中。这时,矢量评估单元104将运动矢量V的评估值DFD与运动矢量V一起提供给移位初始矢量分配单元105。下面将对在步骤S103中的递归梯度操作的细节进行说明。
在步骤S104中,移位初始矢量分配单元105执行移位初始矢量分配过程,并且前进至步骤S105。在从矢量评估单元104给移位初始矢量分配单元105提供运动矢量V及其评估值DFD时,在步骤S104中,在移位初始矢量分配单元105中,将经过在下一帧中的所关心块的运动矢量设定作为偏移至所关心块的移位初始矢量。换句话说,将这样一个运动矢量设定作为移位初始矢量,该矢量具有其位置与在运动矢量V的终端点处的块相同的在下一帧中的所关心块作为初始点并且在幅度和取向方面与运动矢量V相同。移位初始矢量分配单元105将所设定的移位初始矢量以与所关心的块相关联的形式分配给移位初始矢量存储器107。
具体地说,移位初始矢量分配单元105将以与所关心块相关的形式作为移位初始矢量分配的运动矢量V的评估值DFD存储在评估值存储器106中,将评估值DFD与通过所关心的相同块的另一个运动矢量的评估值DFD比较(即,在其位置与所关心块相同的过去帧中的块用作终端),使非常可靠的运动矢量(根据评估值DFD)偏移至该块以便作为移位初始矢量,并且按照与移位块相关的形式将移位初始矢量分配给移位初始矢量存储器107。下面将对移位初始矢量分配单元105的结构细节进行说明。
在步骤S105中,初始矢量选择单元101确定在帧t的所有块上的处理是否已经完成。如果确定在帧t的所有块上的处理还没有完成,则该过程返回到步骤S101,并且反复进行随后的步骤。如果在步骤S105中初始矢量选择单元101已经确定在帧t的所有块上的处理已经完成,即如果初始矢量选择单元101已经确定在帧t的所有块的每一个中已经检测出运动矢量V,则该运动矢量检测过程终止。
如上所述,从在过去检测出的运动矢量之中选择出初始矢量,并且根据所选的初始矢量采用梯度操作来反复计算出运动矢量。从所计算出的运动矢量中,检测出基于评估值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的评估值更小时,评估值比较单元202控制移位初始矢量更换单元203,从而在移位初始矢量存储器107中通过基于评估值DFD被确定为非常可靠的运动矢量V重写在由移位初始矢量分配单元105提供的块的位置处的移位初始矢量。同时,评估值比较单元202控制评估值更换单元204以通过运动矢量V的评估值DFD重写由分配位置计算单元201选择的块位置的评估值DFD。
移位初始矢量更换单元203在移位初始矢量存储器107中通过从评估值比较单元202提供的运动矢量(即其幅度和取向与运动矢量V相同的运动矢量)重写在由分配位置计算单元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中的运动矢量偏移至块Bt而获得的运动矢量由偏移初始矢量SV表示(在图14中的虚线箭头)。在该情况中,偏置块表示块Bt,其位置与在帧t-1中检测出的运动矢量V的终端点处的块相同。术语“偏移”指的是,其取向与在帧t-1中检测出的运动矢量V相同的运动矢量的初始点被用作在帧t中的块Bt,其位置与在帧t-1中的运动矢量V的终端点处的块相同。换句话说,移位初始矢量SV为这样一个运动矢量,它以与在帧t-1中检测出的运动矢量的终端点处的块具有相同位置的帧t中的方框Bt作为初始点。
一般来说,在顺序帧之间,运动对象的运动量具有一定的连续性并且稍微变化。因此,在图14中的示例中,当在块B上的对象以恒定的速度或与之接近的速度运动时,在许多情况中,在块Bt中的运动矢量也用作运动矢量V或与之接近的运动矢量。
因此,在通过使用该移位初始矢量SV作为对于梯度操作给出的初始候选矢量来检测所关系的块Bt的运动矢量的情况下,与只使用周边块的运动矢量作为初始候选矢量的情况现比,能够在通过梯度操作进行的运动矢量检测中获得更适当的初始矢量。
下面将参照图15和16对前面进行具体说明。在图15和16中,在每个帧中,显示出九个块。
图15显示出具有较大运动的对象经过的块以及周边块的运动矢量的示例。在图15的情况中,由一个块形成的对象O1的图像对象具有运动较大的运动矢量V1,并且从在帧t-1中的最右端块(从左开始的第九块)经由从在帧t中的左边开始第五块运动到在帧t+1中最左边块。另外,由四个块形成的对象O2具有运动矢量V1,其运动小于运动矢量V1的运动,它从在帧t-1中从左边开始的第三至第六(四个)块经由在帧t+1中从左边开始的第四至第七(四个)块运动到在帧t+1中从左边开始的第五至第八(四个)块。换句话说,在帧t中从左边开始第五个块中,对象O1的图像对象和对象O2的图像对象彼此相交,并且对象O1的图像对象设置在前面。
这时,为了在帧t中检测从左边开始第五块的运动矢量,其中对象O1的图像对象作为运动矢量V1通过,如果从周边块的运动中提取初始矢量,则由于对象O2的图像对象以与对象O1的图像对象不同的矢量V2形式在周边块(第四或第六块)中通过,所以不存在任何适当的运动矢量。即使在这种情况中,移位初始矢量SV1(由在图15中的虚线箭头所示的)为通过使在过去帧T-1中检测出的运动矢量V1偏移至在帧t中从左边开始的第五块而获得的运动矢量(即,这样一个运动矢量,其幅度和取向与运动矢量V1相同,并且其初始点为其位置与在帧t-1中检测出的运动矢量V1的终端点处的块相同的块(在帧t中))。因此,确保了能够获取移位初始矢量SV1。
图16显示出在运动对象的边界上的块以及周边块的运动矢量的示例。在图16所示的情况中,由一个块形成的对象O3的图像对象具有运动矢量V3,并且从在帧t-1处从左边开始第六个块经由在帧t中从左边开始第五个块运动到在帧t+1中从左边开始第四个块。另外,由至少九个块形成的对象O4的图像对象具有与运动矢量V1不同的运动矢量V4,从在帧t-1中的所有九个块经由在帧t中从左边开始第二至第九(八个)块运动到在帧t+1中从左边开始第三至第九(七个)块。换句话说,对象O3的图像对象在从在帧t-1中的左边开始第六个块、从在帧t中的左边开始第五个块和从在帧t+1中的左边开始第四个块中在对象O4的图像对象前面通过。
这时,如果从周边块的运动中提取初始矢量以便检测从左边开始第五个块的运动矢量,其中对象O3的图像对象以运动矢量V3的形式通过,则由于在周边块(从左边开始第四或第六块)中对象O4的图像对象以与对象O3的图像对象不同的运动矢量V4形式通过,所以不存在任何适当的运动矢量。但是,还有在该情况中,与在图15中的情况类似,移位初始矢量SV3(由虚线箭头所示的)为通过使在过去帧t-1中检测出的运动矢量V3偏移至在帧t中从右边开始第五个块而获得的矢量,即所获得的矢量在幅度和取向方面与运动矢量V3相同,并且以在帧t中其位置与在帧t-1中检测出的运动矢量V3的终端点处的块相同的块为初始点。因此,确保了能够获取移位初始矢量SV3。
如上所述,对于如图15所示具有较大运动的对象以及如图16所示运动对象的边界,在许多情况中,能够用作在将要从中检测运动矢量的所关心块中的初始候选矢量的周边块没有任何最佳运动矢量作为在所关心块中的初始矢量。相反,由于移位初始矢量为其幅度和取向与其初始点为在帧t中其位置与在过去帧t-1中检测出的运动矢量终端点处的块相同的块的运动矢量相同的运动矢量,所以移位初始矢量并不取决于在块之间的空间距离。因此,即使在周边块中不存在任何适当的运动矢量作为在所关心块中的初始矢量的情况中,也确保了获得移位初始矢量,并且可以将移位初始矢量用作最佳初始候选矢量。
回过来参照图14,下面将对用于确定移位初始矢量的方法进行说明。在图14所示的情况中,在使用在帧t中受到运动矢量检测过程的所关心块Bt作为参考的同时搜索在所关心块Bt中通过的运动矢量的情况中,必须搜索在帧t-1中的所有块的运动矢量。这需要大量的处理。因此在该情况中,当进行运动矢量检测时,必须进行大量处理所需的非常多的操作。因此,难以实施(以硬件形式)大量处理。
因此,当在帧t-1中进行运动矢量检测时,偏移初始矢量分配单元105找出块(即,在帧t中其位置与在运动矢量V的终端点处的块相同的块)的位置,其中在所关心块Bt中检测出的运动矢量V在下一个时间处的帧t中通过,并且提前将运动矢量V分配作为块Bt的移位初始矢量SV。这减少了搜索在帧t中进行运动矢量检测所需的移位初始矢量的操作数量,并且建立了所需的硬件。因此,实际上能够使用移位初始矢量作为初始候选矢量。
下面参照图17对通过移位初始矢量分配单元105确定移位初始矢量的方法进行具体说明。
在图17中所示的示例中,箭头T表示从在时刻t-1处前左边帧t-1到在时刻t处的背景右边帧t的经过时间。在这些帧中的圆圈表示像素。
在帧t-1中,块B0由4×4像素构成。当在块B0中检测出的运动矢量由Vb表示时,通过使块B0偏置(在其上进行运动补偿)以便处于帧t中而获得的偏置块(在帧t中其位置与在块B0的运动矢量Vb的终端点处的块相同的块)A0一般与在帧t中的四个块Bt1至Bt4重叠,每个块由4×4像素构成。因此,在图17中的情况中,在与偏置块A0重叠的块Bt1至Bt4中的所有四个块用作其上要分配运动矢量Vb的块。
如上所述,在前面帧中检测出的运动矢量被分配作为移位初始矢量。在该情况中,所要分配的块的位置取决于运动矢量的幅度和取向。因此,如图18所示,根据在帧t-1中检测出的运动矢量分布,在帧t中,对多个移位初始矢量进行分配,从而产生出冲突块以及相反地其上没有分配给移位初始矢量的块。
图18显示出移位初始矢量分配的示例。在图18中的该示例中,在这些帧之间的每个分隔部分表示块边界。在帧t-1中,块B1至B5在图18中显示出从左边开始,并且在帧t中,显示出块Bt1至Bt5在图18中从左边开始。
在块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中的情况中,为了简化说明,以与帧t稍微偏移的形式显示出偏置块A。
图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中,从矢量评估单元104将运动矢量V及其评估值DFD输入给评估值比较单元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选择的分配块(在移位初始矢量存储器207)的移位初始矢量。前进至步骤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的终端点处的块相同的块,并且将在所获得的块中的运动矢量分配作为在下一次帧中的所关心块中的移位初始矢量。因此,与从在前一次的帧中的所有块中的所有运动矢量中搜索通过所关心块的运动矢量的情况相比,减少了处理所需的操作数量。因此,实现了由于操作数量巨大而很难以实现的硬件结构。
接下来将对评估值比较单元202的结构的细节进行说明。
图21为一方框图,显示出初始矢量选择单元101的结构。在初始矢量选择单元101中,其结构在图21中显示出,从候选矢量(下面也被称为“初始候选矢量”)例如在前一(过去)帧中检测出的运动矢量以及移位初始矢量中,选择非常可靠的运动矢量作为初始矢量。将在时刻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将已经由评估值比较单元256确定为具有较小评估值DFD(非常可靠)的初始候选矢量作为最佳候选矢量与其评估值DFD一起存储。在评估值比较单元256的控制下,最佳候选矢量存储寄存器257将最终存储的最佳候选矢量作为初始矢量V0输出给递归梯度操作单元103。
图22显示出可以用作初始矢量的候选块的周边区域。在图22中所示的示例中,箭头T表示从在图22中设置在前景左边上的在时刻t-1处的过去(前面)帧t-1到设置在背景右侧上的在时刻t的当前帧t的时间流逝方向。在图22中所示的示例中,可以用作初始候选矢量的周边区域由在所关心块Bt周围的7×7个块形成,并且每个块由4×4个像素构成。
从帧的顶左边块开始按照光栅扫描的顺序执行运动矢量检测过程。因此,在当前帧t中的所关心块Bt上进行的运动矢量检测中,在初始矢量选择单元101中,可以将直到最后块的检测运动矢量的结果作为初始候选矢量。
换句话说,在所关心块Bt周围的周边区域由在处理所关心块Bt之前处理的块CVB和在处理所关心块Bt之后处理的块PVB构成。因此,在找出所关心块Bt的初始矢量时,可以从在块CVB中的当前帧t中检测出的运动矢量(当前矢量CV)以及在块PVB的过去帧t-1中检测出的运动矢量(过去矢量)中选择初始候选矢量。在该情况中,也可以将分配给在相同周边区域中的块的移位初始矢量用作初始候选矢量。
图23显示出在候选矢量位置操作单元251中设定的初始矢量的候选块的示例。在图23中所示的示例中,在所关心块Bt周围的周边区域中,可以将带有字母数字符号的八个预定块设定为从中要获取初始候选矢量的候选块。在八个预定块的每一个中,在它们之间具有斜线标记的符号分别表示“初始候选矢量类型”和“优先级”。在这些初始候选矢量类型之中,字母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用作具有“第四”优先级的初始候选矢量。
从7×7像素的周边区域的顶左角开始的下右边块的代表符号“C/6”表示在当前帧t中检测出的块的当前矢量CV用作具有第六优先权的初始候选矢量。从7×7像素的周边区域的顶右角开始的下左边块的代表符号“C/5”表示在当前帧t中检测出的块的当前矢量CV用作具有第五优先级的初始候选矢量。从7×7像素的周边区域的底左角开始的上右边块的代表符号“P/7”表示在过去帧t-1中检测出的块的过去矢量PV用作具有第七优先级的初始候选矢量。从7×7像素的周边区域的右下角开始的上左边块的代表符号“P/8”表示在过去帧t-1中检测出的块的过去矢量PV用作具有第八优先级的初始候选矢量。
如上所述,在图23中所示的示例中,在所关心块Bt和与之相邻的块之中,将所关心块Bt以及从所关心块Bt开始左边附近、上右边和下右边块的矢量用作初始候选矢量。在没有与所关心块Bt相邻的块之中,选择在从7×7像素的周边区域角部在内部偏移1个块的位置处的块矢量。
换句话说,在图23中所示的示例中,如此设定优先级,从而与所关心块Bt相邻(在空间和时间上与之接近)的块具有比距离一定距离的块更高的优先级,并且在当前帧t中检测出的当前矢量具有比在过去帧t-1检测出的过去帧更高的优先级。根据空间相关性、时间相关性等设定上面初始候选矢量的位置、类型和优先级,不仅包括在所关心块Bt附近的块而且还包括距离一定距离的块,以便从最少数量的候选矢量中获得可能的初始候选矢量。因此,按照这种方式,通过使用提前设定的预定块的运动矢量作为初始候选矢量,从而可以减少由于初始候选矢量数量增加而导致算术运算数量庞大。
候选块的类型和位置不限于在图23中的示例。可以采用其它块类型和其它块位置。另外,在考虑没有存在任何最佳矢量的情况时,可以使用在这种情况中抑制衰退的零矢量。还有,候选块的数量可以大于或小于八个。
下面参照在图24中所示的流程图对初始矢量选择过程的细节进行说明。
在步骤S251中,候选矢量位置操作单元251从所关心的选定块周围的周边区域中找出从中要获取初始候选矢量的候选块的位置以及初始候选矢量的类型和优先级,位置、类型和优先级都是提前设定的。在步骤S252中,候选矢量位置操作单元251确定在候选块中的初始候选矢量的类型是过去矢量和当前矢量中的哪一个。如果在步骤S252中候选矢量位置操作单元251已经确定在候选块中的初始候选矢量的类型为过去和当前矢量中的一个,则该过程前进至步骤S253。在步骤S253中,候选矢量位置操作单元251给检测矢量获取单元252提供候选块的位置信息和初始候选矢量的类型信息。在候选矢量位置操作单元251的控制下,检测矢量获取单元252根据候选块的位置信息和初始候选矢量的类型信息从检测矢量存储器53中获取运动矢量(过去矢量PV或当前矢量CV),并且将所获取的运动矢量输出给偏置位置操作单元254。该过程前进至步骤S257。
如果在步骤S252中候选矢量位置操作单元251已经确定在候选块中的初始候选矢量的类型不是过去和当前矢量中的一个,则该过程前进至步骤S254。在步骤S254中,候选矢量位置操作单元251确定在候选块中的初始候选矢量的类型是否为移位初始矢量。如果在步骤S254中候选矢量位置操作单元251已经确定在候选块中的初始候选矢量的类型为移位初始矢量,则该过程前进至步骤S255。在步骤S255中,候选矢量位置操作单元251给移位初始矢量获取单元253提供候选块的位置信息和初始候选矢量的类型信息。另外,在候选矢量位置操作单元251的控制下,移位初始矢量获取单元253从移位初始矢量存储器107中获取与候选块的位置信息对应的移位初始矢量,并且将所获取的移位初始矢量输出给偏置位置操作单元254。该过程前进至步骤S257。
如果在步骤S254中候选矢量位置操作单元251已经确定在候选块中的初始候选矢量类型不是移位初始矢量,即它确定在候选块中的初始候选矢量类型为零矢量,则该过程前进至步骤S256。候选矢量位置操作单元251将零矢量设定作为初始候选矢量,并且将候选矢量的位置信息与零矢量一起提供给偏置位置操作单元254。该过程前进至步骤S257。还有在步骤S253和S255中,候选矢量位置操作单元251将候选块的位置信息提供给偏置位置操作单元254。
在步骤S257中,在接收到由检测矢量获取单元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中评估值比较单元256用被确定更可靠的初始候选矢量及其评估值DFD将在最佳候选矢量存储寄存器257中的最佳候选矢量及其评估值DFD重写。
如果在步骤S259中评估值比较单元256已经确定由评估值操作单元255获得的评估值DFD小于存储在最佳候选矢量存储寄存器257中的最佳候选矢量的评估值DFD,则跳过步骤S260,并且该过程前进至步骤S261。
在步骤S261中,候选矢量位置操作单元251确定在所有初始候选矢量(在图23中所示的示例中的八个矢量)上的处理是否已经完成。如果候选矢量位置操作单元251已经确定在所有初始候选矢量上的处理还没有完成,则该过程返回到步骤S252,并且反复进行随后的步骤。
如果在步骤S261中候选矢量位置操作单元251已经确定在所有初始候选矢量上的处理已经完成,则该过程前进至步骤S262。评估值比较单元256控制最佳候选矢量存储寄存器257将所有初始候选矢量输出给递归梯度操作单元103,并且在所有初始候选矢量之中被确定具有最高可靠性的最佳候选矢量作为初始矢量V0。初始矢量选择过程终止。
如上所述,在所关心的块中找出多个初始候选矢量的评估值DFD之后,能够将具有最小评估值DFD即最高可靠性的初始候选矢量选择作为初始矢量。因此,可以给出在随后阶段中用于运动矢量检测的最佳初始矢量。这导致在随后阶段中的运动矢量检测的精度增加。在该步骤中,通过使用提前设定的预定块的运动矢量作为初始候选矢量,从而可以减少由于初始候选矢量数量增加而导致的算术运算数量庞大。
基于运动对象的运动量在顺序帧之间具有一定的连续性并且运动量稍微变化这个事实,将作为从前一帧到所关心的块的运动矢量的移位初始矢量用作初始候选矢量。因此,如在现有技术中一样,与只使用在周边块中获得的过去运动矢量作为初始候选矢量的情况相比能够进行精度更高的运动检测。这在运动对象的边界中尤为有效。
接下来将对递归梯度操作单元103的结构细节进行说明。
图25为方框图,显示出递归梯度操作单元103的结构。该递归梯度操作单元103通过使用所输入的在时刻t的帧t和在时刻t+1的帧t+1来进行最佳运动矢量检测过程。该运动矢量检测过程对于由多个像素构成的每个预定块进行。在每个块中,递归梯度操作单元103通过在块单元中或在像素单元中反复执行梯度操作根据评估值DFD输出非常可靠的最佳运动矢量。
通过前置滤波器102-1和102-2将在时刻t处的帧t和在时刻t+1处的帧t+1输入给递归梯度操作单元103,并且从初始矢量选择单元101将初始矢量V0输入给递归梯度操作单元103。
在有效像素确定单元403的控制下,对于每个预定块,模式选择单元401选择用于梯度操作的处理模式,并且从初始矢量选择单元101将初始矢量V0输出给选择器402和矢量评估单元104。用于梯度操作的处理模式由使用块作为从中检测运动矢量的块的块单元处理模式和使用像素作为从中检测出运动矢量的像素的像素单元处理模式构成。块单元处理模式被选择作为初始值。在矢量评估单元104的控制下,选择器402将来自模式选择单元401的初始矢量V0和从梯度操作单元404输出的运动矢量Vn中的一个作为用作梯度操作的初始值的运动矢量(下面被称为“偏置矢量”)输出给有效像素确定单元403和梯度操作单元404。
当接收到由选择器402选择的偏置矢量时,通过使用分别通过前置滤波器102-2和102-1输入的在时刻t处的帧t和在时刻t+1处的帧t+1同时使用通过使偏置矢量偏置计算出的位置作为起始点,从而有效像素确定单元403确定出在任一单元处理模式中的操作块中在梯度操作中的有效像素数量是否大于阈值。有效像素确定单元403根据确定结果在处理方法之间切换。换句话说,如果有效像素确定单元403已经确定在梯度操作中的有效像素数量等于或小于阈值,则有效像素确定单元403控制模式选择单元410将处理模式或预定块改变为像素单元处理模式,并且停止梯度操作。如果有效像素确定单元403已经确定在梯度操作中的有效像素数量大于阈值,则有效像素确定单元403控制梯度操作单元404在任一处理单元中执行梯度操作。
当接收到从选择器402输入的偏置矢量时,通过使用分别通过前置滤波器102-2和l02-1输入的在时刻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-2和102-1输入的在时刻t处的帧t和在时刻t+1处的帧什1计算出所选像素的时基像素差异Δt,并且将所计算出的时基像素差异Δt输出给像素差异确定单元412。
像素差异确定单元412确定由时间像素差异计算单元411计算出的时基像素差异Δt是否小于预定阈值(下面被称为“像素差异”)。如果像素差异确定单元412确定时基像素差异Δt小于预定像素差异,则像素差异确定单元412将有效像素计数器413的有效像素数量增加10有效像素计数器413统计由像素差异确定单元412在每个操作块中确定为有效像素的像素数量。有效像素计数器413在每个操作块中重置。
梯度操作持续性确定单元414确定在任一单元处理模式中的操作块中用于梯度操作的有效像素数量是否小于阈值。如果梯度操作持续性确定单元414已经确定在任一单元处理模式中的操作块中用于梯度操作的有效像素数量大于阈值,梯度操作持续性确定单元414输出一标志(flg=1),从而使得梯度操作单元404在任一单元处理模式中执行梯度操作。如果梯度操作持续性确定单元414确定在任一单元处理模式中的操作块中用于梯度操作的有效像素数量小于阈值,则梯度操作持续性确定单元414控制模式选择单元401选择另一单元处理模式,并且向梯度操作单元404输出中止梯度操作的标志(flg=0)。
图27为一详细方框图,显示出梯度操作单元404的结构。在图27中所示的示例中,梯度操作单元404包括时间像素差异计算单元42l、像素差异确定单元422、水平垂直像素差异计算单元423、梯度累积单元424和矢量计算单元425。
时间像素差异计算单元421根据从有效像素确定单元403输入的标志控制梯度操作单元404的部分。换句话说,在标志表示1(flg=1)时,时间像素差异计算单元421允许梯魔操作单元404的部分执行梯度操作。具体地说,在接收到来自有效像素确定单元403的标志时,通过使用分别通过前置滤波器102-2和102-1输入的在时刻t的帧t和在时刻t+1的帧t+1,从而时间像素差异计算单元421从选择器402选择出在通过使偏置矢量偏置而计算出的像素周围的在任一单元处理模式中的操作块中的像素,计算出所选像素的时基像素差异Δt,并且将所计算出的时基像素差异Δt和偏置矢量输出给像素差异确定单元422。另外,当在操作块中的像素上的处理完成时,时间像素差异计算单元421将偏置矢量输出给矢量计算单元425,并且控制矢量计算单元425计算在受到检测的块中的运动矢量。
可选的是,在标志表示零(flg=O)时,时间像素差异计算单元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-2和102-1输入的在时刻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像素构成的块(下面被称为“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在帧t中的8×8像素检测块中代表在图30的左侧上的在从顶部开始的下面第五排中的像素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小于设定的预定像素差异,则确定该像素有助于运动矢量检测(在其中是有效的),并且在进行运动矢量检测的情况中在梯度法中使用该像素。当时基像素差异Δt不小于所设定的预定像素差异时,确定该像素被认为具有产生运动不规则性的可能,并且在进行运动矢量检测的情况中将像素排除进行梯度操作。这防止了包括不同的运动,从而执行更可靠的梯度操作。因此,检测出可能的运动矢量。
但是,由于如上所述梯度操是基于通过将像素分成用在梯度操作中的像素和在梯度操作中没有使用的那些像素来进行的最小二乘方法即统计方法的算术运算,所以用在梯度操作中的像素大大减少。如果采用这种极少的像素来进行梯度操作,则操作可靠性降低,因此造成在运动矢量检测精度中降低的可能。
因此,当用在梯度操作中的像素数量较少时,有效像素确定单元403将在检测块(8×8像素)的处理单元中的梯度操作认为是不稳定的,并且通过切换到用于在8×8像素块中的像素(64个)的每一个的操作单元来进行处理。
图32为在像素单元处理中的操作块的示例的示意图。在图32中所示的示例显示出当将在帧中的检测块K(8×8像素)切换到像素单元处理时,用于像素p的操作块E(在图32中由9×9像素构成)设置在检测块K的左上端部处。
换句话说,在找出像素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像素)中进行像素单元处理,它由具有两个不同运动的像素即具有由箭头A所示的倾斜左向上运动的像素(粗圆圈)和具有由箭头B所示的水平向右运动的像素(细圆圈)构成。在该情况中,当检测在受到检测的检测块K中的左上端检测像素p的运动矢量时,使用在检测像素p周围的操作块E(9×9像素块)。
除了在右下角中具有由箭头B所示的水平向右运动的三个像素(细圆圈)之外,在操作块E中的像素具有由箭头A所示的倾斜左向上运动。与块单元处理的情况类似,对于在操作块E的每个像素而言,根据时基像素差异Δt设定预定阈值(像素差异)。当时基像素差异Δt小于设定的阈值时,确定该像素有助于运动矢量检测,并且在进行运动矢量检测的情况中在梯度操作中使用该像素。当时基像素差异Δt大于设定的阈值时,确定该像素具有在运动中产生不规则性的可能,并且在进行运动矢量检测的情况中在梯度操作中没有使用该像素。
换句话说,在图33中的示例中,在操作块E中,除了在右下角中的三个像素(细圆圈)之外的像素(粗圆圈)被确定为在检测像素p的梯度操作中是有效的。将这些有效像素用来执行梯度操作。因此,与在通过使用在图29中所示的检测块K(8×8像素)作为操作块执行的块单元处理中的梯度操作相比,执行了更稳定的梯度操作,从而检测出可能的运动矢量。
在每个像素的操作块中,当由于将像素分成用在梯度操作中的像素和在梯度操作中没有使用的那些像素所以用在梯度操作中的像素极度减少时,确定运动矢量检测是危险的,并且中止梯度操作。换句话说,这是因为如果确定尽管运动矢量检测不稳定也检测具有一些幅度的运动,则所检测出的运动矢量也许不可能,即它可能与在实际图像中的对象的运动不匹配。在许多情况中,通过使用不可能的运动矢量来执行随后的处理(例如,矢量分配处理或矢量补偿过程)而产生出的图像会具有视觉衰退例如不连续运动和出现块噪声。
因此,当用在像素梯度操作中的像素极度减少时,例如将零矢量(即,静止状态)用作检测运动矢量。这防止了运动矢量影响随后的处理,因此抑制了在所产生图像中出现较大视觉衰退。
接下来将参照图34A至34C中的流程图对递归梯度操作过程的细节进行说明。在图34A中的示例显示出基于包括块单元、像素单元和零矢量处理模式的块标准组合进行的递归梯度操作过程。块标准指的是,对于在其中有效像素数量大于阈值的情况中在块单元处理模式中不是在操作块中的有效像素的像素而言,在块单元处理模式中的操作块不能切换到在像素单元处理模式中的操作块(也就是说,甚至对于在块单元处理模式中不是在操作块中的有效像素的像素而言,也进行块单元处理模式计算)。在图34B中的示例显示出递归梯度操作过程,它包括块单元和零矢量处理模式的组合。
在图34C中的示例显示出基于包括块单元、像素单元和零矢量处理模式的像素标准组合进行的递归梯度操作过程。像素标准指的是,对于在其中有效像素数量大于阈值的情况中在块单元处理模式中不是在操作块中的有效像素的像素而言,在块单元处理模式中的操作块切换到在像素单元处理模式中受到检测的操作块。换句话说,像素标准指的是对于在块单元处理模式中的操作块中不是有效像素的像素而言,进行在像素单元处理模式中的计算。
首先将参照在图34A中的流程图显示出递归梯度操作过程的示例。从前面阶段将初始矢量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在块单元中输出标志(flg=1),用于允许梯度操作单元404执行梯度操作。该过程前进至步骤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更可靠。具体地说,例如在第一处理中,将初始矢量V0的评估值DFD(0)与所获得的运动矢量V1的评估值DFD(1)进行比较。在第二处理中,将所获得的运动矢量V2的评估值DFD(2)与所获得的运动矢量V1的评估值DFD(1)进行比较。
如果在步骤S406中确定评估值DFD(n)小于评估值DFD(n-1)即运动矢量Vn比运动矢量Vn-1更可靠,则在步骤S407中矢量评估单元104设定所计算的运动矢量(在第一次中为运动矢量V1,在第二次中为运动矢量V2)作为在检测块中的运动矢量V。该过程前进至步骤S408,矢量评估单元104在该过程前进至步骤S409之前将重复次数n增加1。在步骤S409中,矢量评估单元104确定重复次数n是否已经到达所设定的最大重复次数(例如,两次)。如果在步骤S409中确定重复次数n还没有到达所设定的最大重复次数,则矢量评估单元104如此控制选择器402,从而该过程返回到步骤S402并且重复随后的步骤。
换句话说,在步骤S402中,存储在延迟单元405中的运动矢量V1在从矢量计算单元425输出之后由选择器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中,用作在梯度操作中的偏置量的运动矢量Vn-1(在第一次中为初始矢量V0,在第二次中为运动矢量V1)由矢量评估单元104设定作为在检测块中的运动矢量V,并且该过程前进至步骤S411。如果在步骤S409中确定重复次数已经达到设定的最大重复次数,则矢量评估单元104前进至步骤S411。
在步骤S411中,矢量评估单元104确定运动矢量V是否设置在提前设定作为运动矢量检测范围的搜索区域中。如果确定运动矢量V设置在该搜索区域中,则矢量评估单元104前进至步骤S415,并且按照与检测块相关的形式将运动矢量V存储在检测矢量存储器53中。之后,该过程结束。
另外,如果在步骤S411中确定运动矢量V没有设置在搜索区域中,则该矢量评估单元104前进至步骤S412并且将运动矢量V设定作为零矢量。前进至步骤S415,矢量评估单元104将运动矢量V(零矢量)存储在检测矢量存储器53中,并且结束了该递归梯度操作过程。
如果在步骤S404中确定在有效像素计数器413中的有效像素数量等于或小于预定阈值α,则该梯度操作持续性确定单元414前进至步骤S413。在步骤S413中,梯度操作持续性确定单元414控制模式选择单元401在前进至步骤S414之前选择像素单元处理模式。这使得递归梯度操作单元103的每一个部分能够在像素单元中执行处理。在步骤S414中,模式选择单元401执行像素单元递归梯度操作过程,并且前进至步骤S415。下面将参照图37对像素单元梯度操作过程的细节进行说明。由于在像素单元中的递归梯度操作过程找出在检测块中的所有像素的运动矢量,所以在步骤S415中,矢量评估单元104按照与在检测块中的每个像素相关的形式将每个运动矢量V存储在检测矢量存储器53中,并且该递归梯度操作过程结束。
在上述步骤S406中,通过将在梯度操作过程中获得的运动矢量Vn的评估值DFD(n)和用作偏置矢量的运动矢量Vn-1的评估值DFD(n-1)进行比较来进行运动矢量可靠性的评估。与比较评估值DFD同时,该评估也可以通过确定在梯度操作中获得的运动矢量(在加入偏置矢量之前获得的运动矢量)的范数值(|vn|)是否小于预定幅度(例如,在8×8像素操作块中的情况中为16)。
范数代表在矢量空间中的矢量大小。例如,从原点(0,0)到(x,y)的矢量v的范数由下面的公式(11)表示。
| v | = x 2 + y 2 ( 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,并且将所计算出的时基像素差异Δt输出给像素差异确定单元412。该过程前进至步骤S434。
在步骤S434中,像素差异确定单元412确定由时间像素差异计算单元411计算出的时基像素差异Δt是否小于预定像素差异即所计算出的时基像素差异Δt在随后阶段中的梯度操作中是否有效。如果确定所计算出的时基像素差异Δt小于预定像素差异,则该过程前进至步骤S435。像素差异确定单元412将在有效像素计数器413中的有效像素数量增加1,并且该过程前进至步骤S436。如果在步骤S412中确定时基像素差异Δt等于或大于预定像素差异,则像素差异确定单元412确定该时基像素差异Δt在随后阶段中的梯度操作中不是有效的,并且跳过步骤S435并且前进至步骤S436。
在步骤S436中,时间像素差异计算单元411确定在操作块中的所有像素上的处理是否已经完成。如果时间像素差异计算单元411已经确定在操作块中的所有像素上的处理还没有完成,则该过程返回到步骤S432,并且选择下一个像素以重复随后的步骤。如果在步骤S436中时间像素差异计算单元411已经确定在操作块中的所有像素上的处理已经完成,则有效像素确定过程结束以返回到在图34中的步骤S404。
在上面的过程中,有效像素计数器413具有像素的计数,在每个像素中像素差异Δt都小于预定像素差异,并且该像素在随后阶段中的梯度操作中是有效的。因此,通过参照在图34中的步骤S404中的有效像素计数器413的像素数量,梯度操作持续性确定单元414能够确定是否进行块单元梯度操作或者是否进行像素单元梯度操作。
在上面的说明中,已经描述了在包括块单元、像素单元和零矢量处理模式的组合的块标准中的递归梯度操作。
接下来,将参照在图34B中的流程图对包括块单元和零矢量处理模式的组合的递归梯度操作过程进行说明。在图34B中的该递归梯度操作过程的不同之处在于,用步骤S416代替了在图34A中的步骤S413和S414。其它步骤与在图34A中的递归梯度操作过程中的那些基本上类似,并且其说明是重复的。因此,省略了其说明。
换句话说,在图34B中的示例的情况中,如果在步骤S404中确定在有效像素计数器413中的有效像素数量等于或小于预定阈值α,则矢量评估单元104前进至步骤S416。矢量评估单元104将运动矢量V设定为零矢量。前进至步骤S415,矢量评估单元104将运动矢量(零矢量)按照与受到检测的块相关的方式存储在检测矢量存储器53中。递归梯度过程完成。
如上所述,在有效像素数量等于或小于预定阈值α时,实现了在图34B中的递归梯度操作过程,即设定运动矢量V(零矢量)的简单操作过程。
接下来参照图34C中的流程图对基于包括块单元、像素单元和零矢量处理模式的组合的像素标准的递归梯度操作过程进行说明。在图34C中的递归梯度操作过程的不同之处在于,在图34A中的步骤S404和S405之间加入了步骤S417。其它步骤与在图34A中的递归梯度操作过程中的那些基本上类似,并且其说明是重复的。因此省略了其说明。
尤其是,在图34C的情况中,在其中在步骤S404中确定在有效像素计数器413中的有效像素数量大于预定阈值α的情况中对于在操作块中不是有效像素的像素执行在步骤S413和S414中的处理。在步骤S415中将对于在操作块中的不是有效像素的像素在步骤S414中获得的运动矢量与对于在操作块中的有效像素在步骤S411或S412中获得的运动矢量一起存储在检测矢量存储器53中。
与图34A的情况类似,在步骤S404中确定在有效像素计数器413中的有效像素数量等于或小于阈值α的情况中,对于在操作块(受到检测的块)中的每个像素执行在步骤S413和S414中的处理。
在具体说明中,如果在图34C中的步骤S404中确定在有效像素计数器413中的有效像素数量大于阈值α,则该过程前进至步骤S417。操作块由包括确定为有效像素的有效像素的有效像素组和确定为不是有效像素的一组无效像素中的至少一个像素组形成。因此,在步骤S417中,梯度操作持续性确定单元414确定在块单元中的操作块中的一组像素是否为一组有效像素。
如果在步骤S417中梯度操作持续性确定单元414已经确定在块单元中的操作块中的一组像素是一组有效像素,则梯度操作持续性确定单元414前进至步骤S405,并且控制梯度操作单元404只在操作块中的那组有效像素上执行梯度操作过程。由于该过程与在图34A中的处理基本上类似,所以省略了在步骤S406至S412的处理的说明。
另外,如果在步骤S417中梯度操作持续性确定单元414已经确定在块单元中的操作块中的一组像素不是一组有效像素,则梯度操作持续性确定单元414控制模式选择单元401以前进至步骤S413,并且选择像素单元处理模式,并且前进至步骤S414并且只在无效像素上执行像素单元递归梯度操作过程。由于该过程与在图34A中的处理基本上类似,所以省略了在步骤S413和S414的处理的说明。
在上述处理中,对于在操作块中的有效像素组,在步骤S411或S412中设定运动矢量。对于在操作块中的无效像素组,在步骤S414中设定运动矢量。在步骤S415中将对于在操作块中的有效像素组设定的运动矢量和对于在操作块中的无效像素组设定的运动矢量存储在检测矢量存储器53中,并且递归梯度操作过程完成。
在图34C中的示例中,在包括块单元、像素单元和零矢量处理模式的像素标准中的递归梯度操作过程具有复杂的确定过程。但是,在像素标准中的递归梯度操作过程能够处理在块单元处理模式中的块中的无效像素,因此提供非常精确的运动矢量。
还有,在图34B中的示例中,包括块单元和零矢量处理模式的组合的递归梯度操作过程具有简单的结构。因此,在图34A至34C中所示的示例之中,这种递归梯度操作过程在计算处理上具有最低的负载。然而,通过限制在梯度操作过程中产生负面影响的像素,由此防止了这些像素用于运动矢量,从而增加了运动矢量检测的精度。
与在图34B和34C中的过程相比较,基于包括块单元、像素单元和零矢量处理模式的组合的块标准的递归梯度操作过程提供了中等计算处理。具体地说,在有效像素数量小于在块单元处理模式中的块中的预定阈值时,如图34B所示一样基于块标准的递归梯度操作过程能够处理在块中不能只是由块单元处理模式处理的像素。
接下来,将参照在图36中所示的流程图对块单元梯度操作过程的细节进行说明。图36显示出在图34中的步骤S405中的块单元梯度操作过程的示例。因此,在图36中的示例中,从梯度操作持续性确定单元414将用于执行梯度操作的标志(flg=1)输入时间像素差异计算单元421。
当从梯度操作持续性确定单元414输入标志(flg=1)时,在步骤S451中,时间像素差异计算单元421选择在块单元操作块中的像素并且前进至步骤S452。按照光栅扫描的顺序从在操作块中的左上端像素开始选择像素。
在步骤S452中,通过使用来自选择器402的偏置矢量以及分别通过前置滤波器102-2和102-1输入的在时刻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-2和102-1输入的在时刻t处的帧t和在时刻t+1处的帧t+1,水平垂直像素差异计算单元423计算出被确定是有效的像素的水平像素差异Δx。前进至步骤S455,水平垂直像素差异计算单元423计算出被确定是有效的像素的垂直像素差异Δy,并且将时基像素差异Δt、水平像素差异Δx和垂直像素差异Δy输出给梯度累积单元424。该过程前进至步骤S456。在步骤S456中,梯度累积单元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。由于进行了基本上类似的过程,所以省略了有效像素确定过程的细节的详细说明,除了参照图5所述的块单元有效像素确定过程和受到处理的操作块(块范围和构成块的像素)不同之外。在有效像素确定过程中,有效像素计数器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增加1。前进至步骤S479,矢量评估单元104确定重复次数n是否已经到达所设定的最大重复次数(例如,两次)。如果确定重复次数n还没有到达所设定的最大重复次数,则矢量评估单元104如此控制选择器402,从而该过程返回到步骤S472并且重复随后的步骤。
换句话说,在步骤S472中,在从矢量计算单元425输出之后存储在延迟单元405中的运动矢量V1由选择器402选择作为偏置矢量。在步骤S473中,时间像素差异计算单元411和像素差异确定单元412使作为偏置矢量的运动矢量V1偏置,并且执行像素单元有效像素确定过程以重复随后的步骤。因此,在步骤S475中获得的运动矢量为在第二梯度操作中计算出的运动矢量V2和作为偏置矢量的运动矢量V1的总和(V2=V0+v1+v2)。
如果在步骤S476中确定评估值DFD(n)大于评估值DFD(n-1)即运动矢量Vn-1比运动矢量Vn更可靠,则该过程前进至步骤S480。在步骤S480中,在梯度操作中用作偏置矢量的运动矢量Vn-1(在第一次中的初始矢量V0,在第二次中的运动矢量V1)设定作为在检测块中的运动矢量V,并且该过程前进至步骤S481。另外,如果在步骤S479中重复次数已经达到最大重复次数,则矢量评估单元104前进至步骤S481。
在步骤S481中,矢量评估单元104确定运动矢量V是否在提前设定作为运动矢量检测范围的搜索区域中。如果确定运动矢量V处在该搜索区域中,则该过程前进至步骤S483。如果在步骤S481中确定运动矢量V没有处在搜索区域中,则该过程前进至步骤S482,并且将运动矢量V设定作为零矢量。该过程前进至步骤S483。
如果在步骤S473中确定在有效像素计数器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的确定和基于范数的确定。
如上所述,通过对于梯度操作只使用在其每一个中在操作块中的像素差异小于预定像素差异的像素,从而可以从要进行算术运算的块中排除具有不同运动的像素,从而改善了由梯度操作获得的运动矢量可能性,因此改善了运动矢量检测精度。
另外,当由于在操作块中的像素差异大于预定像素差异而没有用在梯度操作中的像素数量大于预定阈值时,则适应地控制梯度操作过程。因此,尤其是在对象之间的运动边界中,能够改善运动矢量检测的精度,从而与所要检测的运动矢量相比能够改善可能性。
具体地说,当由于在操作块中的像素差异大于预定像素差异而没有用在梯度操作中的像素数量大于预定阈值时,将块单元模式切换到像素单元模式,为在检测块中的每个像素设定操作块,并且进行有效像素确定过程和梯度操作过程。因此,能够对运动矢量进行更精确的检测,另外当由于在操作块中的像素差异大于预定像素差异而没有用在梯度操作中的像素数量大于预定阈值时,能够抑制不规则运动矢量检测,因此能够进行更可靠的运动矢量检测。
接下来将对有效像素确定单元403和梯度操作单元404的其它结构进行说明。
在下面所述的有效像素确定单元403和梯度操作单元404中,不仅根据时基像素差异,而且还根据空间像素差异,确定出在操作块中的像素是否有效。
图38为一详细方框图,显示出有效像素确定单元403的结构。在图38中所示的有效像素确定单元403显示出在图25中所示的有效像素确定单元403的另一种结构。在图38中,与在图26中的那些对应的部分由相应的参考标号表示。因此,删除了其重复说明。
在图38中所示的示例中,有效像素确定单元403包括第一空间梯度像素差异计算单元501、第二空间像素差异计算单元502、时基像素差异计算单元503、操作确定单元504、有效像素计数器413以及梯度操作持续性确定单元414。
将通过前置滤波器102-1输入的在时刻t+1处的帧t+1输入给第一空间梯度像素差异计算单元501和时基像素差异计算单元503。将通过前置滤波器102-2输入的在时刻t处的帧t输入给第二空间梯度像素差异计算单元502和时基像素差异计算单元503。另外,将由选择器402选择的偏置矢量(例如,V0或Vn-1)输入给第一空间梯度像素差异计算单元501、第二空间像素差异计算单元502和时基像素差异计算单元503。
当接收到由选择器402选择的偏置矢量时,第一空间梯度像素差异计算单元501在任一单元处理模式中的操作块中计算出在通过将在通过前置滤波器102-1输入的帧t+1中的偏置矢量偏置而获得的像素周围的像素的水平像素差异Δx和垂直像素差异Δy。第一空间梯度像素差异计算单元501将在帧t+1中的操作块中的所计算出的水平像素差异Δx和垂直像素差异Δy输出给操作确定单元504。
当接收到由选择器402选择的偏置矢量时,第二空间像素差异计算单元502在任一单元处理模式中的操作块中计算出在通过将在通过前置滤波器102-2输入的帧t中的偏置矢量偏置而获得的像素周围的像素的水平像素差异Δx和垂直像素差异Δy。第二空间梯度像素差异计算单元502将在帧t中的操作块中的所计算出的水平像素差异Δx和垂直像素差异Δy输出给操作确定单元504。
当接收到由选择器402选择的偏置矢量时,时基像素差异计算单元503在任一单元处理模式中的操作块中计算出在通过将在分别通过前置滤波器和102-1和102-2输入的帧t+1和帧t之间的偏置矢量偏置而获得的像素周围的像素的时基像素差异Δt,并且将所计算出的在两个帧之间在操作块中的时基像素差异输出给操作确定单元504。
通过使用来自第一空间梯度像素差异计算单元501的在操作块帧t+1中的水平像素差异Δx和垂直像素差异Δy、来自第二空间梯度像素差异计算单元502的在操作块帧t中的水平像素差异Δx和垂直像素差异Δy以及来自时基像素差异计算单元503的在帧t+1和帧t之间的操作块中的时基像素差异Δt,从而操作确定单元504进行预定的逻辑操作,并且根据预定的逻辑操作确定在操作块中的像素在运动矢量检测(即,在随后阶段中的梯度操作单元404中的算术运算)中是否有效。下面将对作为在操作确定单元504中的有效像素确定方法的逻辑操作的细节进行说明。
当确定在操作块中的像素在运动矢量检测中时有效的时,操作确定单元504将在有效像素计数器413中的像素数量增加1。该有效像素计数器413统计了由操作确定单元504确定作为在每个操作块中的有效像素的像素数量。
图39为一详细方框图,显示出梯度操作单元404的结构。在图38中所示的有效像素确定单元403显示出在图25中所示的梯度操作单元404的另一个结构。在图39中,与在图27中的那些对应的部分由相应的参考标号表示。因此,删除了其重复说明。
在图39中所示的示例中,梯度操作单元404包括第一空间梯度像素差异计算单元521、第二空间像素差异计算单元522、时基像素差异计算单元523、操作确定单元524、梯度计算单元424以及矢量计算单元425。
将通过前置滤波器102-1输入的在时刻t+1处的帧t+1输入给第一空间梯度像素差异计算单元521和时基像素差异计算单元523。将通过前置滤波器102-2输入的在时刻t处的帧t输入给第二空间梯度像素差异计算单元522和时基像素差异计算单元523。另外,将由选择器402选择的偏置矢量输入给第一空间梯度像素差异计算单元521、第二空间像素差异计算单元522、时基像素差异计算单元523以及操作确定单元524。将从有效像素确定单元403输入的标志输入给操作确定单元524。
当接收到由选择器402选择的偏置矢量时,第一空间梯度像素差异计算单元501在任一单元处理模式中的操作块中计算出在通过将在通过前置滤波器102-1输入的帧t+1中的偏置矢量偏置而获得的像素周围的像素的水平像素差异Δx和垂直像素差异Δy。第一空间梯度像素差异计算单元521将在帧t+1中的操作块中的所计算出的水平像素差异Δx和垂直像素差异Δy输出给操作确定单元524。
当接收到由选择器402选择的偏置矢量时,第二空间像素差异计算单元522在任一单元处理模式中的操作块中计算出在通过将在通过前置滤波器102-2输入的帧t中的偏置矢量偏置而获得的像素周围的像素的水平像素差异Δx和垂直像素差异Δy。第二空间梯度像素差异计算单元522将在帧t中的操作块中的所计算出的水平像素差异Δx和垂直像素差异Δy输出给操作确定单元504。
当接收到由选择器402选择的偏置矢量时,时基像素差异计算单元523在任一单元处理模式中的操作块中计算出在通过将在分别通过前置滤波器和102-1和102-2输入的帧t+1和帧t之间的偏置矢量偏置而获得的像素周围的像素的时基像素差异Δt,并且将所计算出的在两个帧之间在操作块中的时基像素差异输出给操作确定单元524。
操作确定单元524根据从有效像素确定单元403输入的标志来控制梯度累积单元424和矢量计算单元425。当标志表示1(flg=1)时,通过使用来自第一空间梯度像素差异计算单元521的在操作块帧t+1中的水平像素差异Δx和垂直像素差异Δy、来自第二空间梯度像素差异计算单元522的在操作块帧t中的水平像素差异Δx和垂直像素差异Δy以及来自时基像素差异计算单元523的在帧t+1和帧t之间的操作块中的时基像素差异Δt,从而操作确定单元524进行预定的逻辑操作。根据预定的逻辑操作,该操作确定单元524确定在操作块中的像素在运动矢量检测中是否有效。操作确定单元524将被确定在运动矢量检测中有效的像素当作要受到梯度操作的像素,并且将每个像素的水平像素差异Δx、垂直像素差异Δy和时基像素差异Δt提供给梯度累积单元424。当确定在操作块中的像素在运动矢量检测中不是有效的时,操作确定单元524控制梯度累积单元424停止在像素上的处理。
另外,当标志表示零(flg=0)时,操作确定单元524不执行预定的逻辑操作,并且未确定在块中的像素在运动矢量检测中有效。因此,梯度累积单元424没有执行累积,从而该过程中止。
这时,时间像素差异计算单元421控制矢量计算单元425将运动矢量V设定为零矢量。另外,当在操作块中的这些像素上的处理完成时,操作确定单元524将偏置矢量输出给矢量计算单元425,并且控制矢量计算单元425计算在受到检测的块中的运动矢量。
梯度累积单元424将时基像素差异Δt和由操作确定单元524提供的水平像素差异Δx和垂直像素差异Δy累积,并且将累积的梯度输出给矢量计算单元425。
当接收到来自操作确定单元524的偏置矢量时,矢量计算单元425计算出由梯度累积单元424累积的梯度,并且通过采用最小二乘方加法计算出运动矢量vn。另外,矢量计算单元425通过将来自操作确定单元524的偏置矢量加在所计算出的运动矢量vn上来找出运动矢量Vn,并且将所获得的运动矢量Vn输出给矢量评估单元104和延迟单元405。
图40显示出受到运动矢量检测的检测块和受到梯度操作并且对应于检测块的操作块的其它示例。在图40中,显示出帧t,并且在帧t中的圆圈表示像素。
在图40中所示的示例在帧t中显示出每个由4×4像素构成的检测块K1至K3以及在检测块K1至K3周围的每个由8×8像素电极构成的操作块E1至E3。操作块E1至E3的每一个在一半像素数量中的相邻操作块重叠。
在矢量检测单元52中,按照光栅扫描顺序从在帧中的左上端检测块开始执行运动矢量检测。因此,在帧t中,将检测块K1至K3顺序用作在其中进行运动矢量检测的检测块。因此,操作块E1至E3用作用于梯度法的操作块。换句话说,在图40中所示的示例中,操作块E1至E3的每一个在构成操作块的一般像素数量中与相邻操作块重叠。
在下面的说明书中,通过使用如上所述形成的检测块和操作块来描述在图38中的有效像素确定单元403和在图39中的有效像素确定单元403。但是,该说明不限于上述检测块和操作块。在图38中的有效像素确定单元403和在图39中的梯度操作单元404中,可以使用在上面参照图28所述的检测块和操作块,并且也可以采用其它检测块和操作块。
接下来将参照图41对有效像素确定方法进行说明。在图41中所示的示例中,箭头T表示从在图41中设置在前景左侧上的在时刻t的帧t到在图41中设置在背景右侧上的在时刻t+1的帧t+1的时间流逝方向。
在帧t中,显示出检测块Kt(由在图41中的黑色圆圈表示)和在检测块Kt周围的操作块E(在其周边中),每个检测块由从中要检测其运动矢量的4×4像素构成,并且每个操作块由8×8像素构成。另外,在帧t+1中,显示出与检测块Kt对应的检测块Kt+1(由在图41中的黑色圆圈表示)和与操作块Et对应的操作块Et+1,每个检测块由4×4像素构成,并且每个操作块由8×8像素构成。在帧t+1中的虚线块表示其相位与检测块Kt相同的块。因此,在帧t+1中,在与虚线块偏移(运动)给定运动矢量V(Vx,Vy)的位置处的操作块Et+1用作受到梯度操作的块。
在帧t中的操作块Et中的像素p1和在帧t+1中的操作块Et+1中的像素p2之间的时基像素差异由Δt表示,并且在这时的图像帧由w表示,通过以下公式找出在操作块Et中的像素p1的水平像素差异Δx1、垂直像素差异Δy和时基像素差异Δt:
Δx1=Yt(k+1)-Yt(k)              (12)
Δy1=Yt(k+w)-Yt(k)              (13)
Δt=Yt+1(k)-Yt(k)               (14)
Yt+1表示像素值,Yt表示在时刻t的像素值,并且k+1和k的每一个表示地址(位置)。
另外,同样找出在操作块Et+1中与像素p1对应的像素p2的水平像素差异Δx2和垂直像素差异Δy2。
操作确定单元504使用这些数值来进行逻辑操作,并且根据逻辑操作结果进行有效像素确定。换句话说,通过找出在操作块Et中的像素是否满足下面公式(15)至(17)中的一个(即,满足公式(18)),操作确定单元504确定该像素在运动矢量检测中是否有效。
Δx1≠0&& Δx2≠0&&
|Δx1|>th1·|Δy1|&&|Δt/Δx1-Δt/Δx2|<th2    (15)
Δy1≠0&&Δy2≠0&&
|Δy1|>th1·|Δx1|&&|Δt/Δy1-Δt/Δy2|<th2    (16)
Δx1≠0&&Δx2≠0&&Δy1≠0&&Δy2≠0&&
|Δt/Δx1-Δt/Δx2|<th2&&
|Δt/Δy1-Δt/Δy2|<th2                         (17)
公式(15)||公式(16)||公式(17)                     (18)
这里,||表示逻辑加法,&&表示逻辑乘,·表示乘法,并且th1和th2表示预定阈值。例如,th1为1、1.5或2,并且th2例如为4。
因此,在公式(15)中的表达式Δx1≠0 &&Δx2≠0表示像素p1和p2的水平梯度不是平的,即两者都是水平梯度。表达式|Δx1|>th1·|Δy1|表示水平梯度在一定程度上大于垂直梯度。表达式|Δt/Δx1-Δt/Δx2|<th2表示在像素单元梯度法中(在归一化的情况中)的水平运动是预定阈值th2,即水平运动具有类似性。因此,公式(15)表示与水平方向有关的条件。当像素满足所有条件时,确定该像素在水平运动中具有相似性,并且在随后阶段中在梯度法中是有效的。
在公式(16)中,表达式Δy1≠0 &&Δy2≠0表示垂直梯度不是平的,即两者都具有垂直梯度。表达式|Δy1|>h1·|Δx1|表示垂直梯度在一定程度上大于水平梯度。表达式|Δt/Δy1-Δt/Δy2|<th2表示在像素单元梯度法中(在归一化的情况中)的垂直运动具有类似性。因此,公式(16)表示与垂直方向有关的条件。当像素满足所有条件时,确定该像素在垂直运动中具有相似性,并且在随后阶段中在梯度法中是有效的。
同样,在公式(17)中,表达式Δx1≠0 &&Δx2≠0 &&Δy1≠0 &&Δy2≠0表示垂直和水平梯度不是平的,即沿着垂直和水平方向找到梯度。表达式|Δt/Δx1-Δt/Δx2|<th2 &&|Δt/Δy1-Δt/Δy2|<th2表示在像素单元中的梯度法中的垂直和水平运动(在归一化情况中)具有类似性。因此,公式(17)表示有关没有满足公式(15)和(16)的像素的水平和垂直方向(倾斜方向)的条件。在像素满足了所有条件时,确定像素在水平和垂直运动中具有类似性,并且在随后阶段中的梯度法中是有效的。
换句话说,操作确定单元504使用公式(18)来确定在操作块Et中的每个像素在水平、垂直和倾斜运动中的哪一个具有相似性。如果存在被确定在任何运动中都没有任何相似性的像素,则操作确定单元504将该像素排出在受到梯度操作的像素之外,如图42所示。
图42显示出在操作块中像素结构的示例。在图42中所示的示例中,在由8×8像素(64个像素)构成的操作块E中,在由4×4像素构成的检测块K周围,显示出由于满足表达式(18)所以被确定作为有效像素的像素(由在图42中的白圆圈所示)以及由于没有满足公式(18)而没有用在梯度操作中的像素(由黑色圆圈所示)。
因此,梯度操作单元404通过只使用在操作块E中被确定作为有效像素的像素(34个像素)来进行梯度操作。由于这使得通过只使用在水平、垂直和倾斜运动中的一个中具有相似性的像素来执行梯度操作,所以抑制了包含不同运动,并且执行更可靠的梯度操作,从而检测出可能的运动矢量。
但是,当被确定作为在操作块中的有效像素的像素数量较少时,如上所述梯度操作会不稳定。因此,梯度操作持续性确定单元414确定被确定作为有效像素的像素数量是否为50%(比在所有64个像素中的32个像素更多)。如果被确定作为有效像素的像素数量小于50%,则确定在块单元中的检测块K上的梯度操作不稳定。因此,如上面参照图33所述一样,将梯度操作切换至在检测块K中的每个像素上的操作。虽然将有效像素计数器的阈值设定为50%,但是显然该数值可以是其它数值。
这尽可能防止了包含有具有不同运动的像素,因此能够进行可靠的梯度操作。因此,改善了由梯度操作找出的运动矢量的可能性,因此改善了运动矢量检测的精度。
对于在操作确定单元504中的有效像素确定方法,可以采用以下条件公式(19)和(20)。换句话说,通过找出在操作块Et中的像素是否满足这两个公式,即该像素是否满足公式(21),从而操作确定单元504可以确定该像素是否有效。
Δx1≠0 &&Δx2≠0 &&|Δt/Δx1-Δt/Δx2|<th3     (19)
Δy1≠0 &&Δy2≠0 &&|Δt/Δy1-Δt/Δy2|<th3     (20)
公式(19)&&公式(20)                               (21)
这里,&&表示逻辑乘,并且th3表示预定的阈值。在每个公式中,th3≠th2。例如,虽然th3为16,但是它可以小于th2。
换句话说,在公式(21)的情况中,对于水平和垂直运动进行相似性确定。因此操作确定单元504使用公式(18)来确定在操作块Et中的像素在水平和运动方向中是否均具有相似性。如果确定该像素在水平和垂直运动的至少一个中没有任何相似性,则操作确定单元504将该像素排除在受到梯度操作的像素之外。
接下来,将参照在图43中所示的流程图对有效像素确定过程的细节进行说明。图43显示出在图34中的步骤S403中的有效像素确定过程的示例。
当从选择器402输入偏置矢量时,在步骤S431中,时基像素差异计算单元503控制操作确定单元504以将有效像素计数器413重置。前进至步骤S512,时基像素差异计算单元503选择在块单元操作块中的像素,并且前进至步骤S513。按照光栅扫描的顺序从左上端像素开始选择像素。
在步骤S513中,第二梳状电极513通过使用通过使在通过前值滤波器102-1输入的帧t+1和通过前置滤波器102-2输入的帧t之间的偏置矢量偏置而计算出的像素作为参考,从而计算出在任一单元处理模式中在操作块中的像素的时基像素差异Δt。将在帧t+1和帧t之间的所计算出的时基像素差异Δt输出给操作确定单元504,并且该过程前进至步骤S514。
当接收到由选择器402选择的偏置矢量时,在步骤S514中,第一空间梯度像素差异计算单元501通过使用由将通过前置滤波器102-1输入的在帧t+1中的偏置矢量偏置而计算出的像素作为参考,从而计算出在任一单元处理模式中在操作块中的像素的水平像素差异Δx和垂直像素差异Δy。将在帧t+1中的操作块中所计算出的水平像素差异Δx和垂直像素差异Δy输出给操作确定单元504,并且该过程前进至S515。
当接收到由选择器402选择的偏置矢量时,在步骤S515中,第二空间梯度像素差异计算单元502通过使用由将通过前置滤波器102-2输入的在帧t中的偏置矢量偏置而计算出的像素作为参考,从而计算出在任一单元处理模式中在操作块中的像素的水平像素差异Δx和垂直像素差异Δy。将在帧t中的操作块中所计算出的水平像素差异Δx和垂直像素差异Δy输出给操作确定单元504,并且该过程前进至S516。
在步骤S516中,通过使用从第一空间梯度像素差异计算单元501输出的在帧t+1中的操作块中的水平像素差异Δx和垂直像素差异Δy、从第二空间梯度像素差异计算单元502输出的在帧t中的操作块中的水平像素差异Δx和垂直像素差异Δy以及从时基像素差异计算单元503输出的在帧t+1和帧t之间在操作块中的时基像素差异Δt,从而操作确定单元504执行在公式(18)中表示的逻辑操作。在步骤S517至S519中,根据逻辑操作,操作确定单元504确定在操作块中的像素在运动矢量检测中是否有效(即,在随后阶段中在梯度操作单元404中的算术运算)。
换句话说,在步骤S516中,操作确定单元504根据作为有关水平方向的条件的公式(15)、作为有关垂直方向的条件的公式(16)以及作为有关水平和垂直方向的条件的公式(17)进行操作。在步骤S517中,操作确定单元504确定在操作块中的像素是否满足作为有关水平方向的条件的公式(15)。如果确定在操作块中的像素满足有关水平方向的条件,则该过程前进至步骤S520,并且将在有效像素计数器413中的有效像素数量增加1。该过程前进至步骤S521。
如果在步骤S517中确定在操作块中的像素没有满足有关水平方向的条件,则操作确定单元504前进至步骤S518并且确定在操作块中的像素是否满足作为有关垂直方向的条件的公式(16)。如果确定在操作块中的像素满足了有关垂直方向的条件,则该过程前进至步骤S520,并且在有效像素计数器413中的有效像素数量增加1。该过程前进至步骤S521。
如果在步骤S518中确定在操作块中的像素没有满足有关垂直方向的条件,则操作确定单元504前进至步骤S519,并且确定在操作块中的像素是否满足作为有关水平和垂直方向(倾斜方向)的条件的公式(17)。如果确定在操作块中的像素满足了有关水平和垂直方向的条件,则该过程前进至步骤S520,并且将在有效像素计数器413中的有效像素数量增加1。该过程前进至步骤S521。如果在步骤S519中确定在操作块中的像素没有满足有关水平和垂直方向的条件,则该过程前进至步骤S521,从而跳过了步骤S520。换句话说,确定在操作块中的像素在水平、垂直以及水平垂直运动的任一个中没有任何相似性。因此,将该像素认为在随后阶段中的梯度操作中是无效的。
在步骤S520中,时间像素差异计算单元503确定在操作块中的所有像素上的处理是否已经完成。如果时间像素差异计算单元411已经确定在操作块中的所有像素上的处理还没有完成,则该过程返回到步骤S512,并且选择下一个像素重复随后的过程。如果在步骤S520中时间像素差异计算单元411已经确定在操作块中的所有像素上的处理已经完成,则有效像素确定过程在返回到在图34中的步骤S404之前终止。
在上面的过程中,有效像素计数器413具有这些像素的计数,这些像素由于满足所关心的水平条件、所关心的垂直条件和水平垂直条件的至少一个所以被确定在随后阶段中的梯度操作中是有效的。因此,通过在图34中的步骤S404中参照有效像素计数器413的像素数量,梯度操作持续性确定单元414能够确定是否进行块单元梯度操作或者是否进行像素单元梯度操作。
接下来将参照在图44中所示的流程图对在图39中的梯度操作单元404的梯度操作过程进行说明。图44显示出在图34中的步骤S405中的块单元梯度操作的示例。
当从选择器402输入偏置矢量时,在步骤S551中,时间像素差异计算单元S523选择在块单元操作块中的像素,并且前进至步骤S552。按照光栅扫描的顺序从在操作块中的左上端像素选择出像素。
在步骤S522中,时基像素差异计算单元523通过使用由将偏置矢量偏置而计算出的像素作为参考计算出在通过前置滤波器102-1输入的帧t+1和通过前置滤波器102-2输入的帧t之间在任一单元处理模式中在操作块中的像素中的时基像素差异Δt,并且将所计算出的时基像素差异Δt输出给操作确定单元524。该过程前进至步骤S553。
当接收到由选择器402选择的偏置矢量时,在步骤S553中,第一空间梯度像素差异计算单元521通过使用由将偏置矢量偏置而计算出的像素作为参考计算出在通过前置滤波器102-1输入的帧t+1中在任一单元处理模式中在操作块中的像素中的水平像素差异Δx和垂直像素差异Δy。该第一空间梯度像素差异计算单元521将所计算出的水平像素差异Δx和垂直像素差异Δy输出给操作确定单元524,并且前进至步骤S554。
当接收到由选择器402选择的偏置矢量时,在步骤S554中,第二空间梯度像素差异计算单元522通过使用通过前置滤波器102-2输入的帧t中的像素作为参考计算出在在任一单元处理模式中在操作块中的像素中的水平像素差异Δx和垂直像素差异Δy。该第二空间梯度像素差异计算单元522将所计算出的水平像素差异Δx和垂直像素差异Δy输出给操作确定单元524,并且前进至步骤S555。
在步骤S555中,通过使用从第一空间梯度像素差异计算单元521输出的在帧t+1中的水平像素差异Δx和垂直像素差异Δy(在操作块中的像素的)、从第二空间梯度像素差异计算单元522输出的在帧t中的水平像素差异Δx和垂直像素差异Δy(在操作块中的像素的)以及在帧t+1和帧t之间的时基像素差异Δt(在操作块中的像素的),从而操作确定单元524执行由公式(18)中表示的逻辑操作。在步骤S556至S558中,根据上面的逻辑操作,确定在操作块中的像素在运动矢量检测中是否有效。
换句话说,在步骤S555中,操作确定单元524根据作为有关水平方向的条件的公式(15)、作为有关垂直方向的条件的公式(16)以及作为有关水平和垂直方向的条件的公式(17)进行操作。在步骤S556中,操作确定单元524确定在操作块中的像素是否满足作为有关水平方向的条件的公式(15)。如果确定在操作块中的像素满足有关水平方向的条件,则将被确定在运动矢量检测中有效的像素用作要受到梯度操作的像素。将像素的水平像素差异Δx、垂直像素差异Δy和时基像素差异Δt提供给梯度累积单元424,并且该过程前进至步骤S559。
如果在步骤S556中确定在操作块中的像素没有满足有关水平方向的条件,则操作确定单元524前进至步骤S557并且确定在操作块中的像素是否满足作为有关垂直方向的条件的公式(16)。如果确定在操作块中的像素满足了有关垂直方向的条件,则确定该像素在运动矢量检测中是有效的,将该像素用作受到梯度操作的像素。将像素的水平像素差异Δx、垂直像素差异Δy和时基像素差异Δt提供给梯度累积单元424,并且该过程前进至步骤S559。
如果在步骤S557中确定在操作块中的像素没有满足有关垂直方向的条件,则操作确定单元504前进至步骤S519,并且确定在操作块中的像素是否满足作为有关水平和垂直方向(倾斜方向)的条件的公式(17)。如果确定在操作块中的像素满足了有关水平和垂直方向的条件,则将确定为在运动矢量检测中有效的像素用作受到梯度操作的像素。将像素的水平像素差异Δx、垂直像素差异Δy和时基像素差异Δt提供给梯度累积单元424,并且该过程前进至步骤S559。如果在步骤S558中确定在操作块中的像素没有满足有关水平和垂直方向的条件,则该过程前进至步骤S560,从而跳过了步骤S520。换句话说,确定在操作块中的像素在水平、垂直以及水平垂直运动的任一个中没有任何相似性。因此,将该像素认为在随后阶段中的梯度操作中是无效的。
梯度累积单元424将在步骤S559中计算出的时基像素差异Δt、由水平垂直像素差异计算单元423计算出的水平像素差异Δx和垂直像素差异Δy累积,并且将累积的梯度输出给矢量计算单元425。该过程前进至步骤S560。
在步骤S560中,操作确定单元524确定在操作块中的所有像素上的处理是否已经完成。如果操作确定单元524已经确定在操作块中的所有像素上的处理还没有完成,则该过程返回到步骤S551,并且重复随后的步骤。另外,如果在步骤S560中确定在操作块中的所有像素上的处理已经完成,则操作确定单元524将偏置矢量输出给矢量计算单元425,并且该过程前进至步骤S561。当在步骤S561中接收到来自操作确定单元524的偏置矢量时,矢量计算单元425通过使用来自梯度累积单元424的梯度累积结果和在公式(9)中的最小二乘方方法计算出运动矢量vn,并且前进至步骤S562。矢量计算单元425通过将所计算出的运动矢量vn加在来自时间像素差异计算单元421的偏置矢量上而计算出运动矢量Vn,并且将所计算出的运动矢量Vn输出给矢量评估单元104。梯度操作过程终止,并且返回到在图34中的步骤S406。
如上所述,在其中通过使用时基像素差异Δt、水平像素差异Δx和垂直像素差异Δy来确定有关在操作块中的像素的水平方向的梯度相似性、有关在操作块中的像素的垂直方向的梯度相似性以及有关在操作块中的像素的水平和垂直方向的梯度相似性中的每一个是否小于预定阈值的情况中,确定这些梯度相似性中的任一个小于预定阈值,即找出在运动中的更少相似性,将该像素排除到梯度操作之外,因为认为该像素在运动中产生出不规则性。因此,执行了更可靠的梯度操作,从而检测出可能的运动矢量,因此改善了运动矢量检测的精度。
如上所述,通过对于梯度操作只使用通过确定在操作块中的像素的运动在梯度操作中是否有效的结果而确定为有效的像素,并且可以将具有不同运动的像素排除在要进行算术运算的块之外,从而改善了由梯度操作获得的运动矢量可能性,因此改善了运动矢量检测的精度。
另外,当在梯度操作中没有使用的像素数量大于预定阈值时,适应地控制梯度操作过程。因此,尤其在对象之间的运动边界中,能够改善运动矢量检测的精度,从而能够获得更可能的运动矢量。
虽然,在前面的说明中,有效像素确定单元403和梯度操作单元404的每一个包括用于确定有效像素的时基像素差异计算单元和像素差异确定单元,或者第一空间梯度像素差异计算单元、第二空间梯度像素差异计算单元、时基像素差异计算单元503和操作确定操作,这些单元可以按照集成的方式设置。
前面的说明书描述了通过采用通过找出在操作块中的时基像素差异进行确定的情况以及通过找出在操作块中的水平、垂直和倾斜像素差异来进行确定的情况来在有效像素确定单元403中进行有效像素确定。但是,可以采用另一种方法来确定在操作块中的像素在梯度操作中是否有效。
接下来将对矢量分配单元54的细节进行说明。
图45为一方框图,显示出在图2中所示的矢量分配单元54的结构。在具有在图45中所示的结构的矢量分配单元54中,通过使用24P信号图像的在时刻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输入的评估值DFD(分配像素的)是否小于在矢量选择单元705中的DFD表格中的最小评估值。如果确定从评估值操作单元702输入的评估值DFD(分配像素的)小于在DFD表中的最小评估值,则评估值确定单元712确定与分配像素对应的运动矢量非常可靠,并且将分配像素的评估值DFD输出给矢量选择单元705。
矢量选择单元705具有DFD表,它存储有在内插帧中的像素的最小评估值。对于在内插帧中的每个像素,将在分配零矢量时获得的评估值DFD提前作为每个像素的最小评估值存储在DFD表中的界面中。当从矢量评估单元704接收分配像素的评估值DFD时,矢量选择单元705根据分配像素的位置信息将分配标志存储器56的标志重写为1(真),并且通过分配像素的评估值DFD重写在DFD表中的分配像素的最小评估值。另外,根据来自像素信息操作单元701的分配像素的位置信息,矢量选择单元705将来自像素信息操作单元701的运动矢量分配给在分配矢量存储器55中的分配像素。
接下来将对低于像素尺寸的运动矢量精度进行说明。在由公式(1)表示的DFD评估操作中,通过使在帧t中的像素位置p偏移矢量v而获得的在帧t+1中的相位p+v实际上通常不会与在24P信号的帧t+1中的像素位置一致,并且没有限定在这种情况中的亮度。因此,为了对具有低于像素尺寸的精度的运动矢量进行评估值DFD,必须通过一些方法产生出低于像素尺寸的相位中的亮度。
在与之对应的方法中,具有与通过使在帧t中的像素位置p偏移了矢量v而获得的在帧t+1中的相位p+v最接近的相位的像素的亮度按照未改变的形式使用。但是,在该方法中,使低于像素尺寸的评估运动矢量的分量四舍五入。因此,可以认为抛弃了低于像素尺寸的评估运动矢量的分量。因此,所获得的评估值DFD具有较低的可靠性。
因此,本发明根据四个周边像素的亮度使用四点差值方法。图46为在本发明中的四点差值方法的原理的示意图。在图46中,箭头X表示帧t+1的水平方向,并且箭头Y表示帧t+1的垂直方向。在帧t+1中,白色圆圈表示在帧t+1中的像素位置,并且黑色圆圈表示低于像素尺寸的位置。在窗口E中放大显示出在帧t+1中的左上端黑色点p+v和四个周边像素。在窗口E中,在白色圆圈中的字母数字符号表示四个周边像素的亮度。
假设在帧t+1中的左上端黑色点p+v为通过使在帧t中的像素位置偏移了矢量v而获得的像素位置的相位p+v,则通过使用低于像素尺寸的水平分量α、低于像素尺寸的垂直分量β以及在相位p+v中的四个周边像素的亮度L0至L4通过到四个周边像素的距离的反比总和算出相位p+v的亮度Ft+1(p+v)。换句话说,亮度Ft+1(p+v)由下面的公式(22)表示。
Ft+1(p+v)=(1-α)(1-β)L0+α(1-β)L1+(1-α)βL2+αβL3   (22)
如上所述,通过使用在四点差值法中获得的亮度Ft+1(p+v)进行DFD评估的算术运算,从而能够防止评估值DFD的可靠性降低,并且不会增加硬件实施成本。下面的说明涉及这样一个示例,其中将四点差值法应用于对这些数值例如评估值DFD和在矢量分配中的亮度差的绝对值的算术运算上。显然,在用于上述初始矢量选择过程和矢量检测过程的操作以及用于在矢量评估的情况中的评估值DFD的操作例如分配补偿过程(下面所述的)中,采用四点内插法。
接下来,将对矢量分配过程的原理进行说明。例如,当假设对象以速度v在24P信号图像上运动并且假设在两个任意帧之间对于该对象的运动保持匀速假设,则可以插入新的帧。在这种情况中,当运动矢量v从24P信号对象延伸时,在运动矢量v和内插帧之间的相交点在相同对象中并且具有相同的速度v。
由此,通过将由检测矢量存储器53检测到的在24P信号帧(与内插帧相比在下面也被称为“原始帧”)的运动矢量分配给在运动矢量和所要内插的60P信号内插帧之间的相交点,从而能够得出在内插帧中的每个像素的运动。相反,从分配运动矢量中,能够得出在内插帧中得像素在24P信号帧中已经从哪个位置进行运动。
图47按照一维的形式显示出在24P信号原始帧中检测出的运动矢量和在内插帧中的像素的示例。在图47中例如将两个内插帧即在时刻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和.16的位置处这个事实在信号处理设备1中提前设定这些内插帧的位置。
在每个帧中的圆圈表示像素。在前面阶段中由矢量检测单元52在帧t中检测出的运动矢量V1、V2和V3沿着帧t+1的方向延伸。当将这些运动矢量分配给在内插帧F1和F2中的像素时,在每个内插帧中的每个像素附近通过的运动矢量用作分配给像素的候选矢量(在下面也被称为“分配候选矢量”)。
因此,从在帧t中的左端像素朝着从在帧t+1中的左边开始第四和第五像素附近引导的运动矢量v1在从在内插帧F1中的左边开始第二和第三像素之间通过,并且在从在内插帧F2中的左边开始第三和第四像素之间通过。因此,运动矢量v1用作要分配给包括在运动矢量v1与内插帧F1和F2相交的点附近N1中的像素(从在内插帧F1中的左边开始第二和第三像素和从在内插帧F2中的左边开始第三和第四像素)的分配候选矢量。
从在帧t中的左边起第三像素朝着第二和第三像素附近引导的运动矢量在从内插帧F1左边开始第二和第三像素之间通过,并且在从内插帧F2的左边开始第二和第三像素之间通过。因此,矢量V2用作要分配给包括在运动矢量v2与内插帧F1和F2相交的点附近N2中的像素(从在内插帧F1中的左边开始第二和第三像素和从在内插帧F2中的左边开始第三和第四像素)的分配候选矢量。
从在帧t中左边第五像素朝着在帧t+1中左边第四和第五像素附近引导的运动矢量v3在内插帧F1中左边第四和第五像素之间通过,并且在内插帧F中左边第四和第五像素之间通过。因此,运动矢量V3用作要分配给包括在运动矢量V3与内插帧F1和F2相交的相邻部分N3中的像素(在内插帧左边第四和第五像素以及在内插帧F2中的左边第四和第五像素)的分配候选矢量。
换句话说,用于在内插帧F2中左边第二像素的分配候选矢量为矢量V2,并且用于在内插帧F1中的左边第二和第三像素以及在内插帧F2中左边第三像素的分配候选矢量为运动矢量V1和V2。用于在内插帧F2中的左边第四像素的分配候选矢量为运动矢量v1和v3,并且用于在内插帧F1中的左边第四和第五像素以及在内插帧F2中的左边第五像素的分配候选矢量为运动矢量V3。
如上所述,从在原始帧中检测出的运动矢量中,找出要分配给在内插帧中的像素的分配候选矢量。对于在内插帧F1和F2的左端像素和右端像素而言,在相邻部分中通过的矢量没有显示出。换句话说,在内插帧F1和F2中的左端像素和右端像素没有任何所要分配的分配候选矢量。因此,对于这些像素而言,在后面所述的随后阶段中通过分配补偿单元57执行分配补偿过程。
下面将参照图48对在原始帧中检测出的运动矢量以及在60信号内插帧中的像素进行说明。在图41中所示的示例中,箭头T表示从在图41中设置在前景左侧上的在时刻t的帧t朝着在图41中设置在背景右侧上的在时刻t+1的帧t+1的时间流逝方向。内插帧F1设置在位于时刻t和时刻t+1之间的时刻t+post处。
在图48中所示的情况中,在帧t中的像素(xa,ya)处检测出的运动矢量va(Xva,Yva)沿着帧t+1的方向延伸,并且计算出在延伸运动矢量和内插帧F1之间的相交点(Xia,Yia)。相交点为如此获得的点,从而使在24P信号帧t中在运动矢量va的端点处的像素运动。因此,相交点由下面公式(23)和(24)表示。
Xia=xa+postxva        (23)
Yia=ya+postyva        (24)
如上所述,当运动矢量va具有低于像素尺寸的精度时,运动矢量va的相交点不会总是与在内插帧F1中的像素位置一致。当这两者没有彼此一致时,如图48所示,将运动矢量va配给在内插帧F1中的相交点附近的四个像素G1至G4。换句话说,运动矢量va向在附近的像素G1至G4偏移(平移),并且用作要分配给每个像素的分配候选矢量。之后,执行分配补偿过程。
在这种情况中,可以使用一个运动矢量作为要分配给在附近的四个像素的候选矢量。因此,根据像素将多个运动矢量用作分配候选矢量。在该情况中,通过对于在内插帧中的像素和在通过运动矢量关联的原始帧中的位置之间的每个运动矢量计算出在原始帧中的相交点,并且使用该相交点,从而矢量分配单元54最终确定出要分配给在内插帧中的像素的运动矢量。
下面将参照图49对由矢量分配单元54进行的运动矢量评估进行说明。图49以从底部开始的一维形式显示出在图41中所示的在时刻t的帧t、在时刻t+post的内插帧F1和在时刻t+1的帧t+1。
在图49所示的示例中,运动矢量sva如此获得,从而在帧t中的像素(xa,ya)中检测出的运动矢量va作为用于相邻像素G4的分配候选矢量偏移(平移)到像素G4。在图42中,具有帧t和帧t+1的运动矢量sva的相交点(如此获得,从而在帧t中在像素(xa,ya)中检测出的运动矢量va偏移)分别由参考字母P和Q表示。
在第一评估中,矢量分配单元54首先找出在点P和Q周围的DFD操作范围,并且确定所获得的DFD操作范围是否超过了图像帧。因此,如果在点P和Q周围的所获得的DFD操作范围超过图像帧,则将运动矢量sva排除到候选矢量之外。
另外,在点P和Q属于不同对象时,点P的亮度Ft(P)和点Q的亮度Ft+1(Q)具有较大的差异。因此,在运动矢量sva的第二评估中,矢量分配单元54通过使用点P和Q找出在像素G4处的亮度差的绝对值dp,并且确定亮度差的绝对值dp是否大于预定值。如果确定亮度差的绝对值dp大于预定值,则确定在像素G4处的运动矢量sva具有较低的可靠性,并且将该运动矢量sva排除到候选矢量之外。亮度差的绝对值dp由下面的公式(25)表示。
dp=|Ft(P)-Ft+1(Q)|    (25)
在第三评估中,矢量分配单元54根据表示在点P和Q周围的DFD操作范围上的相关值的差值的绝对值进行评估。换句话说,矢量分配单元54通过使用在像素P和Q周围的DFD操作范围找出在像素G4处的运动矢量sva的评估值DFD,并且确定所获得的评估值DFD是否小于在评估值DFD表中的最小评估值。矢量分配单元54将在由上面的评估检测出的运动矢量分配给像素G4,其评估值DFD在所获得的评估值DFD之中是最小的。
如上所述,通过不仅使用受到分配的分配像素的评估值DFD而且还使用在分配像素处的亮度差的绝对值来评估在内插帧中的像素处的作为分配候选矢量的运动矢量。因此,与只使用评估值DFD的现有技术情况相比,能够将可能的运动矢量分配给分配矢量。这导致矢量分配的精度的改善。
如上所述,为了评估在内插帧中的像素处评估作为分配候选矢量的运动矢量,采用通过运动矢量与之相关的在原始帧中的位置,并且将在内插帧中的像素用作参考。但是,当得到亮度差的绝对值dp和评估值DFD时,在运动矢量和原始帧之间的相交点可能会与在原始帧中的像素位置不一致,因为作为分配候选矢量的运动矢量以像素位置作为参考延伸。因此,如果该状态保持不变,则不可能找到像素值。在该情况中,执行参照图46所述的四点内插过程。
图50显示出在矢量分配过程中的四点内插的示例。在图50中,与在图48和49中所示的那些对应的部分由相应的参考符号表示,并且省略了相应部分的重复说明。
在图50中所示的示例中,运动矢量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,与在将低于像素尺寸的分量四舍五入的现有技术方法中相比,能够以更高的精度得到亮度差的绝对值和评估值DFD。
接下来,将参照在图51中的流程图对矢量分配过程的细节进行说明。将作为24P信号原始帧的在时刻t的帧t和在时刻t+1的帧t+1输入给像素信息操作单元701、评估值操作单元702和所关心像素差异操作单元703。
当接收到原始帧时,在步骤S701中,像素信息操作单元701控制矢量选择单元705将在分配标志存储器56中的分配标志初始化为零(假),并且前进至步骤S702。在步骤S702中,像素信息操作单元701控制矢量选择单元705将在分配矢量存储器55中的分配标志初始化为零矢量,并且前进至步骤S703。因此,将零矢量分配给没有分配任何运动矢量的像素。
在步骤S703中,像素信息操作单元701控制评估值操作单元702通过使用零矢量计算在内插帧中的所有像素的每一个的评估值DFD0,并且控制矢量选择单元705在DFD表中存储作为在内插帧中的每个像素的最小评估值的针对零矢量所计算出的评估值DFD0。该过程前进至步骤S704。换句话说,在步骤S703中,评估值操作单元702使用零矢量来计算在内插帧中的所有像素的评估值DFD0,并且通过矢量评估单元704将所计算出的评估值DFD0输出给矢量选择单元705。矢量选择单元705将通过矢量评估单元704输入的评估值DFD0作为相应像素的最小评估值存储在DFD表中。
在步骤S704中,像素信息操作单元701从在检测矢量存储器53中的原始帧中选择一像素,并且前进至步骤S705。在该情况中,按照光栅扫描顺序从左端像素开始选择像素。
在步骤S705中,像素信息操作单元701进行像素位置操作过程,并且前进至步骤S706。下面参照图52对像素位置操作过程的细节进行说明。在该像素位置操作过程中,计算出在内插帧中其上分配有在步骤704中所选的像素处检测出运动矢量的分配像素,并且计算出在原始帧中通过运动矢量相关的像素位置,并且将所计算出的像素用作参考。
在步骤S706中,像素信息操作单元701选择所计算出的分配像素,并且在前进至步骤S707之前将所选的分配像素及其运动矢量输出给矢量选择单元705。同时,像素信息操作单元701将在原始帧中通过运动矢量相关的像素位置的信息输出给评估值操作单元702和所关心像素差异操作单元703。在步骤S706中,当存在多个分配像素时,像素信息操作单元701从左端像素选择像素。
在步骤S707中,像素信息操作单元701执行分配矢量评估过程并且前进至步骤S708。下面将参照图53对分配矢量评估过程的细节进行说明。在分配矢量评估过程中,得出运动矢量的评估值DFD和在分配像素处的亮度差的绝对值,并且确定在分配像素处的运动矢量的可靠性。在确定之后,通过被确定为非常可靠的运动矢量将在分配矢量存储器中的运动矢量重写。
在步骤S708中,像素信息操作单元701确定在所有分配像素上的处理是否已经完成。如果确定在所有分配像素上的处理还没有完成,则像素信息操作单元701返回到步骤S706,选择下一个分配像素,并且重复随后的步骤。
如果在步骤S708中确定在所有分配像素上的处理已经完成,则在步骤S709中,像素信息操作单元701确定在检测矢量存储器53中的原始帧中的所有像素上的处理是否已经完成。如果在步骤S709中确定在检测矢量存储器53中的原始帧中的所有像素上的处理还没有完成,则像素信息操作单元701返回到步骤S704,并且选择下一个像素以重复随后的步骤。如果在步骤S709中确定在检测矢量存储器53中的原始帧中的所有像素上的处理已经完成,则像素信息操作单元701完成矢量分配过程。
下面将参照在图52中所示的流程图对像素位置操作过程的细节进行说明。图52显示出在图51中的步骤S705中的像素位置操作过程的示例。
在步骤S721中,像素信息操作单元701从检测矢量存储器53中获取在步骤S704中所选的像素处检测出的运动矢量,然后前进至步骤S722。由于所选像素的运动矢量为零矢量,则将零矢量作为初始值提前存储在分配矢量存储器55中,将随后的步骤S772至S724以及图51的步骤S706至S708跳过,并且该过程前进至步骤S709。
在步骤S722中,像素信息操作单元701计算出在所获取的运动矢量和内插帧之间的相交点。具体地说,像素信息操作单元701使所获取的运动矢量沿着下一帧t+1的方向延伸,计算出在延伸运动矢量和内插帧之间的相交点,并且前进至步骤S723。
在步骤S723中,像素信息操作单元701从根据运动矢量和内插帧计算出的相交点中设定分配像素,然后前进至步骤S724。当相交点与在内插帧中的像素位置一致时,像素信息操作单元701将相交点设定为分配像素。可选的是,当相交点与在内插帧中的像素位置不一致时,如上所述像素信息操作单元701将在内插帧中的相交点附近的四个像素设定为分配像素。
在步骤S724中,通过使用每个分配像素作为参考,像素信息操作单元701计算出在原始帧中通过所获取的运动矢量相关的像素位置。评估值操作单元702和所关心的像素差异操作单元703需要该像素位置来得出评估值DFD和亮度差的绝对值。具体地说,在步骤S724中,像素信息操作单元701使所获取的运动矢量向所设定的分配像素偏移(平移),找出在偏移运动矢量和在原始帧中的位置之间的相交点的位置,并且完成像素位置操作过程。该过程返回到在图50中的步骤S706。
接下来将参照在图53中所示的流程图对分配矢量评估过程的细节进行说明。图53显示出在图51中的步骤S707中的分配矢量评估过程的示例。
在图51中的步骤S706中,通过使用所选的分配像素作为参考,像素信息操作单元701得出在原始帧中通过其运动矢量相关的像素位置。将在原始帧中的位置信息输入给评估值操作单元702和所关心像素差异操作单元703。
当从像素信息操作单元701接收到在原始帧中的位置信息时,为了得到在分配像素处的运动矢量的评估值DFD,评估值操作单元702找出在帧t和帧t+1周围的DFD操作范围(m×n像素),然后前进至步骤S742。在步骤S742中,评估值操作单元702确定所获得的DFD操作范围是否在图像帧中。如果在步骤S742中确定DFD操作范围超出了图像帧,则评估值操作单元702确定运动矢量没有用作要分配给分配像素的分配候选像素。因此,跳过步骤S743至S749,并且分配矢量评估过程在返回到在图51中的步骤S708之前完成。
如果在步骤S742中确定每个所获得的DFD操作范围在图像帧中,则评估值操作单元702前进至步骤S743。在步骤S743中,通过使用被确定处在图像帧中的DFD操作范围,评估值操作单元702进行操作以得出分配像素的评估值DFD,并且在前进至步骤S744之前将所获得的评估值DFD输出给评估值确定单元712。如果这时在原始帧中的位置为除了像素位置之外的位置,则通过采用上述四点内插过程来得出在原始帧中的相交点的亮度,从而获得分配像素的评估值DFD。
当从像素信息操作单元701接收到在原始帧中的位置时,在步骤S744中,所关心像素差异操作单元703得出在分配像素处的亮度差的绝对值dp,并且将所获得的亮度差的绝对值dp输出给像素差异确定单元711。该过程前进至步骤S745。还有在该情况中,当在原始帧中的位置为除了像素位置之外的位置时,通过采用上述四点内插过程来得出在原始帧中的相交点的亮度,所关心的像素差异操作单元703计算出在分配像素处的亮度差的绝对值dp。
如果在步骤S745中像素差异确定单元711确定来自所关心像素差异操作单元703的分配像素的亮度差的绝对值dp是否等于或小于预定阈值。如果确定分配像素的亮度差的绝对值dp等于或小于预定阈值,则像素差异确定单元711确定在帧t和帧t+1中的相交点容易分别属于不同对象,即像素差异确定单元711确定运动矢量在分配像素处具有较低的可靠性,并且不会用作用于分配给分配像素的分配候选矢量。因此,将步骤S746至S749跳过,并且分配矢量评估过程在返回到在图51中的步骤S708之前完成。
如果在步骤S745中像素差异确定单元711确定亮度差的绝对值dp小于预定阈值,则该过程前进至步骤S746。在步骤S746中,通过参考在矢量选择单元705中的DFD表,评估值确定单元712确定来自评估值操作单元702的评估值DFD是否小于存储在DFD表中的分配像素的最小评估值(用于零矢量的评估值DFD0)。如果确定来自评估值操作单元702的分配像素的评估值DFD等于或大于存储在DFD表中的分配像素的最小评估值,则评估值确定单元712确定运动矢量在分配像素处具有较低的可靠性。因此,将步骤S747至S749跳过,并且分配矢量评估过程在返回到在图51中的步骤S708之前完成。
可选的是,如果在步骤S746中确定来自评估值操作单元702的分配像素的评估值DFD小于存储在DFD表中的分配像素的最小评估值,则评估值确定单元712根据该评估值DFD确定在已经经过比较的运动矢量之中该运动矢量具有最高的可靠性,并且将被确定具有最高可靠性的分配像素的评估值DFD输出给矢量选择单元705。该过程前进至步骤S747。
当接收到来自评估值确定单元712的分配像素的评估值DFD,在步骤S747中,矢量选择单元705将在分配标志存储器56中的用于分配像素的分配标志重写为1(真),并且前进至步骤S748。在步骤S748中,矢量选择单元705将与在DFD表中的分配像素对应的最小评估值重写为被确定具有最高可靠性的评估值DFD,然后前进至步骤S749。
在步骤S706中从像素信息操作单元701将所选的分配像素及其运动矢量输入给矢量选择单元705。因此,在步骤S749中,矢量选择单元705用与被确定具有最高可靠性的评估值DFD对应的运动矢量将在分配矢量存储器55中分配给分配像素的运动矢量重写,并且在返回到在图51中的步骤S708之前完成该分配矢量评估过程。
如上所述,当选择将要分配给在内插帧中的分配像素的运动矢量时,不仅是评估值DFD,而且还有根据在通过运动矢量相关的原始帧中的位置获得的分配像素的亮度差的绝对值都要单独处理和评估。因此,与只使用评估值DFD的现有技术情况相比,从这些分配候选矢量之中,选择最可能的运动矢量,并且将它分配给分配像素。这改善了矢量分配精度,因此抑制了在随后阶段中在图像内插过程中产生出的图像不连续性等,从而能够改善图像质量。
另外,由于在得出评估值和亮度差的绝对值的情况中在需要在除了像素位置之外的位置处的像素值时通过线性内插根据离在该位置附近中的四个像素的距离计算出像素值,所以能够对该位置进行精确的处理。而且,与将像素位置之外的位置的分量四舍五入的现有技术方法相比,能够更精确地得到亮度差的绝对值dp和评估值DFD。这使之能够将在分配候选矢量之中的最可能的运动矢量分配给所关心的像素。换句话说,改善了矢量分配过程的精度。
另外,在将基于零矢量的评估值DFD作为初始值提前存储之后,在顺序处理运动矢量期间,当基于运动矢量的评估值DFD用作在那时的最小评估值时,根据需要将在DFD表中的最小评估值和在分配矢量存储器55中的运动矢量更新。因此,时间和资源能够得到有效利用。
接下来将对分配补偿单元57的结构细节进行说明。
图54为一方框图,显示出分配补偿单元57的结构。其结构在图54中所示的该分配补偿单元57包括分配矢量确定单元801和矢量补偿单元802。分配补偿单元57将在该像素周围的周边像素的运动矢量分配给在60P信号内插帧中其上没有由矢量分配单元54分配任何运动矢量的像素。
通过矢量分配单元54将运动矢量分配给在分配矢量存储器55中的内插帧中的像素。另外,对于其上由矢量分配单元54分配有运动矢量的像素在分配标志存储器56中的分配标志中写入1(真),并且对于其上没有分配任何运动矢量的像素在分配标志存储器56中的分配标志中写入零(假)。
通过参照在分配标志存储器56中的分配标志,分配矢量确定单元801确定矢量分配单元54是否将运动矢量分配给所关心的像素。分配矢量确定单元801选择其上没有由矢量分配单元54分配任何运动矢量的所关心像素,并且对于所选的所关心像素控制矢量补偿单元802将周边像素的运动矢量分配给在分配矢量存储器55中的内插帧。
矢量补偿单元802从分配矢量存储器55中获取分配给在所关心像素周围的周边像素的运动矢量。通过使用在时刻t的输入帧t和在时刻t+1的输入帧t+1来得到所获取的运动矢量的评估值DFD并且比较所获得的评估值DFD,从而矢量补偿单元802将在分配给在所关心像素周围的周边像素的运动矢量之中基于评估值DFD具有最高可靠性的运动矢量分配给在分配矢量存储器55中的所关心像素。另外,矢量补偿单元802使用1(真)来将其上分配有运动矢量的所关心像素的标志重写。
图55为一方框图,显示出矢量补偿单元802的结构。在图55中所示的矢量补偿单元802包括补偿单元811和评估值操作单元812。
补偿单元811包括存储器821,用于存储最小评估值DFD以及作为候选矢量的用于最小评估值DFD的运动矢量(下面也被称为“补偿候选矢量”)。存储器821作为最小评估值并且作为由分配矢量确定单元801所选的所关心像素的初始值存储有零矢量评估值DFD,并且存储有作为补偿候选矢量的零矢量。通过参照分配标志存储器56,补偿单元811确定是否存在在所关心像素周围的周边像素的运动矢量,获取从分配矢量存储器55分配给周边像素的运动矢量,并且控制评估值操作单元812计算出运动矢量的评估值DFD。
补偿单元811确定由评估值操作单元812计算出的每个评估值DFD是否小于最小评估值。如果确定所计算出的评估值DFD小于最小评估值,则补偿单元811通过所计算出的评估值DFD和一运动矢量将补偿候选矢量和存储在存储器821中的最小评估值重写。最后,将被确定为具有最小评估值DFD的周边像素的运动矢量(补偿候选矢量)作为所关心像素的运动矢量分配给在分配矢量存储器55中的所关心像素。补偿单元811使用1(真)将在分配标志存储器56中用于其上分配有运动矢量的所关心像素的分配标志重写。
在从分配矢量存储器55获取周边像素的运动矢量之后,评估值操作单元812通过使用输入的24P信号图像的帧t(在时刻t)和帧t+1(在时刻t+1)从分配矢量存储器55中计算出运动矢量的评估值DFD,并且将所计算出的评估值DFD输出给补偿单元811。
图56为分配补偿过程的原理的示意图。在图56中所示的示例中,显示出在内插帧中的像素。从这些像素延伸出的箭头表示分配给这些像素的运动矢量。没有任何箭头的像素表示其上没有分配任何运动矢量的像素。
从分配给在所关心像素P附近的周边像素的运动矢量之中,选择出根据评估值DFD具有最高可靠性的运动矢量,并且将它分配给其上没有由矢量分配单元54分配任何运动矢量的所关心中心像素P。在图56中所示的示例中,将该像素的运动矢量(由粗箭头所示)选择并且分配给所关心的像素P。这是根据下面所述的运动相关性执行的过程。
图57为运动相关性原理的示意图。在图57中所示的示例中,对象O1在帧中以运动v1运动,并且对象O2在帧中以运动v2运动。属于对象O1的所关心的像素P1及其相邻部分K1具有与对象O1的运动基本上相同的运动v1。另外,属于对象O2的所关心的像素P2及其相邻部分K2具有与对象O2的运动基本上相同的运动v2。
如上所述,运动相关性表示这样的事实,在许多情况中,在相同单次中的空间(相同帧)中,属于对象的像素的运动基本上相同。因此,对于其上没能分配运动矢量的像素,通过使用这种运动相关性在相同时刻的空间中(相同帧)的存在,从周边像素的运动矢量中选择与像素对应的运动矢量。这也适用于时间相关性,但是省略了其说明。
接下来将参照图58至64对基于运动相关性执行的运动矢量补偿过程进行说明。具体地说,在运动矢量补偿过程中,从周边像素的运动矢量,选择并且使用运动像素作为所关心像素的运动矢量以进行补偿。在图58中所示的示例中,白色圆圈表示在内插帧中的像素。在要找出其运动矢量的所关心像素P周围显示出八个周边像素。通过参照八个周边像素的运动矢量找出所关心像素P的运动矢量。
在图59中所示的示例中,在所关心像素P周围的八个周边像素之中,顶左边、顶右边和底部右边像素(由黑色圆圈表示)具有由在前一阶段中处理而获得的运动矢量(由箭头所示的)(例如,上述矢量分配过程)。换句话说,在该情况中,顶左边、顶右边和底部右边像素用作所关心像素P的补偿候选矢量。由于在该帧中按照光栅扫描的顺序从在帧中的左上端像素开始找出运动矢量,所以在八个周边像素之中可能存在没有找出其运动矢量的像素。这些运动矢量不能用作补偿候选矢量。
如由在图60中所示的示例所示一样,在八个周边像素之中,除了具有通过在前一阶段中处理找出的运动矢量的像素(黑色圆圈)之外,具有由该过程找出的运动矢量的像素(由阴影圆圈表示)也存在。换句话说,在该过程中,通过在前一阶段中的这个过程获得的结果也得到使用。因此,在图60中所示的示例中,用于所关心像素P的补偿候选矢量由其运动矢量已经存在的像素(黑色圆圈)的运动矢量和具有由在前一阶段中的这个过程得出的运动矢量的像素(阴影圆圈)的运动矢量构成。
另外,如由在图61中所示的示例所示一样,也可以使用其中运动量为零的零矢量S0(静止矢量)作为补偿候选矢量。在图60所示的示例中,单独显示出具有由该过程得出的运动矢量的像素和其运动矢量已经存在的像素。但是,两者在具有运动矢量方面是相同的。因此,在图61至64中,看起来在其运动矢量已经存在的像素(黑色圆圈)中也包括具有由该过程得出的运动矢量的像素。因此,在图61中所示的示例中,用于所关心像素P的补偿候选矢量由其运动矢量已经存在的像素(黑色圆圈)和零矢量S0构成。
为了比较如上所述形成的补偿候选矢量的可靠性(可能性),如图62至64所示一样得出用于运动矢量评估的评估值DFD。图62显示出将零矢量S0用作补偿候选矢量。图63显示出在八个周边像素之中的顶左边像素VK1用作补偿候选矢量。图64显示出将在八个周边像素之中的顶部中央像素VK2用作补偿候选矢量。
在图62中所示的示例中,从在图62的左边上显示出的所关心像素P的补偿候选矢量中,选择零矢量S0,并且找出所选零矢量S0的评估值DFD。换句话说,如此找出零矢量S0的评估值DFD,从而在24P信号图像的其间设有所关心像素(60信号内插帧)的帧t和帧t+1中,通过使用在内插帧中的所关心像素P,找出与所选零矢量S0相关联的相交点,用相交点作为中点计算出由预定m×n像素范围形成的DFD操作范围D1-1和D1-2,并且使用所计算出的DFD操作范围D1-1和D1-2来进行基于公式(1)的操作。
在图63中所示的示例中,从在图63的左侧上显示出的所关心像素P的补偿候选矢量中,选择出八个周边像素的顶左边像素的运动矢量VK1,并且选择出运动矢量VK1的评估值DFD。换句话说,如此找出八个周边像素的顶左边像素的运动矢量VK1的评估值DFD,从而在其间设有所关心像素P的帧t和帧t+1中,通过使用所关心像素P作为参考,找出与所选运动矢量VK1相关的相交点,用相交点作为中心计算出由预定m×n像素范围形成的DFD操作范围D2-1和D2-2,并且使用所计算出的DFD操作范围D2-1和D2-2来进行基于公式(1)的操作。
在图64中所示的示例中,从在图64的左边上显示出的所关心像素P的补偿候选矢量中,选择出八个周边像素的顶部中心像素的运动矢量VK2,并且选择出运动矢量VK2的评估值DFD。换句话说,如此找出周边像素的顶部中心像素的运动矢量VK2的评估值DFD,从而在其间(在内插帧中)设有所关心像素P的帧t和帧t+1中,通过使用所关心像素P作为参考,找出与所选运动矢量VK2相关的相交点,用相交点作为中心计算出由预定m×n像素范围形成的DFD操作范围D3-1和D3-2,并且使用所计算出的DFD操作范围D3-1和D3-2来进行基于公式(1)的操作。
对于在图64的左侧上显示出的其它补偿候选矢量,进行基本上相同的处理。因此,省略了其说明。如上所述,找出用于所关心像素P周围的周边像素的所有补偿候选矢量的评估值DFD,并且将所获得的评估值DFD相互比较,并且在所获得的评估值DFD之中,将具有最小评估值DFD的补偿候选矢量选择作为将要分配给所关心像素的具有最高可靠性的可能运动矢量。
在图65中所示的示例中,确定从所关心像素的周边像素的补偿候选矢量之中,用于八个周边像素的左上像素的运动矢量VK1的评估值DFD最小,并且将运动矢量VK1分配给所关心像素P的运动矢量。
如上所述,通过使用运动相关性从周边像素的运动矢量来补偿其上不能由矢量分配单元54分配运动矢量的像素的运动矢量。因此,与其中没有分配任何运动矢量的情况例如其中分配了零矢量的情况相比,能够抑制在运动中的不规则性。另外,这样补偿的像素的运动矢量也能够重新用作另一个像素的补偿候候选矢量。换句话说,不仅在空间相邻部分中的运动矢量,而且还有在时间相邻部分中的运动矢量都可以用作补偿候选矢量。对于在对象中基本上相同运动的像素而言,选择具有基本上相同运动的矢量,从而能够获得具有更小误差的可靠运动矢量。这改善了矢量分配的精度。
接下来,将参照在图66中所示的流程图对分配补偿过程的细节进行说明。在前一阶段中通过矢量分配单元54将运动矢量分配给在分配矢量存储器55中的内插帧中的像素。在用于其上由矢量分配单元54分配运动矢量的每个像素的分配标志存储器56中的分配标志中,写入1(真)。在用于其上没有分配任何运动矢量的每个像素的分配标志存储器56中的分配标志中,写入零(假)。
在步骤S801中,分配矢量确定单元801选择在分配标志存储器56中的内插帧中的像素作为所关心的像素,并且前进至步骤S802。分配矢量确定单元801按照光栅扫描的顺序从左上端像素中选择像素。
在步骤S802中,分配矢量确定单元801确定在分配标志存储器56中用于所关心像素的分配标志是否为零(假)。如果确定在分配标志存储器56中用于所关心像素的分配标志为零(假),则分配矢量确定单元801确定没有分配任何运动矢量。前进至步骤S803,分配矢量确定单元801控制补偿单元811以执行矢量补偿过程,并且前进至步骤S804。下面将参照图67对矢量补偿过程的细节进行说明。在矢量补偿过程中,从分配给周边像素的运动矢量中,将具有最小评估值DFD的运动矢量作为补偿候选矢量存储在存储器821中。
在步骤S804中,补偿单元811将在存储器821中的补偿候选矢量作为所关心像素的运动矢量分配给分配矢量存储器55,并且前进至步骤S805。补偿单元811将在分配标志存储器56中的用于所关心像素的分配标志重写,并且该过程前进至步骤S806。
如果在步骤S802中确定在分配标志存储器56中用于所关心像素的分配标志为1(真),则分配矢量确定单元801确定已经将运动矢量分配给所关心像素,并且前进至步骤S806,从而跳过了步骤S803和S805。
在步骤S806中,分配矢量确定单元801确定在分配标志存储器56中的内插帧中的所有像素上的处理是否已经完成。如果确定在所有像素上的处理还没有完成,则该过程返回到步骤S801,并且选择在分配标志存储器56中的内插帧中的下一个像素。执行随后的步骤,如果在步骤S806中确定在分配标志存储器56中的内插帧中的所有像素上的处理已经完成,则分配补偿过程结束。
接下来,将参照在图67中所示的流程图对矢量补偿过程的细节进行说明。图67显示出在图66中的步骤S803中的矢量补偿过程的示例。
在步骤S821中,补偿单元811控制评估值操作单元812以通过使用零矢量计算出评估值DFD0,并且该过程前进至步骤S822。具体地说,在步骤S821中,通过使用如上面参照例如图62所述一样所输入的在时刻t的帧t和在时刻t+1的帧t+1,从而评估值操作单元812在使用零矢量的情况中计算出评估值DFD0,并且将所计算出的评估值DFD0输出给补偿单元811。
在步骤S822中,补偿单元811将评估值DFD0作为最小评估值存储在存储器821中。前进至步骤S823,补偿单元811将零矢量作为补偿候选矢量存储在存储器821中。在步骤S824中,补偿单元811从在由分配矢量确定单元801所选的所关心像素周围的八个周边像素之中选择一个周边像素,并且前进至步骤S825。这时,补偿单元811按照光栅扫描的顺序从左上端像素选择八个周边像素。
在步骤S825中,通过参照分配标志存储器56,补偿单元811确定所选周边像素是否具有运动矢量。如果在分配标志存储器56中用于周边像素的分配标志为1(真),则在步骤S825中,补偿单元811确定存在分配给所选周边像素的运动矢量。前进至步骤S826,补偿单元811从分配矢量存储器55中获取周边像素的运动矢量,并且该过程前进至步骤S827。然后,从分配矢量存储器55中将周边像素的运动矢量也输出给评估值操作单元812。
当接收到来自分配矢量存储器55的周边像素的运动矢量时,在步骤S827中,通过使用所输入的在时刻t的帧t和在时刻t+1的帧,评估值操作单元812从分配矢量存储器55计算出运动矢量的评估值DFD,并且将所计算出的评估值DFD输出给补偿单元811。该过程前进至步骤S828。
当接收到来自评估值操作单元812的评估值DFD时,在步骤S828中,补偿单元811确定评估值DFD是否小于存储在存储器821中的所关心像素的最小评估值。如果确定评估值DFD小于存储在存储器821中的最小评估值,则补偿单元811前进至步骤S821,并且通过被确定为小于最小评估值的评估值DFD将在存储器821中的最小评估值重写。前进至步骤S830,补偿单元811通过用于最小评估值的运动矢量将在存储器821中的补偿候选矢量重写。该过程前进至步骤S831。
如果在步骤S825中,在分配标志存储器56中用于周边像素的分配标志为零(假),则补偿单元811确定所选的周边像素没有任何分配运动矢量,并且前进至步骤S831,从而跳过了步骤S826至S830。另外,如果在步骤S828中确定评估值DFD等于或大于存储在存储器821中的所关心像素的最小评估值,则补偿单元811前进至步骤S831,从而跳过了步骤S829和S830。
在步骤S831中,补偿单元811确定在所关心像素的所有八个周边像素上的处理是否已经完成。如果确定在所关心像素周围的所有八个周边像素上的处理还没有完成,则补偿单元811返回到步骤S824,并且选择下一个周边像素来重复随后的步骤。如果在步骤S831中确定在所关心像素周围的所有八个周边像素上的处理已经完成,则该矢量补偿过程在返回到在图66中的步骤S804之前完成。
如上所述,对于其上没能由矢量分配过程分配运动矢量的像素,通过使用运动相关性,从在该像素周围的周边像素的运动矢量,能够获得基于评估值DFD具有最高可靠性的可能运动矢量。因此,与其中由于不能分配运动矢量所以分配零矢量等的情况相比,改善了矢量分配的精度,因此抑制了在图像差值过程中产生出图像不连续性。
用1(真)将对于其上要由上述分配补偿过程分配运动矢量的像素的分配标志重写,并且将由分配补偿过程分配的运动矢量用作下一个像素的补偿候选矢量。因此,对于基本上相同运动的像素而言,选择具有基本上相同运动的运动矢量,从而能够获得具有更小误差的可靠运动矢量。因此,降低了在随后阶段中的图像中产生出的块噪声、粉末噪声等,从而改善了图像质量。
另外,对于将要找出其运动矢量的像素而言,通过计算零矢量的评估值DFD并且将所计算出的评估值DFD作为最小评估值存储在存储器中,从而与计算所有补偿候选矢量的评估值并且从所计算出的评估值DFD中选择出最小评估值DFD的情况相比,时间和资源得到了有效利用。
在上面的说明中,矢量补偿过程对于其上没有由矢量分配单元54分配运动矢量的像素进行。但是,对于其运动矢量没有被一些过程找到的像素而言,例如没有被矢量检测单元52检测到的像素(其中检测出零矢量),可以进行矢量补偿过程。而且,对于在其每一个中所检测出的运动矢量或分配运动矢量不是可能的(具有较低可靠性)的像素而言可以进行矢量补偿过程。
但是,在前面实施方案的说明中,将作为差的绝对值的总和的评估值DFD用作运动矢量选择的评估值,该评估值不限于评估值DFD,如果能够计算出运动矢量的可靠性,则可以使用另一种数值。
另外,虽然上面实施方案描述了用于进行每个过程的块例如由8×8像素以及9×9像素构成,但是这些都是示例,并且构成用于进行每个过程的块的像素数量不限于上面的像素数量。
另外,虽然已经通过例举说明从24P信号到60P信号的信号转换来说明前面的实施方案,但是本发明可以应用于例如交错信号转换和其它帧速率转换如运动图像帧频率转换。
上述连续过程能够由硬件或软件执行。当通过软件执行连续过程时,构成软件的程序从程序存储介质安装到例如构建到专门硬件中的计算机上,或者多用途个人计算机上,其中通过安装各种程序能够执行各种功能。
用于存储安装到计算机中并且可以由计算机执行的程序的程序存储介质如图1所示包括可拆卸记录介质(包装介质),包括磁盘31(包括软盘)、光盘32(CD-ROM致密盘只读存储器、DVD(数字通用盘))、磁光盘33(包括MD(微型盘))和半导体存储器34,以及用来暂时或永久存储程序的ROM12。
在该说明书中,在流程图中所示的步骤不仅包括按照时间顺序方式根据所给出的顺序进行的处理步骤,而且还包括并不总是按照时间顺序方式执行的单独或并行操作的处理步骤。

Claims (15)

1.一种图像处理设备,包括:
有效像素确定装置,用于确定在操作块中的像素在检测运动矢量中是否有效,这些像素受到梯度操作以便检测运动矢量;以及
梯度操作装置,用于通过在操作块中的像素中只使用由有效像素确定装置确定在检测运动矢量中有效的像素来进行梯度操作。
2.如权利要求1所述的图像处理设备,其中:
所述有效像素确定装置包括时间差异确定装置,用于计算在受到运动矢量检测的第一帧和在第一帧之后的第二帧之间在操作块中的像素的时间像素差异;并且
根据由时间差异确定装置计算出的时间像素差异,有效像素确定装置确定在操作块中的像素在检测运动矢量中是有效的。
3.如权利要求2所述的图像处理设备,其中:
所述有效像素确定装置还包括时间差异确定装置,用于确定由时间差异计算装置计算出的时间像素差异是否小于预定阈值;并且
在时间差异确定装置确定所计算出的时间像素差异小于预定的阈值时,有效像素确定装置确定在操作块中的像素在检测运动矢量中是有效的。
4.如权利要求1所述的图像处理设备,其中:
所述有效像素确定装置包括:
第一空间差异计算装置,用于在受到运动矢量检测的第一帧中计算在操作块中像素的第一空间像素差异;
第二空间差异计算装置,用于在第一帧之后的第二帧中计算在操作块中的像素的第二空间像素差异;以及
时间差异计算装置,用于计算在第一帧和第二帧之间在操作块中的像素的时间像素差异,并且
根据分别由第一和第二空间差异计算装置和时间差异计算装置计算出的第一和第二空间像素差异和时间像素差异,有效像素确定装置确定在操作块中的像素在检测运动矢量中是有效的。
5.如权利要求4所述的图像处理设备,其中:
所述有效像素确定装置包括梯度相似性确定装置,用来确定像素的梯度相似性是否小于预定的阈值,像素的梯度相似性基于分别由第一和第二空间差异计算装置和时间差异计算装置计算出的第一和第二空间像素差异和时间像素差异;并且
在该梯度相似性确定装置确定像素的梯度相似性小于预定阈值时,有效像素确定装置确定在操作块中的像素在检测运动矢量中是有效的。
6.如权利要求5所述的图像处理设备,其中所述梯度相似性确定装置确定像素梯度的水平相似性和垂直相似性以及像素梯度的水平垂直相似性中的每一个是否小于预定阈值,这些相似性基于第一和第二空间像素差异和时间像素差异,并且在梯度相似性确定装置确定像素梯度的水平相似性和垂直相似性以及像素梯度的水平垂直相似性中的至少一个小于预定阈值时,梯度相似性确定装置确定在操作块中的像素在检测运动矢量中是有效的。
7.如权利要求5所述的图像处理设备,其中所述梯度相似性确定装置确定像素梯度的水平相似性和垂直相似性是否小于预定阈值,这些相似性基于第一和第二空间像素差异和时间像素差异,并且在确定像素梯度的水平相似性和垂直相似性均小于预定阈值时,梯度相似性确定装置确定在操作块中的像素在检测运动矢量中是有效的。
8.如权利要求1所述的图像处理设备,还包括:
像素数量确定装置,用来确定在操作块中由有效像素确定装置确定在检测运动矢量中有效的像素数量是否小于预定数量;以及
操作控制装置,用于根据由像素数量确定装置确定的结果来控制有效像素确定装置和梯度操作装置中的一个的过程。
9.如权利要求8所述的图像处理设备,其中在像素数量确定装置确定在操作块中由有效像素确定装置确定在检测运动矢量中有效的像素数量小于预定数量时,操作控制装置控制梯度操作装置以停止梯度操作。
10.如权利要求9所述的图像处理设备,其中将零矢量分配给在操作控制装置控制梯度操作装置以停止梯度操作之后检测出的运动矢量。
11.如权利要求8所述的图像处理设备,其中:
所述操作块包括用于检测在块单元中的运动矢量的第一操作块部分和用于检测在像素单元中的运动矢量的第二操作块部分;
所述有效像素确定装置确定在第一操作块中的像素在检测运动矢量中是否有效;
所述像素数量确定装置确定在第一操作块部分中被确定在检测运动矢量中有效的像素的数量是否小于预定数量;
在所述像素数量确定装置确定在第一操作块部分中被确定在检测运动矢量中有效的像素的数量小于预定数量时,操作控制装置控制有效像素确定装置和梯度操作装置以将对第一操作块部分的处理切换至对第二操作块部分的处理。
12.如权利要求8所述的图像处理设备,其中:
所述操作块包括用于检测在块单元中的运动矢量的第一操作块部分和用于检测在像素单元中的运动矢量的第二操作块部分;
所述有效像素确定装置确定在第一操作块部分中的像素在检测运动矢量中是否有效;
所述像素数量确定装置确定在第一操作块部分中被确定在检测运动矢量中有效的像素的数量是否小于预定数量;并且
在像素数量确定装置确定在第一操作块部分中被确定在检测运动矢量中有效的像素数量大于预定数量时,操作控制装置控制有效像素确定装置和梯度操作装置,以针对由有效像素确定装置确定为在检测运动矢量中是无效的那些像素将对第一操作块部分的处理切换至对第二操作块部分的处理。
13.一种图像处理方法,包括:
有效像素确定步骤,确定在操作块中的像素在检测运动矢量中是否有效,这些像素受到用于检测运动矢量的梯度操作;以及
梯度操作步骤,通过在操作块中的像素中只使用在有效像素确定步骤中被确定在检测运动矢量中有效的像素来进行梯度操作。
14.一种具有记录在其上的计算机可读程序的记录介质,该程序包括:
有效像素确定步骤,确定在操作块中的像素在检测运动矢量中是否有效,这些像素受到用于检测运动矢量的梯度操作;以及
梯度操作步骤,通过在操作块中的像素中只是使用在有效像素确定步骤中被确定在检测运动矢量中有效的像素来进行梯度操作。
15.一种用于让计算执行以下步骤的程序:
有效像素确定步骤,确定在操作块中的像素在检测运动矢量中是否有效,这些像素受到用于检测运动矢量的梯度操作;以及
梯度操作步骤,通过在操作块中的像素中只使用在有效像素确定步骤中被确定在检测运动矢量中有效的像素来进行梯度操作。
CNB2005800147927A 2004-04-09 2005-04-08 图像处理设备和方法、记录介质和程序 Expired - Fee Related CN100555330C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004116008 2004-04-09
JP116008/2004 2004-04-09

Publications (2)

Publication Number Publication Date
CN1950850A true CN1950850A (zh) 2007-04-18
CN100555330C CN100555330C (zh) 2009-10-28

Family

ID=35125289

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800147927A Expired - Fee Related CN100555330C (zh) 2004-04-09 2005-04-08 图像处理设备和方法、记录介质和程序

Country Status (6)

Country Link
US (1) US7848427B2 (zh)
EP (1) EP1734478A4 (zh)
JP (1) JP4692845B2 (zh)
KR (1) KR101118981B1 (zh)
CN (1) CN100555330C (zh)
WO (1) WO2005098752A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902561A (zh) * 2009-06-01 2010-12-01 佳能株式会社 图像处理装置及图像处理方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4462823B2 (ja) * 2002-11-20 2010-05-12 ソニー株式会社 画像信号の処理装置および処理方法、それに使用される係数データの生成装置および生成方法、並びに各方法を実行するためのプログラム
JP4835075B2 (ja) * 2005-09-09 2011-12-14 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
JP4752407B2 (ja) 2005-09-09 2011-08-17 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
JP2007074592A (ja) * 2005-09-09 2007-03-22 Sony Corp 画像処理装置および方法、プログラム、並びに記録媒体
US7706625B2 (en) * 2006-06-09 2010-04-27 Siemens Aktiengesellschaft Trilateral filter for medical diagnostic imaging
US8929434B2 (en) * 2006-10-14 2015-01-06 Ubiquity Broadcasting Corporation Video enhancement internet media experience in converting high definition formats to video formats
US8090022B2 (en) * 2007-01-05 2012-01-03 Sony Corporation Video coding system
JP5023805B2 (ja) * 2007-05-16 2012-09-12 ソニー株式会社 画像処理装置および画像処理方法、並びにプログラム
US8355077B2 (en) * 2008-03-27 2013-01-15 Csr Technology Inc. Adaptive windowing in motion detector for deinterlacer
US8559763B2 (en) * 2010-12-14 2013-10-15 The United States Of America As Represented By The Secretary Of The Navy Method and apparatus for motion-compensated interpolation (MCI) with conservative motion model
US9094561B1 (en) * 2010-12-16 2015-07-28 Pixelworks, Inc. Frame interpolation and motion vector reconstruction
JP5558431B2 (ja) * 2011-08-15 2014-07-23 株式会社東芝 画像処理装置、方法及びプログラム
KR101960761B1 (ko) * 2011-11-24 2019-03-22 에스케이텔레콤 주식회사 모션 벡터의 예측 부호화/복호화 방법 및 장치
GB2514334B (en) * 2013-05-13 2020-04-22 Snell Advanced Media Ltd Video processing
CN104811726B (zh) * 2015-04-24 2018-12-18 宏祐图像科技(上海)有限公司 帧率转换中运动估计的候选运动矢量选择方法
USD854557S1 (en) * 2015-10-02 2019-07-23 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
USD862505S1 (en) 2015-10-02 2019-10-08 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
EP3364655A4 (en) * 2015-11-11 2018-10-10 Samsung Electronics Co., Ltd. Method and apparatus for decoding video, and method and apparatus for encoding video
DE112021007132T5 (de) * 2021-06-09 2023-12-21 Nvidia Corporation Berechnung der bewegung von pixeln zwischen bildern

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200820A (en) 1978-06-30 1980-04-29 Varian Associates, Inc. High power electron beam gyro device
JPS60158786A (ja) * 1984-01-30 1985-08-20 Kokusai Denshin Denwa Co Ltd <Kdd> 画像動き量検出方式
FR2648254B2 (fr) * 1988-09-23 1991-08-30 Thomson Csf Procede et dispositif d'estimation de mouvement dans une sequence d'images animees
US5200820A (en) * 1991-04-26 1993-04-06 Bell Communications Research, Inc. Block-matching motion estimator for video coder
ATE165487T1 (de) * 1993-09-08 1998-05-15 Thomson Multimedia Sa Verfahren und vorrichtung zur bewegungsschätzung mittels blockzusammenpassung
JPH07135663A (ja) 1993-09-17 1995-05-23 Oki Electric Ind Co Ltd 動きベクトル検出方法および動きベクトル検出装置
DE69422876T2 (de) * 1993-10-11 2000-06-15 Thomson Multimedia Sa Verfahren und Gerät zur Korrektur von Bewegungsvektoren
JP3800640B2 (ja) * 1995-07-04 2006-07-26 ソニー株式会社 画像情報の動き検出方法及びその装置、画像情報の符号化方法及びその装置、画像情報伝送システム、画像情報記録システム並びに記録媒体
KR100224752B1 (ko) 1997-06-11 1999-10-15 윤종용 표적 추적 방법 및 장치
US7003134B1 (en) * 1999-03-08 2006-02-21 Vulcan Patents Llc Three dimensional object pose estimation which employs dense depth information

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902561A (zh) * 2009-06-01 2010-12-01 佳能株式会社 图像处理装置及图像处理方法
CN101902561B (zh) * 2009-06-01 2013-01-30 佳能株式会社 图像处理装置及图像处理方法

Also Published As

Publication number Publication date
WO2005098752A1 (ja) 2005-10-20
US20050259738A1 (en) 2005-11-24
CN100555330C (zh) 2009-10-28
JPWO2005098752A1 (ja) 2008-02-28
KR20070015169A (ko) 2007-02-01
EP1734478A1 (en) 2006-12-20
US7848427B2 (en) 2010-12-07
KR101118981B1 (ko) 2012-03-13
JP4692845B2 (ja) 2011-06-01
EP1734478A4 (en) 2011-04-13

Similar Documents

Publication Publication Date Title
CN1950850A (zh) 图像处理设备和方法、记录介质和程序
CN1961338A (zh) 图像处理设备和方法、记录介质以及程序
CN1947152A (zh) 图像处理方法和设备、记录介质、及程序
CN1279489C (zh) 信号处理方法与设备
CN1754384A (zh) 图像处理装置和方法、学习装置和方法、记录介质以及程序
CN1260979C (zh) 图像处理装置及系统、解码装置、编码装置及编码方法
CN1178460C (zh) 图象编码方法和图象编码装置
CN100343873C (zh) 图像处理装置、方法
CN100350428C (zh) 信号处理装置、方法及程序
CN1241147C (zh) 图像处理设备和方法,以及图像拾取设备
CN1926881A (zh) 运动矢量检测装置、运动矢量检测方法和计算机程序
CN101038625A (zh) 图像处理装置和方法
CN1816825A (zh) 信号处理设备和信号处理方法、以及程序和记录介质
CN1922630A (zh) 图象处理装置、图象处理系统、图象处理方法、图象处理程序及集成电路装置
CN1200571C (zh) 正交变换、逆正交变换方法及装置、编码、解码方法及装置
CN1509475A (zh) 存储单元电路、存储设备、运动矢量检测器、和运动补偿预测编码器
CN1473312A (zh) 图像处理设备和方法以及图像拾取设备
CN1249629C (zh) 图像处理装置、图像处理方法和成像装置
CN1178490C (zh) 数据处理方法、数据处理装置
CN1304617A (zh) 插值处理装置及记录插值处理程序的记录媒体
CN1429028A (zh) 预测装置、编辑装置、逆预测装置、解码装置及运算装置
CN1684515A (zh) 信息处理设备和方法,记录介质和程序
CN1828480A (zh) 输出系统、设备管理装置以及设备管理程序、及输出方法
CN1180432C (zh) 时间码运算装置
CN1249630C (zh) 图像处理装置和方法及摄像装置

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: 20091028

Termination date: 20130408