一般に、光学レンズを用いて映像を撮影する場合、撮像素子に結像される光学情報には光学収差が発生する。この光学収差における歪曲収差により、レンズの周辺部から集光された結像情報であるほど、実際の形状に対して歪むことが知られている。そのため、光学レンズを用いて撮影する場合には、空間領域や時間領域に依存した情報量の偏りが全くない映像というものは存在しないことになる。
光学レンズは、焦点距離によって大まかに分類されており、一般的に焦点距離が85mm以上のものが望遠レンズ、50mm前後のものが標準レンズ、35mm以下のものが広角レンズと呼ばれている。また、広角レンズの中でも、特に、短い焦点距離でありかつ広画角な特性を持つレンズは超広角レンズに分類され、球面として被写体を捉えることにより180度近い画角を持つレンズは魚眼レンズに分類される。さらに、魚眼レンズは、集光された全ての光学情報が撮像素子上に結像される光学系の円周魚眼レンズと、円の直径と撮像素子の対角線とが一致するように結像される光学系の対角魚眼レンズとに分類される。
このように広角レンズ(特に、超広角レンズや魚眼レンズ)を用いることにより、他に分類されるレンズでは撮影不可能な高画角な映像を撮影することができる。そこで、この点を活用することにより製品やシステムに高い性能を付与することができる。
その一例として、定点観測により広範囲に撮影する監視カメラ装置及び監視カメラシステムがあげられる。図14及び図15を参照しながら、標準レンズを用いた監視カメラシステムと、魚眼レンズを用いた監視カメラシステムとを比較して魚眼レンズを用いた監視カメラシステムの利点について説明する。
図14は、標準レンズを用いた監視カメラシステム220の一例を示す図である。
図14において、監視カメラ装置215は、標準レンズ200と、カメラボディ201と、カメラクレードル202とから構成されている。監視カメラシステム220は、監視カメラ装置215と、電源203と、サーバー204と、クライアント205と、電源ケーブル206と、第1のネットワークケーブル207と、第2のネットワークケーブル208とから構成されている。また、209は標準レンズ200の画角であり、210は撮影している室内スペースである。
監視カメラ装置215は、電源ケーブル206により電源203と接続されており、電源203から供給される電力は、カメラボディ201の映像情報記録機構及びカメラクレードル202のパン・チルト機構の駆動源となる。
また、監視カメラ装置215は、第1のネットワークケーブル207によりサーバー204とも接続されている。監視カメラ装置215が撮像した画角209内の室内スペース210に関する映像情報は、第1のネットワークケーブル207を経由してサーバー204へ伝送される。サーバー204は、第2のネットワークケーブル208によりクライアント205と接続されており、サーバー204に一時的に記憶されている映像情報はクライアント205に伝送される。視聴者はクライアント205を用いて画角209内の室内スペース210に関する映像情報を任意のタイミングで視聴することができる。
図15は、魚眼レンズを用いた監視カメラシステム320の一例を示す図である。
図15において、監視カメラ装置315は、魚眼レンズ300と、カメラボディ301とから構成されている。監視カメラシステム320は、監視カメラ装置315と、サーバー302と、クライアント303と、第1のネットワークケーブル304と、第2のネットワークケーブル305とから構成されている。また、306は魚眼レンズ300の画角であり、307は室内スペース307である。
監視カメラ装置315は、第1のネットワークケーブル304によりサーバー302と接続されている。監視カメラ装置315が撮像した画角306内の室内スペース307に関する映像情報は、第1のネットワークケーブル304を経由してサーバー302へ伝送される。サーバー302は、第2のネットワークケーブル305によりクライアント303とも接続されており、サーバー302に一時的に記憶されている映像情報はクライアント303に伝送される。視聴者はクライアント303を用いて画角306内の室内スペース307に関する映像情報を任意のタイミングで視聴することができる。
標準レンズを用いる場合、以下のような不都合が生じる。まず、画角の狭さを補うために監視カメラ装置215にパン・チルト機構を備えることが重要となる。そして、パン・チルト機構を駆動させるためには比較的大電力を要することになり、監視カメラ装置215は、電源203より電力の供給を受ける構成にする必要がある。したがって、監視カメラシステムの設置作業が煩雑になり、場合によってはシステム価格が高騰する要因となる。
また、パン・チルト機構を実装した分だけ監視カメラ装置215の部品点数は増加するため、製造コストが増大し、製品価格が高騰する要因となる。
一方、魚眼レンズを用いる場合、以下のような利点がある。まず、画角が室内スペース307のほぼ全域をカバーするため、監視カメラ装置315にパン・チルト機構が不要となる。また、監視カメラ装置315が映像を撮影する時と、撮影した映像情報をサーバー302へ伝送する時とにのみ電力が必要となる。このため、第1のネットワークケーブル305にPoE(Power of Ethernet(登録商標))を用いることにより電力を共有することが可能となる。したがって、監視カメラシステムの設置作業が容易になり、場合によってはシステム価格を抑えることができる。
また、パン・チルト機構がない分だけ監視カメラ装置の部品点数を抑えることができ、その結果、製造コストが減少し、製品価格を抑えることができる。
このように魚眼レンズの高画角の特性を応用した製品やシステムには利点がある。ところが、魚眼レンズは、前述した光学レンズにおける歪曲収差において不都合が存在する。超広角レンズや魚眼レンズを用いて撮影した映像は、歪曲収差が顕著であるため、方形の物体が方形の像を結ばず、樽型に結像される。特に、魚眼レンズを用いて撮影された映像は、用途によっては視聴するのが難しく、視聴する際には歪曲収差を補正するのが一般的である。
また、歪曲収差に起因して、撮影された映像の中心部と周辺部とで時空間的な情報密度に相当な差異が生じる。このことについて、図16を参照しながら説明する。
図16は、同一の撮影環境下における標準レンズ及び魚眼レンズの映像の違いを表す模式図である。
図16において、結像模式は、監視カメラ装置が3次元空間を撮影する際の結像のされ方を模式的に表している。また、映像模式は、監視カメラ装置により撮影された画像を12時刻で重ね合わせて、歪曲収差による時空間的な情報密度の差異を模式的に表している。
標準レンズによる構成では、視界500において、動物体502が進行方向506へ等速直線運動をしている。動物体502が標準レンズカメラ装置507の画角509内を通過したときに、標準レンズカメラ装置507は動物体映像として標準レンズ画像511を生成する。
一方、魚眼レンズによる構成では、視界501において、動物体503が進行方向506へ等速直線運動をしている。動物体503が魚眼レンズカメラ装置508の画角510内を通過したときに、魚眼レンズカメラ装置508は動物体映像として魚眼レンズ画像512を生成する。
図16の映像模式に示すように、標準レンズの方は、12時刻の動物体504が全て等しい空間解像度となり、隣接する2時刻間で全て空間的に等間隔に撮影される。一方、魚眼レンズの方は、12時刻の動物体505は円周領域で小さく、円中心領域で大きく、空間解像度が異なる。また、動物体505は等速直線運動しているにも関わらず、隣接する2時刻間で空間的に等間隔に撮影されない。
この標準レンズと魚眼レンズとの撮影のされ方の違いの原因は、画角の違いである。標準レンズの場合、撮像系の仕様によって異なるが、画角はおよそ50°以下である。さらに、標準レンズを用いた撮像系では光学情報の中心領域だけが撮像素子に結像されるように構成されているため、撮影された映像の歪曲収差は小さい。一方、魚眼レンズの場合は、画角はおよそ170°以上であり、撮像系の仕様によっては180°を超えるものもある。このように画角が大きいと歪曲収差が大きくなってしまう。
このように歪曲収差が大きいと、映像の中心部と周辺部とで時空間的な情報密度に相当な差異が生じる。以下、この歪曲収差に起因する映像の情報密度の偏りを時空間情報偏在度と定義する。
図17は、円周魚眼レンズによって撮影された画像の一例を示す図である。図17を参照しながら、撮影角度による映像の歪曲収差と時空間情報偏在度との関係について説明する。
図17の円周魚眼映像1801において、円周1802は撮影角度180°で集光される光学情報を表している。第1の同心円1803は、撮影角度120°で集光される光学情報を表している。第1の同心円1803に囲まれた領域は、画角が120°の広角レンズを用いて撮影した場合に同様の映像が記録できる領域である。第2の同心円1804は、撮影角度90°で集光される光学情報を表している。第2の同心円1804に囲まれた領域は、撮影角度が90°の広角レンズを用いて撮影した場合に同様の映像が記録できる領域である。さらに、第3の同心円1805は撮影角度60°で集光される光学情報を表している。第3の同心円1805に囲まれた領域は、撮影角度60°の広角レンズあるいは標準レンズを用いて撮影した場合に同様の映像が記録できる領域である。
図17に示すように、第3の同心円1805より外側の撮影角度60°以上の画像領域では歪曲収差が大きい。また、第3の同心円1805より内側の撮影角度60°未満の画像領域においても、第3の同心円1805の円周領域において歪曲収差が発生している。このように、撮影角度60°弱以上の広角レンズを用いて撮影された映像においては時空間情報偏在度が大きくなる。
一方、デジタル化された映像データは一般に情報量が多いため、記録または伝送する際に、情報を圧縮する技術が必要になる。映像符号化技術の代表例としては、MPEG2 TestModel5やH.264 Verification Model9.3などのハイブリッド符号化方式が挙げられる。
従来は、魚眼レンズなどの広角レンズを用いて撮影された映像データを符号化する時も、既存の映像符号化技術を用いていた。このように符号化の際には、広角レンズを用いて撮影された映像データは標準レンズを用いて撮影された映像データと同じように扱っていた。既存の映像符号化方式では、映像の時空間領域に適応的な処理を行っておらず、映像データにおける時空間情報偏在度による冗長成分については圧縮しない。そのため、時空間情報偏在度が大きい映像データを符号化すると、符号化効率が損なわれていた。
この問題点を解決するために、例えば、特許文献1に記載の画像処理装置では、JPEG2000におけるウェーブレット変換を行う時に、画像の空間領域に応じてサブバンドのウェーブレット係数に符号を割り当てる優先度を変更している。これにより、空間的な情報の冗長性を低減している。
特許文献1に記載の画像処理装置は、歪曲収差により空間解像度に方向性がある画像に対して、縦方向、横方向、斜め方向にそれぞれ適応的に符号量を割り当てることができる。したがって、空間領域に依存せず一様に符号量を割り当てる場合よりも符号化効率が向上する。この点で、空間領域における情報の冗長性を低減することができる。
以下、本発明の実施形態について、図面を参照しながら説明する。
(第1の実施形態)
まず、従来の映像符号化装置の構成について説明する。図13は、従来における映像符号化装置の構成例を示すブロック図である。以下、図13を参照しながら従来技術における映像符号化装置の処理の流れについて簡単に説明する。
映像入力部100は、時間方向に連続する画像(フレーム)によって構成されるデジタル映像信号をブロック単位で入力する。動きベクトル検出部109は、フレームメモリ108に記憶された前時刻の符号化画像信号(参照画像信号)を参照して、映像入力部100に入力された映像信号に対してブロック単位で動きベクトルの検出を行う。
フレームメモリ108は、予測画像保持部111から出力される予測画像信号と、減算部101、直交変換部103、量子化部104、逆量子化部105及び逆直交変換部106を経た差分信号とを加算部107で加算した参照画像信号を蓄積する領域を有する。動き補償部110は、動きベクトル検出部109により検出された動きベクトルを用いて、フレームメモリ108に蓄積された参照画像信号から予測ブロックを検出し、予測画像保持部111に出力する。
予測画像保持部111は、蓄積している予測画像信号を減算部101と加算部107とに出力する。減算部101は、小矩形分割部116から入力される符号化対象のブロックと、予測画像保持部111から出力される予測画像信号との差を算出し、予測値の差分信号(以下、予測誤差信号)を直交変換部103に出力する。
直交変換部103は、符号化モード判定部102の制御により、減算部101から出力された予測誤差信号と原画像とのいずれかをマクロブロック単位で直交変換する。量子化部104は、入力された情報に対し、量子化パラメータに基づきスカラー量子化を行い、量子化後の値をエントロピー符号化部113と逆量子化部105とに出力する。
エントロピー符号化部113は、量子化部104において量子化された値を可変長符号化し、バッファ114へ出力する。符号出力部115は、バッファ114から符号化された映像信号を入力して外部に出力する。
逆量子化部105は、量子化部104において量子化された値を逆量子化し、逆量子化された値を逆直交変換部106へ出力する。逆直交変換部106は、逆量子化された予測誤差信号を逆直交化し、加算部107に出力する。加算部107は、逆直交変換部106から出力された予測誤差信号と、予測画像保持部111から出力された予測画像信号とを加算して符号化対象ブロックを再生し、フレームメモリ108に出力する。符号化モード判定部102は、画像単位及び小矩形単位において画像内符号化(フレーム内符号化)と画像間符号化(フレーム間符号化)との選択を行う。
次に、図15に示した魚眼レンズを用いた監視カメラシステム320を参照しながら、本実施形態における映像符号化装置の適用例について説明する。
図15において、魚眼レンズ300とカメラボディ301とにより構成される監視カメラ装置315は、魚眼レンズ300の画角306内に収まる室内スペース307の光学情報を集光し、カメラボディ301に内蔵されている撮像素子に結像する。結蔵された光学情報は撮像素子により、電気的な映像信号に変換され、カメラボディ301内に内蔵されている映像符号化装置に入力される。
本実施形態における映像符号化装置により、映像信号は符号化されて出力される。出力された符号化データは第1のネットワークケーブル304を経由してサーバー302へ入力される。サーバー302へ入力された符号化データは一時的に蓄積される。そして、クライアント303の要求に応じて、第2のネットワークケーブル305を経由してクライアント303へ入力される。クライアント303に入力された符号化データは、クライアント303に内蔵されている映像復号化装置により映像情報に復号される。
図1は、本実施形態における映像符号化装置601の構成例を示すブロック図である。
図1に示す映像符号化装置601は、映像符号化器602と、量子化パラメータ補正器603とを備えている。映像符号化器602は、不図示の記録媒体や広角レンズを用いた撮像部から入力される、方向または領域によって変倍率の異なる映像信号を符号化する。量子化パラメータ補正器603は、映像符号化器602において映像信号を符号化する際に、映像符号化器602において小矩形単位に設定する量子化パラメータを、映像が有する時空間情報偏在度を考慮して補正する。
ここで、小矩形とは、映像符号化器602における符号化の単位であり、その面積は既存の映像符号化技術によっては可変であるが、本実施形態においてはマクロブロックに一致するものとして小矩形を扱う。しかし、発明の本質はこの制限によらず、小矩形は既存の映像符号化技術によって変わりうる全ての面積に対応するものである。
映像入力部1100は、時間方向に連続する画像(フレーム)によって構成されるデジタル映像信号をブロック単位で入力する。小矩形分割部1116は、映像入力部1100に入力される映像信号を、小さな矩形Bij(例えば8×8、16×16画素単位など)に分割する。また、カラー映像の場合はマクロブロック(MBij)と呼ばれる矩形単位で分割する(MBij>Bij)。以下では、入力画像がカラー画像であることを想定し、マクロブロックの単位で処理を行う。
動きベクトル検出部1109は、フレームメモリ1108に記憶された前時刻の符号化画像信号(参照画像信号)を参照して、映像入力部1100に入力された映像信号に対してブロック単位で動きベクトルの検出を行う。この際、符号化対象ブロックの周囲±15画素の範囲で、ブロックマッチングを行い、各輝度の予測誤差の絶対和の平均が最小であるブロックを予測ブロックとして、動きベクトルを検出する。
フレームメモリ1108は、予測画像保持部1111から出力される予測画像信号と、減算部1101、直交変換部1103、量子化部1104、逆量子化部1105及び逆直交変換部1106を経た差分信号とを加算した参照画像信号を蓄積する領域を有する。動き補償部1110は、動きベクトル検出部1109により検出された動きベクトルを用いて、フレームメモリ1108に蓄積された参照画像信号から予測ブロックを検出し、予測画像保持部1111に出力する。
予測画像保持部1111は、蓄積している予測画像信号を減算部1101と加算部1107とに出力する。なお、加算部1107へ出力するか否かについては、後述する符号化モード判定部1102によって制御される。減算部1101は、小矩形分割部1116から入力される符号化対象のブロックと、予測画像保持部1111から出力される予測画像信号との差を算出し、予測値の差分信号(以下、予測誤差信号)を直交変換部1103に出力する。
直交変換部1103は、符号化モード判定部1102の制御により、減算部1101から出力された予測誤差信号と原画像とのいずれかをマクロブロック単位で直交変換する。量子化部1104は、入力された情報に対し、量子化パラメータに基づきスカラー量子化を行い、量子化後の値をエントロピー符号化部1113と逆量子化部1105とに出力する。
エントロピー符号化部1113は、量子化部1104において量子化された値を可変長符号化し、バッファ1114へ出力する。符号出力部1115は、バッファ1114から符号化された映像信号を入力して外部に出力する。なお、バッファ1114には、バッファ1114内における符号量などの情報をレート制御情報として蓄積させ、レート制御情報により量子化部1104で用いられる量子化パラメータを設定して、レート制御を実現する機能も備えている。
逆量子化部1105は、量子化部1104において量子化された値を逆量子化し、逆量子化された値を逆直交変換部1106へ出力する。逆直交変換部1106は、逆量子化された予測誤差信号を逆直交化し、加算部1107に出力する。加算部1107は、逆直交変換部1106から出力された予測誤差信号と、予測画像保持部1111から出力された予測画像信号とを加算して符号化対象ブロックを再生し、フレームメモリ1108に出力する。符号化モード判定部1102は、画像単位及び小矩形単位において画像内符号化(フレーム内符号化)と画像間符号化(フレーム間符号化)との選択を行う。
本実施形態において、映像符号化器602は、MPEG2、MPEG4、H.264等の標準の映像符号化アルゴリズムによって映像信号の符号化処理を行うように構成されている。なお、本実施形態では詳細な説明は省略する。
量子化パラメータ補正器603は、映像遅延制御部607と、時空間情報偏在度出力部606と、累積動きベクトルマップ生成部608とを備えている。さらに、時間情報偏在度補正値マップ生成部604と、空間情報偏在度補正値マップ生成部605と、量子化パラメータ補正部609とを備えている。
本実施形態では、映像の時空間情報偏在度を考慮して符号化を行うことにより、既存の映像符号化アルゴリズムよりも優れた符号化効率となる。そのためには、以下の手順により行われる。まず、映像信号の時間情報偏在度の補正アルゴリズムにより時間情報偏在度補正値マップを生成し、次に、映像信号の空間情報偏在度の補正アルゴリズムにより空間情報偏在度補正値マップを生成する。そして、前記2つの補正アルゴリズムによる補正値を比較して、映像信号の量子化パラメータ補正値マップを生成する。なお、時間情報偏在度及び空間情報偏在度の詳細については後述する。
時間情報偏在度の補正アルゴリズムを用いる際には、時間情報偏在度補正値マップ生成部604は、映像遅延制御部607から2時刻以上の画像データと、時空間情報偏在度出力部606から時空間情報偏在度の情報とを入力する。さらに、累積動きベクトルマップ生成部608から累積動きベクトルマップを入力する。そして、前記入力した3つのデータを演算することにより時間情報偏在度補正値マップを生成する。
一方、空間情報偏在度の補正アルゴリズムを用いる際には、空間情報偏在度補正値マップ生成部605は、映像遅延制御部607から1時刻の画像データと、時空間情報偏在度出力部606から時空間情報偏在度の情報とを入力する。そして、前記入力した2つのデータを演算することにより空間情報偏在度補正値マップを生成する。
そして、量子化パラメータ補正値マップを生成する際には、量子化パラメータ補正部609は、時間情報偏在度補正値マップ生成部604から時間情報偏在度補正値マップを入力する。さらに、空間情報偏在度補正値マップ生成部605から空間情報偏在度補正値マップを入力する。そして、入力した2つのデータを演算することにより量子化パラメータ補正値マップを生成する。
以下、量子化パラメータ補正器603が備える機能について、機能間で授受されるデータと、各機能とについて説明する。
映像遅延制御部607は、入力される映像信号を所定の時刻にわたって、映像符号化器602に入力されるのを遅延させる。量子化パラメータ補正部609は、映像符号化器602によって設定される量子化パラメータを補正するために、映像符号化器602において映像符号化処理を行う前に量子化パラメータ補正値マップを生成する必要がある。そのため、映像遅延制御部607は、映像符号化器602に映像信号が入力されるのを所定の期間遅延させる制御を行う。
また、量子化パラメータ補正値マップを生成する際には、時間情報偏在度補正値マップが必要であり、時間情報偏在度補正値マップを生成するためには複数の時刻の画像(フレーム)が必要となる。映像遅延制御部607は、映像信号の入力を遅延させる制御を可能とし、その結果、画像が小矩形単位で量子化される際に、量子化パラメータ補正値マップにより量子化パラメータを補正することを可能にする。
映像遅延制御部607が映像符号化器602に映像信号を入力するタイミングの制御は、予め設定した所定の遅延時間を経過したとき、または量子化パラメータ補正部609が量子化パラメータ補正値マップの生成を完了したときに行われる。
予め設定した所定の遅延時間を経過したときのタイミングで制御する場合、量子化パラメータ補正値マップの生成を完了したときに制御するよりも簡素な実装で実現できる。したがって、その分映像符号化装置全体の実装コストを低減することが可能である。しかし、映像符号化装置601が安定して駆動するためには、量子化パラメータ補正部609が量子化パラメータ補正値マップを生成した後に、映像符号化器602による映像符号化処理を開始する必要がある。したがって、量子化パラメータ補正値マップの生成を完了したときに映像信号を入力するタイミングで制御し、量子化パラメータ補正器603と映像符号化器602とが同期するように実装することが望ましい。
量子化パラメータ補正値マップの生成を完了したときに映像信号を入力するように制御する場合は、例えば、量子化パラメータ補正部609が量子化パラメータ補正値マップを生成した後に、映像遅延制御部607へ制御信号を送信する。そして、映像遅延制御部607は制御信号を受信した後に、映像符号化器602へ映像信号を入力することにより実現することができる。
しかし、前述したタイミングの制御は、あくまでも1つの実現例である。量子化パラメータ補正器603が備える量子化パラメータ補正部609以外の他の構成により映像遅延制御部607へ制御信号を発信するようにしてもよい。また、映像符号化器602が備える構成の中の所定の構成により映像遅延制御部607へ制御信号を発信するようにしてもよい。
時空間情報偏在度出力部606は、外部の装置から入力される映像信号の時空間情報偏在度の情報を取得し、時間情報偏在度補正値マップ生成部604に出力するためのものである。
ここで、時空間情報偏在度とは、映像の情報密度の偏りを算出あるいは類推するためのモデルであり、円周魚眼レンズを用いた映像の場合、時空間情報偏在度は、円で表される映像上の領域における、円中心点(中心座標)及び円半径が最小構成となる。さらに、撮像系から撮影角度などの撮像情報を取得することができる場合は、撮像情報をも含むことになる。
なお、円周魚眼レンズ以外の広角レンズ、あるいは標準レンズや望遠レンズを用いた映像の場合、映像領域は方形となることが多く、映像領域の空間的な中心点を円中心点と同様に扱うことができるが、円半径を取得するのは比較的困難である。この場合は、撮像系情報から撮影角度の情報を取得して円半径が算出される。
また、複数の撮像系を用いたカメラシステムの構成や、赤外線、超音波など光学情報以外の信号を送受信できるカメラシステムの構成の場合、被写体とカメラシステムとの距離情報を取得できるようにしてもよい。これにより、時空間情報偏在度として、更に距離情報を追加してもよい。本実施形態では、円周魚眼レンズを用いた映像のみから算出された時空間情報偏在度を外部から取得する。
累積動きベクトルマップ生成部608は、まず、映像遅延制御部607より映像信号を入力し、入力した映像信号のうち、2時刻以上の画像データを用いて動きベクトルマップを作成する。そして、作成した動きベクトルマップを数時刻分積和演算することにより映像の累積動きベクトルマップを生成する。この累積動きベクトルマップは、後述する時間情報偏在度補正値マップ生成部604において、時間情報偏在度補正値マップを作成するために用いられる。累積動きベクトルマップは、数時刻にわたって記録された動きベクトルマップを用いて算出される。
動きベクトルマップは、前時刻の画像を参照して小矩形単位で動きベクトル検出処理を行うことにより作成される。動きベクトルの検出処理については、既存のアルゴリズムを適応することが可能である。なお、本実施形態では、累積動きベクトルマップ生成部608は、映像遅延制御部607から入力された映像信号から動きベクトルマップを作成する。ところが、外部の装置からその映像信号の動きベクトルマップを取得できる場合には、動きベクトルマップを入力するようにしてもよい。
次に、累積動きベクトルマップ生成部608による累積動きベクトルマップの算出アルゴリズムについて図5を参照しながら説明する。図5は、画像におけるマクロブロックの位置を示す図である。
図5において、MV(t,m,n)は、時刻t−1から時刻tにおける画像をm×n個の小矩形に分割し、それぞれの小矩形に対して動きベクトル検出処理を行って作成された、m行n列目の動きベクトルマップである。同様に、MV(t−1,m,n)は、時刻t−2から時刻t−1における画像を用いて作成された動きベクトルマップである。
このMV(t,m,n)やMV(t−1,m,n)など、複数の時刻の動きベクトルマップを用いて以下の数1に示す式により、累積動きベクトルマップCMV(t,m,n)を生成することができる。
ここで、C1及びC2は、動きベクトルマップの各成分に対して時空間的に任意設定できる係数である。本実施形態では説明を簡単にするため、C1=1、C2=0とする。また、Fは関数であり、入力される複数の時刻の動きベクトルマップの(m、n)成分を用いた関数である。関数Fには、有限インパルス応答フィルタや非線形応答フィルタが適応され、具体的には算術平均値算出、加重平均値算出、中央値算出などが挙げられる。このように、累積動きベクトルマップ生成部608は、複数の時刻の動きベクトルマップを用いて累積動きベクトルマップを作成する。
次に、時間情報偏在度補正値マップ生成部604の機能及び処理の詳細について説明する。時間情報偏在度補正値マップ生成部604は、複数の時刻の画像データ、時空間情報偏在度及び累積動きベクトルマップを用いて、1時刻の画像データに対する時間情報偏在度補正値マップを生成する。
魚眼映像に代表される広角映像は、前述したように歪曲収差が大きいため、映像中心領域に比べて、映像周辺領域の時間的な動きが相対的に小さくなる。このため、魚眼映像の全領域に対して同一の時間解像度を割り当てると、映像周辺領域は映像中心領域と比較して、時間解像度が冗長になる。
そこで、映像周辺領域における時間解像度の冗長成分を圧縮して映像符号化効率を向上させるために、相対的に映像中心領域の量子化レベルよりも映像周辺領域の量子化レベルを大きくする補正を行う。時間情報偏在度補正値マップは、このような時間長の補正を行うためのマップである。
このように時間情報偏在度補正値マップを用いて補正された量子化レベルを用いて映像信号を符号化すると、映像周辺領域において時間解像度が低くなるが、映像周辺領域は映像中心領域と比べて相対的に映像の動きが小さくなる。このため、視聴するのに好適な時間解像度を十分に保つことができる。
以下、図6を参照しながら時間情報偏在度補正値マップ生成部604による時間情報偏在度補正値マップを生成するアルゴリズムについて説明する。なお、本実施形態では、円周魚眼レンズを用いた映像信号に対する時間情報偏在度補正値マップを生成するアルゴリズムを説明するが、円周魚眼レンズに限定されるものではない。例えば、他の光学レンズを用いた撮像系でも、映像における収差(歪曲収差を含む)は不可避であることから、全ての光学レンズを用いた撮像系による映像に対しても適応可能である。
図6は、本実施形態の時間情報偏在度補正値マップ生成部604による時間情報偏在度補正値マップを生成する処理手順の一例を示すフローチャートである。
図6のステップS1101において処理を開始すると、ステップS1102において、時間情報偏在度補正値マップを算出するのに必要な画像データが、映像遅延制御部607から取得できるか否かを判定する。この判定の結果、必要な画像データを取得できない場合はそのまま処理を終了する。
一方、ステップS1102の判定の結果、必要な画像データを取得できる場合は、ステップS1103へ進む。なお、ステップS1102における判定の結果は、映像遅延制御部607の画像遅延量に依存する。例えば、4時刻の画像データを遅延する場合、ステップS1102で取得できると判定するのは(4n−1)時刻目であり、それ以外の時刻では取得できないと判定する。
次に、ステップS1103において、時間情報偏在度補正値マップの書き込み領域を初期化する。なお、時間情報偏在度補正値マップは不図示のメモリに格納され、書き込み領域のメモリ量は、映像遅延制御部607の画像遅延量に依存する。例えば、4時刻の画像データを遅延する場合、1時刻あたりの書き込み領域をm×nとすると、4×m×nとなる。
次に、ステップS1104において、時空間情報偏在度出力部606から入力された時空間情報偏在度を用いて、映像信号に対して空間的な領域の分割を行う。本実施形態で得られる時空間情報偏在度には、魚眼レンズを用いた映像における円中心点と円半径との情報が含まれており、これらの情報を用いて円中心点に対して同心円状に領域分割を行う。分割位置の決める際には、光学レンズを用いて映像信号を撮像することから、撮像範囲を楕円でモデル化する。
図7を参照しながら、楕円モデルを用いた分割位置の決定方法について説明する。図7は、時間情報偏在度補正値マップを生成するアルゴリズムにおいて用いる楕円モデルを示す模式図である。
図7において、横軸は映像における円中心からの正規化された距離を示しており、円中心点での距離は0であり、円周の最端部においては距離が100である。一方、縦軸は映像における単位時間あたりの正規化された平均動き量を示している。
図7に示す楕円モデルにおいて、円中心点では最も物理的に近くにある物体を記録しているため、平均動き量が最大の1とする。一方、円周の最端部に向かうに従い、記録される映像信号は撮像系から物理的に遠方の情報となるため、円周上の平均動き量が最小の0とする。図7に示す例では、距離86での平均動き量は約0.5となり、距離96での平均動き量は約0.25となる。
したがって、円周魚眼映像において、円中心点から半径86%以上の領域の時間解像度を1/2に低減し、半径96%以上の領域の時間解像度を1/4に低減することが望ましい。そこで、ステップS1104においては、円中心点から半径の86%未満の領域を円中心領域、円中心点から半径の86%以上の領域を円周辺1/2圧縮領域、円中心点から半径の96%以上の領域を円周辺1/4圧縮領域、と領域分割する。
また、この楕円モデルを用いた領域分割に加えて、累積動きベクトルマップ生成部608より入力される累積動きベクトルマップを用いて、割り当てた領域の補正を行う。これにより、分割された領域の境界では時間解像度が変化するため、円周辺領域において映像の動き量が大きい場合は、時間解像度を低下させないようにする。
円周辺1/2圧縮領域に指定されている小矩形領域Rmnに対して、累積動きベクトルCMVmnが与えられており、累積動きベクトルCMVmnのベクトル成分がx、yで与えられている場合について説明する。x、yから円中心点方向のベクトル成分CMVpmnを求め、CMVpmnが閾値th1を超えていた場合に、小矩形領域Rmnは円周辺1/2圧縮領域から円中心領域に再定義する。
また、円周辺1/4圧縮領域に指定されている小矩形領域Rmnに対しては、累積動きベクトルCMVmnから円中心点方向のベクトル成分CMVpmnを求める。そして、CMVpmnが閾値th2を超えていた場合に、小矩形領域Rmnは円周辺1/4圧縮領域から円周辺1/2圧縮領域に再定義する。また、CMVpmnが閾値th1を超えていた場合に、小矩形領域Rmnは円周辺1/4圧縮領域から円中心領域に再定義する。
次に、図18を参照しながら、円中心点方向のベクトル成分CMVpmnの算出方法を説明する。図18は、円中心点方向のベクトル成分CMVpmnの算出方法の一例を示す図である。
図18において、点Oは円中心点である。点Pは小矩形Sの重心点であり、座標(X1,Y1)に存在し、その累積動きベクトルCMVmnは、(x1、y1)で表されるものとする。小矩形Sは座標(X2,Y2)である点Qを左上端点に持ち、幅w1、高さh1である。点Pの座標(X1,Y1)の算出方法は以下の数2に示す式により示される。
小矩形Sの円中心点方向のベクトルは、線分(点P、点O)上で表される。θ1はX軸と線分(点P、点O)との成す角であり、θ2は線分(点P、点O)と小矩形Sの累積動きベクトルCMVmnとの成す角であり、θ3は小矩形Sの累積動きベクトルとY軸との成す角である。
小矩形Sの円中心点方向のベクトル成分CMVpmnの大きさは、小矩形Sの累積動きベクトルCMVmnのベクトル成分を斜辺とする直角三角形の一辺で表すことが可能であり、以下の数3に示す式により算出される。
図18に示すように、θ1+θ2+θ3=π/2であることから、θ2は、以下の数4に示す式8により表される。
また、tan(θ1)=Y1/X1であり、tan(θ3)=x1/y1であることより、以下の数5に示す式が導かれる。
以上より、円中心点方向のベクトル成分CMVpmnは、以下の数6に示す式により算出される。
このように数2に示した式からも明らかなように、円中心点方向のベクトル成分CMVpmnは、累積動きベクトルCMVmnと小矩形Sの重心点とにより一意に算出できる。
なお、本実施形態では3つの領域に分割したが、円中心領域と円周辺1/2圧縮領域との2つの領域に分割してもよく、さらに円周辺1/8圧縮領域を加えた4つの領域に分割しても良い。また、図7においては、距離86と距離96とを境界にして領域分割を行ったが、どの距離においても分割してもよい。さらに、楕円モデル以外のモデルを用いて領域分割を行ってもよい。
次に、ステップS1105において、映像遅延制御部607から数時刻に亘る同一空間座標に存在する小矩形領域の画像を取得する。そして、ステップS1106において、分割した3つの領域のうち、所定の小矩形領域に対して複数時刻の小矩形画像を用いた積和演算を行い、時間情報偏在度補正値マップの書き込み領域に演算結果を書き込む。本実施形態では、円周辺1/2圧縮領域及び円周辺1/4圧縮領域において積和演算を行い、円中心領域においては積和演算を行わないようにする。
まず、円周辺1/4圧縮領域における積和演算方法について説明する。ステップS1105で取得した時刻t、t+1、t+2、t+3の小矩形画像領域に対する時間情報偏在度補正値IPmnは、以下の数7に示す式により求められる。
次に、求めた時間情報偏在度補正値IPmnを時間情報偏在度補正値マップの所定の領域に書き込む。ここで、例えば、複数時刻における小矩形画像の配分比率が1、0、0、0と設定されているものとする。なお、この配分比率はユーザの操作により変更可能な比率である。この場合、数7に示す式において、時刻t、t+1、t+2、t+3における判定結果は、同時に複数時刻における小矩形画像の配分比率でもある。したがって、映像遅延制御部607に遅延されている時刻t+1、t+2、t+3の小矩形領域の画像を、時刻tの小矩形領域の画像に置換する。
また、別の例として、配分比率がそれぞれ、0.25、0.25、0.25、0.25であった場合は、映像遅延制御部607に遅延されている時刻t、t+1、t+2、t+3の小矩形領域の画像に対して4時刻の小矩形領域の画像の平均値を書き込む。
以上のようにIPmnに基づいて複数時刻における小矩形画像領域を同一値に置換して、画像間の差分を0とすることにより、差分画像の情報量を減らし、符号化効率が向上させることができる。なお、円周辺1/2圧縮領域における積和演算の場合は、時刻t、t+1の2時刻の小矩形画像領域において、時間情報偏在度補正値IPmnに基づいて積和演算を行う。また、円周辺1/8圧縮領域では、時刻t、t+1、t+2、t+3、t+4、t+5、t+6、t+7の8時刻の小矩形画像領域において、時間情報偏在度補正値IPmnに基づいて積和演算を行う。
さらに、数7に示す積和演算式は非線形応答フィルタの一種であるが、有限インパルス応答フィルタや非線形応答フィルタを適応することも可能である。
次に、ステップS1107において、すべての小矩形領域に対して処理を行ったか否かを判断する。この判断の結果、全ての小矩形領域に対して処理を行った場合は、ステップS1108に進み、そのまま処理を終了する。一方、ステップS1107の判断の結果、処理を行っていない小矩形領域がまだある場合は、ステップS1104に戻る。
以上のような手順により、時間情報偏在度補正値マップ生成部604は、時間情報偏在度補正値マップを生成し、量子化パラメータ補正部609に出力する。
次に、空間情報偏在度補正値マップ生成部605の機能及び処理の詳細について説明する。空間情報偏在度補正値マップ生成部605は、複数の時刻の画像、及び時空間情報偏在度を用いて1時刻の画像に対する空間情報偏在度補正値マップを生成する。
魚眼映像に代表される広角映像は、前述したように歪曲収差が大きいため、映像周辺領域に比べて、映像中心領域の空間解像度が相対的に大きくなる。そこで、映像中心領域に割り当てる符号量を減らして符号化効率を向上させるために、映像中心領域の量子化レベルを大きくする補正を行う。空間情報偏在度補正値マップは、このような補正を行うためのマップである。
このように空間情報偏在度補正値マップを用いて補正された量子化レベルを用いて映像信号を符号化すると、映像中心領域においては空間解像度が低くなるが、映像中心領域は映像周辺領域と比べて相対的に映像の空間解像度が大きい状態が維持される。このため、視聴するのに好適な空間解像度を十分に保つことができる。
以下、図8を参照しながら空間情報偏在度補正値マップ生成部605による空間情報偏在度補正値マップを生成するアルゴリズムについて説明する。図8は、本実施形態の空間情報偏在度補正値マップ生成部605による空間情報偏在度補正値マップを生成する処理手順の一例を示すフローチャートである。
まず、図8のステップS1301において処理を開始すると、ステップS1302において、空間情報偏在度補正値マップの書き込み領域を初期化する。なお、空間情報偏在度補正値マップは不図示のメモリに格納され、書込み領域のメモリ量は、映像遅延制御部607の画像遅延量に依存する。例えば、4時刻の画像データを遅延する場合、1時刻あたりの書き込み領域をm×nとすると、4×m×nとなる。
次に、ステップS1303において、対象となる小矩形領域を中心に、時空間情報偏在度を用いた空間領域別適応型ローパスフィルタのフィルタ面積を決定する。
図9を参照しながら、時空間情報偏在度を用いた空間領域別適応型ローパスフィルタについて説明する。図9は、空間情報偏在度補正値マップ生成部605において空間情報偏在度補正値マップを生成する際の空間領域別適応型ローパスフィルタのフィルタ面積の適用例を示す模式図である。
円周魚眼映像は、円中心点において最も空間解像度が高く、円周端点において最も空間解像度が低い。そのため、時空間情報偏在度から円中心点と円半径との情報を取得し、円中心点においてローパスフィルタのフィルタ面積を最大に設定し、円周端点においてローパスフィルタのフィルタ面積を最小に設定する。
また、空間解像度は円周端点に向かうほど、半径方向を短半径とする楕円状に変形する。このため、ローパスフィルタのフィルタ形状は、半径方向を短半径とする楕円であり、円中心方向から円周方向に向かうほど離心率eを増大させていく。本実施形態では、円中心方向から円周方向に向かうほど離心率eを0から1に近づけるように設定するが、0から0以上1未満の数値に変化するのであれば、どのように設定してもよい。
ここで、離心率eは楕円の形状を表すパラメータで、楕円の長半径をa、短半径をbとしたとき、離心率eは以下の数8に示す式で表される。真円のときはa=bで離心率eは0となり、扁平した楕円になるほど離心率eは1に収束する。
このように空間領域別適応型ローパスフィルタを適用することにより、歪曲収差による空間情報偏在度を低減することができる。
次に、ステップS1304において、ステップS1303で決定されたローパスフィルタのフィルタ面積に応じて小矩形画像領域にローパスフィルタをかけ、画像処理により空間解像度を低下させた小矩形画像を生成する。そして、生成した空間解像度が低下した小矩形画像と元の小矩形画像とを比較して得られるパラメータに対してスコアリングを行う。スコアリングにて算出された値は空間情報偏在度補正値であり、この値を空間情報偏在度補正値マップの書き込み領域に書き込む。
スコアリングの方法については、例えば、空間解像度が低下した小矩形画像と元の小矩形画像との絶対差分の総和を、複数のレベルを持つルックアップテーブルによりスコアリングする方法などがある。
次に、ステップS1305において、すべての小矩形領域に対して処理が終了したか否かを判断する。この判断の結果、小矩形領域に対して処理が終了していない小矩形領域がある場合は、ステップS1303に戻る。一方、ステップS1305の判断の結果、すべての小矩形領域に対して処理が終了した場合は、ステップS1306において、入力されたすべての画像(フレーム)に対して処理が終了したか否かを判断する。この判断の結果、すべての画像に対して処理が終了した場合は、ステップS1307に進み、そのまま処理を終了する。一方、ステップS1306の判断の結果、処理を行っていない画像がある場合は、ステップS1303に戻る。
なお、空間情報偏在度補正値マップ生成部605による空間情報偏在度補正値マップの生成アルゴリズムは、時空間情報偏在度を用いて動的に空間情報偏在度補正値マップを算出する方法である。ところが、空間情報偏在度補正値マップは時空間情報偏在度を用いて一意に算出可能なものである。そこで、不図示のメモリに複数の空間情報偏在度補正値マップを予め記憶させておき、入力される時空間情報偏在度に応じて、メモリから所定の空間情報偏在度補正値マップを読み出してもよい。
次に、量子化パラメータ補正部609の機能及び処理の詳細について説明する。量子化パラメータ補正部609は、以下に示すように大きく分けて2つの処理を行う。1つは、時間情報偏在度補正値マップと空間情報偏在度補正値マップとを用いて1時刻分(1フレーム分)の画像データに対する量子化パラメータ補正値マップを生成する。もう1つは、作成した量子化パラメータ補正値マップを用いて、映像符号化器602が小矩形画像を量子化する際に使用される量子化パラメータを補正する。
まず、量子化パラメータ補正値マップを生成する処理について、図10を参照しながら説明する。図10は、本実施形態の量子化パラメータ補正部609による量子化パラメータ補正値マップを生成する処理手順の一例を示すフローチャートである。
まず、図10のステップS1501において処理を開始すると、ステップS1502において、量子化パラメータ補正値マップの書き込み領域を初期化する。次に、ステップS1503において、時間情報偏在度補正値マップ生成部604で生成された時間情報偏在度補正値マップのうち、当該時刻の時間情報偏在度補正値マップを取得する。
次に、ステップS1504において、空間情報偏在度補正値マップ生成部605で生成された空間情報偏在度補正値マップのうち、当該時刻の空間情報偏在度補正値マップを取得する。量子化パラメータ補正値マップは、時間情報偏在度補正値マップのみを用いて作成することが可能であり、また、空間情報偏在度補正値マップも用いて作成することが可能である。そのため、ステップS1504では、空間情報偏在度補正値マップが取得できない場合がある。そこで、ステップS1504では、さらに空間情報偏在度補正値マップ取得状態を設定する。空間情報偏在度補正値マップ取得状態の設定では、取得できた場合には真と設定し、取得できなかった場合には偽と設定する。
次に、ステップS1505において、ステップS1503で取得した時間情報偏在度補正値マップから、対象となる小矩形領域に対する時間情報偏在度補正値を取得する。そして、ステップS1506において、ステップS1504で取得した空間情報偏在度補正値マップから、対象となる小矩形領域に対する空間情報偏在度補正値を取得する。但し、空間情報偏在度補正値マップ取得状態が偽の場合は取得できないため、そのまま次のステップS1507に進む。
次に、ステップS1507において、円中心からの1つの同心円状に位置するすべての小矩形領域に対して補正値を取得したか否かを判断する。この判断の結果、補正値を取得していない小矩形領域がある場合は、ステップS1505に戻る。一方、ステップS1507の判断の結果、円中心からの同心円状に位置するすべての小矩形領域に対して補正値を取得した場合は、ステップS1508において、ステップS1504で設定した空間情報偏在度補正値マップ取得状態を判定する。この判定の結果、空間情報偏在度補正値マップ取得状態が真の場合は、ステップS1509に進む。一方、ステップS1508の判定の結果、空間情報偏在度補正値マップ取得状態が偽の場合は、ステップS1510に進む。
次に、ステップS1509において、時間情報偏在度補正値と空間情報偏在度補正値とを用いて量子化パラメータ補正値を算出する。ここで、時間情報偏在度補正値マップと空間情報偏在度補正値マップとについて比較する。
空間情報偏在度補正値マップにおいて、円周魚眼映像の円中心点から同心円周上に位置する小矩形群では同一の空間情報偏在度補正値が記録されており、時空間情報偏在度のみに依存している。一方、時間情報偏在度補正値マップにおいては、累積動きベクトルによる領域補正がなされた上で作成されているため、時空間情報偏在度のみに依存していない。このことから、同心円周上に位置する小矩形群において、時空間トータルでの補正量が不均一である可能性がある。本実施形態では、同心円周上に位置する小矩形群において補正量を均一に近づける。
例えば、円周辺1/4圧縮領域において、円中心からの同心円状に位置する4つの小矩形領域が有るものとする。そして、4つの小矩形領域の時間情報偏在度補正値をそれぞれ、TIU1、TIU2、TIU3、TIU4とする。さらに、累積動きベクトル値が、TIU1及びTIU2ではCMVpmn≦th2であり、TIU3ではCMVpmn>th2であり、TIU4ではCMVpmn>th1(th1>th2)であるものとする。この場合、TIU1、TIU2、TIU3、及びTIU4の間には、TIU1=TIU2<TIU3<TIU4の関係が成り立つ。
また、空間情報偏在度補正値をそれぞれ、TIU1に対応してSIU1、TIU2に対応してSIU2、TIU3に対応してSIU3、TIU4に対応してSIU4とする。量子化パラメータ補正値は、以下の数9に示す式により、対応する時間情報偏在度補正値及び空間情報偏在度補正値を用いて算出される。
このとき、C1=C2≧C3≧C4となるように係数C1,C2,C3,C4を設定し、量子化パラメータ補正値QPI1、QPI2、QPI3、QPI4がほぼ等しい値に収束するようにする。このような処理を行うことにより、円周魚眼映像の時空間解像度を低減させる程度が均一となり、時空間情報偏在度を好適に低減ないしなくすことができる量子化パラメータ補正値マップを生成できる。
一方、ステップS1510においては、時間情報偏在度補正値のみを用いて量子化パラメータ補正値を作成する。この場合、各小矩形領域における量子化パラメータ補正値は、時間情報偏在度補正値と実質的に等価である。なお、ある小矩形領域に対して時空間的に隣接する小矩形領域の時間情報偏在度を用いて、時空間的にフィルタリングをかけて量子化パラメータ補正値を求めてもよい。
次に、ステップS1511において、すべての小矩形領域に対して処理が終了したか否かを判断する。この判断の結果、すべての小矩形領域に対して処理が終了した場合は、そのまま処理を終了する。一方、ステップS1511の判断の結果、まだ処理を行っていない領域がある場合は、ステップS1505に戻る。
次に、映像符号化器602が小矩形画像を量子化する際に使用される量子化パラメータを補正する処理について説明する。所定の小矩形を量子化する前に、量子化パラメータ補正部609は、量子化部1104から量子化パラメータを入力する。そして、量子化パラメータ補正部609は、作成した量子化パラメータ補正値マップから当該小矩形に該当する量子化パラメータ補正値を参照し量子化パラメータを補正する。量子化部104はこの補正された量子化パラメータを受け取り、当該小矩形を量子化する。
なお、本実施形態においては、以上の手順により量子化パラメータ補正部609は量子化パラメータを補正したが、他の方法によって量子化パラメータを補正してもよい。
以上のように本実施形態によれば、映像信号の情報密度の偏りを示す時空間情報偏在度に基づいて、量子化部1104による量子化の際に設定される量子化パラメータを補正するようにした。これにより、歪曲収差に起因する情報密度の偏りを低減することができるので、広角レンズで撮像された映像における符号化時の符号化効率を向上させることができる。
(第2の実施形態)
以下、本発明の第2の実施形態について添付図面を参照しながら説明する。
図11は、本実施形態における映像符号化装置の構成例を示すブロック図である。なお、図1に示した第1の実施形態における映像符号化装置601と重複する構成については説明を省略する。
本実施形態では、第1の実施形態における時空間情報偏在度出力部606の代わりに時空間情報偏在度算出部1606を設けている。時空間情報偏在度算出部1606は、映像信号を入力して、映像信号から時空間情報偏在度を算出するためのものである。
また、本実施形態においては、映像遅延制御部1607は、時空間情報偏在度算出部1606より時間情報偏在度の情報を入力し、入力した時間情報偏在度の情報を用いて映像符号化器1602に対して映像信号を遅延させるか否かを判断する。
例えば、入力された映像信号が、円周魚眼レンズを用いて撮影されたものである場合には、前述したように映像信号が映像符号化器1602に入力されるのを遅延する。一方、標準レンズを用いて撮影されたものである場合には、歪曲収差が小さいものもある。したがって、算出した時間情報偏在度の情報を参照し、入力された映像信号の種類に基づいて映像信号を遅延させるか否かを判断する。
次に、時空間情報偏在度算出部1606において時空間情報偏在度を算出する手順について説明する。図2は、異なる円周魚眼レンズを用いた撮像系において、結像のされ方の違いを示す模式図である。
図2(a)に示す円周魚眼映像は、円形で表される像703が撮像素子701の面積内に収まるように結像されている。一方、図2(b)に示す円周魚眼映像は、撮像素子702の面積内に円形で表される像704が収まらず、より高い空間解像度で結像されている。なお、図2(a)に示す撮像素子701及び図2(b)に示す撮像素子702は、例えば、35mmフルサイズのCCDイメージセンサである。このように撮像系の構成により、撮像素子に結像される映像は異なる。
図3は、本実施形態において、時空間情報偏在度算出部1606による円周魚眼映像における時空間情報偏在度の算出処理手順の一例を示すフローチャートである。
図3のステップS801において処理を開始すると、ステップS802において、映像信号の中の入力された画像データのうち、1本の水平ラインを走査して、ライン上にある画素データの構成を調べる。
円周魚眼映像の場合、結像されない撮像素子の領域があり、その領域に存在する画素データは一律に例えば0の一定の信号レベルを示す。ステップS802においては、そのような一定の信号レベルを示す画素によって構成される線分と結像領域内のばらつきのある信号レベルを示す画素の線分とを算出する。
図4は、円周魚眼映像における時空間情報偏在度の解析処理アルゴリズムを示す模式図である。図4を参照しながらステップS802の処理について説明する。なお、図4に示す例では、画面を1/4に分割して結像が円周角90°の円弧として表されているが、同様の処理は円周角360°の円に対しても適応可能である。
ステップS802において、例えば、座標(w0、h1)から座標(w2、h1)で表される水平ラインを走査の対象のラインとする。この場合、円弧の領域外である座標(w0、h1)から座標(w1、h1)までが一定の信号レベルを示す画素によって構成される線分となる。また、座標(w1、h1)から座標(w2、h1)までが結像領域内にあるばらつきのある信号レベルを示す画素の線分となる。同様に、座標(w0、h2)から座標(w4、h2)で表される水平ラインが走査された場合も、座標(w3、h2)を境に2つの線分に分けられる。
次に、ステップS803において、所定回数分ラインの走査を行ったか否かを判断する。この判断の結果、所定回数分ラインの走査を行っていない場合は、ステップS802に戻る。一方、ステップS803の判断の結果、所定回数分ラインの走査を行った場合は、ステップS804に進む。
ステップS802では、入力される画像のうち、1本の水平ライン単位に処理を行うが、ループ回数は最低2回であり、回数を増やすほど時空間情報偏在度を精度よく解析できる。したがって、ループ回数は2回以上でありかつ画像の垂直解像度以下の範囲で任意に設定可能ある。なお、ループ回数を増やすほど時空間情報偏在度を精度よく解析可能であるが、一方で処理コストが増大する。
次に、ステップS804において、ステップS802で走査された水平ラインを用いて、円形の結像領域における円の半径を算出する。手順としては、水平ライン上にある結像領域内にあるばらつきのある信号レベルを示す画素の線分の一端から、線分に対して垂直な線分を作成し、2本の線分と、2本の線分のもう一端同士を結ぶ線分とによって直角三角形を形成する。同じ処理を別の水平ラインにも適用し、得られた2つの直角三角形の斜辺を比較することにより、円の半径を算出する。
図4を参照しながらステップS804の処理について説明する。図4において、座標(w1、h1)と座標(w2、h1)とを結ぶ線分に対して、座標(w2、h1)から垂直に座標(w2、h3)までの線分を引く。これにより、座標(w1、h1)、座標(w2、h1)及び座標(w2、h3)を頂点とする直角三角形が得られる。同様に、座標(w3、h2)、座標(w4、h2)および座標(w4、h4)を頂点とする直角三角形が得られる。この2つの直角三角形の斜辺から以下の数10に示す式を用いてth01を算出する。
数10に示す式において、誤差がth01未満の値を示した場合は、座標(w2、h3)もしくは、座標(w4、h4)を円中心点とし、AもしくはBを円半径とする。なお、誤差がth01以上であった場合は、再度座標を調整して誤差がth01よりも小さくなるように再計算を行う。
次に、ステップS805において、所定回数、円半径を算出したか否かを判断する。この判断の結果、所定回数、円半径を算出していない場合は、ステップS804に戻る。一方、ステップS805の判断の結果、所定回数、円半径を算出した場合は、ステップS806に進む。ステップS804では、ステップS802で走査された水平ラインを2つ用いて円半径を算出している。したがってループ回数は、ステップS802及びステップS804のループ回数に依存し、最低1回はループする。
次に、ステップS806において、ステップS804で算出された円中心点及び円半径を用いて、円周魚眼映像の時空間情報偏在度を算出する。そして、ステップS806に進み、処理を終了する。ステップS804では最低1回はループして算出されているため、算出した円中心点及び円半径は複数存在し得る。そこで、ステップS806では、時空間情報偏在度として適用する円中心点及び円半径を決定する。
決定手順としては、ステップS804で算出した円中心点及び円半径の算術平均値を求める。また、算術平均値の代わりに中央値を算出してもよく、母集団における異常値を取り除いた上で、算術平均値もしくは中央値を算出してもよい。また、これ以外の方法を用いて算出してもよく一意に時空間情報偏在度を決定する。
以上のように本実施形態によれば、円周魚眼映像における時空間情報偏在度を算出することができる。これにより、算出した時空間情報偏在度に基づいて、量子化部1104による量子化の際に設定される量子化パラメータを補正することができる。
(第3の実施形態)
以下、本発明の第3の実施形態について添付図面を参照しながら説明する。
図12は、本実施形態における映像符号化装置1701の構成例を示すブロック図である。なお、図11で示した第2の実施形態の映像符号化装置1601と重複する構成については説明を省略する。
本実施形態においては、映像符号化器1702が具有する動きベクトル検出部1710を用いて累積動きベクトルマップを算出する。動きベクトル検出部1710において生成された動きベクトルマップを利用することにより、本実施形態における量子化パラメータ補正部1703は、第2の実施形態における量子化パラメータ補正部1603よりも簡便かつ安価な構成で実現することが可能となる。
累積動きベクトルマップ生成部1708は、第2の実施形態における累積動きベクトルマップ生成部1608とは異なり、動きベクトルマップを算出する機能はない。したがって、映像符号化器1702における動きベクトル検出部1710より動きベクトルマップを入力する。
また、本実施形態の映像遅延制御部1707は、フレームが入力されるごとにカウントアップする内部カウンタを保持しており、カウントが一定値に達したときに、第1の実施形態におけるアルゴリズムを実行するように制御する。
以上のような手順により、本実施形態では、累積動きベクトルマップを算出するために用いる動きベクトルマップの時間軸が所定時刻ずれることになる。したがって、時間情報偏在度補正値マップの精度が低下する可能性があるが、数1に示す式におけるC1及びC2を適切に設定し、過去の動きベクトルほど重みを下げることによりずれの影響を小さくする。
以上のように本実施形態によれば、動きベクトルマップを共有することができるので、累積動きベクトルマップ生成部1708の処理の負荷を低減することができる。
(本発明に係る他の実施形態)
前述した本発明の実施形態における映像符号化装置を構成する各手段、並びに映像符号化方法の各ステップは、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記憶したコンピュータ読み取り可能な記憶媒体は本発明に含まれる。
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図3、6、8、10に示すフローチャートに対応したプログラム)を、システムまたは装置に直接、または遠隔から供給する場合も含む。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。