Desktop Scanning to sRGB
Transcription
Desktop Scanning to sRGB
Desktop Scanning to sRGB Presented at IS&T and SPIE's 12th Annual Symposium on Electronic Imaging, San Jose, CA, January 23-28, 2000 Conference 3963 on Color Imaging: Device-Independent Color, Color Hardcopy, and Graphic Arts V by Jon Y. Hardeberg Conexant Systems Inc. Personal Imaging Division, Imaging Software Team, Redmond, WA Conexant/PID/Jon Hardeberg/EI 2000 2 Outline • Introduction – Why is color a problem? • Color Architecture – ICC, L*a*b*, or sRGB? – How, when, and where to convert • Scanner Characterization – Get the right color out of your scanner! – Define the color conversion to sRGB 3 Conexant/PID/Jon Hardeberg/EI 2000 Introduction • Scanners ‘speak’ color differently Scanner A File A Scanner B File B ≠ Original Image Conexant/PID/Jon Hardeberg/EI 2000 4 Introduction • Printers ‘speak’ color differently Printer A ≠ Digital file Printer B Conexant/PID/Jon Hardeberg/EI 2000 5 Introduction • Imaging systems are open and complex Conexant/PID/Jon Hardeberg/EI 2000 6 Introduction • Devices do not speak the same color language – Device-Dependent Color Spaces • How to achieve color consistency throughout the entire system? – N input devices, M output devices – N*M different colorspace relationships required • Need for color management – Each device dependent color space linked to a Device-Independent Color Space – Only N+M colorspace relationships 7 Conexant/PID/Jon Hardeberg/EI 2000 Introduction: Color Management • Imaging devices characterized by profiles • Image interchange through Device-Independent Color Space Profile Profile Profile Device-Independent Color Space Profile Conexant/PID/Jon Hardeberg/EI 2000 Profile 8 Outline • Introduction – Why is color a problem? • Color Architecture – ICC, L*a*b*, or sRGB? – How, when, and where to convert • Scanner Characterization – Get the right color out of your scanner! – Define the color conversion to sRGB Conexant/PID/Jon Hardeberg/EI 2000 9 Color Architecture • From theory to practice – Which device-independent color space to use? – When to perform the color conversions? • Three models/architectures – ICC Color Management System architecture – L*a*b* color space for image interchange – sRGB color space for image interchange Conexant/PID/Jon Hardeberg/EI 2000 10 Color Architecture: ICC Solution Scanner RGB image Scanner ICC profile defining the color conversion from Scanner RGB to XYZ Color conversion engine Printer ICC profile defining the color conversion from XYZ to Printer CMY(K) - Standard Color Management System (CMS) architecture - Image communicated in Scanner’s RGB space - Color conversion at print time - Both scanner and printer profiles must be known at print time 11 Conexant/PID/Jon Hardeberg/EI 2000 Color Architecture: ICC Solution • Advantages: – Emerging standard – No rounding errors using intermediate colorspaces • Disadvantages: – Scanner profile must be embedded into the image • Few image format allows embedded profiles – CMS must be properly installed and used • F.ex. Microsoft ICM 2.0, ColorSync 2.0 • Too complex for typical consumers Conexant/PID/Jon Hardeberg/EI 2000 12 Color Architecture: L*a*b* Solution L*a*b* image Color conversion engine Scanner profile defining the color conversion from Scanner RGB to L*a*b* Color conversion engine Printer profile defining the color conversion from L*a*b* to Printer CMY(K) - Color Fax architecture - Scan to L*a*b* - Communicate L*a*b* image - Print from L*a*b* 13 Conexant/PID/Jon Hardeberg/EI 2000 Color Architecture: L*a*b* Solution • Advantages: – Used for Color Fax – L*a*b* is a “good” device-independent color space – Large color gamut • Disadvantages: – Rounding/quantization errors – Few PC imaging applications accept L*a*b* images • Ambiguous encoding standards (Color Fax vs. TIFF) – Color-space conversion before viewing Conexant/PID/Jon Hardeberg/EI 2000 14 Color Architecture: sRGB Solution sRGB image Color conversion engine Scanner profile defining the color conversion from Scanner RGB to sRGB Color conversion engine Printer profile defining the color conversion from sRGB to Printer CMY(K) - Scan to sRGB - Communicate sRGB image - Print from sRGB Conexant/PID/Jon Hardeberg/EI 2000 15 Color Architecture: sRGB Solution • Advantages: – Simplicity – All imaging applications accept images – Images may be displayed without colorspace conversion – Compatible with ICC Color Management System – International Standard (IEC TC100) • Disadvantages: – Gamut mismatch for printing – Rounding/quantization errors Conexant/PID/Jon Hardeberg/EI 2000 16 Color Architecture: Conclusion • Consider market segment • Low cost imaging devices • Reduce complexity • Use sRGB as default colorspace Conexant/PID/Jon Hardeberg/EI 2000 17 Color Architecture: sRGB Solution “The goal of sRGB is to develop an “80%” solution that puts a single “stake in the ground” on a single recommendation that solves most of the color communication problems for office, home and web users.” – HP’s Michael Stokes et. al, http://www.srgb.com Conexant/PID/Jon Hardeberg/EI 2000 18 How to convert to sRGB • Two computational methods: – 3rd order polynomial functions – Interpolation in 3D LUTs Scanner Color Quality, RGB to L*a*b* Scanner Color Quality, RGB to sRGB Printer Color Quality PC speed DSP speed Memory economy Flexibility 3D LUT Polynomial + + + + ++ ++ + + + - 19 Conexant/PID/Jon Hardeberg/EI 2000 Where to convert to sRGB Storage, Distribution, etc. PC Device Imaging Application Perform colorspace conversion in the application? Perform the conversion in the application? TWAIN Filter Intercept the TWAIN data flow to convert to sRGB? Let the system’s CMS perform conversion from sRGB to Printer CMY(K)? Perform conversion to sRGB in the “scanner driver”? Perform conversion from sRGB to Printer’s CMY(K) in the printer driver? TWAIN Data Source Embedded Image Processing Scan Sensor Conexant/PID/Jon Hardeberg/EI 2000 Convert from Scanner RGB to sRGB in the device? Develop new sensors that produce sRGB directly? Perform conversion in the device? Imaging Application ICM 2.0 Printer Driver Embedded Image Processing Printing Engine 20 TWAIN Filter: Principle • • • Plug-in concept – Seamless integration into any TWAIN-capable application Transmit most of the TWAIN commands to the original Data TWAIN commands Source – Appear to the application as a TWAIN Data Source Intercept image data – Perform colorspace conversion to sRGB – Perform other image processing tasks, OCR etc. Device specific Imaging Application TWAIN Data Source Manager TWAIN Filter TWAIN Data Source Image data (sRGB color space) Color Conversion and Image Processing Library Image data (Scanner RGB) commands Scan Sensor Conexant/PID/Jon Hardeberg/EI 2000 21 TWAIN Filter: User interface Conexant/PID/Jon Hardeberg/EI 2000 22 Outline • Introduction – Why is color a problem? • Color Architecture – sRGB color space for image interchange – How, when, and where to convert • Scanner Characterization – Get the right color out of your scanner! – Define the color conversion to sRGB 23 Conexant/PID/Jon Hardeberg/EI 2000 Scanner Characterization: Goal • Desktop Scanning to sRGB! Scanner RGB values (device dependent) ? Sought sRGB values (device independent) (RsRGB , GsRGB , BsRGB ) = f (Rraw , Graw , Braw ) Conexant/PID/Jon Hardeberg/EI 2000 24 Scanner Characterization: Methods No characterization Gamma correction 255x1 LUT Scanner RGB sRGB Simple method Linear regression matrix (3x3 coefficients) Scanner RGB Estimated linear sRGB Gamma correction 255x1 LUT sRGB Complex method Scanner RGB CUBIC ROOT 3rd order regression matrix (3x20 coefficients) Estimated L*a*b* Known formulae sRGB 25 Conexant/PID/Jon Hardeberg/EI 2000 Scanner Characterization: Setup Colorimetric data Color Target Colorimetric characterization by regression Parameters of the polynomial 3-D polynomial transformations CMS Scanner Profile (3D lookup-table) Conexant/PID/Jon Hardeberg/EI 2000 26 Scanner Characterization: Experiment • Applied to 4 scanners in this study – Canon MultiPass C5500 (MFP, CCD) – Compaq A900 (MFP, CCD) – Hewlett-Packard OfficeJet R40xi (MFP, CCD) – Microtek SlimScan C3 (flatbed, CIS) 27 Conexant/PID/Jon Hardeberg/EI 2000 Scanner Characterization: Results • Reporting mean and max ∆Eab differences No Simple Complex Conexant/PID/Jon Hardeberg/EI 2000 Canon Mean Max 8.9 34.9 5.1 19.9 1.4 7.7 Compaq Mean Max 10 36.3 4.8 21.4 1.4 9.2 HP Mean 19 12.2 2.8 Max 51.7 31.6 14.6 Microtek Mean Max 11.4 36.9 7.5 26.8 2.2 10.7 28 Scanner Characterization: Results • Mean ∆Eab 20 18 16 14 12 10 8 6 Microtek 4 HP 2 Compaq 0 No Canon Simple Complex 29 Conexant/PID/Jon Hardeberg/EI 2000 Scanner Characterization: Results • Max ∆Eab 60 50 40 30 20 Microtek 10 HP Compaq 0 No Conexant/PID/Jon Hardeberg/EI 2000 Canon Simple Complex 30 Conexant/PID/Jon Hardeberg/EI 2000 31 Summary: Desktop Scanning to sRGB • Use sRGB color space for image interchange – Convert to sRGB at scan-time – TWAIN Filter technology – Unambiguous color • Proposed scanner characterization method – Accurate and consistent colors Conexant/PID/Jon Hardeberg/EI 2000 32 Questions? • More info: – jon.hardeberg@conexant.com – http://www.conexant.com/ – http://www.deviceguys.com/jonh/ Conexant/PID/Jon Hardeberg/EI 2000 33