(57)【特許請求の範囲】
【請求項１】
ピクセル毎に色データと奥行き値とを含む描画データを用いて仮想３次元画像を表示する画像処理装置のコンピュータに、
ピント合わせ位置を検出する検出ステップ、
前記描画データに含まれる各ピクセルの奥行き値と前記ピント合わせ位置の奥行き値との差分をピクセル毎に算出し、当該差分に基づいて相似形に変形するぼかし範囲を算出するぼかし範囲算出ステップ、
前記ぼかし範囲と前記ぼかし範囲の形状とは異なるぼかし形状データとを照合してぼかし対象ピクセルを特定し、特定されたぼかし対象ピクセルについてぼかし処理した色データを生成する色データ生成ステップ、および
前記色データ生成ステップで生成した色データに基づいて表示画像データを生成する表示画像生成ステップ
を実行させる、画像処理プログラム。
【請求項２】
前記ぼかし範囲は正方形の領域である、請求項１記載の画像処理プログラム。
【請求項３】
前記ぼかし形状データは６角形を示す、請求項２記載の画像処理プログラム。
【請求項４】
前記色データ生成ステップは、前記ぼかし範囲に含まれるピクセルの拡散値を算出する拡散値算出ステップ、および前記ぼかし対象とされたピクセルの前記描画データに含まれる色データを前記拡散値に基づいて変更する色データ変更ステップを含む、請求項１ないし３のいずれかに記載の画像処理プログラム。
【請求項５】
前記拡散値算出ステップは、前記描画データに含まれる各ピクセルの複数の色成分の大きさに基づいて重みを算出する重み算出ステップを含み、前記重みに基づいて前記拡散値を算出する、請求項４記載の画像処理プログラム。
【請求項６】
前記重み算出ステップでは、前記複数の色成分の大きさに比例しかつ前記ぼかし範囲の大きさに反比例する演算式に基づいて重みを算出する、請求項５記載の画像処理プログラム。
【請求項７】
前記重み算出ステップは、数１
【数１】
0005255789.tif 000004
に従って重みを算出する、請求項６記載の画像処理プログラム。
【請求項８】
撮影指示が入力されたかどうか判断する判断ステップをコンピュータにさらに実行させ、
前記検出ステップは、前記判断ステップで撮影指示が入力されたと判断したとき、ピント合わせ位置を検出し、
前記表示画像生成ステップは、前記ぼかし対象ピクセルについて、前記描画データに含まれる色データを拡散値に基づいて変更する色データ変更ステップを含む、請求項１ないし７のいずれかに記載の画像処理プログラム。
【請求項９】
ユーザによる操作情報を取得する操作情報取得ステップをコンピュータにさらに実行させ、そして
前記検出ステップでは、前記操作情報に基づいて指定されたピクセルを特定し、当該ピクセルの奥行き値を前記ピント合わせ位置として検出する、請求項１ないし８のいずれかに記載の画像処理プログラム。
【請求項１０】
ピクセル毎に色データと奥行き値とを含む描画データを用いて仮想３次元画像を表示する画像処理装置であって、
ピント合わせ位置を検出する検出手段、
前記描画データに含まれる各ピクセルの奥行き値と前記ピント合わせ位置の奥行き値との差分をピクセル毎に算出し、当該差分に基づいて相似形に変形するぼかし範囲を算出するぼかし範囲算出手段、
前記ぼかし範囲と前記ぼかし範囲の形状とは異なるぼかし形状データとを照合してぼかし対象ピクセルを特定し、特定されたぼかし対象ピクセルについてぼかし処理した色データを生成する色データ生成手段、および
前記色データ生成手段で生成した色データに基づいて表示画像データを生成する表示画像生成手段を備える、画像処理装置。
【請求項１１】
ピクセル毎に色データと奥行き値とを含む描画データを用いて仮想３次元画像を表示する画像処理装置における画像処理方法であって、
ピント合わせ位置を検出する検出ステップ、
前記描画データに含まれる各ピクセルの奥行き値と前記ピント合わせ位置の奥行き値との差分をピクセル毎に算出し、当該差分に基づいて相似形に変形するぼかし範囲を算出するぼかし範囲算出ステップ、
前記ぼかし範囲と前記ぼかし範囲の形状とは異なるぼかし形状データとを照合してぼかし対象ピクセルを特定し、特定されたぼかし対象ピクセルについてぼかし処理した色データを生成する色データ生成ステップ、および
前記色データ生成ステップで生成した色データに基づいて表示画像データを生成する表示画像生成ステップを含む、画像処理方法。
【請求項１２】
ピクセル毎に色データと奥行き値とを含む描画データを用いて仮想３次元画像を表示する画像処理システムであって、
ピント合わせ位置を検出する検出手段、
前記描画データに含まれる各ピクセルの奥行き値と前記ピント合わせ位置の奥行き値との差分をピクセル毎に算出し、当該差分に基づいて相似形に変形するぼかし範囲を算出するぼかし範囲算出手段、
前記ぼかし範囲と前記ぼかし範囲の形状とは異なるぼかし形状データとを照合してぼかし対象ピクセルを特定し、特定されたぼかし対象ピクセルについてぼかし処理した色データを生成する色データ生成手段、および
前記色データ生成手段で生成した色データに基づいて表示画像データを生成する表示画像生成手段を備える、画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は画像処理プログラムおよび画像処理装置に関し、特にたとえば、ぼかしを加えて現実に近い画像表現を実現する、画像処理プログラムおよび画像処理装置に関する。
【背景技術】
【０００２】
たとえば、特許文献１には、各ピクセルの画像データがその周囲のピクセルに与える影響度の情報をぼかし値としてピクセル単位で記憶し、ピクセル毎のぼかし値に従うぼかし処理を施すことで、ぼかし処理が行われた画像を表示することが記載されている。このぼかし値は、たとえばピクセル毎のＺ値と被写界深度との差等を演算することにより求められる。
【０００３】
また、特許文献２には、３次元図形の画素毎に保持しているＺ値と被写界深度との偏差に基づいて当該画素の複写画素距離を算出し、当該画素から所定方向に複写画素距離だけ離れた複数の近隣画素に当該画素の輝度値を等分割して分散させることにより、ぼかし処理を行うことが記載されている。
【特許文献１】特開平１０−２２２６９４  ［G06T 15/00, 15/40］
【特許文献２】特開平１１−２４２７５３  ［G06T 15/00, 17/00, 15/40］
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記特許文献１は、各ピクセルがその周囲のピクセルに与える影響度をぼかし値として算出するものであるが、各ピクセルをぼかす範囲を算出するものではなかった。つまり、特許文献１は、各ピクセルをぼかすぼかし範囲がその周囲のピクセルに固定的に決められていた。そのため、各ピクセルのぼかし範囲が画一的になり、ぼかし表現が不自然なものになってしまうといった問題があった。
【０００５】
また、上記特許文献２は、画素毎のＺ値と被写界深度との偏差に基づいて算出された複写画素距離に応じて輝度を分散させる近隣画素を決定するものであり、ぼかし範囲を算出するものではない。つまり、特許文献２は、輝度を分散させる近隣画素の数が予め決められている（たとえば４つ）。したがって、特許文献２にも特許文献１と同様の問題があった。
【０００６】
それゆえに、この発明の主たる目的は、新規な、画像処理プログラムおよび画像処理装置を提供することである。
【０００７】
この発明の他の目的は、より自然なぼかし表現を実現することのできる、画像処理プログラムおよび画像処理装置を提供することである。
【課題を解決するための手段】
【０００８】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために後述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【０００９】
第１の発明は、ピクセル毎に色データと奥行き値とを含む描画データを用いて仮想３次元画像を表示する画像処理装置のコンピュータに、ピント合わせ位置を検出する検出ステップ、描画データに含まれる各ピクセルの奥行き値とピント合わせ位置の奥行き値との差分をピクセル毎に算出し、当該差分に基づいて相似形に変形するぼかし範囲を算出するぼかし範囲算出ステップ、ぼかし範囲と前記ぼかし範囲の形状とは異なるぼかし形状データとを照合してぼかし対象ピクセルを特定し、特定されたぼかし対象ピクセルについてぼかし処理した色データを生成する色データ生成ステップ、および色データ生成ステップで生成した色データに基づいて表示画像データを生成する表示画像生成ステップを実行させる、画像処理プログラムである。
【００１０】
第１の発明では、画像処理プログラムは、実施例ではゲーム装置（１２）のコンピュータ（４０）において実行される。コンピュータ（４０）は、たとえば描画バッファ（１３６）から描画データを読み出し、その描画データに含まれるピクセル毎の色データ（Ｒ０，Ｇ０，Ｂ０）と奥行き値（Ｚ）とを用いて仮想３次元画像を表示する。コンピュータは、検出ステップ（Ｓ２３）で、たとえば操作情報に基づいて、仮想３次元画像を撮影するときの、ピント合わせ位置を検出する。ぼかし範囲算出ステップ（Ｓ２５，Ｓ２９）において、コンピュータは、描画データに含まれる各ピクセル（Ｄｎ）の奥行き値（ＤＺ）と、同じく描画データから読み出した当該ピント合わせ位置の奥行き値（ＰＺ）との差分をピクセル毎に算出し、上記差分に基づいて相似形に変形するぼかし範囲を算出する。色データ生成ステップ（Ｓ３１，Ｓ３３，Ｓ３５，Ｓ３７）において、ぼかし範囲とぼかし範囲の形状とは異なるぼかし形状データとを照合してぼかし対象ピクセルを特定し、特定されたぼかし対象ピクセルについて、たとえば拡散値によって描画データに含まれていた色データを修飾するなどの手法で、ぼかし処理した色データを生成する。ただし、拡散値とは、ピクセル毎のぼかしの程度に関する値であり、たとえば、上記差分に相関する値である。生成した色データは、ピクセル毎に、たとえば演算バッファに書き込まれる。表示画像生成ステップ（Ｓ４３）においては、コンピュータは、そのような描画バッファに格納されている各ピクセルの色データに基づいて、ぼかし画像を含む表示画像データ（出力色データ）を生成する。
【００１１】
第１の発明によれば、各ピクセル（Ｄｎ）の奥行き値（ＤＺ）とピント合わせ位置の奥行き値（ＰＺ）との差分に基づいて算出される相似形に変形するぼかし範囲と、ぼかし範囲の形状とは異なるぼかし形状データとを照合してぼかし対象ピクセルを特定し、そのぼかし対象ピクセル毎にその差分に応じてぼかし処理した色データを生成するようにしているので、ぼかし形状を変更すれば、ぼかし対象となるピクセルの範囲（または範囲の形状）を容易に変更することができ、より自然なぼかし表現を少ない演算量で実現することができる。
【００１２】
第２の発明は、第１の発明に従属し、ぼかし範囲は正方形の領域である。
【００１４】
第３の発明は、第２の発明に従属し、ぼかし形状データは６角形を示す。
【００１５】
第２〜３の発明によれば、現実のカメラのものに近い自然な画像が得られる。
【００１６】
第４の発明は、第１ないし第３のいずれかの発明に従属し、色データ生成ステップは、ぼかし範囲に含まれるピクセルの拡散値を算出する拡散値算出ステップ、および対象とされたピクセルの描画データに含まれる色データを拡散値に基づいて変更する色データ変更ステップを含む、画像処理プログラムである。
【００１７】
第４の発明では、コンピュータは、拡散値算出ステップ（Ｓ３１，Ｓ３３）において、ぼかし範囲に含まれるピクセルの拡散値（ＤＲ，ＤＧ，ＤＢ）を算出する。そして、色データ変更ステップ（Ｓ３７）で、ぼかし対象とされたピクセルの描画データに含まれる色データを拡散値に基づいて変更する。たとえば、Ｒ１＝Ｒ１＋ＤＲ，Ｇ１＝Ｇ１＋ＤＧ，Ｂ１＝Ｂ１＋ＤＢ。重みデータＨ＋ＤＨ。第４の発明によれば、ぼかしの程度に応じてぼかし処理した色データ（および必要に応じて重みデータも）を簡単に計算することができる。
【００１８】
第５の発明は、第４の発明に従属し、拡散値算出ステップは、描画データに含まれる各ピクセルの複数の色成分の大きさに基づいて重みを算出する重み算出ステップを含み、重みに基づいて拡散値を算出する、画像処理プログラムである。
【００１９】
第５の発明では、コンピュータは、まず、重み（ＤＨ）を計算し、その重みに基づいて拡散値を計算する。実施例では、各色要素Ｒ，Ｇ，Ｂをベクトルのように見立てて、それら複数の色成分の大きさで光の強さを表現するようにしている。このいわば「色ベクトル」の大きさを表す係数値が、「重み」である。第５の発明によれば、ピクセルの複数の色成分の大きさに基づいてピクセルをぼかす程度を算出することができるので、ぼかし表現をより自然なものにすることができる。
第６の発明は、第５の発明に従属し、重み算出ステップでは、複数の色成分の大きさに比例しかつぼかし範囲の大きさに反比例する演算式に基づいて重みを算出する、画像処理プログラムである。第６の発明によれば、複数の色成分の大きさに比例しかつぼかし範囲の大きさに反比例するようにそのピクセルをぼかす程度を算出することができるので、ぼかし表現をより自然なものにすることができる。
第７の発明は、第６の発明に従属し、重み算出ステップは、数２
【数２】
0005255789.tif 000002
に従って重みを算出する、画像処理プログラムである。
【００２０】
第８の発明は、第１ないし第７のいずれかの発明に従属し、撮影指示が入力されたかどうか判断する判断ステップをコンピュータにさらに実行させ、検出ステップは、判断ステップで撮影指示が入力されたと判断したとき、ピント合わせ位置を検出し、色データ生成ステップは、ぼかし対象ピクセルについて、描画データに含まれる色データを拡散値で変更する色データ変更ステップを含む、画像処理プログラムである。
【００２１】
第８の発明では、コンピュータは、撮影指示は、たとえばユーザが操作装置（ゲーム装置の場合にはコントローラ）を操作することによってコンピュータに入力することができるが、コンピュータは、判断ステップ（Ｓ９）において、そのような撮影指示が入力されたかどうか判断する。撮影指示が入力されたと判断したとき、コンピュータは、検出ステップ（Ｓ２３）で、たとえばその操作情報に基づいて、仮想３次元画像を撮影するときの、ピント合わせ位置を検出する。そして、色データ生成ステップでは、ぼかし対象ピクセルのそれぞれについて描画データに含まれる色データを拡散値に基づいて変更することによって、ぼかし処理した色データを生成する。第８の発明によれば、ぼかし画像のための色データを簡単に求めることができる。
【００２２】
第９の発明は、第１ないし第８の発明のいずれかに従属し、ユーザによる操作情報を取得する操作情報取得ステップをコンピュータにさらに実行させ、そして検出ステップでは、操作情報に基づいて指定されたピクセルを特定し、当該ピクセルの奥行き値をピント合わせ位置として検出する、画像処理プログラムである。
【００２３】
第９の発明では、コンピュータは、操作情報取得ステップ（Ｓ５）において、ユーザによる操作情報を取得し、そして検出ステップ（Ｓ２３）では、操作情報に基づいて、ユーザがピントを合わせるピクセルであると指定したピクセルを特定し、当該ピクセルの奥行き値をピント合わせ位置として検出する。第９の発明によれば、仮想３次元画像中において、ピント合わせ位置として任意の位置をユーザに自由に選択させることができる。
【００２４】
第１０の発明は、ピクセル毎に色データと奥行き値とを含む描画データを用いて仮想３次元画像を表示する画像処理装置であって、ピント合わせ位置を検出する検出手段、描画データに含まれる各ピクセルの奥行き値とピント合わせ位置の奥行き値との差分をピクセル毎に算出し、当該差分に基づいてぼかし範囲を算出するぼかし範囲算出手段、ぼかし範囲に基づいて特定されたぼかし対象ピクセルについてぼかし処理した色データを生成する色データ生成手段、および色データ生成ステップで生成した色データに基づいて表示画像データを生成する表示画像生成手段を備える、画像処理装置である。
【００２５】
第１０の発明では、画像処理装置として、実施例のゲーム装置（１２）が想定されている。そして、このゲーム装置のコンピュータ（４０）は、たとえば描画バッファ（１３６）から描画データを読み出し、その描画データに含まれるピクセル毎の色データ（Ｒ０，Ｇ０，Ｂ０）と奥行き値（Ｚ）とを用いて仮想３次元画像（ゲーム画像）を表示する。また、各手段はこのコンピュータによって実行されるプログラムステップとして特定できる。たとえば撮影指示に応答して、検出手段（４０，Ｓ２３）は、仮想３次元画像を撮影するときの、ピント合わせ位置を検出する。ぼかし範囲算出手段（Ｓ２５，Ｓ２９）は、コンピュータは、描画データに含まれる各ピクセル（Ｄｎ）の奥行き値（ＤＺ）と、同じく描画データから読み出した当該ピント合わせ位置の奥行き値（ＰＺ）との差分をピクセル毎に算出し、上記差分に基づいて相似形に変形するぼかし範囲を算出する。色データ生成手段（Ｓ３１，Ｓ３３，Ｓ３５，Ｓ３７）によって、ぼかし範囲とぼかし範囲の形状とは異なるぼかし形状データとを照合してぼかし対象ピクセルを特定し、特定されたぼかし対象ピクセルについて、たとえば拡散値によって描画データに含まれていた色データを修飾するなどの手法で、ぼかし処理した色データを生成し、それをピクセル毎に、たとえば演算バッファに書き込む。表示画像生成手段（４０，Ｓ４３）は、そのような描画バッファに格納されている各ピクセルの色データに基づいて、ぼかし画像を含む表示画像データを生成する。
【００２６】
第１１の発明は、ピクセル毎に色データと奥行き値とを含む描画データを用いて仮想３次元画像を表示する画像処理装置における画像処理方法であって、ピント合わせ位置を検出する検出ステップ、描画データに含まれる各ピクセルの奥行き値とピント合わせ位置の奥行き値との差分をピクセル毎に算出し、当該差分に基づいて相似形に変形するぼかし範囲を算出するぼかし範囲算出ステップ、ぼかし範囲とぼかし範囲の形状とは異なるぼかし形状データとを照合してぼかし対象ピクセルを特定し、特定されたぼかし対象ピクセルについてぼかし処理した色データを生成する色データ生成ステップ、および色データ生成ステップで生成した色データに基づいて表示画像データを生成する表示画像生成ステップを含む、画像処理方法である。
第１２の発明は、ピクセル毎に色データと奥行き値とを含む描画データを用いて仮想３次元画像を表示する画像処理システムであって、ピント合わせ位置を検出する検出手段、描画データに含まれる各ピクセルの奥行き値とピント合わせ位置の奥行き値との差分をピクセル毎に算出し、当該差分に基づいて相似形に変形するぼかし範囲を算出するぼかし範囲算出手段、ぼかし範囲とぼかし範囲の形状とは異なるぼかし形状データとを照合してぼかし対象ピクセルを特定し、特定されたぼかし対象ピクセルについてぼかし処理した色データを生成する色データ生成手段、および色データ生成ステップで生成した色データに基づいて表示画像データを生成する表示画像生成手段を備える、画像処理システムである。
第１０、第１１または第１２の発明は、上述の第１の発明の画像処理プログラムと同様の効果を奏する。
【発明の効果】
【００２７】
この発明によれば、各ピクセルの奥行き値とピント合わせ位置の奥行き値との差分に基づいて算出されたぼかし範囲によって特定したぼかし対象ピクセルについて、ぼかし処理した色データを生成するようにしているので、より自然なぼかし表現を実現することができる。
【００２８】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００２９】
図１を参照して、この発明の一実施例であるゲームシステム１０は、ビデオゲーム装置（以下、単に「ゲーム装置」という。）１２およびコントローラ１４を含む。なお、以下に説明する実施例では、画像処理の一例としてゲーム画像処理について説明するが、この発明が適用できる画像処理は、ゲーム画像処理に限られないことに予め留意されたい。この意味で、図１に示すゲームシステム１０を画像処理システムと呼び、ゲーム装置１２を画像処理装置と呼ぶことができる。
【００３０】
図示は省略するが、この実施例のゲーム装置１２は、最大４つのコントローラ１４と通信可能に設計されている。また、ゲーム装置１２と各コントローラ１４とは、無線によって接続される。たとえば、無線通信は、Ｂｌｕｅｔｏｏｔｈ（登録商標）規格に従って実行されるが、赤外線や無線ＬＡＮなど他の規格に従って実行されてもよい。さらには、有線で接続されてもよい。
【００３１】
ゲーム装置１２は、略直方体のハウジング１６を含み、ハウジング１６の前面にはディスクスロット１８が設けられる。ディスクスロット１８から、ゲームプログラム等を記憶した情報記憶媒体の一例である光ディスク２４が挿入されて、ハウジング１６内のディスクドライブ５４（図２参照）に装着される。図示は省略するが、ディスクスロット１８の周囲には、ＬＥＤと導光板とが配置され、様々な処理に応答させて、ディスクスロット１８を点灯または点滅させることが可能である。
【００３２】
また、ゲーム装置１２のハウジング１６の前面の上部には、電源ボタン２０ａおよびリセットボタン２０ｂが設けられ、その下部には、イジェクトボタン２０ｃが設けられる。さらに、リセットボタン２０ｂとイジェクトボタン２０ｃとの間であり、ディスクスロット１８の近傍には、外部メモリカード用コネクタカバー２２が設けられる。この外部メモリカード用コネクタカバー２２の内側には、外部メモリカード用コネクタ６２（図２参照）が設けられ、図示しない外部メモリカード（以下、単に「メモリカード」という。）が挿入される。メモリカードは、光ディスク２４から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム１０を利用してプレイしたゲームのゲームデータ（ゲームの結果データまたは途中データ）を保存（セーブ）しておいたりするために利用される。ただし、上記のゲームデータの保存は、メモリカードに対して行うことに代えて、たとえばゲーム装置１２の内部に設けられるフラッシュメモリ４４（図２参照）のような内部メモリに対して行うようにしてもよい。また、メモリカードは、内部メモリのバックアップメモリとして用いるようにしてもよい。さらに、ゲーム装置１２では、ゲーム以外の他のアプリケーションを実行することも可能であり、かかる場合には、メモリカードには当該他のアプリケーションのデータを保存することができる。
【００３３】
なお、メモリカードとしては、汎用のＳＤカードを用いることができるが、メモリスティックやマルチメディアカード（登録商標）のような他の汎用のメモリカードを用いることもできる。
【００３４】
図１では省略するが、ゲーム装置１２のハウジング１６の後面には、ＡＶケーブルコネクタ５８（図２参照）が設けられ、そのＡＶコネクタ５８を用いて、ＡＶケーブル２６を通してゲーム装置１２にモニタ２８およびスピーカ３０を接続する。このモニタ２８およびスピーカ３０は典型的にはカラーテレビジョン受像機であり、ＡＶケーブル２６によって、ゲーム装置１２からの映像信号がカラーテレビのビデオ入力端子に入力され、ゲーム装置１２からの音声信号が音声入力端子に入力される。したがって、カラーテレビ（モニタ）２８の画面上にたとえば３次元（３Ｄ）ビデオゲームの仮想３次元ゲーム画像が表示され、左右のスピーカ３０からゲーム音楽や効果音などのステレオゲーム音声が出力される。また、モニタ２８の周辺（この実施例では、モニタ２８の上側）には、２つの赤外ＬＥＤ（マーカ）３２ａおよび３２ｂを備えるマーカ部３２が設けられる。このマーカ部３２は、電源線３４を通してゲーム装置１２に接続される。したがって、マーカ部３２には、ゲーム装置１２から電源が供給される。これによって、マーカ３２ａおよび３２ｂは発光し、それぞれモニタ２８の前方に向けて赤外光を出力する。
【００３５】
なお、ゲーム装置１２の電源は、一般的なＡＣアダプタ（図示せず）によって与えられる。ＡＣアダプタは家庭用の標準的な壁ソケットに差し込まれ、ゲーム装置１２は、家庭用電源（商用電源）を、駆動に適した低いＤＣ電圧信号に変換する。他の実施例では、電源としてバッテリが用いられてもよい。
【００３６】
このゲームシステム１０において、ユーザまたはプレイヤがゲーム（またはゲームに限らず、他のアプリケーション）をプレイするために、ユーザは電源スイッチ２０ａによってまずゲーム装置１２の電源をオンし、次いで、ユーザはビデオゲーム（もしくはプレイしたいと思う他のアプリケーション）のプログラムを記録している適宜の光ディスク２４を選択し、その光ディスク２４をゲーム装置１２のディスクドライブ５４にローディングする。応じて、ゲーム装置１２がその光ディスク２４に記録されているプログラムに基づいてビデオゲームもしくは他のアプリケーションを実行し始める。ユーザはゲーム装置１２に入力を与えるためにコントローラ１４を操作する。たとえば操作ボタンなどを含む入力手段３６のどれかの操作ボタンを操作することによってゲームもしくは他のアプリケーションをスタートさせる。また、入力手段３６に対する操作以外にも、コントローラ１４自体を動かすことによって、動画オブジェクト（プレイヤオブジェクト）を異なる方向に移動させ、または３Ｄのゲーム世界におけるユーザの視点（カメラ位置）を変化させることができる。
【００３７】
ただし、ビデオゲームや他のアプリケーションのプログラムは、ゲーム装置１２の内部メモリ（フラッシュメモリ４４（図２参照））に記憶（インストール）しておき、当該内部メモリから実行するようにしてもよい。かかる場合には，光ディスク２４のような記憶媒体に記憶されたプログラムを内部メモリにインストールしてもよいし、ダウンロードされたプログラムを内部メモリにインストールしてもよい。
【００３８】
図２は図１実施例のビデオゲームシステム１０の電気的な構成を示すブロック図である。図示は省略するが、ハウジング１６内の各コンポーネントは、プリント基板に実装される。図２に示すように、ゲーム装置１２には、ＣＰＵ４０が設けられ、ゲームプロセッサとして機能する。また、ＣＰＵ４０には、システムＬＳＩ４２が接続される。このシステムＬＳＩ４２には、外部メインメモリ４６、ＲＯＭ／ＲＴＣ４８、ディスクドライブ５４およびＡＶ  ＩＣ５６が接続される。
【００３９】
外部メインメモリ４６は、ゲームプログラム等のプログラムを記憶したり、各種データを記憶したりして、ＣＰＵ４０のワーク領域やバッファ領域として用いられる。ＲＯＭ／ＲＴＣ４８は、いわゆるブートＲＯＭであり、ゲーム装置１２の起動用のプログラムが組み込まれるとともに、時間をカウントする時計回路が設けられる。ディスクドライブ５４は、光ディスク２４からプログラムやテクスチャデータ等を読み出し、ＣＰＵ４０の制御の下で、後述する内部メインメモリ４２ｅまたは外部メインメモリ４６に書き込む。
【００４０】
システムＬＳＩ４２には、入出力プロセッサ４２ａ、ＧＰＵ(Graphics Processor Unit)４２ｂ，ＤＳＰ(Digital Signal Processor)４２ｃ，ＶＲＡＭ４２ｄおよび内部メインメモリ４２ｅが設けられ、図示は省略するが、これらは内部バスによって互いに接続される。
【００４１】
入出力プロセッサ（Ｉ／Ｏプロセッサ）４２ａは、データの送受信を実行したり、データのダウンロードを実行したりする。
【００４２】
ＧＰＵ４２ｂは、描画手段の一部を形成し、ＣＰＵ４０からのグラフィクスコマンド(作画命令)を受け、そのコマンドに従ってゲーム画像データを生成する。ただし、ＣＰＵ４０は、グラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをＧＰＵ４２ｂに与える。
【００４３】
図示は省略するが、上述したように、ＧＰＵ４２ｂにはＶＲＡＭ４２ｄが接続される。ＧＰＵ４２ｂが作画命令を実行するにあたって必要なデータ（画像データ：ポリゴンデータやテクスチャデータなどのデータ）は、ＧＰＵ４２ｂがＶＲＡＭ４２ｄにアクセスして取得する。ただし、ＣＰＵ４０は、描画に必要な画像データを、ＧＰＵ４２ｂを介してＶＲＡＭ４２ｄに書き込む。ＧＰＵ４２ｂは、ＶＲＡＭ４２ｄにアクセスして描画のためのゲーム画像データを作成する。
【００４４】
なお、この実施例では、ＧＰＵ４２ｂがゲーム画像データを生成する場合について説明するが、ゲームアプリケーション以外の任意のアプリケーションを実行する場合には、ＧＰＵ４２ｂは当該任意のアプリケーションについての画像データを生成する。
【００４５】
また、ＤＳＰ４２ｃは、オーディオプロセッサとして機能し、内部メインメモリ４２ｅや外部メインメモリ４６に記憶されるサウンドデータや音波形（音色）データを用いて、スピーカ３０から出力する音、音声或いは音楽に対応するオーディオデータを生成する。
【００４６】
上述のように生成されたゲーム画像データおよびオーディオデータは、ＡＶ  ＩＣ５６によって読み出され、ＡＶコネクタ５８を介してモニタ２８およびスピーカ３０に出力される。したがって、ゲーム画面がモニタ２８に表示され、ゲームに必要な音（音楽）がスピーカ３０から出力される。
【００４７】
また、入出力プロセッサ４２ａには、フラッシュメモリ４４、無線通信モジュール５０および無線コントローラモジュール５２が接続されるとともに、拡張コネクタ６０およびメモリカード用コネクタ６２が接続される。また、無線通信モジュール５０にはアンテナ５０ａが接続され、無線コントローラモジュール５２にはアンテナ５２ａが接続される。
【００４８】
入出力プロセッサ４２ａは、無線通信モジュール５０を介して、ネットワーク（図示せず）に接続される他のゲーム装置や各種サーバと通信することができる。ただし、ネットワークを介さずに、直接的に他のゲーム装置と通信することもできる。入出力プロセッサ４２ａは、定期的にフラッシュメモリ４４にアクセスし、ネットワークへ送信する必要があるデータ（「送信データ」とする）の有無を検出し、当該送信データが有る場合には、無線通信モジュール５０およびアンテナ５０ａを介してネットワークに送信する。また、入出力プロセッサ４２ａは、他のゲーム装置から送信されるデータ（「受信データ」とする）を、ネットワーク、アンテナ５０ａおよび無線通信モジュール５０を介して受信し、当該受信データをフラッシュメモリ４４に記憶する。ただし、受信データが一定の条件を満たさない場合には、当該受信データはそのまま破棄される。さらに、入出力プロセッサ４２ａは、ダウンロードサーバ（図示せず）からダウンロードしたデータ（ダウンロードデータとする）をネットワーク、アンテナ５０ａおよび無線通信モジュール５０を介して受信し、そのダウンロードデータをフラッシュメモリ４４に記憶することもできる。
【００４９】
また、入出力プロセッサ４２ａは、コントローラ１４から送信される入力データをアンテナ５２ａおよび無線コントローラモジュール５２を介して受信し、内部メインメモリ４２ｅまたは外部メインメモリ４６のバッファ領域に記憶（一時記憶）する。入力データは、ＣＰＵ４０の処理（たとえば、ゲーム処理）によって利用された後、バッファ領域から消去される。
【００５０】
なお、この実施例では、上述したように、無線コントローラモジュール５２は、Ｂｌｕｅｔｏｏｔｈ規格に従ってコントローラ１４との間で通信を行う。
【００５１】
さらに、入出力プロセッサ４２ａには、拡張コネクタ６０およびメモリカード用コネクタ６２が接続される。拡張コネクタ６０は、ＵＳＢやＳＣＳＩのようなインタフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、コントローラ１４とは異なる他のコントローラのような周辺機器を接続したりすることができる。また、拡張コネクタ６０に有線ＬＡＮアダプタを接続し、無線通信モジュール５０に代えて当該有線ＬＡＮを利用することもできる。メモリカード用コネクタ６２には、メモリカードのような外部記憶媒体を接続することができる。したがって、たとえば、入出力プロセッサ４２ａは、拡張コネクタ６０やメモリカード用コネクタ６２を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【００５２】
詳細な説明は省略するが、図１にも示したように、ゲーム装置１２（ハウジング１６）には、電源ボタン２０ａ，リセットボタン２０ｂおよびイジェクトボタン２０ｃが設けられる。電源ボタン２０ａは、システムＬＳＩ４２に接続される。この電源ボタン２０ａがオンされると、システムＬＳＩ４２には、ゲーム装置１２の各コンポーネントに図示しないＡＣアダプタを経て電源が供給され、通常の通電状態となるモード（「通常モード」と呼ぶこととする）が設定される。一方、電源ボタン２０ａがオフされると、システムＬＳＩ４２には、ゲーム装置１２の一部のコンポーネントのみに電源が供給され、消費電力を
必要最低限に抑えるモード（以下、「スタンバイモード」という）が設定される。
【００５３】
この実施例では、スタンバイモードが設定された場合には、システムＬＳＩ４２は、入出力プロセッサ４２ａ、フラッシュメモリ４４、外部メインメモリ４６、ＲＯＭ／ＲＴＣ４８および無線通信モジュール５０、無線コントローラモジュール５２以外のコンポーネントに対して、電源供給を停止する指示を行う。したがって、この実施例では、スタンバイモードにおいて、ＣＰＵ４０がアプリケーションを実行することはない。
【００５４】
なお、システムＬＳＩ４２には、スタンバイモードにおいても電源が供給されるが、ＧＰＵ４２ｂ、ＤＳＰ４２ｃおよびＶＲＡＭ４２ｄへのクロックの供給を停止することにより、これらを駆動しないようにして、消費電力を低減するようにしてある。
【００５５】
また、図示は省略するが、ゲーム装置１２のハウジング１６内部には、ＣＰＵ４０やシステムＬＳＩ４２などのＩＣの熱を外部に排出するためのファンが設けられる。スタンバイモードでは、このファンも停止される。
【００５６】
ただし、スタンバイモードを利用したくない場合には、スタンバイモードを利用しない設定にしておくことにより、電源ボタン２０ａがオフされたときに、すべての回路コンポーネントへの電源供給が完全に停止される。
【００５７】
また、通常モードとスタンバイモードとの切り替えは、コントローラ１４の電源スイッチ８６（図３）のオン／オフの切り替えによって、遠隔操作によって行うことが可能である。当該遠隔操作を行わない場合には、スタンバイモードにおいて無線コントローラモジュール５２ａへの電源供給を行わない設定にしてもよい。
【００５８】
リセットボタン２０ｂもまた、システムＬＳＩ４２に接続される。リセットボタン２０ｂが押されると、システムＬＳＩ４２は、ゲーム装置１２の起動プログラムを再起動する。イジェクトボタン２０ｃは、ディスクドライブ５４に接続される。イジェクトボタン２０ｃが押されると、ディスクドライブ５４から光ディスク２４が排出される。
【００５９】
図３（Ａ）および図３（Ｂ）は、コントローラ１４の外観の一例を示す。図３（Ａ）はコントローラ１４の正面、上面および右側面を見せる斜視図であり、図３（Ｂ）はコントローラ１４の背面、下面および左側面を見せる斜視図である。
【００６０】
図３（Ａ）および図３（Ｂ）を参照して、コントローラ１４は、たとえばプラスチック成型によって形成されたハウジング７０を有している。ハウジング７０は、略直方体形状であり、ユーザが片手で把持可能な大きさである。ハウジング７０（コントローラ１４）には、前述のように入力手段（複数のボタンないしスイッチ）３６が設けられる。具体的には、図３（Ａ）に示すように、ハウジング７０の上面には、十字キー７２，１ボタン７４，２ボタン７６，Ａボタン７８，−（マイナス）ボタン８０，ＨＯＭＥボタン８２，＋（プラス）ボタン８４および電源スイッチ８６が設けられる。また、図３（Ｂ）に示すように、ハウジング７０の下面に傾斜面が形成されており、この傾斜面に、Ｂトリガースイッチ８８が設けられる。
【００６１】
十字キー７２は、４方向プッシュスイッチであり、矢印で示す４つの方向、前（または上）、後ろ（または下）、右および左の操作部を含む。この操作部のいずれか１つを操作することによって、プレイヤによって操作可能なキャラクタまたはオブジェクト（プレイヤキャラクタまたはプレイヤオブジェクト）の移動方向を指示したり、カーソルの移動方向を指示したりすることができる。
【００６２】
１ボタン７４および２ボタン７６は、それぞれ、押しボタンスイッチである。たとえば３次元ゲーム画像を表示する際の視点位置や視点方向、すなわち仮想カメラの位置や画角を調整する等のゲームの操作に使用される。または、１ボタン７４および２ボタン７６は、Ａボタン７８およびＢトリガースイッチ８８と同じ操作或いは補助的な操作をする場合に用いるようにしてもよい。
【００６３】
Ａボタン７８は、押しボタンスイッチであり、プレイヤキャラクタまたはプレイヤオブジェクトに、方向指示以外の動作、すなわち、打つ（パンチ）、投げる、つかむ（取得）、乗る、ジャンプするなどの任意のアクションをさせるために使用される。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かすなどを指示することができる。また、ロールプレイングゲーム（ＲＰＧ）やシミュレーションＲＰＧにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。また、Ａボタン７８は、ゲーム画面上でポインタ（指示画像）が指示するアイコンないしボタン画像の決定を指示するために使用される。たとえば、アイコンやボタン画像が決定されると、これらに対応して予め設定されている指示ないし命令（ゲームのコマンド）を入力することができる。
【００６４】
−ボタン８０、ＨＯＭＥボタン８２、＋ボタン８４および電源スイッチ８６もまた、押しボタンスイッチである。−ボタン８０は、ゲームモードを選択するために使用される。ＨＯＭＥボタン８２は、ゲームメニュー（メニュー画面）を表示するために使用される。＋ボタン８４は、ゲームを開始（再開）したり、一時停止したりするなどのために使用される。電源スイッチ８６は、ゲーム装置１２の電源を遠隔操作によってオン／オフするために使用される。
【００６５】
なお、この実施例では、コントローラ１４自体をオン／オフするための電源スイッチは設けておらず、コントローラ１４の入力手段３６のいずれかを操作することによってコントローラ１４はオンとなり、一定時間（たとえば、３０秒）以上操作しなければ自動的にオフとなるようにしてある。
【００６６】
Ｂトリガースイッチ８８もまた、押しボタンスイッチであり、主として、弾を撃つなどのトリガを模した入力を行ったり、コントローラ１４で選択した位置を指定したりするために使用される。また、Ｂトリガースイッチ８８を押し続けると、プレイヤオブジェクトの動作やパラメータを一定の状態に維持することもできる。また、一定の場合には、Ｂトリガースイッチ８８は、通常のＢボタンと同様に機能し、Ａボタン７８によって決定したアクションやコマンドなどを取り消すなどのために使用される。
【００６７】
また、図３（Ａ）に示すように、ハウジング７０の後端面に外部拡張コネクタ９０が設けられ、また、図３（Ｂ）に示すように、ハウジング７０の上面であり、後端面側にはインジケータ９２が設けられる。外部拡張コネクタ９０は、コントローラ１４とは異なる拡張コントローラ（図示せず）を接続するためなどに使用される。インジケータ９２は、たとえば、４つのＬＥＤで構成される。たとえば、インジケータ９２では、４つのうちのいずれか１つを点灯させることにより、点灯したＬＥＤに応じて、コントローラ１４の識別情報（コントローラ番号）を示すことができる。また、インジケータ９２では、点灯させるＬＥＤの個数によってコントローラ１４の電池残量を示すこともできる。
【００６８】
さらに、コントローラ１４は、撮像情報演算部１０８（図４参照）を有しており、図３（Ｂ）に示すように、ハウジング７０の先端面には撮像情報演算部１０８の光入射口９４が設けられる。また、コントローラ１４は、スピーカ１１４（図４参照）を有しており、このスピーカ１１４は、図３（Ａ）に示すように、ハウジング７０の上面であり、１ボタン７４とＨＯＭＥボタン８２との間に設けられる音抜き孔９６に対応して、ハウジング７０内部に設けられる。
【００６９】
なお、図３（Ａ）および図３（Ｂ）に示したコントローラ１４の形状や、各入力手段３６の形状、数および設置位置等は単なる一例に過ぎず、それらが適宜改変されてもよい。
【００７０】
図４はコントローラ１４の電気的な構成を示すブロック図である。この図４を参照して、コントローラ１４はプロセッサ１００を含み、このプロセッサ１００には、内部バス（図示せず）によって、外部拡張コネクタ９０、入力手段３６、メモリ１０２、加速度センサ１０４、無線モジュール１０６、撮像情報演算部１０８、ＬＥＤ１１０（インジケータ９２）、バイブレータ１１２、スピーカ１１４および電源回路１１６が接続される。また、無線モジュール１０６には、アンテナ１１８が接続される。
【００７１】
なお、簡単のため、図４では省略するが、上述したように、インジケータ９２は４つのＬＥＤ１１０によって構成される。
【００７２】
プロセッサ１００は、コントローラ１４の全体制御を司り、入力手段３６、加速度センサ１０４および撮像情報演算部１０８によって入力された情報（入力情報）を、入力データとして無線モジュール１０６およびアンテナ１１８を介してゲーム装置１２に送信（入力）する。このとき、プロセッサ１００は、メモリ１０２を作業領域ないしバッファ領域として用いる。また、上述した入力手段３６（７２‐８４）からの操作信号（操作データ）は、プロセッサ１００に入力され、プロセッサ１００は操作データを一旦メモリ１０２に記憶する。
【００７３】
加速度センサ１０４は、図３に示すようにコントローラ１４の縦方向（ｙ軸方向）、横方向（ｘ軸方向）および前後方向（ｚ軸方向）の３軸で各々の加速度を検出する。この加速度センサ１０４は、典型的には、静電容量式の加速度センサであるが、他の方式のものを用いるようにしてもよい。
【００７４】
たとえば、加速度センサ１０４は、第１所定時間毎に、ｘ軸，ｙ軸，ｚ軸の各々についての加速度（ａｘ，ａｙ，ａｚ）を検出し、検出した加速度のデータ（加速度データ）をプロセッサ１００に入力する。たとえば、加速度センサ１０４は、各軸方向の加速度を、−２．０Ｇ〜２．０Ｇ（Ｇは重力加速度である。以下、同じ。）の範囲で検出する。プロセッサ１００は、加速度センサ１０４から与えられる加速度データを、第２所定時間毎に検出し、一旦メモリ１０２に記憶する。
【００７５】
プロセッサ１００は、操作データ、加速度データおよび後述するマーカ座標データの少なくとも１つを含む入力データを作成し、作成した入力データを、第３所定時間（たとえば、５ｍｓｅｃ）毎にゲーム装置１２に送信する。
【００７６】
なお、図３では省略したが、この実施例では、加速度センサ１０４は、ハウジング７０内部の基板上の十字キー７２が配置される付近に設けられる。
【００７７】
ここで、加速度センサ１０４から出力される加速度データに基づいて、ゲーム装置１２のプロセッサ（たとえば、ＣＰＵ４０）またはコントローラ１４のプロセッサ（たとえば、プロセッサ１００）などのコンピュータが処理を行うことによって、コントローラ１４に関するさらなる情報を推測または算出（判定）することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。
【００７８】
たとえば、コントローラ１４に１軸の加速度センサ１０４を搭載し、当該コントローラ１４が静的な状態であることを前提としてコンピュータ側で処理する場合、すなわち、加速度センサ１０４によって検出される加速度が重力加速度のみであるとして処理する場合、コントローラ１４が現実に静的な状態であれば、検出された加速度データに基づいてコントローラ１４の姿勢が重力方向に対して傾いているか否かまたはどの程度傾いているかを知ることができる。具体的には、加速度センサ１０４の検出軸が鉛直下方向である状態を基準としたとき、１Ｇ（重力加速度）がかかっているか否かだけで傾いているか否かを知ることができるし、その大きさによってどの程度傾いているかを知ることもできる。
【００７９】
また、コントローラ１４に多軸の加速度センサ１０４を搭載する場合には、さらに各軸の加速度データに対して処理を施すことによって、重力方向に対してどの程度傾いているかをより詳細に知ることができる。この場合において、加速度センサ１０４の出力に基づいて、プロセッサ１００がコントローラ１４の傾き角度のデータを算出する処理を行ってもよいが、当該傾き角度のデータの算出処理を行うことなく、加速度センサ１０４からの出力に基づいて、おおよその傾きを推定できるような処理としてもよい。このように、加速度センサ１０４をプロセッサ１００と組み合わせることによって、コントローラ１４の傾き、姿勢または位置を判定することができる。
【００８０】
一方、加速度センサ１０４が動的な状態を前提とする場合には、重力加速度成分に加えて加速度センサの動きに応じた加速度を検出するので、重力加速度成分を所定の処理により除去すれば、動きの方向などを知ることができる。具体的には、加速度センサ１０４を搭載するコントローラ１４がユーザの手で動的に加速されて動かされている場合に、加速度センサ１０４によって生成される加速度データを処理することによって、コントローラ１４の様々な動きおよび／または位置を算出することができる。
【００８１】
なお、加速度センサ１０４が動的な状態であることを前提とする場合であっても、加速度センサ１０４の動きに応じた加速度を所定の処理により除去すれば、重力方向に対する傾きを知ることができる。他の実施例では、加速度センサ１０４は、加速度データをプロセッサ１００に出力する前に、内蔵の加速度検出手段から出力される加速度信号（加速度データ）に対して所望の処理を行うための、組込み式の信号処理装置また他の種類の専用の処理装置を備えてもよい。たとえば、組込み式または専用の処理装置は、加速度センサ１０４が静的な加速度（たとえば、重力加速度）を検出するためのものである場合、検知された加速度データをそれに相当する傾斜角（あるいは、他の好ましいパラメータ）に変換するものであってもよい。
【００８２】
無線モジュール１０６は、たとえばＢｌｕｅｔｏｏｔｈの技術を用いて、所定周波数の搬送波を入力データで変調し、その微弱電波信号をアンテナ１１８から放射する。つまり、入力データは、無線モジュール１０６によって微弱電波信号に変調されてアンテナ１１８（コントローラ１４）から送信される。この微弱電波信号が上述したゲーム装置１２に設けられた無線コントローラモジュール５２によって受信される。受信された微弱電波は、復調および復号の処理を施され、したがって、ゲーム装置１２（ＣＰＵ４０）は、コントローラ１４からの入力データを取得することができる。そして、ＣＰＵ４０は、取得した入力データとアプリケーションプログラム（ゲームプログラム）とに従ってアプリケーションの処理（ゲーム処理）を行う。
【００８３】
さらに、上述したように、コントローラ１４には、撮像情報演算部１０８が設けられる。この撮像情報演算部１０８は、赤外線フィルタ１０８ａ、レンズ１０８ｂ、撮像素子１０８ｃおよび画像処理回路１０８ｄによって構成される。赤外線フィルタ１０８ａは、コントローラ１４の前方から入射する光から赤外線のみを通過させる。上述したように、モニタ２８の表示画面近傍（周辺）に配置されるマーカ３２ａおよび３２ｂは、モニタ２８の前方に向かって赤外光を出力する赤外ＬＥＤである。したがって、赤外線フィルタ１０８ａを設けることによってマーカ３２ａおよび３２ｂの画像をより正確に撮像することができる。レンズ１０８ｂは、赤外線フィルタ１０８ａを透過した赤外線を集光して撮像素子１０８ｃへ出射する。撮像素子１０８ｃは、たとえばＣＭＯＳセンサあるいはＣＣＤのような固体撮像素子であり、レンズ１０８ｂによって集光された赤外線を撮像する。したがって、撮像素子１０８ｃは、赤外線フィルタ１０８ａを通過した赤外線だけを撮像して画像データを生成する。以下では、撮像素子１０８ｃによって撮像された画像を撮像画像と呼ぶ。撮像素子１０８ｃによって生成された画像データは、画像処理回路１０８ｄで処理される。画像処理回路１０８ｄは、撮像画像内における撮像対象（マーカ３２ａおよび３２ｂ）の位置を算出し、第４所定時間毎に、当該位置を示す各座標値を撮像データ（後述するマーカ座標データ）としてプロセッサ１００に出力する。なお、画像処理回路１０８ｄにおける処理については後述する。
【００８４】
図５は、コントローラ１４を用いてゲームプレイするときの状態を概説する図解図である。図５に示すように、ビデオゲームシステム１０でコントローラ１４を用いてゲームをプレイする際、プレイヤは、一端がコントローラ１４に結び付けられたストラップ１２０を一方の手の手首に巻いた状態で、その同じ手の手のひらでコントローラ１４を把持する。厳密に言うと、プレイヤは、コントローラ１４の先端面（図３で示す撮像情報演算部１０８が撮像する光の入射口９４側）がマーカ３２ａおよび３２ｂの方を向く状態でコントローラ１４を把持する。これらマーカ３２ａおよび３２ｂは、図示したように、モニタ２８の画面の横（水平）方向と平行に配置されている。この状態で、プレイヤは、コントローラ１４が指示する画面上の位置を変更したり、コントローラ１４と各マーカ３２ａおよび３２ｂとの距離を変更したりすることによってゲーム操作を行う。
【００８５】
図６は、マーカ３２ａおよび３２ｂと、コントローラ１４との視野角を説明するための図である。図６に示すように、マーカ３２ａおよび３２ｂは、それぞれ、視野角θ１の範囲で赤外光を放射する。また、撮像情報演算部１０８の撮像素子１０８ｃは、コントローラ１４の視線方向を中心とした視野角θ２の範囲で入射する光を受光することができる。たとえば、マーカ３２ａおよび３２ｂの視野角θ１は、共に３４°（半値角）であり、一方、撮像素子１０８ｃの視野角θ２は４１°である。プレイヤは、撮像素子１０８ｃが２つのマーカ３２ａおよび３２ｂからの赤外光を受光することが可能な位置および向きとなるように、コントローラ１４を把持する。具体的には、撮像素子１０８ｃの視野角θ２の中にマーカ３２ａおよび３２ｂの少なくとも一方が存在し、かつ、マーカ３２ａまたは３２ｂの少なくとも一方の視野角θ１の中にコントローラ１４が存在する状態となるように、プレイヤはコントローラ１４を把持する。この状態にあるとき、コントローラ１４は、マーカ３２ａおよび３２ｂの少なくとも一方を検知することができる。プレイヤは、この状態を満たす範囲でコントローラ１４の位置および向きを変化させることによってゲーム操作を行うことができる。
【００８６】
なお、コントローラ１４の位置および向きがこの範囲外となった場合、コントローラ１４の位置および向きに基づいたゲーム操作を行うことができなくなる。以下では、必要な場合、上記範囲を「操作可能範囲」と呼ぶ。
【００８７】
操作可能範囲内でコントローラ１４が把持される場合、撮像情報演算部１０８によって各マーカ３２ａおよび３２ｂの画像が撮像される。すなわち、撮像素子１０８ｃによって得られる撮像画像には、撮像対象である各マーカ３２ａおよび３２ｂの画像（対象画像）が含まれる。図７は、対象画像を含む撮像画像の一例を示す図である。対象画像を含む撮像画像の画像データを用いて、画像処理回路１０８ｄは、各マーカ３２ａおよび３２ｂの撮像画像における位置を表す座標（マーカ座標）を算出する。
【００８８】
撮像画像の画像データにおいて対象画像は高輝度部分として現れるため、画像処理回路
１０８ｄは、まず、この高輝度部分を対象画像の候補として検出する。次に、画像処理回路１０８ｄは、検出された高輝度部分の大きさに基づいて、その高輝度部分が対象画像であるか否かを判定する。撮像画像には、対象画像である２つのマーカ３２ａおよび３２ｂに対応する画像３２ａ’および３２ｂ’のみならず、窓からの太陽光や部屋の蛍光灯の光によって対象画像以外の画像が含まれていることがある。高輝度部分が対象画像であるか否かの判定処理は、対象画像である画像３２ａ’および３２ｂ’と、それ以外の画像とを区別し、対象画像を正確に検出するために実行される。具体的には、当該判定処理においては、検出された高輝度部分が、予め定められた所定範囲内の大きさであるか否かが判定される。そして、高輝度部分が所定範囲内の大きさである場合には、当該高輝度部分は対象画像を表すと判定される。逆に、高輝度部分が所定範囲内の大きさでない場合には、当該高輝度部分は対象画像以外の画像を表すと判定される。
【００８９】
さらに、上記の判定処理の結果、対象画像を表すと判定された高輝度部分について、画像処理回路１０８ｄは当該高輝度部分の位置を算出する。具体的には、当該高輝度部分の重心位置を算出する。ここでは、当該重心位置の座標をマーカ座標と呼ぶ。また、重心位置は撮像素子１０８ｃの解像度よりも詳細なスケールで算出することが可能である。ここでは、撮像素子１０８ｃによって撮像された撮像画像の解像度が１２６×９６であるとし、重心位置は１０２４×７６８のスケールで算出されるものとする。つまり、マーカ座標は、（０，０）から（１０２４，７６８）までの整数値で表現される。
【００９０】
なお、撮像画像における位置は、撮像画像の左上を原点とし、下向きをＹ軸正方向とし、右向きをＸ軸正方向とする座標系（ＸＹ座標系）で表現されるものとする。
【００９１】
また、対象画像が正しく検出される場合には、判定処理によって２つの高輝度部分が対象画像として判定されるので、２箇所のマーカ座標が算出される。画像処理回路１０８ｄは、算出された２箇所のマーカ座標を示すデータを出力する。出力されたマーカ座標のデータ（マーカ座標データ）は、上述したように、プロセッサ１００によって入力データに含まれ、ゲーム装置１２に送信される。
【００９２】
ゲーム装置１２（ＣＰＵ４０）は、受信した入力データからマーカ座標データを検出すると、このマーカ座標データに基づいて、モニタ３４の画面上におけるコントローラ１４の指示位置Ｐ（指示座標ＰＸ，ＰＹ）と、コントローラ１４からマーカ３２ａおよび３２ｂまでの各距離とを算出することができる。具体的には、２つのマーカ座標の中点の位置から、コントローラ１４の向いている位置すなわち指示位置が算出される。また、撮像画像における対象画像間の距離が、コントローラ１４と、マーカ３２ａおよび３２ｂとの距離に応じて変化するので、２つのマーカ座標間の距離を算出することによって、ゲーム装置１２はコントローラ１４とマーカ３２ａおよび３２ｂとの間の距離を把握できる。
【００９３】
図１‐図７で説明した実施例のゲームシステム１０で一例としてゲームおよびそれのための画像処理を実行する際のメモリマップの一例が図８に示される。メインメモリ４２ｅはプログラム記憶領域１２２およびデータ記憶領域１２４を含む。プログラムおよびデータの一部は、光ディスク２２から一度に全部または必要に応じて部分的にかつ順次的に読み出され、メインメモリ４８に記憶され、図２に示すＣＰＵ４０やシステムＬＳＩ４２内のＧＰＵ４２ｂやＤＳＰ４２ｃなどで処理される。なお、図８にはメモリマップの一部のみが示されており、処理に必要な他のプログラムおよびデータも記憶される。
【００９４】
プログラム記憶領域１２２において記憶領域１２６には、この実施例のゲームプログラムでゲーム画像を表示するためのゲーム画像表示プログラムが記憶される。記憶領域１２８にはコントローラ１４の入力手段３６の操作信号やコントローラ１４を動かしたときのマーカ座標データや加速度データなどを含む操作情報を取得するための操作情報取得プログラムが記憶されている。このプログラムによって、ＣＰＵ４０にはコントローラ１４からの操作情報（「コントローラデータ」ということもある。）が取得される。上述のように、Ｂｌｕｅｔｏｏｔｈ通信ユニット７４を介してコントローラ１４からのコントローラデータが定期的に受信される。受信されたコントローラデータは、データ記憶領域１２４の作業データ記憶領域１３６に記憶される。コントローラデータは、上述のようにコントローラ１４の入力データを含み、したがって、コントローラデータは、コントローラ１４の加速度センサ１０４で検出された加速度を示すデータを含む。この操作情報取得プログラムによって、１フレームごとに、コントローラデータからコントローラ１４の加速度データを取得する。なお、上述のように、加速度センサ１０４によって、各軸の加速度はゲーム装置１２の１フレーム（たとえば１／６０秒）よりも短いサンプリング周期（たとえば１／２００秒）で検出されるので、コントローラデータには各軸ごとに複数の加速度値が含まれている。したがって、平均値、最大値、最小値などのような適宜な値を抽出することによって、現フレームにおける各軸の加速度を取得する。取得されたコントローラ１４の各軸加速度は、同じく作業データ記憶領域１３４に記憶される。
【００９５】
記憶領域１３０にはゲーム処理のために必要な、画像表示プログラムを除く、プログラム（ゲーム処理プログラム）が記憶されている。
【００９６】
記憶領域１３２には、この実施例の特徴であるぼかし画像生成処理プログラムが記憶されている。実施例のゲームでは、上述のコントローラ１４を用いて「撮影操作」を行なったとき、ゲーム画像（たとえば、仮想３次元画像）を静止画（写真）として切り出すような画像処理を実行するのであるが、「ぼかし画像生成処理」とは、その静止画を切り出すとき、実際の写真のように、ピントが合った場所や物の画像は鮮明に映し出すが、そのピント位置の前後ではいわゆる「ピンぼけ」のようにぼけたような画像（これを「ぼかし画像」という。）に表現するような画像処理である。具体的には、後述の図１０に示すフロー図に従って実行される。
【００９７】
このぼかし画像生成処理プログラムに含まれる各プログラムコンポーネントを簡単に説明すると、ピント合わせ位置検出プログラムは、ユーザがコントローラ１４で撮影操作したときのピントを合わせた位置Ｐ（ＰＸ，ＰＹ）を特定するためのプログラムである。ぼかし範囲算出プログラムは、ピクセル毎にぼかし画像を生成する範囲（「ぼかし範囲」または「ぼかしの大きさ」：後述の「ＳＺ）」）を計算するためのプログラムである。
【００９８】
重み算出プログラムは、ぼかし処理のために必要な各色毎の拡散値（後述）を計算するのに必要な係数である。この実施例では、各色要素Ｒ，Ｇ，Ｂをベクトルのように見立てて、そのベクトルの大きさで光の強さを表現する、いわば「色ベクトル」のような概念を利用し、その色ベクトルの大きさで各色の拡散値を決定するようにしている。そして、この色ベクトルの大きさを示す係数が「重み」である。
【００９９】
拡散値とは、各ピクセル各色の拡散の程度を示す値でこの拡散値が大きいほど、ぼかしの程度が大きくなる。
【０１００】
形状照合プログラムは、ぼかし形状と上述のぼかし範囲とを照合して実際にぼかし対象とするピクセルを確定するためのプログラムである。ここで、「ぼかし形状」とは、ぼかし画像の外形形状を規定する形状であり、矩形や３角形の多角形、さらには円形、菱形、星形などの比較的単純な任意形状が考えられる。実施例では、後述のように、６角形を想定している。
【０１０１】
ただし、このような「ぼかし形状」という外形形状を特に規定しないでもぼかし画像生成処理はできるので、この「ぼかし形状」やそれとぼかし範囲（ＳＺ）とを照合する照合プログラムが不要な場合もある。
【０１０２】
データ記憶領域１２４の記憶領域１３４は、上で述べたように、コントローラデータやフラグ、レジスタ、計算結果、パラメータなどの作業データを一時的に保存しておくためのワーキングエリアである。パラメータデータとしては、上述のピント合わせ位置検出プログラムで検出したピント合わせ位置Ｐ（ＰＸ，ＰＹ）、Ｆ値、上述のぼかし範囲算出プログラムで計算したぼかし範囲（ＳＺ）、重み算出プログラムで計算した重み（Ｈ）、さらには拡散値などがある。なお、Ｆ値とは、よく知られているように、ｆ値(焦点距離)／ｄ(レンズの有効口径)で表される「レンズの明るさ」を示す「Ｆナンバー」または「Ｆトップス」である。ここで、ｆ値とは焦点距離の範囲を指し、焦点距離が長くなれば被写界深度は浅くなり、ピントの合う範囲が狭くなるため被写体の背景がぼけて被写体がより強調される。そして、Ｆ値が大きいほど被写界深度は深くなり、たとえば、Ｆ値がたとえば「２．８」のとき被写界深度は浅く、Ｆ値をたとえば「４．０」にすると被写界深度が深くなる。
【０１０３】
なお、この作業データ記憶領域１３４に、上述の「ぼかし形状」のデータ、たとえば６角形のデータを一時的に保存するようにしてもよい。
【０１０４】
記憶領域１３６は、描画バッファであり、モニタ２８の画面上でゲーム画像を形成するための全てのピクセル（ドット）（たとえば、６４０×４５６ドット）についての、位置座標（Ｘ，Ｙ）、色データ（Ｒ，Ｇ，Ｂ）および奥行き値（Ｚ値）（ＺＤ）を記憶する。なお、この描画バッファ１３６の色データはデフォルト値であり、ぼかし画像生成処理においてこの色データを修飾してぼかし画像を含む実際の表示用（出力用）ピクセルデータを生成する。
【０１０５】
記憶領域１３８は、演算バッファであり、モニタ２８の画面上で実際にゲーム画像を形成する全てのピクセル（ドット）についての、位置座標（Ｘ，Ｙ）、色データ（Ｒ，Ｇ，Ｂ）および重み（Ｈ）を記憶する。
【０１０６】
図９に示すフロー図を参照して、この実施例におけるゲーム動作の一例について説明する。図９のステップＳ１からＳ１３の処理は単位時間（１フレーム）ごとに実行される。処理を開始すると、ステップＳ１で、ＣＰＵ４０は初期設定動作を実行し、図８のデータ記憶領域１２４の作業データ記憶領域１３４や描画バッファ１３６に必要なデータを、たとえばプログラム記憶領域１２２から読み出すなどして、設定する。
【０１０７】
ステップＳ３でＣＰＵ４０は、図８に示す領域１２６に読み出して展開しているゲーム画像表示プログラムを実行することによって、描画バッファ１３６に読み出した各ピクセルの色データ（Ｒ０，Ｇ０，Ｂ０）や奥行き値（ＺＤ）に従ってゲーム画像をモニタ２８の画面上に表示する。具体的には、描画バッファ１３６のデフォルトの色データ（Ｒ０，Ｇ０，Ｂ０）や奥行き値（ＺＤ）を演算して、各ピクセルの表示用色データ（Ｒ１，Ｇ１，Ｂ１）や重み（Ｈ）を演算バッファ１３８に書き込み、その演算バッファ１３８のデータをＡＶＩＣ５６（図２）に出力することによって、仮想３次元のゲーム画像を表示する。
【０１０８】
続くステップＳ５で、ＣＰＵ４０は、入出力プロセッサ４２ａ（図２）からデータを受け取り、ユーザまたはプレイヤが操作したコントローラ１４の操作情報を取得する。この操作情報は、入力手段３６の各操作ボタンや操作スイッチの操作信号や、マーカ座標データ、加速度データなどを含み、ステップＳ７では、たとえば「Ｗｉｉ」（登録商標）などとしてよく知られているゲーム装置と同様に、そのようにして取得した操作情報に基づいてゲーム処理、たとえば、プレイヤキャラクタを移動させたりする処理、プレイヤキャラクタに特定のアクションを行なわせたりする処理を実行する。ただし、このステップＳ７における具体的なゲーム処理そのものは発明の要点ではないので、ここでは詳細な説明は省略する。
【０１０９】
次のステップＳ９で、コンピュータないしＣＰＵ４０は、ステップＳ５で取得した操作情報に撮影操作の情報が含まれていたかどうかを検出することによって、撮影指示があったかどうか、判断する。実施例では、たとえば図５に示すように、コントローラ１４の先端の受光部をモニタ２８の画面内に向け、かつＡボタン７８（図３）が操作されたとき、ユーザまたはプレイヤが撮影指示を入力したものと判断する。
【０１１０】
ここで、「撮影」とは、上述の仮想３次元画像であるゲーム画像をその「撮影」タイミングで静止画として切り出す処理または操作を意味し、写真を撮る動作に相当するところから、「撮影」と呼ぶようにしたものである。ぼかし処理をしない、写真ないし静止画の一例が、図１１に示されている。このように、３次元画像を写真のように切り出すことを撮影と呼ぶが、図１１は、ぼかし処理を適用していない、元の写真であるので、全ての物（オブジェクト）にピントが合った状態として表現されている。
【０１１１】
この実施例では、このような「写真」において、ピントを奥行き方向のどこに合わせるかによって、ピントがはずれた部分の画像をぼかし処理することによって、通常のカメラと同様に自然な遠近感を表現しようとするものである。「ぼかし処理」はステップＳ１１で実行されるが、このステップＳ１１は図１０に詳細に示されている。
【０１１２】
なお、ＣＰＵ４０は、ステップＳ１３で、たとえばステップＳ５で取得した操作情報に基づいてユーザがゲーム終了を指示したか、もしくはステップＳ７でゲーム終了が必要になったかを判断し、“ＮＯ”なら先のステップＳ３に戻り、ステップＳ３‐Ｓ１３を繰り返し実行するが、“ＹＥＳ”ならそのまま終了処理する。
【０１１３】
図１０のステップＳ２１で、コンピュータすなわちＣＰＵ４０は、演算バッファ１３８（図８）をクリアして以下の処理に備える。
【０１１４】
続くステップＳ２３で、ＣＰＵ４０は、ステップＳ５（図９）で取得した操作情報（マーカ座標データ等に基づいて算出された画面上の指示位置。コントローラ１４の先端が向けられている位置）に基づいて、Ａボタン７８が操作されたときの図５に示すピント合わせ位置Ｐの位置座標（ＰＸ，ＰＹ）を検出する。この指示位置の検出は先に図６や図７を参照して説明したので、ここでは繰り返さない。
【０１１５】
続いて、ステップＳ２５において、ＣＰＵ４０は、描画バッファ１３６に読み出している描画データから、ピント合わせ位置Ｐにおける奥行き値ＰＺを検出する。
【０１１６】
そして、ステップＳ２７で、ピクセル数ｎをｎ＝１に設定し、ステップＳ４１で全部のピクセルを処理したことを検出するまで、ステップＳ２９‐Ｓ４１を繰り返し実行する。
【０１１７】
Ｓ２９では、ｎ番目のピクセルＤｎの奥行き値ＤＺとステップＳ２５で求めたピント合わせ位置における奥行き値ＰＺとの差分に基づいて、ぼかし処理すべき範囲すなわちぼかしの大きさＳＺを次式（３）に従って算出する。
【０１１８】
［数１］
ＳＺ＝｜（ＤＺ−ＰＺ）／Ｆ｜          …（１）
ただし、Ｆは上述したＦ値（Ｆナンバー）である。
【０１１９】
このぼかし範囲は、図１２に示すように、そのとき対象となっているピクセルＤ（ＤＸ，ＤＹ）を中心とする縦ＳＺ横ＳＺの大きさを有する正方形の領域１５０である。
【０１２０】
続くステップＳ３１で、ＣＰＵ４０は、次式（４）に従って、そのピクセルＤｎの重みＤＨを計算する。上述したように、「重み」は当該ピクセルの光の強さに相関する値であり、その光の強さをベクトル表現したときの大きさである。この重みＤＨは、したがって、光の強さに比例し、ぼかし範囲（面積）すなわち上記ぼかしの大きさＳＺに反比例する。
【０１２１】
【数４】
0005255789.tif 000003
【０１２２】
次のステップＳ３３で、ピクセルＤｎの各色の拡散値ＤＲ，ＤＧ，ＤＢを次式（５）で算出する。なお、拡散値とは、ぼかしの程度を示す係数であり、上述のぼかしの大きさＳＺの相関値である。図１２に示す中心位置Ｄ（ＤＸ，ＤＹ）がステップＳ３３で対象となっているピクセルＤｎのことであるが、拡散値は、この中心位置すなわち対象ピクセルのどの程度の範囲までぼかしの影響がでるかという指標であると考えられる。
【０１２３】
［数５］
ＤＲ＝Ｒ０×ＤＨ
ＤＧ＝Ｇ０×ＤＨ
ＤＢ＝Ｂ０×ＤＨ…（５）
【０１２４】
続くステップＳ３５で、ＣＰＵ４０は、ぼかし範囲の大きさＳＺとぼかし形状とを照合する。図１２の実施例では、ぼかし範囲１５０に対して、６角形のぼかし形状１５２を想定していて、このぼかし範囲１５０とぼかし形状１５２との重なった領域（図１２で斜め線のハッチングで示す）のピクセルがぼかし対象ピクセルとなる。
【０１２５】
そして、このぼかし対象ピクセル全てについて、次式（６）に従って、色データＲ１，Ｇ１，Ｂ１と重みデータＨとを計算して、それを該当のピクセルの色データおよび重みデータとして演算バッファ１３８のそのピクセルの領域に書き込む。
【０１２６】
［数６］
Ｒ１＝Ｒ１＋ＤＲ
Ｇ１＝Ｇ１＋ＤＧ
Ｂ１＝Ｂ１＋ＤＢ
Ｈ＝Ｈ＋ＤＨ                    …（６）
【０１２７】
その後ステップＳ３９でピクセル番号を順次更新し、最後のピクセル（ｎ＝ｍａｘ）まで、上記の計算を繰り返し、演算バッファ１３８に、モニタ２８の画面の全ピクセル、すなわち描画バッファ１３６の各ピクセルにそのとき実際に描画すべき属性データ（色データ、重みデータ）を書き込む。つまり、全ピクセルの各々毎に、重みを持って拡散した色データとそれに掛けられた重みデータとが蓄積される。
【０１２８】
そして、次のステップＳ４３で、ＣＰＵ４０は、演算バッファ１３８に格納されている各ピクセルの色データおよび重みデータに基づいて、次式（７）によって出力色データ(表示画像データ)を計算し、それをＡＶＩＣ５６に出力する。それによって、撮影指示に応じたかつ自然なぼかし処理を施した静止画像すなわち表示画像をモニタ２８に表示する。このようにして、（７）式に従って、蓄積された重みで色の蓄積を割ることによって、正しい色情報（色データ）を出力するようにしている。
【０１２９】
［数７］
出力Ｒ＝演算バッファの同座標のＲ１／演算バッファの同座標のＨ
出力Ｇ＝演算バッファの同座標のＧ１／演算バッファの同座標のＨ
出力Ｂ＝演算バッファの同座標のＢ１／演算バッファの同座標のＨ      …（７）
【０１３０】
このようにして、図１１に示すぼかし処理のない写真画像が、たとえば図１３または図１４に示すようにぼかし処理された写真画像になる。図１３の例は、手前の岩にピントが合っており、それより奥の魚（くまのみ）などが全てぼかし処理された画像となっている。図１４の例は、ちょうど魚（くまのみ）にピントが合っていて、それの前後でピントがずれている画像である。
【０１３１】
なお、実施例では、ステップＳ３５におけるぼかしサイズＳＺとぼかし形状との照合は、たとえば図８の作業データ記憶領域１３４に設定され得る「照合フラグ」（図示せず）が「１」にセットされているときだけ実行するようにしている。ここで、ぼかし範囲ＳＺの形状は、実施例の正方形以外にも、円形などが考えられる。
【０１３２】
ただし、このようなぼかしサイズＳＺとぼかし形状との重なり範囲でぼかし対象ピクセルを確定するようにしなくても、たとえば、デフォルトのぼかし形状を前述の奥行き値の差分の大きさに応じて相似形に変形（たとえば、ぼかし形状の直径を変化させたり縦横の長さを固定比のまま変化させる等）させ、その相似形の範囲内に含まれるピクセルをぼかし処理対象ピクセルとして特定するようにしてもよい。具体的には、ステップＳ２５と同じようにして差分を計算し、その差分の大きさに応じて、そのとき作業データ記憶領域１３４(図８)から読み出したデフォルトのぼかし形状を大きくしまたは小さくしもしくはそのまま用いて、そのぼかし形状の中に存在するピクセルをぼかし対象ピクセルとして特定する、方法が考えられる。そして、そのようにして決定したぼかし処理対象ピクセルについてのみステップＳ３３およびＳ３７を実行し、ぼかし処理した色データを作成すればよい。
【０１３３】
なお、上述の実施例では、図９のステップＳ９において撮影操作があったときにぼかし処理を施した静止（写真）画像を生成するようにしたが、これに限らず、図９のステップＳ３において表示されるゲーム画像（プレイヤの操作に応じて変化する動画像）に対して上述のぼかし処理を行うようにしてもよい。
【図面の簡単な説明】
【０１３４】
【図１】図１はこの発明の一実施例のゲームシステムの概要を示す外観図である。
【図２】図２はゲームシステムの電気的構成の一例を示すブロック図である。
【図３】図３は実施例で用いられるコントローラの外観の一例を示す図解図であり、図３（Ａ）は後方上側から見た斜視図であり、図３（Ｂ）は前方下側から見た斜視図である。
【図４】図４はコントローラの電気的構成の一例を示すブロック図である。
【図５】図５は実施例のコントローラを用いてゲームをプレイするときの状態を示す図解図である。
【図６】図６は実施例におけるマーカおよびコントローラの視野角を示す図解図である。
【図７】図７は対象画像を含む撮像画像の一例を示す図解図である。
【図８】図８はメモリマップの一例を示す図解図である。
【図９】図９はゲーム装置のＣＰＵのゲーム動作の一例を示すフロー図である。
【図１０】図１０は図９のぼかし画像生成処理動作の一例を示すフロー図である。
【図１１】図１１はぼかし処理をしていない元の静止画像（撮影画像）を示す図解図である。
【図１２】図１２はぼかし範囲（ぼかしの大きさ）とぼかし形状との重なり状態を示す図解図である。
【図１３】図１３は図１２の静止画像（撮影画像）で手前側のピントを合わせたときの画像を示す図解図である。
【図１４】図１４は図１２の静止画像（撮影画像）で魚にピントを合わせたときの画像を示す図解図である。
【符号の説明】
【０１３５】
１０  …ゲームシステム
１２  …ゲーム装置
１４  …コントローラ
４０  …ＣＰＵ
４２ｅ  …内部メインメモリ
【図１】
0005255789.tif 000005
【図２】
0005255789.tif 000006
【図３】
0005255789.tif 000007
【図４】
0005255789.tif 000008
【図５】
0005255789.tif 000009
【図６】
0005255789.tif 000010
【図７】
0005255789.tif 000011
【図８】
0005255789.tif 000012
【図９】
0005255789.tif 000013
【図１０】
0005255789.tif 000014
【図１１】
0005255789.tif 000015
【図１２】
0005255789.tif 000016
【図１３】
0005255789.tif 000017
【図１４】
0005255789.tif 000018