Windows Color System Overview
Lavanya VasudevanProgram ManagerDigital Documents Platform and Solutions LavanyaV @ microsoft.comMicrosoft Corporation
Michael StokesColor ArchitectDigital Documents Platform and Solutions MiStokes @ microsoft.comMicrosoft Corporation
Session OutlineSession Outline
Windows Color System (WCS) MotivationColor scenarios in Windows codenamed “Longhorn”
Formalized framework
User goals System behavior System design
Windows Color System in LonghornColor Infrastructure and Translation Engine (CITE)
Infrastructure
Baseline Models
Plug-In Infrastructure
ICM2 Improvements
User Experience Enhancements
Color in the Print Pipeline
Session GoalsSession Goals
Attendees should leave this session with an understanding of:
Design principles of Windows Color System
Design details of the Windows Color System
How to take best advantage of enhanced capabilities and opportunities for innovation
Where to find more information
How best to provide feedback
Longhorn Color ScenariosLonghorn Color Scenarios
WCS Use Case: End to End WorkflowWCS Use Case: End to End Workflow
Goal: Accomplish End-to-End Color Workflow in Longhorn
Primary Actor: PC-user
Main Success Scenario:1. PC-user connects all color-devices to the Longhorn-PC.
2. PC-user acquires color-document from color-input-device.
3. PC-user opens the color-document within a color-managed-application.
4. PC-user views the color-document within the color-managed-application in full screen mode on the display-device.
5. PC-user validates color-quality of displayed color-document.
6. PC-user prints the color-document from the color-managed-application to a local Metro-print-device.
7. PC-user validates color-quality of printed color-document.
WCS Use Case: WYSIWYGWCS Use Case: WYSIWYG
Goal: Validate Color Quality
Primary Actor: PC-user
Preconditions:PC-user is viewing the color-document within a color-managed-application in full screen mode on a display-device connected to a Longhorn-PC.
PC-user has printed the color-document from the color-managed-application to a local Metro-print-device.
Main Success Scenario:1. PC-user compares the color-appearance of the color-document on
the display-device, and the printed version of the color-document from the local Metro-print-device.
2. PC-user validates that the color-appearances match.
WCS PipelineWCS Pipeline
GamutMap Model
DeviceModel
ColorAppearance
Model
ColorAppearance
Model
DeviceModel
Gamut MapModel Profile
Device Color Space
Device-IndependentColor Space
CIEXYZ
Color
Appearance
Space
CIEJch
Device Model Profiles A, B
Color Appearance Model Profiles A, B
Baseline Device ModelsBaseline Device Models
Objective intra-device measurements
Baseline set for common devices built in
Plug-in device models:Enhanced models for baseline devices
Specialized models for new or high-end devices
Pixel Values in
Device Color Space
Device ModelAlgorithms
Pixel Values in
CIEXYZ
Device Model Profile (DMP)
Measurements,
Parameters
Color Appearance ModelColor Appearance Model
State-of-the-art Color Appearance Model built into platform
Enables better handling of different viewing conditions
CIECAM02Algorithms
Pixel Values in
CIEXYZ
Pixel Values in
CIEJch
Color Appearance Model Profile (CAMP)
Viewing Condition Parameters
Gamut Mapping ModelGamut Mapping Model
Subjective inter-device transforms
Perceptually uniform
Baseline set (≈ ICC rendering intents) built in
Plug-in gamut mapping models:
Proprietary algorithms
Improvements on baseline models
Gamut Map ModelAlgorithms
Source Color
Pixel Value in CIEJCh
Destination Color
Pixel Value in CIEJch
Source Gamut Boundary
Destination Gamut Boundary
Rendering Intent or GMM from Gamut Map Model Profile (GMMP)
Support FunctionsSupport Functions
Gamut Boundary Descriptors and Gamut Shells
Pixel Formatter
Samples in Device Color Space
Device ModelColor
Appearance Model
Derive Convex
Hull
Ordered Vertex List= Gamut Boundary Descriptor
PixelsRaster or Vector Format
Integers, Fixed Point, FloatPixel Formatter
PixelsCITE Internal Pixel Format
32 bpc Float Normalized [0.0, 1.0]
Transform Execution
Color Infrastructure and Translation Color Infrastructure and Translation EngineEngine Pixel Values in
Source Color Space
Source DM
Source CAM
GMM
Dest CAM-1
Dest DM-1
Pixel Values in Dest Color Space
Gamut BoundaryFunctions
Buffer of Samples in Source Color Space
Internal Sequential Transform
Buffer of Samples in Dest Color Space
Source Colors
Pixel Formatter
Transform Cache
Interpolate inOptimized Transform
Look Up Table
Pixel Formatter
Destination Colors
Sequential Transform Optimized Transform Transform Execution
New WCS APIsNew WCS APIs
Work with new profile formats
Enhanced functionality
ICM2 ImprovementsICM2 Improvements
Key bugs fixed
Subset of current ICM2 APIs extendedWork with new profiles
Access CITE
Continued ICC SupportContinued ICC Support
Improved v2 support
Added v4 support
Color Control Panel PrototypeColor Control Panel Prototype
New Print InfrastructureNew Print Infrastructure
“Metro” is the conduit for color Planned support for scRGB, named color, CMYK, n-channel
Metro Print Path
PrintTicket/PrintCapabilities
Windows Color System RoadmapWindows Color System RoadmapA Staged Approach
New color management infrastructure and developer platform
Vehicle for vendor innovation
Foundation for long-term investment
XP Planned for Longhorn
CITE CAM, DMs, GMMs, Plug-ins
ICC Support ICM2 Bug FixesV4 Support, ICM2 Bug Fixes, WinFX
ProfileManagement
WCS APIs, ICM2 Bug Fixes
UICentral Control Panel
Central Control Panel with WCS Support
Calibration Wizard
Display
Device controlDisplay (DDC/CI, VideoDAC), Print (PT/PC)
Call to ActionCall to Action
Understand the Windows Color System
Read WCS use cases
Submit your own scenarios
Send us feedback at mscolor@ microsoft.com
Review the Metro v.7 specification and provide feedback to [email protected]
http://www.microsoft.com/whdc/device/print/metro.mspx
Start implementation with Beta 1!
Visit the WinHEC Hardware Showcase and vendor booths in the exhibition!
Additional ResourcesAdditional ResourcesCommunity Sites
http://www.microsoft.com/communities/default.mspx
List of Newsgroupshttp://communities2.microsoft.com/communities/newsgroups/en-us/default.aspx
Attend a free chat or webcasthttp://www.microsoft.com/communities/chats/default.mspx http://www.microsoft.com/seminar/events/webcasts/default.mspx
Locate a local user group(s)http://www.microsoft.com/communities/usergroups/default.mspx
Non-Microsoft Community Siteshttp://www.microsoft.com/communities/related/default.mspx
MSDN Developer Community Chats:Printer Drivers -- Ask the Experts Online
http://msdn.microsoft.com/chats/windows/windows_102402.aspWindows Drivers: Printer Drivers
http://msdn.microsoft.com/chats/windows/windows_101602.aspWindows Drivers Printing and Networking
http://msdn.microsoft.com/chats/windows/windows_022002.asp
Additional ResourcesAdditional ResourcesWeb resources
WS-Devices Profile:
http://msdn.microsoft.com/webservices/understanding/specs/default.aspx?pull=/library/en-us/dnglobspec/html/devprof.asp Printer Working Grouphttp://www.pwg.org WHDC Printing home page: http://www.microsoft.com/whdc/device/print/default.mspxWHDC Still Imaging / WIA home page: http://www.microsoft.com/whdc/device/stillimage/default.mspxWHDC Color home page:http://www.microsoft.com/whdc/device/display/color/default.mspx Color Use Caseshttp://www.microsoft.com/whdc/device/display/color/WCS_cases.mspx
“Writing Effective Use Cases”, Alistair Cockburn, ISBN 0201702258
E-mailFor developer print questions: prninfo @ microsoft.comFor developer scan questions: wiainfo @ microsoft.com For developer color questions: mscolor @ microsoft.com
Whitepaper On WinHEC CD “The Windows Color System in Longhorn”
Related Sessions: WinHEC 2005Related Sessions: WinHEC 2005
April 25:Advances in Windows Printing
Foundation Technologies for the Document Life Cycle
Ask the Experts:Windows Color
Windows Printing
Windows Document Technology
Avalon
April 27:Avalon Imaging Codec Architecture: Overview
New Document Life Cycle Opportunities
What’s in a Use Case?What’s in a Use Case?
Usage narrative or storyWarm up with a “day in the life”
Actors and goalsWhat are the system’s service promises?
Main Success ScenarioTop-to-bottom, typical scenario, goal delivery
Extensions“Well, there’s a little complication…”
Extension handlingHow should the system respond?
Use CasesUse CasesContracts About System Behavior Contracts About System Behavior
Why do we care?Helps us:
Discover behavioral requirements
Link user goals, UI design, performance requirements, data formats, business rules…
Structure project planning and priorities
Describe the purpose, behavior, status and results
Helps you:Evaluate system behavior
Communicate new requirements
System Under Design
Stakeholders
PrimaryActor Request
Response
Interests
Goals