説明

立体映像処理装置及びその制御方法

【課題】 立体映像に画質調整用のOSDを重畳表示し、操作者が立体映像中の画質調整領域を変更すると、その領域の奥行きが変化し、それに応じてOSDの奥行きも変化してしまう。
【解決手段】 所定の視差を有する左右一対のOSD画像がそれぞれ左眼用映像及び右眼用映像に上書きされてOSDが立体映像に重畳表示される。表示された立体映像のうち所定の画像処理を行う領域が選択されると、左眼用映像と右眼用映像との間における選択された領域の視差が計算される。視差調整部は、その計算された視差が上記所定の視差と一致するように、左眼用映像と右眼用映像を相対的にシフトさせる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、立体視を可能にする立体映像処理装置及びその制御方法に関する。
【背景技術】
【0002】
近年、立体視が可能な立体映像表示装置が普及している。これらの立体映像表示装置は、両眼に対応した異なる画像(立体映像)を、観察者の両眼に夫々独立して提示することが可能になるように構成されている。立体映像(三次元映像)は、被写体が視差を有するように表現されており、観察者は被写体を立体視することが可能になっている。
【0003】
具体的な立体視の実現方法は様々知られている。例えば、偏光方向を異ならせて複数の画像を重畳表示し、それを、各偏光方向の光を右眼、左眼で選択的に透過させる偏光眼鏡越しに観察する方法(偏光法)がある。更に、同時刻の画像を時分割で順次表示し、表示タイミングに同期して右眼、左眼に入射する光を選択的に不透過させるシャッター眼鏡越しに観察する方法(フィールドシーケンシャル法)がある。また、裸眼で立体視可能な方法として、視差バリア方式およびレンチキュラー方式のように、複数の画像を立体視可能な立体表示モニタに表示する方法も知られている。
【0004】
立体映像表示装置に表示される立体映像は、通常、同一の被写体を異なる位置から複数のカメラを用いて撮影することにより取得される。このような立体映像の表示中にOSD(On Screen Display)を重畳して表示することがある。例えば、撮影時のプレビュー表示中では、絞り値等の各種撮影条件のパラメータやアイコンをOSD表示することが求められる。また画像観察時には、観察者によって好適な画質調整を行なうための画質調整メニューをOSD表示することが求められる。
【0005】
特許文献1では、被写体距離に応じた視差およびサイズを有するメニュー画面を生成し、立体画像における両眼画像のそれぞれに重畳してモニタに立体画像を表示する手法が開示されている。特許文献1に記載された手法によれば、立体画像とともにメニューも被写体の距離に応じた立体感を有するように3次元表示され、違和感なく立体画像と同様に立体視することができる。
【0006】
特許文献2では、3次元表示用画像中の両眼画像に含まれる主要被写体の視差量Δxを算出し、オブジェクトの視差量が視差量Δxとなるようにオブジェクトを作成し、3次元表示用画像に重ねてオブジェクトを表示する手法が開示されている。特許文献2に記載された手法によれば、画像とともにオブジェクトも立体視できるため、画像の立体視を妨げることなくオブジェクトも認識することが可能となる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2009−210840号公報
【特許文献2】特開2010−056737号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
立体映像の表示中に、立体映像の特定領域の画質を調整することがある。特許文献1及び特許文献2に開示された技術を適用すれば、その特定領域の距離や視差に応じて、画質調整メニューOSDの視差を決定し、重畳表示することができる。しかし、この特定領域は常に同じ位置であるとは限らない。例えば、操作者によって画質調整エリアを選択するような操作が行なわれるなど、特定領域の位置が変化する場合があり、それにより特定領域の奥行きも変化する。この場合、特許文献1及び特許文献2で開示された技術を適用すると、変化する奥行きに応じてOSDの奥行きが連動されることになる。このように、特定領域の位置の変化に応じて、観察者が着目するOSDの奥行きが刻々と変わると、観察者は両眼の輻輳角を連動させなくてはならない。その結果、観察者の眼精疲労につながるという問題がある。
【0009】
本発明は、このような問題に鑑みてなされたものであり、立体映像の表示中における観察者の眼精疲労を低減することができる立体映像処理装置及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の一側面によれば、両眼視差を有する左眼用映像及び右眼用映像を所定の表示タイミングで表示することで立体映像を表示する立体映像処理装置であって、所定の視差を有する左右一対のOSD(On Screen Display)画像をそれぞれ前記左眼用映像及び前記右眼用映像に上書きすることでOSDを前記立体映像に重畳して表示するOSD重畳手段と、表示された立体映像のうち所定の画像処理を行う領域を選択する選択手段と、前記左眼用映像と前記右眼用映像との間における前記選択された領域の視差を計算する視差計算手段と、前記計算された前記領域の視差が前記所定の視差と一致するように、前記左眼用映像と前記右眼用映像を相対的にシフトさせる視差調整手段とを有することを特徴とする立体映像処理装置が提供される。
【発明の効果】
【0011】
本発明によれば、特定領域の位置が変化するような場合であっても、立体映像中の選択された領域の奥行きが一定となり、観察者は輻輳角を変化させる必要がなくなる。これにより、観察者の眼精疲労を低減させることが可能となる。
【図面の簡単な説明】
【0012】
【図1】実施形態に係る立体映像処理システムの構成例を示す図。
【図2】立体映像の表示タイミングについて説明するための図。
【図3】実施形態における3Dディスプレイのブロック図。
【図4】視差の算出について説明するための図。
【図5】実施形態における3Dディスプレイの状態遷移図。
【図6】実施形態における立体映像の視差調整を説明する図。
【図7】実施形態における立体映像の視差調整を説明する図。
【図8】視差と奥行きとの関係を説明する図。
【図9】実施形態における携帯型表示デバイスのブロック図。
【図10】実施形態における携帯型表示デバイスの状態遷移図。
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。なお、本発明は以下の実施形態に限定されるものではなく、本発明の実施に有利な具体例を示すにすぎない。また、以下の実施形態の中で説明されている特徴の組み合わせの全てが本発明の課題解決のために必須のものであるとは限らない。
【0014】
[実施形態1]
本実施形態では、フィールドシーケンシャル法を用いた3Dディスプレイについて説明する。
図1は、本実施形態に係る立体映像処理システムの構成例を示す図である。
100は、本発明が適用される立体映像処理装置としての3Dディスプレイである。101は、両眼の何れの表示を行なっているかを発光で示す赤外LEDである。102は、立体映像(三次元映像)を出力するビデオプレーヤである。103は、映像信号をビデオプレーヤ102から3Dディスプレイ100に伝達するビデオケーブルである。104は、赤外LED101が発する赤外光に従い、両眼の何れか片方を選択的に透過させるシャッター眼鏡である。105は、赤外受光素子である。106は、3Dディスプレイ100に対して、ユーザによる操作を行なうためのリモコンである。リモコン106は、電源オン若しくはオフを指示するPOWER釦、後述するメニュー表示のオン若しくはオフを指示するMENU釦を有する。リモコン106はまた、メニューに対するカーソルの上下左右移動を指示するUP釦、DOWN釦、LEFT釦、RIGHT釦、メニューに対する決定を指示するOK釦、キャンセルを指示するCANCEL釦も有する。リモコン106による指示は、例えばBluetooth(登録商標)等の無線通信の方式に基づき、送出される。その指示は3Dディスプレイ100により受信され、その指示に応じた処理が実行される。
【0015】
次に、この構成によるフィールドシーケンシャル方式の立体視について図2を用いて説明する。ビデオプレーヤ102から立体映像信号が3Dディスプレイ100に入力され、3Dディスプレイ100にて右眼用映像、左眼用映像として順次表示される。この様子を図2(a)に示す。このように、或る時刻(例えばt=n)においてペアとなる左眼用映像、右眼用映像が1/120秒の時間毎で切り替わるように表示され、それが時刻を経る毎に連続して(例えばt=n+1,n+2,...)同様に順次表示される。なお、本発明は、入力される立体映像信号の種類に限定されない。例えば、HDMI(High-Definition Multimedia Interface)version 1.4aで規定される映像信号を用いても本発明を実施できる。
【0016】
この右眼用映像、左眼用映像の切り替わりのパターンは、図2(b)で示すように赤外LED101による発光により示される。このパターンは赤外受光素子105で受光され、図2(c)、(d)で示されるように、シャッター眼鏡104の右眼、左眼の選択に用いられる。このようにして、右眼用映像は観察者の右眼にだけ、左眼用映像は観察者の左眼だけに提示されることにより、シャッター眼鏡104を装着した観察者による立体視が可能になっている。
【0017】
次に3Dディスプレイ100の詳細な構成を図3を用いて説明する。
映像受信部300は、HDMIやDVIのレシーバ等から構成され、ビデオプレーヤ102から60Hzの立体映像信号を受信し、左眼、右眼夫々の映像に分離して出力する。映像処理部301は、映像受信部300から両眼の映像信号を受信し、それぞれに対し、後述する制御部としてのCPU308からの指示に従い、映像処理を施す。映像処理部301から出力された左右の映像信号は、視差調整部302に入力される。視差調整部302は、CPU308からの指示に従い、両眼視差を有する左眼用映像及び右眼用映像を相対的に水平方向にシフトし、1画面全体の視差を変更する。この処理により、立体映像の奥行きを全体的に手前方向、もしくは、奥方向に変化させることができる。
【0018】
この視差と奥行きの関係について図8を用いて説明する。図8(a)は、立体映像を観察している際の幾何学的な配置を頭上から見た図であり、横軸は物理的な横方向、縦軸は奥行きを示す。VL、VRはそれぞれ、左右の視点(観察者の両眼)を表す。bは視点間の距離を示す。SCRは3Dディスプレイ100の表示面を示し、Dは視点とSCRとの距離を示す。IL、IRは、あるオブジェクトOの左右画像をそれぞれ表し、pはそれらの間隔、即ち視差を表す。θはオブジェクトOにおけるVLとVRの成す角であり、輻輳角である。このような配置によると、観察者からは、オブジェクトOが、SCRより奥の奥行きdの位置に見えることになる。幾何学的な関係により、
d/b=(d−D)/p ・・・式1
という関係式が成り立つ。従って、奥行きdは、
d=Db/(b−p) ・・・式2
となり、dとpとは反比例の関係にある。観察時にはD、bは一定であるので、視差pが決まれば奥行きdは一意に決定される。
また、図8(b)のようにILとIRとに逆の視差があった場合には、観察者からは、オブジェクトOが、SCRより手前の奥行きdの位置に見えることになる。θはこの場合の輻輳角である。(a)の場合の視差pを正、(b)の場合の視差pを負と考えれば、
d/b=(D−d)/−p=(d−D)/p ・・・式3
という式1と同様の関係式が成り立つ。即ち、オブジェクトOは、SCRの奥、手前に関わらず、視差pが小さければ小さいほど手前の奥行きに、視差pが(b以下で)大きければ大きいほど奥の奥行きに見えることになる。
【0019】
このように、正の視差を有するオブジェクトはディスプレイよりも手前側に飛び出して見え、負の視差を有するオブジェクトはディスプレイよりも奥側に引っ込んで見えることになる。このような視差と奥行きとの関係があるために、左右一対の映像信号を相対的に水平方向にシフトすれば、立体映像の奥行きを全体的に手前方向、もしくは、奥方向に変化させることができる。
【0020】
説明を図3に戻す。視差調整部302から出力された映像信号はOSD重畳部303に入力され、後述するOSD画像と重畳される。その後、左右の映像は所定の表示タイミングで表示されることになる。具体的には、倍速部304は、60Hzで並列に入力される左右の映像を、120Hzの順次映像に変換して、出力する。120Hzの映像信号は、パネル駆動部305に入力され、表示パネル306を駆動するのに適した信号に変換される。その信号は表示パネル306に入力され、前述した図2(a)で示されるパターンにて表示される。また、倍速部304は、右眼に相当するフィールドを通知する信号を赤外LED101に送信する。赤外LED101は、この信号を受け取り、それに同期して、前述した図2(b)で示されるパターンの赤外光を発光する。
【0021】
映像受信部300から出力された左右の映像信号は、視差計算部307に入力される。視差計算部307は、後述するCPU308から指示された映像信号の領域についての左右の映像信号の視差を計算する。この計算について図4を用いて説明する。視差計算部307は、CPU308から、視差を求めるべき領域を示す情報として、座標(xL,y)、その座標を左上とした矩形の高さを示すheight、幅を示すwidthとの4つのパラメータを受け取る。なお、この領域は、例示的に基準とした左眼用映像中での領域を示す。図4(a)は左眼用映像を示し、実線で囲まれた大枠が画面全体、斜線で示される矩形はこの4パラメータで示される領域ILを示す。なお、画面の左上が原点(0,0)である。視差計算部307は、右眼用映像における座標(x,y)、高さheight、幅widthの領域IXについてxを振りながら、領域ILとの類似度を計算する。この類似度の計算については、公知のステレオマッチング手法を用いることができる。例えば、明暗情報を用いて左右ブロック間の相関性を求めた後にその差の二乗を加算するSSD(Sum of Squared Difference)を用いることができる。かわりに、ブロック間の相関性を求めた後にその差の絶対値を加算するSAD(Sum of Absolute Difference)を用いてもよい。あるいは、ピクセル間の相関関係を用いるNCC(Normalized Cross Coefficient)等を用いることもできる。図4(b)は右眼用映像を示し、右眼用映像における領域IXは斜線部分で示される。xと、類似度との関係の例を図4(c)に示す。類似度が最大となるxをxRとすると、指示された領域での視差pは、次式により得られる。
p=xL−xR ・・・式4
このように得られた視差pの値はCPU308に送信される。
【0022】
制御部であるCPU308は、3Dディスプレイ100各部の制御を行なう。詳しい制御フローについては後述する。
【0023】
309は、リモコン106の信号を受信するリモコン受信部である。受信されたリモコン106からの指示は、CPU308に送られ、解釈、実行される。OSD生成部310は、CPU308の指示に従い、メニュー画像等を表すOSD(On Screen Display)画像を生成する。OSD生成部310で生成されたOSD画像は視差調整部311に入力される。視差調整部311は、OSD画像を水平方向にCPU308から指示される視差分だけシフトさせることにより、左右一対のOSD画像を生成する。これら左右一対のOSD画像はOSD重畳部303に入力される。OSD重畳部303は、視差調整部311から入力された左右のOSD画像信号を、視差調整部302から入力された左眼用映像及び右眼用映像にそれぞれ上書きする処理を行なう。
【0024】
ここで、CPU308による制御について、図5の3Dディスプレイ100の状態遷移図を用いて説明する。
AC電源が投入されると、初期状態として状態500に遷移する。この状態では、CPU308が起動し、リモコン受信部309を起動させ、リモコン106によるPOWER釦の押下を監視する。POWER釦が押下されると、状態501に遷移する。
【0025】
状態501では、CPU308は、3Dディスプレイ100内の各部を起動する。例えば、電源投入や、表示するためのレジスタ初期設定等を行なう。起動が終わると、状態502に遷移する。
【0026】
状態502は、3Dディスプレイ100に入力された映像信号を表示している状態である。この状態で、CPU308はリモコン106によるPOWER釦の押下を検出すると、後述する状態503に遷移する。状態502は、更に、子状態として次に述べる3状態に分かれる。
【0027】
まず、状態502内での初期状態は、状態504である。状態504は、表示パネル306での表示がされているものの、OSDが表示されていない状態である。状態504では、CPU308は、OSD生成部310に対してOSD生成を行なわないように指示する。図6、図7にこの状態で表示される立体映像の例を示す。図6(a)は立体映像を2Dとして表示した例である。obj1〜obj4は、立体映像中に存在するオブジェクトを示す。図7(a)は、これら立体映像の各オブジェクトについての視差(奥行き)を説明するための図である。縦軸は視差を表す。p0は、背景部分の視差を示す。p1〜p4は、各々obj1〜obj4の視差を示す。それぞれの実線は、各オブジェクトを示す。状態504において、CPU308はリモコン106によるMENU釦の押下を検出すると、状態505に遷移する。
【0028】
状態505では、OSDにてメニューが表示されている状態であり、例として、立体映像中の画質調整の対象領域を選択するメニューが表示されているとする。図6(b)、図7(b)にこの状態で表示される立体映像の例を示す。図6(b)は立体映像を2Dとして表示した例である。obj1〜obj4は、前述の通りである。選択メニュー600は、使用者に対し、画質調整の対象領域の選択を促すOSDである。カーソル601は、画質調整の対象領域を選択させるカーソルである。この状態にて、CPU308は、リモコン106によるUP釦、DOWN釦、LEFT釦、RIGHT釦の押下を検出すると、それに応じてカーソル601の位置を変化させる。
【0029】
この状態では、CPU308により、立体映像の視差が調整される。図7(a)は調整前の立体映像の視差を示す。横軸は映像の水平方向を、縦軸は視差を示す。選択メニュー600、カーソル601の視差はp_osdで示される。なお、p_osdの値は、3Dディスプレイ100に含まれる不揮発性メモリ(不図示)で持たせてもよいし、使用者により入力させてもよい。CPU308による視差調整手順を以下に説明する。
【0030】
まず、CPU308はカーソル601の位置の立体映像の視差p_cursorを算出する。具体的には、CPU308により視差計算部307に対し、カーソル601の位置での視差情報の取得を要求する。前述のように視差計算部307は当該位置での視差を計算し、CPU308に送信する。なお、前述のように視差が決まれば奥行きは一意に決定される。そのため、視差の代わりに奥行きを用いても、同様に処理ができ、本発明を実施できる。
【0031】
本例では、カーソル601はobj3の位置に存在するため、p_cursor=p3が得られる。次いで、OSDの視差p_osdとカーソル601の位置の立体映像の視差p_cursorとを合わせるように、CPU308は視差調整部302に対し、視差変更の指示を行なう。この際、指示される視差の変更量は、p_cursor−p_osdと表される。従って、視差pxの変更後の視差px_bは(0≦x≦4)、
px_b=px−(p_cursor−p_osd) ・・・式5
となる。本例ではp_cursor=p3であり、p3_bはp_osdと等しくなる。
【0032】
ここで、CPU308はリモコン106でのCANCEL釦の押下を検出すると、上記視差の変更を元に戻すとともに、OSDを消去し、状態504に戻る。また、状態505において、CPU308によりリモコン106によるOK釦の押下が検出されると、状態506に遷移する。
【0033】
状態506は、OSDにてメニューが表示されている状態であり、例として、状態505で選択した対象領域の画質調整を行なうメニューが表示されているとする。図6(c)、図7(b)にこの状態で表示される立体映像の例を示す。図6(c)は立体映像を2Dとして表示した例である。obj1〜obj4は、前述の通りである。調整メニュー602は、使用者に対し、画質調整のパラメータ変更を行なわせるOSDである。調整メニュー602には、「色相」、「彩度」、「明度」、「完了」の4行からなる選択肢が存在し、使用者はリモコン106のUP釦とDOWN釦を押下することにより、これらを選択することができる。「色相」、「彩度」、「明度」を選択している状態で、使用者はリモコン106のLEFT釦とRIGHT釦を押下することにより、CPU308に対し、各パラメータの増減を指示させることができる。各パラメータの値は、調整メニュー602上に矩形のインジケータの長さによって使用者に指示される。この各パラメータの変更処理は、具体的には、CPU308により映像処理部301に対し領域指定指示及びパラメータ変更指示がされることにより、映像処理部301によって実行される。調整メニュー602の「完了」の行が選択されている際に、使用者によるリモコン106のOK釦が押下されると、上記視差の変更を元に戻すとともに、OSDを消去し、状態504に戻る。また、CPU308はリモコン106でのCANCEL釦の押下を検出すると、状態505に戻る。
【0034】
このように、本実施形態では、立体映像に重畳して表示される、所定の視差を有するOSDが生成され、画像処理の対象となる立体映像中の領域が選択される。次に、視差調整部302に、選択された領域の視差がOSDの視差と一致するように左眼用映像と右眼用映像を相対的にシフトさせる。こうして、立体映像の全体の奥行きが変更される。上述の例では、立体映像から使用者が画質調整対象領域を選択し、その領域の視差をOSDの視差に一致させる例を示したが、対象領域の決定方法はそれに限らない。例えば、使用者に任意の色度を選択させ、選択された色度を持つ領域を立体映像中から検出し、それを対象領域とするといった変形も考えられる。
【0035】
状態503は、3Dディスプレイ100の終了処理を行なう状態である。状態503では、CPU308は、3Dディスプレイ100内の各部をシャットダウンする。例えば、電源断処理等を行なう。これら処理が終了すると、状態500に戻る。
【0036】
以上のような構成及び制御により、画質調整領域を選択し、それに対して画質調整を行なう場合であっても、使用者は両眼の輻輳角を変化させる必要はなくなる。具体的には、画質調整領域を決定するために、カーソルを動かしながらカーソル周辺の映像を見る場合や、画像調整パラメータを決定するために、パラメータを変更しながら、カーソル周辺の映像を見る場合である。このような場合において、OSDの奥行きと、カーソルで指定された領域の奥行きとが常に同じとなり、輻輳角を変化させる必要がなくなる。これにより、使用者の眼精疲労を低減させることが可能となる。
【0037】
[実施形態2]
実施形態1では、OSDの視差と、カーソルで指定された領域の視差とを同じにする方法を説明した。実施形態1に対し、それらの視差を相対的に近くするという方法に変形した場合であっても、本発明を実施できる。具体的には、実施形態1に対し、以下のような変形を行なう。
【0038】
図5の状態遷移図のうち、状態505を次のように変形する。前提として、所定の視差の閾値p_shを定めておく。p_shの値は、後述するように過度に手前すぎる表示にならないように事前に決定しておき、3Dディスプレイ100に含まれる不揮発性メモリ(不図示)で持たせてもよいし、使用者により入力させてもよい。状態505遷移時にまず、CPU308は立体映像の一面のうち、奥行きが最も手前のオブジェクト、すなわち最も視差が小さいオブジェクト、の視差を算出し、その視差p_frontを得る。具体的には、CPU308は視差計算部307に対し、一面を複数ブロックに分け、それらすべてのブロックの視差を問い合わせ、得られた視差のうち、最小であるブロックを探すことになる。図7(a)の例であれば、obj2の視差であるp2が最小(obj2の奥行きが最も手前)であり、p_front=p2が得られる。次いで、実施形態1と同様にカーソル位置での立体映像の視差p_cursorを取得する。これはp3である。ここで、「最小の視差p_frontをp_shに合わせるための視差シフト量(p_front−p_sh)」を第1の視差シフト量とする。また、「カーソル位置の立体映像の視差p_cursorをOSDの視差p_osdに合わせるための視差シフト量(p_cursor−p_osd)」を第2の視差シフト量とする。CPU308は、第1の視差シフト量と第2の視差シフト量とを比較する。なお、これらの視差シフト量は、奥行きが手前に見える方向(視差が小さくなる方向)を正とする。CPU308は、これらのうち、何れか小さい方を採用して、視差調整部302に対して視差シフトを指示する。後者、すなわち第2の視差シフト量が小さければ、実施形態1と同様になる。前者、すなわち第1の視差シフト量が小さい場合の例を図7(c)に示し、詳細を以下で説明する。
【0039】
この場合は、換言すれば、カーソル位置の立体映像の視差をOSDの視差に合わせてしまうと、シフト後の立体映像中の最前オブジェクトの視差が所定の視差p_shより小さくなることを意味する。一般的に、過度に視差を小さく(負に大きく)すると、眼の焦点調節と輻輳調整の乖離が大きくなり、立体視が成立しなくなると言われている。従って、この例は、ある下限の視差をp_shに予め設定しておき、最前オブジェクトの視差がp_shより小さくならない範囲で調整するものである。この場合、所定の閾値p_shと、画像中の最前視差を合わせるように、CPU308は視差調整部302に対し、視差変更の指示を行なう。この際、指示される視差の変更量はp_front−p_shと表されるので、本例での視差pxの変更後の視差px_cは(0≦x≦4)、
px_c=px−(p_front−p_sh) ・・・式6
となる。本例ではp_front=p2であり、p2_cはp_shと等しくなる。その他の構成及び制御は実施形態1と同様である。
【0040】
上記のような処理によれば、最も手前のオブジェクトの視差が所定の視差となる第2の視差シフト量が算出され、第1の視差シフト量と第2の視差シフト量のうちの小さい方で立体映像の全体の視差が変更される。これにより、視差調整の結果、手前すぎる領域が発生してしまい、眼の焦点調節と輻輳調整の乖離が大きくなることにより、眼精疲労が発生するようなケースを防ぐことができる。
【0041】
以上のような構成、制御により、画質調整領域を選択し、それに対して画質調整を行なう場合であっても、使用者は両眼の輻輳角を変化させる量は少なくなる。具体的には、画質調整領域を決定するために、カーソルを動かしながらカーソル周辺の映像を見る場合や、画像調整パラメータを決定するために、パラメータを変更しながら、カーソル周辺の映像を見る場合である。このような場合において、カーソル(OSD)の奥行きと、カーソルで指定された領域の奥行きとが常に同じとなり、輻輳角を変化させる量が低減される。これにより、使用者の眼精疲労を低減させることが可能となる。
【0042】
また、上記説明では、視差の下限について説明したが、視差の上限を設定する方法であっても本発明は適用できる。一般的に、視差を瞳孔間距離より大きくすると、立体視が成立しなくなると言われている。従って、視差上限を設定する場合には、最も奥の奥行きを表す視差p_backを算出し、予め設定された上限の視差p_sh’(例えば、瞳孔間距離とする)を用いて、上記説明と同様にp_backがp_sh’を超えないようにすればよい。
【0043】
[実施形態3]
実施形態1に対し、以下のような変形を行なった場合であっても、本発明を適用できる。
図5の状態遷移図のうち、状態505を次のように変形する。前提として、所定の視差の閾値p_shを定めておく。p_shの値は、後述するように過度に手前すぎる表示にならないように事前に決定しておき、3Dディスプレイ100に含まれる不揮発性メモリ(非図示)で持たせてもよいし、使用者により入力させてもよい。状態505遷移時にまず、CPU308は立体映像の一面の視差分布を測定する。具体的には、CPU308は視差計算部307に対し、一面を複数ブロックに分け、それらすべてのブロックの視差を問い合わせ、得られた視差を不図示のメモリに保存することになる。次いで、実施形態1と同様に視差のシフトを行なう。その後、CPU308は、そのシフト量にてシフトした場合に視差p_shより手前になる領域を検出する。この例を図7(b)に示す。obj2の元々の視差p2は、シフト操作により、p2_bになり、これはp_shより手前となっている。このような領域に対して、CPU308は、OSD生成部310にマスクOSD画像を生成させ、視差調整部311にマスクOSDの視差がp_osdになるように視差を設定させる。得られた画像の例を図6(d)に示す。603がマスクOSDを示す。
【0044】
この場合には、視差調整の結果、手前すぎる領域が発生してしまうようなケースでも、それをOSDの視差を有するマスクで上書きすることができる。その結果、眼の焦点調節と輻輳調整の乖離が大きくなることにより、眼精疲労が発生するようなケースを防ぐことができる。
【0045】
以上のような構成、制御により、画質調整領域を選択し、それに対して画質調整を行なう場合であっても、使用者は両眼の輻輳角を変化させる必要はなくなる。具体的には、画質調整領域を決定するために、カーソルを動かしながらカーソル周辺の映像を見る場合や、画像調整パラメータを決定するために、パラメータを変更しながら、カーソル周辺の映像を見る場合である。このような場合において、カーソル(OSD)の奥行きと、カーソルで指定された領域の奥行きとが常に同じとなり、輻輳角を変化させる必要がなくなる。これにより、使用者の眼精疲労を低減させることが可能となる。
【0046】
また、上記説明では、視差の下限について説明したが、視差の上限を設定する方法であっても本発明は適用できる。一般的に、視差を瞳孔間距離より大きくすると、立体視が成立しなくなると言われている。従って、視差上限を設定する場合には、予め設定された上限の視差p_sh’(例えば、瞳孔間距離とする)を超える領域をp_osdの視差でマスキングするようにすればよい。
【0047】
[実施形態4]
別のデバイスに対しても本発明を実施することができる。この例を図9を用いて説明する。本実施形態における立体映像処理装置としての携帯型表示デバイス900は、視差バリア方式の液晶パネルによる表示パネル901を有しており、裸眼による立体視が可能になっている。また、静電容量方式等によるタッチセンサ902を有することで、使用者は指903で表示パネル901上を触れることで操作を行なうことができる。具体的には、触れた表示パネル901上の座標がタッチセンサ902により検出され、CPU904に送信され、制御部であるCPU904による処理が行なわれる。
【0048】
CPU904は、携帯型表示デバイス900全体の制御を行なう。詳しくは後述する。電源釦905は、スイッチであり、携帯型表示デバイス900の電源のオン・オフの指示を受け付ける。メニュー釦906は、スイッチであり、CPU904にメニューOSDの表示・非表示の指示を受け付ける。これらに関しては、詳しくは後述する。
【0049】
907は、フラッシュメモリ等による不揮発性メモリであり、所定のフォーマットで表現された立体画像データが格納されている。CPU904は、不揮発性メモリ907から画像データを読み込み、画像生成部908に送信する。画像生成部908は、例えばJPEGデコーダであり、不揮発性メモリ907に格納された立体画像データを表示可能なイメージに展開する。展開された立体画像は画像処理部909に送信される。画像処理部909は、CPU904の指示に従い、指定領域の色相、彩度、明度等の画質パラメータを調整できる回路である。調整後の立体画像は視差調整部910に送信される。
【0050】
視差調整部910、OSD生成部911、視差調整部912、OSD重畳部913はそれぞれ、実施形態1の視差調整部302、OSD生成部310、視差調整部311、OSD重畳部303と同様である。OSD重畳部913は、OSDの重畳された立体画像をパネル駆動部914に送信する。パネル駆動部914では、立体画像を表示パネル901に適する信号に変換し、送信する。表示パネル901では、受信した立体画像を視差バリア方式にて3D表示する。
【0051】
次に、CPU308による制御について、図10の携帯型表示デバイス900の状態遷移図を用いて説明する。AC電源が投入されると、初期状態として状態1000に遷移する。この状態では、CPU904が起動し、電源釦905の押下を監視する。電源釦905が押下されると、状態1001に遷移する。
【0052】
状態1001では、CPU904は、携帯型表示デバイス900内の各部を起動する。例えば、電源投入や、表示するためのレジスタ初期設定等を行なう。起動が終わると、状態1002に遷移する。
【0053】
状態1002は、携帯型表示デバイス900内の不揮発性メモリ907に格納された立体画像データを表示している状態である。この状態で、CPU904は電源釦905の押下を検出すると、後述する状態1003に遷移する。状態1002は、更に、子状態として次に述べる2状態に分かれる。
【0054】
まず、状態1002内での初期状態は、状態1004である。状態1004は、表示パネル901での表示がされているものの、OSDが表示されてない状態である。状態1004では、CPU904は、OSD生成部911に対してOSD生成を行なわないように指示する。実施形態1の状態504と同様に、この状態で表示される立体映像は図6(a)、図7(a)のようになる。これら図の説明は実施形態1と同様なので省略する。状態1004において、CPU904はメニュー釦906の押下を検出すると、状態1005に遷移する。
【0055】
状態1005では、図6(c)に示すように実施形態1の状態505と同様に調整メニュー602とカーソル601が表示される。カーソル601は初期状態としては、事前に定められた所定位置に表示される。また、指903で表示パネル901の任意の場所に触れることで、その位置にカーソル601が移動する。このカーソル601の位置変更の具体的な処理について、図9を用いて次のように説明する。まず、タッチセンサ902が指903の表示パネル901に対する接触位置を検出し、表示パネル901上の二次元座標データとしてCPU904に送信する。次いで、CPU904がその位置にてカーソル601を生成するように、OSD生成部911に対してOSDの生成位置を指示する。その指示を受け、OSD生成部911は、新しい位置にてカーソル601を生成する。
【0056】
また、状態1005では、実施形態1の状態505と同様の処理にて、カーソル601が存在する立体映像の視差p_cursorを測定し、それがOSDの視差p_osdに合うように、立体映像全体の視差をシフトする。例えば、図6(c)のようにカーソル601がobj3の位置にある場合には、図7(b)のように視差がシフトされる。このシフトの方法については実施形態1と同様なので説明を省略する。
【0057】
状態1005において、調整メニュー602の「色相」「彩度」「明度」の何れかのインジケータに対し、指903を接触させて、左右にスライドさせることにより、カーソル601が指す領域の各パラメータの調整を行なうことができる。具体的には、タッチセンサ902により接触位置とスライド動作が検出され、その情報をCPU904が受信し、該当パラメータの増減指示を画像処理部909に対し実施することによって実現できる。
【0058】
状態1005にて、CPU904により、メニュー釦906の押下を検出するか、調整メニュー602上の「完了」への指903による接触を検出するか、何れかにより状態1004に遷移する。この際、OSDの消去と視差シフトの解除が行なわれる。
【0059】
状態1003は、実施形態1における状態503と同様である。
【0060】
以上のような構成、制御により、画質調整を行なう場合において、使用者は両眼の輻輳角を変化させる必要はなくなる。具体的には、画質調整領域を決定するために、指でカーソルを動かしながらカーソル周辺の映像を見る場合や、画像調整パラメータを決定するために、パラメータを変更しながら、カーソル周辺の映像を見る場合である。このような場合において、カーソル(OSD)の奥行きと、カーソルで指定された領域の奥行きとが常に同じとなり、輻輳角を変化させる必要がなくなる。これにより、使用者の眼精疲労を低減させることが可能となる。
【0061】
[実施形態5]
実施形態1を以下のように変形し、奥行きを圧縮する方法を用いることもできる。
まず、視差調整部302を、視差のシフトだけでなく、立体画像の視差のダイナミックレンジを視差の下限と上限との間に収まるように変更できるようにする。このように奥行きのダイナミックレンジを変更するには、左右の画像から中間画像を生成することにより実現できる。例えば、特開平9−27969号公報に記載されたような公知の技術を用いることができる。
【0062】
図5の状態遷移図のうち、状態505を次のように変形する。前提として、所定の視差の閾値p_shを定めておく。p_shの値は、後述するように過度に手前すぎる表示にならないように事前に決定しておき、3Dディスプレイ100に含まれる不揮発性メモリ(不図示)で持たせてもよいし、使用者により入力させてもよい。状態505遷移時にまず、CPU308は立体映像の一面のうち、視差が最小、即ち最も手前の奥行きの領域を探し、その視差p_frontを得る。具体的には、CPU308は視差計算部307に対し、一面を複数ブロックに分け、それらすべてのブロックの視差を問い合わせ、得られた視差のうち、最小であるブロックを探すことになる。図7(a)の例であれば、obj2の視差p2が最小(obj2の奥行きが最も手前)であり、p_front=p2が得られる。次いで、実施形態1と同様にカーソル位置での立体映像の視差p_cursorを取得する。これはp3である。ここで、「最小の視差p_frontをp_shに合わせるための視差シフト量(p_front−p_sh)」を第1の視差シフト量とする。また、「カーソル位置の立体映像の視差p_cursorをOSDの視差p_osdに合わせるための視差シフト量p_cursor−p_osd」を第2の視差シフト量とする。CPU308は、第1の視差シフト量と第2の視差シフト量とを比較する。なお、これらの視差シフト量は、奥行きが手前に見える方向(視差が小さくなる方向)を正とする。CPU308は、これらのうち、何れか小さい方を採用して、視差調整部302に対して視差シフトを指示する。後者が小さければ、実施形態1と同様になる。前者が小さい場合の例を図7(d)に示し、詳細を以下で説明する。
【0063】
この場合は、換言すれば、カーソル位置の視差をOSDの視差に合わせると、画像中の最小の視差p_frontが所定の視差p_shより小さくなることを意味する。一般的に、過度に視差を小さく(負に大きく)すると、眼の焦点調節と輻輳調整の乖離が大きくなり、立体視が成立しなくなると言われている。従って、この例は、ある下限の視差をp_shに設定しておき、最前の視差がp_shより小さくならないように視差のダイナミックレンジを圧縮するものである。例えば、視差調整部302は、カーソル601位置の立体映像の視差p_cursorがOSDの視差p_osdと一致し、最前のオブジェクトの視差p_frontが所定の視差p_shと一致するように視差変更及び視差のダイナミックレンジ変更を行なう。これらの変更は、視差調整部302がCPU308からの指示に応じて行なわれる。この指示内容の一例を次式に示す。これは視差pxと変更後の視差px_dとの関係式である。(0≦x≦4)
【0064】
px_d=p_osd−(p_cursor−px)*(p_osd−p_sh)/(p_cursor−p_front) ・・・式7
【0065】
本例ではp_front=p2、p_cursor=p3であり、OSDの位置の立体映像の視差p3_dはp_osdと、最前のオブジェクトの視差p2_dはp_shと等しくなる。
【0066】
状態505のその他の処理、及び、その他の構成・制御は実施形態1と同様である。
【0067】
この場合には、視差調整の結果、手前すぎる領域が発生してしまい、眼の焦点調節と輻輳調整の乖離が大きくなることにより、眼精疲労が発生するようなケースを防ぐことができる。
【0068】
以上のような構成、制御により、画質調整領域を選択し、それに対して画質調整を行なう場合であっても、使用者は両眼の輻輳角を変化させる必要はなくなる。具体的には、画質調整領域を決定するために、カーソルを動かしながらカーソル周辺の映像を見る場合や、画像調整パラメータを決定するために、パラメータを変更しながら、カーソル周辺の映像を見る場合である。このような場合において、カーソル(OSD)の奥行きと、カーソルで指定された領域の奥行きとが常に同じとなり、輻輳角を変化させる必要がなくなる。これにより、使用者の眼精疲労を低減させることが可能となる。
【0069】
また、上記説明では、視差の下限について説明したが、視差の上限を設定する方法であっても本発明は適用できる。一般的に、視差を瞳孔間距離より大きくすると、立体視が成立しなくなると言われている。従って、視差上限を設定する場合には、最も奥のオブジェクトの視差p_backを算出し、予め設定された上限の視差p_sh’(例えば、瞳孔間距離とする)を用いて、上記説明と同様にp_backがp_sh’を超えないようにすればよい。
【0070】
(他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。

【特許請求の範囲】
【請求項1】
両眼視差を有する左眼用映像及び右眼用映像を所定の表示タイミングで表示することで立体映像を表示する立体映像処理装置であって、
所定の視差を有する左右一対のOSD(On Screen Display)画像をそれぞれ前記左眼用映像及び前記右眼用映像に上書きすることでOSDを前記立体映像に重畳して表示するOSD重畳手段と、
表示された立体映像のうち所定の画像処理を行う領域を選択する選択手段と、
前記左眼用映像と前記右眼用映像との間における前記選択された領域の視差を計算する視差計算手段と、
前記計算された前記領域の視差が前記所定の視差と一致するように、前記左眼用映像と前記右眼用映像を相対的にシフトさせる視差調整手段と、
を有することを特徴とする立体映像処理装置。
【請求項2】
前記視差調整手段は、前記左眼用映像と前記右眼用映像との間における、前記立体映像のうち最も視差が小さいオブジェクトの視差が予め設定された下限の視差よりも小さくならない範囲、及び、前記立体映像のうち最も視差が大きいオブジェクトの視差が予め設定された上限の視差よりも大きくならない範囲において、前記視差計算手段で計算された前記領域の視差が前記所定の視差に近づくように、前記左眼用映像と前記右眼用映像を相対的にシフトさせることを特徴とする請求項1に記載の立体映像処理装置。
【請求項3】
前記視差調整手段による調整後の立体映像のうち、予め設定された下限の視差よりも視差が小さい領域、又は、予め設定された上限の視差よりも視差が大きい領域を検出する検出手段と、
前記所定の視差を有する左右一対のマスクOSD画像を前記左眼用映像及び前記右眼用映像の前記検出された領域に上書きするマスキング手段と、
を更に有することを特徴とする請求項1に記載の立体映像処理装置。
【請求項4】
前記視差調整手段は、前記視差計算手段で計算された前記領域の視差を前記所定の視差に一致させたときに、前記視差調整手段による調整後の立体映像のうち、予め設定された下限の視差よりも視差が小さい領域、又は、予め設定された上限の視差よりも視差が大きい領域がある場合、前記立体映像の視差のダイナミックレンジを前記下限の視差と前記上限の視差との間に収まるように圧縮する圧縮手段を含むことを特徴とする請求項1に記載の立体映像処理装置。
【請求項5】
両眼視差を有する左眼用映像及び右眼用映像を所定の表示タイミングで表示することで立体映像を表示する立体映像処理装置の制御方法であって、
OSD重畳手段が、所定の視差を有する左右一対のOSD(On Screen Display)画像をそれぞれ前記左眼用映像及び前記右眼用映像に上書きすることでOSDを前記立体映像に重畳して表示するステップと、
選択手段が、表示された立体映像のうち所定の画像処理を行う領域を選択するステップと、
視差計算手段が、前記左眼用映像と前記右眼用映像との間における前記選択された領域の視差を計算するステップと、
視差調整手段が、前記計算された領域の視差が前記所定の視差と一致するように、前記左眼用映像と前記右眼用映像を相対的にシフトさせるステップと、
を有することを特徴とする立体映像処理装置の制御方法。
【請求項6】
コンピュータを、請求項1乃至4のいずれか1項に記載の立体映像処理装置が有する各手段として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2012−83573(P2012−83573A)
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願番号】特願2010−230100(P2010−230100)
【出願日】平成22年10月12日(2010.10.12)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】