运动估计器和运动估计方法

文档序号:86531阅读:398来源:国知局
专利名称:运动估计器和运动估计方法
技术领域
与本发明一致的设备和方法涉及一种运动估计器和运动估计方法,更具体地讲,涉及一种用于估计帧运动以产生将在两个相邻帧之间插入的内插帧的运动估计器和运动估计方法。
背景技术
通常,帧率转换是指将输入视频信号的频率转换为匹配输出格式的频率。为此,例如,将附加帧插入在原始帧之间以将50Hz的视频信号转换为100Hz的视频信号。如果只是重复原始帧或者使用时域的线性插值方法进行帧率转换,那么可能出现运动模糊现象等。因此,通常运动估计和补偿技术用作有效减小这种运动模糊现象的高质量帧率转换方法之一。
近年来,已积极开发了使用这种运动估计和补偿技术的各种帧插入方法。
现有技术的运动估计方法定义多个候选运动矢量,基于运动预测误差值选择最终运动矢量,并基于选择的最终运动矢量产生内插帧。现有技术的运动估计方法假设候选运动矢量代表当前帧中的参考块的期望运动并且对应于所述帧的实际运动的最终运动矢量具有最小的运动预测误差值,来估计运动。
然而,在现有技术的运动估计方法中,可能会将不代表实际运动的矢量错误地估计为最终运动矢量,并且如果候选运动矢量错误地预测参考块的运动,那么会继续错误地估计运动矢量。此外,上述运动模糊现象可能进一步加剧。

发明内容本发明提供了一种能够产生与实际运动最接近的运动矢量的运动估计器和运动估计方法,其中,基于所述运动矢量产生内插帧。
通过提供一种基于当前帧和先前帧产生内插帧的运动估计器,可解决本发明的前述和/或其它方面,所述运动估计器包括第一候选运动矢量计算单元,将当前帧划分为多个块,并产生多个第一候选运动矢量组,每个第一候选运动矢量组包括基于先前估计的先前运动矢量计算的所述多个块中的每个块的第一候选运动矢量;第二候选运动矢量计算单元,计算所述多个块中的每个块的多个第二候选运动矢量,基于包括在每个第一候选运动矢量组中的各个第一候选运动矢量来计算所述多个第二候选运动矢量中的每个;和最终运动矢量决定单元,从所述多个第二候选运动矢量中选择所述多个块中的每个块的最终运动矢量。因而,基于最终运动矢量产生内插帧。
根据本发明的一方面,所述先前运动矢量包括先前帧的最终运动矢量。
根据本发明的另一方面,第一候选运动矢量计算单元将所述多个块中的每个块设置为参考块,并对参考块和与参考块相邻的多个块的先前运动矢量求平均值,以将产生的平均值作为参考块的第一候选运动矢量。
根据本发明的另一方面,第一候选运动矢量计算单元将所述多个块中的每个块设置为参考块,并对包括在参考块所在的行中的多个块的先前运动矢量求平均值,以将产生的平均值作为参考块的第一候选运动矢量。
根据本发明的另一方面,包括在参考块所在的行中的所述多个块中的每个块的先前运动矢量的幅值大于第一阈值。
根据本发明的另一方面,包括在参考块所在的行中的多个块的先前运动矢量和与参考块相邻的块的先前运动矢量之间的差的幅值的和小于第二阈值。
根据本发明的另一方面,第一候选运动矢量计算单元将先前运动矢量作为第一候选运动矢量输出到第二候选运动矢量计算单元。
根据本发明的另一方面,所述先前运动矢量是零矢量。
根据本发明的另一方面,第一候选运动矢量计算单元将所述多个块中的每个块设置为参考块,并根据全局矢量计算等式来计算参考块的第一候选运动矢量。
根据本发明的另一方面,第一候选运动矢量计算单元将所述多个块中的每个块设置为参考块,并选择在参考块的一个方向上的多个相邻块的先前运动矢量之一作为参考块的第一候选运动矢量。
根据本发明的另一方面,具有在参考块的一个方向上的所述多个相邻块的先前运动矢量的中间幅值的先前运动矢量被选择为参考块的第一候选运动矢量。
根据本发明的另一方面,根据下面的等式来选择第一候选运动矢量 其中,Va、Vb和Vc指示与参考块的一个方向上的三个相邻块对应的先前运动矢量。
根据本发明的另一方面,参考块的一个方向上的多个相邻块包括包含在参考块左边的列中的多个块和包含在参考块右边的列中的多个块中的至少一个。
根据本发明的另一方面,第二候选运动矢量计算单元将当前帧划分为多个块,将所述多个块中的每个块设置为参考块,基于包括在每个第一候选运动矢量组中的各个第一候选运动矢量将参考块与设置在先前帧中的搜索区域进行比较,并基于比较结果来计算每个第二候选运动矢量。
根据本发明的另一方面,为了计算每个第二候选运动矢量,第二候选运动矢量计算单元确定参考块与所述搜索区域之间的相似性。
根据本发明的另一方面,基于相对于参考块的运动预测误差值来确定参考块与所述搜索区域之间的相似性。
根据本发明的另一方面,根据块匹配算法来计算运动预测误差值。
根据本发明的另一方面,最终运动矢量决定单元基于每个第二候选运动矢量的运动预测误差值来选择所述多个块中的每个块的最终运动矢量。
根据本发明的另一方面,最终运动矢量决定单元基于每个第二候选运动矢量的运动预测误差值和每个第二候选运动矢量与对应于与参考块相邻的块的先前运动矢量之间的矢量差来选择最终运动矢量。
根据本发明的另一方面,最终运动矢量决定单元通过基于参考块与相邻块之间的距离将不同的权重分配给对应于相邻块的先前运动矢量来计算矢量差。
根据本发明的另一方面,最终运动矢量决定单元根据下面的等式来计算矢量差D(V′)=ΣVi∈SWi×|V′-Vi|]]>
其中,D(V′)指示矢量差,Wi指示每个相邻块的权重,V′指示每个第二候选运动矢量,Vi指示对应于每个相邻块的先前运动矢量,S指示搜索区域。
根据本发明的另一方面,最终运动矢量决定单元选择具有根据下面的等式确定的代价函数的最小值的第二候选运动矢量作为最终运动矢量E(V′)=Φ(V′)+γ×D(V′)Φ(V′)=ΣX∈B|Fn-1(X+V′)-Fn(X)|]]>D(V′)=ΣVi∈SWi×|V′-Vi|]]>其中,E(V′)指示代价函数,Fn指示当前帧,Fn-1指示先前帧,Φ(V′)指示运动预测误差值,γ指示用于调整运动预测误差值和矢量差的权重的调整因子,D(V′)指示矢量差,B指示参考块,S指示搜索区域,V′指示每个第二候选运动矢量,X指示属于参考块的像素的坐标,Vi指示对应于每个相邻块的先前运动矢量。
根据本发明的另一方面,所述运动估计器还包括帧插入单元,基于最终运动矢量产生在当前帧和先前帧之间插入的内插帧。
还可通过提供一种基于当前帧和先前帧产生内插帧的运动估计器来实现本发明的前述和/或其它方面,所述运动估计器包括候选运动矢量计算单元,将当前帧划分为多个块,并基于先前估计的先前运动矢量来计算所述多个块中的每个块的多个候选运动矢量;和最终运动矢量决定单元,基于所述多个候选运动矢量中的每个的运动预测误差值和所述多个候选运动矢量中的每个与对应于与参考块相邻的块的先前运动矢量之间的矢量差来选择最终运动矢量,其中,从所述多个块中设置参考块。因而,基于最终运动矢量产生内插帧。
根据本发明的另一方面,最终运动矢量决定单元通过基于参考块与相邻块之间的距离将不同的权重分配给对应于相邻块的先前运动矢量来计算矢量差。
根据本发明的另一方面,最终运动矢量决定单元选择具有根据下面的等式确定的代价函数的最小值的候选运动矢量作为最终运动矢量E(V′)=Φ(V′)+γ×D(V′)Φ(V′)=ΣX∈B|Fn-1(X+V′)-Fn(X)|]]>D(V′)=ΣVi∈SWi×|V′-Vi|]]>
其中,E(V′)指示代价函数,Fn指示当前帧,Fn-1指示先前帧,Φ(V′)指示运动预测误差值,γ指示用于调整运动预测误差值和矢量差的权重的调整因子,D(V′)指示矢量差,B指示参考块,S指示用于计算所述多个候选运动矢量的搜索区域,V′指示所述多个候选运动矢量中的每个,X指示属于参考块的像素的坐标,Vi指示对应于每个相邻块的先前运动矢量,Wi指示每个相邻块的权重。
还可通过提供一种基于当前帧和先前帧产生内插帧的运动估计器的控制方法来实现本发明的前述和/或其它方面,所述方法包括将当前帧划分为多个块;产生多个第一候选运动矢量组,每个第一候选运动矢量组包括基于先前估计的先前运动矢量计算的所述多个块中的每个块的第一候选运动矢量;计算所述多个块中的每个块的多个第二候选运动矢量,基于包括在每个第一候选运动矢量组中的各个第一候选运动矢量来计算所述多个第二候选运动矢量中的每个;和从所述多个第二候选运动矢量中选择所述多个块中的每个块的最终运动矢量。因而,基于最终运动矢量产生内插帧。
根据本发明的另一方面,所述先前运动矢量包括先前帧的最终运动矢量。
根据本发明的另一方面,计算所述多个第一候选运动矢量组的步骤包括将所述多个块中的每个块设置为参考块;对包括在参考块所在的行中的多个块的先前运动矢量求平均值;将产生的平均值作为参考块的第一候选运动矢量。
根据本发明的另一方面,计算所述多个第一候选运动矢量组的步骤包括将所述多个块中的每个块设置为参考块;和选择参考块的一个方向上的多个相邻块的先前运动矢量之一作为参考块的第一候选运动矢量。
根据本发明的另一方面,选择最终运动矢量的步骤包括基于每个第二候选运动矢量的运动预测误差值和每个第二候选运动矢量与对应于与参考块相邻的块的先前运动矢量之间的矢量差来选择最终运动矢量,其中,从所述多个块中设置参考块。
根据本发明的另一方面,选择最终运动矢量的步骤包括通过基于参考块与相邻块之间的距离将不同的权重分配给对应于相邻块的先前运动矢量来计算矢量差。
通过下面结合附图对实施例进行的描述,本发明的上述和/或其它方面将会变得清楚和更易于理解,其中图1是根据本发明示例性实施例的运动估计器的控制框图;图2是根据本发明示例性实施例的设置在运动估计器中的运动估计单元的详细控制框图;图3A是示出根据本发明示例性实施例的运动估计器中的参考块和多个相邻块的示图;图3B是示出根据本发明示例性实施例的运动估计器中的参考块和多个相邻行块的示图;和图4示出根据本发明示例性实施例的运动估计方法。
具体实施方式现在将详细描述本发明的示例性实施例,其示例在附图中示出。
参照图1,根据本发明示例性实施例的运动估计器基于当前帧和先前帧产生内插帧。为此,所述运动估计器包括运动估计单元150,其包括第一候选运动矢量计算部分10、第二候选运动矢量计算部分30和最终运动矢量决定部分50。所述运动估计器还可包括信号接收单元110、信号处理单元130和帧插入单元170。此外,如果必要的话,所述运动估计器还可包括显示单元190。
信号接收单元110从外部视频源接收视频信号。为此,信号接收单元110可包括不同格式的不同视频信号可通过其输入的端子,例如,可包括用于复合信号的复合输入端子、用于S-视频信号的S-视频输入端子、用于分量信号的分量输入端子、用于个人计算机(PC)信号的PC输入端子和用于电视(TV)信号的TV输入端子中的至少一个。在信号接收单元110中接收的视频信号每一帧显示在显示单元190上。
信号处理单元130将从信号接收单元110输入的视频信号处理为可在显示单元190上显示的格式。具体地讲,信号处理单元130在控制单元(未示出)的控制下处理对应于视频信号的图像,以使得所述图像可在显示单元190上显示。
尽管图1示出信号处理单元130被置于运动估计单元150的输入侧,但是应该理解,如果必要的话,可将信号处理单元130设置在运动估计单元150的输出侧。
除了上述第一候选运动矢量计算部分10、第二候选运动矢量计算部分30和最终运动矢量决定部分50以外,运动估计单元150还包括存储器70。
存储器70存储计算的每一帧的最终运动矢量。在这种情况下,存储器70可存储多个帧的最终运动矢量作为先前运动矢量,或者仅存储当前帧之前紧挨当前帧的帧的最终运动矢量作为先前运动矢量。
第一候选运动矢量计算部分10将帧划分为多个块,并基于先前估计的先前运动矢量计算所述多个块中的每个块的多个第一候选运动矢量组。在本示例性实施例中,优选的是但不是必须,先前帧的最终运动矢量被存储为先前运动矢量,第一候选运动矢量计算部分10基于存储在存储器70中的先前运动矢量来计算所述多个第一候选运动矢量组。
也就是说,第一候选运动矢量计算部分10根据预定的运动矢量计算方法计算所述多个块中的每个块的第一候选运动矢量。这里,通过一运动矢量计算方法计算的每个块的第一候选运动矢量定义第一候选运动矢量组。
稍后将参照图2、图3A和图3B来详细描述第一候选运动矢量计算部分10计算第一候选运动矢量的方法。
第二候选运动矢量计算部分30根据在第一候选运动矢量计算部分10中计算的所述多个第一候选运动矢量组中的每个来计算每个块的第二候选运动矢量。因此,由于提供了多个第一候选运动矢量组,所以也提供多个第二候选运动矢量。
稍后将参照图2、图3A和图3B来详细描述第二候选运动矢量计算部分30计算第二候选运动矢量的方法。
最终运动矢量决定部分50选择从第二候选运动矢量计算部分30输出的所述多个第二候选运动矢量之一,并输出所选择的一个第二候选运动矢量作为将被插入的块的最终运动矢量。此时,最终运动矢量决定部分50根据预定的标准选择一个第二候选运动矢量。在这种情况下,最终运动矢量决定部分50决定最终运动矢量的标准是选择具有代价函数的最小值的矢量。可使用各种误差估计方法来选择具有代价函数的最小值的矢量。
基于决定的最终运动矢量产生内插帧。也就是说,使用由最终运动矢量决定部分50决定的最终运动矢量以使得帧插入单元170能够产生内插帧。具体地讲,帧插入单元170基于最终运动矢量在当前帧和先前帧之间插入内插帧。
稍后将参照图2、图3A和图3B来详细描述最终运动矢量决定部分50计算最终运动矢量的方法。
通过信号接收单元110接收的视频信号被输入到显示单元190,显示单元190在屏幕上显示每一帧的图像。显示单元190包括显示器模块(未示出),显示图像;和模块驱动器(未示出),用于处理输入的视频信号以使得图像能够被显示在显示器模块上。
在本示例性实施例中,显示器模块可包括各种类型的显示器模块,诸如阴极射线管(CRT)、数字光处理(DLP)、液晶显示器(LCD)、等离子体显示面板(PDP)等。在显示器模块是DLP模块的情况下,模块驱动器包括光学引擎。在显示器模块是LCD的情况下,模块驱动器包括用于将输入的视频信号转换为数据信号和栅极信号的印刷电路板。类似地,根据显示器模块的类型,显示单元190可包括相应配置的模块驱动器。
以下,将参照图2、图3A和图3B来详细描述根据本发明示例性实施例的运动估计单元150估计最终运动矢量的方法。
如上所述,运动估计单元150包括第一候选运动矢量计算部分10、第二候选运动矢量计算部分30和最终运动矢量决定部分50。
如图2所示,第一候选运动矢量计算部分10可包括均值滤波部分11、行均值滤波部分12、零(0)矢量滤波部分13、全局矢量计算部分14、左块滤波部分15和右块滤波部分16。然而,只要第一候选运动矢量计算部分10可能计算第一候选运动矢量,就不限制其构造和用于计算第一候选运动矢量的方法。
存储在存储器70中的先前运动矢量被输入到第一候选运动矢量计算部分10的均值滤波部分11。均值滤波部分11将帧划分为多个块,并将所述多个块之一设置为参考块(用于估计所述帧的运动的块B)。均值滤波部分11对参考块B和与参考块B相邻的多个预定块P0、P1、P2、P3、P5、P6、P7和P8的先前运动矢量求平均值,并将产生的平均值作为参考块B的第一候选运动矢量。也就是说,在图3A中,九个块的先前运动矢量的平均值成为第一候选运动矢量。在本示例性实施例中,设计者可任意改变块的数量。
假设Vaa指示第一候选运动矢量,Vpi指示与参考块B和所述相邻块对应的先前运动矢量,参考块B和相邻块的数量为L,那么均值滤波部分11根据下面的等式1产生每个块的第一候选运动矢量Vaa。
Vaa=1LΣi=0L-1Vpi]]>在这种情况下,均值滤波部分11将所述多个块中的每个块设置为参考块B,并产生每个块的第一候选运动矢量Vaa。在均值滤波部分11中产生的第一候选运动矢量Vaa作为一个第一候选运动矢量组被输出到第二候选运动矢量计算部分30。
同时,存储在存储器70中的先前运动矢量被输入到第一候选运动矢量计算部分10的行均值滤波部分12。行均值滤波部分12将帧划分为多个块,并将所述多个块之一设置为参考块B。行均值滤波部分12对参考块B和包括在参考块B所属的行中的多个块的先前运动矢量求平均值,并将产生的平均值作为第一候选运动矢量Vbb。
在图3B所示的本示例性实施例中,优选的是但不是必须,行均值滤波部分12对包括在参考块B所在的行中的多个块P11、P12、P13、P14、...、P1n-3、P1n-2、P1n-1和P1n的先前运动矢量求平均值,并将产生的平均值作为参考块B的第一候选运动矢量Vbb。然而,也可对包括在列中的多个块的先前运动矢量求平均值。以下将包括在参考块B所在的行中的多个块的先前运动矢量称为所述多个块的先前行运动矢量。
同时,行均值滤波部分12可仅对包括在参考块B所在的行中的多个块的其幅值大于第一阈值θv的先前行运动矢量求平均值,并将产生的平均值作为参考块B的第一候选运动矢量Vbb。
此外,行均值滤波部分12可仅对其与与参考块B相邻的块的先前运动矢量之间的差的幅值的和小于第二阈值θm的先前行运动矢量求平均值,并将产生的平均值作为参考块B的第一候选运动矢量Vbb。这是因为,如果先前行运动矢量与相邻块的先前运动矢量存在较大差异,那么先前行运动矢量可能有错误。
假设Vbb指示第一候选运动矢量,Vpn前行运动矢量,Vpi指示与参考块B的相邻块对应的先前运动矢量,参考块B和相邻块的数量为N,那么行均值滤波部分12可根据下面的等式2产生每个块的第一候选运动矢量Vbb。
Vbb=1NΣn=0N-1Vpn]]>|Vpn|≥θv并且1N-1Σi=0N-1|Vpn-Vpi|≤θm]]>在这种情况下,行均值滤波部分12将所述多个块中的每个块设置为参考块B,并产生每个块的第一候选运动矢量Vbb。在行均值滤波部分12中产生的第一候选运动矢量Vbb作为一个第一候选运动矢量组被输出到第二候选运动矢量计算部分30。
同时,存储在存储器70中的先前运动矢量被输入到第一候选运动矢量计算部分10的零矢量滤波部分13。零矢量滤波部分13将帧划分为多个块,并将所述多个块之一设置为参考块B。
此外,零矢量滤波部分13可将存储器70提供的先前运动矢量作为第一候选运动矢量Vcc输出到第二候选运动矢量计算部分30。也就是说,零矢量滤波部分13可使输入的先前运动矢量通过,并将其输出到第二候选运动矢量计算部分30。或者,可以不单独设置零矢量滤波部分13,而将存储在存储器70中的先前运动矢量从存储器70直接提供给第二候选运动矢量计算部分30。
在本示例性实施例中,优选的是但不是必须,在零矢量滤波部分13中滤除的先前运动矢量是幅值为0的矢量,但并不限于此。
同时,存储在存储器70中的先前运动矢量被输入到第一候选运动矢量计算部分10的全局矢量计算部分14。全局矢量计算部分14将帧划分为多个块,并将所述多个块之一设置为参考块B。此外,全局矢量计算部分14可根据预定的全局矢量计算等式来计算参考块B的第一候选运动矢量Vdd。根据全局矢量计算等式的运动矢量可有用地应用于用相机等的运动代表整个屏幕的运动。在本示例性实施例中,可按各种方式提供全局矢量计算等式。
作为简单的示例,全局矢量计算等式可被提供为下面的等式3。
Vx=ax×n+bxVy=ay×m+by在等式3中,作为根据全局矢量计算等式的第一候选运动矢量Vdd的水平分量Vx和垂直分量Vy分别指示第一候选运动矢量Vdd的x方向上的运动幅值和第一候选运动矢量Vdd的y方向上的运动幅值,n和m分别指示相对于参考块的索引。ax和ay分别指示x方向和y方向的缩放因子,bx和by分别指示x方向和y方向的摇摄(panning)因子。
全局矢量计算部分14将所述多个块中的每个块设置为参考块B,并计算每个块的第一候选运动矢量Vdd。此外,在全局矢量计算部分14中计算的第一候选运动矢量Vdd作为一个第一候选运动矢量组被输出到第二候选运动矢量计算部分30。
同时,存储在存储器70中的先前运动矢量被输入到第一候选运动矢量计算部分10的单方向块滤波部分(未示出)。单方向块滤波部分将帧划分为多个块,并将所述多个块之一设置为参考块B。单方向块滤波部分产生参考块B的一个方向上的多个相邻块的先前运动矢量之一作为参考块B的第一候选运动矢量。
在这种情况下,单方向块滤波部分可产生参考块B的一个方向上的多个相邻块的先前运动矢量中具有中间幅值的先前运动矢量,作为参考块B的第一候选运动矢量。
在本示例性实施例中,单方向块滤波部分可包括图2所示的左块滤波部分15和右块滤波部分16中的至少一个。
左块滤波部分15对参考块B左边的一些块的先前运动矢量滤波,作为左相邻矢量。因此,左块滤波部分15产生参考块B左边的多个块之一的先前运动矢量作为第一候选运动矢量Vee。
作为一个示例,参照图3A,将对左相邻矢量是P0、P3和P6块的先前运动矢量的情况给出解释。可根据下面的等式4产生第一候选运动矢量Vee。
在等式4中,V0、V3和V6分别指示与参考块B左边的相邻块对应的先前运动矢量。
右块滤波部分16对参考块B右边的一些块的先前运动矢量滤波,作为右相邻矢量。因此,右块滤波部分16产生参考块B右边的多个块之一的先前运动矢量作为第一候选运动矢量Vff。
作为一个示例,参照图3A,将对右相邻矢量是P2、P5和P8块的先前运动矢量的情况给出解释。可根据下面的等式5产生第一候选运动矢量Vff。
在等式5中,V2、V5和V8分别指示与参考块B右边的相邻块对应的先前运动矢量。
第二候选运动矢量计算部分30根据每个第一候选运动矢量组计算每个块的第二候选运动矢量。
例如,假设视频帧的分辨率为720×480个像素,参考块B的大小为16×16个像素,在x方向上产生45个块,在y方向上产生30个块,因而,总共提供1350个块。即,一个第一候选运动矢量组包括1350个第一候选运动矢量。因此,如果有六个第一候选运动矢量组,那么第一候选运动矢量计算部分10可计算8100个第一候选运动矢量。
在本示例性实施例中,第二候选运动矢量计算部分30将每个块设置为参考块B,并基于包括在每个第一候选运动矢量组中的多个第一候选运动矢量将设置的参考块B与在先前帧中设置的预定搜索区域进行比较,以计算每个块的第二候选运动矢量。这里,第二候选运动矢量计算部分30可基于包括在每个第一候选运动矢量组中的多个第一候选运动矢量来比较参考块B与所述搜索区域,以确定对应于第一候选运动矢量的参考块B与所述搜索区域之间的相似性。
在本实施例中,第二候选运动矢量计算部分30可使用块匹配算法来计算每个块的第二候选运动矢量。具体地讲,第二候选运动矢量计算部分30可包括候选矢量计算器,使用块匹配算法来计算多个运动预测误差值,并从具有最小的运动预测误差值的位置估计每个块的第二候选运动矢量。
因而,第二候选运动矢量计算部分30可将当前帧划分为多个块,在先前帧的搜索区域中找到与参考块B最相似的块,然后从与参考块B有关的位置计算第二候选运动矢量。在这种情况下,可根据各种方法(诸如,绝对差和(SAD)、平均绝对差(MAD)等)来计算运动预测误差值。
此时,第二候选运动矢量计算部分30在从当前帧的参考块B(将估计其运动的当前帧Fn的块B)的位置移动第一候选运动矢量的位置周围进行局部搜索。在这种情况下,第二候选运动矢量计算部分30将参考块B与先前帧中设置的预定搜索区域进行比较,以计算多个运动预测误差值,其中,将通过使用参考块B来估计最终运动矢量。
在本示例性实施例中,可根据下面的等式6来计算运动预测误差值。
Φ(Vi)=ΣX∈B,Vi∈S|Fn-1(X+Vi)-Fn(X)|]]>在等式6中,Fn指示当前帧,Fn-1指示先前帧,Φ(Vi)指示运动预测误差值,B指示参考块,S指示搜索区域,Vi指示代表搜索区域中与参考块有关的位置的矢量,X指示属于参考块的像素的坐标。这里,第二候选运动矢量计算部分30可在应用第一候选运动矢量之后在参考块中设置搜索区域。
在这种情况下,第二候选运动矢量计算部分30可选择搜索区域S中具有运动预测误差值Φ(Vi)的最小值的矢量作为第二候选运动矢量。
如图2所示,第二候选运动矢量计算部分30的第一计算部分31基于从均值滤波部分11输出的第一候选运动矢量Vaa来计算第二候选运动矢量Va,并将计算的第二候选运动矢量Va输出到最终运动矢量决定部分50。类似地,第二候选运动矢量计算部分30的第二计算部分32至第六计算部分36基于从第一候选运动矢量计算部分10输出的各个第一候选运动矢量Vbb至Vff来计算各个第二候选运动矢量Vb至Vf,并将计算的第二候选运动矢量Vb至Vf输出到最终运动矢量决定部分50。
最终运动矢量决定部分50基于所述多个第二候选运动矢量Va至Vf的运动预测误差值来决定每个块的最终运动矢量。此外,最终运动矢量决定部分50可基于第二候选运动矢量的运动预测误差值以及第二候选运动矢量与对应于与参考块相邻的块的先前运动矢量之间的矢量差来决定最终运动矢量。在本实施例中,例如,如果六个第一候选运动矢量组被计算,那么每块的六个第二候选运动矢量被提供给最终运动矢量决定部分50。因此,最终运动矢量决定部分50可决定所述六个第二候选运动矢量之一作为一个块的最终运动矢量。
最终运动矢量决定部分50可基于对应于第二候选运动矢量的参考块B与相邻块之间的距离差来计算所述矢量差。在这种情况下,最终运动矢量决定部分50可通过将不同的权重分配给对应于相邻块的先前运动矢量来计算所述矢量差。
例如,如果如图3A所示来设置参考块B和相邻块P0、P1、P2、P3、P5、P6、P7和P8,那么分别将权重W0、W1、W2、W3、W5、W6、W7和W8分配给相邻块P0、P1、P2、P3、P5、P6、P7和P8,并将权重W4分配给参考块B。在这种情况下,优选的是但不是必须,W4是最高的权重,P2和P6是相对较低的权重。
矢量差表示通过用与参考块B和相邻块之间的距离成比例的值将第二候选运动矢量与先前帧的相邻块的存储的先前运动矢量之间的差加权所累积的值。矢量差可用于表示相邻块与参考块B之间的相关性。通常,由于每一帧的相邻块之间的实际运动矢量彼此类似,所以可以说矢量差越小,参考块B的运动矢量越被正确地估计。
在本实施例中,最终运动矢量决定部分50可根据下面的等式7来计算矢量差。
D(V′)=ΣVi∈SWi×|V′-Vi|]]>在等式7中,D(V′)指示矢量差,Wi指示每个相邻块的权重,V′指示第二候选运动矢量,Vi指示对应于每个相邻块的先前运动矢量,S指示搜索区域。
最终运动矢量决定部分50选择多个第二候选运动矢量之一,并将选择的一个第二候选运动矢量作为将被插入的块的最终运动矢量输出。可通过使用预定的标准来进行这种选择,也就是说,通过应用各种误差估计方法来找到具有指定的代价函数的最小值的第二候选运动矢量。
在本实施例中,所述代价函数可以被定义为下面的等式8。
E(V′)=Φ(V′)+γ×D(V′)Φ(V′)=ΣX∈B|Fn-1(X+V′)-Fn(X)|]]>D(V′)=ΣVi∈SWi×|V′-Vi|]]>在等式8中,E(V′)指示代价函数,Φ(V′)指示运动预测误差值,γ指示用于调整运动预测误差值和矢量差的权重的调整因子,D(V′)指示矢量差,V′指示第二候选运动矢量,Vi指示为其分配权重的块的先前运动矢量。
通常,由于矢量差的权重低于运动预测误差值的权重,所以优选地,γ小于1,但并不限于此。
最终运动矢量决定部分50将决定的最终运动矢量输出到存储器70和帧插入单元170。决定的最终运动矢量用作产生在当前帧和先前帧之间插入的内插帧的基出。
以下,将参照图4来描述根据本发明示例性实施例的运动估计方法。
如图4所示,在操作S11,第一候选运动矢量计算部分10将帧划分为多个块。接下来,当在操作S13每个块的先前运动矢量从存储器70被输入到第一候选运动矢量计算部分10时,在操作S17,第一候选运动矢量计算部分10基于输入的先前运动矢量来进行计算。为了计算所述多个第一候选运动矢量组,第一候选运动矢量计算部分10可包括均值滤波部分11、行均值滤波部分12、零矢量滤波部分13、全局矢量计算部分14以及可包括左块滤波部分15和右块滤波部分16的单方向块滤波部分。由于以上已描述了计算第一候选运动矢量组的方法,所以为了简短,这里将略掉该方法的解释。
在操作S17,均值滤波部分11对与先前帧的参考块B和相邻块对应的先前运动矢量求平均值,以产生第一候选运动矢量组。在操作S19,例如,行均值滤波部分12对包括在参考块B所在的行中的相邻行块的先前运动矢量求平均值,以产生第一候选运动矢量组。
在操作S21,零矢量滤波部分13使先前运动矢量通过以计算第一候选运动矢量组。在本示例性实施例中,所述先前运动矢量可仅包括幅值为0的矢量。在操作S23,全局矢量计算部分14基于先前运动矢量根据全局矢量计算等式来计算第一候选运动矢量组。在操作S25,单方向块滤波部分计算参考块B的一个方向上的多个相邻块的先前运动矢量之一作为第一候选运动矢量组。
所有产生和计算的第一候选运动矢量组被输出到第二候选运动矢量计算部分30。在操作S27,第二候选运动矢量计算部分30基于包括在第一候选运动矢量组中的第一候选运动矢量来计算多个第二候选运动矢量。在这种情况下,第二候选运动矢量计算部分30可基于关于第一候选运动矢量确定的搜索区域来计算第二候选运动矢量。
最终运动矢量决定部分50基于在第二候选运动矢量计算部分30中计算的第二候选运动矢量来决定每个块的最终运动矢量。在这种情况下,在操作S29,最终运动矢量决定部分50可基于第二候选运动矢量的运动预测误差值和矢量差来决定每个块的最终运动矢量。在操作S31,帧插入单元170基于决定的最终运动矢量来产生内插帧。
如果本发明示例性实施例的运动估计器包括显示单元190,那么显示单元190显示先前帧、内插帧和当前帧。
如上所述,本发明示例性实施例的运动估计器通过使用先前帧的最终运动矢量可更精确地预测帧的运动。
此外,由于本发明示例性实施例的运动估计器的第一候选运动矢量计算部分10基于先前运动矢量以各种方式计算第一候选运动矢量,所以可根据图像的各种改变更精确地计算最终运动矢量。
此外,由于本发明的运动估计器的最终运动矢量决定部分50基于运动预测误差值和矢量差来决定最终运动矢量,所以可更精确地计算最终运动矢量。
从以上描述中清楚的是,本发明提供了一种能够产生与实际运动最接近的运动矢量的运动估计器和运动估计方法,其中,基于所述运动矢量产生内插帧。
尽管显示和描述了本发明的几个示例性实施例,但是本领域的技术人员将会理解,在不脱离本发明的原理和精神的情况下,可以对这些示例性实施例进行改变。本发明的范围限定在权利要求
及其等同物中。
权利要求
1.一种基于当前帧和先前帧产生内插帧的运动估计器,该运动估计器包括第一候选运动矢量计算单元,将当前帧划分为多个块,并产生多个第一候选运动矢量组,每个第一候选运动矢量组包括基于先前估计的先前运动矢量计算的所述多个块中的每个块的第一候选运动矢量;第二候选运动矢量计算单元,计算所述多个块中的每个块的多个第二候选运动矢量,基于包括在每个第一候选运动矢量组中的各个第一候选运动矢量来计算所述多个第二候选运动矢量中的每个;和最终运动矢量决定单元,从所述多个第二候选运动矢量中选择所述多个块中的每个块的最终运动矢量,其中,基于最终运动矢量产生内插帧。
2.根据权利要求
1所述的运动估计器,其中,所述先前运动矢量包括先前帧的最终运动矢量。
3.根据权利要求
1所述的运动估计器,其中,第一候选运动矢量计算单元将所述多个块中的每个块设置为参考块,并对参考块和与参考块相邻的多个块的先前运动矢量求平均值,以将产生的平均值作为参考块的第一候选运动矢量。
4.根据权利要求
1所述的运动估计器,其中,第一候选运动矢量计算单元将所述多个块中的每个块设置为参考块,并对包括在参考块所在的行中的多个块的先前运动矢量求平均值,以将产生的平均值作为参考块的第一候选运动矢量。
5.根据权利要求
4所述的运动估计器,其中,包括在参考块所在的行中的多个块中的每个块的先前运动矢量的幅值大于第一阈值。
6.根据权利要求
5所述的运动估计器,其中,包括在参考块所在的行中的多个块的先前运动矢量和与参考块相邻的块的先前运动矢量之间的差的幅值的和小于第二阈值。
7.根据权利要求
1所述的运动估计器,其中,第一候选运动矢量计算单元将先前运动矢量作为第一候选运动矢量输出到第二候选运动矢量计算单元。
8.根据权利要求
7所述的运动估计器,其中,所述先前运动矢量是零矢量。
9.根据权利要求
1所述的运动估计器,其中,第一候选运动矢量计算单元将所述多个块中的每个块设置为参考块,并根据全局矢量计算等式来计算参考块的第一候选运动矢量。
10.根据权利要求
9所述的运动估计器,其中,所述全局矢量计算等式包括下面的等式Vx=ax×n+bxVy=ay×m+by其中,Vx和Vy分别是第一候选运动矢量的x方向和y方向的分量;n和m指示相对于参考块的索引;ax和ay分别指示x方向和y方向的缩放因子;bx和by分别指示x方向和y方向的摇摄因子。
11.根据权利要求
1所述的运动估计器,其中,第一候选运动矢量计算单元将所述多个块中的每个块设置为参考块,并选择在参考块的一个方向上的多个相邻块的先前运动矢量之一作为参考块的第一候选运动矢量。
12.根据权利要求
11所述的运动估计器,其中,具有在参考块的一个方向上的所述多个相邻块的先前运动矢量的中间幅值的先前运动矢量被选择为参考块的第一候选运动矢量。
13.根据权利要求
12所述的运动估计器,其中,根据下面的等式来选择第一候选运动矢量 其中,Va、Vb和Vc指示与参考块的一个方向上的三个相邻块对应的先前运动矢量。
14.根据权利要求
13所述的运动估计器,其中,参考块的一个方向上的多个相邻块包括包含在参考块左边的列中的多个块和包含在参考块右边的列中的多个块中的至少一个。
15.根据权利要求
1所述的运动估计器,其中,第二候选运动矢量计算单元将当前帧划分为多个块,将所述多个块中的每个块设置为参考块,基于包括在每个第一候选运动矢量组中的各个第一候选运动矢量将参考块与设置在先前帧中的搜索区域进行比较,并基于比较结果来计算每个第二候选运动矢量。
16.根据权利要求
15所述的运动估计器,其中,为了计算每个第二候选运动矢量,第二候选运动矢量计算单元确定参考块与所述搜索区域之间的相似性。
17.根据权利要求
16所述的运动估计器,其中,基于相对于参考块的运动预测误差值来确定参考块与所述搜索区域之间的相似性。
18.根据权利要求
17所述的运动估计器,其中,根据块匹配算法来计算运动预测误差值。
19.根据权利要求
15所述的运动估计器,其中,最终运动矢量决定单元基于每个第二候选运动矢量的运动预测误差值来选择所述多个块中的每个块的最终运动矢量。
20.根据权利要求
15所述的运动估计器,其中,最终运动矢量决定单元基于每个第二候选运动矢量的运动预测误差值和每个第二候选运动矢量与对应于与参考块相邻的块的先前运动矢量之间的矢量差来选择最终运动矢量。
21.根据权利要求
20所述的运动估计器,其中,最终运动矢量决定单元通过基于参考块与相邻块之间的距离将不同的权重分配给对应于相邻块的先前运动矢量来计算矢量差。
22.根据权利要求
1所述的运动估计器,其中,最终运动矢量决定单元根据下面的等式来计算矢量差D(V′)=ΣVi∈SWi×|V′-Vi|]]>其中,D(V′)指示矢量差,Wi指示每个相邻块的权重,V′指示每个第二候选运动矢量,Vi指示对应于每个相邻块的先前运动矢量,S指示搜索区域。
23.根据权利要求
22所述的运动估计器,其中,最终运动矢量决定单元选择具有根据下面的等式确定的代价函数的最小值的第二候选运动矢量作为最终运动矢量E(V′)=Φ(V′)+γ×D(V′)Φ(V′)=ΣX∈B|Fn-1(X+V′)-Fn(X)|]]>D(V′)=ΣVi∈SWi×|V′-Vi|]]>其中,E(V′)指示代价函数,Fn指示当前帧,Fn-1指示先前帧,Φ(V′)指示运动预测误差值,γ指示用于调整运动预测误差值和矢量差的权重的调整因子,D(V′)指示矢量差,B指示参考块,S指示搜索区域,V′指示每个第二候选运动矢量,X指示属于参考块的像素的坐标,Vi指示对应于每个相邻块的先前运动矢量。
24.根据权利要求
20所述的运动估计器,其中,所述运动估计器还包括帧插入单元,基于最终运动矢量产生在当前帧和先前帧之间插入的内插帧。
25.一种基于当前帧和先前帧产生内插帧的运动估计器,该运动估计器包括候选运动矢量计算单元,将当前帧划分为多个块,并基于先前估计的先前运动矢量来计算所述多个块中的每个块的多个候选运动矢量;和最终运动矢量决定单元,基于所述多个候选运动矢量中的每个的运动预测误差值和所述多个候选运动矢量中的每个与对应于与参考块相邻的块的先前运动矢量之间的矢量差来选择最终运动矢量,其中,从所述多个块中设置参考块,其中,基于最终运动矢量产生内插帧。
26.根据权利要求
25所述的运动估计器,其中,最终运动矢量决定单元通过基于参考块与相邻块之间的距离将不同的权重分配给对应于相邻块的先前运动矢量来计算矢量差。
27.根据权利要求
26所述的运动估计器,其中,最终运动矢量决定单元选择具有根据下面的等式确定的代价函数的最小值的候选运动矢量作为最终运动矢量E(V′)=Φ(V′)+γ×D(V′)Φ(V′)=ΣX∈B|Fn-1(X+V′)-Fn(X)|]]>D(V′)=ΣVi∈SWi×|V′-Vi|]]>其中,E(V′)指示代价函数,Fn指示当前帧,Fn-1指示先前帧,Φ(V′)指示运动预测误差值,γ指示用于调整运动预测误差值和矢量差的权重的调整因子,D(V′)指示矢量差,B指示参考块,S指示用于计算所述多个候选运动矢量的搜索区域,V′指示所述多个候选运动矢量中的每个,X指示属于参考块的像素的坐标,Vi指示对应于每个相邻块的先前运动矢量,Wi指示每个相邻块的权重。
28.一种基于当前帧和先前帧产生内插帧的运动估计方法,该方法包括将当前帧划分为多个块;产生多个第一候选运动矢量组,每个第一候选运动矢量组包括基于先前估计的先前运动矢量计算的所述多个块中的每个块的第一候选运动矢量;计算所述多个块中的每个块的多个第二候选运动矢量,基于包括在每个第一候选运动矢量组中的各个第一候选运动矢量来计算所述多个第二候选运动矢量中的每个;和从所述多个第二候选运动矢量中选择所述多个块中的每个块的最终运动矢量,其中,基于最终运动矢量产生内插帧。
29.根据权利要求
28所述的方法,其中,所述先前运动矢量包括先前帧的最终运动矢量。
30.根据权利要求
28所述的方法,其中,计算所述多个第一候选运动矢量组的步骤包括将所述多个块中的每个块设置为参考块;对包括在参考块所在的行中的多个块的先前运动矢量求平均值;将产生的平均值作为参考块的第一候选运动矢量。
31.根据权利要求
28所述的方法,其中,计算所述多个第一候选运动矢量组的步骤包括将所述多个块中的每个块设置为参考块;和选择参考块的一个方向上的多个相邻块的先前运动矢量之一作为参考块的第一候选运动矢量。
32.根据权利要求
28所述的方法,其中,选择最终运动矢量的步骤包括基于每个第二候选运动矢量的运动预测误差值和每个第二候选运动矢量与对应于与参考块相邻的块的先前运动矢量之间的矢量差来选择最终运动矢量,其中,从所述多个块中设置参考块。
33.根据权利要求
32所述的方法,其中,选择最终运动矢量的步骤包括通过基于参考块与相邻块之间的距离将不同的权重分配给对应于相邻块的先前运动矢量来计算矢量差。
专利摘要
提供了一种基于当前帧和先前帧产生内插帧的运动估计器。该运动估计器包括第一候选运动矢量计算单元,将当前帧划分为多个块,并产生多个第一候选运动矢量组,每个组包括基于先前估计的先前运动矢量计算的所述多个块中的每个块的第一候选运动矢量;第二候选运动矢量计算单元,计算所述多个块中的每个块的多个第二候选运动矢量,基于包括在每个第一候选运动矢量组中的各个第一候选运动矢量来计算每个第二候选运动矢量;和最终运动矢量决定单元,从所述多个第二候选运动矢量中选择所述多个块中的每个块的最终运动矢量,其中,基于最终运动矢量产生内插帧。
文档编号H04N5/14GK1992789SQ200610156568
公开日2007年7月4日 申请日期2006年12月28日
发明者权五宰, 闵钟述, 金命哉, 李浩燮, 成和锡, 赵珉卿 申请人:三星电子株式会社导出引文BiBTeX, EndNote, RefMan
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1