(57)【特許請求の範囲】
【請求項１】
複数の視点から撮像された多視点画像を符号化する符号化装置であって、
前記複数の視点ごとに設定された撮影パラメータを用いて前記複数の視点ごとに撮像された複数の画像を含む前記多視点画像を取得する取得手段と、
前記複数の画像の内の符号化対象画像を符号化する場合に、前記複数の画像の内の、前記撮影パラメータが前記符号化対象画像における前記撮影パラメータに基づく所定の範囲内の画像であり、かつ、前記所定の範囲内の画像の内の、前記符号化対象画像を撮像した視点との視差が最も小さい画像を参照画像として用いて、前記符号化対象画像を符号化する符号化手段と
を有することを特徴とする符号化装置。
【請求項２】
前記視差は、前記複数の視点間の距離に基づく
ことを特徴とする請求項１記載の符号化装置。
【請求項３】
前記撮影パラメータは、露光時間、フォーカス位置、絞り値、レンズの明るさ、及び、センサの感度値の内の少なくともいずれかである
ことを特徴とする請求項１又は２に記載の符号化装置。
【請求項４】
前記多視点画像を撮像する撮像装置は、複数の撮像素子を有し、
前記多視点画像は、前記複数の撮像素子を用いて被写体に対して前記複数の視点から撮像された画像である
ことを特徴とする請求項１乃至３のいずれか１項に記載の符号化装置。
【請求項５】
前記符号化手段は、前記参照画像を用いて、前記符号化対象画像にフレーム間予測符号化を施す
ことを特徴とする請求項１乃至４のいずれか１項に記載の符号化装置。
【請求項６】
請求項１乃至５のいずれか１項に記載の符号化装置と、
前記多視点画像を撮像する複数の撮像手段と
を有することを特徴とする撮像装置。
【請求項７】
複数の視点から撮像された多視点画像を符号化する符号化方法であって、
前記複数の視点ごとに設定された撮影パラメータを用いて前記複数の視点ごとに撮像された複数の画像を含む前記多視点画像を取得する取得工程と、
前記複数の画像の内の符号化対象画像を符号化する場合に、前記複数の画像の内の、前記撮影パラメータが前記符号化対象画像における前記撮影パラメータに基づく所定の範囲内の画像であり、かつ、前記所定の範囲内の画像の内の、前記符号化対象画像を撮像した視点との視差が最も小さい画像を参照画像として用いて、前記符号化対象画像を符号化する符号化工程と
を有することを特徴とする符号化方法。
【請求項８】
コンピュータを、請求項１乃至５のいずれか１項に記載の符号化装置の各手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の視点から撮影された画像を符号化する技術に関する。
【背景技術】
【０００２】
従来、被写体を複数の視点から撮影した多視点画像を用いて、任意のフォーカス距離、被写界深度、視点における画像を生成する方法がある。そして、撮影された多視点画像を圧縮符号化（以下、符号化）することで、データ容量を削減することができる。このように符号化されたデータは、記録媒体に記録したり、ネットワークを介してサーバに転送することができる。
【０００３】
撮影された多視点画像を符号化する際に、視点間予測符号化（以下、視点間予測）を用いる方法が提案されている（特許文献１）。撮影された各多視点画像が近接した視点の画像である場合、これらの画像間には相関関係がある。視点間予測は、この画像間の相関関係を利用している。特許文献１では、複数のカメラを用いて被写体を複数の視点から撮影し、多視点画像を取得する。そして、複数の視点のうちいずれかを基準視点と設定する。
【０００４】
基準視点として設定された視点から撮影して得られた画像を符号化する場合、基準視点と同一視点で過去の時刻に撮影された画像（以下、同一視点画像）を参照画像として用いる。一方、基準視点以外の視点で撮影して得られた画像を符号化する場合、同一視点画像、及び、基準視点寄りの隣接視点で撮影された画像（以下、隣接視点画像）を参照画像として用いる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−０２６１６５３
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の特許文献１において、視点間予測は、同一視点画像、及び、隣接視点画像を参照画像の候補として用いている。そのため、参照画像が同一視点画像もしくは隣接画像であっても、撮影条件が異なっている場合には、視点間予測における予測誤差が大きくなり、符号化効率が低下する。また、黒つぶれ、あるいは、白とびしているような画像が基準視点になっている場合には、上記同様、符号化効率が低下するという課題がある。
【０００７】
本発明は、かかる課題を解決し、視点間予測を用いた符号化を効率的に行うことができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明の符号化装置は下記の構成を有する。すなわち、複数の視点から撮像された多視点画像を符号化する符号化装置であって、前記複数の視点ごとに設定された撮影パラメータを用いて前記複数の視点ごとに撮像された複数の画像を含む前記多視点画像を取得する取得手段と、前記複数の画像の内の符号化対象画像を符号化する場合に、前記複数の画像の内の、前記撮影パラメータが前記符号化対象画像における前記撮影パラメータに基づく所定の範囲内の画像であり、かつ、前記所定の範囲内の画像の内の、前記符号化対象画像を撮像した視点との視差が最も小さい画像を参照画像として用いて、前記符号化対象画像を符号化する符号化手段とを有する。
【発明の効果】
【０００９】
本発明により、視点間予測を用いた符号化の効率を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態１の撮像装置の構成を説明する図
【図２】実施形態１の光学素子部を構成する撮像素子の配置を説明する図
【図３】実施形態１の符号化部の構成を説明する図
【図４】実施形態１の予測部の構成を説明する図
【図５】実施形態１の参照画像選択のためのフローチャートを説明する図
【図６】実施形態１の撮影された画像の参照関係を説明する図
【図７】実施形態２の参照画像選択のためのフローチャートを説明する図
【図８】実施形態１及び実施形態２を適用可能なコンピュータのハードウェアの構成例を示すブロック図
【発明を実施するための形態】
【００１１】
＜実施形態１＞
本実施形態では、被写体を複数の視点から撮影した多視点画像を符号化する符号化部を有する撮像装置について説明する。そして、本実施形態においては、デジタルカメラやデジタルカムコーダなどの撮像装置が有する撮像素子から読み出された画像、及び、ネットワークを介して受信した画像を符号化対象とする。尚、本発明はこれに限定されず、符号化部を撮像装置とは別の装置に備えても構わない。すなわち、本発明は、複数の撮像素子を有する撮像装置と、符号化を行う画像符号化装置に分けても構わない。
【００１２】
図１は、複数の撮像素子を備えた多眼方式による撮像装置を示す図である。
【００１３】
図１において、撮像装置１０１は、光学素子部１０２、撮像部１０３、ＣＰＵ１０４、画像処理部１０５、符号化部１０６、バス１０７、メモリ１０８、記憶媒体１０９、通信部１１０を有する。
【００１４】
光学素子部１０２は、被写体にフォーカスを合わせる、シャッターを開く・閉じる、絞り値を調節するなどの撮像系の制御を行う。光学素子部１０２は、被写体の光情報をセンサ（撮像素子）で受光し、受光した信号を撮像部１０３に転送を行う。図２は、光学素子部１０２の構成例を示す図である。光学素子部１０２は、９個の撮像素子２０１〜２０９から構成され、正方格子上に均等に配置されている。尚、図２では一例として９個の撮像素子を正方格子上に配置しているが、本発明において撮像素子の数や配置はこれに限定されるものではない。
【００１５】
撮像部１０３は、光学素子部１０２から転送された光信号（アナログデータ）をＡ／Ｄ変換し、複数の画像（デジタルデータ）を取得する。
【００１６】
ＣＰＵ１０４は、中央処理装置（ＣＰＵ）であり、以下に述べる各部を統括的に制御する。
【００１７】
画像処理部１０５は、バス１０７を介して撮像部１０３から受け取った画像に対し、ホワイトバランス処理、ガンマ処理、ノイズ低減処理などの各種画像処理を行う。
【００１８】
符号化部１０６は、画像を符号化する。
【００１９】
バス１０７は、各種データの転送経路となるバスである。例えば、撮像部１０３によって取得されたデジタルデータはこのバス１０７を介して所定の処理部に送られる。
メモリ１０８は、ＲＡＭであり、ＣＰＵ１０４の主メモリ、ワークエリア等として機能する。
【００２０】
記憶媒体１０９は、符号化部１０６で符号化された画像（以下、符号化画像）を記憶する取り外し可能な記憶媒体である。記憶媒体には、ハードディスク、メモリーカード、ＣＦカード、ＳＤカード、ＵＳＢメモリなどがある。
【００２１】
通信部１１０は、記憶媒体１０９に記憶された符号化画像をコンピュータやプリンタ、または、データ蓄積サーバなどに送信する。また、通信部１１０は、外部機器から符号化画像やプログラムを受信する際の、ＵＳＢや無線などのインターフェースである。
【００２２】
次に、撮像装置１０１が多視点で撮影した画像を符号化し、サーバに転送する方法を説明する。
【００２３】
ＣＰＵ１０４は、予めユーザが設定した露光時間、フォーカス位置、絞り値などの撮影を光学素子部１０２へ送信する。ＣＰＵ１０４は、ユーザの操作や外部からの撮影開始指示を受けると、光学素子部１０２に受光指示を送信し、撮像部１０３に画像取得指示を送信する。光学素子部１０２は、受信した撮影条件のパラメータ（以下、撮影パラメータ）と受光指示に基づき撮影系の制御を行う。
【００２４】
光学素子部１０２は、指定されたフレームレートで被写体の光情報を各撮像素子２０１〜２０９で受光し、受光した信号を撮像部１０３に転送する。
【００２５】
撮像部１０３は、受信した複数枚の信号をＡ／Ｄ変換し、取得した画像を、バス１０７を介してメモリ１０８に送信する。
【００２６】
上述したＣＰＵ１０４、光学素子部１０２、撮像部１０３及び各撮像素子２０１〜２０９による一連の撮像処理は、撮像装置１０１がＣＰＵ１０４から撮影終了指示を受信するまで継続される。例えば、光学素子部１０２が、図２に示すように９個の撮像素子２０１〜２０９から構成されている場合は、光学素子部１０２は各撮像素子２０１〜２０９夫々に撮影パラメータの設定を行う。光学素子部１０２の各撮像素子２０１〜２０９は、被写体からの光情報をそれぞれ受光した後、受光した９視点の受光信号を撮像部１０３に送信する。さらに、各撮像素子２０１〜２０９は、指定されたフレームレートで光情報の受光を継続し、受光信号を撮像部１０３に送信し続ける。このような多眼方式の撮像装置により、同一の被写体を複数の視点位置から撮像したカラー画像群を得ることができる。
【００２７】
そして、ＣＰＵ１０４は、光学素子部１０２の受光、及び、撮像部１０３の画像送信完了を確認後、画像処理部１０５に画像処理開始の指示を送信する。
【００２８】
画像処理部１０５は、ＣＰＵ１０４から画像処理開始の指示を受信すると、バス１０７を介してメモリ１０８に保持された画像を読みだす。そして、画像処理部１０５は、現像処理、ホワイトバランス処理、ガンマ処理、ノイズ低減処理などの各種画像処理を施す。画像処理部１０５により画像処理を施された画像は、再びバス１０７を介してメモリ１０８に送信され記憶保持される。
【００２９】
さらに、ＣＰＵ１０４は、符号化部１０６に符号化処理開始指示を送信する。符号化部１０６は、ＣＰＵから符号化処理開始指示を受信すると、バス１０７を介してメモリ１０８から画像処理済みの画像を読みだし、所定の方式で符号化する処理を行う。尚、本実施形態の画像符号化装置は、入力された複数の視点からの映像を符号化部１０６においてＨ．２６４  ＭＶＣ方式で符号化するが、本発明はこれに限定されない。すなわち、ＭＰＥＧ等に代表される差分符号化方式に基づく符号化方法であれば構わない。尚、符号化部１０６の詳細については後述する。そして、符号化部１０６は、符号化された画像（符号化画像）をバス１０７を介して記憶媒体１０９へ送信する。
【００３０】
記憶媒体１０９は、符号化部１０６から受信した符号化画像を記憶保持する。
【００３１】
ＣＰＵ１０４が通信部１１０に通信開始指示を送信すると、通信部１１０は、バス１０７を介して記憶媒体１０９に記憶された符号化画像を読みだし、撮像装置１０１に接続されたサーバ等の外部機器や記憶メディアへ送信する。ここでは、通信部１１０は、記憶媒体１０９から符号化画像を読みだして送信したが、本発明はこれに限定されるものではない。例えば、符号化部１０６が符号化された符号化画像をメモリ１０８に記憶保持し、通信部１１０はメモリ１０８から符号化画像を読みだして送信しても構わない。
【００３２】
受信先であるサーバ（不図示）は、受信した符号化画像を復号して画像を再構成する。再構成された複数の画像は、異なる視点と露光時間で撮影されたものである。このためサーバは、これらの復号された各画像に夫々注目部分の階調と位置の調整を行い、ＨＤＲ（Ｈｉｇｈ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ）合成を施す。ＨＤＲ合成では、露光（または露出）を変えて取得した複数の画像を任意の比率で合成してトーンマッピングをかけ、ダイナミックレンジを縮小して白飛びや黒つぶれの少ないＨＤＲ画像を作成する。本実施形態において、符号化画像を復号した再構成画像に対してＨＤＲ合成を施すが、本発明は再構成画像の処理方法に限定されるものではない。
【００３３】
尚、本発明における撮像装置１０１は、上記の構成要素と、さらに他の要素を含んでも構わない。
【００３４】
以下、符号化部１０６の構成を、図３を用いて詳細に説明する。
【００３５】
符号化部１０６は、予測部３０１、変換量子化部３０２、可変長符号化部３０３、逆変換逆量子化部３０４、デブロッキングフィルタ部３０５、参照画像メモリ３０６を有する。
【００３６】
予測部３０１は、入力された画像を予測符号化する予測部である。予測部３０１の詳細は後述する。
【００３７】
変換量子化部３０２は、予測部３０１によって予測符号化された画像に対し、直交変換及び量子化を行う変換量子化部である。
【００３８】
可変長符号化部３０３は、変換量子化部３０２によって量子化された画像の変換係数を可変長符号化して、ビットストリームを出力する可変長符号化部である。可変長符号化部３０３は、予測部３０１から出力される動きベクトルまたは視差ベクトルを含む、種々の符号化パラメータも可変長符号化する。さらに、可変長符号化部３０３は、可変長符号化されたビットストリームを出力し、バス１０７を介して記憶媒体１０９へ送信する。
【００３９】
逆変換逆量子化部３０４は、変換量子化部３０２によって量子化された画像の変換係数を逆量子化し、逆変換を行う逆変換・逆量子化部である。
【００４０】
デブロッキングフィルタ部３０５は、逆変換逆量子化部３０４によって逆変換された画像に対してブロック歪除去を行うデブロッキングフィルタである。
【００４１】
参照画像メモリ３０６は、デブロッキングフィルタ部３０５から出力された画像を後続する画像の予測符号化で参照画像として用いる可能性があるために保持する。尚、本実施形態において、参照画像メモリ３０６は符号化部１０６の内部に専用のメモリとして設けられているが、本発明はこれに限定されない。例えば、図１のメモリ１０８上にフレームメモリ領域を割り当ててもよい。
【００４２】
以下、予測部３０１の構成を、図４を用いて詳細に説明する。
【００４３】
予測部３０１は、イントラ符号化部４０１、フレーム間符号化部４０２、予測モード選択部４０３を有する。本実施形態において、画像は、メモリ１０８から１枚ずつイントラ符号化部４０１及びフレーム間符号化部４０２に入力される。
【００４４】
イントラ符号化部４０１は、メモリ１０８から出力された画像を画像内の画素信号を用いて予測を行うイントラ予測符号化（以下、イントラ予測）を施し、予測誤差を出力する。
【００４５】
一方、フレーム間符号化部４０２は、メモリ１０８から入力された画像を、参照画像メモリ３０６に保持された参照画像を用いてフレーム間予測符号化（以下、フレーム間予測）を行う。尚、フレーム間予測には、同一視点画像を参照画像として用いる符号化（以下、同一視点予測）と、隣接視点画像などのように異なる視点で撮影された画像を参照画像として用いる視点間予測がある。よって、フレーム間符号化部４０２は、入力された画像に対して同一視点予測または視点間予測を行う。そして、フレーム間符号化部４０２は、動きベクトル、または、視差ベクトル、及び、予測誤差を出力する。
【００４６】
予測モード選択部４０３は、イントラ符号化部４０１によってイントラ予測された画像、または、フレーム間符号化部４０２によってフレーム間予測された画像のいずれか一方を選択し、選択した画像の予測誤差と予測モードを出力する。尚、入力された画像に対しイントラ予測を行うかフレーム間予測を行うかを事前に設定してある場合には、選択は不要である。
【００４７】
フレーム間符号化部４０２は、撮影パラメータ取得部４０５、参照画像選択部４０６、ベクトル探索部４０７を有する。
【００４８】
撮影パラメータ取得部４０５は、各撮像素子２０１〜２０９における露光時間、フォーカス位置、絞り値などの撮影パラメータをメモリ１０８から取得する。撮影パラメータ取得部４０５は、各撮像素子２０１〜２０９の位置情報と対応させて撮影パラメータを記憶保持する。撮影パラメータ取得部４０５は、視点間予測を行う場合、メモリ１０８から取得した撮影パラメータを参照画像選択部４０６に出力する。
【００４９】
参照画像選択部４０６は、撮影パラメータ取得部４０５から受信した撮影パラメータを用いて、参照画像リストに追加する画像を選択する。参照画像リストは、符号化対象の画像（以下、符号化対象画像）に対してベクトル探索をする際の参照画像として用いる画像群である。そして、参照画像選択部４０６は、作成した参照画像リストをベクトル探索部４０７に送信する。
【００５０】
ベクトル探索部４０７は、参照画像選択部４０６から受信した参照画像リストに基づき、参照画像メモリ３０６から参照画像の候補（以下、参照画像候補）となる再構成画像を読み出す。そして、ベクトル探索部４０７は、入力された符号化対象画像と参照画像候補を用いて、ベクトル探索を行い、フレーム間予測に用いる参照画像を選択する。そして、ベクトル探索部４０７は、視差ベクトル、または、動きベクトル、及び、予測誤差を予測モード選択部４０３へ出力する。
【００５１】
本実施形態では、撮影パラメータ取得部４０５が各撮像装置２０１〜２０９の撮影パラメータを記憶・保持する。しかし、本発明においては、参照画像を決定するために、この撮影パラメータの記憶保持を参照画像選択部４０６で行っても構わない。
【００５２】
次に、参照画像選択部４０６において、符号化対象画像を撮影した撮像素子の撮影パラメータを用いて参照画像リストに追加する画像を選択する方法を図５のフローチャートを用いて説明する。図５のフローチャートでは、符号化対象画像を撮影した撮像素子と撮影パラメータが近く、さらに、当該撮像素子との視差が小さい撮像素子で撮影した画像を選択する。ここでは、基準視点に対応する撮像素子を撮像素子２０５とし、符号化対象画像が撮像素子２０２によって撮影されたとして説明する。尚、本実施形態はこれに限定されるものではない。
【００５３】
ステップＳ５０１では、符号化対象画像が基準視点で撮影された画像（以下、基準視点画像）であるか否かを判定する。ステップＳ５０１において符号化対象画像が基準視点画像である場合は、視点間予測をしないので、判定処理を終了する。一方、符号化対象画像が基準視点画像ではない場合は、ステップＳ５０２の処理を行う。本実施形態において、基準視点は撮像素子２０５であり、撮像素子２０２によって撮影された画像は基準視点画像ではない。このため、次にステップＳ５０２へ進む。
【００５４】
ステップＳ５０２では、符号化対象画像を撮影した撮像素子２０２の撮影パラメータを撮影パラメータ取得部４０５から取得する。撮影パラメータは、露光時間、フォーカス位置、絞り値、レンズの明るさ（Ｆ値）、センサの感度値など、撮影時に用いられるパラメータのことである。本発明において、各撮像素子の撮影パラメータを用いて参照画像リストに追加する画像を選択するが、前述した撮影パラメータのうち、少なくとも一項目を用いればよい。ここでは、説明を簡単にするため、撮影パラメータは露光時間であるとする。
【００５５】
次に、ステップＳ５０３は、符号化対象画像の撮像素子２０２と、予め定めた視差の閾値の範囲内にある撮像素子を選択する。本実施形態における視差は、本発明では、符号化対象画像を撮影した撮像素子と各撮像素子間の距離に基づくパラメータであるとする。例えば、撮像間の距離が短い順に視差をレベル１、レベル２、レベル３のようにレベルをつけてもよい。尚、本発明においてはこれに限定されることはなく、視差は撮像素子間の距離そのものであってもよい。また、符号化対象画像を撮影した撮像素子と当該撮像素子以外の各撮像素子の被写体に対する視点の違いを角度で表したものを視差としてもよい。さらに、本実施形態においては、ＣＰＵ１０４が、予めユーザまたは外部インターフェースにより設定された各撮像素子２０１〜２０９の視差を符号化部１０６内の参照画像選択部４０６に設定する。尚、本発明においてはこれに限らず、例えば視差の出力元が光学素子１０２であっても撮像部１０３であっても構わない。
【００５６】
さらに、ステップＳ５０３は、抽出された撮像素子のＩＤを取得し、選択された各撮像素子で撮影された画像を参照画像リストへ追加する画像の候補（以下、リスト候補）とする。すなわち、選択された撮像素子がＮ個ある場合、リスト候補はＮ個存在する。そして、これらＮ個のリスト候補をまとめてリスト候補群とする。Ｎ個のリスト候補群の各画像ごとに適当な順番で後述の処理を行い、最終的に参照画像リストを作成する。
【００５７】
ステップＳ５０４からＳ５０８で、露光時間が所定の条件を満たし、視差が最小の撮像素子で撮影した画像を予測符号化の参照画像として選択する。参照画像は、このように選択される参照画像に限定されるものではなく、露光時間と視差の組み合わせから適切に選択することが可能である。例えば、視差が視差閾値を満たさなくても、露光時間が同一又は最も近いものを参照画像として選択してもよい。これは、露光時間が同一又は最も近い視点画像が少ない場合に有効である。まず、ステップＳ５０４は、ステップＳ５０３で抽出した全Ｎ個（Ｎ≧１）の撮像素子のうちｎ番目（１≦ｎ≦Ｎ）に処理する撮像素子の露光時間と視差を取得する。ｎは判定処理を行った回数（以下、判定回数）を表す。さらに、ｎ番目の撮像素子の露光時間を露光時間Ｔｎ、ｎ番目の撮像素子と符号化対象の撮像素子２０２との視差を視差Ｐｎとする。
【００５８】
ステップＳ５０５は、取得した露光時間Ｔｎが露光時間の閾値範囲内にあるか否かを判定する。露光時間の閾値は予め定められたものであり、露光時間の下限の閾値を下限露光時間Ｔｈ１、露光時間の上限閾値を上限露光時間Ｔｈ２とする。上限露光時間Ｔｈ２は、下限露光時間Ｔｈ１と同じ、もしくは、大きい値が設定されなければならない。また、下限露光時間Ｔｈ１と上限露光閾値とＴｈ２は、符号化対象画像の撮像に用いられた露光時間、又は露光時間に基づいて決めた時間である。ステップＳ５０５においては、露光時間Ｔｎが２つの露光時間の閾値である下限露光時間Ｔｈ１と上限露光時間Ｔｈ２の範囲にあるか否かを判定する。露光時間Ｔｎが閾値の範囲内である場合は、ステップＳ５０６へ進み、視差Ｐｎの判定を行う。一方、露光時間Ｔｎが閾値の範囲外である場合は、ｎ番目の撮像素子で撮影された画像を参照画像リストには追加しない。そして、ステップＳ５０８へ進み、次の撮像素子（ｎ＋１番目の撮像素子）で撮影された画像が参照画像リストへ追加するか否かの判定を行う。
【００５９】
ステップＳ５０６は、各リスト候補に対応する撮像素子の視差が閾値より小さいか否かを判定する。具体的には、ｎ番目の撮像素子と符号化対象の撮像素子２０２との視差Ｐｎを視差の閾値である最小視差Ｐｍｉｎと比較し、視差Ｐｎが最小視差ｍｉｎより小さいか否かを判定する。尚、判定回数１（ｎ＝１）のときの最小視差Ｐｍｉｎは、初期値として予め定めた閾値である視差初期値Ｐｈとする。視差Ｐｎが最小視差Ｐｍｉｎより小さいである場合は、ステップＳ５０７へ進む。一方、視差Ｐｎが最小視差Ｐｍｉｎ以上である場合は、ｎ番目の撮像素子で撮影された画像は参照画像リストには追加しない。そして、ステップＳ５０８へ進み、次の撮像素子で撮影された画像が参照画像リストへ追加するか否かの判定を行う。ステップＳ５０７は、ｎ番目の撮像素子で撮影された画像を参照画像リストとして保持し、ｎ番目の撮像素子と符号化対象の撮像素子２０２との視差Ｐｎを視差の閾値である最小視差Ｐｍｉｎとして書き換える。
【００６０】
ステップＳ５０８は、参照画像選択部４０６における参照画像リストに追加する画像の選択処理の終了判定を行う。具体的には、判定回数ｎがＮより小さい場合は、ステップＳ５０９を経由し、最適な参照画像リストを作成するために、ステップＳ５０４へ戻って判定処理を繰り返す。一方、判定回数ｎがＮと等価である場合は、符号化対象画像の符号化における参照画像の選択処理を全てのリスト候補群に対して終えたとして、判定処理を終了する。
【００６１】
また、ステップＳ５０７において、参照画像リストに既にリスト候補が存在していた場合は、先に記憶保持していたリスト候補を破棄し、より視差が小さいリスト候補を参照画像リストに保持する。
【００６２】
本実施形態では、符号化対象画像を撮影した撮像素子と撮影パラメータが近く、さらに、当該撮像素子との視差が小さい撮像素子で撮影した画像を参照画像リストに追加する手順を、図５のフローチャートを用いて説明したが、本発明はこれに限定されるものではない。例えば、参照画像を複数選択して、これらを用いて予測符号化する場合は、図５のフローチャートに従って選択される画像に加えて、撮影パラメータに関係なく最も視差の小さい画像も、参照画像リストに追加してもよい。
【００６３】
また、本実施形態では撮影パラメータとして露光時間を用いたが、本発明はこれに限定されるものではない。例えば、露光時間Ｔ、絞り値Ｉ、レンズの明るさＦ、センサの感度Ｓを用いて、式（１）のように撮影パラメータを表す値Ｃを算出してもよい。
【００６４】
Ｃ＝ａ１×Ｔ＋ａ２×Ｉ＋ａ３×Ｆ＋ａ４×Ｓ    −（１）
ただし、式（１）のａ１、ａ２、ａ３、及び、ａ４は、予め定められた定数である。
【００６５】
以上の構成と動作により、特に参照画像選択部４０６における処理により、撮像素子毎に露光時間を変えて複数の視点から撮影された画像群を視点間予測する場合に、参照画像の候補を絞り込むことができる。従って、視差ベクトルの計算量を削減することができる。
【００６６】
尚、本実施形態では参照画像選択部４０６における処理のステップＳ５０３で、符号化対象画像の撮像素子２０２と予め定めた視差の閾値の範囲内にある撮像素子を選択し、リスト候補群とした。しかし、本発明においてはステップＳ５０３を省略しても構わない。つまり、リスト候補群を選ばず、同一時刻における符号化対象画像以外の全ての画像について参照画像リストを作成するための処理を行ってもよい。ステップＳ５０３における処理は、符号化対象画像の撮像素子２０２と遠く離れた撮像素子によって撮影された画像の処理を省略するために設けたものである。これによって、視差の閾値の範囲外にある画像については、ステップＳ５０５〜ステップＳ５０９の処理を行う必要がない。すなわち、符号化対象画像以外の全ての画像について処理する場合と比較して、計算量を削減することができる。
【００６７】
また、本実施形態において、全ての撮像素子の中からリスト候補群を選び、更に参照画像リストを作成したが、本発明はこれに限定されるものではない。すなわち、リスト候補群や参照画像リストは必ずしも必要ではなく、全ての撮像素子のＩＤリストから、参照画像として使用しないものを外していくようにしても良い。
【００６８】
以下、具体的に参照画像リストに追加する画像の選択方法を説明する。
【００６９】
ここでは例として、光学素子部１０２の撮像素子の数を６個とする。さらに、露光時間の閾値の下限露光時間Ｔｈ１と上限露光時間Ｔｈ２をともに符号化対象画像を撮影した撮像素子の露光時間と等しい値とし、初期の視差の閾値である視差初期値Ｐｈを５（初期の最小視差Ｐｍｉｎ＝視差初期値Ｐｈ＝５とする。尚、下限露光時間Ｔｈ１と上限露光時間Ｔｈ２を同じ値を設定するのは、説明を簡単するためであり、本発明はこれに限定されるものではない。
【００７０】
また、６個の撮像素子のＩＤとして＃１〜＃６を割り当てる。また、各撮像素子＃１〜＃６に設定された露光時間を表１に示す。
【００７１】
【表１】
0006338724.tif 000002
図６は、各撮像素子＃１〜＃６を用いて撮影された画像を撮影時刻毎に並べ、フレーム間符号化部４０２によるフレーム間予測をする際の画像の参照関係を示した図である。本実施形態では、図６において、撮像素子♯１で撮影された画像を基準視点画像とする。また、符号化部１０６は、各撮像素子＃１〜＃６から出力される画像を、撮像素子＃１、＃２、＃３、＃４、＃５、＃６に対応する画像の順番で符号化する。尚、本発明はこれに限定されるものではない。例えば、撮像素子＃３から出力される画像を基準視点画像としてもよいし、各撮像素子＃１〜＃６に対応する画像を上記と異なる順番で符号化してもよい。
【００７２】
まず、図６の時刻ｔ１に撮像素子＃４で撮影された画像Ｂ４１を例に挙げ、図４の参照画像選択部４０６が画像リストを作成する処理方法を図５、図６、及び、表１を用いて説明する。
【００７３】
ステップＳ５０１において、参照画像選択部４０６は、符号化対象画像である画像Ｂ４１が基準視点画像であるか否かを判定する。画像Ｂ４１は基準視点画像ではないため、ステップＳ５０２へ進む。
【００７４】
ステップＳ５０２において、参照画像選択部４０６は、撮影パラメータ取得部４０５からＢ４１を撮影した撮像素子＃４の撮影パラメータを取得する。表１に示すように、撮像素子＃４の露光時間は１／１２５である。
【００７５】
ステップＳ５０３において、参照画像選択部４０６は、視差が視差初期値Ｐｈを５より小さい撮像素子で撮影された画像をリスト候補とする。画像Ｂ４１の符号化におけるリスト候補は、予め符号化済みの画像から選択する。また、時刻ｔ１では、各撮像素子＃１〜＃６のうち撮像素子＃４の視差と近い撮像素子で同一時刻の時刻ｔ１に撮影された画像がリスト候補と成り得る。つまり、画像Ｂ４１の符号化におけるリスト候補群は、画像Ｉ１１、画像Ｐ２１、及び、画像Ｐ３１から成る。そのため、リスト補群に対応する撮像素子の各ＩＤは、＃１、＃２、及び、＃３となる。つまり、リスト候補群にリストされる画像に対応する撮像素子の数Ｎは３（Ｎ＝３）である。ここでは、説明を簡単にするため、ステップＳ５０４〜Ｓ５０７では、撮像素子のＩＤを昇順（＃１、＃２、＃３の順序）に判定処理を進める。
【００７６】
ステップＳ５０４では、１番目の撮像素子＃１の露光時間と視差を取得する。表１及び図６より、撮像素子＃１の露光時間は１／１２５、視差は３である。
【００７７】
ステップＳ５０５は、撮像素子＃１の露光時間１／１２５が露光時間の閾値の範囲内であるか否かを判定する。露光時間の閾値の下限露光時間Ｔｈ１と上限露光時間Ｔｈ２は、ともに符号化対象画像を撮影した撮像素子＃４の露光時間１／１２５と等しい値である。よって、撮像素子＃１の露光時間１／１２５は閾値の範囲内にあるため、ステップＳ５０６へ進む。
【００７８】
ステップＳ５０６では、撮像素子＃１の視差は３が最小視差Ｐｍｉｎより小さいか否かを判定する。このときの最小視差Ｐｍｉｎは視差初期値Ｐｈと等しい値であるため、最小視差Ｐｍｉｎは５である。よって、ステップＳ５０７へ進む。
【００７９】
ステップＳ５０７では、画像Ｉ１１を参照画像リストに追加し、視差の閾値である最小視差Ｐｍｉｎを視差初期値Ｐｈ＝５から光学素子＃１の視差の値３に変更する（Ｐｍｉｎ＝３に書き換える）。そして、ステップＳ５０８へ進む。
【００８０】
ステップＳ５０８では、符号化対象である画像の符号化における参照画像の選択処理を全てのリスト候補群に対して終えたか否かを判定する。この時点で判定回数１（ｎ＝１）なのでｎ＜Ｎ（Ｎ＝３）である。よって、全てのリスト候補群に対して処理を終えていないと判定する。そして、ステップＳ５０９を経由してステップＳ５０４へ戻り、次のリスト候補である撮像素子＃２で撮影された画像Ｐ２１について判定処理を繰り返す。しかし、ステップＳ５０４では、撮像素子＃２の露光時間が閾値範囲内にないため、画像Ｐ２１は参照画像リストに追加しない。同様の理由で、撮像素子＃３で撮影された画像Ｐ３１も参照画像リストに追加しない。
【００８１】
つまり、図６の時刻ｔ１に撮像素子＃４で撮影された画像Ｂ４１のフレーム間予測において、参照画像リストには画像Ｉ１１が保持される。そして、ベクトル探索部４０７は、当該画像Ｉ１１を用いてベクトル探索を行う。
【００８２】
尚、本発明はこれに限定されるものではなく、複数の画像を参照画像リストに保持する場合は、画像Ｉ１１に加えて、例えば視差が最も小さい画像である画像Ｐ３１も参照画像リストに加えてもよい。
【００８３】
次に、もう１つの事例として、図６の時刻ｔ４に撮像素子＃６で撮影された画像Ｂ６４の参照画像リストを作成する処理方法を図５、図６、及び、表１を用いて説明する。
【００８４】
ステップＳ５０２では、画像Ｂ６４を撮影した撮像素子＃６の露光時間１／２０００を取得する。
【００８５】
ステップＳ５０３では、リスト候補群にリストされる撮像素子を選択する。リスト候補群として選択された画像は、画像Ｂ６４と同時刻に撮影された画像のうち、視差閾値を満たす画像Ｂ２４、画像Ｂ３４、画像Ｂ４４、画像Ｂ５４の４つとなる（撮像素子数Ｎ＝４）。
【００８６】
そして、各リスト候補群に対応する各撮像素子＃２、＃３、＃４、＃５に対してステップＳ５０４〜Ｓ５０７の判定処理を夫々行う。
【００８７】
その結果、参照画像リストには、＃３で撮影された画像Ｂ３４を保持する。これは、画像Ｂ３４がステップＳ５０５における露光時間の閾値を満たすためである。
【００８８】
尚、本発明はこれに限定されるものではない。すなわち、同一時刻、つまり、Ｂ６４を撮影した時刻ｔ４に撮影された画像のうち最も視差の小さい画像Ｂ５４を参照画像リストに加えてもよい。また、同一視点、つまりＢ６４を撮影した撮像素子＃６により異なる時刻に撮影された画像Ｂ６３及び画像Ｂ６５も参照画像リストに加えてもよい。
【００８９】
＜実施形態２＞
実施形態１では、参照画像選択部４０６において、符号化対象画像を撮影した撮像素子の撮影パラメータを用いて参照画像を選択する方法を図５のフローチャートを用いて説明した。本実施形態では、参照画像選択部４０６において、図７に示すフローチャートを用いて参照画像を選択するその他の方法を説明する。
【００９０】
本実施形態における撮像装置は、図１、図２、図３、及び、図４に示した実施形態１と同じ構成であるため、記述を省略する。
【００９１】
以下、符号化対象画像を撮影した撮像素子の撮影パラメータを用いて参照画像を選択する方法を図７のフローチャートを用いて説明する。ただし、図７における、ステップＳ７０１、ステップＳ７０２、ステップＳ７０３、ステップＳ７０６、ステップＳ７０８は、図５におけるステップＳ５０１、ステップＳ５０２、ステップＳ５０３、ステップＳ５０５、ステップＳ５０９に夫々対応する。このため、詳細の説明は省略する。
【００９２】
ステップＳ７０１〜ステップＳ７０３は、図５におけるステップＳ５０１〜ステップＳ５０３と同様の動作を実行する。
【００９３】
ステップＳ７０４は、ステップＳ７０３で選択した全Ｎ個（Ｎ≧１）の撮像素子の視差を取得する。さらに、ステップＳ７０４は取得した視差の小さい順に、Ｎ個の撮像素子に処理順序を設定する。
【００９４】
ステップＳ７０５は、ステップＳ７０４で設定した処理順序に基づいて、ｎ番目（１≦ｎ≦Ｎ）に処理する撮像素子の露光時間と視差を取得する。また、ｎ番目の撮像素子の露光時間を露光時間Ｔｎ、符号化対象画像を撮影した撮像素子との距離に基づく視差を視差Ｐｎとする。
【００９５】
ステップＳ７０６は、ステップＳ７０５で取得した露光時間Ｔｎが露光時間の閾値範囲内にあるか否かを判定する。露光時間の閾値は、下限露光時間Ｔｈ１、上限露光時間Ｔｈ２とする。ステップＳ７０６においては、露光時間Ｔｎが２つの露光時間の閾値である下限露光時間Ｔｈ１と上限露光時間Ｔｈ２の範囲にあるか否かを判定する。露光時間Ｔｎが閾値の範囲内である場合は、ステップＳ７０７へ進む。一方、露光時間Ｔｎが閾値の範囲外である場合は、ｎ番目の撮像素子で撮影された画像を参照画像リストには追加しない。そして、ステップＳ７０８へ進み、次の撮像素子（ｎ＋１番目の撮像素子）で撮影された画像が参照画像リストへ追加するか否かの判定を行う。
【００９６】
ステップＳ７０７は、ｎ番目の撮像素子で撮影された画像を参照画像リストとして保持し、参照画像選択部４０６における参照画像の選択処理の判定を終了する。
【００９７】
本実施形態では、ステップＳ７０４により、視差の小さい順に処理順序を設定し、当該処理順序に基づいて撮影パラメータを比較した。これにより、リスト候補群全てに対して撮影パラメータが閾値を満たすか否かを判定する必要はない。また、本実施形態では、符号化対象画像を撮影した撮像素子と撮影パラメータが近く、さらに、当該撮像素子との視差が小さい撮像素子で撮影した画像を参照画像リストに追加する手順を、図７のフローチャートを用いて説明した。しかし、本発明はこれに限定されるものではない。例えば、参照画像を複数選択して、これらを用いて予測符号化する場合は、図７のフローチャートに従って選択される画像に加えて、撮影パラメータに関係なく最も視差の小さい画像も、参照画像リストに追加してもよい。
【００９８】
＜実施形態３＞
実施形態１及び２において本発明を実行する撮像装置について説明した。しかしながら本発明は撮像装置に限らず、画像処理部及び符号化部を有する画像処理装置においても実行可能である。また画像処理部及び符号化部を有さなくても、これらの処理部が行う処理をコンピュータプログラムでもって実行しても良い。
【００９９】
図８は、上記各実施形態を適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
【０１００】
ＣＰＵ８０１は、ＲＡＭ８０２やＲＯＭ８０３に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上述した各処理を実行する。即ち、ＣＰＵ８０１は、図１示した画像処理部及び符号化部として機能することになる。
【０１０１】
ＲＡＭ８０２は、外部記憶装置８０６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）８０７を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、ＲＡＭ８０２は、ＣＰＵ８０１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ８０２は、例えば、フレームメモリとして割り当てたり、その他の各種のエリアを適宜提供したりすることができる。
【０１０２】
ＲＯＭ８０３には、本コンピュータの設定データや、ブートプログラムなどが格納されている。操作部８０４は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をＣＰＵ８０１に対して入力することができる。
【０１０３】
外部記憶装置８０６は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置８０６には、ＯＳ（オペレーティングシステム）や、各部の機能をＣＰＵ８０１に実現させるためのコンピュータプログラムが保存されている。更には、外部記憶装置８０６には、処理対象としての各画像データが保存されていても良い。
【０１０４】
外部記憶装置８０６に保存されているコンピュータプログラムやデータは、ＣＰＵ８０１による制御に従って適宜、ＲＡＭ８０２にロードされ、ＣＰＵ８０１による処理対象となる。Ｉ／Ｆ８０７には、ＬＡＮやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータはこのＩ／Ｆ８０７を介して様々な情報を取得したり、送出したりすることができる。８０８は上述の各部を繋ぐバスである。
【０１０５】
上述の構成からなる作動は前述のフローチャートで説明した作動をＣＰＵ８０１が中心となってその制御を行う。
【０１０６】
＜その他の実施形態＞
本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
【０１０７】
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
【０１０８】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
【図１】
0006338724.tif 000003
【図２】
0006338724.tif 000004
【図３】
0006338724.tif 000005
【図４】
0006338724.tif 000006
【図５】
0006338724.tif 000007
【図６】
0006338724.tif 000008
【図７】
0006338724.tif 000009
【図８】
0006338724.tif 000010