CN101375249B - 支持传统和先进色彩管理应用程序的色彩管理系统和方法 - Google Patents

支持传统和先进色彩管理应用程序的色彩管理系统和方法 Download PDF

Info

Publication number
CN101375249B
CN101375249B CN2004800017134A CN200480001713A CN101375249B CN 101375249 B CN101375249 B CN 101375249B CN 2004800017134 A CN2004800017134 A CN 2004800017134A CN 200480001713 A CN200480001713 A CN 200480001713A CN 101375249 B CN101375249 B CN 101375249B
Authority
CN
China
Prior art keywords
advanced
color management
request
profile
parameter
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
Application number
CN2004800017134A
Other languages
English (en)
Other versions
CN101375249A (zh
Inventor
M·斯托科斯
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN101375249A publication Critical patent/CN101375249A/zh
Application granted granted Critical
Publication of CN101375249B publication Critical patent/CN101375249B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Abstract

本发明提供用于支持组件与色彩管理系统之间的传统应用程序编程接口(API)集的方法和装置。该传统API集支持新的能力以及传统能力。该色彩管理系统确定由API调用(413)所引用的对象的格式类型。如果对象与传统格式相关联,则API调用由传统处理模块(417)进行处理。如果对象与先进格式相关联,则API调用由先进处理模块(419)进行处理。如果具有混合格式的多个对象与一API调用相关联,则色彩管理系统转换部分对象使得对象的格式一致。一通用结构支持可能具有传统格式或先进格式的对象。

Description

支持传统和先进色彩管理应用程序的色彩管理系统和方法
相关申请
本申请声明对申请号为10/705,132于2003年11月10日提交的题为“ColorManagement System That Supports Legacy and Advanced Color ManagementApplications”(律师案号为003797.00700)的专利申请的优先权,在此将其引入作为参考。
技术领域
本发明涉及计算机系统的色彩管理技术,尤其涉及提供支持先进色彩管理能力的传统应用程序接口(API)的兼容性。
背景技术
对于现有技术所支持的一输入一输出工作流而言,通常并不需要色彩管理。图像通常由专业操作者使用单个扫描仪产生与单个输出装置相协调的例如青、品红、黄、黑的四分色(CMYK)格式的色彩呈现来扫描。点状色彩通过混合点滴墨水或使用样本书中标准的CMYK公式来处理。通常无法得到准确的监视器显示。系统工作是由于扫描仪所产生的CMYK值对输出装置作了调整,形成了处理一个数字集的封闭循环。
近来,输入装置和输出装置的类型有了显著的增长。输入装置不仅包括高端的鼓形扫描仪而且包括高端的平板扫描仪、桌面平板、桌面幻灯片扫描器以及数码相机。输出装置不仅包括带有无水油墨、大豆油墨、直接制版印刷以及高保真色彩的web和续纸印刷,而且包括数字校样器、苯胺印刷、胶片录影机、丝网印刷机、彩色复印机、激光打印机、喷墨打印机、甚至作为最终输出装置的监视器。输入输出装置的多样性使得如前所述的封闭工作流方法非常地复杂。因而,可能的工作流可与输入装置对输出装置的多对多映射相关联。
结果是可能大量的从输入装置到输出装置的可能转换。对于m输入对n输出的工作流,可能需要从输入到输出的mxn个不同转换。随着输入和输出装置多样性的增加,提供从输入到输出的所需色彩转换的任务容易变得难以管理。
色彩管理是用于管理在不同输入装置和输出装置组合之间可支持的不同工作流的方案。通常色彩管理支持所需各色彩的中间呈现。中间呈现通常被称为轮廓文件(Profile)连接空间(PCS),或者可被称为工作空间。轮廓文件连接空间的功能是用作多个装置对装置转换的中心。有了这样的方法,mxn链接问题被减为m+n链接,其中每个装置仅需一个链接。每个链接有效地描述了装置的色彩复制行为。通常链接被称为装置轮廓文件。装置轮廓文件和轮廓文件连接空间是色彩管理系统中四个关键组件的两个。
基于当前的国际色彩协会(ICC)规范,色彩管理系统的四个基本组件是轮廓文件连接空间、轮廓文件集、色彩管理模块(CMM)、以及呈现目的。轮廓文件连接空间使色彩管理系统能给色彩一CIE XYZ或CIE LAB色彩空间中的明确数字值,该值不依赖于用以复制色彩的多个装置的独特方法而是像人们真正看到的一样来定义色彩。(CIE XYZ和CIE LAB都是与装置无关地建模的色彩空间。)轮廓文件描述装置的RGB(红绿蓝)或CMYK控制信号与控制信号所产生的真实色彩之间的关系。具体地,轮廓文件定义对应于一给定RGB或CMYK数字集的CIE XYZ或CIE LAB值。色彩管理模块(CMM)常被称为色彩管理系统的引擎。色彩管理模块是执行转换RGB或CMYK值所需所有计算的一个软件。色彩管理模块与包含在轮廓文件中的色彩数据一起工作。呈现目的包括四种不同的呈现目的。每类呈现目的是一种处理“范围外”色彩的不同方法,其中输出装置不能物理地复制呈现在源空间的色彩。
当工作流变得越来越复杂时,对用户而言用于在图像文件从输入(例如扫描仪)流至输出(例如打印机)时管理图像文件色彩的色彩管理就变得越来越重要。工作流利用色彩管理的四个步骤,包括定义色彩含义、标准化色彩、转换色彩和校样。定义色彩含义包括判断在内容中是否嵌有轮廓文件,并且如果没有内嵌轮廓文件则定义一轮廓文件。然后工作流可对工作空间(对应于装置无关色彩空间)标准化色彩,或将图像文件的色彩呈现直接转换至目标空间来进行。如果色彩对工作空间标准化,则在该工作空间中执行操作,例如用户更改工作空间中的选定色彩。然后色彩管理系统使用来自工作空间的公共值来建立一个来自源轮廓文件和目标轮廓文件的转换表格。因此色彩管理系统可使用该转换表格把源图像转换成目标图像。
可在利用操作系统所支持的色彩管理能力的应用程序中投入充足的精力、资源和金钱,其中应用程序利用应用程序接口(API)来利用这些能力。为了在市场上具有竞争力并满足用户需求,可添加应用程序可利用的新能力来修改色彩管理系统。然而,如果应用程序已对传统能力使用了一传统API集且先进API集与该传统API集不兼容,则为了访问新的能力和增强,通常并不要求传统应用程序支持先进API集。这样做使得在修改应用程序时必须大量精力和成本。
在现有技术中,当引入带有相应的新API集的色彩管理系统新版本时,色彩管理方案通常不支持传统应用程序或方案。通过改变和/或修饰传统API集或通过用先进API集替换传统API集,色彩管理系统新版本可对传统版本中的问题提供新的能力、增强以及解决方案(修复)。如果是这样,传统应用程序可能不与先进API集兼容,并因而不与色彩管理系统的新版本兼容。另一方面,考虑到开发和维护问题,对色彩管理系统而言既支持传统API集又支持先进API集是困难并昂贵的。提供传统API与新色彩管理方案的兼容性是本领域中的一个进步。
发明内容
本发明提供用于支持组件(例如应用程序)与系统(例如色彩管理系统)之间的传统应用程序编程接口(API)集的方法和装置。有了该系统提供的新能力和增强,传统API集既支持新的能力和增强又支持传统能力。因此,由于仅需支持传统API集而不是多个API集,所以便于更新和维护系统软件。此外,传统应用程序能使用传统API集与系统交互。
对于本发明一方面,色彩管理系统可用传统API集来支持传统应用程序和先进应用程序。色彩管理系统确定由API调用所引用的对象的格式类型。如果对象与传统格式相关联,则API调用由传统处理模块进行处理。如果对象与先进格式相关联,则API调用由先进处理模块进行处理。
对于本发明另一方面,如果多个对象与一API调用相关联,且如果多个对象具有混合格式,则色彩管理系统转换部分对象使得对象的格式一致。然后色彩管理系统对具有一致格式的对象执行所要求的操作。
对于本发明又一方面,一通用结构支持可能具有传统格式或先进格式的对象,而不需要支持传统格式和先进格式的两个单独结构。
根据本发明的第一方面,提供了一种用于支持来自组件的请求的方法,所述方法包括:(a)接收所述请求,其中所述请求与一色彩管理操作相关联且与所述请求的传统版本兼容,所述请求标识一个对象集;(b)确保所述对象集的所有对象与同一格式相关联;(c)如果所述同一格式与传统格式相对应,调用传统处理模块以处理所述请求;(d)如果所述同一格式与先进格式相对应,调用先进处理模块以处理所述请求;(e)将结果返回所述组件,所述结果与所述色彩管理操作相关联;其中所述对象集的一个对象对应于一个轮廓文件且所述请求指示轮廓文件的被请求的元素被访问,其中(e)包括:(i)如果被请求的元素与轮廓文件的的格式兼容,则返回关于被请求元素的信息;以及(ii)如果被请求的元素与轮廓文件的的格式不兼容,返回相应元素的相应信息。
根据本发明的第2方面,如第1方面所述的方法,其中(b)包括:(i)如果所述对象集以混合格式为表征,则转换所述对象集的至少一个对象,其中所述所有对象与所述同一格式相关联。
根据本发明的第3方面,如第2方面所述的方法,其中(i)包括:(1)如果所述对象之一与所述先进格式相关联,则转换与所述传统格式相关联的每个对象使之与所述先进格式相关联。
根据本发明的第4方面,如第2方面所述的方法,其中(i)包括:(1)如果所述对象之一与所述传统格式相关联,则转换与所述先进格式相关联的每个对象使之与所述传统格式相关联。
根据本发明的第5方面,如第1方面所述的方法,其中(b)包括:(i)确定格式替换指示符的选定模式,所述选定模式是多个模式选择之一,所述多个模式选择由一策略支持;以及(ii)如果格式替换指示符被配置为唯先进模式,则转换与所述传统格式相关联的每个对象使之与所述先进格式相关联。
根据本发明的第6方面,如第1方面所述的方法,其中(b)包括:(i)确定格式替换指示符的选定模式,所述选定模式是多个模式选择之一,所述多个模式选择由一策略支持;以及(ii)如果格式替换指示符被配置为唯传统模式,则转换与所述先进格式相关联的每个对象使之与所述传统格式相关联。
根据本发明的第7方面,如第1方面所述的方法,其中所述传统格式遵从国际色彩协会(ICC)格式。
根据本发明的第8方面,如第1方面所述的方法,其中所述先进格式遵从虚拟装置模块轮廓文件。
根据本发明的第9方面,如第1方面所述的方法,其中所述请求包括应用程序接口调用。
根据本发明的第10方面,如第9方面所述的方法,其中所述应用程序接口调用的一类别从由打开轮廓文件类别、关闭轮廓文件类别、获取轮廓文件元素类别、设置轮廓文件元素类别、创建变换类别、以及转换色彩类别组成的组合中选择。
根据本发明的第11方面,如第9方面所述的方法,其中所述应用程序接口调用遵从图像色彩管理。
根据本发明的第12方面,如第1方面所述的方法,其中所述组件是起动所述请求的请求组件。
根据本发明的第13方面,如第1方面所述的方法,其中所述组件是将所述请求传递给色彩管理系统的中间组件。
根据本发明的第14方面,如第1方面所述的方法,其中所述对象集包括具有混合格式的第一对象和第二对象,且其中(b)包括:(i)转换与所述传统格式相关联的所述第一对象和所述第二对象之一使之与所述先进格式相关联。
根据本发明的第15方面,如第14方面所述的方法,其中所述第一对象和所述第二对象对应于源轮廓文件和目标轮廓文件,且其中(d)包括:(i)构建使源色彩空间与目标色彩空间相关的查询表格;以及(ii)将源图像的源象素转换成目标图像的目标象素。
根据本发明的第16方面,如第1方面所述的方法,其中所述对象集的对象对应于轮廓文件且所述请求指示要访问所述轮廓文件的元素,并且其中(e)包括:(i)如果所述元素与所述轮廓文件的格式兼容,则返回关于所述元素的信息;以及(ii)如果所述元素与所述轮廓文件的格式不兼容,则返回错误指示。
根据本发明的第17方面,如第1方面所述的方法,其中(ii)包括:(1)确定所述相应元素对应于所述被请求元素,所述相应元素与所述轮廓文件格式兼容;以及(2)返回关于所述相应元素的所述相应信息。
根据本发明的第18方面,提供一种支持来自组件的请求的色彩管理系统,其中所述色彩管理系统包括:一应用程序接口层模块,它接收来自组件的所述请求,所述请求标识一对象;一应用程序接口适应层模块,它获取来自所述应用程序接口层模块的请求并分析所述请求来判断所述对象是与传统格式相关联还是与先进格式相关联;一传统处理模块,如果所述对象与所述传统格式相关联时处理所述请求;一先进处理模块,如果所述对象与所述先进格式相关联时处理所述请求;以及容纳所述对象的至少一个结构。
根据本发明的第19方面,如第18方面所述的色彩管理系统,其中所述至少一个结构包括一容纳所述对象的通用结构,且其中所述通用结构与所述传统格式和所述先进格式兼容。
根据本发明的第20方面,如第19方面所述的色彩管理系统,其中还包括:容纳另一对象的另一通用结构,其中所述另一通用结构与所述传统格式和所述先进格式兼容。
根据本发明的第21方面,如第19方面所述的色彩管理系统,其中所述通用结构利用一句柄来标识所述对象的元素。
根据本发明的第22方面,如第18方面所述的色彩管理系统,其中如果另一对象与所述先进格式相关联,则所述应用程序接口适应层模块把所述对象从所述传统格式转换成所述先进格式。
根据本发明的第23方面,提供一种支持应用程序接口的方法,其中所述方法包括:(a)接收来自一组件的应用程序接口调用,所述应用程序接口调用包含一参数;(b)分析一对象以判断所述对象对应于传统格式还是先进格式,所述对象由所述参数标识,所述应用程序接口调用与所述传统格式和所述先进格式兼容;(c)如果所述对象与所述传统格式相关联,调用传统处理模块以处理所述应用程序接口调用;(d)如果所述对象与所述先进格式相关联,调用先进处理模块以处理所述应用程序接口调用;(e)响应于(c)-(d),更改根据所述对象的格式呈现所述对象的通用结构,所述通用结构容纳所述传统格式和所述先进格式;以及(f)返回一应用程序接口响应。
根据本发明的第24方面,如第23方面所述的方法,其中所述参数包括一指针,所述指针标识所述对象。
根据本发明的第25方面,如第23方面所述的方法,其中(b)包括:(i)如果所述对象与所述传统格式相关联,另一对象与所述先进格式相关联,而所述另一对象由包含在所述应用程序接口调用中的另一参数标识,则转换所述对象以与所述先进格式兼容。
根据本发明的第26方面,提供了一种用于支持来自组件的请求的系统,其中所述系统包括:(a)用于接收所述请求的装置,其中所述请求与一色彩管理操作相关联且与所述请求的传统版本兼容,所述请求标识一个对象集;(b)用于确保所述对象集的所有对象与同一格式相关联的装置;(c)用于如果所述同一格式与传统格式相对应,调用传统处理模块以处理所述请求的装置;(d)用于如果所述同一格式与先进格式相对应,调用先进处理模块以处理所述请求的装置;(e)用于将结果返回所述组件,所述结果与所述色彩管理操作相关联的装置;其中所述对象集的一个对象对应于一个轮廓文件且所述请求指示轮廓文件的被请求的元素被访问,其中(e)包括:(i)用于如果被请求的元素与轮廓文件的的格式兼容,则返回关于被请求元素的信息的装置;以及(ii)用于如果被请求的元素与轮廓文件的的格式不兼容,返回相应元素的相应信息的装置。
根据本发明的第27方面,如第26方面所述的系统,其中如果所述对象集以混合格式为表征,则所述用于确保所述对象集的所有对象与同一格式相关联的装置转换所述对象集的至少一个对象,其中所述所有对象与所述同一格式相关联。
根据本发明的第28方面,如第27方面所述的系统,其中如果所述对象之一与所述先进格式相关联,则所述用于确保所述对象集的所有对象与同一格式相关联的装置转换与所述传统格式相关联的每个对象使之与所述先进格式相关联。
根据本发明的第29方面,提供了一种响应于来自一组件的输入的方法,其中所述方法包括:设置一第一输入参数,它标识与一色彩管理操作相关联的第一对象,所述第一对象具有传统格式;设置一第二输入参数,它标识与一色彩管理操作相关联的第二对象,所述第二对象具有先进格式;呈现返回结果的一第三参数,所述结果指示色彩管理操作;以及接收所述第一输入参数和所述第二输入参数并根据所述第一输入参数和所述第二输入参数来执行所述色彩管理操作。
根据本发明的第30方面,提供了一种色彩管理方法,包括:接收来自第一组件的第一参数和第二参数,所述第一参数标识第一对象而所述第二参数标识第二对象,两对象均与色彩管理操作相关联,所述第一对象具有传统格式而所述第二对象具有先进格式;将所述第一参数和所述第二参数传送给第二组件,所述第二组件利用所述第一参数和所述第二参数来根据所述第一参数和所述第二参数执行所述色彩管理操作;接收来自所述第二组件的至少一个输出,所述至少一个输出指示有关色彩管理操作的结果;以及将所述至少一个输出传送给所述第一组件。
根据本发明的第31方面,提供了一种用于支持来自一组件的请求的方法,其中所述方法包括:(a)接收所述请求,其中所述请求与一色彩管理操作相关联且与所述请求的传统版本兼容,所述请求标识一个对象集;(b)如果所述对象集以混合格式为表征,则根据格式替换指示符转换所述对象集的至少一个对象,其中所有对象与同一格式相关联,且其中所述格式替换指示符与策略所支持的多个模式选择之一相对应;(c)如果所述同一格式与传统格式相对应,调用传统处理模块以处理所述请求;(d)如果所述同一格式与先进格式相对应,调用先进处理模块以处理所述请求;(e)将结果返回所述组件,所述结果与所述色彩管理操作相关联。
附图说明
参阅附图和以下描述,可获得对本发明及其优点的更全面理解,在附图中类似标号表示类似特征,且其中:
图1示出其上可实现本发明的适当计算系统环境的一个示例;
图2示出本发明一实施例所支持的国际色彩协会(ICC)轮廓文件;
图3示出本发明一实施例所支持的虚拟装置模型轮廓文件;
图4根据本发明一实施例示出色彩管理系统的一个体系结构;
图5根据本发明一实施例示出启用API调用通过一中间组件到色彩管理系统的请求组件;
图6根据本发明一实施例示出将色彩信息从源图像文档转换到目标图像文档的色彩管理系统的体系结构;
图7根据本发明一实施例示出利用用于处理图像文档的通用结构的色彩管理系统的体系结构;
图8根据本发明一实施例示出用于处理GET/SET(获得/设置)API类别的流程图;
图9将接口示为通过它第一和第二代码分段进行通信的通道;
图10将接口示为包括接口对象;
图11示出由可被拆分成多个接口的接口提供的功能以转换接口通信;
图12示出由可被拆分成多个接口的接口提供的功能以便获取与图11示出功能相同的结果;
图13示出略去、添加、或重新定义编程接口各方面而仍获得同一结果的一个示例;
图14示出略去、添加、或重新定义编程接口各方面而仍获得同一结果的另一示例;
图15示出合并与图9所示示例相关的代码分段;
图16示出合并与图10所示示例相关的接口;
图17示出转换通信以遵从不同接口的中间件;
图18示出与分离接口相关联的代码分段;
图19示出应用程序的已安装基础被设计成根据接口协议与操作系统通信的一示例,在该协议中操作系统被改变成使用一不同接口;
图20示出重写接口以动态地分解或以其它方式改变接口。
具体实施方式
在本发明以下说明书中要参照附图,这些附图形成本说明书的一部分,且其中作为说明示出了本发明可实践的特定示例。要理解可利用其它实施例,且可作出结构变化而不背离本发明的范围。
包括了以下术语的定义以便于对详细描述的理解。
·通道-图像包含一个或多个信息“通道”。通常色彩由累加的元色(红绿蓝)表示。这三种色彩的每一种的色彩信息被编码到其自己的通道中。通道并不限于RGB-它们可分解成照度(亮度)和色度(色彩)通道,或者用其它更奇特的方法。还可使用通道来编码不同于色彩的东西-例如透明度。图像色彩质量的度量是每个通道用以编码的比特数(bpch)。
·剪切-任何时候在源数据中两个不同值被映射到目标数据中同一值,这些值称为被剪切。这是重要的,因为被剪切数据不能恢复到其原始状态-信息已被丢失。诸如改变亮度或对比度的操作可剪切数据。
·色彩管理-色彩管理是确保由一装置记录的色彩在一不同装置上尽可能忠实地呈现给用户优选的过程,这常与一装置上对另一装置的感知相匹配。与人类的眼睛相比,成像装置的传感器具有较有限的捕捉人类眼睛可捕捉的所有色彩和动态范围的能力。同一问题也出现在显示装置和输出装置上。问题是尽管所有这三类装置都具有这些色彩和动态范围限制,但它们中没有一类具有完全相同的限制。因此,转换‘规则’被设置为当其在工作流中移动时保留尽可能多的有限色彩和动态范围信息,并确保信息对人类眼睛而言显现得尽可能地逼真。
·色彩空间-传感器可检测和记录色彩,但没有参考基准的原始电压值完全没有意义。参考基准比例可以是传感器本身的度量能力-如果传感器被测量为具有特定的频率响应频谱,则所产生的数字将具有含义。然而更有用的会是呈现人类眼睛所有可见色彩的一通用基准。有了这样的基准(称为CIELAB的色彩空间),色彩可明确地呈现,且其它装置可使用该信息并尽力复制它。有各种各样众所周知的色彩空间,包括为成像世界中特定目的而开发的sRGB、scRGB、AdobeRGB。
·色彩环境-所述色彩空间中色域的一般化形式。尽管某些文件格式使用了由特定色彩管理标准所述的色域信息,色彩环境实际上是同一概念但包括了不支持ICC色域信息的那些文件(编码)格式。
·动态范围-在数学上是系统能够编码的最大值信号除以同一系统能够编码的最小值信号。该值给出了系统可编码的信息范围的表示。
·色域-在诸如打印机或监视器的输出装置中可复制的色彩和强度值范围。
·色调-人们由其感知主要波长的色彩属性。
·HSV色彩模型-将色度呈现为角度而将饱和度呈现为离中心的距离的色度示图。
·ICC-国际色彩协会
·强度-来自一表面或光源的光线的纯量,无论观察者是如何感知光线的。
·精度-呈现一色彩的准确度。通过增加每个通道编码的比特数通常准确率可增加,假设源数据具有充分的色彩分辨率。
·轮廓文件-包含足够信息以使色彩管理系统将色彩转换到特定色彩空间或从中转换出来的文件。这可以是装置的色彩空间-其中我们称其为装置轮廓文件,其分类为输入轮廓文件、输出轮廓文件、以及显示轮廓文件(分别对输入、输出和显示装置);或一抽象色彩空间。
·呈现目的-告诉色彩管理系统在从较大色域到较小色域时如何处理在色彩空间之间转换色彩的问题的设定。
·饱和度-色彩的纯度。
·sRGB-因特网上拟为图像使用的“标准”RGB色彩空间,IEC61966-2-1。
·scRGB-“标准计算的”RGB色彩空间,IEC61966-2-2。
·工作流-一过程,定义文档中数字所表示的是哪些色彩,并通过编辑将那些色彩从捕捉到输出时都保留或控制为工作流。
图1示出了可在其上实现本发明的适当计算系统环境100的一个示例。特别地,图1示出例如光学无线鼠标的无线指针装置161在计算系统环境100中的操作。该计算系统环境100仅是适当计算环境的一个示例,并非旨在提出对本发明使用或功能性范围作任何限制。计算环境100也不应被解释为对示例性操作环境100中所示的任一组件或其组合有任何依赖性或任何需求。
本发明也可在很多其它通用或专用计算系统环境或配置中操作。适于本发明使用的众所周知的计算系统、环境、和/或配置的示例包括,但不限于,个人计算机、服务器计算机、手持式或膝上型装置、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电器、网络PC、小型计算机、大型计算机、包括任一种以上系统或装置的分布式计算环境等等。
本发明可在计算机可执行指令的一般环境中进行说明,诸如由计算机执行的程序模块。一般而言,程序模块包括执行具体任务或实现具体抽象数据类型的例程、程序、对象、组件、数据结构等等。本发明还可在任务由经通信网络连接的远程处理装置执行的分布式计算环境中实践。在分布式计算环境中,程序模块可置于包括存储器存储设备的本地和远程计算机存储介质中。
参照图1,实现本发明的示例性系统包括以计算机110形式的通用计算装置。计算机110的组件可包括,但不限于,处理单元120、系统存储器130以及把包括系统存储器在内的各种系统组件耦合到处理单元120的系统总线121。系统总线121可能是若干总线结构类型中的任何一种,包括存储器总线或存储器控制器、外围总线、以及使用多种总线架构的任一种的本地总线。作为示例,而非限制,这些架构包括工业标准架构(ISA)总线、微信道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和也称为Mezzanine总线的外围部件互连(PCI)总线。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是能被计算机110访问的任何可用介质,并包括易失性和非易失性介质、可移动和不可移动介质。作为示例,而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现、用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的易失性和非易失性介质、可移动和不可移动介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字化多功能光盘(DVD)或其它光学存储装置、磁盒、磁带、磁盘存储器或其它磁性存储设备、或任何其它可用于存储所需信息并可由计算机110访问的介质。通信介质通常在诸如载波或其它传输机制的已调制数据信号中体现计算机可读指令、数据结构、程序模块、或其它数据,且包括任何信息输送介质。术语“已调制数据信号”意指在信号中用对信息编码方式设置或改变其一个或多个特征的信号。作为示例,而非限制,通信介质包括诸如有线网络或直线连接的有线介质,和诸如声学、射频(RF)、红外线和其它无线介质的无线介质。以上任何介质的组合也应包括在计算机可读介质的范围中。
系统存储器130包括诸如只读存储器(ROM)131和随机存取存储器(RAM)132的易失性和/或非易失性存储器形式的计算机可读介质。包含有助于计算机110如起动时在元件间传送信息的基本例程的基本输入/输出系统(BIOS)133通常存储在ROM 131中。RAM 132通常包含可被处理单元120立即访问和/或当时正被操作的数据和/或程序模块。作为示例,而非限制,图1示出了操作系统134、应用程序135、其它程序模块136、和程序数据137。
计算机110还可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图1图示了读取和写入不可移动、非易失性磁性介质的硬盘驱动器141,读取和写入可移动、非易失性磁盘152的磁盘驱动器151,读取和写入可移动、非易失性光盘156,诸如CD-ROM或其它光学介质的光盘驱动器155。其它也用在示例性计算环境中的可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,如磁带、闪存卡、数字多功能盘、数字化录像带、固态RAM、固态ROM等等。硬盘驱动器141通常通过诸如接口140的不可移动存储器接口与系统总线121连接,而磁盘驱动器151和光盘驱动器155通常通过诸如接口150的可移动存储器接口与系统总线121连接。
如上所述并如图1所示的驱动器及其相关联的计算机存储介质为计算机110提供计算机可读指令、数据结构、程序模块、和其它数据的存储。在图1中,例如,硬盘驱动器141被示为存储操作系统144、应用程序145、其它程序模块146、和程序数据147。注意这些组件可以与操作系统134、应用程序135、其它程序模块136、和程序数据137相同或不同。在此给予操作系统144、应用程序145、其它程序模块146、和程序数据147的数字不同至少说明他们是不同的副本。用户可通过诸如数码相机163、键盘162和常指为鼠标、跟踪球或触摸板的定点装置161的输入装置向计算机110输入命令和信息。在本发明一实施例中,无线定位装置161可实现为带光传感器的鼠标来检测鼠标的运动。其它输入装置(未示出)可包括话筒、操纵杆、游戏垫、卫星接收器、扫描仪等等。这些和其它输入设备常常通过与系统总线耦合的用户输入接口160与处理单元120相连,但也可通过例如并行端口、游戏端口或通用串行总线(USB)的其它接口连接。在图1中,无线指针装置161与用户输入接口160经无线信道199与用户输入接口160通信。无线信道199利用电磁信号,例如视频(RF)信号、红外信号、或可视光线信号。监视器191或其它类型的显示设备也可通过诸如视频接口190的接口与系统总线121相连。除显示器以外,计算机还可包括诸如扬声器197和打印机196的其它输出设备,它们通过输出外围接口195相连。
计算机110可以在使用与一台或多台远程计算机,诸如远程计算机180的逻辑连接的网络化环境中运行。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等装置或其它公共网络节点,而且通常包括上述与个人计算机110相关的许多或全部组件,尽管在图1中仅图示了存储器存储设备181。图1中所描绘的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可包括其它网络。这样的网络化环境在办公室、企业范围计算机网络、内联网和因特网上是常见的。
当用于LAN网络化环境中时,计算机110通过网络接口或适配器170与LAN171连接。当用于WAN网络化环境中时,计算机110通常包括调制解调器172或其它用于在广域网173,诸如因特网中建立通信的装置。可以是内置式或外置式的调制解调器172与系统总线121通过用户输入接口160或其它适当机制连接。在网络化环境中,与计算机110相关的程序模块或其一部分可存储在远程存储器存储装置中。作为示例,而非限制,图1示出了驻留于存储器装置181中的远程应用程序185。应当理解,所示网络连接是示例性的,且其它用于在计算机间建立通信连接的技术也可以使用。
外围接口195可与诸如扫描仪(未示出)或数码相机194的视频输入装置通过接口相连,其中输出外围接口可支持包括通用串行总线(USB)接口的标准化接口。由操作系统134或应用程序135支持的色彩管理,有助于用户获取计算机装置之间所需的色彩转换。计算机装置通常可分类为例如数码相机194的输入装置、例如监视器191的显示装置、以及例如打印机196的输出装置。色彩管理的操作在以下讨论中进行更详细解释。
图2示出本发明一实施例支持的国际色彩协会(ICC)轮廓文件200。ICC轮廓文件200包含度量装置模型分段201、色彩显现模型分段203、以及色域映射算法分段205。在该实施例中,轮廓文件遵从可从ICC网站(http://www.color.org)得到的ICC规范版本3.0~4.0。度量装置模型分段201用多个色彩度量值以及有关照度的信息来表征装置。色彩显现模型分段203用来基于输入照度和查看环境将该色彩度量值转换到轮廓文件连接空间(PCS)。相应的色彩显现模型常常是专用的。色域映射算法分段205说明参考介质和特定输出装置之间色域的差异。对于ICC轮廓文件200,色域映射算法分段205假设源轮廓文件连接空间等同于目标轮廓文件连接空间。ICC轮廓文件200将轮廓文件的传统格式例示为如随后讨论中所引用的。
ICC轮廓文件200通常以采取“黑匣子”方法的二进制格式来表示。因此,用户可得出结论,ICC轮廓文件200具有其它轮廓格式可解决的重大缺点。
图3示出本发明一实施例所支持的虚拟装置模型轮廓文件300。虚拟装置模型轮廓文件300解决了与ICC轮廓文件200相关联的某些缺点。虚拟装置模型轮廓文件300包含度量装置模型分段301、色彩显现模型分段303、色域映射算法分段305、逆色彩显现模型分段307、以及目标度量模型分段309。
虚拟装置模型轮廓文件300具有对用户有利的若干特征。例如,轮廓文件300没有假设源轮廓文件连接空间等同于目标轮廓文件连接空间。色彩显现模型(对应于色彩显现模型分段303和逆色彩显现模型分段307)无需是专用的,并可利用基于CIE的色彩显现模型。还有,通过使用文本格式(例如可扩展标记语言XML)而不是ICC轮廓文件200所使用的二进制格式,使得轮廓文件300更容易被访问。虚拟装置模型轮廓文件300将先进轮廓文件的格式例示为如随后讨论中所引用的。
图4根据本发明一实施例示出了色彩管理系统的体系结构400。色彩管理系统包括API层模块401、API适应层模块407、传统处理模块417、以及先进处理模块419。在该实施例中,API层模块401和API适应层模块407支持一传统API集,例如图像色彩管理2(ICM2)。
ICM2内嵌于
Figure GSB00000378450200141
及以上。ICM2支持具有不同API类别的传统应用程序接口(API)组,包括:
·OPEN/CLOSE(打开/关闭)轮廓文件
·GET/SET轮廓文件元素
·CREATE TRANSFORM(创建变换)
·TRANSFORM COLORS(变换色彩)
一API调用通常包含至少一个参数。参数可以是标识例如轮廓文件对象或转换对象的对象的指针。API集的OPEN类别可使指定轮廓文件由应用程序访问。一旦指定类别打开,可使用API集的GET/SET类别由应用程序读取或写入轮廓文件元素。为了使色彩管理系统将源图像转换成目标图像,转换查询表格(通常是多维的)从例如源轮廓文件和目标轮廓文件的指定轮廓文件集中构建。应用程序可通过利用CREATE TRANSFORM类别来调用查询表格的构建。一旦构建了查询表格,可由应用程序通过利用API集的TRANSFORM COLORS类别来指示色彩管理系统以将源图像逐象素地转换成目标图像。
参看图4,传统应用程序403和先进应用程序405与API层模块401交互以确定哪个处理模块应处理API请求。应用程序403和405都向XPI层模块401发送API请求。尽管API调用409、API返回结果411、API调用413、以及API返回结果415的结构和格式与传统格式相兼容,先进应用程序405仍然可利用先进处理模块419所提供的能力和增强。然而,传统应用程序403无需任何更改就可继续利用传统API集。例如,先进应用程序405可利用虚拟装置模型轮廓文件300来表示API调用中的一个或多个指定轮廓文件。API适应层模块407分析在API调用中标识的对象,以判断该对象是否具有传统格式(例如ICC轮廓文件200)或者是否具有先进格式(例如虚拟装置模型轮廓文件300)。(先进格式可定义为非传统格式。)如果对象具有传统格式,则传统处理模块417处理API调用。如果对象具有先进格式,则先进处理模块419处理API调用。
如果由API调用标识的对象集的对象具有混合格式,即对象之一具有传统格式而另一对象具有先进格式,则某些对象的格式被转换从而使所有对象的格式一致。作为示例,如果目标轮廓文件和源轮廓文件具有不同格式(其中一轮廓文件具有传统格式而另一格式文件具有先进格式),则具有传统格式的对象格式被转换成先进格式。在该实施例中,API适应层模块407利用表1所示逻辑来确定格式转换。(在本发明其它实施例中,格式转换可由色彩管理系统的其它模块执行。)
Figure GSB00000378450200151
在表1所示实施例中,如果对象集中任一对象与先进格式相关联,则该集具有传统格式的任意剩余对象被转换成先进格式,从而该集的所有对象在格式转换后具有先进格式。随后调用先进模块419以处理API调用。
在该实施例中,如表1所示,如果对象集中所有对象与传统格式相关联,则没有一个对象被转换成先进格式。随后调用传统模块417以处理API调用。然而,在另一实施例中,可通过一策略配置格式替换指示符(对应于“优选先进格式”)从而所有具有传统格式的对象被转换成先进格式,而不管该对象集中是否有对象与先进格式相关联。此外,策略可支持多个用于配置格式替换指示符(对应于“唯先进格式”)的模式选择从而所有传统对象不是无条件地被转换成先进格式,即如上所述仅当至少一个对象具有先进格式时传统对象才被转换成先进格式。该实施例可支持其它模式选择,例如“唯传统格式”和“优选传统格式”。表格2根据这些模式选择示出操作。
Figure GSB00000378450200161
尽管该实施例将对象从传统格式转换成先进格式,其它实施例可将对象从先进格式转换成传统格式。然而,当更新被结合到非传统软件中时,传统软件通常被冻结。此时,如表1所示将传统格式转换成先进格式可能是有利的,以便避免对传统软件的更改。
图5根据本发明一实施例示出把API调用507通过中间组件503调用到色彩管理系统501的请求组件505。在图5所示配置中,中间组件503将API调用507传递给色彩管理系统501并将来自色彩管理系统501的API返回结果509传递给请求组件505。在该实施例中,中间组件503可以是一应用程序或实用程序。
图6根据本发明一实施例示出将色彩信息从源图像文档601或605转换到目标图像文档603或607的色彩管理系统600的体系结构。色彩管理系统600包括传统模块417、先进处理模块419、以及支持与其它色彩管理操作相关联的不同对象的多个结构。在该实施例中,结构609、611、613和615分别与传统格式(传统源轮廓文件609、传统目标轮廓文件611和传统转换表格617)和先进格式(先进源轮廓文件613、先进目标轮廓文件615和先进转换表格619)相关联。如果必要,如上所述,传统源轮廓文件609通过格式转换651被转换成先进源轮廓文件613,而传统目标轮廓文件611通过格式转换653被转换成先进目标轮廓文件615。
图7根据本发明一实施例示出利用用于处理图像文档的通用结构的色彩管理系统701的体系结构700。传统处理模块707、先进处理模块709、API层模块703和API适应模块705分别对应于如图4所示的传统处理模块417、先进处理模块419、API层模块401和API适应模块407。组件717用API调用请求一色彩操作。体系结构700支持具有传统格式或先进格式的对象的通用结构。例如,源轮廓文件结构711、目标轮廓文件结构713和转换结构715分别支持源轮廓文件、目标轮廓文件和转换查找表格。在该实施例中,结构711、713和715利用句柄来标识对象元素,其中一空指针指示对应于与该对象格式不同的格式的元素。(句柄是指针的指针。)然而,本发明另一实施例可利用例如指针的另一标识机制。
图8根据本发明实施例示出用于处理GET/SET API类别的流程图800。如前所述,GET/SET类别使应用程序能检索或设置一轮廓文件元素。在流程图800中,一指定轮廓文件可具有传统格式或先进格式。在步骤801,色彩管理系统接收一API调用以检索或设置该轮廓文件的一元素。在步骤803,色彩管理系统判断被请求元素是否与轮廓文件格式相一致。一元素被传统格式支持但不被先进格式支持,或反之。例如一“优选CMM”元素可由ICC 200格式支持但不由虚拟装置模型轮廓文件300支持。如果步骤803确定该轮廓文件元素与轮廓文件格式一致,则在步骤809返回该元素。如果步骤803确定该轮廓文件元素与轮廓文件格式不一致,则返回错误指示。在另一实施例中,与色彩管理系统返回错误指示相反,色彩管理系统确定最匹配被请求轮廓文件元素的轮廓文件元素(与轮廓文件格式相对应),并在步骤807返回有关匹配轮廓文件的信息。
尽管如图4-7所示的各实施例支持组件和色彩管理系统之间的应用程序接口,本发明可支持其它类型系统的带有传统API集的系统增强。因此,传统API可支持系统的增强和新能力同时无需更改传统应用程序就使传统应用程序能继续与系统交互。
编程接口(或更简称为接口)可被视为使一个或多个代码分段能与一个或多个其它代码分段通信,或能访问其所提供的功能性的任意机制、进程、和协议。或者,编程接口可被视为系统组件的能够与其它组件的一个或多个机制、方法、函数调用、模块等通信耦合的一个或多个机制、方法、函数调用、模块、对象等。前面句子中的术语“代码分段”旨在包括一个或多个指令或代码行,并包括例如代码模块、对象、子程序、函数等等,无论所应用的是何种术语,或者是否单独编译代码分段,或者代码分段是否被提供为源、中间体、或对象代码,或者是否在运行时系统或进程中利用代码分段,或者它们是否位于同一机器或不同机器或分布在多个机器上,或者代码分段所表示的功能是否整个地在软件中、硬件中、还是硬件和软件的合成中实现。
在概念上,编程接口一般可如图9或10所示。图9示出接口1为第一代码分段和第二代码分段通信的通道。图10示出包括接口对象I1和I2(可以是或不是第一和第二代码分段一部分)的一接口,使得系统的第一和第二代码分段能通过媒体M通信。在图10的视图中,可将接口对象I1和I2视为同一系统的独立接口,也可视为对象I1和I2加上媒体M组成了接口。尽管图9和10示出了双向流和该流每一侧上的接口,某些实现可仅具有单向的信息流(或如以下所述的无信息流),或者可仅在一侧具有接口对象。作为示例,而非限制,诸如应用程序编程接口(API)、进入点、方法、函数、子程序、远程过程调用、以及组件对象模型(COM)接口的术语,都被包括在编程接口的定义中。
这种编程接口的各个方面可包括:第一代码分段向第二代码分段传送信息(其中“信息”在最广泛意义上使用,并包括数据、命令、请求等)的方法;第二代码分段接收信息的方法;以及信息的结构、序列、语法、组织、模式定时、和内容。这样,不管媒体是有线、无线、或两者合成,只要信息以接口定义的方式传输,基层的传输媒体本身对接口的操作就不重要了。在某些情况中,信息不在常规意义上的一个方向或两个方向上传递,因为当一代码分段仅访问由第二代码分段执行的功能时,信息传递可通过另一机制(例如信息置于与代码分段之间与信息流分开的缓存器、文件等)进行或者不存在。任意一些或所有这些方面在给定情况中可能是重要的,例如,取决于代码分段是否是松散耦合或紧密耦合配置中系统的一部分,因此该列表应被视为是说明性且非限制的。
该编程接口的概念对本领域资深技术人员是众所周知的,且在本发明以上详细描述中显而易见。然而,可有实现编程接口的其它方法,并且除非被确切排除,它们也将被包括在本说明书结束处陈述的权利要求书中。这些其它方法会显得比图9和10的简化视图更深奥或更复杂,但即便如此它们仍执行完成相同总体结果的相似功能。我们将简要描述编程接口的部分说明性任选实施例。
通过将一通信分成多个离散通信可间接地完成从一个代码分段到另一代码分段的通信。这在图11和12中进行示意描述。如图所示,可根据可划分功能组来描述某些接口。因而,可分解图9和10的接口功能以获取同样的结果,正如数学上可提供24,或者为2x2x3x2。相应地,如图11所示,可划分由接口1提供的功能以将该接口的通信转换到多个接口:接口1A、接口1B、接口1C等而获取同样的结果。如图12所示,可将接口I1提供的功能划分成多个接口:I1a、I1b、I1c等而获取同样的结果。类似地,从第一代码分段接收信息的第二代码分段的接口I2也可被分解成多个接口:I2a、I2b、I2c等。在分解时,包括在第一代码分段中的接口数量不需要匹配包括在第二代码分段中的接口数量。在图11和12的任一情形中,接口1和I1的功能实质分别与图9和10的一样。接口的分解也可遵从结合、交换、以及其它数学属性使得分解难以识别。例如,操作的顺序并不重要,且因而由一接口实现的功能可在到达接口之前由另一代码或接口很好地实现,或者由系统的独立组件执行。此外,编程领域技术人员可理解,有各种各样获取同样结果而作不同函数调用的方法。
在某些情形中,略去、添加、或重新定义编程接口的某些方面(例如参数)而仍完成所要结果是可能的。这如图13和14所示。例如,假设图9的接口1包括一函数调用Square(input,precision,output),它包括三个参数input(输入),precision(精度)和output(输出),并从第一代码分段发往第二代码分段。如果中间参数precision在给定情形中无关紧要,如图13所示,则可略去它甚至用meaningless(无意义)参数替换它(在此情形中)。也可添加不重要的additional(附加)参数。在任一情形中,只要在输入由第二代码分段进行square(平方)之后返回输出,就可获得square的功能。对计算机系统某些下游部分或其它部分precision可以是非常好的有意义的参数;然而,一旦认为precision对于计算square的有限目的而言是不必要的,则替换或略去它。例如,替代传送有效的precision值,可传送诸如生日等无意义值而不会不利地影响结果。类似地,如图14所示,由接口I1’替换接口I1,它进行了对接口略去或添加参数的重新定义。接口I2可类似地被替换为接口I2’,它进行了略去不必要参数或在其它地方进行处理的参数的重新定义。此处的要点是,在某些情形中,编程接口可包括某些目的所不需要的一些方面,诸如参数,因此可略去或重新定义它们,或者在其它地方进行处理用于其它目的。
合并两个独立代码模块的部分或所有功能从而使它们之间的“接口”改变形式也是可行的。例如,可将图9和10的功能分别转换成图15和16的功能。在图15中,先前图9的第一代码分段和第二代码分段被合并成一包含它们的模块。在此情形中,代码分段仍然可互相通信,但接口则被调整为更适于单个模块的形式。因而,例如,正式的调用和返回语句不再必要,但是依照接口1的类似处理或响应仍然有效。类似地,如图16所示,图10的接口I2的一部分(或全部)可被写入I1内以形成接口I1”。如图所示,接口I2被划分成I2a和I2b,而接口部分I2a被编码在接口I1内以形成接口I1”。作为具体示例,考虑图10的接口I1执行函数调用square(input,output),它在由第二代码分段处理用input传送的值(以平方之)之后由接口I2接收,并用output传送回平方后的值。在此情形中,由第二代码分段(平方input)执行的处理无需调用接口就可由第一代码分段执行。
通过将一通信分成多个离散通信可间接地完成从一个代码分段到另一代码分段的通信。这在图17和18中进行示意描述。如图17所示,提供一个或多个中间件(分离接口,因为它们从原始接口中分离功能和/或接口功能)以转换第一接口接口1上的通信以使它们遵从一不同接口(在此情形中为接口2A、接口2B和接口2C)。可这样完成:例如,有已安装的应用程序基础根据接口1协议被设计为与操作系统通信,但是随后操作系统被更改成使用一不同接口(在此情形中为接口2A、接口2B和接口2C)。要点是,由第二代码分段使用的原始接口被更改,从而它不再与第一代码分段使用的接口兼容,且因而使用一中间体使得新旧接口兼容。类似地,如图18所示,可将分离接口DI1引入第三代码分段以接收来自接口I1的通信,并引入分离接口DI2以将接口功能传送给例如经重新设计与DI2一起工作的接口I2a和I2b,而仍提供同样的功能结果。类似地,DI1和DI2可一起工作以将图10接口I1和I2的功能翻译成一新操作系统,而仍提供同样的或相似的功能结果。
另一可能变体是动态地重写代码以用其它东西替换接口功能而仍提供同样的总体结果。例如,可有一系统,其中以中间语言(例如微软IL、JavaByteCode等)呈现的代码分段被提供给执行环境中的运行时(JIT)编译程序或解释程序(诸如由.Net框架、Java运行时环境、或其它类似运行时类型环境所提供的)。可编写JIT编译程序以动态转换从第一代码分段到第二代码分段的通信,即让它们遵从第二代码分段(原始或不同的第二代码分段)所需的一不同接口。这在图19和20中描述。如图19所示,该方法类似于上述分离情形。可这样完成:例如,其中已安装的应用程序基础根据接口1协议被设计为与操作系统通信,但是随后操作系统被更改成使用一不同接口。可使用JIT编译器以遵从已安装了基础的应用程序到操作系统新接口在运行中的通信。如图20所示,动态地重写接口的方法可被应用于动态分解,或改变接口。
还要注意,用于通过任选实施例获取与接口相同或相似结果的上述情形也可以各种方法合成,串行地和/或并行地,或者用其它介入代码。因而,以上呈现的任选实施例并非互相排斥,而是可以加以复合、匹配和合成以产生与图9和10所示一般情形相同或等效的情形。还要注意,由于使用大多数编程结构,有许多未在此描述的可获取接口相同或相似功能的其它类似方法,但虽然如此仍可由本发明的精神和范围来表示,即,要注意,在接口值之下的接口至少代表部分功能,并使能有利结果。
尽管参照包括实现本发明的现有优选模式的特定示例描述了本发明,本领域技术人员将理解,有上述系统和技术的落于本发明精神和范围内的许多变化和排列,如所附权利要求所述。

Claims (31)

1.一种用于支持来自组件的请求的方法,其特征在于,所述方法包括:
(a)接收所述请求,其中所述请求与一色彩管理操作相关联且与所述请求的传统版本兼容,所述请求标识一个对象集;
(b)确保所述对象集的所有对象与同一格式相关联;
(c)如果所述同一格式与传统格式相对应,调用传统处理模块以处理所述请求;
(d)如果所述同一格式与先进格式相对应,调用先进处理模块以处理所述请求;
(e)将结果返回所述组件,所述结果与所述色彩管理操作相关联;
其中所述对象集的一个对象对应于一个轮廓文件且所述请求指示轮廓文件的被请求的元素被访问,其中(e)包括:
(i)如果被请求的元素与轮廓文件的的格式兼容,则返回关于被请求元素的信息;以及
(ii)如果被请求的元素与轮廓文件的的格式不兼容,返回相应元素的相应信息。
2.如权利要求1所述的方法,其特征在于,(b)包括:
(i)如果所述对象集以混合格式为表征,则转换所述对象集的至少一个对象,其中所述所有对象与所述同一格式相关联。
3.如权利要求2所述的方法,其特征在于,(i)包括:
(1)如果所述对象之一与所述先进格式相关联,则转换与所述传统格式相关联的每个对象使之与所述先进格式相关联。
4.如权利要求2所述的方法,其特征在于,(i)包括:
(1)如果所述对象之一与所述传统格式相关联,则转换与所述先进格式相关联的每个对象使之与所述传统格式相关联。
5.如权利要求1所述的方法,其特征在于,(b)包括:
(i)确定格式替换指示符的选定模式,所述选定模式是多个模式选择之一,所述多个模式选择由一策略支持;以及
(ii)如果格式替换指示符被配置为唯先进模式,则转换与所述传统格式相关联 的每个对象使之与所述先进格式相关联。
6.如权利要求1所述的方法,其特征在于,(b)包括:
(i)确定格式替换指示符的选定模式,所述选定模式是多个模式选择之一,所述多个模式选择由一策略支持;以及
(ii)如果格式替换指示符被配置为唯传统模式,则转换与所述先进格式相关联的每个对象使之与所述传统格式相关联。
7.如权利要求1所述的方法,其特征在于,所述传统格式遵从国际色彩协会格式。
8.如权利要求1所述的方法,其特征在于,所述先进格式遵从虚拟装置模块轮廓文件。
9.如权利要求1所述的方法,其特征在于,所述请求包括应用程序接口调用。
10.如权利要求9所述的方法,其特征在于,所述应用程序接口调用的一类别从由打开轮廓文件类别、关闭轮廓文件类别、获取轮廓文件元素类别、设置轮廓文件元素类别、创建变换类别、以及转换色彩类别组成的组合中选择。
11.如权利要求9所述的方法,其特征在于,所述应用程序接口调用遵从图像色彩管理。
12.如权利要求1所述的方法,其特征在于,所述组件是启动所述请求的请求组件。
13.如权利要求1所述的方法,其特征在于,所述组件是将所述请求传递给色彩管理系统的中间组件。
14.如权利要求1所述的方法,其特征在于,所述对象集包括具有混合格式的第一对象和第二对象,且其中(b)包括:
(i)转换与所述传统格式相关联的所述第一对象和所述第二对象之一使之与所述先进格式相关联。
15.如权利要求14所述的方法,其特征在于,所述第一对象和所述第二对象对应于源轮廓文件和目标轮廓文件,且其中(d)包括:
(i)构建使源色彩空间与目标色彩空间相关的查询表格;以及
(ii)将源图像的源象素转换成目标图像的目标象素。
16.如权利要求1所述的方法,其特征在于,所述对象集的对象对应于轮廓文件且所述请求指示要访问所述轮廓文件的元素,并且其中(e)包括:
(i)如果所述元素与所述轮廓文件的格式兼容,则返回关于所述元素的信息; 以及
(ii)如果所述元素与所述轮廓文件的格式不兼容,则返回错误指示。
17.如权利要求1所述的方法,其特征在于,(ii)包括:
(1)确定所述相应元素对应于所述被请求元素,所述相应元素与所述轮廓文件格式兼容;以及
(2)返回关于所述相应元素的所述相应信息。
18.一种支持来自组件的请求的色彩管理系统,其特征在于,所述色彩管理系统包括:
一应用程序接口层模块,它接收来自组件的所述请求,所述请求标识一对象;
一应用程序接口适应层模块,它获取来自所述应用程序接口层模块的请求并分析所述请求来判断所述对象是与传统格式相关联还是与先进格式相关联;
一传统处理模块,如果所述对象与所述传统格式相关联时处理所述请求;
一先进处理模块,如果所述对象与所述先进格式相关联时处理所述请求;以及
容纳所述对象的至少一个结构。
19.如权利要求18所述的色彩管理系统,其特征在于,所述至少一个结构包括一容纳所述对象的通用结构,且其中所述通用结构与所述传统格式和所述先进格式兼容。
20.如权利要求19所述的色彩管理系统,其特征在于,还包括:
容纳另一对象的另一通用结构,其中所述另一通用结构与所述传统格式和所述先进格式兼容。
21.如权利要求19所述的色彩管理系统,其特征在于,所述通用结构利用一句柄来标识所述对象的元素。
22.如权利要求18所述的色彩管理系统,其特征在于,如果另一对象与所述先进格式相关联,则所述应用程序接口适应层模块把所述对象从所述传统格式转换成所述先进格式。
23.一种支持应用程序接口的方法,其特征在于,所述方法包括:
(a)接收来自一组件的应用程序接口调用,所述应用程序接口调用包含一参数;
(b)分析一对象以判断所述对象对应于传统格式还是先进格式,所述对象由所述参数标识,所述应用程序接口调用与所述传统格式和所述先进格式兼容; 
(c)如果所述对象与所述传统格式相关联,调用传统处理模块以处理所述应用程序接口调用;
(d)如果所述对象与所述先进格式相关联,调用先进处理模块以处理所述应用程序接口调用;
(e)响应于(c)-(d),更改根据所述对象的格式呈现所述对象的通用结构,所述通用结构容纳所述传统格式和所述先进格式;以及
(f)返回一应用程序接口响应。
24.如权利要求23所述的方法,其特征在于,所述参数包括一指针,所述指针标识所述对象。
25.如权利要求23所述的方法,其特征在于,(b)包括:
(i)如果所述对象与所述传统格式相关联,另一对象与所述先进格式相关联,而所述另一对象由包含在所述应用程序接口调用中的另一参数标识,则转换所述对象以与所述先进格式兼容。
26.一种用于支持来自组件的请求的系统,其特征在于,所述系统包括:
(a)用于接收所述请求的装置,其中所述请求与一色彩管理操作相关联且与所述请求的传统版本兼容,所述请求标识一个对象集;
(b)用于确保所述对象集的所有对象与同一格式相关联的装置;
(c)用于如果所述同一格式与传统格式相对应,调用传统处理模块以处理所述请求的装置;
(d)用于如果所述同一格式与先进格式相对应,调用先进处理模块以处理所述请求的装置;
(e)用于将结果返回所述组件,所述结果与所述色彩管理操作相关联的装置;
其中所述对象集的一个对象对应于一个轮廓文件且所述请求指示轮廓文件的被请求的元素被访问,其中(e)包括:
(i)用于如果被请求的元素与轮廓文件的的格式兼容,则返回关于被请求元素的信息的装置;以及
(ii)用于如果被请求的元素与轮廓文件的的格式不兼容,返回相应元素的相应信息的装置。
27.如权利要求26所述的系统,其特征在于,如果所述对象集以混合格式为表征,则所述用于确保所述对象集的所有对象与同一格式相关联的装置转换所述对象集的至少一个对象,其中所述所有对象与所述同一格式相关联。 
28.如权利要求27所述的系统,其特征在于,如果所述对象之一与所述先进格式相关联,则所述用于确保所述对象集的所有对象与同一格式相关联的装置转换与所述传统格式相关联的每个对象使之与所述先进格式相关联。
29.一种响应于来自一组件的输入的方法,其特征在于,所述方法包括:
设置一第一输入参数,它标识与一色彩管理操作相关联的第一对象,所述第一对象具有传统格式;
设置一第二输入参数,它标识与一色彩管理操作相关联的第二对象,所述第二对象具有先进格式;
呈现返回结果的一第三参数,所述结果指示色彩管理操作;以及
接收所述第一输入参数和所述第二输入参数并根据所述第一输入参数和所述第二输入参数来执行所述色彩管理操作。
30.一种色彩管理方法,包括:
接收来自第一组件的第一参数和第二参数,所述第一参数标识第一对象而所述第二参数标识第二对象,两对象均与色彩管理操作相关联,所述第一对象具有传统格式而所述第二对象具有先进格式;
将所述第一参数和所述第二参数传送给第二组件,所述第二组件利用所述第一参数和所述第二参数来根据所述第一参数和所述第二参数执行所述色彩管理操作;
接收来自所述第二组件的至少一个输出,所述至少一个输出指示有关色彩管理操作的结果;以及
将所述至少一个输出传送给所述第一组件。
31.一种用于支持来自一组件的请求的方法,其特征在于,所述方法包括:
(a)接收所述请求,其中所述请求与一色彩管理操作相关联且与所述请求的传统版本兼容,所述请求标识一个对象集;
(b)如果所述对象集以混合格式为表征,则根据格式替换指示符转换所述对象集的至少一个对象,其中所有对象与同一格式相关联,且其中所述格式替换指示符与策略所支持的多个模式选择之一相对应;
(c)如果所述同一格式与传统格式相对应,调用传统处理模块以处理所述请求;
(d)如果所述同一格式与先进格式相对应,调用先进处理模块以处理所述请求; 
(e)将结果返回所述组件,所述结果与所述色彩管理操作相关联。 
CN2004800017134A 2003-11-10 2004-07-30 支持传统和先进色彩管理应用程序的色彩管理系统和方法 Expired - Fee Related CN101375249B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/705,132 2003-11-10
US10/705,132 US7068284B2 (en) 2003-11-10 2003-11-10 Color management system that supports legacy and advanced color management applications
PCT/US2004/024717 WO2005048016A2 (en) 2003-11-10 2004-07-30 Supporting legacy and advanced color management applications

Publications (2)

Publication Number Publication Date
CN101375249A CN101375249A (zh) 2009-02-25
CN101375249B true CN101375249B (zh) 2012-03-28

Family

ID=34552286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004800017134A Expired - Fee Related CN101375249B (zh) 2003-11-10 2004-07-30 支持传统和先进色彩管理应用程序的色彩管理系统和方法

Country Status (6)

Country Link
US (4) US7068284B2 (zh)
EP (1) EP1576451A4 (zh)
JP (2) JP4880474B2 (zh)
KR (1) KR101122902B1 (zh)
CN (1) CN101375249B (zh)
WO (1) WO2005048016A2 (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7068284B2 (en) * 2003-11-10 2006-06-27 Microsoft Corporation Color management system that supports legacy and advanced color management applications
US7483170B2 (en) * 2004-05-05 2009-01-27 Canon Kabushiki Kaisha Generation of color measured data from transform-based color profiles
WO2005109318A2 (en) * 2004-05-05 2005-11-17 Canon Kabushiki Kaisha Generation of color measurements from transform-based color profiles and creation of transform-based profiles by a measurement-based color management system
JP4684030B2 (ja) * 2005-07-06 2011-05-18 株式会社リコー 画像処理装置及び画像処理方法
JP4923694B2 (ja) * 2006-04-19 2012-04-25 コニカミノルタビジネステクノロジーズ株式会社 機器組み込み型情報処理装置
US7755637B2 (en) * 2006-07-14 2010-07-13 Canon Kabushiki Kaisha Initialization of color appearance model
US20080123948A1 (en) * 2006-11-29 2008-05-29 Monotype Imaging, Inc. Profile creation configuration file
US7971208B2 (en) * 2006-12-01 2011-06-28 Microsoft Corporation Developing layered platform components
US20080144114A1 (en) * 2006-12-18 2008-06-19 Xerox Corporation Method and system for dynamic printer profiling
CN101657795B (zh) 2007-04-11 2013-10-23 苹果公司 多处理器上的数据并行计算
US11836506B2 (en) 2007-04-11 2023-12-05 Apple Inc. Parallel runtime execution on multiple processors
US8276164B2 (en) 2007-05-03 2012-09-25 Apple Inc. Data parallel computing on multiple processors
US8341611B2 (en) 2007-04-11 2012-12-25 Apple Inc. Application interface on multiple processors
US8286196B2 (en) 2007-05-03 2012-10-09 Apple Inc. Parallel runtime execution on multiple processors
US20090086272A1 (en) * 2007-09-27 2009-04-02 Michael Januszewski Systems and methods for loading an output profile
US9176714B2 (en) * 2007-11-12 2015-11-03 International Business Machines Corporation Re-using legacy libraries in software
US8069449B2 (en) * 2007-12-27 2011-11-29 Nvidia Corporation Method and system for enabling a device to support enhanced features
US7869088B2 (en) * 2007-12-28 2011-01-11 Infoprint Solutions Company, Llc Methods and apparatus for determining a lookup table size for an AFP link CMR
US20090168082A1 (en) * 2007-12-28 2009-07-02 Aschenbrenner Jean M Methods and apparatus for an output lookup table design and data access layer in color management resource engines
US8225325B2 (en) 2008-06-06 2012-07-17 Apple Inc. Multi-dimensional thread grouping for multiple processors
US8286198B2 (en) 2008-06-06 2012-10-09 Apple Inc. Application programming interfaces for data parallel computing on multiple processors
US8411106B2 (en) * 2008-12-30 2013-04-02 Canon Kabushiki Kaisha Converting digital values corresponding to colors of an image from a source color space to a destination color space
JP5887980B2 (ja) * 2012-02-15 2016-03-16 株式会社リコー カラーマネジメント・システム
US8953876B2 (en) * 2012-08-22 2015-02-10 Facebook, Inc. Creation of a color profile of an image
US9380103B2 (en) 2013-06-27 2016-06-28 Ebay Inc. Adapting legacy endpoints to modern APIs
US20160179768A1 (en) * 2014-12-23 2016-06-23 Constant Contact Multichannel authoring and content management system
US10318340B2 (en) * 2014-12-31 2019-06-11 Ati Technologies Ulc NVRAM-aware data processing system
CN109068059B (zh) * 2018-08-27 2020-09-11 Oppo广东移动通信有限公司 一种调用相机的方法、移动终端及存储介质
CN115599324B (zh) * 2022-12-09 2023-05-19 杭州宏华数码科技股份有限公司 用于控制数码呈色设备进行呈色的方法、设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5706501A (en) * 1995-02-23 1998-01-06 Fuji Xerox Co., Ltd. Apparatus and method for managing resources in a network combining operations with name resolution functions
US6462748B1 (en) * 2000-02-25 2002-10-08 Microsoft Corporation System and method for processing color objects in integrated dual color spaces
US20030012432A1 (en) * 2001-06-28 2003-01-16 D'souza Henry M. Software-based acceleration color correction filtering system
US6603483B1 (en) * 1999-11-15 2003-08-05 Canon Kabushiki Kaisha Color management and proofing architecture
US20040109179A1 (en) * 2002-12-05 2004-06-10 Canon Kabushiki Kaisha Incremental color transform creation

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5432906A (en) * 1990-09-28 1995-07-11 Eastman Kodak Company Color image processing system for preparing a composite image transformation module for performing a plurality of selected image transformations
JP3063957B2 (ja) * 1995-03-01 2000-07-12 富士ゼロックス株式会社 画像処理装置
JP4174090B2 (ja) * 1997-10-31 2008-10-29 キヤノン株式会社 画像処理方法、装置および記録媒体
US6279043B1 (en) * 1998-05-01 2001-08-21 Apple Computer, Inc. Method and system for script access to API functionality
US6650771B1 (en) * 1999-11-22 2003-11-18 Eastman Kodak Company Color management system incorporating parameter control channels
AUPQ724700A0 (en) * 2000-05-02 2000-05-25 Canon Kabushiki Kaisha Printing using secure pickup
US6741262B1 (en) * 2000-05-12 2004-05-25 Electronics For Imaging, Inc. Expert color management settings method and interface
JP4339988B2 (ja) * 2000-08-02 2009-10-07 コニカミノルタビジネステクノロジーズ株式会社 カラーマッチング方法およびカラーマッチング装置ならびにカラーマッチングプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002187314A (ja) * 2000-09-12 2002-07-02 Canon Inc 画像処理装置およびその方法、予測方法、表示方法、並びに、管理方法
US6731796B2 (en) * 2000-12-06 2004-05-04 Xerox Corporation Graphical user interface for color transformation table editing that avoids reversal artifacts
US6815622B2 (en) * 2001-03-13 2004-11-09 General Electric Company Methods and apparatus for automatically transferring electrical power
US20020149785A1 (en) * 2001-03-30 2002-10-17 Chia-Lin Chu Automatic printer color correction based on characterization data of a color ink cartridge
US20020196972A1 (en) * 2001-06-26 2002-12-26 Gokalp Bayramoglu Color correction for color devices based on illuminant sensing
JP3646931B2 (ja) * 2001-08-29 2005-05-11 セイコーエプソン株式会社 イメージレタッチプログラム
JP3678308B2 (ja) * 2001-12-04 2005-08-03 セイコーエプソン株式会社 レイアウト編集プログラム
US20030123723A1 (en) * 2001-12-31 2003-07-03 D'souza Henry M. Automatic optimized scanning with color characterization data
US7450281B2 (en) * 2002-04-30 2008-11-11 Canon Kabushiki Kaisha Image processing apparatus and information processing apparatus, and method thereof
US7511718B2 (en) * 2003-10-23 2009-03-31 Microsoft Corporation Media integration layer
US7068284B2 (en) * 2003-11-10 2006-06-27 Microsoft Corporation Color management system that supports legacy and advanced color management applications
US20080130023A1 (en) * 2004-10-28 2008-06-05 Hewlett-Packard Development Company, L.P. Color Reproduction on Translucent or Transparent Media
US7793306B2 (en) * 2005-10-06 2010-09-07 Microsoft Corporation Providing new functionality while maintaining backward compatibility

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5706501A (en) * 1995-02-23 1998-01-06 Fuji Xerox Co., Ltd. Apparatus and method for managing resources in a network combining operations with name resolution functions
US6603483B1 (en) * 1999-11-15 2003-08-05 Canon Kabushiki Kaisha Color management and proofing architecture
US6462748B1 (en) * 2000-02-25 2002-10-08 Microsoft Corporation System and method for processing color objects in integrated dual color spaces
US20030012432A1 (en) * 2001-06-28 2003-01-16 D'souza Henry M. Software-based acceleration color correction filtering system
US20040109179A1 (en) * 2002-12-05 2004-06-10 Canon Kabushiki Kaisha Incremental color transform creation

Also Published As

Publication number Publication date
EP1576451A4 (en) 2010-10-06
WO2005048016A3 (en) 2008-08-21
US20060119611A1 (en) 2006-06-08
KR20060114621A (ko) 2006-11-07
US20050099427A1 (en) 2005-05-12
JP2008502952A (ja) 2008-01-31
KR101122902B1 (ko) 2012-03-22
JP2011248908A (ja) 2011-12-08
JP4880474B2 (ja) 2012-02-22
US20060119610A1 (en) 2006-06-08
EP1576451A2 (en) 2005-09-21
US20060119609A1 (en) 2006-06-08
US7593959B2 (en) 2009-09-22
CN101375249A (zh) 2009-02-25
US7068284B2 (en) 2006-06-27
WO2005048016A2 (en) 2005-05-26
US7647348B2 (en) 2010-01-12
US7647347B2 (en) 2010-01-12

Similar Documents

Publication Publication Date Title
CN101375249B (zh) 支持传统和先进色彩管理应用程序的色彩管理系统和方法
CN100361069C (zh) 使用策略控制用于客户和自动色彩管理的系统
US6037950A (en) Configurable, extensible, integrated profile generation and maintenance environment for facilitating image transfer between transform spaces
JP5116215B2 (ja) 色管理モジュール
JP4673112B2 (ja) 情報処理装置およびその制御方法、並びに情報処理システム
CN101542436B (zh) 用于开发分层平台组件的方法和系统
WO1995031794A1 (en) Computer graphics color management system
CN1831752A (zh) 用于利用上下文保存来管理输出路径的系统和方法
JP2004187289A (ja) 色変換の生成方法及びプログラムコード
US20130021652A1 (en) Host apparatus, workform management system, workform generating method and workform executing method
Derhak et al. Introducing iccMAX: new frontiers in color management
JP2007336539A (ja) バイ‐クロマティック画像データを生成するシステムおよび方法
KR20020059312A (ko) 입출력 포트의 무선 공유 방법
JP4687361B2 (ja) 画像変換システム
JP3957540B2 (ja) 画像処理制御装置、プログラムおよび記録媒体
WO2020045766A1 (en) Color conversion based on color space and object properties
JP2023175499A (ja) 印刷制御装置、印刷制御方法、画像処理システムおよびプログラム
McCarthy Progress in digital color workflow understanding in the International Color Consortium (ICC) Workflow WG
GB2348773A (en) User interface

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150528

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150528

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120328

Termination date: 20170730