以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下に説明する実施の形態は、モザイク画像提供システムに対して本発明を適用した場合の実施形態である。
[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により差を計算する。
式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に記載の発明は、複数の領域に分割された元画像のモザイク画像を提供する画像提供装置であって、ユーザにより指定された画像を取得する取得手段と、前記取得された画像を割り当て可能な条件を満たす領域を検索する第1検索手段と、前記第1検索手段により検索された領域に前記取得された画像を割り当てる第1割り当て手段と、前記第1検索手段による検索の結果、前記割り当て可能な条件を満たす領域がなかった場合に、画像が割り当てられていない領域のうち何れかの領域を更に複数の領域に分割する分割手段と、前記分割手段による分割によって作られた複数の領域のうち前記取得された画像を割り当て可能な条件を満たす領域に当該画像を割り当てる第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割り当て手段による割り当てに基づいて、前記取得された画像が配置されたモザイク画像を提示させる提示手段、として機能させる画像処理プログラムがコンピュータ読み取り可能に記録されていることを特徴とする。