WO2012176522A1 - 画像提供装置、画像処理方法、画像処理プログラム及び記録媒体 - Google Patents

画像提供装置、画像処理方法、画像処理プログラム及び記録媒体 Download PDF

Info

Publication number
WO2012176522A1
WO2012176522A1 PCT/JP2012/058825 JP2012058825W WO2012176522A1 WO 2012176522 A1 WO2012176522 A1 WO 2012176522A1 JP 2012058825 W JP2012058825 W JP 2012058825W WO 2012176522 A1 WO2012176522 A1 WO 2012176522A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
area
system control
control unit
areas
Prior art date
Application number
PCT/JP2012/058825
Other languages
English (en)
French (fr)
Inventor
宗 益子
Original Assignee
楽天株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 楽天株式会社 filed Critical 楽天株式会社
Priority to EP12802952.7A priority Critical patent/EP2602762B1/en
Priority to ES12802952.7T priority patent/ES2553210T3/es
Priority to CN201280003530.0A priority patent/CN103189895B/zh
Priority to US13/819,102 priority patent/US8582885B2/en
Publication of WO2012176522A1 publication Critical patent/WO2012176522A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/3872Repositioning or masking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/3872Repositioning or masking
    • H04N1/3873Repositioning or masking defined only by a limited number of coordinate points or parameters, e.g. corners, centre; for trimming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/32Indexing scheme for image data processing or generation, in general involving image mosaicing

Definitions

  • the present invention relates to a technical field of an image providing apparatus and an image processing method for presenting a mosaic image formed by combining images acquired from a terminal device.
  • a plurality of images are arranged in tiles to form a mosaic image (for example, , Mosaic art, photo mosaic, etc.) are known.
  • a mosaic image for example, , Mosaic art, photo mosaic, etc.
  • an image hereinafter referred to as an “original image” that is a source of a pattern of a mosaic image is divided into a plurality of regions. Then, each material image is assigned to an area close to, for example, a color tone or a pattern. Thereby, a mosaic image expressing the pattern of the original image is generated.
  • a server device acquires an image provided as a material image from a user from a terminal device via a network, and displays a mosaic image generated using the acquired image on the terminal device.
  • a problem is how to generate a mosaic image with high visibility of the pattern of the original image.
  • Patent Document 1 discloses a technique for providing a mosaic image with high visibility. Specifically, the block selected by the user when the mosaic image providing apparatus determines a block that is a placement target of the material image posted by the user from among a plurality of blocks obtained by dividing the target image that is the source of the mosaic image. Is determined as the arrangement target, or the arrangement target is automatically determined without being limited to the block image.
  • the mosaic image providing apparatus performs color correction on the material image so that the average density value of the basic color of the material image becomes the average density value of the basic color of the arrangement target block.
  • the mosaic image in which the material image is arranged only for some blocks is displayed on the terminal device. The That is, an unfinished mosaic image is displayed.
  • the present invention has been made in view of the above points, and when assigning an image to an area that satisfies a condition that allows the obtained image to be assigned, the obtained image is not wasted as much as possible.
  • An object is to provide an image providing apparatus, an image processing method, an image processing program, and a recording medium.
  • the invention according to claim 1 is an image providing apparatus that provides a mosaic image of an original image divided into a plurality of regions, and obtains an image specified by a user.
  • First search means for searching for an area that satisfies the conditions for assigning the acquired image
  • first assignment means for assigning the acquired image to the area searched by the first search means
  • Second allocating means for allocating the image to a region satisfying a condition for allocating the acquired image among a plurality of regions created by the division by And presentation means based on the assignment by means or the second assignment unit, thereby presenting the mosaic image in which the acquired image is arranged Te, It is characterized by providing.
  • any area to which no image has been assigned is further divided into a plurality of areas.
  • a plurality of new areas are created, and there is a possibility that areas that satisfy the conditions for assigning the acquired image may exist in these areas. If there is a region that satisfies the assignable condition in the newly created region, the acquired image is assigned to the region. Therefore, the acquired image can be prevented from being wasted as much as possible.
  • the invention described in claim 2 further includes a determination unit that determines whether or not the number of areas to which no image is allocated is equal to or less than a preset number in the image providing apparatus according to claim 1.
  • the dividing unit performs the division only when it is determined that the number of areas to which no image is assigned is equal to or less than a preset number.
  • an area to which no image is assigned becomes a candidate for assigning an acquired image
  • the more areas to which no image is assigned the higher the possibility that an area that satisfies the assignable condition exists.
  • the present invention when there is a certain number of areas to which no image is assigned, and the acquired image can be prevented from being wasted to some extent, the area is not divided, so that the mosaic image is completed. The increase in the number of images required for the image can be suppressed.
  • the image processing apparatus further comprises second search means for searching for an area that satisfies the assignable condition from a plurality of areas created when each of the unassigned areas is divided, and the dividing means is assigned with an image.
  • second search means for searching for an area that satisfies the assignable condition from a plurality of areas created when each of the unassigned areas is divided, and the dividing means is assigned with an image.
  • an area in which the area searched by the second search means is created when divided is divided.
  • a plurality of areas created when each area to which an image is not assigned is divided is searched for areas that satisfy the assignable condition. Then, an area in which an area that satisfies the assignable condition is created by the division is actually divided, and the acquired image is assigned to the actually created area that satisfies the assignable condition. Since the number of areas created when the image is divided increases according to the number of areas to which no image is assigned, the number of areas that may satisfy the assignable condition increases. Therefore, it is possible to increase the possibility of finding an area that satisfies an assignable condition.
  • a fourth aspect of the present invention in the image providing device according to any one of the first to third aspects, when there is no region that satisfies the allocatable condition as a result of the search by the first search means.
  • second search means for searching for a region satisfying the assignable condition from a plurality of regions created when a certain region to which no image is assigned is divided in a plurality of different division modes.
  • the dividing means divides the certain area in a dividing manner in which the area searched by the second searching means is created.
  • a plurality of areas created when an area to which no image is assigned is divided in each of a plurality of division modes is a search target for areas that satisfy the assignable conditions. Then, in the division mode in which an area that satisfies the assignable condition is created by the division, the area that is not assigned an image is actually divided, and the acquired image is obtained in the area that satisfies the assignable condition that is actually created. Is assigned. Since an area different from other division modes can be created according to the division mode, it is possible to increase the number of regions that may satisfy the assignable condition. Therefore, it is possible to increase the possibility of finding an area that satisfies an assignable condition.
  • the division mode includes the number of areas created by the division, and the dividing means has a smaller number of areas created by the division. The more the mode is, the higher the priority is determined as the division mode when dividing.
  • a plurality of areas created when an area to which no image is assigned is divided by a plurality of division numbers is a search target for areas that satisfy the assignable conditions. Then, the smaller the number of divisions among the number of divisions in which an area that can be allocated by division is created, the higher the number of divisions that are actually divided. Then, with the determined number of divisions, an area to which no image is assigned is actually divided, and the acquired image is assigned to an actually created area that satisfies the assignable conditions. Therefore, it is possible to increase the possibility of finding an area that satisfies the assignable conditions, and it is possible to suppress an increase in the number of images necessary for completing a mosaic image.
  • each region created by dividing the original image in advance is divided by the dividing unit.
  • a color information generating unit that generates in advance color information indicating a representative color of an image of each area created in the case; and a storage unit that stores the generated color information.
  • a region that satisfies the assignable condition is searched, and the second The searching means searches for an area that satisfies the assignable condition based on the color information of the acquired image and the stored color information.
  • the first search means includes color information indicating a representative color of the acquired image, and an image Based on the color information indicating the representative color of the image in the unassigned area, the area that satisfies the assignable condition is searched, and a certain area to which no image is assigned is divided by the second search means.
  • a color information generating unit configured to generate color information indicating a representative color of an image of the created region when searching for a region satisfying the assignable condition from a plurality of regions created in the case;
  • the search means searches for a region that satisfies the assignable condition based on the color information of the acquired image and the generated color information.
  • the color information of the area necessary for the search by the second search means is generated.
  • the invention according to claim 8 is an image processing method in an image providing apparatus that provides a mosaic image of an original image divided into a plurality of regions, the obtaining step obtaining an image designated by a user, and the obtaining A first search step for searching for a region satisfying an assignable image condition, a first assignment step for assigning the acquired image to a region searched in the first search step, and a first search step As a result of the search, if there is no area that satisfies the assignable condition, a dividing step of dividing any area among the areas to which no image is assigned into a plurality of areas, and the dividing in the dividing step. Assigning the image to a region satisfying a condition for assigning the acquired image among the plurality of obtained regions. And allocation step, based on the allocation of the first assignment step or said second allocation step, characterized in that it comprises a and a presentation step of presenting the mosaic image in which the acquired image is located.
  • an acquisition means for acquiring an image designated by a user a computer included in an image providing apparatus that provides a mosaic image of an original image divided into a plurality of regions, and the acquired image
  • First search means for searching for an area satisfying an assignable condition
  • first assignment means for assigning the acquired image to an area searched by the first search means, a result of a search by the first search means,
  • a dividing unit that further divides one of the areas to which no image is assigned into a plurality of areas, and a plurality of areas created by the division by the dividing unit
  • a second allocating unit that allocates the image to an area that satisfies the condition for allocating the acquired image, and the first allocating unit, Based on the assignment by the second assigning means, characterized in that to function as presentation means, for presenting the mosaic image in which the acquired image is located.
  • an acquisition unit configured to acquire an image designated by a user by using a computer included in an image providing apparatus that provides a mosaic image of an original image divided into a plurality of regions, and the acquired image
  • First search means for searching for an area satisfying an assignable condition
  • first assignment means for assigning the acquired image to an area searched by the first search means, a result of a search by the first search means,
  • a dividing unit that further divides one of the areas to which no image is assigned into a plurality of areas, and a plurality of areas created by the division by the dividing unit
  • a second allocating unit that allocates the image to an area that satisfies the conditions for allocating the acquired image, and the first allocating unit.
  • presenting means for presenting the mosaic image in which the acquired image is located, the image processing program to function as is characterized by being recorded in a computer-readable.
  • any area to which an image has not yet been assigned is further divided into a plurality of areas.
  • a plurality of new areas are created, and there is a possibility that areas that satisfy the conditions for assigning the acquired image may exist in these areas. If there is a region that satisfies the assignable condition in the newly created region, the acquired image is assigned to the region. Therefore, the acquired image can be prevented from being wasted as much as possible.
  • FIG. 1 It is a figure which shows an example of schematic structure of the mosaic image provision system S which concerns on one Embodiment. It is a figure which shows the example at the time of dividing the original image 100 into 480 division areas.
  • (A) is a figure which shows the example of a display of a mosaic image
  • (b) is a figure which shows a part of mosaic image after the division
  • or (c) is a figure which shows an example of the division
  • (A) is a figure which shows an example of the content registered into member information DB12a which concerns on one Embodiment
  • (b) is a figure which shows an example of the content registered into original image DB12b
  • (c) Is a diagram showing an example of content set in the basic region information
  • (d) is a diagram showing an example of content set in the child region information
  • (e) is registered in the posted image DB 12c.
  • (F) is a figure which shows an example of the content set to contribution image information.
  • (A) is a figure which shows an example of the content registered into mosaic image DB12d which concerns on one Embodiment
  • (b) and (c) are figures which show an example of the content set to allocation image information.
  • (D) is a figure which shows an example of the content set to a division
  • FIG. 1 is a diagram illustrating an example of a schematic configuration of a mosaic image providing system S according to the present embodiment.
  • the mosaic image providing system S includes a mosaic image providing server 1 and a plurality of user terminals 2.
  • the mosaic image providing server 1 and each user terminal 2 can transmit / receive data to / from each other using, for example, TCP / IP as a communication protocol via the network NW.
  • the network NW is constructed by, for example, the Internet, a dedicated communication line (for example, a CATV (Community Antenna Television) line), a mobile communication network (including a base station), a gateway, and the like.
  • the mosaic image providing server 1 (an example of an image providing apparatus in the present invention) transmits a Web page on which a mosaic image that can be obtained by arranging (combining) a plurality of images serving as materials in a tile shape is displayed to the user terminal 2. Web server.
  • the mosaic image providing server 1 acquires images from each user terminal 2 via the network NW in order to collect images that are materials.
  • the image acquired from the user terminal 2 is an image posted by the user (hereinafter referred to as “posted image”).
  • the user terminal 2 is a terminal device of a user who uses the mosaic image providing system S.
  • the user terminal 2 accesses the mosaic image providing server 1 based on an operation from the user. Thereby, the user terminal 2 receives and displays the Web page from the mosaic image providing server 1.
  • the user posts an image that is a material of a mosaic image or displays a mosaic image through a Web page displayed on the screen of the user terminal 2.
  • Software such as a browser and an e-mail client is incorporated in the user terminal 2.
  • the mosaic image providing system S having such a configuration, for example, an image that is a source of the pattern of the mosaic image is prepared in advance. This image is the original image.
  • the mosaic image providing server 1 arranges the posted images so that the pattern represented by the mosaic image is close to the pattern represented by the original image.
  • FIG. 2 is a diagram showing an example of the original image.
  • An image 100 shown in FIG. 2 is an image representing a pattern of a walking horse and a jockey riding on the horse.
  • the color of the horse is dark brown.
  • the color of the trousers of the jockey is yellow and the color of the jacket of the jockey is light blue.
  • the background color is white. Note that each color is not filled with a uniform color, but changes in color to some extent depending on the location.
  • the original image is divided into a plurality of areas indicated by reference numeral 200 (hereinafter referred to as “divided areas”).
  • the image 100 is divided into a total of 480 divided regions of 20 horizontal and 24 vertical.
  • the number of divided areas is referred to as “divided number”.
  • a posted image acquired from the user terminal 2 is assigned to each divided area. Assigning a posted image to a divided area means that the posted image is arranged at a position corresponding to the assigned divided area in the mosaic image.
  • the acquired posted image can be allocated from divided areas to which the posted image is not yet allocated (hereinafter referred to as “unallocated area”). Search for a segmented area that satisfies a certain condition.
  • the divided area that satisfies the assignable conditions refers to a divided area in which the color that represents the image in the divided area is close to the color that represents the posted image to some extent.
  • the color representing the image (hereinafter referred to as “representative color”) is, for example, a color obtained by averaging the colors of the entire image.
  • the mosaic image providing server 1 assigns the posted image to any one of the divided areas that satisfy the assignable conditions.
  • the mosaic image provision server 1 produces
  • positioned is displayed. Therefore, an unfinished mosaic image is displayed on the Web page until post images corresponding to the number of divisions of the original image are collected. That is, there is an area where the posted image is not arranged in the mosaic image.
  • FIG. 3A is a diagram showing a display example of a mosaic image.
  • the mosaic image illustrated in FIG. 3A is an unfinished mosaic image 300a with the image 100 as an original image. Note that the lattice pattern on the mosaic image 300a indicates the boundary lines of the divided areas. When a mosaic image is displayed on the Web page, this lattice pattern is not displayed.
  • the mosaic image 300a there are 20 unallocated areas. After this, as a result of searching the divided image satisfying the allocatable condition among the 20 unallocated areas for the posted image acquired from the user terminal 2 having the mosaic image providing server 1, the divided area satisfying the allocatable condition Assume that there is no. Then, the mosaic image providing server 1 further divides one of the 20 unallocated areas from the unallocated areas into a plurality of divided areas, and assigns among the plurality of divided areas created by the division. Assign posted images to the divided areas that meet the possible conditions.
  • FIG. 3B is a diagram showing a part of the mosaic image after dividing the basic region.
  • the divided area 200a which is one of the unallocated areas, is divided into four divided areas 210a to 210d.
  • the posted image 110 is assigned to the divided area 210d.
  • the divided areas existing from the beginning are referred to as “basic areas”.
  • the total number of basic areas is referred to as “basic division number”.
  • each divided area 200 is a basic area, and the basic division number is 480.
  • a divided area created by dividing the basic area is called a “child area”.
  • the total number of child areas created in one basic area is referred to as “number of child divisions”.
  • the divided areas 210a to 210d are child areas, and the number of child divisions is nine.
  • the basic area By dividing the basic area, multiple child areas are created as new divided areas. Therefore, there is a possibility that there are divided areas that satisfy the conditions for assigning posted images in the new divided areas. Therefore, it is possible to prevent the posted image from being wasted as much as possible. Further, the area of the child region created by the division is smaller than the area of the basic region. For this reason, in the mosaic image, the resolution of the portion of the basic region divided into the child regions becomes high, and there is an aspect that the visibility of the pattern in that portion is increased.
  • the mosaic image providing server 1 actually performs a process for searching for a child area satisfying an assignable condition from among a plurality of child areas created when the unassigned area is divided, for each unassigned area. It is done with brute force. Then, the mosaic image providing server 1 actually divides the unassigned area including the child area that satisfies the assignable condition. By doing so, it is possible to increase the possibility of finding a child area that satisfies the conditions for assigning the posted image.
  • the division pattern (division mode) when temporarily dividing one unallocated area is not only one pattern.
  • the mosaic image providing server 1 searches for a child area satisfying an assignable condition from a plurality of child areas created when the unallocated area is divided by a plurality of division patterns. Specifically, the mosaic image providing server 1 searches for a child area that satisfies an assignable condition from among a plurality of child areas created when divided by the number of child divisions of a plurality of patterns.
  • FIG. 4A shows an example in which the divided area 200 is divided into a total of four divided areas 210, two horizontal and two vertical.
  • FIG. 4B shows an example in which the divided region 200 is divided into a total of eight divided regions 220 of four horizontal and two vertical.
  • FIG. 4C shows an example in which the divided area 200 is divided into a total of 16 divided areas 230 having four horizontal and four vertical areas.
  • the mosaic image providing server 1 searches for a child area satisfying an assignable condition by temporarily dividing an unallocated area, for example, in ascending order of the number of child divisions, among the number of child divisions of a plurality of patterns.
  • the mosaic image providing server 1 searches for child areas that satisfy the assignable conditions by dividing each unallocated area into four.
  • the mosaic image providing server 1 actually divides the unassigned area into four.
  • the mosaic image providing server 1 searches for a child area that satisfies the assignable condition by dividing the unallocated area into eight.
  • the mosaic image providing server 1 actually divides the unassigned area into eight.
  • the mosaic image providing server 1 searches for a child area that satisfies the assignable condition by dividing the unallocated area into 16 temporarily.
  • the mosaic image providing server 1 preferentially determines the number of sub-divided patterns as the number of sub-divided patterns, so that the number of post-images required to complete the mosaic image This is to suppress.
  • the mosaic image providing server 1 may not preferentially determine in descending order of the number of child divisions.
  • the division pattern is not limited to the number of child divisions. It suffices that at least one or more child regions have different child regions whose positions or sizes are different from the other divided patterns between different division patterns.
  • FIG. 4B shows a division pattern of four horizontal divisions and two vertical divisions.
  • the number of child divisions is the same. Even if there are, child regions different from each other are created.
  • the mosaic image providing server 1 does not use the posted image and does not divide the basic region when there is no divided region that satisfies the condition to which the posted image can be allocated even by the above-described processing.
  • the unallocated area is divided only when the number of unallocated areas is equal to or less than a preset number. As the number of unallocated areas increases, there is a higher possibility that there is a divided area that satisfies the conditions to which the posted image can be allocated. Therefore, it is possible to suppress to some extent that the posted image is wasted without dividing the unallocated area. As a result, the number of posted images necessary for completing a mosaic image can be reduced.
  • FIG. 5 is a block diagram illustrating an example of a schematic configuration of the mosaic image providing server 1 according to the present embodiment.
  • the mosaic image providing server 1 includes a communication unit 11, a storage unit 12, an input / output interface 13, and a system control unit 14.
  • the system control unit 14 and the input / output interface 13 are connected via a system bus 15.
  • the communication unit 11 is connected to the network NW and controls the communication state with the user terminal 2 and the like.
  • the storage unit 12 (an example of a storage unit in the present invention) is configured by, for example, a hard disk drive.
  • a member information DB (database) 12a is constructed in the storage unit 12.
  • an original image DB 12b is a member information DB (database) 12a, an original image DB 12b, a posted image DB 12c, a mosaic image DB 12d, and the like are constructed.
  • FIG. 6A is a diagram showing an example of contents registered in the member information DB 12a according to the present embodiment.
  • member information related to users who are registered as members in the mosaic image providing system S is registered. Specifically, the user ID, password, nickname, name, date of birth, gender, address, telephone number, e-mail address, etc., which are user identification information, are registered in association with each user in the member information DB 12a.
  • the user ID, password, nickname, name, date of birth, gender, address, telephone number, e-mail address, etc. which are user identification information, are registered in association with each user in the member information DB 12a.
  • FIG. 6B is a diagram illustrating an example of contents registered in the original image DB 12b according to the present embodiment.
  • the original image and information related to the original image are registered.
  • an original image ID, original image data, basic division number information, and a plurality of basic area information, which are identification information of the original image are registered in association with each original image.
  • the original image ID is identification information of the original image.
  • the original image data is image data of the original image. Examples of the format of image data used in the mosaic image providing system S include JPEG (Joint Photographic Experts Group), TIFF (Tagged-Image File Format), PNG (Portable Network Graphics), and the like.
  • the basic division number information is information indicating the basic division number.
  • the basic division number information includes a basic division number, a basic horizontal division number, and a basic vertical division number.
  • the basic horizontal division number is the horizontal division number. That is, the basic horizontal division number is the number of basic regions arranged in the horizontal direction of the original image.
  • the basic vertical division number is the vertical division number. That is, the basic vertical division number is the number of basic regions arranged in the vertical direction of the original image.
  • the basic division number is obtained by multiplying the basic horizontal division number and the basic vertical division number.
  • the basic area information is information related to the basic area.
  • Basic area information is registered for the number of basic divisions. Each basic area information is registered in association with the index of the corresponding basic area.
  • Each basic area is assigned an index in the form of (X1, Y1).
  • X1 indicates the position of the basic region in the horizontal direction.
  • Y1 indicates the position of the basic region in the vertical direction.
  • the index of the basic area located at the upper left corner of the original image is (0, 0).
  • the basic area (X1, Y1) is a basic area located Y1 + 1 from the top among the basic areas located X1 + 1 from the leftmost.
  • dividing the original image into a plurality of areas means dividing an area corresponding to the entire original image into a plurality of areas, and in which area each pixel in the original image is included ( Alternatively, it is possible to specify which pixels each region includes).
  • the system control unit 14 can specify a region including each pixel by acquiring the number of vertical and horizontal pixels, the number of horizontal divisions, and the number of vertical divisions of the original image. Therefore, dividing the original image into a plurality of regions does not necessarily mean dividing the image data of the original image into image data for each region. Therefore, the system control unit 14 may or may not register the image data for each area in the original image DB 12b.
  • FIG. 6C is a diagram showing an example of contents set in the basic area information. As shown in FIG. 6C, a representative color value and one or more child area information are set in the basic area information.
  • the representative color value is a value indicating the representative color of the basic area.
  • the representative color may be a color obtained by averaging the colors of the entire divided area, or may be a color having the largest exclusive area in the divided area.
  • the representative color value includes, for example, a value for each basic color (primary color) of R (red), G (green), and B (blue). Each value of R, G, and B takes any value from 0 to 255, for example.
  • the system control unit 14 determines candidate divided areas to which the posted image is assigned by comparing the representative color value of the divided area with the representative color value of the posted image.
  • the representative color value may be expressed in, for example, CMYK, Lab color space, or the like.
  • Child area information is information about a child area created when a basic area is divided.
  • the child area information is registered for the number of child divisions.
  • Each child area information is assigned an index in the form of N (X1, Y1).
  • N is an integer equal to or greater than 1
  • pattern number is a pattern number (hereinafter referred to as “pattern number”) of the number of child divisions.
  • FIG. 6D is a diagram illustrating an example of contents set in the child area information. As shown in FIG. 6D, a plurality of representative color values are set in the child area information.
  • the representative color value is a value indicating the representative color of the child area. Note that the contents of the representative color values in the child area are the same as the contents of the representative color values in the basic area.
  • the representative color values are registered for the number of child divisions corresponding to the pattern number N. Each representative color value is registered in association with the corresponding child division number, basic region, and child region index.
  • Each child area is assigned an index in the form of a child area (X1, Y1) (X2, Y2).
  • X1 and Y1 are indices of basic areas including child areas.
  • X2 indicates the position of the child region in the horizontal direction in the basic region (X1, Y1).
  • Y2 indicates the position of the child area in the vertical direction in the basic area (X1, Y1).
  • the index of the child area located at the upper left corner of the basic area (X1, Y1) is (X1, Y1) (0, 0).
  • the child area (X1, Y1) (X2, Y2) is the child area located at the (Y2 + 1) th position from the top among the child areas located at the X2 + 1th position from the leftmost of the basic area (X1, Y1).
  • the representative color values N (X1, Y1) (X2, Y2) are the child regions (X1, Y1) (X2) created when the basic region (X1, Y1) is divided into child regions having the number of child divisions corresponding to the index N. , Y2).
  • FIG. 6E is a diagram illustrating an example of contents registered in the posted image DB 12c according to the present embodiment.
  • the posted image and information related to the posted image are registered in the posted image DB 12c.
  • the mosaic image ID, the number of posts, and post image information are registered in the post image DB 12c.
  • the mosaic image ID is identification information of a mosaic image generated using a registered posted image as a material.
  • the number of posts is the number of posted images acquired from the user terminal 2 so far.
  • Post image information is registered for the number of posts.
  • FIG. 6 (f) is a diagram showing an example of the contents set in the posted image information.
  • the posted image information is set in association with an image number, a user ID, posted image data, and a representative color value.
  • the image number is a number assigned to the posted image.
  • Each posted image is given an image number in the order of posting (the order acquired by the mosaic image providing server 1).
  • the user ID set in the posted image information is the user ID of the user who posted the posted image. That is, the user ID set in the posted image information is the user ID of the user who uses the user terminal 2 from which the posted image is acquired.
  • the posted image data is image data of a posted image.
  • the representative color value is a value indicating the representative color of the posted image. Note that the content of the representative color value of the posted image is the same as the content of the representative color value of the divided area.
  • FIG. 7A is a diagram illustrating an example of contents registered in the mosaic image DB 12d according to the present embodiment.
  • Information related to the mosaic image is registered in the mosaic image DB 12d.
  • a mosaic image ID, an original image ID, the total number of areas, a plurality of assigned image information, and mosaic image display data are registered in association with each mosaic image in the mosaic image DB 12d.
  • the mosaic image ID is identification information of the mosaic image.
  • the original image ID is an original image ID of an image that becomes a pattern of the mosaic image.
  • the assigned image information is information indicating a posted image assigned to the divided area.
  • the total number of areas is the total number of divided areas of the mosaic image.
  • the initial value of the total number of areas is the basic division number of the original image corresponding to the mosaic image ID. Each time the basic area is divided into child areas, the total number of areas increases.
  • the allocated image information is registered for the number of basic divisions of the original image. Each assigned image information is registered in association with the index of the corresponding basic area.
  • FIG. 7B and FIG. 7C are diagrams showing examples of contents set in the assigned image information.
  • a division flag is set in the assigned image information.
  • the division flag indicates whether or not the basic area (X1, Y1) is divided. When the division flag is set to OFF, it indicates that the corresponding basic area is not divided. When the division flag is set to ON, it indicates that the corresponding basic area is divided.
  • the assigned image number is the image number of the posted image assigned to the divided area. For example, an invalid number such as ⁇ 1 is set as the assigned image number of the divided area to which the posted image is not yet assigned.
  • the assigned image number when the division flag is set to OFF is the image number of the posted image assigned to the basic area.
  • a pattern number and a plurality of assigned image numbers are further set in the assigned image information when the division flag is set to ON.
  • the pattern number is the pattern number of the child division number of the basic area (X1, Y1).
  • the assigned image number when the division flag is set to ON is the image number of the posted image assigned to the child area created by dividing the basic area (X1, Y1).
  • the assigned image numbers are registered for the number of child divisions corresponding to the pattern number.
  • Each assigned image number is registered in association with the index of the corresponding basic area and child area.
  • the assigned image number (X1, Y1) (Y2, Y2) is the image number of the posted image assigned to the child area (X1, Y1) (Y2, Y2).
  • Mosaic image display data is data for displaying a mosaic image in a Web page. That is, the mosaic image display data indicates the display content of the mosaic image.
  • the mosaic image is expressed as a table in which the posted image is inserted in each cell.
  • the mosaic image display data is data described in a markup language such as HTML (Hyper Text Markup Language), XML (Extensible Markup Language), or XHTML (Extensible Text Text Markup Language).
  • the mosaic image display data constitutes a part of the HTML document of the Web page on which the mosaic image is displayed.
  • the system control unit 14 causes the user terminal 2 to display a mosaic image based on the HTML document by transmitting an HTML document including the mosaic image display data to the user terminal 2.
  • the user terminal 2 displays the posted image in each cell of the table according to the description content of the mosaic image display data included in the HTML document, thereby displaying the mosaic image in the Web page.
  • the user terminal 2 generates (forms) a mosaic image on the screen.
  • “http: //www.yyy.zzz/9876543210-0123.jpeg” is a URL (Uniform Resource Locator) of posted image data.
  • “9876543210” is the original image ID.
  • “0123” is the image number of the posted image.
  • an img tag including the URL of the assigned posted image is set in the cell corresponding to the divided area to which the posted image is assigned.
  • This URL may be the URL of the thumbnail image data of the posted image.
  • the posted image is usually displayed in a size smaller than the original display size. Therefore, thumbnail image data obtained by reducing the display size by reducing the number of vertical and horizontal pixels of the posted image may be transmitted to the user terminal 2 that intends to display the mosaic image.
  • the system control unit 14 when the posted image data is registered in the posted image DB 12c, the system control unit 14 generates thumbnail image data of the posted image based on the posted image data, and the thumbnail image data is stored in the posted image DB 12c. sign up.
  • the system control unit 14 may generate mosaic image display data based on the assigned image information when transmitting a Web page on which the mosaic image is displayed.
  • the storage unit 12 stores a division pattern table.
  • FIG. 7D shows an example of contents set in the division pattern table.
  • the division pattern table is table information indicating a pattern of the number of child divisions. As shown in FIG. 7D, the number of division patterns and one or more child division number information are set in the division pattern table.
  • the division pattern number indicates the number of child division number patterns.
  • the number of division patterns is 3.
  • the child division number information is set for the number of division patterns.
  • the child division number information is information indicating the number of child divisions.
  • the child division number information includes a child division number, a child horizontal division number, and a child vertical division number.
  • the child horizontal division number is the number of horizontal divisions. That is, the child horizontal division number is the number of child regions arranged in the horizontal direction of the basic region.
  • the child vertical division number is the number of vertical divisions. That is, the child vertical division number is the number of child regions arranged in the vertical direction of the basic region.
  • the child division number is obtained by multiplying the child horizontal division number and the child vertical division number.
  • the index of the child division number information is the pattern number N.
  • Each child division number information Number of child divisions of child division number information 1> 1 It is set so as to satisfy the child division number of the child division number information N + 1> the child division number of the child division number information N.
  • the child division number, the child horizontal division number, and the child vertical division number of the child division number information 1 are 4, 2, and 2, for example.
  • the child division number information 2 is, for example, 8, 4, 2.
  • the child division number information 3 is, for example, 16, 4, or 4.
  • the number of representative color values registered in the child area information N registered in the original image DB 12 b matches the number of child divisions included in the child division number information N.
  • the assigned image number included in the assigned image information registered in the mosaic image DB 12d matches the child division number included in the child division number information corresponding to the pattern number included in the assigned image information.
  • the division pattern number and each child division number information are performed by, for example, an administrator of the mosaic image providing server 1.
  • the number of division patterns may be one or more. Further, the number of child horizontal divisions and the number of child vertical divisions may not be the same. Further, the child division number included in each child division number information may not be a multiple of the child division number included in the child division number information 1. Further, the child division number information can be arbitrarily set as long as the condition of the above expression is satisfied. For example, when the number of division patterns is 1, the basic region is divided only by the number of child divisions of one pattern. Further, when the number of division patterns is two or more, there is a possibility that the basic region is divided by the number of child divisions of a plurality of patterns.
  • the storage unit 12 stores various data such as an HTML document, an XML document, image data, text data, and an electronic document for displaying a Web page.
  • the storage unit 12 stores various setting values set by an administrator or the like. Among the set values, there are a threshold for determining whether the color of the posted image is close to the color of the divided area, and an unallocated area for determining whether the unallocated area may be divided.
  • the division allowable unallocated area number indicating the number (an example of a preset number in the present invention) is included.
  • the storage unit 12 stores various programs such as an operating system, a WWW (World Wide Web) server program, a DBMS (Data Base Management System), and a mosaic image providing program.
  • the mosaic image providing program is a program for executing processing related to a mosaic image such as registration of an original image, acquisition of a posted image, generation of mosaic image display data, and the like.
  • the various programs may be acquired from other server devices or the like via the network NW, or may be recorded on a recording medium such as a DVD (Digital Versatile Disc) and read via the drive device. You may do it.
  • the input / output interface 13 performs interface processing between the communication unit 11 and the storage unit 12 and the system control unit 14.
  • the system control unit 14 includes a CPU 14a, a ROM (Read Only Memory) 14b, a RAM (Random Access Memory) 14c, and the like.
  • the system control unit 14 reads and executes various programs by the CPU 14a, whereby the acquisition unit, the first search unit, the first allocation unit, the division unit, the second allocation unit, the presentation unit, and the second search in the present invention. And function as color information generation means.
  • the mosaic image providing server 1 may be configured by a plurality of server devices.
  • a server device that performs processing related to registration of original images, acquisition of posted images, and generation of mosaic image display data
  • a server device that transmits a Web page in response to a request from the user terminal 2 a server device that manages a database, and the like
  • they may be connected to each other via a LAN or the like.
  • FIG. 8 is a flowchart showing a processing example in the original image registration processing of the system control unit 14 of the mosaic image providing server 1 according to the present embodiment.
  • the administrator of the mosaic image providing server 1 registers the original image by operating the management terminal device connected to the mosaic image providing server 1. Specifically, the administrator selects the original image data and inputs the basic horizontal division number and the basic vertical division number. Then, the management terminal device transmits an original image registration request including the original image data, the basic horizontal division number, and the basic vertical division number to the mosaic image providing server 1. For example, the user may be able to post the original image. In this case, the user terminal 2 of the user who posts the original image transmits an original image registration request.
  • the original image registration process is started when the mosaic image providing server 1 receives an original image registration request. This original image registration process is executed in advance before a post image reception process described later. Then, by executing the original image registration process, it is possible to assign a post image in the post image reception process.
  • the system control unit 14 In the original image registration process, the system control unit 14 generates a new original image ID. Next, the system control unit 14 generates basic division number information based on the basic horizontal division number and the basic vertical division number included in the received original image registration request. Then, the system control unit 14 registers the new original image ID, the original image data included in the original image registration request, and the generated basic division number information in association with each other in the original image DB 12b (step S11). Further, the system control unit 14 develops a bitmap image of the original image in the RAM 14c based on the original image data.
  • the system control unit 14 divides the original image into a plurality of basic areas.
  • the system control unit 14 sets 0 to the index Y1 of the basic area (step S12).
  • the system control unit 14 sets 0 to the index X1 of the basic area (step S13).
  • the system control unit 14 specifies the basic area (X1, Y1) (step S14). Specifically, the system control unit 14 acquires the number of vertical and horizontal pixels of the original image from the registered original image data.
  • the system control unit 14 determines the basic area (X1, X1) based on the number of vertical and horizontal pixels of the original image, the basic horizontal division number and the basic vertical division number indicated by the registered basic division number information, and the indexes X1 and Y1. The coordinate range of the pixel included in Y1) is calculated.
  • the system control unit 14 calculates a representative color value of the basic area (X1, Y1) (step S15). For example, the system control unit 14 acquires the values of the pixels included in the basic area (X1, Y1) from the bitmap image of the original image developed in the RAM 14c. Next, the system control unit 14 adds the acquired pixel values for each of the R, G, and B basic colors. Next, the system control unit 14 divides the sum of the pixel values for each basic color by the total number of pixels included in each basic area (X1, Y1). The average of the pixel values for each basic color obtained by this calculation is the representative color value. Next, the system control unit 14 registers the calculated representative color value in the original image DB 12b in association with the new original image ID and the basic area indexes X1 and Y1.
  • the system control unit 14 sets 1 to the pattern number N (step S16).
  • the system control unit 14 acquires the child division number information N from the division pattern table (step S17).
  • the system control unit 14 sets 0 to the index Y2 of the child area (step S18).
  • the system control unit 14 sets 0 to the index X2 of the child area (step S19).
  • the system control unit 14 specifies the child area N (X1, Y1) (X2, Y2) (step S20).
  • the child area N (X1, Y1) (X2, Y2) is a child area created when the basic area is divided by the number of child divisions corresponding to the pattern number N.
  • the system control unit 14 determines the number of vertical and horizontal pixels of the original image, the basic horizontal division number and the basic vertical division number included in the registered basic division number information, and the child horizontal division included in the child division number information N.
  • the coordinate range of the pixels included in the child area N (X1, Y1) (X2, Y2) is calculated based on the number and the child vertical division number and the indexes X1, Y1, X2, and Y2.
  • the system control unit 14 calculates the representative color value of the child area N (X1, Y1) (X2, Y2) as color information generation means (step S21). This calculation method is the same as that for the basic region.
  • the system control unit 14 registers the calculated representative color value in the original image DB 12b in association with the new original image ID, the pattern number N, and the indexes X1, Y1, X2, and Y2.
  • step S22 the system control unit 14 adds 1 to the index X2 (step S22).
  • step S23 the system control unit 14 determines whether or not the index X2 is less than the child horizontal division number (step S23). At this time, when the system control unit 14 determines that the index X2 is less than the child horizontal division number (step S23: YES), the system control unit 14 proceeds to step S20. On the other hand, if the system control unit 14 determines that the index X2 is not less than the child horizontal division number (step S23: NO), the system control unit 14 adds 1 to the index Y2 (step S24). Next, the system control unit 14 determines whether or not the index Y2 is less than the number of child vertical divisions (step S25).
  • step S25 YES
  • the system control unit 14 proceeds to step S19.
  • the system control unit 14 repeats the processes of steps S19 to S25, thereby registering the representative color value of each child area when the basic area (X1, Y1) is divided by the number of child divisions corresponding to the pattern number N. .
  • step S25: NO the system control unit 14 adds 1 to the pattern number N (step S26).
  • step S27 the system control unit 14 determines whether or not the pattern number N is equal to or less than the number of division patterns set in the division pattern table (step S27). At this time, if the system control unit 14 determines that the pattern number N is equal to or less than the number of divided patterns (step S27: YES), the system control unit 14 proceeds to step S17.
  • the system control unit 14 registers the representative color value of each child area when the basic area (X1, Y1) is divided by the number of child divisions of all patterns by repeating the processing of steps S17 to S27.
  • step S27: NO the system control unit 14 adds 1 to the index X1 (step S28).
  • step S29 the system control unit 14 determines whether the index X1 is less than the basic horizontal division number. At this time, if the system control unit 14 determines that the index X1 is less than the basic horizontal division number (step S29: YES), the system control unit 14 proceeds to step S14. On the other hand, when the system control unit 14 determines that the index X1 is not less than the basic horizontal division number (step S29: NO), the system control unit 14 adds 1 to the index Y1 (step S30).
  • step S31 determines whether the index Y1 is less than the basic vertical division number. At this time, if the system control unit 14 determines that the index Y1 is less than the basic vertical division number (step S31: YES), the system control unit 14 proceeds to step S13.
  • the system control unit 14 repeats the processes in steps S13 to S31, thereby registering the representative color values of all the basic areas and representing each child area when all the basic areas are divided by the number of child divisions of all the patterns. Register color values.
  • step S31: NO the system control unit 14 determines that the index Y1 is not less than the basic vertical division number.
  • the system control unit 14 associates the new mosaic image ID with the original image ID and registers them in the mosaic image DB 12d. Further, the system control unit 14 registers the basic division number included in the registered basic vertical division number information as the total area number in the mosaic image DB 12d in association with the new mosaic image ID and the original image ID. Further, the system control unit 14 assigns, as the assigned image information of each basic area, the assigned image information including the division flag set to OFF and the assigned image number indicating that the posted image is not assigned, to the new mosaic image ID.
  • the image is registered in the mosaic image DB 12d in association with the original image ID.
  • the system control unit 14 registers empty mosaic image display data in the mosaic image DB 12d in association with the new mosaic image ID and the original image ID (step S32).
  • the empty mosaic image display data is mosaic image display data in which no img tag including the URL of the posted image data is set.
  • the system control unit 14 generates an HTML document of the image posting / mosaic image display page 400 (step S33).
  • the image posting / mosaic image display page 400 is a Web page for posting an image and also a Web page on which a mosaic image is displayed.
  • the system control unit 14 stores the generated HTML document in the storage unit 12.
  • the system control unit 14 sets a hyperlink to the generated HTML document (step S34). For example, the system control unit 14 adds an a tag including the URL of the HTML document of the image posting / mosaic image display page 400 to the HTML document of the top page of the website of the mosaic image providing system S. Thereby, the user can post images and browse mosaic images.
  • the system control unit 14 ends the original image registration process.
  • FIG. 9 is a diagram showing a screen display example of the image posting / mosaic image display page 400 according to the present embodiment.
  • the image posting / mosaic image display page 400 includes a message unit 410, a posted image transmission unit 420, a mosaic image display unit 430, and the like.
  • the message unit 410 for example, information such as notifications regarding products and services on a site related to the mosaic image providing system S is displayed.
  • the posted image transmission unit 420 displays various widgets (operation elements) for posting images. For example, an input field for designating a path name of posted image data, a reference button for displaying a dialog for selecting posted image data from the image data stored in the user terminal 2, and a posted image data A transmission button or the like for transmission is displayed.
  • a mosaic image generated by the images posted so far is displayed.
  • a mosaic image 300b is displayed as an example of the mosaic image.
  • the mosaic image 300b is a mosaic image generated by assigning a posted image to a part of divided areas. If no image has been posted yet after the original image registration process is completed, the mosaic image is not displayed on the mosaic image display unit 430.
  • the system control unit 14 sets the user ID of the user who posted the posted image in the mosaic image display data.
  • the user terminal 2 transmits a request including the user ID of the user who posted the posted image to the mosaic image providing server 1.
  • the system control unit 14 acquires necessary information from the member information corresponding to the user ID included in the received request and transmits it to the user terminal 2. Then, the user terminal 2 displays the received information.
  • FIG. 10 is a flowchart showing a processing example in the posted image reception process of the system control unit 14 of the mosaic image providing server 1 according to the present embodiment.
  • the posted image transmission unit 420 of the image posting / mosaic image display page 400 when the user specifies posted image data and selects a transmission button, the user terminal 2 transmits a posting request to the mosaic image providing server 1.
  • the posting request includes the specified posting image data, the user ID of the user who performed the operation, and the mosaic image ID of the mosaic image to be generated.
  • the post image receiving process is started when the mosaic image providing server 1 receives a post request as an acquisition unit.
  • the system control unit 14 calculates a representative color value of the posted image (hereinafter referred to as “processed posted image”) indicated by the posted image data included in the posted request (step S51). This calculation method is the same as that in step S15 in the original image registration process.
  • the system control unit 14 performs exclusive control using, for example, a mutex, and performs a lock operation when acquiring the authority to execute the processing (critical session) after step S52. Thereby, the system control unit 14 prevents a plurality of processes from executing critical sessions simultaneously.
  • the system control unit 14 initializes the assignment candidate list and sets it in the RAM 14c (step S52).
  • the assignment candidate list is a list of divided areas (hereinafter referred to as “candidate areas”) that satisfy the conditions for assigning the processing target posted image.
  • the candidate area refers to a divided area where the difference in representative color value from the processing target posted image is equal to or less than a threshold value.
  • the index of the candidate area and the value of the difference between the representative color values of the processing target posted images are registered in association with each other.
  • the system control unit 14 executes candidate area search processing, which will be described later, as first search means (step S53).
  • candidate area search process candidate areas are searched from unallocated areas, and the searched candidate areas are registered in the allocation candidate list.
  • the system control unit 14 determines whether or not a candidate area has been searched (step S54). Specifically, the system control unit 14 determines whether or not one or more sets of candidate region indexes and difference values are registered in the allocation candidate list. At this time, if the index and the difference value of the candidate area are not registered in the allocation candidate list, the system control unit 14 determines that the candidate area could not be searched (step S54: NO). In this case, the system control unit 14 acquires the total number of areas registered in the mosaic image DB 12d in association with the mosaic image ID (hereinafter referred to as “target mosaic image ID”) included in the posting request. Next, the system control unit 14 acquires the number of posts registered in the posted image DB 12c in association with the target mosaic image ID. Next, the system control unit 14 calculates the number of unallocated areas by subtracting the number of posts from the total number of areas (step S55).
  • target mosaic image ID the mosaic image ID
  • the system control unit 14 determines, as determination means, whether or not the number of unallocated areas is equal to or less than the number of division allowable unallocated areas stored in the storage unit 12 (step S56). At this time, if the system control unit 14 determines that the number of unallocated areas is not less than or equal to the number of division allowable unallocated areas (step S56: NO), the system control unit 14 rejects the posting request to the user terminal 2 that transmitted the posting request A message is transmitted (step S59).
  • the posting rejection message is a message indicating that image posting has been rejected.
  • the user terminal 2 displays the received post rejection message on the screen.
  • step S56 when the system control unit 14 determines that the number of unallocated areas is equal to or less than the number of division allowable unallocated areas (step S56: YES), the system control unit 14 executes search / division processing described later as the second search unit. (Step S57).
  • candidate areas are searched from child areas created when an unallocated area is divided. When a candidate area is searched, an unallocated area including the candidate area is actually divided and the candidate area is registered in the allocation candidate list.
  • the system control unit 14 determines whether or not a candidate area has been searched (step S58). Specifically, the system control unit 14 determines whether or not the candidate area index and the difference value are registered in the allocation candidate list. At this time, if the index and the difference value of the candidate area are not registered in the allocation candidate list, the system control unit 14 determines that the candidate area could not be searched (step S58: NO). In this case, the system control unit 14 transmits a post rejection message (step S59), and ends the post image reception process.
  • the system control unit 14 determines that the candidate area has been searched (step S54: YES, or Step S58: YES). In this case, the system control unit 14 assigns a candidate area having the smallest difference in representative color value from the processing target posted image among the searched candidate areas to a divided area (hereinafter referred to as “allocation target area”) to which the processing target posted image is assigned. ”) (Step S60). Specifically, the system control unit 14 searches for the smallest value from the difference values registered in the assignment candidate list.
  • the system control unit 14 acquires the indexes X1 and Y1 or the indexes X1, Y1, X2, and Y2 associated with the smallest difference value from the allocation candidate list as the allocation target area index.
  • the allocation target area index is only X1 and Y1, the allocation target area is a basic area.
  • the index of the allocation target area is X1, Y1, X2, and Y2, the allocation target area is a child area. In the search / division process, only one candidate area is searched at maximum. Therefore, the candidate area searched by the search / division process becomes the allocation target area as it is.
  • the system control unit 14 updates the number of posts by adding 1 to the number of posts registered in the posted image DB 12c in association with the target mosaic image ID (step S61).
  • the system control unit 14 sets the updated number of posts in the image number of the processing target posted image (step S62).
  • the system control unit 14 associates post image information including the image number, the user ID and post image data included in the post request, and the representative color value of the processing target post image with the target mosaic image ID, and the post image DB 12c. (Step S63).
  • the system control unit 14 assigns the allocation image number of the allocation target region registered in the mosaic image DB 12d in association with the target mosaic image ID and the index of the allocation target region as the first allocation unit and the second allocation unit.
  • the image number of the post image to be processed is rewritten (step S64).
  • the system control unit 14 updates the mosaic image display data registered in the mosaic image DB 12d in association with the target mosaic image ID (step S65). Specifically, the system control unit 14 sets an img tag including the URL of the posted image data of the processing target posted image in a cell corresponding to the index of the allocation target region in the mosaic image display data.
  • the system control unit 14 updates the mosaic image display data so that the cell corresponding to the divided basic region is divided into a plurality of cells.
  • the system control unit 14 acquires a pattern number from the assigned image information registered in the mosaic image DB 12d in association with the mosaic image ID and the indexes X1 and Y1 of the assignment target region. Next, the system control unit 14 acquires child division number information corresponding to the pattern number from the division pattern table. Then, the system control unit 14 divides the cell corresponding to the basic area (X1, Y1) by the child horizontal division number and the child vertical division number included in the child division number information.
  • the system control unit 14 generates an HTML document of the image posting / mosaic image display page 400 including the updated mosaic image display data, and stores the HTML document in the storage unit 12 (step S66).
  • the system control unit 14 transmits the generated HTML document to the user terminal 2 that has transmitted the posting request (step S67).
  • the system control unit 14 performs an unlock operation so that another process can execute the critical session.
  • the system control unit 14 ends the posted image reception process.
  • the user terminal 2 displays the image posting / mosaic image display page 400 on the screen based on the received HTML document.
  • the system control unit 14 transmits a request including the URL of the posted image data to the mosaic image providing server 1 based on the img tag included in the mosaic image display data.
  • the system control unit 14 acquires the mosaic image ID and the image number from the URL included in the received request.
  • the system control unit 14 acquires posted image data corresponding to the acquired mosaic image ID and image number from the posted image DB 12c.
  • the system control unit 14 transmits the acquired posted image data to the user terminal 2.
  • the user terminal 2 displays the posted image in the mosaic image display unit 430 of the image posting / mosaic image display page 400 based on the acquired posted image data. Thereby, for example, a mosaic image as shown in FIG. 9 is displayed.
  • the system control unit 14 causes the user terminal 2 to present a mosaic image as a presentation unit by transmitting the mosaic image display data.
  • FIG. 11 is a flowchart illustrating a processing example in the candidate area search process of the system control unit 14 of the mosaic image providing server 1 according to the present embodiment.
  • the system control unit 14 acquires an original image ID (hereinafter referred to as “target original image ID”) corresponding to the target mosaic image ID from the mosaic image DB 12d.
  • the system control unit 14 acquires basic division number information corresponding to the target original image ID from the original image DB 12b (step S101).
  • the system control unit 14 sets 0 to the index Y1 of the basic area (step S102).
  • the system control unit 14 sets 0 to the index X1 of the basic area (step S103).
  • the system control unit 14 acquires a division flag from the assigned image information (X1, Y1) registered in the mosaic image DB 12d in association with the target mosaic image ID (step S104).
  • the system control unit 14 determines whether or not the division flag is set to ON (step S105).
  • step S105 determines that the division flag is not set to ON
  • step S105: NO the system control unit 14 determines that the basic area (X1, Y1) is not divided. Therefore, the system control unit 14 determines whether the basic area (X1, Y1) is an unallocated area (step S106). Specifically, the system control unit 14 determines whether the assigned image number (X1, Y1) registered in the mosaic image DB 12d in association with the target mosaic image ID is a number indicating an unassigned area.
  • the system control unit 14 determines that the basic area (X1, Y1) is an unassigned area (step S106: YES). In this case, the system control unit 14 calculates the difference between the representative color value of the basic region (X1, Y1) and the representative color value of the processing target posted image (step S107). Specifically, the system control unit 14 acquires representative color values (X1, Y1) registered in the original image DB 12b in association with the target original image ID. Next, the system control unit 14 calculates the difference by the following formula 1.
  • Equation 1 Diff is the difference.
  • R1, G1, and B1 are the representative color values of R, G, and B in the basic region (X1, Y1).
  • R2, G2, and B2 are the representative color values of R, G, and B of the processing target posted image.
  • the system control unit 14 calculates the square of the difference calculated for each basic color, and instead of adding the calculation results, takes the absolute value of the difference calculated for each basic color, and calculates the absolute value. You may add them together.
  • the system control unit 14 determines whether or not the calculated difference value is equal to or less than a threshold value (step S108). At this time, if the system control unit 14 determines that the difference value is equal to or smaller than the threshold value (step S108: YES), the system control unit 14 determines the basic region (X1, Y1) as a candidate region (step S109). Specifically, the system control unit 14 associates the indexes X1 and Y1 with the calculated difference value and registers them in the assignment candidate list. Then, the system control unit 14 proceeds to step S121.
  • step S106 when the assigned image number (X1, Y1) is not a number indicating an unassigned area, the system control unit 14 determines that the basic area (X1, Y1) is not an unassigned area (step S106). : NO). In this case, the system control unit 14 proceeds to step S121.
  • step S108 when the system control unit 14 determines that the difference value is not equal to or less than the threshold value (step S108: NO), the system control unit 14 proceeds to step S121.
  • step S105 when the system control unit 14 determines that the division flag is set to ON (step S105: YES), the system control unit 14 determines that the basic area (X1, Y1) is divided. Therefore, the system control unit 14 acquires the pattern number N from the assigned image information (X1, Y1) registered in association with the target mosaic ID. Next, the system control unit 14 acquires the child division number information N from the division pattern table (step S110).
  • the system control unit 14 sets 0 to the index Y2 of the child area (step S111).
  • the system control unit 14 sets 0 to the index X2 of the child area (step S112).
  • the system control unit 14 determines whether or not the child areas (X1, Y1) (X2, Y2) are unallocated areas (step S113). Specifically, the system control unit 14 determines whether the assigned image number (X1, Y1) (X2, Y2) registered in the mosaic image DB 12d in association with the target mosaic image ID is a number indicating an unassigned area. Determine whether.
  • the system control unit 14 determines with it being an area
  • the system control unit 14 determines whether or not the calculated difference value is equal to or less than a threshold value (step S115). At this time, if the system control unit 14 determines that the difference value is equal to or less than the threshold (step S115: YES), the system control unit 14 determines the child regions (X1, Y1) (X2, Y2) as candidate regions (steps). S116). Specifically, the system control unit 14 associates the indexes X1, Y1, X2, and Y2 with the calculated difference values and registers them in the assignment candidate list. Then, the system control unit 14 proceeds to step S117.
  • step S113 if the assigned image number (X1, Y1) (X2, Y2) is not a number indicating an unassigned area, the system control unit 14 has not assigned a child area (X1, Y1) (X2, Y2). It determines with it not being an allocation area
  • step S115 when the system control unit 14 determines that the difference value is not equal to or less than the threshold value (step S115: NO), the system control unit 14 proceeds to step S117.
  • step S117 the system control unit 14 adds 1 to the index X2.
  • step S118 determines whether or not the index X2 is less than the number of child horizontal divisions included in the acquired child division number information (step S118). At this time, if the system control unit 14 determines that the index X2 is less than the child horizontal division number (step S118: YES), the system control unit 14 proceeds to step S113. On the other hand, when the system control unit 14 determines that the index X2 is not less than the child horizontal division number (step S118: NO), the system control unit 14 adds 1 to the index Y2 (step S119).
  • the system control unit 14 determines whether or not the index Y2 is less than the number of child vertical divisions included in the acquired child division number information (step S120). At this time, if the system control unit 14 determines that the index Y2 is less than the number of child vertical divisions (step S120: YES), the system control unit 14 proceeds to step S112. The system control unit 14 searches for candidate areas from among the child areas included in the basic area (X1, Y1) by repeating the processes of steps S112 to S120. If the system control unit 14 determines that the index Y2 is not less than the number of child vertical divisions (step S120: NO), the system control unit 14 proceeds to step S121.
  • step S121 the system control unit 14 adds 1 to the index X1.
  • step S122 determines whether or not the index X1 is less than the basic horizontal division number included in the acquired basic division number information. At this time, if the system control unit 14 determines that the index X1 is less than the basic horizontal division number (step S122: YES), the system control unit 14 proceeds to step S104. On the other hand, when the system control unit 14 determines that the index X1 is not less than the basic horizontal division number (step S122: NO), the system control unit 14 adds 1 to the index Y1 (step S123).
  • step S124 determines whether or not the index Y1 is less than the basic vertical division number included in the acquired basic division number information. At this time, if the system control unit 14 determines that the index Y1 is less than the basic vertical division number (step S124: YES), the system control unit 14 proceeds to step S103.
  • the system control unit 14 searches for candidate areas from all unallocated areas by repeating the processes of steps S103 to S124.
  • step S124: NO If the system control unit 14 determines that the index Y1 is not less than the basic vertical division number (step S124: NO), it ends the candidate area search process.
  • FIGS. 12 and 13 are flowcharts showing a processing example in the search / division processing of the system control unit 14 of the mosaic image providing server 1 according to the present embodiment.
  • the system control unit 14 acquires basic division number information corresponding to the target original image ID from the original image DB 12b (step S151). Next, the system control unit 14 sets 1 to the pattern number N (step S152). Next, the system control unit 14 acquires the child division number information N from the division pattern table (step S153). Next, the system control unit 14 sets 0 to the index Y1 of the basic area (step S154). Next, the system control unit 14 sets 0 to the index X1 of the basic area (step S155). Next, the system control unit 14 acquires a division flag from the assigned image information (X1, Y1) registered in the mosaic image DB 12d in association with the target mosaic image ID (step S156). Next, the system control unit 14 determines whether or not the division flag is set to ON (step S157).
  • step S157 YES
  • step S157: NO the system control unit 14 determines whether the basic area (X1, Y1) is an unallocated area (step S157: NO). Step S158). At this time, if the system control unit 14 determines that the basic area (X1, Y1) is not an unallocated area (step S158: NO), the system control unit 14 proceeds to step S159.
  • step S158 determines that the basic area (X1, Y1) is an unallocated area (step S158: YES), as shown in FIG. 13, the child area index Y2 is set to 0. (Step S201). Next, the system control unit 14 sets 0 to the index X2 of the child area (step S202).
  • the system control unit 14 calculates the difference between the representative color value of the child area N (X1, Y1) (X2, Y2) and the representative color value of the processing target posted image (step S203). Specifically, the system control unit 14 acquires representative color values N (X1, Y1) (X2, Y2) registered in the original image DB 12b in association with the target original image ID. Then, the system control unit 14 uses the acquired representative color values of the child areas to calculate the difference in the same manner as in step S114 of the candidate area search process.
  • the system control unit 14 determines whether or not the calculated difference value is equal to or less than a threshold value (step S204). At this time, if the system control unit 14 determines that the difference value is equal to or smaller than the threshold value (step S204: YES), the system control unit 14 determines the child area N (X1, Y1) (X2, Y2) as a candidate area ( Step S205). Specifically, the system control unit 14 associates the indexes X1, Y1, X2, and Y2 with the calculated difference values and registers them in the assignment candidate list.
  • the child area determined as the candidate area here becomes the allocation target area as it is. Therefore, the system control unit 14 divides the basic area (X1, Y1) as a dividing unit so that the child areas N (X1, Y1) (X2, Y2) are created. First, the system control unit 14 changes the division flag included in the assigned image information (X1, Y1) registered in the mosaic image DB 12d in association with the target mosaic image ID to ON (step S206). Next, the system control unit 14 additionally registers the pattern number N in the assigned image information (X1, Y1). Further, the system control unit 14 additionally registers an assigned image number indicating an unassigned area in the assigned image information (X1, Y1) (step S207). At this time, the system control unit 14 registers the allocated image numbers indicating the unallocated areas for the number of child divisions included in the acquired child division number information.
  • step S204 when the system control unit 14 determines that the difference value is not equal to or less than the threshold value (step S204: NO), 1 is added to the index X2 (step S209).
  • the system control unit 14 determines whether or not the index X2 is less than the number of child horizontal divisions included in the acquired child division number information (step S210). At this time, if the system control unit 14 determines that the index X2 is less than the child horizontal division number (step S210: YES), the system control unit 14 proceeds to step S203. On the other hand, when the system control unit 14 determines that the index X2 is not less than the child horizontal division number (step S210: NO), the system control unit 14 adds 1 to the index Y2 (step S211).
  • step S212 determines whether or not the index Y2 is less than the number of child vertical divisions included in the acquired child division number information. At this time, if the system control unit 14 determines that the index Y2 is less than the number of child vertical divisions (step S212: YES), the system control unit 14 proceeds to step S202.
  • the system control unit 14 repeats the processes of steps S202 to S212 to assign from among the child areas created when the basic area (X1, Y1) is temporarily divided by the number of child divisions corresponding to the pattern number N. Search the target area. If the system control unit 14 determines that the index Y2 is not less than the number of child vertical divisions (step S212: NO), the system control unit 14 proceeds to step S159.
  • step S159 shown in FIG. 12 the system control unit 14 adds 1 to the index X1.
  • the system control unit 14 determines whether or not the index X1 is less than the basic horizontal division number included in the acquired basic division number information (step S160). At this time, if the system control unit 14 determines that the index X1 is less than the basic horizontal division number (step S160: YES), the system control unit 14 proceeds to step S156. On the other hand, when the system control unit 14 determines that the index X1 is not less than the basic horizontal division number (step S160: NO), the system control unit 14 adds 1 to the index Y1 (step S161).
  • step S162 determines whether or not the index Y1 is less than the basic vertical division number included in the acquired basic division number information. At this time, if the system control unit 14 determines that the index Y1 is less than the basic vertical division number (step S162: YES), the system control unit 14 proceeds to step S155.
  • the system control unit 14 repeats the processes of steps S155 to S162, so that all the basic areas that are unallocated areas are temporarily divided by the number of child divisions corresponding to the pattern number N. The allocation target area is searched from among them.
  • step S163 the system control unit 14 adds 1 to the pattern number N (step S163).
  • step S164 determines whether or not the pattern number N is equal to or less than the number of division patterns set in the division pattern table (step S164). At this time, if the system control unit 14 determines that the pattern number N is equal to or less than the number of divided patterns (step S164: YES), the system control unit 14 proceeds to step S153.
  • the system control unit 14 repeats the processes of steps S153 to S164, so that all the basic areas that are unallocated areas are temporarily divided from the child areas created when the number of child divisions of all patterns is temporarily divided. Search the allocation target area. If the system control unit 14 determines that the pattern number N is not less than or equal to the number of division patterns (step S164: NO), the search / division process is terminated.
  • the system area 14 of the mosaic image providing server 1 acquires a post image specified by the user, and a basic region that satisfies the conditions for assigning the acquired post image
  • the acquired post image is assigned to the searched basic area, and there is no basic area that satisfies the assignable conditions as a result of the search, more than one of the unassigned areas is further added.
  • the posted image is assigned to a child region that satisfies the conditions for assigning the acquired posted image, and acquired based on the image assignment.
  • the mosaic image display in which the posted image is arranged is presented to the user.
  • system control unit 14 determines whether or not the number of unallocated areas is equal to or smaller than a preset threshold value, and performs division only when it is determined that the number of unallocated areas is equal to or smaller than the threshold value.
  • the basic area is not divided. The increase in the number can be suppressed.
  • system control unit 14 searches a child area satisfying an assignable condition from a plurality of child areas created when each basic area that is an unallocated area is divided, and the searched child area Divide the base area where the area will be created.
  • system control unit 14 searches for a child area satisfying an assignable condition from a plurality of child areas created when a certain basic area to which the posted image is not assigned is divided by a plurality of division patterns. Then, the certain basic area is divided by the division pattern in which the searched child area is created.
  • system control unit 14 searches for a child area satisfying an assignable condition from a plurality of child areas created when a certain basic area to which the posted image is not assigned is divided by a plurality of child division numbers. Then, the smaller the number of child divisions, the higher the priority is determined as the number of child divisions when actually dividing, and the certain basic area is divided by the determined number of child divisions.
  • system control unit 14 calculates in advance the representative color value of each child area created when each basic area is divided, registers the calculated representative color value in the original image DB 12b, and obtains the post Based on the representative color value of the image and the representative color value of the posted image in the basic area, a search is made for an unallocated area that satisfies the allocatable condition. Based on the representative color value of the image and the representative color value of the child area registered in the original image DB 12b, an assignable condition is satisfied from among a plurality of child areas created when the basic area is divided. Search child areas.
  • each child area is searched when a child area satisfying an assignable condition is searched from among a plurality of child areas created when the basic area is divided. It is not necessary to generate the representative color value of Therefore, the processing time at the time of search can be shortened.
  • the mosaic image providing server 1 calculates in advance the representative color value of each child area created when it is assumed that each basic area is divided in the original image registration process. However, if the mosaic image providing server 1 determines in step S54 of the posted image reception process that it has not been possible to search for a segmented area that satisfies the allocatable conditions, the representative image value required in the search / segmentation process is determined. May be calculated. In this way, it is not necessary to calculate a representative color value for a child area created when a basic area to which a posted image has already been assigned is divided. Therefore, the calculation amount of the representative color value can be reduced.
  • the system control unit 14 divides the basic region (X1, Y1) by the number of child divisions corresponding to the pattern number N. In this case, the representative color value of each child area created may be calculated. Alternatively, the system control unit 14 may calculate the representative color values of only the child areas N (X1, Y1) (X2, Y2) when calculating the representative color values in step S203. The system control unit 14 registers the representative color value of the calculated child area in the original image DB 12b, so that for the child area for which the representative color value has been calculated once, the representative color value is determined in the subsequent search / division processing. There is no need to calculate.
  • the mosaic image providing server 1 targets only the basic area, but the child area may be further divided into a plurality of areas (hereinafter referred to as “grandchild areas”).
  • the system control unit 14 satisfies all the basic areas that have been unallocated areas have already been divided into child areas, and satisfies the condition that a posted image can be allocated in the unallocated area. If there is no area, any child area that is an unallocated area is divided into a plurality of grandchild areas, and a posted image is assigned to a grandchild area that satisfies the allocation condition.
  • the child area division method, the grandchild area search method that satisfies the assignable conditions, and the like are basically the same as those in the above embodiment.
  • the mosaic image providing server 1 may further divide the grandchild region into a plurality of regions.
  • the number of unallocated areas is equal to or less than the number of division allowable unallocated areas. Only divided the basic area. In this case, after the division of the basic area, the number of unallocated areas may temporarily exceed the number of division allowable unallocated areas. In other words, there may be a state where the division of the basic area is temporarily impossible after the division. In order to avoid this, the basic area may always be divided after the number of unallocated areas once becomes equal to or smaller than the division allowable unallocated area.
  • the mosaic image providing server 1 performs a process of searching for a child area satisfying an assignable condition from among the child areas created when the basic area is divided in the search / dividing process. This is done until one child area that satisfies the conditions is found.
  • the mosaic image providing server 1 may search for child areas that satisfy the assignable conditions for all the basic areas that are unallocated areas. Then, the mosaic image providing server 1 divides, for example, a basic region in which a child region having the smallest difference from the representative color value from the posted image is created from the child regions that satisfy the assignable conditions, and the child regions are divided into the child regions. You may assign a post image.
  • the mosaic image providing server 1 performs a process of searching for child areas that satisfy an assignable condition from among the child areas created when the basic area is divided. You may perform only with respect to a part of basic region instead of performing it with a brute force type to an area.
  • the basic region to be processed may be determined randomly or based on preset conditions. For example, the mosaic image providing server 1 can assign a condition that can be assigned from among the child areas created when the basic area is divided only for the basic area that has the smallest difference from the representative color value with the posted image. You may search the child area
  • the mosaic image providing server 1 calculates the difference in representative color value from the posted image for all the divided areas to which the posted image is not assigned. It was. However, by rearranging the divided areas based on the representative color values in advance, the number of divided areas to be calculated can be reduced and the calculation time can be shortened. For example, the system control unit 14 displays a list indicating divided areas in ascending order of R representative color values, a list indicating divided areas in ascending order of G representative color values, and a list indicating divided areas in ascending order of B representative color values. Generate.
  • the system control unit 14 When the system control unit 14 receives the posted image data and calculates the representative value of the posted image, the system control unit 14 sets the minimum value and the maximum value of the representative value that have a difference from the representative value of the posted image equal to or less than the threshold value as R, G, Calculate for each B.
  • the threshold value at this time may be different from the threshold value used when the difference is calculated by Equation 1.
  • the system control unit 14 specifies, by using the generated list, a range of divided areas in which the difference between the representative value and the representative value of the posted image is equal to or less than a threshold value by, for example, a binary search method.
  • the system control unit 14 executes this for R, G, and B.
  • the system control unit 14 sets, as candidate areas, divided areas in which the difference in representative value from the posted image is equal to or less than the threshold in all of R, G, and B.
  • the mosaic image providing server 1 determines a candidate area to which the posted image is assigned from among the unallocated areas.
  • the mosaic image providing server 1 may determine a candidate area to which the posted image is assigned regardless of whether or not the posted image has already been assigned. For example, when the color of the processing target posted image to be assigned is closer to the color of the divided region than the color of the posted image already allocated to the divided region, the mosaic image providing server 1 May be assigned to the divided area, and the posted image assigned to the divided area may be assigned to the unallocated area.
  • the mosaic image providing server 1 has determined the divided area having the smallest difference in representative color value from the posted image as the allocation target area. For example, the difference in the representative color value from the posted image. Any divided area may be determined as the allocation target area from among the divided areas having a threshold value equal to or less than the threshold value.
  • the mosaic image providing server 1 assigns each posted image to one divided area, but may assign it to a plurality of areas, for example.
  • the mosaic image providing server 1 may assign the same posted image to a plurality of areas from among the divided areas in which the difference in representative color value from the posted image is equal to or less than a threshold value.
  • the mosaic image providing server 1 has determined the allocation target area based on the representative color value of the posted image and the representative color value of the divided area.
  • the allocation target area may be determined based on the pattern included in the divided area. For example, the mosaic image providing server 1 calculates the degree of coincidence indicating the coincidence between the pattern of the posted image and the pattern included in the divided region, and assigns an assignment target from among the divided regions where the degree of coincidence is equal to or greater than a preset threshold. An area may be determined. Further, for example, the mosaic image providing server 1 calculates the degree of coincidence of the image itself including the pattern and the color between the posted image and the divided area, and the divided area where the degree of coincidence is equal to or higher than a preset threshold value.
  • the allocation target area may be determined from the inside.
  • the mosaic image providing server 1 transmits an HTML document including mosaic image display data to the user terminal 2 in order to display the mosaic image on the user terminal 2.
  • the mosaic image providing server 1 may transmit the image data of the mosaic image itself to the user terminal 2.
  • the mosaic image providing server 1 is assigned based on, for example, the posted image data acquired so far and registered in the posted image DB 12c, and the assigned image number registered in the mosaic image DB 12d. The image data of the mosaic image in which each posted image is arranged at the position of the area is generated.
  • the mosaic image providing server 1 can use images posted from a plurality of users for generating display data of one mosaic image.
  • the mosaic image providing server 1 may generate display data of a mosaic image using only an image posted from one user, for example.
  • the mosaic image providing server 1 is provided with an acquisition unit, a first search unit, a first allocation unit, a division unit, a second allocation unit, a presentation unit, and the like. Is transmitted to the user terminal 2, and the mosaic image is presented by the user terminal 2.
  • an apparatus such as the user terminal 2 is provided with an acquisition unit, a first search unit, a first allocation unit, a division unit, a second allocation unit, a presentation unit, and the like.
  • division of the basic area, assignment of the posted image, generation of a mosaic image, display of the mosaic image on a display, and the like may be performed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

 取得された画像を割り当てることが可能な条件を満たす領域にその画像を割り当てる場合に、取得された画像を極力無駄にしないようにする。画像提供装置は、ユーザにより指定された画像を取得し、取得された画像を割り当て可能な条件を満たす領域を検索し、検索された領域に取得された画像を割り当て、検索の結果、割り当て可能な条件を満たす領域がなかった場合に、画像が割り当てられていない領域のうち何れかの領域を更に複数の領域に分割し、分割によって作られた複数の領域のうち取得された画像を割り当て可能な条件を満たす領域に当該画像を割り当て、割り当てに基づいて、取得された画像が配置されたモザイク画像を提示させる。

Description

画像提供装置、画像処理方法、画像処理プログラム及び記録媒体
 本発明は、端末装置から取得された画像を組み合わせてできるモザイク画像を提示させる画像提供装置及び画像処理方法の技術分野に関する。
 従来、例えば広告やイベントの告知等に用いられるポスターやWebページ等における画像の表現手法として、素材となる複数の画像(以下、「素材画像」という)をタイル状に配置してモザイク画像(例えば、モザイクアート、フォトモザイク等)として表現する方法が知られている。この表現方法においては、例えば、モザイク画像の絵柄の元となる画像(以下、「元画像」という)が複数の領域に分割される。そして、各素材画像が、例えば色調、模様等が近い領域に割り当てられる。これにより、元画像の絵柄を表現するモザイク画像が生成される。
 また、サーバ装置が、ユーザから素材画像として提供される画像をネットワークを介して端末装置から取得し、取得した画像を用いて生成したモザイク画像を端末装置に表示させる技術が知られている。この場合、如何なる画像が素材画像となるかは、基本的に画像を提供するユーザの判断にゆだねられる。そのため、このような画像を素材画像として用いる場合には、元画像の絵柄の視認性が高いモザイク画像を如何にして生成するかが課題となる。
 例えば、特許文献1には、視認性が高いモザイク画像を提供することを目的とする技術が開示されている。具体的には、モザイク画像提供装置が、モザイク画像の元となる対象画像を分割した複数のブロックの中からユーザが投稿した素材画像の配置対象となるブロックを決定するとき、ユーザが選択したブロックを配置対象として決定し、または、ブロックの画像に制限されることなく自動的に配置対象を決定する。また、モザイク画像提供装置が、素材画像の基本色の平均濃度値が、配置対象のブロックの基本色の平均濃度値となるように、素材画像を色補正する。また、ユーザから投稿された素材画像の数がモザイク画像の完成に必要な数に到達するまでは、一部のブロックに対してのみ素材画像が配置された状態のモザイク画像が端末装置に表示される。つまり、未完成状態のモザイク画像が表示される。
特開2010-4166号公報
 モザイク画像において元画像の絵柄の視認性を高めるためには、画像を割り当てることが可能な領域の条件(例えば、色調や模様等の条件)を設定し、ユーザから提供された画像を割り当てることが可能な条件を満たす領域がない場合には、その画像をモザイク画像に用いないようにすることが必要となる。しかしながら、そのようなことをすると、ユーザから提供された画像が無駄になる。
 一方、特許文献1に記載の技術では、任意のブロックに任意の素材画像を配置することができる。しかしながら、素材画像の色が変えてられてしまうので、素材画像の本来の色がモザイク画像の生成に生かされていない。
 本願発明は、以上の点に鑑みてなされたものであり、取得された画像を割り当てることが可能な条件を満たす領域にその画像を割り当てる場合に、取得された画像を極力無駄にしないようにすることができる画像提供装置、画像処理方法、画像処理プログラム及び記録媒体を提供することを目的とする。
 上記課題を解決するために、請求項1に記載の発明は、複数の領域に分割された元画像のモザイク画像を提供する画像提供装置であって、ユーザにより指定された画像を取得する取得手段と、前記取得された画像を割り当て可能な条件を満たす領域を検索する第1検索手段と、前記第1検索手段により検索された領域に前記取得された画像を割り当てる第1割り当て手段と、前記第1検索手段による検索の結果、前記割り当て可能な条件を満たす領域がなかった場合に、画像が割り当てられていない領域のうち何れかの領域を更に複数の領域に分割する分割手段と、前記分割手段による分割によって作られた複数の領域のうち前記取得された画像を割り当て可能な条件を満たす領域に当該画像を割り当てる第2割り当て手段と、前記第1割り当て手段または前記第2割り当て手段による割り当てに基づいて、前記取得された画像が配置されたモザイク画像を提示させる提示手段と、
 を備えることを特徴とする。
 この発明によれば、取得された画像を割り当て可能な条件を満たす領域がなかった場合には、まだ画像が割り当てられていない何れかの領域が更に複数の領域に分割される。これにより、新しい領域が複数作られるので、これらの領域の中に、取得された画像を割り当て可能な条件を満たす領域が存在する可能性がある。そして、新しく作られた領域の中に割り当て可能な条件を満たす領域が存在する場合には、その領域に、取得された画像が割り当てられる。そのため、取得された画像を極力無駄にしないようにすることができる。
 請求項2に記載の発明は、請求項1に記載の画像提供装置において、画像が割り当てられていない領域の数が予め設定された数以下であるか否かを判定する判定手段を更に備え、前記分割手段は、画像が割り当てられていない領域の数が予め設定された数以下であると判定された場合にのみ、分割を行うことを特徴とする。
 一般的に、画像が割り当てられていない領域は、取得された画像を割り当てる候補になるので、画像が割り当てられていない領域が多いほど、割り当て可能な条件を満たす領域が存在する可能性が高い。この発明によれば、画像が割り当てられていない領域がある程度の数存在することにより、取得された画像がある程度は無駄にならないようにすることができるときには、領域が分割されないので、モザイク画像の完成に必要な画像数の増加を抑えることができる。
 請求項3に記載の発明は、請求項1または請求項2に記載の画像提供装置において、前記第1検索手段による検索の結果、前記割り当て可能な条件を満たす領域がなかった場合に、画像が割り当てられていない各領域がそれぞれ分割された場合に作られる複数の領域の中から前記割り当て可能な条件を満たす領域を検索する第2検索手段を更に備え、前記分割手段は、画像が割り当てられていない領域のうち、分割された場合に前記第2検索手段により検索された領域が作られる領域を分割することを特徴とする。
 この発明によれば、画像が割り当てられていない各領域がそれぞれ分割されたとした場合に作られる複数の領域が、割り当て可能な条件を満たす領域の検索対象となる。そして、分割によって割り当て可能な条件を満たす領域が作られる領域が実際に分割されて、実際に作られた割り当て可能な条件を満たす領域に、取得された画像が割り当てられる。画像が割り当てられていない領域の数に応じて、分割した場合に作られる領域の数が多くなるので、割り当て可能な条件を満たすかもしれない領域が多くなる。そのため、割り当て可能な条件を満たす領域の発見の可能性を高めることができる。
 請求項4に記載の発明は、請求項1乃至3の何れか1項に記載の画像提供装置において、前記第1検索手段による検索の結果、前記割り当て可能な条件を満たす領域がなかった場合に、画像が割り当てられていないある領域が互いに異なる複数の分割態様のそれぞれで分割された場合に作られる複数の領域の中から前記割り当て可能な条件を満たす領域を検索する第2検索手段を更に備え、前記分割手段は、前記ある領域を、前記第2検索手段により検索された領域が作られる分割態様で分割することを特徴とする。
 この発明によれば、画像が割り当てられていない領域が複数の分割態様のそれぞれで分割されたとした場合に作られる複数の領域が、割り当て可能な条件を満たす領域の検索対象となる。そして、分割によって割り当て可能な条件を満たす領域が作られる分割態様で、画像が割り当てられていない領域が実際に分割されて、実際に作られた割り当て可能な条件を満たす領域に、取得された画像が割り当てられる。分割態様に応じて他の分割態様とは異なる領域を作ることができるので、割り当て可能な条件を満たすかもしれない領域を増やすことができる。そのため、割り当て可能な条件を満たす領域の発見の可能性を高めることができる。
 請求項5に記載の発明は、請求項4に記載の画像提供装置において、前記分割態様は、分割によって作られる領域の数を含み、前記分割手段は、分割によって作られる領域の数が少ない分割態様であるほど、分割するときの分割態様として優先的に決定することを特徴とする。
 この発明によれば、画像が割り当てられていない領域が複数の分割数のそれぞれで分割されたとした場合に作られる複数の領域が、割り当て可能な条件を満たす領域の検索対象となる。そして、分割によって割り当て可能な条件を満たす領域が作られる分割数のうち少ない分割数であるほど、実際に分割するときの分割数として優先的に決定される。そして、決定された分割数で、画像が割り当てられていない領域が実際に分割されて、実際に作られた割り当て可能な条件を満たす領域に、取得された画像が割り当てられる。そのため、割り当て可能な条件を満たす領域の発見の可能性を高めることができるとともに、モザイク画像の完成に必要な画像数の増加を抑えることができる。
 請求項6に記載の発明は、請求項3乃至5の何れか1項に記載の画像提供装置において、前記元画像が予め分割されることで作られた各領域が前記分割手段により分割された場合に作られる各領域の画像の代表色を示す色情報を予め生成する色情報生成手段と、前記生成された各色情報を記憶する記憶手段と、を更に備え、前記第1検索手段は、前記取得された画像の代表色を示す色情報と、画像が割り当てられていない領域の画像の代表色を示す色情報と、に基づいて、前記割り当て可能な条件を満たす領域を検索し、前記第2検索手段は、前記取得された画像の前記色情報と、前記記憶された色情報と、に基づいて、前記割り当て可能な条件を満たす領域を検索することを特徴とする。
 この発明によれば、分割手段による分割によって作られる各領域の色情報が予め生成されるので、第2検索手段による検索時に、分割によって作られる各領域の色情報を生成する必要がない。そのため、第2検索手段による検索時の処理時間を短くすることができる。
 請求項7に記載の発明は、請求項3乃至5の何れか1項に記載の画像提供装置において、前記第1検索手段は、前記取得された画像の代表色を示す色情報と、画像が割り当てられていない領域の画像の代表色を示す色情報と、に基づいて、前記割り当て可能な条件を満たす領域を検索し、前記第2検索手段により画像が割り当てられていないある領域が分割された場合に作られる複数の領域の中から前記割り当て可能な条件を満たす領域を検索するときに、作られる領域の画像の代表色を示す色情報を生成する色情報生成手段を更に備え、前記第2検索手段は、前記取得された画像の前記色情報と、前記生成された色情報と、に基づいて、前記割り当て可能な条件を満たす領域を検索することを特徴とする。
 この発明によれば、第1検索手段による検索の結果、割り当て可能な条件を満たす領域がなかった場合に、第2検索手段による検索に必要となる領域の色情報が生成される。これにより、既に画像が割り当てられている領域が分割されたとした場合に作られる複数の領域については色情報を生成する必要がない。そのため、色情報の生成の処理量を減らすことができる。
 請求項8に記載の発明は、複数の領域に分割された元画像のモザイク画像を提供する画像提供装置における画像処理方法であって、ユーザにより指定された画像を取得する取得ステップと、前記取得された画像を割り当て可能な条件を満たす領域を検索する第1検索ステップと、前記第1検索ステップにおいて検索された領域に前記取得された画像を割り当てる第1割り当てステップと、前記第1検索ステップにおける検索の結果、前記割り当て可能な条件を満たす領域がなかった場合に、画像が割り当てられていない領域のうち何れかの領域を更に複数の領域に分割する分割ステップと、前記分割ステップにおける分割によって作られた複数の領域のうち前記取得された画像を割り当て可能な条件を満たす領域に当該画像を割り当てる第2割り当てステップと、前記第1割り当てステップまたは前記第2割り当てステップにおける割り当てに基づいて、前記取得された画像が配置されたモザイク画像を提示させる提示ステップと、を含むことを特徴とする。
 請求項9に記載の発明は、複数の領域に分割された元画像のモザイク画像を提供する画像提供装置に含まれるコンピュータを、ユーザにより指定された画像を取得する取得手段、前記取得された画像を割り当て可能な条件を満たす領域を検索する第1検索手段、前記第1検索手段により検索された領域に前記取得された画像を割り当てる第1割り当て手段、前記第1検索手段による検索の結果、前記割り当て可能な条件を満たす領域がなかった場合に、画像が割り当てられていない領域のうち何れかの領域を更に複数の領域に分割する分割手段、前記分割手段による分割によって作られた複数の領域のうち前記取得された画像を割り当て可能な条件を満たす領域に当該画像を割り当てる第2割り当て手段、及び、前記第1割り当て手段または前記第2割り当て手段による割り当てに基づいて、前記取得された画像が配置されたモザイク画像を提示させる提示手段、として機能させることを特徴とする。
 請求項10に記載の発明は、複数の領域に分割された元画像のモザイク画像を提供する画像提供装置に含まれるコンピュータを、ユーザにより指定された画像を取得する取得手段、前記取得された画像を割り当て可能な条件を満たす領域を検索する第1検索手段、前記第1検索手段により検索された領域に前記取得された画像を割り当てる第1割り当て手段、前記第1検索手段による検索の結果、前記割り当て可能な条件を満たす領域がなかった場合に、画像が割り当てられていない領域のうち何れかの領域を更に複数の領域に分割する分割手段、前記分割手段による分割によって作られた複数の領域のうち前記取得された画像を割り当て可能な条件を満たす領域に当該画像を割り当てる第2割り当て手段、及び、前記第1割り当て手段または前記第2割り当て手段による割り当てに基づいて、前記取得された画像が配置されたモザイク画像を提示させる提示手段、として機能させる画像処理プログラムがコンピュータ読み取り可能に記録されていることを特徴とする。
 本発明によれば、取得された画像を割り当て可能な条件を満たす領域がなかった場合には、まだ画像が割り当てられていない何れかの領域が更に複数の領域に分割される。これにより、新しい領域が複数作られるので、これらの領域の中に、取得された画像を割り当て可能な条件を満たす領域が存在する可能性がある。そして、新しく作られた領域の中に割り当て可能な条件を満たす領域が存在する場合には、その領域に、取得された画像が割り当てられる。そのため、取得された画像を極力無駄にしないようにすることができる。
一実施形態に係るモザイク画像提供システムSの概要構成の一例を示す図である。 元画像100を480個の分割領域に分割した場合の例を示す図である。 (a)は、モザイク画像の表示例を示す図であり、(b)は、基本領域の分割後のモザイク画像の一部分を示す図である。 (a)乃至(c)は、未割り当て領域の分割態様の一例を示す図である。 一実施形態に係るモザイク画像提供サーバ1の概要構成の一例を示すブロック図である。 (a)は、一実施形態に係る会員情報DB12aに登録される内容の一例を示す図であり、(b)は、元画像DB12bに登録される内容の一例を示す図であり、(c)は、基本領域情報に設定される内容の一例を示す図であり、(d)は、子領域情報に設定される内容の一例を示す図であり、(e)は、投稿画像DB12cに登録される内容の一例を示す図であり、(f)は、投稿画像情報に設定される内容の一例を示す図である。 (a)は、一実施形態に係るモザイク画像DB12dに登録される内容の一例を示す図であり、(b)及び(c)は、割り当て画像情報に設定される内容の一例を示す図であり、(d)は、分割パターンテーブルに設定される内容の一例を示す図である。 一実施形態に係るモザイク画像提供サーバ1のシステム制御部14の元画像登録処理における処理例を示すフローチャートである。 一実施形態に係る画像投稿・モザイク画像表示ページ400の画面表示例を示す図である。 一実施形態に係るモザイク画像提供サーバ1のシステム制御部14の投稿画像受信時処理における処理例を示すフローチャートである。 一実施形態に係るモザイク画像提供サーバ1のシステム制御部14の候補領域検索処理における処理例を示すフローチャートである。 一実施形態に係るモザイク画像提供サーバ1のシステム制御部14の検索・分割処理における処理例を示すフローチャートである。 一実施形態に係るモザイク画像提供サーバ1のシステム制御部14の検索・分割処理における処理例を示すフローチャートである。
 以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下に説明する実施の形態は、モザイク画像提供システムに対して本発明を適用した場合の実施形態である。
 [1.モザイク画像提供システムの構成及び機能概要]
 先ず、本実施形態に係るモザイク画像提供システムSの構成及び機能概要について、図1乃至図4を用いて説明する。図1は、本実施形態に係るモザイク画像提供システムSの概要構成の一例を示す図である。
 図1に示すように、モザイク画像提供システムSは、モザイク画像提供サーバ1と、複数のユーザ端末2と、を含んで構成されている。そして、モザイク画像提供サーバ1及び各ユーザ端末2は、ネットワークNWを介して、例えば、通信プロトコルにTCP/IP等を用いて相互にデータの送受信が可能になっている。なお、ネットワークNWは、例えば、インターネット、専用通信回線(例えば、CATV(Community Antenna Television)回線)、移動体通信網(基地局等を含む)、及びゲートウェイ等により構築されている。
 モザイク画像提供サーバ1(本発明における画像提供装置の一例)は、素材となる複数の画像をタイル状に配置して(組み合わせて)できるモザイク画像が表示されるWebページをユーザ端末2へ送信するWebサーバである。モザイク画像提供サーバ1は、素材となる画像を収集するため、ネットワークNWを介して各ユーザ端末2から画像を取得する。ユーザ端末2から取得される画像は、ユーザにより投稿された画像(以下、「投稿画像」という)である。
 ユーザ端末2は、モザイク画像提供システムSを利用するユーザの端末装置である。ユーザ端末2は、ユーザからの操作に基づいて、モザイク画像提供サーバ1にアクセスする。これにより、ユーザ端末2は、モザイク画像提供サーバ1からWebページを受信して表示する。ユーザは、ユーザ端末2の画面に表示されるWebページを通じて、モザイク画像の素材となる画像を投稿したり、モザイク画像を表示させたりする。ユーザ端末2には、ブラウザや電子メールクライアント等のソフトウェアが組み込まれている。ユーザ端末2としては、例えば、パーソナルコンピュータ、PDA(Personal Digital Assistant)、スマートフォン等の携帯情報端末、携帯電話機等が用いられる。
 このような構成のモザイク画像提供システムSにおいて、モザイク画像の絵柄の元となる画像が、例えば予め用意されている。この画像が元画像である。モザイク画像提供サーバ1は、モザイク画像が表す絵柄が、元画像が表す絵柄に近くなるように、投稿画像の配置を行う。
 図2は、元画像の一例を示す図である。図2に示す画像100は、歩いている馬及びその馬に乗っている騎手の絵柄を表す画像である。ここで、馬の色は焦げ茶色であるものとする。また、騎手のズボンの色は黄色であり、騎手の上着の色は水色であるものとする。また、背景の色は白色であるものとする。なお、それぞれが均一の色で塗りつぶされているのではなく、場所によってある程度の色の変化はあるものとする。
 元画像は、符号200で示される複数の領域(以下、「分割領域」という)に分割されている。例えば、画像100は、横20個及び縦24個の合計480個の分割領域に分割されている。分割領域の個数を、「分割数」という。各分割領域には、ユーザ端末2から取得された投稿画像が割り当てられる。投稿画像を分割領域に割り当てることは、モザイク画像内において、割り当て先の分割領域に対応する位置に、投稿画像を配置することを意味する。
 モザイク画像提供サーバ1は、ユーザ端末2から投稿画像を取得するたびに、まだ投稿画像が割り当てられていない分割領域(以下、「未割り当て領域」という)の中から、取得した投稿画像を割り当て可能な条件を満たす分割領域を検索する。本実施形態において割り当て可能な条件を満たす分割領域とは、分割領域内の画像を代表する色が投稿画像を代表する色とある程度以上近い分割領域をいう。画像を代表する色(以下、「代表色」という)とは、例えば、画像全体の色を平均することにより得られる色等である。モザイク画像提供サーバ1は、割り当て可能な条件を満たす分割領域のうち何れかの分割領域に、投稿画像を割り当てる。そして、モザイク画像提供サーバ1は、その時点までに収集されている投稿画像が配置されたモザイク画像が表示されるWebページを生成する。従って、元画像の分割数分の投稿画像が収集されるまでは、未完成状態のモザイク画像がWebページに表示される。つまり、モザイク画像内において、投稿画像が配置されていない領域が存在する。
 図3(a)は、モザイク画像の表示例を示す図である。図3(a)に示すモザイク画像は、画像100を元画像とする未完成状態のモザイク画像300aである。なお、モザイク画像300a上の格子模様は分割領域の境界線を示す。Webページにモザイク画像が表示される場合、この格子模様は表示されない。
 モザイク画像300aにおいては、未割り当て領域が20個存在する。この後、モザイク画像提供サーバ1があるユーザ端末2から取得した投稿画像を、20個の未割り当て領域の中から割り当て可能な条件を満たす分割領域を検索した結果、割り当て可能な条件を満たす分割領域がないと判定したとする。すると、モザイク画像提供サーバ1は、20個の未割り当て領域の未割り当て領域のうち何れかの分割領域を更に複数の分割領域に分割し、この分割によって作られた複数の分割領域のうち、割り当て可能な条件を満たす分割領域に投稿画像を割り当てる。
 図3(b)は、基本領域の分割後のモザイク画像の一部分を示す図である。図3(b)の例では、未割り当て領域の1つである分割領域200aが4個の分割領域210a~dに分割されている。そして、分割領域210dに、投稿画像110が割り当てられている。ここで、当初から存在する分割領域を、「基本領域」という。また、基本領域の総数を、「基本分割数」という。図2(a)の例では、各分割領域200が基本領域であり、基本分割数は480である。一方、基本領域を分割することによって作られる分割領域を、「子領域」という。また、1つの基本領域内に作られた子領域の総数を、「子分割数」という。図3(b)の例では、分割領域210a~dが子領域であり、子分割数は9である。
 基本領域を分割することで、複数の子領域が新しい分割領域として作られるので、新しい複数の分割領域の中に、投稿画像を割り当て可能な条件を満たす分割領域がある可能性がある。そのため、投稿画像を極力無駄にならないようにすることができる。また、分割によって作られる子領域の面積は基本領域の面積より小さい。そのため、モザイク画像において、子領域に分割された基本領域の部分の解像度が高くなるため、その部分における絵柄の視認性が高まるという一面もある。
 モザイク画像提供サーバ1は、実際には、未割り当て領域を仮に分割した場合に作られる複数の子領域の中から割り当て可能な条件を満たす子領域を検索する処理を、各未割り当て領域に対して総当たりで行っている。そして、モザイク画像提供サーバ1は、割り当て可能な条件を満たす子領域を含む未割り当て領域を実際に分割する。そうすることで、投稿画像を割り当て可能な条件を満たす子領域を発見する可能性を高めることができる。
 1つの未割り当て領域を仮に分割するときの分割パターン(分割態様)は、1パターンのみではない。モザイク画像提供サーバ1は、未割り当て領域を複数の分割パターンでそれぞれ分割した場合に作られる複数の子領域の中から割り当て可能な条件を満たす子領域を検索する。具体的に、モザイク画像提供サーバ1は、複数パターンの子分割数で分割した場合に作られる複数の子領域の中から割り当て可能な条件を満たす子領域を検索する。
 図4(a)は、分割領域200を、横2個及び縦2個の合計4個の分割領域210に分割した場合の例である。また、図4(b)は、分割領域200を、横4個及び縦2個の合計8個の分割領域220に分割した場合の例である。また、図4(c)は、分割領域200を、横4個及び縦4個の合計16個の分割領域230に分割した場合の例である。
 モザイク画像提供サーバ1は、複数パターンの子分割数のうち、例えば、子分割数が少ない順に未割り当て領域を仮に分割して割り当て可能な条件を満たす子領域を検索する。図4の例では、モザイク画像提供サーバ1は、各未割り当て領域について仮に4分割して割り当て可能な条件を満たす子領域を検索する。このとき、モザイク画像提供サーバ1は、割り当て可能な条件を満たす子領域が発見された場合には、未割り当て領域を実際に4分割する。一方、モザイク画像提供サーバ1は、割り当て可能な条件を満たす子領域がなかった場合には、各未割り当て領域について仮に8分割して割り当て可能な条件を満たす子領域を検索する。このとき、モザイク画像提供サーバ1は、割り当て可能な条件を満たす子領域が発見された場合には、未割り当て領域を実際に8分割する。一方、モザイク画像提供サーバ1は、割り当て可能な条件を満たす子領域がなかった場合には、各未割り当て領域について仮に16分割して割り当て可能な条件を満たす子領域を検索する。
 同じ基本領域を分割したとしても、分割数が異なれば、異なる子領域が作られる。そのため、複数の分割パターンで試みることにより、投稿画像を割り当て可能な条件を満たす子領域を発見する可能性を高めることができる。モザイク画像提供サーバ1が、子分割数が少ない分割パターンであるほど、実際に分割するときの子分割数として優先的に決定するとしているのは、モザイク画像の完成に必要な投稿画像の数を抑えるためである。しかしながら、モザイク画像提供サーバ1は、子分割数が少ない順に優先的に決定しなくても良い。
 なお、分割パターンとしては、子分割数に限られるものではない。異なる分割パターン間で、少なくとも1つ以上の子領域についてその位置または大きさの少なくとも何れか一方が他方の分割パターンと異なるような子領域が作られるようになっていれば良い。例えば、図4(b)は、横4分割及び縦2分割の分割パターンであるが、これに対して、横2分割及び縦4分割の分割パターンがある場合、両者の子分割数は同じであっても、互いに異なる子領域が作られる。
 モザイク画像提供サーバ1は、上述した処理によっても投稿画像を割り当て可能な条件を満たす分割領域がなかった場合には、その投稿画像を用いず、また、基本領域の分割も行わない。
 また、未割り当て領域の分割が行われるのは、未割り当て領域の数が、予め設定された数以下になっているときのみである。未割り当て領域の数が多いほど、投稿画像を割り当て可能な条件を満たす分割領域が存在する可能性が高くなる。そのため、未割り当て領域の分割を行わなくても、投稿画像が無駄になることを、ある程度は抑えることができる。これにより、モザイク画像の完成に必要な投稿画像の数を抑えることができる。
 [2.モザイク画像提供サーバの構成]
 次に、モザイク画像提供サーバ1の構成について、図5乃至図7を用いて説明する。
 図5は、本実施形態に係るモザイク画像提供サーバ1の概要構成の一例を示すブロック図である。図5に示すように、モザイク画像提供サーバ1は、通信部11と、記憶部12と、入出力インターフェース13と、システム制御部14と、を備えている。そして、システム制御部14と入出力インターフェース13とは、システムバス15を介して接続されている。
 通信部11は、ネットワークNWに接続して、ユーザ端末2等との通信状態を制御するようになっている。
 記憶部12(本発明における記憶手段の一例)は、例えば、ハードディスクドライブ等により構成されている。この記憶部12には、会員情報DB(データベース)12a、元画像DB12b、投稿画像DB12c及びモザイク画像DB12d等が構築されている。
 図6(a)は、本実施形態に係る会員情報DB12aに登録される内容の一例を示す図である。会員情報DB12aには、モザイク画像提供システムSに会員登録しているユーザに関する会員情報が登録される。具体的に、会員情報DB12aには、ユーザの識別情報であるユーザID、パスワード、ニックネーム、氏名、生年月日、性別、住所、電話番号、電子メールアドレス等が、ユーザごとに対応付けて登録される。
 図6(b)は、本実施形態に係る元画像DB12bに登録される内容の一例を示す図である。元画像DB12bには、元画像及び元画像に関する情報が登録されている。具体的に、元画像DB12bには、元画像の識別情報である元画像ID、元画像データ、基本分割数情報及び複数の基本領域情報が元画像ごとに対応付けて登録される。
 元画像IDは、元画像の識別情報である。元画像データは、元画像の画像データである。モザイク画像提供システムSにおいて用いられる画像データのフォーマットとしては、例えば、JPEG(Joint Photographic Experts Group)、TIFF(Tagged-Image File Format)、PNG(Portable Network Graphics)等がある。
 基本分割数情報は、基本分割数を示す情報である。具体的に、基本分割数情報は、基本分割数、基本横分割数及び基本縦分割数を含む。基本横分割数は、横方向の分割数である。つまり、基本横分割数は、元画像の横方向に並ぶ基本領域の個数である。基本縦分割数は、縦方向の分割数である。つまり、基本縦分割数は、元画像の縦方向に並ぶ基本領域の個数である。基本分割数は、基本横分割数と基本縦分割数とを掛け合わせることにより得られる。
 基本領域情報は、基本領域に関する情報である。基本領域情報は、基本分割数分登録される。各基本領域情報は、対応する基本領域のインデックスに対応付けて登録される。各基本領域には、(X1,Y1)という形でインデックスが割り当てられる。ここで、X1は、横方向における基本領域の位置を示す。また、Y1は、縦方向における基本領域の位置を示す。元画像の左上隅に位置する基本領域のインデックスが(0,0)となる。基本領域(X1,Y1)は、一番左からX1+1番目に位置する基本領域のうち、一番上からY1+1番目に位置する基本領域である。
 なお、元画像を複数の領域に分割することとは、元画像全体に相当する領域を複数の領域に分割することであり、元画像内の各画素がそれぞれ何れの領域に含まれているか(あるいは、各領域が何れの画素を含むか)を特定可能にすることをいう。システム制御部14は、元画像の縦横の画素数と、横分割数及び縦分割数とを取得することで、各画素が含まれる領域を特定することができる。そのため、元画像を複数の領域に分割することは、元画像の画像データを領域ごとの画像データに分割することを必ずしも意味するものとは限らない。よって、システム制御部14は、領域ごとの画像データを元画像DB12bに登録しても良いし、登録しなくても良い。
 図6(c)は、基本領域情報に設定される内容の一例を示す図である。図6(c)に示すように、基本領域情報には、代表色値及び1つ以上の子領域情報が設定される。
 代表色値(本発明における色情報の一例)は、基本領域の代表色を示す値である。代表色は、例えば、分割領域全体の色を平均することにより得られる色であっても良いし、分割領域内において専有面積が最も大きい色であっても良い。代表色値は、例えば、R(赤)、G(緑)、B(青)の各基本色(原色)ごとの値を含む。R、G、Bの各値は、例えば、0から255までの何れかの値をとる。システム制御部14は、分割領域の代表色値と投稿画像の代表色値とを比較することにより、投稿画像を割り当てる分割領域の候補を決定する。なお、代表色値は、例えば、CMYK、Lab色空間等で表現されても良い。
 子領域情報は、基本領域を分割した場合に作られる子領域に関する情報である。子領域情報は、子分割数のパターン数分登録される。各子領域情報には、N(X1,Y1)という形でインデックスが割り当てられる。N(Nは1以上の整数)は、子分割数のパターンの番号(以下、「パターン番号」という)である。
 図6(d)は、子領域情報に設定される内容の一例を示す図である。図6(d)に示すように、子領域情報には、複数の代表色値が設定される。
 代表色値は、子領域の代表色を示す値である。なお、子領域の代表色値の内容は、基本領域の代表色値の内容と同様である。代表色値は、パターン番号Nに対応する子分割数分登録される。各代表色値は、対応する子分割数、基本領域及び子領域のインデックスに対応付けて登録される。各子領域には、子領域(X1,Y1)(X2,Y2)という形でインデックスが割り当てられる。ここで、X1及びY1は、子領域が含まれる基本領域のインデックスである。また、X2は、基本領域(X1,Y1)内における横方向における子領域の位置を示す。また、Y2は、基本領域(X1,Y1)内における縦方向における子領域の位置を示す。基本領域(X1,Y1)の左上隅に位置する子領域のインデックスが(X1,Y1)(0,0)となる。子領域(X1,Y1)(X2,Y2)は、基本領域(X1,Y1)の一番左からX2+1番目に位置する子領域のうち、一番上からY2+1番目に位置する子領域である。
 代表色値N(X1,Y1)(X2,Y2)は、基本領域(X1,Y1)を、インデックスNに対応する子分割数の子領域に分割した場合に作られる子領域(X1,Y1)(X2,Y2)の代表色値である。
 図6(e)は、本実施形態に係る投稿画像DB12cに登録される内容の一例を示す図である。投稿画像DB12cには、投稿画像及び投稿画像に関する情報が登録される。具体的に、投稿画像DB12cには、モザイク画像ID、投稿数、投稿画像情報が登録される。モザイク画像IDは、登録された投稿画像を素材として生成されるモザイク画像の識別情報である。投稿数は、これまでにユーザ端末2から取得された投稿画像の数である。投稿画像情報は、投稿数分登録される。
 図6(f)は、投稿画像情報に設定される内容の一例を示す図である。図6(f)に示すように、投稿画像情報には、画像番号、ユーザID、投稿画像データ及び代表色値が対応付けて設定される。画像番号は、投稿画像に付与された番号である。各投稿画像には、投稿順(モザイク画像提供サーバ1が取得した順)に画像番号が付与される。投稿画像情報に設定されるユーザIDは、投稿画像を投稿したユーザのユーザIDである。つまり、投稿画像情報に設定されるユーザIDは、投稿画像の取得先のユーザ端末2を利用するユーザのユーザIDである。投稿画像データは、投稿画像の画像データである。代表色値は、投稿画像の代表色を示す値である。なお、投稿画像の代表色値の内容は、分割領域の代表色値の内容と同様である。
 図7(a)は、本実施形態に係るモザイク画像DB12dに登録される内容の一例を示す図である。モザイク画像DB12dには、モザイク画像に関する情報が登録される。具体的に、モザイク画像DB12dには、モザイク画像ID、元画像ID、総領域数、複数の割り当て画像情報及びモザイク画像表示データがモザイク画像ごとに対応付けて登録される。モザイク画像IDは、モザイク画像の識別情報である。元画像IDは、モザイク画像の絵柄となる画像の元画像IDである。割り当て画像情報は、分割領域に割り当てられている投稿画像を示す情報である。
 総領域数は、モザイク画像の分割領域の総数である。総領域数の初期値は、モザイク画像IDに対応する元画像の基本分割数である。そして、基本領域が子領域に分割されるたびに、総領域数が増加する。割り当て画像情報は、元画像の基本分割数分登録される。各割り当て画像情報は、対応する基本領域のインデックスに対応付けて登録される。
 図7(b)及び図7(c)は、割り当て画像情報に設定される内容の一例を示す図である。図7(b)及び図7(c)に示すように、割り当て画像情報には、分割フラグが設定される。分割フラグは、基本領域(X1,Y1)が分割されているか否かを示す。分割フラグがOFFに設定されている場合、対応する基本領域は分割されていないことを示す。分割フラグがONに設定されている場合、対応する基本領域は分割されていることを示す。
 図7(b)に示すように、分割フラグがOFFに設定されている場合の割り当て画像情報には、更に割り当て画像番号が1つのみ設定されている。
 割り当て画像番号は、分割領域に割り当てられている投稿画像の画像番号である。まだ投稿画像が割り当てられていない分割領域の割り当て画像番号には、例えば、-1等の無効な番号が設定されている。分割フラグがOFFに設定されている場合の割り当て画像番号は、基本領域に割り当てられた投稿画像の画像番号である。
 図7(c)に示すように、分割フラグがONに設定されている場合の割り当て画像情報には、更にパターン番号及び複数の割り当て画像番号が設定されている。
 パターン番号は、基本領域(X1,Y1)の子分割数のパターンの番号である。分割フラグがONに設定されている場合の割り当て画像番号は、基本領域(X1,Y1)を分割することにより作られた子領域に割り当てられた投稿画像の画像番号である。この場合の割り当て画像番号は、パターン番号に対応する子分割数分登録される。各割り当て画像番号は、対応する基本領域及び子領域のインデックスに対応付けて登録される。この場合、割り当て画像番号(X1,Y1)(Y2,Y2)は、子領域(X1,Y1)(Y2,Y2)に割り当てられた投稿画像の画像番号である。
 モザイク画像表示データは、Webページ内にモザイク画像を表示するためのデータである。つまり、モザイク画像表示データは、モザイク画像の表示内容を示す。本実施形態においては、モザイク画像は、各セルに投稿画像がはめ込まれたテーブルとして表現される。例えば、モザイク画像表示データは、HTML(Hyper Text Markup Language)、XML(Extensible Markup Language)、XHTML(Extensible Hyper Text Markup Language)等のマークアップ言語等で記述されたデータである。モザイク画像表示データは、モザイク画像が表示されるWebページのHTML文書の一部を構成する。システム制御部14は、モザイク画像表示データを含むHTML文書をユーザ端末2へ送信することにより、このHTML文書に基づいてユーザ端末2によりモザイク画像を表示させる。つまり、ユーザ端末2が、HTML文書に含まれるモザイク画像表示データの記述内容に従ってテーブルの各セルに投稿画像を表示することにより、Webページ内にモザイク画像を表示する。本実施形態では、ユーザ端末2が画面上にモザイク画像を生成(形成)することになる。
 モザイク画像表示データにおいては、例えば、tableタグ、trタグ、tdタグ等によりテーブルが規定される。セルを示すtd開始タグとtd終了タグとの間には、例えば、
 <img src="href="http://www.yyy.zzz/9876543210-0123.jpeg" >
 というimgタグが設定される。ここで、"http://www.yyy.zzz/9876543210-0123.jpeg"は、投稿画像データのURL(Uniform Resource Locator)である。また、"9876543210"は、元画像IDである。また、"0123"は、投稿画像の画像番号である。このように、投稿画像が割り当てられている分割領域に対応するセルには、割り当てられている投稿画像のURLを含むimgタグが設定される。なお、このURLは、投稿画像のサムネイルの画像データのURLであっても良い。モザイク画像内においては、通常、投稿画像は本来の表示サイズよりも小さいサイズで表示される。そのため、投稿画像の縦横の画素数を減らして表示サイズを縮小したサムネイルの画像データが、モザイク画像を表示しようとするユーザ端末2へ送信されても良い。この場合、システム制御部14は、例えば、投稿画像データを投稿画像DB12cに登録するとき、投稿画像データに基づいて投稿画像のサムネイルの画像データを生成し、このサムネイルの画像データを投稿画像DB12cに登録する。
 モザイク画像DB12dに登録されている割り当て画像情報の内容は、モザイク画像表示データに反映されている。そのため、モザイク画像DB12dには、割り当て画像情報またはモザイク画像表示データの何れか一方のみが登録されるようになっていても良い。割り当て画像情報のみが登録される場合、システム制御部14は、モザイク画像が表示されるWebページを送信するときに、割り当て画像情報に基づいてモザイク画像表示データを生成しても良い。
 次に、記憶部12に記憶されるその他の情報について説明する。記憶部12には、分割パターンテーブルが記憶されている。図7(d)は、分割パターンテーブルに設定される内容の一例を示す図である。分割パターンテーブルは、子分割数のパターンを示すテーブル情報である。図7(d)に示すように、分割パターンテーブルには、分割パターン数及び1つ以上の子分割数情報が設定される。
 分割パターン数は、子分割数のパターンの数を示す。図4の例では、分割パターン数は3になる。子分割数情報は、分割パターン数分設定される。子分割数情報は、子分割数を示す情報である。具体的に、子分割数情報は、子分割数、子横分割数及び子縦分割数を含む。子横分割数は、横方向の分割数である。つまり、子横分割数は、基本領域の横方向に並ぶ子領域の個数である。子縦分割数は、縦方向の分割数である。つまり、子縦分割数は、基本領域の縦方向に並ぶ子領域の個数である。子分割数は、子横分割数と子縦分割数とを掛け合わせることにより得られる。子分割数情報のインデックスはパターン番号Nである。各子分割数情報は、
 子分割数情報1の子分割数>1
 子分割数情報N+1の子分割数>子分割数情報Nの子分割数
 を満たすように設定される。図4の例では、子分割数情報1の子分割数、子横分割数及び子縦分割数は、例えば4、2、2となっている。また、子分割数情報2については、例えば8、4、2となっている。また、子分割数情報3については、例えば16、4、4となっている。元画像DB12bに登録されている子領域情報Nに登録されている代表色値の数は、子分割数情報Nに含まれる子分割数と一致する。また、モザイク画像DB12dに登録される割り当て画像情報に含まれる割り当て画像番号は、その割り当て画像情報に含まれるパターン番号に対応する子分割数情報に含まれる子分割数と一致する。
 分割パターン数及び各子分割数情報は、例えば、モザイク画像提供サーバ1の管理者等により行われる。なお、分割パターン数は1以上であれば良い。また、子横分割数と子縦分割数とが同数ではなくても良い。また、各子分割数情報に含まれる子分割数は、子分割数情報1に含まれる子分割数の倍数ではなくても良い。また、上記の式の条件を満たす限り、子分割数情報は任意に設定することができる。例えば、分割パターン数を1とした場合には、1パターンの子分割数でのみ基本領域が分割されることになる。また、分割パターン数を2以上とした場合、複数パターンの子分割数で基本領域が分割される可能性がある。
 また、記憶部12には、Webページを表示するためのHTML文書、XML文書、画像データ、テキストデータ、電子文書等の各種データが記憶されている。また、記憶部12には、管理者等により設定された各種の設定値が記憶されている。設定値の中には、投稿画像の色が分割領域の色に近いか否かを判定するための閾値や、未割り当て領域を分割しても良いか否かを判定するための未割り当て領域の数を示す分割許容未割り当て領域数(本発明における予め設定された数の一例)が含まれている。
 また、記憶部12には、オペレーティングシステム、WWW(World Wide Web)サーバプログラム、DBMS(DataBase Management System)、モザイク画像提供プログラム等の各種プログラムが記憶されている。モザイク画像提供プログラムは、元画像の登録、投稿画像の取得、モザイク画像表示データの生成等のモザイク画像に関する処理を実行するためのプログラムである。なお、各種プログラムは、例えば、他のサーバ装置等からネットワークNWを介して取得されるようにしても良いし、DVD(Digital Versatile Disc)等の記録媒体に記録されてドライブ装置を介して読み込まれるようにしても良い。
 入出力インターフェース13は、通信部11及び記憶部12とシステム制御部14との間のインターフェース処理を行うようになっている。
 システム制御部14は、CPU14a、ROM(Read Only Memory)14b、RAM(Random Access Memory)14c等により構成されている。そして、システム制御部14は、CPU14aが、各種プログラムを読み出し実行することにより、本発明における取得手段、第1検索手段、第1割り当て手段、分割手段、第2割り当て手段、提示手段、第2検索手段及び色情報生成手段として機能するようになっている。
 なお、モザイク画像提供サーバ1が、複数のサーバ装置で構成されても良い。例えば、元画像の登録、投稿画像の取得、モザイク画像表示データの生成に関する処理を行うサーバ装置、ユーザ端末2からのリクエストに応じてWebページを送信するサーバ装置、及びデータベースを管理するサーバ装置等が、互いにLAN等で接続されても良い。
 [3.モザイク画像提供システムの動作]
 次に、モザイク画像提供システムSの動作について、図8乃至図13を用いて説明する。
 図8は、本実施形態に係るモザイク画像提供サーバ1のシステム制御部14の元画像登録処理における処理例を示すフローチャートである。
 例えば、モザイク画像提供サーバ1の管理者が、モザイク画像提供サーバ1に接続された管理用の端末装置を操作することにより、元画像の登録を行う。具体的に、管理者は、元画像データを選択するとともに、基本横分割数及び基本縦分割数を入力する。すると、管理用の端末装置は、元画像データ、基本横分割数及び基本縦分割数を含む元画像登録リクエストを、モザイク画像提供サーバ1へ送信する。なお、例えば、ユーザが元画像を投稿することができるようになっても良い。この場合、元画像を投稿するユーザのユーザ端末2が元画像登録リクエストを送信する。
 元画像登録処理は、モザイク画像提供サーバ1が元画像登録リクエストを受信したときに開始される。この元画像登録処理は、後述する投稿画像受信時処理よりも前に予め実行される。そして、元画像登録処理が実行されることにより、投稿画像受信時処理における投稿画像の割り当て等が可能となる。
 元画像登録処理において、システム制御部14は、新たな元画像IDを生成する。次いで、システム制御部14は、受信した元画像登録リクエストに含まれる基本横分割数及び基本縦分割数に基づいて、基本分割数情報を生成する。そして、システム制御部14は、新たな元画像ID、元画像登録リクエストに含まれる元画像データ及び生成した基本分割数情報を対応付けて、元画像DB12bに登録する(ステップS11)。また、システム制御部14は、元画像データに基づいて、元画像のビットマップイメージをRAM14cに展開する。
 次いで、システム制御部14は、元画像を複数の基本領域に分割する。先ず、システム制御部14は、基本領域のインデックスY1に0を設定する(ステップS12)。次いで、システム制御部14は、基本領域のインデックスX1に0を設定する(ステップS13)。次いで、システム制御部14は、基本領域(X1,Y1)を特定する(ステップS14)。具体的に、システム制御部14は、登録した元画像データから元画像の縦横の画素数を取得する。次いで、システム制御部14は、元画像の縦横の画素数と、登録した基本分割数情報が示す基本横分割数及び基本縦分割数と、インデックスX1及びY1とに基づいて、基本領域(X1,Y1)に含まれる画素の座標範囲を計算する。
 次いで、システム制御部14は、基本領域(X1,Y1)の代表色値を計算する(ステップS15)。例えば、システム制御部14は、RAM14cに展開された元画像のビットマップイメージから基本領域(X1,Y1)に含まれる画素の値を取得する。次いで、システム制御部14は、R、G、Bの各基本色ごとに、取得した画素値を足し合わせる。次いで、システム制御部14は、基本色ごとの画素値の合計を、それぞれ基本領域(X1,Y1)に含まれる画素の総数で割る。この計算により得られた基本色ごとの画素値の平均が代表色値である。次いで、システム制御部14は、計算した代表色値を、新たな元画像IDと、基本領域のインデックスX1及びY1と、に対応付けて元画像DB12bに登録する。
 次いで、システム制御部14は、パターン番号Nに1を設定する(ステップS16)。次いで、システム制御部14は、分割パターンテーブルから子分割数情報Nを取得する(ステップS17)。
 次いで、システム制御部14は、子領域のインデックスY2に0を設定する(ステップS18)。次いで、システム制御部14は、子領域のインデックスX2に0を設定する(ステップS19)。次いで、システム制御部14は、子領域N(X1,Y1)(X2,Y2)を特定する(ステップS20)。子領域N(X1,Y1)(X2,Y2)は、パターン番号Nに対応する子分割数で仮に基本領域を分割した場合に作られる子領域である。具体的に、システム制御部14は、元画像の縦横の画素数と、登録した基本分割数情報に含まれる基本横分割数及び基本縦分割数と、子分割数情報Nに含まれる子横分割数及び子縦分割数と、インデックスX1、Y1、X2及びY2とに基づいて、子領域N(X1,Y1)(X2,Y2)に含まれる画素の座標範囲を計算する。
 次いで、システム制御部14は、色情報生成手段として、子領域N(X1,Y1)(X2,Y2)の代表色値を計算する(ステップS21)。この計算方法は、基本領域の場合と同様である。システム制御部14は、計算した代表色値を、新たな元画像IDと、パターン番号Nと、インデックスX1、Y1、X2及びY2とに対応付けて元画像DB12bに登録する。
 次いで、システム制御部14は、インデックスX2に1を加算する(ステップS22)。次いで、システム制御部14は、インデックスX2が子横分割数未満であるか否かを判定する(ステップS23)。このとき、システム制御部14は、インデックスX2が子横分割数未満であると判定した場合には(ステップS23:YES)、ステップS20に移行する。一方、システム制御部14は、インデックスX2が子横分割数未満ではないと判定した場合には(ステップS23:NO)、インデックスY2に1を加算する(ステップS24)。次いで、システム制御部14は、インデックスY2が子縦分割数未満であるか否かを判定する(ステップS25)。このとき、システム制御部14は、インデックスY2が子縦分割数未満であると判定した場合には(ステップS25:YES)、ステップS19に移行する。システム制御部14は、ステップS19~S25の処理を繰り返すことにより、基本領域(X1,Y1)をパターン番号Nに対応する子分割数で分割した場合の各子領域の代表色値の登録を行う。
 そして、システム制御部14は、インデックスY2が子縦分割数未満ではないと判定した場合には(ステップS25:NO)、パターン番号Nに1を加算する(ステップS26)。次いで、システム制御部14は、パターン番号Nが分割パターンテーブルに設定されている分割パターン数以下であるか否かを判定する(ステップS27)。このとき、システム制御部14は、パターン番号Nが分割パターン数以下であると判定した場合には(ステップS27:YES)、ステップS17に移行する。システム制御部14は、ステップS17~S27の処理を繰り返すことにより、基本領域(X1,Y1)を全てのパターンの子分割数で分割した場合の各子領域の代表色値の登録を行う。
 そして、システム制御部14は、パターン番号Nが分割パターン数以下ではないと判定した場合には(ステップS27:NO)、インデックスX1に1を加算する(ステップS28)。次いで、システム制御部14は、インデックスX1が基本横分割数未満であるか否かを判定する(ステップS29)。このとき、システム制御部14は、インデックスX1が基本横分割数未満であると判定した場合には(ステップS29:YES)、ステップS14に移行する。一方、システム制御部14は、インデックスX1が基本横分割数未満ではないと判定した場合には(ステップS29:NO)、インデックスY1に1を加算する(ステップS30)。次いで、システム制御部14は、インデックスY1が基本縦分割数未満であるか否かを判定する(ステップS31)。このとき、システム制御部14は、インデックスY1が基本縦分割数未満であると判定した場合には(ステップS31:YES)、ステップS13に移行する。システム制御部14は、ステップS13~S31の処理を繰り返すことにより、全ての基本領域の代表色値の登録及び全ての基本領域について全てのパターンの子分割数で分割した場合の各子領域の代表色値の登録を行う。
 そして、システム制御部14は、インデックスY1が基本縦分割数未満ではないと判定した場合には(ステップS31:NO)、新たなモザイク画像IDを生成する。次いで、システム制御部14は、新たなモザイク画像ID及び元画像IDを対応付けて、モザイク画像DB12dに登録する。また、システム制御部14は、総領域数として、登録した基本縦分割数情報に含まれる基本分割数を、新たなモザイク画像ID及び元画像IDに対応付けて、モザイク画像DB12dに登録する。また、システム制御部14は、各基本領域の割り当て画像情報として、OFFに設定された分割フラグ及び投稿画像が割り当てられていないことを示す割り当て画像番号を含む割り当て画像情報を、新たなモザイク画像ID及び元画像IDに対応付けて、モザイク画像DB12dに登録する。また、システム制御部14は、空のモザイク画像表示データを、新たなモザイク画像ID及び元画像IDに対応付けて、モザイク画像DB12dに登録する(ステップS32)。空のモザイク画像表示データとは、投稿画像データのURLを含むimgタグが全く設定されていないモザイク画像表示データである。
 次いで、システム制御部14は、画像投稿・モザイク画像表示ページ400のHTML文書を生成する(ステップS33)。画像投稿・モザイク画像表示ページ400は、画像を投稿するためのWebページであるとともに、モザイク画像が表示されるWebページでもある。システム制御部14は、生成したHTML文書を記憶部12に記憶させる。次いで、システム制御部14は、生成したHTML文書へのハイパーリンクを設定する(ステップS34)。例えば、システム制御部14は、モザイク画像提供システムSのWebサイトのトップページのHTML文書に、画像投稿・モザイク画像表示ページ400のHTML文書のURLを含むaタグを追加する。これにより、ユーザによる画像の投稿及びモザイク画像の閲覧が可能となる。システム制御部14は、ステップS34の処理を終えると、元画像登録処理を終了させる。
 図9は、本実施形態に係る画像投稿・モザイク画像表示ページ400の画面表示例を示す図である。図9に示すように、画像投稿・モザイク画像表示ページ400は、メッセージ部410、投稿画像送信部420、モザイク画像表示部430等を含む。メッセージ部410には、例えば、モザイク画像提供システムSに関連するサイトにおける商品やサービス等に関する告知等の情報が表示される。投稿画像送信部420には、画像を投稿するための各種ウィジット(操作要素)が表示される。例えば、投稿画像データのパス名を指定するための入力欄、ユーザ端末2に記憶されている画像データの中から投稿画像データを選択するためのダイアログを表示するための参照ボタン、投稿画像データを送信するための送信ボタン等が表示される。モザイク画像表示部430には、これまで投稿された画像により生成されたモザイク画像が表示される。図9においては、モザイク画像の一例としてモザイク画像300bが表示されている。モザイク画像300bは、一部の分割領域に対して投稿画像が割り当てられることにより生成されたモザイク画像である。なお、元画像登録処理が完了した後、まだ画像が1つも投稿されていない場合には、モザイク画像表示部430にはモザイク画像は表示されない。
 また、モザイク画像表示部430に表示されたモザイク画像に含まれる何れかの投稿画像がユーザにより選択された場合には、例えば、選択された投稿画像が画像投稿・モザイク画像表示ページ400内に大きく表示されたり、選択された投稿画像を投稿したユーザに関する情報(例えば、ユーザのニックネームやプロフィール等)が画像投稿・モザイク画像表示ページ400内に表示されたりしても良い。投稿画像を投稿したユーザに関する情報を表示する場合、システム制御部14は、例えば、モザイク画像表示データにimgタグを設定する際、投稿画像を投稿したユーザのユーザIDをモザイク画像表示データに設定する。モザイク画像表示部430において、ユーザが何れかの投稿画像を選択すると、ユーザ端末2は、その投稿画像を投稿したユーザのユーザIDを含むリクエストをモザイク画像提供サーバ1へ送信する。システム制御部14は、受信したリクエストに含まれるユーザIDに対応する会員情報から必要な情報を取得してユーザ端末2へ送信する。そして、ユーザ端末2は、受信した情報を表示する。
 図10は、本実施形態に係るモザイク画像提供サーバ1のシステム制御部14の投稿画像受信時処理における処理例を示すフローチャートである。画像投稿・モザイク画像表示ページ400の投稿画像送信部420において、ユーザが投稿画像データを指定して送信ボタンを選択すると、ユーザ端末2は、投稿リクエストをモザイク画像提供サーバ1へ送信する。投稿リクエストは、指定された投稿画像データ、操作を行ったユーザのユーザID、生成対象のモザイク画像のモザイク画像IDを含む。投稿画像受信時処理は、モザイク画像提供サーバ1が取得手段として投稿リクエストを受信したときに開始される。
 先ず、システム制御部14は、投稿リクエストに含まれる投稿画像データが示す投稿画像(以下、「処理対象投稿画像」という)の代表色値を計算する(ステップS51)。この計算方法は、元画像登録処理におけるステップS15の場合と同様である。
 ここで、システム制御部14は、例えばミューテックス等を利用した排他制御を行い、ステップS52以降の処理(クリティカルセッション)を実行することができる権限を取得した場合には、ロック操作を行う。これにより、システム制御部14は、複数のプロセスがクリティカルセッションを同時に実行することができないようにする。
 次いで、システム制御部14は、割り当て候補リストを初期化してRAM14cに設定する(ステップS52)。割り当て候補リストは、処理対象投稿画像を割り当て可能な条件を満たす分割領域(以下、「候補領域」という)のリストである。候補領域は、処理対象投稿画像との代表色値の差が閾値以下である分割領域をいう。割り当て候補リストには、候補領域のインデックスと、処理対象投稿画像との代表色値の差の値とが対応付けて登録される。
 次いで、システム制御部14は、第1検索手段として、後述する候補領域検索処理を実行する(ステップS53)。候補領域検索処理では、未割り当て領域の中から候補領域が検索され、検索された候補領域が割り当て候補リストに登録される。
 次いで、システム制御部14は、候補領域を検索することができたか否かを判定する(ステップS54)。具体的に、システム制御部14は、割り当て候補リストに候補領域のインデックス及び差の値が一組以上登録されているか否かを判定する。このとき、システム制御部14は、割り当て候補リストに候補領域のインデックス及び差の値が登録されていない場合には、候補領域を検索することができなかったと判定する(ステップS54:NO)。この場合、システム制御部14は、投稿リクエストに含まれるモザイク画像ID(以下、「対象モザイク画像ID」という)に対応付けてモザイク画像DB12dに登録されている総領域数を取得する。次いで、システム制御部14は、対象モザイク画像IDに対応付けて投稿画像DB12cに登録されている投稿数を取得する。次いで、システム制御部14は、総領域数から投稿数を引いて、未割り当て領域の数を計算する(ステップS55)。
 次いで、システム制御部14は、判定手段として、未割り当て領域の数が記憶部12に記憶されている分割許容未割り当て領域数以下であるか否かを判定する(ステップS56)。このとき、システム制御部14は、未割り当て領域の数が分割許容未割り当て領域数以下ではないと判定した場合には(ステップS56:NO)、投稿リクエストの送信元のユーザ端末2に、投稿拒否メッセージを送信する(ステップS59)。投稿拒否メッセージは、画像の投稿が拒否された旨を示すメッセージである。ユーザ端末2は、受信した投稿拒否メッセージを画面に表示する。システム制御部14は、ステップS59の処理を終えると、投稿画像受信時処理を終了させる。
 一方、システム制御部14は、未割り当て領域の数が分割許容未割り当て領域数以下であると判定した場合には(ステップS56:YES)、第2検索手段として、後述する検索・分割処理を実行する(ステップS57)。候補領域検索処理では、未割り当て領域を分割した場合に作られる子領域の中から候補領域が検索される。そして、候補領域が検索された場合には、その候補領域を含む未割り当て領域が実際に分割されるとともに、その候補領域が割り当て候補リストに登録される。
 次いで、システム制御部14は、候補領域を検索することができたか否かを判定する(ステップS58)。具体的に、システム制御部14は、割り当て候補リストに候補領域のインデックス及び差の値が登録されているか否かを判定する。このとき、システム制御部14は、割り当て候補リストに候補領域のインデックス及び差の値が登録されていない場合には、候補領域を検索することができなかったと判定する(ステップS58:NO)。この場合、システム制御部14は、投稿拒否メッセージを送信して(ステップS59)、投稿画像受信時処理を終了させる。
 システム制御部14は、ステップS54またはS58において割り当て候補リストに候補領域のインデックス及び差の値が登録されている場合には、候補領域を検索することができたと判定する(ステップS54:YES、または、ステップS58:YES)。この場合、システム制御部14は、検索された候補領域のうち、処理対象投稿画像との代表色値の差が最も小さい候補領域を、処理対象投稿画像を割り当てる分割領域(以下、「割り当て対象領域」という)として決定する(ステップS60)。具体的に、システム制御部14は、割り当て候補リストに登録されている差の値の中から最も小さい値を検索する。そして、システム制御部14は、最も小さい差の値に対応付けられているインデックスX1及びY1、または、インデックスX1、Y1、X2及びY2を、割り当て対象領域のインデックスとして割り当て候補リストから取得する。割り当て対象領域のインデックスがX1及びY1のみである場合、割り当て対象領域は基本領域である。一方、割り当て対象領域のインデックスがX1、Y1、X2及びY2である場合、割り当て対象領域は子領域である。なお、検索・分割処理では、候補領域を最大でも1つしか検索しない。そのため、検索・分割処理で検索された候補領域がそのまま割り当て対象領域になる。
 次いで、システム制御部14は、対象モザイク画像IDに対応付けて投稿画像DB12cに登録されている投稿数に1を加算して投稿数を更新する(ステップS61)。次いで、システム制御部14は、処理対象投稿画像の画像番号に、更新後の投稿数を設定する(ステップS62)。次いで、システム制御部14は、画像番号、投稿リクエストに含まれるユーザID及び投稿画像データ、並びに処理対象投稿画像の代表色値を含む投稿画像情報を、対象モザイク画像IDに対応付けて投稿画像DB12cに登録する(ステップS63)。
 次いで、システム制御部14は、第1割り当て手段及び第2割り当て手段として、対象モザイク画像ID及び割り当て対象領域のインデックスに対応付けてモザイク画像DB12dに登録されている割り当て対象領域の割り当て画像番号を、処理対象投稿画像の画像番号に書き換える(ステップS64)。
 次いで、システム制御部14は、対象モザイク画像IDに対応付けてモザイク画像DB12dに登録されているモザイク画像表示データを更新する(ステップS65)。具体的に、システム制御部14は、モザイク画像表示データにおいて、割り当て対象領域のインデックスに対応するセルに、処理対象投稿画像の投稿画像データのURLを含むimgタグを設定する。ここで、検索・分割処理で割り当て対象領域が検索された場合、基本領域が分割されている。そのため、システム制御部14は、分割された基本領域に対応するセルが複数のセルに分割されるように、モザイク画像表示データを更新するする。具体的に、システム制御部14は、モザイク画像ID及び割り当て対象領域のインデックスX1及びY1に対応付けてモザイク画像DB12dに登録されている割り当て画像情報からパターン番号を取得する。次いで、システム制御部14は、パターン番号に対応する子分割数情報を分割パターンテーブルから取得する。そして、システム制御部14は、子分割数情報に含まれる子横分割数及び子縦分割数で、基本領域(X1,Y1)に対応するセルを分割する。
 次いで、システム制御部14は、更新後のモザイク画像表示データを含む画像投稿・モザイク画像表示ページ400のHTML文書を生成して、記憶部12に記憶させる(ステップS66)。次いで、システム制御部14は、生成したHTML文書を、投稿リクエストの送信元のユーザ端末2へ送信する(ステップS67)。ここで、システム制御部14は、アンロック操作を行うことにより、別のプロセスがクリティカルセッションを実行することができるようにする。システム制御部14は、この処理を終えると、投稿画像受信時処理を終了させる。
 ユーザ端末2は、受信したHTML文書に基づいて、画像投稿・モザイク画像表示ページ400を画面に表示する。このとき、システム制御部14は、モザイク画像表示データに含まれるimgタグに基づいて、投稿画像データのURLを含むリクエストをモザイク画像提供サーバ1へ送信する。システム制御部14は、受信したリクエストに含まれるURLからモザイク画像ID及び画像番号を取得する。次いで、システム制御部14は、取得したモザイク画像ID及び画像番号に対応する投稿画像データを、投稿画像DB12cから取得する。次いで、システム制御部14は、取得した投稿画像データをユーザ端末2へ送信する。ユーザ端末2は、取得した投稿画像データに基づいて、画像投稿・モザイク画像表示ページ400のモザイク画像表示部430内に投稿画像を表示する。これにより、例えば図9に示すようなモザイク画像が表示される。こうして、システム制御部14は、モザイク画像表示データを送信することにより、提示手段として、モザイク画像をユーザ端末2によりユーザに提示させる。
 図11は、本実施形態に係るモザイク画像提供サーバ1のシステム制御部14の候補領域検索処理における処理例を示すフローチャートである。
 先ず、システム制御部14は、対象モザイク画像IDに対応する元画像ID(以下、「対象元画像ID」という)をモザイク画像DB12dから取得する。次いで、システム制御部14は、対象元画像IDに対応する基本分割数情報を、元画像DB12bから取得する(ステップS101)。
 次いで、システム制御部14は、基本領域のインデックスY1に0を設定する(ステップS102)。次いで、システム制御部14は、基本領域のインデックスX1に0を設定する(ステップS103)。次いで、システム制御部14は、対象モザイク画像IDに対応付けてモザイク画像DB12dに登録されている割り当て画像情報(X1,Y1)から、分割フラグを取得する(ステップS104)。次いで、システム制御部14は、分割フラグがONに設定されているか否かを判定する(ステップS105)。
 このとき、システム制御部14は、分割フラグがONに設定されていないと判定した場合には(ステップS105:NO)、基本領域(X1,Y1)は分割されていないと判定する。そこで、システム制御部14は、基本領域(X1,Y1)は、基本領域(X1,Y1)は未割り当て領域であるか否かを判定する(ステップS106)。具体的に、システム制御部14は、対象モザイク画像IDに対応付けてモザイク画像DB12dに登録されている割り当て画像番号(X1,Y1)が未割り当て領域を示す番号であるか否かを判定する。
 このとき、システム制御部14は、割り当て画像番号(X1,Y1)が未割り当て領域を示す番号である場合には、基本領域(X1,Y1)は未割り当て領域であると判定する(ステップS106:YES)。この場合、システム制御部14は、基本領域(X1,Y1)の代表色値と、処理対象投稿画像の代表色値との差を計算する(ステップS107)。具体的に、システム制御部14は、対象元画像IDに対応付けて元画像DB12bに登録されている代表色値(X1,Y1)を取得する。次いで、システム制御部14は、以下の式1により差を計算する。
Figure JPOXMLDOC01-appb-M000001
 式1において、Diffは差である。R1、G1及びB1は、基本領域(X1,Y1)のR、G及びBの代表色値である。R2、G2及びB2は、処理対象投稿画像のR、G及びBの代表色値である。なお、システム制御部14は、基本色ごとに計算した差の二乗をそれぞれ計算して、その計算結果を足しあわせる代わりに、基本色ごとに計算した差の絶対値をとって、その絶対値を足し合わせても良い。
 次いで、システム制御部14は、計算した差の値が閾値以下であるか否かを判定する(ステップS108)。このとき、システム制御部14は、差の値が閾値以下であると判定した場合には(ステップS108:YES)、基本領域(X1,Y1)を候補領域として決定する(ステップS109)。具体的に、システム制御部14は、インデックスX1及びY1と、計算した差の値とを対応付けて割り当て候補リストに登録する。そして、システム制御部14は、ステップS121に移行する。
 ステップS106において、システム制御部14は、割り当て画像番号(X1,Y1)が未割り当て領域を示す番号ではない場合には、基本領域(X1,Y1)は未割り当て領域ではないと判定する(ステップS106:NO)。この場合、システム制御部14は、ステップS121に移行する。また、ステップS108において、システム制御部14は、差の値が閾値以下ではないと判定した場合も(ステップS108:NO)、ステップS121に移行する。
 ステップS105において、システム制御部14は、分割フラグがONに設定されていると判定した場合には(ステップS105:YES)、基本領域(X1,Y1)は分割されていると判定する。そこで、システム制御部14は、対象モザイクIDに対応付けて登録されている割り当て画像情報(X1,Y1)からパターン番号Nを取得する。次いで、システム制御部14は、分割パターンテーブルから子分割数情報Nを取得する(ステップS110)。
 次いで、システム制御部14は、子領域のインデックスY2に0を設定する(ステップS111)。次いで、システム制御部14は、子領域のインデックスX2に0を設定する(ステップS112)。
 次いで、システム制御部14は、子領域(X1,Y1)(X2,Y2)は未割り当て領域であるか否かを判定する(ステップS113)。具体的に、システム制御部14は、対象モザイク画像IDに対応付けてモザイク画像DB12dに登録されている割り当て画像番号(X1,Y1)(X2,Y2)が未割り当て領域を示す番号であるか否かを判定する。
 このとき、システム制御部14は、割り当て画像番号(X1,Y1)(X2,Y2)が未割り当て領域を示す番号である場合には、子領域(X1,Y1)(X2,Y2)は未割り当て領域であると判定する(ステップS113:YES)。この場合、システム制御部14は、子領域(X1,Y1)(X2,Y2)の代表色値と、処理対象投稿画像の代表色値との差を計算する(ステップS114)。具体的に、システム制御部14は、対象元画像IDに対応付けて元画像DB12bに登録されている代表色値N(X1,Y1)(X2,Y2)を取得する。そして、システム制御部14は、取得した子領域の代表色値を用いて、ステップS107と同様に差を計算する。
 次いで、システム制御部14は、計算した差の値が閾値以下であるか否かを判定する(ステップS115)。このとき、システム制御部14は、差の値が閾値以下であると判定した場合には(ステップS115:YES)、子領域(X1,Y1)(X2,Y2)を候補領域として決定する(ステップS116)。具体的に、システム制御部14は、インデックスX1、Y1、X2及びY2と、計算した差の値とを対応付けて割り当て候補リストに登録する。そして、システム制御部14は、ステップS117に移行する。
 ステップS113において、システム制御部14は、割り当て画像番号(X1,Y1)(X2,Y2)が未割り当て領域を示す番号ではない場合には、子領域(X1,Y1)(X2,Y2)は未割り当て領域ではないと判定する(ステップS113:NO)。この場合、システム制御部14は、ステップS117に移行する。また、ステップS115において、システム制御部14は、差の値が閾値以下ではないと判定した場合も(ステップS115:NO)、ステップS117に移行する。
 ステップS117において、システム制御部14は、インデックスX2に1を加算する。次いで、システム制御部14は、インデックスX2が、取得した子分割数情報に含まれる子横分割数未満であるか否かを判定する(ステップS118)。このとき、システム制御部14は、インデックスX2が子横分割数未満であると判定した場合には(ステップS118:YES)、ステップS113に移行する。一方、システム制御部14は、インデックスX2が子横分割数未満ではないと判定した場合には(ステップS118:NO)、インデックスY2に1を加算する(ステップS119)。次いで、システム制御部14は、インデックスY2が、取得した子分割数情報に含まれる子縦分割数未満であるか否かを判定する(ステップS120)。このとき、システム制御部14は、インデックスY2が子縦分割数未満であると判定した場合には(ステップS120:YES)、ステップS112に移行する。システム制御部14は、ステップS112~S120の処理を繰り返すことにより、基本領域(X1,Y1)に含まれる各子領域の中から、候補領域を検索する。そして、システム制御部14は、インデックスY2が子縦分割数未満ではないと判定した場合には(ステップS120:NO)、ステップS121に移行する。
 ステップS121において、システム制御部14は、インデックスX1に1を加算する。次いで、システム制御部14は、インデックスX1が、取得した基本分割数情報に含まれる基本横分割数未満であるか否かを判定する(ステップS122)。このとき、システム制御部14は、インデックスX1が基本横分割数未満であると判定した場合には(ステップS122:YES)、ステップS104に移行する。一方、システム制御部14は、インデックスX1が基本横分割数未満ではないと判定した場合には(ステップS122:NO)、インデックスY1に1を加算する(ステップS123)。次いで、システム制御部14は、インデックスY1が、取得した基本分割数情報に含まれる基本縦分割数未満であるか否かを判定する(ステップS124)。このとき、システム制御部14は、インデックスY1が基本縦分割数未満であると判定した場合には(ステップS124:YES)、ステップS103に移行する。システム制御部14は、ステップS103~S124の処理を繰り返すことにより、全ての未割り当て領域の中から、候補領域を検索する。
 そして、システム制御部14は、インデックスY1が基本縦分割数未満ではないと判定した場合には(ステップS124:NO)、候補領域検索処理を終了させる。
 図12及び図13は、本実施形態に係るモザイク画像提供サーバ1のシステム制御部14の検索・分割処理における処理例を示すフローチャートである。
 図12に示すように、システム制御部14は、対象元画像IDに対応する基本分割数情報を、元画像DB12bから取得する(ステップS151)。次いで、システム制御部14は、パターン番号Nに1を設定する(ステップS152)。次いで、システム制御部14は、分割パターンテーブルから子分割数情報Nを取得する(ステップS153)。次いで、システム制御部14は、基本領域のインデックスY1に0を設定する(ステップS154)。次いで、システム制御部14は、基本領域のインデックスX1に0を設定する(ステップS155)。次いで、システム制御部14は、対象モザイク画像IDに対応付けてモザイク画像DB12dに登録されている割り当て画像情報(X1,Y1)から、分割フラグを取得する(ステップS156)。次いで、システム制御部14は、分割フラグがONに設定されているか否かを判定する(ステップS157)。
 このとき、システム制御部14は、分割フラグがONに設定されていると判定した場合には(ステップS157:YES)、ステップS159に移行する。
 一方、システム制御部14は、分割フラグがONに設定されていないと判定した場合には(ステップS157:NO)、基本領域(X1,Y1)は未割り当て領域であるか否かを判定する(ステップS158)。このとき、システム制御部14は、基本領域(X1,Y1)は未割り当て領域ではないと判定した場合には(ステップS158:NO)、ステップS159に移行する。
 一方、システム制御部14は、基本領域(X1,Y1)は未割り当て領域であると判定した場合には(ステップS158:YES)、図13に示すように、子領域のインデックスY2に0を設定する(ステップS201)。次いで、システム制御部14は、子領域のインデックスX2に0を設定する(ステップS202)。
 次いで、システム制御部14は、子領域N(X1,Y1)(X2,Y2)の代表色値と、処理対象投稿画像の代表色値との差を計算する(ステップS203)。具体的に、システム制御部14は、対象元画像IDに対応付けて元画像DB12bに登録されている代表色値N(X1,Y1)(X2,Y2)を取得する。そして、システム制御部14は、取得した子領域の代表色値を用いて、候補領域検索処理のステップS114と同様に差を計算する。
 次いで、システム制御部14は、計算した差の値が閾値以下であるか否かを判定する(ステップS204)。このとき、システム制御部14は、差の値が閾値以下であると判定した場合には(ステップS204:YES)、子領域N(X1,Y1)(X2,Y2)を候補領域として決定する(ステップS205)。具体的に、システム制御部14は、インデックスX1、Y1、X2及びY2と、計算した差の値とを対応付けて割り当て候補リストに登録する。
 ここで候補領域に決定された子領域はそのまま割り当て対象領域になる。従って、システム制御部14は、分割手段として、子領域N(X1,Y1)(X2,Y2)が作られるように、基本領域(X1,Y1)を分割する。先ず、システム制御部14は、対象モザイク画像IDに対応付けてモザイク画像DB12dに登録されている割り当て画像情報(X1,Y1)に含まれる分割フラグをONに変更する(ステップS206)。次いで、システム制御部14は、この割り当て画像情報(X1,Y1)に、パターン番号Nを追加登録する。また、システム制御部14は、この割り当て画像情報(X1,Y1)に、未割り当て領域を示す割り当て画像番号を追加登録する(ステップS207)。このとき、システム制御部14は、未割り当て領域を示す割り当て画像番号を、取得した子分割数情報に含まれる子分割数分登録する。
 次いで、システム制御部14は、対象モザイク画像IDに対応付けてモザイク画像DB12dに登録されている総領域数を更新する(ステップS208)。具体的に、システム制御部14は、
 総領域数=総領域数+取得した子分割数情報に含まれる子分割数-1
 を計算する。システム制御部14は、ステップS208の処理を終えると、検索・分割処理を終了させる。
 ステップS204において、システム制御部14は、差の値が閾値以下ではないと判定した場合には(ステップS204:NO)、インデックスX2に1を加算する(ステップS209)。次いで、システム制御部14は、インデックスX2が、取得した子分割数情報に含まれる子横分割数未満であるか否かを判定する(ステップS210)。このとき、システム制御部14は、インデックスX2が子横分割数未満であると判定した場合には(ステップS210:YES)、ステップS203に移行する。一方、システム制御部14は、インデックスX2が子横分割数未満ではないと判定した場合には(ステップS210:NO)、インデックスY2に1を加算する(ステップS211)。次いで、システム制御部14は、インデックスY2が、取得した子分割数情報に含まれる子縦分割数未満であるか否かを判定する(ステップS212)。このとき、システム制御部14は、インデックスY2が子縦分割数未満であると判定した場合には(ステップS212:YES)、ステップS202に移行する。システム制御部14は、ステップS202~S212の処理を繰り返すことにより、基本領域(X1,Y1)をパターン番号Nに対応する子分割数で仮に分割した場合に作られる各子領域の中から、割り当て対象領域を検索する。そして、システム制御部14は、インデックスY2が子縦分割数未満ではないと判定した場合に(ステップS212:NO)、ステップS159に移行する。
 図12に示すステップS159において、システム制御部14は、インデックスX1に1を加算する。次いで、システム制御部14は、インデックスX1が、取得した基本分割数情報に含まれる基本横分割数未満であるか否かを判定する(ステップS160)。このとき、システム制御部14は、インデックスX1が基本横分割数未満であると判定した場合には(ステップS160:YES)、ステップS156に移行する。一方、システム制御部14は、インデックスX1が基本横分割数未満ではないと判定した場合には(ステップS160:NO)、インデックスY1に1を加算する(ステップS161)。次いで、システム制御部14は、インデックスY1が、取得した基本分割数情報に含まれる基本縦分割数未満であるか否かを判定する(ステップS162)。このとき、システム制御部14は、インデックスY1が基本縦分割数未満であると判定した場合には(ステップS162:YES)、ステップS155に移行する。システム制御部14は、ステップS155~S162の処理を繰り返すことにより、未割り当て領域になっている全ての基本領域をパターン番号Nに対応する子分割数で仮に分割した場合に作られる各子領域の中から、割り当て対象領域を検索する。
 そして、システム制御部14は、インデックスY1が基本縦分割数未満ではないと判定した場合には(ステップS162:NO)、パターン番号Nに1を加算する(ステップS163)。次いで、システム制御部14は、パターン番号Nが分割パターンテーブルに設定されている分割パターン数以下であるか否かを判定する(ステップS164)。このとき、システム制御部14は、パターン番号Nが分割パターン数以下であると判定した場合には(ステップS164:YES)、ステップS153に移行する。システム制御部14は、ステップS153~S164の処理を繰り返すことにより、未割り当て領域になっている全ての基本領域を全てのパターンの子分割数で仮に分割した場合に作られる各子領域の中から、割り当て対象領域を検索する。そして、システム制御部14は、パターン番号Nが分割パターン数以下ではないと判定した場合には(ステップS164:NO)、検索・分割処理を終了させる。
 以上説明したように、本実施形態によれば、モザイク画像提供サーバ1のシステム制御部14が、ユーザにより指定された投稿画像を取得し、取得された投稿画像を割り当て可能な条件を満たす基本領域を検索し、検索された基本領域に、取得された投稿画像を割り当て、検索の結果、割り当て可能な条件を満たす基本領域がなかった場合に、未割り当て領域のうち何れかの基本領域を更に複数の子領域に分割し、分割によって作られた複数の子領域のうち、取得された投稿画像を割り当て可能な条件を満たす子領域に当該投稿画像を割り当て、画像の割り当てに基づいて、取得された投稿画像が配置されたモザイク画像表示をユーザへ提示させる。
 そのため、取得された投稿画像を極力無駄にしないようにすることができる。
 また、システム制御部14が、未割り当て領域の数が予め設定された閾値以下であるか否かを判定し、未割り当て領域の数が閾値以下であると判定された場合にのみ、分割を行う。
 従って、未割り当て領域がある程度の数存在することにより、取得された投稿画像がある程度は無駄にならないようにすることができるときには、基本領域が分割されないので、モザイク画像の完成に必要な投稿画像の数の増加を抑えることができる。
 また、システム制御部14が、未割り当て領域となっている各基本領域がそれぞれ分割された場合に作られる複数の子領域の中から割り当て可能な条件を満たす子領域を検索し、検索された子領域が作られる基本領域を分割する。
 また、システム制御部14が、投稿画像が割り当てられていないある基本領域が複数の分割パターンでそれぞれ分割された場合に作られる複数の子領域の中から割り当て可能な条件を満たす子領域を検索し、そのある基本領域を、検索された子領域が作られる分割パターンで分割する。
 従って、割り当て可能な条件を満たす子領域の発見の可能性を高めることができる。
 また、システム制御部14が、投稿画像が割り当てられていないある基本領域が複数の子分割数でそれぞれ分割された場合に作られる複数の子領域の中から割り当て可能な条件を満たす子領域を検索し、少ない子分割数であるほど実際に分割するときの子分割数として優先的に決定し、そのある基本領域を、決定された子分割数で分割する。
 従って、割り当て可能な条件を満たす子領域の発見の可能性を高めることができるとともに、モザイク画像の完成に必要な投稿画像の数の増加を抑えることができる。
 また、システム制御部14が、各基本領域が分割された場合に作られる各子領域の代表色値を予め計算し、計算された各代表色値を元画像DB12bに登録し、取得された投稿画像の代表色値と、基本領域の投稿画像の代表色値と、に基づいて、割り当て可能な条件を満たす未割り当て領域を検索し、割り当て可能な条件を満たす領域がなかった場合には、投稿画像の代表色値と、元画像DB12bに登録された子領域の代表色値と、に基づいて、基本領域が分割された場合に作られる複数の子領域の中から、割り当て可能な条件を満たす子領域を検索する。
 従って、各子領域の代表色値が予め計算されるので、基本領域が分割された場合に作られる複数の子領域の中から割り当て可能な条件を満たす子領域を検索するときに、各子領域の代表色値を生成する必要がない。そのため、検索時の処理時間を短くすることができる。
 なお、上記実施形態において、モザイク画像提供サーバ1は、元画像登録処理において、各基本領域を分割したと仮定した場合に作られる各子領域の代表色値を予め計算していた。しかしながら、モザイク画像提供サーバ1は、投稿画像受信時処理のステップS54において割り当て可能な条件を満たす分割領域を検索することができなかったと判定した場合に、検索・分割処理において、必要な代表色値を計算しても良い。こうすることで、既に投稿画像が割り当てられている基本領域が分割されたとした場合に作られる子領域については代表色値を計算する必要がない。そのため、代表色値の計算量を減らすことができる。具体的に、システム制御部14は、例えば、ステップS157において、分割フラグがONに設定されていないと判定した場合に、基本領域(X1,Y1)をパターン番号Nに対応する子分割数で分割した場合に作られる各子領域の代表色値を計算しても良い。あるいは、システム制御部14は、ステップS203において、代表色値の計算をするとき、子領域N(X1,Y1)(X2,Y2)のみの代表色値を計算しても良い。システム制御部14は、計算した子領域の代表色値を元画像DB12bに登録しておくことにより、一度代表色値を計算した子領域については、次以降の検索・分割処理では代表色値を計算する必要がない。
 また、上記実施形態において、モザイク画像提供サーバ1は、基本領域のみを分割対象としていたが、子領域を更に複数の領域(以下、「孫領域」という)に分割しても良い。例えば、システム制御部14は、未割り当て領域になっていた全ての基本領域が既に子領域に分割されており、未割り当て領域となっている子領域の中に投稿画像を割り当て可能な条件を満たす領域がなかった場合には、未割り当て領域となっている何れかの子領域を複数の孫領域に分割して、割り当て条件を満たす孫領域に投稿画像を割り当てる。子領域の分割方法、割り当て可能な条件を満たす孫領域の検索方法等は、上記実施形態の場合と基本的に同様である。また、モザイク画像提供サーバ1は、孫領域を更に複数の領域に分割しても良い。
 また、上記実施形態において、モザイク画像提供サーバ1は、基本領域を分割するたびに総領域数を再計算することで、未割り当て領域の数が分割許容未割り当て領域数以下となっている場合にのみ基本領域を分割していた。この場合、基本領域の分割後、未割り当て領域の数が一時的に分割許容未割り当て領域数を上回ることがある。つまり、基本領域の分割が行われた後、一時的に分割が可能となっていない状態が存在することがある。これを避けたい場合には、未割り当て領域の数が一度分割許容未割り当て領域数以下となった以降は、常に基本領域の分割を可能にするようにしても良い。
 また、上記実施形態において、モザイク画像提供サーバ1は、検索・分割処理において、基本領域が分割されたとした場合に作られる各子領域の中から割り当て可能な条件を満たす子領域を検索する処理を、条件を満たす子領域が1つ発見されるまで行っていた。しかしながら、モザイク画像提供サーバ1は、未割り当て領域になっている全ての基本領域について割り当て可能な条件を満たす子領域を検索しても良い。そして、モザイク画像提供サーバ1は、割り当て可能な条件を満たす子領域の中から、例えば、投稿画像との代表色値との差が最も小さい子領域が作られる基本領域を分割し、その子領域に投稿画像を割り当てても良い。また、モザイク画像提供サーバ1は、基本領域が分割されたとした場合に作られる各子領域の中から割り当て可能な条件を満たす子領域を検索する処理を、未割り当て領域となっている全ての基本領域に対して総当たり式で行うのではなく、一部の基本領域に対してのみ行っても良い。処理対象とする基本領域はランダムに決定しても良いし、予め設定された条件に基づいて決定しても良い。例えば、モザイク画像提供サーバ1は、投稿画像との代表色値との差が最も小さかった基本領域についてのみ、その基本領域が分割されたとした場合に作られる各子領域の中から割り当て可能な条件を満たす子領域を検索しても良い。
 また、上記実施形態の候補領域検索処理におけるステップS106及びS114において、モザイク画像提供サーバ1は、投稿画像が割り当てられていない全ての分割領域について、投稿画像との代表色値の差を計算していた。しかしながら、分割領域を予め代表色値に基づいて並べ替えておくことにより、計算を行う分割領域の個数を減らし、計算時間を短くすることができる。例えば、システム制御部14は、Rの代表色値が小さい順に分割領域を示すリスト、Gの代表色値が小さい順に分割領域を示すリスト、Bの代表色値が小さい順に分割領域を示すリストを生成する。システム制御部14は、投稿画像データを受信して投稿画像の代表値を計算したとき、投稿画像の代表値との差が閾値以下となる代表値の最小値及び最大値を、R、G、Bそれぞれについて計算する。このときの閾値は、式1で差を計算した場合に用いられる閾値とは異なっていても良い。次いで、システム制御部14は、例えば、二分探索法等により、代表値が、投稿画像の代表値との差が閾値以下となる分割領域の範囲を、生成したリストを用いて特定する。システム制御部14は、これを、R、G、Bについて実行する。そして、システム制御部14は、R、G、Bの全てにおいて、投稿画像との代表値の差が閾値以下になっている分割領域を、候補領域とする。
 また、上記実施形態において、モザイク画像提供サーバ1は、投稿画像を割り当てる候補領域を、未割り当て領域の中から決定していた。しかしながら、モザイク画像提供サーバ1は、既に投稿画像が割り当てられているか否かにかかわらず、投稿画像を割り当てる候補領域を決定しても良い。例えば、モザイク画像提供サーバ1は、分割領域に既に割り当てられている投稿画像の色よりもこれから割り当てようとする処理対象投稿画像の色の方がその分割領域の色に近い場合、処理対象投稿画像をその分割領域に割り当てるとともに、その分割領域に割り当てられていた投稿画像を未割り当て領域に割り当てても良い。
 また、上記実施形態において、モザイク画像提供サーバ1は、投稿画像との代表色値の差が最も小さい分割領域を割り当て対象領域に決定していたが、例えば、投稿画像との代表色値の差が閾値以下になる分割領域の中から任意の分割領域を割り当て対象領域に決定しても良い。
 また、上記実施形態において、モザイク画像提供サーバ1は、各投稿画像をそれぞれ1つの分割領域に割り当てていたが、例えば、複数の領域に割り当てても良い。例えば、モザイク画像提供サーバ1は、投稿画像との代表色値の差が閾値以下になる分割領域の中から複数の領域に同一の投稿画像を割り当てても良い。
 また、上記実施形態において、モザイク画像提供サーバ1は、投稿画像の代表色値と分割領域の代表色値とに基づいて、割り当て対象領域を決定していたが、例えば、投稿画像の模様と、分割領域に含まれる模様とに基づいて、割り当て対象領域を決定しても良い。例えば、モザイク画像提供サーバ1は、投稿画像の模様と分割領域に含まれる模様との一致性を示す一致度を計算し、一致度が予め設定された閾値以上となる分割領域の中から割り当て対象領域を決定しても良い。また例えば、モザイク画像提供サーバ1は、投稿画像と分割領域のとの間で、模様及び色彩を含めて画像そのものの一致度を計算し、一致度が予め設定された閾値以上となる分割領域の中から割り当て対象領域を決定しても良い。
 また、上記実施形態において、モザイク画像提供サーバ1は、モザイク画像をユーザ端末2に表示させるためにモザイク画像表示データを含むHTML文書をユーザ端末2に送信していた。しかしながら、モザイク画像提供サーバ1は、モザイク画像の画像データそのものをユーザ端末2に送信しても良い。この場合、モザイク画像提供サーバ1は、例えば、これまでに取得して投稿画像DB12cに登録しておいた投稿画像データと、モザイク画像DB12dに登録されている割り当て画像番号とに基づいて、割り当てられた領域の位置に各投稿画像が配置されたモザイク画像の画像データを生成する。
 また、上記実施形態において、モザイク画像提供サーバ1は、一つのモザイク画像の表示データの生成に、複数のユーザから投稿された画像を用いることができるようにしていた。しかしながら、モザイク画像提供サーバ1は、例えば、1人のユーザから投稿された画像のみを用いてモザイク画像の表示データを生成しても良い。
 また、上記実施形態においては、モザイク画像提供サーバ1に取得手段、第1検索手段、第1割り当て手段、分割手段、第2割り当て手段、提示手段等を備えさせ、モザイク画像提供サーバ1が表示データをユーザ端末2に送信することにより、ユーザ端末2によりモザイク画像を提示させていた。しかしながら、例えば、ユーザ端末2等の装置に、取得手段、第1検索手段、第1割り当て手段、分割手段、第2割り当て手段、提示手段等を備えさせ、ユーザ端末2等の装置が、スタンドアローンで、基本領域の分割、投稿画像の割り当て、モザイク画像の生成、モザイク画像をディスプレイにより表示させる等を行っても良い。
1 モザイク画像提供サーバ
2 ユーザ端末
11 通信部
12 記憶部
12a 会員情報DB
12b 元画像DB
12c 投稿画像DB
12d モザイク画像DB
13 入出力インターフェース
14 システム制御部
14a CPU
14b ROM
14c RAM
15 システムバス
NW ネットワーク
S モザイク画像提供システム

Claims (10)

  1.  複数の領域に分割された元画像のモザイク画像を提供する画像提供装置であって、
     ユーザにより指定された画像を取得する取得手段と、
     前記取得された画像を割り当て可能な条件を満たす領域を検索する第1検索手段と、
     前記第1検索手段により検索された領域に前記取得された画像を割り当てる第1割り当て手段と、
     前記第1検索手段による検索の結果、前記割り当て可能な条件を満たす領域がなかった場合に、画像が割り当てられていない領域のうち何れかの領域を更に複数の領域に分割する分割手段と、
     前記分割手段による分割によって作られた複数の領域のうち前記取得された画像を割り当て可能な条件を満たす領域に当該画像を割り当てる第2割り当て手段と、
     前記第1割り当て手段または前記第2割り当て手段による割り当てに基づいて、前記取得された画像が配置されたモザイク画像を提示させる提示手段と、
     を備えることを特徴とする画像提供装置。
  2.  請求項1に記載の画像提供装置において、
     画像が割り当てられていない領域の数が予め設定された数以下であるか否かを判定する判定手段を更に備え、
     前記分割手段は、画像が割り当てられていない領域の数が予め設定された数以下であると判定された場合にのみ、分割を行うことを特徴とする画像提供装置。
  3.  請求項1または請求項2に記載の画像提供装置において、
     前記第1検索手段による検索の結果、前記割り当て可能な条件を満たす領域がなかった場合に、画像が割り当てられていない各領域がそれぞれ分割された場合に作られる複数の領域の中から前記割り当て可能な条件を満たす領域を検索する第2検索手段を更に備え、
     前記分割手段は、画像が割り当てられていない領域のうち、分割された場合に前記第2検索手段により検索された領域が作られる領域を分割することを特徴とする画像提供装置。
  4.  請求項1乃至3の何れか1項に記載の画像提供装置において、
     前記第1検索手段による検索の結果、前記割り当て可能な条件を満たす領域がなかった場合に、画像が割り当てられていないある領域が互いに異なる複数の分割態様のそれぞれで分割された場合に作られる複数の領域の中から前記割り当て可能な条件を満たす領域を検索する第2検索手段を更に備え、
     前記分割手段は、前記ある領域を、前記第2検索手段により検索された領域が作られる分割態様で分割することを特徴とする画像提供装置。
  5.  請求項4に記載の画像提供装置において、
     前記分割態様は、分割によって作られる領域の数を含み、
     前記分割手段は、分割によって作られる領域の数が少ない分割態様であるほど、分割するときの分割態様として優先的に決定することを特徴とする画像提供装置。
  6.  請求項3乃至5の何れか1項に記載の画像提供装置において、
     前記元画像が予め分割されることで作られた各領域が前記分割手段により分割された場合に作られる各領域の画像の代表色を示す色情報を予め生成する色情報生成手段と、
     前記生成された各色情報を記憶する記憶手段と、
     を更に備え、
     前記第1検索手段は、前記取得された画像の代表色を示す色情報と、画像が割り当てられていない領域の画像の代表色を示す色情報と、に基づいて、前記割り当て可能な条件を満たす領域を検索し、
     前記第2検索手段は、前記取得された画像の前記色情報と、前記記憶された色情報と、に基づいて、前記割り当て可能な条件を満たす領域を検索することを特徴とする画像提供装置。
  7.  請求項3乃至5の何れか1項に記載の画像提供装置において、
     前記第1検索手段は、前記取得された画像の代表色を示す色情報と、画像が割り当てられていない領域の画像の代表色を示す色情報と、に基づいて、前記割り当て可能な条件を満たす領域を検索し、
     前記第2検索手段により画像が割り当てられていないある領域が分割された場合に作られる複数の領域の中から前記割り当て可能な条件を満たす領域を検索するときに、作られる領域の画像の代表色を示す色情報を生成する色情報生成手段を更に備え、
     前記第2検索手段は、前記取得された画像の前記色情報と、前記生成された色情報と、に基づいて、前記割り当て可能な条件を満たす領域を検索することを特徴とする画像提供装置。
  8.  複数の領域に分割された元画像のモザイク画像を提供する画像提供装置における画像処理方法であって、
     ユーザにより指定された画像を取得する取得ステップと、
     前記取得された画像を割り当て可能な条件を満たす領域を検索する第1検索ステップと、
     前記第1検索ステップにおいて検索された領域に前記取得された画像を割り当てる第1割り当てステップと、
     前記第1検索ステップにおける検索の結果、前記割り当て可能な条件を満たす領域がなかった場合に、画像が割り当てられていない領域のうち何れかの領域を更に複数の領域に分割する分割ステップと、
     前記分割ステップにおける分割によって作られた複数の領域のうち前記取得された画像を割り当て可能な条件を満たす領域に当該画像を割り当てる第2割り当てステップと、
     前記第1割り当てステップまたは前記第2割り当てステップにおける割り当てに基づいて、前記取得された画像が配置されたモザイク画像を提示させる提示ステップと、
     を含むことを特徴とする画像処理方法。
  9.  複数の領域に分割された元画像のモザイク画像を提供する画像提供装置に含まれるコンピュータを、
     ユーザにより指定された画像を取得する取得手段、
     前記取得された画像を割り当て可能な条件を満たす領域を検索する第1検索手段、
     前記第1検索手段により検索された領域に前記取得された画像を割り当てる第1割り当て手段、
     前記第1検索手段による検索の結果、前記割り当て可能な条件を満たす領域がなかった場合に、画像が割り当てられていない領域のうち何れかの領域を更に複数の領域に分割する分割手段、
     前記分割手段による分割によって作られた複数の領域のうち前記取得された画像を割り当て可能な条件を満たす領域に当該画像を割り当てる第2割り当て手段、及び、
     前記第1割り当て手段または前記第2割り当て手段による割り当てに基づいて、前記取得された画像が配置されたモザイク画像を提示させる提示手段、
     として機能させることを特徴とする画像処理プログラム。
  10.  複数の領域に分割された元画像のモザイク画像を提供する画像提供装置に含まれるコンピュータを、
     ユーザにより指定された画像を取得する取得手段、
     前記取得された画像を割り当て可能な条件を満たす領域を検索する第1検索手段、
     前記第1検索手段により検索された領域に前記取得された画像を割り当てる第1割り当て手段、
     前記第1検索手段による検索の結果、前記割り当て可能な条件を満たす領域がなかった場合に、画像が割り当てられていない領域のうち何れかの領域を更に複数の領域に分割する分割手段、
     前記分割手段による分割によって作られた複数の領域のうち前記取得された画像を割り当て可能な条件を満たす領域に当該画像を割り当てる第2割り当て手段、及び、
     前記第1割り当て手段または前記第2割り当て手段による割り当てに基づいて、前記取得された画像が配置されたモザイク画像を提示させる提示手段、
     として機能させる画像処理プログラムがコンピュータ読み取り可能に記録されていることを特徴とする記録媒体。
PCT/JP2012/058825 2011-06-24 2012-04-02 画像提供装置、画像処理方法、画像処理プログラム及び記録媒体 WO2012176522A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP12802952.7A EP2602762B1 (en) 2011-06-24 2012-04-02 Providing a mosaic image of an original image
ES12802952.7T ES2553210T3 (es) 2011-06-24 2012-04-02 Provisión de una imagen de mosaico de una imagen original
CN201280003530.0A CN103189895B (zh) 2011-06-24 2012-04-02 图像提供装置、图像处理方法
US13/819,102 US8582885B2 (en) 2011-06-24 2012-04-02 Image providing device, image processing method, image processing program, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011140289A JP5113930B1 (ja) 2011-06-24 2011-06-24 画像提供装置、画像処理方法、画像処理プログラム及び記録媒体
JP2011-140289 2011-06-24

Publications (1)

Publication Number Publication Date
WO2012176522A1 true WO2012176522A1 (ja) 2012-12-27

Family

ID=47422370

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/058825 WO2012176522A1 (ja) 2011-06-24 2012-04-02 画像提供装置、画像処理方法、画像処理プログラム及び記録媒体

Country Status (6)

Country Link
US (1) US8582885B2 (ja)
EP (1) EP2602762B1 (ja)
JP (1) JP5113930B1 (ja)
CN (1) CN103189895B (ja)
ES (1) ES2553210T3 (ja)
WO (1) WO2012176522A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5144789B2 (ja) * 2011-06-24 2013-02-13 楽天株式会社 画像提供装置、画像処理方法、画像処理プログラム及び記録媒体
JP2015028681A (ja) * 2013-07-30 2015-02-12 株式会社リコー 画像生成装置、画像生成システム、及びプログラム
USD768142S1 (en) * 2013-08-29 2016-10-04 Samsung Electronics Co., Ltd. Electronic device with graphical user interface
CN107004396B (zh) * 2014-11-21 2019-08-09 乐天株式会社 信息处理装置以及信息处理方法
US10650584B2 (en) * 2018-03-30 2020-05-12 Konica Minolta Laboratory U.S.A., Inc. Three-dimensional modeling scanner

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11341266A (ja) * 1998-05-29 1999-12-10 Canon Inc 画像処理方法及びその装置
JP2000295453A (ja) * 1999-04-02 2000-10-20 Canon Inc 画像処理方法、画像処理装置及び記憶媒体
JP2001238067A (ja) * 2000-02-25 2001-08-31 Canon Inc 画像処理方法及び装置
JP2010004166A (ja) 2008-06-18 2010-01-07 Comap Kk モザイク画像提供装置、方法及びプログラム
JP2011078078A (ja) * 2009-09-03 2011-04-14 Sony Corp 画像処理装置および方法、並びにプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6137498A (en) * 1997-01-02 2000-10-24 Runaway Technology, Inc. Digital composition of a mosaic image
US6556210B1 (en) 1998-05-29 2003-04-29 Canon Kabushiki Kaisha Image processing method and apparatus therefor
US6927874B1 (en) 1999-04-02 2005-08-09 Canon Kabushiki Kaisha Image processing method, apparatus and storage medium therefor
US20080133258A1 (en) * 2006-10-31 2008-06-05 Leandros Kontogouris Method of fund raising for a predetermined cause utilizing a photo-mosaic composition
CN101739697B (zh) * 2008-11-25 2012-01-04 王源源 一种图像马赛克拼图的合成方法及系统
US20110050723A1 (en) * 2009-09-03 2011-03-03 Sony Corporation Image processing apparatus and method, and program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11341266A (ja) * 1998-05-29 1999-12-10 Canon Inc 画像処理方法及びその装置
JP2000295453A (ja) * 1999-04-02 2000-10-20 Canon Inc 画像処理方法、画像処理装置及び記憶媒体
JP2001238067A (ja) * 2000-02-25 2001-08-31 Canon Inc 画像処理方法及び装置
JP2010004166A (ja) 2008-06-18 2010-01-07 Comap Kk モザイク画像提供装置、方法及びプログラム
JP2011078078A (ja) * 2009-09-03 2011-04-14 Sony Corp 画像処理装置および方法、並びにプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
KAZUYO KOJIMA ET AL.: "Decorative Photomosaics Respecting Human Visual Perception", TRANSACTIONS OF INFORMATION PROCESSING SOCIETY OF JAPAN, vol. 49, no. 7, 15 July 2008 (2008-07-15), pages 2703 - 2711, XP055075725 *
KEITA FUNABASHI ET AL.: "Edge Tokucho Database Seisei no Tameno Realtime Dogazo ni Taisuru Photo Mosaic", EIZO MEDIA SHORI SYMPOSIUM DAI 14 KAI SYMPOSIUM SHIRYO, 7 October 2009 (2009-10-07), pages 89 - 90, XP008169365 *
See also references of EP2602762A4
SHIN'ICHI DOI ET AL.: "P2P Network o Riyo shita Photo Paint Tool", SYMPOSIUM ON MULTIMEDIA, DISTRIBUTED, COOPERATIVE AND MOBILE SYSTEMS (DICOM02009) RONBUNSHU, vol. 2009, no. 1, 8 July 2009 (2009-07-08), pages 1855 - 1862, XP008170078 *

Also Published As

Publication number Publication date
CN103189895B (zh) 2016-09-07
ES2553210T3 (es) 2015-12-07
US8582885B2 (en) 2013-11-12
EP2602762A1 (en) 2013-06-12
CN103189895A (zh) 2013-07-03
JP2013009145A (ja) 2013-01-10
JP5113930B1 (ja) 2013-01-09
US20130156316A1 (en) 2013-06-20
EP2602762A4 (en) 2014-07-30
EP2602762B1 (en) 2015-08-19

Similar Documents

Publication Publication Date Title
JP5144789B2 (ja) 画像提供装置、画像処理方法、画像処理プログラム及び記録媒体
JP5113929B1 (ja) 画像提供装置、画像処理方法、画像処理プログラム及び記録媒体
CN108737482B (zh) 文档分享方法、装置和系统
JP5113930B1 (ja) 画像提供装置、画像処理方法、画像処理プログラム及び記録媒体
US10346560B2 (en) Electronic blueprint system and method
WO2020181664A1 (en) Methods and devices for displaying a heat map and providing heat data
RU2632150C1 (ru) Способ и система загрузки фрагментов изображения на клиентское устройство
EP2509043B1 (en) Image generation device, image generation method, image generation program, and recording medium
CA2785186C (en) Image generation device, image generation method, image generation program and recording medium
US20230273953A1 (en) Digital image presentation
JP2011249947A (ja) 画像減色装置、方法及びプログラム
JP2013084030A (ja) 情報処理装置、データ振分プログラム及びデータ振分システム
JP2015060317A (ja) 情報処理システム、情報処理装置、情報処理方法、情報処理プログラム及び記憶媒体
JP2009176176A (ja) ウェブページ配信装置
JP2005025291A (ja) 地理情報処理サービスシステム、地理情報処理サービス方法、及びプログラム
US20200309539A1 (en) Information processing apparatus, information processing method, and program
CN113626832A (zh) 处理请求的方法和装置
JP2013020285A (ja) 画像生成装置、画像生成方法及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12802952

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13819102

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2012802952

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE