CN1236628C - 产生立体图像的方法和装置 - Google Patents
产生立体图像的方法和装置 Download PDFInfo
- Publication number
- CN1236628C CN1236628C CN 00104048 CN00104048A CN1236628C CN 1236628 C CN1236628 C CN 1236628C CN 00104048 CN00104048 CN 00104048 CN 00104048 A CN00104048 A CN 00104048A CN 1236628 C CN1236628 C CN 1236628C
- Authority
- CN
- China
- Prior art keywords
- picture
- sports
- type
- current
- stereo
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
一种立体图像产生装置。画面提取器从MPEG编码数据中提取每个画面数据。运动矢量产生器产生对应于画面中宏块的运动矢量,且提供给运动矢量场形成器。画面存储单元存储从编码画面数据再现的画面。运动类型确定器确定当前画面的运动类型。立体图像产生器使用先前画面和运动类型,产生当前画面的混合画面,并且输出当前画面和混合画面。左/右画面确定器将它们确定为立体图像的左画面和右画面。使得对于多种运动类型的画面都获得自然稳定的图像立体感。
Description
技术领域
本发明涉及产生立体图像的方法和装置,并且特别涉及有效产生图像的方法和装置,其中产生具有自适应于各种运动类型画面的自然和稳定的立体感的立体图像,并且从MPEG(运动图像专家组)位流中提取并产生每个I、P和B画面的运动矢量。
尽管没使用采用两个摄像机的立体摄像机,本发明能够使对应于MPEG-1CD(光盘)、MPEG-2HDTV(高清晰度TV)或MPEG-2DVD(数字通用盘)的两维运动图像直接作为立体图像观看。此外,本发明的工业应用覆盖了能够使视频画面作为立体图像观看的所有领域。更具体地说,本发明能够应用到诸如NTSC、PAL和SECAM广播***的模拟类型视频信号领域,以及使用MPEG数据的所有领域。
背景技术
作为与本发明比较的一个现有技术,修改时间差(以下称为MTD)方法已经由日本的SANYO DENKI有限公司开发出来。此外,将垂直视差转换为水平视差的方法已经由韩国的SAMSUNG ELECTRONICS有限公司开发出来。这些现有技术从模拟类型的图像信号产生立体图像。由SANYODENKI有限公司开发的MTD方法:1)提取一运动区域,2)确定运动的速度和方向,3)基于运动的速度和方向从先前帧确定一延迟方向和延迟时间,和4)按照确定的延迟方向和延迟时间确定所延迟的延迟图像通过右眼和左眼的哪一个眼观看。
由韩国的SAMSUNG ELECTRONICS有限公司开发的将垂直视差转换为水平视差的方法:1)逐块预测一运动,2)计算块运动矢量的幅值,3)将由2)获得的幅值值转换为水平视差值,以便将所有垂直分量转换为水平视差值,4)在水平方向上将每个块移动水平视差值,和5)通过收集水平移动的块产生混合画面。
然而,由于在上述MTD方法的情况下,先前K帧中的一帧由运动信息强制选择为延迟图像,在一帧中由一些区域占据的不同深度被忽略。结果,由于当观看立体图像时,不存在深度感,立体感针对移动物体存在,但是针对具有较少移动的部分例如画面的背景,立体感不存在。
在由SAMSUNG ELECTRONICS有限公司提出的方法中,由于按照相邻块之间的水平视差的差值水平移动每个块,产生图像失真。因此,不能够自适应于各种运动类型图像产生自然和稳定的立体图像。
于是,在由上述现有方法产生的立体图像的情况下,对于图像的某些运动类型不能获得立体感,或立体图像的运动不自然。
此外,当使用MPEG编码数据产生立体图像时,上述现有方法应该针对解码图像再次执行运动预测方法。因此,不使用包含在MPEG位流中的运动信息。结果,由于再使用运动预测方法,产生立体图像的算法和硬件变得复杂。
发明内容
为了解决上述问题,本发明的一个目的是提供一种方法,用于即使对于各种运动类型的图像,也产生具有自然和稳定立体感的最优立体图像。
本发明的另一个目的是提供一种装置,用于即使对于各种运动类型的图像,也产生具有自然和稳定立体感的最优立体图像。
本发明的另一个目的是提供一种方法,用于通过使用编码的MPEG数据,即使对于各种运动类型的图像,也有效产生具有自然和稳定立体感的最优立体图像。
本发明的另一个目的是提供一种装置,用于通过使用编码的MPEG数据,即使对于各种运动类型的图像,也产生具有自然和稳定立体感的最优立体图像。
为了完成本发明的目的,提供了一种从图像数据产生立体图像的立体图像产生方法,该方法包括下列步骤:(a)使用按照图像数据的每个画面中的运动矢量,将当前画面的运动类型确定为静止画面、非水平运动画面、水平运动画面和快速运动画面中的一种;(b)使用根据所述图像数据的先前画面和所述确定的运动类型,产生对应于当前画面的混合画面,并且输出所述当前画面和所述混合画面;和(c)接收所述输出的当前画面和所述混合画面,并且按照在步骤(a)确定的所述运动类型,将所述当前画面确定为形成立体图像的左画面和右画面中的一个,并且将所述混合画面确定为另一个。
为了实现本发明的另一个目的,还提供了一种从立体图像数据产生立体图像的立体图像产生装置,该装置包括:运动类型确定器,使用按照图像数据的每个画面中的运动矢量,将当前画面的运动类型确定为静止画面、非水平运动画面、水平运动画面和快速运动画面中的一种;立体图像产生器,使用根据所述图像数据的先前画面和所述确定的运动类型,产生对应于当前画面的混合画面,并且输出所述当前画面和所述混合画面;左/右画面确定器,接收从所述立体图像产生器输出的当前画面和混合画面,并且按照在运动类型确定器中确定的所述运动类型,将所述当前画面确定为形成立体图像的左画面和右画面中的一个,并且将所述混合画面确定为另一个。
为了实现本发明的另一个目的,还提供了一种立体图像产生方法,用于使用包含I、B和P画面的MPEG编码数据,产生立体图像,该方法包括下列步骤:(a)接收所述编码的画面数据,并且产生和存储对应于该画面中的宏块的运动矢量;(b)存储K个从所述编码的画面数据中再现的画面;(c)使用在步骤(a)中获得的所述运动矢量,将对应于当前画面的运动类型确定为静止画面、非水平运动画面、水平运动画面和快速运动画面中的一种;(d)使用在步骤(b)存储的先前画面和在步骤(c)确定的所述运动类型,产生对应于所述当前画面的混合画面,并且输出所述当前画面和所述混合画面;和(e)接收从步骤(d)输出的所述当前画面和所述混合画面,并且将所述当前画面确定为形成立体图像的左画面和右画面中的一个,将所述混合画面确定为另一个。
为了实现本发明的另一个目的,还提供了一种立体图像产生装置,用于使用包含I、B和P画面的MPEG编码数据,产生立体图像,所述装置包括:运动矢量产生和存储单元,接收所述编码的画面数据,并且产生和存储对应于该画面中的宏块的运动矢量;画面存储单元,存储K个从所述编码的画面数据中再现的画面;运动类型确定器,使用在所述运动矢量产生和存储单元中产生的、对应于所述当前画面的所述运动矢量,将对应于当前画面的运动类型确定为静止画面、非水平运动画面、水平运动画面和快速运动画面中的一种;立体图像产生器,使用在画面存储单元中存储的所述先前画面和在所述运动类型确定器中确定的所述运动类型,产生对应于所述当前画面的混合画面,并且输出所述当前画面和所述混合画面;和左/右画面确定器,接收从所述立体图像产生器输出的所述当前画面和所述混合画面,并且将所述当前画面确定为形成立体图像的所述左画面和所述右画面中的一个,将所述混合画面确定为另一个。
最好是,运动矢量产生步骤和运动矢量产生器分析MPEG编码位流的GOP(画面组)中的首标,以提取I、B和P画面,并且提取和产生对应于每个画面宏块的运动矢量,以形成一运动矢量场。
此处,最好是,从来自对应于一对应画面的MPEG位流中逐个宏块地提取、内插并且产生B画面和P画面的运动矢量,并且使用按照先前B画面的宏块的运动矢量,产生I画面帧内编码的运动矢量。
最好是,运动类型确定步骤和运动类型确定器分析当前画面的运动矢量场,以将当前画面的运动类型确定为没有移动的静止画面、摄像机和/或物体在非水平方向移动的非水平运动画面、摄像机和/或物体在水平方向移动的水平运动画面、和具有快速移动的快速运动画面中的一种。
在此,将画面的运动类型确定为静止画面和运动画面中的一种的步骤最好是,根据在画面的全部宏块中、由水平运动分量和垂直运动分量均为零的静止宏块占据的比率,分析画面的运动矢量场,并且确定运动类型。
在此,将画面的运动类型确定为非水平运动画面和水平运动画面中的一种的步骤最好是,分析画面的运动矢量场,并且根据在画面的全部宏块中、由基于最大垂直会聚阈值角和最大水平视差阈值的非水平宏块占据的比率,确定运动类型。
将画面的运动类型确定为快速运动画面和水平运动画面中的一种的步骤最好是,分析画面的运动矢量场,并且根据在画面的全部宏块中、由基于最大水平视差阈值的快速运动宏块占据的比率,确定运动类型。
最好是,立体图像产生器至少包括混合静止画面产生器、混合非水平运动画面产生器、混合快速运动画面产生器、混合水平运动画面产生器中的一个,所述静止画面产生器,用于产生确定为静止画面的当前画面的立体图像,所述混合非水平运动画面产生器,用于产生确定为非水平运动画面的当前画面的立体图像,所述混合快速运动画面产生器,用于产生确定为快速运动画面的当前画面的立体图像,所述混合水平运动画面产生器,用于产生确定为水平运动画面的当前画面的立体图像。
在此,对应于确定为静止画面的当前画面的立体图像产生步骤,基于静止画面中每个预定块的亮度和/或其标准偏差,分配彼此不同的深度信息,将分配的深度信息转换成水平视差,并且产生相应于静止画面的混合画面。
在此,在摄像机和物体二者在非水平运动画面中移动的情况下,产生对应于确定为非水平运动画面的当前画面的立体图像的步骤最好是,在运动方向与摄像机运动方向相同的宏块和运动方向与摄像机运动方向不相同的宏块之间,分配彼此不同的每个视差值,由此产生混合画面。在只有物体在非水平运动画面上移动的情况下,产生对应于确定为非水平运动画面的当前画面的立体图像步骤最好是,在运动宏块和静止宏块之间分配彼此不同的每个视差值,由此产生混合画面。在只有摄像机在非水平运动画面中移动的情况下,产生对应于确定为非水平运动画面的当前画面的立体图像步骤最好是,通过使用按照当前宏块边缘特性的***边缘宏块和先前画面宏块的运动矢量,获得对应于每个当前宏块的每个视差值,由此产生混合画面。
在此,产生对应于确定为快速运动画面的当前画面的立体图像的步骤最好是,将当前画面中快速运动宏块的运动矢量转换成最大水平视差值,在水平方向上移动转换的结果,并且将水平移动的结果与紧邻的先前画面混合,由此产生对应于快速运动画面的混合画面。
在此,产生对应于确定为水平运动画面的当前画面的立体图像的步骤最好是,根据基于心理物理学理论的最大水平视差阈值和当前画面中预定水平运动速度值,将先前画面确定为对应于水平运动画面的混合画面。
最好是,在当前画面的运动类型确定为水平运动画面的情况下,自适应根据在水平运动画面中摄像机和/或物体的运动类型,左/右画面确定步骤和确定器选择模式A或模式B,由此确定形成立体图像的左画面和右画面,对于模式A,当前画面确定为左画面,并且先前画面确定为右画面,对于模式B,当前画面确定为右画面,并且先前画面确定为左画面。在当前画面的运动类型不是水平运动画面的情况下,最好是,当前画面确定为左画面,和混合画面确定为右画面。
在此,对应于确定为水平运动画面的当前画面,模式A或模式B的确定最好是,将当前画面对分成是边缘区域的第一确定区域和是中央区域的第二确定区域,并且基于(分别属于第一和第二确定区域)的每个宏块的每个水平运动矢量方向、宏块的数目和分布。
最好是,按照本发明的立体图像产生方法和装置,自适应根据先前画面的运动类型和对应于当前画面的运动矢量的每种组合,再确定在运动类型确定器中最初确定的当前画面的运动类型,以便显著减少时间上连续的立体图像之间的抖动,并且由此执行立体图像的产生和/或左/右画面的确定。
附图说明
通过参照附图详细描述优选实施例,本发明的上述目的和其它优点将变得更清楚,其中:
图1是按照本发明优选实施例的MPEG数据立体图像产生装置的方框图;
图2是详细表示运动矢量产生器结构的方框图;
图3示出了与I画面宏块重叠的B画面宏块的重叠;
图4示出了用来产生I画面运动矢量的运动矢量的方向;
图5是运动类型确定器和立体图像产生器的详细结构的方框图;
图6是用于解释静止画面和运动画面确定的流程图;
图7是用于解释非水平运动画面和水平运动画面的确定的流程图;
图8示出了最大垂直会聚(fusion)阈值角和最大垂直视差之间的关系;
图9是解释快速运动画面的确定的流程图;
图10示出了最大水平聚度阈值角和最大水平视差之间的关系;
图11是用于解释将水平运动画面转换成立体图像的方法的流程图;
图12示出了一画面区域被分成主确定区域和次确定区域;
图13是用于解释将非水平运动画面转换成立体图像的方法的流程图;
图14示出了用于边缘方向确定的方向滤波器T1-T5;
图15是用于解释将快速运动画面转换成立体图像的方法的流程图;
图16是用于解释将静止画面转换成立体图像的方法的流程图;
图17是按照本发明的优选实施例使用MPEG数据的立体图像产生装置的方框图,其中该优选实施例是图1实施例的改进;
图18是用于简要解释图17中的运动类型再确定器的操作的流程图;
图19是用于解释在先前画面的运动类型是非水平运动画面的情况下,当前画面运动类型的再确定的流程图;
图20是用于解释在先前画面的运动类型是水平运动画面的情况下,当前画面运动类型的再确定的流程图;
图21是先前画面的运动类型与当前画面的运动类型相同的情况下,当前画面运动类型的再确定的流程图。
具体实施方式
将参照附图,描述本发明的优选实施例。
图1是按照本发明优选实施例的MPEG数据立体图像产生装置的方框图。图1所示的装置包括:画面提取器100;运动矢量产生器110;运动矢量场形成器120;运动类型确定器130;立体图像产生器140;左/右画面确定器150;先前画面存储器160和数字模拟转换器(DAC)170和180。
当MPEG编码数据位流输入时,画面提取器100使用在输入位流的画面首标中的3位代码,识别画面的种类。画面首标中的3位代码表示帧画面或场画面的种类。例如,如果3位代码是001,该画面是I画面。如果3为代码是010,该画面是P画面。如果3位代码是100,该画面是B画面。画面提取器110从MPEG编码位流中提取I、P和B画面数据,并且将该画面数据提供给运动矢量产生器110和先前画面存储器160。
运动矢量产生器110从位流中提取在I、B和P画面中每个宏块的运动矢量,并且为没有运动矢量的宏块参照其它画面的数据,产生一运动矢量。由于I画面是帧内编码画面,在I画面中不存在运动矢量。于是,使用先前B画面的运动矢量,提取运动矢量。由于P和B画面是帧间编码画面,它们具有自己的运动矢量。于是,可使用MPEG标准的现有运动矢量提取方法,获得运动矢量。
在M是3的情况下,在输入到MPEG编码器的原始图像中GOP的画面序列如下:
...B0B1P2B3B4I5B6B7P8B9B10P11...
在输入到MPEG解码器的图像中GOP画面序列符合下列编码顺序:
...P2B0B1I5B3B4P6B6B7P11B9B10...
编码器使用I5对于画面B3和B4执行后向运动预测。于是,为了提取画面I5的宏块运动矢量,使用在编码器中获得的先前画面B3和B4的运动矢量。表1示出了原始图像序列的MPEG标准中I、B和P画面的显示顺序和为编码图像序列的解码器输入顺序。
表1
(a) | B | B | P | B | B | I | B | B | P | B | B | P | B | B | P | B | B |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | |
(b) | P | B | B | I | B | B | P | B | B | P | B | B | P | B | B | I | B |
2 | 0 | 1 | 5 | 3 | 4 | 8 | 6 | 7 | 11 | 9 | 10 | 14 | 12 | 13 | 17 | 15 |
条目(a)表示MPEG画面的显示顺序,条目(b)表示MPEG画面的解码器输入顺序。
当在画面提取器100中提取B画面时,B画面运动矢量提取器200从对应于相应B画面的位流中提取每个宏块中的运动矢量。B画面运动矢量产生器210以一种后面描述的方式缩放(scale)提取的宏块运动矢量,并且使用内插方法,产生由于帧内编码例如B画面中的强制帧内编码而没有运动矢量的宏块的运动矢量。
首先,下面将描述缩放从B画面位流提取的宏块运动矢量的方法。B画面运动矢量产生器210考虑N和M的缩放提取的宏块运动矢量,其中N是由GOP组成的帧数目,而M是I/P画面和P画面之间的画面间隔。假定M=3,在表I的条目(a)中,B3距前向预测的P2有一个画面间隔的距离,距后向预测的I5有两个画面间隔的距离。同时,B4距前向预测的P2有两个画面间隔的距离,并且距后向预测的I5一个画面间隔的距离。考虑画面间隔M缩放的B3的运动矢量可利用如下列等式1来获得。
在此,从双向预测的特定宏块中同时或选择性地提取两个运动矢量(dBx,dBy)f和(dBx,dBy)r。已经由等式1缩放的运动矢量(dBx,dBy)S包括B画面中的宏块类型中的所有前向帧间预测编码类型、后向帧间预测编码类型和双向预测内插帧间预测编码类型。通过等式1获得的运动矢量(dBx,dBy)S变成本发明中使用的相应宏块的运动矢量值。
同样,通过下列等式2可获得被缩放的B4的运动矢量。
同时,使用内插方法产生按照B画面中的帧内编码的没有运动矢量的宏块的运动矢量。由于很好地理解本发明的技术概念的本领域普通技术人员可清楚理解内插方法,将忽略其详细描述。
对应于B画面中的所有宏块的运动矢量(已经在B画面运动矢量产生器210中缩放或内插)存储在B画面运动矢量存储器220中,并且输入到图1的运动矢量场形成器120。
当在画面提取器100中提取P画面时,P画面运动矢量提取器240从位流中提取P画面中的宏块的运动矢量。P画面中的宏块在编码器中用先前I画面或P画面进行前向帧间预测编码和帧内编码。因此,在P画面中的所有宏块中,从P画面运动矢量提取器240中提取的运动矢量的宏块类型变成前向预测编码类型,并且没有提取的运动矢量的宏块类型是帧内编码类型。
P画面运动矢量产生器250以后面描述的方式,缩放从对应于P画面的位流中提取的宏块运动矢量,如同在B画面的情况。使用内插方法产生按照P画面中的帧内编码而没有运动矢量的宏块的运动矢量。
具体地说,在P画面的运动矢量缩放中,应该考虑P画面和运动预测先前I/P画面之间的画面间隔M,其用来在编码器中预测P画面的运动矢量。这是因为,在后面要描述的立体图像产生之前或之后的画面之间要保持恒定量的移动。这样,P画面宏块的被缩放运动矢量可在计入画面间隔M的下列等式3中获得。
在此,考虑在编码器的预测编码中使用的恒定画面间隔M,为运动矢量(dPx,dPy)缩放被缩放运动矢量(dPx,dPy)S,运动矢量(dPx,dPy)在先前I/P画面和当前P画面之间被前向预测。
在P画面运动矢量产生器215中已经缩放或内插的、对应于P画面中所有宏块的运动矢量输入到图1的运动矢量场形成器120。
存储在B画面运动矢量存储器220中的运动矢量用来使I画面运动矢量产生器230产生对应于I画面中的宏块的运动矢量。由于I画面中的所有宏块是帧内编码的,没有运动矢量存在。于是,为了产生I画面的运动矢量,应该等到在编码器中参照I画面、在B画面运动矢量提取器200和B画面运动矢量产生器250中获得在后向运动预测B画面中所有宏块的运动矢量。在I画面中每个宏块的运动矢量(dx,dy)I可如下获得。
诸如从表1的序列可看出,没有运动矢量的I5的运动矢量可使用位流中具有运动信息的先前P和B画面获得。
参照表1,I画面运动矢量产生器230使用先前画面B3和B4获得I5的运动矢量,这对于最小化时间延迟和保证可靠性是最好的。这是基于这样的事实,画面B3和B4在编码器中已经参照画面I5直接预测编码,并且时间上相近。例如,尽管表1中画面P2、B0和B1在时间上早于画面B3和B4,编码器不直接参照画面I5。因此,降低了可靠性。画面P8、B6和B7在解码器输入序列中和显示序列中晚于画面B3和B4,这样,延迟时间增加,尽管编码器直接参照画面I5。于是,考虑编码器中的所有参考、解码器输入序列和显示序列,使用B3和B4的运动矢量获得I5的运动矢量是最好的。
因此,最好是,按照本发明的I画面运动矢量产生器230使用刚好在任何I画面之前的后向预测B画面,产生运动矢量。提供了下列三种详细方法。
方法1:考虑方向的加权值的使用
首先,时间上较晚输入到解码器的B4的运动矢量按原样使用,以获得I5的运动矢量。然而,该方法仅能在假定所有宏块线性移动的情况下使用。此外,由于由B画面的宏块参照的I画面的宏块没有以宏块为单位精确对齐,所以获得的运动矢量值不是所需宏块的运动矢量值。
于是,在块被移动可被使用的B画面的运动矢量值之后,与I画面的当前宏块重叠的B画面宏块的信息用来计算I画面宏块的运动矢量值。在图3中,MB(x,y,k-1)表示具有运动矢量的、是先前画面的B画面的宏块,MB(x,y,k)用来表示获得当前运动矢量的I画面的宏块。由于箭头标记表示运动矢量的方向,MB1和MB2彼此具有相同的运动矢量,但是MB3具有不同的运动矢量。因此,如在MB3中,运动矢量方向不同于整个运动矢量方向的宏块不是侯选对象。因此,能够避免从具有小相关的区域中获得运动矢量。此外,由于运动矢量的方向能够以各种方式存在,最好将它们分类成四个区域,如图4所示。此外,当运动矢量定义为(dx,dy)时,使用下列等式4可计算运动矢量的方向,并且被计算方向划分成左上、右上、左下和右下中的一种,如图4所示。
I画面的运动矢量获得如下。Fk和Fk-1分别表示当前画面和先前画面,N表示至少部分与需要获得运动矢量的I画面的宏块MB(x,y,k)重叠并且运动矢量方向彼此相同的B画面宏块的数目。Ln=[Lxn,Lyn]T表示对应于在x轴和y轴上与MB(x,y,k)重叠部分的长度的象素数目。使用下列等式5获得Ln=[Lxn,Lyn]T的加权值w=[wx,wy]T
在此,T是转置。
然后,使用在等式5中获得的加权值,获得I画面的运动矢量,如下列等式6。
方法2:在x轴和y轴的每个轴上的加权值的使用
除了在方法1中考虑方向之外,只使用加权值的该计算方法与方法1相同。即,只具有特定方向的运动矢量的宏块不予考虑,但是考虑重叠的所有宏块,由此获得I画面的运动矢量。
方法3:作为加权值的区域的使用
方法3与方法2相同,其中不获得针对x轴和y轴每个轴的加权值,但是与需要的宏块重叠的所有宏块的区域,即象素数被看作加权值,以计算I画面的运动矢量。
由上述方法中的一种产生的I画面内所有宏块的运动矢量提供给运动矢量场形成器120。
如果获得在I、B和P画面中宏块的运动矢量,运动矢量场形成器120形成运动矢量场,该运动矢量场由对应于每个画面中所有宏块的运动矢量构成。运动矢量场表达为阵列或集合。在此,场的概念区别于作为一种画面的场。
如果形成运动矢量场,运动类型确定器130将运动分析方法应用列逐画面运动矢量场,该逐画面运动矢量场存储在运动矢量场形成器120或从该运动矢量场形成器输出,运动类型确定器130确定当前画面的运动类型为多种运动类型中的一种,并且将结果输出到立体图像产生器140。在此,上述运动类型分类成没有移动的静止画面、摄像机和/或物体在非水平方向上移动的非水平运动画面、具有快速移动的快速运动画面、及摄像机和/或物体在水平方向上移动的水平运动画面。运动类型确定器130包括:运动/静止画面确定器500、水平/非水平运动画面确定器510、和水平/快速运动画面确定器520,如图5所示。图5中所示的混合静止画面产生器530、混合非水平运动画面产生器540、混合快速运动画面产生器550和混合水平运动画面产生器560形成图1所示的立体图像产生器140。
下面将参照图6描述图5中所示的运动/静止画面确定器500的操作。运动/静止画面确定器500分析运动矢量场,并且确定当前画面为静止画面和运动画面中的一种。参照图6,运动/静止画面确定器500计算当前画面的运动矢量(dx,dy)中水平分量和垂直分量都为零的宏块(即,运动矢量都是(0,0)的、称作静止宏块的宏块)的数目N0(步骤600),计算在当前画面中的总宏块的数目NMB(步骤610),并且使用下列等式7,获得画面中静止宏块数N0相对于总宏块数NMB的比率αS(步骤620)。此外,静止宏块包括在MPEG编码中使用的“NO-MC”宏块,即,不执行运动补偿(MC)的宏块。
然后,如果在步骤620中获得的αs的值大于阈值Ts,运动/静止画面确定器500确定当前画面的运动类型为静止画面,并且如果前者不大于后者,将当前画面的运动类型确定为运动画面(步骤630)。在此,阈值Ts=[0.0,1.0]。例如,在Ts=0.9的情况下,如果静止宏块的区域是总区域的90%以上,当前画面确定为静止画面,如果不是,确定为运动画面。在步骤630的鉴别结果中,如果当前画面的运动类型是静止画面,包含运动矢量的当前画面的数据输入到混合静止画面产生器530,并且如果当前画面的运动类型是运动画面,则包含运动矢量的当前画面的数据输入到水平/非水平运动画面确定器510。
下面将参照图7和图8描述图5中所示的水平/非水平运动画面确定器510的操作。水平/非水平运动画面确定器510基于心理物理学理论,将当前画面的运动类型确定为非水平运动类型和水平运动类型中的一种。
按照本领域所知的心理物理学理论,如果图像仅在水平方向移动,由于两眼的水平视差,出现图像深度感。同时,由于非水平移动的垂直视差是两个匹配点之间的差值,其中每个匹配点称为类同点(homologous point)。已知垂直视差使两眼执行图像的会聚很难和不方便。通过心理物理实验,使得图像能够会聚的垂直视差的幅值已经测量为最大垂直会聚阈值角θv,θv应该至少在10′(弧度的弧分)角度以内。通过其它实验,θv应该满足6′角度的垂直视差,并且在执行图像的会聚之后,观察到尽管θv变成20′,图像仍然稳定会聚。
于是,在步骤700,将范围从6′到20′的任何值设定为最大垂直会聚阈值角(θv)。对应于θv的在显示监视器上的距离Lv是最大垂直视差阈值,使用与图8有关的下列等式可获得该阈值(步骤710)。
在此,由于θv的单位是弧分,它应该由60划分,以便用度表示它。最大垂直视差阈值Lv的单位是象素。D是以cm为单位的可视距离。Ny是以象素为单位的画面的垂直幅值。Wy是以cm为单位的在显示监视器上画面的垂直长度。
如果确定画面的非水平运动的非常关键因数Lv在步骤710获得,计算称为非水平宏块(其中,在当前画面中运动矢量的垂直分量dy的幅值大于LV)的宏块的数目NLV(步骤720),并且使用下列等式9获得非水平宏块NLV相对于总宏块数目NMB的比率αv(步骤730)。
如果在步骤730中获得的当前画面的比率αv大于阈值Tv,水平/非水平运动画面确定器510将当前画面的运动类型确定为非水平运动画面,并且如果不是,确定为水平运动画面(步骤740)。
αv和Tv是确定当前画面的运动类型是水平运动画面还是非水平运动画面的非常关键因数。即使在实际立体图像中以非水平方向移动的小物体也影响立体感。于是,在画面中非水平宏块的数目决定αv。通过实验,已经观察列在摄像机停止的状态下非水平物体运动使得人们的眼睛比在摄像机移动的状态下更疲劳。这是因为画面中静止区域和运动区域的视差之间的差值在前一种情况下大,而在后一种情况下相对小。运样,最好是,αv的阈值Tv在摄像机停止的状态设定到0.05,并且在摄像机移动的状态设定到0.15。在步骤740的鉴别结果中,如果当前画面的运动类型是非水平运动类型,包含运动矢量的当前画面的数据提供给混合非水平运动画面产生器530,否则提供给水平/快速运动画面确定器520。
下面将参照图9和10描述图5中所示的水平/快速运动画面确定器520的操作。水平/快速运动画面确定器520将当前画面的运动类型确定为具有快适移动的快速运动画面和具有非快速移动的水平运动画面中的一种。
首先,水平/快速运动画面确定器520确定不使人眼疲劳的最大水平视差值。通过心理物理学实验,水平会聚阈值角度θH对于负视差或交叉视差(crossed disparity)是近似27′角度,并且对于正视差或非交叉视差是24′角度。此外,似乎是在约2秒的时间间隔下人类视觉的会聚反应大于视差值27′和24′。在此,由于负视差或交叉视差的概念以及正视差或非交叉视差的概念对于本领域技术人员是熟知的,将略去其详细描述。此外,证明能够由人类眼睛立体会聚的水平会聚阈值角度对于负视差约为4.93°,并且对于正视差约为1.57°。
于是,水平会聚阈值角度θH设定为上述值(步骤900),这样使用图10的关系,由下列等式10获得在显示监视器上最大水平阈值LH(步骤910)。
在此,D是人眼和屏幕之间的观看距离。Nx表示画面的水平幅值,并且Wx表示显示监视器上画面的水平长度,两者的单位是cm。
在此,由于通过等式10获得的最大水平视差阈值LH是不使人眼疲劳的可会聚的最大阈值,更好地是,为其指定加权值。于是,使用相对于水平会聚阈值角度1.57°和4.93°指定加权值的等式11,计算最大水平视差阈值,该最大水平视差阈值是确定画面快速移动的关键因数(步骤910)。
在此ω1+ω2=1。如果两个加权值ω1和ω2均为1/2,由等式11获得的最大水平视差阈值LH变成相对于水平会聚阈值角度1.57°和4.93°的平均值。
然后,水平/快速运动画面确定器520确定一个快速移动部分或多个快速移动部分,该快速移动部分使得在水平方向上移动的当前画面中难以会聚图像。该确定方法基于心理物理学理论。更详细地说,水平/快速运动画面确定器520计算在当前画面中的宏块的运动矢量中,其水平分量dx的绝对值大于由等式11获得的LH的宏块(以下称为快速运动宏块)的数目NLH(步骤920)。并且使用下列等式12获得画面中快速运动宏块数目NLH相对于总宏块数NMB的比率αH(步骤930)。
水平/快速运动画面确定器520比较在步骤930中获得当前画面的αH和阈值TH,如果在比较的结果中当前画面的比率αH大于阈值TH,将当前画面的运动类型确定为快速运动画面,并且如果当前画面的比率αH不大于阈值TH,在确定为水平运动画面(步骤940)。在此,阈值TH是0.0和1.0之间的值。
如果当前画面的运动类型是快速运动画面,水平/快速运动画面确定器520将包含运动矢量的当前画面的数据提供给混合快速运动画面产生器550,并且如果当前画面的运动类型是水平运动画面,在将包含运动矢量的当前画面的数据提供给混合水平运动画面产生器560。
然后,图5所示的混合运动画面产生器560的操作将参照图11和12进行描述。如果在水平/快速运动画面确定器520处,将当前画面的运动类型确定为水平运动画面,混合水平运动画面产生器560从当前画面中获得一延迟因数,并且将对应于延迟因数的先前画面确定为混合水平运动画面。然后,混合水平运动画面产生器560分析是水平运动画面的当前画面中摄像机和/或物体的运动种类,并且按照分析的运动种类确定当前画面和确定的先前画面将由左眼和右眼中的哪个眼睛观看。
参照图11,混合水平运动画面产生器560计算当前画面的平均水平运动速度或最大水平运动速度,其中当前画面是水平运动画面(步骤1100)。平均水平运动速度是所有水平运动矢量分量(其中当前画面中运动矢量的水平分量dx的值不是零)的绝对值的平均值,并且由下列等式13获得。
在此,N是其中当前画面中运动矢量的水平分量dx的值不是零的宏块的数目。最大水平运动速度dxmax是最大水平运动矢量分量,并且由下列等式14获得。
dxmax=maxi|dxi| i=1,2...N ...(14)
然后,混合水平运动画面产生器560确定对应于当前画面的延迟画面,即,与是水平运动画面的当前画面一起形成立体图像的先前画面(步骤1101)。在步骤1101中,最大水平运动速度dxmax和最大水平视差阈值LH相互比较,由此确定先前画面。为了使用图9的步骤910中获得的LH形成立体图像,选择一个先前帧。为了确定此,计算一延迟因数。在当前画面的运动类型是水平运动画面的情况下,形成立体图像的当前画面和延迟画面应合适地被左眼和右眼观看。延迟画面被选择为K个先前画面中的一个,在时间轴上所述先前画面比当前画面在时间上早。使用平均当前画面的水平运动速度或最大水平运动速度,获得确定延迟画面的延迟因数。使用平均水平运动速度有一缺点,其中一个宏块会大大影响立体感,而使用当前画面的最大水平运动速度具有一优点,其中确定的所有水平视差均小于最大水平视差阈值。因此,最好是,基于最大水平运动速度确定水平运动画面的立体图像的先前画面。当前画面定义为Ik,并且先前画面定义为Ik-n(n=1,2,...,∞)。使用延迟因数,如果水平运动速度快,选择接近当前画面的先前画面,而如果水平运动速度慢,选择远离当前画面的先前画面。由下列等式15获得延迟因数fD。
在此,由于水平运动画面的最大水平运动速度dxmax不大于最大水平视差阈值LH,延迟因数fD的最小值是1。ROUND[]舍入算子。在小量的水平运动情况下,由于下列等式15中的分母的值变小,延迟因数fD的值变大。
需要一存储器存储先前画面。由于存储器的容量有限,fD的最大值是K。该存储器存储K个先前画面,其中,K的幅值基于LH自适应确定。如果延迟因数fD由上述方法确定,用于形成立体图像的先前画面基于延迟因数确定。
如果完成步骤1101,混合水平运动画面产生器560用沿水平方向移动的当前画面Ik和对应于当前画面的延迟的先前画面Ik-fD形成一立体图像。此处,在当前画面是水平运动画面的情况下,最好是,用当前画面和延迟的先前画面形成一立体图像。
同时,在当前画面的运动类型是水平运动画面的情况下,按照当前画面中摄像机和/或物体的运动种类,确定形成立体图像的当前画面和延迟的先前画面自适应地被两个眼睛的哪个眼睛观看。在此,有两种类型的确定当前画面为左画面和右画面中的一种的方法。第一方法是确定当前画面为左画面和先前画面为右画面的方法,以下称为模式“A”。第二方法是确定当前画面为右画面和先前画面为左画面的方法,以下称为模式“B”。当水平运动画面的立体图像形成时,确定模式“A”或模式“B”是很重要的。
按照当前画面中摄像机和/或物体的运动种类确定上述模式“A”或“B”的方法的具体细节将参照图11和12及表2到4描述。
表2
运动种类 | 摄像机运动 | 物体运动 | 左运动 | 右运动 |
(1) | 右 | 没有 | 先前画面 | 当前画面 |
(2) | 左 | 没有 | 当前画面 | 先前画面 |
(3) | 没有 | 右 | 当前画面 | 先前画面 |
(4) | 没有 | 左 | 先前画面 | 当前画面 |
(5) | 右 | 右 | 当前画面 | 先前画面 |
(6) | 右 | 左 | 先前画面 | 当前画面 |
(7) | 左 | 左 | 先前画面 | 当前画面 |
(8) | 左 | 右 | 当前画面 | 先前画面 |
(9) | 右 | 左/右 | 先前画面 | 当前画面 |
(10) | 左 | 左/右 | 先前画面 | 当前画面 |
为了选择模式“A”或模式“B”,首先应该使用当前画面的运动矢量场中运动矢量的水平分量,确定当前画面中摄像机和/或物体的运动种类。当前画面中现存的摄像机和/或物体的移动分成10类运动,如表2所示。在表2中,有按照每个运动种类的摄像机和/或物体的运动方向,以及按照划分的运动种类自适应确定的左画面和右画面。如果按照运动矢量场的分析确定上述十类运动,当前画面和先前画面最终通过左眼/右眼或右眼/左眼显示。
表2的运动种类再主要分成模式“A”和模式“B”。运动种类被划分成模式“A”的情况是(2)摄像机左运动,(3)物体右运动,(5)摄像机右运动和物体右运动,或(8)摄像机左运动和物体右运动。模式“A”的情况示于下列表3中。
运动种类被划分成模式“B”的情况是(1)摄像机右运动,(4)物体左运动,(6)报像机右运动和物体左运动,(7)摄像机左运动和物体左运动,(9)摄像机右运动和物体在左和右运动,或(10)摄像机左运动和物体在左和右运动。模式“B”的情况示于下列表4中。
表3
运动种类 | PDA(第一方向) | SDA(第二方向) | 摄像机运动 | 物体运动 |
(2) | + | + | 左 | 没有 |
(3) | 0 | + | 没有 | 右 |
(5)-b | - | 0 | 右 | 右 |
(5)-c | - | + | 右 | 右 |
(8) | + | + | 左 | 右 |
表4
运动种类 | PDA(第一方向) | SDA(第二方向) | 摄像机运动 | 物体运动 |
(1) | - | - | 右 | 没有 |
(4) | 0 | - | 没有 | 左 |
(6) | - | - | 右 | 左 |
(7)-a | + | - | 左 | 左 |
(7)-b | + | 0 | 左 | 左 |
这样,本发明找出了将画面的运动矢量场分成模式“A”或模式“B”的确定因数。分析按照每个运动种类的运动矢量场。如果物体的运动方向是右,不管摄像机的运动,则无条件地选择模式“A”。如果物体的运动方向是左,不管摄像机的运动,则无条件地选择模式“B”。此外,如果摄像机是在左运动状态,并且物体没有运动状态,选择模式“A”,而如果摄像机是在右运动状态,并且物体没有运动状态,选择模式“B”。
同时,将参照图11的步骤1102到1112和图12描述确定当前画面中摄像机和/或物体的运动种类的具体方法。
在图11的流程图中,如果在步骤1101确定一延迟画面,当前画面划分成主确定区域(PDA)和次确定区域(SDA)(步骤1102)。PDA是从图12所示的总画面区域中不包括内部长方形[τNx,(1-τ)Nx]×[τNy,(1-τ)Ny]的区域。SDA是区域[τNx,(1-τ)Nx]×[τNy,(1-τ)Ny]。τ的值的范围是[0.0,0.5]。PDA确定涉及整个画面移动的摄像机运动,例如背景的移动,并且SDA确定画面中摄像机和/或物体的运动。
确定摄像机运动方向的PDA中宏块的水平运动矢量分量具有负标记、零标记和正标记。在步骤1103中,PDA中每个宏块的水平运动分量按照步骤1103的标记划分。然后,计算负标记数目、零标记数目和正标记数目(步骤1104)。这些数目分别定义为PDA[0]、PDA[1]和PDA[2]。PDA[0]、PDA[1]和PDA[2]中最大数目定义为PDA[i*](步骤1105)。在此,i*∈{0,1,2}。i*是第一方向,它是被确定为‘+’、‘0’和‘-’中之一的要在表3和4中使用的PDA中的运动方向。结果在下面的步骤1112使用。
同时,分析SDA,这样,画面中物体和/或摄像机的运动种类分成仅物体运动、仅摄像机运动和物体和摄像机两者运动。首先,划分包含在SDA中宏块运动矢量的水平分量标记(步骤1106)。然后,计算负标记的数目、零标记数目和正标记数目(步骤1107)。这些数目定义为SDA[0],SDA[1]和SDA[2]。在这些数目中,选择除了对应于PDA[i*]的SDA[i*]以外的两个剩余数目的较大数目,并且定义为SDA[j*](步骤1108)。j*定义为第二方向。此外,选择除了第二方向以外的两个剩余数目的较大数目,并且可定义为第三方向。
在SDA中,摄像机和物体的运动同时存在。这样,研究关于第二方向的精确性。第二方向初始假定为物体运动。在下列步骤中,应该确定第二方向是物体运动方向还是摄像机运动方向。下列方法已经使用。
首先,在SDA中,通过下列等式16计算在第一方向和第二方向中存在的数目的比率γSDA(步骤1111)。
其次,使用下列等式17,计算当水平运动分量在SDA中的水平范围[τNx,(1-τ)Nx]内均匀分布时的平方偏差σU2、相对于包含在第二方向中水平运动分量的画面中水平位置值的平方偏差σSDA 2(在步骤1109中计算)的比率γσ(步骤1110)。
如果在步骤1111中获得的γSDA大于阈值Tγ,在步骤1110中获得的γσ大于1,第二方向不改变,或者,如果不满足上述条件,第二方向可由第三方向代替。如果第二方向指出‘+’(右运动),或第一方向指出‘-’(左运动),并且第二方向指出‘0’(静止状态),基于表3选择模式“A”。在所有其它情况中,基于表4选择模式“B”(步骤1112)。
在水平运动画面的情况下,如果如上所述,在左/右画面确定器150中按照画面中摄像机和/或物体的运动种类确定出模式“A”或模式“B”,当前画面和延迟先前画面显示为适合于双眼的立体图像。
下面将参照图13和14描述图15中所示的混合非水平运动画面产生器540的操作。如果当前画面的运动类型在水平/非水平运动画面确定器510中确定为非水平运动画面,混合非水平运动画面产生器540按照是非水平运动画面的当前画面中摄像机和/或物体的运动种类,自适应产生立体图像。
参照图13,混合非水平运动画面产生器540首先根据上面描述的在水平运动画面情况中的方法,判决是非水平运动画面的当前画面中摄像机和/或物体的运动种类。
在步骤1300,如果是非水平运动画面的当前画面确定为摄像机和物体均移动的画面,图11的步骤1105中获得的第一方向确定为摄像机运动方向(步骤1301),然后提取与摄像机运动方向相对的静止或运动宏块(步骤1302)。然后,相同的正视差值指定给具有摄像机运动方向的宏块,并且零视差指定给其它宏块(步骤1303)。即,当前画面中的宏块具有零视差或某些值的正视差。然后,宏块在水平方向上移动确定的视差值(步骤1309),由此产生混合画面(步骤1310)。
在步骤1300和1304中,如果是非水平运动画面的当前画面确定为摄像机在静止状态并且只有物体移动的画面,相同的正视差值指定给静止宏块,并且零视差指定给运动宏块(步骤1305)。然后,宏块在水平方向上移动确定的视差值(步骤1309),由此产生关于非水平运动画面的混合画面(步骤1310)。
在步骤1300和1304中,如果是非水平运动画面的当前画面确定为物体是在静止状态、而只有摄像机运动的画面,校正标记不同于摄像机的水平运动分量标记的运动矢量(步骤1306)。为了获得精确的运动矢量,使用边缘信息。在步骤1307中,确定宏块的边缘方向,这将参照图14更详细地描述。
1)以与图11的步骤1105相同的方式确定摄像机运动方向是左还是右。在宏块的水平运动矢量分量不同于摄像机运动方向的情况下,校正运动矢量。例如,如果当前画面中任何宏块MB(n1,n2)的运动矢量不同与摄像机运动方向,相应宏块MB(n1,n2)的运动矢量由先前宏块MB(n1-1,n2)的运动矢量代替。MB(n1+1,n2)不使用,因为难以实现。
2)检验在当前画面中的每个宏块中是否存在边缘。此时,使用图14所示的五种方向滤波器。宏块的实际大小是16×16。然而,为了便于解释,假定尺寸为8×8。首先,使用T5检验在该宏块中是否存在边缘。如果该宏块中象素值的平方偏差大于阈值T,边缘存在,否则边缘不存在,如果边缘存在,则分别获得平方偏差T1、T2、T3和T4。具有最小值的滤波器的边缘方向确定为相应宏块的边缘方向。这样,在当前画面中的每个宏块分类成无边缘MB和边缘NB,其中边缘MB具有边缘方向。由于垂直边缘大大影响立体感,在刚好在当前宏块之上的宏块扫描行中存在的三个宏块中,具有边缘方向的边缘宏块用作当前边缘宏块。
3)在摄像机运动中,当前画面与先前画面密切相关。这样,当获得运动视差时,考虑先前宏块的运动矢量。
在步骤1308,运动矢量被转换成视差,并且计算改善的视差值。每个宏块的提取的运动矢量由水平分量和垂直分量组成。运动矢量的垂直分量引起眼睛疲劳,这是因为当观看立体图像时深度感丢失。因此,运动矢量转换成水平视差值,以便去除运动矢量的垂直分量。
运动矢量的视差转换使用下列三种方法。如果获得宏块的运动矢量,使用下列等式18获得运动矢量的模方(norm)dMB,以去除垂直运动分量的影响。
在此,dx和dy是宏块运动矢量的水平和垂直分量。
此外,为了减少运算量,可使用下列等式19。
dMB=MAX(|dx|,|dy|) …(19)
此外,可使用只考虑水平分量的下列等式20。
dMB=|dx| …(20)
在此,等式20可减少运算量。
为了获得负视差,所有宏块在水平方向上向右移动,由此混合左画面。在正视差的情况下,当观看立体图像时,在屏幕上的后侧出现三维(3-D)深度。为了获得正视差的场,使用下列等式21获得实际水平视差。
dMB +=MAX(dMB)-dMB …(21)
在此,MAX(dMB)是预定值,或确定为每个画面中宏块的运动模方的最大值。
最后,在步骤1308通过使用下列等式22可获得使用边缘的改善的视差。
在此,δ是宏块(n1,n2)和宏块(n1-i,n2-1)之间的边缘方向差的加权值。如果边缘方向差的差值是零度,δ值是1,如果前者是45度,后者是1/2,如果前者是90度,后者是0。或者可以不同方法确定δ值。w1和w2是相对于当前画面的宏块(n1,n2)和先前画面的宏块(n1,n2)之间的视差值的加权值,并且随机确定:MBk意指第k个画面的宏块。如果由等式22获得改善的视差值,宏块在水平方向上移动所述视差值(步骤1309)。由此产生非水平运动画面的立体图像的混合画面(步骤1310)。
将参照图15描述图5中所示的混合快速运动画面产生器550的操作,如果当前画面的运动类型在水平/快速运动画面确定器520中确定为快速运动画面,混合快速运动画面产生器550产生对应于快速运动画面的立体图像的混合画面。
参照图15,混合快速运动画面产生器550提取紧邻当前画面的先前画面(步骤1500)。在步骤1504中使用该被提取的先前画面。然后,提取在当前画面的所有宏块中具有大于最大水平视差阈值LH的运动矢量分量的宏块,即快速运动宏块(步骤1501),并且被提取的快速运动宏块的运动矢量分量由LH代替(步骤1502)。然后,相应宏块在水平方向上移动LH的值(步骤1503)。水平移动的宏块和在步骤1500提取的先前画面混合(步骤1504),由此产生用于快速运动画面的立体图像的混合画面。
图5中所示的混合静止画面产生器530的操作将参照图16描述。如果当前画面的运动类型在运动/静止画面确定器500中确定为静止画面,混合静止画面产生器530使用该静止画面中每个预定块的亮度和/或标准偏差,产生用于立体图像的混合图像。
更详细地说,如果是当前画面的静止画面是彩色画面,混合静止画面产生器530首先将当前画面转换成灰度画面(步骤1600),并且将灰度画面划分成N×N块(步骤1610)。然后,计算关于灰度画面中的每块的平均亮度μ和标准偏差σ(步骤1620)。在此,使用下列等式23计算关于每块的平均亮度μ。
在此,N是块大小,f(i,j)是相应象素的灰度值。
此外,关于每个块的标准偏差σ使用下列等式24计算。
如果执行步骤1620,获得关于当前画面中所有块的最小平均亮度μmin,最大平均亮度μmax,最小标准偏差σmin,和最大标准偏差σmax(步骤1630)。
如果完成步骤1620和1630,使用等式25a到25f,获得关于平均亮度μ、标准偏差σ、最小平均亮度μmin、最大平均亮度μmax、最小标准偏差σmin、和最大标准偏差σmax的归一化值(步骤1640)。
在此,σmax N的最大值设定到1.0。当象素值均匀分布在[0,255]时,MAX(σ)范均匀分布的标准偏差,它由下列等式26获得。
然后,使用等式27a和27b,每个块的归一化平均亮度μN和归一化标准偏差σN转换成相应的深度值Dμ和Dσ(步骤1650)。
在此,使用等式28a到等式28d计算A1、B1、A2和B2。
如果完成步骤1650,使用等式29计算包括Dμ和Dσ的深度值D。
D=ω·Dμ+(1-ω)·Dσ ...(29)
在此,D和ω分别具有0.0和1.0之间的值。因此,当相应块的亮度在每个块中较大时,为相应深度值指定较大值。当亮度较暗时,为相应深度值指定较小值。
然后,在步骤1660中获得的深度值D使用下列等式30转换成水平视差值px(步骤1670)。
px=最大水平视差·D ...(30)
如果在步骤1670获得水平视差值px,每个块在水平方向上移动相应水平视差值px,由此产生用于静止画面的立体图像的混合画面(步骤1680)。
图1的左/右画面确定器150从立体图像产生器140接收当前画面和混合画面,将当前画面确定为形成立体图像的左画面和右画面中的一个,并且将混合画面确定为其另一个画面。详细地说,如果接收的当前画面的运动类型是水平运动画面,按照联系表2到4解释的方法,确定模式“A”或模式“B”。在接收的当前画面的运动类型为不是水平运动类型的一种运动类型的情况下,最好是,接收的当前画面确定为左画面,并且混合画面确定为右画面。
图1的先前画面存储器160存储由MPEG解码器(未示出)从编码画面数据再现的先前画面,该先前画面用于如上所述立体图像产生器140中混合画面的产生,并且存储在时间上早于当前画面的K个画面。如果存储一新画面,在先前画面存储器160中最早存储的先前画面消失。
图1的DAC 170和180将从左/右画面确定器150输出的左/右画面数据转换成要存储在显示缓冲器(未示出)中的模拟图像信号。
为了观看通过上述过程在监视器上显示的立体图像,需要一对与立体图像同步的立体眼镜。
另外,作为图1实施例的改进的本发明另一实施例在图17到21中示出。图17实施例通过运动类型再确定器190明显减少时间上连续的立体图像之间的画面抖动或振动。由于图17的单元中标号和符号与图1的单元相同的单元执行与图1单元相同的功能,将略去对其详细描述。
图17所示的运动类型再确定器190基于先前画面运动类型和当前画面运动类型的组合,自适应再确定最初在运动类型确定器130中确定的当前画面的运动类型。立体图像产生器140和左/右画面确定器150根据在运动类型再确定器190中再确定的当前画面的运动类型,分别产生对应于当前画面的立体图像,并且确定左/右画面。
参照图18,图17的运动类型再确定器190首先比较先前画面的运动类型和当前画面的运动类型(步骤1800)。在此,最好是,先前画面是在时间上与当前画面连续的紧邻的先前画面。在此,考虑画面的运动类型分类成静止画面、非水平运动画面和水平运动画面,其中水平运动画面包括在运动类型确定器130中考虑的快速水平运动画面和水平运动画面。
在步骤1800的比较结果中,如果两个画面的运动类型彼此不同,运动类型再确定器190按照不同的运动类型确定算法,再确定当前画面的运动类型(步骤1810)。如果两个画面的运动类型相同,运动类型再确定器190按照相同运动类型确定算法,再确定当前画面的运动类型(步骤1820)。
联系步骤1810,在先前画面和当前画面的运动类型彼此不同的情况下,自适应再确定当前画面的运动类型的方法将参照图19和20详细描述。如上所述,有三种作为在运动类型再确定器190中考虑的画面的运动类型,诸如静止画面、非水平运动画面和水平运动画面。因此,在先前画面的运动类型是静止画面的情况下,当前画面的运动类型变成非水平运动画面或水平运动画面。在此情况下,当前画面的运动类型不校正。在其它两种情况下,用于在运动类型确定器130中确定当前画面的每种运动类型的阈值,按照先前画面和当前画面的运动类型的每种组合,自适应再确定,由此再确定当前画面的运动类型。因此,在先前画面和当前画面之间的相关性相当大的情况下,当前画面的运动类型校正成先前画面的运动类型。结果,当观看立体图像时,时间上连续的立体图像之间的抖动明显减少。
然后,在先前画面的运动类型是非水平运动画面的情况下,当前画面的运动类型变成静止画面或水平运动画面。当前画面的运动类型按照图19所示的算法自适应再确定。
参照图19,如果先前画面的运动类型最初确定为非水平运动画面(步骤1900),并且在运动/静止画面确定器500中当前画面的运动类型最初确定为静止画面(步骤1910),则运动类型再确定器190将按照等式7的当前画面的比率αS的幅值与新调整的阈值“TS+δS”比较(步骤1920)。在此,确定为δS=[0,1-TS]。因此,新调整阈值(TS+δS)与最初确定时的阈值TS比较,适当向上调整。在步骤1920的比较结果中,如果从当前画面获得的αS的幅值不小于向上调整的阈值TS+δS,当前画面的运动类型确定为不可变的(静止画面)(步骤1930)。如果前者小于后者,当前画面运动类型再确定为是先前画面运动类型的非水平运动画面(步骤1940)。
然而,步骤1900和1910中,如果最初确定先前画面的运动类型是非水平运动画面,并且当前画面运动类型是水平运动画面,则运动类型再确定器190将按照等式9的当前画面的比率的αV的幅值与新调整阈值TV-δV比较(步骤1950)。在此,δV=[0,TV]。于是,新调整阈值TV-δV与最初确定的阈值Tv相比,适当向下调整。在步骤1950的比较结果中,如果对应于当前画面的αV的幅值不大于向下调整的阈值TV-δV,当前画面的运动类型确定为不可变的,即,水平运动画面(步骤1930)。如果前者大于后者,当前画面运动类型再确定为是先前画面的运动类型的非水平运动画面(步骤1940)。
因此,在步骤1940中,在当前画面的运动类型再确定为非水平运动画面的情况下,当前画面的运动矢量场由先前画面的运动矢量场代替,并且当前画面中摄像机和/或物体的运动种类由先前画面的运动种类代替。因此,在立体图像产生器140中产生对应于非水平运动画面的立体图像。
然而,在先前画面的运动类型是水平运动画面的情况下,当前画面的运动类型最初变成静止画面或非水平运动画面。当前画面的运动类型按照图20所示的算法自适应再确定。
参照图20,如果确定先前画面的运动类型最初确定为水平运动画面(步骤2000),并且在运动/静止画面确定器500中当前画面的运动类型最初确定为静止画面(步骤2010),运动类型再确定器190将按照等式7的当前画面的比率αS的幅值与新调整阈值TS+δS比与较(步骤2020)。在此,δS=[0,1-TS]。于是,新调整阈值TS+δS与最初确定的阈值TS相比适当向上调整。在步骤2020的比较结果中,如果对应于当前画面的αS的幅值不小于向上调整的阈值TS+δS,当前画面的运动类型确定为不可变的,即静止运动画面(步骤2030)。如果前者小于后者,当前画面的运动类型再确定为是先前画面运动类型的水平运动画面(步骤2040)。
然而,在步骤2000和2010中,如果最初确定先前画面的运动类型是水平运动画面,并且当前画面的运动类型是非水平运动画面,在运动类型再确定器190将按照等式9的当前画面的比率αV的幅值与新调整阈值TV+δV比较(步骤2050)。在此,δV=[0,TV]。于是,新调整阈值TV+δV与最初确定的阈值TV相比适当向上调整。在步骤2050的比较结果中,如果对应于当前画面的αV的幅值不小于向上调整的阈值TV+δV,当前画面的运动类型确定为不可变的,即,非水平运动画面(步骤2030)。如果前者小于后者,当前画面运动类型再确定为是先前画面的运动类型的水平运动画面(步骤2040)。
因此,在步骤2040中,在当前画面的运动类型再确定为水平运动画面的情况下,当前画面的延迟因数fd由先前画面的延迟因数fd代替,并且当前画面的模式“A”或“B”由先前画面的模式代替。因此,在立体图像产生器140中选择对应于被代替的延迟因数fd的先前画面,并且按照被代替的模式,在左/右画面确定器中确定立体图像的显示。
图21简单示出了在先前画面和当前画面的运动类型彼此相同的情况下,再确定当前画面的运动类型的方法。参照图21,如果先前和当前画面的运动类型均为静止画面(步骤2100),当前画面的运动类型是不可变的,为静止画面(步骤2110)。
然而,如果先前和当前画面的运动类型最初均为非水平运动画面(步骤2120),运动类型再确定器190再确定在是当前画面的非水平运动画面中摄像机和/或物体的运动种类(步骤2130)。在非水平运动画面中有三种运动种类,诸如摄像机和物体均移动、只有物体移动、只有摄像机移动的情况。再确定非水平运动画面中摄像机和/或物体的运动种类的方法将参照图12中所示的PDA和SDA描述。在PDA中,按照下列等式31计算如下一个值。
在此,m≠n≠L。在PDA[0]、PDA[1]和PDA[2]中,最大数确定为PDA[L]。取剩余的两个数PDA[m]和PDA[n]中较大数计算等式31。然后,如果按照等式31计算的比率γPDA值小于阈值TPDA,L的上述值由先前画面的L值代替。在此,TPDA=[0.0,1.0]。
正如在PDA中,SDA按照下列等式32计算如下一个值。
在此,q≠r≠p。在SDA[0]、SDA[1]和SDA[2]中,最大数确定为SDA[p]。取剩余的两个数SDA[q]和SDA[r]中较大数计算等式32。然后,如果按照等式32计算的比率γSDA值小于阈值TSDA,p的上述值由先前画面的p值代替。在此,TSDA=[0.0,1.0]。
使用由上述方法获得的L和p的值,运动类型再确定器190再确定在是当前画面的非水平运动画面中摄像机和/或物体的运动种类。再确定的运动种类用来在立体图像产生器140中产生对应于是当前画面的非水平运动画面的立体图像。
在图21的流程图中,如果先前画面和当前画面的运动类型最初均为水平运动画面(步骤2140),运动类型再确定器190再确定延迟因数或模式“A”或模式“B”,它们用于对应于水平运动画面的立体图像的产生和显示模式确定。
首先,为了再确定是当前画面的水平运动画面中摄像机和/或物体的运动种类,获得如步骤2130中的L和p值。L和p的获得值应用到表2到4,以确定模式“A”或“B”。所确定的模式用于对应于左/右画面确定器150中水平运动画面的立体图像的显示。
同时,为了抑制在先前画面和当前画面之间延迟因数的突然变化,考虑先前画面和当前画面的两个延迟因数,使用等式33或34来获得延迟因数fd,该延迟因数fd用来产生是水平运动画面的当前画面的立体图像。
在等式33和34中,使用等式11获得最大水平视差阈值LH。项dxmax(k)是当前画面的最大水平运动速度,项dxmax(k-1)是先前画面的最大水平运动速度。加权值ω和(1-ω)被适当确定。
因此,当前画面的运动类型由运动类型再确定器190按照先前画面和当前画面的每种运动类型的组合,自适应再确定,并且通过根据再确定的结果产生立体图像和确定左/右画面,可明显减少时间上连续的立体图像的抖动。
同时,MPEG解码器将编码位流再现成为先前压缩的原始图像,并且将结果提供给先前画面存储器160。由于MPEG解码器的详细结构和操作对于本领域技术人员是显而易见的,将略去对其详细描述。
此外,按照本发明的图1和17的实施例应用到MPEG标准的编码图像数据。然而,对于本领域技术人员是显而易见的,本发明可应用到以不同于MPEG标准的编码方法编码的图像数据。
对于本领域技术人员也是显而易见的是,在本发明中提出的用于产生相对于各种运动类型的画面自适应稳定的立体图像的方法和装置可应用到NTSC/PAL/SECAM的模拟图像信号和MPEG编码数据。
如上所述,按照本发明的立体图像产生方法和装置确定画面的运动类型为静止画面、非水平运动画面、水平运动画面和快速运动画面,并且在每种运动类型的确定画面中产生最优立体图像,由此使得即使对于各种运动类型也能够观看自然和稳定的立体图像。此外,本发明能够从MPEG编码数据中有效产生立体图像,由此大大简化了产生立体图像的算法和硬件的复杂性。
本发明可应用到采用MPEG标准的MPEG-2HDTV、MPEG-2DVD播放器、MPEG-1视频CD,并且可应用到用于按照不采用MPEG标准的NTSC/PAL/SECAM广播方法的图像信号的TV和VCR。本发明也可适用于大大改善诊断效率的医疗可视***。
然而,在本发明的技术范围中可能存在各种修改或变化,这对于很好理解技术概念和优选实施例的本领域技术人员是显而易见的。
Claims (38)
1、一种从图像数据产生立体图像的立体图像产生方法,该方法包括下列步骤:
(a)使用按照图像数据的每个画面中的运动矢量,将当前画面的运动类型确定为静止画面、非水平运动画面、水平运动画面和快速运动画面中的一种;
(b)使用根据所述图像数据的先前画面和所述确定的运动类型,产生对应于当前画面的混合画面,并且输出所述当前画面和所述混合画面;和
(c)接收所述输出的当前画面和所述混合画面,并且按照在步骤(a)确定的所述运动类型,将所述当前画面确定为形成立体图像的左画面和右画面中的一个,并且将所述混合画面确定为另一个。
2、如权利要求1所述的立体图像产生方法,其中,所述步骤(a)包括步骤:根据在当前画面的全部宏块中、由具有对应于所述每个运动类型的运动特性的宏块占据的比率,确定当前画面的运动类型。
3、如权利要求1所述的立体图像产生方法,其中,所述步骤(b)至少使用下列方法的一种:
第一方法,如果在步骤(a)中当前画面的运动类型确定为静止画面,基于当前画面中每个预定块的亮度和/或其标准偏差,分配彼此不同的深度信息,将分配的深度信息转换成水平视差,并且产生所述混合画面;
第二方法,如果在步骤(a)中当前画面的运动类型确定为非水平运动画面,自适应于当前画面中的摄像机和/或物体的运动种类,产生所述混合画面;
第三方法,如果在步骤(a)中当前画面的运动类型确定为快速运动画面,由最大水平视差阀值代替当前画面中快速宏块的运动矢量,并且产生所述混合画面;和
第四方法,如果在步骤(a)中当前画面的运动类型确定为水平运动画面,根据最大水平视差阈值和当前画面中运动矢量的预定水平运动速度,产生先前画面作为混合画面。
4、如权利要求1所述的立体图像产生方法,其中,所述步骤(c)包括下列步骤:
在确定的当前画面的运动类型不是水平运动画面的运动类型情况下,选择第一模式;和
在确定的当前画面的运动类型是水平运动画面的情况下,按照在水平运动的当前画面中摄像机和/或物体的运动种类,自适应选择第一模式和第二模式中的一种,
其中,所述第一模式是当前画面确定为左画面、并且相应混合画面确定为右画面的立体图像显示模式,所述第二模式是当前画面确定为右画面、相应混合画面确定为左画面的立体图像显示模式。
5、如权利要求1所述的立体图像产生方法,其中,所述步骤(a)还包括步骤:根据当前画面和先前画面的每种运动类型的组合,自适应再确定被确定的当前画面的运动类型,以便大大减少时间上连续的立体图像之间的画面抖动。
6、一种使用包含I、B和P画面的MPEG编码数据来产生立体图像的立体图像产生方法,该方法包括下列步骤:
(a)接收所述画面数据,并且产生和存储对应于该画面中的宏块的运动矢量;
(b)存储K个从所述编码画面数据中再现的画面;
(c)使用在步骤(a)中获得的所述运动矢量,将对应于当前画面的运动类型确定为静止画面、非水平运动画面、水平运动画面和快速运动画面中的一种;
(d)使用在步骤(b)存储的先前画面和在步骤(c)确定的所述运动类型,产生对应于所述当前画面的混合画面,并且输出所述当前画面和所述混合画面;和
(e)接收从步骤(d)输出的所述当前画面和所述混合画面,并且将所述当前画面确定为形成立体图像的左画面和右画面中的一个,将所述混合画面确定为另一个。
7、如权利要求6所述的立体图像产生方法,其中,所述步骤(a)包括步骤:分析包含所述画面数据的位流,提取I、B和P画面的数据,并且使用提取的I、B和P画面,提取和产生每个画面的宏块的运动矢量,由此,形成相应画面的运动矢量场。
8、如权利要求7所述的立体图像产生方法,其中,所述步骤(a)包括步骤:在所述提取的画面数据是B画面数据的情况下,为每个宏块提取包含在画面数据中的运动矢量,考虑在预测编码时采用的画面间隔M缩放提取结果,将内插方法应用到没有运动矢量的宏块,以获得相应宏块的运动矢量,并且用缩放的运动矢量和内插的运动矢量形成B画面的运动矢量场。
9、如权利要求7所述的立体图像产生方法,其中,所述步骤(a)包括步骤:在所述提取的画面数据是P画面数据的情况下,为每个宏块提取包含在画面数据中的运动矢量,考虑在I/P画面与当预测编码时采用的P画面之间的画面间隔M缩放提取结果,将内插方法应用到没有运动矢量的宏块,以获得相应宏块的运动矢量,并且用缩放的运动矢量和内插的运动矢量形成P画面的运动矢量场。
10、如权利要求7所述的立体图像产生方法,其中,所述步骤(a)包括步骤:在所述提取的画面数据是I画面数据的情况下,使用在I画面之前的后向预测的B画面的至少一个运动矢量,形成I画面的运动矢量。
11、如权利要求10所述的立体图像产生方法,其中,通过使用对应于I画面中的每个宏块的B画面中宏块的运动矢量,获得I画面的运动矢量,并且通过使用第一方法、第二方法和第三方法中的一种方法获得I画面的所述运动矢量,所述第一方法考虑对应于B画面的宏块的运动矢量和所述运动矢量的整个方向,所述第二方法只考虑对应于B画面的宏块的运动矢量,所述第三方法只考虑对应于B画面的宏块的一区域。
12、如权利要求6所述的立体图像产生方法,其中,所述步骤(c)包括步骤:根据在当前画面全部宏块中、由具有对应于每种运动类型的运动特性的宏块占据的比率,确定当前画面的运动类型。
13、如权利要求12所述的立体图像产生方法,其中,所述步骤(c)包括步骤:根据在当前画面的全部宏块中、由静止宏块占据的比率,将当前画面的运动类型确定为静止画面和运动画面的一种,
根据在当前画面的全部宏块中、由基于最大垂直会聚阈值角和最大垂直视差阈值的非水平宏块占据的比率,将当前画面的运动类型确定为非水平运动画面和水平运动画面中的一种,
根据在当前画面的全部宏块中、由基于最大水平视差阈值的快速运动宏块占据的比率,将当前画面的运动类型确定为快速运动画面和水平运动画面中的一种。
14、如权利要求6所述的立体图像产生方法,其中,所述步骤(d)包括步骤:如果在步骤(c)中当前画面的运动类型确定为静止画面,基于当前画面中每个预定块的亮度和/或其标准偏差,分配彼此不同的深度信息,将分配的深度信息转换成水平视差,并且产生混合画面。
15、如权利要求6所述的立体图像产生方法,其中,如果在步骤(c)中当前画面的运动类型确定为非水平运动画面,所述步骤(d)包括步骤:在摄像机和物体二者在当前画面中移动的情况下,在运动方向与摄像机运动方向相同的宏块和运动方向与摄像机运动方向不相同的宏块之间,分配彼此不同的视差值,并且产生混合画面;
所述步骤(d)包括步骤:在只有物体在当前画面中移动的情况下,在运动宏块和静止宏块之间分配彼此不同的视差值,并且产生混合画面;和
所述步骤(d)包括步骤:在只有摄像机在当前画面中移动的情况下,通过使用按照当前宏块边缘特性的***边缘宏块的至少一个运动矢量和先前画面宏块的运动矢量,获得对应于当前宏块的视差值,并且产生混合画面。
16、如权利要求6所述的立体图像产生方法,其中,所述步骤(d)包括步骤:如果在步骤(c)中当前画面的运动类型确定为快速运动画面,将当前画面中快速运动宏块的运动矢量转换成最大水平视差阀值,以便将所述宏块移动最大水平视差阀值,将水平移动的宏块与紧邻的先前画面混合,由此产生混合画面。
17、如权利要求6所述的立体图像产生方法,其中,所述步骤(d)包括步骤:如果在步骤(c)中将当前画面的运动类型确定为水平运动画面,基于当前画面中运动矢量的最大水平视差阈值、平均水平运动速度或最大水平运动速度,产生先前画面作为混合画面;并且其中,如果当前画面中水平运动速度相对快,选择时间上接近的先前画面,而如果当前画面中水平运动速度相对慢,选择时间上远离的先前画面。
18、如权利要求6所述的立体图像产生方法,其中,所述步骤(e)包括下列步骤:
在所述步骤(c)中确定当前画面的运动类型不是水平运动画面的运动类型情况下,选择第一模式;和
在所述步骤(c)中确定当前画面的运动类型确定是水平运动画面的情况下,按照当前画面中摄像机和/或物体的运动种类,自适应选择第一模式和第二模式中的一种,
其中,所述第一模式是当前画面确定为左画面、并且相应混合画面确定为右画面的立体图像显示模式,所述第二模式是当前画面确定为右画面、相应混合画面确定为左画面的立体图像显示模式。
19、如权利要求18所述的立体图像产生方法,其中,如果所述当前画面的运动类型是水平运动画面,分析当前画面的运动矢量场,以便在当前画面中只有摄像机向左移动、只有物体向右移动、摄像机和物体均向右移动、或摄像机向左移动并且物体向右移动的情况下,选择所述第一模式,在当前画面中只有摄像机向右移动、只有物体向左移动、摄像机向右移动和物体向左移动、摄像机和物体均向左移动、摄像机向右移动和物体向左和右移动,或摄像机向左移动和物体向左和右移动的情况下,选择所述第二模式。
20、如权利要求18所述的立体图像产生方法,其中,如果所述当前画面的运动类型是水平运动画面,将当前画面对分成是边缘区域的第一区域和是中央区域的第二区域,并且基于属于第一和第二区域中每个区域的每个水平运动矢量方向和宏块、宏块的数目和分布,确定当前画面中摄像机和/或物体的运动种类。
21、如权利要求6所述的立体图像产生方法,还包括步骤:基于当前画面和先前画面的每种运动类型的组合,自适应再确定已被确定的当前画面的运动类型,以便显著减少时间上连续的立体图像之间的画面抖动。
22、如权利要求21所述的立体图像产生方法,其中,在运动类型再确定步骤中考虑的画面的运动类型分类成静止画面、非水平运动画面和水平运动画面,其中所述水平运动画面包括在初始确定中考虑的快速运动画面和水平运动画面,并且如果先前画面的运动类型是静止画面,不管当前画面的运动类型如何初始确定的运动类型都不改变。
23、如权利要求22所述的立体图像产生方法,其中,所述运动类型再确定步骤包括步骤:如果先前画面和当前画面的运动类型彼此不同,按照当前画面和先前画面的每种运动类型的组合,自适应再调整在当前画面的运动类型的初始确定时使用的阈值,并且再确定当前画面的运动类型。
24、如权利要求22所述的立体图像产生方法,其中,如果先前画面的运动类型和当前画面相同,
在先前画面和当前画面的运动类型均是非水平运动画面的情况下,所述运动类型再确定步骤包括步骤:再确定在该非水平运动画面中摄像机和/或物体的运动种类,并根据再确定结果产生相应的立体图像;和
在先前画面和当前画面的运动类型均是水平运动画面的情况下,利用先前和当前画面二者的水平运动速度,确定对应于混合画面的先前画面,再确定当前画面中摄像机和/或物体的运动种类,并且基于所述再确定结果确定立体图像显示模式。
25、一种从图像数据产生立体图像的立体图像产生装置,该装置包括:
运动类型确定器,使用按照图像数据的每个画面中的运动矢量,将当前画面的运动类型确定为静止画面、非水平运动画面、水平运动画面和快速运动画面中的一种;
立体图像产生器,使用根据所述图像数据的先前画面和所述确定的运动类型,产生对应于当前画面的混合画面,并且输出所述当前画面和所述混合画面;和
左和右画面确定器,接收从所述立体图像产生器输出的当前画面和混合画面,并且按照在运动类型确定器中确定的所述运动类型,将所述当前画面确定为形成立体图像的左画面和右画面中的一个,并且将所述混合画面确定为另一个。
26、如权利要求25所述的立体图像产生装置,其中,所述运动类型确定器根据在当前画面的全部宏块中、由具有对应于所述每种运动类型的运动特性的宏块占据的比率,确定当前画面的运动类型。
27、如权利要求25所述的立体图像产生装置,其中,所述立体图像产生器至少包括混合静止画面产生器、混合非水平运动画面产生器、混合快速运动画面产生器和混合水平运动画面产生器中的一种;
如果在所述运动类型确定器中将当前画面的运动类型确定为静止画面,所述混合静止画面产生器基于当前画面中每个预定块的亮度和/或其标准偏差,分配彼此不同的深度信息,将分配的深度信息转换成水平视差,并且产生混合画面;
如果在所述运动类型确定器中将当前画面的运动类型确定为非水平运动画面,所述混合非水平运动画面产生器在摄像机和物体均在当前画面中移动的情况下,在运动方向与摄像机运动方向相同的宏块和运动方向与摄像机运动方向不相同的宏块之间,分配彼此不同的视差值,并且产生混合画面,在只有物体在当前画面中移动的情况下,在运动宏块和静止宏块之间分配彼此不同的视差值,并且产生混合画面,在只有摄像机在当前画面中移动的情况下,使用按照当前宏块边缘特性的***边缘宏块的至少一个运动矢量和先前画面宏块的运动矢量,获得对应于当前宏块的视差值,并且产生混合画面;
如果在所述运动类型确定器中将当前画面的运动类型确定为快速运动画面,所述混合快速运动画面产生器将当前画面中快速运动宏块的运动矢量转换成最大水平视差阀值,以便将所述宏块移动最大水平视差阀值,并且将水平移动的宏块与紧邻的先前画面混合,由此产生混合画面;以及
如果在所述运动类型确定器中将当前画面的运动类型确定为水平运动画面,所述混合水平运动画面产生器根据当前画面中运动矢量的最大水平视差阈值和预定水平运动速度值,产生先前画面作为混合画面。
28、如权利要求25所述的立体图像产生装置,其中,所述左和右画面确定器包括下列步骤:
在所述运动类型确定器中确定当前画面的运动类型不是水平运动画面的运动类型的情况下,选择第一模式;和
在所述运动类型确定器中确定当前画面的运动类型是水平运动画面的情况下,按照当前画面中摄像机和/或物体的运动种类,自适应选择第一模式和第二模式中的一种,
其中,所述第一模式是当前画面确定为左画面、并且相应混合画面确定为右画面的立体图像显示模式,所述第二模式是当前画面确定为右画面、相应混合画面确定为左画面的立体图像显示模式。
29、如权利要求25所述的立体图像产生装置,还包括运动类型再确定器,基于当前画面和先前画面的每种运动类型的组合,自适应再确定在所述运动类型确定器中确定的当前画面的运动类型,以便显著减少时间上连续的立体图像之间的画面抖动,其中当前画面的再确定运动类型用于相应立体图像的产生和/或左和右画面的确定。
30、如权利要求25所述的立体图像产生装置,其中,所述立体图像产生器至少包括混合静止画面产生器、混合非水平运动画面产生器、混合快速运动画面产生器和混合水平运动画面产生器中的一种,
如果在所述运动类型确定器中将当前画面的运动类型确定为静止画面,所述混合静止画面产生器基于当前画面中每个预定块的亮度和/或其标准偏差,分配彼此不同的深度信息,将分配的深度信息转换成水平视差,并且产生对应于静止画面的混合画面;
如果在所述运动类型确定器中将当前画面的运动类型确定为非水平运动画面,所述混合非水平运动画面产生器在摄像机和物体均在当前画面中移动的情况下,在运动方向与摄像机运动方向相同的宏块和运动方向与摄像机运动方向不相同的宏块之间,分配彼此不同的视差值,并且产生混合画面,在只有物体在当前画面中移动的情况下,在运动宏块和静止宏块之间分配彼此不同的视差值,并且产生混合画面,在只有摄像机在当前画面中移动的情况下,使用按照当前宏块边缘特性的***边缘宏块的至少一个运动矢量和先前画面宏块的运动矢量,获得对应于当前宏块的视差值,并且产生对应于非水平运动画面的混合画面;
如果在所述运动类型确定器中将当前画面的运动类型确定为快速运动画面,所述混合快速运动画面产生器将当前画面中快速运动宏块的运动矢量转换成最大水平视差阀值,以便所述宏块移动最大水平视差阀值,并且将水平移动的所述宏块与紧邻的先前画面混合,由此产生对应于快速运动画面的混合画面;以及
如果在所述运动类型确定器中将当前画面的运动类型确定为水平运动画面,所述混合水平运动画面产生器根据当前画面中运动矢量的最大水平视差阈值和预定水平运动速度值,产生先前画面作为对应于水平运动画面的混合画面。
31、一种使用包含I、B和P画面的MPEG编码数据来产生立体图像的立体图像产生装置,所述装置包括:
运动矢量产生和存储单元,接收所述编码的画面数据,并且产生和存储对应于该画面中的宏块的运动矢量;
画面存储单元,存储K个从所述编码画面数据中再现的画面;
运动类型确定器,使用在所述运动矢量产生和存储单元中产生的、对应于当前画面的运动矢量,将对应于当前画面的运动类型确定为静止画面、非水平运动画面、水平运动画面和快速运动画面中的一种;
立体图像产生器,使用在画面存储单元中存储的先前画面和在所述运动类型确定器中确定的所述运动类型,产生对应于所述当前画面的混合画面,并且输出所述当前画面和所述混合画面;和
左和右画面确定器,接收从所述立体图像产生器输出的所述当前画面和所述混合画面,并且将所述当前画面确定为形成立体图像的左画面和右画面中的一个,将所述混合画面确定为另一个。
32、如权利要求31所述的立体图像产生装置,其中,所述运动矢量产生和存储单元包括:
画面提取器,用于从所述MPEG编码数据中提取I、B和P画面的数据;
B画面运动矢量产生器,用于从所述画面提取器的B画面编码数据中提取和产生B画面的每个宏块的运动矢量;
P画面运动矢量产生器,用于从所述画面提取器的P画面编码数据中提取和产生P画面的每个宏块的运动矢量;
I画面运动矢量产生器,用于使用所述B画面运动矢量产生器中产生的B画面运动矢量来产生I画面运动矢量;以及
运动矢量场形成器,用于对应于分别从所述B画面运动矢量产生器、所述P画面运动矢量产生器和所述I画面运动矢量产生器中输入的运动矢量,形成每个画面的运动矢量场。
33、如权利要求31所述的立体图像产生装置,其中,所述运动类型确定器根据当前画面的全部宏块中、由具有对应于所述每种运动类型的运动特性的宏块占据的比率,确定当前画面的运动类型。
34、如权利要求33所述的立体图像产生装置,其中,所述运动类型确定器至少包括运动/静止画面确定器、水平/非水平运动画面确定器和水平/快速运动画面确定器中的一种;
所述运动/静止画面确定器根据当前画面的全部宏块中、由静止宏块占据的比率,将当前画面的运动类型确定为静止画面和运动画面中的一种;
所述水平/非水平运动画面确定器根据当前画面的全部宏块中、由基于最大垂直会聚阈值角和最大垂直视差阈值的非水平宏块占据的比率,将当前画面的运动类型确定为非水平运动画面和水平运动画面中的一种;和
所述水平/快速运动画面确定器根据当前画面的全部宏块中、由基于最大水平视差阈值的快速运动宏块占据的比率,将当前画面的运动类型确定为快速运动画面和水平运动画面中的一种。
35、如权利要求31所述的立体图像产生装置,其中,所述立体图像产生器至少包括混合静止画面产生器、混合非水平运动画面产生器、混合快速运动画面产生器和混合水平运动画面产生器中的一种;
如果在所述运动类型确定器中将当前画面的运动类型确定为静止画面,所述混合静止画面产生器基于当前画面中每个预定块的亮度和/或其标准偏差,分配彼此不同的深度信息,将分配的深度信息转换成水平视差,并且产生混合画面,
如果在所述运动类型确定器中将当前画面的运动类型确定为非水平运动画面,所述混合非水平运动画面产生器在摄像机和物体均在当前画面中移动的情况下,在运动方向与摄像机运动方向相同的宏块和运动方向与摄像机运动方向不相同的宏块之间,分配彼此不同的视差值,并且产生混合画面,在只有物体在当前画面中移动的情况下,在运动宏块和静止宏块之间分配彼此不同的视差值,并且产生混合画面,在只有摄像机在当前画面中移动的情况下,使用按照当前宏块边缘特性的***边缘宏块的至少一个运动矢量和先前画面宏块的运动矢量,获得对应于当前宏块的视差值,并且产生混合画面,
如果在所述运动类型确定器中将当前画面的运动类型确定为快速运动画面,所述混合快速运动画面产生器将当前画面中快速运动宏块的运动矢量转换成最大水平视差阀值,以便所述宏块移动最大水平视差阀值,并且将水平移动的宏块与紧邻的先前画面混合,由此产生混合画面;以及
如果在所述运动类型确定器中将当前画面的运动类型确定为水平运动画面,所述混合水平运动画面产生器根据当前画面中运动矢量的最大水平视差阈值和预定水平运动速度值,产生先前画面作为混合画面。
36、如权利要求31所述的立体图像产生装置,其中,所述左和右画面确定器在所述运动类型确定器中确定当前画面的运动类型不是水平运动画面的运动类型情况下,选择第一模式,在所述运动类型确定器中确定当前画面的运动类型是水平运动画面的情况下,按照当前画面中摄像机和/或物体的运动种类,自适应选择第一模式和第二模式中的一种,其中,所述第一模式是当前画面确定为左画面、并且相应混合画面确定为右画面的立体图像显示模式,所述第二模式是当前画面确定为右画面、相应混合画面确定为左画面的立体图像显示模式。
37、如权利要求31所述的立体图像产生装置,还包括运动类型再确定器,基于当前画面和先前画面的每种运动类型的组合,自适应再确定在所述运动类型确定器中已确定的当前画面的运动类型,以便显著减少时间上连续的立体图像之间的画面抖动,其中当前画面的再确定运动类型用于相应立体图像的产生和/或左和右画面的确定。
38、如权利要求37所述的立体图像产生装置,其中,如果先前画面的运动类型是静止画面,所述运动类型再确定器不改变当前画面的运动类型;
如果先前画面和当前画面的运动类型彼此不同,所述运动类型再确定器按照所述当前画面和所述先前画面的每种运动类型的组合,自适应再调整在当前画面的运动类型初始确定时使用的阈值,并且再确定当前画面的运动类型;和
如果先前画面和当前画面的运动类型相同,所述运动类型再确定器再确定在非水平运动画面或水平运动画面中摄像机和/或物体的运动种类,并且利用先前和当前画面二者的水平运动速度,确定对应于水平运动画面的先前画面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 00104048 CN1236628C (zh) | 2000-03-14 | 2000-03-14 | 产生立体图像的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 00104048 CN1236628C (zh) | 2000-03-14 | 2000-03-14 | 产生立体图像的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1313712A CN1313712A (zh) | 2001-09-19 |
CN1236628C true CN1236628C (zh) | 2006-01-11 |
Family
ID=4577193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 00104048 Expired - Fee Related CN1236628C (zh) | 2000-03-14 | 2000-03-14 | 产生立体图像的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1236628C (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050259147A1 (en) * | 2002-07-16 | 2005-11-24 | Nam Jeho | Apparatus and method for adapting 2d and 3d stereoscopic video signal |
JP4324435B2 (ja) * | 2003-04-18 | 2009-09-02 | 三洋電機株式会社 | 立体視用映像提供方法及び立体映像表示装置 |
WO2010087955A1 (en) | 2009-01-30 | 2010-08-05 | Thomson Licensing | Coding of depth maps |
US8395709B2 (en) * | 2009-03-04 | 2013-03-12 | ATI Technology ULC | 3D video processing |
US8537200B2 (en) * | 2009-10-23 | 2013-09-17 | Qualcomm Incorporated | Depth map generation techniques for conversion of 2D video data to 3D video data |
JP2011109398A (ja) | 2009-11-17 | 2011-06-02 | Sony Corp | 画像送信方法、画像受信方法、画像送信装置、画像受信装置及び画像伝送システム |
EP2429199B1 (en) * | 2010-09-13 | 2018-02-21 | LG Electronics Inc. | Image display apparatus and method for operating the same |
CN102006493A (zh) * | 2010-11-26 | 2011-04-06 | 北京新岸线网络技术有限公司 | 一种3d视频图像的视差调节方法及装置 |
US9470778B2 (en) * | 2011-03-29 | 2016-10-18 | Microsoft Technology Licensing, Llc | Learning from high quality depth measurements |
CN103024591B (zh) * | 2012-12-26 | 2017-11-10 | 新奥特(北京)视频技术有限公司 | 一种3d视差的调节方法和装置 |
CN107710756B (zh) * | 2015-06-24 | 2021-01-19 | 索尼奥林巴斯医疗解决方案公司 | 医用立体观察装置、医用立体观察方法以及程序 |
-
2000
- 2000-03-14 CN CN 00104048 patent/CN1236628C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1313712A (zh) | 2001-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1110198C (zh) | 视频格式转换装置和方法 | |
CN1076932C (zh) | 图像信号编码和解码的方法与装置 | |
CN1193620C (zh) | 视频编码器的运动估计方法及*** | |
CN1178509C (zh) | 图像编码器、图像解码器、和图像处理器及其方法 | |
CN1135850C (zh) | 运动图象编码装置及运动图象译码装置 | |
CN1173296C (zh) | 改进的图像转换和编码技术 | |
CN1224271C (zh) | 图像编码译码装置 | |
CN100352270C (zh) | 一种支持多源流媒体的同步播放控制方法 | |
CN1194550C (zh) | 通过直接离散余弦变换映射改变分辨率的设备和方法 | |
CN1134165C (zh) | 运动图形处理方法和设备以及恢复信号产生方法和设备 | |
CN1203679C (zh) | 用于自动转码编码的视频图象数据的方法和设备 | |
CN1278349A (zh) | 图像处理方法和装置 | |
CN1832575A (zh) | 视频编码/解码方法和设备 | |
CN1682539A (zh) | 用于适配2d和3d立体视频信号的装置和方法 | |
CN1537384A (zh) | 用于子像素值内插的方法 | |
CN1195374C (zh) | 图像信号处理装置 | |
CN1236628C (zh) | 产生立体图像的方法和装置 | |
CN1774937A (zh) | 三维图像生成装置、三维图像再现装置、三维图像处理装置、三维图像处理程序及记录该程序的记录介质 | |
CN1288914C (zh) | 图象编码与解码方法以及对应的装置和应用 | |
CN1941913A (zh) | 用于跳跃图像的方法和设备 | |
CN1211372A (zh) | 图像编码设备和图像解码设备 | |
CN1806447A (zh) | 图像编码装置、图像解码装置、图像编码方法、图像解码方法、图像编码程序、图像解码程序、记录图像编码程序的记录媒体、记录图像解码程序的记录媒体 | |
CN1742488A (zh) | 用于编码和解码立体视频的方法和装置 | |
CN1816154A (zh) | 用于运动估计的方法和装置 | |
CN1697526A (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: 20060111 Termination date: 20110314 |