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

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

Info

Publication number
JP2012027619A
JP2012027619A JP2010164347A JP2010164347A JP2012027619A JP 2012027619 A JP2012027619 A JP 2012027619A JP 2010164347 A JP2010164347 A JP 2010164347A JP 2010164347 A JP2010164347 A JP 2010164347A JP 2012027619 A JP2012027619 A JP 2012027619A
Authority
JP
Japan
Prior art keywords
image
partial area
original image
pixel
copy destination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010164347A
Other languages
English (en)
Other versions
JP5660818B2 (ja
Inventor
Toshiaki Suzuki
利明 鈴木
Masaki Tawara
正樹 俵
Teruhiko Suzuki
輝彦 鈴木
Eitaro Nakamura
栄太郎 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
HAL Laboratory Inc
Original Assignee
Nintendo Co Ltd
HAL Laboratory Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd, HAL Laboratory Inc filed Critical Nintendo Co Ltd
Priority to JP2010164347A priority Critical patent/JP5660818B2/ja
Priority to US13/156,682 priority patent/US8791946B2/en
Publication of JP2012027619A publication Critical patent/JP2012027619A/ja
Application granted granted Critical
Publication of JP5660818B2 publication Critical patent/JP5660818B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】より自然で立体感のある画像を生成することが可能な画像処理プログラム、画像処理装置、画像処理システム、および、画像処理方法を提供する。
【解決手段】原画像とその高さマップからコピー先画像(左目用画像)を生成する場合、原画像の高さマップの高さとコピー先画像の高さマップの高さとを比較して、原画像の画素の方が高い場合、コピー先画像の画素に当該原画像の画素をコピーする。画素をコピーすると、当該原画像の画素の高さをディクリメントする。当該原画像の画素の高さが0になるか、原画像の画素よりコピー先画像の画素の方が低くなるまで、原画像の画素をコピー先画像の画素に右方向にコピーする。原画像の各画素について同様の処理を行うことにより、左目用画像を生成する。
【選択図】図9

Description

本発明は、左右の目に視認される画像を用いて立体視画像を表示させる画像処理プログラム、画像処理装置、画像処理システム、および、画像処理方法に関する。
従来より、左右の目に見える画像をそれぞれ表示することによって、画像を立体的に表示する装置が提案されている。例えば、特許文献1に記載の装置では、透視投影変換によって3次元のモデルを1つの視点から見た画像を生成し、当該画像の各画素を奥行き方向の位置に応じて左右方向にずらすことによって、左目用の画像と右目用の画像とを生成している。そして、生成した左目用の画像と右目用の画像とを表示部に出力して、立体視の画像として表示している。このように、特許文献1では、3次元モデルを1つの仮想カメラで撮像した画像について、当該画像の各画素を奥行き方向の位置に応じて左右方向にずらすことによって左右の画像を生成し、3次元モデルを立体視の画像として表示している。
特開平7−200870号公報
しかしながら、特許文献1では、3次元モデルを1つの仮想カメラで撮像した画像について、当該画像の各画素を奥行き方向の位置に応じて左右方向に単純にずらすことによって左右の画像を生成する。このため、表示される立体視の画像はユーザにとって見難い画像になったり、違和感のある画像になったりすることがある。
それ故、本発明の目的は、より自然で立体感のある画像を生成することが可能な画像処理プログラム、画像処理装置、画像処理システム、および、画像処理方法を提供することである。
本発明は、上記の課題を解決するために、以下の構成を採用した。
本発明は、立体視画像を生成する画像処理装置のコンピュータにおいて実行される画像処理プログラムである。当該画像処理プログラムは、上記コンピュータを、原画像取得手段と、深度情報記憶手段と、画像生成手段として機能させる。原画像取得手段は、所定の原画像を取得する。深度情報記憶手段は、上記原画像の部分領域ごとの深度を示す深度情報を上記原画像の部分領域毎に対応させて記憶する。画像生成手段は、上記原画像のある部分領域について当該部分領域に対応した位置から当該部分領域の深度情報に応じた量だけ左右方向にずらした位置までの範囲に当該部分領域の画像データをコピーする処理を、上記原画像の部分領域毎に行うことによって、左目用画像および右目用画像を生成する。
上記によれば、深度情報記憶手段には、原画像の各部分領域の深度情報が記憶される。そして、原画像の部分領域について、当該部分領域に対応した位置から当該部分領域の深度情報に応じた量だけ左右方向にずらした位置までの範囲に、当該部分領域の画像データをコピーする。そして、原画像の各部分領域について、コピー処理を行うことにより、左目用画像および右目用画像を生成することができる。これにより、深度情報を用いて原画像を表示画面に垂直な方向に変化した立体視画像を生成することができ、違和感のない立体視画像を生成することができる。
また、本発明では、上記深度情報記憶手段は、入力手段からの入力に応じて、上記深度情報を更新してもよい。
上記によれば、入力手段に対する入力によって、深度情報を更新することができる。
また、本発明では、上記入力手段は指示座標検出手段であってもよい。この場合において、上記深度情報記憶手段は、上記指示座標検出手段によって検出された座標に対応する上記原画像の部分領域の深度情報を更新する。
上記によれば、指示座標検出手段を用いて深度情報を更新することができる。
また、本発明では、上記画像生成手段は、判定手段と、コピー手段と、制御手段とを含んでもよい。この場合において、画像生成手段は、生成する画像であるコピー先画像の部分領域の深度情報を記憶する。判定手段は、上記原画像の部分領域の深度情報とコピー先画像の部分領域の深度情報とを比較し、上記原画像の部分領域の方が上記コピー先画像の部分領域よりも深度が小さいか否かを判定する。コピー手段は、上記判定手段によって上記原画像の部分領域の方が上記コピー先画像の部分領域よりも深度が小さいと判定された場合に、当該原画像の部分領域を上記コピー先画像の部分領域にコピーするとともに、当該原画像の部分領域の深度情報を上記コピー先画像の部分領域の深度情報にコピーする。制御手段は、上記判定手段による判定とコピー手段によるコピーとを上記原画像の部分領域毎に実行する。
上記によれば、原画像の部分領域をコピーする際に、原画像の部分領域の深度情報とコピー先画像の部分領域の深度情報とを比較して、原画像の部分領域の方がコピー先画像の部分領域よりも深度が小さいか否か(原画像の部分領域の方がコピー先画像の部分領域よりも表示画面の手前方向に位置するか否か)を判定することができる。そして、判定結果が肯定の場合に、原画像の部分領域をコピー先画像の部分領域にコピーすることができる。これにより、表示画面の手前方向に位置する部分領域が奥方向に位置する部分領域よりも優先されるため、リアルで自然な立体視の画像を生成することができる。
また、本発明では、上記画像生成手段は、制御手段と、判定手段と、コピー手段とを含んでもよい。この場合において、上記画像生成手段は、生成する画像であるコピー先画像の部分領域の深度情報を記憶する。制御手段は、上記原画像のある部分領域を指定して、当該原画像の部分領域に対応した上記コピー先画像の部分領域を指定する。判定手段は、上記原画像の部分領域に対応する深度情報と、上記制御手段によって指定されたコピー先画像の部分領域の深度情報とを比較し、当該原画像の部分領域の方が当該コピー先画像の部分領域よりも深度が小さいか否かを判定する。コピー手段は、上記判定手段による判定結果が肯定の場合、上記原画像の部分領域を上記コピー先画像の部分領域にコピーするとともに、当該原画像の部分領域の深度情報を上記コピー先画像の部分領域の深度情報にコピーする。そして、上記制御手段は、上記原画像の部分領域の深度情報が表示画面に対して手前方向の位置を示す場合において、上記左目用画像を生成するときは、現在指定しているコピー先画像の部分領域の右側の部分領域を次のコピー先画像の部分領域として指定して、上記判定手段および上記コピー手段による処理を実行させる。また、上記制御手段は、上記原画像の部分領域の深度情報が上記表示画面に対して手前方向の位置を示す場合において、上記右目用画像を生成するときは、現在指定しているコピー先画像の部分領域の左側の部分領域を次のコピー先画像の部分領域として指定して、上記判定手段および上記コピー手段による処理を実行させる。また、上記制御手段は、上記原画像の部分領域の深度情報が上記表示画面に対して奥方向の位置を示す場合において、上記左目用画像を生成するときは、現在指定しているコピー先画像の部分領域の左側の部分領域を次のコピー先画像の部分領域として指定して、上記判定手段および上記コピー手段による処理を実行させる。また、上記制御手段は、上記原画像の部分領域の深度情報が上記表示画面に対して奥方向の位置を示す場合において、上記右目用画像を生成するときは、現在指定しているコピー先画像の部分領域の右側の部分領域を次のコピー先画像の部分領域として指定して、上記判定手段および上記コピー手段による処理を実行させる。さらに、上記制御手段は、上記原画像の部分領域に対する処理が終了した場合、上記原画像の次の部分領域に対する処理を実行する。
上記によれば、例えば、生成する画像が左目用画像であって、かつ、深度情報が上記表示画面に対して手前方向の位置を示す場合(高さが正の場合)は、右方向に、深度情報が上記表示画面に対して奥方向の位置を示す場合(高さが負の場合)は、左方向に、順に原画像の部分領域をコピーすることができる。また、コピーする際には、原画像の部分領域の方がコピー先画像の部分領域よりも表示画面の手前方向に位置する(原画像の部分領域の方がコピー先画像の部分領域よりも深度が小さい)場合のみ、原画像の部分領域をコピー先画像の部分領域にコピーすることができる。これにより、表示画面の手前方向に位置する部分領域が奥方向に位置する部分領域よりも優先されるため、リアルで自然な立体視の画像を生成することができる。
また、本発明では、上記制御手段は、上記判定手段によって上記原画像の部分領域の方が上記コピー先画像の部分領域よりも深度が大きいと判定された場合、当該原画像の部分領域に対する処理を終了して、上記原画像の次の部分領域に対する処理を実行してもよい。
上記によれば、原画像の部分領域の方がコピー先画像の部分領域よりも深度が大きいと判定された時点で、当該原画像の部分領域に対する処理を終了することができる。例えば、原画像の部分領域を右方向に順次コピーしていく場合において、原画像の部分領域よりも深度が小さいコピー先画像の部分領域にぶつかった場合、以降の当該原画像の部分領域に対するコピー処理を終了することができる。これにより、よりリアルで自然な立体視の画像を生成することができる。
また、本発明では、画像処理プログラムは、深度変更手段として上記コンピュータを更に機能させてもよい。深度変更手段は、上記コピー先画像の部分領域が、コピー元の上記原画像の部分領域の位置から離れることに応じて、当該原画像の部分領域を上記表示画面に近づけるようにして当該原画像の部分領域に対応する深度情報を変更する。そして、上記判定手段は、上記深度変更手段によって変更された上記原画像の部分領域に対応する深度情報と、上記コピー先画像の部分領域の深度情報とを比較し、変更後の当該原画像の部分領域の方が当該コピー先画像の部分領域よりも深度が小さいか否かを判定する。
上記によれば、コピー先画像の部分領域が、コピー元の前記原画像の部分領域の位置から離れることに応じて、例えば、当該原画像の部分領域の深度をディクリメントしたりインクリメントしたりすることができる。これにより、比較的深度が小さい部分領域の影響が強く出過ぎないようにすることができ、より自然な立体視の画像を生成することができる。
また、本発明では、画像処理プログラムは、エンボス処理手段として上記コンピュータを更に機能させてもよい。エンボス処理手段は、上記各部分領域の深度情報と、当該各部分領域の位置から所定方向の位置に存在する部分領域の深度情報とを用いて、明暗情報を有するグレースケール画像を生成し、上記左目用画像および上記右目用画像に生成したグレースケール画像をテクスチャマッピングにより合成する。
上記によれば、深度情報を用いて左目用画像および右目用画像に対してエンボス処理を行うことができ、左目用画像および右目用画像に深度に応じた影を付することができる。これにより、より立体感のある画像を生成することができる。
また、本発明では、上記深度情報記憶手段は、上記深度情報としてグレースケール値を記憶してもよい。この場合において、上記エンボス処理手段は、上記深度情報記憶手段に記憶された各部分領域のグレースケール値と、当該各部分領域の位置から所定方向の位置に存在する部分領域のグレースケール値との差分に応じて、上記グレースケール画像を生成する。
上記によれば、深度情報記憶手段に記憶された深度情報の値をそのままエンボス処理に利用することができる。
また、本発明では、上記各手段を実現した画像処理装置であってもよい。また、本発明では、上記各手段を実現する複数の要素が相互に動作することによって、1つの画像処理システムとして構成されてもよい。当該画像処理システムは、1つの装置によって構成されてもよいし、複数の装置によって構成されてもよい。
本発明によれば、自然で立体感のある立体視画像を生成することができる。
開状態におけるゲーム装置10の正面図 開状態におけるゲーム装置10の側面図 閉状態におけるゲーム装置10の左側面図、正面図、右側面図および背面図 ゲーム装置10の内部構成を示すブロック図 本実施形態に係る画像処理が行われた場合に画面に表示される画像の一例を示す図 上側LCD22に初期的に表示される原画像の一例を示す図 下側LCD12に対するタッチ操作が行われる前の高さマップを示す図 下側LCD12に対するタッチ操作が行われた後の高さマップの一例を示す図 左目用画像を生成する場合の画像処理の流れを示す図 原画像50から左目用画像51および右目用画像52が生成されて、合成される様子を示す図 ゲーム装置10のRAMのメモリマップを示す図 本実施形態に係る画像処理の詳細を示すメインフローチャート マップ更新処理(ステップS1)の詳細を示すフローチャート 左目用画像生成処理(ステップS2)の詳細を示すフローチャート 右目用画像生成処理(ステップS3)の詳細を示すフローチャート エンボス処理(ステップS4)の詳細を示すフローチャート エンボス処理におけるグレースケール値の算出について説明するための図 本実施形態における処理によって生成される左目用画像の各画素の見え方を示す概念図 実空間に存在するオブジェクトとユーザの視点とを空間の上方から見た図 オブジェクトの移動前後の左目110に見える横方向の範囲を示す図であり、左目110に映し出される像における各オブジェクトの横方向の位置を示す図 オブジェクトの移動前後の右目120に見える横方向の範囲を示す図であり、右目120に映し出される像における各オブジェクトの横方向の位置を示す図
(ゲーム装置の構成)
以下、本発明の一実施形態に係るゲーム装置について説明する。図1〜図3は、ゲーム装置10の外観を示す平面図である。ゲーム装置10は携帯型のゲーム装置であり、図1〜図3に示すように折り畳み可能に構成されている。図1および図2は、開いた状態(開状態)におけるゲーム装置10を示し、図3は、閉じた状態(閉状態)におけるゲーム装置10を示している。図1は、開状態におけるゲーム装置10の正面図であり、図2は、開状態におけるゲーム装置10の右側面図である。ゲーム装置10は、撮像部によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置10は、交換可能なメモリカード内に記憶され、または、サーバーや他のゲーム装置から受信したゲームプログラムを実行可能であり、仮想空間に設定された仮想カメラで撮像した画像などのコンピュータグラフィックス処理により生成された画像を画面に表示したりすることができる。
まず、図1〜図3を参照して、ゲーム装置10の外観構成について説明する。図1〜図3に示されるように、ゲーム装置10は、下側ハウジング11および上側ハウジング21を有する。下側ハウジング11と上側ハウジング21とは、開閉可能(折り畳み可能)に接続されている。本実施形態では、各ハウジング11および21はともに横長の長方形の板状形状であり、互いの長辺部分で回転可能に接続されている。
図1および図2に示されるように、下側ハウジング11の上側長辺部分には、下側ハウジング11の内側面(主面)11Bに対して垂直な方向に突起する突起部11Aが設けられる。また、上側ハウジング21の下側長辺部分には、上側ハウジング21の下側面から当該下側面に垂直な方向に突起する突起部21Aが設けられる。下側ハウジング11の突起部11Aと上側ハウジング21の突起部21Aとが連結されることにより、下側ハウジング11と上側ハウジング21とが、折り畳み可能に接続される。
(下側ハウジングの説明)
まず、下側ハウジング11の構成について説明する。図1〜図3に示すように、下側ハウジング11には、下側LCD(Liquid Crystal Display:液晶表示装置)12、タッチパネル13、各操作ボタン14A〜14L(図1、図3)、アナログスティック15、LED16A〜16B、挿入口17、および、マイクロフォン用孔18が設けられる。以下、これらの詳細について説明する。
図1に示すように、下側LCD12は下側ハウジング11に収納される。下側LCD12は横長形状であり、長辺方向が下側ハウジング11の長辺方向に一致するように配置される。下側LCD12は下側ハウジング11の中央に配置される。下側LCD12は、下側ハウジング11の内側面(主面)に設けられ、下側ハウジング11に設けられた開口部から当該下側LCD12の画面が露出される。ゲーム装置10を使用しない場合には閉状態としておくことによって、下側LCD12の画面が汚れたり傷ついたりすることを防止することができる。下側LCD12の画素数は、例えば、256dot×192dot(横×縦)であってもよい。下側LCD12は、後述する上側LCD22とは異なり、画像を(立体視可能ではなく)平面的に表示する表示装置である。なお、本実施形態では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側LCD12として、任意の解像度の表示装置を利用することができる。
図1に示されるように、ゲーム装置10は、入力装置として、タッチパネル13を備えている。タッチパネル13は、下側LCD12の画面上に装着されている。なお、本実施形態では、タッチパネル13は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。本実施形態では、タッチパネル13として、下側LCD12の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル13の解像度と下側LCD12の解像度が一致している必要はない。また、下側ハウジング11の上側面には挿入口17(図1および図3(d)に示す点線)が設けられている。挿入口17は、タッチパネル13に対する操作を行うために用いられるタッチペン28を収納することができる。なお、タッチパネル13に対する入力は通常タッチペン28を用いて行われるが、タッチペン28に限らずユーザの指でタッチパネル13に対する入力をすることも可能である。
各操作ボタン14A〜14Lは、所定の入力を行うための入力装置である。図1に示されるように、下側ハウジング11の内側面(主面)には、各操作ボタン14A〜14Lのうち、十字ボタン14A(方向入力ボタン14A)、ボタン14B、ボタン14C、ボタン14D、ボタン14E、電源ボタン14F、セレクトボタン14J、HOMEボタン14K、およびスタートボタン14Lが、設けられる。十字ボタン14Aは、十字の形状を有しており、上下左右の方向を指示するボタンを有している。ボタン14B、ボタン14C、ボタン14D、ボタン14Eは、十字状に配置される。ボタン14A〜14E、セレクトボタン14J、HOMEボタン14K、およびスタートボタン14Lには、ゲーム装置10が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン14Aは選択操作等に用いられ、各操作ボタン14B〜14Eは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン14Fは、ゲーム装置10の電源をオン/オフするために用いられる。
アナログスティック15は、方向を指示するデバイスであり、下側ハウジング11の内側面の下側LCD12より左側領域の上部領域に設けられる。図1に示すように、十字ボタン14Aは下側LCD12より左側領域の下部領域に設けられるので、アナログスティック15は、十字ボタン14Aの上方に設けられる。また、アナログスティック15、および、十字ボタン14Aは、下側ハウジングを把持した左手の親指で操作可能な位置に設計される。また、アナログスティック15を上部領域に設けたことにより、下側ハウジング11を把持する左手の親指が自然と位置するところにアナログスティック15が配され、十字ボタン14Aは、左手の親指を少し下にずらした位置に配される。アナログスティック15は、そのキートップが、下側ハウジング11の内側面に平行にスライドするように構成されている。アナログスティック15は、ゲーム装置10が実行するプログラムに応じて機能する。例えば、3次元仮想空間に所定のオブジェクトが登場するゲームがゲーム装置10によって実行される場合、アナログスティック15は、当該所定のオブジェクトを3次元仮想空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトはアナログスティック15のキートップがスライドした方向に移動される。なお、アナログスティック15として、上下左右および斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いても良い。
十字状に配置される、ボタン14B、ボタン14C、ボタン14D、ボタン14Eの4つのボタンは、下側ハウジング11を把持する右手の親指が自然と位置するところに配置される。また、これらの4つのボタンと、アナログスティック15とは、下側LCD12を挟んで、左右対称に配置される。これにより、ゲームプログラムによっては、例えば、左利きの人が、これらの4つのボタンを使用して方向指示入力をすることも可能である。
また、下側ハウジング11の内側面には、マイクロフォン用孔18が設けられる。マイクロフォン用孔18の下部には後述する音声入力装置としてのマイク(図4参照)が設けられ、当該マイクがゲーム装置10の外部の音を検出する。
図3(a)は閉状態におけるゲーム装置10の左側面図であり、図3(b)は閉状態におけるゲーム装置10の正面図であり、図3(c)は閉状態におけるゲーム装置10の右側面図であり、図3(d)は閉状態におけるゲーム装置10の背面図である。図3(b)および(d)に示されるように、下側ハウジング11の上側面には、Lボタン14GおよびRボタン14Hが設けられている。Lボタン14Gは、下側ハウジング11の上面の左端部に設けられ、Rボタン14Hは、下側ハウジング11の上面の右端部に設けられる。また、図3(a)に示されるように、下側ハウジング11の左側面には、音量ボタン14Iが設けられる。音量ボタン14Iは、ゲーム装置10が備えるスピーカの音量を調整するために用いられる。
図3(a)に示されるように、下側ハウジング11の左側面には開閉可能なカバー部11Cが設けられる。このカバー部11Cの内側には、ゲーム装置10とデータ保存用外部メモリ45とを電気的に接続するためのコネクタ(図示せず)が設けられる。データ保存用外部メモリ45は、コネクタに着脱自在に装着される。データ保存用外部メモリ45は、例えば、ゲーム装置10によって撮像された画像のデータを記憶(保存)するために用いられる。なお、上記コネクタおよびそのカバー部11Cは、下側ハウジング11の右側面に設けられてもよい。
また、図3(d)に示されるように、下側ハウジング11の上側面には、ゲーム装置10とゲームプログラムを記録した外部メモリ44を挿入するための挿入口11Dが設けられ、その挿入口11Dの内部には、外部メモリ44と電気的に着脱自在に接続するためのコネクタ(図示せず)が設けられる。当該外部メモリ44がゲーム装置10に接続されることにより、所定のゲームプログラムが実行される。なお、上記コネクタおよびその挿入口11Dは、下側ハウジング11の他の側面(例えば、右側面等)に設けられてもよい。
また、図1および図3(c)に示されるように、下側ハウジング11の下側面にはゲーム装置10の電源のON/OFF状況をユーザに通知する第1LED16A、下側ハウジング11の右側面にはゲーム装置10の無線通信の確立状況をユーザに通知する第2LED16Bが設けられる。ゲーム装置10は他の機器との間で無線通信を行うことが可能であり、第1LED16Bは、無線通信が確立している場合に点灯する。ゲーム装置10は、例えば、IEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。下側ハウジング11の右側面には、この無線通信の機能を有効/無効にする無線スイッチ19が設けられる(図3(c)参照)。
なお、図示は省略するが、下側ハウジング11には、ゲーム装置10の電源となる充電式電池が収納され、下側ハウジング11の側面(例えば、上側面)に設けられた端子を介して当該電池を充電することができる。
(上側ハウジングの説明)
次に、上側ハウジング21の構成について説明する。図1〜図3に示すように、上側ハウジング21には、上側LCD(Liquid Crystal Display:液晶表示装置)22、外側撮像部23(外側撮像部(左)23aおよび外側撮像部(右)23b)、内側撮像部24、3D調整スイッチ25、および、3Dインジケータ26が設けられる。以下、これらの詳細について説明する。
図1に示すように、上側LCD22は上側ハウジング21に収納される。上側LCD22は、横長形状であり、長辺方向が上側ハウジング21の長辺方向に一致するように配置される。上側LCD22は上側ハウジング21の中央に配置される。上側LCD22の画面の面積は、下側LCD12の画面の面積よりも大きく設定される。また、上側LCD22の画面は、下側LCD12の画面よりも横長に設定される。すなわち、上側LCD22の画面のアスペクト比における横幅の割合は、下側LCD12の画面のアスペクト比における横幅の割合よりも大きく設定される。
上側LCD22の画面は、上側ハウジング21の内側面(主面)21Bに設けられ、上側ハウジング21に設けられた開口部から当該上側LCD22の画面が露出される。また、図2に示すように、上側ハウジング21の内側面は、透明なスクリーンカバー27によって覆われている。当該スクリーンカバー27は、上側LCD22の画面を保護するとともに、上側LCD22と上側ハウジング21の内側面と一体的にさせ、これにより統一感を持たせている。上側LCD22の画素数は、例えば、640dot×200dot(横×縦)であってもよい。なお、本実施形態では上側LCD22は液晶表示装置であるとしたが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置などが利用されてもよい。また、上側LCD22として、任意の解像度の表示装置を利用することができる。
上側LCD22は、立体視可能な画像(立体視画像、立体画像ともいう)を表示することが可能な表示装置である。また、本実施例では、実質的に同一の表示領域を用いて左目用画像と右目用画像が表示される。具体的には、左目用画像と右目用画像が所定単位で(例えば、1列ずつ)横方向に交互に表示される方式の表示装置である。または、左目用画像と右目用画像とが交互に表示される方式の表示装置であってもよい。また、本実施例では、裸眼立体視可能な表示装置である。そして、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式(視差バリア方式)のものが用いられる。本実施形態では、上側LCD22はパララックスバリア方式のものとする。上側LCD22は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像(立体画像)を表示する。すなわち、上側LCD22は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像を視認させることにより、ユーザにとって立体感のある立体画像(立体視可能な画像)を表示することができる。また、上側LCD22は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる(上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである)。このように、上側LCD22は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する(平面視画像を表示する)平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、後述する3D調整スイッチ25によって行われる。
外側撮像部23は、上側ハウジング21の外側面(上側LCD22が設けられた主面と反対側の背面)21Dに設けられた2つの撮像部(23aおよび23b)の総称である。外側撮像部(左)23aと外側撮像部(右)23bの撮像方向は、いずれも当該外側面21Dの外向きの法線方向である。また、これらの撮像部はいずれも、上側LCD22の表示面(内側面)の法線方向と180度反対の方向に設計される。すなわち、外側撮像部(左)23aの撮像方向および外側撮像部(右)23bの撮像方向は、平行である。外側撮像部(左)23aと外側撮像部(右)23bとは、ゲーム装置10が実行するプログラムによって、ステレオカメラとして使用することが可能である。また、プログラムによっては、2つの外側撮像部(23aおよび23b)のいずれか一方を単独で用いて、外側撮像部23を非ステレオカメラとして使用することも可能である。また、プログラムによっては、2つの外側撮像部(23aおよび23b)で撮像した画像を合成してまたは補完的に使用することにより撮像範囲を広げた撮像をおこなうことも可能である。本実施形態では、外側撮像部23は、外側撮像部(左)23aおよび外側撮像部(右)23bの2つの撮像部で構成される。外側撮像部(左)23aおよび外側撮像部(右)23bは、それぞれ所定の共通の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
図1の破線および図3(b)の実線で示されるように、外側撮像部23を構成する外側撮像部(左)23aおよび外側撮像部(右)23bは、上側LCD22の画面の横方向と平行に並べられて配置される。すなわち、2つの撮像部を結んだ直線が上側LCD22の画面の横方向と平行になるように、外側撮像部(左)23aおよび外側撮像部(右)23bが配置される。図1の破線で示す23aおよび23bは、上側ハウジング21の内側面とは反対側の外側面に存在する外側撮像部(左)23aおよび外側撮像部(右)23bをそれぞれ表している。図1に示すように、ユーザが上側LCD22の画面を正面から視認した場合に、外側撮像部(左)23aは左側に外側撮像部(右)23bは右側にそれぞれ位置している。外側撮像部23をステレオカメラとして機能させるプログラムが実行されている場合、外側撮像部(左)23aは、ユーザの左目で視認される左目用画像を撮像し、外側撮像部(右)23bは、ユーザの右目で視認される右目用画像を撮像する。外側撮像部(左)23aおよび外側撮像部(右)23bの間隔は、人間の両目の間隔程度に設定され、例えば、30mm〜70mmの範囲で設定されてもよい。なお、外側撮像部(左)23aおよび外側撮像部(右)23bの間隔は、この範囲に限らない。
なお、本実施例においては、外側撮像部(左)23aおよび外側撮像部(右)23はハウジングに固定されており、撮像方向を変更することはできない。
また、外側撮像部(左)23aおよび外側撮像部(右)23bは、上側LCD22(上側ハウジング21)の左右方向に関して中央から対称となる位置にそれぞれ配置される。すなわち、外側撮像部(左)23aおよび外側撮像部(右)23bは、上側LCD22を左右に2等分する線に対して対称の位置にそれぞれ配置される。また、外側撮像部(左)23aおよび外側撮像部(右)23bは、上側ハウジング21を開いた状態において、上側ハウジング21の上部であって、上側LCD22の画面の上端よりも上方の位置の裏側に配置される。すなわち、外側撮像部(左)23aおよび外側撮像部(右)23bは、上側ハウジング21の外側面であって、上側LCD22を外側面に投影した場合、投影した上側LCD22の画面の上端よりも上方に配置される。
このように、外側撮像部23の2つの撮像部(23aおよび23b)が、上側LCD22の左右方向に関して中央から対称の位置に配置されることにより、ユーザが上側LCD22を正視した場合に、外側撮像部23の撮像方向をユーザの視線方向と一致させることができる。また、外側撮像部23は、上側LCD22の画面の上端より上方の裏側の位置に配置されるため、外側撮像部23と上側LCD22とが上側ハウジング21の内部で干渉することがない。従って、外側撮像部23を上側LCD22の画面の裏側に配置する場合と比べて、上側ハウジング21を薄く構成することが可能となる。
内側撮像部24は、上側ハウジング21の内側面(主面)21Bに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。内側撮像部24は、所定の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
図1に示すように、内側撮像部24は、上側ハウジング21を開いた状態において、上側ハウジング21の上部であって、上側LCD22の画面の上端よりも上方に配置され、上側ハウジング21の左右方向に関して中央の位置(上側ハウジング21(上側LCD22の画面)を左右に2等分する線の線上)に配置される。具体的には、図1および図3(b)に示されるように、内側撮像部24は、上側ハウジング21の内側面であって、外側撮像部23の左右の撮像部(外側撮像部(左)23aおよび外側撮像部(右)23b)の中間の裏側の位置に配置される。すなわち、上側ハウジング21の外側面に設けられた外側撮像部23の左右の撮像部を上側ハウジング21の内側面に投影した場合、当該投影した左右の撮像部の中間に、内側撮像部24が設けられる。図3(b)で示される破線24は、上側ハウジング21の内側面に存在する内側撮像部24を表している。
このように、内側撮像部24は、外側撮像部23とは反対方向を撮像する。内側撮像部24は、上側ハウジング21の内側面であって、外側撮像部23の左右の撮像部の中間位置の裏側に設けられる。これにより、ユーザが上側LCD22を正視した際、内側撮像部24でユーザの顔を正面から撮像することができる。また、外側撮像部23の左右の撮像部と内側撮像部24とが上側ハウジング21の内部で干渉することがないため、上側ハウジング21を薄く構成することが可能となる。
3D調整スイッチ25は、スライドスイッチであり、上述のように上側LCD22の表示モードを切り替えるために用いられるスイッチである。また、3D調整スイッチ25は、上側LCD22に表示された立体視可能な画像(立体画像)の立体感を調整するために用いられる。図1〜図3に示されるように、3D調整スイッチ25は、上側ハウジング21の内側面および右側面の端部に設けられ、ユーザが上側LCD22を正視した場合に、当該3D調整スイッチ25を視認できる位置に設けられる。また、3D調整スイッチ25の操作部は、内側面および右側面の両方に突出しており、どちらからも視認および操作することができる。なお、3D調整スイッチ25以外のスイッチは全て下側ハウジング11に設けられる。
3D調整スイッチ25は、図1および図2に示されるように、上側ハウジング21の正面および右側面から視認可能に配置される。3D調整スイッチ25のスライダ25aは、所定方向(上下方向)の任意の位置にスライド可能であり、当該スライダ25aの位置に応じて上側LCD22の表示モードが設定されたり、立体画像の立体感が調整されてもよい。
3Dインジケータ26は、上側LCD22が立体表示モードか否かを示す。3Dインジケータ26は、LEDであり、上側LCD22の立体表示モードが有効の場合に点灯する。なお、3Dインジケータ26は、上側LCD22が立体表示モードになっており、かつ、立体視画像を表示するプログラム処理が実行されているときに限り、点灯するようにしてもよい。図1に示されるように、3Dインジケータ26は、上側ハウジング21の内側面に設けられ、上側LCD22の画面近傍に設けられる。このため、ユーザが上側LCD22の画面を正視した場合、ユーザは3Dインジケータ26を視認しやすい。従って、ユーザは上側LCD22の画面を視認している状態でも、上側LCD22の表示モードを容易に認識することができる。
また、上側ハウジング21の内側面には、スピーカ孔21Eが設けられる。後述するスピーカ43からの音声がこのスピーカ孔21Eから出力される。
(ゲーム装置10の内部構成)
次に、図4を参照して、ゲーム装置10の内部の電気的構成について説明する。図4は、ゲーム装置10の内部構成を示すブロック図である。図4に示すように、ゲーム装置10は、上述した各部に加えて、情報処理部31、メインメモリ32、外部メモリインターフェイス(外部メモリI/F)33、データ保存用外部メモリI/F34、データ保存用内部メモリ35、無線通信モジュール36、ローカル通信モジュール37、リアルタイムクロック(RTC)38、加速度センサ39、電源回路40、およびインターフェイス回路(I/F回路)41等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング11(または上側ハウジング21でもよい)内に収納される。
情報処理部31は、所定のプログラムを実行するためのCPU(Central Processing Unit)311、画像処理を行うGPU(Graphics Processing Unit)312等を含む情報処理手段である。本実施形態では、所定のプログラムがゲーム装置10内のメモリ(例えば外部メモリI/F33に接続された外部メモリ44やデータ保存用内部メモリ35)に記憶されている。情報処理部31のCPU311は、当該所定のプログラムを実行することによって、後述する画像処理(図12)を実行する。なお、情報処理部31のCPU311によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部31は、VRAM(Video RAM)313を含む。情報処理部31のGPU312は、情報処理部31のCPU311からの命令に応じて画像を生成し、VRAM313に描画する。そして、情報処理部31のGPU312は、VRAM313に描画された画像を上側LCD22及び/又は下側LCD12に出力し、上側LCD22及び/又は下側LCD12に当該画像が表示される。
情報処理部31には、メインメモリ32、外部メモリI/F33、データ保存用外部メモリI/F34、および、データ保存用内部メモリ35が接続される。外部メモリI/F33は、外部メモリ44を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリI/F34は、データ保存用外部メモリ45を着脱自在に接続するためのインターフェイスである。
メインメモリ32は、情報処理部31(のCPU311)のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ32は、上記画像処理に用いられる各種データを一時的に記憶したり、外部(外部メモリ44や他の機器等)から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ32として例えばPSRAM(Pseudo−SRAM)を用いる。
外部メモリ44は、情報処理部31によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ44は、例えば読み取り専用の半導体メモリで構成される。外部メモリ44が外部メモリI/F33に接続されると、情報処理部31は外部メモリ44に記憶されたプログラムを読み込むことができる。情報処理部31が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ45は、不揮発性の読み書き可能なメモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ45には、外側撮像部23で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ45がデータ保存用外部メモリI/F34に接続されると、情報処理部31はデータ保存用外部メモリ45に記憶された画像を読み込み、上側LCD22及び/又は下側LCD12に当該画像を表示することができる。
データ保存用内部メモリ35は、読み書き可能な不揮発性メモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ35には、無線通信モジュール36を介した無線通信によってダウンロードされたデータやプログラムが格納される。
無線通信モジュール36は、例えばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール37は、所定の通信方式(例えば赤外線通信)により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール36およびローカル通信モジュール37は情報処理部31に接続される。情報処理部31は、無線通信モジュール36を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール37を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
また、情報処理部31には、加速度センサ39が接続される。加速度センサ39は、3軸(xyz軸)方向に沿った直線方向の加速度(直線加速度)の大きさを検出する。加速度センサ39は、下側ハウジング11の内部に設けられる。加速度センサ39は、図1に示すように、下側ハウジング11の長辺方向をx軸、下側ハウジング11の短辺方向をy軸、下側ハウジング11の内側面(主面)に対して垂直な方向をz軸として、各軸の直線加速度の大きさを検出する。なお、加速度センサ39は、例えば静電容量式の加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ39は1軸又は2軸方向を検出する加速度センサであってもよい。情報処理部31は、加速度センサ39が検出した加速度を示すデータ(加速度データ)を受信して、ゲーム装置10の姿勢や動きを検出する。本実施形態では、情報処理部31は、加速度センサ39が検出した加速度に基づいて、ゲーム装置10の姿勢(傾き)を判定する。
また、情報処理部31には、RTC38および電源回路40が接続される。RTC38は、時間をカウントして情報処理部31に出力する。情報処理部31は、RTC38によって計時された時間に基づき現在時刻(日付)を計算する。電源回路40は、ゲーム装置10が有する電源(下側ハウジング11に収納される上記充電式電池)からの電力を制御し、ゲーム装置10の各部品に電力を供給する。
また、情報処理部31には、I/F回路41が接続される。I/F回路41には、マイク42およびスピーカ43が接続される。具体的には、I/F回路41には、図示しないアンプを介してスピーカ43が接続される。マイク42は、ユーザの音声を検知して音声信号をI/F回路41に出力する。アンプは、I/F回路41からの音声信号を増幅し、音声をスピーカ43から出力させる。また、タッチパネル13はI/F回路41に接続される。I/F回路41は、マイク42およびスピーカ43(アンプ)の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換およびD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル13からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部31に出力する。タッチ位置データは、タッチパネル13の入力面において入力が行われた位置の座標を示す。なお、タッチパネル制御回路は、タッチパネル13からの信号の読み込み、および、タッチ位置データの生成を所定時間に1回の割合で行う。情報処理部31は、タッチ位置データを取得することにより、タッチパネル13に対して入力が行われた位置を知ることができる。
操作ボタン14は、上記各操作ボタン14A〜14Lからなり、情報処理部31に接続される。操作ボタン14から情報処理部31へは、各操作ボタン14A〜14Iに対する入力状況(押下されたか否か)を示す操作データが出力される。情報処理部31は、操作ボタン14から操作データを取得することによって、操作ボタン14に対する入力に従った処理を実行する。
下側LCD12および上側LCD22は情報処理部31に接続される。下側LCD12および上側LCD22は、情報処理部31(のGPU312)の指示に従って画像を表示する。
具体的には、情報処理部31は、上側LCD22のLCDコントローラ(図示せず)と接続され、当該LCDコントローラに対して視差バリアのON/OFFを制御する。上側LCD22の視差バリアがONになっている場合、情報処理部31のVRAM313に格納された右目用画像と左目用画像とが、上側LCD22に出力される。より具体的には、LCDコントローラは、右目用画像について縦方向に1ライン分の画素データを読み出す処理と、左目用画像について縦方向に1ライン分の画素データを読み出す処理とを交互に繰り返すことによって、VRAM313から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に1ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側LCD22の画面に表示される。そして、上側LCD22の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側LCD22の画面には立体視可能な画像が表示される。
外側撮像部23および内側撮像部24は、情報処理部31に接続される。外側撮像部23および内側撮像部24は、情報処理部31の指示に従って画像を撮像し、撮像した画像データを情報処理部31に出力する。例えば、情報処理部31は外側撮像部23および内側撮像部24のいずれか一方に対して撮像指示を行い、撮像指示を受けた撮像部が画像を撮像して画像データを情報処理部31に送る。例えば、ユーザによるタッチパネル13を用いたタッチ操作によって使用する撮像部が選択される。撮像部が選択されたことを情報処理部31(CPU311)が検知し、情報処理部31が外側撮像部23または内側撮像部24に対して撮像指示を行う。
3D調整スイッチ25は、情報処理部31に接続される。3D調整スイッチ25は、スライダ25aの位置に応じた電気信号を情報処理部31に送信する。
また、3Dインジケータ26は、情報処理部31に接続される。情報処理部31は、3Dインジケータ26の点灯を制御する。本実施形態では、情報処理部31は、上側LCD22が立体表示モードである場合、3Dインジケータ26を点灯させる。以上がゲーム装置10の内部構成の説明である。
(画像処理の概要)
次に、本実施形態に係る画像処理の概要について説明する。本実施形態では、上側LCD22に初期的に表示される画像(以下、原画像ともいう)が、ユーザの操作によって画面の手前方向または奥方向に変形する。例えば、ユーザは、左手で下側ハウジング11を把持して、右手でタッチペン28を把持して下側LCD12に対してタッチ操作を行う。具体的には、ユーザは、まず、タッチペン28を用いたタッチ操作によって下側LCD12に表示された複数のアイテムの中から1つのアイテムを選択する。次に、ユーザは、下側LCD12の画面上をタッチペン28を用いてタッチする。すると、上側LCD22に表示された画像のうち、下側LCD12のタッチ位置に応じた位置が変化する。例えば、ユーザによってスタンプアイテムが選択された場合において、ユーザが下側LCD12の所定の位置をタッチしたとき、当該所定の位置に対応する上側LCD22上の位置(当該位置を基準とした所定領域)が画面の奥方向に所定量だけ凹むように、上側LCD22に表示された画像が変化する。あるいは、ユーザによってペンアイテムが選択された場合において、ユーザが下側LCD12の所定の位置をタッチしたとき、当該所定の位置に対応する上側LCD22上の位置(当該位置を基準とした所定領域)が画面の手前方向に所定量だけ飛び出すように、画像が変化する。なお、画像の変化の仕方は、アイテムに応じて予め定められている。例えば、選択されたスタンプアイテムの種類によってはタッチ位置に応じた位置が画面の手前方向に飛び出すように、画像が変化してもよいし、選択されたペンアイテムの種類によってはタッチ位置に応じた位置が画面の奥方向に凹むように、画像が変化してもよい。
図5は、本実施形態に係る画像処理が行われた場合に画面に表示される画像の一例を示す図である。図5の上側LCD22には、背景画像としての平面画像が予め表示される。例えば、ユーザがペンアイテムを選択した場合において、下側LCD12の画面上をタッチしたままタッチペンを当該画面に沿って移動させると、タッチペンの軌跡に対応する領域が画面の手前方向に飛び出すように、上側LCD22の画像が変化する。図5の下画面(下側LCD12)で示す破線は、ユーザがタッチペンで描いた軌跡を示す。なお、実際には当該軌跡は下側LCD12に表示されない。図5に示すように、下画面に描かれた軌跡に応じて、当該軌跡に対応する上側LCD22の領域Rが画面の手前方向に飛び出すように表示される。すなわち、ユーザが下画面に軌跡を描いた場合に上側LCD22を見ると、上側LCD22に表示された背景画像のうち領域Rが画面の手前方向に飛び出し、当該領域R以外の部分は画面上に表示されるように、見える。領域Rは、例えば、下画面に描かれた軌跡に対応する部分が最も手前方向に飛び出し、当該軌跡に対応する部分から領域Rの外縁に向かってなだらかな斜面を形成した山のような形状に見える。このように、本実施形態では、ユーザの操作に応じて、上側LCD22に表示された画像が画面に垂直な方向(手前又は奥方向)に変形するように見える。すなわち、初期的に上側LCD22に表示された平面画像が、ユーザの操作によって立体画像(立体視画像)に変化する。また、初期的に上側LCD22に表示された立体画像が、ユーザの操作によって画面の手前方向又は奥方向に変形してもよい。
以下、原画像は、立体画像(立体視画像)ではなく平面画像であるものとして、上側LCD22に表示される画像の変化について、説明する。初期的には、上側LCD22には、平面画像が表示される。すなわち、初期的には、同一の原画像が、右目用画像および左目用画像として上側LCD22に表示され、上側LCD22の視差バリアを通して、ユーザの右目に当該右目用画像が、ユーザの左目に当該左目用画像が視認される。初期的には、右目用画像および左目用画像は同一の画像であるため、ユーザが上側LCD22を見ると、ユーザは平面画像として認識する。そして、上述したユーザによる下側LCD12の画面に対するタッチ操作に応じて、視差の異なる右目用画像および左目用画像が生成されて、生成後の2つの画像が上側LCD22に表示される。すなわち、下側LCD12の画面(タッチパネル13)に対するタッチ操作に応じて、右目用画像および左目用画像は互いに異なるように変化して、上側LCD22に表示される。例えば、下側LCD12上のタッチ位置に対応する位置の画素が左方向に移動することにより右目用画像が生成され、下側LCD12上のタッチ位置に対応する位置の画素が右方向に移動することにより左目用画像が生成される。これによって、タッチ位置に対応する位置に視差が生じ、上側LCD22にこれら2つの画像が表示された場合、当該タッチ位置に対応する位置が、画面の手前方向に飛び出すように見える。なお、初期的には、上側LCD22の表示モードが平面表示モードに設定され、1つの原画像が上側LCD22に表示されてもよい。この場合、ユーザによるタッチパネル13への操作に応じて、右目用画像および左目用画像が生成されるとともに、上側LCD22の表示モードが立体表示モードに設定されてもよい。
図6は、上側LCD22に初期的に表示される原画像の一例を示す図である。なお、図6に示す原画像は単なる一例であり、原画像としては、内側撮像部24によって撮像された画像(写真)、外側撮像部23の左右何れかによって撮像された画像、外側撮像部23で撮像された立体画像、仮想空間に設定された仮想カメラで仮想空間を撮像した画像(立体画像又は平面画像)、予め用意された写真やCG画像等が用いられてもよい。
本実施形態では、原画像に対して高さマップが設定され、高さマップと原画像とを用いて右目用画像および左目用画像が生成される。図7は、下側LCD12に対するタッチ操作が行われる前の高さマップを示す図である。図7に示すように、原画像には高さマップが設定される。ここで、高さマップは、原画像の各画素について、上側LCD22の画面に垂直な方向の位置を示すマップである。原画像の縦方向の画素数をn、横方向の画素数をmとすると、高さマップは、n×m(行×列)の行列として表わされる。図7に示すように、高さマップの各要素(高さ)hijは、初期的に0に設定される。なお、iは1〜n、jは1〜mの範囲の整数である。高さマップの各要素hijには、原画像の各画素(i,j)の高さ情報が0〜255(8bit)の範囲で格納される。ここで、高さ情報とは、各画素が上側LCD22の画面の手前方向に飛び出す度合いを示す情報である。具体的には、上側LCD22の画面の手前方向に飛び出す度合いは、16段階(−8〜7の範囲)で示される。飛び出し度合いは、高さ情報の値を16で割って、16段階(−8〜7の範囲)で表わしたときの値である。例えば、飛び出し度合いが0の場合(すなわち、高さ情報の値が128)、当該画素は画面上に表示される(画面上に存在するように見える)。また、例えば、飛び出し度合いが正(例えば、7。すなわち、高さ情報の値が239〜255)の場合、当該画素は画面より手前に表示される(画面から手前方向に飛び出しているように見える)。また、例えば、飛び出し度合いが負(例えば、−8。すなわち、高さ情報の値が0〜15)の場合、当該画素は画面より奥方向に表示される(画面の奥方向の位置に存在しているように見える)。
ここで、「高さ」は、画面に垂直な方向における原画像の画素の表示位置(ユーザが感じる表示位置)を示す。「画素Aは画素Bよりも高い(又は低い)」、あるいは、「画素Aの高さは画素Bの高さより大きい(又は小さい)」というときは、ユーザが上側LCD22の画面に表示された画素Aおよび画素Bを見た場合に、画素Aが画素Bよりも画面の手前方向(又は奥方向)に位置すると感じることを示す。すなわち、「高さ」は、上側LCD22の画面からユーザに向かう方向の距離を示す。「高さ」が正の画素は、ユーザは当該画素が画面から飛び出したように感じ、「高さ」が負の画素は、ユーザは当該画素が画面よりも凹んだように感じる。「高さ(高さ情報)」は、「深度(深度情報)」としても表現される。「深度」は、画面の奥方向における原画像の画素の表示位置(ユーザが感じる表示位置)を示す。「画素Aは画素Bよりも深い」、あるいは、「画素Aの深度は画素Bの深度より大きい」というときは、ユーザが上側LCD22の画面に表示された画素Aおよび画素Bを見た場合に、画素Aが画素Bよりも画面の奥方向に位置すると感じることを示す。逆に、「画素Aは画素Bよりも浅い」、あるいは、「画素Aの深度は画素Bの深度より小さい」というときは、ユーザが上側LCD22の画面に表示された画素Aおよび画素Bを見た場合に、画素Aが画素Bよりも画面の手前方向に位置すると感じることを示す。「深度」が正の画素は、ユーザは当該画素が画面よりも凹んだように感じ、「深度」が負の画素は、ユーザは当該画素が画面から飛び出したように感じる。すなわち、「高さ」が正であることは「深度」が負であることに対応し、「高さ」が負であることは「深度」が正であることに対応する。以下では、画面に垂直な方向の表示位置を示す用語を「高さ」で統一して説明することとする。
なお、高さマップの各要素に格納される高さ情報は、例えば、16bitで表されてもよい。また、上側LCD22の画面の手前方向に飛び出す度合いは、16段階に限らず、高さマップの各要素の上限値と同じ段階で示されてもよい。また、高さ情報は必ずしも2次元配列に保存される必要はなく、例えば1次元配列に保存されてもよい(高さ情報はマップ状に保存される必要はない)。
図8は、下側LCD12(タッチパネル13)に対するタッチ操作が行われた後の高さマップの一例を示す図である。なお、図8では、各要素hijの高さ情報が16段階(−8〜7の範囲)で示されている(すなわち、飛び出し度合いが示されている)が、実際には各高さhijの値は0〜255の範囲で表される。図8に示すように、下側LCD12に対するタッチ操作が行われると、高さマップが更新され、各要素hijには、正の値や負の値が格納される。各要素hijは、下側LCD12に対して行われたタッチ操作に応じて、更新される。すなわち、各要素hijは、下側LCD12に対するタッチ位置と、タッチ操作が行われたときに選択されていたアイテムの種類とに応じて、正又は負の値に変化する。例えば、原画像を画面から飛び出させるためのペンアイテムが選択されている場合に、下側LCD12の中心付近がユーザによってタッチされたとき、高さマップの各要素のうち中心の要素(例えば、h44)が、所定の値(例えば、1)だけ増加する。なお、選択されたアイテムによっては、要素hijは、所定の値(例えば、1)だけ減少する。また、選択されたアイテムによっては、タッチパネル13が検出したタッチ位置に応じた所定領域内の複数の要素hijが、所定の値だけ増加又は減少する。また、タッチパネル13は、所定の時間間隔に1回の割合でタッチ位置を検出するため、所定期間同じ位置がタッチされ続けると、その位置に対応する高さhijの値は、タッチが継続された期間に応じて大きく(又は小さく)なる。
次に、上述のように上側LCD22に表示された画像を変化させるための画像処理の流れについて、図9を用いて説明する。図9は、左目用画像を生成する場合の画像処理の流れを示す図である。図9では、図8に示す高さマップのi行目の各要素hijに対応する、原画像のi行目の各画素(i,j)に対する処理の流れが示されている。
まず、左目用画像を生成するためのルールについて簡単に説明した後、図9を参照して、具体的な処理の流れについて確認する。左目用画像は、以下に示すルールに従って各画素がコピーされることによって生成される。なお、以下では、原画像をコピー元、生成される左目用画像をコピー先と呼ぶことがある。
(1)高さhijが正の値の場合、コピー元の画素(i,j)を右方向にコピーし、高さhijが負の場合、コピー元の画素(i,j)を左方向にコピーする。
(2)コピー元の画素の高さhijと比較して、コピー先の画素の高さの方が低い(小さい)場合のみコピーする。
(3)コピー元の画素の位置から離れるごとに、コピー元の画素の高さhijが正ならhijをディクリメント、負ならインクリメントする。
(4)コピー元の画素よりコピー先の画素が高い(高さが大きい)場合、その画素についての(1)および(2)の比較およびコピー処理を終了する。
(5)コピー元の画素の高さhijが0になるまで(1)〜(4)の処理を繰り返し、hijが0になると、その画素(i,j)についての(1)および(2)の比較およびコピーを終了する。
(6)画素(i,j)についての(1)〜(5)の処理が終了すると、画素(i,j+1)について同様の処理を行い、すべての画素について同様の処理を行う。
まず、図9(A)に示すように、高さマップのi行目の高さ配列hiが、コピー先の高さ配列hsにコピーされる。また、原画像の(i行目の)1列目の画素(起点画素)が、コピー先画像の(i行目の)1列目の画素としてコピーされる。以降、原画像のi行目の1列目の画素についての処理が行われ、さらにm列目の画素についての処理が行われることにより、コピー先画像(左目用画像)のi行目が生成される。
具体的には、図9(B)に示すように、コピー元の高さhi1の値がディクリメント(高さhi1を16段階に換算して1減算)されて更新される(hi1=4)。そして、コピー先の高さhs配列の2番目(hs(2)=1)の値と、コピー元の高さhi1(=4)とが比較される。このとき、図9(C)に示すように、コピー先の高さhs(2)が、コピー元の高さhi1よりも小さい(低い)場合、コピー元の画素(i,1)をコピー先の画素(i,2)にコピーするとともに、コピー元の高さhi1もコピー先のhs(2)にコピーする。すなわち、図9(C)に示す例では、コピー先の高さhs(2)(=1)がコピー元の高さhi1(=4)より低いため、左目用画像の画素(i,2)が原画像の画素(i,1)と同じ画素値になるとともに、高さhs(2)もhi1の値に上書きされる。
次に、同様の処理がコピー元画素(i,1)について実行される。すなわち、hi1(=4)がディクリメントされてhi1=3となり、hi1(=3)と、hs(3)(=2)とが比較されて、コピー先画素(i,3)がコピー元画素(i,1)にコピーされる。このようなコピー元画素(i,1)に対する比較、コピー処理が、hi1=0となるまで繰り返される。この場合においても、コピー先の高さhs(p)(p=1〜6)が、コピー元の高さhi1よりも低い場合のみ、コピーされる。なお、コピー先の高さhs(p)が、コピー元の高さhi1よりも高い(大きい)場合は、コピー元画素(i,1)に対する比較、コピー処理を終了する。すなわち、コピー元画素(i,1)に対する比較、コピー処理は、最大で当初の高さhi1+1回(=5+1)行われる。このような処理が、コピー元画素(i,1)について実行されると、図9(D)のようになる。
図9(D)に示す例では、コピー先の高さhs(p)がコピー元の高さhi1よりも高い画素が存在しないため、コピー先画素(i,1)からコピー先画素(i,6)までが、コピー元画素(i,1)にコピーされる。
次に、コピー元画素(i,2)について、同様の処理が行われる。すなわち、図9(E)に示すように、コピー元画素(i,2)の高さhi2とコピー先の高さhs(2)とが比較される。図9(E)に示す場合では、hi2=1、hs(2)=4であり、コピー先の高さhs(2)がコピー元の高さhi2より高いため、コピーを行わずにコピー元画素(i,2)に対す処理は終了する。次に、コピー元画素(i,3)についても、同様の処理が行われるが、コピー先の高さhs(3)(=3)がコピー元の高さhi3(=2)より高いため、コピーを行わずにコピー元画素(i,3)に対す処理は終了する。以降のコピー元画素についても同様の処理が行われ、コピー元画素(i,6)に対する処理が行われた後、図9(F)に示すコピー元画素(i,7)に対する処理が行われる。
図9(F)に示すように、コピー元画素(i,7)に対する処理では、上述と同様に、まず、コピー元の高さhi7とコピー先の高さhs(7)とが比較される。コピー元の高さhi7とコピー先の高さhs(7)とは等しく、コピー先の高さhs(7)はコピー元の高さhi7よりも低くないため、通常であればコピーされない。しかしながら、コピー元画素(i,7)に対する処理が開始された時点、すなわち、図9(E)に示す時点では、コピー先画素(i,7)は未だコピーされていないため、コピー先画素(i,7)にコピー元画素(i,7)をコピーする。すなわち、コピー元の高さhi7とコピー先の高さhs(7)とが等しく、かつ、コピー先画素(i,7)が未だコピーされていない場合、コピー先画素(i,7)はコピーされて、図9(F)のようになる。図9(F)に示すように、コピー元の高さhi7は0ではなく、かつ、コピー先の高さhs(7)はコピー元の高さhi7よりも高くないため、コピー元画素(i,7)に対する処理は継続される。
次に、図9(G)に示すように、高さhi7がインクリメント(1加算)されて、コピー先画素(i,6)の高さhs(6)とコピー元画素(i,7)の高さhi7とが比較される。このように、高さhi7が負の場合は、高さhi7がインクリメントされて(hi7=−2)、コピー先画素(i,7)より左側のコピー先画素(i,6)とコピー元画素(i,7)との比較が行われる。図9(G)に示す場合では、コピー先画素(i,6)の高さhs(6)の方がコピー元画素(i,7)よりも高いため、当該コピー元画素(i,7)に対する処理は終了する。
次に、コピー元画素(i,8)に対する処理が行われる。コピー元画素(i,8)に対する処理も、コピー元画素(i,7)に対する処理と同様に行われる。すなわち、コピー先画素(i,8)は未だコピーされていないため、コピー元画素(i,8)をコピー先画素(i,8)にコピーする。次に、コピー元の高さhi8がインクリメントされて、コピー先画素(i,7)の高さhs(7)と比較される(図9(H))。コピー先の高さhs(7)はコピー元の高さhi8より低いため、コピー元画素(i,8)をコピー先画素(i,7)にコピーする。そして、高さhi8は0であるため、コピー元画素(i,8)に対する処理が終了し、図9(H)に示すようになる。
このように、左目用画像のi行目が生成される。上述のような処理がすべての行について行われることによって、左目用画像が生成される。
なお、右目用画像については、上述と同様の流れで生成されるが、コピーする方向が左目用画像とは反対である。すなわち、左目用画像の場合は、ある画素の高さが正のときはその画素は右方向にコピーされ、ある画素の高さが負のときはその画素は左方向にコピーされた。これに対して、右目用画像を生成する場合では、ある画素の高さが正のときはその画素は左方向にコピーされ、ある画素の高さが負のときはその画素は右方向にコピーされる。このように、左目用画像と右目用画像のコピーする方向が違う理由は、次に示す通りである。
図10は、原画像50から左目用画像51および右目用画像52が生成されて、合成される様子を示す図である。図10に示すように、原画像50のある領域Rが画面の手前方向に飛び出しているようにユーザに認識させるためには、原画像50の当該領域Rに対応する左目用画像51の領域R1は右側に、原画像50の当該領域Rに対応する右目用画像52の領域R2は左側に位置する必要がある。左目用画像51と右目用画像52とを合成して、上側LCD22に表示すると、上側LCD22の視差バリアを介して、ユーザの左目には左目用画像51が、右目には右目用画像52が視認される。ユーザの左目に視認される左目用画像51の領域R1は、ユーザの右目に視認される右目用画像52の領域R2よりも右側に表示される。すなわち、原画像50の領域Rには視差が生じ、ユーザは当該領域Rが画面の手前方向に位置しているように感じる。逆に、原画像50のある領域Rが画面の奥方向に位置しているようにユーザに認識させるためには、原画像50の当該領域Rに対応する左目用画像51の領域R1は左側に、原画像50の当該領域Rに対応する右目用画像52の領域R2は右側に位置する必要がある。従って、原画像の領域Rに含まれる各画素を左目用画像については右側に、右目用画像については左側に移動させることにより、領域Rを画面の手前方向に飛び出させることができる。また、原画像の領域Rに含まれる各画素を左目用画像については左側に、右目用画像については右側に移動させることにより、領域Rを画面の奥方向に移動させることができる。なお、左目用画像および右目用画像の何れか一方のみ画素が移動されてもよい。
また、本実施形態では、原画像の各画素(i,j)を単に横方向に移動させるだけではなく、当該画素の高さhijの値に応じた横方向の範囲で、当該画素をコピーする。例えば、図9に示す例では、高さが5であるコピー元画素(i,1)については、横方向に6画素以内にある画素に、コピー元画素(i,1)をコピーする(図9(D)参照)。このように、高さマップの値に応じた範囲で画素がコピーされることにより、より自然に原画像を画面の手前方向または奥方向に変形させることができる。
(画像処理の詳細)
次に、図11から図16を参照して、本実施形態に係る画像処理の詳細について説明する。まず、画像処理の際にメインメモリ32およびVRAM313(以下、これらを総称してRAMと呼ぶことがある)に記憶される主なデータについて説明する。図11は、ゲーム装置10のRAMのメモリマップを示す図である。図11に示されるように、RAMには、原画像データ71、高さマップデータ72、アイテムデータ73、タッチ位置データ74、左目用画像データ75、右目用画像データ76、コピー先高さデータ77等が記憶される。これらのデータの他、メインメモリ32には、上記画像処理を実行するプログラムや各操作ボタン14A〜E、G〜H、アナログスティック15に対する操作を示すデータ等が記憶される。
原画像データ71は、上側LCD22に初期的に表示される画像のデータである。すなわち、原画像データ71は、本実施形態に係る画像処理が行われる前の画像のデータである。原画像データ71は、予め用意されてもよいし、ゲーム装置10の各撮像部(23、24)によって撮像された画像データであってもよい。
高さマップデータ72は、上記高さマップを示すデータである。具体的には、高さマップデータ72はn×mの2次元配列である。当該配列のi行j列の要素は、hijと表現される。高さマップの各要素には、0〜255の値が格納される。なお、後述するフローチャートでは、高さマップの各要素hijを16段階(−8〜7)で換算した場合の値が示されている。
アイテムデータ73は、原画像に対する操作を行うためのアイテムを示すデータであり、現在選択されているアイテムを示すデータである。
タッチ位置データ74は、タッチパネル13が検出したタッチ位置の座標値を示すデータである。
左目用画像データ75は、上側LCD22に表示される左目用画像のデータである。右目用画像データ76は、上側LCD22に表示される右目用画像のデータである。
コピー先高さデータ77は、コピー先画像(左目用画像または右目用画像)の各画素の高さを示すデータである。具体的には、コピー先高さデータ77は、上述した左目用画像または右目用画像を生成するために用いられるコピー先画像の高さ配列hsであり、1次元配列である。
(メインフローの説明)
次に、本実施形態に係る画像処理の詳細について、図12から図16を参照して説明する。図12は、本実施形態に係る画像処理の詳細を示すメインフローチャートである。ゲーム装置10の電源が投入されると、ゲーム装置10の情報処理部31(CPU311)は、図示しないROMに記憶されている起動プログラムを実行し、これによってメインメモリ32等の各ユニットが初期化される。次に、不揮発性メモリ(データ保存用内部メモリ35等;コンピュータ読み取り可能な記憶媒体)に記憶された画像処理プログラムがRAM(具体的には、メインメモリ32)に読み込まれ、情報処理部31のCPU311によって当該プログラムの実行が開始される。また、情報処理部31は、上側LCD22に初期的に表示される原画像の画像データを不揮発性メモリ(データ保存用内部メモリ35等)から読み出してRAMに記憶するとともに、上側LCD22に原画像を表示させる。図12に示すフローチャートは、以上の処理が完了した後に情報処理部31(CPU311又はGPU312)によって行われる処理を示すフローチャートである。なお、図12では、本発明に直接関連しない処理については記載を省略する。また、図12に示すステップS1〜ステップS6の処理ループは、1フレーム(例えば1/30秒又は1/60秒。フレーム時間という)毎に繰り返し実行される。
まず、ステップS1において、情報処理部31は、マップ更新処理を実行する。マップ更新処理は、ユーザの操作に応じて高さマップを更新する処理である。ステップS1におけるマップ更新処理の詳細は、図13を参照して後述する。ステップS1の後、情報処理部31は、次にステップS2の処理を実行する。
ステップS2において、情報処理部31は、左目用画像生成処理を実行する。左目用画像生成処理は、原画像からユーザの左目に視認される左目用画像を生成する処理である。ステップS2における左目用画像生成処理の詳細は、図14を参照して後述する。ステップS2の後、情報処理部31は、次にステップS3の処理を実行する。
ステップS3において、情報処理部31は、右目用画像生成処理を実行する。右目用画像生成処理は、原画像からユーザの右目に視認される右目用画像を生成する処理である。ステップS3の処理は、ステップS2の処理と同様の処理である。ステップS3における右目用画像生成処理の詳細は、図15を参照して後述する。ステップS3の後、情報処理部31は、次にステップS4の処理を実行する。
ステップS4において、情報処理部31は、エンボス処理を実行する。エンボス処理は、生成された左目用画像および右目用画像に、エンボス加工を行う処理である。ここで、エンボス処理とは、画像に影を付する処理であり、画像をより立体的に表示させるための処理である。ステップS4におけるエンボス処理の詳細は、図16を参照して後述する。ステップS4の後、情報処理部31は、次にステップS5の処理を実行する。
ステップS5において、情報処理部31は、出力処理を実行する。ここでは、上記各処理によって生成された左目用画像と右目用画像とを上側LCD22に出力する処理である。すなわち、情報処理部31は、ステップS4においてエンボス処理がされた左目用画像と、ステップS4においてエンボス処理がされた右目用画像とを上側LCD22に出力する。具体的には、情報処理部31は、右目用画像について縦方向に1ライン分の画素データを出力する処理と、左目用画像について縦方向に1ライン分の画素データを出力する処理とを交互に繰り返すことによって、右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に1ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側LCD22の画面に表示される。そして、上側LCD22の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側LCD22の画面には立体画像が表示される。なお、ステップS5では、後述するように、エンボス処理がされた左目用画像および右目用画像において、影が付されない部分が切り取られて出力される。次に、情報処理部31は、ステップS6の処理を実行する。
ステップS6において、情報処理部31は、画像処理を終了するか否かを判定する。情報処理部31は、例えば、ユーザによって所定の操作がなされたか否か(例えば、セレクトボタン14J等が押されたか否か)を判定する。判定結果が否定の場合、情報処理部31は、次にステップS1の処理を実行する。判定結果が肯定の場合、情報処理部31は、図12に示す画像処理を終了する。
次に、上述した各処理の詳細について説明する。
(マップ更新処理)
図13は、マップ更新処理(ステップS1)の詳細を示すフローチャートである。まず、ステップS11において、情報処理部31は、アイテムの選択操作が行われたか否かを判定する。情報処理部31は、アイテムの選択操作に用いられる予め定められた各操作ボタンに対する操作が行われた場合、アイテムの選択操作が行われたと判定する。例えば、セレクトボタン14Jが押された場合、下側LCD12にアイテム選択のための画像が表示される。そして、表示された複数のアイテムのうちの何れかがタッチ操作や十字ボタン14A等によって選択された場合、情報処理部31は、アイテムの選択操作が行われたと判定する。判定結果が肯定の場合、情報処理部31は、次にステップS12の処理を実行する。一方、判定結果が否定の場合、情報処理部31は、次にステップS13の処理を実行する。なお、アイテムの選択は、十字ボタン14A、操作ボタン14C〜14D、アナログスティック15に対する操作によって行われてもよい。
ステップS12において、情報処理部31は、アイテムを選択し、現在選択されているアイテムを示すアイテムデータ73として、RAMに記憶する。次に、情報処理部31は、ステップS13の処理を実行する。
ステップS13において、情報処理部31は、タッチパネル13に対するタッチ操作が検出されたか否かを判定する。タッチパネル13に対するタッチ操作が検出されると、情報処理部31は、検出したタッチ位置をタッチ位置データ74として、RAMに記憶する。判定結果が肯定の場合、情報処理部31は、次にステップS14の処理を実行する。一方、判定結果が否定の場合、情報処理部31は、マップ更新処理を終了し、図12に示すステップS2の処理を実行する。
ステップS14において、情報処理部31は、現在選択されているアイテムとステップS13で検出されたタッチ位置とに基づいて、高さマップを更新する。具体的には、情報処理部31は、RAMを参照して、タッチ位置に対応する高さマップの要素hijを、現在選択されているアイテムに応じて更新する。例えば、画像を飛び出させるために用いられるペンアイテムが選択されている場合、検出されたタッチ位置に対応する原画像の画素(i,j)の高さhijを、所定の値(例えば、16段階に換算して1)だけ増加させる。また、例えば、画像を凹ませるために用いられるスタンプアイテムが選択されている場合、検出されたタッチ位置を基準とした所定領域内の複数の画素の高さを、所定の値(例えば、16段階で1)だけ減少させる。このようにして、情報処理部31は、選択されているアイテムとタッチ位置とに応じて、RAMに記憶された高さマップデータ72を更新する。次に、情報処理部31は、マップ更新処理を終了し、図12に示すステップS2の処理を実行する。
(左目用画像生成処理)
次に、ステップS2における左目用画像生成処理について説明する。図14は、左目用画像生成処理(ステップS2)の詳細を示すフローチャートである。まず、ステップS21において、情報処理部31は、変数iおよび変数jにそれぞれ1を設定する。変数iは、1〜n(nは原画像の縦方向の総画素数)の範囲で、変数jは、1〜m(mは原画像の横方向の総画素数)の範囲で変化する。次に、情報処理部31は、ステップS22の処理を実行する。
ステップS22において、情報処理部31は、RAMに記憶された高さマップデータ72を参照して、ステップS1で更新された高さマップのi行目の高さ配列hiをコピー先の高さ配列hsにコピーする。ここで、高さ配列hiは、更新された高さマップのi行目のm個の要素hi1〜himを有する配列である。また、配列hsは、左目用画像のi行目を生成するために用いられるバッファである。ステップS22の処理は、図9(A)に示す、高さマップhiをコピー先hsにコピーする処理である。次に、情報処理部31は、ステップS23の処理を実行する。
ステップS23において、情報処理部31は、変数pに0を設定する。ここで変数pは、原画像の各画素をコピーする回数をカウントするためのカウンタである。ステップS23からステップS34の処理が繰り返し行われることによって、原画像のi行目のすべての画素(1〜m)についての比較およびコピー処理が行われる。次に、情報処理部31は、ステップS24の処理を実行する。
ステップS24において、情報処理部31は、高さマップの要素hijが0より大きいか否かを判定する。すなわち、情報処理部31は、高さマップの要素hijを16段階で換算し、16段階でした後のhijの値が、0より大きいか否かを判定する。なお、以降の図14および図15の説明では、高さマップの各要素を16段階で換算した後の処理について説明する。hijが0より大きい場合、情報処理部31は、次にステップS25の処理を実行する。一方、hijが0以下の場合、情報処理部31は、次にステップS29の処理を実行する。
ステップS25において、情報処理部31は、コピー元の高さhijがコピー先の高さhs(j+p)よりも小さいか否かを判定する。ここでは、コピー先画素(i,j+p)がコピー元画素(i,j)よりも高いか否かを判定する処理である(図9(B)参照)。hs(j+p)は、コピー先の高さ配列hsのj+p番目の要素を示す。ステップS25では、コピー元画素(i,j)の高さhijが正であるため、コピー元画素(i,j)は右方向に比較およびコピーされる(図9(B)〜図9(D)参照)。判定結果が否定の場合、情報処理部31は、次にステップS26の処理を実行する。一方、判定結果が肯定の場合、情報処理部31は、次にステップS33の処理を実行する。
ステップS26において、情報処理部31は、コピー元画素(i,j)をコピー先画素(i,j+p)にコピーするとともに、コピー元高さhijをコピー先高さhs(j+p)にコピーする。ステップS26の処理は、hij>hs(j+p)、又は、hij=hs(j+p)が成立する場合に実行される。コピー先画素(i,j+p)がコピー元画素(i,j)よりも低い場合、すなわち、hij>hs(j+p)が成立する場合、コピー元画素(i,j)をコピー先画素(i,j+p)にコピーするとともに、hijをhs(j+p)にコピーする(図9(C)参照)。なお、ステップS26において、hijとhs(j+p)が等しく、かつ、コピー先画素(i,j+p)が未だコピーされていない場合は、コピー元画素(i,j)をコピー先画素(i,j+p)にコピーする。一方、ステップS26において、hij=hs(j+p)であっても、コピー先画素(i,j+p)が既にコピーされている場合、コピー先画素(i,j+p)はコピーされない(図9(F)参照)。情報処理部31は、次にステップS27の処理を実行する。
ステップS27において、情報処理部31は、hijが0と等しいか否かを判定する。すなわち、情報処理部31は、コピー元画素の高さhijが0になったか否かを判定する。判定結果が否定の場合、情報処理部31は、次にステップS28の処理を実行する。一方、判定結果が肯定の場合、情報処理部31は、次にステップS33の処理を実行する。
ステップS28において、情報処理部31は、変数pに1を加算するとともに、高さhijをディクリメントする。ステップS28では、高さhijが正であるため、情報処理部31は、高さhijをディクリメントする。次に、情報処理部31は、ステップS25の処理を再び実行することで、次のコピー先画素(右側の画素)の高さと比較する(図9(C)参照)。
一方、ステップS24の判定結果が否定の場合、情報処理部31は、ステップS29の処理を実行する。ステップS29において、情報処理部31は、コピー元の高さhijがコピー先の高さhs(j−p)よりも小さいか否かを判定する。ステップS29の処理は、ステップS25と同様の処理であり、コピー先画素(i,j−p)がコピー元画素(i,j)よりも高いか否かを判定する処理である(図9(G)参照)。hs(j−p)は、コピー先の高さ配列hsのj−p番目の要素を示す。ステップS29では、コピー元画素(i,j)の高さhijが負であるため、コピー元画素(i,j)は左方向に比較およびコピーされる(図9(G)〜図9(H)参照)。判定結果が否定の場合、情報処理部31は、次にステップS30の処理を実行する。一方、判定結果が肯定の場合、情報処理部31は、次にステップS33の処理を実行する。
ステップS30において、情報処理部31は、コピー元画素(i,j)をコピー先画素(i,j−p)にコピーするとともに、コピー元高さhijをコピー先高さhs(j−p)にコピーする。ステップS30の処理は、ステップS26の処理と同様の処理である。具体的には、ステップS30の処理は、hij>hs(j−p)、又は、hij=hs(j−p)が成立する場合に実行される。コピー先画素(i,j−p)がコピー元画素(i,j)よりも低い場合、すなわち、hij>hs(j−p)が成立する場合、コピー元画素(i,j)をコピー先画素(i,j−p)にコピーするとともに、hijをhs(j−p)にコピーする(図9(H)参照)。なお、ステップS30において、hijとhs(j−p)が等しく、かつ、コピー先画素(i,j−p)が未だコピーされていない場合は、コピー元画素(i,j)をコピー先画素(i,j−p)にコピーする。一方、ステップS30において、hij=hs(j−p)であっても、コピー先画素(i,j−p)が既にコピーされている場合、コピー先画素(i,j−p)はコピーされない。情報処理部31は、次にステップS31の処理を実行する。
ステップS31において、情報処理部31は、hijが0と等しいか否かを判定する。すなわち、情報処理部31は、コピー元画素の高さhijが0になったか否かを判定する。判定結果が否定の場合、情報処理部31は、次にステップS32の処理を実行する。一方、判定結果が肯定の場合、情報処理部31は、次にステップS33の処理を実行する。
ステップS32において、情報処理部31は、変数pに1を加算するとともに、高さhijをインクリメントする。ステップS32では、高さhijが負であるため、情報処理部31は、高さhijをインクリメントする。次に、情報処理部31は、ステップS29の処理を再び実行することで、次のコピー先画素(左側の画素)の高さと比較する(図9(G)参照)。
一方、ステップS33において、情報処理部31は、変数jに1を加算する。変数jがインクリメントされることによって、i行目のj列目の画素に対する処理を終了して、j+1列目の画素についての処理が実行される。次に、情報処理部31は、ステップS34の処理を実行する。
ステップS34において、情報処理部31は、変数jが横方向の総画素数mより大きいか否かを判定する。判定結果が肯定の場合、情報処理部31は、次にステップS35の処理を実行する。一方、判定結果が否定の場合、情報処理部31は、再びステップS23の処理を実行し、i行目の次の列(j+1)の画素についての比較、コピー処理を実行する。
ステップS35において、情報処理部31は、変数iに1を加算するとともに、変数jに1を設定する。変数iがインクリメントされて、変数jが初期化されることにより、i行目の次のi+1行目の処理が行われる。次に、情報処理部31は、ステップS36の処理を実行する。
ステップS36において、情報処理部31は、情報処理部31は、変数iが縦方向の総画素数nより大きいか否かを判定する。判定結果が否定の場合、情報処理部31は、再びステップS22の処理を実行し、i+1行目の各画素についての比較、コピー処理を実行する。一方、判定結果が肯定の場合、情報処理部31は、図14に示す左目用画像生成処理を終了して、図12に示すステップS3の処理を実行する。
(右目用画像生成処理)
次に、ステップS3における右目用画像生成処理について説明する。右目用画像生成処理では、ステップS1の処理で更新された高さマップと、原画像とを用いて、右目用画像が生成される。すなわち、ステップS2の左目用画像生成処理の過程では、上述のように高さマップの各要素hijが更新されるが(インクリメント又はディクリメントされるが)、実際には高さマップ自体は左目用画像生成処理の過程において更新されずに、メインメモリ32に保存されている。ステップS3における右目用画像生成処理では、このメインメモリ32に保存された(ステップS1の処理で生成された)高さマップが用いられる。図15は、右目用画像生成処理(ステップS3)の詳細を示すフローチャートである。右目用画像生成処理は、上述した左目用画像生成処理と同様であるが、コピーする方向が右目用画像生成処理と左目用画像生成処理とでは異なる。図15では、図14と同様の処理については、同じステップ番号を付し、説明を省略する。図15の処理においては、図14に示すステップS25およびステップS26が、ステップS40およびステップS41にそれぞれ置き換えられ、ステップS29およびステップS30が、ステップS42およびステップS43にそれぞれ置き換えられる。
ステップS40において、情報処理部31は、コピー元の高さhijがコピー先の高さhs(j−p)よりも小さいか否かを判定する。ここでは、コピー先画素(i,j−p)がコピー元画素(i,j)よりも高いか否かを判定する処理である。ステップS40では、生成される画像が右目用画像であって、かつ、コピー元画素(i,j)の高さhijが正であるため、コピー元画素(i,j)は左方向に比較およびコピーされる。判定結果が否定の場合、情報処理部31は、次にステップS41の処理を実行する。一方、判定結果が肯定の場合、情報処理部31は、次にステップS33の処理を実行する。
ステップS41において、情報処理部31は、コピー元画素(i,j)をコピー先画素(i,j−p)にコピーするとともに、コピー元高さhijをコピー先高さhs(j−p)にコピーする。ステップS41では、ステップS26とコピーする方向が反対である。すなわち、変数pは正の整数であるため、例えばp=1の場合は、ステップS41ではコピー先画素(i,j−1)がコピー元画素(i,j)にコピーされる。すなわち、コピー先画素(i,j)の左隣のコピー先画素(i,j−1)が、コピー元画素(i,j)によってコピーされる。一方、p=1の場合において、ステップS26ではコピー先画素(i,j)の右隣のコピー先画素(i,j+1)が、コピー元画素(i,j)によってコピーされる。ステップS41の後、情報処理部31は、ステップS27の処理を実行する。
一方、ステップS42において、情報処理部31は、コピー元の高さhijがコピー先の高さhs(j+p)よりも小さいか否かを判定する。ステップS42の処理は、コピー先画素(i,j+p)がコピー元画素(i,j)よりも高いか否かを判定する処理である。ステップS42では、生成される画像が右目用画像であって、かつ、コピー元画素(i,j)の高さhijが負であるため、コピー元画素(i,j)は右方向に比較およびコピーされる。判定結果が否定の場合、情報処理部31は、次にステップS43の処理を実行する。一方、判定結果が肯定の場合、情報処理部31は、次にステップS33の処理を実行する。
ステップS43において、情報処理部31は、コピー元画素(i,j)をコピー先画素(i,j+p)にコピーするとともに、コピー元高さhijをコピー先高さhs(j+p)にコピーする。ステップS43では、ステップS30とコピーする方向が反対である。変数pは正の整数であるため、例えばp=1の場合は、ステップS43ではコピー先画素(i,j+1)がコピー元画素(i,j)にコピーされる。すなわち、コピー先画素(i,j)の右隣のコピー先画素(i,j+1)が、コピー元画素(i,j)によってコピーされる。ステップS43の後、情報処理部31は、ステップS31の処理を実行する。
(エンボス処理)
次に、ステップS4におけるエンボス処理について説明する。ステップS4におけるエンボス処理では、ステップS1で生成された高さマップを用いて、エンボス処理が行われる。具体的には、ステップS4におけるエンボス処理では、ステップS1で生成された高さマップを用いてグレースケールのテクスチャ画像を生成し、左目用画像および右目用画像に対して生成したテクスチャ画像を貼り付ける。これにより、左目用画像および右目用画像に対して影を付し、より立体感のある画像を生成する。図16は、エンボス処理(ステップS4)の詳細を示すフローチャートである。
まず、ステップS51において、情報処理部31は、影を付ける方向を決定する。影を付ける方向とは、仮想的な光源から照射された光の方向であり、当該仮想的な光源からの光を上側LCD22に表示される立体画像に照射した場合にできる影の方向である。本実施形態では、影を付ける方向は、予め定められた方向であり、例えば、画面の左下から左上に向かう方向である。次に、情報処理部31は、ステップS52の処理を実行する。
ステップS52において、情報処理部31は、変数iおよび変数jにそれぞれ1を設定する。変数iは、1〜n(nは原画像の縦方向の総画素数)の範囲で、変数jは、1〜m(mは原画像の横方向の総画素数)の範囲で変化する。次に、情報処理部31は、ステップS53の処理を実行する。
ステップS53において、情報処理部31は、ステップS1の処理で生成された高さマップを用いて、貼り付けるテクスチャ画像の各画素のグレースケール値を算出する。具体的には、情報処理部31は、以下の計算を行う。
Xij=Aij+128−B (1)
Aijは、高さマップのi行目のj列目の高さの値であり、0〜255の範囲の値である。Bは、AijからステップS51で決定された影を付ける方向の先にある高さマップの要素の値であり、0〜255の範囲の値である。Bは、例えば、Aijから右方向に2画素分、上方向に2画素分移動した先の高さマップの要素の値である。図17は、エンボス処理におけるグレースケール値の算出について説明するための図である。すなわち、図17に示すように、Bは、高さマップの要素Aijの右斜め上に存在する要素であり、例えば、i=4,j=4の場合では、A44から右方向に2画素、上方向に2画素移動した先の高さマップの要素h26である。なお、図17では、高さマップの各要素の値が16段階(−8〜7)で示されているが、実際には、各要素の値は0〜255の範囲である。また、Bに相当する画素が存在しない場合(例えば、X11)、情報処理部31は、例えば、Xij=0に設定する。Bに相当する画素が存在しない部分は、実際には表示されない。次に、情報処理部31は、ステップS54の処理を実行する。
ステップS54において、情報処理部31は、変数jをインクリメントする(変数jに1を加える)。次に、情報処理部31は、ステップS55の処理を実行する。
ステップS55において、情報処理部31は、変数jが横方向の総画素数mより大きいか否かを判定する。判定結果が肯定の場合、情報処理部31は、次にステップS56の処理を実行する。一方、判定結果が否定の場合、情報処理部31は、ステップS53の処理を再び実行する。ステップS53〜ステップS55の処理が繰り返し行われることによって、高さマップのi列目の各要素に対する処理が行われる。
ステップS56において、情報処理部31は、変数iをインクリメントする(変数iに1を加える)とともに、変数jに1を設定する。次に、情報処理部31は、ステップS57の処理を実行する。
ステップS57において、情報処理部31は、変数iが縦方向の総画素数nより大きいか否かを判定する。判定結果が肯定の場合、情報処理部31は、次にステップS58の処理を実行する。一方、判定結果が否定の場合、情報処理部31は、ステップS53の処理を再び実行する。ステップS53〜ステップS57の処理が繰り返し行われることによって、左目用画像および右目用画像にマッピングされる(適用される)グレースケールテクスチャのグレースケール値が算出される。
ステップS58において、情報処理部31は、ステップS2およびステップS3で生成された左目用画像および右目用画像のそれぞれに、グレースケールテクスチャを適用する。具体的には、情報処理部31は、左目用画像および右目用画像に対して、ステップS51〜ステップS57の処理によって生成されたグレースケールの画像(テクスチャ画像)をマッピングする。ここで、テクスチャ画像とは、テクスチャマッピングに用いられる画像であり、上記要素Xij(i=1〜n、j=1〜m)を各画素とする画像である。ステップS58においては、テクスチャ画像の各画素は左目用画像および右目用画像の各画素に対応して、テクスチャ画像が適用される。すなわち、テクスチャ画像のi行目のj列目の画素Xijは、左目用画像のi行目のj列目の画素に一致するようにして、左目用画像にテクスチャ画像が適用される。左目用画像および右目用画像にグレースケールテクスチャを適用することによって、左目用画像および右目用画像に影が付される。なお、テクスチャ画像の各画素を左目用画像および右目用画像の各画素に対応させてテクスチャ画像を適用した場合、左目用画像および右目用画像には影が付されない部分が生じる。影が付されない部分は、ステップS53において、式(1)のBに相当する画素が存在しない部分であり、例えば、Xij=0に設定される部分である。
これによって、高さが高い部分(立体画像として上側LCD22に表示された場合に上側LCD22の画面の手前方向に盛り上がる部分)は明るく、高さが低い部分(立体画像として上側LCD22に表示された場合に上側LCD22の画面の奥方向にへこむ部分)は暗く表示される。このため、表示される画像はより立体感のある画像となる。ステップS58の処理の後、情報処理部31は、エンボス処理を終了し、図12に示すステップS5の出力処理を実行する。
なお、ステップS5の出力処理においては、上述のように、エンボス処理がされた左目用画像および右目用画像のうち、影が付されない部分を除く部分が上側LCD22に出力される。従って、上側LCD22に表示される画像は、原画像の一部(例えば、影を付する方向が左下から右上に向かう方向である場合、原画像の上端および右端部分)が切り取られた画像となる。
以上のように、本実施形態では、原画像のある画素について、当該画素に対応する高さの値に応じた横方向の位置までの範囲で、当該画素をコピーした。例えば、原画像のコピー元画素(i,1)の高さが5である場合、コピー先画素(i,1)を横方向に5画素分だけずらしたコピー先画素(i,6)の範囲内で、原画像のコピー元画素(i,1)をコピーした。そして、これによって生成された左目用画像および右目用画像が上側LCD22に表示されることにより、立体画像が表示された。
すなわち、本実施形態では、原画像のある画素(i,j)の画像データ(RGB値)を、当該画素(i,j)に対応するコピー先画像の画素(i,j)から当該画素に対応する高さhijに応じて横方向にずらした位置の画素(i,j+hij)(又は、(i,j−hij))までの範囲にコピーした。そして、原画像の各画素について同様のコピー処理を行うことによって、左目用画像および右目用画像が生成された。
より具体的には、本実施形態では、原画像のある画素(i,j)について、以下の処理を行った。
(1)原画像の当該画素(i,j)に対応する高さの値hijが正(hij>0)の場合(当該画素の高さが画面の手前方向の位置を示す場合)
・左目用画像を生成する場合には、原画像の当該画素(i,j)に対応するコピー先画像の画素(i,j)から高さhijに応じた量だけ右方向にずらした位置の画素(i,j+hij)までの範囲に、原画像の画素(i,j)をコピーする。
・右目用画像を生成する場合には、原画像の当該画素(i,j)に対応するコピー先画像の画素(i,j)から高さhijに応じた量だけ左方向にずらした位置の画素(i,j−hij)までの範囲に、原画像の画素(i,j)をコピーする。
(2)原画像の当該画素(i,j)に対応する高さの値hijが負(hij<0)の場合(当該画素の高さが画面の奥方向の位置を示す場合)
・左目用画像を生成する場合には、原画像の当該画素(i,j)に対応するコピー先画像の画素(i,j)から高さhijに応じた量だけ左方向にずらした位置の画素(i,j−hij)までの範囲に、原画像の画素(i,j)をコピーする。
・右目用画像を生成する場合には、原画像の当該画素(i,j)に対応するコピー先画像の画素(i,j)から高さhijに応じた量だけ右方向にずらした位置の画素(i,j+hij)までの範囲に、原画像の画素(i,j)をコピーする。
(3)(1)及び(2)において、原画像の画素(i,j)をコピー先画像の画素(i,j+p)にコピーする際、原画像の画素の高さとコピー先画素の高さとを比較し、原画像の画素の方がコピー先画像の画素よりも高い場合のみコピーを行う。
(4)(3)の比較の際、コピー先画素(i,j+p)の位置が原画像の画素(i,j)の位置から離れることに応じて、原画像の画素を画面に近づけるようにして当該原画像の画素の高さhijを変更する。
(5)原画像の画素の方がコピー先画像の画素よりも低い場合、当該原画像の画素に対する処理を終了し、原画像の次の画素に対する(1)〜(4)の処理を行う。
このように各画素に対応する位置から当該画素の高さの値に応じて横方向にずらした位置以内の範囲で(各画素の位置から各画素の高さの値に応じたずらし量を上限にして横方向にずらした位置まで)、各画素をコピーすることにより、よりリアルな立体画像を表示することができる。すなわち、ユーザが実空間に存在する物体(立体)を見る場合、ユーザの視線方向(奥行き方向)にある当該物体の部分Xはユーザの手前方向にある当該物体の部分Yによって隠れてしまい、ユーザの目には見えないことがある。ユーザに見えないはずの部分が見えると、違和感のある画像となる。本実施形態では、各画素を高さの値に応じた横方向の位置までの範囲にコピーすることにより、見えないはずの部分をユーザに見せないようにしてより自然な立体視画像を表示することができる。すなわち、本実施形態では、画面上のある部分が曲面を描いて画面に垂直な方向に次第に盛り上がったり、凹んだりする様子や、画面上のある部分が急激に突出するように飛び出したり、凹んだりする様子を立体視で表示する場合であっても、違和感なく自然に表示することができる。具体的には、ユーザが指定した部分を画面から飛び出させたり、あるいは、凹ませたりすることができる。例えば、撮像部(23、24)で撮像された画像(写真)や所定の画像の一部の領域をユーザが指定した場合、ユーザが指定した部分をその他の部分に影響が及ばないようにして飛び出させることができる。
図18は、本実施形態における処理によって生成される左目用画像の各画素の見え方を示す概念図である。図18では、画素81〜83が柱状で表されており、各画素を表す柱の高さは各画素の高さを示している。図18に示すように、画素81を左目の位置から見た場合、左目には画素81が見えるが、画素82は、画素81によって隠れるため見えない。本実施形態の処理では、画素81の高さに応じた右方向の範囲まで当該画素81をコピーする。このため、画素82は、画素81によって上書きされるため、表示されない。これは、実空間における見え方と一致する。すなわち、左目の位置から見た場合、実空間において画素82に相当する物体のある部分は、画素81に相当する物体のある部分によって見えない。従って、本実施形態の処理によって生成された左目用画像と、右目用画像とを用いて立体画像を表示すると、より自然に見える。
また、本実施形態では、例えば、ある画素の高さが正であって、かつ、左目用画像を生成する場合において、当該画素を右方向にコピーするに従って、当該画素の高さをディクリメントした(ステップS28)。また、例えば、ある画素の高さが負であって、かつ、左目用画像を生成する場合において、当該画素を左方向にコピーするに従って、当該画素の高さをインクリメントした(ステップS28)。すなわち、コピー先画像の画素が、原画像の画素の位置から離れることに応じて、当該原画像の画素を画面に近づけるようにして当該原画像の画素の高さを変更した。これにより、より自然な立体画像を表示することができる。
すなわち、コピー先画像の画素が、原画像の画素から横方向に離れることに応じて当該原画像の画素の高さをディクリメント又はインクリメントしない場合、例えば、相対的に高い画素(例えば、高さが5)の右方向にある複数の画素(5つ)が、当該高い画素によって上書きされてしまう。このため、相対的に高い画素の影響が強く出てしまい、生成される左右の画像は、高い部分ほど横方向に伸びたような画像となる。従って、原画像の画素から横方向に離れることに応じて当該原画像の画素の高さをディクリメント又はインクリメントすることにより、高い画素の影響を小さくし、より自然な立体画像を表示することができる。図18は、このことを概念的に示している。図18に示すように、例えば、左目用画像を生成する場合、左目の位置から画素82は画素81によって隠れるが、画素83は隠れない。すなわち、画素81が画素82よりも高いために左目の位置からは画素82は見えないが、画素82と画素83とが同じ高さであっても、画素83は画素81から離れているため見える。本実施形態の処理において、コピー先画像の画素が、原画像の画素の位置から離れることに応じて、当該原画像の画素を画面に近づけるようにして当該原画像の画素の高さを変更すること(高さをディクリメント又はインクリメントすること)は、このことに対応している。従って、本実施形態では、より自然な立体画像を表示することができる。
また、上述のように、生成された左目用画像および右目用画像に対して、エンボス処理を行うことによって、より立体感のある画像を生成することができる。すなわち、各画像にエンボス処理を行うことによって影を付すため、当該影の効果によって、より立体感のある画像となる。
また、生成された高さマップを直接エンボス処理に用いるため、処理を簡素化することができる。すなわち、高さマップの各要素にはグレースケール値が格納されるため、エンボス処理を行う際にそのまま高さマップを利用することができる。実空間においても高い部分には光がよりあたり、低い部分には影ができるため、各画素の高さを格納した高さマップは、そのままエンボス処理に用いることができる。
以上のように、本実施形態では、原画像を変形することなく、高さマップを用いて原画像を画面に垂直な方向に違和感なく変形させることができる。原画像を変形する必要がないため、例えば、原画像として3次元の仮想オブジェクトを撮像した画像が表示される場合、当該オブジェクトを実際に変形させて、仮想ステレオカメラで当該オブジェクトを撮像する必要がない。3次元オブジェクトを変形させる場合は、当該3次元オブジェクトを表す3次元モデルの形状を変化させる必要があり、複雑な計算が必要となる。しかしながら、本実施形態では、3次元モデル自体を変化させることなく、一度撮像した画像を変化させることにより、当該3次元オブジェクトを変形させることができる。
(変形例)
なお、本実施形態では、原画像について、画素単位で処理を行うことによって、左目用画像および右目用画像が生成された。他の実施形態では、原画像の部分領域(少なくとも1の画素を含む領域)単位で処理を行うことによって、左目用画像および右目用画像が生成されてもよい。すなわち、他の実施形態では、原画像の各部分領域について、各部分領域に対応する高さの値に応じた横方向の位置までの範囲で、各部分領域の画像データをコピーしてもよい。例えば、高さマップは、原画像の4画素分を1つの要素として、原画像の4画素毎の高さを記憶したマップであってもよい(この場合、高さマップは、n/2×m/2のマトリクスとなる)。この場合、4画素を1つの部分領域として、各部分領域について上述した処理と同様の処理が行われる。すなわち、高さマップに記憶されたある部分領域に対応する高さに応じて、当該部分領域が横方向にコピーされる。具体的には、4画素によって構成される部分領域の高さが5である場合、当該部分領域は最大で5部分領域だけ右又は左方向にコピーされる。コピーされる方向は、上述と同様、生成する画像が左目用画像か右目用画像かによって定められ、また、高さが正か負かによっても定められる。なお、部分領域は、4つの画素に限らず、任意の数の画素によって構成されてもよい。
また、本実施形態では、例えば左目用画像を生成する場合であって画素の高さが正の場合、原画像の画素(i,j)に対応する位置から右方向に当該画素(i,j)の画像データをコピーした。他の実施形態では、ユーザの目の位置や表示画面の大きさ、原画像の画素の表示画面上の位置等に応じて、例えば左目用画像を生成する場合であって画素の高さが正の場合、原画像の画素に対応する位置から左方向に当該画素の画像データをコピーしてもよい。
図19Aは、実空間に存在するオブジェクトとユーザの視点とを空間の上方から見た図である。図19Aでは、ユーザの左目110と、右目120と、オブジェクト100と、オブジェクト101とが示されている。また、直線111および直線112は、左目110によって視認される範囲(視界)を示し、左目110には直線111と直線112とで挟まれた領域が見える(実際の人間の目の視界は、図19Aに示すよりも広いがここでは説明のため図19Aに示す範囲を人間の目の視界とする)。同様に、また、直線121および直線122は、右目120によって視認される範囲(視界)を示し、右目120には直線121と直線122とで挟まれた領域が見える。また、115は、オブジェクト100および101の移動前の位置における左目110に見える横方向の範囲を示し、125は、オブジェクト100および101の移動前の位置における右目120に見える横方向の範囲を示す。また、オブジェクト100’は、オブジェクト100がユーザの手前方向に移動した後を示し、オブジェクト101’は、オブジェクト101がユーザの手前方向に移動した後を示す。さらに、116は、移動後のオブジェクト100’および101’の位置における左目110に見える横方向の範囲を示し、126は、移動後のオブジェクト100’および101’の位置における右目120に見える横方向の範囲を示す。
図19Bは、オブジェクトの移動前後の左目110に見える横方向の範囲を示す図であり、左目110に映し出される像における各オブジェクトの横方向の位置を示す図である。図19Bに示すように、オブジェクト100がユーザの手前方向に移動した場合、左目110に映し出される像においては、移動後のオブジェクト100’は、移動前のオブジェクト100の位置から右方向に移動する。このことは、上述したように、左目用画像を生成する場合において、画素の高さが正の場合に、当該画素を右方向にコピーしたことと対応している。一方、図19Bに示すように、オブジェクト101がユーザの手前方向に移動した場合、左目110に映し出される像においては、移動後のオブジェクト101’は、移動前のオブジェクト101の位置から左方向に移動する。また、図19Cは、オブジェクトの移動前後の右目120に見える横方向の範囲を示す図であり、右目120に映し出される像における各オブジェクトの横方向の位置を示す図である。図19Cに示すように、移動前後のオブジェクトの位置を比較すると、右目120に映し出される像においては、移動後のオブジェクト100’および101’ともに、移動前のオブジェクト100および101の位置から左方向に移動する。このように、目の位置やオブジェクトの位置に応じて、当該オブジェクトがユーザの手前方向に移動した場合に、目に映る像におけるオブジェクトの位置が左右方向に変化する。
このようなことを、上述した画像処理に適用することが可能である。画面との距離に対して表示画面が大きい場合(例えば、映画のスクリーンや大画面のテレビ等を比較的近い距離で見た場合)、ユーザの位置や、表示するオブジェクトの表示位置等によっては、左右の画像を生成する際にコピーする方向を変化させてもよい。すなわち、他の実施形態では、生成する画像(左目用画像又は右目用画像)と画素の高さとに応じてコピーする方向を定める場合、表示画面の大きさや表示画面とユーザとの距離、表示画面上の位置等によってもコピーする方向を定めてもよい。
また、本実施形態では、原画像の画素を横方向にコピーする場合、原画像の画素の高さとコピー先画像の画素の高さと比較して、原画像の画素の高さの方が高い場合にコピーし、コピー先画像の画素の方が高い場合は、コピーを終了して、原画像の次の画素に対する処理を行った。すなわち、原画像の画素の方が、コピー先画像の画素よりも画面の奥方向に位置する場合、原画像の当該画素に対する処理を終了して、原画像の次の画素に対する処理を行った。他の実施形態では、コピー先画像の画素の方が高い場合であっても、当該原画像の画素に対する比較、コピー処理を継続してもよい。
また、本実施形態では、予め用意された平面画像が原画像として用いられた。他の実施形態では、原画像としては任意の画像(例えば、予め用意された写真、内側撮像部24によって撮像された画像(写真)、外側撮像部23で撮像された立体画像(立体写真)、予め用意された立体画像、仮想空間に存在する3次元の任意のオブジェクトを平面表示した画像、仮想空間に存在する3次元の任意のオブジェクトを仮想ステレオカメラで撮像した立体画像等)が用いられてもよい。例えば、原画像として立体画像(すなわち、原画像としての左目用画像および原画像としての右目用画像)が用いられる場合、左目用画像と高さマップとを用いて、新たな左目用画像が生成され、右目用画像と高さマップとを用いて、新たな右目用画像が生成される。具体的には、例えば、元の立体画像に対する高さマップが1つ設定される。当該高さマップの各要素は、初期的に0に設定される。ユーザの操作によって、高さマップが更新される。更新された高さマップを用いて、上述した左目用画像生成処理によって原画像としての左目用画像から新たな左目用画像が生成される。同様に、更新された高さマップを用いて、上述した右目用画像生成処理によって原画像としての右目用画像から新たな左目用画像が生成される。一方、元の立体画像は、更新前の左目用画像と更新前の右目用画像とが合成された画像であり、これらの画像は視差を有している。更新された高さマップを用いて画像生成処理を行うことにより、各画像のある部分の視差はより大きくなったり、また、ある部分の視差は小さくなったり、元々視差のなかった部分に視差が生じたりする。このようにして、元の立体画像について、ある部分を画面の手前方向に変化させたり、ある部分を画面の奥方向に変化させたりすることができる。
また、本実施形態では、高さマップはすべての画素についての高さを記憶したが、他の実施形態では、高さマップは一部の画素についての高さを記憶してもよい。例えば、ユーザによって操作された領域に対応する画素についての高さを記憶した高さマップが用いられてもよい。例えば、下側LCD12の右下領域のみがタッチされた場合、当該タッチされた部分に含まれる画素の高さを記憶した高さマップが生成される。そして、生成された高さマップを用いて、当該タッチされた部分に含まれる画素が上述の処理に従ってコピーされ、それ以外の部分に含まれる画素は位置を維持してコピーされる。これによって、原画像から左目用画像および右目用画像が生成されてもよい。また、上述した実施形態のように各画素(部分領域でもよい)に対応した高さマップが生成された場合において、高さマップの各要素の値が0でない部分のみについて、上述のような横方向にコピーするコピー処理が実行され、高さマップの要素の値が0の部分については、そのままコピーされることによって、左右の画像が生成されてもよい。
また、本実施形態では、ステップS1で更新された高さマップを用いて、左目用画像および右目用画像に対してエンボス処理を行った。他の実施形態では、左目用画像生成処理の過程で生成される高さマップを用いて、左目用画像のテクスチャ画像が生成されてもよい。同様に、右目用画像生成処理の過程で生成される高さマップを用いて、右目用画像のテクスチャ画像が生成されてもよい。すなわち、ステップS2における左目用画像生成処理では、左目用画像の高さマップが生成され、ステップS3における右目用画像生成処理では、右目用画像の高さマップがそれぞれ生成される。従って、他の実施形態では、それぞれに生成される高さマップを用いて、エンボス処理に用いられるテクスチャ画像が生成されてもよい。これにより、各画像に応じたテクスチャ画像が生成されるため、表示される立体画像はより立体感のある画像となる。
また、本実施形態では、タッチパネル13によるタッチ位置に基づいて高さマップが更新された。他の実施形態では、タッチパネルの替わりに、他の座標指示手段、例えばタッチパッド、が用いられてもよい。また、他の実施形態では、タッチパネル等の座標指示手段に限らず、十字ボタン14Aやアナログスティック15等、任意の入力手段による入力に応じて、高さマップが生成されてもよい。例えば、上側LCD22にポインタが表示されて、当該ポインタを十字ボタン14Aやアナログスティック15等を用いて操作した場合に、高さマップが更新されて、上側LCD22に表示された画像が変化してもよい。
また、高さマップは、必ずしもユーザの操作によって生成される必要はなく、例えば、予め用意されてもよいし、ゲーム装置10において行なわれるゲーム(当該ゲーム装置10が所定のゲームプログラムを実行することによって行なわれるゲーム)の状況に応じて生成されてもよい。例えば、ゲーム装置10において行なわれるゲームとして、仮想3次元空間内で、プレイヤキャラクタ(プレイヤによって操作される)と、敵キャラクタ(ゲーム装置10によって操作される)とが対戦するゲームが想定される。仮想3次元空間に存在する仮想ステレオカメラによって撮像された画像が上側LCD22に表示されることによって、プレイヤキャラクタおよび敵キャラクタは、立体的に上側LCD22に表示される。この場合において、敵キャラクタがプレイヤキャラクタに対して攻撃を行った場合、プレイヤキャラクタの体の一部が画面に垂直な方向に変形する。このようなゲームを想定した場合に、上記高さマップを用いて、キャラクタの体の一部を変形させてもよい。これにより、キャラクタのモデルを変形させることなく、高さマップを用いて変形することができるため、処理負荷を低減することができる。
また、他の実施形態では、高さマップは予め用意されてもよい。例えば、所定の原画像が用意されて、当該原画像に対して、予め用意された複数の高さマップが適用されることにより、当該原画像を画面に垂直な方向に変化させた様々な立体画像を表示することができる。例えば、所定のキャラクタオブジェクトが登場するゲームがゲーム装置10によって行われる場合、キャラクタオブジェクトの基本画像が複数種類用意され、さらに、高さマップが複数用意されている場合、これらの組み合わせで様々な表示態様のキャラクタオブジェクトを表現することができる。これにより、ゲームに登場するオブジェクトの基本画像の種類や数を削減することも可能であり、ゲーム製作に要する期間を短縮したり、コストを削減したりすることも可能である。
また、他の実施形態では、下側LCD12に原画像が表示されて、当該原画像を操作するようにして、タッチ操作が行われてもよい。この場合において、下側LCD12に表示される原画像は、ユーザによるタッチ操作に応じて上側LCD22に表示される画像と同様に変化してもよいし、変化しなくてもよい。
また、他の実施形態では、上述した画像処理の方法は、ゲーム装置に限らず任意の電子機器、例えば、PDA(Personal Digital Assistant)や携帯電話、パーソナルコンピュータ、3Dテレビ等に適用されてもよい。
また、本実施形態では、表示装置として裸眼で立体視画像を表示可能なLCDが用いられた。他の実施形態では、時分割方式や偏向方式、アナグリフ方式(赤青眼鏡方式)などの眼鏡を用いて立体表示を行うような場合でも、本発明は適用可能である。
また、他の実施形態では、有線や無線等で通信可能に接続された複数の情報処理装置が各処理を分担して処理することにより、上述した画像処理方法を実現する画像処理システムとして構築されてもよい。例えば、情報処理装置が立体表示可能な表示装置と入力装置とに有線又は無線で接続され、入力装置に対する入力によって高さマップが更新されてもよい。そして、情報処理装置が高さマップを用いて上記画像処理を行い、画像処理が行われた画像が表示装置に表示されることによって、立体画像が表示されてもよい。
また、上記実施形態においては、ゲーム装置10の情報処理部31が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われた。他の実施形態においては、上記処理の一部又は全部は、ゲーム装置10が備える専用回路によって行われてもよい。
10 ゲーム装置
11 下側ハウジング
12 下側LCD
13 タッチパネル
14 操作ボタン
15 アナログスティック
16 LED
21 上側ハウジング
22 上側LCD
23 外側撮像部
23a 外側撮像部(左)
23b 外側撮像部(右)
24 内側撮像部
25 3D調整スイッチ
26 3Dインジケータ
28 タッチペン
31 情報処理部
311 CPU
312 GPU
32 メインメモリ

Claims (12)

  1. 立体視画像を生成する画像処理装置のコンピュータにおいて実行される画像処理プログラムであって、前記コンピュータを、
    所定の原画像を取得する原画像取得手段と、
    前記原画像の部分領域ごとの深度を示す深度情報を前記原画像の部分領域毎に対応させて記憶する深度情報記憶手段と、
    前記原画像のある部分領域について当該部分領域に対応した位置から当該部分領域の深度情報に応じた量だけ左右方向にずらした位置までの範囲に当該部分領域の画像データをコピーする処理を、前記原画像の部分領域毎に行うことによって、左目用画像および右目用画像を生成する画像生成手段として機能させる、画像処理プログラム。
  2. 前記深度情報記憶手段は、入力手段からの入力に応じて、前記深度情報を更新する、請求項1に記載の画像処理プログラム。
  3. 前記入力手段は指示座標検出手段であり、
    前記深度情報記憶手段は、前記指示座標検出手段によって検出された座標に対応する前記原画像の部分領域の深度情報を更新する、請求項2に記載の画像処理プログラム。
  4. 前記画像生成手段は、
    生成する画像であるコピー先画像の部分領域の深度情報を記憶し、
    前記原画像の部分領域の深度情報とコピー先画像の部分領域の深度情報とを比較し、前記原画像の部分領域の方が前記コピー先画像の部分領域よりも深度が小さいか否かを判定する判定手段と、
    前記判定手段によって前記原画像の部分領域の方が前記コピー先画像の部分領域よりも深度が小さいと判定された場合に、当該原画像の部分領域を前記コピー先画像の部分領域にコピーするとともに、当該原画像の部分領域の深度情報を前記コピー先画像の部分領域の深度情報にコピーするコピー手段と、
    前記判定手段による判定とコピー手段によるコピーとを前記原画像の部分領域毎に実行する制御手段とを含む、請求項1に記載の画像処理プログラム。
  5. 前記画像生成手段は、
    生成する画像であるコピー先画像の部分領域の深度情報を記憶し、
    前記原画像のある部分領域を指定して、当該原画像の部分領域に対応した前記コピー先画像の部分領域を指定する制御手段と、
    前記原画像の部分領域に対応する深度情報と、前記制御手段によって指定されたコピー先画像の部分領域の深度情報とを比較し、当該原画像の部分領域の方が当該コピー先画像の部分領域よりも深度が小さいか否かを判定する判定手段と、
    前記判定手段による判定結果が肯定の場合、前記原画像の部分領域を前記コピー先画像の部分領域にコピーするとともに、当該原画像の部分領域の深度情報を前記コピー先画像の部分領域の深度情報にコピーするコピー手段とを含み、
    前記制御手段は、
    前記原画像の部分領域の深度情報が表示画面に対して手前方向の位置を示す場合において、前記左目用画像を生成するときは、現在指定しているコピー先画像の部分領域の右側の部分領域を次のコピー先画像の部分領域として指定し、前記右目用画像を生成するときは、現在指定しているコピー先画像の部分領域の左側の部分領域を次のコピー先画像の部分領域として指定して、前記判定手段および前記コピー手段による処理を実行させ、
    前記原画像の部分領域の深度情報が前記表示画面に対して奥方向の位置を示す場合において、前記左目用画像を生成するときは、現在指定しているコピー先画像の部分領域の左側の部分領域を次のコピー先画像の部分領域として指定し、前記右目用画像を生成するときは、現在指定しているコピー先画像の部分領域の右側の部分領域を次のコピー先画像の部分領域として指定して、前記判定手段および前記コピー手段による処理を実行させ、
    前記原画像の部分領域に対する処理が終了した場合、前記原画像の次の部分領域に対する処理を実行する、請求項1に記載の画像処理プログラム。
  6. 前記制御手段は、前記判定手段によって前記原画像の部分領域の方が前記コピー先画像の部分領域よりも深度が大きいと判定された場合、当該原画像の部分領域に対する処理を終了して、前記原画像の次の部分領域に対する処理を実行する、請求項5に記載の画像処理プログラム。
  7. 前記コピー先画像の部分領域が、コピー元の前記原画像の部分領域の位置から離れることに応じて、当該原画像の部分領域を前記表示画面に近づけるようにして当該原画像の部分領域に対応する深度情報を変更する深度変更手段として、前記コンピュータを更に機能させ、
    前記判定手段は、前記深度変更手段によって変更された前記原画像の部分領域に対応する深度情報と、前記コピー先画像の部分領域の深度情報とを比較し、変更後の当該原画像の部分領域の方が当該コピー先画像の部分領域よりも深度が小さいか否かを判定する、請求項5に記載の画像処理プログラム。
  8. 前記各部分領域の深度情報と、当該各部分領域の位置から所定方向の位置に存在する部分領域の深度情報とを用いて、明暗情報を有するグレースケール画像を生成し、前記左目用画像および前記右目用画像に生成したグレースケール画像をテクスチャマッピングにより合成するエンボス処理手段として、前記コンピュータを更に機能させる、請求項1に記載の画像処理プログラム。
  9. 前記深度情報記憶手段は、前記深度情報としてグレースケール値を記憶し、
    前記エンボス処理手段は、前記深度情報記憶手段に記憶された前記各部分領域のグレースケール値と、当該各部分領域の位置から所定方向の位置に存在する部分領域のグレースケール値との差分に応じて、前記グレースケール画像を生成する、請求項7に記載の画像処理プログラム。
  10. 立体視画像を生成する画像処理装置であって、
    所定の原画像を取得する原画像取得手段と、
    前記原画像の部分領域ごとの深度を示す深度情報を前記原画像の部分領域毎に対応させて記憶する深度情報記憶手段と、
    前記原画像のある部分領域について当該部分領域に対応した位置から当該部分領域の深度情報に応じた量だけ左右方向にずらした位置までの範囲に当該部分領域の画像データをコピーする処理を、前記原画像の部分領域毎に行うことによって、左目用画像および右目用画像を生成する画像生成手段とを備える、画像処理装置。
  11. 立体視画像を生成する画像処理方法であって、
    所定の原画像を取得する原画像取得ステップと、
    前記原画像の部分領域ごとの深度を示す深度情報を前記原画像の部分領域毎に対応させて記憶する深度情報記憶ステップと、
    前記原画像のある部分領域について当該部分領域に対応した位置から当該部分領域の深度情報に応じた量だけ左右方向にずらした位置までの範囲に当該部分領域の画像データをコピーする処理を、前記原画像の部分領域毎に行うことによって、左目用画像および右目用画像を生成する画像生成ステップとを含む、画像処理方法。
  12. 立体視画像を生成する画像処理システムであって、
    所定の原画像を取得する原画像取得手段と、
    前記原画像の部分領域ごとの深度を示す深度情報を前記原画像の部分領域毎に対応させて記憶する深度情報記憶手段と、
    前記原画像のある部分領域について当該部分領域に対応した位置から当該部分領域の深度情報に応じた量だけ左右方向にずらした位置までの範囲に当該部分領域の画像データをコピーする処理を、前記原画像の部分領域毎に行うことによって、左目用画像および右目用画像を生成する画像生成手段とを含む、画像処理システム。
JP2010164347A 2010-07-21 2010-07-21 画像処理プログラム、画像処理装置、画像処理システム、および、画像処理方法 Active JP5660818B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010164347A JP5660818B2 (ja) 2010-07-21 2010-07-21 画像処理プログラム、画像処理装置、画像処理システム、および、画像処理方法
US13/156,682 US8791946B2 (en) 2010-07-21 2011-06-09 Computer-readable storage medium having stored therein image processing program, image processing apparatus, image processing system, and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010164347A JP5660818B2 (ja) 2010-07-21 2010-07-21 画像処理プログラム、画像処理装置、画像処理システム、および、画像処理方法

Publications (2)

Publication Number Publication Date
JP2012027619A true JP2012027619A (ja) 2012-02-09
JP5660818B2 JP5660818B2 (ja) 2015-01-28

Family

ID=45493226

Family Applications (1)

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

Country Status (2)

Country Link
US (1) US8791946B2 (ja)
JP (1) JP5660818B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8509600B2 (en) * 2011-08-03 2013-08-13 Qatar Foundation Copy detection
US9639979B2 (en) * 2014-12-18 2017-05-02 Here Global B.V. Method and apparatus for generating a composite image based on an ambient occlusion
KR102489266B1 (ko) * 2018-08-13 2023-01-17 엘지전자 주식회사 모바일 디바이스 및 그 제어 방법
US11625574B2 (en) * 2019-10-28 2023-04-11 MakinaRocks Co., Ltd. Method for generating abnormal data

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0546076A (ja) * 1991-08-13 1993-02-26 Furuno Electric Co Ltd デジタルマツプジエネレータ
JPH06194602A (ja) * 1992-12-24 1994-07-15 Nippon Telegr & Teleph Corp <Ntt> 両眼立体視装置
JPH07175930A (ja) * 1993-12-21 1995-07-14 Canon Inc 画像処理装置
JPH07200870A (ja) * 1993-12-28 1995-08-04 Sharp Corp 立体視用3次元画像生成装置
JPH07249114A (ja) * 1994-03-08 1995-09-26 Alps Shiya:Kk 地図の作製方法および装置
JPH10239634A (ja) * 1997-02-27 1998-09-11 Minolta Co Ltd 立体映像表示装置
JPH11501188A (ja) * 1995-12-19 1999-01-26 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ 視差深度依存画素シフト
JP2003219139A (ja) * 2002-01-17 2003-07-31 Seiko Epson Corp 画像処理装置、画像処理方法、印刷装置、画像フィルタプログラムおよび画像フィルタプログラムを記録した媒体
JP2006185033A (ja) * 2004-12-27 2006-07-13 Victor Co Of Japan Ltd 擬似立体画像生成装置及び擬似立体画像生成プログラム並びに擬似立体画像表示システム
JP2008015606A (ja) * 2006-07-03 2008-01-24 Tokyo Univ Of Science 画像判読支援動画生成方法、プログラム、及び画像判読支援動画生成装置
JP2009296272A (ja) * 2008-06-04 2009-12-17 Sony Corp 画像符号化装置及び画像符号化方法
JP2010154422A (ja) * 2008-12-26 2010-07-08 Casio Computer Co Ltd 画像処理装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7283654B2 (en) * 2004-08-26 2007-10-16 Lumeniq, Inc. Dynamic contrast visualization (DCV)
WO2009013682A2 (en) * 2007-07-26 2009-01-29 Koninklijke Philips Electronics N.V. Method and apparatus for depth-related information propagation
JP2010244245A (ja) * 2009-04-03 2010-10-28 Sony Corp 情報処理装置、情報処理方法、及び、プログラム
CA2772607A1 (en) * 2009-09-01 2011-03-10 Prime Focus Vfx Services Ii Inc. System and process for transforming two-dimensional images into three-dimensional images

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0546076A (ja) * 1991-08-13 1993-02-26 Furuno Electric Co Ltd デジタルマツプジエネレータ
JPH06194602A (ja) * 1992-12-24 1994-07-15 Nippon Telegr & Teleph Corp <Ntt> 両眼立体視装置
JPH07175930A (ja) * 1993-12-21 1995-07-14 Canon Inc 画像処理装置
JPH07200870A (ja) * 1993-12-28 1995-08-04 Sharp Corp 立体視用3次元画像生成装置
JPH07249114A (ja) * 1994-03-08 1995-09-26 Alps Shiya:Kk 地図の作製方法および装置
JPH11501188A (ja) * 1995-12-19 1999-01-26 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ 視差深度依存画素シフト
JPH10239634A (ja) * 1997-02-27 1998-09-11 Minolta Co Ltd 立体映像表示装置
JP2003219139A (ja) * 2002-01-17 2003-07-31 Seiko Epson Corp 画像処理装置、画像処理方法、印刷装置、画像フィルタプログラムおよび画像フィルタプログラムを記録した媒体
JP2006185033A (ja) * 2004-12-27 2006-07-13 Victor Co Of Japan Ltd 擬似立体画像生成装置及び擬似立体画像生成プログラム並びに擬似立体画像表示システム
JP2008015606A (ja) * 2006-07-03 2008-01-24 Tokyo Univ Of Science 画像判読支援動画生成方法、プログラム、及び画像判読支援動画生成装置
JP2009296272A (ja) * 2008-06-04 2009-12-17 Sony Corp 画像符号化装置及び画像符号化方法
JP2010154422A (ja) * 2008-12-26 2010-07-08 Casio Computer Co Ltd 画像処理装置

Also Published As

Publication number Publication date
US20120019520A1 (en) 2012-01-26
JP5660818B2 (ja) 2015-01-28
US8791946B2 (en) 2014-07-29

Similar Documents

Publication Publication Date Title
US9001192B2 (en) Storage medium having stored therein stereoscopic image display program, stereoscopic image display device, stereoscopic image display system, and stereoscopic image display method
JP5541974B2 (ja) 画像表示プログラム、装置、システムおよび方法
JP5739674B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、および、情報処理方法
JP5739671B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法
JP5149939B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法
JP5814532B2 (ja) 表示制御プログラム、表示制御装置、表示制御システム及び表示制御方法
US20120293549A1 (en) Computer-readable storage medium having information processing program stored therein, information processing apparatus, information processing system, and information processing method
JP2012068977A (ja) ゲーム処理をするためのプログラム、装置、システムおよび方法
US9049424B2 (en) Recording medium storing display control program for controlling display capable of providing stereoscopic display, display system, display control method, and display
JP5725902B2 (ja) 画像処理プログラム、画像処理装置、画像処理方法および画像処理システム
JP5572532B2 (ja) 表示制御プログラム、表示制御装置、表示制御方法および表示制御システム
JP5689637B2 (ja) 立体視表示制御プログラム、立体視表示制御システム、立体視表示制御装置、および、立体視表示制御方法
US20120133641A1 (en) Hand-held electronic device
JP5660818B2 (ja) 画像処理プログラム、画像処理装置、画像処理システム、および、画像処理方法
JP2012141819A (ja) 画像処理システム、画像処理プログラム、画像処理方法及び画像処理装置
JP5739670B2 (ja) 画像表示プログラム、装置、システムおよび方法
JP5770018B2 (ja) 表示制御プログラム、表示制御装置、表示制御方法及び表示制御システム
JP2012175358A (ja) 表示制御プログラム、表示制御装置、表示制御方法及び表示制御システム
JP5739673B2 (ja) 画像表示プログラム、装置、システムおよび方法
JP2012004669A (ja) 立体画像表示プログラム、立体画像表示装置、立体画像表示システム、および、立体画像表示方法
JP5548038B2 (ja) 立体画像表示プログラム、立体画像表示装置、立体画像表示システム、および、立体画像表示方法
JP5541973B2 (ja) 立体画像表示プログラム、立体画像表示装置、立体画像表示システム、および、立体画像表示方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140613

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141202

R150 Certificate of patent or registration of utility model

Ref document number: 5660818

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250