1 / 40

How To Use The Windows Color System In Devices And Drivers

How To Use The Windows Color System In Devices And Drivers. Michael Bourgoin Program Manager D2 Color Team Microsoft Corporation. Session Outline. WCS – The Windows Color System Opportunities and Advantages Color Best Practices For capture devices For printers For displays

cameo
Download Presentation

How To Use The Windows Color System In Devices And Drivers

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. How To Use The Windows Color System In Devices And Drivers Michael BourgoinProgram ManagerD2 Color TeamMicrosoft Corporation

  2. Session Outline • WCS – The Windows Color System • Opportunities and Advantages • Color Best Practices • For capture devices • For printers • For displays • Dave Wilkinson, ATI Research Inc: High Dynamic Range Imaging

  3. Windows Color System • WCS is part of Windows Vista • It is not available down-level • Supports high dynamic range, wide gamut, high precision color data (up to 32 bpc float) • Supports both binary ICC profiles and WCS text-based (XML) profiles • Provides both a monolithic ICC CMM and a new modular WCS processing pipeline • Provides baseline device models for common device types – extensible via 3rd party plug-ins • Provides baseline gamut mapping models – extensible via 3rd party plug-ins • Provides a new, central color control panel for managing device color settings • Is flexible, predictable, transparent and consistent

  4. Opportunities And Advantages • Your ICC-based workflows continue to work and can now take advantage of version 4 ICC profiles • The new WCS XML-based color profiles are easily programmatically updated, enabling self-characterizing devices • Third parties can add value via new plug-in device models and gamut mapping models • Vendors can write DM and GMM plug-ins that communicate with one another during processing • Support for high dynamic range, wide gamut, high precision color data (HWD) in WCS enables integration of such innovative devices into color managed workflows

  5. Color Best Practices • Populate, persist, and promote accurate metadata • Associate and embed accurate color profiles • Use and preserve embedded profiles • If you change color space, update the metadata • If you don’t understand the metadata, preserve it • Have your installers associate profiles with your devices • If it’s not actually an sRGB device, it should have associated profile(s) • Minimize number of color conversions in your workflows • Your driver should be aware of your device state and the correct profile for that state • WCS provides choices – choose what makes sense for your business

  6. Profile/Device AssociationThese work with WCS or ICC profiles • WCS…variants of these ICM APIs allow for control of system-wide versus user association scope on Windows Vista BOOL WINAPI AssociateColorProfileWithDevice( PCTSTR pMachineName, PCTSTR pProfileName, PCTSTR pDeviceName ); BOOL WINAPI WcsAssociateColorProfileWithDevice( WCS_PROFILE_MANAGEMENT_SCOPE profileManagementScope, PCTSTR pMachineName, PCTSTR pProfileName, PCTSTR pDeviceName );

  7. Capture Best Practices • Populate and promote accurate metadata • Be sure EXIF, etc, tags match image color space • Embed correct profile • Support > 8 bpc color data and wide gamut color spaces • Enables capture/archive-centric workflows • If you have a camera RAW format, consider providing a WIC codec for it

  8. Printers Best Practices • Use WCS for on-host color conversion to reduce device costs • You can write one XPSDrv filter that calls WCS (or ICM down-level) and use it to for an entire printer family • WCS XML-based profiles are easy to create and update on the fly • Enable cross calibration of networked devices • Support devices with built in sensors • Support Premium Windows Logo Program requirements for Color and Printing • Cooperating applications and drivers can use the PrintTicket/PrintCapabilities mechanism to eliminate double color management (guidelines are currently under development)

  9. Application/Driver Color Communication • Conversations to avoid “double color management” • “What profile do you think best matches your current state?” • “I’ve already done the color conversion with this profile: Do no further color management (CM)” • “You do the CM using this destination profile” • “You do the CM using your idea of the best profile for your current state” • “You apply your propriety color magic” • “I’ve created a color managed print DC, you do no further CM”

  10. Displays Best Practices • Associate an accurate color profile if not actually an sRGB device • On Windows Vista you can have a profile per screen, not just a profile per display card • Support DDC/CI via Windows Vista APIs • Use WCS XML profiles to simplify display characterization/calibration • Take advantage of WCS HWD color support • Build innovative color capabilities • WCS provides extensibility mechanisms for integrating novel display technologies

  11. Call To Action • Populate, persist, and promote rich color metadata • Take advantage of WCS on Windows Vista • Implement color best practices • Consider WCS XML profiles for device-based or on-the-fly characterization/calibration • Don’t be a bottleneck for HWD workflows • Refer to the Windows Vista Beta 2 SDK for new WCS SDK documentation, code samples, sample plugins, etc • Provide us feedback on both WCS and our guidelines/best practices • Tell us about your own best practices • WCS provides choices – choose what makes sense for your business

  12. Additional Resources • At WinHEC • Visit the Microsoft Pavilion for WCS demos • Related Sessions • PRI102 Using XPSDrv Print Drivers to Extend Windows Print Functionality • PRI115 Windows Media Photo: A New Format for End-to-End Digital Imaging • PRI022 DirectX Graphics: Direct3D 10 and Beyond • Practice print driver dev skills in XPS Printing hands on labs • Attend Ask the Experts at lunch today • Web Resources • WCS Specs: With the Windows Vista Beta 2 SDK • WCS White Papers and presentations: http://www.microsoft.com/color • XPS and WMPhoto docs: http://www.microsoft.com/whdc/xps/downloads.mspx • Color blog: http://blogs.msdn.com/color_blog/default.aspx • E-mail: Mscolor @ microsoft.com

  13. A Guide To High-Dynamic-Range Imaging On The PC Dave WilkinsonStaff EngineerATI Research, Inc

  14. Introduction • HDR Overview • Capturing The Real World • The HDR Pipeline • Call To Action

  15. HDR Overview What Is High-Dynamic-Range?

  16. What’s In An Image • A Picture Postcard…

  17. The Range Of Visible Light • There’s more to this photo than meets the eye… The dynamic range of intensities in a scenecan be extremely large(>50,000:1) The range of the capture device is much smaller (typically 300:1) Light Intensity

  18. A Room With A View… Limited Dynamic Range

  19. Hiding In The Shadows… Limited Dynamic Range Images Courtesy Dennis Curtin (www.shortcourses.com)

  20. Capturing The Real World Acquisition of HDR Images

  21. HDR Scene Capture • Camera ‘pixels’ measure light over time Over-full elementsAre saturatedHighlight data is lost,Shadow detail captured Insufficient exposuretime or low-light.Highlight data captured, shadow detail lost Camera CCD Elements accumulate light over the exposure period Over-exposure Under-exposure

  22. HDR Scene Capture • An ‘Ideal’ Camera The captured imageis a faithful renditionof the original scene high capacity elementsthat can capture both shadow andhighlight detail of a scene without saturation

  23. HDR Scene Capture • HDR from LDR Exposures Exposure 0 Exposure 1 Exposure n … … Input Image ExposureSlices (LDR) Stitching Stage Stitched OutputImage (HDR)

  24. Summary • We don’t yet have an ideal camera; There is no device that can ‘capture everything,’ but… • Current imaging devices can capture 12-14 bits of dynamic range • Improved dynamic range can be obtained by digitally ‘stitching’ multiple exposures • HDR Image capture offers many benefits to the professional and amateur photographer alike

  25. How Many Bits Is Enough? Low, Medium, and High Dynamic Range

  26. Low-Dynamic-Range • Typically 8-bits per color channel • Most common format for today’s mainstream imaging devices • Poor tonal and dynamic range • Severe artifacts (eg. Banding, poor color reproduction) • The current format supported on the Microsoft Windows desktop

  27. Medium-Dynamic-Range • Typically 10 to 16 bits per color • Supported in higher-end image capture and display devices • Good tonal and dynamic range • Low occurrence of visible artifacts • Floating point representations can be used to greatly improve tonal range • Supported in Microsoft Windows via Direct3D9 and above

  28. High-Dynamic-Range • Typically 16 to 32 bits per channel • Supported by current higher end GPUs, up to the display • Excellent tonal and dynamic range • Capable of representing the entire range of light visible to the eye • Limited display hardware availability (some 16 bpc devices) • Supported in Microsoft Windows via Direct3D9 and beyond

  29. The HDR Pipeline Displaying HDR Images on Microsoft Windows

  30. The HDR Pipeline • Legacy HDR Workflow Display Adapter Windows GDI DrawScene HDR Resources (lightmaps, probes Scenes) 8bpc HDR Scene Processing Tonemap Application

  31. Legacy HDR Workflow • Windows GDI and legacy HW support only 8-bpc • All HDR processing has to be done on the CPU • Tonemapping must also be done in software • Not practical for real-time HDR applications • Very few commercial applications

  32. HDRSurface(s) Accelerated HDR Workflow • Using Direct3D9 to accelerate HDR rendering Video Memory TonemapTexture LDRDisplaySurface HDR Resources (lightmaps, probes Scenes) 8-bitDisplay Create Textures: LDR Surface(s) HDR Surface(s) Tonemaps Resource Initialization/ Setup GPU T&LShader FXTonemap DC GammaDAC Render: HDR PassesTonemappingPass Draw Scene Application Display Adapter Direct3D

  33. The HDR Pipeline • Accelerated HDR Workflow • Direct3D9 supports a full HDR pipeline • Reflects capabilities of current generation hardware • Allows HDR processing to be offloaded to the graphics hardware • Images stay in high-precision HDR format right up until the final rendering • Hardware-assisted tonemapping can be performed prior to final display

  34. HDRSurface(s) Next-Generation HDR Workflow • Supporting HDR through to the display Video Memory DC outputsfp16 valuesdirectly fromframebufferacrossdual-DVI link HDRResources (lightmaps,probesScenes) HDRDisplaySurface HDR HDRDisplay DC FP16Scanout GPU T&LShader FX Resource Initialization/ Setup Create Textures:HDR Surface(s) Draw Scene RenderHDR Passes Application Display Adapter Direct3D10

  35. Next Generation HDR Workflow Fully programmable color correction hardware Tonemapping step can be performed directly by hardware Eliminates extra shader pass Significant performance boost HDR Scanout of 16-bit Integer and Floating-point Eliminates the graphics adapter as the bottleneck for HDR display output Dual-link DVI for export of 16-bit data to display 16-bit floating point or integer data is split across two 8-bit data channels and sent to a display via one dual-link DVI cable HDR Display HDR displays can display 10bpc or 16bpc images directly The HDR Pipeline

  36. Call To Action • IHVs – HDR support checklist • Floating-point support through to display • Blendable/filterable FP16/32 surfaces • FP16 Backbuffer • FP16 scan-out • HW tonemapping • HDR Compression

  37. Call To Action • ISVs • Author HDR content wherever possible • Let the GPU do the work! • Maintain LDR and HDR shader paths

  38. Resources • HDR Background • www.cybergrain.com/tech/hdr • www.debevec.org • http://www.mpi-inf.mpg.de/resources/hdr/ • HDR Software • www.hdrsoft.com • www.hdrshop.com • http://www.mpi-inf.mpg.de/resources/pfstools/ • HDR GPUs • http://www.ati.com/products/RadeonX1900/index.html • http://www.ati.com/technology/avivo/index.html • HDR Display Manufacturers • www.brightsidetech.com • www.barco.com

  39. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

More Related