(57)【特許請求の範囲】
【請求項１】
動画像を撮像する撮像手段と、
前記撮像手段の動き量を取得する取得手段と、
前記撮像手段より得られた各フレームの画像を符号化する符号化手段とを備え、
前記符号化手段は、
前記撮像手段が第１フレームを撮像してから、当該第１フレームと隣接している第２フレームを撮像するまでに動いた動き量に基づいて、当該第１フレーム内の各部を符号化するために用いる符号化パラメータを制御する制御手段と、
前記第１フレーム内の各部を、当該各部毎に制御された符号化パラメータを用いて符号化する符号化制御手段と
を備え、
前記制御手段は、
前記撮像手段の回転角、画角、撮像幅に基づいて、前記第２フレームを符号化する際に前記第１フレーム内で参照しない領域を特定する特定手段と、
前記特定手段が特定した領域に割り当てる符号量を、当該領域以外の領域に割り当てる符号量よりも相対的に小さくするように符号化パラメータを制御する符号化パラメータ制御手段と
を備え、
前記特定手段は、
画角＝θ、回転角＝Φ、撮像幅＝Ｌ、前記第２フレームを符号化する際に前記第１フレーム内で参照しない領域の幅＝ｄとおくと、以下の式
ｄ／Ｌ＝（１−（ｓｉｎ（（θ／２）−Φ）／ｓｉｎ（θ／２）））／２
を計算する手段と、
前記回転角、及び前記計算により求めたｄに基づいて、前記第２フレームを符号化する際に前記第１フレーム内で参照しない領域を特定する手段と
を備えることを特徴とする画像処理装置。
【請求項２】
動画像を撮像する撮像手段の動き量を取得する取得工程と、
前記撮像手段より得られた各フレームの画像を符号化する符号化工程とを備え、
前記符号化工程は、
前記撮像手段が第１フレームを撮像してから、当該第１フレームと隣接している第２フレームを撮像するまでに動いた動き量に基づいて、当該第１フレーム内の各部を符号化するために用いる符号化パラメータを制御する制御工程と、
前記第１フレーム内の各部を、当該各部毎に制御された符号化パラメータを用いて符号化する符号化制御工程と
を備え、
前記制御工程は、
前記撮像手段の回転角、画角、撮像幅に基づいて、前記第２フレームを符号化する際に前記第１フレーム内で参照しない領域を特定する特定工程と、
前記特定工程で特定した領域に割り当てる符号量を、当該領域以外の領域に割り当てる符号量よりも相対的に小さくするように符号化パラメータを制御する符号化パラメータ制御工程と
を備え、
前記特定工程は、
画角＝θ、回転角＝Φ、撮像幅＝Ｌ、前記第２フレームを符号化する際に前記第１フレーム内で参照しない領域の幅＝ｄとおくと、以下の式
ｄ／Ｌ＝（１−（ｓｉｎ（（θ／２）−Φ）／ｓｉｎ（θ／２）））／２
を計算する工程と、
前記回転角、及び前記計算により求めたｄに基づいて、前記第２フレームを符号化する際に前記第１フレーム内で参照しない領域を特定する工程と
を備えることを特徴とする画像処理方法。
【請求項３】
コンピュータに請求項２に記載の画像処理方法を実行させる為のプログラム。
【請求項４】
請求項３に記載のプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像した画像を符号化して取得するための技術に関するものである。
【背景技術】
【０００２】
近年、ネットワークの広帯域化や記録メディアの大容量化が進み、広く一般的に動画像が扱われるようになってきている。このような動画を取り扱う機器の普及の背景のひとつが、映像の圧縮符号化技術の進歩である。圧縮符号化技術は日々進歩しており、MPEG（Moving Picture Expert Group）に代表される、画像フレーム（ピクチャ）間の参照を用いた予測符号化方式などにより、極めて高圧縮で高品位な動画符号化が可能となった。
【０００３】
しかしながら、高圧縮で高品位な動画符号化は、たとえそれが厳格に定義された標準規格であったとしても、決められた方法によって常に一定の品質で符号化を行えるものではない。その規格化されたアルゴリズムに対して、符号化を適切に制御する事によって、より高圧縮で高品位な符号化された動画を得ることができる。このような符号化の制御方法を符号化制御や符号量制御と呼んでいる。
【０００４】
最も典型的な符号化制御の考え方のひとつが、VBR（Variable Bit-rate）やCBR（Constant Bit-rate）と呼ばれる圧縮符号化時に生成される符号データの量を制御する考え方である。この生成される符号データの量を制御するアルゴリズムには、例えばTM5などの名称で呼ばれるMPEGの手法など様々なものがある。こうした広く知られた方法の目的は、ある画像の符号データ量を、目標とするデータ量により正確に近づけることを主眼としたものであることが一般的である。
【０００５】
一方で、映像データの重要な領域に着目し、その重要な領域の画質を高めながら全体としての圧縮率を高めることも符号化制御の考え方のひとつとなっている。例えば、人物を撮影した映像において、背景よりも重要となる人物の部分により多くの符号量を割り当てるといった考え方である。
【０００６】
従来、このような着目領域を用いて符号化制御を実行するものには、例えば、画表示部を観察する観察者の視線を追跡し、その視線データに基づいて、観察者の視線近傍である中心視線の画像を低圧縮とするものがあった（特許文献１参照）。
【０００７】
あるいはまた、入力された音声信号を用いて音源方向を検出することにより、この音源方向を着目領域としてより多くの符号量を割り当てる技術も知られている（特許文献２参照）。
【０００８】
更に、MPEG（Moving Picture Expert Group）に代表される、画像フレーム（ピクチャ）間の参照を用いた予測符号化方式において特長的な動きベクトル探索に関して、対応する動き補償や符号化モードの決定を効率的に行うために、撮像手段の動き情報を用いる技術もある（特許文献３参照）。
【特許文献１】特許第３２６３２７８号
【特許文献２】特開２００２−２７４５５号公報
【特許文献３】特開２０００−９２４９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来の着目領域を用いて符号化制御を実行するものでは、この着目領域に割り当てる符号量を多くすることにより、着目領域自体の画質を向上させることはできるものの、動画像全体の総合的な画質を向上させることが必ずしも容易でないという問題があった。
【００１０】
例えば、より具体的には、着目領域を観察者の視線により決定する場合においては、複数の観察者には十分に対応することが出来ない。また、音源の方向を着目領域とする場合においても、ランダムに発生する音源に対して十分に対応することが出来ない。
【００１１】
すなわち、こうした方法は、特に着目している瞬間ごとの領域の画質を向上させることには適しているが、広く一般的に参照される画像に対して、均質な画質の向上を図る目的においては十分ではないという課題があった。
【００１２】
また、動画像は連続した画像フレームであり、予測符号化方式では、前後の画像フレーム間の相関により効果的な圧縮符号化を行うが、このような瞬間毎の着目領域による符号化の制御の場合、着目領域自体の相関は必ずしも高いとは言えない。そのため、符号化効率を高めることは困難であるという問題もあった。このことは、結果として、動画像の総合的な画質を劣化させてしまう可能性を意味している。
【００１３】
本発明は以上の問題に鑑みてなされたものであり、撮像する装置の動き情報に基づいて、動画像の圧縮符号化効率を向上させるための技術を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【００１５】
即ち、動画像を撮像する撮像手段と、
前記撮像手段の動き量を取得する取得手段と、
前記撮像手段より得られた各フレームの画像を符号化する符号化手段とを備え、
前記符号化手段は、
前記撮像手段が第１フレームを撮像してから、当該第１フレームと隣接している第２フレームを撮像するまでに動いた動き量に基づいて、当該第１フレーム内の各部を符号化するために用いる符号化パラメータを制御する制御手段と、
前記第１フレーム内の各部を、当該各部毎に制御された符号化パラメータを用いて符号化する符号化制御手段と
を備え、
前記制御手段は、
前記撮像手段の回転角、画角、撮像幅に基づいて、前記第２フレームを符号化する際に前記第１フレーム内で参照しない領域を特定する特定手段と、
前記特定手段が特定した領域に割り当てる符号量を、当該領域以外の領域に割り当てる符号量よりも相対的に小さくするように符号化パラメータを制御する符号化パラメータ制御手段と
を備え、
前記特定手段は、
画角＝θ、回転角＝Φ、撮像幅＝Ｌ、前記第２フレームを符号化する際に前記第１フレーム内で参照しない領域の幅＝ｄとおくと、以下の式
ｄ／Ｌ＝（１−（ｓｉｎ（（θ／２）−Φ）／ｓｉｎ（θ／２）））／２
を計算する手段と、
前記回転角、及び前記計算により求めたｄに基づいて、前記第２フレームを符号化する際に前記第１フレーム内で参照しない領域を特定する手段と
を備えることを特徴とする。
【００１８】
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
【００１９】
即ち、動画像を撮像する撮像手段の動き量を取得する取得工程と、
前記撮像手段より得られた各フレームの画像を符号化する符号化工程とを備え、
前記符号化工程は、
前記撮像手段が第１フレームを撮像してから、当該第１フレームと隣接している第２フレームを撮像するまでに動いた動き量に基づいて、当該第１フレーム内の各部を符号化するために用いる符号化パラメータを制御する制御工程と、
前記第１フレーム内の各部を、当該各部毎に制御された符号化パラメータを用いて符号化する符号化制御工程と
を備え、
前記制御工程は、
前記撮像手段の回転角、画角、撮像幅に基づいて、前記第２フレームを符号化する際に前記第１フレーム内で参照しない領域を特定する特定工程と、
前記特定工程で特定した領域に割り当てる符号量を、当該領域以外の領域に割り当てる符号量よりも相対的に小さくするように符号化パラメータを制御する符号化パラメータ制御工程と
を備え、
前記特定工程は、
画角＝θ、回転角＝Φ、撮像幅＝Ｌ、前記第２フレームを符号化する際に前記第１フレーム内で参照しない領域の幅＝ｄとおくと、以下の式
ｄ／Ｌ＝（１−（ｓｉｎ（（θ／２）−Φ）／ｓｉｎ（θ／２）））／２
を計算する工程と、
前記回転角、及び前記計算により求めたｄに基づいて、前記第２フレームを符号化する際に前記第１フレーム内で参照しない領域を特定する工程と
を備えることを特徴とする。
【発明の効果】
【００２２】
本発明の構成により、撮像する装置の動き情報に基づいて、動画像の圧縮符号化効率を向上させることができる。
【発明を実施するための最良の形態】
【００２３】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００２４】
［第１の実施形態］
図１は、本実施形態に係る画像処理装置を適用したディジタルカメラの機能構成を示すブロック図である。同図に示す如く、本実施形態に係るディジタルカメラは、撮像ユニット１０１、アクチュエータユニット１０２、符号圧縮回路１０３、符号データ出力ユニット１０４により構成されている。
【００２５】
撮像ユニット１０１は、現実空間の動画像を撮像するものであり、撮像した各フレームの画像は符号圧縮回路１０３に出力する。アクチュエータユニット１０２は、撮像ユニット１０１を移動させたり、回転させたりためのものである。符号圧縮回路１０３は、撮像ユニット１０１から入力した各フレームの画像を圧縮符号化し、圧縮符号化した結果を順次符号データ出力ユニット１０４に出力する。符号データ出力ユニット１０４は、圧縮符号化結果を所定の出力先に出力する。
【００２６】
以下、上記各部についてより詳細に説明する。
【００２７】
撮像ユニット１０１は、一般的には、光学レンズやCCD等の光学センサ等から構成されるカメラの基本部分をなすものである。撮像ユニット１０１により撮像された各フレームの画像は、画像信号として符号圧縮回路１０３に出力する。
【００２８】
アクチュエータユニット１０２は、撮像ユニット１０１を回転させたり、移動させたりすることによって、撮像方向を制御する。このような機構は、所謂通常のディジタルカメラでは一般的ではないが、例えば監視用や遠隔地の確認用などの目的で、設置場所を固定して利用する形態として広く普及しつつある。また、個人用のカメラとしても、三脚などに固定してカメラを回転させる機構をもつものが実際に商品化されている。回転する機構の場合、たとえば、水平方向に回転するパン機構や、垂直方向に回転するチルト機構などが、その最も典型的な例である。
【００２９】
符号圧縮回路１０３は、撮像ユニット１０１から入力した画像信号に対してＡ／Ｄ変換を行い、この画像信号を画像データとして得る。そして、この得た画像データに対して圧縮符号化処理を行う。連続した映像である動画の圧縮符号化方式としては、MPEG-4などの方式が広く知られている。
【００３０】
符号データ出力ユニット１０４は、符号圧縮回路１０３による圧縮符号化結果を所定の出力先に出力するのであるが、典型的には、ディジタルカメラの記録媒体としてのメモリカードに記録・保管したり、通信回路を有する場合には、ネットワーク上に出力する。
【００３１】
図２は、図１に示した構成を有するディジタルカメラの、より詳細な構成を示すブロック図である。
【００３２】
撮像対象の像は、光学系からなる撮影レンズユニット２１１、絞りユニット２１２を通って光学センサ２１３に結像する。撮影レンズユニット２１１は、例えば焦点を合わせるためにモータ等でもって構成されており、レンズ群を移動する構成を有する。絞りユニット２１２は、絞りが制御可能な機構を有している。そして、これらの撮影レンズユニット２１１、絞りユニット２１２の動作制御は、駆動回路２１６が行う。
【００３３】
従って駆動回路２１６が撮影レンズユニット２１１、絞りユニット２１２を適切に制御することで、光学センサ２１３に到達（結像）する光は適切に光量調整されたものとなる。光学センサ２１３は、固体撮像素子（CCDやCMOSセンサなど）によって構成され、入射した光を光量に応じて電荷に変換、蓄積する。そして光学センサ２１３は、この蓄積された電荷を読み出し、画像信号としてＡ／Ｄコンバータ２１４に送出する。
【００３４】
ここで、光学センサ２１３の動作は、駆動回路２１７が出力するパルス信号などによって適切に制御されている。即ち、指示されたタイミングで指示された時間の間に蓄積された電荷を読み出す一連の動作を連続する。これにより、連続した画像が得られることになる。このようにして取得された連続画像は、言うまでもなく動画像である。
【００３５】
次に、Ａ／Ｄコンバータ２１４は、光学センサ２１３から受けた画像信号に対してＡ／Ｄ変換を行い、ディジタルデータ（画像データ）として画像信号処理回路２１５に送出する。画像信号処理回路２１５は、Ａ／Ｄコンバータ２１４から受けた画像データを用いて、ホワイトバランス補正やガンマ補正といった画像補正を行う。このようにして処理され、適切な形式となった画像は、符号圧縮回路１０３に送出される。
【００３６】
なお、このような処理間の画像データの受け渡しは、たとえばDMA（Direct Memory Access）回路を利用した高速なメモリ２５１を用いたアクセスにより行われることで、リアルタイムでの大量のデータ処理を可能ならしめる工夫がなされていてもよい。
【００３７】
符号圧縮回路１０３は、画像信号処理回路２１５から入力した画像データに対して圧縮符号化処理を行う。これを各フレームの画像について行うので、結果として動画像に対する圧縮符号化処理を行うことになる。この圧縮符号化方式には様々なものを用いることができる。
【００３８】
例えば、連続したJPEG（ISO／IEC 10918）符号化による、所謂モーションJPEG画像では、画像信号処理回路２１５からの入力画像データがＲＧＢ画像データである場合、輝度信号Yとクロマ信号CbCrからなるYC信号化する。そして、これらを８ｘ８画素のブロックに分割したのち、離散コサイン変換、量子化、ハフマン符号化といった処理を行い、最終的な圧縮画像を出力する。
【００３９】
或いは、圧縮符号化方式がMPEG-2（ISO／IEC 13818）やMPEG-4（ISO／IEC 14496）などのフレーム間予測を行う形式である場合、圧縮しようとする特定の１枚の画像（フレーム）に対し、前後のフレームを参照しながら、動き補償予測、マクロブロック処理等を行い、前後が相互に依存した圧縮画像（ビットストリーム）を出力する。
【００４０】
符号圧縮回路１０３による符号化処理について詳しくは後述する。符号圧縮回路１０３は、圧縮符号化処理の結果を圧縮符号化データとしてメモリ２５１に送出するので、メモリ２５１には圧縮符号化されたフレームの画像データが保持されていることになる。そしてこの圧縮符号化データは適宜ＣＰＵ２５２による制御に従って適宜符号データ出力ユニット１０４内の符号データ出力回路２４１に送出される。
【００４１】
符号データ出力回路２４１は、受けた圧縮符号化データを記憶装置２４３や通信回路２４２に送出する。記憶装置２４３は、CD-RやDVD-Rといった記録型光学ディスク、光磁気ディスク等の記録媒体に記録された情報を読み取る記録媒体ドライブ装置や、ハードディスク等により構成されており、符号データ出力回路２４１から受けた圧縮符号化データを保存する。
【００４２】
一方、通信回路２４２は、受けた圧縮符号化データを通信に最適なRTPパケット等の通信パケット形式に変換し、ネットワーク上に送出するためのものである。なお、このネットアークについては様々なものが考えられ、特に限定するものではない。
【００４３】
なお、ここでは圧縮符号化データの出力先として、記憶装置２４３、若しくは通信回路２４２（ネットワーク）としたが、出力先には様々なものが考えられ、特に限定するものではない。
【００４４】
次に、アクチュエータユニット１０２について説明する。アクチュエータユニット１０２は同図に示す如く、サーボ・モーターや超音波モーター等により撮像ユニット１０１を回転・移動させる為のアクチュエータ２２１とその駆動回路２２３、アクチュエータ２２１の動き量を検出する為の動き検出回路２２２により構成されている。
【００４５】
係る構成により、ネットワーク上の機器から、若しくは本装置に実装されたボタンから、撮像ユニット１０１を移動・回転させる要求が本装置に入力された場合、ＣＰＵ２５２はこれを検知し、指示された移動・回転を行うよう駆動回路２２３に指示を送出する。駆動回路２２３はこの指示に基づいてアクチュエータ２２１を制御するので、アクチュエータ２２１は自身に接続されている撮像ユニット１０１を、要求された移動分、回転角分だけ移動・回転させる。また、動き検出回路２２２は、アクチュエータ２２１の動き量（ここでは移動・回転量）を検知し、所定タイミング毎に検知した動き量をメモリ２５１に記録する。
【００４６】
このように、アクチュエータユニット１０２による動作により、所定タイミング毎の撮像ユニット１０１の動き量をメモリ２５１に記録することができるので、適宜これを参照することができる。本実施形態では、このメモリ２５１に記録された動き量を用いて、符号圧縮回路１０３が行う圧縮符号化処理を制御する。
【００４７】
なお、以上説明した各部の動作制御はＣＰＵ２５２が管理している。更に、ＣＰＵ２５２の動作則を記したプログラムは、ＲＯＭ２５３に格納されている。従ってＣＰＵ２５２はこのＲＯＭ２５３に格納されているプログラムやデータを用いて処理を実行することで、本装置全体の制御を行うと共に、本装置を構成する各部が行う上記各処理を実行することになる。
【００４８】
次に、符号圧縮回路１０３が行う圧縮符号化処理と、動き検出回路２２２が検出した撮像ユニット１０１の動き量との関係について説明する。図３は、撮像ユニット１０１の回転と、撮像画像との関係を示す図である。図３（ａ）は、撮像ユニット１０１を真上から見た場合の図で、撮像ユニット１０１は回転軸３０２を中心として回転可能であるとする。
【００４９】
３０５ａ、３０６ａはそれぞれ撮像ユニット１０１の視軸で、視軸が３０５ａである場合に、撮像ユニット１０１を３０４で示す分だけ回転させると、撮像ユニット１０１の視軸は３０６ａで示すものとなる。因みにこの回転角３０４は動き検出回路２２２により検知対象となるものである。３０３は撮像ユニット１０１の画角である。従って、画角３０３を有し、視軸が３０５ａである場合には、撮像ユニット１０１の画像面は３０５となり、視軸が３０６ａである場合には、撮像ユニット１０１の画像面は３０６となる。
【００５０】
図３（ｂ）は、画像面が３０５，３０６のそれぞれにおける撮像画像を説明する図である。図３（ｂ）では左から２つの風船、家、木が配置された風景を、画像面３０５において撮像した画像３１１と、画像面３０６において撮像した画像３１２とを示している。更に、図３（ｂ）の場合には、紙面横方向だけではく、縦方向にも撮像ユニット１０１の姿勢が変わっている。従って、画像３１１と画像３１２とでは縦方向、横方向共に撮像した風景がずれている。このように、撮像した風景がずれるのは、画角３０３や回転角３０４といったものが変化することに他ならない。
【００５１】
また画像３１１と画像３１２とを見比べると、左側の風船は画像３１１では写っていたものの、画像３１２では写っていない。更に、木は画像３１１では写ってはいなかったが、画像３１２では写っている。このように、撮像ユニット１０１の回転角３０４や画角３０３等が変化すると、写るものも異なってしまう場合がある。
【００５２】
このような画像の変化は、所謂MPEGのような動画の予測符号化方式においては、重要な影響を与えることになる。即ち、予測符号化方式による画像圧縮においては、たとえば先のフレーム画像から次のフレーム画像を予測するといったことが行われるため、先のフレームと次のフレームとで写っているものが異なれば、次のフレームにおける被写体が予測できない。
【００５３】
図４は、画像３１１と画像３１２とを示す図である。同図では画像３１１、３１２は共にマクロブロック（ＭＢ）４０５毎に分割されている（同図では点線で分割されている）。
【００５４】
ここで、画像３１１、画像３１２を連続したフレームとしてこの順に撮像する場合、画像３１１を撮像した後に、撮像ユニット１０１を下方向、且つ右方向に回転させると、画像面上では同図４０３，４０４に示す如く、下方向、右方向に移動したところに画像３１２の枠が位置することになる。これにより、画像３１１において同図斜線で示すマクロブロック部分は、画像３１２には含まれなくなっている。
【００５５】
ここで、MPEG-4の動画符号化方式（ISO／IEC 14496）では、圧縮符号化を行う符号化対象のフレームと先のフレームとで、類似する部分同士の差分を符号化することにより高圧縮を実現している。従って、画像３１２を符号化する場合には、画像３１２を構成する各マクロブロックと、画像３１１を構成する各マクロブロックとで類似するマクロブロック同士の差分を符号化することになるのであるが、上述の通り、同図斜線で示したマクロブロックは画像３１２には含まれていない。即ち、画像３１１を構成する各マクロブロックのうち、斜線で示したマクロブロックは、画像３１２を符号化する際には参照されない領域、斜線で示していないマクロブロックは、画像３１２を符号化する際に参照するマクロブロックである。
【００５６】
そこで本実施形態では、画像３１１を構成している各マクロブロックにおいて、斜線で示したマクロブロックに割り当てる符号量を、斜線で示していないマクロブロックに割り当てる符号量よりも相対的に小さくするような符号量制御を行う。これにより、より圧縮率の高い符号化を実現することができる。
【００５７】
このことは別の観点から見れば、画像３１１を構成している各マクロブロックにおいて、斜線で示していないマクロブロックに割り当てる符号量を、斜線で示したマクロブロックに割り当てる符号量よりも相対的に大きくしているので、画像３１２を符号化する際に参照する領域の画像品質を向上させることが可能となる。
【００５８】
マクロブロックごとの符号量の割り当てを制御する符号化制御の方法には様々な方法が知られているが、例えば典型的には、圧縮率に直接関わるＱスケール値を変更する。またその他には、符号化直前に画像の特定部分に対してローパスフィルタを適用することにより、符号化対象とする画像の高周波成分を領域毎に変化させてもよい。
【００５９】
なお、以上の説明では、圧縮符号化方式としてMPEG-4を例示したが、同様の予測符号化方式であればこのような領域による符号量の割り当てを変更することが有効であることは明らかである。この図４の例ではマクロブロックが同一サイズで示しているが、MPEG-4 AVC（ITU H.264）においては、マクロブロックサイズが選択的に変更可能となっている。しかし、そのような場合であっても、符号化時に参照されない領域に対して相対的に符号量の割り当てを小さくするような符号化制御は問題なく適用可能である。
【００６０】
こうした、符号化方式による差異や様々な符号量割り当ての方法の差異は、本実施形態に係る技術に何等影響を与えるものではない。むしろ、本実施形態の本質は、撮像ユニット１０１の回転・移動の量（動き量）に基づいて、フレーム内で、次のフレーム符号化に参照されない部分を特定することの方が重要である。
【００６１】
図５は、撮像ユニット１０１が撮像した各フレームの画像を符号化する処理のフローチャートである。なお、同図のフローチャートに従った処理は、図２に示した各部によって行うのであるが、これら各部を制御するためにＣＰＵ２５２が実行するプログラムやデータはＲＯＭ２５３に格納されており、これをＣＰＵ２５２が読み出して実行することで、本実施形態に係るディジタルカメラは、以下説明する各処理を実行することになる。
【００６２】
なお、以下の説明では、符号化制御に関して、例えばCBR（Constant Bit-rate）といった符号量のポリシーや特定の符号量制御アルゴリズムを想定した記述をしていない。しかしながら、そのような一般化では十分な例示が出来ない場合については、その都度若干の具体的な例を示すものとする。また、予測符号化方式の符号化のアルゴリズムは、一連のフローとして説明するには複雑であるため、ここでは、動きベクトル探索など、その詳細を略している。
【００６３】
先ず、本実施形態に係るディジタルカメラを起動すると、ステップＳ５０１では、ＣＰＵ２５２が、以下の各処理を行うための各種の初期化処理を行う。例えば、複数フレームを符号化する際の符号レートや、量子化方式の設定などを行う。
【００６４】
初期化が完了すると、次にステップＳ５０２では、撮像ユニット１０１によって撮像された符号化対象フレームの画像５８０をデータとしてメモリ２５１に取得する。メモリ２５１へのデータの転送は上述の通り、撮像ユニット１０１を構成している画像信号処理回路２１５によって行われる。
【００６５】
次にステップＳ５０３では、動き検出回路２２２は、アクチュエータ２２１の動き量を検知することで撮像ユニット１０１の動き量を計測し、データとしてメモリ２５１に取得する。ここで検知している動き量は、符号化対象フレームを撮像後、この符号化対象フレームの次のフレームを撮像するまでに撮像ユニット１０１が動いた動き量である。
【００６６】
ステップＳ５０４では、ステップＳ５０３で取得した動き量を用いて、符号化対象フレームの次のフレームを符号化する際に、符号化対象フレームの画像において参照される領域と、参照されない領域とを特定する処理をＣＰＵ２５２によって行う。ステップＳ５０４における処理の詳細については後述する。
【００６７】
次にステップＳ５０５では、符号圧縮回路１０３が符号化処理を行うために用いる符号化パラメータ（デフォルト値）をＣＰＵ２５２によって設定する。この符号化パラメータとしては、例えば、目標符号量に対応するＱスケールパラメータが適用可能である。
【００６８】
そして以降の処理では、各マクロブロックを順次符号化するのであるが、ステップＳ５０６では、符号化対象マクロブロックが、符号化対象フレームの次のフレームを符号化する際に符号化対象フレームの画像において参照されるマクロブロック（参照マクロブロック）であるか、参照されないマクロブロック（非参照マクロブロック）であるのかをＣＰＵ２５２が判断する。
【００６９】
そして、符号化対象マクロブロックが参照マクロブロックである場合には処理をステップＳ５０８に進めるのであるが、非参照マクロブロックである場合には処理をステップＳ５０７に進める。
【００７０】
ステップＳ５０７では、符号化対象マクロブロックが非参照マクロブロックと判断されたので、ＣＰＵ２５２は、圧縮率を高めるようにステップＳ５０５で設定した符号化パラメータを変更する。例えば、Ｑスケール値を大きくする。
【００７１】
そして、ステップＳ５０８では、符号圧縮回路１０３が、ステップＳ５０５で設定された符号化パラメータ、若しくはステップＳ５０７で設定された符号化パラメータを用いて符号化対象マクロブロックを符号化する処理を行う。これにより、参照マクロブロックに対してはステップＳ５０５で設定された符号化パラメータに従った符号化処理を行い、非参照マクロブロックに対してはステップＳ５０７で設定された符号化パラメータに従った符号化処理を行うことになる。なお、符号化結果は符号化対象マクロブロックの符号化データとしてメモリ２５１に保持される。
【００７２】
次に、ステップＳ５０９では、未だ符号化されていないマクロブロックがあるのかをチェックし、未だ符号化されていないマクロブロックがある場合には処理をステップＳ５０５に戻し、符号化パラメータをデフォルト値に再設定し、未だ符号化されていないマクロブロックについて符号化処理を行う。
【００７３】
一方、全てのマクロブロックについて符号化を行ったのであれば、処理をステップＳ５１０に進め、符号化対象フレームを構成している全てのマクロブロックの符号化データがメモリ２５１に保持されているのであるから、これを符号化データ５０９として符号データ出力回路２４１に転送する。また同ステップでは、符号データ出力回路２４１は、この符号化データを通信回路２４２、若しくは記憶装置２４３に送出する。
【００７４】
そして、本処理を終了する旨の指示が入力された、若しくは終了する条件が満たされた場合には本処理を終了するのであるが、そうでない場合には処理をステップＳ５１１を介してステップＳ５０２に処理を戻し、次のフレームについて以降の処理を繰り返す。
【００７５】
次に、上記ステップＳ５０４における処理、即ち、符号化対象フレームを構成している各マクロブロックが、参照マクロブロックであるのか、非参照マクロブロックであるのかを特定するための処理について説明する。
【００７６】
図６は、図３に示した状況において、画像面３０５上における画像において非参照マクロブロックの領域を求める処理を説明する図である。従って図６において図３と同じ部分については同じ番号を付けている。
【００７７】
ここでは、撮像ユニット１０１が水平面内で回転した場合に、画像面３０５上における画像において非参照マクロブロックの領域を求める場合について説明する。
【００７８】
同図において６０１は、画像面３０５の幅（視軸３０５ａを法線とする平面において、視軸３０５ａと直交する方向の長さ＝Ｌ）を示す。画像面３０５の幅は即ち画像面３０５上における画像の幅である。ここで、撮像ユニット１０１が水平面内で回転角３０４（＝Φ）だけ回転した場合、画像面３０５は、画像面３０６となるのであるが、その際、画像面３０５上の画像において、画像面３０６内には含まれなくなった部分は、６０２で示す如く、画像面３０５の左端から幅ｄの領域である。即ち、この領域に含まれているマクロブロックが、非参照マクロブロックとなる。
【００７９】
ここで、画角３０３＝θ、回転角３０４＝Φ、撮像幅６０１＝Ｌ、画像面３０５上の画像において、画像面３０６内には含まれなくなった部分の幅＝ｄとおくと、以下の式が成り立つ。
【００８０】
（（Ｌ／２）−ｄ）／（Ｌ／２）＝ｓｉｎ（（θ／２）−φ）／ｓｉｎ（θ／２）
これを整理すれば、次の式が成立する。
【００８１】
ｄ／Ｌ＝（１−（ｓｉｎ（（θ／２）−φ）／ｓｉｎ（θ／２）））／２
ここで、画角３０３は、撮像ユニット１０１の画角が所望の画角となるべく、ＣＰＵ２５２による制御により決定し、駆動回路２１６，２１７に指示するので、ＣＰＵ２５２にとっては既知の値となる。また、回転角３０４は動き検出回路２２２より検出される動き量の１つであるので、これもまたＣＰＵ２５２にとっては既知の値となる。また、撮像幅は、撮像画素数の設定などにより予め既知の値である。従って、これら既知の値、及び上記式を用いれば、幅ｄを求めることができる。
【００８２】
例えば、画角３０３が３０度（π／６［ｒａｄ］）、回転角３０４が２度（π／９０［ｒａｄ］）、撮像幅６０１が３２０画素であれば、上記式よりｄ＝２１画素と計算することができる。
【００８３】
しかし、上記計算だけでは、非参照マクロブロックで構成された領域の幅は分かるものの、この領域が符号化対象フレームにおけるどの部分であるのかについては分からない。そこで、アクチュエータ２２１は回転角３０４が時計回り、反時計回りの何れの方向の回転角であるのかを計測する。そして、例えば図６において、回転角３０４が時計回りの回転角である場合には、画像面３０５において左端から幅ｄの領域が非参照マクロブロックの領域であり、回転角３０４が反時計回りの回転角である場合には、画像面３０５において右端から幅ｄの領域が非参照マクロブロックの領域である。これは、回転角３０４として鉛直方向の回転も加わったとしても同様にして行う。即ち、回転した方向とは逆の側から求めた幅の部分が、非参照マクロブロックの領域となる。
【００８４】
従って、ステップＳ５０４では、このような計算処理を行うことで、符号化対象フレームにおいて非参照マクロブロックの領域を特定することができる。
【００８５】
なお、上記式において、回転角３０４が比較的小さい値である場合には、所謂テイラー展開などの近似によって、より計算負荷の小さな式へと変換することが可能である。テイラー展開の一次項までを用いると、上記計算式は、次の単純な式へと変換することが出来る。
【００８６】
ｄ／Ｌ＝φ／θ
この式を用いて、画角３０３が３０度（π／６［ｒａｄ］）、回転角３０４が２度（π／９０［ｒａｄ］）、撮像幅６０１が３２０画素である場合に、ｄの値を計算してみてもｄ＝２１画素と求めることができるので、計算負荷の高い三角関数を用いなくても、同様の結果を得ることができる。
【００８７】
ここで、回転角３０４の代わりに、回転の角速度を用いるほうが都合が良い場合もある。一般に、圧縮符号化には一定の時間を要するため、圧縮符号化を行う瞬間の時間は、画像を取得した瞬間ではなく、一定の遅延を持たすように実装される場合が多い。従って、厳密に画像フレームとその瞬間の角度とを対で取得保持することが困難である場合には、角速度を利用するほうが処理上優位となる。
【００８８】
今、アクチュエータ２２１により求めた動き量の１つとして、回転の角速度がψ［ｒａｄ／ｓｅｃ］である時、フレームレートがＮ［１／ｓｅｃ］であれば、フレーム画像間の回転角３０４は、明らかに次の式で表現される。
【００８９】
φ＝ψ／Ｎ
これを上で示した近似式に当てはめた場合、次の式が成立する。
【００９０】
ｄ／Ｌ＝ψ／θＮ
すなわち、角速度とフレームレートが明らかである場合、回転角３０４を用いた場合と同様に計算処理を行うことが出来る。
【００９１】
ここで、以上では、撮像ユニット１０１が回転した場合に、非参照マクロブロックの領域、参照マクロブロックの領域を求め、それぞれに応じた符号化パラメータを用いてそれぞれの領域を符号化する処理について説明したが、以上の説明は、撮像ユニット１０１が平行移動した場合についてもほぼ適用することができる。
【００９２】
即ち、撮像ユニット１０１が平行移動した場合には、動き検出回路２２２は動き量の１つとして、その平行移動量を求めることになる。また、非参照マクロブロックの領域の幅を求める処理においては、平行移動を水平方向のみとした場合を例にとると、光学センサ２１３の有効幅をλミリ、撮像ユニット１０１の水平移動幅をδミリとすると、光学センサ２１３と画像フレームとの関係は相似であるから、撮像幅６０１＝Ｌ、非参照マクロブロックの領域の幅＝ｄとした時、次の式が成り立つ。
【００９３】
ｄ／Ｌ＝δ／λ
これは、撮像ユニットが回転した場合の近似式とまったく同様の形となっている。また、これは、撮像ユニット１０１が鉛直方向に移動した場合にも同様に適用することができる。
【００９４】
そして、求めた幅の領域が、符号化対象フレームのどの部分に位置するものであるかを特定する処理については、上記説明と同様、符号化対象フレームにおいて移動方向とは逆の側から、求めた幅の分が、非参照マクロブロックの領域となる。
【００９５】
このように、撮像ユニット１０１が回転する場合に加え、平行移動する場合においても、非参照マクロブロックの領域を特定することができる。非参照マクロブロックの領域を特定すれば、後は図５のフローチャートに従った処理を行えばよい。従って、撮像ユニット１０１が如何なる動きを行ったとしても（回転と平行移動を組み合わせても）、非参照マクロブロックの領域を特定することができれば、後は上記ステップＳ５０５以降の処理を上述の通り行えばよい。
【００９６】
ここで最後に、圧縮符号化の制御に関して、画像フレームの変化に応じて圧縮率を変更するのではなく、圧縮符号化における符号化方式を変更する場合について、付加的な説明を行う。
【００９７】
MPEGなどの予測符号化においては、マクロブロック単位で、その符号化モードをマクロブロックの情報のみによる面内符号化を行うか、参照マクロブロックを用いた予測符号化を行うかを選択することが出来るようになっている。一般に、面内符号化は他の画像を参照しないため、より高画質であることが期待されるが、一方で圧縮率を低下させることになり、圧縮符号化においては、その選択を最適に行うことが重要である。
【００９８】
面内符号化を選択するか参照マクロブロックを選択するかの判断は、符号化時において、必ずしも一意に決定されるものではない。画質を優先するか圧縮率を優先するかの判断によって、圧縮符号化の制御を設計、実装する者によって決められるべき性質のものである。
【００９９】
また、あるマクロブロックが後のフレームから参照される可能性が低い場合、そのマクロブロックの画質の低下は後のフレームの画質に影響を与えないが、後のフレームから参照される可能性が高い場合、画質の悪いマクロブロックは、後のフレームの画質をも低下させる可能性がある。
【０１００】
すなわち、撮像ユニット１０１の動きによって参照されることがないと判断されるマクロブロックについては、相対的に予測符号化を選択する割合を高め、参照マクロブロックについては、相対的に面内符号化を選択する割合を高めるよう制御することにより、全体としての画質を高める制御を行うことが出来る。
【０１０１】
このように、非参照マクロブロック、参照マクロブロックに対して符号化を行う際に、符号化方式を切り替えるようにしても良い。
【０１０２】
以上の説明により、本実施形態によれば、撮像ユニットが撮像する各フレームの画像を符号化する場合に、撮像ユニットの動き量に基づいて非参照マクロブロックを特定し、特定した非参照マクロブロックについては参照マクロブロックよりも符号量を下げるべく、符号化パラメータ、若しくは符号化方式を制御することで、非参照マクロブロックの圧縮率を相対的に高めるといった圧縮符号化制御を行うことができる。
【０１０３】
これにより、符号化対象フレームの次のフレームを符号化する際に参照される可能性があるため相対的に高画質化すべき（符号化対象フレームにおける）参照マクロブロックの圧縮率を高めることが可能となり、結果として、符号化対象フレームの画質をも高めることも期待される。
【０１０４】
なお、本実施形態では、符号データ出力回路２４１による符号化データの形式変換処理などはあたかもハードウェアによって行われるが如く説明したが、適切なハードウエアとともに動作するソフトウエアがこれを行っても良いことは言うまでもない。
【０１０５】
また、画角３０３は予め決めておき、メモリ２５１にデータとして保持しておくようにしても良い。何れにせよ、画角３０３はＣＰＵ２５２によって常時参照可能なものとなる。
【０１０６】
［第２の実施形態］
第１の実施形態に係るディジタルカメラは、撮像ユニット１０１がアクチュエータユニット１０２に固定され、決められたひとつの地点で回転や平行移動を行うような構成を有していたが、移動可能な一体型の装置としても良い。より具体的には、動画撮影機能を備えたディジタルカメラやビデオ・カムコーダがその好適な例である。
【０１０７】
本実施形態では、図２に示した各部を一体化した構成を有するディジタルカメラについて説明する。
【０１０８】
図７は、本実施形態に係るディジタルカメラのハードウェア構成を示すブロック図である。同図において図２と同じ部分については同じ番号を付けており、その説明は省略する。図７に示す如く、本実施形態に係るディジタルカメラが図２に示したディジタルカメラと異なる点は、アクチュエータユニット１０２の代わりに、ジャイロ７０１、Ａ／Ｄコンバータ７０２を用いている点にある。
【０１０９】
ジャイロ７０１は、外部からの応力の大きさと方向を電気信号に変換するものであり、Ａ／Ｄコンバータ７０２は、ジャイロ７０１により変換された電気信号に対してＡ／Ｄ変換を行い、ディジタルデータとして出力するものである。
【０１１０】
従って、光学センサ２１３の回転や移動等の動き量はジャイロ７０１により計測され、電気信号としてＡ／Ｄコンバータ７０２に入力される。Ａ／Ｄコンバータ７０２は受けた電気信号をディジタルデータに変換し、動き量を示すデータとしてメモリ２５１に送出する。これ以外については第１の実施形態に係るディジタルカメラ同様の動作を行う。
【０１１１】
なお、画像信号処理回路２１５を撮像ユニット１０１内に設けず、符号圧縮回路１０３にデータを供給する為に、符号圧縮回路１０３と近接した位置に設けるようにしても良い。
【０１１２】
［その他の実施形態］
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１１３】
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１４】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１５】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１１６】
【図１】本発明の第１の実施形態に係る画像処理装置を適用したディジタルカメラの機能構成を示すブロック図である。
【図２】図１に示した構成を有するディジタルカメラの、より詳細な構成を示すブロック図である。
【図３】撮像ユニット１０１の回転と、撮像画像との関係を示す図である。
【図４】画像３１１と画像３１２とを示す図である。
【図５】撮像ユニット１０１が撮像した各フレームの画像を符号化する処理のフローチャートである。
【図６】図３に示した状況において、画像面３０５上における画像において非参照マクロブロックの領域を求める処理を説明する図である。
【図７】本発明の第２の実施形態に係るディジタルカメラのハードウェア構成を示すブロック図である。
【図１】
0004651103.tif 000002
【図２】
0004651103.tif 000003
【図３】
0004651103.tif 000004
【図４】
0004651103.tif 000005
【図５】
0004651103.tif 000006
【図６】
0004651103.tif 000007
【図７】
0004651103.tif 000008