JP2019083405A - 復号装置、伝送装置、復号方法、伝送装置の制御方法、およびプログラム - Google Patents

復号装置、伝送装置、復号方法、伝送装置の制御方法、およびプログラム Download PDF

Info

Publication number
JP2019083405A
JP2019083405A JP2017209620A JP2017209620A JP2019083405A JP 2019083405 A JP2019083405 A JP 2019083405A JP 2017209620 A JP2017209620 A JP 2017209620A JP 2017209620 A JP2017209620 A JP 2017209620A JP 2019083405 A JP2019083405 A JP 2019083405A
Authority
JP
Japan
Prior art keywords
decoding
viewpoint
sub
image data
image
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
Application number
JP2017209620A
Other languages
English (en)
Inventor
洋 大藤
Hiroshi Ofuji
洋 大藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2017209620A priority Critical patent/JP2019083405A/ja
Publication of JP2019083405A publication Critical patent/JP2019083405A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】伝送時のエラーがいずれの帯域において発生していても、符号化されている画像データの復号を可能とする。【解決手段】サブバンド符号を復号する復号装置は、第一の視点で得られた画像データに対応する複数のサブバンド符号の復号に失敗したサブバンド符号がある場合、第一の視点以外の視点で得られた画像データを用いて第一の視点に相当する仮想視点の画像データを生成し、仮想視点の画像データを複数のサブバンドに分解して、復号に失敗したサブバンド符号を補完する。【選択図】図9

Description

本発明は、符号化されている画像データを復号する技術に関する。
複数のカメラを異なる位置に設置し、多視点で同期して撮影を行い、当該撮影により得られた複数視点の画像を用いて仮想視点画像を生成する技術がある。このような技術によれば、例えば、サッカーやバスケットボールのハイライトシーンを任意の視点から視聴することができるので、通常の画像と比較してユーザに高臨場感を与えることができる。
複数のカメラで撮影された各画像は、サーバなどの画像処理装置に伝送され、画像処理装置において仮想視点画像の生成が行われる。仮想視点画像の生成には、リアルタイム性が求められることが多い。リアルタイム性を重視する場合、カメラからサーバへの伝送は、UDP(User Datagram Protocol)接続とすることが望ましい。しかしながら、UDP接続方式は片方向通信であるので、送信データに伝送エラーが生じた場合の再送処理に対応していない。このため、送信データに伝送エラーが生じた場合の対処方法が求められている。
特許文献1では、サブバンドに分割して符号化した画像信号の伝送時に、高帯域側の部分にエラーが検知されたら、該信号をゼロで埋めることで、伝送エラーにおける影響を軽減する方法が記載されている。特許文献2では、サブバンドに分割して符号化した画像信号の伝送時に、低帯域側の部分を二重に伝送することで、伝送エラーの耐性を上げる方法が記載されている。
特許第3006947号明細書 特許第2508583号明細書
しかしながら、特許文献1に記載の技術では、高帯域側の伝送エラーには対応できるが、低帯域側の伝送エラーに対応することはできない。また、特許文献2に記載の技術では、低帯域側の伝送エラーの発生確率を下げることはできるが、二重にデータを送信するので伝送量が増えてしまいコストがかかる。また、伝送エラーが生じた場合に対応することができない。
本発明は、伝送時のエラーがいずれの帯域において発生していても、符号化されている画像データの復号を可能とすることを目的とする。
本発明の一態様に係る復号装置は、画像データを周波数成分の異なる複数のサブバンドに分解し、かつ符号化することで生成されているそれぞれのサブバンド符号を復号する復号装置であって、第一の視点で得られた画像データに対応する複数のサブバンド符号を取得する取得手段と、前記取得した複数のサブバンド符号を復号する復号手段と、前記復号に失敗したサブバンド符号がある場合、前記第一の視点以外の視点で得られた画像データを用いて前記第一の視点に相当する仮想視点の画像データを生成する生成手段と、生成された前記仮想視点の画像データを複数のサブバンドに分解するサブバンド分解手段と、前記分解されたサブバンドのうち、前記復号に失敗したサブバンド符号に相当する周波数成分の第一のサブバンドデータで、前記復号に失敗したサブバンド符号を補完する補完手段とを備えることを特徴とする。
本発明によれば、伝送時のエラーがいずれの帯域において発生していても、符号化されている画像データの復号を可能とすることができる。
画像処理システムの構成を説明する図である。 カメラアダプタの機能構成を説明するブロック図である。 前景画像と背景画像を説明する概念図である。 フロントエンドサーバの機能構成を説明するブロック図である。 フロントエンドサーバのデータ入力制御部の構成を説明するブロック図である。 画像圧縮処理フローを説明する図である。 サブバンドと符号列の関係を説明する図である。 画像伸張処理フローを説明する図である。 復号エラー補完処理フローを説明する図である。 図9の復号エラー補完処理のデータフローを説明する図である。 画像伸張処理フローを説明する図である。 復号エラー補完処理フローを説明する図である。
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
本明細書において符号の末尾のアルファベットは、同種の構成において個々の構成を識別するために用いている。末尾のアルファベットを省略して記載する場合、個々の構成を特に区別せずに説明しているものとする。
<<第1の実施形態>>
<システム構成>
図1は、本実施形態にかかる画像処理システム100の構成を示す図である。本実施形態の画像処理システム100は、例えば競技場(スタジアム)やコンサートホールなどの施設に、複数のカメラ及びマイクを設置し、撮影及び集音を行う形態のものである。画像処理システム100は、センサシステム110a・・・110z、画像コンピューティングサーバ200、コントローラ300、スイッチングハブ180、及びエンドユーザ端末190を有する。
コントローラ300は、制御ステーション310と仮想カメラ操作UI(User Interface)330とを有する。制御ステーション310は、画像処理システム100を構成するそれぞれのブロック(サーバまたは装置など)に対してネットワーク310a、310b、310c、180a、180b、及びデイジーチェーン170a・・・170yを通じた制御が可能である。例えば、制御ステーション310は、各ブロックの動作状態の管理及びパラメータ設定制御などを行う。上記のネットワークは、Ethernet(登録商標)であるIEEE標準準拠のGbE(ギガビットイーサーネット)や10GbEでもよいし、インターコネクトInfiniband、産業用イーサーネット等を組合せて構成されてもよい。また、これらに限定されず、他の種別のネットワークであってもよい。本実施形態においてネットワーク180a、180b、及びデイジーチェーン170a・・・170yで構成される伝送システムにおいて用いられる伝送方式には、UDP(User Datagram Protocol)接続が用られる。UDPは、片方向通信であり、TCP(Transmission Control Protocol)と異なり信頼性が低い反面、高速でデータを伝送することができる。
センサシステム110a・・・センサシステム110zは、26セットの画像及び音声をセンサシステム110zから画像コンピューティングサーバ200へ送信する。本実施形態の画像処理システム100においては、センサシステム110a・・・センサシステム110zが、デイジーチェーンにより接続される。このため、各センサシステムで得られた画像及び音声は、チェーン接続されている下流側のセンサシステムに順次伝送される。そして、最下流のセンサシステム110zから、26セット分の画像及び音声が、ネットワーク180bおよびスイッチングハブ180を介して画像コンピューティングサーバ200へ伝送される。デイジーチェーン接続の構成を採用することで、接続ケーブル数の削減や配線作業の省力化ができる。なお、各センサシステム110がスイッチングハブ180に接続されて、スイッチングハブ180を経由してセンサシステム110間のデータ送受信を行うスター型のネットワーク構成としてもよい。なお、図1においては、センサシステムの台数として26セットを例に挙げて示しているが、あくまでも一例であり、台数をこれに限定するものではない。
本実施形態では、特に断りがない限り、画像という文言が、動画と静止画の概念を含むものとして説明する。すなわち、本実施形態の画像処理システム100は、静止画及び動画の何れについても処理可能である。また、本実施形態では、画像処理システム100により提供される仮想視点コンテンツには、仮想視点画像と仮想視点音声が含まれる例を中心に説明するが、これに限らない。例えば、仮想視点コンテンツに音声が含まれていなくても良い。また例えば、仮想視点コンテンツに含まれる音声が、仮想視点に最も近いマイクにより集音された音声であっても良い。また、本実施形態では、説明の簡略化のため、部分的に音声についての記載を省略しているが、基本的に画像と音声は共に処理されるものとする。
センサシステム110は、マイク111、カメラ112、雲台113、外部センサ114、及びカメラアダプタ120を有する。センサシステム110は、それぞれ1台ずつのカメラ112を有する。このように画像処理システム100は、被写体を複数の方向から撮影するための複数のカメラを有する。なお、カメラ112とカメラアダプタ120が一体となって構成されていてもよい。さらに、カメラアダプタ120の機能の少なくとも一部をフロントエンドサーバ230が有していてもよい。
次に、画像コンピューティングサーバ200の構成及び動作について説明する。本実施形態の画像コンピューティングサーバ200は、センサシステム110zから取得したデータの処理を行う。画像コンピューティングサーバ200はフロントエンドサーバ230、データベース250(以下、DBと記載することもある)、バックエンドサーバ270、およびタイムサーバ290を有する。
タイムサーバ290は、時刻及び同期信号を配信する機能を有し、スイッチングハブ180を介してセンサシステム110a・・・センサシステム110zに時刻及び同期信号を配信する。時刻と同期信号とを受信したカメラアダプタ120a・・・120zは、カメラ112a・・・112zを、時刻と同期信号とをもとにGenlockさせ、画像(フレーム)の同期を行う。すなわち、タイムサーバ290は、複数のカメラ112の撮影タイミングを同期させる。これにより、画像処理システム100は同じタイミングで撮影された複数の画像(以下、撮影画像ともいう)に基づいて仮想視点画像を生成できるので、撮影タイミングのずれによる仮想視点画像の品質低下を抑制できる。なお、本実施形態ではタイムサーバ290が、複数のカメラ112の時刻同期を管理するものとするが、これに限らず、時刻同期のための処理を各カメラ112又は各カメラアダプタ120が独立して行ってもよい。
フロントエンドサーバ230は、センサシステム110zから取得した画像及び音声から、セグメント化された伝送パケットを再構成してデータ形式を変換する。そして、カメラの識別子、データ種別、およびフレーム番号に応じてデータベース250にデータを書き込む。
データベース250は、フロントエンドサーバ230から受信したデータへのアクセスが可能になるようにデータベーステーブルを作成する。また、バックエンドサーバ270から要求されたデータが、キャッシュ、一次ストレージ、または二次ストレージのいずれに保存されているか判定し、保存された先からデータを読み出してバックエンドサーバ270に送信する。
バックエンドサーバ270は、仮想カメラ操作UI330から視点の指定を受け付け、受け付けた視点に基づいて、データベース250から対応する画像データ及び音声データを読み出し、レンダリング処理を行って仮想視点画像を生成する。すなわち、バックエンドサーバ270は、複数のカメラ112により撮影された撮影画像(複数視点画像)と視点情報とに基づく仮想視点画像を生成する。そしてバックエンドサーバ270は、生成した仮想視点画像をエンドユーザ端末190に提供する。本実施形態における仮想視点画像は、仮想的な視点から被写体を撮影した場合に得られる仮想視点画像を含むコンテンツである。言い換えると、仮想視点画像は、指定された視点における見えを表す画像であるとも言える。仮想的な視点(仮想視点)は、ユーザにより指定されても良いし、画像解析の結果等に基づいて自動的に指定されても良い。すなわち仮想視点画像には、ユーザが任意に指定した視点に対応する任意視点画像(自由視点画像)が含まれる。
なお、画像コンピューティングサーバ200の構成はこれに限らない。例えば、フロントエンドサーバ230、データベース250、及びバックエンドサーバ270のうち少なくとも2つが一体となって構成されていてもよい。また、フロントエンドサーバ230、データベース250、及びバックエンドサーバ270の少なくとも何れかが複数含まれていてもよい。また、画像コンピューティングサーバ200内の任意の位置に上記の装置以外の装置が含まれていてもよい。さらに、画像コンピューティングサーバ200の機能の少なくとも一部をエンドユーザ端末190や仮想カメラ操作UI330が有していてもよい。
なお本構成に限らず、例えば、仮想カメラ操作UI330が、直接センサシステム110から画像を取得することも可能である。仮想カメラ操作UI330が直接センサシステム110から画像を取得する形態の場合、後述する伝送時の復号エラーの処理は、仮想カメラ操作UI330を含むコントローラ300で行えばよい。
次に、図1に記載の画像処理システム100におけるカメラアダプタ120、フロントエンドサーバ230、およびバックエンドサーバ270の詳細な構成を、図面を参照しながらそれぞれ説明する。
<カメラアダプタの構成>
図2は、本実施形態におけるカメラアダプタ120の機能ブロックを示す図である。カメラアダプタ120は、ネットワークアダプタ1210、伝送部1220、画像処理部1230、及び外部機器制御部1240を有する。
ネットワークアダプタ1210は、データ送受信部1211及び時刻制御部1212を有する。データ送受信部1211は、デイジーチェーン170、ネットワーク180、ネットワーク291、及びネットワーク310aを介したデータ通信を行う。データ送受信部1211は、他のカメラアダプタ120、フロントエンドサーバ230、タイムサーバ290、及び制御ステーション310とデータ通信を行う。例えばデータ送受信部1211は、カメラ112によって撮影された撮影画像が前景背景分離部1231によって分離された前景画像と背景画像とを、別のカメラアダプタ120に対して出力する。出力先のカメラアダプタ120は、画像処理システム100内のカメラアダプタ120のうち、データルーティング処理部1222の処理に応じて予め定められた順序における次のカメラアダプタ120である。各カメラアダプタ120が前景画像と背景画像とを出力することで、複数の視点から撮影された前景画像と背景画像に基づいて仮想視点画像が生成されることになる。なお、撮影画像から分離した前景画像を出力して背景画像は出力しないカメラアダプタ120が存在してもよい。
時刻制御部1212は、例えばIEEE1588規格のOrdinay Clockに準拠し、タイムサーバ290との間で送受信したデータのタイムスタンプを保存する機能と、タイムサーバ290と時刻同期を行う機能とを実現する。
伝送部1220は、ネットワークアダプタ1210を介してスイッチングハブ180等に対するデータの伝送を制御する機能を有する。伝送部1220は、データ圧縮・伸張部1221、データルーティング処理部1222、時刻同期制御部1223、画像・音声伝送処理部1224、およびデータルーティング情報保持部1225を有する。
データ圧縮・伸張部1221は、データ送受信部1211を介して送受信されるデータに対して所定の圧縮方式、圧縮率、及びフレームレートを適用した圧縮を行う機能と、圧縮されたデータを伸張する機能を有している。圧縮処理には、例えば量子化処理および符号化処理が含まれる。伸張処理には、例えば復号化処理および逆量子化処理が含まれる。データ圧縮・伸張部1221で行う圧縮方式に関しては後述する。
データルーティング処理部1222は、データルーティング情報保持部1225が保持するデータを利用し、データ送受信部1211が受信したデータ及び画像処理部1230で処理されたデータのルーティング先を決定する。さらに、決定したルーティング先にデータを送信する機能を有している。
時刻同期制御部1223は、IEEE1588規格のPTP(Precision Time Protocol)に準拠し、タイムサーバ290と時刻同期に係わる処理を行う機能を有している。なお、PTPに限定するのではなく他の同様のプロトコルを利用して時刻同期してもよい。
画像・音声伝送処理部1224は、データ圧縮・伸張部1221で圧縮された画像データ又は音声データを、他のカメラアダプタ120またはフロントエンドサーバ230へ転送するためのメッセージを作成する機能を有している。メッセージには画像データ又は音声データ、及び各データのメタ情報が含まれる。メタ情報には、画像の撮影または音声のサンプリングをした時のタイムコードまたはシーケンス番号、データ種別、及び、カメラ112またはマイク111の個体を示す識別子などが含まれる。また、画像・音声伝送処理部1224は、他のカメラアダプタ120からデータ送受信部1211を介してメッセージを受取る。そして、メッセージに含まれるデータ種別に応じて、伝送プロトコル規定のパケットサイズにフラグメントされたデータ情報を、画像データまたは音声データに復元する。復元されたデータは、データ圧縮・伸張部1221によって伸張処理が行われる。
データルーティング情報保持部1225は、データ送受信部1211で送受信されるデータの送信先を決定するためのアドレス情報を保持する機能を有する。
画像処理部1230は、カメラ制御部1241の制御によりカメラ112が撮影した画像データ、及び、他のカメラアダプタ120から受け取った画像データに対して処理を行う機能を有する。画像処理部1230は、前景背景分離部1231、三次元モデル情報生成部1232、およびキャリブレーション制御部1233を有する。
前景背景分離部1231は、カメラ112が撮影した画像データを、前景画像と背景画像とに分離する機能を有している。すなわち、複数のカメラアダプタ120それぞれの前景背景分離部1231は、複数のカメラ112のうち対応するカメラ112による撮影画像から所定領域を抽出する。所定領域は例えば撮影画像に対するオブジェクト検出の結果得られる前景画像であり、この抽出により前景背景分離部1231は、撮影画像を前景画像と背景画像とに分離する。なお、オブジェクトとは、例えば人物である。オブジェクトは特定人物(選手、監督、又は審判など)であってもよいし、ボールやゴールなど、画像パターンが予め定められている物体であってもよい。また、オブジェクトとして、動体が検出されるようにしても良い。例えば図3(a)に示すように、人物等の重要なオブジェクトを含む前景画像と、図3(b)に示すようにオブジェクトを含まない背景画像とを分離して処理すればよい。
三次元モデル情報生成部1232は、前景背景分離部1231で分離された前景画像及び他のカメラアダプタ120から受取った前景画像を利用し、例えばステレオカメラの原理を用いて三次元モデルに係わる画像情報を生成する機能を有している。また、三次元モデル情報生成部1232は、カメラ固有の内部パラメータ(焦点距離、画像中心、及びレンズ歪みパラメータ等)と、カメラの位置姿勢を表す外部パラメータ(回転行列及び位置ベクトル等)とを取得する。取得したパラメータを用いて三次元モデルに係る画像情報を生成する。
キャリブレーション制御部1233は、キャリブレーションに必要な画像データを、カメラ制御部1241を介してカメラ112から取得し、キャリブレーションに係わる演算処理を行うフロントエンドサーバ230に送信する機能を有している。キャリブレーション制御部1233は、入力された画像に対して、カメラ毎の色のばらつきを抑えるための色補正処理や、カメラの振動に起因するブレに対して画像の位置を安定させるためのブレ補正処理(電子防振処理)などを行う。
外部機器制御部1240は、カメラアダプタ120に接続する機器を制御する機能を有する。外部機器制御部1240は、カメラ制御部1241、マイク制御部1242、雲台制御部1243、およびセンサ制御部1244を有する。
カメラ制御部1241は、カメラ112と接続し、カメラ112の制御、撮影画像取得、同期信号提供、および時刻設定などを行う機能を有している。カメラ112の制御には、例えば撮影パラメータ(画素数、色深度、フレームレート、およびホワイトバランスの設定など)の設定および参照が含まれる。また、カメラ112の状態(撮影中、停止中、同期中、およびエラーなど)の取得、撮影の開始および停止、ならびに、ピント調整などが含まれる。
マイク制御部1242は、マイク111と接続し、マイク111の制御、収音の開始および停止、ならびに、収音された音声データの取得などを行う機能を有している。雲台制御部1243は、雲台113と接続し、雲台113の制御を行う機能を有している。雲台113の制御は例えば、パン・チルト制御や、状態取得などがある。センサ制御部1244は、外部センサ114と接続し、外部センサ114がセンシングしたセンサ情報を取得する機能を有する。例えば、外部センサ114としてジャイロセンサが利用される場合は、振動を表す情報を取得することができる。そして、センサ制御部1244が取得した振動情報を用いて、画像処理部1230は、前景背景分離部1231での処理に先立って、振動を抑えた画像を生成することができる。
<フロントエンドサーバの構成>
図4は、フロントエンドサーバ230の機能ブロックを示した図である。フロントエンドサーバ230は、制御部2310、データ入力制御部2320、データ同期部2330、CADデータ記憶部2335、キャリブレーション部2340、画像処理部2350、および三次元モデル結合部2360を有する。また、画像結合部2370、撮影データファイル生成部2380、およびDBアクセス制御部2390を有する。
制御部2310は、CPU、DRAM、プログラムデータや各種データを記憶したHDDやNANDメモリなどの記憶媒体、およびEthernet(登録商標)等のハードウェアで構成される。制御部2310は、フロントエンドサーバ230の各機能ブロックおよびフロントエンドサーバ230のシステム全体の制御を行う。また、キャリブレーション動作、撮影前の準備動作、および撮影中動作などの動作モードを切り替える。また、Ethernet(登録商標)を通じて制御ステーション310からの制御指示を受信し、各モードの切り替えやデータの入出力などを行う。また、ネットワークを通じて制御ステーション310からスタジアムCADデータ(スタジアム形状データ)を取得し、スタジアムCADデータをCADデータ記憶部2335と非撮影データファイル生成部2385に送信する。なお、本実施形態におけるスタジアムCADデータ(スタジアム形状データ)はスタジアムの形状を示す三次元データであり、メッシュモデルやその他の三次元形状を表すデータであればよく、CAD形式に限定されない。
データ入力制御部2320は、Ethernet(登録商標)等の通信路およびスイッチングハブ180を介して、カメラアダプタ120とネットワーク接続されている。データ入力制御部2320は、ネットワークを通してカメラアダプタ120から前景画像、背景画像、被写体の三次元モデル、音声データ、およびカメラキャリブレーション撮影画像データを取得する。データ入力制御部2320は、取得した前景画像および背景画像をデータ同期部2330に送信し、カメラキャリブレーション撮影画像データをキャリブレーション部2340に送信する。また、データ入力制御部2320は受信したデータの圧縮伸張やデータルーティング処理等を行う機能を有する。データの伸張処理の詳細に関しては後述する。
データ同期部2330は、カメラアダプタ120から取得したデータをDRAM上に一次的に記憶し、前景画像、背景画像、音声データおよび三次元モデルデータが揃うまでバッファする。データが揃ったら、データ同期部2330は、前景画像および背景画像を画像処理部2350に、三次元モデルデータを三次元モデル結合部2360に、音声データを撮影データファイル生成部2380に、それぞれ送信する。
CADデータ記憶部2335は、制御部2310から受け取ったスタジアム形状を示す三次元データをDRAMまたはHDDやNANDメモリ等の記憶媒体に保存する。そして、画像結合部2370に対して、スタジアム形状データの要求を受け取った際に保存されたスタジアム形状データを送信する。
キャリブレーション部2340は、カメラのキャリブレーション動作を行い、キャリブレーションによって得られたカメラパラメータを非撮影データファイル生成部2385に送る。また、自身の記憶領域にもカメラパラメータを保持し、後述する三次元モデル結合部2360にカメラパラメータ情報を提供する。
画像処理部2350は、前景画像や背景画像に対して、カメラ間の色や輝度値の合わせこみ、RAW画像データが入力される場合には現像処理を行う。また、画像復号時のエラー補完やカメラのレンズ歪みの補正等の処理を行う。そして、画像処理を行った前景画像を撮影データファイル生成部2380に、背景画像を画像結合部2370に、それぞれ送信する。画像復号時のエラー補完の方法に関しては後述する。
三次元モデル結合部2360は、カメラアダプタ120から取得した同一時刻の三次元モデルデータを、キャリブレーション部2340によって生成されたカメラパラメータを用いて結合する。そして、VisualHullと呼ばれる方法を用いて、スタジアム全体における前景画像の三次元モデルデータを生成する。生成した三次元モデルは撮影データファイル生成部2380に送信される。
画像結合部2370は、画像処理部2350から背景画像を取得し、CADデータ記憶部2335からスタジアムの三次元形状データ(スタジアム形状データ)を取得し、取得したスタジアムの三次元形状データの座標に対する背景画像の位置を特定する。背景画像の各々についてスタジアムの三次元形状データの座標に対する位置が特定できると、背景画像を結合して1つの背景画像とする。なお、本背景画像の三次元形状データの作成については、バックエンドサーバ270が実施してもよい。
撮影データファイル生成部2380は、データ同期部2330から音声データを、画像処理部2350から前景画像を、三次元モデル結合部2360から三次元モデルデータを、画像結合部2370から三次元形状に結合された背景画像を取得する。そして、取得したこれらのデータをDBアクセス制御部2390に対して出力する。なお、撮影データファイル生成部2380は、対応付けられたデータをデータの種類別にファイル化して出力してもよいし、複数種類のデータを時間情報が示す時刻ごとにまとめてファイル化して出力してもよい。このように対応付けられた撮影データがDBアクセス制御部2390によってデータベース250に出力されることで、バックエンドサーバ270は、時間情報が対応している前景画像と背景画像とから仮想視点画像を生成できる。
非撮影データファイル生成部2385は、キャリブレーション部2340からカメラパラメータを、制御部2310からスタジアムの三次元形状データを取得し、ファイル形式に応じて成形した後にDBアクセス制御部2390に送信する。
DBアクセス制御部2390は、InfiniBandなどにより高速な通信が可能となるようにデータベース250と接続される。そして、撮影データファイル生成部2380および非撮影データファイル生成部2385から受信したファイルをデータベース250に対して送信する。
なお、本実施形態ではフロントエンドサーバ230が前景画像と背景画像の対応付けを行うものとするが、これに限らず、データベース250が対応付けを行ってもよい。例えば、データベース250は、フロントエンドサーバ230から時間情報を有する前景画像および背景画像を取得する。そしてデータベース250は、前景画像と背景画像とを前景画像の時間情報および背景画像の時間情報に基づいて対応付けて、データベース250が備える記憶部に出力してもよい。
<フロントエンドサーバのデータ入力制御部の構成>
図5は、フロントエンドサーバ230のデータ入力制御部2320の機能ブロックを示す図である。データ入力制御部2320は、サーバネットワークアダプタ2321、サーバ伝送部2322、およびサーバ画像処理部2323を有する。サーバネットワークアダプタ2321は、サーバデータ受信部2324を有する。サーバ伝送部2322は、サーバデータ伸張部2325、サーバデータルーティング処理部2326、サーバ画像・音声伝送処理部2327、およびサーバデータルーティング情報保持部2328を有する。
サーバネットワークアダプタ2321は、サーバデータ受信部2324を有し、サーバデータ受信部2324を介してカメラアダプタ120から送信されるデータを受信する。
サーバ伝送部2322は、サーバデータ受信部2324から受取ったデータに対する処理を行う機能を有する。サーバデータ伸張部2325は、圧縮されたデータを伸張する機能を有する。サーバデータルーティング処理部2326は、サーバデータルーティング情報保持部2328が保持するアドレス等のルーティング情報に基づきデータの転送先を決定し、サーバデータ受信部2324から受取ったデータを転送する。サーバ画像・音声伝送処理部2327は、カメラアダプタ120からサーバデータ受信部2324を介してメッセージを受取り、メッセージに含まれるデータ種別に応じて、フラグメント化されたデータを画像データまたは音声データに復元する。なお、復元後のデータは、サーバデータ伸張部2325において伸張される。サーバデータルーティング情報保持部2328は、サーバデータ受信部2324が受信したデータの送信先を決定するためのアドレス情報を保持する機能を有する。
サーバ画像処理部2323は、カメラアダプタ120から受信した画像データまたは音声データに係わる処理を行う機能を有している。例えば、画像データのデータ実体(前景画像、背景画像、および三次元モデル情報)に応じた、カメラ番号や画像フレームの撮影時刻、画像サイズ、画像フォーマット、および画像の座標の属性情報などが付与されたフォーマットへの整形処理などである。
<バックエンドサーバの説明>
次に、バックエンドサーバ270の処理について説明する。バックエンドサーバ270は、データベース250およびコントローラ300から送信されるデータを受信する。データベース250からは、スタジアムの形状を示す三次元データ(スタジアム形状データ)、前景画像、背景画像、前景画像の三次元モデル(以降、前景三次元モデルと称する)、および音声を受信する。また、仮想視点画像の生成に係る視点を指定するコントローラ300から出力される仮想カメラパラメータを受信する。仮想カメラパラメータとは、仮想視点の位置や姿勢などを表すデータであり、例えば、外部パラメータの行列と内部パラメータの行列とが用いられる。
バックエンドサーバ270は、背景メッシュモデル(スタジアム形状データ)で示される三次元空間形状に対して背景画像をテクスチャとして貼り付けることでテクスチャ付き背景メッシュモデルを生成する。メッシュモデルとは、例えばCADデータなど三次元の空間形状を面の集合で表現したデータのことである。テクスチャとは、物体の表面の質感を表現するために貼り付ける画像のことである。また、バックエンドサーバ270は、前景画像および前景画像の三次元モデル群より前景三次元モデルのテクスチャ情報を決定し、前景三次元モデル群を生成する。
バックエンドサーバ270は、仮想カメラパラメータに基づいて、前景画像群を仮想視点からの見た目となるように透視変換する。そして、背景画像と前景画像をレンダリングして全景の仮想視点画像を生成する。
本実施形態では仮想視点画像の生成方式として、モデルベースレンダリング(Model−Based Rendering:MBR)とイメージベース(Image−Based Rendering:IBR)の2つのレンダリングモードが用いられる。
MBRとは、被写体を複数の方向から撮影した複数の撮影画像に基づいて生成される三次元モデルを用いて仮想視点画像を生成する方式である。具体的には、視体積交差法、Multi−View−Stereo(MVS)などの三次元形状復元手法により得られた対象シーンの三次元形状(モデル)を利用し,仮想視点からのシーンの見えを画像として生成する技術である。IBRとは、対象のシーンを複数視点から撮影した入力画像群を変形、合成することによって仮想視点からの見えを再現した仮想視点画像を生成する技術である。本実施形態では、IBRを用いる場合、MBRを用いて三次元モデルを生成するための複数の撮影画像より少ない1又は複数の撮影画像に基づいて仮想視点画像が生成される。レンダリングモードがMBRの場合、背景メッシュモデルと前景三次元モデル群とを合成することで全景モデルが生成され、その全景モデルから仮想視点画像が生成される。レンダリングモードがIBRの場合、背景テクスチャモデルに基づいて仮想視点から見た背景画像が生成され、その背景画像に、前景画像を合成することで仮想視点画像が生成される。なお、レンダリング部2706は、MBRとIBR以外のレンダリング手法を用いてもよい。
バックエンドサーバ270はまた、仮想視点において聞こえる音声(音声群)を生成する。そして、生成した音声と仮想視点画像とを合成して仮想視点コンテンツを生成し、コントローラ300とエンドユーザ端末190へ例えばEthernet(登録商標)を用いて仮想視点コンテンツを出力する。なお、バックエンドサーバ270は、レンダリング部2706で生成された、音声を含まない仮想視点画像を出力してもよい。
以上述べたようなシステム構成とすることにより、複数のカメラで取得された撮影画像から所望の仮想視点画像の生成が可能となる。
<カメラアダプタにおける圧縮処理の処理フロー>
図6は、カメラアダプタ120内部の伝送部1220に含まれるデータ圧縮・伸張部1221で行われる前景画像および背景画像の圧縮に関する処理フローを示す図である。図6に示す処理フローは、前景画像および背景画像のそれぞれに対して行われる処理である。
まずステップS601においてデータ圧縮・伸張部1221は、符号化対象の画像(前景画像または背景画像)を複数のサブバンドに分解する。この処理は、対象の画像の画像信号(画像データ)を高周波成分のサブバンドのデータ(係数値)と低周波成分のサブバンドのデータ(係数値)とに分解し、それぞれに適した符号化を実施するためのものであり、例えばウェーブレット変換等を用いればよい。また変換の際に使用するフィルタは、国際標準であるJPEG2000(ISO/IEC15444|ITU−T T.800)でも利用されている実数型の9/7フィルタや整数型5/3フィルタなど、任意のフィルタを用いてよい。本実施形態では、サブバンド分解を水平方向、垂直方向それぞれに1回実施することとする。このときに生成されるサブバンドは、水平、垂直ともに低周波のLLサブバンド、水平が高周波かつ垂直が低周波のHLサブバンド、水平が低周波かつ垂直が高周波のLHサブバンド、および、水平、垂直ともに高周波のHHサブバンドの4成分となる。ただしサブバンド分解方法はこれに限らず、例えば低周波成分に対してさらに実施してもよい。その場合のサブバンドの数はサブバンド分解回数×3+1となる。図7(a)は、サブバンド分解を3回行った例であり、サブバンドの数は合計10となる。
ステップS602においてデータ圧縮・伸張部1221は、ステップS601で生成したサブバンドの一つに着目し、サブバンドの係数値をそれぞれ量子化する。量子化用のパラメータは予め設定した値を用いてもよいし、前景画像を高画質、背景画像を低画質とするよう制御してもよい。量子化されたサブバンドの係数値をサブバンドデータと称呼する。なお、量子化前のサブバンドの係数値をサブバンドデータと称呼してもよい。
ステップS603においてデータ圧縮・伸張部1221は、着目するサブバンドの量子化後の係数値をエントロピー符号化する。本処理は例えばハフマン符号化や、算術符号化などを用いればよい。
ステップS604においてデータ圧縮・伸張部1221は、ステップS601で生成した全てのサブバンドの処理を終えたか否かを判定する。全てのサブバンドを処理した場合はステップS605へ、そうでない場合は処理対象を次のサブバンドに移した上でステップS602へ、それぞれ移る。
ステップS605においてデータ圧縮・伸張部1221は、符号列を生成する。データ圧縮・伸張部1221は、復号時に必要なヘッダ情報と、生成した各サブバンド符号とを連結させて符号列を生成する。サブバンド符号は、それぞれのサブバンドの成分に対応する符号のデータである。図7(b)は、図7(a)のようにサブバンド分解を3回行った場合の符号列の例である。符号列中の任意のサブバンド符号にアクセスすることを可能とするよう、ヘッダ情報には少なくとも各サブバンド符号のデータサイズを含む。なお、図8は、サブバンド化の説明の変形例であり、本実施形態においては、上述のとおり、サブバンド分解を水平方向、垂直方向それぞれに1回実施する形態を例に挙げて説明する。
ステップS606においてデータ圧縮・伸張部1221は、画像処理部1230が出力した全ての前景画像および背景画像を処理したか否かを判定する。全ての画像を処理したと判定された場合はそのまま処理を終え、そうでない場合は処理対象を次の画像に移した上でステップS601に戻る。
以上の処理により、伝送部1220に入力された前景画像および背景画像を、それぞれサブバンド符号化を用いて符号化することができる。
<フロントエンドサーバにおけるデータ復号処理の処理フロー>
図8は、フロントエンドサーバ230内部のデータ入力制御部2320に含まれるサーバデータ伸張部2325で行われる、全視点の圧縮データの復号処理に関する処理フローを示す図である。図8の処理は、図7(b)に示すようなサブバンド符号を含む符号列ごと(すなわち、1つの画像ごと)に行われる処理である。
ステップS801においてサーバデータ伸張部2325は、復号対象のサブバンド符号をエントロピー復号し、係数値を得る。この復号処理は、前述した、カメラアダプタ120内部で行う圧縮処理におけるエントロピー符号化に対応する処理を行えばよい。
ステップS802においてサーバデータ伸張部2325は、ステップS801で復号エラーが発生したか否かを判定する。例えば、復号結果の係数値がヘッダに記載されている範囲外の値となった場合や、符号の読み出し量がヘッダ記載の値と異なった場合などに復号エラーとすればよい。他にも、伝送前に画像データ符号にチェックサムやパリティ符号などのエラー検出用符号を付記しておき、このエラー検出用符号を逐次確認することでエラー検出をしてもよい。このようにして、サブバンド符号の復号に成功したか、あるいは、失敗したか(復号エラーが発生したか)を検知することができる。復号エラーが発生した場合はステップS803へ、そうでない場合はステップS806へそれぞれ移る。
ステップS803においてサーバデータ伸張部2325は、復号エラーが発生したサブバンド符号は、低周波成分か否かを判定する。本実施形態では前述の通り、水平方向、垂直方向それぞれに対してサブバンド分解をしている。よって本判定処理では、復号エラーの発生したサブバンド符号が、水平、垂直どちらも低周波成分であるLLサブバンドであるか否かを判定することとする。復号エラーの発生したサブバンド符号が低周波成分である場合はステップS804へ、そうでない場合はステップS805へそれぞれ移る。LLサブバンドか否かで処理を切り替えている理由は、低周波成分は、高周波成分に比べて画質に与える寄与度が高いからである。つまり、画質に対する影響度に応じて、復号エラーが発生した場合の処理の切り替えが行われる。画質に対して与える影響が大きいLLサブバンドの場合には、後述するように他の視点の画像を用いたエラー補完処理が行われる。一方、画質に対して与える影響が大きくない他のサブバンドの場合には、後述するようにダミー値で補完する処理が行われる。すなわち、本実施形態では、サブバンド符号の周波数成分に応じて、復号に失敗したサブバンド符号の補完方法を、ダミー値で置き替える第一の補完方法とダミー値で置き換えない第二の補完方法との間で切り替える処理が行われる。サブバンドのうちの最も低い周波数成分(LLサブバンド)と、最も低い周波数成分以外のサブバンドとで補完方法が切り替えられる。
ステップS804においてサーバデータ伸張部2325は、サブバンドの合成を保留するためのフラグを立てる。このサブバンド合成保留フラグが立っている場合には、復号エラーが生じているので、後述するように、サーバデータ伸張部2325におけるサブバンドの合成処理は行われない(保留される)。フラグを立てたらステップS807に移る。
ステップS805においてサーバデータ伸張部2325は、復号エラーとなったサブバンドを、所定のダミーの値で補う。ダミーの値は例えば0などを用いればよい。この処理を終えたらステップS806に移る。
ステップS806においてサーバデータ伸張部2325は、処理中のサブバンド係数値を逆量子化する。この処理は、カメラアダプタ120内部で行う圧縮処理における量子化に対応する処理を行えばよい。処理を終えたらステップS807に移る。
ステップS807においてサーバデータ伸張部2325は、処理中の画像に対応するサブバンド符号を全て処理したか否かを判定する。全て処理した場合はステップS808へ、そうでない場合は復号対象を次のサブバンド符号に移し、ステップS801に戻る。
ステップS808においてサーバデータ伸張部2325は、サブバンド合成保留フラグが立っているか否かを判定する。サブバンド合成保留フラグが立っている場合はステップS810へ、そうでない場合はステップS809へそれぞれ移る。
ステップS809においてサーバデータ伸張部2325は、ここまでで得られたサブバンドを合成し、画像データを再構成する。この処理は、カメラアダプタ120内部で行う圧縮処理におけるサブバンド分解に対応する処理を行えばよい。処理を終えたらステップS810に移る。
ステップS810においてサーバデータ伸張部2325は、処理中の視点に対応する前景画像および背景画像をすべて処理したか否かを判定する。処理済の場合はステップS811へ、そうでない場合は処理を次の画像に移しステップS801へ、それぞれ移る。
次にステップS811では、本システムにおける全ての視点を処理したか否かを判定する。処理済の場合はそのまま処理を終え、そうでない場合は処理を次の視点に移しステップS801へ移る。
以上のような処理を行うことで、各視点の前景画像および背景画像を復号することができる。また復号エラーが発生したサブバンド符号が、視覚的に変化に感応しにくい高周波成分の場合には、ダミー値で補ったサブバンド符号を用いて画像データを復号することができる。一方、低周波成分において復号エラーが発生した場合は、サブバンド合成処理をスキップし、後段のフロントエンドサーバの画像処理部2350での補完処理に、処理を委ねることになる。
<フロントエンドサーバにおける復号エラー補完処理の処理フロー>
図9は、フロントエンドサーバ230内部の画像処理部2350で行われる復号エラー補完処理を示すフローチャートである。図10は、図9の復号エラー補完処理に関するデータフロー図である。図10のデータフローの各保管先は、画像処理部2350内に含まれているものとして説明するが、これに限られない。以下、図9の処理フローと図10のデータフロー図とを用いて説明する。以下では、説明の便宜上、N番目の視点のカメラで取得された画像を実視点[N]画像と呼称する。そして実視点[N]画像に相当する視点を仮想視点画像生成処理で再現した画像を、仮想視点[N]画像と呼称する。
ステップS901において画像処理部2350は、処理中の画像において、サブバンド合成保留フラグが立っているか否かを判定する。サブバンド合成保留フラグが立っている場合はステップS902へ、そうでない場合はステップS907にそれぞれ移る。
ステップS902において画像処理部2350は、復号エラーが発生した視点を仮想視点とした仮想視点画像生成処理を行う。この仮想視点画像生成処理では、復号エラーが発生した視点以外の視点の画像を用いて、復号エラーが発生した視点の仮想視点画像を生成する処理が行われる。この処理は、図10の処理1004に相当する処理である。図10に示すように、復号エラーが発生した視点(第一の視点)に対応するカメラ番号をNとすると、まず復号画像保管先1001から、復号済みである実視点[N−1]画像と実視点[N+1]画像とを取得する。すなわち、復号エラーが発生した第一の視点を挟み込む視点の実視点画像を取得する。より詳細には、復号エラーが発生した画像が前景画像である場合には、実視点[N−1]の前景画像と、実視点[N+1]の前景画像とを取得する。このように、復号エラーが発生した視点になるべく近い位置の視点の実視点画像を取得することが好ましい。仮想視点の生成に用いる実画像は、位置関係が近いほど再現度が増えるからである。逆に、遠い視点の画像を用いると、仮想視点の画像に必要な位置の画素が写っていないことがあるからである。なお、必ずしも隣接した実視点画像を用いらなくてもよい。再現したい仮想視点の画像が生成できればよい。
次に画像処理部2350は、3Dモデル保管先1003から三次元(3D)モデルを取得する。そして実視点[N−1]画像、実視点[N+1]画像、および三次元モデルを用いて仮想視点画像の生成を行う。これにより仮想視点[N]画像が得られる。なお、仮想視点画像生成方式に関してはバックエンドサーバ270で実施している方法を用いればよい。例えばバックエンドサーバ270でMBRを用いる場合、この処理でもMBRで仮想視点画像を生成すればよい。
図9のフローチャートに戻り説明を続ける。ステップS903において画像処理部2350は、生成した仮想視点[N]画像をサブバンド分解する。この処理は、図10のサブバンド分解処理1005に相当する処理である。図10に示すように、処理1005を終えると、仮想視点[N]画像のLL、HL、LH、HHサブバンドのサブバンドデータが得られる。なお、処理1005のサブバンド分解処理は、カメラアダプタ120内部の伝送部1220で実施している方法を用いればよい。サブバンド分解の回数(レベル)はカメラアダプタ内で実施した回数と同数とする。これにより、エラーが生じてるN番目の視点の仮想視点[N]画像のサブバンドが得られる。本実施形態では、仮想視点[N]画像のサブバンドのうち、復号エラーが発生しているLLサブバンドのデータ(第一のサブバンドデータ)を、エラー補完用サブバンドデータとして用いる。
図9のフローチャートに戻り説明を続ける。ステップS904において画像処理部2350は、復号エラーの補完に用いるエラー補完用サブバンドデータを補正する。すなわち、仮想視点[N]画像のLLサブバンドのデータを補正する。仮想視点[N]画像のLLサブバンドのデータを補正する理由を説明する。仮想視点画像は、実視点画像に対してずれがないことが理想であるが、実際にはカメラ位置推定の誤差等により、画像のずれが生じる。すなわち、結果として、仮想視点[N]画像の視点と、実視点[N]が画像の視点とにずれが生じる場合がある。このため、ステップS904において画像処理部2350は、復元した画像の画質をより向上させるために、実視点画像によるLLサブバンドのデータと仮想視点で生成したLLサブバンドのデータとのずれ補正を行う。
このステップS904の補正処理で、ずれの対象とする実視点画像は、LLサブバンドの復号時にエラーが検出され、サブバンドの合成処理を保留した状態、すなわち、各サブバンドの係数のままの状態にある。本実施形態では、ステップS903(サブバンド分解処理1005)で生成した仮想視点画像のサブバンドデータ、および、実視点画像のサブバンドのうち、復号エラーのないサブバンドデータを用いて、ずれ補正を行う。ただしカメラ間の密度が十分高く、仮想視点で生成したLLサブバンドと実視点におけるLLサブバンドとのずれが小さいと推定される場合などは、ずれ補正処理を行わないよう構成してもよい。
ずれ補正処理は、図10の動き探索処理1006および補正処理1007に相当する処理である。まず動き探索処理1006では、合成保留サブバンド保管先1002から、実視点[N]画像のHL、LH、HHサブバンドのデータを取得する。そして取得したサブバンドのデータと、サブバンド分解処理1005で得られた仮想視点[N]画像のHL、LH、HHサブバンドのデータとを用いて、所定のブロックサイズでそれぞれ動き探索し、動きベクトルを導出する。そして得られた動きベクトルの平均を補正処理1007の処理へ送出する。補正処理1007では、動き探索処理1006から受け取った動きベクトルの平均を仮想視点[n]画像のLLサブバンドのデータに用いることでエラー補完用のLLサブバンドを得る。なお、補正処理1007では、上述した方法の他にも、HL、LH、HHサブバンドのうち一部だけ用いて動きベクトルを得るようにしてもよい。動き探索ではなく、対応する特徴点によるワーピングなどの手法を用いてもよい。HL、LH、HHサブバンドのいずれかも復号エラーであった場合は、当該サブバンドは補正に用いないようにする。
図9のフローチャートに戻り説明を続ける。ステップS905において画像処理部2350は、ステップS904で得られたエラー補完用サブバンドデータを、復号エラーが発生したサブバンドデータとして適用する。すなわち、ステップS904で得られたLLサブバンドのデータを、復号エラーが発生した実視点[N]画像のLLサブバンドのデータに置き換える。
次にステップS906において画像処理部2350は、復号時に保留していた、サブバンド合成を実施する。この処理は、図10のサブバンド合成処理1008に相当する処理である。すなわち、補正処理1007で得たエラー補完用LLサブバンドのデータと、実視点[N]画像のHL、LH、およびHHサブバンドのデータとを用いてサブバンド合成をし、得られた画像データを実視点[N]画像として復号画像保管先1001に保管する。以上の処理によれば、エラーが生じてたLLサブバンドを、エラーが生じていない画像によって生成された仮想視点画像を用いて補完することができる。
なお、実視点[N]画像の代わりに、生成された仮想視点[N]画像自体をそのまま用いることも可能ではあるが、本実施形態では、仮想視点[N]画像ではなく、上述したエラー補完処理を行った実視点[N]画像を用いる。基本的に、仮想視点画像よりも実画像の方が、画質が高いので、エラー補完処理を行った実視点[N]画像の方が、仮想視点[N]画像よりも画質が高くなることが多いからである。
図9のフローチャートに戻り説明を続ける。ステップS907において画像処理部2350は、処理中の視点に対応する前景画像および背景画像をすべて処理したか否かを判定する。処理済の場合はステップS908へ、そうでない場合は処理を次の画像に移しステップS901へそれぞれ移る。ステップS908において画像処理部2350は、本システムにおける全ての視点の画像を処理したか否かを判定する。処理済の場合はそのまま処理を終え、そうでない場合は処理を次の視点に移しステップS901へ移る。
以上説明したように、本実施形態においては、復号エラーが発生したサブバンド符号が、低周波成分のサブバンド符号か否かに応じて処理を切り替えている。復号エラーが発生したサブバンド符号が、低周波成分のサブバンド符号でない場合には、ダミー値で補完してサブバンド合成を行う。復号エラーが発生したサブバンド符号が、低周波成分のサブバンド符号である場合、当該エラーが発生した視点の仮想視点画像を生成し、生成した仮想視点画像をサブバンド分解する。そして、エラーが発生している実画像の低周波成分のサブバンドとして、仮想視点画像をサブバンド分解して得られた低周波成分のサブバンドを適用して、サブバンド合成を行う。このような処理によれば、伝送時のエラーがいずれの帯域において発生していても画像データの復元が可能となる。また、画質に対する寄与度が高い低周波成分のサブバンドを二重化して伝送しなくてよい。
<<第2の実施形態>>
第1の実施形態では、フロントエンドサーバ230内部で画像の復号エラーを補完する形態を説明した。これにより伝送エラーがあった場合でもフロントエンドサーバ230で全視点の画像を復号することができるようになるので、バックエンドサーバ270側の自由視点画像生成を実施することができる。一方、上述した画像処理システム100ではカメラアダプタ120内部でも、三次元モデル情報生成部1232で他のカメラアダプタ120から受け取った画像(以下、他視点画像)を用いる。このため、カメラアダプタ120においても他視点画像を復号する場面がある。隣接する視点の画像データは、リアルタイム性を重視した伝送路を経由して伝送されるので、エラーが生じている場合がある。そこで本実施形態では、カメラアダプタ120内部において復号エラー補完をする形態を説明する。
<カメラアダプタにおけるデータ復号処理の処理フロー>
図11は、カメラアダプタ120内部のデータ圧縮・伸張部1221で行われる、他視点の圧縮データの復号に関する処理フローを示すフローチャートである。説明のために、処理中のカメラアダプタに対応する視点を現視点、一つ上流の視点を参照視点1、二つ上流の視点を参照視点2・・・と呼称することとする。上流の視点とは、デイジーチェーンで接続されている上流のカメラアダプタの視点である。最上流のカメラアダプタから最下流のカメラアダプタに対して、順次、それぞれのカメラアダプタで得られたデータが伝送されることになる。ここで、カメラアダプタ120における三次元モデル情報生成には現視点の画像と、参照視点1の画像を要する。このうち、現視点の画像は、当該カメラアダプタ120で得られる画像であり、符号化処理前の画像が存在するので、復号する必要はない。よってカメラアダプタ120内で復号が求められる画像データは、参照視点1に対応する画像となる。
ステップS1101においてデータ圧縮・伸張部1221は、参照視点1の復号対象画像に対応するサブバンド符号をエントロピー復号する。この処理は第1の実施形態におけるフロントエンドサーバ230内部の復号処理ステップS801と同様の処理でよい。
ステップS1102においてデータ圧縮・伸張部1221は、ステップS1101で復号エラーが発生したか否かを判定する。復号エラーが発生した場合はステップS1103へ、そうでない場合はステップS1106へそれぞれ移る。
ステップS1103においてデータ圧縮・伸張部1221は、復号エラーが発生したサブバンドは低周波成分か否かを判定する。復号エラーの発生したサブバンドが低周波成分である場合はステップS1104へ、そうでない場合はステップS1105へそれぞれ移る。
ステップS1104においてデータ圧縮・伸張部1221は、サブバンドの合成を保留するためのサブバンド合成保留フラグを立てる。ステップS1105においてデータ圧縮・伸張部1221は、復号エラーとなったサブバンドをダミーの値で補う。ダミーの値は例えば0などを用いればよい。
ステップS1106においてデータ圧縮・伸張部1221は、処理中のサブバンド係数値を逆量子化する。この処理は第1の実施形態におけるフロントエンドサーバ230内部の復号処理ステップS806と同様の処理でよい。
ステップS1107においてデータ圧縮・伸張部1221は、処理中の画像に対応するサブバンド符号を全て処理したか否かを判定する。全て処理した場合はステップS1108へ、そうでない場合は復号対象を次のサブバンド符号に移し、ステップS1101に戻る。
ステップS1108においてデータ圧縮・伸張部1221は、サブバンド合成保留フラグが立っているか否かを判定する。サブバンド合成保留フラグが立っている場合はステップS1109へ、そうでない場合はステップS1114へそれぞれ移る。
ステップS1109においてデータ圧縮・伸張部1221は、参照視点2を復号する。この処理は第1の実施形態におけるフロントエンドサーバ230内部で行われる復号処理と同様でよい。なお、参照視点2の復号でも復号エラーがあった場合は、参照視点3、参照視点4・・・と上流に遡ればよい。本実施形態では、カメラアダプタ120は、デイジーチェーンで接続されており、上流側のカメラアダプタ120から受け取ったデータに、自身のカメラアダプタ120のデータを追加して、下流側のカメラアダプタ120にデータを伝送する構成となっている。このため、カメラアダプタ120は、自身の上流側に位置するカメラアダプタ120のデータを全て受信しているので、上流側の参照視点のデータを復号に用いることができる。このように、カメラアダプタ120は、上流側のデータを全て受信しているものの、三次元モデル情報生成部1232で用いるデータは、参照視点1の画像と現視点の画像とがあればよい。そこて、ステップS1109の復号処理では、参照視点1の画像を復号している。なお、参照視点1が最上流の視点の場合、それよりも前の参照する視点画像がないので、当該視点のカメラアダプタでの処理はスキップしてよい。
ステップS1110においてデータ圧縮・伸張部1221は、復号エラーが発生した参照視点1を仮想視点とした、仮想視点画像生成を行う。第1の実施形態では、低周波成分の復号エラーのための仮想視点画像生成をフロントエンドサーバ230で実行するため、三次元モデルデータが存在することからMBRを選択することも可能であった。しかし、カメラアダプタ内で仮想視点画像生成を行う場合は、MBRのための三次元モデルデータが未生成である。そこで、本実施形態では、参照視点2の画像と、現視点の画像とを用い、IBRで仮想視点画像を生成する。
ステップS1111においてデータ圧縮・伸張部1221は、生成した仮想視点画像をサブバンド分解する。この処理は、第1の実施形態におけるフロントエンドサーバ230内部の仮想視点画像サブバンド分解処理ステップS903と同様の処理を行なえばよい。
ステップS1112においてデータ圧縮・伸張部1221は、復号エラーの補完に用いる、エラー補完用サブバンド(この例では、仮想視点のLLサブバンド)のデータを補正する。この処理は、第1の実施形態におけるフロントエンドサーバ230内部のエラー補完用サブバンド補正処理ステップS904と同様の処理を行なえばよい。
ステップS1113においてデータ圧縮・伸張部1221は、ステップS1112で得られた補正後のエラー補完用サブバンド(LLサブバンド)のデータを、復号エラーが発生したサブバンドデータとして適用する。
ステップS1114においてデータ圧縮・伸張部1221は、ここまでで得られたサブバンドを合成し、画像を再構成する。この処理は、第1の実施形態におけるフロントエンドサーバ230内部のサブバンド合成処理ステップS906と同様の処理を行なえばよい。
次にステップS1115においてデータ圧縮・伸張部1221は、処理中の視点に対応する画像を全て処理したか否かを判定する。処理済の場合はそのまま処理を終え、そうでない場合は処理を次の画像に移しステップS1101へそれぞれ移る。
以上のような処理を行うことで、カメラアダプタ120内部でも参照画像の復号エラーを補完できるため、復号エラーがあった場合でも三次元モデル情報生成が可能となる。なお、下流側のカメラアダプタに伝送されるデータは、復号エラーを補完した符号列であってもよいし、フロントエンドサーバ230において第1の実施形態で説明した補完処理を行うことが可能であれば、受信したデータをそのまま伝送してもよい。そして、フロントエンドサーバ230において復号エラーを行わせる形態を採用してもよい。
<<第3の実施形態>>
第1の実施形態および第2の実施形態では、低周波成分のサブバンドにのみ仮想視点画像による復号エラー補完を行うようにした。これは復号エラー補完による速度低下を極力防ぐためであるが、高周波成分に関しても補完するようにしてもよい。本実施形態ではフロントエンドサーバ230での復号エラー補完について説明する。
<フロントエンドサーバにおけるデータ復号処理の処理フロー>
図12は、本実施形態におけるフロントエンドサーバ230でのデータ復号処理の処理フローを示す図である。以下では、フロントエンドサーバ230内部のデータ入力制御部2320のサーバデータ伸張部2325で行われる、全視点の圧縮データの復号処理を説明する。
ステップS1201においてサーバデータ伸張部2325は、復号対象のサブバンド符号をエントロピー復号し、係数値を得る。この処理は、第1の実施形態におけるフロントエンドサーバ230内部の復号処理ステップS801と同様の処理を行なえばよい。
ステップS1202においてサーバデータ伸張部2325は、ステップS1201で復号エラーが発生したか否かを判定する。復号エラーが発生した場合は、ステップS1203へ、そうでない場合はステップS1204へそれぞれ移る。
ステップS1203においてサーバデータ伸張部2325は、サブバンドの合成を保留するためのサブバンド合成保留フラグを立てる。すなわち、本実施形態においては、復号エラーが発生した場合、周波数成分に関わらず、サブバンド合成保留フラグを立てる。以降のステップS1204からS1209までの処理は、第1の実施形態で説明したステップS806からS811と同様の処理であるので、説明を省略する。
<フロントエンドサーバにおける復号エラー補完処理の処理フロー>
次に、フロントエンドサーバ230内部の画像処理部2350で行われる復号エラー補完処理に関して説明する。復号処理の段階で高周波成分に関する復号エラーに関してもサブバンド合成保留フラグを立てているので、復号エラー補完処理フローに関しては、基本的には、図9と同様の処理を行えばよい。ただし第1の実施形態では、サブバンド合成を保留するのは低周波成分であるLLサブバンドに復号エラーがあったときである。一方、本実施形態では、周波数成分に関わらず、サブバンド保留フラグが立てられている。このため、本実施形態ではステップS904のエラー補完用サブバンド補正処理部分が異なる。本実施形態におけるエラー補完用サブバンド補正処理は、例えば、まず実視点画像における復号エラーのないサブバンドと、仮想視点において対応するサブバンド間で、所定のブロックサイズでそれぞれ動き探索し、動きベクトルを取得する。そして得られた動きベクトルの平均を、復号エラーがあったサブバンドに対応する仮想視点のサブバンドに用いることで補正後のサブバンドデータを得ることができる。例えば実視点画像におけるHLサブバンドにエラーがあった場合は、実視点画像と仮想視点画像の、LL、LH、HHサブバンド間で動き探索をし、動きベクトルを取得すればよい。
以上のような処理を行うことで、伝送エラーにより復号できなかった高周波成分のサブバンドも他の視点から補完できるようになるので、より高画質な復号エラー補完が可能となる。なお、本実施形態ではフロントエンドサーバ230での復号エラー補完の例を示したが、第2の実施形態のようにカメラアダプタ120内で実施するよう構成してもよい。
<その他の実施形態>
前述した実施形態においては、図3に示すように前景画像、背景画像を分離し、それぞれを符号化・伝送するシステムであったが、前景・背景を分離せずに元の画像を符号化・伝送するようにしてもよい。その場合は一つの処理単位の画素数が大きくなるためサブバンド分解を複数回実施するようにするとより符号化効率が高まる。またその時はサブバンドの数が増える。よって復号エラー補完処理における仮想視点画像のサブバンド分解時には、エラーが発生したサブバンドのレベルまでの分解回数に留めるなどすれば、より処理効率が高まる。もしくは、敢えて符号化時に実施した回数と同数、仮想視点画像もサブバンド分解を実施し、サブバンド補正処理時に、他のレベルのサブバンドを参照するようにして補正精度の向上を図ってもよい。
また、前述した実施形態においては、前景画像および背景画像の復号エラーを補完する形態を説明した。補完対象となる画像は、これに限られず、他の画像に適用してもよい。例えば、カメラキャリブレーション撮影画像データに適用してもよい。
また、前述した実施形態においては、エラーが生じた視点の仮想視点画像を生成し、その仮想視点画像をサブバンド分解した後に、動きベクトルを取得してサブバンドを補正する形態を説明した。しかしながら、この順に限られるものではない。逆に、生成した仮想視点画像の全体を用いて動きベクトルを取得し、動きベクトルに基づいて仮想視点画像を補正し、その補正後に、仮想視点画像をサブバンドに分解する形態でもよい。
また、前述した実施形態においては、復号エラーの補完単位をサブバンド毎としたが、本発明の適用範囲はこの限りではない。例えばサブバンドをJPEG2000でいうコードブロックのように分割し、分割した単位で符号化を行えば、該符号化単位でのエラー補完が可能となる。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
120 カメラアダプタ
1221 データ圧縮・伸張部
230 フロントエンドサーバ
2350 画像処理部

Claims (19)

  1. 画像データを周波数成分の異なる複数のサブバンドに分解し、かつ符号化することで生成されているそれぞれのサブバンド符号を復号する復号装置であって、
    第一の視点で得られた画像データに対応する複数のサブバンド符号を取得する取得手段と、
    前記取得した複数のサブバンド符号を復号する復号手段と、
    前記復号に失敗したサブバンド符号がある場合、前記第一の視点以外の視点で得られた画像データを用いて前記第一の視点に相当する仮想視点の画像データを生成する生成手段と、
    生成された前記仮想視点の画像データを複数のサブバンドに分解するサブバンド分解手段と、
    前記分解されたサブバンドのうち、前記復号に失敗したサブバンド符号に相当する周波数成分の第一のサブバンドデータで、前記復号に失敗したサブバンド符号を補完する補完手段と
    を備えることを特徴とする復号装置。
  2. 前記第一のサブバンドデータと、前記復号手段で復号に成功しているサブバンドデータと、を合成することで、前記第一の視点で得られた画像データを再構成する合成手段をさらに備える請求項1に記載の復号装置。
  3. 前記補完手段は、前記仮想視点と前記第一の視点とのずれを補正した前記第一のサブバンドデータを用いて前記補完を行うことを特徴とする請求項1または2に記載の復号装置。
  4. 前記補完手段は、前記第一の視点で得られた画像データと前記仮想視点の画像データとによって導出される動きベクトルを用いて前記ずれを補正することを特徴とする請求項3に記載の復号装置。
  5. 前記補完手段は、前記第一の視点で得られた画像データに対応するサブバンドのうち復号に成功しているサブバンドデータと、前記仮想視点の画像データに対応するサブバンドのうち前記復号に成功しているサブバンドに相当する周波数成分のサブバンドデータとによって導出される動きベクトルを用いて前記ずれを補正することを特徴とする請求項3に記載の復号装置。
  6. 前記生成手段は、前記第一の視点を挟み込む複数の視点で得られた画像データを用いて前記仮想視点の画像データを生成することを特徴とする請求項1から5のいずれか一項に記載の復号装置。
  7. 前記生成手段は、前記第一の視点に近い視点で得られた画像データを用いて前記仮想視点の画像データを生成することを特徴とする請求項1から6のいずれか一項に記載の復号装置。
  8. 前記生成手段は、前記復号に失敗したサブバンド符号が、サブバンドのうちの最も低い周波数成分以外のサブバンド符号である場合、前記仮想視点の画像データを生成せず、
    前記補完手段は、当該復号に失敗したサブバンド符号を所定のダミー値で補完することで、当該復号に失敗したサブバンド符号を補完することを特徴とする請求項1から7のいずれか一項に記載の復号装置。
  9. 前記サブバンド分解手段は、前記取得した複数のサブバンド符号と同じレベルのサブバンドに前記仮想視点の画像データを分解することを特徴とする請求項1から8のいずれか一項に記載の復号装置。
  10. 各視点に対応する伝送装置からUDP(User Datagram Protocol)接続で送信された前記サブバンド符号を受信する受信手段をさらに有し、
    前記取得手段は、前記受信手段で受信した前記サブバンド符号を取得することを特徴とする請求項1から9のいずれか一項に記載の復号装置。
  11. 画像データを周波数成分の異なる複数のサブバンドに分解し、かつ符号化することで生成されているそれぞれのサブバンド符号を復号する復号装置であって、
    第一の視点で得られた画像データに対応する複数のサブバンド符号を取得する取得手段と、
    前記取得した複数のサブバンド符号を復号する復号手段と、
    前記復号手段で復号に失敗したサブバンド符号の周波数成分に応じて、前記復号に失敗したサブバンド符号の補完方法を、ダミー値で置き替える第一の補完方法とダミー値で置き換えない第二の補完方法との間で切り替える切り替え手段と、
    前記切り替えられた補完方法に従って前記復号に失敗したサブバンド符号を補完する補完手段と
    を備えることを特徴とする復号装置。
  12. 複数の視点で得られた画像データを、上流側の視点に対応する伝送装置から下流側の視点に対応する伝送装置に向けて順次伝送する伝送システムにおける前記伝送装置であって、
    当該伝送装置の視点に対応する撮影手段で撮影された画像データを取得する取得手段と、
    上流側の視点に対応する伝送装置において得られた画像データを周波数成分の異なる複数のサブバンドに分解し、かつ符号化することで生成されている複数のサブバンド符号を受信する受信手段と、
    当該伝送装置に隣接する上流側の第一の視点に対応する第一の伝送装置で符号化された複数のサブバンド符号を復号する復号手段と、
    前記復号に失敗したサブバンド符号がある場合、前記第一の伝送装置より上流側の第二の伝送装置で得られた画像データと、前記取得手段で取得した画像データとを用いて、前記第一の視点に相当する仮想視点の画像データを生成する生成手段と、
    生成された前記仮想視点の画像データを複数のサブバンドに分解するサブバンド分解手段と、
    前記分解されたサブバンドのうち、前記復号に失敗したサブバンド符号に相当する周波数成分の第一のサブバンドデータで、前記復号に失敗したサブバンド符号を補完する補完手段と
    を備えることを特徴とする伝送装置。
  13. 前記第一のサブバンドデータと、前記復号手段で復号に成功しているサブバンドデータと、を合成することで、前記第一の視点で得られた画像データを再構成する合成手段と、
    前記再構成された画像データと前記取得手段で取得した画像データとを用いて三次元モデルの情報を生成する生成手段と、
    生成した三次元モデルの情報を少なくとも含むデータを、下流側の視点に対応する伝送装置に向けて送信する送信手段と
    をさらに備えることを特徴とする請求項12に記載の伝送装置。
  14. 前記伝送システムは、UDP(User Datagram Protocol)接続で前記サブバンド符号を含むデータを伝送することを特徴とする請求項12または13に記載の伝送装置。
  15. 画像データを周波数成分の異なる複数のサブバンドに分解し、かつ符号化することで生成されているそれぞれのサブバンド符号を復号する復号方法であって、
    第一の視点で得られた画像データに対応する複数のサブバンド符号を取得する取得ステップと、
    前記取得した複数のサブバンド符号を復号する復号ステップと、
    前記復号に失敗したサブバンド符号がある場合、前記第一の視点以外の視点で得られた画像データを用いて前記第一の視点に相当する仮想視点の画像データを生成する生成ステップと、
    生成された前記仮想視点の画像データを複数のサブバンドに分解するサブバンド分解ステップと、
    前記分解されたサブバンドのうち、前記復号に失敗したサブバンド符号に相当する周波数成分の第一のサブバンドデータで、前記復号に失敗したサブバンド符号を補完する補完ステップと
    を備えることを特徴とする復号方法。
  16. 画像データを周波数成分の異なる複数のサブバンドに分解し、かつ符号化することで生成されているそれぞれのサブバンド符号を復号する復号方法であって、
    第一の視点で得られた画像データに対応する複数のサブバンド符号を取得する取得ステップと、
    前記取得した複数のサブバンド符号を復号する復号ステップと、
    前記復号ステップで復号に失敗したサブバンド符号の周波数成分に応じて、前記復号に失敗したサブバンド符号の補完方法を、ダミー値で置き替える第一の補完方法とダミー値で置き換えない第二の補完方法との間で切り替える切り替えステップと、
    前記切り替えられた補完方法に従って前記復号に失敗したサブバンド符号を補完する補完ステップと
    を備えることを特徴とする復号方法。
  17. 複数の視点で得られた画像データを、上流側の視点に対応する伝送装置から下流側の視点に対応する伝送装置に向けて順次伝送する伝送システムにおける前記伝送装置における制御方法であって、
    当該伝送装置の視点に対応する撮影手段で撮影された画像データを取得する取得ステップと、
    上流側の視点に対応する伝送装置において得られた画像データを周波数成分の異なる複数のサブバンドに分解し、かつ符号化することで生成されている複数のサブバンド符号を受信する受信ステップと、
    当該伝送装置に隣接する上流側の第一の視点に対応する第一の伝送装置で符号化された複数のサブバンド符号を復号する復号ステップと、
    前記復号に失敗したサブバンド符号がある場合、前記第一の伝送装置より上流側の第二の伝送装置で得られた画像データと、前記取得ステップで取得した画像データとを用いて、前記第一の視点に相当する仮想視点の画像データを生成する生成ステップと、
    生成された前記仮想視点の画像データを複数のサブバンドに分解するサブバンド分解ステップと、
    前記分解されたサブバンドのうち、前記復号に失敗したサブバンド符号に相当する周波数成分の第一のサブバンドデータで、前記復号に失敗したサブバンド符号を補完する補完ステップと
    を備えることを特徴とする伝送装置の制御方法。
  18. コンピュータを、請求項1から11のいずれか一項に記載の復号装置の各手段として機能させるためのプログラム。
  19. コンピュータを、請求項12から14のいずれか一項に記載の伝送装置の各手段として機能させるためのプログラム。
JP2017209620A 2017-10-30 2017-10-30 復号装置、伝送装置、復号方法、伝送装置の制御方法、およびプログラム Pending JP2019083405A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017209620A JP2019083405A (ja) 2017-10-30 2017-10-30 復号装置、伝送装置、復号方法、伝送装置の制御方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017209620A JP2019083405A (ja) 2017-10-30 2017-10-30 復号装置、伝送装置、復号方法、伝送装置の制御方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2019083405A true JP2019083405A (ja) 2019-05-30

Family

ID=66670631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017209620A Pending JP2019083405A (ja) 2017-10-30 2017-10-30 復号装置、伝送装置、復号方法、伝送装置の制御方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP2019083405A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023286317A1 (ja) * 2021-07-12 2023-01-19 ソニーセミコンダクタソリューションズ株式会社 情報処理装置および方法
JP7508277B2 (ja) 2020-06-03 2024-07-01 キヤノン株式会社 伝送処理装置、伝送処理方法、及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7508277B2 (ja) 2020-06-03 2024-07-01 キヤノン株式会社 伝送処理装置、伝送処理方法、及びプログラム
WO2023286317A1 (ja) * 2021-07-12 2023-01-19 ソニーセミコンダクタソリューションズ株式会社 情報処理装置および方法

Similar Documents

Publication Publication Date Title
JP7277372B2 (ja) 三次元モデル符号化装置、三次元モデル復号装置、三次元モデル符号化方法、および、三次元モデル復号方法
JP7320352B2 (ja) 三次元モデル送信方法、三次元モデル受信方法、三次元モデル送信装置及び三次元モデル受信装置
WO2019135024A1 (en) An apparatus, a method and a computer program for volumetric video
US10389994B2 (en) Decoder-centric UV codec for free-viewpoint video streaming
US10310450B2 (en) Methods and apparatus for full parallax light field display systems
JP4522585B2 (ja) 符号化ユニットの位置特定装置と方法
US10708469B2 (en) Image processing apparatus, method of controlling the same, non-transitory computer-readable storage medium, and image processing system
US20210192796A1 (en) An Apparatus, A Method And A Computer Program For Volumetric Video
WO2019158821A1 (en) An apparatus, a method and a computer program for volumetric video
KR20090126176A (ko) 정보 처리 장치 및 방법과, 프로그램
JP2011505771A (ja) 3次元ビデオ通信の端末、システム、および方法
KR20170106389A (ko) 독립적으로 인코딩된 배경 업데이트들에 기초한 비디오 송신
KR20190065838A (ko) 타임 슬라이스 영상을 생성하는 서버, 방법 및 사용자 단말
WO2019115866A1 (en) An apparatus, a method and a computer program for volumetric video
JP2021111961A (ja) 多次元ビデオトランスコーディング
US10937462B2 (en) Using sharding to generate virtual reality content
US11050992B2 (en) Control apparatus, image processing system, control method, and medium
WO2019115867A1 (en) An apparatus, a method and a computer program for volumetric video
EP3342171A1 (en) Networked video communication applicable to gigabit ethernet
JP2006517076A (ja) 車両配信システム用の3次元変換ビデオコーデック
JP2019083405A (ja) 復号装置、伝送装置、復号方法、伝送装置の制御方法、およびプログラム
US10070017B2 (en) Controlling synchronization between devices in a network
KR101768163B1 (ko) 3d 비디오 생성 장치
WO2021087819A1 (zh) 信息处理方法、终端设备及存储介质
JP2020092301A (ja) 画像処理装置、画像処理システム、画像処理方法、及びプログラム