Abstract:
A method for providing a user access to an extended color gamut digital image and for obtaining payment therefor, comprising the steps of representing the extended color gamut digital image with a limited color gamut digital image and one or more associated residual image(s) representing a difference between the extended color gamut digital image and the limited color gamut digital image; storing the limited color gamut digital image and the associated residual images(s) in an electronic memory; providing the user or user&#39;s designee access to the limited color gamut digital image in the electronic memory to provide a preview image; obtaining a payment identifier from the user and making payment using such payment identifier to permit the user or user&#39;s designee access to the associated residual image(s); and providing the user or user&#39;s designee access to the associated residual image(s) in the electronic memory.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
   Reference is made to commonly assigned U.S. patent application Ser. No. 09/162,205 filed Sep. 28, 1998; Ser. No. 09/162,026 filed Sep. 28, 1998; Ser. No. 09/489,367 filed Jan. 21, 2000; Ser. No. 09/162,201 filed Sep. 16, 1998; Ser. No. 09/354,808 filed Jul. 16, 1999; and Ser. No. 09/543,652 filed concurrently herewith entitled “Method of Processing and Paying for an Extended Color Gamut Digital Image” by Kevin E. Spaulding et al., the disclosures of which are incorporated herein by reference. 
   FIELD OF THE INVENTION 
   The present invention relates to the field of digital imaging, and more particularly to providing access to an extended color gamut digital image and providing payment therefor. 
   BACKGROUND OF THE INVENTION 
   In digital imaging systems, there are many ways to represent images in digital form. Not only are there many different formats of digital files, but there are also a large variety of different color spaces and color encodings that can be used to specify the color of digital images. 
   In some cases, the color encoding may be in terms of a so-called device independent color space, such as the well-known CIELAB color space. In recent years this color space has been used extensively to specify the color of digital images in color-managed digital imaging systems. In some cases, the image may actually be stored in the CIELAB color space. More commonly, the color space may be used to connect device profiles, which can be used to describe the color characteristics of various color imaging devices such as scanners, printers, and CRT video displays. The KODAK PhotoYCC Color Interchange Space is another example of a device independent color space that can be used to encode digital images. 
   In other cases, the color-encoding may be in terms of a device dependent color space. Video RGB color spaces and CMYK color spaces are examples of this type. When a color image is encoded in a device dependent color space, it will have the desired color appearance when it is displayed on the particular output device associated with that color space. The advantage of a device dependent color space is that the image is ready to be displayed or printed on the target device. However, the disadvantage is that the image will necessarily be limited to the color gamut of the target device. The color gamut of an imaging device refers to the range of colors and luminance values that can be produced by the device. Therefore, if the target device has a limited dynamic range, or is incapable of reproducing certain saturated colors, then it is not possible to encode color values outside of the range of colors that can be produced on the device. 
   One type of device dependent color space that has become quite widespread for use as a storage and manipulation color space for digital images is the video RGB color space. In reality, there are many different video RGB color spaces due to the fact that there are many different types of video RGB displays. As a result, a particular set of video RGB color values will correspond to one color on one video display and to another color on another video display. Therefore, video RGB has historically been a somewhat ambiguous color representation due to the fact that the color values could not be properly interpreted unless the characteristics of the target video display were known. Nonetheless, video RGB color spaces have become the defacto standard in many applications because the creation, display and editing of images on video displays are central steps in many digital imaging systems. 
   Recently, a particular video RGB color space known as “sRGB” has been standardized in order to remove the ambiguity in the interpretation of the color values. (See “Multimedia Systems and Equipment—Colour Measurement and Management—Part 2-1: Colour Management—Default RGB Colour Space—sRGB,” IEC 61966-2-1 (1999)). This color space specifies a particular set of red, green, and blue primaries, a particular whitepoint, and a particular non-linear code value to light intensity relationship. Together, these tightly define the overall relationship between the digital code values and the corresponding device independent color values. 
   Although the use of a standard video RGB color space eliminates much of the ambiguity usually associated with video RGB color spaces, it does nothing to address the fact that this color space has a limited color gamut relative to other output devices. Additionally, any output device will have a limited color gamut relative to that of an original scene. For example, a scene may have a luminance dynamic range of 1000:1 or more, whereas a typical video display or reflection print will have a dynamic range on the order of 100:1. Certain image capture devices, such as photographic negative film, can actually record dynamic ranges as large as 8000:1. Even though this is larger than the luminance dynamic range associated with most scenes, the extra dynamic range is often useful to provide allowance for exposure errors, light source variations, etc. 
   In order to encode images from various sources in a video RGB representation, it is necessary to discard information that is outside the color gamut of the video RGB color space. In some cases, such as when it is desired to encode the appearance of colors in an original scene or the colors captured by a photographic negative, a great deal of information will typically need to be discarded due to the large disparity in the dynamic ranges. For the case where it is desired to scan a reflection print and store it in a video RGB color space, it is still necessary to discard a substantial amount of information due to the mismatch in the color gamuts, even though the luminance dynamic ranges may be quite similar. 
   For example,  FIG. 1  shows a comparison of a typical Video RGB Color Gamut  10  and a typical Reflection Print Color Gamut  12 . In this case, a*–b* cross-sections of the color gamuts are shown in the CIELAB space at an L* of 65. The colors that are inside the boundary are within the gamuts of the respective devices, while those that are outside the boundary cannot be reproduced, and are therefore referred to as “out-of-gamut” colors. It can be seen that there is a large set of color values with a b* value larger than 60 that can be produced on the printer, but are outside the color gamut of the video display. As a result, if the reflection print were scanned and stored in a video RGB color space, it would not be possible to encode this color information. 
   The mismatch between the video RGB color gamut and the color gamuts of other output devices and image sources represents a serious limitation on the usefulness of the video RGB color space. However, in many cases, the convenience of storing the image in a color space that is ready for direct display on a computer video CRT has been the over-riding factor in the determination of the preferred color space. This has come at the expense of applications that can utilize the extended color gamut information that may have existed in an input image. It has also restricted opportunities to provided additional value to the user that would be enabled by retaining the extended color gamut information. 
   SUMMARY OF THE INVENTION 
   It is an object of the present invention to overcome the limitations of the prior art by storing images in a color space having a limited color gamut, while retaining the extended color gamut information in the form of one or more residual image(s) that can be accessed when a user provides payment. 
   This object is achieved in a method for providing a user access to an extended color gamut digital image and for obtaining payment therefor, comprising the steps of: representing the extended color gamut digital image with a limited color gamut digital image and one or more associated residual image(s) representing a difference between the extended color gamut digital image and the limited color gamut digital image; storing the limited color gamut digital image and the associated residual images(s) in an electronic memory; providing the user or user&#39;s designee access to the limited color gamut digital image in the electronic memory to provide a preview image; obtaining a payment identifier from the user and making payment using such payment identifier to permit the user or user&#39;s designee access to the associated residual image(s); and providing the user or user&#39;s designee access to the associated residual image(s) in the electronic memory. 
   ADVANTAGES 
   The present invention has the advantage that a digital image can be processed and presented to a user in the form of a preview image before making payment to obtain access to an extended color gamut version of the digital image. The digital image is in a color space convenient for storage and display while overcoming the color gamut limitation associated with that color space. The image can be stored, for example, in a video RGB color space that is well-adapted for fast and convenient preview on a computer system without compromising the potential quality of the image. 
   The present invention has the additional advantage that a mechanism can be provided for deriving payment for the use of the extended color gamut information. Such payment can be associated with using the extended color gamut information to customize an image for a specific output device, or to perform desirable image modifications. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is graph comparing the color gamuts of a typical video display, and a typical reflection print; 
       FIG. 2  is a flowchart showing a process for making a limited gamut digital image in accordance with the present invention; 
       FIG. 3  is a flowchart showing a second process for making a limited gamut digital image in accordance with the present invention; 
       FIG. 4  is a flowchart showing the reconstruction of an extended gamut digital image in accordance with the present invention; and 
       FIG. 5  illustrates a communications network configuration. 
   

   DETAILED DESCRIPTION OF THE INVENTION 
   One preferred embodiment of the present invention is shown in  FIG. 2 . An extended color gamut digital image  20  has color values that are outside the limited color gamut of a storage color space. An adjust color values step  21  is used to limit the color values to those that will fit within the limited color gamut of the storage color space to form a limited color gamut digital image  22 . Next, a represent image in storage color space step  23  is used to produce a storage space digital image  24 . A compute residual image(s) step  25  is used to determine one or more residual image(s)  26  representing the difference between the extended color gamut digital image and the limited color gamut digital image. The storage space digital image  24  and the residual image(s)  26  are then stored in a digital file  28  using a digital file storage step  27 . 
   Each of the aspects of the invention shown in  FIG. 2  will now be discussed in more detail. The extended color gamut digital image  20  can take many different forms. For example, the image can be a scanned photographic print, a scanned photographic negative, a scanned photographic transparency, or an image from a digital camera, etc. Depending on the source of the image, as well as any image processing that has been applied to the image, the image may have very different color gamuts and color representations. Images from scanned photographic negatives and digital cameras can contain scene information having a much larger luminance dynamic range than can be encoded in many storage color spaces. In this case, luminance dynamic range is simply one aspect of color gamut related to the range of luminance values that can be represented. 
   The color gamut of an imaging system is the range of colors that can be represented or produced. Since color is fundamentally a three-dimensional phenomenon, color gamuts can be viewed as a three-dimensional volume. Color values that are within the volume are said to be “in-gamut,” whereas colors that are outside the volume are said to be “out-of-gamut.” One aspect of the color gamut is the luminance dynamic range of the system. This is the range of relative luminance values that can be encoded by the system from the whitest white to the blackest black. Another aspect of the color gamut is the range of chroma values that can be represented from a neutral out to a saturated color. The extended color gamut digital image will generally have a larger luminance dynamic range and a larger range of chroma values than the limited color gamut digital image. The range of chroma values that are in-gamut will generally be a function of hue and lightness. Generally, the highest chroma colors can be produced near the hue and lightness of the primary and secondary colors of a given imaging device or color space (usually red, green, blue, cyan, magenta and yellow). 
   If the image were a scanned photographic print, the color gamut of the image would generally be the color gamut of the original photographic print medium. Likewise if the image were captured by a digital camera, the color gamut of the image would generally be that of an original scene, although it may be limited by the dynamic range of the camera sensor and by lens flare. The color space that the image is represented in is somewhat independent of the color gamut of the original image. For example, the color values for a scanned photographic print can be represented as raw scanner code values, or they can be given by device independent color values according to a color space such as the CIELAB color space. Alternatively, the color values can be expressed in some other color space. 
   For many applications, it is convenient to store, display and manipulate the digital image in a particular storage color space that is well-suited for the work flow associated with that application. Frequently, the storage color space that is chosen will be a device dependent color space associated with a common output device or medium used by the system. In many cases, video RGB color spaces are used because they can be displayed or previewed directly on a computer video display without any further processing. Additionally, many software applications that are available to manipulate images on a computer are designed to work with images in a video RGB color space. The color gamut of the storage color space will often be smaller than, or at least different than, the color gamut of the extended color gamut digital image  20 . As a result, there generally will be colors in the extended color gamut digital image  20  that can not be represented in the storage color space. For example, consider the case where the extended color gamut digital image  20  is a scanned photographic print. There are many colors within the color gamut of the reflection print that are outside the color gamut of the video RGB color space. This can clearly be seen in  FIG. 1  which shows cross-sections through a typical Video RGB Color Gamut  10 , and a typical Reflection Print Color Gamut  12 . 
   Therefore, information must be discarded in order to store the reflection print color values in a video RGB color space, or any other limited color gamut storage space. In prior art methods, the information that is discarded is lost permanently and can not be recovered. In the present invention, the information that is lost will be stored in one or more residual image(s). 
   The adjust color values step  21  is used to adjust the color values of the extended color gamut digital image to fit within the limited color gamut of the storage space, forming a limited color gamut digital image  22 . In this step, information must be discarded when color values that are outside the limited color gamut are mapped to color values within the limited color gamut. In some cases, the color values for the out-of-gamut colors are simply “clipped,” i.e., they are mapped to color values the surface of the limited color gamut. In other cases, more sophisticated gamut mapping methods can be used to compress the extended color gamut into the limited color gamut without introducing a hard clipping function. For example, the chroma of the input color values can be scaled so that the most saturated colors in the extended color gamut are mapped to the most saturated colors in the limited color gamut. Alternatively, a gamut mapping method can be used that is designed to preserve color appearance as closely as possible. Regardless of what gamut mapping technique is used, there will necessarily be a loss of information and a distortion of the color characteristics of the image. 
   In many cases, the extended color gamut will contain color values that have higher chroma values than can be represented in the limited color gamut. In some cases, the extended color gamut may also have a larger luminance dynamic range than can be represented in the limited color gamut. In the case where it is necessary to reduce the luminance dynamic range of the image, one part in the implementation of the adjust color values step  21  is typically the application of a tone scale function. The tone scale function might be applied to a luminance channel of the image, or alternatively to each color channel of an RGB color representation. In some applications, the image being processed may actually be a monochrome image, e.g., a black-and-white image. In this case, the tonescale function would be applied to the image luminance values. 
   For cases where the extended color gamut digital image is a representation of the colors in an original scene, the adjust color values step  21  will typically involve determining reproduced color values that will produce desired aim colors on a target output device. For example, optimal color reproduction aims can be applied to determine desired video RGB aim colors for the original scene colors. The process of transforming the original scene color values into aim reproduced color values is sometimes referred to as “rendering” the image. 
   Once the limited color gamut digital image  22  has been determined, the next step is to represent it in the storage color space using the represent image in storage color space step  23 . The output of this step is a storage space digital image  24 . This step typically involves applying a device model, or a color space conversion, to determine the storage space color values that correspond to the adjusted color values of the limited color gamut digital image  22 . For example, if the adjusted color values were specified in terms of the CIELAB color space, a video display device model can be used to determine the corresponding video RGB values that would be necessary to produce the specified adjusted color values. 
   A compute residual image(s) step  25  is used to determine one or more residual image(s)  26  representing the difference between the extended color gamut digital image and the limited color gamut digital image  22 . In its simplest form, a residual image can be calculated by simply subtracting the adjusted color values of the limited color gamut digital image  22  from the input color values of the extended color gamut digital image  20 . The residual image would then be in terms of the color space used to represent those color values. Alternatively, the color values can be transformed into some other space that would be useful for computing the residual image. For example, it might be desirable to compute the residual image in a color space that is well-suited for compressing the residual image or that is convenient for use in reconstructing the extended color gamut digital image. Generally, the extended color gamut digital image and the limited color gamut digital image  22  should be represented in the same color space before the residual image is calculated so that the in-gamut colors will be given by zero residual errors. Since most images will only have a small fraction of color values that are out of gamut, the residual image will be dominated by zeros, and therefore will be highly compressible. 
   For cases where the adjust color values step  21  involves the application of a transform that modifies the color values for the colors within the limited color gamut as well as those outside the limited color gamut, a residual image determined by directly computing the difference between the input color values of the extended color gamut digital image and the adjusted color values of the limited color gamut digital image  22  would have a large number of non-zero values. This could be undesirable for cases where the residual image is to be compressed. The prior example where the extended color gamut digital image is a representation of the original scene, and the adjust color values step  21  includes rendering the color values to determine desirable color values for a target output device, will generally suffer from this problem. In this case, it can be desirable to apply a second rendering function to the extended color gamut digital image to determine a second set of rendered color values that are desirable for another output device having a larger color gamut than the first target output device. If the second rendering function were identical to the first rendering function throughout most of the color gamut, then a residual image computed by taking the difference between the first and second rendered images would again be largely dominated by zero differences. In one preferred embodiment of the present invention, the first rendering function produces a rendered image that is optimized for a video display, and the second rendering function produces a rendered image that is optimized for some hypothetical output device having an idealized large color gamut. As discussed in more detail in the co-pending U.S. patent application Ser. No. 09/162,205 filed Sep. 28, 1998, a set of residual images could in general be computed rather than a single residual image as has been assumed in the above discussion. The set of residual images could correspond to different spatial regions of the image, or to different subsets of the extended color gamut information, etc. 
   Once the residual image(s)  26  have been calculated, they should be associated in some fashion with the storage space digital image  24 . This can involve storing the residual image(s)  26  in a memory buffer that is associated with a second memory buffer used to store the storage space digital image  24 . Alternatively, many applications will store the image data in a digital file  28  on some sort of digital storage media such as a magnetic disk, an optical disk, or a PCMCIA card using a digital file storage step  27 . In this case, the storage space digital image  24  and the residual image(s)  26  can be stored in two different files, or can be stored in the same digital image file. In many cases, the file format used to store the storage space digital image  24  may support the use of private image tags. For example, the file formats TIFF, EXIF and FlashPIX all support tags of this sort. These tags are sometimes referred to as meta-data. In cases where file formats of this type are used, it will be convenient to store the residual image(s) data in the form of a residual image tag. In this way, applications that do not know how to make use of the residual image tag will simply ignore it, and will therefore have access only to the storage space digital image  24 . Whereas applications that know how to use the residual image tag will be able to make use of it to reconstruct the extended color gamut digital image. Some file formats place a limit on the size of tags, so compression of the residual image(s) is important for these applications. 
   A second preferred embodiment of the present invention is shown in  FIG. 3 . This embodiment is similar to that shown in  FIG. 2  but differs in the way that the residual image(s) are determined. In this second embodiment, the residual image(s) are represented relative to the code values of the storage color space.  FIG. 3  shows an extended color gamut digital image  30 , having color values that are outside the limited color gamut of a storage color space. An adjust color values step  31  is used to limit the color values to those that will fit within the limited color gamut of the storage color space. Next, a represent image in storage color space step  32  is used to produce a limited color gamut digital image  33 . A represent image in extended storage color space step  34  is then applied to the original image, and a compute residual image(s) step  35  is used to determine one or more residual image(s)  36  representing the difference between the extended color gamut digital image and the limited color gamut digital image, both being encoded according to the storage color space. The limited color gamut digital image  33  and the residual image(s)  36  are then stored in a digital file  38  using a digital file storage step  37 . 
   Since most of the steps in this second embodiment of the invention are identical to the corresponding steps in the first embodiment, only the steps that differ will be discussed in more detail. The primary difference between the two embodiments is that the residual image(s) are computed relative to the storage color space color values in this case. Therefore, the original extended color space digital image must be transformed to the storage color space in addition to the limited color gamut digital image. This is accomplished by the represent image in extended storage color space step  34 . The complication is that the storage color space will typically only have a limited color gamut. For example, if the storage color space is a video RGB color space, then the color gamut of the storage space would be limited to the color gamut of the video display. Therefore, to represent the original extended color gamut digital image in the storage color space, it is necessary to define an extended version of the storage color space that does not impose the limited color gamut. For example, 24-bit video RGB color spaces usually encode the color values in terms of integer code values in the range of 0 to 255. In order to allow the encoding of colors outside the color gamut of the video display, the original extended color gamut digital image can be represented in an extended storage space where the code values were allowed to go outside the range 0 to 255. This permits the encoding of colors with higher chroma values, as well as larger luminance dynamic range values, than can be encoded directly in the storage color space. After both the limited color gamut digital image and the extended color gamut digital image had been represented in terms of the storage color space, the residual image(s)  36  are then calculated as before by computing a difference between the two images. 
   The result of applying the method described above is the creation of both a limited color gamut digital image in a storage color space and one or more associated residual image(s) which correlates the limited color gamut digital image to an extended color gamut digital image. As discussed previously, the limited color gamut digital image is generally well suited for display on a target output device such as a video display. One advantage of this approach is that systems that cannot make use of the residual image(s) will be able to display and manipulate this image directly with no image quality or computation disadvantage relative to the prior art where only the limited color gamut digital image is stored. However, the information that normally would have been discarded has now been stored in the residual image(s) and is available for use by systems that can utilize it. In this case, the limited color gamut digital image is extracted and the residual image(s) from the digital file are used to form a reconstructed extended color gamut digital image. 
   Another advantage of this approach is that access to the extended color gamut digital image data can be controlled, providing an opportunity for a service provider to collect payment for such access.  FIG. 4  shows a flowchart illustrating the reconstruction of an extended color gamut digital image from the limited color gamut digital image and the residual image(s) according to the method of the present invention. The input to this process is an extended color gamut digital file  40  containing a limited color gamut digital image and one or more residual image(s) created as described above in  FIG. 2  and  FIG. 3 . An extract limited color gamut digital image from digital file step  41  is used to extract the limited color gamut digital image  42 . The limited color gamut digital image can be provided to the user for image preview, for example on a video display. Next, an obtain payment identifier from user step  43  is used to obtain a payment identifier from a user. For example, the payment identifier can include information about an account from which payment is to be electronically transferred. Alternatively, the payment identifier can include a credit card account where the payment is to be debited. Other forms of payment identifiers are also possible including information pertaining to payment by cash or check, etc. The payment identifier can then be used to make payment  44 , for example by transferring money to the account of the service provider. An extract residual image(s) from digital file step  45  can then be used to extract the residual image(s)  46 . The residual image(s)  46  can them be combined with the limited color gamut digital image  42  using a reconstruct extended color gamut digital image step  47  to form a reconstructed extended color gamut digital image  48 . 
   The reconstructed extended color gamut digital image can be used for many different purposes. For example, it can be used to form a digital image appropriate for display on an output device having a color gamut different from the limited color gamut of the limited color gamut digital image  42  in the digital file  40 . This enables the generation of an optimal print from the original extended color gamut digital image, rather than a print limited by constraints of the storage color space. 
   Alternatively, the information in the reconstructed extended color gamut digital image can be used during the process of applying a modification to the digital image. For example, consider the case where the original image is determined to be over-exposed. In this case, the highlights of the limited color gamut digital image would have been clipped during the adjust color values step. However, the highlight information would be restored in the reconstructed extended color gamut digital image. This information can then be used to produce a modified digital image that retains the highlight detail. Modifications to the digital image can be interactively specified by a user, such as in the case of a user adjustable lightness knob. The user can also specify that modified color reproduction aims should be applied to the image. For example, the user might specify that an image with more highly saturated colors should be created. Modifications can also be determined by applying an automatic algorithm to the digital image. For example, a “scene balance algorithm” can be used to estimate the best color balance and lightness level for an image. 
     FIG. 5  illustrates an embodiment of the present invention where the extended color gamut digital images are accessed by a digital communications network, such as the internet. In this case, an image database  50  is located on a network server  52 . The image database  50  is used to store extended color gamut digital images  54  that have been processed using the methods described earlier to form limited color gamut digital images, and associated residual image(s). The network server  52  is connected to a communication network  55 . For example, the communication network  55  could be the internet, or a local area network. The image database  50  may contain images originating from many difference sources. For example, the image database  50  can contain images originating from scans of customer images at a retail location, or could be uploaded by the customer over the digital network. A user uses a processor  56  to access the network server  52  via the communication network  55 . The processor  56  can be a home computer, or alternatively it could be a computer in a retail kiosk, etc. Typically, the processor would use a monitor  58  for the purpose of displaying preview images, and providing information to the user. One or more input devices  60  can be used by the user to provide instructions to the processor  56 . Examples of typical input devices would include a keyboard, a mouse, a trackball, a touch pad or a touch screen. A printer  62  may also be connected to the processor for providing output prints to the user. Alternatively, a remote printer could also be accessed over the communication network  55 . A card reader  64  can also be connected to the processor  56  for purposes of reading account information from a credit card or a debit card. 
   Other network servers can also be attached to the communication network  55 . For example, consider the case where a user accesses the image database  50  via the internet. After viewing a preview image, the user decides that he/she wants to use the extended color gamut digital image, and is asked to provide a payment identifier. One common way for the user to provide the payment identifier to the service provider would be for him or her to enter a valid credit card number. The service provider would then access a user account database  66  on a network server  68  to debit the appropriate payment, which would then be credited to an account specified by the service provider by accessing a service provider account database  70  on another network server  72 . After the payment has been transferred, the service provider would then provide the user access to the residual image(s) stored in the image database  50 . The residual image(s) would then typically be combined with the limited color gamut digital image to form an extended color gamut digital image. The extended color gamut digital image can then be used for purposes such as creating optimal prints on a printer having a different color gamut than the limited color gamut digital image, or for applying desirable image modifications. For example, the user might interactively adjust the tone reproduction characteristics of the image, or might choose from a series of different color reproduction aims. 
   A computer program product having a computer readable storage medium can have a computer program stored thereon for performing all the steps of the present invention. 
   A computer program product can have one or more computer readable storage media disposed in different processing locations, each having a computer program stored thereon for performing all the steps of the present invention. 
   Each computer readable storage medium can comprise, for example; magnetic storage media such as magnetic disc (such as a floppy disc) or magnetic tape; optical storage media such as optical disk, optical tape, or machine readable bar code; solid state electronic storage devices such as random access memory (RAM), or read only memory (ROM); or any other physical device or medium employed to store a computer program. 
   The invention has been described in detail with particular reference to certain preferred embodiments thereof, but it will be understood that variations and modifications can be effected within the spirit and scope of the invention. 
   PARTS LIST 
   
       
         10  video RGB color gamut 
         12  reflection print color gamut 
         20  extended color gamut digital image 
         21  adjust color values 
         22  limited color gamut digital image 
         23  represent image in storage color space 
         24  storage space digital image 
         25  compute residual image(s) 
         26  residual image(s) 
         27  digital file storage 
         28  digital file 
         30  extended color gamut digital image 
         31  adjust color values 
         32  represent image in storage color space 
         33  limited color gamut digital image 
         34  represent image in extended storage color space 
         35  compute residual image(s) 
         36  residual image(s) 
         37  digital file storage 
         38  digital file 
         40  digital file 
         41  extract limited color gamut digital image 
         42  limited color gamut digital image 
         43  obtain payment identifier 
         44  make payment 
         45  extract residual image(s) 
         46  residual image(s) 
         47  reconstruct extended color gamut digital image 
         48  reconstructed extended color gamut digital image 
         50  image database 
         52  network server 
         54  extended color gamut digital images 
         55  communication network 
         56  processor 
         58  monitor 
         60  input device 
         62  printer 
         64  card reader 
         66  user account database 
         68  network server 
         70  service provider account database 
         72  network server