実施の形態1.
図1は、本発明の実施の形態1に係る立体画像を表示する画像表示装置200の構成を示す図である。実施の形態1に係る画像表示装置200は、視差算出部1、フレーム視差算出部2、フレーム視差補正部3、視差調整量算出部4、調整画像生成部5および表示部6を備える。画像表示装置200の内の画像処理装置100は、視差算出部1、フレーム視差算出部2、フレーム視差補正部3、視差調整量算出部4および調整画像生成部5で構成されている。
左眼用画像入力データDa1と右眼用画像入力データDb1とは視差算出部1と調整画像生成部5に入力される。視差算出部1は、左眼用画像入力データDa1と右眼用画像入力データDb1とに基づいて領域ごとに視差量を算出し視差データT1を出力する。視差データT1は、フレーム視差算出部2に入力される。
フレーム視差算出部2は、視差データT1に基づいて着目フレームに対する視差量を算出しフレーム視差データT2として出力する。フレーム視差データT2は、フレーム視差補正部3に入力される。
フレーム視差補正部3は、着目フレームのフレーム視差データT2を他の時刻のフレームのフレーム視差データT2を参照して補正した補正後フレーム視差データT3を出力する。補正後フレーム視差データT3は、視差調整量算出部4に入力される。
視差調整量算出部4は、鑑賞者9が入力する視差調整情報S1と補正後フレーム視差データT3に基づいて算出した視差調整データT4を出力する。視差調整データT4は、調整画像生成部5に入力される。
調整画像生成部5は、視差調整データT4に基づいて左眼用画像入力データDa1と右眼用画像入力データDb1との視差量を調整した左眼用画像出力データDa2と右眼用画像出力データDb2とを出力する。左眼用画像出力データDa2と右眼用画像出力データDb2とは表示部6に入力される。表示部6は、左眼用画像出力データDa2と右眼用画像出力データDb2とを表示面に表示する。
以下で、本発明の実施の形態1に係る画像処理装置100の詳細な動作について説明する。
図2は、視差算出部1が左眼用画像入力データDa1と右眼用画像入力データDb1とに基づいて視差データT1を算出する方法を説明するための図である。
視差算出部1は、入力データである左眼用画像入力データDa1と右眼用画像入力データDb1とをディスプレイ表示面の上で幅W1、高さH1に区切った大きさと対応するように分割し、その領域ごとの視差量を算出する。立体映像は左眼用画像と右眼目用画像との一対の画像が連続して動画となっている。左眼用画像入力データDa1は左眼用画像であり、右眼用画像入力データDb1は右眼用画像である。このため、映像の画像自体が左眼用画像入力データDa1と右眼用画像入力データDb1とになる。例えばテレビに実施の形態1に係る画像処理装置100を適用する場合であれば、デコーダで放送信号が復号されるが、その復号された映像信号が左眼用画像入力データDa1と右眼用画像入力データDb1として入力される。なお、画面の分割数については、実施の形態1に係る画像処理装置100を実際のLSIなどに実装する際にLSIの処理量等を考慮して決定する。
ディスプレイ表示面の上を区切った領域の垂直方向の領域の数を正の整数h、水平方向の領域の数を正の整数wとする。図2では、最も左上の領域の番号を第1番目とし、順次、左の列の上から下へと進み、列は左から右へと進み第2番目、第3番目から第h×w番目まで番号を振っている。さらに、左眼用画像入力データDa1の第1番目の領域に含まれる画像データをDa1(1)とし、以下各領域に対する画像データをDa1(2)、Da1(3)からDa1(h×w)までとする。また、右眼用画像入力データDb1の各領域に対する画像データも同様にDb1(1)、Db1(2)、Db1(3)からDb(h×w)までとする。
図3は、視差算出部1の詳細な構成を示す図である。視差算出部1は、領域ごとに視差量を算出するため、h×w個の領域視差算出部1bで構成されている。領域視差算出部1b(1)は、第1番目の領域に含まれる左眼用画像入力データDa1(1)と右眼用画像入力データDb1(1)とに基づいて第1番目の領域の視差量を算出し、第1番目の領域の視差データT1(1)として出力する。以下同様に、領域視差算出部1b(2)から領域視差算出部1b(h×w)は、それぞれ第2番目から第h×w番目までの領域の視差量を算出し、第2番目から第h×w番目までの領域の視差データT1(2)から視差データT1(h×w)として出力する。そして、視差算出部1は第1番目から第h×w番目までの領域の視差データT1(1)から視差データT1(h×w)までを視差データT1として出力する。
領域視差算出部1b(1)は、位相限定相関法を用いて左眼用画像入力データDa1(1)と右眼用画像入力データDb1(1)との視差データT1(1)を算出する。位相限定相関法については例えば非特許文献(萩原瑞木、川俣政征著「位相限定関数を用いた画像のサブピクセル精度の位置ずれ検出」電子情報通信学会技術研究報告、No.CAS2001−11、VLD2001−28、DSP2001−30、2001年6月、pp.79−86)に説明されている。位相限定相関法は、立体映像の一対の画像を入力として受け取り、視差量を出力するアルゴリズムである。
次に示す式(1)は位相限定相関法で算出される視差量Noptを表す式である。式(1)において、Gab(n)は位相限定相関関数である。
ここで、nは0≦n≦W1の範囲とする。argmax(Gab(n))はGab(n)が最大となるnの値であり、このときのnがNoptである。Gab(n)は次の式(2)で表される。
ここで、関数IFFTは、逆高速フーリエ変換関数であり、|Fab(n)|はFab(n)の大きさである。Fab(n)は次の式(3)で表される。
ここで、B*(n)はB(n)の複素共役の系列であり、A・B*(n)はAとB*(n)の畳み込みである。AおよびB(n)は次の式(4)で表される。
ここで、関数FFTは高速フーリエ変換関数である。a(m)、b(m)は連続する1次元の系列であり、mは系列のインデックスである。そしてb(m)はa(m−τ)と等しい(b(m)=a(m−τ))。すなわちb(m)はa(m)を右にτずらした系列であり、b(m−n)はb(m)を右にnずらした系列である。
領域視差算出部1bでは、左眼用画像入力データDa1(1)を式(4)のaとし、右眼用画像入力データDb1(1)を式(4)のbとする。そして、位相限定相関法によって算出されたNoptが視差データT1(1)となる。
図4は、第1番目の領域に含まれる左眼用画像入力データDa1(1)と右眼用画像入力データDb1(1)から位相限定相関法を用いて視差データT1(1)を算出する方法を説明するための図である。図4(a)の実線で表されるグラフは、第1番目の領域に対応する左眼用画像入力データDa1(1)である。横軸は水平位置、縦軸は階調を示している。図4(b)のグラフは、第1番目の領域に対応する右眼用画像入力データDb1(1)である。横軸は水平位置、縦軸は階調を示している。図4(a)の破線で表される特性曲線は、図4(b)で示した右眼用画像入力データDb1(1)の特性曲線を第1番目の領域の視差量n1だけずらしたものである。図4(C)のグラフは、位相限定相関関数Gab(n)であり、横軸はGab(n)の変数n、縦軸は相関の強さを示している。
位相限定相関関数Gab(n)は、連続する系列aとaをτだけシフトした系列bとで定義されており、式(2)、式(3)よりn=−τにピークを持つデルタ関数になる。右眼用画像入力データDb1(1)は、左眼用画像入力データDa1(1)に対して飛び出す場合に左方向にずれ、引っ込む場合に右方向にずれている。左眼用画像入力データDa1(1)と右眼用画像入力データDb(1)とを領域に区切ったデータでは飛び出し方向または引っ込み方向のいずれか一方にずれている可能性が高い。左眼用画像入力データDa1(1)と右眼用画像入力データDb1(1)とを式(4)の入力a(m)と入力b(m)として算出した式(1)のNoptが視差データT1(1)となる。
本実施の形態においては、視差データT1は符号を持つ値とする。対応する右眼用画像と左眼用画像とが有する飛び出し方向の視差に対応する視差データT1は正となる。対応する右眼用画像と左眼用画像とが有する引っ込み方向の視差に対応する視差データT1は負となる。対応する右眼用画像と左眼用画像が視差を有しない場合には視差データT1がゼロになる。
図4(a)と図4(b)の関係よりずれ量はn1である。このため、図4(C)に示すように位相限定相関関数Gab(n)に関するずれ量の変数nがn1のときに相関関数の値が最大となる。
領域視差算出部1b(1)は、式(1)より左眼用画像入力データDa1(1)と右眼用画像入力データDb1(1)とに対する位相限定相関関数Gab(n)の値が最大となるずれ量n1を視差データT1(1)として出力する。
同様に、Nを2からh×wまでの整数とすると、領域視差算出部1b(N)は、第N番目の領域に含まれる左眼用画像入力データDa1(N)および第N番目の領域に含まれる右眼用画像入力データDb1(N)の位相限定相関の値が最大となるずれ量を視差データT1(N)として出力する。
上述の非特許文献1には、左眼用画像入力データDa1と右眼用画像入力データDb1とをそのまま入力として、左眼用画像入力データDa1と右眼用画像入力データDb1との視差量を得る方法が記載されている。しかし、入力される画像が大きければ計算量が多くなり、LSIに実装した際、回路規模が大きくなるという問題がある。さらに、左眼用画像入力データDa1と右眼用画像入力データDb1とに小さく写っている物体に対する位相限定相関関数Gab(n)のピークは小さくなってしまい、小さく写っている物体の視差量の算出が難しい。
実施の形態1に係る画像処理装置100の視差算出部1では、左眼用画像入力データDa1と右眼用画像入力データDb1とを小さい領域に分割し、領域ごとに位相限定相関法を適用している。このため、小さい回路規模で位相限定相関法をLSIに実装できる。この場合、すべての領域を同時に計算するのではなく、1つの回路を使って1つの領域ずつ順番に視差量を計算することでさらに回路規模を小さくできる。さらに、小さく分割された領域内では、左眼用画像入力データDa1と右眼用画像入力データDb1とに小さく写っている物体も、相対的に大きな面積を占めることになるので、位相限定相関関数Gab(n)のピークも大きくなり検出しやすくなる。このため、視差量がより正確に求められる。領域ごとに求めた視差量をもとに、次に説明するフレーム視差算出部2で左眼用画像入力データDa1と右眼用画像入力データDb1との画像全体での視差量を出力する。
次に、フレーム視差算出部2の詳細な動作について説明する。
図5は、フレーム視差算出部2について入力される視差データT1を詳細に説明するための図である。フレーム視差算出部2は、入力される第1番目から第h×w番目までの領域に対応する視差データT1(1)から視差データT1(h×w)までを集約し、着目フレームの画像に対して1つのフレーム視差データT2を算出する。
図6は、視差データT1(1)から視差データT(h×w)までを基にフレーム視差データT2を算出する方法を説明するための図である。横軸は領域の番号であり、縦軸は視差データT1(視差量)である。フレーム視差算出部2は、視差データT1(1)から視差データT(h×w)までのうち、最大の視差データT1をフレーム画像のフレーム視差データT2として出力する。
これにより、視差の情報が埋め込まれていない立体映像に対しても、鑑賞者9にとって最も影響が大きいと考えられる立体映像の各フレームでの最も飛び出している部分の視差量を算出することができる。
次に、フレーム視差補正部3の詳細な動作について説明する。
図7は、フレーム視差データT2から算出される補正後フレーム視差データT3について詳細に説明するための図である。図7(a)は、フレーム視差データT2の時間的変化を示した図である。横軸は時間であり、縦軸はフレーム視差データT2である。図7(b)は補正後フレーム視差データT3の時間的変化を示した図である。横軸は時間であり、縦軸は補正後フレーム視差データT3である。
フレーム視差補正部3は、フレーム視差データT2を一定時間分保持し、着目フレームの前後複数のフレーム視差データT2の平均値を算出し、補正後フレーム視差データT3として出力する。補正後フレーム視差データT3は次の式(5)で表される。
ここで、T3(tj)は着目する時刻tjにおける補正後フレーム視差データである。T2(k)は時刻kにおけるフレーム視差データT3である。正の整数Lは平均値を算出する幅である。またtj<tiであるので、例えば図7(a)に示す時刻(ti−L)からtiまでにおけるフレーム視差データT2の平均値から図7(b)に示す時刻tjの補正後フレーム視差データT3が求められる。また(ti−L)<tj<tiであるので、例えば図7(a)に示す時刻(ti−L)から時刻tiまでにおけるフレーム視差データT2の平均値から図7(b)に示す時刻tjの補正後フレーム視差データT3が求められる。
立体映像の飛び出し量は時間的に連続的に変化するものが多い。フレーム視差データT2が時間的に不連続に変化する場合、例えば、時間軸に対してインパルス状に変化する場合はフレーム視差データT2の誤検出とみなしても良い。フレーム視差データ補正部3により、たとえインパルス状の変化があったとしても時間的に平均化されるため誤検出を緩和することができる。
次に、視差調整量算出部4の詳細な動作について説明する。
視差調整量算出部4は、鑑賞者9が自分の見やすい視差量に合わせて設定する視差調整情報S1と補正後のフレーム視差データT3とに基づいて視差調整量を算出し視差調整データT4を出力する。
視差調整情報S1は、視差調整係数S1aと視差調整閾値S1bを含む。視差調整データT4は次の式(6)で表される。
視差調整データT4は、画像調整によって飛び出し量を減少させる視差量のことであり、左眼用画像入力データDa1と右眼用画像入力データDb1とを水平シフトする量を示す。後で詳述するように、左眼用画像入力データDa1と右眼用画像入力データDb1とを水平シフトする量の和が視差調整データT4となる。このため、フレーム視差データT3が視差調整閾値S1b以下の場合は、画像調整により左眼用画像入力データDa1と右眼用画像入力データDb1とは水平方向にシフトしない。一方、補正後フレーム視差データT3が視差調整閾値S1bより大きい場合は、補正後フレーム視差データT3と視差調整閾値S1bとの差の値に視差調整係数S1aを乗じた値だけ左眼用画像入力データDa1と右眼用画像入力データDb1とを水平方向にシフトする。
例えば、視差調整係数S1a=1で視差調整閾値S1b=0の場合、T3≦0ではT4=0となる。つまり画像調整は行われない。一方、T3>0ではT4=T3となり、左眼用画像入力データDa1と右眼用画像入力データDb1とは水平方向にT3だけシフトされる。補正後フレーム視差データT3はフレーム画像の最大の視差量であるため、着目フレーム内で算出された最大の視差量がゼロとなる。また、視差調整係数S1aを1より小さくしていくと視差調整データT4は補正後視差データT3より小さくなり、着目フレーム内で算出された最大の視差量もゼロより大きくなる。また、視差調整閾値S1bをゼロより大きくしていくと、補正後フレーム視差データT3がゼロより大きい値に対しても視差データT1の調整を行わない。つまり画像が少し飛び出しているフレームに対しても視差調整を行わないことになる。
視差調整情報S1の設定は、例えばユーザーがリモコンなどの入力手段によって視差調整情報S1を変化させて立体画像の飛び出し量の変化を見ながら決定する。リモコンの視差調整係数ボタンと視差調整閾値ボタンから入力することもできるが、ランク分けされた一つの視差調整ボタンから視差の調整度合いを入力すると、所定の視差調整係数S1aと視差調整閾値S1bが設定されるようにすることもできる。
また、画像表示装置200が鑑賞者9を観察するカメラなどを備え、鑑賞者9の年齢、鑑賞者9の性別およびディスプレイ表示面から鑑賞者9までの距離などを判別して自動的に視差調整情報S1を設定することもできる。この場合、画像表示装置200の表示面の大きさなどを視差調整情報S1に含めることができる。また、画像表示装置200の表示面の大きさなどを所定の値のみを視差調整情報S1とすることもできる。上記のように、鑑賞者9がリモコンなどの入力手段を用いて入力する個人的な情報、鑑賞者9の年齢、鑑賞者9の性別、鑑賞者9と画像表示装置との距離を含む位置関係および画像表示装置の表示面の大きさなどの鑑賞の状況に関係する情報を含むものを鑑賞の状況を示す情報と呼ぶ。
以上より本実施の形態における画像処理装置100は、入力された一対の画像の視差量を、ディスプレイ表示面61から鑑賞者9までの距離や鑑賞者9の個人差などに対応した、鑑賞者9に好適な奥行き感の視差に変更して立体画像を表示することができる。
次に、調整画像生成部5の動作について説明する。
図8は、左眼用画像入力データDa1および右眼用画像入力データDb1の視差量と画像の飛び出し量との関係を説明するための図である。また、図8は、左眼用画像出力データDa2および右眼用画像出力データDb2の視差量と画像の飛び出し量との関係を説明するための図である。図8(a)は、左眼用画像入力データDa1および右眼用画像入力データDb1の視差量と画像の飛び出し量の関係を示した図である。図8(b)は、左眼用画像出力データDa2および右眼用画像出力データDb2の視差量と画像の飛び出し量の関係を示した図である。
調整画像生成部5は、視差調整データT4に基づいてT3>S1bと判断した場合に、視差調整データT4に基づいて左眼用画像入力データDa1を左方向に水平移動した左眼用画像出力データDa2と、右眼用画像入力データDb1を右方向に水平移動した右眼用画像出力データDb2とを出力する。このとき視差量d2は、視差量d1および視差調整データT4を用いてd2=d1−T4で求められる。
左眼用画像入力データDa1の画素P1lと右眼用画像入力データDb1の画素P1rは同じ物体の同じ部分であるとすると、その視差量はd1となる。そして、鑑賞者9はその物体を位置F1に飛び出した状態で見ることができる。
左眼用画像出力データDa2の画素P2lと右眼用画像出力データDb2の画素P2rは同じ物体の同じ部分であるとすると、その視差量はd2となる。そして、鑑賞者9はその物体を位置F2に飛び出した状態で見ることができる。
左眼用画像入力データDa1を左方向に水平移動し、右眼用画像入力データDb1右方向に水平移動することにより視差量d1は小さくなり、視差量d2となる。このため、飛び出し位置が位置F1から位置F2へと変化する。その変化量は△Fである。
補正後フレーム視差データT3はフレーム画像の最大の視差データであるフレーム視差データT2から算出される。このため、補正後フレーム視差データT3はフレーム画像の最大の視差データとなる。視差調整データT4は、式(6)より補正後フレーム視差データT3を基に算出される。このため、視差調整係数S1aが1の場合は着目フレーム内の最大の視差量と等しくなり、視差調整係数S1aが1より小さい場合は最大の視差量より小さくなる。図8の視差量d1を着目フレーム内で算出された最大の視差量と仮定すると、図8(b)に示す調整後の最大の視差量d2は視差調整係数S1aを1より小さく設定した場合は視差量d1より小さい値となり、視差調整係数S1a=1、視差調整閾値S1b=0と設定した場合は映像が飛び出さない画像となり視差量d2=0となる。こうすることで、調整後の画像データの最大飛び出し位置F2が、ディスプレイ表示面61から飛び出し位置F1までの間に調整される。
次に、表示部6の動作について述べる。表示部6は、左眼用画像出力データDa2および右眼用画像出力データDb2を鑑賞者9の左眼および右眼に別々に表示する。具体的には、表示角を制限するバリアやレンズなどの光学的な機構により左眼および右眼で異なった画像を表示できるディスプレイを使う立体画像表示方式でも良い。また、左眼用画像および右眼用画像を交互に表示したディスプレイに同期して左眼のレンズと右眼のレンズとのシャッターを閉じる専用メガネを用いる立体画像表示方式でも良い。
以上で、本発明の実施の形態1による立体画像を表示する画像表示装置200の詳細な動作について説明をした。
以下では、具体的な画像例を基に実施の形態1について説明する。
図9は、左眼用画像入力データDa1と右眼用画像入力データDb1との具体例を示す図である。図9(a)は、左眼用画像入力データDa1の全体を示している。図9(b)は右眼用画像入力データDb1の全体を示している。左眼用画像入力データDa1と右眼用画像入力データDb1とは、水平方向に視差量d1の視差がある。左眼用画像入力データDa1および右眼用画像入力データDb1について、視差量を算出するための領域に区切る境界を破線で示している。最も左上の領域から順に第1番目の領域、第2番目の領域、第3番目の領域と続き、最も右下の第39番目の領域までの領域に分割される。第16番目の領域の左眼用画像入力データDa1(16)と右眼用画像入力データDb1(16)とを太い実線で示している。
図10は、左眼用画像入力データDa1(16)と右眼用画像入力データDb1(16)から視差量を算出する方法を説明するための図である。図10(a)は、左眼用画像入力データDa1(16)の水平位置と階調の関係を示す。図10(b)は、右眼用画像入力データDb1(16)の水平位置と階調の関係を示す。横軸は水平位置、縦軸は階調である。
左眼用画像入力データDa1(16)と右眼用画像入力データDb1(16)とはともに諧調の低い方向(図10中の下方向)に凸形の谷形状に変化する領域を含むグラフとなっている。そして、極小値の位置はちょうど視差量d1だけずれている。視差算出部1の領域視差算出部1b(16)に左眼用画像入力データDa1(16)および右眼用画像入力データDb1が入力される。そして、視差量d1が第16番目の領域の視差データT1(16)として出力される。
図11は、視差算出部1から出力された視差データT1を示した図である。破線で区切られた領域の中に領域視差算出部1b(1)から領域視差算出部1b(39)までが出力する視差データT1(1)から視差データT1(39)までの値を示している。
図12は、視差データT1からフレーム視差データT2を算出する方法を説明するための図である。横軸が各領域の番号であり、縦軸が視差データT1(視差量)である。
斜線を施した棒グラフが第16番目の領域の視差データT1(16)を示している。フレーム視差算出部2は、視差算出部1から入力された視差データT1を比較し最大値である視差量d1をフレーム視差データT2として出力する。
図13は、フレーム視差算出部2によって出力されたフレーム視差データT2の時間的変化を示した図である。横軸が時間であり、縦軸がフレーム視差データT2である。図9に示した画像は時刻tjでのフレームである。
図14は、フレーム視差データT2から補正後フレーム視差データT3を算出する方法を説明するための図であり、補正後フレーム視差データT3の時間的変化を示している。横軸は時間であり、縦軸は補正後フレーム視差データT3である。図9に示した画像は時刻tjでのフレームである。フレーム視差データT2の平均値を算出する幅Lを幅L=3とする。フレーム視差補正部3は、式(5)を用いて着目フレームおよび着目フレームの前後のフレームのフレーム視差データT2を平均する。フレーム視差補正部3は、その平均値を補正後フレーム視差データT3として出力する。例えば、図14の時刻tjにおける補正後フレーム視差データT3(tj)は、図13に示す時刻t1,tj,t2のフレーム視差データT2(t1),T2(tj),T2(t2)の平均値として算出される。すなわち、T3(tj)=(T2(t1)+T(tj)+T(t2))/3となる。
図15は、補正後フレーム視差データT3から視差調整データT4を算出する方法を説明するための図である。図15(a)は、補正後フレーム視差データT3の時間的変化を示している。横軸は時間であり、縦軸は補正後フレーム視差データT3である。S1bは視差調整閾値である。図15(b)は、視差調整データT4の時間的変化を示している。横軸は時間であり、縦軸は視差調整データT4である。
図9に示した画像は時刻tjでのフレームである。視差調整量算出部4は、図15(a)に示した補正後フレーム視差データT3に対して図15(b)に示す視差調整データT4を出力する。補正後フレーム視差データT3は、画像があまり飛び出していない視差調整閾値S1b以下の時刻では視差調整データT4としてゼロを出力する。逆に、補正後フレーム視差データT3は、視差調整閾値S1bより大きい時刻では、補正後フレーム視差データT3が視差調整閾値S1bを超えた量に視差調整係数S1aを乗じた分を視差調整データT4として出力する。
図16は、視差調整データT4、左眼用画像入力データDa1および右眼用画像入力データDb1から、左眼用画像出力データDa2および右眼用画像出力データDb2を算出する方法を説明するための図である。図16は図9に示した画像と同時刻tjのフレームである。図16(a)は左眼用画像出力データDa2を示しており、図16(b)は右眼用画像出力データDb2を示している。
調整画像生成部5は、図15に示した時刻tjにおける視差調整データT4に基づき、左眼用画像入力データDa1を視差調整データT4の半分の値のT4/2だけ左方向に水平に移動させる。また、調整画像生成部5は、右眼用画像入力データDb1を視差調整データT4の半分の値のT4/2だけ右方向に水平に移動させる。そして、調整画像生成部5は、水平移動後の各々の画像データを左眼用画像出力データDa2および右眼用画像出力データDb2として出力する。図16に示す視差量d2はd1−T4となり、視差量d1に比べ視差量が減っている。
以上のように、本実施の形態における画像表示装置200において表示された立体映像は、ある閾値を超えた飛び出し量の大きな部分の視差量を減じることにより飛び出し量を制御することができる。このことで、画像表示装置200は画像入力データDa1,Db1をディスプレイ表示面61から鑑賞者9までの距離や鑑賞者9の個人差などに対応した視差量の画像出力データDa2,Db2に変換する。つまり、画像表示装置200は、好適な奥行き感の視差量に変換された立体画像を表示することができる。
なお、実施の形態1では、フレーム視差補正部3は、着目フレームの前後の複数のフレーム視差データT2を平均している。そして、フレーム視差補正部3は、その平均値を補正後フレーム視差データT3として出力している。しかし、着目フレームの前後の複数のフレーム視差データT2の中央値を算出し、補正後フレーム視差データT3として出力しても良い。その他の方法を用いて着目フレームの前後の複数のフレーム視差データT2から補正した値を算出し、補正後フレーム視差データT3を出力しても良い。
実施の形態2.
図17は、本発明の実施の形態2に係る立体画像の画像処理方法のフローを表す図である。実施の形態2に係る立体画像処理方法は、視差算出ステップST1、フレーム視差算出ステップST2、フレーム視差補正ステップST3、視差調整量算出ステップST4および調整画像生成ステップST5からなる。
視差算出ステップST1は、図18に示すように画像切り出しステップST1aと領域視差算出ステップST1bからなる。
フレーム視差補正ステップST3は、図19に示すようにフレーム視差バッファステップST3aとフレーム視差加算平均ステップST3bからなる。
以下では、本発明に係る実施の形態2の動作について説明する。
まず、視差算出ステップST1では、左眼用画像入力データDa1と右眼用画像入力データDb1とに対して、以下のような処理が行われる。
画像切り出しステップST1aにおいて、左眼用画像入力データDa1をディスプレイ表示面61上で幅W1、高さH1の格子状に区切りh×w個の領域に分割する。そして、画像切り出しステップST1aは分割された左眼用画像入力データDa1(1)、Da1(2)、Da1(3)から左眼用画像入力データDa1(h×w)までを作成する。右眼用画像入力データDb1についても同様に幅W1、高さH1の格子状に区切り、分割された右眼用画像入力データDb1(1)、Db1(2)、Db1(2)、Db1(3)から右眼用画像入力データDb1(h×w)までを作成する。
領域視差算出ステップST1bにおいて、第1番目の領域に対する左眼用画像入力データDa1(1)と右眼用画像入力データDb1(1)とに対して位相限定相関法を用いて、第1番目の領域の視差データT1(1)を算出する。すなわち、左眼用画像入力データDa1(1)と右眼用画像入力データDb1(1)とに対して位相限定相関Gab(n)が最大となるnを算出し、視差データT1(1)とする。第2番目から第h×w番目までの領域に対する左眼用画像入力データDa1(2)から左眼用画像入力データDa1(h×w)までに対して位相限定相関法を用いて視差データT1(2)から視差データT1(h×w)までを算出する。また、右眼用画像入力データDb1(2)から右眼用画像入力データDb1(h×w)までに対しても、位相限定相関法を用いて視差データT1(2)から視差データT1(h×w)までを算出する。この動作は、実施の形態1における視差算出部1と同等である。
次に、フレーム視差算出ステップST2では、視差データT1(1)から視差データT1(h×w)までのうち最大の視差データを選択し、フレーム視差データT2とする。この動作は、実施の形態1におけるフレーム視差算出部2と同等である。
次に、フレーム視差補正ステップST3では、フレーム視差データT2に対して以下のような処理が行われる。
フレーム視差バッファステップST3aにおいて、時間的に変化するフレーム視差データT2を一定の容量のバッファ記憶装置に順次保存する。
フレーム視差加算平均ステップST3bにおいて、バッファ領域に保存されている視差データT2に基づき、着目フレームの前後の複数のフレーム視差データT2の加算平均値を算出し、補正後フレーム視差データT3を算出する。この動作は、実施の形態1におけるフレーム視差補正部3と同等である。
次に、視差調整量算出ステップST4では、設定された視差調整係数S1aと視差調整閾値S1bとに基づき、補正後フレーム視差データT3から視差調整データT4を算出する。補正後フレーム視差データT3が視差調整閾値S1b以下の時刻においては、視差調整データT4はゼロとする(T4=0)。逆に、補正後フレーム視差データT3が視差調整閾値S1bを超えている時刻では、補正後フレーム視差データT3が視差調整閾値S1bを超えた量に視差調整係S1aを乗じた値を視差調整データT4とする(T4=S1a×(T3−S1b))。この動作は、実施の形態1における視差調整量算出部4と同等である。
次に、調整画像生成ステップST5では、視差調整データT4に基づいて左眼用画像入力データDa1と右眼用画像入力データDb1から、左眼用画像出力データDa2と右眼用画像出力データDb2を算出する。具体的には、左眼用画像入力データDa1を視差調整データT4の半分の値のT4/2だけ左方向に水平に移動し、右眼用画像入力データDb1を視差調整データT4の半分の値のT4/2だけ右方向に水平に移動する。このことで、視差量が視差調整データT4だけ減った、左眼用画像出力データDa2および右眼用画像出力データDb2が生成される。この動作は、実施の形態1における調整画像生成部5と同等である。
以上が本発明の実施の形態2に係る立体画像の画像処理方法の動作である。
これまでの説明から、本発明の実施の形態1における立体画像の画像処理装置100と同等である。したがって本発明における画像処理方法は、本発明の実施の形態1における画像処理装置100と同様の効果を持つ。
実施の形態3.
実施の形態1および実施の形態2では、立体画像の飛び出し量の大きな画像の視差量を減じることにより飛び出し量を制御している。このことで、ディスプレイ表示面61から鑑賞者9までの距離や鑑賞者9の個人差に対応した、好適な奥行き感の視差量に変更して立体画像を表示した。実施の形態3では、立体画像の飛び出し量と引っ込み量との両方がディスプレイ表示面61から鑑賞者9までの距離や鑑賞者9の個人差に対応した、好適な位置にとなるように視差量に変更して立体画像を表示する。ただし、飛び出し位置から引っ込み位置までの奥行き量の幅は変更していない。
図20は、本発明の実施の形態3に係る立体画像を表示する画像表示装置210の構成を示す図である。実施の形態3に係る立体画像表示装置210は、視差算出部1、フレーム視差算出部2、フレーム視差補正部3、視差調整量算出部4、調整画像生成部5および表示部6を備える。画像表示装置210の内の画像処理装置110は、視差算出部1、フレーム視差算出部2、フレーム視差補正部3、視差調整量算出部4および調整画像生成部5で構成されている。
左眼用画像入力データDa1と右眼用画像入力データDb1とは視差算出部1と調整画像生成部5とに入力される。視差算出部1は、左眼用画像入力データDa1と右眼用画像入力データDb1とに基づいて領域ごとに視差量を算出し視差データT1を出力する。視差データT1は、フレーム視差算出部2に入力される。
フレーム視差算出部2は、視差データT1に基づいて着目フレームに対する視差を算出し第1のフレーム視差データT2aおよび第2のフレーム視差データT2bとして出力する。第1のフレーム視差データT2aおよび第2のフレーム視差データT2bは、フレーム視差補正部3に入力される。
フレーム視差補正部3は、着目フレームの第1のフレーム視差データT2aを他の時刻のフレームの第1のフレーム視差データT2aを参照して補正した第1の補正後フレーム視差データT3aを出力する。また、着目フレームの第2のフレーム視差データT2bを他の時刻のフレームの第2のフレーム視差データT2bを参照して補正した第2の補正後フレーム視差データT3bを出力する。第1の補正後フレーム視差データT3aおよび第2の補正後フレーム視差データT3bは、視差調整量算出部4に入力される。
視差調整量算出部4は、鑑賞者9が入力する視差調整情報S1と第1の補正後フレーム視差データT3aおよび第2の補正後フレーム視差データT3bに基づいて算出した視差調整データT4を出力する。視差調整データT4は、調整画像生成部5に入力される。
調整画像生成部5は、視差調整データT4に基づいて左眼用画像入力データDa1と右眼用画像入力データDb1との視差量を調整した左眼用画像出力データDa2と右眼用画像出力データDb2とを出力する。左眼用画像出力データDa2と右眼用画像出力データDb2とは表示部6に入力される。表示部6は、左眼用画像出力データDa2と右眼用画像出力データDb2とを表示面に表示する。
以下で、本発明の実施の形態3に係る画像処理装置110の詳細な動作について説明する。
視差算出部1および領域視差算出部1bの説明は、実施の形態1の図2、図3および図4を用いた説明と同様であるため、その説明を省略する。また、位相限定相関法の説明は、実施の形態1の式(1)から式(4)までを用いた説明と同様であるため、その説明を省略する。
このため、フレーム視差算出部2の詳細な動作について説明を始める。
図21は、フレーム視差算出部2について入力される視差データT1を詳細に説明するための図である。フレーム視差算出部2は、入力される第1番目から第h×w番目までの領域に対応する視差データT1(1)から視差データT1(h×w)までを集約し、着目フレームの画像に対して1つの第1のフレーム視差データT2aおよび1つの第2のフレーム視差データT2bを算出する。
図22は、視差データT1(1)から視差データT(h×w)までを基に第1のフレーム視差データT2aおよび第2のフレーム視差データT2bを算出する方法を説明するための図である。横軸は領域の番号であり、縦軸は視差データT1(視差量)である。フレーム視差算出部2は、視差データT1(1)から視差データT(h×w)までのうち、最大の視差データT1をフレーム画像の第1のフレーム視差データT2aとして出力し、最小の視差データT1をフレーム画像の第2のフレーム視差データT2bとして出力する。
これにより、視差の情報が埋め込まれていない立体映像に対しても、鑑賞者9にとって最も影響が大きいと考えられる立体映像の各フレームでの最も飛び出している部分の視差量、および各フレームでの最も引っ込んでいる部分の視差量を算出することができる。
次に、フレーム視差補正部3の詳細な動作について説明する。
図23は、第1のフレーム視差データT2aおよび第2のフレーム視差データT2bから算出される第1の補正後フレーム視差データT3aおよび第2の補正後フレーム視差データT3bについて詳細に説明するための図である。図23(a)は、第1のフレーム視差データT2aおよび第2のフレーム視差データT2bの時間的変化を示した図である。横軸は時間であり、縦軸はフレーム視差データT2a,T2bの大きさである。図23(b)は第1の補正後フレーム視差データT3aおよび第2の補正後フレーム視差データT3bの時間的変化を示した図である。横軸は時間であり、縦軸は補正後フレーム視差データT3a,T3bの大きさである。
フレーム視差補正部3は、第1のフレーム視差データT2aを一定時間分保持し、着目フレームの前後の複数の第1のフレーム視差データT2aの平均値を算出し、第1の補正後フレーム視差データT3aとして出力する。また、第2のフレーム視差データT2bを一定時間分保持し、着目フレームの前後の複数の第2のフレーム視差データT2bの平均値を算出し、第2の補正後フレーム視差データT3bとして出力する。T3aは次の式(7a)で、T3bは次の式(7b)で表される。
ここで、T3a(tj)は着目する時刻tjにおける第1の補正後フレーム視差データであり、T3b(tj)は着目する時刻tjにおける第2の補正後フレーム視差データである。T2a(k)は時刻kにおける第1のフレーム視差データであり、T2b(k)は時刻kにおける第2のフレーム視差データである。正の整数Lは平均値を算出する幅である。またtj<tiであるので、例えば図23(a)に示す時刻(ti−L)から時刻tiまでにおける第1のフレーム視差データT2aの平均値から図23(b)に示す時刻tjの第1の補正後フレーム視差データT3aが求められる。また、時刻(ti−L)から時刻tiまでにおける第2のフレーム視差データT2bの平均値から図23(b)に示す時刻tjの第2の補正後フレーム視差データT3bが求められる。
立体映像の飛び出し量は時間的に連続的に変化するものが多い。第1のフレーム視差データT2aおよび第2のフレーム視差データT2bが時間的に不連続に変化する場合、例えば、時間軸に対してインパルス状に変化する場合は第1のフレーム視差データT2aおよび第2のフレーム視差データT2bの誤検出とみなしても良い。フレーム視差データ補正部3により、たとえインパルス状の変化があったとしても時間的に平均化されるため誤検出を緩和することができる。
次に、視差調整量算出部4の詳細な動作について説明する。
視差調整量算出部4は、鑑賞者9が自分の見やすい視差量に合わせて設定する視差調整情報S1と第1の補正後フレーム視差データT3aおよび第2の補正後フレーム視差データT3bとに基づいて視差調整量を算出し視差調整データT4を出力する。
視差調整情報S1は、視差調整係数S1aと第1の視差調整閾値S1b、および第2の視差調整閾値S1cを含む。まず、視差調整量算出部4は、視差調整係数S1aと第1の視差調整閾値S1b、および第1の補正後フレーム視差データT3aに基づいて、次の式(8)で表される式により図示しない中間視差調整データVを求める。
第1の補正後フレーム視差データT3aが第1の視差調整閾値S1b以下の場合は、前記中間視差調整データV=0とする。一方、第1の補正後フレーム視差データT3aが第1の視差調整閾値S1bより大きい場合は、第1の補正後フレーム視差データT3aと第1の視差調整閾値S1bとの差の値に視差調整係数S1aを乗じた値を中間視差調整データVとする。
次に、視差調整量算出部4は、第2の視差調整閾値S1cと第2の補正後フレーム視差データT3b、および中間視差調整データVに基づいて、次の式(9)で表される式により視差調整データT4を求める。
視差調整データT4は、画像調整によって減少させる視差量のことであり、左眼用画像入力データDa1と右眼用画像入力データDb1とを水平シフトする量を示す。後で詳述するように、左眼用画像入力データDa1と右眼用画像入力データDb1とを水平シフトする量の和が視差調整データT4となる。
視差調整量算出部4は、第2の補正後フレーム視差データT3bが第2の視差調整閾値S1c以下の場合は、画像調整により左眼用画像入力データDa1と右眼用画像入力データDb1とは水平方向にシフトしない。一方、第2の補正後フレーム視差データT3bが第2の視差調整閾値S1cより大きく、かつ、中間視差調整データVが第2の補正後フレーム視差データT3bから第2の視差調整閾値S1cを減じた値以上の場合は、第2の補正後フレーム視差データT3bから第2の視差調整閾値S1cを減じた値を中間視差調整データVから減じた値だけ左眼用画像入力データDa1および右眼用画像入力データDb1を水平方向にシフトする。また、第2の補正後フレーム視差データT3bが第2の視差調整閾値S1cより大きく、かつ、中間視差調整データVが第2の補正後フレーム視差データT3bから第2の視差調整閾値S1cを減じた値より小さい場合、中間視差調整データVの値だけ左眼用画像入力データDa1および右眼用画像入力データDb1を水平方向にシフトする。
つまり、第2の補正後フレーム視差データT3bと第2の視差調整閾値S1cの関係に応じて、中間視差調整データVを基にして視差調整データT4を算出する。
例えば、視差調整係数S1a=1、第1の視差調整閾値S1b=0、第2の視差調整閾値S1c=−4の場合、式(8)より、T3a≦0ではT4=0となる。つまり画像調整は行われない。一方、T3a>0ではV=T3aとなり、式(9)より、T3b−Vが−4より大きい値を持つ場合、T4=V(=T3a)となり、左眼用画像入力データDa1と右眼用画像入力データDb1とは水平方向にT3aだけシフトされる。つまり、フレーム画像の最大の視差量に基づいて調整された結果、フレーム画像の最小の視差量が第2の視差調整閾値S1cよりも小さくならない場合は、中間視差調整データVだけ調整を行う。第1の補正後フレーム視差データT3aはフレーム画像の最大の視差データとなるため、視差調整データT4は、着目フレーム内の最大の視差量がゼロとなるように算出される。
逆に、T3a>0、かつ、T3b−Vが−4より小さい値を持つ場合、T4=T3a−(T3b−(−4))となり、左眼用画像入力データDa1と右眼用画像入力データDb1とは水平方向にT3a−(T3b−(−4))だけシフトされる。つまり、フレーム画像の最大の視差量に基づいて調整された結果、フレーム画像の最小の視差量が第2の視差調整閾値S1cよりも小さくなる場合は、第2の補正後フレーム視差データT3bから第2の視差調整閾値S1cを減じた値を中間視差調整データVから減じた値だけ調整を行う。このように調整量に制限をかけることで、フレーム画像の最小の視差量が第2の視差調整閾値S1cよりも小さくならないようにする。
上述のように、視差調整量算出部4は、フレーム画像の最小の視差量と第2の視差調整閾値S1cの関係に応じて中間視差調整データVの値を小さくするように制御した結果を視差調整データT4として出力する。このことで、フレーム画像の最小の視差量を過度に小さくすることを抑制できる。なお、フレーム画像の最小の視差量は、第2の補正後フレーム視差データT3bである。
視差調整情報S1の設定は、例えばユーザーがリモコンなどの入力手段によって視差調整情報S1を変化させて立体画像の飛び出し量の変化を見ながら決定する。リモコンの視差調整係数ボタンと視差調整閾値ボタンから入力することもできるが、ランク分けされた一つの視差調整ボタンから視差の調整度合いを入力すると、所定の視差調整係数S1aと視差調整閾値S1bが設定されるようにすることもできる。
また、画像表示装置210が鑑賞者9を観察するカメラなどを備え、鑑賞者9の年齢、鑑賞者9の性別およびディスプレイ表示面から鑑賞者9までの距離などを判別して自動的に視差調整情報S1を設定することもできる。この場合、画像表示装置210の表示面の大きさなどを視差調整情報S1に含めることができる。また、画像表示装置210の表示面の大きさなどを所定の値のみを視差調整情報S1とすることもできる。上記のように、鑑賞者9がリモコンなどの入力手段を用いて入力する個人的な情報、鑑賞者9の年齢、鑑賞者9の性別、鑑賞者9と画像表示装置との距離を含む位置関係および画像表示装置の表示面の大きさなどの鑑賞の状況に関係する情報を含むものを鑑賞の状況を示す情報と呼ぶ。
次に、調整画像生成部5の動作について説明する。
調整画像生成部5の動作は、実施の形態1の図8を用いて説明する。実施の形態1で説明した左眼用画像入力データDa1と右眼用画像入力データDb1との視差量、左眼用画像出力データDa2と右眼用画像出力データDb2との視差量および飛び出し量の関係は、実施の形態1で説明した内容と同様であるため、説明を省略する。
第1の補正後フレーム視差データT3aはフレーム画像の最大の視差データである第1のフレーム視差データT2aから算出される。第2の補正後フレーム視差データT3bは、フレーム画像の最小の視差データである第2のフレーム視差データT2bから算出される。このため、第1の補正後フレーム視差データT3aはフレーム画像の最大の視差データとなり、第2の補正後フレーム視差データT3bはフレーム画像の最小の視差データとなる。中間視差調整データVは、式(8)より第1の補正後フレーム視差データT3aを基に求められる。このため、視差調整係数S1aが1の場合は着目フレーム内の最大の視差量と等しくなり、視差調整係数S1aが1より小さい場合は最大の視差量より小さくなる。図8(a)の視差量d1を着目フレーム内で算出された最大の視差量と仮定すると、視差調整係数S1aを1より小さく設定した場合、図8(b)に示す調整後の最大の視差量d2は、視差量d1より小さい値となる。また、視差調整係数S1a=1、視差調整閾値S1b=0と設定し、かつ、第1の補正後フレーム視差データT3aから中間視差調整データVを減じた値が視差調整閾値S1cよりも大きい場合は映像が飛び出さない画像となり視差量d2=0となる。こうすることで、調整後の画像データの最大飛び出し位置F2が、ディスプレイ表示面61から飛び出し位置F1の間に調整される。
表示部6の動作は、実施の形態1と同様であるため、その説明を省略する。
以上より本実施の形態における画像処理装置110は、入力された一対の画像の視差を、ディスプレイ表示面61から鑑賞者9までの距離や鑑賞者9の個人差などに対応した、鑑賞者9に好適な奥行き感の視差量に変更して立体画像を表示することができる。
以上で、本発明の実施の形態3による立体画像を表示する画像表示装置210の詳細な動作について説明した。
以下では、具体的な画像例を基に実施の形態3について説明する。
図24は、左眼用画像入力データDa1と右眼用画像入力データDb1との具体例を示す図である。図24(a)は、左眼用画像入力データDa1全体を示している。図24(b)は右眼用画像入力データDb1全体を示している。左眼用画像入力データDa1と右眼用画像入力データDb1とは、中央部分の領域で水平方向に視差量d1aの視差があり、左側部分の領域で水平方向に視差量d1bの視差がある。左眼用画像入力データDa1と右眼用画像入力データDb1とには、視差量を算出するための領域に区切る境界を破線で示している。最も左上の領域から順に第1番目の領域、第2番目の領域、第3番目の領域と続き、最も右下の第39番目の領域までの領域に分割されている。第8番目の領域の左眼用画像入力データDa1(8)および右眼用画像入力データDb1(8)を太い実線で示している。また、第16番目の領域の左眼用画像入力データDa1(16)および右眼用画像入力データDb1(16)を太い実線で示している。
図25は、左眼用画像入力データDa1(8)と右眼用画像入力データDb1(8)とから視差量を算出する方法を説明するための図である。図25(a)は、左眼用画像入力データDa1(8)の水平位置と階調との関係を示し、図25(b)は、右眼用画像入力データDb1(8)の水平位置と階調との関係を示す。横軸は水平位置、縦軸は階調である。
左眼用画像入力データDa1(8)と右眼用画像入力データDb1(8)とはともに階調の高い方向に凸形の山形状に変化する領域を含むグラフとなっている。そして、その極大値の位置はちょうど視差量d1bだけずれている。視差算出部1の領域視差算出部1b(8)に左眼用画像入力データDa1(8)と右眼用画像入力データDb1(8)とが入力される。そして、視差量d1bが第8番目の領域の視差データT1(8)として出力される。
図26は、左眼用画像入力データDa1(16)と右眼用画像入力データDb1(16)とから視差量を算出する方法を説明するための図である。図25(a)は、左眼用画像入力データDa1(16)の水平位置と階調との関係を示し、図25(b)は、右眼用画像入力データDb1(16)の水平位置と階調との関係を示す。横軸は水平位置、縦軸は階調である。
左眼用画像入力データDa1(16)と右眼用画像入力データDb1(16)とはともに階調の低い方向に凸形の谷形状に変化する領域を含む曲線となっている。そして、その極小値の位置はちょうど視差量d1aだけずれている。視差算出部1の領域視差算出部1b(16)に左眼用画像入力データDa1(16)と右眼用画像入力データDb1(16)とが入力される。そして、視差量d1aが第16番目の領域の視差データT1(16)として出力される。
図27は、視差算出部1によって出力された視差データT1を示した図である。破線で区切られた領域の中に領域視差算出部1b(1)から領域視差算出部1b(39)までが出力する視差データT1(1)から視差データT1(39)までの値を示している。
図28は、視差データT1から第1のフレーム視差データT2aおよび第2のフレーム視差データT2bを算出する説明のための図である。横軸が各領域の番号であり、縦軸が視差量(視差データT1)である。
図28において、例えば、第8番目の領域の視差データT1(8)および第16番目の領域の視差データT1(16)を斜線で示している。フレーム視差算出部2は、視差算出部1から入力された視差データT1を比較し、最大値である視差量d1aを第1のフレーム視差データT2aとして出力し、最小値である視差量d1bを第2のフレーム視差データT2bとして出力する。
図29は、フレーム視差算出部2によって出力された第1のフレーム視差データT2aおよび第2のフレーム視差データT2bの時間的変化を示した図である。横軸が時間であり、縦軸がフレーム視差データT2a,T2bの大きさである。この図29において、時刻tjの位置のデータは、図24に示した画像の時刻tjでのフレームに対応するものである。
図30は、第1のフレーム視差データT2aから第1の補正後フレーム視差データT3aを算出する方法および第2のフレーム視差データT2bから第2の補正後フレーム視差データT3bを算出する方法を説明するための図である。図30は、第1の補正後フレーム視差データT3aおよび第2の補正後フレーム視差データT3bの時間的変化を示している。横軸は時間であり、縦軸は補正後フレーム視差データT3a,T3bの大きさである。フレーム視差補正部3は、平均値を算出する幅L=3として式(7)を用いて着目フレームと着目フレームの前後のフレームの第1のフレーム視差データT2aの平均値を第1の補正後フレーム視差データT3aとして出力する。また、フレーム視差補正部3は、平均値を算出する幅L=3として式(7)を用いて着目フレームと着目フレームの前後の第2のフレーム視差データT2bの平均値を第2の補正後フレーム視差データT3bとして出力する。例えば、図30の時刻tjにおける第1の補正後フレーム視差データT3a(tj)は、図29に示す時刻t1,tj,t2の第1のフレーム視差データT2a(t1),T2a(tj),T2a(t2)の平均値として算出される。すなわち、T3a(tj)=(T2a(t1)+T2a(tj)+T2a(t2))/3となる。
図31は、第1の補正後フレーム視差データT3aおよび第2の補正後フレーム視差データT3bから、視差調整量算出部4において、上述の式(9)に基づいて、中間視差調整データVおよび視差調整データT4を算出する方法を説明するための図である。図31(a)は、第1の補正後フレーム視差データT3aおよび第2の補正後フレーム視差データT3bの時間的変化を示している。S1bは第1の視差調整閾値、S1cは第2の視差調整閾値である。横軸は時間であり、縦軸は補正後フレーム視差データT3の大きさを示している。図31(b)は、中間視差調整データVおよび視差調整データT4の時間的変化を示している。横軸は時間であり、縦軸は視差調整視差データV,T4の大きさを示している。
視差調整量算出部4は、図31(a)に示した第1の補正後フレーム視差データT3aを基にして図31(b)に示す中間視差調整データVを出力する。第1の補正後フレーム視差データT3aが第1の視差調整閾値S1b以下の時刻では、中間視差調整データVはゼロとして出力される。第1の視差調整閾値S1b以下の時刻とは、画像があまり飛び出していない時刻である。逆に、第1の補正後フレーム視差データT3aが第1の視差調整閾値S1bより大きい時刻では、第1の補正後フレーム視差データT3aが第1の視差調整閾値S1bを超えた量に視差調整係数S1aを乗じた値が中間視差調整データVとして出力される。
また、視差調整量算出部4は、図31(a)に示した第2の補正後フレーム視差データT3bと中間視差調整データVを基にして図31(b)に示す視差調整データT4を算出する。第2の補正後フレーム視差データT3bから中間視差調整データVを減じた結果の値が、第2の視差調整閾値S1c以下になる(T3b−V≦S1c)時刻では、視差調整データT4は、第2の補正後フレーム視差データT3bから第2の視差調整閾値S1cを減じた値を中間視差調整データVから減じた値(T4=V−(T3b−S1c))となる。第2の補正後フレーム視差データT3bから中間視差調整データVを減じた結果の値が、第2の視差調整閾値S1c以下(T3b−V≦S1c)になる時刻とは、中間視差調整データVを用いて調整を行った結果、フレーム画像の最小の視差量が第2の視差調整閾値S1c以下になる時刻である。
逆に、第2の補正後フレーム視差データT3bから中間視差調整データVを減じた結果の値が、第2の視差調整閾値S1cより大きくなる(T3b−V>S1c)時刻では、視差調整データT4は中間視差調整データVと等しくなる(T4=V)。第2の補正後フレーム視差データT3bから中間視差調整データVを減じた結果の値が、第2の視差調整閾値S1cより大きくなる(T3b−V>S1c)時刻とは、中間視差調整データVを用いて調整を行った結果、フレーム画像の最小の視差量が第2の視差調整閾値S1c以下にならない時刻である。
図32は、視差調整データT4、左眼用画像入力データDa1および右眼用画像入力データDb1から、左眼用画像出力データDa2および右眼用画像出力データDb2を算出する方法を説明するための図である。図32の画像は、図24に示した画像と同じ時刻tjのフレームである。図32(a)は左眼用画像出力データDa2を示しており、図32(b)は右眼用画像出力データDb2を示している。
調整画像生成部5は、図31に示した時刻tjにおける視差調整データT4に基づき、左眼用画像入力データDa1を視差調整データT4の半分の値のT4/2だけ左に水平移動し、左眼用画像出力データDa2として出力する。また、調整画像生成部5は、図31に示した時刻tjにおける視差調整データT4に基づき、右眼用画像入力データDb1を視差調整データT4の半分の値のT4/2だけ右に水平移動し、右眼用画像出力データDb2として出力する。図32に示す視差量d2aはd1a−T4となり、視差量d1aに比べ視差量が減っている。また、図32に示す視差量d2bはd1b−T4となり、視差量d1bに比べ視差量が減っている。また、この場合の視差量d2bは、視差調整閾値S1cに等しい。
以上のように、本実施の形態における画像表示装置210において表示された立体映像は、ある閾値を超えて飛び出し量の大きな画像の視差量を減じることにより飛び出し量を制御することができる。これにより、画像表示装置210はディスプレイ表示面61から鑑賞者9までの距離や鑑賞者9の個人差に対応した、好適な奥行き感の視差量に変更して立体画像を表示することができる。
なお、実施の形態3では、フレーム視差補正部3は、着目フレームの前後の複数の第1のフレーム視差データT2aおよび第2のフレーム視差データT2bの平均値を算出し、それぞれ第1の補正後フレーム視差データT3aおよび第2の補正後フレーム視差データT3bとして出力した例を示した。しかし、着目フレームの前後の複数の第1のフレーム視差データT2aおよび第2のフレーム視差データT2bの中央値を算出し、第1の補正後フレーム視差データT3aおよび第2の補正後フレーム視差データT3bとして出力しても良い。その他の方法を用いて着目フレームの前後複数の第1のフレーム視差データT2aおよび第2のフレーム視差データT2bから補正した値を算出し、第1の補正後フレーム視差データT3aおよび第2の補正後フレーム視差データT3bを出力しても良い。
実施の形態4.
実施の形態3で示した画像処理装置110の画像処理方法に関して説明する。説明に用いる図は、実施の形態2の図17および図19を用いる。また、視差算出ステップST1の説明は、図18を用いた説明も含めて実施の形態2と同様であるため、説明を省略する。
フレーム視差算出ステップST2から説明を始める。フレーム視差補正ステップST3は、図19に示すようにフレーム視差バッファステップST3aとフレーム視差加算平均ステップST3bとからなる。
フレーム視差算出ステップST2では、視差データT1(1)から視差データT1(h×w)までのうち最大の視差データT1を選択し、第1のフレーム視差データT2aとする。また、視差データT1(1)から視差データT1(h×w)までのうち最小の視差データT1を選択し、第2のフレーム視差データT2bとする。この動作は、実施の形態3におけるフレーム視差算出部2と同様である。
次に、フレーム視差補正ステップST3では、第1のフレーム視差データT2a、および第2のフレーム視差データT2bに対して以下のような処理が行われる。
フレーム視差バッファステップST3aにおいて、時間的に変化する第1のフレーム視差データT2aおよび第2のフレーム視差データT2bを一定の容量のバッファ記憶装置に順次保存する。
フレーム視差加算平均ステップST3bにおいて、バッファ領域に保存されている着目フレームの前後の複数の第1のフレーム視差データT2aの加算平均値を算出し、第1の補正後フレーム視差データT3aを算出する。また、バッファ領域に保存されている着目フレームの前後の複数の第2のフレーム視差データT2bの加算平均値を算出し、第2の補正後フレーム視差データT3bを算出する。この動作は、実施の形態3におけるフレーム視差補正部3と同様である。
次に、視差調整量算出ステップST4では、設定された視差調整係数S1a、第1の視差調整閾値S1bおよび第2の視差調整閾値S1cに基づき、まず、第1の補正後フレーム視差データT3aおよび第2の補正後視差フレームデータT3bから中間視差調整量Vを算出する。第1の補正後フレーム視差データT3aが第1の視差調整閾値S1b以下の時刻においては、中間視差調整データV=0とする。一方、第1の補正後フレーム視差データT3aが第1の視差調整閾値S1bより大きい時刻においては、第1の補正後フレーム視差データT3aと第1の視差調整閾値S1bとの差の値に視差調整係数S1aを乗じた値を中間視差調整データVとする(V=S1a×(T3a−S1b))。
次に、第2の視差調整閾値S1c、第2の補正後フレーム視差データT3bおよび中間視差調整データVに基づいて、視差調整データT4を求める。第2の補正後フレーム視差データT3bが第2の視差調整閾値S1c以下の時刻においては、視差調整データT4=0とする。一方、第2の補正後フレーム視差データT3bが第2の視差調整閾値S1cの値より大きく(T3b>S1c)、かつ中間視差調整データVが第2の補正後フレーム視差データT3bから第2の視差調整閾値S1cを減じた値以上の時刻(V≧T3b−S1c)においては、視差調整データT4は、第2の補正後フレーム視差データT3bから第2の視差調整閾値S1cを減じた値を中間視差調整データVから減じた値(T4=V−(T3b−S1c))とする。また、第2の補正後フレーム視差データT3bが第2の視差調整閾値S1cの値より大きく(T3b>S1c)、かつ中間視差調整データVが第2の補正後フレーム視差データT3bから第2の視差調整閾値S1cを減じた値より小さい(V<T3b−S1c)時刻においては、視差調整データT4は、中間視差調整データVの値と等しくなる(T4=V)。この動作は、実施の形態3における視差調整量算出部4と同様である。
次に、調整画像生成ステップST5では、視差調整データT4に基づいて左眼用画像入力データDa1および右眼用画像入力データDb1から、左眼用画像出力データDa2および右眼用画像出力データDb2を算出する。具体的には、左眼用画像入力データDa1を視差調整データT4の半分の値のT4/2だけ左に水平移動し、右眼用画像入力データDb1を視差調整データT4の半分の値のT4/2だけ右に水平移動する。これにより、視差量がT4だけ減った左眼用画像出力データDa2および右眼用画像出力データDb2が生成される。この動作は、実施の形態3における調整画像生成部5と同様である。
以上のように構成された画像処理方法においては、入力された一対の画像の視差量を、ディスプレイ表示面61から鑑賞者9までの距離や鑑賞者9の個人差に対応した、好適な奥行き感の視差に変更して立体画像を表示することができる。
実施の形態5.
実施の形態1では、入力画像データDa1,Db1を用いて、視差算出部1およびフレーム視差算出部2の処理を行っている。実施の形態5では、入力画像データDa1,Db1を画像縮小部7で縮小して視差算出部1およびフレーム視差算出部2の処理を行う。その後、フレーム視差補正部3にデータを出力する前にフレーム視差拡大部8でフレーム視差データを拡大している。
図33は、本発明を実施するための実施の形態5に係る立体画像を表示する画像表示装置220の構成を示す模式図である。実施の形態5に係る立体画像表示装置220は、画像縮小部7、視差算出部1、フレーム視差算出部2、フレーム視差拡大部8、フレーム視差補正部3、視差調整量算出部4、調整画像生成部5および表示部6を備える。画像表示装置220の内の画像処理装置120は、画像縮小部7、視差算出部1、フレーム視差算出部2、フレーム視差拡大部8、フレーム視差補正部3、視差調整量算出部4および調整画像生成部5で構成されている。
左眼用画像入力データDa1と右眼用画像入力データDb1とは画像縮小部7と調整画像生成部5に入力される。画像縮小部7は、左眼用画像入力データDa1と右眼用画像入力データDb1を縮小し左眼用画像データDa3と右眼用画像データDb3を出力する。左眼用画像データDa3および右眼用画像データDb3は視差算出部1に入力される。視差算出部1は、左眼用画像データDa3および右眼用画像データDb3に基づいて領域ごとに視差を算出し視差データT1として出力する。視差データT1は、フレーム視差算出部2に入力される。
フレーム視差算出部2は、視差データT1に基づいて着目フレームに対する視差を算出しフレーム視差データT2として出力する。フレーム視差データT2は、フレーム視差拡大部8に入力される。
フレーム視差拡大部8は、フレーム視差データT2を拡大して拡大フレーム視差データT8を出力する。拡大フレーム視差データT8は、フレーム視差補正部3に入力される。
フレーム視差補正部3は、着目フレームの拡大フレーム視差データT8を他の時刻のフレームの拡大フレーム視差データT8を参照して補正した補正後フレーム視差データT3を出力する。補正後フレーム視差データT3は、視差調整量算出部4に入力される。
視差調整量算出部4は、鑑賞者9が入力する視差調整情報S1と補正後フレーム視差データT3に基づいて算出した視差調整データT4を出力する。視差調整データT4は、調整画像生成部5に入力される。
調整画像生成部5は、視差調整データT4に基づいて左眼用画像データDa3および右眼用画像データDb3の視差を調整した左眼用画像出力データDa2および右眼用画像出力データDb2を出力する。左眼用画像出力データDa2および右眼用画像出力データDb2は表示部6に入力される。表示部6は、左眼用画像出力データDa2および右眼用画像出力データDb2を表示面に表示する。
以下で、実施の形態5に係る画像処理装置120の詳細な動作について説明する。
画像縮小部7には、左眼用画像入力データDa1と右眼用画像入力データDb1とが入力される。立体映像は左眼用画像と右眼目用画像との一対の画像が連続した動画で構成されている。左眼用画像入力データDa1は左眼用画像であり、右眼用画像入力データDb1は右眼用画像である。このため、映像の画像自体が左眼用画像入力データDa1と右眼用画像入力データDb1とになる。例えばテレビ画像であれば、デコーダが放送信号を復号してできた映像信号が左眼用画像入力データDa1および右眼用画像入力データDb1として入力される。
図34は、画像縮小部7を説明するための模式図である。画像縮小部7は、入力データである左眼用画像入力データDa1と右眼用画像入力データDb1とを縮小して左眼用画像データDa3と右眼用画像データDb3とを生成する。入力データの画像サイズを幅IWおよび高さIH、水平縮小率と垂直縮小率とを共に1/α(α>1)とした場合、画像縮小部7からの出力データの画像サイズは幅IW/αおよび高さIH/αとなる。
図35は、視差算出部1が左眼用画像データDa3と右眼用画像データDb3に基づいて視差データT1を算出する方法を説明するための模式図である。
視差算出部1は、左眼用画像データDa3と右眼用画像データDb3とを幅W1と高さH1の大きさに区切り、その領域ごとの視差量を算出する。なお、画面の分割数については、実施の形態5に係る発明を実際のLSIなどに実装する際にLSIの処理量等を考慮して決定する。
区切った領域の垂直方向の領域の数を正の整数h、水平方向の領域の数を正の整数wとする。図35では、最も左上の領域の番号を第1番目とし、順次各領域を、第2番目、第3番目・・・第h×w番目としている。さらに、左眼用画像データDa3の第1番目の領域に含まれる画像データをDa1(1)とし、以下各領域に対する画像データをDa1(2)、Da1(3)からDa1(h×w)までとし、右眼用画像データDb3の各領域に対する画像データも同様にDb1(1)、Db1(2)、Db1(2)、Db(3)からDb(h×w)までとする。
図36は、視差算出部1の詳細な構成を示す模式図である。視差算出部1は、領域ごとに視差量を算出するため、h×w個の領域視差算出部1bで構成されている。領域視差算出部1b(1)は、第1番目の領域に含まれる左眼用画像データDa3(1)と右眼用画像データDb3(1)とに基づいて第1番目の領域の視差量を算出し、第1番目の領域の視差データT1(1)として出力する。以下同様に、領域視差算出部1b(2)から領域視差算出部1b(h×w)までは、それぞれ第2番目から第h×w番目までの領域の視差量を算出し、第2番目から第h×w番目までの領域の視差データT1(2)から視差データT1(h×w)までとして出力する。そして、視差算出部1は第1番目から第h×w番目までの領域の視差データT1(1)から視差データT1(h×w)までを視差データT1として出力する。
領域視差算出部1b(1)は、位相限定相関法を用いて左眼用画像データDa3(1)と右眼用画像データDb3(1)の視差データT1(1)を算出する。位相限定相関法については、例えば非特許文献( 萩原 瑞木、川俣 政征著「位相限定関数を用いた画像のサブピクセル精度の位置ずれ検出」電子情報通信学会技術研究報告、No.CAS2001−11、VLD2001−28、DSP2001−30、2001年6月、pp.79−86)に説明されている。位相限定相関法は、立体映像の一対の画像を入力として受け取り、視差量を出力するアルゴリズムである。
実施の形態1で式(1)から式(4)までを用いて説明した位相限定相関法に関する説明は、実施の形態1の説明と同様であるため、その説明を省略する。
領域視差算出部1bでは、左眼用画像データDa3(1)を式(4)のaとし、右眼用画像データDb3(1)を式(4)のbとして、位相限定相関法によって算出されたNoptが視差データT1(1)となる。
実施の形態1の図4を用いて、第1番目の領域に含まれる左眼用画像データDa3(1)および右眼用画像データDb3(1)から位相限定相関法を用いて視差データT1(1)を算出する方法を説明する。図4(a)の実線で表される特性曲線は、第1番目の領域に対応する左眼用画像データDa3(1)である。横軸は水平位置、縦軸は階調を示している。図4(b)のグラフは、第1番目の領域に対応する右眼用画像データDb3(1)である。横軸は水平位置、縦軸は階調を示している。図4(a)の破線で表される特性曲線は、図4(b)で示した右眼用画像入力データDb1(1)の特性曲線を第1番目の領域の視差量n1だけずらしたものである。図5(c)のグラフは、位相限定相関関数Gab(n)であり、横軸はGab(n)の変数n、縦軸は相関の強さを示している。
位相限定相関関数Gab(n)は、連続する系列aとaをτシフトした系列bで定義されており、式(2)および式(3)よりn=−τにピークを持つデルタ関数になる。右眼用画像データDb3(1)は、左眼用画像データDa3(1)に対して飛び出す場合に左方向にずれ、引っ込む場合に右方向にずれている。左眼用画像データDa3(1)と右眼用画像入力データDb(1)を領域に区切ったデータでは飛び出し方向、引っ込み方向いずれか一方にずれている可能性が高く、左眼用画像データDa3(1)および右眼用画像データDb3(1)を式(4)の入力a(m),b(m)として算出した式(1)のNoptが視差データT1(1)となる。
本実施の形態5においては、視差データT1は符号を持つ値とする。対応する右眼用画像と左眼用画像とが有する飛び出し方向の視差に対応する視差データT1は正となる。対応する右眼用画像と左眼用画像とが有する引っ込み方向の視差に対応する視差データT1は負となる。対応する右眼用画像と左眼用画像が視差を有しない場合には視差データT1がゼロになる。
図4(a)と図4(b)との関係より、ずれ量はn1であるため、図4(c)に示すように位相限定相関関数Gab(n)に関するずれ量の変数nがn1のときに相関関数の値が極大となる。
領域視差算出部1b(1)は、式(1)より左眼用画像データDa3(1)と右眼用画像データDb3(1)とに対する位相限定相関関数Gab(n)の値が最大となるずれ量n1を視差データT1(1)として出力する。
同様に、領域視差算出部1b(2)から領域視差算出部1b(h×w)までは、第2番目から第h×w番目の領域に含まれる左眼用画像データDa3(2)から左眼用画像データDa3(h×w)までと右眼用画像データDb3(2)から右眼用画像データDb3(h×w)までとのそれぞれの位相限定相関の値がピークとなるずれ量を視差データT1(2)から視差データT1(h×w)までとして出力する。
上述の非特許文献には、左眼用画像入力データDa1と右眼用画像入力データDb1とをそのまま入力として、左眼用画像入力データDa1と右眼用画像入力データDb1との視差を得る方法が記載されている。しかし、入力される画像が大きければ計算量が多くなり、LSIに実装した際、回路規模が大きくなるという問題がある。
実施の形態5に係る立体画像表示装置220の視差算出部1では、左眼用画像データDa3と右眼用画像データDb3とを小さい領域に分割し、領域ごとに位相限定相関法を適用している。このため、小さい回路規模で位相限定相関法をLSIに実装できる。この場合、すべての領域を同時に計算するのではなく、1つの回路を使って1領域ずつ順番に視差量を計算することでさらに回路規模を小さくできる。領域ごとに求めた視差量をもとに、次に説明するフレーム視差算出部2で左眼用画像データDa3と右眼用画像データDb3との画像全体での視差量を出力する。
フレーム視差算出部2の詳細な動作については、実施の形態1の図5および図6を用いた説明と同様であるため、その説明を省略する。
次に、フレーム視差拡大部8の詳細な動作について説明する。
フレーム視差拡大部8は、フレーム視差データT2を拡大して拡大フレーム視差データT8を出力する。ここで、画像縮小部7での水平縮小率を1/αとした時、フレーム視差拡大部8での拡大率はαとする。つまり拡大フレーム視差データT8はα×T2となる。
フレーム視差データT2は、左眼用画像入力データDa1と右眼用画像入力データDb1を1/αに縮小した左眼用画像データDa3と右眼用画像データDb3とに対応する視差である。フレーム視差データT2をα倍した拡大フレーム視差データT8は、左眼用画像入力データDa1と右眼用画像入力データDb1とに対応する視差に相当する。
次に、フレーム視差補正部3の詳細な動作について説明する。
図37は、拡大フレーム視差データT8から算出される補正後フレーム視差データT3について詳細に説明するための図である。図37(a)は、拡大フレーム視差データT8の時間的変化を示した図である。横軸は時間であり、縦軸は拡大フレーム視差データT8である。図37(b)は補正後フレーム視差データT3の時間的変化を示した図である。横軸は時間であり、縦軸は補正後フレーム視差データT3である。
フレーム視差補正部3は、拡大フレーム視差データT8を一定時間分保持し、着目フレームの前後複数の拡大フレーム視差データT8の平均値を算出し、補正後フレーム視差データT3として出力する。補正後フレーム視差データT3は次の式(10)で表される。
ここで、補正後フレーム視差データT3(tj)は着目する時刻tjにおける補正後フレーム視差データである。拡大フレーム視差データT8(k)は時刻kにおける拡大フレーム視差データである。正の整数Lは平均値を算出する幅である。またtj<tiであるので、例えば図37(a)に示す時刻(ti−L)からtiまでにおける拡大フレーム視差データT8の平均値から図37(b)に示す時刻tjの補正後フレーム視差データT3が求められる。また(ti−L)<tj<tiであるので、例えば図37(a)に示す時刻(ti−L)から時刻tiまでにおける拡大フレーム視差データT8の平均値から図37(b)に示す時刻tjの補正後フレーム視差データT3が求められる。
立体映像の飛び出し量は時間的に連続的に変化するものが多い。拡大フレーム視差データT8が時間的に不連続に変化する場合、例えば、時間軸に対してインパルス状に変化する場合は拡大フレーム視差データT8の誤検出とみなしても良い。フレーム視差データ補正部5により、たとえインパルス状の変化があったとしても時間的に平均化されるため誤検出を緩和することができる。
次に、視差調整量算出部4の詳細な動作について説明する。
視差調整量算出部4は、鑑賞者9が自分の見やすい視差量に合わせて設定する視差調整情報S1と補正後フレーム視差データT3とに基づいて視差調整量を算出し視差調整データT4を出力する。
視差調整情報S1は、視差調整係数S1aと視差調整閾値S1bを含む。視差調整データT4は次の式(11)で表される。
視差調整データT4は、画像調整によって飛び出し量を減少させるための視差量であり、左眼用画像入力データDa1と右眼用画像入力データDb1とを水平方向に移動させる量を示す。後で詳述するように、左眼用画像入力データDa1と右眼用画像入力データDb1とを水平方向に移動する量の和が視差調整データT4となる。このため、フレーム視差データT4が視差調整閾値S1b以下の場合は、画像調整により左眼用画像入力データDa1と右眼用画像入力データDb1とは水平方向にシフトさせない。一方、補正後フレーム視差データT3が視差調整閾値S1bより大きい場合は、補正後フレーム視差データT3と視差調整閾値S1bとの差の値に視差調整係数S1aを乗じた値((T3−S1b)×S1a)だけ左眼用画像データDa3と右眼用画像データDb3とを水平方向に移動させることになる。
例えば、視差調整係数S1a=1、視差調整閾値S1b=0の場合、T3≦0ではT4=0となる。つまり画像調整は行われない。一方、T3>0ではT4=T3となり、左眼用画像データDa3と右眼用画像データDb3とは水平方向にT4だけシフトされる。補正後フレーム視差データT3はフレーム画像の最大の視差量であるため、着目フレーム内で算出された最大の視差量が0となる。また、視差調整係数S1aを1より小さくしていくと視差調整データT4は補正後視差データT3より小さくなり、着目フレーム内で算出された最大の視差量も0より大きくなる。また、視差調整閾値S1bを0より大きくしていくと、補正後フレーム視差データT3が0より大きい値に対しても視差データT1の調整は行われない。つまり画像が少し飛び出しているフレームに対しても視差調整は行われない。
視差調整情報S1の設定は、例えばユーザーがリモコンなどの入力手段によって視差調整情報S1を変化させて立体画像の飛び出し量の変化を見ながら決定する。リモコンの視差調整係数ボタンと視差調整閾値ボタンから入力することもできるが、ランク分けされた一つの視差調整ボタンから視差の調整度合いを入力すると、所定の視差調整係数S1aと視差調整閾値S1bが設定されるようにすることもできる。
また、画像表示装置220が鑑賞者9を観察するカメラなどを備え、鑑賞者9の年齢、鑑賞者9の性別およびディスプレイ表示面から鑑賞者9までの距離などを判別して自動的に視差調整情報S1を設定することもできる。この場合、画像表示装置220の表示面の大きさなどを視差調整情報S1に含めることができる。また、画像表示装置220の表示面の大きさなどを所定の値のみを視差調整情報S1とすることもできる。上記のように、鑑賞者9がリモコンなどの入力手段を用いて入力する個人的な情報、鑑賞者9の年齢、鑑賞者9の性別、鑑賞者9と画像表示装置との距離を含む位置関係および画像表示装置の表示面の大きさなどの鑑賞の状況に関係する情報を含むものを鑑賞の状況を示す情報と呼ぶ。
次に、調整画像生成部5の動作について説明する。
図38は、左眼用画像入力データDa1および右眼用画像入力データDb1の視差量と飛び出し量との関係を説明するための図である。また、図38は、左眼用画像出力データDa2および右眼用画像出力データDb2の視差量と飛び出し量との関係を説明するための図である。図38(a)は、左眼用画像入力データDa1および右眼用画像入力データDb1の視差量と飛び出し量の関係を示した図である。図38(b)は、左眼用画像出力データDa2および右眼用画像出力データDb2の視差量と飛び出し量の関係を示した図である。
調整画像生成部5は、視差調整データT4に基づいてT3>S1bと判断した場合に、視差調整データT4に基づいて左眼用画像データDa3を左方向に水平に移動した左眼用画像出力データDa2を出力し、右眼用画像データDb3を右方向に水平に移動した右眼用画像出力データDb2を出力する。このとき視差量d2は、視差量d0および視差調整データT4を用いて視差量d2=d0−T4で求められる。
左眼用画像入力データDa1の画素P1lと右眼用画像入力データDb1の画素P1rとは同じ物体の同じ部分である。そして、その視差量はd0となり鑑賞者9からはその物体は位置F1の位置に飛び出して見える。
左眼用画像出力データDa2の画素P2lと右眼用画像入力データDb2の画素P2rとは同じ物体の同じ部分である。そして、その視差量はd2となり鑑賞者9からはその物体は位置F2の位置に飛び出して見える。
左眼用画像データDa3を左方向に水平に移動し、右眼用画像データDb3を右方向に水平に移動する。これにより視差量d0は小さくなり、視差量d2となる。このため、これに応じて物体の飛び出し位置が位置F1から位置F2へと変化する。
補正後フレーム視差データT3は入力フレーム画像の最大の視差データである拡大フレーム視差データT8から算出されるため、この補正後フレーム視差データT3はフレーム画像の最大の視差データとなる。視差調整データT4は、式(8)より補正後フレーム視差データT3を基に算出されるため、視差調整係数S1aが1の場合は着目フレーム内の最大の視差量と等しくなる。また、視差調整係数S1aが1より小さい場合は最大の視差量より小さくなる。図38の視差量d1を着目フレーム内で算出された最大の視差量と仮定すると、図38(b)に示す調整後の最大の視差量d2は視差調整係数S1aを1より小さく設定した場合は視差量d0より小さい値となる。また、視差調整係数S1a=1、視差調整閾値S1b=0と設定した場合は映像が飛び出さない画像となりd2=0となる。こうすることで、調整後の画像データの最大飛び出し位置F2が、ディスプレイ表示面61から飛び出し位置F1の間に調整される。
次に、表示部6の動作について述べる。表示部6は、左眼用画像出力データDa2と右眼用画像出力データDb2とを鑑賞者9の左眼と右眼とに別々に表示する。具体的には、表示角を制限するバリアやレンズなどの光学的な機構により左眼と右眼とに異なった画像を表示できるディスプレイを使う立体画像表示方式でも良い。また、左眼用画像と右眼用画像を交互に表示したディスプレイに同期して左眼用のレンズと右眼用のレンズとのシャッターを交互に閉じる専用メガネを用いる立体画像表示方式でも良い。
以上より本実施の形態5における画像処理装置120は、入力された一対の画像入力データDa1,Db1の視差量を、ディスプレイ表示面61から鑑賞者9までの距離や鑑賞者9の個人差に対応した、鑑賞者9に好適な奥行き感の視差量に変更して立体画像を表示することができる。
以上で、本発明の実施の形態5による立体画像を表示する画像表示装置220の詳細な動作について説明を述べた。
以下では、具体的な画像例を基に実施の形態5について説明する。
図39は、画像縮小部7の動作の具体例を示す模式図である。図39(a)は、左眼用画像入力データDa1全体を示している。図39(b)は右眼用画像入力データDb1全体を示している。図39(c)は、縮小した左眼用画像データDa3全体を示している。図39(d)は右眼用画像入力データDb1全体を示している。水平縮小率と垂直縮小率とを共に1/α(α>1)とした。左眼用画像入力データDa1と右眼用画像入力データDb1とは、水平方向に視差量d0の視差がある。この時、縮小した左眼用画像データDa3と右眼用画像データDb3との視差量は視差量d0をαで割ったd0/αとなる。この縮小した左眼用画像データDa3と右眼用画像データDb3の視差量とをd1とする。
図40は、左眼用画像データDa3および右眼用画像データDb3の具体例を示す模式図である。図40(a)は、左眼用画像データDa3全体を示している。図40(b)は右眼用画像データDb3全体を示している。左眼用画像データDa3と右眼用画像データDb3とは、水平方向に視差量d1の視差がある。左眼用画像データDa3と右眼用画像データDb3とについて、視差量を算出するための領域に区切る境界を破線で示している。最も左上の領域から順に第1番目の領域、第2番目の領域、第3番目の領域と続き、最も右下の第39番目の領域までの領域に分割される。着目する第16番目の領域の左眼用画像データDa3(16)および右眼用画像データDb3(16)を太い実線で示している。
図41は、左眼用画像データDa3(16)と右眼用画像データDb3(16)とから視差量を算出する方法を説明するための図である。図41(a)は、左眼用画像データDa3(16)の水平位置と階調との関係を示し、図41(b)は、右眼用画像データDb3(16)の水平位置と階調との関係を示す。横軸は水平位置、縦軸は階調である。
左眼用画像データDa3(16)と右眼用画像データDb3(16)とはともに階調の低い方向に凸形の谷形状に変化する領域を含むグラフとなっている。そして、その極小値の位置はちょうど視差量d1だけずれている。視差算出部1の領域視差算出部1b(16)に左眼用画像データDa3(16)と右眼用画像データDb3とが入力される。そして、視差量d1が第16番目の領域の視差データT1(16)として出力される。
視差算出部1によって出力された視差データT1が領域視差算出部1bに区切られている説明は、実施の形態1の図11を用いた説明と同様のため、その説明を省略する。また、視差データT1からフレーム視差データT2を算出する説明も実施の形態1の図12を用いた説明と同様のため、その説明を省略する。
なお、フレーム視差拡大部8では、フレーム視差算出部2によって出力されたフレーム視差データT2をα倍して拡大フレーム視差データT8を出力する。フレーム視差データT2の視差量はd1なので補正後フレーム視差データT3の視差量はd0となる。
図42は、フレーム視差拡大部8によって出力された拡大フレーム視差データT8の時間的変化を示した模式図である。図42において、横軸が時間であり、縦軸が拡大フレーム視差データT8である。図39(a)、図39(b)に示した画像は時刻tjでのフレームである。
図43は、拡大フレーム視差データT8から補正後フレーム視差データT3を算出する方法を説明するための説明図であり、補正後フレーム視差データT3の時間的変化を示している。図43において、横軸は時間であり、縦軸は補正後フレーム視差データT3である。図39に示した画像は時刻tjでのフレームである。フレーム視差補正部3は、式(5)を用いて着目フレームおよび着目フレームの前後のフレームの拡大フレーム視差データT8を平均する。フレーム視差補正部3は、その平均値を補正後フレーム視差データT3として出力する。例えば、図43の時刻tjにおける補正後フレーム視差データT3(tj)は、図42に示す時刻t1,tj,t2の拡大フレーム視差データT8(t1),T3(tj),T3(t2)の平均値として算出される。すなわち、T3(tj)=(T2(t1)+T2(tj)+T2(t2))/3となる。
図44は、補正後フレーム視差データT3から視差調整データT4を算出する方法を説明するための図である。図44(a)は、補正後フレーム視差データT3の時間的変化を示しており、S1bは視差調整閾値である。図44(b)は、視差調整データT4の時間的変化を示している。図44において、横軸は時間であり、縦軸は視差調整データT4である。
視差調整量算出部4は、図44(a)に示した補正後フレーム視差データT3を基に図44(b)に示す視差調整データT4を出力する。視差調整量算出部4は、補正後フレーム視差データT3が視差調整閾値S1b以下の時刻では視差調整データT4として0を出力する。補正後フレーム視差データT3が視差調整閾値S1b以下の時刻とは、画像があまり飛び出していない時刻である。逆に、視差調整量算出部4は、補正後フレーム視差データT3が視差調整閾値S1bより大きい時刻では、補正後フレーム視差データT3が視差調整閾値S1bを超えた量に視差調整係数S1aを乗じた値((T3−S1b)×S1a)を視差調整データT4として出力する。
実施の形態1の図16を用いて、視差調整データT4、左眼用画像入力データDa1および右眼用画像入力データDb1から、左眼用画像出力データDa2および右眼用画像出力データDb2を算出する説明する。図16は図40に示した画像と同時刻tjのフレームである。図16(a)は左眼用画像出力データDa2を示しており、図16(b)は右眼用画像出力データDb2を示している。
調整画像生成部5は、図44に示した時刻tjにおける視差調整データT4に基づき、左眼用画像入力データDa1を視差調整データT4の半分の値のT4/2だけ左に水平移動し、右眼用画像データDb3を視差調整データT4の半分の値のT4/2だけ右に水平移動する。そして、調整画像生成部5は、それらの画像データを左眼用画像出力データDa2および右眼用画像出力データDb2として出力する。本実施の形態5では、図16に示す視差量d2はd0−T5となり、視差量d0に比べ視差量が減少している。
以上のように、本実施の形態5における画像表示装置220は、ある閾値を超えて飛び出し量の大きな画像の視差量を減じることにより飛び出し量を制御する。これにより、画像表示装置220は、ディスプレイ表示面61から鑑賞者9までの距離や鑑賞者9の個人差に対応した、好適な奥行き感の視差量に変更して立体画像を表示することができる。
なお、実施の形態5では、フレーム視差補正部3は、着目フレームの前後の複数のフレーム視差データT3の平均値を算出し、補正後フレーム視差データT3として出力した例を示した。しかし、着目フレームの前後複数のフレーム視差データT3の中央値を算出し、補正後フレーム視差データT3として出力しても良い。その他の方法を用いて着目フレームの前後の複数のフレーム視差データT3から補正した値を算出し、補正後フレーム視差データT3を出力しても良い。
ここで、画像縮小部7で画像縮小処理をしない場合と画像縮小処理をする場合とを比較する。画像縮小部7で画像縮小処理をしない場合、視差算出部1には入力画像データがそのまま入力される。画像縮小部7で画像縮小処理をする場合、視差算出部1には縮小画像データが入力される。ここで、視差算出部1で分割される領域のサイズは同じとする。この時、視差算出部1で分割された領域に含まれる画像を比較すると、縮小画像を使用した方が画像の広い範囲を参照することができる。このため、大きい視差を検出することができる。また、縮小画像を使用した方が分割された領域数が少ないので演算量が減少して応答性が向上する。このため、縮小画像を使用した方が画像処理を行う回路規模を小さくすることができる。
実施の形態6.
実施の形態5で示した画像処理装置120の画像処理方法に関して説明する。なお、視差算出ステップST1の説明は、実施の形態1の図18を用いて説明する。また、フレーム視差補正ステップST3の説明は、実施の形態1の図19を用いて説明する。
図45は、本発明の実施の形態6に係る立体画像の画像処理方法のフローを表す図である。実施の形態6に係る立体画像処理方法は、画像縮小ステップST7、視差算出ステップST1、フレーム視差算出ステップST2、フレーム視差拡大ステップST8、フレーム視差補正ステップST3、視差調整量算出ステップST4、調整画像生成ステップST5からなる。
視差算出ステップST1は、図18に示すように画像切り出しステップST1aと領域視差算出ステップST1bからなる。
フレーム視差補正ステップST3は、図19に示すようにフレーム視差バッファステップST3aとフレーム視差加算平均ステップST3bからなる。
以下では、本発明に係る実施の形態6の動作について説明する。
まず、画像縮小ステップST7において、左眼用画像入力データDa1と右眼用画像入力データDb1とを縮小して左眼用画像データDa3と右眼用画像データDb3とを出力する。この動作は、実施の形態5における画像縮小部7と同様である。
視差算出ステップST1では、左眼用画像データDa3と右眼用画像データDb3とに対して、以下のような処理が行われる。
画像切り出しステップST1aにおいて、左眼用画像データDa3をディスプレイ表示面61上で幅W1、高さH1の格子状に区切りh×w個の領域に分割する。分割された左眼用画像データDa3(1)、Da1(2)、Da1(3)からDa1(h×w)までを作成する。右眼用画像データDb3についても同様に幅W1、高さH1の格子状に区切り、分割された右眼用画像データDb3(1)、Db1(2)、Db1(2)、Db1(3)からDb1(h×w)までを作成する。
領域視差算出ステップST1bにおいて、第1番目の領域に対する左眼用画像データDa3(1)と右眼用画像データDb3(1)とに対して位相限定相関法を用いて、第1番目の領域の視差データT1(1)を算出する。すなわち、左眼用画像データDa3(1)と右眼用画像データDb3(1)とに対して位相限定相関Gab(n)が最大となるずれ量の変数nを算出し、視差データT1(1)とする。第2番目から第h×w番目までの領域に対する左眼用画像データDa3(2)からDa1(h×w)までに対して位相限定相関法を用いて視差データT1(2)から視差データT1(h×w)までを算出する。また、と右眼用画像データDb3(2)から右眼用画像データDb3(h×w)までに対しても、位相限定相関法を用いて視差データT1(2)から視差データT1(h×w)までを算出する。この動作は、実施の形態5における視差算出部1と同様である。
次に、フレーム視差算出ステップST2では、視差データT1(1)から視差データT1(h×w)までのうち最大の視差データを選択し、フレーム視差データT2とする。この動作は、実施の形態5におけるフレーム視差算出部2と同様である。
次に、フレーム視差拡大ステップST8では、フレーム視差データT2を拡大して拡大フレーム視差データT8を出力する。この動作は、実施の形態5におけるフレーム視差算出部4と同様である。
次に、フレーム視差補正ステップST3では、拡大フレーム視差データT8に対して以下のような処理が行われる。
フレーム視差バッファステップST3aにおいて、時間的に変化する拡大フレーム視差データT8を一定の容量のバッファ記憶装置に順次保存する。
フレーム視差加算平均ステップST3bにおいて、バッファ領域に保存されている拡大フレーム視差データT8に基づき、着目フレームの前後の複数の拡大フレーム視差データT8の加算平均値を算出し、補正後フレーム視差データT3を算出する。この動作は、実施の形態5におけるフレーム視差補正部3と同等である。
次に、視差調整量算出ステップST4では、あらかじめ設定された視差調整係数S1aと視差調整閾値S1bとに基づき、視差補正後フレーム視差データT3から視差調整データT4を算出する。補正後フレーム視差データT3が視差調整閾値S1b以下の時刻においては、視差調整データT4はゼロとする(T4=0)。逆に、補正後フレーム視差データT3が視差調整閾値S1bを超えている時刻では、補正後フレーム視差データT3が視差調整閾値S1bを超えた量に視差調整係S1aを乗じた値を視差調整データT4とする(T4=S1a×(T3−S1b))。この動作は、実施の形態5における視差調整量算出部4と同様である。
次に、調整画像生成ステップST5では、視差調整データT4に基づいて左眼用画像データDa3と右眼用画像データDb3とから、左眼用画像出力データDa2と右眼用画像出力データDb2とを算出する。具体的には、左眼用画像データDa3を視差調整データT4の半分の値のT4/2だけ左方向に水平に移動させる。また、右眼用画像データDb3を視差調整データT4の半分の値のT4/2だけ右方向に水平に移動させる。このことで、視差量が視差調整データT4だけ減った左眼用画像出力データDa2および右眼用画像出力データDb2が生成される。この動作は、実施の形態5における調整画像生成部5と同様である。
以上が本発明の実施の形態6に係る立体画像処理方法の動作である。
これまでの説明から、本実施の形態6のおける画像処理方法は、実施の形態5における立体画像処理装置120と同様である。したがって本発明における画像処理方法は、本発明の実施の形態5における画像処理装置と同様の効果を持つ。
ここまで、実施の形態5のフレーム視差補正部3および実施の形態6のフレーム視差補正ステップST3において、フレーム視差データT2に対して拡大処理を行っていた。しかし、これらの実施の形態5、6の例に限定されない。領域ごとの視差データT1、補正後フレーム視差データT3および視差調整データT4のいずれかに対して拡大処理を行ってもよい。