System and method

The system addresses the issue of color tone discrepancies between web application previews and printed outputs by using color conversion image data generated on the server side for both preview and printing, ensuring consistent color representation.

JP7695144B2Active Publication Date: 2025-06-18CANON KK
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
JP2021127734
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-08-03
Publication Date
2025-06-18
Estimated Expiration
2041-08-03

AI Technical Summary

Technical Problem

In web applications, the color tone of images previewed on the client-side screen may unintentionally differ from the color tone of the images in printed matter, due to differences in color management support between the client and server sides.

Method used

A system and method where the client acquires image data, generates preview image data with a first color conversion for display, and transmits the image data to the server, which generates color conversion image data for printing. The client then displays a second preview image based on the server-generated color conversion image data, ensuring consistency with the printed output.

Benefits of technology

This approach prevents unintended color tone differences between the client-side preview and the printed matter, ensuring accurate color representation throughout the web application workflow.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007695144000001
    Figure 0007695144000001
  • Figure 0007695144000002
    Figure 0007695144000002
  • Figure 0007695144000003
    Figure 0007695144000003
Patent Text Reader

Abstract

To provide a system capable of preventing that a hue of an image previewed on a screen unintentionally differs from a hue of an image of a printed matter in a client.SOLUTION: A client generates preview image data having been subjected to first color conversion processing for display in a display unit on the basis of print target image data acquired by a Web application, displays a first preview image in the display unit on the basis of the preview image data, and transmits the print target image data to a server. The server generates color conversion image data having been subjected to second color conversion processing for printing in a printing device on the basis of the print target image data. The client displays a second preview image on the basis of generation of the color conversion image data and the color conversion image data instead of the preview image data.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a system and method including a client and a server.

Background Art

[0002] A Web application operating on a Web browser can be used regardless of conditions such as terminals such as PCs and smartphones, the type of OS (Operating System), and hardware configuration by providing the Web browser. Generally, a Web application is configured to include a client and a server. The entity of the client is a program such as Hypertext Markup Language (HTML) or JavaScript operating on the Web browser (client side). The entity of the server is a program operating on the Web server (server side). The client side and the server side mainly communicate via the Internet. When a URL (Uniform Resource Locator) for starting a Web application is input to the Web browser, the server side distributes a program for the client side to the Web browser side. Then, the Web application is executed by the client side operating on the Web browser.

[0003] There are Web applications for image processing and for creating posters and photo albums using photos, and images for receiving selections for layout on the screen, preview display images, etc. are displayed. When the image size is large during image display, it may take time to complete the image display, so generally, a thumbnail image with the image resized smaller is created and displayed. Patent Document 1 describes creating a thumbnail image and a preview image for enlarged display on the server side and distributing them to the client side for display on the screen of the Web browser.

[0004] On the other hand, thumbnail images may be created and displayed on the client side. Also, some web browsers have a color management function and display images based on the ICC profile (color profile) embedded in the image or the monitor profile applied to the monitor. In those web browsers, for example, when displaying an image with an embedded Adobe RGB ICC profile on a monitor with an sRGB monitor profile, the image is converted to the sRGB color space with a narrower color gamut than the Adobe RGB color space and then displayed.

Prior Art Documents

Patent Documents

[0005]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0006] For example, in a web application, assume that layout data such as a poster or photo album created by arranging images on the client side is converted into print data and printed on the server side. In that case, the color tone of the image previewed on the client-side screen may unintentionally differ from the color tone of the image in the printed matter.

[0007] An object of the present invention is to provide a system and method for preventing the color tone of an image previewed on a screen in a client from unintentionally differing from the color tone of the image in a printed matter.

Means for Solving the Problems

[0008] To solve the above problems, a system according to the present invention is a system including a client having a web browser and a server capable of providing functions by a web application to the client. The client includes an acquisition unit that acquires image data to be printed by the web application, a first generation unit that generates preview image data on which a first color conversion process for display on a display unit is performed based on the image data to be printed acquired by the acquisition unit, a display control unit that displays a first preview image on the display unit based on the preview image data generated by the first generation unit, and a first transmission unit that transmits the image data to be printed to the server. The server includes a second generation unit that generates color conversion image data on which a second color conversion process for printing by a printing device is performed based on the image data to be printed transmitted by the first transmission unit. The display control unit is characterized in that, based on the fact that the color conversion image data is generated by the second generation unit, a second preview image is displayed based on the color conversion image data instead of the preview image data.

Advantages of the Invention

[0009] According to the present invention, it is possible to prevent the color tone of the image previewed on the screen at the client from unintentionally differing from the color tone of the image of the printed matter.

Brief Description of the Drawings

[0010]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Best Mode for Carrying Out the Invention

[0011] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the invention according to the claims. Although a plurality of features are described in the embodiments, not all of these plurality of features are essential to the invention, and the plurality of features may be arbitrarily combined. Further, in the accompanying drawings, the same or similar configurations are denoted by the same reference numerals, and redundant descriptions are omitted.

[0012] [First Embodiment] FIG. 1 is a diagram showing an example of the configuration of the information processing system 100 in the present embodiment. A server side 1 that performs server processing is a server capable of providing a Web application, and includes a program execution server 10, a storage server 11, and a print execution server 12. Further, it includes an input / output interface (not shown) for connecting to a printer 2 and a network 3 such as the Internet. The program execution server 10 executes a server side program 20 that is a program operating on the server side 1. The storage server 11 stores images transferred from the client side, image files created by the programs on the server side 1, print data files, and the like. The print execution server 12 transmits the print data created by the Web application to the printer 2 connected to the server side 1 and performs printing. The program execution server 10, the storage server 11, and the print execution server 12 may be physically realized by separate devices or may be realized by a single device. Also, although not shown, the server side 1 has a processor for comprehensively controlling devices such as a CPU, a memory such as a ROM and a RAM, and a storage unit such as a hard disk. The operation of the server side 1 in the present embodiment is realized by the cooperation of these hardware elements and programs. Note that these hardware elements may be configured by the program execution server 10, the storage server 11, and the print execution server 12, respectively.

[0013] The client terminal 4, which is a mobile terminal such as a PC or smartphone operated by a user, includes a CPU 30, a ROM 31, and a RAM 32. It also includes a monitor 5, a printer 6, an input device 7, a storage device 8, and an input / output interface (not shown) for connecting to the network 3. The CPU 30 is a central processing unit that controls the entire client terminal 4 by executing the OS stored in the storage device 8, the ROM 31, and the RAM 32. The CPU 30 can also execute a web browser 40, a print execution application 41, and other programs stored in the ROM 31 and the RAM 32. Thereby, for example, based on the input data, the data is processed and output, or each hardware is controlled to realize each function of the client terminal 4. The ROM 31 is a read-only memory in which each program is stored. The RAM 32 is a non-volatile random access memory and is used, for example, as a work memory for the CPU 30.

[0014] The web browser 40 browses websites on the Internet and executes web applications. When executing a web application, it receives a client-side program 53 from the server side 1 and is executed by a program analysis unit 50 that interprets script languages such as HTML and JavaScript. Hereinafter, the client-side program 53 may also be referred to as the client side. The web browser 40 also includes a cache 51 that holds preview image data 54, temporary data, etc. created during the execution of the web application. The web browser 40 also includes a screen display unit that displays a preview image, etc. on the monitor 5. The print execution application 41 transmits the print data created by the web application to the printer 6 directly connected to the client terminal 4 or connected via the network for printing.

[0015] A web application is an application that, for example, lays out image data such as a photo to be printed and causes it to be printed by a printer. In a web application, assume that layout data such as a poster or photo album created by arranging image data on the client side is color-converted into print data and printed on the server side. In that case, the color tone of the image previewed on the client-side screen may be different from the color tone of the image on the printed matter. An example of such a phenomenon will be described.

[0016] For example, assume a configuration where the client side creates a preview image, the server side creates print data, and the printer prints in the sRGB color space. When using image data defined in the AdobeRGB color space in such a configuration, the above phenomenon occurs under the following conditions. The first condition is when only the server side supports color management. In that case, the preview image on the web browser is not displayed with the appropriate color tone, so the color tone of the preview image and the printed matter printed in sRGB will be different. The second condition is when only the client side supports color management. In that case, the preview image is displayed with the appropriate color tone, but the printed matter is not properly color-converted, so their color tones will be different. The third condition is when both support color management and the monitor profile is AdobeRGB. In that case, since it is previewed in the AdobeRGB color gamut, the color tone will be different from the printing result printed in sRGB. The fourth condition is when the execution results of color management on both sides are different. If the monitor is sRGB, both will be converted to the sRGB color space, but if there is a difference in the execution results of color management, the color tone of the preview image and the printed matter will be different.

[0017] In this embodiment, it is displayed on the client side based on the print data whose color has been converted on the server side. With such a configuration, the color tone that the user recognizes as a preview image is based on the print data after color conversion, so it is possible to suppress the difference in color tone that occurs between the preview image created on the client side and the print result executed on the server side.

[0018] Hereinafter, the process of suppressing the difference in color tone between the preview image and the print result will be described with reference to FIGS. 1 to 3.

[0019] FIG. 2 is a diagram showing an example of a user interface screen (UI screen) of a web application that operates in the web browser 40 and creates posters and photo albums. The web application is launched when a URL for launching the web application is input into the web browser 40. When a URL is input into the web browser 40, the server side 1 transmits the client side program 53 to the web browser 40. Then, by executing the client side program 53 received by the web browser 40, the web application is launched, and thereafter, processing based on user operations is executed.

[0020] FIG. 2 is a diagram showing an example of a UI screen displayed when the web application operates. In the preview area 60 of the screen 200, user layout operations such as adjusting the positions of images and text objects can be accepted. When a user operation such as a click is performed on the button 70, a function of importing image data such as a photo specified by the user into the web application is executed. Also, when a user operation such as a click is performed on the button 73, a function of transmitting the image data and layout result edited in the web application to the server side 1 for printing is executed.

[0021] Area 80 is an area that displays a list of images imported into a web application as thumbnail images. Figure 2 shows a state where a total of 5 images have been imported. For example, when a user operation such as a click on a thumbnail image or a drag-and-drop to the preview area 60 is performed, the specified image data is laid out on the preview area 60. Image 91 shows a state where the thumbnail image 92 selected in area 80 is laid out on the preview area 60.

[0022] When a user operation such as a click is performed on button 72, a function to layout a text object is executed. Text 90 shows a state where the text object specified by the user is laid out on the preview area 60. When a user operation such as a click is performed on button 71, a function to correct the image data laid out on the preview area 60 is executed. The image correction to be executed includes, for example, brightness correction and color tone correction.

[0023] Next, the display control process until printing is performed using the image data such as a photo specified by the user by the above web application will be described using the flowchart of Figure 3. The process shown in Figure 3 is started, for example, when a user operation such as a click is performed on button 70 of screen 200 in order for the user to select a photo to be imported.

[0024] In S301, the client-side program 53 captures image data such as a photo specified by the user. Hereinafter, the raw image data immediately after capture is referred to as raw image data. For example, the client-side program 53 captures the image data corresponding to the photo specified by the user from the group of image data stored in the storage device 8 of the client terminal 4 or the like. Also, not only the image data stored in the client terminal 4 but also the image data obtained by accessing an external server different from the server side 1 that the client terminal 4 can access may be captured. The client-side program 53 stores the captured image data in the cache 51 or the RAM 32. Alternatively, the client-side program 53 may upload the captured image data to the storage server 11. In that case, when uploading a file to the storage server 11 or downloading a file from the storage server 11, a previously prepared fixed URL may be used, or a URL may be newly issued and used each time of uploading.

[0025] In S302, the client-side program 53 creates preview image data 54 based on the raw image data in order to display it in the area 80 or the preview area 60 based on the image data captured in S301. Here, for example, resizing to an appropriate size for display and color conversion based on the ICC profile incorporated in the image and the monitor profile applied to the monitor are performed. The color management function provided in the web browser 40 is used for this color conversion. Specifically, in S302, for example, the raw image data is used in HTML <canvas>Render to the element, <canvas>By using the file output function provided by the element, a resized image may be created. If the web browser 40 supports color matching, color conversion is performed simultaneously. The client-side program 53 may save the created preview image data 54 in the cache 51 or the RAM 32, or may upload it to the storage server 11. FIG. 1 shows that the preview image data 54 is saved in the cache 51. Also, the preview image data 54 may be saved in the RAM 32 as memory data instead of a file, or may be converted into a Base64 string and saved.

[0026] In S303, the client-side program 53 displays the preview image data 54 created in S302 on the UI screen 200. At that time, the thumbnail image of the captured image data may be displayed only in the area 80, or may be simultaneously displayed on the preview area 60. Here, a method of displaying an image on the area 80 and the preview area 60 will be described. As a first method, when the preview image data 54 is saved in the cache 51 or the RAM 32 in S302, an HTML element is used to display the image. Specifically, the file path where the saved preview image data 54 is placed is set in the src attribute of the element. As a second method, when the preview image data 54 is uploaded to the storage server 11 in S302, the URL of the upload destination is set in the src attribute of the HTML element. Also, in the first method and the second method, instead of the <canvas>You may also place the attributes and use a scripting language such as JavaScript to display the image by passing the image object.

[0027] In S304, the client - side program 53 transfers the raw image data to the storage server 11. Specifically, the client - side program 53 uses HTTP (Hypertext Transfer Protocol) POST to send the raw image data to the URL of the storage server 11. Hereinafter, the raw image data uploaded to the storage server 11 is called the captured image data 21. If the image data captured in S301 is uploaded to the storage 11 and the server - side program 20 can access the captured image data 21 in the subsequent process, the process of S304 may be skipped.

[0028] After the process of S304, asynchronously with respect to the client - side, the server - side program 20 executes the processes of S390 and S391. To start the process of the server - side program 20, for example, a WebAPI for executing the process of the server - side program 20 may be provided on the server - side 1. In that case, after the client - side program 53 finishes the process of S304, by calling the WebAPI, the process of the server - side program 20 is started. Alternatively, a trigger process for starting the process of the server - side program 20 may be configured in the storage server 11 when a file is uploaded or updated to a predetermined URL of the storage server 11. In that case, when the client - side program 53 uploads a file with the raw image data to a predetermined URL of the storage server 11 in S304, the process of the server - side program 20 is started. While the processes of S390 - S391 are being performed, on the client - side, for example, on the UI screen 200, user operations other than the print execution instruction, such as image correction and layout setting, are accepted.

[0029] In S390, the server - side program 20 creates image data obtained by converting the raw image data transmitted in S304 into a color space that the printer 2 can output. Here, it is assumed that the conversion is made to sRGB, which can be output by a general monitor or printer. Specifically, for example, the server - side program 20 decodes the image data with an image decoder that can interpret an ICC profile, and encodes the decoded image data with an image encoder capable of sRGB output to convert the image data into the sRGB color space. The image data converted into the sRGB color space may be stored in the memory of the server - side program 20, or may be file - formed and uploaded to the storage server 11. Hereinafter, the image data after color conversion is referred to as color - converted image data 22. Although it is desirable not to resize the color - converted image data 22, it may be resized as long as the size does not fall below the resolution required at the time of printing.

[0030] In S391, the server - side program 20 creates image data for replacing the preview image data 54 on the client side based on the image data for which color conversion was performed in S390. Hereinafter, the image data for replacement is referred to as replacement image data 23. The replacement image data is uploaded to the storage server 11 accessible by the client - side program 53. The file format at this time may be an image file format or text string data converted to Base64. Also, the server - side program 20 resizes the replacement image data 23 to the same size as the preview image data 54. When the processing of S391 is completed, the asynchronous processing of the server - side program 20 ends.

[0031] When S304 is completed, the client-side program 53 waits for the completion of the creation of the replacement image data 23 in S305. Specifically, a WebAPI for inquiring about the completion of the creation of the replacement image data 23 is provided on the server side 1, and the client-side program 53 calls it periodically. Also, using the WebSocket mechanism, the server side 1 may send a notification of the completion of the creation of the replacement image data 23 to the client-side program 53. When using the second method described in S303, perform HTML reloading periodically or use a script language such as JavaScript periodically to elements <canvas>It may be possible to perform the reload process of the elements. In such a configuration, if the creation of the replacement image data 23 is completed and has been uploaded to the storage server 11, the image data will be replaced. Therefore, the client-side program 53 can detect the completion of the creation of the replacement image data 23. These detection processes are performed in the background or using a timer event so that the user can continue with the Web application operations.

[0032] In S306, the client-side program 53 replaces the preview image data 54 displayed in S303 and displays the replacement image data 23 on the screen. If an image of interest is laid out in the preview area 60, the image on the preview area 60 is also replaced. Specifically, when using the first display method described in S303, the replacement image data 23 is downloaded from the storage server 11 and the attribute or <canvas>Set and display the path of the replacement image data 23 in the attribute. When using the second display method described in S303, perform a reloading of HTML or use a script language such as JavaScript to element, <canvas>Perform a reload process for elements and replace the previewed image.

[0033] In S307, the client - side program 53 instructs the server - side 1 to print according to a user operation. Specifically, after the layout operation is completed, when a user operation such as a click is performed on the button 73, the execution of printing is instructed. At this time, the client - side program 53 directly sends the content of the layout data to the server - side 1 by HTTP POST or uploads it to the storage server 11.

[0034] In S308, the server - side program 20 creates data in a form printable by the printer 2 based on the layout data sent or uploaded in S307. Hereinafter, the data in a form printable by the printer 2 is called print data 24. When the layout data contains image data, the print data 24 is created using the color - converted image data 22. The print data 24 may be in a data format directly printable by the printer 2 or in a data format interpretable by a program such as a device driver that controls the printer 2. Also, the print data 24 may be in a document file format such as PDF or in an image format such as JPEG. Also, the print data 24 may be directly sent to a printer connected via a network such as the printer 6 or uploaded to the storage server 11.

[0035] In S309, the printer 2 main body, or a server or application (illustrated as a printing device) that controls the printer 2 or the printer 6 executes printing. For example, when the server-side program 20 directly transmits to the printer 6 in S308, the printer 6 prints the received print data 24. Otherwise, when the server-side program 20 uploads the print data 24 to the storage server 11 in S308, the print execution application 41 may download the print data 24 from the storage server 11 and execute printing with the printer 6. Also, the print execution server 12 provided in the server side 1 may download the print data 24 from the storage server 11 and execute printing with the printer 6. When printing is performed in S309, the process of FIG. 3 ends.

[0036] As described above, in the present embodiment, while displaying a preview image based on the raw image data and receiving a user operation in S303, color space conversion is performed on the raw image data in S390 and S391 to create replacement image data. When the replacement image data is created, in S306, the preview image data is replaced with the replacement image data and the replacement image data is displayed, and when a print execution instruction is given, print data is generated using the replacement image data.

[0037] The preview image replaced in S306 may have a different color tone from the preview image before replacement. This is the case, for example, when the result of color management on the client side in S302 and the result of color management on the server side 1 in S390 are different. The replacement image data that is color-converted in S390 and displayed in S306 has not been color-converted suitable for the monitor, and the color tone at the time of printing is displayed. Therefore, the user can execute printing after recognizing the color tone at the time of printing.

[0038] [Second Embodiment] Next, the second embodiment will be described with respect to the differences from the first embodiment. When executing the process of S304 in FIG. 3, if it is clear that the hues of the preview image data 54 created on the client side and the replacement image data 23 match, there is no need to transmit the captured raw image data to the server side 1 in S304. In this embodiment, using predetermined test image data, the server side 1 determines whether or not the hues of the preview image data created on the client side and the replacement image data created on the server side 1 match, and the determination result is transmitted to the client side. The client side controls the transmission of the raw image data to the server side 1 according to the determination result.

[0039] FIG. 4 is a flowchart showing a determination process for color difference that starts at an arbitrary timing, for example, when a Web application is launched, before the process of FIG. 3 starts. In S401, the client-side program 53 creates preview image data (test preview image data) from predetermined image data (test image data) for comparing colors in the same manner as S302 in the first embodiment. That is, color conversion is performed based on the ICC profile embedded in the image and the monitor profile applied to the monitor. If the Web browser 40 supports color matching, color conversion is also performed simultaneously. At this time, resizing is not performed in this embodiment. The predetermined image data for comparing colors is data corresponding to the raw image data in the process of FIG. 3 and includes data containing a test pattern of a predetermined color. Also, the predetermined image data for comparing colors should at least include pixels of R = 0, G = 0, B = 0 and pixels of R = 255, G = 255, B = 255 in the 24-bit RGB color model. Also, it is desirable that the size be lightweight, such as 256 pixels in height and 256 pixels in width. The predetermined image data for comparing colors may be generated by the client-side program 53 or may be stored in advance in the storage server 11 and downloaded by the client-side program 53 therefrom. The predetermined image data for comparing colors and the generated preview image data may be stored in the cache 51 or the RAM 32, or may be uploaded to the storage server 11.

[0040] In S402, the client-side program 53 transmits the predetermined image data for comparing colors and the generated preview image data to the server side 1. At this time, it may be transmitted by HTML POST, or may be uploaded to an area of the storage server 11 accessible by the server-side program 20.

[0041] In S403, the server - side program 20 performs color conversion on the image for color - flavor comparison based on predetermined image data for comparing the color - flavor sent in S402. The color conversion of the image for color - flavor comparison is the same as the color conversion in S390 in the first embodiment. At this time, in this embodiment, resizing is not performed. Note that the server - side program 20 may be started by installing and calling the WebAPI in the first embodiment. With such a configuration, the time until the response can be shortened, and the reception of response data can be simplified.

[0042] In S404, the server - side program 20 compares the color - flavor of the image data whose color conversion was performed in S403 with the color - flavor of the test preview image data created in S401. For example, the server - side program 20 compares the RGB values of each pixel of both data, and if the values match, it determines that the color - flavor matches. At this time, instead of a perfect match, it may be determined that they match if the difference in the pixel values of each of RGB is within a predetermined range such as within 2.

[0043] In S405, the server - side program 20 includes the color - flavor comparison result in S404 in the response data and returns it as a response to the calling - source client - side program 53. The color - flavor comparison result may be, for example, statistical information representing the matching ratio of the color - flavor for each RGB color.

[0044] In S406, the client - side program 53 acquires and analyzes the color - flavor comparison result included in the response data, and determines whether the color - flavor matches. In the determination, for example, it may be determined that they match if the matching ratio for each RGB color exceeds a reference value. If it is determined that the color - flavor matches, the process proceeds to S407. On the other hand, if it is determined that the color - flavor does not match, the process of FIG. 4 ends. If the process of FIG. 4 ends without going through S407, the process of FIG. 3 is performed as described in the first embodiment.

[0045] In S407, the client-side program 53 is set not to send the raw image data to the server side 1 when it captures user-specified image data. For example, setting information such as a flag indicating not to send the raw image data to the server side 1 is held in the cache 51. Such setting information is to be deleted when the web application ends. After the process of S407, the process of FIG. 4 ends. When the process of FIG. 4 ends via S407, on the client side, after the process of S303, the processes of S304 to S306 in FIG. 3 are not performed, and the process of S307 is performed.

[0046] As described above, before creating the preview image data based on the user-specified image data, it is determined whether the hues of the preview image data created on the client side and the replacement image data created on the server side match based on the predetermined test image data. If it is determined that the hues match, the processes of S304 to S306 in FIG. 3 are not performed, so the amount of data communicated between the client side and the server side can be reduced.

[0047] [Third Embodiment] Hereinafter, the third embodiment will be described with respect to the points different from the first and second embodiments. FIG. 5 is a flowchart showing a hue difference determination process that starts at an arbitrary timing, for example, when the web application is launched, before the process of FIG. 3 starts.

[0048] In S501, the client - side program 53 acquires predetermined image data (test image data) for comparing hues from the server - side 1. For example, the predetermined image data for comparing hues is stored in advance in the storage server 11, and the client - side program 53 may download it from there. The predetermined image data for comparing hues, which is acquired in S501, is data corresponding to the color - converted image data on the server - side 1 and is data including a test pattern of a predetermined hue. Also, the predetermined image data for comparing hues shall include at least the pixel of R = 0, G = 0, B = 0 and the pixel of R = 255, G = 255, B = 255 in the 24 - bit RGB color model. Further, it is desirable that the size is lightweight, such as 256 pixels in height and 256 pixels in width.

[0049] In S502, based on the predetermined image data for comparing hues, the client - side program 53 creates preview image data (test preview image data) and displays it on the screen 200 in the same manner as S302 and S303 of the first embodiment.

[0050] In S503, the client - side program 53 acquires the color data on the display of the screen 200 of the predetermined image data for comparing hues. Specifically, for example, it acquires a screen - shot image of the screen display part and obtains the RGB values from that image. Also, for example, in HTML <canvas>You may also obtain the RGB values of the screen display by using the color data output function provided.

[0051] In S504, the client-side program 53 compares the color tone of the predetermined image data for comparing the color tone obtained in S501 with the color tone of the on-screen color data obtained in S503. For example, the client-side program 53 compares the RGB values of each pixel of both data, and if the values match, it determines that the color tones match. At that time, instead of a perfect match, if the difference between the pixel values of each of RGB is within a predetermined range such as within 2, it may be determined that they match. If it is determined that the color tones match, the process proceeds to S505. On the other hand, if it is determined that the color tones do not match, the process of FIG. 5 ends. If the process of FIG. 5 ends without going through S505, as described in the first embodiment, the process of FIG. 3 is performed.

[0052] In S505, when the client-side program 53 has captured user-specified image data, it is set not to transmit the raw image data to the server side 1. For example, setting information such as a flag indicating not to transmit the raw image data to the server side 1 is held in the cache 51. Such setting information is to be deleted when the web application ends. After the process of S505, the process of FIG. 5 ends. When the process of FIG. 5 ends via S505, on the client side, after the process of S303, the processes of S304 to S306 in FIG. 3 are not performed, and the process of S307 is performed.

[0053] As described above, before creating the preview image data based on the user-specified image data, it is determined whether the color tone of the color conversion image data in which color conversion is performed on the server side based on the predetermined test image data matches the color tone that is color-converted to be suitable for the monitor and displayed on the client side based on the color conversion image data. If it is determined that the color tones match, the processes of S304 to S306 in FIG. 3 are not performed, so the amount of data communicated between the client side and the server side can be reduced.

[0054] [Fourth Embodiment] Hereinafter, the fourth embodiment will be described with respect to points different from the first to third embodiments. In this embodiment, until the creation process of the replacement image data is completed at S391 in FIG. 3, on the client side, it is presented to the user that the color conversion is in progress.

[0055] FIG. 6 is a diagram showing an example of the UI screen of the web application in this embodiment. Message 600 in FIG. 6 shows a state in which it is presented to the user in a dialog that the color conversion is in progress on the preview area 60. When the client side program 53 detects the completion of the creation of the replacement image data 23 at S305, it cancels the display of the message 600, replaces it with the preview image data displayed at S303, and displays the replacement image data 23 on the screen 200.

[0056] As described above, according to this embodiment, it is possible to clearly recognize for the user the timing at which the color can be judged on the screen.

[0057] [Fifth Embodiment] Hereinafter, the fifth embodiment will be described with respect to points different from the first to fourth embodiments. In this embodiment, until the creation process of the replacement image data is completed at S391 in FIG. 3, the reception of the print instruction is restricted on the screen 200. For example, at the start of the process of S301, the client side program 53 changes the shape and color scheme of the button 73 to gray display or the like and restricts the display to a state where instructions from the user cannot be received. Then, when the process of S306 is completed, the client side program 53 makes the button 73 in a state where instructions from the user can be received.

[0058] FIG. 7 is a diagram showing an example of the UI screen of the web application in this embodiment. As shown in FIG. 7, the color scheme of the button 73 is grayed out, and user operations such as clicking are restricted from being received.

[0059] As described above, according to this embodiment, it is possible to prevent erroneously accepting an instruction to execute printing from the user when it is not a timing at which the user can make a color judgment on the screen.

[0060] [Sixth Embodiment] Hereinafter, the sixth embodiment will be described with respect to points different from the first to fifth embodiments. In this embodiment, in S390 of FIG. 3, assume a case where the image data transmitted from the client side is in the Adobe RGB color space and the color space reproduced by the monitor 5 is the Adobe RGB color space (referred to as the first color space). Also, the printer 2 can print in the Adobe RGB color space. In such a case, in printing, it is desirable to output in Adobe RGB, which has a wider color gamut than sRGB (referred to as the second color space). Therefore, in this embodiment, in the case of that situation, the color conversion in S390 is skipped, and replacement image data is created in S391 while maintaining the color gamut of Adobe RGB.

[0061] For example, in S304, the client side may send the setting information of sRGB and Adobe RGB from the printer driver to the server side 1 together. And if the acquired setting content is Adobe RGB, the server side 1 may skip the color conversion in S390 and create replacement image data in S391 while maintaining the color gamut in Adobe RGB. Note that in the above, Adobe RGB is described as the first color space and sRGB is described as the second color space, but if the color gamut of the first color space is wider than that of the second color space, it is not limited to the above color spaces, and the operation of this embodiment is applicable.

[0062] As described above, according to this embodiment, the processing on the server side 1 in FIG. 3 can be controlled so as to obtain a more appropriate output result according to the color space that the printer 2 can output.

[0063] The present invention can also be realized by supplying a program that implements one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and causing one or more processors in a computer of the system or apparatus to read and execute the program. It can also be realized by a circuit (for example, ASIC) that implements one or more functions.

[0064] The invention is not limited to the above embodiments, and various changes and modifications can be made without departing from the spirit and scope of the invention. Therefore, the claims are appended to disclose the scope of the invention.

Description of Reference Numerals

[0065] 1 Server side: 2 Printer: 4 Client terminal: 5 Monitor< / canvas> < / canvas> < / canvas> < / canvas> < / canvas> < / canvas> < / canvas>

Claims

1. A system including a client equipped with a web browser and a server capable of providing functions by a web application to the client, The client includes Acquisition means for acquiring image data to be printed by the web application, First generation means for generating preview image data on which a first color conversion process for display on a display unit has been performed based on the image data to be printed acquired by the acquisition means, Display control means for displaying a first preview image on the display unit based on the preview image data generated by the first generation means, First transmission means for transmitting the image data to be printed to the server, and is provided with The server includes Second generation means for generating color conversion image data on which a second color conversion process for printing by a printing device has been performed based on the image data to be printed transmitted by the first transmission means, and is provided with The display control means displays a second preview image based on the color conversion image data instead of the preview image data based on the fact that the color conversion image data has been generated by the second generation means. A system characterized by this.

2. The client further includes Third generation means for generating test preview image data on which the first color conversion process has been performed based on test image data, Second transmission means for transmitting the test image data and the test preview image data generated by the third generation means to the server, and is provided with The server further includes Fourth generation means for generating color-converted test image data on which the second color conversion process has been performed based on the test image data transmitted by the second transmission means, A first comparison means for comparing the color tone of the test preview image data transmitted by the second transmission means with the color tone of the color-converted test image data generated by the fourth generation means; A third transmission means for transmitting the result of comparison by the first comparison means to the client; comprising; The client further comprises: A first control means for controlling the transmission of the image data of the printing target by the first transmission means based on the result of comparison transmitted by the third transmission means; The system according to claim 1, characterized by comprising.

3. When the first control means determines that the color tones of the test preview image data and the color-converted test image data match as a result of the comparison, the first control means controls the first transmission means not to transmit the image data of the printing target. The system according to claim 2, characterized in that.

4. When the first control means determines that the color tones of the test preview image data and the color-converted test image data do not match as a result of the comparison, the first control means controls the first transmission means to transmit the image data of the printing target. The system according to claim 3, characterized in that.

5. The server further comprises: A fifth generation means for generating color-converted test image data after the second color conversion process is performed based on the test image data; A fourth transmission means for transmitting the color-converted test image data generated by the fifth generation means to the client; comprising; The client further comprises: A sixth generation means for generating test preview image data after the first color conversion process is performed based on the color-converted test image data transmitted by the fourth transmission means; An acquisition means for acquiring color data displayed on a screen based on the test preview image data generated by the sixth generation means; A second comparison means for comparing the color tone of the test image data after the color conversion with the color tone of the color data acquired by the acquisition means; A second control means for controlling the transmission of the image data of the print target by the first transmission means based on the result of the comparison by the second comparison means; The system according to claim 1, characterized by comprising:

6. When it is determined based on the result of the comparison that the color tone of the test image data after the color conversion matches the color tone of the color data, the second control means controls the first transmission means so as not to transmit the image data of the print target. The system according to claim 5, characterized by the above.

7. When it is determined based on the result of the comparison that the color tone of the test image data after the color conversion does not match the color tone of the color data, the second control means controls the first transmission means so as to transmit the image data of the print target. The system according to claim 6, characterized by the above.

8. While the color conversion image data is being generated by the second generation means, the display control means displays a message indicating that the color conversion image data is being generated, together with the first preview image. The system according to any one of claims 1 to 7, characterized by the above.

9. While the color conversion image data is being generated by the second generation means, the display control means makes it impossible to accept an instruction to execute printing. The system according to any one of claims 1 to 8, characterized by the above.

10. The color gamut of the color conversion image data is narrower than the color gamut of the image data of the print target. The system according to any one of claims 1 to 9, characterized by the above.

11. When it is possible to output the color gamut of the image data to be printed by the printing apparatus, the second generation means generates image data based on the color gamut of the image data to be printed instead of generating the color-converted image data. When the image data is generated by the second generation means, the display control means displays the second preview image based on the image data instead of the preview image data. The system according to claim 10, characterized in that.

12. The system according to claim 10 or 11, characterized in that the color gamut of the color-converted image data is sRGB and the color gamut of the image data to be printed is Adobe RGB.

13. The system according to any one of claims 1 to 9, characterized in that the color tone by color management corresponding to the client and the color tone by color management corresponding to the server are different from each other.

14. The system according to any one of claims 1 to 9, characterized in that one of the client and the server corresponds to color management and the other does not correspond to color management.

15. The system according to any one of claims 1 to 13, characterized in that the acquisition means acquires, as the image data to be printed, the image data selected by the user on the user interface screen of the Web application.

16. A method executed in a system including a client including a Web browser and a server capable of providing functions of a Web application to the client, In the client, An acquisition step of acquiring image data to be printed by the Web application, A first generation step of generating preview image data in which first color conversion processing for causing a display unit to display is performed based on the image data of the object to be printed acquired in the acquisition step; A display control step of causing the display unit to display a first preview image based on the preview image data generated in the first generation step; A first transmission step of transmitting the image data of the object to be printed to the server; In the server, A second generation step of generating color conversion image data in which second color conversion processing for causing a printing device to print is performed based on the image data of the object to be printed transmitted in the first transmission step; and having, The display control step causes a second preview image to be displayed based on the color conversion image data instead of the preview image data based on the fact that the color conversion image data is generated in the second generation step. A method characterized by the above.

Citation Information

Patent Citations

  • Picture printing system and method therefor

    JP1999220611A

  • Preview system and preview aiding system

    JP2001282499A

  • Method and system for image distribution

    JP2002209164A

  • Image processor and image processing method

    JP2010062710A

  • Display device, display method, computer program and recording medium

    JP2012018631A