KR20050036700A - 유연성을 갖는 성능의 동적 밸런싱 가능 컬러 관리 시스템 - Google Patents

유연성을 갖는 성능의 동적 밸런싱 가능 컬러 관리 시스템 Download PDF

Info

Publication number
KR20050036700A
KR20050036700A KR1020040068587A KR20040068587A KR20050036700A KR 20050036700 A KR20050036700 A KR 20050036700A KR 1020040068587 A KR1020040068587 A KR 1020040068587A KR 20040068587 A KR20040068587 A KR 20040068587A KR 20050036700 A KR20050036700 A KR 20050036700A
Authority
KR
South Korea
Prior art keywords
color
color management
choke point
workflow
computer
Prior art date
Application number
KR1020040068587A
Other languages
English (en)
Other versions
KR101084845B1 (ko
Inventor
아드리안 세치아
시라 에스. 리차드슨
케리엘. 함밀
마이클디. 스토크스
Original Assignee
마이크로소프트 코포레이션
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 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20050036700A publication Critical patent/KR20050036700A/ko
Application granted granted Critical
Publication of KR101084845B1 publication Critical patent/KR101084845B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color, Gradation (AREA)
  • Color Image Communication Systems (AREA)

Abstract

컴퓨터 시스템 플랫폼으로 하여금 컨텐츠 워크플로우에 개입하고 컨텐츠 상태 및 임의의 컬러 관리 정책에 기초하여 추가의 컬러 관리를 수행하게 하는 방법 및 시스템이 제공된다. 소스로부터의 프로파일 데이터는 플랫폼에 입력되면 쵸크 포인트에서 중간 컬러 스페이스로 변환된다. 현재의 컬러 컨텐츠, 프로파일 데이터, 및/또는 플랫폼의 제어 정책에 응답하여, 컬러 관리 입력은 컬러 관리 데이터를 즉시 변환, 컬러 관리 데이터를 나중 포인트에서 변환, 및/또는 컬러 관리 데이터를 무시하도록 관리될 수 있다.

Description

유연성을 갖는 성능의 동적 밸런싱 가능 컬러 관리 시스템{COLOR MANAGEMENT SYSTEM THAT ENABLES DYNAMIC BALANCING OF PERFORMANCE WITH FLEXIBILITY}
본 발명의 태양은 일반적으로 컬러 관리 시스템에 관한 것이다. 더 상세하게, 본 발명의 태양은 컬러 관리 입력을 모니터링, 평가, 검사, 및/또는 주입하는 성능 집약 컬러 변환의 동적 실행을 위한 방법 및 시스템에 관한 것이다.
적절하고 정확한 컬러 관리가 큰 이슈가 되었다. 컴퓨터, 모니터 및 프린터가 가정용으로 처음 개발되었을 때, 소비자들은 녹색 잔디, 파란 하늘 및 붉은 셔츠가 그들이 기대하는 것에 가깝게 보여지는 것에 만족하였다. 시간이 흐를수록, 모니터 장비, 프린터, 디지털 카메라 등의 제조업자들은 보다 깨끗하고 보다 정확한 컬러 표현을 생성하고/또는 캡쳐할 필요성에 빠르게 적응하였다. 회사들은 멀티미디어 뿐만 아니라 그래픽 관련 애플리케이션 프로그램을 개발하였다. 서로 다른 유형의 컬러 오브젝트 데이터 변환을 수행하기 위한 서로 다른 애플리케이션 프로그램들이 하나의 컴퓨터 플랫폼 상에서 동시에 동작할 수 있다.
매일 증가하는 인터넷 관련 비지니스의 붐에 따라, 회사들은 제품 및 정보가 정확하게 표현되도록 하고자 한다. 의류 제조업자는 일년에 수백만 부의 카탈로그를 배포한다. 최종 제품이 자신의 문에 도착할 때가지 최종 제품을 실제로 보지 못한 소비자들에 의한 의류 비용으로 해마다 수백만 달러가 소비된다. 그러나, 반품에 대한 한가지 이유로는 잡지, 빌보드, 인터넷, 또는 카탈로그 상에서 그림에서 보여지는 컬러가 최종 제품을 받아보았을 때 그 최종 제품의 컬러와 일치하지 않는다는 사실이 끊임없이 제기되어 왔다. 잡지에 광고하는 회사는 도심에 세워진 빌보드를 갖고 있으며, 텔레비젼 상의 광고가 자기 회사 로고가 각 매체를 통하여 일관되고 각 매체가 의도하는 컬러로 정확하게 묘사하도록 하는 것을 원한다. 컬러 관리 프로세스에서의 불충분한 연속성의 문제는 회사 및 소비자에 똑같이 수백만 달러의 손실을 야기할 수 있다.
의료 산업에서, 외과의 및 다른 의사들은 고도의 섬세하고 민감한 행위를 수행하고 카메라 및 모니터링 장치에 의존한다. 오늘날, 외과의는 혈액, 조직 등 모니터에 디스플레이되는 오브젝트의 컬러를 기초로 임의 유형의 절차를 수행한다. 그러나, 카메라와 모니터 간에 교정(calibration)이 없기 때문에 중요한 데이터가 손실된다. 하드웨어의 모든 교정은 공장에서 수행된다. 예를 들면, 카메라는 혈액 등 오브젝트의 컬러를 정확하게 캡쳐할 수 있는 반면, 모니터의 형광체는 혈액의 풍부한 어두운 컬러를 표시할 수 없다. 외과의는 프레스 동작자가 진행중에 수행해야 하는 수동 조절과 유사하게 자신의 머리에서 컬러 교정을 수행해야 한다. 설사 그렇게 하더라도, 모든 컬러 오브젝트 데이터가 일부 시스템에서와 같이 표준 컬러 스페이스로 변환된다면, 카메라와 동일한 전범위를 디스플레이할 수 있는 모니터는 표준 컬러 스페이스에서 손실된 데이터를 여전히 재캡쳐할 수 없다.
Linux?? X11 및 Microsoft?? Windows?? XP 등의 현재 컴퓨터 플랫폼은 다수의 애플리케이션으로 하여금 컬러 관리 목적용 하드웨어를 액세스하게 한다. 예를 들면, Microsoft?? Windows?? XP는 열두개(12)의 서로다른 애플리케이션이 하드웨어 구성요소와 통신하도록 한다. 애플리케이션은 플랫폼의 그래픽 라이브러리와 통신하고, 그래픽 라이브러리는 플랫폼에 접속된 하드웨어와 통신하며, 하드웨어는 소망하는 애플리케이션 동작을 구현한다. 서로 다른 유형의 각 플랫폼에 대하여, 세개의 시스템, 애플리케이션, 그래픽 라이브러리 및 하드웨어가 병렬적으로 향상되었다. 그러나, 이들 병렬 솔루션은 임의의 애플리케이션에 대하여 특정 및/또는 소망의 컬러 관리 기법을 확실하게 하도록 통합되지 않았다. 하드웨어 구성요소와 통신하는 다양한 방법으로 인해 불안정해지고 특정 애플리케이션의 불간섭에 대한 가능성이 제거된다.
종래의 컬러 관리 시스템은 단일의 프로파일 기반 컬러 관리 솔루션을 순차 지원하며, 그 솔루션, 예를 들면, Apple??의 ColorSyn?? 및 Microsoft??의 ICM??로 변환을 강제한다. 이들 솔루션은 자신들의 플랫폼에서 최선의 유연성을 갖도록하기 위해 최종 가능 기회까지 소스로부터 목적지까지 성능 집중 컬러 변환을 지연한다. 이것은 일반적으로 후-바인딩(late-binding) 워크플로우 전략으로 언급된다. 디바이스내(in-device) 컬러 관리를 도모하기 위한 빌트인 하드웨어를 갖는 프린터의 경우에, 사용자는 모든 그런트(grunt) 작업을 프린터가 수행하도록 변환을 지연하는 것을 선호할 수 있다. 후-바인딩 워크플로우 전략의 불리한 점은 단일의 부정확한 애플리케이션 설정이 작업에서 하나 이상의 구성요소를 붕괴시킬 수 있고 최종 순간까지 최종 출력 데이터의 평가가 발생하지 않는다는 것이다.
다른 솔루션은, 모든 입력 컨텐츠가 성능을 최대화하기 위해 제1 기회에서 변환되는 단일 표준 컬러 스페이스를 지원한다. 이것은 일반적으로 조기(early)-바인딩 워크플로우 전략이라 한다. 표준 잉크젯 프린터의 경우에, 사용자는 대역폭 사용 및 처리 시간을 최소화하기 위해 모든 또는 대다수의 컬러 관리를 애플리케이션이 수행하도록 하는 것을 선호하곤 한다. 조기-바인딩 워크플로우 전략의 불리한 점은 조기-바인딩이 더 느린 성능, 더 열악한 품질 영향을 초래하는 더 큰 파일을 의미하고 게다가 모든 컬러가 출력 전범위로 압박되고 출력의 총 응답에 대하여 최적화된다는 것을 포함한다는 것이다.
따라서, 컬러 관리 과정을 플랫폼에 입력되는 즉시 구현되거나, 목적지 디바이스, 또는 그 둘 사이 임의의 곳으로 연기되도록 하는 컬러 관리 아키텍쳐가 필요하다. 본 발명의 일 태양은, 사용자로 하여금 무슨 컬러 관리가 수행되며, 컬러 관리가 워크플로우에서 수행되며, 누구에 의해 컬러 관리가 수행되는지를 모니터링, 검사, 개입, 관리, 및/또는 정정하게 하는 아키텍쳐를 제공한다. 모든 입력 컬러 오브젝트 데이터는 특정 동작을 위해 쵸크 포인트를 통해 전송된다. 모든 픽셀은 하나의 단일 기능 쵸크 포인트를 통해 진행한다. 쵸크 포인트는 프린트, 디스플레이, 캡쳐, 로드, 및 저장 동작을 포함하는 다수 유형의 동작에 대해 생성된다.
본 발명의 또 다른 태양은 쵸크 포인트를 통해 수신된 모든 컬러 오브젝트 데이터를 중간 컬러 스페이스로 변환하는 컬러 관리 시스템을 제공한다. 단일 컨택 포인트를 통해 중간 컬러 스페이스로 변환함으로써, 사용자는 임의의 원하는 방법으로 컬러 오브젝트 데이터를 관리할 수 있다. 사용자는 표준 컬러 스페이스, ICC 프로파일, 및 논-ICC 프로파일로부터의 사용자 특정 컬러 관리 입력을 믹싱할 수 있다. 애플리케이션 프로그램은 또한 컬러 관리 입력을 믹싱하기 위해 사용될 수 있다. 정책은 모든 컬러 관리를 조정하기 위해 생성 또는 사전정의될 수 있다. 정책은 상이한 사용자, 상이한 동작, 디바이스의 상이한 유형, 상이한 디바이스, 상이한 제조업자, 상이한 모델, 및 상이한 교정에 대하여 동작을 조정할 수 있다.
본 발명의 또 다른 태양은 하드웨어 카드 및 프린터에서의 동적 컬러 전범위 매핑을 제공한다. 하드웨어 카드 및 프린터는 사용자에 의해, 애플리케이션 프로그램에 의해, 또는 정책에 의해 초기화된 컬러 변환을 변경하는 것을 도모하도록 구성된다.
후술하는 본 발명의 상세한 설명 뿐만 아니라 전술한 본 발명의 개요는 청구 범위를 한정하는 것이 아니라 단지 예로서 포함되는 첨부 도면을 참조하면 보다 분명히 이해될 것이다.
후술하는 다양한 예시적 실시예에서, 본 명세서의 일부를 형성하고 본 발명이 실행될 수 있는 다양한 실시예을 도시하는 첨부 도면이 참조된다. 본 발명의 범주를 벗어나지 않고 다른 실시예가 이용될 수 있으며 구조 및 기능이 수정될 수 있다는 것이 이해될 것이다.
도 1은 컬러 관리 솔루션(100)의 블록도를 도시한다. 도 1은 멀티미디어 애플리케이션(120)을 포함하는 호스트 컴퓨터(110)를 도시한다. 호스트 컴퓨터(110)는 디지털 카메라(130) 및 프린터(140)에 접속되어 있다. 디지털 카메라(130)로부터의 입력 컬러 오브젝트 데이터가 멀티미디어 애플리케이션(120)을 통해 처리되어 프린터(140)로 출력된다. 컬러 관리 솔루션(100) 하에서, 사진가 등 시스템 사용자는 디지털 카메라(130)로 오브젝트의 사진을 찍어 프린터(140) 상에서 픽쳐의 이미지를 출력할 수 있다. 그러나, 컬러 제어 관리 솔루션(100) 하에서, 사진가는, 멀티미디어 애플리케이션(120) 또는 프린터(140)가 임의의 컬러 관리를 수행했는지 또는 두가지 모두 컬러 관리를 수행했는지를 알 수 없다.
도 2는 다양한 디바이스에 접속된 컴퓨터 그래픽 프로세싱 시스템(201)의 개략도이다. 도 2에 도시된 바와 같이, 컴퓨터 그래픽 프로세싱 시스템(201)은 다양한 컴퓨터 그래픽 및 컬러 동작을 제어하고 수행하는 책임이 있는 그래픽 엔진(214)을 포함한다. 그래픽 라이브러리(212)는 애플리케이션(230) 내에 포함되거나 또는 도 2에 도시된 바와 같이 개별적으로 정의될 수 있다. 그래픽 라이브러리(212)는 다양한 컴포넌트 및/또는 벤더 제품과 대화하기 위한 애플리케이션 프로그래밍 인터페이스(API)을 포함할 수 있다. 컴퓨터 그래픽 프로세싱 시스템(201)은 메모리 또는 저장 스페이스(216) 및 프로파일 컴포넌트(218)를 더 포함한다. 프로파일 컴포넌트(218)는 기본적으로 디바이스 제어 신호 값에 대응하는 한 세트의 엔트리 및 제어 신호를 생성하는 실제 컬러에 대응하는 또 다른 세트의 엔트리를 갖는 LUT이다.
컴퓨터 그래픽 프로세싱 시스템(201)의 프로파일 컴포넌트(218)는 (스캐너 및 디지털 카메라를 설명하는) 입력 프로파일, (모니터 및 LCD 디스플레이를 설명하는) 디스플레이 프로파일, 및 (프린터 및 프레스를 설명하는) 출력 프로파일 등 서로 다른 클래스로 분류된다. 프로파일(218)은 일반적으로 프린터(255) 등의 디바이스가 동작하는 방법을 설명하는 세개의 변수에 관한 정보를 포함한다. 이들 값은 디바이스의 전범위, 디바이스의 동적 범위, 및 디바이스의 톤-재생성 특성을 포함한다. 다른 프로파일(218)은 전범위를 벗어난 컬러, 보다 상세한 톤-재생성 정보, 또는 다른 디바이스 특정 정보를 핸들링하기 위한 명령에 관한 정보를 포함한다.
인터페이스(220)는 컴퓨터 그래픽 프로세싱 시스템(201)의 사용자로 하여금 컬러 관리 입력 파라미터를 입력하여 수행되고/또는 실행되게 하는 사용자 인터페이스이다. 애플리케이션(230)은 API를 포함할 수 있다. 애플리케이션(230)은 다양한 컬러 관리 변수가 핸들링되는 플랫폼이다. 애플리케이션(230)은 사용자가 소스 및 목적지 프로파일을 특정하고 변환을 수행하거나 또는, 대안으로, 목적지 디바이스, 예를 들면, 프린터(255)까지 변환을 연기하게 하는 세팅 및 기능을 구비한다. 도시된 바와 같이, 애플리케이션(230)은 다양한 그래픽 인터페이스 API(282, 284, 286, 및 288)로 동작한다. 그래픽 인터페이스 API(282-288)는 다양한 멀티미디어 API, 제품 특성 API, 및/또는 벤더 특성 API를 포함할 수 있다. 컴퓨터 그래픽 프로세싱 시스템(201)의 애플리케이션(230)은 임의의 그래픽 인터페이스 API(282-288)를 각 컬러 관리 이미지 및/또는 다른 API에 의해 공지되지 않은 각각에 대한 특정 파라민터 마다의 오브젝트를 고려하는 하드웨어 구성요소에 액세스하게 한다. 컴퓨터 그래픽 프로세싱 시스템(201) 하에서, 하나의 그래픽 인터페이스 API(282)는 또 다른 그래픽 인터페이스 API(284, 286, 또는 288)와는 완전히 독립적인 컬러 관리 솔루션을 수행한다.
단지 예로서, 컴퓨터 그래픽 프로세싱 시스템(201)은 세개의 디바이스 드라이버, 디지털 카메라 디바이스 드라이버(240), 프린터 디바이스 드라이버(250), 및 디스플레이 디바이스 드라이버를 포함한다. 각각의 디바이스 드라이버는 애플리케이션(230)에 접속되어 있다. 각각의 디바이스 드라이버는 각각의 디바이스에 특정되어 디바이스, 예를 들면, 디스플레이(265)와 컴퓨터 그래픽 프로세싱 시스템(201) 간의 호환성 및 동작을 고려한다. 각 디바이스 드라이버에 해당 디바이스가 접속되는데, 즉, 디지털 카메라(245)는 디지털 카메라 디바이스 드라이버(240)에 접속되고, 프린터(255)는 프린터 디바이스 드라이버(250)에 접속되며 디스플레이(265)는 디스플레이 디바이스 드라이버(260)에 접속된다.
컴퓨터 그래픽 프로세싱 시스템(201) 하에서, 임의의 그래픽 인터페이스 API(282-288)는 특정 컬러 관리 솔루션, 예를 들면, 과정, 정책 및/또는 프로토콜을 수행하고/또는 구현하기 위해 하드웨어에 액세스할 수 있다. 서로 다른 그래픽 인터페이스 API(282-288) 간의 조정은 존재하지 않는다. 따라서, 컬러 관리될 데이터 조각은 여러번 컬러 관리되거나 또는 무슨 컬러 관리가 행해졌는지, 컬러 관리가 어디에서 수행되었는지 및/또는 누가 실질적으로 컬러 관리를 수행했는지를 사용자가 전혀 알지 못하게 컬러 관리될 수 있다.
도 3은 본 발명이 구현될 수 있는 적절한 컴퓨팅 시스템 환경(300)의 예를 나타낸다. 컴퓨팅 시스템 환경(300)은 단지 적절한 컴퓨팅 환경의 일 예이며 본 발명의 사용 또는 기능의 범위에 제한을 가하도록 의도된 것은 아니다. 컴퓨팅 환경(300)은 예시적인 오퍼레이팅 환경(300)에 도시된 컴포넌트들 중의 임의의 하나 또는 조합에 관하여 임의의 종속성(dependency) 또는 요구사항(requirement)을 갖는 것으로 해석되어서는 안된다.
본 발명은 많은 다른 범용 또는 특수목적 컴퓨팅 시스템 환경들 또는 구성들과 함께 동작될 수 있다. 본 발명과 함께 사용하기에 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경, 및/또는 구성의 예로는, 퍼스널 컴퓨터, 서버 컴퓨터, 핸드헬드(hand-held) 또는 랩탑 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 시스템, 셋 탑 박스(set top box), 프로그램가능한 가전제품(programmable consumer electronics), 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기의 시스템 또는 장치 중의 임의의 것을 포함하는 분산형 컴퓨팅 환경 등이 포함될 수 있지만, 이에 한정되지 않는다.
본 발명은 컴퓨터에 의해 실행되는, 프로그램 모듈과 같은 컴퓨터 실행가능 명령과 일반적으로 관련하여 기술될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 본 발명은 또한 통신 네트워크 또는 다른 데이터 전송 매체를 통해 링크된 원격 프로세싱 장치에 의해 태스크를 수행하는 분산형 컴퓨팅 환경에서 실행될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈 및 그외 데이터는 메모리 저장 장치를 포함하는 국부 및 원격 컴퓨터 저장 매체 내에 위치할 수 있다.
도 3을 참조하면, 본 발명을 구현하기 위한 예시적인 시스템은 컴퓨터(310)의 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(310)의 컴포넌트들로는, 프로세싱 유닛(320), 시스템 메모리(330), 및 시스템 메모리를 포함하는 다양한 시스템 컴포넌트를 프로세싱 유닛(320)에 연결시키는 시스템 버스(321)가 포함될 수 있지만, 이에 한정되는 것은 아니다. 시스템 버스(321)는 다양한 버스 아키텍처 중의 임의의 것을 사용하는 로컬 버스, 주변 버스, 및 메모리 버스 또는 메모리 컨트롤러를 포함하는 몇가지 유형의 버스 구조 중의 임의의 것일 수 있다. 예로서, 이러한 아키텍처는 산업 표준 아키텍처(ISA) 버스, 마이크로 채널 아키텍처(MCA) 버스, 인핸스드 ISA(Enhanced ISA; EISA) 버스, 비디오 일렉트로닉스 표준 어소시에이션(VESA) 로컬 버스, 및 메자닌(Mezzanine) 버스로도 알려진 주변 컴포넌트 상호접속(PCI) 버스를 포함하지만, 이에 한정되는 것은 아니다.
컴퓨터(310)는 통상적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 매체는 컴퓨터(310)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있으며, 휘발성 및 비휘발성 매체, 분리형(removable) 및 비분리형(non-removable) 매체를 둘다 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있지만, 이에 한정되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 둘다 포함한다. 컴퓨터 저장 매체는 랜덤 액세스 메모리(RAM), 리드 온리 메모리(ROM), 전기적 소거가능 프로그램가능 리드 온리 메모리(EEPROM), 플래쉬 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광학 디스크 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터(310)에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함할 수 있지만, 이에 한정되지 않는다. 통신 매체는 통상적으로 반송파 또는 기타 전송 메카니즘 등의 변조된 데이터 신호에 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈, 또는 다른 데이터를 구현하며, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 신호 내에 정보를 인코딩하도록 설정되거나 변환된 특성을 하나 또는 그 이상을 갖는 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속 등의 유선 매체와, 음향, RF, 적외선 및 기타 무선 매체 등의 무선 매체를 포함하지만, 이에 한정되지 않는다. 상술한 것들 중의 임의의 조합이 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
시스템 메모리(330)는 ROM(331) 및 RAM(332) 등의 휘발성 및/또는 비휘발성 메모리의 형태의 컴퓨터 저장 매체를 포함한다. 시동중과 같은 때에 컴퓨터(310) 내의 구성요소들간에 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(333; BIOS)은 일반적으로 ROM(331)에 저장된다. RAM(332)은 일반적으로 프로세싱 유닛(320)에 즉시 액세스될 수 있고 및/또는 프로세싱 유닛(320)에 의해 현재 작동되는 프로그램 모듈 및/또는 데이터를 포함한다. 예로서, (한정하고자 하는 것은 아님) 도 3은 오퍼레이팅 시스템(334), 애플리케이션 프로그램(335), 기타 프로그램 모듈(336), 및 프로그램 데이터(337)를 도시한다.
컴퓨터(310)는 또한 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 단지 예로서, 도 3에는 비분리형 비휘발성 자기 매체로부터 판독하거나 그 자기 매체에 기록하는 하드 디스크 드라이브(340), 분리형 비휘발성 자기 디스크(352)로부터 판독하거나 그 자기 디스크에 기록하는 자기 디스크 드라이브(351), 및 CD-ROM 또는 기타 광학 매체 등의 분리형 비휘발성 광학 디스크(356)로부터 판독하거나 그 광학 디스크에 기록하는 광학 디스크 드라이브(355)가 도시되어 있다. 예시적인 오퍼레이팅 환경에서 사용될 수 있는 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체는 자기 테이프 카세트, 플래쉬 메모리 카드, DVD(Digital versatile disk), 디지털 비디오 테이프, 고체 RAM, 고체 ROM 등을 포함하지만 이에 한정되지 않는다. 하드 디스크 드라이브(341)는 일반적으로 인터페이스(340)와 같은 비분리형 메모리 인터페이스를 통해 시스템 버스(321)에 접속되고, 자기 디스크 드라이브(351) 및 광학 디스크 드라이브(355)는 일반적으로 인터페이스(350)와 같은 분리형 메모리 인터페이스에 의해 시스템 버스(321)에 접속된다.
앞서 기술되고 도 3에 도시된 드라이브 및 그 관련 컴퓨터 저장 매체는 컴퓨터(310)를 위한 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 및 기타 데이터의 저장을 제공한다. 도 3에서, 예를 들어, 하드 디스크 드라이브(341)는 오퍼레이팅 시스템(344), 애플리케이션 프로그램(345), 기타 프로그램 모듈(346), 및 프로그램 데이터(347)를 저장하는 것으로 도시된다. 이들 컴포넌트는 오퍼레이팅 시스템(334), 애플리케이션 프로그램(335), 기타 프로그램 모듈(336), 및 프로그램 데이터(337)와 동일할 수도 있고 다를 수도 있다. 오퍼레이팅 시스템(344), 애플리케이션 프로그램(345), 다른 프로그램 모듈(346), 및 프로그램 데이터(347)는 최소한 다른 복사본(different copies)임을 나타내기 위하여 다른 번호를 부여하였다. 사용자는 일반적으로 마우스, 트랙볼, 또는 터치 패드라 불리우는 포인팅 장치(361), 키보드(362) 및 디지털 카메라(363)와 같은 입력 장치를 통해 컴퓨터(310)에 명령 및 정보를 입력할 수 있다. (도시되지 않은) 기타 입력 장치는 마이크로폰, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 입력 장치 및 그외의 입력 장치는 시스템 버스에 연결된 사용자 입력 인터페이스(360)를 통해 종종 프로세싱 유닛(320)에 접속되지만, 병렬 포트, 게임 포트 또는 유니버설 시리얼 포트(USB)와 같은 기타 인터페이스 및 버스 구조에 의해 접속될 수 있다. 모니터(391) 또는 다른 유형의 디스플레이 장치는 또한 비디오 인터페이스(390) 등의 인터페이스를 통해 시스템 버스(321)에 접속된다. 모니터외에도, 컴퓨터는 또한 출력 주변 인터페이스(395)를 통해 접속될 수 있는 스피커(397) 및 프린터(396) 등의 기타 주변 출력 장치를 포함할 수 있다.
컴퓨터(310)는 원격 컴퓨터(380)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 이용한 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(380)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어(peer) 장치, 또는 기타 공통 네트워크 노드일 수 있으며, 비록 도 3 에는 메모리 저장 장치(381)만이 도시되어 있지만, 컴퓨터(310)에 관하여 상술한 구성요소 중 다수 또는 모든 구성요소를 일반적으로 포함할 수 있다. 도 3에 도시된 논리적 접속은 근거리 통신망(LAN; 371) 및 원거리 통신망(WAN; 373)을 포함하지만, 그 외의 네트워크를 포함할 수도 있다. 이러한 네트워크 환경은 사무실, 기업 광역 컴퓨터 네트워크(enterprise-wide computer network), 인트라넷, 및 인터넷에서 일반적인 것이다.
LAN 네트워크 환경에서 사용되는 경우, 컴퓨터(310)는 네트워크 인터페이스 또는 어댑터(370)를 통해 LAN(371)에 접속된다. WAN 네트워크 환경에서 사용되는 경우, 컴퓨터(310)는 인터넷 등의 WAN(373)을 통해 통신을 구축하기 위한 모뎀(372) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(372)은 사용자 입력 인터페이스(360) 또는 기타 적절한 메카니즘을 통해 시스템 버스(321)에 접속될 수 있다. 네트워크 환경에서, 컴퓨터(310)에 관하여 도시된 프로그램 모듈 또는 그 일부분은 원격 메모리 저장 장치에 저장될 수 있다. 예로서 (한정하고자 하는 것은 아님), 도 3은 메모리 장치(381)에 상주하는 원격 애플리케이션 프로그램(385)을 도시한다. 도시된 네트워크 접속은 예시적인 것이며, 컴퓨터들간의 통신 링크를 구축하는 그 외의 수단이 사용될 수 있다.
도시된 네트워크 접속은 예시적이며 컴퓨터들 간에 통신 링크를 생성하는 그 외 수단이 사용될 수 있다는 것이 이해될 것이다. TCP/IP, 이더넷, FTP, HTTP 등 공지된 임의의 다양한 프로토콜의 존재가 추정되고, 시스템은 사용자가 웹 기반 서버로부터 웹 페이지를 재검색할 수 있도록 클라이언트-서버 구성에서 동작될 수 있다. 종래의 임의의 다양한 웹 브라우저를 사용하여 웹 페이지 상의 데이터를 디스플레이하고 조작할 수 있다.
도 4를 참조하면, 본 발명의 적어도 일 태양에 따른 컴퓨터 그래픽 프로세싱 시스템(401)의 개략도가 도시되어 있다. 컴퓨터 그래픽 프로세싱 시스템(401)은 해당 디바이스 드라이버(240, 250, 및 260) 각각을 통해 디지털 카메라(245), 프린터(255), 및 디스플레이(265)에 접속되어 도시되어 있다. 컴퓨터 그래픽 프로세싱 시스템(401)은 또한, 컴퓨터 그래픽 프로세싱 시스템(401)의 사용자가 수행 및/또는 실행될 컬러 관리 입력 파라미터를 입력 하도록 하기 위한 인터페이스(220)을 포함하는 것이 도시되어 있다.
본 발명의 적어도 일 태양에 따라, 컴퓨터 그래픽 프로세싱 시스템(401)은 그래픽 엔진(414), 그래픽 라이브러리(412), 메모리 또는 저장 스페이스(416), 프로파일 컴포넌트(418), 및 애플리케이션(430)을 포함한다. 그래픽 엔진(414)은 호스트 컴퓨터의 오퍼레이팅 시스템의 일부일 수 있다. 예를 들면, 그래픽 엔진(414)은 Microsoft?? Corporation에 의한 Windows?? XP 오퍼레이팅 시스템의 Graphics Device Interface Plus??(GDI+) 라이브러리의 일부일 수 있다. 대안으로, 그래픽 엔진(414)은 디지털 카메라에 의해 캡쳐된 포토그래픽 픽쳐를 편집하고 인쇄하기 위한 다양한 소프트웨어 제품 중의 하나와 같은 개별 컴퓨터 소프트웨어 애플리케이션의 일부일 수 있다. 그래픽 라이브러리(412) 및/또는 그래픽 엔진(414)은 이미지/오브젝트 데이터를 scRGB 등의 언바운디드(unbounded) 중간 컬러 스페이스로 변환하기 위한 컨버터를 포함할 수 있다. IEC 61966-2-2에 정의된 scRGB 컬러 스페이스는 ICC 프로파일에 의해 제공되는 컬러 관리와 sRGB의 능력 간의 차이를 채우도록 설계된다. 그래픽 엔진(414)은 벡터 그래픽 등의 작도(drawing) 프리미티브, 스틸 이미지, 텍스트 그리프(glyph), 및 비디오 세트를 취하여 이들을 소프트웨어 또는 하드웨어 그래픽 표면(surface)에 랜더링(rendering)할 수 있다. 그래픽 라이브러리(414)는 그래픽 프리미티브를 생성, 조작 및 관리하기 위한 능력을 갖는 그래픽 엔진을 포함하는 기능 모음을 포함할 수 있다.
애플리케이션(430)은 사용자로 하여금 컬러 관리 워크플로우를 모니터링, 검사, 심문, 정정, 수정, 및/또는 무시하게 함으로써 컬러 관리를 강건하게 한다. 쵸크 포인트(435)를 사용함으로써, 애플리케이션(430)은 무슨 컬러 관리가 행해졌으며 또는 행해질 것인지, 언제 컬러 관리가 행해졌으며 또는 행해질 것인지, 및 누구에 의해 컬러 관리가 행해졌으며 또는 행해질 것이며 또는 행해져야 하는지를 사용자에게 확실하게 한다. 쵸크 포인트는 컬러 오브젝트 데이터의 모든 픽셀이 하나의 포인트를 통해 전송되는 임의의 연산을 위한 소정의 컨택 포인트로 정의된다. 시스템은 단일의 쵸크 포인트 대신 한정 세트의 쵸크 포인트를 사용하여 쵸크 포인트 세트 중 하나를 통해 컬러 오브젝트 데이터에 대한 픽섹을 전송할 수 있다. 각 픽셀은 워크플로우에서 단지 하나의 쵸크 포인트를 통해 진행하였지만 상이한 픽셀들은 상이한 쵸크 포인트를 통해 진행할 수 있다.
일 실시예에서, 일곱개(7)의 특정 동작이 존재한다: 프린트 동작, 디스플레이 동작, 캡쳐 동작, 로드 동작, 저장 동작, 카피 동작 및 페이스트 동작. 각 동작은 컨택의 한 포인트, 쵸크 포인트를 통해 픽셀들의 조정을 용이하게 하기 위해 동작할 관련 API를 구비한다. 이와 같이, 컬러 오브젝트 데이터의 컬러 관리는 임의의 애플리케이션을 위해 조정될 수 있다. 정의된 각각의 특정 동작을 위해, 특정 API로 동작할 수 없는 레거시(legacy) 장치를 위한 해당 동작은 레거시 장치로 구현할 수 있다. 쵸크 포인트의 추가 설명이 후술된다.
도시된 바와 같이, 애플리케이션(430)은 다양한 그래픽 인터페이스 API(282, 284, 286, 및 288)로 동작한다. 상세하게 후술되는 바와 같이, 각각의 그래픽 인터페이스 API(282-288)는 쵸크 포인트(435)를 통해 동작한다. 이들 쵸크 포인트(435) 때문에, 사용자는 컬러 관리를 위한 특정 정책이 그래픽 애플리케이션에 의해, 사용자에 의해, 디바이스에 의해, 및/또는 동작에 의해 할당하는지를 결정할 수 있다. 정책은 입수된 컬러 오브젝트 데이터 내의 암시적으로 내장된 프로파일 또는 입수된 컬러 오브젝트 데이터와 관계된 잠재적 프로파일을 찾아 그 프로파일(또는 프로파일의 부족)을 컬러 관리를 결정하기 위한 현재 워킹 스페이스에 비교한다. 더우기, 사용자는 언제 어디서 변경이 발생하는지 그리고/또는 목적지 디바이스에서, 즉, 후바인딩으로, 또는 플랫폼에 입력되자 마자, 즉, 조기 바인딩으로 실행하지 않고, 특정 시간에 워크플로우에서 부가의 컬러 관리를 구현할 것인지를 결정하기 위해 컬러 관리를 모니터링할 수 있다.
이제, 도 5를 참조하면, 본 발명의 적어도 일 태양에 따른 컬러 관리 아키텍쳐의 예시적 실시예의 블록도가 도시되어 있다. 도 5에 도시된 컬러 관리 아키텍쳐는 컴퓨터 그래픽 프로세싱 시스템(501)를 포함한다. 컴퓨터 그래픽 프로세싱 시스템(501)은 쵸크 포인트(520), 하이브리드 워크플로우 생성기(530), 컨버터(540), 및 컬러 관리 시스템(550)을 포함한다. 도 5에 도시된 예에 대하여, 프린터 등의 목적지 디바이스(560)는 컴퓨터 그래픽 프로세싱 시스템(501)에 접속되어 있다.
각 동작(510-519)는 하나의 컨택 포인트, 쵸크 포인트를 통해 픽셀들의 조정을 용이하게 하기 위해 동작할 동작과 관계된 특정 API를 구비한다. 이와 같이, 컬러 오브젝트 데이터의 컬러 관리는 임의의 애플리케이션을 위해 조정될 수 있다. 정의된 각 특정 동작에 대해, 특정 API와 직접적으로 동작할 수 없는 레거시 장치를 위해 해당 동작(511, 513, 515, 517, 및 519)은 레거시 장치를 구비하여 구현될 수 있다. 레거시 장치는 소규모 잠재 옵션 세트를 구비한다. 앞서 기술된 API를 사용하여 사용자에 의해 선택된 UI 정책에 따라 레거시 장치에 대하여 최적으로 컬러 관리되는 방법으로 픽셀의 조정을 용이하게 할 수 있다. 특히, 프린트 동작(510) 및 레거시 프린트 동작(511)은 컬러 오브젝트 데이터를 프린트 하기 위해 취해진 액션과 관련이 있다. 디스플레이 동작(512) 및 레거시 디스플레이 동작(514)는 컬러 오브젝트 데이터를 디스플레이하기 위해 취해진 액션과 관련이 있다. 캡쳐 동작(514) 및 레거시 캡쳐 동작(515)은 컬러 오브젝트 데이터를, 예를 들면, 디지털 카메라에 의해 캡쳐하기 위해 취해진 액션과 관련이 있다. 로드 동작(516) 및 레거시 로드 오퍼레이션(517)은 컬러 오브젝트 데이터를, 예를 들면, 저장 스페이스로부터 로딩하기 위해 취해진 액션과 관련이 있다. 저장 동작(518) 및 레거시 저장 동작(519)은 컬러 오브젝트 데이터를, 예를 들면, 저장 디바이스에 저장하기 위해 취해진 액션과 관련이 있다.
동작(510-519)은 각 쵸크 포인트(520)를 통해 접속된다. API는 각각의 동작을 위해 초기화되어 컴퓨터 그래픽 프로세싱 시스템(501)과 인터페이싱한다. 쵸크 포인트(520)에서의 입력시, 컴퓨터 그래픽 프로세싱 시스템(501)은 목적지 디바이스(560)로 컬러 오브젝트 데이터를 변환하는 것을 연기하거나 또는, 예를 들면, 컴퓨터 그래픽 프로세싱 시스템(501) 내의 애플리케이션 엔드(end)에서 변환을 수행할지를 결정할 수 있다. 컴퓨터 그래픽 프로세싱 시스템(501)이 변환이 연기되다면, 하이브리드 워크플로우 생성기(530)는 목적지 디아비스(560)에서 랜더링 시간까지 컬러 변환을 연기하기 위해 하이브리드 워크플로우를 생성한다. 대안으로, 컴퓨터 그래픽 프로세싱 시스템(501)이 애플리케이션 엔드에서 변환을 수행하기를 결정한다면, 컨버터(540)는 컬러 오브젝트 데이터를 scRGB 등의 중간 컬러 스페이스로 변환한다. 변환 프로세스의 성능은 변환이 특정 시간에 발생하고 랜더링 시간에는 발생하지 않기 때문에 최적화된다.
컬러 오브젝트 데이터가 언바운디드 컬러 스페이스 등의 중간 컬러 스페이스로 변환된 후에, 컬러 관리 시스템(550)은 표준 컬러 스페이스, ICC 프로파일 및 논-ICC 프로파일로부터 입력된 관리를 중간 컬러 스페이스와 믹싱한다. 컬러 관리 시스템(550)은 사용자 특정 입력, 애플리케이션 프로그래밍, 및/또는 이전에 생성된 정책에 응답하여 동작할 수 있다. 사용자 특정 입력은 특정의 추가, 부가, 정정, 수정 등을 캡쳐된 이미지 데이터로 초기화하는 것을 포함하고/또는 이전에 수행하였거나 추가로 수행될 컬러 관리 액션을 단지 모니터링하거나 검사한다. 애플리케이션 프로그램은, 사용자가 캘리포니아 산호세의 Adobe Systems Inc.로부터의 Photoshop?? 과 같은 프로그램용으로 생성한 특정 컬러 관리 동작일 수 있고/또는 특정 애플리케이션을 위한 디폴트 컬러 관리일 수 있다.
정책 시스템은 사용자로 하여금 다수의 디바이스, 동작 및 사용자에 걸쳐 컬러 관리를 정의하고 조정할 수 있게 한다. 정책은 현재 컴퓨터 그래픽 프로세싱 시스템(501)를 사용하는 특정 사용자, 캡쳐 동작 또는 레거시 프린트 동작 등의 수행되는 특정 동작, 디지털 카메라 또는 스캐너 등의 특정 유형의 디바이스, 특정 벤더의 특정 디바이스, 디바이스의 특정 모델, 및 심지어 그 모델 상의 특정 교정 셋팅에 기초할 수 있다. 컬러 관리 시스템(550)은 일부 다른 기준 및/또는 디폴트 기준을 기초로 컬러 관리를 구현할 수 있는 능력을 포함한다.
쵸크 포인트를 통해 중간 컬러 스페이스 상에서 동작하는 컬러 관리 시스템(550)은 사용자로 하여금, 존재한다면, 컬러 오브젝트 데이터 상에서 무슨 컬러 관리가 이미 발생하였는지를 결정할 수 있게 한다. 더우기, 컬러 관리 시스템(550)은 사용자로 하여금 변환된 컬러 오브젝트 데이터가 어디로 진행중인지를 모니터링하게 하며 목적지 디바이스(560)에 의해 구현될 컬러 관리 솔루션을 제공한다. 컴퓨터 그래픽 프로세싱 시스템(501)을 통해, 사용자는 프로세싱 프로세스 내의 컬러 오브젝트 데이터를 검사, 관리, 모니터링, 개입, 정정, 또는 조정 또는 제어할 수 있다. 프로세싱 프로세스 내의 컬러 오브젝트 데이터를 모니터링, 관리, 검사, 개입, 정정, 또는 조정 또는 제어하기 위한 능력은 사용자 인터페이스 정책을 통해 행해질 수 있다.
목적지 디바이스(560)는 하드웨어 카드(565)를 포함한다. 프린터 또는 일부 다른 목적지 디아비스(560)에 포함되는 하드웨어 카드(565)는 동적 컬러 전범위 매핑을 제공한다. 하드웨어 카드(565)는 사용자에 의해, 애플리케이션 프로그램에 의해 또는 정책에 의해 초기화된 컬러 변환을 변경하는 것을 도모하도록 구성된다. 하드웨어 카드(565)는 컴퓨터 그래픽 프로세싱 시스템(501) 내의 컬러 관리 시스템(550) 및 중간 컬러 스페이스와 동작하도록 구성된다. 대안으로, 하드웨어 카드(565)는 컴퓨터의 그래픽 카드와는 반대로 디스플레이 자체에 실장될 수 있다.
도 6은 도 4에 기술된 컴퓨터 그래픽 프로세싱 시스템(401)과 결합하여 동작할 수 있는, 본 발명의 예시적 구현에 따른 정확한 컬러 관리를 유지하기 위한 캡쳐 동작을 수행하기 위한 단계를 도시하는 흐름도를 도시한다. 단계(605)에서, 이미지는 디지털 카메라에 의해 캡쳐되어 일부 내부 메모리에 저장된다. 단계(610)에서, 이미지 데이터는 캡쳐 쵸크 포인트에서 애플리케이션 플랫폼으로 입력된다. 이미지 데이터의 모든 픽셀은 쵸크 포인트를 통해 통과되어야 하며, 이로 인해 컬러 관리를 향상시킬 수 있다. 단계(615)에서, 랜더링 시간까지 컬러 변환을 연기하기 위해 선택적 하이브리드 워크플로우가 생성되어야 하는지가 결정된다. 그러한 선택 단계(620)는 사용자로 하여금 나중에까지 소스로부터 목적지 디바이스로 성능 집중 컬러 변환을 지연하게 한다.
하이브리드 워크플로우가 생성되지 않는다면, 단계(625)에서, scRGB 같은 언바운디드 중간 컬러 스페이스에 컬러 변환이 발생한다. 단계9630)에서, 임의의 유형의 사용자 개입이 초기화되었는지 결정된다. 사용자가 컬러 관리를 구현하기로 결정한다면, 단계(635)에서, 사용자는, 인터페이스(220)를 통해, 캡쳐된 이미지 데이터에 특정 추가, 부가, 정정, 수정 등을 초기화하는 것을 포함하는 많은 방법 중 어느 하나로 변환된 이비지 데이터를 컬러 관리할 수 있고/또는 이전에 수행되었거나 또는 수행될 컬러 관리 액션을 단지 모니터링 또는 검사할 수 있다.
단계(640)에서, 애플리케이션 프로그램 또는 정책이 켭쳐된 이미지 데이터에 유효한지가 결정된다. 애플리케이션 프로그램 또는 정책이 유효하다면, 단계(645)에서, 컬러 관리는 애플리케이션 프로그램 또는 정책에 기초하여 구현된다. 앞서 기술한 바와 같이, 정책은, 특정 사용자, 수행되는 특정 동작, 카메라 또는 스캐너등의 특정 유형의 디바이스, 특정 벤더의 특정 디바이스, 디바이스의 특정 모델, 및 심지어 그 모델의 특정 교정 세팅에 기초할 수 있다. 애플리케이션 프로그램 또는 정책이 유효하지 않다면, 단계(650)에서, 컬러 관리는 일부 다른 기준 및/또는 디폴트 기준을 기초로 구현된다.
다수 유형의 컬러 관리는 본 발명에 따라 구현될 수 있다는 것이 당업자에게 이해될 수 있을 것이다. 사용자 개입에 기초하는 컬러 관리는 생성된 정책을 기초로 하는 컬러 관리에 선행하거나, 동반하거나 또는 그 다음에 이어질 수 있다. 더우기, 컬러 관리는 성능을 전혀 포함하지 않을 수 있다. 부가하여, 도 6에 도시되고 기술된 예시적 실시예가 디스플레이, 프린트, 로딩, 및 저장 등의 다른 동작에 적용될 수 있다는 것을 당업자는 이해해야 한다.
본 발명의 다양한 태양을 구체화하는 예시적 시스템 및 방법이 여기에 기술되었지만, 본 발명이 이들 실시예에 한정되는 것은 아니라는 것을 당업자는 이해할 것이다. 당업자는 전술한 교시에 비추어 수정을 할 수 있을 것이다. 예를 들면, 전술한 실시예의 각 구성요소는 홀로, 또는 다른 실시예의 구성요소와 결합하거나 또는 준결합될 수 있다. 또한, 본 발명의 진정한 사상 및 범위를 벗어나지 않고 수정될 수 있다는 것이 이해될 것이다. 따라서, 상기 설명은 본 발명을 제한하는 것이 아니라 예시적인 것으로 간주되어야 한다.
따라서, 현재의 컬러 컨텐츠, 프로파일 데이터, 및/또는 플랫폼의 제어 정책에 응답하여, 컬러 관리 입력은 컬러 관리 데이터를 즉시 변환, 컬러 관리 데이터를 나중 포인트에서 변환, 및/또는 컬러 관리 데이터를 무시하도록 관리될 수 있다.
도 1은 디지털 카메라, 호스트 컴퓨터, 및 프린터를 포함하는 컬러 관리 솔루션의 블록도.
도 2는 다양한 디바이스에 접속된 컴퓨터 그래픽 프로세싱 시스템의 개략도.
도 3은 본 발명의 양상이 구현될 수 있는 범용 디지털 컴퓨팅 환경의 개략도.
도 4는 본 발명의 적어도 하나의 일 태양에 따른 컴퓨터 그래픽 프로세싱 시스템의 예시적 실시예의 개략도.
도 5는 본 발명의 적어도 하나의 일 태양에 따른 컬러 관리 아키텍쳐의 예시적 실시예의 블록도.
도 6은 본 발명의 적어도 하나의 일 태양에 따른 정확한 컬러 관리를 유지하기 위한 캡쳐 동작을 수행하는 예시적 방법의 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
310 : 컴퓨터
320 : 프로세싱 유닛
330 : 시스템 메모리
331 : ROM
332 : RAM
334 : 오퍼레이팅 시스템
335 : 애플리케이션 프로그램
337 : 프로그램 데이터

Claims (28)

  1. 워크플로우에서 컬러 오브젝트를 처리하는 방법에 있어서,
    동작 쵸크 포인트를 통해 컬러 오브젝트를 수신하는 단계;
    워크플로우에서 상기 컬러 오브젝트를 변환하기 위한 장소를 결정하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 결정 단계에 응답하여 상기 컬러 오브젝트를 변환하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 컬러 오브젝트를 언바운디드(unbounded) 중간 컬러 스페이스로 변환하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    컬러 관리 기능을 수행하기 위한 명령을 수신하는 단계; 및
    상기 컬러 관리 기능을 수행하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 컬러 관리 기능은 표준 컬러 스페이스, ICC 프로파일, 및 논-ICC 프로파일 중 적어도 하나로부터의 컬러 관리 입력을 믹싱하는 것을 특징으로 하는 방법.
  6. 제4항에 있어서,
    상기 컬러 관리 기능은 사용자 요청, 애플리케이션 프로그램, 및 정책 중 적어도 하나에 응답하여 동작하는 것을 특징으로 하는 방법.
  7. 제6항에 있어서,
    상기 정책은 사용자, 동작, 디바이스 유형, 디바이스, 디바이스 제조업자, 디바이스 모델, 및 디바이스 모델의 교정 중 적어도 하나에 기초하여 컬러 오브젝트 상에서 수행될 컬러 관리를 정의하는 것을 특징으로 하는 방법.
  8. 제4항에 있어서,
    상기 명령은 상기 컬러 관리 워크플로우를 모니터링하기 위한 요청인 것을 특징으로 하는 방법.
  9. 제4항에 있어서,
    상기 명령은 상기 컬러 관리 워크플로우에 개입하기 위한 요청인 것을 특징으로 하는 방법.
  10. 제1항에 있어서,
    상기 결정 단계는 상기 컬러 오브젝트가 목적지 디바이스에서 변환될 것을 결정하는 단계를 포함하고, 상기 방법은 상기 목적지 디바이스로 상기 컬러 오브젝트의 변환을 연기하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  11. 제10항에 있어서,
    상기 목적지 디바이스로 상기 컬러 오브젝트의 변환을 연기하는 단계는 하이브리드 워크플로우를 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  12. 제1항에 있어서,
    상기 동작 쵸크 포인트는, 프린트 동작 쵸크 포인트, 디스플레이 동작 쵸크 포인트, 캡쳐 동작 쵸크 포인트, 로드 동작 쵸크 포인트, 저장 동작 쵸크 포인트, 카피 동작 쵸크 포인트, 및 페이스트 동작 쵸크 포인트 중 하나인 것을 특징으로 하는 방법.
  13. 제12항에 있어서,
    상기 동작 쵸크 포인트는 레거시(legacy) 장치로 동작하도록 구성되는 것을 특징으로 하는 방법.
  14. 컴퓨터 그래픽 프로세싱 시스템에 있어서,
    복수의 애플리케이션 프로그래밍 인터페이스; 및
    복수의 쵸크 포인트 - 상기 복수의 쵸크 포인트 각각은 하나의 동작에 대응함 - 를 포함하고,
    상기 복수의 애플리케이션 프로그래밍 인터페이스 중 하나는 컬러 오브젝트의 변환을 어디에서 수행하는지를 결정하고 상기 복수의 쵸크 포인트 중 하나의 동작을 지시하는 것
    을 특징으로 하는 컴퓨터 그래픽 프로그래밍 시스템.
  15. 제14항에 있어서,
    목적지 디바이스로 컬러 오브젝트의 변환을 연기하기 위한 하이브리드 워크플로우 생성기를 더 포함하는 것을 특징으로 하는 컴퓨터 그래픽 프로그래밍 시스템.
  16. 제14항에 있어서,
    상기 컬러 오브젝트를 중간 컬러 스페이스로 변환하기 위한 컨버터를 더 포함하는 것을 특징으로 하는 컴퓨터 그래픽 프로그래밍 시스템.
  17. 제14항에 있어서,
    상기 컬러 오브젝트의 워크플로우에 개입하기 위한 컬러 관리 시스템을 더 포함하는 것을 특징으로 하는 컴퓨터 그래픽 프로그래밍 시스템.
  18. 제17항에 있어서,
    상기 컬러 관리 시스템은 컬러 관리 입력을 믹싱하도록 구성되는 것을 특징으로 하는 컴퓨터 그래픽 프로그래밍 시스템.
  19. 제18항에 있어서,
    상기 컬러 관리 입력은, 표준 컬러 스페이스, ICC 프로파일, 및 논-ICC 프로파일 중 적어도 하나로부터의 입력인 것을 특징으로 하는 컴퓨터 그래픽 프로그래밍 시스템.
  20. 제18항에 있어서,
    상기 컬러 관리 시스템은, 사용자 요청, 애플리케이션 프로그램, 및 정책 중 적어도 하나에 응답하여 동작하도록 구성되는 것을 특징으로 하는 컴퓨터 그래픽 프로그래밍 시스템.
  21. 제14항에 있어서,
    동적 컬러 전범위(gamut) 매핑을 하도록 구성된 하드웨어 컴포넌트를 더 포함하는 것을 특징으로 하는 컴퓨터 그래픽 프로그래밍 시스템.
  22. 워크플로우에서 컬러 오브젝트를 처리하는 방법을 수행하기 위한 컴퓨터 실행가능 명령을 구비하는 컴퓨터 판독가능 매체에 있어서,
    상기 방법은,
    동작 쵸크 포인트를 통해 컬러 오브젝트를 수신하는 단계; 및
    상기 컬러 오브젝트를 워크플로우에서 변환하는 것을 결정하는 단계
    를 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  23. 제22항에 있어서,
    중간 컬러 스페이스로 변환하는 단계;
    컬러 관리 기능을 수행하기 위한 커맨드를 수신하는 단계; 및
    컬러 관리 기능을 수행하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  24. 제23항에 있어서,
    상기 명령은 워크플로우에서 개입하기 위한 요청인 것을 특징으로 하는 컴퓨터 판독가능 매체.
  25. 제22항에 있어서,
    목적지 디바이스에서 컬러 오브젝트를 변환하는 것을 결정하게 되면, 상기 컬러 오브젝트의 변환을 상기 목적지 디바이스로 연기하기 위한 하이브리드 워크플로우를 생성하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  26. 제22항에 있어서,
    상기 동작 쵸크 포인트는, 프린트 동작 쵸크 포인트, 디스플레이 동작 쵸크 포인트, 캡쳐 동작 쵸크 포인트, 로드 동작 쵸크 포인트, 저장 동작 쵸크 포인트, 카피 동작 쵸크 포인트, 및 페이스트 동작 쵸크 포인트 중 하나인 것을 특징으로 하는 컴퓨터 판독가능 매체.
  27. 컬러 오브젝트를 워크플로우에서 처리하기 위한 소프트웨어 아키텍쳐에 있어서,
    동작 쵸크 포인트를 통해 컬러 오브젝트를 수신하도록 구성되는 적어도 하나의 컴포넌트; 및
    상기 컴포넌트에 액세스하기 위한 적어도 하나의 애플리케이션 프로그램 인터페이스
    를 포함하는 것을 특징으로 하는 소프트웨어 아키텍쳐.
  28. 제27항에 있어서,
    적어도 하나의 상기 애플리케이션 프로그램 인터페이스는 요청에 응답하여 적어도 하나의 컴포넌트를 액세스하도록 구성되는 것을 특징으로 하는 소프트웨어 아키텍쳐.
KR1020040068587A 2003-10-14 2004-08-30 컬러 오브젝트 처리 방법 및 이를 수행하기 위한 컴퓨터 실행가능 명령어를 갖는 컴퓨터 판독가능 기록 매체 KR101084845B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/683,153 US7466447B2 (en) 2003-10-14 2003-10-14 Color management system that enables dynamic balancing of performance with flexibility
US10/683,153 2003-10-14

Publications (2)

Publication Number Publication Date
KR20050036700A true KR20050036700A (ko) 2005-04-20
KR101084845B1 KR101084845B1 (ko) 2011-11-21

Family

ID=34377596

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040068587A KR101084845B1 (ko) 2003-10-14 2004-08-30 컬러 오브젝트 처리 방법 및 이를 수행하기 위한 컴퓨터 실행가능 명령어를 갖는 컴퓨터 판독가능 기록 매체

Country Status (5)

Country Link
US (3) US7466447B2 (ko)
EP (1) EP1524843A1 (ko)
JP (1) JP4703994B2 (ko)
KR (1) KR101084845B1 (ko)
CN (1) CN1607521B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9305517B2 (en) 2011-05-17 2016-04-05 Samsung Electronics Co., Ltd. Apparatus and method for enhancing photorealism of computer graphic image

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7466447B2 (en) * 2003-10-14 2008-12-16 Microsoft Corporation Color management system that enables dynamic balancing of performance with flexibility
US7636468B2 (en) * 2003-11-10 2009-12-22 Microsoft Corporation System for customer and automatic color management using policy controls
US7822270B2 (en) * 2005-08-31 2010-10-26 Microsoft Corporation Multimedia color management system
US7426029B2 (en) 2005-08-31 2008-09-16 Microsoft Corporation Color measurement using compact device
US7573620B2 (en) * 2005-09-01 2009-08-11 Microsoft Corporation Gamuts and gamut mapping
US8274714B2 (en) * 2005-11-30 2012-09-25 Microsoft Corporation Quantifiable color calibration
US20070121132A1 (en) * 2005-11-30 2007-05-31 Microsoft Corporation Spectral color management
US9326018B2 (en) 2008-12-19 2016-04-26 At&T Intellectual Property I, L.P. Method and apparatus for managing user interfaces
CN102082894B (zh) * 2009-11-27 2013-01-23 北大方正集团有限公司 一种设备校准方法及输出装置
US20120096380A1 (en) * 2010-10-13 2012-04-19 Wagner David L Color Selection Graphical User Interface
US9799305B2 (en) 2014-09-19 2017-10-24 Barco N.V. Perceptually optimised color calibration method and system
US9767122B2 (en) 2015-01-27 2017-09-19 Splunk Inc. Efficient point-in-polygon indexing technique to facilitate displaying geographic data
US9607414B2 (en) 2015-01-27 2017-03-28 Splunk Inc. Three-dimensional point-in-polygon operation to facilitate displaying three-dimensional structures
US9916326B2 (en) 2015-01-27 2018-03-13 Splunk, Inc. Efficient point-in-polygon indexing technique for facilitating geofencing operations
US10026204B2 (en) 2015-01-27 2018-07-17 Splunk Inc. Efficient point-in-polygon indexing technique for processing queries over geographic data sets
US9836874B2 (en) 2015-01-27 2017-12-05 Splunk Inc. Efficient polygon-clipping technique to reduce data transfer requirements for a viewport
US10019970B2 (en) 2015-02-24 2018-07-10 Barco N.V. Steady color presentation manager
US10762755B2 (en) 2018-06-04 2020-09-01 Apple Inc. Data-secure sensor system

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0756549A (ja) * 1993-08-12 1995-03-03 Hitachi Ltd 画像機器及び色補正システム
US5502580A (en) * 1993-10-06 1996-03-26 Fuji Photo Film Co., Ltd. Color reproduction system
WO1995031794A1 (en) 1994-05-17 1995-11-23 Apple Computers, Inc. Computer graphics color management system
US5634092A (en) * 1994-09-30 1997-05-27 Apple Computer, Inc. Color image processing system which provides multiple image processing operations through a single interface
JPH0998299A (ja) * 1995-10-02 1997-04-08 Canon Inc 画像処理装置及び方法
US6226011B1 (en) * 1997-04-01 2001-05-01 Ricoh Company, Ltd. Color conversion method for a color matching, a method for expanding a function of a program module and a color conversion method using the method for expanding a function of a program module
JP4174090B2 (ja) * 1997-10-31 2008-10-29 キヤノン株式会社 画像処理方法、装置および記録媒体
US6219786B1 (en) * 1998-09-09 2001-04-17 Surfcontrol, Inc. Method and system for monitoring and controlling network access
US6571009B1 (en) * 1999-07-16 2003-05-27 Hewlett-Packard Development Company Method and apparatus for assigning color management actions within a computing system
JP3478329B2 (ja) * 1999-10-01 2003-12-15 セイコーエプソン株式会社 画像処理装置及び画像処理方法
US6977661B1 (en) * 2000-02-25 2005-12-20 Microsoft Corporation System and method for applying color management on captured images
US6462748B1 (en) * 2000-02-25 2002-10-08 Microsoft Corporation System and method for processing color objects in integrated dual color spaces
US6628828B1 (en) * 2000-04-24 2003-09-30 Microsoft Corporation System and method for performing a recoloring operation sequence on color objects
US6525721B1 (en) * 2000-05-05 2003-02-25 Xerox Corporation Color profile management and color collection management, navigation and visual design
JP2002125125A (ja) * 2000-07-31 2002-04-26 Seiko Epson Corp 環境適応型の画像表示システム、プログラムおよび情報記憶媒体
JP2002199234A (ja) * 2000-12-25 2002-07-12 Ricoh Co Ltd 画像情報処理装置
US6831999B2 (en) * 2001-02-08 2004-12-14 Canon Kabushiki Kaisha Color management architecture using phantom profiles to transfer data between transformation modules
US6956580B2 (en) * 2001-05-29 2005-10-18 Kodak Polychrome Graphics, Llc Color display device with integrated color matching processor
US7064766B2 (en) * 2001-10-18 2006-06-20 Microsoft Corporation Intelligent caching data structure for immediate mode graphics
JP3817473B2 (ja) * 2001-12-25 2006-09-06 キヤノン株式会社 画像出力装置及び画像処理方法
JP4216561B2 (ja) 2002-02-07 2009-01-28 富士フイルム株式会社 サーバ装置
US7466447B2 (en) * 2003-10-14 2008-12-16 Microsoft Corporation Color management system that enables dynamic balancing of performance with flexibility

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9305517B2 (en) 2011-05-17 2016-04-05 Samsung Electronics Co., Ltd. Apparatus and method for enhancing photorealism of computer graphic image

Also Published As

Publication number Publication date
US7466447B2 (en) 2008-12-16
KR101084845B1 (ko) 2011-11-21
US20050078326A1 (en) 2005-04-14
EP1524843A1 (en) 2005-04-20
CN1607521B (zh) 2013-06-26
US7952760B2 (en) 2011-05-31
US20090064203A1 (en) 2009-03-05
JP4703994B2 (ja) 2011-06-15
US7889391B2 (en) 2011-02-15
JP2005124164A (ja) 2005-05-12
US20090066717A1 (en) 2009-03-12
CN1607521A (zh) 2005-04-20

Similar Documents

Publication Publication Date Title
US7889391B2 (en) Color management system that enables dynamic balancing of performance with flexibility
US7616215B2 (en) System and method for applying color management on captured images
JP5116215B2 (ja) 色管理モジュール
KR100957942B1 (ko) 컬러 매니지먼트를 제공하는 시스템 및 방법, 컴퓨터 판독가능 매체 및 컴퓨팅 장치
US6778300B1 (en) Black generation for color management system
US6681041B1 (en) System and method for converting color data
US7106474B1 (en) Color management system using measured device data
US20060203257A1 (en) System and method for managing output path with context preservation
US20080134206A1 (en) Developing Layered Platform Components
US6795084B2 (en) Heuristic determination of color reproduction parameters
US6873434B1 (en) Color management of black data
US7342682B2 (en) Incremental color transform creation
US20080259401A1 (en) Method and system for consistent color control
US9674405B2 (en) Output control system, output control method, and recording medium
Zhang et al. Next generation color management process modeling for digital printing
Zhang et al. The new challenge for color management in digital printing
JP2008252778A (ja) 画像処理装置、画像形成装置、画像形成システムおよび画像処理プログラム
JP2014124792A (ja) 印刷装置、印刷装置の制御方法、プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141017

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151016

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161019

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171018

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181018

Year of fee payment: 8