対話式マルチビュービデオのクライアントサービスのためのシステムおよび方法
【課題】新しいタイプのビデオ取込みシステム、ビデオフォーマット、ビデオ圧縮アルゴリズム、サービスを提示する、対話式マルチビュービデオを提供する。
【解決手段】多くのビデオカメラが、関連する様々な位置および方向からイベントを取り込むように割り振られる。取り込まれたビデオは、圧縮され、リアルタイムでサーバに送信される。ユーザは、ユーザがサーバに接続して対話式にマルチビュービデオを受信することを可能にする新しいタイプのサービスに加入することができる。従来の再生制御に加えて、ユーザは、カメラ位置および配向の制御を操作すること、視聴方向を選択すること、スイープ効果やフリーズ回転効果などの特殊効果を楽しむことなどができる。対話式マルチビュービデオは、イベント視聴におけるまったく新しい体験を提供する。
【解決手段】多くのビデオカメラが、関連する様々な位置および方向からイベントを取り込むように割り振られる。取り込まれたビデオは、圧縮され、リアルタイムでサーバに送信される。ユーザは、ユーザがサーバに接続して対話式にマルチビュービデオを受信することを可能にする新しいタイプのサービスに加入することができる。従来の再生制御に加えて、ユーザは、カメラ位置および配向の制御を操作すること、視聴方向を選択すること、スイープ効果やフリーズ回転効果などの特殊効果を楽しむことなどができる。対話式マルチビュービデオは、イベント視聴におけるまったく新しい体験を提供する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、新しいタイプのビデオ視聴サービスを含む対話式マルチビュービデオのためのシステムおよび方法を対象とする。
【背景技術】
【0002】
現在一般に使用されているビデオ形式は、いわゆるシングルビュービデオである。これは、1台のビデオカメラから取り込まれた1つのビデオクリップ、または連続的な複数の期間を使用して連結された複数のビデオクリップからなる。任意の時間インスタンスに対して、イベントのビューは1つしかない。この種のビデオ形式は、テレビジョン(TV)やパーソナルコンピュータ(PC)やその他のデバイスで、ビデオストリーミングや放送や通信に広く使用されている。
【0003】
従来のマルチメディアサービス(従来のTV、ビデオオンデマンド、ビデオストリーミング、デジタルビデオディスク(DVD)など)を見直してみると、いくつかの制限が存在する。例えば、従来のマルチメディアサービスでは、任意の時間インスタンスにおけるイベントに対して、ビデオストリームは1つしかない。加えて、従来のマルチメディアサービスでは、任意の時間インスタンスにおける視聴方向は、番組編集者によって選択される。ユーザは受動的な位置にあり、カメラアングルまたは視点を変更することはできない。さらに、ユーザは、録画されてユーザに提供されたものを見ることができるだけであり、視聴アングルを選択する能力はない。
【0004】
従来のシングルビュービデオの拡張であるアイビジョン(EyeVision)(非特許文献1参照)は、カーネギーメロン大学コンピュータビジョン教授の金出武雄氏によって共同開発されたスポーツ放送システムである。アイビジョンは、スーパーボウル2001で30台のカムコーダを利用して試合を撮影した。30台のカムコーダから取り込まれたビデオはすべてビデオルーティング切換え装置に入力され、編集済みビデオがTV視聴者に放映された。しかし、アイビジョンシステムは、1つの編集済みビデオしかユーザに提供せず、ユーザは、視聴方向を選択することやカメラ制御を実施することはできない。また、アイビジョンシステムはTV視聴者だけに役立ち、他のマルチメディアフォーマットでは利用不可能である。
【0005】
アイビジョンに加えて、別のマルチメディアデバイスである3Dレコーダが、自由視点ビデオを録画再生するために設計された(非特許文献2参照)。これは、最初に2Dビデオを取り込み、次いで背景から前景を抽出する。ソースコーディングを適用して、3D前景オブジェクト(例えば人間)を生み出す。しかし、アイビジョンと同様にこの3Dレコーダでも、ユーザがカメラを制御することはできない。加えて、この3Dビデオレコーダによって利用される処理では、背景から前景を分類する必要があり、これはかなりの計算資産を要する。
【0006】
マルチビュービデオに対する需要の増大に伴って、最近、標準化の取組みが行われている(非特許文献3、4参照)。MPEG界は、2001年12月から、3DAV(3Dオーディオビジュアル)技術の探究に取り組んでいる。3Dビデオという用語に関しては、非常に多岐にわたる多くの応用および技術が論じられてきた。これらの応用はどれも、動的な実際の視聴覚状況で、または実際に取り込まれた画像から再構築された3Dオブジェクトを含む動的な状況で、ユーザが自分の視点および/または方向を選択することが可能だという意味での対話性に焦点を合わせてはいなかった。応用シナリオに関して、マルチビュービデオは、最も不完全で非効率的で利用不可能な要素を含む、最も難題を呈するシナリオであることがわかっている。この領域は、近い将来、最も多くの標準化労力を必要とする。さらに、対話性を扱った標準化の取組みはなかった。
【0007】
いくつかの文献に上述のような従来の技術に関連した技術内容が開示されている(例えば、非特許文献1〜5参照)。
【0008】
【非特許文献1】http://www.ri.cmu.edu/projects/project449.html
【非特許文献2】S.Wurmlin、E.Lamboray、O.G.Staadt、M.H.Gross、「3Dビデオレコーダ」、パシフィックグラフィックス02議事録、325〜334ページ、2002年10月9〜11日
【非特許文献3】ISO/IEC JTC1/SC29/WG11 N5877、「3DAVの応用および要件」、2003年7月
【非特許文献4】ISO/IEC JTC1/SC29/WG11 N5878、「3DAVの探究に関する報告」、2003年7月
【非特許文献5】Z.Zhang、「カメラ較正のためのフレキシブルな新技法」、パターン分析および機械知能に関するIEEE会報、22(11):1330〜1334、2000年
【発明の開示】
【発明が解決しようとする課題】
【0009】
したがって、所与のインスタンスにおいて多くのビデオストリームを有し、ユーザが視聴方向の選択およびカメラ制御に関与することを可能にするビデオを、効率的に取り込み視聴するためのシステムおよび方法が必要とされている。このシステムおよび方法は、その較正が高精度であるべきであり、効率的な圧縮技法を可能にすべきである。さらに、これらの圧縮技法は、様々な視聴体験の提示を容易にすべきである。ハードウェアも相対的に安価であるのが最適である。このようなシステムは、視聴者が様々な視聴体験に参加できるようにすべきであり、特殊効果を可能にすべきである。加えて、このシステムおよび方法は、計算が効率的であるべきであり、大量の画像オーディオデータならびにユーザ対話の処理に対して頑強であるべきである。
【0010】
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、新しいタイプのビデオ視聴サービスを含む、対話式マルチビュービデオのクライアントサービスのためのシステムおよび方法を提供することにある。
【課題を解決するための手段】
【0011】
カメラの使用がより一般的になり、コンピュータ処理力がより強力になり、ネットワーク帯域幅がより広くなるにつれて、ユーザは、これらの利点を利用してよりリッチなマルチメディア体験を追及することを望む。さらに、手術やスポーツ選手権イベントなどいくつかの重要なイベントを、異なる視点およびアングルから包括的に取り込むことが非常に望ましい。
【0012】
前に論じたシングルビュービデオ形式の自然な拡張が、本発明のマルチビュービデオ形式である。マルチビュービデオでは、あるイベントまたはイベント空間の複数のビデオが、様々な視点およびアングルで同時に取り込まれる。これらのマルチビュービデオは、圧縮され、送信され、記憶され、最後にユーザに送達される。本発明のマルチビュービデオの重要な特徴の1つは、ユーザがビデオの取込みを制御でき、様々な方向からのイベント視聴を選択できることである。
【0013】
本発明は、新しいタイプのビデオ取込みシステムおよび方法、新しいタイプのビデオフォーマット、新しいタイプのオンラインおよびオフラインビデオ圧縮手順、新しいタイプのビデオサービスを含む、対話式マルチビュービデオのためのシステムおよび方法を対象とする。
【0014】
この新しいタイプのビデオ取込みシステムは、ビデオカメラ、制御PC、サーバ、ネットワークコンポーネント、クライアントからなる。オーディオコンポーネントを使用して、関連する任意のオーディオを取り込むこともできる。複数のカメラ、一実施形態では何十台または何百台ものビデオカメラが、マスタ−スレーブ構成で、イベント位置でのイベント取込みに割り振られる。これらのカメラは、1つまたは複数の制御PCによって制御される。イベント空間におけるイベントは、これらのカメラによって様々な視点および方向から同時に取り込まれる。次いで、これらの取り込まれたビデオは、制御PC中で圧縮され、リアルタイムで1つまたは複数のサーバに送信される。次いで圧縮ビデオは、エンドユーザにリアルタイムで送達することもでき、あるいはビデオ間の空間相関および時間相関を利用してさらに圧縮することもできる。
【0015】
本発明の一実施形態では、自動のパターンなし較正ツールを利用して、複数のカメラを較正する。画像点とパターン点との対応を用いるパターンベースの方法とは対照的に、パターンなし較正方法は、様々なビューからの画像点間の対応に基づく。
【0016】
1つまたは複数のサーバは、制御PCからビデオを受信し、次いでこれらをマルチビュービデオまたはビデオビームの形式に保存する。ビデオビームは、様々な視聴方向から同時に撮った同じイベントのビデオストリームのセットからなり、ユーザが任意の瞬間に視聴方向を選択することを可能にする。本発明の対話式マルチビュービデオの記憶方式は、大量のビデオデータと、複数のユーザが同時にビデオビームを効率的に検索することとをサポートする。本発明の一実施形態では、索引ファイル方式を生み出して検索を高速化する。この核となる技法は、索引ファイルを使用して、任意の時間インスタンスにおけるオーディオビデオビットストリームの検索を容易にすることである。
【0017】
従来のアルゴリズムを使用することもできるが、新規なオンラインおよびオフライン圧縮手順が、本発明の対話式ビデオシステムおよび方法と共に利用される。オンライン圧縮手順は、リアルタイムのマルチビュービデオ取込みのために設計されている。この出力は、オンラインサービスのために直接使用することもでき、あるいは将来の処理(例えばオフライン圧縮および/または再生)のためにディスクに保存することもできる。オフライン圧縮アルゴリズムは、トランスコーディングプロセスで採用されて、符号化済みビットストリームがずっと効率的に圧縮される。その後、出力ビットストリームは記憶およびオフラインサービスのためにディスクに保存される。
【0018】
ユーザは、1つまたは複数のサーバに接続して、ユーザがマルチビュービデオを対話式に受信できるようにする新しいタイプのサービスに加入することができる。従来の再生制御に加えて、ユーザは、カメラ位置および配向の制御を操作すること、視聴方向を選択すること、スイープ効果やフリーズ回転効果などの特殊効果を楽しむことなどができる。対話式マルチビュービデオは、イベント視聴におけるまったく新しい体験を提供する。
【0019】
対話式マルチビュービデオは、メディアストリーミング、放送、通信で一般に使用されている現在のシングルビュービデオの自然な拡張である。対話式マルチビュービデオは、技術開発および顧客需要の傾向に合致する。対話式マルチビュービデオは、メディアプレーヤ、メッセージングシステム、ミーティングシステムなど、様々なメディア用途に対して強力な影響を有するであろう。
【0020】
本発明の対話式マルチビュービデオシステムは、多くの利点を有する。この対話式マルチビュービデオシステムは、ビデオストリームの選択およびカメラの制御をユーザに提供し、これによりユーザは、任意の時間インスタンスにおける視聴方向を選択することができる。本発明のこの対話式マルチビュービデオシステムでは、従来のシステムとは異なり、前景と背景のオブジェクトを分類する必要はない。加えて、この対話式マルチビュービデオシステムにより、従来のビデオシステムよりも効率的な符号化が採用され、特殊効果の表現を容易にするよりリッチな機能が備わる。
【0021】
上述した利益に加えて、本発明の他の利点も、添付の図面と共に後続の詳細な記述を読めば明らかになるであろう。
【0022】
本発明の具体的な特徴、態様、利点は、以下の記述、添付の特許請求の範囲、添付の図面を考慮すればよりよく理解されるようになるであろう。
【発明を実施するための最良の形態】
【0023】
以下、図面を参照して本発明を適用できる実施形態を詳細に説明する。
【0024】
本発明の好ましい実施形態に関する以下の記述では、本明細書の一部をなす添付の図面を参照する。図面には、例示として、本発明を実施することのできる具体的な実施形態を示す。本発明の範囲を逸脱することなく、他の実施形態を利用することもでき、構造上の変更を加えることもできることを理解されたい。
【0025】
1.0 例示的な動作環境
図1に、本発明を実施することのできる適したコンピューティングシステム環境の例100を示す。コンピューティングシステム環境100は、適したコンピューティング環境の一例にすぎず、本発明の使用または機能の範囲についてどんな限定を意味するものでもない。またコンピューティング環境100は、この例示的な動作環境100に示すコンポーネントのいずれか1つまたは組合せに関してどんな依存や要件を有するものとも解釈すべきではない。
【0026】
本発明は、その他多くの汎用または専用コンピューティングシステム環境または構成でも機能する。本発明で使用するのに適するであろう周知のコンピューティングシステム、環境、および/または構成の例には、限定しないがパーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な民生用電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータや、これらのシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれる。
【0027】
本発明は、プログラムモジュールなど、コンピュータによって実行されるコンピュータ実行可能命令の一般的なコンテキストで述べることができる。一般に、プログラムモジュールは、特定のタスクを実施するか特定の抽象データ型を実現するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明は分散コンピューティング環境で実施することもでき、その場合、タスクは通信ネットワークを介してリンクされたリモート処理デバイスによって実施される。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶デバイスを含めたローカルとリモートの両方のコンピュータ記憶媒体に位置することができる。
【0028】
図1を参照すると、本発明を実施するための例示的なシステムは、コンピュータ110の形の汎用コンピューティングデバイスを含む。コンピュータ110のコンポーネントには、限定しないがプロセッサ120と、システムメモリ130と、システムメモリを含めた様々なシステムコンポーネントをプロセッサ120に結合するシステムバス121とを含めることができる。システムバス121は、様々なバスアーキテクチャのいずれかを用いた、メモリバスまたはメモリコントローラ、周辺バス、ローカルバスを含めて、いくつかのタイプのバス構造のいずれかとすることができる。限定ではなく例として、このようなアーキテクチャには、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、PCI(Peripheral Component Interconnect)バス(メザニンバスとも呼ばれる)が含まれる。
【0029】
コンピュータ110は通常、様々なコンピュータ可読媒体を備える。コンピュータ可読媒体は、コンピュータ110からアクセスできる任意の利用可能な媒体とすることができ、揮発性と不揮発性の媒体、取外し可能と取外し不可能の媒体の両方がこれに含まれる。限定ではなく例として、コンピュータ可読媒体には、コンピュータ記憶媒体および通信媒体を含めることができる。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、その他のデータなどの情報を記憶するための任意の方法または技術で実現された、揮発性と不揮発性、取外し可能と取外し不可能の両方の媒体が含まれる。コンピュータ記憶媒体には、限定しないがRAM、ROM、EEPROM、フラッシュメモリまたはその他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)またはその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶デバイスが含まれ、あるいは、所望の情報を記憶するのに使用できコンピュータ110からアクセスできるその他の任意の媒体が含まれる。通信媒体は通常、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを、搬送波やその他のトランスポート機構などの被変調データ信号に組み入れるものであり、任意の情報送達媒体がこれに含まれる。用語「被変調データ信号」は、信号中の情報が符号化される形で1つまたは複数の特性が設定または変更される信号を意味する。限定ではなく例として、通信媒体には、有線ネットワークや直接有線接続などの有線媒体と、音響、無線周波数、赤外線などの無線媒体およびその他の無線媒体とが含まれる。以上のいずれかの組合せもコンピュータ可読媒体の範囲に含めるべきである。
【0030】
システムメモリ130は、読取り専用メモリ(ROM)131やランダムアクセスメモリ(RAM)132など、揮発性および/または不揮発性メモリの形のコンピュータ記憶媒体を含む。ROM131には通常、起動中などにコンピュータ110内の要素間で情報を転送するのを助ける基本ルーチンを含むBIOS(basic input/output system)133が記憶されている。RAM132は通常、プロセッサ120がすぐにアクセス可能な、かつ/またはプロセッサ120が現在作用している、データおよび/またはプログラムモジュールを含む。限定ではなく例として、図1には、オペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136、プログラムデータ137を示す。
【0031】
コンピュータ110は、その他の取外し可能/取外し不可能、揮発性/不揮発性コンピュータ記憶媒体を備えることもできる。例にすぎないが図1には、ノンリムーバブル不揮発性の磁気媒体に対して読み書きするハードディスクドライブ141と、リムーバブル不揮発性の磁気ディスク152に対して読み書きする磁気ディスクドライブ151と、CD ROMやその他の光媒体などリムーバブル不揮発性の光ディスク156に対して読み書きする光ディスクドライブ155を示す。この例示的な動作環境で使用できるその他の取外し可能/取外し不可能、揮発性/不揮発性コンピュータ記憶媒体には、限定しないが磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体RAM、固体ROMなどが含まれる。ハードディスクドライブ141は通常、インタフェース140などの取外し不可能メモリインタフェースを介してシステムバス121に接続され、磁気ディスクドライブ151および光ディスクドライブ155は通常、インタフェース150などの取外し可能メモリインタフェースでシステムバス121に接続される。
【0032】
以上に論じ図1に示したドライブおよびそれらに関連するコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、その他のデータの記憶域をコンピュータ110に提供する。例えば図1には、ハードディスクドライブ141がオペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、プログラムデータ147を記憶しているのが示されている。これらのコンポーネントは、オペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136、プログラムデータ137と同じものとすることもでき、異なるものとすることもできることに留意されたい。ここでは、オペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、プログラムデータ147が少なくとも異なるコピーであることを示すために、異なる番号を付けてある。ユーザは、キーボード162、マウスやトラックボールやタッチパッドと一般に呼ばれるポインティングデバイス161などの入力デバイスを介して、コンピュータ110にコマンドおよび情報を入力することができる。その他の入力デバイス(図示せず)には、マイクロホン、ジョイスティック、ゲームパッド、衛星受信アンテナ、スキャナなどを含めることができる。これらおよびその他の入力デバイスは、システムバス121に結合されたユーザ入力インタフェース160を介してプロセッサ120に接続されることが多いが、パラレルポート、ゲームポート、ユニバーサルシリアルバス(USB)など、その他のインタフェースおよびバス構造で接続されてもよい。モニタ191または他のタイプの表示デバイスも、ビデオインタフェース190などのインタフェースを介してシステムバス121に接続される。モニタに加えて、コンピュータは通常、スピーカ197やプリンタ196など、その他の周辺出力デバイスも備えることができ、これらは出力周辺インタフェース195を介して接続することができる。本発明にとって特に重要なのは、一連の画像193を取り込むことのできるカメラ192(デジタル/電子のスチルまたはビデオカメラ、あるいはフィルム/写真スキャナなど)も、パーソナルコンピュータ110への入力デバイスとして含めることができることである。さらに、1つのカメラだけが示してあるが、複数のカメラをパーソナルコンピュータ110への入力デバイスとして含めることもできる。1つまたは複数のカメラからの画像193は、適切なカメラインタフェース194を介してコンピュータ110に入力される。このインタフェース194はシステムバス121に接続され、それにより、画像がRAM132に、またはコンピュータ110に関連するその他のデータ記憶デバイスの1つにルーティングされて記憶されるようにする。ただし画像データは、カメラ192の使用を必要とせずに、前述のコンピュータ可読媒体のいずれかからコンピュータ110に入力されてもよいことに留意されたい。オーディオデータを取り込むために、オーディオレコーダ198もオーディオインタフェースデバイス199を介してコンピュータに接続することができる。
【0033】
コンピュータ110は、リモートコンピュータ180など1つまたは複数のリモートコンピュータへの論理接続を用いて、ネットワーク化された環境で動作することができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、またはその他の一般的なネットワークノードとすることができ、通常はコンピュータ110に関して上述した要素の多くまたはすべてを備えるが、図1にはメモリ記憶デバイス181だけが示してある。図1に示す論理接続は、ローカルエリアネットワーク(LAN)171およびワイドエリアネットワーク(WAN)173を含むが、その他のネットワークを含むこともできる。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、インターネットでよく見られる。
【0034】
LANネットワーキング環境で使用されるときは、コンピュータ110は、ネットワークインタフェースまたはアダプタ170を介してLAN171に接続される。WANネットワーキング環境で使用されるときは、コンピュータ110は通常、インターネットなどのWAN173を介した通信を確立するためのモデム172またはその他の手段を備える。モデム172は内蔵でも外付けでもよく、ユーザ入力インタフェース160またはその他の適切な機構を介してシステムバス121に接続することができる。ネットワーク化された環境では、コンピュータ110に関して示したプログラムモジュールまたはその一部をリモートのメモリ記憶デバイスに記憶することができる。限定ではなく例として、図1には、リモートアプリケーションプログラム185がメモリデバイス181上にあるのが示されている。図示のネットワーク接続は例示的なものであり、コンピュータ間で通信リンクを確立するための他の手段を使用してもよいことは理解されるであろう。
【0035】
例示的な動作環境について論じたが、この記述セクションの残りの部分は、本発明を組み入れたプログラムモジュールに関する記述に充てる。
【0036】
2.0 対話式マルチビュービデオのためのシステムおよび方法
以下の各セクションで、本発明によるシステムおよび方法について詳細に述べる。この対話式マルチビュービデオのシステムは、3つの主要部分、すなわち取込みコンポーネント、サーバコンポーネント、クライアントコンポーネントからなる。
【0037】
2.1 取込みコンポーネント
本発明の対話式マルチビューカメラシステムの取込みコンポーネント202は、カメラ(例えばビデオカメラ)、レンズ、パンチルトヘッド、制御PC、同期ユニットを備える。図2に示すように、本発明の一実施形態では、2つのビデオカメラ204a、204b(それぞれ、それ自体のパンチルトヘッド206a、206bおよびレンズ(例えばズームレンズ)208a、208bを有する)が、1つの制御PC210および1394ポート(図示せず)にそれぞれ接続される。各カメラは、それ自体のID番号を有する。制御PC210は、パンチルトヘッド206およびレンズ208を例えばRS232インタフェースを介して制御することによって、カメラの視点およびアングルを変更することができる。同期ユニット214は、1つまたは複数のPC210に、好ましくはそれらの1394ポートまたは他の適した手段を介してリンクされる。本システムの取込みコンポーネントは、特定位置の任意のオーディオを録音するオーディオ録音機器209を備えることもできる。
【0038】
同期ユニット214は、すべてのカメラが同じ瞬間にトリガして撮影するようにするために使用される。それにより制御PCは、各カメラから同時にビデオを取り込むことができる。これらすべてのカメラから、1つがマスタカメラとして選択され、残りはスレーブカメラと呼ばれる。マスタカメラはカメラマンによって制御され、スレーブカメラは、マスタカメラと同じ関心点を向くように駆動させることができる。これは、いわゆるマスタ−スレーブ追跡プロセスによって実現される。通常、カメラマンは人間である。しかし場合によっては、マスタカメラは、実際のカメラマンからのコマンドなしにオブジェクト追跡アルゴリズムによって制御することもできる。
【0039】
制御コマンドが、マスタカメラの制御PCに入力される。パンチルトパラメータが計算され、他の制御PCに送信されて、すべてのスレーブカメラが駆動される。取り込まれたビデオは、制御PCによって受信され、圧縮され、サーバに送信される。本発明の一実施形態では、各ビデオは、640×480のサイズで、毎秒30フレームのフレームレートで取り込まれる。本発明の一実施形態で使用される詳細なオンライン圧縮手順については、セクション3.1で提示する。
【0040】
2.1.1 カメラ較正
マスタ−スレーブ追跡の前に、カメラを較正すべきである。本発明のマルチビュービデオシステムでは、内部パラメータと、外部パラメータと、ハンド−アイ関係とを決定する較正プロセスを利用する。図3に、このプロセスの全体的なフローチャートを示す。最初に内部カメラパラメータを計算し(プロセス動作302)、続いて外部カメラパラメータを決定する(プロセス動作304)。次いで、ハンド−アイパラメータを決定する(プロセス動作306)。最後に、決定した内部、外部、ハンド−アイパラメータを使用して、すべてのカメラの外部パラメータを共通座標系で調整することによってカメラを較正する。これらのすべてのパラメータと、マスタカメラのパンチルトパラメータとが与えられれば、スレーブカメラをマスタカメラと同じ関心点に向けるスレーブカメラのパンチルトパラメータを、効率的に計算し調整することができる。
【0041】
内部パラメータは、基本的なピンホールカメラモデルを使用して定義される。内部パラメータは、カメラの内部構造だけに依存する。内部パラメータには、1つの画像ピクセルの焦点距離と幅との比率、1つの画像ピクセルの焦点距離と高さとの比率、主点のx座標、主点のy座標が含まれる。外部パラメータは、カメラの内部構造に依存しない。外部パラメータは、既知の世界基準系に対するカメラ基準系の位置および配向を定義する。外部パラメータには通常、回転行列および3D平行移動ベクトルが含まれる。ハンド−アイ関係パラメータには、各カメラのパンチルトヘッドに対するカメラの位置および配向が含まれる。
【0042】
本発明のマルチビュー対話式ビデオシステムおよび方法では、パターンベースの較正とパターンなし較正の2つの較正方法を採用する。パターンベースの較正は、好ましくは地面またはその他の適した基準面に配置された、大きな較正パターンを使用して実現され、パターンなし較正は、地面からもたらされる情報を利用する。以下、この2つの方法をより詳細に述べる。
【0043】
2.1.2 パターンベースの較正
本発明の一実施形態では、平面ベースのアルゴリズム(非特許文献5参照)を、その精度および単純さゆえに使用して、内部パラメータを較正する。内部パラメータの変化はごくわずかなので、このような較正は何週間かに1度実施するだけでよい。すべてのカメラの外部パラメータは、共通の世界座標系で、好ましくはパターン面の座標系で較正する。次いで、各カメラのハンド−アイ関係も、3つ以上のパンチルト位置でその外部パラメータから較正する。
【0044】
パターンベースの方法は、精密にわかっている幾何形状を有する平面パターンの画像を使用する。パターンベースの較正を自動にするために、本発明の一実施形態では、図4Aに示す特別な較正パターンを設計した。この較正パターンは、3種類の色(赤、緑、青)を使用して、すべてのコーナ点の位置を符号化している。様々なパンチルト運動が行われているカメラによってパターンの画像を取り込み、次いで、色で符号化された位置と共にパターンのコーナを検出するように、自動手順を設計した。
【0045】
図4Bに、パターンベースの較正を単純化した流れ図を示す。パターンを地面または他の適した基準系の上に配置し、パターンのコーナ、および場合によっては他の基準点を、既知の位置に配置する(プロセス動作402)。次いで、すべてのカメラが較正パターンの画像を取り込む(プロセス動作404)。画像から取り込まれた特徴点と、既知の座標にある基準パターン点との対応を見つけて使用することにより、従来の技法を用いて外部カメラパラメータを精密に推定することができる(プロセス動作406)。正確な較正を得るために、基準パターンは、精密に製造すべきであり、較正に使用される画像の大部分を占めるべきである。さらに、大規模なシステムでは、高精度な大きい基準パターンをセットアップするのは些細な作業ではなく、特別な機器を必要とする。この不便を回避するために、パターンなし較正方法を開発した。これについて以下に述べる。
【0046】
2.1.3 パターンなし較正
2.1.3.1 パターンなし較正手順の概観
本発明の一実施形態では、自動のパターンなし較正ツールを利用する。画像点とパターン点との対応を使用してカメラの外部パラメータを決定するパターンベースの方法とは対照的に、パターンなし較正方法は、様々なカメラからの画像点の間の対応に基づく。図5に、本発明の対話式マルチビュービデオシステムのパターンなし較正手順の全体的な流れ図を提供する。最初に、プロセス動作502に示すように、マスタカメラとスレーブカメラの両方の各画像中で特徴点を抽出する。これらの特徴点を使用して、各画像中の特徴をマスタカメラの画像にマッピングする画像間ホモグラフィのセットを推定する(プロセス動作504)。次いで、プロセス動作506および508に示すように、好ましくは特異値分解(SVD)演算を使用して、これらのホモグラフィに基づいて外部パラメータの線形解を得ることができる。SVDは、行列の固有値および固有ベクトルを見つけるのに使用することのできる古典的な数学演算である。本発明で使用される方法では、SVDを使用して、特徴点のホモグラフィとその転置との積行列の、固有値およびそれらに対応する固有ベクトルを見つける。得られたこれらの固有成分に基づいて、カメラの外部パラメータを、一次方程式のセットに対する最小2乗解として推定することができる。この後、プロセス動作510に示すように、外部カメラパラメータのバンドル調整を適用して、すべての特徴対応の再投影誤差の合計を最小化することによって外部カメラパラメータを精緻化する。推定された外部パラメータを使用して、マスタ画像(例えばマスタカメラによって撮られたもの)中の特徴をスレーブ画像(例えばスレーブカメラによって撮られたもの)上に投影することができる。用語「再投影誤差」は、スレーブ画像上に投影された特徴と、それらに対応するマスタ画像中の特徴との間の誤差を指す。投影誤差の合計を使用することは、較正されたパラメータの精度を評価するための好都合な方法である。本発明の一実施形態では、推定されたパラメータは、レベンベルグ−マーカート(LM、Levenberg−Marquardt)法を使用して投影誤差の合計を最小化することによって精緻化される。
【0047】
2.1.3.2 ホモグラフィ推定
本発明のパターンなし較正技法は、以下のようにより具体的に述べることができる。ほとんどの環境では常に、優勢な面、通常は地面がある。このようなシナリオで複数のカメラをセットアップするとき、各カメラは、優勢な面などの共通面の画像を形成する。例えば、地面を見る別々の位置にある2つのカメラ(一方はマスタカメラ、他方はスレーブ)からの2つの画像が、以下の式で定義される3×3ホモグラフィHによってリンクされる。
【0048】
【数1】
【0049】
上式で、A1およびA2は、それぞれマスタカメラおよびスレーブカメラの内部行列である。記号≒は、0でないスケールまで等しいことを示す。というのは、ホモグラフィはスケールまでしか推定できないからである。Rおよびtは、マスタの基準座標系におけるスレーブカメラの外部パラメータ(回転および平行移動)であり、nは地面の単位法線ベクトルである。
【0050】
2つの画像(同一直線上にない)の間で5つ以上の点対応がある場合、ホモグラフィを推定できる様々な従来技法がある。例えば、ホモグラフィは、直接線形変換(DLT、Direct Linear Transform)という名称の基本的なコンピュータビジョンアルゴリズムによって推定することができる。本発明の一実施形態では、ランダムサンプルコンセンサス(RANSAC、Random Sample Consensus)技法を利用してホモグラフィを推定する。この方法は、次の5つのステップからなる。
【0051】
1.特徴点を検出する。一実施形態では、コーナ検出演算子を使用して2つの画像から特徴を検出する。
【0052】
2.特徴点の周りの画像間強度類似性を利用して、対応する特徴セットの仮説を得る。
【0053】
3.RANSACアルゴリズムによってホモグラフィを初期化する。
【0054】
4.レベンベルグ−マーカートアルゴリズムによって、ホモグラフィを精緻化して、対応するすべての特徴対における再投影誤差を最小化する。
【0055】
5.推定されたホモグラフィを使用して、より多くの対応する特徴対を見つける。ここで、ステップ4および5を何回か反復してホモグラフィを改善することができる。
【0056】
ホモグラフィが得られた後は、以下のプロセスによってカメラの外部パラメータを線形推定することができる。
【0057】
2.1.3.3 外部パラメータの決定
ホモグラフィHについて、
【0058】
【数2】
【0059】
をMで示し、Mの固有値をvjで示す(j=1,2,3)。Hの特性に従って、nに関する3つの式を確立することができる。
【0060】
【数3】
【0061】
上式で、bjおよびajは2つの中間変数であり、|bj|およびajの値はMの固有値から得られる。このことは、1つの画像間ホモグラフィから、未知の符号のnに関する3つの式が得られることを意味する。マスタカメラを含むm+1個のカメラによって取り込まれた平面場面の画像がm+1個ある場合、マスタ画像から他の画像へのm個のホモグラフィを推定することができる。次いで、各Mからの固有値および固有ベクトルをさらに決定することができる。これらに基づいて、上記の制約は、3m個の一次方程式のセットを構成することができる。これは、法線ベクトルnを推定するための可能な方法の1つを提示する。実際には、初期化ステップによってnの初期値を得ることができ、次いで上式における符号を決定することができる。これに基づいて、さらにnを推定することができる。本発明の一実施形態によれば、1つのホモグラフィから2つの可能な解が得られるので、ボーティング(voting)ベースの初期化ステップを採用してbjの符号を決定する。
【0062】
より具体的には、全体的な手順は次のように述べることができる。
【0063】
ステップ1。画像を獲得し、特徴点を検出し、従来の方法でまたは前述のようにホモグラフィHを推定する。
【0064】
ステップ2。標準的なSVD分解演算によってMTMの固有値および固有ベクトルを計算する。
【0065】
ステップ3。ボーティング法によって法線ベクトルnの初期値を推定する。
【0066】
ステップ4。式における符号を決定し、次いでベクトルnを精緻化する。
【0067】
ステップ5。平行移動t(スケールまで)および回転Rを推定する。
【0068】
ステップ6。すべての特徴対応の再投影誤差の合計を最小化することによって、外部カメラパラメータをバンドル調整する。
【0069】
2.2 サーバコンポーネント
サーバは、対話式マルチビュービデオシステム中で最も強力なユニットである。サーバは、大量のビデオデータの伝送および記憶を管理し、多くのクライアントにサービスを提供する。図2に示すように、サーバ216は2つのネットワーク218、220に接続される。ネットワーク218は、例えば広帯域ネットワークバックボーンなどであり、圧縮ビデオを制御PC210からサーバ216に送達できるようサーバ216と制御PC210とを接続するために採用される。本発明の一実施形態では、本発明のマルチビュービデオシステムは、1GBネットワークを使用してサーバ216とすべての制御PC210とを接続する。外部ネットワーク220(例えばLAN、WAN、さらにはインターネット)を使用して、サーバ216をクライアント222に接続する。本発明の一実施形態では、クライアント222は、10/100MBまたはそれ以上のネットワークを介してサーバ216に接続される。本発明の別の実施形態では、クライアント222は、インターネットを介してサーバ216に接続される。
【0070】
2.2.1 マルチビュービデオフォーマット
サーバ216は、制御PC210からビデオを受信し、次いでこれらをマルチビュービデオまたはビデオビームの形式に保存する。ビデオビームは、同時に撮った同じイベントまたはイベント空間のビデオと好ましくはオーディオとのストリームのセットからなる。本発明の対話式マルチビュービデオの記憶方式は、大量のビデオデータと、ビデオビームの効率的な検索とをサポートする。本発明の一実施形態では、索引構造を生み出して検索を高速化する。本発明のマルチビュービデオは、膨大なビデオビームを維持することができ、また、多数のユーザが同時にビームにアクセスするのをサポートすることができる。この核となる技法は、索引を使用して、任意の時間インスタンスにおけるオーディオビデオビットストリームの検索を容易にすることである。図6Aおよび6Bに、これらの索引構造の例を示す。図6Aには、ビデオビットストリーム602のフォーマットを示し、図6Bには、ビデオビットストリームに対応するオーディオビットストリーム604のフォーマットを示す。実際のビデオオーディオデータは、索引ファイルと共にサーバに記憶されることが多い。これらはまた、オフライン再生のためにクライアントでローカルに記憶してもよい。例えば、ビデオビームをDVDディスクに記憶し、クライアント位置にある任意のPCで再生することができる。
【0071】
マルチビュービデオのサイズは非常に大きい場合があるので、本発明の一実施形態では、64ビットポインタを使用して任意の圧縮マルチビュービデオフレームの開始点を表す。一方、任意の圧縮オーディオフレームの開始点を表すには、32ビットポインタを使用すれば十分である。さらに、ビデオビットストリームを突き止める時間消費を短縮し、ビデオ索引ファイルのサイズを縮小するために、64ビットポインタを32ビットの高アドレスポインタと32ビットの低アドレスポインタとに分割する。フラグ(例えば「bCross4G」という名称のフラグ)を使用して、高アドレスポインタ中の移行があるか否かを表す。フラグが「真」にセットされている場合は、低アドレスをチェックすべきである。その場合、現在の低アドレスの値が前の低アドレスの値よりも小さければ、現在のポインタから残りのポインタについては高アドレスを1つ増加させるべきである。
【0072】
オーディオとビデオの索引は、異なるファイルに別々に保存される。ビデオ索引ファイルは階層構造に構成される。第1の層は多くのフィールド606(例えば「VideoIndexInfoHeader」フィールド)からなり、各フィールドは、タイムスタンプと、ビデオ索引データのオフセットと、32ビット高アドレスと、高アドレスポインタへの移行があるか否かを示すフラグ(例えば「bCross4G」フラグ)と、その瞬間に利用されたカメラの数とを含む。第2の層は、図6Aに示すように、第1の層608によってポイントされているのと同じタイムスタンプを有する詳細なビデオ索引データ610(例えば「VideoIndex」フィールド)を含む。第2の層の各フィールドは、カメラIDと、このフレームの符号化タイプと、32ビット低アドレスポインタとからなる。あるタイムスタンプに対する「VideoIndex」フィールドの数は、「VideoIndexInfoHeader」フィールド中の「byCameraNum」で表されるカメラ総数と等しいことに留意されたい。また、異なるタイムスタンプにおけるカメラの数は異なる可能性があることにも留意されたい。
【0073】
ビデオ索引の構造の例を以下に示す。
【0074】
【数4】
【0075】
オーディオ索引ファイル604も階層構造に構成される。第1の層は多くのフィールド614(例えば「audiIndexInfoHeader」)からなり、各フィールドは、タイムスタンプと、オーディオ索引データのオフセットと、その瞬間のオーディオ録音の数とを含む。第2の層616は、図6Bに示すように、同じタイムスタンプを有する詳細なオーディオ索引データ(例えば「AudioIndex」フィールド)を含む。あるタイムスタンプに対する「AudioIndex」フィールドの数は、「AudioIndexInfoHeader」フィールド中の「AudioNum」で表されるオーディオストリーム総数と等しいことに留意されたい。また、異なるタイムスタンプにおけるオーディオストリームの数は異なる可能性があることにも留意されたい。
【0076】
オーディオ索引の構造の例を以下に示す。
【0077】
【数5】
【0078】
2.3 クライアントコンポーネント
受信したビデオビームは、オンライン対話サービスのために直接使用することもでき、あるいはオフライン処理のために保存することもできる。本発明によるシステムおよび方法の一実施形態のコンテキストでは、オンラインは、視聴されるビデオビームがリアルタイムで取り込まれることを意味する。オフラインは、ビデオビームが取り込まれて記憶媒体に記憶されたことを意味する。オフライン再生には2つのタイプがある。一方のタイプは、例えばビデオオンデマンド(VOD)で行われるように、ビデオビームがサーバで記憶され、クライアントがそれをストリーミングプロセスによって再生するものである。このモードでは、サーバはストリーミングサーバとして働く。したがって、このタイプのオフライン再生は「ストリーミングサービス」と呼ばれる。他方のタイプのオフライン再生は、ビデオビームがローカルディスクまたは別の位置に記憶されているときに行われる。このモードでは、クライアントは、ビデオビームをサーバの助けなしに再生することができる。
【0079】
オンライン対話式サービスの場合、サーバはクライアントからのユーザコマンドに応答する。本発明の例示的な一実施形態でサポートされるコマンドには、VCRなど通常のメディアプレーヤにおける従来のコマンドに加えて、切換え、スイープ、フリーズおよび回転、履歴閲覧が含まれる。ユーザコマンドに従って、サーバは、取り込まれたビデオからビデオストリームを生成し、次いでこれをクライアントに送信する。本発明の一実施形態では、1つのクライアントに対して2つの通信チャネルがある。一方はユーザデータグラムプロトコル(UDP)チャネルであり、これは、レイテンシ(latency)を短縮するためにオーディオ/ビデオデータの送信に使用される。他方は伝送制御プロトコル(TCP)チャネルであり、これは、正確さを保証するために、取込みカメラを制御するためのコマンドおよび制御データの送信に使用される。オフライン処理の場合、ビデオビームをトランスコードしてデータ量をさらに削減する。詳細なオフライン圧縮手順はセクション3.2に提示する。以下、クライアントコンポーネントの詳細について論じる。
【0080】
2.3.1 オンラインサービス
オンラインサービスでは、クライアントはLAN、WAN、さらにはインターネットにおいてサーバにリモート接続することができる。クライアントとサーバの間の接続が確立されると、ユーザはクライアント部分で、通常のメディアプレーヤにおけるような従来のコマンドに申し込むことができ、また、対話式マルチビューにおける固有のコマンド(例えば切換え、スイープ、フリーズおよび回転、履歴閲覧など)を発行する能力にも申し込むことができる。
【0081】
クライアントは、自分のコマンドをサーバに送信する。ユーザのコマンドに応答して、サーバは、期待されるビデオをユーザのコマンドに従って生成し、各クライアントにそれぞれ送信する。一言で言えば、ユーザは、マルチビュービデオを対話式で再生することができる。場合によっては、ユーザは、カメラIDやパンチルト値などのパラメータをクライアントに入力することもできる。クライアントは、これらのパラメータをサーバに送信し、次いで制御PCに送信して、取込みカメラを制御することができる。
【0082】
2.3.2 オフラインサービス
オフライン再生では、クライアントは、ローカルディスクまたは別の位置に記憶されたマルチビュービデオビームを直接開いて再生することができる。通常のビデオプレーヤにおける従来の効果(例えば再生、早送り、巻戻し、一時停止、停止など)に加えて、ユーザは、例えば、異なるビデオストリーム間での切換え、スイープ効果、フリーズおよび回転効果を含めて、いくつかの凝った特殊効果を体験することもできる。これらの特殊効果に関する簡単な記述を以下に提供する。
【0083】
ストリーミングモードでは、クライアントは、オンラインモードと同様にLAN、WAN、さらにはインターネットを介してサーバにリモート接続することができる。このモードでは、サーバコンポーネントは、クライアントの接続およびビデオビームを管理するストリーミングサーバとして働き、ユーザは、自分のコマンドをサーバに申し込んで、ビデオビームから自分の望むコンテンツを選択し、様々なビデオ効果(例えば切換え、スイープ、フリーズおよび回転、履歴閲覧、スクリプト)を見ることができる。このモードは、現在のビデオオンデマンド(VoD)システムの拡張である。ストリーミングサービスとオンラインサービスの主な違いは、ストリーミングモードではビデオビームが取り込まれてサーバコンポーネントに記憶済みであり、リアルタイムで取り込まれるのではないことである。ストリーミングサービスは、以下に挙げるユーザコマンドすべてをサポートする。
【0084】
切換え効果:切換え効果は、ビデオが正しいテンポで継続している間にユーザがあるカメラ視点と別のカメラ視点との間で切り換えることができるものである。これは、所望の視点を提供する様々なカメラからのビデオストリームにアクセスすることを含む。一例は、ユーザが第2のカメラの視点から続けて第5のカメラの視点に切り換えることである。
【0085】
スイープ効果:スイープ効果は、時間がそれまでどおり進んでいる間に隣接カメラビューにスイープするものである。これによりユーザは、様々な視点からイベントを見ることができる。一例として、合計8つの視点があるとすると、ユーザは第1の視点から開始し、継続的に第2の視点、第3の視点に切り換えて第8の視点まで同様にしてから、第8の視点を見る。
【0086】
フリーズおよび回転効果:フリーズおよび回転効果では、時が静止し、カメラビューが所与の点の周りで回転する。一例として、合計8つの視点があるとすると、ユーザは第1の視点から開始し、継続的に第2、第3の視点に切り換え、以下同様にして第8の視点まで行ったり来たりする。
【0087】
履歴効果:履歴効果では、ユーザは、前に視聴または作成されたビデオシーケンスを再生することができる。
【0088】
スクリプト:ユーザは、オンデマンドで再生することのできるビューおよび特殊効果のセットのスクリプトを作成することもできる。ユーザはまた、このスクリプトを他のユーザに送信することもでき、他のユーザは、スクリプトが起動されると、スクリプトされたのと同じビデオイベントを見ることになる。
【0089】
スイープ、切換え、フリーズおよび回転の効果は、オンラインモードでも利用可能にすることができる。
【0090】
3.0 圧縮手順
本発明の対話式マルチビュービデオシステムおよび方法と共に、オンラインとオフラインの両方の圧縮手順を使用することができる。オンライン圧縮手順は、リアルタイムのマルチビュービデオ取込みのために設計されている。この出力は、オンラインサービスのために直接使用することもでき、あるいは将来の処理のために(例えばオフラインでさらに圧縮したり後で再生したりするために)ディスクに保存することもできる。オフライン圧縮手順は、トランスコーディングプロセスで採用されて、符号化済みビットストリームがずっと効率的に圧縮される。その後、出力ビットストリームは記憶およびオフラインサービスのためにディスクに保存される。
【0091】
以下のセクションで、特定の新規なオンラインおよびオフライン圧縮手順について述べるが、本発明のシステムおよび方法はこれらのタイプの圧縮に限定されないことに留意されたい。従来の圧縮アルゴリズムを使用することもできる。
【0092】
3.1 オンライン圧縮
概して、従来のシングルビュービデオ符号化と同様、本発明の対話式マルチビュービデオシステムの一実施形態で使用されるオンライン圧縮では、各ビデオビューをIPPPフレームのフォーマットで符号化することができる。
【0093】
背景として、通常のビデオ圧縮は、インターフレーム(Pフレーム)圧縮とイントラフレーム(Iフレーム)圧縮の2つの基本的な圧縮技法を利用する。インターフレーム圧縮は、フレーム間であり、連続するピクチャのデータ冗長性(例えば時間冗長性)を最小限に抑えるようになっている。イントラフレーム圧縮は、個々のフレーム内で行われ、各ピクチャ中のデータの重複(例えば空間冗長性)を最小限に抑えるようになっている。従来のビデオ符号化では、イントラピクチャフレームは本質的にJPEGフォーマットでソース画像を符号化する(いくつかの違いはあるが)。通常、ピクセルのブロックは、離散コサイン変換(DCT)にかけられ、マクロブロックベースで量子化される。イントラピクチャフレームは、他のどんなフレームにも依存せず、ランダムアクセスのための「ジャンプイン」ポイントとして使用される。インターフレームは、予測フレーム(Pフレーム)と呼ばれることもあり、前のIまたはPフレームを使用して現在のフレームの内容を「予測」し、次いで予測と実際のフレーム内容との差を圧縮する。予測は、前のフレーム中で現在のマクロブロックの位置に近い領域を見つけようとすることによって行われ、この領域は類似するピクセルを含む。前の予測領域を(通常は半ピクセル精度で)現在のマクロブロックに移動させる動きベクトルを計算する。動きベクトルは、動きがない場合は論理的には0ベクトルとすることができ、これは当然、非常に効率的に符号化される。予測ピクセルとそれらの実際の値との差を計算し、DCT変換し、係数を量子化する(IフレームのDCT係数よりも粗く)。十分に類似するピクセルグループを前のフレーム中で見つけられなかった場合は、Pフレームは単純に、マクロブロックをIフレームであるかのように空間符号化することができる。
【0094】
従来のビデオ符号化と同様、本発明のオンライン圧縮アルゴリズムには、「I」フレームと「P」フレームの2つのタイプのフレームがある。各「I」フレームの圧縮は、そのフレームの相関だけに基づくが、「P」フレームの圧縮は、そのフレームとその前フレームとの相関に基づく。基本的に、「P」フレームの圧縮効率は、「I」フレームよりもずっと高い。「I」フレームは、効率的な圧縮をもたらすことはできないが、誤差に対して非常に頑強である。さらに、各「I」フレームは他のフレームに依存しないので、Iフレームへのアクセスは容易である。この理由で、通常のビデオエンコーダは、フレームを定期的に「I」フレームとして圧縮する。
【0095】
しかし、本発明の対話式マルチビュービデオシステムのオンライン圧縮の、従来方式との大きな違いは、予測符号化を高速化するために導入される独特な「静的」モードにある。静的モードを得るには、元画像と基準画像との差を計算する必要がある。計算複雑度をさらに低減するために、この静的モードを使用するか否かを、すべてのビュー間で合同で判定する。この合同判定ではまず、あるビューの静的領域を検出する。次いで、それらに対応する、近隣ビューが重なった領域は、静的である可能性が高いと考えられる。最後に、非常に簡単なチェックにかけて、この判定を確認する(本発明の一実施形態では、ピクセルのわずかな部分だけを使用して、元画像と基準画像との差を計算する)。静的モードでは、関係するマクロブロック(MB)は従来のインターモードと同様に符号化されるが、それに対応する基準画像(時間予測のために次のフレームによって使用される)は、単にその前の再構築済み画像からコピーされる。この結果、このMBの基準画像の作成には、逆量子化、逆DCT、動き補償のどれも必要ない。
【0096】
この新しい符号化モードに加えて、合同動き推定(ME)も適用して、MEの複雑度を低減する。この新しいMEでは、あるビューに対してまず従来のMEを適用する。次いで、このビューについて見つかったMVに基づいて3D MVを作成する。その後、3D MVを近隣ビューに投影して、それら自体のMVを予測する。予測されたMVに基づいて、これらのビューの検索範囲を縮小することができ、したがって複雑度をかなり低減することができる。例えば、従来のシングルビュービデオ符号化では、エンコーダは通常、あるマクロブロックの動きベクトルを見つけるのに32×32の領域内を検索しなければならない。しかし、本発明によるシステムおよび方法のマルチビュービデオ符号化では、3D動きが得られてこれがあるビューに投影されると、このビューの検索範囲を絞り込むことができ(例えば8×8ピクセルに)、したがってこのビューの動きベクトルを見つける計算はかなり低減される。一方、このことはまた、異なるビューの動きベクトルが相関することも意味する。したがって、これらの動きベクトルはさらに圧縮することができる。本発明の一実施形態では、真の動きベクトルVと、他のビューから得られた予測ベクトル
【0097】
【数6】
【0098】
との差だけを符号化する。
【0099】
図7に、1つのカメラについての、本発明のオンライン符号化方式の全体的な例示的フローチャートを示す。この例では、システムは3つのビデオカメラを有し、各ビデオカメラは毎秒30フレームでビデオを取り込むと仮定する。したがって、フレームサイズは640×480ピクセルである。そのため、毎秒3×30フレームを圧縮する必要がある。最初に、単一のカメラによって取り込まれたフレームの圧縮について考え、次いで複数ビデオの場合について論じる。
【0100】
図7のプロセス動作702に示すように、フレームを符号化する際は、どんなタイプのフレームであるかにかかわらず、最初にフレームをブロックに、好ましくはマクロブロック(MB)に分割する。1つのMBのサイズは16×16ピクセルである。すなわち、上の例では1フレームあたり640×480/16/16MBが得られる。次いで、各フレームを所定の符号化タイプに従って圧縮する。各「I」フレームについては、すべてのMBをイントラモードで符号化する(プロセス動作704、708)。一方、「P」フレームについては、各MBを符号化するときに3つの符号化モードを選択することができる。モード決定はMBベースである。言い換えれば、1つの「P」フレーム中で、異なるMBが異なる符号化モードを有することができる。どのモードを使用するか決定するために、エンコーダはまず、各MBについて動き推定演算を実施して、現在のフレームとその前のフレームとの類似を計算する(プロセス動作710)。差が非常に大きい場合、これはこのMBに相関がほとんどないことを示し、この場合はイントラモードを選択する(プロセス動作712および714)。差が非常に小さい場合は「静的」モードを選択する(プロセス動作716、718)。残りの場合は「インター」モードを選択する(プロセス動作720)。これは、1つのビデオストリームのみからの入力についてのモード決定である。
【0101】
以下は、オンライン圧縮の場合の3つの符号化モードに関する記述である。図11A、11B、11Cに、前述のモードの符号化アーキテクチャ(それぞれインターモード、イントラモード、静的モード)を示す。
【0102】
1)イントラモード:図8に示すように、まず各MB中の係数を、変換または「T」モジュールによって変換して、それらの空間的相関を除去する(プロセス動作802)。その後、変換された係数を「Q」モジュールによって量子化する(プロセス動作804)。(量子化プロセスの単純な例は次のとおりである。2つの係数67および16があり、量子化レベルが64であると仮定する。量子化後、第1の係数は64になり、第2の係数は0になる。量子化の目的は、係数を容易に符号化できるように係数の不確定性を除去することであることがわかる。当然、量子化後にはいくらかの情報が失われる。)量子化された係数を符号化する(例えば「エントロピー符号化」モジュールを使用して)(プロセス動作806)。最後に、圧縮されたビットストリームを得る(プロセス動作808)。
【0103】
2)インターモード:図9に示すように、まず現在のMBおよび前の基準フレームを入力する(プロセス動作902)。次いで、「フレームバッファ」に保存されている前の基準フレームに対して「動き推定」プロセスを実施して、現在のMBに最も類似する領域を見つける(動き推定プロセスは通常、図7に示したようにモード決定プロセスによって現在のMBに対して実施され、したがってここで再び実施する必要はないことに留意されたい)。その後、プロセス動作906に示すように、動き補償(MC)モジュールにより、動き補償操作を適用して、見つかった領域を「フレームバッファ」からコピーする。今や2つのMBがあり、一方は元のフレームからのMB、他方は「MC」モジュールからのMBである。この2つのMBは類似しているが、これらの間にはなおいくらかの差がある。これらの間の差は残差と呼ばれるが、次いでこの差を「T」モジュールによって変換し、「Q」モジュールによって量子化する(プロセス動作908および910)。最後に、量子化された結果を「エントロピー符号化」モジュールによって符号化する(プロセス動作912)。また、基準画像を次のフレームのために更新する必要がある。これは、逆量子化モジュール(「Q−1」)および逆変換モジュール(「T−1」)によって達成され(プロセス動作914および916に示す)、次いで、これらの動作の結果として回復された残差を、動き補償された結果に加える(プロセス動作918)。この後には、エンコーダは、デコーダと同じ基準画像を有する。
【0104】
3)静的モード:静的モードは、本発明のシステムおよび方法によって利用される新しいモードである。この最初の部分は、インターモードの最初の部分と非常によく似ている。しかし、第2の部分、すなわち基準フレームの作成には大きな違いがある。この新しいモードでは、新しい基準は前の基準からコピーされるだけであり、一方、前のインターモードでは、逆量子化、逆変換、残差加算が必要である。この結果、多量の計算を省くことができる。図10に、静的モード処理の流れ図を示す。図10に示すように、まず現在のMBおよび前の基準フレームを入力する(処理動作1002)。次いで、「フレームバッファ」に保存された前の基準フレームに対して「動き推定」プロセスを実施して、現在のMBに最も類似する領域を見つける(プロセス動作1004)。(動き推定プロセスは通常、図7に示したようにモード決定プロセスによって実施され、したがってここで再び実施する必要はないことに留意されたい)。その後、プロセス動作1006に示すように、「MC」モジュール(すなわち動き補償)を適用して、見つかった領域を「フレームバッファ」からコピーする。この場合2つのMBがあり、一方は元のフレームからのMB、他方は「MC」モジュールからの結果である。次いで、この2つのMB間の差を「T」モジュールによって変換し、「Q」モジュールによって量子化する(プロセス動作1008および1010)、最後に、量子化された結果を「エントロピー符号化」モジュールによって符号化する(プロセス動作1012)。新しい基準フレームは、単に、動き補償されたMBをコピーすることによって得られる(プロセス動作1014)。この静的モードでは、MBは実際に静的である必要はなく、動きを含んでいてもよいことを指摘しておくのは重要である。さらに、MBをインターモードで符号化するか静的モードで符号化するかを決定するモード決定しきい値が非常に大きくなるときは、ほとんどのインターモードMBは静的モードとして符号化されることになる。その場合、複雑度はかなり低減することができるが、性能はやや犠牲になる。本発明の一実施形態では、このモード決定しきい値を制御して、複雑度と性能との間の適切なトレードオフを達成する。
【0105】
復号プロセスは、符号化プロセスのちょうど逆である。例えば、まず、圧縮済みビットストリームをエントロピーデコーダに入力して、量子化済み係数(ならびに、各MBの符号化モードなど他の必要な情報)を得る。次いで、各MBにつき、それらの符号化モードに従って、量子化済み係数に逆量子化や逆変換などを施す。
【0106】
次に、複数カメラの場合のモード決定はどうなるであろうか。3つのカメラの場合と図12Aおよび12Bを再び参照する。第1のカメラからのビデオは、前に提示したのとまったく同様にモード決定を実施する(プロセス動作1202〜1222)。その後、画像領域のエピポーラ幾何および類似を用いて、第1のカメラと残りの2つのカメラとの対応を確立することを試みる(プロセス動作1224)。対応に基づいて、第2および第3のカメラの符号化モードを推定する(プロセス動作1226)。推定は常に正しいとは限らないので、得られたこれらの符号化モード、さらには動きベクトルを、精緻化する必要がある。これは、第2のモード決定プロセスによって、より低い計算コストで達成される(プロセス動作1228)。次いで、得られた符号化モードに基づいて各MBを符号化する(プロセス動作1230)。シングルビューの場合のモード決定と同様、この第2の決定プロセスでも、元のMBと動き補償済みMBとの差を計算する。ただし、ピクセルのわずかな部分の差だけを計算する。この結果、複雑さの多くが低減される。
【0107】
マルチビューの場合も、シングルビューの場合と同様に各ビューを独立して復号する。MVを近隣ビューから予測する場合は、最初に近隣ビューのMVを復号すべきである。
【0108】
3.2 オフライン圧縮
オフライン圧縮を使用して、ビデオデータストリームをさらに圧縮することができる。図13および14に示すように、オフライン圧縮の鍵となる考え方は、すべてのビューを3Dマッピングに分解することであり、この3Dマッピングは、3D環境における特徴点のグループからなる。図13のプロセス動作1302に示すように、各特徴点を、その3D座標(x,y,z)および対応する色成分(Y,U,V)で表す。作成されたマッピングは、各ビュー中のすべてのピクセルを再構築することのできる特徴点の最小限のセットである。DCTやDWTなどの変換ベースの分解とは異なり、この種の分解は、マルチビュービデオを非相関化するには最も効率的である。明らかに、ビューの数が増加したときは、新しい特徴点(すなわち新しい情報)だけを記録すればよく、他の特徴点は既存のマッピングから見つけることができる。
【0109】
3Dマッピングを作成した後、プロセス動作1304に示すように、得られた特徴点を変換して、これらの間の相関をさらに分解する。変換結果を量子化し、「ベース層」ビットストリームとして符号化する(プロセス動作1306、1308)。逆量子化された特徴点を再び各ビューにマッピングして、予測ビュー画像を形成する(プロセス動作1310)。予測画像は元の画像に近いが、これらの間にはなおいくらかの差がある。この差は、プロセス動作1312、1314に示すように、各ビューの「エンハンスメント層」として独立して符号化する(エンハンスメント層のビットストリームをスケーラブルに符号化して、ネットワーク適応能力を改善することができる)。さらに、2種類の層を符号化するとき、時間相関も利用する。これは、時間領域では、マッピング情報の静的部分およびエンハンスメント残差は不変だからである。動きのある部分も、3D動き構造によってやはり圧縮することができる。
【0110】
図14に、オフライン圧縮の例示的な符号化構造を示す。この構造は、3Dマッピング作成モジュール1402、変換モジュール1404、量子化モジュール1406、逆変換モジュール1408、逆量子化モジュール1410、逆マッピングモジュール1412、エントロピー符号化モジュール1414、ならびにビューバッファ1416を備える。表現をわかりやすくするために、この例では2つのビューだけを考える。i番目に取り込まれたビューについて、すべてのビュー画像およびカメラ位置を「3Dマッピング作成」モジュールに入力して、特徴点セットMiを抽出する。次いで、前に構築された特徴点セット
【0111】
【数7】
【0112】
からマッピング情報Miを予測して、その時間相関を除去する。予測残差
【0113】
【数8】
【0114】
を変換し量子化する(ここではDCTまたは離散ウェーブレット変換(DWT)あるいはその他の変換を採用することができる)。最後に、エントロピー符号化を適用してベース層ビットストリームを生成する。次いで、再構築されたマッピング情報
【0115】
【数9】
【0116】
を、カメラの位置と共に「逆マッピング」モジュールに入力する。その後、各ビューの予測画像が得られる。時間予測によって、予測画像と元画像との差をさらに非相関化する。残差を変換し量子化する(ここではDCTまたは離散ウェーブレット変換(DWT)あるいはその他の変換を採用することができる)。最後に、エントロピー符号化を適用してエンハンスメント層ビットストリームを生成する。(この例では、2つのエンハンスメント層ビットストリーム(各ビューにつき1つのビットストリーム)が得られる。)
復号プロセスは次のとおりである。あるビューを再構築したいと仮定する。まずベース層を、エントロピー復号、逆量子化、逆変換など(例えばこの層の符号化プロセスの逆)によって復号する。その後、このビューのエンハンスメント層を、エントロピー復号、逆量子化、逆変換などによって復号する。最後に、得られた共通の特徴点(ベース層からの)をこのビューに逆マッピングする。得られた画像と、エンハンスメント層の復号結果とが、このビューの再構築画像を形成する。
【0117】
本発明に関する以上の記述は、例示および記述のために提示したものである。これは、網羅的でもなく、開示した厳密な形に本発明を限定するものでもない。前述の教示に鑑みて、多くの修正および変形が可能である。本発明の範囲は、この詳細な記述によってではなく、本明細書に添付された特許請求の範囲によって限定されるものとする。
【図面の簡単な説明】
【0118】
【図1】本発明を実施するための例示的なシステムを構成する汎用コンピューティングデバイスを示す図である。
【図2】本発明による対話式マルチビュービデオシステムを単純化したブロック図である。
【図3】本発明の対話式マルチビュービデオシステム中で利用される全体的な較正手順を単純化した流れ図である。
【図4A】本発明によるシステムおよび方法の一実施形態で使用される例示的な較正パターンの画像の図である。
【図4B】本発明の対話式マルチビュービデオシステム中で利用されるパターンベースの較正の流れ図である。
【図5】本発明の対話式マルチビュービデオシステム中で利用されるパターンなし較正の流れ図である。
【図6A】本発明の対話式マルチビュービデオシステム中で使用されるビデオ索引テーブルの図である。
【図6B】本発明の対話式マルチビュービデオシステム中で使用されるオーディオ索引テーブルの図である。
【図7】本発明の一実施形態の、1つのカメラについてのオンライン圧縮方式を示す流れ図である。
【図8】本発明の一実施形態のイントラモード符号化を示す流れ図である。
【図9】本発明の一実施形態のインターモード符号化を示す流れ図である。
【図10】本発明の一実施形態の静的モード符号化を示す流れ図である。
【図11A】本発明の一実施形態のインターモード符号化アーキテクチャの概略図である。
【図11B】本発明の一実施形態のイントラモード符号化アーキテクチャの概略図である。
【図11C】本発明の一実施形態の静的モード符号化アーキテクチャの概略図である。
【図12A】複数のカメラのビットストリームを符号化するための符号化論理を示す流れ図である。
【図12B】複数のカメラのビットストリームを符号化するための符号化論理を示す流れ図である。
【図13】本発明の一実施形態のオフライン圧縮方式を示す流れ図である。
【図14】本発明の一実施形態のオフライン圧縮システムのアーキテクチャの図である。
【符号の説明】
【0119】
204a カメラ
204b カメラ
206a パンチルトヘッド
206b パンチルトヘッド
208a レンズ
208b レンズ
209 オーディオレコーダ
210 制御PC
214 同期ユニット
216 サーバ
218 ネットワークバックボーン
220 ネットワーク
222 クライアント
【技術分野】
【0001】
本発明は、新しいタイプのビデオ視聴サービスを含む対話式マルチビュービデオのためのシステムおよび方法を対象とする。
【背景技術】
【0002】
現在一般に使用されているビデオ形式は、いわゆるシングルビュービデオである。これは、1台のビデオカメラから取り込まれた1つのビデオクリップ、または連続的な複数の期間を使用して連結された複数のビデオクリップからなる。任意の時間インスタンスに対して、イベントのビューは1つしかない。この種のビデオ形式は、テレビジョン(TV)やパーソナルコンピュータ(PC)やその他のデバイスで、ビデオストリーミングや放送や通信に広く使用されている。
【0003】
従来のマルチメディアサービス(従来のTV、ビデオオンデマンド、ビデオストリーミング、デジタルビデオディスク(DVD)など)を見直してみると、いくつかの制限が存在する。例えば、従来のマルチメディアサービスでは、任意の時間インスタンスにおけるイベントに対して、ビデオストリームは1つしかない。加えて、従来のマルチメディアサービスでは、任意の時間インスタンスにおける視聴方向は、番組編集者によって選択される。ユーザは受動的な位置にあり、カメラアングルまたは視点を変更することはできない。さらに、ユーザは、録画されてユーザに提供されたものを見ることができるだけであり、視聴アングルを選択する能力はない。
【0004】
従来のシングルビュービデオの拡張であるアイビジョン(EyeVision)(非特許文献1参照)は、カーネギーメロン大学コンピュータビジョン教授の金出武雄氏によって共同開発されたスポーツ放送システムである。アイビジョンは、スーパーボウル2001で30台のカムコーダを利用して試合を撮影した。30台のカムコーダから取り込まれたビデオはすべてビデオルーティング切換え装置に入力され、編集済みビデオがTV視聴者に放映された。しかし、アイビジョンシステムは、1つの編集済みビデオしかユーザに提供せず、ユーザは、視聴方向を選択することやカメラ制御を実施することはできない。また、アイビジョンシステムはTV視聴者だけに役立ち、他のマルチメディアフォーマットでは利用不可能である。
【0005】
アイビジョンに加えて、別のマルチメディアデバイスである3Dレコーダが、自由視点ビデオを録画再生するために設計された(非特許文献2参照)。これは、最初に2Dビデオを取り込み、次いで背景から前景を抽出する。ソースコーディングを適用して、3D前景オブジェクト(例えば人間)を生み出す。しかし、アイビジョンと同様にこの3Dレコーダでも、ユーザがカメラを制御することはできない。加えて、この3Dビデオレコーダによって利用される処理では、背景から前景を分類する必要があり、これはかなりの計算資産を要する。
【0006】
マルチビュービデオに対する需要の増大に伴って、最近、標準化の取組みが行われている(非特許文献3、4参照)。MPEG界は、2001年12月から、3DAV(3Dオーディオビジュアル)技術の探究に取り組んでいる。3Dビデオという用語に関しては、非常に多岐にわたる多くの応用および技術が論じられてきた。これらの応用はどれも、動的な実際の視聴覚状況で、または実際に取り込まれた画像から再構築された3Dオブジェクトを含む動的な状況で、ユーザが自分の視点および/または方向を選択することが可能だという意味での対話性に焦点を合わせてはいなかった。応用シナリオに関して、マルチビュービデオは、最も不完全で非効率的で利用不可能な要素を含む、最も難題を呈するシナリオであることがわかっている。この領域は、近い将来、最も多くの標準化労力を必要とする。さらに、対話性を扱った標準化の取組みはなかった。
【0007】
いくつかの文献に上述のような従来の技術に関連した技術内容が開示されている(例えば、非特許文献1〜5参照)。
【0008】
【非特許文献1】http://www.ri.cmu.edu/projects/project449.html
【非特許文献2】S.Wurmlin、E.Lamboray、O.G.Staadt、M.H.Gross、「3Dビデオレコーダ」、パシフィックグラフィックス02議事録、325〜334ページ、2002年10月9〜11日
【非特許文献3】ISO/IEC JTC1/SC29/WG11 N5877、「3DAVの応用および要件」、2003年7月
【非特許文献4】ISO/IEC JTC1/SC29/WG11 N5878、「3DAVの探究に関する報告」、2003年7月
【非特許文献5】Z.Zhang、「カメラ較正のためのフレキシブルな新技法」、パターン分析および機械知能に関するIEEE会報、22(11):1330〜1334、2000年
【発明の開示】
【発明が解決しようとする課題】
【0009】
したがって、所与のインスタンスにおいて多くのビデオストリームを有し、ユーザが視聴方向の選択およびカメラ制御に関与することを可能にするビデオを、効率的に取り込み視聴するためのシステムおよび方法が必要とされている。このシステムおよび方法は、その較正が高精度であるべきであり、効率的な圧縮技法を可能にすべきである。さらに、これらの圧縮技法は、様々な視聴体験の提示を容易にすべきである。ハードウェアも相対的に安価であるのが最適である。このようなシステムは、視聴者が様々な視聴体験に参加できるようにすべきであり、特殊効果を可能にすべきである。加えて、このシステムおよび方法は、計算が効率的であるべきであり、大量の画像オーディオデータならびにユーザ対話の処理に対して頑強であるべきである。
【0010】
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、新しいタイプのビデオ視聴サービスを含む、対話式マルチビュービデオのクライアントサービスのためのシステムおよび方法を提供することにある。
【課題を解決するための手段】
【0011】
カメラの使用がより一般的になり、コンピュータ処理力がより強力になり、ネットワーク帯域幅がより広くなるにつれて、ユーザは、これらの利点を利用してよりリッチなマルチメディア体験を追及することを望む。さらに、手術やスポーツ選手権イベントなどいくつかの重要なイベントを、異なる視点およびアングルから包括的に取り込むことが非常に望ましい。
【0012】
前に論じたシングルビュービデオ形式の自然な拡張が、本発明のマルチビュービデオ形式である。マルチビュービデオでは、あるイベントまたはイベント空間の複数のビデオが、様々な視点およびアングルで同時に取り込まれる。これらのマルチビュービデオは、圧縮され、送信され、記憶され、最後にユーザに送達される。本発明のマルチビュービデオの重要な特徴の1つは、ユーザがビデオの取込みを制御でき、様々な方向からのイベント視聴を選択できることである。
【0013】
本発明は、新しいタイプのビデオ取込みシステムおよび方法、新しいタイプのビデオフォーマット、新しいタイプのオンラインおよびオフラインビデオ圧縮手順、新しいタイプのビデオサービスを含む、対話式マルチビュービデオのためのシステムおよび方法を対象とする。
【0014】
この新しいタイプのビデオ取込みシステムは、ビデオカメラ、制御PC、サーバ、ネットワークコンポーネント、クライアントからなる。オーディオコンポーネントを使用して、関連する任意のオーディオを取り込むこともできる。複数のカメラ、一実施形態では何十台または何百台ものビデオカメラが、マスタ−スレーブ構成で、イベント位置でのイベント取込みに割り振られる。これらのカメラは、1つまたは複数の制御PCによって制御される。イベント空間におけるイベントは、これらのカメラによって様々な視点および方向から同時に取り込まれる。次いで、これらの取り込まれたビデオは、制御PC中で圧縮され、リアルタイムで1つまたは複数のサーバに送信される。次いで圧縮ビデオは、エンドユーザにリアルタイムで送達することもでき、あるいはビデオ間の空間相関および時間相関を利用してさらに圧縮することもできる。
【0015】
本発明の一実施形態では、自動のパターンなし較正ツールを利用して、複数のカメラを較正する。画像点とパターン点との対応を用いるパターンベースの方法とは対照的に、パターンなし較正方法は、様々なビューからの画像点間の対応に基づく。
【0016】
1つまたは複数のサーバは、制御PCからビデオを受信し、次いでこれらをマルチビュービデオまたはビデオビームの形式に保存する。ビデオビームは、様々な視聴方向から同時に撮った同じイベントのビデオストリームのセットからなり、ユーザが任意の瞬間に視聴方向を選択することを可能にする。本発明の対話式マルチビュービデオの記憶方式は、大量のビデオデータと、複数のユーザが同時にビデオビームを効率的に検索することとをサポートする。本発明の一実施形態では、索引ファイル方式を生み出して検索を高速化する。この核となる技法は、索引ファイルを使用して、任意の時間インスタンスにおけるオーディオビデオビットストリームの検索を容易にすることである。
【0017】
従来のアルゴリズムを使用することもできるが、新規なオンラインおよびオフライン圧縮手順が、本発明の対話式ビデオシステムおよび方法と共に利用される。オンライン圧縮手順は、リアルタイムのマルチビュービデオ取込みのために設計されている。この出力は、オンラインサービスのために直接使用することもでき、あるいは将来の処理(例えばオフライン圧縮および/または再生)のためにディスクに保存することもできる。オフライン圧縮アルゴリズムは、トランスコーディングプロセスで採用されて、符号化済みビットストリームがずっと効率的に圧縮される。その後、出力ビットストリームは記憶およびオフラインサービスのためにディスクに保存される。
【0018】
ユーザは、1つまたは複数のサーバに接続して、ユーザがマルチビュービデオを対話式に受信できるようにする新しいタイプのサービスに加入することができる。従来の再生制御に加えて、ユーザは、カメラ位置および配向の制御を操作すること、視聴方向を選択すること、スイープ効果やフリーズ回転効果などの特殊効果を楽しむことなどができる。対話式マルチビュービデオは、イベント視聴におけるまったく新しい体験を提供する。
【0019】
対話式マルチビュービデオは、メディアストリーミング、放送、通信で一般に使用されている現在のシングルビュービデオの自然な拡張である。対話式マルチビュービデオは、技術開発および顧客需要の傾向に合致する。対話式マルチビュービデオは、メディアプレーヤ、メッセージングシステム、ミーティングシステムなど、様々なメディア用途に対して強力な影響を有するであろう。
【0020】
本発明の対話式マルチビュービデオシステムは、多くの利点を有する。この対話式マルチビュービデオシステムは、ビデオストリームの選択およびカメラの制御をユーザに提供し、これによりユーザは、任意の時間インスタンスにおける視聴方向を選択することができる。本発明のこの対話式マルチビュービデオシステムでは、従来のシステムとは異なり、前景と背景のオブジェクトを分類する必要はない。加えて、この対話式マルチビュービデオシステムにより、従来のビデオシステムよりも効率的な符号化が採用され、特殊効果の表現を容易にするよりリッチな機能が備わる。
【0021】
上述した利益に加えて、本発明の他の利点も、添付の図面と共に後続の詳細な記述を読めば明らかになるであろう。
【0022】
本発明の具体的な特徴、態様、利点は、以下の記述、添付の特許請求の範囲、添付の図面を考慮すればよりよく理解されるようになるであろう。
【発明を実施するための最良の形態】
【0023】
以下、図面を参照して本発明を適用できる実施形態を詳細に説明する。
【0024】
本発明の好ましい実施形態に関する以下の記述では、本明細書の一部をなす添付の図面を参照する。図面には、例示として、本発明を実施することのできる具体的な実施形態を示す。本発明の範囲を逸脱することなく、他の実施形態を利用することもでき、構造上の変更を加えることもできることを理解されたい。
【0025】
1.0 例示的な動作環境
図1に、本発明を実施することのできる適したコンピューティングシステム環境の例100を示す。コンピューティングシステム環境100は、適したコンピューティング環境の一例にすぎず、本発明の使用または機能の範囲についてどんな限定を意味するものでもない。またコンピューティング環境100は、この例示的な動作環境100に示すコンポーネントのいずれか1つまたは組合せに関してどんな依存や要件を有するものとも解釈すべきではない。
【0026】
本発明は、その他多くの汎用または専用コンピューティングシステム環境または構成でも機能する。本発明で使用するのに適するであろう周知のコンピューティングシステム、環境、および/または構成の例には、限定しないがパーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な民生用電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータや、これらのシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれる。
【0027】
本発明は、プログラムモジュールなど、コンピュータによって実行されるコンピュータ実行可能命令の一般的なコンテキストで述べることができる。一般に、プログラムモジュールは、特定のタスクを実施するか特定の抽象データ型を実現するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明は分散コンピューティング環境で実施することもでき、その場合、タスクは通信ネットワークを介してリンクされたリモート処理デバイスによって実施される。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶デバイスを含めたローカルとリモートの両方のコンピュータ記憶媒体に位置することができる。
【0028】
図1を参照すると、本発明を実施するための例示的なシステムは、コンピュータ110の形の汎用コンピューティングデバイスを含む。コンピュータ110のコンポーネントには、限定しないがプロセッサ120と、システムメモリ130と、システムメモリを含めた様々なシステムコンポーネントをプロセッサ120に結合するシステムバス121とを含めることができる。システムバス121は、様々なバスアーキテクチャのいずれかを用いた、メモリバスまたはメモリコントローラ、周辺バス、ローカルバスを含めて、いくつかのタイプのバス構造のいずれかとすることができる。限定ではなく例として、このようなアーキテクチャには、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、PCI(Peripheral Component Interconnect)バス(メザニンバスとも呼ばれる)が含まれる。
【0029】
コンピュータ110は通常、様々なコンピュータ可読媒体を備える。コンピュータ可読媒体は、コンピュータ110からアクセスできる任意の利用可能な媒体とすることができ、揮発性と不揮発性の媒体、取外し可能と取外し不可能の媒体の両方がこれに含まれる。限定ではなく例として、コンピュータ可読媒体には、コンピュータ記憶媒体および通信媒体を含めることができる。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、その他のデータなどの情報を記憶するための任意の方法または技術で実現された、揮発性と不揮発性、取外し可能と取外し不可能の両方の媒体が含まれる。コンピュータ記憶媒体には、限定しないがRAM、ROM、EEPROM、フラッシュメモリまたはその他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)またはその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶デバイスが含まれ、あるいは、所望の情報を記憶するのに使用できコンピュータ110からアクセスできるその他の任意の媒体が含まれる。通信媒体は通常、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを、搬送波やその他のトランスポート機構などの被変調データ信号に組み入れるものであり、任意の情報送達媒体がこれに含まれる。用語「被変調データ信号」は、信号中の情報が符号化される形で1つまたは複数の特性が設定または変更される信号を意味する。限定ではなく例として、通信媒体には、有線ネットワークや直接有線接続などの有線媒体と、音響、無線周波数、赤外線などの無線媒体およびその他の無線媒体とが含まれる。以上のいずれかの組合せもコンピュータ可読媒体の範囲に含めるべきである。
【0030】
システムメモリ130は、読取り専用メモリ(ROM)131やランダムアクセスメモリ(RAM)132など、揮発性および/または不揮発性メモリの形のコンピュータ記憶媒体を含む。ROM131には通常、起動中などにコンピュータ110内の要素間で情報を転送するのを助ける基本ルーチンを含むBIOS(basic input/output system)133が記憶されている。RAM132は通常、プロセッサ120がすぐにアクセス可能な、かつ/またはプロセッサ120が現在作用している、データおよび/またはプログラムモジュールを含む。限定ではなく例として、図1には、オペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136、プログラムデータ137を示す。
【0031】
コンピュータ110は、その他の取外し可能/取外し不可能、揮発性/不揮発性コンピュータ記憶媒体を備えることもできる。例にすぎないが図1には、ノンリムーバブル不揮発性の磁気媒体に対して読み書きするハードディスクドライブ141と、リムーバブル不揮発性の磁気ディスク152に対して読み書きする磁気ディスクドライブ151と、CD ROMやその他の光媒体などリムーバブル不揮発性の光ディスク156に対して読み書きする光ディスクドライブ155を示す。この例示的な動作環境で使用できるその他の取外し可能/取外し不可能、揮発性/不揮発性コンピュータ記憶媒体には、限定しないが磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体RAM、固体ROMなどが含まれる。ハードディスクドライブ141は通常、インタフェース140などの取外し不可能メモリインタフェースを介してシステムバス121に接続され、磁気ディスクドライブ151および光ディスクドライブ155は通常、インタフェース150などの取外し可能メモリインタフェースでシステムバス121に接続される。
【0032】
以上に論じ図1に示したドライブおよびそれらに関連するコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、その他のデータの記憶域をコンピュータ110に提供する。例えば図1には、ハードディスクドライブ141がオペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、プログラムデータ147を記憶しているのが示されている。これらのコンポーネントは、オペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136、プログラムデータ137と同じものとすることもでき、異なるものとすることもできることに留意されたい。ここでは、オペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、プログラムデータ147が少なくとも異なるコピーであることを示すために、異なる番号を付けてある。ユーザは、キーボード162、マウスやトラックボールやタッチパッドと一般に呼ばれるポインティングデバイス161などの入力デバイスを介して、コンピュータ110にコマンドおよび情報を入力することができる。その他の入力デバイス(図示せず)には、マイクロホン、ジョイスティック、ゲームパッド、衛星受信アンテナ、スキャナなどを含めることができる。これらおよびその他の入力デバイスは、システムバス121に結合されたユーザ入力インタフェース160を介してプロセッサ120に接続されることが多いが、パラレルポート、ゲームポート、ユニバーサルシリアルバス(USB)など、その他のインタフェースおよびバス構造で接続されてもよい。モニタ191または他のタイプの表示デバイスも、ビデオインタフェース190などのインタフェースを介してシステムバス121に接続される。モニタに加えて、コンピュータは通常、スピーカ197やプリンタ196など、その他の周辺出力デバイスも備えることができ、これらは出力周辺インタフェース195を介して接続することができる。本発明にとって特に重要なのは、一連の画像193を取り込むことのできるカメラ192(デジタル/電子のスチルまたはビデオカメラ、あるいはフィルム/写真スキャナなど)も、パーソナルコンピュータ110への入力デバイスとして含めることができることである。さらに、1つのカメラだけが示してあるが、複数のカメラをパーソナルコンピュータ110への入力デバイスとして含めることもできる。1つまたは複数のカメラからの画像193は、適切なカメラインタフェース194を介してコンピュータ110に入力される。このインタフェース194はシステムバス121に接続され、それにより、画像がRAM132に、またはコンピュータ110に関連するその他のデータ記憶デバイスの1つにルーティングされて記憶されるようにする。ただし画像データは、カメラ192の使用を必要とせずに、前述のコンピュータ可読媒体のいずれかからコンピュータ110に入力されてもよいことに留意されたい。オーディオデータを取り込むために、オーディオレコーダ198もオーディオインタフェースデバイス199を介してコンピュータに接続することができる。
【0033】
コンピュータ110は、リモートコンピュータ180など1つまたは複数のリモートコンピュータへの論理接続を用いて、ネットワーク化された環境で動作することができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、またはその他の一般的なネットワークノードとすることができ、通常はコンピュータ110に関して上述した要素の多くまたはすべてを備えるが、図1にはメモリ記憶デバイス181だけが示してある。図1に示す論理接続は、ローカルエリアネットワーク(LAN)171およびワイドエリアネットワーク(WAN)173を含むが、その他のネットワークを含むこともできる。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、インターネットでよく見られる。
【0034】
LANネットワーキング環境で使用されるときは、コンピュータ110は、ネットワークインタフェースまたはアダプタ170を介してLAN171に接続される。WANネットワーキング環境で使用されるときは、コンピュータ110は通常、インターネットなどのWAN173を介した通信を確立するためのモデム172またはその他の手段を備える。モデム172は内蔵でも外付けでもよく、ユーザ入力インタフェース160またはその他の適切な機構を介してシステムバス121に接続することができる。ネットワーク化された環境では、コンピュータ110に関して示したプログラムモジュールまたはその一部をリモートのメモリ記憶デバイスに記憶することができる。限定ではなく例として、図1には、リモートアプリケーションプログラム185がメモリデバイス181上にあるのが示されている。図示のネットワーク接続は例示的なものであり、コンピュータ間で通信リンクを確立するための他の手段を使用してもよいことは理解されるであろう。
【0035】
例示的な動作環境について論じたが、この記述セクションの残りの部分は、本発明を組み入れたプログラムモジュールに関する記述に充てる。
【0036】
2.0 対話式マルチビュービデオのためのシステムおよび方法
以下の各セクションで、本発明によるシステムおよび方法について詳細に述べる。この対話式マルチビュービデオのシステムは、3つの主要部分、すなわち取込みコンポーネント、サーバコンポーネント、クライアントコンポーネントからなる。
【0037】
2.1 取込みコンポーネント
本発明の対話式マルチビューカメラシステムの取込みコンポーネント202は、カメラ(例えばビデオカメラ)、レンズ、パンチルトヘッド、制御PC、同期ユニットを備える。図2に示すように、本発明の一実施形態では、2つのビデオカメラ204a、204b(それぞれ、それ自体のパンチルトヘッド206a、206bおよびレンズ(例えばズームレンズ)208a、208bを有する)が、1つの制御PC210および1394ポート(図示せず)にそれぞれ接続される。各カメラは、それ自体のID番号を有する。制御PC210は、パンチルトヘッド206およびレンズ208を例えばRS232インタフェースを介して制御することによって、カメラの視点およびアングルを変更することができる。同期ユニット214は、1つまたは複数のPC210に、好ましくはそれらの1394ポートまたは他の適した手段を介してリンクされる。本システムの取込みコンポーネントは、特定位置の任意のオーディオを録音するオーディオ録音機器209を備えることもできる。
【0038】
同期ユニット214は、すべてのカメラが同じ瞬間にトリガして撮影するようにするために使用される。それにより制御PCは、各カメラから同時にビデオを取り込むことができる。これらすべてのカメラから、1つがマスタカメラとして選択され、残りはスレーブカメラと呼ばれる。マスタカメラはカメラマンによって制御され、スレーブカメラは、マスタカメラと同じ関心点を向くように駆動させることができる。これは、いわゆるマスタ−スレーブ追跡プロセスによって実現される。通常、カメラマンは人間である。しかし場合によっては、マスタカメラは、実際のカメラマンからのコマンドなしにオブジェクト追跡アルゴリズムによって制御することもできる。
【0039】
制御コマンドが、マスタカメラの制御PCに入力される。パンチルトパラメータが計算され、他の制御PCに送信されて、すべてのスレーブカメラが駆動される。取り込まれたビデオは、制御PCによって受信され、圧縮され、サーバに送信される。本発明の一実施形態では、各ビデオは、640×480のサイズで、毎秒30フレームのフレームレートで取り込まれる。本発明の一実施形態で使用される詳細なオンライン圧縮手順については、セクション3.1で提示する。
【0040】
2.1.1 カメラ較正
マスタ−スレーブ追跡の前に、カメラを較正すべきである。本発明のマルチビュービデオシステムでは、内部パラメータと、外部パラメータと、ハンド−アイ関係とを決定する較正プロセスを利用する。図3に、このプロセスの全体的なフローチャートを示す。最初に内部カメラパラメータを計算し(プロセス動作302)、続いて外部カメラパラメータを決定する(プロセス動作304)。次いで、ハンド−アイパラメータを決定する(プロセス動作306)。最後に、決定した内部、外部、ハンド−アイパラメータを使用して、すべてのカメラの外部パラメータを共通座標系で調整することによってカメラを較正する。これらのすべてのパラメータと、マスタカメラのパンチルトパラメータとが与えられれば、スレーブカメラをマスタカメラと同じ関心点に向けるスレーブカメラのパンチルトパラメータを、効率的に計算し調整することができる。
【0041】
内部パラメータは、基本的なピンホールカメラモデルを使用して定義される。内部パラメータは、カメラの内部構造だけに依存する。内部パラメータには、1つの画像ピクセルの焦点距離と幅との比率、1つの画像ピクセルの焦点距離と高さとの比率、主点のx座標、主点のy座標が含まれる。外部パラメータは、カメラの内部構造に依存しない。外部パラメータは、既知の世界基準系に対するカメラ基準系の位置および配向を定義する。外部パラメータには通常、回転行列および3D平行移動ベクトルが含まれる。ハンド−アイ関係パラメータには、各カメラのパンチルトヘッドに対するカメラの位置および配向が含まれる。
【0042】
本発明のマルチビュー対話式ビデオシステムおよび方法では、パターンベースの較正とパターンなし較正の2つの較正方法を採用する。パターンベースの較正は、好ましくは地面またはその他の適した基準面に配置された、大きな較正パターンを使用して実現され、パターンなし較正は、地面からもたらされる情報を利用する。以下、この2つの方法をより詳細に述べる。
【0043】
2.1.2 パターンベースの較正
本発明の一実施形態では、平面ベースのアルゴリズム(非特許文献5参照)を、その精度および単純さゆえに使用して、内部パラメータを較正する。内部パラメータの変化はごくわずかなので、このような較正は何週間かに1度実施するだけでよい。すべてのカメラの外部パラメータは、共通の世界座標系で、好ましくはパターン面の座標系で較正する。次いで、各カメラのハンド−アイ関係も、3つ以上のパンチルト位置でその外部パラメータから較正する。
【0044】
パターンベースの方法は、精密にわかっている幾何形状を有する平面パターンの画像を使用する。パターンベースの較正を自動にするために、本発明の一実施形態では、図4Aに示す特別な較正パターンを設計した。この較正パターンは、3種類の色(赤、緑、青)を使用して、すべてのコーナ点の位置を符号化している。様々なパンチルト運動が行われているカメラによってパターンの画像を取り込み、次いで、色で符号化された位置と共にパターンのコーナを検出するように、自動手順を設計した。
【0045】
図4Bに、パターンベースの較正を単純化した流れ図を示す。パターンを地面または他の適した基準系の上に配置し、パターンのコーナ、および場合によっては他の基準点を、既知の位置に配置する(プロセス動作402)。次いで、すべてのカメラが較正パターンの画像を取り込む(プロセス動作404)。画像から取り込まれた特徴点と、既知の座標にある基準パターン点との対応を見つけて使用することにより、従来の技法を用いて外部カメラパラメータを精密に推定することができる(プロセス動作406)。正確な較正を得るために、基準パターンは、精密に製造すべきであり、較正に使用される画像の大部分を占めるべきである。さらに、大規模なシステムでは、高精度な大きい基準パターンをセットアップするのは些細な作業ではなく、特別な機器を必要とする。この不便を回避するために、パターンなし較正方法を開発した。これについて以下に述べる。
【0046】
2.1.3 パターンなし較正
2.1.3.1 パターンなし較正手順の概観
本発明の一実施形態では、自動のパターンなし較正ツールを利用する。画像点とパターン点との対応を使用してカメラの外部パラメータを決定するパターンベースの方法とは対照的に、パターンなし較正方法は、様々なカメラからの画像点の間の対応に基づく。図5に、本発明の対話式マルチビュービデオシステムのパターンなし較正手順の全体的な流れ図を提供する。最初に、プロセス動作502に示すように、マスタカメラとスレーブカメラの両方の各画像中で特徴点を抽出する。これらの特徴点を使用して、各画像中の特徴をマスタカメラの画像にマッピングする画像間ホモグラフィのセットを推定する(プロセス動作504)。次いで、プロセス動作506および508に示すように、好ましくは特異値分解(SVD)演算を使用して、これらのホモグラフィに基づいて外部パラメータの線形解を得ることができる。SVDは、行列の固有値および固有ベクトルを見つけるのに使用することのできる古典的な数学演算である。本発明で使用される方法では、SVDを使用して、特徴点のホモグラフィとその転置との積行列の、固有値およびそれらに対応する固有ベクトルを見つける。得られたこれらの固有成分に基づいて、カメラの外部パラメータを、一次方程式のセットに対する最小2乗解として推定することができる。この後、プロセス動作510に示すように、外部カメラパラメータのバンドル調整を適用して、すべての特徴対応の再投影誤差の合計を最小化することによって外部カメラパラメータを精緻化する。推定された外部パラメータを使用して、マスタ画像(例えばマスタカメラによって撮られたもの)中の特徴をスレーブ画像(例えばスレーブカメラによって撮られたもの)上に投影することができる。用語「再投影誤差」は、スレーブ画像上に投影された特徴と、それらに対応するマスタ画像中の特徴との間の誤差を指す。投影誤差の合計を使用することは、較正されたパラメータの精度を評価するための好都合な方法である。本発明の一実施形態では、推定されたパラメータは、レベンベルグ−マーカート(LM、Levenberg−Marquardt)法を使用して投影誤差の合計を最小化することによって精緻化される。
【0047】
2.1.3.2 ホモグラフィ推定
本発明のパターンなし較正技法は、以下のようにより具体的に述べることができる。ほとんどの環境では常に、優勢な面、通常は地面がある。このようなシナリオで複数のカメラをセットアップするとき、各カメラは、優勢な面などの共通面の画像を形成する。例えば、地面を見る別々の位置にある2つのカメラ(一方はマスタカメラ、他方はスレーブ)からの2つの画像が、以下の式で定義される3×3ホモグラフィHによってリンクされる。
【0048】
【数1】
【0049】
上式で、A1およびA2は、それぞれマスタカメラおよびスレーブカメラの内部行列である。記号≒は、0でないスケールまで等しいことを示す。というのは、ホモグラフィはスケールまでしか推定できないからである。Rおよびtは、マスタの基準座標系におけるスレーブカメラの外部パラメータ(回転および平行移動)であり、nは地面の単位法線ベクトルである。
【0050】
2つの画像(同一直線上にない)の間で5つ以上の点対応がある場合、ホモグラフィを推定できる様々な従来技法がある。例えば、ホモグラフィは、直接線形変換(DLT、Direct Linear Transform)という名称の基本的なコンピュータビジョンアルゴリズムによって推定することができる。本発明の一実施形態では、ランダムサンプルコンセンサス(RANSAC、Random Sample Consensus)技法を利用してホモグラフィを推定する。この方法は、次の5つのステップからなる。
【0051】
1.特徴点を検出する。一実施形態では、コーナ検出演算子を使用して2つの画像から特徴を検出する。
【0052】
2.特徴点の周りの画像間強度類似性を利用して、対応する特徴セットの仮説を得る。
【0053】
3.RANSACアルゴリズムによってホモグラフィを初期化する。
【0054】
4.レベンベルグ−マーカートアルゴリズムによって、ホモグラフィを精緻化して、対応するすべての特徴対における再投影誤差を最小化する。
【0055】
5.推定されたホモグラフィを使用して、より多くの対応する特徴対を見つける。ここで、ステップ4および5を何回か反復してホモグラフィを改善することができる。
【0056】
ホモグラフィが得られた後は、以下のプロセスによってカメラの外部パラメータを線形推定することができる。
【0057】
2.1.3.3 外部パラメータの決定
ホモグラフィHについて、
【0058】
【数2】
【0059】
をMで示し、Mの固有値をvjで示す(j=1,2,3)。Hの特性に従って、nに関する3つの式を確立することができる。
【0060】
【数3】
【0061】
上式で、bjおよびajは2つの中間変数であり、|bj|およびajの値はMの固有値から得られる。このことは、1つの画像間ホモグラフィから、未知の符号のnに関する3つの式が得られることを意味する。マスタカメラを含むm+1個のカメラによって取り込まれた平面場面の画像がm+1個ある場合、マスタ画像から他の画像へのm個のホモグラフィを推定することができる。次いで、各Mからの固有値および固有ベクトルをさらに決定することができる。これらに基づいて、上記の制約は、3m個の一次方程式のセットを構成することができる。これは、法線ベクトルnを推定するための可能な方法の1つを提示する。実際には、初期化ステップによってnの初期値を得ることができ、次いで上式における符号を決定することができる。これに基づいて、さらにnを推定することができる。本発明の一実施形態によれば、1つのホモグラフィから2つの可能な解が得られるので、ボーティング(voting)ベースの初期化ステップを採用してbjの符号を決定する。
【0062】
より具体的には、全体的な手順は次のように述べることができる。
【0063】
ステップ1。画像を獲得し、特徴点を検出し、従来の方法でまたは前述のようにホモグラフィHを推定する。
【0064】
ステップ2。標準的なSVD分解演算によってMTMの固有値および固有ベクトルを計算する。
【0065】
ステップ3。ボーティング法によって法線ベクトルnの初期値を推定する。
【0066】
ステップ4。式における符号を決定し、次いでベクトルnを精緻化する。
【0067】
ステップ5。平行移動t(スケールまで)および回転Rを推定する。
【0068】
ステップ6。すべての特徴対応の再投影誤差の合計を最小化することによって、外部カメラパラメータをバンドル調整する。
【0069】
2.2 サーバコンポーネント
サーバは、対話式マルチビュービデオシステム中で最も強力なユニットである。サーバは、大量のビデオデータの伝送および記憶を管理し、多くのクライアントにサービスを提供する。図2に示すように、サーバ216は2つのネットワーク218、220に接続される。ネットワーク218は、例えば広帯域ネットワークバックボーンなどであり、圧縮ビデオを制御PC210からサーバ216に送達できるようサーバ216と制御PC210とを接続するために採用される。本発明の一実施形態では、本発明のマルチビュービデオシステムは、1GBネットワークを使用してサーバ216とすべての制御PC210とを接続する。外部ネットワーク220(例えばLAN、WAN、さらにはインターネット)を使用して、サーバ216をクライアント222に接続する。本発明の一実施形態では、クライアント222は、10/100MBまたはそれ以上のネットワークを介してサーバ216に接続される。本発明の別の実施形態では、クライアント222は、インターネットを介してサーバ216に接続される。
【0070】
2.2.1 マルチビュービデオフォーマット
サーバ216は、制御PC210からビデオを受信し、次いでこれらをマルチビュービデオまたはビデオビームの形式に保存する。ビデオビームは、同時に撮った同じイベントまたはイベント空間のビデオと好ましくはオーディオとのストリームのセットからなる。本発明の対話式マルチビュービデオの記憶方式は、大量のビデオデータと、ビデオビームの効率的な検索とをサポートする。本発明の一実施形態では、索引構造を生み出して検索を高速化する。本発明のマルチビュービデオは、膨大なビデオビームを維持することができ、また、多数のユーザが同時にビームにアクセスするのをサポートすることができる。この核となる技法は、索引を使用して、任意の時間インスタンスにおけるオーディオビデオビットストリームの検索を容易にすることである。図6Aおよび6Bに、これらの索引構造の例を示す。図6Aには、ビデオビットストリーム602のフォーマットを示し、図6Bには、ビデオビットストリームに対応するオーディオビットストリーム604のフォーマットを示す。実際のビデオオーディオデータは、索引ファイルと共にサーバに記憶されることが多い。これらはまた、オフライン再生のためにクライアントでローカルに記憶してもよい。例えば、ビデオビームをDVDディスクに記憶し、クライアント位置にある任意のPCで再生することができる。
【0071】
マルチビュービデオのサイズは非常に大きい場合があるので、本発明の一実施形態では、64ビットポインタを使用して任意の圧縮マルチビュービデオフレームの開始点を表す。一方、任意の圧縮オーディオフレームの開始点を表すには、32ビットポインタを使用すれば十分である。さらに、ビデオビットストリームを突き止める時間消費を短縮し、ビデオ索引ファイルのサイズを縮小するために、64ビットポインタを32ビットの高アドレスポインタと32ビットの低アドレスポインタとに分割する。フラグ(例えば「bCross4G」という名称のフラグ)を使用して、高アドレスポインタ中の移行があるか否かを表す。フラグが「真」にセットされている場合は、低アドレスをチェックすべきである。その場合、現在の低アドレスの値が前の低アドレスの値よりも小さければ、現在のポインタから残りのポインタについては高アドレスを1つ増加させるべきである。
【0072】
オーディオとビデオの索引は、異なるファイルに別々に保存される。ビデオ索引ファイルは階層構造に構成される。第1の層は多くのフィールド606(例えば「VideoIndexInfoHeader」フィールド)からなり、各フィールドは、タイムスタンプと、ビデオ索引データのオフセットと、32ビット高アドレスと、高アドレスポインタへの移行があるか否かを示すフラグ(例えば「bCross4G」フラグ)と、その瞬間に利用されたカメラの数とを含む。第2の層は、図6Aに示すように、第1の層608によってポイントされているのと同じタイムスタンプを有する詳細なビデオ索引データ610(例えば「VideoIndex」フィールド)を含む。第2の層の各フィールドは、カメラIDと、このフレームの符号化タイプと、32ビット低アドレスポインタとからなる。あるタイムスタンプに対する「VideoIndex」フィールドの数は、「VideoIndexInfoHeader」フィールド中の「byCameraNum」で表されるカメラ総数と等しいことに留意されたい。また、異なるタイムスタンプにおけるカメラの数は異なる可能性があることにも留意されたい。
【0073】
ビデオ索引の構造の例を以下に示す。
【0074】
【数4】
【0075】
オーディオ索引ファイル604も階層構造に構成される。第1の層は多くのフィールド614(例えば「audiIndexInfoHeader」)からなり、各フィールドは、タイムスタンプと、オーディオ索引データのオフセットと、その瞬間のオーディオ録音の数とを含む。第2の層616は、図6Bに示すように、同じタイムスタンプを有する詳細なオーディオ索引データ(例えば「AudioIndex」フィールド)を含む。あるタイムスタンプに対する「AudioIndex」フィールドの数は、「AudioIndexInfoHeader」フィールド中の「AudioNum」で表されるオーディオストリーム総数と等しいことに留意されたい。また、異なるタイムスタンプにおけるオーディオストリームの数は異なる可能性があることにも留意されたい。
【0076】
オーディオ索引の構造の例を以下に示す。
【0077】
【数5】
【0078】
2.3 クライアントコンポーネント
受信したビデオビームは、オンライン対話サービスのために直接使用することもでき、あるいはオフライン処理のために保存することもできる。本発明によるシステムおよび方法の一実施形態のコンテキストでは、オンラインは、視聴されるビデオビームがリアルタイムで取り込まれることを意味する。オフラインは、ビデオビームが取り込まれて記憶媒体に記憶されたことを意味する。オフライン再生には2つのタイプがある。一方のタイプは、例えばビデオオンデマンド(VOD)で行われるように、ビデオビームがサーバで記憶され、クライアントがそれをストリーミングプロセスによって再生するものである。このモードでは、サーバはストリーミングサーバとして働く。したがって、このタイプのオフライン再生は「ストリーミングサービス」と呼ばれる。他方のタイプのオフライン再生は、ビデオビームがローカルディスクまたは別の位置に記憶されているときに行われる。このモードでは、クライアントは、ビデオビームをサーバの助けなしに再生することができる。
【0079】
オンライン対話式サービスの場合、サーバはクライアントからのユーザコマンドに応答する。本発明の例示的な一実施形態でサポートされるコマンドには、VCRなど通常のメディアプレーヤにおける従来のコマンドに加えて、切換え、スイープ、フリーズおよび回転、履歴閲覧が含まれる。ユーザコマンドに従って、サーバは、取り込まれたビデオからビデオストリームを生成し、次いでこれをクライアントに送信する。本発明の一実施形態では、1つのクライアントに対して2つの通信チャネルがある。一方はユーザデータグラムプロトコル(UDP)チャネルであり、これは、レイテンシ(latency)を短縮するためにオーディオ/ビデオデータの送信に使用される。他方は伝送制御プロトコル(TCP)チャネルであり、これは、正確さを保証するために、取込みカメラを制御するためのコマンドおよび制御データの送信に使用される。オフライン処理の場合、ビデオビームをトランスコードしてデータ量をさらに削減する。詳細なオフライン圧縮手順はセクション3.2に提示する。以下、クライアントコンポーネントの詳細について論じる。
【0080】
2.3.1 オンラインサービス
オンラインサービスでは、クライアントはLAN、WAN、さらにはインターネットにおいてサーバにリモート接続することができる。クライアントとサーバの間の接続が確立されると、ユーザはクライアント部分で、通常のメディアプレーヤにおけるような従来のコマンドに申し込むことができ、また、対話式マルチビューにおける固有のコマンド(例えば切換え、スイープ、フリーズおよび回転、履歴閲覧など)を発行する能力にも申し込むことができる。
【0081】
クライアントは、自分のコマンドをサーバに送信する。ユーザのコマンドに応答して、サーバは、期待されるビデオをユーザのコマンドに従って生成し、各クライアントにそれぞれ送信する。一言で言えば、ユーザは、マルチビュービデオを対話式で再生することができる。場合によっては、ユーザは、カメラIDやパンチルト値などのパラメータをクライアントに入力することもできる。クライアントは、これらのパラメータをサーバに送信し、次いで制御PCに送信して、取込みカメラを制御することができる。
【0082】
2.3.2 オフラインサービス
オフライン再生では、クライアントは、ローカルディスクまたは別の位置に記憶されたマルチビュービデオビームを直接開いて再生することができる。通常のビデオプレーヤにおける従来の効果(例えば再生、早送り、巻戻し、一時停止、停止など)に加えて、ユーザは、例えば、異なるビデオストリーム間での切換え、スイープ効果、フリーズおよび回転効果を含めて、いくつかの凝った特殊効果を体験することもできる。これらの特殊効果に関する簡単な記述を以下に提供する。
【0083】
ストリーミングモードでは、クライアントは、オンラインモードと同様にLAN、WAN、さらにはインターネットを介してサーバにリモート接続することができる。このモードでは、サーバコンポーネントは、クライアントの接続およびビデオビームを管理するストリーミングサーバとして働き、ユーザは、自分のコマンドをサーバに申し込んで、ビデオビームから自分の望むコンテンツを選択し、様々なビデオ効果(例えば切換え、スイープ、フリーズおよび回転、履歴閲覧、スクリプト)を見ることができる。このモードは、現在のビデオオンデマンド(VoD)システムの拡張である。ストリーミングサービスとオンラインサービスの主な違いは、ストリーミングモードではビデオビームが取り込まれてサーバコンポーネントに記憶済みであり、リアルタイムで取り込まれるのではないことである。ストリーミングサービスは、以下に挙げるユーザコマンドすべてをサポートする。
【0084】
切換え効果:切換え効果は、ビデオが正しいテンポで継続している間にユーザがあるカメラ視点と別のカメラ視点との間で切り換えることができるものである。これは、所望の視点を提供する様々なカメラからのビデオストリームにアクセスすることを含む。一例は、ユーザが第2のカメラの視点から続けて第5のカメラの視点に切り換えることである。
【0085】
スイープ効果:スイープ効果は、時間がそれまでどおり進んでいる間に隣接カメラビューにスイープするものである。これによりユーザは、様々な視点からイベントを見ることができる。一例として、合計8つの視点があるとすると、ユーザは第1の視点から開始し、継続的に第2の視点、第3の視点に切り換えて第8の視点まで同様にしてから、第8の視点を見る。
【0086】
フリーズおよび回転効果:フリーズおよび回転効果では、時が静止し、カメラビューが所与の点の周りで回転する。一例として、合計8つの視点があるとすると、ユーザは第1の視点から開始し、継続的に第2、第3の視点に切り換え、以下同様にして第8の視点まで行ったり来たりする。
【0087】
履歴効果:履歴効果では、ユーザは、前に視聴または作成されたビデオシーケンスを再生することができる。
【0088】
スクリプト:ユーザは、オンデマンドで再生することのできるビューおよび特殊効果のセットのスクリプトを作成することもできる。ユーザはまた、このスクリプトを他のユーザに送信することもでき、他のユーザは、スクリプトが起動されると、スクリプトされたのと同じビデオイベントを見ることになる。
【0089】
スイープ、切換え、フリーズおよび回転の効果は、オンラインモードでも利用可能にすることができる。
【0090】
3.0 圧縮手順
本発明の対話式マルチビュービデオシステムおよび方法と共に、オンラインとオフラインの両方の圧縮手順を使用することができる。オンライン圧縮手順は、リアルタイムのマルチビュービデオ取込みのために設計されている。この出力は、オンラインサービスのために直接使用することもでき、あるいは将来の処理のために(例えばオフラインでさらに圧縮したり後で再生したりするために)ディスクに保存することもできる。オフライン圧縮手順は、トランスコーディングプロセスで採用されて、符号化済みビットストリームがずっと効率的に圧縮される。その後、出力ビットストリームは記憶およびオフラインサービスのためにディスクに保存される。
【0091】
以下のセクションで、特定の新規なオンラインおよびオフライン圧縮手順について述べるが、本発明のシステムおよび方法はこれらのタイプの圧縮に限定されないことに留意されたい。従来の圧縮アルゴリズムを使用することもできる。
【0092】
3.1 オンライン圧縮
概して、従来のシングルビュービデオ符号化と同様、本発明の対話式マルチビュービデオシステムの一実施形態で使用されるオンライン圧縮では、各ビデオビューをIPPPフレームのフォーマットで符号化することができる。
【0093】
背景として、通常のビデオ圧縮は、インターフレーム(Pフレーム)圧縮とイントラフレーム(Iフレーム)圧縮の2つの基本的な圧縮技法を利用する。インターフレーム圧縮は、フレーム間であり、連続するピクチャのデータ冗長性(例えば時間冗長性)を最小限に抑えるようになっている。イントラフレーム圧縮は、個々のフレーム内で行われ、各ピクチャ中のデータの重複(例えば空間冗長性)を最小限に抑えるようになっている。従来のビデオ符号化では、イントラピクチャフレームは本質的にJPEGフォーマットでソース画像を符号化する(いくつかの違いはあるが)。通常、ピクセルのブロックは、離散コサイン変換(DCT)にかけられ、マクロブロックベースで量子化される。イントラピクチャフレームは、他のどんなフレームにも依存せず、ランダムアクセスのための「ジャンプイン」ポイントとして使用される。インターフレームは、予測フレーム(Pフレーム)と呼ばれることもあり、前のIまたはPフレームを使用して現在のフレームの内容を「予測」し、次いで予測と実際のフレーム内容との差を圧縮する。予測は、前のフレーム中で現在のマクロブロックの位置に近い領域を見つけようとすることによって行われ、この領域は類似するピクセルを含む。前の予測領域を(通常は半ピクセル精度で)現在のマクロブロックに移動させる動きベクトルを計算する。動きベクトルは、動きがない場合は論理的には0ベクトルとすることができ、これは当然、非常に効率的に符号化される。予測ピクセルとそれらの実際の値との差を計算し、DCT変換し、係数を量子化する(IフレームのDCT係数よりも粗く)。十分に類似するピクセルグループを前のフレーム中で見つけられなかった場合は、Pフレームは単純に、マクロブロックをIフレームであるかのように空間符号化することができる。
【0094】
従来のビデオ符号化と同様、本発明のオンライン圧縮アルゴリズムには、「I」フレームと「P」フレームの2つのタイプのフレームがある。各「I」フレームの圧縮は、そのフレームの相関だけに基づくが、「P」フレームの圧縮は、そのフレームとその前フレームとの相関に基づく。基本的に、「P」フレームの圧縮効率は、「I」フレームよりもずっと高い。「I」フレームは、効率的な圧縮をもたらすことはできないが、誤差に対して非常に頑強である。さらに、各「I」フレームは他のフレームに依存しないので、Iフレームへのアクセスは容易である。この理由で、通常のビデオエンコーダは、フレームを定期的に「I」フレームとして圧縮する。
【0095】
しかし、本発明の対話式マルチビュービデオシステムのオンライン圧縮の、従来方式との大きな違いは、予測符号化を高速化するために導入される独特な「静的」モードにある。静的モードを得るには、元画像と基準画像との差を計算する必要がある。計算複雑度をさらに低減するために、この静的モードを使用するか否かを、すべてのビュー間で合同で判定する。この合同判定ではまず、あるビューの静的領域を検出する。次いで、それらに対応する、近隣ビューが重なった領域は、静的である可能性が高いと考えられる。最後に、非常に簡単なチェックにかけて、この判定を確認する(本発明の一実施形態では、ピクセルのわずかな部分だけを使用して、元画像と基準画像との差を計算する)。静的モードでは、関係するマクロブロック(MB)は従来のインターモードと同様に符号化されるが、それに対応する基準画像(時間予測のために次のフレームによって使用される)は、単にその前の再構築済み画像からコピーされる。この結果、このMBの基準画像の作成には、逆量子化、逆DCT、動き補償のどれも必要ない。
【0096】
この新しい符号化モードに加えて、合同動き推定(ME)も適用して、MEの複雑度を低減する。この新しいMEでは、あるビューに対してまず従来のMEを適用する。次いで、このビューについて見つかったMVに基づいて3D MVを作成する。その後、3D MVを近隣ビューに投影して、それら自体のMVを予測する。予測されたMVに基づいて、これらのビューの検索範囲を縮小することができ、したがって複雑度をかなり低減することができる。例えば、従来のシングルビュービデオ符号化では、エンコーダは通常、あるマクロブロックの動きベクトルを見つけるのに32×32の領域内を検索しなければならない。しかし、本発明によるシステムおよび方法のマルチビュービデオ符号化では、3D動きが得られてこれがあるビューに投影されると、このビューの検索範囲を絞り込むことができ(例えば8×8ピクセルに)、したがってこのビューの動きベクトルを見つける計算はかなり低減される。一方、このことはまた、異なるビューの動きベクトルが相関することも意味する。したがって、これらの動きベクトルはさらに圧縮することができる。本発明の一実施形態では、真の動きベクトルVと、他のビューから得られた予測ベクトル
【0097】
【数6】
【0098】
との差だけを符号化する。
【0099】
図7に、1つのカメラについての、本発明のオンライン符号化方式の全体的な例示的フローチャートを示す。この例では、システムは3つのビデオカメラを有し、各ビデオカメラは毎秒30フレームでビデオを取り込むと仮定する。したがって、フレームサイズは640×480ピクセルである。そのため、毎秒3×30フレームを圧縮する必要がある。最初に、単一のカメラによって取り込まれたフレームの圧縮について考え、次いで複数ビデオの場合について論じる。
【0100】
図7のプロセス動作702に示すように、フレームを符号化する際は、どんなタイプのフレームであるかにかかわらず、最初にフレームをブロックに、好ましくはマクロブロック(MB)に分割する。1つのMBのサイズは16×16ピクセルである。すなわち、上の例では1フレームあたり640×480/16/16MBが得られる。次いで、各フレームを所定の符号化タイプに従って圧縮する。各「I」フレームについては、すべてのMBをイントラモードで符号化する(プロセス動作704、708)。一方、「P」フレームについては、各MBを符号化するときに3つの符号化モードを選択することができる。モード決定はMBベースである。言い換えれば、1つの「P」フレーム中で、異なるMBが異なる符号化モードを有することができる。どのモードを使用するか決定するために、エンコーダはまず、各MBについて動き推定演算を実施して、現在のフレームとその前のフレームとの類似を計算する(プロセス動作710)。差が非常に大きい場合、これはこのMBに相関がほとんどないことを示し、この場合はイントラモードを選択する(プロセス動作712および714)。差が非常に小さい場合は「静的」モードを選択する(プロセス動作716、718)。残りの場合は「インター」モードを選択する(プロセス動作720)。これは、1つのビデオストリームのみからの入力についてのモード決定である。
【0101】
以下は、オンライン圧縮の場合の3つの符号化モードに関する記述である。図11A、11B、11Cに、前述のモードの符号化アーキテクチャ(それぞれインターモード、イントラモード、静的モード)を示す。
【0102】
1)イントラモード:図8に示すように、まず各MB中の係数を、変換または「T」モジュールによって変換して、それらの空間的相関を除去する(プロセス動作802)。その後、変換された係数を「Q」モジュールによって量子化する(プロセス動作804)。(量子化プロセスの単純な例は次のとおりである。2つの係数67および16があり、量子化レベルが64であると仮定する。量子化後、第1の係数は64になり、第2の係数は0になる。量子化の目的は、係数を容易に符号化できるように係数の不確定性を除去することであることがわかる。当然、量子化後にはいくらかの情報が失われる。)量子化された係数を符号化する(例えば「エントロピー符号化」モジュールを使用して)(プロセス動作806)。最後に、圧縮されたビットストリームを得る(プロセス動作808)。
【0103】
2)インターモード:図9に示すように、まず現在のMBおよび前の基準フレームを入力する(プロセス動作902)。次いで、「フレームバッファ」に保存されている前の基準フレームに対して「動き推定」プロセスを実施して、現在のMBに最も類似する領域を見つける(動き推定プロセスは通常、図7に示したようにモード決定プロセスによって現在のMBに対して実施され、したがってここで再び実施する必要はないことに留意されたい)。その後、プロセス動作906に示すように、動き補償(MC)モジュールにより、動き補償操作を適用して、見つかった領域を「フレームバッファ」からコピーする。今や2つのMBがあり、一方は元のフレームからのMB、他方は「MC」モジュールからのMBである。この2つのMBは類似しているが、これらの間にはなおいくらかの差がある。これらの間の差は残差と呼ばれるが、次いでこの差を「T」モジュールによって変換し、「Q」モジュールによって量子化する(プロセス動作908および910)。最後に、量子化された結果を「エントロピー符号化」モジュールによって符号化する(プロセス動作912)。また、基準画像を次のフレームのために更新する必要がある。これは、逆量子化モジュール(「Q−1」)および逆変換モジュール(「T−1」)によって達成され(プロセス動作914および916に示す)、次いで、これらの動作の結果として回復された残差を、動き補償された結果に加える(プロセス動作918)。この後には、エンコーダは、デコーダと同じ基準画像を有する。
【0104】
3)静的モード:静的モードは、本発明のシステムおよび方法によって利用される新しいモードである。この最初の部分は、インターモードの最初の部分と非常によく似ている。しかし、第2の部分、すなわち基準フレームの作成には大きな違いがある。この新しいモードでは、新しい基準は前の基準からコピーされるだけであり、一方、前のインターモードでは、逆量子化、逆変換、残差加算が必要である。この結果、多量の計算を省くことができる。図10に、静的モード処理の流れ図を示す。図10に示すように、まず現在のMBおよび前の基準フレームを入力する(処理動作1002)。次いで、「フレームバッファ」に保存された前の基準フレームに対して「動き推定」プロセスを実施して、現在のMBに最も類似する領域を見つける(プロセス動作1004)。(動き推定プロセスは通常、図7に示したようにモード決定プロセスによって実施され、したがってここで再び実施する必要はないことに留意されたい)。その後、プロセス動作1006に示すように、「MC」モジュール(すなわち動き補償)を適用して、見つかった領域を「フレームバッファ」からコピーする。この場合2つのMBがあり、一方は元のフレームからのMB、他方は「MC」モジュールからの結果である。次いで、この2つのMB間の差を「T」モジュールによって変換し、「Q」モジュールによって量子化する(プロセス動作1008および1010)、最後に、量子化された結果を「エントロピー符号化」モジュールによって符号化する(プロセス動作1012)。新しい基準フレームは、単に、動き補償されたMBをコピーすることによって得られる(プロセス動作1014)。この静的モードでは、MBは実際に静的である必要はなく、動きを含んでいてもよいことを指摘しておくのは重要である。さらに、MBをインターモードで符号化するか静的モードで符号化するかを決定するモード決定しきい値が非常に大きくなるときは、ほとんどのインターモードMBは静的モードとして符号化されることになる。その場合、複雑度はかなり低減することができるが、性能はやや犠牲になる。本発明の一実施形態では、このモード決定しきい値を制御して、複雑度と性能との間の適切なトレードオフを達成する。
【0105】
復号プロセスは、符号化プロセスのちょうど逆である。例えば、まず、圧縮済みビットストリームをエントロピーデコーダに入力して、量子化済み係数(ならびに、各MBの符号化モードなど他の必要な情報)を得る。次いで、各MBにつき、それらの符号化モードに従って、量子化済み係数に逆量子化や逆変換などを施す。
【0106】
次に、複数カメラの場合のモード決定はどうなるであろうか。3つのカメラの場合と図12Aおよび12Bを再び参照する。第1のカメラからのビデオは、前に提示したのとまったく同様にモード決定を実施する(プロセス動作1202〜1222)。その後、画像領域のエピポーラ幾何および類似を用いて、第1のカメラと残りの2つのカメラとの対応を確立することを試みる(プロセス動作1224)。対応に基づいて、第2および第3のカメラの符号化モードを推定する(プロセス動作1226)。推定は常に正しいとは限らないので、得られたこれらの符号化モード、さらには動きベクトルを、精緻化する必要がある。これは、第2のモード決定プロセスによって、より低い計算コストで達成される(プロセス動作1228)。次いで、得られた符号化モードに基づいて各MBを符号化する(プロセス動作1230)。シングルビューの場合のモード決定と同様、この第2の決定プロセスでも、元のMBと動き補償済みMBとの差を計算する。ただし、ピクセルのわずかな部分の差だけを計算する。この結果、複雑さの多くが低減される。
【0107】
マルチビューの場合も、シングルビューの場合と同様に各ビューを独立して復号する。MVを近隣ビューから予測する場合は、最初に近隣ビューのMVを復号すべきである。
【0108】
3.2 オフライン圧縮
オフライン圧縮を使用して、ビデオデータストリームをさらに圧縮することができる。図13および14に示すように、オフライン圧縮の鍵となる考え方は、すべてのビューを3Dマッピングに分解することであり、この3Dマッピングは、3D環境における特徴点のグループからなる。図13のプロセス動作1302に示すように、各特徴点を、その3D座標(x,y,z)および対応する色成分(Y,U,V)で表す。作成されたマッピングは、各ビュー中のすべてのピクセルを再構築することのできる特徴点の最小限のセットである。DCTやDWTなどの変換ベースの分解とは異なり、この種の分解は、マルチビュービデオを非相関化するには最も効率的である。明らかに、ビューの数が増加したときは、新しい特徴点(すなわち新しい情報)だけを記録すればよく、他の特徴点は既存のマッピングから見つけることができる。
【0109】
3Dマッピングを作成した後、プロセス動作1304に示すように、得られた特徴点を変換して、これらの間の相関をさらに分解する。変換結果を量子化し、「ベース層」ビットストリームとして符号化する(プロセス動作1306、1308)。逆量子化された特徴点を再び各ビューにマッピングして、予測ビュー画像を形成する(プロセス動作1310)。予測画像は元の画像に近いが、これらの間にはなおいくらかの差がある。この差は、プロセス動作1312、1314に示すように、各ビューの「エンハンスメント層」として独立して符号化する(エンハンスメント層のビットストリームをスケーラブルに符号化して、ネットワーク適応能力を改善することができる)。さらに、2種類の層を符号化するとき、時間相関も利用する。これは、時間領域では、マッピング情報の静的部分およびエンハンスメント残差は不変だからである。動きのある部分も、3D動き構造によってやはり圧縮することができる。
【0110】
図14に、オフライン圧縮の例示的な符号化構造を示す。この構造は、3Dマッピング作成モジュール1402、変換モジュール1404、量子化モジュール1406、逆変換モジュール1408、逆量子化モジュール1410、逆マッピングモジュール1412、エントロピー符号化モジュール1414、ならびにビューバッファ1416を備える。表現をわかりやすくするために、この例では2つのビューだけを考える。i番目に取り込まれたビューについて、すべてのビュー画像およびカメラ位置を「3Dマッピング作成」モジュールに入力して、特徴点セットMiを抽出する。次いで、前に構築された特徴点セット
【0111】
【数7】
【0112】
からマッピング情報Miを予測して、その時間相関を除去する。予測残差
【0113】
【数8】
【0114】
を変換し量子化する(ここではDCTまたは離散ウェーブレット変換(DWT)あるいはその他の変換を採用することができる)。最後に、エントロピー符号化を適用してベース層ビットストリームを生成する。次いで、再構築されたマッピング情報
【0115】
【数9】
【0116】
を、カメラの位置と共に「逆マッピング」モジュールに入力する。その後、各ビューの予測画像が得られる。時間予測によって、予測画像と元画像との差をさらに非相関化する。残差を変換し量子化する(ここではDCTまたは離散ウェーブレット変換(DWT)あるいはその他の変換を採用することができる)。最後に、エントロピー符号化を適用してエンハンスメント層ビットストリームを生成する。(この例では、2つのエンハンスメント層ビットストリーム(各ビューにつき1つのビットストリーム)が得られる。)
復号プロセスは次のとおりである。あるビューを再構築したいと仮定する。まずベース層を、エントロピー復号、逆量子化、逆変換など(例えばこの層の符号化プロセスの逆)によって復号する。その後、このビューのエンハンスメント層を、エントロピー復号、逆量子化、逆変換などによって復号する。最後に、得られた共通の特徴点(ベース層からの)をこのビューに逆マッピングする。得られた画像と、エンハンスメント層の復号結果とが、このビューの再構築画像を形成する。
【0117】
本発明に関する以上の記述は、例示および記述のために提示したものである。これは、網羅的でもなく、開示した厳密な形に本発明を限定するものでもない。前述の教示に鑑みて、多くの修正および変形が可能である。本発明の範囲は、この詳細な記述によってではなく、本明細書に添付された特許請求の範囲によって限定されるものとする。
【図面の簡単な説明】
【0118】
【図1】本発明を実施するための例示的なシステムを構成する汎用コンピューティングデバイスを示す図である。
【図2】本発明による対話式マルチビュービデオシステムを単純化したブロック図である。
【図3】本発明の対話式マルチビュービデオシステム中で利用される全体的な較正手順を単純化した流れ図である。
【図4A】本発明によるシステムおよび方法の一実施形態で使用される例示的な較正パターンの画像の図である。
【図4B】本発明の対話式マルチビュービデオシステム中で利用されるパターンベースの較正の流れ図である。
【図5】本発明の対話式マルチビュービデオシステム中で利用されるパターンなし較正の流れ図である。
【図6A】本発明の対話式マルチビュービデオシステム中で使用されるビデオ索引テーブルの図である。
【図6B】本発明の対話式マルチビュービデオシステム中で使用されるオーディオ索引テーブルの図である。
【図7】本発明の一実施形態の、1つのカメラについてのオンライン圧縮方式を示す流れ図である。
【図8】本発明の一実施形態のイントラモード符号化を示す流れ図である。
【図9】本発明の一実施形態のインターモード符号化を示す流れ図である。
【図10】本発明の一実施形態の静的モード符号化を示す流れ図である。
【図11A】本発明の一実施形態のインターモード符号化アーキテクチャの概略図である。
【図11B】本発明の一実施形態のイントラモード符号化アーキテクチャの概略図である。
【図11C】本発明の一実施形態の静的モード符号化アーキテクチャの概略図である。
【図12A】複数のカメラのビットストリームを符号化するための符号化論理を示す流れ図である。
【図12B】複数のカメラのビットストリームを符号化するための符号化論理を示す流れ図である。
【図13】本発明の一実施形態のオフライン圧縮方式を示す流れ図である。
【図14】本発明の一実施形態のオフライン圧縮システムのアーキテクチャの図である。
【符号の説明】
【0119】
204a カメラ
204b カメラ
206a パンチルトヘッド
206b パンチルトヘッド
208a レンズ
208b レンズ
209 オーディオレコーダ
210 制御PC
214 同期ユニット
216 サーバ
218 ネットワークバックボーン
220 ネットワーク
222 クライアント
【特許請求の範囲】
【請求項1】
ビデオ視聴サービスをユーザに提供するためのコンピュータ実施方法であって、
複数のカメラを使用して同じイベントの様々な画像ストリームを様々なビューから同時に取り込むプロセス動作と、
前記取り込まれた画像の特定ストリームをクライアントが対話式に要求するプロセス動作と、
前記取り込まれた画像の前記要求された特定ストリームをサーバから前記クライアントに提供するプロセス動作と
を備えることを特徴とするコンピュータ実施方法。
【請求項2】
取り込まれた画像の前記特定ストリームはリアルタイムで提供されることを特徴とする請求項1に記載のコンピュータ実施方法。
【請求項3】
前記クライアントは少なくとも1つのカメラの視点をリアルタイムで制御することができることを特徴とする請求項2に記載のコンピュータ実施方法。
【請求項4】
前記クライアントは少なくとも1つのカメラのパンチルト値を制御することができることを特徴とする請求項3に記載のコンピュータ実施方法。
【請求項5】
前記取り込まれたビデオストリームは後で視聴するために記憶されることを特徴とする請求項1に記載のコンピュータ実施方法。
【請求項6】
前記ユーザは、前記ビデオストリームが正しいテンポで継続している間に、所望の視点を提供する様々なカメラからの前記ビデオストリームにアクセスすることによって、あるカメラ視点からの前記取り込まれたビデオストリームの視聴から、別のビデオ視点からの別の前記取り込まれたビデオストリームの視聴に切り換えることができることを特徴とする請求項5に記載のコンピュータ実施方法。
【請求項7】
前記ユーザは、前記ビデオストリームが正しいテンポで継続している間に、所望の視点を提供する隣接カメラからの前記ビデオストリームにアクセスすることによって、隣接カメラ視点からの前記取り込まれたビデオストリームの視聴にスイープすることができることを特徴とする請求項5に記載のコンピュータ実施方法。
【請求項8】
時が静止し、前記カメラ視点が所与の点の周りで回転することを特徴とする請求項5に記載のコンピュータ実施方法。
【請求項9】
前記ユーザは前に視聴または作成されたビデオシーケンスを再生することができることを特徴とする請求項5に記載のコンピュータ実施方法。
【請求項10】
ユーザはオンデマンドで再生できるビューおよび特殊効果のセットのスクリプトを作成することができることを特徴とする請求項5に記載のコンピュータ実施方法。
【請求項11】
前記ユーザは前記スクリプトを他のユーザに送信することができ、前記他のユーザは、前記スクリプトが起動されると、スクリプトされたのと同じビデオイベントを見ることができることを特徴とする請求項10に記載のコンピュータ実施方法。
【請求項12】
サーバが、前記取り込まれたビデオからビデオストリームを生成し、前記クライアントの要求に基づいて前記ビデオストリームを前記クライアントに送信することを特徴とする請求項1に記載のコンピュータ実施方法。
【請求項13】
1つのクライアントに対して2つの通信チャネルがあることを特徴とする請求項12に記載のコンピュータ実施方法。
【請求項14】
一方の通信チャネルは、レイテンシを低減するためにオーディオ/ビデオデータの送信に使用されることを特徴とする請求項13に記載のコンピュータ実施方法。
【請求項15】
前記通信チャネルはユーザデータグラムプロトコル(UDP)チャネルであることを特徴とする請求項14に記載のコンピュータ実施方法。
【請求項16】
一方の通信チャネルはコマンドおよび制御データの送信に使用されることを特徴とする請求項13に記載のコンピュータ実施方法。
【請求項17】
前記通信チャネルは伝送制御プロトコル(TCP)チャネルであることを特徴とする請求項16に記載のコンピュータ実施方法。
【請求項18】
ユーザがビデオを見るためのコンピュータ実施方法であって、
複数のカメラを使用して同じイベント空間の様々な画像ストリームを様々な視点から同時に取り込むプロセス動作と、
前記取り込まれた様々な画像ストリームのうちユーザから要求されたストリームを、ユーザによって見られるようにコンピュータで受信するプロセス動作と
を備えることを特徴とするコンピュータ実施方法。
【請求項19】
前記取り込まれた様々な画像ストリームのうちユーザから要求されたストリームは、前記画像が取り込まれているときにリアルタイムで前記コンピュータに提供されることを特徴とする請求項18に記載のコンピュータ実施方法。
【請求項20】
取り込まれた様々な画像ストリームは記憶媒体に記憶され、前記取り込まれた様々な画像ストリームのうちユーザから要求されたストリームは、前記記憶媒体から前記コンピュータに提供されることを特徴とする請求項18に記載のコンピュータ実施方法。
【請求項21】
前記取り込まれた様々な画像ストリームはサーバに記憶されることを特徴とする請求項20に記載のコンピュータ実施方法。
【請求項22】
前記取り込まれた様々な画像ストリームは前記ユーザのコンピュータに記憶されることを特徴とする請求項21に記載のコンピュータ実施方法。
【請求項23】
前記ユーザは、前記様々な画像ストリームが取り込まれる際の視点を制御することができることを特徴とする請求項18に記載のコンピュータ実施方法。
【請求項24】
ユーザが見るためのビデオを提供するためのシステムであって、
汎用コンピューティングデバイスと、
前記汎用コンピューティングデバイスによって実行可能なプログラムモジュールを含むコンピュータプログラムとを備え、
前記コンピューティングデバイスは、前記コンピュータプログラムの前記プログラムモジュールにより、
複数のカメラによって様々な視点から同時に取り込まれた同じイベントの複数のビデオストリームを入力するステップと、
前記入力された複数のビデオストリームのうちユーザから要求されたストリームを、クライアント位置にいるユーザによって見られるようにサーバから前記クライアントに提供するステップと
を行うように命令される
ことを特徴とするシステム。
【請求項25】
前記複数のビデオストリームのうちユーザから要求されたストリームは、リアルタイムで前記クライアントに提供されることを特徴とする請求項24に記載のシステム。
【請求項26】
前記ビデオストリームが正しいテンポで継続する間に、あるカメラ視点から取り込まれたビデオストリームから、別のカメラ視点から取り込まれた少なくとも1つのビデオストリームに切り換わるビデオストリームが、前記ユーザに送信されることを特徴とする請求項24に記載のシステム。
【請求項27】
前記ビデオストリームが正しいテンポで継続する間に、隣接カメラ視点からのビデオストリームが前記ユーザに送信されることを特徴とする請求項24に記載のシステム。
【請求項28】
時が静止し、所与の点の周りで回転するカメラ視点からのビデオストリームが前記ユーザに送信されることを特徴とする請求項24に記載のシステム。
【請求項1】
ビデオ視聴サービスをユーザに提供するためのコンピュータ実施方法であって、
複数のカメラを使用して同じイベントの様々な画像ストリームを様々なビューから同時に取り込むプロセス動作と、
前記取り込まれた画像の特定ストリームをクライアントが対話式に要求するプロセス動作と、
前記取り込まれた画像の前記要求された特定ストリームをサーバから前記クライアントに提供するプロセス動作と
を備えることを特徴とするコンピュータ実施方法。
【請求項2】
取り込まれた画像の前記特定ストリームはリアルタイムで提供されることを特徴とする請求項1に記載のコンピュータ実施方法。
【請求項3】
前記クライアントは少なくとも1つのカメラの視点をリアルタイムで制御することができることを特徴とする請求項2に記載のコンピュータ実施方法。
【請求項4】
前記クライアントは少なくとも1つのカメラのパンチルト値を制御することができることを特徴とする請求項3に記載のコンピュータ実施方法。
【請求項5】
前記取り込まれたビデオストリームは後で視聴するために記憶されることを特徴とする請求項1に記載のコンピュータ実施方法。
【請求項6】
前記ユーザは、前記ビデオストリームが正しいテンポで継続している間に、所望の視点を提供する様々なカメラからの前記ビデオストリームにアクセスすることによって、あるカメラ視点からの前記取り込まれたビデオストリームの視聴から、別のビデオ視点からの別の前記取り込まれたビデオストリームの視聴に切り換えることができることを特徴とする請求項5に記載のコンピュータ実施方法。
【請求項7】
前記ユーザは、前記ビデオストリームが正しいテンポで継続している間に、所望の視点を提供する隣接カメラからの前記ビデオストリームにアクセスすることによって、隣接カメラ視点からの前記取り込まれたビデオストリームの視聴にスイープすることができることを特徴とする請求項5に記載のコンピュータ実施方法。
【請求項8】
時が静止し、前記カメラ視点が所与の点の周りで回転することを特徴とする請求項5に記載のコンピュータ実施方法。
【請求項9】
前記ユーザは前に視聴または作成されたビデオシーケンスを再生することができることを特徴とする請求項5に記載のコンピュータ実施方法。
【請求項10】
ユーザはオンデマンドで再生できるビューおよび特殊効果のセットのスクリプトを作成することができることを特徴とする請求項5に記載のコンピュータ実施方法。
【請求項11】
前記ユーザは前記スクリプトを他のユーザに送信することができ、前記他のユーザは、前記スクリプトが起動されると、スクリプトされたのと同じビデオイベントを見ることができることを特徴とする請求項10に記載のコンピュータ実施方法。
【請求項12】
サーバが、前記取り込まれたビデオからビデオストリームを生成し、前記クライアントの要求に基づいて前記ビデオストリームを前記クライアントに送信することを特徴とする請求項1に記載のコンピュータ実施方法。
【請求項13】
1つのクライアントに対して2つの通信チャネルがあることを特徴とする請求項12に記載のコンピュータ実施方法。
【請求項14】
一方の通信チャネルは、レイテンシを低減するためにオーディオ/ビデオデータの送信に使用されることを特徴とする請求項13に記載のコンピュータ実施方法。
【請求項15】
前記通信チャネルはユーザデータグラムプロトコル(UDP)チャネルであることを特徴とする請求項14に記載のコンピュータ実施方法。
【請求項16】
一方の通信チャネルはコマンドおよび制御データの送信に使用されることを特徴とする請求項13に記載のコンピュータ実施方法。
【請求項17】
前記通信チャネルは伝送制御プロトコル(TCP)チャネルであることを特徴とする請求項16に記載のコンピュータ実施方法。
【請求項18】
ユーザがビデオを見るためのコンピュータ実施方法であって、
複数のカメラを使用して同じイベント空間の様々な画像ストリームを様々な視点から同時に取り込むプロセス動作と、
前記取り込まれた様々な画像ストリームのうちユーザから要求されたストリームを、ユーザによって見られるようにコンピュータで受信するプロセス動作と
を備えることを特徴とするコンピュータ実施方法。
【請求項19】
前記取り込まれた様々な画像ストリームのうちユーザから要求されたストリームは、前記画像が取り込まれているときにリアルタイムで前記コンピュータに提供されることを特徴とする請求項18に記載のコンピュータ実施方法。
【請求項20】
取り込まれた様々な画像ストリームは記憶媒体に記憶され、前記取り込まれた様々な画像ストリームのうちユーザから要求されたストリームは、前記記憶媒体から前記コンピュータに提供されることを特徴とする請求項18に記載のコンピュータ実施方法。
【請求項21】
前記取り込まれた様々な画像ストリームはサーバに記憶されることを特徴とする請求項20に記載のコンピュータ実施方法。
【請求項22】
前記取り込まれた様々な画像ストリームは前記ユーザのコンピュータに記憶されることを特徴とする請求項21に記載のコンピュータ実施方法。
【請求項23】
前記ユーザは、前記様々な画像ストリームが取り込まれる際の視点を制御することができることを特徴とする請求項18に記載のコンピュータ実施方法。
【請求項24】
ユーザが見るためのビデオを提供するためのシステムであって、
汎用コンピューティングデバイスと、
前記汎用コンピューティングデバイスによって実行可能なプログラムモジュールを含むコンピュータプログラムとを備え、
前記コンピューティングデバイスは、前記コンピュータプログラムの前記プログラムモジュールにより、
複数のカメラによって様々な視点から同時に取り込まれた同じイベントの複数のビデオストリームを入力するステップと、
前記入力された複数のビデオストリームのうちユーザから要求されたストリームを、クライアント位置にいるユーザによって見られるようにサーバから前記クライアントに提供するステップと
を行うように命令される
ことを特徴とするシステム。
【請求項25】
前記複数のビデオストリームのうちユーザから要求されたストリームは、リアルタイムで前記クライアントに提供されることを特徴とする請求項24に記載のシステム。
【請求項26】
前記ビデオストリームが正しいテンポで継続する間に、あるカメラ視点から取り込まれたビデオストリームから、別のカメラ視点から取り込まれた少なくとも1つのビデオストリームに切り換わるビデオストリームが、前記ユーザに送信されることを特徴とする請求項24に記載のシステム。
【請求項27】
前記ビデオストリームが正しいテンポで継続する間に、隣接カメラ視点からのビデオストリームが前記ユーザに送信されることを特徴とする請求項24に記載のシステム。
【請求項28】
時が静止し、所与の点の周りで回転するカメラ視点からのビデオストリームが前記ユーザに送信されることを特徴とする請求項24に記載のシステム。
【図1】
【図2】
【図3】
【図4A】
【図4B】
【図5】
【図6A】
【図6B】
【図7】
【図8】
【図9】
【図10】
【図11A】
【図11B】
【図11C】
【図12A】
【図12B】
【図13】
【図14】
【図2】
【図3】
【図4A】
【図4B】
【図5】
【図6A】
【図6B】
【図7】
【図8】
【図9】
【図10】
【図11A】
【図11B】
【図11C】
【図12A】
【図12B】
【図13】
【図14】
【公開番号】特開2006−60801(P2006−60801A)
【公開日】平成18年3月2日(2006.3.2)
【国際特許分類】
【外国語出願】
【出願番号】特願2005−217367(P2005−217367)
【出願日】平成17年7月27日(2005.7.27)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】
【公開日】平成18年3月2日(2006.3.2)
【国際特許分類】
【出願番号】特願2005−217367(P2005−217367)
【出願日】平成17年7月27日(2005.7.27)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】
[ Back to top ]