画像補正方法、および立体画像撮影装置
【課題】被写体距離に応じて、取得した左右2枚の画像間での上下ズレを低減することを可能とする画像補正方法、および立体画像撮影装置を提供する。
【解決手段】Δθによる補正が行われた左目用画像aおよび右目用画像aの両方を、任意の角度Δφ回転させ、被写体aの2個の特徴点の、左目用画像aと右目用画像aとの間での上下方向における差分ΔYを算出する。左目用画像bおよび右目用画像bの両方を、ΔθおよびΔYを相殺するように、かつΔφ回転させて補正し、被写体bの特徴点の、左目用画像bと右目用画像bとの間での上下方向におけるズレΔY´を算出する。以上の操作を、複数のΔφについて行い、ΔY´が最小となるΔφおよびΔYを求める。
【解決手段】Δθによる補正が行われた左目用画像aおよび右目用画像aの両方を、任意の角度Δφ回転させ、被写体aの2個の特徴点の、左目用画像aと右目用画像aとの間での上下方向における差分ΔYを算出する。左目用画像bおよび右目用画像bの両方を、ΔθおよびΔYを相殺するように、かつΔφ回転させて補正し、被写体bの特徴点の、左目用画像bと右目用画像bとの間での上下方向におけるズレΔY´を算出する。以上の操作を、複数のΔφについて行い、ΔY´が最小となるΔφおよびΔYを求める。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、立体画像を撮影する立体画像撮影装置に内蔵された、2基のカメラから取得した各画像の補正を行う画像補正方法、および上記2基のカメラから取得した各画像を、上記画像補正方法に従って補正する立体画像撮影装置に関する。
【背景技術】
【0002】
立体画像(立体映像)は、ユーザに対して斬新さ、臨場感等を与えることができるため、立体画像を作成して表示する技術の開発が盛んになっている。
【0003】
特許文献1には、左右2基のカメラが撮影した2枚の画像(左右画像)から、左右画像の位置ズレのズレ量および方向を検出し、該ズレ量および方向を示すズレベクトルに基づいて、所望の視差が得られるように左右画像の位置ズレを補正する技術が開示されている。
【0004】
特許文献2には、左右画像の水平方向の視差ズレを低減するために、左右画像の水平方向をトリミングにより補正する技術が開示されている。
【0005】
特許文献3には、左右画像の位相差を求め、求めた位相差を用いて左右画像(時系列画像)の動き情報を調整し、調整された動き情報に基づいて左右画像のトリミングを行う技術が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2011−71604号公報(2011年4月7日公開)
【特許文献2】特開2011−29700号公報(2011年2月10日公開)
【特許文献3】特開2003−92768号公報(2003年3月28日公開)
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1〜3に開示されている技術では、カメラから被写体までの距離(以下、「被写体距離」と称する)に応じて、取得した左右2枚の画像間での上下ズレを生じる虞があるという問題が発生する。
【0008】
以下、上記の問題について説明する。
【0009】
左右2枚の画像間で上記上下ズレを生じる要因としては、立体画像撮影装置に内蔵された各カメラの平行移動(各カメラの上下方向への取り付け位置ズレ)、各カメラのアオリ(各カメラの光軸の、上下方向への傾きズレ)、および各カメラの回転(カメラの光軸回りの回転ズレ)が挙げられる。立体画像撮影装置に対するこれらのカメラの取り付けズレは、カメラの組み立て精度、および/または、カメラの取り付け位置精度に応じて生じる誤差である場合、構造的に無くすことは困難である。
【0010】
カメラの平行移動に起因する上記上下ズレ、およびカメラの回転に起因する上記上下ズレは、被写体距離に応じてズレ量が異なる。一方、カメラのアオリに起因する上記上下ズレは、被写体距離によらず、一定のズレ量となる。
【0011】
ここで、特許文献1に開示されている技術では、カメラの平行移動に起因する上記上下ズレおよびカメラの回転に起因する上記上下ズレと、カメラのアオリに起因する上記上下ズレとを区別することができない。また、特許文献1に開示されている技術では、ズレベクトルに基づいて左右画像の位置ズレを補正するので、被写体距離に応じてズレ量が異なる上記上下ズレを補正することはできない。
【0012】
従って、特許文献1に開示されている技術では、特定の被写体距離を基準として上記上下ズレの補正を行っても、別の被写体距離において上記上下ズレを生じる虞がある。
【0013】
また、特許文献2に開示されている技術では、左右画像の上下方向のトリミングについて言及されていない。
【0014】
また、特許文献3に開示されている技術では、特許文献1に開示されている技術と同様の問題が発生する。
【0015】
本発明は、上記の問題に鑑みて為されたものであり、その目的は、被写体距離に応じて、取得した左右2枚の画像間での上下ズレを低減することを可能とする画像補正方法、および立体画像撮影装置を提供することにある。
【課題を解決するための手段】
【0016】
本発明の画像補正方法は、上記の問題を解決するために、複数のカメラを備えたカメラ群を構成する第1カメラから取得した第1画像、および該カメラ群を構成する、第1カメラと別の第2カメラから取得した第2画像から立体画像を得るために、第1画像および第2画像の少なくとも一方をトリミングする画像補正方法であって、
(1)上記カメラ群までの距離が互いに異なる第1被写体および第2被写体を、上記第1カメラおよび第2カメラにより撮影し、第1カメラが第1被写体を撮影して得られる第1参照画像と、第2カメラが第1被写体を撮影して得られる第2参照画像と、第1カメラが第2被写体を撮影して得られる第3参照画像と、第2カメラが第2被写体を撮影して得られる第4参照画像とを取得する第1工程と、
(2)上記第1参照画像および第2参照画像から、上記第1被写体の特徴点を少なくとも2つ検出すると共に、上記第3参照画像および第4参照画像から、上記第2被写体の特徴点を少なくとも1つ検出する第2工程と、
(3)上記第2工程で検出した第1被写体の各特徴点から、上記第1カメラの光軸を中心とする第1カメラの回転角度に対する、上記第2カメラの光軸を中心とする第2カメラの回転角度の差分である相互回転角度差分を算出し、該相互回転角度差分を相殺するように、上記第1参照画像および第2参照画像の少なくとも一方を補正する第3工程と、
(4)上記第1参照画像および第2参照画像を、互いに同じ所定角度だけ回転させ、上記第1被写体の各特徴点の、第1参照画像と第2参照画像との間での上下方向におけるズレである第1上下ズレを算出する第4工程と、
(5)上記第3参照画像および第4参照画像の少なくとも一方を、上記相互回転角度差分および第1上下ズレを相殺するように、かつ互いに同じ上記所定角度だけ回転させるように補正し、上記第2工程で検出した第2被写体の特徴点の、第3参照画像と第4参照画像との間での上下方向におけるズレである第2上下ズレを算出する第5工程と、
(6)複数の上記所定角度について、上記第4工程および第5工程を行い、上記第2上下ズレが最小となる、上記所定角度および第1上下ズレを求める第6工程とを含み、
上記第6工程にて求めた、上記第2上下ズレが最小となる、上記所定角度および第1上下ズレを相殺するように、上記第1画像および第2画像の少なくとも一方をトリミングすることを特徴としている。
【0017】
第1画像と第2画像との間で、被写体のズレが発生する要因としては、(要因A)〜(要因D)の4つが挙げられる。
【0018】
(要因A)第1カメラおよび第2カメラ間での回転角度の差によるズレ。
【0019】
(要因B)第1カメラおよび第2カメラが同方向に同じ回転角度だけ回転したことによるズレ、または第1カメラおよび第2カメラ間での上下方向の取り付け位置ズレ。
【0020】
(要因C)第1カメラおよび第2カメラの各光軸間での、上下方向の傾きによるズレ。
【0021】
(要因D)第1カメラおよび第2カメラの各光軸間での、左右方向の傾きによるズレ。
【0022】
(要因B)に係るカメラの上下方向の取り付け位置ズレは、第1カメラおよび第2カメラの各々のレンズの中心位置を通る直線を水平とみなすと、(要因B)に係るカメラの同方向かつ同じ回転角度の回転によるズレと等価として扱うことができる。
【0023】
(要因A)〜(要因D)のうち、第1画像と第2画像との間での上下ズレを生じさせるのは(要因B)および(要因C)である。(要因B)に係る上下ズレは、被写体距離によって上下方向へのズレ量が変わるのに対し、(要因C)に係る上下ズレのズレ量は、被写体距離によらない。そのため、(要因B)と(要因C)とで個別に補正を行う必要があるが、特定の距離にある被写体を撮影するだけではこれらを区別することはできない。
【0024】
上記の構成によれば、第3工程により、(要因A)を補正することが可能となる。また、上記の構成によれば、第4工程により、(要因B)を補正することが可能となる。また、上記の構成によれば、第5工程により、(要因C)を補正することが可能となる。
【0025】
そして、第6工程により、第1参照画像および第2参照画像を互いに同じ角度回転させつつ、第4工程および第5工程を繰り返すことで、(要因B)および(要因C)の補正を最良化することが可能である。
【0026】
このように、本発明の画像補正方法では、(要因B)と(要因C)とを別々に補正する形で、画像の上下ズレの補正を行うことができるので、被写体距離に応じて、取得した左右2枚の画像間での上下ズレを低減することが可能となる。
【0027】
ところで、上記の構成によれば、第1被写体の特徴点を2つ以上検出する必要がある。
【0028】
一方、第1参照画像および第2参照画像から、上記相互回転角度差分を算出するためには、第1参照画像に対する第2参照画像の回転角度を特定することが可能なものを、第1参照画像および第2参照画像から検出すれば十分である。「第1参照画像に対する第2参照画像の回転角度を特定することが可能なもの」とは、すなわち、第1参照画像および第2参照画像の両方に写る線である。なお、この線は、被写体として写っているものである必要は無い。
【0029】
一方、第1参照画像および第2参照画像から、上記第1上下ズレを算出するためには、第1被写体の特徴点を1つ以上検出する必要がある。
【0030】
すなわち、本発明の画像補正方法は、上記の問題を解決するために、複数のカメラを備えたカメラ群を構成する第1カメラから取得した第1画像、および該カメラ群を構成する、第1カメラと別の第2カメラから取得した第2画像から立体画像を得るために、第1画像および第2画像の少なくとも一方をトリミングする画像補正方法であって、
(1)上記カメラ群までの距離が互いに異なる第1被写体および第2被写体を、上記第1カメラおよび第2カメラにより撮影し、第1カメラが第1被写体および該第1被写体の周辺を含む被写体領域を撮影して得られる第1参照画像と、第2カメラが該被写体領域を撮影して得られる第2参照画像と、第1カメラが第2被写体を撮影して得られる第3参照画像と、第2カメラが第2被写体を撮影して得られる第4参照画像とを取得する第1工程と、
(2)上記第1参照画像および第2参照画像から、上記第1被写体の特徴点を少なくとも1つと、上記被写体領域に写る線とを検出すると共に、上記第3参照画像および第4参照画像から、上記第2被写体の特徴点を少なくとも1つ検出する第2工程と、
(3)上記第2工程で検出した第1被写体の特徴点および被写体領域に写る線から、上記第1カメラの光軸を中心とする第1カメラの回転角度に対する、上記第2カメラの光軸を中心とする第2カメラの回転角度の差分である相互回転角度差分を算出し、該相互回転角度差分を相殺するように、上記第1参照画像および第2参照画像の少なくとも一方を補正する第3工程と、
(4)上記第1参照画像および第2参照画像を、互いに同じ所定角度だけ回転させ、上記第1被写体の特徴点および被写体領域に写る線の、第1参照画像と第2参照画像との間での上下方向におけるズレである第1上下ズレを算出する第4工程と、
(5)上記第3参照画像および第4参照画像の少なくとも一方を、上記相互回転角度差分および第1上下ズレを相殺するように、かつ互いに同じ上記所定角度だけ回転させるように補正し、上記第2工程で検出した第2被写体の特徴点の、第3参照画像と第4参照画像との間での上下方向におけるズレである第2上下ズレを算出する第5工程と、
(6)複数の上記所定角度について、上記第4工程および第5工程を行い、上記第2上下ズレが最小となる、上記所定角度および第1上下ズレを求める第6工程とを含み、
上記第6工程にて求めた、上記第2上下ズレが最小となる、上記所定角度および第1上下ズレを相殺するように、上記第1画像および第2画像の少なくとも一方をトリミングすることを特徴とすることもできる。
【0031】
上記の構成によれば、第1被写体から2つの特徴点を検出するかわりに、第1被写体から1つの特徴点を検出し、かつ被写体領域に写る線、換言すれば第1参照画像に対する第2参照画像の回転角度が特定可能なものを検出しても、同様の方法が実施可能である。
【0032】
また、本発明の画像補正方法は、上記第1被写体の、第1参照画像と第2参照画像との間での左右方向におけるズレ、および上記第2被写体の、第3参照画像と第4参照画像との間での左右方向におけるズレの少なくとも一方を算出する第7工程をさらに含み、上記第7工程にて求めたズレを相殺するように、上記第1画像および第2画像の少なくとも一方をトリミングするのが好ましい。
【0033】
上記の構成によれば、被写体距離に応じて、取得した左右2枚の画像間での左右方向におけるズレを低減することが可能となる。
【0034】
また、本発明の画像補正方法は、上記第1工程において、1つの画像に上記第1被写体および上記第2被写体の両方が写るように、上記第1カメラによる撮影および上記第2カメラによる撮影の少なくとも一方を行ってもよい。
【0035】
すなわち、第1カメラのみが、1つの画像に第1被写体および第2被写体が写るように撮影を行ってもよいし、第2カメラのみが、1つの画像に第1被写体および第2被写体が写るように撮影を行ってもよいし、第1カメラおよび第2カメラの両方が、1つの画像に第1被写体および第2被写体が写るように撮影を行ってもよい。
【0036】
また、本発明の立体画像撮影装置は、本発明の画像補正方法により、上記第1画像および第2画像の少なくとも一方をトリミングするトリミング部と、上記カメラ群とを備えていることを特徴としている。
【0037】
上記の構成によれば、本発明の画像補正方法と同様の効果を奏する立体画像撮影装置を実現することが可能となる。
【0038】
また、本発明の立体画像撮影装置は、上記第1カメラの取り付け位置を、上記第2カメラに対して上下方向にズラした場合に、上記トリミング部により上記第1画像をトリミングして得られた画像、および上記トリミング部により上記第2画像をトリミングして得られた画像の両方が、互いに同じ回転角度により回転されることを特徴としている。
【0039】
本発明の画像補正方法によれば、立体画像撮影装置における第1カメラの取り付け位置を、第2カメラに対して上下方向に敢えてズラした場合、それに伴い、第1カメラの中心と第2カメラの中心とを通る直線を基準として、トリミングを行った結果、第1画像をトリミングして得られた画像および第2画像をトリミングして得られた画像の両方が、互いに同じ回転角度により回転するという現象が起こる。該現象が起こる立体画像撮影装置は、本発明の立体画像撮影装置であると考えてよい。
【発明の効果】
【0040】
以上のとおり、本発明の画像補正方法は、複数のカメラを備えたカメラ群を構成する第1カメラから取得した第1画像、および該カメラ群を構成する、第1カメラと別の第2カメラから取得した第2画像から立体画像を得るために、第1画像および第2画像の少なくとも一方をトリミングする画像補正方法であって、上記カメラ群までの距離が互いに異なる第1被写体および第2被写体を、上記第1カメラおよび第2カメラにより撮影し、第1カメラが第1被写体を撮影して得られる第1参照画像と、第2カメラが第1被写体を撮影して得られる第2参照画像と、第1カメラが第2被写体を撮影して得られる第3参照画像と、第2カメラが第2被写体を撮影して得られる第4参照画像とを取得する第1工程と、上記第1参照画像および第2参照画像から、上記第1被写体の特徴点を少なくとも2つ検出すると共に、上記第3参照画像および第4参照画像から、上記第2被写体の特徴点を少なくとも1つ検出する第2工程と、上記第2工程で検出した第1被写体の各特徴点から、上記第1カメラの光軸を中心とする第1カメラの回転角度に対する、上記第2カメラの光軸を中心とする第2カメラの回転角度の差分である相互回転角度差分を算出し、該相互回転角度差分を相殺するように、上記第1参照画像および第2参照画像の少なくとも一方を補正する第3工程と、上記第1参照画像および第2参照画像を、互いに同じ所定角度だけ回転させ、上記第1被写体の各特徴点の、第1参照画像と第2参照画像との間での上下方向におけるズレである第1上下ズレを算出する第4工程と、上記第3参照画像および第4参照画像の少なくとも一方を、上記相互回転角度差分および第1上下ズレを相殺するように、かつ互いに同じ上記所定角度だけ回転させるように補正し、上記第2工程で検出した第2被写体の特徴点の、第3参照画像と第4参照画像との間での上下方向におけるズレである第2上下ズレを算出する第5工程と、複数の上記所定角度について、上記第4工程および第5工程を行い、上記第2上下ズレが最小となる、上記所定角度および第1上下ズレを求める第6工程とを含み、上記第6工程にて求めた、上記第2上下ズレが最小となる、上記所定角度および第1上下ズレを相殺するように、上記第1画像および第2画像の少なくとも一方をトリミングする。
【0041】
また、本発明の画像補正方法は、複数のカメラを備えたカメラ群を構成する第1カメラから取得した第1画像、および該カメラ群を構成する、第1カメラと別の第2カメラから取得した第2画像から立体画像を得るために、第1画像および第2画像の少なくとも一方をトリミングする画像補正方法であって、上記カメラ群までの距離が互いに異なる第1被写体および第2被写体を、上記第1カメラおよび第2カメラにより撮影し、第1カメラが第1被写体および該第1被写体の周辺を含む被写体領域を撮影して得られる第1参照画像と、第2カメラが該被写体領域を撮影して得られる第2参照画像と、第1カメラが第2被写体を撮影して得られる第3参照画像と、第2カメラが第2被写体を撮影して得られる第4参照画像とを取得する第1工程と、上記第1参照画像および第2参照画像から、上記第1被写体の特徴点を少なくとも1つと、上記被写体領域に写る線とを検出すると共に、上記第3参照画像および第4参照画像から、上記第2被写体の特徴点を少なくとも1つ検出する第2工程と、上記第2工程で検出した第1被写体の特徴点および被写体領域に写る線から、上記第1カメラの光軸を中心とする第1カメラの回転角度に対する、上記第2カメラの光軸を中心とする第2カメラの回転角度の差分である相互回転角度差分を算出し、該相互回転角度差分を相殺するように、上記第1参照画像および第2参照画像の少なくとも一方を補正する第3工程と、上記第1参照画像および第2参照画像を、互いに同じ所定角度だけ回転させ、上記第1被写体の特徴点および被写体領域に写る線の、第1参照画像と第2参照画像との間での上下方向におけるズレである第1上下ズレを算出する第4工程と、上記第3参照画像および第4参照画像の少なくとも一方を、上記相互回転角度差分および第1上下ズレを相殺するように、かつ互いに同じ上記所定角度だけ回転させるように補正し、上記第2工程で検出した第2被写体の特徴点の、第3参照画像と第4参照画像との間での上下方向におけるズレである第2上下ズレを算出する第5工程と、複数の上記所定角度について、上記第4工程および第5工程を行い、上記第2上下ズレが最小となる、上記所定角度および第1上下ズレを求める第6工程とを含み、上記第6工程にて求めた、上記第2上下ズレが最小となる、上記所定角度および第1上下ズレを相殺するように、上記第1画像および第2画像の少なくとも一方をトリミングする。
【0042】
従って、被写体距離に応じて、取得した左右2枚の画像間での上下ズレを低減することが可能であるという効果を奏する。
【図面の簡単な説明】
【0043】
【図1】本発明に係る画像補正方法の流れを示すフローチャートである。
【図2】図2の(a)および(b)は、本発明に係る立体画像撮影装置としての携帯電話の外観を、概略的に示す図である。
【図3】立体画像撮影に関連する、図2に示す携帯電話の主要構成を示す機能ブロック図である。
【図4】第1撮影部から取得した画像と、第2撮影部から取得した画像との間で発生する、垂直誤差および回転誤差を示す図である。
【図5】第1撮影部および第2撮影部から取得した両画像を、最適な配置となるように補正する技術の従来例を示す図である。
【図6】左目用画像と、右目用画像との間で、上下ズレが発生する原理を示す図である。
【図7】左目用画像と、右目用画像との間で、上下ズレが発生する原理を示す別の図である。
【図8】左目用画像と、右目用画像との間で、上下ズレが発生する原理を示すさらに別の図である。
【図9】左目用画像と、右目用画像との間で、上下ズレが発生する原理を示す他の図である。
【図10】左目用画像および右目用画像が並行となる回転角度が無限に存在することを示す図である。
【図11】図11の(a)〜(d)は、カメラの回転に伴って、カメラの平行移動に相当する現象が発生する原理を示す図である。
【図12】従来一般的な、画像の補正の一例を示す図である。
【図13】図12に係る画像の補正を、左カメラおよび右カメラの位置に置換した場合の、左カメラおよび右カメラの動きを示す概念図である。
【図14】左目用補正画像と右目用補正画像との間で上下ズレが発生している状態を示す図である。
【図15】互いに異なる回転角度のカメラの回転が発生して、左目用画像と右目用画像との間で、角度ズレが発生する様子を示す図である。
【図16】互いに異なる回転角度のカメラの回転が発生した場合に、画像のトリミングを行う要領を示す図である。
【図17】互いに同じ方向かつ同じ回転角度のカメラの回転、またはカメラの平行移動が発生して、左目用画像と右目用画像との間で、上下ズレが発生する様子を示す図である。
【図18】互いに同じ方向かつ同じ回転角度のカメラの回転、またはカメラの平行移動が発生した場合に、画像のトリミングを行う要領を示す図である。
【図19】一方のカメラの光軸が他方のカメラの光軸に対して上下方向にズレており、左目用画像と右目用画像との間で、上下ズレが発生する様子を示す図である。
【図20】光軸の上下方向へのズレが発生した場合に、画像のトリミングを行う要領を示す図である。
【図21】左目用画像と右目用画像との間で、左右ズレが発生する様子を示す図である。
【図22】光軸の左右方向へのズレが発生した場合に、画像のトリミングを行う要領を示す図である。
【図23】画像補正方法において検出する特徴点の座標の一覧を示す表である。
【図24】画像の切り出し座標の一覧を示す表である。
【図25】画像補正方法において使用する定数の一覧(一例)を示す表である。
【図26】画像補正方法において使用する変数の一覧を示す表である。
【図27】図27(a)は、画像A左から特徴点を検出する様子を示す図であり、図27(b)は、画像A右から特徴点を検出する様子を示す図であり、図27(c)は、画像B左から特徴点を検出する様子を示す図であり、図27(d)は、画像B右から特徴点を検出する様子を示す図である。
【発明を実施するための形態】
【0044】
〔立体画像撮影装置の構成例〕
図2の(a)および(b)は、本発明に係る立体画像撮影装置としての携帯電話の外観を、概略的に示す図である。
【0045】
図2の(b)に示すとおり、携帯電話(立体画像撮影装置)1は、前面部に、表示部(例えば、液晶表示部)2を備えている。また、図2の(a)に示すとおり、携帯電話1は、背面部に、第1カメラレンズ3および第2カメラレンズ4を備えている。
【0046】
表示部2は、タッチパネルの機能を備え、ユーザが表示部2に触れることにより、携帯電話1に対して様々な指示を入力することができるものであってもよい。
【0047】
第1カメラレンズ3および第2カメラレンズ4は、互いに所定間隔(数センチ程度)離間されている。これにより、立体画像の撮影時に、被写対象のシーン(被写体)を第1カメラレンズ3および第2カメラレンズ4を介して撮影すると、視差のある2枚の画像を取得することができる。
【0048】
携帯電話1としては、上記の構成に限定されず、ユーザが各種指示を入力する複数のボタンが配列された操作部に対し、折り畳み式の表示部が結合された構成、または、上記操作部を表示部に対して平行にスライドさせることが可能な構成等を採用してもよい。
【0049】
また、本発明に係る立体画像撮影装置を、携帯電話に限らず、デジタルカメラおよびPDA(Personal Digital Assistant:携帯情報端末)等の、携帯型電子機器全般に搭載することができる。さらに、本発明に係る立体画像撮影装置を、立体表示が可能なテレビ(3Dテレビ)に搭載することもできる。
【0050】
図3は、立体画像撮影に関連する、携帯電話1の主要構成を示す機能ブロック図である。
【0051】
図3に示すとおり、携帯電話1は、第1撮影部(第1カメラ)11、第2撮影部(第2カメラ)12、第1制御部13、第2制御部14、画像記憶部15、トリミング部16、および表示部17を備えている。第1撮影部11および第2撮影部12が、複数のカメラを備えたカメラ群を構成している。
【0052】
第1撮影部11は、第1カメラレンズ3、撮像素子、およびAD(Analog/Digital:アナログ/デジタル)変換器等を備えている。第2撮影部12は、第2カメラレンズ4、撮像素子、およびAD変換器等を備えている。撮像素子としては、CCD(Charge Coupled Device:電荷結合素子)またはCMOS(Complementary Metal Oxide Semiconductor:相補型金属酸化膜半導体)によって構成された固体撮像素子等が挙げられる。
【0053】
第1制御部13および第2制御部14はそれぞれ、DSP(Digital Signal Processor:デジタルシグナルプロセッサ)等を備えている。
【0054】
第1制御部13は、第1撮影部11の撮像素子が、被写対象のシーンによって露光される時間(シャッタ時間)および撮像素子による撮像信号の出力タイミング等を制御し、出力された撮像信号からゲインおよび画質等を調整した画像データを生成する。また、第1制御部13は、第1カメラレンズ3のレンズ位置情報(フォーカス情報)等の付随情報を検出する。第2制御部14も、制御対象が第1撮影部11から第2撮影部12へと変わる以外、第1制御部13と同じ構成を備えている。
【0055】
画像記憶部15は例えば、RAM(Random Access Memory:随時書込読出メモリ)によって構成されている。画像記憶部15は、第1制御部13が生成した画像データ(以下、「第1画像データ」と称する)、および第2制御部14が生成した画像データ(以下、「第2画像データ」と称する)を記憶する。また、画像記憶部15は、第1画像データ(第1画像)に対してトリミング部16によるトリミングを行った画像データ(以下、「第1補正画像データ」と称する)、および第2画像データ(第2画像)に対してトリミング部16によるトリミングを行った画像データ(以下、「第2補正画像データ」と称する)を記憶する。
【0056】
トリミング部16は、予め取得している画像補正パラメータに基づいて、第1画像データおよび第2画像データのトリミングを行う。すなわち、トリミング部16は、第1画像データに対して、所望の領域以外にある画像を切り取る画像処理を施すことにより、第1補正画像データを生成する。同じく、トリミング部16は、第2画像データに対して、所望の領域以外にある画像を切り取る画像処理を施すことにより、第2補正画像データを生成する。画像補正パラメータについての詳細な説明は後述する。
【0057】
表示部17は、画像記憶部15に記憶されている各種画像データを表示する。具体的に、表示部17は、第1画像データおよび第2画像データ、もしくは、第1補正画像データおよび第2補正画像データを用いて、ユーザが裸眼で視認できる立体画像を表示する。
【0058】
〔背景〕
実施の形態で説明する画像補正方法は、携帯電話1に関し、第1撮影部11および第2撮影部12からそれぞれ取得した左右2枚の画像の間で、所望の視差を実現するために、各画像のトリミングを行うための画像補正パラメータを得る方法である。
【0059】
第1撮影部11および第2撮影部12で撮影を行って、立体画像を取得するためには、第1撮影部11および第2撮影部12から取得した各画像内に写る、任意の被写体距離(カメラ群までの距離)にある被写体に対して、両画像間での角度ズレまたは上下ズレがないことが求められる。また、2基のカメラとしての第1撮影部11および第2撮影部12に関しては、光軸が平行であるか、所望の輻輳点で交わっている必要がある。
【0060】
しかしながら、カメラの構造的な工夫によって、カメラの組み立て精度や取り付け位置精度による誤差をなくすことは困難である。
【0061】
すなわち、大概の立体画像撮影装置には、機構の寸法の誤差、すなわち製造公差が存在する。
【0062】
上記製造公差を低減するためには、高精度の加工技術が必要となり、高精度の加工技術を採用すると、立体画像撮影装置の高コスト化を引き起こす。また、立体画像撮影装置を構成する各部品を保持する機構が大掛かりとなることから、上記製造公差を低減することは、立体画像撮影装置の大型化および高コスト化を引き起こす。
【0063】
このため、カメラから取得した画像の切り出し(トリミング)によって、カメラから取得した画像において、これらの誤差を調整する必要がある。つまり、組み立て直後の立体画像撮影装置における各カメラのズレ量は、装置毎にバラつきがある。このため、装置個別に撮影を行って装置毎にバラつきを確認し、装置毎にバラつきに応じた領域を切り出すことによって、上記上下ズレを補正する必要がある。
【0064】
上記上下ズレについては、特定の被写体距離にある被写体に対して、カメラ画像の回転および切り出しによって上記上下ズレを補正しても、別の被写体距離にある被写体を撮影すると上下ズレを生じることがある。
【0065】
〔立体画像撮影装置における画像補正の原理〕
カメラの平行移動およびアオリが発生する要因として、第1撮影部11および第2撮影部12それぞれの組み立て精度、および/または、携帯電話1への第1撮影部11および第2撮影部12の取り付け精度を、立体画像撮影装置の小型化およびコスト低減とのバランスにより、高くすることができないことが挙げられる。これらの精度を高くすることができないため、第1撮影部11から取得した画像と、第2撮影部12から取得した画像との間で、垂直誤差および回転誤差(上下ズレ)が発生する虞がある。垂直誤差は、一方の画像が他方の画像に対して、上下方向にシフトするように発生した上下ズレであり、図4に符号41で示している。一方、回転誤差は、一方の画像が他方の画像に対して、該一方の画像と略平行な面上を(光軸回りに)回転するように発生した上下ズレであり、図4に符号42で示している。
【0066】
そこで、従来、上記の垂直誤差および回転誤差を補正するため、携帯電話1の生産工程において、主にソフトウェアにより、第1撮影部11および第2撮影部12から取得した両画像を、最適な配置となるように補正する技術が知られている(図5参照)。図5では、各画像のトリミング、回転、および拡大・縮小といった、いわゆるISP(Image Signal Processor:イメージシグナルプロセッサ)処理を行い、各画像の補正を実現している。
【0067】
なお、「左目撮影画像」は、後述する左目用画像(ここでは、第1撮影部11から取得した画像)を示している。また、「右目撮影画像」は、後述する右目用画像(ここでは、第2撮影部12から取得した画像)を示している。
【0068】
〔上下ズレが発生する原理の詳細〕
以下、上下ズレが発生する原理の詳細について説明する。なお、説明の便宜上、図6〜図9を参照した下記の説明においては、携帯電話1の上記背面部において、左右のカメラの水平方向における配置の差が0であるものとしている。
【0069】
図6は、第1撮影部11としての、左目用の画像を撮影する左カメラ60から取得した画像と、第2撮影部12としての、右目用の画像を撮影する右カメラ61から取得した画像との間で、上下ズレが発生する原理を示す図である。
【0070】
以下、左カメラ60から取得した画像を「左目用画像(第1画像)」と称すると共に、右カメラ61から取得した画像を「右目用画像(第2画像)」と称する。
【0071】
図6において、左カメラ60を基準とした場合、右カメラ61は、左カメラ60に対する、上方向への平行移動(移動量y1)が発生している。また、右カメラ61は、左カメラ60に対する、上方向へのアオリ(傾き角度β1)が発生している。
【0072】
ここで、左カメラ60および右カメラ61により、水平である左カメラ60の光軸と同じ高さにある、テストチャート62の中心63を撮影する場合を考える。図6に示す例の場合、右カメラ61の平行移動に起因して、右カメラ61のレンズの中心と中心63とを通る直線が、中心63側が下となるように傾く。
【0073】
この結果、図6にファインダ画面Fを示すように、中心63の左目用画像63Lは、ファインダ画面Fの中央に位置する一方、中心63の右目用画像63Rは、ファインダ画面Fの中央から下側に位置する。右目用画像63Rとファインダ画面Fの下辺との距離をt1とする。
【0074】
また、図6では、該直線の傾きを考慮した、右カメラ61の見かけ上の(すなわち、右カメラ61より下にある中心63を撮影する場合の実質的な)アオリ角度を、傾き角度β2としている。
【0075】
図7は、左目用画像と、右目用画像との間で、上下ズレが発生する原理を示す別の図である。
【0076】
図7において、左カメラ60を基準とした場合、右カメラ61は、左カメラ60に対する、平行移動が発生していない(移動量y2=0)。また、図7において、右カメラ61は、左カメラ60に対する、上方向へのアオリ(図6と同じ傾き角度β2)が発生しているものとする。
【0077】
ここで、移動量y1と移動量y2とは異なり、かつ、傾き角度β1と傾き角度β2とは異なる。しかしながら、左目用画像(第1画像データに相当)における中心63の位置、および右目用画像(第2画像データに相当)における中心63の位置は、図6に示す例と図7に示す例とで一致する。
【0078】
すなわち、図7にファインダ画面Fを示すように、中心63の左目用画像63Lは、ファインダ画面Fの中央に位置する一方、中心63の右目用画像63Rは、ファインダ画面Fの中央から下側に位置する。ここで、右目用画像63Rとファインダ画面Fの下辺との距離をt2とすると、図6と図7とで右カメラ61の傾き角度β2が等しいため、距離t2は上記距離t1に等しくなる。
【0079】
つまり、ある1つの被写体距離の被写体を撮影した場合、左カメラ60および/または右カメラ61において、平行移動およびアオリが発生していても、両カメラから取得した両画像間においては、該被写体の上下ズレが一見一致しているように見える。
【0080】
つまり、ある1つの被写体距離の被写体を撮影するだけでは、取得した両画像間での上下ズレが、左カメラ60および/または右カメラ61における、平行移動に起因しているのか、それともアオリに起因しているのかを区別することができない。
【0081】
これに対し、異なる被写体距離にある複数の被写体を撮影すると、取得した両画像間での上下ズレが、左カメラ60および/または右カメラ61における、平行移動に起因しているのか、それともアオリに起因しているのかを区別できるようになる。この原理を、図8および図9に基づいて、以下に説明する。
【0082】
図8は、左目用画像と、右目用画像との間で、上下ズレが発生する原理を示すさらに別の図である。
【0083】
図9は、左目用画像と、右目用画像との間で、上下ズレが発生する原理を示す他の図である。
【0084】
右カメラ61の平行移動およびアオリに関しては、図6に示す例と図8に示す例とで同じであり、図7に示す例と図9に示す例とで同じである。
【0085】
一方、図8および図9に示す各例は、テストチャート62と異なる位置にテストチャート64を配置した点が、それぞれ図6および図7に示す各例と異なる。図8および図9において、テストチャート64は、テストチャート62より、左カメラ60および右カメラ61に近い位置に配置されており、その中心を中心65としている。
【0086】
ここで、左カメラ60および右カメラ61により、中心63および65を撮影する場合を考える。
【0087】
図8に示す例の場合、右カメラ61の平行移動に起因して、右カメラ61のレンズの中心と中心63とを通る直線が、中心63側が下となるように傾く。図8では、該直線の傾きを考慮した、テストチャート62に対する右カメラ61の見かけ上の(すなわち、右カメラ61より下にある中心63を撮影する場合の実質的な)アオリ角度を、傾き角度β2_1としている。
【0088】
さらに、図8に示す例の場合、右カメラ61の平行移動に起因して、右カメラ61のレンズの中心と中心65とを通る直線が、中心65側が下となるように傾く。図8では、該直線の傾きを考慮した、テストチャート64に対する右カメラ61の見かけ上の(すなわち、右カメラ61より下にある中心65を撮影する場合の実質的な)アオリ角度を、傾き角度β2_2としている。
【0089】
ここで、右カメラ61のレンズの中心と中心65とを通る直線は、右カメラ61のレンズの中心と中心63とを通る直線より、傾きが大きくなっている。従って、傾き角度β2_2は、傾き角度β2_1と異なる角度であり、傾き角度β2_1より大きくなっている。
【0090】
この結果、図8にファインダ画面Fを示すように、中心63の左目用画像63Lは、ファインダ画面Fの中央位置する一方、中心63の右目用画像63Rは、ファインダ画面Fの中央から下側に位置する。左目用画像63Lおよび右目用画像63Rのファインダ画面Fにおける位置は、傾き角度β2_1と傾き角度β2とが等しいならば、図6と同じである。一方、中心65の左目用画像65Lは、ファインダ画面Fの中央位置する一方、中心65の右目用画像65Rは、ファインダ画面Fの中央から右目用画像63Rよりさらに下側に位置する結果となる。
【0091】
一方、図9において、左カメラ60を基準とした場合、右カメラ61は、左カメラ60に対する、平行移動が発生していない(移動量y2=0)。また、図9において、右カメラ61は、左カメラ60に対する、上方向へのアオリ(傾き角度β2)が発生している。該上方向へのアオリに起因する右カメラ61のアオリ角度は、テストチャート62に対してもテストチャート64に対しても、傾き角度β2である(等しい)。
【0092】
この結果、図9にファインダ画面Fを示すように、中心63の左目用画像63Lは、ファインダ画面Fの中央に位置する一方、中心63の右目用画像63Rは、ファインダ画面Fの中央から下側に位置する。これに対し、中心65の左目用画像65Lは、ファインダ画面Fの中央位置する一方、中心65の右目用画像65Rは、中心63および中心65の右カメラ61の光軸に対する傾き角度β2が同じであるため、右目用画像63Rと同じ位置となる。
【0093】
このように、中心65の左目用画像65Lの位置は、図8に示す例と図9に示す例とで一致するが、中心65の右目用画像65Rの位置は、図8に示す例と図9に示す例との間で上下にズレる。
【0094】
すなわち、カメラのアオリのみが発生している場合には、図9に示すとおり、アオリは、被写体距離によらず同じ角度である。一方、カメラの上下の平行移動が発生すると、図8に示すとおり、被写体距離に応じて異なる、該カメラの見かけ上のアオリ角度が生じる。このことから、カメラのアオリに起因する撮影画像の上下方向のズレは、被写体距離によらず一定であるが、カメラの平行移動に起因する撮影画像の上下方向のズレは、被写体距離に応じて異なることが分かる。
【0095】
つまり、被写体距離が異なる複数の被写体を撮影することにより、取得した両画像間での上下ズレから、左カメラ60および/または右カメラ61における、平行移動とアオリとを区別することが可能となる。
【0096】
実際のカメラでは、左カメラ60と右カメラ61とを、左右方向に離して配置するので、ファインダ画面F上では、左目用画像63Lと右目用画像63Rとの間で、左右方向における位置がズレることになる。特に、図8のように、互いに異なる距離にテストチャート62および64が配置される場合には、テストチャートの距離によって、該左右方向における位置は異なる。例えば、図8のファインダ画面F内における、左目用画像63Lと右目用画像63Rとは、実際には互いに左右方向にズレる。
【0097】
なお、詳細は後述するが、実際の画像補正パラメータの算出においては、左カメラ60および右カメラ61のそれぞれが、遠方の被写体(テストチャート62)および近方の被写体(テストチャート64)のそれぞれを撮影して取得した、計4枚の画像を用いる。そして、各画像に写る同一の特徴点の座標を差し引きすることにより、左カメラ60および/または右カメラ61における、カメラの平行移動による移動量と、カメラのアオリによる傾き角度とを算出する。
【0098】
また、左目用画像および右目用画像から算出すべき両画像間での上下ズレの量としては、カメラの平行移動による移動量、カメラのアオリによる傾き角度のほか、カメラの回転による回転角度がある。カメラの回転に関しては、左目用画像および右目用画像が並行となる該回転角度が無限に存在するため、1つの被写体距離の被写体を撮影するだけでは、適切な画像補正パラメータを確定することができない。
【0099】
図10は、左目用画像および右目用画像が並行となる該回転角度が無限に存在することを示す図である。
【0100】
図10中、「左目撮影画像」は、左目用画像を示している。図10中、「右目撮影画像」は、右目用画像を示している。図10中、「左調整後画像」は、左目撮影画像を補正した画像を示している。図10中、「右調整後画像」は、右目撮影画像を補正した画像を示している。
【0101】
また、図10には、左目撮影画像および右目撮影画像を補正する案を2つ示しており、それぞれ、補正案1および補正案2と称している。
【0102】
補正案1および補正案2はいずれも、左目撮影画像および右目撮影画像の両方に写っている被写体100が互いに並行となるように、左目撮影画像および右目撮影画像を補正して、左調整後画像および右調整後画像を作成したものである。つまり、補正案1および補正案2ではいずれも、左調整後画像と右調整後画像との間で、被写体100が並行となっている。
【0103】
しかしながら、被写体100の天地が補正案1と補正案2とで異なっている。従って、補正案1および補正案2の少なくとも一方は、左調整後画像と右調整後画像との間で、被写体100が並行となるように補正されているにも関わらず、画像の補正が不適切となっていると認められる。ここでは、補正案1のトリミング領域を示す破線が傾いているので、補正案1の方で回転ズレが発生している。
【0104】
また、カメラの回転に起因する撮影画像の上下方向のズレは、カメラの平行移動に起因する撮影画像の上下方向のズレと同じく、被写体距離に応じて異なるものとなる。以下、この理由について説明する。
【0105】
図11の(a)〜(d)は、カメラの回転に伴って、カメラの平行移動に相当する現象が発生する原理を示す図である。
【0106】
図11の(a)および(c)では、左カメラ60および右カメラ61において、平行移動およびアオリがいずれも発生していないが、回転が発生した状態を示している。なお、図11の(a)および(c)は、左カメラ60のレンズ110の中心である中心111と、右カメラ61のレンズ112の中心である中心113とを通る直線、すなわち直線114が水平になるように図示したものである。
【0107】
一方、図11の(b)および(d)では、図11の(a)および(c)にそれぞれ示した状態を、左カメラ60が正立となるように図示したものである。図11の(a)と図11の(b)とは等価であり、図11の(c)と図11の(d)とは等価である。
【0108】
図11の(b)および(d)によれば、左カメラ60を正立させた状態にすると、直線114が左目用画像における水平方向(上下方向に対して垂直な方向)と一致していない。直線114が左目用画像における水平方向に対して傾いているということは、すなわち、中心111に対して中心113が、上下方向にズレているということを意味している。換言すれば、左カメラ60に対する右カメラ61の平行移動に相当する現象が起こっている。図示しないが、右カメラ61が正立となる場合についても同様である。
【0109】
1つの画像から算出した画像補正パラメータの候補を、別の被写体距離で撮影した被写体の画像に適用すると、回転角度に対するパラメータが誤っている場合、補正後の画像に垂直ズレを生じてしまうが、正しい該パラメータの場合、垂直ズレを生じない。そこで、詳細は後述するが、携帯電話1の生産工程においても複数の被写体距離にて撮影を行い、左目用画像および右目用画像の双方にて、両画像間での上下ズレが最も小さくなる該パラメータを、正しい該パラメータとして採用する方式を選択している。
【0110】
〔上下ズレについてのまとめ〕
左右2つのカメラにより立体画像を撮影する、いわゆる2眼3Dカメラは、カメラ単体の組み付け精度や、2つのカメラの取り付け位置精度により、左右の各目用の取得画像間において、被写体の位置ズレが生じ得る。該位置ズレの主たる要因としては、カメラのアオリおよびカメラの回転等が挙げられ、その他にも、カメラの左右方向への傾きズレが、該位置ズレの要因となる場合もある。
【0111】
上記位置ズレは、左目用画像および右目用画像に対する、回転、平行移動、ならびにトリミングを行うことで補正することが可能である。
【0112】
従来、左目用画像および右目用画像の一方を基準として、他方の画像に角度ズレがあれば回転角度の補正を、上下左右の位置ズレがあれば平行移動による補正を行ってきた。
【0113】
図12は、従来一般的な、画像の補正の一例を示す図である。図12には、左目用画像120を基準として、右目用画像121を補正する例を示している。
【0114】
左目用画像120は、基準であるので、回転角度および上下左右の位置が維持されたままでトリミングが行われ、左目用補正画像122となる。
【0115】
一方、右目用画像121は、回転角度が左目用画像120と等しくなるように回転角度の補正が行われると共に、上下左右の位置が左目用画像120と等しくなるように平行移動による補正が行われる。換言すれば、右目用画像121は、該回転角度の補正および該平行移動による補正を反映するようにトリミングが行われ、右目用補正画像123となる。
【0116】
なお、上記回転角度の補正は、回転中心をどこにするかにより結果が変わり、これにより、上記平行移動による補正による補正量も変化する。例えば、図12に示す例では、該回転角度の補正において、画像の中心を回転中心として右画像を左に回転させた場合、被写体の上下方向に対する補正量は、非常に小さくなり、ほぼゼロとなる。上記のように、回転角度の補正がある場合には、回転の補正と平行移動とは独立した項目ではない。結果、回転補正により、画像の上下の軸自体が回転する。
【0117】
図13は、図12に係る画像の補正を、左カメラ60および右カメラ61の位置に置換した場合の、左カメラ60および右カメラ61の動きを示す概念図である。
【0118】
図12に係る画像の補正により、左カメラ60および右カメラ61において、カメラのアオリまたはカメラの回転が発生していない場合と同じ画像が得られることを、図13に示している。
【0119】
しかしながら、左カメラ60および右カメラ61は、項目〔立体画像撮影装置における画像補正の原理〕で述べたとおり、上下ズレの要因となる回転誤差を有している場合がある。この場合、左目用画像および右目用画像の一方に写る被写体に、他方の画像に写る被写体を一致させたとしても、左カメラ60のレンズの中心と、右カメラ61のレンズの中心とを通る直線(すなわち、図11の(a)および(b)に示す直線114)が、左目用補正画像122および右目用補正画像123における水平方向と一致するとは限らない(図11(a)〜(d)参照)。
【0120】
上記直線が上記水平方向と一致しない状態で図12および図13に示す補正が完了した左目用補正画像122および右目用補正画像123は、被写体距離によって、被写体間での上下ズレの量が異なる。該上下ズレが発生していると、図12に示す平行移動による補正では、該上下ズレを解消することができない場合がある。
【0121】
図14は、左目用補正画像122と右目用補正画像123との間で上下ズレが発生している状態を示す図である。
【0122】
被写体141および142は、左目用補正画像122と右目用補正画像123との間で上下ズレを発生している。また、被写体141と被写体142とは、互いに異なる被写体距離となっているが、被写体141における該上下ズレのズレ量は、被写体142における該上下ズレのズレ量と異なっている。
【0123】
〔上下ズレを補正する方法の概要〕
以下、左目用画像と右目用画像との間での上下ズレを補正する方法の概要について説明する。
【0124】
左目用画像および右目用画像のトリミングを調整することで、これらの画像から立体画像を得ることが可能となる。
【0125】
左カメラ60および右カメラ61において、互いのカメラに回転角度の差(相対的な回転差)が発生すると、左目用画像と右目用画像との間で、角度ズレが発生する(図15参照)。
【0126】
図16は、上記互いに異なる回転角度のカメラの回転が発生した場合に、画像のトリミングを行う要領を示す図である。
【0127】
図16によれば、左目用画像160に写る被写体164および165は、右目用画像161に写る被写体164および165と異なる方向を向いている。このように、左目用画像160と右目用画像161との間で、被写体164および165が互いに異なる方向を向いていると、被写体164および165は立体画像に見えない。
【0128】
そこで、画像の回転角度の補正により、左目用画像160に写る被写体164および165の向きと、右目用画像161に写る被写体164および165の向きとを揃えると、被写体164および165は立体画像に見える。図16には、該画像の回転角度の補正に従って左目用画像160をトリミングした左目用補正画像162と、該画像の回転角度の補正に従って右目用画像161をトリミングした右目用補正画像163とを示している。なお、左目用画像160と右目用画像161とで被写体164および165の向きを揃えるような補正を行うためには、被写体164および165が2点以上の特徴点を有している必要がある。
【0129】
また、左カメラ60および右カメラ61において、互いに同じ方向かつ同じ回転角度のカメラの回転、またはカメラの平行移動が発生すると、左目用画像と右目用画像との間で、上下ズレが発生する(図17参照)。
【0130】
図18は、上記互いに同じ方向かつ同じ回転角度のカメラの回転、またはカメラの平行移動が発生した場合に、画像のトリミングを行う要領を示す図である。
【0131】
図18によれば、左目用画像160に写る被写体164および165は、右目用画像161に写る被写体164および165に対して、上下ズレを発生している。このように、左目用画像160と右目用画像161との間で、被写体164および165に上下ズレが発生していると、被写体164および165は立体画像に見えない。加えて、図18に係る上下ズレは、被写体距離に応じて上下方向のズレ量が変わるので、被写体164と被写体165とでは、該ズレ量が異なる。
【0132】
被写体距離に応じて上下方向のズレ量が変わる場合、画像の平行移動による補正を行うだけでは、図18に係る上下ズレを適切に補正することができない。そこで、画像の回転角度の補正を行うことにより、該上下ズレを適切に補正することが可能となる。図18には、該画像の回転角度の補正に従って左目用画像160をトリミングした左目用補正画像162と、該画像の回転角度の補正に従って右目用画像161をトリミングした右目用補正画像163とを示している。なお、画像の回転角度の補正を行うためには、被写体164および165として示すように、被写体距離が異なる複数の被写体が必要である。
【0133】
また、カメラのアオリ等に起因して、左カメラ60および右カメラ61において、一方のカメラの光軸が他方のカメラの光軸に対して上下方向にズレていると、左目用画像と右目用画像との間で、上下ズレが発生する(図19参照)。
【0134】
図20は、上記の光軸の上下方向へのズレが発生した場合に、画像のトリミングを行う要領を示す図である。
【0135】
図20によれば、左目用画像160に写る被写体164および165は、右目用画像161に写る被写体164および165に対して、上下ズレを発生している。このように、左目用画像160と右目用画像161との間で、被写体164および165に上下ズレが発生していると、被写体164および165は立体画像に見えない。但し、図20に係る上下ズレは、被写体距離によらず上下方向のズレ量が同じであるので、被写体164と被写体165とでは、該ズレ量が同じとなる。
【0136】
そこで、画像の平行移動による補正により、左目用画像160に写る被写体164および165の上下方向の位置と、右目用画像161に写る被写体164および165の上下方向の位置とを揃えることにより、図20に係る上下ズレを解消することが可能となる。図20には、該画像の平行移動による補正に従って左目用画像160をトリミングした左目用補正画像162と、該画像の平行移動による補正に従って右目用画像161をトリミングした右目用補正画像163とを示している。
【0137】
また、左カメラ60の光軸と右カメラ61の光軸とが、並行でないか所望の輻輳点で交差していない場合、左目用画像と右目用画像との間で、左右ズレが発生する(図21参照)。
【0138】
図22は、上記の光軸の左右方向へのズレが発生した場合に、画像のトリミングを行う要領を示す図である。
【0139】
図22によれば、左目用画像160と右目用画像161との間で、被写体164および165に発生する左右方向へのズレが大きい場合、被写体164および165が、立体画像に見えなかったり、所望の位置より手前または奥に見えたりする。
【0140】
そこで、画像の平行移動による補正により、左目用画像160に写る被写体164および165の左右方向の位置と、右目用画像161に写る被写体164および165の左右方向の位置とを揃えることにより、左右方向へのズレを解消することが可能となる。図22には、左目用画像160をトリミングした左目用補正画像162と、右目用画像161をトリミングした右目用補正画像163とを示している。この場合、被写体164および165は、被写体距離が既知である必要がある。
【0141】
実施の形態で説明する画像補正方法においては、互いに異なる被写体距離にある2つ以上の被写体を用いて、該被写体の一方が1つ以上の特徴点を有しており、該被写体の他方が2つ以上の特徴点を有している必要がある。
【0142】
〔画像補正方法のポイント〕
実施の形態で説明する画像補正方法においては、左目用画像および右目用画像から、「傾いた長方形」を切り出すことで、左右2基のカメラ(すなわち、左カメラ60および右カメラ61)間での、角度ズレおよび上下方向のズレ等を補正する。
【0143】
従来の方法では、左目用画像と右目用画像との間での、相対的なズレを補正していた。左右2基のカメラが同じ方向に同じ角度回転している場合、左目用画像と右目用画像との間での上下ズレが生じるが、従来の方法では、左目用画像および/または右目用画像のトリミング位置を上下方向にずらすことで、該上下ズレを補正していた。
【0144】
しかしながら、左右2基のカメラが同じ方向に同じ角度回転している場合、被写体距離に応じて上下方向のズレ量が変わるため、従来の方法では、あらゆる被写体距離にある被写体に合わせて上下ズレを補正することはできなかった。
【0145】
そこで、実施の形態で説明する画像補正方法においては、左カメラのレンズの中心と、右カメラのレンズの中心とを通る直線を、絶対的な基準線として、該基準線に対して、画像のずれを補正する。これにより、被写体がどの距離にあっても、上下ズレを補正することが可能となる。
【0146】
実施の形態で説明する画像補正方法に係る、画像の補正手順は、図1を参照すると、以下のとおりである。
【0147】
(手順1:S1)異なる2つの距離(被写体距離)AおよびBに対して、距離Aにある、検出可能な特徴点を少なくとも2つ有する被写体a(第1被写体)と、距離Bにある、検出可能な特徴点を少なくとも1つ有する被写体b(第2被写体)とを、左右2基のカメラで撮影する。左カメラ(第1カメラ)が被写体aを撮影(取得)した画像を左目用画像a(第1参照画像)とし、右カメラ(第2カメラ)が被写体aを撮影した画像を右目用画像a(第2参照画像)とし、左カメラが被写体bを撮影した画像を左目用画像b(第3参照画像)とし、右カメラが被写体bを撮影した画像を右目用画像b(第4参照画像)とする。なお、左目用画像aと左目用画像bとは、異なる画像であってもよいし、同一の画像であってもよい。右目用画像aと右目用画像bとについても同様に、異なる画像であってもよいし、同一の画像であってもよい。すなわち、被写体aおよび被写体bの両方が写るように、左カメラによる撮影および右カメラによる撮影の少なくとも一方を行ってもよい。換言すれば、左カメラのみが、1つの画像に被写体aおよび被写体bが写るように撮影を行ってもよいし、右カメラのみが、1つの画像に被写体aおよび被写体bが写るように撮影を行ってもよいし、左右両方のカメラが、1つの画像に被写体aおよび被写体bが写るように撮影を行ってもよい。
【0148】
(手順2:S2)左目用画像aおよび右目用画像aから被写体aの特徴点を2つ以上検出し、左目用画像bおよび右目用画像bから被写体bの特徴点を1つ以上検出する。
【0149】
(手順3:S3)被写体aの2つの特徴点から、左右2基のカメラ間の相対的な角度差分、すなわち左カメラの光軸を中心とする左カメラの回転角度に対する、右カメラの光軸を中心とする右カメラの回転角度の差分(Δθ:相互回転角度差分)を算出する。そして、左目用画像aおよび右目用画像aに対して、Δθを相殺するようにΔθによる回転角度の補正を行う。すなわち、この段階で、左目用画像aに対する回転角度の補正係数をΔθ/2とし、右目用画像aに対する回転角度の補正係数を−Δθ/2とする。
【0150】
(手順4:S4)(手順3)による補正後における、左目用画像aおよび右目用画像aの両方を、任意の角度(Δφ:所定角度)回転させる。そして、被写体aの2個の特徴点の、左目用画像aと右目用画像aとの間での上下方向における差分(ΔY:第1上下ズレ)を算出する。
【0151】
(手順5:S5)左目用画像bおよび右目用画像bの両方を、Δθ、Δφ、およびΔYに基づいて、ΔθおよびΔYを相殺するように、かつΔφ回転させて補正する。すなわち、左目用画像bに対する補正係数は、
回転角度:Δθ/2+Δφ
上下移動:ΔY/2
とし、右目用画像bに対する補正係数は、
回転角度:−Δθ/2+Δφ
上下移動:−ΔY/2
とする。その後、被写体bの特徴点の、左目用画像bと右目用画像bとの間での上下方向におけるズレ(ΔY´:第2上下ズレ)を算出する。
【0152】
(手順6:S61およびS62)複数のΔφについて(手順4)および(手順5)に示す操作を繰り返し行い、ΔY´が最小となるΔφおよびΔYを求める。
【0153】
(手順7:S7)左目用画像aおよび右目用画像aに写る被写体a同士が、また、左目用画像bおよび右目用画像bに写る被写体b同士が、無限遠または所望の輻輳点で重なるように、補正すべき距離(ΔX)を求める。
【0154】
(手順1)〜(手順7)を行った結果、左カメラ(第1撮影部11)から取得した左目用画像(第1画像データに相当)に対する補正係数は、
回転角度:Δθ/2+Δφ
上下移動:ΔY/2
左右移動:ΔX/2
とし、右カメラ(第2撮影部12)から取得した右目用画像(第2画像データに相当)に対する補正係数は、
回転角度:−Δθ/2+Δφ
上下移動:−ΔY/2
左右移動:−ΔX/2
とする。
【0155】
その後、上記の、左目用画像に対する補正係数、および右目用画像に対する補正係数を、画像補正パラメータとしてトリミング部16(図3参照)に供給する。画像記憶部15にそれぞれ記憶される、第1画像データとしての左目用画像および第2画像データとしての右目用画像を参照して、トリミング部16は、該画像補正パラメータに基づいて(該画像補正パラメータにより規定される補正を反映するように)、左目用画像および右目用画像のトリミングを行い、第1補正画像データおよび第2補正画像データを生成する。これにより、本発明に係る画像補正方法により、左目用画像および右目用画像それぞれの補正を行う携帯電話1を実現することができる。
【0156】
なお、手順3では、左目用画像aおよび右目用画像aの両方に対して、Δθによる回転角度の補正を行ったが、左目用画像aおよび右目用画像aのいずれか一方を補正する手法を採用してもよい。
【0157】
また、手順5では、左目用画像bおよび右目用画像bの両方に対して、Δθ、Δφ、およびΔYに基づく補正を行ったが、このうちΔθおよびΔYに関しては、左目用画像bおよび右目用画像bのいずれか一方を補正する手法を採用してもよい。一方、Δφに関しては、左目用画像bおよび右目用画像bの、同方向および同角度の回転補正であるため、いずれか一方を補正することはできず、両方を補正する必要がある。
【0158】
さらに、上記の各手順では、左目用画像および右目用画像の両方をトリミングするものとして説明を行ったが、トリミングにより立体画像が取得できるのであれば、左目用画像および右目用画像のいずれか一方をトリミングしてもよい。
【0159】
ここで、上記画像補正方法を行う際のポイントについて説明する。
【0160】
上述したとおり、左目用画像と右目用画像との間で、被写体のズレが発生する要因としては、(要因A)〜(要因D)の4つが挙げられる。
【0161】
(要因A)左カメラおよび右カメラ間での回転角度の差(相対的な回転差)によるズレ。
【0162】
(要因B)左カメラおよび右カメラが同方向に同じ回転角度だけ回転したことによるズレ、または左カメラおよび右カメラ間での上下方向の取り付け位置ズレ。
【0163】
(要因C)左カメラおよび右カメラの各光軸間での、上下方向の傾きによるズレ。
【0164】
(要因D)左カメラおよび右カメラの各光軸間での、左右方向の傾きによるズレ。
【0165】
(要因B)に係るカメラの上下方向の取り付け位置ズレは、2基のカメラの各々のレンズの中心位置を通る直線を水平とみなすと、(要因B)に係るカメラの同方向かつ同じ回転角度の回転によるズレと等価として扱うことができる。
【0166】
(要因A)〜(要因D)のうち、左目用画像と右目用画像との間での上下ズレを生じさせるのは(要因B)および(要因C)である。(要因B)に係る上下ズレは、被写体距離によって上下方向へのズレ量が変わるのに対し、(要因C)に係る上下ズレのズレ量は、被写体距離によらない。そのため、(要因B)と(要因C)とで個別に補正を行う必要があるが、特定の距離にある被写体を撮影するだけではこれらを区別することはできない。上記画像補正方法を用いれば、(要因B)と(要因C)とを別々に補正する形で、画像の調整を行うことができる。
【0167】
なお、上記(手順2)では、被写体aから2つの特徴点を検出している。一方、上記(手順2)では、被写体aから2つの特徴点を検出する代わりに、被写体aから1つの特徴点を検出し、かつ左目用画像aに対する右目用画像aの回転角度が特定可能なものを、左目用画像aおよび右目用画像aから検出しても、同様の方法が実施可能である。なお、この線は、被写体として写っているものである必要は無い。換言すれば、左目用画像aおよび右目用画像aにおいて、被写体aおよびその周辺(背景等)を被写体領域として撮影し、左目用画像aおよび右目用画像aから、該被写体領域に写る線を検出すればよい。
【0168】
具体的には、左目用画像aおよび右目用画像aから、Δθを算出するためには、左目用画像aおよび右目用画像aから、左目用画像aに対する右目用画像aの回転角度を特定することが可能なもの、すなわち、左目用画像aおよび右目用画像aの両方に写る線を検出すれば十分である。一方、左目用画像aおよび右目用画像aから、ΔYを算出するためには、被写体aの特徴点を1つ以上検出する必要がある。
【0169】
また、左目用画像に対する補正係数、および右目用画像に対する補正係数を、画像補正パラメータとしてトリミング部16に供給するタイミングは、携帯電話1の製品としての出荷前であってもよい。また、該タイミングは、携帯電話1の出荷後、例えば携帯電話1の修理時であってもよい。
【0170】
なお、手順1が第1工程に、手順2が第2工程に、手順3が第3工程に、手順4が第4工程に、手順5が第5工程に、手順6が第6工程に、手順7が第7工程に、それぞれ該当する。
【0171】
〔画像補正方法の具体例〕
図23は、画像補正方法において検出する特徴点の座標の一覧を示す表である。
【0172】
図24は、画像の切り出し座標の一覧を示す表である。
【0173】
図25は、画像補正方法において使用する定数の一覧(一例)を示す表である。
【0174】
図26は、画像補正方法において使用する変数の一覧を示す表である。なお、図26に記載していない変数については、便宜上、以下の各ステップ内で定義している。
【0175】
(ステップ1:被写体距離Aおよび被写体距離Bの被写体を、左右2基のカメラで撮影し、それぞれの画像に写る特徴点の座標を検出する)
まず、被写体距離Aの被写体(第1被写体)を左カメラ(第1カメラ)で撮影した画像をA左(第1参照画像)、被写体距離Aの被写体を右カメラ(第2カメラ)で撮影した画像をA右(第2参照画像)とする。
【0176】
続いて、被写体距離Bの被写体(第2被写体)を左カメラで撮影した画像をB左(第3参照画像)、被写体距離Bの被写体を右カメラで撮影した画像をB右(第4参照画像)とする。
【0177】
続いて、画像A左から、特徴点A1およびB1を検出する(図27(a)参照)と共に、画像A右から、特徴点A1およびB1に対応する特徴点A2およびB2を検出する(図27(b)参照)。続いて、画像B左から、特徴点A3を検出する(図27(c)参照)と共に、画像B右から、特徴点A3に対応する特徴点A4を検出する(図27(d)参照)。なお、これらの各特徴点の検出は、周知慣用技術で実現可能であるので、詳細な説明は省略する。
【0178】
(ステップ2:画像A左と画像A右との、回転方向の角度の差を算出し、画像A左と画像A右とが互いに水平となる回転角度を算出する)
(イ)画像A左から算出した2つの特徴点を結ぶ直線の傾きを算出する。すなわち、
点A1と点B1とを結ぶ直線の水平に対する傾き:
θ1=ATAN2((X12-X11),(Y12-Y11))
を算出する。
【0179】
(ロ)画像A右から算出した2つの特徴点を結ぶ直線の傾きを算出する。すなわち、
点A2と点B2とを結ぶ直線の水平に対する傾き:
θ2=ATAN2((X22-X21),(Y22-Y21))
を算出する。ATAN2とは、三角関数のアークタンジェントを求める一般的な関数であり、ある点の座標(x,y)と原点を結ぶ線の傾き(角度、単位はラジアン)を求める。
【0180】
(ハ)上記(イ)および(ロ)の算出結果から、左カメラから取得した画像および右カメラから取得した画像のそれぞれの、調整回転角度(θL1、θR1)を算出する。すなわち、
左画像(左カメラから取得した第1画像)調整回転角度:θL1=(θ2−θ1)/2
右画像(右カメラから取得した第2画像)調整回転角度:θR1=−(θL1)
を算出する。
【0181】
(ステップ3:左カメラおよび右カメラ共通の、最適な回転ズレの角度を算出する)
算出手順としては、左カメラから取得した画像と右カメラから取得した画像とで共通の、回転補正量Δφを変化させて、下記(イ)〜(ホ)を繰り返す。
【0182】
なお、一例として、回転補正量Δφを変化させる範囲およびステップは、以下のとおりとする。
【0183】
開始角度:−10°
終了角度:10°
変化ステップ:0.01°
但し、回転補正量Δφを変化させる範囲、回転補正量Δφを変化させるステップは任意である。原理的には、左右90°の範囲で、どのような細かさ(ステップ)で、回転補正量Δφを変化させても問題ない。
【0184】
(イ)ステップ2で算出した左画像調整回転角度および右画像調整回転角度に、回転補正量Δφを加えた角度を算出する。すなわち、
左右カメラ共通の回転ズレΔφを加えた左画像調整回転角度:θL2=θL1+Δφ
左右カメラ共通の回転ズレΔφを加えた右画像調整回転角度:θR2=θR1+Δφ
を算出する。
【0185】
(ロ)点A1と点B1とを回転角θL2で回転させたときの座標、および点A2と点B2とを回転角θR2で回転させたときの座標を算出する。
【0186】
まず、回転の中心軸を画像の中心と仮定して回転を行う。画像A左および画像A右の中央の座標(Xcenter,Ycenter)を算出する。すなわち、
Xcenter=Size_O_x/2
Ycenter=Size_O_y/2
を算出する。
【0187】
続いて、回転中心座標(Xcenter,Ycenter)を中心として、点A1および点B1の移動先の座標を算出する。すなわち、
点A1の回転先の点A1´(X11',Y11')の座標:
X11'=(X11-Xcenter)*COS(θL2)-(Y11-Ycenter)*SIN(θL2)+Xcenter
Y11'=(X11-Xcenter)*SIN(θL2)+(Y11-Ycenter)*COS(θL2)+Ycenter
点B1の回転先の点B1´(X12',Y12')の座標:
X12'=(X12-Xcenter)*COS(θL2)-(Y12-Ycenter)*SIN(θL2)+Xcenter
Y12'=(X12-Xcenter)*SIN(θL2)+(Y12-Ycenter)*COS(θL2)+Ycenter
を算出する。
【0188】
続いて、回転中心座標(Xcenter,Ycenter)を中心として、点A2および点B2の移動先の座標を算出する。すなわち、
点A2の回転先の点A2´(X21',Y21')の座標:
X21'=(X21-Xcenter)*COS(θR2)-(Y21-Ycenter)*SIN(θR2)+Xcenter
Y21'=(X21-Xcenter)*SIN(θR2)+(Y21-Ycenter)*COS(θR2)+Ycenter
点B2の回転先の点B2´(X22',Y22')の座標:
X22'=(X22-Xcenter)*COS(θR2)-(Y22-Ycenter)*SIN(θR2)+Xcenter
Y22'=(X22-Xcenter)*SIN(θR2)+(Y22-Ycenter)*COS(θR2)+Ycenter
を算出する。
【0189】
(ハ)上記(ロ)で算出した座標値から、画像A左と画像A右との間での、X方向の傾きによるズレ(水平のアオリ)およびY方向の傾きによるズレ(垂直のアオリ)を算出する。
【0190】
まず、回転補正後の座標である、点A1´および点A2´の座標から、画像A左と画像A右との間での、X方向およびY方向のズレ量を算出する。すなわち、
点A1´と点A2´との間でのX方向のズレ:ΔX=X21'-X11'
点A1´と点A2´との間でのY方向のズレ:ΔY=Y21'-Y11'
を算出する。
【0191】
続いて、左カメラから取得した画像と右カメラから取得した画像とのそれぞれにおける、X方向およびY方向の補正量を算出する。すなわち、
左画像X方向補正量:ΔXL=ΔX/2
左画像Y方向補正量:ΔYL=ΔY/2
右画像X方向補正量:ΔXR=−(ΔXL)
右画像Y方向補正量:ΔYR=−(ΔYL)
を算出する。
【0192】
(ニ)点A3を回転角度θL2で回転させたときの座標、および点A4を回転角θR2で回転させたときの座標を算出する。
【0193】
まず、回転の中心軸を画像の中心と仮定して回転を行う。回転中心座標(Xcenter,Ycenter)を中心として、点A3および点A4の移動先の座標を算出する。すなわち、
点A3の回転先の点A3´(X31',Y31')の座標:
X31'=(X31-Xcenter)*COS(θL2)-(Y31-Ycenter)*SIN(θL2)+Xcenter
Y31'=(X31-Xcenter)*SIN(θL2)+(Y31-Ycenter)*COS(θL2)+Ycenter
点A4の回転先の点A4´(X41',Y41')の座標:
X41'=(X41-Xcenter)*COS(θR2)-(Y41-Ycenter)*SIN(θR2)+Xcenter
Y41'=(X41-Xcenter)*SIN(θR2)+(Y41-Ycenter)*COS(θR2)+Ycenter
を算出する。
【0194】
続いて、上記回転後の点A3´と点A4´とをY方向に移動させたときの座標を算出する。すなわち、
点A3の移動先の点A3´´のY座標(Y31''):Y31''=Y31'+ΔYL
点A4の移動先の点A4´´のY座標(Y41''):Y41''=Y41'+ΔYR
を算出する。
【0195】
(ホ)上記(ニ)で算出した移動後の座標におけるY座標間誤差を算出する。
【0196】
点Y31''と点Y41''座標のY方向の誤差を算出する。すなわち、
Y31''とY41''とのY方向のズレ:ΔY´=Y41''−Y31''
を算出する。
【0197】
(ヘ)回転補正量Δφの値を変化させて、上記(イ)〜(ホ)を繰り返す。
【0198】
(ト)上記(イ)〜(ヘ)を繰り返し実行し、(ホ)で算出したΔY´が最小となるときの回転補正量Δφの値を、最適調整回転角であると判断し、その時の補正量を最適な補正量とする。
【0199】
まず、Y座標間誤差(ΔY´)が最小となる回転補正量Δφを探し、その角度を最適な共通調整角Δθとする。
【0200】
続いて、左カメラから取得した画像および右カメラから取得した画像の最適調整回転角度を算出する。すなわち、
最適な左画像調整回転角度:θL3=θL1+Δθ
最適な右画像調整回転角度:θR3=θR1+Δθ
を算出する。
【0201】
続いて、共通の回転補正量ΔφをΔθと等しくしたときの、画像A左と画像A右との、X方向補正量(ΔXLおよびΔXR)ならびにY方向補正量(ΔYLおよびΔYR)を最適な補正量と決める。
【0202】
(ステップ4:逆補正量を算出する)
上記ステップ3の(ト)で求めた最適調整量の逆補正値を算出する。すなわち、
最適な左カメラ側調整回転角度(逆補正値):θL4=−θL3
最適な右カメラ側調整回転角度(逆補正値):θR4=−θR3
左カメラ側X方向補正量(逆補正値):ΔXL´=−ΔXL
右カメラ側X方向補正量(逆補正値):ΔXR´=−ΔXR
左カメラ側Y方向補正量(逆補正値):ΔYL´=−ΔYL
右カメラ側Y方向補正量(逆補正値):ΔYR´=−ΔYR
を算出する。
【0203】
(ステップ5:左右画像それぞれの切り出し座標を算出する)
(イ)元画像のサイズおよび切り出しサイズから、切り出す座標を算出する為の基準点(補正量がすべて0のときの切り出し座標)を算出する。但し、本来、該基準点は定数であるので計算不要である。
【0204】
まず、左画像の切り出し基準点をA5、B5、C5、D5とする。また、右画像の切り出し基準点をA6、B6、C6、D6とする。そして、A5、B5、C5、D5に関しては、
点A5の座標(X51,Y51):
X51=(Size_O_x−Size_S_x)/2
Y51=(Size_O_y−Size_S_y)/2
点B5の座標(X52,Y52):
X52=X51+(Size_S_x−1)
Y52=Y51
点C5の座標(X53,Y53):
X53=X51
Y53=Y51+(Size_S_y−1)
点D5の座標(X54,Y54):
X54=X52
Y54=Y53
を算出する。A6、B6、C6、D6に関しても同様に、点A6の座標(X61,Y61)、点B6の座標(X62,Y62)、点C6の座標(X63,Y63)、および点D6の座標(X64,Y64)をそれぞれ算出する。
【0205】
(ロ)上記(イ)で算出した左右基準点(全部で8点)の座標を、上記ステップ4で算出したX方向補正量(逆補正値)、およびY方向補正量(逆補正値)で移動させたときの座標を算出する。すなわち、
点A5の移動先の点A5´の座標(X51',Y51'):
X51'=X51+ΔXL´
Y51'=Y51+ΔYL´
(同様に点B5´/点C5´/点D5´のY座標を算出する)
点A6の移動先の点A6´の座標(X61',Y61'):
X61'=X61+ΔXR´
Y61'=Y61+ΔYR´
(同様に点B6´/点C6´/点D6´のY座標を算出する)
を算出する。
【0206】
(ハ)画像の中央の座標(Xcenter,Ycenter)を中心として、上記ステップ4で算出した最適調整回転角(逆補正値)で、上記(イ)で求めた8点を回転したときの座標を算出する。すなわち、
点A5の回転先の点A5´´(S_X51,S_Y51)の座標:
S_X51=(X51'-Xcenter)*COS(θL4)-(Y51'-Ycenter)*SIN(θL4)+Xcenter
S_Y51=(X51'-Xcenter)*SIN(θL4)+(Y51'-Ycenter)*COS(θL4)+Ycenter
(同様に点B5´´/点C5´´/点D5´´の座標を算出する)
点A6の回転先の点A6´´(S_X61,S_Y61)の座標:
S_X61=(X61'-Xcenter)*COS(θR4)-(Y61'-Ycenter)*SIN(θR4)+Xcenter
S_Y61=(X61'-Xcenter)*SIN(θR4)+(Y61'-Ycenter)*COS(θR4)+Ycenter
(同様に点B6´´/点C6´´/点D6´´の座標を算出する)
(ステップ6:終了)
ステップ5により決定された左右画像それぞれの切り出し座標を、画像補正パラメータとしてトリミング部16(図3参照)に供給する。画像記憶部15にそれぞれ記憶される、第1画像データとしての左画像および第2画像データとしての右画像を参照して、トリミング部16は、該画像補正パラメータに基づいて、左画像および右画像のトリミングを行い、第1補正画像データおよび第2補正画像データを生成する。これにより、本発明に係る画像補正方法により、左右画像それぞれの補正を行う携帯電話1を実現することができる。
【0207】
また、本発明の立体画像撮影装置は、上記第1カメラの取り付け位置を、上記第2カメラに対して上下方向にズラした場合に、上記トリミング部により上記第1画像をトリミングして得られた画像、および上記トリミング部により上記第2画像をトリミングして得られた画像の両方が、互いに同じ回転角度により回転される。
【0208】
本発明の画像補正方法によれば、立体画像撮影装置における第1カメラの取り付け位置を、第2カメラに対して上下方向に敢えてズラした場合、それに伴い、第1カメラの中心と第2カメラの中心とを通る直線を基準として、トリミングを行った結果、第1画像をトリミングして得られた画像および第2画像をトリミングして得られた画像の両方が、互いに同じ回転角度により回転するという現象が起こる。該現象が起こる立体画像撮影装置は、本発明の立体画像撮影装置であると考えてよい。
【0209】
なお、原理的には、遠方の被写体と近方の被写体との両方を、同時に左右それぞれ1回の撮影(左右2枚の画像)で取り込み、その各画像から、遠方の被写体の特徴点と、近方の被写体の特徴点をそれぞれ検出することも可能である。例えば、これらの各画像において、上半分に遠方の被写体が、下半分に近方の被写体が写るように撮影し、特徴点を検出する際に、画像の上下を半分ずつに分けて特徴点の検出を行ってもよい。
【0210】
ピントをうまく合わせることができれば、あるいはピントが甘くても特徴点の検出が可能な程度で撮影できれば、近距離の被写体と遠距離の被写体とを同時に撮影することは可能である。
【0211】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【0212】
本発明は、立体画像を撮影する立体画像撮影装置に内蔵された、2基のカメラから取得した各画像の補正を行う画像補正方法、およびこの画像補正方法により2基のカメラから取得した各画像の補正を行う立体画像撮影装置に利用することができる。
【符号の説明】
【0213】
1 携帯電話(立体画像撮影装置)
11 第1撮影部(第1カメラ)
12 第2撮影部(第2カメラ)
16 トリミング部
【技術分野】
【0001】
本発明は、立体画像を撮影する立体画像撮影装置に内蔵された、2基のカメラから取得した各画像の補正を行う画像補正方法、および上記2基のカメラから取得した各画像を、上記画像補正方法に従って補正する立体画像撮影装置に関する。
【背景技術】
【0002】
立体画像(立体映像)は、ユーザに対して斬新さ、臨場感等を与えることができるため、立体画像を作成して表示する技術の開発が盛んになっている。
【0003】
特許文献1には、左右2基のカメラが撮影した2枚の画像(左右画像)から、左右画像の位置ズレのズレ量および方向を検出し、該ズレ量および方向を示すズレベクトルに基づいて、所望の視差が得られるように左右画像の位置ズレを補正する技術が開示されている。
【0004】
特許文献2には、左右画像の水平方向の視差ズレを低減するために、左右画像の水平方向をトリミングにより補正する技術が開示されている。
【0005】
特許文献3には、左右画像の位相差を求め、求めた位相差を用いて左右画像(時系列画像)の動き情報を調整し、調整された動き情報に基づいて左右画像のトリミングを行う技術が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2011−71604号公報(2011年4月7日公開)
【特許文献2】特開2011−29700号公報(2011年2月10日公開)
【特許文献3】特開2003−92768号公報(2003年3月28日公開)
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1〜3に開示されている技術では、カメラから被写体までの距離(以下、「被写体距離」と称する)に応じて、取得した左右2枚の画像間での上下ズレを生じる虞があるという問題が発生する。
【0008】
以下、上記の問題について説明する。
【0009】
左右2枚の画像間で上記上下ズレを生じる要因としては、立体画像撮影装置に内蔵された各カメラの平行移動(各カメラの上下方向への取り付け位置ズレ)、各カメラのアオリ(各カメラの光軸の、上下方向への傾きズレ)、および各カメラの回転(カメラの光軸回りの回転ズレ)が挙げられる。立体画像撮影装置に対するこれらのカメラの取り付けズレは、カメラの組み立て精度、および/または、カメラの取り付け位置精度に応じて生じる誤差である場合、構造的に無くすことは困難である。
【0010】
カメラの平行移動に起因する上記上下ズレ、およびカメラの回転に起因する上記上下ズレは、被写体距離に応じてズレ量が異なる。一方、カメラのアオリに起因する上記上下ズレは、被写体距離によらず、一定のズレ量となる。
【0011】
ここで、特許文献1に開示されている技術では、カメラの平行移動に起因する上記上下ズレおよびカメラの回転に起因する上記上下ズレと、カメラのアオリに起因する上記上下ズレとを区別することができない。また、特許文献1に開示されている技術では、ズレベクトルに基づいて左右画像の位置ズレを補正するので、被写体距離に応じてズレ量が異なる上記上下ズレを補正することはできない。
【0012】
従って、特許文献1に開示されている技術では、特定の被写体距離を基準として上記上下ズレの補正を行っても、別の被写体距離において上記上下ズレを生じる虞がある。
【0013】
また、特許文献2に開示されている技術では、左右画像の上下方向のトリミングについて言及されていない。
【0014】
また、特許文献3に開示されている技術では、特許文献1に開示されている技術と同様の問題が発生する。
【0015】
本発明は、上記の問題に鑑みて為されたものであり、その目的は、被写体距離に応じて、取得した左右2枚の画像間での上下ズレを低減することを可能とする画像補正方法、および立体画像撮影装置を提供することにある。
【課題を解決するための手段】
【0016】
本発明の画像補正方法は、上記の問題を解決するために、複数のカメラを備えたカメラ群を構成する第1カメラから取得した第1画像、および該カメラ群を構成する、第1カメラと別の第2カメラから取得した第2画像から立体画像を得るために、第1画像および第2画像の少なくとも一方をトリミングする画像補正方法であって、
(1)上記カメラ群までの距離が互いに異なる第1被写体および第2被写体を、上記第1カメラおよび第2カメラにより撮影し、第1カメラが第1被写体を撮影して得られる第1参照画像と、第2カメラが第1被写体を撮影して得られる第2参照画像と、第1カメラが第2被写体を撮影して得られる第3参照画像と、第2カメラが第2被写体を撮影して得られる第4参照画像とを取得する第1工程と、
(2)上記第1参照画像および第2参照画像から、上記第1被写体の特徴点を少なくとも2つ検出すると共に、上記第3参照画像および第4参照画像から、上記第2被写体の特徴点を少なくとも1つ検出する第2工程と、
(3)上記第2工程で検出した第1被写体の各特徴点から、上記第1カメラの光軸を中心とする第1カメラの回転角度に対する、上記第2カメラの光軸を中心とする第2カメラの回転角度の差分である相互回転角度差分を算出し、該相互回転角度差分を相殺するように、上記第1参照画像および第2参照画像の少なくとも一方を補正する第3工程と、
(4)上記第1参照画像および第2参照画像を、互いに同じ所定角度だけ回転させ、上記第1被写体の各特徴点の、第1参照画像と第2参照画像との間での上下方向におけるズレである第1上下ズレを算出する第4工程と、
(5)上記第3参照画像および第4参照画像の少なくとも一方を、上記相互回転角度差分および第1上下ズレを相殺するように、かつ互いに同じ上記所定角度だけ回転させるように補正し、上記第2工程で検出した第2被写体の特徴点の、第3参照画像と第4参照画像との間での上下方向におけるズレである第2上下ズレを算出する第5工程と、
(6)複数の上記所定角度について、上記第4工程および第5工程を行い、上記第2上下ズレが最小となる、上記所定角度および第1上下ズレを求める第6工程とを含み、
上記第6工程にて求めた、上記第2上下ズレが最小となる、上記所定角度および第1上下ズレを相殺するように、上記第1画像および第2画像の少なくとも一方をトリミングすることを特徴としている。
【0017】
第1画像と第2画像との間で、被写体のズレが発生する要因としては、(要因A)〜(要因D)の4つが挙げられる。
【0018】
(要因A)第1カメラおよび第2カメラ間での回転角度の差によるズレ。
【0019】
(要因B)第1カメラおよび第2カメラが同方向に同じ回転角度だけ回転したことによるズレ、または第1カメラおよび第2カメラ間での上下方向の取り付け位置ズレ。
【0020】
(要因C)第1カメラおよび第2カメラの各光軸間での、上下方向の傾きによるズレ。
【0021】
(要因D)第1カメラおよび第2カメラの各光軸間での、左右方向の傾きによるズレ。
【0022】
(要因B)に係るカメラの上下方向の取り付け位置ズレは、第1カメラおよび第2カメラの各々のレンズの中心位置を通る直線を水平とみなすと、(要因B)に係るカメラの同方向かつ同じ回転角度の回転によるズレと等価として扱うことができる。
【0023】
(要因A)〜(要因D)のうち、第1画像と第2画像との間での上下ズレを生じさせるのは(要因B)および(要因C)である。(要因B)に係る上下ズレは、被写体距離によって上下方向へのズレ量が変わるのに対し、(要因C)に係る上下ズレのズレ量は、被写体距離によらない。そのため、(要因B)と(要因C)とで個別に補正を行う必要があるが、特定の距離にある被写体を撮影するだけではこれらを区別することはできない。
【0024】
上記の構成によれば、第3工程により、(要因A)を補正することが可能となる。また、上記の構成によれば、第4工程により、(要因B)を補正することが可能となる。また、上記の構成によれば、第5工程により、(要因C)を補正することが可能となる。
【0025】
そして、第6工程により、第1参照画像および第2参照画像を互いに同じ角度回転させつつ、第4工程および第5工程を繰り返すことで、(要因B)および(要因C)の補正を最良化することが可能である。
【0026】
このように、本発明の画像補正方法では、(要因B)と(要因C)とを別々に補正する形で、画像の上下ズレの補正を行うことができるので、被写体距離に応じて、取得した左右2枚の画像間での上下ズレを低減することが可能となる。
【0027】
ところで、上記の構成によれば、第1被写体の特徴点を2つ以上検出する必要がある。
【0028】
一方、第1参照画像および第2参照画像から、上記相互回転角度差分を算出するためには、第1参照画像に対する第2参照画像の回転角度を特定することが可能なものを、第1参照画像および第2参照画像から検出すれば十分である。「第1参照画像に対する第2参照画像の回転角度を特定することが可能なもの」とは、すなわち、第1参照画像および第2参照画像の両方に写る線である。なお、この線は、被写体として写っているものである必要は無い。
【0029】
一方、第1参照画像および第2参照画像から、上記第1上下ズレを算出するためには、第1被写体の特徴点を1つ以上検出する必要がある。
【0030】
すなわち、本発明の画像補正方法は、上記の問題を解決するために、複数のカメラを備えたカメラ群を構成する第1カメラから取得した第1画像、および該カメラ群を構成する、第1カメラと別の第2カメラから取得した第2画像から立体画像を得るために、第1画像および第2画像の少なくとも一方をトリミングする画像補正方法であって、
(1)上記カメラ群までの距離が互いに異なる第1被写体および第2被写体を、上記第1カメラおよび第2カメラにより撮影し、第1カメラが第1被写体および該第1被写体の周辺を含む被写体領域を撮影して得られる第1参照画像と、第2カメラが該被写体領域を撮影して得られる第2参照画像と、第1カメラが第2被写体を撮影して得られる第3参照画像と、第2カメラが第2被写体を撮影して得られる第4参照画像とを取得する第1工程と、
(2)上記第1参照画像および第2参照画像から、上記第1被写体の特徴点を少なくとも1つと、上記被写体領域に写る線とを検出すると共に、上記第3参照画像および第4参照画像から、上記第2被写体の特徴点を少なくとも1つ検出する第2工程と、
(3)上記第2工程で検出した第1被写体の特徴点および被写体領域に写る線から、上記第1カメラの光軸を中心とする第1カメラの回転角度に対する、上記第2カメラの光軸を中心とする第2カメラの回転角度の差分である相互回転角度差分を算出し、該相互回転角度差分を相殺するように、上記第1参照画像および第2参照画像の少なくとも一方を補正する第3工程と、
(4)上記第1参照画像および第2参照画像を、互いに同じ所定角度だけ回転させ、上記第1被写体の特徴点および被写体領域に写る線の、第1参照画像と第2参照画像との間での上下方向におけるズレである第1上下ズレを算出する第4工程と、
(5)上記第3参照画像および第4参照画像の少なくとも一方を、上記相互回転角度差分および第1上下ズレを相殺するように、かつ互いに同じ上記所定角度だけ回転させるように補正し、上記第2工程で検出した第2被写体の特徴点の、第3参照画像と第4参照画像との間での上下方向におけるズレである第2上下ズレを算出する第5工程と、
(6)複数の上記所定角度について、上記第4工程および第5工程を行い、上記第2上下ズレが最小となる、上記所定角度および第1上下ズレを求める第6工程とを含み、
上記第6工程にて求めた、上記第2上下ズレが最小となる、上記所定角度および第1上下ズレを相殺するように、上記第1画像および第2画像の少なくとも一方をトリミングすることを特徴とすることもできる。
【0031】
上記の構成によれば、第1被写体から2つの特徴点を検出するかわりに、第1被写体から1つの特徴点を検出し、かつ被写体領域に写る線、換言すれば第1参照画像に対する第2参照画像の回転角度が特定可能なものを検出しても、同様の方法が実施可能である。
【0032】
また、本発明の画像補正方法は、上記第1被写体の、第1参照画像と第2参照画像との間での左右方向におけるズレ、および上記第2被写体の、第3参照画像と第4参照画像との間での左右方向におけるズレの少なくとも一方を算出する第7工程をさらに含み、上記第7工程にて求めたズレを相殺するように、上記第1画像および第2画像の少なくとも一方をトリミングするのが好ましい。
【0033】
上記の構成によれば、被写体距離に応じて、取得した左右2枚の画像間での左右方向におけるズレを低減することが可能となる。
【0034】
また、本発明の画像補正方法は、上記第1工程において、1つの画像に上記第1被写体および上記第2被写体の両方が写るように、上記第1カメラによる撮影および上記第2カメラによる撮影の少なくとも一方を行ってもよい。
【0035】
すなわち、第1カメラのみが、1つの画像に第1被写体および第2被写体が写るように撮影を行ってもよいし、第2カメラのみが、1つの画像に第1被写体および第2被写体が写るように撮影を行ってもよいし、第1カメラおよび第2カメラの両方が、1つの画像に第1被写体および第2被写体が写るように撮影を行ってもよい。
【0036】
また、本発明の立体画像撮影装置は、本発明の画像補正方法により、上記第1画像および第2画像の少なくとも一方をトリミングするトリミング部と、上記カメラ群とを備えていることを特徴としている。
【0037】
上記の構成によれば、本発明の画像補正方法と同様の効果を奏する立体画像撮影装置を実現することが可能となる。
【0038】
また、本発明の立体画像撮影装置は、上記第1カメラの取り付け位置を、上記第2カメラに対して上下方向にズラした場合に、上記トリミング部により上記第1画像をトリミングして得られた画像、および上記トリミング部により上記第2画像をトリミングして得られた画像の両方が、互いに同じ回転角度により回転されることを特徴としている。
【0039】
本発明の画像補正方法によれば、立体画像撮影装置における第1カメラの取り付け位置を、第2カメラに対して上下方向に敢えてズラした場合、それに伴い、第1カメラの中心と第2カメラの中心とを通る直線を基準として、トリミングを行った結果、第1画像をトリミングして得られた画像および第2画像をトリミングして得られた画像の両方が、互いに同じ回転角度により回転するという現象が起こる。該現象が起こる立体画像撮影装置は、本発明の立体画像撮影装置であると考えてよい。
【発明の効果】
【0040】
以上のとおり、本発明の画像補正方法は、複数のカメラを備えたカメラ群を構成する第1カメラから取得した第1画像、および該カメラ群を構成する、第1カメラと別の第2カメラから取得した第2画像から立体画像を得るために、第1画像および第2画像の少なくとも一方をトリミングする画像補正方法であって、上記カメラ群までの距離が互いに異なる第1被写体および第2被写体を、上記第1カメラおよび第2カメラにより撮影し、第1カメラが第1被写体を撮影して得られる第1参照画像と、第2カメラが第1被写体を撮影して得られる第2参照画像と、第1カメラが第2被写体を撮影して得られる第3参照画像と、第2カメラが第2被写体を撮影して得られる第4参照画像とを取得する第1工程と、上記第1参照画像および第2参照画像から、上記第1被写体の特徴点を少なくとも2つ検出すると共に、上記第3参照画像および第4参照画像から、上記第2被写体の特徴点を少なくとも1つ検出する第2工程と、上記第2工程で検出した第1被写体の各特徴点から、上記第1カメラの光軸を中心とする第1カメラの回転角度に対する、上記第2カメラの光軸を中心とする第2カメラの回転角度の差分である相互回転角度差分を算出し、該相互回転角度差分を相殺するように、上記第1参照画像および第2参照画像の少なくとも一方を補正する第3工程と、上記第1参照画像および第2参照画像を、互いに同じ所定角度だけ回転させ、上記第1被写体の各特徴点の、第1参照画像と第2参照画像との間での上下方向におけるズレである第1上下ズレを算出する第4工程と、上記第3参照画像および第4参照画像の少なくとも一方を、上記相互回転角度差分および第1上下ズレを相殺するように、かつ互いに同じ上記所定角度だけ回転させるように補正し、上記第2工程で検出した第2被写体の特徴点の、第3参照画像と第4参照画像との間での上下方向におけるズレである第2上下ズレを算出する第5工程と、複数の上記所定角度について、上記第4工程および第5工程を行い、上記第2上下ズレが最小となる、上記所定角度および第1上下ズレを求める第6工程とを含み、上記第6工程にて求めた、上記第2上下ズレが最小となる、上記所定角度および第1上下ズレを相殺するように、上記第1画像および第2画像の少なくとも一方をトリミングする。
【0041】
また、本発明の画像補正方法は、複数のカメラを備えたカメラ群を構成する第1カメラから取得した第1画像、および該カメラ群を構成する、第1カメラと別の第2カメラから取得した第2画像から立体画像を得るために、第1画像および第2画像の少なくとも一方をトリミングする画像補正方法であって、上記カメラ群までの距離が互いに異なる第1被写体および第2被写体を、上記第1カメラおよび第2カメラにより撮影し、第1カメラが第1被写体および該第1被写体の周辺を含む被写体領域を撮影して得られる第1参照画像と、第2カメラが該被写体領域を撮影して得られる第2参照画像と、第1カメラが第2被写体を撮影して得られる第3参照画像と、第2カメラが第2被写体を撮影して得られる第4参照画像とを取得する第1工程と、上記第1参照画像および第2参照画像から、上記第1被写体の特徴点を少なくとも1つと、上記被写体領域に写る線とを検出すると共に、上記第3参照画像および第4参照画像から、上記第2被写体の特徴点を少なくとも1つ検出する第2工程と、上記第2工程で検出した第1被写体の特徴点および被写体領域に写る線から、上記第1カメラの光軸を中心とする第1カメラの回転角度に対する、上記第2カメラの光軸を中心とする第2カメラの回転角度の差分である相互回転角度差分を算出し、該相互回転角度差分を相殺するように、上記第1参照画像および第2参照画像の少なくとも一方を補正する第3工程と、上記第1参照画像および第2参照画像を、互いに同じ所定角度だけ回転させ、上記第1被写体の特徴点および被写体領域に写る線の、第1参照画像と第2参照画像との間での上下方向におけるズレである第1上下ズレを算出する第4工程と、上記第3参照画像および第4参照画像の少なくとも一方を、上記相互回転角度差分および第1上下ズレを相殺するように、かつ互いに同じ上記所定角度だけ回転させるように補正し、上記第2工程で検出した第2被写体の特徴点の、第3参照画像と第4参照画像との間での上下方向におけるズレである第2上下ズレを算出する第5工程と、複数の上記所定角度について、上記第4工程および第5工程を行い、上記第2上下ズレが最小となる、上記所定角度および第1上下ズレを求める第6工程とを含み、上記第6工程にて求めた、上記第2上下ズレが最小となる、上記所定角度および第1上下ズレを相殺するように、上記第1画像および第2画像の少なくとも一方をトリミングする。
【0042】
従って、被写体距離に応じて、取得した左右2枚の画像間での上下ズレを低減することが可能であるという効果を奏する。
【図面の簡単な説明】
【0043】
【図1】本発明に係る画像補正方法の流れを示すフローチャートである。
【図2】図2の(a)および(b)は、本発明に係る立体画像撮影装置としての携帯電話の外観を、概略的に示す図である。
【図3】立体画像撮影に関連する、図2に示す携帯電話の主要構成を示す機能ブロック図である。
【図4】第1撮影部から取得した画像と、第2撮影部から取得した画像との間で発生する、垂直誤差および回転誤差を示す図である。
【図5】第1撮影部および第2撮影部から取得した両画像を、最適な配置となるように補正する技術の従来例を示す図である。
【図6】左目用画像と、右目用画像との間で、上下ズレが発生する原理を示す図である。
【図7】左目用画像と、右目用画像との間で、上下ズレが発生する原理を示す別の図である。
【図8】左目用画像と、右目用画像との間で、上下ズレが発生する原理を示すさらに別の図である。
【図9】左目用画像と、右目用画像との間で、上下ズレが発生する原理を示す他の図である。
【図10】左目用画像および右目用画像が並行となる回転角度が無限に存在することを示す図である。
【図11】図11の(a)〜(d)は、カメラの回転に伴って、カメラの平行移動に相当する現象が発生する原理を示す図である。
【図12】従来一般的な、画像の補正の一例を示す図である。
【図13】図12に係る画像の補正を、左カメラおよび右カメラの位置に置換した場合の、左カメラおよび右カメラの動きを示す概念図である。
【図14】左目用補正画像と右目用補正画像との間で上下ズレが発生している状態を示す図である。
【図15】互いに異なる回転角度のカメラの回転が発生して、左目用画像と右目用画像との間で、角度ズレが発生する様子を示す図である。
【図16】互いに異なる回転角度のカメラの回転が発生した場合に、画像のトリミングを行う要領を示す図である。
【図17】互いに同じ方向かつ同じ回転角度のカメラの回転、またはカメラの平行移動が発生して、左目用画像と右目用画像との間で、上下ズレが発生する様子を示す図である。
【図18】互いに同じ方向かつ同じ回転角度のカメラの回転、またはカメラの平行移動が発生した場合に、画像のトリミングを行う要領を示す図である。
【図19】一方のカメラの光軸が他方のカメラの光軸に対して上下方向にズレており、左目用画像と右目用画像との間で、上下ズレが発生する様子を示す図である。
【図20】光軸の上下方向へのズレが発生した場合に、画像のトリミングを行う要領を示す図である。
【図21】左目用画像と右目用画像との間で、左右ズレが発生する様子を示す図である。
【図22】光軸の左右方向へのズレが発生した場合に、画像のトリミングを行う要領を示す図である。
【図23】画像補正方法において検出する特徴点の座標の一覧を示す表である。
【図24】画像の切り出し座標の一覧を示す表である。
【図25】画像補正方法において使用する定数の一覧(一例)を示す表である。
【図26】画像補正方法において使用する変数の一覧を示す表である。
【図27】図27(a)は、画像A左から特徴点を検出する様子を示す図であり、図27(b)は、画像A右から特徴点を検出する様子を示す図であり、図27(c)は、画像B左から特徴点を検出する様子を示す図であり、図27(d)は、画像B右から特徴点を検出する様子を示す図である。
【発明を実施するための形態】
【0044】
〔立体画像撮影装置の構成例〕
図2の(a)および(b)は、本発明に係る立体画像撮影装置としての携帯電話の外観を、概略的に示す図である。
【0045】
図2の(b)に示すとおり、携帯電話(立体画像撮影装置)1は、前面部に、表示部(例えば、液晶表示部)2を備えている。また、図2の(a)に示すとおり、携帯電話1は、背面部に、第1カメラレンズ3および第2カメラレンズ4を備えている。
【0046】
表示部2は、タッチパネルの機能を備え、ユーザが表示部2に触れることにより、携帯電話1に対して様々な指示を入力することができるものであってもよい。
【0047】
第1カメラレンズ3および第2カメラレンズ4は、互いに所定間隔(数センチ程度)離間されている。これにより、立体画像の撮影時に、被写対象のシーン(被写体)を第1カメラレンズ3および第2カメラレンズ4を介して撮影すると、視差のある2枚の画像を取得することができる。
【0048】
携帯電話1としては、上記の構成に限定されず、ユーザが各種指示を入力する複数のボタンが配列された操作部に対し、折り畳み式の表示部が結合された構成、または、上記操作部を表示部に対して平行にスライドさせることが可能な構成等を採用してもよい。
【0049】
また、本発明に係る立体画像撮影装置を、携帯電話に限らず、デジタルカメラおよびPDA(Personal Digital Assistant:携帯情報端末)等の、携帯型電子機器全般に搭載することができる。さらに、本発明に係る立体画像撮影装置を、立体表示が可能なテレビ(3Dテレビ)に搭載することもできる。
【0050】
図3は、立体画像撮影に関連する、携帯電話1の主要構成を示す機能ブロック図である。
【0051】
図3に示すとおり、携帯電話1は、第1撮影部(第1カメラ)11、第2撮影部(第2カメラ)12、第1制御部13、第2制御部14、画像記憶部15、トリミング部16、および表示部17を備えている。第1撮影部11および第2撮影部12が、複数のカメラを備えたカメラ群を構成している。
【0052】
第1撮影部11は、第1カメラレンズ3、撮像素子、およびAD(Analog/Digital:アナログ/デジタル)変換器等を備えている。第2撮影部12は、第2カメラレンズ4、撮像素子、およびAD変換器等を備えている。撮像素子としては、CCD(Charge Coupled Device:電荷結合素子)またはCMOS(Complementary Metal Oxide Semiconductor:相補型金属酸化膜半導体)によって構成された固体撮像素子等が挙げられる。
【0053】
第1制御部13および第2制御部14はそれぞれ、DSP(Digital Signal Processor:デジタルシグナルプロセッサ)等を備えている。
【0054】
第1制御部13は、第1撮影部11の撮像素子が、被写対象のシーンによって露光される時間(シャッタ時間)および撮像素子による撮像信号の出力タイミング等を制御し、出力された撮像信号からゲインおよび画質等を調整した画像データを生成する。また、第1制御部13は、第1カメラレンズ3のレンズ位置情報(フォーカス情報)等の付随情報を検出する。第2制御部14も、制御対象が第1撮影部11から第2撮影部12へと変わる以外、第1制御部13と同じ構成を備えている。
【0055】
画像記憶部15は例えば、RAM(Random Access Memory:随時書込読出メモリ)によって構成されている。画像記憶部15は、第1制御部13が生成した画像データ(以下、「第1画像データ」と称する)、および第2制御部14が生成した画像データ(以下、「第2画像データ」と称する)を記憶する。また、画像記憶部15は、第1画像データ(第1画像)に対してトリミング部16によるトリミングを行った画像データ(以下、「第1補正画像データ」と称する)、および第2画像データ(第2画像)に対してトリミング部16によるトリミングを行った画像データ(以下、「第2補正画像データ」と称する)を記憶する。
【0056】
トリミング部16は、予め取得している画像補正パラメータに基づいて、第1画像データおよび第2画像データのトリミングを行う。すなわち、トリミング部16は、第1画像データに対して、所望の領域以外にある画像を切り取る画像処理を施すことにより、第1補正画像データを生成する。同じく、トリミング部16は、第2画像データに対して、所望の領域以外にある画像を切り取る画像処理を施すことにより、第2補正画像データを生成する。画像補正パラメータについての詳細な説明は後述する。
【0057】
表示部17は、画像記憶部15に記憶されている各種画像データを表示する。具体的に、表示部17は、第1画像データおよび第2画像データ、もしくは、第1補正画像データおよび第2補正画像データを用いて、ユーザが裸眼で視認できる立体画像を表示する。
【0058】
〔背景〕
実施の形態で説明する画像補正方法は、携帯電話1に関し、第1撮影部11および第2撮影部12からそれぞれ取得した左右2枚の画像の間で、所望の視差を実現するために、各画像のトリミングを行うための画像補正パラメータを得る方法である。
【0059】
第1撮影部11および第2撮影部12で撮影を行って、立体画像を取得するためには、第1撮影部11および第2撮影部12から取得した各画像内に写る、任意の被写体距離(カメラ群までの距離)にある被写体に対して、両画像間での角度ズレまたは上下ズレがないことが求められる。また、2基のカメラとしての第1撮影部11および第2撮影部12に関しては、光軸が平行であるか、所望の輻輳点で交わっている必要がある。
【0060】
しかしながら、カメラの構造的な工夫によって、カメラの組み立て精度や取り付け位置精度による誤差をなくすことは困難である。
【0061】
すなわち、大概の立体画像撮影装置には、機構の寸法の誤差、すなわち製造公差が存在する。
【0062】
上記製造公差を低減するためには、高精度の加工技術が必要となり、高精度の加工技術を採用すると、立体画像撮影装置の高コスト化を引き起こす。また、立体画像撮影装置を構成する各部品を保持する機構が大掛かりとなることから、上記製造公差を低減することは、立体画像撮影装置の大型化および高コスト化を引き起こす。
【0063】
このため、カメラから取得した画像の切り出し(トリミング)によって、カメラから取得した画像において、これらの誤差を調整する必要がある。つまり、組み立て直後の立体画像撮影装置における各カメラのズレ量は、装置毎にバラつきがある。このため、装置個別に撮影を行って装置毎にバラつきを確認し、装置毎にバラつきに応じた領域を切り出すことによって、上記上下ズレを補正する必要がある。
【0064】
上記上下ズレについては、特定の被写体距離にある被写体に対して、カメラ画像の回転および切り出しによって上記上下ズレを補正しても、別の被写体距離にある被写体を撮影すると上下ズレを生じることがある。
【0065】
〔立体画像撮影装置における画像補正の原理〕
カメラの平行移動およびアオリが発生する要因として、第1撮影部11および第2撮影部12それぞれの組み立て精度、および/または、携帯電話1への第1撮影部11および第2撮影部12の取り付け精度を、立体画像撮影装置の小型化およびコスト低減とのバランスにより、高くすることができないことが挙げられる。これらの精度を高くすることができないため、第1撮影部11から取得した画像と、第2撮影部12から取得した画像との間で、垂直誤差および回転誤差(上下ズレ)が発生する虞がある。垂直誤差は、一方の画像が他方の画像に対して、上下方向にシフトするように発生した上下ズレであり、図4に符号41で示している。一方、回転誤差は、一方の画像が他方の画像に対して、該一方の画像と略平行な面上を(光軸回りに)回転するように発生した上下ズレであり、図4に符号42で示している。
【0066】
そこで、従来、上記の垂直誤差および回転誤差を補正するため、携帯電話1の生産工程において、主にソフトウェアにより、第1撮影部11および第2撮影部12から取得した両画像を、最適な配置となるように補正する技術が知られている(図5参照)。図5では、各画像のトリミング、回転、および拡大・縮小といった、いわゆるISP(Image Signal Processor:イメージシグナルプロセッサ)処理を行い、各画像の補正を実現している。
【0067】
なお、「左目撮影画像」は、後述する左目用画像(ここでは、第1撮影部11から取得した画像)を示している。また、「右目撮影画像」は、後述する右目用画像(ここでは、第2撮影部12から取得した画像)を示している。
【0068】
〔上下ズレが発生する原理の詳細〕
以下、上下ズレが発生する原理の詳細について説明する。なお、説明の便宜上、図6〜図9を参照した下記の説明においては、携帯電話1の上記背面部において、左右のカメラの水平方向における配置の差が0であるものとしている。
【0069】
図6は、第1撮影部11としての、左目用の画像を撮影する左カメラ60から取得した画像と、第2撮影部12としての、右目用の画像を撮影する右カメラ61から取得した画像との間で、上下ズレが発生する原理を示す図である。
【0070】
以下、左カメラ60から取得した画像を「左目用画像(第1画像)」と称すると共に、右カメラ61から取得した画像を「右目用画像(第2画像)」と称する。
【0071】
図6において、左カメラ60を基準とした場合、右カメラ61は、左カメラ60に対する、上方向への平行移動(移動量y1)が発生している。また、右カメラ61は、左カメラ60に対する、上方向へのアオリ(傾き角度β1)が発生している。
【0072】
ここで、左カメラ60および右カメラ61により、水平である左カメラ60の光軸と同じ高さにある、テストチャート62の中心63を撮影する場合を考える。図6に示す例の場合、右カメラ61の平行移動に起因して、右カメラ61のレンズの中心と中心63とを通る直線が、中心63側が下となるように傾く。
【0073】
この結果、図6にファインダ画面Fを示すように、中心63の左目用画像63Lは、ファインダ画面Fの中央に位置する一方、中心63の右目用画像63Rは、ファインダ画面Fの中央から下側に位置する。右目用画像63Rとファインダ画面Fの下辺との距離をt1とする。
【0074】
また、図6では、該直線の傾きを考慮した、右カメラ61の見かけ上の(すなわち、右カメラ61より下にある中心63を撮影する場合の実質的な)アオリ角度を、傾き角度β2としている。
【0075】
図7は、左目用画像と、右目用画像との間で、上下ズレが発生する原理を示す別の図である。
【0076】
図7において、左カメラ60を基準とした場合、右カメラ61は、左カメラ60に対する、平行移動が発生していない(移動量y2=0)。また、図7において、右カメラ61は、左カメラ60に対する、上方向へのアオリ(図6と同じ傾き角度β2)が発生しているものとする。
【0077】
ここで、移動量y1と移動量y2とは異なり、かつ、傾き角度β1と傾き角度β2とは異なる。しかしながら、左目用画像(第1画像データに相当)における中心63の位置、および右目用画像(第2画像データに相当)における中心63の位置は、図6に示す例と図7に示す例とで一致する。
【0078】
すなわち、図7にファインダ画面Fを示すように、中心63の左目用画像63Lは、ファインダ画面Fの中央に位置する一方、中心63の右目用画像63Rは、ファインダ画面Fの中央から下側に位置する。ここで、右目用画像63Rとファインダ画面Fの下辺との距離をt2とすると、図6と図7とで右カメラ61の傾き角度β2が等しいため、距離t2は上記距離t1に等しくなる。
【0079】
つまり、ある1つの被写体距離の被写体を撮影した場合、左カメラ60および/または右カメラ61において、平行移動およびアオリが発生していても、両カメラから取得した両画像間においては、該被写体の上下ズレが一見一致しているように見える。
【0080】
つまり、ある1つの被写体距離の被写体を撮影するだけでは、取得した両画像間での上下ズレが、左カメラ60および/または右カメラ61における、平行移動に起因しているのか、それともアオリに起因しているのかを区別することができない。
【0081】
これに対し、異なる被写体距離にある複数の被写体を撮影すると、取得した両画像間での上下ズレが、左カメラ60および/または右カメラ61における、平行移動に起因しているのか、それともアオリに起因しているのかを区別できるようになる。この原理を、図8および図9に基づいて、以下に説明する。
【0082】
図8は、左目用画像と、右目用画像との間で、上下ズレが発生する原理を示すさらに別の図である。
【0083】
図9は、左目用画像と、右目用画像との間で、上下ズレが発生する原理を示す他の図である。
【0084】
右カメラ61の平行移動およびアオリに関しては、図6に示す例と図8に示す例とで同じであり、図7に示す例と図9に示す例とで同じである。
【0085】
一方、図8および図9に示す各例は、テストチャート62と異なる位置にテストチャート64を配置した点が、それぞれ図6および図7に示す各例と異なる。図8および図9において、テストチャート64は、テストチャート62より、左カメラ60および右カメラ61に近い位置に配置されており、その中心を中心65としている。
【0086】
ここで、左カメラ60および右カメラ61により、中心63および65を撮影する場合を考える。
【0087】
図8に示す例の場合、右カメラ61の平行移動に起因して、右カメラ61のレンズの中心と中心63とを通る直線が、中心63側が下となるように傾く。図8では、該直線の傾きを考慮した、テストチャート62に対する右カメラ61の見かけ上の(すなわち、右カメラ61より下にある中心63を撮影する場合の実質的な)アオリ角度を、傾き角度β2_1としている。
【0088】
さらに、図8に示す例の場合、右カメラ61の平行移動に起因して、右カメラ61のレンズの中心と中心65とを通る直線が、中心65側が下となるように傾く。図8では、該直線の傾きを考慮した、テストチャート64に対する右カメラ61の見かけ上の(すなわち、右カメラ61より下にある中心65を撮影する場合の実質的な)アオリ角度を、傾き角度β2_2としている。
【0089】
ここで、右カメラ61のレンズの中心と中心65とを通る直線は、右カメラ61のレンズの中心と中心63とを通る直線より、傾きが大きくなっている。従って、傾き角度β2_2は、傾き角度β2_1と異なる角度であり、傾き角度β2_1より大きくなっている。
【0090】
この結果、図8にファインダ画面Fを示すように、中心63の左目用画像63Lは、ファインダ画面Fの中央位置する一方、中心63の右目用画像63Rは、ファインダ画面Fの中央から下側に位置する。左目用画像63Lおよび右目用画像63Rのファインダ画面Fにおける位置は、傾き角度β2_1と傾き角度β2とが等しいならば、図6と同じである。一方、中心65の左目用画像65Lは、ファインダ画面Fの中央位置する一方、中心65の右目用画像65Rは、ファインダ画面Fの中央から右目用画像63Rよりさらに下側に位置する結果となる。
【0091】
一方、図9において、左カメラ60を基準とした場合、右カメラ61は、左カメラ60に対する、平行移動が発生していない(移動量y2=0)。また、図9において、右カメラ61は、左カメラ60に対する、上方向へのアオリ(傾き角度β2)が発生している。該上方向へのアオリに起因する右カメラ61のアオリ角度は、テストチャート62に対してもテストチャート64に対しても、傾き角度β2である(等しい)。
【0092】
この結果、図9にファインダ画面Fを示すように、中心63の左目用画像63Lは、ファインダ画面Fの中央に位置する一方、中心63の右目用画像63Rは、ファインダ画面Fの中央から下側に位置する。これに対し、中心65の左目用画像65Lは、ファインダ画面Fの中央位置する一方、中心65の右目用画像65Rは、中心63および中心65の右カメラ61の光軸に対する傾き角度β2が同じであるため、右目用画像63Rと同じ位置となる。
【0093】
このように、中心65の左目用画像65Lの位置は、図8に示す例と図9に示す例とで一致するが、中心65の右目用画像65Rの位置は、図8に示す例と図9に示す例との間で上下にズレる。
【0094】
すなわち、カメラのアオリのみが発生している場合には、図9に示すとおり、アオリは、被写体距離によらず同じ角度である。一方、カメラの上下の平行移動が発生すると、図8に示すとおり、被写体距離に応じて異なる、該カメラの見かけ上のアオリ角度が生じる。このことから、カメラのアオリに起因する撮影画像の上下方向のズレは、被写体距離によらず一定であるが、カメラの平行移動に起因する撮影画像の上下方向のズレは、被写体距離に応じて異なることが分かる。
【0095】
つまり、被写体距離が異なる複数の被写体を撮影することにより、取得した両画像間での上下ズレから、左カメラ60および/または右カメラ61における、平行移動とアオリとを区別することが可能となる。
【0096】
実際のカメラでは、左カメラ60と右カメラ61とを、左右方向に離して配置するので、ファインダ画面F上では、左目用画像63Lと右目用画像63Rとの間で、左右方向における位置がズレることになる。特に、図8のように、互いに異なる距離にテストチャート62および64が配置される場合には、テストチャートの距離によって、該左右方向における位置は異なる。例えば、図8のファインダ画面F内における、左目用画像63Lと右目用画像63Rとは、実際には互いに左右方向にズレる。
【0097】
なお、詳細は後述するが、実際の画像補正パラメータの算出においては、左カメラ60および右カメラ61のそれぞれが、遠方の被写体(テストチャート62)および近方の被写体(テストチャート64)のそれぞれを撮影して取得した、計4枚の画像を用いる。そして、各画像に写る同一の特徴点の座標を差し引きすることにより、左カメラ60および/または右カメラ61における、カメラの平行移動による移動量と、カメラのアオリによる傾き角度とを算出する。
【0098】
また、左目用画像および右目用画像から算出すべき両画像間での上下ズレの量としては、カメラの平行移動による移動量、カメラのアオリによる傾き角度のほか、カメラの回転による回転角度がある。カメラの回転に関しては、左目用画像および右目用画像が並行となる該回転角度が無限に存在するため、1つの被写体距離の被写体を撮影するだけでは、適切な画像補正パラメータを確定することができない。
【0099】
図10は、左目用画像および右目用画像が並行となる該回転角度が無限に存在することを示す図である。
【0100】
図10中、「左目撮影画像」は、左目用画像を示している。図10中、「右目撮影画像」は、右目用画像を示している。図10中、「左調整後画像」は、左目撮影画像を補正した画像を示している。図10中、「右調整後画像」は、右目撮影画像を補正した画像を示している。
【0101】
また、図10には、左目撮影画像および右目撮影画像を補正する案を2つ示しており、それぞれ、補正案1および補正案2と称している。
【0102】
補正案1および補正案2はいずれも、左目撮影画像および右目撮影画像の両方に写っている被写体100が互いに並行となるように、左目撮影画像および右目撮影画像を補正して、左調整後画像および右調整後画像を作成したものである。つまり、補正案1および補正案2ではいずれも、左調整後画像と右調整後画像との間で、被写体100が並行となっている。
【0103】
しかしながら、被写体100の天地が補正案1と補正案2とで異なっている。従って、補正案1および補正案2の少なくとも一方は、左調整後画像と右調整後画像との間で、被写体100が並行となるように補正されているにも関わらず、画像の補正が不適切となっていると認められる。ここでは、補正案1のトリミング領域を示す破線が傾いているので、補正案1の方で回転ズレが発生している。
【0104】
また、カメラの回転に起因する撮影画像の上下方向のズレは、カメラの平行移動に起因する撮影画像の上下方向のズレと同じく、被写体距離に応じて異なるものとなる。以下、この理由について説明する。
【0105】
図11の(a)〜(d)は、カメラの回転に伴って、カメラの平行移動に相当する現象が発生する原理を示す図である。
【0106】
図11の(a)および(c)では、左カメラ60および右カメラ61において、平行移動およびアオリがいずれも発生していないが、回転が発生した状態を示している。なお、図11の(a)および(c)は、左カメラ60のレンズ110の中心である中心111と、右カメラ61のレンズ112の中心である中心113とを通る直線、すなわち直線114が水平になるように図示したものである。
【0107】
一方、図11の(b)および(d)では、図11の(a)および(c)にそれぞれ示した状態を、左カメラ60が正立となるように図示したものである。図11の(a)と図11の(b)とは等価であり、図11の(c)と図11の(d)とは等価である。
【0108】
図11の(b)および(d)によれば、左カメラ60を正立させた状態にすると、直線114が左目用画像における水平方向(上下方向に対して垂直な方向)と一致していない。直線114が左目用画像における水平方向に対して傾いているということは、すなわち、中心111に対して中心113が、上下方向にズレているということを意味している。換言すれば、左カメラ60に対する右カメラ61の平行移動に相当する現象が起こっている。図示しないが、右カメラ61が正立となる場合についても同様である。
【0109】
1つの画像から算出した画像補正パラメータの候補を、別の被写体距離で撮影した被写体の画像に適用すると、回転角度に対するパラメータが誤っている場合、補正後の画像に垂直ズレを生じてしまうが、正しい該パラメータの場合、垂直ズレを生じない。そこで、詳細は後述するが、携帯電話1の生産工程においても複数の被写体距離にて撮影を行い、左目用画像および右目用画像の双方にて、両画像間での上下ズレが最も小さくなる該パラメータを、正しい該パラメータとして採用する方式を選択している。
【0110】
〔上下ズレについてのまとめ〕
左右2つのカメラにより立体画像を撮影する、いわゆる2眼3Dカメラは、カメラ単体の組み付け精度や、2つのカメラの取り付け位置精度により、左右の各目用の取得画像間において、被写体の位置ズレが生じ得る。該位置ズレの主たる要因としては、カメラのアオリおよびカメラの回転等が挙げられ、その他にも、カメラの左右方向への傾きズレが、該位置ズレの要因となる場合もある。
【0111】
上記位置ズレは、左目用画像および右目用画像に対する、回転、平行移動、ならびにトリミングを行うことで補正することが可能である。
【0112】
従来、左目用画像および右目用画像の一方を基準として、他方の画像に角度ズレがあれば回転角度の補正を、上下左右の位置ズレがあれば平行移動による補正を行ってきた。
【0113】
図12は、従来一般的な、画像の補正の一例を示す図である。図12には、左目用画像120を基準として、右目用画像121を補正する例を示している。
【0114】
左目用画像120は、基準であるので、回転角度および上下左右の位置が維持されたままでトリミングが行われ、左目用補正画像122となる。
【0115】
一方、右目用画像121は、回転角度が左目用画像120と等しくなるように回転角度の補正が行われると共に、上下左右の位置が左目用画像120と等しくなるように平行移動による補正が行われる。換言すれば、右目用画像121は、該回転角度の補正および該平行移動による補正を反映するようにトリミングが行われ、右目用補正画像123となる。
【0116】
なお、上記回転角度の補正は、回転中心をどこにするかにより結果が変わり、これにより、上記平行移動による補正による補正量も変化する。例えば、図12に示す例では、該回転角度の補正において、画像の中心を回転中心として右画像を左に回転させた場合、被写体の上下方向に対する補正量は、非常に小さくなり、ほぼゼロとなる。上記のように、回転角度の補正がある場合には、回転の補正と平行移動とは独立した項目ではない。結果、回転補正により、画像の上下の軸自体が回転する。
【0117】
図13は、図12に係る画像の補正を、左カメラ60および右カメラ61の位置に置換した場合の、左カメラ60および右カメラ61の動きを示す概念図である。
【0118】
図12に係る画像の補正により、左カメラ60および右カメラ61において、カメラのアオリまたはカメラの回転が発生していない場合と同じ画像が得られることを、図13に示している。
【0119】
しかしながら、左カメラ60および右カメラ61は、項目〔立体画像撮影装置における画像補正の原理〕で述べたとおり、上下ズレの要因となる回転誤差を有している場合がある。この場合、左目用画像および右目用画像の一方に写る被写体に、他方の画像に写る被写体を一致させたとしても、左カメラ60のレンズの中心と、右カメラ61のレンズの中心とを通る直線(すなわち、図11の(a)および(b)に示す直線114)が、左目用補正画像122および右目用補正画像123における水平方向と一致するとは限らない(図11(a)〜(d)参照)。
【0120】
上記直線が上記水平方向と一致しない状態で図12および図13に示す補正が完了した左目用補正画像122および右目用補正画像123は、被写体距離によって、被写体間での上下ズレの量が異なる。該上下ズレが発生していると、図12に示す平行移動による補正では、該上下ズレを解消することができない場合がある。
【0121】
図14は、左目用補正画像122と右目用補正画像123との間で上下ズレが発生している状態を示す図である。
【0122】
被写体141および142は、左目用補正画像122と右目用補正画像123との間で上下ズレを発生している。また、被写体141と被写体142とは、互いに異なる被写体距離となっているが、被写体141における該上下ズレのズレ量は、被写体142における該上下ズレのズレ量と異なっている。
【0123】
〔上下ズレを補正する方法の概要〕
以下、左目用画像と右目用画像との間での上下ズレを補正する方法の概要について説明する。
【0124】
左目用画像および右目用画像のトリミングを調整することで、これらの画像から立体画像を得ることが可能となる。
【0125】
左カメラ60および右カメラ61において、互いのカメラに回転角度の差(相対的な回転差)が発生すると、左目用画像と右目用画像との間で、角度ズレが発生する(図15参照)。
【0126】
図16は、上記互いに異なる回転角度のカメラの回転が発生した場合に、画像のトリミングを行う要領を示す図である。
【0127】
図16によれば、左目用画像160に写る被写体164および165は、右目用画像161に写る被写体164および165と異なる方向を向いている。このように、左目用画像160と右目用画像161との間で、被写体164および165が互いに異なる方向を向いていると、被写体164および165は立体画像に見えない。
【0128】
そこで、画像の回転角度の補正により、左目用画像160に写る被写体164および165の向きと、右目用画像161に写る被写体164および165の向きとを揃えると、被写体164および165は立体画像に見える。図16には、該画像の回転角度の補正に従って左目用画像160をトリミングした左目用補正画像162と、該画像の回転角度の補正に従って右目用画像161をトリミングした右目用補正画像163とを示している。なお、左目用画像160と右目用画像161とで被写体164および165の向きを揃えるような補正を行うためには、被写体164および165が2点以上の特徴点を有している必要がある。
【0129】
また、左カメラ60および右カメラ61において、互いに同じ方向かつ同じ回転角度のカメラの回転、またはカメラの平行移動が発生すると、左目用画像と右目用画像との間で、上下ズレが発生する(図17参照)。
【0130】
図18は、上記互いに同じ方向かつ同じ回転角度のカメラの回転、またはカメラの平行移動が発生した場合に、画像のトリミングを行う要領を示す図である。
【0131】
図18によれば、左目用画像160に写る被写体164および165は、右目用画像161に写る被写体164および165に対して、上下ズレを発生している。このように、左目用画像160と右目用画像161との間で、被写体164および165に上下ズレが発生していると、被写体164および165は立体画像に見えない。加えて、図18に係る上下ズレは、被写体距離に応じて上下方向のズレ量が変わるので、被写体164と被写体165とでは、該ズレ量が異なる。
【0132】
被写体距離に応じて上下方向のズレ量が変わる場合、画像の平行移動による補正を行うだけでは、図18に係る上下ズレを適切に補正することができない。そこで、画像の回転角度の補正を行うことにより、該上下ズレを適切に補正することが可能となる。図18には、該画像の回転角度の補正に従って左目用画像160をトリミングした左目用補正画像162と、該画像の回転角度の補正に従って右目用画像161をトリミングした右目用補正画像163とを示している。なお、画像の回転角度の補正を行うためには、被写体164および165として示すように、被写体距離が異なる複数の被写体が必要である。
【0133】
また、カメラのアオリ等に起因して、左カメラ60および右カメラ61において、一方のカメラの光軸が他方のカメラの光軸に対して上下方向にズレていると、左目用画像と右目用画像との間で、上下ズレが発生する(図19参照)。
【0134】
図20は、上記の光軸の上下方向へのズレが発生した場合に、画像のトリミングを行う要領を示す図である。
【0135】
図20によれば、左目用画像160に写る被写体164および165は、右目用画像161に写る被写体164および165に対して、上下ズレを発生している。このように、左目用画像160と右目用画像161との間で、被写体164および165に上下ズレが発生していると、被写体164および165は立体画像に見えない。但し、図20に係る上下ズレは、被写体距離によらず上下方向のズレ量が同じであるので、被写体164と被写体165とでは、該ズレ量が同じとなる。
【0136】
そこで、画像の平行移動による補正により、左目用画像160に写る被写体164および165の上下方向の位置と、右目用画像161に写る被写体164および165の上下方向の位置とを揃えることにより、図20に係る上下ズレを解消することが可能となる。図20には、該画像の平行移動による補正に従って左目用画像160をトリミングした左目用補正画像162と、該画像の平行移動による補正に従って右目用画像161をトリミングした右目用補正画像163とを示している。
【0137】
また、左カメラ60の光軸と右カメラ61の光軸とが、並行でないか所望の輻輳点で交差していない場合、左目用画像と右目用画像との間で、左右ズレが発生する(図21参照)。
【0138】
図22は、上記の光軸の左右方向へのズレが発生した場合に、画像のトリミングを行う要領を示す図である。
【0139】
図22によれば、左目用画像160と右目用画像161との間で、被写体164および165に発生する左右方向へのズレが大きい場合、被写体164および165が、立体画像に見えなかったり、所望の位置より手前または奥に見えたりする。
【0140】
そこで、画像の平行移動による補正により、左目用画像160に写る被写体164および165の左右方向の位置と、右目用画像161に写る被写体164および165の左右方向の位置とを揃えることにより、左右方向へのズレを解消することが可能となる。図22には、左目用画像160をトリミングした左目用補正画像162と、右目用画像161をトリミングした右目用補正画像163とを示している。この場合、被写体164および165は、被写体距離が既知である必要がある。
【0141】
実施の形態で説明する画像補正方法においては、互いに異なる被写体距離にある2つ以上の被写体を用いて、該被写体の一方が1つ以上の特徴点を有しており、該被写体の他方が2つ以上の特徴点を有している必要がある。
【0142】
〔画像補正方法のポイント〕
実施の形態で説明する画像補正方法においては、左目用画像および右目用画像から、「傾いた長方形」を切り出すことで、左右2基のカメラ(すなわち、左カメラ60および右カメラ61)間での、角度ズレおよび上下方向のズレ等を補正する。
【0143】
従来の方法では、左目用画像と右目用画像との間での、相対的なズレを補正していた。左右2基のカメラが同じ方向に同じ角度回転している場合、左目用画像と右目用画像との間での上下ズレが生じるが、従来の方法では、左目用画像および/または右目用画像のトリミング位置を上下方向にずらすことで、該上下ズレを補正していた。
【0144】
しかしながら、左右2基のカメラが同じ方向に同じ角度回転している場合、被写体距離に応じて上下方向のズレ量が変わるため、従来の方法では、あらゆる被写体距離にある被写体に合わせて上下ズレを補正することはできなかった。
【0145】
そこで、実施の形態で説明する画像補正方法においては、左カメラのレンズの中心と、右カメラのレンズの中心とを通る直線を、絶対的な基準線として、該基準線に対して、画像のずれを補正する。これにより、被写体がどの距離にあっても、上下ズレを補正することが可能となる。
【0146】
実施の形態で説明する画像補正方法に係る、画像の補正手順は、図1を参照すると、以下のとおりである。
【0147】
(手順1:S1)異なる2つの距離(被写体距離)AおよびBに対して、距離Aにある、検出可能な特徴点を少なくとも2つ有する被写体a(第1被写体)と、距離Bにある、検出可能な特徴点を少なくとも1つ有する被写体b(第2被写体)とを、左右2基のカメラで撮影する。左カメラ(第1カメラ)が被写体aを撮影(取得)した画像を左目用画像a(第1参照画像)とし、右カメラ(第2カメラ)が被写体aを撮影した画像を右目用画像a(第2参照画像)とし、左カメラが被写体bを撮影した画像を左目用画像b(第3参照画像)とし、右カメラが被写体bを撮影した画像を右目用画像b(第4参照画像)とする。なお、左目用画像aと左目用画像bとは、異なる画像であってもよいし、同一の画像であってもよい。右目用画像aと右目用画像bとについても同様に、異なる画像であってもよいし、同一の画像であってもよい。すなわち、被写体aおよび被写体bの両方が写るように、左カメラによる撮影および右カメラによる撮影の少なくとも一方を行ってもよい。換言すれば、左カメラのみが、1つの画像に被写体aおよび被写体bが写るように撮影を行ってもよいし、右カメラのみが、1つの画像に被写体aおよび被写体bが写るように撮影を行ってもよいし、左右両方のカメラが、1つの画像に被写体aおよび被写体bが写るように撮影を行ってもよい。
【0148】
(手順2:S2)左目用画像aおよび右目用画像aから被写体aの特徴点を2つ以上検出し、左目用画像bおよび右目用画像bから被写体bの特徴点を1つ以上検出する。
【0149】
(手順3:S3)被写体aの2つの特徴点から、左右2基のカメラ間の相対的な角度差分、すなわち左カメラの光軸を中心とする左カメラの回転角度に対する、右カメラの光軸を中心とする右カメラの回転角度の差分(Δθ:相互回転角度差分)を算出する。そして、左目用画像aおよび右目用画像aに対して、Δθを相殺するようにΔθによる回転角度の補正を行う。すなわち、この段階で、左目用画像aに対する回転角度の補正係数をΔθ/2とし、右目用画像aに対する回転角度の補正係数を−Δθ/2とする。
【0150】
(手順4:S4)(手順3)による補正後における、左目用画像aおよび右目用画像aの両方を、任意の角度(Δφ:所定角度)回転させる。そして、被写体aの2個の特徴点の、左目用画像aと右目用画像aとの間での上下方向における差分(ΔY:第1上下ズレ)を算出する。
【0151】
(手順5:S5)左目用画像bおよび右目用画像bの両方を、Δθ、Δφ、およびΔYに基づいて、ΔθおよびΔYを相殺するように、かつΔφ回転させて補正する。すなわち、左目用画像bに対する補正係数は、
回転角度:Δθ/2+Δφ
上下移動:ΔY/2
とし、右目用画像bに対する補正係数は、
回転角度:−Δθ/2+Δφ
上下移動:−ΔY/2
とする。その後、被写体bの特徴点の、左目用画像bと右目用画像bとの間での上下方向におけるズレ(ΔY´:第2上下ズレ)を算出する。
【0152】
(手順6:S61およびS62)複数のΔφについて(手順4)および(手順5)に示す操作を繰り返し行い、ΔY´が最小となるΔφおよびΔYを求める。
【0153】
(手順7:S7)左目用画像aおよび右目用画像aに写る被写体a同士が、また、左目用画像bおよび右目用画像bに写る被写体b同士が、無限遠または所望の輻輳点で重なるように、補正すべき距離(ΔX)を求める。
【0154】
(手順1)〜(手順7)を行った結果、左カメラ(第1撮影部11)から取得した左目用画像(第1画像データに相当)に対する補正係数は、
回転角度:Δθ/2+Δφ
上下移動:ΔY/2
左右移動:ΔX/2
とし、右カメラ(第2撮影部12)から取得した右目用画像(第2画像データに相当)に対する補正係数は、
回転角度:−Δθ/2+Δφ
上下移動:−ΔY/2
左右移動:−ΔX/2
とする。
【0155】
その後、上記の、左目用画像に対する補正係数、および右目用画像に対する補正係数を、画像補正パラメータとしてトリミング部16(図3参照)に供給する。画像記憶部15にそれぞれ記憶される、第1画像データとしての左目用画像および第2画像データとしての右目用画像を参照して、トリミング部16は、該画像補正パラメータに基づいて(該画像補正パラメータにより規定される補正を反映するように)、左目用画像および右目用画像のトリミングを行い、第1補正画像データおよび第2補正画像データを生成する。これにより、本発明に係る画像補正方法により、左目用画像および右目用画像それぞれの補正を行う携帯電話1を実現することができる。
【0156】
なお、手順3では、左目用画像aおよび右目用画像aの両方に対して、Δθによる回転角度の補正を行ったが、左目用画像aおよび右目用画像aのいずれか一方を補正する手法を採用してもよい。
【0157】
また、手順5では、左目用画像bおよび右目用画像bの両方に対して、Δθ、Δφ、およびΔYに基づく補正を行ったが、このうちΔθおよびΔYに関しては、左目用画像bおよび右目用画像bのいずれか一方を補正する手法を採用してもよい。一方、Δφに関しては、左目用画像bおよび右目用画像bの、同方向および同角度の回転補正であるため、いずれか一方を補正することはできず、両方を補正する必要がある。
【0158】
さらに、上記の各手順では、左目用画像および右目用画像の両方をトリミングするものとして説明を行ったが、トリミングにより立体画像が取得できるのであれば、左目用画像および右目用画像のいずれか一方をトリミングしてもよい。
【0159】
ここで、上記画像補正方法を行う際のポイントについて説明する。
【0160】
上述したとおり、左目用画像と右目用画像との間で、被写体のズレが発生する要因としては、(要因A)〜(要因D)の4つが挙げられる。
【0161】
(要因A)左カメラおよび右カメラ間での回転角度の差(相対的な回転差)によるズレ。
【0162】
(要因B)左カメラおよび右カメラが同方向に同じ回転角度だけ回転したことによるズレ、または左カメラおよび右カメラ間での上下方向の取り付け位置ズレ。
【0163】
(要因C)左カメラおよび右カメラの各光軸間での、上下方向の傾きによるズレ。
【0164】
(要因D)左カメラおよび右カメラの各光軸間での、左右方向の傾きによるズレ。
【0165】
(要因B)に係るカメラの上下方向の取り付け位置ズレは、2基のカメラの各々のレンズの中心位置を通る直線を水平とみなすと、(要因B)に係るカメラの同方向かつ同じ回転角度の回転によるズレと等価として扱うことができる。
【0166】
(要因A)〜(要因D)のうち、左目用画像と右目用画像との間での上下ズレを生じさせるのは(要因B)および(要因C)である。(要因B)に係る上下ズレは、被写体距離によって上下方向へのズレ量が変わるのに対し、(要因C)に係る上下ズレのズレ量は、被写体距離によらない。そのため、(要因B)と(要因C)とで個別に補正を行う必要があるが、特定の距離にある被写体を撮影するだけではこれらを区別することはできない。上記画像補正方法を用いれば、(要因B)と(要因C)とを別々に補正する形で、画像の調整を行うことができる。
【0167】
なお、上記(手順2)では、被写体aから2つの特徴点を検出している。一方、上記(手順2)では、被写体aから2つの特徴点を検出する代わりに、被写体aから1つの特徴点を検出し、かつ左目用画像aに対する右目用画像aの回転角度が特定可能なものを、左目用画像aおよび右目用画像aから検出しても、同様の方法が実施可能である。なお、この線は、被写体として写っているものである必要は無い。換言すれば、左目用画像aおよび右目用画像aにおいて、被写体aおよびその周辺(背景等)を被写体領域として撮影し、左目用画像aおよび右目用画像aから、該被写体領域に写る線を検出すればよい。
【0168】
具体的には、左目用画像aおよび右目用画像aから、Δθを算出するためには、左目用画像aおよび右目用画像aから、左目用画像aに対する右目用画像aの回転角度を特定することが可能なもの、すなわち、左目用画像aおよび右目用画像aの両方に写る線を検出すれば十分である。一方、左目用画像aおよび右目用画像aから、ΔYを算出するためには、被写体aの特徴点を1つ以上検出する必要がある。
【0169】
また、左目用画像に対する補正係数、および右目用画像に対する補正係数を、画像補正パラメータとしてトリミング部16に供給するタイミングは、携帯電話1の製品としての出荷前であってもよい。また、該タイミングは、携帯電話1の出荷後、例えば携帯電話1の修理時であってもよい。
【0170】
なお、手順1が第1工程に、手順2が第2工程に、手順3が第3工程に、手順4が第4工程に、手順5が第5工程に、手順6が第6工程に、手順7が第7工程に、それぞれ該当する。
【0171】
〔画像補正方法の具体例〕
図23は、画像補正方法において検出する特徴点の座標の一覧を示す表である。
【0172】
図24は、画像の切り出し座標の一覧を示す表である。
【0173】
図25は、画像補正方法において使用する定数の一覧(一例)を示す表である。
【0174】
図26は、画像補正方法において使用する変数の一覧を示す表である。なお、図26に記載していない変数については、便宜上、以下の各ステップ内で定義している。
【0175】
(ステップ1:被写体距離Aおよび被写体距離Bの被写体を、左右2基のカメラで撮影し、それぞれの画像に写る特徴点の座標を検出する)
まず、被写体距離Aの被写体(第1被写体)を左カメラ(第1カメラ)で撮影した画像をA左(第1参照画像)、被写体距離Aの被写体を右カメラ(第2カメラ)で撮影した画像をA右(第2参照画像)とする。
【0176】
続いて、被写体距離Bの被写体(第2被写体)を左カメラで撮影した画像をB左(第3参照画像)、被写体距離Bの被写体を右カメラで撮影した画像をB右(第4参照画像)とする。
【0177】
続いて、画像A左から、特徴点A1およびB1を検出する(図27(a)参照)と共に、画像A右から、特徴点A1およびB1に対応する特徴点A2およびB2を検出する(図27(b)参照)。続いて、画像B左から、特徴点A3を検出する(図27(c)参照)と共に、画像B右から、特徴点A3に対応する特徴点A4を検出する(図27(d)参照)。なお、これらの各特徴点の検出は、周知慣用技術で実現可能であるので、詳細な説明は省略する。
【0178】
(ステップ2:画像A左と画像A右との、回転方向の角度の差を算出し、画像A左と画像A右とが互いに水平となる回転角度を算出する)
(イ)画像A左から算出した2つの特徴点を結ぶ直線の傾きを算出する。すなわち、
点A1と点B1とを結ぶ直線の水平に対する傾き:
θ1=ATAN2((X12-X11),(Y12-Y11))
を算出する。
【0179】
(ロ)画像A右から算出した2つの特徴点を結ぶ直線の傾きを算出する。すなわち、
点A2と点B2とを結ぶ直線の水平に対する傾き:
θ2=ATAN2((X22-X21),(Y22-Y21))
を算出する。ATAN2とは、三角関数のアークタンジェントを求める一般的な関数であり、ある点の座標(x,y)と原点を結ぶ線の傾き(角度、単位はラジアン)を求める。
【0180】
(ハ)上記(イ)および(ロ)の算出結果から、左カメラから取得した画像および右カメラから取得した画像のそれぞれの、調整回転角度(θL1、θR1)を算出する。すなわち、
左画像(左カメラから取得した第1画像)調整回転角度:θL1=(θ2−θ1)/2
右画像(右カメラから取得した第2画像)調整回転角度:θR1=−(θL1)
を算出する。
【0181】
(ステップ3:左カメラおよび右カメラ共通の、最適な回転ズレの角度を算出する)
算出手順としては、左カメラから取得した画像と右カメラから取得した画像とで共通の、回転補正量Δφを変化させて、下記(イ)〜(ホ)を繰り返す。
【0182】
なお、一例として、回転補正量Δφを変化させる範囲およびステップは、以下のとおりとする。
【0183】
開始角度:−10°
終了角度:10°
変化ステップ:0.01°
但し、回転補正量Δφを変化させる範囲、回転補正量Δφを変化させるステップは任意である。原理的には、左右90°の範囲で、どのような細かさ(ステップ)で、回転補正量Δφを変化させても問題ない。
【0184】
(イ)ステップ2で算出した左画像調整回転角度および右画像調整回転角度に、回転補正量Δφを加えた角度を算出する。すなわち、
左右カメラ共通の回転ズレΔφを加えた左画像調整回転角度:θL2=θL1+Δφ
左右カメラ共通の回転ズレΔφを加えた右画像調整回転角度:θR2=θR1+Δφ
を算出する。
【0185】
(ロ)点A1と点B1とを回転角θL2で回転させたときの座標、および点A2と点B2とを回転角θR2で回転させたときの座標を算出する。
【0186】
まず、回転の中心軸を画像の中心と仮定して回転を行う。画像A左および画像A右の中央の座標(Xcenter,Ycenter)を算出する。すなわち、
Xcenter=Size_O_x/2
Ycenter=Size_O_y/2
を算出する。
【0187】
続いて、回転中心座標(Xcenter,Ycenter)を中心として、点A1および点B1の移動先の座標を算出する。すなわち、
点A1の回転先の点A1´(X11',Y11')の座標:
X11'=(X11-Xcenter)*COS(θL2)-(Y11-Ycenter)*SIN(θL2)+Xcenter
Y11'=(X11-Xcenter)*SIN(θL2)+(Y11-Ycenter)*COS(θL2)+Ycenter
点B1の回転先の点B1´(X12',Y12')の座標:
X12'=(X12-Xcenter)*COS(θL2)-(Y12-Ycenter)*SIN(θL2)+Xcenter
Y12'=(X12-Xcenter)*SIN(θL2)+(Y12-Ycenter)*COS(θL2)+Ycenter
を算出する。
【0188】
続いて、回転中心座標(Xcenter,Ycenter)を中心として、点A2および点B2の移動先の座標を算出する。すなわち、
点A2の回転先の点A2´(X21',Y21')の座標:
X21'=(X21-Xcenter)*COS(θR2)-(Y21-Ycenter)*SIN(θR2)+Xcenter
Y21'=(X21-Xcenter)*SIN(θR2)+(Y21-Ycenter)*COS(θR2)+Ycenter
点B2の回転先の点B2´(X22',Y22')の座標:
X22'=(X22-Xcenter)*COS(θR2)-(Y22-Ycenter)*SIN(θR2)+Xcenter
Y22'=(X22-Xcenter)*SIN(θR2)+(Y22-Ycenter)*COS(θR2)+Ycenter
を算出する。
【0189】
(ハ)上記(ロ)で算出した座標値から、画像A左と画像A右との間での、X方向の傾きによるズレ(水平のアオリ)およびY方向の傾きによるズレ(垂直のアオリ)を算出する。
【0190】
まず、回転補正後の座標である、点A1´および点A2´の座標から、画像A左と画像A右との間での、X方向およびY方向のズレ量を算出する。すなわち、
点A1´と点A2´との間でのX方向のズレ:ΔX=X21'-X11'
点A1´と点A2´との間でのY方向のズレ:ΔY=Y21'-Y11'
を算出する。
【0191】
続いて、左カメラから取得した画像と右カメラから取得した画像とのそれぞれにおける、X方向およびY方向の補正量を算出する。すなわち、
左画像X方向補正量:ΔXL=ΔX/2
左画像Y方向補正量:ΔYL=ΔY/2
右画像X方向補正量:ΔXR=−(ΔXL)
右画像Y方向補正量:ΔYR=−(ΔYL)
を算出する。
【0192】
(ニ)点A3を回転角度θL2で回転させたときの座標、および点A4を回転角θR2で回転させたときの座標を算出する。
【0193】
まず、回転の中心軸を画像の中心と仮定して回転を行う。回転中心座標(Xcenter,Ycenter)を中心として、点A3および点A4の移動先の座標を算出する。すなわち、
点A3の回転先の点A3´(X31',Y31')の座標:
X31'=(X31-Xcenter)*COS(θL2)-(Y31-Ycenter)*SIN(θL2)+Xcenter
Y31'=(X31-Xcenter)*SIN(θL2)+(Y31-Ycenter)*COS(θL2)+Ycenter
点A4の回転先の点A4´(X41',Y41')の座標:
X41'=(X41-Xcenter)*COS(θR2)-(Y41-Ycenter)*SIN(θR2)+Xcenter
Y41'=(X41-Xcenter)*SIN(θR2)+(Y41-Ycenter)*COS(θR2)+Ycenter
を算出する。
【0194】
続いて、上記回転後の点A3´と点A4´とをY方向に移動させたときの座標を算出する。すなわち、
点A3の移動先の点A3´´のY座標(Y31''):Y31''=Y31'+ΔYL
点A4の移動先の点A4´´のY座標(Y41''):Y41''=Y41'+ΔYR
を算出する。
【0195】
(ホ)上記(ニ)で算出した移動後の座標におけるY座標間誤差を算出する。
【0196】
点Y31''と点Y41''座標のY方向の誤差を算出する。すなわち、
Y31''とY41''とのY方向のズレ:ΔY´=Y41''−Y31''
を算出する。
【0197】
(ヘ)回転補正量Δφの値を変化させて、上記(イ)〜(ホ)を繰り返す。
【0198】
(ト)上記(イ)〜(ヘ)を繰り返し実行し、(ホ)で算出したΔY´が最小となるときの回転補正量Δφの値を、最適調整回転角であると判断し、その時の補正量を最適な補正量とする。
【0199】
まず、Y座標間誤差(ΔY´)が最小となる回転補正量Δφを探し、その角度を最適な共通調整角Δθとする。
【0200】
続いて、左カメラから取得した画像および右カメラから取得した画像の最適調整回転角度を算出する。すなわち、
最適な左画像調整回転角度:θL3=θL1+Δθ
最適な右画像調整回転角度:θR3=θR1+Δθ
を算出する。
【0201】
続いて、共通の回転補正量ΔφをΔθと等しくしたときの、画像A左と画像A右との、X方向補正量(ΔXLおよびΔXR)ならびにY方向補正量(ΔYLおよびΔYR)を最適な補正量と決める。
【0202】
(ステップ4:逆補正量を算出する)
上記ステップ3の(ト)で求めた最適調整量の逆補正値を算出する。すなわち、
最適な左カメラ側調整回転角度(逆補正値):θL4=−θL3
最適な右カメラ側調整回転角度(逆補正値):θR4=−θR3
左カメラ側X方向補正量(逆補正値):ΔXL´=−ΔXL
右カメラ側X方向補正量(逆補正値):ΔXR´=−ΔXR
左カメラ側Y方向補正量(逆補正値):ΔYL´=−ΔYL
右カメラ側Y方向補正量(逆補正値):ΔYR´=−ΔYR
を算出する。
【0203】
(ステップ5:左右画像それぞれの切り出し座標を算出する)
(イ)元画像のサイズおよび切り出しサイズから、切り出す座標を算出する為の基準点(補正量がすべて0のときの切り出し座標)を算出する。但し、本来、該基準点は定数であるので計算不要である。
【0204】
まず、左画像の切り出し基準点をA5、B5、C5、D5とする。また、右画像の切り出し基準点をA6、B6、C6、D6とする。そして、A5、B5、C5、D5に関しては、
点A5の座標(X51,Y51):
X51=(Size_O_x−Size_S_x)/2
Y51=(Size_O_y−Size_S_y)/2
点B5の座標(X52,Y52):
X52=X51+(Size_S_x−1)
Y52=Y51
点C5の座標(X53,Y53):
X53=X51
Y53=Y51+(Size_S_y−1)
点D5の座標(X54,Y54):
X54=X52
Y54=Y53
を算出する。A6、B6、C6、D6に関しても同様に、点A6の座標(X61,Y61)、点B6の座標(X62,Y62)、点C6の座標(X63,Y63)、および点D6の座標(X64,Y64)をそれぞれ算出する。
【0205】
(ロ)上記(イ)で算出した左右基準点(全部で8点)の座標を、上記ステップ4で算出したX方向補正量(逆補正値)、およびY方向補正量(逆補正値)で移動させたときの座標を算出する。すなわち、
点A5の移動先の点A5´の座標(X51',Y51'):
X51'=X51+ΔXL´
Y51'=Y51+ΔYL´
(同様に点B5´/点C5´/点D5´のY座標を算出する)
点A6の移動先の点A6´の座標(X61',Y61'):
X61'=X61+ΔXR´
Y61'=Y61+ΔYR´
(同様に点B6´/点C6´/点D6´のY座標を算出する)
を算出する。
【0206】
(ハ)画像の中央の座標(Xcenter,Ycenter)を中心として、上記ステップ4で算出した最適調整回転角(逆補正値)で、上記(イ)で求めた8点を回転したときの座標を算出する。すなわち、
点A5の回転先の点A5´´(S_X51,S_Y51)の座標:
S_X51=(X51'-Xcenter)*COS(θL4)-(Y51'-Ycenter)*SIN(θL4)+Xcenter
S_Y51=(X51'-Xcenter)*SIN(θL4)+(Y51'-Ycenter)*COS(θL4)+Ycenter
(同様に点B5´´/点C5´´/点D5´´の座標を算出する)
点A6の回転先の点A6´´(S_X61,S_Y61)の座標:
S_X61=(X61'-Xcenter)*COS(θR4)-(Y61'-Ycenter)*SIN(θR4)+Xcenter
S_Y61=(X61'-Xcenter)*SIN(θR4)+(Y61'-Ycenter)*COS(θR4)+Ycenter
(同様に点B6´´/点C6´´/点D6´´の座標を算出する)
(ステップ6:終了)
ステップ5により決定された左右画像それぞれの切り出し座標を、画像補正パラメータとしてトリミング部16(図3参照)に供給する。画像記憶部15にそれぞれ記憶される、第1画像データとしての左画像および第2画像データとしての右画像を参照して、トリミング部16は、該画像補正パラメータに基づいて、左画像および右画像のトリミングを行い、第1補正画像データおよび第2補正画像データを生成する。これにより、本発明に係る画像補正方法により、左右画像それぞれの補正を行う携帯電話1を実現することができる。
【0207】
また、本発明の立体画像撮影装置は、上記第1カメラの取り付け位置を、上記第2カメラに対して上下方向にズラした場合に、上記トリミング部により上記第1画像をトリミングして得られた画像、および上記トリミング部により上記第2画像をトリミングして得られた画像の両方が、互いに同じ回転角度により回転される。
【0208】
本発明の画像補正方法によれば、立体画像撮影装置における第1カメラの取り付け位置を、第2カメラに対して上下方向に敢えてズラした場合、それに伴い、第1カメラの中心と第2カメラの中心とを通る直線を基準として、トリミングを行った結果、第1画像をトリミングして得られた画像および第2画像をトリミングして得られた画像の両方が、互いに同じ回転角度により回転するという現象が起こる。該現象が起こる立体画像撮影装置は、本発明の立体画像撮影装置であると考えてよい。
【0209】
なお、原理的には、遠方の被写体と近方の被写体との両方を、同時に左右それぞれ1回の撮影(左右2枚の画像)で取り込み、その各画像から、遠方の被写体の特徴点と、近方の被写体の特徴点をそれぞれ検出することも可能である。例えば、これらの各画像において、上半分に遠方の被写体が、下半分に近方の被写体が写るように撮影し、特徴点を検出する際に、画像の上下を半分ずつに分けて特徴点の検出を行ってもよい。
【0210】
ピントをうまく合わせることができれば、あるいはピントが甘くても特徴点の検出が可能な程度で撮影できれば、近距離の被写体と遠距離の被写体とを同時に撮影することは可能である。
【0211】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【0212】
本発明は、立体画像を撮影する立体画像撮影装置に内蔵された、2基のカメラから取得した各画像の補正を行う画像補正方法、およびこの画像補正方法により2基のカメラから取得した各画像の補正を行う立体画像撮影装置に利用することができる。
【符号の説明】
【0213】
1 携帯電話(立体画像撮影装置)
11 第1撮影部(第1カメラ)
12 第2撮影部(第2カメラ)
16 トリミング部
【特許請求の範囲】
【請求項1】
複数のカメラを備えたカメラ群を構成する第1カメラから取得した第1画像、および該カメラ群を構成する、第1カメラと別の第2カメラから取得した第2画像から立体画像を得るために、第1画像および第2画像の少なくとも一方をトリミングする画像補正方法であって、
上記カメラ群までの距離が互いに異なる第1被写体および第2被写体を、上記第1カメラおよび第2カメラにより撮影し、第1カメラが第1被写体を撮影して得られる第1参照画像と、第2カメラが第1被写体を撮影して得られる第2参照画像と、第1カメラが第2被写体を撮影して得られる第3参照画像と、第2カメラが第2被写体を撮影して得られる第4参照画像とを取得する第1工程と、
上記第1参照画像および第2参照画像から、上記第1被写体の特徴点を少なくとも2つ検出すると共に、上記第3参照画像および第4参照画像から、上記第2被写体の特徴点を少なくとも1つ検出する第2工程と、
上記第2工程で検出した第1被写体の各特徴点から、上記第1カメラの光軸を中心とする第1カメラの回転角度に対する、上記第2カメラの光軸を中心とする第2カメラの回転角度の差分である相互回転角度差分を算出し、該相互回転角度差分を相殺するように、上記第1参照画像および第2参照画像の少なくとも一方を補正する第3工程と、
上記第1参照画像および第2参照画像を、互いに同じ所定角度だけ回転させ、上記第1被写体の各特徴点の、第1参照画像と第2参照画像との間での上下方向におけるズレである第1上下ズレを算出する第4工程と、
上記第3参照画像および第4参照画像の少なくとも一方を、上記相互回転角度差分および第1上下ズレを相殺するように、かつ互いに同じ上記所定角度だけ回転させるように補正し、上記第2工程で検出した第2被写体の特徴点の、第3参照画像と第4参照画像との間での上下方向におけるズレである第2上下ズレを算出する第5工程と、
複数の上記所定角度について、上記第4工程および第5工程を行い、上記第2上下ズレが最小となる、上記所定角度および第1上下ズレを求める第6工程とを含み、
上記第6工程にて求めた、上記第2上下ズレが最小となる、上記所定角度および第1上下ズレを相殺するように、上記第1画像および第2画像の少なくとも一方をトリミングすることを特徴とする画像補正方法。
【請求項2】
複数のカメラを備えたカメラ群を構成する第1カメラから取得した第1画像、および該カメラ群を構成する、第1カメラと別の第2カメラから取得した第2画像から立体画像を得るために、第1画像および第2画像の少なくとも一方をトリミングする画像補正方法であって、
上記カメラ群までの距離が互いに異なる第1被写体および第2被写体を、上記第1カメラおよび第2カメラにより撮影し、第1カメラが第1被写体および該第1被写体の周辺を含む被写体領域を撮影して得られる第1参照画像と、第2カメラが該被写体領域を撮影して得られる第2参照画像と、第1カメラが第2被写体を撮影して得られる第3参照画像と、第2カメラが第2被写体を撮影して得られる第4参照画像とを取得する第1工程と、
上記第1参照画像および第2参照画像から、上記第1被写体の特徴点を少なくとも1つと、上記被写体領域に写る線とを検出すると共に、上記第3参照画像および第4参照画像から、上記第2被写体の特徴点を少なくとも1つ検出する第2工程と、
上記第2工程で検出した第1被写体の特徴点および被写体領域に写る線から、上記第1カメラの光軸を中心とする第1カメラの回転角度に対する、上記第2カメラの光軸を中心とする第2カメラの回転角度の差分である相互回転角度差分を算出し、該相互回転角度差分を相殺するように、上記第1参照画像および第2参照画像の少なくとも一方を補正する第3工程と、
上記第1参照画像および第2参照画像を、互いに同じ所定角度だけ回転させ、上記第1被写体の特徴点および被写体領域に写る線の、第1参照画像と第2参照画像との間での上下方向におけるズレである第1上下ズレを算出する第4工程と、
上記第3参照画像および第4参照画像の少なくとも一方を、上記相互回転角度差分および第1上下ズレを相殺するように、かつ互いに同じ上記所定角度だけ回転させるように補正し、上記第2工程で検出した第2被写体の特徴点の、第3参照画像と第4参照画像との間での上下方向におけるズレである第2上下ズレを算出する第5工程と、
複数の上記所定角度について、上記第4工程および第5工程を行い、上記第2上下ズレが最小となる、上記所定角度および第1上下ズレを求める第6工程とを含み、
上記第6工程にて求めた、上記第2上下ズレが最小となる、上記所定角度および第1上下ズレを相殺するように、上記第1画像および第2画像の少なくとも一方をトリミングすることを特徴とする画像補正方法。
【請求項3】
上記第1被写体の、第1参照画像と第2参照画像との間での左右方向におけるズレ、および上記第2被写体の、第3参照画像と第4参照画像との間での左右方向におけるズレの少なくとも一方を算出する第7工程をさらに含み、
上記第7工程にて求めたズレを相殺するように、上記第1画像および第2画像の少なくとも一方をトリミングすることを特徴とする請求項1または2に記載の画像補正方法。
【請求項4】
上記第1工程において、1つの画像に上記第1被写体および上記第2被写体の両方が写るように、上記第1カメラによる撮影および上記第2カメラによる撮影の少なくとも一方を行うことを特徴とする請求項1〜3のいずれか1項に記載の画像補正方法。
【請求項5】
請求項1〜4のいずれか1項に記載の画像補正方法により、上記第1画像および第2画像の少なくとも一方をトリミングするトリミング部と、
上記カメラ群とを備えていることを特徴とする立体画像撮影装置。
【請求項6】
上記第1カメラの取り付け位置を、上記第2カメラに対して上下方向にズラした場合に、上記トリミング部により上記第1画像をトリミングして得られた画像、および上記トリミング部により上記第2画像をトリミングして得られた画像の両方が、互いに同じ回転角度により回転されることを特徴とする請求項5に記載に立体画像撮影装置。
【請求項1】
複数のカメラを備えたカメラ群を構成する第1カメラから取得した第1画像、および該カメラ群を構成する、第1カメラと別の第2カメラから取得した第2画像から立体画像を得るために、第1画像および第2画像の少なくとも一方をトリミングする画像補正方法であって、
上記カメラ群までの距離が互いに異なる第1被写体および第2被写体を、上記第1カメラおよび第2カメラにより撮影し、第1カメラが第1被写体を撮影して得られる第1参照画像と、第2カメラが第1被写体を撮影して得られる第2参照画像と、第1カメラが第2被写体を撮影して得られる第3参照画像と、第2カメラが第2被写体を撮影して得られる第4参照画像とを取得する第1工程と、
上記第1参照画像および第2参照画像から、上記第1被写体の特徴点を少なくとも2つ検出すると共に、上記第3参照画像および第4参照画像から、上記第2被写体の特徴点を少なくとも1つ検出する第2工程と、
上記第2工程で検出した第1被写体の各特徴点から、上記第1カメラの光軸を中心とする第1カメラの回転角度に対する、上記第2カメラの光軸を中心とする第2カメラの回転角度の差分である相互回転角度差分を算出し、該相互回転角度差分を相殺するように、上記第1参照画像および第2参照画像の少なくとも一方を補正する第3工程と、
上記第1参照画像および第2参照画像を、互いに同じ所定角度だけ回転させ、上記第1被写体の各特徴点の、第1参照画像と第2参照画像との間での上下方向におけるズレである第1上下ズレを算出する第4工程と、
上記第3参照画像および第4参照画像の少なくとも一方を、上記相互回転角度差分および第1上下ズレを相殺するように、かつ互いに同じ上記所定角度だけ回転させるように補正し、上記第2工程で検出した第2被写体の特徴点の、第3参照画像と第4参照画像との間での上下方向におけるズレである第2上下ズレを算出する第5工程と、
複数の上記所定角度について、上記第4工程および第5工程を行い、上記第2上下ズレが最小となる、上記所定角度および第1上下ズレを求める第6工程とを含み、
上記第6工程にて求めた、上記第2上下ズレが最小となる、上記所定角度および第1上下ズレを相殺するように、上記第1画像および第2画像の少なくとも一方をトリミングすることを特徴とする画像補正方法。
【請求項2】
複数のカメラを備えたカメラ群を構成する第1カメラから取得した第1画像、および該カメラ群を構成する、第1カメラと別の第2カメラから取得した第2画像から立体画像を得るために、第1画像および第2画像の少なくとも一方をトリミングする画像補正方法であって、
上記カメラ群までの距離が互いに異なる第1被写体および第2被写体を、上記第1カメラおよび第2カメラにより撮影し、第1カメラが第1被写体および該第1被写体の周辺を含む被写体領域を撮影して得られる第1参照画像と、第2カメラが該被写体領域を撮影して得られる第2参照画像と、第1カメラが第2被写体を撮影して得られる第3参照画像と、第2カメラが第2被写体を撮影して得られる第4参照画像とを取得する第1工程と、
上記第1参照画像および第2参照画像から、上記第1被写体の特徴点を少なくとも1つと、上記被写体領域に写る線とを検出すると共に、上記第3参照画像および第4参照画像から、上記第2被写体の特徴点を少なくとも1つ検出する第2工程と、
上記第2工程で検出した第1被写体の特徴点および被写体領域に写る線から、上記第1カメラの光軸を中心とする第1カメラの回転角度に対する、上記第2カメラの光軸を中心とする第2カメラの回転角度の差分である相互回転角度差分を算出し、該相互回転角度差分を相殺するように、上記第1参照画像および第2参照画像の少なくとも一方を補正する第3工程と、
上記第1参照画像および第2参照画像を、互いに同じ所定角度だけ回転させ、上記第1被写体の特徴点および被写体領域に写る線の、第1参照画像と第2参照画像との間での上下方向におけるズレである第1上下ズレを算出する第4工程と、
上記第3参照画像および第4参照画像の少なくとも一方を、上記相互回転角度差分および第1上下ズレを相殺するように、かつ互いに同じ上記所定角度だけ回転させるように補正し、上記第2工程で検出した第2被写体の特徴点の、第3参照画像と第4参照画像との間での上下方向におけるズレである第2上下ズレを算出する第5工程と、
複数の上記所定角度について、上記第4工程および第5工程を行い、上記第2上下ズレが最小となる、上記所定角度および第1上下ズレを求める第6工程とを含み、
上記第6工程にて求めた、上記第2上下ズレが最小となる、上記所定角度および第1上下ズレを相殺するように、上記第1画像および第2画像の少なくとも一方をトリミングすることを特徴とする画像補正方法。
【請求項3】
上記第1被写体の、第1参照画像と第2参照画像との間での左右方向におけるズレ、および上記第2被写体の、第3参照画像と第4参照画像との間での左右方向におけるズレの少なくとも一方を算出する第7工程をさらに含み、
上記第7工程にて求めたズレを相殺するように、上記第1画像および第2画像の少なくとも一方をトリミングすることを特徴とする請求項1または2に記載の画像補正方法。
【請求項4】
上記第1工程において、1つの画像に上記第1被写体および上記第2被写体の両方が写るように、上記第1カメラによる撮影および上記第2カメラによる撮影の少なくとも一方を行うことを特徴とする請求項1〜3のいずれか1項に記載の画像補正方法。
【請求項5】
請求項1〜4のいずれか1項に記載の画像補正方法により、上記第1画像および第2画像の少なくとも一方をトリミングするトリミング部と、
上記カメラ群とを備えていることを特徴とする立体画像撮影装置。
【請求項6】
上記第1カメラの取り付け位置を、上記第2カメラに対して上下方向にズラした場合に、上記トリミング部により上記第1画像をトリミングして得られた画像、および上記トリミング部により上記第2画像をトリミングして得られた画像の両方が、互いに同じ回転角度により回転されることを特徴とする請求項5に記載に立体画像撮影装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【公開番号】特開2012−244432(P2012−244432A)
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願番号】特願2011−112794(P2011−112794)
【出願日】平成23年5月19日(2011.5.19)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願日】平成23年5月19日(2011.5.19)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
[ Back to top ]