一种运动补偿去隔行方法转让专利

申请号 : CN201110447147.1

文献号 : CN102497525B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郑金发

申请人 : 广东威创视讯科技股份有限公司

摘要 :

本发明公开了一种运动补偿去隔行方法,包括:对图像进行边缘检测;确定前一场和后一场隔行图像的场景是否发生变化;当前一场和后一场隔行图像的场景没有发生变化,则估算前一场和后一场隔行图像的同一行的图像运动矢量,并依照所述同一行的图像运动矢量移动像素区域块对运动图像进行补偿,对移动后空缺的区域进行插值;当前一场和后一场隔行图像的场景发生变化,则估算前一场和当前场的相邻行的图像运动矢量,并依照所述相邻行的图像运动矢量移动像素区域块对运动图像进行补偿,对移动后空缺的区域进行插值。通过本发明提供的运动矢量的计算方法,可以得到较精确的运动矢量,从而使图像还原度好,不容易产生失真及由错误运动矢量造成的图像损坏。

权利要求 :

1.一种运动补偿去隔行方法,其特征在于,包括:

对图像进行边缘检测,并保存图像的边缘信息;

确定前一场和后一场隔行图像的场景是否发生变化;

当前一场和后一场隔行图像的场景没有发生变化,则估算前一场和后一场隔行图像的同一行的图像运动矢量,并依照所述同一行的图像运动矢量移动像素区域块对运动图像进行补偿,对移动后空缺的区域进行插值;

在估算前一场和后一场隔行图像的同一行的图像运动矢量的步骤中,具体为:对比前一场和后一场的同一行边缘划分的区域个数、各区域大小、边缘位置和该区域的平均亮度值信息;当上述区域个数、各区域大小、边缘位置和该区域的平均亮度值信息基本相等,则可认为发生了配对,对发生配对的区域计算运动矢量;

当前一场和后一场隔行图像的场景发生变化,则估算前一场和当前场的相邻行的图像运动矢量,并依照所述相邻行的图像运动矢量移动像素区域块对运动图像进行补偿,对移动后空缺的区域进行插值;

在估算前一场和当前场的相邻行的图像运动矢量的步骤中,具体为:比对当前场的行和前一场的相邻上下两行;如果当前场的行的边缘区域与前一场的相邻上下两行的边缘区域配对,则计算出当前行对应边缘位置的运动矢量。

2.根据权利要求1所述的运动补偿去隔行方法,其特征在于,所述边缘信息包含了边缘划分的区域个数,各区域大小,边缘位置,该区域的平均亮度值信息。

3.根据权利要求1所述的运动补偿去隔行方法,其特征在于,在确定前一场和后一场隔行图像的场景是否发生变化的步骤中,具体包括:选取前一场和后一场的S个M*N的像素块,将前一场各像素块的像素亮度和减去后一场各像素块的像素亮度和,结果取绝对值,得到S个亮度差绝对值;

设定一个阈值,将此阈值与各个亮度差绝对值进行对比;

当存在D个亮度差绝对值小于阈值的像素块,则认为前一场的图像和后一场的图像是同一个场景;

当不存在D个亮度差绝对值小于阈值的像素块,则认为前一场的图像和后一场的图像是不同的场景。

4.根据权利要求3所述的运动补偿去隔行方法,其特征在于,所述S个M*N的像素块选取四个边角及图像中部的区域。

5.根据权利要求1所述的运动补偿去隔行方法,其特征在于,当前一场和后一场隔行图像的场景没有发生变化时,运动矢量的计算方法具体为:将发生配对的边缘位置相减,得出边缘的运动矢量。

6.根据权利要求1所述的运动补偿去隔行方法,其特征在于,当前一场和后一场隔行图像的场景发生变化时,运动矢量的计算方法具体为:计算前一场上下两行的边缘位置均值,所述均值为上下两行的边缘位置相加然后除以

2;

将此均值与当前行对应的边缘位置相减得出运动矢量。

说明书 :

一种运动补偿去隔行方法

技术领域

[0001] 本发明涉及数字图像处理与视频显示领域,更具体的说,涉及运动补偿去隔行方法。

背景技术

[0002] 隔行视频是模拟电视时代的产物,从视频的采集、制作到视频的传输及终端显示,都是采用模拟的形式,由于传输带宽不足及CRT扫描技术瓶颈,一帧视频被分成两个扫描场,由于人眼视觉暂留效应,可以观看到完整的画面,但是隔行扫描技术会产生行间的闪烁和行蠕动等缺点。在隔行视频中,一帧视频被分成两场,一场含有偶数行扫描线,一场含有奇数行扫描线,每一场都记录了在时间上分开的象素值。如果假设每秒30帧(fps),即每秒60场,那么,第0场是在时间“t”,第1场是在时间“t+1/60”。由于在略有不同的时间间隔上对场进行记录,因此,无法将两个场连起来为运动视频产生逐行帧。去隔行技术之所以复杂,是因为需要估算并补偿可能出现的每秒1/60的运动图像。
[0003] 现有的去隔行技术采用的主要是运动补偿法,该方法一次处理多个场,以确定一块像素的运动部分,然后移动像素,补偿运动部分。这类去隔行技术计算量非常大,但输出质量是最好。运动补偿要求估算出的运动矢量必须准确可靠,导致了计算量大,消耗的硬件资源大,硬件实现复杂度高。现有的运动估计算法一般是计算场间像素或者像素块的亮度差值,判断是静止图像还是运动图像,并通过亮度差值估算运动矢量。
[0004] 在对现有技术的研究和实践过程中,本发明的发明人发现现有技术存在以下问题:
[0005] 1、在不同场景切换时静止图像和运动图像判断错误,并估算出错误的运动矢量,造成错误的运动补偿。
[0006] 2、同时亮度差值估算出来的运动矢量并不十分准确,运动补偿对运动矢量敏感,不准确的运动矢量容易造成图像的错误补偿。
[0007] 因此,如何进行正确的运动补偿,成为目前最需要解决的问题。

发明内容

[0008] 有鉴于此,本发明的设计目的在于,提供一种运动补偿去隔行方法,以进行正确的运动补偿,从而提高画面的显示效果。
[0009] 本发明实施例是这样实现的:
[0010] 一种运动补偿去隔行方法,包括:
[0011] 对图像进行边缘检测,并保存图像的边缘信息;
[0012] 确定前一场和后一场隔行图像的场景是否发生变化;
[0013] 当前一场和后一场隔行图像的场景没有发生变化,则估算前一场和后一场隔行图像的同一行的图像运动矢量,并依照所述同一行的图像运动矢量移动像素区域块对运动图像进行补偿,对移动后空缺的区域进行插值;
[0014] 当前一场和后一场隔行图像的场景发生变化,则估算前一场和当前场的相邻行的图像运动矢量,并依照所述相邻行的图像运动矢量移动像素区域块对运动图像进行补偿,对移动后空缺的区域进行插值。
[0015] 优选地,在上述的运动补偿去隔行方法中,所述边缘信息包含了边缘划分的区域个数,各区域大小,边缘位置,该区域的平均亮度值信息。
[0016] 优选地,在上述的运动补偿去隔行方法中,在确定前一场和后一场隔行图像的场景是否发生变化的步骤中,具体包括:
[0017] 选取前一场和后一场的S个M*N的像素块,将前一场各像素块的像素亮度和减去后一场各像素块的像素亮度和,结果取绝对值,得到S个亮度差绝对值;
[0018] 设定一个阈值,将此阈值与各个亮度差绝对值进行对比;
[0019] 当存在D个亮度差绝对值小于阈值的像素块,则认为前一场的图像和后一场的图像是同一个场景;
[0020] 当不存在D个亮度差绝对值小于阈值的像素块,则认为前一场的图像和后一场的图像是不同的场景。
[0021] 优选地,在上述的运动补偿去隔行方法中,所述S个M*N的像素块选取四个边角及图像中部的区域。
[0022] 优选地,在上述的运动补偿去隔行方法中,在估算前一场和后一场隔行图像的同一行的图像运动矢量的步骤中,具体为:
[0023] 对比前一场和后一场的同一行边缘划分的区域个数、各区域大小、边缘位置和该区域的平均亮度值信息;
[0024] 当上述区域个数、各区域大小、边缘位置和该区域的平均亮度值信息基本相等,则可认为发生了配对,对发生配对的区域计算运动矢量。
[0025] 优选地,在上述的运动补偿去隔行方法中,运动矢量的计算方法具体为:
[0026] 将发生配对的边缘位置相减,得出边缘的运动矢量。
[0027] 优选地,在上述的运动补偿去隔行方法中,在估算前一场和当前场的相邻行的图像运动矢量的步骤中,具体为:
[0028] 比对当前场的行和前一场的相邻上下两行;
[0029] 如果当前场的行的边缘区域与前一场的相邻上下两行的边缘区域配对,则计算出当前行对应边缘位置的运动矢量。
[0030] 优选地,在上述的运动补偿去隔行方法中,运动矢量的计算方法具体为:
[0031] 计算前一场上下两行的边缘位置均值,所述均值为上下两行的边缘位置相加然后除以2;
[0032] 将此均值与当前行对应的边缘位置相减得出运动矢量。
[0033] 与现有技术相比,本实施例提供的技术方案具有以下优点和特点:
[0034] 在本发明提供的方案中,通过本发明提供的运动矢量的计算方法,可以得到较精确的运动矢量,从而使图像还原度好,不容易产生失真及由错误运动矢量造成的图像损坏。

附图说明

[0035] 为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036] 图1为本发明所提供的一种运动补偿去隔行方法的流程图;
[0037] 图2为本发明所提供的隔行视频相邻三场的示意图;

具体实施方式

[0038] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0039] 本发明实施例提供了一种运动补偿去隔行方法,包括:对图像进行边缘检测,并保存图像的边缘信息;确定前一场和后一场隔行图像的场景是否发生变化;当前一场和后一场隔行图像的场景没有发生变化,则估算前一场和后一场隔行图像的同一行的图像运动矢量,并依照所述同一行的图像运动矢量移动像素区域块对运动图像进行补偿,对移动后空缺的区域进行插值;当前一场和后一场隔行图像的场景发生变化,则估算前一场和当前场的相邻行的图像运动矢量,并依照所述相邻行的图像运动矢量移动像素区域块对运动图像进行补偿,对移动后空缺的区域进行插值。
[0040] 由于上述运动补偿去隔行方法的具体实现存在多种方式,下面通过具体实施例进行详细说明:
[0041] 请参见图1和图2所示,图1所示的为一种运动补偿去隔行方法,图2所示的为隔行视频相邻三场示意图。
[0042] 在图1所示的实施例中,该运动补偿去隔行方法包括:
[0043] 步骤S1、对图像进行边缘检测,并保存图像的边缘信息;
[0044] 步骤S2、判断前一场和后一场隔行图像的场景是否发生变化,如果是,则执行步骤S5和S6,否则,执行步骤S3和S4;
[0045] 步骤S3、估算前一场和后一场隔行图像的同一行的图像运动矢量;
[0046] 步骤S4、并依照所述同一行的图像运动矢量移动像素区域块对运动图像进行补偿,对移动后空缺的区域进行插值;
[0047] 步骤S5、估算前一场和当前场的相邻行的图像运动矢量;
[0048] 步骤S6、并依照所述相邻行的图像运动矢量移动像素区域块对运动图像进行补偿,对移动后空缺的区域进行插值。
[0049] 在图1和图2所示的实施例中,通过本发明提供的运动矢量的计算方法,可以得到较精确的运动矢量,从而使图像还原度好,不容易产生失真及由错误运动矢量造成的图像损坏。
[0050] 下面通过具体实施例,进行详细的介绍本发明提供的方案:
[0051] 步骤一、对图像进行边缘检测,并保存图像的边缘信息。
[0052] 其中,边缘信息包含了边缘划分的区域个数,各区域大小,边缘位置,该区域的平均亮度值信息。首先读入前一场、当前场、后一场隔行图像,存储图像数据并计算边缘信息。依次读取各像素并存储,计算当前像素亮度值减去前一个像素亮度值的亮度差值绝对值并存储为一张数据表。这张数据表对应了每个像素位置的亮度差值绝对值,每行起始位置设置为零,计算每行的图像边缘信息数据,包含了边缘划分的区域个数,各区域大小,边缘位置,该区域的平均亮度值信息。进行边缘检测需要设定一个阈值,当前像素亮度差值绝对值大于等于阈值的时候认为是图像边缘。
[0053] 步骤二、判断前一场和后一场隔行图像的场景是否发生变化,如果是,则执行步骤四,否则,执行步骤三;
[0054] 其中,在一般的视频图像中,同一个视频场景包含许多个连续的帧,在这些连续的视频帧中,背景不会有太大的改变,改变的是场景中包含的个别事物。选取前一场和后一场的S个M*N的像素块,将前一场各像素块的像素亮度和减去后一场各像素块的像素亮度和,结果取绝对值,得到S个亮度差绝对值。
[0055] 设定一个阈值,将此阈值与各个亮度差绝对值进行对比,存在D个亮度差绝对值小于阈值的像素块,则认为前一场的图像和后一场的图像是同一个场景。
[0056] 此判断的依据是:进行亮度差运算的区域是连续两帧图像的相同区域,在一般的同一场景的连续视频帧中,部分区域图像不会发生太大的改变,如同一背景的场景,或者同一个事物移动时背景发生改变等,计算亮度差绝对值时可设置S个像素块的分布,一般的可以选取四个边角及图像中部的少数区域。
[0057] 步骤三、估算前一场和后一场的同一行的图像运动矢量。其中,如果前一场和后一场属于同一个场景则进行此部分运动矢量表的计算。
[0058] 计算的方法是比对步骤一保存的边缘信息,对比前一场和后一场的同一行边缘划分的区域个数,各区域大小,边缘位置,该区域的平均亮度值信息,若这几项数据基本相等则可认为发生了配对,对发生配对的区域计算运动矢量,对无法产生配对的区域的运动矢量计为零,这样针对步骤一保存的边缘信息数据表,经过此部分的计算可增加后一场对比前一场每一行各边缘区域的运动矢量。运动矢量的计算方法是将发生配对的边缘位置相减,得出边缘的运动矢量。
[0059] 计算前一场和后一场同一行的边缘区域运动矢量可以正确的估算出前一场和当前场边缘区域运动矢量。估算的方法是将此部分计算得到的运动矢量/2,这里计算的依据是在很短时间内(2/60秒)的两帧图像当中,通过图像的平均速度估算图像的运动矢量。
[0060] 依照运动矢量移动像素区域块对运动图像进行补偿,对移动后空缺的区域进行插值。根据当前场边缘区域的运动矢量移动边缘区域像素,对移动后空缺的像素块采用前一场相邻上下两行对应的像素块进行均值插值。经过补偿和插值后的当前场与前一场合成一个逐行帧进行输出。
[0061] 步骤四、估算前一场和当前场的相邻行的图像运动矢量,得到当前场相对于前一场的运动矢量表。
[0062] 其中,首先比对当前场的行和前一场的相邻上下两行,如果当前场的行的边缘区域与前一场的相邻上下两行的边缘区域配对,则计算前一场上下两行的边缘位置均值,即上下两行的边缘位置相加然后除以2,将此均值与当前行对应的边缘位置相减计算出当前行对应边缘位置的运动矢量。
[0063] 当比对当前场的行和前一场的相邻上下两行,只能找到前一场相邻的上下两行的其中一行与当前场的行配对,则此处当前场的边缘区域的运动矢量赋值为前一场和后一场对应区域的运动矢量值的一半,如果前一场和后一场对应区域的矢量值为零,则此处赋值为零。
[0064] 当比对当前场的行和前一场的相邻上下两行,不能找到前一场相邻的上下两行的其中一行与当前场的行配对,则此处的运动矢量赋值为零。
[0065] 依照运动矢量移动像素区域块对运动图像进行补偿,对移动后空缺的区域进行插值。根据当前场边缘区域的运动矢量移动边缘区域像素,对移动后空缺的像素块采用前一场相邻上下两行对应的像素块进行均值插值。经过补偿和插值后的当前场与前一场合成一个逐行帧进行输出。
[0066] 综上所述,通过本发明提供的运动矢量的计算方法,可以得到较精确的运动矢量,从而使图像还原度好,不容易产生失真及由错误运动矢量造成的图像损坏。
[0067] 需要说明的是,图1至图2所示的实施例只是本发明所介绍的优选实施例,本领域技术人员在此基础上,完全可以设计出更多的实施例,因此不在此处赘述。
[0068] 对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。