JP2015041796A - 画像処理方法、画像処理装置、画像処理プログラム、およびデータ構造 - Google Patents
画像処理方法、画像処理装置、画像処理プログラム、およびデータ構造 Download PDFInfo
- Publication number
- JP2015041796A JP2015041796A JP2013170522A JP2013170522A JP2015041796A JP 2015041796 A JP2015041796 A JP 2015041796A JP 2013170522 A JP2013170522 A JP 2013170522A JP 2013170522 A JP2013170522 A JP 2013170522A JP 2015041796 A JP2015041796 A JP 2015041796A
- Authority
- JP
- Japan
- Prior art keywords
- area
- frame
- image
- video
- frames
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Image Processing (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
Abstract
【課題】生成される距離画像の時間領域における安定性を高める技術が要求されている。
【解決手段】多視点映像を再構成するための距離画像を生成する画像処理方法は、被写体を撮像して得られる映像フレーム列について、映像フレーム同士の比較、または、映像フレームと他の基準フレームとの比較によって、映像フレーム間の差分画像を算出した上で、隣接する映像フレーム間で内容が変化しているエリアを第1の精度で検出して第1のエリアとして決定するステップと、第1のエリアのうち、隣接するフレーム間で内容が変化しているエリアを第1の精度より高い第2の精度で検出して第2のエリアとして決定するステップと、フレーム内の第2のエリアを除く第3のエリアについて、他のフレームと共通の距離画像を適用するとともに、第2のエリアについて、対応する映像フレームから生成された距離画像を適用することで、各フレームの距離画像を生成するステップとを含む。
【選択図】図8
【解決手段】多視点映像を再構成するための距離画像を生成する画像処理方法は、被写体を撮像して得られる映像フレーム列について、映像フレーム同士の比較、または、映像フレームと他の基準フレームとの比較によって、映像フレーム間の差分画像を算出した上で、隣接する映像フレーム間で内容が変化しているエリアを第1の精度で検出して第1のエリアとして決定するステップと、第1のエリアのうち、隣接するフレーム間で内容が変化しているエリアを第1の精度より高い第2の精度で検出して第2のエリアとして決定するステップと、フレーム内の第2のエリアを除く第3のエリアについて、他のフレームと共通の距離画像を適用するとともに、第2のエリアについて、対応する映像フレームから生成された距離画像を適用することで、各フレームの距離画像を生成するステップとを含む。
【選択図】図8
Description
本発明は、多視点映像を処理する画像処理方法、画像処理装置および画像処理プログラム、ならびに多視点映像を再構成するための距離画像に適したデータ構造に関する。
現在、超臨場感コミュニケーション(Ultra-Realistic Communications)を実現する各種の技術について研究が進められている。このような技術の一つとして、多視点画像(multi-view images)を用いて高精細な立体映像を提供する三次元映像技術がある。このような立体映像は、非常に多数の視点(例えば、200視点)から被写体を撮像して得られる視差画像によって実現される。多視点映像は、一般的には、輝度画像および距離情報(以下、「距離画像」または「Depthマップ」とも称す。)で構成される。
距離画像は、複数の視点から被写体をそれぞれ撮像して得られた情報から推定されることが一般的である。そのため、画像間のステレオマッチング精度などに起因して誤差を生じ得る。このような誤差を含む距離画像を用いて動画像を再構成すると、被写体の時間的に変化していない部分であっても、距離画像が時間的に変動することになり、再現性が低下する。
このような距離画像の時間軸方向で生じるゆらぎを安定化するための技術がいくつか提案されている。
非特許文献1および非特許文献2は、距離画像の安定化に係る一つのアプローチを開示する。具体的には、非特許文献1は、ステレオマッチングの前にノイズを除去することで、距離画像のノイズを各フレームで個別に除去するというアプローチを開示する。非特許文献2は、前フレームの推定された距離画像を現フレームの距離画像の推定のための初期値として連係させることで、距離画像のノイズを各フレームで個別に除去するというアプローチを開示する。より具体的には、非特許文献2は、DERS(Depth Estimation Reference Software)において採用されているのと同様の推定方法を用いている。
一方、非特許文献3は、距離画像の安定化に係る別のアプローチを開示する。具体的には、非特許文献3は、映像は静的エリア(static areas)の画像を有しているという仮定の下、先に、当該静的エリアについての距離画像を一旦生成するアプローチを開示する。後続のフレームにおけるフォワグランド(foreground)およびバックグランド(background)の距離情報を組み合わせることで、現フレームの距離画像が生成される。
K. Yamamoto, M. Kitahara, H. Kimata, T. Yendo, T. Fujii, M. Tanimoto, S. Shimizu, K. Kamikura, Y. Yashima, "Multiview Video Coding Using View Interpolation and Color Correction", IEEE Trans. CSVT, 17(11), pp. 1436-1449, Nov. 2007.
"Description of Exploration Experiments in 3D Video Coding", MPEG 2008/W10173, Busan, Korea, October 2008.
K. Suzuki, N. Fukushima, T. Yendo, M. Panahpour Tehrani, T. Fujii, and M. Tanimoto, "Free-viewpoint Image Generation using Moving Object Detection", Proc. of IWAIT 2011, Jan 2011
非特許文献1および2に開示されるアプローチは、時間領域(time domain)において距離画像をいくらかは安定化するものの、フレーム毎に生成される距離画像の間では、時間領域において不連続になる部分が存在し、これによって、合成された仮想的な像(synthesized virtual view)の品質が劣化するとともに、距離画像についての圧縮効率が低下する。
また、非特許文献3では、静的エリアを検出するためにどのような方法が適しているのかについて検討されておらず、かつ、フォワグランドオブジェクトの検出についても追究されることなく、コンピューターによって生成されたシーケンスについての実験結果を示すにすぎない。
そのため、生成される距離画像の時間領域における安定性を高める技術が要求されている。
本発明のある局面に従えば、多視点映像を再構成するための距離画像を生成する画像処理方法が提供される。画像処理方法は、被写体を撮像して得られる映像フレーム列について、映像フレーム同士の比較、または、映像フレームと他の基準フレームとの比較によって、映像フレーム間の差分画像を算出するとともに、隣接する映像フレーム間で内容が変化しているエリアを第1の精度で検出して第1のエリアとして決定するステップと、第1のエリアのうち、隣接するフレーム間で内容が変化しているエリアを第1の精度より高い第2の精度で検出して第2のエリアとして決定するステップと、フレーム内の第2のエリアを除く第3のエリアについて、他のフレームと共通の距離画像を適用するとともに、第2のエリアについて、対応する映像フレームから生成された距離画像を適用することで、各フレームの距離画像を生成するステップとを含む。
好ましくは、第1のエリアとして決定するステップは、算出された差分画像に対してダウンサンプリングするステップと、ダウンサンプリング後の画像に対して複数種類のフィルタを適用するステップと、複数種類のフィルタを適用後の画像に対してアップサンプリングするステップと、アップサンプリング後の画像に対してしきい値処理を実行するステップとをさらに含む。また、第2のエリアとして決定するステップは、第1のエリアに対応する画像に対して複数種類のフィルタを適用するステップを含む。
好ましくは、画像処理方法は、映像フレーム列を複数のフレームからなるフレームグループに分割するステップと、映像フレーム列に含まれる複数の映像フレームから基準フレームを生成するステップをさらに含む。設定するステップは、各フレームグループの先頭フレームを基準フレームとして設定するステップを含む。
好ましくは、距離画像を生成するステップは、基準フレームに対応する距離画像を、他のフレームの第3のエリアに適用するステップを含む。
好ましくは、画像処理方法は、映像フレーム列に含まれる特定のフレームを基準フレームとして設定するステップをさらに含む。
本発明の別の局面に従えば、多視点映像を再構成するための距離画像を生成する画像処理装置が提供される。画像処理装置は、被写体を撮像して得られる映像フレーム列について、映像フレーム同士の比較、または、映像フレームと他の基準フレームとの比較によって、映像フレーム間の差分画像を算出するとともに、隣接する映像フレーム間で内容が変化しているエリアを第1の精度で検出して第1のエリアとして決定するための手段と、第1のエリアのうち、隣接するフレーム間で内容が変化しているエリアを第1の精度より高い第2の精度で検出して第2のエリアとして決定するための手段と、フレーム内の第2のエリアを除く第3のエリアについて、他のフレームと共通の距離画像を適用するとともに、第2のエリアについて、対応する映像フレームから生成された距離画像を適用することで、各フレームの距離画像を生成するための手段とを含む。
本発明のさらに別の局面に従えば、多視点映像を再構成するための距離画像を生成するための画像処理プログラムが提供される。当該画像処理プログラムはコンピューターに、被写体を撮像して得られる映像フレーム列について、映像フレーム同士の比較、または、映像フレームと他の基準フレームとの比較によって、映像フレーム間の差分画像を算出するとともに、隣接する映像フレーム間で内容が変化しているエリアを第1の精度で検出して第1のエリアとして決定するステップと、第1のエリアのうち、隣接するフレーム間で内容が変化しているエリアを第1の精度より高い第2の精度で検出して第2のエリアとして決定するステップと、フレーム内の第2のエリアを除く第3のエリアについて、他のフレームと共通の距離画像を適用するとともに、第2のエリアについて、対応する映像フレームから生成された距離画像を適用することで、各フレームの距離画像を生成するステップとを実行させる。
本発明のさらに別の局面に従えば、多視点映像を再構成するための距離画像のデータ構造が提供される。ここで、距離画像は、他のフレームと共通の距離画像が用いられる第1のエリアと、対応する映像フレームから生成された距離画像が用いられる第2のエリアとが組み合わせて定義される。第2のエリアは、被写体を撮像して得られる映像フレーム列について、映像フレーム同士の比較、または、映像フレームと他の基準フレームとの比較によって、映像フレーム間の差分画像を算出した上で、隣接する映像フレーム間で内容が変化していると検出されたエリアに相当し、第1のエリアは、第2のエリアを除く残りのエリアに相当する。
本発明によれば、生成される距離画像の時間領域における安定性を高めることができる。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
[A.応用例]
まず、本実施の形態に従う画像処理装置などについての理解を容易化するために、典型的な応用例について説明する。本実施の形態に従う画像処理装置の応用先としては、以下に示す構成に限定されるものではなく、任意の構成に応用できる。また、画像処理方法、その画像処理方法を実現するためのプログラム、およびそのプログラムを格納する記憶媒体などについても、本願発明の技術的範囲に含まれる。
まず、本実施の形態に従う画像処理装置などについての理解を容易化するために、典型的な応用例について説明する。本実施の形態に従う画像処理装置の応用先としては、以下に示す構成に限定されるものではなく、任意の構成に応用できる。また、画像処理方法、その画像処理方法を実現するためのプログラム、およびそのプログラムを格納する記憶媒体などについても、本願発明の技術的範囲に含まれる。
図1は、本実施の形態に従う立体映像再生システム1を示す図である。図1を参照して、立体映像再生システム1では、複数のカメラ10からなるカメラアレイを用いて被写体2を撮像することで多視点映像が生成される。この多視点映像は、送信機として機能する情報処理装置100においてエンコーディングされた上で伝送される。そして、受信機として機能する情報処理装置200においてエンコーディングによって生成されたデータがデコーディングされて、立体表示装置300でその被写体2が再現される。すなわち、立体表示装置300は、被写体2の立体映像を再構成する。なお、送信機から受信機へのデータ伝送については、有線および無線を問わず任意の媒体を用いることができる。
送信機として機能する情報処理装置100は、入力画像に対して前処理を実行するプリプロセッサー110と、エンコーディングを実行するエンコーダー120とを含む。エンコーダー120は、データフォーマット変換やデータ圧縮の処理を実行する。
一方、受信機として機能する情報処理装置200は、受信データをデコーディングするデコーダー210と、後処理を実行するポストプロセッサー220とを含む。デコーダー210は、データフォーマット逆変換やデータ復元の処理を実行する。
立体表示装置300は、主として拡散フィルム312および集光レンズ314で構成される表示スクリーン310と、表示スクリーン310に多視点映像を投影するプロジェクターアレイ302とを含む。プロジェクターアレイ302を構成する各プロジェクターは、情報処理装置200から出力される多視点映像の対応する視点の像を表示スクリーン310へ投影する。
立体映像再生システム1によれば、表示スクリーン310の前にいる観察者には被写体2の再生立体像が提供される。このとき、表示スクリーン310と観察者との相対的な位置に応じて、観察者の視野に入る視点の画像が変化するようになっており、観察者は、あたかも被写体2の前にいるような体験が得られる。
立体映像再生システム1は、一般用途としては、映画館やアミューズメント施設などで利用され、産業用途としては、遠隔医療システム、工業デザイン設計システム、パブリックビューイング等の電子広告システムとして利用されることが期待されている。
[B.概要]
次に、本実施の形態に従う画像処理アルゴリズムの本質的な処理について概説する。
次に、本実施の形態に従う画像処理アルゴリズムの本質的な処理について概説する。
図2は、本実施の形態に従う輝度画像および距離画像の生成処理の一例を説明するための図である。図2を参照して、複数の視点から被写体を撮像することで輝度画像V1,…,Vn−1,Vn,Vn+1,…が取得されるとする。以下の説明においては、例えば、輝度画像V1の添え字(カッコ無し)である「1」は、視点の位置を示すものとする。本実施の形態においては、動画像、つまり時間領域において連続する視点別のフレーム列(シーケンス)からなる多視点映像を対象とするので、時間領域の変数を導入する。具体的には、時刻Tnにおける輝度画像をV1(Tn),…,Vn−1(Tn),Vn(Tn),Vn+1(Tn),…と表現する。例えば、輝度画像V1(Tn)のカッコ内の添え字である「Tn」は、時間領域における位置(時刻)を示すものとする。
例えば、輝度画像V1,…,Vn−1,Vn,Vn+1,…に対応付けて、距離画像D1,…,Dn−1,Dn,Dn+1,…がそれぞれ生成されるものとする。距離画像D1,…,Dn−1,Dn,Dn+1,…の各々は、同一視点および同一時刻の輝度画像から推定することもできるし、隣接する視点の輝度画像から推定することもできる。
図2には、一例として、同一視点および同一時刻において撮像された輝度画像、および、隣接する2つの視点について同一時刻に撮像された輝度画像から、距離画像を推定する処理を示す。これに限られるものではないが、例えば、視点nの時刻Tnにおける距離画像Dn(Tn)は、輝度画像Vn(Tn)ならびに輝度画像Vn−1(Tn)およびVn+1(Tn)の情報から推定されるものとする。
本実施の形態に従う画像処理アルゴリズムは、多視点映像を再構成するための距離画像を生成する。より具体的には、本実施の形態に従う画像処理アルゴリズムでは、各視点の距離画像について、時間領域での変動量を算出するとともに、その算出した変動量に基づいて、フォワグランド(foreground)とバックグランド(background)とに分離する。ここで、「フォワグランド」は、時間領域において移動する被写体、またはその一部(以下、「移動オブジェクト(moving object)」とも称す。)が含まれるエリアであり、何らかの基準像(reference view)との比較において変化しているエリアを意味する。「バックグランド」は、基本的には、「フォワグランド」以外のエリアを意味する。なお、「フォワグランド」および「バックグランド」の用語は、対応するエリアを指し示す意味で用いる場合もあるし、対応するエリアに含まれる画像情報(距離画像や輝度画像)を指し示す意味で用いる場合もある。
バックグランドと判断されたエリアについては、時間領域のある範囲に亘って共通の距離画像を用いることで、時間領域における連続性を維持する。一方、フォワグランドと判断されたエリアについては、対応する距離画像を各時刻(フレーム毎)について算出する。
図3は、本実施の形態に従う画像処理アルゴリズムの概要を説明するための模式図である。図3を参照して、時間領域上のシーケンスとしての距離画像Dn(Tn),Dn(Tn+1),Dn(Tn+2)を考える。例えば、距離画像Dn(Tn)を基準とすると、距離画像Dn(Tn+1)の一部に変化が生じており、この変化が生じている部分をバックグランドBGとする。さらに、距離画像Dn(Tn)を基準とすると、距離画像Dn(Tn+2)には、距離画像Dn(Tn+1)に比較してより大きなエリアに変化が生じたとする。この変化が生じている部分がフォワグランドFGとなる。フォワグランドFG以外のエリアは、バックグランドBGと判断され、バックグランドBGについては、距離画像Dn(Tn),Dn(Tn+1),Dn(Tn+2)の間で共通の距離画像が用いられる。
このように、時間領域において、バックグランドBGとフォワグランドFGとを区分することで、少なくともバックグランドBGについては、時間領域における連続性を維持することができる。さらに、基準とされなかった距離画像については、基準とされた距離画像の一部と、各時刻のフォワグランドFGについての距離画像とから合成できるので、各時刻の距離画像を構成するために必要な情報を低減できる。つまり、多視点映像の伝送に係る情報量を低減できる。
図4は、本実施の形態に従う画像処理方法の概要の処理手順を示すフローチャートである。図4を参照して、まず、入力された映像シーケンスを各フレームに分割する処理が実行され、続いて、時間領域においてフレーム同士を比較することで、バックグランドおよびフォワグランドを特定する処理が実行される(ステップS1)。続いて、特定されたバックグランドおよびフォワグランドのエリア別の情報に基づいて、距離画像シーケンス(距離画像のフレーム列)が生成される(ステップS2)。そして、生成された距離画像シーケンス(距離画像のフレーム列)を圧縮およびエンコーディングすることで、伝送に適したビットストリームを出力する処理が実行される(ステップS3)。
なお、伝送されたビットストリームは、デコーディングおよび伸張されて、距離画像シーケンスに復元される。
上述したように、本実施の形態に従うアルゴリズムでは、映像フレーム列を用いて、移動オブジェクトや変化エリアに相当するフォワグランドを検出する。フォワグランドは、基準像(すなわち、バックグランド)と比較されることで、フォワグランドマスクとして検出される。後続のフレームのフォワグランドのオブジェクトについて、それを示すフォワグランドマスクおよび距離画像が生成された後、フォワグランドおよびバックグランドの距離画像を組み合わせることで、現フレームの距離画像を生成する。
なお、基準像(バックグランド)については、典型的には、(1)バックグランドシーンそのものである1または複数のバックグランドフレームが存在する場合と、(2)撮像によって得られた映像フレーム列には、バックグランドシーンが存在しない場合とが想定される。(1)のケースでは、いずれかのフレームからフォワグランドマスクが後述するような手順で生成される。また、(2)のケースでは、いくつかの連続するフレームからフォワグランドが生成される。
また、本実施の形態に従う画像処理アルゴリズムでは、すべてのフォワグランドのエリアを含み、かつ、可能な限り誤って検出されるエリアを削減することのできる粗マスクを検出し、続いて、粗マスクをブラッシュアップして精密マスクを生成する。
上述した処理についてのいくつかの実装例について説明する。
[C.ハードウェア構成]
まず、図1に示す立体映像再生システム1を構成する装置のハードウェア構成例について説明する。図5は、送信機として機能する情報処理装置100のハードウェア構成例を示す模式図である。図6は、受信機として機能する情報処理装置200のハードウェア構成例を示す模式図である。
[C.ハードウェア構成]
まず、図1に示す立体映像再生システム1を構成する装置のハードウェア構成例について説明する。図5は、送信機として機能する情報処理装置100のハードウェア構成例を示す模式図である。図6は、受信機として機能する情報処理装置200のハードウェア構成例を示す模式図である。
図5を参照して、情報処理装置100は、プロセッサ104と、メモリ106と、カメラインターフェイス108と、通信インターフェイス112と、ハードディスク114と、入力部116と、表示部118とを含む。これらの各コンポーネントは、バス122を介して互いにデータ通信可能に構成されている。
プロセッサ104は、ハードディスク114などに格納されているプログラムを読出してメモリ106に展開して実行することで、本実施の形態に係る画像処理アルゴリズム(広義のエンコーディング処理)を実現する。メモリ106は、プロセッサ104が処理を実行するためのワーキングメモリとして機能する。
カメラインターフェイス108は、複数のカメラ10と接続され、それぞれのカメラ10が撮像した画像を取得する。取得された画像は、ハードディスク114やメモリ106に格納されてもよい。ハードディスク114は、上述した画像処理アルゴリズムを実現するためのエンコーディングプログラム114aを不揮発的に保持している。
入力部116は、典型的には、マウスやキーボードなどを含み、ユーザからの操作を受付ける。表示部118は、処理結果などをユーザへ通知する。
通信インターフェイス112は、無線伝送装置102などと接続され、プロセッサ104による処理の結果出力されるデータを無線伝送装置102へ出力する。
図6を参照して、情報処理装置200は、プロセッサ204と、メモリ206と、プロジェクタインターフェイス208と、通信インターフェイス212と、ハードディスク214と、入力部216と、表示部218とを含む。これらの各コンポーネントは、バス222を介して互いにデータ通信可能に構成されている。
プロセッサ204、メモリ206と、入力部216、および、表示部218は、図5に示すプロセッサ104、メモリ106と、入力部116、および、表示部118とそれぞれ同様であるので、詳細な説明は繰り返さない。
プロジェクタインターフェイス208は、立体表示装置300と接続され、プロセッサ204によって復元された多視点映像などを立体表示装置300へ出力する。
通信インターフェイス212は、無線伝送装置202などと接続され、情報処理装置100から伝送されるビットストリームを受信し、プロセッサ204へ出力する。
ハードディスク214は、デコーディングを実現するためのデコーディングプログラム214aと、復元されたオリジナル画像を含む画像データ214bとを不揮発的に保持している。
図5および図6にそれぞれ示す情報処理装置100および200のハードウェア自体およびその動作原理は一般的なものであり、本実施の形態に係る画像処理を実現するための本質的な部分は、ハードディスクなどの記憶媒体に格納されたエンコーディングプログラム114aやデコーディングプログラム214aといったソフトウェア(命令コード列から構成されたプログラム)である。このようなエンコーディングプログラム114aやデコーディングプログラム214aは、光学記憶媒体、磁気記憶媒体、半導体記憶媒体といった記憶媒体に格納されて流通する。このようなプログラムを格納する記憶媒体についても本願発明の技術的範囲に含まれる。
エンコーディングプログラム114aおよび/またはデコーディングプログラム214aは、OS(Operating System)が提供するモジュールを用いて処理を実行するように構成してもよい。この場合には、エンコーディングプログラム114aおよび/またはデコーディングプログラム214aは、一部のモジュールを含まないことになるが、このような場合であっても、本願発明の技術的範囲に含まれる。
情報処理装置100および/または情報処理装置200の全部または一部の機能をASIC(Application Specific Integrated Circuit)などの専用の集積回路を用いて実現してもよいし、FPGA(Field-Programmable Gate Array)やDSP(Digital Signal Processor)などのプログラム可能なハードウェアを用いて実現してもよい。
[D.実施の形態1]
実施の形態1として、典型的には、撮像する装置(カメラ)を固定設置して風景などを撮像するような場合に適した画像処理アルゴリズムについて説明する。この場合には、カメラから入力される映像シーケンスを構成するフレームの間では、共通のバックグランドを有しており、これを用いることで、移動オブジェクトを容易に検出し、フォワグランドを容易に特定できる。
実施の形態1として、典型的には、撮像する装置(カメラ)を固定設置して風景などを撮像するような場合に適した画像処理アルゴリズムについて説明する。この場合には、カメラから入力される映像シーケンスを構成するフレームの間では、共通のバックグランドを有しており、これを用いることで、移動オブジェクトを容易に検出し、フォワグランドを容易に特定できる。
また、実施の形態1においては、2段階の処理(粗マスク生成処理および精密マスク生成処理)を用いて、各フレームのフォワグランドを特定する。画像内の各画素は、バックグランドおよびフォワグランドのいずれかに属することになる。例えば、フォワグランドに属するエリアのみを特定するマップ(すなわち、マスク)を生成すれば、マスクされてないエリアがバックグランドに相当することが自動的に判断できる。実施の形態1においては、処理の簡素化の観点から、画像内のフォワグランドに相当するエリアを特定するマップ、すなわちフォワグランドマスクを生成することとする。このフォワグランドマスクは、対象の画像と同じ画素サイズを有しており、画素毎にフォワグランドに相当するか否かを「0」または「1」のフラグ値(バイナリ値)で示すマップである。
但し、フォワグランドマスクの生成は、処理の便宜上のためのものであり、フォワグランドマスクを用いることなく本発明を実装することもできる。このような実装例についても、本発明の技術的範囲に含まれる。
(d1:フォワグランドの特定処理)
図7は、実施の形態1に従うフォワグランドを特定する処理を説明するための図である。図7に示すように、映像シーケンスが共通のバックグランドを有している場合には、当該バックグランドは、映像シーケンス内で変化しない(すなわち、一定である)といえる。このような場合には、映像シーケンス内のあるフレーム(典型的には、先頭フレーム)が基準フレーム(フォワグランドフレームFGF)として決定され、基準フレーム以外のフレームがバックグランドフレームBGFとして決定される。つまり、映像フレーム列に含まれる特定のフレームを基準フレームとして設定する処理が実行される。
図7は、実施の形態1に従うフォワグランドを特定する処理を説明するための図である。図7に示すように、映像シーケンスが共通のバックグランドを有している場合には、当該バックグランドは、映像シーケンス内で変化しない(すなわち、一定である)といえる。このような場合には、映像シーケンス内のあるフレーム(典型的には、先頭フレーム)が基準フレーム(フォワグランドフレームFGF)として決定され、基準フレーム以外のフレームがバックグランドフレームBGFとして決定される。つまり、映像フレーム列に含まれる特定のフレームを基準フレームとして設定する処理が実行される。
フォワグランドフレームFGFとバックグランドフレームBGFの各々とを比較することで、各フレームについて、フォワグランドおよびバックグランドに相当するエリアが決定される。
(d2:全体処理手順)
図8は、実施の形態1に従う画像処理方法の処理手順を示すフローチャートである。図8を参照して、バックグランドおよびフォワグランドを特定する処理(ステップS1)として、ステップS11〜S14が実行される。
図8は、実施の形態1に従う画像処理方法の処理手順を示すフローチャートである。図8を参照して、バックグランドおよびフォワグランドを特定する処理(ステップS1)として、ステップS11〜S14が実行される。
より具体的には、まず、映像シーケンスの入力を受付けるとともに、入力された映像シーケンスをフレーム毎に分割する処理が実行される(ステップS11)。入力される映像シーケンスは、複数のカラー映像フレームから構成される。続いて、入力された映像フレームの先頭フレームをフォワグランドフレームFGFとして設定し、残りのフレームをバックグランドフレームBGFとして設定する処理が実行される(ステップS12)。そして、ステップS13およびS14に示す、フォワグランドマスクの生成処理が実行される。ステップS13においては、フォワグランドマスクの大まかなエリアを検出するための粗マスク生成処理が実行され、ステップS14においては、粗マスク生成処理を用いて、フォワグランドマスクのより詳細なエリアを検出するための精密マスク生成処理が実行される。ステップS13およびS14の実行によって、フォワグランドマスクが生成される。
より具体的には、ステップS13の粗マスク生成処理では、フォワグランドフレームFGFと対象のバックグランドフレームBGFに対してフィルタリング処理が実行される(ステップS131)。続いて、フィルタリング処理後のフォワグランドフレームFGFと対象のバックグランドフレームBGFとの間の差分画像を算出するとともに、しきい値処理が実行される(ステップS132)。ステップS132において、2値化画像(マスク)が生成される。そして、生成されたマスクに対してダウンサンプリング処理が実行される(ステップS133)。
さらに、ダウンサンプリング後の画像に対して、検出処理(detection process)が実行される(ステップS134)。検出処理後の画像に対してアップサンプリング処理が実行され(ステップS135)、さらにしきい値処理が実行される(ステップS136)。これらの一連の処理によって、2値化画像(粗マスク)が生成される。
このように、ステップS13においては、被写体を撮像して得られる映像フレーム列について、映像フレーム同士の比較、または、映像フレームと他の基準フレームとの比較によって、映像フレーム間の差分画像を算出するとともに、隣接する映像フレーム間で内容が変化しているエリア(フォワグランド)を第1の精度で検出して第1のエリア(粗マスク)として決定する処理が実行される。
また、ステップS14の精密マスク生成処理では、生成された粗マスクに対して検出処理が実行される(ステップS141)。そして、検出処理後の粗マスクに対してしきい値処理が実行される(ステップS142)。これらの一連の処理によって、2値化画像(精密マスク)、つまりフォワグランドマスクが生成される。このフォワグランドマスクは、フレーム毎に生成される。
このように、ステップS14においては、第1のエリア(粗マスク)のうち、隣接するフレーム間で内容が変化しているエリアを第1の精度より高い第2の精度で検出して第2のエリア(精密マスク/フォワグランド)として決定する処理が実行される。
フォワグランドマスクが生成されると、距離画像シーケンス(距離画像のフレーム列)が生成される(ステップS2)。より具体的には、距離画像シーケンス(距離画像のフレーム列)の入力を受付け(ステップS21)、各フレームについて、バックグランドフレームBGFの距離画像のうちフォワグランドマスクでマスクされないエリア(つまり、各フレームにおいてバックグランドと判断されたエリア)の情報と、各フォワグランドフレームFGFの距離画像のうちフォワグランドマスクでマスクされたエリア(つまり、各フレームにおいてフォワグランドと判断されたエリア)の情報とを組み合わせることで、安定化された距離画像シーケンス(距離画像のフレーム列)を生成する処理が実行される(ステップS22)。
このように、ステップS2においては、フレーム内の第2のエリア(精密マスク/フォワグランド)を除く第3のエリア(バックグランド)について、他のフレームと共通の距離画像を適用するとともに、第2のエリア(精密マスク/フォワグランド)について、対応する映像フレームから生成された距離画像を適用することで、各フレームの距離画像を生成する処理が実行される。
その後、生成された距離画像シーケンス(距離画像のフレーム列)を圧縮およびエンコーディングすることで、伝送に適したビットストリームを出力する処理が実行される(ステップS3)。
以下、上述の主要な処理について、より詳細にその内容を説明する。
(d3:粗マスク生成処理(ステップS13))
粗マスク生成処理では、フォワグランドマスクを生成するための粗マスクが生成される。粗マスクは、移動オブジェクトのすべてのエリアを含まなければならず、かつ、フォワグランドとして誤って検出されるエリアを除かなければならない。
(d3:粗マスク生成処理(ステップS13))
粗マスク生成処理では、フォワグランドマスクを生成するための粗マスクが生成される。粗マスクは、移動オブジェクトのすべてのエリアを含まなければならず、かつ、フォワグランドとして誤って検出されるエリアを除かなければならない。
上述のステップS131においては、フォワグランドフレームFGFと対象のバックグランドフレームBGFとに対してフィルタリング処理が実行される。このフィルタリング処理としては、任意のフィルタを用いることができるが、実施の形態1においては、ガウシアンを適用する。このフィルタリング処理は、画像に含まれるノイズの除去、および、画像内照度の微小変動を低減することを目的としている。
続いて、上述のステップS132において、フィルタリング処理後のフォワグランドフレームFGFと対象のバックグランドフレームBGFとの間の差分画像が算出されるとともに、しきい値処理が実行される。これによって、2値化画像(マスク)が生成される。つまり、第1のエリア(粗マスク)を決定する処理は、映像フレーム間の差分画像を算出する処理を含む。
図9は、実施の形態1に従うフォワグランドフレームFGFとバックグランドフレームBGFとの間の差分画像の生成例を示す図である。図9に示すように、フォワグランドフレームFGFとバックグランドフレームBGFとの間で対応する画素同士での画素値の差をそれぞれ算出することで、差分画像DFFが生成される。この差分画像DFFは、フレーム間に現われる移動オブジェクトを含む。
上述のステップS133においては、ステップS132の処理によって生成されたマスクに対してダウンサンプリング処理が実行される。ダウンサンプリング処理としては、任意の補間アルゴリズムを用いることができるが、実施の形態1においては、バイリニア補間を用いて、Nのオーダー(1/N)までダウンサンプリングする。このダウンサンプリング処理によって、マスクとして不適切であるが誤って検出されたエリアをさらに抑制することができる。なお、このダウンサンプリング処理では、画素値の補間処理を行なうため、処理の結果生成される画像は、2値化画像ではないことに注意されたい。
上述のステップS134においては、ダウンサンプリング後の画像に対して、検出処理が実行される。この検出処理としては、モフォロジカルフィルタおよびメディアンフィルタが何回かに亘って適用される。このフィルタの適用回数や種類などは、対象の画像の特徴などに応じて適宜設計すればよいが、実施の形態1においては、以下のような3段階のフィルタリング処理を採用した。
(エロージョン(収縮)フィルタ+メディアン(中間)フィルタ)×n回
(ダイレーション(膨脹)フィルタ+メディアンフィルタ)×m回
(エロージョンフィルタ+メディアンフィルタ)×p回
なお、上述のn,m,pについては、それぞれ任意の値を設定できる。
(ダイレーション(膨脹)フィルタ+メディアンフィルタ)×m回
(エロージョンフィルタ+メディアンフィルタ)×p回
なお、上述のn,m,pについては、それぞれ任意の値を設定できる。
このフィルタリング処理、およびその後のしきい値処理は、誤って検出されたよりマスクを除外するともに、フォワグランドオブジェクトのすべてのエリアをカバーするより大きなマスクを生成する。
このように、第1のエリア(粗マスク)を決定する処理は、算出された差分画像に対してダウンサンプリングする処理と、ダウンサンプリング後の画像に対して複数種類のフィルタを適用する処理とを含む。
上述のステップS134においては、ステップS133の処理によって生成されたマスクに対して、Nのオーダー(1/N)までアップサンプリング処理が実行される。さらにしきい値処理が実行される。以上までの処理によって、2値化画像(粗マスク)が生成される。
このように、第1のエリア(粗マスク)を決定する処理は、複数種類のフィルタを適用後の画像に対してアップサンプリングする処理と、アップサンプリング後の画像に対してしきい値処理を実行する処理とをさらに含む。
(d4:精密マスク生成処理(ステップS14))
精密マスク生成処理では、粗マスクから精密マスクが生成される。以下の処理は、粗マスクとして検出されたエリアに対して適用される。
精密マスク生成処理では、粗マスクから精密マスクが生成される。以下の処理は、粗マスクとして検出されたエリアに対して適用される。
上述のステップS141においては、粗マスクに対して検出処理が実行される。この検出処理としては、モフォロジカルフィルタおよびメディアンフィルタが何回かに亘って適用される。このフィルタの適用回数や種類などは、対象の画像の特徴などに応じて適宜設計すればよいが、実施の形態1においては、上述のステップS134において実行された検出処理と同一のフィルタリング処理を実行する。
上述のステップS142においては、検出処理後の粗マスクに対してしきい値処理が実行される。これによって、最終的なマスクである精密マスク、すなわちフォワグランドマスクが生成される。
このように、第2のエリア(精密マスク/フォワグランドマスク)を決定する処理は、第1のエリア(粗マスク)に対応する画像に対して複数種類のフィルタを適用する処理を含む。
図10は、実施の形態1に従うフォワグランドマスクの生成例を示す図である。図10に示す生成例は、図9に示す差分画像に対して上述の処理を行なった結果に相当する。図10(a)には、図9に示す差分画像に対してしきい値処理を行なうことで生成された2値化画像(マスク)の例を示す。図10(b)には、図10(a)の2値化画像(マスク)から生成された粗マスクの例を示す。図10(c)には、図10(b)の粗マスクから生成された精密マスク(フォワグランドマスク)の例を示す。
(d5:距離画像シーケンス生成処理(ステップS2))
上述したように、与えられたバックグランドのシーン/フレームの下、距離画像が生成される。
上述したように、与えられたバックグランドのシーン/フレームの下、距離画像が生成される。
図11は、実施の形態1に従う距離画像シーケンスを生成する処理を説明するための図である。図11に示すように、バックグランドフレームBGFの距離画像BDMのうちフォワグランドマスクFGMでマスクされないエリア(つまり、各フレームにおいてバックグランドと判断されたエリア)の情報と、各フォワグランドフレームFGFの距離画像FDMのうちフォワグランドマスクFGMでマスクされたエリア(つまり、各フレームにおいてフォワグランドと判断されたエリア)の情報とを組み合わせることで、安定化された距離画像SDMが生成される。ここで、各フレームのフォワグランドのエリアには、基準フレームに対応する距離画像が適用される。
図11に示すように、本実施の形態に従う距離画像シーケンスでは、多視点映像を再構成するための特有のデータ構造を有する距離画像が生成される。この距離画像は、他のフレームと共通の距離画像が用いられる第1のエリア(バックグランド)と、対応する映像フレームから生成された距離画像が用いられる第2のエリア(フォワグランド)とが組み合わせて定義されている。ここで、第2のエリアは、被写体を撮像して得られる映像フレーム列について、映像フレーム同士の比較、または、映像フレームと他の基準フレームとの比較によって、映像フレーム間の差分画像を算出した上で、隣接する映像フレーム間で内容が変化していると検出されたエリアに相当する。一方、第1のエリアは、第2のエリアを除く残りのエリアに相当する。
図12は、実施の形態1に従う安定化された距離画像の生成例を示す図である。図12に示す生成例は、図9および図10に示す処理結果から生成されたものである。図12(a)には、フォワグランドフレームFGFの距離画像の例を示す。図12(b)には、バックグランドフレームBGFの距離画像の例を示す。図12(c)には、フォワグランドフレームFGFの距離画像とバックグランドフレームBGFの距離画像とを合成して得られた、安定化された距離画像の例を示す。
(d6:ビットストリーム出力処理(ステップS3))
上述したように、バックグランドフレームBGFの距離画像は、バックグランドおよびフォワードの組み合わせによって定義されるので、バックグランドフレームBGFの距離画像については、フォワグランドの情報のみを圧縮およびエンコーディングするようにしてもよい。つまり、バックグランドフレームBGFの距離画像については、すべての情報を圧縮およびエンコーディングの対象にするとともに、後続の各バックグランドフレームBGFの距離画像については、バックグランドと判断されたエリアの情報および当該エリアにおける距離の情報のみを圧縮およびエンコーディングの対象にすればよい。
上述したように、バックグランドフレームBGFの距離画像は、バックグランドおよびフォワードの組み合わせによって定義されるので、バックグランドフレームBGFの距離画像については、フォワグランドの情報のみを圧縮およびエンコーディングするようにしてもよい。つまり、バックグランドフレームBGFの距離画像については、すべての情報を圧縮およびエンコーディングの対象にするとともに、後続の各バックグランドフレームBGFの距離画像については、バックグランドと判断されたエリアの情報および当該エリアにおける距離の情報のみを圧縮およびエンコーディングの対象にすればよい。
このような圧縮およびエンコーディングの方法を採用することで、より効率的な伝送を実現できる。
(d7:シミュレーション例)
上述した実施の形態1に従う画像処理アルゴリズムの有効性を評価するために実施したシミュレーション結果の一例について説明する。
上述した実施の形態1に従う画像処理アルゴリズムの有効性を評価するために実施したシミュレーション結果の一例について説明する。
図13は、フレーム個別に推定された距離画像、およびそれぞれ推定された距離画像から合成された仮想的な像の例(3フレーム分)を示す。図14は、実施の形態1に従う画像処理アルゴリズムによって生成された安定化された距離画像、およびそれぞれ生成された距離画像から合成された仮想的な像の一例(3フレーム分)を示す。
図13の距離画像に示すように、フレーム個別に推定するアルゴリズムを採用した場合には、同一の被写体であるにもかかわらず、時間領域において不連続になっているエリアが発生していることがわかる。これに対して、実施の形態1に従う画像処理アルゴリズムによれば、距離画像について、時間領域における連続性の度合いが高まっていることがわかる。すなわち、距離画像が時間領域において滑らかになっているといえる。これによって合成される像についてもより安定化される。
(d8:利点)
実施の形態1によれば、時間領域において、より安定的に距離画像を再構成できる。つまり、実施の形態1に従って生成されるフォワグランドマスクは、距離画像の安定的な再構成により適している。
実施の形態1によれば、時間領域において、より安定的に距離画像を再構成できる。つまり、実施の形態1に従って生成されるフォワグランドマスクは、距離画像の安定的な再構成により適している。
実施の形態1においては、粗マスクの生成および精密マスクの生成といった2段階の処理を採用するので、処理の高速化および生成されるフォワグランドマスクの精密化の両方を実現できる。
また、実施の形態1において再構成される距離画像を時間領域において安定化できるので、ビットストリームへのデータフォーマット変換やデータ圧縮をより効率的に行なうことができる。
さらに、再構成される距離画像を時間領域において安定化できるので、フレーム個別に距離画像を再構成する場合に比較して、合成される仮想的な像についても時間領域において安定化できる。つまり、仮想的な像に生じるフリッカ(ちらつき)などを低減できる。
[E.実施の形態2]
上述の実施の形態1において、入力される映像シーケンスを構成するフレームの間で共通のバックグランドを有しているような場合に適した画像処理アルゴリズムについて説明した。しかしながら、入力される映像シーケンスを構成するフレームの間で共通のバックグランドを有していないような場合もある。
上述の実施の形態1において、入力される映像シーケンスを構成するフレームの間で共通のバックグランドを有しているような場合に適した画像処理アルゴリズムについて説明した。しかしながら、入力される映像シーケンスを構成するフレームの間で共通のバックグランドを有していないような場合もある。
そこで、実施の形態2として、入力された映像シーケンスをシーン毎などにグループ分けし、各グループ内に属するフレームの間では共通のバックグランドを有しているとみなして処理する画像処理アルゴリズムについて説明する。
(e1:フォワグランドの特定処理)
図15は、実施の形態2に従う映像シーケンスのフレームグループへの分割処理を説明するための図である。図15に示すように、映像シーケンスを各々が1つ以上のフレームからなるフレームグループ(GoF:Group of Frames)へ分割する処理が実行される。このフレームグループへの分割は、典型的には、シーンの切り替わりなどの検出結果に基づいて実行される。例えば、動画圧縮規格の一つであるH.264(MPEG−4 AVC)などで採用されているシーンに基づくグループ分けのアルゴリズムを採用することができる。映像シーケンスの全体を見れば、共通のバックグランドは存在しないが、比較的短時間の個々のシーンについて見れば、その中に含まれるフレーム間には共通のバックグランドが存在しているとみなすことができる。
図15は、実施の形態2に従う映像シーケンスのフレームグループへの分割処理を説明するための図である。図15に示すように、映像シーケンスを各々が1つ以上のフレームからなるフレームグループ(GoF:Group of Frames)へ分割する処理が実行される。このフレームグループへの分割は、典型的には、シーンの切り替わりなどの検出結果に基づいて実行される。例えば、動画圧縮規格の一つであるH.264(MPEG−4 AVC)などで採用されているシーンに基づくグループ分けのアルゴリズムを採用することができる。映像シーケンスの全体を見れば、共通のバックグランドは存在しないが、比較的短時間の個々のシーンについて見れば、その中に含まれるフレーム間には共通のバックグランドが存在しているとみなすことができる。
このように分割されたフレームグループの各々において、基準フレーム(フォワグランドフレームFGF)が決定され、基準フレーム以外のフレームがバックグランドフレームBGFとして決定される。典型的には、各フレームグループ内の先頭フレームが基準フレームとして決定される。以下の説明では、フレームグループの各々において、1つのフレームのみが基準フレームとして選択される例を示すが、複数のフレームを基準フレームとして選択してもよい。
このように、実施の形態2においては、入力された映像シーケンスをシーン毎などにグループ分けし、各フレームグループに含まれる一部のフレームを基準フレームに設定し、当該基準フレームを基準としてバックグランドを特定する。基準フレームに設定されたフレームは、その全体がフォワグランドになる。
つまり、実施の形態2に従う画像処理アルゴリズムは、映像フレーム列を複数のフレームからなるフレームグループに分割する処理を含む。そして、各フレームグループの先頭フレームを基準フレームとして設定する処理が実行される。
(e2:全体処理手順)
図16は、実施の形態2に従う画像処理方法の処理手順を示すフローチャートである。図16に示すフローチャートは、図8に示すフローチャートに比較して、ステップS1の処理として、ステップS12〜S14に代えて、ステップS12A〜S14Aが実行される点が異なっている。これらの変更点は、図15に示すようなフレームグループ単位でフォワグランドフレームFGFが決定される処理に起因するものである。以下、主として、図8からの相違点について説明する。
図16は、実施の形態2に従う画像処理方法の処理手順を示すフローチャートである。図16に示すフローチャートは、図8に示すフローチャートに比較して、ステップS1の処理として、ステップS12〜S14に代えて、ステップS12A〜S14Aが実行される点が異なっている。これらの変更点は、図15に示すようなフレームグループ単位でフォワグランドフレームFGFが決定される処理に起因するものである。以下、主として、図8からの相違点について説明する。
より具体的には、まず、映像シーケンスの入力を受付けるとともに、入力された映像シーケンスをフレーム毎に分割する処理が実行される(ステップS11)。各フレームは、連続する複数のフレームから構成される。
続いて、分割された複数の映像フレームのコンテンツを解析して、いくつかのフレームグループへ分割する処理が実行される。典型的には、図15に示すような時系列に配置された複数のフレームを、シーン切替えなどの位置に基づいて、各々に1つ以上のフレームを含むようなフレームグループに分割する処理が実行される。分割によって生成されたフレームグループの各々において、先頭フレームをフォワグランドフレームFGFとして設定し、残りのフレームグループをバックグランドフレームBGFとして設定する処理が実行される(ステップS12A)。なお、各フレームグループにおいて、連続するフレーム間の変化はそれほど大きくないと予想されるので、このようなフォワグランドフレームFGFの設定は有効である。
そして、ステップS13AおよびS14Aに示す、フォワグランドマスクの生成処理が、フレームグループの単位で繰り返し実行される。つまり、各フレームグループにおいて設定されたフォワグランドフレームFGFとバックグランドフレームBGFの各々とを比較することで、フォワグランドマスクが生成される。このフォワグランドマスクの生成は、上述の実施の形態1において説明したアルゴリズムと同様であるので、詳細な説明は繰り返さない。
各フレームについてのフォワグランドマスクが生成されると、フレームグループ単位で、当該フレームグループにおいて設定されたフォワグランドフレームFGFの距離画像と、各バックグランドフレームBGFの距離画像とを組み合わせることで、安定化された距離画像が生成される。
上述した以外の処理は、実施の形態1に係る画像処理方法の処理手順と同様であるので、詳細な説明は繰り返さない。
(e3:エンコーディングおよびビットストリーム出力(ステップS3))
なお、上述のフレームグループへの分割をH.264(MPEG−4 AVC)で採用されているものと同じアルゴリズムを利用する場合には、生成された距離画像のフレーム列に対するエンコーディングをより効率的に行なうこともできる。以下、このような効率的なエンコーディングについて説明する。
なお、上述のフレームグループへの分割をH.264(MPEG−4 AVC)で採用されているものと同じアルゴリズムを利用する場合には、生成された距離画像のフレーム列に対するエンコーディングをより効率的に行なうこともできる。以下、このような効率的なエンコーディングについて説明する。
公知の技術であるH.264規格に従って安定化された距離画像のフレーム列を圧縮するために、多視点映像シーケンスの圧縮処理前に映像グループ(GoP:Group of Pictures)が設定される。フレームグループに分割されたシーケンスに対する圧縮効率を最適化するために、この設定される映像グループのサイズ(X)をフレームグループのサイズ(Y)の整数倍、すなわち、X=n×Y(但し、n=1,2,3,…)の関係が成立するように、設定することが好ましい。
このような映像グループとフレームグループとの間の関係を維持することで、映像フレームおよび距離画像フレームとを併せてエンコーディングおよび圧縮できるので、圧縮効率を高めることができる。
その他の処理については、上述の実施の形態1と同様であるので、詳細な説明は繰り返さない。
(e4:利点)
実施の形態2によれば、カメラや被写体が時間的に変化して、映像フレーム間に共通のバックグランドが存在しない場合であっても、より安定的に距離画像を再構成できる。また、実施の形態2において再構成される距離画像を時間領域において安定化できるので、ビットストリームへのデータフォーマット変換やデータ圧縮をより効率的に行なうことができる。
実施の形態2によれば、カメラや被写体が時間的に変化して、映像フレーム間に共通のバックグランドが存在しない場合であっても、より安定的に距離画像を再構成できる。また、実施の形態2において再構成される距離画像を時間領域において安定化できるので、ビットストリームへのデータフォーマット変換やデータ圧縮をより効率的に行なうことができる。
実施の形態2においても、粗マスクの生成および精密マスクの生成といった2段階の処理を採用するので、処理の高速化および生成されるフォワグランドマスクの精密化の両方を実現できる。
さらに、再構成される距離画像を時間領域において安定化できるので、フレーム個別に距離画像を再構成する場合に比較して、合成される仮想的な像についても時間領域において安定化できる。つまり、仮想的な像に生じるフリッカ(ちらつき)などを低減できる。
[F.実施の形態3]
上述の実施の形態1および2においては、フレーム列に含まれる特定のフレームをフォワグランドとして設定する処理例について説明したが、これに限られず、複数のフレームに対する統計的な処理を用いてフォワグランドを動的に生成するような処理を用いてもよい。実施の形態3においては、フォワグランドマスクを検出するための基準となるフォワグランドフレームFGFを動的に生成する場合の処理例について説明する。
上述の実施の形態1および2においては、フレーム列に含まれる特定のフレームをフォワグランドとして設定する処理例について説明したが、これに限られず、複数のフレームに対する統計的な処理を用いてフォワグランドを動的に生成するような処理を用いてもよい。実施の形態3においては、フォワグランドマスクを検出するための基準となるフォワグランドフレームFGFを動的に生成する場合の処理例について説明する。
(f1:処理概要)
図17は、実施の形態3に従うバックグランドフレームBGFの生成処理を概説するための図である。図17に示すように、時間的に連続するいくつかのまとまった映像フレーム列に対して、統計処理を実行することで、バックグランドフレームBGFが生成される。各バックグランドフレームBGFを生成するための映像フレーム列は、基本的には、共通のオブジェクトを含んでいる必要がある。このようなバックグランドフレームBGFの生成対象となる映像フレーム列は、どのような方法を用いて決定してもよいが、典型的には、上述の実施の形態2において説明したような、そのコンテンツ(例えば、シーン)に応じて区分されたフレームグループなどを用いることができる。あるいは、予め定められたフレーム数(例えば、8フレームや16フレーム)毎にバックグランドフレームBGFを生成するようにしてもよい。
図17は、実施の形態3に従うバックグランドフレームBGFの生成処理を概説するための図である。図17に示すように、時間的に連続するいくつかのまとまった映像フレーム列に対して、統計処理を実行することで、バックグランドフレームBGFが生成される。各バックグランドフレームBGFを生成するための映像フレーム列は、基本的には、共通のオブジェクトを含んでいる必要がある。このようなバックグランドフレームBGFの生成対象となる映像フレーム列は、どのような方法を用いて決定してもよいが、典型的には、上述の実施の形態2において説明したような、そのコンテンツ(例えば、シーン)に応じて区分されたフレームグループなどを用いることができる。あるいは、予め定められたフレーム数(例えば、8フレームや16フレーム)毎にバックグランドフレームBGFを生成するようにしてもよい。
なお、実施の形態3においては、距離画像の生成対象となるフレームより時間領域において前(直近)のフレームを複数用いて、バックグランドフレームBGFが生成されてもよい。つまり、上述の実施の形態1および2においては、フレーム列の先頭フレームをフォワグランドフレームFGFとして設定し、その後のフレームをこのフォワグランドフレームFGFと比較したが、実施の形態3においては、時間領域において対象のフレームより前のフレームからフォワグランドフレームFGFを生成しておくことで、同様の効果を奏する。
但し、対象のフレームを含む複数のフレームから比較対象となるフォワグランドフレームFGFを生成するようにしてもよい。つまり、時間領域において対象のフレームより後のフレームを含む複数のフレームからフォワグランドフレームFGFを生成するようにしてもよい。
つまり、実施の形態3に従う画像処理アルゴリズムは、映像フレーム列に含まれる複数の映像フレームから基準フレームを生成する処理を含む。
(f2:全体処理手順)
実施の形態3に従う画像処理方法の処理手順としては、上述の実施の形態2に従う画像処理方法の処理手順(図16に示すフローチャート)において、フレームグループの各々において、先頭フレームをフォワグランドフレームFGFとして設定する処理(ステップS12A)に代えて、設定されたフレームグループに含まれるフレーム列からバックグランドフレームBGFを動的に生成する処理が実行される点が異なっている。
実施の形態3に従う画像処理方法の処理手順としては、上述の実施の形態2に従う画像処理方法の処理手順(図16に示すフローチャート)において、フレームグループの各々において、先頭フレームをフォワグランドフレームFGFとして設定する処理(ステップS12A)に代えて、設定されたフレームグループに含まれるフレーム列からバックグランドフレームBGFを動的に生成する処理が実行される点が異なっている。
その他の処理については、実質的に、図16に示す処理手順と同様であるので、詳細な説明は繰り返さない。
(f3:バックグランドフレームの生成処理)
次に、実施の形態3に従うバックグランドフレームBGFの生成処理について説明する。実施の形態3においては、共通のバックグランドを有しているとみなすことができる複数のフレーム列からバックグランドフレームBGFを生成する。つまり、共通のバックグランドフレームBGFを生成するフレーム列の間では、バックグランドとなる像の画面内の相対位置は変化しないと仮定する。このような仮定の下、図17に示すように、フレーム列を構成する各フレームの同一の座標における画素値を用いて、バックグランドフレームBGFの各座標の画素値を決定する。
次に、実施の形態3に従うバックグランドフレームBGFの生成処理について説明する。実施の形態3においては、共通のバックグランドを有しているとみなすことができる複数のフレーム列からバックグランドフレームBGFを生成する。つまり、共通のバックグランドフレームBGFを生成するフレーム列の間では、バックグランドとなる像の画面内の相対位置は変化しないと仮定する。このような仮定の下、図17に示すように、フレーム列を構成する各フレームの同一の座標における画素値を用いて、バックグランドフレームBGFの各座標の画素値を決定する。
このとき、複数の画素値に対して、例えば、中間値、平均値、最大値、最小値のいずれかを算出するといった統計処理を用いることで、バックグランドフレームBGFの各画素値を算出する。このような統計処理の他、以下のような統計処理を採用することもできる。
図18は、実施の形態3に従うバックグランドフレームBGFの生成処理の具体的な手順の一例を説明するための図である。図18を参照して、フレーム列に含まれるフレームf1,f2,f3,f4,…の座標(x,y)における画素値をp1,p2,p3,p4,…とする。この画素値としては、典型的には、輝度値や濃淡値である。
図18に示す座標系は、画素値と強度とによって定義されており、この座標系上において、各フレームの画素値の大きさをピークとするガウシアン分布をそれぞれ規定する。その上で、それぞれのガウシアン分布を統合したカーネルKNLを規定する。このカーネルKNLにおけるピークを対応する座標の画素値の代表値として決定する。このような統計処理を採用することで、各フレームの画素値にゆらぎがあっても、その確率に応じた代表値を決定できる。
統計処理としては、上述したものに限られず、任意の処理を採用することができる。
その他の処理については、上述の実施の形態1または2と同様であるので、詳細な説明は繰り返さない。
その他の処理については、上述の実施の形態1または2と同様であるので、詳細な説明は繰り返さない。
(f4:利点)
実施の形態3によれば、カメラや被写体が時間的に変化して、映像フレーム間に共通のバックグランドが存在しない場合であっても、より安定的に距離画像を再構成できる。また、実施の形態3において再構成される距離画像を時間領域において安定化できるので、ビットストリームへのデータフォーマット変換やデータ圧縮をより効率的に行なうことができる。
実施の形態3によれば、カメラや被写体が時間的に変化して、映像フレーム間に共通のバックグランドが存在しない場合であっても、より安定的に距離画像を再構成できる。また、実施の形態3において再構成される距離画像を時間領域において安定化できるので、ビットストリームへのデータフォーマット変換やデータ圧縮をより効率的に行なうことができる。
さらに、再構成される距離画像を時間領域において安定化できるので、フレーム個別に距離画像を再構成する場合に比較して、合成される仮想的な像についても時間領域において安定化できる。つまり、仮想的な像に生じるフリッカ(ちらつき)などを低減できる。
[G.実施の形態4]
上述の実施の形態1および2においては、バックグランドフレームBGFを基準としてフレームを比較することで、フォワグランドとバックグランドとに分離する処理を例示した。このような差分を用いる処理に代えて、モーションベクトルを用いてもよい。
上述の実施の形態1および2においては、バックグランドフレームBGFを基準としてフレームを比較することで、フォワグランドとバックグランドとに分離する処理を例示した。このような差分を用いる処理に代えて、モーションベクトルを用いてもよい。
実施の形態4においては、モーションベクトルを用いる処理例について説明する。
(g1:フォワグランドマスクの生成)
図19は、実施の形態4に従うフォワグランドマスクの生成処理を説明するための図である。図19(a)には、モーションベクトルの算出例を示し、図19(b)には、図19(a)に示すモーションベクトルの算出例から決定されるフォワグランドマスクの例を示す。
(g1:フォワグランドマスクの生成)
図19は、実施の形態4に従うフォワグランドマスクの生成処理を説明するための図である。図19(a)には、モーションベクトルの算出例を示し、図19(b)には、図19(a)に示すモーションベクトルの算出例から決定されるフォワグランドマスクの例を示す。
典型的なモーションベクトルの検出アルゴリズムとしては、映像シーケンスに含まれるフレーム間の差分などを用いて、ブロック毎にモーションベクトルの大きさが検出される。相対的に大きなモーションベクトルを示しているブロックは、移動オブジェクトが存在しているエリアと判断できる。そのため、各フレームについて検出されたモーションベクトルの大きさが予め定められたしきい値より大きなエリア(ブロック)をフォワグランドとして決定し、それ以外のエリアをバックグランドとして決定することができる。
図19(b)には、比較的大きなモーションベクトルを示しているエリアからフォワグランドマスクを生成する例を示している。
なお、モーションベクトルを用いる場合であっても、2段階の処理を用いてフォワグランドマスクを生成するようにしてもよい。例えば、フレームをマクロブロックに分割し、各マクロブロックについてのモーションベクトルを算出することで、粗マスクを生成する。続いて、粗マスクに含まれるマクロブロックをより細かなブロックに分割し、各ブロックについてのモーションベクトルを算出することで、精密マスクを生成する。
このような手順でフォワグランドマスクを生成することで、処理量を低減しつつ、より詳細なフォワグランドマスクを決定できる。
(g2:バックグランドの生成)
図20は、実施の形態4に従うバックグランドの生成処理を説明するための図である。図20(a)を参照して、例えば、カメラ自体が移動しており、フレーム列の間でバックグランドBGの画面内の相対位置が時間的に変化しているとする。同時に、移動オブジェクトも存在し、その一部にはフォワグランドのエリアが生じているとする。
図20は、実施の形態4に従うバックグランドの生成処理を説明するための図である。図20(a)を参照して、例えば、カメラ自体が移動しており、フレーム列の間でバックグランドBGの画面内の相対位置が時間的に変化しているとする。同時に、移動オブジェクトも存在し、その一部にはフォワグランドのエリアが生じているとする。
このような場合であっても、モーションベクトルを用いることで、バックグランドおよびフォワグランドの両方を検出することもできる。
図20(b)には、フレーム列に含まれるフレームf1,f2,f3から検出されたモーションベクトルの一例を示す。各ブロックについて検出されるモーションベクトルのグローバル成分を行なうことで、バックグランドBGの全体的な動きを検出することができる。図20(b)に示される例では、紙面左下側へ向かうモーションベクトルがグローバル成分であり、バックグランドBGが紙面左下側へ向かっていると判断できる。
このようなグローバル成分のモーションベクトルの他、紙面右上へ向かうモーションベクトルが存在している。このような特異的な特徴を示す、つまりローカル成分のモーションベクトルが存在するエリアをフォワグランドとして決定することができる。
このようなローカル成分のモーションベクトルを用いることで、フレームf1,f2,f3からバックグランドを生成することもできる。具体的には、図20(c)に示すように、モーションベクトルを参照することで、フレームf1の座標(x,y)と、フレームf2の座標(x+Δx1,y+Δy1)と、フレームf2の座標(x+Δx2,y+Δy2)とが対応することを検出できる。それぞれのフレームの対応する座標における画素値P1,P2,P3を収集するとともに、これらの画素値に対して統計的な処理を行なうことで、バックグランドBGを生成することもできる。
その他の処理については、上述の実施の形態1〜3と同様であるので、詳細な説明は繰り返さない。
(g3:利点)
実施の形態4によれば、モーションベクトルを用いて、フォワグランドの検出や、バックグランドの生成を行なうため、差分画像を用いる場合に比較して、より自由度の高い処理を実現することができる。
実施の形態4によれば、モーションベクトルを用いて、フォワグランドの検出や、バックグランドの生成を行なうため、差分画像を用いる場合に比較して、より自由度の高い処理を実現することができる。
また、粗マスクの生成および精密マスクの生成といった2段階の処理を採用することで、処理の高速化および生成されるフォワグランドマスクの精密化の両方を実現することもできる。
[H.その他の実施の形態]
上述の実施の形態においては、入力された多視点画像から距離画像を合成する場合の処理について例示したが、同様のアルゴリズムに従って、合成された距離画像を用いて、耐視点映像を再構成することもできる。
上述の実施の形態においては、入力された多視点画像から距離画像を合成する場合の処理について例示したが、同様のアルゴリズムに従って、合成された距離画像を用いて、耐視点映像を再構成することもできる。
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 立体映像再生システム、2 被写体、10 カメラ、100,200 情報処理装置、102,202 無線伝送装置、104,204 プロセッサ、106,206 メモリ、108 カメラインターフェイス、110 プリプロセッサー、112,212 通信インターフェイス、114,214 ハードディスク、114a エンコーディングプログラム、116,216 入力部、118,218 表示部、120 エンコーダー、122,222 バス、208 プロジェクタインターフェイス、210 デコーダー、214a デコーディングプログラム、214b 画像データ、220 ポストプロセッサー、300 立体表示装置、302 プロジェクターアレイ、310 表示スクリーン、312 拡散フィルム、314 集光レンズ。
Claims (6)
- 多視点映像を再構成するための距離画像を生成する画像処理方法であって、
被写体を撮像して得られる映像フレーム列について、映像フレーム同士の比較、または、映像フレームと他の基準フレームとの比較によって、映像フレーム間の差分画像を算出するとともに、隣接する映像フレーム間で内容が変化しているエリアを第1の精度で検出して第1のエリアとして決定するステップと、
前記第1のエリアのうち、隣接するフレーム間で内容が変化しているエリアを前記第1の精度より高い第2の精度で検出して第2のエリアとして決定するステップと、
フレーム内の前記第2のエリアを除く第3のエリアについて、他のフレームと共通の距離画像を適用するとともに、前記第2のエリアについて、対応する映像フレームから生成された距離画像を適用することで、各フレームの距離画像を生成するステップとを備える、画像処理方法。 - 前記第1のエリアとして決定するステップは、
前記算出された差分画像に対してダウンサンプリングするステップと、
ダウンサンプリング後の画像に対して複数種類のフィルタを適用するステップと、
前記複数種類のフィルタを適用後の画像に対してアップサンプリングするステップと、
アップサンプリング後の画像に対してしきい値処理を実行するステップとを含み、
前記第2のエリアとして決定するステップは、
前記第1のエリアに対応する画像に対して複数種類のフィルタを適用するステップを含む、請求項1に記載の画像処理方法。 - 前記映像フレーム列に含まれる特定のフレームを前記基準フレームとして設定するステップと、
前記映像フレーム列を複数のフレームからなるフレームグループに分割するステップとをさらに備え、
前記設定するステップは、各フレームグループの先頭フレームを前記基準フレームとして設定するステップを含む、請求項1または2に記載の画像処理方法。 - 多視点映像を再構成するための距離画像を生成する画像処理装置であって、
被写体を撮像して得られる映像フレーム列について、映像フレーム同士の比較、または、映像フレームと他の基準フレームとの比較によって、映像フレーム間の差分画像を算出するとともに、隣接する映像フレーム間で内容が変化しているエリアを第1の精度で検出して第1のエリアとして決定するための手段と、
前記第1のエリアのうち、隣接するフレーム間で内容が変化しているエリアを前記第1の精度より高い第2の精度で検出して第2のエリアとして決定するための手段と、
フレーム内の前記第2のエリアを除く第3のエリアについて、他のフレームと共通の距離画像を適用するとともに、前記第2のエリアについて、対応する映像フレームから生成された距離画像を適用することで、各フレームの距離画像を生成するための手段とを備える、画像処理装置。 - 多視点映像を再構成するための距離画像を生成するための画像処理プログラムであって、前記画像処理プログラムはコンピューターに、
被写体を撮像して得られる映像フレーム列について、映像フレーム同士の比較、または、映像フレームと他の基準フレームとの比較によって、映像フレーム間の差分画像を算出するとともに、隣接する映像フレーム間で内容が変化しているエリアを第1の精度で検出して第1のエリアとして決定するステップと、
前記第1のエリアのうち、隣接するフレーム間で内容が変化しているエリアを前記第1の精度より高い第2の精度で検出して第2のエリアとして決定するステップと、
フレーム内の前記第2のエリアを除く第3のエリアについて、他のフレームと共通の距離画像を適用するとともに、前記第2のエリアについて、対応する映像フレームから生成された距離画像を適用することで、各フレームの距離画像を生成するステップとを実行させる、画像処理プログラム。 - 多視点映像を再構成するための距離画像のデータ構造であって、
前記距離画像は、他のフレームと共通の距離画像が用いられる第1のエリアと、対応する映像フレームから生成された距離画像が用いられる第2のエリアとが組み合わせて定義されており、
前記第2のエリアは、被写体を撮像して得られる映像フレーム列について、映像フレーム同士の比較、または、映像フレームと他の基準フレームとの比較によって、映像フレーム間の差分画像を算出した上で、隣接する映像フレーム間で内容が変化していると検出されたエリアに相当し、
前記第1のエリアは、前記第2のエリアを除く残りのエリアに相当する、データ構造。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013170522A JP2015041796A (ja) | 2013-08-20 | 2013-08-20 | 画像処理方法、画像処理装置、画像処理プログラム、およびデータ構造 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013170522A JP2015041796A (ja) | 2013-08-20 | 2013-08-20 | 画像処理方法、画像処理装置、画像処理プログラム、およびデータ構造 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015041796A true JP2015041796A (ja) | 2015-03-02 |
Family
ID=52695749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013170522A Pending JP2015041796A (ja) | 2013-08-20 | 2013-08-20 | 画像処理方法、画像処理装置、画像処理プログラム、およびデータ構造 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015041796A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150256819A1 (en) * | 2012-10-12 | 2015-09-10 | National Institute Of Information And Communications Technology | Method, program and apparatus for reducing data size of a plurality of images containing mutually similar information |
-
2013
- 2013-08-20 JP JP2013170522A patent/JP2015041796A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150256819A1 (en) * | 2012-10-12 | 2015-09-10 | National Institute Of Information And Communications Technology | Method, program and apparatus for reducing data size of a plurality of images containing mutually similar information |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10977809B2 (en) | Detecting motion dragging artifacts for dynamic adjustment of frame rate conversion settings | |
JP6178017B2 (ja) | ステレオビデオのための深度認識向上 | |
US8983175B2 (en) | Video processing method and device for depth extraction | |
US9948943B2 (en) | Image processing system for processing combined image data and depth data | |
US9525858B2 (en) | Depth or disparity map upscaling | |
KR101636539B1 (ko) | 입체영상 압축 처리 방법 및 장치 | |
US9313473B2 (en) | Depth video filtering method and apparatus | |
US10354394B2 (en) | Dynamic adjustment of frame rate conversion settings | |
US9451233B2 (en) | Methods and arrangements for 3D scene representation | |
JP2009123219A (ja) | 深さマップ推定装置と方法、これを用いた中間映像生成方法および多視点ビデオのエンコーディング方法 | |
US11025920B2 (en) | Encoding device, decoding device, and image processing method | |
CN108141634B (zh) | 用于产生预览图像的方法和设备以及计算机可读存储介质 | |
EP2981083A1 (en) | Method for encoding a plurality of input images and storage medium and device for storing program | |
Meuel et al. | Mesh-based piecewise planar motion compensation and optical flow clustering for ROI coding | |
KR20160147448A (ko) | 컬러 영상정보를 이용한 깊이영상 부호화 방법 및 컬러 영상정보를 이용한 깊이정보 복원 방법 | |
US9787980B2 (en) | Auxiliary information map upsampling | |
JP2015041796A (ja) | 画像処理方法、画像処理装置、画像処理プログラム、およびデータ構造 | |
WO2014156647A1 (ja) | 複数の入力画像をエンコーディングする方法、プログラムを格納する記憶媒体および装置 | |
KR20200143287A (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
KR20110136014A (ko) | 다시점 깊이영상을 부호화/복호화 하는 장치 및 방법 | |
Marcelino et al. | Lost block reconstruction in depth maps using color image contours | |
JP2015115901A (ja) | 符号化装置、符号化装置の制御方法、及び、コンピュータプログラム | |
Petrazzuoli et al. | A distributed video coding system for multi view video plus depth | |
KR20120131137A (ko) | 카메라 파라미터를 이용한 다시점 영상의 부호화 장치 및 생성 장치, 그 방법과, 이를 수행하기 위한 프로그램이 기록된 기록 매체 | |
Hu et al. | Region-based trilateral filter for depth video coding |