Previous | Next

Imaging Support in Windows 98

Windows 98 includes extensive new features for color management and still imaging.

Image Color Matching (ICM) 2.0 support.

New ICM 2.0 standards ensure the integrity and consistency of colors, from source to display to output WYSIWYG. ICM 2.0 also has a faster default Color Management Module (CMM); supports up to eight channel color spaces, including RGB, sRGB, and CMYK; and provides flexible profile management APIs.

Images from TWAIN-compliant devices.

You can now acquire images from TWAIN-compliant input devices, such as scanners or still image digital cameras, directly into TWAIN-compliant applications, such as Microsoft Picture It!™ The new architecture ensures communication between applications and input devices.

Still imaging architecture and device support.

Windows 98 includes a new architecture for still image devices. The Windows 98 still imaging architecture (STI) enables device manufacturers to enhance the user’s experience with still image devices. STI-compliant devices appear in Control Panel upon installation. The devices’ Properties provide for device configuration and testing.

Image Color Matching 2.0 Support

Image Color Matching (ICM) 2.0 ensures the consistency and integrity of colors throughout the publishing process. Figure 11.4 outlines a typical publishing process.

Figure 11.4 The publishing process

In this process, images captured from input devices, such as scanners and still image digital cameras, are brought together in editing and composition applications, such as Imaging for Windows by Eastman Kodak, and Microsoft Picture It! Graphic designers use a variety of tools and proofing systems to simulate the final output, which can take the form of film plates for delivery to commercial printing presses, output to a color printer, or graphics for the Internet or corporate intranet.

ICM 2.0 ensures the consistent reproduction of colors throughout this process. When you scan or otherwise acquire an image from an input device, ICM 2.0 maintains the image’s original color mapping, from display and editing in applications through printed or electronic output. In other words, ICM 2.0 ensures that the original image colors are accurately interpreted by an input device, displayed on a monitor, and output to a printed or electronic format.

Input devices must either provide an International Color Consortium (ICC) color profile with an acquired image or output sRGB, using the sRGB profile provided by Windows 98. This ensures that display and output devices can properly interpret the color characteristics of the acquired image. Monitors must also include their own color profile, as must printer and other output devices. All components must have an associated color profile so that ICM can manage the color continuity throughout the entire image editing process.

For detailed information about ICM 2.0, see "Technical Notes on Imaging" later in this chapter.

TWAIN Support

TWAIN is an industry-standard software protocol and API that provides easy integration of image data between input devices, such as scanners and still image digital cameras, and software applications. Using TWAIN, Windows 98 and Windows NT 5.0 share the same APIs and architecture for supporting input devices.

Communicating with TWAIN

TWAIN enables users to acquire images directly from an input device while within a TWAIN-compliant application. Hardware vendors can write a single TWAIN-compliant driver for a device, which can then be used by all TWAIN-compliant applications to acquire images. Figure 11.5 presents a simple overview of the relationship between input devices and applications using TWAIN.

Figure 11.5 TWAIN architectural overview

Figure 11.5 uses a four-layer protocol to illustrate how applications and input devices communicate using TWAIN. Table 11.1 outlines the four-layer protocol and its function.

Table 11.1 TWAIN architectural layer functions

Architectural layer Function
User’s application Represents the user’s application, such as Microsoft Picture It!, used to scan or otherwise acquire an image from a TWAIN-compliant input device, such as a scanner or still image digital camera.. The application requesting an image sends the request to the TWAIN data source.
TWAIN data source Implements instructions and communications required for transferring the image.
Device driver Represents the input device.

The software elements that control acquisitions, called data sources, reside in this layer. A data source is typically a TWAIN-compliant driver written by a hardware vendor to get data from a hardware device and pass it to a TWAIN-compliant application.

Still image device Represents a physical input device, such as a scanner or still image digital camera.

For a more detailed schematic and discussion of TWAIN’s implementation in the Windows 98 STI, see "Technical Notes on Imaging" later in this chapter.

Acquiring Images from within TWAIN-Compliant Applications

TWAIN-compliant applications present two commands on the File menu for acquiring images from TWAIN-compliant input devices: Select Source, and Acquire or Scan.

The Select Source command allows a user to select a specific input device from which to acquire the image. The Select Source dialog box lets the user select from the available input devices.

The Acquire or Scan command begins the process of transferring image data from the selected or default input device to the application. When a user selects this command, a TWAIN-compliant input device will display that device’s user interface, allowing the user to configure device-specific options.

Support for Scanners and Still Image Devices

The Windows 98 STI incorporates ICM 2.0 and TWAIN APIs to provide broad support for a variety of still image devices, including physical devices such as scanners and still image digital cameras, and logical devices, such as an image database.

You can now use Plug and Play to install physical devices easily. You can also install, configure, and test specific devices using the new Scanners and Cameras option or the Add New Hardware option in Control Panel. You can install still image devices from serial, parallel, SCSI, and universal serial bus (USB) ports.

Note

The Scanners and Cameras option in Control Panel does not appear until you have installed a Plug and Play–compliant still image device or installed a still image device using the Add New Hardware option in Control Panel.

The new still imaging architecture provides simple, seamless transfer of image data between still image devices and applications. You can select input devices, configure device options, and acquire images directly from within any TWAIN-compliant authoring application, or from within any TWAIN-compliant editing application, such as Adobe PhotoShop. For more information about the still imaging architecture, navigate to http://www.microsoft.com/hwdev/desinit/ and follow the link for "WDM Still Image Architecture."

For a detailed schematic and discussion of the still imaging architecture, see "Technical Notes on Imaging" later in this chapter.

Win32 Driver Model

The new Win32 Driver Model (WDM) defines a device-driver architecture that provides a common set of I/O services understood by both Windows 98 and future versions of Windows NT. With WDM, developers writing drivers for scanners and still image digital cameras can write a single bus driver or device driver for both operating systems.

For information about support for still imaging devices and drivers in WDM, see Chapter 30, "Hardware Management."


Installing Devices

Windows 98 uses a new INF format for installing still image devices. You can install a scanner, still image digital camera, or other physical still image device in the following ways:

Installing Plug and Play Devices

For Plug and Play–compliant still image devices, all you need to do is plug the device into the appropriate port and start Windows 98. The device reports its device ID to Windows 98, which searches INF files to find the ID that matches the values reported by the device.

Installing non – Plug and Play Devices Using the Installation Wizard

You can install non – Plug and Play still image devices using the Add New Hardware option in Control Panel, or using the new Scanners and Cameras option in Control Panel.

If you have previously installed a still image device, click the Scanners and Cameras option in Control Panel to install the new device, and then respond to the wizard.

If you have not previously installed a still image device, there is no Scanners and Cameras option in Control Panel. Instead, click the Add New Hardware option, and then respond to the Add New Hardware Wizard to add the still image device. When the wizard prompts you, supply the location (on a floppy disk, compact disc, or network server) of the INF file provided by the device’s manufacturer.

Configuring Devices

You can use the Scanners and Cameras option in Control Panel to configure device-specific options (such as the default size or resolution for scanned images) for an installed still image device. Select the device you want to configure, and then specify options on the Properties tab for that device.

Testing Devices

You can use the Scanners and Cameras option in Control Panel to test a still image device’s installation and operation (for example, to calibrate a scanner or scan a test page).

Associating Applications with Device Events

The Windows 98 still image architecture allows you to associate events from a still image device with applications. For example, you can associate data transfer from a scanner with Kodak Imaging. When you begin scanning an image, the still image architecture starts Kodak Imaging and transfers the image data to Kodak Imaging automatically.

To associate applications with device events, use the Events tab of the new Scanners and Cameras option in Control Panel.

Technical Notes on Imaging

This section discusses technical issues about still imaging support in Windows 98.

Image Color Matching 2.0

Image Color Matching (ICM) 2.0 enhances the functionality and performance of ICM 1.0, introduced in Windows 95, while maintaining compatibility. ICM 2.0 supports all of ICM 1.0’s capabilities and extends them to include:

With ICM 2.0, applications can support either of two levels of API — one for RGB and one for multiple color spaces. This allows users to manage different device profiles and select alternate CMMs. Figure 11.6 illustrates the architecture of the ICM 2.0 API.

Figure 11.6 ICM 2.0 architectural overview

For detailed information and specifications on ICM 2.0, visit the Microsoft SDK Web site at http://www.microsoft.com/msdn/sdk/.

TWAIN

Hardware vendors can write only one TWAIN-compliant driver for a device, from that device which is then used by all TWAIN-compliant applications when acquiring images. Application developers no longer need to write and support device-specific drivers. Figure 11.7 presents a detailed schematic of the relationship between TWAIN-compliant input devices and applications in the Windows 98 still imaging architecture (STI).

Figure 11.7 TWAIN implementation in the Windows 98 still imaging architecture

Figure 11.7 uses the following four general groupings of components to illustrate how TWAIN-compliant applications and input devices communicate. Following are descriptions of these components:

For more detailed information and specifications on TWAIN, visit the TWAIN Working Group Web site at http://www.twain.org/.

Still Imaging Architecture

Windows 98 supports physical still image devices, such as flatbed scanners, sheet-fed scanners, handheld scanners, and still image digital cameras, as well as such logical devices as image databases.

Figure 11.8 provides a detailed schematic of the still imaging architecture in Windows 98.

Figure 11.8 The Windows 98 still image architecture (STI)

The following discussion describes each of these components.

TWAIN or other API.

This component represents the TWAIN or other API that acquires and interprets data from still image devices.

ICM 2.0 API.

The ICM 2.0 API maintains device color profiles and provides for color space conversion. To define color output from a scanned image, a scanner must either create sRGB output or embed the ICC profile for the image into the image file. A scanner can create sRGB output in two ways:

Still image control panel.

This component represents the Scanners and Cameras option in Control Panel. The Scanners and Cameras option lets you install, remove, and test still image devices. You can also associate specific still image device events with the applications to be notified of these events. The Scanners and Cameras option does not appear in Control Panel until you have installed a Plug and Play–compliant still image device or installed a still image device using the Add New Hardware option in Control Panel.

Still image event monitor.

This component works behind the scenes to detect events coming from still image devices and dispatch those events to the still image control center.

Still image control center.

This component determines how events initiated by still image devices are distributed to applications. The Scanners and Cameras option in Control Panel lets you configure specific device event or application associations.

Still image device driver interface (DDI).

This component provides communications with a specific still image device, including enumeration, device capabilities, data and command I/O, and notification of device events, including polling for device activity. The still image DDI uses ICM 2.0 as a repository for a given device’s color profile.

The still image DDI provides support for SCSI, parallel, serial, IR, and USB devices. Support for IEEE 1394 and multifunction peripherals (MFP) devices is also incorporated using the Win32 Driver Model (WDM).

User-mode minidrivers.

These components are supplied by still image device manufacturers to implement device-specific DDI functionality (such as test, status, and data I/O). They inform the DDI of the device’s capabilities and communicate with the specific kernel device driver.

WDM still image drivers.

These components use the new Win32 Driver Model to provide a mechanism for packaging a command or data for delivery on a USB or SCSI bus.