説明

経路構築装置及び経路構築方法

【課題】優先順位付け及び最適化された動的リソースを割り当てる経路構築装置及び経路構築方法を提供すること。
【解決手段】本発明は、一般に、異種ネットワーク及びリソース環境、並びに、複数のノードを有するAV会議システムに適用可能な最適化及び優先順位付けされた動的リソースを割り当てるリソース割当装置及びリソース割当方法に関する。この新しい技法は、AV経路の構築のために、AVミキシング(MCU)能力、エンコーディング及びデコーディング能力、参加者画面レイアウト選択肢、並びに、会議イベントに基づいて優先順位付け及び最適化された動的なリソース割当を可能にする。この技法は、動的なユーザのニーズを反映させることによって所与のAV処理及びネットワークリソースを最適化可能なリアルタイムAV会議システムに好適である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、異種のネットワーク及びリソース環境、並びに、複数のノードを有するAV(Audio/Video)会議システムに適用可能な、優先順位付け及び最適化された動的リソースを割り当てる経路構築装置及び経路構築方法に関する。
【背景技術】
【0002】
ALM(Application Layer Multicast)は、メンバー自身によるAVパケットの転送を許容してIPレイヤにおけるマルチキャスト転送機能の必要性を除去する。この結果、アプリケーションレイヤにおけるAVパケットの転送が柔軟になる。ALMは、図1に示すように、マルチパーティアプリケーションなどの2つ以上のクライアントエンティティ間において、データパケットを同時に交換する。ALMセッションは、このために、これらのクライアントエンティティがネットワークを介して接続された論理的なセッションであると定義する。
【0003】
特許文献1によれば、N−Treeアルゴリズムは、拡水ポリシー(water spreading policy)を適用し、「帯域幅が公平なN個のソースのALM」経路を同時に構築する。このアルゴリズムは、3つのフェーズで動作する。この3つのフェーズとは、第1のフェーズは、ネットワークメトリックを収集するための接続確立フェーズである。第2のフェーズは、ALMノード間にALM経路を形成するN−Treeアルゴリズムを実行するN−Tree構築フェーズである。最後フェーズは、リンクの移動及び再順序付け方法を採用したALM経路の最適化のためのN−Tree最適化フェーズである。
【0004】
このN−Treeアルゴリズムは、参加ノードにおける利用可能な帯域幅及びレイテンシーにのみ基づいて帯域幅を公平に分配したALM経路を構築する。このN−Treeアルゴリズムによるエンドノードの個別の帯域幅に対する要求を考慮しない帯域幅の割当は、参加ノードにおいて最適化されていないAV品質をもたらす。マルチパーティのALMビデオ会議セッションにおいては、参加者たちは、自身の画面レイアウトを連続的にカスタマイズ可能であり、これには、動的で差別化された帯域幅及びレイテンシーが要求される。そして、この問題は、特許文献2の発明によって解決された。
【0005】
特許文献2の「ソース固有のネットワーク経路の差別化された公平な帯域幅割当」メカニズムは、ALMアプリケーション用の受信者側により決定される表示解像度及びコンテンツタイプに基づいて、帯域幅を割り当てることを目的としている。このメカニズムは、ビデオ会議セッションにおける各参加者が選択する異なる画面レイアウトに従う表示解像度と、オーディオ、ビデオ及びドキュメント等の異なるコンテンツタイプとを有するものと仮定している。なお、表示解像度は、例えば、HD720p、HD1080i、4CIF、CIF、及び、QCIF等である。ALM経路は、これらの(i)受信者側の表示解像度と、(ii)コンテンツタイプという2つの主要コンポーネントを差別化することによって構築される。この場合、単一のストリーミングセッションにおける異なる参加ノードに対する異なるネットワーク経路が、構築可能になっている。また、この場合、ALM経路は、ネットワークの帯域幅に関連付けられている。
【0006】
要求された表示解像度及びコンテンツタイプの優先順位に従って、ストリーム送信ノードとストリーム受信ノードの間は、N−Treeアルゴリズムを利用してALM経路に利用可能な最大帯域幅を割り当てる。これにより、それぞれのALMノードは、最良のAV品質が実現される。表示解像度及びコンテンツタイプという選択パラメータと共に、ノードタイプ(又は、ソース固有のタイプ)、即ち、ストリーム送信ノード、ストリーム中継ノード及びストリーム受信ノードに基づいて、ALMノードグループが形成される。
【0007】
特許文献2の方法は、N−Treeアルゴリズムを利用し、ノードタイプ及び選択パラメータに基づいた異なるグループからノードを選択し、ALM経路を構築する。その他のパラメータは、即ち、エンコーディングビットレート、画像解像度及びフレームレートである。また、その他のパラメータは、リソースの最適化を可能にするべく、圧縮/エンコーディングプロセスにおいて、割り当てられた帯域幅に従ってチューニングされるものと仮定されている。優先順位付けは、ユーザ要求に基づいて動的に変化可能である表示解像度及びコンテンツタイプに基づいて実行される。この場合には、N−Treeアルゴリズムを侵害することなく、帯域幅も動的に割り当てられる。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】国際公開第2009/098748号パンフレット
【特許文献2】国際公開第2009/153945号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【0009】
前述した2つの発明は、全てのノードがAVコンテンツ処理能力の観点において同一であることを前提としている。また、これらの発明は、同一セッションにおける複数の会議イベント及び複数の参加者画面レイアウトの会議セッションにおける変化を考慮していない。この考慮の欠如は、後述するように、AVセッションにおける優先順位付け及び最適化のためのリソースの割当に対して深刻な影響を及ぼす。
【0010】
全てのノードのAVミキシング(MCU:Multiple Control Unit)能力、エンコーディング及びデコーディング能力、参加者画面レイアウト選択肢、並びに、会議イベントといった各パラメータが、同一の装置であることを前提とした問題点は、次の図に基づいて例示可能である。これらの図は、図6、図7、図8、及び図9であり、N−Tree(特許文献1の発明)が、特許文献2に記述された方法のために所与の3つのノードのAV分配ツリーを構築する方法を示す。特許文献1の発明によれば、構築されたN−Treeは、エンコーダ/デコーダの使用といった観点では最適化されていない。これは、処理の遅延を結果的にもたらす。その結果、体験するビデオ会議の品質が低下する(ビデオの遅れ(video lagging))。したがって、この場合には、帯域幅又はレイテンシー以外のリソースが同様に重要である。
【0011】
したがって、特許文献1の発明は、解像度及びコンテンツタイプに加えて、画面レイアウト選択肢及び会議イベント等の変化を包含することにより、N−Treeをトリガし、主要なリソースを優先順位付け及び最適化しなければならない。主要なリソースとは、AVミキシング(MCU)能力、並びに、エンコーディング及びデコーディング能力(符号化及び復号化能力)等を含む。
【0012】
本発明の目的は、複数の通信ノード間で送受信されるストリームコンテンツの配送経路を構築するために、優先順位付け及び最適化された動的リソースを割り当てる経路構築装置及び経路構築割当方法を提供することである。
【課題を解決するための手段】
【0013】
本発明は、複数の通信ノード間でストリームコンテンツが送受信されるシステム内の1つの通信ノードを構成する、前記ストリームコンテンツの配送経路を構築する経路構築装置であって、前記配送経路を構築するために利用可能なリソースの割当てを優先順位付けするリソース優先順位付け部と、前記配送経路を構築するために利用可能なリソースの割当てを最適化するリソース最適化部と、前記リソース優先順位付け部によって優先順位付けされ、前記リソース最適化部によって最適化されたリソースの割当てに基づいて、ストリームコンテンツの配送経路を構築する経路構築部と、を備えた経路構築装置を提供する。
【0014】
本発明は、複数の通信ノード間でストリームコンテンツが送受信されるシステム内の1つの通信ノードによって行われる、前記ストリームコンテンツを送信するための配送経路を構築する経路構築方法であって、前記配送経路を構築するために利用可能なリソースの割当てを優先順位付けするリソース優先順位付けステップと、前記配送経路を構築するために利用可能なリソースの割当てを最適化するリソース最適化ステップと、前記リソース優先順位付けステップで優先順位付けされ、前記リソース最適化ステップで最適化されたリソースの割当てに基づいて、ストリームコンテンツの配送経路を構築する経路構築ステップと、を有する経路構築方法を提供する。
【発明の効果】
【0015】
本発明に係る経路構築装置及び経路構築方法によれば、複数の通信ノード間で送受信されるストリームコンテンツの配送経路を構築するために、優先順位付け及び最適化された動的リソースを割り当てることができる。
【図面の簡単な説明】
【0016】
【図1】3つのサブネットワーク及び複数の接続されたノードを有するネットワークを示す。
【図2】特許文献1の発明の例を説明するために1つの会議セッションにおける複数のネットワークと接続ノードの構成例を示す。
【図3】所与の初期リソースにおける帯域幅が公平なN−Treeを構築する詳細なステップごとの例を示す。
【図4】所与の初期リソースにおける帯域幅が公平なN−Treeを構築する詳細なステップごとの例を示す。
【図5】所与の初期リソースにおける帯域幅が公平なN−Treeを構築する詳細なステップごとの例を示す。
【図6】特許文献2の発明の例を説明するために1つの会議セッションにおける複数のネットワークと接続ノードの構成例を示す。
【図7】受信者側によって決定される表示解像度及びコンテンツタイプに基づいたソース固有のネットワーク経路に関する差別化された帯域幅が公平な割当の詳細なステップごとの例を示す。
【図8】受信者側によって決定される表示解像度及びコンテンツタイプに基づいたソース固有のネットワーク経路に関する差別化された帯域幅が公平な割当の詳細なステップごとの例を示す。
【図9】受信者側によって決定される表示解像度及びコンテンツタイプに基づいたソース固有のネットワーク経路に関する差別化された帯域幅が公平な割当の詳細なステップごとの例を示す。
【図10】本発明のアプリケーションの例を説明するために1つの会議セッションにおける複数のネットワークと接続ノードの構成例を示す。
【図11】異種環境においてリソース優先順位付け及び最適化されたN−Treeを構築する詳細なステップごとの例を示す。
【図12】異種環境においてリソース優先順位付け及び最適化されたN−Treeを構築する詳細なステップごとの例を示す。
【図13】異種環境においてリソース優先順位付け及び最適化されたN−Treeを構築する詳細なステップごとの例を示す。
【図14】本発明の実施形態によるリソース優先順位付け及び最適化されたN−Tree構築装置を示す。
【図15】本発明の実施形態によるALM−MCUリソース状態メッセージの構造を定義している。
【図16】本発明の実施形態によるALM−MCUビデオ入出力(I/O)状態メッセージの構造を定義している。
【図17】本発明の実施形態による会議構成状態メッセージの構造を定義している。
【図18】本発明の実施形態によるビデオストリーム構造を定義している。
【図19】本発明の実施形態によるそれぞれの解像度タイプごとの推定帯域幅テーブルを規定している。
【図20】本発明の実施形態によるそれぞれの優先順位レベルごとの最大レイテンシーを規定している。
【図21】本発明の実施形態による会議イベントにおける参加者の役割に基づいた参加者の優先順位レベルテーブルを示す。
【図22】本発明の実施形態によるALM−MCUリソース情報テーブルを示す。
【図23】本発明の実施形態によるN−Tree構築方法の優先順位付け及び最適化されたリソース割当の主要なプロセスのフローチャートを示す。
【図24】本発明の実施形態によるALM会議セッション形成のフローチャートを示す。
【図25】本発明の実施形態によるALM会議セッション形成のフローチャートを示す。
【図26】本発明の実施形態によるALM会議セッション形成のフローチャートを示す。
【図27】本発明の実施形態によるALM会議セッション形成のフローチャートを示す。
【図28】本発明の実施形態に従ってリソース優先順位付け及び最適化されたインタークラスタALM N−Treeを構築するステップ1408の詳細を示す。
【図29】本発明の実施形態に従ってユーザからの選択された画面レイアウト選択肢のそれぞれのものが必要とするリソースを推定するステップを示す。
【図30】本発明の実施形態に従ってユーザからの選択された画面レイアウト選択肢のそれぞれのものが必要とするリソースを推定するステップを示す。
【図31】本発明の実施形態による優先順位付けされたリソースを示す。
【図32】本発明の実施形態による優先順位付けされたリソースを示す。
【図33】本発明の実施形態による最適化されたリソースの割当を示す。
【図34】本発明の実施形態による最適化されたリソースの割当を示す。
【図35】教師サイト及び生徒サイトで視聴されるレイアウトでの講義セッションを示す。
【図36】教師サイト、生徒(質問者)サイト及び生徒(視聴者)サイトでの講義セッションにおける質疑応答シナリオを示す。
【発明を実施するための形態】
【0017】
本発明のN−Tree構築装置は、コンテンツの配送経路であるAV経路(特に、ALM経路)の構築のために、各パラメータに基づいて優先順位付け及び最適化された動的リソースを割り当てる。なお、各パラメータとは、帯域幅、レイテンシー、表示解像度及びコンテンツタイプといった各パラメータ以外に、AVミキシング(MCU)能力、符号化及び復号化能力、参加者画面レイアウト選択肢、並びに、会議イベント等を含む。異なるハードウェア能力、及び進行中のセッションにおいて基礎となるAV会議ダイナミクスを有するCE装置の異種特性は、リソースを最適に利用するために、優先順位付け及び最適化された動的リソースの割当を必要する。なお、異なるハードウェア能力とは、AVミキシング(MCU)能力、エンコーディング及びデコーディング能力、合計リンク帯域幅容量又は表示解像度等である。本発明におけるリソースとは、ネットワークの帯域幅やレイテンシー、MCUのエンコーディング/デコーディング能力等を指す。また、AV会議ダイナミクスとは、利用可能な帯域幅の変動、コンテンツタイプの変化、画面レイアウトの変化又は会議イベントの変化である。
【0018】
ALMセッションにおいては、AVコンテンツは、送信元ノードと受信ノードの間において、異なる経路を介してストリーミングされる。また、ALMセッションにおいては、次のノードに転送される前に、変更を伴うことなく又は変更を伴って、AVコンテンツをALMストリーミング経路に沿って転送するか又はローカルに消費可能である。その結果、参加ノード間における負荷分散が可能になる。したがって、それぞれのALMノードによるAVコンテンツの操作を可能にするべく、十分なリソースが必要とされる。
【0019】
これを実現するべく、動的なネットワーク状態及び会議セッションイベントを反映したALM経路の構築のために、CEリソースを動的に優先順位付け及び最適化する必要がある。その結果、リソース効率の優れたALM経路の構築が保証される。
【0020】
以下、意味の一貫性を確保するべく、本明細書において参照されている特定の用語の定義について記述する。
【0021】
「ALMセッション」:ALMセッションとは、例えば、図1に示されているように、マルチパーティアプリケーションにおいて、複数のALMノード(ALM又はALM−MCUノードを含む)が、それぞれのノード間においてデータパケットを同時に交換するべく、ネットワークを介して接続された論理セッションであると定義される。
【0022】
「ALMノード」:ALMセッションに参加するノードであって、ALMに基づいたパケットルーティングを実行する能力を有する。
【0023】
「非ALMノード(又は、「エンドノード」)」:ALM機能を実行しないノードである。これは、通常、コンテンツを生成する(ソース)又はコンテンツを消費するノードである。換言すれば、ALMセッションに参加するが、ALMに基づいたパケットルーティングを実行する能力を有していないノードである。
【0024】
「ALM−MCUノード」:受信したコンテンツのコンテンツミキシングを実行し、かつ、コンテンツを別のALM又はALM MCUノードに対して転送するALMノードである。
【0025】
「フルミキシング」:ソースノードから受信した全てのコンテンツをミキシングするMCU動作のことである。
【0026】
「部分ミキシング」:ALMセッション参加者のコンテンツの一部のみがALM−MCUノードによってミキシングされることである。
【0027】
「ローカルクラスタ」:直接的に接続されたALM−MCUノードの全てを表すクラスタである。
【0028】
「MCU間チャネル」:フルミキシング又は部分ミキシングされたコンテンツを、ストリーミングするためのALM−MCUノード間におけるネットワーク経路である。
【0029】
「高優先順位ノード」:最も重要なノード順位を有する重要なALMノード又はALM−MCUノードである。
【0030】
「AVミキシング(MCU)能力」:ハードウェア又はソフトウェア能力によって、N個のAVストリームをミキシングするためのALM−MCUノードの能力である。
【0031】
「エンコーディング及びデコーディング能力」:ハードウェア又はソフトウェア、エンコーダ又はデコーダの支援により、N個のAVストリームをエンコード及び/又はデコードするためのALM−MCUノードの能力である。
【0032】
「最大リソース(greatest resource)」:最も資源に富むノードから始まる優先順位の序列を有するALMノード、又はALM−MCUノードのグループ中において、定量化及び比較可能である任意のタイプのリソースである。
【0033】
「MESHネットワーク」:ALMセッション内の全てのALM−MCUノード間において、完全に相互接続されたAVストリーム供給リンクである。
【0034】
「インタークラスタ」:ALMノード又はALM−MCUノードのクラスタ(例えば、図1のネットワーク120、122、及び124)の間を意味する。
【0035】
「イントラクラスタ」:ALMノード又はALM−MCUノードの同一のクラスタ内を意味する(例えば、図1のネットワーク120のノード102、104、及び106)。
【0036】
「B(X)=n」:ノードXのアップロード帯域幅nを表す。
【0037】
「D(X,Y)=m」:XとYという2つのノード間における遅延mを表す(「遅延」及び「レイテンシー」は、同一の意味を有する。これらの用語は、本明細書においては、相互交換可能に使用可能である)。
【0038】
「MAX_LATENCY=p」:ALM経路の構築のために、N−TreeアルゴリズムによってALMセッションに設定された最大レイテンシーpを表す。
【0039】
「ED(X)=r/s」:ノードXのr個のAVエンコーダ及びs個のデコーダを表す。
【0040】
「S(X)={a,b,...,z}」:ALM−MCUノードXのソースALMノードを表し、これらは、a〜zノードであってよい。
【0041】
「{表現A}→{表現B}」:現在の状態の表現Aから新しい状態の表現Bへの状態の変化を示す。
【0042】
以下、AV経路を構築するために優先順位付け及び最適化されたリソースを動的に割り当てる本発明の実施形態について説明する。
【0043】
図1は、複数のALMノード(102、104、106、108、110、112、114、116、118)が、ローカルネットワーク(120、122、124)にそれぞれ接続されていることを示す。ALMセッションは、これらのローカルネットワーク(120、122、124)を異なるリンク(126、128、130)を介して接続して、更に大きなネットワークを形成可能である。最終的には、ALMセッション内の全てのノードは、各ノード間の接続を可能にする1つのネットワーク内に接続される。ALM−MCUノード(102、108、114)は、ハードウェア又はソフトウェアによって本発明を実現可能なコンピュータ可読メモリ装置である。
【0044】
それぞれのクライアント上で動作するAV会議アプリケーション等のマルチメディアアプリケーションは、ALMセッションにおいて、それぞれの間でAVストリームを同時に交換可能である。分散した動的なAVミキシング動作を実現するべく、少なくとも2つ以上のALM−MCUノードがネットワーク内に存在しなければならない。図1は、それぞれのローカルネットワーク(120、122、124)内に、それぞれ1つずつという3つのALM−MCUノード(102、108、114)により、これを示している。但し、ALM−MCUノードは、ネットワークのいずれの部分にでも配置可能であり、かつ、必ずしも同一のローカルネットワーク内である必要はない。これは、ALM分配ツリーアルゴリズム及びALMノードのミキシング(MCU)能力によって決定される。
【0045】
わかりやすくするべく、本明細書では、ALM−MCUノードが、その独自のローカルクラスタノードについてのみ、AVコンテンツをミキシングするものと仮定する。例えば、ALM−MCUノードXは、ノードA及びノードBからのコンテンツと、ノードX(102)自身のコンテンツをミキシングする。そして、ALMノードは、ALMセッションの構成に基づいて、ネットワーク内の1つのALM−MCUノードに対してのみ、そのAVコンテンツをストリーミングする。
【0046】
グループメンバーシップ機能により、ALMセッションの形成を促進可能であるが、これは、本発明の範囲に含まれない。
【0047】
次に、図2、図3、図4、及び図5を参照し、特許文献1の発明の問題点について説明する。図2は、ローカルクラスタ内のそれぞれのALMノード(204、206、210、212、及び216、218)を有する3つのALM−MCUノード(202、208及び214)の単純な例を示す。特許文献1の発明の動作を説明するべく、以下の説明では、ALM−MCUノード(202、208及び214)のみをカバーする。
【0048】
ノード202、208及び214は、それぞれ、B(X)=16Mbps、B(Y)=8Mbps、及びB(Z)=4Mbpsというアップロード帯域幅が割り当てられている。また、ノード202、208及び214は、それぞれ、リンク224のD(X,Y)=10ms、リンク222のD(Y,Z)=50ms、及びリンク220のD(Z,X)=20msという遅延がある。最大リンクレイテンシー(MAX_LATENCY)は250msに設定されている(MAX_LATENCY=250ms)。ALM−MCUノードX(202)、Y(208)、及びZ(214)のエンコーダ及びデコーダユニットの数は、それぞれ、ED(X)=4/4、ED(Y)=4/4、及びED(X)=8/8である。特許文献1の主な発明は、アップロード帯域幅及びリンクレイテンシーを考慮することによる帯域幅の公平性であり、ALM経路の構築において割り当てられたリソースの優先順位付け及び最適化を伴ってはいない。
【0049】
この例においては、本発明者らは、エンコーダ/デコーダユニットの例を伴う優先順位付け及び最適化されていないリソース割当の問題点を容易に例証するべく、次のような仮定を行った。
【0050】
1.ALM−MCUノードは、X(202)、Y(208)、及びZ(214)である。
【0051】
2.ALMノードは、A(204)、B(206)、C(210)、D(212)、E(216)、及びF(218)である。
【0052】
3.ALM−MCUノードがその許容された処理能力を上回ってエンコーディング/デコーディングした場合には、AVの処理遅延が増大する。
【0053】
4.AVエンコーディング及びデコーディングのために、ALM−MCUノードは、AVストリームを送信する際に、1つのエンコーダを必要とし、かつ、AVストリームを受信する際に、1つのデコーダを必要とする。
【0054】
5.ALMノードは、会議セッションに参加するべく、ALM−MCUノードに接続する必要がある。
【0055】
6.ALMノードとALM−MCUノードの間には、帯域幅制限又は遅延は存在しない。
【0056】
7.N−Treeアルゴリズムは、全てのAVソースについて「MESHネットワーク」を構築する。
【0057】
8.1スロットサイズは、512Kbpsである。
【0058】
9.ALM−MCUノードは、十分なダウンロード帯域幅及びミキシング処理パワーを有する。
【0059】
10.ミキシングは、ローカルクラスタについてのみ実行される。
【0060】
11.Fは、高優先順位ノード(又は、能動型ノード)である。
【0061】
この例には、アップロード帯域幅及びリンクレイテンシーを考慮した特許文献1の発明の問題点が示される。この問題点は、エンコーダ/デコーダユニット、参加者優先順位、及びミキシング処理パワーの関係において最適化されていないリソースの利用法をもたらす。
【0062】
図3、図4、及び図5は、特許文献1の発明のN−Treeアルゴリズムの詳細な動作ループを示す。
【0063】
ステップS220:ループ0;
−ALM−MCUノード及びALMノードの初期状態であり、それぞれのノードの利用可能なリソースが表示されている。
【0064】
ステップS230:ループ1及び2;
−ALM−MCUノードX(202)及びY(208)が接続される。
−アップロード帯域幅は、2スロットサイズ(2×512Kbps)、即ち1Mbpsだけ低減される。アップロード帯域幅は、B(X)=16Mbps→B(X)=15Mbpsに変化する。
−ソースノードのリストは、ALMノードA及びALMノードBに伴って、S(Y)={c,d}→S(Y)={a,b,c,d}に変化する。
−利用可能な最大帯域幅と、ノードY(208)への経路(224)に沿ったD(X,Y)=10msとを実現するため、まず、ノードX(202)が選択された。
−ALMノードA(204)及びALMノードB(206)のALM−MCUノードX(202)のそれぞれのストリームに対して、1つのエンコーダが割り当てられた。ALMノードA(204)及びALMノードB(206)のALM−MCUノードY(208)のそれぞれのストリームに対して、1つのデコーダが割り当てられた。エンコーダ/デコーダの割り当ては、ED(X)=4/4→ED(X)=2/4に変化し、かつ、ED(Y)=4/4→ED(Y)=4/2に変化する。これらのエンコーダ及びデコーダは、それぞれ、ALMノードA(204)及びALMノードB(206)からのAVストリームをエンコーディング及びデコーディングする。
−ALMノードA(204)及びノードB(206)のコンテンツは、ミキシングのために、それぞれ、リンク226及び228を介して、ALM−MCUノードX(202)からALM−MCUノードY(208)に配送される。
【0065】
同様に、その他のN−TreeアルゴリズムのステップS230、S240、S250、S260、S270、S280、及びS290は、図3、図4及び図5に示されている。これらの全てのステップにおいて、ALM経路の構築のために、帯域幅及びレイテンシーのみが考慮されている。エンコーダ及びデコーダは、ALM経路が構築された後に、割り当てられる。したがって、ステップS250は、ノードXにおいて利用可能な更なるエンコーダは存在しておらず、ED(X)=0/3である。これは、ステップS260においては、エンコーダカウントが−1になって、ED(X)=−1/3となることから、最悪の状態となっている。この結果、特許文献1のN−Treeアルゴリズム方式に準拠して、ALMノードC(210)のストリームをALM−MCUノードZに中継した際には、AVの処理遅延が生じる。しかしながら、同一のステップS260では、ALM−MCUノードY(208)及びALM−MCUノードZ(214)内に、未使用のエンコーダ/デコーダリソースが存在しており、ED(Y)=3/2及びED(Z)=8/5である。この問題は、ステップS280及びステップS290において、ALM−MCUノードX(204)に関して更に深刻な状態になっている。
【0066】
上記の例は、リソースの優先順位付け及び最適化が、ALM経路を構築する際に考慮されなかったN−Treeアルゴリズムの問題点をわかりやすく示している。
【0067】
特許文献2は、ユーザ画面の解像度及びコンテンツタイプに基づいた帯域幅割当の最適化を解決したが、マルチノードAV会議システムにおいて、非常に重要であるその他のリソースを考慮してはいない。なお、重要であるその他のリソースとは、AVミキシング(MCU)能力、エンコーディング及びデコーディング能力、参加者画面レイアウト選択肢、並びに、会議イベント等を含む。ALM経路の構築において、異なる会議イベントついて最適化及び優先順位付けされていない特許文献2におけるリソース割当の問題点は、図6、図7、図8及び図9によって例証する。特許文献2の例について容易に説明するべく、特許文献1において行った以前の仮定を用いる。唯一の違いは、仮定8であり、この場合には、「8.1スロットは、ユーザ画面の解像度及びコンテンツタイプによって左右される」となる。
【0068】
以下の例では、画面解像度及びコンテンツタイプに基づいて帯域幅の割当を最適化する特許文献2の発明の問題点を例証する。この発明では、リソース割当の際に、AVミキシング(MCU)能力、並びに、エンコーディング及びデコーディング能力などのその他のタイプのリソースを考慮していない。このため、特許文献2の発明では、異なる動的会議イベントにおけるリソースが最適に使用されない。
【0069】
図6は、図2と同一の構成を示しており、ALMノード304(ストリームALMノードA−1920×1080)、ALMノード306(ストリームALMノードB−1920×1080)、ALMノード310(ストリームALMノードC−1280×720)、ALMノード312(ストリームALMノードD−704×576)、ALMノード316(ストリームALMノードE−352×288)、及びALMノード318(ストリームALMノードF−176×144)の例示用のコンテンツ解像度を示すテーブル301が更に示されている。
【0070】
ステップS320:ループ0;
−ALM−MCUノード及びALMノードの初期状態であり、それぞれのノードの利用可能なリソースが示されている。
【0071】
ステップS330:ループ1及び2;
−ALM−MCUノードX(302)及びY(308)が接続される。
−高解像度のALMノードA(304)及びB(306)を有するため、大きな帯域幅がALM−MCUノードB(X)に対して割り当てられる。帯域幅は、B(X)=16Mbps→B(X)=12Mbpsに変化する。
−但し、エンコーダ/デコーダの割当は、それぞれのALMノードA(304)及びB(306)についてそれぞれ1つであって、同一である。エンコーダ/デコーダの割当は、ED(X)=4/4→ED(X)=2/4に変化し、かつ、ED(Y)=4/4→ED(Y)=4/2に変化する。
−したがって、ソースノードリストは、S(Y)={c,d}→S(Y)={a,b,c,d}に変化する。
【0072】
特許文献2によれば、ステップS340、S350、S360、S370、S380及びS390における以下のループについて、同一のN−Treeアルゴリズム手順が適用される。エンコーダリソースは、ステップS360において枯渇状態となって、ED(X)=−1/3であって、ALM−MCUノードX(302)においてリソース競合が発生するため、エンコーディング遅延が発生する。しかし、同一のステップS360においては、ALM−MCUノードY(308)及びALM−MCUノードZ(314)内に、未使用のエンコーダ/デコーダリソースが存在している。その他のステップS370、ステップS380及びステップS390においては、これ以降、同様の問題に直面する。この例では、AV会議セッションにおけるAVストリームの全体的な品質を妨げるALM−MCUノードリソースを、考慮しないことに伴う問題点を示した。
【0073】
以下、エンコーダ/デコーダリソースとの関係において、図2、図3、図4、図5、図6、図7、図8及び図9における前述の問題を解決する本発明の方法について説明する。但し、当該方法は、参加者画面レイアウト選択肢及び会議イベントを含むエンコーダ/デコーダユニット以外の、全てのALM−MCU又はALMノードのリソースタイプに適用される。また、当該方法は、ALM経路の構築におけるその他の定量化可能な複数のリソースの割当、優先順位付け及び最適化に使用可能である。
【0074】
図10、図11、図12及び図13では、本発明の方法における各ステップを示す。これらの図では、図2から図9で用いた同様のアップロード帯域幅、遅延及びエンコーダ/デコーダパラメータの例を利用する。すなわち、本発明は、N−Treeアルゴリズムを利用したALM経路の構築する際に、様々な会議イベント用の優先順位付け及び最適化されたリソース割当メカニズムの方法であることを示す。例示を目的として、上述した仮定に加えて行われた更なる仮定又は相違点について以下に記述する。
【0075】
1.スロットサイズは、固定されておらず、かつ、画面レイアウト解像度/品質に基づいている(例示用の帯域幅割当については、図19を参照されたい)。
【0076】
2.Fは、高優先順位ノードであるため、これに対しては、十分なリソースを割り当てなければならない。他の全てのノードの優先順位は等しい。
【0077】
3.高優先順位ノードFは、それぞれが1Mbpsの帯域幅を必要とするストリームA及びストリームC(HD1080コンテンツ)が、合成された画面レイアウトを選択する。
【0078】
4.A及びC以外のストリームが必要とする帯域幅は、256Kbpsのみである。
【0079】
5.最適化及び優先順位付け対象のリソースは、ALM−MCU内のエンコーダ/デコーダの数である。
【0080】
この発明の方法は、優先順位付け及び最適化のために、以下の規則を適用している。
【0081】
規則1:ノードを選択しなければならない際には、常に、最高優先順位ノードが要求した1つ又は複数のストリームを処理するノードを選択する。
【0082】
規則2:規則1において等しい最高優先順位のノードの中においては、リソースタイプがリソース優先順位付け及び最適化のためにユーザによって指定されている最大リソースを有するノードを選択する。
【0083】
規則3:規則2において等しい最大リソースを有するノードの中においては、その組の中から1つのノードをランダムに選択する。
【0084】
規則4:リンクを選択する際には、常に、リソースのタイプがリソース優先順位付け及び最適化のためにユーザによって、指定されている最大リソースを有するノードへの経路を選択する。
【0085】
規則5:規則4において等しい最大リソースを有するノードへの経路の中においては、その組の中から1つのリンクをランダムに選択する。
【0086】
規則6:ソースを選択する際には、常に、最高優先順位ノードが要求したストリームを選択する。
【0087】
規則7:規則6において最高優先順位ノードによって要求されたソースの中においては、その組の中から1つのストリームをランダムに選択する。
【0088】
規則8:ノードは、別のALM−MCUノードからの1つ又は複数のストリームを中継するのではなく、まず、その独自の1つ又は複数のローカルクラスタストリームを送信するべく常に選択する。
【0089】
この例においては、リソースの優先順位付け及び最適化のために、上記の8つの規則を適用した。
【0090】
ステップS420:ループ0;
−初期状態では、アップロード帯域幅、遅延、ソースノードリスト、及びエンコーダ/デコーダユニットの数を含む利用可能なリソースを用意する。
【0091】
ステップS430:ループ1;
−ALMノードF(418)によって選択された画面レイアウトに含まれる最高優先順位ストリーム(ストリームA)の送信元であり、ALMノードAをイントラクラスタに持つ、ALM−MCUノードX(402)が、選択された。
−ALM−MCUノードZ(414)が、最大数のエンコーダ/デコーダを有するため、経路D(X,Z)(420)が選択された。
−ALMノードA(404)からのストリームAは、HD1080コンテンツ用として1Mbpsが割り当てられているため、B(X)=16Mbps→B(X)=15Mbpsとなる。
−エンコーダ/デコーダの割当は、ED(X)=4/4→ED(X)=3/4となり、かつ、ED(Z)=8/8→ED(Z)=8/7となる。
−ソースノードのリストは、S(Z)={e,f}→S(Z)={a,e,f}となる。
【0092】
ステップS440:ループ2;
−ALMノードF(418)によって、選択された画面レイアウトに含まれる最高優先順位ストリーム(ストリームC)の送信元であるALMノードCを、イントラクラスタに持つ、ALM−MCUノードY(408)が選択された。
−ALM−MCUノードZ(414)が最大数のエンコーダ/デコーダを有するため、D(Y,Z)(422)への経路が選択された。
−ALMノードC(410)からのストリームCは、HD1080用として1Mbpsが割り当てられているため、B(Y)=8Mbps→B(Y)=7Mbpsとなる。
−エンコーダ/デコーダの割り当ては、ED(Y)=4/4→ED(Y)=3/4となり、かつ、ED(Z)=8/7→ED(Z)=8/6となる。
−ソースノードリストは、S(Z)={a,e,f}→S(Z)={a,c,e,f}となる。
【0093】
ステップS450:ループ3、4、5、及び6;
−高優先順位のALM−MCUノードが残っていない際に、最大数のエンコーダ/デコーダを有するため、ALM−MCUノードZ(414)が選択された。
−規則8に基づいて、まず、ALM−MCUノードZのイントラクラスタであるALMノードE及びFからのストリームが配送対象として選択される。
−ALMノードE及びFからのそれぞれのストリームに対しては0.25Mbpsが割り当てられているため、ALM−MCUノードZ(414)の帯域幅は、B(Z)=4Mbps→B(Z)=3Mbpsとなる。
−エンコーダ/デコーダの割当は、ED(X)=3/4→ED(X)=3/2となり、ED(Y)=3/4→ED(X)=3/2となり、そして、ED(Z)=8/6→ED(Z)=4/6となる。
−ソースリストは、S(X)={a,b}→S(X)={a,b,e,f}となり、かつ、S(Y)={c,d}→S(Y)={c,d,e,f}となる。
【0094】
ステップS460:ループ7及び8;
−この場合にも、高優先順位のALM−MCUノードが残っていない際に、依然として最大数のエンコーダ/デコーダを有するため、ALM−MCUノードZ(414)が選択された。
−ALMノードA及びCからのそれぞれのストリームには、1Mbpsが割り当てられているため、ALM−MCUノードZ(414)の帯域幅は、B(Z)=3Mbps→B(Z)=1Mbpsとなる。
−新しいソースリストは、S(X)={a,b,c,e,f}及びS(Y)={a,c,d,e,f}である。
−新しいエンコーダ/デコーダの割当は、ED(X)=3/1及びED(Y)=3/1及びED(Z)=2/6となる。
【0095】
ステップS470:ループ9及び10;
−ALM−MCUノードZ(414)において中継対象の更なるストリームが存在しないため、ALM−MCUノードZ(414)ではなく、ALM−MCUノードX(402)が選択された。
−ALMノードB(406)からのストリームには0.25Mbpsが割り当てられている。このため、ALM−MCUノードX(402)の帯域幅は、B(X)=15Mbps→B(X)=14.75Mbpsとなり、かつ、ALM−MCUノードZ(414)の帯域幅は、B(Z)=1Mbps→B(Z)=0.75Mbpsとなる。
−新しいソースリストは、S(Y)={a,b,c,d,e,f}及びS(Z)={a,b,c,e,f}である。
−新しいエンコーダ/デコーダ割当は、ED(X)=2/1、ED(Y)=3/0、及びED(Z)=2/5となる。
【0096】
ステップS480:ループ11及び12;
−ALM−MCUノードX(402)及びALM−MCUノードZ(414)が中継対象の更なるストリームを具備していないため、ALM−MCUノードY(408)が選択された。
−ALMノードD(412)からのストリームに対して0.25Mbpsが割り当てられた。ALM−MCUノードY(408)の帯域幅は、B(Y)=7Mbps→B(Y)=6.75Mbpsとなり、かつ、B(Z)=0.75Mbps→B(Z)=0.5Mbpsとなる。
−新しいソースリストは、S(X)={a,b,c,d,e,f}及びS(Z)={a,b,c,d,e,f}である。
−新しいエンコーダ/デコーダの割当は、ED(X)=2/0、ED(Y)=2/0、及びED(Z)=1/4となる。
【0097】
図14は、ALM N−Tree生成ユニット(546)と、リソース優先順位付け及び最適化ユニット(520)という2つの主要な処理ユニットを含む、本発明のN−Tree構築装置を示すブロック図である。ALM N−Tree生成ユニット(546)は、N−Tree(554)の構築及び最終的なAVコンテンツ(562)の生成の責任を担っている。ALM N−Tree生成ユニット(546)は、失敗通知部(548)と、ALM経路構築部(552)と、AVストリーム選択部(556)と、出力生成部(560)とを有する。失敗通知部(548)は、N−Tree構築の失敗を通知する。ALM経路構築部(552)は、リソース優先順位付け及び最適化されたN−Treeを構築する。AVストリーム選択部(556)は、構築されたN−Tree(554)に基づいてミキシング動作のために1つ又は複数のストリームを選択する。出力生成部(560)は、ミキシングして最終的なAVコンテンツ(562)を生成する。
【0098】
リソース優先順位付け及び最適化ユニット(520)は、リソース優先順位付け部(534)と、リソース最適化部(522)とを有する。リソース優先順位付け部(534)は、参加者の役割(536)及び会議イベント(526)に基づいてリソース割当を優先順位付けする。リソース最適化部(522)は、リソース優先順位付け部(534)の出力結果及びリソース情報を記憶するデータベース(502)、(504)、(506)に従って様々なタイプのリソースを最適に割り当てる。
【0099】
帯域幅メトリック情報データベース(帯域幅メトリック情報DB)(502)は、全てのALM−MCUノード及びALMノードの帯域幅情報を記憶する。エンコーダ/デコーダ情報データベース(エンコーダ/デコーダ情報DB)(504)は、エンコーダ/デコーダ関連情報を記憶する。オーディオ/ビデオミキシング情報データベース(オーディオ/ビデオミキシング情報DB)(506)は、AVミキシング情報を記憶する。これらの3つのデータベースに対しては、それぞれ、リンク510、512及び514を介して、リソース最適化部(522)が個別にアクセスする。リソース優先順位付け部(534)は、リンク516を介して、リソース割当規則テーブル(508)からリソース割当規則を読み取る。
【0100】
リソース優先順位付け部(534)は、(i)イベントハンドラ(528)に到着する会議イベント通知(530)と、(ii)画面レイアウト選択肢(518)とを考慮する。役割状態通知部(538)は、参加者の能動/受動状態(540)を受信する。
【0101】
リソース最適化部(522)とリソース優先順位付け部(534)の間の通信は、それぞれ、リンク524及び532を介して実行される。リソース最適化部(522)は、リンク542を介してALM経路構築部(552)に対して指示する。但し、リソース最適化部(522)とALM経路構築部(552)の間には、リンク550及び544を使用する失敗通知部(548)を介した逆方向の通信も発生する。リンク564を介して到来したN個のAVストリームは、AVストリーム選択部(556)によって選択された後、リンク(558)を介して出力生成部(560)に伝達される。
【0102】
図15は、MCUリソース状態メッセージの構造を示す。図15に示すように、MCUリソース状態メッセージは、エンコーダユニットの数(602)、デコーダユニットの数(604)、エンコーディングレート(606)、デコーディングレート(608)、ユニット当たりのチャネルの数(610)、及び、チャネルデータレート(612)とから構成される。
【0103】
図16は、MCUビデオ入出力(I/O)状態メッセージの構造を示す。図16に示すように、MCUビデオ入出力(I/O)状態メッセージは、ビデオフォーマット(702)と、ビデオサンプリングレートを示すビデオサンプリングタイプ(704)と、ビデオ入力タイプ(706)と、ビデオ解像度を通知するビデオ出力タイプ(708)とから構成される。なお、ビデオフォーマット(702)は、ビデオがNTSC、PAL、720P、1080i、SXGAフォーマットであるかどうかを通知する。ビデオサンプリングタイプ(704)は、標準精細度用の13.5MHz、4:2:2(Y:B−Y:R−Y)、高精細度用の74.1758MHz(V=59.94Hz)/74.25MHz(V=50Hz)、及びRGB用の65MHz〜110MHz、4:4:4(G:B:R)等を含む。
【0104】
図17は、会議構成状態メッセージの構造を示す。図17に示すように、会議構成状態メッセージは、参加者が能動的又は受動的参加者であるどうかを通知する役割状態(802)と、会議セッションのイベントタイプを通知する会議イベント(804)とから構成される。
【0105】
図18は、ビデオストリームの構造を示す。図18に示すように、ビデオストリームは、会議セッションにおけるビデオストリームの重要性レベルを通知するための優先順位番号(902)、フレーム番号(904)、第1Xピクセル位置(906)、第1Yピクセル位置(908)、Xピクセル長(910)、Yピクセル長(912)、エンコーディング方式(914)、ピクセルの数(916)、及び、ピクセルデータ(918)とから構成される。
【0106】
図19は、各解像度タイプの推定帯域幅を規定している。列(1002)は、例えば、QCIF、CIF、4CIF、720p、並びに、1080i又は1080p等の様々なタイプの画面解像度を表す。列(1004)は、Kbpsを単位として、推定最低圧縮データレートを表す。行(1006、1008、1010、1012、1014)は、各画面解像度(1002)と、必要とされるそれぞれの推定帯域幅(1004)とを示す。これらは、説明を目的とした例示用の帯域幅推定値であって、画面解像度又はユーザ要件に基づいて変化可能である。
【0107】
図20は、それぞれの優先順位レベルごとの最大レイテンシー遅延を規定している。列(1102)は、例えば、低(1106)、中間(1108)又は高(1110)であるかどうかの優先順位レベルを表している。列(1104)は、最大レイテンシー遅延を表している。行(1106、1108、1110)は、それぞれの優先順位レベルと、それぞれの最大レイテンシー遅延とを示す。これらは、説明を目的とした例示用のものであって、優先順位の設定に基づいて変化可能である。
【0108】
図21は、会議イベントにおける自身の役割に基づいた参加者の優先順位レベルテーブルを示す。列(1202)は、例えば、司会者(1208)、参加者(1210)及びオブザーバ(1212)等の参加者の役割を表している。列(1204)は、会議イベントを表し、例えば、講演(行1204及び列1214)、質疑応答(行1204及び列1216)又は個別指導(行1204及び列1218)である。最後の列(1206)は、中間(行1206及び列1214/1224)、聴取者(中間)及び回答者(高)(行1206及び列1216)、高(行1206及び列1218/1220)、質問者(高)及び聴取者(中間)(行1206及び列1222)、並びに、低(行1206及び列1226/1228/1230)を含む会議イベントにおける特定の参加者の役割の優先順位レベルを表している。
【0109】
図22は、MCUリソース情報テーブルを示す。図22に示すように、MCUリソース情報テーブルは、ALM−MCU IPアドレス(1302)、利用可能なエンコーダ/デコーダの数(1304)、ミキシング動作(1306)、利用可能な帯域幅(1308)、接続された子ノード及びそれらの選択された画面レイアウト選択肢(1310)、接続された子ノードのストリーム優先順位(1312)、及び接続された子ノードが要求とするリソース(1314)等の情報から構成されている。また、MCUリソース情報テーブルには、N個のMCU(1316、1318及び1320)が存在可能である。
【0110】
図23は、本発明に係るN−Tree構築方法の優先順位付け及び最適化されたリソース割当の主要なプロセスを示すフローチャートである。図23のステップS1402に示されているように、各々かつ全てのノードは、初期段階においてALM会議セッション形成のためにセッションに参加するべく試みる。ステップS1402が完了した際に、ユーザは、ステップS1404に示されているように、利用可能なリストから自身が選好する画面レイアウトを選択するように促される。次のステップS1406において、ALM経路構築部(552)は、ALM−MCUノードとALMノードの間のイントラクラスタネットワーク接続のための(特許文献1に記述されている)、公平な帯域幅のN−Treeを構築する。つまり、ALM経路構築部(552)は、帯域幅が等しく共有及び利用されることを保証する。この後に、ステップS1408において、ALM経路構築部(552)は、リソース優先順位付け及び最適化ユニット(520)と共に、異なるALM−MCUノード間のインタークラスタネットワーク接続のためにリソース優先順位付け及び最適化されたN−Treeを構築する。リソース優先順位付け及び最適化されたN−Treeの詳細なステップについては後述する。最後に、ステップS1410において、AVストリーム選択部(556)は、構築されたN−Tree(554)に基づいて、関連するAVストリームを入力として選択する。かつ、AVストリーム選択部(556)は、出力生成部(560)に対して、ミキシングして最終的な出力(562)を生成するように指示する。
【0111】
図24〜図27は、会議セッションに参加するべく、ALMノード又はALM−MCUノードが実行する方法のフローチャートである。このプロセスは、ステップS1502において、会議セッションに参加するための参加者要求を受領した際に始まる。処理は、ステップS1506に移行し、ステップS1506では、参加者ノードのミキシング能力がチェックされる。参加者ノードがミキシング動作を実行可能であると判定された場合(ステップS1506:Yes)、そのノードは、「候補ALM−MCUノード」(ALM−MCUノードの1つ)として分類される(ステップS1504)。一方、参加者ノードがミキシング動作を実行不可能である場合(ステップS1506:No)、そのノードは、「候補エンドノード」(ALMノードの1つ)として分類される(ステップS1508)。
【0112】
ステップS1510では、ネットワーク内における「ALM−MCUノード」の存在が判定される。ネットワーク内に「ALM−MCUノード」が存在しない場合(ステップS1510:No)は、図25のステップS1518に進む。参加者ノードタイプが「候補ALM−MCUノード」である場合(ステップS1518)、そのノードは、「ALM−MCUノード」に変換される(ステップS1530)。一方、参加者ノードタイプが「候補エンドノード」である場合(ステップS1508)は、ステップS1516に進む。、ネットワークに参加するのを待つことになる(ステップS1516)(ステップSそのノードは、特定のタイムアウト値まで、少なくとも1つの「ALM−MCUノード」が1514)。参加者ノードの待ち時間がタイムアウト値を超過した場合(ステップS1516:Yes)には、エラーがトリガされる(ステップS1528)。一方、ネットワーク内に少なくとも1つの「ALM−MCUノード」が存在する場合(ステップS1510:Yes)は、図26のステップS1520に進む。参加者ノードは、降順に、各パラメータに基づいて、「ALM−MCUノード」に参加するべく再帰的に試みる(ステップS1520)(ステップS1524)。なお、各パラメータは、利用可能なエンコーダ/デコーダの数、ネットワーク帯域幅及びレイテンシー遅延、ミキシング能力を含む。参加に成功し(ステップS1532)、そのノードが「候補ALM−MCUノード」である場合には、参加者ノードは、「スタンバイALM−MCUノード」に変換される(ステップS1540)(ステップS1546)。一方、そのノードが「候補エンドノード」である場合には、そのノードは「エンドノード」に変換される(ステップS1540)(ステップS1548)。
【0113】
次いで、フローチャートは、図27のステップS1512に進む。ネットワーク内に「スタンバイALM−MCUノード」が存在するかどうかについての判定が実行される(ステップS1512)。存在する場合(ステップS1512:Yes)には、参加者ノードは、降順において、各パラメータに基づいて、「スタンバイALM−MCUノード」に対して参加するべく再帰的に試みる(ステップS1522)(ステップS1526)。なお、各パラメータは、利用可能なエンコーダ/デコーダの数、ネットワーク帯域幅及びレイテンシー遅延、ミキシング能力を含む。参加に成功した際には(ステップS1536:Yes)、「スタンバイALM−MCUノード」は、「ALM−MCUノード」に変換され(ステップS1542)、図26のステップS1540に進む。参加者ノードは、そのタイプ(ステップS1540)に基づいて、「スタンバイALM−MCUノード」又は「エンドノード」に変換される(ステップS1546)(ステップS1548)。この代わりに、「スタンバイALM−MCUノード」への参加に失敗した場合(ステップS1536:No)、かつ、ネットワーク内に「スタンバイALM−MCUノード」が存在しない場合には(ステップS1538:No)、フローチャートはステップS1544に移動する。ステップS1544では、参加者が会議セッションへの参加に失敗したことを通知する。
【0114】
図28は、リソース優先順位付け及び最適化されたインタークラスタALM N−Treeが、構築されるステップS1408の詳細な機能フローを示すフローチャートである。ステップS1602では、ALM N−Treeを構築するためのトリガを受信する。ステップS1604において、リソース優先順位付け及び最適化ユニット(520)は、役割状態通知部(538)を介して参加者の役割状態(540)と、イベントハンドラ(528)を介して現在の会議イベント(530)とを読み取る。また、リソース優先順位付け及び最適化ユニット(520)は、個々のリソース情報を記憶するデータベース(502)(504)(506)を介して、現在のリソース情報を読み取る。現在のリソース情報とは、ネットワーク帯域幅及びレイテンシー遅延(510)、利用可能なエンコーダ/デコーダの数(512)、ミキシング能力(514)、並びに、ユーザからの選択された画面レイアウト選択肢(536)等を含む。これらのリソース情報は、いずれも、図22に示されているように、MCUリソース情報テーブル内に保存される。これ以外にも、リソース情報読み取りプロセスにおいては、図15、図16、図17、図18、図19及び図20等に示されているもののいくつかのメッセージが、ALMノードとALM−MCUノードの間で交換されるものと予想される。処理はステップS1606に移行し、ステップS1606では、ユーザからの選択された画面レイアウト選択肢のそれぞれのものが必要とするリソースの推定を含む処理を行う。このステップの詳細については、次の段落において説明する。次いで、ステップS1608、ステップS1610、ステップS1612、ステップS1614において、リソース優先順位付け及び最適化されたALM N−Treeが構築される。リソース優先順位付け部(534)は、定義されたリソース割当規則テーブル(508)から読み出したリソース割当テーブルと、入力としての会議イベント(526)、画面レイアウト選択肢(536)及び役割状態(536)とに基づいて、リソース割当を優先順序付けする責任を担っている。規則は、特定の会議イベントにおける参加者の役割に従って規定される。これは、ノード選択プロセスにおいて選択されるALM−MCUノードの順位に影響を及ぼすことになり、リソース割当を優先順位付けする良好な方法を結果的にもたらす。規則テーブルの一例が図21に示されている。一方、リソース最適化部(522)は、利用可能なリソースに伴うリソース割当を最適化する責任を担っている。帯域幅及びレイテンシー遅延以外の異なるタイプのリソースが考慮されているため、このリンク選択プロセスは、以前のALM N−Treeアルゴリズムとは異なっている。しかし、リンク選択プロセスは、図4の例によって証明されているように、結果的に最適化されたN−Treeが構築される。
【0115】
図29及び図30は、ユーザからの選択された画面レイアウト選択肢のそれぞれのものが必要とするリソースの推定の詳細なプロセスのフローチャートを示す。ステップS1702は、ステップS1704以降の処理を画面レイアウトが変更される全てのユーザに対して実施する。ステップS1704では、画面レイアウト選択肢内の全ての発信元ソースを判定している。次のステップS1706において、リソース優先順位付け部(534)は、リソース割当規則テーブル(508)と、特定の会議イベント(526)におけるその役割状態(536)とに基づいて、画面レイアウト選択肢の要求者ノードの優先順位を判定する。以下のステップS1708、S1710、S1712のいくつかにおいて、発信元ソースストリームヘッダメッセージ(902)のそれぞれに優先順位番号が設定されることになり、かつ、それぞれの親ALM−MCUノードも判定される。処理は図30のステップS1714に移行し、ステップS1714では、子ノードの合計数及びリモートALM−MCUノードから受信されたストリームの合計数を算出することにより、ミキシング処理量が推定される。この後に、ステップS1716において、帯域幅スロットサイズ及び最大レイテンシー遅延の推定が実行される。最後に、ステップS1718では、前述の推定されたリソース情報の全てが、図22に示されているALM−MCUリソース情報テーブル内に保存される。
【0116】
図31及び図32は、インタークラスタALM N−Tree構築のリソース優先順位付け割当(ノード選択)フェーズにおいて、リソース優先順位付け部(534)によって実行される判定を示すフローチャートである。当該処理は、ノード選択プロセス(ステップS1802)において始まっており、ステップS1802では、まず、優先順位が高いストリームの送信元である子ノードを有するALM−MCUノードが選択される。ステップS1804では、同一の最高優先順位レベルを有する複数のALM−MCUノードが存在するかどうかについての判定が実行される。最高優先順位レベルを有するALM−MCUノードが1つだけ存在する場合(ステップS1804:No)には、リソース割当プロセスのために、それが選択される(ステップS1806)。一方、当該複数のALM−MCUノードが存在する場合(ステップS1804:Yes)には、優先順位付け対象のリソースのタイプに基づいて、ALM−MCUノードが選択される(ステップS1808)。ここでは、優先順位付け対象のリソースとして、最大帯域幅を有するノードを選択可能である(ステップS1810)。または、優先順位付け対象のリソースとして、最大数のエンコーダ/デコーダを有するノードが選択可能である(ステップS1812)。または、優先順位付け対象のリソースとして、最小数の実行対象のミキシング動作を行うノードが選択可能である(ステップS1814)。同一の優先順位レベル及び等しいリソースを有する複数のALM−MCUノードが依然として存在する場合(ステップS1816:Yes)には、ステップS1818において、ALM−MCUノードがランダムに選択される。
【0117】
図33及び図34は、インタークラスタALM N−Tree構築のリソース最適化割当(リンク選択)フェーズにおいて、リソース最適化部(522)によって実行される判定を示すフローチャートである。ステップS1902では、最適化対象のリソースのタイプに基づいて、選択するべきリンクが判定される。ここでは、最適化対象のリソースのタイプとして、最小のレイテンシー遅延を有するリンクが選択可能である(ステップS1904)。または、最適化対象のリソースのタイプとして、最大数のエンコーダ/デコーダを有するノードへのリンクが選択可能である(ステップS1906)。または、最適化対象のリソースのタイプとして、最小数の実行対象のミキシング動作を行うノードへのリンクが選択可能である(ステップS1908)。このプロセスは、リンクの選択に成功する時点まで再帰的に実行される(ステップS1910)(ステップS1912)。選択対象のリンクが、もはや存在しない場合(ステップS1912:No)には、規則テーブル内のリソース割当情報を更新することによって、低優先順位ノード用のリソース割当を低減するべく決定される(ステップS1916)。さらに、インタークラスタALM N−Treeを再構築するための準備が行われる(ステップS1922)。一方、リンクの選択に成功した場合(ステップS1910:Yes)には、図34のソースの選択処理に進み、当該処理では、優先順位の降順において、ソースストリームが選択される(ステップS1914)。最高優先順位を有する複数のストリームが存在する場合には、その組の中からストリームをランダムに選択するべく決定される(ステップS1920、ステップS1918)。最後に、リソース最適化部(522)は、ALM−MCUリソース情報テーブルからリソース割当情報を読み取り(ステップS1924)、かつ、特定のストリーム用の必要なリソースを予約する(ステップS1926)。リソース割当に成功しなかった場合(ステップS1928:No)には、リソース割当は、規則テーブル内のリソース割当情報を更新することによって低優先順位ノードについて低減される(ステップS1916)。かつ、リソース割当は、インタークラスタALM N−Treeを再構築するための準備が行われる(ステップS1922)。
【0118】
次に、本実施の形態における画面レイアウトの具体例について、図35及び図36を用いて説明する。図35中の符号1902,1908及び図36中の符号2002,2004,2016は、教師、生徒(質問者)及び生徒(視聴者)といった異なる参加者の役割(1202)を持つ会議イベントが、講義(1204)セッションの一例を示す。会議イベント及び参加者の役割のいくつかは、図21に示されている。イベント(1204)における参加者(1202)の各々には優先順位(1206)が割り当てられる。MCU及び帯域幅を含むリソースは、参加者の役割(1202)及び会議イベント(1204)の優先順位に基づいて割り当てられる。
【0119】
図35において、MCU及びネットワークの帯域幅といったリソースは、教師(1910)のストリーム及び共有コンテンツ(1912)を含む、生徒のレイアウト(1908)のフルミキシングのために優先順位付けされる。当該生徒のレイアウト(1908)は、多くの生徒によって視聴されるためである。この場合、生徒の役割には高い優先順位が与えられる。一方、共有コンテンツ(1904)及び選択された生徒達(1906)を含む教師のレイアウト(1902)に対しては、教師のみによって視聴されるため、部分ミキシングが行われる。
【0120】
会議イベント(1204)の変更に際して、参加者の役割(1202)に割り当てられる優先順位(1206)は、図21に示されるように、変更される場合がある。図36では、生徒A(2004)は質問を行い[生徒のレイアウト(2004)を参照]、教師は特定の生徒A(2006)及び独自の共有コンテンツ(2008)を参照する[教師のレイアウト(2002)を参照]。生徒Aは、教師(2010)及び共有コンテンツ(2014)を視聴する。一方、他の受動的な視聴者は、生徒のレイアウト(2016)により、生徒A(2012)、教師(2018)及び共有コンテンツ(2020)を視聴する。このシナリオにおいて、3つの異なるコンテンツが、フルミキシング又は部分ミキシングのいずれかが行われて、それぞれ異なる受信者にストリームされる必要がある。この場合、図21のテーブルは、(フル又は部分のいずれかの)ミキシング及び異なる帯域幅の能力に応じたコンテンツの優先順位付けを決定するために用いられる。
【0121】
以上説明したように、本実施形態によれば、AV経路の構築のために、AVミキシング(MCU)能力、エンコーディング及びデコーディング能力、参加者の画面レイアウト選択肢、並びに、会議イベントに基づいて優先順位付け及び最適化された動的リソースの割当が可能である。したがって、本実施形態は、動的なユーザのニーズを反映させることによって、所与のAV処理及びネットワークリソースを最適化可能なリアルタイムAV会議システムを提供できる。
【産業上の利用可能性】
【0122】
本発明に係る経路構築装置は、コンテンツの配送経路であるAV経路(特に、ALM経路)の構築のために、各パラメータに基づいて優先順位付け及び最適化された動的リソースを割り当てるN−Tree構築装置等として有用である。
【符号の説明】
【0123】
546 ALM N−Tree生成ユニット
520 リソース優先順位付け及び最適化ユニット
548 失敗通知部
552 ALM経路構築部
556 AVストリーム選択部
560 出力生成部
534 リソース優先順位付け部
522 リソース最適化部
502 帯域幅メトリック情報データベース
504 エンコーダ/デコーダ情報データベース
506 オーディオ/ビデオミキシング情報データベース
508 リソース割当規則テーブル

【特許請求の範囲】
【請求項1】
複数の通信ノード間でストリームコンテンツが送受信されるシステム内の1つの通信ノードを構成する、前記ストリームコンテンツの配送経路を構築する経路構築装置であって、
前記配送経路を構築するために利用可能なリソースの割当てを優先順位付けするリソース優先順位付け部と、
前記配送経路を構築するために利用可能なリソースの割当てを最適化するリソース最適化部と、
前記リソース優先順位付け部によって優先順位付けされ、前記リソース最適化部によって最適化されたリソースの割当てに基づいて、ストリームコンテンツの配送経路を構築する経路構築部と、
を備えた経路構築装置。
【請求項2】
請求項1に記載の経路構築装置であって、
前記経路構築部によって構築された配送経路に基づいたミキシング動作のためにストリームデータを選択するストリームデータ選択部と、
前記ストリーム選択部によって選択されたストリームデータをミキシングしてストリームコンテンツを生成するストリームコンテンツ生成部と、
を備えた経路構築装置。
【請求項3】
請求項1又は2に記載の経路構築装置であって、
前記リソース優先順位付け部及び前記リソース最適化部は、複数のリソース情報を取得して、指定された入力の各々が必要とするリソースを推定し、
前記リソース優先順位付け部は、前記指定された入力に基づいてリソースの割当てを優先順位付けし、
前記リソース最適化部は、前記指定された入力に基づいてリソースの割当てを最適化する経路構築装置。
【請求項4】
請求項3に記載の経路構築装置であって、
前記指定された入力は、
画面レイアウト選択肢、音量の変化、及び利用可能な帯域幅の変化の少なくともいずれか1つの要素から構成される経路構築装置。
【請求項5】
請求項3又は4に記載の経路構築装置であって、
前記複数のリソース情報は、
現在のネットワーク帯域幅及びレイテンシー遅延、利用可能なエンコーダ/デコーダユニットの数、複数のストリームデータからストリームコンテンツを生成する能力、前記システムで行われるイベントの内容を示すイベント情報、及び前記システム内におけるエンドノードの役割状態の少なくともいずれか1つを含む経路構築装置。
【請求項6】
請求項1〜5のいずれか一項に記載の経路構築装置であって、
リソースの再割当てのために、経路構築の失敗について前記リソース最適化部に通知する失敗通知部を備えた経路構築装置。
【請求項7】
請求項1〜6のいずれか一項に記載の経路構築装置であって、
前記システムは、帯域幅が可変なネットワーク及び可変数の異種ノードを含む経路構築装置。
【請求項8】
複数の通信ノード間でストリームコンテンツが送受信されるシステム内の1つの通信ノードによって行われる、前記ストリームコンテンツを送信するための配送経路を構築する経路構築方法であって、
前記配送経路を構築するために利用可能なリソースの割当てを優先順位付けするリソース優先順位付けステップと、
前記配送経路を構築するために利用可能なリソースの割当てを最適化するリソース最適化ステップと、
前記リソース優先順位付けステップで優先順位付けされ、前記リソース最適化ステップで最適化されたリソースの割当てに基づいて、ストリームコンテンツの配送経路を構築する経路構築ステップと、
を有する経路構築方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate