Abstract:
An apparatus detects an area specified based on a mark of a specific color out of three primary colors in pigment or three primary colors in light from an image. An other-color-information eliminating unit eliminates information of other colors from a tone level of the specific color by correcting the tone level of the specific color based on tone levels of two colors other than the specific color out of the three primary colors in pigment or the three primary colors in light. An area detecting unit detects the area by specifying the mark based on the tone level from which the information of other colors is eliminated.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The present invention relates to a technology for detecting an area specified based on a mark of a specific color out of three primary colors from a printed image.  
         [0003]     2. Description of the Related Art  
         [0004]     Recently, an electronic watermark technique of embedding invisible data into image data has been actively developed. For example, Japanese Patent Application Laid-Open No. 2004-349879 describes a technique of dividing image data into plural blocks, and embedding plural codes into the blocks by relating one code to each block based on a magnitude relation of characteristics of the block such as average concentration of the block.  
         [0005]     A technique of embedding data into printed or displayed image and using the image is also being developed. For example, when a uniform resource locator (URL) is embedded into a printed image, a user can fetch the printed image with an imaging device installed in a portable telephone to extract the URL, thereby automatically accessing a web page by using the extracted URL.  
         [0006]     To fetch data from the image, it is necessary to specify an area of the image where the data is embedded. For specifying an image area, a technique of embedding a square mark into the printed image to specify a data-embedded area is developed (see, for example, Japanese Patent Application Laid-Open No. H7-254037).  
         [0007]     Japanese Patent Application Laid-Open No. H9-018707 discloses a technique of embedding a yellow mark into a printed image to make the embedded mark not easily noticeable. Japanese Patent Application No. 2004-110116 describes a mark that is designed not to be affected by variation in the size of an image picked up with an imaging device.  
         [0008]     However, when a background color of the mark is not constant, and when a character or a line in another color is present around the mark or on the mark, detection of the mark becomes difficult. To facilitate the detection of the mark, a technique of separating a specific color area from the image area is developed (see, for example, Japanese Patent Application Laid-Open No. 2002-216119).  
         [0009]     However, the conventional techniques require an enormous calculation for color space conversion for each pixel when separating a specific color area.  
       SUMMARY OF THE INVENTION  
       [0010]     It is an object of the present invention to at least solve the problems in the conventional technology.  
         [0011]     An apparatus according to one aspect of the present invention detects an area specified based on a mark of a specific color out of three primary colors in pigment or three primary colors in light from an image. The apparatus includes an other-color-information eliminating unit that eliminates information of other colors from a tone level of the specific color by correcting the tone level of the specific color based on tone levels of two colors other than the specific color out of the three primary colors in pigment or the three primary colors in light; and an area detecting unit that detects the area by specifying the mark based on the tone level from which the information of other colors is eliminated.  
         [0012]     A method according to another aspect of the present invention is for detecting an area specified based on a mark of a specific color out of three primary colors in pigment or three primary colors in light from an image. The method includes eliminating information of other colors from a tone level of the specific color by correcting the tone level of the specific color based on tone levels of two colors other than the specific color out of the three primary colors in pigment or the three primary colors in light; and detecting the area by specifying the mark based on the tone level from which the information of other colors is eliminated.  
         [0013]     A computer-readable recording medium according to still another aspect of the present invention stores a computer program for realizing the above method according to the present invention on a computer.  
         [0014]     A printed medium according to still another aspect of the present invention has an image printed thereon. An area, which is specified based on a mark of a specific color out of three primary colors in pigment or three primary colors in light, is arranged in a detectable manner in the image. The area can be detected by specifying the mark based on a tone level of the specific color from which information of other colors is eliminated by correcting the tone level of the specific color based on tone levels of two colors other than the specific color out of three primary colors in pigment or three primary colors in light. An image data is divided into a plurality of blocks at a position related to the mark. A code is embedded in each pair of blocks based on a magnitude relation of a feature amount in each of the blocks.  
         [0015]     The above and other objects, features, advantages and technical and industrial significance of this invention will be better understood by reading the following detailed description of presently preferred embodiments of the invention, when considered in connection with the accompanying drawings. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0016]      FIG. 1  is a functional block diagram of an image-area detecting apparatus according to an embodiment of the present invention;  
         [0017]      FIG. 2  is a functional block diagram of a color separating unit of the image-area detecting apparatus;  
         [0018]      FIG. 3  is a table of three primary colors (yellow, magenta, and cyan) in pigment, three primary colors (red, green, and blue) in light, and an RGB value of black;  
         [0019]      FIG. 4  is an example of a color separation by the color separating unit;  
         [0020]      FIG. 5  is a flowchart of a processing procedure for a color separating process performed by the color separating unit with respect to each pixel;  
         [0021]      FIG. 6  is a functional block diagram of a color separating unit capable of controlling an influence of R or G; and  
         [0022]      FIG. 7  is a functional block diagram of a computer that executes an image-area detecting program according to the present embodiment. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0023]     Exemplary embodiments of the present invention are explained in detail below with reference to the accompanying drawings.  
         [0024]      FIG. 1  is a functional block diagram of an image-area detecting apparatus  100  according to an embodiment of the present invention. The image-area detecting apparatus  100  includes an image reading unit  110 , an image-data storing unit  120 , a color separating unit  130 , an area extracting unit  140 , and a result output unit  150 .  
         [0025]     The image reading unit  110  is a processor that reads a printed image with a color imaging device, and stores image data of the read printed image into the image-data storing unit  120 . The image-data storing unit  120  stores-the image data of the printed image read by the image reading unit  110 . The image-data storing unit  120  stores values of R, G, and B of each pixel.  
         [0026]     The color separating unit  130  is a processor that separates yellow color from the image data stored in the image-data storing unit  120 , and stores the separated result into the image-data storing unit  120 . Specifically, the color separating unit  130  calculates 
 
B′=B+(255-min (R, G))
 
 using values of R, G, and B that are stored in the image-data storing unit  120 . When the value of B′ exceeds “255”, the color separating unit  130  clips “255”, and stores a result into the image-data storing unit  120 . Details of the color separating unit  130  are explained later. 
 
         [0027]     In this example, a tone level of black (darkest color) is “0”, and a tone level of white (brightest color) is “255”. When the tone level of black (darkest color) is “255”, and the tone level of white (brightest color) is “0”, the color separating unit  130  calculates 
 
B′=B-max (R, G)
 
 and when the value of B′ is smaller than “0”, the color separating unit  130  clips “0”, and stores the result into the image-data storing unit  120 . 
 
         [0028]     The area extracting unit  140  is a processor that specifies a yellow mark using the image data from which the yellow color is separated by the color separating unit  130 , and that extracts an area in which the data is embedded. The area extracting unit  140  sends the extracted result to the result output unit  150 . Specifically, the area extracting unit  140  specifies the yellow mark using the value of B′ calculated by the color separating unit  130 . The result output unit  150  is a processor that outputs the image data of the area extracted by the area extracting unit  140  to extract the data.  
         [0029]      FIG. 2  is a functional block diagram of the color separating unit  130 . The color separating unit  130  has a correction-amount calculating unit  131 , a correcting unit  132 , and a clipping unit  133 .  
         [0030]     The correction-amount calculating unit  131  is a processor that calculates 255-min (R, G) as a value to be added to B of each pixel. In other words, the correction-amount calculating unit  131  reads the values of R and G for each pixel from the image-data storing unit  120 , compares the value of R with the value of G, subtracts a smaller value from  255 , thereby calculating the value to be added.  
         [0031]     The correcting unit  132  is a processor that adds the value calculated by the correction-amount calculating unit  131  to the value of B of each pixel. In other words, the correcting unit  132  reads the value of B for each pixel from the image-data storing unit  120 , and adds 255-min (R, G) calculated by the correction-amount calculating unit  131 , thereby calculating B′.  
         [0032]     The clipping unit  133  is a processor that clips the value of B′ calculated by the correcting unit  132 , to within “255”. In other words, the clipping unit  133  calculates CL(B′), in which CL(x) is a function of clipping x to “255” or below.  
         [0033]      FIG. 3  is a table of three primary colors (yellow, magenta, and cyan) in pigment, three primary colors (red, green, and blue) in light, and an RGB value of black.  
         [0034]     As shown in  FIG. 3 , a value of blue (B) as a complementary color of yellow is “0”, and values of R and G as complementary colors of yellow are “255”. Red, green, and black also make the value of B “0”. When 255-min (R, G) is added to the value of B, the information of red, green, and black can be eliminated from the plane of B.  
         [0035]     The above is specifically explained taking examples of numerical values. For yellow, the values of R, G, and B are “255”, “255”, and “0” respectively. When R and G are compared, “255” is smaller. Therefore, “255” is subtracted from “255” to obtain “0”. This value is added to B( 0 ) obtain “0”. This shows yellow color that is the same as the original color. Assume that R, G, and B have values “200”, “190”, and “70”. When R( 200 ) is compared with G( 190 ), G has a smaller value. Therefore, the value “190” is selected. This “190” is subtracted from “255” to obtain “65”. This value is added to B( 70 ) to obtain “135”. This “135” shows a separated color.  
         [0036]     For an achromatic color, for example, assume that R, G, and B take values of “128”, “128”, and “128” respectively. When R and G are compared, a smaller value is “128”. Therefore, “1128” is subtracted from “255” to obtain “127”. This value is added to B( 128 ) to obtain “255”, and shows white.  
         [0037]     For red, the values of R, G, and B are “255”, “0”, and “0” respectively. When R and G are compared, “0” is smaller. Therefore, “0” is subtracted from “255” to obtain “255”. This value is added to B( 0 ) to obtain “255”, and shows white.  
         [0038]     For magenta, the values of R, G, and B are “255”, “0”, and “255” respectively. When R and G are compared, “0” is smaller. Therefore, “0” is subtracted from “255” to obtain “255”. This value is added to B( 255 ) to obtain “510”. Since “510” is larger than “255”, “255” is clipped to obtain “255”.  
         [0039]     As explained above, B′=B+(255-min (R, G)) is calculated, and is clipped to become equal to or below “255”. With this arrangement, information other than yellow is eliminated from the plane of B, thereby separating yellow from the plane of B. In other words, data of yellow is separated and formed as a value smaller than 255 on the plane of B.  
         [0040]      FIG. 4  is an example of a color separation by the color separating unit  130 , showing a result of separating yellow from a color picture. In this example, “+” in the image as a result of the color separation shows an area where data is embedded. The data is embedded in an image area encircled by four “+”.  
         [0041]      FIG. 5  is a flowchart of a processing procedure for a color separating process performed by the color separating unit  130  with respect to each pixel.  
         [0042]     As shown in  FIG. 5 , the correction-amount calculating unit  131  of the color separating unit  130  reads the values of R and G from the image-data storing unit  120  (step S 101 ), and calculates a value to be added to B, that is, 255-min (R, G) to remove the information of colors other than yellow (step S 102 ).  
         [0043]     The correcting unit  132  then reads the value of B from the image-data storing unit  120 , and adds 255-min (R, G) calculated by the correction-amount calculating unit  131  to the value of B to calculate B′=B+255-min (R, G) (step S 103 ). The clipping unit  133  clips B+255-min (R, G) to 255 or below to calculate CL(B′) (step S 104 ), and stores CL(B′) into the image-data storing unit  120  (step S 105 ).  
         [0044]     Thus, the correction-amount calculating unit  131  can calculate a value to be added to B to remove the information of colors other than yellow. The correcting unit  132  can correct the value of B, and remove the information of colors other than yellow, thereby separating yellow.  
         [0045]     According to the present embodiment, an example of using the value of R or G to calculate the value to be added to B to remove the information of colors other than yellow is explained. However, depending on the characteristics of a device that reads a printed image, it is necessary to control the influence of R or G. A color separating unit that can control the influence of R or G at the time of calculating the value to be added to B to remove the information of colors other than yellow is explained below.  
         [0046]      FIG. 6  is a functional block diagram of a color separating unit  230  capable of controlling an influence of R or G. For convenience sake, like reference numerals designate like functional units that function similarly to those of the units shown in  FIG. 2 , and their detailed explanation is omitted.  
         [0047]     As shown in  FIG. 6 , the color separating unit  230  includes a correction-amount calculating unit  231 , instead of the correction-amount calculating unit  131  included in the color separating unit  130  shown in  FIG. 2 . The correction-amount calculating unit  231  calculates 255-fxmin (R, G), in which f represents a coefficient having a constant value, or a function of a value of any one of R, G, and B.  
         [0048]     As explained above, the correction-amount calculating unit  231  multiplies a coefficient to the value of R or G whichever is smaller to control the influence of R or G, thereby correcting the value of B.  
         [0049]     According to the present embodiment, the correction-amount calculating unit  131  calculates the value to be added to B, that is, 255-min (R, G), to remove the information of colors other than yellow. The correcting unit  132  corrects the value of B to calculate B′=B+255-min (R, G). The clipping unit  133  clips the value of B′ to “255” or below, thereby removing the information of colors other than yellow from B, and separating yellow.  
         [0050]     When the configuration of the image-area detecting apparatus is realized by software, an image-area detecting program having similar functions can be obtained. A computer that executes this image-area detecting program is explained below.  
         [0051]      FIG. 7  is a functional block diagram of a computer  300  that executes an image-area detecting program according to the present embodiment. The computer  300  includes a random access memory (RAM)  310 , a central processing unit (CPU)  320 , a read only memory (ROM)  330 , and an imaging-device interface  340 .  
         [0052]     The RAM  310  is a memory that stores image data and an interim result of executing an image-area detecting program  331 . The CPU  320  is a central processing unit that reads the image-area detecting program  331  from the ROM  330 , and executes an image area detecting task  321 .  
         [0053]     The ROM  330  stores the image-area detecting program  331 , and data. The imaging-device interface  340  inputs data of a printed image read by the imaging device.  
         [0054]     While the detection of a yellow mark is explained in the present embodiment, the present invention is not limited to the detection of a yellow mark. The present invention can be also applied to a detection of a magenta or cyan mark. When a relationship of complementary colors is used, the present invention can be also similarly applied to a detection of a red, blue, or green mark.  
         [0055]     While the use of values of RGB as image data is explained in the present embodiment, the use is not limited to these values, and the present invention can be also similarly applied when values of YMC are used. In this case, information of colors other than yellow can be eliminated from Y by calculating 
 
Y′=Y-max (M, C)
 
         [0056]     According to the present invention, an area can be detected by specifying a mark by easily separating a specific color, thereby facilitating the detection of an area.  
         [0057]     Furthermore, according to the present invention, a mark can be specified easily, thereby facilitating the detection of an area.  
         [0058]     Although the invention has been described with respect to a specific embodiment for a complete and clear disclosure, the appended claims are not to be thus limited but are to be construed as embodying all modifications and alternative constructions that may occur to one skilled in the art that fairly fall within the basic teaching herein set forth.