(57)【特許請求の範囲】
【請求項１】
複数のカメラを備えたカメラ群を構成する第１カメラから取得した第１画像、および該カメラ群を構成する、第１カメラと別の第２カメラから取得した第２画像から立体画像を得るために、第１画像および第２画像の少なくとも一方をトリミングする画像補正方法であって、
上記カメラ群までの距離が互いに異なる第１被写体および第２被写体を、上記第１カメラおよび第２カメラにより撮影し、第１カメラが第１被写体を撮影して得られる第１参照画像と、第２カメラが第１被写体を撮影して得られる第２参照画像と、第１カメラが第２被写体を撮影して得られる第３参照画像と、第２カメラが第２被写体を撮影して得られる第４参照画像とを取得する第１工程と、
上記第１参照画像および第２参照画像から、上記第１被写体の特徴点を少なくとも２つ検出すると共に、上記第３参照画像および第４参照画像から、上記第２被写体の特徴点を少なくとも１つ検出する第２工程と、
上記第２工程で検出した第１被写体の各特徴点から、上記第１カメラの光軸を中心とする第１カメラの回転角度に対する、上記第２カメラの光軸を中心とする第２カメラの回転角度の差分である相互回転角度差分を算出し、該相互回転角度差分を相殺するように、上記第１参照画像および第２参照画像の少なくとも一方を補正する第３工程と、
上記第１参照画像および第２参照画像を、互いに同じ所定角度だけ回転させ、上記第１被写体の各特徴点の、第１参照画像と第２参照画像との間での上下方向におけるズレである第１上下ズレを算出する第４工程と、
上記第３参照画像および第４参照画像の少なくとも一方を、上記相互回転角度差分および第１上下ズレを相殺するように、かつ互いに同じ上記所定角度だけ回転させるように補正し、上記第２工程で検出した第２被写体の特徴点の、第３参照画像と第４参照画像との間での上下方向におけるズレである第２上下ズレを算出する第５工程と、
複数の上記所定角度について、上記第４工程および第５工程を行い、上記第２上下ズレが最小となる、上記所定角度および第１上下ズレを求める第６工程とを含み、
上記第１画像および第２画像の少なくとも一方である元画像のサイズおよび上記トリミングにおける切り出しサイズから基準点を算出し、上記第６工程にて求めた、上記第２上下ズレが最小となる、上記所定角度および第１上下ズレを相殺するように、上記基準点の座標を、上下移動に係る逆補正値で移動させたあとに、回転に係る逆補正値で回転し、上記元画像の切り出し座標を算出し、該座標に基づいて上記第１画像および第２画像の少なくとも一方をトリミングし、
上記上下移動に係る逆補正値は、上記第１上下ズレを相殺する補正に利用する補正量の正負を変えた値であり、
上記回転に係る逆補正値は、上記相互回転角度差分を相殺し、かつ互いに同じ上記所定角度だけ回転させる補正に利用する補正量の正負を変えた値である、
ことを特徴とする画像補正方法。
【請求項２】
複数のカメラを備えたカメラ群を構成する第１カメラから取得した第１画像、および該カメラ群を構成する、第１カメラと別の第２カメラから取得した第２画像から立体画像を得るために、第１画像および第２画像の少なくとも一方をトリミングする画像補正方法であって、
上記カメラ群までの距離が互いに異なる第１被写体および第２被写体を、上記第１カメラおよび第２カメラにより撮影し、第１カメラが第１被写体および該第１被写体の周辺を含む被写体領域を撮影して得られる第１参照画像と、第２カメラが該被写体領域を撮影して得られる第２参照画像と、第１カメラが第２被写体を撮影して得られる第３参照画像と、第２カメラが第２被写体を撮影して得られる第４参照画像とを取得する第１工程と、
上記第１参照画像および第２参照画像から、上記第１被写体の特徴点を少なくとも１つと、上記被写体領域に写る線とを検出すると共に、上記第３参照画像および第４参照画像から、上記第２被写体の特徴点を少なくとも１つ検出する第２工程と、
上記第２工程で検出した第１被写体の特徴点および被写体領域に写る線から、上記第１カメラの光軸を中心とする第１カメラの回転角度に対する、上記第２カメラの光軸を中心とする第２カメラの回転角度の差分である相互回転角度差分を算出し、該相互回転角度差分を相殺するように、上記第１参照画像および第２参照画像の少なくとも一方を補正する第３工程と、
上記第１参照画像および第２参照画像を、互いに同じ所定角度だけ回転させ、上記第１被写体の特徴点および被写体領域に写る線の、第１参照画像と第２参照画像との間での上下方向におけるズレである第１上下ズレを算出する第４工程と、
上記第３参照画像および第４参照画像の少なくとも一方を、上記相互回転角度差分および第１上下ズレを相殺するように、かつ互いに同じ上記所定角度だけ回転させるように補正し、上記第２工程で検出した第２被写体の特徴点の、第３参照画像と第４参照画像との間での上下方向におけるズレである第２上下ズレを算出する第５工程と、
複数の上記所定角度について、上記第４工程および第５工程を行い、上記第２上下ズレが最小となる、上記所定角度および第１上下ズレを求める第６工程とを含み、
上記第１画像および第２画像の少なくとも一方である元画像のサイズおよび上記トリミングにおける切り出しサイズから基準点を算出し、上記第６工程にて求めた、上記第２上下ズレが最小となる、上記所定角度および第１上下ズレを相殺するように、上記基準点の座標を、上下移動に係る逆補正値で移動させたあとに、回転に係る逆補正値で回転し、上記元画像の切り出し座標を算出し、該座標に基づいて上記第１画像および第２画像の少なくとも一方をトリミングし、
上記上下移動に係る逆補正値は、上記第１上下ズレを相殺する補正に利用する補正量の正負を変えた値であり、
上記回転に係る逆補正値は、上記相互回転角度差分を相殺し、かつ互いに同じ上記所定角度だけ回転させる補正に利用する補正量の正負を変えた値である、
ことを特徴とする画像補正方法。
【請求項３】
上記第１被写体の、第１参照画像と第２参照画像との間での左右方向におけるズレ、および上記第２被写体の、第３参照画像と第４参照画像との間での左右方向におけるズレの少なくとも一方を算出する第７工程をさらに含み、
上記第７工程にて求めたズレを相殺するように、上記基準点の座標を、左右移動に係る逆補正値で移動させたあとに、上記回転に係る逆補正値で回転し、上記元画像の切り出し座標を算出し、該座標に基づいて上記第１画像および第２画像の少なくとも一方をトリミングし、
上記左右移動に係る逆補正値は、上記第７工程にて求めたズレを相殺する補正に利用する補正量の正負を変えた値である、
ことを特徴とする請求項１または２に記載の画像補正方法。
【請求項４】
上記第１工程において、１つの画像に上記第１被写体および上記第２被写体の両方が写るように、上記第１カメラによる撮影および上記第２カメラによる撮影の少なくとも一方を行うことを特徴とする請求項１〜３のいずれか１項に記載の画像補正方法。
【請求項５】
請求項１〜４のいずれか１項に記載の画像補正方法により、上記第１画像および第２画像の少なくとも一方をトリミングするトリミング部と、
上記カメラ群とを備えていることを特徴とする立体画像撮影装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、立体画像を撮影する立体画像撮影装置に内蔵された、２基のカメラから取得した各画像の補正を行う画像補正方法、および上記２基のカメラから取得した各画像を、上記画像補正方法に従って補正する立体画像撮影装置に関する。
【背景技術】
【０００２】
立体画像（立体映像）は、ユーザに対して斬新さ、臨場感等を与えることができるため、立体画像を作成して表示する技術の開発が盛んになっている。
【０００３】
特許文献１には、左右２基のカメラが撮影した２枚の画像（左右画像）から、左右画像の位置ズレのズレ量および方向を検出し、該ズレ量および方向を示すズレベクトルに基づいて、所望の視差が得られるように左右画像の位置ズレを補正する技術が開示されている。
【０００４】
特許文献２には、左右画像の水平方向の視差ズレを低減するために、左右画像の水平方向をトリミングにより補正する技術が開示されている。
【０００５】
特許文献３には、左右画像の位相差を求め、求めた位相差を用いて左右画像（時系列画像）の動き情報を調整し、調整された動き情報に基づいて左右画像のトリミングを行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−７１６０４号公報（２０１１年４月７日公開）
【特許文献２】特開２０１１−２９７００号公報（２０１１年２月１０日公開）
【特許文献３】特開２００３−９２７６８号公報（２００３年３月２８日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１〜３に開示されている技術では、カメラから被写体までの距離（以下、「被写体距離」と称する）に応じて、取得した左右２枚の画像間での上下ズレを生じる虞があるという問題が発生する。
【０００８】
以下、上記の問題について説明する。
【０００９】
左右２枚の画像間で上記上下ズレを生じる要因としては、立体画像撮影装置に内蔵された各カメラの平行移動（各カメラの上下方向への取り付け位置ズレ）、各カメラのアオリ（各カメラの光軸の、上下方向への傾きズレ）、および各カメラの回転（カメラの光軸回りの回転ズレ）が挙げられる。立体画像撮影装置に対するこれらのカメラの取り付けズレは、カメラの組み立て精度、および／または、カメラの取り付け位置精度に応じて生じる誤差である場合、構造的に無くすことは困難である。
【００１０】
カメラの平行移動に起因する上記上下ズレ、およびカメラの回転に起因する上記上下ズレは、被写体距離に応じてズレ量が異なる。一方、カメラのアオリに起因する上記上下ズレは、被写体距離によらず、一定のズレ量となる。
【００１１】
ここで、特許文献１に開示されている技術では、カメラの平行移動に起因する上記上下ズレおよびカメラの回転に起因する上記上下ズレと、カメラのアオリに起因する上記上下ズレとを区別することができない。また、特許文献１に開示されている技術では、ズレベクトルに基づいて左右画像の位置ズレを補正するので、被写体距離に応じてズレ量が異なる上記上下ズレを補正することはできない。
【００１２】
従って、特許文献１に開示されている技術では、特定の被写体距離を基準として上記上下ズレの補正を行っても、別の被写体距離において上記上下ズレを生じる虞がある。
【００１３】
また、特許文献２に開示されている技術では、左右画像の上下方向のトリミングについて言及されていない。
【００１４】
また、特許文献３に開示されている技術では、特許文献１に開示されている技術と同様の問題が発生する。
【００１５】
本発明は、上記の問題に鑑みて為されたものであり、その目的は、被写体距離に応じて、取得した左右２枚の画像間での上下ズレを低減することを可能とする画像補正方法、および立体画像撮影装置を提供することにある。
【課題を解決するための手段】
【００１６】
本発明の画像補正方法は、上記の問題を解決するために、複数のカメラを備えたカメラ群を構成する第１カメラから取得した第１画像、および該カメラ群を構成する、第１カメラと別の第２カメラから取得した第２画像から立体画像を得るために、第１画像および第２画像の少なくとも一方をトリミングする画像補正方法であって、
(1)上記カメラ群までの距離が互いに異なる第１被写体および第２被写体を、上記第１カメラおよび第２カメラにより撮影し、第１カメラが第１被写体を撮影して得られる第１参照画像と、第２カメラが第１被写体を撮影して得られる第２参照画像と、第１カメラが第２被写体を撮影して得られる第３参照画像と、第２カメラが第２被写体を撮影して得られる第４参照画像とを取得する第１工程と、
(2)上記第１参照画像および第２参照画像から、上記第１被写体の特徴点を少なくとも２つ検出すると共に、上記第３参照画像および第４参照画像から、上記第２被写体の特徴点を少なくとも１つ検出する第２工程と、
(3)上記第２工程で検出した第１被写体の各特徴点から、上記第１カメラの光軸を中心とする第１カメラの回転角度に対する、上記第２カメラの光軸を中心とする第２カメラの回転角度の差分である相互回転角度差分を算出し、該相互回転角度差分を相殺するように、上記第１参照画像および第２参照画像の少なくとも一方を補正する第３工程と、
(4)上記第１参照画像および第２参照画像を、互いに同じ所定角度だけ回転させ、上記第１被写体の各特徴点の、第１参照画像と第２参照画像との間での上下方向におけるズレである第１上下ズレを算出する第４工程と、
(5)上記第３参照画像および第４参照画像の少なくとも一方を、上記相互回転角度差分および第１上下ズレを相殺するように、かつ互いに同じ上記所定角度だけ回転させるように補正し、上記第２工程で検出した第２被写体の特徴点の、第３参照画像と第４参照画像との間での上下方向におけるズレである第２上下ズレを算出する第５工程と、
(6)複数の上記所定角度について、上記第４工程および第５工程を行い、上記第２上下ズレが最小となる、上記所定角度および第１上下ズレを求める第６工程とを含み、
上記第６工程にて求めた、上記第２上下ズレが最小となる、上記所定角度および第１上下ズレを相殺するように、上記第１画像および第２画像の少なくとも一方をトリミングすることを特徴としている。
【００１７】
第１画像と第２画像との間で、被写体のズレが発生する要因としては、（要因Ａ）〜（要因Ｄ）の４つが挙げられる。
【００１８】
（要因Ａ）第１カメラおよび第２カメラ間での回転角度の差によるズレ。
【００１９】
（要因Ｂ）第１カメラおよび第２カメラが同方向に同じ回転角度だけ回転したことによるズレ、または第１カメラおよび第２カメラ間での上下方向の取り付け位置ズレ。
【００２０】
（要因Ｃ）第１カメラおよび第２カメラの各光軸間での、上下方向の傾きによるズレ。
【００２１】
（要因Ｄ）第１カメラおよび第２カメラの各光軸間での、左右方向の傾きによるズレ。
【００２２】
（要因Ｂ）に係るカメラの上下方向の取り付け位置ズレは、第１カメラおよび第２カメラの各々のレンズの中心位置を通る直線を水平とみなすと、（要因Ｂ）に係るカメラの同方向かつ同じ回転角度の回転によるズレと等価として扱うことができる。
【００２３】
（要因Ａ）〜（要因Ｄ）のうち、第１画像と第２画像との間での上下ズレを生じさせるのは（要因Ｂ）および（要因Ｃ）である。（要因Ｂ）に係る上下ズレは、被写体距離によって上下方向へのズレ量が変わるのに対し、（要因Ｃ）に係る上下ズレのズレ量は、被写体距離によらない。そのため、（要因Ｂ）と（要因Ｃ）とで個別に補正を行う必要があるが、特定の距離にある被写体を撮影するだけではこれらを区別することはできない。
【００２４】
上記の構成によれば、第３工程により、（要因Ａ）を補正することが可能となる。また、上記の構成によれば、第４工程により、（要因Ｂ）を補正することが可能となる。また、上記の構成によれば、第５工程により、（要因Ｃ）を補正することが可能となる。
【００２５】
そして、第６工程により、第１参照画像および第２参照画像を互いに同じ角度回転させつつ、第４工程および第５工程を繰り返すことで、（要因Ｂ）および（要因Ｃ）の補正を最良化することが可能である。
【００２６】
このように、本発明の画像補正方法では、（要因Ｂ）と（要因Ｃ）とを別々に補正する形で、画像の上下ズレの補正を行うことができるので、被写体距離に応じて、取得した左右２枚の画像間での上下ズレを低減することが可能となる。
【００２７】
ところで、上記の構成によれば、第１被写体の特徴点を２つ以上検出する必要がある。
【００２８】
一方、第１参照画像および第２参照画像から、上記相互回転角度差分を算出するためには、第１参照画像に対する第２参照画像の回転角度を特定することが可能なものを、第１参照画像および第２参照画像から検出すれば十分である。「第１参照画像に対する第２参照画像の回転角度を特定することが可能なもの」とは、すなわち、第１参照画像および第２参照画像の両方に写る線である。なお、この線は、被写体として写っているものである必要は無い。
【００２９】
一方、第１参照画像および第２参照画像から、上記第１上下ズレを算出するためには、第１被写体の特徴点を１つ以上検出する必要がある。
【００３０】
すなわち、本発明の画像補正方法は、上記の問題を解決するために、複数のカメラを備えたカメラ群を構成する第１カメラから取得した第１画像、および該カメラ群を構成する、第１カメラと別の第２カメラから取得した第２画像から立体画像を得るために、第１画像および第２画像の少なくとも一方をトリミングする画像補正方法であって、
(1)上記カメラ群までの距離が互いに異なる第１被写体および第２被写体を、上記第１カメラおよび第２カメラにより撮影し、第１カメラが第１被写体および該第１被写体の周辺を含む被写体領域を撮影して得られる第１参照画像と、第２カメラが該被写体領域を撮影して得られる第２参照画像と、第１カメラが第２被写体を撮影して得られる第３参照画像と、第２カメラが第２被写体を撮影して得られる第４参照画像とを取得する第１工程と、
(2)上記第１参照画像および第２参照画像から、上記第１被写体の特徴点を少なくとも１つと、上記被写体領域に写る線とを検出すると共に、上記第３参照画像および第４参照画像から、上記第２被写体の特徴点を少なくとも１つ検出する第２工程と、
(3)上記第２工程で検出した第１被写体の特徴点および被写体領域に写る線から、上記第１カメラの光軸を中心とする第１カメラの回転角度に対する、上記第２カメラの光軸を中心とする第２カメラの回転角度の差分である相互回転角度差分を算出し、該相互回転角度差分を相殺するように、上記第１参照画像および第２参照画像の少なくとも一方を補正する第３工程と、
(4)上記第１参照画像および第２参照画像を、互いに同じ所定角度だけ回転させ、上記第１被写体の特徴点および被写体領域に写る線の、第１参照画像と第２参照画像との間での上下方向におけるズレである第１上下ズレを算出する第４工程と、
(5)上記第３参照画像および第４参照画像の少なくとも一方を、上記相互回転角度差分および第１上下ズレを相殺するように、かつ互いに同じ上記所定角度だけ回転させるように補正し、上記第２工程で検出した第２被写体の特徴点の、第３参照画像と第４参照画像との間での上下方向におけるズレである第２上下ズレを算出する第５工程と、
(6)複数の上記所定角度について、上記第４工程および第５工程を行い、上記第２上下ズレが最小となる、上記所定角度および第１上下ズレを求める第６工程とを含み、
上記第６工程にて求めた、上記第２上下ズレが最小となる、上記所定角度および第１上下ズレを相殺するように、上記第１画像および第２画像の少なくとも一方をトリミングすることを特徴とすることもできる。
【００３１】
上記の構成によれば、第１被写体から２つの特徴点を検出するかわりに、第１被写体から１つの特徴点を検出し、かつ被写体領域に写る線、換言すれば第１参照画像に対する第２参照画像の回転角度が特定可能なものを検出しても、同様の方法が実施可能である。
【００３２】
また、本発明の画像補正方法は、上記第１被写体の、第１参照画像と第２参照画像との間での左右方向におけるズレ、および上記第２被写体の、第３参照画像と第４参照画像との間での左右方向におけるズレの少なくとも一方を算出する第７工程をさらに含み、上記第７工程にて求めたズレを相殺するように、上記第１画像および第２画像の少なくとも一方をトリミングするのが好ましい。
【００３３】
上記の構成によれば、被写体距離に応じて、取得した左右２枚の画像間での左右方向におけるズレを低減することが可能となる。
【００３４】
また、本発明の画像補正方法は、上記第１工程において、１つの画像に上記第１被写体および上記第２被写体の両方が写るように、上記第１カメラによる撮影および上記第２カメラによる撮影の少なくとも一方を行ってもよい。
【００３５】
すなわち、第１カメラのみが、１つの画像に第１被写体および第２被写体が写るように撮影を行ってもよいし、第２カメラのみが、１つの画像に第１被写体および第２被写体が写るように撮影を行ってもよいし、第１カメラおよび第２カメラの両方が、１つの画像に第１被写体および第２被写体が写るように撮影を行ってもよい。
【００３６】
また、本発明の立体画像撮影装置は、本発明の画像補正方法により、上記第１画像および第２画像の少なくとも一方をトリミングするトリミング部と、上記カメラ群とを備えていることを特徴としている。
【００３７】
上記の構成によれば、本発明の画像補正方法と同様の効果を奏する立体画像撮影装置を実現することが可能となる。
【００３８】
また、本発明の立体画像撮影装置は、上記第１カメラの取り付け位置を、上記第２カメラに対して上下方向にズラした場合に、上記トリミング部により上記第１画像をトリミングして得られた画像、および上記トリミング部により上記第２画像をトリミングして得られた画像の両方が、互いに同じ回転角度により回転されることを特徴としている。
【００３９】
本発明の画像補正方法によれば、立体画像撮影装置における第１カメラの取り付け位置を、第２カメラに対して上下方向に敢えてズラした場合、それに伴い、第１カメラの中心と第２カメラの中心とを通る直線を基準として、トリミングを行った結果、第１画像をトリミングして得られた画像および第２画像をトリミングして得られた画像の両方が、互いに同じ回転角度により回転するという現象が起こる。該現象が起こる立体画像撮影装置は、本発明の立体画像撮影装置であると考えてよい。
【発明の効果】
【００４０】
以上のとおり、本発明の画像補正方法は、複数のカメラを備えたカメラ群を構成する第１カメラから取得した第１画像、および該カメラ群を構成する、第１カメラと別の第２カメラから取得した第２画像から立体画像を得るために、第１画像および第２画像の少なくとも一方をトリミングする画像補正方法であって、上記カメラ群までの距離が互いに異なる第１被写体および第２被写体を、上記第１カメラおよび第２カメラにより撮影し、第１カメラが第１被写体を撮影して得られる第１参照画像と、第２カメラが第１被写体を撮影して得られる第２参照画像と、第１カメラが第２被写体を撮影して得られる第３参照画像と、第２カメラが第２被写体を撮影して得られる第４参照画像とを取得する第１工程と、上記第１参照画像および第２参照画像から、上記第１被写体の特徴点を少なくとも２つ検出すると共に、上記第３参照画像および第４参照画像から、上記第２被写体の特徴点を少なくとも１つ検出する第２工程と、上記第２工程で検出した第１被写体の各特徴点から、上記第１カメラの光軸を中心とする第１カメラの回転角度に対する、上記第２カメラの光軸を中心とする第２カメラの回転角度の差分である相互回転角度差分を算出し、該相互回転角度差分を相殺するように、上記第１参照画像および第２参照画像の少なくとも一方を補正する第３工程と、上記第１参照画像および第２参照画像を、互いに同じ所定角度だけ回転させ、上記第１被写体の各特徴点の、第１参照画像と第２参照画像との間での上下方向におけるズレである第１上下ズレを算出する第４工程と、上記第３参照画像および第４参照画像の少なくとも一方を、上記相互回転角度差分および第１上下ズレを相殺するように、かつ互いに同じ上記所定角度だけ回転させるように補正し、上記第２工程で検出した第２被写体の特徴点の、第３参照画像と第４参照画像との間での上下方向におけるズレである第２上下ズレを算出する第５工程と、複数の上記所定角度について、上記第４工程および第５工程を行い、上記第２上下ズレが最小となる、上記所定角度および第１上下ズレを求める第６工程とを含み、上記第６工程にて求めた、上記第２上下ズレが最小となる、上記所定角度および第１上下ズレを相殺するように、上記第１画像および第２画像の少なくとも一方をトリミングする。
【００４１】
また、本発明の画像補正方法は、複数のカメラを備えたカメラ群を構成する第１カメラから取得した第１画像、および該カメラ群を構成する、第１カメラと別の第２カメラから取得した第２画像から立体画像を得るために、第１画像および第２画像の少なくとも一方をトリミングする画像補正方法であって、上記カメラ群までの距離が互いに異なる第１被写体および第２被写体を、上記第１カメラおよび第２カメラにより撮影し、第１カメラが第１被写体および該第１被写体の周辺を含む被写体領域を撮影して得られる第１参照画像と、第２カメラが該被写体領域を撮影して得られる第２参照画像と、第１カメラが第２被写体を撮影して得られる第３参照画像と、第２カメラが第２被写体を撮影して得られる第４参照画像とを取得する第１工程と、上記第１参照画像および第２参照画像から、上記第１被写体の特徴点を少なくとも１つと、上記被写体領域に写る線とを検出すると共に、上記第３参照画像および第４参照画像から、上記第２被写体の特徴点を少なくとも１つ検出する第２工程と、上記第２工程で検出した第１被写体の特徴点および被写体領域に写る線から、上記第１カメラの光軸を中心とする第１カメラの回転角度に対する、上記第２カメラの光軸を中心とする第２カメラの回転角度の差分である相互回転角度差分を算出し、該相互回転角度差分を相殺するように、上記第１参照画像および第２参照画像の少なくとも一方を補正する第３工程と、上記第１参照画像および第２参照画像を、互いに同じ所定角度だけ回転させ、上記第１被写体の特徴点および被写体領域に写る線の、第１参照画像と第２参照画像との間での上下方向におけるズレである第１上下ズレを算出する第４工程と、上記第３参照画像および第４参照画像の少なくとも一方を、上記相互回転角度差分および第１上下ズレを相殺するように、かつ互いに同じ上記所定角度だけ回転させるように補正し、上記第２工程で検出した第２被写体の特徴点の、第３参照画像と第４参照画像との間での上下方向におけるズレである第２上下ズレを算出する第５工程と、複数の上記所定角度について、上記第４工程および第５工程を行い、上記第２上下ズレが最小となる、上記所定角度および第１上下ズレを求める第６工程とを含み、上記第６工程にて求めた、上記第２上下ズレが最小となる、上記所定角度および第１上下ズレを相殺するように、上記第１画像および第２画像の少なくとも一方をトリミングする。
【００４２】
従って、被写体距離に応じて、取得した左右２枚の画像間での上下ズレを低減することが可能であるという効果を奏する。
【図面の簡単な説明】
【００４３】
【図１】本発明に係る画像補正方法の流れを示すフローチャートである。
【図２】図２の（ａ）および（ｂ）は、本発明に係る立体画像撮影装置としての携帯電話の外観を、概略的に示す図である。
【図３】立体画像撮影に関連する、図２に示す携帯電話の主要構成を示す機能ブロック図である。
【図４】第１撮影部から取得した画像と、第２撮影部から取得した画像との間で発生する、垂直誤差および回転誤差を示す図である。
【図５】第１撮影部および第２撮影部から取得した両画像を、最適な配置となるように補正する技術の従来例を示す図である。
【図６】左目用画像と、右目用画像との間で、上下ズレが発生する原理を示す図である。
【図７】左目用画像と、右目用画像との間で、上下ズレが発生する原理を示す別の図である。
【図８】左目用画像と、右目用画像との間で、上下ズレが発生する原理を示すさらに別の図である。
【図９】左目用画像と、右目用画像との間で、上下ズレが発生する原理を示す他の図である。
【図１０】左目用画像および右目用画像が並行となる回転角度が無限に存在することを示す図である。
【図１１】図１１の（ａ）〜（ｄ）は、カメラの回転に伴って、カメラの平行移動に相当する現象が発生する原理を示す図である。
【図１２】従来一般的な、画像の補正の一例を示す図である。
【図１３】図１２に係る画像の補正を、左カメラおよび右カメラの位置に置換した場合の、左カメラおよび右カメラの動きを示す概念図である。
【図１４】左目用補正画像と右目用補正画像との間で上下ズレが発生している状態を示す図である。
【図１５】互いに異なる回転角度のカメラの回転が発生して、左目用画像と右目用画像との間で、角度ズレが発生する様子を示す図である。
【図１６】互いに異なる回転角度のカメラの回転が発生した場合に、画像のトリミングを行う要領を示す図である。
【図１７】互いに同じ方向かつ同じ回転角度のカメラの回転、またはカメラの平行移動が発生して、左目用画像と右目用画像との間で、上下ズレが発生する様子を示す図である。
【図１８】互いに同じ方向かつ同じ回転角度のカメラの回転、またはカメラの平行移動が発生した場合に、画像のトリミングを行う要領を示す図である。
【図１９】一方のカメラの光軸が他方のカメラの光軸に対して上下方向にズレており、左目用画像と右目用画像との間で、上下ズレが発生する様子を示す図である。
【図２０】光軸の上下方向へのズレが発生した場合に、画像のトリミングを行う要領を示す図である。
【図２１】左目用画像と右目用画像との間で、左右ズレが発生する様子を示す図である。
【図２２】光軸の左右方向へのズレが発生した場合に、画像のトリミングを行う要領を示す図である。
【図２３】画像補正方法において検出する特徴点の座標の一覧を示す表である。
【図２４】画像の切り出し座標の一覧を示す表である。
【図２５】画像補正方法において使用する定数の一覧（一例）を示す表である。
【図２６】画像補正方法において使用する変数の一覧を示す表である。
【図２７】図２７（ａ）は、画像Ａ左から特徴点を検出する様子を示す図であり、図２７（ｂ）は、画像Ａ右から特徴点を検出する様子を示す図であり、図２７（ｃ）は、画像Ｂ左から特徴点を検出する様子を示す図であり、図２７（ｄ）は、画像Ｂ右から特徴点を検出する様子を示す図である。
【発明を実施するための形態】
【００４４】
〔立体画像撮影装置の構成例〕
図２の（ａ）および（ｂ）は、本発明に係る立体画像撮影装置としての携帯電話の外観を、概略的に示す図である。
【００４５】
図２の（ｂ）に示すとおり、携帯電話（立体画像撮影装置）１は、前面部に、表示部（例えば、液晶表示部）２を備えている。また、図２の（ａ）に示すとおり、携帯電話１は、背面部に、第１カメラレンズ３および第２カメラレンズ４を備えている。
【００４６】
表示部２は、タッチパネルの機能を備え、ユーザが表示部２に触れることにより、携帯電話１に対して様々な指示を入力することができるものであってもよい。
【００４７】
第１カメラレンズ３および第２カメラレンズ４は、互いに所定間隔（数センチ程度）離間されている。これにより、立体画像の撮影時に、被写対象のシーン（被写体）を第１カメラレンズ３および第２カメラレンズ４を介して撮影すると、視差のある２枚の画像を取得することができる。
【００４８】
携帯電話１としては、上記の構成に限定されず、ユーザが各種指示を入力する複数のボタンが配列された操作部に対し、折り畳み式の表示部が結合された構成、または、上記操作部を表示部に対して平行にスライドさせることが可能な構成等を採用してもよい。
【００４９】
また、本発明に係る立体画像撮影装置を、携帯電話に限らず、デジタルカメラおよびＰＤＡ（Personal Digital Assistant：携帯情報端末）等の、携帯型電子機器全般に搭載することができる。さらに、本発明に係る立体画像撮影装置を、立体表示が可能なテレビ（３Ｄテレビ）に搭載することもできる。
【００５０】
図３は、立体画像撮影に関連する、携帯電話１の主要構成を示す機能ブロック図である。
【００５１】
図３に示すとおり、携帯電話１は、第１撮影部（第１カメラ）１１、第２撮影部（第２カメラ）１２、第１制御部１３、第２制御部１４、画像記憶部１５、トリミング部１６、および表示部１７を備えている。第１撮影部１１および第２撮影部１２が、複数のカメラを備えたカメラ群を構成している。
【００５２】
第１撮影部１１は、第１カメラレンズ３、撮像素子、およびＡＤ（Analog/Digital：アナログ／デジタル）変換器等を備えている。第２撮影部１２は、第２カメラレンズ４、撮像素子、およびＡＤ変換器等を備えている。撮像素子としては、ＣＣＤ（Charge Coupled Device：電荷結合素子）またはＣＭＯＳ（Complementary Metal Oxide Semiconductor：相補型金属酸化膜半導体）によって構成された固体撮像素子等が挙げられる。
【００５３】
第１制御部１３および第２制御部１４はそれぞれ、ＤＳＰ（Digital Signal Processor：デジタルシグナルプロセッサ）等を備えている。
【００５４】
第１制御部１３は、第１撮影部１１の撮像素子が、被写対象のシーンによって露光される時間（シャッタ時間）および撮像素子による撮像信号の出力タイミング等を制御し、出力された撮像信号からゲインおよび画質等を調整した画像データを生成する。また、第１制御部１３は、第１カメラレンズ３のレンズ位置情報（フォーカス情報）等の付随情報を検出する。第２制御部１４も、制御対象が第１撮影部１１から第２撮影部１２へと変わる以外、第１制御部１３と同じ構成を備えている。
【００５５】
画像記憶部１５は例えば、ＲＡＭ（Random Access Memory：随時書込読出メモリ）によって構成されている。画像記憶部１５は、第１制御部１３が生成した画像データ（以下、「第１画像データ」と称する）、および第２制御部１４が生成した画像データ（以下、「第２画像データ」と称する）を記憶する。また、画像記憶部１５は、第１画像データ（第１画像）に対してトリミング部１６によるトリミングを行った画像データ（以下、「第１補正画像データ」と称する）、および第２画像データ（第２画像）に対してトリミング部１６によるトリミングを行った画像データ（以下、「第２補正画像データ」と称する）を記憶する。
【００５６】
トリミング部１６は、予め取得している画像補正パラメータに基づいて、第１画像データおよび第２画像データのトリミングを行う。すなわち、トリミング部１６は、第１画像データに対して、所望の領域以外にある画像を切り取る画像処理を施すことにより、第１補正画像データを生成する。同じく、トリミング部１６は、第２画像データに対して、所望の領域以外にある画像を切り取る画像処理を施すことにより、第２補正画像データを生成する。画像補正パラメータについての詳細な説明は後述する。
【００５７】
表示部１７は、画像記憶部１５に記憶されている各種画像データを表示する。具体的に、表示部１７は、第１画像データおよび第２画像データ、もしくは、第１補正画像データおよび第２補正画像データを用いて、ユーザが裸眼で視認できる立体画像を表示する。
【００５８】
〔背景〕
実施の形態で説明する画像補正方法は、携帯電話１に関し、第１撮影部１１および第２撮影部１２からそれぞれ取得した左右２枚の画像の間で、所望の視差を実現するために、各画像のトリミングを行うための画像補正パラメータを得る方法である。
【００５９】
第１撮影部１１および第２撮影部１２で撮影を行って、立体画像を取得するためには、第１撮影部１１および第２撮影部１２から取得した各画像内に写る、任意の被写体距離（カメラ群までの距離）にある被写体に対して、両画像間での角度ズレまたは上下ズレがないことが求められる。また、２基のカメラとしての第１撮影部１１および第２撮影部１２に関しては、光軸が平行であるか、所望の輻輳点で交わっている必要がある。
【００６０】
しかしながら、カメラの構造的な工夫によって、カメラの組み立て精度や取り付け位置精度による誤差をなくすことは困難である。
【００６１】
すなわち、大概の立体画像撮影装置には、機構の寸法の誤差、すなわち製造公差が存在する。
【００６２】
上記製造公差を低減するためには、高精度の加工技術が必要となり、高精度の加工技術を採用すると、立体画像撮影装置の高コスト化を引き起こす。また、立体画像撮影装置を構成する各部品を保持する機構が大掛かりとなることから、上記製造公差を低減することは、立体画像撮影装置の大型化および高コスト化を引き起こす。
【００６３】
このため、カメラから取得した画像の切り出し（トリミング）によって、カメラから取得した画像において、これらの誤差を調整する必要がある。つまり、組み立て直後の立体画像撮影装置における各カメラのズレ量は、装置毎にバラつきがある。このため、装置個別に撮影を行って装置毎にバラつきを確認し、装置毎にバラつきに応じた領域を切り出すことによって、上記上下ズレを補正する必要がある。
【００６４】
上記上下ズレについては、特定の被写体距離にある被写体に対して、カメラ画像の回転および切り出しによって上記上下ズレを補正しても、別の被写体距離にある被写体を撮影すると上下ズレを生じることがある。
【００６５】
〔立体画像撮影装置における画像補正の原理〕
カメラの平行移動およびアオリが発生する要因として、第１撮影部１１および第２撮影部１２それぞれの組み立て精度、および／または、携帯電話１への第１撮影部１１および第２撮影部１２の取り付け精度を、立体画像撮影装置の小型化およびコスト低減とのバランスにより、高くすることができないことが挙げられる。これらの精度を高くすることができないため、第１撮影部１１から取得した画像と、第２撮影部１２から取得した画像との間で、垂直誤差および回転誤差（上下ズレ）が発生する虞がある。垂直誤差は、一方の画像が他方の画像に対して、上下方向にシフトするように発生した上下ズレであり、図４に符号４１で示している。一方、回転誤差は、一方の画像が他方の画像に対して、該一方の画像と略平行な面上を（光軸回りに）回転するように発生した上下ズレであり、図４に符号４２で示している。
【００６６】
そこで、従来、上記の垂直誤差および回転誤差を補正するため、携帯電話１の生産工程において、主にソフトウェアにより、第１撮影部１１および第２撮影部１２から取得した両画像を、最適な配置となるように補正する技術が知られている（図５参照）。図５では、各画像のトリミング、回転、および拡大・縮小といった、いわゆるＩＳＰ（Image Signal Processor：イメージシグナルプロセッサ）処理を行い、各画像の補正を実現している。
【００６７】
なお、「左目撮影画像」は、後述する左目用画像（ここでは、第１撮影部１１から取得した画像）を示している。また、「右目撮影画像」は、後述する右目用画像（ここでは、第２撮影部１２から取得した画像）を示している。
【００６８】
〔上下ズレが発生する原理の詳細〕
以下、上下ズレが発生する原理の詳細について説明する。なお、説明の便宜上、図６〜図９を参照した下記の説明においては、携帯電話１の上記背面部において、左右のカメラの水平方向における配置の差が０であるものとしている。
【００６９】
図６は、第１撮影部１１としての、左目用の画像を撮影する左カメラ６０から取得した画像と、第２撮影部１２としての、右目用の画像を撮影する右カメラ６１から取得した画像との間で、上下ズレが発生する原理を示す図である。
【００７０】
以下、左カメラ６０から取得した画像を「左目用画像（第１画像）」と称すると共に、右カメラ６１から取得した画像を「右目用画像（第２画像）」と称する。
【００７１】
図６において、左カメラ６０を基準とした場合、右カメラ６１は、左カメラ６０に対する、上方向への平行移動（移動量ｙ１）が発生している。また、右カメラ６１は、左カメラ６０に対する、上方向へのアオリ（傾き角度β１）が発生している。
【００７２】
ここで、左カメラ６０および右カメラ６１により、水平である左カメラ６０の光軸と同じ高さにある、テストチャート６２の中心６３を撮影する場合を考える。図６に示す例の場合、右カメラ６１の平行移動に起因して、右カメラ６１のレンズの中心と中心６３とを通る直線が、中心６３側が下となるように傾く。
【００７３】
この結果、図６にファインダ画面Ｆを示すように、中心６３の左目用画像６３Ｌは、ファインダ画面Ｆの中央に位置する一方、中心６３の右目用画像６３Ｒは、ファインダ画面Ｆの中央から下側に位置する。右目用画像６３Ｒとファインダ画面Ｆの下辺との距離をｔ１とする。
【００７４】
また、図６では、該直線の傾きを考慮した、右カメラ６１の見かけ上の（すなわち、右カメラ６１より下にある中心６３を撮影する場合の実質的な）アオリ角度を、傾き角度β２としている。
【００７５】
図７は、左目用画像と、右目用画像との間で、上下ズレが発生する原理を示す別の図である。
【００７６】
図７において、左カメラ６０を基準とした場合、右カメラ６１は、左カメラ６０に対する、平行移動が発生していない（移動量ｙ２＝０）。また、図７において、右カメラ６１は、左カメラ６０に対する、上方向へのアオリ（図６と同じ傾き角度β２）が発生しているものとする。
【００７７】
ここで、移動量ｙ１と移動量ｙ２とは異なり、かつ、傾き角度β１と傾き角度β２とは異なる。しかしながら、左目用画像（第１画像データに相当）における中心６３の位置、および右目用画像（第２画像データに相当）における中心６３の位置は、図６に示す例と図７に示す例とで一致する。
【００７８】
すなわち、図７にファインダ画面Ｆを示すように、中心６３の左目用画像６３Ｌは、ファインダ画面Ｆの中央に位置する一方、中心６３の右目用画像６３Ｒは、ファインダ画面Ｆの中央から下側に位置する。ここで、右目用画像６３Ｒとファインダ画面Ｆの下辺との距離をｔ２とすると、図６と図７とで右カメラ６１の傾き角度β２が等しいため、距離ｔ２は上記距離ｔ１に等しくなる。
【００７９】
つまり、ある１つの被写体距離の被写体を撮影した場合、左カメラ６０および／または右カメラ６１において、平行移動およびアオリが発生していても、両カメラから取得した両画像間においては、該被写体の上下ズレが一見一致しているように見える。
【００８０】
つまり、ある１つの被写体距離の被写体を撮影するだけでは、取得した両画像間での上下ズレが、左カメラ６０および／または右カメラ６１における、平行移動に起因しているのか、それともアオリに起因しているのかを区別することができない。
【００８１】
これに対し、異なる被写体距離にある複数の被写体を撮影すると、取得した両画像間での上下ズレが、左カメラ６０および／または右カメラ６１における、平行移動に起因しているのか、それともアオリに起因しているのかを区別できるようになる。この原理を、図８および図９に基づいて、以下に説明する。
【００８２】
図８は、左目用画像と、右目用画像との間で、上下ズレが発生する原理を示すさらに別の図である。
【００８３】
図９は、左目用画像と、右目用画像との間で、上下ズレが発生する原理を示す他の図である。
【００８４】
右カメラ６１の平行移動およびアオリに関しては、図６に示す例と図８に示す例とで同じであり、図７に示す例と図９に示す例とで同じである。
【００８５】
一方、図８および図９に示す各例は、テストチャート６２と異なる位置にテストチャート６４を配置した点が、それぞれ図６および図７に示す各例と異なる。図８および図９において、テストチャート６４は、テストチャート６２より、左カメラ６０および右カメラ６１に近い位置に配置されており、その中心を中心６５としている。
【００８６】
ここで、左カメラ６０および右カメラ６１により、中心６３および６５を撮影する場合を考える。
【００８７】
図８に示す例の場合、右カメラ６１の平行移動に起因して、右カメラ６１のレンズの中心と中心６３とを通る直線が、中心６３側が下となるように傾く。図８では、該直線の傾きを考慮した、テストチャート６２に対する右カメラ６１の見かけ上の（すなわち、右カメラ６１より下にある中心６３を撮影する場合の実質的な）アオリ角度を、傾き角度β２＿１としている。
【００８８】
さらに、図８に示す例の場合、右カメラ６１の平行移動に起因して、右カメラ６１のレンズの中心と中心６５とを通る直線が、中心６５側が下となるように傾く。図８では、該直線の傾きを考慮した、テストチャート６４に対する右カメラ６１の見かけ上の（すなわち、右カメラ６１より下にある中心６５を撮影する場合の実質的な）アオリ角度を、傾き角度β２＿２としている。
【００８９】
ここで、右カメラ６１のレンズの中心と中心６５とを通る直線は、右カメラ６１のレンズの中心と中心６３とを通る直線より、傾きが大きくなっている。従って、傾き角度β２＿２は、傾き角度β２＿１と異なる角度であり、傾き角度β２＿１より大きくなっている。
【００９０】
この結果、図８にファインダ画面Ｆを示すように、中心６３の左目用画像６３Ｌは、ファインダ画面Ｆの中央位置する一方、中心６３の右目用画像６３Ｒは、ファインダ画面Ｆの中央から下側に位置する。左目用画像６３Ｌおよび右目用画像６３Ｒのファインダ画面Ｆにおける位置は、傾き角度β２＿１と傾き角度β２とが等しいならば、図６と同じである。一方、中心６５の左目用画像６５Ｌは、ファインダ画面Ｆの中央位置する一方、中心６５の右目用画像６５Ｒは、ファインダ画面Ｆの中央から右目用画像６３Ｒよりさらに下側に位置する結果となる。
【００９１】
一方、図９において、左カメラ６０を基準とした場合、右カメラ６１は、左カメラ６０に対する、平行移動が発生していない（移動量ｙ２＝０）。また、図９において、右カメラ６１は、左カメラ６０に対する、上方向へのアオリ（傾き角度β２）が発生している。該上方向へのアオリに起因する右カメラ６１のアオリ角度は、テストチャート６２に対してもテストチャート６４に対しても、傾き角度β２である（等しい）。
【００９２】
この結果、図９にファインダ画面Ｆを示すように、中心６３の左目用画像６３Ｌは、ファインダ画面Ｆの中央に位置する一方、中心６３の右目用画像６３Ｒは、ファインダ画面Ｆの中央から下側に位置する。これに対し、中心６５の左目用画像６５Ｌは、ファインダ画面Ｆの中央位置する一方、中心６５の右目用画像６５Ｒは、中心６３および中心６５の右カメラ６１の光軸に対する傾き角度β２が同じであるため、右目用画像６３Ｒと同じ位置となる。
【００９３】
このように、中心６５の左目用画像６５Ｌの位置は、図８に示す例と図９に示す例とで一致するが、中心６５の右目用画像６５Ｒの位置は、図８に示す例と図９に示す例との間で上下にズレる。
【００９４】
すなわち、カメラのアオリのみが発生している場合には、図９に示すとおり、アオリは、被写体距離によらず同じ角度である。一方、カメラの上下の平行移動が発生すると、図８に示すとおり、被写体距離に応じて異なる、該カメラの見かけ上のアオリ角度が生じる。このことから、カメラのアオリに起因する撮影画像の上下方向のズレは、被写体距離によらず一定であるが、カメラの平行移動に起因する撮影画像の上下方向のズレは、被写体距離に応じて異なることが分かる。
【００９５】
つまり、被写体距離が異なる複数の被写体を撮影することにより、取得した両画像間での上下ズレから、左カメラ６０および／または右カメラ６１における、平行移動とアオリとを区別することが可能となる。
【００９６】
実際のカメラでは、左カメラ６０と右カメラ６１とを、左右方向に離して配置するので、ファインダ画面Ｆ上では、左目用画像６３Ｌと右目用画像６３Ｒとの間で、左右方向における位置がズレることになる。特に、図８のように、互いに異なる距離にテストチャート６２および６４が配置される場合には、テストチャートの距離によって、該左右方向における位置は異なる。例えば、図８のファインダ画面Ｆ内における、左目用画像６３Ｌと右目用画像６３Ｒとは、実際には互いに左右方向にズレる。
【００９７】
なお、詳細は後述するが、実際の画像補正パラメータの算出においては、左カメラ６０および右カメラ６１のそれぞれが、遠方の被写体（テストチャート６２）および近方の被写体（テストチャート６４）のそれぞれを撮影して取得した、計４枚の画像を用いる。そして、各画像に写る同一の特徴点の座標を差し引きすることにより、左カメラ６０および／または右カメラ６１における、カメラの平行移動による移動量と、カメラのアオリによる傾き角度とを算出する。
【００９８】
また、左目用画像および右目用画像から算出すべき両画像間での上下ズレの量としては、カメラの平行移動による移動量、カメラのアオリによる傾き角度のほか、カメラの回転による回転角度がある。カメラの回転に関しては、左目用画像および右目用画像が並行となる該回転角度が無限に存在するため、１つの被写体距離の被写体を撮影するだけでは、適切な画像補正パラメータを確定することができない。
【００９９】
図１０は、左目用画像および右目用画像が並行となる該回転角度が無限に存在することを示す図である。
【０１００】
図１０中、「左目撮影画像」は、左目用画像を示している。図１０中、「右目撮影画像」は、右目用画像を示している。図１０中、「左調整後画像」は、左目撮影画像を補正した画像を示している。図１０中、「右調整後画像」は、右目撮影画像を補正した画像を示している。
【０１０１】
また、図１０には、左目撮影画像および右目撮影画像を補正する案を２つ示しており、それぞれ、補正案１および補正案２と称している。
【０１０２】
補正案１および補正案２はいずれも、左目撮影画像および右目撮影画像の両方に写っている被写体１００が互いに並行となるように、左目撮影画像および右目撮影画像を補正して、左調整後画像および右調整後画像を作成したものである。つまり、補正案１および補正案２ではいずれも、左調整後画像と右調整後画像との間で、被写体１００が並行となっている。
【０１０３】
しかしながら、被写体１００の天地が補正案１と補正案２とで異なっている。従って、補正案１および補正案２の少なくとも一方は、左調整後画像と右調整後画像との間で、被写体１００が並行となるように補正されているにも関わらず、画像の補正が不適切となっていると認められる。ここでは、補正案１のトリミング領域を示す破線が傾いているので、補正案１の方で回転ズレが発生している。
【０１０４】
また、カメラの回転に起因する撮影画像の上下方向のズレは、カメラの平行移動に起因する撮影画像の上下方向のズレと同じく、被写体距離に応じて異なるものとなる。以下、この理由について説明する。
【０１０５】
図１１の（ａ）〜（ｄ）は、カメラの回転に伴って、カメラの平行移動に相当する現象が発生する原理を示す図である。
【０１０６】
図１１の（ａ）および（ｃ）では、左カメラ６０および右カメラ６１において、平行移動およびアオリがいずれも発生していないが、回転が発生した状態を示している。なお、図１１の（ａ）および（ｃ）は、左カメラ６０のレンズ１１０の中心である中心１１１と、右カメラ６１のレンズ１１２の中心である中心１１３とを通る直線、すなわち直線１１４が水平になるように図示したものである。
【０１０７】
一方、図１１の（ｂ）および（ｄ）では、図１１の（ａ）および（ｃ）にそれぞれ示した状態を、左カメラ６０が正立となるように図示したものである。図１１の（ａ）と図１１の（ｂ）とは等価であり、図１１の（ｃ）と図１１の（ｄ）とは等価である。
【０１０８】
図１１の（ｂ）および（ｄ）によれば、左カメラ６０を正立させた状態にすると、直線１１４が左目用画像における水平方向（上下方向に対して垂直な方向）と一致していない。直線１１４が左目用画像における水平方向に対して傾いているということは、すなわち、中心１１１に対して中心１１３が、上下方向にズレているということを意味している。換言すれば、左カメラ６０に対する右カメラ６１の平行移動に相当する現象が起こっている。図示しないが、右カメラ６１が正立となる場合についても同様である。
【０１０９】
１つの画像から算出した画像補正パラメータの候補を、別の被写体距離で撮影した被写体の画像に適用すると、回転角度に対するパラメータが誤っている場合、補正後の画像に垂直ズレを生じてしまうが、正しい該パラメータの場合、垂直ズレを生じない。そこで、詳細は後述するが、携帯電話１の生産工程においても複数の被写体距離にて撮影を行い、左目用画像および右目用画像の双方にて、両画像間での上下ズレが最も小さくなる該パラメータを、正しい該パラメータとして採用する方式を選択している。
【０１１０】
〔上下ズレについてのまとめ〕
左右２つのカメラにより立体画像を撮影する、いわゆる２眼３Ｄカメラは、カメラ単体の組み付け精度や、２つのカメラの取り付け位置精度により、左右の各目用の取得画像間において、被写体の位置ズレが生じ得る。該位置ズレの主たる要因としては、カメラのアオリおよびカメラの回転等が挙げられ、その他にも、カメラの左右方向への傾きズレが、該位置ズレの要因となる場合もある。
【０１１１】
上記位置ズレは、左目用画像および右目用画像に対する、回転、平行移動、ならびにトリミングを行うことで補正することが可能である。
【０１１２】
従来、左目用画像および右目用画像の一方を基準として、他方の画像に角度ズレがあれば回転角度の補正を、上下左右の位置ズレがあれば平行移動による補正を行ってきた。
【０１１３】
図１２は、従来一般的な、画像の補正の一例を示す図である。図１２には、左目用画像１２０を基準として、右目用画像１２１を補正する例を示している。
【０１１４】
左目用画像１２０は、基準であるので、回転角度および上下左右の位置が維持されたままでトリミングが行われ、左目用補正画像１２２となる。
【０１１５】
一方、右目用画像１２１は、回転角度が左目用画像１２０と等しくなるように回転角度の補正が行われると共に、上下左右の位置が左目用画像１２０と等しくなるように平行移動による補正が行われる。換言すれば、右目用画像１２１は、該回転角度の補正および該平行移動による補正を反映するようにトリミングが行われ、右目用補正画像１２３となる。
【０１１６】
なお、上記回転角度の補正は、回転中心をどこにするかにより結果が変わり、これにより、上記平行移動による補正による補正量も変化する。例えば、図１２に示す例では、該回転角度の補正において、画像の中心を回転中心として右画像を左に回転させた場合、被写体の上下方向に対する補正量は、非常に小さくなり、ほぼゼロとなる。上記のように、回転角度の補正がある場合には、回転の補正と平行移動とは独立した項目ではない。結果、回転補正により、画像の上下の軸自体が回転する。
【０１１７】
図１３は、図１２に係る画像の補正を、左カメラ６０および右カメラ６１の位置に置換した場合の、左カメラ６０および右カメラ６１の動きを示す概念図である。
【０１１８】
図１２に係る画像の補正により、左カメラ６０および右カメラ６１において、カメラのアオリまたはカメラの回転が発生していない場合と同じ画像が得られることを、図１３に示している。
【０１１９】
しかしながら、左カメラ６０および右カメラ６１は、項目〔立体画像撮影装置における画像補正の原理〕で述べたとおり、上下ズレの要因となる回転誤差を有している場合がある。この場合、左目用画像および右目用画像の一方に写る被写体に、他方の画像に写る被写体を一致させたとしても、左カメラ６０のレンズの中心と、右カメラ６１のレンズの中心とを通る直線（すなわち、図１１の（ａ）および（ｂ）に示す直線１１４）が、左目用補正画像１２２および右目用補正画像１２３における水平方向と一致するとは限らない（図１１（ａ）〜（ｄ）参照）。
【０１２０】
上記直線が上記水平方向と一致しない状態で図１２および図１３に示す補正が完了した左目用補正画像１２２および右目用補正画像１２３は、被写体距離によって、被写体間での上下ズレの量が異なる。該上下ズレが発生していると、図１２に示す平行移動による補正では、該上下ズレを解消することができない場合がある。
【０１２１】
図１４は、左目用補正画像１２２と右目用補正画像１２３との間で上下ズレが発生している状態を示す図である。
【０１２２】
被写体１４１および１４２は、左目用補正画像１２２と右目用補正画像１２３との間で上下ズレを発生している。また、被写体１４１と被写体１４２とは、互いに異なる被写体距離となっているが、被写体１４１における該上下ズレのズレ量は、被写体１４２における該上下ズレのズレ量と異なっている。
【０１２３】
〔上下ズレを補正する方法の概要〕
以下、左目用画像と右目用画像との間での上下ズレを補正する方法の概要について説明する。
【０１２４】
左目用画像および右目用画像のトリミングを調整することで、これらの画像から立体画像を得ることが可能となる。
【０１２５】
左カメラ６０および右カメラ６１において、互いのカメラに回転角度の差（相対的な回転差）が発生すると、左目用画像と右目用画像との間で、角度ズレが発生する（図１５参照）。
【０１２６】
図１６は、上記互いに異なる回転角度のカメラの回転が発生した場合に、画像のトリミングを行う要領を示す図である。
【０１２７】
図１６によれば、左目用画像１６０に写る被写体１６４および１６５は、右目用画像１６１に写る被写体１６４および１６５と異なる方向を向いている。このように、左目用画像１６０と右目用画像１６１との間で、被写体１６４および１６５が互いに異なる方向を向いていると、被写体１６４および１６５は立体画像に見えない。
【０１２８】
そこで、画像の回転角度の補正により、左目用画像１６０に写る被写体１６４および１６５の向きと、右目用画像１６１に写る被写体１６４および１６５の向きとを揃えると、被写体１６４および１６５は立体画像に見える。図１６には、該画像の回転角度の補正に従って左目用画像１６０をトリミングした左目用補正画像１６２と、該画像の回転角度の補正に従って右目用画像１６１をトリミングした右目用補正画像１６３とを示している。なお、左目用画像１６０と右目用画像１６１とで被写体１６４および１６５の向きを揃えるような補正を行うためには、被写体１６４および１６５が２点以上の特徴点を有している必要がある。
【０１２９】
また、左カメラ６０および右カメラ６１において、互いに同じ方向かつ同じ回転角度のカメラの回転、またはカメラの平行移動が発生すると、左目用画像と右目用画像との間で、上下ズレが発生する（図１７参照）。
【０１３０】
図１８は、上記互いに同じ方向かつ同じ回転角度のカメラの回転、またはカメラの平行移動が発生した場合に、画像のトリミングを行う要領を示す図である。
【０１３１】
図１８によれば、左目用画像１６０に写る被写体１６４および１６５は、右目用画像１６１に写る被写体１６４および１６５に対して、上下ズレを発生している。このように、左目用画像１６０と右目用画像１６１との間で、被写体１６４および１６５に上下ズレが発生していると、被写体１６４および１６５は立体画像に見えない。加えて、図１８に係る上下ズレは、被写体距離に応じて上下方向のズレ量が変わるので、被写体１６４と被写体１６５とでは、該ズレ量が異なる。
【０１３２】
被写体距離に応じて上下方向のズレ量が変わる場合、画像の平行移動による補正を行うだけでは、図１８に係る上下ズレを適切に補正することができない。そこで、画像の回転角度の補正を行うことにより、該上下ズレを適切に補正することが可能となる。図１８には、該画像の回転角度の補正に従って左目用画像１６０をトリミングした左目用補正画像１６２と、該画像の回転角度の補正に従って右目用画像１６１をトリミングした右目用補正画像１６３とを示している。なお、画像の回転角度の補正を行うためには、被写体１６４および１６５として示すように、被写体距離が異なる複数の被写体が必要である。
【０１３３】
また、カメラのアオリ等に起因して、左カメラ６０および右カメラ６１において、一方のカメラの光軸が他方のカメラの光軸に対して上下方向にズレていると、左目用画像と右目用画像との間で、上下ズレが発生する（図１９参照）。
【０１３４】
図２０は、上記の光軸の上下方向へのズレが発生した場合に、画像のトリミングを行う要領を示す図である。
【０１３５】
図２０によれば、左目用画像１６０に写る被写体１６４および１６５は、右目用画像１６１に写る被写体１６４および１６５に対して、上下ズレを発生している。このように、左目用画像１６０と右目用画像１６１との間で、被写体１６４および１６５に上下ズレが発生していると、被写体１６４および１６５は立体画像に見えない。但し、図２０に係る上下ズレは、被写体距離によらず上下方向のズレ量が同じであるので、被写体１６４と被写体１６５とでは、該ズレ量が同じとなる。
【０１３６】
そこで、画像の平行移動による補正により、左目用画像１６０に写る被写体１６４および１６５の上下方向の位置と、右目用画像１６１に写る被写体１６４および１６５の上下方向の位置とを揃えることにより、図２０に係る上下ズレを解消することが可能となる。図２０には、該画像の平行移動による補正に従って左目用画像１６０をトリミングした左目用補正画像１６２と、該画像の平行移動による補正に従って右目用画像１６１をトリミングした右目用補正画像１６３とを示している。
【０１３７】
また、左カメラ６０の光軸と右カメラ６１の光軸とが、並行でないか所望の輻輳点で交差していない場合、左目用画像と右目用画像との間で、左右ズレが発生する（図２１参照）。
【０１３８】
図２２は、上記の光軸の左右方向へのズレが発生した場合に、画像のトリミングを行う要領を示す図である。
【０１３９】
図２２によれば、左目用画像１６０と右目用画像１６１との間で、被写体１６４および１６５に発生する左右方向へのズレが大きい場合、被写体１６４および１６５が、立体画像に見えなかったり、所望の位置より手前または奥に見えたりする。
【０１４０】
そこで、画像の平行移動による補正により、左目用画像１６０に写る被写体１６４および１６５の左右方向の位置と、右目用画像１６１に写る被写体１６４および１６５の左右方向の位置とを揃えることにより、左右方向へのズレを解消することが可能となる。図２２には、左目用画像１６０をトリミングした左目用補正画像１６２と、右目用画像１６１をトリミングした右目用補正画像１６３とを示している。この場合、被写体１６４および１６５は、被写体距離が既知である必要がある。
【０１４１】
実施の形態で説明する画像補正方法においては、互いに異なる被写体距離にある２つ以上の被写体を用いて、該被写体の一方が１つ以上の特徴点を有しており、該被写体の他方が２つ以上の特徴点を有している必要がある。
【０１４２】
〔画像補正方法のポイント〕
実施の形態で説明する画像補正方法においては、左目用画像および右目用画像から、「傾いた長方形」を切り出すことで、左右２基のカメラ（すなわち、左カメラ６０および右カメラ６１）間での、角度ズレおよび上下方向のズレ等を補正する。
【０１４３】
従来の方法では、左目用画像と右目用画像との間での、相対的なズレを補正していた。左右２基のカメラが同じ方向に同じ角度回転している場合、左目用画像と右目用画像との間での上下ズレが生じるが、従来の方法では、左目用画像および／または右目用画像のトリミング位置を上下方向にずらすことで、該上下ズレを補正していた。
【０１４４】
しかしながら、左右２基のカメラが同じ方向に同じ角度回転している場合、被写体距離に応じて上下方向のズレ量が変わるため、従来の方法では、あらゆる被写体距離にある被写体に合わせて上下ズレを補正することはできなかった。
【０１４５】
そこで、実施の形態で説明する画像補正方法においては、左カメラのレンズの中心と、右カメラのレンズの中心とを通る直線を、絶対的な基準線として、該基準線に対して、画像のずれを補正する。これにより、被写体がどの距離にあっても、上下ズレを補正することが可能となる。
【０１４６】
実施の形態で説明する画像補正方法に係る、画像の補正手順は、図１を参照すると、以下のとおりである。
【０１４７】
（手順１：Ｓ１）異なる２つの距離（被写体距離）ＡおよびＢに対して、距離Ａにある、検出可能な特徴点を少なくとも２つ有する被写体ａ（第１被写体）と、距離Ｂにある、検出可能な特徴点を少なくとも１つ有する被写体ｂ（第２被写体）とを、左右２基のカメラで撮影する。左カメラ（第１カメラ）が被写体ａを撮影（取得）した画像を左目用画像ａ（第１参照画像）とし、右カメラ（第２カメラ）が被写体ａを撮影した画像を右目用画像ａ（第２参照画像）とし、左カメラが被写体ｂを撮影した画像を左目用画像ｂ（第３参照画像）とし、右カメラが被写体ｂを撮影した画像を右目用画像ｂ（第４参照画像）とする。なお、左目用画像ａと左目用画像ｂとは、異なる画像であってもよいし、同一の画像であってもよい。右目用画像ａと右目用画像ｂとについても同様に、異なる画像であってもよいし、同一の画像であってもよい。すなわち、被写体ａおよび被写体ｂの両方が写るように、左カメラによる撮影および右カメラによる撮影の少なくとも一方を行ってもよい。換言すれば、左カメラのみが、１つの画像に被写体ａおよび被写体ｂが写るように撮影を行ってもよいし、右カメラのみが、１つの画像に被写体ａおよび被写体ｂが写るように撮影を行ってもよいし、左右両方のカメラが、１つの画像に被写体ａおよび被写体ｂが写るように撮影を行ってもよい。
【０１４８】
（手順２：Ｓ２）左目用画像ａおよび右目用画像ａから被写体ａの特徴点を２つ以上検出し、左目用画像ｂおよび右目用画像ｂから被写体ｂの特徴点を１つ以上検出する。
【０１４９】
（手順３：Ｓ３）被写体ａの２つの特徴点から、左右２基のカメラ間の相対的な角度差分、すなわち左カメラの光軸を中心とする左カメラの回転角度に対する、右カメラの光軸を中心とする右カメラの回転角度の差分（Δθ：相互回転角度差分）を算出する。そして、左目用画像ａおよび右目用画像ａに対して、Δθを相殺するようにΔθによる回転角度の補正を行う。すなわち、この段階で、左目用画像ａに対する回転角度の補正係数をΔθ／２とし、右目用画像ａに対する回転角度の補正係数を−Δθ／２とする。
【０１５０】
（手順４：Ｓ４）（手順３）による補正後における、左目用画像ａおよび右目用画像ａの両方を、任意の角度（Δφ：所定角度）回転させる。そして、被写体ａの２個の特徴点の、左目用画像ａと右目用画像ａとの間での上下方向における差分（ΔＹ：第１上下ズレ）を算出する。
【０１５１】
（手順５：Ｓ５）左目用画像ｂおよび右目用画像ｂの両方を、Δθ、Δφ、およびΔＹに基づいて、ΔθおよびΔＹを相殺するように、かつΔφ回転させて補正する。すなわち、左目用画像ｂに対する補正係数は、
回転角度：Δθ／２+Δφ
上下移動：ΔＹ／２
とし、右目用画像ｂに対する補正係数は、
回転角度：−Δθ／２+Δφ
上下移動：−ΔＹ／２
とする。その後、被写体ｂの特徴点の、左目用画像ｂと右目用画像ｂとの間での上下方向におけるズレ（ΔＹ´：第２上下ズレ）を算出する。
【０１５２】
（手順６：Ｓ６１およびＳ６２）複数のΔφについて（手順４）および（手順５）に示す操作を繰り返し行い、ΔＹ´が最小となるΔφおよびΔＹを求める。
【０１５３】
（手順７：Ｓ７）左目用画像ａおよび右目用画像ａに写る被写体ａ同士が、また、左目用画像ｂおよび右目用画像ｂに写る被写体ｂ同士が、無限遠または所望の輻輳点で重なるように、補正すべき距離（ΔＸ）を求める。
【０１５４】
（手順１）〜（手順７）を行った結果、左カメラ（第１撮影部１１）から取得した左目用画像（第１画像データに相当）に対する補正係数は、
回転角度：Δθ／２+Δφ
上下移動：ΔＹ／２
左右移動：ΔＸ／２
とし、右カメラ（第２撮影部１２）から取得した右目用画像（第２画像データに相当）に対する補正係数は、
回転角度：−Δθ／２+Δφ
上下移動：−ΔＹ／２
左右移動：−ΔＸ／２
とする。
【０１５５】
その後、上記の、左目用画像に対する補正係数、および右目用画像に対する補正係数を、画像補正パラメータとしてトリミング部１６（図３参照）に供給する。画像記憶部１５にそれぞれ記憶される、第１画像データとしての左目用画像および第２画像データとしての右目用画像を参照して、トリミング部１６は、該画像補正パラメータに基づいて（該画像補正パラメータにより規定される補正を反映するように）、左目用画像および右目用画像のトリミングを行い、第１補正画像データおよび第２補正画像データを生成する。これにより、本発明に係る画像補正方法により、左目用画像および右目用画像それぞれの補正を行う携帯電話１を実現することができる。
【０１５６】
なお、手順３では、左目用画像ａおよび右目用画像ａの両方に対して、Δθによる回転角度の補正を行ったが、左目用画像ａおよび右目用画像ａのいずれか一方を補正する手法を採用してもよい。
【０１５７】
また、手順５では、左目用画像ｂおよび右目用画像ｂの両方に対して、Δθ、Δφ、およびΔＹに基づく補正を行ったが、このうちΔθおよびΔＹに関しては、左目用画像ｂおよび右目用画像ｂのいずれか一方を補正する手法を採用してもよい。一方、Δφに関しては、左目用画像ｂおよび右目用画像ｂの、同方向および同角度の回転補正であるため、いずれか一方を補正することはできず、両方を補正する必要がある。
【０１５８】
さらに、上記の各手順では、左目用画像および右目用画像の両方をトリミングするものとして説明を行ったが、トリミングにより立体画像が取得できるのであれば、左目用画像および右目用画像のいずれか一方をトリミングしてもよい。
【０１５９】
ここで、上記画像補正方法を行う際のポイントについて説明する。
【０１６０】
上述したとおり、左目用画像と右目用画像との間で、被写体のズレが発生する要因としては、（要因Ａ）〜（要因Ｄ）の４つが挙げられる。
【０１６１】
（要因Ａ）左カメラおよび右カメラ間での回転角度の差（相対的な回転差）によるズレ。
【０１６２】
（要因Ｂ）左カメラおよび右カメラが同方向に同じ回転角度だけ回転したことによるズレ、または左カメラおよび右カメラ間での上下方向の取り付け位置ズレ。
【０１６３】
（要因Ｃ）左カメラおよび右カメラの各光軸間での、上下方向の傾きによるズレ。
【０１６４】
（要因Ｄ）左カメラおよび右カメラの各光軸間での、左右方向の傾きによるズレ。
【０１６５】
（要因Ｂ）に係るカメラの上下方向の取り付け位置ズレは、２基のカメラの各々のレンズの中心位置を通る直線を水平とみなすと、（要因Ｂ）に係るカメラの同方向かつ同じ回転角度の回転によるズレと等価として扱うことができる。
【０１６６】
（要因Ａ）〜（要因Ｄ）のうち、左目用画像と右目用画像との間での上下ズレを生じさせるのは（要因Ｂ）および（要因Ｃ）である。（要因Ｂ）に係る上下ズレは、被写体距離によって上下方向へのズレ量が変わるのに対し、（要因Ｃ）に係る上下ズレのズレ量は、被写体距離によらない。そのため、（要因Ｂ）と（要因Ｃ）とで個別に補正を行う必要があるが、特定の距離にある被写体を撮影するだけではこれらを区別することはできない。上記画像補正方法を用いれば、（要因Ｂ）と（要因Ｃ）とを別々に補正する形で、画像の調整を行うことができる。
【０１６７】
なお、上記（手順２）では、被写体ａから２つの特徴点を検出している。一方、上記（手順２）では、被写体ａから２つの特徴点を検出する代わりに、被写体ａから１つの特徴点を検出し、かつ左目用画像ａに対する右目用画像ａの回転角度が特定可能なものを、左目用画像ａおよび右目用画像ａから検出しても、同様の方法が実施可能である。なお、この線は、被写体として写っているものである必要は無い。換言すれば、左目用画像ａおよび右目用画像ａにおいて、被写体ａおよびその周辺（背景等）を被写体領域として撮影し、左目用画像ａおよび右目用画像ａから、該被写体領域に写る線を検出すればよい。
【０１６８】
具体的には、左目用画像ａおよび右目用画像ａから、Δθを算出するためには、左目用画像ａおよび右目用画像ａから、左目用画像ａに対する右目用画像ａの回転角度を特定することが可能なもの、すなわち、左目用画像ａおよび右目用画像ａの両方に写る線を検出すれば十分である。一方、左目用画像ａおよび右目用画像ａから、ΔＹを算出するためには、被写体ａの特徴点を１つ以上検出する必要がある。
【０１６９】
また、左目用画像に対する補正係数、および右目用画像に対する補正係数を、画像補正パラメータとしてトリミング部１６に供給するタイミングは、携帯電話１の製品としての出荷前であってもよい。また、該タイミングは、携帯電話１の出荷後、例えば携帯電話１の修理時であってもよい。
【０１７０】
なお、手順１が第１工程に、手順２が第２工程に、手順３が第３工程に、手順４が第４工程に、手順５が第５工程に、手順６が第６工程に、手順７が第７工程に、それぞれ該当する。
【０１７１】
〔画像補正方法の具体例〕
図２３は、画像補正方法において検出する特徴点の座標の一覧を示す表である。
【０１７２】
図２４は、画像の切り出し座標の一覧を示す表である。
【０１７３】
図２５は、画像補正方法において使用する定数の一覧（一例）を示す表である。
【０１７４】
図２６は、画像補正方法において使用する変数の一覧を示す表である。なお、図２６に記載していない変数については、便宜上、以下の各ステップ内で定義している。
【０１７５】
（ステップ１：被写体距離Ａおよび被写体距離Ｂの被写体を、左右２基のカメラで撮影し、それぞれの画像に写る特徴点の座標を検出する）
まず、被写体距離Ａの被写体（第１被写体）を左カメラ（第１カメラ）で撮影した画像をＡ左（第１参照画像）、被写体距離Ａの被写体を右カメラ（第２カメラ）で撮影した画像をＡ右（第２参照画像）とする。
【０１７６】
続いて、被写体距離Ｂの被写体（第２被写体）を左カメラで撮影した画像をＢ左（第３参照画像）、被写体距離Ｂの被写体を右カメラで撮影した画像をＢ右（第４参照画像）とする。
【０１７７】
続いて、画像Ａ左から、特徴点Ａ１およびＢ１を検出する（図２７（ａ）参照）と共に、画像Ａ右から、特徴点Ａ１およびＢ１に対応する特徴点Ａ２およびＢ２を検出する（図２７（ｂ）参照）。続いて、画像Ｂ左から、特徴点Ａ３を検出する（図２７（ｃ）参照）と共に、画像Ｂ右から、特徴点Ａ３に対応する特徴点Ａ４を検出する（図２７（ｄ）参照）。なお、これらの各特徴点の検出は、周知慣用技術で実現可能であるので、詳細な説明は省略する。
【０１７８】
（ステップ２：画像Ａ左と画像Ａ右との、回転方向の角度の差を算出し、画像Ａ左と画像Ａ右とが互いに水平となる回転角度を算出する）
（イ）画像Ａ左から算出した２つの特徴点を結ぶ直線の傾きを算出する。すなわち、
点Ａ１と点Ｂ１とを結ぶ直線の水平に対する傾き：
θ１＝ATAN2（（X12-X11）,（Y12-Y11））
を算出する。
【０１７９】
（ロ）画像Ａ右から算出した２つの特徴点を結ぶ直線の傾きを算出する。すなわち、
点Ａ２と点Ｂ２とを結ぶ直線の水平に対する傾き：
θ２＝ATAN2（（X22-X21）,（Y22-Y21））
を算出する。ATAN2とは、三角関数のアークタンジェントを求める一般的な関数であり、ある点の座標（x,y）と原点を結ぶ線の傾き（角度、単位はラジアン）を求める。
【０１８０】
（ハ）上記（イ）および（ロ）の算出結果から、左カメラから取得した画像および右カメラから取得した画像のそれぞれの、調整回転角度（θＬ１、θＲ１）を算出する。すなわち、
左画像（左カメラから取得した第１画像）調整回転角度：θＬ１＝（θ２−θ１）／２
右画像（右カメラから取得した第２画像）調整回転角度：θＲ１＝−（θＬ１）
を算出する。
【０１８１】
（ステップ３：左カメラおよび右カメラ共通の、最適な回転ズレの角度を算出する）
算出手順としては、左カメラから取得した画像と右カメラから取得した画像とで共通の、回転補正量Δφを変化させて、下記（イ）〜（ホ）を繰り返す。
【０１８２】
なお、一例として、回転補正量Δφを変化させる範囲およびステップは、以下のとおりとする。
【０１８３】
開始角度：−１０°
終了角度：１０°
変化ステップ：０．０１°
但し、回転補正量Δφを変化させる範囲、回転補正量Δφを変化させるステップは任意である。原理的には、左右９０°の範囲で、どのような細かさ（ステップ）で、回転補正量Δφを変化させても問題ない。
【０１８４】
（イ）ステップ２で算出した左画像調整回転角度および右画像調整回転角度に、回転補正量Δφを加えた角度を算出する。すなわち、
左右カメラ共通の回転ズレΔφを加えた左画像調整回転角度：θＬ２＝θＬ１＋Δφ
左右カメラ共通の回転ズレΔφを加えた右画像調整回転角度：θＲ２＝θＲ１＋Δφ
を算出する。
【０１８５】
（ロ）点Ａ１と点Ｂ１とを回転角θＬ２で回転させたときの座標、および点Ａ２と点Ｂ２とを回転角θＲ２で回転させたときの座標を算出する。
【０１８６】
まず、回転の中心軸を画像の中心と仮定して回転を行う。画像Ａ左および画像Ａ右の中央の座標（Xcenter，Ycenter）を算出する。すなわち、
Xcenter＝Size_O_x／２
Ycenter＝Size_O_y／２
を算出する。
【０１８７】
続いて、回転中心座標（Xcenter，Ycenter）を中心として、点Ａ１および点Ｂ１の移動先の座標を算出する。すなわち、
点Ａ１の回転先の点Ａ１´（X11',Y11'）の座標：
X11'=（X11-Xcenter）*COS（θＬ２）-（Y11-Ycenter）*SIN（θＬ２）+Xcenter
Y11'=（X11-Xcenter）*SIN（θＬ２）+（Y11-Ycenter）*COS（θＬ２）+Ycenter
点Ｂ１の回転先の点Ｂ１´（X12',Y12'）の座標：
X12'=（X12-Xcenter）*COS（θＬ２）-（Y12-Ycenter）*SIN（θＬ２）+Xcenter
Y12'=（X12-Xcenter）*SIN（θＬ２）+（Y12-Ycenter）*COS（θＬ２）+Ycenter
を算出する。
【０１８８】
続いて、回転中心座標（Xcenter，Ycenter）を中心として、点Ａ２および点Ｂ２の移動先の座標を算出する。すなわち、
点Ａ２の回転先の点Ａ２´（X21',Y21'）の座標：
X21'=（X21-Xcenter）*COS（θＲ２）-（Y21-Ycenter）*SIN（θＲ２）+Xcenter
Y21'=（X21-Xcenter）*SIN（θＲ２）+（Y21-Ycenter）*COS（θＲ２）+Ycenter
点Ｂ２の回転先の点Ｂ２´（X22',Y22'）の座標：
X22'=（X22-Xcenter）*COS（θＲ２）-（Y22-Ycenter）*SIN（θＲ２）+Xcenter
Y22'=（X22-Xcenter）*SIN（θＲ２）+（Y22-Ycenter）*COS（θＲ２）+Ycenter
を算出する。
【０１８９】
（ハ）上記（ロ）で算出した座標値から、画像Ａ左と画像Ａ右との間での、Ｘ方向の傾きによるズレ（水平のアオリ）およびＹ方向の傾きによるズレ（垂直のアオリ）を算出する。
【０１９０】
まず、回転補正後の座標である、点Ａ１´および点Ａ２´の座標から、画像Ａ左と画像Ａ右との間での、Ｘ方向およびＹ方向のズレ量を算出する。すなわち、
点Ａ１´と点Ａ２´との間でのＸ方向のズレ：ΔＸ＝X21'-X11'
点Ａ１´と点Ａ２´との間でのＹ方向のズレ：ΔＹ＝Y21'-Y11'
を算出する。
【０１９１】
続いて、左カメラから取得した画像と右カメラから取得した画像とのそれぞれにおける、Ｘ方向およびＹ方向の補正量を算出する。すなわち、
左画像Ｘ方向補正量：ΔＸＬ＝ΔＸ／２
左画像Ｙ方向補正量：ΔＹＬ＝ΔＹ／２
右画像Ｘ方向補正量：ΔＸＲ＝−（ΔＸＬ）
右画像Ｙ方向補正量：ΔＹＲ＝−（ΔＹＬ）
を算出する。
【０１９２】
（ニ）点Ａ３を回転角度θＬ２で回転させたときの座標、および点Ａ４を回転角θＲ２で回転させたときの座標を算出する。
【０１９３】
まず、回転の中心軸を画像の中心と仮定して回転を行う。回転中心座標（Xcenter,Ycenter）を中心として、点Ａ３および点Ａ４の移動先の座標を算出する。すなわち、
点Ａ３の回転先の点Ａ３´（X31',Y31'）の座標：
X31'=（X31-Xcenter）*COS（θＬ２）-（Y31-Ycenter）*SIN（θＬ２）+Xcenter
Y31'=（X31-Xcenter）*SIN（θＬ２）+（Y31-Ycenter）*COS（θＬ２）+Ycenter
点Ａ４の回転先の点Ａ４´（X41',Y41'）の座標：
X41'=（X41-Xcenter）*COS（θＲ２）-（Y41-Ycenter）*SIN（θＲ２）+Xcenter
Y41'=（X41-Xcenter）*SIN（θＲ２）+（Y41-Ycenter）*COS（θＲ２）+Ycenter
を算出する。
【０１９４】
続いて、上記回転後の点Ａ３´と点Ａ４´とをＹ方向に移動させたときの座標を算出する。すなわち、
点Ａ３の移動先の点Ａ３´´のＹ座標（Y31''）：Y31''＝Y31'＋ΔＹＬ
点Ａ４の移動先の点Ａ４´´のＹ座標（Y41''）：Y41''＝Y41'＋ΔＹＲ
を算出する。
【０１９５】
（ホ）上記（ニ）で算出した移動後の座標におけるＹ座標間誤差を算出する。
【０１９６】
点Y31''と点Y41''座標のＹ方向の誤差を算出する。すなわち、
Y31''とY41''とのＹ方向のズレ：ΔＹ´＝Y41''−Y31''
を算出する。
【０１９７】
（ヘ）回転補正量Δφの値を変化させて、上記（イ）〜（ホ）を繰り返す。
【０１９８】
（ト）上記（イ）〜（ヘ）を繰り返し実行し、（ホ）で算出したΔＹ´が最小となるときの回転補正量Δφの値を、最適調整回転角であると判断し、その時の補正量を最適な補正量とする。
【０１９９】
まず、Ｙ座標間誤差（ΔＹ´）が最小となる回転補正量Δφを探し、その角度を最適な共通調整角Δθとする。
【０２００】
続いて、左カメラから取得した画像および右カメラから取得した画像の最適調整回転角度を算出する。すなわち、
最適な左画像調整回転角度：θＬ３＝θＬ１＋Δθ
最適な右画像調整回転角度：θＲ３＝θＲ１＋Δθ
を算出する。
【０２０１】
続いて、共通の回転補正量ΔφをΔθと等しくしたときの、画像Ａ左と画像Ａ右との、Ｘ方向補正量（ΔＸＬおよびΔＸＲ）ならびにＹ方向補正量（ΔＹＬおよびΔＹＲ）を最適な補正量と決める。
【０２０２】
（ステップ４：逆補正量を算出する）
上記ステップ３の（ト）で求めた最適調整量の逆補正値を算出する。すなわち、
最適な左カメラ側調整回転角度（逆補正値）：θＬ４＝−θＬ３
最適な右カメラ側調整回転角度（逆補正値）：θＲ４＝−θＲ３
左カメラ側Ｘ方向補正量（逆補正値）：ΔＸＬ´＝−ΔＸＬ
右カメラ側Ｘ方向補正量（逆補正値）：ΔＸＲ´＝−ΔＸＲ
左カメラ側Ｙ方向補正量（逆補正値）：ΔＹＬ´＝−ΔＹＬ
右カメラ側Ｙ方向補正量（逆補正値）：ΔＹＲ´＝−ΔＹＲ
を算出する。
【０２０３】
（ステップ５：左右画像それぞれの切り出し座標を算出する）
（イ）元画像のサイズおよび切り出しサイズから、切り出す座標を算出する為の基準点（補正量がすべて０のときの切り出し座標）を算出する。但し、本来、該基準点は定数であるので計算不要である。
【０２０４】
まず、左画像の切り出し基準点をＡ５、Ｂ５、Ｃ５、Ｄ５とする。また、右画像の切り出し基準点をＡ６、Ｂ６、Ｃ６、Ｄ６とする。そして、Ａ５、Ｂ５、Ｃ５、Ｄ５に関しては、
点Ａ５の座標（X51,Y51）：
X51＝（Size_O_x−Size_S_x）／２
Y51＝（Size_O_y−Size_S_y）／２
点Ｂ５の座標（X52,Y52）：
X52＝X51＋（Size_S_x−1）
Y52＝Y51
点Ｃ５の座標（X53,Y53）：
X53＝X51
Y53＝Y51＋（Size_S_y−1）
点Ｄ５の座標（X54,Y54）：
X54＝X52
Y54＝Y53
を算出する。Ａ６、Ｂ６、Ｃ６、Ｄ６に関しても同様に、点Ａ６の座標（X61,Y61）、点Ｂ６の座標（X62,Y62）、点Ｃ６の座標（X63,Y63）、および点Ｄ６の座標（X64,Y64）をそれぞれ算出する。
【０２０５】
（ロ）上記（イ）で算出した左右基準点（全部で８点）の座標を、上記ステップ４で算出したＸ方向補正量（逆補正値）、およびＹ方向補正量（逆補正値）で移動させたときの座標を算出する。すなわち、
点Ａ５の移動先の点Ａ５´の座標（X51',Y51'）：
X51'＝X51＋ΔＸＬ´
Y51'＝Y51＋ΔＹＬ´
（同様に点Ｂ５´／点Ｃ５´／点Ｄ５´のＹ座標を算出する）
点Ａ６の移動先の点Ａ６´の座標（X61',Y61'）：
X61'＝X61＋ΔＸＲ´
Y61'＝Y61＋ΔＹＲ´
（同様に点Ｂ６´／点Ｃ６´／点Ｄ６´のＹ座標を算出する）
を算出する。
【０２０６】
（ハ）画像の中央の座標（Xcenter,Ycenter）を中心として、上記ステップ４で算出した最適調整回転角（逆補正値）で、上記（イ）で求めた８点を回転したときの座標を算出する。すなわち、
点Ａ５の回転先の点Ａ５´´（S_X51,S_Y51）の座標：
S_X51=（X51'-Xcenter）*COS（θＬ４）-（Y51'-Ycenter）*SIN（θＬ４）+Xcenter
S_Y51=（X51'-Xcenter）*SIN（θＬ４）+（Y51'-Ycenter）*COS（θＬ４）+Ycenter
（同様に点Ｂ５´´／点Ｃ５´´／点Ｄ５´´の座標を算出する）
点Ａ６の回転先の点Ａ６´´（S_X61,S_Y61）の座標：
S_X61=（X61'-Xcenter）*COS（θＲ４）-（Y61'-Ycenter）*SIN（θＲ４）+Xcenter
S_Y61=（X61'-Xcenter）*SIN（θＲ４）+（Y61'-Ycenter）*COS（θＲ４）+Ycenter
（同様に点Ｂ６´´／点Ｃ６´´／点Ｄ６´´の座標を算出する）
（ステップ６：終了）
ステップ５により決定された左右画像それぞれの切り出し座標を、画像補正パラメータとしてトリミング部１６（図３参照）に供給する。画像記憶部１５にそれぞれ記憶される、第１画像データとしての左画像および第２画像データとしての右画像を参照して、トリミング部１６は、該画像補正パラメータに基づいて、左画像および右画像のトリミングを行い、第１補正画像データおよび第２補正画像データを生成する。これにより、本発明に係る画像補正方法により、左右画像それぞれの補正を行う携帯電話１を実現することができる。
【０２０７】
また、本発明の立体画像撮影装置は、上記第１カメラの取り付け位置を、上記第２カメラに対して上下方向にズラした場合に、上記トリミング部により上記第１画像をトリミングして得られた画像、および上記トリミング部により上記第２画像をトリミングして得られた画像の両方が、互いに同じ回転角度により回転される。
【０２０８】
本発明の画像補正方法によれば、立体画像撮影装置における第１カメラの取り付け位置を、第２カメラに対して上下方向に敢えてズラした場合、それに伴い、第１カメラの中心と第２カメラの中心とを通る直線を基準として、トリミングを行った結果、第１画像をトリミングして得られた画像および第２画像をトリミングして得られた画像の両方が、互いに同じ回転角度により回転するという現象が起こる。該現象が起こる立体画像撮影装置は、本発明の立体画像撮影装置であると考えてよい。
【０２０９】
なお、原理的には、遠方の被写体と近方の被写体との両方を、同時に左右それぞれ１回の撮影（左右２枚の画像）で取り込み、その各画像から、遠方の被写体の特徴点と、近方の被写体の特徴点をそれぞれ検出することも可能である。例えば、これらの各画像において、上半分に遠方の被写体が、下半分に近方の被写体が写るように撮影し、特徴点を検出する際に、画像の上下を半分ずつに分けて特徴点の検出を行ってもよい。
【０２１０】
ピントをうまく合わせることができれば、あるいはピントが甘くても特徴点の検出が可能な程度で撮影できれば、近距離の被写体と遠距離の被写体とを同時に撮影することは可能である。
【０２１１】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０２１２】
本発明は、立体画像を撮影する立体画像撮影装置に内蔵された、２基のカメラから取得した各画像の補正を行う画像補正方法、およびこの画像補正方法により２基のカメラから取得した各画像の補正を行う立体画像撮影装置に利用することができる。
【符号の説明】
【０２１３】
１  携帯電話（立体画像撮影装置）
１１  第１撮影部（第１カメラ）
１２  第２撮影部（第２カメラ）
１６  トリミング部
【図１】
0005718149.tif 000002
【図２】
0005718149.tif 000003
【図３】
0005718149.tif 000004
【図４】
0005718149.tif 000005
【図５】
0005718149.tif 000006
【図６】
0005718149.tif 000007
【図７】
0005718149.tif 000008
【図８】
0005718149.tif 000009
【図９】
0005718149.tif 000010
【図１０】
0005718149.tif 000011
【図１１】
0005718149.tif 000012
【図１２】
0005718149.tif 000013
【図１３】
0005718149.tif 000014
【図１４】
0005718149.tif 000015
【図１５】
0005718149.tif 000016
【図１６】
0005718149.tif 000017
【図１７】
0005718149.tif 000018
【図１８】
0005718149.tif 000019
【図１９】
0005718149.tif 000020
【図２０】
0005718149.tif 000021
【図２１】
0005718149.tif 000022
【図２２】
0005718149.tif 000023
【図２３】
0005718149.tif 000024
【図２４】
0005718149.tif 000025
【図２５】
0005718149.tif 000026
【図２６】
0005718149.tif 000027
【図２７】
0005718149.tif 000028