GB2344015A - Copying using scan buffers - Google Patents
Copying using scan buffers Download PDFInfo
- Publication number
- GB2344015A GB2344015A GB9920921A GB9920921A GB2344015A GB 2344015 A GB2344015 A GB 2344015A GB 9920921 A GB9920921 A GB 9920921A GB 9920921 A GB9920921 A GB 9920921A GB 2344015 A GB2344015 A GB 2344015A
- Authority
- GB
- United Kingdom
- Prior art keywords
- scan
- page
- copy
- image processor
- buffers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32358—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32358—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
- H04N1/32443—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter with asynchronous operation of the image input and output devices connected to the memory
- H04N1/32448—Controlling data flow to or from the memory in relation to the available memory capacity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/0077—Types of the still picture apparatus
- H04N2201/0081—Image reader
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/0077—Types of the still picture apparatus
- H04N2201/0082—Image hardcopy reproducer
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Facsimiles In General (AREA)
Abstract
A Multi-Function peripheral device (MFP) may start printing a copy of a document without requiring that the entire document be scanned and stored in memory, thereby increasing throughput of the MFP during copying functions and reducing memory requirements for the MFP. A predefined amount of the document is scanned into a scan buffer before the MFP starts printing. The amount is sufficient to guarantee that the data from the scanner will be present before the printer requests it even though the scanner is slower than the printer. Internally, the copy manager passes a page token to the page manager after the predefined amount of the document has been scanned. In normal operation, a page token is only passed when all the data necessary to print the page has been received. In reality, copy manager does not have all the data, but knows that it will get the data just before it is needed. Once the printer is started there is a race between the scanner obtaining data and the printer consuming the data. The copy will print provided the scanner gets the data to the printer before the printer need the data.
Description
A SYSTEM AND METHOD FOR EFFICIENT USE OF MEMORY IN A
MULTI-FUNCTION PERIPHERAL DEVICE
TECHNICAL FIELD
The present invention relates to Multi-Function Peripheral devices and more particular to a method of allowing an MFP to began printing a copy without requiring that the original be completely saved in memory.
BACKGROUND OF THE INVENTION
Optical scanners have long been used to capture existing optical images so that they may be transferred, stored, or manipulated using a more convenient means, typically a digital computer. The scanner captures the image by illuminating the image with a light source and sensing reflected light. The presence or absence of reflected light at a particular point determines the image characteristics at that point. For a black and white image, the absence of reflected light indicates a black region, while the presence of reflected light indicates a white region. For gray scale images the intensity of the reflected light must also be measured to determine the intensity of the image. In the case of color, separate light sources are used to detect the presence or absence of each color component.
Although use of scanners has shown significant increase in the recent past, the commercial acceptance of the individual scanner has been limited by its cost and consumption of precious office space. Although not as expensive as many other computer peripherals, e. g., laser printers, the additional cost can be prohibitively expensive, especially if the device is used only by a single user.
In addition to the cost, the consumption of space by a scanner may also be prohibitive. The computer user already has a computer, a monitor, a printer, and possibly a fax machine. The computer user, faced with steadily shrinking office space, has been reluctant to include additional computer peripherals in the confines of the user's immediate office space, especially if the device is not used frequently. However, this is exactly what is required for commercial success of the scanner. Commonly, peripherals that are not in constant use are relegated to a common office area where the device is shared by all of the people in the office. The effect of relocating the peripheral away from the user produces a productivity loss, resulting from walking to and from the device, proportional to the number of times the user must use the device.
Further productivity is lost when the device is currently in use by another person in the office. Recently, manufacturers have attempted to address these concerns by combining computer peripherals into so-called multi-function-peripherals (MFPs) incorporating one or more of the following : printer, copier, facsimile and scanner. Typically, these devices are based around an electrophotographic (EP) engine. The EP engine executes a process by which a polymer toner is transferred onto a print media and then fused onto the media.
Electrophotographic engines are being used in black and white copiers, printers, and facsimiles and thus provide a good base for MFPs. Color EP engines are available but are considerably more expensive than black and white EP engines.
As a result, color EP engines are used in only the most cost insensitive applications, e. g., color proofing, and, consequently, have not been used as a platform for MFPs.
In printers that employ EP engines as the"print mechanism", data must be provided at a speed that is fast enough to keep up with the print action (which can be measured by the rate of movement of the paper past the imaging drum). Once the EP engine starts to print, it cannot stop until the entire page is printed. Since a conventional laser printer engine operates at a constant speed, if rasterized image data is not available when a previous segment of image data has been imprinted, a"print overrun"or"punt"occurs and the page is not printable. In essence, the Image Processor that rasterizes the image data "races"the Output Video Task that images the data onto the imaging drum.
This is commonly termed"racing the laser".
To prevent print overruns, a variety of techniques are used. At first, a full raster bit map of an entire page was stored so that the print mechanism always had rasterized data awaiting action. Early laser printers, which printed at 300 dots per inch resolution, could use this technique because approximately 1 megabyte of raster memory for each page is used. However, with a 600 dot per inch printer, approximately 4 megabytes of memory are now required. Additionally, because laser printers achieve their rated speeds by pipelining of raster data, additional raster memory is needed to run the printer at its rated speed. Without the additional memory, composition of the subsequent page cannot begin until the present page has been printed. To remain cost competitive, substantial effort has been directed to reducing the amount of required memory in a laser printer.
A second method for assuring the availability of print data to a laser printer is to construct a display list from the commands describing a page.
During formatting, a page description received from a host is converted into a series of simple commands, called display commands, that describe what must be printed. The display commands are parsed and sorted according to their vertical position on the page. The page is then logically divided into sections called bands (or page strips), which bands are then individually rendered (i. e., the described objects in the bands are rendered) into a raster bit map and passed to the print engine for printing. This procedure enables lesser amounts of RAM to be used for the print image. However, the printer does not start the printing until host has completely described the present page.
When the display list commands are rendered at a fast enough pace, the same memory used to store a first band can be reused for a subsequent band further down the page. For example, certain prior art printers are known to employ three raster buffers for storing bands. During page processing, the first buffer is reused for a fourth band on the page, the second is reused for a fifth band, etc.
Racing the laser requires making a determination regarding how to get the best trade off between printer memory and real time processing requirements. In a properly working printer, a print overrun is avoided because the Image Processor task just manages to win every race with the direct memory access (DMA) video output task. It is undesirable to avoid print overruns by unilaterally pre-rasterizing every video band because (even with compression) that consumes too much precious printer memory for video DMA buffers.
Prior to the present invention, when a user of an MFP requests the
MFP create a copy of a document, the scanner scans in the image of the document. Some MFPs create a normal print job using the scanned image data.
Once the entire document is scanned the print job is passed to printer subsystem for processing. The printing subsystem, having now received a complete print job starts the EP engine for printing. Other MFP's store the entire scanned image and forward it directly to the EP engine as needed. With either type of MFP, copying is a serial process ; the entire document page is scanned and then the printed, there is no overlap. This significantly reduces the throughput in the copy mode.
SUMMARY OF THE INVENTION
In order to accomplis the present invention there is provided a method for copying an original document in a multi-function peripheral. First, an indication to perform the copy operation is received. Next, the copy operation must wait for access to necessary resources. After gaining access to the necessary resources, memory in particular, a plurality of scan buffers are allocated in the memory; the plurality of scan buffers being sufficient to store only a portion of the original document. A portion of the original document is scanned into the plurality of scan buffers. A pointer to the plurality of scan buffers is sent to an image processor. The image processor renders each scan buffers into a strip buffer and returns each scan buffer after it is rendered. Once the scan engine sees a scan buffer returned from the image processor, the scan engine continues scanning the original document; storing the data into each scan buffer as it is returned. Simultaneous and asynchronously, the marking engine starts when the image processor indicates that a strip buffer is available.
The marking engine returns to the image processor each strip buffer when the marking engine releases it.
In order to accomplish the present invention there is alternatively provided a multi-function peripheral device having a copy manager that instructs a scan engine to scan a portion of an original document and store data representing the original document in a plurality of scan buffers in a memory.
The copy manager passes a token when the portion of the original document is scanned. A page manager receives the token, which erroneously indicates to the page manager that all the data to print the page is present. The page manager places the token on a queue and waits for the token to be activated.
Once activated, the page manager instructs the image processor to begin rendering the first scan buffer into a first strip buffer. The page manager also instructs a marking engine to start printing when the image processor has rendered the first strip buffer. The page manager returns to the image processor the first strip buffer when the marking engine releases it. The image processor returns to the copy manager the first scan buffer after the image processor has rendered it. Finally, the scan engine continues scanning the original document when the first scan buffer is returned.
BRIEF DESCRIPTION OF THE DRAWINGS
A better understanding of the invention may be had from the consideration of the following detailed description taken in conjunction with the accompanying drawings in which:
FIG. 1 is a high level block diagram showing the environment in which the present invention operates.
FIG. 2 shows some of the major functional blocks included in an
MFP.
FIG. 3 is a block diagram of the MFP system embodied to perform the present invention.
FIG. 4 is a data flow diagram showing a copy operation using the present invention.
FIG. 5 is a flow diagram showing the logical operation of the Copy
Manager.
FIG. 6 is a flow diagram showing the logical operation of the Print
Manager.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The present invention is not limited to a specific embodiment illustrated herein. The present invention allows the MFP to start printing a copy of a document without requiring that the entire document be scanned and stored in memory, thereby increasing throughput of the MFP during copying functions and reducing memory requirements for the MFP. Referring particularly to Fig. 1 there is shown a host personal computer (PC) 10 logically connected by data channel 30 to a Multi-Function-Peripheral (MFP) 20. The MFP includes a printer and scanner and may include a facsimile function.
The internal functions of the MFP are shown in greater detail in
FIG. 2. Data Channel 30 is received by l/O Interface 40. Data received from PC 10 is passed on to Personality 50 by 1/0 40. Personality 50 is the printer control langage that the printer uses. Personality 50 may take many forms; for purposes of aiding in understanding the present invention it is assumed that the personality is PCL. Language describing the page is processed by Personality 50 and passed to Graphics Engine 60. As described above, Graphics Engine 60 takes page descriptions received from Personality 50 and converts them into a list of simple commands, called display commands, that describe what must be printed. The display commands are parsed and sorted according to their vertical position on the page and passed to the Image Processor 70. The page is then logically divided into sections called bands (or page strips). Each band is individually rendered (i. e., the described objects in the bands are rendered) into a raster bit map by Image Processor 70 and passed to the Marking Engine 80 for printing.
Scan Engine 90 scans in documents, which allows for the creation of the display list commands describing the scanned in document. The display list commands are passed to the Image Processor 70 for further processing.
Connecting the Scan Engine 90 directly to Image Processor 70 allows for the possibility of having the Image Processor 70 perform image enhancement functions on the scanned data. Some of these functions might include : sharpening, watermarks, rotation, scaling, n-up printing and compression.
Additionally, by using the present invention, the Marking Engine 80 may start printing before the Scan Engine 90 scans the entire document.
Referring now to FIG. 3 the functions of FIG. 2 are shown in alternative view. MFP 20 includes a Central Processing Unit (CPU) 100,
Marking Engine 80, Scan Engine 80 and 1/0 Interface 40 for communication with the PC 10 over Data Channel 30. MFP 20 further includes a Random
Access Memory (RAM) 120 and a Read Only Memory (ROM) 105 connected to the CPU 100 by Bus 102. ROM 105 includes a Basic Il0 System/Operating
System (BIOS/OS) 110 procedure along with the instructions for the Personality 50, Graphics Engine 60, Image Processor 70, Engine Interface 111, Copy
Manager 112, Page Manager 113, and Other procedures 114 not described herein, but known by one skilled in the art.
RAM 120 includes Strip Buffers 122, As known to those skilled in the art, Strip Buffers 122 store plural rasterized strips of an image in the form of binary pixel values. Those pixel values, when fed to the Marking Engine 80, enable output of the image on a media sheet. RAM 120 further includes Scan
Buffers 123 which are used by the present invention to store scanned image data as described in more detail below. Display List 124 is used to store the display list for the images being printed as know to one skilled in the art.
Finally, RAM 120 includes Other 125 for storage of other data not described herein, but known by one skilled in the art.
With that high level description of the functions, more detail about how the functions interact follows. Referring to FIG. 4 where a copy operation is shown in detail. Copy Manager 112 controls the scanning of the document, while Page Manager 113 controls the printing of the image. As will be understood after having read further, Page Manager 113 operates the same during either a copy operation or a print operation. The following description may be aided by referring to FIG. 5. Upon receiving a COPY button press 610,
Copy Manager 112 waits (612) for access to certain system resources, in particular, the Copy Manager 112 must have access to the Scan Engine 90, memory 123 and a Page Token 514. After the Operating System has given
Copy Manager 112 access to the requested resources, Copy Manager 112 signals Scan Engine (SE) 90 to pick the document (i. e., load the document into the scanner) 614. Next, Copy Manager 112 begins requesting from the OS a memory allocation in which to create Scan Buffers 123. The exact number of scan buffers needed depends on the relative speed between the Marking Engine 80 and the Scan Engine 90. Typically, marking engines operate faster than scan engines requiring that a predefined amount of the document must be scanned before printing can begin. In the preferred embodiment, it was determined through empirical results that the system needed approximately 17 scan buffers.
Asynchronous to the memory request, Scan Engine 90 should send a page loaded indicator to Copy Manager 112 when it has successfully loaded the page. If, after a predetermined time, the Scan Engine 90 is unsuccessful in loading the document or indicates that the Automatic Document Feeder (ADF) is empty, all system resources are returned to the OS and the copy procedure is exited 618.
Once Copy Manager 112 has received the page loaded indication from the Scan Engine 90 and received enough memory allocation for 17 scan buffers, it signals to Scan Engine 90 to scan the top portion of the document 620 and store the image data in the Scan Buffer 123. Copy Manager now waits for the Scan Engine to signal that it has filled all 17 Scan Buffers 123 with the top portion of the document. Scan engine 90 stops scanning and waits for additional scan buffers from Copy Manager 112. It is time to start the marking engine and begin the race.
Copy Manager 112 passes (622) a Page Token 514 to Page
Manager 113. In normal operation, a page token is only passed to Page
Manager 113 when all the data necessary to print the page has been received.
Here, Copy Manager 112 is telling Page Manager, via the Page Token 514, that is has all the data needed by Page Manager 113 to print the page. In reality,
Copy Manager does not have all the data, but knows that it will get the data just before it is needed. Thus, by this mechanism, Copy Manager 112 tricks Page
Manager 113 to start printing the copy before the document has been scanned.
Page Token 514 includes information about who is requesting services from Page Manager and how Page Manager should communicate with the requesting service. Page Token 514 further includes a pointer to the Display
List 124 that Page Manager 113 is to use. Within Display List 124 is a Function
Pointer 510 to the Copy Function 500 and Data Pointer 512 to the top of the
Scan Buffers 520. As will be described later, Page Manager 113 instructs
Image Processor (IP) 70 to start rendering the page described in Display List 124 using the function pointed to by Function Pointer 510 and the data pointed to by
Data Pointer 512.
IP 70 renders the top scan buffer 520 into Strip Buffer 122. When IP 70 has completely rendered the top scan buffer 520, Copy Manager 112 is notified that a scan buffer is free. IP 70 begins rendering the next scan buffer.
Copy Manager 112 informs (626) Scan Engine 90 that there is a free scan buffer. SE 90 continues scanning the document and storing the information in the free scan buffer. As the document is scanned, buffers continue to be filled by SE 90 and emptied by IP 70 in a First-In-First-Out (FIFO) arrangement. Copy
Manager 112 keeps count of the number of buffer processed by IP 70 thereby knowing how much of the page has been scanned and printed.
In the end, one of three conditions will occur, the document being scanned may be: 1) shorter that the page being printed; 2) the same size as the page being printed; or 3) longer than the page being printed. If the document is shorter, the SE will indicate an end of scan page 628 before Copy Manager 112 indicates an end of print page. Copy Manager sends (630) null buffers to IP 70 until the printed page is complete. If Copy Manager 112 determined that IP 70 has processed the correct number of scan buffers to make an entire page, then
Copy Manager 112 indicates an end of print page 632. If SE 70 simultaneously sends an end of scan page 634, then the document and printed page were the same size. Copy Manager 112 instructs SE 70 to pick the next page 614 and start the copy process again for the second document. Note, Copy Manger 112 does not need to request additional memory for the second page. If an end of scan page is not received, then the scan buffer is sent to a threshold 636. If the threshold is over a preset limit 638, then a second page 640 is printed thereby splitting the scanned document onto two or more printed pages. If a document does result in a split print, the Copy Manager 112 may, via the page token, have Page Manager 113 re-print the last few scan buffers from the first page on the new page. This allows the user to"stitch together"the two pages since both pages have a few common scan buffers. If, however, the end of scan page is received before the threshold is exceeded, then the threshold scan buffers are discarded and Copy Manager 112 instructs SE 70 to pick the next page 614 and start the copy process again for the second document.
The second document enters the Scan Engine before the Marking
Engine is finished printing the previous page. This allows the Copy Manager to start filling the pipeline to increase throughput of the system. Copy Manager 112 sends (622) the Page Token 514 for the second page as soon as the top portion has been scanned. Because the Marking Engine is faster than the Scan
Engine, the first page finishes printing before the second page token is sent.
However, if the marking engine had to wait for the entire next document to be scanned before starting to print again, the marking engine may turn off the fuser to save energy and enter a standby state, thereby increasing the amount of time needed to print the second page. Using the present invention, there is generally a short, and maybe even no, delay between finishing printing a page and starting to print the next page.
With the aid of FIG. 6, the operation of the Page Manager 113 will be described in detail. When Page Manager 113 receives a page token, it places (710) the page token in a queue for processing. At some point, the page token will advance to the front of the queue and be ready to print 712. Print Manager 113 sends Display list 124 to IP 70. Page Manager now waits (716) for a
Video Ready from IP 70, which indicates that the IP has finished rasterizing a strip. Page Manager signals to the Engine Interface 111 that a strip is ready 717 ; at the same time, IP 70 send the free scan buffer back to Copy Manager 112. Engine Interface 111 retrieves the strip buffer 122 data and starts the
Marking Engine 80. After Marking Engine 80 finishes with the strip, it is returned (718) to Page Manager 113, which in turn sends the free strip buffer to the IP (720). Page Manager continues to cycle strip buffers through the IP 70 and EI 111 until the Page Manager 113 determines that all the strips have been processed.
Referring back to FIG. 4, during a copy operation, SE 90 is filling the Scan Buffers 522. As IP 70 empties a Scan Buffer 520, it is sent back to
Copy Manager 112, who then gives it back to SE 90. Simultaneously and asynchronously, IP 70 is filling Strip Buffers 122. As EI 111 empties a Strip
Buffer 122, it is sent back to Page Manager 113, who in turn sends it to IP 70.
The race is won as long as SE 90 has filled a scan buffer before IP 70 requests it. If IP 70 requests a scan buffer and there are non filled, then Page Manager instructs EI to stop printing the page and eject it (i. e., punt). One situation where this could happen is if the Scan Engine jams. If this happens, then the user must properly remove the document from the scan engine and start the copy process over again. If, however, the marking engine jams, the copying process may or may not be aborted. In particular, if jam occurs before the IP 70 has returned the first scan buffer (624) then Copy Manager 112 will wait for the jam to be cleared before continuing the copy operation. This is possible because the top portion of the document is still in the scan buffer and the SE is stopped waiting for a free scan buffer. Alternatively, if IP 70 has already processed at least one scan Buffer before the jam occurred, Copy Manager 112 aborts the copy process and instructs the SE 90 to eject the present document.
As mentioned above, the Display List 124 includes a Function
Pointer 510. The IP 70 executes the instructions pointed to by Function Pointer 510 when rendering to the strip buffers 122. For a copy operation this pointer points to the basic Copy Function 500, which allows the MFP to print a facsimile of the original document scanned. Because of the scanning/digitization/print process, the copy will not be an exact duplicate of the original, but will be a good facsimile. If the MFP was performing a print operation, the function pointer would point to an appropriate print function. By changing either the Copy Function, or pointing to a different function, IP 70 may be instructed to perform image enhancement functions on the scanned data during the rendering process. Some of these functions might include: gray scaling, sharpening, watermarks, rotation, scaling, n-up printing and compression. Additional image enhancement might include up-scaling the data to match the marking engine resolution. For example, the SE 90 may have an optical resolution of 300 dpi x 300 dpi x 8 bits, while the marking engine may have 1200 dpi x 600 dpi x 1 bit. The Copy Function 500 may include instructions to provide optimum conversion from the scan engine resolution to the marking engine resolution. The exact operation and type of the function would be understood by one skilled in the art. The present invention allows the function to be developed separately. This helps reduce time to market for new products and allows for the addition of functions for the IP to use.
Although the preferred embodiment of the invention has been illustrated, and that form described, it is readily apparent to those skilled in the art that various modifications may be made therein without departing from the spirit of the invention or from the scope of the appended claims. For example, the above description describes several of the functions, such as image processor, as being implemented in software/firmware, however, such a limitation is not intended to limit the claims. One skilled in the art would know how to implement many of the above describe function in either software or hardware depending on several design choices.
Claims (10)
1. A method for copying an original document in a multi-function peripheral (20), said method comprising the steps : receiving (610) an indication to perform the copy operation ;
waiting for access to necessary resources (612);
allocating (612) a plurality of scan buffers (123) in memory (105,120), the plurality of scan buffers (123) being sufficient to store onfy a portion of the original document;
first scanning (620) the portion of the original document into the plurality of scan buffers (123) ;
sending (622) a pointer (512) to the plurality of scan buffers (123) to an image processor (70);
the image processor (70) rendering each one of the plurality of scan buffers (123) into a strip buffer (122);
retuming (624) each plurality of scan buffer (123) after being rendered;
continuing (628) to scan the original document when a first scan buffer from the plurality of scan buffers (123) is returned ; and
starting (FIG. 6) a marking engine (80) when a first strip buffer (122) of the plurality of strip buffers (122) is available retuming to the image processor the strip buffer (122) when the marking engine (80) releases it,
2. The method of claim 1 wherein the step of rendering is accomplished by the image processor (70) by following the copy function (500).
3. The method of claim 2 wherein the copy function (500) comprising the steps of:
first supplying basic copy instructions to the image processor (70); and
second supplying enhancement instructions to the image processor (70).
4. A multi-function peripheral (20) device comprising:
a bus (102);
a scan engine (90) connected to the bus (102);
a marking engine (80) connected to the bus (102);
a memory (105,120) connected to the bus (102); and
a CPU connected to the bus (102), which executes instructions stored in the memory (105, 120), the CPU comprising:
a copy manager means (112) for controlling the scan engine (90), the copy manager means (112) instructing the scan engine (90) to scan a portion of an original document and store data representing the original document in a plurality of scan buffers (123) in the memory (105,120), the copy manager means (112) encodes a token (514) that includes a pointer (512) to the location in the memory (105,120) of the plurality of scan buffers (123), the copy manager means (112) passing the token (514) when the portion of the original document is scanned;
a page manager means (113) for controlling the marking engine (80) and an image processor means (70), the page manager means (113) receiving the token (514) from the copy manager means (112) and passing the location of the plurality of scan buffers (123) to the image processor means (70), the page manager means (113) instructing the marking engine (80) to start when the image processor means (70) has rendered a first strip buffer (122), the page manager means (113) retuming to the image processor means (70) the first strip buffer (122) when the marking engine (80) releases it;
the image processor means (70) for rendering each orle of the plurality of scan buffers (123) into one of a plurality of strip buffers (122) in the memory (105,120), the image processor means (70) retuming to the copy manager means (112) each plurality of scan buffer (123) after the image processor has rendered it; and
the scan engine (90) continues scanning the original document when a first scan buffer (123) from the plurality of scan buffers (123) is retumed.
5. The multi-function peripheral (20) device of claim 4 wherein the page manager means (113) places the token (514) in a queue and waiting until the token (514) is activated before passing the location of the plurality of scan buffers (123) to the image processor means (70).
6. The multi-function peripheral device of daim 4 wherein the copy manager means (112) obtains access to the scan engine (90), memory (105, 120) and a page token (514) before instructing the scan engine (90) to scan the portion.
7. The multi-function peripheral (20) device of claim 4 wherein the scan engine (90) stops after scanning in the portion and waits for the copy manager means (112) to retum the first scan buffer (123).
8. The multi-function peripheral (20) device of claim 4 wherein the token (514) comprising:
a display list (124), the display list (124) including a data pointer (512) that points to the location of the plurality of scan buffers (123) and a function pointer (510) that point to a location in memory (105,120) that contains instructions that the image processor means (70) follows while processing the display list (124).
9. The multi-function peripheral (20) device of claim 8 wherein the instructions comprising:
basic copy (500) instructions that allow the image processor means (70) to create a facsimile of the original document scanned; and
enhancement instructions that allow the image processor means (70) to perform an image enhancement operation on the facsimile.
10. The multi-function peripheral (20) device of claim 8 wherein the
CPU further comprising:
a personality means (50) for communicating with a host computer (10), the host computer (10) sending a print job by sending printer control language describing the print job, the personality means (50) converting the printer control langage into a page description; and
a graphics engine means (60) for converting the page description langage into a print display list (124), the print display list (124) having a function pointer (510) pointing to a print function.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16418498A | 1998-09-03 | 1998-09-03 |
Publications (3)
Publication Number | Publication Date |
---|---|
GB9920921D0 GB9920921D0 (en) | 1999-11-10 |
GB2344015A true GB2344015A (en) | 2000-05-24 |
GB2344015B GB2344015B (en) | 2002-12-24 |
Family
ID=22593355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB9920921A Expired - Fee Related GB2344015B (en) | 1998-09-03 | 1999-09-03 | System and method for efficient use of memory in a multi-function peripheral device |
Country Status (1)
Country | Link |
---|---|
GB (1) | GB2344015B (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5032923A (en) * | 1990-06-18 | 1991-07-16 | Stephen Kurtin | Printing control system for facsimile receiver |
GB2284319A (en) * | 1993-11-29 | 1995-05-31 | Eastman Kodak Co | Copier/printer with improved productivity |
GB2291558A (en) * | 1994-07-15 | 1996-01-24 | Eastman Kodak Co | Image reproduction with parallel processing of image data |
JPH1079822A (en) * | 1996-09-04 | 1998-03-24 | Brother Ind Ltd | Multifunctional information processor |
-
1999
- 1999-09-03 GB GB9920921A patent/GB2344015B/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5032923A (en) * | 1990-06-18 | 1991-07-16 | Stephen Kurtin | Printing control system for facsimile receiver |
GB2284319A (en) * | 1993-11-29 | 1995-05-31 | Eastman Kodak Co | Copier/printer with improved productivity |
GB2291558A (en) * | 1994-07-15 | 1996-01-24 | Eastman Kodak Co | Image reproduction with parallel processing of image data |
JPH1079822A (en) * | 1996-09-04 | 1998-03-24 | Brother Ind Ltd | Multifunctional information processor |
Also Published As
Publication number | Publication date |
---|---|
GB9920921D0 (en) | 1999-11-10 |
GB2344015B (en) | 2002-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7697861B2 (en) | Printing apparatus and image forming apparatus | |
US5299296A (en) | Multi-function machine with interleaved job execution | |
US6690477B2 (en) | Printing control apparatus and method | |
US5615314A (en) | Interface for providing rasterized data to an imaging device | |
JPH09240070A (en) | Printer and its control method | |
US9088679B2 (en) | Image forming apparatus, and control method and program for the same | |
US7262877B2 (en) | Image input-output apparatus and method therefor | |
JP4613984B2 (en) | Image reading apparatus and storage area allocation method | |
US6765688B1 (en) | Generic method of defining a watermark for both print and copy | |
US9781295B2 (en) | Image processing apparatus, a method for performing specific process on an image processing apparatus, and a computer-readable storage medium for a program to be executed by an image processing apparatus | |
US6876466B1 (en) | Image processing system and image processing method | |
US5970222A (en) | Memory management system for printing a print job with limited capacity | |
US20090207441A1 (en) | Job Processing Apparatus and Method for Controlling the Job Processing Apparatus | |
EP0550158A1 (en) | Printing apparatus and printing control method | |
US6603570B2 (en) | Image processing apparatus, data processing method and computer-readable memory medium for storing program | |
US6226095B1 (en) | Image processing apparatus, method, and system | |
JP2003256166A (en) | Print command generation device and method, printer, its control method and print system | |
US10021275B2 (en) | Image processing apparatus, method of controlling image processing apparatus, and non-transitory recording medium | |
JP2012071544A (en) | Image forming apparatus and image processing method | |
JP2005056414A (en) | Method and apparatus for viewing document data on client side | |
US10209931B2 (en) | Image processing apparatus and image forming apparatus | |
GB2344015A (en) | Copying using scan buffers | |
US6351318B1 (en) | Use of a printer frame buffer to hold image data received from a source device which cannot be paced | |
JP2011053944A (en) | Image forming device, image forming method, and control program | |
US8437046B2 (en) | Image processing apparatus and method for outputting an image subjected to pseudo-halftone processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PCNP | Patent ceased through non-payment of renewal fee |
Effective date: 20080903 |