图像处理装置和方法以及程序的制作方法

文档序号:7894021阅读:100来源:国知局
专利名称:图像处理装置和方法以及程序的制作方法
技术领域
本发明涉及一种图像处理装置和方法以及程序,更具体地讲,涉及一种能够针对给定下拉模式的输入图像估计下拉之前的帧频的图像处理装置和方法以及程序。
背景技术
近些年来,出现了许多各种帧频的图像信号。 例如,电影的原始图像的帧频是24Hz,而计算机图形的原始图像的帧频是30Hz。另外,广播图像的帧频根据国家而不同。例如,日本广播图像的帧频是60Hz,而欧洲广播图像的帧频是50Hz。另外,各种帧频用于互联网上的视频内容,这在近些年迅速增长。这样,当通过数字电视广播广播具有不同帧频的图像时,在通过广播站对帧频进行统一以后对图像进行广播。例如,当帧频为24Hz的电影原始图像以60Hz帧频进行广播时,由广播站执行3-2下拉处理。当帧频为30Hz的图像以60Hz的帧频进行广播时,由广播站执行2-2下拉处理。这里,如图I所示,3-2下拉处理是通过重复下面处理将帧频(帧速率)从24Hz转换成60Hz的处理例如,帧频为24Hz的电影的第一帧图像用于帧频为60Hz的电视图像的第一、第二和第三场;电影的第二帧图像用于电视图像的第四和第五场;电影的第三帧图像用于电视图像的第六、第七和第八场;电影的第四帧图像用于电视图像的第九和第十场。注意对于下拉处理还存在3-2下拉模式和2-2下拉模式以外的下拉模式。然而,当以这种方法执行了下拉处理的图像在电视接收器等等的屏幕上进行显示时,例如观众察觉到在运动场景中的抖动并且运动显现为不自然。图2示出了已经经历3-2下拉处理以使得到电视接收器等等的输入图像的帧频为60Hz的图像与帧频为60Hz的原始图像之间的帧相位比较。图2的上部曲线图示出了已经经历3-2下拉处理的图像相对于时间(时钟时间)的帧相位。图2的下部曲线图示出了原始图像相对于时间的帧相位。如图2所示,对于原始图像,相对于时间按序输出每帧。而对于已经经历3-2下拉处理的图像,相对于时间的相同相位的帧进行输出从而输出三帧然后输出两帧。换言之,当在屏幕上进行显示时,已经经历3-2下拉处理的图像不是平滑图像。为了解决这个问题,提议了一种降低上述的抖动的技术(例如,参照日本专利申请公开No. JP-A-2010-11108)。在该技术中,当转换已经执行下拉处理的图像的帧速率时,检测特定下拉模式(例如,3-2下拉模式和2-2下拉模式)。然后,根据检测结果校正图像并且执行帧内插。

发明内容
然而,基于上述的技术,不能够检测3-2下拉模式和2-2下拉模式之外的下拉模式。因此,无法估计在执行下拉之前的帧频。另外,如果当前现有的下拉模式全部保存在表格内,则可以检测3-2下拉模式和2-2下拉模式之外的下拉模式。然而,在这种情况下,需要为所有的下拉模式执行处理,导致控制复杂并且成本升高。此外,由于无法响应不是当前存在的下拉模式,所以未来可伸缩性变低。本发明鉴于上述情形做出,使得可以为给定的下拉模式的输入图像估计下拉之前的帧频。根据本发明的一个实施例,提供了一种图像处理装置,包括下拉模式检测部分,检测已经执行下拉的输入图像中的下拉模式;以及帧频计算部分,基于下拉模式和第一帧频计算第二帧频,第一帧频为输入图像的帧频,第二帧频为在对输入图像执行下拉之前的原始图像的帧频。 该图像处理装置能够使得下拉模式检测部分基于输入图像的帧之间的运动的存在和不存在的模式检测下拉周期,并且对运动帧的数目进行计数,下拉周期为重复下拉模式的帧周期,运动帧的数目表示下拉周期内的帧之间的运动的数目。该图像处理装置能够使得帧频计算部分基于下拉周期、运动帧的数目和第一帧频计算第二帧频。该图像处理装置还可以包括运动矢量检测部分,检测原始图像的帧之间的运动矢量;以及运动补偿部分,基于运动矢量、第二帧频和第三帧频执行运动补偿,并且产生原始图像的内插帧,第三帧频为输出图像的帧频。该图像处理装置还可以包括内插相位确定部分,基于第二帧频和第三帧频计算内插相位,内插相位表示原始图像的帧之间的内插帧的时间位置。该图像处理装置还能够使得运动补偿部分使用原始图像的帧之间的内插相位产生内插帧。根据本发明的一个实施例,提供了一种图像处理方法,包括检测已经执行下拉的输入图像中的下拉模式;以及基于下拉模式和第一帧频计算第二帧频,第一帧频为输入图像的帧频,第二帧频为在对输入图像执行下拉之前的原始图像的帧频。根据本发明的一个实施例,提供了一种使得计算机执行如下处理的程序检测已经执行下拉的输入图像中的下拉模式;以及基于下拉模式和第一帧频计算第二帧频,第一帧频为输入图像的帧频,第二帧频为在对输入图像执行下拉之前的原始图像的帧频。根据本发明的一个实施例,检测已经执行下拉的输入图像中的下拉模式,并且基于下拉模式和第一帧频即输入图像的帧频计算第二帧频即在对输入图像执行下拉之前的原始图像的帧频。根据本发明的一个方面,可以为给定的下拉模式的输入图像估计下拉前的帧频。


图I是示出了 3-2下拉处理的图;图2是已经经历3-2下拉处理的图像的帧相位与原始图像的帧相位进行比较的图;图3是示出应用本发明的图像处理装置的一个实施例的功能结构例子的框图;图4是示出运动检测部分的功能结构例子的框图;图5是示出了屏幕划分的例子的图;图6是示出运动检测部分的另一个功能结构例子的框图;图7是示出帧频估计部分的功能结构例子的框图;图8是示出帧频估计处理的流程图9是示出下拉周期检测处理的流程图;图10是示出了运动历史例子的图;图11是示出帧速率转换处理的流程图;图12是示出了内插相位的图;图13是示出 了运动补偿处理的例子的图;以及图14是示出计算机的硬件结构例子的框图。
具体实施例方式在下文中,将参照附图详细描述本发明的优选实施例。注意在这个说明书和附图中,功能和结构基本相同的组成部件由相同标号进行指示,并且省去对这些组成部件的重复解释。在下文中,将参照附图解释本发明的实施例。注意,将按下面顺序进行解释I.图像处理装置的功能结构2.帧频估计处理3.帧速率转换处理I.图像处理装置的功能结构图3示出了应用本发明的图像处理装置的一个实施例的结构。图3所示的图像处理装置I使用运动矢量对作为逐行扫描信号(progressivesignal)的输入图像执行帧速率转换,并且将帧速率转换后的输出图像提供给诸如液晶显示器等等的显示装置(附图中未示出)。输出图像的帧速率预先进行设置或者由用户进行设置。图3所示的图像处理装置I由运动检测部分11、帧存储器12、运动矢量检测部分13、帧频估计部分14、帧控制部分15和运动补偿部分16形成。运动检测部分11针对每帧检测在输入到图像处理装置I的输入图像帧(下文还称作现帧)与先前输入一帧的输入图像帧(下文还称作前帧)之间是否存在运动。运动检测部分11将指示是否检测到运动的检测结果提供给帧存储器12和帧频估计部分14。运动检测部分的功能结构例子这里,将参照图4详细解释运动检测部分11的功能结构例子。图4所示的运动检测部分11由运算部分21、绝对值计算部分22、测量区内总和计算部分23和阈值比较部分24形成。运算部分21针对每个像素计算现帧的亮度值与前帧的亮度值之间的差,并且将该差提供给绝对值计算部分22。绝对值计算部分22针对每个像素计算从运算部分21提供的帧之间的亮度值差的绝对值(帧差绝对值),并且将该绝对值提供给测量区内总和计算部分23。在由用户指定的测量区内,测量区内总和计算部分23计算从绝对值计算部分22提供的针对每个像素的帧差绝对值的总和(帧差绝对值和),并且将该帧差绝对值和提供给阈值比较部分24。阈值比较部分24将从测量区内总和计算部分23提供的帧差绝对值和与预定阈值(运动阈值)进行比较。该运动阈值可以预先进行设置或者可以由用户进行设置。
当帧差绝对值和大于运动阈值时,阈值比较部分24确定在现帧与前帧之间存在运动,并且输出指示该确定的运动检测结果。另一方面,当帧差绝对值和小于运动阈值时,阈值比较部分24确定在现帧与前帧之间不存在运动,并且输出指示该确定的运动检测结果。这样,运动检测部分11输出指示帧之间是否存在运动的运动检测结果。应该注意在图4所示的运动检测部分11中,当仅仅在输入图像的一部分内存在运动时或者当输入图像在两个屏幕上进行显示并且仅仅在两个屏幕的之一上存在运动时,相对于整个输入图像的运动变得相对较小。在这种情况下,可能确定没有运动,而不管存在运动的事实。为了解决这个问题,如图5所示,输入图像可以被划分成9个区(即,a区到i区),并且可以在这9个区的每个区内检测是否存在运动。运动检测部分的另一个功能结构例子图6示出了适于检测在图5所示的输入图像的划分的9个区的每个区内是否存在运动的运动检测部分11的功能结构例子。图6所示的运动检测部分11由每个区内运动检测部分31a到31i以及或(OR)运算部分32形成。基于与参照图4解释的运动检测部分11的方式相似的方式构造每个区内运动检测部分31a到31i的每一个,并且检测在图5所示的输入图像的区a到区i的每个区内是否存在运动。更具体地讲,每个区内运动检测部分31a到31i的每个计算针对输入图像的区a到区i的每个区的帧差绝对值和,并且将该帧差绝对值和与运动阈值进行比较。然后,每个区内运动检测部分31a到31i的每个将获得的运动检测结果提供给或运算部分32。或运算部分32对来自每个区内运动检测部分31a到31i的每个的运动检测结果执行或运算,并且输出或运算的结果作为整个输入图像(帧)的运动检测结果。更具体地讲,当来自每个区内运动检测部分31a到31i的运动检测结果中的至少一个指示存在运动时,或运算部分32输出指示相对于整个输入图像存在运动的运动检测结果。基于这种类型的结构,即使当仅仅在输入图像的一部分内存在运动时或者即使当输入图像在两个屏幕上进行显示并且仅仅在两个屏幕之一上存在运动时,也正确地确定是否存在运动。注意,划分图像的方法不限于图5所示的方法。另外,根据划分输入图像的方法,运动检测部分11的结构能够恰当进行变化。解释返回图3。帧存储器12设置有帧存储器控制器(附图中未示出)。在帧存储器控制器的控制之下,帧存储器12存储输入图像的每个帧、来自运动检测部分11的运动检测结果以及来自运动矢量检测部分13的运动矢量。恰当地通过运动检测部分11、运动矢量检测部分13和运动补偿部分16读取存储在帧存储器12内的输入图像的帧。恰当地通过运动矢量检测部分13和运动补偿部分16读取存储在帧存储器12内的运动矢量。运动矢量检测部分13使用输入到图像处理装置I的现帧和存储在帧存储器12内的前帧针对每帧检测输入图像的运动矢量,并且将运动矢量提供给帧存储器12。帧频估计部分14保存针对多帧的来自运动检测部分11的运动检测结果。当输入图像是下拉图像时,帧频估计部分14基于运动检测结果估计在对输入图像执行下拉之前的原始图像的帧频。帧频估计部分14将估计的原始图像的帧频提供给帧控制部分15。帧频估计部分的功能结构例子这里,将参照图7详细解释帧频估计部分14的功能结构例子。图7所示的帧频估计部分14由下拉周期检测部分41和帧频计算部分42形成。当输入图像是使用预定下拉模式执行了下拉的图像时,下拉周期检测部分41基于来自运动检测部分11的运动检测结果检测下拉模式。具体地讲,基于来自运动检测部分11的运动检测结果,下拉周期检测部分41检测下拉周期,下拉周期即重复下拉模式的帧的周期。另外,在检测的下拉周期内,下拉周期检测部分41对运动帧的数目进行计数,运动帧 的数目表示输入图像帧之间的运动的数目。另外,下拉周期检测部分41基于来自运动检测部分11的运动检测结果识别输入图像的帧频。下拉周期检测部分41将下拉周期和运动帧的数目以及输入图像的帧频一起提供给帧频计算部分42。帧频计算部分42基于由下拉周期检测部分41检测的输入图像的下拉模式和输入图像的帧频计算在对输入图像执行下拉之前的原始图像的帧频。具体地讲,帧频计算部分42基于从下拉周期检测部分41提供的下拉周期、运动帧的数目和输入图像的帧频计算原始图像的帧频。解释返回图3。基于来自帧频估计部分14的原始图像的帧频和预先设置或者用户设置的输出图像的帧频,帧控制部分15产生指定用于由运动补偿部分16执行的运动补偿处理的两个原始图像帧(下文还称作一对原始图像帧或一对帧)的帧控制信号,并且将该帧控制信号提供给帧存储器12。另外,帧控制部分15计算由运动补偿部分16在运动补偿处理中产生的内插帧的内插相位(表示一对原始图像帧之间的时间位置),并且将该内插相位提供给运动补偿部分16。这样,帧控制部分15控制由运动补偿部分16执行的运动补偿处理。运动补偿部分16基于通过由巾贞控制部分15产生的巾贞控制信号从存储在巾贞存储器12内的输入图像帧之中指定的一对原始图像帧以及与这对帧对应的输入图像的运动矢量,执行运动补偿。然后,运动补偿部分16使用来自帧控制部分15的内插相位产生原始图像的内插帧图像。作为由运动补偿部分16执行的运动补偿处理的结果而获得的图像被作为已经执行帧速率转换的输出图像提供给诸如液晶显示器等等的显示装置(附图中未示出),并且输出图像进行显示。2.帧频估计处理接下来,将参照图8解释由图像处理装置I执行的帧频估计处理。当由帧频估计部分14针对预定数目的帧保存来自运动补偿部分11的运动检测结果时,图8所示的帧频估计处理开始。在步骤S51,下拉周期检测部分41执行下拉周期检测处理,并且检测输入图像的下拉周期。同时,下拉周期检测部分41对输入图像的运动帧的数目进行计数。下拉周期检测处理的例子这里,将参照图9所示的流程图解释由下拉周期检测部分41执行的下拉周期检测处理。在步骤S81,下拉周期检测部分41读取运动检测结果{his
,-, his[MAXSIZE* 2-1]}作为与保存在下拉周期检测部分41内的输入图像的预定数目的帧对应的运动历史。这里,“his
”指示关于现帧和前帧的运动检测结果,“his [k]”指示关于在现帧之前的第k个帧和在前帧之前的第k个帧的运动检测结果。另外,“MAXSIZE”指示用户预先设置的最大下拉周期。注意“his[k]”采用值I或0,其中,“his[k] = I”指示存在运动作为运动检测结果,而“his [k] = 0”指示不存在运动作为运动检测结果。图10是示出了运动历史例子的图。在图10中,输入图像帧之中的由“E”指示的最右帧是现帧。过去帧定位在现帧的左侧。注意图10所示的输入图像是已经执行3-2下拉处理的图像。在图10中,设置“MAXSIZE = 6”。因此,在步骤S81中,读取运动历史{his
,…,1^8[11]},并且从“11匕
”开始基于该顺序读取的运动历史的值是0,0,1,0,1,0,0,1,0,
1,0,Oo在步骤S82中,下拉周期检测部分41将待最后检测的下拉周期“cycleLengh”的值设置成I。在步骤S83,下拉周期检测部分41确定是否读取的运动历史{his
,…,his[MAXSIZE-l]}的值全是O。在图10所示的例子中,运动历史{his
,…,his[MAXSIZE-l]}的值不全是O。因此,处理进入步骤S84。
在步骤S84,下拉周期检测部分41确定读取的运动历史{his
,…,his[MAXSIZE-l]}的值是否全是I。在图10所示的例子中,运动历史{his
,…,his[MAXSIZE-l]}的值不全是I。因此,处理进入步骤S85。在步骤S85中,下拉周期检测部分41设置“tSize = MAXSIZE”,其中,“tSize”是变成下拉周期的候选的参数(下文还称作候选下拉周期)。总之,在图10所示的例子中,首先,设置 “tSize = 6”。在步骤S86,下拉周期检测部分41确定是否成立“tSize > I”。当在步骤S86中确定成立“tSize > I”时,处理进入步骤S87并且参数i设置成“i =0”。在步骤S87,下拉周期检测部分41确定是否成立“i < 2(MAXSIZE_tSize)+l”。在图10所示的例子中,“2(MAXSIZE-tSize)+l”的值变得等于1,并且确定成立“i< 2(MAXSIZE-tSize)+l”。因此,处理进入步骤 S89。在步骤S89,下拉周期检测部分41设置与候选下拉周期“tSize”对应的运动历史作为模板。具体地讲,运动历史{his[i],his[i+l],…,his[i+tSize_l]}设置为第一模板“模板 I”,运动历史{his[i+tSize],his[i+tSize+1], his[i+2 * tSize-1]}设置为第二模板“模板2”。更具体地讲,在图10中,首先,{his
,his[l],…,his[5]}设置为第一模板“模板1”,{his[6],his[7],…,his[ll]}设置为第二模板“模板2”。然后,在步骤S90中,下拉周期检测部分41确定第一模板“模板I”是否与第二模板“模板2”匹配。在图10所示的例子中,第一模板是“模板I = {0,0,1,0,1,0}”,第二模板是“模板2= {0,1,0,1,0,0}”。因此,它们彼此不匹配,处理进入步骤S91。在步骤S91中,下拉周期检测部分41设置“tSize = tSize-1”作为候选下拉周期“tSize”,并且处理返回步骤S86。更具体地讲,在图10所示的例子中,设置“tSize = 5”并且第二次执行从步骤S86向前的处理。
在图10所示的例子中,在步骤S89的第二次,运动历史{his
,his[l],…,his [4]}设置为第一模板“模板1”,运动历史{his[5],his[6],…,his[9]}设置为第二模板“模板2”。然后,在步骤S90的第二次,第一模块“模板I = {0,0,1,0,1}”与第二模板“模板2 = {0,0,1,0,1}”匹配,处理进入步骤592。在步骤S92,下拉周期检测部分41将参数i设置成“i = i+1”,并且处理返回步骤S88。更具体地讲,在图10所示的例子中,设置“i = 1”,并且第三次执行从步骤S88向前的处理。在图10所示的例子中,在步骤S89的第三次,运动历史{his[l],his[2],…,his[5]}设置为第一模板“模板1”,运动历史{his[6],his[7],…,his[10]}设置为第二模板“模板2”。然后,在步骤S90的第三次,第一模板“模板I = {0,1,0,1,0} ”与第二模板“模板2 = {0,1,0,1,0}”匹配,处理进入步骤592的第二次。
在图10所示的例子中,在步骤S92的第二次设置“i = 2”,并且第四次执行从步骤S88向前的处理。更具体地讲,在步骤S89的第四次,运动历史{his[2], his[3], his[6]}设置为第一模板“模板1”,运动历史{his[7],his[8],…,his[ll]}设置为第二模板“模板2”。然后,在步骤S90的第四次,第一模板“模板I = {1,0,1,0,0} ”与第二模板“模板2 = {I,0,1,0,0}”匹配,处理进入步骤592的第三次。在图10所示的例子中,在步骤S92的第三次设置“i = 3”,并且第五次执行从步骤S88向前的处理。此时,“2(MAXSIZE-tSize)+l”的值变得等于3。因此,在步骤S88的第五次,确定不成立“i < 2(MAXSIZE-tSize)+l”,并且处理进入步骤S93。在步骤S93,下拉周期检测部分41设置“cycleLength = tSize”。更具体地讲,在上述的图10所示的例子中,设置“cycleLength = 5”并且处理返回步骤S91。在图10所示的例子中,在步骤S91中设置“tSize = 4”并且重复从步骤S86向前的处理。在最终设置“tSize = I”以后,在步骤S86确定不成立“tSize > I”并且处理进入步骤S94。在步骤S94,下拉周期检测部分41对运动巾贞的数目“motionNum”进行计数,运动中贞的数目“motionNum”是具有在运动历史{his
, , his [cycleLength-1]}中的运动的中贞的数目。更具体地讲,在图10所示的例子中,对运动历史{his
,…,his[4]} = {0,0,
1,0,1}中的“I”的数目进行计数并且由此设置“motionNum = 2”。然后,在步骤S95,下拉周期检测部分41输出下拉周期“cycleLength”以及运动帧的数目“motionNum”,并且处理结束。更具体地讲,在图10所示的例子中,输出“cycleLength = 5”作为下拉周期并且输出“motionNum = 2”作为运动巾贞的数目。这样,对于经历3-2下拉处理的输入图像,下拉周期被设置到5并且运动帧的数目被设置到2。另一方面,当在步骤S83确定运动历史{his
,…,his [MAXSIZE]}的值全是0时,即当在输入图像内没有运动时,处理进入步骤S94和步骤S95,并且设置“cycleLength=I” 和 “motionNum = O”。另外,在步骤S84,当确定运动历史{his
,…,his [MAXSIZE]}的值全是I时,即当输入图像是视频材料(原始图像)而非已经使用预定的下拉模式执行下拉处理的图像时,处理进入步骤S94和步骤S95,并且设置“cycle Length = I”和“motionNum = I”。这样,由用户指定的最大下拉周期“MAXSIZE”用作候选下拉周期的初始值。与候选下拉周期对应的运动历史用作第一模板“模板1”,并且通过将第一模板向过去移位一个候选下拉周期获得的运动历史用作第二模板“模板2”。然后,对这两个模板进行比较。在对与候选下拉周期对应的模板进行比较以后,候选下拉周期减小(步骤S91的处理)并且重复类似模板比较处理。最后,输出两个模板彼此匹配的最小候选下拉周期。因此,当输入图像是已经执行2-2下拉处理的图像时,运动历史被表示为“1,0,1,0,1,0... ”,并且候选下拉周期能够被表示为“...,6,4,2”。结果,输出2作为最小候选下拉周期。注意在上述的处理中,下拉周期越小,比较两个模板的次数越大。然而,为了降低 运算负荷,可以对在一个候选下拉周期内对模板进行比较的次数进行限制。返回图8所示的流程图,在步骤S51获得的下拉周期“cycleLength”和运动帧的数目“motionNum”被提供给帧频计算部分42。此时,下拉周期检测部分41基于来自运动检测部分11的运动检测结果识别输入图像的帧频,并且将识别的帧频提供给帧频计算部分42。然后,在步骤S52,帧频计算部分42基于从下拉周期检测部分41提供的下拉周期“cycleLength”、运动巾贞的数目“motinNum”和输入图像的巾贞频计算原始图像的巾贞频。这里,如果输入图像的帧频由“f_in”进行表示,则通过下面表达式(I)给出下拉之前原始图像的中贞频“f_org”。f_org = f_in x (motionNum/cycleLength)…(I)例如,当输入图像是已经经历3-2下拉处理并且巾贞频是f_in = 60Hz的图像时,下拉周期“cycleLength”等于5并且运动巾贞的数目“motionNum”等于2,如参照图10进行解释的。因此,根据表达式(1),下拉之前原始图像的帧频“f_org”被给定为“f_org =60X (2/5) = 24Hz”。这样计算(估计)的原始图像的帧频被提供给帧控制部分15。根据上述的处理,针对已经基于给定下拉模式经历下拉处理的输入图像,可以估计对输入图像执行下拉之前的原始图像的帧频。尤其是,不需要将所有存在的下拉模式保存在表格内,由此可以基于简单控制以低成本估计原始图像的帧频。此外,还可以处理不是当前存在的下拉模式,并且由此可以提高未来可伸缩性。3.帧速率转换处理接下来,将参照图11所示的流程图解释由信息处理装置I执行的帧速率转换处理。帧速率转换处理使用已经通过上述的帧频估计处理进行估计的原始图像的帧频。在图8所示的帧频估计处理完成以后执行图11所示的帧速率转换处理。在步骤Slll中,运动检测部分11检测在输入到图像处理装置I的现帧与存储在帧存储器12内的前帧之间是否存在运动,并且将运动检测结果提供给帧存储器12。在步骤S112,运动矢量检测部分13使用输入到图像处理装置I的现帧和存储在帧存储器12内的前帧针对每帧检测输入图像的运动矢量,并且将检测的运动矢量提供给帧存储器12。注意例如,通过块匹配方法、梯度方法、相位相关方法等等执行运动矢量的检测。在步骤S113,帧控制部分15产生指定用于由运动补偿部分16执行的运动补偿处理的一对原始图像帧的帧控制信号,并且将该帧控制信号提供给帧存储器12。在步骤S114,基于从帧频估计部分14提供的原始图像的帧频以及输出图像的帧频,帧控制部分15计算表示这样的间隔的内插增量,内插帧以该间隔按时间设置在这对原始图像帧之间,在由运动补偿部分16执行的运动补偿处理中产生该内插帧。这里,如果输出图像的帧频由“f_out”进行表示,则通过下面表达式⑵给出内插增量“W”。w = f_ 或 g/f_out. . . (2)例如,当输入图像是已经经历3-2下拉处理并且帧频是“f_in = 60Hz”的图像时,如上所述,原始图像的帧频“f或g”变得等于24Hz。这里,如果假设输出图像的帧频是“f_out = 120Hz”,则根据表达式(2)以下面方式w = 24/120 = 0. 2计算内插增量“W”。这指示如果采用这对原始图像帧之间的间隔作为一个单位时间,则基于0. 2的时间间隔布置(输出)内插中贞。在步骤S115中,帧控制部分15将表示这对原始图像帧之间的时间位置的内插相位设置成0,并且将内插相位提供给运动补偿部分16。如图12所示,在时间t-1的原始图像帧f (t-1)与时间t的原始图像帧f⑴之间,内插相位表示距离帧f (t-1)的内插帧的时间位置。内插相位针对每个内插帧从帧f (t-1)以内插增量“w”的间隔进行变化。在图12中,内插帧被布置在由内插表面指示的时间位置。在步骤S116中,帧控制部分15确定内插相位是否小于I。当在步骤S116中确定内插相位小于I时,处理进入步骤S117。运动补偿部分16基于由帧控制部分15指定并存储在帧存储器12中的这对原始图像帧以及与这对原始图像帧对应的输入图像的运动矢量,执行运动补偿,并且使用在从帧控制部分15提供时的内插相位产生内插帧。在步骤S118,帧控制部分15将内插增量加到内插相位,并且处理返回步骤S116。从步骤S116到步骤S118的处理即由帧控制部分15指定的这对原始图像帧的运动补偿处理被重复,直到在步骤S116确定内插相位不小于I。这里,将参照图13解释这对原始图像帧的运动补偿处理的例子。在图13中,输入图像是已经经历3-2下拉处理并且帧频是60Hz的图像,输出图像是帧频为120Hz的图像。首先,在输入图像中,关注包括在下拉周期(cycleLength = 5)内的五个巾贞A、A、B、B和B,帧控制部分15产生指定帧A和B作为一对原始图像帧的帧控制信号。此时,针对每帧在帧存储器12内存储输入图像。然而,在帧控制器(附图中未示出)的控制之下,基于从运动检测部分11提供的运动检测结果,可以仅仅存储已经被检测到运动的帧。可以删除没有被检测到运动的帧(例如,图13所示的输入图像帧的第二帧A),并且该帧的存储区域可以由下一个输入图像(帧B)进行盖写。通过这样做,可以节省帧存储器12的存储容量。当帧A和B被指定为一对原始图像帧时,运动补偿部分16以内插相位0输出帧A。然后,当0. 2加到内插相位时,运动补偿部分16输出通过基于帧A和B以及帧A和B的运动矢量以0. 2的内插相位执行运动补偿获得的内插帧A-B。然后,当0. 2进一步加到内插相位时,运动补偿部分16以0. 4的内插相位输出内插帧A-B。这样,内插相位一次增加0. 2。 当内插相位到达I时,在图11所示的流程图的步骤S116确定内插相位不小于I。返回图11所示的流程图,当在步骤SI 16中确定内插相位不小于I时,处理进入步骤S119,并且帧控制部分15从内插相位减去I。即,内插相位变得等于O。然后,在步骤S120,帧控制部分15产生用于更新一对帧的帧控制信号,并且将该帧控制信号提供给帧存储器12。基于帧控制信号,与用于运动补偿的一对帧对应的输入图像的运动矢量与这对帧一起进行更新。
在步骤S121中,帧控制部分15确定没有经历运动补偿处理的一对帧是否存在于帧存储器12内。当确定没有经历运动补偿处理的一对帧存在于帧存储器12内时,处理返回步骤S117,并且针对更新的一对帧重复从步骤S116到步骤S118的处理(即运动补偿处理)。更具体地讲,当帧B和C被指定为如图13所示的一对原始图像帧时,运动补偿部分16以内插相位0输出图像B。然后,当0. 2加到内插相位时,运动补偿部分16输出通过基于帧B和C以及帧B和C的运动矢量以0. 2的内插相位执行运动补偿获得的内插帧B-C。然后,当0. 2进一步加到内插相位时,运动补偿部分16以0. 4的内插相位输出内插帧B-C。内插相位一次增加0. 2直到内插相位达到1,并且输出内插帧。
这样,从已经经历3-2下拉处理并且帧频是60Hz的输入图像之中,下拉之前的原始图像被指定为用于运动补偿处理的图像,并且基于原始图像(一对帧)产生内插帧。因此,输出帧频为120Hz的输出图像。注意当内插相位是0时,输出原始图像。另一方面,当在步骤S121中确定没有经历运动补偿处理的一对帧不存在于帧存储器12中时,处理结束。基于上述的处理,当对已经基于预定下拉模式经历下拉处理的输入图像执行帧速率转换时,估计下拉前的原始图像的帧频。因此,可以基于下拉前的原始图像执行运动补偿,并且可以产生内插帧。更具体地讲,当对给定下拉模式的输入图像执行帧速率转换时,无需使用保存所有现有下拉模式的表格通过简单结构就可以降低抖动。注意当通过与帧速率转换处理并行执行帧频估计处理输入图像的帧速率改变时,也就是说,当内插增量改变时,可以从开始执行帧速率转换处理。在图像处理装置I设置有检测输入图像的场景变化的组成部件的情况下,当检测到场景变化时,可以从开始执行帧速率转换处理。在以上描述中,假设输入图像的帧频是60Hz并且输出图像的帧频是120Hz。然而,这些帧频可以分别是其它帧频。另外,如果本发明应用于通过输出左眼图像和右眼图像显示立体图像的立体图像显示系统,则即使当左眼图像和右眼图像是已经经历预定下拉模式的下拉处理的图像时,仍可以为左眼图像和右眼图像之一执行运动检测并且估计下拉前的帧频。另外,可以通过为左眼图像和右眼图像中的每个执行运动检测估计下拉前的帧频。此外,在以上描述中,帧之间的亮度值差用于运动检测。然而,可以使用运动矢量的绝对值的和、平均亮度水平、色差信号的差等等,只要这些特征量可用于检测帧之间的差即可。另外,可以使用一些特征量的组合。另外,在以上描述中,假设输入到图像处理装置I的输入信号是逐行扫描信号。然而,当输入例如数字电视广播信号的隔行扫描信号时,可以在前级设置执行隔行扫描/逐行扫描(IP)转换的IP转换器,从而输入逐行扫描信号。另外,当输入混合了不同帧频的输入信号时,可以在前级设置执行预定下拉模式的下拉处理的下拉处理部分,从而输入信号以统一帧频输入。上述一系列处理可以通过硬件或通过软件执行。当通过软件执行这一系列处理时,形成软件的程序被安装到并入专用硬件内的计算机中或者从程序存储介质安装到例如通过安装各种类型的程序可以执行各种类型的功能的通用个人计算机。
图14是示出使用程序执行上述一系列处理的计算机的硬件结构例子的框图。在该计算机中,中央处理单元(CPU)901、只读存储器(ROM)902和随机存取存储器(RAM) 903通过总线904彼此连接。另外,输入/输出接口 905连接到总线904。由键盘、鼠标、麦克风等等形成的输入部分906,由显示器、扬声器等等形成的输出部分907,由硬盘、非易失性存储器等等形成的存储部分908,由网络接口等等形成的通信部分909和驱动可移动介质911 (磁盘、光盘、磁光盘或半导体存储器等等)的驱动器910连接到输入/输出接口 905。在如上所述构造的计算机中,CPU 901经由输入/输出接口 905和总线904将例如存储在存储部分908内的程序加载到RAM 903上,并且执行该程序。因此,执行上述一系列处理。由计算机(CPU 901)执行的程序记录在可移动介质911内,可移动介质911是例如由磁盘(包括软盘),光盘(紧凑盘只读存储器(CD-ROM)、数字多功能盘(DVD)等等),磁光盘或半导体存储器等等形成的封装介质。或者,经由有线或无线传输介质(例如,局域网、互联网和数字卫星广播)提供该程序。然后,通过将可移动介质911插入驱动器910中,程序能够经由输入/输出接口905安装到存储部分908中。另外,程序能够由通信部分909经由有线或无线传输介质进行接收并且安装在存储部分908内。此外,程序能够预先安装在ROM 902或存储部分908内。
注意由计算机执行的程序可以是按照时序基于在这个说明书中描述的顺序进行处理的程序,或者可以是并行或在需要时刻(例如,当被调用时)进行处理的程序。本领域技术人员应该明白,可以根据设计要求和其它因素构思出各种变型、组合、子组合和替代,只要它们位于权利要求及其等同物的范围内即可。此外,本发明还可以如下进行构造。(I) 一种图像处理装置,包括下拉模式检测部分,检测已经执行下拉的输入图像中的下拉模式;以及帧频计算部分,基于下拉模式和第一帧频计算第二帧频,第一帧频为输入图像的帧频,第二帧频为在对输入图像执行下拉之前的原始图像的帧频。(2)根据(I)的图像处理装置,其中,下拉模式检测部分基于输入图像的帧之间的运动的存在和不存在的模式检测下拉周期,并且对运动帧的数目进行计数,下拉周期为重复下拉模式的帧周期,运动帧的数目表示下拉周期内的帧之间的运动的数目,以及其中,帧频计算部分基于下拉周期、运动帧的数目和第一帧频计算第二帧频。(3)根据⑴或⑵的图像处理装置,还包括运动矢量检测部分,检测原始图像的帧之间的运动矢量;以及运动补偿部分,基于运动矢量、第二帧频和第三帧频执行运动补偿,并且产生原始图像的内插帧,第三帧频为输出图像的帧频。(4)根据(3)的图像处理装置,还包括内插相位确定部分,基于第二帧频和第三帧频计算内插相位,内插相位表示原始图像的帧之间的内插帧的时间位置,其中,运动补偿部分使用原始图像的帧之间的内插相位产生内插帧。
(5) 一种图像处理方法,包括检测已经执行下拉的输入图像中的下拉模式;以及基于下拉模式和第一帧频计算第二帧频,第一帧频为输入图像的帧频,第二帧频为在对输入图像执行下拉之前的原始图像的帧频。(6) 一种使得计算机执行如下处理的程序检测已经执行下拉的输 入图像中的下拉模式;以及基于下拉模式和第一帧频计算第二帧频,第一帧频为输入图像的帧频,第二帧频为在对输入图像执行下拉之前的原始图像的帧频。本申请包含与在于2011年4月26日提交到日本专利局的日本优先权专利申请JP2011-098391中公开的主题有关的主题,该日本优先权专利申请的全部内容以引用方式并入本文。
权利要求
1.一种图像处理装置,包括 下拉模式检测部分,检测已经执行下拉的输入图像中的下拉模式;以及 帧频计算部分,基于下拉模式和第一帧频计算第二帧频,第一帧频为输入图像的帧频,第二帧频为在对输入图像执行下拉之前的原始图像的帧频。
2.根据权利要求I的图像处理装置, 其中,下拉模式检测部分基于输入图像的帧之间的运动的存在和不存在的模式检测下拉周期,并且对运动帧的数目进行计数,下拉周期为重复下拉模式的帧周期,运动帧的数目表示下拉周期内的帧之间的运动的数目,以及 其中,帧频计算部分基于下拉周期、运动帧的数目和第一帧频计算第二帧频。
3.根据权利要求I的图像处理装置,还包括 运动矢量检测部分,检测原始图像的帧之间的运动矢量;以及 运动补偿部分,基于运动矢量、第二帧频和第三帧频执行运动补偿,并且产生原始图像的内插帧,第三帧频为输出图像的帧频。
4.根据权利要求3的图像处理装置,还包括 内插相位确定部分,基于第二帧频和第三帧频计算内插相位,内插相位表示原始图像的帧之间的内插帧的时间位置, 其中,运动补偿部分使用原始图像的帧之间的内插相位产生内插帧。
5.—种图像处理方法,包括 检测已经执行下拉的输入图像中的下拉模式;以及 基于下拉模式和第一帧频计算第二帧频,第一帧频为输入图像的帧频,第二帧频为在对输入图像执行下拉之前的原始图像的帧频。
6.一种使得计算机执行如下处理的程序 检测已经执行下拉的输入图像中的下拉模式;以及 基于下拉模式和第一帧频计算第二帧频,第一帧频为输入图像的帧频,第二帧频为在对输入图像执行下拉之前的原始图像的帧频。
全文摘要
本发明涉及图像处理装置和方法以及程序。下拉模式检测部分检测已经执行下拉的输入图像中的下拉模式。帧频计算部分基于下拉模式和第一帧频计算第二帧频,第一帧频为输入图像的帧频,第二帧频为在对输入图像执行下拉之前的原始图像的帧频。本发明能够应用到执行输入图像的帧速率转换的图像处理装置,已经使用预定下拉模式对该输入图像执行了下拉处理。
文档编号H04N7/01GK102761729SQ20121011637
公开日2012年10月31日 申请日期2012年4月19日 优先权日2011年4月26日
发明者元山琢人 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1