画像提供装置、画像処理方法、画像処理プログラム及び記録媒体
【課題】元画像の分割数を抑えつつ、元画像の絵柄の視認性が高いモザイク画像を提供する。
【解決手段】画像提供装置は、複数の領域の中から画像のエッジを含む領域を特定する特定手段と、特定された領域を更に複数の領域に分割する分割手段と、ユーザにより指定された画像を取得する取得手段と、複数の領域のうち分割手段により分割されていない領域と、分割手段による分割によって作られた領域と、の中から、取得された画像を割り当てる領域を決定する決定手段と、決定手段により決定された割り当てに基づいて、取得された画像が配置されたモザイク画像をユーザへ提示する提示手段と、を備える。
【解決手段】画像提供装置は、複数の領域の中から画像のエッジを含む領域を特定する特定手段と、特定された領域を更に複数の領域に分割する分割手段と、ユーザにより指定された画像を取得する取得手段と、複数の領域のうち分割手段により分割されていない領域と、分割手段による分割によって作られた領域と、の中から、取得された画像を割り当てる領域を決定する決定手段と、決定手段により決定された割り当てに基づいて、取得された画像が配置されたモザイク画像をユーザへ提示する提示手段と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、端末装置から取得された画像を組み合わせてできるモザイク画像をユーザへ提示する画像提供装置及び画像処理方法の技術分野に関する。
【背景技術】
【0002】
従来、例えば広告やイベントの告知等に用いられるポスターやWebページ等における画像の表現手法として、素材となる複数の画像(以下、「素材画像」という)をタイル状に配置してモザイク画像(例えば、モザイクアート、フォトモザイク等)として表現する方法が知られている。この表現方法においては、例えば、モザイク画像の絵柄の元となる画像(以下、「元画像」という)が複数の領域に分割される。そして、各素材画像が、例えば色調、模様等が近い領域に割り当てられる。これにより、元画像の絵柄を表現するモザイク画像が生成される。
【0003】
また、サーバ装置が、ユーザから素材画像として提供される画像をネットワークを介して端末装置から取得し、取得した画像を用いて生成したモザイク画像を端末装置に表示させる技術が知られている。この場合、如何なる画像が素材画像となるかは、基本的に画像を提供するユーザの判断にゆだねられる。そのため、このような画像を素材画像として用いる場合には、元画像の絵柄の視認性が高いモザイク画像を如何にして生成するかが課題となる。
【0004】
例えば、特許文献1には、視認性が高いモザイク画像を提供することを目的とする技術が開示されている。具体的には、モザイク画像提供装置が、モザイク画像の元となる対象画像を分割した複数のブロックの中からユーザが投稿した素材画像の配置対象となるブロックを決定するとき、ユーザが選択したブロックを配置対象として決定し、または、ブロックの画像に制限されることなく自動的に配置対象を決定する。また、モザイク画像提供装置が、素材画像の基本色の平均濃度値が、配置対象のブロックの基本色の平均濃度値となるように、素材画像を色補正する。また、ユーザから投稿された素材画像の数がモザイク画像の完成に必要な数に到達するまでは、一部のブロックに対してのみ素材画像が配置された状態のモザイク画像が端末装置に表示される。つまり、未完成状態のモザイク画像が表示される。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2010−4166号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、素材画像の色をブロックの色に合わせただけでは、元画像の絵柄の視認性が高くならない場合がある。具体的には、モザイク画像の完成に必要なブロックの総数が少ないと、元画像に対する1ブロックの面積の割合が大きくなる。それゆえ、モザイク画像の解像度が低くなり、モザイク画像が粗い画像となってしまうからである。さりとて、1ブロックの面積を小さくした場合には、モザイク画像の完成に必要なブロックの総数が多くなり、モザイク画像の完成までに多くの素材画像が必要となる。
【0007】
本願発明は、以上の点に鑑みてなされたものであり、モザイク画像の完成に必要な領域の数を抑えつつ、元画像の絵柄の視認性が高いモザイク画像を提供することができる画像提供装置、画像処理方法、画像処理プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、請求項1に記載の発明は、複数の領域に分割された元画像のモザイク画像を提供する画像提供装置であって、前記複数の領域の中から画像のエッジを含む領域を特定する特定手段と、前記特定された領域を更に複数の領域に分割する分割手段と、ユーザにより指定された画像を取得する取得手段と、前記複数の領域のうち前記分割手段により分割されていない領域と、前記分割手段による分割によって作られた領域と、の中から、前記取得された画像を割り当てる領域を決定する決定手段と、前記決定手段により決定された割り当てに基づいて、前記取得された画像が配置されたモザイク画像をユーザへ提示する提示手段と、を備えることを特徴とする。
【0009】
この発明によれば、複数の領域のうち元画像の視認性の向上に資するエッジを含む領域がより小さい領域に分割されるので、モザイク画像の完成に必要な領域の数を抑えつつ、元画像の絵柄の視認性が高いモザイク画像を提供することができる。
【0010】
請求項2に記載の発明は、請求項1に記載の画像提供装置において、前記特定手段は、前記領域の画像に含まれるエッジの度合いを示すエッジ度を計算し、当該エッジ度が予め設定された値以上である前記領域を、エッジを含む領域として特定することを特徴とする。
【0011】
この発明によれば、予め設定される値により、エッジを含むとする領域を決めることができる。
【0012】
請求項3に記載の発明は、請求項2に記載の画像提供装置において、前記分割手段は、前記計算されたエッジ度が高い領域ほど分割数が多くなるように前記特定された領域を分割することを特徴とする。
【0013】
この発明によれば、エッジを含む領域であっても元画像の視認性への影響の度合いに応じて分割数が変わるので、元画像の分割数を抑えつつ、元画像の絵柄の視認性がより高いモザイク画像を提供することができる。
【0014】
請求項4に記載の発明は、複数の領域に分割された元画像のモザイク画像を提供する画像提供装置における画像処理方法であって、前記複数の領域の中から画像のエッジを含む領域を特定する特定ステップと、前記特定された領域を更に複数の領域に分割する分割ステップと、ユーザにより指定された画像を取得する取得ステップと、前記複数の領域のうち前記分割ステップにおいて分割されていない領域と、前記分割ステップによる分割によって作られた領域と、の中から、前記取得された画像を割り当てる領域を決定する決定ステップと、前記決定ステップにおいて決定された割り当てに基づいて、前記取得された画像が配置されたモザイク画像をユーザへ提示する提示ステップと、を含むことを特徴とする。
【0015】
請求項5に記載の発明は、複数の領域に分割された元画像のモザイク画像を提供する画像提供装置に含まれるコンピュータを、前記複数の領域の中から画像のエッジを含む領域を特定する特定手段、前記特定された領域を更に複数の領域に分割する分割手段、ユーザにより指定された画像を取得する取得手段、前記複数の領域のうち前記分割手段により分割されていない領域と、前記分割手段による分割によって作られた領域と、の中から、前記取得された画像を割り当てる領域を決定する決定手段、及び、前記決定手段により決定された割り当てに基づいて、前記取得された画像が配置されたモザイク画像をユーザへ提示する提示手段、として機能させることを特徴とする。
【0016】
請求項6に記載の発明は、複数の領域に分割された元画像のモザイク画像を提供する画像提供装置に含まれるコンピュータを、前記複数の領域の中から画像のエッジを含む領域を特定する特定手段、前記特定された領域を更に複数の領域に分割する分割手段、ユーザにより指定された画像を取得する取得手段、前記複数の領域のうち前記分割手段により分割されていない領域と、前記分割手段による分割によって作られた領域と、の中から、前記取得された画像を割り当てる領域を決定する決定手段、及び、前記決定手段により決定された割り当てに基づいて、前記取得された画像が配置されたモザイク画像をユーザへ提示する提示手段、として機能させる画像処理プログラムがコンピュータ読み取り可能に記録されていることを特徴とする。
【発明の効果】
【0017】
本発明によれば、複数の領域のうち元画像の視認性の向上に資するエッジを含む領域がより小さい領域に分割されるので、モザイク画像の完成に必要な領域の数を抑えつつ、元画像の絵柄の視認性が高いモザイク画像を提供することができる。
【図面の簡単な説明】
【0018】
【図1】一実施形態に係るモザイク画像提供システムSの概要構成の一例を示す図である。
【図2】(a)は、基本領域に分割された元画像100の例を示す図であり、(b)は、エッジを含む基本領域が子領域に分割された元画像100の例を示す図である。
【図3】(a)は、基本領域のみに対して投稿画像が割り当てられると仮定した場合の完成したのモザイク画像300aの表示例を示す図であり、(b)は、子領域に投稿画像が割り当てられた場合の完成したモザイク画像300bの表示例を示す図である。
【図4】一実施形態に係るモザイク画像提供サーバ1の概要構成の一例を示すブロック図である。
【図5】(a)は、一実施形態に係る会員情報DB12aに登録される内容の一例を示す図であり、(b)は、元画像DB12bに登録される内容の一例を示す図であり、(c)は、基本領域情報に設定される内容の一例を示す図であり、(d)は、投稿画像DB12cに登録される内容の一例を示す図であり、(e)は、投稿画像情報に設定される内容の一例を示す図であり、(f)は、モザイク画像DB12dに登録される内容の一例を示す図であり、(g)は、割り当て画像情報に設定される内容の一例を示す図である。
【図6】図2(a)に示す各基本領域200のエッジ度の一例を示す図である。
【図7】(a)は、分割パターンテーブルに設定される内容の一例を示す図であり、(b)は、分割パターン情報に設定される内容の一例を示す図である。
【図8】一実施形態に係るモザイク画像提供サーバ1のシステム制御部14の元画像登録処理における処理例を示すフローチャートである。
【図9】一実施形態に係る画像投稿・モザイク画像表示ページ400の画面表示例を示す図である。
【図10】一実施形態に係るモザイク画像提供サーバ1のシステム制御部14の投稿画像受信時処理における処理例を示すフローチャートである。
【図11】一実施形態に係るモザイク画像提供サーバ1のシステム制御部14の候補領域検索処理における処理例を示すフローチャートである。
【発明を実施するための形態】
【0019】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下に説明する実施の形態は、モザイク画像提供システムに対して本発明を適用した場合の実施形態である。
【0020】
[1.モザイク画像提供システムの構成及び機能概要]
先ず、本実施形態に係るモザイク画像提供システムSの構成及び機能概要について、図1乃至図3を用いて説明する。図1は、本実施形態に係るモザイク画像提供システムSの概要構成の一例を示す図である。
【0021】
図1に示すように、モザイク画像提供システムSは、モザイク画像提供サーバ1と、複数のユーザ端末2と、を含んで構成されている。そして、モザイク画像提供サーバ1及び各ユーザ端末2は、ネットワークNWを介して、例えば、通信プロトコルにTCP/IP等を用いて相互にデータの送受信が可能になっている。なお、ネットワークNWは、例えば、インターネット、専用通信回線(例えば、CATV(Community Antenna Television)回線)、移動体通信網(基地局等を含む)、及びゲートウェイ等により構築されている。
【0022】
モザイク画像提供サーバ1(本発明における画像提供装置の一例)は、素材となる複数の画像をタイル状に配置して(組み合わせて)できるモザイク画像が表示されるWebページをユーザ端末2へ送信するWebサーバである。モザイク画像提供サーバ1は、素材となる画像を収集するため、ネットワークNWを介して各ユーザ端末2から画像を取得する。ユーザ端末2から取得される画像は、ユーザにより投稿された画像(以下、「投稿画像」という)である。
【0023】
ユーザ端末2は、モザイク画像提供システムSを利用するユーザの端末装置である。ユーザ端末2は、ユーザからの操作に基づいて、モザイク画像提供サーバ1にアクセスする。これにより、ユーザ端末2は、モザイク画像提供サーバ1からWebページを受信して表示する。ユーザは、ユーザ端末2の画面に表示されるWebページを通じて、モザイク画像の素材となる画像を投稿したり、モザイク画像を表示させたりする。ユーザ端末2には、ブラウザや電子メールクライアント等のソフトウェアが組み込まれている。ユーザ端末2としては、例えば、パーソナルコンピュータ、PDA(Personal Digital Assistant)、スマートフォン等の携帯情報端末、携帯電話機等が用いられる。
【0024】
このような構成のモザイク画像提供システムSにおいて、モザイク画像の絵柄の元となる画像が、例えば予め用意されている。この画像が元画像である。モザイク画像提供サーバ1は、モザイク画像が表す絵柄が、元画像が表す絵柄に近くなるように、投稿画像の配置を行う。
【0025】
図2(a)及び図2(b)は、元画像の一例及び元画像の分割例を示す図である。図2(a)及び図2(b)に示す画像100は、歩いている馬及びその馬に乗っている騎手の絵柄を表す画像である。ここで、馬の色は焦げ茶色であるものとする。また、騎手のズボンの色は黄色であり、騎手の上着の色は水色であるものとする。また、背景の色は白色であるものとする。なお、それぞれが均一の色で塗りつぶされているのではなく、場所によってある程度の色の変化はあるものとする。
【0026】
元画像は複数の領域(以下、「分割領域」という)に分割される。各分割領域には、ユーザ端末2から取得された投稿画像が割り当てられる。先ず、モザイク画像提供サーバ1は、元画像を予め設定された個数の分割領域に分割する。元画像が最初に分割されたときに作られる分割領域を、「基本領域」という。例えば、図2(a)に示すように、画像100は、基本領域である横9個及び縦11個の合計99個の分割領域200に分割される。分割領域の個数を、「分割数」という。また、基本領域の総数を、「基本分割数」という。
【0027】
図3(a)は、基本領域のみに対して投稿画像が割り当てられると仮定した場合の完成したモザイク画像300aの表示例を示す図である。完成したモザイク画像とは、全ての分割領域に投稿画像が割り当てられたモザイク画像である。基本分割数で分割された状態では、元画像の表示面積に対する各分割領域200の表示面積の割合が比較的大きくなっている。そのため、仮にこの状態でモザイク画像が生成されると、図3(a)に示すように、比較的解像度が低いモザイク画像が生成されることになる。そのため、元画像の絵柄の視認性が高くはない。
【0028】
そこで、モザイク画像提供サーバ1は、元画像の絵柄の視認性が高くなるように、画像のエッジを含む基本領域を、更に複数の分割領域(以下、「子領域」という)に分割する。エッジとは、例えば、画像の明度、色相、彩度等が急激に(鋭く)変化する部分をいう。エッジを含む基本領域は、例えば、元画像の絵柄の輪郭部分、特徴部分、複雑な模様部分等であったりする。このような基本領域が複数の子領域に分割されることにより、1個の子領域の表示面積が小さくなる。
【0029】
モザイク画像提供サーバ1は、エッジを含む基本領域を特定するため、エッジの度合いを示す指標として、各基本領域のエッジ度を計算する。基本領域に含まれる画像の明度等が変化する度合いが高いほど、すなわち、エッジが強いほど、その基本領域のエッジ度が高くなる。また、分割領域に含まれるエッジの量が多いほど、その基本領域のエッジ度が高くなる。そして、モザイク画像提供サーバ1は、エッジ度が予め設定された閾値以上である基本領域を、エッジを含む基本領域として決定する。
【0030】
また、モザイク画像提供サーバ1は、エッジ度が高い基本領域ほど、分割数を多くする。つまり、モザイク画像提供サーバ1は、より多くの子領域に分割する。従って、エッジ度が高い基本領域ほど、より小さい子領域に分割されることになる。このときの分割数を、「子分割数」という。
【0031】
例えば、図2(b)に示すように、エッジを含む分割領域200が、エッジ度に応じて、横2個及び縦2個の合計4個の分割領域210、横3個及び縦3個の合計9個の分割領域220、または、横4個及び縦4個の合計16個の分割領域230のうち何れかの子領域に分割される。モザイク画像提供サーバ1は、子領域に分割されていない基本領域については基本領域に対して投稿画像を割り当てる。一方、モザイク画像提供サーバ1は、子領域に分割された基本領域については分割によって作られた(発生した)子領域に対して投稿画像を割り当てる。
【0032】
図3(b)は、完成したモザイク画像300bの表示例を示す図である。図3(b)は、図2(b)に示す各分割領域に対して投稿画像が割り当てられることにより生成されたモザイク画像である。図3(b)に示すように、エッジ部分における分割領域1個あたりの表示面積は、エッジがない部分における分割領域1個あたりの表示面積よりも小さくなっている。そのため、エッジ部分の解像度が高くなり、エッジの視認性を向上させることができる。そして、エッジの視認性が向上することによって、元画像の絵柄の視認性を向上させることができる。また、エッジ度が高い部分ほど分割領域1個あたりの表示面積がより小さくなるため、元画像の絵柄の視認性をより向上させることができる。
【0033】
ところで、図2(b)の例では、4個の分割領域210に分割された分割領域200は17個である。また、9個の分割領域220に分割された分割領域200は24個である。また、16個の分割領域230に分割された分割領域200は4個である。すると、分割領域の総数は402となる。例えば、元画像の絵柄の視認性を高めることを目的として、基本分割数を、図2(a)の例の4倍にすると、分割領域の総数は496となる。すると、図2(b)の例の場合の分割領域の総数よりも多くなる。つまり、本実施形態では、最初から全ての分割領域の面積が小さくなるように元画像を分割するよりも、分割領域の総数を少なくすることができる。このように、モザイク画像提供サーバ1は、元画像の絵柄の視認性に対する影響が小さい基本領域については、子領域に分割しないか、または、分割したとしても子分割数を少なくする。これにより、分割領域の総数が抑えられることでモザイク画像の完成に必要な投稿画像の数を抑えるとともに、元画像の絵柄の視認性を向上させることができる。
【0034】
[2.モザイク画像提供サーバの構成]
次に、モザイク画像提供サーバ1の構成について、図4乃至図7を用いて説明する。
【0035】
図4は、本実施形態に係るモザイク画像提供サーバ1の概要構成の一例を示すブロック図である。図4に示すように、モザイク画像提供サーバ1は、通信部11と、記憶部12と、入出力インターフェース13と、システム制御部14と、を備えている。そして、システム制御部14と入出力インターフェース13とは、システムバス15を介して接続されている。
【0036】
通信部11は、ネットワークNWに接続して、ユーザ端末2等との通信状態を制御するようになっている。
【0037】
記憶部12は、例えば、ハードディスクドライブ等により構成されている。この記憶部12には、会員情報DB(データベース)12a、元画像DB12b、投稿画像DB12c及びモザイク画像DB12d等が構築されている。
【0038】
図5(a)は、本実施形態に係る会員情報DB12aに登録される内容の一例を示す図である。会員情報DB12aには、モザイク画像提供システムSに会員登録しているユーザに関する会員情報が登録される。具体的に、会員情報DB12aには、ユーザの識別情報であるユーザID、パスワード、ニックネーム、氏名、生年月日、性別、住所、電話番号、電子メールアドレス等が、ユーザごとに対応付けて登録される。
【0039】
図5(b)は、本実施形態に係る元画像DB12bに登録される内容の一例を示す図である。元画像DB12bには、元画像及び元画像に関する情報が登録されている。具体的に、元画像DB12bには、元画像の識別情報である元画像ID、元画像データ、基本分割数情報及び複数の基本領域情報が元画像ごとに対応付けて登録される。
【0040】
元画像IDは、元画像の識別情報である。元画像データは、元画像の画像データである。モザイク画像提供システムSにおいて用いられる画像データのフォーマットとしては、例えば、JPEG(Joint Photographic Experts Group)、TIFF(Tagged-Image File Format)、PNG(Portable Network Graphics)等がある。
【0041】
基本分割数情報は、基本分割数を示す情報である。具体的に、基本分割数情報は、基本分割数、基本横分割数及び基本縦分割数を含む。基本横分割数は、横方向の分割数である。つまり、基本横分割数は、元画像の横方向に並ぶ基本領域の個数である。基本縦分割数は、縦方向の分割数である。つまり、基本縦分割数は、元画像の縦方向に並ぶ基本領域の個数である。基本分割数は、基本横分割数と基本縦分割数とを掛け合わせることにより得られる。
【0042】
基本領域情報は、基本領域に関する情報である。基本領域情報は、基本分割数分登録される。各基本領域情報は、対応する基本領域のインデックスに対応付けて登録される。各基本領域には、(X1,Y1)という形でインデックスが割り当てられる。ここで、X1は、横方向における基本領域の位置を示す。また、Y1は、縦方向における基本領域の位置を示す。元画像の左上隅に位置する基本領域のインデックスが(0,0)となる。基本領域(X1,Y1)は、一番左からX1+1番目に位置する基本領域のうち、一番上からY1+1番目に位置する基本領域である。
【0043】
なお、元画像を複数の領域に分割することとは、元画像全体に相当する領域を複数の領域に分割することであり、元画像内の各画素がそれぞれ何れの領域に含まれているか(あるいは、各領域が何れの画素を含むか)を特定可能にすることをいう。システム制御部14は、元画像の縦横の画素数と、横分割数及び縦分割数とを取得することで、各画素が含まれる領域を特定することができる。そのため、元画像を複数の領域に分割することは、元画像の画像データを領域ごとの画像データに分割することを必ずしも意味するものとは限らない。よって、システム制御部14は、領域ごとの画像データを元画像DB12bに登録しても良いし、登録しなくても良い。
【0044】
図5(c)は、基本領域情報に設定される内容の一例を示す図である。図5(c)に示すように、基本領域情報には、エッジ度、子分割数情報及び1つ以上の代表色値が設定される。
【0045】
エッジ度は、基本領域を分割するか否かの判定、及び、分割する場合の子分割数の決定に用いられる。エッジ度は、システム制御部14により計算される。先ず、システム制御部14は、基本領域に含まれる各画素の画素エッジ度を計算する。画素エッジ度は、画素そのもののエッジの強さを示す。具体的に、システム制御部14は、注目画素(画素エッジ度の計算対象となっている画素)の値と、注目画素に隣接する各画素の値との差を計算する。画素の値は、例えば、R(赤)、G(緑)、B(青)の各基本色(原色)ごとに存在する。R、G、Bの各画素値は、例えば、0から255までの何れかの値をとる。システム制御部14は、この計算を基本色ごとに行う。注目画素に隣接する画素は、注目画素の上下左右及び斜め方向に位置する8画素である。そして、システム制御部14は、基本色ごとに計算した差を足し合わせ、更に8画素分の差を足し合わせて、画素エッジ度を算出する。これらの処理を式で示すと、下記の式1となる。
【0046】
【数1】
式1において、xは、注目領域(エッジ度の計算対象となっている基本領域)の左上隅にある画素を基準とした注目画素のX座標であり、yは、注目領域の左上隅にある画素を基準とした注目画素のY座標である。また、R(x,y)、G(x,y)及びB(x,y)は、座標(x,y)にある画素のRの画素値、Gの画素値及びBの画素値である。また、EP(x,y)は、座標(x,y)にある画素の画素エッジ度である。なお、画素値は、例えば、CMYK、Lab色空間等で表現されても良い。また、システム制御部14は、基本色ごとに計算した差の絶対値をとって、その絶対値を足し合わせる代わりに、基本色ごとに計算した差の二乗をそれぞれ計算して、その計算結果を足しあわせても良い。
【0047】
次に、システム制御部14は、基本領域内の全画素の画素エッジ度を足し合わせて、その基本領域のエッジ度を算出する。この処理を式で示すと、下記の式2となる。
【0048】
【数2】
式2において、EB(X1,Y1)は、基本領域(X1,Y1)のエッジ度である。また、wは、基本領域の横の画素数であり、lは、基本領域の縦の画素数である。なお、エッジ度の計算方法は、ここで説明された方法に限定されるものではない。例えば、システム制御部14は、画素エッジ度を計算する際、注目画素の上下左右に位置する4画素のみについて画素値の差を計算しても良い。また、システム制御部14は、基本色ごとに画素値の差を計算するのではなく、例えば、注目画素の色とこれに隣接する画素の色との距離を計算し、色の距離を足し合わせて画素エッジ度を計算しても良い。
【0049】
図6は、図2(a)に示す各基本領域200のエッジ度の一例を示す図である。なお、図6は、各基本領域のエッジ度の違いが分かりやすいよう、正規化されたエッジ度を示す。図6に示すように、エッジを全く含まない基本領域のエッジ度は0になっている。一方、馬の輪郭や騎手の輪郭を含む基本領域のエッジ度は、輪郭の長さに応じて高くなっている。特に、背景と明度の差が大きい馬の輪郭部分については、エッジ度が高くなっている。また、線が多い馬の尻尾部分(例えば、基本領域(0,6)、(0,7))や、模様が複雑な騎手の手元部分(例えば、基本領域(4,3))も、エッジ度が高くなっている。
【0050】
子分割数情報は、基本領域(X1,Y1)の子分割数を示す情報である。具体的に、子分割数情報は、子分割数、子横分割数及び子縦分割数を含む。子横分割数は、横方向の分割数である。つまり、子横分割数は、基本領域の横方向に並ぶ子領域の個数である。子縦分割数は、縦方向の分割数である。つまり、子縦分割数は、基本領域の縦方向に並ぶ子領域の個数である。子分割数は、子横分割数と子縦分割数とを掛け合わせることにより得られる。基本領域が子領域に分割されていない場合、便宜上、子分割数情報の子分割数、子横分割数及び子縦分割数の全てに1が設定される。
【0051】
代表色値は、分割領域を代表する色(以下、「代表色」という)を示す値である。代表色は、例えば、分割領域全体の色を平均することにより得られる色であっても良いし、分割領域内において専有面積が最も大きい色であっても良い。代表色値は、例えば、R、G、Bの各基本色ごとの値を含む。システム制御部14は、分割領域の代表色値と投稿画像の代表色値とを比較することにより、投稿画像を割り当てる分割領域の候補を決定する。なお、代表色値は、例えば、CMYK、Lab色空間等で表現されても良い。
【0052】
代表色値は、子分割数情報に含まれる子分割数分登録される。各代表色値は、対応する基本領域及び子領域のインデックスに対応付けて登録される。各子領域には、(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番目に位置する子領域である。
【0053】
子分割数情報に含まれる子分割数が1である場合、基本領域は分割されていない。この場合、基本領域情報(X1,Y1)には、代表色値として、代表色値(X1,Y1)(0,0)のみが登録される。この場合の代表色値(X1,Y1)(0,0)は、基本領域(X1,Y2)の代表色値である。一方、子分割数が2以上である場合、基本領域は分割されている。この場合、代表色値(X1,Y1)(Y2,Y2)は、子領域(X1,Y1)(Y2,Y2)の代表色値である。
【0054】
図5(d)は、本実施形態に係る投稿画像DB12cに登録される内容の一例を示す図である。投稿画像DB12cには、投稿画像及び投稿画像に関する情報が登録される。具体的に、投稿画像DB12cには、モザイク画像ID、投稿数、投稿画像情報が登録される。モザイク画像IDは、登録された投稿画像を素材として生成されるモザイク画像の識別情報である。投稿数は、これまでにユーザ端末2から取得された投稿画像の数である。投稿画像情報は、投稿数分登録される。
【0055】
図5(e)は、投稿画像情報に設定される内容の一例を示す図である。図5(e)に示すように、投稿画像情報には、画像番号、ユーザID、投稿画像データ及び代表色値が対応付けて設定される。画像番号は、投稿画像に付与された番号である。各投稿画像には、投稿順(モザイク画像提供サーバ1が取得した順)に画像番号が付与される。投稿画像情報に設定されるユーザIDは、投稿画像を投稿したユーザのユーザIDである。つまり、投稿画像情報に設定されるユーザIDは、投稿画像の取得先のユーザ端末2を利用するユーザのユーザIDである。投稿画像データは、投稿画像の画像データである。代表色値は、投稿画像の代表色を示す値である。なお、投稿画像の代表色値の内容は、分割領域の代表色値の内容と同様である。
【0056】
図5(f)は、本実施形態に係るモザイク画像DB12dに登録される内容の一例を示す図である。モザイク画像DB12dには、モザイク画像に関する情報が登録される。具体的に、モザイク画像DB12dには、モザイク画像ID、元画像ID、複数の割り当て画像情報及びモザイク画像表示データがモザイク画像ごとに対応付けて登録される。モザイク画像IDは、モザイク画像の識別情報である。元画像IDは、モザイク画像の絵柄となる画像の元画像IDである。割り当て画像情報は、分割領域に割り当てられている投稿画像を示す情報である。割り当て画像情報は、元画像の基本分割数分登録される。各割り当て画像情報は、対応する基本領域のインデックスに対応付けて登録される。
【0057】
図5(g)は、割り当て画像情報に設定される内容の一例を示す図である。図5(g)に示すように、割り当て画像情報には、1つ以上の割り当て画像番号が設定される。割り当て画像番号は、分割領域に割り当てられている投稿画像の画像番号である。まだ投稿画像が割り当てられていない分割領域(以下、「未割り当て領域」という)の割り当て画像番号には、例えば、−1等の無効な番号が設定されている。
【0058】
割り当て画像番号は、対応する基本領域の子分割数分登録される。具体的に、割り当て画像情報(X1,Y1)には、元画像IDに対応付けて元画像DB12bに登録されている基本領域情報(X1,Y1)の子分割数情報に含まれる子分割数分の割り当て画像番号が登録される。各割り当て画像番号は、対応する基本領域及び子領域のインデックスに対応付けて登録される。
【0059】
対応する子分割数が1である場合、基本領域は分割されていない。この場合、割り当て画像情報(X1,Y1)には、割り当て画像番号として、割り当て画像番号(X1,Y1)(0,0)のみが登録される。この場合の割り当て画像番号(X1,Y1)(0,0)は、基本領域(X1,Y1)に割り当てられた投稿画像の画像番号である。一方、子分割数が2以上である場合、基本領域は分割されている。この場合、割り当て画像番号(X1,Y1)(Y2,Y2)は、子領域(X1,Y1)(Y2,Y2)に割り当てられた投稿画像の画像番号である。
【0060】
モザイク画像表示データは、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が画面上にモザイク画像を生成(形成)することになる。
【0061】
モザイク画像表示データにおいては、例えば、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に登録する。
【0062】
モザイク画像DB12dに登録されている割り当て画像情報の内容は、モザイク画像表示データに反映されている。そのため、モザイク画像DB12dには、割り当て画像情報またはモザイク画像表示データの何れか一方のみが登録されるようになっていても良い。割り当て画像情報のみが登録される場合、システム制御部14は、モザイク画像が表示されるWebページを送信するときに、割り当て画像情報に基づいてモザイク画像表示データを生成しても良い。
【0063】
次に、記憶部12に記憶されるその他の情報について説明する。記憶部12には、分割パターンテーブルが記憶されている。図7(a)は、分割パターンテーブルに設定される内容の一例を示す図である。分割パターンテーブルは、基本領域のエッジ度と子分割数との対応関係を示すテーブル情報である。図7(a)に示すように、分割パターンテーブルには、分割パターン数及び1つ以上の分割パターン情報が設定される。
【0064】
分割パターン数は、子分割数のパターンの数を示す。図2(b)の例では、分割パターン数は3になる。分割パターン情報は、分割パターン数分設定される。図7(b)は、分割パターン情報に設定される内容の一例を示す図である。図7(b)に示すように、分割パターン情報には、子分割数情報及び最小エッジ度が設定される。分割パターン情報に設定される子分割数情報の内容は、元画像DB12bに登録される子分割数情報の内容と同様である。最小エッジ度は、子分割数情報に含まれる子分割数で基本領域を分割するために必要なエッジ度の最小値である。分割パターン情報のインデックスをN(Nは1以上の整数)とすると、
分割パターン情報1の子分割数>1
分割パターン情報N+1の子分割数>分割パターン情報Nの子分割数
分割パターン情報1のエッジ度>計算で得られるエッジ度の最小値(例えば、0等)
分割パターン情報N+1のエッジ度>分割パターン情報Nのエッジ度
を満たすように、各分割パターン情報が設定される。図2(b)及び図6の例では、分割パターン情報1の子分割数、子横分割数、子縦分割数及び最低エッジ度(本発明における予め設定された値の一例)は、例えば4、2、2、3となっている。また、分割パターン情報2については、例えば9、3、3、7となっている。また、分割パターン情報3については、例えば16、4、4、20となっている。元画像DB12bに登録されている子分割数情報のうち、基本領域が分割されている場合の子分割数情報の内容は、何れかの分割パターン情報に含まれる子分割数情報の内容と一致する。
【0065】
分割パターン数及び各分割パターン情報は、例えば、モザイク画像提供サーバ1の管理者等により行われる。なお、分割パターン数は1以上であれば良い。また、子横分割数と子縦分割数とが同数ではなくても良い。また、上記の式の条件を満たす限り、子分割数情報及び最小エッジ度は任意に設定することができる。例えば、分割パターン数を1とした場合には、エッジ度が分割パターン情報1に含まれる最低エッジ度以上である基本領域は全て同じ数の子領域に分割されることになる。また、分割パターン数を2以上とした場合、エッジ度が高い基本領域ほど、多くの子領域に分割されることになる。
【0066】
また、記憶部12には、Webページを表示するためのHTML文書、XML文書、画像データ、テキストデータ、電子文書等の各種データが記憶されている。また、記憶部12には、管理者等により設定された各種の設定値が記憶されている。設定値の中には、投稿画像の色が分割領域の色に近いか否かを判定するための閾値が含まれている。
【0067】
また、記憶部12には、オペレーティングシステム、WWW(World Wide Web)サーバプログラム、DBMS(DataBase Management System)、モザイク画像提供プログラム等の各種プログラムが記憶されている。モザイク画像提供プログラムは、元画像の登録、投稿画像の取得、モザイク画像表示データの生成等のモザイク画像に関する処理を実行するためのプログラムである。なお、各種プログラムは、例えば、他のサーバ装置等からネットワークNWを介して取得されるようにしても良いし、DVD(Digital Versatile Disc)等の記録媒体に記録されてドライブ装置を介して読み込まれるようにしても良い。
【0068】
入出力インターフェース13は、通信部11及び記憶部12とシステム制御部14との間のインターフェース処理を行うようになっている。
【0069】
システム制御部14は、CPU14a、ROM(Read Only Memory)14b、RAM(Random Access Memory)14c等により構成されている。そして、システム制御部14は、CPU14aが、各種プログラムを読み出し実行することにより、本発明における特定手段、分割手段、取得手段、決定手段及び提示手段として機能するようになっている。
【0070】
なお、モザイク画像提供サーバ1が、複数のサーバ装置で構成されても良い。例えば、元画像の登録、投稿画像の取得、モザイク画像表示データの生成に関する処理を行うサーバ装置、ユーザ端末2からのリクエストに応じてWebページを送信するサーバ装置、及びデータベースを管理するサーバ装置等が、互いにLAN等で接続されても良い。
【0071】
[3.モザイク画像提供システムの動作]
次に、モザイク画像提供システムSの動作について、図8乃至図11を用いて説明する。
【0072】
図8は、本実施形態に係るモザイク画像提供サーバ1のシステム制御部14の元画像登録処理における処理例を示すフローチャートである。
【0073】
例えば、モザイク画像提供サーバ1の管理者が、モザイク画像提供サーバ1に接続された管理用の端末装置を操作することにより、元画像の登録を行う。具体的に、管理者は、元画像データを選択するとともに、基本横分割数及び基本縦分割数を入力する。すると、管理用の端末装置は、元画像データ、基本横分割数及び基本縦分割数を含む元画像登録リクエストを、モザイク画像提供サーバ1へ送信する。なお、例えば、ユーザが元画像を投稿することができるようになっても良い。この場合、元画像を投稿するユーザのユーザ端末2が元画像登録リクエストを送信する。
【0074】
元画像登録処理は、モザイク画像提供サーバ1が元画像登録リクエストを受信したときに開始される。この元画像登録処理は、後述する投稿画像受信時処理よりも前に予め実行される。そして、元画像登録処理が実行されることにより、投稿画像受信時処理における投稿画像の割り当て等が可能となる。
【0075】
元画像登録処理において、システム制御部14は、新たな元画像IDを生成する。次いで、システム制御部14は、受信した元画像登録リクエストに含まれる基本横分割数及び基本縦分割数に基づいて、基本分割数情報を生成する。そして、システム制御部14は、新たな元画像ID、元画像登録リクエストに含まれる元画像データ及び生成したび基本分割数情報を対応付けて、元画像DB12bに登録する(ステップS11)。
【0076】
次いで、システム制御部14は、新たなモザイク画像IDを生成する。次いで、システム制御部14は、新たなモザイク画像ID及び元画像IDを対応付けて、モザイク画像DB12dに登録する(ステップS12)。また、システム制御部14は、元画像データに基づいて、元画像のビットマップイメージをRAM14cに展開する。
【0077】
次いで、システム制御部14は、元画像を複数の基本領域に分割する。先ず、システム制御部14は、基本領域のインデックスY1に0を設定する(ステップS13)。次いで、システム制御部14は、基本領域のインデックスX1に0を設定する(ステップS14)。次いで、システム制御部14は、基本領域(X1,Y1)を特定する(ステップS15)。具体的に、システム制御部14は、登録した元画像データから元画像の縦横の画素数を取得する。次いで、システム制御部14は、元画像の縦横の画素数と、登録した基本分割数情報が示す基本横分割数及び基本縦分割数と、インデックスX1及びY1とに基づいて、基本領域(X1,Y1)に含まれる画素の座標範囲を計算する。
【0078】
次いで、システム制御部14は、分割領域(X1,Y1)に含まれる各画素の画素エッジ度を計算する(ステップS16)。具体的に、システム制御部14は、RAM14cに展開された元画像のビットマップイメージから、分割領域(X1,Y1)に含まれる各画素の値を取得する。そして、システム制御部14は、例えば、式1が示す計算方法で、画素エッジ度を計算する。
【0079】
次いで、システム制御部14は、計算した各画素エッジ度に基づいて、分割領域(X1,Y1)のエッジ度を計算する。例えば、システム制御部14は、式2が示す計算方法で、エッジ度を計算する。そして、システム制御部14は、計算したエッジ度を、新たな元画像IDと、インデックスX1及びY1とに対応付けて元画像DB12bに登録する(ステップS17)。
【0080】
次いで、システム制御部14は、計算したエッジ度と分割パターンテーブルとに基づいて、基本領域(X1,Y1)の子分割数情報を、新たな元画像IDと、インデックスX1及びY1とに対応付けて元画像DB12bに登録する(ステップS18)。具体的に、システム制御部14は、分割パターン情報のインデックスの値が小さい順に、分割パターン情報に含まれる最小エッジ度と、計算したエッジ度とを比較する。ここで、システム制御部14は、計算したエッジ度が、分割パターン情報1に含まれる最小エッジ度よりも小さい場合には、子分割数、子横分割数及び子縦分割数が全て1である子分割数情報を登録する。一方、システム制御部14は、計算したエッジ度が、分割パターン情報M(Mは2以上の整数)に含まれる最小エッジ度以上であり且つ分割パターン情報M+1に含まれる最小エッジ度未満である場合、分割パターン情報Mに含まれる子分割数情報を登録する。また、システム制御部14は、計算したエッジ度が、インデックスの値が最大の分割パターン情報に含まれる最小エッジ度以上である場合、その分割パターン情報に含まれる子分割数情報を登録する。こうして、システム制御部14は、特定手段としてエッジを含む基本領域を特定する。
【0081】
次いで、システム制御部14は、割り当て画像情報(X1,Y1)を、新たなモザイク画像IDと、インデックスX1及びY1とに対応付けてモザイク画像DB12dに登録する(ステップS19)。このとき、システム制御部14は、割り当て画像情報(X1,Y1)に含まれる割り当て画像番号の個数を、登録した子分割数情報に含まれる子分割数と同一にする。また、システム制御部14は、各割り当て画像番号に、未割り当て領域を示す無効な番号を設定する。
【0082】
次いで、システム制御部14は、子領域のインデックスY2に0を設定する(ステップS20)。次いで、システム制御部14は、子領域のインデックスX2に0を設定する(ステップS21)。次いで、システム制御部14は、分割領域(X1,Y1)(X2,Y2)を特定する(ステップS22)。具体的に、システム制御部14は、元画像の縦横の画素数と、登録した基本分割数情報に含まれる基本横分割数及び基本縦分割数と、登録した子分割数情報に含まれる子横分割数及び子縦分割数と、インデックスX1、Y1、X2及びY2とに基づいて、分割領域(X1,Y1)(X2,Y2)に含まれる画素の座標範囲を計算する。なお、子分割数が1である場合、分割領域(X1,Y1)(X2(X2=0),Y2(Y2=0))は基本領域であり、子分割数が2以上である場合、分割領域(X1,Y1)(X2,Y2)は子領域である。
【0083】
次いで、システム制御部14は、分割領域(X1,Y1)(X2,Y2)の代表色値を計算する(ステップS23)。例えば、システム制御部14は、RAM14cに展開された元画像のビットマップイメージから分割領域(X1,Y1)(X2,Y2)に含まれる画素の値を取得する。次いで、システム制御部14は、R、G、Bの各基本色ごとに、取得した画素値を足し合わせる。次いで、システム制御部14は、基本色ごとの画素値の合計を、それぞれ分割領域(X1,Y1)(X2,Y2)に含まれる画素の総数で割る。この計算により得られた基本色ごとの画素値の平均が代表色値である。次いで、システム制御部14は、計算した代表色値を、新たな元画像IDと、インデックスX1、Y1、X2及びY2とに対応付けて元画像DB12bに登録する。
【0084】
次いで、システム制御部14は、インデックスX2に1を加算する(ステップS24)。次いで、システム制御部14は、インデックスX2が子横分割数未満であるか否かを判定する(ステップS25)。このとき、システム制御部14は、インデックスX2が子横分割数未満であると判定した場合には(ステップS25:YES)、ステップS22に移行する。一方、システム制御部14は、インデックスX2が子横分割数未満ではないと判定した場合には(ステップS25:NO)、インデックスY2に1を加算する(ステップS26)。次いで、システム制御部14は、インデックスY2が子縦分割数未満であるか否かを判定する(ステップS27)。このとき、システム制御部14は、インデックスY2が子縦分割数未満であると判定した場合には(ステップS27:YES)、ステップS21に移行する。システム制御部14は、ステップS21〜S27の処理を繰り返すことにより、基本領域(X1,Y1)の代表色値または基本領域(X1,Y1)に含まれる各子領域の代表色値の登録を行う。こうして、システム制御部14は、基本領域のエッジ度が分割パターン情報1に含まれる最低エッジ度以上である場合には、分割手段として基本領域を複数の子領域に分割する。
【0085】
そして、システム制御部14は、インデックスY2が子縦分割数未満ではないと判定した場合には(ステップS27:NO)、インデックスX1に1を加算する(ステップS28)。次いで、システム制御部14は、インデックスX1が基本横分割数未満であるか否かを判定する(ステップS29)。このとき、システム制御部14は、インデックスX1が基本横分割数未満であると判定した場合には(ステップS29:YES)、ステップS15に移行する。一方、システム制御部14は、インデックスX1が基本横分割数未満ではないと判定した場合には(ステップS29:NO)、インデックスY1に1を加算する(ステップS30)。次いで、システム制御部14は、インデックスY1が基本縦分割数未満であるか否かを判定する(ステップS31)。このとき、システム制御部14は、インデックスY1が基本縦分割数未満であると判定した場合には(ステップS31:YES)、ステップS14に移行する。システム制御部14は、ステップS14〜S31の処理を繰り返すことにより、全ての分割領域の代表色値の登録を行う。
【0086】
そして、システム制御部14は、インデックスY1が基本縦分割数未満ではないと判定した場合には(ステップS31:NO)、空のモザイク画像表示データを生成し、生成したモザイク画像表示データを、新たなモザイク画像IDに対応付けてモザイク画像DB12dに登録する(ステップS32)。空のモザイク画像表示データとは、投稿画像データのURLを含むimgタグが全く設定されていないモザイク画像表示データである。ここで、システム制御部14は、空のモザイク画像表示データ内に定義されるべきテーブルに含まれているセルのうち、子領域に分割されている基本領域に対応するセルについては、子横分割数及び子縦分割数に応じて更に複数のセルに分割されているように、モザイク画像表示データを生成する。
【0087】
次いで、システム制御部14は、画像投稿・モザイク画像表示ページ400のHTML文書を生成する(ステップS33)。画像投稿・モザイク画像表示ページ400は、画像を投稿するためのWebページであるとともに、モザイク画像が表示されるWebページでもある。システム制御部14は、生成したHTML文書を記憶部12に記憶させる。次いで、システム制御部14は、生成したHTML文書へのハイパーリンクを設定する(ステップS34)。例えば、システム制御部14は、モザイク画像提供システムSのWebサイトのトップページのHTML文書に、画像投稿・モザイク画像表示ページ400のHTML文書のURLを含むaタグを追加する。これにより、ユーザによる画像の投稿及びモザイク画像の閲覧が可能となる。システム制御部14は、ステップS34の処理を終えると、元画像登録処理を終了させる。
【0088】
図9は、本実施形態に係る画像投稿・モザイク画像表示ページ400の画面表示例を示す図である。図9に示すように、画像投稿・モザイク画像表示ページ400は、メッセージ部410、投稿画像送信部420、モザイク画像表示部430等を含む。メッセージ部410には、例えば、モザイク画像提供システムSに関連するサイトにおける商品やサービス等に関する告知等の情報が表示される。投稿画像送信部420には、画像を投稿するための各種ウィジット(操作要素)が表示される。例えば、投稿画像データのパス名を指定するための入力欄、ユーザ端末2に記憶されている画像データの中から投稿画像データを選択するためのダイアログを表示するための参照ボタン、投稿画像データを送信するための送信ボタン等が表示される。モザイク画像表示部430には、これまで投稿された画像により生成されたモザイク画像が表示される。図9においては、モザイク画像の一例としてモザイク画像300cが表示されている。モザイク画像300cは、図2(b)に示す分割領域のうち一部の分割領域に対して投稿画像が割り当てられることにより生成されたモザイク画像である。なお、元画像登録処理が完了した後、まだ画像が1つも投稿されていない場合には、モザイク画像表示部430にはモザイク画像は表示されない。
【0089】
また、モザイク画像表示部430に表示されたモザイク画像に含まれる何れかの投稿画像がユーザにより選択された場合には、例えば、選択された投稿画像が画像投稿・モザイク画像表示ページ400内に大きく表示されたり、選択された投稿画像を投稿したユーザに関する情報(例えば、ユーザのニックネームやプロフィール等)が画像投稿・モザイク画像表示ページ400内に表示されたりしても良い。投稿画像を投稿したユーザに関する情報を表示する場合、システム制御部14は、例えば、モザイク画像表示データにimgタグを設定する際、投稿画像を投稿したユーザのユーザIDをモザイク画像表示データに設定する。モザイク画像表示部430において、ユーザが何れかの投稿画像を選択すると、ユーザ端末2は、その投稿画像を投稿したユーザのユーザIDを含むリクエストをモザイク画像提供サーバ1へ送信する。システム制御部14は、受信したリクエストに含まれるユーザIDに対応する会員情報から必要な情報を取得してユーザ端末2へ送信する。そして、ユーザ端末2は、受信した情報を表示する。
【0090】
図10は、本実施形態に係るモザイク画像提供サーバ1のシステム制御部14の投稿画像受信時処理における処理例を示すフローチャートである。画像投稿・モザイク画像表示ページ400の投稿画像送信部420において、ユーザが投稿画像データを指定して送信ボタンを選択すると、ユーザ端末2は、投稿リクエストをモザイク画像提供サーバ1へ送信する。投稿リクエストは、指定された投稿画像データ、操作を行ったユーザのユーザID、生成対象のモザイク画像のモザイク画像IDを含む。投稿画像受信時処理は、モザイク画像提供サーバ1が取得手段として投稿リクエストを受信したときに開始される。
【0091】
システム制御部14は、ステップS51〜S56の処理により、決定手段として投稿画像を割り当てる分割領域を決定する。先ず、システム制御部14は、投稿リクエストに含まれる投稿画像データが示す投稿画像(以下、「処理対象投稿画像」という)の代表色値を計算する(ステップS51)。この計算方法は、元画像登録処理におけるステップS23の場合と同様である。
【0092】
ここで、システム制御部14は、例えばミューテックス等を利用した排他制御を行い、ステップS52以降の処理(クリティカルセッション)を実行することができる権限を取得した場合には、ロック操作を行う。これにより、システム制御部14は、複数のプロセスがクリティカルセッションを同時に実行することができないようにする。
【0093】
次いで、システム制御部14は、割り当て候補リストを初期化してRAM14cに設定する(ステップS52)。割り当て候補リストは、処理対象投稿画像を割り当て可能な条件を満たす分割領域(以下、「候補領域」という)のリストである。候補領域は、処理対象投稿画像との代表色値の差が閾値以下である分割領域をいう。割り当て候補リストには、候補領域のインデックスであるX1、Y1、X2及びY2と、処理対象投稿画像との代表色値の差の値とが対応付けて登録される。
【0094】
次いで、システム制御部14は、後述する候補領域検索処理を実行する(ステップS53)。候補領域検索処理では、未割り当て領域の中から候補領域が検索され、検索された候補領域が割り当て候補リストに登録される。
【0095】
次いで、システム制御部14は、候補領域を検索することができたか否かを判定する(ステップS54)。具体的に、システム制御部14は、割り当て候補リストに候補領域のインデックス及び差の値が一組以上登録されているか否かを判定する。このとき、システム制御部14は、割り当て候補リストに候補領域のインデックス及び差の値が登録されていない場合には、候補領域を検索することができなかったと判定する(ステップS54:NO)。この場合、システム制御部14は、投稿リクエストの送信元のユーザ端末2に、投稿拒否メッセージを送信する(ステップS55)。投稿拒否メッセージは、画像の投稿が拒否された旨を示すメッセージである。ユーザ端末2は、受信した投稿拒否メッセージを画面に表示する。システム制御部14は、ステップS55の処理を終えると、投稿画像受信時処理を終了させる。
【0096】
一方、システム制御部14は、割り当て候補リストに候補領域のインデックス及び差の値が一組以上登録されている場合には、候補領域を検索することができたと判定する(ステップS54:YES)。この場合、システム制御部14は、検索された候補領域のうち、処理対象投稿画像との代表色値の差が最も小さい候補領域を、処理対象投稿画像を割り当てる分割領域(以下、「割り当て対象領域」という)として決定する(ステップS56)。具体的に、システム制御部14は、割り当て候補リストに登録されている差の値の中から最も小さい値を検索する。そして、システム制御部14は、最も小さい差の値に対応付けられているインデックスX1、X2、Y1及びY2を、割り当て対象領域のインデックスとして割り当て候補リストから取得する。
【0097】
次いで、システム制御部14は、投稿リクエストに含まれるモザイク画像ID(以下、「対象モザイク画像ID」という)に対応付けて投稿画像DB12cに登録されている投稿数に1を加算して投稿数を更新する(ステップS57)。次いで、システム制御部14は、処理対象投稿画像の画像番号に、更新後の投稿数を設定する(ステップS58)。次いで、システム制御部14は、画像番号、投稿リクエストに含まれるユーザID及び投稿画像データ、並びに処理対象投稿画像の代表色値を含む投稿画像情報を、対象モザイク画像IDに対応付けて投稿画像DB12cに登録する(ステップS59)。
【0098】
次いで、システム制御部14は、対象モザイク画像IDに対応付けてモザイク画像DB12dに登録されている割り当て対象領域の割り当て画像番号を、処理対象投稿画像の画像番号に書き換える(ステップS60)。
【0099】
次いで、システム制御部14は、対象モザイク画像IDに対応付けてモザイク画像DB12dに登録されているモザイク画像表示データを更新する(ステップS61)。具体的に、システム制御部14は、モザイク画像表示データにおいて、割り当て対象領域のインデックスに対応するセルに、処理対象投稿画像の投稿画像データのURLを含むimgタグを設定する。
【0100】
次いで、システム制御部14は、更新後のモザイク画像表示データを含む画像投稿・モザイク画像表示ページ400のHTML文書を生成して、記憶部12に記憶させる(ステップS62)。次いで、システム制御部14は、生成したHTML文書を、投稿リクエストの送信元のユーザ端末2へ送信する(ステップS63)。ここで、システム制御部14は、アンロック操作を行うことにより、別のプロセスがクリティカルセッションを実行することができるようにする。システム制御部14は、ステップS63の処理を終えると、投稿画像受信時処理を終了させる。
【0101】
ユーザ端末2は、受信したHTML文書に基づいて、画像投稿・モザイク画像表示ページ400を画面に表示する。このとき、システム制御部14は、モザイク画像表示データに含まれるimgタグに基づいて、投稿画像データのURLを含むリクエストをモザイク画像提供サーバ1へ送信する。システム制御部14は、受信したリクエストに含まれるURLからモザイク画像ID及び画像番号を取得する。次いで、システム制御部14は、取得したモザイク画像ID及び画像番号に対応する投稿画像データを、投稿画像DB12cから取得する。次いで、システム制御部14は、取得した投稿画像データをユーザ端末2へ送信する。ユーザ端末2は、取得した投稿画像データに基づいて、画像投稿・モザイク画像表示ページ400のモザイク画像表示部430内に投稿画像を表示する。これにより、例えば図9に示すようなモザイク画像が表示される。こうして、システム制御部14は、モザイク画像表示データを送信することにより、提示手段として、モザイク画像をユーザ端末2によりユーザに提示させる。
【0102】
図11は、本実施形態に係るモザイク画像提供サーバ1のシステム制御部14の候補領域検索処理における処理例を示すフローチャートである。
【0103】
先ず、システム制御部14は、対象モザイク画像IDに対応する元画像ID(以下、「対象元画像ID」という)をモザイク画像DB12dから取得する。次いで、システム制御部14は、対象元画像IDに対応する基本分割数情報を、元画像DB12bから取得する(ステップS101)。
【0104】
次いで、システム制御部14は、基本領域のインデックスY1に0を設定する(ステップS102)。次いで、システム制御部14は、基本領域のインデックスX1に0を設定する(ステップS103)。次いで、システム制御部14は、対象元画像IDに対応付けて元画像DB12bに登録されている基本領域情報(X1,Y1)から、子分割数情報を取得する(ステップS104)。次いで、システム制御部14は、子領域のインデックスY2に0を設定する(ステップS105)。次いで、システム制御部14は、子領域のインデックスX2に0を設定する(ステップS106)。
【0105】
次いで、システム制御部14は、分割領域(X1,Y1)(X2,Y2)は未割り当て領域であるか否かを判定する(ステップS107)。具体的に、システム制御部14は、対象モザイク画像IDに対応付けてモザイク画像DB12dに登録されている割り当て画像番号(X1,Y1)(X2,Y2)が未割り当て領域を示す番号であるか否かを判定する。
【0106】
このとき、システム制御部14は、割り当て画像番号(X1,Y1)(X2,Y2)が未割り当て領域を示す番号である場合には、分割領域(X1,Y1)(X2,Y2)は未割り当て領域であると判定する(ステップS107:YES)。この場合、システム制御部14は、分割領域(X1,Y1)(X2,Y2)の代表色値と、処理対象投稿画像の代表色値との差を計算する(ステップS108)。具体的に、システム制御部14は、対象元画像IDに対応付けて元画像DB12bに登録されている代表色値(X1,Y1)(X2,Y2)を取得する。次いで、システム制御部14は、以下の式3により差を計算する。
【0107】
【数3】
式3において、Diffは差である。R1、G1及びB1は、分割領域(X1,Y1)(X2,Y2)のR、G及びBの代表色値である。R2、G2及びB2は、処理対象投稿画像のR、G及びBの代表色値である。なお、システム制御部14は、基本色ごとに計算した差の二乗をそれぞれ計算して、その計算結果を足しあわせる代わりに、基本色ごとに計算した差の絶対値をとって、その絶対値を足し合わせても良い。
【0108】
次いで、システム制御部14は、計算した差の値が閾値以下であるか否かを判定する(ステップS109)。このとき、システム制御部14は、差の値が閾値以下であると判定した場合には(ステップS109:YES)、分割領域(X1,Y1)(X2,Y2)を候補領域として決定する(ステップS110)。具体的に、システム制御部14は、インデックスX1、Y1、X2及びY2と、計算した差の値とを対応付けて割り当て候補リストに登録する。そして、システム制御部14は、ステップS111に移行する。
【0109】
ステップS107において、システム制御部14は、割り当て画像番号(X1,Y1)(X2,Y2)が未割り当て領域を示す番号ではない場合には、分割領域(X1,Y1)(X2,Y2)は未割り当て領域ではないと判定する(ステップS107:NO)。この場合、システム制御部14は、ステップS111に移行する。また、ステップS109において、システム制御部14は、差の値が閾値以下ではないと判定した場合も(ステップS109:NO)、ステップS111に移行する。
【0110】
ステップS111において、システム制御部14は、インデックスX2に1を加算する。次いで、システム制御部14は、インデックスX2が、取得した子分割数情報に含まれる子横分割数未満であるか否かを判定する(ステップS112)。このとき、システム制御部14は、インデックスX2が子横分割数未満であると判定した場合には(ステップS112:YES)、ステップS107に移行する。一方、システム制御部14は、インデックスX2が子横分割数未満ではないと判定した場合には(ステップS112:NO)、インデックスY2に1を加算する(ステップS113)。次いで、システム制御部14は、インデックスY2が、取得した子分割数情報に含まれる子縦分割数未満であるか否かを判定する(ステップS114)。このとき、システム制御部14は、インデックスY2が子縦分割数未満であると判定した場合には(ステップS114:YES)、ステップS106に移行する。システム制御部14は、ステップS106〜S114の処理を繰り返すことにより、基本領域(X1,Y1)または基本領域(X1,Y1)に含まれる各子領域の中から、候補領域を検索する。
【0111】
そして、システム制御部14は、インデックスY2が子縦分割数未満ではないと判定した場合には(ステップS114:NO)、インデックスX1に1を加算する(ステップS115)。次いで、システム制御部14は、インデックスX1が、取得した基本分割数情報に含まれる基本横分割数未満であるか否かを判定する(ステップS116)。このとき、システム制御部14は、インデックスX1が基本横分割数未満であると判定した場合には(ステップS116:YES)、ステップS104に移行する。一方、システム制御部14は、インデックスX1が基本横分割数未満ではないと判定した場合には(ステップS116:NO)、インデックスY1に1を加算する(ステップS117)。次いで、システム制御部14は、インデックスY1が、取得した基本分割数情報に含まれる基本縦分割数未満であるか否かを判定する(ステップS118)。このとき、システム制御部14は、インデックスY1が基本縦分割数未満であると判定した場合には(ステップS118:YES)、ステップS103に移行する。システム制御部14は、ステップS103〜S118の処理を繰り返すことにより、全ての未割り当ての中から、候補領域を検索する。
【0112】
そして、システム制御部14は、インデックスY1が基本縦分割数未満ではないと判定した場合には(ステップS118:NO)、候補領域検索処理を終了させる。
【0113】
以上説明したように、本実施形態によれば、モザイク画像提供サーバ1のシステム制御部14が、複数の基本領域の中から画像のエッジを含む領域を特定し、特定された基本領域を更に複数の子領域に分割し、ユーザにより指定された投稿画像を取得し、子領域に分割されていない基本領域と、分割によって作られた子領域と、の中から、取得された投稿画像を割り当てる領域を決定し、決定された割り当てに基づいて、取得された投稿画像が配置されたモザイク画像をユーザへ提示する。
【0114】
従って、複数の基本領域のうち元画像の視認性の向上に資するエッジを含む基本領域がより小さい子領域に分割されるので、モザイク画像の完成に必要な分割領域の数を抑えつつ、元画像の絵柄の視認性が高いモザイク画像を提供することができる。
【0115】
また、システム制御部14が、基本領域の画像に含まれるエッジの度合いを示すエッジ度を計算し、当該エッジ度が予め設定された閾値以上である領域を、エッジを含む基本領域として特定する。
【0116】
従って、予め設定される値により、エッジを含むとする領域を決めることができる。
【0117】
また、システム制御部14が、計算されたエッジ度が高い基本領域ほど分割数が多くなるように、特定された基本領域を分割することを特徴とする。
【0118】
従って、エッジを含む基本領域であっても元画像の視認性への影響の度合い応じて分割数が変わるので、元画像の分割数を抑えつつ、元画像の絵柄の視認性がより高いモザイク画像を提供することができる。
【0119】
なお、上記実施形態の候補領域検索処理におけるステップS108において、モザイク画像提供サーバ1は、投稿画像が割り当てられていない全ての分割領域について、投稿画像との代表色値の差を計算していた。しかしながら、分割領域を予め代表色値に基づいて並べ替えておくことにより、計算を行う分割領域の個数を減らし、計算時間を短くすることができる。例えば、システム制御部14は、Rの代表色値が小さい順に分割領域を示すリスト、Gの代表色値が小さい順に分割領域を示すリスト、Bの代表色値が小さい順に分割領域を示すリストを生成する。システム制御部14は、投稿画像データを受信して投稿画像の代表値を計算したとき、投稿画像の代表値との差が閾値以下となる代表値の最小値及び最大値を、R、G、Bそれぞれについて計算する。このときの閾値は、式3で差を計算した場合に用いられる閾値とは異なっていても良い。次いで、システム制御部14は、例えば、二分探索法等により、代表値が、投稿画像の代表値との差が閾値以下となる分割領域の範囲を、生成したリストを用いて特定する。システム制御部14は、これを、R、G、Bについて実行する。そして、システム制御部14は、R、G、Bの全てにおいて、投稿画像との代表値の差が閾値以下になっている分割領域を、候補領域とする。
【0120】
また、上記実施形態において、モザイク画像提供サーバ1は、投稿画像を割り当てる候補領域を、未割り当て領域の中から決定していた。しかしながら、モザイク画像提供サーバ1は、既に投稿画像が割り当てられているか否かにかかわらず、投稿画像を割り当てる候補領域を決定しても良い。例えば、モザイク画像提供サーバ1は、分割領域に既に割り当てられている投稿画像の色よりもこれから割り当てようとする処理対象投稿画像の色の方がその分割領域の色に近い場合、処理対象投稿画像をその分割領域に割り当てるとともに、その分割領域に割り当てられていた投稿画像を未割り当て領域に割り当てても良い。
【0121】
また、上記実施形態において、モザイク画像提供サーバ1は、投稿画像との代表色値の差が最も小さい分割領域を割り当て対象領域に決定していたが、例えば、投稿画像との代表色値の差が閾値以下になる分割領域の中から任意の分割領域を割り当て対象領域に決定しても良い。
【0122】
また、上記実施形態において、モザイク画像提供サーバ1は、各投稿画像をそれぞれ1つの分割領域に割り当てていたが、例えば、複数の領域に割り当てても良い。例えば、モザイク画像提供サーバ1は、投稿画像との代表色値の差が閾値以下になる分割領域の中から複数の領域に同一の投稿画像を割り当てても良い。
【0123】
また、上記実施形態において、モザイク画像提供サーバ1は、投稿画像の代表色値と分割領域の代表色値とに基づいて、割り当て対象領域を決定していたが、例えば、投稿画像の模様と、分割領域に含まれる模様とに基づいて、割り当て対象領域を決定しても良い。例えば、モザイク画像提供サーバ1は、投稿画像の模様と分割領域に含まれる模様との一致性を示す一致度を計算し、一致度が予め設定された閾値以上となる分割領域の中から割り当て対象領域を決定しても良い。また例えば、モザイク画像提供サーバ1は、投稿画像と分割領域のとの間で、模様及び色彩を含めて画像そのものの一致度を計算し、一致度が予め設定された閾値以上となる分割領域の中から割り当て対象領域を決定しても良い。
【0124】
また、上記実施形態において、モザイク画像提供サーバ1は、モザイク画像をユーザ端末2に表示させるためにモザイク画像表示データを含むHTML文書をユーザ端末2に送信していた。しかしながら、モザイク画像提供サーバ1は、モザイク画像の画像データそのものをユーザ端末2に送信しても良い。この場合、モザイク画像提供サーバ1は、例えば、これまでに取得して投稿画像DB12cに登録しておいた投稿画像データと、モザイク画像DB12dに登録されている割り当て画像番号とに基づいて、割り当てられた領域の位置に各投稿画像が配置されたモザイク画像の画像データを生成する。
【0125】
また、上記実施形態において、モザイク画像提供サーバ1は、一つのモザイク画像の表示データの生成に、複数のユーザから投稿された画像を用いることができるようにしていた。しかしながら、モザイク画像提供サーバ1は、例えば、1人のユーザから投稿された画像のみを用いてモザイク画像の表示データを生成しても良い。
【0126】
また、上記実施形態においては、モザイク画像提供サーバ1に特定手段、分割手段、取得手段、決定手段及び提示手段を備えさせ、モザイク画像提供サーバ1が表示データをユーザ端末2に送信することにより、ユーザ端末2によりモザイク画像を提示させていた。しかしながら、例えば、ユーザ端末2等の装置に、特定手段、分割手段、取得手段、決定手段及び提示手段を備えさせ、ユーザ端末2等の装置が、スタンドアローンで、エッジ度の計算、基本領域の分割、投稿画像の割り当て、モザイク画像の生成、モザイク画像の表示等を行っても良い。
【符号の説明】
【0127】
1 モザイク画像提供サーバ
2 ユーザ端末
11 通信部
12 記憶部
12a 会員情報DB
12b 元画像DB
12c 投稿画像DB
12d モザイク画像DB
13 入出力インターフェース
14 システム制御部
14a CPU
14b ROM
14c RAM
15 システムバス
NW ネットワーク
S モザイク画像提供システム
【技術分野】
【0001】
本発明は、端末装置から取得された画像を組み合わせてできるモザイク画像をユーザへ提示する画像提供装置及び画像処理方法の技術分野に関する。
【背景技術】
【0002】
従来、例えば広告やイベントの告知等に用いられるポスターやWebページ等における画像の表現手法として、素材となる複数の画像(以下、「素材画像」という)をタイル状に配置してモザイク画像(例えば、モザイクアート、フォトモザイク等)として表現する方法が知られている。この表現方法においては、例えば、モザイク画像の絵柄の元となる画像(以下、「元画像」という)が複数の領域に分割される。そして、各素材画像が、例えば色調、模様等が近い領域に割り当てられる。これにより、元画像の絵柄を表現するモザイク画像が生成される。
【0003】
また、サーバ装置が、ユーザから素材画像として提供される画像をネットワークを介して端末装置から取得し、取得した画像を用いて生成したモザイク画像を端末装置に表示させる技術が知られている。この場合、如何なる画像が素材画像となるかは、基本的に画像を提供するユーザの判断にゆだねられる。そのため、このような画像を素材画像として用いる場合には、元画像の絵柄の視認性が高いモザイク画像を如何にして生成するかが課題となる。
【0004】
例えば、特許文献1には、視認性が高いモザイク画像を提供することを目的とする技術が開示されている。具体的には、モザイク画像提供装置が、モザイク画像の元となる対象画像を分割した複数のブロックの中からユーザが投稿した素材画像の配置対象となるブロックを決定するとき、ユーザが選択したブロックを配置対象として決定し、または、ブロックの画像に制限されることなく自動的に配置対象を決定する。また、モザイク画像提供装置が、素材画像の基本色の平均濃度値が、配置対象のブロックの基本色の平均濃度値となるように、素材画像を色補正する。また、ユーザから投稿された素材画像の数がモザイク画像の完成に必要な数に到達するまでは、一部のブロックに対してのみ素材画像が配置された状態のモザイク画像が端末装置に表示される。つまり、未完成状態のモザイク画像が表示される。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2010−4166号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、素材画像の色をブロックの色に合わせただけでは、元画像の絵柄の視認性が高くならない場合がある。具体的には、モザイク画像の完成に必要なブロックの総数が少ないと、元画像に対する1ブロックの面積の割合が大きくなる。それゆえ、モザイク画像の解像度が低くなり、モザイク画像が粗い画像となってしまうからである。さりとて、1ブロックの面積を小さくした場合には、モザイク画像の完成に必要なブロックの総数が多くなり、モザイク画像の完成までに多くの素材画像が必要となる。
【0007】
本願発明は、以上の点に鑑みてなされたものであり、モザイク画像の完成に必要な領域の数を抑えつつ、元画像の絵柄の視認性が高いモザイク画像を提供することができる画像提供装置、画像処理方法、画像処理プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、請求項1に記載の発明は、複数の領域に分割された元画像のモザイク画像を提供する画像提供装置であって、前記複数の領域の中から画像のエッジを含む領域を特定する特定手段と、前記特定された領域を更に複数の領域に分割する分割手段と、ユーザにより指定された画像を取得する取得手段と、前記複数の領域のうち前記分割手段により分割されていない領域と、前記分割手段による分割によって作られた領域と、の中から、前記取得された画像を割り当てる領域を決定する決定手段と、前記決定手段により決定された割り当てに基づいて、前記取得された画像が配置されたモザイク画像をユーザへ提示する提示手段と、を備えることを特徴とする。
【0009】
この発明によれば、複数の領域のうち元画像の視認性の向上に資するエッジを含む領域がより小さい領域に分割されるので、モザイク画像の完成に必要な領域の数を抑えつつ、元画像の絵柄の視認性が高いモザイク画像を提供することができる。
【0010】
請求項2に記載の発明は、請求項1に記載の画像提供装置において、前記特定手段は、前記領域の画像に含まれるエッジの度合いを示すエッジ度を計算し、当該エッジ度が予め設定された値以上である前記領域を、エッジを含む領域として特定することを特徴とする。
【0011】
この発明によれば、予め設定される値により、エッジを含むとする領域を決めることができる。
【0012】
請求項3に記載の発明は、請求項2に記載の画像提供装置において、前記分割手段は、前記計算されたエッジ度が高い領域ほど分割数が多くなるように前記特定された領域を分割することを特徴とする。
【0013】
この発明によれば、エッジを含む領域であっても元画像の視認性への影響の度合いに応じて分割数が変わるので、元画像の分割数を抑えつつ、元画像の絵柄の視認性がより高いモザイク画像を提供することができる。
【0014】
請求項4に記載の発明は、複数の領域に分割された元画像のモザイク画像を提供する画像提供装置における画像処理方法であって、前記複数の領域の中から画像のエッジを含む領域を特定する特定ステップと、前記特定された領域を更に複数の領域に分割する分割ステップと、ユーザにより指定された画像を取得する取得ステップと、前記複数の領域のうち前記分割ステップにおいて分割されていない領域と、前記分割ステップによる分割によって作られた領域と、の中から、前記取得された画像を割り当てる領域を決定する決定ステップと、前記決定ステップにおいて決定された割り当てに基づいて、前記取得された画像が配置されたモザイク画像をユーザへ提示する提示ステップと、を含むことを特徴とする。
【0015】
請求項5に記載の発明は、複数の領域に分割された元画像のモザイク画像を提供する画像提供装置に含まれるコンピュータを、前記複数の領域の中から画像のエッジを含む領域を特定する特定手段、前記特定された領域を更に複数の領域に分割する分割手段、ユーザにより指定された画像を取得する取得手段、前記複数の領域のうち前記分割手段により分割されていない領域と、前記分割手段による分割によって作られた領域と、の中から、前記取得された画像を割り当てる領域を決定する決定手段、及び、前記決定手段により決定された割り当てに基づいて、前記取得された画像が配置されたモザイク画像をユーザへ提示する提示手段、として機能させることを特徴とする。
【0016】
請求項6に記載の発明は、複数の領域に分割された元画像のモザイク画像を提供する画像提供装置に含まれるコンピュータを、前記複数の領域の中から画像のエッジを含む領域を特定する特定手段、前記特定された領域を更に複数の領域に分割する分割手段、ユーザにより指定された画像を取得する取得手段、前記複数の領域のうち前記分割手段により分割されていない領域と、前記分割手段による分割によって作られた領域と、の中から、前記取得された画像を割り当てる領域を決定する決定手段、及び、前記決定手段により決定された割り当てに基づいて、前記取得された画像が配置されたモザイク画像をユーザへ提示する提示手段、として機能させる画像処理プログラムがコンピュータ読み取り可能に記録されていることを特徴とする。
【発明の効果】
【0017】
本発明によれば、複数の領域のうち元画像の視認性の向上に資するエッジを含む領域がより小さい領域に分割されるので、モザイク画像の完成に必要な領域の数を抑えつつ、元画像の絵柄の視認性が高いモザイク画像を提供することができる。
【図面の簡単な説明】
【0018】
【図1】一実施形態に係るモザイク画像提供システムSの概要構成の一例を示す図である。
【図2】(a)は、基本領域に分割された元画像100の例を示す図であり、(b)は、エッジを含む基本領域が子領域に分割された元画像100の例を示す図である。
【図3】(a)は、基本領域のみに対して投稿画像が割り当てられると仮定した場合の完成したのモザイク画像300aの表示例を示す図であり、(b)は、子領域に投稿画像が割り当てられた場合の完成したモザイク画像300bの表示例を示す図である。
【図4】一実施形態に係るモザイク画像提供サーバ1の概要構成の一例を示すブロック図である。
【図5】(a)は、一実施形態に係る会員情報DB12aに登録される内容の一例を示す図であり、(b)は、元画像DB12bに登録される内容の一例を示す図であり、(c)は、基本領域情報に設定される内容の一例を示す図であり、(d)は、投稿画像DB12cに登録される内容の一例を示す図であり、(e)は、投稿画像情報に設定される内容の一例を示す図であり、(f)は、モザイク画像DB12dに登録される内容の一例を示す図であり、(g)は、割り当て画像情報に設定される内容の一例を示す図である。
【図6】図2(a)に示す各基本領域200のエッジ度の一例を示す図である。
【図7】(a)は、分割パターンテーブルに設定される内容の一例を示す図であり、(b)は、分割パターン情報に設定される内容の一例を示す図である。
【図8】一実施形態に係るモザイク画像提供サーバ1のシステム制御部14の元画像登録処理における処理例を示すフローチャートである。
【図9】一実施形態に係る画像投稿・モザイク画像表示ページ400の画面表示例を示す図である。
【図10】一実施形態に係るモザイク画像提供サーバ1のシステム制御部14の投稿画像受信時処理における処理例を示すフローチャートである。
【図11】一実施形態に係るモザイク画像提供サーバ1のシステム制御部14の候補領域検索処理における処理例を示すフローチャートである。
【発明を実施するための形態】
【0019】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下に説明する実施の形態は、モザイク画像提供システムに対して本発明を適用した場合の実施形態である。
【0020】
[1.モザイク画像提供システムの構成及び機能概要]
先ず、本実施形態に係るモザイク画像提供システムSの構成及び機能概要について、図1乃至図3を用いて説明する。図1は、本実施形態に係るモザイク画像提供システムSの概要構成の一例を示す図である。
【0021】
図1に示すように、モザイク画像提供システムSは、モザイク画像提供サーバ1と、複数のユーザ端末2と、を含んで構成されている。そして、モザイク画像提供サーバ1及び各ユーザ端末2は、ネットワークNWを介して、例えば、通信プロトコルにTCP/IP等を用いて相互にデータの送受信が可能になっている。なお、ネットワークNWは、例えば、インターネット、専用通信回線(例えば、CATV(Community Antenna Television)回線)、移動体通信網(基地局等を含む)、及びゲートウェイ等により構築されている。
【0022】
モザイク画像提供サーバ1(本発明における画像提供装置の一例)は、素材となる複数の画像をタイル状に配置して(組み合わせて)できるモザイク画像が表示されるWebページをユーザ端末2へ送信するWebサーバである。モザイク画像提供サーバ1は、素材となる画像を収集するため、ネットワークNWを介して各ユーザ端末2から画像を取得する。ユーザ端末2から取得される画像は、ユーザにより投稿された画像(以下、「投稿画像」という)である。
【0023】
ユーザ端末2は、モザイク画像提供システムSを利用するユーザの端末装置である。ユーザ端末2は、ユーザからの操作に基づいて、モザイク画像提供サーバ1にアクセスする。これにより、ユーザ端末2は、モザイク画像提供サーバ1からWebページを受信して表示する。ユーザは、ユーザ端末2の画面に表示されるWebページを通じて、モザイク画像の素材となる画像を投稿したり、モザイク画像を表示させたりする。ユーザ端末2には、ブラウザや電子メールクライアント等のソフトウェアが組み込まれている。ユーザ端末2としては、例えば、パーソナルコンピュータ、PDA(Personal Digital Assistant)、スマートフォン等の携帯情報端末、携帯電話機等が用いられる。
【0024】
このような構成のモザイク画像提供システムSにおいて、モザイク画像の絵柄の元となる画像が、例えば予め用意されている。この画像が元画像である。モザイク画像提供サーバ1は、モザイク画像が表す絵柄が、元画像が表す絵柄に近くなるように、投稿画像の配置を行う。
【0025】
図2(a)及び図2(b)は、元画像の一例及び元画像の分割例を示す図である。図2(a)及び図2(b)に示す画像100は、歩いている馬及びその馬に乗っている騎手の絵柄を表す画像である。ここで、馬の色は焦げ茶色であるものとする。また、騎手のズボンの色は黄色であり、騎手の上着の色は水色であるものとする。また、背景の色は白色であるものとする。なお、それぞれが均一の色で塗りつぶされているのではなく、場所によってある程度の色の変化はあるものとする。
【0026】
元画像は複数の領域(以下、「分割領域」という)に分割される。各分割領域には、ユーザ端末2から取得された投稿画像が割り当てられる。先ず、モザイク画像提供サーバ1は、元画像を予め設定された個数の分割領域に分割する。元画像が最初に分割されたときに作られる分割領域を、「基本領域」という。例えば、図2(a)に示すように、画像100は、基本領域である横9個及び縦11個の合計99個の分割領域200に分割される。分割領域の個数を、「分割数」という。また、基本領域の総数を、「基本分割数」という。
【0027】
図3(a)は、基本領域のみに対して投稿画像が割り当てられると仮定した場合の完成したモザイク画像300aの表示例を示す図である。完成したモザイク画像とは、全ての分割領域に投稿画像が割り当てられたモザイク画像である。基本分割数で分割された状態では、元画像の表示面積に対する各分割領域200の表示面積の割合が比較的大きくなっている。そのため、仮にこの状態でモザイク画像が生成されると、図3(a)に示すように、比較的解像度が低いモザイク画像が生成されることになる。そのため、元画像の絵柄の視認性が高くはない。
【0028】
そこで、モザイク画像提供サーバ1は、元画像の絵柄の視認性が高くなるように、画像のエッジを含む基本領域を、更に複数の分割領域(以下、「子領域」という)に分割する。エッジとは、例えば、画像の明度、色相、彩度等が急激に(鋭く)変化する部分をいう。エッジを含む基本領域は、例えば、元画像の絵柄の輪郭部分、特徴部分、複雑な模様部分等であったりする。このような基本領域が複数の子領域に分割されることにより、1個の子領域の表示面積が小さくなる。
【0029】
モザイク画像提供サーバ1は、エッジを含む基本領域を特定するため、エッジの度合いを示す指標として、各基本領域のエッジ度を計算する。基本領域に含まれる画像の明度等が変化する度合いが高いほど、すなわち、エッジが強いほど、その基本領域のエッジ度が高くなる。また、分割領域に含まれるエッジの量が多いほど、その基本領域のエッジ度が高くなる。そして、モザイク画像提供サーバ1は、エッジ度が予め設定された閾値以上である基本領域を、エッジを含む基本領域として決定する。
【0030】
また、モザイク画像提供サーバ1は、エッジ度が高い基本領域ほど、分割数を多くする。つまり、モザイク画像提供サーバ1は、より多くの子領域に分割する。従って、エッジ度が高い基本領域ほど、より小さい子領域に分割されることになる。このときの分割数を、「子分割数」という。
【0031】
例えば、図2(b)に示すように、エッジを含む分割領域200が、エッジ度に応じて、横2個及び縦2個の合計4個の分割領域210、横3個及び縦3個の合計9個の分割領域220、または、横4個及び縦4個の合計16個の分割領域230のうち何れかの子領域に分割される。モザイク画像提供サーバ1は、子領域に分割されていない基本領域については基本領域に対して投稿画像を割り当てる。一方、モザイク画像提供サーバ1は、子領域に分割された基本領域については分割によって作られた(発生した)子領域に対して投稿画像を割り当てる。
【0032】
図3(b)は、完成したモザイク画像300bの表示例を示す図である。図3(b)は、図2(b)に示す各分割領域に対して投稿画像が割り当てられることにより生成されたモザイク画像である。図3(b)に示すように、エッジ部分における分割領域1個あたりの表示面積は、エッジがない部分における分割領域1個あたりの表示面積よりも小さくなっている。そのため、エッジ部分の解像度が高くなり、エッジの視認性を向上させることができる。そして、エッジの視認性が向上することによって、元画像の絵柄の視認性を向上させることができる。また、エッジ度が高い部分ほど分割領域1個あたりの表示面積がより小さくなるため、元画像の絵柄の視認性をより向上させることができる。
【0033】
ところで、図2(b)の例では、4個の分割領域210に分割された分割領域200は17個である。また、9個の分割領域220に分割された分割領域200は24個である。また、16個の分割領域230に分割された分割領域200は4個である。すると、分割領域の総数は402となる。例えば、元画像の絵柄の視認性を高めることを目的として、基本分割数を、図2(a)の例の4倍にすると、分割領域の総数は496となる。すると、図2(b)の例の場合の分割領域の総数よりも多くなる。つまり、本実施形態では、最初から全ての分割領域の面積が小さくなるように元画像を分割するよりも、分割領域の総数を少なくすることができる。このように、モザイク画像提供サーバ1は、元画像の絵柄の視認性に対する影響が小さい基本領域については、子領域に分割しないか、または、分割したとしても子分割数を少なくする。これにより、分割領域の総数が抑えられることでモザイク画像の完成に必要な投稿画像の数を抑えるとともに、元画像の絵柄の視認性を向上させることができる。
【0034】
[2.モザイク画像提供サーバの構成]
次に、モザイク画像提供サーバ1の構成について、図4乃至図7を用いて説明する。
【0035】
図4は、本実施形態に係るモザイク画像提供サーバ1の概要構成の一例を示すブロック図である。図4に示すように、モザイク画像提供サーバ1は、通信部11と、記憶部12と、入出力インターフェース13と、システム制御部14と、を備えている。そして、システム制御部14と入出力インターフェース13とは、システムバス15を介して接続されている。
【0036】
通信部11は、ネットワークNWに接続して、ユーザ端末2等との通信状態を制御するようになっている。
【0037】
記憶部12は、例えば、ハードディスクドライブ等により構成されている。この記憶部12には、会員情報DB(データベース)12a、元画像DB12b、投稿画像DB12c及びモザイク画像DB12d等が構築されている。
【0038】
図5(a)は、本実施形態に係る会員情報DB12aに登録される内容の一例を示す図である。会員情報DB12aには、モザイク画像提供システムSに会員登録しているユーザに関する会員情報が登録される。具体的に、会員情報DB12aには、ユーザの識別情報であるユーザID、パスワード、ニックネーム、氏名、生年月日、性別、住所、電話番号、電子メールアドレス等が、ユーザごとに対応付けて登録される。
【0039】
図5(b)は、本実施形態に係る元画像DB12bに登録される内容の一例を示す図である。元画像DB12bには、元画像及び元画像に関する情報が登録されている。具体的に、元画像DB12bには、元画像の識別情報である元画像ID、元画像データ、基本分割数情報及び複数の基本領域情報が元画像ごとに対応付けて登録される。
【0040】
元画像IDは、元画像の識別情報である。元画像データは、元画像の画像データである。モザイク画像提供システムSにおいて用いられる画像データのフォーマットとしては、例えば、JPEG(Joint Photographic Experts Group)、TIFF(Tagged-Image File Format)、PNG(Portable Network Graphics)等がある。
【0041】
基本分割数情報は、基本分割数を示す情報である。具体的に、基本分割数情報は、基本分割数、基本横分割数及び基本縦分割数を含む。基本横分割数は、横方向の分割数である。つまり、基本横分割数は、元画像の横方向に並ぶ基本領域の個数である。基本縦分割数は、縦方向の分割数である。つまり、基本縦分割数は、元画像の縦方向に並ぶ基本領域の個数である。基本分割数は、基本横分割数と基本縦分割数とを掛け合わせることにより得られる。
【0042】
基本領域情報は、基本領域に関する情報である。基本領域情報は、基本分割数分登録される。各基本領域情報は、対応する基本領域のインデックスに対応付けて登録される。各基本領域には、(X1,Y1)という形でインデックスが割り当てられる。ここで、X1は、横方向における基本領域の位置を示す。また、Y1は、縦方向における基本領域の位置を示す。元画像の左上隅に位置する基本領域のインデックスが(0,0)となる。基本領域(X1,Y1)は、一番左からX1+1番目に位置する基本領域のうち、一番上からY1+1番目に位置する基本領域である。
【0043】
なお、元画像を複数の領域に分割することとは、元画像全体に相当する領域を複数の領域に分割することであり、元画像内の各画素がそれぞれ何れの領域に含まれているか(あるいは、各領域が何れの画素を含むか)を特定可能にすることをいう。システム制御部14は、元画像の縦横の画素数と、横分割数及び縦分割数とを取得することで、各画素が含まれる領域を特定することができる。そのため、元画像を複数の領域に分割することは、元画像の画像データを領域ごとの画像データに分割することを必ずしも意味するものとは限らない。よって、システム制御部14は、領域ごとの画像データを元画像DB12bに登録しても良いし、登録しなくても良い。
【0044】
図5(c)は、基本領域情報に設定される内容の一例を示す図である。図5(c)に示すように、基本領域情報には、エッジ度、子分割数情報及び1つ以上の代表色値が設定される。
【0045】
エッジ度は、基本領域を分割するか否かの判定、及び、分割する場合の子分割数の決定に用いられる。エッジ度は、システム制御部14により計算される。先ず、システム制御部14は、基本領域に含まれる各画素の画素エッジ度を計算する。画素エッジ度は、画素そのもののエッジの強さを示す。具体的に、システム制御部14は、注目画素(画素エッジ度の計算対象となっている画素)の値と、注目画素に隣接する各画素の値との差を計算する。画素の値は、例えば、R(赤)、G(緑)、B(青)の各基本色(原色)ごとに存在する。R、G、Bの各画素値は、例えば、0から255までの何れかの値をとる。システム制御部14は、この計算を基本色ごとに行う。注目画素に隣接する画素は、注目画素の上下左右及び斜め方向に位置する8画素である。そして、システム制御部14は、基本色ごとに計算した差を足し合わせ、更に8画素分の差を足し合わせて、画素エッジ度を算出する。これらの処理を式で示すと、下記の式1となる。
【0046】
【数1】
式1において、xは、注目領域(エッジ度の計算対象となっている基本領域)の左上隅にある画素を基準とした注目画素のX座標であり、yは、注目領域の左上隅にある画素を基準とした注目画素のY座標である。また、R(x,y)、G(x,y)及びB(x,y)は、座標(x,y)にある画素のRの画素値、Gの画素値及びBの画素値である。また、EP(x,y)は、座標(x,y)にある画素の画素エッジ度である。なお、画素値は、例えば、CMYK、Lab色空間等で表現されても良い。また、システム制御部14は、基本色ごとに計算した差の絶対値をとって、その絶対値を足し合わせる代わりに、基本色ごとに計算した差の二乗をそれぞれ計算して、その計算結果を足しあわせても良い。
【0047】
次に、システム制御部14は、基本領域内の全画素の画素エッジ度を足し合わせて、その基本領域のエッジ度を算出する。この処理を式で示すと、下記の式2となる。
【0048】
【数2】
式2において、EB(X1,Y1)は、基本領域(X1,Y1)のエッジ度である。また、wは、基本領域の横の画素数であり、lは、基本領域の縦の画素数である。なお、エッジ度の計算方法は、ここで説明された方法に限定されるものではない。例えば、システム制御部14は、画素エッジ度を計算する際、注目画素の上下左右に位置する4画素のみについて画素値の差を計算しても良い。また、システム制御部14は、基本色ごとに画素値の差を計算するのではなく、例えば、注目画素の色とこれに隣接する画素の色との距離を計算し、色の距離を足し合わせて画素エッジ度を計算しても良い。
【0049】
図6は、図2(a)に示す各基本領域200のエッジ度の一例を示す図である。なお、図6は、各基本領域のエッジ度の違いが分かりやすいよう、正規化されたエッジ度を示す。図6に示すように、エッジを全く含まない基本領域のエッジ度は0になっている。一方、馬の輪郭や騎手の輪郭を含む基本領域のエッジ度は、輪郭の長さに応じて高くなっている。特に、背景と明度の差が大きい馬の輪郭部分については、エッジ度が高くなっている。また、線が多い馬の尻尾部分(例えば、基本領域(0,6)、(0,7))や、模様が複雑な騎手の手元部分(例えば、基本領域(4,3))も、エッジ度が高くなっている。
【0050】
子分割数情報は、基本領域(X1,Y1)の子分割数を示す情報である。具体的に、子分割数情報は、子分割数、子横分割数及び子縦分割数を含む。子横分割数は、横方向の分割数である。つまり、子横分割数は、基本領域の横方向に並ぶ子領域の個数である。子縦分割数は、縦方向の分割数である。つまり、子縦分割数は、基本領域の縦方向に並ぶ子領域の個数である。子分割数は、子横分割数と子縦分割数とを掛け合わせることにより得られる。基本領域が子領域に分割されていない場合、便宜上、子分割数情報の子分割数、子横分割数及び子縦分割数の全てに1が設定される。
【0051】
代表色値は、分割領域を代表する色(以下、「代表色」という)を示す値である。代表色は、例えば、分割領域全体の色を平均することにより得られる色であっても良いし、分割領域内において専有面積が最も大きい色であっても良い。代表色値は、例えば、R、G、Bの各基本色ごとの値を含む。システム制御部14は、分割領域の代表色値と投稿画像の代表色値とを比較することにより、投稿画像を割り当てる分割領域の候補を決定する。なお、代表色値は、例えば、CMYK、Lab色空間等で表現されても良い。
【0052】
代表色値は、子分割数情報に含まれる子分割数分登録される。各代表色値は、対応する基本領域及び子領域のインデックスに対応付けて登録される。各子領域には、(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番目に位置する子領域である。
【0053】
子分割数情報に含まれる子分割数が1である場合、基本領域は分割されていない。この場合、基本領域情報(X1,Y1)には、代表色値として、代表色値(X1,Y1)(0,0)のみが登録される。この場合の代表色値(X1,Y1)(0,0)は、基本領域(X1,Y2)の代表色値である。一方、子分割数が2以上である場合、基本領域は分割されている。この場合、代表色値(X1,Y1)(Y2,Y2)は、子領域(X1,Y1)(Y2,Y2)の代表色値である。
【0054】
図5(d)は、本実施形態に係る投稿画像DB12cに登録される内容の一例を示す図である。投稿画像DB12cには、投稿画像及び投稿画像に関する情報が登録される。具体的に、投稿画像DB12cには、モザイク画像ID、投稿数、投稿画像情報が登録される。モザイク画像IDは、登録された投稿画像を素材として生成されるモザイク画像の識別情報である。投稿数は、これまでにユーザ端末2から取得された投稿画像の数である。投稿画像情報は、投稿数分登録される。
【0055】
図5(e)は、投稿画像情報に設定される内容の一例を示す図である。図5(e)に示すように、投稿画像情報には、画像番号、ユーザID、投稿画像データ及び代表色値が対応付けて設定される。画像番号は、投稿画像に付与された番号である。各投稿画像には、投稿順(モザイク画像提供サーバ1が取得した順)に画像番号が付与される。投稿画像情報に設定されるユーザIDは、投稿画像を投稿したユーザのユーザIDである。つまり、投稿画像情報に設定されるユーザIDは、投稿画像の取得先のユーザ端末2を利用するユーザのユーザIDである。投稿画像データは、投稿画像の画像データである。代表色値は、投稿画像の代表色を示す値である。なお、投稿画像の代表色値の内容は、分割領域の代表色値の内容と同様である。
【0056】
図5(f)は、本実施形態に係るモザイク画像DB12dに登録される内容の一例を示す図である。モザイク画像DB12dには、モザイク画像に関する情報が登録される。具体的に、モザイク画像DB12dには、モザイク画像ID、元画像ID、複数の割り当て画像情報及びモザイク画像表示データがモザイク画像ごとに対応付けて登録される。モザイク画像IDは、モザイク画像の識別情報である。元画像IDは、モザイク画像の絵柄となる画像の元画像IDである。割り当て画像情報は、分割領域に割り当てられている投稿画像を示す情報である。割り当て画像情報は、元画像の基本分割数分登録される。各割り当て画像情報は、対応する基本領域のインデックスに対応付けて登録される。
【0057】
図5(g)は、割り当て画像情報に設定される内容の一例を示す図である。図5(g)に示すように、割り当て画像情報には、1つ以上の割り当て画像番号が設定される。割り当て画像番号は、分割領域に割り当てられている投稿画像の画像番号である。まだ投稿画像が割り当てられていない分割領域(以下、「未割り当て領域」という)の割り当て画像番号には、例えば、−1等の無効な番号が設定されている。
【0058】
割り当て画像番号は、対応する基本領域の子分割数分登録される。具体的に、割り当て画像情報(X1,Y1)には、元画像IDに対応付けて元画像DB12bに登録されている基本領域情報(X1,Y1)の子分割数情報に含まれる子分割数分の割り当て画像番号が登録される。各割り当て画像番号は、対応する基本領域及び子領域のインデックスに対応付けて登録される。
【0059】
対応する子分割数が1である場合、基本領域は分割されていない。この場合、割り当て画像情報(X1,Y1)には、割り当て画像番号として、割り当て画像番号(X1,Y1)(0,0)のみが登録される。この場合の割り当て画像番号(X1,Y1)(0,0)は、基本領域(X1,Y1)に割り当てられた投稿画像の画像番号である。一方、子分割数が2以上である場合、基本領域は分割されている。この場合、割り当て画像番号(X1,Y1)(Y2,Y2)は、子領域(X1,Y1)(Y2,Y2)に割り当てられた投稿画像の画像番号である。
【0060】
モザイク画像表示データは、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が画面上にモザイク画像を生成(形成)することになる。
【0061】
モザイク画像表示データにおいては、例えば、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に登録する。
【0062】
モザイク画像DB12dに登録されている割り当て画像情報の内容は、モザイク画像表示データに反映されている。そのため、モザイク画像DB12dには、割り当て画像情報またはモザイク画像表示データの何れか一方のみが登録されるようになっていても良い。割り当て画像情報のみが登録される場合、システム制御部14は、モザイク画像が表示されるWebページを送信するときに、割り当て画像情報に基づいてモザイク画像表示データを生成しても良い。
【0063】
次に、記憶部12に記憶されるその他の情報について説明する。記憶部12には、分割パターンテーブルが記憶されている。図7(a)は、分割パターンテーブルに設定される内容の一例を示す図である。分割パターンテーブルは、基本領域のエッジ度と子分割数との対応関係を示すテーブル情報である。図7(a)に示すように、分割パターンテーブルには、分割パターン数及び1つ以上の分割パターン情報が設定される。
【0064】
分割パターン数は、子分割数のパターンの数を示す。図2(b)の例では、分割パターン数は3になる。分割パターン情報は、分割パターン数分設定される。図7(b)は、分割パターン情報に設定される内容の一例を示す図である。図7(b)に示すように、分割パターン情報には、子分割数情報及び最小エッジ度が設定される。分割パターン情報に設定される子分割数情報の内容は、元画像DB12bに登録される子分割数情報の内容と同様である。最小エッジ度は、子分割数情報に含まれる子分割数で基本領域を分割するために必要なエッジ度の最小値である。分割パターン情報のインデックスをN(Nは1以上の整数)とすると、
分割パターン情報1の子分割数>1
分割パターン情報N+1の子分割数>分割パターン情報Nの子分割数
分割パターン情報1のエッジ度>計算で得られるエッジ度の最小値(例えば、0等)
分割パターン情報N+1のエッジ度>分割パターン情報Nのエッジ度
を満たすように、各分割パターン情報が設定される。図2(b)及び図6の例では、分割パターン情報1の子分割数、子横分割数、子縦分割数及び最低エッジ度(本発明における予め設定された値の一例)は、例えば4、2、2、3となっている。また、分割パターン情報2については、例えば9、3、3、7となっている。また、分割パターン情報3については、例えば16、4、4、20となっている。元画像DB12bに登録されている子分割数情報のうち、基本領域が分割されている場合の子分割数情報の内容は、何れかの分割パターン情報に含まれる子分割数情報の内容と一致する。
【0065】
分割パターン数及び各分割パターン情報は、例えば、モザイク画像提供サーバ1の管理者等により行われる。なお、分割パターン数は1以上であれば良い。また、子横分割数と子縦分割数とが同数ではなくても良い。また、上記の式の条件を満たす限り、子分割数情報及び最小エッジ度は任意に設定することができる。例えば、分割パターン数を1とした場合には、エッジ度が分割パターン情報1に含まれる最低エッジ度以上である基本領域は全て同じ数の子領域に分割されることになる。また、分割パターン数を2以上とした場合、エッジ度が高い基本領域ほど、多くの子領域に分割されることになる。
【0066】
また、記憶部12には、Webページを表示するためのHTML文書、XML文書、画像データ、テキストデータ、電子文書等の各種データが記憶されている。また、記憶部12には、管理者等により設定された各種の設定値が記憶されている。設定値の中には、投稿画像の色が分割領域の色に近いか否かを判定するための閾値が含まれている。
【0067】
また、記憶部12には、オペレーティングシステム、WWW(World Wide Web)サーバプログラム、DBMS(DataBase Management System)、モザイク画像提供プログラム等の各種プログラムが記憶されている。モザイク画像提供プログラムは、元画像の登録、投稿画像の取得、モザイク画像表示データの生成等のモザイク画像に関する処理を実行するためのプログラムである。なお、各種プログラムは、例えば、他のサーバ装置等からネットワークNWを介して取得されるようにしても良いし、DVD(Digital Versatile Disc)等の記録媒体に記録されてドライブ装置を介して読み込まれるようにしても良い。
【0068】
入出力インターフェース13は、通信部11及び記憶部12とシステム制御部14との間のインターフェース処理を行うようになっている。
【0069】
システム制御部14は、CPU14a、ROM(Read Only Memory)14b、RAM(Random Access Memory)14c等により構成されている。そして、システム制御部14は、CPU14aが、各種プログラムを読み出し実行することにより、本発明における特定手段、分割手段、取得手段、決定手段及び提示手段として機能するようになっている。
【0070】
なお、モザイク画像提供サーバ1が、複数のサーバ装置で構成されても良い。例えば、元画像の登録、投稿画像の取得、モザイク画像表示データの生成に関する処理を行うサーバ装置、ユーザ端末2からのリクエストに応じてWebページを送信するサーバ装置、及びデータベースを管理するサーバ装置等が、互いにLAN等で接続されても良い。
【0071】
[3.モザイク画像提供システムの動作]
次に、モザイク画像提供システムSの動作について、図8乃至図11を用いて説明する。
【0072】
図8は、本実施形態に係るモザイク画像提供サーバ1のシステム制御部14の元画像登録処理における処理例を示すフローチャートである。
【0073】
例えば、モザイク画像提供サーバ1の管理者が、モザイク画像提供サーバ1に接続された管理用の端末装置を操作することにより、元画像の登録を行う。具体的に、管理者は、元画像データを選択するとともに、基本横分割数及び基本縦分割数を入力する。すると、管理用の端末装置は、元画像データ、基本横分割数及び基本縦分割数を含む元画像登録リクエストを、モザイク画像提供サーバ1へ送信する。なお、例えば、ユーザが元画像を投稿することができるようになっても良い。この場合、元画像を投稿するユーザのユーザ端末2が元画像登録リクエストを送信する。
【0074】
元画像登録処理は、モザイク画像提供サーバ1が元画像登録リクエストを受信したときに開始される。この元画像登録処理は、後述する投稿画像受信時処理よりも前に予め実行される。そして、元画像登録処理が実行されることにより、投稿画像受信時処理における投稿画像の割り当て等が可能となる。
【0075】
元画像登録処理において、システム制御部14は、新たな元画像IDを生成する。次いで、システム制御部14は、受信した元画像登録リクエストに含まれる基本横分割数及び基本縦分割数に基づいて、基本分割数情報を生成する。そして、システム制御部14は、新たな元画像ID、元画像登録リクエストに含まれる元画像データ及び生成したび基本分割数情報を対応付けて、元画像DB12bに登録する(ステップS11)。
【0076】
次いで、システム制御部14は、新たなモザイク画像IDを生成する。次いで、システム制御部14は、新たなモザイク画像ID及び元画像IDを対応付けて、モザイク画像DB12dに登録する(ステップS12)。また、システム制御部14は、元画像データに基づいて、元画像のビットマップイメージをRAM14cに展開する。
【0077】
次いで、システム制御部14は、元画像を複数の基本領域に分割する。先ず、システム制御部14は、基本領域のインデックスY1に0を設定する(ステップS13)。次いで、システム制御部14は、基本領域のインデックスX1に0を設定する(ステップS14)。次いで、システム制御部14は、基本領域(X1,Y1)を特定する(ステップS15)。具体的に、システム制御部14は、登録した元画像データから元画像の縦横の画素数を取得する。次いで、システム制御部14は、元画像の縦横の画素数と、登録した基本分割数情報が示す基本横分割数及び基本縦分割数と、インデックスX1及びY1とに基づいて、基本領域(X1,Y1)に含まれる画素の座標範囲を計算する。
【0078】
次いで、システム制御部14は、分割領域(X1,Y1)に含まれる各画素の画素エッジ度を計算する(ステップS16)。具体的に、システム制御部14は、RAM14cに展開された元画像のビットマップイメージから、分割領域(X1,Y1)に含まれる各画素の値を取得する。そして、システム制御部14は、例えば、式1が示す計算方法で、画素エッジ度を計算する。
【0079】
次いで、システム制御部14は、計算した各画素エッジ度に基づいて、分割領域(X1,Y1)のエッジ度を計算する。例えば、システム制御部14は、式2が示す計算方法で、エッジ度を計算する。そして、システム制御部14は、計算したエッジ度を、新たな元画像IDと、インデックスX1及びY1とに対応付けて元画像DB12bに登録する(ステップS17)。
【0080】
次いで、システム制御部14は、計算したエッジ度と分割パターンテーブルとに基づいて、基本領域(X1,Y1)の子分割数情報を、新たな元画像IDと、インデックスX1及びY1とに対応付けて元画像DB12bに登録する(ステップS18)。具体的に、システム制御部14は、分割パターン情報のインデックスの値が小さい順に、分割パターン情報に含まれる最小エッジ度と、計算したエッジ度とを比較する。ここで、システム制御部14は、計算したエッジ度が、分割パターン情報1に含まれる最小エッジ度よりも小さい場合には、子分割数、子横分割数及び子縦分割数が全て1である子分割数情報を登録する。一方、システム制御部14は、計算したエッジ度が、分割パターン情報M(Mは2以上の整数)に含まれる最小エッジ度以上であり且つ分割パターン情報M+1に含まれる最小エッジ度未満である場合、分割パターン情報Mに含まれる子分割数情報を登録する。また、システム制御部14は、計算したエッジ度が、インデックスの値が最大の分割パターン情報に含まれる最小エッジ度以上である場合、その分割パターン情報に含まれる子分割数情報を登録する。こうして、システム制御部14は、特定手段としてエッジを含む基本領域を特定する。
【0081】
次いで、システム制御部14は、割り当て画像情報(X1,Y1)を、新たなモザイク画像IDと、インデックスX1及びY1とに対応付けてモザイク画像DB12dに登録する(ステップS19)。このとき、システム制御部14は、割り当て画像情報(X1,Y1)に含まれる割り当て画像番号の個数を、登録した子分割数情報に含まれる子分割数と同一にする。また、システム制御部14は、各割り当て画像番号に、未割り当て領域を示す無効な番号を設定する。
【0082】
次いで、システム制御部14は、子領域のインデックスY2に0を設定する(ステップS20)。次いで、システム制御部14は、子領域のインデックスX2に0を設定する(ステップS21)。次いで、システム制御部14は、分割領域(X1,Y1)(X2,Y2)を特定する(ステップS22)。具体的に、システム制御部14は、元画像の縦横の画素数と、登録した基本分割数情報に含まれる基本横分割数及び基本縦分割数と、登録した子分割数情報に含まれる子横分割数及び子縦分割数と、インデックスX1、Y1、X2及びY2とに基づいて、分割領域(X1,Y1)(X2,Y2)に含まれる画素の座標範囲を計算する。なお、子分割数が1である場合、分割領域(X1,Y1)(X2(X2=0),Y2(Y2=0))は基本領域であり、子分割数が2以上である場合、分割領域(X1,Y1)(X2,Y2)は子領域である。
【0083】
次いで、システム制御部14は、分割領域(X1,Y1)(X2,Y2)の代表色値を計算する(ステップS23)。例えば、システム制御部14は、RAM14cに展開された元画像のビットマップイメージから分割領域(X1,Y1)(X2,Y2)に含まれる画素の値を取得する。次いで、システム制御部14は、R、G、Bの各基本色ごとに、取得した画素値を足し合わせる。次いで、システム制御部14は、基本色ごとの画素値の合計を、それぞれ分割領域(X1,Y1)(X2,Y2)に含まれる画素の総数で割る。この計算により得られた基本色ごとの画素値の平均が代表色値である。次いで、システム制御部14は、計算した代表色値を、新たな元画像IDと、インデックスX1、Y1、X2及びY2とに対応付けて元画像DB12bに登録する。
【0084】
次いで、システム制御部14は、インデックスX2に1を加算する(ステップS24)。次いで、システム制御部14は、インデックスX2が子横分割数未満であるか否かを判定する(ステップS25)。このとき、システム制御部14は、インデックスX2が子横分割数未満であると判定した場合には(ステップS25:YES)、ステップS22に移行する。一方、システム制御部14は、インデックスX2が子横分割数未満ではないと判定した場合には(ステップS25:NO)、インデックスY2に1を加算する(ステップS26)。次いで、システム制御部14は、インデックスY2が子縦分割数未満であるか否かを判定する(ステップS27)。このとき、システム制御部14は、インデックスY2が子縦分割数未満であると判定した場合には(ステップS27:YES)、ステップS21に移行する。システム制御部14は、ステップS21〜S27の処理を繰り返すことにより、基本領域(X1,Y1)の代表色値または基本領域(X1,Y1)に含まれる各子領域の代表色値の登録を行う。こうして、システム制御部14は、基本領域のエッジ度が分割パターン情報1に含まれる最低エッジ度以上である場合には、分割手段として基本領域を複数の子領域に分割する。
【0085】
そして、システム制御部14は、インデックスY2が子縦分割数未満ではないと判定した場合には(ステップS27:NO)、インデックスX1に1を加算する(ステップS28)。次いで、システム制御部14は、インデックスX1が基本横分割数未満であるか否かを判定する(ステップS29)。このとき、システム制御部14は、インデックスX1が基本横分割数未満であると判定した場合には(ステップS29:YES)、ステップS15に移行する。一方、システム制御部14は、インデックスX1が基本横分割数未満ではないと判定した場合には(ステップS29:NO)、インデックスY1に1を加算する(ステップS30)。次いで、システム制御部14は、インデックスY1が基本縦分割数未満であるか否かを判定する(ステップS31)。このとき、システム制御部14は、インデックスY1が基本縦分割数未満であると判定した場合には(ステップS31:YES)、ステップS14に移行する。システム制御部14は、ステップS14〜S31の処理を繰り返すことにより、全ての分割領域の代表色値の登録を行う。
【0086】
そして、システム制御部14は、インデックスY1が基本縦分割数未満ではないと判定した場合には(ステップS31:NO)、空のモザイク画像表示データを生成し、生成したモザイク画像表示データを、新たなモザイク画像IDに対応付けてモザイク画像DB12dに登録する(ステップS32)。空のモザイク画像表示データとは、投稿画像データのURLを含むimgタグが全く設定されていないモザイク画像表示データである。ここで、システム制御部14は、空のモザイク画像表示データ内に定義されるべきテーブルに含まれているセルのうち、子領域に分割されている基本領域に対応するセルについては、子横分割数及び子縦分割数に応じて更に複数のセルに分割されているように、モザイク画像表示データを生成する。
【0087】
次いで、システム制御部14は、画像投稿・モザイク画像表示ページ400のHTML文書を生成する(ステップS33)。画像投稿・モザイク画像表示ページ400は、画像を投稿するためのWebページであるとともに、モザイク画像が表示されるWebページでもある。システム制御部14は、生成したHTML文書を記憶部12に記憶させる。次いで、システム制御部14は、生成したHTML文書へのハイパーリンクを設定する(ステップS34)。例えば、システム制御部14は、モザイク画像提供システムSのWebサイトのトップページのHTML文書に、画像投稿・モザイク画像表示ページ400のHTML文書のURLを含むaタグを追加する。これにより、ユーザによる画像の投稿及びモザイク画像の閲覧が可能となる。システム制御部14は、ステップS34の処理を終えると、元画像登録処理を終了させる。
【0088】
図9は、本実施形態に係る画像投稿・モザイク画像表示ページ400の画面表示例を示す図である。図9に示すように、画像投稿・モザイク画像表示ページ400は、メッセージ部410、投稿画像送信部420、モザイク画像表示部430等を含む。メッセージ部410には、例えば、モザイク画像提供システムSに関連するサイトにおける商品やサービス等に関する告知等の情報が表示される。投稿画像送信部420には、画像を投稿するための各種ウィジット(操作要素)が表示される。例えば、投稿画像データのパス名を指定するための入力欄、ユーザ端末2に記憶されている画像データの中から投稿画像データを選択するためのダイアログを表示するための参照ボタン、投稿画像データを送信するための送信ボタン等が表示される。モザイク画像表示部430には、これまで投稿された画像により生成されたモザイク画像が表示される。図9においては、モザイク画像の一例としてモザイク画像300cが表示されている。モザイク画像300cは、図2(b)に示す分割領域のうち一部の分割領域に対して投稿画像が割り当てられることにより生成されたモザイク画像である。なお、元画像登録処理が完了した後、まだ画像が1つも投稿されていない場合には、モザイク画像表示部430にはモザイク画像は表示されない。
【0089】
また、モザイク画像表示部430に表示されたモザイク画像に含まれる何れかの投稿画像がユーザにより選択された場合には、例えば、選択された投稿画像が画像投稿・モザイク画像表示ページ400内に大きく表示されたり、選択された投稿画像を投稿したユーザに関する情報(例えば、ユーザのニックネームやプロフィール等)が画像投稿・モザイク画像表示ページ400内に表示されたりしても良い。投稿画像を投稿したユーザに関する情報を表示する場合、システム制御部14は、例えば、モザイク画像表示データにimgタグを設定する際、投稿画像を投稿したユーザのユーザIDをモザイク画像表示データに設定する。モザイク画像表示部430において、ユーザが何れかの投稿画像を選択すると、ユーザ端末2は、その投稿画像を投稿したユーザのユーザIDを含むリクエストをモザイク画像提供サーバ1へ送信する。システム制御部14は、受信したリクエストに含まれるユーザIDに対応する会員情報から必要な情報を取得してユーザ端末2へ送信する。そして、ユーザ端末2は、受信した情報を表示する。
【0090】
図10は、本実施形態に係るモザイク画像提供サーバ1のシステム制御部14の投稿画像受信時処理における処理例を示すフローチャートである。画像投稿・モザイク画像表示ページ400の投稿画像送信部420において、ユーザが投稿画像データを指定して送信ボタンを選択すると、ユーザ端末2は、投稿リクエストをモザイク画像提供サーバ1へ送信する。投稿リクエストは、指定された投稿画像データ、操作を行ったユーザのユーザID、生成対象のモザイク画像のモザイク画像IDを含む。投稿画像受信時処理は、モザイク画像提供サーバ1が取得手段として投稿リクエストを受信したときに開始される。
【0091】
システム制御部14は、ステップS51〜S56の処理により、決定手段として投稿画像を割り当てる分割領域を決定する。先ず、システム制御部14は、投稿リクエストに含まれる投稿画像データが示す投稿画像(以下、「処理対象投稿画像」という)の代表色値を計算する(ステップS51)。この計算方法は、元画像登録処理におけるステップS23の場合と同様である。
【0092】
ここで、システム制御部14は、例えばミューテックス等を利用した排他制御を行い、ステップS52以降の処理(クリティカルセッション)を実行することができる権限を取得した場合には、ロック操作を行う。これにより、システム制御部14は、複数のプロセスがクリティカルセッションを同時に実行することができないようにする。
【0093】
次いで、システム制御部14は、割り当て候補リストを初期化してRAM14cに設定する(ステップS52)。割り当て候補リストは、処理対象投稿画像を割り当て可能な条件を満たす分割領域(以下、「候補領域」という)のリストである。候補領域は、処理対象投稿画像との代表色値の差が閾値以下である分割領域をいう。割り当て候補リストには、候補領域のインデックスであるX1、Y1、X2及びY2と、処理対象投稿画像との代表色値の差の値とが対応付けて登録される。
【0094】
次いで、システム制御部14は、後述する候補領域検索処理を実行する(ステップS53)。候補領域検索処理では、未割り当て領域の中から候補領域が検索され、検索された候補領域が割り当て候補リストに登録される。
【0095】
次いで、システム制御部14は、候補領域を検索することができたか否かを判定する(ステップS54)。具体的に、システム制御部14は、割り当て候補リストに候補領域のインデックス及び差の値が一組以上登録されているか否かを判定する。このとき、システム制御部14は、割り当て候補リストに候補領域のインデックス及び差の値が登録されていない場合には、候補領域を検索することができなかったと判定する(ステップS54:NO)。この場合、システム制御部14は、投稿リクエストの送信元のユーザ端末2に、投稿拒否メッセージを送信する(ステップS55)。投稿拒否メッセージは、画像の投稿が拒否された旨を示すメッセージである。ユーザ端末2は、受信した投稿拒否メッセージを画面に表示する。システム制御部14は、ステップS55の処理を終えると、投稿画像受信時処理を終了させる。
【0096】
一方、システム制御部14は、割り当て候補リストに候補領域のインデックス及び差の値が一組以上登録されている場合には、候補領域を検索することができたと判定する(ステップS54:YES)。この場合、システム制御部14は、検索された候補領域のうち、処理対象投稿画像との代表色値の差が最も小さい候補領域を、処理対象投稿画像を割り当てる分割領域(以下、「割り当て対象領域」という)として決定する(ステップS56)。具体的に、システム制御部14は、割り当て候補リストに登録されている差の値の中から最も小さい値を検索する。そして、システム制御部14は、最も小さい差の値に対応付けられているインデックスX1、X2、Y1及びY2を、割り当て対象領域のインデックスとして割り当て候補リストから取得する。
【0097】
次いで、システム制御部14は、投稿リクエストに含まれるモザイク画像ID(以下、「対象モザイク画像ID」という)に対応付けて投稿画像DB12cに登録されている投稿数に1を加算して投稿数を更新する(ステップS57)。次いで、システム制御部14は、処理対象投稿画像の画像番号に、更新後の投稿数を設定する(ステップS58)。次いで、システム制御部14は、画像番号、投稿リクエストに含まれるユーザID及び投稿画像データ、並びに処理対象投稿画像の代表色値を含む投稿画像情報を、対象モザイク画像IDに対応付けて投稿画像DB12cに登録する(ステップS59)。
【0098】
次いで、システム制御部14は、対象モザイク画像IDに対応付けてモザイク画像DB12dに登録されている割り当て対象領域の割り当て画像番号を、処理対象投稿画像の画像番号に書き換える(ステップS60)。
【0099】
次いで、システム制御部14は、対象モザイク画像IDに対応付けてモザイク画像DB12dに登録されているモザイク画像表示データを更新する(ステップS61)。具体的に、システム制御部14は、モザイク画像表示データにおいて、割り当て対象領域のインデックスに対応するセルに、処理対象投稿画像の投稿画像データのURLを含むimgタグを設定する。
【0100】
次いで、システム制御部14は、更新後のモザイク画像表示データを含む画像投稿・モザイク画像表示ページ400のHTML文書を生成して、記憶部12に記憶させる(ステップS62)。次いで、システム制御部14は、生成したHTML文書を、投稿リクエストの送信元のユーザ端末2へ送信する(ステップS63)。ここで、システム制御部14は、アンロック操作を行うことにより、別のプロセスがクリティカルセッションを実行することができるようにする。システム制御部14は、ステップS63の処理を終えると、投稿画像受信時処理を終了させる。
【0101】
ユーザ端末2は、受信したHTML文書に基づいて、画像投稿・モザイク画像表示ページ400を画面に表示する。このとき、システム制御部14は、モザイク画像表示データに含まれるimgタグに基づいて、投稿画像データのURLを含むリクエストをモザイク画像提供サーバ1へ送信する。システム制御部14は、受信したリクエストに含まれるURLからモザイク画像ID及び画像番号を取得する。次いで、システム制御部14は、取得したモザイク画像ID及び画像番号に対応する投稿画像データを、投稿画像DB12cから取得する。次いで、システム制御部14は、取得した投稿画像データをユーザ端末2へ送信する。ユーザ端末2は、取得した投稿画像データに基づいて、画像投稿・モザイク画像表示ページ400のモザイク画像表示部430内に投稿画像を表示する。これにより、例えば図9に示すようなモザイク画像が表示される。こうして、システム制御部14は、モザイク画像表示データを送信することにより、提示手段として、モザイク画像をユーザ端末2によりユーザに提示させる。
【0102】
図11は、本実施形態に係るモザイク画像提供サーバ1のシステム制御部14の候補領域検索処理における処理例を示すフローチャートである。
【0103】
先ず、システム制御部14は、対象モザイク画像IDに対応する元画像ID(以下、「対象元画像ID」という)をモザイク画像DB12dから取得する。次いで、システム制御部14は、対象元画像IDに対応する基本分割数情報を、元画像DB12bから取得する(ステップS101)。
【0104】
次いで、システム制御部14は、基本領域のインデックスY1に0を設定する(ステップS102)。次いで、システム制御部14は、基本領域のインデックスX1に0を設定する(ステップS103)。次いで、システム制御部14は、対象元画像IDに対応付けて元画像DB12bに登録されている基本領域情報(X1,Y1)から、子分割数情報を取得する(ステップS104)。次いで、システム制御部14は、子領域のインデックスY2に0を設定する(ステップS105)。次いで、システム制御部14は、子領域のインデックスX2に0を設定する(ステップS106)。
【0105】
次いで、システム制御部14は、分割領域(X1,Y1)(X2,Y2)は未割り当て領域であるか否かを判定する(ステップS107)。具体的に、システム制御部14は、対象モザイク画像IDに対応付けてモザイク画像DB12dに登録されている割り当て画像番号(X1,Y1)(X2,Y2)が未割り当て領域を示す番号であるか否かを判定する。
【0106】
このとき、システム制御部14は、割り当て画像番号(X1,Y1)(X2,Y2)が未割り当て領域を示す番号である場合には、分割領域(X1,Y1)(X2,Y2)は未割り当て領域であると判定する(ステップS107:YES)。この場合、システム制御部14は、分割領域(X1,Y1)(X2,Y2)の代表色値と、処理対象投稿画像の代表色値との差を計算する(ステップS108)。具体的に、システム制御部14は、対象元画像IDに対応付けて元画像DB12bに登録されている代表色値(X1,Y1)(X2,Y2)を取得する。次いで、システム制御部14は、以下の式3により差を計算する。
【0107】
【数3】
式3において、Diffは差である。R1、G1及びB1は、分割領域(X1,Y1)(X2,Y2)のR、G及びBの代表色値である。R2、G2及びB2は、処理対象投稿画像のR、G及びBの代表色値である。なお、システム制御部14は、基本色ごとに計算した差の二乗をそれぞれ計算して、その計算結果を足しあわせる代わりに、基本色ごとに計算した差の絶対値をとって、その絶対値を足し合わせても良い。
【0108】
次いで、システム制御部14は、計算した差の値が閾値以下であるか否かを判定する(ステップS109)。このとき、システム制御部14は、差の値が閾値以下であると判定した場合には(ステップS109:YES)、分割領域(X1,Y1)(X2,Y2)を候補領域として決定する(ステップS110)。具体的に、システム制御部14は、インデックスX1、Y1、X2及びY2と、計算した差の値とを対応付けて割り当て候補リストに登録する。そして、システム制御部14は、ステップS111に移行する。
【0109】
ステップS107において、システム制御部14は、割り当て画像番号(X1,Y1)(X2,Y2)が未割り当て領域を示す番号ではない場合には、分割領域(X1,Y1)(X2,Y2)は未割り当て領域ではないと判定する(ステップS107:NO)。この場合、システム制御部14は、ステップS111に移行する。また、ステップS109において、システム制御部14は、差の値が閾値以下ではないと判定した場合も(ステップS109:NO)、ステップS111に移行する。
【0110】
ステップS111において、システム制御部14は、インデックスX2に1を加算する。次いで、システム制御部14は、インデックスX2が、取得した子分割数情報に含まれる子横分割数未満であるか否かを判定する(ステップS112)。このとき、システム制御部14は、インデックスX2が子横分割数未満であると判定した場合には(ステップS112:YES)、ステップS107に移行する。一方、システム制御部14は、インデックスX2が子横分割数未満ではないと判定した場合には(ステップS112:NO)、インデックスY2に1を加算する(ステップS113)。次いで、システム制御部14は、インデックスY2が、取得した子分割数情報に含まれる子縦分割数未満であるか否かを判定する(ステップS114)。このとき、システム制御部14は、インデックスY2が子縦分割数未満であると判定した場合には(ステップS114:YES)、ステップS106に移行する。システム制御部14は、ステップS106〜S114の処理を繰り返すことにより、基本領域(X1,Y1)または基本領域(X1,Y1)に含まれる各子領域の中から、候補領域を検索する。
【0111】
そして、システム制御部14は、インデックスY2が子縦分割数未満ではないと判定した場合には(ステップS114:NO)、インデックスX1に1を加算する(ステップS115)。次いで、システム制御部14は、インデックスX1が、取得した基本分割数情報に含まれる基本横分割数未満であるか否かを判定する(ステップS116)。このとき、システム制御部14は、インデックスX1が基本横分割数未満であると判定した場合には(ステップS116:YES)、ステップS104に移行する。一方、システム制御部14は、インデックスX1が基本横分割数未満ではないと判定した場合には(ステップS116:NO)、インデックスY1に1を加算する(ステップS117)。次いで、システム制御部14は、インデックスY1が、取得した基本分割数情報に含まれる基本縦分割数未満であるか否かを判定する(ステップS118)。このとき、システム制御部14は、インデックスY1が基本縦分割数未満であると判定した場合には(ステップS118:YES)、ステップS103に移行する。システム制御部14は、ステップS103〜S118の処理を繰り返すことにより、全ての未割り当ての中から、候補領域を検索する。
【0112】
そして、システム制御部14は、インデックスY1が基本縦分割数未満ではないと判定した場合には(ステップS118:NO)、候補領域検索処理を終了させる。
【0113】
以上説明したように、本実施形態によれば、モザイク画像提供サーバ1のシステム制御部14が、複数の基本領域の中から画像のエッジを含む領域を特定し、特定された基本領域を更に複数の子領域に分割し、ユーザにより指定された投稿画像を取得し、子領域に分割されていない基本領域と、分割によって作られた子領域と、の中から、取得された投稿画像を割り当てる領域を決定し、決定された割り当てに基づいて、取得された投稿画像が配置されたモザイク画像をユーザへ提示する。
【0114】
従って、複数の基本領域のうち元画像の視認性の向上に資するエッジを含む基本領域がより小さい子領域に分割されるので、モザイク画像の完成に必要な分割領域の数を抑えつつ、元画像の絵柄の視認性が高いモザイク画像を提供することができる。
【0115】
また、システム制御部14が、基本領域の画像に含まれるエッジの度合いを示すエッジ度を計算し、当該エッジ度が予め設定された閾値以上である領域を、エッジを含む基本領域として特定する。
【0116】
従って、予め設定される値により、エッジを含むとする領域を決めることができる。
【0117】
また、システム制御部14が、計算されたエッジ度が高い基本領域ほど分割数が多くなるように、特定された基本領域を分割することを特徴とする。
【0118】
従って、エッジを含む基本領域であっても元画像の視認性への影響の度合い応じて分割数が変わるので、元画像の分割数を抑えつつ、元画像の絵柄の視認性がより高いモザイク画像を提供することができる。
【0119】
なお、上記実施形態の候補領域検索処理におけるステップS108において、モザイク画像提供サーバ1は、投稿画像が割り当てられていない全ての分割領域について、投稿画像との代表色値の差を計算していた。しかしながら、分割領域を予め代表色値に基づいて並べ替えておくことにより、計算を行う分割領域の個数を減らし、計算時間を短くすることができる。例えば、システム制御部14は、Rの代表色値が小さい順に分割領域を示すリスト、Gの代表色値が小さい順に分割領域を示すリスト、Bの代表色値が小さい順に分割領域を示すリストを生成する。システム制御部14は、投稿画像データを受信して投稿画像の代表値を計算したとき、投稿画像の代表値との差が閾値以下となる代表値の最小値及び最大値を、R、G、Bそれぞれについて計算する。このときの閾値は、式3で差を計算した場合に用いられる閾値とは異なっていても良い。次いで、システム制御部14は、例えば、二分探索法等により、代表値が、投稿画像の代表値との差が閾値以下となる分割領域の範囲を、生成したリストを用いて特定する。システム制御部14は、これを、R、G、Bについて実行する。そして、システム制御部14は、R、G、Bの全てにおいて、投稿画像との代表値の差が閾値以下になっている分割領域を、候補領域とする。
【0120】
また、上記実施形態において、モザイク画像提供サーバ1は、投稿画像を割り当てる候補領域を、未割り当て領域の中から決定していた。しかしながら、モザイク画像提供サーバ1は、既に投稿画像が割り当てられているか否かにかかわらず、投稿画像を割り当てる候補領域を決定しても良い。例えば、モザイク画像提供サーバ1は、分割領域に既に割り当てられている投稿画像の色よりもこれから割り当てようとする処理対象投稿画像の色の方がその分割領域の色に近い場合、処理対象投稿画像をその分割領域に割り当てるとともに、その分割領域に割り当てられていた投稿画像を未割り当て領域に割り当てても良い。
【0121】
また、上記実施形態において、モザイク画像提供サーバ1は、投稿画像との代表色値の差が最も小さい分割領域を割り当て対象領域に決定していたが、例えば、投稿画像との代表色値の差が閾値以下になる分割領域の中から任意の分割領域を割り当て対象領域に決定しても良い。
【0122】
また、上記実施形態において、モザイク画像提供サーバ1は、各投稿画像をそれぞれ1つの分割領域に割り当てていたが、例えば、複数の領域に割り当てても良い。例えば、モザイク画像提供サーバ1は、投稿画像との代表色値の差が閾値以下になる分割領域の中から複数の領域に同一の投稿画像を割り当てても良い。
【0123】
また、上記実施形態において、モザイク画像提供サーバ1は、投稿画像の代表色値と分割領域の代表色値とに基づいて、割り当て対象領域を決定していたが、例えば、投稿画像の模様と、分割領域に含まれる模様とに基づいて、割り当て対象領域を決定しても良い。例えば、モザイク画像提供サーバ1は、投稿画像の模様と分割領域に含まれる模様との一致性を示す一致度を計算し、一致度が予め設定された閾値以上となる分割領域の中から割り当て対象領域を決定しても良い。また例えば、モザイク画像提供サーバ1は、投稿画像と分割領域のとの間で、模様及び色彩を含めて画像そのものの一致度を計算し、一致度が予め設定された閾値以上となる分割領域の中から割り当て対象領域を決定しても良い。
【0124】
また、上記実施形態において、モザイク画像提供サーバ1は、モザイク画像をユーザ端末2に表示させるためにモザイク画像表示データを含むHTML文書をユーザ端末2に送信していた。しかしながら、モザイク画像提供サーバ1は、モザイク画像の画像データそのものをユーザ端末2に送信しても良い。この場合、モザイク画像提供サーバ1は、例えば、これまでに取得して投稿画像DB12cに登録しておいた投稿画像データと、モザイク画像DB12dに登録されている割り当て画像番号とに基づいて、割り当てられた領域の位置に各投稿画像が配置されたモザイク画像の画像データを生成する。
【0125】
また、上記実施形態において、モザイク画像提供サーバ1は、一つのモザイク画像の表示データの生成に、複数のユーザから投稿された画像を用いることができるようにしていた。しかしながら、モザイク画像提供サーバ1は、例えば、1人のユーザから投稿された画像のみを用いてモザイク画像の表示データを生成しても良い。
【0126】
また、上記実施形態においては、モザイク画像提供サーバ1に特定手段、分割手段、取得手段、決定手段及び提示手段を備えさせ、モザイク画像提供サーバ1が表示データをユーザ端末2に送信することにより、ユーザ端末2によりモザイク画像を提示させていた。しかしながら、例えば、ユーザ端末2等の装置に、特定手段、分割手段、取得手段、決定手段及び提示手段を備えさせ、ユーザ端末2等の装置が、スタンドアローンで、エッジ度の計算、基本領域の分割、投稿画像の割り当て、モザイク画像の生成、モザイク画像の表示等を行っても良い。
【符号の説明】
【0127】
1 モザイク画像提供サーバ
2 ユーザ端末
11 通信部
12 記憶部
12a 会員情報DB
12b 元画像DB
12c 投稿画像DB
12d モザイク画像DB
13 入出力インターフェース
14 システム制御部
14a CPU
14b ROM
14c RAM
15 システムバス
NW ネットワーク
S モザイク画像提供システム
【特許請求の範囲】
【請求項1】
複数の領域に分割された元画像のモザイク画像を提供する画像提供装置であって、
前記複数の領域の中から画像のエッジを含む領域を特定する特定手段と、
前記特定された領域を更に複数の領域に分割する分割手段と、
ユーザにより指定された画像を取得する取得手段と、
前記複数の領域のうち前記分割手段により分割されていない領域と、前記分割手段による分割によって作られた領域と、の中から、前記取得された画像を割り当てる領域を決定する決定手段と、
前記決定手段により決定された割り当てに基づいて、前記取得された画像が配置されたモザイク画像をユーザへ提示する提示手段と、
を備えることを特徴とする画像提供装置。
【請求項2】
請求項1に記載の画像提供装置において、
前記特定手段は、前記領域の画像に含まれるエッジの度合いを示すエッジ度を計算し、当該エッジ度が予め設定された値以上である前記領域を、エッジを含む領域として特定することを特徴とする画像提供装置。
【請求項3】
請求項2に記載の画像提供装置において、
前記分割手段は、前記計算されたエッジ度が高い領域ほど分割数が多くなるように前記特定された領域を分割することを特徴とする画像提供装置。
【請求項4】
複数の領域に分割された元画像のモザイク画像を提供する画像提供装置における画像処理方法であって、
前記複数の領域の中から画像のエッジを含む領域を特定する特定ステップと、
前記特定された領域を更に複数の領域に分割する分割ステップと、
ユーザにより指定された画像を取得する取得ステップと、
前記複数の領域のうち前記分割ステップにおいて分割されていない領域と、前記分割ステップによる分割によって作られた領域と、の中から、前記取得された画像を割り当てる領域を決定する決定ステップと、
前記決定ステップにおいて決定された割り当てに基づいて、前記取得された画像が配置されたモザイク画像をユーザへ提示する提示ステップと、
を含むことを特徴とする画像処理方法。
【請求項5】
複数の領域に分割された元画像のモザイク画像を提供する画像提供装置に含まれるコンピュータを、
前記複数の領域の中から画像のエッジを含む領域を特定する特定手段、
前記特定された領域を更に複数の領域に分割する分割手段、
ユーザにより指定された画像を取得する取得手段、
前記複数の領域のうち前記分割手段により分割されていない領域と、前記分割手段による分割によって作られた領域と、の中から、前記取得された画像を割り当てる領域を決定する決定手段、及び、
前記決定手段により決定された割り当てに基づいて、前記取得された画像が配置されたモザイク画像をユーザへ提示する提示手段、
として機能させることを特徴とする画像処理プログラム。
【請求項6】
複数の領域に分割された元画像のモザイク画像を提供する画像提供装置に含まれるコンピュータを、
前記複数の領域の中から画像のエッジを含む領域を特定する特定手段、
前記特定された領域を更に複数の領域に分割する分割手段、
ユーザにより指定された画像を取得する取得手段、
前記複数の領域のうち前記分割手段により分割されていない領域と、前記分割手段による分割によって作られた領域と、の中から、前記取得された画像を割り当てる領域を決定する決定手段、及び、
前記決定手段により決定された割り当てに基づいて、前記取得された画像が配置されたモザイク画像をユーザへ提示する提示手段、
として機能させる画像処理プログラムがコンピュータ読み取り可能に記録されていることを特徴とする記録媒体。
【請求項1】
複数の領域に分割された元画像のモザイク画像を提供する画像提供装置であって、
前記複数の領域の中から画像のエッジを含む領域を特定する特定手段と、
前記特定された領域を更に複数の領域に分割する分割手段と、
ユーザにより指定された画像を取得する取得手段と、
前記複数の領域のうち前記分割手段により分割されていない領域と、前記分割手段による分割によって作られた領域と、の中から、前記取得された画像を割り当てる領域を決定する決定手段と、
前記決定手段により決定された割り当てに基づいて、前記取得された画像が配置されたモザイク画像をユーザへ提示する提示手段と、
を備えることを特徴とする画像提供装置。
【請求項2】
請求項1に記載の画像提供装置において、
前記特定手段は、前記領域の画像に含まれるエッジの度合いを示すエッジ度を計算し、当該エッジ度が予め設定された値以上である前記領域を、エッジを含む領域として特定することを特徴とする画像提供装置。
【請求項3】
請求項2に記載の画像提供装置において、
前記分割手段は、前記計算されたエッジ度が高い領域ほど分割数が多くなるように前記特定された領域を分割することを特徴とする画像提供装置。
【請求項4】
複数の領域に分割された元画像のモザイク画像を提供する画像提供装置における画像処理方法であって、
前記複数の領域の中から画像のエッジを含む領域を特定する特定ステップと、
前記特定された領域を更に複数の領域に分割する分割ステップと、
ユーザにより指定された画像を取得する取得ステップと、
前記複数の領域のうち前記分割ステップにおいて分割されていない領域と、前記分割ステップによる分割によって作られた領域と、の中から、前記取得された画像を割り当てる領域を決定する決定ステップと、
前記決定ステップにおいて決定された割り当てに基づいて、前記取得された画像が配置されたモザイク画像をユーザへ提示する提示ステップと、
を含むことを特徴とする画像処理方法。
【請求項5】
複数の領域に分割された元画像のモザイク画像を提供する画像提供装置に含まれるコンピュータを、
前記複数の領域の中から画像のエッジを含む領域を特定する特定手段、
前記特定された領域を更に複数の領域に分割する分割手段、
ユーザにより指定された画像を取得する取得手段、
前記複数の領域のうち前記分割手段により分割されていない領域と、前記分割手段による分割によって作られた領域と、の中から、前記取得された画像を割り当てる領域を決定する決定手段、及び、
前記決定手段により決定された割り当てに基づいて、前記取得された画像が配置されたモザイク画像をユーザへ提示する提示手段、
として機能させることを特徴とする画像処理プログラム。
【請求項6】
複数の領域に分割された元画像のモザイク画像を提供する画像提供装置に含まれるコンピュータを、
前記複数の領域の中から画像のエッジを含む領域を特定する特定手段、
前記特定された領域を更に複数の領域に分割する分割手段、
ユーザにより指定された画像を取得する取得手段、
前記複数の領域のうち前記分割手段により分割されていない領域と、前記分割手段による分割によって作られた領域と、の中から、前記取得された画像を割り当てる領域を決定する決定手段、及び、
前記決定手段により決定された割り当てに基づいて、前記取得された画像が配置されたモザイク画像をユーザへ提示する提示手段、
として機能させる画像処理プログラムがコンピュータ読み取り可能に記録されていることを特徴とする記録媒体。
【図1】
【図2】
【図4】
【図5】
【図6】
【図7】
【図8】
【図10】
【図11】
【図3】
【図9】
【図2】
【図4】
【図5】
【図6】
【図7】
【図8】
【図10】
【図11】
【図3】
【図9】
【公開番号】特開2013−9146(P2013−9146A)
【公開日】平成25年1月10日(2013.1.10)
【国際特許分類】
【出願番号】特願2011−140290(P2011−140290)
【出願日】平成23年6月24日(2011.6.24)
【出願人】(399037405)楽天株式会社 (416)
【Fターム(参考)】
【公開日】平成25年1月10日(2013.1.10)
【国際特許分類】
【出願日】平成23年6月24日(2011.6.24)
【出願人】(399037405)楽天株式会社 (416)
【Fターム(参考)】
[ Back to top ]