|
High Performance Computer Imaging Ihtisham Kabir 1996 | 400 pages ISBN: 132683016 |
|||
| $44.00 | Softbound print book | Out of print (?) | |
Table of Contents
| acknowledgments xiii | ||
| preface xv | ||
| 1 Introduction to computer imaging | ||
| 1.1 | Introduction 2 | |
| 1.2 | Origin and growth of computer imaging 2 | |
| 1.3 | Application areas 4 | |
| Technical image processing 4, Medical imaging 4, Remote sensing 5, Desktop publishing 5, Graphic arts 5, Document imaging 6, Digital photography 6, Industrial inspection 6, Video processing 7, Consumer applications 7 | ||
| 1.4 | Notations and terminology 7 | |
| Basic parameters of a digital image 8 | ||
| 1.5 | Image formats for API libraries 9 | |
| 1.6 | Pixel arithmetic 12 | |
| Pixel data types 12, Special operations for pixels: formatting, clipping, masking 12, Fixed-point arithmetic 14 | ||
| 1.7 | Examples of digital images 15 | |
| 1.8 | System considerations 17 | |
| Storage requirements for digital images 17, Performance requirements for imaging algorithms 18, Bandwidth requirements 18, Requirements for the display of digital images 18, Software requirements 19 | ||
| 1.9 | Conclusion 19 | |
| 1.10 | References 19 | |
| 2 Imaging devices I: acquisition, display, and storage | ||
| 2.1 | Introduction 22 | |
| 2.2 | Image acquisition 23 | |
| Acquisition devices 26 | ||
| 2.3 | Image viewing 33 | |
| Frame buffer displays 33, Hardcopy devices 35 | ||
| 2.4 | Image storage 37 | |
| Methods of storage--memory hierarchy 37, Kodak PhotoCD--a system for storing photographic-quality images 39 | ||
| 2.5 | Conclusion and further reading 41 | |
| 2.6 | References 41 | |
| 3 Imaging devices II: the processing engine | ||
| 3.1 | Introduction 44 | |
| 3.2 | Special-purpose imaging hardware 45 | |
| Dedicated imaging hardware 46, Programmable imaging hardware 51, Imaging on the frame buffer 54 | ||
| 3.3 | The microprocessor as a processing engine 57 | |
| 3.4 | Detailed example 1: the SX accelerator 60 | |
| System architecture 60, SX architecture 61, SX data types 62, SX instruction set 62, Programming examples 66, Performance improvements 68 | ||
| 3.5 | Detailed example 2: Visual Instruction Set (VIS) 69 | |
| UltraSPARC-1: the processor for VIS 71, VIS data types 72, VIS instructions 73, VIS program development environ-ment 80, Example programs 81, Performance of VIS 83 | ||
| 3.6 | Conclusion and further reading 84 | |
| 3.7 | References 85 | |
| 4 Imaging software design | ||
| 4.1 | Introduction 88 | |
| 4.2 | Imaging software hierarchy 90 | |
| 4.3 | Imaging software development process 92 | |
| 4.4 | Imaging software requirement 92 | |
| 4.5 | Specification of imaging software 93 | |
| Functional specification 94, Performance specification 97, Verification methodology 99 | ||
| 4.6 | Detailed design of imaging software 104 | |
| Object-oriented design in imaging 104, Internal design specification 107, Design and code reviews 112 | ||
| 4.7 | Implementation of imaging software 113 | |
| Development environment and tools 113, Utility software 115, Coding, compiling, and unit testing 115, Common errors and debugging hints 116, Measuring and tuning performance 117 | ||
| 4.8 | Maintenance of imaging software 121 | |
| Tracking and fixing bugs 121, Adding functions and features 122, Controlling code complexity 122 | ||
| 4.9 | The porting guide 123 | |
| 4.10 | Internet programming using Java 123 | |
| The Java programming model 123, The Java language 124, Implications for imaging software 125 | ||
| 4.11 | Conclusion and further reading 126 | |
| 4.12 | References 127 | |
| 5 Image point operations | ||
| 5.1 | Introduction 130 | |
| 5.2 | Image copying 131 | |
| Implementation of copy 132 | ||
| 5.3 | Image ALU operations 133 | |
| Monadic image operations 133, Dyadic image operations 134, Implementation issues in ALU operations 136 | ||
| 5.4 | Table lookup operations 137 | |
| Uses of table lookup 137, A general table lookup function 141 | ||
| 5.5 | Histogram-based operations 143 | |
| Histogram definition and computation 144, Histogram stretching 146, Histogram equalization 146, Adaptive histogram equalization 149 | ||
| 5.6 | Other point operations 150 | |
| Image compositing using alpha blending 150, An image band combination function 154 | ||
| 5.7 | Conclusion and further reading 155 | |
| 5.8 | References 156 | |
| 6 Image neighborhood filtering | ||
| 6.1 | Introduction 158 | |
| 6.2 | Linear filtering versus nonlinear filtering 159 | |
| 6.3 | Linear filtering using convolution 161 | |
| One-dimensional discrete convolution 161, Two-dimensional discrete convolution 162, Implementation of convolution 166, Versatility of convolution 176 | ||
| 6.4 | Nonlinear filtering I: the median filter and its variations 181 | |
| Definition and properties 182, Implementation and coding examples 183, Variations of the median filter: pseudomedian and weighted median 191 | ||
| 6.5 | Nonlinear filtering II: morphological filters 193 | |
| Binary morphology 193, Gray-scale morphology 209 | ||
| 6.6 | Conclusion and further reading 210 | |
| 6.7 | References 210 | |
| 7 Color in computer imaging | ||
| 7.1 | Introduction 212 | |
| 7.2 | Fundamentals and motivating examples 213 | |
| Devices that produce color 215, Examples and Applications 218 | ||
| 7.3 | Working with color spaces 219 | |
| Device-independent color spaces 222, Device-dependent color spaces 223, Programming examples in C 229 | ||
| 7.4 | The display of color images 240 | |
| Gamma correction and display lookup tables 240, Color quantization and dithering 241 | ||
| 7.5 | Conclusion and further reading 248 | |
| 7.6 | References 248 | |
| 8 Image geometric operations | ||
| 8.1 | Introduction 250 | |
| 8.2 | Steps in the implementation of geometric operations 251 | |
| Address computation 251, Interpolation 253 | ||
| 8.3 | Some general implementation details 259 | |
| One-pass versus multipass implementations 259, Table-driven implementations 260, Clipping 261, Boundary conditions 261 | ||
| 8.4 | Image scaling 262 | |
| Nearest-neighbor scale 265, Bilinear scale 268, General filtered scale 272 | ||
| 8.5 | Image rotation 279 | |
| One-pass rotation 280, Multipass rotation 281 | ||
| 8.6 | Affine transformation 286 | |
| 8.7 | Image transposition 288 | |
| 8.8 | Special-effects filters 289 | |
| 8.9 | Conclusion and further reading 294 | |
| 8.10 | References 294 | |
| 9 Image data compression | ||
| 9.1 | Introduction 296 | |
| Definitions and motivating examples 296, Redundancy in images 299 | ||
| 9.2 | Building blocks for image compression 299 | |
| Variable-length coding 301, Run-length coding 305, Transform coding 306, Predictive coding 315, Motion estimation 317, Vector quantization 318, Subband coding 320, Other compression techniques 323 | ||
| 9.3 | Compression standards in imaging 323 | |
| The Group 3 standard for binary image compression 324, | ||
| JPEG standard for still picture compression 328, MPEG standard for moving picture compression 336, MPEG-4: the future of MPEG 340 | ||
| 9.4 | Conclusion 342 | |
| 9.5 | References 342 | |
| appendix A Benchmarking and evaluation of imaging products | ||
| Benchmarking of imaging products 346 | ||
| The Abingdon Cross 346 | ||
| Evaluation of imaging products 347 | ||
| Evaluation of an imaging product for OEM purposes 348, Evaluation of an 0imaging product for end-user purposes 349 | ||
| References 349 | ||
| appendix B Imaging resources | ||
| General image processing textbooks 352 | ||
| How-to books on image processing 352 | ||
| Books on particular topics 352 | ||
| Other books of interest 353 | ||
| Internet resources 353 | ||
| Free imaging and video software 353 | ||
| appendix C Compression tables | ||
| Modified Huffman tables for fax Group 3 356 | ||
| Images used for fax Group 3 359 | ||
| JPEG Huffman tables 361 | ||
| appendix D Utility and header files for libpci 367 | ||
| index 461 | ||
DESCRIPTION
Today, widespread availability of powerful desktop computers with color display capabilities has brought computer imaging within practical reach of the end user. However, up to now, both the users and implementors of computer imaging products users have faced a scarcity of useful literature on its practice. High Performance Computer Imagining bridges the gap between theory and practice of computer imaging. For product developers, it addresses all the unique problems that arise when designing imaging software products. For end users, it clarifies the subtleties and simplifies complexities that can lead to better performance by these products.
What's inside:
- Current, commonly-used computer imaging algorithms and hardware
- A software engineering framework for imaging software development
- Numerous C programming examples
- Industry standard imaging and video compression algorithms
- Design methodology for high-performance imaging products
- Performance evaluation methods
- A review of current hardware imaging devices and trends
- Modern color imaging techniques
- Java and its implications for imaging
- Techniques to evaluate current imaging software and hardware products
WHAT THE EXPERTS SAY ABOUT THIS BOOK...
"... a great source on optimized implementations for high
performance computer imaging."
-William Pratt, author, Digital Image Processing
ABOUT THE AUTHOR...
Ihtisham Kabir is manager of the Imaging and Video software group at Sun Microsystems Computer Company. He has over twelve years of engineering experience in building high performance computer imaging products.
