(57)【要約】【課題】立体画像の符号化での視差ベクトルの検出精度を向上させる。【解決手段】複数の撮像部で撮像された被写体の複数の画像信号を画像間のインター予測を用いて所定の画素ブロック単位で符号化するときに、複数の画像信号から画像間のずれを示す差分情報を生成し、所定の画素ブロック単位でベクトルを検出するために設定される探索範囲を生成された差分情報に従って適応的に設定する。【選択図】図１
2012257198.tif 000002
【特許請求の範囲】
【請求項１】
被写体を複数の撮像部により撮像して得られた複数の画像信号を符号化するための画像符号化装置であって、
前記複数の画像信号を入力する入力手段と、
前記入力された複数の画像信号を、それぞれ所定の画素ブロック単位で符号化する符号化手段であって、前記複数の画像信号の間で前記所定の画素ブロック単位でのインター予測を行う符号化手段と、
前記符号化手段による符号化対象ブロックと、前記インター予測によって参照される参照画像における前記符号化対象ブロックに対応する位置の画素ブロックとの間の画像のずれを示す差分情報を生成する生成手段と、
前記符号化対象ブロックに対する前記インター予測で用いるベクトルを検出するための探索範囲を、前記生成手段により生成された前記差分情報に従って適応的に設定する設定手段と、を備えることを特徴とする画像符号化装置。
【請求項２】
前記差分情報は、前記符号化対象ブロックと前記参照画像の対応する位置の画素ブロックとの間の画素差分値、前記所定の画素ブロック単位で検出される視差ベクトル、前記複数の撮像部の動き情報のうちのいずれか一つであることを特徴とする請求項１記載の画像符号化装置。
【請求項３】
前記差分情報は前記符号化対象ブロックと前記参照画像の対応する位置の画素ブロックとの間の画素差分値であり、前記設定手段は、前記探索範囲のサイズを前記画素差分値に従って符号化対象ブロック毎に個別に設定するものであって、前記画素差分値が所定の閾値より大きいときに、当該所定の閾値以下のときに比べて前記探索範囲のサイズを大きくすることを特徴とする請求項１に記載の画像符号化装置。
【請求項４】
前記設定手段は、前記探索範囲から前記ベクトルを検出するときの探索精度を前記画素差分値に従って変更し、前記探索範囲のサイズの変更にかかわらず単位時間当たりの探索回数を一定値にすることを特徴とする請求項３に記載の画像符号化装置。
【請求項５】
前記差分情報は前記符号化対象ブロックと前記参照画像の対応する位置の画素ブロックとの間の画素差分値であり、前記設定手段は、前記探索範囲のサイズを前記画素差分値に従って符号化対象ブロック毎に個別に設定するものであって、前記画素差分値が所定の閾値より大きい場合には設定された探索範囲を粗く探索するよう設定し、当該所定の閾値以下の場合には設定された探索範囲を緻密に探索するよう設定することを特徴とする請求項１に記載の画像符号化装置。
【請求項６】
前記差分情報は前記符号化対象ブロックと前記参照画像の対応する位置の画素ブロックとの間の画素差分値であり、前記設定手段は、前記探索範囲の設定位置を前記画素差分値に従って変更し、前記画素差分値が閾値より大きいときに前記探索範囲の設定位置を前記複数の撮像部の配置の方向に対応する方向に移動することを特徴とする請求項１に記載の画像符号化装置。
【請求項７】
前記設定手段は、前記探索範囲のサイズを前記画素差分値に従って変更することを特徴とする請求項６に記載の画像符号化装置。
【請求項８】
前記差分情報は前記所定の画素ブロック単位で検出される視差ベクトルであり、前記設定手段は、前記符号化手段によって先に符号化された画素ブロックについて検出された視差ベクトルの垂直成分に従って、前記探索範囲の面積を変えずにその形状を変更することを特徴とする請求項１に記載の画像符号化装置。
【請求項９】
前記設定手段は、前記符号化手段によって先に符号化された画素ブロックについて検出された視差ベクトルの垂直成分の値が所定の範囲にあるときは、前記探索範囲の形状を変更せずにその設定位置を変更することを特徴とする請求項８に記載の画像符号化装置。
【請求項１０】
前記差分情報は、前記複数の撮像部の動き情報であり、前記設定手段は、前記複数の撮像部の動き情報に従って前記探索範囲の面積を変えずにその形状を変更することを特徴とする請求項１に記載の画像符号化装置。
【請求項１１】
前記制御手段は、前記複数の撮像部の動きが所定の範囲にあるときは、前記複数の撮像部の動き情報に従って前記探索範囲の面積を変えずにその形状を変更するとともに前記探索範囲の設定位置を前記動き情報に従って移動することを特徴とする請求項１０に記載の画像符号化装置。
【請求項１２】
被写体を撮影して画像信号を得るための複数の撮像部と、
請求項１乃至１１のいずれか一項に記載の画像符号化装置と、
を備えることを特徴とする撮像装置。
【請求項１３】
被写体を複数の撮像部により撮像して得られた複数の画像信号を符号化する画像符号化方法において、
前記複数の画像信号を入力する入力ステップと、
前記入力された複数の画像信号を、それぞれ所定の画素ブロック単位で符号化する符号化ステップであって、前記複数の画像信号の間で前記所定の画素ブロック単位でのインター予測を行う符号化ステップと、
前記符号化ステップにおける符号化対象ブロックと、前記インター予測によって参照される参照画像における前記符号化対象ブロックに対応する位置の画素ブロックとの間の画像のずれを示す差分情報を生成する生成ステップと、
前記符号化対象ブロックに対する前記インター予測で用いるベクトルを検出するための探索範囲を、前記生成ステップで生成された前記差分情報に従って適応的に設定する設定ステップと、を備えることを特徴とする画像符号化方法。
【請求項１４】
コンピュータを、
被写体を複数の撮像部により撮像して得られた複数の画像信号を入力して符号化する画像符号化装置の制御方法において、
前記入力された複数の画像信号を、それぞれ所定の画素ブロック単位で符号化する符号化手段であって、前記複数の画像信号の間で前記所定の画素ブロック単位でのインター予測を行う符号化手段と、
前記符号化手段による符号化対象ブロックと、前記インター予測によって参照される参照画像における前記符号化対象ブロックに対応する位置の画素ブロックとの間の画像のずれを示す差分情報を生成する生成手段と、
前記符号化対象ブロックに対する前記インター予測で用いるベクトルを検出するための探索範囲を、前記生成手段により生成された前記差分情報に従って適応的に設定する設定手段として機能させるためのプログラム。
【請求項１５】
請求項１４のプログラムを記録したコンピュータが読み取り可能な記憶媒体。
【請求項１６】
コンピュータを、請求項１乃至１１のいずれか一項に記載の画像符号化装置の各手段として機能させるプログラム。
【請求項１７】
コンピュータを、請求項１乃至１１のいずれか一項に記載の画像符号化装置の各手段として機能させるプログラムを格納した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を符号化する符号化装置に関し、特に複数の撮像部で撮像された複数の画像を用いて生成される立体画像を符号化する立体画像符号化装置に関する。
【背景技術】
【０００２】
近年、立体表示可能なディスプレイの普及に伴い、立体画像の撮影可能な撮像装置についても注目されている。立体画像は、通常、視差を有する２つのカメラのそれぞれで撮影した右眼用画像および左眼用画像を用いて作成している。また、画像の符号化としては、ＭＰＥＧ方式などで用いられているような時間方向の画像間の動きベクトルを探索する動き予測を用いた圧縮符号化・復号化技術が従来から知られている。これに加え、右眼用カメラと左眼用カメラ間の視差によるベクトル（以下、視差ベクトルと称す）を探索する視差予測を用いた符号化方法も知られている（特許文献１参照）。
特許文献１は、例えば平行に設置された２つのカメラで撮影された立体画像を視差予測を用いて圧縮符号化する符号化装置を開示している。特に、左眼用カメラで撮像される対象物は、右眼用カメラでは必ず左側にずれた位置に撮像されるというカメラ間の視差に基づき、右眼用カメラで撮像された画像に対する視差予測の探索範囲を左方向にずらした位置に設定することを開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１６５９０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来技術では奥行きを持たせる立体符号化の場合、左目で見た画像の被写体は右目では必ず左方向にずれているといった視差に基づくずれを考慮し、例えば視差予測の探索範囲を画面上の被写体位置と同一の位置から左方向にずらした位置に設定するなどしている。
【０００５】
ところが、この従来技術では視差の方向は考慮されているものの、探索範囲のずらし量が画面内のどの位置でも一定である。従って、画面内で被写体までの距離が異なる場合などに、必ずしも適切に探索範囲を設定することができず、正しい視差ベクトルを検出できなくなるおそれがある。
【０００６】
また、１つの筐体に右眼用カメラと左眼用カメラが水平に配置された撮像装置では、通常２つのカメラの視差による水平方向のずれのみが発生する。しかし、各カメラが回転補正機能を有する撮像装置の場合には、撮影時に撮影者の手ぶれ等による影響によって、各カメラより撮影された画像に垂直方向のずれが発生する場合がある。この点、上記従来技術では、視差に基づく水平方向へのずれは考慮しているが、垂直方向のずれには対応できないことになる。従って、上記従来技術では、複数のカメラの位置の差により生じる垂直方向のずれを考慮していないので、適切な探索範囲が設定されず視差ベクトル予測の精度が劣化する問題を生じる。
【０００７】
本発明の目的は上述した従来技術の問題点を解決し、正しい視差ベクトルを検出可能にすることで画像の劣化が少ない符号化が可能な立体画像符号化装置及び方法を提供することである。
【課題を解決するための手段】
【０００８】
本発明に係る画像符号化装置は、被写体を複数の撮像部により撮像して得られた複数の画像信号を符号化するための画像符号化装置であって、前記複数の画像信号を入力する入力手段と、前記入力された複数の画像信号を、それぞれ所定の画素ブロック単位で符号化する符号化手段であって、前記複数の画像信号の間で前記所定の画素ブロック単位でのインター予測を行う符号化手段と、前記符号化手段による符号化対象ブロックと、前記インター予測によって参照される参照画像における前記符号化対象ブロックに対応する位置の画素ブロックとの間の画像のずれを示す差分情報を生成する生成手段と、前記符号化対象ブロックに対する前記インター予測で用いるベクトルを検出するための探索範囲を、前記生成手段により生成された前記差分情報に従って適応的に設定する設定手段と、を備えることを特徴とする
【発明の効果】
【０００９】
本発明によれば、視差予測を用いた立体画像の符号化において正しい視差ベクトルを検出できるので、画像の劣化が少ない符号化が可能になる。また、手ぶれに等による垂直方向のカメラのずれに対しても視差ベクトルの探索範囲を最適な形状および位置に設定できる立体画像符号化装置を提供できるので、符号化における視差予測の精度を向上させることが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１の実施例に係る立体画像符号化装置の構成例を示すブロック図である。
【図２】本発明の第１の実施例に係る視差予測の探索範囲の設定方法を説明するための図である。
【図３】本発明の第１の実施例に係る視差予測の探索範囲の設定方法を説明するための図である。
【図４】本発明の第１の実施例に係る立体画像符号化装置の変形例を示すブロック図である。
【図５】本発明の第１の実施例に係る視差予測の探索範囲の設定方法の他の変形例を説明するための図である。
【図６】本発明の第２の実施例に係る立体画像符号化装置のブロック図である。
【図７】本発明に係る符号化処理の開始順序および開始時の探索範囲を示す図である。
【図８】本発明の第２の実施例に係る符号化処理での符号化対照画像を説明するための図である。
【図９】本発明の第２の実施例に係る探索範囲の設定処理のフローチャートを示す図である。
【図１０】本発明の第３の実施例に係る立体画像符号化装置のブロック図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明をその好適な実施形態に基づき詳細に説明する。
【実施例１】
【００１２】
以下に図１、図２、図３を参照しながら、本発明に係る立体画像符号化装置の第１の実施例を詳細に説明する。
【００１３】
図１は本実施例に係る立体画像符号化装置のブロック図である。本符号化装置の動作は、本装置が使用される装置(例えばカメラ、ＰＣなど)の制御部が例えば制御プログラムをロードして実行することで制御される。この場合、本発明の立体画像符号化装置の各ブロックでの処理は、上記制御プログラムの一部として提供することが可能である。
【００１４】
図１に示すように、本実施例に係る立体画像符号化装置100は、例えば平行に配置された主画像撮像部101および副画像撮像部102で撮像された被写体の複数画像を入力して符号化するための構成を有する。具体的には、入力された複数の画像を保持するためのフレームメモリ103、保持された画像を符号化するための構成、および視差ベクトルを検出するための探索範囲を設定するための構成を有する。符号化構成は、フィルタ後参照フレームメモリ104、動き/視差予測部105、動き/視差補償部106、イントラ予測部107、直交変換部108、量子化部109、およびエントロピー符号化部110を含む。符号化構成はさらに、逆量子化部111、逆直交変換部112、イントラ／インター判定部113、減算器114、加算器115、フィルタ前参照フレームメモリ116、およびループフィルタ117を含む。探索範囲の設定構成は、原点差分演算部118、および探索範囲決定部119を含む。
【００１５】
係る構成において、まずフレームメモリ103に保持される入力画像を符号化する方法について述べる。
【００１６】
主画像撮像部101および副画像撮像部102は、撮影レンズおよび撮影レンズで結像した画像を光電変換するための撮像素子と、撮像素子から読み出したアナログ信号をデジタル信号へ変換するＡ/Ｄ変換処理部等をそれぞれ含むものとする。主画像撮像部101および副画像撮像部102それぞれは、変換されたデジタル信号から輝度信号や色差信号を生成して出力する。以下の実施例の説明では、輝度信号および色差信号を画像信号と称す。なお、本実施例では主画像撮像部101は左目用の画像を撮影し、副画像撮像部102は右目用の画像を撮影するものとする。また副画像は主画像を参照画像として使用できるが主画像は副画像を参照画像として使用できないものとする。
【００１７】
立体画像符号化装置100は、上記撮像部101および102から出力された画像信号を入力してフレームメモリ103に表示順に主画像、副画像の各々を保存する。符号化は、所定の画素ブロック(例えばマクロブロック)単位で行なわれる。フレームメモリ103からは画像信号が符号化順に画素ブロック単位で読み出され（例えば図7（ａ）の符号化対象ブロック）、動き/視差予測部105、イントラ予測部107、減算器114、原点差分演算部118それぞれに入力される。
【００１８】
フィルタ後参照フレームメモリ104は、フィルタ処理された符号化済み画像（符号化された後復号されたローカルデコード画像）を参照画像として保存する。符号化対象ブロックの参照画像は、符号化順に動き/視差予測部105、動き/視差補償部106それぞれに送信される。また、フレームメモリ103からの符号化対象ブロックが副画像であるために視差予測が行なわれる場合は、符号化対象ブロックと当該符号化対象ブロックに対応する位置（同じ座標位置）の参照画像の画素ブロックを原点差分演算部118に送信する。
【００１９】
フィルタ前参照フレームメモリ116は、フィルタ処理される前の符号化済み画像（符号化された後復号されたローカルデコード画像）を参照画像として保存し、符号化順に符号化対象ブロックの参照画像信号をイントラ予測部107に順次送信する。
【００２０】
原点差分演算部118は、主画像と副画像の間で、符号化対象ブロックと当該符号化対象ブロックに対応する位置（同じ座標位置）の参照画像との画素差分値の絶対値和を演算する。さらに、その演算の結果を表す情報（差分情報）を生成して、探索範囲決定部119に送信する。
【００２１】
探索範囲決定部119は、インター予測の一つとして視差予測を行う場合には、原点差分演算部118から送信されてくる情報で表される画素差分の絶対値和に応じて視差予測の探索範囲を決定してフィルタ後参照フレームメモリ104に送信する。また、動き予測を行う場合は所定の探索範囲を設定してフィルタ後参照フレームメモリ104に送信する。なお、動き予測を行う際の探索範囲設定方法については、符号化対象ブロックと同位置の周辺、または事前に求めた動きベクトルの周辺で行うなどの方法が考えられるがここでは特に問わない。また、視差予測を行う際の探索範囲の決定方法については後に詳細に説明する。
【００２２】
動き/視差予測部105は、フレームメモリ103から送信される符号化対象ブロックが主画像であるか副画像であるかによって処理を変更する。
【００２３】
主画像の場合は、フィルタ後参照フレームメモリ104から送信される先に符号化された主画像のローカルデコード画像を参照画像として用いて動きベクトルを検出し、参照画像データ番号と共に動き/視差補償部106に送信する。
【００２４】
副画像の場合は、先に符号化された表示順が同じ主画像のローカルデコード画像あるいは先に符号化された副画像のローカルデコード画像をフィルタ後参照フレームメモリ104から読み出す。次いで、それを参照画像として用いて動きベクトルあるいは視差ベクトルを検出する。検出された動きベクトルあるいは視差ベクトルは参照画像データの番号と共に動き/視差補償部106に送信する。
【００２５】
また、副画像の場合に、副画像のローカルデコード画像と同じ表示順の主画像のローカルデコード画像のいずれかを最終的な参照画像として選択するかの方法については特に問わない。本実施例ではベクトル位置での符号化対象ブロックと参照画像の差分値が小さい方を選択するものとする。
【００２６】
動き/視差補償部106は、動き/視差予測部105から送られた動きベクトルあるいは視差ベクトルを用いて各ブロックの予測画像データを生成する。すなわち、フィルタ後参照フレームメモリ104中の参照画像データ番号で示される参照画像を参照して、各ブロックの予測画像データを生成し、イントラ／インター判定部113に送信する。
【００２７】
一方、イントラ予測部107は、フィルタ前参照フレームメモリ116から送信される符号化対象ブロック周辺のローカルデコード画像を用いて、複数のイントラ予測モードの各々についてイントラ予測画像を生成する。そしてフレームメモリ103から送信される符号化対象ブロックと、生成した複数の予測画像とを用いてブロックマッチングを行い、最も高い相関を与えるイントラ予測モードを選択し、対応する予測画像とともにイントラ／インター判定部113に送信する。
【００２８】
イントラ／インター判定部113は、動き/視差補償部106およびイントラ予測部107から送信された予測画像データのうち符号化対象ブロックとの相関の高い予測画像データを選択して減算器114に送信する。相関の高い予測画像データを選択する方法としては例えば、符号化対象画像との差分値が小さい予測画像を選択するなどが考えられるが特に方式は問わない。
【００２９】
減算器114は、フレームメモリ103から送信されてくる符号化対象ブロックとイントラ／インター判定部113から送信されてくる予測画像ブロックの差分を演算し、画像残差データを出力する。
【００３０】
直交変換部108は、減算器114から出力された画像残差データを直交変換処理し、変換係数を量子化部109に送信する。
【００３１】
量子化部109は、直交変換部108からの変換係数を所定の量子化パラメータを用いて量子化し、エントロピー符号化部110および逆量子化部111に送信する。
【００３２】
エントロピー符号化部110は、量子化部109で量子化された変換係数を入力し、CAVLC、CABACなどのエントロピー符号化を施して、符号化データとして出力する。
【００３３】
続いて、量子化部109で量子化された変換係数を用いて参照画像データを生成する方法について述べる。
【００３４】
逆量子化部111は、量子化部109から送信されてくる量子化された変換係数を逆量子化する。
【００３５】
逆直交変換部112は、逆量子化部111で逆量子化された変換係数を逆直交変換し、復号残差データを生成し、加算器115に送信する。
【００３６】
加算器115は、復号残差データと後述する予測画像データとを加算してローカルデコード画像、すなわち参照画像データを生成し、フィルタ前参照フレームメモリ116に保存する。また、フィルタ前参照フレームメモリ116に保存されたデータはループフィルタ117に送信される。
【００３７】
ループフィルタ117は、参照画像データをフィルタリングしてノイズを除去し、フィルタ後の参照画像データをフィルタ後参照フレームメモリ104に保存する。
【００３８】
続いて本発明の特徴である探索範囲決定部119による主画像と副画像の間での視差予測（インター予測）の探索範囲の設定方法について、図２及び図３を用いて詳細に説明する。
【００３９】
探索範囲決定部119は、参照画像における符号化対象ブロックと同位置に、探索範囲を設定する。その際、原点差分演算部118から送信されてくる画素差分の絶対値和が大きい場合には設定される探索範囲を広くし、探索精度を低くする。すなわち、当該画素差分の絶対値和が所定の閾値よりも大きい場合、探索範囲決定部119は、広い探索範囲を粗く探索するよう設定する。
一方、当該画素差分の絶対値和が小さい場合には、大きい場合に比べて探索範囲を狭くし、探索精度を高くする。すなわち、当該画素差分の絶対値和が所定の閾値以下に小さい場合、探索範囲決定部119は、狭い探索範囲を緻密に探索するよう設定する。
なお、探索範囲決定部119は、当該画素差分の絶対値和が大きい場合も、大きくない場合も、単位時間当たりの探索にかかる処理負荷が実質的に等しくなるように調整する。例えば、単位時間当たりの探索回数が同じ（一定値）になるように設定する。
【００４０】
例えば画素差分の絶対値和が所定の閾値より大きい場合には、探索範囲を水平方向32画素、垂直方向16画素にして探索精度を3画素飛びにする。他方、画素差分の絶対値和が所定の閾値以下に小さい場合は、探索範囲を水平方向8画素、垂直方向4画素にして探索精度を1画素に設定すると探索回数はいずれも153回になる。
【００４１】
なお、探索回数を探索範囲の広さによらず同じにしているのは、探索回数を増加することで符号化がリアルタイムに出来なくなることを防止するためである。
【００４２】
このように、主画像と副画像との画素差分の絶対値和に応じて探索範囲を適応的に設定する理由を、図２、図３を用いて説明する。図２は２眼の撮像装置を用いて球状の物体（被写体）を撮影した様子を表した図である。
図２（ａ）のように球状の物体と撮像装置との距離が近い場合は、主画像と副画像の画像に大きな差分があり視差ベクトルが大きくなることが多い。そのため図３（ａ）のように探索範囲を広くしないと正しい視差ベクトルを検出できない可能性が高い。そこで、主画像と副画像の画像に大きな差分がある場合には、主画像と副画像の視差が大きい可能性が高いため、本実施例では、探索精度を落としてでも探索範囲を広くする。
一方、図２（ｂ）のように球状の物体と撮像装置との距離が遠い場合は、主画像と副画像との間の画像の差分が小さく、視差ベクトルも小さいことが多い。そのため図３（ｂ）のように探索範囲が狭くても正しい視差ベクトルを検出しやすい。そこで、主画像と副画像の差分が小さい場合には主画像と副画像の視差が小さい可能性が高いため、本実施例では、探索範囲を狭くして、より正しい視差ベクトルを検出するように探索精度を上げる。
このように、本実施例では画面内の符号化対象ブロック毎に被写体までの距離が異なるために画素差分の値が異なることを利用して、符号化対象ブロック毎に個別に好適なサイズの探索範囲を適応的に設定している。これにより、何れの場合もより正しい視差ベクトルを求めるよう動作させられる。
【００４３】
なお本実施例では視差ベクトルの探索範囲および探索精度の変更を、画素差分絶対値和が所定の閾値以下の場合と、画素差分絶対値和が所定の閾値よりも大きい場合の2段階にしているが、閾値の数を追加して更に段階を増やしてもよい。例えば、画素差分絶対値和が大きくなるほど探索範囲を広くし、かつ探索精度を粗くするように設定することができる。
【００４４】
例えば、画素差分の絶対値和が第1の閾値より大きい場合には、探索範囲を水平方向32画素、垂直方向16画素にして探索精度を3画素飛びにする。画素差分の絶対値和が第2の閾値より小さい場合は探索範囲を水平方向8画素、垂直方向4画素にして探索精度を1画素にする。更に画素差分の絶対値和が第2の閾値より大きくかつ第1の閾値より小さい場合は、探索範囲を水平方向16画素、垂直方向8画素にして探索精度を1画素飛びにする。このように探索範囲を設定しても探索回数はいずれも153回になる。
【００４５】
また本実施例では主画像は視差予測を行っていないが、主画像で視差予測を行う場合も同様の方法で探索範囲を設定することができる。
【００４６】
上記第１の実施例では、異なるサイズの探索範囲の探索精度を同じにすることで符号化処理のリアルタイムを補償していたが、リアルタイム処理が補償される範囲内であれば広い探索範囲についても探索精度を高く設定することが可能である。次に、そのように探索精度を設定するよう構成した第１の実施例の変形例を示す。
【００４７】
図４のブロック図は、上記第１の実施例の変形例に係る立体画像符号化装置のブロック図である。図４の立体画像符号化装置400の構成はほぼ第１の実施例と同一であるが、探索回数制御部402を有する点および探索範囲決定部401で探索精度を落とさないで設定できる点が異なる。
【００４８】
なお、探索回数制御部402、探索範囲決定部401以外の構成の動作については第１実施例（図1）と同様のためここでの説明を省く。また、本変形例でも主画像撮像部101および副画像撮像部102は平行に配置されているものとする。
【００４９】
探索範囲決定部401は、図3と同様に符号化対象ブロックと同位置に探索範囲を設定する。その際、画素差分の絶対値和が所定の閾値より大きい場合でかつ探索回数制御部120から探索範囲の拡大を許可する信号が出ているときは、探索範囲を広くする。なお探索回数制御部402から探索範囲の拡大を許可する信号の生成方法については後述する。一方で画素差分の絶対値和が所定の閾値以下に小さい場合は、探索範囲を狭くする。ここで、本変形例では許可信号が出力されているときは探索範囲を広げても探索精度を落とさず、探索範囲決定部401は探索を広くした際には探索範囲を広くしたことを示す信号を探索回数制御部402に送信する。
【００５０】
探索回数制御部402は、1ピクチャの符号化を行なう前に１ピクチャ内で探索範囲を広くできる符号化対象ブロックの数を示すNを、例えば制御プログラムに従って設定し、探索範囲の拡大を許可する信号を探索範囲決定部401に出力する。ピクチャの符号化開始後は探索範囲決定部401から探索範囲を広くしたことを示す信号が送信されてくる度に設定したNから１を減算する。そして、Nが0になったら、探索範囲の拡大を許可する信号を探索範囲決定部401に出力するのを停止する。
【００５１】
以上のように制御することで、探索範囲の拡大を許可する信号が出ている間は探索範囲を広くしても探索精度を落とすことなく視差ベクトルを探索できる。また、探索範囲の拡大を許可する信号の出力期間の上限を設定することで、リアルタイムの符号化処理を補償することができる。
【００５２】
続いて、第１の実施例の更なる変形例を示す。この変形例は、視差ベクトルの探索範囲の設定制御をその大きさだけでなく、設定位置についても行なうよう立体画像符号化装置を構成する変形例である。しかし、本変形例での探索範囲の設定構成は、探索範囲の大きさの設定制御とともに行なう必要はなく、探索範囲のサイズは変更せずに設定位置だけを制御する構成として実施することも可能である。いずれの場合も立体画像符号化装置の構成は図1に示す構成と同じであり、探索範囲決定部119の制御構成（例えば制御プログラム）を変更することで本変形例を達成することが可能である。
【００５３】
本変形例に係る立体画像符号化装置を図1、２および５を用いて説明する。上述のように本変形例に係る立体画像符号化装置の構成は、第１の実施例（図1）と同一であるが、探索範囲決定部119が探索範囲の設定位置を原点差分演算部118から送信されてくる画素差分の絶対値和に従って変更できる機能を有する点が異なる。また、本変形例でも主画像撮像部101および副画像撮像部102は平行に配置されているものとする。なお、探索範囲決定部119以外の構成の動作については第１の実施例と同様のためここでの説明を省く。即ち、探索範囲決定部119の探索範囲の位置設定機能についてのみ説明を行なう。
【００５４】
探索範囲決定部119は原点差分演算部118から送信されてくる主画像と副画像間の画素差分の絶対値和を用いて探索範囲を設定する位置を決める。その際、原点差分演算部118から送信されてくる画素差分の絶対値和が所定の閾値より大きい場合には符号化対象ブロックの位置から探索範囲を右側に所定距離だけ移動する。一方、画素差分の絶対値和が所定の閾値以下に小さい場合には探索範囲を符号化対象ブロックと同位置に設定する。なお、この場合の閾値は、探索範囲のサイズの設定で使用される閾値とは基本的に独立して適宜設定されるものであるが、本変形例を探索範囲のサイズ制御機能と組み合わせ使用するときは、両機能に共通の閾値として適宜設定してもよい。
【００５５】
また、視差ベクトルの探索範囲の位置を変化させる段階を画素差分の絶対値和が一つの閾値より小さい場合と大きい場合の2段階にしているが、更なる閾値を設定して変化の段階を増やしてもよい。
【００５６】
また、上述したように、探索範囲決定部119の機能を、本変形例の機能に限定しても、あるいは第１の実施例のサイズ変更機能と組み合わせた機能にしてもよい。
【００５７】
上述のように探索範囲の位置を適応的に変更する理由を図2及び図５を用いて説明する。図５は本変形例での探索範囲の設定方法を説明するための図である。本変形例でも、カメラの左側の撮像部で撮像した画像を主画像、右側の撮像部で撮像した画像を副画像としている。
【００５８】
図２（ａ）のように球状の物体と撮像部の距離が近い場合は主画像と副画像の画像に大きなずれ（撮像部間の視差）があり視差ベクトルが大きくなることが多い。ただし撮像部が平行に配置されている場合、右目画像における対象物は左目画像においては必ず右側にずれた位置にある。そこで本変形例では、主画像と副画像の画像に大きな差分がある場合には図５（ａ）のように探索範囲を右側にずらすことでより正しい視差ベクトルを検出できるようにしている。一方、図２（ｂ）のように球状の物体と撮像部の距離が遠い場合は、主画像と副画像の差分が小さく、視差ベクトルも小さくなることが多い。そのため図５（ｂ）のように探索範囲を符号化対象ブロックとの周辺から動かさなくても正しい視差ベクトルを検出できる。
【００５９】
本変形例のように探索範囲の設定位置を決定すれば、視差に基づく画素差分に応じて適応的に探索範囲の位置を設定でき、適切な視差ベクトルの探索が可能となる。
【００６０】
以上説明した２つの変形例を含む第１の実施例の立体画像符号化装置は、複数の撮像部を有する撮像装置に適用する場合を例として説明したが、本発明はこれに限るものではない。例えば、ＰＣなどの処理装置において記録媒体から読み出された立体画像用の複数の画像の符号化処理にも適用できる。この場合、ＰＣの制御装置が実行するアプリケーションとして本発明の符号化機能が実現されることになる。
【実施例２】
【００６１】
第１の実施例では本発明を平行に配置された複数の撮像部で撮像された複数の画像に適用したが、以下の第２の実施例では回転補正機能を有する複数の撮像部からの複数の画像に本発明を適用した例を説明する。
【００６２】
図６は、本実施例に係る立体画像符号化装置600のブロック図である。
【００６３】
まず、本実施例に係る立体画像符号化装置600の構成要素を説明するが、視差ベクトルの探索範囲の設定構成を除いて符号化の構成は第１の実施例と同様である。即ち、本実施例の立体画像符号化装置は、主画像撮像用の撮像部601Aおよび副画像撮像用の撮像部601Bで撮像された複数の画像を入力してフレームメモリ602Aおよび602Bにそれぞれ保持し、保持された複数の画像を符号化するための構成を有する。符号化処理は第１の実施例と同様に、所定の画素数で構成される画素ブロック(例えばマクロブロック）単位で行なわれる（図７（ａ）参照）。撮像部601Aおよび601Bは、レンズおよびレンズで結像した画像を光電変換するための撮像素子と、撮像素子から読み出したアナログ信号をデジタル信号へ変換するＡ／Ｄ変換処理部等を含むものとする。それぞれの撮像部は、変換されたデジタル信号から輝度信号や色差信号（画像信号）を生成して出力する。
【００６４】
次に符号化処理の流れを簡単に説明する。
【００６５】
フレームメモリ602Aおよび602Bそれぞれに保持された主画像と副画像は、差分計算部603（図１の114に対応）と予測画像生成部609と動きベクトル・視差ベクトル生成部614に送られる。差分計算部603では、予測画像生成部609で生成された予測画像とフレームメモリ602Aから送られた主画像との差分値、または予測画像生成部609で生成された予測画像とフレームメモリ602Bから送られた副画像との差分値を算出する。
【００６６】
動きベクトル・視差ベクトル生成部614では、符号化対象画像が主画像か副画像であるかにより処理が異なる。符号化対象画像が主画像の場合は、メモリ613から送られる後述するデブロッキングフィルタ処理部611にてフィルタ処理済みの参照画像に対して、探索範囲設定部615にて設定された探索範囲を探索する。探索により符号化対象である主画像との差分値の小さい画素ブロックの位置を求めることで、動きベクトルを生成する。生成された動きベクトルは、予測画像生成部609へ出力される。また、符号化対象画像が副画像の場合には、入力される主画像に対して、探索範囲設定部615にて設定された探索範囲を探索する。これにより符号化対象である副画像との差分値の小さい画素ブロックの位置を求め、視差ベクトルを生成する。生成された視差ベクトルは、予測画像生成部609へ出力される。
【００６７】
差分計算部603で算出された差分値は直交変換部604で直交変換され、さらに量子化部605で所定の量子化パラメータで量子化される。量子化されたデータは、エントロピー符号化部606および逆量子化部607へ送られる。エントロピー符号化部606は、量子化部605から送られた量子化データをＣＡＢＡＣ等のエントロピー符号化方式にて符号化して符号化データを出力する。
【００６８】
逆量子化部607は、量子化部605から送られた量子化データを逆量子化し、さらに逆直交変換部608にて逆直交変換を施すことで差分値データを生成する。加算器610は、予測画像生成部609より出力される予測画像と、逆直交変換部608より出力される差分値データとを加算することで参照画像を生成する。生成された参照画像データは、メモリ612およびデブロッキングフィルタ処理部611に送られる。デブロッキングフィルタ処理部611は、加算器610より送られた参照画像データにフィルタ処理を掛けて生成したフィルタ処理済みの参照画像データをメモリ613へ送る。
【００６９】
次に、探索範囲設定部615の処理について説明する。探索範囲設定部615は、符号化対象画像が主画像の場合と副画像の場合で異なる処理を行う。
【００７０】
まず、符号化対象画像が主画像の場合は、ピクチャ内に符号化対象の画素ブロックと同じ位置を探索範囲の位置として設定し、その情報を動きベクトル・視差ベクトル生成部614へ送る。
【００７１】
次に、符号化対象画像が副画像の場合の処理について説明する。
【００７２】
符号化処理は図７（ａ）に示すようにピクチャ内の左上の画素ブロックから開始し、図中の矢印方向に順次画素ブロック単位で処理する。左上のマクロブロックの処理時、つまり符号化開始時の探索範囲を図７（ｂ）に示す。図７（ａ）では探索範囲の左上の座標を（０、０）とし、探索範囲の水平方向をＸ、垂直方向Ｙとする。探索範囲設定部615は、上記のように探索範囲を設定して探索範囲情報を動きベクトル・視差ベクトル生成部614へ送る。さらに探索範囲設定部615は、動きベクトル・視差ベクトル生成部614で生成された視差ベクトル情報を受信して、同一ピクチャ内の視差ベクトル情報を蓄積する。探索範囲設定部615は、この蓄積した視差ベクトル情報（視差情報）に基づいて視差ベクトルの探索範囲を設定する。図８は、ピクチャの左上のマクロブロックから順に符号化処理を行い、符号化処理がピクチャのおおよそ中間地点の画素ブロックまで進行したことを示す図である。このとき探索範囲設定部615には、左上のマクロブロックから図８に示す符号化対象ブロック位置までに生成された視差ベクトル情報が蓄積されていて、探索範囲設定部615はこの蓄積情報に基づいて探索範囲の位置および形状を設定する。
【００７３】
図９は探索範囲設定処理を示すフローチャートである。図９および以下の説明では、同一ピクチャ内の蓄積された視差ベクトル情報を視差ベクトルＡとする。Ｓ901では蓄積された視差ベクトルＡの垂直成分の値（最大値）が閾値未満であるか否かを判定する。閾値未満と判定された場合には、Ｓ902にて、図８に示す探索範囲の設定値を水平方向に大きくし、垂直方向を小さくする。つまり図８に示すαの値を正の数、βの値を負の数とする。ここで、水平方向と垂直方向の設定値の積、つまり探索範囲の面積は変えずに水平方向と垂直方向の設定値の比率のみを変更する。Ｓ901で閾値以上と判定された場合にはＳ903へ移行する。Ｓ903では、視差ベクトルＡの垂直成分の最大値と最小値の差分値を算出する。算出された差分値が所定の閾値以上であるか否かを判定する。差分値が所定の閾値以上の場合には、Ｓ904にて探索範囲の設定値を水平方向に小さくし、垂直方向に大きくする。つまり図８に示すαの値を負の数、βの値を正の数とする。Ｓ902と同様に探索範囲の水平方向と垂直方向の設定値の積である探索範囲の面積が変更されないように水平方向と垂直方向の設定値の比率のみを変更する。Ｓ903で閾値未満と判定された場合には処理をＳ905へ移行する。Ｓ905では、探索範囲の水平方向と垂直方向の設定値の比率を変更せずに、探索範囲の位置を視差ベクトルＡの垂直成分(平均値）に対応してずらした位置に設定する。
【００７４】
上記のように、本実施例の立体画像符号化装置600は、符号化対象画像が副画像の場合に、同一ピクチャ内の符号化処理済みの画素ブロックの視差ベクトルを用いて、同一ピクチャ内で動的にかつ適応的に探索範囲を設定する。これにより、適切な視差ベクトルの探索が可能となる。
【００７５】
第２の実施例の立体画像符号化装置は、回転補正機能を有する複数の撮像部からの画像を符号化するために、垂直方向の撮像部のずれを考慮して視差ベクトルの探索範囲を適応的に設定する構成を有している。図６の実施例では検出された視差ベクトルに基づいて探索範囲の設定位置を補正したが、撮像部の回転を検出し、これを視差情報として探索範囲の位置を補正することが考えられる。この実施例を本発明の第３の実施例として次に説明する。
【実施例３】
【００７６】
図１０は、本実施例に係る立体画像符号化装置を用いた撮像装置のブロック図である。
【００７７】
図１０の1000は本実施例に係る立体画像符号化装置を用いた撮像装置であり、撮像部1001Aおよび1001Bを有する。図において、撮像部1001Aおよび1001Bを除く構成部分が本実施例に係る立体画像符号化装置の構成である。1002Aおよび1002Bはメモリ、1003は差分計算部、1004は直交変換部、1005は量子化部、1006はエントロピー符号化部、1007は逆量子化部、1008は逆直交変換部、1009は予測画像生成部、1010は加算器である。また、1011はデブロッキングフィルタ処理部、1012はメモリ、1013はメモリ、1014は動きベクトル・視差ベクトル算出部である。上記1001から1014は、図６記載の601から614と同等機能であるため、ここでの詳細説明を省略する。
【００７８】
角速度センサ部1017はジャイロ等の角速度を検出するセンサである。回転補正量算出部1016は、角速度センサ部1017で検出された角速度の値より回転補正値を算出し、算出した回転補正値を探索範囲設定部1015へ送る。探索範囲設定部1015は、回転補正量算出部1016より受けた回転補正値に基づき探索範囲を設定し、探索範囲の設定値を動きベクトル・視差ベクトル生成部1014へ送る。探索範囲設定部1015では、回転補正値が第一の閾値未満か否かを判定する。第一の閾値未満の場合には、探索範囲の設定値を水平方向に大きくし、垂直方向を小さくする。ここで、水平方向と垂直方向の積、つまり面積は変えずに水平方向と垂直方向の比率のみ変更するものである。次に、第一の閾値以上の場合には、さらに第二の閾値未満か否かを判定する。ここで第二の閾値未満の場合には、探索範囲の設定値を水平方向に小さくし、垂直方向に大きく設定する。このときも探索範囲の水平方向と垂直方向の積となる面積値は変えることなく、水平方向と垂直方向の比率のみを変更する。
次に、第二の閾値以上の場合には、探索範囲の設定値を水平方向に小さくし、垂直方向を大きく設定し、かつ探索範囲の位置を回転補正方向に合わせてずらした位置に設定する。
【００７９】
なお、上記実施例ではジャイロ等の角速度センサを用いて回転補正値を算出しているが、同様の補正値を算出可能であればその他の方法でも良いものとする。例えば、入力された複数の画像信号から得られる画像の動きベクトルから回転の方向および量を演算する方法でもよい。この場合は、角速度センサ部1017が不要となり、本発明の符号化装置を第１および第２の実施例と同様に撮像部とは別個に構成することができ、ＰＣなどの画像処理装置への適用も可能となる。さらには、第１または第２の実施例の探索範囲の設定機能と組み合わせることも容易となる。
【００８０】
本実施例の立体画像符号化装置1000は、符号化において複数の撮像部の回転に起因する視差を考慮しているので、視差ベクトルの探索範囲を動的にかつ適応的に設定することができ、適切な視差ベクトルの探索および画質の劣化が少ない符号化を可能にする。
【００８１】
本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施例に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施例は本発明の一実施例を示すものにすぎず、各実施例を適宜組み合わせることも可能である。
【００８２】
また、上述した実施形態においては、本発明を撮像装置に適用した場合を例にして説明したが、この例に限定されない。すなわち、本発明は、ＰＣなどの画像処理装置に適用してもよい。この場合、立体画像信号は装置内部の記録媒体あるいは外部の記録媒体から本発明の立体画像符号化装置のフレームメモリに提供されることになる。
【００８３】
また、上述した実施の形態の処理は、各機能を具現化したソフトウェアのプログラムコードを記録した記憶媒体をシステム或いは装置に提供してもよい。そして、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによって、前述した実施形態の機能を実現することができる。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスクなどを用いることができる。或いは、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリーカード、ＲＯＭなどを用いることもできる。
【００８４】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけではない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した各実施例の機能が実現される場合も含まれている。
【００８５】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリーに書きこまれてもよい。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含むものである。
【図１】
2012257198.tif 000003
【図２】
2012257198.tif 000004
【図３】
2012257198.tif 000005
【図４】
2012257198.tif 000006
【図５】
2012257198.tif 000007
【図６】
2012257198.tif 000008
【図７】
2012257198.tif 000009
【図８】
2012257198.tif 000010
【図９】
2012257198.tif 000011
【図１０】
2012257198.tif 000012