Printer, control method, and program

The printer employs a two-step color conversion process to convert image data from various color spaces to a reproducible color space, addressing the need for a more appropriate color conversion method and enhancing print quality.

JP7657598B2Active Publication Date: 2025-04-07CANON KK
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2021010687
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-01-26
Publication Date
2025-04-07
Estimated Expiration
2041-01-26

AI Technical Summary

Technical Problem

There is a demand for a more appropriate color conversion process for image data as devices that convert color spaces become more popular.

Method used

The printer acquires image data and associated information from an external device and performs a two-step color space conversion process. The first conversion process changes the color space of the image data to sRGB if it is not already in this color space, and a second conversion process then converts the image data from sRGB to DeviceRGB, or uses a stored conversion table for specific color spaces like AdobeRGB.

Benefits of technology

This approach allows for more appropriate color conversion processing, ensuring that the image data is accurately converted to a color space that the printer can reproduce, thereby improving print quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007657598000001
    Figure 0007657598000001
  • Figure 0007657598000002
    Figure 0007657598000002
  • Figure 0007657598000003
    Figure 0007657598000003
Patent Text Reader

Abstract

To convert a color space of image data through more appropriate color conversion processing.SOLUTION: When a color space specified by specification means is a predetermined color space corresponding to information that an image processing apparatus has been holding in advance from before acquisition of image data, even if acquired predetermined information includes color conversion information for converting the color space of the acquired image data into another color space, conversion means converts the color space of the acquired image data by not using the color conversion information included in the acquired predetermined information but using the information that the image processing apparatus has been holding in advance from before the acquisition of the image data.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to Printer , a control method, and a program. [Background technology]

[0002] When a printer prints based on an input image, a color conversion process is executed to convert the color space of the input image into a color space that can be reproduced by the printer.

[0003] Patent Document 1 discloses a method for performing color conversion processing of image data using an ICC profile when an ICC profile associated with the image data can be found. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2005-252462 A Summary of the Invention [Problem to be solved by the invention]

[0005] Incidentally, as devices that convert the color space of image data become more widespread, there is a demand for converting the color space of image data using more appropriate color conversion processing.

[0006] The technique of the present disclosure aims to convert the color space of image data through more appropriate color conversion processing. [Means for solving the problem]

[0007] The technology of the present disclosure Printer teeth, From an external device outside the printer An acquisition means for acquiring image data and predetermined information related to the image data; ,before Color space of the acquired image data Change and a conversion means for converting the The acquired image dataThe color space is 1. If it is a color space, A first conversion process for converting a color space of the acquired image data into sRGB, which is a color space set as an output color space; The acquired predetermined information is included in Color Without using conversion information, Printer Using information stored in advance before acquiring the image data, Execute, and The color space of the acquired image data is a printing unit that executes a second conversion process for converting from sRGB to DeviceRGB after the first conversion process is executed, and if the color space of the acquired image data is a second color space, executes the first conversion process using the color conversion information included in the acquired predetermined information, and executes the second conversion process after the first conversion process is executed, and if the color space of the acquired image data is a third color space, executes the second conversion process without executing the first conversion process, and the printer further comprises a printing unit that executes printing based on the image data after the second conversion process is executed. It is characterized by: Effect of the Invention

[0008] According to the technique of the present disclosure, the color space of image data can be converted by a more appropriate color conversion process. [Brief description of the drawings]

[0009] [Figure 1] FIG. 2 is a diagram showing the configuration of a printer. [Diagram 2] A diagram showing the structure of a JPEG file. [Diagram 3] FIG. 2 is a diagram for explaining EXIF ​​information and an ICC profile. [Figure 4] 13 is a flowchart showing a color conversion process. [Diagram 5] 11 is a flowchart showing a process of specifying an input color space. [Figure 6] FIG. 2 is a diagram showing the contents of EXIF ​​information. [Figure 7] A diagram showing the contents of an ICC profile. [Figure 8] FIG. 4 is a diagram for explaining a conversion table. [Figure 9] FIG. 2 is a diagram for explaining a color conversion formula based on an ICC profile. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] <Embodiment 1> In recent years, with the spread of digital cameras, smartphones, etc., users can easily take photos and videos. Photos and videos taken by users are saved as general-purpose image data such as JPEG and TIFF. The saved image data is displayed on the screen of a smartphone, a personal computer, etc., or used in cloud services, and is also sent to a printer for printing. As the image quality of smartphone screens and personal computer displays improves, the color gamut of images that can be displayed on the screen is also expanding. For this reason, image data taken with a digital camera, smartphone, etc. can be saved in various color spaces so that a wide color gamut can be used. For example, in addition to the conventional sRGB, image data can be saved in color spaces with wide color gamuts such as AdobeRGB, Display-P3, and DCI-P3.

[0011] When image data is saved, information about the color space of the image data is also saved together with the image data. For example, if the image data is in JPEG format, the color space information is included in the shooting information, which is the associated information. Alternatively, an ICC profile that specifies the color space of the image data may be included as the associated information of the image data. Note that the associated information may be any information related to the image data, and may be acquired without being associated with the image data.

[0012] When a printer prints an image based on image data, a color space conversion process (color conversion process) is executed to convert the color space of the image data into a color space that the printer can reproduce. For example, if the color space of the input image data is AdobeRGB and the output color space that the printer can reproduce is sRGB, a color conversion process is executed to convert from AdobeRGB to sRGB.

[0013] The printer of this embodiment stores a conversion table for converting a predetermined color space (for example, AdobeRGB) into the printer's output color space. Therefore, if the color space of the input image data is AdobeRGB, the color conversion can be performed quickly by performing color conversion using the conversion table. In this embodiment, before performing color conversion, the color space of the image to be subjected to color conversion is specified, and it is determined whether the color space is a color space that can be converted using the printer's conversion table. If the color space is a color space that can be converted using the printer's conversion table, the ICC profile attached to the image data is not used even if an ICC profile is attached to the image data. Instead, the color conversion is performed using the printer's conversion table, thereby performing appropriate color conversion.

[0014] [Hardware configuration] Hereinafter, a system configured with an external device and a printer according to the present embodiment will be described with reference to the drawings.

[0015] 1 is a block diagram showing the configuration of a printer 100 according to one embodiment of the technology of the present disclosure. The printer 100 has a CPU 101, an internal bus 102, a program memory 103, a data memory 104, a reading control unit 105, a reading mechanism 106, and a data conversion unit 108. The printer 100 further has a recording control unit 110, a recording mechanism 111, an operation panel 115, a memory card control unit 116, and an interface control unit 118.

[0016] The CPU 101 operates based on a control program stored in a program memory 103 connected via an internal bus 102, and on data read out to a data memory 104. The CPU 101 is realized by, for example, a microprocessor. The program memory 103 is a memory in the form of a ROM (Read Only Memory), and the data memory 104 is a memory in the form of a RAM (Random Access Memory).

[0017] The printer 100 also functions as an image processing device by the CPU 101 expanding the program code stored in the program memory 103 into the data memory 104 and executing it. A part or all of the functions as the image processing device may be realized by hardware such as an ASIC or an electronic circuit.

[0018] The reading mechanism 106 has an image sensor (not shown). The reading mechanism 106 reads the document with the image sensor, and generates image data of the document. The CPU 101 controls the operation of the reading mechanism 106 through the reading control unit 105.

[0019] The data conversion unit 108 reads image data from the data memory 104 and converts it into print data. The process of converting into print data includes a color conversion process of converting the color space of the image data into an output color space that is a color space that can be reproduced by the printer. The data conversion unit 108 may be realized by hardware or an arithmetic circuit, or the function of the data conversion unit 108 may be realized by the CPU 101 expanding the program code stored in the program memory 103 into the data memory 104 and executing it.

[0020] The recording mechanism 111 realizes a recording operation of forming an image on a recording medium such as paper based on print data. The recording operation by the recording mechanism 111 is realized by the CPU 101 operating the recording mechanism 111 through the recording control unit 110. Note that the recording mechanism 111 is configured to be capable of printing on the label side of disc media such as compact discs and DVDs in addition to recording onto normal paper media.

[0021] The data memory 104 is provided with a reading buffer memory 107, a recording buffer memory 109, and an image memory 112. The reading buffer memory 107 stores image data obtained by the reading mechanism 106 reading an original. The recording buffer memory 109 stores print data converted from the image data.

[0022] The image memory 112 can temporarily store various kinds of image data. It can also store edited image data. The image data stored in the image memory 112 is read out and converted into print data by the data conversion unit 108, and the recording mechanism 111 can perform a recording operation using the print data. Therefore, the printer 100 can also print photographic images and the like.

[0023] The capacity allocation of the read buffer memory 107, the record buffer memory 109, and the image memory 112 provided in the data memory 104 can be changed under the management of the CPU 101. The CPU 101 can dynamically change the capacity allocation of each memory depending on the operating mode, user settings, and other conditions.

[0024] The operation panel 115 has a display unit 113 composed of an LED, an LCD, etc., and an operation unit 114 composed of various operation keys, a touch panel, etc. A user can perform various inputs by operating the operation unit 114. The CPU 101 causes the display unit 113 to display the operating status of the printer 100, etc. The CPU 101 also functions as a display control unit that controls the display unit 113, and an operation control unit that accepts inputs from the operation unit 114.

[0025] Memory card control unit 116 controls access to memory card 117, which is a medium for storing data, and reads and writes image data and the like stored in memory card 117. Image data read from memory card 117 is stored in image memory 112, and then converted into print data so that it can be used for printing on a storage medium.

[0026] The interface control unit 118 controls communication of the interface 119, and can transmit and receive data to and from an external device 120 connected to the outside. The interface 119 is, for example, WiFi or USB. The external device 120 is a PC or a smartphone, and the printer 100 can receive image data generated by the external device 120 and convert it into print data to print an image on a recording medium. In addition to this, the printer 100 can connect a digital camera or the like as an external device, read out photo image data from the digital camera or the like, and store it in the image memory 112. Then, the photo image data can be converted into print data to print the photo image on a recording medium. As a method for the external device to transmit print data, there is a method of transmitting image data using a communication protocol (hereinafter, a standard protocol) that is standardly installed in the OS and that can transmit image data without using a printer driver for the printer 100. Examples of the standard protocol include IPP (Internet Printing Protocol) and WSD (Web Services on Devices). As a method for the external device to transmit image data, there is a method of transmitting image data using a communication protocol (hereinafter, a unique protocol) unique to the vendor of the printer 100 by using a printer driver for the printer 100. Although the following describes a case where print data is sent from an external device using a standard protocol, the same processing may be performed even when print data is sent from an external device using a proprietary protocol.

[0027] [Image file structure] 2 is a diagram for explaining the structure of a JPEG file. A JPEG file is an example of an image file transmitted from the external device 120 to the printer 100. Image data included in the JPEG file is image data in JPEG format (JPEG data).

[0028] The JPEG file 200 is composed of a header section including information accompanying the JPEG data, and JPEG data 203. This embodiment will be described assuming that the header section includes EXIF ​​information 201 and an input ICC profile (hereinafter, input profile) 202 as information accompanying the JPEG data. An actual JPEG file may not include at least one of the EXIF ​​information 201 and the input profile 202. Note that in this embodiment, the input profile is an ICC profile for converting the color space (input color space) of the image data sent to the printer 100 into the XYZ space, which is a standard color space.

[0029] Fig. 3 is a diagram for explaining EXIF ​​information and an input profile. Fig. 3(a) is an example of information included in EXIF ​​information, which includes information such as ColorSpace, white point, RGB light source, and gamma. Fig. 3(b) is an example of an input profile, which includes information of a Description tag. In addition, the input profile includes information for performing color conversion processing from the color space of JPEG data to a standard color space such as an XYZ color space. For example, a matrix (matrix value) and a lookup table are included as color conversion information for performing color conversion processing.

[0030] [About color conversion processing] Printer 100 receives a JPEG file from external device 120 and stores the received JPEG file 200 in image memory 112. CPU 101 performs decompression processing of the stored JPEG file. Then, executes color conversion processing to convert the color space of the JPEG data, which is image data included in the JPEG file, into the output color space of printer 100.

[0031] The output color space refers to a color space of a color gamut that the printer 100 can reproduce by controlling the recording mechanism 111. The output color space is, for example, DeviceRGB, sRGB, or AdobeRGB. The output color space is determined, for example, based on the type of printing paper (recording medium) that the printer 100 is set to print on. In addition, the color gamut that the printer can actually reproduce may be wider than sRGB. In this case, since the printer can reproduce the sRGB space, the output color space of the printer may be determined to be sRGB. The image data after the color conversion process is converted into print data, and the recording mechanism 111 prints on the recording medium based on the print data.

[0032] In the following explanation, the color conversion process of this embodiment will be explained using a JPEG file containing JPEG data as an example, but other image file formats such as PNG and TIFF can also be applied to this embodiment. Data that is the subject of the processing of this embodiment is not limited to image file formats, and may be image data included in PDL data.

[0033] FIG. 4 is a flowchart for explaining the color conversion process of a received JPEG file. The color conversion process will be described in detail with reference to FIG. 4. Among the series of processes shown in the flowchart of FIG. 4, the processes performed by the CPU are performed by the CPU 101 of the printer 100 expanding the program code stored in the program memory 103 into the data memory 104 and executing it. In addition, some or all of the functions of the steps in FIG. 4 may be realized by hardware such as an ASIC or an electronic circuit. Note that the symbol "S" in the explanation of each process means a step in the flowchart, and the same applies to the following flowcharts. Note that the process of this flowchart is assumed to be a process in a state where the output color space is set to sRGB.

[0034] In S401, CPU 101 performs decompression processing on the JPEG file received from external device 120, and acquires the decompressed JPEG file. Since the JPEG file includes information accompanying the JPEG data as shown in Fig. 2, in this step, the information accompanying the JPEG data is acquired.

[0035] In S402, CPU 101 determines whether EXIF ​​information is included in the accompanying information of the JPEG data. If EXIF ​​information is included (YES in S402), CPU 101 acquires information included in the EXIF ​​information in S403. If EXIF ​​information is not included (NO in S402), CPU 101 skips S403 and proceeds to S404.

[0036] In S404, CPU 101 determines whether an input profile is included in the associated information of the JPEG data. If an input profile is included (YES in S404), CPU 101 acquires the input profile in S405. If an input profile is not included (NO in S404), CPU 101 skips S405 and proceeds to S406.

[0037] In S406, the CPU 101 identifies the color space (input color space) of the JPEG data included in the JPEG file acquired in S401.

[0038] The printer 100 of this embodiment stores a conversion table for converting a predetermined color space into the output color space of the printer 100. Therefore, even if an input profile is attached to the JPEG data, if the color space of the JPEG data is a predetermined color space, it is preferable to perform color conversion processing using the printer's conversion table. Therefore, processing for determining the color space of the JPEG data is performed before the color conversion processing. In this embodiment, the printer 100 will be described as storing a conversion table for converting AdobeRGB into the printer's output color space. Details of the processing for specifying the color space of the JPEG data in S406 will be described later.

[0039] In S407, CPU 101 determines whether the input color space specified in S406 is AdobeRGB or not. As described above, the printer of this embodiment stores a conversion table that converts AdobeRGB into an output color space, so if the color space of the JPEG data is AdobeRGB, color conversion processing can be performed using the conversion table stored in printer 100. For this reason, in this step, it is determined whether the color space of the JPEG data is a color space that can be color converted using the conversion table of printer 100.

[0040] The color conversion process is a process of converting a color space specified as an input color space into a color space set as an output color space. Therefore, when the input color space is AdobeRGB (YES in S407), a color conversion process (called AdobeRGB process) for converting AdobeRGB into a color space set as an output color space is selected. In this embodiment, the AdobeRGB process is a color conversion process that is executed without using the acquired input profile and the output profile described below. In other words, the AdobeRGB process is a color conversion process that is executed without using any ICC profile, and is a color conversion process that is executed using a conversion table that the printer 100 holds in advance before receiving image data. In this embodiment, the printer 100 also has a means for executing a color conversion process using the acquired input profile. However, in this embodiment, the printer 100 does not perform color conversion by the means, but performs color conversion by a means for executing color conversion using the conversion table.

[0041] Therefore, in S408, the CPU 101 outputs the JPEG data to the data conversion unit 108, and the data conversion unit 108 performs AdobeRGB processing on the JPEG data. Details of this step will be described later.

[0042] On the other hand, if the input color space is not AdobeRGB (S407: NO), in S409, CPU 101 determines whether the input color space is a color space set as the output color space of the printer. In this flowchart, the output color space of the printer is sRGB. Therefore, in this step, it is determined whether the input color space is sRGB.

[0043] When the input color space is sRGB (YES in S409), the CPU 101 selects a color conversion process (called sRGB process) that converts sRGB into a color space set as an output color space, and outputs the JPEG data to the data conversion unit 108. In this embodiment, the sRGB process is a color conversion process that is executed without using the acquired input profile and the output profile described later, similar to the AdobeRGB process. That is, the sRGB process is a color conversion process that is executed without using any ICC profile, and is a color conversion process that is executed using a conversion table that the printer 100 has stored in advance before receiving image data. However, in this embodiment, since sRGB is the output color space of the printer, when the sRGB process is selected, the data conversion unit 108 does not perform color conversion process of the JPEG data in this flowchart. Therefore, when the sRGB process is selected, the color conversion process is skipped in this flowchart. In this way, the color space of the JPEG data may be a color space that is set as the output color space of the printer. Therefore, by identifying the color space of the image data before performing the color conversion process, it is possible to prevent the color conversion process that would otherwise be unnecessary from being executed.

[0044] If it is determined that the input color space is not sRGB (NO in S409), the process proceeds to S410. Specifically, the case where S409 is NO is when the input color space is Display-P3 or DCI-P3. In S410, the CPU 101 determines whether or not an input profile included in the JPEG file has been acquired. The process of this step may be the same as that of S404.

[0045] If an input profile has been acquired (YES in S410), in S411 CPU 101 acquires from the memory of printer 100 an output profile that printer 100 has held in advance since before image data was acquired. This output profile is an ICC profile for converting from the XYZ color space, which is the standard color space, to the color space set as the output color space of printer 100. In this flowchart, since the color space set as the output color space is sRGB, an ICC profile for converting from the XYZ color space, which is the standard color space, to sRGB is acquired as the output profile. If multiple output color spaces can be selected, an output color space is determined, and an output profile for converting to the determined output color space is acquired.

[0046] In this embodiment, if the input color space is neither sRGB nor AdobeRGB, color conversion processing based on an ICC profile (using an ICC profile) is executed. Therefore, in S412, CPU 101 generates a conversion formula for converting the color space of the JPEG data into the color space set as the output color space based on the input profile and the output profile, in preparation for color conversion processing based on an ICC profile. The conversion formula will be described later.

[0047] In S413, color conversion processing based on an ICC profile is selected, and CPU 101 outputs the JPEG data to data conversion unit 108. Data conversion unit 108 performs color conversion processing on the JPEG data based on the conversion formula prepared in S412. That is, color conversion processing using an ICC profile is executed here.

[0048] After the completion of this flowchart, the data conversion unit 108 performs conversion to print data. Specifically, the data conversion unit 108 converts the color space of image data that has been subjected to color conversion processing in S408 or S413, or image data that has not been subjected to color conversion processing in this flowchart because S409-YES, to DeviceRGB. At this time, a different color conversion matrix is ​​used for conversion to DeviceRGB depending on the type of printing paper to be printed, and an ICC profile is not used. That is, in this embodiment, the printer 100 has a different color conversion matrix for each type of printing paper. The printer 100 then executes printing based on the image data (print data) after the color space has been converted to DeviceRGB.

[0049] It goes without saying that the color conversion process by the data conversion unit 108 is performed on all pixels of the image. The above is the color conversion process in this embodiment.

[0050] In the above, the processing in a state where the output color space is set as sRGB has been described. For example, in the processing in a state where the output color space is set as AdobeRGB, the color conversion processing is skipped after S407-YES. Then, after S409-YES, the JPEG data is output to the data conversion unit 108, and the data conversion unit 108 performs sRGB processing on the JPEG data. That is, in this embodiment, if the color space specified as the input color space is the same as the color space set as the output color space, the color conversion processing is skipped. Then, if the color space specified as the input color space is not the same as the color space set as the output color space, a color conversion processing is executed to convert the color space specified as the input color space into the color space set as the output color space. The processing after S409-NO is the same as the processing in a state where the output color space is set as sRGB.

[0051] There is also a state where the output color space is set as a color space other than sRGB or AdobeRGB (for example, DeviceRGB). In this case, the color space specified as the input color space is not the same as the color space set as the output color space. Therefore, in the above-mentioned case, both after S407-YES and after S409-YES, a color conversion process is executed to convert the color space specified as the input color space into the color space set as the output color space. Also, the process after S409-NO is the same as the process in the state where the output color space is set as sRGB. That is, in the above-mentioned case, regardless of the color space specified as the input color space, the color conversion process is executed.

[0052] In the above description, it has been explained that the printer 100 stores a conversion table for converting from AdobeRGB to sRGB and a conversion table for converting from sRGB to AdobeRGB. In addition, the printer 100 may store a conversion table for converting from a color space other than AdobeRGB or sRGB to AdobeRGB, sRGB, or another color space. In this case, in the above flow, it is additionally determined whether the input color space is a color space that can be converted to the output color space using the conversion table stored in the printer 100.

[0053] In the above, a system in which image data is received using a standard protocol has been described, but image data may also be received using a proprietary protocol. When image data is received using a proprietary protocol, color conversion processing of the image data is performed on the external device side by the printer driver. In other words, the color space of the image data received using the proprietary protocol is DeviceRGB. In that case, printing based on the image data may be performed without any color conversion processing being performed by the printer 100.

[0054] [About input color space specification] 5 is a flowchart for explaining the details of the process for identifying the input color space. The process of S406 in FIG. 4 will be explained with reference to FIG.

[0055] In S501, the CPU 101 determines whether EXIF ​​information has been acquired from a JPEG file. For example, if the process in step S403 has been performed, it is determined that the EXIF ​​information has been acquired.

[0056] If the EXIF ​​information has been acquired (YES in S501), in S502 the CPU 101 determines whether the color space of the JPEG data is sRGB based on the EXIF ​​information.

[0057] Fig. 6 is a diagram showing an example of information stored in each item of EXIF ​​information. Fig. 6(a) is an example of EXIF ​​information accompanying JPEG data when the color space of the JPEG data is sRGB. When the color space is sRGB, information indicating sRGB is stored in the ColorSpace tag. Therefore, CPU 101 can determine whether the color space of the image data is sRGB by using the information in the ColorSpace tag.

[0058] If the color space is determined to be sRGB (YES in S502), the CPU 101 specifies the input color space as sRGB in S503 and ends the process.

[0059] On the other hand, if it is not determined to be sRGB (NO in S502), in S504, the CPU 101 determines whether the color space of the JPEG data is AdobeRGB based on the EXIF ​​information.

[0060] Fig. 6(b) is an example of EXIF ​​information accompanying JPEG data when the color space of the JPEG data is AdobeRGB. When the color space is AdobeRGB, information indicating that it is not sRGB is stored in the ColorSpace tag. Furthermore, the white point, RGB light source, and gamma tags store predetermined values ​​for determining whether it is AdobeRGB as shown in Fig. 6(b). For this reason, the CPU 101 uses this information to determine whether it is AdobeRGB.

[0061] If the color space is determined to be AdobeRGB (YES in S504), the CPU 101 specifies the input color space as AdobeRGB in S505 and ends the color space specification process.

[0062] On the other hand, if the EXIF ​​information has not been acquired (NO in S501), or if the color space cannot be identified from the EXIF ​​information (NO in S504), the process proceeds to S506.

[0063] In S506, the CPU 101 determines whether an input profile has been acquired from the JPEG file. For example, if the process in step S405 has been performed, it is determined that an input profile has been acquired.

[0064] If an input profile has been acquired (YES in S506), in S507, the CPU 101 determines whether the color space of the JPEG data is sRGB based on the input profile.

[0065] Fig. 7 is a diagram showing an example of information held in an input profile. Fig. 7(a) is an example of an input profile accompanying JPEG data when the color space of the JPEG data is sRGB. When the color space is sRGB, information indicating sRGB is stored in the Description tag. Therefore, CPU 101 can specify the color space of the image data by using the information of the input profile.

[0066] If the color space is determined to be sRGB (YES in S507), the process proceeds to S503, where the CPU 101 specifies the input color space as sRGB and ends the color space specification process.

[0067] On the other hand, if it is not determined to be sRGB (NO in S507), in S508, the CPU 101 determines whether the color space of the JPEG data is AdobeRGB based on the input profile.

[0068] 7B shows an example of an input profile that accompanies JPEG data when the color space of the JPEG data is AdobeRGB. When the color space is AdobeRGB, a character string indicating AdobeRGB is stored in the Description tag, and the CPU 101 uses this information to determine whether the color space is AdobeRGB.

[0069] In this way, in this embodiment, the color space of JPEG data can be identified from the input profile. Therefore, even if the JPEG file does not contain EXIF ​​information or the color space cannot be identified from the EXIF ​​information, the color space can be identified.

[0070] If the color space is determined to be AdobeRGB (YES in S508), the process proceeds to S505, where the CPU 101 specifies the input color space as AdobeRGB and ends the color space specification process.

[0071] On the other hand, if an input profile has not been acquired (NO in S506), the process proceeds to S510. In S510, CPU 101 ends the process of this flowchart, regarding the input color space as undetermined. If the process proceeds to S510, the input color space cannot be specified, and the input profile has not been acquired. For this reason, in the flowchart of FIG. 4, NO is determined in S410, and sRGB processing is performed on the JPEG data.

[0072] Also, if the color space cannot be identified from the input profile (S508: NO), the process proceeds to S509. In S509, CPU 101 ends the process of this flowchart, regarding the input color space as undetermined. In this case, since the input profile has been acquired, the result of the determination in S410 in the flowchart of FIG. 3 is YES, and color conversion processing is performed based on the input profile. This completes the process of identifying the input color space.

[0073] In this embodiment, a method for identifying a color space of JPEG data based on a specific tag and its contents in the EXIF ​​information and the input profile has been described as a method for identifying a color space. Alternatively, the input color space may be identified based on information of other tags in the EXIF ​​information and the input profile. In addition, the color space identification process of this embodiment may be configured to determine whether the input color space is a color space other than AdobeRGB and sRGB. In this case, by preparing information contained in the EXIF ​​information and the input profile for identifying the other color space, it is possible to identify the color space in the same manner as the process of the flowchart in FIG. 5.

[0074] [About AdobeRGB processing] 8 is a diagram for explaining a conversion table used in color conversion processing by AdobeRGB processing. The AdobeRGB processing in S408 in FIG. 4 will be explained with reference to FIG.

[0075] A conversion table 800 in Fig. 8 is a table that is stored in advance in the printer 100 and is used in color conversion processing from AdobeRGB to the output color space. The conversion table 800 is an example of a conversion table when the output color space is sRGB. In Fig. 8, the conversion table 800 is represented three-dimensionally. Since the color conversion processing method using a conversion table is a known technique, only an outline will be described.

[0076] The conversion table 800 is a table having RGB values, which are color values ​​of sRGB, corresponding to each grid of RGB values, which are color values ​​of AdobeRGB. The RGB values ​​are a combination of three signal values, each of which has a signal value of 0 to 255 for R, G, and B. The color conversion process can be performed by finding the RGB values ​​in the sRGB space from the RGB values ​​of AdobeRGB, which are input values, using the conversion table.

[0077] Assume that RGB values ​​are represented as (R signal value, G signal value, B signal value). In this case, for example, conversion table 800 holds (57, 38, 30) as RGB values ​​in the sRGB space corresponding to RGB value (55, 36, 28) in the AdobeRGB space.

[0078] By using other conversion tables, it is possible to convert to color spaces other than sRGB. For example, by configuring a conversion table so that the output color values ​​are converted to DeviceRGB color values ​​or CMYK, which is a color space for ink colors, it is possible to handle conversion to output color spaces other than the sRGB color space.

[0079] In the present embodiment, a method of using a conversion table has been described as the AdobeRGB processing, but the AdobeRGB processing can also be realized by a predetermined calculation process. Known techniques can be used for this calculation process.

[0080] Furthermore, since this conversion and arithmetic processing is predetermined, it is possible to provide faster processing than with software by implementing it as hardware or an arithmetic circuit.

[0081] In addition, in this embodiment, the output color space is described as sRGB, and therefore, when sRGB processing is selected, the color conversion processing for JPEG data is skipped. In addition, when the output color space is a color space other than sRGB (for example, DeviceRGB), a conversion table from sRGB to the output color space can be configured to realize sRGB processing as a color conversion processing method similar to AdobeRGB processing. For example, if the input is sRGB RGB values ​​and the output is DeviceRGB RGB values, color conversion processing from sRGB to DeviceRGB can be realized.

[0082] [Color conversion based on input profile] Fig. 9 is a diagram for explaining color conversion processing using color conversion information included in an input profile. Next, generation of a conversion formula used in the color conversion processing based on the input profile in S413 will be explained with reference to Fig. 9.

[0083] 9A shows a conversion formula from the input color space to the standard color space, XYZ space. The input profile includes a matrix 901 used in the conversion formula from the input color space to the standard color space, XYZ space. Therefore, the matrix 901 can be used to generate a conversion formula for converting the input color space to the XYZ color space.

[0084] The input profile may contain a lookup table indicating the correspondence between color values ​​in the input color space and color values ​​in the XYZ color space in addition to the matrix 901. In this case, the input color space can be converted to the XYZ color space using the lookup table.

[0085] Fig. 9B is a diagram showing a conversion formula from the XYZ space, which is a standard color space, to the sRGB space, which is an output color space. The matrix 902 in Fig. 9B is included in the output profile acquired in S411. The output profile specifies the output color space of the printer 100, and in this embodiment, the output color space is the sRGB space, so that a conversion formula using the matrix 902 can be used to perform color conversion processing from the XYZ space, which is a standard color space, to the output color space. When the output color space is DeviceRGB, the matrix 902 is a matrix for converting from the XYZ space to DeviceRGB.

[0086] Although the output profile has been described as a matrix 902, the output profile may be a lookup table in which color values ​​in the XYZ color space correspond to color values ​​in the output color space. In other words, in color conversion processing based on the input profile, color conversion processing from the XYZ color space to the output color space may be performed using a lookup table. Alternatively, although the above example is a content in which two profiles, an input and an output, are used, it goes without saying that the conversion processing can be defined using one or three or more profiles.

[0087] In this way, in color conversion processing using an input profile, color conversion processing to the standard color space, XYZ space, may be required. Also, as information required for color conversion processing to the standard color space, the input profile may only include the matrix 901, and may not include a lookup table.

[0088] On the other hand, the printer 100 of this embodiment stores a conversion table 800 in advance. The color conversion process using the conversion table 800 can be executed faster than the color conversion process by calculation using a matrix included in an ICC profile. Even when the AdobeRGB process is realized by a predetermined calculation process, the calculation process is performed so as to directly convert from the input color space to the output color space. On the other hand, the color conversion process based on the ICC profile requires a conversion to the standard color space and then a further conversion to the output color space.

[0089] Even if an ICC profile includes a lookup table, the lookup table is a lookup table for color conversion to a standard color space. Therefore, in color conversion processing based on an ICC profile, after conversion to the standard color space, further conversion to the output color space is required. On the other hand, color conversion processing using the conversion table 800 can convert from the input color space to the printer's output color space, so the processing can be executed faster than conversion using an ICC profile.

[0090] As described above, in this embodiment, even if there is an input profile associated with the JPEG data, the color space of the JPEG data is identified before color conversion processing. Then, if the color space of the JPEG data can be color converted using the conversion table 800 of the printer 100, the color conversion processing is performed without using the input profile even if there is an input profile. Therefore, according to this embodiment, it is possible to perform appropriate color conversion processing even if both an ICC profile and shooting information are associated with the image data.

[0091] In this embodiment, the processing for one image has been described, but it is also possible to perform the same processing for a plurality of images.

[0092] <Other embodiments> The present invention can also be realized by a process in which a program for implementing one or more of the functions of the above-described embodiments is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., ASIC) that implements one or more of the functions. [Explanation of symbols]

[0093] 100 Printers 101 CPU

Claims

1. 1. A printer comprising: an acquisition unit for acquiring image data and predetermined information related to the image data from an external device outside the printer; a conversion means for converting a color space of the acquired image data, The conversion means is When the color space of the acquired image data is a first color space, a first conversion process is executed to convert the color space of the acquired image data into sRGB, which is a color space set as an output color space, using information that the printer has held in advance before acquiring the image data, without using color conversion information included in the acquired predetermined information, and a second conversion process is executed to convert the color space of the acquired image data from sRGB to DeviceRGB after the first conversion process is executed; When a color space of the acquired image data is a second color space, the first conversion process is performed using the color conversion information included in the acquired predetermined information, and the second conversion process is performed after the first conversion process is performed; When the color space of the acquired image data is a third color space, the second conversion process is performed without performing the first conversion process; The printer further comprises: a printing means for executing printing based on the image data after the second conversion process has been performed; A printer comprising:

2. A specifying means for specifying a color space of the acquired image data based on the acquired predetermined information; and When the specifying means cannot specify the color space of the acquired image data and the acquired predetermined information includes the color conversion information, the converting means executes the first conversion process using the color conversion information included in the acquired predetermined information.

2. The printer according to claim 1.

3. the color conversion information included in the acquired predetermined information is information for converting a color space of the acquired image data into a standard color space, The method further includes a second acquisition means for acquiring information for converting the standard color space into a color space set as the output color space, In the first conversion process, the conversion means converts the color space of the acquired image data into the standard color space, and then converts the standard color space into a color space set as the output color space.

3. The printer according to claim 1 or 2.

4. The information that the printer holds in advance before acquiring the image data is a table in which color values ​​of the first color space correspond to color values ​​of the color space set as the output color space.

4. The printer according to claim 1, wherein the first and second electrodes are arranged in a first direction.

5. The color conversion information included in the acquired predetermined information is an ICC profile.

5. The printer according to claim 1, wherein the first and second electrodes are arranged in a first direction.

6. The acquired predetermined information includes at least one of an ICC profile and EXIF ​​information; A color space of the acquired image data is identified based on at least one of the ICC profile and the EXIF ​​information.

6. The printer according to claim 1, wherein the first and second electrodes are arranged in a first direction.

7. The output color space is a color space that can be reproduced by the printing means.

7. The printer according to claim 1, wherein the first and second electrodes are arranged in a first direction.

8. 8. The printer according to claim 1, wherein the color space set as the output color space is determined based on the type of recording medium onto which printing is to be performed by the printing unit.

9. 9. The printer according to claim 1, wherein the first color space is Adobe RGB.

10. 10. The printer according to claim 1, wherein the second color space is Display-P3 or DCI-P3.

11. 11. The printer according to claim 1, wherein the third color space is sRGB.

12. 12. The printer according to claim 1, wherein the image data is acquired by IPP (Internet Printing Protocol).

13. 13. The printer according to claim 1, wherein the acquired image data is image data in JPEG format.

14. 14. The printer according to claim 1, wherein the second conversion process uses a color conversion matrix based on the type of recording medium to be printed, and does not use an ICC profile.

15. A printer as described in any one of claims 1 to 14, characterized in that when image data is obtained from an external device using a printer driver of the external device, the first conversion process is not performed by the printer, and printing based on the image data is performed, and when image data is obtained from the external device without using a printer driver of the external device, the first conversion process is performed by the printer, and printing based on the image data is performed.

16. A method for controlling a printer, comprising: An acquisition step of acquiring image data and predetermined information related to the image data from an external device outside the printer; and converting a color space of the acquired image data, In the conversion step, When the color space of the acquired image data is a first color space, a first conversion process is executed to convert the color space of the acquired image data into sRGB, which is a color space set as an output color space, using information that the printer has held in advance before acquiring the image data, without using color conversion information included in the acquired predetermined information, and a second conversion process is executed to convert the color space of the acquired image data from sRGB to DeviceRGB after the first conversion process is executed; When a color space of the acquired image data is a second color space, the first conversion process is performed using the color conversion information included in the acquired predetermined information, and the second conversion process is performed after the first conversion process is performed; When the color space of the acquired image data is a third color space, the second conversion process is performed without performing the first conversion process; The control method further comprises: a printing step of printing based on the image data after the second conversion process has been performed; have A control method comprising:

17. A program for causing a computer to function as each of the means of the printer according to any one of claims 1 to 15.

Citation Information

Patent Citations

  • Color conversion processing for image data

    JP2005252462A

  • Image processing apparatus and its color conversion method

    JP2008005256A

  • Print controller, print control method, and print control program

    JP2009094636A

  • Printing stetting program

    JP2011139302A

  • Terminal device, image forming system, and program

    JP2015022634A