撮像装置、その制御方法及びプログラム
【課題】動きベクトルを検出する際の探索領域を適切に設定し、動きベクトルの検出効率を上げる。
【解決手段】画像補正部210は、レンズ部の歪曲収差特性に応じて、撮像部により第1の時点に生成された画像データに対応する参照画像データと、撮像部により前記第1の時点より後の第2の時点に生成された画像データとの歪曲収差を補正する。動き検出部A203は、歪曲収差が補正された参照画像データと画像データとに基づいて、動きベクトルを検出する。ベクトル補正部204は、レンズ部の歪曲収差特性に応じて、動きの検出部A203により検出された動きベクトルについて、各画像の歪曲収差補正により生じた誤差成分を補正する。動き検出部B205は、補正された動きベクトルに基づいて動きベクトルの探索範囲を設定し、当該探索範囲で動きベクトルを検出する。
【解決手段】画像補正部210は、レンズ部の歪曲収差特性に応じて、撮像部により第1の時点に生成された画像データに対応する参照画像データと、撮像部により前記第1の時点より後の第2の時点に生成された画像データとの歪曲収差を補正する。動き検出部A203は、歪曲収差が補正された参照画像データと画像データとに基づいて、動きベクトルを検出する。ベクトル補正部204は、レンズ部の歪曲収差特性に応じて、動きの検出部A203により検出された動きベクトルについて、各画像の歪曲収差補正により生じた誤差成分を補正する。動き検出部B205は、補正された動きベクトルに基づいて動きベクトルの探索範囲を設定し、当該探索範囲で動きベクトルを検出する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、歪曲収差特性を有するレンズからの入射光に基づいて生成される画像データから動きベクトルを検出する技術に関するものである。
【背景技術】
【0002】
被写体を撮像し、撮像された動画像を符号化して、記録するデジタルビデオカメラやデジタルスチルカメラがある。このようなデジタルビデオカメラやデジタルスチルカメラには、レンズが着脱可能な交換レンズタイプ(例えば、デジタル一眼カメラ)がある。撮影シーンによって、望遠レンズや広角レンズ等、様々なレンズに交換できるようになっている。レンズの中には魚眼レンズと呼ばれる大きな歪曲歪みを持つ超広角レンズがある。超広角レンズによって撮影される画像は、フレームの中央ほど拡大され、フレームの周辺ほど縮小された画像となる特性がある。一方、超広角レンズを装着した撮像装置において、レンズの歪曲収差特性を補正するものが知られている(例えば、特許文献1参照。)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−193458号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、動画像を撮像して入力信号とする装置においては、動画像データを圧縮符号化して記録媒体に記録する手法が一般的である。動画像データを符号化する符号化方式には、MPEG2やH.264等の高能率符号化方式が知られている。高能率符号化方式では、高い圧縮効率を得るために、異なる時刻のフレームに基づいて予測画像データを生成し、入力画像データと予測画像データとの差分画像データを符号化するフレーム間予測(インター予測)と呼ばれる方法がとられている。このフレーム間予測において欠かせない技術として動き補償がある。この技術は、動きベクトルを検出し、参照画像データと動きベクトルとから予測画像データを生成することで、差分画像データの情報量をより低減するために使用される。
【0005】
ここで、撮像された画像データが大きく歪んでいた場合、従来の手法で動き補償をすると次のような問題が生じる。例えば、レンズの歪曲収差特性によって被写体が歪むことで、入力画像データ内の被写体と参照画像データ内の被写体との形が異なり、動き補償を行う際に符号化効率が低下するという課題があった。
【0006】
そこで、本発明の目的は、動きベクトルを検出する際の探索領域を適切に設定し、動きベクトルの検出効率を上げることにある。
【課題を解決するための手段】
【0007】
本発明の撮像装置は、レンズを介して入射される被写体像から画像データを生成する撮像手段と、前記レンズの歪曲収差特性に応じて、前記撮像手段により第1の時点に生成された画像データに対応する参照画像データに含まれる歪曲収差と、前記撮像手段により前記第1の時点より後の第2の時点に生成された画像データに含まれる歪曲収差とをそれぞれ補正する画像補正手段と、前記画像補正手段により歪曲収差が補正された前記参照画像データと前記画像データとに基づいて、動きベクトルを検出する第1の検出手段と、前記レンズの歪曲収差特性に応じて、前記第1の検出手段により検出された動きベクトルに含まれる前記画像補正手段による歪曲収差補正により生じた誤差成分を補正するベクトル補正手段と、前記ベクトル補正手段により補正された動きベクトルに基づいて動きベクトルの探索範囲を設定し、当該探索範囲で動きベクトルを検出する第2の検出手段とを有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、動きベクトルを検出する際の探索領域を適切に設定することが可能となり、動きベクトルの検出効率を上げることができる。
【図面の簡単な説明】
【0009】
【図1】本発明の第1の実施形態に係る撮像装置の構成を示す図である。
【図2】動き検出部の詳細な構成を示す図である。
【図3】画像補正部について説明するための図である。
【図4】動き検出部Aについて説明するための図である。
【図5】ベクトル補正部及び動き検出部Bについて説明するための図である。
【図6】本発明の第2の実施形態に係る撮像装置の構成を示す図である。
【図7】動き検出部の詳細な構成を示す図である。
【図8】レンズ部の動作を示すフローチャートである。
【図9】本発明の第3の実施形態に係る撮像装置の構成を示す図である。
【図10】歪曲収差特性を有するレンズについて説明するための図である。
【図11】歪曲収差特性を有するレンズについて説明するための図である。
【図12】魚眼レンズにおける動き探索範囲データの一例を説明するための図である。
【図13】動き探索範囲の具体例を示す図である。
【図14】格子柄を魚眼レンズによって撮影した画像データを示す図である。
【図15】動き探索範囲の形状の例を示す図である。
【図16】本発明の第4の実施形態に係る撮像装置の構成を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【0011】
先ず、本発明の第1の実施形態について説明する。図1は、本発明の第1の実施形態に係る撮像装置の構成を示す図であり、特に符号化処理に関連する構成を示している。なお、以下で説明する実施形態においては、H.264の符号化方式を採用した場合の構成を例に挙げている。
【0012】
図1に示すように、本実施形態に係る撮像装置の符号化処理に関連する構成は、レンズ部101、撮像部102、イントラ予測部103、加算器104、直交変換部105、量子化部106、エントロピー符号化部107、逆量子化部108、逆直交変換部109、デブロッキングフィルタ110、フレームメモリ111、動き検出部112、動き補償部113、スイッチ114、加算器115である。
【0013】
ここで、符号化処理時における各構成の動作について説明する。レンズ部101は、レンズ及びレンズを制御するレンズ駆動部等から構成されている。レンズ部101は、入射した被写体像を撮像部102に結像させる。撮像部102は、センサ、ノイズ除去回路、A/D変換部等から構成されており、レンズ部101を介して得られた被写体像を電気信号に変換し、さらにA/D変換を行ってアナログ信号をデジタル信号の画像データに変換する。撮像部102は、デジタル信号化された画像データ(以下、入力画像データと称す)をイントラ予測部103、加算器104、動き検出部112に出力する。
【0014】
イントラ予測部103は、同一フレーム内の入力画像データを用いて予測画像データを生成する。イントラ予測部103は、生成した予測画像データと撮像部102からの入力画像データとの差分である差分画像データを生成し、スイッチ114に出力する。加算器104は、入力画像データから後述する動き補償部113で生成された予測画像データを差し引き、差分画像データを生成する。差分画像データは、スイッチ114に出力される。
【0015】
スイッチ114は、イントラ予測の場合には、イントラ予測部103からの差分画像データを選択し、インター予測の場合には、加算器104からの差分画像データを選択し、直交変換部105に出力する。
【0016】
スイッチ114から出力された差分画像データは、直交変換部105において直交変換処理が行われ、続いて量子化部106において量子化される。以上の処理により、画像データが削減される。量子化部106で量子化された画像データは、エントロピー符号化部107に出力される。
【0017】
エントロピー符号化部107は、量子化された画像データの他に後述する動き検出部112で生成された動きベクトル、その他量子化処理に使用される量子化パラメータ等のデータを入力し、シンタックスに従ってストリームを生成する。生成されたストリームは不図示の記録媒体等に記録される。
【0018】
また、量子化された画像データは逆量子化部108に入力され、逆量子化処理される。逆量子化された画像データは、逆直交変換部109において逆直交変換処理が行われ、差分画像データが復元され、加算器115に出力される。
【0019】
加算器115は、動き補償部113から出力される予測画像データと逆量子化部108から出力される差分画像データとを加算し、参照画像データを生成する。加算器115は、参照画像データをデブロッキングフィルタ110に出力する。
【0020】
デブロッキングフィルタ110は、参照画像データに対してブロック歪みを除去するデブロッキング処理を施し、フレームメモリ111に入力する。但し、イントラ予測の場合、参照画像データは、デブロッキング処理が施されずにフレームメモリ111に入力される。
【0021】
動き検出部112は、撮像部102から入力される入力画像データと、フレームメモリ111から読み出した参照画像データとを用いて動きベクトルを検出する。ここで、入力画像データと参照画像データとでは、撮像された時点が異なり、入力画像データのほうが後から撮像された画像である。検出された動きベクトルは、動き補償部113及びエントロピー符号化部107に出力される。
【0022】
動き補償部113は、動きベクトルとフレームメモリ111から読み出した参照画像データとを用いてインター予測で使用する予測画像データを生成する。動き補償部113で生成された予測画像データは加算器104に出力され、加算器104において差分画像データが生成される。以上が符号化処理時における各構成の動作である。
【0023】
次に、歪曲収差補正時における各構成の動作について説明する。レンズ部101は、被写体光以外にレンズ部101内部に保持しているレンズ情報を撮像部102に出力する。レンズ情報とは、例えばレンズの種類やレンズの焦点距離等を示す情報である。
【0024】
撮像部102は、レンズ情報を入力し、動き検出部112に出力する。動き検出部112は、内部に歪曲収差補正に用いられる歪曲収差特性情報を複数保持している。歪曲収差特性情報は、歪曲収差を補正する際に用いられるデータ群のことである。歪曲収差特性情報の具体例としては、画像データの位置(x,y)をインデックスとして、歪曲収差補正した後の画像データの位置が格納されたテーブル等が挙げられる。
【0025】
図2は、動き検出部112の詳細な構成を示す図である。以下、図2を参照しながら、動き検出部112における動きベクトルの検出時の動作について説明する。
【0026】
動き検出部112は、画像補正部201、歪曲収差特性情報格納部202、動き検出部A203、ベクトル補正部204、動き検出部B205から構成されている。動きベクトルの検出のアルゴリズムには、広い探索領域で動きベクトルを探索しながらも必要なデータ量を低減するために、階層的に動きベクトルを探索する。動き検出部112は、入力画像データと参照画像データとを同じ縮小率で縮小し、それらの縮小した画像データを用いて動きベクトルの粗探索を行う。その後、動き検出部112は、その周辺の小領域で縮小率を変えた画像データを用いてさらに動きベクトルの探索を行い、所望の精度の動きベクトルが得られるまで、動きベクトルの探索を繰り返し行う。本実施形態において、動きベクトルの粗探索は動き検出部A203で行い、より精度の高い動きベクトルの検出は動き検出部B205で行うようにしている。即ち、本実施形態においては、二階層の動きベクトルの探索を行うようにしている。なお、動き検出部A203は第1の検出手段、動き検出部B205は第2の検出手段の適用例である。
【0027】
画像補正部201は、撮像部102からの入力画像データとフレームメモリ111からの参照画像データとを入力し、それぞれの画像データに対して歪曲収差補正を行う。画像補正部201は、歪曲収差特性情報格納部202と接続されている。歪曲収差特性情報格納部202は、レンズの種類及びレンズの焦点距離をインデックスとした歪曲収差特性情報を予め保持している。画像補正部201が歪曲収差補正を行う際に、歪曲収差特性情報格納部202は、レンズの種類及びレンズの焦点距離に応じた歪曲収差特性情報を画像補正部201に返す。また、歪曲収差特性情報格納部202は、更に画像データの位置をインデックスとして歪曲収差特性情報を保持している。従って、歪曲収差特性情報格納部202に対して補正前の画像データの位置が入力されると、レンズの種類及びレンズの焦点距離に応じた補正後の画像データの位置が画像補正部201に対して返される。画像補正部201は、歪曲収差補正を施した入力画像データ及び参照画像データを縮小して動き検出部A203に出力する。
【0028】
ここで、図3を用いて画像補正部201について更に詳しく説明を行う。図3(a)は入力画像データを示しており、図3(b)は参照画像データを示している。それぞれの画像データは歪曲収差によって形が歪んでいる。よって、動きベクトルの検出を行う際に、入力画像データの被写体と参照画像データの被写体とが同じであっても、被写体の画像データの位置が異なると、被写体の形が歪むため、動きベクトルの検出は困難になる。図3(c)は、図3(a)の入力画像データに対して歪曲収差を補正した後の入力画像データを示している。図3(d)は、図3(b)の参照画像データに対して歪曲収差を補正した後の参照画像データを示している。歪曲収差が補正された後の入力画像データ及び参照画像データでは、被写体に歪みがなくなるので、動きベクトルの検出の精度が向上する。画像補正部201は、図3(c)及び図3(d)のような被写体に歪みがない画像データを得るために歪曲収差補正を行っている。
【0029】
説明を図2に戻す。動き検出部A203は、上述したように動きベクトルの粗探索を行う動き検出部である。歪曲収差補正及び縮小された入力画像データ、参照画像データを入力し、動きベクトルを探索(検出)する。このとき使用される入力画像データ及び参照画像データは歪曲収差が補正されているので、レンズの歪曲収差による歪みがない状態で動きベクトルの探索が可能である。即ち、レンズの歪曲収差によって歪んでしまった被写体像を本来の形(歪曲収差のない形)に補正することで、動きベクトルの探索の精度を上げることができる。動き検出部A203は、検出した動きベクトルをベクトル補正部204に出力する。
【0030】
ここで、図4を用いて動き検出部A203について更に詳しく説明を行う。図4は、歪曲収差が補正された入力画像データと参照画像データとを重ねたイメージである。401は、入力画像データ内の符号化対象マクロブロックである。402は、参照画像データ内の符号化対象マクロブロックと類似するブロックである。403は、動き検出部A203の動きベクトルの探索の結果、検出された動きベクトルである。検出部A203は、図4に示すように歪曲収差が補正された画像データを用いて動きベクトルを検出し、ベクトル補正部204に出力する。
【0031】
再び説明を図2に戻す。ベクトル補正部204に入力される動きベクトルは、歪曲収差が補正された画像データから検出された動きベクトルであるので、符号化後に記録媒体に記録される、歪曲収差が存在する画像データ上の動きベクトルとは異なる。そこで、ベクトル補正部204は、動き検出部A203で生成された動きベクトルを元の歪曲収差がある画像データにおける動きベクトルに対応できるように、各画像の歪曲収差補正により生じた動きベクトルの誤差成分を補正する。即ち、動き検出部A203から出力された動きベクトルは、歪曲収差がない画像データにおける動きベクトルであり、ベクトル補正部204から出力される動きベクトルは、歪曲収差がある画像データにおける動きベクトルである。従って、ベクトル補正部204は、歪曲収差特性情報格納部202から歪曲収差特性情報を取得して歪曲収差の逆補正を行う。
【0032】
動き検出部B205は、縮小された画像データを使用せずに動きベクトルの検出を行うので、動き検出部A203よりも高い精度で動きベクトルを検出する。動き検出部B205は、ベクトル補正部204から出力された動きベクトル、入力画像データ、参照画像データを用いて動きベクトルを探索(検出)する。動き検出部B205は、ベクトル補正部204から出力される動きベクトルを探索領域の中心として設定し、当該探索領域内でより精度の高い動きベクトルを探索(検出)する。このようにして探索(検出)された動きベクトルは、動き補償部113に出力される。
【0033】
ここで、図5を用いてベクトル補正部204及び動き検出部B205について更に詳しく説明を行う。図5(a)の501は、ベクトル補正部204において補正される前の動きベクトルである。図5(a)の502は、ベクトル補正部204において歪曲収差が逆補正された後の動きベクトルである。このように、歪曲収差が補正された画像データから検出された動きベクトル501が、元の歪曲収差がある画像データにおける動きベクトル502に補正される。図5(b)の503は、図5(a)の502と同じくベクトル補正部204において歪曲収差が逆補正された後の動きベクトルである。図5(b)の504は、動きベクトル503を中心として設定された探索領域である。動き検出部B205は、探索領域504の中で、符号化対象マクロブロックと類似するマクロブロックを探索し、動きベクトルを探索(検出)する。
【0034】
このように、本実施形態によれば、動きベクトルを検出する際の探索領域を適切に設定することが可能となり、動きベクトルの検出効率を上げることができる。
【0035】
次に、本発明の第2の実施形態について説明する。図6は、本発明の第2の実施形態に係る撮像装置の構成を示す図であり、特に符号化処理に関連する構成を示している。
【0036】
図6に示すように、本実施形態に係る撮像装置の符号化処理に関連する構成は、レンズ部601、撮像部602、イントラ予測部603、加算器604、直交変換部605、量子化部606、エントロピー符号化部607、逆量子化部608、逆直交変換部609、デブロッキングフィルタ610、フレームメモリ611、動き検出部612、動き補償部613、スイッチ614、歪曲収差特性情報格納部615である。
【0037】
レンズ部601、イントラ予測部603、加算器604、直交変換部605、量子化部606、エントロピー符号化部607、逆量子化部608、逆直交変換部609、デブロッキングフィルタ610、フレームメモリ611、動き補償部613、スイッチ614は、図1におけるレンズ部101、イントラ予測部103、加算器104、直交変換部105、量子化部106、エントロピー符号化部107、逆量子化部108、逆直交変換部109、デブロッキングフィルタ110、フレームメモリ111、動き補償部113、スイッチ114と同様の構成であるため、ここでは説明を省略する。
【0038】
レンズ部601に含まれるレンズが可変焦点レンズである場合、歪曲収差特性は、焦点距離によって変わる。レンズ部601と接続されている歪曲収差特性情報格納部615は、予めレンズの焦点距離に応じてその歪みの割合をテーブル化して保持している。レンズ部601は、レンズの焦点距離が変わる度に、歪曲収差特性情報格納部615から歪曲収差補正に用いる歪曲収差特性情報を読み出し、撮像部602に出力する。
【0039】
撮像部602は、入力画像データとともに歪曲収差特性情報を動き検出部612に出力する。動き検出部612は、入力された歪曲収差特性情報を用いて入力画像データ、参照画像データに対して歪曲収差を補正する。動き検出部612は、歪曲収差を補正した入力画像データと参照画像データとを用いて粗探索の動きベクトルを算出し、算出した動きベクトルに対して歪曲収差を逆補正して最終的な動きベクトルを算出する。
【0040】
図7は、動き検出部612の詳細な構成を示す図である。以下、図7を参照しながら、動き検出部612について詳細に説明する。図7に示すように、動き検出部612は、画像補正部701、動き検出部A702、ベクトル補正部703、動き検出部B704で構成されている。
【0041】
動き検出部612は、入力画像データ、参照画像データ及び歪曲収差特性情報をそれぞれ入力する。画像補正部701は、入力画像データ、参照画像データ及び歪曲収差特性情報を入力し、歪曲収差特性情報を用いて入力画像データ、参照画像データそれぞれの画像データに対して歪曲収差を補正する。次に、画像補正部701は、歪曲収差を補正した入力画像データ及び参照画像データを縮小して動き検出部A702に出力する。
【0042】
動き検出部A702は、動きベクトルの粗探索を行い、検出した動きベクトルをベクトル補正部703に出力する。ベクトル補正部703は、入力される歪曲収差特性情報を用いて動きベクトルの逆補正を行い、動き検出部B704に出力する。
【0043】
動き検出部B704は、ベクトル補正部703から出力された動きベクトル、入力画像データ、参照画像データを用いて、動き検出部A702より高い精度で動きベクトルを探索(検出)する。動き検出部B704は、探索(検出)された動きベクトルを動き補償部613に出力する。
【0044】
図8は、レンズ部601の動作を示すフローチャートである。以下、図8を参照しながら、レンズ部601の動作について説明する。
【0045】
ステップS801において、レンズ部601は、装着されたレンズの種類を判別する。具体的には、可変焦点距離レンズであるか、固定焦点距離レンズであるかが判別される。ステップS802は、装着されたレンズが可変焦点距離レンズであるか、固定焦点距離レンズであるかに応じて処理を分岐させる制御処理である。即ち、レンズが可変焦点距離レンズである場合、処理はステップS803に移行する。一方、レンズが固定焦点距離レンズである場合、処理はステップS803をスキップしてステップS804に移行する。
【0046】
ステップ803において、レンズ部601は、現在の焦点距離を取得する。ステップS804において、レンズ部601は、歪曲収差特性情報を歪曲収差特性情報格納部615から取得する。歪曲収差特性情報は、焦点距離をインデックスとして管理されているため、レンズ部601は、ステップS803で取得した焦点距離、又は、固定焦点距離レンズの焦点距離に対応する歪曲収差特性情報を歪曲収差特性情報格納部615から取得する。
【0047】
ステップS805において、レンズ部601は、焦点距離に変更があったか否かを判定する。可変焦点距離レンズが装着されている場合、レンズ部601は、ズーム等の操作によって焦点距離が変更されたことを検知する。焦点距離が変更された場合、処理はステップS803に戻る。一方、焦点距離が変更されていない場合、処理はステップS806に移行する。ステップS806において、レンズ部601は、歪曲収差補正に用いられる歪曲収差特性情報を動き検出部612に出力する。
【0048】
上述したように歪曲収差特性情報がレンズ部601内部に保持されているので、撮像装置本体の歪曲収差特性情報を保持するテーブルのハード規模を低減することができる。また、新たに多種多様なレンズが発売されても、歪曲収差特性情報を更新する必要がないため、ユーザの使い勝手も向上する。本実施形態によれば、動きベクトルを検出する際の探索領域を適切に設定することができ、動きベクトルの検出効率を上げることができる。
【0049】
以下、本発明の第3の実施形態について説明する。図9は、本発明の第3の実施形態に係る撮像装置の構成を示す図である。以下では、第1、第2の実施形態と異なる点についてのみ説明するものとする。
【0050】
図9において、901は、被写体からの光を集光するレンズ部である。レンズ部901は着脱可能な構造を有しており、標準レンズ、望遠レンズ、魚眼レンズ等、様々な種類のレンズが装着されることを想定している。またレンズ部901は、制御部905と接続されており、レンズ部901におけるレンズ種別等を示すレンズ情報を制御部905に出力する。902は、撮像素子によって構成される撮像部であり、レンズ部901で集光された光を撮像し、撮像信号として出力する。903は、撮像部902から出力された撮像信号をA/D変換し、色マトリクス変換やガンマ補正等の処理を行って、デジタル化された映像信号(入力画像データ)に変換する撮像信号処理部である。
【0051】
904は、MPEG2方式等の符号化方式により、撮像信号処理部903から出力される入力画像データを符号化する符号化部である。符号化部904は、マクロブロックと呼ばれる16×16画素のブロックに入力画像データを分割し、動き補償予測、直交変換を行い、さらにその変換係数を量子化処理し、エントロピー符号化を施して入力画像データの圧縮及び符号化を行っている。
【0052】
動き補償予測では、直前に符号化された入力画像データを復号することにより得られる画像データ、即ち参照画像データに対する、現在の入力画像データのマクロブロック毎の動きベクトルが探索により求められ、動きベクトルを用いて予測画像データが生成される。1マクロブロックにおける動きベクトルの探索範囲(以下、動き探索範囲と称す)は、一般に、画面上の全てのマクロブロックで同じであるが、本実施形態では、マクロブロック毎に制御部905により指示された動き探索範囲を探索するよう構成されている。即ち、制御部905は、メモリ906から動き探索設定データを読み出し、符号化部904に動き探索範囲を設定する。記録部907は、以上の手順で圧縮符号化された入力画像データを記録媒体908に記録する。なお、動き探索設定データとは、画面上のマクロブロック毎の動き探索範囲を設定するためのデータである。
【0053】
次に、本実施形態に係る撮像装置の動作について説明する。図9のレンズ部901として超広角レンズである魚眼レンズを撮像装置に装着し、図10に示すような格子状の図柄を撮影すると、図9の撮像信号処理部903からは、図11に示すように画面の中央部は拡大され、周辺部は縮小された画像データが出力される。即ち、装着された魚眼レンズはこのような歪曲収差特性を有している。このような歪曲収差特性のレンズで撮影された画像データを符号化する場合、歪曲収差特性によって画像データが拡大される中央部は動き量が大きいため、通常より動き探索範囲を広くする。動き探索範囲を広くすることで、被写体が大きく動いた場合でも適切な動きベクトルを検出することができ、予測画像データの精度を上げることができる。一方、画像データが縮小される周辺部は動き量が小さいため、通常より動き探索範囲を狭くする。動き探索範囲を狭くすることで、探索の誤検出を防ぐことができる。動き探索範囲を不必要に広くすると、被写体の本来の動きではない動きベクトルが発生し、画質劣化を招く。このように、レンズの歪曲収差特性に合わせて、動き探索範囲を広くしたり、狭くしたりすることで、適切な動きベクトルの探索が可能となる。
【0054】
メモリ906には、動き探索範囲データが予め格納されている。これは、レンズの歪曲率に合わせて定められたデータであって、予めレンズの歪曲収差特性を測定して、エリア毎の拡大・縮小率からマクロブロック毎の動き探索範囲が定められたものである。また、動き探索範囲データには、魚眼レンズ、標準レンズ等のレンズの種別や型番毎に定められた複数のレンズの設定データが格納されている。
【0055】
魚眼レンズにおける動き探索範囲データの一例を、図12を用いて説明する。図12は符号化を行う画像データの領域を示す図であり、個々の小さい四角形はマクロブロックに相当する。図12に示すように、メモリ906には、マクロブロック毎に歪曲収差の度合いに応じて定められた動き探索範囲データであるa〜fが格納されている。a〜fの実際の値は、動き探索範囲を示す長方形の横サイズXと縦サイズYであって、例えば図13に示すような値である。図13の例においては、aが最も動き探索範囲が広く、b、c、d、e、fの順で動き探索範囲が狭くなる値である。即ち、画像データが拡大されて動き量が大きくなる中央部では広い動き探索範囲を示す値となり、画像データが縮小されて動き量が小さい周辺部にいく程、徐々に狭くした動き探索範囲を示す値となっている。なお、魚眼レンズ以外のレンズ、例えば標準レンズのように歪曲歪みがほとんどないレンズにおいては、画面全体が同一の動き探索範囲データとなる。
【0056】
また、上記では、動き探索範囲の形状は横方向サイズX、縦方向サイズYの長方形としたが、本発明はこれに限定されるものではない。レンズの歪曲収差による画像の歪みに合わせて、例えば、長方形以外の四角形であってもよいし、円形、楕円形であってもよい。その例を以下に説明する。
【0057】
図14は、格子柄を魚眼レンズによって撮影した画像データを示している。このように変形した格子柄に合わせて、例えば斜線で示した1401〜1405の領域に対しては、それぞれ図15(a)〜(e)の形状の動き探索範囲とする。このように変形した形状と同じ動き探索範囲の形状とすることで、歪曲収差によって歪む前の画面全体に対して同一の形状の動き探索範囲を設定したことに相当する。
【0058】
図9の説明に戻る。制御部905は、レンズ部901と接続されており、レンズ部901よりレンズ種別を示すレンズ情報を取得する。制御部905は、レンズ情報によってレンズ種別を特定し、該当する動き探索範囲データをメモリ906より読み出して、符号化部904に動き探索範囲を設定する。これにより、レンズ部901に歪曲収差特性の異なるレンズが装着された場合であっても、レンズの歪曲収差特性に一致した動き探索範囲データを符号化部904に設定することができる。符号化部904は、設定された動き探索範囲に従って、動きベクトルの探索を行う。
【0059】
以上のように、第3の実施形態においては、レンズの歪曲収差特性に応じて動き探索範囲の広さをマクロブロック毎に設定できるので、適切な動きベクトルの探索を行うことができ、高画質な符号化を行うことが可能となる。なお、本実施形態において動き探索範囲を設定する処理、設定された動き探索範囲で動きベクトルを探索する処理は、図2、図7では、動き検出部B205、704によって実行される処理である。
【0060】
次に、本発明の第4の実施形態について説明する。図16は、本発明の第4の実施形態に係る撮像装置の構成を示す図である。
【0061】
図16において、撮像部1602、撮像信号処理部1603、符号化部1604、記録部1607、記録媒体1608は、図9の撮像部902、撮像信号処理部903、符号化部904、記録部907、記録媒体908と同様の構成であるため、説明は省略する。
【0062】
1601は、被写体からの光を集光するレンズ部である。レンズ部1601は、着脱可能な構造を有しており、標準レンズ、望遠レンズ、魚眼レンズ等、様々な種類のレンズが装着されることを想定している。また、レンズ部1601内にはメモリ1606が内蔵されている。メモリ1606は図9のメモリ906に相当し、レンズ部1601の歪曲収差に合わせて定められた動き探索設定データが格納されている。但し、図9のメモリ906は、複数のレンズ種別の動き探索設定データが格納されているのに対し、メモリ1606には、レンズ部1601に対応する動き探索設定データのみが格納されている。
【0063】
制御部1605は、レンズ部1601内のメモリ1606と接続されており、動き探索設定データを読み出して、動き探索範囲を符号化部1604に設定する。符号化部1604は、設定された動き探索範囲に従って、動きベクトルを探索する。
【0064】
第4の実施形態においては、レンズ内に動き探索設定データが格納されているため、レンズが撮像装置本体よりも後に提供されるような場合であっても、レンズの歪曲収差特性に一致した動き探索設定で動きベクトルの探索を行うことが可能となる。
【0065】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0066】
101:レンズ部、102:撮像部、103:イントラ予測部、104:加算器、105:直交変換部、106:量子化部、107:エントロピー符号化部、108:逆量子化部、109:逆直交変換部、110:デブロッキングフィルタ、111:フレームメモリ、112:動き検出部、113:動き補償部、114:スイッチ
【技術分野】
【0001】
本発明は、歪曲収差特性を有するレンズからの入射光に基づいて生成される画像データから動きベクトルを検出する技術に関するものである。
【背景技術】
【0002】
被写体を撮像し、撮像された動画像を符号化して、記録するデジタルビデオカメラやデジタルスチルカメラがある。このようなデジタルビデオカメラやデジタルスチルカメラには、レンズが着脱可能な交換レンズタイプ(例えば、デジタル一眼カメラ)がある。撮影シーンによって、望遠レンズや広角レンズ等、様々なレンズに交換できるようになっている。レンズの中には魚眼レンズと呼ばれる大きな歪曲歪みを持つ超広角レンズがある。超広角レンズによって撮影される画像は、フレームの中央ほど拡大され、フレームの周辺ほど縮小された画像となる特性がある。一方、超広角レンズを装着した撮像装置において、レンズの歪曲収差特性を補正するものが知られている(例えば、特許文献1参照。)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−193458号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、動画像を撮像して入力信号とする装置においては、動画像データを圧縮符号化して記録媒体に記録する手法が一般的である。動画像データを符号化する符号化方式には、MPEG2やH.264等の高能率符号化方式が知られている。高能率符号化方式では、高い圧縮効率を得るために、異なる時刻のフレームに基づいて予測画像データを生成し、入力画像データと予測画像データとの差分画像データを符号化するフレーム間予測(インター予測)と呼ばれる方法がとられている。このフレーム間予測において欠かせない技術として動き補償がある。この技術は、動きベクトルを検出し、参照画像データと動きベクトルとから予測画像データを生成することで、差分画像データの情報量をより低減するために使用される。
【0005】
ここで、撮像された画像データが大きく歪んでいた場合、従来の手法で動き補償をすると次のような問題が生じる。例えば、レンズの歪曲収差特性によって被写体が歪むことで、入力画像データ内の被写体と参照画像データ内の被写体との形が異なり、動き補償を行う際に符号化効率が低下するという課題があった。
【0006】
そこで、本発明の目的は、動きベクトルを検出する際の探索領域を適切に設定し、動きベクトルの検出効率を上げることにある。
【課題を解決するための手段】
【0007】
本発明の撮像装置は、レンズを介して入射される被写体像から画像データを生成する撮像手段と、前記レンズの歪曲収差特性に応じて、前記撮像手段により第1の時点に生成された画像データに対応する参照画像データに含まれる歪曲収差と、前記撮像手段により前記第1の時点より後の第2の時点に生成された画像データに含まれる歪曲収差とをそれぞれ補正する画像補正手段と、前記画像補正手段により歪曲収差が補正された前記参照画像データと前記画像データとに基づいて、動きベクトルを検出する第1の検出手段と、前記レンズの歪曲収差特性に応じて、前記第1の検出手段により検出された動きベクトルに含まれる前記画像補正手段による歪曲収差補正により生じた誤差成分を補正するベクトル補正手段と、前記ベクトル補正手段により補正された動きベクトルに基づいて動きベクトルの探索範囲を設定し、当該探索範囲で動きベクトルを検出する第2の検出手段とを有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、動きベクトルを検出する際の探索領域を適切に設定することが可能となり、動きベクトルの検出効率を上げることができる。
【図面の簡単な説明】
【0009】
【図1】本発明の第1の実施形態に係る撮像装置の構成を示す図である。
【図2】動き検出部の詳細な構成を示す図である。
【図3】画像補正部について説明するための図である。
【図4】動き検出部Aについて説明するための図である。
【図5】ベクトル補正部及び動き検出部Bについて説明するための図である。
【図6】本発明の第2の実施形態に係る撮像装置の構成を示す図である。
【図7】動き検出部の詳細な構成を示す図である。
【図8】レンズ部の動作を示すフローチャートである。
【図9】本発明の第3の実施形態に係る撮像装置の構成を示す図である。
【図10】歪曲収差特性を有するレンズについて説明するための図である。
【図11】歪曲収差特性を有するレンズについて説明するための図である。
【図12】魚眼レンズにおける動き探索範囲データの一例を説明するための図である。
【図13】動き探索範囲の具体例を示す図である。
【図14】格子柄を魚眼レンズによって撮影した画像データを示す図である。
【図15】動き探索範囲の形状の例を示す図である。
【図16】本発明の第4の実施形態に係る撮像装置の構成を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【0011】
先ず、本発明の第1の実施形態について説明する。図1は、本発明の第1の実施形態に係る撮像装置の構成を示す図であり、特に符号化処理に関連する構成を示している。なお、以下で説明する実施形態においては、H.264の符号化方式を採用した場合の構成を例に挙げている。
【0012】
図1に示すように、本実施形態に係る撮像装置の符号化処理に関連する構成は、レンズ部101、撮像部102、イントラ予測部103、加算器104、直交変換部105、量子化部106、エントロピー符号化部107、逆量子化部108、逆直交変換部109、デブロッキングフィルタ110、フレームメモリ111、動き検出部112、動き補償部113、スイッチ114、加算器115である。
【0013】
ここで、符号化処理時における各構成の動作について説明する。レンズ部101は、レンズ及びレンズを制御するレンズ駆動部等から構成されている。レンズ部101は、入射した被写体像を撮像部102に結像させる。撮像部102は、センサ、ノイズ除去回路、A/D変換部等から構成されており、レンズ部101を介して得られた被写体像を電気信号に変換し、さらにA/D変換を行ってアナログ信号をデジタル信号の画像データに変換する。撮像部102は、デジタル信号化された画像データ(以下、入力画像データと称す)をイントラ予測部103、加算器104、動き検出部112に出力する。
【0014】
イントラ予測部103は、同一フレーム内の入力画像データを用いて予測画像データを生成する。イントラ予測部103は、生成した予測画像データと撮像部102からの入力画像データとの差分である差分画像データを生成し、スイッチ114に出力する。加算器104は、入力画像データから後述する動き補償部113で生成された予測画像データを差し引き、差分画像データを生成する。差分画像データは、スイッチ114に出力される。
【0015】
スイッチ114は、イントラ予測の場合には、イントラ予測部103からの差分画像データを選択し、インター予測の場合には、加算器104からの差分画像データを選択し、直交変換部105に出力する。
【0016】
スイッチ114から出力された差分画像データは、直交変換部105において直交変換処理が行われ、続いて量子化部106において量子化される。以上の処理により、画像データが削減される。量子化部106で量子化された画像データは、エントロピー符号化部107に出力される。
【0017】
エントロピー符号化部107は、量子化された画像データの他に後述する動き検出部112で生成された動きベクトル、その他量子化処理に使用される量子化パラメータ等のデータを入力し、シンタックスに従ってストリームを生成する。生成されたストリームは不図示の記録媒体等に記録される。
【0018】
また、量子化された画像データは逆量子化部108に入力され、逆量子化処理される。逆量子化された画像データは、逆直交変換部109において逆直交変換処理が行われ、差分画像データが復元され、加算器115に出力される。
【0019】
加算器115は、動き補償部113から出力される予測画像データと逆量子化部108から出力される差分画像データとを加算し、参照画像データを生成する。加算器115は、参照画像データをデブロッキングフィルタ110に出力する。
【0020】
デブロッキングフィルタ110は、参照画像データに対してブロック歪みを除去するデブロッキング処理を施し、フレームメモリ111に入力する。但し、イントラ予測の場合、参照画像データは、デブロッキング処理が施されずにフレームメモリ111に入力される。
【0021】
動き検出部112は、撮像部102から入力される入力画像データと、フレームメモリ111から読み出した参照画像データとを用いて動きベクトルを検出する。ここで、入力画像データと参照画像データとでは、撮像された時点が異なり、入力画像データのほうが後から撮像された画像である。検出された動きベクトルは、動き補償部113及びエントロピー符号化部107に出力される。
【0022】
動き補償部113は、動きベクトルとフレームメモリ111から読み出した参照画像データとを用いてインター予測で使用する予測画像データを生成する。動き補償部113で生成された予測画像データは加算器104に出力され、加算器104において差分画像データが生成される。以上が符号化処理時における各構成の動作である。
【0023】
次に、歪曲収差補正時における各構成の動作について説明する。レンズ部101は、被写体光以外にレンズ部101内部に保持しているレンズ情報を撮像部102に出力する。レンズ情報とは、例えばレンズの種類やレンズの焦点距離等を示す情報である。
【0024】
撮像部102は、レンズ情報を入力し、動き検出部112に出力する。動き検出部112は、内部に歪曲収差補正に用いられる歪曲収差特性情報を複数保持している。歪曲収差特性情報は、歪曲収差を補正する際に用いられるデータ群のことである。歪曲収差特性情報の具体例としては、画像データの位置(x,y)をインデックスとして、歪曲収差補正した後の画像データの位置が格納されたテーブル等が挙げられる。
【0025】
図2は、動き検出部112の詳細な構成を示す図である。以下、図2を参照しながら、動き検出部112における動きベクトルの検出時の動作について説明する。
【0026】
動き検出部112は、画像補正部201、歪曲収差特性情報格納部202、動き検出部A203、ベクトル補正部204、動き検出部B205から構成されている。動きベクトルの検出のアルゴリズムには、広い探索領域で動きベクトルを探索しながらも必要なデータ量を低減するために、階層的に動きベクトルを探索する。動き検出部112は、入力画像データと参照画像データとを同じ縮小率で縮小し、それらの縮小した画像データを用いて動きベクトルの粗探索を行う。その後、動き検出部112は、その周辺の小領域で縮小率を変えた画像データを用いてさらに動きベクトルの探索を行い、所望の精度の動きベクトルが得られるまで、動きベクトルの探索を繰り返し行う。本実施形態において、動きベクトルの粗探索は動き検出部A203で行い、より精度の高い動きベクトルの検出は動き検出部B205で行うようにしている。即ち、本実施形態においては、二階層の動きベクトルの探索を行うようにしている。なお、動き検出部A203は第1の検出手段、動き検出部B205は第2の検出手段の適用例である。
【0027】
画像補正部201は、撮像部102からの入力画像データとフレームメモリ111からの参照画像データとを入力し、それぞれの画像データに対して歪曲収差補正を行う。画像補正部201は、歪曲収差特性情報格納部202と接続されている。歪曲収差特性情報格納部202は、レンズの種類及びレンズの焦点距離をインデックスとした歪曲収差特性情報を予め保持している。画像補正部201が歪曲収差補正を行う際に、歪曲収差特性情報格納部202は、レンズの種類及びレンズの焦点距離に応じた歪曲収差特性情報を画像補正部201に返す。また、歪曲収差特性情報格納部202は、更に画像データの位置をインデックスとして歪曲収差特性情報を保持している。従って、歪曲収差特性情報格納部202に対して補正前の画像データの位置が入力されると、レンズの種類及びレンズの焦点距離に応じた補正後の画像データの位置が画像補正部201に対して返される。画像補正部201は、歪曲収差補正を施した入力画像データ及び参照画像データを縮小して動き検出部A203に出力する。
【0028】
ここで、図3を用いて画像補正部201について更に詳しく説明を行う。図3(a)は入力画像データを示しており、図3(b)は参照画像データを示している。それぞれの画像データは歪曲収差によって形が歪んでいる。よって、動きベクトルの検出を行う際に、入力画像データの被写体と参照画像データの被写体とが同じであっても、被写体の画像データの位置が異なると、被写体の形が歪むため、動きベクトルの検出は困難になる。図3(c)は、図3(a)の入力画像データに対して歪曲収差を補正した後の入力画像データを示している。図3(d)は、図3(b)の参照画像データに対して歪曲収差を補正した後の参照画像データを示している。歪曲収差が補正された後の入力画像データ及び参照画像データでは、被写体に歪みがなくなるので、動きベクトルの検出の精度が向上する。画像補正部201は、図3(c)及び図3(d)のような被写体に歪みがない画像データを得るために歪曲収差補正を行っている。
【0029】
説明を図2に戻す。動き検出部A203は、上述したように動きベクトルの粗探索を行う動き検出部である。歪曲収差補正及び縮小された入力画像データ、参照画像データを入力し、動きベクトルを探索(検出)する。このとき使用される入力画像データ及び参照画像データは歪曲収差が補正されているので、レンズの歪曲収差による歪みがない状態で動きベクトルの探索が可能である。即ち、レンズの歪曲収差によって歪んでしまった被写体像を本来の形(歪曲収差のない形)に補正することで、動きベクトルの探索の精度を上げることができる。動き検出部A203は、検出した動きベクトルをベクトル補正部204に出力する。
【0030】
ここで、図4を用いて動き検出部A203について更に詳しく説明を行う。図4は、歪曲収差が補正された入力画像データと参照画像データとを重ねたイメージである。401は、入力画像データ内の符号化対象マクロブロックである。402は、参照画像データ内の符号化対象マクロブロックと類似するブロックである。403は、動き検出部A203の動きベクトルの探索の結果、検出された動きベクトルである。検出部A203は、図4に示すように歪曲収差が補正された画像データを用いて動きベクトルを検出し、ベクトル補正部204に出力する。
【0031】
再び説明を図2に戻す。ベクトル補正部204に入力される動きベクトルは、歪曲収差が補正された画像データから検出された動きベクトルであるので、符号化後に記録媒体に記録される、歪曲収差が存在する画像データ上の動きベクトルとは異なる。そこで、ベクトル補正部204は、動き検出部A203で生成された動きベクトルを元の歪曲収差がある画像データにおける動きベクトルに対応できるように、各画像の歪曲収差補正により生じた動きベクトルの誤差成分を補正する。即ち、動き検出部A203から出力された動きベクトルは、歪曲収差がない画像データにおける動きベクトルであり、ベクトル補正部204から出力される動きベクトルは、歪曲収差がある画像データにおける動きベクトルである。従って、ベクトル補正部204は、歪曲収差特性情報格納部202から歪曲収差特性情報を取得して歪曲収差の逆補正を行う。
【0032】
動き検出部B205は、縮小された画像データを使用せずに動きベクトルの検出を行うので、動き検出部A203よりも高い精度で動きベクトルを検出する。動き検出部B205は、ベクトル補正部204から出力された動きベクトル、入力画像データ、参照画像データを用いて動きベクトルを探索(検出)する。動き検出部B205は、ベクトル補正部204から出力される動きベクトルを探索領域の中心として設定し、当該探索領域内でより精度の高い動きベクトルを探索(検出)する。このようにして探索(検出)された動きベクトルは、動き補償部113に出力される。
【0033】
ここで、図5を用いてベクトル補正部204及び動き検出部B205について更に詳しく説明を行う。図5(a)の501は、ベクトル補正部204において補正される前の動きベクトルである。図5(a)の502は、ベクトル補正部204において歪曲収差が逆補正された後の動きベクトルである。このように、歪曲収差が補正された画像データから検出された動きベクトル501が、元の歪曲収差がある画像データにおける動きベクトル502に補正される。図5(b)の503は、図5(a)の502と同じくベクトル補正部204において歪曲収差が逆補正された後の動きベクトルである。図5(b)の504は、動きベクトル503を中心として設定された探索領域である。動き検出部B205は、探索領域504の中で、符号化対象マクロブロックと類似するマクロブロックを探索し、動きベクトルを探索(検出)する。
【0034】
このように、本実施形態によれば、動きベクトルを検出する際の探索領域を適切に設定することが可能となり、動きベクトルの検出効率を上げることができる。
【0035】
次に、本発明の第2の実施形態について説明する。図6は、本発明の第2の実施形態に係る撮像装置の構成を示す図であり、特に符号化処理に関連する構成を示している。
【0036】
図6に示すように、本実施形態に係る撮像装置の符号化処理に関連する構成は、レンズ部601、撮像部602、イントラ予測部603、加算器604、直交変換部605、量子化部606、エントロピー符号化部607、逆量子化部608、逆直交変換部609、デブロッキングフィルタ610、フレームメモリ611、動き検出部612、動き補償部613、スイッチ614、歪曲収差特性情報格納部615である。
【0037】
レンズ部601、イントラ予測部603、加算器604、直交変換部605、量子化部606、エントロピー符号化部607、逆量子化部608、逆直交変換部609、デブロッキングフィルタ610、フレームメモリ611、動き補償部613、スイッチ614は、図1におけるレンズ部101、イントラ予測部103、加算器104、直交変換部105、量子化部106、エントロピー符号化部107、逆量子化部108、逆直交変換部109、デブロッキングフィルタ110、フレームメモリ111、動き補償部113、スイッチ114と同様の構成であるため、ここでは説明を省略する。
【0038】
レンズ部601に含まれるレンズが可変焦点レンズである場合、歪曲収差特性は、焦点距離によって変わる。レンズ部601と接続されている歪曲収差特性情報格納部615は、予めレンズの焦点距離に応じてその歪みの割合をテーブル化して保持している。レンズ部601は、レンズの焦点距離が変わる度に、歪曲収差特性情報格納部615から歪曲収差補正に用いる歪曲収差特性情報を読み出し、撮像部602に出力する。
【0039】
撮像部602は、入力画像データとともに歪曲収差特性情報を動き検出部612に出力する。動き検出部612は、入力された歪曲収差特性情報を用いて入力画像データ、参照画像データに対して歪曲収差を補正する。動き検出部612は、歪曲収差を補正した入力画像データと参照画像データとを用いて粗探索の動きベクトルを算出し、算出した動きベクトルに対して歪曲収差を逆補正して最終的な動きベクトルを算出する。
【0040】
図7は、動き検出部612の詳細な構成を示す図である。以下、図7を参照しながら、動き検出部612について詳細に説明する。図7に示すように、動き検出部612は、画像補正部701、動き検出部A702、ベクトル補正部703、動き検出部B704で構成されている。
【0041】
動き検出部612は、入力画像データ、参照画像データ及び歪曲収差特性情報をそれぞれ入力する。画像補正部701は、入力画像データ、参照画像データ及び歪曲収差特性情報を入力し、歪曲収差特性情報を用いて入力画像データ、参照画像データそれぞれの画像データに対して歪曲収差を補正する。次に、画像補正部701は、歪曲収差を補正した入力画像データ及び参照画像データを縮小して動き検出部A702に出力する。
【0042】
動き検出部A702は、動きベクトルの粗探索を行い、検出した動きベクトルをベクトル補正部703に出力する。ベクトル補正部703は、入力される歪曲収差特性情報を用いて動きベクトルの逆補正を行い、動き検出部B704に出力する。
【0043】
動き検出部B704は、ベクトル補正部703から出力された動きベクトル、入力画像データ、参照画像データを用いて、動き検出部A702より高い精度で動きベクトルを探索(検出)する。動き検出部B704は、探索(検出)された動きベクトルを動き補償部613に出力する。
【0044】
図8は、レンズ部601の動作を示すフローチャートである。以下、図8を参照しながら、レンズ部601の動作について説明する。
【0045】
ステップS801において、レンズ部601は、装着されたレンズの種類を判別する。具体的には、可変焦点距離レンズであるか、固定焦点距離レンズであるかが判別される。ステップS802は、装着されたレンズが可変焦点距離レンズであるか、固定焦点距離レンズであるかに応じて処理を分岐させる制御処理である。即ち、レンズが可変焦点距離レンズである場合、処理はステップS803に移行する。一方、レンズが固定焦点距離レンズである場合、処理はステップS803をスキップしてステップS804に移行する。
【0046】
ステップ803において、レンズ部601は、現在の焦点距離を取得する。ステップS804において、レンズ部601は、歪曲収差特性情報を歪曲収差特性情報格納部615から取得する。歪曲収差特性情報は、焦点距離をインデックスとして管理されているため、レンズ部601は、ステップS803で取得した焦点距離、又は、固定焦点距離レンズの焦点距離に対応する歪曲収差特性情報を歪曲収差特性情報格納部615から取得する。
【0047】
ステップS805において、レンズ部601は、焦点距離に変更があったか否かを判定する。可変焦点距離レンズが装着されている場合、レンズ部601は、ズーム等の操作によって焦点距離が変更されたことを検知する。焦点距離が変更された場合、処理はステップS803に戻る。一方、焦点距離が変更されていない場合、処理はステップS806に移行する。ステップS806において、レンズ部601は、歪曲収差補正に用いられる歪曲収差特性情報を動き検出部612に出力する。
【0048】
上述したように歪曲収差特性情報がレンズ部601内部に保持されているので、撮像装置本体の歪曲収差特性情報を保持するテーブルのハード規模を低減することができる。また、新たに多種多様なレンズが発売されても、歪曲収差特性情報を更新する必要がないため、ユーザの使い勝手も向上する。本実施形態によれば、動きベクトルを検出する際の探索領域を適切に設定することができ、動きベクトルの検出効率を上げることができる。
【0049】
以下、本発明の第3の実施形態について説明する。図9は、本発明の第3の実施形態に係る撮像装置の構成を示す図である。以下では、第1、第2の実施形態と異なる点についてのみ説明するものとする。
【0050】
図9において、901は、被写体からの光を集光するレンズ部である。レンズ部901は着脱可能な構造を有しており、標準レンズ、望遠レンズ、魚眼レンズ等、様々な種類のレンズが装着されることを想定している。またレンズ部901は、制御部905と接続されており、レンズ部901におけるレンズ種別等を示すレンズ情報を制御部905に出力する。902は、撮像素子によって構成される撮像部であり、レンズ部901で集光された光を撮像し、撮像信号として出力する。903は、撮像部902から出力された撮像信号をA/D変換し、色マトリクス変換やガンマ補正等の処理を行って、デジタル化された映像信号(入力画像データ)に変換する撮像信号処理部である。
【0051】
904は、MPEG2方式等の符号化方式により、撮像信号処理部903から出力される入力画像データを符号化する符号化部である。符号化部904は、マクロブロックと呼ばれる16×16画素のブロックに入力画像データを分割し、動き補償予測、直交変換を行い、さらにその変換係数を量子化処理し、エントロピー符号化を施して入力画像データの圧縮及び符号化を行っている。
【0052】
動き補償予測では、直前に符号化された入力画像データを復号することにより得られる画像データ、即ち参照画像データに対する、現在の入力画像データのマクロブロック毎の動きベクトルが探索により求められ、動きベクトルを用いて予測画像データが生成される。1マクロブロックにおける動きベクトルの探索範囲(以下、動き探索範囲と称す)は、一般に、画面上の全てのマクロブロックで同じであるが、本実施形態では、マクロブロック毎に制御部905により指示された動き探索範囲を探索するよう構成されている。即ち、制御部905は、メモリ906から動き探索設定データを読み出し、符号化部904に動き探索範囲を設定する。記録部907は、以上の手順で圧縮符号化された入力画像データを記録媒体908に記録する。なお、動き探索設定データとは、画面上のマクロブロック毎の動き探索範囲を設定するためのデータである。
【0053】
次に、本実施形態に係る撮像装置の動作について説明する。図9のレンズ部901として超広角レンズである魚眼レンズを撮像装置に装着し、図10に示すような格子状の図柄を撮影すると、図9の撮像信号処理部903からは、図11に示すように画面の中央部は拡大され、周辺部は縮小された画像データが出力される。即ち、装着された魚眼レンズはこのような歪曲収差特性を有している。このような歪曲収差特性のレンズで撮影された画像データを符号化する場合、歪曲収差特性によって画像データが拡大される中央部は動き量が大きいため、通常より動き探索範囲を広くする。動き探索範囲を広くすることで、被写体が大きく動いた場合でも適切な動きベクトルを検出することができ、予測画像データの精度を上げることができる。一方、画像データが縮小される周辺部は動き量が小さいため、通常より動き探索範囲を狭くする。動き探索範囲を狭くすることで、探索の誤検出を防ぐことができる。動き探索範囲を不必要に広くすると、被写体の本来の動きではない動きベクトルが発生し、画質劣化を招く。このように、レンズの歪曲収差特性に合わせて、動き探索範囲を広くしたり、狭くしたりすることで、適切な動きベクトルの探索が可能となる。
【0054】
メモリ906には、動き探索範囲データが予め格納されている。これは、レンズの歪曲率に合わせて定められたデータであって、予めレンズの歪曲収差特性を測定して、エリア毎の拡大・縮小率からマクロブロック毎の動き探索範囲が定められたものである。また、動き探索範囲データには、魚眼レンズ、標準レンズ等のレンズの種別や型番毎に定められた複数のレンズの設定データが格納されている。
【0055】
魚眼レンズにおける動き探索範囲データの一例を、図12を用いて説明する。図12は符号化を行う画像データの領域を示す図であり、個々の小さい四角形はマクロブロックに相当する。図12に示すように、メモリ906には、マクロブロック毎に歪曲収差の度合いに応じて定められた動き探索範囲データであるa〜fが格納されている。a〜fの実際の値は、動き探索範囲を示す長方形の横サイズXと縦サイズYであって、例えば図13に示すような値である。図13の例においては、aが最も動き探索範囲が広く、b、c、d、e、fの順で動き探索範囲が狭くなる値である。即ち、画像データが拡大されて動き量が大きくなる中央部では広い動き探索範囲を示す値となり、画像データが縮小されて動き量が小さい周辺部にいく程、徐々に狭くした動き探索範囲を示す値となっている。なお、魚眼レンズ以外のレンズ、例えば標準レンズのように歪曲歪みがほとんどないレンズにおいては、画面全体が同一の動き探索範囲データとなる。
【0056】
また、上記では、動き探索範囲の形状は横方向サイズX、縦方向サイズYの長方形としたが、本発明はこれに限定されるものではない。レンズの歪曲収差による画像の歪みに合わせて、例えば、長方形以外の四角形であってもよいし、円形、楕円形であってもよい。その例を以下に説明する。
【0057】
図14は、格子柄を魚眼レンズによって撮影した画像データを示している。このように変形した格子柄に合わせて、例えば斜線で示した1401〜1405の領域に対しては、それぞれ図15(a)〜(e)の形状の動き探索範囲とする。このように変形した形状と同じ動き探索範囲の形状とすることで、歪曲収差によって歪む前の画面全体に対して同一の形状の動き探索範囲を設定したことに相当する。
【0058】
図9の説明に戻る。制御部905は、レンズ部901と接続されており、レンズ部901よりレンズ種別を示すレンズ情報を取得する。制御部905は、レンズ情報によってレンズ種別を特定し、該当する動き探索範囲データをメモリ906より読み出して、符号化部904に動き探索範囲を設定する。これにより、レンズ部901に歪曲収差特性の異なるレンズが装着された場合であっても、レンズの歪曲収差特性に一致した動き探索範囲データを符号化部904に設定することができる。符号化部904は、設定された動き探索範囲に従って、動きベクトルの探索を行う。
【0059】
以上のように、第3の実施形態においては、レンズの歪曲収差特性に応じて動き探索範囲の広さをマクロブロック毎に設定できるので、適切な動きベクトルの探索を行うことができ、高画質な符号化を行うことが可能となる。なお、本実施形態において動き探索範囲を設定する処理、設定された動き探索範囲で動きベクトルを探索する処理は、図2、図7では、動き検出部B205、704によって実行される処理である。
【0060】
次に、本発明の第4の実施形態について説明する。図16は、本発明の第4の実施形態に係る撮像装置の構成を示す図である。
【0061】
図16において、撮像部1602、撮像信号処理部1603、符号化部1604、記録部1607、記録媒体1608は、図9の撮像部902、撮像信号処理部903、符号化部904、記録部907、記録媒体908と同様の構成であるため、説明は省略する。
【0062】
1601は、被写体からの光を集光するレンズ部である。レンズ部1601は、着脱可能な構造を有しており、標準レンズ、望遠レンズ、魚眼レンズ等、様々な種類のレンズが装着されることを想定している。また、レンズ部1601内にはメモリ1606が内蔵されている。メモリ1606は図9のメモリ906に相当し、レンズ部1601の歪曲収差に合わせて定められた動き探索設定データが格納されている。但し、図9のメモリ906は、複数のレンズ種別の動き探索設定データが格納されているのに対し、メモリ1606には、レンズ部1601に対応する動き探索設定データのみが格納されている。
【0063】
制御部1605は、レンズ部1601内のメモリ1606と接続されており、動き探索設定データを読み出して、動き探索範囲を符号化部1604に設定する。符号化部1604は、設定された動き探索範囲に従って、動きベクトルを探索する。
【0064】
第4の実施形態においては、レンズ内に動き探索設定データが格納されているため、レンズが撮像装置本体よりも後に提供されるような場合であっても、レンズの歪曲収差特性に一致した動き探索設定で動きベクトルの探索を行うことが可能となる。
【0065】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0066】
101:レンズ部、102:撮像部、103:イントラ予測部、104:加算器、105:直交変換部、106:量子化部、107:エントロピー符号化部、108:逆量子化部、109:逆直交変換部、110:デブロッキングフィルタ、111:フレームメモリ、112:動き検出部、113:動き補償部、114:スイッチ
【特許請求の範囲】
【請求項1】
レンズを介して入射される被写体像から画像データを生成する撮像手段と、
前記レンズの歪曲収差特性に応じて、前記撮像手段により第1の時点に生成された画像データに対応する参照画像データに含まれる歪曲収差と、前記撮像手段により前記第1の時点より後の第2の時点に生成された画像データに含まれる歪曲収差とをそれぞれ補正する画像補正手段と、
前記画像補正手段により歪曲収差が補正された前記参照画像データと前記画像データとに基づいて、動きベクトルを検出する第1の検出手段と、
前記レンズの歪曲収差特性に応じて、前記第1の検出手段により検出された動きベクトルに含まれる前記画像補正手段による歪曲収差補正により生じた誤差成分を補正するベクトル補正手段と、
前記ベクトル補正手段により補正された動きベクトルに基づいて動きベクトルの探索範囲を設定し、当該探索範囲で動きベクトルを検出する第2の検出手段とを有することを特徴とする撮像装置。
【請求項2】
前記レンズに係る情報を入力する入力手段を更に有し、
前記画像補正手段及び前記ベクトル補正手段のうちの少なくとも何れか一方は、前記入力手段により入力される前記レンズに係る情報に応じて歪曲収差の補正方法を制御することを特徴とする請求項1に記載の撮像装置。
【請求項3】
前記レンズに係る情報は、前記レンズの種類及び前記レンズの焦点距離のうちの少なくとも何れか一方を含むことを特徴とする請求項2に記載の撮像装置。
【請求項4】
前記レンズの歪曲収差特性を示す情報を入力する入力手段を更に有し、
前記画像補正手段及び前記ベクトル補正手段のうちの少なくとも何れか一方は、前記入力手段により入力される前記レンズの歪曲収差特性を示す情報に応じて歪曲収差の補正方法を制御することを特徴とする請求項1に記載の撮像装置。
【請求項5】
前記第2の検出手段は、前記レンズの歪曲収差特性に応じて、前記動きベクトルの探索範囲の広さを設定することを特徴とする請求項1に記載の撮像装置。
【請求項6】
前記第2の検出手段は、前記レンズの歪曲収差特性に応じて、通常より画像データが拡大される領域では前記動きベクトルの探索範囲を通常より広く設定し、通常より画像データが縮小される領域では前記動きベクトルの探索範囲を通常より狭く設定することを特徴とする請求項5に記載の撮像装置。
【請求項7】
前記第2の検出手段は、前記レンズである魚眼レンズの歪曲収差特性に応じて、画像データの中央部では前記動きベクトルの探索範囲を通常より広く設定し、画像データの周辺部では前記動きベクトルの探索範囲を通常より狭く設定することを特徴とする請求項6に記載の撮像装置。
【請求項8】
前記第2の検出手段は、前記レンズの歪曲収差特性に応じて変形される各領域に対応する形状で前記探索範囲を設定することを特徴とする請求項5に記載の撮像装置。
【請求項9】
レンズを介して入射される被写体像から画像データを生成する撮像手段を有する撮像装置の制御方法であって、
前記レンズの歪曲収差特性に応じて、前記撮像手段により第1の時点に生成された画像データに対応する参照画像データに含まれる歪曲収差と、前記撮像手段により前記第1の時点より後の第2の時点に生成された画像データに含まれる歪曲収差とをそれぞれ補正する画像補正ステップと、
前記画像補正ステップにより歪曲収差が補正された前記参照画像データと前記画像データとに基づいて、動きベクトルを検出する第1の検出ステップと、
前記レンズの歪曲収差特性に応じて、前記第1の検出ステップにより検出された動きベクトルに含まれる前記画像補正ステップによる歪曲収差補正により生じた誤差成分を補正するベクトル補正ステップと、
前記ベクトル補正ステップにより補正された動きベクトルに基づいて動きベクトルの探索範囲を設定し、当該探索範囲で動きベクトルを検出する第2の検出ステップとを含むことを特徴とする撮像装置の制御方法。
【請求項10】
レンズを介して入射される被写体像から画像データを生成する撮像手段を有する撮像装置の機能をコンピュータに実行させるためのプログラムであって、
前記レンズの歪曲収差特性に応じて、前記撮像手段により第1の時点に生成された画像データに対応する参照画像データに含まれる歪曲収差と、前記撮像手段により前記第1の時点より後の第2の時点に生成された画像データに含まれる歪曲収差とをそれぞれ補正する画像補正ステップと、
前記画像補正ステップにより歪曲収差が補正された前記参照画像データと前記画像データとに基づいて、動きベクトルを検出する第1の検出ステップと、
前記レンズの歪曲収差特性に応じて、前記第1の検出ステップにより検出された動きベクトルに含まれる前記画像補正ステップによる歪曲収差補正により生じた誤差成分を補正するベクトル補正ステップと、
前記ベクトル補正ステップにより補正された動きベクトルに基づいて動きベクトルの探索範囲を設定し、当該探索範囲で動きベクトルを検出する第2の検出ステップとをコンピュータに実行させるためのプログラム。
【請求項1】
レンズを介して入射される被写体像から画像データを生成する撮像手段と、
前記レンズの歪曲収差特性に応じて、前記撮像手段により第1の時点に生成された画像データに対応する参照画像データに含まれる歪曲収差と、前記撮像手段により前記第1の時点より後の第2の時点に生成された画像データに含まれる歪曲収差とをそれぞれ補正する画像補正手段と、
前記画像補正手段により歪曲収差が補正された前記参照画像データと前記画像データとに基づいて、動きベクトルを検出する第1の検出手段と、
前記レンズの歪曲収差特性に応じて、前記第1の検出手段により検出された動きベクトルに含まれる前記画像補正手段による歪曲収差補正により生じた誤差成分を補正するベクトル補正手段と、
前記ベクトル補正手段により補正された動きベクトルに基づいて動きベクトルの探索範囲を設定し、当該探索範囲で動きベクトルを検出する第2の検出手段とを有することを特徴とする撮像装置。
【請求項2】
前記レンズに係る情報を入力する入力手段を更に有し、
前記画像補正手段及び前記ベクトル補正手段のうちの少なくとも何れか一方は、前記入力手段により入力される前記レンズに係る情報に応じて歪曲収差の補正方法を制御することを特徴とする請求項1に記載の撮像装置。
【請求項3】
前記レンズに係る情報は、前記レンズの種類及び前記レンズの焦点距離のうちの少なくとも何れか一方を含むことを特徴とする請求項2に記載の撮像装置。
【請求項4】
前記レンズの歪曲収差特性を示す情報を入力する入力手段を更に有し、
前記画像補正手段及び前記ベクトル補正手段のうちの少なくとも何れか一方は、前記入力手段により入力される前記レンズの歪曲収差特性を示す情報に応じて歪曲収差の補正方法を制御することを特徴とする請求項1に記載の撮像装置。
【請求項5】
前記第2の検出手段は、前記レンズの歪曲収差特性に応じて、前記動きベクトルの探索範囲の広さを設定することを特徴とする請求項1に記載の撮像装置。
【請求項6】
前記第2の検出手段は、前記レンズの歪曲収差特性に応じて、通常より画像データが拡大される領域では前記動きベクトルの探索範囲を通常より広く設定し、通常より画像データが縮小される領域では前記動きベクトルの探索範囲を通常より狭く設定することを特徴とする請求項5に記載の撮像装置。
【請求項7】
前記第2の検出手段は、前記レンズである魚眼レンズの歪曲収差特性に応じて、画像データの中央部では前記動きベクトルの探索範囲を通常より広く設定し、画像データの周辺部では前記動きベクトルの探索範囲を通常より狭く設定することを特徴とする請求項6に記載の撮像装置。
【請求項8】
前記第2の検出手段は、前記レンズの歪曲収差特性に応じて変形される各領域に対応する形状で前記探索範囲を設定することを特徴とする請求項5に記載の撮像装置。
【請求項9】
レンズを介して入射される被写体像から画像データを生成する撮像手段を有する撮像装置の制御方法であって、
前記レンズの歪曲収差特性に応じて、前記撮像手段により第1の時点に生成された画像データに対応する参照画像データに含まれる歪曲収差と、前記撮像手段により前記第1の時点より後の第2の時点に生成された画像データに含まれる歪曲収差とをそれぞれ補正する画像補正ステップと、
前記画像補正ステップにより歪曲収差が補正された前記参照画像データと前記画像データとに基づいて、動きベクトルを検出する第1の検出ステップと、
前記レンズの歪曲収差特性に応じて、前記第1の検出ステップにより検出された動きベクトルに含まれる前記画像補正ステップによる歪曲収差補正により生じた誤差成分を補正するベクトル補正ステップと、
前記ベクトル補正ステップにより補正された動きベクトルに基づいて動きベクトルの探索範囲を設定し、当該探索範囲で動きベクトルを検出する第2の検出ステップとを含むことを特徴とする撮像装置の制御方法。
【請求項10】
レンズを介して入射される被写体像から画像データを生成する撮像手段を有する撮像装置の機能をコンピュータに実行させるためのプログラムであって、
前記レンズの歪曲収差特性に応じて、前記撮像手段により第1の時点に生成された画像データに対応する参照画像データに含まれる歪曲収差と、前記撮像手段により前記第1の時点より後の第2の時点に生成された画像データに含まれる歪曲収差とをそれぞれ補正する画像補正ステップと、
前記画像補正ステップにより歪曲収差が補正された前記参照画像データと前記画像データとに基づいて、動きベクトルを検出する第1の検出ステップと、
前記レンズの歪曲収差特性に応じて、前記第1の検出ステップにより検出された動きベクトルに含まれる前記画像補正ステップによる歪曲収差補正により生じた誤差成分を補正するベクトル補正ステップと、
前記ベクトル補正ステップにより補正された動きベクトルに基づいて動きベクトルの探索範囲を設定し、当該探索範囲で動きベクトルを検出する第2の検出ステップとをコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2012−160886(P2012−160886A)
【公開日】平成24年8月23日(2012.8.23)
【国際特許分類】
【出願番号】特願2011−18828(P2011−18828)
【出願日】平成23年1月31日(2011.1.31)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年8月23日(2012.8.23)
【国際特許分類】
【出願日】平成23年1月31日(2011.1.31)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]