Techniques are disclosed for decreasing the time required for a photo-printing device (such as a commercial photo-printing kiosk) to print a plurality of digital images. For example, the digital images may be transferred from a print client to a print server and stored in a RAMdisk at the print server prior to printing. image processing may be performed on at least some of the digital images prior to the initiation of printing. The digital images may be processed in decreasing order of estimated image processing time. Two or more of these techniques may be combined to decrease the total time required to print the digital images by, for example, increasing the speed with which images may be accessed, decreasing the amount of time that passes before printing begins, and enabling all of the digital images to be printed without stopping and restarting the print engine.

Patent
   8773685
Priority
Jul 01 2003
Filed
Jul 01 2003
Issued
Jul 08 2014
Expiry
Oct 07 2027
Extension
1559 days
Assg.orig
Entity
Large
0
242
EXPIRED
8. A system for printing a plurality of digital images, the system comprising:
means for determining an expected image processing time of each of the plurality of digital images;
means for comparing the expected image processing time of each of the plurality of digital images to a threshold amount of time, wherein the threshold amount of time is based at least in part on an amount of time to print an image using a print engine;
means for performing image processing on the plurality of digital images to produce a plurality of processed images, wherein the means for performing image processing is configured to perform the image processing on the plurality of digital images in an order based at least in part on the expected image processing time of each of the plurality of digital images; and
means for printing the plurality of processed images using the print engine.
1. A computer-implemented method for printing a plurality of digital images, the method comprising:
determining, by a computing device, an expected image processing time of each of the plurality of digital images;
comparing, by the computing device, the expected image processing time of each of the plurality of digital images to a threshold amount of time, wherein the threshold amount of time is based at least in part on an amount of time to print an image using a print engine;
performing, by the computing device, image processing on the plurality of digital images to produce a plurality of processed images, wherein the image processing is performed on the plurality of digital images in an order based at least in part on the expected image processing time of each of the plurality of digital images; and
printing a first plurality of processed images using the print engine.
14. A computer-readable storage device comprising instructions for printing a plurality of digital images, the instructions comprising:
instructions to determine an expected image processing time of each of the plurality of digital images;
instructions to compare the expected image processing time of each of the plurality of digital images to a threshold amount of time, wherein the threshold amount of time is based at least in part on an amount of time to print an image using a print engine;
instructions to perform image processing on the plurality of digital images to produce a plurality of processed images, wherein the image processing is performed on the plurality of digital images in an order based at least in part on the expected image processing time of each of the plurality of digital images; and
instructions to print the plurality of processed images using the print engine.
2. The method of claim 1, wherein the image processing is performed by a print client, and wherein the method further comprises:
transmitting the first plurality of processed images from the print client to a server over a communications bus.
3. The method of claim 1, wherein the image processing comprises at least one of red-eye reduction, contrast correction, or brightness correction.
4. The method of claim 1, wherein the image processing performed on the plurality of digital images is designated by a user.
5. The method of claim 1, further comprising:
resizing the plurality of processed images before printing the first plurality of processed images, wherein the resizing is based at least in part on a size of an output medium upon which the plurality of processed images will be printed.
6. The method of claim 1, wherein the plurality of digital images comprises a first subset of digital images and a second subset of digital images, wherein the expected image processing time for the digital images in the first subset of digital images is greater than the threshold amount of time, and wherein the expected image processing time for the digital images in the second subset of digital images is less than the threshold amount of time.
7. The method of claim 6, wherein performing the image processing comprises performing the image processing on the first subset of digital images before performing the image processing on the second subset of digital images.
9. The system of claim 8, wherein the means for performing image processing comprises means for performing at least one of red-eye reduction, contrast correction, or brightness correction.
10. The system of claim 8, further comprising:
means for receiving a user designation of the image processing to be performed on the plurality of digital images.
11. The system of claim 8, further comprising:
means for resizing the plurality of processed images before printing the first plurality of processed images, wherein the resizing is based at least in part on a size of an output medium upon which the plurality of processed images will be printed.
12. The system of claim 8, wherein the plurality of digital images comprises a first subset of digital images and a second subset of digital images, wherein the expected image processing time for the digital images in the first subset of digital images is greater than the threshold amount of time, and wherein the expected image processing time for the digital images in the second subset of digital images is less than the threshold amount of time.
13. The system of claim 12, wherein the means for performing the image processing is configured to perform the image processing on the first subset of digital images before performing the image processing on the second subset of digital images.
15. The computer-readable storage device of claim 14, wherein the image processing is performed by a print client, and wherein the instructions further comprise:
instructions to transmit the plurality of processed images from the print client to a server over a communications bus.
16. The computer-readable storage device of claim 14, wherein the image processing comprises at least one of red-eye reduction, contrast correction, or brightness correction.
17. The computer-readable storage device of claim 14, wherein the image processing performed on the plurality of digital images is designated by a user.
18. The computer-readable storage device of claim 14, the instructions further comprising:
instructions to resize the plurality of processed images before printing the plurality of processed images, wherein resizing the plurality of processed images is based at least in part on a size of an output medium upon which the plurality of processed images will be printed.
19. The computer-readable storage device of claim 14, wherein the plurality of digital images comprises a first subset of digital images and a second subset of digital images, wherein the expected image processing time for the digital images in the first subset of digital images is greater than the threshold amount of time, and wherein the expected image processing time for the digital images in the second subset of digital images is less than the threshold amount of time.
20. The computer-readable storage device of claim 19, wherein the instructions to perform the image processing comprise instructions to perform the image processing on the first subset of digital images before performing the image processing on the second subset of digital images.

This application is related to U.S. patent application Ser. No. 10/080,883, filed on Feb. 22, 2002, entitled “A High-Speed Photo-Printing Apparatus,” which is hereby incorporated by reference.

1. Field of the Invention

The present invention relates to techniques for printing digital images and, more particularly, to techniques for increasing efficiency of printing in a digital image printing system.

2. Related Art

Digital photography is becoming increasingly popular and is generating a demand for increasingly easy, quick, and inexpensive ways to obtain prints of digital photographs. The options that currently are available to amateur users of digital cameras for obtaining prints, however, have certain limitations.

For example, a user who has digital photographs stored in a digital camera may print the photographs on a home printer, either by first transferring the photographs from the digital camera to a computer using a wired or wireless connection and then printing the photographs from the computer to the printer, or by inserting the digital camera's memory card directly into the printer and instructing the printer to print one or more of the photographs. In either case, printing on a home printer may be suboptimal for any of several reasons. First, the speed of home printers is typically limited, often requiring one or more minutes to print a single photo-quality 4″×6″ image. Printing a set of images from a vacation or other event may therefore require an hour or more. Furthermore, photo-quality images require a significant amount of ink to print. As a result, the user may be required to purchase many ink cartridges and to replace them frequently. Moreover, the user interface of the computer and/or printer may make it difficult to select and print the desired images, particularly if multiple copies are desired or if the user desires to print images on paper of varying sizes. Finally, the inkjet technologies that are used in most home printers produce images that are susceptible to fading after a relatively short period of time.

The home user may alternatively obtain prints from a commercial printing service. For example, the user may transfer digital photographs over the Internet to a service that prints the desired images, charges the user a fee, and sends the resulting prints to the user through the postal mail. Although prints obtained in this manner typically are of higher quality than can be obtained using a home printer, Internet photo-printing services can have certain drawbacks. For example, transferring large numbers of high-quality digital images to an Internet photo-printing service can take several hours over the 56K modem connection that is still used by most home users. Furthermore, transferring digital photographs to the computer so that they may be uploaded to the photo-printing service requires additional time and effort, as well as a degree of computer proficiency that home users may not have. In addition, the use of postal mail as the delivery mechanism means that the user must both pay an additional fee for postage and wait at least several days to receive prints.

An increasing number of walk-in photo development businesses are providing digital photo-printing services. To obtain prints using such a service, the user provides the service with the storage medium (e.g., memory card) from the user's digital camera and indicates which photographs are to be printed. The service prints the selected photographs and provides them to the user for a fee. Although such a service eliminates the problems associated with the use of postal mail delivery, problems remain. For example, the user may be required to wait a substantial period of time (such as an hour or a day) to receive the desired prints. As a result, the user may either need to wait at the store or make a return trip to pick up the prints. Furthermore, the service may not provide the user with the ability to preview photographs before they are printed, thereby making it difficult for the user to select the correct photographs to print. It may also be difficult or impossible for the user to select individual options for each photograph, such as the print size and image processing to be applied (e.g., red-eye reduction or contrast correction).

Digital photo-printing kiosks have been introduced in recent years in part as an attempt to address the problems described above. Such a kiosk is a self-contained device that includes a printer, a computer (including a display screen visible to the user), and one or more readers for reading digital images from storage media. A user may approach such a kiosk, insert a storage medium from a digital camera, use a graphical user interface to select one or more images to print, provide payment (such as by inserting a credit card), and then instruct the kiosk to print the selected images. The kiosk then prints the selected images and dispenses them to the user.

Such kiosks can be advantageous to the extent that they provide the user with a quick, easy, and flexible way in which to select, pay for, and obtain high-quality prints. Existing photo-printing kiosks, however, still tend to print at relatively slow speeds, often requiring thirty seconds or more to print a single photograph. As a result, a user who wishes to print a reasonable number of photographs may need to wait at the kiosk for a substantial period of time before all of the prints are complete.

Techniques that may be used to implement a high-speed photo-printing kiosk are disclosed in the above-referenced patent application entitled “A High-Speed Photo-Printing Apparatus.” Such a kiosk may, for example, include a print mechanism that has a throughput of 1-2 photo-quality images per second once the mechanism begins printing. Starting and stopping the print mechanism, however, takes time. If the print mechanism has finished printing one image and another image is not available to be printed, the print mechanism must be stopped and then restarted when the next image becomes available to print. Therefore, when using such a print mechanism to print a set of digital images, it is desirable to provide the images to the print mechanism in a manner which increases the likelihood that upon completion of printing an image, a subsequent image will be available to the print mechanism for printing. Providing images to the print mechanism in this manner would maximize the number of images that could be printed successively by the print mechanism and thereby minimize the time between the beginning and end of printing. In addition, it is desirable to begin printing as soon as possible after the user has issued a print command, so that the total printing time may be minimized.

For the foregoing reasons, there is a need for techniques for reducing the total time required to print digital images in a digital image printing system.

Techniques are disclosed for decreasing the time required for a photo-printing device (such as a commercial photo-printing kiosk) to print a plurality of digital images. For example, the digital images may be transferred from a print client to a print server and stored in a RAMdisk at the print server prior to printing. Image processing may be performed on at least some of the digital images prior to the initiation of printing. The digital images may be processed in decreasing order of estimated image processing time. Two or more of these techniques may be combined to decrease the total time required to print the digital images by, for example, increasing the speed with which images may be accessed, decreasing the amount of time that passes before printing begins, and enabling all of the digital images to be printed without stopping and restarting the print engine.

For example, in one aspect of the present invention, a computer-implemented method is provided for printing a plurality of digital images. The method includes steps of: (A) transmitting the plurality of digital images over a communications bus; (B) receiving the plurality of images over the communications bus; (C) storing the plurality of digital images in a RAMdisk in the order in which the plurality of digital images are to be printed; (D) retrieving the plurality of digital images from the RAMdisk in the order in which the plurality of digital images are to be printed; (E) at the print server, deleting the plurality of digital images after they are retrieved from the RAMdisk; and (F) at the print server, printing the plurality of digital images on output media using a print engine without stopping and restarting the print engine.

In another aspect of the present invention, a computer-implemented method is provided for printing a plurality of digital images. The method includes steps of: (A) estimating amounts of time required to perform image processing on each of the plurality of digital images; (B) selecting an order in which to perform image processing on at least some of the plurality of digital images based on the estimates made in step (A); (C) performing image processing on at least some of the plurality of digital images in the order selected in step (B) to produce a plurality of processed images; (D) transmitting the plurality of processed images to the server over a communications bus; (E) at a print server, storing the plurality of processed images in a RAMdisk in the order in which the plurality of processed images are to be printed; (F) at the print server, retrieving the plurality of processed images from the RAMdisk in the order in which the plurality of processed images are to be printed; and (G) at the print server, printing the plurality of processed images on output media using a print engine without stopping and restarting the print engine.

In yet another aspect of the present invention, a computer-implemented method is provided for printing a plurality of digital images. The method includes steps of: (A) identifying a subset of the plurality of digital images having estimated processing times not less than a first predetermined threshold; (B) performing image processing on at least some of the images in the subset to produce a first plurality of processed images; (C) transmitting the first plurality of processed images to a print server over a communications bus; (D) after the step (A), activating a print engine to print the first plurality of processed images; (E) printing the first plurality of processed images using the print engine; (F) performing image processing on a second set of images including fewer than all of the digital images to produce a second plurality of processed images; and (G) at the print server, printing the second plurality of processed images without stopping and reactivating the print engine.

Other features and advantages of various aspects and embodiments of the present invention will become apparent from the following description and from the claims.

FIG. 1 is a block diagram of a photo-printing system according to one embodiment of the present invention;

FIG. 2 is a flowchart of a method that is performed by the system of FIG. 1 to print digital images according to one embodiment of the present invention;

FIG. 3 is a flowchart of a method that is used in one embodiment of the present invention to print images selected by the user in the system of FIG. 1;

FIG. 4 is a block diagram of an embodiment of the print client of FIG. 1 in which the print client includes an image classifier for sorting images selected by the user into a plurality of image classes;

FIG. 5 is a flowchart of a method that selects an order in which to process images selected by the user of the system of FIG. 1 according to one embodiment of the present invention; and

FIG. 6 is a flowchart of a method for selecting the number of images to transfer from a print client to a print server prior to the initiation of printing according to one embodiment of the present invention.

Techniques are disclosed for decreasing the time required for a photo-printing device (such as a commercial photo-printing kiosk) to print a plurality of digital images. For example, the digital images may be transferred from a print client to a print server and stored in a RAMdisk at the print server prior to printing. Image processing may be performed on at least some of the digital images prior to the initiation of printing. The digital images may be processed in decreasing order of estimated image processing time. Two or more of these techniques may be combined to decrease the total time required to print the digital images by, for example, increasing the speed with which images may be accessed, decreasing the amount of time that passes before printing begins, and enabling all of the digital images to be printed without stopping and restarting the print engine.

Referring to FIG. 1, a block diagram of a photo-printing system 100 is shown according to one embodiment of the present invention. Various techniques that may be implemented in accordance with embodiments of the present invention will be described with respect to the system 100 shown in FIG. 1. Referring to FIG. 2, a flowchart is shown of a method 200 that is performed by the system 100 of FIG. 1 to print digital images according to one embodiment of the present invention.

The system 100 includes a print kiosk 112. Examples of the physical features and general operation of the print kiosk 112 are described in more detail in the above-referenced patent application entitled “A High-Speed Photo-Printing Apparatus.” The kiosk 112 may, for example, take the form of a vending machine suitable for standalone operation by a lay user 102 at a convenience store or other commercial location. The kiosk 112 may include both a print client 114 and a print server 116. Although the functions performed by the client 114 and server 116 will be described in more detail below, in general the client 114 may be implemented as a first computer whose primary function is to receive and process images from the user 102, and the server 116 may be implemented as a second computer whose primary function is to receive and print processed images from the client 114. The client 114 may, for example, be a computer running the Microsoft® Windows® 2000 operating system, having an Intel® Pentium® 4 processor with a clock speed of 1.6-1.8 GHz, and having 512 MB of RAM. The server 116 may, for example, be a computer running the Linux® operating system, have an Intel® Pentium® 4 processor with a clock speed of 1.6-1.8 GHz, and having 256 MB of RAM.

The user 102 may have a storage medium 104 (such as a memory card or CD) containing one or more digital images 106, such as digital photographs captured using a digital camera. The user 102, desiring to obtain prints of one or more of the digital images 106, may approach the kiosk 112 and insert the storage medium 104 into a media reader 122 in the print client 114. The media reader 122 may include slots for receiving and reading from various kinds of storage media.

The user 102 may then select one or more of the digital images 106 for printing (step 202). The print client 114 may, for example, include a user interface 118 that performs functions such as displaying thumbnails of the digital images 106 to the user 102 on a display screen (not shown), allowing the user 102 to select particular ones of the digital images 106 for printing, and displaying the total printing price. The user 102 issues commands 108 to the user interface 118 using an input device (not shown), such as a touch screen, trackball, mouse, and/or keyboard in the print client 114.

As shown in FIG. 1, the media reader 122 may read the selected images 124 from the storage medium 104 and store the selected images 124 locally in the print client 114. For example, the selected images 124 may be stored in a hard disk drive (not shown) in the client 114. Although the media reader 122 may read the selected images 124 from the storage medium 104 as they are selected by the user 102, alternatively the media reader 122 may read all of the digital images 106 from the storage medium 104 when the user 102 inserts the storage medium 104 in the media reader 122. All of the digital images 106 may then be stored locally in the print client 114. When the user 102 subsequently selects particular ones of the digital images 106, the selected images 124 may be marked to distinguish them from the remaining (unselected) ones of the digital images 106. Typically it is more efficient to read all of the digital images 106 from the storage medium 104 in this manner than to read individual ones of the digital images 106 as they are selected by the user 102.

The user 102 may also instruct the print client 114 to perform various kinds of image processing on the selected images 124 prior to printing them. For example, the user interface 118 may allow the user to indicate that red-eye reduction, contrast correction, and brightness correction be performed on one or more of the selected images 124 prior to printing them. The user interface 118 produces image processing parameters 120 specifying the particular kinds of image processing to be performed on the digital images 106.

The user 102 issues a print command 110 to the print client 114 upon selecting all images desired to be printed (step 204). The user 102 may issue the print command 110 by, for example, selecting an on-screen “print” button. The user 102 may also be required to provide payment at this time, such as by inserting a credit/debit card into a card reader (not shown) in the print client 114. Techniques for completing the payment portion of the transaction are well-known to those of ordinary skill in the art and will not be described in detail herein.

The image processing parameters 120 and selected images 124 may be produced in response to the user's issuance of the print command 110. The image processing parameters 120 and selected images 124 may be provided to an image processing unit 126, which performs image processing on the selected images 124 as specified by the image processing parameters 120 (step 206). The image processing unit 126 may also perform additional image processing not specified by the image processing parameters 120. For example, the image processing unit 126 may resize all of the selected images 124 to fit the size of the output medium and perform thermal history control on the selected images 124.

The image processing unit 126 produces processed images 128a-c as a result of performing image processing on the selected images 124. The processed images 128a-c may, for example, be stored in files on a hard disk drive (not shown) in the print client 114.

The client 114 transmits the processed images 128a over a communications bus 132 to the print server 116 (step 208), where the processed images 128a-c are stored in a RAMdisk 134 (step 210). The communications bus 132 may, for example, be a fast (gigabit) Ethernet connection between the client 114 and server 116. As is well-known to those of ordinary skill in the art, a RAMdisk is a portion of volatile memory (e.g., RAM) that may be accessed using the same interface as a persistent storage device, such as a hard disk drive. RAMdisk 134 thereby emulates the file system of a persistent storage device while retaining the fast access speed of volatile memory. In one embodiment of the present invention, the RAMdisk 134 is 128 Mbytes large, thereby allowing it to store up to 16 4″×6″ KIF (Knowledge Interchange Format) images.

The print server 116 includes a print controller 136 that transmits the processed image files 128a-c from the RAMdisk 134 to a print engine 140 in the print server 116 (step 212). The print controller 136 may, for example, transmit one of the processed images 128a-c at a time to the print engine 140 in a stream 138 in the order in which the processed images 128a-c were processed and stored in the RAMdisk 134, so that the RAMdisk 134 is used as a FIFO (first-in first-out) queue for the processed images 128a-c. Individual ones of the processed images 128a-c may be deleted from the RAMdisk 134 after they are transmitted to the print engine 140 for printing. The print engine 140 prints the processed images, thereby producing printed images 142 (step 214).

The term “print engine” is used herein to refer generally to the components within the print server 116 that are responsible for physically printing the processed images 128a-c and thereby to produce printed images 142. The printed images 142 may, for example, take the form of 4″×6″ printed photographs that are provided to the user 102.

In various embodiments of the present invention, the selected images 124 are processed and transmitted to the print server 116 in a manner that is intended to decrease the total time required to print the selected images 124. Examples of techniques will now be described for processing at least some of the selected images 124 prior to the initiation of printing, and for maintaining a sufficient flow of image data from the client 114 to the server 116 to ensure (or at least increase the likelihood) that the print server 116 will be able to print all of the selected images 124 without stopping and restarting the print engine 140. Referring to FIG. 3, a flowchart is shown of a method 300 that is used in one embodiment of the present invention to print the selected images 124 in this manner.

The user 102 selects images for printing (step 302) and issues the print command 110 (step 304), as described above with respect to steps 202-204 of method 200 (FIG. 2). In response to issuance of the print command 110, the image processing unit 126 performs image processing on the first n images in the set of selected images 124, thereby producing a first set of processed images 128a (step 306). If there are fewer than n images in the set of selected images 124, the image processing unit 126 processes all of the selected images 124.

The value of n may be selected in any of a variety of ways. For example, the value of n may be selected using empirical testing of the print kiosk 112 by trying different values of n with various sets of selected images, and selecting a value of n that enables the print client 114 to keep up with the print server 116 in all or an acceptable number of cases. The value of n may then be fixed for all print jobs. Alternatively, a different value of n may be selected for each print job using an appropriate formula or algorithm.

Referring to FIG. 6, a flowchart is shown of a method 600 that is used in one embodiment of the present invention to select a value for n. Let N be the total number of images to print (e.g., the total number of selected images 124). Let Tiqa be an estimate of the time required to perform image processing on one of the selected images 124. A value of Tiqa may be selected, for example, by processing a set of test images, measuring the actual time required to process each of the test images, and using the average processing time as the value of Tiqa. Let Tload be an estimate of the time required to load one of the selected images 124 from the hard disk. A value of Tload may similarly be selected as the average observed load time of a set of test images.

Let Ttrans be an estimate of the time required to transfer a single image from the print client 114 to the print server 116. In one embodiment of the present invention, Ttrans=200 msec. Let Tsafety be a safety margin, such as 100 msec. Let Ttick be the system tick time, which indicates the minimum amount of time in which the print engine 140 can print a single image. In one embodiment of the present invention, for example, Ttick=2 seconds. The method 600 initializes the values of N, Tiqa, Tload, Ttrans, Tsafety, and Ttick to appropriate values (FIG. 6, steps 602-612).

Let Ttotal be an estimate of the total minimum time required to print a single image, beginning from the time at which the image begins to be read from the storage (e.g., the hard disk drive) in the client 114 and ending with the completion of printing by the print engine 140. In one embodiment of the present invention, the method 600 calculates the value of Ttotal using Equation 1 (step 614):
Ttotal=Tiqa+Tload+Ttrans+Tsafety   Equation 1

If Ttotal<Ttick (step 616), the method 600 assigns a value of 2 to n (step 618). Otherwise (i.e., if Ttotal≧Ttick), the method 600 assigns a value to n using Equation 2 (step 620):
n=(N*(Ttotal−Ttick)/Ttick)+2   Equation 2

Assume, for example, that N=124 images, Tiqa=1.4 seconds, Tload=0.4 seconds, Ttrans=0.2 seconds, and Tsafety=0.2 seconds. Using Equation 1, Ttotal=2.2 seconds. Since Ttotal≧Ttick (step 616), the value of n is selected using Equation 2 (step 620). Applying Equation 2:
n=(124*(2.2−2.0)/2.0)+2
(124*0.2/2.0)+2
(24.8/2.0)+2
12.4+2
14.4

Rounding to the nearest integer, n=14 in the present example. Therefore, the first 14 of the processed images 128a-c images would be transferred by the print client 114 to the print server 116 prior to transmission of the start print command 130 by the client 114 to the server 116.

In the present embodiment, the print server 116 does not begin printing images until the image processing unit 126 produces the first set of n processed images 128a. More specifically, after producing the first set of processed images 128a, the image processing unit 126 transmits the first set of processed images 128a over the communications bus 132 to the print server 116 (step 308), where the set of images 128a is stored in the RAMdisk 134 (step 310).

Once the first set of processed images 128a is stored in the RAMdisk 134, the image processing unit 126 (or other component within the client 114) transmits a start print command 130 to the print server 116 over communications bus 132 (step 312). The start print command 130 is received by print controller 136 in the print server 116. In response to receiving the start print command 130, the print controller 136 begins transmitting processed image files from the RAMdisk 134 to a print engine 140 in the print server 116 (step 314). As a result the print engine 140 prints the first set of processed images 128a in the order in which they were transmitted and stored in the RAMdisk 134 (step 316).

Preprocessing at least some of the selected images 124 prior to the initiation of printing decreases the amount of image processing that needs to be performed after the initiation of printing, thereby increasing the likelihood that the client 114 will be able to keep up with the server 116 after printing begins. As a result, preprocessing at least some of the selected images 124 before beginning to print is one technique that may be used to increase the likelihood that the entire set of selected images 124 may be printed without stopping and restarting the print engine 140, thereby decreasing the total time required to print the selected images 124.

After producing the first set of processed images 128a, the image processing unit 126 determines whether there are any additional selected images 124 to process (step 318). If there are no more selected images 124 to process, the method 300 terminates.

If there are additional selected images 124 to process, the image processing unit 126 processes a second set of m images in the selected images 124, thereby producing a second set of processed images 128b (step 320). Although step 318 is shown after step 316 in FIG. 3, the image processing unit 126 may continue processing images immediately after producing the first set of processed images 128a (step 306), so that step 318 may be performed concurrently with one or more of steps 308-316. In other words, the image processing unit 126 may continue to process images in the set of selected images 124 while previous ones of the selected images 124 are being printed by the print server 116.

The number m of images in the second set of processed images 128b may be the same as or differ from the number n of images in the first set of processed images 128a. For example, in one embodiment of the present invention, n=16 and m=1, so that the first 16 of the selected images 124 are processed and transmitted to the print server 116 in a batch prior to the initiation of printing, while after the initiation of printing each of the remaining selected images 124 (if any) is processed and transmitted to the print server 116 individually, in an attempt to ensure that processed images are always available in the RAMdisk FIFO for printing.

The client 114 may need to verify that there is sufficient free space in the RAMdisk to store additional processed images before transmitting them to the server 116. If sufficient space is not available, the client 114 may check again periodically (e.g., every second) and transmit the next set of processed images to the server 116 when sufficient space becomes available in the RAMdisk 134.

Once the image processing unit 126 produces the second set of processed images 128b, the image processing unit 126 may transmit the second set of processed images 128b to the print server 116 (step 322), which may store the second set 128b in the RAMdisk 128b at the end of the FIFO queue (step 324).

The print controller 136 transmits the second set of processed images 128b to the print engine 140 (step 326), and the print engine 140 prints the second set of processed images 128b (step 328). Note that although steps 324-328 are illustrated sequentially in FIG. 3, in practice they may not be performed sequentially. Rather, the client 114 may transmit additional sets of processed images to the server 116 as such sets of processed images become available (provided that there is sufficient room in the RAMdisk to store them), while the server 116 may pull images from the RAMdisk's FIFO queue as the print engine 140 becomes ready to print each additional image. The process of transmitting and storing processed images in the RAMdisk 134 (steps 322-324) and the process of retrieving and printing processed images from the RAMdisk 134 (steps 326-328) may, therefore, be performed relatively asynchronously with respect to each other. These process steps are illustrated sequentially in FIG. 3 merely for ease of illustration and explanation.

After producing the second set of processed images 128b, the image processing unit 126 determines whether there are any additional selected images to process (step 318), as described above. Steps 320-328 are repeated as many times as necessary to process and print all of the selected images 124.

As will now be described in more detail, in various embodiments of the present invention the image processing unit 126 selects an order in which to process the selected images 124 so as to reduce the total print time. In particular, the image processing unit 126 selects an order in which to process the selected images 124 so that the images that are expected to take longest to process are processed first.

Referring to FIG. 5, a flowchart is shown of a method 500 that selects an order in which to process the selected images 124 according to one embodiment of the present invention. Referring to FIG. 4, a block diagram is shown of an embodiment of the print client 114 that may be used to perform the method 500.

The method 500 may, for example, be performed after the user 102 selects images for printing and issues the print command 110 (e.g., FIG. 2, steps 202-204). In the embodiment shown in FIG. 4, the client 114 includes an image classifier 402 that may classify the selected images 124 into three sets: (1) a set of “normal” images 404a, (2) a set of “difficult” images 404b, and (3) a set of “reject” images 404c. Note that one or more of the sets 404a-c may be empty.

Images in the “normal” set 404a are those that may be processed by the image processing unit 126 quickly enough to keep up with the print engine 140. Images in the “difficult” set 404b are images which are expected to take a longer time to process than images in the normal set 404a. As described in more detail below, the image processing unit 126 may process images in the difficult set 404b before processing images in the normal set 404a. Images in the “reject” set 404c are expected to take so long to process that it would not be possible to process them without resulting in an acceptably long amount of time to print the selected images 124.

Referring to FIG. 5, the image classifier 402 estimates an amount of time required to perform image processing on each of the selected images 124 (step 502). The image classifier 402 may produce this estimate in any of a variety of ways. For example, the image classifier 402 may produce an estimate for each of the selected images 124 that is proportional to the number of pixels in the image or the file size of the image.

The image classifier 402 classifies the selected images 124 into normal images 404a, difficult images 404b, and reject images 404c (step 504). More specifically, the image classifier 402 enters a loop over each image I in the set of selected images 124 (step 506). The image classifier 402 determines whether the estimated processing time for image I (obtained in step 502) is greater than a first predetermined threshold T1 (step 508). If I≦T1, then image I is classified as normal (i.e., placed in the normal set 404a) (step 510). If I>T1, the image classifier 402 determines whether I>T2 (step 512). If I≦T2, then image I is classified as difficult (i.e., placed in the difficult set 404b) (step 514). Otherwise, image I is classified as a reject (i.e., placed in the reject set 404c) (step 516). Steps 508-516 are repeated for the remaining images in the set of selected images 124 (step 518).

In one embodiment of the present invention, the value of T1 is equal to 20 Mbytes for JPEG images and 10 Mbytes for TIFF and BMP images, while the value of T2 is equal to 100 Mbytes for JPEG images and 50 Mbytes for TIFF and BMP images. These particular threshold values, however, are provided merely as examples and do not constitute limitations of the present invention.

After classifying the selected images 124, the image processing unit 126 processes the selected images 124 in an order that is based upon the classification performed in step 504 (step 520). In particular, the image processing unit 126 processes the difficult images 404b first (step 522), followed by the normal images 404a (step 524). The image processing unit 126 does not process the reject images 404c.

The image processing unit 126 may keep track of the time being spent to process each of the difficult images 404b in step 522, and abort the processing of any difficult images that require more than a particular threshold amount of time to process. This threshold amount of time may, for example, be equal to the time required to print a single image using the print engine 140 (e.g., two seconds). The client 114 may notify the user 102 of any images in the difficult set 404b or reject set 404c that are not printed, such as by displaying an appropriate error message on a display screen (not shown).

Step 520 in FIG. 5 merely illustrates the order in which the selected images 126 are processed by the image processing unit 126. It should be appreciated that in addition to being processed, the selected images 124 may be transmitted to the server 116, stored in the RAMdisk 134, and printed by the print engine 140 using any of the techniques disclosed herein (such as steps 208-214 of the method 200 shown in FIG. 2). Processing the selected images 124 in the order indicated in FIG. 5 will result in the processed versions of the difficult images 404b being placed at the front of the FIFO queue implemented by the RAMdisk 134. In addition to processing the difficult images 404b prior to the normal images 404a, the image processing unit 126 may sort images within the difficult set 404b and/or the normal set 404a in decreasing order of estimated processing time and process the images in the resulting sorted order.

Because the normal images 404a are expected to take less time to process than the difficult images 404b, processing the difficult images 404b first increases the likelihood that the image processing unit 126 will be able to process the remaining normal images 404a sufficiently quickly to keep up with the print engine 140 and thereby enable the print server 116 to print all of the selected images 124 without stopping and restarting the print engine 140.

In addition to various advantages described above, among the advantages of embodiments of the present invention are one or more of the following.

As described above, in various embodiments of the present invention, at least some of the selected images 124 are processed by the image processing unit 126 before the initiation of printing. Performing such preprocessing decreases the image processing load incurred by the client 114 after the initiation of printing, thereby increasing the ability of the client 114 to keep up with the server 116 once printing has started, and thereby decreasing the likelihood that the print engine 140 will need to be stopped and restarted during printing. As a result, preprocessing at least some of the selected images 124 may decrease the overall time required to print the selected images 124.

As further described above, in various embodiments of the present invention, printing is initiated before all of the selected images 124 have been processed by the image processing unit 126. Initiating printing prior to processing of all of the selected images 124 may be advantageous because it decreases the delay between issuance of the print command 110 by the user 102 and the initiation of printing, in comparison to systems which process all selected images prior to initiation of printing. Combining such early print initiation with image preprocessing in the appropriate manner can both decrease the print initiation delay and the total time required to print all of the selected images 124.

As described above, in various embodiments of the present invention, RAMdisk 134 is used to store processed images 128a-c in the server 116. Use of RAMdisk 134 may be advantageous in comparison to use of a conventional hard disk drive because the RAMdisk 134 has a shorter and more consistent access time than a hard disk drive. As a result, use of the RAMdisk 134 is more likely to enable the processed images 128a-c to be provided to the print engine 140 with a sufficient throughput for the print engine 140 to print all of the processed images 128a-c without stopping and restarting.

A further advantage of using RAMdisk 134 to store the processed images 128a-c is that the RAMdisk 134 may easily be used to replace a hard disk drive or other storage device previously used by the server 116 to store images. This ease of replacement results from the fact that RAMdisk 134 emulates a hard disk drive and therefore may be accessed using the same logical interface (protocol) as a hard disk drive. As a result, a hard disk drive in the server 116 may be replaced with RAMdisk 134 relatively easily, without requiring changes to the client 114 or other components of the server 116.

More generally, the ability to maintain a sufficiently high throughput of images to the print engine 140 enables the print engine 140 to print at its maximum speed, thereby reducing the overall print time. With an example print engine speed of 1-2 seconds per image, it becomes possible for the user 102 to print anywhere between 30 and 60 images in under a minute. The ability to print images this quickly both enhances the quality of the user's experience and increases the likelihood that the user 102 will choose to use the print kiosk 112 to print images, thereby providing a commercial advantage to the owner/operator of the kiosk 112. The techniques disclosed herein may also scale to work in conjunction with faster buses, larger images, and faster print engines.

It is to be understood that although the invention has been described above in terms of particular embodiments, the foregoing embodiments are provided as illustrative only, and do not limit or define the scope of the invention. Various other embodiments, including but not limited to the following, are also within the scope of the claims.

Elements and components described herein may be further divided into additional components or joined together to form fewer components for performing the same functions. For example, the user interface 118 and image processing unit 126 may be combined or further subdivided into additional components for performing the same functions. Similarly, the print controller 136 and print engine 140 may be combined or further subdivided into additional components for performing the same function. The print client 114 and print server 116 may be combined into a single component, so that the print kiosk 112 does not operate using a client-server architecture. Furthermore, the client 114 and server 116 need not be implemented within a single physical housing. Rather, the client 114 and server 116 may be housed separately. In addition, the server 116 may be coupled to multiple clients, in which case each client may be allocated a portion (e.g., partition or directory) of the RAMdisk 134 for storing processed images. Although the bus 132 is described above as an Ethernet bus, the bus 132 may be any communications channel for carrying communications between the client 114 and server 116.

Messages transmitted between the client 114 and server 116 (such as the start print command 130) may have any format, and the client 114 and server 116 may communicate with each other using any messaging protocol. For example, the client 114 and server 116 may communicate with each other by transmitting messages contained within files or by transmitting messages using the “sockets” mechanism available in many operating systems.

Although the print kiosk 112 is described above as a standalone vending machine, this is not a requirement of the present invention. Rather, the print kiosk 112 more generally represents any system for performing the functions described herein. Furthermore, although the print engine 140 is described herein as using a thermal transfer method of printing, this is not a requirement of the present invention. Rather, the print kiosk 112 may print images using any printing method.

The print kiosk 112 may receive digital images from any source. Therefore, the storage medium 104 need not be a storage medium capable of use in a digital camera, but rather may be any medium containing one or more digital or analog images, such as a floppy diskette, CD-ROM, or printed image (in which case the media reader 122 may include a scanner). Furthermore, the printed images 142 may be printed on any output medium of any size.

The particular classification scheme described above with respect to FIGS. 4-5 is provided merely as an example and does not constitute a limitation of the present invention. If the selected images 124 are classified, other classification schemes may be used. For example, the selected images 124 may be classified into two sets, such as normal and difficult or normal and reject, rather than the three sets 404a-c shown in FIG. 5.

In the examples described above, the image processing unit 126 does not begin processing the selected images 124 until the user 102 issues the print command 110. Alternatively, the image processing unit 126 may process the selected images 124 as they are selected by the user 102 for printing. For example, when the user 102 selects a first one of the digital images 106, the selected image may be processed immediately by the image processing unit 126. The resulting processed image may be transmitted to and stored in the RAMdisk 134, without waiting for additional images to be selected by the user 102. As the user 102 selects additional images, each such image may be processed and stored in the RAMdisk 134 in the same manner. If the RAMdisk 134 becomes full, the image processing unit 126 may continue to process images as they are selected by the user 102 and store them locally in the client 114.

When the user 102 issues the print command 110, the client 114 may verify that n images (or the total number of selected images 124, whichever is greater) are stored in the RAMdisk 134. If n images are stored in the RAMdisk, the client 114 may issue the start print command 130 to the print server 116 and continue to process any remaining selected images, as described above with respect to FIG. 2. If n images are not stored in the RAMdisk 134, the image processing unit 126 may continue to process any remaining selected images, as described above with respect to FIG. 2, and issue the start print command 130 to the print server 116 once n images or all of the selected images 124 have been processed, whichever comes first.

If the user 102 deselects an image that has already been processed and stored in the RAMdisk 134, the client 114 may transmit a “delete” command (not shown) to the print server 116, in response to which the print server 116 may delete the deselected image from the RAMdisk 134. The next one of the processed images 128a-c may then be transmitted to and stored in the RAMdisk 134.

The techniques described above may be implemented, for example, in hardware, software, firmware, or any combination thereof. The techniques described above may be implemented in one or more computer programs executing on a programmable computer including a processor, a storage medium readable by the processor (including, for example, volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. Program code may be applied to input entered using the input device to perform the functions described and to generate output. The output may be provided to one or more output devices.

Each computer program within the scope of the claims below may be implemented in any programming language, such as assembly language, machine language, a high-level procedural programming language, or an object-oriented programming language. The programming language may, for example, be a compiled or interpreted programming language.

Each such computer program may be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a computer processor. Method steps of the invention may be performed by a computer processor executing a program tangibly embodied on a computer-readable medium to perform functions of the invention by operating on input and generating output. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, the processor receives instructions and data from a read-only memory and/or a random access memory. Storage devices suitable for tangibly embodying computer program instructions include, for example, all forms of non-volatile memory, such as semiconductor memory devices, including EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROMs. Any of the foregoing may be supplemented by, or incorporated in, specially-designed ASICs (application-specific integrated circuits) or FPGAs (Field-Programmable Gate Arrays). A computer can generally also receive programs and data from a storage medium such as an internal disk (not shown) or a removable disk. These elements will also be found in a conventional desktop or workstation computer as well as other computers suitable for executing computer programs implementing the methods described herein, which may be used in conjunction with any digital print engine or marking engine, display monitor, or other raster output device capable of producing color or gray scale pixels on paper, film, display screen, or other output medium.

Robins, David R.

Patent Priority Assignee Title
Patent Priority Assignee Title
3820133,
3864708,
4070587, Feb 24 1975 Canon Kabushiki Kaisha Energizing control system for an intermittently energized device
4072973, Jan 26 1976 Camera signal system for portrait taking
4089017, Sep 07 1976 Polaroid Corporation Automatic photostudio
4154523, May 31 1977 Eastman Kodak Company Exposure determination apparatus for a photographic printer
4168120, Apr 17 1978 Pako Corporation Automatic exposure corrections for photographic printer
4284876, Apr 24 1979 Oki Electric Industry Co., Ltd. Thermal printing system
4309712, Dec 27 1978 Canon Kabushiki Kaisha Thermal printer
4347518, Sep 04 1979 GOULD INSTRUMENT SYSTEMS, INC Thermal array protection apparatus
4364063, Mar 31 1980 Tokyo Shibaura Denki Kabushiki Kaisha Thermal recording apparatus
4385302, Oct 16 1980 Fuji Xerox Co., Ltd. Multicolor recording apparatus
4391535, Aug 10 1981 Intermec IP Corporation Method and apparatus for controlling the area of a thermal print medium that is exposed by a thermal printer
4415908, Jun 13 1980 Canon Kabushiki Kaisha Thermal printer
4443121, Mar 02 1982 Sony Corporation Thermal printing apparatus with reference gray scale comparator
4447818, Feb 20 1981 Fuji Xerox Co., Ltd. Multicolor heat-sensitive recording apparatus
4464669, Jun 19 1981 Tokyo Shibaura Denki Kabushiki Kaisha Thermal printer
4514738, Nov 22 1982 Tokyo Shibaura Denki Kabushiki Kaisha Thermal recording system
4524368, Apr 01 1983 FUJI XEROX CO , LTD A CORP OF JAPAN Thermal head drive circuit
4540992, Apr 07 1983 Kabushiki Kaisha Daini Seikosha Thermal color transfer system
4563691, Dec 24 1984 FUJI XEROX CO , LTD Thermo-sensitive recording apparatus
4607262, Jan 11 1983 Fuji Xerox Co., Ltd. Thermal head drive circuit
4638372, Oct 17 1983 Fuji Xerox Co., Ltd. Color copier
4686549, Dec 16 1985 Minnesota Mining and Manufacturing Company; MINNESOTA MINING AND MANUFACTURING COMPANY, SAINT PAUL, MINNESOTA, A CRP OF DELAWARE Receptor sheet for thermal mass transfer printing
4688051, Aug 15 1983 RICOH COMPANY, LTD , 3-6, NAKAMAGOME 1-CHOME, OHTA-KU, TOKYO 143 JAPAN, A CORP OF JAPAN Thermal print head driving system
4738526, Nov 21 1986 AUTOSTUDIO CORPORATION, A NY CORP Auto-portrait photo studio
4739344, Feb 27 1987 ASTRONOVA, INC Chart recorded having multiple thermal print heads
4777496, May 24 1986 Sony Corporation Thermal printer with printing plate making mode
4805033, Feb 18 1987 Olympus Optical Co., Ltd. Method of forming oblique dot pattern
4809063, Nov 09 1983 Fuji Xerox Co., Ltd. Multicolor printing method using rectangular dither matrices of different size, shape, and arrangement of threshold values to minimize overlap of differently colored inks at lower gradations
4884080, Jan 31 1985 Kabushiki Kaisha Toshiba Color image printing apparatus
4933709, Sep 25 1989 Eastman Kodak Company Adjusting photographic printer color exposure determination algorithms
4962403, Dec 11 1989 Eastman Kodak Company Adjusting photographic printer color exposure determination algorithms
5006866, Oct 31 1988 Kabushiki Kaisha Toshiba Thermal printing apparatus responsive to estimated stored heat of the heating element
5045952, Aug 21 1989 Xerox Corporation Method for edge enhanced error diffusion
5046118, Feb 06 1990 CARESTREAM HEALTH, INC Tone-scale generation method and apparatus for digital x-ray images
5066961, Feb 17 1989 Matsushita Electric Industrial Co., Ltd. Tonal printer utilizing heat prediction and temperature detection means
5086306, Jul 19 1989 Ricoh Company, Ltd. Line head driving apparatus
5086484, Aug 24 1988 Canon Kabushiki Kaisha Image processing apparatus with fixed or variable threshold
5109235, Aug 18 1988 Ricoh Company, Ltd. Recording density correcting apparatus
5115252, Feb 03 1989 RICOH COMPANY, LTD , 3-6, 1-CHOME NAKAMAGOME, OTA-KU, TOKYO JAPAN, A JOINT-STOCK COMPANY OF JAPAN Thermal head drive apparatus correcting for the influence on a printing element of heat from other printing elements
5130821, Apr 16 1990 Eastman Kodak Company Method and apparatus for digital halftoning employing density distribution for selection of a threshold template
5132703, Mar 08 1991 Yokogawa Electric Corporation Thermal history control in a recorder using a line thermal head
5132709, Aug 26 1991 Zebra Technologies Corporation Apparatus and method for closed-loop, thermal control of printing head
5162813, Aug 31 1989 FUJIFILM Corporation Method of and device for driving thermal head in printer
5184150, Aug 07 1989 Sharp Kabushiki Kaisha Thermal printer for providing printed characters with a uniform density
5208684, Apr 26 1990 Fujitsu Limited Half-tone image processing system
5244861, Jan 17 1992 Eastman Kodak Company; EASTMAN KODAK COMPANY A NJ CORP Receiving element for use in thermal dye transfer
5248995, Feb 25 1991 ALPS Electric Co., Ltd. Heat control method of a thermal head
5268706, Feb 14 1991 ALPS Electric Co., Ltd. Actuating control method of thermal head
5285220, Nov 22 1989 Canon Kabushiki Kaisha Image recording apparatus with tone correction for individual recording heads
5307425, Sep 02 1991 Rohm Co., Ltd. Bi-level halftone processing circuit and image processing apparatus using the same
5323245, Sep 14 1990 Minnesota Mining and Manufacturing Company Perpendicular, unequal frequency non-conventional screen patterns for electronic halftone generation
5333246, Apr 05 1990 Seiko Epson Corporation Page-description language interpreter for a parallel-processing system
5422662, Mar 27 1992 NEC Corporation; SUSUMU CO , LTD Thermal printer head having current sensors connected to heating elements
5450099, Apr 08 1993 Eastman Kodak Company Thermal line printer with staggered head segments and overlap compensation
5469203, Nov 24 1992 Eastman Kodak Company Parasitic resistance compensation for a thermal print head
5479263, Jul 01 1993 Xerox Corporation Gray pixel halftone encoder
5497174, Mar 11 1994 Xerox Corporation Voltage drop correction for ink jet printer
5521626, Oct 12 1992 JVC Kenwood Corporation Fusion-type thermal transfer printing system
5539443, Jul 03 1992 Matsushita Electric Industrial Co., Ltd. Printer utilizing temperature evaluation and temperature detection
5569347, Dec 21 1993 Fujicopian Co., Ltd. Thermal transfer material
5576745, May 27 1993 Canon Kabushiki Kaisha Recording apparatus having thermal head and recording method
5602653, Nov 08 1994 Xerox Corporation Pixel pair grid halftoning for a hyperacuity printer
5617223, Feb 28 1992 Eastman Kodak Company Image scanner system and method for improved microfilm image quality
5623297, Jul 07 1993 Intermec IP Corporation Method and apparatus for controlling a thermal printhead
5623581, Jan 22 1996 AMERICAN PHOTO BOOTHS, INC Direct view interactive photo kiosk and image forming process for same
5625399, Jan 31 1992 Intermec IP Corporation Method and apparatus for controlling a thermal printhead
5642148, Nov 30 1993 NEC Corporation; Susumu Co., Ltd. Thermal head apparatus with integrated circuits and current detection
5644351, Dec 04 1992 MATSUSHITA ELECTRIC INDUSTRIAL CO , LTD Thermal gradation printing apparatus
5646672, Dec 16 1994 NEC Corporation Thermal head apparatus
5664253, Apr 04 1996 Eastman Kodak Company Stand alone photofinishing apparatus
5668638, Jun 27 1996 Xerox Corporation Error diffusion method with symmetric enhancement
5694484, May 15 1995 Intellectual Ventures I LLC System and method for automatically processing image data to provide images of optimal perceptual quality
5703644, May 21 1992 MATSUSHITA ELECTRIC INDUSTRIAL CO , LTD Automatic exposure control apparatus
5706044, Dec 20 1994 NEC Corporation Thermal head apparatus
5707082, Jul 18 1995 MOORE BUSINESS FORMS, INC Thermally imaged colored baggage tags
5711620, Sep 28 1995 FUJIFILM Corporation Color thermal printer
5719615, Mar 09 1989 Kyocera Corporation Apparatus for driving heating elements of a thermal head
5721578, Dec 27 1993 Sharp Kabushiki Kaisha Methods of gradation control and picture quality improvement in a thermal printer which adapts a staggered printing system
5724456, Mar 31 1995 Intellectual Ventures I LLC Brightness adjustment of images using digital scene analysis
5729274, Nov 05 1992 FUJIFILM Corporation Color direct thermal printing method and thermal head of thermal printer
5757976, Oct 11 1994 Seiko Epson Corporation Adaptive filtering and thresholding arrangement for reducing graininess of images
5777599, Feb 14 1992 OKI ELECTRIC INDUSTRY CO , LTD Image generation device and method using dithering
5781315, Nov 09 1995 FUJIFILM Corporation Image processing method for photographic printer
5784092, Dec 24 1993 Shinko Electric Co., Ltd. Thermal printer in which head energization period is controlled based on number of heads to be energized
5786837, Nov 29 1994 AGFA HEALTHCARE N V Method and apparatus for thermal printing with voltage-drop compensation
5786900, Mar 23 1994 FUJIFILM Corporation Image recording device for recording multicolor images with dot pitch pattern randomly arranged only in the sub-scanning direction
5800075, Apr 11 1996 FUJIFILM Corporation Data processing method for eliminating influence of heat accumulating in thermal head
5808653, Dec 04 1992 Matsushita Electric Industrial Co., Ltd. Thermal gradation printing apparatus
5809164, Mar 07 1996 HANGER SOLUTIONS, LLC System and method for color gamut and tone compression using an ideal mapping function
5809177, Jun 06 1996 Xerox Corporation Hybrid error diffusion pattern shifting reduction using programmable threshold perturbation
5818474, Jun 30 1993 Canon Kabushiki Kaisha Ink-jet recording apparatus and method using asynchronous masks
5818975, Oct 28 1996 KODAK ALARIS INC Method and apparatus for area selective exposure adjustment
5835244, Oct 15 1993 Heidelberger Druckmaschinen AG Method and apparatus for the conversion of color values
5835627, May 15 1995 Intellectual Ventures I LLC System and method for automatically optimizing image quality and processing time
5841461, Aug 17 1995 FUJIFILM Corporation Accumulated heat correction method and apparatus
5859711, Aug 07 1995 Electronics for Imaging, Inc Multiple print engine with virtual job routing
5880777, Apr 15 1996 MASSACHUSETTS INST OF TECHNOLOGY Low-light-level imaging and image processing
5889546, Jun 04 1996 Shinko Electric Co., Ltd. Heat accumulation control device for line-type thermoelectric printer
5896166, Jun 02 1995 Linvatec Corporation Remote CCD video camera with non-volatile digital memory
5897254, Jul 12 1996 JVC Kenwood Corporation Melt-type thermal transfer printing apparatus and a printing sheet with multiple porous layers
5913019, Jan 22 1996 FOTO FANTASY, INC Direct view interactive photo kiosk and composite image forming process for same
5956067, Oct 28 1993 Nisca Corporation Thermal transfer printing device and method
5956421, Feb 28 1996 Canon Kabushiki Kaisha Image processing method and apparatus for determining a binarization threshold value used for binarizing a multi-valued image and performing binarization processing
5970224, Apr 14 1997 Ricon Corporation Multifunctional printing system with queue management
5978106, Jun 21 1996 Nikon Corporation Picture image processing method
5995654, May 28 1998 Eastman Kodak Company Digital photofinishing system including scene balance and image sharpening digital image processing
5999204, Feb 13 1996 FUJIFILM Corporation Apparatus and method for thermal image recording
6005596, Oct 04 1996 SEIKO I INFOTECH INC Method for recording color image, apparatus for recording color image, and method for controlling recording of color image
6028957, Mar 07 1996 Minolta Co., Ltd. Image forming apparatus having a noise removing unit
6069637, Jul 29 1996 Intellectual Ventures Fund 83 LLC System for custom imprinting a variety of articles with images obtained from a variety of different sources
6069982, Dec 23 1997 CABIER INSTITUTE SL Estimation of frequency dependence and grey-level dependence of noise in an image
6104421, Sep 29 1995 Toshiba Tec Kabushiki Kaisha Thermal transfer type color printer
6104468, Jun 29 1998 Monument Peak Ventures, LLC Image movement in a photographic laboratory
6104502, Apr 30 1996 SCREEN HOLDINGS CO , LTD Method and apparatus for generating halftone dots for color printing
6106173, Mar 06 1998 Asahi Kogaku Kogyo Kabushiki Kaisha Image-forming system including a plurality of thermal heads and an image-forming sheet with a plurality of types of micro-capsules
6108105, Sep 08 1988 Canon Kabushiki Kaisha Dot image output apparatus
6128099, Jun 08 1995 AGFA-GEVAERT N V Halftone screen generator, halftone screen and method for generating same
6128415, Sep 06 1996 DIGITECH IMAGE TECHNOLOGIES LLC Device profiles for use in a digital image processing system
6133983, Nov 12 1993 Eastman Kodak Company Photographic printing method and apparatus for setting a degree of illuminant chromatic correction using inferential illuminant detection
6157459, Dec 24 1996 FUJIFILM Corporation Method and apparatus for outputting picture image data
6172768, Feb 05 1998 Canon Kabushiki Kaisha Halftoning with changeable error diffusion weights
6186683, Aug 11 1997 MINOLTA CO , LTD Recording apparatus
6204940, May 15 1998 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Digital processing of scanned negative films
6208429, May 29 1998 FlashPoint Technology, Inc. Method and system for band printing of rotated digital image data
6226021, Apr 03 1998 ALPS Electric Co., Ltd. Image forming method of thermal transfer printer
6233360, Sep 24 1996 Xerox Corporation Method and system for hybrid error diffusion processing of image information using adaptive white and black reference values
6243133, Mar 07 1997 Monument Peak Ventures, LLC Method for automatic scene balance of digital images
6263091, Aug 22 1997 UNILOC 2017 LLC System and method for identifying foreground and background portions of digitized images
6282317, Dec 31 1998 Monument Peak Ventures, LLC Method for automatic determination of main subjects in photographic images
6293651, Jun 24 1997 FUJIFILM Corporation Multi-head printer
6343155, Jul 24 1998 Qualcomm Incorporated Memory saving wavelet-like image transform system and method for digital camera and other memory conservative applications
6402283, Apr 29 1999 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Variable drop mass inkjet drop generator
6421582, May 14 1999 MINOLTA CO , LTD Print system and a sheet-processing device suitable for such a print system
6425699, Sep 29 1999 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Use of very small advances of printing medium for improved image quality in incremental printing
6447186, Sep 29 1999 Seiko Epson Corporation Printing apparatus, control method thereof, and data storage medium storing a computer program realizing the control method
6456388, Aug 01 1997 Sharp Kabushiki Kaisha Printer enclosing network computer and computer network system employing the same
6462835, Jul 15 1998 Eastman Kodak Company Imaging system and method
6501566, Apr 03 1977 Minolta Co., Ltd. Image processing apparatus carrying out multi-value error diffusion process
6537410, Feb 01 2000 Intellectual Ventures I LLC Thermal transfer recording system
6563945, Mar 24 1997 RPX Corporation Pictorial digital image processing incorporating image and output device modifications
6567111, Nov 22 2000 FUJIFILM Corporation Image recording method and apparatus
6606602, Jul 20 1998 USA Technologies, Inc.; USA TECHNOLOGIES, INC Vending machine control system having access to the internet for the purposes of transacting e-mail, e-commerce, and e-business, and for conducting vending transactions
6608926, Jun 24 1998 Canon Kabushiki Kaisha Image processing method, image processing apparatus and recording medium
6614459, Feb 05 2001 Rohm Co., Ltd. Thermal printer capable of performing error diffusion
6628417, Oct 30 1998 Canon Kabushiki Kaisha Data communication apparatus, image server, control method, storage medium, and image system
6628823, Mar 24 1997 RPX Corporation Pictorial digital image processing incorporating adjustments to compensate for dynamic range differences
6628826, Nov 29 1999 Eastman Kodak Company Color reproduction of images from color films
6628899, Oct 08 1999 FUJIFILM Corporation IMAGE PHOTOGRAPHING SYSTEM, IMAGE PROCESSING SYSTEM, AND IMAGE PROVIDING SYSTEM CONNECTING THEM, AS WELL AS PHOTOGRAPHING CAMERA, IMAGE EDITING APPARATUS, IMAGE ORDER SHEET FOR EACH OBJECT AND METHOD OF ORDERING IMAGES FOR EACH OBJECT
6650771, Nov 22 1999 Eastman Kodak Company Color management system incorporating parameter control channels
6661443, Feb 22 2002 TPP TECH LLC Method and apparatus for voltage correction
6671063, Jan 27 1999 PANASONIC COMMUNICATIONS CO , LTD Network facsimile apparatus
6690488, Sep 30 1999 Intellectual Ventures I LLC Method and apparatus for estimating the spatial frequency response of a digital image acquisition system from the images it produces
6694051, Jun 24 1998 Canon Kabushiki Kaisha Image processing method, image processing apparatus and recording medium
6711285, Aug 09 1998 FUJIFILM Corporation Method and apparatus for correcting the density and color of an image and storage medium having a program for executing the image correction
6760489, Apr 06 1998 Seiko Epson Corporation Apparatus and method for image data interpolation and medium on which image data interpolation program is recorded
6762855, Jul 07 2000 Eastman Kodak Company Variable speed printing system
6784925, Mar 24 1998 Canon Kabushiki Kaisha System to manage digital camera images
6789879, Feb 14 2003 ESCHER-GRAD TECHNOLOGIES, INC Method and apparatus for processing data for high-speed digital printing
6819347, Aug 22 2001 MITCHAM GLOBAL INVESTMENTS LTD Thermal response correction system
6826310, Jul 06 2001 Intel Corporation Automatic contrast enhancement
6833861, Mar 25 1997 FUJIFILM Corporation System for transferring image data from a camera to a printing system
6906736, Feb 19 2002 Intellectual Ventures I LLC Technique for printing a color image
6937365, May 30 2001 Senshin Capital, LLC Rendering images utilizing adaptive error diffusion
6956967, May 20 2002 Intellectual Ventures Fund 83 LLC Color transformation for processing digital images
6999202, Mar 27 2001 SENSHLN CAPITAL, LLC; Senshin Capital, LLC Method for generating a halftone of a source image
7050194, Nov 27 1998 Seiko Epson Corporation Image processing apparatus, method of processing images, and printing apparatus to which image processing method is applied
7051328, Jan 26 2001 Xerox Corporation Production server architecture and methods for automated control of production document management
7129980, Jan 25 1999 FUJIFILM Corporation Image capturing apparatus and automatic exposure control correcting method
7154630, Jun 29 1999 CASIO COMPUTER CO , LTD Printing apparatus and printing method
7167597, Nov 29 2001 Ricoh Company, Ltd. Image processing apparatus, image processing method, computer program and storage medium
7200265, Feb 26 2002 Seiko Epson Corporation Image processing apparatus, image processing method, image processing program, and medium recording the image processing program
7224476, Sep 11 1997 MINOLTA CO , LTD Control device and control method for network-connected device
7272390, Dec 19 2000 Cisco Technology, Inc. Method and system for sending facsimile transmissions from mobile devices
7283666, Feb 27 2003 Intellectual Ventures I LLC Digital image exposure correction
7355732, Dec 22 2000 Ricoh Company, Ltd. Printing mechanism for wireless devices
7548260, Dec 24 1999 FUJIFILM Corporation Identification photo system and image processing method which automatically corrects image data of a person in an identification photo
7907157, Feb 19 2002 Intellectual Ventures I LLC Technique for printing a color image
7917862, Oct 26 2001 HEWLETT-PACKARD DEVELOPMENT COMPANY L P System and method for improving the performance of a plurality of peripheral devices
20020012134,
20020034392,
20020049837,
20020122588,
20020135794,
20020191066,
20030021478,
20030068084,
20030095282,
20040073783,
20040179226,
20040207712,
20050069107,
20050117948,
20050219344,
20070036457,
20090128613,
EP204094,
EP454495,
EP619188,
EP625425,
EP626611,
EP762736,
EP773470,
EP791472,
EP933679,
EP939359,
EP1004442,
EP1056272,
EP1078750,
EP1137247,
EP1201449,
EP1392514,
GB2356375,
JP1040371,
JP2000050077,
JP2000050080,
JP2000184270,
JP2001160908,
JP2001273112,
JP2003008986,
JP2248264,
JP2289368,
JP3024972,
JP4119338,
JP58164368,
JP59127781,
JP6183033,
JP6266514,
JP6308632,
JP9138465,
JP9167129,
KR20010037684,
WO131432,
WO9953415,
WO4492,
WO101669,
WO2078320,
WO2096651,
WO3071780,
WO2004077816,
WO2005006200,
///////////////////////////////////////////////////////////////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Jul 01 2003Intellectual Ventures I LLC(assignment on the face of the patent)
Jul 01 2003ROBINS, DAVID R Polaroid CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0142580670 pdf
Apr 28 2005PETTERS CONSUMER BRANDS INTERNATIONAL, LLCWILMINGTON TRUST COMPANY, AS COLLATERAL AGENTSECURITY AGREEMENT0166020332 pdf
Apr 28 2005PETTERS CONSUMER BRANDS, LLCWILMINGTON TRUST COMPANY, AS COLLATERAL AGENTSECURITY AGREEMENT0166020332 pdf
Apr 28 2005POLAROID WALTHAM REAL ESTATE LLCWILMINGTON TRUST COMPANY, AS COLLATERAL AGENTSECURITY AGREEMENT0166020332 pdf
Apr 28 2005POLAROID NORWOOD REAL ESTATE LLCWILMINGTON TRUST COMPANY, AS COLLATERAL AGENTSECURITY AGREEMENT0166020332 pdf
Apr 28 2005POLAROID NEW BEDFORD REAL ESTATE LLCWILMINGTON TRUST COMPANY, AS COLLATERAL AGENTSECURITY AGREEMENT0166020332 pdf
Apr 28 2005POLAROID LATIN AMERICA I CORPORATIONWILMINGTON TRUST COMPANY, AS COLLATERAL AGENTSECURITY AGREEMENT0166020332 pdf
Apr 28 2005POLAROID INVESTMENT LLCWILMINGTON TRUST COMPANY, AS COLLATERAL AGENTSECURITY AGREEMENT0166020332 pdf
Apr 28 2005POLAROID INTERNATIONAL HOLDING LLCWILMINGTON TRUST COMPANY, AS COLLATERAL AGENTSECURITY AGREEMENT0166020332 pdf
Apr 28 2005POLAROID EYEWEAR I LLCWILMINGTON TRUST COMPANY, AS COLLATERAL AGENTSECURITY AGREEMENT0166020332 pdf
Apr 28 2005POLAROID CAPITAL LLCWILMINGTON TRUST COMPANY, AS COLLATERAL AGENTSECURITY AGREEMENT0166020332 pdf
Apr 28 2005POLAROID ASIA PACIFIC LLCWILMINGTON TRUST COMPANY, AS COLLATERAL AGENTSECURITY AGREEMENT0166020332 pdf
Apr 28 2005Polaroid CorporationWILMINGTON TRUST COMPANY, AS COLLATERAL AGENTSECURITY AGREEMENT0166020332 pdf
Apr 28 2005ZINK INCORPORATEDWILMINGTON TRUST COMPANY, AS COLLATERAL AGENTSECURITY AGREEMENT0166020332 pdf
Apr 28 2005POLAROID HOLDING COMPANYJPMORGAN CHASE BANK,N A,AS ADMINISTRATIVE AGENTSECURITY INTEREST SEE DOCUMENT FOR DETAILS 0166020603 pdf
Apr 28 2005Polaroid CorporationJPMORGAN CHASE BANK,N A,AS ADMINISTRATIVE AGENTSECURITY INTEREST SEE DOCUMENT FOR DETAILS 0166020603 pdf
Apr 28 2005ZINK INCORPORATEDJPMORGAN CHASE BANK,N A,AS ADMINISTRATIVE AGENTSECURITY INTEREST SEE DOCUMENT FOR DETAILS 0166020603 pdf
Apr 28 2005PETTERS CONSUMER BRANDS INTERNATIONAL, LLCJPMORGAN CHASE BANK,N A,AS ADMINISTRATIVE AGENTSECURITY INTEREST SEE DOCUMENT FOR DETAILS 0166020603 pdf
Apr 28 2005PETTERS CONSUMER BRANDS, LLCJPMORGAN CHASE BANK,N A,AS ADMINISTRATIVE AGENTSECURITY INTEREST SEE DOCUMENT FOR DETAILS 0166020603 pdf
Apr 28 2005POLAROID WALTHAM REAL ESTATE LLCJPMORGAN CHASE BANK,N A,AS ADMINISTRATIVE AGENTSECURITY INTEREST SEE DOCUMENT FOR DETAILS 0166020603 pdf
Apr 28 2005POLAROID NORWOOD REAL ESTATE LLCJPMORGAN CHASE BANK,N A,AS ADMINISTRATIVE AGENTSECURITY INTEREST SEE DOCUMENT FOR DETAILS 0166020603 pdf
Apr 28 2005POLAROID NEW BEDFORD REAL ESTATE LLCJPMORGAN CHASE BANK,N A,AS ADMINISTRATIVE AGENTSECURITY INTEREST SEE DOCUMENT FOR DETAILS 0166020603 pdf
Apr 28 2005POLAROID LATIN AMERICA I CORPORATIONJPMORGAN CHASE BANK,N A,AS ADMINISTRATIVE AGENTSECURITY INTEREST SEE DOCUMENT FOR DETAILS 0166020603 pdf
Apr 28 2005POLAROID INVESTMENT LLCJPMORGAN CHASE BANK,N A,AS ADMINISTRATIVE AGENTSECURITY INTEREST SEE DOCUMENT FOR DETAILS 0166020603 pdf
Apr 28 2005POLAROID INTERNATIONAL HOLDING LLCJPMORGAN CHASE BANK,N A,AS ADMINISTRATIVE AGENTSECURITY INTEREST SEE DOCUMENT FOR DETAILS 0166020603 pdf
Apr 28 2005POLAROID EYEWEAR ILLCJPMORGAN CHASE BANK,N A,AS ADMINISTRATIVE AGENTSECURITY INTEREST SEE DOCUMENT FOR DETAILS 0166020603 pdf
Apr 28 2005POLAROID CAPITAL LLCJPMORGAN CHASE BANK,N A,AS ADMINISTRATIVE AGENTSECURITY INTEREST SEE DOCUMENT FOR DETAILS 0166020603 pdf
Apr 28 2005POLAROID ASIA PACIFIC LLCJPMORGAN CHASE BANK,N A,AS ADMINISTRATIVE AGENTSECURITY INTEREST SEE DOCUMENT FOR DETAILS 0166020603 pdf
Apr 28 2005POLAROLD HOLDING COMPANYWILMINGTON TRUST COMPANY, AS COLLATERAL AGENTSECURITY AGREEMENT0166020332 pdf
Apr 25 2007Wilmington Trust CompanyPOLAROID INVESTMENT LLCRELEASE OF SECURITY INTEREST IN PATENTS0196990512 pdf
Apr 25 2007Wilmington Trust CompanyZINK INCORPORATEDRELEASE OF SECURITY INTEREST IN PATENTS0196990512 pdf
Apr 25 2007Wilmington Trust CompanyPOLAROID ASIA PACIFIC LLCRELEASE OF SECURITY INTEREST IN PATENTS0196990512 pdf
Apr 25 2007Wilmington Trust CompanyPOLAROID HOLDING COMPANYRELEASE OF SECURITY INTEREST IN PATENTS0196990512 pdf
Apr 25 2007Wilmington Trust CompanyPolaroid CorporationRELEASE OF SECURITY INTEREST IN PATENTS0196990512 pdf
Apr 25 2007Wilmington Trust CompanyPOLAROID CAPITAL LLCRELEASE OF SECURITY INTEREST IN PATENTS0196990512 pdf
Apr 25 2007Wilmington Trust CompanyPOLAROID EYEWEAR LLCRELEASE OF SECURITY INTEREST IN PATENTS0196990512 pdf
Apr 25 2007Wilmington Trust CompanyPOLOROID INTERNATIONAL HOLDING LLCRELEASE OF SECURITY INTEREST IN PATENTS0196990512 pdf
Apr 25 2007Wilmington Trust CompanyPOLAROID LATIN AMERICA I CORPORATIONRELEASE OF SECURITY INTEREST IN PATENTS0196990512 pdf
Apr 25 2007Wilmington Trust CompanyPOLAROID NEW BEDFORD REAL ESTATE LLCRELEASE OF SECURITY INTEREST IN PATENTS0196990512 pdf
Apr 25 2007Wilmington Trust CompanyPOLAROID NORWOOD REAL ESTATE LLCRELEASE OF SECURITY INTEREST IN PATENTS0196990512 pdf
Apr 25 2007Wilmington Trust CompanyPOLAROID WALTHAM REAL ESTATE LLCRELEASE OF SECURITY INTEREST IN PATENTS0196990512 pdf
Apr 25 2007Wilmington Trust CompanyPETTERS CONSUMER BRANDS, LLCRELEASE OF SECURITY INTEREST IN PATENTS0196990512 pdf
Apr 25 2007Wilmington Trust CompanyPETTERS CONSUMER BRANDS INTERNATIONAL, LLCRELEASE OF SECURITY INTEREST IN PATENTS0196990512 pdf
Feb 25 2008JPMORGAN CHASE BANK, N A POLAROID WALTHAM REAL ESTATE LLCRELEASE OF SECURITY INTEREST IN PATENTS0207330001 pdf
Feb 25 2008JPMORGAN CHASE BANK, N A POLAROID NORWOOD REAL ESTATE LLCRELEASE OF SECURITY INTEREST IN PATENTS0207330001 pdf
Feb 25 2008JPMORGAN CHASE BANK, N A POLAROID NEW BEDFORD REAL ESTATE LLCRELEASE OF SECURITY INTEREST IN PATENTS0207330001 pdf
Feb 25 2008JPMORGAN CHASE BANK, N A POLAROID LATIN AMERICA I CORPORATIONRELEASE OF SECURITY INTEREST IN PATENTS0207330001 pdf
Feb 25 2008JPMORGAN CHASE BANK, N A POLAROID INVESTMENT LLCRELEASE OF SECURITY INTEREST IN PATENTS0207330001 pdf
Feb 25 2008JPMORGAN CHASE BANK, N A POLAROID ASIA PACIFIC LLCRELEASE OF SECURITY INTEREST IN PATENTS0207330001 pdf
Feb 25 2008JPMORGAN CHASE BANK, N A POLAROID CONSUMER ELECTRONICS, LLC, FORMERLY KNOWN AS PETTERS CONSUMER ELECTRONICS, LLC RELEASE OF SECURITY INTEREST IN PATENTS0207330001 pdf
Feb 25 2008JPMORGAN CHASE BANK, N A POLAROID CONSUMER ELECTRONICS INTERNATIONAL, LLC, FORMERLY KNOWN AS PETTERS CONSUMER ELECTRONICS INTERNATIONAL, LLC RELEASE OF SECURITY INTEREST IN PATENTS0207330001 pdf
Feb 25 2008JPMORGAN CHASE BANK, N A ZINK INCORPORATEDRELEASE OF SECURITY INTEREST IN PATENTS0207330001 pdf
Feb 25 2008JPMORGAN CHASE BANK, N A Polaroid CorporationRELEASE OF SECURITY INTEREST IN PATENTS0207330001 pdf
Feb 25 2008JPMORGAN CHASE BANK, N A POLAROID HOLDING COMPANYRELEASE OF SECURITY INTEREST IN PATENTS0207330001 pdf
Feb 25 2008JPMORGAN CHASE BANK, N A POLAROID CAPITAL LLCRELEASE OF SECURITY INTEREST IN PATENTS0207330001 pdf
Feb 25 2008JPMORGAN CHASE BANK, N A PLLAROID EYEWEAR I LLCRELEASE OF SECURITY INTEREST IN PATENTS0207330001 pdf
Feb 25 2008JPMORGAN CHASE BANK, N A POLAROID INTERNATIONAL HOLDING LLCRELEASE OF SECURITY INTEREST IN PATENTS0207330001 pdf
Apr 15 2008Polaroid CorporationSenshin Capital, LLCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0210400001 pdf
Feb 12 2013Senshin Capital, LLCIntellectual Ventures I LLCMERGER SEE DOCUMENT FOR DETAILS 0306390279 pdf
Apr 16 2020Intellectual Ventures I LLCINTELLECTUAL VENTURES ASSETS 139 LLCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0524910084 pdf
Apr 16 2020Intellectual Ventures I LLCINTELLECTUAL VENTURES ASSETS 139 LLCCORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBERS 7593141 AND 7609407 PREVIOUSLY RECORDED ON REEL 052491 FRAME 0084 ASSIGNOR S HEREBY CONFIRMS THE ASSIGNMENT 0525550791 pdf
Apr 28 2020INTELLECTUAL VENTURES ASSETS LLCCEDAR LANE TECHNOLOGIES INC ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0534950721 pdf
Date Maintenance Fee Events
Dec 15 2017M1551: Payment of Maintenance Fee, 4th Year, Large Entity.
Feb 28 2022REM: Maintenance Fee Reminder Mailed.
Aug 15 2022EXP: Patent Expired for Failure to Pay Maintenance Fees.


Date Maintenance Schedule
Jul 08 20174 years fee payment window open
Jan 08 20186 months grace period start (w surcharge)
Jul 08 2018patent expiry (for year 4)
Jul 08 20202 years to revive unintentionally abandoned end. (for year 4)
Jul 08 20218 years fee payment window open
Jan 08 20226 months grace period start (w surcharge)
Jul 08 2022patent expiry (for year 8)
Jul 08 20242 years to revive unintentionally abandoned end. (for year 8)
Jul 08 202512 years fee payment window open
Jan 08 20266 months grace period start (w surcharge)
Jul 08 2026patent expiry (for year 12)
Jul 08 20282 years to revive unintentionally abandoned end. (for year 12)