缩放图像的制作方法

文档序号:6472119阅读:151来源:国知局
专利名称:缩放图像的制作方法
背景本发明涉及一种基于处理器的系统,特别涉及在基于处理器的系统的显示设备上缩放图像。
在基于处理器的系统的显示设备上对选定的图像,例如画面,文本,图形之类进行缩放的性能通常对于用户是很有用的特性。视力不佳的人可使用能够将基于处理器的系统的显示装置上的内容放大的应用来更好的观看。此外,图形定向应用的用户可能希望扩大或放大基于处理器的系统的显示装置上的内容,以得到更清楚或更详细的图像。
缩放图像的传统方法有时使用简单的缩放算法,例如使用复制算法来放大或缩小图像。结果,有时缩放后的图像会出现粗糙(例如锯齿状)的边缘。此外,有可能某些传统的缩放方法不能迅速的进行理想缩放,特别是在大而复杂的图形图像的各个部分被缩放成不同的尺寸时。
在缩放时,有时需要动态地对被缩放图像进行更新。即,有时需要“动态”地更新被缩放的图像,从而在每次图像改变时,用户不必再次更新或再次缩放该图像。
从而,需要一种更好的处理图像的方法。
附图简述本发明可参照以下结合相应附图进行的说明来理解,其中相同的参考标记表示相同的部件,其中

图1是根据本发明一个实施例的基于处理器的系统的前视图;图2是根据本发明的基于处理器的系统的结构方框图;图3是根据本发明的图形适配器的结构方框图;图4是根据本发明的一个实施例,图1所示的基于处理器的系统中驻留软件的流程图;图5示出了根据本发明的一个实施例使用图3的方法进行的缩放操作。
详细说明本发明的具体实施例说明如下。为了说明清楚,并非对所有的实际操作特征都在本说明书中进行说明。应当认识到,在任何这种实际例子的研究过程中,必然要进行大量的特殊操作以实现研究者的特殊目的,例如适应系统相关和业务相关的约束,而这对于一个实现方式与另一个实现方式是不同的。还应当认识到这种研究可能非常复杂并且耗费时间,但这对于已经受益于本公开内容的普通技术人员来说可能会成为一种常规事物。
参照图1,示出了根据本发明一个实施例的基于处理器的系统5。该基于处理器的系统5可能是一个膝上型电脑,桌上型电脑,主机,具有机顶盒的电视机,或任何其他需要进行缩放的装置。该基于处理器的系统5包括一个显示装置10,其与控制盒15相耦合。作为输入装置的键盘17和鼠标19,与控制盒15相耦合。通常,控制盒15通过显示装置10将信息转发至用户,用户使用输入装置17,19中的一个对显示装置10作出反应。基于处理器的系统5包括一个或多个媒体装置20,22。虽然并不局限于此,在所示的实施例中,媒体装置20,22还包括一个磁盘和压缩光盘(CD)驱动器。
参照图2,示出了图1中基于处理器的系统5的控制盒15的结构方框图。为了清楚和简明的表示,图2中只示出了控制盒15被选定的功能块,但本领域的技术人员应当认识到控制盒15还可以包含其它的功能块。
基于处理器的系统5包括一个控制单元70,用于为基于处理器的系统5执行各种各样的任务。在一个实施例中,控制单元70包括一个处理器。控制单元70被耦合至输入接口74和媒体接口84。输入接口74可以连接输入装置,例如键盘17(见图1),鼠标(见图1),麦克风(未示出)等等。媒体接口84可以连接软盘驱动器20(见图1),压缩光盘驱动器22(见图1),磁带驱动器(未示出)等等。
基于处理器的系统5包括一个存储器86和一个存储单元88。存储器86可以是用于临时保存信息的随机访问存储器(RAM)。基于处理器的系统5的存储单元88,在一个实施例中,可以是硬盘驱动器。存储单元88可以存储基本输入/输出系统(BIOS),操作系统,和其它用于基于处理器的系统5的应用。存储单元88还可以存储缩放应用410。基于处理器的系统中可以安装各种操作系统的任一种,包括Windows,磁盘操作系统(DOS),AIX,LINUX等等。
控制盒15包括一个图形接口90。图形接口90可为计算机5提供图形支持。图形接口90接收用于显示的数据,并处理该数据,以将其显示在显示装置10上。在一个实施例中,图形接口90可以是图形适配器,与基于处理器的系统5的显示装置10相适配连接。在该实施例中的图形接口90包括一个视频存储器95和一个覆盖引擎100。图形接口90可包括一个图形引擎(未示出),用于提供传统的,非视频的图形支持。
视频存储器95(通常也称为“帧缓冲器”)可以是高速的随机访问存储器,用于存储最终显示在基于处理器的系统5的显示装置10上的信息。视频存储器95包括一个屏上存储器区域110,用于存储用户在基于处理器的系统5的显示装置10上看到的一个或多个图像的电子显示。从而屏上存储器区域110的任何更新都会反映在显示装置10上。
在一个实施例中,覆盖引擎100可以在,例如,通常包含显示装置10上可以看到的一个或多个图像的底层之上覆盖上图形或静态图像。该覆盖层和底层图像的电子显示被存储屏上上存储器区域110中。在所示实施例中,虽然并不局限于此,覆盖引擎100是一个视频覆盖引擎,能够在显示装置10上将视频获取数据与图形数据合并。在又一个实施例中,覆盖引擎100可支持各种数据格式,包括YUV4∶2∶2,RGB15,RGB16和RGB24。在所示实施例中的覆盖引擎100可由源位置(例如视频存储器95或其它源中的位置)产生图像的电子显示至基于处理器的系统5的显示装置10。通常,由覆盖引擎100来的电子显示被显示在底层的顶部。
覆盖引擎100包括一个缩放器120,在一个实施例中,其可以用硬件实施。缩放器120可使用复杂的缩放算法,例如在本发明的一个实施例中,使用内插和其它滤波技术,以得到高品质的缩放图像。此外,缩放器120还可以进行多重线性缩放,即使用一个或多个垂直和水平抽头进行滤波。这里使用的术语“抽头”包括参与构建每个输出像素的输入像素的数目。图形接口90可支持视频覆盖作为标准特性中的一种。由Intel公司提出的现代图形芯片集,IntelRi810芯片集,根据本发明的一个实施例,可以用在图形接口90中以提供视频覆盖性能。
参照图3,示出了根据本发明的图形接口90的方框图。应当认识到图形接口90通常具有相关的装置驱动器,连接在图形接口90和试图访问图形接口90的一个或多个特性的应用之间。
图形接口90包括具有三个输入端315,320,325的一个多路复用块310,一个选择端330和一个输出端335。第一,第二和第三输入端315,320,325用于提供电子显示,以分别产生屏上存储器区域110上的一个或多个图像,覆盖引擎100的一个源位置337,和一个硬件光标源340。这里使用的源位置337是指一个存储空间,一个或多个图像的电子显示在被覆盖引擎100处理之前,被存储在其中。在一个实施例中,源位置337可由屏上存储器区域110来定义,并可由提供至覆盖引擎100的一个源地址来识别。在一个实施例中,硬件光标源340表示硬件光标的电子显示被存储的位置。
选择端330从输入端315,320,325中选择一个或多个信号,该信号最终由多路复用器310的输出端335被送至显示装置10。在一个例子中,硬件光标终端325的信号可能具有三个终端信号中的最高优先级,然后是覆盖引擎100的源位置337的信号,然后是屏上存储器区域110的信号,其具有最低优先级。
当三个输入端315,320,325都提供显示图像数据时,优先权是相关的。参照图3,一个被存储为屏上存储器区域110(在例子中具有最低优先权)的电子显示的图像,作为一个底层被显示在显示装置10上。该底层被第二个图像所覆盖,第二个图像作为电子显示被存储在覆盖引擎100的源位置337中。由硬件光标源340传来的硬件光标的图像(在例子中具有最高优先权)被显示在覆盖图的顶层。
参照图4,示出了根据本发明一个实施例的缩放应用410的流程图。在例子中的缩放应用410,可允许用户选择显示装置10上显示的图像的一部分进行缩放。该图像的被选择部分可以包括文本,图形,画面,或它们的结合。
在一个实施例中,用户可选择图像的一部分,这是通过移动鼠标19(图1)来指定该图像将被缩放的部分实现的。在另一个例子中,用户只需点击在选定的图像部分之上或与其邻近区域,就可选择该图像用于缩放的一部分。此外,根据本发明的一个实施例,缩放应用410还可使用户来确定该图像的选定部分被缩放(放大或缩小)的量度的系数。或者,缩放应用410可使用默认系数来缩放该图像的选定部分。
在方框420,缩放应用410接收与显示装置10上的图像选定部分相关的用户选择信息。在例子中,用户选择信息可包括图像的选定部分的坐标,或者,可包括至少一个坐标以及图像的选定部分的高度和宽度值。在另一个变形实施例中,用户选择信息还可包括由用户提供的缩放系数。
在方框425,基于用户选择信息,缩放信息被提供至覆盖引擎100。在一个例子中,缩放信息可识别屏上存储器区域110中包含该图像被选定部分的电子显示的一个区域。在一个例子中,缩放应用410通过一个预定的应用编程接口(API)提供用户选择信息至覆盖引擎100的装置驱动器。然后基于用户选择信息,装置驱动器确定并提供该缩放信息至覆盖引擎100。在另一个实施例中,可使用用户定义的API将用户选择信息提供至图形驱动器,其中用户定义的API并不要求缩放应用410占用视频存储器95的屏上存储器区域的空间。
在一个实施例中,缩放信息可包括用于为覆盖引擎100识别源位置的一个地址,其中该源位置是图像选定部分的电子显示被存储的起始存储器地址。此外,缩放信息可包括用于覆盖引擎100的高度和宽度值,其中该高度和宽度值可确定屏上存储器区域110中的图像的选定部分的电子显示的位置。此外,除了高度和宽度值,缩放信息还可包括用于确定图像选定部分的电子显示的结束位置的其它存储器位置(即与起始地址位置指示的角相对的另一个角所对应的存储器位置)。在一个例子中,缩放信息还可包括一个覆盖缓冲间距(或缓冲步幅),其中该覆盖缓冲间距是由覆盖引擎累加在逐行基底上的字节数目。在一个例子中,覆盖引擎100的图形驱动器可确定覆盖缓冲间距并在需要时将其提供至覆盖引擎。在另一个例子中,缩放信息还可包括由用户提供的缩放系数。
在所示实施例中,虽然并不局限于此,源位置被定义为屏上存储器区域110中的一个存储器位置,其中驻存有图像的选定部分的电子显示。该图像选定部分并不需要驻存屏上上存储器区域110中的连续区域中,而是可以不连续的分散屏上上存储器区域110中。
在一个例子中,被缩放的图像在基层改变时可以动态的更新。在一个例子中覆盖引擎100的源位置被确定屏上上存储器区域110中,其中驻存有图像的选定部分的电子显示。从而,在基层改变时,屏上存储器区域110被更新,而这些更新也被反映在缩放图像中。在例子中,这些更新被反映在缩放图像中是因为,覆盖引擎100的源位置也是更新后的屏上存储器区域110。结果,对基层的可选择区域的任何改变都被反映在缩放的覆盖层中,从而可向用户提供“动态”效果。
在另一例子中,覆盖引擎100的源位置可以指向屏上存储器区域110外部的另一个存储器区域。此时,将被缩放的图像的选定部分的电子显示可以从屏上存储器区域110被复制到一个离屏区域,该区域可被定义为视频存储器区域95或其它存储器的一部分。在一个例子中,可使用BitBlt操作将图像的选定部分的电子显示从屏上存储器区域110复制到离屏区域。
在方框430,缩放应用410使用多路复用器310的选择端330来启动覆盖引擎100。在方框435,覆盖引擎100使用其缩放器120(见图2)来缩放图像的选定部分的电子显示。除了一个单独的缩放器,本发明的一个或多个实施例也可利用覆盖引擎100的缩放器120来进行缩放。覆盖引擎100可使用复杂的缩放算法来双线性地内插和缩放输入数据,以得到更高品质的图像。并且,在一个例子中,缩放器120可以用硬件实现,这意味着缩放器120可以比某些基于软件的缩放算法更为有效和迅速。在方框450,缩放应用410通过多路复用块310的选择端330来取消选择覆盖引擎100。
参照图5,示出了根据本发明一个实施例的缩放操作。特别的,附图5示出了使用图4中缩放应用的示例性缩放操作。为举例说明,假设用户选择图像510来进行系数为2的缩放(放大)。相应的在方框420,缩放应用410接收与选定的图像部分510相关的用户选择信息。在所示实施例中,缩放应用410可接收缩放系数,和与图像部分510相关的坐标。然后,在例子中,用户选择信息被送至覆盖引擎100的装置驱动器。
在方框425,基于用户选择信息,缩放信息被确定,并被提供至覆盖引擎100。在所示实施例中的缩放信息可以是识别覆盖引擎100的源位置的一个地址。该例中的源位置对应于屏上存储器区域110中的存储位置,其中存有图像部分510的电子显示。虽然并不局限于此,在所示实施例中,缩放信息包括用于识别屏上存储器区域110中的图像部分510的剩余电子显示的高度和宽度值。此外,若需要,缩放信息还可包括覆盖缓冲间距值,在例子中,该值可由覆盖引擎100的装置驱动器提供。
在方框430,缩放应用410使用多路复用块310的选择端330来启动覆盖引擎100。在方框435,覆盖引擎100使用其缩放器120以系数2来缩放图像510的电子显示,并将结果数据提供至第二输入端320。结果,如图5所示,显示装置10示出了被置于图像部分510之上的缩放图像520。硬件光标340被示于缩放图像520的上部,这是由于其具有比多路复用块310的另两个输入信号更高的优先级。
因为缩放图像520是由覆盖引擎100提供的,所以屏上存储器区域110的内容仍保持不变。从而使其它应用有可能更新屏上存储器区域110中的图像部分510。并且在所示例子中由于覆盖引擎100的源位置直接涉及视频存储器95的屏上存储器区域110中图像510的电子显示,基本上对图像510的所有更新都可被动态的反映在缩放图像520中。这种“动态”更新的特性在持续变化的缩放图形应用,例如表明气象情况变化的气象图中,是很有用的。
结束时,在方框450,缩放应用410截止从覆盖引擎100来的输入信号。从覆盖引擎100来的输入信号可使用多路复用块310的选择端330而被截止。
各种各样的系统层次,程序,或模块都可作为执行控制单元(例如基于处理器的系统5中的控制单元70(见图2))。每个控制单元可包括微处理器,微控制器,处理机卡(包括一个或多个微处理器或控制器),或其它控制或计算装置。本说明中所称的存储装置可包括一个或多个计算机可读的存储媒体,用于存储数据和指令。该存储媒体可包括不同的形态或存储器,它们包括半导体存储装置,例如动态或静态的随机访问存储器(DRAMs或SRAMs),可擦除和可编程的只读存储器(EPROMs)和闪速存储器;磁盘,例如硬盘,软盘,活动磁盘;包括磁带的其它磁性媒体;和光学媒体,例如压缩光盘(CDs)或数字视频光盘(DVDs)。在各种系统中构成各种软件层次,程序或模块的指令,可被存储在各个存储装置中。当被单独的控制单元执行时,该指令使对应的系统执行被编程的活动。
上述公开的特定实施例只是为了举例说明,而对于那些已经受益于这里所公开技术的本领域技术人员来说,本发明可以用不同的但是等效的方式来修正和实践。并且除了如下所述的权利要求,这里所示的详细构造或设计并不能限制本发明。因此很明显,上述公开的特定实施例可以被改变或修正,并且所有这样的变化都被认为是在本发明的范围和精神之内。相应的,这里所要求的保护正如以下的权利要求所述。
权利要求
1.一种装置,包括一个控制器,用于接收与显示装置上的一个图像的至少一部分相关的用户选择信息;和一个与该控制器耦合的视频覆盖引擎,该视频覆盖引擎用于缩放该图像的该部分的电子显示。
2.如权利要求1的装置,其中用于接收用户选择信息的该控制器包括控制器以便用于接收对应于显示装置上显示的该图像的该部分的坐标。
3.如权利要求2的装置,其中用于接收用户选择信息的该控制器还包括控制器以便用于基于接收的坐标确定在相关存储器区域中该图像的该部分的电子显示的存储器位置,其中该相关存储器区域包括对应于显示装置的至少一个像素的至少一个存储器位置;和提供该存储器位置至该覆盖引擎。
4.如权利要求3的装置,其中用于缩放该图像的该部分的电子显示的该视频覆盖引擎包括用于缩放在相关存储器区域中驻存的该图像的电子显示的视频覆盖引擎。
5.如权利要求4的装置,还包括控制器用于更新被该图像的该部分的电子显示所占用的相关存储器区域;和响应于该更新而缩放该图像的该部分的电子显示。
6.如权利要求1的装置,还包括用于显示该图像的该部分的一个显示器。
7.如权利要求1的装置,其中用于接收用户选择信息的该控制器还包括控制器以便用于接收缩放该图像的该部分的电子显示的一个缩放系数。
8.如权利要求1的装置,其中该控制器是一个处理器。
9.如权利要求1的装置,其中用于缩放的该视频覆盖引擎包括用于通过一个大于1的系数来缩放该图像的该部分的电子显示的视频覆盖引擎。
10.一种包含一个或多个带有指令的计算机可读存储媒体的制品,在执行指令时可使一个处理器用于接收与显示装置上的一个图像的至少一部分相关的用户选择信息;和使用一个覆盖引擎来缩放该图像的该部分的电子显示。
11.如权利要求10的制品,其中该一个或多个计算机可读存储媒体包含有指令,该指令在执行时,使处理器可接收对应于显示装置上显示的该图像的该部分的坐标。
12.如权利要求11的制品,其中该一个或多个计算机可读存储媒体包含有指令,该指令在执行时使处理器能够基于接收的坐标确定在相关存储器区域中该图像的该部分的电子显示的存储器位置,其中该相关存储器区域包括对应于显示装置的至少一个像素的至少一个存储器位置;和提供该存储器位置至该覆盖引擎。
13.如权利要求12的制品,其中该一个或多个计算机可读存储媒体包含有指令,该指令在执行时,可对相关存储器区域中驻存的该图像的电子显示进行缩放。
14.如权利要求13的制品,其中该一个或多个计算机可读存储媒体包含有指令,该指令在执行时使处理器能够更新被该图像的该部分的电子显示所占用的相关存储器区域;和响应于该更新而对该图像的该部分的电子显示进行缩放。
15.一种方法,包括允许用户识别显示装置上一个图像的至少一部分;和允许使用一个覆盖引擎对该图像的该部分的电子显示进行缩放。
16.如权利要求15的方法,其中允许用户对该图像的该部分的识别包括,允许接收对应于显示装置上显示的该图像的该部分的坐标。
17.如权利要求16的方法,其中该显示装置具有用于该显示装置的一个或多个像素的相关存储区域,还包括允许基于接收的坐标确定在相关存储器区域中该图像的该部分的电子显示的存储器位置;和允许提供该存储器位置至该覆盖引擎。
18.如权利要求17的方法,还包括允许对被该图像的该部分的电子显示所占用的相关存储器区域进行更新;和响应于该更新而允许对该图像的该部分的电子显示进行缩放。
19.如权利要求18的方法,其中允许对该图像的该部分的电子显示进行缩放包括,允许对相关存储区域中驻存的该图像的电子显示进行缩放。
20.如权利要求15的方法,还包括允许显示该图像的该部分。
21.如权利要求15的方法,其中允许用户对该图像的该部分的识别还包括,接收一个缩放系数来缩放该图像的该部分的电子显示。
22.如权利要求15的方法,其中允许该缩放包括,允许使用一个视频覆盖引擎来缩放该图像的该部分的电子显示。
23.如权利要求15的方法,其中允许该缩放包括,允许用一个大于1的系数来缩放该图像的该部分的电子显示。
24.一个系统,包括一个显示器;和一个与该显示器耦合的控制盒,该控制盒包括一个控制器,用于接收与显示装置上的一个图像的至少一部分相关的用户选择信息;和一个与该控制器耦合的接口,该接口包括一个视频覆盖引擎用于缩放该图像的该部分的电子显示。
25.如权利要求24的系统,其中用于接收用户选择信息的该控制器还包括控制器以便用于将接收的坐标与一个相关存储器区域中该图像的该部分的电子表示相联系,其中该相关存储器区域包括对应于显示装置的至少一个像素的至少一个存储器位置。
26.如权利要求25的系统,其中用于缩放该图像的该部分的电子显示的该视频覆盖引擎包括用于缩放在相关存储器区域中驻存的该图像的电子显示的视频覆盖引擎。
27.一种方法,包括选择显示装置上的一个图像的至少一个部分;和使用一个视频覆盖引擎对该图像的该部分的一个电子显示进行缩放。
28.如权利要求27的方法,其中该显示装置具有对应于每个像素的一个相关存储器区域,其中对显示装置上该图像的该部分的选择还包括,将该图像的选择部分与该相关存储区域中该图像的该部分的电子显示相联系。
29.如权利要求28的方法,其中对该图像的该部分的电子显示的缩放包括,对该相关存储器区域中驻存的该图像的电子显示进行缩放。
30.如权利要求29的方法,还包括更新被该图像的该部分的电子显示所占用的相关存储器区域;和响应于该更新而对该图像的该部分的电子显示进行缩放。
全文摘要
提供一种用于缩放的方法和装置。该方法包括使用户选择显示装置上一个图像的至少一部分。该方法包括使用一个覆盖引擎对该图像的该部分的电子显示进行缩放。该装置包括一个控制器和一个与该控制器耦合的视频覆盖引擎。该控制器用于接收与显示装置上一个图像的至少一部分相关的用户选择信息。该视频覆盖引擎用于对该图像的该部分的电子显示进行缩放。该控制器接收对应于显示装置上显示的该图像的该部分的坐标,基于接收的坐标确定在相关存储器区域中该图像的该部分的电子显示的存储器位置,其中该相关存储器对应于该显示引擎的至少一个像素,并提供该存储器位置至该覆盖引擎。
文档编号G06T3/00GK1452765SQ01815171
公开日2003年10月29日 申请日期2001年8月29日 优先权日2000年9月5日
发明者Q·卞 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1