しかし、上記従来の特許文献1〜3の立体カメラにおいては、2つのレンズを設けることから、構造が複雑となって製造コストが高くなり、また、カメラ自体が大型化してしまうという問題があった。また、上記従来の立体カメラにおいては、既存のカメラを利用することができないという問題があった。
また、特許文献4に記載の立体情報検出方法及び装置においては、照明光の輝度を振幅変調したり、撮像利得を時間とともに線形増加させる等して、照明光の輝度および撮像利得の少なくとも一方を時間とともに変化させるので、立体画像作成のための処理が複雑となり、装置の構成が複雑となって製造コストが掛かるという問題がある。すなわち、照明光の輝度を時間とともに変化させる場合には、照明光変調信号により直接変調可能な発光素子又は外部変調器が必要となり、また、撮像利得を時間とともに変化させる場合には、撮像利得変調信号に応じて撮像利得を制御可能な装置(例えば、ゲート付きイメージインテンシファイア)が必要となってしまう。
そこで、本発明は、複数のレンズを使用する必要がなく、既存のカメラを利用することができ、立体画像作成のための処理が複雑とならない立体画像作成装置及び立体画像作成方法を提供することを目的とするものである。
本発明は上記問題点を解決するために創作されたものであって、第1には、被写体を撮影して立体画像を作成する立体画像作成装置であって、被写体に対して光を照射する発光装置と、被写体を撮影して画像データを取得する撮影装置と、第1の光が照射された被写体を撮影する第1撮影を行うとともに、第1撮影の前又は後に行う第2撮影であって、該発光装置から第2の光としての光を照射させて第1の光と第2の光とが照射された被写体を撮影する第2撮影を行うように、撮影装置及び発光装置の動作を制御するとともに、第1撮影により取得された二次元画像としての第1画像データと第2撮影により取得された二次元画像としての第2画像データとにおける画素ごとの輝度値の比を算出し、算出された輝度値の比に応じてシフト量を算出し、算出したシフト量に従い視差画像を作成する制御装置と、を有することを特徴とする。
第1の構成の立体画像作成装置によれば、第1撮影により取得された二次元画像としての第1画像データと第2撮影により取得された二次元画像としての第2画像データとにおける画素ごとの輝度値の比を算出し、算出された輝度値の比に応じてシフト量を算出し、算出したシフト量に従い視差画像を作成するので、複数のレンズを設ける必要がないので、製造コストを低くするとともに、カメラの大型化を防ぐことができ、さらには、既存のカメラを利用することができる。特に、デジタルカメラ等のカメラにおける動作プログラムを記憶する記憶装置に上記の動作を行うプログラムを記憶させることにより既存のカメラを利用できるので、製造コストを抑えることができる。また、照明光の輝度や撮像利得を時間とともに変化させる必要がないので、立体画像作成のための処理が複雑とならず、これにより装置の構成が複雑とならず、その点でも製造コストを抑えることができる。
また、第2には、上記第1の構成において、第1の光が自然光であり、第1撮影及び第2撮影において、自然光を第1の光として撮影を行うことを特徴とする。
また、第3には、上記第1の構成において、立体画像作成装置が、上記発光装置の光の照射方向とは異なる方向に光を照射する第2発光装置を有し、
第1撮影及び第2撮影において、制御装置が第2発光装置から第1の光としての光を照射させ、第2発光装置が照射した光が被写体の周囲の反射面に反射することにより被写体に照射された光を第1の光として撮影を行うことを特徴とする。
よって、第2発光装置によりバウンズ光を利用して撮影を行うので、自然光が弱い場合でも撮影を行うことができる。
また、第4には、上記第1の構成において、立体画像作成装置が、上記発光装置の光の照射方向とは異なる方向に光を照射する第2発光装置を有し、制御装置が、第1撮影及び第2撮影の前に撮影対象の被写体を撮影するように撮影装置の動作を制御し、撮影対象の被写体の画像全体の輝度値を測定し、予め定められたしきい値と比較し、測定した輝度値が該しきい値以上である場合には、第1撮影及び第2撮影において、自然光を第1の光として撮影を行い、一方、測定した輝度値が該しきい値未満である場合には、制御装置が第2発光装置から第1の光としての光を照射させ、第2発光装置が照射した光が被写体の周囲の反射面に反射することにより被写体に照射された光を第1の光として撮影を行うことを特徴とする。
よって、撮影対象の被写体の画像全体の輝度値を予め測定して、動作モードを切り換えるので、自然光の強度に関係なく使用することが可能となる。特に、第2発光装置によりバウンズ光を利用して撮影を行うので、自然光が弱い場合でも撮影を行うことができる。
また、第5には、前記第1から第4までのいずれかの構成において、視差画像の作成に際して、第1画像データと第2画像データのいずれかを原画像とし、該原画像に対して、算出されたシフト量に従い左右のいずれかの方向に輝度値をシフトさせ、シフト先の画素において輝度値が重なる場合には、シフト量が大きい画素の輝度値をその画素の輝度値とし、シフト後に輝度値のない無輝度画素がある場合には、該無輝度画素の最初の輝度値がシフトしたシフト方向とは反対方向に隣接する画素の輝度値をその無輝度画素の輝度値とすることを特徴とする。
また、第6には、前記第1から第5までのいずれかの構成において、立体画像作成装置が、被写体におけるある位置と立体画像作成装置の間の距離を測定する測定装置を有し、
制御装置が、被写体におけるある位置と第1の光の強度をIeとし、第2の光の強度をIoとし、発光装置から被写体までの距離をZとし、各画素の輝度値の比をF(x,y)とした場合に、式(A)に測定装置により測定した距離をZに代入することよりIe/Ioを算出し、算出されたIe/Ioを入れた状態の式(A)に従い、被写体における上記で距離をすでに測定した画素以外の各画素と発光装置の間の距離を算出することを特徴とする。
よって、この算出された距離データにより奥行き情報の精度を高めることができ、該算出された距離データを用いて立体画像の表示に使用することができる。
なお、上記第1〜第6の構成において、制御装置が、算出された輝度値の比(各画素ごとに算出された第1画像データと第2画像データの輝度値の比)が予め設定された範囲を超える場合、又は、第1画像データの輝度値と第2画像データの輝度値の差が予め設定された範囲を超える場合には、ハレーションが発生した画像であるとして、該画素の周囲の画素でハレーションが発生していない画素のシフト量をその画素のシフト量として視差画像を作成するようにしてもよい。
また、第7には、被写体を撮影して立体画像を作成する立体画像作成装置であって、被写体に対して光を照射する発光手段と、第1の光が照射された被写体を撮影する第1撮影を行うとともに、第1撮影の前又は後に行う第2撮影であって、発光手段から第2の光としての光を照射させて第1の光と第2の光とが照射された被写体を撮影する撮影手段と、第1撮影により取得された二次元画像としての第1画像データと第2撮影により取得された二次元画像としての第2画像データとにおける画素ごとの輝度値の比を算出する輝度値の比算出手段と、算出された輝度値の比に応じてシフト量を算出し、算出したシフト量に従い視差画像を作成する視差画像作成手段と、を有することを特徴とする。
第7の構成の立体画像作成装置によれば、第1撮影により取得された二次元画像としての第1画像データと第2撮影により取得された二次元画像としての第2画像データとにおける画素ごとの輝度値の比を算出し、算出された輝度値の比に応じてシフト量を算出し、算出したシフト量に従い視差画像を作成するので、複数のレンズを設ける必要がないので、製造コストを低くするとともに、カメラの大型化を防ぐことができ、さらには、既存のカメラを利用することができる。特に、デジタルカメラ等のカメラにおける動作プログラムを記憶する記憶装置に上記の動作を行うプログラムを記憶させることにより既存のカメラを利用できるので、製造コストを抑えることができる。また、照明光の輝度や撮像利得を時間とともに変化させる必要がないので、立体画像作成のための処理が複雑にならず、これにより装置の構成が複雑とならず、その点でも製造コストを抑えることができる。
また、第7−1の構成として以下の構成としてもよい。すなわち、「上記第7の構成において、第1の光が自然光であり、第1撮影及び第2撮影において、自然光を第1の光として撮影を行うことを特徴とする。」ものとする。
また、第7−2の構成として以下の構成としてもよい。すなわち、「上記第7の構成において、立体画像作成装置が、上記発光装置の光の照射方向とは異なる方向に光を照射する第2発光手段を有し、
第1撮影及び第2撮影において、第2発光手段から第1の光としての光を照射させ、第2発光装置が照射した光が被写体の周囲の反射面に反射することにより被写体に照射された光を第1の光として撮影を行うことを特徴とする。」ものとする。よって、第2発光手段によりバウンズ光を利用して撮影を行うので、自然光が弱い場合でも撮影を行うことができる。
また、第7−3の構成として以下の構成としてもよい。すなわち、「上記第7の構成において、立体画像作成装置が、上記発光装置の光の照射方向とは異なる方向に光を照射する第2発光装置を有し、第1撮影及び第2撮影の前に撮影手段により被写体を撮影し、撮影対象の被写体の画像全体の輝度値を測定し、予め定められたしきい値と比較する比較手段を有し、上記撮影手段が、測定した輝度値が該しきい値以上である場合には、第1撮影及び第2撮影において、自然光を第1の光として撮影を行い、一方、測定した輝度値が該しきい値未満である場合には、第2発光装置から第1の光としての光を照射させ、第2発光装置が照射した光が被写体の周囲の反射面に反射することにより被写体に照射された光を第1の光として撮影を行うことを特徴とする。」ものとする。
よって、撮影対象の被写体の画像全体の輝度値を予め測定して、動作モードを切り換えるので、自然光の強度に関係なく使用することが可能となる。特に、第2発光手段によりバウンズ光を利用して撮影を行うので、自然光が弱い場合でも撮影を行うことができる。
また、第7−4の構成として以下の構成としてもよい。すなわち、「上記第7又は第7−1又は第7−2又は第7−3の構成において、視差画像の作成に際して、第1画像データと第2画像データのいずれかを原画像とし、該原画像に対して、算出されたシフト量に従い左右のいずれかの方向に輝度値をシフトさせ、シフト先の画素において輝度値が重なる場合には、シフト量が大きい画素の輝度値をその画素の輝度値とし、シフト後に輝度値のない無輝度画素がある場合には、該無輝度画素の最初の輝度値がシフトしたシフト方向とは反対方向に隣接する画素の輝度値をその無輝度画素の輝度値とすることを特徴とする。」ものとする。
また、第7−5の構成として以下の構成としてもよい。すなわち、「上記第7又は第7−1又は第7−2又は第7−3又は第7−4の構成において、立体画像作成装置が、被写体におけるある位置と立体画像作成装置の間の距離を測定する測定手段と、被写体におけるある位置と第1の光の強度をIeとし、第2の光の強度をIoとし、発光装置から被写体までの距離をZとし、各画素の輝度値の比をF(x,y)とした場合に、式(B)に測定手段により測定した距離をZに代入することよりIe/Ioを算出し、算出されたIe/Ioを入れた状態の式(B)に従い、被写体における上記で距離をすでに測定した画素以外の各画素と発光装置の間の距離を算出することを特徴とする。」ものとしてもよい。
よって、この算出された距離データにより奥行き情報の精度を高めることができ、該算出された距離データを用いて立体画像の表示に使用することができる。
なお、上記第7〜第7−5の構成において、視差画像作成手段が、輝度値の比算出手段により算出された輝度値の比(各画素ごとに算出された第1画像データと第2画像データの輝度値の比)が予め設定された範囲を超える場合、又は、第1画像データの輝度値と第2画像データの輝度値の差が予め設定された範囲を超える場合には、ハレーションが発生した画像であるとして、該画素の周囲の画素でハレーションが発生していない画素のシフト量をその画素のシフト量として視差画像を作成するものとしてもよい。
また、第8には、被写体を撮影して画像データを取得する撮影装置と被写体に対して光を照射する発光装置を有する立体画像作成装置により被写体を撮影して立体画像を作成する立体画像作成方法であって、第1の光が照射された被写体を撮影する第1撮影を行うとともに、第1撮影の前又は後に行う第2撮影であって、発光装置から第2の光としての光を照射させて第1の光と第2の光とが照射された被写体を撮影する撮影工程と、第1撮影により取得された二次元画像としての第1画像データと第2撮影により取得された二次元画像としての第2画像データとにおける画素ごとの輝度値の比を算出する輝度値の比算出工程と、算出された輝度値の比に応じてシフト量を算出し、算出したシフト量に従い視差画像を作成する視差画像作成工程と、を有することを特徴とする。
この第8の立体画像作成方法によれば、第1撮影により取得された二次元画像としての第1画像データと第2撮影により取得された二次元画像としての第2画像データとにおける画素ごとの輝度値の比を算出し、算出された輝度値の比に応じてシフト量を算出し、算出したシフト量に従い視差画像を作成するので、複数のレンズを使用する必要がないので、本発明の立体画像作成方法を行う装置の製造コストを低くするとともに、該装置の大型化を防ぐことができ、さらには、既存のカメラを利用することができる。特に、デジタルカメラ等のカメラにおける動作プログラムを記憶する記憶装置に上記の動作を行うプログラムを記憶させることにより既存のカメラを利用できるので、製造コストを抑えることができる。また、照明光の輝度や撮像利得を時間とともに変化させる必要がないので、立体画像作成のための処理が複雑とならず、その点でも装置の製造コストを抑えることができる。
また、第9には、上記第8の構成において、第1の光が自然光であり、第1撮影及び第2撮影において、自然光を第1の光として撮影を行うことを特徴とする。
また、第10には、上記第8の構成において、立体画像作成装置が、上記発光装置の光の照射方向とは異なる方向に光を照射する第2発光装置を有し、
第1撮影及び第2撮影において、制御装置が第2発光装置から第1の光としての光を照射させ、第2発光装置が照射した光が被写体の周囲の反射面に反射することにより被写体に照射された光を第1の光として撮影を行うことを特徴とする。よって、第2発光装置によりバウンズ光を利用して撮影を行うので、自然光が弱い場合でも撮影を行うことができる。
また、第11には、上記第8の構成において、立体画像作成装置が、上記発光装置の光の照射方向とは異なる方向に光を照射する第2発光装置を有し、撮影工程の前に設けられた判定工程であって、撮影対象の被写体の画像全体の輝度値を測定し、予め定められたしきい値と比較する比較工程を有し、上記撮影工程において、測定した輝度値が該しきい値以上である場合には、第1撮影及び第2撮影において、自然光を第1の光として撮影を行い、一方、測定した輝度値が該しきい値未満である場合には、第2発光装置から第1の光としての光を照射させ、第2発光装置が照射した光が被写体の周囲の反射面に反射することにより被写体に照射された光を第1の光として撮影を行うことを特徴とする。
よって、撮影対象の被写体の画像全体の輝度値を予め測定して、動作モードを切り換えるので、自然光の強度に関係なく使用することが可能となる。特に、第2発光手段によりバウンズ光を利用して撮影を行うので、自然光が弱い場合でも撮影を行うことができる。
また、第12の構成として以下の構成としてもよい。すなわち、「上記第8又は第9又は第10又は第11の構成において、視差画像作成工程において、第1画像データと第2画像データのいずれかを原画像とし、該原画像に対して、算出されたシフト量に従い左右のいずれかの方向に輝度値をシフトさせ、シフト先の画素において輝度値が重なる場合には、シフト量が大きい画素の輝度値をその画素の輝度値とし、シフト後に輝度値のない無輝度画素がある場合には、該無輝度画素の最初の輝度値がシフトしたシフト方向とは反対方向に隣接する画素の輝度値をその無輝度画素の輝度値とすることを特徴とする。」ものとしてもよい。
また、第13の構成として以下の構成としてもよい。すなわち「上記第8又は第9又は第10又は第11又は第12の構成において、立体画像作成装置が、被写体におけるある位置と立体画像作成装置の間の距離を測定する測定装置を有し、該測定装置により被写体におけるある位置と立体画像作成装置の間の距離を測定する測定工程と、被写体におけるある位置と第1の光の強度をIeとし、第2の光の強度をIoとし、発光装置から被写体までの距離をZとし、各画素の輝度値の比をF(x,y)とした場合に、式(C)に測定工程において測定した距離をZに代入することよりIe/Ioを算出し、算出されたIe/Ioを入れた状態の式(C)に従い、被写体における上記で距離をすでに測定した画素以外の各画素と発光装置の間の距離を算出する距離算出工程を有することを特徴とする。」ものとしてもよい。
よって、この算出された距離データにより奥行き情報の精度を高めることができ、該算出された距離データを用いて立体画像の表示に使用することができる。
なお、上記第8〜第13の構成において、視差画像作成工程において、輝度値の比算出工程において算出された輝度値の比(各画素ごとに算出された第1画像データと第2画像データの輝度値の比)が予め設定された範囲を超える場合、又は、第1画像データの輝度値と第2画像データの輝度値の差が予め設定された範囲を超える場合には、ハレーションが発生した画像であるとして、該画素の周囲の画素でハレーションが発生していない画素のシフト量をその画素のシフト量として視差画像を作成するものとしてもよい。
本発明に基づく立体画像作成装置及び立体画像作成方法によれば、第1撮影により取得された二次元画像としての第1画像データと第2撮影により取得された二次元画像としての第2画像データとにおける画素ごとの輝度値の比を算出し、算出された輝度値の比に応じてシフト量を算出し、算出したシフト量に従い視差画像を作成するので、複数のレンズを設ける必要がないので、製造コストを低くするとともに、カメラの大型化を防ぐことができ、さらには、既存のカメラを利用することができる。特に、デジタルカメラ等のカメラにおける動作プログラムを記憶する記憶装置に上記の動作を行うプログラムを記憶させることにより既存のカメラを利用できるので、製造コストを抑えることができる。
本発明においては、複数のレンズを設ける必要がないことにより、製造コストを低くするとともに、カメラの大型化を防ぎ、さらには、既存のカメラを利用することができる立体カメラ及び立体カメラにおける立体映像撮影方法を提供するという目的を以下のようにして実現した。
本発明に基づく立体カメラ(立体画像作成装置)5は、図1、図2に示すように構成され、撮影部(撮影装置)10と、発光部(発光装置、発光手段)20と、記憶部30と、出力部40と、CPU50とを有している。
ここで、撮影部10は、撮影操作をするためのシャッターボタン12と、被写体を撮影する機構であり、レンズ14と、レンズ14を通して得られた画像(静止画像)を電気信号に変換するCCD等の撮像素子(光学センサ)(図示せず)と、撮像素子により得られた画像信号をA/D変換してデジタル信号にするCCDドライバ(図示せず)等を有する。
また、発光部20は、シャッターボタン12の操作と連動して被写体に向けて発光する発光装置(発光器としてもよい)であり、被写体に向けて発光するように、発光する光の光軸(中心軸)は、レンズ14の光軸と略平行な方向となるように設けられている。
記憶部30は、動作プログラムのデータや撮影した画像データを記憶する記憶装置であり、具体的には、動作プログラムを記憶する内蔵フラッシュメモリや、画像データ等を一時的に記憶するDRAM等がこれに当たる。
特に、動作プログラムとしては、図3に示すフローチャートに示す動作を行うためのプログラムが格納されている。
また、出力部40は、外部に画像データを出力するものであり、着脱自在のメモリカードを挿脱するスロットや、外部出力用のケーブルを接続する端子等がこれに当たる。
また、CPU50は、撮影部10と、発光部20と、記憶部30と、出力部40に接続され、各部の動作を制御するものであり、制御部として機能し、特に、記憶部30に格納された動作プログラムに従い動作する。CPU50と該動作プログラムとが、制御装置に当たる。
次に、上記構成の立体カメラ5の動作、つまり、立体画像作成方法について、主として図3を使用して説明する。本実施例の立体カメラ5は、自然光において撮影した画像を用いるので、自然光の強度が十分に存在する場所で撮影を行うのが好ましい。
レンズを被写体に向けてシャッターボタン12を押すことにより、図3に示す処理が行われる。
すなわち、まず、シャッターボタン12を押す(つまり、撮影操作を行う)ことにより、自然光における撮影(S11)と、発光部20を発光させた状態での撮影(S12)とをほぼ同時に行う(撮影工程)。
つまり、まず、自然光の状態で(つまり、発光部20を発光させない状態で)撮影部10により撮影(第1撮影)を行い(S11)、その直後に、発光部20を発光させて被写体に向けて光を照射した状態で撮影部10により撮影(第2撮影)を行う(S12)。つまり、第1撮影においては、自然光(第1の光)が照射された被写体を撮影し、第2撮影においては、自然光(第1の光)と発光部20からの光(第2の光)とが照射された被写体を撮影する。
撮影することにより得られた画像データ(すなわち、撮影部10から出力された二次元静止画像データ)はCPU50が記憶部30(特に、DRAM)に記憶する。つまり、自然光において撮影することにより得られた画像データ(第1画像データ)と、発光部20を発光させて撮影することにより得られた画像データ(第2画像データ)とが記憶部30に記憶される。なお、上記の説明では、第1撮影(自然光における撮影)の後に、第2撮影(発光部20を発光させた状態における撮影)を行っているが、順序を逆にして、第2撮影(発光部20を発光させた状態における撮影)の後に、第1撮影(自然光における撮影)を行ってもよい。
なお、第1撮影(自然光における撮影)と、第2撮影(発光部20を発光させた状態での撮影)との間の時間は、適切なステレオ画像を得るために、なるべく短くし、例えば、1/100秒〜1/1000秒程度とする。なお、発光部20を発光させた状態における撮影の後に、自然光における撮影を行う場合には、発光部20による光の影響が残存していない状態で、自然光における撮影を行うのが好ましい。
また、第1撮影と第2撮影の撮影条件としては、上記のように発光部20を発光させるか否かの点以外は同じとし、例えば、シャッター速度、絞り値(F値)、ISO感度等の条件は同じとする。
なお、撮影部10と撮影部10と発光部20の動作を制御するCPU50とCPU50の動作を制御するプログラムとが、撮影手段に当たる。
その後、第1画像データと第2画像データにおける画素ごとの輝度値の比を算出する(S13、輝度値の比算出工程)。例えば、第2画像データの輝度値を第1画像データの輝度値で除算して、輝度値の比の値を算出する。算出されたデータは、記憶部30に記憶する。なお、輝度値の比の算出に際して、CPU50とCPU50の動作を制御するプログラムとが、輝度値の比算出手段に当たる。
その後、算出した輝度値の比のデータに従い、シフト量(移動量としてもよい。他においても同じ)を算出し(S14)、算出したシフト量に従い視差画像を作成し(S15、視差画像作成工程)、上記の撮影で得られた画像データとともに、ステレオ画像とする。なお、上記の撮影で得られた画像データとしては、第1画像データと第2画像データのいずれとしてもよい。なお、シフト量の算出と視差画像の作成に際して、CPU50とCPU50の動作を制御するプログラムとが、視差画像作成手段に当たる。
なお、算出した輝度の比のデータに従いシフト量を算出する意義と具体的な方法は以下のようになる。
すなわち、図4に示すように、自然光における光の強度をIoとし、発光部20の発光強度をIeとし、発光部20から被写体までの距離をZとすると、自然光のみにおいて撮影した場合の画像データにおける各画素の輝度値(輝度の値)は、式(1)に示すようになる。式(1)において、f(x、y)は、画像データ(つまり、二次元画像データ)における各画素を示すものである。
一方、発光部20を発光させた状態においては、自然光と発光部20による光とが被写体に照射され、発光部20からの光の強度は距離の二乗に反比例するので、各画素の輝度値は、式(2)に示すようになる。
そして、式(1)の輝度値と式(2)の輝度値の比の値(F(x,y))、つまり、式(2)/式(1)は、式(3)に示すようになる。
この式(3)は、Io/IeとZに依存する関数となり、この式(3)を変形してZを求めると、式(4)に示すようになる。
つまり、式(4)によれば、各画素における発光部20からの距離Zは、Ie/Ioと(F(x,y)−1)に依存するが、Ie/Ioは、ある撮影(つまり、ほぼ同時に行った、自然光における撮影と、発光部20を発光させた状態での撮影)においては、固定値であるので、Zの値は、輝度値の比の値(F(x,y))に依存し、輝度値の比の値(F(x,y))に対応することになる。
次に、図5に示すように、人間の眼球Gから被写体までの距離をZとし、2つの眼球の間の距離をD(例えば、65mm)とし、眼球における水晶体から網膜までの距離をCとし、網膜に投影される視差量をΔdとすると、図5における大小2つの三角形は相似形であるので、式(5)のようになる。
そこで、式(4)を式(5)に代入すると、Δdは、式(6)のようになる。なお、図5において、眼球はカメラ5におけるレンズの位置に対応するものとし、その場合には、発光部20から被写体までの距離とレンズから被写体までの距離は厳密には異なるが、ほぼ等しいものとして、式(4)におけるZを式(5)におけるZに代入すると、式(6)に示すようになる。
すると、式(6)において、Dの値とCの値を固定値とし、Io/Ieは上記のように固定値であるので、Δdは式(7)に比例とするといえる。
つまり、撮影した画像に対する視差画像における水平方向のシフト量は、式(7)に比例する。
ただし、実際のシフト量Saは、式(8)に示すように、ディスプレイの大きさに応じた値Sbと、無限遠の設定位置に応じた値Scを考慮した値となる。ここで、無限遠の設定位置に応じた値Scは、無限遠をディスプレイ画面の位置とする場合には、0となり、無限遠を無限遠の位置とする場合には、2つの眼球の間の距離Dとなる。
以上のような理由から、図3のステップS14においては、算出した輝度値の比に応じてシフト量を算出すればよいのである。なお、画像データはデジタルデータであるので、算出したシフト量は、小数点以下を四捨五入等により処理することにより、シフトする画素数の値となる。
具体的なシフトの方法としては、第1画像データと第2画像データのいずれかを原画像として、その原画像に対して、各画素について、算出したシフト量だけ輝度値のデータを左右いずれかの方向にシフトさせる。シフト先の画素において輝度値が重なる場合には、シフト量が大きい画素の輝度値をその画素の輝度値とする。よって、例えば、ある画素のシフト先の画素がシフトしていない場合には、シフトした画素の輝度値により上書きする。また、シフト後に輝度値のない無輝度画素(ブランク画素としてもよい)がある場合には、該画素の最初の輝度値がシフトしたシフト方向とは反対方向に隣接する画素の輝度値をその無輝度画素の輝度値とする。
左方向に移動する場合を例にとって説明すると、図6のW1に示すように、各ピクセルP21〜P25の輝度値が、Y−P21〜Y−P25とした場合に、上記のようにシフト量を算出した結果、画素(ピクセル)P21については、シフト量が1画素(ピクセル)分で、画素P22については、シフト量が2画素分で、画素P23については、シフト量が1画素分で、画素P24については、シフト量が2画素分で、画素P25については、シフト量が1画素分であるとする。
すると、画素P24については、輝度値をY−P25とし、画素P25については、輝度値をY−P26(画素P26から移動してきた値)とする。また、画素P22については、画素P23から移動した輝度値と画素P24から移動した輝度値とが重なるが、画素P24から移動した輝度値の方がシフト量が大きいので、この画素P24の輝度値Y−P24を画素P22の輝度値とする。
よって、図6のW1の状態から上記のように算出したシフト量に従い輝度値の移動を行うことにより、図6のW2の状態となる。
また、画素P21や画素P23については、結果として移動先とならなかった画素であり、いわゆる無輝度画素(無輝度ピクセル)である。この無輝度画素の処理の方法については以下のようになる。
すなわち、各画素の輝度値をシフトさせた後の二次元画像において、無輝度画素が存在する場合には、輝度値の補間を行う(補間工程)。つまり、基本的に、水平方向に隣接する(つまり、左右に隣接する)画素の輝度値をその無輝度ピクセルの輝度値とするが、該画素の輝度値がシフトしたシフト方向とは反対方向に隣接する画素の輝度値をその画素の輝度値とする。
例えば、図6のW2の状態においては、画素P23は無輝度画素であるが、W1からW2のように輝度値をシフトした際には、画素P23の輝度値(最初の輝度値)は左方向にシフトしたので、左方向とは反対方向の右方向に隣接する画素(つまり、画素P24)の輝度値(Y−P25)を画素P23の輝度値とする。
また、同様に、画素P21は無輝度画素であるが、W1からW2のように輝度値をシフトした際には、画素P21の輝度値は左方向にシフトしたので、左方向とは反対方向の右方向に隣接する画素(つまり、画素P22)の輝度値(Y−P24)を画素P21の輝度値とする。以上のようにして、図6のW3に示す状態となる。
なお、無輝度画素が横方向に連続する場合には、シフト方向とは反対方向の画素の輝度値を順次コピーして無輝度画素の輝度値とする。例えば、図6において、W1からW2に移行する際に、画素P25が輝度値がシフトせず、W2において、画素P24も無輝度画素になった場合には、画素P23と画素P24とが連続して無輝度画素となるが、その場合には、まず、画素P24について、画素P24のシフト方向(左方向)とは反対方向に隣接する画素P25の輝度値(Y−P26)を画素P24の輝度値とし、さらに、画素P23については、画素P23のシフト方向(左方向)とは反対方向に隣接する画素P24の輝度値(Y−P26)を画素P23の輝度値とする。
以上のようにして、原画像に対する視差画像が作成されるので、視差画像のデータを原画像のデータとともに記憶部30に記憶しておく。なお、原画像のデータは、上記第1画像データと第2画像データのうち、視差画像を作成するもととなった画像データである。
なお、実際には、原画像は、RGBの各色(原色)について画素ごとの輝度値のデータにより構成されるので、視差画像についても、RGBの各色について、上記のシフトを行うことになる。
原画像と視差画像のデータは、出力部40から出力することにより、他の映像表示装置により原画像と視差画像により構成されるステレオ画像を表示することにより、立体画像を表示させる。例えば、原画像と視差画像のデータをメモリカードに保存させて、そのメモリカードをステレオ画像を表示するソフトウエアを格納したパーソナルコンピュータに装着して表示する。立体画像を視認する者は、例えば、3Dメガネを装着して該パーソナルコンピュータに表示された画像を見ることにより、立体画像を見ることができる。
以上のように、本実施例の立体カメラ5によれば、複数のレンズを設ける必要がないので、製造コストを低くするとともに、カメラの大型化を防ぐことができ、さらには、既存のカメラを利用することができる。特に、動作プログラムを記憶する内蔵フラッシュメモリに図3に示す動作を行うプログラムを記憶させ、また、既存のカメラに搭載されたフラッシュ装置を発光部として利用することにより既存のカメラを利用できるので、製造コストを抑えることができる。また、照明光の輝度や撮像利得を時間とともに変化させる必要がないので、立体画像作成のための処理が複雑とならず、これにより装置がの構成が複雑とならず、その点でも製造コストを抑えることができる。同様に、本実施例の立体画像作成方法によれば、複数のレンズを使用する必要がないので、本実施例の立体画像作成方法を行う装置の製造コストを低くするとともに、該装置の大型化を防ぐことができ、さらには、既存のカメラを利用することができる。また、照明光の輝度や撮像利得を時間とともに変化させる必要がないので、立体画像作成のための処理が複雑とならず、その点でも装置の製造コストを抑えることができる。
次に、実施例2の立体カメラ(立体画像作成装置)105は、実施例1の立体カメラと略同一の構成であるが、図7、図8に示すように、発光部20が、第1発光部(発光装置、発光手段)22と第2発光部(第2発光装置、第2発光手段)24とを有し、第1発光部22が、被写体に向けて発光するように、発光する光の光軸(中心軸)がレンズ14の光軸と略平行な方向となるように設けられ、第2発光部24が、第1発光部22の照射方向とは異なる方向、具体的には、被写体に対して斜め上方に発光するように構成されている。つまり、第1発光部22が照射する光の光軸と第2発光部24が照射する光の光軸とは方向が異なる。この第2発光部24を天井や壁等の反射面に向けて発光させることにより、バウンズ光として使用することができる。つまり、自然光が弱い場合に、バウンズ光を自然光の代わりとして撮影を行うのである。
上記以外の構成は、実施例1と同様であるので、詳しい説明を省略するが、記憶部30に記憶された動作プログラムとしては、図9に示すフローチャートに示す動作を行うためのプログラムが格納されている。
上記構成の立体カメラ105の動作、すなわち、立体画像作成方法について、主として図9を使用して説明する。なお、本実施例の立体カメラ105は、第2発光部24からの光を被写体に向けて反射できるように天井や壁が存在する場所で撮影を行うのが好ましい。
レンズを被写体に向けてシャッターボタン12を押すことにより、図9に示す処理が行われる。
すなわち、まず、シャッターボタン12を押すことにより、第2発光部24を発光させた状態での撮影(S21)と、第1発光部22と第2発光部24とを発光させた状態での撮影(S22)とをほぼ同時に行う(撮影工程)。
つまり、まず、第2発光部24を発光させて被写体に対して斜め上方に光を照射した状態で撮影部10により撮影(第1撮影)を行い(S21)、その直後に、第1発光部22と第2発光部24を発光させて、被写体に対して斜め上方に光を照射するとともに被写体に向けて光を照射した状態で撮影部10により撮影(第2撮影)を行う(S22)。なお、第2発光部24からの光は天井等に反射して被写体に照射される。つまり、第1撮影においては、第2発光部24からの光(第1の光)が照射された被写体を撮影し、第2撮影においては、第2発光部24からの光(第1の光)と第1発光部22からの光(第2の光)とが照射された被写体を撮影する。
撮影することにより得られた画像データ(すなわち、撮影部10から出力された二次元静止画像データ)はCPU50が記憶部30(特に、DRAM)に記憶する。つまり、第2発光部24のみを発光させて撮影することにより得られた画像データ(第1画像データ)と、第1発光部22と第2発光部24とを発光させて撮影することにより得られた画像データ(第2画像データ)とが記憶装置30に記憶される。なお、上記の説明では、第1撮影(第2発光部24のみを発光させた状態における撮影)の後に、第2撮影(第1発光部22と第2発光部24を発光させた状態における撮影)を行っているが、順序を逆にして、第2撮影(第1発光部22と第2発光部24を発光させた状態における撮影)の後に、第1撮影(第2発光部24のみを発光させた状態における撮影)を行ってもよい。
なお、第1撮影(第2発光部24のみを発光させた状態における撮影)と、第2撮影(第1発光部22と第2発光部24を発光させた状態における撮影)との間の時間は、適切なステレオ画像を得るために、なるべく短くし、例えば、1/100秒〜1/1000秒程度とする。なお、第2撮影の後に第1撮影を行う場合には、第1発光部22による光の影響が残存していない状態で、第1撮影を行うのが好ましい。
また、第1撮影と第2撮影の撮影条件としては、上記のように第1発光部22を発光させるか否かの点以外は同じとし、例えば、第2発光部24の発光強度や発光時間、シャッター速度、絞り値(F値)、ISO感度等の条件は同じとする。
なお、撮影部10と撮影部10と第1発光部22と第2発光部24の動作を制御するCPU50とCPU50の動作を制御するプログラムとが、撮影手段に当たる。
その後の工程は上記実施例1と同様となる。すなわち、第1画像データと第2画像データにおける画素ごとの輝度の比を算出する(S23、輝度値の比算出工程)。算出されたデータは、記憶部30に記憶する。なお、輝度値の比の算出に際して、CPU50とCPU50の動作を制御するプログラムとが、輝度値の比算出手段に当たる。
その後、算出した輝度の比のデータに従い、シフト量(移動量としてもよい。他においても同じ)を算出し(S24)、算出したシフト量に従い視差画像を作成し(S25、視差画像作成工程)、上記の撮影で得られた画像データ(原画像のデータ)とともに、ステレオ画像とする。なお、上記の撮影で得られた画像データとしては、第1画像データと第2画像データのいずれとしてもよい。なお、シフト量の算出と視差画像の作成に際して、CPU50とCPU50の動作を制御するプログラムとが、視差画像作成手段に当たる。具体的なシフトの方法は上記実施例1と同様であるので、詳しい説明を省略する。
原画像と視差画像のデータは、実施例1と同様に、出力部40から出力することにより、他の映像表示装置により原画像と視差画像により構成されるステレオ画像を表示することにより、立体画像を表示させる。例えば、原画像と視差画像のデータをメモリカードに保存させて、そのメモリカードをステレオ画像を表示するソフトウエアを格納したパーソナルコンピュータに装着して表示る。立体画像を視認する者は、例えば、3Dメガネを装着して該パーソナルコンピュータに表示された画像を見ることにより、立体画像を見ることができる。
以上のように、本実施例の立体カメラ105によれば、複数のレンズを設ける必要がないので、製造コストを低くするとともに、カメラの大型化を防ぐことができ、さらには、既存のカメラを利用することができる。特に、動作プログラムを記憶する内蔵フラッシュメモリに図9に示す動作を行うプログラムを記憶させることにより既存のカメラを利用できるので、製造コストを抑えることができる。また、照明光の輝度や撮像利得を時間とともに変化させる必要がないので、立体画像作成のための処理が複雑とならず、これにより装置の構成が複雑とならず、その点でも製造コストを抑えることができる。同様に、本実施例の立体画像作成方法によれば、複数のレンズを使用する必要がないので、本実施例の立体画像作成方法を行う装置の製造コストを低くするとともに、該装置の大型化を防ぐことができ、さらには、既存のカメラを利用することができる。また、照明光の輝度や撮像利得を時間とともに変化させる必要がないので、立体画像作成のための処理が複雑とならず、その点でも装置の製造コストを抑えることができる。
なお、発光部20としては、第1発光部22と第2発光部24を有する発光装置を既存のカメラに外付けするようにしてもよく、また、第1発光部22を既存のカメラに搭載されたフラッシュ装置とし、第2発光部24を有する発光装置を別途外付けするようにしてもよい。
また、第2発光部24によりバウンズ光を利用して撮影を行うので、自然光が弱い場合でも撮影を行うことができる。
次に、実施例3の立体カメラ(立体画像作成装置)205は、実施例2の立体カメラと略同一の構成であるが、図10のフローチャートに示すように、シャッターボタン12を押すことにより、撮影部10におけるフレーム画像の輝度値を検出し、検出した輝度値に応じて、異なる撮影モードにより撮影を行う。なお、実施例2の場合と同様に、第1発光部22が、被写体に向けて発光するように、発光する光の光軸(中心軸)がレンズ14の光軸と略平行な方向となるように設けられ、第2発光部24が、第1発光部22の照射方向とは異なる方向、具体的には、被写体に対して斜め上方に発光するように構成されている。この第2発光部24を天井や壁等の反射面に向けて発光させることにより、バウンズ光として使用することができる。つまり、自然光が弱い場合に、バウンズ光を自然光の代わりとして撮影を行うのである。
上記以外の構成は、実施例2と同様であるので、詳しい説明を省略するが、記憶部30に記憶された動作プログラムとしては、図10に示すフローチャートに示す動作を行うためのプログラムが格納されている。
上記構成の立体カメラ205の動作、すなわち、立体画像作成方法について、主として図10を使用して説明する。なお、以下に説明するように、本実施例においては、撮影対象の被写体の画像全体の輝度値を測定して、動作モードを切り換えるので、自然光の強度に関係なく使用することが可能となる。なお、測定された輝度値(撮影対象の被写体の画像全体の輝度値)によっては、第2モードの撮影(つまり、第2発光部24を発光させた撮影)になるので、自然光の強度が弱いと思われる場合には、第2発光部24からの光を被写体に向けて反射できるように天井や壁が存在する場所で撮影を行うのが好ましい。
レンズを被写体に向けてシャッターボタン12が押された場合には、図10に示す処理が行われる。
すなわち、撮影部10におけるレンズから撮像素子に受光される画像全体の輝度値を測定する(S31)。つまり、フレーム画像全体における輝度値を測定することにより、撮影対象の被写体の画像全体の輝度値を検出する。そして、測定した輝度値と予め定められた輝度値とを比較し、測定した輝度値が該しきい値以上であるか否かを判定する(S32、比較工程(判定工程))。
そして、輝度値がしきい値以上である場合には、第1撮影モードとしてステップS33〜ステップS34に移行し、輝度値がしきい値未満の場合には、第2撮影モードとしてステップS35〜S36に移行する(撮影工程)。
すなわち、第1撮影モードにおいては、自然光における撮影(S33)と、第1発光部22を発光させた状態での撮影(S34)とをほぼ同時に行い、第1撮影モードにおけるステップS33の動作は、実施例1におけるステップS11の動作と同様であり、ステップS34の動作は、発光部20の代わりに第1発光部22を発光させる点以外は実施例1におけるステップS12の動作と同様であるので、詳しい説明を省略する。なお、この第1撮影モードにおいては、ステップS33における撮影が第1撮影となり、ステップS34における撮影が第2撮影となる。なお、この第1撮影モードにおける第1撮影と第2撮影の撮影条件としては、上記のように第1発光部22を発光させるか否かの点以外は同じとし、例えば、シャッター速度、絞り値(F値)、ISO感度等の条件は同じとする。
また、第2撮影モードにおいては、第2発光部24を発光させた状態での撮影(S35)と、第1発光部22と第2発光部24とを発光させた状態での撮影(S36)とをほぼ同時に行い、第2撮影モードにおけるステップS35の動作は、実施例2におけるステップS21の動作と同様であり、ステップS36の動作は、実施例2におけるステップS22の動作と同様であるので、詳しい説明を省略する。第2発光部24からの光は天井等に反射して被写体に照射される。なお、この第2撮影モードにおいては、ステップS35における撮影が第1撮影となり、ステップS36における撮影が第2撮影となる。なお、この第2撮影モードにおける第1撮影と第2撮影の撮影条件としては、上記のように第1発光部22を発光させるか否かの点以外は同じとし、例えば、第2発光部24の発光強度、シャッター速度、絞り値(F値)、ISO感度等の条件は同じとする。
撮影することにより得られた画像データ(すなわち、撮影部10から出力された画像データ)はCPU50が記憶部30(特に、DRAM)に記憶する。
つまり、第1撮影モードと第2撮影モードのいずれの場合も、第1撮影により得られた画像データ(第1画像データ)と、第2撮影により得られた画像データ(第2画像データ)とが記憶部30に記憶される。なお、上記の説明では、第1撮影モードと第2撮影モードのいずれの場合も、第1撮影の後に第2撮影を行っているが、順序を逆にして、第2撮影の後に第1撮影を行ってもよい。
なお、第1撮影モードと第2撮影モードのいずれの場合も、第1撮影と、第2撮影との間の時間は、適切なステレオ画像を得るために、なるべく短くし、例えば、1/100秒〜1/1000秒程度とする。なお、第2撮影の後に第1撮影を行う場合には、第1発光部22による光の影響が残存していない状態で、第1撮影を行うのが好ましい。
なお、第1撮影モードと第2撮影モードにおいて、撮影部10と撮影部10と第1発光部22と第2発光部24の動作を制御するCPU50とCPU50の動作を制御するプログラムとが、撮影手段に当たる。
以下の工程は上記実施例1と同様となる。すなわち、第1画像データと第2画像データにおける画素ごとの輝度の比を算出する(S37、輝度値の比算出工程)。算出されたデータは、記憶部30に記憶する。
その後、算出した輝度の比のデータに従い、シフト量(移動量としてもよい。他においても同じ)を算出し(S38)、算出したシフト量に従い視差画像を作成し(S39、視差画像作成工程)、上記の撮影で得られた画像データ(原画像のデータ)とともに、ステレオ画像とする。なお、上記の撮影で得られた画像データとしては、第1画像データと第2画像データのいずれとしてもよい。具体的なシフトの方法は上記実施例1と同様であるので、詳しい説明を省略する。
原画像と視差画像のデータは、実施例1と同様に、出力部40から出力することにより、他の映像表示装置により原画像と視差画像により構成されるステレオ画像を表示することにより、立体画像を表示させる。例えば、原画像と視差画像のデータをメモリカードに保存させて、そのメモリカードをステレオ画像を表示するソフトウエアを格納したパーソナルコンピュータに装着して表示するる。立体画像を視認する者は、例えば、3Dメガネを装着して該パーソナルコンピュータに表示された画像を見ることにより、立体画像を見ることができる。
以上のように、本実施例の立体カメラ205によれば、複数のレンズを設ける必要がないので、製造コストを低くするとともに、カメラの大型化を防ぐことができ、さらには、既存のカメラを利用することができる。特に、動作プログラムを記憶する内蔵フラッシュメモリに図10に示す動作を行うプログラムを記憶させることにより既存のカメラを利用できるので、製造コストを抑えることができる。また、照明光の輝度や撮像利得を時間とともに変化させる必要がないので、立体画像作成のための処理が複雑とならず、これにより装置の構成が複雑とならず、その点でも製造コストを抑えることができる。同様に、本実施例の立体画像作成方法によれば、複数のレンズを使用する必要がないので、本実施例の立体画像作成方法を行う装置の製造コストを低くするとともに、該装置の大型化を防ぐことができ、さらには、既存のカメラを利用することができる。また、照明光の輝度や撮像利得を時間とともに変化させる必要がないので、立体画像作成のための処理が複雑とならず、その点でも装置の製造コストを抑えることができる。
なお、発光部20としては、第1発光部22と第2発光部24を有する発光装置を既存のカメラに外付けするようにしてもよく、また、第1発光部22を既存のカメラに搭載されたフラッシュ装置とし、第2発光部24を有する発光装置を別途外付けするようにしてもよい。
また、撮影対象の被写体の画像全体の輝度値を予め測定して、動作モードを切り換えるので、自然光の強度に関係なく使用することが可能となる。
なお、立体カメラ5、105、205がオートフォーカス機能を有する場合(つまり、オートフォーカス装置を有する場合)には、被写体におけるある位置とカメラとの間の距離を測定できるが、測定した距離のデータを式(4)に代入することにより、被写体における距離を測定した位置に対応する画素について、Io/Ieの値が求められることになる。すると、該画素以外の画素についてもIo/Ieの値は同じであるので、結果として、式(4)により各画素についてカメラと被写体間の距離を算出することができる。オートフォーカス機能としては、アクティブ式とバッシブ式のいずれでもよい。よって、この算出された距離データにより奥行き情報の精度を高めることができ、該算出された距離データを用いて立体画像の表示に使用することができる。例えば、各画素についての距離データがあるので、ある画像について視点位置をずらした場合の画像を表示することも可能となる。
また、上記各実施例の説明においては、二次元静止画像としての原画像に対する視差画像を作成し、二次元静止画像を立体的に表示させるものとして説明したが、上記第1撮影と第2撮影とを交互に繰り返し行なって、原画像を連続して取得するとともに、各原画像に対する視差画像を作成することにより、原画像と視差画像とからなるステレオ画像を連続して表示することにより動画を表示することができるようにしてもよい。
なお、上記各実施例において、被写体が金属面やガラス面のように鏡面反射を生じる場合には、発光部20や第1発光部22や第2発光部24からの発光が反射してハレーションが発生して、光の像の領域が撮影される場合がある。特に、実施例1において発光部20により被写体に向けて光を直接照射して撮影する第2撮影(S12)の場合や、実施例2や実施例3において第1発光部22により被写体に向けて光を直接照射して撮影する第2撮影(S22、S34、S36)の場合に、ハレーションを起こしやすい。このような場合には、上記各実施例において、第1撮影と第2撮影における輝度値の差が極端に異なることになるので、ハレーションが発生した画素を判別可能であり、その画素のシフト量は、ハレーションが発生した画素の領域を除いた周囲の領域の画素のシフト量をその画素のシフト量としてノーマライズするのが好ましい。
すなわち、第1画像データと第2画像データにおける画素ごとに輝度値の比(第2画像の輝度値を第1画像の輝度値で除算した値)を算出し(S13、S23、S37)、該輝度値の比が予め設定された範囲を超える場合には、その画素をハレーションが発生した画素とする。つまり、該輝度値の比が予め設定されたしきい値よりも大きい場合には、その画素をハレーションが発生した画素とする。つまり、ハレーションが発生している画素については、第2画像の輝度値が第1画像の輝度値よりも極めて大きくなるので、輝度値の比がしきい値よりも大きい画素をハレーションが発生した画素とする。
なお、第1画像データの輝度値と第2画像データの輝度値の差を各画素ごとに算出し、しきい値の差が予め設定された範囲を超える場合、つまり、予め設定されたしきい値よりも大きい場合に、その画素がハレーションが発生した画素としてもよい。
そして、ハレーションが発生した画素については、その画素の周囲の画素(例えば、その画素からの距離が最も近い画素)でハレーションが発生していない画素(つまり、輝度値の比がしきい値以下の画素)のシフト量をその画素のシフト量として、視差画像を作成する。なお、その画素からの距離が最も近い画素でハレーションが発生していない画素が複数ある場合には、そのいずれかの画素のシフト量とするか、又は、複数の画素のシフト量の平均値のシフト量とする。