Color Imaging on
   the Internet
Robert Buckley
Xerox Innovation Group

Giordano Beretta
Hewlett-Packard Laboratories

htt...
Course objectives                                                                                   1

•     List and desc...
Rationale                                                                                            2
Why a course on col...
Course roadmap                                                                                                 3

        ...
1           Basics                                                                                  4
            Evolutio...
1.1 The Internet                                                                                     5
            Born Ar...
1.1.1 The communication process                                                                     6
            Claude S...
1.1.2 Multi-layer models for networking                                                                             7

   ...
1.1.3 IETF standards development                                                                                  8
      ...
1.1.4 The WWW                                                                                       9
            Born Wor...
1.2 Protocols                                                                                  10
•     A protocol is a se...
1.2.1 FTP — File Transfer Protocol                                                            11
            Transfer files...
1.2.2 HTTP — HyperText Transfer Protocol                                                      12
            Transfer comp...
1.2.3 Protocols for wireless applications                                                     13
            The PC is no ...
1.2.4 Protocol evolution for services                                                                       14
           ...
1.3 Internet media types                                                                                  15
•     Identif...
1.4 New trends in image processing                                                            16
            User’s expect...
1.4.1 Polarization of devices                                                                     17
            The nomad...
1.4.1.1 Global Crossing’s peak network                                                        18




R.R. Buckley & G.B. B...
1.4.2 How fast is the Internet?                                                               19
            It is both fa...
1.4.3 Leveraging on vision theory                                                             20
•     To conserve power, ...
1.5 Anatomy of a Web page                                                                     21


                       ...
1.5.1 Web page elements                                                                       22




R.R. Buckley & G.B. B...
2           Color representations                                                               23

                      ...
2.1 Requirements                                                                               24

•     Color must be enc...
2.2 Viewing condition issues                                                                   25
            see also §2....
2.3 Color representations                                                                       26
            Color model...
2.4 Luma-chroma spaces                                                                              27
                   ...
2.4.1 RGB separations                                                                         28


                       ...
2.4.2 CIELAB separations                                                                      29


                       ...
2.4.3 Chroma subsampling                                                                           30




                ...
2.5 Some popular schemes                                                                       31
            to represent...
2.5.1 RGB specification                                                                                         32
        ...
2.5.1.1 sRGB viewing conditions                                                                             33
           ...
2.5.2 CIELAB                                                                                       34
•     CIE standard f...
2.5.2.1 8-bit CIELAB encodings                                                                     35
•     CIE encoding (...
2.5.3 The YUV color space                                                                     36
            Used in the P...
2.5.4 The YCbCr color space                                                                   37
            Popular for J...
2.6 More color representations                                                                     38
•     CMYK
      •  ...
2.6.1 ICC profile concepts                                                                      39
•     Profile classes
   ...
2.6.2 ICC profile based color reproduction                                                     40
•     One cannot assume t...
2.7 Color interchange models                                                                                       41
    ...
2.7.1 Color interchange model types                                                            42
•     Type I
      •    ...
2.8 Server side color management                                                              43
•     On the client side,...
2.8.1 True Internet Color architecture                                                                         44

       ...
2.8.2 Verifi Accurate Web Color architecture                                                             45



            ...
2.8.3 WebSync architecture                                                                              46
               ...
2.8.4 Coloreal architecture                                                                   47
•     Polynomial for disp...
2.8.5 RealNetColor architecture                                                               48

•     On Web server all ...
2.9 Display trends                                                                            49
            LCDs are not ...
2.9.1 Display gamuts, the whole story                                                                          50
•     Ga...
2.9.2 Future display technologies — OLED                                                       51
            Organic ligh...
2.9.3 Future display technologies — MEMS                                                                       52
•     ME...
2.10 Appearance mode                                                                           53
      CRT at 80 cd/m2 is...
2.11 Rendering state                                                                          54

•     Stock photo agency...
2.11.1 Digital color image flow                                                                                  55

      ...
2.11.2 Rendering in Photoshop                                                                          56

               ...
3           Data compression                                                                    57

                      ...
3.0.1 Approach                                                                                   58

•     Waveform coding...
3.0.2 General compression system                                                                                   59

•  ...
3.1 Coding methods                                                                               60

•     Achieve compres...
3.1.1 Encoding methods (cont.)                                                                 61
•     Statistics known
 ...
3.1.2 Huffman coding                                                                            62
            Developed 1...
3.1.2.1 Huffman coding example                                                                                   63
•     ...
3.1.3 Arithmetic coding                                                                        64
•     Achieves higher co...
3.1.4 LZ coding method                                                                         65
            Jacob Ziv an...
3.1.5 LZW coding method                                                                       66
            Lossless comp...
3.1.6 Flate and deflate                                                                          67
            Proposed in...
3.2 Binary image compression                                                                   68
•     Group 3 1-d (MH) a...
3.3 Palette color                                                                             69
            Counting colo...
3.3.1 Color palettes (mapped color)                                                                      70
•     Represen...
3.4 Transform coding                                                                                     71

•     Represe...
3.4.1 Transform coding (cont.)                                                                                            ...
3.5 JPEG compression method                                                                   73
            ISO/IEC 10918...
3.5.1 JPEG sequential modes of operation                                                        74

•     Sequential DCT
 ...
3.5.1.1 JPEG non-sequential modes of operation                                                75

•     Progressive DCT
  ...
3.5.2 Color in JPEG                                                                             76
            Very flexibl...
3.5.2.1 Examples of problems                                                                   77
            The same ima...
3.5.3 JPEG sequential (baseline) pipeline                                                            78


                ...
3.5.4 The DCT and its kernels                                                                                             ...
3.5.5 Classical approach: the q-factor                                                        80
The same image compressed...
3.5.6 Perceptually lossy compression                                                                          81
•     Int...
3.5.7 More than just compression                                                              82
            Image process...
3.5.8 Strategies                                                                                83
            to optimize...
3.6 JPEG 2000 — overview                                                                        84
            ISO/IEC 154...
3.6.1 JPEG 2000 — applications                                                                 85

•     Internet and WWW ...
3.6.2 JPEG 2000 — features                                                                    86
•     Superior low-bit ra...
3.6.3 JPEG 2000 — operation                                                                                       87

    ...
3.6.4 JPEG 2000 — wavelet transform                                                                    88




            ...
3.6.5 Image compressed with JPEG                                                              89




0.125 bpp

R.R. Buckl...
3.6.5.1 Image compressed with JPEG 2000, no ROI                                               90




0.125 bpp

R.R. Buckl...
3.6.5.2 JPEG 2000 codestream is packetized                                                    91

•     First few packets ...
3.6.5.3 Image compressed with JPEG 2000 @ 0.125 bpp                                           92
            ROI coding (f...
3.6.5.4 Image compressed with JPEG 2000 @ 0.25 bpp                                            93
            ROI coding


...
3.6.5.5 Image compressed with JPEG 2000 @ 0.5 bpp                                             94
            ROI coding


...
3.6.5.6 Image compressed with JPEG 2000 @ 1 bpp                                               95
            ROI coding


...
3.6.5.7 Image compressed with JPEG 2000 @ 2 bpp                                               96
            ROI coding


...
3.6.5.8 Image compressed with JPEG 2000 @ 4 bpp                                               97
            ROI coding


...
3.7 Mixed Raster Content — background 98
                                                                  T.4
           ...
3.7.1 Mixed Raster Content — solution                                                                          99
        ...
3.7.2 Fax implementation tree                                                                            100
             ...
3.7.3 Mixed Raster Content — overview                                                      101
•     MRC = Mixed Raster Co...
3.7.4 Mixed Raster Content — model                                                                     102
               ...
3.7.4.1 MRC model — decomposition by stripe                                                  103
1 strip/page, 3 layers vs...
104
3.7.5 MRC — test
            Create the same-sized files using JPEG and using MRC




R.R. Buckley & G.B. Beretta   VCI...
3.7.5.1 MRC test — decomposition by stripe                                                           105

                ...
3.7.6 MRC — performance                                                                       106

          Original
    ...
3.7.7 MRC specifications                                                                      107

•     Standards
      • ...
3.8 Which compression method should I108
  use for my images?
•     Users do not like plug-ins — avoid them if possible

•...
3.8.1 Slide 21 revisited in bytes                                                           109
   uncompressed           ...
4           File formats                                                                     110

                        ...
4.1 Color images                                                                            111

•     Image: a rectangula...
4.1.1 File formats                                                                          112
            How is the dat...
4.2 What is metadata?                                                                       113

•     Metadata is machine...
4.3 GIF — Graphics Interchange Format 114
•     Developed by CompuServe, Inc. in 1987

•     Protocol for the on-line tran...
4.4 PNG — Portable Network Graphics 115
            Patent-free replacement for GIF

•     Developed within W3C as license...
4.5 JPEG file formats                                                                       116
The JPEG standard does not ...
4.5.1 JFIF — JPEG File Interchange Format                                                  117
•     Developed by C-Cube M...
4.5.2 Exif and Exif Print                                                                   118
            Exchangeable I...
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Color Imaging on the Internet
Upcoming SlideShare
Loading in...5
×

Color Imaging on the Internet

15,210

Published on

The enormous possibilities and widespread connectivity offered by the Internet and the World Wide Web has spawned multiple ways of exchanging and communicating color images. The Internet is an evolving communication system, where uses, technologies, and applications are continuously introduced by a plethora of players. Its functionality, reliability, scaling properties, and performance limits are largely unknown—albeit they span wide gamuts from optic fiber to wireless connections and from game consoles to palmtop devices, etc. To be successful in Internet imaging, users and developers must design systems in a top-down approach. The goal of this tutorial is to sort out the available standard methods so that attendees will become familiar with the different possibilities for Internet imaging; the trade-offs, issues and dependencies of each; how and when each is used; and their system implications. To this end, we systematically present the standard methods for color encoding, image compression, file formatting, protocols, and applications.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
15,210
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
174
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Color Imaging on the Internet"

  1. 1. Color Imaging on the Internet Robert Buckley Xerox Innovation Group Giordano Beretta Hewlett-Packard Laboratories http://www.inventoland.net/imaging/cii/ www Visual Communications and Image Processing 2003
  2. 2. Course objectives 1 • List and describe the current and emerging methods for Internet image exchange • Develop a systematic understanding of the principles of color encoding, image compression, file formatting, protocols, and Internet imaging applications • Understand the differences between the various methods for each imaging function • Develop an intuition for specifying well-balanced scalable architectures for Internet imaging R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  3. 3. Rationale 2 Why a course on color imaging specifically for the Internet? • A picture is worth ten thousand words… A screenful of text requires 24×80 = 1,920 bytes • A VGA size image requires 640×480×3 = 921,600 bytes • • …but requires almost 500 times as much bandwidth… • data compression is essential for images on the Internet • which compression is best for my image? • …and the server and client are unknown a priori • which color representation is suitable to both? • which file format can be understood by both? • how can they negotiate the above? • how can we provide for unknown viewing conditions? To be successful, systems must be designed in a top-down approach R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  4. 4. Course roadmap 3 Application Protocol Format • Systematic bottom-up Compression presentation and Color image comparison of methods • Intended for top-down system design R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  5. 5. 1 Basics 4 Evolution of Internet imaging • Internet developed over 30 years, now mature and in incremental engineering mode • Although the Internet has been used for scientific visualization from the beginning, it has become a visual medium only since the advent of the free Mosaic browser in 1993 • Outline of this module: • the Internet • protocols • media types • intelligent image processing R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  6. 6. 1.1 The Internet 5 Born Arpanet, Fall 1969 • Originally a high-speed packet-switching network connecting research super-computers • packet switching allows building a reliable system that is based on an infrastructure assumed at all times to be unreliable • each packet is individually addressed and each node just forwards packets not addressed to itself • the routing of packets is irrelevant • based on TCP/IP • Today the Internet is the communications medium for • individuals • businesses • communities of practice (extended knowledge networks) R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  7. 7. 1.1.1 The communication process 6 Claude Shannon, 1941 1. Information source: person or thing generating original message 2. Transmitter: intrument that transforms the message into a signal suitable for transmission 3. Communication channel: medium that conducts the signal 4. Receiver: instrument that takes the signal and tries to reconstruct the message 5. Destination: person or thing the message is intended for R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  8. 8. 1.1.2 Multi-layer models for networking 7 OSI 7-layer model DoD 4-layer model Application Process FTP, SMTP, HTTP Presentation Host-to-Host Session TCP, UDP Transport Internet Network IP, IPv6 Data Link Network Access Ethernet, FDDI Physical Used in newer designs Used in the original development of the Internet R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  9. 9. 1.1.3 IETF standards development 8 4000 3559 3500 3000 2500 RFC No. 2000 1500 1000 500 0 1970 1975 1980 1985 1990 1995 2000 R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  10. 10. 1.1.4 The WWW 9 Born World Wide Web, March 1989 • Using hypertext links to connect chunks of information on the Internet • The WWW is a set of three specifications • URL, Uniform Resource Locator, to locate information • HTML, Hypertext Markup Language, to write simple documents • HTTP, Hypertext Transfer Protocol, to transfer HTML files • The WWW became popular when • the Internet became commercialized • fast data connections became pervasive • graphical browsers made navigation easy and appealing • early adopters understood the value of the new communication medium and invented disruptive technologies R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  11. 11. 1.2 Protocols 10 • A protocol is a set of conventions or rules governing communications • Protocols allow networks to interconnect and ensure compatibility between devices of different manufacturers • Examples: • FTP — file transfer protocol • HTTP — hypertext transfer protocol • IIP — Internet imaging protocol • IPP — Internet printing protocol • SMTP — Simple Mail Transfer Protocol • Protocols become standards when signed off by an official body like IETF, W3C, ITU-T, ISO, or IEEE • de facto and de jure standards R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  12. 12. 1.2.1 FTP — File Transfer Protocol 11 Transfer files from one machine to another • Based on TCP/IP • TCP (transmission control protocol) converts messages into streams of packets at the source, then reassembles them back into messages at the destination • IP (Internet protocol) handles addressing, seeing that packets are routed across multiple nodes and even across multiple networks with multiple standards • Requires explicit directory navigation both at the source and the destination • Allows anonymous login • Can perform end-of-line conversion in ASCII files R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  13. 13. 1.2.2 HTTP — HyperText Transfer Protocol 12 Transfer compound documents with links • Application-level protocol for distributed, collaborative, hypermedia information systems • Requires a reliable transport such as TCP/IP • Request the components of a document identified by hypertext links • Provides support for HTML forms • Typing and negotiation of data representation allows systems to be built independently of the data being transferred • example: color images R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  14. 14. 1.2.3 Protocols for wireless applications 13 The PC is no longer at the center of the world • WASP — wireless application service providers • WAP — wireless application protocol • WML — wireless mark-up language for WAP • existing commercial applications for automatic translation from HTML to WML by AvantGo and Phone.com • iMode — uses HTML, but the screen is still small • created by NTT DoCoMo • does not require translation from HTML R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  15. 15. 1.2.4 Protocol evolution for services 14 distributed objects web services remote messages remote procedures DLL CLR .NET DDE OLE 1.0 COM DCOM MSRPC SOAP COM/ LPC CORBA NCS UDP/TCP DCE RPC CORBA J2EE ONC ONC+ RPC IPC JAVA/RMI SHL RRBC 1960 1970 1980 1990 2000 R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  16. 16. 1.3 Internet media types 15 • Identify type and encoding of transmitted data • type/subtype • used by Multipurpose Internet Mail Extensions (MIME) and others • used to be called MIME types • standard types registered with Internet Assigned Numbers Authority (IANA) • Standard types, sample subtypes text plain, html multipart mixed, related message rfc822, http application pdf, vnd.ms-powerpoint, ipp image tiff, jpeg, png, gif, vnd.fpx audio basic, 32kadpcm video mpeg, quicktime R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  17. 17. 1.4 New trends in image processing 16 User’s expectations • Many users access the Internet in the office on fast workstations connected over fast links to the Internet • At home users often have fast graphics controllers for playing realistic computer games • Increasingly, private homes are equipped with fast connections over DSL, cable modem, 802.11g, FTTH, … • The latest video game machines are very powerful graphic workstations These user experiences set very high expectations for color imaging on the Internet R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  18. 18. 1.4.1 Polarization of devices 17 The nomadic workforce • The new generation grew up on video games & WWW • At work, they expect concise answers immediately on multiple media • The new working world is mobile and wireless • a comprehensive fast fiber optics network provides a global backbone • the “last mile” is wireless • computers are wearable • An appropriate viewing device has not yet been invented • but it will not be printed paper • the viewing conditions will be unpredictable • likely, a plethora of viewing devices will be in use R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  19. 19. 1.4.1.1 Global Crossing’s peak network 18 R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  20. 20. 1.4.2 How fast is the Internet? 19 It is both fast and slow • There is a lot of global fiber • example: Global Crossing planned to circumscribe all continents • Backbones will have ample bandwidth • oversupply: a large amount of fiber is dark • competition is fierce • movies on demand and telepresence will consume this bandwidth • Most users will access the data wireless • color imaging over the Internet must be efficient • Today’s game machines have much more processing power than desktop machines • trade-off data for computation on the client Trend: separation of data from control R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  21. 21. 1.4.3 Leveraging on vision theory 20 • To conserve power, wireless devices will have low effective transmission bandwidth and small display areas • Concomitantly the new users are impatient • Progressive encoding based on region of interest will be crucial • JPEG 2000 and MPEG-21 provide the frameworks • algorithms are required • Automatic cropping based on region of interest is a necessary capability for major commercial sites • Leverage on vision theory for Internet imaging • Intelligent image processing technologies • Lawrence Stark & Claudio Privitera, UC Berkeley R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  22. 22. 1.5 Anatomy of a Web page 21 computer graphics plain text full color image R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  23. 23. 1.5.1 Web page elements 22 R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  24. 24. 2 Color representations 23 Application Protocol Format Compression Color image R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  25. 25. 2.1 Requirements 24 • Color must be encoded in standards that • support communication over the Internet • the total size of a page should be such it can be transferred quickly • hence the color space must compress well • are suitable for heterogeneous environments • there is no a priori knowledge of the user platform • the Internet is more like a bazaar than a cathedral • can easily be implemented efficiently and robustly • Internet imaging applications are not implemented by color scientists • images must be displayed reliably (no unexpected rendering) • there is no a priori knowledge of the user’s machine power R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  26. 26. 2.2 Viewing condition issues 25 see also §2.6.2, slide 40 • There is no control over the user’s viewing conditions • users often work in poor viewing conditions • viewing conditions can change during a session • there is a plethora of viewing devices • an applications implementation may not be aware of the difference, e.g. between colorimetric RGB and device RGB • Issues too complex to expect users controlling their viewing conditions • Color integrity is more important than color fidelity • Ralph Evans: consistency principle R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  27. 27. 2.3 Color representations 26 Color model operators • XYZ • basis for all colorimetry • defined by CIE for 1931 2˚ and 1964 10˚ Standard Observers • most applications refer to 2˚ Observer • RGB • scanners and digital cameras — linear, non-CIE • monitors and displays — non-linear, CIE-based • Luma-chroma • luminance (lightness) and 2 opponent color signals • color television — luminance-chrominance YIQ, YUV, YCbCr • uniform color spaces — CIELAB, CIELUV • color fax uses CIELAB R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  28. 28. 2.4 Luma-chroma spaces 27 fR ( R ) L C1 = A ⋅ f ( G ) G fB ( B ) C2 YIQ YUV YC1C2 NTSC EBU SMPTE CCIR sRGB XYZ RGB RGB RGB 709 Photo CIELAB YES YCC R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  29. 29. 2.4.1 RGB separations 28 R G B R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  30. 30. 2.4.2 CIELAB separations 29 L* a* b* R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  31. 31. 2.4.3 Chroma subsampling 30 L* a* b* R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  32. 32. 2.5 Some popular schemes 31 to represent color on the Internet • sRGB is a colorimetric standard based on common CRTs • gamma function is built-in for efficient display • does not require computations in most cases • viewing conditions are part of the standard, but are not realistic for casual users on the Internet • extended sRGB color spaces are under development • CIELAB and YUV are opponent color spaces that compress well in the case of pictorial images • YCbCr is an opponent color space that was used extensively in developing the JPEG standard • Y is the same as in YUV • U and V are scaled and zero-shifted so that Cb and Cr are in [0, 1]; then they are scaled by 255 to be represented by a byte R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  33. 33. 2.5.1 RGB specification 32 Transformation from sRGB to 1931 CIE XYZ values R’sRGB = R8bit / 255.0 • Primaries G’sRGB = G8bit / 255.0 • red: (xR, yR) B’sRGB = B8bit / 255.0 • green: (xG, yG) If R’sRGB, G’sRGB, B’sRGB ≤ 0.04045 • blue: (xB, yB) RsRGB = R’sRGB / 12.92 GsRGB = G’sRGB / 12.92 • White point: (xN, yN) BsRGB = B’sRGB / 12.92 else R’sRGB, G’sRGB, B’sRGB > 0.04045 • Non-linearity (gamma) RsRGB = [(R’sRGB + 0.055) / 1.055]2.4 GsRGB = [(G’sRGB + 0.055) / 1.055]2.4 • Example: sRGB BsRGB = [(B’sRGB + 0.055) / 1.055]2.4 • IEC 61966-2-1 and • (xR, yR) = (0.64, 0.33) 0.4124 0.3576 0.1806 R sRGB • (xG, yG) = (0.30, 0.60) X Y = 0.2126 0.7152 0.0722 G sRGB • (xB, yB) = (0.15, 0.06) Z 0.0193 0.1192 0.9505 B sRGB • (xN, yN) = (0.3127, 0.3290) • same as ITU-R BT.709-2 R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  34. 34. 2.5.1.1 sRGB viewing conditions 33 Reference display conditions Display parameter Reference condition 80 cd/m2 luminance level white point D65 gamma 2.2 Reference viewing conditions Viewing parameter Reference condition screen background 20% of reference display area surround 20% of ref. ambient illuminance level proximal field 20% of ref. display luminance level ambient illuminance level 64 Lux ambient white point D50 veiling glare 1% R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  35. 35. 2.5.2 CIELAB 34 • CIE standard for color difference evaluation • uniform color space • illuminant Xn, Yn, Zn • L* range: [0, 100] L* = 116 ⋅ 3 Y ⁄ Y n – 16 a* = 500 ⋅ { 3 X ⁄ X n – 3 Y ⁄ Y n } b* = 200 ⋅ { 3 Y ⁄ Y n – 3 Z ⁄ Z n } • Xn, Yn, Zn: reference white • D50: 96.422, 100, 82.521; D65: 95.047, 100, 108.883 • von Kries type adaptation • Color fax, ICC Profile Connection Space R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  36. 36. 2.5.2.1 8-bit CIELAB encodings 35 • CIE encoding (TIFF) • scale L* = [0, 100] to [0, 255] • limit a* and b* to [-128, 127] • ICC encoding • scale L* = [0, 100] to [0, 255] • add offset 128 and limit a* and b* to [0, 255] • white point: D50 • ITU-T encoding • scale L* = [0, 100] to [0, 255] • apply scale/offset so a* = [-85, 85] maps to [0, 255] • apply scale/offset so b* = [-75, 120] maps to [0, 255] • white point: D50 R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  37. 37. 2.5.3 The YUV color space 36 Used in the PAL television system Y 0.299 0.587 0.114 R U = – 0.148 – 0.289 0.437 ⋅ G V 0.615 – 0.515 – 0.100 B or Y = 0.299 ( R – G ) + G + 0.114 ( B – G ) U = 0.493 ( B – Y ) V = 0.877 ( R – Y ) Reference: Bhaskaran & Konstantinides R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  38. 38. 2.5.4 The YCbCr color space 37 Popular for JPEG • From ITU-R BT.601-2 for color television Y 0.299 0.587 0.114 R Cb = – 0.169 – 0.331 0.500 ⋅ G Cr 0.500 – 0.419 – 0.081 B • 8-bit encoding in digital files Y 0.299 0.587 0.114 R 0 Cb = – 0.169 – 0.331 0.500 ⋅ G + 128 Cr 0.500 – 0.419 – 0.081 B 128 R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  39. 39. 2.6 More color representations 38 • CMYK • color print separations — device specific, non-linear • example: SWOP printing process specification • Palette • color map or lookup table • color represented by an index into a table of N colors • see §3.3.1, slide 70 • ICC profiles • profile is a transform between a given color space and a Profile Connection Space (PCS) • defines color explicitly in terms of its transform to PCS • PCS is XYZ or CIELAB • ICC has defined standard formats for profiles R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  40. 40. 2.6.1 ICC profile concepts 39 • Profile classes • input devices (scanners, digital cameras) • display devices (monitors, LCD projectors) • output devices (printers, film recorders) • DeviceLink (dedicated device to device) • ColorSpace • Abstract (PCS-to-PCS, effects, e.g., contrast adjustment) NamedColor (Pantone®, Trumatch®) • • Rendering intents • colorimetric: absolute, relative; perceptual; saturation • Models • shaper/matrix (shaper is a 1-D LUT) • shaper/multi-D LUT R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  41. 41. 2.6.2 ICC profile based color reproduction 40 • One cannot assume that a casual Web User works in a controlled environment • sRGB is considered a safe bet for “average” situations • Tools are available to control color rendering on the Internet server side • It is imperative that the entire workflow is characterized and ICC profiles be always embedded in images, instead of assumed • For an example on how to set up an ICC based environment see //www.hpl.hp.com/techreports/1999/HPL-1999-110.pdf R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  42. 42. 2.7 Color interchange models 41 S R D color color Type I T1 T2 source destination destination parameters S R D color color Type II T1 T2 source destination S R D color color Type III T1 T2 source destination source parameters color values: S = source, R = reference, D = destination Ti = color conversion R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  43. 43. 2.7.1 Color interchange model types 42 • Type I • interchange uses device color values • source prepares color data for known destination • example: traditional graphic arts CMYK workflow • Type II • interchange uses device-neutral, reference color space • examples: color TV broadcasting, color facsimile • Type III • source transmits source values + source characteristics • similar to type II, but with delayed conversion • examples: PDF CIE-based color spaces, ICC workflow R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  44. 44. 2.8 Server side color management 43 • On the client side, a set of filters is used to create visually an ICC profile with an applet running in the browser • High-end systems are based on spectroradiometry & compensate for brightness level differences among monitors 1. On the server side, a servelet pushes each image through a color management system before it is sent to the client • E-Color True Internet Color, Imation Verifi 2. …or servelet sends applet that does correction at browser • Gretag-Macbeth WebSync 3. …or the HTML page is tagged with a trigger • WayTech Coloreal, Praxisoft RealNetColor R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  45. 45. 2.8.1 True Internet Color architecture 44 send uncorrected images 3 2 Merchant’s E-Color’s image URL send page points to Server Server with E-Color’s image URL server 4 1 send color- request corrected page image Browser R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  46. 46. 2.8.2 Verifi Accurate Web Color architecture 45 2 Merchant’s Imation’s send raw uncorrected Image Server Profile Server 3 image request 6 1 profile send color- request corrected page 4 image send cookie 5 with send profile profile from cookie Browser R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  47. 47. 2.8.3 WebSync architecture 46 4 replace 5 image send page tags and color-matching WebSync applet Software 1 request 2 page forward 3 request send Browser page Merchant’s Server R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  48. 48. 2.8.4 Coloreal architecture 47 • Polynomial for display monitor’s gamma curve is stored in monitor’s EDID chip • On merchant’s Web server all images are encoded in sRGB • Web server adds a Coloreal tag to each HTML file • When monitor is first connected, installer reads gamma curve from EDID chip to create an ICC profile for the monitor • When an HTML page contains the Coloreal tag, Windows ICM is invoked to use the IC profile to compute device RGB counts R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  49. 49. 2.8.5 RealNetColor architecture 48 • On Web server all images are encoded in sRGB or are tagged with an ICC profile • Web server adds a RealNetColor tag to each HTML file • Each use of the RealNetColor tag triggers a payment from the Web retailer to Praxisoft • When an HTML page contains the RealNetColor tag, a plug-in converts the color using the ICC profile or assuming sRGB values R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  50. 50. 2.9 Display trends 49 LCDs are not CRTs • CRT displays are being replaced by LCD displays • LCDs are brighter, smaller, and use less power • However, the colorimetry can be quite different • with careful calibration, characterization & color management, an LCD can be made to perform close to a CRT in terms of linearity, gamma, and white point • the color gamut can be very different • today’s LCDs can outperform CRTs (monitors above are from 1995, 1998) R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  51. 51. 2.9.1 Display gamuts, the whole story 50 • Gamut renderings in chromaticity diagrams are misleading, because of colorfulness and appearance mode 21” studio CRT 23” LCD reproduced with permission, © Apple R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  52. 52. 2.9.2 Future display technologies — OLED 51 Organic light-emitting-diode displays • LCD displays use absorption filters and polarizers, limiting the gamut in the blues and the brightness • OLED displays are emissive and are brighter • no filters nor polarizers • Current limited lifetime of blue OLEDs limits the gamut in the blues even more than for LCDs • Wafer size still limited • today’s applications: car stereo, portable DVD players • largest prototype display shown: 13” • manufacturing process more expensive than LCD R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  53. 53. 2.9.3 Future display technologies — MEMS 52 • MEMS (Micro-ElectroMechanical System) technology makes is possible to build displays based on interference glass substrate V air thin film stack metallic membrane reproduced with permission, © Iridigm • Voltage between thin film stack and metallic membrane controls their gap and therefore the pixel’s color • Luminance by flickering or dithering • Typical resolutions: 400–1000 dpi • Bistable, only draws power during switching R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  54. 54. 2.10 Appearance mode 53 CRT at 80 cd/m2 is darker than surroundings • • perceived as object in field of view • viewing conditions must be controlled • color fidelity is important LCD at 300 cd/m2 is brighter than indoor surroundings • • similar to illuminator viewing condition • visual system adapts to white point, memory colors OLED achieves 30,000 cd/m2 in military applications • expect 1,000 cd/m2 in consumer applications • • MEMS interference displays can be brighter than any surroundings • Consistency principle (Evans) • reproduction of relation among colors more important than absolute colorimetry R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  55. 55. 2.11 Rendering state 54 • Stock photo agency images are rendered to a normalized intent • Typical consumer images are the raw output of digital cameras or scanners • Many CBIR algorithms rely on color histograms • Need to specify when images are unrendered • RIMM/ROMM RGB • Need algorithms to perform automatic rendering operation R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  56. 56. 2.11.1 Digital color image flow 55 sensor unrendered rendered device space space space space colorimetric colorimetric output device input device estimate of estimate of a specific RGB specific RGB original scene reproduction or CMYK device and/or device and/or image specific image specific image specific transformation transformation transformation R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  57. 57. 2.11.2 Rendering in Photoshop 56 connection space display (XYZ) (RGB counts) input connection space working color space (Adobe RGB, or …) rendered image (RGB counts) (CIELAB or XYZ) connection space printer (CIELAB or XYZ) (CMYK counts) R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  58. 58. 3 Data compression 57 Application Protocol Format Compression Color image R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  59. 59. 3.0.1 Approach 58 • Waveform coding of color images • with “waveform” we put the emphasis on the signal, as opposed to its meaning • “Avoiding the transmission of information which the eye cannot use” A.V. Bedford, 1950 • Reducing statistical or visual redundancy • source vs. sink coding • lossless vs. lossy (visually lossless) coding • lossless: decompressed image identical to original • lossy: decompressed image tolerably different R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  60. 60. 3.0.2 General compression system 59 • 3 stages: transform — quantize — code • quantize — lossy • code — lossless transform quantize code original compressed T Q C spatial filter scalar quantizer Huffman coding color transform vector quantizer arithmetic coding spatial transform color palette Lempel-Ziv R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  61. 61. 3.1 Coding methods 60 • Achieve compression by exploiting statistical redundancy in the symbol set • average number of bits cannot be less than the entropy H H = – ∑ pi log (pi), where ∑ pi = 1 (pi is the probability of symbol i) • • entropy sets bound on performance • Not all symbols are equally likely • use short codewords for more probable symbols • use long codewords for less probable ones R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  62. 62. 3.1.1 Encoding methods (cont.) 61 • Statistics known • Huffman coding • method of constructing the optimum prefix code • Arithmetic coding • represents a symbol string as a binary fraction • typically 5–10% better than Huffman coding, but more complex • Statistics not known • Lempel-Ziv (dictionary methods) in 3 flavors: LZ77, LZ78, LZW • represent a string in terms of previous occurrences using: • a pointer to the previous occurrence and its length (LZ77) • a dictionary of previous occurrences (LZ78, LZW) • Flate • LZ77 followed by Huffman coding • in some contents authoring tools, Flate encoding is labelled as ZIP R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  63. 63. 3.1.2 Huffman coding 62 Developed 1952 by D.A. Huffman • Produces the optimum prefix code • fixed-length symbols to variable-length codewords 1. Order the symbols according to their probabilities • frequency of occurrence of each symbol known a priori • in practice, a training set of data is used 2. Merge the two symbols with the smallest probabilities 3. Repeat step 2 until one merged symbol is left • step 2 can be viewed as construction of a binary tree, since at each recursion we merge two symbols • at end of recursion, all symbols will be leaf nodes of this tree • the codeword for each symbol is obtained by traversing the binary tree from root to the leaf node corresponding to that symbol R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  64. 64. 3.1.2.1 Huffman coding example 63 • In most Internet imaging applications the size of the alphabet composing these symbols is restricted to at most 64,000 symbols • Average number of bits cannot be less than the entropy H = – ∑ p i log ( p i ) pi 1 1.00 1 V1 000 0.5 1 01 V2 001 0.2 1 0 0.50 0011 V3 010 0.1 1 0.18 0 0010 V4 011 0.08 0 0.30 1 0001 V5 100 0.06 0 0.12 1 00001 V6 101 0.03 0 0.06 1 000001 V7 110 0.02 0 0.03 0 000000 V8 111 0.01 2.19 Entropy = 2.16 R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  65. 65. 3.1.3 Arithmetic coding 64 • Achieves higher compression than Huffman by combining several symbols into a single unit • a message is encoded as a whole new symbol instead of as separate symbols • geometric interpretation: symbols correspond to subintervals in [0, 1) • Separates coding from modeling • this allows for the dynamic adaptation of the probability model without affecting the design of the coder • Many image compression standards allow to substitute Huffman with arithmetic coding • Huffman coding is often the baseline requirement • arithmetic coding can be used in critical applications • Covered by patents from IBM, Mitsubishi, and AT&T R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  66. 66. 3.1.4 LZ coding method 65 Jacob Ziv and Abraham Lempel, 1977 and 1978 • A sliding window is moved across the data stream • LZ77: • a string is represented in terms of a pointer to the previous occurrence and its length • LZ78: • a string is represented in terms of a pointer into a dictionary of previous occurrences • a dictionary is built that maps variable length bit strings from the data stream into fixed length codes • the decoder parses the code sequence, recursively builds the same dictionary, and reconstructs the data stream R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  67. 67. 3.1.5 LZW coding method 66 Lossless compression of graphics • Improvement of LZ proposed by Terry Welch in 1984 • Dictionary is initialized with the character set • Bytes from the input stream are read and used to progressively form larger and larger sequences until a sequence is formed that is not in the dictionary • The last known sequence’s encoding is output and the new sequence is added to the dictionary • Typical compression ratio: 2:1 • Implementing LZW may require licensing USP 4,558,302 • see http://www.unisys.com/about__unisys/lzw/ R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  68. 68. 3.1.6 Flate and deflate 67 Proposed in 1996 by L. Peter Deutsch • L77 cascaded with Huffman • window size up to 32K bytes • Huffman coding of pointers and lengths • Performance • substantially better compression than LZW • considerably slower encoding speed than LZW • same decoding speed • Usage • PNG format • gzip, StuffIt, and ZIP archives • PDF 1.2 and later to compress text, graphics, and indexed image data • Specification Ver. 1.3, IETF RFC 1951 R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  69. 69. 3.2 Binary image compression 68 • Group 3 1-d (MH) and 2-d (MR) • ITU-T Rec. T.4 • Group 4 (MMR) • ITU-T Rec. T.6 • JBIG — progressive bi-level image compression • ISO 11544 / ITU-T Rec. T.82 • ITU-T Rec. T.85 — application profile for fax • ITU-T Rec. T.43 — bit-plane coding for color fax images using JBIG • JBIG2 — lossy/lossless coding for bi-level images • ISO 14492 / ITU-T Rec. T.88 • text halftone, and generic modes • add color tags to symbols in text mode R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  70. 70. 3.3 Palette color 69 Counting colors • 24-bit pixels can represent 16 million colors • Humans can distinguish 10 million colors • A 2×3K image contains 6 million pixels • A 512×512 image contains 250 thousand pixels A “typical” 5122 image has • 26 thousand colors • One byte can represent 256 colors R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  71. 71. 3.3.1 Color palettes (mapped color) 70 • Represent original colors by indices into a map with reduced set of colors (paint by numbers) • choose N colors (palette) • image dependent (adaptive) or image independent (fixed) • e.g., median cut • quantize (map) original to palette colors • use look-up table to map index to palette color • may use dither in palettized image quantize original index Q R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  72. 72. 3.4 Transform coding 71 • Represent pixels p(x, y) as linear basis functions ci(x, y) p ( x, y ) = k ∑ C i c i ( x, y ) • Coordinate transformation / spectral decomposition • decorrelating original pixels • compacting signal energy • matching quantizer to human visual system • Quantize and code transform coefficients Ci • emphasis on T step of T-Q-C compression model transform quantize code original compressed T Q C R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  73. 73. 3.4.1 Transform coding (cont.) 72 • Discrete Karhunen-Loeve Transform (KLT) is optimal • uncorrelated coefficients, best energy packing • image dependent, no fast implementation • Discrete Cosine Transform (DCT) • image independent, fast transform exists • performance approaches KLT 7 7 ( 2x + 1 )kπ ( 2y + 1 )lπ 1 ∑∑ Y ( k, l ) = -- C ( k )C ( l ) S ( x, y ) cos --------------------------- cos ------------------------- - - 16 16 4 x = 0y = 0 • Baseline JPEG standard uses block DCT • Joint Photographic Experts Group R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  74. 74. 3.5 JPEG compression method 73 ISO/IEC 10918–1, ITU-T Rec. T.81 • Lossy compression of images • Pixels are correlated across space • the compaction efficiency of the Discrete Cosine Transform (DCT) is close to the optimal transform (KLT) • DCT is an orthogonal and separable transform • Transformed data is quantized • Compression is achieved with cascaded entropy coder • Typical compression ratios (depends on resolution) • 10:1 in RGB • 25:1 in opponent color spaces R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  75. 75. 3.5.1 JPEG sequential modes of operation 74 • Sequential DCT • image blocks are coded in scan-like sequence • Huffman coding (baseline) • arithmetic coding • Sequential lossless • DPCM predictive R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  76. 76. 3.5.1.1 JPEG non-sequential modes of operation 75 • Progressive DCT • image blocks are processed sequentially, but coding is completed in multiple scans • spectral selection: successively more coefficients are coded in zig-zag • successive approximation: DCT coefficients are divided by power of 2 before encoding and slices from MSB to LSB are coded • requires buffering • Hierarchical coding • each image component is encoded as a sequence of frames • first frame is a low-resolution version of image • subsequent frames are differential frames between source components and reference reconstructed components • useful for multi-resolution applications R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  77. 77. 3.5.2 Color in JPEG 76 Very flexible • No color space specification • Baseline JPEG: 4 or less color components • Colorimetric color representation is possible • Full JPEG: 256 or less color components • Discrete spectral color representation is possible • Compression can be improved with chroma subsampling Conclusions: • JPEG can be used for full color communication • Find way to solve artifact problem in JPEG R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  78. 78. 3.5.2.1 Examples of problems 77 The same image: original, GIF, JPEG en radi ts Hot colors on g Cool colors o gradients n Soft colors gradients on • GIF can cause color quantization problems due to palettization before LZW compression • Just changing the q-factor introduces ringing and blockiness artifacts R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  79. 79. 3.5.3 JPEG sequential (baseline) pipeline 78 compressed original stream raster to entropy block DCT quantization coding translation Q Huffman tables quantization tables critical knob for image quality R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  80. 80. 3.5.4 The DCT and its kernels 79 7 7 ( 2x + 1 )kπ ( 2y + 1 )lπ 1 ∑∑ Y ( k, l ) = -- C ( k )C ( l ) S ( x, y ) cos --------------------------- cos ------------------------- - - 16 16 4 x = 0y = 0 m ⎛ n + --⎞ π 1 - ⎝ 2⎠ [ C 8 ] mn = k m cos --------------------------- - 8 The 64 kernels of the discrete cosine transform: R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  81. 81. 3.5.5 Classical approach: the q-factor 80 The same image compressed with the same parameters except for an increasing q-factor R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  82. 82. 3.5.6 Perceptually lossy compression 81 • Internet images often include text • Readability of text is preserved when small features are preserved • Optimize quantization tables to preserve typeface parts itag ear bar stem serif terminal stress USP 5,883,979 R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  83. 83. 3.5.7 More than just compression 82 Image processing in the compressed domain • Optical shortcomings can be compensated • cost reduction • Geometric transformations • Preferred rendering USP 5,850,484 R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  84. 84. 3.5.8 Strategies 83 to optimize the JPEG method • A discrete quantization table (DQT) can be used for all images of the same class • text • business graphics • maps • drawings • gradients in various directions • etc. • But: image is created only once, downloaded many times • it can be more efficient to compute custom tables for each image: adaptive algorithm • Main goal is system balancing! R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  85. 85. 3.6 JPEG 2000 — overview 84 ISO/IEC 15444, ITU-T Rec. T.800 • Wavelet-based follow-on to JPEG • same committee, different contributors • Single compression architecture • continuous-tone and binary compression • lossy, lossless, and lossy-to-lossless coding • progressive rendering • by quality or by resolution via order of codestream packets • Offer better compression (~25%) with more features • More parts coming with extensions, profiles, file formats & conformance • Part 1 (core decoder) approved as January 2001 R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  86. 86. 3.6.1 JPEG 2000 — applications 85 • Internet and WWW images • low bandwidth, multiple resolutions, random access • replacement for FlashPix with multiple, tiled JPEG images? • Mobile applications • error resilience, rate control, progressive decompression • low bit rate • Digital photography • Facsimile and multi-function products • Compound images R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  87. 87. 3.6.2 JPEG 2000 — features 86 • Superior low-bit rate performance • Random access within compressed image • Multiple resolutions with multi-level wavelet transform • Can specify bit rate • Error resilience • re-synchronization of decoder • Regions of Interest (ROI) • some parts of the image compressed with higher fidelity • 1–256 color (spectral) components R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  88. 88. 3.6.3 JPEG 2000 — operation 87 LH LL 2-D DWT LH LL LL LH 2-D DWT HL HH Original HH HL HH HL transform quantize code original compressed T Q C Component transform Scalar by Modeling followed • reversible for lossless mode by binary adaptive sub-band • RGB-to-YCbCr for lossy mode arithmetic coder • none skip for lossless mode Pixel transform • 2-D discrete wavelet transform • separable, by tiles, multilevel R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  89. 89. 3.6.4 JPEG 2000 — wavelet transform 88 2-D DWT LH LL LL LH LL LH 2-D DWT HL HH Original HH HL HH HL • 2-level wavelet transform • with JPEG 2000 9×7 filter R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  90. 90. 3.6.5 Image compressed with JPEG 89 0.125 bpp R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  91. 91. 3.6.5.1 Image compressed with JPEG 2000, no ROI 90 0.125 bpp R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  92. 92. 3.6.5.2 JPEG 2000 codestream is packetized 91 • First few packets are such that you can decompress and obtain an image with more quality in the ROI (face) than in the periphery (surround) • As more packets arrive, you obtain the data to produce better quality in the surround, so that the entire image is rendered at the same quality • User can truncate the process anywhere in between R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  93. 93. 3.6.5.3 Image compressed with JPEG 2000 @ 0.125 bpp 92 ROI coding (face) equivalent to 0.125 bpp R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  94. 94. 3.6.5.4 Image compressed with JPEG 2000 @ 0.25 bpp 93 ROI coding equivalent to 0.25 bpp R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  95. 95. 3.6.5.5 Image compressed with JPEG 2000 @ 0.5 bpp 94 ROI coding equivalent to 0.5 bpp R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  96. 96. 3.6.5.6 Image compressed with JPEG 2000 @ 1 bpp 95 ROI coding equivalent to 1 bpp R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  97. 97. 3.6.5.7 Image compressed with JPEG 2000 @ 2 bpp 96 ROI coding equivalent to 2 bpp R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  98. 98. 3.6.5.8 Image compressed with JPEG 2000 @ 4 bpp 97 ROI coding equivalent to 4 bpp R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  99. 99. 3.7 Mixed Raster Content — background 98 T.4 T.6 black-and-white black-and-white MH MMR text and line text and line diagrams diagrams T.85 in1 in1 out out in2 in2 JBIG black-and-white text, halftones, PSTN stipples, line art, and so on Multiple, independent compression methods— T.43 T.42 each optimized for one kind of image content JBIG JPEG CIELAB CIELAB R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  100. 100. 3.7.1 Mixed Raster Content — solution 99 T.44 black-and-white text & digrams Mixed as before, colored Raster text Content too interchange black-and-white text and line diagrams black-and-white text, halftones, stipples, line art, color text and in1 and so graphics on out in2 MRC is a method for using multiple compression methods in raster documents that contain multiple kinds of content R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  101. 101. 3.7.2 Fax implementation tree 100 T.4 black-and-white text and line diagrams MH in1 out in2 T.42 black-and-white black-and-white text, halftones, text and line stipples, line art, diagrams JPEG and so on CIELAB in1 out in2 T.85 T.6 JBIG MMR T.44 black-and-white T.43 text & digrams as before, Mixed colored Raster text JBIG Content too CIELAB R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  102. 102. 3.7.3 Mixed Raster Content — overview 101 • MRC = Mixed Raster Content • multi-layer model for representing compound images • described in ITU-T Recommendation T.44 • originally proposed in joint Xerox/HP contribution • efficient processing, interchange and archiving of raster-oriented pages with a mixture of multilevel and bilevel images • Technical approach • segmentation of an image into multiple layers (planes), by image content • use spatial resolution, color representation and compression method matched to the content of each layer • Compound image architecture • framework for using compression methods • Performance • can achieve compression ratios of several 100 to 1 on typical documents R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  103. 103. 3.7.4 Mixed Raster Content — model 102 Image 3-layer model black-and-white text & digrams • Foreground colored text • multilevel, e.g., text color bla ck • JBIG @ 12 bpp, 100 dpi red • Mask bla • bilevel, e.g., text shape tex ck-a n t co & dig d-wh • MMR @ 1 bpp, 400 dpi lor i ed rams te tex t • Background • multilevel, e.g., contone im. • JPEG @ 24 bpp, 200 dpi Image = M • FG + M’ • BG R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  104. 104. 3.7.4.1 MRC model — decomposition by stripe 103 1 strip/page, 3 layers vs. multiple strips/page, 1-3 layers/strip If we do not make Recommendations Stripe 1: M together, we will surely not make them at all Stripe 2: M, B Did you ever get a sinking Time to pull feeling? Stripe 3: M, B, F together? Stripe 4: B Stripe 5: M, B, F Too late! Too late! Stripe 6: B But it is better to have proposed a Recommendation Stripe 7: M, F and failed, than to never have proposed at all. But better still to propose and see success in both document and marketplace Based on Fig. 3 & 8 in T.44 R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  105. 105. 104 3.7.5 MRC — test Create the same-sized files using JPEG and using MRC R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  106. 106. 3.7.5.1 MRC test — decomposition by stripe 105 Stripe 1: Mask image with FG = red Stripe 2: Mask image only Stripe 3: Mask image with graphic in FG Stripe 4: Mask image only Stripe 5: Mask (white) with image in BG Unless otherwise noted, FG is defaulted to black and BG is defaulted to white R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  107. 107. 3.7.6 MRC — performance 106 Original @ 200 dpi JPEG @200 dpi CR = 95:1 MRC M — MMR @ 400 dpi FG — JPEG @ 200 dpi BG — JPEG @ 200 dpi CR = 382:1 @ 400 dpi R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  108. 108. 3.7.7 MRC specifications 107 • Standards • ITU-T Rec. T.44 • TIFF-FX Profile M • JPM (JPEG2000 standard, Part 6) • Proprietary • ScanSoft PagisPro • LizardTech Document Express (DjVu) • Luratech LuraDocument R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  109. 109. 3.8 Which compression method should I108 use for my images? • Users do not like plug-ins — avoid them if possible • Static pictorial image: JPEG • Image with few colors: LZ (no dithering) • GIF (§4.3, slide 114) is being replaced by PNG; currently there are still differences in what is native in browsers • Vector graphics: do not rasterize • SVG file format (see §4.10, slide 135) • plug-in still new and huge; not available for all platforms • High concept vector graphics: scripting • Flash file format • requires plug-in; not available for all platforms R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  110. 110. 3.8.1 Slide 21 revisited in bytes 109 uncompressed compressed 238,960 8,838 1,427 393,448 56,331 619K bytes total 65K bytes total R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  111. 111. 4 File formats 110 Application Protocol Format Compression Color image R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  112. 112. 4.1 Color images 111 • Image: a rectangular array of pixels • a pixel is an array of samples • image document: an array of page images • Two things a file format should do • provide sufficient information to decode an image or rendering or processing • height, width, samples per pixel, bits per sample, resolution, color space, compression method, associated images • image structure, bye ordering • provide useful information about the image • metadata, e.g., image description, OCR data R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  113. 113. 4.1.1 File formats 112 How is the data and its metadata stored? • Specify the structure of a file • file consists of • metadata (e.g., color space, white point, little endian, big endian) • compressed data • Text, structure, and meta oriented: HTML, XML • Image oriented: GIF, PNG, JFIF, FlashPix, TIFF-FX • Compound document oriented: TIFF-FX, PDF R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  114. 114. 4.2 What is metadata? 113 • Metadata is machine understandable information about file resources • The architecture is of metadata represented as a set of independent assertions • assertions about resources are attributes of the resource • this architecture facilitates programming • The set of valid attribute names for a context are defined by convention in a vocabulary • Metadata increases the value of information • See §4.9.1, slide 129 R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  115. 115. 4.3 GIF — Graphics Interchange Format 114 • Developed by CompuServe, Inc. in 1987 • Protocol for the on-line transmission and interchange of raster graphic data. • Colors specified in uncalibrated device dependent RGB • Color is palettized & restricted to power of 2 in [0, 7] • A GIF data stream can contain several raster-based graphics — this can be used for animations • a optional global color map and a local optional map per image • The raster data is a string compressed with LZW • sliding window is moved across data stream and dictionary is built • code size is limited to 12 bits per code • there are special codes for resetting tables and end-of-stream R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  116. 116. 4.4 PNG — Portable Network Graphics 115 Patent-free replacement for GIF • Developed within W3C as license-free alternative to GIF • Supports palettized color, grayscale, and RGB color • extension chunk for sRGB and ICC profiles • allows for gamma correction for better cross-platform performance • not supported by all browsers • Optional 8-bit alpha channel can be used for transparency • not supported by all browsers • Only supports single images (no animation) • proposed multi-image version is MNG (Multi-image Network Graphics) • Compression method is flate R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  117. 117. 4.5 JPEG file formats 116 The JPEG standard does not specify a file format; several different formats have been proposed • ANPA/IPTC — newspaper industry • ITU-T — ITU-T Rec. T.4 Annex E for color fax • ETSI — photo videotext, video telephony • EXIF and Exif Print — digital cameras • TIFF/EP — digital cameras, ISO/DIS 12234–2 • IOCA — IBM Image Object Content Architecture • NITFS — intelligence community, DoD • TIFF — Tag Image File Format rev. 6.0 and later • PDF — Portable Document Format • JFIF — JPEG File Interchange Format • SPIFF — ISO 10918 Part 3 R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  118. 118. 4.5.1 JFIF — JPEG File Interchange Format 117 • Developed by C-Cube Microsystems as a simple file format to exchange JPEG bitstreams • just adds APP0 marker segment with application specific information to a JPEG datastream, as defined in ISO 10918 • baseline or progressive JPEG • Simpler than TIFF, but for JPEG only • single codestream, with thumbnail in APP0 marker segment • quantization and Huffman tables in codestream • Allows for additional attributes over those of JPEG • The color space is YCbCr • no provisions for gamma correction • an offset is applied to turn CbCr into non-negative numbers (see §2.5.4, slide 37) R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  119. 119. 4.5.2 Exif and Exif Print 118 Exchangeable Image File • Exif being revised from V2.1 to V2.2, called Exif Print • New features: • enhanced metadata • scene modes (portrait, landscape, etc) • more manditory camera data • user / image preference data (sharpness, chroma, …) • formalized use of sYCC for larger than sRGB color gamut • ExifPrint sYCC is display referenced for a display with sRGB properties but with no gamut limitations • ExifPrint sYCC can include ICC profile • Exif Print was adoped April 2002 • Often used with Digital Print Order Form (DPOF) R.R. Buckley & G.B. Beretta VCIP 2003— Lugano, 8 July 2003 T3 — Color Imaging on the Internet
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×