在视窗中显示立体动画的设备及方法

文档序号:7958665阅读:208来源:国知局
专利名称:在视窗中显示立体动画的设备及方法
技术领域
本发明关于一种显示立体动画的设备及方法,特别是关于一种利用双缓冲结构(Double-buffered Architecture)及Bitblt(位块转换,Bit BlockTransfer)方式在视窗中显示立体动画的设备及方法。
背景技术
人类之所以拥有立体的视觉,是因为人类的双眼可以各自独立观察外界的景物,即左眼看到左眼的景物,右眼看到右眼的景物,两个者之间有着角度上的差距,而后再经过大脑的自然融合,即可于大脑中呈现立体的景物。
3D立体图像的产生即利用相同的原理。由于显示装置所显示的画面为平面图像,但如欲生成立体视觉,必须要让左、右眼所看的图像各自独立,所以其解决方式为将左、右眼的图像交替显示在显示装置上,配合同步快门观看器(Synchronized Shutter Viewer)(如液晶立体眼镜,LC shutterglasses),左、右交替引导左、右眼的图像进入相对应的眼睛,使左眼只能看到左眼的图像,而右眼只能看到右眼的图像。详细地说,即当屏幕显示左眼的图像时,遮蔽右眼;相反的,当屏幕显示右眼的图像时,即遮蔽左眼。如此周而复始,以快于人类视觉暂留的速度进行交替显示,即可使观看者产生3D立体视觉。
请参考图5与图6,一种公知的3D图像技术在显示卡的视频存储器中,提供两个个全屏幕大小的存储区块51与52,其分别存放左眼图像数据与右眼图像数据。显示装置所显示的画面,交替对应到存放左眼图像与右眼图像的存储区块,即,存储区块51与52的其中之一。图5所示者为显示装置所显示的画面对应到存储区块51,以显示左眼图像数据的状况,图6所示者为显示装置所显示的画面对应到存储区块52,以显示右眼图像数据的状况。当显示不同画面时,一同步快门观看器2需同步地进行切换动作,让左眼图像数据的图像只映入使用者的左眼,右眼图像数据的图像只映入使用者的右眼。
若以上述技术来播放3D立体动画,除了必需考虑计算机软硬件对于动画中各个帧(frame)的绘图或解码速度必需足够快,以及交替显示左、右眼图像数据与帧更新的配合问题之外,尚需解决在视窗环境下播放3D立体动画的问题。由于在上述的公知技术中,显示装置所显示的画面随时会对应到视频存储器中的不同区块,所以在播放3D立体动画时,屏幕上不能有其它的视窗或图像等存在,动画的每个帧的大小必须都是全屏幕画面。
仅能全屏幕显示的限制在于无法交叉搭配使用其他应用软件或目的的使用,举例而言,利用计算机辅助设计研究开发改良新型汽车,其作法为使用3D立体动画模拟车辆行驶的过程,工程师仅能在模拟前输入各项参数,开始模拟,与此同时由计算机记录各项呈现数值,在模拟完毕后,再由工程师使用分析软件分析并调整参数重新模拟;如果在监控一开启在视窗中的3D立体动画模拟的同时,可以同步开启分析软件在另一视窗以分析模拟数据,并即时利用分析结果调整模拟的参数值,立即更新3D立体动画的模拟画面,将可大幅减少模拟所需时间,加速新技术的研发速度。
如上所述,如何提供一个在视窗中显示立体动画的设备及方法,以便使用者同时开启2D显示及3D立体动画视窗,甚至多个3D立体动画视窗,实是当前亟待解决的课题。

发明内容
针对上述问题,本发明的目的为提供一种在视窗中显示立体动画的设备及方法,其能够将立体动画的图像数据,显示在视窗操作系统的个别视窗中。
为达上述目的,本发明提供了一种在视窗中显示立体动画的设备,其实施于一具有一显示装置的计算机系统中,包含一屏幕显示缓冲器(On-screenBuffer)、两个屏幕外缓冲器(Off-s creen Buffer)及一立体视窗控制器(Stereo Window Controller)。屏幕显示缓冲器储存显示在显示装置的屏幕画面数据。屏幕外缓冲器采取双缓冲结构(Double-buffered Architecture),其中之一储存目前帧的图像数据,另一个则储存准备中的下一帧的图像数据。目前帧的图像数据包含左眼图像数据及右眼图像数据,并以Bitblt的方式交替载入屏幕显示缓冲器中,以作为视窗画面数据。立体视窗控制器控制屏幕外缓冲器中哪一个储存目前帧的图像数据,以及左眼图像数据及右眼图像数据转移到屏幕显示缓冲器的Bitblt转移动作。
本发明还提供一种在视窗中显示立体动画的方法,其实施于一具有显示装置的计算机系统中,此计算机系统包含储存装置、3D绘图装置、一存储器控制器以及一数字模拟转换器并配合一同步快门观看器。依本发明的在视窗中显示立体动画的方法,目前帧的图像数据储存在两个屏幕外缓冲器其中之一,准备中的下一帧的图像数据则储存在另一屏幕外缓冲器,其中图像数据包含欲显示在一视窗中的立体图像的左眼图像及右眼图像。目前帧的图像数据中的左眼图像数据及右眼图像数据以Bitblt的方式交替地被转移到屏幕显示缓冲器中以作为视窗画面数据。而由立体视窗控制器所控制其中屏幕外缓冲器中哪一个储存目前帧的图像数据,以及Bitblt转移动作。
由于依本发明的在视窗中显示立体动画的设备及方法采用双缓冲技术,能够提高立体动画图像的处理速度,并由一立体视窗控制器来控制目前帧及下一帧的所在位置、以及以Bitblt的方式交替转移左眼图像数据及右眼图像数据的动作,故能够将立体动画的图像数据,显示在视窗操作系统的个别视窗中。


图1为一结构图,表示依本发明优选实施例的在视窗中显示立体动画的设备及其系统结构。
图2为一流程图,表示依本发明优选实施例的在视窗中显示立体动画的方法流程。
图3与图4为示意图,表示依本发明优选实施例的在视窗中显示3D立体动画的情况。
图5与图6为示意图,表示公知技术显示3D立体动画的情况。附图符号说明1计算机系统 11存储装置 111屏幕显示缓冲器 112屏幕外缓冲器 113屏幕外缓冲器 12立体视窗控制器 13储存装置 143D绘图装置 15存储器控制器 16数字模拟转换器 17显示装置 2同步快门观看器 201~205在视窗中显示立体动画的步骤 51存储区块 52存储区块实施方式以下将参照相关附图,说明依本发明优选实施例的在视窗中显示立体动画的设备及方法,其中相同的元件将以相同的参照符号加以说明。
请参照图1所示,依本发明优选实施例的在视窗中显示立体动画的设备包含一存储装置11及一立体视窗控制器12,其中存储装置11包含一屏幕显示缓冲器111及两个屏幕外缓冲器112及113。屏幕显示缓冲器111储存在显示装置17上所显示的画面数据,其包括一视窗的画面数据。
需注意者,视窗的画面数据可仅为整个屏幕显示缓冲器111中所储存的数据的一部分。屏幕显示缓冲器111中尚可储存显示装置显示的其它数据,如视窗、图像或桌面背景图案等。
依本发明优选实施例的在视窗中显示立体动画的设备配合一同步快门观看器2运作,且实施于一具有显示装置17计算机系统1中。计算机系统1包括储存装置13、3D绘图装置14、存储器控制器15以及数字模拟转换器16。
储存装置13可以为硬盘、CDROM(只读存储器光盘,Compact Disc ReadOnly Memory)或DVDROM(只读存储器数字视盘,Digital Video Disc ReadOnly Memory)等任何一种或数种计算机可读取的数据储存装置,图像数据相对应地储存在硬盘、CD(光盘,Compact Disc)、DVD(数字视盘,Digital VideoDisc)上,上述储存装置13经由总线与计算机系统1中的各元件进行数据传输。
3D绘图装置14可为一般显示卡上的功能模块、具有3D绘图功能的图像处理卡或其他功能相同的软、硬件装置,其自储存装置13载入3D数据或图像来源文件,并依据3D立体图像的原理,产生具有角度差的一左眼图像数据及一右眼图像数据。
存储器控制器15控制存储装置11中的数据存取与转移动作。其可接受并解译(interpret)其它元件的请求,确认数据在存储装置中的地址,以便由存储装置读取数据,或写入数据到存储装置中。
数字模拟转换器16将储存在屏幕显示缓冲器111的图像数据由数字型态转换为模拟型态,以输出在显示装置17上,同时并向同步快门观看器2发送一同步信号,以使显示装置17的屏幕垂直更新动作与同步快门观看器2的左、右交替引导动作同步。
需注意,本实施例的存储装置11以及立体视窗控制器12可与上述的3D绘图装置14、存储器控制器15以及数字模拟转换器16一起设置在同一电路板上,或组合在一芯片组中,以减小体积并提高工作效率。本领域技术人员可在不超出本发明的精神与范畴的情况下,视实际需求进行各种不同的设计。
在本发明中,为了提高数据处理的速度,存储装置11采用了双缓冲设计,如以数据输入为例,所输入的数据先行载入一缓冲器,待满载后再行载入另一缓冲器,两个者交替接收数据,如此,在一缓冲器接收数据时,另一缓冲器便可对其中的数据进行处理,在数据处理速度快于或等于数据接收速度的情况下,双缓冲设计接收数据的速度大约为单一缓冲器的二倍。
同理,以本实施例而言,设有两个屏幕外缓冲器112及113,屏幕外缓冲器112储存目前欲交替载入屏幕显示缓冲器111的左、右眼图像数据,另一屏幕外缓冲器113则储存处理中的下一帧的左、右眼图像数据。下一帧图像数据处理完成后,两个屏幕外缓冲器的角色即互换,以达提高数据处理速度的目的。
立体视窗控制器12控制所产生的左、右眼图像数据储存在屏幕外缓冲器112或113之中,以及目前应载入在屏幕显示缓冲器111的屏幕外缓冲器为哪一个。其详细作动流程将于后文中详细说明。
为使本发明的内容更容易理解,以下将举一实例,并配合图2、图3与图4来说明依本发明优选实施例的在视窗中显示立体动画的方法。
请参照图2,在依本发明优选实施例的在视窗中显示立体动画的方法中,步骤201储存一目前帧的图像数据在两个屏幕外缓冲器的其中之一,以及一准备中的下一帧的图像数据在屏幕外缓冲器中的另一个。
在本实施例中,储存在储存装置13的3D数据或图像来源文件经过总线传送到3D绘图装置14,3D绘图装置14依据3D立体图像的原理,产生具有角度差的一左眼图像数据及一右眼图像数据,并写入屏幕外缓冲器112或113的左眼图像或右眼图像数据地址。
立体视窗控制器12经由存储器控制器15,指示处理完毕的下一帧图像数据储存在屏幕外缓冲器112或113,屏幕外缓冲器的选择则视目前帧图像数据的储存位置而定。例如,请参照图3与图4,当目前帧图像数据储存在屏幕外缓冲器112时,立体视窗控制器12会将准备中的下一帧图像数据储存在屏幕外缓冲器113(如图4所示)。当目前帧图像数据储存在屏幕外缓冲器113时,立体视窗控制器12则将准备中的下一帧图像数据储存在屏幕外缓冲器112(如图3所示)。
步骤202以Bitblt的方式,交替地将该目前帧图像数据中的左眼图像数据及右眼图像数据转移到屏幕显示缓冲器111中视窗画面所对应的存储器区块,以作为屏幕显示缓冲器111中所储存的一视窗画面数据。以图3所示的情况为例,由于目前帧的左眼图像数据及右眼图像数据储存在屏幕外缓冲器113,所以立体视窗控制器12会向存储器控制器15送出转移屏幕外缓冲器113中左眼图像数据与右眼图像数据到屏幕显示缓冲器111的请求。
在本实施例中,立体视窗控制器12在进行上述的Bitblt动作时,会考虑显示装置17的垂直回扫动作,在两个次垂直回扫动作之间进行Bitblt动作。例如,立体视窗控制器12可以下述方式送出控制信号控制信号左眼图像数据Bitblt到屏幕显示缓冲器中(显示装置自左上到右下扫描屏幕显示缓冲器)(显示装置垂直回扫)控制信号右眼图像数据Bitblt到屏幕显示缓冲器中(显示装置自左上到右下扫描屏幕显示缓冲器)(显示装置垂直回扫)控制信号左眼图像数据Bitblt到屏幕显示缓冲器中如此,左眼图像数据与右眼图像数据可以正确地显示在显示装置,而不会产生垂直回扫动作尚未进行,屏幕显示缓冲器111中的视窗画面数据却被置换掉的情况发生。
步骤203判断在屏幕外缓冲器113中,下一帧的图像数据是否已处理完毕。若尚未处理完毕,则回到步骤201与步骤202,继续将屏幕外缓冲器112中的左眼图像数据与右眼图像数据转移到屏幕显示缓冲器,以及在屏幕外缓冲器113中准备下一帧数据。亦即,如目前帧图像数据的所在位置为屏幕外缓冲器112,则立体视窗控制器12会送出请求到存储器控制器15,将目前框架图像数据中的左眼图像数据及右眼图像数据交替载入屏幕显示缓冲器111。
若在步骤203中,下一帧的图像数据已处理完毕,则进入步骤204,将处理完毕的下一帧设定为目前帧,并设定新的欲处理帧为下一帧。请参照图4,当下一帧的图像数据已处理完毕时,立体视窗控制器12会将已处理完毕的下一帧设定为目前帧,并将新的处理中的帧设定为下一帧。此时,立体视窗控制器12会送出请求到存储器控制器15,将屏幕外缓冲器112中的左、右眼图像数据交替Bitblt到屏幕显示缓冲器111,并将处理中的帧图像储存在屏幕外缓冲器113。
若步骤205判断结束,例如使用者下达结束指令,或所有的帧均已处理完毕,则结束整个流程。若尚未结束则回到步骤201与202。
综上所述,在整个流程中,立体视窗控制器负责协调控制下列动作(1)依据下一帧准备完成与否,决定是否切换屏幕外缓冲器;以及(2)考虑显示装置的垂直回扫动作来进行左、右眼图像数据交替Bitblt到屏幕显示缓冲器的动作。
如此,由于显示装置的显示画面对应到同一存储区块,即屏幕显示缓冲器,且采用双缓冲结构来加速画面处理,并以Bitblt的方式在存储装置中快速地转移图像数据,因此将可达成在视窗中显示3D立体动画的目的。
以上所述仅为举例性,而非为限制性的。任何未脱离本发明的精神与范畴,而对其进行的等效修改或变更,均应包含在后附的权利要求中。
权利要求
1.一种在视窗中显示立体动画的设备,其实施于一具有一显示装置的计算机系统中,包含一屏幕显示缓冲器,其储存显示在该显示装置的一屏幕画面数据,该屏幕画面数据包含一视窗画面数据;以及采取双缓冲器结构的两个屏幕外缓冲器,这些屏幕外缓冲器的一储存目前帧的图像数据,这些屏幕外缓冲器的另一则储存准备中的下一帧的图像数据,其中该目前帧的图像数据与下一帧的图像数据均分别包含左眼图像数据及右眼图像数据,且该目前帧的图像数据中的该左眼图像数据及该右眼图像数据以位块转换的方式交替地由这些屏幕外缓冲器转移到该屏幕显示缓冲器中,以作为该视窗画面数据。
2.如权利要求1所述的在视窗中显示立体动画的设备,还包含一立体视窗控制器,其控制这些屏幕外缓冲器中哪一个储存该目前帧的图像数据,以及该左眼图像数据及该右眼图像数据的位块转换的转移动作。
3.如权利要求2所述的在视窗中显示立体动画的设备,还包含一3D绘图装置,其准备该下一帧的该左眼图像数据及该右眼图像数据。
4.如权利要求3所述的在视窗中显示立体动画的设备,其中该立体视窗控制器依据该3D绘图装置的信号判断该下一帧的该左眼图像数据及该右眼图像数据是否准备完成,以控制这些屏幕外缓冲器中哪一个储存该目前帧的图像数据。
5.如权利要求2所述的在视窗中显示立体动画的设备,还包含一存储器控制器,其依据该立体视窗控制器的信号来进行该左眼图像数据及该右眼图像数据的位块转换的转移动作。
6.如权利要求1所述的在视窗中显示立体动画的设备,其中该立体视窗控制器还考虑该显示装置的垂直回扫动作来控制该左眼图像数据及该右眼图像数据的位块转换的转移动作。
7.如权利要求1所述的在视窗中显示立体动画的设备,还包含一同步快门观看器,其左、右交替引导该左眼图像数据及该右眼图像数据的图像映入观看者的左、右眼。
8.如权利要求1所述的在视窗中显示立体动画的设备,其中该屏幕显示缓冲器与这些屏幕外缓冲器是一存储装置中的不同存储区块。
9.一种在视窗中显示立体动画的方法,其实施于一具有显示装置的计算机系统中,包含储存目前帧的图像数据在两个屏幕外缓冲器之一,以及一准备中的下一帧的图像数据在这些屏幕外缓冲器的另一个,其中这些屏幕外缓冲器采取双缓冲结构,该图像数据包含欲交替显示在一视窗中之一左眼图像数据及一右眼图像数据;以及,以位块转换的方式交替地将该目前帧的图像数据中的该左眼图像数据及该右眼图像数据由这些屏幕外缓冲器之一转移到该屏幕显示缓冲器中,以作为该屏幕显示缓冲器中所储存的一视窗画面数据。
10.如权利要求9所述的在视窗中显示立体动画的方法,还包含考虑该显示装置的垂直回扫动作来进行该左眼图像数据及该右眼图像数据的位块转换的转移动作。
11.如权利要求9所述的在视窗中显示立体动画的方法,其中由一立体视窗控制器控制这些屏幕外缓冲器中哪一个储存该目前帧的图像数据,以及该左眼图像数据及该右眼图像数据的位块转换的转移动作。
12.如权利要求11所述的在视窗中显示立体动画的方法,其中该立体视窗控制器依据该下一帧的该左眼图像数据及该右眼图像数据是否准备完成,控制这些屏幕外缓冲器中哪一个储存该目前帧的图像数据。
13.如权利要求9所述的在视窗中显示立体动画的方法,还包含以一3D绘图装置将该下一帧的3D数据处理为一左眼图像数据及一右眼图像数据。
14.如权利要求9所述的在视窗中显示立体动画的方法,还包含当该下一帧图像数据处理完毕时,将处理完毕的该下一帧设定为该目前帧,并设定一新的欲处理帧为该下一帧。
15.如权利要求9所述的在视窗中显示立体动画的方法,还包含以一同步快门观看器交替引导该左眼图像数据及该右眼图像数据的图像映入观看者的左、右眼。
16.一种显示卡,其用在视窗中显示立体动画,并实施于一具有显示装置的计算机系统中,包含一屏幕显示缓冲器,其储存显示在该显示装置的一屏幕画面数据,该屏幕画面数据包含视窗画面数据;采取双缓冲结构的两个屏幕外缓冲器,这些屏幕外缓冲器的一个储存目前帧的图像数据,这些屏幕外缓冲器的另一个则储存一准备中的下一帧的图像数据,其中该目前帧的图像数据与该下一帧的图像数据均分别包含左眼图像数据及右眼图像数据,且该目前帧的图像数据中的该左眼图像数据及该右眼图像数据以位块转换的方式交替地由这些屏幕外缓冲器之一转移到该屏幕显示缓冲器中,以作为该视窗画面数据;一3D绘图装置,其准备该下一帧的该左眼图像数据及该右眼图像数据;一存储器控制器,其进行该左眼图像数据及该右眼图像数据的位块转换的转移动作;以及一立体视窗控制器,其控制这些屏幕外缓冲器中哪一个储存该目前帧的图像数据,以及该左眼图像数据及该右眼图像数据的位块转换的转移动作,并依据该3D绘图装置的信号判断该下一帧的该左眼图像数据及该右眼图像数据是否准备完成。
17.如权利要求16所述的显示卡,其中该立体视窗控制器还考虑该显示装置的垂直回扫动作来控制该左眼图像数据及该右眼图像数据的位块转换的转移动作。
18.如权利要求16所述的显示卡,其中该屏幕显示缓冲器与这些屏幕外缓冲器是一存储装置中的不同存储区块。
全文摘要
本发明提供一种在视窗中显示立体动画的设备,其实施于一具有显示装置的计算机系统中,并包含一屏幕显示缓冲器以及两个屏幕外缓冲器。屏幕显示缓冲器储存显示在显示装置的屏幕画面数据。屏幕外缓冲器采取双缓冲结构,其中之一储存目前帧的图像数据,另一则储存准备中的下一帧的图像数据。目前帧及下一帧的图像数据均包含一左眼图像数据及一右眼图像数据,且目前帧的图像数据以Bitblt(位块转换)的方式交替载入屏幕显示缓冲器中,以作为视窗画面数据。本发明亦公开一种以上述设备实施的在视窗中显示立体动画的方法。
文档编号H04N13/00GK1414794SQ01137128
公开日2003年4月30日 申请日期2001年10月22日 优先权日2001年10月22日
发明者李润容 申请人:矽统科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1