CN1116456A - 面向目标的调色板系统 - Google Patents

面向目标的调色板系统 Download PDF

Info

Publication number
CN1116456A
CN1116456A CN94190879A CN94190879A CN1116456A CN 1116456 A CN1116456 A CN 1116456A CN 94190879 A CN94190879 A CN 94190879A CN 94190879 A CN94190879 A CN 94190879A CN 1116456 A CN1116456 A CN 1116456A
Authority
CN
China
Prior art keywords
clut
color
computer memory
views
predetermined number
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.)
Pending
Application number
CN94190879A
Other languages
English (en)
Inventor
詹姆斯·安东尼·夸拉托
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taligent Inc
Original Assignee
Taligent Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Taligent Inc filed Critical Taligent Inc
Publication of CN1116456A publication Critical patent/CN1116456A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • H04N1/644Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor using a reduced set of representative colours, e.g. each representing a particular range in a colour space
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/06Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed using colour palettes, e.g. look-up tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

管理面向目标的操作系统的彩色调色板的系统和方法为被外部设备显示的多种(例如256)彩色的共享提供了保证。在第一个方面中,8位色彩查阅表(CLUT)被正在外部设备上被显示的文件中的多个视图所共享,使得在多个图形设备之间提供一致的观看彩色。发明的方法包括为操作系统建立色彩查阅表(CLUT)、均匀地将其分为预定数目的彩色、显示具有多个视图的图形信息以及在图形信息的多个视图之间共享CLUT中的预定数目的彩色的步骤。预定数目的彩色包括多种彩色,当在不同的彩色显示设备上被显示时,每种彩色是一致的。

Description

面向目标的调色板系统
本发明一般地涉及在操作系统中使用的彩色调色板的管理,特别涉及在面向目标的操作系统中管理彩色调色板。
面向目标编程(OOP)是建立用户友好、智能计算机软件的优选环境。OOP的关键元素是数据封装、继承和多形性。这些元素可被用来产生通常特征在于具有图符、鼠标光标和选屏项的视窗环境的图形用户接口(GUI)。虽然这三种关键元素为OOP语言所共有,但大多数OOP语言有差别地实施这三种关键元素。
OOP语言的例子是Smalltalk、Object Pascal和C++。Smalltalk实际上不只是语言,它可被更准确地称为编程环境。Smalltalk是在七十年代早期在施乐(Xerox)的Palo A1-to研究中心(PARC)的“学习研究小组(Learning ResearchGroup)”中被制定的。在Smalltalk中,信息传送给目标,以便对目标本身进行评价。信息执行类似于通常编程语言中的功能调用任务的任务。编程人员不需要考虑数据的类型;相反地,编程人员只需要考虑建立正确的信息次序并利用正确的信息。Object Pascal是用于苹果(Apple)的Macintosh计算机的语言。苹果与Pascal的设计者Niklaus Wirth合作开发Object Pascal。AT&T(美国电话和电报公司)贝尔实验室的Bjarne Stroustrup于1983年开发了作为C的扩展的C++。C++的关键概念是类别,它是用户定义型的。类别提供面向目标的编程特征。C++模块与C模块兼容并可被自由地链接,因此已有的C库可以和C++程序一起使用。最广泛使用的基于目标和面向目标的编程语言将它们的传统上溯到由挪威的O—J.Dahl、B.Myhrhaug和K.Nygard在六十年代开发的Simula。有关OOP主题的进一步信息可以通过参看加州Redwood市Benjimin/Cumming出版公司出版(1991年)的由Grady Booch所著的“应用程序的面向目标设计(Object oriented Design with Applications)”来得到。
考虑到上述OOP的简略综述,彩色调色板管理在编程环境中产生了独特的问题。监视器表面上的每一象素包括红荧光物质(red phospnor)、绿荧光物质和蓝荧光物质。每种荧光物质具有确定监视器可以显示的色彩的物理特性。这三种荥光物质和电子束枪的最大相等强度确定了监视器的色彩区域。但是,虽然监视器的荧光物质理论上确定了设备实际上可以显示哪一种色彩,但对每一监视器能够显示的色彩数目有实际限制。例如,由于计算机以数字(与模拟相反)的方式操作,所以在监视器上能被实际显示的色彩数目被限制为有限的个数。随着监视器可以显示的色彩数目增大,存储屏幕数字图象的存储器也增大。存储该屏幕的存储器通常被包括在视频卡中。
由于存储器的成本,开发人员通常动态地设置为操作所用的监视器彩色区域的所需部分。这一方案利用色彩查阅表(CLUT)。有选择地使彩色调色板与应用程序中的窗口或与应用程序本身相关联。开发了调色板管理系统,其中色彩可被视窗或应用程序请求。根据所作请求的类型,可以友好地或非友好地共享色彩。当改变有效视窗或应用程序时,调色板管理程序可以以尽可能对用户视觉愉悦的方式在原有效调色板和新的调色板之间进行转换。
但是,虽然在通常的操作系统中可以相对容易地使CLUT与应用程序或视窗相关联,但优选的操作系统在这种关联方面还是有问题的。
因此,本发明的目的是提供新的彩色调色板管理方法和系统,在该新的彩色调色板管理方法和系统中,视图可以协调地和视觉愉悦地共享彩色,该新的彩色调色板管理方法和系统供包括复合文件的操作系统使用,该复合文件由被组装成为一个较大文件的一些封装程序组成。本发明使CLUT与视图相关联并提供了不同色彩共享的原则。
在本发明的第一个方面中,管理用于面向目标的操作系统的彩色调色板的方法包括以下步骤:建立用于操作系统的色彩查阅表(CLUT),均匀地将CLUT分为预定数目的色彩;显示具有多个视图的图形信息,在图形信息的多个视图之中共享在CLUT中的预定数目的色彩,其中预定数目的色彩包括多种色彩,当每种彩色在多个视图的第一和第二视图之间被共享时具有预定的一致性。
以下参看附图对本发明最佳实施例的详细描述将更加清楚上述及其它的目的、方面和优点,附图中:
图1是根据最佳实施例的计算机系统的方框图;
图2表示最佳实施例的监视器和视频卡的配置;
图3表示最佳实施例的红、绿和蓝(RGB)彩色空间;
图4表示最佳实施例的监视器的彩色区域的一个例子;
图5表示最佳实施例的“色彩查阅表(CLUT)”;
图6表示最佳实施例的复合文件;
图7表示根据最佳实施例,监视器的典型彩色区域的曲线图;
图8表示根据最佳实施例,在图7中绘出的区域的剖视图;
图9表示根据最佳实施例,放置在平面的周边正确位置处的彩色和在该平面中的白色点;
图10表示最佳实施例的张驰技术(relaxation tech-nique)的结果;
图11是最佳实施例的流程图。
最好在驻留在诸如IBM PS/2或Apple Macintosh计算机这样的个人计算机上的操作系统的范围内实施本发明。典型的硬件环境如图1所示,图中表示了根据主题发明的工作站的典型硬件配置,包括了例如通常的微处理器这样的中央处理单元10和通过系统总线12互连的一些其它部件。图1所示的工作站包括:随机存取存储器(RAM)14,只读存储器(ROM)16,将诸如磁盘部件20这样的外围设备与总线连接的I/O适配器18,将键盘24、鼠标26、扬声器28、麦克风32和/或诸如触摸屏设备(未示出来)这样的用户接口设备与总线连接的用户接口适配器22,将工作站与数据处理网络连接的通信适配器34,以及将总线与显示设备38连接的显示适配器36。工作站在其上已驻留了例如Apple System/7操作系统这样的操作系统。
在最佳实施例中,利用面向目标的编程技术用C++编程语言来实现本发明。如本领域普通技术人员所懂得的那样,面向目标编程(OOP)的对象是包括数据结构和对数据的操作的软件实体。这些元素使目标能根据用其数据元素表示的其特性和用其数据操纵功能表示的其行为来实际地模拟任何真实世界的实体。以这一方式,目标能够模拟类似人和计算机这样的具体事物,也能够模拟类似数字或几何概念这样的抽象概念。目标技术的好处来自于三个基本原理:封装、多形性和继承。
目标隐藏或封装其数据的内部结构和其功能工作的算法。目标不暴露这些实施细节,而是呈现界面,这些界面表示其完全的抽象且无其它信息。多形性使封装更进一步。该概念是许多形态,一个界面。软件部件可以不需要准确地知道一部件是什么而对该一部件进行请求。接收该请求的部件对请求进行解释并根据部件的变量和数据决定如何执行该请求。第三个原理是继承,它允许开发人员重复使用预先存在的设计和代码。这一功能允许开发人员避免根据擦除建立软件。相反地,利用继承,开发人员获得继承了行为的子类,然后对子类进行定制以便满足他们的特殊需要。
已有技术的方案是在过程环境中分层目标和类别库。市场上的许多应用程序结构采用这一设计方案。在这一设计中,在单一操作系统的顶部有一个或多个目标层级。虽然这一方案在目标层中利用了封装、多形性和继承的全部原路,并且对于过程编程技术有显著的改进,但这一方案有其局限性。局限性来自这一事实,即虽然开发人员容易重复使用他们自己的目标,但使用其它系统的目标是困难的,开发人员仍然需要利用过程操作系统(OS)调用到达较低的非目标层。
面向目标编程的另一个方面是对于应用开发的结构方案。结构(frameworks)的最合理定义之一来自于伊利诺斯(Illinois)大学的Ralph E.Johnson和普渡(Purdue)大学的Vincent F.Russo。在他们1991年发表示伊利诺斯大学技术报告UIUCDCS91-1696上的论文“重复使用的面向目标设计”中,他们提出以下定义:“抽象类别是协同完成一组任务的一组目标的设计。因此,结构(framework)是协同执行预定的一组计算任务的一组对象类别。”从编程的观点来看,结构实际上是提供了工作应用程序的预先制造好的结构的互连对象类别组。例如,用户接口结构可以提供绘图视窗、卷动条、选项屏等的支持和“缺省”行为。由于结构基于目标技术,所以这一行为可被继承和置换,以便允许开发人员扩展结构和在某一专门知识领域建立定制的解决办法。由于程序员不在改变原始代码而是在扩展软件,所以这是优于传统编程的主要优点。此外,因为结构提供了体系结构指引和模型化,所以开发人员不是盲目地在代码层上工作,而是与此同时释放它们,以便然后提供只有问题域才有的专门操作。
从商业的观点来看,结构可被看作是在特定的知识领域封装或具体化专门知识的方法。公司发展机构即“独立软件销售商(ISV)”和系统集成者已获得了特定领域的专门知识,例如制造、会计或者作为我们早先实例中的货币交易。这一专门知识体现在它们的代码中。结构允许各机构通过将该专门知识的共同特征体现在机构的代码中来对其进行收集和包装。首先,这允许开发人员建立或扩展利用专门知识的应用程序,因此问题就得到解决,并且一致性地实施和使用商业规则和设计。还有,结构和在结构后面的具体化的专门知识具有对于那些已在纵深市场中获得了例如制造、会计这样的专门知识的机构的战略利益蕴涵,或者生物技术将具有包装、再销售和采用它们的专门知识以及使技术进一步进步和普及的分布机制。
根据历史的观点,结构只是最近才作为在个人计算平台上的主流概念而出现的。这一转移已由于例如C++这样的面向目标语言的使用而得到支持。在过去,C++主要用于U-NIX系统和研究工作者的工作站,而不是用于商业设置的个人计算机。正是例如C++这样的语言和其它面向目标语言,例如Smalltalk等使一些大学和研究机构提出了今日商品化的结构和类别库的先驱物。这些先驱物的一些例子是斯坦福(Stanford)大学的InterViews、卡内基—梅隆(Carnegie—Mellon)大学的Andrew toolkit和苏黎世(Zurich)大学的ET++结构。
根据你所关心的系统的级别和你正在试图解决的问题的种类的不同,有许多种结构。结构的种类的范围从支持开发用户接口的应用结构到提供例如通信、打印、文件系统支持和图形等这样的基本系统软件服务的较低级别的结构。应用结构的工业例子是MacApp(Apple)、Bedrock(Symantec)、OWL(Borland)、NeXTStep App Kit(NeXT)和Smalltalk—80 MVC(ParcPlace),这里只列举了少数例子。
利用结构进行编程要求熟悉其它类型系统的开发人员要有新的思考方式。事实上,它根本不是传统意义上的“编程”。在老式的操作系统例如DOS或UNIX中,开发人员自己的程序提供全部结构。操作系统通过系统调用提供服务——当操作需要服务时,开发人员的程序进行调用,当服务已被提供时,就进行控制返回。程序结构是以控制流为基础的,这在开发人员书写的代码中得到体现。
当使用结构时,情况就反了过来。开发人员不再对控制流负责。开发人员必须放弃根据执行流程理解编程任务的意向。相反地,思考必须依据目标的责任,这就必须依赖于结构来确定什么时候应该执行任务。开发人员书写的例行程序用由不是开发人员书写的和开发人员甚至根据看不到的代码来启动。控制流中的这一触发对于只具有过程编程经验的开发人员来说可以是很大的心理障碍。但是,一旦理解了这一点,结构编程所需的工作量要比其它类型的编程要少得多。
按照应用结构为开发人员提供预制功能的相同方式,系统结构,例如在最佳实施例中包括的系统结构通过提供系统级的服务来利用相同的概念,作为系统程序员的开发人员用有系统级的服务来进行细分/置换以便产生定制的解决方案。例如,考虑多媒体结构,它可以提供支持新的和多样化设备例如音频、视频、MIDI、动画等的基础。需要支持新类型设备的开发人员将必须写出设备驱动程序。利用结构来完成这一任务,则开发人员只需要提供该新设备特有的特性和行为。
在这一情形中,开发人员提供将要被多媒体结构调用的某一成员函数的实现。开发人员得到的眼前利益是多媒体结构已经提供了每一类设备所需的类属代码(generic code)。这意味着设备驱动程序开发人员书写、检测和调试较少的代码。利用系统结构的另一个例子是使用于SCSI设备、NuBus卡和图形设备有单独I/O结构。因为有被继承的功能,所以每一结构提供对在其设备类型中存在的共同功能的支持。其它开发人员然后可以依赖于所有类型设备的这些一致的接口。
最佳实施例利用结构的概念并将其贯穿整个系统。对于商业或协会开发者、系统集成者或OEM,这意味着对于例如MacApp这样的结构已指出的优点不仅可以在诸如文本和用户接口这样的应用级别上实现,也可以在诸如图形、多媒体、文件系统、I/O、测试等这样的服务的系统级别上实现。在最佳实施例体系结构中应用程序的生成将基本上类似于写遵守结构协议的特定领域的谜语。这样一来,编程的整个概念改变了,不是逐行地书写调用多个API分层结构的代码,而是通过从这一环境内已有结构获取类别,然后根据需要增加新的行为和/或置换继承的行为来开发软件。
因此,开发人员的应用程序成为了为所有其它结构的应用程序而写并被共享的代码集合。因为开发人员将能够在相互工作的基础上进行程序编写,所以这是强有力的概念,这还给开发人员提供了根据需要尽可能多地或尽可能少地进行定制的灵活性。某些结构将原样地被使用。在某些情形中,定制的数量是极少的,所以开发人员插入的谜语也是很少的。在其它情形中,开发人员可以进行广泛的修改,建立全新的事物。考虑到上述OOP的概述,彩色调色板管理在编程环境中产生特殊的问题。以下简要讨论图象彩色显形(colorvisualization)的使用。一般来说,彩色空间是有助于定义彩色的标量分量的显形的三维表示。在监视器上描绘色彩时使用的最普遍的色彩空间是“红”、“绿”和“蓝”(RGB)彩色空间,该色彩空间如图3所示,是可加的色彩空间。在RGB色彩空间中,在彩色监视器中使用的红、绿和蓝的每一“电子束枪”与立方体的坐标轴相关,即红电子束枪与红坐标轴相关、绿电子束枪与绿坐标轴相关、蓝电子束枪与蓝坐标轴相关。三坐标轴表示显示器彩色原色的红、绿、蓝。由于标量分量值在0和1.0之间变化,所以能够产生RGB空间中包含的所有颜色。
彩色监视器的表面上的每一象素包括红荧光物质、绿荧光物质和蓝荧光物质。每种荧光物具有确定监视器可以显示的颜色的物理性质。三种荧光物质和电子束枪的的最大相等强度确定监视器的彩色区域。如图3所示,彩色区域确定监视器能够显示什么样的可视频谱颜色。马蹄形曲线包括全部可视颜色、在彩色区域中的全部强度信息之外的曲线因子和只包括色度信息。当在色度空间中描绘彩色监视器的区域时,就产生图4所示的三角形。
监视器不能够在图4中所示的三角形外产生色彩。因此,监视器的荧光物质确定什么样的可视色彩子集可以被再现。但是,在监视器的三角形中,可以被组成的色彩的数量在本质上是有限的。虽然监视器的荧光物质理论上确定设备实际上可以显示哪种色彩,但每一监视器能够显示的色彩数目是有实际限制的。例如,由于计算机以数字(与模拟相反)方式操作,所以在监视器上实际能够被产生的色彩数目被限制为有限个数。随着监视器可产生的色彩数目的增大,存储屏幕的数字图象的存储器也增大。存储屏幕的存储器通常被包括在视频卡中。
由于存储器的成本,开发人员通常动态地设定用于操作的监视器彩色区域的所需部分。这一方案,如图5所示,利用存储在计算机存储器中或存储在安装在计算机内的显示适配器的存储器中的色彩查寻表(CLUT)。在所示的例子中,应用程序可以从一千六百万种颜色中选择256种。因此,监视器的色彩再现不是受到监视器再现彩色的能力的限制而是受到计算机中视频卡局限性的限制。但是,假定有限数目的色彩可被再现,则决定将哪种色彩设置在CLUT中就是问题(即缺乏灵活性。另一个问题是也许有若干种应用程序共享同一CLUT。
另外,可以提供足够多的色彩来足够细致地覆盖监视器的彩色区域,使得不需要CLUT并提供了直接的或连续的色彩。人类视觉系统能够区分50000不同的彩色。人类视觉系统的彩色灵敏度在马蹄形曲线的范围内不是平坦的。对于最佳的操作系统,当大于每象素16比较时,启动直接的色彩。因此,如果提供了至少16位/象素色彩,则RGB彩色空间被足够细致地划分,不需要CLUT。但是,以上讨论的问题在8位的CLUT中存在。
例如,在一种通常的操作系统中,开发了一种方法来处理系统CLUT的共享。选择性地使彩色调色板与应用程序中的视窗或与应用程序本身相关。开发了调色板管理系统其中,色彩可以被视,窗或被应用程序请求。根据所作请求的种类,可以以友善或非友善的方式共享色彩。当有效视窗或应用程序被改变时,调色板管理程序将以尽可能使用户视觉愉悦的方式在老的有效调色板和新的调色板之间进行转换。
但是,虽然在通常的操作系统中使CLUT与应用程序或视窗相关是相对容易的,但最佳的操作系统对于这种相关存在问题。在最佳的操作系统中,文件结构与通常的操作系统明显不同。最佳操作系统包含由若干小的封装程序(例如微型应用程序)组成的复合文件,即这些封装程序“粘结”成为较大的文件。如图6所示,每一封装程序在视图中并且知道它需要什么样的系统资源,但不知道其它封装程序需要什么。因此,在包含由若干被集成为一个文件的小的封装程序组成的复合文件的操作系统中,使CLUT与视图相关是非常困难的。因此必须根据在通常的系统中使用的色彩共享方法来产生不同的色彩共享方法。
为了确定一个给定的彩色监视器的合适的CLUT表目值,为图11所示,必须执行若干个步骤。在最佳实施例中使用彩色区域定义。对于彩色监视器,通过利用例如分光光度计这样的仪器进行八次仔细控制的测量来确定该区域。在XYZ空间中进行这些测量。该8点在RGB彩色监视器上的定义是:
全无黑
全红
全绿
全蓝
全黄
全青
全深红
全白
在XYZ彩色空间中,监视器通常的彩色区域的曲线图如图7所示。一旦在XYZ坐标上确定了彩色区域,就必须利用数学变换将其转变换成为LUV彩色空间。LUV彩色空间在数学上是非线性的并在彩色感觉方面接近线性。转换成为LUV彩色空间明显地改变了在如图3所示的RGB彩色空间中表示的彩色区域的立方性质。将图8与图3比较就可看出这一点。在图8中,按表示的L值在LUV彩色空间中对图7所描绘的区域进行分块。
用平面张驰技术来确定在CLUT中的实际RGB色彩。在这一技术中,按照预定的L值在彩色区域中进行分块。与这些分块的L轴的垂直交叉确定了其典型表示如图8所示的平面。计算每一个这些平面的面积。求平面面积的和以便确定总面积。全部平面的总面积然后可用来计算每单位面积CLUT色彩。这是通过将该总面积除以通常为256的CLUT表目个数来实现的。用该值来确定每平面CLUT表目个数。L=62.5的一个例子如图9所示,该特定平面需要52种色彩或52个CLUT表目。
用来实际确定这些值的方法是张驰技术。如图9所示,色彩首先分布在平面周边的正确位置和该平面中的白点处。平面中的白点是画过的白和黑点的线将与该平面交叉的点。然后剩余的色彩随机地分布在白点的附近。按照与某点附近各点的分隔成反比的距离递增地调整每一点到其近邻的点。对每一点重复这一调整,直到对全部点获得可接受的误差为止。对于L=50,张驰技术的结果如图10所示。对每一平面重复这一过程,由此产生完整的CLUT表目集。这一处理详细示于图11。图11是最佳实施例的流程图。处理从功能框1100开始,在此色彩区域被测量并被转换成为LUV色彩空间。该处理相应于图7和图8的说明。然后在功能框1110,确定亮度电平数目,在功能框1120确定全部亮度平面的总面积,在功能框1130将变量S初始化为每色彩查阅表表目单位面积。随后在功能框1140通过将S划分为每一亮度平面的面积来确定每亮度平面色彩查阅表表目的个数。接着,在功能框1150处,对于每一亮度平面,将色彩设定在平面边界附近。色彩分布在相应于图9所示的每色彩查阅表表目单位面积的均方根的位置处。最后,如在功能框1160中所指出的,附加色彩随机地设定,并且对于每一亮度平面,如在功能框1170的指出和图11所表示的,对色彩进行张驰以便获得象素的相等支出。
如图2所示,在最佳实施例中,支持若干监视器和视频卡结构。最佳实施例的彩色调色板管理系统最好不有效支持8位以下的色彩。最好足够细地划分8位以上的监视器色彩区域,以便提供直接(例如连续)的色彩。如上所述,8位CLUT必须被全部视图共享。
因此,最佳操作系统中的调色板管理集中在划分一个系统的具有预定位数的CLUT上,使得在文件(例如复合文件)中的全部视图能够协调地和一致地共享彩色。根据本发明,由于灰色和彩色配置必须得到支持,所以本发明选择预定数目的灰色,使得即使在存在彩色时在灰色之间也有平滑的过渡。此外,选择的灰色最好是纯灰。由于眼睛能够相当容易地检测灰色梯度,所以灰度梯度不应只是接近灰色。例如,最好使用的24个灰度梯度(不包括如下所述算作彩色的6个灰度梯度)。
因此,本发明最好处理232(如256-24=232)种彩色。由于(例如与在屏幕上显示图象的速度相关的)实际原因,应当均匀地划分彩色区域。例如,如果规定6种红色深浅度、6种绿色深浅度和6种蓝色深浅度,这就导致6×6×6=216种不同的彩色组合。在原来256—24—216种色彩中,还剩下16种。最好这样选择剩下的16种彩色,使它们一致地出现在多个图形设备上。此外,在编程环境中,这16种色彩最好应是唯一的并且用命名而不是用值来表示。例如,两种彩色最好与在Taligent商标Teal(Panton 3125C)和Purple(2735C)中使用的色彩一致。
本发明的特点之一是它给予利用本发明的彩色调色板管理系统的开发人员一定的自由度。例如,某些开发人员也许希望改变底层的CLUT。本发明通过建立开发人员可以建立新的图形设备和选择他们自己的256种色彩集合的钩符来规定了这种特征。即使在运行最佳操作系统的时候这种特征也是可能的。此外,利用本发明,开发人员具有改变彩色监视器设备上的伽马表的能力,这种能力由本发明作为一种功能来提供。
总而言之,本发明通过选择驻留在操作系统中的通用8位CLUT为彩色调色板管理提供了保证。为监视器2位和4位彩色CLUT提供了钩符,但钩符不被实施。2位和4位脱屏CLUT被完全实施。8位灰色CLUT将被实施。还提供了钩符来改变8位CLUT但钩符将不被实施。伽马表控制被实施并且命名彩色(例如16种)被支持。因此,本发明的彩色调色板管理系统可以被应用程序开发人员定制并且被看作是位于操作系统内的结构,使得开发人员能够利用提供的钩符改变底层的CLUT和选择他们自己的256种彩色。
虽然已根据单个实施例描述了本发明,但本领域的技术人员知道可以在权利要求的精神和范围内实施本发明。

Claims (27)

1.管理在带有显示设备的计算机存储器中的彩色调色板的方法,存储器包含面向目标的操作系统,该方法包括以下步骤:
(a)为操作系统建立色彩查阅表(CLUT);
(b)将CLUT划分为预定数目的色彩;
(c)显示具有多个视图的图形信息;以及
(d)在图形信息的多个视图之间共享CLUT中的预定数目的色彩,其中预定数目的色彩包括多种色彩,当在多个视图的第一和第二视图之间被共享时,每种彩色具有预定的一致性。
2.权利要求1所述的方法,包括在计算机存储器中生成带有预定数目色彩的固定深浅度CLUT的步骤。
3.权利要求1所述的方法,包括建立根据第一基准CLUT建立第二CLUT的设备的步骤,第二CLUT在计算机存储器中是可定制的。
4.权利要求1所述的方法,包括在计算机存储器的CLUT中确定多种彩色的预定数目的深浅度的步骤。
5.权利要求1所述的方法,其中色彩包括在计算机存储器中的红、绿、蓝和灰。
6.权利要求1所述的方法,包括在计算机存储器中给CLUT提供8位分辨率的步骤。
7.权利要求1所述的方法,包括在计算机存储器中给CLUT提供16位分辨率的步骤。
8.权利要求1所述的方法,包括在计算机存储器中给CLUT提供64位分辨率的步骤。
9.权利要求1所述的方法,包括在计算机存储器中给CLUT提供128位分辨率的步骤。
10.权利要求1所述的方法,包括在复合文件中提供多个视图的步骤,复合文件包括带有装配在复合文件中的多个应用程序的封装程序,每一个封装程序位于计算机存储器的相应视图中。
11.权利要求1所述的方法,包括在显示设备上显示与伽马表相关的图形信息的步骤。
12.权利要求11所述的方法,包括修改计算机存储器中的伽马表以便随后在显示设备上进行显示的步骤。
13.权利要求12所述的方法,包括将伽马表存储在显示设备的存储器中的步骤。
14.管理在带有显示设备的计算机存储器中的彩色调色板的设备,存储器包含面向目标的操作系统,该设备包括:
(a)为操作系统建立色彩查阅表(CLUT)的装置;
(b)将CLUT划分为预定数目的色彩的装置;
(c)显示具有多个视图的图形信息的装置;以及
(d)在图形信息的多个视图之间共享CLUT中的预定数目的色彩的装置,其中预定数目的色彩包括多种色彩,当在多个视图的第一和第二视图之间被共享时,每种色彩具有预定的一致性。
15.权利要求14所述的,包括在计算机存储器中生成预定数目色彩的固定深浅度CLUT的装置。
16.权利要求14所述的设备,包括建立根据第一基准CLUT建立第二CLUT的设备的装置,第二CLUT在计算机存储器中是可定制的。
17.权利要求14所述的设备,包括在计算机存储器的CLUT中确定多种色彩的预定数目的深浅度的步骤。
18.权利要求14所述的设备,其中色彩包括在计算机存储器中的红、绿、蓝和灰。
19.权利要求14所述的设备,包括在计算机存储器中给CLUT提供8位分辨率的装置。
20.权利要求14所述的设备,包括在计算机存储器中给CLUT提供16位分辨率的装置。
21.权利要求14所述的设备,包括在计算机存储器中给CLUT提供64位分辨率的装置。
22.权利要求14所述的设备,包括在计算机存储器中给CLUT提供128位分辨率的装置。
23.权利要求14所述的设备,包括在复合文件中提供多个视图的装置,复合文件包括带有装配在复合元件中的多个应用程序的封装程序,每一个封装程序位于计算机存储器的相应视图中。
24.权利要求14所述的设备,包括在显示设备上显示与伽马表相关的图形信息的装置。
25.权利要求24所述的设备,包括修改计算机存储器中的伽马表以便随后在显示设备上进行显示的装置。
26.权利要求25所述的设备,包括将伽马表存储在显示设备的存储器中的步骤。
27.管理在供面向目标的操作系统使用的带有显示设备的计算机存储器中的彩色调整板的结构,该结构包括:
(a)在显示设备上显示图形信息的装置,图形信息包括多个视图;
(b)为在计算机存储器中的操作系统建立色彩查阅表(CLUT)的装置;
(c)在计算机存储器中均匀地将CLUT划分为预定数目的色彩的装置;以及
(d)在图形信息的多个视图之间共享CLUT中的预定数目的彩色的装置,其中预定数目的色彩包括多种色彩,当在多个视图的第一和第二视图之间被共享时,每种彩色具有预定的一致性,其中建立CLUT的装置包括规定多个程序员定义的部件的装置,每一程序员定义的部件可被存取,以便修改表示正在显示的图形信息的数据,根据程序员的需要,用户定义的部件是在面向目标的结构内选择性地可交换的。
CN94190879A 1993-08-11 1994-01-03 面向目标的调色板系统 Pending CN1116456A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/104,839 US5586236A (en) 1993-08-11 1993-08-11 Universal color look up table and method of generation
US08/104,839 1993-08-11

Publications (1)

Publication Number Publication Date
CN1116456A true CN1116456A (zh) 1996-02-07

Family

ID=22302665

Family Applications (1)

Application Number Title Priority Date Filing Date
CN94190879A Pending CN1116456A (zh) 1993-08-11 1994-01-03 面向目标的调色板系统

Country Status (7)

Country Link
US (1) US5586236A (zh)
EP (1) EP0712528B1 (zh)
CN (1) CN1116456A (zh)
AU (1) AU6018394A (zh)
CA (1) CA2149869A1 (zh)
DE (1) DE69415813D1 (zh)
WO (1) WO1995004987A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1302373C (zh) * 2003-05-23 2007-02-28 威盛电子股份有限公司 型样存储器共享色彩对照表的方法及装置
CN100388756C (zh) * 2004-03-22 2008-05-14 株式会社东芝 用于进行颜色转换的方法和设备
CN101106729B (zh) * 2002-10-02 2012-12-19 Lg电子株式会社 用于控制图形数据再现的数据结构的记录和再现方法及装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6745390B1 (en) * 1998-03-12 2004-06-01 United Video Properties, Inc. Palette management for display of regular graphic objects
US20030091229A1 (en) * 2000-03-31 2003-05-15 Imation Corp. Color image display accuracy using comparison of complex shapes to reference background
US6812939B1 (en) 2000-05-26 2004-11-02 Palm Source, Inc. Method and apparatus for an event based, selectable use of color in a user interface display
US7075555B1 (en) * 2000-05-26 2006-07-11 Palmsource, Inc. Method and apparatus for using a color table scheme for displaying information on either color or monochrome display
US20130207994A1 (en) * 2012-02-13 2013-08-15 Vilen Rodeski System and method for generating and applying a color theme to a user interface
US10152804B2 (en) 2015-02-13 2018-12-11 Smugmug, Inc. System and method for dynamic color scheme application
KR102331342B1 (ko) * 2020-01-09 2021-11-24 신상현 어플리케이션의 오브젝트 색상을 커스터마이징 하는 방법 및 장치

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4394688A (en) * 1981-08-25 1983-07-19 Hamamatsu Systems, Inc. Video system having an adjustable digital gamma correction for contrast enhancement
US4821220A (en) * 1986-07-25 1989-04-11 Tektronix, Inc. System for animating program operation and displaying time-based relationships
US4885717A (en) * 1986-09-25 1989-12-05 Tektronix, Inc. System for graphically representing operation of object-oriented programs
US4891630A (en) * 1988-04-22 1990-01-02 Friedman Mark B Computer vision system with improved object orientation technique
US4953080A (en) * 1988-04-25 1990-08-28 Hewlett-Packard Company Object management facility for maintaining data in a computer system
EP0347162A3 (en) * 1988-06-14 1990-09-12 Tektronix, Inc. Apparatus and methods for controlling data flow processes by generated instruction sequences
US5041992A (en) * 1988-10-24 1991-08-20 University Of Pittsburgh Interactive method of developing software interfaces
US5133075A (en) * 1988-12-19 1992-07-21 Hewlett-Packard Company Method of monitoring changes in attribute values of object in an object-oriented database
US5050090A (en) * 1989-03-30 1991-09-17 R. J. Reynolds Tobacco Company Object placement method and apparatus
US5060276A (en) * 1989-05-31 1991-10-22 At&T Bell Laboratories Technique for object orientation detection using a feed-forward neural network
US5125091A (en) * 1989-06-08 1992-06-23 Hazox Corporation Object oriented control of real-time processing
CA2012403A1 (en) * 1989-06-19 1990-12-19 John J. Deacon Display system having a hexagonal crystal structured color palette
US5181162A (en) * 1989-12-06 1993-01-19 Eastman Kodak Company Document management and production system
US5093914A (en) * 1989-12-15 1992-03-03 At&T Bell Laboratories Method of controlling the execution of object-oriented programs
US5075848A (en) * 1989-12-22 1991-12-24 Intel Corporation Object lifetime control in an object-oriented memory protection mechanism
US5151987A (en) * 1990-10-23 1992-09-29 International Business Machines Corporation Recovery objects in an object oriented computing environment
US5119475A (en) * 1991-03-13 1992-06-02 Schlumberger Technology Corporation Object-oriented framework for menu definition

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101106729B (zh) * 2002-10-02 2012-12-19 Lg电子株式会社 用于控制图形数据再现的数据结构的记录和再现方法及装置
CN1302373C (zh) * 2003-05-23 2007-02-28 威盛电子股份有限公司 型样存储器共享色彩对照表的方法及装置
CN100388756C (zh) * 2004-03-22 2008-05-14 株式会社东芝 用于进行颜色转换的方法和设备

Also Published As

Publication number Publication date
EP0712528B1 (en) 1999-01-07
WO1995004987A1 (en) 1995-02-16
DE69415813D1 (de) 1999-03-18
US5586236A (en) 1996-12-17
AU6018394A (en) 1995-02-28
EP0712528A1 (en) 1996-05-22
CA2149869A1 (en) 1995-02-16

Similar Documents

Publication Publication Date Title
US6337699B1 (en) Visualizing degrees of information object attributes
CN1126031C (zh) 面向目标的图形处理方法
US5546105A (en) Graphic system for displaying images in gray-scale
CN100390825C (zh) 混合多重图象的方法
CN101840687B (zh) 具有增强的属性的彩色显示装置和方法
US5504853A (en) System and method for selecting symbols and displaying their graphics objects in a detail window
US6756992B2 (en) Display equipment, display method, and storage medium storing a display control program using sub-pixels
US5388201A (en) Method and apparatus for providing multiple bit depth windows
CN1030804C (zh) 应用多维数据图符的方法与设备
Rogowitz et al. An architecture for rule-based visualization
EP0740270B1 (en) Image output device
US5473737A (en) Method and apparatus for displaying a composite image made up of a foreground image and a background image
US20090073187A1 (en) Rendering Electronic Chart Objects
CN1116456A (zh) 面向目标的调色板系统
CN106205452B (zh) 定时控制器和显示装置
JP3075567B2 (ja) 階調変換方式
AU594724B2 (en) Emulation attribute mapping for a colour video display
CN1022955C (zh) 三维图形接口
MacIntyre A constraint-based approach to dynamic colour management for windowing interfaces
JPH09500980A (ja) オブジェクト指向パレット・システム
Bashir et al. A Tale of Two Toolkits: Developing an Application Using First and Second Generation Object Oriented User Interface Technology.
EP0664039B1 (en) Object-oriented element shading and coloring
Andriole et al. Storyboard prototypes for group planning and decision-making
Styne et al. Pad structures for the Rainbow workstation
JP4660128B2 (ja) 電光表示システム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C01 Deemed withdrawal of patent application (patent law 1993)
WD01 Invention patent application deemed withdrawn after publication