(57)【特許請求の範囲】
【請求項１】
コンピュータに、オブジェクトの輪郭を表す閉じた線であるべき輪郭線に基づいて、オブジェクト領域を認識させるためのプログラムであって、
前記輪郭線の側方に基線を設定する基線設定手段、
前記設定された基線から前記輪郭線側へ向かう所定の走査方向へ前記輪郭線に接触するまで走査し、各走査線の長さを算出する走査手段、
前記走査された各走査線のうち、近隣の走査線の長さの変化に基づいて、長さを補正すべき走査線を検出する補正対象走査線検出手段、
前記検出された走査線の長さを前記基線側を固定点として補正する補正手段、
前記走査された走査線及び前記補正された走査線によって占められた部分をオブジェクト領域でない領域外部分と判定する領域外部分判定手段、
前記領域外部分判定手段により判定された領域外部分に基づいてオブジェクト領域を識別するオブジェクト領域識別手段、
として前記コンピュータを機能させるためのプログラム。
【請求項２】
前記基線設定手段が異なる複数の基線を設定し、該複数の基線それぞれに対して前記走査手段が走査及び走査線の長さ算出を行うとともに前記補正手段が走査線の補正を行い、前記領域外部分判定手段が該複数の基線それぞれについての領域外部分を判定し、前記オブジェクト領域識別手段が該判定された各領域外部分に基づいてオブジェクト領域を識別する、ように前記コンピュータを機能させるための請求項１に記載のプログラム。
【請求項３】
コンピュータに、オブジェクトの輪郭を表す閉じた線であるべき輪郭線に基づいて、オブジェクト領域を認識させるためのプログラムであって、
前記輪郭線を包囲する基線を設定する基線設定手段、
前記設定された基線から前記輪郭線側へ向かう所定の走査方向へ前記輪郭線に接触するまで走査し、各走査線の長さを算出する走査手段、
前記走査された各走査線のうち、近隣の走査線の長さの変化に基づいて、長さを補正すべき走査線を検出する補正対象走査線検出手段、
前記検出された走査線の長さを前記基線側を固定点として補正する補正手段、
前記走査された走査線及び前記補正された走査線によって占められた部分をオブジェクト領域でない領域外部分と判定する領域外部分判定手段、
前記領域外部分判定手段により判定された領域外部分に基づいてオブジェクト領域を識別するオブジェクト領域識別手段、
として前記コンピュータを機能させるためのプログラム。
【請求項４】
前記補正対象走査線検出手段が、前記走査された走査線の中から、連続して隣接する所定数の走査線のうちの最短の走査線の長さと最長の走査線の長さとの差が差分過大条件を満たす当該連続走査線群を検出し、検出した連続走査線群に含まれる走査線を補正すべき走査線として検出するように前記コンピュータを機能させるための請求項１〜３の何れか一項に記載のプログラム。
【請求項５】
前記補正対象走査線検出手段が、前記検出された連続走査線群に含まれる走査線のうち、所定位置の走査線を補正すべき走査線として検出するように前記コンピュータを機能させるための請求項４に記載のプログラム。
【請求項６】
前記補正手段が、前記検出された連続走査線群中の最短の走査線の長さ、又は、当該連続走査線群の平均長になるように補正するように前記コンピュータを機能させるための請求項４又は５に記載のプログラム。
【請求項７】
前記オブジェクト領域識別手段が、
前記領域外部分判定手段により判定された領域外部分以外の領域をオブジェクト領域として識別する識別手段と、
前記識別手段により識別されたオブジェクト領域に挟まれた領域外部分をオブジェクト領域として補完的に識別する第１の補完識別手段と、
を有するように前記コンピュータを機能させるための請求項１〜６の何れか一項に記載のプログラム。
【請求項８】
前記オブジェクト領域識別手段が、前記識別手段又は前記第１の補完識別手段により識別されたオブジェクト領域と、前記輪郭線とに挟まれた領域外部分をオブジェクト領域として補完的に識別する第２の補完識別手段を有するように前記コンピュータを機能させるための請求項７に記載のプログラム。
【請求項９】
請求項１〜８の何れか一項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項１０】
オブジェクトの輪郭を表す閉じた線であるべき輪郭線に基づいて、オブジェクト領域を認識する輪郭内領域認識装置であって、
前記輪郭線の側方に基線を設定する基線設定手段と、
前記設定された基線から前記輪郭線側へ向かう所定の走査方向へ前記輪郭線に接触するまで走査し、各走査線の長さを算出する走査手段と、
前記走査された各走査線のうち、近隣の走査線の長さの変化に基づいて、長さを補正すべき走査線を検出する補正対象走査線検出手段と、
前記検出された走査線の長さを前記基線側を固定点として補正する補正手段と、
前記走査された走査線及び前記補正された走査線によって占められた部分をオブジェクト領域でない領域外部分と判定する領域外部分判定手段と、
前記領域外部分判定手段により判定された領域外部分に基づいてオブジェクト領域を識別するオブジェクト領域識別手段と、
を備えた輪郭内領域認識装置。
【請求項１１】
オブジェクトの輪郭を表す閉じた線であるべき輪郭線に基づいて、オブジェクト領域を認識する輪郭内領域認識装置であって、
前記輪郭線を包囲する基線を設定する基線設定手段と、
前記設定された基線から前記輪郭線側へ向かう所定の走査方向へ前記輪郭線に接触するまで走査し、各走査線の長さを算出する走査手段、
前記走査された各走査線のうち、近隣の走査線の長さの変化に基づいて、長さを補正すべき走査線を検出する補正対象走査線検出手段と、
前記検出された走査線の長さを前記基線側を固定点として補正する補正手段と、
前記走査された走査線及び前記補正された走査線によって占められた部分をオブジェクト領域でない領域外部分と判定する領域外部分判定手段と、
前記領域外部分判定手段により判定された領域外部分に基づいてオブジェクト領域を識別するオブジェクト領域識別手段と、
を備えた輪郭内領域認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクトの輪郭を表す閉じた線であるべき輪郭線に基づいて、オブジェクト領域を認識させるためのプログラム等に関する。
【背景技術】
【０００２】
図形や絵柄を描画する機能を備えた装置として、閉図形が作図された際にその輪郭線が閉じているかどうかの判定を行い、閉じていない輪郭線部分を探して修正するものが知られている（特許文献１参照。）。
【特許文献１】特開平９−１２８５５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、前述の特許文献１の技術には、閉図形の閉じていない箇所を自動的に繋げるとする記載が開示されているが、繋げるための具体的な手法が開示されていないため繋ぎ方の手法として参考になるものではなかった。ましてや、閉じていない輪郭線に基づいて当該閉図形の領域（オブジェクト領域）を適切に認識したい場合には、特許文献１は参考になるものではなかった。
【０００４】
そこで本発明は、閉じた線であるべき輪郭線が閉じていない場合に、そのオブジェクト領域を適切に認識することを目的とする。
【課題を解決するための手段】
【０００５】
以上の課題を解決するための第１の発明は、コンピュータに、オブジェクトの輪郭を表す閉じた線であるべき輪郭線に基づいて、オブジェクト領域を認識させるためのプログラム（例えば、図６のゲームプログラム６１０）であって、
前記輪郭線の側方に基線を設定する基線設定手段（例えば、図６のオブジェクト領域認識部２１１）、
前記設定された基線から前記輪郭線側へ向かう所定の走査方向へ前記輪郭線に接触するまで走査し、各走査線の長さを算出する走査手段（例えば、図６の領域外部分判定部２１１ａ）、
前記走査された各走査線のうち、近隣の走査線の長さの変化に基づいて、長さを補正すべき走査線を検出する補正対象走査線検出手段（例えば、図６の領域外部分判定部２１１ａ）、
前記検出された走査線の長さを前記基線側を固定点として補正する補正手段（例えば、図６の領域外部分判定部２１１ａ）、
前記走査された走査線及び前記補正された走査線によって占められた部分をオブジェクト領域でない領域外部分と判定する領域外部分判定手段（例えば、図６の領域外部分判定部２１１ａ）、
前記領域外部分判定手段により判定された領域外部分に基づいてオブジェクト領域を識別するオブジェクト領域識別手段（例えば、図６のオブジェクト領域認識部２１１）、
として前記コンピュータを機能させるためのプログラムである。
【０００６】
また他の発明として、オブジェクトの輪郭を表す閉じた線であるべき輪郭線に基づいて、オブジェクト領域を認識する輪郭内領域認識装置（例えば、図６のゲーム装置１）であって、
前記輪郭線の側方に基線を設定する基線設定手段と、
前記設定された基線から前記輪郭線側へ向かう所定の走査方向へ前記輪郭線に接触するまで走査し、各走査線の長さを算出する走査手段と、
前記走査された各走査線のうち、近隣の走査線の長さの変化に基づいて、長さを補正すべき走査線を検出する補正対象走査線検出手段と、
前記検出された走査線の長さを前記基線側を固定点として補正する補正手段と、
前記走査された走査線及び前記補正された走査線によって占められた部分をオブジェクト領域でない領域外部分と判定する領域外部分判定手段と、
前記領域外部分判定手段により判定された領域外部分に基づいてオブジェクト領域を識別するオブジェクト領域識別手段と、
を備えた輪郭内領域認識装置が考えられる。
【０００７】
斯かる第１の発明等によれば、オブジェクトの輪郭線の側方に設定した基線から前記輪郭線に接触するまで走査した走査線の長さを算出するとともに、近隣の走査線の長さの変化に基づいて、前記算出した走査線の長さを基線側を固定点として補正する。そして、走査線によって占められた部分をオブジェクト領域でない領域外部分と判定することによって、オブジェクト領域を識別することができる。したがって、閉じた線であるべき輪郭線が閉じていない場合であっても、そのオブジェクト領域を適切に認識することができる。
【０００８】
また第２の発明は、第１の発明のプログラムであって、
前記基線設定手段が異なる複数の基線を設定し、該複数の基線それぞれに対して前記走査手段が走査及び走査線の長さ算出を行うとともに前記補正手段が走査線の補正を行い、前記領域外部分判定手段が該複数の基線それぞれについての領域外部分を判定し、前記オブジェクト領域識別手段が該判定された各領域外部分に基づいてオブジェクト領域を識別するように前記コンピュータを機能させるためのプログラムである。
【０００９】
斯かる第２の発明によれば、異なる複数の基線それぞれについて算出・補正した長さの走査線によって占められた部分に基づいて、オブジェクト領域を識別することができる。
【００１０】
そして、第３の発明は、コンピュータに、オブジェクトの輪郭を表す閉じた線であるべき輪郭線に基づいて、オブジェクト領域を認識させるためのプログラム（例えば、図６のゲームプログラム６１０）であって、
前記輪郭線を包囲する基線を設定する基線設定手段（例えば、図６のオブジェクト領域認識部２１１）、
前記設定された基線から前記輪郭線側へ向かう所定の走査方向へ前記輪郭線に接触するまで走査し、各走査線の長さを算出する走査手段（例えば、図６の領域外部分判定部２１１ａ）、
前記走査された各走査線のうち、近隣の走査線の長さの変化に基づいて、長さを補正すべき走査線を検出する補正対象走査線検出手段（例えば、図６の領域外部分判定部２１１ａ）、
前記検出された走査線の長さを前記基線側を固定点として補正する補正手段（例えば、図６の領域外部分判定部２１１ａ）、
前記走査された走査線及び前記補正された走査線によって占められた部分をオブジェクト領域でない領域外部分と判定する領域外部分判定手段（例えば、図６の領域外部分判定部２１１ａ）、
前記領域外部分判定手段により判定された領域外部分に基づいてオブジェクト領域を識別するオブジェクト領域識別手段（例えば、図６のオブジェクト領域認識部２１１）、
として前記コンピュータを機能させるためのプログラムである。
【００１１】
また他の発明として、オブジェクトの輪郭を表す閉じた線であるべき輪郭線に基づいて、オブジェクト領域を認識する輪郭内領域認識装置（例えば、図６のゲーム装置１）であって、
前記輪郭線を包囲する基線を設定する基線設定手段と、
前記設定された基線から前記輪郭線側へ向かう所定の走査方向へ前記輪郭線に接触するまで走査し、各走査線の長さを算出する走査手段、
前記走査された各走査線のうち、近隣の走査線の長さの変化に基づいて、長さを補正すべき走査線を検出する補正対象走査線検出手段と、
前記検出された走査線の長さを前記基線側を固定点として補正する補正手段と、
前記走査された走査線及び前記補正された走査線によって占められた部分をオブジェクト領域でない領域外部分と判定する領域外部分判定手段と、
前記領域外部分判定手段により判定された領域外部分に基づいてオブジェクト領域を識別するオブジェクト領域識別手段と、
を備えたゲーム装置が考えられる。
【００１２】
斯かる第３の発明等によれば、オブジェクトの輪郭線を包囲する基線から前記輪郭線に接触するまで走査した走査線の長さを算出するとともに、近隣の走査線の長さの変化に基づいて、前記算出した走査線の長さを基線側を固定点として補正する。そして、走査線によって占められた部分をオブジェクト領域でない領域外部分と判定することによって、オブジェクト領域を識別することができる。したがって、閉じた線であるべき輪郭線が閉じていない場合であっても、そのオブジェクト領域を適切に認識することができる。
【００１３】
第４の発明は、第１〜第３の何れかの発明のプログラムであって、
前記補正対象走査線検出手段が、前記走査された走査線の中から、連続して隣接する所定数の走査線のうちの最短の走査線の長さと最長の走査線の長さとの差が差分過大条件を満たす当該連続走査線群を検出し、検出した連続走査線群に含まれる走査線を補正すべき走査線として検出するように前記コンピュータを機能させるためのプログラムである。
【００１４】
斯かる第４の発明によれば、連続して隣接する所定数の走査線のうちの最短の走査線の長さと最長の走査線の長さとの差をもとに連続走査線群を検出することで、長さを補正すべき走査線を検出することができる。
【００１５】
そして、第５の発明は、第４の発明のプログラムであって、
前記補正対象走査線検出手段が、前記検出された連続走査線群に含まれる走査線のうち、所定位置の走査線を補正すべき走査線として検出するように前記コンピュータを機能させるためのプログラムである。
【００１６】
斯かる第５の発明によれば、前記検出された連続走査線群に含まれる走査線のうち、所定位置の走査線を補正することができる。
【００１７】
そして、第６の発明は、第４又は第５の発明のプログラムであって、
前記補正手段が、前記検出された連続走査線群中の最短の走査線の長さ、又は、当該連続走査線群の平均長になるように補正するように前記コンピュータを機能させるためのプログラムである。
【００１８】
斯かる第６の発明によれば、前記検出された補正すべき走査線の長さを、前記検出された連続走査線群中の最短の走査線の長さ、又は当該連続走査線群の平均長に補正することができる。
【００１９】
また第７の発明は、第１〜第６の何れかの発明のプログラムであって、
前記オブジェクト領域識別手段が、
前記領域外部分判定手段により判定された領域外部分以外の領域をオブジェクト領域として識別する識別手段（例えば、図６のオブジェクト領域認識部２１１）と、
前記識別手段により識別されたオブジェクト領域に挟まれた領域外部分をオブジェクト領域として補完的に識別する第１の補完識別手段（例えば、図６のオブジェクト領域認識部２１１）と、
を有するように前記コンピュータを機能させるためのプログラムである。
【００２０】
斯かる第７の発明によれば、第１の補完識別手段によって、領域外部分のうちのオブジェクト領域に挟まれた領域外部分をオブジェクト領域として識別することができる。
【００２１】
また第８の発明は、第７の発明のプログラムであって、
前記オブジェクト領域識別手段が、前記識別手段又は前記第１の補完識別手段により識別されたオブジェクト領域と、前記輪郭線とに挟まれた領域外部分をオブジェクト領域として補完的に識別する第２の補完識別手段（例えば、図６のオブジェクト領域認識部２１１）を有するように前記コンピュータを機能させるためのプログラムである。
【００２２】
斯かる第８の発明によれば、前記第１の補完識別手段によってオブジェクト領域として補完的に識別された領域外領域と輪郭線とに挟まれた領域外部分をオブジェクト領域として識別することができる。
【００２３】
また第９の発明は、第１〜第８の何れかの発明のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体（例えば、図１に示すカートリッジ５０）である。
【００２４】
斯かる第９の発明によれば、コンピュータに、情報記憶媒体からプログラムを読み出させて演算処理させることによって、第１〜第８の何れかの発明と同様の作用効果を奏する情報記憶媒体を実現することができる。
【発明の効果】
【００２５】
本発明によれば、オブジェクトの輪郭線の側方に設定した基線から前記輪郭線に接触するまで走査した走査線の長さを算出するとともに、近隣の走査線の長さの変化に基づいて、前記算出した走査線の長さを基線側を固定点として補正する。そして、走査線によって占められた部分をオブジェクト領域でない領域外部分と判定することによって、オブジェクト領域を識別することができる。したがって、閉じた線であるべき輪郭線が閉じていない場合であっても、そのオブジェクト領域を適切に認識することができる。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照し、本発明を適用したゲーム装置について詳細に説明する。尚、本実施形態は、手本を模して絵柄を手書き入力する「お絵かきゲーム」に関する実施形態である。
【００２７】
［概要］
図１は、ゲーム装置１の装置構成の一例を示す図である。図１に示すゲーム装置１は、上側の筐体１０と下側の筐体２０とがヒンジ３０を介して開閉可能に連結されて構成された折り畳み式の携帯型ゲーム機であり、同図において、使用時であるゲーム装置１の開状態を示している。
【００２８】
各筐体１０，２０の内側面には、使用時においてヒンジ３０を挟んで上下に並ぶように配置された２つのディスプレイ３００ａ，３００ｂやスピーカ１１、各種の操作ボタン２１等が設けられている。尚、以下では、使用時に上側となるディスプレイ３００ａを「上画面３００ａ」、下側となるディスプレイ３００ｂを「下画面３００ｂ」という。
【００２９】
下画面３００ｂには、その表示領域全体に亘ってタッチパネル（図示略）が一体的に形成されており、タッチパネルは、感圧式や光学式、静電式、電磁誘導式等の検出原理によって、タッチ操作位置を、下画面３００ｂを構成するドット単位で検出する。プレーヤは、付属のスタイラスペン４０や手指による下画面３００ｂ上のタッチ操作によって、各種の操作入力を行うことができる。
【００３０】
このゲーム装置１では、ゲーム処理を実行するために必要なプログラムやデータ等を格納する情報記憶媒体として、筐体２０の側面に設けられたスロット２３に着脱自在なカートリッジ５０が用いられる。
【００３１】
そしてゲーム装置１は、不図示であるが、ＣＰＵやＩＣメモリ類を搭載した制御ユニット、カートリッジ５０の読取装置等を内蔵しており、カートリッジ５０から読み出したプログラムやデータ、タッチパネルにより検出されたタッチ操作位置や操作ボタン２１から入力される操作信号等に基づいて種々のゲーム処理を実行し、ゲーム画面の画像信号及びゲーム音の音信号を生成する。生成したゲーム画面の画像信号は上画面３００ａや下画面３００ｂに表示出力され、ゲーム音の音信号はスピーカ１１から音出力される。
【００３２】
本実施形態では、ゲーム装置１は、「顔」の絵柄を出題画像として上画面３００ａに表示させて問題を出題するとともに、下画面３００ｂにおいて回答入力エリアを指示し、回答画像の入力を受け付ける。そして、下画面３００ｂに手書き入力された回答画像中の顔の領域を認識し、例えば認識した顔領域を肌色で色付けする等してゲームを進行していく。プレーヤは、下画面３００ｂ上のタッチ操作によって回答画像を手書き入力して回答を行い、お絵かきゲームを楽しむ。
【００３３】
図２は、ゲーム画面の一例を示す図であり、上画面３００ａに表示される出題画面を上段に示し、下画面３００ｂに表示される回答入力画面を下段に示している。
【００３４】
図２では、上画面３００ａの出題画面において、顔の輪郭を表す閉じた輪郭線Ｌ１内に、「目」や「口」が配置された顔画像が出題画像として表示されている。
一方下画面３００ｂの回答入力画面では、例えば、問題の出題時において回答入力エリアＡを指示し、プレーヤの回答を促す。そして、図２に示すように、回答入力エリアＡ内でスタイラスペン４０によりタッチ操作されたドットの集合体が回答画像として表示されるようになっている。完成ボタンＢＴＮをタッチ操作したならば回答画像が確定され、顔領域内を色付けするための前処理としてオブジェクト領域認識処理が行われ、当該回答画像中の顔領域が認識される。このオブジェクト領域認識処理では、図２に示す回答画像中の破線で示す部分Ａ１のように、閉じた線であるべき輪郭線Ｌ３が閉じていない場合を想定して顔領域が認識される。
【００３５】
［オブジェクト領域認識処理の原理］
ここで、オブジェクト領域認識処理の原理について図３〜図５を参照して説明する。以下本実施形態では、回答入力エリアＡを、横（Ｘ方向）に２５ドット、縦（Ｙ方向）に２５ドット備えた領域とし、各列を「Ｘ１」「Ｘ２」・・・「Ｘ２５」、各行を「Ｙ１」「Ｙ２」・・・「Ｙ２５」と表す。また、図３〜図５では、説明を簡明にするため、顔の輪郭線のみを回答画像として図示している。
【００３６】
オブジェクト領域認識処理では、先ず、回答入力エリアＡの上辺、下辺、左辺、及び右辺の各辺をそれぞれ基線とした領域外部分判定処理が行われる。具体的には、先ず走査線分長を算出する走査処理（１）が行われ、次いで算出した走査線分長を補正する補正処理（２）が行われる。
【００３７】
（１）走査処理
走査処理では、基線と直交する方向を走査方向とし、基線側の各ドットそれぞれを基点とした走査方向への走査を行う。そして、回答画像を構成するドットと接触するまでの走査の線分を走査線として、走査線分長を算出する。回答画像を構成するドットと接触しない場合には、対向する辺まで走査が行われ、走査線分長が算出されるようになっている。
【００３８】
図３は、回答入力エリアＡの下辺を基線とした走査処理について説明するための図である。下辺を基線とした場合には、下辺と直交する方向（Ｙ方向）を走査方向とし、下辺側の各ドットそれぞれを基点としたＹ軸に沿って下から上方向への走査を行って走査線分長を算出する。
【００３９】
例えば、列「Ｘ１」の下辺側のドットＤ１１を基点とした走査では、回答画像を構成するドットとは接触しないため対向する上辺側のドットＤ１２まで走査が行われ、走査線分長は「２５」と算出される。
一方、列「Ｘ１０」の下辺側のドットＤ１３を基点とした走査では、回答画像を構成するドットＤ１４と接触するまで走査が行われ、走査線分長は“３”と算出される。
また、列「Ｘ１５」の下辺側のドットＤ１５を基点とした走査では、回答画像を構成するドットＤ１６と接触するまで走査が行われ、走査線分長は“２２”と算出される。
【００４０】
このように算出される走査線分長は、輪郭線が閉じていないところで大きく変化することがわかる。例えば、閉じていない輪郭線部分である列「Ｘ１５」の走査線分長が“２２”であるのに対し、隣接する列「Ｘ１４」の走査線分長は“４”と大きく異なる。一方、閉じている輪郭線部分である列「Ｘ１０」の走査線分長は“３”であり、例えば隣接する列「Ｘ９」の走査線分長“４”との差は小さい。続く補正処理では、近隣の走査線分長の変化に基づいて長さを補正すべき走査線を検出し、当該検出した走査線の走査線分長を、基線側を固定点として補正する。
【００４１】
（２）補正処理
補正処理では、各走査線それぞれを補正対象として次の処理を実行する。すなわち先ず、補正対象の走査線を中心として連続する所定数本の走査線（例えば５本の走査線）を、連続走査線群として選択する。次いで、選択した連続走査線群に含まれる最短の走査線分長（最短線分長）と最長の走査線分長（最長線分長）との差が差分過大条件を満たすか否かを判定する。具体的には、最短線分長と最長線分長との差が所定の閾値以上（例えば「１０」以上）ならば、差分過大条件を満たすと判定する。差分過大条件を満たす場合には、基線側を固定点として当該補正対象の走査線の走査線分長を補正する。例えば、当該連続走査線群の最短線分長に置き換えて補正する。尚ここで、当該連続走査線群に含まれる走査線分長の平均長に置き換えて補正することとしてもよい。
【００４２】
図４は、補正処理について説明するための図であり、同図（ａ）において、図３に示した走査処理の結果算出された走査線分長が補正される様子を示している。
【００４３】
例えば、図４（ａ）に示すように、走査線分長が“２２”である走査線Ｌ２１（図３に示した閉じていない輪郭線部分である列「Ｘ１５」の下辺側のドットＤ１５を基点とした走査線）に着目すれば、当該走査線Ｌ２１を基準とした５本の連続走査線群Ｒ２１が選択される。そして、この連続走査線群Ｒ２１の最短線分長“４”と最長線分長“２２”との差分“１８”によって前述の差分過大条件を満たすか否かが判定される。この場合には、差分過大条件を満たすので、走査線Ｌ２１の走査線分長が、当該連続走査線群Ｒ２１の最短線分長“４”に置き換えられて補正される。
【００４４】
一方、走査線分長が“３”である走査線Ｌ２３（図３に示した閉じている輪郭線部分である列「Ｘ１０」の下辺側のドットＤ１３を基点とした走査線）に着目すれば、当該走査線Ｌ２３を基準とした５本の連続走査線群Ｒ２３が選択される。この場合には、当該連続走査線群Ｒ２３の最短線分長“３”と最長線分長“４”との差分は“１”であり、差分過大条件を満たさないため走査線分長は補正されない。
【００４５】
尚、図３に示した列「Ｘ１」の下辺側のドットＤ１１を基点とした走査線を補正対象とした場合等、補正対象の走査線を中心として連続する走査線を５本選択できない場合には、走査線分長が所定長（例えば、最大長である「２５」）の走査線を仮想的に設定して連続走査線群とし、差分過大条件を満たすか否かを判定する。
【００４６】
図４（ｂ）は、上記した補正処理の結果を示す図である。図４（ｂ）に示すように、補正処理の結果、近隣の走査線分長の変化に基づいて走査線分長が適宜補正される。例えば、閉じていない輪郭線部分である列「Ｘ１５」〜「Ｘ１７」に着目すれば、その走査線分長が下辺側を固定点としてそれぞれ補正されている。
【００４７】
そして、回答入力エリアＡの各辺それぞれを基線として以上説明した領域外部分判定処理を行ったならば、処理結果に基づいて回答画像中の顔領域（オブジェクト領域）でない部分（すなわち、顔の輪郭線の外側部分）が判定されて、顔領域が認識される。図５は、顔領域の認識結果を示す図である。具体的には、各辺それぞれを基線として前述のように算出・補正された走査線分長の走査線によって占められた部分が、顔領域でない領域外部分と判定される。そして、領域外部分以外の領域が、顔領域として識別される。
【００４８】
［機能構成］
図６は、本実施形態におけるゲーム装置１の機能構成の一例を示すブロック図である。図６に示すように、ゲーム装置１は、入力部１００と、処理部２００と、表示部３００と、音出力部４００と、通信部５００と、記憶部６００とを備えて構成されている。
【００４９】
入力部１００は、ゲーム装置１を操作するプレーヤが各種のゲーム操作を入力するための装置であり、例えばボタンスイッチ、レバー、ダイヤル、キーボード、マウス、各種センサ等によって実現される。また入力部１００は、タッチパネル１１０を含み、手指や専用のスタイラスペン等により指示されたタッチ操作位置の位置座標を処理部２００に出力する。図１では、操作ボタン２１や、下画面３００ｂと一体的に形成されたタッチパネル（図示略）がこれに該当する。
【００５０】
処理部２００は、記憶部６００に記憶されるプログラムやデータ等に基づいて、ゲーム装置１全体の制御、ゲーム装置１内の各機能部への指示やデータの転送、画像処理、音処理等の各種処理を行う。この処理部２００の機能は、各種プロセッサ（ＣＰＵ，ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）等のハードウェアや、所与のプログラムにより実現されるものである。
【００５１】
この処理部２００は、主な機能部として、ゲーム演算部２１０と、画像生成部２３０と、音生成部２５０とを含み、ゲーム画面を生成して上画面３００ａや下画面３００ｂに表示出力させるとともに、適宜効果音やＢＧＭを音出力部４００から音出力させる。
【００５２】
ゲーム演算部２１０は、入力部１００から入力される操作信号、記憶部６００から読み出したプログラムやデータ等に基づいてお絵かきゲームを実現するための種々のゲーム処理を実行し、処理結果を画像生成部２３０や音生成部２５０に出力する。
【００５３】
またゲーム演算部２１０は、回答画像中のオブジェクト領域（本実施形態では顔領域）を認識するオブジェクト領域認識部２１１を含む。本実施形態では、オブジェクト領域認識部２１１は、回答画像中の顔領域を認識する。このオブジェクト領域認識部２１１は、上記した領域外部分判定処理を実行する領域外部分判定部２１１ａを含む。
【００５４】
画像生成部２３０は、例えば、ＣＰＵやＤＳＰ等のハードウェアやその制御プログラム、フレームバッファ等の描画フレーム用ＩＣメモリ等によって実現される。この画像生成部２３０は、ゲーム演算部２１０による処理結果に基づいてゲーム画面を生成し、生成したゲーム画面の画像信号を上画面３００ａ及び下画面３００ｂに出力する。
【００５５】
音生成部２５０は、例えば、ＣＰＵやＤＳＰ等のハードウェアやその制御プログラムによって実現される。この音生成部２５０は、ゲーム演算部２１０による処理結果に基づいて、ゲーム中に使用される効果音やＢＧＭ等のゲーム音を生成し、生成したゲーム音の音信号を音出力部４００に出力する。
【００５６】
表示部３００は、画像生成部２３０から入力される画像信号に基づいてゲーム画面を表示するための装置であり、上画面３００ａと、表示領域に入力部１００を構成するタッチパネル１１０が一体的に形成された下画面３００ｂとを含む。
【００５７】
音出力部４００は、音生成部２５０から入力される音信号に基づいて効果音やＢＧＭを音出力するための装置であり、図１ではスピーカ１１がこれに該当する。
【００５８】
通信部５００は、通信回線を介して外部とのデータ通信を行う。この通信部５００の機能は、例えば無線通信モジュール、ルータ、モデム、ＴＡ、有線用の通信ケーブルのジャックや制御回路等によって実現される。
【００５９】
記憶部６００には、処理部２００にゲーム装置１を統合的に制御させるためのシステムプログラム、ゲームを実行させるために必要なプログラムやデータ等が格納される。この記憶部６００の機能は、例えばＩＣメモリやハードディスク、メモリカード等により実現されるものであり、図１では、カートリッジ５０や図示しない制御ユニットに搭載されるＩＣメモリがこれに該当する。
【００６０】
特に、本実施形態を実現するため、処理部２００をオブジェクト領域認識部２１１として機能させるためのオブジェクト領域認識プログラム６１１と、領域外部分判定部２１１ａとして機能させるための領域外部分判定プログラム６１３とを含む。
【００６１】
また、データとして、出題データ６２０と、回答画像データ６３０と、走査線データ６４０と、領域判定用データ６５０とを含む。
【００６２】
出題データ６２０は、問題の出題に係る設定データを記憶する。本実施形態では、問題番号と対応付けられた出題画像（顔画像）の画像データが複数格納される。
【００６３】
回答画像データ６３０は、出題してから回答終了操作（図２では完成ボタンＢＴＮの押下操作に相当）が為されるまでの間に、回答入力エリアＡ内に手書き入力された回答画像の画像データを記憶する。
【００６４】
走査線データ６４０は、基線となる回答入力エリアＡの各辺毎に用意され、該当する基線側の各ドットを基点として算出・補正された走査線の走査線分長を記憶する。図７は、走査線データ６４０のデータ構成例を示す図である。図７に示すように、走査線データ６４０は、上記した走査処理の結果算出された走査線分長を保持する原走査線分長６４１と、補正処理の結果補正された走査線分長を保持する補正走査線分長６４３とを備える。
【００６５】
領域判定用データ６５０は、回答画像中の顔領域を判定するためのデータを記憶する。図８は、領域判定用データ６５０の概念図であり、この領域判定用データ６５０は、回答入力エリアＡを構成する各ドットそれぞれについて、領域外部分に属するドットなのか、顔領域に属するドットなのかを定義したものである。オブジェクト領域認識部２１１は、回答入力エリアＡを構成するドットのうち、領域外部分判定処理の結果算出・補正された走査線分長の走査線によって占められた部分のドットに「１」を定義して、領域判定用データ６５０を生成する。
【００６６】
［処理の流れ］
次に、図９及び図１０を参照して、ゲーム装置１が実行する処理の流れについて説明する。尚ここで説明する処理は、処理部２００がオブジェクト領域認識プログラム６１１、及び領域外部分判定プログラム６１３を含むゲームプログラム６１０を読み出して実行することにより実現されるものである。
【００６７】
図９は、本実施形態におけるゲーム処理の流れを説明するためのフローチャートである。
ゲーム処理では、先ずゲーム演算部２１０が、出題データ６２０から出題画像を読み出して上画面３００ａに表示する制御を行う（ステップａ１０）。
【００６８】
続いてゲーム演算部２１０は、下画面３００ｂに回答入力エリアＡを指示するための制御を行い、当該回答入力エリアＡ内でのタッチ操作位置に基づいて回答画像を入力する（ステップａ２０）。手書き入力された回答画像の画像データは、回答画像データ６３０として記憶部６００内に保持される。
【００６９】
回答終了操作が為されたならば、続いてオブジェクト領域認識処理に移り、オブジェクト領域認識部２１１が、回答画像中の顔領域を認識する（ステップａ３０）。図１０は、オブジェクト領域認識処理の流れを説明するためのフローチャートである。
【００７０】
オブジェクト領域認識処理では、先ず、回答入力エリアＡの上辺、下辺、左辺、及び右辺の各辺それぞれを基線としてループＡの処理が実行される（ステップｂ１０〜ステップｂ１４０）。以下、ループＡで処理の対象とする基線を「処理対象基線」という。
【００７１】
ループＡでは、先ず、処理対象基線側のドットそれぞれを基点としてループＢの処理が実行される（ステップｂ２０〜ステップｂ６０）。以下、ループＢで処理の対象とする基点を「走査対象基点」という。
【００７２】
すなわち先ず、領域外部分判定部２１１ａが、処理対象基線と直交する方向を走査方向とし、走査対象基点から走査方向への走査を行う（ステップｂ３０）。具体的には、回答画像を構成するドットと接触するまで走査を行い、回答画像を構成するドットと接触しない場合には、対向する辺まで走査を行う。そして、領域外部分判定部２１１ａは、ステップｂ３０での走査の線分である走査線の走査線分長を算出する（ステップｂ４０）。
【００７３】
そして、領域外部分判定部２１１ａは、ステップｂ４０で算出した走査線分長を走査対象基点の原走査線分長６４１に設定し、処理対象基線用の走査線データ６４０を更新する（ステップｂ５０）。
【００７４】
処理対象基線側の全てのドットを走査対象としてループＢの処理を実行したならば、続いてオブジェクト領域認識部２１１が、補正走査線分長６４３に原走査線分長６４１をコピーして初期化する（ステップｂ７０）。
【００７５】
そして、各走査線を補正対象としてループＣの処理が実行される（ステップｂ８０〜ステップｂ１３０）。以下、ループＣで補正の対象とする走査線を「補正対象走査線」という。
【００７６】
すなわち先ず、領域外部分判定部２１１ａが、補正対象走査線を中心として連続する例えば５本の走査線を連続走査線群として選択する（ステップｂ９０）。このとき、補正対象走査線を中心として連続する５本の走査線を選択できない場合には、走査線分長が所定長の走査線を仮想的に設定して連続走査線群とする。
【００７７】
続いて領域外部分判定部２１１ａは、処理対象基線用の走査線データ６４０を参照し、原走査線分長６４１からステップｂ９０で選択した連続走査線群に含まれる走査線の走査線分長を読み出す。そして、領域外部分判定部２１１ａは、当該連続走査線群に含まれる最短線分長と最長線分長との差が差分過大条件を満たすか否かを判定する。差分過大条件を満たすならば（ステップｂ１００：ＹＥＳ）、領域外部分判定部２１１ａは、処理対象基線側を固定点として、当該補正対象走査線の走査線分長を前述の最短線分長に置き換えて補正する（ステップｂ１１０）。
【００７８】
そして、領域外部分判定部２１１ａは、補正対象走査線の基点に対する補正走査線分長６４３をステップｂ１１０で補正した走査線分長に変更し、処理対象基線用の走査線データ６４０を更新する（ステップｂ１２０）。
【００７９】
処理対象基線側の各ドットを基点とした全ての走査線を補正対象としてループＣの処理を実行したならば、処理対象基線に係るループＡ内の処理を終了する。
【００８０】
そして、回答入力エリアＡの上下左右の各辺それぞれを基線としてループＡの処理を実行したならば、続いてオブジェクト領域認識部２１１が、走査線データ６４０に設定されている補正走査線分長６４３に従って領域判定用データ６５０を生成する（ステップｂ１５０）。具体的には、回答入力エリアＡを構成するドットのうち、補正走査線分長６４３に設定されている走査線によって占められた部分のドットに「１」を定義して領域判定用データ６５０を生成する。領域判定用データ６５０を生成したならば、本処理を終了する。
【００８１】
図９に戻る。オブジェクト領域認識処理を実行したならば、続いて画像生成部２３０が、領域判定用データ６５０を参照して回答画像中の顔領域と認識された部分にペイント処理を施し、例えば肌色で色付けする（ステップａ４０）。ここで色付けされた回答画像は、下画面３００ｂに表示される。
【００８２】
続いてゲーム演算部２１０が、出題画像と回答画像との類似度を判定して回答画像を評価する処理を行い（ステップａ５０）、評価の結果を表示部３００に表示させる（ステップａ６０）。尚、ステップａ５０における類似度の判定については、公知の技術を用いて実施するものとし、ここでの説明は省略する。
【００８３】
そして、ゲーム演算部２１０は、ゲームの終了判定を行う。例えばプレーヤによる所定の終了操作が為された場合にはゲーム終了と判定し（ステップａ７０：ＹＥＳ）、本処理を終了する。
【００８４】
一方、ゲームを終了しない場合には（ステップａ７０：ＮＯ）、ステップａ１０に戻って上記した処理が実行される。
【００８５】
［ハードウェア構成］
次に、図１１を参照して、本実施形態におけるゲーム装置１を実現するためのハードウェア構成の一例について説明する。図１１に示す装置では、ＣＰＵ１０００、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６、画像生成ＩＣ１０１０，１０１１、音生成ＩＣ１００８、Ｉ／Ｏポート１０１２，１０１４，１０１５がシステムバス１０１６により相互にデータ入出力可能に接続されている。Ｉ／Ｏポート１０１２にはコントロール装置１０２２が、Ｉ／Ｏポート１０１４には通信装置１０２４が、Ｉ／Ｏポート１０１５にはタッチパネル１０２５が、それぞれ接続されている。
【００８６】
ＣＰＵ１０００は、情報記憶媒体１００６に格納されるプログラム、ＲＯＭ１００２に格納されるシステムプログラム（装置本体の初期化情報等）、コントロール装置１０２２によって入力される信号等に従って、装置全体の制御や各種データ処理を行う。
【００８７】
ＲＡＭ１００４は、ＣＰＵ１０００の作業領域等として用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２内の所与の内容、ＣＰＵ１０００の演算結果等が格納される。
情報記憶媒体１００６は、プログラム、画像データ、音データ、プレイデータ等が主に格納されるものであり、情報記憶媒体として、ＲＯＭ等のメモリやハードディスクや、ＣＤ−ＲＯＭ、ＤＶＤ、ＩＣカード、磁気ディスク、光ディスク等が用いられる。
尚、このＲＡＭ１００４及び情報記憶媒体１００６は、図６に示す記憶部６００に相当するものである。
【００８８】
また、この装置に設けられている画像生成ＩＣ１０１０，１０１１と音生成ＩＣ１００８により、音や画像の好適な出力が行えるようになっている。
【００８９】
画像生成ＩＣ１０１０，１０１１は、ＣＰＵ１０００の命令によって、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６等から送られる情報に基づいて画素情報を生成する集積回路であり、画像生成ＩＣ１０１０によって生成される表示信号は表示装置１０１８に、画像生成ＩＣ１０１１によって生成される表示信号は表示装置１０１９に出力される。
【００９０】
表示装置１０１８，１０１９は、ＬＣＤやＥＬＤ、ＣＲＴ、ＴＶ、プラズマディスプレイ、プロジェクター等により実現されるものであり、一方の表示装置１０１９の表示領域に、前述のタッチパネル１０２５が一体的に形成されている。尚、表示装置１０１８は図６に示す上画面３００ａに、表示装置１０１９は図６に示す下画面３００ｂに、それぞれ相当するものである。
【００９１】
また、音生成ＩＣ１００８は、ＣＰＵ１０００の命令によって、情報記憶媒体１００６やＲＯＭ１００２に記憶される情報、ＲＡＭ１００４に格納される音データに応じた音信号を生成する集積回路であり、生成される音信号はスピーカ１０２０によって出力される。尚、このスピーカ１０２０は、図６に示す音出力部４００に相当するものである。
【００９２】
コントロール装置１０２２及びタッチパネル１０２５は、プレーヤがゲームに係る操作を入力するための装置であり、コントロール装置１０２２の機能は、レバー、ボタン、筐体等のハードウェアにより実現される。尚、このコントロール装置１０２２及びタッチパネル１０２５は、図６に示す入力部１００に相当するものである。
【００９３】
通信装置１０２４は、装置内部で利用される情報を外部とやりとりするものであり、他の装置と通信回線を介して接続されてプログラムに応じた所与の情報を送受すること等に利用される。尚、この通信装置１０２４は、図６に示す通信部５００に相当するものである。
【００９４】
そして、ゲーム処理等の上記した処理は、図６に示して説明したゲームプログラム６１０等を格納した情報記憶媒体１００６と、これらプログラムに従って動作するＣＰＵ１０００、画像生成ＩＣ１０１０，１０１１、音生成ＩＣ１００８等によって実現される。ＣＰＵ１０００、画像生成ＩＣ１０１０，１０１１、及び音生成ＩＣ１００８は、図６に示す処理部２００に相当するものであり、主にＣＰＵ１０００が図６に示すゲーム演算部２１０に、画像生成ＩＣ１０１０，１０１１が図６に示す画像生成部２３０に、音生成ＩＣ１００８が図６に示す音生成部２５０に、それぞれ相当する。
【００９５】
尚、画像生成ＩＣ１０１０，１０１１、音生成ＩＣ１００８等で行われる処理は、ＣＰＵ１０００或いは汎用のＤＳＰ等によりソフトウェア的に行ってもよい。この場合には、ＣＰＵ１０００が、図６に示す処理部２００に相当することとなる。
【００９６】
以上説明したように、本実施形態によれば、顔領域内を色付けするための前処理として、回答画像を包囲する上下左右の各側方から走査を行い、その走査線分長を算出・補正することによって顔領域の領域外部分を判定することができる。そして、判定した領域外部分に基づいて、顔領域を認識することができる。したがって、顔の輪郭線が閉じていない場合であっても、顔の領域を違和感無く塗り分けることができる。
【００９７】
尚、上記した実施形態では、連続する５本の走査線を連続走査線群として選択し、選択した連続走査線群に含まれる最短線分長と最長線分長との差が差分過大条件を満たすか否かによって長さを補正すべき走査線を検出するため、閉じていない輪郭線の端点間が５ドット未満である必要がある。このため、閉じていない輪郭線の端点間が５ドット分以上離れている場合には、閉じていない輪郭線部分の走査線分長が補正されず、顔領域が適切に認識されない。この問題を回避するために、オブジェクト領域認識処理の後、以下説明するオブジェクト領域補完処理を行うこととしてもよい。
【００９８】
図１２は、オブジェクト領域補完処理を説明するための図であり、同図（ａ）は、オブジェクト領域認識処理の結果を示す図である。図１２（ａ）に示すように、閉じていない輪郭線の端点間が５ドット分以上離れていると、輪郭線の内側部分が領域外部分と判定されてしまう。本変形例のオブジェクト領域補完処理では、先ず第１補完処理を行い（図１２（ｂ））、続いて第２補完処理を行う（図１２（ｃ））。尚、図１２では、顔の輪郭線のみを回答画像として図示している。
【００９９】
第１補完処理では、図１２（ｂ）に示すように、オブジェクト領域に挟まれた領域外部分（第１補完領域）をオブジェクト領域として補完的に識別する。具体的には、回答入力エリアＡの各列（Ｘ方向）及び各行（Ｙ方向）をそれぞれ走査し、オブジェクト領域に挟まれた領域外部分を検出する。そして、検出した領域外部分を第１補完領域とし、この第１補完領域をオブジェクト領域として補完的に識別する。
【０１００】
そして、第２補完処理では、図１２（ｃ）に示すように、第１補完領域と輪郭線とに挟まれた領域外部分（第２補完領域）をオブジェクト領域として補完的に識別する。具体的には、回答入力エリアＡの各列（Ｘ方向）及び各行（Ｙ方向）をそれぞれ走査し、第１補完領域と輪郭線とに挟まれた領域外部分を検出する。そして、検出した領域外部分を第２補完領域とし、この第２補完領域をオブジェクト領域として補完的に識別する。
【０１０１】
尚、本変形例では、領域判定用データ６５０において、回答入力エリアＡを構成する各ドットそれぞれについて、領域外部分に属するドットなのか、顔領域であるオブジェクト領域に属するドットなのか、第１補完領域に属するドットなのか、第２補完領域に属するドットなのかの識別情報が定義される。
【０１０２】
図１３は、本変形例におけるゲーム処理の流れを説明するためのフローチャートである。尚以下では、上記した実施形態で図１３に示して説明したゲーム処理と同様の処理工程については、同一の符号を付してその説明を省略する。
【０１０３】
すなわち本変形例では、ステップａ３０のオブジェクト領域認識処理の後、オブジェクト領域認識部２１１がオブジェクト領域補完処理を実行する（ステップｃ３５）。オブジェクト領域補完処理を実行したならばステップａ４０に移行し、画像生成部２３０が、顔領域と認識された部分にペイント処理を施して色付けする。
【０１０４】
図１４は、オブジェクト領域補完処理の流れを説明するためのフローチャートである。
オブジェクト領域補完処理では、先ず、回答入力エリアＡのＸ方向を走査方向とし、各行それぞれについてループＤの処理が実行される（ステップｄ１０〜ステップｄ４０）。
【０１０５】
すなわち、先ずオブジェクト領域認識部２１１は、領域判定用データ６５０を参照して、処理対象の行のドットのうち、オブジェクト領域に挟まれた領域外部分のドット（具体的には、領域外部分に属するドットであって、オブジェクト領域に属するドットに挟まれたドット）を検出する（ステップｄ２０）。そして、オブジェクト領域認識部２１１は、ステップｄ２０で検出した部分のドットに第１補完領域の識別情報を定義して領域判定用データ６５０を更新する（ステップｄ３０）。
【０１０６】
ループＤの処理を実行したならば、続いて、回答入力エリアＡのＹ方向を走査方向とし、各列それぞれについてループＥの処理が実行される（ステップｄ５０〜ステップｄ８０）。
【０１０７】
すなわち、先ずオブジェクト領域認識部２１１は、領域判定用データ６５０を参照して、処理対象の列のドットのうち、オブジェクト領域に挟まれた領域外部分のドット（具体的には、領域外部分に属するドットであって、オブジェクト領域に属するドットに挟まれたドット）を検出する（ステップｄ６０）。そして、オブジェクト領域認識部２１１は、ステップｄ６０で検出した部分のドットに第１補完領域の識別情報を定義して領域判定用データ６５０を更新する（ステップｄ７０）。
【０１０８】
ループＥの処理を実行したならば、続いて、回答入力エリアＡのＸ方向を走査方向とし、各行それぞれについてループＦの処理が実行される（ステップｄ９０〜ステップｄ１２０）。
【０１０９】
すなわち、先ずオブジェクト領域認識部２１１は、回答画像データ６３０及び領域判定用データ６５０を参照して、処理対象の行において第１補完領域のドットと回答画像を構成するドットとに挟まれた領域外部分のドット（具体的には、領域外部分に属するドットであって、第１補完領域に属するドットと回答画像を構成するドットに挟まれたドット）を検出する（ステップｄ１００）。そして、オブジェクト領域認識部２１１は、ステップｄ１００で検出した部分のドットに第２補完領域の識別情報を定義して領域判定用データ６５０を更新する（ステップｄ１１０）。
【０１１０】
ループＦの処理を実行したならば、続いて、回答入力エリアＡのＹ方向を走査方向とし、各列それぞれについてループＧの処理が実行される（ステップｄ１３０〜ステップｄ１６０）。
【０１１１】
すなわち、先ずオブジェクト領域認識部２１１は、回答画像データ６３０及び領域判定用データ６５０を参照して、処理対象の列において第１補完領域のドットと回答画像を構成するドットとに挟まれた領域外部分のドット（具体的には、領域外部分に属するドットであって、第１補完領域に属するドットと回答画像を構成するドットに挟まれたドット）を検出する（ステップｄ１４０）。そして、オブジェクト領域認識部２１１は、ステップｄ１４０で検出した部分のドットに第２補完領域の識別情報を定義して領域判定用データ６５０を更新する（ステップｄ１５０）。
【０１１２】
ループＧの処理を実行したならば、本処理を終了する。
【０１１３】
本変形例によれば、閉じていない輪郭線の端点間が５ドット分以上離れている場合であっても、顔領域を適切に認識することができ、顔の領域を違和感無く塗り分けることができる。
【０１１４】
［変形例］
以上、本発明についての好適な実施形態について説明したが、本発明は、上記したものに限らず、発明の趣旨を逸脱しない限りにおいて適宜変更可能である。
【０１１５】
例えば上記した実施形態では、回答画像中の顔領域を認識して色付けする場合について説明したが、顔領域だけでなく、「目」や「口」、「鼻」等の領域を適宜認識して色付けすることとしてもよい。
【０１１６】
図１５は、この場合のゲーム画面の一例を示す図であり、上画面３００ａに表示される出題画面を上段に示し、下画面３００ｂに表示される回答入力画面を下段に示している。
【０１１７】
図１５では、上画面３００ａの出題画面において、顔の輪郭線Ｌ３１内に、閉じた輪郭線で囲まれた「目」及び「口」の各パーツが配置された顔画像が出題画像として表示されている。
一方下画面３００ｂの回答入力画面では、上記した実施形態と同様にして、回答入力エリアＡ内でスタイラスペン４０によりタッチ操作されたドットの集合体が回答画像として表示されるようになっている。そして、完成ボタンＢＴＮをタッチ操作したならば、回答画像が確定されてオブジェクト領域認識処理が行われるが、本変形例では、出題画像を構成する各パーツに対応する回答画像中の部分画像（以下、「手書きパーツ画像」という。）が判定され、各手書きパーツ画像毎にオブジェクト領域認識処理が行われて当該パーツの領域（オブジェクト領域）が認識される。
【０１１８】
したがって本変形例では、図１５に示す回答画像中の破線で示す部分Ａ３１のように顔の輪郭線が閉じていない場合や、部分Ａ３３のように口の輪郭線が閉じていない場合を想定して、各パーツのオブジェクト領域が認識される。
【０１１９】
ここで、手書きパーツ画像の判定方法について説明する。図１６は、手書きパーツ画像の判定方法を説明するための図であり、同図（ａ）において図１６に示した出題画像を、（ｂ）において当該出題画像に対する回答画像を、（ｃ）において当該出題画像から切り出した顔パーツに対応する手書きパーツ画像を示している。
【０１２０】
図１６（ａ）に示すように、本変形例では、出題画像を構成する「顔」「左目」「右目」「口」の各パーツをそれぞれ含むパーツ判定領域Ｐ４１〜Ｐ４４が予め定義されている。各パーツそれぞれに対応する手書きパーツ画像の判定は、各パーツ判定領域Ｐ４１〜Ｐ４４に含まれる回答画像中の部分を特定することにより行われる。
【０１２１】
例えば顔パーツに着目すれば、図１６（ａ）に示す顔パーツ用に定義されたパーツ判定領域Ｐ４１（具体的には、一点鎖線で示す回答入力エリアＡの外周及び中央の円で囲まれた領域）に従い、図１６（ｂ）に示す回答画像中の当該パーツ判定領域Ｐ４１で囲まれた部分が特定される。そして、図１６（ｃ）に示すように、特定された部分が、顔パーツに対応する手書きパーツ画像と判定される。このようにして、予め定義された各パーツ判定領域Ｐ４１〜Ｐ４４をもとに、各パーツに対応する手書きパーツ画像が判定される。
【０１２２】
そして、前述のように判定した手書きパーツ画像を切り出し、切り出した手書きパーツ画像についてオブジェクト領域認識処理が行われる。具体的には、例えば、該当するパーツ用のパーツ判定領域の上辺、下辺、左辺、及び右辺の各辺をそれぞれ基線として領域外部分判定処理が行われ、処理結果に基づいてその領域外部分（すなわち、当該パーツの輪郭外側部分）が判定されて、オブジェクト領域が認識される。
【０１２３】
尚、本変形例では、出題データ６２０において、各出題画像毎に、当該出題画像を構成するパーツそれぞれのパーツ判定領域が定義される。
【０１２４】
図１７は、本変形例におけるゲーム処理の流れを説明するためのフローチャートである。尚以下では、上記した実施形態で図１７に示して説明したゲーム処理と同様の処理工程については、同一の符号を付してその説明を省略する。
【０１２５】
すなわち本変形例では、回答終了操作が為されたならば、続いて当該出題画像を構成する各パーツそれぞれを処理対象として、ループＨの処理が実行される（ステップｅ３１０〜ステップｅ３５０）。以下、ループＨで処理の対象とするパーツを「処理対象パーツ」という。
【０１２６】
ループＨでは、先ずゲーム演算部２１０が、処理対象パーツに対応する手書きパーツ画像を判定して切り出す（ステップｅ３２０）。手書きパーツ画像を切り出したならばオブジェクト領域認識処理に移り、オブジェクト領域認識部２１１が、回答画像中の処理対象パーツのオブジェクト領域を認識する（ステップｅ３３０）。本変形例では、このオブジェクト領域認識処理において、処理対象パーツ用のパーツ判定領域の上下左右の各辺それぞれを基線とした領域外部分判定処理を行い、当該処理対象パーツのオブジェクト領域を認識する。
【０１２７】
そして、画像生成部２３０が、ステップｅ３３０で認識したオブジェクト領域に処理対象パーツに応じたペイント処理を施して色付けし、色付けした手書きパーツ画像を記憶部６００内に一時保存する（ステップｅ３４０）。
【０１２８】
出題画像を構成する全てのパーツを処理対象としてループＨの処理を実行したならば、続いて画像生成部２３０が、色付けされた各手書きパーツ画像を合成する（ステップｅ４０）。具体的には、顔パーツを最初に描画し、他のパーツの手書きパーツ画像を順次描画して合成する。ここで合成された手書きパーツ画像（色付けされた回答画像）は、下画面３００ｂに表示される。そして、ステップａ５０に移行し、上記した実施形態と同様に処理を行う。
【０１２９】
また上記した実施形態では、走査線によって占められた部分を領域外部分と判定することとしたが、以下のようにしてもよい。すなわち、走査線が設定された回数に応じて領域外部分を判定することとしてもよい。具体的には、回答入力エリアＡを構成する各ドットそれぞれについて、走査線が設定された回数を計数しておく。そして、走査線が所定回以上設定されたドット部分を領域外部分として判定する。
【０１３０】
図１８は、この場合のオブジェクト領域認識処理について説明するための図である。例えばドットＤ５１に着目すれば、上下左右の各辺をそれぞれ基線として領域外部分判定処理を行った結果、走査線が３回設定されたことを示している。例えば、走査線が２回以上設定されたドットを領域外部分と判定するならば、ドットＤ５１は領域外部分と判定され、ドットＤ５３はオブジェクト領域と判定される。
【０１３１】
また上記した実施形態では、回答入力エリアＡの上下左右の各辺を基線とした走査を行って領域外部分を判定することとしたが、上下左右に限定されるものではなく、回答画像の側方に適宜基線を設定して領域外部分を判定することとしてもよい。例えば、回答画像の斜め側方に基線を設定して走査を行うこととしてもよい。図１９は、回答画像側方における基線の設定例を示す図である。同図によれば、回答画像の斜め４方向に基線Ｌ６１〜Ｌ６４が設定されており、各基線からの走査線Ｌ６５の走査線分長を算出して領域外部分を判定することとしてもよい。
【０１３２】
また、回答画像の側方に４本の基線を設定する必要はない。また、上下左右の４方向に、図１９に示した斜め４方向を加えて８方向から走査を行って領域外部分を判定することとしてもよい。
【０１３３】
また上記した実施形態では、上画面３００ａに問題の出題を行い、下画面３００ｂに回答を入力することとしたが、以下のようにしてもよい。すなわち、タッチパネルと一体化された下画面３００ｂに出題画像を表示制御することとしてもよい。プレーヤは、表示制御された出題画像をなぞるようにして下画面３００ｂ上をタッチ操作し、回答画像を入力する。
【０１３４】
また本発明は、図１に示した携帯型ゲーム機だけでなく、携帯電話機やＰＤＡ、パソコン、業務用ゲーム機等、図形や絵柄を手書き入力可能な種々の装置でも同様に適用することができる。その場合、手書き入力としてマウス等の他のポインティングデバイスを用いてもよいことは勿論である。
【図面の簡単な説明】
【０１３５】
【図１】ゲーム装置を折り畳み式の携帯型ゲーム機とした場合の概観例を示す図。
【図２】ゲーム画面の一例を示す図。
【図３】走査処理について説明するための図。
【図４】補正処理について説明するための図。
【図５】オブジェクト領域認識処理の処理結果を示す図。
【図６】ゲーム装置の機能構成の一例を示すブロック図。
【図７】走査線データのデータ構成例を示す図。
【図８】領域判定用データの概念図。
【図９】ゲーム処理の流れを説明するためのフローチャート。
【図１０】オブジェクト領域認識処理の流れを説明するためのフローチャート。
【図１１】ゲーム装置のハードウェア構成の一例を示す図。
【図１２】オブジェクト領域補完処理について説明するための図。
【図１３】ゲーム処理の流れの変形例を説明するための図。
【図１４】オブジェクト領域補完処理の流れを説明するための図。
【図１５】ゲーム画面の変形例を示す図。
【図１６】手書きパーツ画像の判定方法を説明するための図。
【図１７】ゲーム処理の流れの変形例を説明するためのフローチャート。
【図１８】オブジェクト領域認識処理の変形例について説明するための図。
【図１９】回答画像側方における基線の設定例を示す図。
【符号の説明】
【０１３６】
１                  ゲーム装置
１００            入力部
１１０          タッチパネル
２００            処理部
２１０          ゲーム演算部
２１１        オブジェクト領域認識部
２１１ａ    領域外部分判定部
２３０          画像生成部
２５０          音生成部
３００            表示部
３００ａ        上画面
３００ｂ        下画面
４００            音出力部
５００            通信部
６００            記憶部
６１０          ゲームプログラム
６１１        オブジェクト領域認識プログラム
６１３        領域外部分判定プログラム
６２０          出題データ
６３０          回答画像データ
６４０          走査線データ
６５０          領域判定用データ
【図１】
0004551310.tif 000002
【図２】
0004551310.tif 000003
【図３】
0004551310.tif 000004
【図４】
0004551310.tif 000005
【図５】
0004551310.tif 000006
【図６】
0004551310.tif 000007
【図７】
0004551310.tif 000008
【図８】
0004551310.tif 000009
【図９】
0004551310.tif 000010
【図１０】
0004551310.tif 000011
【図１１】
0004551310.tif 000012
【図１２】
0004551310.tif 000013
【図１３】
0004551310.tif 000014
【図１４】
0004551310.tif 000015
【図１５】
0004551310.tif 000016
【図１６】
0004551310.tif 000017
【図１７】
0004551310.tif 000018
【図１８】
0004551310.tif 000019
【図１９】
0004551310.tif 000020