选择像素输出格式的系统和方法

文档序号:2569241阅读:289来源:国知局
专利名称:选择像素输出格式的系统和方法
技术领域
本发明涉及像素处理,特别涉及选择像素输出格式的系统和方法。
背景技术
计算机桌面(简称"桌面")是在图形用户接口中控制在视窗系统中 的视窗位置和外观的软件。最典型地,桌面呈现的图像由与输出设备例如
显示器或打印机接口的图形设备"l妄口 (GDI)来控制。其中,GDI将通过桌 面呈现的像素输出格式限定为特定格式,例如每像素RGBA值为8位的格式。 由于桌面能存储包括增强的^f象素格式在内的不同色深的像素内容,其 可以呈现在与这种格式兼容的显示器上,因此GDI为所有像素限定特定像 素输出格式的这种设置并不是最优的。不幸的是,惯常的桌面并不提供以 不同色深呈现图像的灵活性,而是桌面的GDI限制像素输出格式为一个特 定格式。
因此,需要一种能选择不同像素输出格式的系统和方法。

发明内容
本发明提供了 一种选择像素输出格式的系统和方法。该方法包括选择 要输出的第一像素,和确定该第一像素是否和第二像素重叠。该第二像素 可从第 一像素源以第 一像素格式获得,并且可从第二像素源以第二像素格 式获得。该方法进一步包括将具有第二格式的第二像素转换为第 一格式, 以产生转换的第二像素。该转换的第二像素与具有第 一格式的第二^f象素相 比较,且基于该比较,选择具有第一格式的第二像素或具有第二格式的第 二像素输出。
参考附图和典型实施例的详细说明,将会更好地理解本发明的这些和 其他的方面。


图1示出了根据本发明的选择像素输出格式的典型系统;图2示出了根据本发明的选择像素输出格式的典型方法。
具体实施例方式
图1示出了根据本发明的选择像素输出格式的典型系统100。系统100 包括处理单元105, —个或多个^f象素源110,;格式转换器120,桌面130和 像素选择器140。该系统和输出设备,例如显示器150协作,在显示器150 上显示显示器桌面160。可选择地,第二格式转换器170耦合在系统100 和显示器150之间,用于提供额外的像素格式转换。
处理单元105可操作以执行指令用以执行如本文所述的操作。像素源 110包括一个或多个(示出三个)像素源112, 114和116,每个像素源可 操作来以各自不同的像素格式存储像素内容。例如,像素源112以每颜色 10位(10bpc)的格式存储像素内容A,像素源114以16bpc的格式存储像 素内容B,像素源116以4bpc的格式存储像素内容C。可以以浮点或整数 表示,以及以混合的或者甚至是成分大小实现任何特定颜色空间的格式, 例如RGB, RGBA, YcrCb或者HSL/HSV。每个^f象素源112, 114, 116存储的^f象 素的格式和内容分别用A,B,C来表明。
进一步特别地,像素源112, 114和116嵌入到桌面130中,但是他 们固有的像素格式和桌面像素格式是不一致的。例如,桌面130可以具有 8bpc的像素格式。在这样的情况中中,来自嵌入像素源112, 114和116 的像素不会以他们固有的格式呈现。然而,操作系统知道每个这些嵌入源 中像素的位置。
格式转换器120可操作以接收将在桌面130上可见的来自^f象素源112, 114和116的像素,并将这些像素的固有的格式转换为与桌面130兼容的 格式。继续说明典型实施例,其中桌面130与8bpc格式兼容,格式转换器 120操作以将来自源112的10bpc格式的j象素减低(即减少色深)为8bpc 格式。转换的像素P逭后存储在相应的桌面像素源132中,桌面像素源132 以不同于像素源112的像素格式(10bpc)的像素格式(8bpc)来存储内容 E。相似地,格式转换器操作以将像素内容B从16bpc格式转换为8bpc格 式,并将转换的像素存储在桌面像素源134中(像素内容和格式F)。像素 源116以4bpc格式存储像素内容C,这比桌面的8bpc格式低。在这样的 情况中,格式转换器120操作以将来自像素源116的像素的格式扩展(即 增加色深)为8bpc格式,且这些转换的像素存储到桌面像素源136中(像 素内容和格式G)。像素格式的转换可以以各种方式实施。例如,减低像素格式可以通过截去颜色空间值的最低有效位来实施,或者通过^^牛动或其他
技术来实施。扩展来自像素源116的像素的格式可以通过将所有颜色位上 移四位或者利用预定的查找表来实施。桌面130可以包括不被包括在像素 源132, 134, 136的任何一个中的像素138。但是,从桌面130读出的4象 素将是相同格式,例如8bpc。共同地,从桌面130读出的像素被称为如图 所示的^f象素D。
桌面130包括桌面像素源1 32, 134和136,它们在特定实施例中是 Windows XP或VISTA操作系统环境中打开的视窗。每个桌面像素源132, 134和136将具有由桌面130的GDI管理的^^素格式,例如在示出的实施 例中是8bpc格式。桌面130可以利用任何GDI,例如Windows GDI, GDI+, Apple QuickDraw,或者DirectX图形i殳备接口,每个都可才喿作以在桌面 130和桌面操作系统之间提供交互131。
在典型实施例中,在内容A,B和C嵌入到桌面130时执行像素格式转 换,从而提供相应的桌面像素内容E,F和G。进一步示例,像素内容A,B 和C只有在从提供这个内容的应用程序更新这个内容时才改变,而在从桌 面活动更新时不改变。因此,当桌面像素内容E,F和G还没有被GDI改变 时,像素内容A和像素内容E是相同的,像素内容B和F, C和G情况也相 似。当桌面像素内M改变时,例如当GDI接触桌面像素E,F或G时,桌 面像素内容E, F和G可以与嵌入的像素内容A,B和C不同。本发明在这种 情况下是怎样运行的特定例子将在下面进一步描述。
耦合像素选择器140以从桌面130和从像素源112, 114和116的每 个中接收像素。来自桌面的像素输出将是桌面130限定的格式,例如在示 出的实施例中是8bpc。 #^素源112, 114和116的每个将以该源固有的格 式输出到像素选择器140,例如在示出的实施例中是lObpc, 16bpc和4bpc。
像素选择器140的功能可以包括在着色器(shader)中,或可选择地 在硬件中实施。进一步特别地,像素选择器140知道转换器120利用的特 定格式转换。由于这点,诸如屏幕截图读回、菜单消失或软件光标的GDI 交互可以通过图形设备接口以标准方式执行。
像素选择器140可操作以使用下面进一步描述的过程从像素A, B, C或 D (包括像素E, F或G )中选择哪个像素输出。像素选择器140将选择的像 素以提供给它的格式之一输出,例如内容A以10bpc,内容B以16bpc,内 容C以4bpc,内容D(包括4象素E,F和G)以8bpc。如果显示器150或其他 输出设备和像素选择器140输出内容的格式不兼容,那么可以实施可选择的第二格式转换器17G以将选择的像素转换为与输出设备/显示器150兼容 的格式。选择的像素随后显示在显示器桌面160的相应的视窗162, 164 和166中。例如,显示器视窗162按照下面描述的操作来操作以显示像素 内容A或E。相似地,显示器^L窗164和166 4喿作以分别显示像素内容B 或E,和C或G。
图2示出了根据本发明的选择像素输出格式的典型方法。在操作212, 第一像素被选择以输出。在214,确定第一像素是否和第二像素重叠,该 第二像素可从第 一像素源以第 一像素格式获得,并且可从第二像素源以第 二像素格式获得,第二像素格式不同于第一像素格式。如果该条件没有满 足,那么第一像素被输出,且该方法返回操作212,其中另一像素被选择。
如果在214确定是真,那么本方法继续到216,其中从第二像素源中 取出以第二格式存在的第二像素并将其固有的格式转换为第 一像素格式, 这样产生转换的第二像素。在218,第一格式的第二像素从其对应的第一 像素源中被取出,并与转换的第二像素比较。在220,基于218中的比较 结果,选择第一格式的第二像素(来自第一像素源)或者第二格式的第二 像素(来自第二像素源)以输出。
接着图1中示出的实施例,第一像素是被选择输出的8bpc像素格式 的桌面像素D。该像素可被选择以输出到任何设备,例如帧緩冲器,显示 器或打印机。
以8bpc格式分别存储像素内容E,F和G的每个桌面像素源132, 134 和136代表了以第一像素格式存储第二像素的第二像素源的典型实施例。 相应地,以10bpc, 16bpc和4bpc像素格式存储像素内容A, B和C的每个嵌 入像素源112, 114和116代表了以不同于第 一像素格式的第二像素格式存 储第二像素的第二像素源的典型实施例。
在操作214的典型实施例中,处理单元105操作以确定选择的桌面像 素D是否与分别包括在嵌入或桌面像素源112/132, 114/134或116/136之 一中的^f象素重叠。更具体地,第一和第二像素的重叠条件可以4吏用例如映 射表的技术来确定,该映射表提供了怎样在桌面上定位E, F和G的信息, 这样如果区域E, F或G被接触,就可以在这些区域实施操作200。需要注
意的是,对于特定像素,每个嵌入和桌面像素源存储相同的像素位置信息, 这样可以查询嵌入或者桌面像素源的任一个以确定重叠条件是否存在。如 果确定重叠条件不存在,选择桌面像素D以输出,并选择下一个桌面像素 以处理。如果确定重叠条件存在,该方法继续到216,其中从其嵌入〗象素源112, 114或116中取出第二格式形式的重叠像素(即像素A,B或C),并通过格 式转换器120从其固有的第二像素格式转换为第一格式(即桌面像素格 式)。这个像素称为转换的第二像素。
在一个实施例中,第二像素格式高于第一像素格式(例如,在像素源 112和114的情况中),且在这种情况下,将第二像素格式转换为第一像素 格式的操作216包括将第二像素格式减少到第一像素格式的操作。这样的 操作可以通过截去第二像素格式的最低有效位,抖动或类似的这样的技术 来执行。在另一实施例中,第二像素格式低于第一像素格式(例如,在像 素源116的情况中),在这种情况下,将第二像素格式转换为第一像素格式 的操作216包括将第二像素格式扩展到第一像素格式的操作。这样的操作 可以通过将所有颜色位上移四位或者利用预定的查找表来执行。
在搡作218的典型实施例中,处理单元10 5才喿作以将转换的第二像素 的颜色空间值与存储在第一像素源(即像素源132, 134和136)中的第一 格式的第二像素(即像素E,F和G)的颜色空间值进行比较。也可以执行 其他比较过程。
在操作220的典型实施例中,处理单元105可才喿作以确定在转换的第 二像素的颜色空间值和第 一格式的第二像素的颜色空间值之间是否有匹 配。例如,格式转换形式的像素A的颜色空间值与像素E相比较。如果格 式转换形式的4象素A与《象素E的颜色空间值匹配,那么GDI还没有改变桌 面像素E的颜色空间值,且选择具有第二像素格式的第二像素(即固有的 像素A)以输出。如果像素的颜色空间值不匹配,那么选择具有第一像素 格式的第二像素(即像素E)以从桌面130输出。
在本文描述的典型实施例中,在第一像素没有改变时,执行选择第二 像素格式的第二像素。在这样的情况中,选择第二格式的第二像素是优选 的,由于其和第一像素格式相比提供了一个或多个优点。在嵌入像素源提 供了与第一像素格式相比扩展的像素格式的情况中,(例如对于嵌入像素 源112和114),从这些源中选择^^素导致了更大范围的颜色或更大的色深。 在嵌入像素源提供了与第 一像素格式相比减少的像素格式的情况中,(例 如像素源116),当减少的像素源提供了没有以第一像素格式存在的颜色 时,例如如果减少的〗象素源能够提供其他颜色空间的像素,从这个源中选 择像素是有利的。本领域的技术人员可以理解的是,比较过程可以以不同 的方式规划,以在不同条件下提供像素输出格式的优选的选择。方法200的可选操作包括将选择的像素的像素格式转换为第三像素格 式。例如,如果选择像素B输出,且输出设备(例如显示器)只兼容10bpc 颜色空间格式,方法200可以进一步包括将像素B的格式从16bpc格式转 换为10bpc格式的操作。可以利用格式转换器170来执行这个操作。
在本发明的特定应用中,GDI可以接触与像素A/E,B/F,C/G重叠的桌 面像素,这样就启动了操作216, 218和220。这样的动作会在桌面130内 产生软阴影(soft shadow)或者弹出菜单。在这样的情况中,重叠的桌面 像素E, F, G将包括没有包括在相应嵌入像素A, B, C之内的着色器成分,并且 在这样的情况中,4乘作218处的比较将确定重叠的桌面和嵌入^f象素的颜色 空间值不匹配。在这样的情况中,将选择重叠的桌面像素E,F或G以输出。 在惯常系统中,软阴影的去除是通过用先前读出的像素来替代有阴影的像 素来执行的。执行本发明方法的这个操作会导致阴影的去除,且218处的 比较操作会导致桌面像素和嵌入像素之间的颜色空间匹配。因此将选4奪嵌 入像素以输出。这样,没有向应用程序发出重画命令的中间GDI4喿作将不 会^5皮坏最初扫描出的色深。
根据上述的内容,与桌面固有地能够呈现的相比,可以嵌入具有更多 颜色成分或每个颜色具有更多的位的增强内容到桌面/视窗管理器中。另 外,GDI对内容的访问被控制,因此对增强内容的访问对用户来说是平稳 和透明的。本发明进一步允许将嵌入内容扫描输出到能呈现增强色深的内 容的显示器上的可能性。例如,可以从8bpc的RGB桌面扫描输出10bpc 的RGB内容到可以呈现10bpc像素的显示器上。
如本领域的技术人员很容易理解的,描迷的过程和操作可以合适的通
过硬件、软件、固件或这样实现的组合来实现。另外, 一些或所有描述的 过程和纟乘作可以实现为存在于计算机可读介质上的计算机可读指令代码, 指令代码可操作以控制计算机或其他这种可编程设备以执行想要的功能。 存在指令代码的计算机可读介质可以是各种形式,例如,可移除盘,易失 或非易失存储器等,或者施加有调制信号的载波信号,调制信号对应于执 行所描述操作的指令。
在本发明的特定实施例中,存储器可操作以存储用于执行图l和2描 述的任何操作的指令。存储器可以是各种形式,例如可移除盘,嵌入存储 器等,以易失或非易失形式,并可以包括在各种不同的系统中,例如计算 机系统,嵌入式处理器,图形处理器或图形处理子系统,比如图形卡。
术语"一"用于指一个或多于一个所述的特征。此外,术语"耦合"或"连接"指的是直接地或通过一个或多个中间结构或物质互相进行通信 的特征。方法流程图中涉及的操作和动作的顺序是示例性的,操作和动作 可以以不同的顺序进行,以及同时进行两个或多个操作和动作。权利要求 书中包括的附图标记(如果有的话)是用于指向所要求特征的一个典型实 施例,所要求特征并不限定于该附图标记涉及的特定实施例。所要求特征 的范围应当是好像没有该附图标记的语句所限定的范围。本文中指出的所 有出版物,专利和其他文献通过引用作为整体被引入。出现任何这样被引 入文献和该文献之间任4可不一致用法时,应当以该文献的用法为准。
已足够详细地描述了本发明的以上典型实施例,以使本领域技术人员 可以实施本发明,且可以理解的是,这些实施例可以组合。选择描述的实 施例是为了最好地解释本发明的原理和其实际应用,以使本领域技术人员 可以最好地以各种实施例利用本发明,并能设想适合特定使用的各种修改。 本发明的范围意在只由所附权利要求限定。
权利要求
1、一种选择像素输出格式的方法,所述方法包括选择要输出的第一像素,所述第一像素具有第一格式;确定所述第一像素是否和第二像素重叠,其中所述第二像素可从第一源以所述第一格式获得,并且可从第二源以第二格式获得;如果所述第一像素和所述第二像素重叠,则将所述第二格式的所述第二像素转换为所述第一格式,以产生转换的第二像素;将所述转换的第二像素与具有所述第一格式的所述第二像素相比较;和基于所述比较,从所述第一像素源中选择具有所述第一格式的所述第二像素,或者从所述第二像素源中选择具有所述第二格式的所述第二像素,以输出到输出设备。
2、 根据权利要求1所述的方法,其中所述第一像素格式包括与所述 第二像素格式相比减少的像素格式,以及其中转换所述第二像素包括将所 述第二像素格式减少至所述第一〗象素格式以产生具有所述第一像素格式的转换的第二像素。
3、 根据权利要求1所述的方法,其中所述第一像素格式包括与所述 第二像素格式相比扩展的像素格式,以及其中转换所述第二像素包括将所 述第二像素的所述像素格式扩展至所述第 一像素格式以产生具有所述第一像素格式的转换的第二像素。
4、 根据权利要求1所述的方法,其中具有所述第 一格式的所述第二像素包括第 一颜色空间值,以及所述转换的第二像素包括第二颜色空间值;其中比较包括将所述第 一颜色空间值和所述第二颜色空间值比较;和 其中选择包括如果所述第 一颜色空间值和所述第二颜色空间值匹配,则选择具有所述第二格式的所述第二像素以输出至输出设备。
5、 根据权利要求1所述的方法,其中具有所述第一格式的所述第二 像素包括第 一颜色空间值,以及所述转换的第二像素包括第二颜色空间值;其中比较包括将所述第 一颜色空间值和所述第二颜色空间值比较;和 其中选择包括如果所述第 一颜色空间值和所述第二颜色空间值不匹 配,则选择具有所述第一格式的所述第二像素以输出。
6、 根据权利要求1所述的方法,进一步包括将所述选择的像素的所述亏象素格式转换至第三像素格式。
7、 根据权利要求6所述的方法,进一步包括将所述第三像素格式的 所述选择的像素输出到输出设备。
8、 一种可操作以选择像素输出格式的系统,所述系统包括 处理单元电路,可操作以确定要输出的第 一像素是否和第二像素重叠,其中所述第二像素可从第一源以所述第一格式获得,并且可从第二源 以第二格式获得;格式转换器,可操作以将所述第二格式的所述第二像素转换为所述第 一格式,以产生转换的第二像素;处理单元电路,可操作以将所述转换的第二像素与具有所述第 一格式 的所述第二像素相比较;和格式选择器,可操作以基于通过所述处理单元电路执行的所述比较从 所述第 一像素源中选择具有所述第 一格式的所述第二像素,或者从所述第 二像素源中选择具有所述第二格式的所述第二像素,以输出到输出设备。
9、 根据权利要求8所述的系统,其中所述第一像素格式包括与所述 第二像素格式相比减少的像素格式,以及其中所述格式转换器可操作以将 所述第二像素格式减少至所述第一像素格式以产生具有所述第一像素格式的转换的第二像素。
10、 根据权利要求8所述的系统,其中所述第一像素格式包括与所述 第二像素格式相比扩展的像素格式,以及其中所述格式转换器可操作以将 所述第二像素的所述像素格式扩展至所述第 一像素格式以产生具有所述第一像素格式的转换的第二像素。
11、 根据权利要求8所述的系统,其中具有所述第一格式的所述第二 像素包括第 一颜色空间值,以及所述转换的第二像素包括第二颜色空间值;其中所述处理单元电路可#:作以将所述第一颜色空间值和所述第二颜色空间值相比4交;和其中所述像素选择器可#:作以如果所述第 一颜色空间值和所述第二 颜色空间值匹配,则选择具有所述第二格式的所述第二像素以输出至输出 设备。
12、 根据权利要求8所述的系统,其中具有所述第一格式的所述第二 像素包括第 一颜色空间值,以及所述转换的第二像素包括第二颜色空间值;其中所述处理单元电路可操作以将所述第 一颜色空间值和所述第二颜色空间值进行比较;和其中所述像素选择器可操作以如果所述第一颜色空间值和所述第二 颜色空间值不匹配,则选择具有所述第 一格式的所述第二像素以输出。
13、 根据权利要求8所述的系统,进一步包括第二格式转换器,所述 第二格式转换器可操作以将所述选择的像素的所述像素格式转换至第三像 素格式。
14、 根据权利要求13所述的系统,进一步包括将所述第三像素格式 的所述选择的像素输出到输出设备的装置。
15、 一种存在于计算机可读介质上的计算机程序产品,可才喿作以执行 用于选择要输出像素的格式的指令,所述计算机程序产品包括指令代码以选择要输出的第一像素,所述第一像素具有第一格式;确定要输出的所述第一像素是否和第二像素重叠,其中所述第二像素 可从第 一源以所述第 一格式获得,并且可从第二源以第二格式获得;如果所述第 一像素和所述第二像素重叠,将所述第二格式的所述第二 像素转换为所述第一格式,以产生转换的第二像素;将所述转换的第二像素与具有所述第 一格式的所述第二像素相比较;和基于所述比较,从所述第一像素源中选择具有所述第一格式的所述第 二像素,或者从所述第二像素源中选择具有所述第二格式的所述第二像素, 以输出到输出设备。
16、 根据权利要求15所述的计算机程序产品,其中所述第一像素格 式包括与所述第二像素格式相比减少的像素格式,以及其中转换所述第二 像素的指令代码包括将所述第二像素格式减少至所述第 一像素格式以产生 具有所述第 一像素格式的转换的第二像素的指令代码。
17、 根据权利要求15所述的计算机程序产品,其中所述第一像素格 式包括与所述第二像素格式相比扩展的像素格式,以及其中转换所述第二 像素的指令代码包括将所述第二像素的所述像素格式扩展至所述第 一像素 格式以产生具有所述第 一像素格式的转换的第二像素的指令代码。
18、 根据权利要求15所述的计算机程序产品,其中具有所述第 一格式的所述第二像素包括第 一颜色空间值,以及所述转 换的第二像素包括第二颜色空间值;其中所述比较指令代码包括将所述第 一颜色空间值和所述第二颜色空间值比较的指令代码;和其中所述选#^旨令代码包括如果所述第 一颜色空间值和所述第二颜 色空间值匹配,则选择具有所述第二格式的所述第二像素以输出至输出设 备的指令代码。
19、 根据权利要求15所述的计算机程序产品,其中具有所述第 一格式的所述第二像素包括第 一颜色空间值,以及所述转 换的第二像素包括第二颜色空间值;其中所述比较指令代码包括将所述第 一颜色空间值和所述第二颜色 空间值比较的指令代码;和其中所述选择指令代码包括如果所述第 一颜色空间值和所述第二颜 色空间值不匹配,则选择具有所述第 一格式的所述第二像素以输出的指令 代码。
20、 根据权利要求15所述的计算机程序产品,进一步包括将所述选 择的像素的所述像素格式转换至第三像素格式的指令代码。
全文摘要
本发明公开了一种选择像素输出格式的系统和方法,该方法包括选择要输出的第一像素,和确定该要输出的第一像素是否和第二像素重叠。该第二像素可从第一源以第一格式获得,并且可从第二源以第二格式获得。该方法进一步包括将具有第二格式的第二像素转换为第一格式,以产生转换的第二像素。该转换的第二像素与具有第一格式的第二像素相比较,且基于该比较,选择具有第一格式的第二像素或具有第二格式的第二像素输出。
文档编号G09G5/02GK101685617SQ200910176689
公开日2010年3月31日 申请日期2009年9月25日 优先权日2008年9月26日
发明者马丁·施瓦泽 申请人:辉达公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1