JP5844962B2 - 画像処理プログラム、画像処理装置、画像処理方法および画像処理システム - Google Patents

画像処理プログラム、画像処理装置、画像処理方法および画像処理システム Download PDF

Info

Publication number
JP5844962B2
JP5844962B2 JP2010052530A JP2010052530A JP5844962B2 JP 5844962 B2 JP5844962 B2 JP 5844962B2 JP 2010052530 A JP2010052530 A JP 2010052530A JP 2010052530 A JP2010052530 A JP 2010052530A JP 5844962 B2 JP5844962 B2 JP 5844962B2
Authority
JP
Japan
Prior art keywords
image
distance
probability
image processing
predetermined
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010052530A
Other languages
English (en)
Other versions
JP2011186869A (ja
Inventor
大二 今井
大二 今井
奥村 淳史
淳史 奥村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2010052530A priority Critical patent/JP5844962B2/ja
Priority to US12/816,705 priority patent/US8401237B2/en
Publication of JP2011186869A publication Critical patent/JP2011186869A/ja
Application granted granted Critical
Publication of JP5844962B2 publication Critical patent/JP5844962B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Processing (AREA)

Description

この発明は、画像処理プログラム、画像処理装置、画像処理方法および画像処理システムに関し、特にたとえば、画像の編集を行うための、画像処理プログラム、画像処理装置、画像処理方法および画像処理システムに関する。
従来、画像の編集において、画像上の任意の位置に所定のオブジェクトを配置するものや、画像の特に中心部を囲うように飾り枠(フレーム)を付加するものが存在する。
非特許文献1では、タッチペンでタッチした箇所へスタンプを押すように飾りを配置する「スタンプ」機能や、画像の中心部にある被写体等を際立たせるために、画像の中心部を囲うように飾り枠を付加する「フレーム」機能を用いることができるプログラムについて開示されている。
非特許文献2では、輝きを演出するための光(ハイライト効果)を配置する「逆光フィルタ」について開示されている。ハイライトの位置は、ユーザの指定によって調整することができる。
任天堂株式会社、"いつでもプリクラ☆キラデコプレミアム:こんなプリが撮影できます!"、[online]、[平成22年2月3日検索]、インターネット<URL:http://www.nintendo.co.jp/ds/dsiware/khdj/film/index.html> アドビシステムズ、"Adobe Photoshop Elements"、"「逆光」フィルタで写真を演出しよう"、[online]、[平成22年2月3日検索]、インターネット<URL:http://www.adobe.com/jp/digitalimag/consumer/portal/tips/04/stepupTip.html>
しかし、非特許文献1に開示される「スタンプ」機能は、ユーザが指定した位置にオブジェクトを配置するものであるため、オブジェクトの配置位置を指定する手間がかかってしまう。また、「フレーム」機能は、あらかじめ定義された飾り枠を元画像に重ねるものであるため、飾り枠が変化に富むようなことがなく、単調になりがちである。また、特許文献2に開示された「逆光フィルタ」も、ユーザが指定した位置にエフェクトを加えるものなので、位置を逐一指定する手間がかかってしまう。
それゆえに、この発明の主たる目的は、新規な、画像処理プログラム、画像処理装置、画像処理方法および画像処理システムを提供することである。
本発明の他の目的は、ユーザが自ら指定する必要なく画像に所定の描画を行うことを可能にする、画像処理プログラム、画像処理装置、画像処理方法および画像処理システムを提供することである。
本発明のその他の目的は、毎回変化に富み、かつ画像の被写体等を際立たせることができる態様で描画を行うことを可能にする、画像処理プログラム、画像処理装置、画像処理方法および画像処理システムを提供することである。
この発明は、上記の課題を解決するために、以下の構成を採用した。
第1の発明は、画像処理装置のコンピュータを、画像の所定位置から画像上の各位置までの距離を算出する距離算出手段、各位置について、当該位置が所定の描画を行う描画対象位置となる確率を距離算出手段によって算出された距離に応じて設定する確率設定手段、各位置について、確率設定手段によって設定された確率に従って、当該位置が所定の描画を行う描画対象位置となるか否かを判別する描画対象位置判別手段、および描画対象位置判別手段によって描画対象位置となると判別された各位置に所定の描画を行う描画手段として機能させ、確率設定手段は、画像の所定位置から一定距離以内の各位置に設定された確率を減少させる、画像処理プログラムである。
第1の発明では、画像の所定位置から画像上の各位置までの距離が、距離算出手段によって算出される。確率設定手段は、各位置について、当該位置が所定の描画を行う描画対象位置となる確率を距離算出手段によって算出された距離に応じて設定する。描画対象位置判別手段は、各位置について、確率設定手段によって設定された確率に従って、当該位置が所定の描画を行う描画対象位置となるか否かを判別する。そして描画手段は、描画対象位置判別手段によって描画対象位置となると判別された各位置に所定の描画を行う。また、確率設定手段は、画像の所定位置から一定距離以内の各位置に設定された確率を減少させる。
ここで、画像の所定位置は、典型的には画像の中心(C)であるが、画像内の任意の位置でよい。場合によっては、画像の外部に所定位置を定義することも可能である。また、画像上の各位置は、たとえば複数の画素からなる区画ないし画素を単位とする位置である。また、所定の描画は、たとえばオブジェクトの描画および/またはエフェクトの描画を含む。なお、エフェクトを描画するとは、画像にエフェクト(特殊効果:たとえば、ぼかし,シャープネス,グラデーション,色彩,逆光フィルタ効果など)を付加することをいい、たとえばフィルタ演算などの計算によって画素値を変化させることで実現される。また、距離は、実施例の(式2)で定義されるような距離dそれ自体とは限らず、実施例の(式1)で定義されるような距離に関するパラメータDなどでもよい。
第1の発明によれば、所定位置からの距離に応じて描画を行う確率を変化させるので、ユーザの指示に基づくことなく、確率による変化に富んだ描画を行うことができる。
第2の発明は、第1の発明に従属する画像処理プログラムであって、所定位置は、画像の中心位置であり、確率設定手段は、距離算出手段によって算出された距離が大きいほど、高い確率を設定する。
第2の発明によれば、画像の中央にある被写体からの距離に応じて、異なる確率で描画を行うことができ、かつ、ユーザの指示に基づくことなく、変化に富んだ描画(たとえば複数のオブジェクトからなる飾り枠)で被写体を際立たせることができる。
なお、ここでは、被写体が画像の中央に位置することを前提としているが、被写体が中央とは異なる位置(たとえば画像の左上隅)にある場合には、その位置を所定位置とすればよい。また、所定位置は、固定された位置とは限らず、必要に応じて移動させてもよい。たとえば、この発明に顔検出機能を組み合わせれば、所定位置を検出された顔の位置に追従させることで、事前に人の立ち位置(写真の構図)を決めておく必要がなくなる。
第3の発明は、第1の発明に従属する画像処理プログラムであって、画像は2以上の画素からなる複数の区画から構成され、距離算出手段は画像の所定位置から画像上の各区画までの距離を算出し、確率設定手段は、各区画について、距離算出手段によって算出された当該区画までの距離に応じた確率を設定し、描画対象位置判別手段は、各区画について、確率設定手段によって設定された確率に従って、当該区画が所定の描画を行う描画対象区画となるか否かを判別し、描画手段は、描画対象位置判別手段によって描画対象位置となると判別された各描画対象区画について1回の所定の描画を行う。
第3の発明によれば、複数の画素からなる区画につき1回以下の描画が行われるので、区画内に複数の描画が行われてしまうことがなくなる。したがって、過剰に近接して描画が行われなくなるので、見栄えが良い画像が得られる。
第4の発明は、第1の発明に従属する画像処理プログラムであって、画像処理装置のコンピュータを、各位置に描画を行うオブジェクトを、種類が異なる複数のオブジェクトから選択するオブジェクト選択手段、およびオブジェクト選択手段によって選択されたオブジェクトの種類に応じて、確率設定手段によって設定された確率を補正する確率補正手段としてさらに機能させ、描画対象位置判別手段は、各位置について、確率補正手段によって補正された確率に従って、当該位置が所定の描画を行う描画対象位置となるか否かを判別する。
第4の発明では、種類が異なる複数のオブジェクトから、各位置に描画を行うオブジェクトがオブジェクト選択手段によって選択される。確率補正手段は、こうして選択されたオブジェクトの種類に応じて、確率設定手段によって設定された確率を補正する。描画対象位置判別手段は、各位置について、確率補正手段によって補正された確率に従って、当該位置が所定の描画を行う描画対象位置となるか否かを判別する。
第4の発明によれば、オブジェクトの種類によって確率を補正するので、同じ距離であっても大きいオブジェクトと小さいオブジェクトなど種類の異なるオブジェクトの間で密集の度合いを変化させることができる。
第5の発明は、第1の発明に従属する画像処理プログラムであって、画像処理装置のコンピュータを、距離算出手段によって算出された距離に応じた加色値を算出する加色値算出手段、および加色値算出手段によって算出された加色値を各位置の少なくとも1つの色成分に対して加算する加色値加算手段としてさらに機能させる。
第5の発明では、距離算出手段によって算出された距離に応じた加色値(A)が、加色値算出手段によって算出される。加色値加算手段は、こうして算出された加色値を、各位置の少なくとも1つの色成分に対して加算する。たとえば、B成分にこれを加算すれば、距離に応じて青色が付加ないし強調される。また、R成分およびG成分の各々にこれを加算すれば、黄色みを帯びさせることができる。
第5の発明によれば、所定位置からの距離に応じて加色することで、所定位置にある被写体をさらに際立たせることができる。
第6の発明は、第5の発明に従属する画像処理プログラムであって、加色値算出手段は、距離算出手段によって算出された距離が大きいほど加色値を増大させる。
第6の発明によれば、描画は、所定位置(たとえば画像の中央)の近くでは少なく、遠く離れるほど多くなり、加色もまた、所定位置では弱く、遠く離れるほど強くなるので、描画と加色とが相まって、所定位置の被写体をより一層際立たせることができる。
第7の発明は、第1の発明に従属する画像処理プログラムであって、画像処理装置のコンピュータを、描画手段によって所定の描画が行われた後の画像を出力する出力手段、および実行指示が行われる度に、所定の描画が行われる前の画像に対して距離算出手段ないし出力手段による一連の画像処理を実行させる実行制御手段としてさらに機能させる。
第7の発明では、描画手段によって所定の描画が行われた後の画像が、出力手段によって出力される。実行制御手段は、実行指示が行われる度に、所定の描画が行われる前の画像に対して距離算出手段ないし出力手段による一連の画像処理を実行させる。なお、出力手段による画像の出力先は、ある実施例では画像処理装置に備わるディスプレイ(表示手段)であるが、外部のディスプレイ(表示装置)でもよい。さらには、画像を直ちに表示する必要もないので、画像処理装置に備わるメモリ(記憶手段)や、外部のメモリ(記憶装置)に出力してもよい。
つまり、所定の描画は、確率に基づくので、対象が同じ画像であっても毎回変化する。そこで、所定の描画が行われた後の画像を出力し、さらなる実行指示を受け付けるようにしている。
第7の発明によれば、ユーザは、所定の描画が行われた後の画像を確認して、気に入らなければ、同じ画像に対して何度でも描画を試みることができる。
第8の発明は、第7の発明に従属する画像処理プログラムであって、画像処理装置のコンピュータを、所定の描画が行われた後の画像が出力されている状態で保存指示が行われたとき、所定の描画が行われた後の画像を保存する保存手段としてさらに機能させる。
第8の発明では、所定の描画が行われた後の画像が表示(出力)されている状態で保存指示が行われると、保存手段によってその所定の描画が行われた後の画像が保存される。
第8の発明によれば、描画後の画像が気に入ればこれを保存することができる。
第9の発明は、第3の発明に従属する画像処理プログラムであって、距離算出手段は画像の所定位置から画像の各画素(P)までの距離をさらに算出し、画像処理装置のコンピュータを、距離算出手段によって算出された各画素までの距離に応じた加色値(A)を算出する加色値算出手段(S47)、および加色値算出手段によって算出された加色値を各画素の少なくとも1つの色成分に対して加算する加色値加算手段(S49)としてさらに機能させる。
第9の発明では、描画は区画単位で、加色は画素単位で行われる。
第9の発明によれば、描画は区画単位で行われるので、過剰に近接して描画が行われることがなくなる。また、加色は画素単位で行われるので、色の変化を滑らかにすることができる。したがって、見栄えが良い画像が得られる。
第10の発明は、第1の発明に従属する画像処理プログラムであって、画像処理装置は、撮像手段をさらに備え、画像処理プログラムは、画像処理装置のコンピュータを、撮像手段によって撮像された画像を読み込む画像読込手段としてさらに機能させ、距離算出手段は、画像読込手段によって読み込まれた画像の所定位置から、当該画像上の各位置までの距離を算出する。
第10の発明によれば、写真を撮影して描画を行うことができる。
第11の発明は、画像の所定位置から画像上の各位置までの距離を算出する距離算出手段、各位置について、当該位置が所定の描画を行う描画対象位置となる確率を距離算出手段によって算出された距離に応じて設定する確率設定手段、各位置について、確率設定手段によって設定された確率に従って、当該位置が所定の描画を行う描画対象位置となるか否かを判別する描画対象位置判別手段、および描画対象位置判別手段によって描画対象位置となると判別された各位置に所定の描画を行う描画手段を備え、確率設定手段は、画像の所定位置から一定距離以内の各位置に設定された確率を減少させる、画像処理装置である。
第12の発明は、画像の所定位置から画像上の各位置までの距離を算出する距離算出手段、各位置について、当該位置が所定の描画を行う描画対象位置となる確率を距離算出手段によって算出された距離に応じて設定する確率設定手段、各位置について、確率設定手段によって設定された確率に従って、当該位置が所定の描画を行う描画対象位置となるか否かを判別する描画対象位置判別手段、および描画対象位置判別手段によって描画対象位置となると判別された各位置に所定の描画を行う描画手段を備え、確率設定手段は、画像の所定位置から一定距離以内の各位置に設定された確率を減少させる、画像処理システムである。
なお、画像処理システムは、たとえば、複数の画像処理装置で構成されてよく、1または複数の画像処理装置とサーバなど他の機器とで構成されてもよい。画像処理システムの各手段は、このような構成要素に分散して備えられてもよい。
第13の発明は、画像の所定位置から画像上の各位置までの距離を算出する距離算出ステップ、各位置について、当該位置が所定の描画を行う描画対象位置となる確率を距離算出ステップによって算出された距離に応じて設定する確率設定ステップ、各位置について、確率設定ステップによって設定された確率に従って、当該位置が所定の描画を行う描画対象位置となるか否かを判別する描画対象位置判別ステップ、および描画対象位置判別ステップによって描画対象位置となると判別された各位置に所定の描画を行う描画ステップを備え、確率設定ステップは、画像の所定位置から一定距離以内の各位置に設定された確率を減少させる、画像処理方法である。
第11〜第13の各発明によっても、第1の発明と同様に、ユーザの指示に基づくことなく、確率による変化に富んだ描画を行うことができる。
この発明によれば、ユーザが自ら指定する必要なく画像に所定の描画を行うことを可能にする、画像処理プログラム、画像処理装置、画像処理方法および画像処理システムが実現される。
また、毎回変化に富み、かつ画像の被写体等を際立たせることができる態様で描画を行うことを可能にする、画像処理プログラム、画像処理装置、画像処理方法および画像処理システムが実現される。
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
この発明の一実施例であるゲーム装置の外観図であり、開状態における正面を示す。 ゲーム装置の外観図であり、開状態における側面を示す。 ゲーム装置の外観図であり、(A)は閉状態における一方側面を、(B)は閉状態における上面を、(C)は閉状態における他方側面を、そして(D)は閉状態における下面をそれぞれ示す。 ゲーム装置がユーザによって把持された様子を示す図解図である。 ゲーム装置の電気的構成の一例を示すブロック図である。 原画像と区画との関係を説明するための図解図であり、(A)が原画像を示し、(B)が原画像を分割して得られる複数の区画を示す。 区画の原画像中心からの距離dと、画素の原画像中心からの距離に関するパラメータDと、確率の境界線B1,B2とを示す図解図である。 確率の設定および補正にあたって参照されるテーブルを示す図解図であり、(A)が確率テーブルを示し、(B)が倍率テーブルを示す。 画像処理に利用されるデータの構造を示す図解図であり、(A)が注目画素データを示し、(B)が注目区画データを示す。 画像処理(加色および描画)後の画像の例を示す図解図であり、(A)および(B)の対比によって確率に基づくオブジェクト配置の偶然性が示される。 図10との比較によって画像処理の特徴を明らかにするための図解図であり、(A)が距離に応じた確率設定を行わない場合を示し、(B)が距離に応じた確率設定も種類による確率補正も行わない場合を示す。 メインメモリのメモリマップの一部を示す図解図である。 CPU動作の一部を示すフロー図である。 CPU動作の他の一部を示すフロー図である。 CPU動作のその他の一部を示すフロー図である。 CPU動作のさらにその他の一部を示すフロー図である。 メインメニュー画面の一例を示す図解図である。 ノート作成画面の一例を示す図解図である。 加工メニュー画面の一例を示す図解図である。 図7の境界線B1,B2に関する変形例を示す図解図であり、(A)がy軸に平行な境界線を示し、(B)がx軸に平行な境界線を示し、(C)が両軸に平行な(つまり長方形状または正方形状の)境界線を示す。
図1〜図3には、本発明の一実施例であるゲーム装置10の外観が示される。ゲーム装置10は折り畳み型のゲーム装置であり、図1および図2は、開いた状態(開状態)におけるゲーム装置10を示し、図3は、閉じた状態(閉状態)におけるゲーム装置10を示している。また、図1は、開状態におけるゲーム装置10の正面図であり、図2は、開状態におけるゲーム装置の側面図である。ゲーム装置10は、2つの表示装置(LCD12および14)および2つのカメラ(カメラ16および18)を有し、カメラによって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることができる。
ゲーム装置10は、開いた状態において両手または片手で把持することができるような小型のサイズとされる。
ゲーム装置10は、下側ハウジング20および上側ハウジング22という2つのハウジングを有する。下側ハウジング20と上側ハウジング22とは、開閉可能(折り畳み可能)に接続されている。この実施例では、各ハウジング20および22はともに横長の長方形の板状形状であり、互いの長辺部分で回転可能に接続されている。
上側ハウジング22は、下側ハウジング20の上側の一部で回動自在に支持されている。これによって、ゲーム装置10は、閉状態(下側ハウジング20と上側ハウジング22とのなす角度が約0°の状態(図3参照))と、開状態(下側ハウジング20と上側ハウジング22とのなす角度が約180°の状態(図2参照))とをとることができる。ユーザは通常、開状態でゲーム装置10を使用し、ゲーム装置10を使用しない場合には閉状態としてゲーム装置10を保管する。また、ゲーム装置10は、上記閉状態および開状態のみでなく、下側ハウジング20と上側ハウジング22とのなす角度を、ヒンジに発生する摩擦力などによって閉状態と開状態との間の任意の角度に維持することができる。つまり、上側ハウジング22を下側ハウジング20に対して任意の角度で静止させることができる。
まず、下側ハウジング20に設けられる構成について説明する。図1に示すように、ゲーム装置10は、下側LCD(液晶表示装置)12を有する。下側LCD12は横長形状であり、長辺方向が下側ハウジング20の長辺方向に一致するように配置される。下側LCD12は下側ハウジング20に収納される。下側LCD12は、下側ハウジング20の内側面に設けられる。したがって、ゲーム装置10を使用しない場合には閉状態としておくことによって、下側LCD12の画面が汚れたり傷ついたりすることを防止することができる。なお、この実施例では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の任意の表示装置を利用してもよい。また、ゲーム装置10は任意の解像度の表示装置を利用することができる。なお、ゲーム装置10を撮像装置として利用する場合、下側LCD12は主に、カメラ16または18で撮像されている画像をリアルタイムに表示(スルー表示)するために用いられる。
下側ハウジング20の内側面はほぼ平面状に形成される。当該内側面の中央には、下側LCD12を露出させるための開口部20bが形成される。当該開口部20bの左側(図示y軸負側)には開口部20cが形成され、当該開口部20bの右側には開口部20dが形成される。開口部20bおよび20cは、各キートップ(各ボタン24a〜24eの上面)を露出させるためのものである。そして、下側ハウジング20の内部に収納される下側LCD12の画面が開口部20bから露出し、各キートップが開口部20cおよび20dから露出される。このように、下側ハウジング20の内側面には、中央に設けられる下側LCD12用の開口部20bの左右両側に非画面領域(図1に示す点線領域A1およびA2。具体的には、各ボタン24a〜24eを配置するための領域;ボタン配置領域)がそれぞれ設けられる。
下側ハウジング20には、入力装置として、各ボタン24a〜24iおよびタッチパネル28が設けられる。図1に示されるように、各ボタン24a〜24iのうち、方向入力ボタン24a、ボタン24b、ボタン24c、ボタン24d、ボタン24e、および電源ボタン24fは、下側ハウジング20の内側面に設けられる。方向入力ボタン24aは例えば選択操作等に用いられ、各ボタン24b〜24eは例えば決定操作やキャンセル操作等に用いられる。電源ボタン24fは、ゲーム装置10の電源をオン/オフするために用いられる。ここでは、方向入力ボタン24aおよび電源ボタン24fは、下側ハウジング20の中央付近に設けられる下側LCD12に対して一方の側(図1では左側)に設けられ、ボタン24b〜24eは下側LCD12に対して他方の側(図1では右側)に設けられる。方向入力ボタン24aおよびボタン24b〜24eは、ゲーム装置10に対する各種操作を行うために用いられる。
図3(A)は閉状態におけるゲーム装置10の左側面図であり、図3(B)は当該ゲーム装置10の正面図であり、図3(C)は当該ゲーム装置10の右側面図であり、そして図3(D)は当該ゲーム装置10の背面図である。図3(A)に示されるように、音量ボタン24iは、下側ハウジング20の左側面に設けられる。音量ボタン24iは、ゲーム装置10が備えるスピーカ34の音量を調整するために用いられる。また、図3(B)に示されるように、ボタン24hは、下側ハウジング20の上面の右端部に設けられる。ボタン24gは、下側ハウジング20の上面の左端部に設けられる。各ボタン24gおよび24hは、ゲーム装置10に対して例えば撮影指示操作(シャッタ操作)を行うために用いられる。各ボタン24gおよび24hの両方をシャッターボタンとして機能させてもよく、この場合、右利きのユーザはボタン24hを使用し、左利きのユーザはボタン24gを使用することができ、いずれのユーザにも使い勝手が良い。なお、ゲーム装置10は、各ボタン24gおよび24hを常にシャッターボタンとして有効としておいてもよいし、右利きか左利きかの設定をして(メニュープログラムなどによりユーザに設定入力をさせ、設定されたデータを記憶しておく)、右利き設定のときにはボタン24hのみ有効とし、左利き設定のときにはボタン24gのみ有効とするようにしてもよい。
図1に示されるように、ゲーム装置10は、各操作ボタン24a〜24iとは別の入力装置として、タッチパネル28をさらに備えている。タッチパネル28は、下側LCD12の画面上に装着されている。なお、この実施例では、タッチパネル28は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。この実施例では、タッチパネル28として、下側LCD12の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル28の解像度と下側LCD12の解像度が一致している必要はない。また、下側ハウジング20の右側面には挿入口30(図1および図3(D)に示す点線)が設けられている。挿入口30は、タッチパネル28に対する操作を行うために用いられるタッチペン36を収納することができる。なお、タッチパネル28に対する入力は通常タッチペン36を用いて行われるが、タッチペン36に限らずユーザの指でタッチパネル28を操作することも可能である。
図2や図3(C)に示されるように、下側ハウジング20の右側面には開閉可能なカバー部11bが設けられる。このカバー部11bの内側には、メモリカード38aを挿入するための挿入口(2点鎖線)、およびゲーム装置10とメモリカード38aとを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード38aは、コネクタに着脱自在に装着される。メモリカード38aは、例えば、ゲーム装置10によって撮像された画像のデータを記憶(保存)するために用いられる。
さらに、下側ハウジング20の上側面には、メモリカード38bを挿入するための挿入口(1点鎖線)、およびゲーム装置10とメモリカード38bとを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード38bは、例えば、ゲーム装置10で動作するプログラムを記憶するために用いられる。
図1に示されるように、下側ハウジング20の軸部20aの左側部分には、3つのLED26a〜26cが取り付けられる。ここで、ゲーム装置10は他の機器や同種の他のゲーム装置(200,10A:図5)との間で無線通信を行うことが可能であり、第1LED26aは、無線通信が確立している場合に点灯する。第2LED26bは、ゲーム装置10の充電中に点灯する。第3LED26cは、ゲーム装置10の電源がオンである場合に点灯する。したがって、3つのLED26a〜26cによって、ゲーム装置10の通信確立状況、充電状況、および、電源のオン/オフ状況をユーザに通知することができる。
以上に説明したように、下側ハウジング20には、ゲーム装置10に対する操作入力を行うための入力装置(タッチパネル28および各ボタン24a〜24i)が設けられる。したがって、ユーザは、ゲーム装置10を使用する際には下側ハウジング20を把持してゲーム装置10に対する操作を行うことができる。図4は、ユーザがゲーム装置10を両手で把持した様子を示す図である。図4に示すように、ユーザは、各LCD12および14がユーザの方向を向く状態で、両手の掌と中指、薬指および小指とで下側ハウジング20の側面および外側面(内側面の反対側の面)を把持する。このように把持することで、ユーザは、下側ハウジング20を把持したまま、各ボタン24a〜24eに対する操作を親指で行い、ボタン24gおよび24hに対する操作を人差し指で行うことができる。
一方、上側ハウジング22には、画像を撮像するための構成(カメラ)、および、撮像した画像を表示するための構成(表示装置)が設けられる。以下、上側ハウジング22に設けられる構成について説明する。
図1に示すように、ゲーム装置10は、上側LCD14を有する。上側LCD14は上側ハウジング22に収納される。上側LCD14は横長形状であり、長辺方向が上側ハウジング22の長辺方向に一致するように配置される。上側LCD14は、上側ハウジング22の内側面(ゲーム装置10が閉状態となった場合に内側となる面)に設けられる。したがって、ゲーム装置10を使用しない場合には閉状態としておくことによって、上側LCD14の画面が汚れたり傷ついたりすることを防止することができる。なお、下側LCD12と同様、上側LCD14に代えて、他の任意の方式および任意の解像度の表示装置を利用してもよい。なお、他の実施形態においては、上側LCD14上にもタッチパネルを設けてもよい。
また、ゲーム装置10は、2つのカメラ16および18を有する。各カメラ16および18はともに上側ハウジング22に収納される。図1に示されるように、内側カメラ16は、上側ハウジング22の内側面に取り付けられる。一方、図3(B)に示されるように、外側カメラ18は、内側カメラ16が取り付けられる面の反対側の面、すなわち、上側ハウジング22の外側面(ゲーム装置10が閉状態となった場合に外側となる面)に取り付けられる。これによって、内側カメラ16は、上側ハウジング22の内側面が向く方向を撮像することが可能であり、外側カメラ18は、内側カメラ16の撮像方向の逆方向、すなわち、上側ハウジング22の外側面が向く方向を撮像することが可能である。以上のように、この実施例では、2つのカメラ16および18が撮像方向が互いに逆方向となるように設けられる。したがって、ユーザはゲーム装置10を持ち替えることなく、異なる2方向を撮像することができる。例えば、ユーザは、ゲーム装置10からユーザの方を見た景色を内側カメラ16で撮影することができるとともに、ゲーム装置10からユーザの反対側の方向を見た景色を外側カメラ18で撮影することができる。
また、内側カメラ16は、上側ハウジング22の下側の中央部に形成される軸部22aの中央に取り付けられる。つまり、内側カメラ16は、2つのハウジング20および22が接続される部分の中央に取り付けられる。したがって、ゲーム装置10を開状態にした場合、内側カメラ16は、2つのLCD12および14の間に配置されることになる(図1参照)。換言すれば、内側カメラ16は、ゲーム装置10の中心付近に配置されることになる。なお、「ゲーム装置10の中心」とは、ゲーム装置10の操作面(開状態における各ハウジング20および22の内側面からなる面)の中心という意味である。なお、内側カメラ16は、LCD12および14の横方向の中心付近に配置されているということもできる。
この実施例では、ゲーム装置10を開状態にした場合に内側カメラ16はゲーム装置10の中心付近に配置されるので、ユーザは、内側カメラ16によってユーザ自身を撮影する場合、ユーザがゲーム装置10に正対する位置でゲーム装置10を把持すればよい。つまり、通常の把持位置でゲーム装置を把持すれば、ユーザは撮像範囲の中心付近に位置することになり、ユーザ自身を撮像範囲内に収めることが容易になる。
また、図3(B)に示されるように、外側カメラ18は、ゲーム装置10を開状態とした場合において上側ハウジング22の上部(下側ハウジング20から遠い側の部分)に配置される。なお、外側カメラ18は、ゲーム装置10を把持するユーザを撮影するものではないので、ゲーム装置10の中心に設ける必要性は高くない。
また、図1または図3(B)に示されるように、マイク32は、上側ハウジング22に収納されている。具体的には、マイク32は、上側ハウジング22の軸部22aに取り付けられる。この実施例では、マイク32は、内側カメラ16の周囲(図ではy軸の側方)に取り付けられ、より具体的には、内側カメラ16からy軸正方向側の側方に取り付けられる。また、軸部22aにおいては、マイク32がゲーム装置10外部の音を検知することができるように、マイク32に対応する位置(内側カメラ16の側方)にマイクロフォン用孔22cが設けられる。なお、マイク32は下側ハウジング20に収納されてもよい。たとえば、マイクロフォン用孔22cを下側ハウジング20の内側面、具体的には下側ハウジング20の内側面の左下部分(ボタン配置領域A1)に設け、マイク32を、下側ハウジング20内における、マイクロフォン用孔22cの近傍に配置することができる。また、マイク32は、その集音方向(感度が最大となる方向)が内側カメラ16の撮像方向(光軸)と略並行(言い換えれば集音方向および撮像方向がそれぞれz軸と略並行)となる向きに取り付けられる。これによって、内側カメラ16の撮像範囲内で発せられた音声は、マイク32によって好適に捉えられる。すなわち、マイク32による音声入力の検出と内側カメラ16の撮像画像によるユーザの検出とを同時行うことができるとともに、検出の精度を向上させることができる。
図3(B)に示されるように、上側ハウジング22の外側面には、第4LED26dが取り付けられる。第4LED26dは、外側カメラ18の周囲(この実施例では、外側カメラ18の右側)に取り付けられる。第4LED26dは、内側カメラ16または外側カメラ18によって撮影が行われた(シャッターボタンが押下された)時点で点灯する。また、内側カメラ16または外側カメラ18によって動画が撮影される間点灯する。第4LED26dによって、ゲーム装置10による撮影が行われた(行われている)ことを撮影対象者に通知することができる。
また、上側ハウジング22の内側面はほぼ平面状に形成される。図1に示すように、当該内側面の中央には、上側LCD14を露出させるための開口部22bが形成される。上側ハウジング22の内部に収納される上側LCD14の画面は、開口部22bから露出する。また、上記開口部22bの左右両側には音抜き孔22dがそれぞれ1つずつ形成される。音抜き孔22dの奥の上側ハウジング22内にはスピーカ34が収納されている。音抜き孔22dは、スピーカ34からの音を外部に放出するための孔である。
このように、上側ハウジング22の内側面には、中央に設けられる上側LCD14用の開口部22bの左右両側に非画面領域(図1に示す点線領域B1およびB2。具体的には、スピーカ34を配置するための領域;スピーカ配置領域)がそれぞれ設けられる。2つの音抜き孔22dは、左右方向については、各スピーカ配置領域の左右方向における中央部付近に配置され、上下方向については、各スピーカ配置領域の下部領域(下側ハウジング20に近い側の領域)に配置される。
なお、上記のように、下側ハウジング20および上側ハウジング22に左右方向に関して同じ位置に非画面領域をそれぞれ設けたことで、ゲーム装置10は、図4に示すような横持ちで把持される場合だけでなく、縦持ち(図4に示す状態からゲーム装置10を左または右回りに90°回転させた状態)で把持される場合にも持ちやすい構成となっている。
以上に説明したように、上側ハウジング22には、画像を撮像するための構成であるカメラ16および18、および、撮像された画像を表示するための表示手段である上側LCD14が設けられる。一方、下側ハウジング20には、ゲーム装置10に対する操作入力を行うための入力装置(タッチパネル28および各ボタン24a〜24i)が設けられる。したがって、ゲーム装置10を撮像装置として使用する際には、ユーザは、上側LCD14に表示される撮像画像(カメラによって撮像された画像)を見ながら、下側ハウジング20を把持して入力装置に対する入力を行うことができる。
また、上側ハウジング22のカメラ16近傍には、音声を入力するための構成であるマイク32が設けられており、したがってゲーム装置10は、録音装置としても使用可能である。さらに、ユーザがマイク32を通して音声入力を行い、ゲーム装置10はこのマイク入力情報に基づいてゲーム処理やゲーム以外のアプリケーション処理を実行することもできる。
図5は、ゲーム装置10の内部構成(電気的構成)を示すブロック図である。図5に示すように、ゲーム装置10は、CPU42、メインメモリ48、メモリ制御回路50、保存用データメモリ52、プリセットデータ用メモリ54、メモリカードインターフェース(メモリカードI/F)44、無線通信モジュール56、ローカル通信モジュール58、リアルタイムクロック(RTC)60、電源回路46、およびインターフェース回路(I/F回路)40等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング20(または上側ハウジング22でもよい)内に収納される。
CPU42は、各種のプログラムを実行するための情報処理手段である。ゲーム装置10を撮像装置として利用する場合には、そのためのプログラムがゲーム装置10内のメモリ(例えば保存用データメモリ52)に記憶される。CPU42が当該プログラムを実行することで、ゲーム装置10は撮影装置として機能する。なお、CPU42によって実行されるプログラムは、ゲーム装置10内のメモリに予め記憶されていてもよいし、メモリカード38bから取得されてもよいし、他の機器等(200,10A)との通信によって他の機器等等(200,10A)から取得されてもよい。
CPU42には、メインメモリ48、メモリ制御回路50、およびプリセットデータ用メモリ54が接続される。また、メモリ制御回路50には保存用データメモリ52が接続される。メインメモリ48は、CPU42のワーク領域やバッファ領域として用いられる記憶手段である。すなわち、メインメモリ48は、ゲーム処理やアプリケーション処理に用いられる各種データを記憶したり、外部(メモリカード38bや他の機器200,10A等)から取得されるプログラムを記憶したりする。この実施例では、メインメモリ48として例えばPSRAM(Pseudo−SRAM)を用いる。保存用データメモリ52は、CPU42によって実行されるプログラムや各カメラ16および18によって撮像された画像のデータ等を記憶するための記憶手段である。保存用データメモリ52は、例えばNAND型フラッシュメモリで構成される。メモリ制御回路50は、CPU42の指示に従って、保存用データメモリ52に対するデータの読み出しおよび書き込みを制御する回路である。プリセットデータ用メモリ54は、ゲーム装置10において予め設定される各種パラメータ等のデータ(プリセットデータ)を記憶するための記憶手段である。プリセットデータ用メモリ54としては、SPI(Serial Peripheral Interface)バスによってCPU42と接続されるフラッシュメモリを用いることができる。
メモリカードI/F44はCPU42に接続される。メモリカードI/F44は、コネクタに装着されたメモリカード38aおよび38bに対するデータの読み出しおよび書き込みをCPU42の指示に従って行う。この実施例では、各カメラ16および18によって撮像された画像データがメモリカード38aに書き込まれたり、メモリカード38aに記憶された画像データがメモリカード38aから読み出されて保存用データメモリ52に記憶されたりする。また、メモリカード38bに記憶されているプログラムやデータを読み出してメインメモリ48に転送したりもする。
無線通信モジュール56は、例えばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール58は、所定の通信方式たとえば赤外線方式により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール56およびローカル通信モジュール58はCPU42に接続される。CPU42は、無線通信モジュール56を用いてインターネット202を介して他の機器200との間でデータを送受信したり、ローカル通信モジュール58を用いて同種の他のゲーム装置10Aとの間でデータを送受信したりすることができる。
なお、ローカル通信モジュール58は、この実施例ではゲーム装置10に内蔵されるようになっているが、例えばメモリカード38bに設けてもよい。この場合、CPU42は、メモリカードI/F44を介して通信の制御を行うことになる。
また、CPU42には、RTC60および電源回路46が接続される。RTC60は、時間をカウントしてCPU42に出力する。CPU42は、RTC60によって計時された時間に基づいて、現在時刻(日付)を計算したり、画像取り込み等の動作タイミングを検知したりする。電源回路46は、ゲーム装置10が有する電源(電池;下ハウジングに収納される)からの電力を制御し、ゲーム装置10の各部品に電力を供給する。
また、ゲーム装置10は、マイク32およびスピーカ34を備えている。マイク32およびスピーカ34はそれぞれI/F回路40に接続される。マイク32は、ユーザの音声を検知して音声信号をI/F回路40に出力する。スピーカ34は、I/F回路40からの音声信号に応じた音声を出力する。I/F回路40はCPU42に接続される。また、タッチパネル28はI/F回路40に接続される。I/F回路40は、マイク32およびスピーカ34の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換およびD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。変換された音声データは、メインメモリ48の音声エリア(図示せず)に書き込まれる。ゲーム装置10を録音装置として利用する場合には、音声エリアに格納された音声データは、後にメモリ制御回路50を介して保存用データメモリ52に書き込まれる(必要に応じてさらに、メモリカードI/F44を介してメモリカード38aに記録される)。また、音声エリアに格納された音声データ(マイク入力情報)は、各種のゲーム処理にも利用される。タッチパネル制御回路は、タッチパネル28からの信号に基づいて所定の形式のタッチ位置データを生成してCPU42に出力する。タッチ位置データは、タッチパネル28の入力面のうちで入力が行われた位置の座標を示す。なお、タッチパネル制御回路は、タッチパネル28からの信号の読み込み、および、タッチ位置データの生成を所定時間に1回の割合で行う。CPU42は、タッチ位置データを取得することにより、タッチパネル28に対して入力が行われた位置を知ることができる。
操作部24は、上記各ボタン24a〜24iからなり、CPU42に接続される。操作部24からCPU42へは、各ボタン24a〜24iに対する入力状況(押下されたか否か)を示す操作データが出力される。CPU42は、操作部24から操作データを取得することによって、操作部24に対する入力に従った処理を実行する。
各カメラ16および18はCPU42に接続される。各カメラ16および18は、CPU42の指示に従って画像を撮像し、撮像した画像データをCPU42に出力する。CPU42は、各カメラ16および18からの画像データをメインメモリ48の画像エリア(図示せず)に書き込む。ゲーム装置10を撮像装置として利用する場合には、画像エリアに格納された画像データは、後にメモリ制御回路50を介して保存用データメモリ52に書き込まれる(必要に応じてさらに、メモリカードI/F44を介してメモリカード38aに記録される)。また、画像エリアに格納された画像データは、各種のゲーム処理にも利用される。
また、各LCD12および14はCPU42に接続される。各LCD12および14はCPU42の指示に従って画像を表示する。ゲーム装置10を撮像装置として利用する場合、CPU42は、各カメラ16および18のいずれかから取得した画像を上側LCD14に表示させ、所定の処理によって生成した操作画面を下側LCD12に表示させる。ゲーム装置10でゲームをプレイする場合には、LCD12および14の一方または両方にゲーム画像が表示される。
以上のように構成されたゲーム装置10で、この実施例の画像管理アプリケーションを実行すると、各カメラ16,18で撮像した画像やメモリカード38aなどから読み込んだ画像(原画像100)に対して、青などの色を加色すると共に雪の結晶などのオブジェクトを配置(描画)する画像処理を施すことができる。なお、画像処理では、オブジェクトの描画に代えて、またはこれに加えて、シャープネス,ぼかし,逆光フィルタなどのエフェクトを加えることも可能である。以下、この加色および描画を含む画像処理について詳しく説明する。
画像処理の対象である原画像100は、図6(A)に示すように、横(x)方向216画素,縦(x)方向160画素(216×160)のサイズを有し、そして各画素(0,0)〜(215,159)がR(赤),G(緑)およびB(青)の3つの色成分を含む。各色成分は、0〜31(5ビット)で表現される。なお、原画像100のサイズは、216×160とは限らず、たとえば180×120,432×320など、適宜な値でよい。
このような原画像100を構成する各画素(0,0)〜(215,159)について、所定位置ここでは原画像100の中心C(図7参照)からの距離に応じた加色値Aが算出され、その画素の少なくとも1つの色成分たとえばB(青)成分に加算される。この加色処理によって、原画像100は、たとえば中心Cから遠い画素ほど青みが増す結果となる。
なお、加色処理は、これに限らず、たとえば中心Cに近い画素ほど青みが増すものでもよい。また、加える色は、青とは限らず、赤または緑でもよい。単一色とも限らず、たとえば赤および緑の2色を加えれば、黄色みを帯びさせることができる。また、所定位置は、原画像100の中心Cとは限らず、原画像100内の任意の位置でよい。場合によっては、原画像100の外部に所定位置を定義することも可能である。
加色値Aは、具体的には次のように計算される。図7に示すように、原画像100のサイズをw×hとし、注目画素Pの座標を(x,y)として、最初、中心Cから注目画素Pまでの距離に関するパラメータDが、下の(式1)により計算される。
D={(x−w/2)×k1}+{(y−h/2) ×k2} …(式1)
ここで、右辺の第1項および第2項にそれぞれ乗じた係数k1およびk2は、216×160の原画像100に縦横均等な比率で加色を行う(グラデーションを偏平させる)ためのものであり、原画像100の縦横比(1.35:1)に応じて適宜な値(たとえばk1=1.0,k2=1.35)が選ばれる。なお、原画像100の縦横比に応じた値を選ぶ代わりに、画面(原画像100を表示する表示領域)の縦横比に応じた値を選んでもよい。たとえば、縦横比が1.75:1の画面であれば、k1=1.0,k2=1.75とする。ただし、係数k1およびk2は、縦横比と一致していなくてもよく、縦横比とは無関係に選んでもかまわない。
また、w=216,h=160,k1=1.0,k2=1.35として計算すると、パラメータDの範囲は0≦D≦20304となる。すなわち、画像の中心(108,80)のときに最小値(0)となり、画像の四隅に近づくにつれ大きな値となっていき、画像の四隅においてパラメータDは最大値となる。
次に、このパラメータDから所定値(たとえば4500)を減算する(D=D−4500)。ただし、減算後のパラメータDがB成分の下限値(つまり0)を下回っていれば(D<0)、下限値をとする(D=0)。この減算は、画像100の中心Cから一定距離以内(楕円もしくは円の内部)に青成分を加算させないための処理である(図10,図11参照)。
次に、減算後のパラメータDを所定値(たとえば900)で除算する(D=D/900)。ただし、除算後のパラメータDがB成分の上限値(つまり31)を上回っていれば(D>31)、上限値とする(D=31)。この除算は、原画像100に加える青の濃さを適切に変化させる(1つの色成分は0〜31の計32段階の値を持ち得るため、パラメータDの値を0〜31の範囲内に調整し、原画像100の中心Cから外縁に向かうに連れて、薄い青〜濃い青に変化するように調整する)ための処理である。
そして、一連の減算および除算を経た後のパラメータDを加色値Aとし(A=D)、この加色値AをB成分に加算する(B=B+A)。ただし、加算後のB成分が上限値(つまり31)を上回っていれば(B>31)、それを上限値とする(B=31)。
なお、パラメータDに基づいて加色値Aを計算する代わりに、2点CP間の距離そのものに基づいて加色値Aを計算してもよい。2点CP間の距離は、後述の(式2)と同じ式で計算することができる。ただし、この場合も、加色値Aが0〜31の計32段階の範囲内に収まるように調整する必要がある。
CPU42は、以上のような一連の計算を各画素について行うため、現在注目している画素に関し、図9(A)のようなデータ(注目画素データ)を作成する。注目画素データは、画素番号,距離パラメータ(D)および加色値(A)を含む。注目画素は、一般に原画像100の左上から右下に向けて、いわゆるラスタ走査に従う順序で移動するので、最初、注目画素データには、画素番号として(0,0)が、距離パラメータとしてD=20304が、そして加色値としてA=17.56が記述される。CPU42は、この注目画素データを参照して、注目画素(0,0)のB成分にA=17または18を加算する。ここで、小数点以下の値は切り捨てても、切り上げても、あるいは四捨五入してもよい。
注目画素が(0,0)から(1,0)に移動すると、注目画素データは更新され、更新後のAが注目画素(0,1)のB成分に加算される。以降、注目画素が(215,159)に達するまで同様の処理が繰り返される。
原画像100はまた、オブジェクト描画のために、図6(B)に示す要領で、複数たとえば54×40個の区画106に分割される。なお、各区画106を区別する場合には、区画(1,1)〜(54,40)のように記述する。
なお、図6(B)の場合、各区画106は4×4のサイズを有するが、たとえば8×8,2×2など任意のサイズでよい。形状も正方形とは限らず、4×2などの長方形でもよいし、互いに異なるサイズや形状の区画が混在してもよい。また、原画像100が大きいほど区画106を大きくしてもよく、これによって、大きな原画像100であっても小さな原画像100であっても、全体的に見て同程度のオブジェクトを配置することができる。あるいは、オブジェクトの大きさによって区画106を変化させてもよいが、この場合、オブジェクト配置処理を開始する前に、区画サイズを決定する必要がある。
次に、各区画106について、所定位置ここでは原画像100の中心Cからの距離に応じた確率pが設定される。詳しくは、図7に示すように、原画像100のサイズをw×hとし、区画106の中心Qの座標を(x,y)として、次の(式2)により、2点CQ間の距離dが計算される。
d=√{(x−w/2)+(y−h/2)} …(式2)
なお、図7の例では、中心Cは原画像100の重心(対角線の交点)と一致し、中心Qは区画106の重心と一致しているが、いずれも重心と一致している必要はなく、原画像100上の任意の位置に中心Cを定義し、区画106内の任意の位置に中心Qを定義してよい。
確率pは、たとえば、図8(A)の確率テーブルに従って、0≦d≦60のとき1%,61≦d≦80のとき2%,81≦dのとき5%のように、3段階に設定される。図7に示された同心円B1およびB2は、この場合の確率の境界線を示している。したがって、確率pは、同心円B1の内側では1%,同心円B1とB2の間では2%,同心円B2の外側では5%となる。なお、確率pは、これに限らず、2段階または4段階以上に設定されてもよい。さらには、確率テーブルなどを参照して段階的な値を設定する代わりに、関数などを利用して連続的な値を設定してもよい。
これによって、原画像100内でのオブジェクトの配置を制御できるようになる。すなわち、図8(A)の確率テーブルに従えば、中心Cに近い区画106ほど確率pが低く(小さく)なるので、中心Cまたはその近傍にオブジェクト(Obj1〜Obj3)が配置されにくくなる。逆に、中心Cに近い区画106ほど確率(p)が高く(大きく)なるようにすれば、中心Cまたはその近傍にオブジェクト(Obj1〜Obj3)が配置されやすくなる。
次に、各区画106について、そこに配置すべきオブジェクトの種類が設定される。ここでは、大中小3サイズの雪の結晶(図10,図11参照)が配置可能なオブジェクトとして準備されており、そのうち1つが、たとえば乱数に基づいてランダムに選択される。
次に、前述のようにして各区画106に設定された確率pが、こうして各区画106に設定されたオブジェクトの種類に応じて補正される。たとえば、図8(B)に示す倍率テーブルに従って、ある区画106のオブジェクトが雪の結晶(大)であればその区画106の確率pは0.5倍される。同様に、オブジェクトが雪の結晶(中)であれば確率pは1.0倍され、オブジェクトが雪の結晶(小)であれば確率pは2.0倍される。
こうして、オブジェクトの種類(特に大きさ)に応じて確率pを補正することで、原画像100内に配置される各種オブジェクトの割合(密集の度合い)を制御することができる。たとえば、図8(B)に示す倍率テーブルに従えば、大中小3種類の雪の結晶は、概ね1:2:4の割合で現れるので、視覚的にバランスがよくなる。また、大きい雪の結晶を半減する一方、小さい雪の結晶を倍増したことで、結晶の総数を維持したまま、結晶同士の重なり合いを抑制できる。
次に、各区画106に0〜99のいずれか1つの値がランダムに割り当てられる。そして、この割当値が確率pを下回っているか否かが各区画106について判別され、割当値が確率pを下回っている区画106に対しオブジェクトの描画を実行する。これにより、各区画106に設定された確率pに従う割合でオブジェクトが描画される結果となる。
CPU42は、以上のような一連の計算を各区画106について行うため、現在注目している区画106に関し、図9(B)のようなデータ(注目区画データ)を作成する。注目区画データは、区画番号,距離(d),確率(p),オブジェクトの種類,および割当値を含む。注目区画もまた、いわゆるラスタ走査に従う順序で移動するので、最初、注目区画データには、区画番号として(1,1)が記述され、この区画(1,1)について距離および確率が計算される。そして、距離としてd=132が、確率としてp=5%が記述される。さらに、オブジェクトの種類および割当値がランダムに設定され、オブジェクトの種類としてたとえば雪の結晶(大)が、割当値としてたとえば73が記述される。この場合、オブジェクトが雪の結晶(大)なので、確率は5%から2.5%に補正される。CPU42は、この注目区画データを参照して、割当値73が確率2.5%を上回っているので、区画(1,1)には描画を行わない。
注目区画が(1,1)から(1,2)に移動すると、注目区画データは更新される。更新後の注目区画データには、区画番号として(1,2)が、距離としてd=130が、確率としてp=5%が記述され、さらに、オブジェクトの種類としてたとえば雪の結晶(小)が、割当値としてたとえば8が記述される。この場合、オブジェクトが雪の結晶(小)なので、確率は5%から10%に補正される。CPU42は、この注目区画データを参照して、割当値8が確率10%を上回っているので、区画(1,2)に雪の結晶(小)を描画する。以降、注目区画が(54,40)に達するまで同様の処理が繰り返される。
以上のような画像処理(加色および描画)が施された画像の例を図10に示す。図10(A)および図10(B)に示した2通りの画像は、同一の条件下で得られた画像である。まず、図10(A)および図10(B)の間で、加色は同じであるが、オブジェクト配置は異なっている。加色は画素毎に一義的に決まるが、オブジェクト配置は、区画毎の確率pに基づくため、同じ条件で描画を行っても毎回異なる結果となる。
次に、図10(A)および図10(B)に共通して、確率pが距離dに応じて変化する(ここでは、距離dが大きい区画ほど小さい確率が設定される:図8(A)参照)ので、オブジェクトは、画像の中央には殆ど配置されず、周縁に多く配置される。さらに、このような確率pがオブジェクトの大きさに応じて補正される(ここでは、大きいオブジェクトほど小さい倍率が乗算される:図8(B)参照)ため、大きいオブジェクトの数は相対的に少なく、小さいオブジェクトの数は相対的に多くなる。
比較用の画像を図11に示す。図11(A)の画像は、前述の画像処理において、距離dに応じた確率pの設定(図8(A)参照)を省略した場合に得られる画像である。この図11(A)を図10(A)または図10(B)と比較すると、後者では、オブジェクトは大中小を問わず画像の中央には殆どないので、中央の猫がよく見えるのに対し、前者では、オブジェクトは大が少なく小が多いとはいえ画像の中央にも配置されているので、中央に位置する猫の視認性が低下している。
図11(B)の画像は、距離dに応じた確率pの設定だけでなく、オブジェクトの種類(大きさ)による確率補正(図8(B)参照)も行わなかった場合に得られる画像である。この図11(B)を図11(A)と比較すると、画像中央のオブジェクトは、後者では小が多く大は少なかったのに対し、前者では補正がなく大中小均等なので、中央に位置する猫の視認性が一層低下している。
以上のような動作は、ゲーム装置10のCPU42が、メインメモリ48に記憶された図12に示すようなプログラムおよびデータに基づいて、図13〜図16に示すようなフローに従う処理を実行することにより実現される。
すなわち、この実施例の画像管理アプリケーションを実行するとき、図12に示すように、メインメモリ48には、プログラムエリア48aおよびデータエリア48bが形成され、プログラムエリア48aにアプリケーションプログラム70および入出力制御プログラム72などが格納される。
アプリケーションプログラム70は、CPU42を介して各種ハードウェア(12〜40,44〜60)を制御して画像管理アプリケーションを実現するメインのソフトウェアプログラムであり、図13〜図16のフローに対応している。入出力制御プログラム72は、アプリケーションプログラム70によって利用されるサブのソフトウェアプログラムであり、主としてLCD12および14,操作部24,I/F回路40などを制御してタッチ入力,ボタン入力,画像出力などを実現する。
データエリア48bは、画像エリア74,注目画素エリア76および注目区画エリア78などを含む。画像エリア74には、アプリケーションプログラム70によって管理ないし加工される原画像(100:図6(A)参照)が記憶される。加工後の画像(図10参照)もまた、画像エリア74に記憶される。加工前の原画像100は、加工後の画像で上書きされてよい。あるいは、上書きせず、加工後の画像を追記するようにしてもよい。
注目画素エリア76には、アプリケーションプログラム70によって画像加工を行うとき作成される注目画素データ(図9(A)参照)が記憶される。注目区画エリア82には、アプリケーションプログラム70によって画像加工を行うとき作成される注目区画データ(図9(B)参照)が記憶される。
データエリア48bにはまた、図8(A)に示したような確率テーブル80、および図8(B)に示したような倍率テーブル82も格納される。
図13を参照して、アプリケーションプログラム70が起動されると、CPU42は、まずステップS1で、図17のようなメインメニュー画面をLCD12に表示する。このメインメニュー画面は、3枚の「保存されているノート」112と、「新しいノート」アイコン114とを含む。3枚の「保存されているノート」112には、それぞれ手書き文字が記されており、そのうち1枚には、写真112aおよび音声アイコン112bが貼り付けられている。
次に、ステップS3で「新しいノート」アイコン114が選択されたか否かを判別し、NOであればステップS5に移って、「保存されているノート」112が選択されたか否かをさらに判別する。ステップS5でもNOであれば、ステップS1に戻って同様の処理を繰り返す。
メインメニュー画面上でいずれかの「保存されているノート」112がタッチされると、ステップS5でYESと判別して、ステップS7に進む。ステップS7では、選択された「保存されているノート」をLCD12に表示し、次のステップS9では、貼り付けてある写真112aの編集を行うか否かを判別する。いずれかの写真112aが選択されると、ステップS21(後述)に進む。選択された「保存されているノート」112に写真112aが貼り付けられていなかったり、音声アイコン112bが選択されたり、キャンセル操作が行われたりした場合には、ステップS9でNOと判別し、ステップS1に戻る。なお、図示はしていないが、音声アイコン112bが選択された場合には、対応する音声(ボイスメモ)がスピーカ34から出力される。
メインメニュー画面上で「新しいノート」アイコン114が選択されると、ステップS3でYESと判別して、ステップS11に進む。ステップS11では、図18に示すようなノート作成画面をLCD12に表示する。このノート作成画面には、「鉛筆」アイコン116a,「消しゴム」アイコン116b,「カメラ」アイコン116c,「マイク」アイコン116dなどが含まれる。
次に、ステップS13で「カメラ」アイコン116cが選択されたか否かを判別して、YESであればステップS15に進む一方、NOであればステップS1に戻る。なお、ステップS13でNOと判別されるのは、「カメラ」以外のアイコン(116a,116bまたは116d)が選択されたり、キャンセル操作が行われたりした場合である。図示はしていないが、「カメラ」以外のアイコンが選択された場合には、選択されたアイコンに対応する処理(手書き入力,入力取り消し,音声入力,オプション設定など)が実行された後で、保存等の処理が行われた後、ステップS1に戻ることになる。
ステップS15では、カメラのプレビュー(カメラ16または18からのスルー画像)をLCD12に表示し、次のステップS17では、撮影ボタン(たとえばボタン24b)が押下されたか否かを判別する。ステップS17でNOであれば、ステップS15に戻って同様の動作を繰り返す。ステップS17でYESであれば、ステップS19で画像をメモリカード38aに記録した後、ステップS21に進んで、図19に示すような加工メニュー画面をLCD12に表示する。なお、上側LCD14には、ステップS19で記録された画像が表示される。この画像は、後述するステップS31cで、加色およびオブジェクト配置(描画)が行われた後の画像に更新される。
この加工メニュー画面には、3種類の「結晶フィルタ」アイコン118,「ぼかし」アイコン120,「シャープネス」アイコン122,「落書き」ボタン124,「ノートに貼る(保存)」ボタン126,「撮り直す」ボタン128,「OK」ボタン130および「戻る」ボタン132などが含まれる。なお、3種類の「結晶フィルタ」では、画像処理で描画されるオブジェクトの形態が異なる(たとえば雪の結晶と花びら、同じ雪の結晶でも六角形,十字型など)だけなので、以下では特に区別しない。
図14を参照して、次に、ステップS23〜S29のループを通じて、加工メニュー画面内のどの項目が選択されたかを判別する。詳しくは、ステップS23で「結晶フィルタ」が選択されたか否かを判別し、ステップS25では「OK」または「ノートに貼る」が選択されたか否かを判別し、ステップS27では「戻る」が選択されたか否かを判別し、そしてステップS29では「撮り直す」が選択されたか否かを判別する。ステップS23〜S29のいずれの判別もNOであれば、キャンセル操作が行われるまで、処理はこのループを巡回する。
加工メニュー画面上で「結晶フィルタ」アイコン118が選択されると、ステップS23でYESと判別して、原画像100を画像エリア74に読み込んだ後、「結晶フィルタ」に対応する一連の画像処理(加色およびオブジェクト配置:図15および図16参照)をステップS31aおよびS31bで実行する。そして、加色および描画が施された画像(たとえば図10(A)参照)をステップS31cでLCD12に表示し、その後ステップS23に戻る。なお、原画像100は、ステップS19で記録されたカメラ画像またはノートに貼り付けてある写真の画像であるが、手書き画像やCG画像など他の画像でもよい。
ユーザは、LCD12に表示された画像を見て、もしオブジェクト配置が気に入らなければ、加工メニュー画面上で再び「結晶フィルタ」アイコン118を選択して、同じ原画像100に対してオブジェクト配置をやり直すことができる。オブジェクト配置は確率に基づくため、やり直して得られた画像(たとえば図10(B)参照)では一般に、前回の画像(たとえば図10(A)参照)とは異なるオブジェクト配置となっている。これも気に入らなければ、気に入るオブジェクト配置が得られるまで、同様の操作を繰り返せばよい。
加工メニュー画面上で「OK」ボタン130または「ノートに貼る」ボタン126が押下されると、ステップS25でYESと判別してステップS33に進み、保存が指示されたか否かをさらに判別するためのダイアログを表示する。ここで保存を本当に行う旨がユーザによって指示されると、ステップS33でYESと判別して、ステップS35で画像を保存し、その後ステップS1に戻る。一方、保存を行わない旨がユーザによって指示されると、ステップS33でNOと判別して、保存を行わずに(画像を破棄して)ステップS1に戻る。
加工メニュー画面上で「戻る」ボタン132が押下されると、ステップS27でYESと判別して、ステップS1に戻る。なおここでは、ステップS19で記録した画像を破棄してもよい。「撮り直す」ボタン128が押下されると、ステップS29でYESと判別して、ステップS15に戻る。
なお、フロー図には示していないが、「ぼかし」,「シャープネス」,「落書き」が選択されると、それぞれ対応する画像処理が実行される。これらの画像処理については、この実施例の主題ではないので説明を省略する。ただし、他の実施例では、「ぼかし」または「シャープネス」に対応する画像処理において、「結晶フィルタ」の場合と同様に、各区画106に対し、原画像100の中心Cからの距離dに応じた確率pを設定し、この確率pに基づいて局所的に「ぼかし」や「シャープネス」を加えることも可能である。
上記ステップS31aの加色処理は、詳しくは、図15に示すサブルーチンに従って実行される。図15を参照して、CPU42は、まずステップS41で、原画像100の全画素について加色値Aを算出し終えたか否かを判別し、NOであれば、ステップS43で未選出画素の1つを選択する。なお、選択は、図6(A)の原画像100の場合、左上の画素(0,0)から右下の画素(215,159)へ向けて、いわゆるラスタ走査(図6(B)に示されたジグザグ矢印)に従う順序で行われる。図9(A)に示した注目画素データは、ここで選択された画素に関するデータであり、したがって、最初は、画素番号として(0,0)が書き込まれる。
次に、ステップS45で、当該画素について、パラメータDの値を前述の(式1)により算出する。たとえば画素(0,0)については、D={(0−216/2)×1.0}+{(0−160/2) ×1.35}=20304のように計算され、これが注目画素データに書き込まれる。
次に、ステップS47で、当該画素について、前述したような手順で、加色値AをパラメータDに基づいて計算する。たとえば、画素(0,0)については、D(=20304)から4500を減算し、減算結果(=15804)を900で除算し、そして除算結果(=17.56)を加色値Aとする。こうして計算された加色値(A=17.56)は、注目画素データに書き込まれる。
次に、ステップS49で、当該画素について、加色値AをB成分に加算する。したがって、当該画素の成分は(R,G,B)から(R,G,B+A)に変化する。たとえば、画素(0,0)の元成分が(12,8,6)あれば、加色後は(12,8,23.56)に変化する。もし、元成分が(12,8,15)であれば、15+17.56=32.56>31なので、加色後は(12,8,31)となる。なお、小数点未満の端数については、切り捨て、切り上げまたは四捨五入を行ってよい。それらの処理は、B成分に加算する前(注目画素データに書き込むとき)に行ってもよいし、B成分に加算をするときでもよいし、加算をした後でもよい。
その後、ステップS41に戻って同様の処理を繰り返す。これにより、原画像100には、中心Cからの距離に応じた濃さの青色が画素単位で付されていく。そして、末尾の画素たとえば画素(215,159)について処理が終わると、ステップS41でYESと判別し、メインルーチン(図13〜図14)に復帰する。したがって、この時点で、画像エリア74には加色後の画像が記憶されていることになる。
上記ステップS31bのオブジェクト配置処理は、詳しくは、図16に示すサブルーチンに従って実行される。図16を参照して、CPU42は、まずステップS60で、原画像100を複数たとえば54×40個の区画106に分割し、次いでステップS61で、全区画106たとえば図6(B)に示した54×40個の区画106の全てについて確率を設定し終えたか否かを判別し、NOであれば、ステップS63で未設定区画の1つを選択する。なお、選択は、たとえば、図6(B)にジグザグの矢印で示されるように、左上の区画(1,1)から右下の区画(54,40)へ向けてラスタ走査に従う順序で行われる。図9(B)に示した注目区画データは、ここで選択された区画に関するデータであり、したがって、最初は、画素番号として(1,1)が書き込まれる。
次に、ステップS65で、当該区画106について、距離dの値を前述の(式2)により算出する。たとえば区画(1,1)については、中心Qの画素の座標を(2,2)とすると、d=√{(2−216/2)}+{(2−160/2) }≒132のように計算され、この計算結果(d=132)が注目画素データに書き込まれる。
次に、ステップS67で、当該区画106について、確率pを距離dに基づいて設定する。具体的には、確率テーブル80から距離dに対応する確率pを読み出して、注目区画データに書き込む。たとえば、区画(1,1)については、d=132なので、確率テーブル80から81≦dに対応するp=5%が読み出され、このp=5が注目区画データに書き込まれる。
次に、ステップS69で、当該区画106について、オブジェクトの種類をランダムに設定する。ここでは、設定可能なオブジェクトとして大中小3サイズの雪の結晶が準備されており、したがって、どのサイズの雪の結晶が設定される確率も約33%である。たとえば、区画(1,1)について、オブジェクトの種類として“雪の結晶(大)”が設定されたとすると、この設定つまり“雪の結晶(大)”が注目区画データに書き込まれる。
次に、ステップS71で、当該区画106について、確率pをオブジェクトの種類に応じて補正する。具体的には、倍率テーブル82からオブジェクトの種類に対応する倍率を読み出して、この倍率を確率pに乗算する。そして、乗算後の確率pを補正後の確率として注目区画データに書き込む。たとえば、区画(1,1)については、オブジェクトの種類は“雪の結晶(大)”なので、倍率テーブル82から“雪の結晶(大)”に対応する“×0.5”が読み出され、これを確率p=5%に乗算した結果(p=2.5)が補正後の確率pとして注目区画データに書き込まれる。なお、書き込みにあたっては、補正前の確率pを補正後の確率pで上書きしてよい。
次に、ステップS73で、当該区画106について、0〜99のいずれか1つの値をランダムに割り当てる。たとえば、区画(1,1)について、73が割り当てられたとすると、この割当値つまり“73”が注目区画データに書き込まれる。
次に、ステップS75で、当該区画106について、割当値は補正後の確率p未満か否かを判別し、NOであればステップS61に戻る。ステップS75でYESであれば、ステップS77で、当該区画106について、設定されたオブジェクトを配置(描画)し、その後ステップS61に戻る。ここでオブジェクトは、その中心が当該区画106の中心Qと一致するように配置(描画)されるが、必ずしも中心同士を一致させなくてもよい。
たとえば、区画(1,1)については、確率p=2.5%に対して割当値が73であり、割当値は確率p未満ではないことから、オブジェクトの描画は実行されない。ここで仮に、確率p=10%に対して割当値が8であれば、割当値は確率p未満なので、設定されたオブジェクトが描画されることになる。
このような処理が各区画106について繰り返し実行されることによって、画像エリア74に記憶されている加色後の画像に対し、中心Cからの距離に応じた確率でオブジェクトが配置(描画)されていく。そして、末尾の区画たとえば区画(54,40)について処理が終わると、ステップS61でYESと判別し、メインルーチン(図13〜図14)に復帰する。したがって、この時点で、画像エリア74には加色および描画後の画像が記憶されていることになる。
したがって、復帰後のステップS31cでは、この画像エリア74に記憶されている加色および描画後の画像が上側LCD14に表示される。言い換えると、LCD14上の原画像100が、加色および描画後の画像によって更新される。
以上から明らかなように、この実施例では、CPU42は、原画像100を複数の区画106に分割し(S60)、各区画106について、所定位置たとえば原画像100の中心Cからの距離dを算出し(S65)、算出された距離dに応じた確率pを設定し(S67)、設定された確率pに従って、当該区画106がオブジェクト(Obj1,Obj2,…)の描画を行う描画対象区画となるか否かを判別し(S73,S75)、そして描画対象位置となると判別された各区画106にオブジェクトの描画を行う(S77)。こうして、所定位置からの距離に応じて描画を行う確率を変化させることで、ユーザの指示に基づくことなく、確率による変化に富んだ描画を行うことができる。
また、CPU42は、原画像100を構成する各画素(P:図7参照)について、所定位置たとえば原画像100の中心Cからの距離に関するパラメータDを算出し(S45)、各画素について、算出された距離パラメータDに応じた加色を行う(S47,S49)。詳しくは、距離パラメータDに応じた加色値Aを算出し(S47)、算出された加色値Aを各画素の少なくとも1つの色成分(たとえばB)に対して加算する(S49)。こうして、所定位置からの距離に応じて加色することで、所定位置にある被写体を際立たせることができる。
なお、変形例では、大中小の雪の結晶以外にも、たとえば大小の星,花びらなど、より多様な形態(サイズ,形状,色,輝度,透明度,点滅周期など)のオブジェクトを描画してもよい。
また、区画106毎の確率に従ってオブジェクトを描画する代わりに、区画106毎の確率に従って逆光フィルタのようなエフェクトを加えてもよい。ここでエフェクトを「加える」とは、計算(フィルタ演算など)によって画素値を変化させることをいう。なお、オブジェクトの描画も、画素値を変化させることによって実現されるのだから、画素値を変化させることを「描画する」と定義すれば、「エフェクトを描画する」という表現も可能である。
なお、この実施例では、各カメラ16および18で撮像した画像を原画像100として加工したが、原画像100は、タッチパネル28で手書き入力した画像や、メモリカードI/F44を通してメモリカード38aから取り込んだ各種の画像(カメラ画像,手書き画像,スキャナ画像,CG画像など)でもよい。
なお、この実施例では、先に加色を行い、加色後の画像にオブジェクトを描画しているが、先にオブジェクトを描画し、描画後の画像に加色を行ってもよい。ただし、描画後の画像に加色を行えば、オブジェクトにも色が付く結果となる。
また、この実施例では、1画素毎に注目画素データを作成(更新)しつつ加色(色成分への加算)を行っているが、全画素分の画素データを作成した後に全画素一括で加色を行ってもよい。同様に、この実施例では、1区画毎に注目区画データを作成(更新)しつつ描画(オブジェクトの配置)を行っているが、全区画分の区画データを作成した後に全区画一括で描画を行ってもよい。
また、確率pの境界線B1,B2は、この実施例では同心円(図7参照)であるが、他の実施例では互いに平行な直線でもよい。たとえば、y軸に平行な直線(図20(A)参照)、またはx軸に平行な直線(図20(B)参照)、さらにはこれらの組み合わせつまり同心の長方形(図20(C)参照)ないし正方形であってもよい。
図20(A)の例では、y軸から遠ざかるほど確率pが高く(大きく)なるので、オブジェクトは原画像100の右寄りに偏在し、また、図20(B)の例では、x軸から遠ざかるほど確率pが高く(大きく)なるので、オブジェクトは原画像100の下寄りに偏在する結果となる。図20(C)の例では、図7の同心円の場合と同様、原画像100の中心から遠ざかるほど確率pが高く(大きく)なるので、オブジェクトは原画像100の周辺部に偏在する。そして、図20(A)〜図20(C)の境界B1,B2は、交差しない限り互いに平行でなくてもよく、直線でなくてもよい。
また、図示は省略するが、図7の境界線B1,B2(同心円)を横(x軸)または縦(y軸)方向に偏平させてもよい。たとえば、原画像100の縦横比に応じて、境界線B1,B2を楕円としてもよい。これは、たとえば、前述の(式1)で第1項および第2項に係数k1およびk2を乗算したのと同じように、前述の(式2)において、平方根内の第1項および第2項にk1およびk2を乗算することで実現される。
さらには、図7および図20(A)〜図20(C)に共通して、確率の境界線の数は2とは限らず、1または3以上でもよい。
また、この実施例では、オブジェクト配置(描画)処理を区画106単位で行ったが、画素単位で行ってもよい(すなわち、区画=画素と扱ってよい)。ただし、画素単位で行うと、処理量が膨大となる一方、区画単位で行えば、処理量は抑制される。また、区画単位の場合、区画サイズを適宜選ぶことで、オブジェクトの間隔を確保できる利点があるので、この実施例には、複数の画素から構成される区画単位の方が適する。
なお、たとえば画素単位でオブジェクト配置処理を行う場合には、連続(接近)してオブジェクトが描画されやすいため、連続した画素が描画対象とならないように、オブジェクトの間隔を調整する処理を入れることができる。また、区画単位でオブジェクト配置処理を行う場合にも、より間隔を空けて描画させたいときに、同様の間隔調整方法を適用することができる。間隔調整方法の例としては、オブジェクト同士が重ならない(所定値以上の隙間が確保される)最短距離を計算して、各オブジェクトを中心間の距離がこの最短距離以上となるように配置していく方法がある。また、同様に最短距離を計算して、いったんオブジェクトの位置(対象画素)を決定した後に、ある対象画素から最短距離内に別の対象画素が2つ以上存在していれば、そのうち1つを残して削除する(あるいは最短距離外に移動させる)方法もある。
なお、この実施例では、配置するオブジェクトの種類はランダムに決められるが、確率pの大小によって決められてもよい。例えば、確率pが高い場合には小さいオブジェクトを配置するようにすることで、オブジェクトの重なり合いを緩和でき、見栄えを良くすることができる。区画106の中心Qからの距離dに応じてオブジェクトの種類(大きさ)を決めるようにしてもよい。
また、この実施例では、オブジェクトの大きさによって確率pを変化させるようにしているが、大きさに限らず、色,形状,模様,輝度,透明度といった種類(視覚的な態様)またはそれらの組み合わせによって変化させてもよい。例えば、オブジェクトの色によって確率pを変化させる場合、同じ大きさかつ形状のオブジェクトで、赤色、橙色および黄色のものから1つをランダムに選択し、赤色のものには0.5、橙色のものには1.0(補正無し)、黄色のものには2.0の係数を掛け合わせることで補正を行うようにしてもよい。また、大きさは同じで形状が異なる(三角、四角、円など)オブジェクトの中で補正値を設定してもよく、さらにこれらに対して大きさを組み合わせて確率を変化させることもできる。
また、この実施例では、各区画106に配置するオブジェクトの種類をランダムに設定する際(S67)に、各種のオブジェクトを均等な割合(たとえば大中小のオブジェクトがある際は1/3ずつ)で選択したが、偏重した割合(たとえば大は1/2、中と小はそれぞれ1/4ずつ、など)であってもよい。
なお、以上の説明では、画像への加色や描画といった処理は、メインメモリ48内の画像エリア74に記憶された原画像100に対して行っているが、CPU42にVRAM(図示せず)が接続されている場合には、VRAMに展開されている原画像100に対して行ってもよい。
以上では、ゲーム装置10について説明したが、この発明は、コンピュータ(CPU)を備える画像処理装置(ゲーム機のほか、たとえばPC,PDA,携帯電話機など)に適用できる。各処理が複数のコンピュータ等によって分散処理されるような画像処理システムにも適用可能である。
10 …ゲーム装置
12,14 …(下側,上側)LCD
16,18 …(第1,第2)カメラ
42 …CPU
48 …メインメモリ
100 …原画像
106 …区画
B1,B2 …確率の境界線
C …中心点(画素)
P …任意の点(画素)
Q …任意の区画の中心点(画素)
Obj1,Obj2,Obj3 …(雪の結晶)オブジェクト

Claims (13)

  1. 画像処理装置のコンピュータを、
    画像の所定位置から前記画像上の各位置までの距離を算出する距離算出手段、
    前記各位置について、当該位置が所定の描画を行う描画対象位置となる確率を前記距離算出手段によって算出された距離に応じて設定する確率設定手段、
    前記各位置について、前記確率設定手段によって設定された確率に従って、当該位置が所定の描画を行う描画対象位置となるか否かを判別する描画対象位置判別手段、および
    前記描画対象位置判別手段によって描画対象位置となると判別された各位置に前記所定の描画を行う描画手段として機能させ
    前記確率設定手段は、前記画像の所定位置から一定距離以内の各位置に設定された確率を減少させる、画像処理プログラム。
  2. 前記所定位置は、前記画像の中心位置であり、
    前記確率設定手段は、前記距離算出手段によって算出された距離が大きいほど、高い確率を設定する、請求項1記載の画像処理プログラム。
  3. 前記画像は2以上の画素からなる複数の区画から構成され、
    前記距離算出手段は前記画像の所定位置から前記画像上の各区画までの距離を算出し、
    前記確率設定手段は、前記各区画について、前記距離算出手段によって算出された当該区画までの距離に応じた確率を設定し、
    前記描画対象位置判別手段は、前記各区画について、前記確率設定手段によって設定された確率に従って、当該区画が所定の描画を行う描画対象区画となるか否かを判別し、
    前記描画手段は、前記描画対象位置判別手段によって描画対象位置となると判別された各描画対象区画について1回の前記所定の描画を行う、請求項1記載の画像処理プログラム。
  4. 前記画像処理装置のコンピュータを、
    前記各位置に描画を行うオブジェクトを、種類が異なる複数のオブジェクトから選択するオブジェクト選択手段、および
    前記オブジェクト選択手段によって選択されたオブジェクトの種類に応じて、前記確率設定手段によって設定された前記確率を補正する確率補正手段としてさらに機能させ、
    前記描画対象位置判別手段は、前記各位置について、前記確率補正手段によって補正された確率に従って、当該位置が所定の描画を行う描画対象位置となるか否かを判別する、請求項1記載の画像処理プログラム。
  5. 前記画像処理装置のコンピュータを、
    前記距離算出手段によって算出された距離に応じた加色値を算出する加色値算出手段、および
    前記加色値算出手段によって算出された加色値を前記各位置の少なくとも1つの色成分に対して加算する加色値加算手段としてさらに機能させる、請求項1記載の画像処理プログラム。
  6. 前記加色値算出手段は、前記距離算出手段によって算出された距離が大きいほど加色値を増大させる、請求項5記載の画像処理プログラム。
  7. 前記画像処理装置のコンピュータを、
    前記描画手段によって前記所定の描画が行われた後の前記画像を出力する出力手段、および
    実行指示が行われる度に、前記所定の描画が行われる前の前記画像に対して前記距離算出手段ないし前記出力手段による一連の画像処理を実行させる実行制御手段としてさらに機能させる、請求項1記載の画像処理プログラム。
  8. 前記画像処理装置のコンピュータを、
    前記所定の描画が行われた後の前記画像が出力されている状態で保存指示が行われたとき、前記所定の描画が行われた後の前記画像を保存する保存手段としてさらに機能させる、請求項7記載の画像処理プログラム。
  9. 前記距離算出手段は前記画像の所定位置から前記画像の各画素までの距離をさらに算出し、
    前記画像処理装置のコンピュータを、
    前記距離算出手段によって算出された各画素までの距離に応じた加色値を算出する加色値算出手段、および
    前記加色値算出手段によって算出された加色値を前記各画素の少なくとも1つの色成分に対して加算する加色値加算手段としてさらに機能させる、請求項3記載の画像処理プログラム。
  10. 前記画像処理装置は、撮像手段をさらに備え、
    前記画像処理プログラムは、前記画像処理装置のコンピュータを、前記撮像手段によって撮像された画像を読み込む画像読込手段としてさらに機能させ、
    前記距離算出手段は、前記画像読込手段によって読み込まれた画像の所定位置から、当該画像上の各位置までの距離を算出する、請求項1記載の画像処理プログラム。
  11. 画像の所定位置から前記画像上の各位置までの距離を算出する距離算出手段、
    前記各位置について、当該位置が所定の描画を行う描画対象位置となる確率を前記距離算出手段によって算出された距離に応じて設定する確率設定手段、
    前記各位置について、前記確率設定手段によって設定された確率に従って、当該位置が所定の描画を行う描画対象位置となるか否かを判別する描画対象位置判別手段、および
    前記描画対象位置判別手段によって描画対象位置となると判別された各位置に前記所定の描画を行う描画手段を備え
    前記確率設定手段は、前記画像の所定位置から一定距離以内の各位置に設定された確率を減少させる、画像処理装置。
  12. 画像の所定位置から前記画像上の各位置までの距離を算出する距離算出手段、
    前記各位置について、当該位置が所定の描画を行う描画対象位置となる確率を前記距離算出手段によって算出された距離に応じて設定する確率設定手段、
    前記各位置について、前記確率設定手段によって設定された確率に従って、当該位置が所定の描画を行う描画対象位置となるか否かを判別する描画対象位置判別手段、および
    前記描画対象位置判別手段によって描画対象位置となると判別された各位置に前記所定の描画を行う描画手段を備え
    前記確率設定手段は、前記画像の所定位置から一定距離以内の各位置に設定された確率を減少させる、画像処理システム。
  13. 画像の所定位置から前記画像上の各位置までの距離を算出する距離算出ステップ、
    前記各位置について、当該位置が所定の描画を行う描画対象位置となる確率を前記距離算出ステップによって算出された距離に応じて設定する確率設定ステップ、
    前記各位置について、前記確率設定ステップによって設定された確率に従って、当該位置が所定の描画を行う描画対象位置となるか否かを判別する描画対象位置判別ステップ、および
    前記描画対象位置判別ステップによって描画対象位置となると判別された各位置に前記所定の描画を行う描画ステップを備え
    前記確率設定ステップは、前記画像の所定位置から一定距離以内の各位置に設定された確率を減少させる、画像処理方法。
JP2010052530A 2010-03-10 2010-03-10 画像処理プログラム、画像処理装置、画像処理方法および画像処理システム Active JP5844962B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010052530A JP5844962B2 (ja) 2010-03-10 2010-03-10 画像処理プログラム、画像処理装置、画像処理方法および画像処理システム
US12/816,705 US8401237B2 (en) 2010-03-10 2010-06-16 Image processing program, image processing apparatus, image processing method and image processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010052530A JP5844962B2 (ja) 2010-03-10 2010-03-10 画像処理プログラム、画像処理装置、画像処理方法および画像処理システム

Publications (2)

Publication Number Publication Date
JP2011186869A JP2011186869A (ja) 2011-09-22
JP5844962B2 true JP5844962B2 (ja) 2016-01-20

Family

ID=44559995

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010052530A Active JP5844962B2 (ja) 2010-03-10 2010-03-10 画像処理プログラム、画像処理装置、画像処理方法および画像処理システム

Country Status (2)

Country Link
US (1) US8401237B2 (ja)
JP (1) JP5844962B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013067539A1 (en) 2011-11-04 2013-05-10 Massachusetts Eye & Ear Infirmary Adaptive visual assistive device
CN108597000A (zh) * 2018-04-25 2018-09-28 网易(杭州)网络有限公司 图像绘制的方法及装置
CN113018856A (zh) * 2021-03-30 2021-06-25 网易(杭州)网络有限公司 图像处理方法、装置、电子设备及存储介质
US12061542B2 (en) 2022-06-22 2024-08-13 SanDisk Technologies, Inc. Memory device with latch-based neural network weight parity detection and trimming
US12051482B2 (en) 2022-06-22 2024-07-30 SanDisk Technologies, Inc. Data storage device with noise injection
US12001693B2 (en) 2022-06-22 2024-06-04 Western Digital Technologies, Inc. Data storage device with noise injection
US12032959B2 (en) 2022-06-22 2024-07-09 Western Digital Technologies, Inc. Non-volatile memory die with latch-based multiply-accumulate components

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2187704C (en) * 1996-10-11 1999-05-04 Darcy Kim Rossmo Expert system method of performing crime site analysis
JP3753617B2 (ja) * 2001-02-16 2006-03-08 コニカミノルタフォトイメージング株式会社 デジタル撮影装置、画像処理装置および記録媒体
US6845171B2 (en) * 2001-11-19 2005-01-18 Microsoft Corporation Automatic sketch generation
JP2004179845A (ja) * 2002-11-26 2004-06-24 Matsushita Electric Ind Co Ltd 画像処理方法及びその装置
JP3696216B2 (ja) * 2003-03-05 2005-09-14 株式会社スクウェア・エニックス 3次元ビデオゲーム装置、3次元ビデオゲームにおける仮想カメラの制御方法、並びにプログラム及び記録媒体
JP4339675B2 (ja) * 2003-12-24 2009-10-07 オリンパス株式会社 グラデーション画像作成装置及びグラデーション画像作成方法
US7564816B2 (en) * 2006-05-12 2009-07-21 Shared Spectrum Company Method and system for determining spectrum availability within a network
US8031961B2 (en) * 2007-05-29 2011-10-04 Hewlett-Packard Development Company, L.P. Face and skin sensitive image enhancement

Also Published As

Publication number Publication date
US20110222735A1 (en) 2011-09-15
US8401237B2 (en) 2013-03-19
JP2011186869A (ja) 2011-09-22

Similar Documents

Publication Publication Date Title
JP5478268B2 (ja) 画像処理プログラム、画像処理装置、画像処理方法および画像処理システム
JP5844962B2 (ja) 画像処理プログラム、画像処理装置、画像処理方法および画像処理システム
JP5498817B2 (ja) ゲームプログラムおよびゲーム装置
CN106231178B (zh) 一种自拍方法和移动终端
US8947365B2 (en) Storage medium storing image processing program for implementing image processing according to input coordinate, and information processing device
US20170041528A1 (en) Camera device control related methods and apparatus
CN107635093A (zh) 一种图像处理方法、移动终端及计算机可读存储介质
US20100053206A1 (en) Storage medium having stored thereon image processing program and image processing apparatus
JP2009077384A (ja) 携帯型撮像装置およびプログラム
JP2012014680A (ja) 情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法
JP5563108B2 (ja) 撮影装置、撮影方法およびプログラム
CN106096043B (zh) 一种拍照方法和移动终端
CN108449546A (zh) 一种拍照方法及移动终端
US8643679B2 (en) Storage medium storing image conversion program and image conversion apparatus
CN114143461B (zh) 拍摄方法、装置及电子设备
JP6582466B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
CN111787230A (zh) 图像显示方法、装置和电子设备
CN114494073A (zh) 图像处理方法、装置、设备及存储介质
JP5689655B2 (ja) 受信状況表示プログラム、情報処理装置、情報処理システム、受信状況表示方法
JP2022002393A (ja) 画像処理装置、画像データ提供装置、写真撮影遊戯装置、画像データ提供システム、画像表示方法、および画像表示プログラム
JP5363797B2 (ja) ゲームプログラムおよびゲーム装置
CN108259727A (zh) 一种景深图像生成方法及移动终端
CN103108129B (zh) 一种摄像装置和摄像方法
TWI234997B (en) Method for using the image data to change the object and the type of the object
JP5958047B2 (ja) 写真撮影遊戯装置、画像生成方法、及び画像生成プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140120

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140318

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140613

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140624

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20140808

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151120

R150 Certificate of patent or registration of utility model

Ref document number: 5844962

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250