JP4272901B2 - 画像処理装置、撮像装置およびプログラム - Google Patents
画像処理装置、撮像装置およびプログラム Download PDFInfo
- Publication number
- JP4272901B2 JP4272901B2 JP2003038665A JP2003038665A JP4272901B2 JP 4272901 B2 JP4272901 B2 JP 4272901B2 JP 2003038665 A JP2003038665 A JP 2003038665A JP 2003038665 A JP2003038665 A JP 2003038665A JP 4272901 B2 JP4272901 B2 JP 4272901B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- dimensional
- parameter
- original image
- image data
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Description
【発明の属する技術分野】
本発明は、利用者に立体として知覚される画像を平面画像から生成するための技術に関する。
【0002】
【従来の技術】
相互に視差を有する2つの画像の一方を左目に視認させて他方を右目に視認させると、利用者にその画像を立体として知覚させることができる。このような視差を有する画像(以下「立体視画像」という)を平面画像から生成するための技術が従来から提案されている(特許文献1参照)。この技術においては、画像を視認した利用者に知覚されるべき奥行きなど各種のパラメータに基づいて立体視画像が生成される。
【0003】
【特許文献1】
特開2002−123842号公報(段落0033および第7図参照)
【0004】
【発明が解決しようとする課題】
この技術のもとで、立体視画像を生成するときの各種のパラメータを利用者が任意に選定し得る構成とすれば、その所望の立体感を有する画像を生成することができて便利である。しかしながら、この構成を採用した場合には、平面画像の立体化処理のたびにパラメータを指示する必要が生じ、利用者に煩雑な作業を強いるという問題が生じ得る。特に連続的な複数の画像からなる動画像を立体化処理の対象とした場合には、各画像に関する条件を指示する作業は極めて煩雑となる。
【0005】
本発明は、以上説明した事情に鑑みてなされたものであり、画像の立体化処理に用いられる各種のパラメータの入力に要する利用者の負担を軽減することができる画像処理装置、撮像装置およびプログラムを提供することを目的としている。
【0006】
【課題を解決するための手段】
上記課題を解決するために、本発明の第1の特徴は、画像を表す原画像データから相互に視差のある右目用画像と左目用画像とを生成する立体化処理を実行する立体化処理手段と、前記立体化処理に際して用いられる立体化パラメータを利用者からの指示に応じて特定するパラメータ特定手段と、前記パラメータ特定手段によって特定された立体化パラメータを前記原画像データと対応付けて記憶装置に記憶させる制御手段とを具備し、前記立体化処理手段は、各画素ごとに前記原画像データから奥行き値を求める算出手段と、前記算出手段によって求められた画素ごとの奥行き値を修正する修正手段と、前記修正手段によって求められた奥行き値に応じた視差を有する前記右目用画像と前記左目用画像とを生成する画像生成手段とを備え、前記パラメータ特定手段によって特定される立体化パラメータは、前記修正手段による奥行き値の修正内容に関するパラメータであって1又は複数の前記原画像データにおけるすべての画素に共通して用いられるパラメータを含むことにある。
【0007】
この構成によれば、利用者からの指示に応じて特定された立体化パラメータが原画像データとともに記憶装置に記憶されるようになっている。このため、利用者の指示に応じて立体化パラメータがいちど特定されれば、その後に原画像データから立体視画像を生成するときには再び立体化パラメータが特定される必要はない。したがって、立体化処理に関わる各種のパラメータを指示する利用者の負担を軽減することができる。
【0008】
また、本発明の第2の特徴は、画像を表す原画像データから相互に視差のある右目用画像と左目用画像とを生成する立体化処理を実行する立体化処理手段と、被写体を撮像する撮像装置から、撮像された画像を表す原画像データとその画像が撮像されたときの撮像条件とを取得する取得手段と、前記取得手段によって取得された撮像条件に基づいて、前記立体化処理に際して適用されるべき立体化パラメータを特定するパラメータ特定手段と、前記パラメータ特定手段によって特定された立体化パラメータを前記取得手段によって取得された原画像データと対応付けて記憶装置に記憶させる制御手段とを具備することにある。
【0009】
この構成によれば、撮像装置から取得した撮像条件に基づいて、立体化処理に際して適用されるべき立体化パラメータが特定される。このため、その立体化パラメータについて利用者は指示する必要がない。したがって、立体化処理に関わる各種のパラメータを指示する利用者の負担を軽減することができる。しかも、この構成においては、撮像条件を撮像時における環境(例えば周囲の明るさ)を反映したものとすれば、この撮像条件に基づいて特定された立体化パラメータを用いることによって、実際の被写体により忠実な立体視画像が得られる。
【0010】
上記第1または第2の特徴を有する画像処理装置においては、立体化パラメータが原画像データの先頭または後尾に付加されるようにしてもよいし、立体化パラメータを原画像とは別個に記憶させる一方、原画像データを特定するための情報と立体化パラメータを特定するための情報とが対応付けられたテーブルを記憶装置に記憶させるようにしてもよい。
【0011】
また、上記第2の特徴を有する画像処理装置においては、前記立体化処理手段が、各画素ごとに前記原画像データから奥行き値を求める算出手段と、前記算出手段によって求められた奥行き値を修正する修正手段と、前記修正手段によって求められた奥行き値に応じた視差を有する前記右目用画像と前記左目用画像とを生成する画像生成手段とを備え、前記パラメータ特定手段が、前記修正手段による奥行き値の修正内容に関する立体化パラメータを特定する構成としてもよい。この構成によれば、利用者による指示の負担を低減しつつ、各画素の奥行き値を修正することができる。
【0012】
さらに、各画素の奥行き値を修正する修正手段を具備する画像処理装置においては、以下の構成を採用することもできる。すなわち、まず、修正手段が、すべての画素に共通の数値である奥行深度を当該各画素の奥行き値に対して加算する手段を備える構成のもとでは、前記パラメータ特定手段によって特定される立体化パラメータが前記奥行深度を含むものとしてもよい。この構成によれば、立体視画像を視認した利用者によって知覚される画像全体の奥行きが立体化パラメータに応じて修正される。また、修正手段が、各画素の奥行き値を、当該画素を含む領域における奥行き値の平均値に更新する手段を備える構成のもとでは、前記パラメータ特定手段によって特定される立体化パラメータが、前記領域の大きさを表す数値を含むものとしてもよい。この構成によれば、近接し合う画素の奥行き値の差異を抑えて立体視画像の画質を維持することができる。
【0013】
また、修正手段が、各画素の奥行き値を複数の離散値に近似させる手段を備える構成のもとでは、前記パラメータ特定手段によって特定される立体化パラメータが、前記各離散値の間隔を表す丸め係数を特定するための数値を含むものとしてもよい。こうすれば、奥行き値の段階数を離散値の段階数に応じて変化させることができるから、立体視画像における奥行きの範囲が適宜に選定されるとともに、立体視画像における視差を特定の範囲に限定することができる。この構成のもとでは、丸め係数を特定するための数値として、前記複数の離散値の段階数であるオブジェクト深度を用いてもよい。
【0014】
さらに、修正手段が、各画素の奥行き値を特定の範囲内の数値に修正する手段を備える構成のもとでは、前記パラメータ特定手段によって特定される立体化パラメータが、前記特定の範囲の上限値および下限値の少なくとも一方を含むものとしてもよい。この構成によれば、各画素の奥行き値が特定の範囲に限定されるから、立体視画像における視差を利用者によって視認可能な範囲に限定することができる。
【0015】
また、本発明に係る画像処理装置において、動画像を構成する複数の画像の各々について原画像データが記憶装置に記憶される構成を採用する場合には、立体化処理手段が、記憶装置に記憶された原画像データの各々について、当該原画像データに対応付けられた立体化パラメータを用いた立体化処理をリアルタイムに(すなわち、原画像データが表す画像を表示装置に表示すべきタイミングが到来するたびに)実行する構成としてもよい。
【0016】
なお、上記第1または第2の特徴を有する画像処理装置としてコンピュータを機能させるためのプログラムとしても本発明は特定され得る。このプログラムは、ネットワークを介してコンピュータに提供されるものであってもよいし、光ディスクに代表される各種の記録媒体に格納された形態で提供されてコンピュータにインストールされるものであってもよい。
【0017】
また、上記第1または第2の特徴を有する画像処理装置において処理に供されるデータとしても本発明は特定され得る。すなわち、上述した第1の特徴については、画像を表す原画像データから相互に視差のある右目用画像と左目用画像とを生成する立体化処理を行なう画像処理装置において処理に供されるデータであって、前記立体化処理に際して用いられるパラメータとして利用者による指示に応じて特定された立体化パラメータと、その立体化パラメータを用いて立体化処理に供されるべき原画像データとが対応付けられたデータ構造を有することを特徴とする。一方、第2の特徴については、画像を表す原画像データから相互に視差のある右目用画像と左目用画像とを生成する立体化処理を行なう画像処理装置において処理に供されるデータであって、被写体を撮像する撮像装置から取得した原画像データと、その画像が撮像されたときの撮像条件であって前記撮像装置から取得した撮像条件に基づいて特定された立体化パラメータとが対応付けられたデータ構造を有することを特徴とする。
【0018】
一方、本発明に係る撮像装置は、上記第2の特徴を有する画像処理装置に対して立体化処理に供されるべき原画像データを提供することを特徴としている。すなわち、この撮像装置は、特定の撮像条件のもとで被写体を撮像する撮像手段と、前記撮像手段によって撮像された画像を表す原画像データと、その画像が撮像されたときの撮像条件であって当該画像を対象とした前記立体化処理に際して適用されるべき立体化パラメータを特定するための撮像条件とを対応付けて記憶装置に記憶させる制御手段とを具備することを特徴とする。
【0019】
【発明の実施の形態】
以下、図面を参照して、本発明の実施形態について説明する。
【0020】
<A:第1実施形態>
図1は、本発明の第1実施形態に係る画像処理装置の構成を示すブロック図である。同図に示すように、この装置100は、CPU(Central Processing Unit)10と、このCPU10にバス15を介して接続されたROM(Read Only Memory)11、RAM(Random Access Memory)12および記憶装置13とを有する。バス15には、表示装置40および入力装置30が接続されている。このように、画像処理装置100は、パーソナルコンピュータに代表される一般的なコンピュータと同様の構成を有する。
【0021】
CPU10は、この画像処理装置100の各部を中枢的に制御するための装置であり、プログラムに従って演算処理や各部の制御を行なうことによって種々の機能を実現する。ROM11はCPU10によって実行されるプログラムを記憶するためのメモリであり、RAM12はCPU10によって作業領域として使用されるメモリである。
【0022】
記憶装置13は、CPU10によって実行される各種のプログラムやこのプログラムの実行に伴なって使用される各種のデータを記憶する装置である。例えば、磁気ディスクを内蔵したハードディスク装置や、CD−ROMに代表される可搬型の記録媒体を収容するディスク装置などが記憶装置13として採用され得る。この記憶装置13には、画像処理装置100の全体動作を管理するためのOS(Operating System)のほか、画像に関する処理を行なうためのアプリケーションプログラム(以下「画像処理プログラム」という)131が記憶されている。この画像処理プログラム131は、原画像たる平面画像を表すデータ(以下「原画像データ」という)から立体視画像を表すデータ(以下「立体視画像データ」という)を生成する機能を提供する。この立体視画像は、利用者の右目によって視認されるべき画像(以下「右目用画像」という)と左目によって視認されるべき画像(以下「左目用画像」という)とが合成された画像である。左目用画像と右目用画像とは視差を有する。すなわち、これらの画像は、原画像の被写体を構成する画素を当該被写体の奥行きに応じた量(以下「画素移動量」という)だけ水平方向に移動させた画像である。利用者は、右目によって右目用画像を視認するとともに左目によって左目用画像を視認することにより、原画像に含まれる各被写体についてその画素移動量に応じた奥行きを知覚することとなる。
【0023】
この画像処理プログラム131による処理の対象となる画像は、例えばビデオテープレコーダ20から取得される。ビデオテープレコーダ20は、動画像を表すアナログ信号を利用者による操作に応じて出力する。このアナログ信号は、A/D(Analog to Digital)変換器21によってデジタルデータに変換されたうえで画像処理装置100に入力される。CPU10は、このデジタルデータをひとつの画像ごとにキャプチャしたうえで原画像データとして記憶装置13に記憶させる。本実施形態においては、原画像データが、原画像を構成する各画素の表示色をRGB形式にて表すデータである場合を想定する。すなわち、原画像データのうちひとつの画素に対応するデータは、その画素の表示色のうち赤色成分の数値Rと緑色成分の数値Gと青色成分の数値Bとを含んでいる。
【0024】
入力装置30は、マウスなどのポインティングデバイスと、文字や記号を入力するためのキーボードとを備え、利用者による操作に応じた信号をCPU10に出力する。利用者は、この入力装置30を適宜に操作することによって、原画像データから立体視画像データを生成するときに適用されるべき各種のパラメータ(以下「立体化パラメータ」という)を入力することができる。
【0025】
表示装置40は、CRT(Cathode Ray Tube)や液晶表示パネルなどを備え、CPU10による制御のもとに各種の画像を表示する。さらに、本実施形態における表示装置40は、立体視画像のうち右目用画像を利用者の右目のみに視認させる一方、左目用画像を利用者の左目のみに視認させるように、立体視画像データに応じた画像の表示を行なうことができるようになっている。このような立体視画像を利用者に知覚させるための構成としては従来から種々の構成が提案されているが、本実施形態においては偏光フィルタを用いた構成を想定する。
【0026】
すなわち、図2(a)に示すように、表示装置40の表示面401には、その面の上から数えて奇数番目の走査線402に対応する領域と偶数番目の走査線402に対応する領域とで偏光方向が異なる偏光フィルタ403が貼り付けられている。図2(a)に示す例では、表示面401のうち奇数番目の走査線402と重なる領域には図面右上から左下に向かう方向の偏光軸を有する偏光フィルタ403が貼り付けられ、偶数番目の走査線402と重なる領域には図面左上から右下に向かう方向の偏光軸を有する偏光フィルタ403が貼り付けられている。一方、立体視画像を視認しようとする利用者は、眼鏡に類似した形状を有する器具(以下「立体視眼鏡」という)50を頭部に装着する。この立体視眼鏡50は、偏光軸が偶数番目の偏光フィルタ403と同一方向に設定された偏光フィルタが貼り付けられて利用者の右目を覆う右目用レンズ501と、偏光軸が奇数番目の偏光フィルタと同一方向に設定された偏光フィルタ403が貼り付けられて利用者の左目を覆う左目用レンズ502とを有する。この構成のもとで、例えば、偶数番目の走査線402によって右目用画像を表示させるとともに、奇数番目の走査線402によって左目用画像を表示させることによって、右目用画像は利用者の右目のみによって視認され、左目用画像は左目のみによって視認されるのである。
【0027】
また、表示装置40には、利用者が原画像を編集するための画像(以下「画像編集ウィンドウ」という)が表示される。図3に示すように、この画像編集ウィンドウ80は、縮小表示領域81と画像表示領域82と効果設定領域83とを含んでいる。このうち縮小表示領域81は、動画像を構成する複数の原画像が縮小されたうえで水平方向に配列される領域である。利用者は、入力装置30のマウスを用いてスクロールバー811を適宜に操作することによって、動画像のうち縮小表示領域81に表示されるべき原画像を任意に変更することができる。また、画像表示領域82は、原画像から得られた立体視画像が表示される領域である。
【0028】
一方、効果設定領域83は、立体化処理に関わる各種の立体化パラメータを利用者が入力するための領域である。この効果設定領域83において入力される立体化パラメータの種類は図3に示す通りであるが、ここでは効果設定領域83の具体的な説明に先立って、画像処理プログラム131の実行に伴なう立体化処理の具体的な内容を説明し、この説明に沿って、効果設定領域83において入力される各種の立体化パラメータの意味に言及する。なお、ここでは説明の便宜のために、ひとつの画像が立体化処理の対象とされた場合を想定する。
【0029】
<立体化処理の内容>
図4は、立体化処理の具体的な内容を示すフローチャートである。同図に示すように、立体化処理を開始すると、CPU10はまず、処理対象となる原画像データに基づいて各画素ごとに奥行き値(Z値)を算出する(ステップS61)。この奥行き値は、画素移動量を決定するための基礎となる数値である。本実施形態においては、原画像をグレースケールとして表現したときの階調を奥行き値として用いる。具体的には、以下の式(1)に示すように、ひとつの画素の表示色のうち赤色成分R、緑色成分Gおよび青色成分Bの各々に対して所定の係数を乗じたうえで総和することによって得られる数値を奥行き値として用いる。
(奥行き値)=R×α+G×β+B×γ (1)
この式(1)において係数α、βおよびγの値は適宜に選定し得る。具体的には、係数αを「0.3」、係数βを「0.59」、係数γを「0.11」程度に設定することが望ましい。なお、本実施形態においては、奥行き値が8ビットで表される場合を想定する。したがって、奥行き値は「0」から「255」までの256通りの数値をとり得る。
【0030】
続いて、CPU10は、立体視画像をより自然な立体感が得られる画像とするために、ステップS61にて得られた奥行き値を修正するための処理を行なう(ステップS62からS67)。図5は、この修正処理に伴なう奥行き値の変化の様子を模式的に表す図である。同図においては、ひとつの走査線402に属する画素の位置が横軸に示され、各画素の奥行き値が縦軸に示されている。上記ステップS61にて得られた奥行き値は図5(a)に示す通りである。以下、この図を参照しながら、ステップS62からS67の具体的な処理の内容を説明する。
【0031】
まず、CPU10は、立体視画像を生成するときの画素移動量の大小と奥行き値の大小との関係を反転させるべきか否かを判定する(ステップS62)。いま、ステップS61にて得られた奥行き値に比例するように画素移動量を決定するものと仮定すれば、奥行き値が大きい被写体(すなわち明るい被写体)ほど利用者からみて手前に近づき、奥行き値が小さい被写体(すなわち暗い被写体)ほど利用者からみて奥に遠ざかることとなる。ここで、実際の原画像において暗い被写体が奥に位置し、明るい被写体が手前に位置する場合にはこの方法で自然な立体視が実現される。しかしながら、原画像のなかには、明るい背景(例えば青空)の中央に暗い被写体が存在するといった具合に、奥行き値が大きい被写体ほど利用者からみて奥に位置し、奥行き値が小さい被写体ほど利用者からみて手前に位置するものも想定し得る。このような画像について奥行き値に比例するように画素移動量を決定するものとすれば、利用者が知覚する立体視画像は被写体の遠近が逆転した不自然なものとなる。そこで、ステップS62において、原画像の奥行き値の変化の傾向に基づいて、画素移動量の大小と奥行き値の大小との関係を反転させるべきか否かを判定するのである。
【0032】
具体的には、CPU10は、原画像に含まれるすべての画素の奥行き値の平均値を算出する一方、この原画像を区分した複数の領域(以下「サンプリング領域」という)の各々について、当該領域に属する画素の奥行き値の平均値を算出する。本実施形態においては、図6に示すように、原画像Gを9つのサンプリング領域Asに区分した場合を想定する。これらのサンプリング領域Asの各々には、画像中の被写体の遠近に関する一般的な傾向に応じて決定された値(以下「重み値」という)が予め設定されている。この一般的な傾向とは、画像のうち上部の方が下部よりも遠景(例えば空)である場合が多く、画像のうち中央に近い部分の方がその周辺の部分よりも遠景である場合が多いというものである。具体的には、図6に示すように、原画像Gのうち上方寄りのサンプリング領域Asには下方寄りのサンプリング領域Asよりも大きい重み値が設定されており、原画像Gのうち中央寄りのサンプリング領域Asには周辺寄りのサンプリング領域Asよりも大きい重み値が設定されている。CPU10は、9つのサンプリング領域Asのうち奥行き値の平均値が原画像G全体の平均値よりも大きいサンプリング領域Asを特定し、特定した1以上のサンプリング領域Asの重み値を合計する。そして、求められた合計値が予め定められたしきい値以上である場合、すなわち原画像Gの上部が下部よりも明るく、または中央部が周辺部よりも明るい傾向にある場合には、CPU10は、画素移動量の大小と奥行き値の大小との関係を反転させると判定する。これに対し、求められた合計値が予め定められたしきい値未満である場合、すなわち原画像Gの上部が下部よりも暗く、または中央部が周辺部よりも暗い傾向にある場合には、CPU10は、画素移動量の大小と奥行き値の大小との関係を反転させないと判定する。
【0033】
この反転判定処理に続いて、CPU10は、ステップS61にて算出した奥行き値を平均化するための処理を行なう(ステップS63)。この処理を行なうのは、原画像のうち近接する画素において奥行き値の差異が著しく大きいと立体視画像における画素の乱れが発生するからである。
【0034】
具体的には、図7に示すように、CPU10は、原画像Gに含まれる各画素Pごとに、その画素Pを含む特定の領域(以下「マトリクス領域」という)Amにおける奥行き値の平均値を算出し、この求めた平均値を当該画素Pの奥行き値として更新する。すなわち、各画素Pの奥行き値が、当該画素Pを左上隅に含むマトリクス領域Amにおける奥行き値の平均値に変更されることとなる。この処理の結果、図5(b)に示すように、原画像において近接する画素の奥行き値の変化は、ステップS61にて算出された奥行き値よりも滑らかなものとなる。この処理において用いられるマトリクス領域Amの大きさ(以下「マトリクス寸法」という)Smは、図3に示した効果設定領域83において立体化パラメータのひとつとして利用者に指示される。このマトリクス寸法Smが大きいほど平均値を算出する対象となる画素数が多くなるから、各画素同士の奥行き値の相違、ひいては利用者によって知覚される立体感は小さくなる。一方、マトリクス寸法Smが小さいほど平均値を算出する対象となる画素数は少なくなるから、各画素同士の奥行き値の相違、つまり利用者によって知覚される立体感は大きくなる。
【0035】
ところで、立体視画像における画素移動量の最小の単位はひとつの画素である。すなわち、ひとつの画素よりも小さい量を画素移動量として設定することはできない。したがって、奥行き値が「1」だけ増加するごとに画素移動量をその最小単位である画素ひとつ分だけ増加させるとしても、奥行き値が最大値たる「255」である場合には画素移動量が画素256個分に相当する大きさとなる。しかしながら、画素移動量があまりに大きくなると(例えば8mm以上になると)立体視画像を視認する利用者に目の疲労が生じやすくなり、さらには利用者が立体として知覚しにくくなるといった問題が生じ得る。このため、CPU10は、ステップS63にて得られた各画素の奥行き値をいくつかの段階の離散値に近似するための処理を行なう(ステップS64)。
【0036】
具体的には、CPU10は、各画素ごとに、ステップS63にて得られた奥行き値を特定の数値(以下「丸め係数」という)MKで除し、この除算結果を整数化した数値に対して同じ丸め係数MKを乗算する。この結果、図5(c)に示すように、各画素の奥行き値は丸め係数MKの整数倍に相当する数値に近似されるのである。つまり、丸め係数MKは、奥行き値が近似されるべき各離散値の間隔の大きさを表す数値であるということができる。本実施形態においては、この丸め係数MKとして、奥行き値の取り得る値の最大値(255)をオブジェクト深度で除した値を整数化した数値が用いられる。このオブジェクト深度Obは、近似により得られた奥行き値がとり得る値の段階数を表す。また、上述したように画素移動量の段階数は奥行き値の段階数に比例するから、オブジェクト深度Obは、利用者が立体視画像を視認したときに最も奥と知覚する位置と最も手前と知覚する位置との隔たりの大きさを表す数値ということもできる。このオブジェクト深度は、図3に示した効果設定領域83において立体化パラメータのひとつとして利用者に指示された数値に設定される。もっとも、丸め係数MKそのものが立体化パラメータのひとつとして利用者に指示される構成としてもよい。
【0037】
この量子化処理に続いて、CPU10は、各画素の奥行き値を特定の範囲内の数値に限定するための処理を行なう(ステップS65)。この範囲の上限値Duおよび下限値Dlは、図3に示した効果設定領域83において立体化パラメータのひとつとして利用者に指示される。さらに、本実施形態においては、奥行き値の限定の方法として、「丸め」、「折返」および「横滑」という3つの方法が用意されており、このうちのいずれかが画像編集ウィンドウ80において立体化パラメータとして利用者に指示されるようになっている(図3参照)。以下、この3つの方法の具体的な内容を説明する。
【0038】
まず、利用者によって「丸め」が指示されている場合、CPU10は、図8(a)に示すように、各画素ごとに、奥行き値が下限値Dlよりも小さいときには当該画素の奥行き値をその下限値Dlに変更する一方、奥行き値が上限値Duよりも大きいときには当該画素の奥行き値をその上限値Duに変更する。また、利用者によって「折返」が指示されている場合、CPU10は、図8(b)に示すように、各画素の奥行き値を上限値Duまたは下限値Dlを基準として折り返した数値に変更する。すなわち、CPU10は、下限値Dlよりも小さい奥行き値を、下限値Dlを基準として反転させたときの数値に変更する。同様に、CPU10は、上限値Duよりも大きい奥行き値を、上限値Duを基準として反転させたときの数値に変更する。一方、利用者によって「横滑」が指示されている場合、CPU10は、図8(c)に示すように、各画素の奥行き値を上限値Duまたは下限値Dlを基準として平行移動した数値に変更する。すなわち、CPU10は、下限値Dlよりも小さい奥行き値を、下限値Dlと奥行き値のとり得る最小値(0)との差に相当する量だけ増加させた数値に変更する。同様に、CPU10は、上限値Duよりも大きい奥行き値を、奥行き値のとり得る最大値(255)と上限値Duとの差に相当する量だけ減少させた数値に変更する。この処理により、図5(d)に示すように、すべての画素の奥行き値が下限値Dlから上限値Duまでの範囲内の数値に限定されることとなる。
【0039】
次いで、CPU10は、ステップS62における判定結果に応じて適宜に反転処理を実行する(ステップS66)。すなわち、ステップS62において反転させることを判定した場合、CPU10は、画素移動量の大小と奥行き値の大小との関係が反転するように、各画素の奥行き値を修正する。具体的には、CPU10は、各画素ごとに、奥行き値の最大値である「255」からステップS65にて得られた奥行き値を減じた値を、当該画素の新たな奥行き値とする。これにより、奥行き値が大きいほど画素移動量が小さく、奥行き値が小さいほど画素移動量が大きくなる。一方、ステップS62において反転させないと判定している場合、CPU10は、各画素の奥行き値をステップS65にて得られた数値に維持する。
【0040】
続いて、CPU10は、ステップS66の結果として得られたすべての画素の奥行き値に対して共通の数値(以下「奥行深度」という)Dcを加算する(ステップS67)。この奥行深度Dcは、原画像の全体に共通して反映させるべき奥行きを表す数値である。すなわち、利用者が最も奥として知覚する位置と最も手前として知覚する位置との間の範囲がオブジェクト深度Obによって特定される一方、この範囲全体の奥行きが奥行深度Dcによって特定されるということができる。この奥行深度Dcは、図3に示した効果設定領域83において立体化パラメータのひとつとして利用者に指示される。この奥行深度Dcとしては、正数のみならず「0」や負数を選択することもできる。
【0041】
以上が奥行き値の修正に関わる処理である。これらの処理が完了すると、CPU10は、得られた奥行き値に基づいて立体視画像を生成する(ステップS68)。すなわち、原画像に含まれる各画素を、当該画素の奥行き値に応じた量だけ水平方向に移動させて右目用画像および左目用画像を生成し、これらの画像を合成することによって立体視画像を生成するのである。
【0042】
再び図3において、画像編集ウィンドウ80の効果設定領域83のうち部分831は、編集の対象となる原画像の範囲、すなわち利用者によって指示された立体化パラメータが適用されるべき原画像の範囲を指定するための領域である。本実施形態においては、利用者は、入力装置30のマウスを用いてこの領域のチェックボックスを適宜にクリックすることにより、立体化パラメータが適用される対象として、動画像を構成する多数の原画像のうちいずれかひとつの原画像(図3に示す「個別」)、その動画像のひとつのシーンに含まれる含まれる原画像(図3に示す「シーン」)、および動画像のすべての原画像(図3に示す「全編」)のうちいずれかを選択することができる。
【0043】
また、効果設定領域83は、原画像の立体化処理において用いられるべき立体化パラメータを利用者が入力するための複数の部分を含んでいる。すなわち、効果設定領域83のうち部分832は奥行深度Dcを入力するための領域であり、部分833はオブジェクト深度Obを入力するための領域である。部分832および部分833は、各立体化パラメータの数値を段階的に変更するためのコマンドボタン83aと、このコマンドボタン83aによって決定された数値を表示するとともに利用者が各立体化パラメータの数値を入力装置30のキーボードから直接に入力するための入力欄83bとを有する。一方、図3に示す部分834はステップS65にて用いられる上限値Duおよび下限値Dlを入力するための領域である。この部分834には、上限値Duおよび下限値Dlを数値として入力するための領域のほか、上述したステップS65において奥行き値の範囲を限定する方法を選択するためのチェックボックスが含まれている。さらに、部分835は、ステップS63にて用いられるマトリクス寸法Smを、そのマトリクス領域の横の長さに相当する画素数と縦の長さに相当する画素数として入力するための領域である。
【0044】
一方、効果設定領域83の初期値ボタン837は、各立体化パラメータの値を予め記憶装置13に記憶された初期値に変更することを指示するためのコマンドボタンである。また、効果設定領域83のうち実行ボタン838は、この効果設定領域83にて指示された立体化パラメータを実際の立体化処理に反映させることを指示するためのコマンドボタンである。さらに、記録ボタン839は、この効果設定領域83にて指示された立体化パラメータを記憶装置13に記憶させることを指示するためのコマンドボタンである。
【0045】
次に、本実施形態の動作を説明する。利用者によって入力装置30に所定の操作がなされて画像処理プログラム131の起動指示が与えられると、CPU10は、記憶装置13に記憶された画像処理プログラム131をRAM12に読み込んだうえでこれを順次に実行する。図9は、画像処理プログラム131が実行されたときの処理の流れを示すフローチャートである。前掲図4を参照して説明した立体化処理は、図9に示したステップSa6において実行される。
【0046】
画像処理プログラム131が起動されると、CPU10はまず、図3に示した画像編集ウィンドウ80を表示装置40に表示させる(ステップSa1)。この後、利用者は、入力装置30を用いて画像編集ウィンドウ80のファイルボタン801を操作することによって、記憶装置13に記憶された動画像を選択する。この操作を検知すると、CPU10は、選択された動画像のファイルを記憶装置13からRAM12に読み込んだうえで、これに含まれる複数の原画像を縮小表示領域81に表示させる。
【0047】
一方、利用者は、入力装置30を適宜に操作することによって、立体化処理の対象とすべき1以上の原画像を選択する。具体的には、利用者はまず、入力装置30のマウスによって、部分831に表示されたいずれかのチェックボックスをクリックする。そして、部分831のうち「個別」を選択した場合、利用者は、縮小表示領域81に表示された複数の原画像のいずれかをクリックすることによって、当該原画像を立体化処理の対象として選択することができる。また、部分831のうち「シーン」を選択した場合、利用者は、縮小表示領域81に表示された複数の原画像のいずれかをクリックすることによって、当該原画像を含むシーンを構成する複数の原画像を立体化処理の対象として選択することができる。一方、部分831のうち「全編」を選択した場合、利用者は、動画像に含まれるすべての原画像を立体化処理の対象として一括して選択することができる。CPU10は、利用者によるこの操作を検知することにより、立体化処理の対象とすべき1以上の原画像を特定する(ステップSa2)。
【0048】
続いてCPU10は、効果設定領域83に含まれるいずれかの立体化パラメータを指示する操作が利用者によって実行されたか否かを判定する(ステップSa3)。この操作を検知すると、CPU10は、入力された立体化パラメータを表示装置40の効果設定領域83の各部に表示させる(ステップSa4)。また、ステップSa3において、図3に示した初期値ボタン837が操作されたと判定すると、CPU10は、記憶装置13に予め記憶された各立体化パラメータの初期値を読み出し、これらの数値を効果設定領域83の各部に表示させる(ステップSa4)。一方、立体化パラメータの指示がなされていない場合、CPU10は、ステップSa4を経ることなくステップSa5に処理を移行させる。
【0049】
次いで、CPU10は、効果設定領域83に含まれる実行ボタン838が利用者によって操作されたか否かを判定する(ステップSa5)。ここで実行ボタン838が操作されたと判定すると、CPU10は、その時点において効果設定領域83に表示されている立体化パラメータを用いて、図4に示した立体化処理を実行する(ステップSa6)。そして、CPU10は、この立体化処理によって得られた立体視画像を画像表示領域82に表示させる(ステップSa7)。利用者は、立体視眼鏡50を用いて表示装置40の表示面401を視認することにより、自分の指示した立体化パラメータが反映された立体視画像を確認することができる。一方、ステップSa5において実行ボタン838が操作されていないと判定した場合、CPU10は、ステップSa6およびSa7を経ることなくステップSa8に処理を移行する。
【0050】
続いて、CPU10は、効果設定領域83に含まれる記録ボタン839が利用者によって操作されたか否かを判定する(ステップSa8)。ここで操作がなされていないと判定した場合、CPU10は、ステップSa9を経ることなく処理をステップSa2に戻す。
【0051】
これに対し、利用者によって記録ボタン839が操作されたと判定した場合、CPU10は、現時点において処理対象として選択されている原画像データと、その時点で効果設定領域83に指示されている立体化パラメータとを対応付けて記憶装置13に記憶する(ステップSa9)。すなわち、CPU10は、第1に、記憶装置13に記憶された多数の原画像データのうちステップSa2において特定された原画像データを探索し、第2に、図10に示すように、探索した1以上の原画像データの先頭部分に、その時点における立体化パラメータをヘッダとして付加するのである。なお、ここでは立体化パラメータをヘッダとして付加する場合を想定したが、原画像データの後尾にフッタとして付加する構成としてもよい。この後にCPU10は、ステップSa2に処理を移行させる。
【0052】
以上が画像を編集するときの動作である。一方、利用者によって入力装置30に所定の操作がなされ、既に立体化パラメータが設定された原画像を立体視画像として表示させることが指示されると、CPU10は、記憶装置13に記憶された原画像データについて、その原画像データに付加された立体化パラメータを用いて立体化処理(図4に示した処理)を順次に施し、この結果として得られた立体視画像を表示装置40に表示させる。より具体的には、CPU10は、動画像を構成する原画像のいずれかを表示装置40に表示させるベきタイミングが到来するたびに(すなわちリアルタイムに)その原画像の原画像データを対象とした立体化処理を実行し、これにより得られた立体視画像を表示装置40に順次に表示させるのである。
【0053】
このように、本実施形態においては、利用者からの指示に応じた立体化パラメータが原画像データに付加されて記憶装置13に格納される。したがって、その後に原画像データから立体視画像データを生成するときには、利用者は立体化パラメータを入力する必要はないから、利用者の作業負担を軽減することができる。
【0054】
また、本実施形態においては、奥行き値を修正するための奥行深度Dcやオブジェクト深度Ob、奥行き値の上限値Duおよび下限値Dlなどが利用者によって任意に選択されるから、利用者は所望の立体視画像を得ることができる。例えば、立体視画像の全体の奥行きを奥行深度Dcに応じて変更することができ、最も奥として知覚される位置と最も手前として知覚される位置との隔たり(画像の立体感)をオブジェクト深度Obに応じて変更することができる。また、上限値Duおよび下限値Dlを適宜に選択することにより、画像の乱れを抑えつつ自然な立体感を得ることができる。
【0055】
<B:第2実施形態>
上述した第1実施形態においては、利用者によって選択された立体化パラメータを用いて立体化処理が実行される構成を例示した。これに対し、本実施形態においては、カメラなどの撮像装置から取得した情報に基づいて立体化パラメータが特定されるようになっている。なお、以下では、本実施形態に関わる技術的要素のうち上記第1実施形態と同様の役割を担うものについては共通の符号を付して適宜にその説明を省略する。
【0056】
図11は、本実施形態に係る画像処理装置の構成を示すブロック図である。同図に示すように、この装置100のバス15にはインタフェース(図示略)を介して撮像装置70が接続される。撮像装置70は、静止画像または動画像を撮像するための装置であり、例えばデジタルカメラである。この撮像装置70は、撮像素子71と制御部72と記憶装置73とを備えている。このうち撮像素子71は、被写体を撮像してその平面画像を表す原画像データを生成する手段であり、例えばCCD(Charge Coupled Device)である。制御部72は、撮像素子71による撮像の条件(以下「撮像条件」という)を利用者からの指示または所定のアルゴリズムに従って決定する手段であり、各種の演算や制御を行なうCPUを含んでいる。この制御部72によって決定される撮像条件としては、例えば、シャッタースピード、絞りまたは露光など、撮像に供される光量を調整する各種のパラメータがある。また、露光量を増加させる逆光補正など各種の補正処理を行なうか否かについても、制御部72が撮像条件として決定する。一方、記憶装置73は、撮像素子71によって撮像された原画像データを記憶するための装置であり、例えば半導体メモリである。撮像素子71によって撮像がなされると、これにより得られた原画像データと、その撮像に際して適用された撮像条件とが対応付けられて記憶装置73に記憶される。
【0057】
本実施形態においては、画像処理装置100における立体化処理に用いられる立体化パラメータが、この撮像条件に基づいて特定されるようになっている。具体的には、シャッタースピードや絞りといった露光量に関わる撮像条件に基づいて、立体化処理に際して奥行き値の分布範囲を拡張する処理を実行すべきか否かを表す立体化パラメータ(以下では「拡張処理フラグ」という場合がある)が特定される。さらに、逆光補正の有無などの撮像条件に基づいて、立体化処理に際して画素移動量の大小と奥行き値の大小との関係を反転させるべきか否かを表す立体化パラメータ(以下では「反転処理フラグ」という)が特定される。以下、これらの立体化パラメータを特定する方法について詳述する。
【0058】
いま、光量が多くて明るい環境のもとで原画像を撮像した場合、この原画像からステップS61の手順を経て得られる奥行き値は、図12(a)に示すように、多くの画素について全体的に大きい数値範囲A(すなわち淡い階調)に偏ることとなる。ここで、撮像時のシャッタースピードの増加や絞りの抑制などによって撮像に供される光量を低減させた場合を想定する。この場合、撮像によって得られた原画像においては、図12(b)に示すように、多くの画素の奥行き値が中間的な階調の範囲Bに分布することとなる。しかしながら、図12(a)に示したように撮像の環境全体が明るいため、この場合にも多くの画素の奥行き値は特定の範囲B内に偏在することとなる。上記実施形態に示したように立体視画像の奥行き(あるいは奥行きを決定する画素移動量)は奥行き値に基づいて決定されるから、この狭い範囲に偏在する奥行き値をそのまま立体化処理に用いるとすれば、得られた立体視画像は奥行き感に乏しいものとなり得る。
【0059】
そこで、本実施形態においては、撮像条件に基づいて撮像環境の光量が過大であると判定される場合に、奥行き値の分布を拡張する処理が実行される。すなわち、全階調のうち特定の範囲Bに偏在する奥行き値を、図12(c)に示すように全階調にわたって均等に分布する数値に変更するのである。具体的には、原画像において特定の範囲Bに偏在している奥行き値に特定の係数を乗算することによって、当該範囲Bにおける最小の奥行き値を「0」に変更し、当該範囲における最大の奥行き値を「255」に変更する一方、その間の奥行き値は「0」から「255」までの範囲に分布するように変更するのである。ここで、本実施形態においては、図12(c)に示すように、範囲Bに属する奥行き値のうち小さい奥行き値ほど変更後の奥行き値の間隔が小さくなり、範囲Bに属する奥行き値のうち大きい奥行き値ほど変更後の奥行き値の間隔が大きくなるように、上記特定の係数が適宜に変更される。なお、ここでは撮像環境が明るい場合を想定したが、これとは逆に撮像環境が暗い場合にも同様の処理が実行される。
【0060】
そして、本実施形態においては、撮像に供される光量を所定のしきい値よりも減らすように撮像条件が設定されている場合、より具体的にはシャッタースピードが所定のしきい値よりも速い数値に設定され、または絞りが所定のしきい値よりも抑制されている場合に、上述した奥行き値拡張処理が実行されるように立体化パラメータたる拡張処理フラグの値が特定される。そして、この拡張処理フラグに奥行き拡張処理の実行を表す数値がセットされている場合に限って、図4に示したステップS63の直前に奥行き拡張処理が実行されるのである。
【0061】
また、本実施形態においては、逆光補正の有無に応じて、図4のステップS66における反転処理の要否を表す反転処理フラグの数値が特定される。すなわち、撮像時に逆光補正が行なわれているということは、多くの場合に、暗い被写体(すなわち奥行き値が小さい部分)が手前に位置し、明るい被写体(すなわち奥行き値が大きい部分)が奥に位置していると判定できる。そこで、逆光補正を実行したことが撮像条件に含まれている場合にはステップS66の反転処理が実行されるように反転処理フラグの数値が特定されるのである。
【0062】
次に、本実施形態の動作を説明する。利用者は、撮像装置70を用いて所望の被写体を撮像し、この撮像装置70を画像処理装置100に接続する。この後、利用者によって入力装置30に所定の操作がなされて画像処理プログラム132の起動指示が与えられると、CPU10は、記憶装置13に記憶された画像処理プログラム132をRAM12に読み込んだうえでこれを順次に実行する。図13は、画像処理プログラム132が実行されたときの処理の流れを示すフローチャートである。
【0063】
同図に示すように、CPU10はまず、記憶装置73に記憶された原画像データと撮像条件とを撮像装置70の制御部72から取得して記憶装置13に格納する(ステップSb1)。次いで、CPU10は、記憶装置13に記憶した撮像条件に基づいて立体化パラメータを特定する(ステップSb2)。本実施形態においては、上述したように、シャッタースピードや絞りといった撮像条件に基づいて拡張処理フラグの数値が特定され、逆光補正の有無に基づいて反転処理フラグの数値が特定される。
【0064】
続いて、CPU10は、記憶装置13に記憶されている原画像データに対して、ステップSb2において特定された立体化パラメータを付加する(ステップSb3)。この結果、記憶装置13による記憶内容は図10に示したものとなる。ただし、撮像装置70から取得した撮像条件によっては必ずしもすべての立体化パラメータを得ることができない場合もある。この場合には、撮像条件から得られた立体化パラメータとともに、予め用意された立体化パラメータが原画像データに付加される。あるいは、上記第1実施形態と同様に利用者に対して立体化パラメータの入力を促し、この入力に応じて特定された立体化パラメータが原画像データに付加される構成としてもよい。
【0065】
次に、CPU10は、原画像データに付加された立体化パラメータを用いて立体化処理を実行する(ステップSb4)。この立体化処理の内容は図4を参照して上述したのと同様である。ただし、上述したように、拡張処理フラグの内容によっては、ステップS63の直前に奥行き値拡張処理が実行されることとなる。そして、CPU10は、この立体化処理によって得られた立体視画像を表示装置40に表示させて(ステップSb5)、図13に示した処理を終了する。なお、既に立体化パラメータが設定された原画像を立体視画像として表示させるときの動作は上記第1実施形態と同様である。
【0066】
本実施形態によれば、撮像装置70による撮像条件に応じて立体化パラメータが特定されるから、利用者が立体化パラメータを入力する作業を軽減することができる。しかも、撮像条件は撮像時における環境(例えば周囲の明るさ)を反映したものであるため、この撮像条件に基づいて決定された立体化パラメータを用いることによって、実際に撮像された被写体により忠実な立体視画像が得られる。
【0067】
なお、本実施形態においては、撮像装置70が画像処理装置100とは別体の装置である場合を想定したが、撮像装置70が画像処理装置100と一体に構成されていてもよい。例えば、撮像装置70が一体に設けられた電子機器(例えば携帯電話機)を画像処理装置100として用いることもできる。
【0068】
<C:変形例>
以上に説明した第1および第2の実施形態はあくまでも例示であり、この形態に対しては本発明の趣旨から逸脱しない範囲で様々な変形を加えることができる。具体的な変形の態様としては、例えば以下のようなものが考えられる。
【0069】
<C−1:変形例1>
上記各実施形態においては、立体化パラメータが原画像データに付加される構成を例示したが、立体化パラメータを記憶する方法はこれに限られない。例えば、図14に示すように、立体化パラメータを原画像データとは別個のファイルとして記憶するとともに、原画像データと立体化パラメータとの対応関係を表すテーブルを記憶装置13に記憶させる構成としてもよい。図14に示すテーブルは、原画像データを識別するための情報と、その原画像データの立体化処理に際して用いられるべき立体化パラメータを識別するための情報とを対応付けるものである。そして、CPU10が、いずれかの原画像データに対して立体化処理を実行するときに、テーブルにおいてその原画像データに対応付けられた立体化パラメータを読み出し、これを立体化処理に際して用いる構成としてもよい。
【0070】
また、図15に示すように、立体化パラメータを原画像データとは別個のファイルとして記憶装置13に記憶させるとともに、このファイルに、各立体化パラメータが適用されるべき原画像データを特定するための情報を含ませる構成としてもよい。このように、本発明においては、立体化パラメータと原画像データとが対応付けられていれば足り、その方法の如何は不問である。
【0071】
<C−2:変形例2>
利用者に指示される立体化パラメータの種類は上記各実施形態に示したものに限られない。例えば、右目用画像および左目用画像の各々を表示させるべき走査線402を奇数番目および偶数番目のいずれとするかを表す情報が立体化パラメータとして記憶装置13に記憶されるようにしてもよい。右目用画像および左目用画像を表示すべき走査線402を切り換えた場合には、右目用画像が利用者の左目によって視認され、左目用画像が利用者の右目によって視認されることとなるから、立体視画像における奥と手前との関係が逆転することとなる。また、図4のステップS62にて用いられるサンプリング領域Asの大きさや位置、あるいは数を指示するパラメータが立体化パラメータとして記憶装置13に記憶される構成としてもよい。また、上記第2実施形態においては、撮像条件に基づいて拡張処理フラグおよび反転処理フラグが特定される構成を例示したが、奥行深度Dcやオブジェクト深度Obといったその他の立体化パラメータが撮像条件に基づいて特定される構成としてもよい。
【0072】
<C−3:変形例3>
上記各実施形態においては、表示装置40の表示面401に偏光フィルムを貼り付けて立体視を実現する場合を例示したが、この立体視を実現するための方法はこれに限られず、公知である各種の方法を採用することができる。例えば、利用者の左目および右目に対して別個の表示面を視認させるHMD(Head Mounted Display)方式や、表示装置に右目用画像と左目用画像とを交互に表示させる一方、眼鏡の左右のレンズ位置に設けられた液晶パネル(いわゆる液晶シャッタ)を表示の切り替えに同期させて交互に遮光状態または透光状態とする時分割シャッタメガネ方式などを採用することができる。あるいは、液晶パネルとレンチキュラーレンズとを組み合わせて左目用画像の光を左目に、右目用画像の光を右目に導くレンチキュラー方式や、表示装置の表示面上に形成されたスリットによって左目用画像の画素を左目に、右目用画像の画素を右目に視認させる方式など、所定の眼鏡を用いなくても立体視画像を視認できる方法を採用することもできる。要するに、相互に視差を有する2つの画像の一方を利用者の左目に視認させ他方を右目に視認させる構成であれば、その他の構成の如何は不問である。また、立体視を実現する複数の方法のうちいずれかを利用者が選択し得る構成とし、この選択された方法を立体化パラメータとして原画像データに対応付けるようにしてもよい。
【0073】
<C−4:変形例4>
上記実施形態においては、利用者からの指示または撮像条件に応じて立体化パラメータが特定される構成を例示したが、以下の構成としてもよい。すなわち、各立体化パラメータについて異なる数値が設定された複数の組を予め記憶装置13に記憶しておく。そして、利用者からの指示または撮像条件に応じていずれかの組が選定されるとともに、この組に含まれる立体化パラメータに基づいて立体化処理が行なわれる構成としてもよい。
【0074】
<C−5:変形例5>
上記第1実施形態においては、原画像データがビデオテープレコーダ20から取得される場合を想定したが、記憶装置13に予め原画像データが記憶されている構成としてもよいし、あるいはインターネットに代表されるネットワークや通信衛星など、情報を提供するための各種の設備から原画像データが取得される構成としてもよい。また、静止画像や動画像を撮像するための撮像装置(例えばデジタルカメラ)や、CD−ROM(Compact Disk - Read Only Memory)およびDVD(Digital Versatile Disk)に代表される各種の記録媒体からデータを読み出すディスク駆動装置、あるいはテレビジョン受像機といった各種の機器から原画像データが取得されるようにしてもよい。なお、これらの機器において原画像データがデジタルデータとして保持されている場合には、図1に示したA/D変換器21は不要である。
【0075】
また、本発明において立体化処理の対象とされる原画像はカラー画像に限られるものではない。例えば、モノクロ画像や赤外線カメラによって撮像された画像、あるいは人体のX線写真(レントゲン写真)として得られた画像を立体化処理の対象とすることもできる。このように、本発明においては、原画像の種類や被写体の内容、および原画像を取得する方法は不問である。
【0076】
【発明の効果】
以上説明したように、本発明によれば、画像の立体化に関わる各種の条件を指示する利用者の負担を軽減することができる。
【図面の簡単な説明】
【図1】 本発明の実施形態に係る画像処理装置の構成を示すブロック図である。
【図2】 表示装置および立体視眼鏡の構成を示す図である。
【図3】 画像編集ウィンドウの内容を示す図である。
【図4】 立体化処理の内容を示すフローチャートである。
【図5】 奥行き値の修正処理の内容を説明するための図である。
【図6】 反転判定処理の内容を説明するための図である。
【図7】 平均化処理の内容を説明するための図である。
【図8】 範囲限定処理の内容を説明するための図である。
【図9】 画像処理プログラムの内容を示すフローチャートである。
【図10】 原画像データと立体化パラメータとが記憶装置に記憶された様子を示す図である。
【図11】 本発明の第2実施形態に係る画像処理装置の構成を示すブロック図である。
【図12】 同実施形態における奥行き値拡張処理について説明するための図である。
【図13】 同実施形態における画像処理プログラムの内容を示すフローチャートである。
【図14】 実施形態の変形例における記憶装置の記憶内容を示す図である。
【図15】 実施形態の変形例における記憶装置の記憶内容を示す図である。
【符号の説明】
100……画像処理装置、10……CPU、13……記憶装置、131,132……画像処理プログラム、40……表示装置、50……立体視眼鏡、70……撮像装置、71……撮像素子、72……制御部、73……記憶装置、80……画像編集ウィンドウ。
Claims (11)
- 画像を表す原画像データから相互に視差のある右目用画像と左目用画像とを生成する立体化処理を実行する立体化処理手段と、
前記立体化処理に際して用いられる立体化パラメータを利用者からの指示に応じて特定するパラメータ特定手段と、
前記パラメータ特定手段によって特定された立体化パラメータを前記原画像データと対応付けて記憶装置に記憶させる制御手段と
を具備し、
前記立体化処理手段は、
各画素ごとに前記原画像データから奥行き値を求める算出手段と、
前記算出手段によって求められた画素ごとの奥行き値を修正する修正手段と、
前記修正手段によって求められた奥行き値に応じた視差を有する前記右目用画像と前記左目用画像とを生成する画像生成手段とを備え、
前記パラメータ特定手段によって特定される立体化パラメータは、前記修正手段による奥行き値の修正内容に関するパラメータであって1又は複数の前記原画像データにおけるすべての画素に共通して用いられるパラメータを含む
ことを特徴とする画像処理装置。 - 前記修正手段は、すべての画素に共通の数値である奥行深度を当該各画素の奥行き値に対して加算する手段を備え、
前記パラメータ特定手段によって特定される立体化パラメータは前記奥行深度を含む
ことを特徴とする請求項1に記載の画像処理装置。 - 前記修正手段は、各画素の奥行き値を、当該画素を含む領域における奥行き値の平均値に更新する手段を備え、
前記パラメータ特定手段によって特定される立体化パラメータは、前記領域の大きさを表す数値を含む
ことを特徴とする請求項1に記載の画像処理装置。 - 前記修正手段は、各画素の奥行き値を複数の離散値に近似させる手段を備え、
前記パラメータ特定手段によって特定される立体化パラメータは、前記各離散値の間隔を表す丸め係数を特定するための数値を含む
ことを特徴とする請求項1に記載の画像処理装置。 - 前記丸め係数を特定するための数値は、前記複数の離散値の段階数であるオブジェクト深度である
ことを特徴とする請求項4に記載の画像処理装置。 - 前記修正手段は、各画素の奥行き値を特定の範囲内の数値に修正する手段を備え、
前記パラメータ特定手段によって特定される立体化パラメータは、前記特定の範囲の上限値および下限値の少なくとも一方を含む
ことを特徴とする請求項1に記載の画像処理装置。 - 前記制御手段は、動画像を構成する複数の画像の各々について原画像データを前記記憶装置に記憶させ、
前記立体化処理手段は、前記記憶装置に記憶された原画像データの各々について、当該原画像データに対応付けられた立体化パラメータを用いた立体化処理をリアルタイムに実行する
ことを特徴とする請求項1に記載の画像処理装置。 - 画像を表す原画像データから相互に視差のある右目用画像と左目用画像とを生成する立体化処理を実行する立体化処理手段と、
被写体を撮像する撮像装置から、撮像された画像を表す原画像データとその画像が撮像されたときの撮像条件とを取得する取得手段と、
前記取得手段によって取得された撮像条件に基づいて、前記立体化処理に際して適用されるべき立体化パラメータを特定するパラメータ特定手段と、
前記パラメータ特定手段によって特定された立体化パラメータを前記取得手段によって取得された原画像データと対応付けて記憶装置に記憶させる制御手段と
を具備することを特徴とする画像処理装置。 - 画像を表す原画像データから相互に視差のある右目用画像と左目用画像とを生成する立体化処理を実行する画像処理装置に対して、前記立体化処理に供されるべき原画像データを提供する撮像装置において、
特定の撮像条件のもとで被写体を撮像する撮像手段と、
前記撮像手段によって撮像された画像を表す原画像データと、その画像が撮像されたときの撮像条件であって当該画像を対象とした前記立体化処理に際して適用されるべき立体化パラメータを特定するための撮像条件とを記憶装置に記憶させる制御手段と
を具備することを特徴とする撮像装置。 - コンピュータを、
画像を表す原画像データから相互に視差のある右目用画像と左目用画像とを生成する立体化処理を実行する立体化処理手段であって、各画素ごとに前記原画像データから奥行き値を求める算出手段と、前記算出手段によって求められた画素ごとの奥行き値を修正する修正手段と、前記修正手段によって求められた奥行き値に応じた視差を有する前記右目用画像と前記左目用画像とを生成する画像生成手段とを備える立体化手段と、
前記立体化処理に際して用いられる立体化パラメータであって1又は複数の前記原画像データにおけるすべての画素に共通して用いられ、前記修正手段による奥行き値の修正内容に関するパラメータを含む立体化パラメータを利用者からの指示に応じて特定するパラメータ特定手段と、
前記パラメータ特定手段によって特定された立体化パラメータを前記原画像データと対応付けて記憶装置に記憶させる制御手段
として機能させるためのプログラム。 - コンピュータを、
画像を表す原画像データから相互に視差のある右目用画像と左目用画像とを生成する立体化処理を実行する立体化処理手段と、
被写体を撮像する撮像装置から、撮像された画像を表す原画像データとその画像が撮像されたときの撮像条件とを取得する取得手段と、
前記取得手段によって取得された撮像条件に基づいて、前記立体化処理に際して適用されるべき立体化パラメータを特定するパラメータ特定手段と、
前記パラメータ特定手段によって特定された立体化パラメータを前記取得手段によって取得された原画像データと対応付けて記憶装置に記憶させる制御手段
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003038665A JP4272901B2 (ja) | 2003-02-17 | 2003-02-17 | 画像処理装置、撮像装置およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003038665A JP4272901B2 (ja) | 2003-02-17 | 2003-02-17 | 画像処理装置、撮像装置およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004248213A JP2004248213A (ja) | 2004-09-02 |
JP4272901B2 true JP4272901B2 (ja) | 2009-06-03 |
Family
ID=33023126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003038665A Expired - Lifetime JP4272901B2 (ja) | 2003-02-17 | 2003-02-17 | 画像処理装置、撮像装置およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4272901B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4283785B2 (ja) | 2005-05-10 | 2009-06-24 | 株式会社マーキュリーシステム | 立体視画像生成装置およびプログラム |
US8588514B2 (en) | 2007-05-11 | 2013-11-19 | Koninklijke Philips N.V. | Method, apparatus and system for processing depth-related information |
JP5338228B2 (ja) | 2008-09-29 | 2013-11-13 | カシオ計算機株式会社 | 画像生成装置、及びプログラム |
JP5567578B2 (ja) * | 2008-10-21 | 2014-08-06 | コーニンクレッカ フィリップス エヌ ヴェ | 入力された三次元ビデオ信号を処理するための方法及びシステム |
KR101783464B1 (ko) | 2010-01-14 | 2017-10-11 | 휴먼아이즈 테크놀로지즈 리미티드 | 렌티큘러 이미지 물품들과, 렌티큘러 이미지 물품들에서 밴딩 아티팩트들을 감소시키는 방법 및 장치 |
JP2011176823A (ja) * | 2010-01-28 | 2011-09-08 | Toshiba Corp | 画像処理装置、立体表示装置及び画像処理方法 |
JP2013005376A (ja) * | 2011-06-21 | 2013-01-07 | Office Sansara Co Ltd | 画像処理プログラム、画像処理装置、及び画像処理方法 |
JP5682656B2 (ja) * | 2013-05-09 | 2015-03-11 | カシオ計算機株式会社 | 距離情報補正装置、画像生成装置、距離情報補正方法、及び、プログラム |
JP2015033047A (ja) * | 2013-08-05 | 2015-02-16 | Kddi株式会社 | 複数カメラを用いた奥行き推定装置 |
-
2003
- 2003-02-17 JP JP2003038665A patent/JP4272901B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2004248213A (ja) | 2004-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7643672B2 (en) | Image processing apparatus, image pickup device and program therefor | |
US8577127B2 (en) | Method and apparatus for processing three-dimensional images | |
US7298917B2 (en) | Image processing program product and device for executing Retinex processing | |
US8558911B2 (en) | Display control device | |
KR101265567B1 (ko) | 입체시 화상 생성 장치 및 프로그램 | |
JP2009053748A (ja) | 画像処理装置、画像処理プログラムおよびカメラ | |
US7889245B2 (en) | Automatic white balancing of a digital image | |
US20120019625A1 (en) | Parallax image generation apparatus and method | |
WO2020170455A1 (ja) | ヘッドマウントディスプレイおよび画像表示方法 | |
WO2020170454A1 (ja) | 画像生成装置、ヘッドマウントディスプレイ、および画像生成方法 | |
JP4272901B2 (ja) | 画像処理装置、撮像装置およびプログラム | |
US7095902B2 (en) | Image processing apparatus, image processing method, and program product | |
JP7365184B2 (ja) | 画像処理装置、ヘッドマウントディスプレイ、および画像表示方法 | |
US8711239B2 (en) | Program recording medium, image processing apparatus, imaging apparatus, and image processing method | |
EP1206124A2 (en) | Method and apparatus of enhancing a digital image using multiple selected digital images | |
JP2004287794A (ja) | 画像処理装置 | |
WO2020170456A1 (ja) | 表示装置および画像表示方法 | |
JP4129786B2 (ja) | 画像処理装置および方法、記録媒体、並びにプログラム | |
US11614627B2 (en) | Image processing apparatus, head-mounted display, and image displaying method | |
US11106042B2 (en) | Image processing apparatus, head-mounted display, and image displaying method | |
JP7429515B2 (ja) | 画像処理装置、ヘッドマウントディスプレイ、および画像表示方法 | |
JP2005229280A (ja) | 画像処理装置および方法並びにプログラム | |
JP4165158B2 (ja) | 画像処理装置および方法、記録媒体、並びにプログラム | |
JP4689243B2 (ja) | 画像処理装置、画像処理方法、及びデジタルカメラ | |
WO2023140033A1 (ja) | 表示制御装置、ヘッドマウントディスプレイ、および表示制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060213 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20080619 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081111 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090113 |
|
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: 20090203 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090302 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120306 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4272901 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120306 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130306 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140306 Year of fee payment: 5 |
|
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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |