(57)【特許請求の範囲】
【請求項１】
立体視画像を生成する画像処理装置のコンピュータにおいて実行される画像処理プログラムであって、前記コンピュータを、
所定の原画像を取得する原画像取得手段と、
前記原画像のｉ行目ｊ列目の部分領域（ｉ，ｊ）の深度を示す深度情報を各ｉ，ｊについて前記原画像の部分領域毎に対応させて記憶する深度情報記憶手段と、
前記原画像の深度情報をコピー先画像の深度情報としてコピーし、前記原画像の部分領域（ｉ，ｊ）について、以下の（１）〜（５）の処理を行うことによって、左目用画像および右目用画像を生成する画像生成手段として機能させる、画像処理プログラム。
（１）前記原画像の部分領域（ｉ，ｊ）に対応する深度情報が、当該部分領域（ｉ，ｊ）が表示画面より手前方向に位置することを示す場合、
左目用画像を生成する場合には、前記原画像の当該部分領域（ｉ，ｊ）に対応するコピー先画像の部分領域（ｉ，ｊ）から前記深度情報に応じた量ｈｉｊ（＞０）だけ右方向にずらした位置の画素（ｉ，ｊ＋ｈｉｊ）までの範囲に、原画像の画素（ｉ，ｊ）をコピーし、
右目用画像を生成する場合には、前記原画像の当該部分領域（ｉ，ｊ）に対応するコピー先画像の部分領域（ｉ，ｊ）から前記深度情報に応じた量ｈｉｊ（＞０）だけ左方向にずらした位置の画素（ｉ，ｊ−ｈｉｊ）までの範囲に、原画像の画素（ｉ，ｊ）をコピーする。
（２）前記原画像の部分領域（ｉ，ｊ）に対応する深度情報が、当該部分領域（ｉ，ｊ）が表示画面より奥方向に位置することを示す場合、
左目用画像を生成する場合には、前記原画像の当該部分領域（ｉ，ｊ）に対応するコピー先画像の部分領域（ｉ，ｊ）から前記深度情報に応じた量ｈｉｊ（＞０）だけ左方向にずらした位置の画素（ｉ，ｊ−ｈｉｊ）までの範囲に、原画像の画素（ｉ，ｊ）をコピーし、
右目用画像を生成する場合には、前記原画像の当該部分領域（ｉ，ｊ）に対応するコピー先画像の部分領域（ｉ，ｊ）から前記深度情報に応じた量ｈｉｊ（＞０）だけ右方向にずらした位置の画素（ｉ，ｊ＋ｈｉｊ）までの範囲に、原画像の画素（ｉ，ｊ）をコピーする。
（３）前記（１）及び（２）において、前記原画像の部分領域（ｉ，ｊ）をコピー先画像の部分領域にコピーする際、前記原画像の部分領域（ｉ，ｊ）に対応する深度情報および当該コピー先画像に対応する深度情報が、前記原画像の部分領域（ｉ，ｊ）が当該コピー先画像の部分領域よりも手前方向に位置することを示す場合にコピーを行う。
（４）前記（１）及び（２）において、前記原画像の部分領域（ｉ，ｊ）をコピー先画像の部分領域にコピーする際、前記コピー先画像の部分領域の位置が前記原画像の画素（ｉ，ｊ）の位置から離れることに応じて、前記コピー先画像の部分領域に対応する深度情報を、前記原画像の部分領域（ｉ，ｊ）に対応する深度情報が表す位置より表示画面に近い位置を示す深度情報に変更する。
（５）前記原画像の部分領域（ｉ，ｊ）に対応する深度情報および当該コピー先画像の部分領域に対応する深度情報が、前記原画像の部分領域（ｉ，ｊ）が当該コピー先画像の部分領域より奥方向に位置することを示す場合に、当該原画像の部分領域（ｉ，ｊ）に対する処理を終了し、前記原画像の次の部分領域に対する前記（１）〜（４）の処理を行う。
【請求項２】
前記深度情報記憶手段は、入力手段からの入力に応じて、前記深度情報を更新する、請求項１に記載の画像処理プログラム。
【請求項３】
前記入力手段は指示座標検出手段であり、
前記深度情報記憶手段は、前記指示座標検出手段によって検出された座標に対応する前記原画像の部分領域の深度情報を更新する、請求項２に記載の画像処理プログラム。
【請求項４】
前記各部分領域の深度情報と、当該各部分領域の位置から所定方向の位置に存在する部分領域の深度情報とを用いて、明暗情報を有するグレースケール画像を生成し、前記左目用画像および前記右目用画像に生成したグレースケール画像をテクスチャマッピングにより合成するエンボス処理手段として、前記コンピュータを更に機能させる、請求項１に記載の画像処理プログラム。
【請求項５】
前記深度情報記憶手段に記憶される前記深度情報の値の範囲と、前記グレースケール画像の各画素のグレースケール値の範囲とを合わせることにより、
前記エンボス処理手段は、前記各部分領域の深度情報の値と、当該各部分領域の位置から所定方向の位置に存在する部分領域の深度情報の値との差分に応じた値を、前記グレースケール画像の各画素のグレースケール値とする、請求項４に記載の画像処理プログラム。
【請求項６】
立体視画像を生成する画像処理装置であって、
所定の原画像を取得する原画像取得手段と、
前記原画像のｉ行目ｊ列目の部分領域（ｉ，ｊ）の深度を示す深度情報を各ｉ，ｊについて前記原画像の部分領域毎に対応させて記憶する深度情報記憶手段と、
前記原画像の深度情報をコピー先画像の深度情報としてコピーし、前記原画像の部分領域（ｉ，ｊ）について、以下の（１）〜（５）の処理を行うことによって、左目用画像および右目用画像を生成する画像生成手段とを備える、画像処理装置。
（１）前記原画像の部分領域（ｉ，ｊ）に対応する深度情報が、当該部分領域（ｉ，ｊ）が表示画面より手前方向に位置することを示す場合、
左目用画像を生成する場合には、前記原画像の当該部分領域（ｉ，ｊ）に対応するコピー先画像の部分領域（ｉ，ｊ）から前記深度情報に応じた量ｈｉｊ（＞０）だけ右方向にずらした位置の画素（ｉ，ｊ＋ｈｉｊ）までの範囲に、原画像の画素（ｉ，ｊ）をコピーし、
右目用画像を生成する場合には、前記原画像の当該部分領域（ｉ，ｊ）に対応するコピー先画像の部分領域（ｉ，ｊ）から前記深度情報に応じた量ｈｉｊ（＞０）だけ左方向にずらした位置の画素（ｉ，ｊ−ｈｉｊ）までの範囲に、原画像の画素（ｉ，ｊ）をコピーする。
（２）前記原画像の部分領域（ｉ，ｊ）に対応する深度情報が、当該部分領域（ｉ，ｊ）が表示画面より奥方向に位置することを示す場合、
左目用画像を生成する場合には、前記原画像の当該部分領域（ｉ，ｊ）に対応するコピー先画像の部分領域（ｉ，ｊ）から前記深度情報に応じた量ｈｉｊ（＞０）だけ左方向にずらした位置の画素（ｉ，ｊ−ｈｉｊ）までの範囲に、原画像の画素（ｉ，ｊ）をコピーし、
右目用画像を生成する場合には、前記原画像の当該部分領域（ｉ，ｊ）に対応するコピー先画像の部分領域（ｉ，ｊ）から前記深度情報に応じた量ｈｉｊ（＞０）だけ右方向にずらした位置の画素（ｉ，ｊ＋ｈｉｊ）までの範囲に、原画像の画素（ｉ，ｊ）をコピーする。
（３）前記（１）及び（２）において、前記原画像の部分領域（ｉ，ｊ）をコピー先画像の部分領域にコピーする際、前記原画像の部分領域（ｉ，ｊ）に対応する深度情報および当該コピー先画像に対応する深度情報が、前記原画像の部分領域（ｉ，ｊ）が当該コピー先画像の部分領域よりも手前方向に位置することを示す場合にコピーを行う。
（４）前記（１）及び（２）において、前記原画像の部分領域（ｉ，ｊ）をコピー先画像の部分領域にコピーする際、前記コピー先画像の部分領域の位置が前記原画像の画素（ｉ，ｊ）の位置から離れることに応じて、前記コピー先画像の部分領域に対応する深度情報を、前記原画像の部分領域（ｉ，ｊ）に対応する深度情報が表す位置より表示画面に近い位置を示す深度情報に変更する。
（５）前記原画像の部分領域（ｉ，ｊ）に対応する深度情報および当該コピー先画像の部分領域に対応する深度情報が、前記原画像の部分領域（ｉ，ｊ）が当該コピー先画像の部分領域より奥方向に位置することを示す場合に、当該原画像の部分領域（ｉ，ｊ）に対する処理を終了し、前記原画像の次の部分領域に対する前記（１）〜（４）の処理を行う。
【請求項７】
立体視画像を生成する画像処理方法であって、
所定の原画像を取得する原画像取得ステップと、
前記原画像のｉ行目ｊ列目の部分領域（ｉ，ｊ）の深度を示す深度情報を各ｉ，ｊについて前記原画像の部分領域毎に対応させて記憶する深度情報記憶ステップと、
前記原画像の深度情報をコピー先画像の深度情報としてコピーし、前記原画像の部分領域（ｉ，ｊ）について、以下の（１）〜（５）の処理を行うことによって、左目用画像および右目用画像を生成する画像生成ステップとを含む、画像処理方法。
（１）前記原画像の部分領域（ｉ，ｊ）に対応する深度情報が、当該部分領域（ｉ，ｊ）が表示画面より手前方向に位置することを示す場合、
左目用画像を生成する場合には、前記原画像の当該部分領域（ｉ，ｊ）に対応するコピー先画像の部分領域（ｉ，ｊ）から前記深度情報に応じた量ｈｉｊ（＞０）だけ右方向にずらした位置の画素（ｉ，ｊ＋ｈｉｊ）までの範囲に、原画像の画素（ｉ，ｊ）をコピーし、
右目用画像を生成する場合には、前記原画像の当該部分領域（ｉ，ｊ）に対応するコピー先画像の部分領域（ｉ，ｊ）から前記深度情報に応じた量ｈｉｊ（＞０）だけ左方向にずらした位置の画素（ｉ，ｊ−ｈｉｊ）までの範囲に、原画像の画素（ｉ，ｊ）をコピーする。
（２）前記原画像の部分領域（ｉ，ｊ）に対応する深度情報が、当該部分領域（ｉ，ｊ）が表示画面より奥方向に位置することを示す場合、
左目用画像を生成する場合には、前記原画像の当該部分領域（ｉ，ｊ）に対応するコピー先画像の部分領域（ｉ，ｊ）から前記深度情報に応じた量ｈｉｊ（＞０）だけ左方向にずらした位置の画素（ｉ，ｊ−ｈｉｊ）までの範囲に、原画像の画素（ｉ，ｊ）をコピーし、
右目用画像を生成する場合には、前記原画像の当該部分領域（ｉ，ｊ）に対応するコピー先画像の部分領域（ｉ，ｊ）から前記深度情報に応じた量ｈｉｊ（＞０）だけ右方向にずらした位置の画素（ｉ，ｊ＋ｈｉｊ）までの範囲に、原画像の画素（ｉ，ｊ）をコピーする。
（３）前記（１）及び（２）において、前記原画像の部分領域（ｉ，ｊ）をコピー先画像の部分領域にコピーする際、前記原画像の部分領域（ｉ，ｊ）に対応する深度情報および当該コピー先画像に対応する深度情報が、前記原画像の部分領域（ｉ，ｊ）が当該コピー先画像の部分領域よりも手前方向に位置することを示す場合にコピーを行う。
（４）前記（１）及び（２）において、前記原画像の部分領域（ｉ，ｊ）をコピー先画像の部分領域にコピーする際、前記コピー先画像の部分領域の位置が前記原画像の画素（ｉ，ｊ）の位置から離れることに応じて、前記コピー先画像の部分領域に対応する深度情報を、前記原画像の部分領域（ｉ，ｊ）に対応する深度情報が表す位置より表示画面に近い位置を示す深度情報に変更する。
（５）前記原画像の部分領域（ｉ，ｊ）に対応する深度情報および当該コピー先画像の部分領域に対応する深度情報が、前記原画像の部分領域（ｉ，ｊ）が当該コピー先画像の部分領域より奥方向に位置することを示す場合に、当該原画像の部分領域（ｉ，ｊ）に対する処理を終了し、前記原画像の次の部分領域に対する前記（１）〜（４）の処理を行う。
【請求項８】
立体視画像を生成する画像処理システムであって、
所定の原画像を取得する原画像取得手段と、
前記原画像のｉ行目ｊ列目の部分領域（ｉ，ｊ）の深度を示す深度情報を各ｉ，ｊについて前記原画像の部分領域毎に対応させて記憶する深度情報記憶手段と、
前記原画像の深度情報をコピー先画像の深度情報としてコピーし、前記原画像の部分領域（ｉ，ｊ）について、以下の（１）〜（５）の処理を行うことによって、左目用画像および右目用画像を生成する画像生成手段とを含む、画像処理システム。
（１）前記原画像の部分領域（ｉ，ｊ）に対応する深度情報が、当該部分領域（ｉ，ｊ）が表示画面より手前方向に位置することを示す場合、
左目用画像を生成する場合には、前記原画像の当該部分領域（ｉ，ｊ）に対応するコピー先画像の部分領域（ｉ，ｊ）から前記深度情報に応じた量ｈｉｊ（＞０）だけ右方向にずらした位置の画素（ｉ，ｊ＋ｈｉｊ）までの範囲に、原画像の画素（ｉ，ｊ）をコピーし、
右目用画像を生成する場合には、前記原画像の当該部分領域（ｉ，ｊ）に対応するコピー先画像の部分領域（ｉ，ｊ）から前記深度情報に応じた量ｈｉｊ（＞０）だけ左方向にずらした位置の画素（ｉ，ｊ−ｈｉｊ）までの範囲に、原画像の画素（ｉ，ｊ）をコピーする。
（２）前記原画像の部分領域（ｉ，ｊ）に対応する深度情報が、当該部分領域（ｉ，ｊ）が表示画面より奥方向に位置することを示す場合、
左目用画像を生成する場合には、前記原画像の当該部分領域（ｉ，ｊ）に対応するコピー先画像の部分領域（ｉ，ｊ）から前記深度情報に応じた量ｈｉｊ（＞０）だけ左方向にずらした位置の画素（ｉ，ｊ−ｈｉｊ）までの範囲に、原画像の画素（ｉ，ｊ）をコピーし、
右目用画像を生成する場合には、前記原画像の当該部分領域（ｉ，ｊ）に対応するコピー先画像の部分領域（ｉ，ｊ）から前記深度情報に応じた量ｈｉｊ（＞０）だけ右方向にずらした位置の画素（ｉ，ｊ＋ｈｉｊ）までの範囲に、原画像の画素（ｉ，ｊ）をコピーする。
（３）前記（１）及び（２）において、前記原画像の部分領域（ｉ，ｊ）をコピー先画像の部分領域にコピーする際、前記原画像の部分領域（ｉ，ｊ）に対応する深度情報および当該コピー先画像に対応する深度情報が、前記原画像の部分領域（ｉ，ｊ）が当該コピー先画像の部分領域よりも手前方向に位置することを示す場合にコピーを行う。
（４）前記（１）及び（２）において、前記原画像の部分領域（ｉ，ｊ）をコピー先画像の部分領域にコピーする際、前記コピー先画像の部分領域の位置が前記原画像の画素（ｉ，ｊ）の位置から離れることに応じて、前記コピー先画像の部分領域に対応する深度情報を、前記原画像の部分領域（ｉ，ｊ）に対応する深度情報が表す位置より表示画面に近い位置を示す深度情報に変更する。
（５）前記原画像の部分領域（ｉ，ｊ）に対応する深度情報および当該コピー先画像の部分領域に対応する深度情報が、前記原画像の部分領域（ｉ，ｊ）が当該コピー先画像の部分領域より奥方向に位置することを示す場合に、当該原画像の部分領域（ｉ，ｊ）に対する処理を終了し、前記原画像の次の部分領域に対する前記（１）〜（４）の処理を行う。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、左右の目に視認される画像を用いて立体視画像を表示させる画像処理プログラム、画像処理装置、画像処理システム、および、画像処理方法に関する。
【背景技術】
【０００２】
従来より、左右の目に見える画像をそれぞれ表示することによって、画像を立体的に表示する装置が提案されている。例えば、特許文献１に記載の装置では、透視投影変換によって３次元のモデルを１つの視点から見た画像を生成し、当該画像の各画素を奥行き方向の位置に応じて左右方向にずらすことによって、左目用の画像と右目用の画像とを生成している。そして、生成した左目用の画像と右目用の画像とを表示部に出力して、立体視の画像として表示している。このように、特許文献１では、３次元モデルを１つの仮想カメラで撮像した画像について、当該画像の各画素を奥行き方向の位置に応じて左右方向にずらすことによって左右の画像を生成し、３次元モデルを立体視の画像として表示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−２００８７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１では、３次元モデルを１つの仮想カメラで撮像した画像について、当該画像の各画素を奥行き方向の位置に応じて左右方向に単純にずらすことによって左右の画像を生成する。このため、表示される立体視の画像はユーザにとって見難い画像になったり、違和感のある画像になったりすることがある。
【０００５】
それ故、本発明の目的は、より自然で立体感のある画像を生成することが可能な画像処理プログラム、画像処理装置、画像処理システム、および、画像処理方法を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上記の課題を解決するために、以下の構成を採用した。
【０００７】
本発明は、立体視画像を生成する画像処理装置のコンピュータにおいて実行される画像処理プログラムである。当該画像処理プログラムは、上記コンピュータを、原画像取得手段と、深度情報記憶手段と、画像生成手段として機能させる。原画像取得手段は、所定の原画像を取得する。深度情報記憶手段は、上記原画像の部分領域ごとの深度を示す深度情報を上記原画像の部分領域毎に対応させて記憶する。画像生成手段は、上記原画像のある部分領域について当該部分領域に対応した位置から当該部分領域の深度情報に応じた量だけ左右方向にずらした位置までの範囲に当該部分領域の画像データをコピーする処理を、上記原画像の部分領域毎に行うことによって、左目用画像および右目用画像を生成する。
【０００８】
上記によれば、深度情報記憶手段には、原画像の各部分領域の深度情報が記憶される。そして、原画像の部分領域について、当該部分領域に対応した位置から当該部分領域の深度情報に応じた量だけ左右方向にずらした位置までの範囲に、当該部分領域の画像データをコピーする。そして、原画像の各部分領域について、コピー処理を行うことにより、左目用画像および右目用画像を生成することができる。これにより、深度情報を用いて原画像を表示画面に垂直な方向に変化した立体視画像を生成することができ、違和感のない立体視画像を生成することができる。
【０００９】
また、本発明では、上記深度情報記憶手段は、入力手段からの入力に応じて、上記深度情報を更新してもよい。
【００１０】
上記によれば、入力手段に対する入力によって、深度情報を更新することができる。
【００１１】
また、本発明では、上記入力手段は指示座標検出手段であってもよい。この場合において、上記深度情報記憶手段は、上記指示座標検出手段によって検出された座標に対応する上記原画像の部分領域の深度情報を更新する。
【００１２】
上記によれば、指示座標検出手段を用いて深度情報を更新することができる。
【００１３】
また、本発明では、上記画像生成手段は、判定手段と、コピー手段と、制御手段とを含んでもよい。この場合において、画像生成手段は、生成する画像であるコピー先画像の部分領域の深度情報を記憶する。判定手段は、上記原画像の部分領域の深度情報とコピー先画像の部分領域の深度情報とを比較し、上記原画像の部分領域の方が上記コピー先画像の部分領域よりも深度が小さいか否かを判定する。コピー手段は、上記判定手段によって上記原画像の部分領域の方が上記コピー先画像の部分領域よりも深度が小さいと判定された場合に、当該原画像の部分領域を上記コピー先画像の部分領域にコピーするとともに、当該原画像の部分領域の深度情報を上記コピー先画像の部分領域の深度情報にコピーする。制御手段は、上記判定手段による判定とコピー手段によるコピーとを上記原画像の部分領域毎に実行する。
【００１４】
上記によれば、原画像の部分領域をコピーする際に、原画像の部分領域の深度情報とコピー先画像の部分領域の深度情報とを比較して、原画像の部分領域の方がコピー先画像の部分領域よりも深度が小さいか否か（原画像の部分領域の方がコピー先画像の部分領域よりも表示画面の手前方向に位置するか否か）を判定することができる。そして、判定結果が肯定の場合に、原画像の部分領域をコピー先画像の部分領域にコピーすることができる。これにより、表示画面の手前方向に位置する部分領域が奥方向に位置する部分領域よりも優先されるため、リアルで自然な立体視の画像を生成することができる。
【００１５】
また、本発明では、上記画像生成手段は、制御手段と、判定手段と、コピー手段とを含んでもよい。この場合において、上記画像生成手段は、生成する画像であるコピー先画像の部分領域の深度情報を記憶する。制御手段は、上記原画像のある部分領域を指定して、当該原画像の部分領域に対応した上記コピー先画像の部分領域を指定する。判定手段は、上記原画像の部分領域に対応する深度情報と、上記制御手段によって指定されたコピー先画像の部分領域の深度情報とを比較し、当該原画像の部分領域の方が当該コピー先画像の部分領域よりも深度が小さいか否かを判定する。コピー手段は、上記判定手段による判定結果が肯定の場合、上記原画像の部分領域を上記コピー先画像の部分領域にコピーするとともに、当該原画像の部分領域の深度情報を上記コピー先画像の部分領域の深度情報にコピーする。そして、上記制御手段は、上記原画像の部分領域の深度情報が表示画面に対して手前方向の位置を示す場合において、上記左目用画像を生成するときは、現在指定しているコピー先画像の部分領域の右側の部分領域を次のコピー先画像の部分領域として指定して、上記判定手段および上記コピー手段による処理を実行させる。また、上記制御手段は、上記原画像の部分領域の深度情報が上記表示画面に対して手前方向の位置を示す場合において、上記右目用画像を生成するときは、現在指定しているコピー先画像の部分領域の左側の部分領域を次のコピー先画像の部分領域として指定して、上記判定手段および上記コピー手段による処理を実行させる。また、上記制御手段は、上記原画像の部分領域の深度情報が上記表示画面に対して奥方向の位置を示す場合において、上記左目用画像を生成するときは、現在指定しているコピー先画像の部分領域の左側の部分領域を次のコピー先画像の部分領域として指定して、上記判定手段および上記コピー手段による処理を実行させる。また、上記制御手段は、上記原画像の部分領域の深度情報が上記表示画面に対して奥方向の位置を示す場合において、上記右目用画像を生成するときは、現在指定しているコピー先画像の部分領域の右側の部分領域を次のコピー先画像の部分領域として指定して、上記判定手段および上記コピー手段による処理を実行させる。さらに、上記制御手段は、上記原画像の部分領域に対する処理が終了した場合、上記原画像の次の部分領域に対する処理を実行する。
【００１６】
上記によれば、例えば、生成する画像が左目用画像であって、かつ、深度情報が上記表示画面に対して手前方向の位置を示す場合（高さが正の場合）は、右方向に、深度情報が上記表示画面に対して奥方向の位置を示す場合（高さが負の場合）は、左方向に、順に原画像の部分領域をコピーすることができる。また、コピーする際には、原画像の部分領域の方がコピー先画像の部分領域よりも表示画面の手前方向に位置する（原画像の部分領域の方がコピー先画像の部分領域よりも深度が小さい）場合のみ、原画像の部分領域をコピー先画像の部分領域にコピーすることができる。これにより、表示画面の手前方向に位置する部分領域が奥方向に位置する部分領域よりも優先されるため、リアルで自然な立体視の画像を生成することができる。
【００１７】
また、本発明では、上記制御手段は、上記判定手段によって上記原画像の部分領域の方が上記コピー先画像の部分領域よりも深度が大きいと判定された場合、当該原画像の部分領域に対する処理を終了して、上記原画像の次の部分領域に対する処理を実行してもよい。
【００１８】
上記によれば、原画像の部分領域の方がコピー先画像の部分領域よりも深度が大きいと判定された時点で、当該原画像の部分領域に対する処理を終了することができる。例えば、原画像の部分領域を右方向に順次コピーしていく場合において、原画像の部分領域よりも深度が小さいコピー先画像の部分領域にぶつかった場合、以降の当該原画像の部分領域に対するコピー処理を終了することができる。これにより、よりリアルで自然な立体視の画像を生成することができる。
【００１９】
また、本発明では、画像処理プログラムは、深度変更手段として上記コンピュータを更に機能させてもよい。深度変更手段は、上記コピー先画像の部分領域が、コピー元の上記原画像の部分領域の位置から離れることに応じて、当該原画像の部分領域を上記表示画面に近づけるようにして当該原画像の部分領域に対応する深度情報を変更する。そして、上記判定手段は、上記深度変更手段によって変更された上記原画像の部分領域に対応する深度情報と、上記コピー先画像の部分領域の深度情報とを比較し、変更後の当該原画像の部分領域の方が当該コピー先画像の部分領域よりも深度が小さいか否かを判定する。
【００２０】
上記によれば、コピー先画像の部分領域が、コピー元の前記原画像の部分領域の位置から離れることに応じて、例えば、当該原画像の部分領域の深度をディクリメントしたりインクリメントしたりすることができる。これにより、比較的深度が小さい部分領域の影響が強く出過ぎないようにすることができ、より自然な立体視の画像を生成することができる。
【００２１】
また、本発明では、画像処理プログラムは、エンボス処理手段として上記コンピュータを更に機能させてもよい。エンボス処理手段は、上記各部分領域の深度情報と、当該各部分領域の位置から所定方向の位置に存在する部分領域の深度情報とを用いて、明暗情報を有するグレースケール画像を生成し、上記左目用画像および上記右目用画像に生成したグレースケール画像をテクスチャマッピングにより合成する。
【００２２】
上記によれば、深度情報を用いて左目用画像および右目用画像に対してエンボス処理を行うことができ、左目用画像および右目用画像に深度に応じた影を付することができる。これにより、より立体感のある画像を生成することができる。
【００２３】
また、本発明では、上記深度情報記憶手段は、上記深度情報としてグレースケール値を記憶してもよい。この場合において、上記エンボス処理手段は、上記深度情報記憶手段に記憶された各部分領域のグレースケール値と、当該各部分領域の位置から所定方向の位置に存在する部分領域のグレースケール値との差分に応じて、上記グレースケール画像を生成する。
【００２４】
上記によれば、深度情報記憶手段に記憶された深度情報の値をそのままエンボス処理に利用することができる。
【００２５】
また、本発明では、上記各手段を実現した画像処理装置であってもよい。また、本発明では、上記各手段を実現する複数の要素が相互に動作することによって、１つの画像処理システムとして構成されてもよい。当該画像処理システムは、１つの装置によって構成されてもよいし、複数の装置によって構成されてもよい。
【発明の効果】
【００２６】
本発明によれば、自然で立体感のある立体視画像を生成することができる。
【図面の簡単な説明】
【００２７】
【図１】開状態におけるゲーム装置１０の正面図
【図２】開状態におけるゲーム装置１０の側面図
【図３】閉状態におけるゲーム装置１０の左側面図、正面図、右側面図および背面図
【図４】ゲーム装置１０の内部構成を示すブロック図
【図５】本実施形態に係る画像処理が行われた場合に画面に表示される画像の一例を示す図
【図６】上側ＬＣＤ２２に初期的に表示される原画像の一例を示す図
【図７】下側ＬＣＤ１２に対するタッチ操作が行われる前の高さマップを示す図
【図８】下側ＬＣＤ１２に対するタッチ操作が行われた後の高さマップの一例を示す図
【図９】左目用画像を生成する場合の画像処理の流れを示す図
【図１０】原画像５０から左目用画像５１および右目用画像５２が生成されて、合成される様子を示す図
【図１１】ゲーム装置１０のＲＡＭのメモリマップを示す図
【図１２】本実施形態に係る画像処理の詳細を示すメインフローチャート
【図１３】マップ更新処理（ステップＳ１）の詳細を示すフローチャート
【図１４】左目用画像生成処理（ステップＳ２）の詳細を示すフローチャート
【図１５】右目用画像生成処理（ステップＳ３）の詳細を示すフローチャート
【図１６】エンボス処理（ステップＳ４）の詳細を示すフローチャート
【図１７】エンボス処理におけるグレースケール値の算出について説明するための図
【図１８】本実施形態における処理によって生成される左目用画像の各画素の見え方を示す概念図
【図１９Ａ】実空間に存在するオブジェクトとユーザの視点とを空間の上方から見た図
【図１９Ｂ】オブジェクトの移動前後の左目１１０に見える横方向の範囲を示す図であり、左目１１０に映し出される像における各オブジェクトの横方向の位置を示す図
【図１９Ｃ】オブジェクトの移動前後の右目１２０に見える横方向の範囲を示す図であり、右目１２０に映し出される像における各オブジェクトの横方向の位置を示す図
【発明を実施するための形態】
【００２８】
（ゲーム装置の構成）
以下、本発明の一実施形態に係るゲーム装置について説明する。図１〜図３は、ゲーム装置１０の外観を示す平面図である。ゲーム装置１０は携帯型のゲーム装置であり、図１〜図３に示すように折り畳み可能に構成されている。図１および図２は、開いた状態（開状態）におけるゲーム装置１０を示し、図３は、閉じた状態（閉状態）におけるゲーム装置１０を示している。図１は、開状態におけるゲーム装置１０の正面図であり、図２は、開状態におけるゲーム装置１０の右側面図である。ゲーム装置１０は、撮像部によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置１０は、交換可能なメモリカード内に記憶され、または、サーバーや他のゲーム装置から受信したゲームプログラムを実行可能であり、仮想空間に設定された仮想カメラで撮像した画像などのコンピュータグラフィックス処理により生成された画像を画面に表示したりすることができる。
【００２９】
まず、図１〜図３を参照して、ゲーム装置１０の外観構成について説明する。図１〜図３に示されるように、ゲーム装置１０は、下側ハウジング１１および上側ハウジング２１を有する。下側ハウジング１１と上側ハウジング２１とは、開閉可能（折り畳み可能）に接続されている。本実施形態では、各ハウジング１１および２１はともに横長の長方形の板状形状であり、互いの長辺部分で回転可能に接続されている。
【００３０】
図１および図２に示されるように、下側ハウジング１１の上側長辺部分には、下側ハウジング１１の内側面（主面）１１Ｂに対して垂直な方向に突起する突起部１１Ａが設けられる。また、上側ハウジング２１の下側長辺部分には、上側ハウジング２１の下側面から当該下側面に垂直な方向に突起する突起部２１Ａが設けられる。下側ハウジング１１の突起部１１Ａと上側ハウジング２１の突起部２１Ａとが連結されることにより、下側ハウジング１１と上側ハウジング２１とが、折り畳み可能に接続される。
【００３１】
（下側ハウジングの説明）
まず、下側ハウジング１１の構成について説明する。図１〜図３に示すように、下側ハウジング１１には、下側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１２、タッチパネル１３、各操作ボタン１４Ａ〜１４Ｌ（図１、図３）、アナログスティック１５、ＬＥＤ１６Ａ〜１６Ｂ、挿入口１７、および、マイクロフォン用孔１８が設けられる。以下、これらの詳細について説明する。
【００３２】
図１に示すように、下側ＬＣＤ１２は下側ハウジング１１に収納される。下側ＬＣＤ１２は横長形状であり、長辺方向が下側ハウジング１１の長辺方向に一致するように配置される。下側ＬＣＤ１２は下側ハウジング１１の中央に配置される。下側ＬＣＤ１２は、下側ハウジング１１の内側面（主面）に設けられ、下側ハウジング１１に設けられた開口部から当該下側ＬＣＤ１２の画面が露出される。ゲーム装置１０を使用しない場合には閉状態としておくことによって、下側ＬＣＤ１２の画面が汚れたり傷ついたりすることを防止することができる。下側ＬＣＤ１２の画素数は、例えば、２５６ｄｏｔ×１９２ｄｏｔ（横×縦）であってもよい。下側ＬＣＤ１２は、後述する上側ＬＣＤ２２とは異なり、画像を（立体視可能ではなく）平面的に表示する表示装置である。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側ＬＣＤ１２として、任意の解像度の表示装置を利用することができる。
【００３３】
図１に示されるように、ゲーム装置１０は、入力装置として、タッチパネル１３を備えている。タッチパネル１３は、下側ＬＣＤ１２の画面上に装着されている。なお、本実施形態では、タッチパネル１３は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。本実施形態では、タッチパネル１３として、下側ＬＣＤ１２の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１３の解像度と下側ＬＣＤ１２の解像度が一致している必要はない。また、下側ハウジング１１の上側面には挿入口１７（図１および図３（ｄ）に示す点線）が設けられている。挿入口１７は、タッチパネル１３に対する操作を行うために用いられるタッチペン２８を収納することができる。なお、タッチパネル１３に対する入力は通常タッチペン２８を用いて行われるが、タッチペン２８に限らずユーザの指でタッチパネル１３に対する入力をすることも可能である。
【００３４】
各操作ボタン１４Ａ〜１４Ｌは、所定の入力を行うための入力装置である。図１に示されるように、下側ハウジング１１の内側面（主面）には、各操作ボタン１４Ａ〜１４Ｌのうち、十字ボタン１４Ａ（方向入力ボタン１４Ａ）、ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、ボタン１４Ｅ、電源ボタン１４Ｆ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、およびスタートボタン１４Ｌが、設けられる。十字ボタン１４Ａは、十字の形状を有しており、上下左右の方向を指示するボタンを有している。ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、ボタン１４Ｅは、十字状に配置される。ボタン１４Ａ〜１４Ｅ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、およびスタートボタン１４Ｌには、ゲーム装置１０が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン１４Ａは選択操作等に用いられ、各操作ボタン１４Ｂ〜１４Ｅは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン１４Ｆは、ゲーム装置１０の電源をオン／オフするために用いられる。
【００３５】
アナログスティック１５は、方向を指示するデバイスであり、下側ハウジング１１の内側面の下側ＬＣＤ１２より左側領域の上部領域に設けられる。図１に示すように、十字ボタン１４Ａは下側ＬＣＤ１２より左側領域の下部領域に設けられるので、アナログスティック１５は、十字ボタン１４Ａの上方に設けられる。また、アナログスティック１５、および、十字ボタン１４Ａは、下側ハウジングを把持した左手の親指で操作可能な位置に設計される。また、アナログスティック１５を上部領域に設けたことにより、下側ハウジング１１を把持する左手の親指が自然と位置するところにアナログスティック１５が配され、十字ボタン１４Ａは、左手の親指を少し下にずらした位置に配される。アナログスティック１５は、そのキートップが、下側ハウジング１１の内側面に平行にスライドするように構成されている。アナログスティック１５は、ゲーム装置１０が実行するプログラムに応じて機能する。例えば、３次元仮想空間に所定のオブジェクトが登場するゲームがゲーム装置１０によって実行される場合、アナログスティック１５は、当該所定のオブジェクトを３次元仮想空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトはアナログスティック１５のキートップがスライドした方向に移動される。なお、アナログスティック１５として、上下左右および斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いても良い。
【００３６】
十字状に配置される、ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、ボタン１４Ｅの４つのボタンは、下側ハウジング１１を把持する右手の親指が自然と位置するところに配置される。また、これらの４つのボタンと、アナログスティック１５とは、下側ＬＣＤ１２を挟んで、左右対称に配置される。これにより、ゲームプログラムによっては、例えば、左利きの人が、これらの４つのボタンを使用して方向指示入力をすることも可能である。
【００３７】
また、下側ハウジング１１の内側面には、マイクロフォン用孔１８が設けられる。マイクロフォン用孔１８の下部には後述する音声入力装置としてのマイク（図４参照）が設けられ、当該マイクがゲーム装置１０の外部の音を検出する。
【００３８】
図３（ａ）は閉状態におけるゲーム装置１０の左側面図であり、図３（ｂ）は閉状態におけるゲーム装置１０の正面図であり、図３（ｃ）は閉状態におけるゲーム装置１０の右側面図であり、図３（ｄ）は閉状態におけるゲーム装置１０の背面図である。図３（ｂ）および（ｄ）に示されるように、下側ハウジング１１の上側面には、Ｌボタン１４ＧおよびＲボタン１４Ｈが設けられている。Ｌボタン１４Ｇは、下側ハウジング１１の上面の左端部に設けられ、Ｒボタン１４Ｈは、下側ハウジング１１の上面の右端部に設けられる。また、図３（ａ）に示されるように、下側ハウジング１１の左側面には、音量ボタン１４Ｉが設けられる。音量ボタン１４Ｉは、ゲーム装置１０が備えるスピーカの音量を調整するために用いられる。
【００３９】
図３（ａ）に示されるように、下側ハウジング１１の左側面には開閉可能なカバー部１１Ｃが設けられる。このカバー部１１Ｃの内側には、ゲーム装置１０とデータ保存用外部メモリ４５とを電気的に接続するためのコネクタ（図示せず）が設けられる。データ保存用外部メモリ４５は、コネクタに着脱自在に装着される。データ保存用外部メモリ４５は、例えば、ゲーム装置１０によって撮像された画像のデータを記憶（保存）するために用いられる。なお、上記コネクタおよびそのカバー部１１Ｃは、下側ハウジング１１の右側面に設けられてもよい。
【００４０】
また、図３（ｄ）に示されるように、下側ハウジング１１の上側面には、ゲーム装置１０とゲームプログラムを記録した外部メモリ４４を挿入するための挿入口１１Ｄが設けられ、その挿入口１１Ｄの内部には、外部メモリ４４と電気的に着脱自在に接続するためのコネクタ（図示せず）が設けられる。当該外部メモリ４４がゲーム装置１０に接続されることにより、所定のゲームプログラムが実行される。なお、上記コネクタおよびその挿入口１１Ｄは、下側ハウジング１１の他の側面（例えば、右側面等）に設けられてもよい。
【００４１】
また、図１および図３（ｃ）に示されるように、下側ハウジング１１の下側面にはゲーム装置１０の電源のＯＮ／ＯＦＦ状況をユーザに通知する第１ＬＥＤ１６Ａ、下側ハウジング１１の右側面にはゲーム装置１０の無線通信の確立状況をユーザに通知する第２ＬＥＤ１６Ｂが設けられる。ゲーム装置１０は他の機器との間で無線通信を行うことが可能であり、第１ＬＥＤ１６Ｂは、無線通信が確立している場合に点灯する。ゲーム装置１０は、例えば、ＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。下側ハウジング１１の右側面には、この無線通信の機能を有効／無効にする無線スイッチ１９が設けられる（図３（ｃ）参照）。
【００４２】
なお、図示は省略するが、下側ハウジング１１には、ゲーム装置１０の電源となる充電式電池が収納され、下側ハウジング１１の側面（例えば、上側面）に設けられた端子を介して当該電池を充電することができる。
【００４３】
（上側ハウジングの説明）
次に、上側ハウジング２１の構成について説明する。図１〜図３に示すように、上側ハウジング２１には、上側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）２２、外側撮像部２３（外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂ）、内側撮像部２４、３Ｄ調整スイッチ２５、および、３Ｄインジケータ２６が設けられる。以下、これらの詳細について説明する。
【００４４】
図１に示すように、上側ＬＣＤ２２は上側ハウジング２１に収納される。上側ＬＣＤ２２は、横長形状であり、長辺方向が上側ハウジング２１の長辺方向に一致するように配置される。上側ＬＣＤ２２は上側ハウジング２１の中央に配置される。上側ＬＣＤ２２の画面の面積は、下側ＬＣＤ１２の画面の面積よりも大きく設定される。また、上側ＬＣＤ２２の画面は、下側ＬＣＤ１２の画面よりも横長に設定される。すなわち、上側ＬＣＤ２２の画面のアスペクト比における横幅の割合は、下側ＬＣＤ１２の画面のアスペクト比における横幅の割合よりも大きく設定される。
【００４５】
上側ＬＣＤ２２の画面は、上側ハウジング２１の内側面（主面）２１Ｂに設けられ、上側ハウジング２１に設けられた開口部から当該上側ＬＣＤ２２の画面が露出される。また、図２に示すように、上側ハウジング２１の内側面は、透明なスクリーンカバー２７によって覆われている。当該スクリーンカバー２７は、上側ＬＣＤ２２の画面を保護するとともに、上側ＬＣＤ２２と上側ハウジング２１の内側面と一体的にさせ、これにより統一感を持たせている。上側ＬＣＤ２２の画素数は、例えば、６４０ｄｏｔ×２００ｄｏｔ（横×縦）であってもよい。なお、本実施形態では上側ＬＣＤ２２は液晶表示装置であるとしたが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置などが利用されてもよい。また、上側ＬＣＤ２２として、任意の解像度の表示装置を利用することができる。
【００４６】
上側ＬＣＤ２２は、立体視可能な画像（立体視画像、立体画像ともいう）を表示することが可能な表示装置である。また、本実施例では、実質的に同一の表示領域を用いて左目用画像と右目用画像が表示される。具体的には、左目用画像と右目用画像が所定単位で（例えば、１列ずつ）横方向に交互に表示される方式の表示装置である。または、左目用画像と右目用画像とが交互に表示される方式の表示装置であってもよい。また、本実施例では、裸眼立体視可能な表示装置である。そして、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式（視差バリア方式）のものが用いられる。本実施形態では、上側ＬＣＤ２２はパララックスバリア方式のものとする。上側ＬＣＤ２２は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像（立体画像）を表示する。すなわち、上側ＬＣＤ２２は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像を視認させることにより、ユーザにとって立体感のある立体画像（立体視可能な画像）を表示することができる。また、上側ＬＣＤ２２は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる（上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである）。このように、上側ＬＣＤ２２は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する（平面視画像を表示する）平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、後述する３Ｄ調整スイッチ２５によって行われる。
【００４７】
外側撮像部２３は、上側ハウジング２１の外側面（上側ＬＣＤ２２が設けられた主面と反対側の背面）２１Ｄに設けられた２つの撮像部（２３ａおよび２３ｂ）の総称である。外側撮像部（左）２３ａと外側撮像部（右）２３ｂの撮像方向は、いずれも当該外側面２１Ｄの外向きの法線方向である。また、これらの撮像部はいずれも、上側ＬＣＤ２２の表示面（内側面）の法線方向と１８０度反対の方向に設計される。すなわち、外側撮像部（左）２３ａの撮像方向および外側撮像部（右）２３ｂの撮像方向は、平行である。外側撮像部（左）２３ａと外側撮像部（右）２３ｂとは、ゲーム装置１０が実行するプログラムによって、ステレオカメラとして使用することが可能である。また、プログラムによっては、２つの外側撮像部（２３ａおよび２３ｂ）のいずれか一方を単独で用いて、外側撮像部２３を非ステレオカメラとして使用することも可能である。また、プログラムによっては、２つの外側撮像部（２３ａおよび２３ｂ）で撮像した画像を合成してまたは補完的に使用することにより撮像範囲を広げた撮像をおこなうことも可能である。本実施形態では、外側撮像部２３は、外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂの２つの撮像部で構成される。外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂは、それぞれ所定の共通の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【００４８】
図１の破線および図３（ｂ）の実線で示されるように、外側撮像部２３を構成する外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂは、上側ＬＣＤ２２の画面の横方向と平行に並べられて配置される。すなわち、２つの撮像部を結んだ直線が上側ＬＣＤ２２の画面の横方向と平行になるように、外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂが配置される。図１の破線で示す２３ａおよび２３ｂは、上側ハウジング２１の内側面とは反対側の外側面に存在する外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂをそれぞれ表している。図１に示すように、ユーザが上側ＬＣＤ２２の画面を正面から視認した場合に、外側撮像部（左）２３ａは左側に外側撮像部（右）２３ｂは右側にそれぞれ位置している。外側撮像部２３をステレオカメラとして機能させるプログラムが実行されている場合、外側撮像部（左）２３ａは、ユーザの左目で視認される左目用画像を撮像し、外側撮像部（右）２３ｂは、ユーザの右目で視認される右目用画像を撮像する。外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂの間隔は、人間の両目の間隔程度に設定され、例えば、３０ｍｍ〜７０ｍｍの範囲で設定されてもよい。なお、外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂの間隔は、この範囲に限らない。
【００４９】
なお、本実施例においては、外側撮像部（左）２３ａおよび外側撮像部（右）２３はハウジングに固定されており、撮像方向を変更することはできない。
【００５０】
また、外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂは、上側ＬＣＤ２２（上側ハウジング２１）の左右方向に関して中央から対称となる位置にそれぞれ配置される。すなわち、外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂは、上側ＬＣＤ２２を左右に２等分する線に対して対称の位置にそれぞれ配置される。また、外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂは、上側ハウジング２１を開いた状態において、上側ハウジング２１の上部であって、上側ＬＣＤ２２の画面の上端よりも上方の位置の裏側に配置される。すなわち、外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂは、上側ハウジング２１の外側面であって、上側ＬＣＤ２２を外側面に投影した場合、投影した上側ＬＣＤ２２の画面の上端よりも上方に配置される。
【００５１】
このように、外側撮像部２３の２つの撮像部（２３ａおよび２３ｂ）が、上側ＬＣＤ２２の左右方向に関して中央から対称の位置に配置されることにより、ユーザが上側ＬＣＤ２２を正視した場合に、外側撮像部２３の撮像方向をユーザの視線方向と一致させることができる。また、外側撮像部２３は、上側ＬＣＤ２２の画面の上端より上方の裏側の位置に配置されるため、外側撮像部２３と上側ＬＣＤ２２とが上側ハウジング２１の内部で干渉することがない。従って、外側撮像部２３を上側ＬＣＤ２２の画面の裏側に配置する場合と比べて、上側ハウジング２１を薄く構成することが可能となる。
【００５２】
内側撮像部２４は、上側ハウジング２１の内側面（主面）２１Ｂに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。内側撮像部２４は、所定の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【００５３】
図１に示すように、内側撮像部２４は、上側ハウジング２１を開いた状態において、上側ハウジング２１の上部であって、上側ＬＣＤ２２の画面の上端よりも上方に配置され、上側ハウジング２１の左右方向に関して中央の位置（上側ハウジング２１（上側ＬＣＤ２２の画面）を左右に２等分する線の線上）に配置される。具体的には、図１および図３（ｂ）に示されるように、内側撮像部２４は、上側ハウジング２１の内側面であって、外側撮像部２３の左右の撮像部（外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂ）の中間の裏側の位置に配置される。すなわち、上側ハウジング２１の外側面に設けられた外側撮像部２３の左右の撮像部を上側ハウジング２１の内側面に投影した場合、当該投影した左右の撮像部の中間に、内側撮像部２４が設けられる。図３（ｂ）で示される破線２４は、上側ハウジング２１の内側面に存在する内側撮像部２４を表している。
【００５４】
このように、内側撮像部２４は、外側撮像部２３とは反対方向を撮像する。内側撮像部２４は、上側ハウジング２１の内側面であって、外側撮像部２３の左右の撮像部の中間位置の裏側に設けられる。これにより、ユーザが上側ＬＣＤ２２を正視した際、内側撮像部２４でユーザの顔を正面から撮像することができる。また、外側撮像部２３の左右の撮像部と内側撮像部２４とが上側ハウジング２１の内部で干渉することがないため、上側ハウジング２１を薄く構成することが可能となる。
【００５５】
３Ｄ調整スイッチ２５は、スライドスイッチであり、上述のように上側ＬＣＤ２２の表示モードを切り替えるために用いられるスイッチである。また、３Ｄ調整スイッチ２５は、上側ＬＣＤ２２に表示された立体視可能な画像（立体画像）の立体感を調整するために用いられる。図１〜図３に示されるように、３Ｄ調整スイッチ２５は、上側ハウジング２１の内側面および右側面の端部に設けられ、ユーザが上側ＬＣＤ２２を正視した場合に、当該３Ｄ調整スイッチ２５を視認できる位置に設けられる。また、３Ｄ調整スイッチ２５の操作部は、内側面および右側面の両方に突出しており、どちらからも視認および操作することができる。なお、３Ｄ調整スイッチ２５以外のスイッチは全て下側ハウジング１１に設けられる。
【００５６】
３Ｄ調整スイッチ２５は、図１および図２に示されるように、上側ハウジング２１の正面および右側面から視認可能に配置される。３Ｄ調整スイッチ２５のスライダ２５ａは、所定方向（上下方向）の任意の位置にスライド可能であり、当該スライダ２５ａの位置に応じて上側ＬＣＤ２２の表示モードが設定されたり、立体画像の立体感が調整されてもよい。
【００５７】
３Ｄインジケータ２６は、上側ＬＣＤ２２が立体表示モードか否かを示す。３Ｄインジケータ２６は、ＬＥＤであり、上側ＬＣＤ２２の立体表示モードが有効の場合に点灯する。なお、３Ｄインジケータ２６は、上側ＬＣＤ２２が立体表示モードになっており、かつ、立体視画像を表示するプログラム処理が実行されているときに限り、点灯するようにしてもよい。図１に示されるように、３Ｄインジケータ２６は、上側ハウジング２１の内側面に設けられ、上側ＬＣＤ２２の画面近傍に設けられる。このため、ユーザが上側ＬＣＤ２２の画面を正視した場合、ユーザは３Ｄインジケータ２６を視認しやすい。従って、ユーザは上側ＬＣＤ２２の画面を視認している状態でも、上側ＬＣＤ２２の表示モードを容易に認識することができる。
【００５８】
また、上側ハウジング２１の内側面には、スピーカ孔２１Ｅが設けられる。後述するスピーカ４３からの音声がこのスピーカ孔２１Ｅから出力される。
【００５９】
（ゲーム装置１０の内部構成）
次に、図４を参照して、ゲーム装置１０の内部の電気的構成について説明する。図４は、ゲーム装置１０の内部構成を示すブロック図である。図４に示すように、ゲーム装置１０は、上述した各部に加えて、情報処理部３１、メインメモリ３２、外部メモリインターフェイス（外部メモリＩ／Ｆ）３３、データ保存用外部メモリＩ／Ｆ３４、データ保存用内部メモリ３５、無線通信モジュール３６、ローカル通信モジュール３７、リアルタイムクロック（ＲＴＣ）３８、加速度センサ３９、電源回路４０、およびインターフェイス回路（Ｉ／Ｆ回路）４１等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング１１（または上側ハウジング２１でもよい）内に収納される。
【００６０】
情報処理部３１は、所定のプログラムを実行するためのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１１、画像処理を行うＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１２等を含む情報処理手段である。本実施形態では、所定のプログラムがゲーム装置１０内のメモリ（例えば外部メモリＩ／Ｆ３３に接続された外部メモリ４４やデータ保存用内部メモリ３５）に記憶されている。情報処理部３１のＣＰＵ３１１は、当該所定のプログラムを実行することによって、後述する画像処理（図１２）を実行する。なお、情報処理部３１のＣＰＵ３１１によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部３１は、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）３１３を含む。情報処理部３１のＧＰＵ３１２は、情報処理部３１のＣＰＵ３１１からの命令に応じて画像を生成し、ＶＲＡＭ３１３に描画する。そして、情報処理部３１のＧＰＵ３１２は、ＶＲＡＭ３１３に描画された画像を上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に出力し、上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に当該画像が表示される。
【００６１】
情報処理部３１には、メインメモリ３２、外部メモリＩ／Ｆ３３、データ保存用外部メモリＩ／Ｆ３４、および、データ保存用内部メモリ３５が接続される。外部メモリＩ／Ｆ３３は、外部メモリ４４を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリＩ／Ｆ３４は、データ保存用外部メモリ４５を着脱自在に接続するためのインターフェイスである。
【００６２】
メインメモリ３２は、情報処理部３１（のＣＰＵ３１１）のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ３２は、上記画像処理に用いられる各種データを一時的に記憶したり、外部（外部メモリ４４や他の機器等）から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ３２として例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。
【００６３】
外部メモリ４４は、情報処理部３１によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ４４は、例えば読み取り専用の半導体メモリで構成される。外部メモリ４４が外部メモリＩ／Ｆ３３に接続されると、情報処理部３１は外部メモリ４４に記憶されたプログラムを読み込むことができる。情報処理部３１が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ４５は、不揮発性の読み書き可能なメモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ４５には、外側撮像部２３で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ４５がデータ保存用外部メモリＩ／Ｆ３４に接続されると、情報処理部３１はデータ保存用外部メモリ４５に記憶された画像を読み込み、上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に当該画像を表示することができる。
【００６４】
データ保存用内部メモリ３５は、読み書き可能な不揮発性メモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ３５には、無線通信モジュール３６を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【００６５】
無線通信モジュール３６は、例えばＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。また、ローカル通信モジュール３７は、所定の通信方式（例えば赤外線通信）により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール３６およびローカル通信モジュール３７は情報処理部３１に接続される。情報処理部３１は、無線通信モジュール３６を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール３７を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【００６６】
また、情報処理部３１には、加速度センサ３９が接続される。加速度センサ３９は、３軸（ｘｙｚ軸）方向に沿った直線方向の加速度（直線加速度）の大きさを検出する。加速度センサ３９は、下側ハウジング１１の内部に設けられる。加速度センサ３９は、図１に示すように、下側ハウジング１１の長辺方向をｘ軸、下側ハウジング１１の短辺方向をｙ軸、下側ハウジング１１の内側面（主面）に対して垂直な方向をｚ軸として、各軸の直線加速度の大きさを検出する。なお、加速度センサ３９は、例えば静電容量式の加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ３９は１軸又は２軸方向を検出する加速度センサであってもよい。情報処理部３１は、加速度センサ３９が検出した加速度を示すデータ（加速度データ）を受信して、ゲーム装置１０の姿勢や動きを検出する。本実施形態では、情報処理部３１は、加速度センサ３９が検出した加速度に基づいて、ゲーム装置１０の姿勢（傾き）を判定する。
【００６７】
また、情報処理部３１には、ＲＴＣ３８および電源回路４０が接続される。ＲＴＣ３８は、時間をカウントして情報処理部３１に出力する。情報処理部３１は、ＲＴＣ３８によって計時された時間に基づき現在時刻（日付）を計算する。電源回路４０は、ゲーム装置１０が有する電源（下側ハウジング１１に収納される上記充電式電池）からの電力を制御し、ゲーム装置１０の各部品に電力を供給する。
【００６８】
また、情報処理部３１には、Ｉ／Ｆ回路４１が接続される。Ｉ／Ｆ回路４１には、マイク４２およびスピーカ４３が接続される。具体的には、Ｉ／Ｆ回路４１には、図示しないアンプを介してスピーカ４３が接続される。マイク４２は、ユーザの音声を検知して音声信号をＩ／Ｆ回路４１に出力する。アンプは、Ｉ／Ｆ回路４１からの音声信号を増幅し、音声をスピーカ４３から出力させる。また、タッチパネル１３はＩ／Ｆ回路４１に接続される。Ｉ／Ｆ回路４１は、マイク４２およびスピーカ４３（アンプ）の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換およびＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル１３からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部３１に出力する。タッチ位置データは、タッチパネル１３の入力面において入力が行われた位置の座標を示す。なお、タッチパネル制御回路は、タッチパネル１３からの信号の読み込み、および、タッチ位置データの生成を所定時間に１回の割合で行う。情報処理部３１は、タッチ位置データを取得することにより、タッチパネル１３に対して入力が行われた位置を知ることができる。
【００６９】
操作ボタン１４は、上記各操作ボタン１４Ａ〜１４Ｌからなり、情報処理部３１に接続される。操作ボタン１４から情報処理部３１へは、各操作ボタン１４Ａ〜１４Ｉに対する入力状況（押下されたか否か）を示す操作データが出力される。情報処理部３１は、操作ボタン１４から操作データを取得することによって、操作ボタン１４に対する入力に従った処理を実行する。
【００７０】
下側ＬＣＤ１２および上側ＬＣＤ２２は情報処理部３１に接続される。下側ＬＣＤ１２および上側ＬＣＤ２２は、情報処理部３１（のＧＰＵ３１２）の指示に従って画像を表示する。
【００７１】
具体的には、情報処理部３１は、上側ＬＣＤ２２のＬＣＤコントローラ（図示せず）と接続され、当該ＬＣＤコントローラに対して視差バリアのＯＮ／ＯＦＦを制御する。上側ＬＣＤ２２の視差バリアがＯＮになっている場合、情報処理部３１のＶＲＡＭ３１３に格納された右目用画像と左目用画像とが、上側ＬＣＤ２２に出力される。より具体的には、ＬＣＤコントローラは、右目用画像について縦方向に１ライン分の画素データを読み出す処理と、左目用画像について縦方向に１ライン分の画素データを読み出す処理とを交互に繰り返すことによって、ＶＲＡＭ３１３から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に１ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側ＬＣＤ２２の画面に表示される。そして、上側ＬＣＤ２２の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側ＬＣＤ２２の画面には立体視可能な画像が表示される。
【００７２】
外側撮像部２３および内側撮像部２４は、情報処理部３１に接続される。外側撮像部２３および内側撮像部２４は、情報処理部３１の指示に従って画像を撮像し、撮像した画像データを情報処理部３１に出力する。例えば、情報処理部３１は外側撮像部２３および内側撮像部２４のいずれか一方に対して撮像指示を行い、撮像指示を受けた撮像部が画像を撮像して画像データを情報処理部３１に送る。例えば、ユーザによるタッチパネル１３を用いたタッチ操作によって使用する撮像部が選択される。撮像部が選択されたことを情報処理部３１（ＣＰＵ３１１）が検知し、情報処理部３１が外側撮像部２３または内側撮像部２４に対して撮像指示を行う。
【００７３】
３Ｄ調整スイッチ２５は、情報処理部３１に接続される。３Ｄ調整スイッチ２５は、スライダ２５ａの位置に応じた電気信号を情報処理部３１に送信する。
【００７４】
また、３Ｄインジケータ２６は、情報処理部３１に接続される。情報処理部３１は、３Ｄインジケータ２６の点灯を制御する。本実施形態では、情報処理部３１は、上側ＬＣＤ２２が立体表示モードである場合、３Ｄインジケータ２６を点灯させる。以上がゲーム装置１０の内部構成の説明である。
【００７５】
（画像処理の概要）
次に、本実施形態に係る画像処理の概要について説明する。本実施形態では、上側ＬＣＤ２２に初期的に表示される画像（以下、原画像ともいう）が、ユーザの操作によって画面の手前方向または奥方向に変形する。例えば、ユーザは、左手で下側ハウジング１１を把持して、右手でタッチペン２８を把持して下側ＬＣＤ１２に対してタッチ操作を行う。具体的には、ユーザは、まず、タッチペン２８を用いたタッチ操作によって下側ＬＣＤ１２に表示された複数のアイテムの中から１つのアイテムを選択する。次に、ユーザは、下側ＬＣＤ１２の画面上をタッチペン２８を用いてタッチする。すると、上側ＬＣＤ２２に表示された画像のうち、下側ＬＣＤ１２のタッチ位置に応じた位置が変化する。例えば、ユーザによってスタンプアイテムが選択された場合において、ユーザが下側ＬＣＤ１２の所定の位置をタッチしたとき、当該所定の位置に対応する上側ＬＣＤ２２上の位置（当該位置を基準とした所定領域）が画面の奥方向に所定量だけ凹むように、上側ＬＣＤ２２に表示された画像が変化する。あるいは、ユーザによってペンアイテムが選択された場合において、ユーザが下側ＬＣＤ１２の所定の位置をタッチしたとき、当該所定の位置に対応する上側ＬＣＤ２２上の位置（当該位置を基準とした所定領域）が画面の手前方向に所定量だけ飛び出すように、画像が変化する。なお、画像の変化の仕方は、アイテムに応じて予め定められている。例えば、選択されたスタンプアイテムの種類によってはタッチ位置に応じた位置が画面の手前方向に飛び出すように、画像が変化してもよいし、選択されたペンアイテムの種類によってはタッチ位置に応じた位置が画面の奥方向に凹むように、画像が変化してもよい。
【００７６】
図５は、本実施形態に係る画像処理が行われた場合に画面に表示される画像の一例を示す図である。図５の上側ＬＣＤ２２には、背景画像としての平面画像が予め表示される。例えば、ユーザがペンアイテムを選択した場合において、下側ＬＣＤ１２の画面上をタッチしたままタッチペンを当該画面に沿って移動させると、タッチペンの軌跡に対応する領域が画面の手前方向に飛び出すように、上側ＬＣＤ２２の画像が変化する。図５の下画面（下側ＬＣＤ１２）で示す破線は、ユーザがタッチペンで描いた軌跡を示す。なお、実際には当該軌跡は下側ＬＣＤ１２に表示されない。図５に示すように、下画面に描かれた軌跡に応じて、当該軌跡に対応する上側ＬＣＤ２２の領域Ｒが画面の手前方向に飛び出すように表示される。すなわち、ユーザが下画面に軌跡を描いた場合に上側ＬＣＤ２２を見ると、上側ＬＣＤ２２に表示された背景画像のうち領域Ｒが画面の手前方向に飛び出し、当該領域Ｒ以外の部分は画面上に表示されるように、見える。領域Ｒは、例えば、下画面に描かれた軌跡に対応する部分が最も手前方向に飛び出し、当該軌跡に対応する部分から領域Ｒの外縁に向かってなだらかな斜面を形成した山のような形状に見える。このように、本実施形態では、ユーザの操作に応じて、上側ＬＣＤ２２に表示された画像が画面に垂直な方向（手前又は奥方向）に変形するように見える。すなわち、初期的に上側ＬＣＤ２２に表示された平面画像が、ユーザの操作によって立体画像（立体視画像）に変化する。また、初期的に上側ＬＣＤ２２に表示された立体画像が、ユーザの操作によって画面の手前方向又は奥方向に変形してもよい。
【００７７】
以下、原画像は、立体画像（立体視画像）ではなく平面画像であるものとして、上側ＬＣＤ２２に表示される画像の変化について、説明する。初期的には、上側ＬＣＤ２２には、平面画像が表示される。すなわち、初期的には、同一の原画像が、右目用画像および左目用画像として上側ＬＣＤ２２に表示され、上側ＬＣＤ２２の視差バリアを通して、ユーザの右目に当該右目用画像が、ユーザの左目に当該左目用画像が視認される。初期的には、右目用画像および左目用画像は同一の画像であるため、ユーザが上側ＬＣＤ２２を見ると、ユーザは平面画像として認識する。そして、上述したユーザによる下側ＬＣＤ１２の画面に対するタッチ操作に応じて、視差の異なる右目用画像および左目用画像が生成されて、生成後の２つの画像が上側ＬＣＤ２２に表示される。すなわち、下側ＬＣＤ１２の画面（タッチパネル１３）に対するタッチ操作に応じて、右目用画像および左目用画像は互いに異なるように変化して、上側ＬＣＤ２２に表示される。例えば、下側ＬＣＤ１２上のタッチ位置に対応する位置の画素が左方向に移動することにより右目用画像が生成され、下側ＬＣＤ１２上のタッチ位置に対応する位置の画素が右方向に移動することにより左目用画像が生成される。これによって、タッチ位置に対応する位置に視差が生じ、上側ＬＣＤ２２にこれら２つの画像が表示された場合、当該タッチ位置に対応する位置が、画面の手前方向に飛び出すように見える。なお、初期的には、上側ＬＣＤ２２の表示モードが平面表示モードに設定され、１つの原画像が上側ＬＣＤ２２に表示されてもよい。この場合、ユーザによるタッチパネル１３への操作に応じて、右目用画像および左目用画像が生成されるとともに、上側ＬＣＤ２２の表示モードが立体表示モードに設定されてもよい。
【００７８】
図６は、上側ＬＣＤ２２に初期的に表示される原画像の一例を示す図である。なお、図６に示す原画像は単なる一例であり、原画像としては、内側撮像部２４によって撮像された画像（写真）、外側撮像部２３の左右何れかによって撮像された画像、外側撮像部２３で撮像された立体画像、仮想空間に設定された仮想カメラで仮想空間を撮像した画像（立体画像又は平面画像）、予め用意された写真やＣＧ画像等が用いられてもよい。
【００７９】
本実施形態では、原画像に対して高さマップが設定され、高さマップと原画像とを用いて右目用画像および左目用画像が生成される。図７は、下側ＬＣＤ１２に対するタッチ操作が行われる前の高さマップを示す図である。図７に示すように、原画像には高さマップが設定される。ここで、高さマップは、原画像の各画素について、上側ＬＣＤ２２の画面に垂直な方向の位置を示すマップである。原画像の縦方向の画素数をｎ、横方向の画素数をｍとすると、高さマップは、ｎ×ｍ（行×列）の行列として表わされる。図７に示すように、高さマップの各要素（高さ）ｈｉｊは、初期的に０に設定される。なお、ｉは１〜ｎ、ｊは１〜ｍの範囲の整数である。高さマップの各要素ｈｉｊには、原画像の各画素（ｉ，ｊ）の高さ情報が０〜２５５（８ｂｉｔ）の範囲で格納される。ここで、高さ情報とは、各画素が上側ＬＣＤ２２の画面の手前方向に飛び出す度合いを示す情報である。具体的には、上側ＬＣＤ２２の画面の手前方向に飛び出す度合いは、１６段階（−８〜７の範囲）で示される。飛び出し度合いは、高さ情報の値を１６で割って、１６段階（−８〜７の範囲）で表わしたときの値である。例えば、飛び出し度合いが０の場合（すなわち、高さ情報の値が１２８）、当該画素は画面上に表示される（画面上に存在するように見える）。また、例えば、飛び出し度合いが正（例えば、７。すなわち、高さ情報の値が２３９〜２５５）の場合、当該画素は画面より手前に表示される（画面から手前方向に飛び出しているように見える）。また、例えば、飛び出し度合いが負（例えば、−８。すなわち、高さ情報の値が０〜１５）の場合、当該画素は画面より奥方向に表示される（画面の奥方向の位置に存在しているように見える）。
【００８０】
ここで、「高さ」は、画面に垂直な方向における原画像の画素の表示位置（ユーザが感じる表示位置）を示す。「画素Ａは画素Ｂよりも高い（又は低い）」、あるいは、「画素Ａの高さは画素Ｂの高さより大きい（又は小さい）」というときは、ユーザが上側ＬＣＤ２２の画面に表示された画素Ａおよび画素Ｂを見た場合に、画素Ａが画素Ｂよりも画面の手前方向（又は奥方向）に位置すると感じることを示す。すなわち、「高さ」は、上側ＬＣＤ２２の画面からユーザに向かう方向の距離を示す。「高さ」が正の画素は、ユーザは当該画素が画面から飛び出したように感じ、「高さ」が負の画素は、ユーザは当該画素が画面よりも凹んだように感じる。「高さ（高さ情報）」は、「深度（深度情報）」としても表現される。「深度」は、画面の奥方向における原画像の画素の表示位置（ユーザが感じる表示位置）を示す。「画素Ａは画素Ｂよりも深い」、あるいは、「画素Ａの深度は画素Ｂの深度より大きい」というときは、ユーザが上側ＬＣＤ２２の画面に表示された画素Ａおよび画素Ｂを見た場合に、画素Ａが画素Ｂよりも画面の奥方向に位置すると感じることを示す。逆に、「画素Ａは画素Ｂよりも浅い」、あるいは、「画素Ａの深度は画素Ｂの深度より小さい」というときは、ユーザが上側ＬＣＤ２２の画面に表示された画素Ａおよび画素Ｂを見た場合に、画素Ａが画素Ｂよりも画面の手前方向に位置すると感じることを示す。「深度」が正の画素は、ユーザは当該画素が画面よりも凹んだように感じ、「深度」が負の画素は、ユーザは当該画素が画面から飛び出したように感じる。すなわち、「高さ」が正であることは「深度」が負であることに対応し、「高さ」が負であることは「深度」が正であることに対応する。以下では、画面に垂直な方向の表示位置を示す用語を「高さ」で統一して説明することとする。
【００８１】
なお、高さマップの各要素に格納される高さ情報は、例えば、１６ｂｉｔで表されてもよい。また、上側ＬＣＤ２２の画面の手前方向に飛び出す度合いは、１６段階に限らず、高さマップの各要素の上限値と同じ段階で示されてもよい。また、高さ情報は必ずしも２次元配列に保存される必要はなく、例えば１次元配列に保存されてもよい（高さ情報はマップ状に保存される必要はない）。
【００８２】
図８は、下側ＬＣＤ１２（タッチパネル１３）に対するタッチ操作が行われた後の高さマップの一例を示す図である。なお、図８では、各要素ｈｉｊの高さ情報が１６段階（−８〜７の範囲）で示されている（すなわち、飛び出し度合いが示されている）が、実際には各高さｈｉｊの値は０〜２５５の範囲で表される。図８に示すように、下側ＬＣＤ１２に対するタッチ操作が行われると、高さマップが更新され、各要素ｈｉｊには、正の値や負の値が格納される。各要素ｈｉｊは、下側ＬＣＤ１２に対して行われたタッチ操作に応じて、更新される。すなわち、各要素ｈｉｊは、下側ＬＣＤ１２に対するタッチ位置と、タッチ操作が行われたときに選択されていたアイテムの種類とに応じて、正又は負の値に変化する。例えば、原画像を画面から飛び出させるためのペンアイテムが選択されている場合に、下側ＬＣＤ１２の中心付近がユーザによってタッチされたとき、高さマップの各要素のうち中心の要素（例えば、ｈ４４）が、所定の値（例えば、１）だけ増加する。なお、選択されたアイテムによっては、要素ｈｉｊは、所定の値（例えば、１）だけ減少する。また、選択されたアイテムによっては、タッチパネル１３が検出したタッチ位置に応じた所定領域内の複数の要素ｈｉｊが、所定の値だけ増加又は減少する。また、タッチパネル１３は、所定の時間間隔に１回の割合でタッチ位置を検出するため、所定期間同じ位置がタッチされ続けると、その位置に対応する高さｈｉｊの値は、タッチが継続された期間に応じて大きく（又は小さく）なる。
【００８３】
次に、上述のように上側ＬＣＤ２２に表示された画像を変化させるための画像処理の流れについて、図９を用いて説明する。図９は、左目用画像を生成する場合の画像処理の流れを示す図である。図９では、図８に示す高さマップのｉ行目の各要素ｈｉｊに対応する、原画像のｉ行目の各画素（ｉ，ｊ）に対する処理の流れが示されている。
【００８４】
まず、左目用画像を生成するためのルールについて簡単に説明した後、図９を参照して、具体的な処理の流れについて確認する。左目用画像は、以下に示すルールに従って各画素がコピーされることによって生成される。なお、以下では、原画像をコピー元、生成される左目用画像をコピー先と呼ぶことがある。
（１）高さｈｉｊが正の値の場合、コピー元の画素（ｉ，ｊ）を右方向にコピーし、高さｈｉｊが負の場合、コピー元の画素（ｉ，ｊ）を左方向にコピーする。
（２）コピー元の画素の高さｈｉｊと比較して、コピー先の画素の高さの方が低い（小さい）場合のみコピーする。
（３）コピー元の画素の位置から離れるごとに、コピー元の画素の高さｈｉｊが正ならｈｉｊをディクリメント、負ならインクリメントする。
（４）コピー元の画素よりコピー先の画素が高い（高さが大きい）場合、その画素についての（１）および（２）の比較およびコピー処理を終了する。
（５）コピー元の画素の高さｈｉｊが０になるまで（１）〜（４）の処理を繰り返し、ｈｉｊが０になると、その画素（ｉ，ｊ）についての（１）および（２）の比較およびコピーを終了する。
（６）画素（ｉ，ｊ）についての（１）〜（５）の処理が終了すると、画素（ｉ，ｊ＋１）について同様の処理を行い、すべての画素について同様の処理を行う。
【００８５】
まず、図９（Ａ）に示すように、高さマップのｉ行目の高さ配列ｈｉが、コピー先の高さ配列ｈｓにコピーされる。また、原画像の（ｉ行目の）１列目の画素（起点画素）が、コピー先画像の（ｉ行目の）１列目の画素としてコピーされる。以降、原画像のｉ行目の１列目の画素についての処理が行われ、さらにｍ列目の画素についての処理が行われることにより、コピー先画像（左目用画像）のｉ行目が生成される。
【００８６】
具体的には、図９（Ｂ）に示すように、コピー元の高さｈｉ１の値がディクリメント（高さｈｉ１を１６段階に換算して１減算）されて更新される（ｈｉ１＝４）。そして、コピー先の高さｈｓ配列の２番目（ｈｓ（２）＝１）の値と、コピー元の高さｈｉ１（＝４）とが比較される。このとき、図９（Ｃ）に示すように、コピー先の高さｈｓ（２）が、コピー元の高さｈｉ１よりも小さい（低い）場合、コピー元の画素（ｉ，１）をコピー先の画素（ｉ，２）にコピーするとともに、コピー元の高さｈｉ１もコピー先のｈｓ（２）にコピーする。すなわち、図９（Ｃ）に示す例では、コピー先の高さｈｓ（２）（＝１）がコピー元の高さｈｉ１（＝４）より低いため、左目用画像の画素（ｉ，２）が原画像の画素（ｉ，１）と同じ画素値になるとともに、高さｈｓ（２）もｈｉ１の値に上書きされる。
【００８７】
次に、同様の処理がコピー元画素（ｉ，１）について実行される。すなわち、ｈｉ１（＝４）がディクリメントされてｈｉ１＝３となり、ｈｉ１（＝３）と、ｈｓ（３）（＝２）とが比較されて、コピー先画素（ｉ，３）がコピー元画素（ｉ，１）にコピーされる。このようなコピー元画素（ｉ，１）に対する比較、コピー処理が、ｈｉ１＝０となるまで繰り返される。この場合においても、コピー先の高さｈｓ（ｐ）（ｐ＝１〜６）が、コピー元の高さｈｉ１よりも低い場合のみ、コピーされる。なお、コピー先の高さｈｓ（ｐ）が、コピー元の高さｈｉ１よりも高い（大きい）場合は、コピー元画素（ｉ，１）に対する比較、コピー処理を終了する。すなわち、コピー元画素（ｉ，１）に対する比較、コピー処理は、最大で当初の高さｈｉ１＋１回（＝５＋１）行われる。このような処理が、コピー元画素（ｉ，１）について実行されると、図９（Ｄ）のようになる。
【００８８】
図９（Ｄ）に示す例では、コピー先の高さｈｓ（ｐ）がコピー元の高さｈｉ１よりも高い画素が存在しないため、コピー先画素（ｉ，１）からコピー先画素（ｉ，６）までが、コピー元画素（ｉ，１）にコピーされる。
【００８９】
次に、コピー元画素（ｉ，２）について、同様の処理が行われる。すなわち、図９（Ｅ）に示すように、コピー元画素（ｉ，２）の高さｈｉ２とコピー先の高さｈｓ（２）とが比較される。図９（Ｅ）に示す場合では、ｈｉ２＝１、ｈｓ（２）＝４であり、コピー先の高さｈｓ（２）がコピー元の高さｈｉ２より高いため、コピーを行わずにコピー元画素（ｉ，２）に対す処理は終了する。次に、コピー元画素（ｉ，３）についても、同様の処理が行われるが、コピー先の高さｈｓ（３）（＝３）がコピー元の高さｈｉ３（＝２）より高いため、コピーを行わずにコピー元画素（ｉ，３）に対す処理は終了する。以降のコピー元画素についても同様の処理が行われ、コピー元画素（ｉ，６）に対する処理が行われた後、図９（Ｆ）に示すコピー元画素（ｉ，７）に対する処理が行われる。
【００９０】
図９（Ｆ）に示すように、コピー元画素（ｉ，７）に対する処理では、上述と同様に、まず、コピー元の高さｈｉ７とコピー先の高さｈｓ（７）とが比較される。コピー元の高さｈｉ７とコピー先の高さｈｓ（７）とは等しく、コピー先の高さｈｓ（７）はコピー元の高さｈｉ７よりも低くないため、通常であればコピーされない。しかしながら、コピー元画素（ｉ，７）に対する処理が開始された時点、すなわち、図９（Ｅ）に示す時点では、コピー先画素（ｉ，７）は未だコピーされていないため、コピー先画素（ｉ，７）にコピー元画素（ｉ，７）をコピーする。すなわち、コピー元の高さｈｉ７とコピー先の高さｈｓ（７）とが等しく、かつ、コピー先画素（ｉ，７）が未だコピーされていない場合、コピー先画素（ｉ，７）はコピーされて、図９（Ｆ）のようになる。図９（Ｆ）に示すように、コピー元の高さｈｉ７は０ではなく、かつ、コピー先の高さｈｓ（７）はコピー元の高さｈｉ７よりも高くないため、コピー元画素（ｉ，７）に対する処理は継続される。
【００９１】
次に、図９（Ｇ）に示すように、高さｈｉ７がインクリメント（１加算）されて、コピー先画素（ｉ，６）の高さｈｓ（６）とコピー元画素（ｉ，７）の高さｈｉ７とが比較される。このように、高さｈｉ７が負の場合は、高さｈｉ７がインクリメントされて（ｈｉ７＝−２）、コピー先画素（ｉ，７）より左側のコピー先画素（ｉ，６）とコピー元画素（ｉ，７）との比較が行われる。図９（Ｇ）に示す場合では、コピー先画素（ｉ，６）の高さｈｓ（６）の方がコピー元画素（ｉ，７）よりも高いため、当該コピー元画素（ｉ，７）に対する処理は終了する。
【００９２】
次に、コピー元画素（ｉ，８）に対する処理が行われる。コピー元画素（ｉ，８）に対する処理も、コピー元画素（ｉ，７）に対する処理と同様に行われる。すなわち、コピー先画素（ｉ，８）は未だコピーされていないため、コピー元画素（ｉ，８）をコピー先画素（ｉ，８）にコピーする。次に、コピー元の高さｈｉ８がインクリメントされて、コピー先画素（ｉ，７）の高さｈｓ（７）と比較される（図９（Ｈ））。コピー先の高さｈｓ（７）はコピー元の高さｈｉ８より低いため、コピー元画素（ｉ，８）をコピー先画素（ｉ，７）にコピーする。そして、高さｈｉ８は０であるため、コピー元画素（ｉ，８）に対する処理が終了し、図９（Ｈ）に示すようになる。
【００９３】
このように、左目用画像のｉ行目が生成される。上述のような処理がすべての行について行われることによって、左目用画像が生成される。
【００９４】
なお、右目用画像については、上述と同様の流れで生成されるが、コピーする方向が左目用画像とは反対である。すなわち、左目用画像の場合は、ある画素の高さが正のときはその画素は右方向にコピーされ、ある画素の高さが負のときはその画素は左方向にコピーされた。これに対して、右目用画像を生成する場合では、ある画素の高さが正のときはその画素は左方向にコピーされ、ある画素の高さが負のときはその画素は右方向にコピーされる。このように、左目用画像と右目用画像のコピーする方向が違う理由は、次に示す通りである。
【００９５】
図１０は、原画像５０から左目用画像５１および右目用画像５２が生成されて、合成される様子を示す図である。図１０に示すように、原画像５０のある領域Ｒが画面の手前方向に飛び出しているようにユーザに認識させるためには、原画像５０の当該領域Ｒに対応する左目用画像５１の領域Ｒ１は右側に、原画像５０の当該領域Ｒに対応する右目用画像５２の領域Ｒ２は左側に位置する必要がある。左目用画像５１と右目用画像５２とを合成して、上側ＬＣＤ２２に表示すると、上側ＬＣＤ２２の視差バリアを介して、ユーザの左目には左目用画像５１が、右目には右目用画像５２が視認される。ユーザの左目に視認される左目用画像５１の領域Ｒ１は、ユーザの右目に視認される右目用画像５２の領域Ｒ２よりも右側に表示される。すなわち、原画像５０の領域Ｒには視差が生じ、ユーザは当該領域Ｒが画面の手前方向に位置しているように感じる。逆に、原画像５０のある領域Ｒが画面の奥方向に位置しているようにユーザに認識させるためには、原画像５０の当該領域Ｒに対応する左目用画像５１の領域Ｒ１は左側に、原画像５０の当該領域Ｒに対応する右目用画像５２の領域Ｒ２は右側に位置する必要がある。従って、原画像の領域Ｒに含まれる各画素を左目用画像については右側に、右目用画像については左側に移動させることにより、領域Ｒを画面の手前方向に飛び出させることができる。また、原画像の領域Ｒに含まれる各画素を左目用画像については左側に、右目用画像については右側に移動させることにより、領域Ｒを画面の奥方向に移動させることができる。なお、左目用画像および右目用画像の何れか一方のみ画素が移動されてもよい。
【００９６】
また、本実施形態では、原画像の各画素（ｉ，ｊ）を単に横方向に移動させるだけではなく、当該画素の高さｈｉｊの値に応じた横方向の範囲で、当該画素をコピーする。例えば、図９に示す例では、高さが５であるコピー元画素（ｉ，１）については、横方向に６画素以内にある画素に、コピー元画素（ｉ，１）をコピーする（図９（Ｄ）参照）。このように、高さマップの値に応じた範囲で画素がコピーされることにより、より自然に原画像を画面の手前方向または奥方向に変形させることができる。
【００９７】
（画像処理の詳細）
次に、図１１から図１６を参照して、本実施形態に係る画像処理の詳細について説明する。まず、画像処理の際にメインメモリ３２およびＶＲＡＭ３１３（以下、これらを総称してＲＡＭと呼ぶことがある）に記憶される主なデータについて説明する。図１１は、ゲーム装置１０のＲＡＭのメモリマップを示す図である。図１１に示されるように、ＲＡＭには、原画像データ７１、高さマップデータ７２、アイテムデータ７３、タッチ位置データ７４、左目用画像データ７５、右目用画像データ７６、コピー先高さデータ７７等が記憶される。これらのデータの他、メインメモリ３２には、上記画像処理を実行するプログラムや各操作ボタン１４Ａ〜Ｅ、Ｇ〜Ｈ、アナログスティック１５に対する操作を示すデータ等が記憶される。
【００９８】
原画像データ７１は、上側ＬＣＤ２２に初期的に表示される画像のデータである。すなわち、原画像データ７１は、本実施形態に係る画像処理が行われる前の画像のデータである。原画像データ７１は、予め用意されてもよいし、ゲーム装置１０の各撮像部（２３、２４）によって撮像された画像データであってもよい。
【００９９】
高さマップデータ７２は、上記高さマップを示すデータである。具体的には、高さマップデータ７２はｎ×ｍの２次元配列である。当該配列のｉ行ｊ列の要素は、ｈｉｊと表現される。高さマップの各要素には、０〜２５５の値が格納される。なお、後述するフローチャートでは、高さマップの各要素ｈｉｊを１６段階（−８〜７）で換算した場合の値が示されている。
【０１００】
アイテムデータ７３は、原画像に対する操作を行うためのアイテムを示すデータであり、現在選択されているアイテムを示すデータである。
【０１０１】
タッチ位置データ７４は、タッチパネル１３が検出したタッチ位置の座標値を示すデータである。
【０１０２】
左目用画像データ７５は、上側ＬＣＤ２２に表示される左目用画像のデータである。右目用画像データ７６は、上側ＬＣＤ２２に表示される右目用画像のデータである。
【０１０３】
コピー先高さデータ７７は、コピー先画像（左目用画像または右目用画像）の各画素の高さを示すデータである。具体的には、コピー先高さデータ７７は、上述した左目用画像または右目用画像を生成するために用いられるコピー先画像の高さ配列ｈｓであり、１次元配列である。
【０１０４】
（メインフローの説明）
次に、本実施形態に係る画像処理の詳細について、図１２から図１６を参照して説明する。図１２は、本実施形態に係る画像処理の詳細を示すメインフローチャートである。ゲーム装置１０の電源が投入されると、ゲーム装置１０の情報処理部３１（ＣＰＵ３１１）は、図示しないＲＯＭに記憶されている起動プログラムを実行し、これによってメインメモリ３２等の各ユニットが初期化される。次に、不揮発性メモリ（データ保存用内部メモリ３５等；コンピュータ読み取り可能な記憶媒体）に記憶された画像処理プログラムがＲＡＭ（具体的には、メインメモリ３２）に読み込まれ、情報処理部３１のＣＰＵ３１１によって当該プログラムの実行が開始される。また、情報処理部３１は、上側ＬＣＤ２２に初期的に表示される原画像の画像データを不揮発性メモリ（データ保存用内部メモリ３５等）から読み出してＲＡＭに記憶するとともに、上側ＬＣＤ２２に原画像を表示させる。図１２に示すフローチャートは、以上の処理が完了した後に情報処理部３１（ＣＰＵ３１１又はＧＰＵ３１２）によって行われる処理を示すフローチャートである。なお、図１２では、本発明に直接関連しない処理については記載を省略する。また、図１２に示すステップＳ１〜ステップＳ６の処理ループは、１フレーム（例えば１／３０秒又は１／６０秒。フレーム時間という）毎に繰り返し実行される。
【０１０５】
まず、ステップＳ１において、情報処理部３１は、マップ更新処理を実行する。マップ更新処理は、ユーザの操作に応じて高さマップを更新する処理である。ステップＳ１におけるマップ更新処理の詳細は、図１３を参照して後述する。ステップＳ１の後、情報処理部３１は、次にステップＳ２の処理を実行する。
【０１０６】
ステップＳ２において、情報処理部３１は、左目用画像生成処理を実行する。左目用画像生成処理は、原画像からユーザの左目に視認される左目用画像を生成する処理である。ステップＳ２における左目用画像生成処理の詳細は、図１４を参照して後述する。ステップＳ２の後、情報処理部３１は、次にステップＳ３の処理を実行する。
【０１０７】
ステップＳ３において、情報処理部３１は、右目用画像生成処理を実行する。右目用画像生成処理は、原画像からユーザの右目に視認される右目用画像を生成する処理である。ステップＳ３の処理は、ステップＳ２の処理と同様の処理である。ステップＳ３における右目用画像生成処理の詳細は、図１５を参照して後述する。ステップＳ３の後、情報処理部３１は、次にステップＳ４の処理を実行する。
【０１０８】
ステップＳ４において、情報処理部３１は、エンボス処理を実行する。エンボス処理は、生成された左目用画像および右目用画像に、エンボス加工を行う処理である。ここで、エンボス処理とは、画像に影を付する処理であり、画像をより立体的に表示させるための処理である。ステップＳ４におけるエンボス処理の詳細は、図１６を参照して後述する。ステップＳ４の後、情報処理部３１は、次にステップＳ５の処理を実行する。
【０１０９】
ステップＳ５において、情報処理部３１は、出力処理を実行する。ここでは、上記各処理によって生成された左目用画像と右目用画像とを上側ＬＣＤ２２に出力する処理である。すなわち、情報処理部３１は、ステップＳ４においてエンボス処理がされた左目用画像と、ステップＳ４においてエンボス処理がされた右目用画像とを上側ＬＣＤ２２に出力する。具体的には、情報処理部３１は、右目用画像について縦方向に１ライン分の画素データを出力する処理と、左目用画像について縦方向に１ライン分の画素データを出力する処理とを交互に繰り返すことによって、右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に１ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側ＬＣＤ２２の画面に表示される。そして、上側ＬＣＤ２２の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側ＬＣＤ２２の画面には立体画像が表示される。なお、ステップＳ５では、後述するように、エンボス処理がされた左目用画像および右目用画像において、影が付されない部分が切り取られて出力される。次に、情報処理部３１は、ステップＳ６の処理を実行する。
【０１１０】
ステップＳ６において、情報処理部３１は、画像処理を終了するか否かを判定する。情報処理部３１は、例えば、ユーザによって所定の操作がなされたか否か（例えば、セレクトボタン１４Ｊ等が押されたか否か）を判定する。判定結果が否定の場合、情報処理部３１は、次にステップＳ１の処理を実行する。判定結果が肯定の場合、情報処理部３１は、図１２に示す画像処理を終了する。
【０１１１】
次に、上述した各処理の詳細について説明する。
【０１１２】
（マップ更新処理）
図１３は、マップ更新処理（ステップＳ１）の詳細を示すフローチャートである。まず、ステップＳ１１において、情報処理部３１は、アイテムの選択操作が行われたか否かを判定する。情報処理部３１は、アイテムの選択操作に用いられる予め定められた各操作ボタンに対する操作が行われた場合、アイテムの選択操作が行われたと判定する。例えば、セレクトボタン１４Ｊが押された場合、下側ＬＣＤ１２にアイテム選択のための画像が表示される。そして、表示された複数のアイテムのうちの何れかがタッチ操作や十字ボタン１４Ａ等によって選択された場合、情報処理部３１は、アイテムの選択操作が行われたと判定する。判定結果が肯定の場合、情報処理部３１は、次にステップＳ１２の処理を実行する。一方、判定結果が否定の場合、情報処理部３１は、次にステップＳ１３の処理を実行する。なお、アイテムの選択は、十字ボタン１４Ａ、操作ボタン１４Ｃ〜１４Ｄ、アナログスティック１５に対する操作によって行われてもよい。
【０１１３】
ステップＳ１２において、情報処理部３１は、アイテムを選択し、現在選択されているアイテムを示すアイテムデータ７３として、ＲＡＭに記憶する。次に、情報処理部３１は、ステップＳ１３の処理を実行する。
【０１１４】
ステップＳ１３において、情報処理部３１は、タッチパネル１３に対するタッチ操作が検出されたか否かを判定する。タッチパネル１３に対するタッチ操作が検出されると、情報処理部３１は、検出したタッチ位置をタッチ位置データ７４として、ＲＡＭに記憶する。判定結果が肯定の場合、情報処理部３１は、次にステップＳ１４の処理を実行する。一方、判定結果が否定の場合、情報処理部３１は、マップ更新処理を終了し、図１２に示すステップＳ２の処理を実行する。
【０１１５】
ステップＳ１４において、情報処理部３１は、現在選択されているアイテムとステップＳ１３で検出されたタッチ位置とに基づいて、高さマップを更新する。具体的には、情報処理部３１は、ＲＡＭを参照して、タッチ位置に対応する高さマップの要素ｈｉｊを、現在選択されているアイテムに応じて更新する。例えば、画像を飛び出させるために用いられるペンアイテムが選択されている場合、検出されたタッチ位置に対応する原画像の画素（ｉ，ｊ）の高さｈｉｊを、所定の値（例えば、１６段階に換算して１）だけ増加させる。また、例えば、画像を凹ませるために用いられるスタンプアイテムが選択されている場合、検出されたタッチ位置を基準とした所定領域内の複数の画素の高さを、所定の値（例えば、１６段階で１）だけ減少させる。このようにして、情報処理部３１は、選択されているアイテムとタッチ位置とに応じて、ＲＡＭに記憶された高さマップデータ７２を更新する。次に、情報処理部３１は、マップ更新処理を終了し、図１２に示すステップＳ２の処理を実行する。
【０１１６】
（左目用画像生成処理）
次に、ステップＳ２における左目用画像生成処理について説明する。図１４は、左目用画像生成処理（ステップＳ２）の詳細を示すフローチャートである。まず、ステップＳ２１において、情報処理部３１は、変数ｉおよび変数ｊにそれぞれ１を設定する。変数ｉは、１〜ｎ（ｎは原画像の縦方向の総画素数）の範囲で、変数ｊは、１〜ｍ（ｍは原画像の横方向の総画素数）の範囲で変化する。次に、情報処理部３１は、ステップＳ２２の処理を実行する。
【０１１７】
ステップＳ２２において、情報処理部３１は、ＲＡＭに記憶された高さマップデータ７２を参照して、ステップＳ１で更新された高さマップのｉ行目の高さ配列ｈｉをコピー先の高さ配列ｈｓにコピーする。ここで、高さ配列ｈｉは、更新された高さマップのｉ行目のｍ個の要素ｈｉ１〜ｈｉｍを有する配列である。また、配列ｈｓは、左目用画像のｉ行目を生成するために用いられるバッファである。ステップＳ２２の処理は、図９（Ａ）に示す、高さマップｈｉをコピー先ｈｓにコピーする処理である。次に、情報処理部３１は、ステップＳ２３の処理を実行する。
【０１１８】
ステップＳ２３において、情報処理部３１は、変数ｐに０を設定する。ここで変数ｐは、原画像の各画素をコピーする回数をカウントするためのカウンタである。ステップＳ２３からステップＳ３４の処理が繰り返し行われることによって、原画像のｉ行目のすべての画素（１〜ｍ）についての比較およびコピー処理が行われる。次に、情報処理部３１は、ステップＳ２４の処理を実行する。
【０１１９】
ステップＳ２４において、情報処理部３１は、高さマップの要素ｈｉｊが０より大きいか否かを判定する。すなわち、情報処理部３１は、高さマップの要素ｈｉｊを１６段階で換算し、１６段階でした後のｈｉｊの値が、０より大きいか否かを判定する。なお、以降の図１４および図１５の説明では、高さマップの各要素を１６段階で換算した後の処理について説明する。ｈｉｊが０より大きい場合、情報処理部３１は、次にステップＳ２５の処理を実行する。一方、ｈｉｊが０以下の場合、情報処理部３１は、次にステップＳ２９の処理を実行する。
【０１２０】
ステップＳ２５において、情報処理部３１は、コピー元の高さｈｉｊがコピー先の高さｈｓ（ｊ＋ｐ）よりも小さいか否かを判定する。ここでは、コピー先画素（ｉ，ｊ＋ｐ）がコピー元画素（ｉ，ｊ）よりも高いか否かを判定する処理である（図９（Ｂ）参照）。ｈｓ（ｊ＋ｐ）は、コピー先の高さ配列ｈｓのｊ＋ｐ番目の要素を示す。ステップＳ２５では、コピー元画素（ｉ，ｊ）の高さｈｉｊが正であるため、コピー元画素（ｉ，ｊ）は右方向に比較およびコピーされる（図９（Ｂ）〜図９（Ｄ）参照）。判定結果が否定の場合、情報処理部３１は、次にステップＳ２６の処理を実行する。一方、判定結果が肯定の場合、情報処理部３１は、次にステップＳ３３の処理を実行する。
【０１２１】
ステップＳ２６において、情報処理部３１は、コピー元画素（ｉ，ｊ）をコピー先画素（ｉ，ｊ＋ｐ）にコピーするとともに、コピー元高さｈｉｊをコピー先高さｈｓ（ｊ＋ｐ）にコピーする。ステップＳ２６の処理は、ｈｉｊ＞ｈｓ（ｊ＋ｐ）、又は、ｈｉｊ＝ｈｓ（ｊ＋ｐ）が成立する場合に実行される。コピー先画素（ｉ，ｊ＋ｐ）がコピー元画素（ｉ，ｊ）よりも低い場合、すなわち、ｈｉｊ＞ｈｓ（ｊ＋ｐ）が成立する場合、コピー元画素（ｉ，ｊ）をコピー先画素（ｉ，ｊ＋ｐ）にコピーするとともに、ｈｉｊをｈｓ（ｊ＋ｐ）にコピーする（図９（Ｃ）参照）。なお、ステップＳ２６において、ｈｉｊとｈｓ（ｊ＋ｐ）が等しく、かつ、コピー先画素（ｉ，ｊ＋ｐ）が未だコピーされていない場合は、コピー元画素（ｉ，ｊ）をコピー先画素（ｉ，ｊ＋ｐ）にコピーする。一方、ステップＳ２６において、ｈｉｊ＝ｈｓ（ｊ＋ｐ）であっても、コピー先画素（ｉ，ｊ＋ｐ）が既にコピーされている場合、コピー先画素（ｉ，ｊ＋ｐ）はコピーされない（図９（Ｆ）参照）。情報処理部３１は、次にステップＳ２７の処理を実行する。
【０１２２】
ステップＳ２７において、情報処理部３１は、ｈｉｊが０と等しいか否かを判定する。すなわち、情報処理部３１は、コピー元画素の高さｈｉｊが０になったか否かを判定する。判定結果が否定の場合、情報処理部３１は、次にステップＳ２８の処理を実行する。一方、判定結果が肯定の場合、情報処理部３１は、次にステップＳ３３の処理を実行する。
【０１２３】
ステップＳ２８において、情報処理部３１は、変数ｐに１を加算するとともに、高さｈｉｊをディクリメントする。ステップＳ２８では、高さｈｉｊが正であるため、情報処理部３１は、高さｈｉｊをディクリメントする。次に、情報処理部３１は、ステップＳ２５の処理を再び実行することで、次のコピー先画素（右側の画素）の高さと比較する（図９（Ｃ）参照）。
【０１２４】
一方、ステップＳ２４の判定結果が否定の場合、情報処理部３１は、ステップＳ２９の処理を実行する。ステップＳ２９において、情報処理部３１は、コピー元の高さｈｉｊがコピー先の高さｈｓ（ｊ−ｐ）よりも小さいか否かを判定する。ステップＳ２９の処理は、ステップＳ２５と同様の処理であり、コピー先画素（ｉ，ｊ−ｐ）がコピー元画素（ｉ，ｊ）よりも高いか否かを判定する処理である（図９（Ｇ）参照）。ｈｓ（ｊ−ｐ）は、コピー先の高さ配列ｈｓのｊ−ｐ番目の要素を示す。ステップＳ２９では、コピー元画素（ｉ，ｊ）の高さｈｉｊが負であるため、コピー元画素（ｉ，ｊ）は左方向に比較およびコピーされる（図９（Ｇ）〜図９（Ｈ）参照）。判定結果が否定の場合、情報処理部３１は、次にステップＳ３０の処理を実行する。一方、判定結果が肯定の場合、情報処理部３１は、次にステップＳ３３の処理を実行する。
【０１２５】
ステップＳ３０において、情報処理部３１は、コピー元画素（ｉ，ｊ）をコピー先画素（ｉ，ｊ−ｐ）にコピーするとともに、コピー元高さｈｉｊをコピー先高さｈｓ（ｊ−ｐ）にコピーする。ステップＳ３０の処理は、ステップＳ２６の処理と同様の処理である。具体的には、ステップＳ３０の処理は、ｈｉｊ＞ｈｓ（ｊ−ｐ）、又は、ｈｉｊ＝ｈｓ（ｊ−ｐ）が成立する場合に実行される。コピー先画素（ｉ，ｊ−ｐ）がコピー元画素（ｉ，ｊ）よりも低い場合、すなわち、ｈｉｊ＞ｈｓ（ｊ−ｐ）が成立する場合、コピー元画素（ｉ，ｊ）をコピー先画素（ｉ，ｊ−ｐ）にコピーするとともに、ｈｉｊをｈｓ（ｊ−ｐ）にコピーする（図９（Ｈ）参照）。なお、ステップＳ３０において、ｈｉｊとｈｓ（ｊ−ｐ）が等しく、かつ、コピー先画素（ｉ，ｊ−ｐ）が未だコピーされていない場合は、コピー元画素（ｉ，ｊ）をコピー先画素（ｉ，ｊ−ｐ）にコピーする。一方、ステップＳ３０において、ｈｉｊ＝ｈｓ（ｊ−ｐ）であっても、コピー先画素（ｉ，ｊ−ｐ）が既にコピーされている場合、コピー先画素（ｉ，ｊ−ｐ）はコピーされない。情報処理部３１は、次にステップＳ３１の処理を実行する。
【０１２６】
ステップＳ３１において、情報処理部３１は、ｈｉｊが０と等しいか否かを判定する。すなわち、情報処理部３１は、コピー元画素の高さｈｉｊが０になったか否かを判定する。判定結果が否定の場合、情報処理部３１は、次にステップＳ３２の処理を実行する。一方、判定結果が肯定の場合、情報処理部３１は、次にステップＳ３３の処理を実行する。
【０１２７】
ステップＳ３２において、情報処理部３１は、変数ｐに１を加算するとともに、高さｈｉｊをインクリメントする。ステップＳ３２では、高さｈｉｊが負であるため、情報処理部３１は、高さｈｉｊをインクリメントする。次に、情報処理部３１は、ステップＳ２９の処理を再び実行することで、次のコピー先画素（左側の画素）の高さと比較する（図９（Ｇ）参照）。
【０１２８】
一方、ステップＳ３３において、情報処理部３１は、変数ｊに１を加算する。変数ｊがインクリメントされることによって、ｉ行目のｊ列目の画素に対する処理を終了して、ｊ＋１列目の画素についての処理が実行される。次に、情報処理部３１は、ステップＳ３４の処理を実行する。
【０１２９】
ステップＳ３４において、情報処理部３１は、変数ｊが横方向の総画素数ｍより大きいか否かを判定する。判定結果が肯定の場合、情報処理部３１は、次にステップＳ３５の処理を実行する。一方、判定結果が否定の場合、情報処理部３１は、再びステップＳ２３の処理を実行し、ｉ行目の次の列（ｊ＋１）の画素についての比較、コピー処理を実行する。
【０１３０】
ステップＳ３５において、情報処理部３１は、変数ｉに１を加算するとともに、変数ｊに１を設定する。変数ｉがインクリメントされて、変数ｊが初期化されることにより、ｉ行目の次のｉ＋１行目の処理が行われる。次に、情報処理部３１は、ステップＳ３６の処理を実行する。
【０１３１】
ステップＳ３６において、情報処理部３１は、情報処理部３１は、変数ｉが縦方向の総画素数ｎより大きいか否かを判定する。判定結果が否定の場合、情報処理部３１は、再びステップＳ２２の処理を実行し、ｉ＋１行目の各画素についての比較、コピー処理を実行する。一方、判定結果が肯定の場合、情報処理部３１は、図１４に示す左目用画像生成処理を終了して、図１２に示すステップＳ３の処理を実行する。
【０１３２】
（右目用画像生成処理）
次に、ステップＳ３における右目用画像生成処理について説明する。右目用画像生成処理では、ステップＳ１の処理で更新された高さマップと、原画像とを用いて、右目用画像が生成される。すなわち、ステップＳ２の左目用画像生成処理の過程では、上述のように高さマップの各要素ｈｉｊが更新されるが（インクリメント又はディクリメントされるが）、実際には高さマップ自体は左目用画像生成処理の過程において更新されずに、メインメモリ３２に保存されている。ステップＳ３における右目用画像生成処理では、このメインメモリ３２に保存された（ステップＳ１の処理で生成された）高さマップが用いられる。図１５は、右目用画像生成処理（ステップＳ３）の詳細を示すフローチャートである。右目用画像生成処理は、上述した左目用画像生成処理と同様であるが、コピーする方向が右目用画像生成処理と左目用画像生成処理とでは異なる。図１５では、図１４と同様の処理については、同じステップ番号を付し、説明を省略する。図１５の処理においては、図１４に示すステップＳ２５およびステップＳ２６が、ステップＳ４０およびステップＳ４１にそれぞれ置き換えられ、ステップＳ２９およびステップＳ３０が、ステップＳ４２およびステップＳ４３にそれぞれ置き換えられる。
【０１３３】
ステップＳ４０において、情報処理部３１は、コピー元の高さｈｉｊがコピー先の高さｈｓ（ｊ−ｐ）よりも小さいか否かを判定する。ここでは、コピー先画素（ｉ，ｊ−ｐ）がコピー元画素（ｉ，ｊ）よりも高いか否かを判定する処理である。ステップＳ４０では、生成される画像が右目用画像であって、かつ、コピー元画素（ｉ，ｊ）の高さｈｉｊが正であるため、コピー元画素（ｉ，ｊ）は左方向に比較およびコピーされる。判定結果が否定の場合、情報処理部３１は、次にステップＳ４１の処理を実行する。一方、判定結果が肯定の場合、情報処理部３１は、次にステップＳ３３の処理を実行する。
【０１３４】
ステップＳ４１において、情報処理部３１は、コピー元画素（ｉ，ｊ）をコピー先画素（ｉ，ｊ−ｐ）にコピーするとともに、コピー元高さｈｉｊをコピー先高さｈｓ（ｊ−ｐ）にコピーする。ステップＳ４１では、ステップＳ２６とコピーする方向が反対である。すなわち、変数ｐは正の整数であるため、例えばｐ＝１の場合は、ステップＳ４１ではコピー先画素（ｉ，ｊ−１）がコピー元画素（ｉ，ｊ）にコピーされる。すなわち、コピー先画素（ｉ，ｊ）の左隣のコピー先画素（ｉ，ｊ−１）が、コピー元画素（ｉ，ｊ）によってコピーされる。一方、ｐ＝１の場合において、ステップＳ２６ではコピー先画素（ｉ，ｊ）の右隣のコピー先画素（ｉ，ｊ＋１）が、コピー元画素（ｉ，ｊ）によってコピーされる。ステップＳ４１の後、情報処理部３１は、ステップＳ２７の処理を実行する。
【０１３５】
一方、ステップＳ４２において、情報処理部３１は、コピー元の高さｈｉｊがコピー先の高さｈｓ（ｊ＋ｐ）よりも小さいか否かを判定する。ステップＳ４２の処理は、コピー先画素（ｉ，ｊ＋ｐ）がコピー元画素（ｉ，ｊ）よりも高いか否かを判定する処理である。ステップＳ４２では、生成される画像が右目用画像であって、かつ、コピー元画素（ｉ，ｊ）の高さｈｉｊが負であるため、コピー元画素（ｉ，ｊ）は右方向に比較およびコピーされる。判定結果が否定の場合、情報処理部３１は、次にステップＳ４３の処理を実行する。一方、判定結果が肯定の場合、情報処理部３１は、次にステップＳ３３の処理を実行する。
【０１３６】
ステップＳ４３において、情報処理部３１は、コピー元画素（ｉ，ｊ）をコピー先画素（ｉ，ｊ＋ｐ）にコピーするとともに、コピー元高さｈｉｊをコピー先高さｈｓ（ｊ＋ｐ）にコピーする。ステップＳ４３では、ステップＳ３０とコピーする方向が反対である。変数ｐは正の整数であるため、例えばｐ＝１の場合は、ステップＳ４３ではコピー先画素（ｉ，ｊ＋１）がコピー元画素（ｉ，ｊ）にコピーされる。すなわち、コピー先画素（ｉ，ｊ）の右隣のコピー先画素（ｉ，ｊ＋１）が、コピー元画素（ｉ，ｊ）によってコピーされる。ステップＳ４３の後、情報処理部３１は、ステップＳ３１の処理を実行する。
【０１３７】
（エンボス処理）
次に、ステップＳ４におけるエンボス処理について説明する。ステップＳ４におけるエンボス処理では、ステップＳ１で生成された高さマップを用いて、エンボス処理が行われる。具体的には、ステップＳ４におけるエンボス処理では、ステップＳ１で生成された高さマップを用いてグレースケールのテクスチャ画像を生成し、左目用画像および右目用画像に対して生成したテクスチャ画像を貼り付ける。これにより、左目用画像および右目用画像に対して影を付し、より立体感のある画像を生成する。図１６は、エンボス処理（ステップＳ４）の詳細を示すフローチャートである。
【０１３８】
まず、ステップＳ５１において、情報処理部３１は、影を付ける方向を決定する。影を付ける方向とは、仮想的な光源から照射された光の方向であり、当該仮想的な光源からの光を上側ＬＣＤ２２に表示される立体画像に照射した場合にできる影の方向である。本実施形態では、影を付ける方向は、予め定められた方向であり、例えば、画面の左下から左上に向かう方向である。次に、情報処理部３１は、ステップＳ５２の処理を実行する。
【０１３９】
ステップＳ５２において、情報処理部３１は、変数ｉおよび変数ｊにそれぞれ１を設定する。変数ｉは、１〜ｎ（ｎは原画像の縦方向の総画素数）の範囲で、変数ｊは、１〜ｍ（ｍは原画像の横方向の総画素数）の範囲で変化する。次に、情報処理部３１は、ステップＳ５３の処理を実行する。
【０１４０】
ステップＳ５３において、情報処理部３１は、ステップＳ１の処理で生成された高さマップを用いて、貼り付けるテクスチャ画像の各画素のグレースケール値を算出する。具体的には、情報処理部３１は、以下の計算を行う。
Ｘｉｊ＝Ａｉｊ＋１２８−Ｂ      （１）
Ａｉｊは、高さマップのｉ行目のｊ列目の高さの値であり、０〜２５５の範囲の値である。Ｂは、ＡｉｊからステップＳ５１で決定された影を付ける方向の先にある高さマップの要素の値であり、０〜２５５の範囲の値である。Ｂは、例えば、Ａｉｊから右方向に２画素分、上方向に２画素分移動した先の高さマップの要素の値である。図１７は、エンボス処理におけるグレースケール値の算出について説明するための図である。すなわち、図１７に示すように、Ｂは、高さマップの要素Ａｉｊの右斜め上に存在する要素であり、例えば、ｉ＝４，ｊ＝４の場合では、Ａ４４から右方向に２画素、上方向に２画素移動した先の高さマップの要素ｈ２６である。なお、図１７では、高さマップの各要素の値が１６段階（−８〜７）で示されているが、実際には、各要素の値は０〜２５５の範囲である。また、Ｂに相当する画素が存在しない場合（例えば、Ｘ１１）、情報処理部３１は、例えば、Ｘｉｊ＝０に設定する。Ｂに相当する画素が存在しない部分は、実際には表示されない。次に、情報処理部３１は、ステップＳ５４の処理を実行する。
【０１４１】
ステップＳ５４において、情報処理部３１は、変数ｊをインクリメントする（変数ｊに１を加える）。次に、情報処理部３１は、ステップＳ５５の処理を実行する。
【０１４２】
ステップＳ５５において、情報処理部３１は、変数ｊが横方向の総画素数ｍより大きいか否かを判定する。判定結果が肯定の場合、情報処理部３１は、次にステップＳ５６の処理を実行する。一方、判定結果が否定の場合、情報処理部３１は、ステップＳ５３の処理を再び実行する。ステップＳ５３〜ステップＳ５５の処理が繰り返し行われることによって、高さマップのｉ列目の各要素に対する処理が行われる。
【０１４３】
ステップＳ５６において、情報処理部３１は、変数ｉをインクリメントする（変数ｉに１を加える）とともに、変数ｊに１を設定する。次に、情報処理部３１は、ステップＳ５７の処理を実行する。
【０１４４】
ステップＳ５７において、情報処理部３１は、変数ｉが縦方向の総画素数ｎより大きいか否かを判定する。判定結果が肯定の場合、情報処理部３１は、次にステップＳ５８の処理を実行する。一方、判定結果が否定の場合、情報処理部３１は、ステップＳ５３の処理を再び実行する。ステップＳ５３〜ステップＳ５７の処理が繰り返し行われることによって、左目用画像および右目用画像にマッピングされる（適用される）グレースケールテクスチャのグレースケール値が算出される。
【０１４５】
ステップＳ５８において、情報処理部３１は、ステップＳ２およびステップＳ３で生成された左目用画像および右目用画像のそれぞれに、グレースケールテクスチャを適用する。具体的には、情報処理部３１は、左目用画像および右目用画像に対して、ステップＳ５１〜ステップＳ５７の処理によって生成されたグレースケールの画像（テクスチャ画像）をマッピングする。ここで、テクスチャ画像とは、テクスチャマッピングに用いられる画像であり、上記要素Ｘｉｊ（ｉ＝１〜ｎ、ｊ＝１〜ｍ）を各画素とする画像である。ステップＳ５８においては、テクスチャ画像の各画素は左目用画像および右目用画像の各画素に対応して、テクスチャ画像が適用される。すなわち、テクスチャ画像のｉ行目のｊ列目の画素Ｘｉｊは、左目用画像のｉ行目のｊ列目の画素に一致するようにして、左目用画像にテクスチャ画像が適用される。左目用画像および右目用画像にグレースケールテクスチャを適用することによって、左目用画像および右目用画像に影が付される。なお、テクスチャ画像の各画素を左目用画像および右目用画像の各画素に対応させてテクスチャ画像を適用した場合、左目用画像および右目用画像には影が付されない部分が生じる。影が付されない部分は、ステップＳ５３において、式（１）のＢに相当する画素が存在しない部分であり、例えば、Ｘｉｊ＝０に設定される部分である。
【０１４６】
これによって、高さが高い部分（立体画像として上側ＬＣＤ２２に表示された場合に上側ＬＣＤ２２の画面の手前方向に盛り上がる部分）は明るく、高さが低い部分（立体画像として上側ＬＣＤ２２に表示された場合に上側ＬＣＤ２２の画面の奥方向にへこむ部分）は暗く表示される。このため、表示される画像はより立体感のある画像となる。ステップＳ５８の処理の後、情報処理部３１は、エンボス処理を終了し、図１２に示すステップＳ５の出力処理を実行する。
【０１４７】
なお、ステップＳ５の出力処理においては、上述のように、エンボス処理がされた左目用画像および右目用画像のうち、影が付されない部分を除く部分が上側ＬＣＤ２２に出力される。従って、上側ＬＣＤ２２に表示される画像は、原画像の一部（例えば、影を付する方向が左下から右上に向かう方向である場合、原画像の上端および右端部分）が切り取られた画像となる。
【０１４８】
以上のように、本実施形態では、原画像のある画素について、当該画素に対応する高さの値に応じた横方向の位置までの範囲で、当該画素をコピーした。例えば、原画像のコピー元画素（ｉ，１）の高さが５である場合、コピー先画素（ｉ，１）を横方向に５画素分だけずらしたコピー先画素（ｉ，６）の範囲内で、原画像のコピー元画素（ｉ，１）をコピーした。そして、これによって生成された左目用画像および右目用画像が上側ＬＣＤ２２に表示されることにより、立体画像が表示された。
【０１４９】
すなわち、本実施形態では、原画像のある画素（ｉ，ｊ）の画像データ（ＲＧＢ値）を、当該画素（ｉ，ｊ）に対応するコピー先画像の画素（ｉ，ｊ）から当該画素に対応する高さｈｉｊに応じて横方向にずらした位置の画素（ｉ，ｊ＋ｈｉｊ）（又は、（ｉ，ｊ−ｈｉｊ））までの範囲にコピーした。そして、原画像の各画素について同様のコピー処理を行うことによって、左目用画像および右目用画像が生成された。
【０１５０】
より具体的には、本実施形態では、原画像のある画素（ｉ，ｊ）について、以下の処理を行った。
（１）原画像の当該画素（ｉ，ｊ）に対応する高さの値ｈｉｊが正（ｈｉｊ＞０）の場合（当該画素の高さが画面の手前方向の位置を示す場合）
・左目用画像を生成する場合には、原画像の当該画素（ｉ，ｊ）に対応するコピー先画像の画素（ｉ，ｊ）から高さｈｉｊに応じた量だけ右方向にずらした位置の画素（ｉ，ｊ＋ｈｉｊ）までの範囲に、原画像の画素（ｉ，ｊ）をコピーする。
・右目用画像を生成する場合には、原画像の当該画素（ｉ，ｊ）に対応するコピー先画像の画素（ｉ，ｊ）から高さｈｉｊに応じた量だけ左方向にずらした位置の画素（ｉ，ｊ−ｈｉｊ）までの範囲に、原画像の画素（ｉ，ｊ）をコピーする。
（２）原画像の当該画素（ｉ，ｊ）に対応する高さの値ｈｉｊが負（ｈｉｊ＜０）の場合（当該画素の高さが画面の奥方向の位置を示す場合）
・左目用画像を生成する場合には、原画像の当該画素（ｉ，ｊ）に対応するコピー先画像の画素（ｉ，ｊ）から高さｈｉｊに応じた量だけ左方向にずらした位置の画素（ｉ，ｊ−ｈｉｊ）までの範囲に、原画像の画素（ｉ，ｊ）をコピーする。
・右目用画像を生成する場合には、原画像の当該画素（ｉ，ｊ）に対応するコピー先画像の画素（ｉ，ｊ）から高さｈｉｊに応じた量だけ右方向にずらした位置の画素（ｉ，ｊ＋ｈｉｊ）までの範囲に、原画像の画素（ｉ，ｊ）をコピーする。
（３）（１）及び（２）において、原画像の画素（ｉ，ｊ）をコピー先画像の画素（ｉ，ｊ＋ｐ）にコピーする際、原画像の画素の高さとコピー先画素の高さとを比較し、原画像の画素の方がコピー先画像の画素よりも高い場合のみコピーを行う。
（４）（３）の比較の際、コピー先画素（ｉ，ｊ＋ｐ）の位置が原画像の画素（ｉ，ｊ）の位置から離れることに応じて、原画像の画素を画面に近づけるようにして当該原画像の画素の高さｈｉｊを変更する。
（５）原画像の画素の方がコピー先画像の画素よりも低い場合、当該原画像の画素に対する処理を終了し、原画像の次の画素に対する（１）〜（４）の処理を行う。
【０１５１】
このように各画素に対応する位置から当該画素の高さの値に応じて横方向にずらした位置以内の範囲で（各画素の位置から各画素の高さの値に応じたずらし量を上限にして横方向にずらした位置まで）、各画素をコピーすることにより、よりリアルな立体画像を表示することができる。すなわち、ユーザが実空間に存在する物体（立体）を見る場合、ユーザの視線方向（奥行き方向）にある当該物体の部分Ｘはユーザの手前方向にある当該物体の部分Ｙによって隠れてしまい、ユーザの目には見えないことがある。ユーザに見えないはずの部分が見えると、違和感のある画像となる。本実施形態では、各画素を高さの値に応じた横方向の位置までの範囲にコピーすることにより、見えないはずの部分をユーザに見せないようにしてより自然な立体視画像を表示することができる。すなわち、本実施形態では、画面上のある部分が曲面を描いて画面に垂直な方向に次第に盛り上がったり、凹んだりする様子や、画面上のある部分が急激に突出するように飛び出したり、凹んだりする様子を立体視で表示する場合であっても、違和感なく自然に表示することができる。具体的には、ユーザが指定した部分を画面から飛び出させたり、あるいは、凹ませたりすることができる。例えば、撮像部（２３、２４）で撮像された画像（写真）や所定の画像の一部の領域をユーザが指定した場合、ユーザが指定した部分をその他の部分に影響が及ばないようにして飛び出させることができる。
【０１５２】
図１８は、本実施形態における処理によって生成される左目用画像の各画素の見え方を示す概念図である。図１８では、画素８１〜８３が柱状で表されており、各画素を表す柱の高さは各画素の高さを示している。図１８に示すように、画素８１を左目の位置から見た場合、左目には画素８１が見えるが、画素８２は、画素８１によって隠れるため見えない。本実施形態の処理では、画素８１の高さに応じた右方向の範囲まで当該画素８１をコピーする。このため、画素８２は、画素８１によって上書きされるため、表示されない。これは、実空間における見え方と一致する。すなわち、左目の位置から見た場合、実空間において画素８２に相当する物体のある部分は、画素８１に相当する物体のある部分によって見えない。従って、本実施形態の処理によって生成された左目用画像と、右目用画像とを用いて立体画像を表示すると、より自然に見える。
【０１５３】
また、本実施形態では、例えば、ある画素の高さが正であって、かつ、左目用画像を生成する場合において、当該画素を右方向にコピーするに従って、当該画素の高さをディクリメントした（ステップＳ２８）。また、例えば、ある画素の高さが負であって、かつ、左目用画像を生成する場合において、当該画素を左方向にコピーするに従って、当該画素の高さをインクリメントした（ステップＳ２８）。すなわち、コピー先画像の画素が、原画像の画素の位置から離れることに応じて、当該原画像の画素を画面に近づけるようにして当該原画像の画素の高さを変更した。これにより、より自然な立体画像を表示することができる。
【０１５４】
すなわち、コピー先画像の画素が、原画像の画素から横方向に離れることに応じて当該原画像の画素の高さをディクリメント又はインクリメントしない場合、例えば、相対的に高い画素（例えば、高さが５）の右方向にある複数の画素（５つ）が、当該高い画素によって上書きされてしまう。このため、相対的に高い画素の影響が強く出てしまい、生成される左右の画像は、高い部分ほど横方向に伸びたような画像となる。従って、原画像の画素から横方向に離れることに応じて当該原画像の画素の高さをディクリメント又はインクリメントすることにより、高い画素の影響を小さくし、より自然な立体画像を表示することができる。図１８は、このことを概念的に示している。図１８に示すように、例えば、左目用画像を生成する場合、左目の位置から画素８２は画素８１によって隠れるが、画素８３は隠れない。すなわち、画素８１が画素８２よりも高いために左目の位置からは画素８２は見えないが、画素８２と画素８３とが同じ高さであっても、画素８３は画素８１から離れているため見える。本実施形態の処理において、コピー先画像の画素が、原画像の画素の位置から離れることに応じて、当該原画像の画素を画面に近づけるようにして当該原画像の画素の高さを変更すること（高さをディクリメント又はインクリメントすること）は、このことに対応している。従って、本実施形態では、より自然な立体画像を表示することができる。
【０１５５】
また、上述のように、生成された左目用画像および右目用画像に対して、エンボス処理を行うことによって、より立体感のある画像を生成することができる。すなわち、各画像にエンボス処理を行うことによって影を付すため、当該影の効果によって、より立体感のある画像となる。
【０１５６】
また、生成された高さマップを直接エンボス処理に用いるため、処理を簡素化することができる。すなわち、高さマップの各要素にはグレースケール値が格納されるため、エンボス処理を行う際にそのまま高さマップを利用することができる。実空間においても高い部分には光がよりあたり、低い部分には影ができるため、各画素の高さを格納した高さマップは、そのままエンボス処理に用いることができる。
【０１５７】
以上のように、本実施形態では、原画像を変形することなく、高さマップを用いて原画像を画面に垂直な方向に違和感なく変形させることができる。原画像を変形する必要がないため、例えば、原画像として３次元の仮想オブジェクトを撮像した画像が表示される場合、当該オブジェクトを実際に変形させて、仮想ステレオカメラで当該オブジェクトを撮像する必要がない。３次元オブジェクトを変形させる場合は、当該３次元オブジェクトを表す３次元モデルの形状を変化させる必要があり、複雑な計算が必要となる。しかしながら、本実施形態では、３次元モデル自体を変化させることなく、一度撮像した画像を変化させることにより、当該３次元オブジェクトを変形させることができる。
【０１５８】
（変形例）
なお、本実施形態では、原画像について、画素単位で処理を行うことによって、左目用画像および右目用画像が生成された。他の実施形態では、原画像の部分領域（少なくとも１の画素を含む領域）単位で処理を行うことによって、左目用画像および右目用画像が生成されてもよい。すなわち、他の実施形態では、原画像の各部分領域について、各部分領域に対応する高さの値に応じた横方向の位置までの範囲で、各部分領域の画像データをコピーしてもよい。例えば、高さマップは、原画像の４画素分を１つの要素として、原画像の４画素毎の高さを記憶したマップであってもよい（この場合、高さマップは、ｎ／２×ｍ／２のマトリクスとなる）。この場合、４画素を１つの部分領域として、各部分領域について上述した処理と同様の処理が行われる。すなわち、高さマップに記憶されたある部分領域に対応する高さに応じて、当該部分領域が横方向にコピーされる。具体的には、４画素によって構成される部分領域の高さが５である場合、当該部分領域は最大で５部分領域だけ右又は左方向にコピーされる。コピーされる方向は、上述と同様、生成する画像が左目用画像か右目用画像かによって定められ、また、高さが正か負かによっても定められる。なお、部分領域は、４つの画素に限らず、任意の数の画素によって構成されてもよい。
【０１５９】
また、本実施形態では、例えば左目用画像を生成する場合であって画素の高さが正の場合、原画像の画素（ｉ，ｊ）に対応する位置から右方向に当該画素（ｉ，ｊ）の画像データをコピーした。他の実施形態では、ユーザの目の位置や表示画面の大きさ、原画像の画素の表示画面上の位置等に応じて、例えば左目用画像を生成する場合であって画素の高さが正の場合、原画像の画素に対応する位置から左方向に当該画素の画像データをコピーしてもよい。
【０１６０】
図１９Ａは、実空間に存在するオブジェクトとユーザの視点とを空間の上方から見た図である。図１９Ａでは、ユーザの左目１１０と、右目１２０と、オブジェクト１００と、オブジェクト１０１とが示されている。また、直線１１１および直線１１２は、左目１１０によって視認される範囲（視界）を示し、左目１１０には直線１１１と直線１１２とで挟まれた領域が見える（実際の人間の目の視界は、図１９Ａに示すよりも広いがここでは説明のため図１９Ａに示す範囲を人間の目の視界とする）。同様に、また、直線１２１および直線１２２は、右目１２０によって視認される範囲（視界）を示し、右目１２０には直線１２１と直線１２２とで挟まれた領域が見える。また、１１５は、オブジェクト１００および１０１の移動前の位置における左目１１０に見える横方向の範囲を示し、１２５は、オブジェクト１００および１０１の移動前の位置における右目１２０に見える横方向の範囲を示す。また、オブジェクト１００’は、オブジェクト１００がユーザの手前方向に移動した後を示し、オブジェクト１０１’は、オブジェクト１０１がユーザの手前方向に移動した後を示す。さらに、１１６は、移動後のオブジェクト１００’および１０１’の位置における左目１１０に見える横方向の範囲を示し、１２６は、移動後のオブジェクト１００’および１０１’の位置における右目１２０に見える横方向の範囲を示す。
【０１６１】
図１９Ｂは、オブジェクトの移動前後の左目１１０に見える横方向の範囲を示す図であり、左目１１０に映し出される像における各オブジェクトの横方向の位置を示す図である。図１９Ｂに示すように、オブジェクト１００がユーザの手前方向に移動した場合、左目１１０に映し出される像においては、移動後のオブジェクト１００’は、移動前のオブジェクト１００の位置から右方向に移動する。このことは、上述したように、左目用画像を生成する場合において、画素の高さが正の場合に、当該画素を右方向にコピーしたことと対応している。一方、図１９Ｂに示すように、オブジェクト１０１がユーザの手前方向に移動した場合、左目１１０に映し出される像においては、移動後のオブジェクト１０１’は、移動前のオブジェクト１０１の位置から左方向に移動する。また、図１９Ｃは、オブジェクトの移動前後の右目１２０に見える横方向の範囲を示す図であり、右目１２０に映し出される像における各オブジェクトの横方向の位置を示す図である。図１９Ｃに示すように、移動前後のオブジェクトの位置を比較すると、右目１２０に映し出される像においては、移動後のオブジェクト１００’および１０１’ともに、移動前のオブジェクト１００および１０１の位置から左方向に移動する。このように、目の位置やオブジェクトの位置に応じて、当該オブジェクトがユーザの手前方向に移動した場合に、目に映る像におけるオブジェクトの位置が左右方向に変化する。
【０１６２】
このようなことを、上述した画像処理に適用することが可能である。画面との距離に対して表示画面が大きい場合（例えば、映画のスクリーンや大画面のテレビ等を比較的近い距離で見た場合）、ユーザの位置や、表示するオブジェクトの表示位置等によっては、左右の画像を生成する際にコピーする方向を変化させてもよい。すなわち、他の実施形態では、生成する画像（左目用画像又は右目用画像）と画素の高さとに応じてコピーする方向を定める場合、表示画面の大きさや表示画面とユーザとの距離、表示画面上の位置等によってもコピーする方向を定めてもよい。
【０１６３】
また、本実施形態では、原画像の画素を横方向にコピーする場合、原画像の画素の高さとコピー先画像の画素の高さと比較して、原画像の画素の高さの方が高い場合にコピーし、コピー先画像の画素の方が高い場合は、コピーを終了して、原画像の次の画素に対する処理を行った。すなわち、原画像の画素の方が、コピー先画像の画素よりも画面の奥方向に位置する場合、原画像の当該画素に対する処理を終了して、原画像の次の画素に対する処理を行った。他の実施形態では、コピー先画像の画素の方が高い場合であっても、当該原画像の画素に対する比較、コピー処理を継続してもよい。
【０１６４】
また、本実施形態では、予め用意された平面画像が原画像として用いられた。他の実施形態では、原画像としては任意の画像（例えば、予め用意された写真、内側撮像部２４によって撮像された画像（写真）、外側撮像部２３で撮像された立体画像（立体写真）、予め用意された立体画像、仮想空間に存在する３次元の任意のオブジェクトを平面表示した画像、仮想空間に存在する３次元の任意のオブジェクトを仮想ステレオカメラで撮像した立体画像等）が用いられてもよい。例えば、原画像として立体画像（すなわち、原画像としての左目用画像および原画像としての右目用画像）が用いられる場合、左目用画像と高さマップとを用いて、新たな左目用画像が生成され、右目用画像と高さマップとを用いて、新たな右目用画像が生成される。具体的には、例えば、元の立体画像に対する高さマップが１つ設定される。当該高さマップの各要素は、初期的に０に設定される。ユーザの操作によって、高さマップが更新される。更新された高さマップを用いて、上述した左目用画像生成処理によって原画像としての左目用画像から新たな左目用画像が生成される。同様に、更新された高さマップを用いて、上述した右目用画像生成処理によって原画像としての右目用画像から新たな左目用画像が生成される。一方、元の立体画像は、更新前の左目用画像と更新前の右目用画像とが合成された画像であり、これらの画像は視差を有している。更新された高さマップを用いて画像生成処理を行うことにより、各画像のある部分の視差はより大きくなったり、また、ある部分の視差は小さくなったり、元々視差のなかった部分に視差が生じたりする。このようにして、元の立体画像について、ある部分を画面の手前方向に変化させたり、ある部分を画面の奥方向に変化させたりすることができる。
【０１６５】
また、本実施形態では、高さマップはすべての画素についての高さを記憶したが、他の実施形態では、高さマップは一部の画素についての高さを記憶してもよい。例えば、ユーザによって操作された領域に対応する画素についての高さを記憶した高さマップが用いられてもよい。例えば、下側ＬＣＤ１２の右下領域のみがタッチされた場合、当該タッチされた部分に含まれる画素の高さを記憶した高さマップが生成される。そして、生成された高さマップを用いて、当該タッチされた部分に含まれる画素が上述の処理に従ってコピーされ、それ以外の部分に含まれる画素は位置を維持してコピーされる。これによって、原画像から左目用画像および右目用画像が生成されてもよい。また、上述した実施形態のように各画素（部分領域でもよい）に対応した高さマップが生成された場合において、高さマップの各要素の値が０でない部分のみについて、上述のような横方向にコピーするコピー処理が実行され、高さマップの要素の値が０の部分については、そのままコピーされることによって、左右の画像が生成されてもよい。
【０１６６】
また、本実施形態では、ステップＳ１で更新された高さマップを用いて、左目用画像および右目用画像に対してエンボス処理を行った。他の実施形態では、左目用画像生成処理の過程で生成される高さマップを用いて、左目用画像のテクスチャ画像が生成されてもよい。同様に、右目用画像生成処理の過程で生成される高さマップを用いて、右目用画像のテクスチャ画像が生成されてもよい。すなわち、ステップＳ２における左目用画像生成処理では、左目用画像の高さマップが生成され、ステップＳ３における右目用画像生成処理では、右目用画像の高さマップがそれぞれ生成される。従って、他の実施形態では、それぞれに生成される高さマップを用いて、エンボス処理に用いられるテクスチャ画像が生成されてもよい。これにより、各画像に応じたテクスチャ画像が生成されるため、表示される立体画像はより立体感のある画像となる。
【０１６７】
また、本実施形態では、タッチパネル１３によるタッチ位置に基づいて高さマップが更新された。他の実施形態では、タッチパネルの替わりに、他の座標指示手段、例えばタッチパッド、が用いられてもよい。また、他の実施形態では、タッチパネル等の座標指示手段に限らず、十字ボタン１４Ａやアナログスティック１５等、任意の入力手段による入力に応じて、高さマップが生成されてもよい。例えば、上側ＬＣＤ２２にポインタが表示されて、当該ポインタを十字ボタン１４Ａやアナログスティック１５等を用いて操作した場合に、高さマップが更新されて、上側ＬＣＤ２２に表示された画像が変化してもよい。
【０１６８】
また、高さマップは、必ずしもユーザの操作によって生成される必要はなく、例えば、予め用意されてもよいし、ゲーム装置１０において行なわれるゲーム（当該ゲーム装置１０が所定のゲームプログラムを実行することによって行なわれるゲーム）の状況に応じて生成されてもよい。例えば、ゲーム装置１０において行なわれるゲームとして、仮想３次元空間内で、プレイヤキャラクタ（プレイヤによって操作される）と、敵キャラクタ（ゲーム装置１０によって操作される）とが対戦するゲームが想定される。仮想３次元空間に存在する仮想ステレオカメラによって撮像された画像が上側ＬＣＤ２２に表示されることによって、プレイヤキャラクタおよび敵キャラクタは、立体的に上側ＬＣＤ２２に表示される。この場合において、敵キャラクタがプレイヤキャラクタに対して攻撃を行った場合、プレイヤキャラクタの体の一部が画面に垂直な方向に変形する。このようなゲームを想定した場合に、上記高さマップを用いて、キャラクタの体の一部を変形させてもよい。これにより、キャラクタのモデルを変形させることなく、高さマップを用いて変形することができるため、処理負荷を低減することができる。
【０１６９】
また、他の実施形態では、高さマップは予め用意されてもよい。例えば、所定の原画像が用意されて、当該原画像に対して、予め用意された複数の高さマップが適用されることにより、当該原画像を画面に垂直な方向に変化させた様々な立体画像を表示することができる。例えば、所定のキャラクタオブジェクトが登場するゲームがゲーム装置１０によって行われる場合、キャラクタオブジェクトの基本画像が複数種類用意され、さらに、高さマップが複数用意されている場合、これらの組み合わせで様々な表示態様のキャラクタオブジェクトを表現することができる。これにより、ゲームに登場するオブジェクトの基本画像の種類や数を削減することも可能であり、ゲーム製作に要する期間を短縮したり、コストを削減したりすることも可能である。
【０１７０】
また、他の実施形態では、下側ＬＣＤ１２に原画像が表示されて、当該原画像を操作するようにして、タッチ操作が行われてもよい。この場合において、下側ＬＣＤ１２に表示される原画像は、ユーザによるタッチ操作に応じて上側ＬＣＤ２２に表示される画像と同様に変化してもよいし、変化しなくてもよい。
【０１７１】
また、他の実施形態では、上述した画像処理の方法は、ゲーム装置に限らず任意の電子機器、例えば、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）や携帯電話、パーソナルコンピュータ、３Ｄテレビ等に適用されてもよい。
【０１７２】
また、本実施形態では、表示装置として裸眼で立体視画像を表示可能なＬＣＤが用いられた。他の実施形態では、時分割方式や偏向方式、アナグリフ方式（赤青眼鏡方式）などの眼鏡を用いて立体表示を行うような場合でも、本発明は適用可能である。
【０１７３】
また、他の実施形態では、有線や無線等で通信可能に接続された複数の情報処理装置が各処理を分担して処理することにより、上述した画像処理方法を実現する画像処理システムとして構築されてもよい。例えば、情報処理装置が立体表示可能な表示装置と入力装置とに有線又は無線で接続され、入力装置に対する入力によって高さマップが更新されてもよい。そして、情報処理装置が高さマップを用いて上記画像処理を行い、画像処理が行われた画像が表示装置に表示されることによって、立体画像が表示されてもよい。
【０１７４】
また、上記実施形態においては、ゲーム装置１０の情報処理部３１が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われた。他の実施形態においては、上記処理の一部又は全部は、ゲーム装置１０が備える専用回路によって行われてもよい。
【符号の説明】
【０１７５】
１０  ゲーム装置
１１  下側ハウジング
１２  下側ＬＣＤ
１３  タッチパネル
１４  操作ボタン
１５  アナログスティック
１６  ＬＥＤ
２１  上側ハウジング
２２  上側ＬＣＤ
２３  外側撮像部
２３ａ  外側撮像部（左）
２３ｂ  外側撮像部（右）
２４  内側撮像部
２５  ３Ｄ調整スイッチ
２６  ３Ｄインジケータ
２８  タッチペン
３１  情報処理部
３１１  ＣＰＵ
３１２  ＧＰＵ
３２  メインメモリ
【図１】
0005660818.tif 000002
【図２】
0005660818.tif 000003
【図３】
0005660818.tif 000004
【図４】
0005660818.tif 000005
【図５】
0005660818.tif 000006
【図６】
0005660818.tif 000007
【図７】
0005660818.tif 000008
【図８】
0005660818.tif 000009
【図９】
0005660818.tif 000010
【図１０】
0005660818.tif 000011
【図１１】
0005660818.tif 000012
【図１２】
0005660818.tif 000013
【図１３】
0005660818.tif 000014
【図１４】
0005660818.tif 000015
【図１５】
0005660818.tif 000016
【図１６】
0005660818.tif 000017
【図１７】
0005660818.tif 000018
【図１８】
0005660818.tif 000019
【図１９Ａ】
0005660818.tif 000020
【図１９Ｂ】
0005660818.tif 000021
【図１９Ｃ】
0005660818.tif 000022