Mechanism for generating subrange transfer function

The printer calibration mechanism addresses the issue of inconsistent optical density in high-speed printers by using a single calibration process with substrate transfer functions, ensuring consistent color management and reducing recalibration frequency.

JP2025134653AActive Publication Date: 2025-09-17RICOH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2025030963
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-04
Filing Date
2025-02-28
Publication Date
2025-09-17
Estimated Expiration
2045-02-28

AI Technical Summary

Technical Problem

High-speed production printers experience changes in optical density over time due to wear, leading to inconsistent color management and requiring time-consuming recalibration processes whenever a new optical density target is desired.

Method used

A printer calibration mechanism that performs a single calibration for a substrate, generating a transfer function to maintain consistency by determining a target different from the original calibration target, using a print substrate transfer function and a composite transfer function to compensate for changes in printer performance.

Benefits of technology

This approach allows for efficient and consistent color management by reducing the need for frequent recalibrations, maintaining optical density stability, and ensuring high-quality print output across varying substrates.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025134653000001_ABST
    Figure 2025134653000001_ABST
Patent Text Reader

Abstract

To provide mechanism for generating a subrange transfer function.SOLUTION: A printing system is disclosed. The printing system comprises: at least one physical memory device that stores a calibration logic; and one or more processors that are connected to the at least one physical memory device, execute the calibration logic to receive working point data corresponding to an image processing system, receive a full range transfer function corresponding to the image processing system, and generate a subrange transfer function corresponding to the image processing system for each of a plurality of digital count values on the basis of the working point data and the full range transfer function.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to the field of image reproduction, and in particular to printer calibration. [Background technology]

[0002] Entities with substantial printing demands typically implement high-speed production printers for high-volume printing (e.g., 100 pages per minute or more). Production printers can include continuous-form printers that print on a web of print media (or paper) stored on a large roll. Production printers typically include a localized print controller that controls the overall operation of the printing system and one or more print engines that contain one or more printhead assemblies, each assembly containing a printhead controller and a printhead (or array of printheads). Each printhead contains many nozzles (e.g., inkjet nozzles) for ejecting ink or any colorant suitable for printing onto the media. Summary of the Invention [Means for solving the problem]

[0003] In one embodiment, a printing system is disclosed that includes at least one physical memory device that stores calibration logic, and one or more processors coupled to the at least one physical memory device that execute the calibration logic to receive operating point data corresponding to an image processing system, receive a full-range transfer function corresponding to the image processing system, and generate, for each of a plurality of digital count values, a sub-range transfer function corresponding to the image processing system based on the operating point data and the full-range transfer function. [Brief explanation of the drawings]

[0004] A better understanding of the present invention can be obtained from the following detailed description taken in conjunction with the following drawings.

[0005] [Figure 1] FIG. 1 is a block diagram of an embodiment of a printing system.

[0006] [Figure 2A] FIG. 2 is a block diagram illustrating an embodiment of a print controller. [Figure 2B] FIG. 2 is a block diagram illustrating an embodiment of a print controller.

[0007] [Figure 3] 1 illustrates an embodiment of a compensation module.

[0008] [Figure 4] 1 illustrates an embodiment of a calibration engine.

[0009] [Figure 5] 1 illustrates an embodiment of print substrate calibration logic.

[0010] [Figure 6] 1 illustrates an embodiment of a transfer function.

[0011] [Figure 7] FIG. 1 is a flow diagram illustrating an embodiment of a process for generating a print substrate transfer function.

[0012] [Figure 8] 1 illustrates an embodiment of a full-range transfer function lookup table.

[0013] [Figure 9] 1 illustrates an embodiment of a graphical user interface.

[0014] [Figure 10] FIG. 1 is a flow diagram illustrating an embodiment of a process for generating a sub-range transfer function.

[0015] [Figure 11] 1 illustrates an embodiment of a compensation module implemented within a network.

[0016] [Figure 12] 1 illustrates an embodiment of a computer system. DETAILED DESCRIPTION OF THE INVENTION

[0017] The optical density (OD) of a production printer changes over time as components undergo wear. For example, OD increases in an inkjet printer as droplet size increases due to wear on printhead components. This change in performance is undesirable because it impacts color management consistency. One approach to maintaining consistency is to recalibrate each primary color to a specific target OD using the customer's substrate (e.g., paper). However, having to perform a substrate recalibration whenever a new OD target is desired is a time-consuming process.

[0018] According to one embodiment, a printer calibration mechanism is described that performs a single calibration for a substrate. In such an embodiment, the calibration allows for the determination of a transfer function for a target different from the original calibration target. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced without some of these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid obscuring the principles underlying the present invention.

[0019] References herein to "one embodiment" or "an embodiment" mean that a particular feature, structure, or characteristic described in connection with that embodiment is included in at least one embodiment of the invention. Appearances of the phrase "in an embodiment" in various places in the specification do not necessarily all refer to the same embodiment.

[0020] FIG. 1 is a block diagram illustrating one embodiment of a printing system 130. A host system 110 communicates with the printing system 130 via a printer 160 (e.g., one or more print engines) to print sheet images 120 onto print media 180. The print media 180 may include paper, card stock, paperboard, corrugated board, film, plastic, synthetic, fabric, glass, composite material, or any other tangible medium (e.g., print substrate) suitable for printing. The format of the print media 180 may be continuous form, cut sheets, or any other format suitable for printing. The printer 160 may be inkjet, electrophotographic, or another suitable printer type.

[0021] In one embodiment, printer 160 includes one or more printheads 162, each containing one or more pixel-forming elements 165 that directly or indirectly (e.g., by transfer of marking material via an intermediate) form a representation of a picture element (pixel) on print medium 180 using marking material applied to the print medium. In an inkjet printer, pixel-forming elements 165 are tangible devices (e.g., inkjet nozzles) that eject ink onto print medium 180, while in an electrophotographic (EP) printer, pixel-forming elements may be tangible devices (e.g., EP exposure LEDs or EP exposure lasers) that determine the location of printed toner particles on the print medium. Pixel-forming elements may be grouped on one or more printheads 162. Pixel-forming elements 165 may be fixed (e.g., as part of a fixed printhead 162) or movable (e.g., as part of a printhead 162 that moves across print medium 180) as a matter of design choice. The pixel forming elements 165 may be assigned to one of one or more color planes corresponding to each of one or more types of marking material (e.g., the primary colors cyan, magenta, yellow, and black (CMYK)).

[0022] In a further embodiment, printer 160 is a multi-pass printer (e.g., dual-pass, three-pass, four-pass, etc.) in which multiple sets of pixel forming elements 165 print the same area of ​​a printed image on print medium 180. The sets of pixel forming elements 165 may be located on the same physical structure (e.g., an array of nozzles on inkjet printhead 162) or on separate physical structures. The resulting print medium 180 may be printed in color and / or in any of several shades of gray, including black and white (e.g., cyan, magenta, yellow, and black (CMYK)). Host system 110 may include any computing device, such as a personal computer, a server, or a digital imaging device such as a digital camera or scanner.

[0023] Sheet image 120 may be any file or data that describes how an image on a sheet of print media 180 should be printed. For example, sheet image 120 may include PostScript data, Printer Command Language (PCL) data, and / or any other printer language data. Print controller 140 processes the sheet image to generate bitmap 150 for transmission. Bitmap 150 includes instructions (e.g., commanded ink drop size and / or commanded pixel-forming element position) for one or more printheads 162 and pixel-forming elements 165. Bitmap 150 may be a halftone bitmap (e.g., a compensated halftone bitmap generated from compensated halftones or an uncompensated halftone bitmap generated from uncompensated halftones) for printing on print media 180. Printing system 130 may be a high-speed printer operable to print high volumes (e.g., greater than 100 pages per minute).

[0024] Print medium 180 may be continuous paper, cut-sheet paper, and / or any other tangible medium suitable for printing. Printing system 130, in one generalized form, includes printer 160 that presents (e.g., via toner, ink, etc.) bitmap 150 on print medium 180 based on sheet image 120. While shown as a component of printing system 130, other embodiments may characterize printer 160 as a separate device communicatively coupled to print controller 140.

[0025] Print controller 140 may be any system, device, software, circuitry, and / or other suitable component operable to transform sheet image 120 to generate bitmap 150 for printing on print medium 180. In this regard, print controller 140 may include processing and data storage capabilities. In one embodiment, measurement module 190 is implemented as part of a compensation system for obtaining measurements of print medium 180. The measurement results are communicated to print controller 140 for use in the compensation process. The measurement system may be a stand-alone process or may be integrated into print system 130.

[0026] According to one embodiment, measurement module 190 may be an image sensor that takes measurements of the printed image on print medium 180. Measurement module 190 may generate and transmit measurement data. The measurement data may be OD (e.g., optical density), perceptual lightness (e.g., L* in the CIELAB color plane L*a*b*), and / or scanned image (e.g., RGB) data corresponding to the printed image. In one embodiment, measurement module 190 may include one or more sensors that individually or collectively obtain measurements of the printed markings generated for some or all of the pixel forming elements 165. In another embodiment, measurement module 190 may be a camera system, an in-line scanner, a densitometer, or a spectrophotometer.

[0027] FIG. 2A illustrates print controller 140 (e.g., DFE or digital front end) in its generalized form, including an interpreter module 212, a halftoning module 214, and a compensation module 230. These separate components may represent hardware used to implement print controller 140. Alternatively, or additionally, these separate components may represent logical blocks implemented by executing software instructions in a processor of print controller 140. FIG. 2B illustrates an alternative embodiment having print controllers 140A and 140B. In this embodiment, print controller 140A includes interpreter module 212 and halftoning module 214, and print controller 140B includes compensation module 230. Print controllers 140A and 140B may be implemented within the same printing system 130 (as shown) or may be implemented separately.

[0028] The interpreter module 212 is operable to interpret, render, rasterize, or otherwise convert a print job image (e.g., a raw sheetside image, such as sheet image 120) into a sheetside bitmap. Each sheetside bitmap generated by the interpreter module 212 for each primary color is a two-dimensional array of pixels representing the print job image (e.g., a Continuous Tone Image, or CTI), also referred to as a full sheetside bitmap. Because the bitmap contains the entire set of pixels for the image, the two-dimensional pixel array is considered a "full" sheetside bitmap. The interpreter module 212 is operable to interpret or render multiple raw sheetsides simultaneously so that the rendering speed substantially matches the imaging speed of the production print engine. In one embodiment, a transfer function may be implemented by the print controller 140 and applied directly to the image data as part of pre-press image processing. In that case, contone image data (e.g., CTI data) is transformed by applying a transfer function to the CTI data before halftoning. The transfer function involves mapping input digital counts to output digital counts for the system, where the digital counts are gray levels or color values ​​representing pixels in bitmap 150 (FIG. 1). The transfer function may be used to calibrate printing system 130.

[0029] The halftoning module 214 is operable to represent the sheet surface bitmap as an ink halftone pattern. For example, the halftoning module 214 can convert picture elements (also known as pixels) into CMYK ink halftone patterns for application to paper. The halftone design can include a predefined mapping of input pixel gray levels to output drop sizes (e.g., commanded ink drop sizes sent to the printhead) based on pixel location.

[0030] In one embodiment, the halftone design may include a finite set of transition thresholds between a finite collection of successively larger drop sizes, starting from zero and ending with a maximum drop size (e.g., zero, small, medium, and / or large). The halftone design may be implemented as a threshold array (e.g., a halftone threshold array), such as a single-bit threshold array or a multi-bit threshold array. In another embodiment, the halftone design may be implemented as a three-dimensional lookup table containing all gray level values.

[0031] In a further embodiment, the halftoning module 214 performs multi-bit halftoning using a halftone design that includes a set of thresholds for each pixel in the sheet plane bitmap, one threshold for each non-zero ink drop size. A pixel is halftoned with the drop size that corresponds to the threshold for that pixel. The set of thresholds for a halftone design is called a multi-bit threshold array (MTA).

[0032] Multi-bit halftoning is a halftone screening operation whose end result is the selection of a specific drop size from the entire set of drop sizes available to the print engine for printing. Drop size selection based on the contone value of a single pixel is called "point operation" halftoning. Drop size selection is based on the contone level for each pixel in the sheet surface bitmap. This contrasts with "neighborhood operation" halftoning, which uses multiple pixels in the neighborhood of the pixel being printed to determine the drop size. Examples of neighborhood operation halftoning include the well-known error diffusion method.

[0033] Multi-bit halftoning is an extension of binary halftoning, which uses a single threshold array combined with logical operations to determine whether a drop is printed based on the contone level for a pixel. Binary halftoning uses one non-zero drop size and a zero drop size (e.g., the drop size for no ink ejection, or none). Multi-bit halftoning extends the concept of a binary threshold array to more than one non-zero drop size.

[0034] Multi-bit halftoning may use multiple threshold arrays (e.g., multi-bit threshold arrays), one for each non-zero drop size. The point manipulation logic is also extended to a set of greater-than, less-than, or equal operations to determine drop size by comparing a threshold value or thresholds to the image contone data for each pixel. Multi-bit defines a set of drop sizes that are powers of two (e.g., a 2-bit halftone design has four total drops, including a zero drop size). While powers of two can be used to define the number of drops, systems that do not follow this rule, such as a three-drop system, can be used and still be considered multi-bit.

[0035] For multi-bit halftones, the MTA is a three-dimensional array containing one two-dimensional array for each drop size (e.g., commanded ink drop size) transition. Thus, the MTA contains a set of two-dimensional arrays of thresholds for transitions between drop sizes, where the first plane (or plane 1) provides the threshold for the large power level, and the second plane (or plane 2) and third plane (or plane 3) provide the thresholds for the medium and small power levels, respectively, for a system with three drop sizes, not including the zero drop size (none or off). In other embodiments, the correspondence between plane number and drop size is a matter of design choice, and a different one-to-one relationship may be used.

[0036] To use these threshold arrays for halftoning, each multi-bit threshold array is tiled across the contone image data provided by the sheet plane bitmap to provide a set of threshold values ​​for each pixel in the sheet plane bitmap. The contone image data (e.g., digital counts, gray level data) is logically compared to the threshold data on a pixel-by-pixel basis. Large droplets are generated by halftoning when the image contone data is greater than the respective large threshold value in plane 1.

[0037] Medium droplets are generated when the image contone data is greater than the medium droplet threshold for plane 2 and the image contone data is less than or equal to the large droplet threshold for plane 1. Small droplets are generated when the image contone data is greater than the small droplet threshold for plane 3 and the image contone data is less than or equal to the medium droplet threshold for plane 2.

[0038] Finally, an off / none drop size occurs when the contone image data is below the small drop threshold for plane 3. In this embodiment of a 2-bit to multi-bit printing system, this set of four logical equations, used with the threshold values ​​from each plane of the multi-bit threshold array, allows each print drop size to be defined based on the contone value.

[0039] Alternate versions of the halftoning formulas may also be defined. An example of an alternate set of halftoning logical formulas replaces the "less than" operation with "less than" ("smaller") and the "greater than" operation with "greater than or equal to." A further variation uses "less than" and "greater than" logical formulas, starting with a test for the largest drop size first. If no drop size is found, the process continues with the logical formula for the next smaller drop size. If sequential tests for each drop size do not find a drop size, a drop size of "none" is assumed. The threshold array for each different set of halftoning formulas varies, and thus a threshold array is generated assuming a given set of formulas.

[0040] In other embodiments, the number of planes of threshold data can be expanded to handle any number of droplet sizes. These two-dimensional arrays of data can be segmented into separate memory areas and stored in any convenient order. For example, the thresholds for each droplet size transition can be stored consecutively in memory, and it is often advantageous to do so.

[0041] The compensation module 230 performs a compensation process on the uncompensated halftone 218 or previously generated uniformity-compensated halftones received by the print controller 140 to generate one or more compensated halftones 220. A compensated halftone is a halftone that has been adjusted to achieve a target output response. The compensated halftone 220 is then received by the halftoning module 214 along with a sheeting bitmap. In one embodiment, the uncompensated halftone 218 represents a reference halftone design that is modified to create a compensated halftone based on measured OD data 501 and target OD data 502. In such an embodiment, measurements of the system response (e.g., measured optical density (OD) data 501) are received via the measurement module 190 using the uncompensated halftone 218 to print a test chart.

[0042] The compensation module 230 may alternatively perform a compensation process to generate a compensated transfer function 225 based on the measured OD data 501 and the target OD data 502. The measurement units of the OD data 501 have the same units as the target OD data 502. In such an embodiment, measurements of the system response (e.g., measured optical density (OD) data 501) are received via the measurement module 190, which uses the compensated halftone 220 to print a test chart. The compensated transfer function 225 is then received at the transfer function application module 235. The transfer function application module 235 applies the received compensation transfer function 225 to print image data received from the interpreter module 212 before halftoning is performed by the halftoning module 214. As described above, the transfer function includes a mapping of input digital counts (or tints) to output digital counts for the system, where the digital counts are gray levels or color values ​​representing pixels in the bitmap 150 (FIG. 1). The transfer function may be received or may be generated (eg, generated based on a target OD for the input digital count data and a measured OD for the output digital count data).

[0043] The compensation module 230 is further implemented to perform a calibration process to maintain optical density (OD) within the printer 160 to compensate for OD differences from the target OD. According to one embodiment, a calibrated printing system is a printing system that achieves a first target response while printing on a first print substrate using a first halftone design and a first printer transfer function. M1 is a measured response corresponding to the target printing system printing on the first print substrate using the first halftone design, none, or an identity transfer function (e.g., digital counts out = digital counts in). The measured response M1 has the same units of measure as the target response T1. M2 is a measured response corresponding to the calibrated printing system printing on a second print substrate using the first halftone design and the first printer transfer function. T2 is a second target response while printing on the second print substrate using the first halftone design and the first printer transfer function. The measured response M2 has the same units of measure as the target response T2.

[0044] FIG. 3 illustrates one embodiment of the compensation module 230, including a calibration generator 305, a chart generator 310, and a calibration engine 320. The calibration generator 305 facilitates the calibration process in the printing system 130 by orchestrating the calibration process. In one embodiment, the calibration process is performed to generate or update a printing system (or printer) transfer function (e.g., to compensate for long-term printer OD changes), a print substrate transfer function, and / or a composite transfer function (or composite printer transfer function). In such an embodiment, each calibration is based on a calibration performed using the print substrate (e.g., print media or customer paper) implemented for a print job in the printing system 130. In a further embodiment, each calibration may be initiated by a system operator through a graphical user interface (GUI 330) within the printing system 130.

[0045] As used herein, a printer transfer function (e.g., printerTF, first printer transfer function) is a mapping of input digital counts to output digital counts for a printing system to achieve a first target response (e.g., T1, reference ink deposition, optical density target) while printing on a first printing substrate (e.g., S1 or reference printing substrate) with a first halftone design (e.g., reference halftone design). When the printer transfer function is applied to a printing system, the printing system becomes a calibrated printing system. A substrate transfer function (e.g., substrateTF) is a mapping of input digital counts to output digital counts for a calibrated printing system to achieve a second target response (e.g., T2) while printing on a second printing substrate (e.g., S2, customer printing substrate) with the first halftone design and the first printer transfer function. A composite transfer function (or CTF) is a transfer function that is a composite of the printer transfer function and the substrate transfer function.

[0046] The chart generator 310 prints a test chart at the start of the calibration process. In one embodiment, the chart generator 310 generates an image (e.g., a printed image for the test chart), which is then processed by the measurement module 190 to generate OD measurement data. In a further embodiment, first measurement data associated with an image printed on paper during a first calibration process is generated using an identity transfer function and an initial print substrate (e.g., a first print substrate). Similarly, second measurement data is generated by printing the image on a subsequent print substrate (e.g., a second print substrate) during a subsequent calibration process using a printer transfer function derived for the first print substrate. Third measurement data is generated by printing the image on the subsequent print substrate during a verification process using the printer transfer function and a print substrate transfer function associated with the subsequent print substrate. In one embodiment, the print substrate used during a subsequent print substrate calibration may be the same or different from the initial print substrate.

[0047] The calibration engine 320 receives the first and second measurement data and generates a print substrate transfer function. In an embodiment, a composite transfer function (CTF) is generated based on the print substrate transfer function and the printer transfer function. The third measurement data may be used to verify the accuracy of the composite transfer function and the print substrate transfer function. Figure 4 shows one embodiment of the calibration engine 320, which includes print substrate calibration logic 410 and printer calibration logic 420. The print substrate calibration logic 410 receives the measured OD data 501.

[0048] The print substrate calibration logic 410 may be implemented to generate a print substrate transfer function for each customer paper used in the printing system 130. The printer calibration logic 420 is implemented to generate a printer transfer function. The composite generation logic 430 generates a composite transfer function based on a mathematical function composition of the printer transfer function and the print substrate transfer function.

[0049] In one embodiment, the print substrate calibration logic 410 generates an updated (or corrected) print substrate transfer function to compensate for changes to the printer transfer function or changes to the print substrate measured response. In such an embodiment, the print substrate calibration logic 410 first generates a first print substrate transfer function based on the current printer transfer function (e.g., PTF_k, where k represents an index of various printer transfer functions). The PTF_k is then used to print a test chart on a customer paper whose associated measurement data is used to determine a print substrate transfer function (e.g., substrateTF_i_j, where i is an index of various paper sheets and j is an index of repeated (e.g., successive) print substrate transfer functions for the same paper).

[0050] In a further embodiment, the print substrate calibration logic 410 generates a new print substrate transfer function (e.g., substrateTF_i_j+1) based on an updated printer transfer function (e.g., PTF_k+1). In this embodiment, the print substrate calibration logic 410 generates substrateTF_i_j+1 using measurements using PTF_k+1. The latest versions of PTF and substrateTF, or a composite transfer function generated from PTF and substrateTF, are used to print on the print substrate associated with substrateTF.

[0051] 5 illustrates one embodiment of print substrate calibration logic 410. As shown in FIG. 5, print substrate calibration logic 410 includes a full-range print substrate transfer function generation engine 520 that receives measured OD data 501 (associated with printing with a new customer paper and printer transfer function) and target OD data 502 from measurement module 190. In one embodiment, full-range print substrate transfer function generation engine 520 generates a full-range print substrate transfer function based on the measured OD data 501 and target OD data 502 at the printer transfer function being used. As used herein, a full-range transfer function includes a plurality of digital count values ​​calibrated to achieve a maximum measured optical density for the substrate (e.g., the target is DDmax or a second optical density target) by an image processing system (e.g., printing system 130).

[0052] FIG. 6 illustrates one embodiment for generating transfer functions (e.g., printer transfer functions and / or print substrate transfer functions) for all digital count levels (e.g., gray levels). Target OD data T(g) (e.g., target OD data 502) is used as the objective for the current halftone and identity transfer function to be applied, or the current halftone and current printer transfer function to be applied. The measured response is given by M(g) (e.g., measured OD data 501). The measured response is determined by printing a single color corresponding to the ink. Given a known response, at gray level g1, the target OD is OD1. To achieve OD1, print level g2 is printed. Using 0:255 for g1, for example, the set of g2 values ​​defines the transfer function. A transfer function expressed as a continuous function defines g_output=TF(g_input). The equation for the transfer function is given by the target T and the inverse measured response M -1 In terms of, we can write: g_output=M -1 (T(g_input))=TF(g_input) Using the g_output values ​​as substitution values ​​for the corresponding g_input values, a calibrated target response T is achieved for all levels. The transfer function may be generated as a lookup table (e.g., LUT) or a mathematical curve. The transfer function curve may be generated through mathematical curve fitting (e.g., using a cubic spline, a smoothing spline curve, or other known mathematical approximation techniques). The transfer function curve may then be evaluated using the input values ​​to determine the output values ​​by direct calculation. A technical advantage of a lookup table (e.g., LUT 530 or LUT 550) is that evaluating a lookup table is computationally less intensive compared to the often complex runtime calculations associated with evaluating a curve.

[0053] 7 is a flow diagram illustrating one embodiment of a process 700 for generating a transfer function (e.g., a full-range print substrate transfer function). Process 700 may be performed by processing logic, which may include hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software such as instructions executing on a processing device, or a combination thereof. In one embodiment, process 700 is performed by calibration engine 320.

[0054] Process 700 begins at process block 710, where measured OD data is received. At process block 720, target OD data is received. At process block 730, transfer functions are generated based on the measured OD data 501 and the target OD data 502. In one embodiment, process block 730 generates full-range print substrate transfer functions FRsubstrateTF_i_j. The transfer functions (e.g., LUTs representing the transfer functions), the OD targets associated with the transfer functions, and / or the measured OD data associated with the transfer functions may be stored in system memory for later access.

[0055] The full-range print substrate transfer function generation engine 520 may also generate a full-range print substrate transfer function (e.g., FRsubstrateTF_i+1_j) associated with a different print substrate using the new test data for the print substrate according to process 700 using the corresponding measured OD data 501 and DDmax target OD data 502 for the new substrate.

[0056] According to one embodiment, the above-described process is implemented to generate a full-range print substrate transfer function lookup table (LUT) 530 (shown in FIG. 5 ) that includes a full-range print substrate transfer function (FRsubstrateTF_i_j) associated with each digital count for each color plane. In a further embodiment, the LUT 530 also includes multiple operating point parameters, including OD, ΔE, percent dot (PD) knockdown, etc. As used herein, ΔE is a metric that indicates how perceptible the change between two different CIELAB colors is, while PD knockdown is the percent dot reduction from a 100% tint level. For example, a 10% PD knockdown reduces the tint level to 90%. FIG. 8 illustrates one embodiment of a full-range print substrate transfer function LUT 530 for the black (K) color plane and associated parameters. In the embodiment shown in FIG. 8, the full range print substrate transfer function (TF) shown in the rightmost column uses 14 bits (0,16383), the Digital Count DC input value in the leftmost column is 8 bits (0,255), L*, a*, b* in the second, third, and fourth columns are CIE LAB, PD is percent dot knockdown (0,100), and DE 2000 is Delta E 2000. The optical density (OD) is provided next to the last column. Each value in a single row is associated with a respective DC level in the first column. This example shows values ​​for a light tint with DC levels 0-18.

[0057] Referring back to FIG. 5 , the print substrate calibration logic 410 also includes a sub-range print substrate transfer function generation engine 540. In one embodiment, the sub-range print substrate transfer function generation engine 540 receives operating point data, receives a full-range transfer function (e.g., full-range print substrate transfer function) corresponding to the image processing system, and generates a sub-range transfer function (e.g., sub-range print substrate transfer function) corresponding to the image processing system for each of a plurality of digital count values ​​based on the operating point data and the full-range transfer function. A resulting technical advantage is that a sub-range transfer function for a new operating point can be generated without acquiring new measured OD data 501, thereby saving operator time and / or reducing system burden. Other data, such as DDmax and DDmin (described below), may also be received as needed. In a further embodiment, the input domain of the sub-range transfer function matches the input domain of the full-range substrate transfer function, and the maximum value of the output range of the sub-range transfer function is less than the maximum value of the output range of the full-range transfer function.

[0058] Matching of domains or ranges may be achieved by appropriate selection of data points or mathematical approximation. Typically, if the full-range transfer function is continuous, no approximation is required. If the full-range transfer function is discrete, an approximation may be required. A technical advantage resulting from matching the input domains or ranges in this embodiment is that it ensures continuity when applying the sub-range transfer function in the image processing system. In yet another embodiment using a composite transfer function and a substrate transfer function, the input domain of the sub-range transfer function matches the range of contone levels in the image processing system, and the output range of the sub-range transfer function matches the domain of the full-range printer transfer function. Furthermore, the output range of the sub-range printer transfer function matches the domain of the halftone thresholds in the image processing system.

[0059] As used herein, a sub-range transfer function includes a plurality of digital count values ​​calibrated to an optical density target value (e.g., a first optical density target value) indicated by operating point data 503, where the first optical density target value indicated by operating point data 503 is less than a DDmax value (e.g., a maximum possible optical density target value based on measured values). A resulting technical advantage over a full-range transfer function calibrated to a maximum calibrated optical density target (e.g., DDmax or a second optical density value) is that such a full-range transfer function includes the data needed to generate a sub-range transfer function calibrated to any optical density target less than the maximum calibrated optical density, as described further below.

[0060] In one embodiment, the sub-range substrate transfer function generation engine 540 receives the full-range substrate transfer function from the full-range substrate transfer function LUT 530 and the operating point data 503 from the GUI 330. In such an embodiment, the GUI 330 displays the operating parameters stored in the LUT 530. Here, the LUT 530 includes the operating parameters, namely, uncalibrated OD value vs. digital counts (DC) from the OD column, Delta E 2000 vs. DC from the DE 2000 column, and percent dot knockdown vs. DC from the PD knockdown column. The OD value at DC level 255 provides the OD value for DDmax. The OD value at DC level 0 provides the OD value for DDmin (e.g., paper OD). CIELAB L*, a*, and b* values ​​are also included for reference. The uncalibrated OD response is plotted against percent dot. In a further embodiment, a system operator (or user) reviews multiple displayed options (e.g., operating parameters) and selects operating point data that achieves a desired result on the substrate based on OD values, color difference, PD, and additional independently obtained data not displayed, such as ink drying capacity and ink usage. Technical benefits arising from displaying multiple options include common logic for accepting different selections from the multiple options.

[0061] FIG. 9 illustrates one embodiment of the GUI 330. As shown in FIG. 9, a user may select or input one of three operating point data values: 1) an updated target OD (Dmax) value that is less than or equal to DDmax. The recommended maximum Dmax target value is shown in bold and preceded by "Maximum="; 2) PD knockdown, labeled "Target Reduced"; or 3) Delta E, labeled "Delta E (from Max)." The compensation module 230 may convert operating point parameters from one type to another (e.g., from / to OD, PD knockdown, Delta E, etc.) using known, conventional image processing methods (e.g., a lookup table containing relationships between operating point parameters using interpolation), resulting in the technical benefit of allowing the input of multiple operating point parameter types. In one embodiment, the other two values ​​are also displayed using data from a LUT for user-defined values. In a further embodiment, an option is available for linking selections for different color planes to avoid the need to define each color plane separately. In yet another embodiment, the user can use the displayed information along with additional, independently obtained data not displayed, such as ink drying capacity and ink usage, to trade off PQ parameters to make a final operating point decision.

[0062] The Dmax target value, DDmax value, and minimum substrate OD (DDmin or minimum optical density) value associated with the selection are used to determine a digital count value (DC_1). In one embodiment, the DDmin value includes the optical density value associated with the unprinted areas of the print substrate (e.g., the white OD of the paper at DC level 0), while the DDmax value includes the optical density of the printed areas of the print substrate (e.g., printing by applying a maximum digital count, such as DC=255, to the print). Thus, DDmax is the highest OD achievable using the full-range TF, and DDmin is the white OD of the paper. DC_1 is the value that achieves the target Dmax when used as input to the full-range TF, and is given by the following equation: DC_1=(((2^bitdepth)-1)*(Dmax-DDmin)) / (DDmax-DDmin) where DC_1 is a floating-point value with domain (0,((2^bitdepth)-1)), and bitdepth is the input bit depth for full range TF.

[0063] A sub-range print substrate transfer function (SRsubstrateTF_i_j_k) that produces a linear OD from DDmin to Dmax is generated and is given by: SRsubstrateTF_i_j_k(FRsubstrateTF)=DC_i_j(DC_1*DC / ((2^bitdepth)-1)) where k is the index for sub-TFs with different Dmax target values ​​for the same substrate, i is the index for different substrates, and j is the index for different iterations for the full-range transfer function (FRsubstrateTF_i_j(dC)). DC is the digital count input value for the full-range transfer function, and DC_1 is the aforementioned value to achieve a given Dmax target value.

[0064] As a result, a subrange substrate transfer function can be generated for each DC value (e.g., 0 to 255 for a DC system with an 8-bit bit depth) using the DC_1 value and the full-range bit depth. The DC_1 value is generated based on the Dmax target, DDmax (e.g., a second optical density target value), and the minimum optical density value (e.g., DDmin) of the imaging system. A technical advantage of generating a subrange transfer function based on the minimum optical density value of the imaging system is that such a subrange transfer function provides a calibration range that includes the minimum optical density value (e.g., unprinted paper white). According to one embodiment, the subrange substrate transfer function generation engine 540 generates a subrange substrate transfer function lookup table (LUT) 550 (shown in FIG. 5 ) that includes subrange substrate transfer functions (SRsubstrateTF_i_j_k) associated with each digital count for each color plane of the imaging system.

[0065] In practice, the sub-range print substrate transfer functions are derived using the equations provided to achieve a specific Dmax target using the full-range print transfer function values ​​in the last column of the LUT 530. Similarly, the PD knockdown values ​​or delta E can be used to interpolate to obtain the associated DC value in the first column corresponding to DC_1 for these cases. Once the DC_1 value for the desired knockdown or delta E is determined, the sub-range print substrate transfer functions can be calculated based on the equations provided using the discrete full-range transfer functions in the last column to define discrete FRsubstrateTF_i_j(DC). Because this uses a discrete transfer function representation, interpolation or another similar method is used to calculate the output value for each DC for the sub-range print substrate transfer functions. Because the full-range substrate transfer functions, DDmax and DDmin, can be different for each color plane, the sub-range print substrate transfer functions for each color plane can be different from each other. A technical advantage gained by generating a sub-range print substrate transfer function for each color plane is improved density control when printing each color plane with the corresponding sub-range print substrate transfer function for each color plane.

[0066] 10 is a flow diagram illustrating one embodiment of a process 1000 for generating sub-range print substrate transfer functions. The process 1000 for generating printer transfer functions and print substrate transfer functions has been previously described. The process 1000 may be performed by processing logic, which may include hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software such as instructions executing on a processing device, or a combination thereof. In one embodiment, the process 1000 is performed by the sub-range print substrate transfer function generation engine 540.

[0067] Process 1000 begins at processing block 1010, where operating point data 503 is received from GUI 330. At processing block 1020, a full-range substrate transfer function is received (e.g., from memory, from full-range substrate transfer function generation engine 520, and / or from outside compensation module 230). At processing block 1030, a sub-range substrate transfer function is generated based on the operating point data 503 and the full-range substrate transfer function. At processing block 1040, the sub-range substrate transfer function is stored in sub-range substrate transfer function LUT 550.

[0068] According to one embodiment, sub-range print substrate transfer functions are implemented to generate the CTFs. Referring back to Figure 4, printer calibration logic 420 is implemented to generate the printer transfer functions, while composition generation logic 430 generates the CTFs based on a mathematical function composition of the printer and print substrate transfer functions. These CTFs are then sent to transfer function application module 235 in the form of LUT 237 (Figure 2A), which is applied to the CTI data.

[0069] In one embodiment, the range of the sub-range print substrate transfers is equal to the domain of the printer transfer function, as described above. Based on the above, the composite transfer function generation logic 430 generates CTF values ​​via a discrete composite transfer function.

[0070] Although described above as being implemented as a print substrate transfer function, sub-range transfer functions may be implemented in other applications. For example, sub-range transfer functions may be used in sensor applications. In electro-optic sensor applications with current vs. DC, sub-range transfer functions may be used to provide different levels of sensor calibration. In this case, DDmax corresponds to the maximum measured current and DDmin corresponds to the minimum (e.g., dark) current. The measured sensor current response resembles the measured OD response on the substrate, and the target current response resembles the full-range target OD. A full-range TF calculated from these measured responses and the full-range target response can provide a calibrated response up to the maximum possible current at the highest DC level. A sub-transfer function based on the full-range TF may then be used to provide a variation for sensor calibration with a reduced range of maximum current. In this case, the Dmax target corresponds to the target reduced maximum current level.

[0071] Although shown as a component of print controller 140, other embodiments may feature compensation module 230 included in a separate device communicatively coupled to print controller 140. For example, FIG. 11 illustrates one embodiment of compensation module 230 implemented in network 1100. As shown in FIG. 11, compensation module 230 is included in computing system 1110 and communicates with print system 130 via cloud network 1150.

[0072] 12 illustrates a computer system 1600 in which the printing system 130, the print controller 140, and the compensation module 230 may be implemented. The computer system 1600 includes a system bus 1620 for communicating information and a processor 1610 coupled to the bus 1620 for processing information.

[0073] Computer system 1600 further includes a random access memory (RAM) or other dynamic storage device 1625 (herein referred to as main memory), coupled to bus 1620, for storing information and instructions to be executed by processor 1610. Main memory 1625 may also be used for storing temporary variables or other intermediate information during execution of instructions by processor 1610. Computer system 1600 may also include a read-only memory (ROM) and / or other static storage device 1626, coupled to bus 1620, for storing static information and instructions used by processor 1610.

[0074] A data storage device 1627, such as a magnetic disk or optical disk, and its corresponding drive may also be coupled to computer system 1600 for storing information and instructions. Computer system 1600 may also be coupled to a second I / O bus 1650 via an I / O interface 1630. Multiple I / O devices, including a display device 1624, input devices (e.g., an alphanumeric input device 1623 and / or a cursor control device 1622), may be coupled to I / O bus 1650. Communications device 1621 provides access to other computers (servers and clients). Communications device 1621 may include a modem, a network interface card, or other well-known interface devices, such as those used to couple to Ethernet, token ring, or other types of networks.

[0075] Embodiments of the present invention may include various steps, as described above. The steps may be embodied in machine-executable instructions. The instructions may be used to cause a general-purpose or special-purpose processor to perform certain steps. Alternatively, the steps may be performed by specific hardware components that contain hard-wired logic for performing the steps, or by any combination of programmed computer components and custom hardware components.

[0076] Elements of the present invention may be provided as a machine-readable medium for storing machine-executable instructions. Machine-readable media may include, but are not limited to, floppy disks, optical disks, CD-ROMs, and magneto-optical disks, ROM, RAM, EPROM, EEPROM, magnetic or optical cards, propagation media, or other types of media / machine-readable media suitable for storing electronic instructions. For example, the present invention may be downloaded as a computer program product that can be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by data signals embodied in a carrier wave or other propagation medium over a communications link (e.g., a modem or network connection).

[0077] The following clauses and / or examples relate to further embodiments or examples. Details in these examples may be used anywhere in one or more embodiments. Various features of different embodiments or examples may be combined in various ways, with some features included and other features excluded, to suit a variety of different applications. Examples may include subject matter such as a method, means for performing the steps of the method, at least one machine-readable medium containing instructions that, when executed by a machine, cause the machine to perform the steps of the method, or an apparatus or system according to the embodiments and examples described herein.

[0078] Some embodiments relate to Example 1, including a system comprising at least one physical memory device that stores calibration logic; and one or more processors coupled to the at least one physical memory device that receive operating point data corresponding to an image processing system, receive a full-range transfer function corresponding to the image processing system, and execute the calibration logic to generate, for each of a plurality of digital count values, a sub-range transfer function corresponding to the image processing system based on the operating point data and the full-range transfer function.

[0079] Example 2 includes the subject matter of example 1, wherein the sub-range transfer function includes a plurality of digital count values ​​calibrated to a first optical density target value indicated by the operating point data.

[0080] Example 3 includes the subject matter of examples 1 and 2, wherein the full range transfer function includes a plurality of digital count values ​​calibrated to a second optical density target value greater than the first optical density target value.

[0081] Example 4 includes the subject matter of Examples 1-3, wherein the second optical density target value includes a maximum calibrated optical density of the image processing system.

[0082] Example 5 includes the subject matter of Examples 1-4, wherein the subrange transfer function is further generated for each of the plurality of digital count values ​​based on the second optical density target value and a minimum optical density value of the image processing system.

[0083] Example 6 includes the subject matter of Examples 1-5, wherein the minimum optical density value includes an optical density value associated with an unprinted area of ​​a printing substrate and the maximum optical density value includes an optical density value associated with a printed area of ​​the printing substrate, and the printing substrate corresponds to the image processing system.

[0084] Example 7 includes the subject matter of Examples 1-6, in which the sub-range transfer function includes a first lookup table and the full transfer function includes a second lookup table.

[0085] Example 8 includes the subject matter of examples 1-7, wherein the at least one physical memory device stores a graphical user interface (GUI), and the one or more processors are coupled to the at least one physical memory device and execute the graphical user interface to display a plurality of options for selecting the operating point data.

[0086] Example 9 includes the subject matter of examples 1-8, wherein the calibration logic receives the operating point data from the GUI.

[0087] Example 10 includes the subject matter of Examples 1-9, further comprising one or more print engines.

[0088] Example 11 includes the subject matter of Examples 1 to 10, wherein an input domain of the sub-range transfer function coincides with an input domain of the full-range transfer function, and a maximum value of the output range of the sub-range transfer function is smaller than a maximum value of the output range of the full-range transfer function.

[0089] Example 12 includes the subject matter of Examples 1-11, wherein the input domain of the subrange transfer function corresponds to a range of contone levels in an imaging path, and the output range of the subrange transfer function corresponds to a domain of the printer transfer function.

[0090] Some embodiments relate to Example 13, including at least one computer-readable medium storing instructions that, when executed by one or more processors, cause the processors to: receive operating point data corresponding to an image processing system; receive a full-range transfer function corresponding to the image processing system; and generate, for each of a plurality of digital count values, a sub-range transfer function corresponding to the image processing system based on the operating point data and the full-range transfer function.

[0091] Example 14 includes the subject matter of example 13, wherein the sub-range transfer function includes a plurality of digital count values ​​calibrated to a first optical density target value indicated by the operating point data, and the full-range transfer function includes a plurality of digital count values ​​calibrated to a second optical density target value greater than the first optical density target value.

[0092] Example 15 includes the subject matter of examples 13 and 14, wherein the subrange transfer function is further generated for each of the plurality of digital count values ​​based on the second optical density target value and a minimum optical density value of the image processing system.

[0093] Example 16 includes the subject matter of Examples 1-15, wherein the minimum optical density value includes an optical density value associated with an unprinted area of ​​a printing substrate and the maximum optical density value includes an optical density value associated with a printed area of ​​the printing substrate, and the printing substrate corresponds to the image processing system.

[0094] Some embodiments relate to Example 17, which includes a method including receiving operating point data corresponding to an image processing system; receiving a full-range transfer function corresponding to the image processing system; and generating, for each of a plurality of digital count values, a sub-range transfer function corresponding to the image processing system based on the operating point data and the full-range transfer function.

[0095] Example 18 includes the subject matter of example 17, wherein the sub-range transfer function includes a plurality of digital count values ​​calibrated to a first optical density target value indicated by the operating point data, and the full-range transfer function includes a plurality of digital count values ​​calibrated to a second optical density target value greater than the first optical density target value.

[0096] Example 19 includes the subject matter of examples 17 and 18, wherein the subrange transfer function is further generated for each of the plurality of digital count values ​​based on the second optical density target value and a minimum optical density value of the image processing system.

[0097] Example 20 includes the subject matter of Examples 1-19, wherein the minimum optical density value includes an optical density value associated with an unprinted area of ​​a printing substrate and the maximum optical density value includes an optical density value associated with a printed area of ​​the printing substrate, and the printing substrate corresponds to the image processing system.

[0098] Although many variations and modifications of the present invention will no doubt become apparent to those skilled in the art after reading the foregoing description, it should be understood that any particular embodiments shown and described by way of illustration are not intended to be considered limiting in any way. Accordingly, references to details of various embodiments are not intended to limit the scope of the claims, which themselves recite only those features regarded as essential to the invention. [Explanation of symbols]

[0099] 110 Host System 120 sheet images 130 Printing System 140 Print Controller 150 bitmaps 160 printers 162 print head 165 pixel formation elements 180 Print media 190 Measurement Module 212 Interpreter Module 214 Halftoning Module 218 Uncompensated Halftone 220 compensated halftone 225 Compensated Transfer Function 230 Compensation Module 235 Transfer Function Application Module 305 Calibration Generator 310 Chart Generator 320 Calibration Engine 330 GUI 410 Print Substrate Calibration Logic 420 Printer Calibration Logic 430 Synthetic Transfer Function Generation Logic 501 Measured OD data 502 Target OD Data 503 Operating Point Data 520 Full-Range Print Substrate Transfer Function Generation Engine 530 Full-Range Print Substrate Transfer Function LUT 540 Sub-Range Printing Substrate Transfer Function Generation Engine 550 Sub-Range Print Substrate Transfer Function LUT 710 OD measurement data received 720 Received target OD data Generate 730 transfer functions 1010 Operating point data received 1020 full range print substrate transfer function received Generate 1030 sub-range print substrate transfer functions Save 1040 LUT 1150 Networks (e.g., cloud networks) 1110 Computing systems (e.g., servers) 1621 Communications 1622 Cursor Control 1623 keyboard 1624 display 1625 main memory 1627 Storage 1620 Bus 1610 processor

Claims

1. at least one physical memory device that stores calibration logic; one or more processors coupled to the at least one physical memory device and configured to execute the calibration logic, the calibration logic comprising: receiving operating point data corresponding to an image processing system; receiving a full range transfer function corresponding to the image processing system; generating a sub-range transfer function corresponding to the image processing system for each of a plurality of digital count values ​​based on the operating point data and the full-range transfer function; Including, the system.

2. 2. The system of claim 1, wherein the sub-range transfer function comprises a plurality of digital count values ​​calibrated to a first optical density target value indicated by the operating point data.

3. 3. The system of claim 2, wherein the full-range transfer function comprises a plurality of digital count values ​​calibrated to a second optical density target value greater than the first optical density target value.

4. The system of claim 3 , wherein the second optical density target value comprises a maximum calibrated optical density of the imaging system.

5. 5. The system of claim 4, wherein the sub-range transfer function is further generated for each of the plurality of digital count values ​​based on the second optical density target value and a minimum optical density value of the image processing system.

6. 6. The system of claim 5, wherein the minimum optical density value comprises an optical density value associated with an unprinted area of ​​a printing substrate and the maximum optical density value comprises an optical density value associated with a printed area of ​​the printing substrate, the printing substrate corresponding to the image processing system.

7. The system of claim 1 , wherein the sub-range transfer function comprises a first lookup table and the full transfer function comprises a second lookup table.

8. The system of claim 1 , wherein the system displays a graphical user interface for selecting the operating point data.

9. The system of claim 8 , wherein the calibration logic receives the operating point data from the GUI.

10. The system of claim 1 further comprising one or more print engines.

11. 2. The system of claim 1, wherein the input domain of the sub-range transfer function coincides with the input domain of the full-range transfer function, and the maximum value of the output range of the sub-range transfer function is less than the maximum value of the output range of the full-range transfer function.

12. 2. The system of claim 1, wherein an input domain of the sub-range transfer function corresponds to a range of contone levels in the image processing system, and an output range of the sub-range transfer function corresponds to a domain of the full-range transfer function.

13. When executed by one or more processors, the processors: receiving operating point data corresponding to an image processing system; receiving a full range transfer function corresponding to the image processing system; generating a sub-range transfer function corresponding to the image processing system for each of a plurality of digital count values ​​based on the operating point data and the full-range transfer function; A computer-readable recording medium storing instructions for executing the above.

14. 14. The computer-readable storage medium of claim 13, wherein the sub-range transfer function includes a plurality of digital count values ​​calibrated to a first optical density target value indicated by the operating point data, and the full-range transfer function includes a plurality of digital count values ​​calibrated to a second optical density target value greater than the first optical density target value.

15. 15. The computer-readable medium of claim 14, wherein the sub-range transfer function is further generated for each of the plurality of digital count values ​​based on the second optical density target value and a minimum optical density value of the image processing system.

16. 16. The computer-readable medium of claim 15, wherein the minimum optical density value comprises an optical density value associated with an unprinted area of ​​a printing substrate and the maximum optical density value comprises an optical density value associated with a printed area of ​​the printing substrate, the printing substrate corresponding to the image processing system.

17. receiving operating point data corresponding to an image processing system; receiving a full range transfer function corresponding to the image processing system; generating a sub-range transfer function corresponding to the image processing system for each of a plurality of digital count values ​​based on the operating point data and the full-range transfer function; method.

18. 18. The method of claim 17, wherein the sub-range transfer function includes a plurality of digital count values ​​calibrated to a first optical density target value indicated by the operating point data, and the full-range transfer function includes a plurality of digital count values ​​calibrated to a second optical density target value greater than the first optical density target value.

19. 20. The method of claim 18, wherein the sub-range transfer function is further generated for each of the plurality of digital count values ​​based on the second optical density target value and a minimum optical density value of the image processing system.

20. 20. The method of claim 19, wherein the minimum optical density value comprises an optical density value associated with an unprinted area of ​​a printing substrate and the maximum optical density value comprises an optical density value associated with a printed area of ​​the printing substrate, the printing substrate corresponding to the image processing system.

Citation Information

Patent Citations

  • Image processor and printer

    JP2004309662A

  • Image processing apparatus, printing device, and image processing program

    JP2010228339A

  • Image forming apparatus and image forming apparatus control method

    JP2014235234A