(57)【要約】【課題】ストリームデータを自動的に認識してストリーム加工処理を行うＡＰＩ（ＷｅｂＡＰＩ）をネットワーク上の各サーバに配置すると共に、各サーバを連携させてストリーム加工処理を行う。【解決手段】ストリーム処理サーバ装置１００の１次解析部１０１では、ネットワークから入力されたストリームデータの中から、抽出条件（識別条件）と一致するストリームデータを抽出し、２次処理部１０２では、抽出したストリームデータに加工処理を施し、加工処理したストリームデータを、宛先情報に基づいてネットワークに出力する。また、ストリームフィルタ型グラフ設定装置３００は、ストリームデータの抽出条件と処理条件とをストリーム処理サーバ装置１００ごとに生成し、ネットワークを介してストリーム処理サーバ装置１００に出力する。【選択図】図１
2009049905.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上に配置されるストリーム処理サーバ装置であって、
前記ネットワークからストリームデータを入力するストリーム入力部と、
予め定められたストリームデータを抽出する抽出条件が予め設定されており、前記ストリーム入力部に入力されたストリームデータの中から、前記抽出条件と一致するストリームデータを抽出するストリーム抽出部と、
ストリームデータを加工処理する処理条件が予め設定されており、前記ストリーム抽出部が抽出したストリームデータに、前記処理条件に基づいて加工処理する加工処理部と、
ストリームデータを送信する宛先を識別する宛先情報が予め設定されており、前記ストリーム入力部に入力されたストリームデータまたは前記加工処理部が加工処理したストリームデータを、前記宛先情報に基づいて前記ネットワークに出力するストリーム出力部と、
を有することを特徴とするストリーム処理サーバ装置。
【請求項２】
前記抽出条件と前記処理条件と前記宛先情報とを前記ネットワークを介して入力し、
前記入力した前記抽出条件を前記ストリーム抽出部に設定し、
前記入力した処理条件を前記加工処理部に設定し、
前記入力した宛先情報を前記ストリーム出力部に設定する設定部、
を有することを特徴とする請求項１に記載のストリーム処理サーバ装置。
【請求項３】
ネットワークを介して入力されるストリームデータの中から、入力された抽出条件に基づいてストリームデータを抽出し、該抽出したストリームデータを入力された処理条件に基づいて加工処理し、該加工処理したストリームデータを入力された宛先情報に基づいて前記ネットワークに出力し、ネットワーク識別情報で識別されるストリーム処理サーバ装置に、前記抽出条件と前記処理条件と前記宛先情報とを前記ネットワークを介して出力するストリームフィルタ型グラフ設定装置であって、
前記ネットワーク識別情報と該ネットワーク識別情報で識別されるストリーム処理サーバ装置での加工処理とが関連付けられているフィルタが予め記憶されているフィルタ記憶部と、
前記フィルタが組み合わされたフィルタグラフが蓄積されているグラフ記憶部と、
前記グラフ記憶部から読み出したフィルタグラフに基づいて、前記抽出条件と前記処理条件とを、前記フィルタに含まれるネットワーク識別情報に基づいて前記ストリーム処理サーバ装置毎に生成するグラフ設定部と、
前記グラフ設定部が生成したストリーム処理サーバ装置毎の抽出条件と前記処理条件とを、当該ネットワーク識別情報に該当するストリーム処理サーバ装置に前記ネットワークを介して出力する設定条件出力部と、
を有することを特徴とするストリームフィルタ型グラフ設定装置。
【請求項４】
前記グラフ記憶部に記憶されているフィルタグラフに基づいて、前記フィルタグラフ内のフィルタ間の接続確率を示す接続確率ネットワークを算出し、該算出した接続確率ネットワークに基づいて、入力された加工処理のフィルタを含むフィルタグラフをテンプレートとして推定するテンプレート推定部、
を有し、
前記グラフ設定部が、
前記テンプレート推定部が推定したフィルタグラフに基づいて、前記抽出条件と前記処理条件とを、前記フィルタに含まれるネットワーク識別情報に基づいて前記ストリーム処理サーバ装置毎に生成する、
ことを特徴とする請求項３に記載のストリームフィルタ型グラフ設定装置。
【請求項５】
前記テンプレート推定部が、
前記グラフ記憶部に記憶されているフィルタグラフと、前記接続確率ネットワークとを基に、入力された加工処理のフィルタを含むフィルタグラフごとに該フィルタグラフの存在確率を算出し、
前記存在確率の最も高いフィルタグラフをテンプレートとして推定すること、
を特徴とする請求項４に記載のストリームフィルタ型グラフ設定装置。
【請求項６】
前記接続確率ネットワークにおいて、フィルタ間を結ぶリンク情報が、フィルタ間の経路長に関する要素と、フィルタ間の接続確率の要素との２次元の要素で記述されること、
を特徴とする請求項４または請求項５に記載のストリームフィルタ型グラフ設定装置。
【請求項７】
ネットワーク上に配置される複数のストリーム処理サーバ装置と、前記ストリーム処理サーバ装置におけるストリームデータの抽出条件と処理条件とを前記ストリーム処理サーバ装置ごとに設定するストリームフィルタ型グラフ設定装置とで構成されるストリームフィルタ型グラフ設定システムであって、
前記ストリーム処理サーバ装置は、
前記ネットワークからストリームデータを入力するストリーム入力部と、
予め定められたストリームデータを抽出する抽出条件が予め設定されており、前記ストリーム入力部に入力されたストリームデータの中から、前記抽出条件と一致するストリームデータを抽出するストリーム抽出部と、
ストリームデータを加工処理する処理条件が予め設定されており、前記ストリーム抽出部が抽出したストリームデータに、前記処理条件に基づいて加工処理する加工処理部と、
ストリームデータを送信する宛先を識別する宛先情報が予め設定されており、前記ストリーム入力部に入力されたストリームデータまたは前記加工処理部が加工処理したストリームデータを、前記宛先情報に基づいて前記ネットワークに出力するストリーム出力部と、
を有し、
前記ストリームフィルタ型グラフ設定装置は、
前記ネットワーク識別情報と該ネットワーク識別情報で識別されるストリーム処理サーバ装置での加工処理とが関連付けられているフィルタが予め記憶されているフィルタ記憶部と、
前記フィルタが組み合わされたフィルタグラフが蓄積されているグラフ記憶部と、
前記グラフ記憶部から読み出したフィルタグラフに基づいて、前記抽出条件と前記処理条件とを、前記フィルタに含まれるネットワーク識別情報に基づいて前記ストリーム処理サーバ装置毎に生成するグラフ設定部と、
前記グラフ設定部が生成したストリーム処理サーバ装置毎の抽出条件と前記処理条件とを、当該ネットワーク識別情報に該当するストリーム処理サーバ装置に前記ネットワークを介して出力する設定条件出力部と、
を有することを特徴とするストリームフィルタ型グラフ設定システム。
【請求項８】
ネットワーク上に配置されるストリーム処理サーバ装置におけるストリーム処理方法であって、
前記ストリーム処理サーバ装置内のコンピュータにより、
前記ネットワークからストリームデータを入力するストリーム入力手順と、
予め定められたストリームデータを抽出する抽出条件が予め設定されており、前記ストリーム入力手順により入力されたストリームデータの中から、前記抽出条件と一致するストリームデータを抽出するストリーム抽出手順と、
ストリームデータを加工処理する処理条件が予め設定されており、前記ストリーム抽出手順により抽出されたストリームデータに、前記処理条件に基づいて加工処理する加工処理手順と、
ストリームデータを送信する宛先を識別する宛先情報が予め設定されており、前記ストリーム入力手順により入力されたストリームデータまたは前記加工処理手順により加工処理したストリームデータを、前記宛先情報に基づいて前記ネットワークに出力するストリーム出力手順と、
が行われることを特徴とするストリーム処理方法。
【請求項９】
ネットワークを介して入力されるストリームデータの中から、入力された抽出条件に基づいてストリームデータを抽出し、該抽出したストリームデータを入力された処理条件に基づいて加工処理し、該加工処理したストリームデータを入力された宛先情報に基づいて前記ネットワークに出力し、ネットワーク識別情報で識別されるストリーム処理サーバ装置に、前記抽出条件と前記処理条件と前記宛先情報とを前記ネットワークを介して出力するストリームフィルタ型グラフ設定装置におけるストリームフィルタ型グラフ設定方法であって、
前記ストリームフィルタ型グラフ設定装置内のコンピュータにより、
前記ネットワーク識別情報と該ネットワーク識別情報で識別されるストリーム処理サーバ装置での加工処理とが関連付けられているフィルタをフィルタ記憶部に予め記憶する手順と、
前記フィルタが組み合わされたフィルタグラフをグラフ記憶部に蓄積する手順と、
前記グラフ記憶部から読み出したフィルタグラフに基づいて、前記抽出条件と前記処理条件とを、前記フィルタに含まれるネットワーク識別情報に基づいて前記ストリーム処理サーバ装置毎に生成するグラフ設定手順と、
前記グラフ設定手順により生成したストリーム処理サーバ装置毎の抽出条件と前記処理条件とを、当該ネットワーク識別情報に該当するストリーム処理サーバ装置に前記ネットワークを介して出力する設定条件出力手順と、
がおこなわれることを特徴とするストリームフィルタ型グラフ設定方法。
【請求項１０】
ネットワーク上に配置されるストリーム処理サーバ装置のコンピュータに、
前記ネットワークからストリームデータを入力するストリーム入力手順と、
予め定められたストリームデータを抽出する抽出条件が予め設定されており、前記ストリーム入力手順により入力されたストリームデータの中から、前記抽出条件と一致するストリームデータを抽出するストリーム抽出手順と、
ストリームデータを加工処理する処理条件が予め設定されており、前記ストリーム抽出手順により抽出されたストリームデータに、前記処理条件に基づいて加工処理する加工処理手順と、
ストリームデータを送信する宛先を識別する宛先情報が予め設定されており、前記ストリーム入力手順により入力されたストリームデータまたは前記加工処理手順により加工処理したストリームデータを、前記宛先情報に基づいて前記ネットワークに出力するストリーム出力手順と、
を実行させるためのプログラム。
【請求項１１】
ネットワークを介して入力されるストリームデータの中から、入力された抽出条件に基づいてストリームデータを抽出し、該抽出したストリームデータを入力された処理条件に基づいて加工処理し、該加工処理したストリームデータを入力された宛先情報に基づいて前記ネットワークに出力し、ネットワーク識別情報で識別されるストリーム処理サーバ装置に、前記抽出条件と前記処理条件と前記宛先情報とを前記ネットワークを介して出力するストリームフィルタ型グラフ設定装置のコンピュータに、
前記ネットワーク識別情報と該ネットワーク識別情報で識別されるストリーム処理サーバ装置での加工処理とが関連付けられているフィルタをフィルタ記憶部に予め記憶する手順と、
前記フィルタが組み合わされたフィルタグラフをグラフ記憶部に蓄積する手順と、
前記グラフ記憶部から読み出したフィルタグラフに基づいて、前記抽出条件と前記処理条件とを、前記フィルタに含まれるネットワーク識別情報に基づいて前記ストリーム処理サーバ装置毎に生成するグラフ設定手順と、
前記グラフ設定手順により生成したストリーム処理サーバ装置毎の抽出条件と前記処理条件とを、当該ネットワーク識別情報に該当するストリーム処理サーバ装置に前記ネットワークを介して出力する設定条件出力手順と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画または音声であるメディアなどのような次々とリアルタイムに到着するデータを処理・編集する技術に関し、特に、通過するストリームデータを自動的に認識して処理を行うＡＰＩ（Ｗｅｂ上で機能するＡＰＩであるためＷｅｂＡＰＩとも呼ばれる）をネットワーク上の各サーバに配置できるとともに、ネットワーク上の各サーバに配置されるＷｅｂＡＰＩの処理条件等をネットワーク側から設定できる、ストリーム処理サーバ装置、ストリームフィルタ型グラフ設定装置、ストリームフィルタ型グラフ設定システム、ストリーム処理方法、ストリームフィルタ型グラフ設定方法、およびコンピュータプログラムに関する。
【背景技術】
【０００２】
ネットワーク上に転送されるメディアデータなどの上位レイヤ情報を取得する場合に、映像や音声の内容を反映したコンテンツベースドルーティングなどにおけるネットワーク制御の高機能化が望まれている。
【０００３】
また、メディア処理などの専門知識が少ない一般アプリケーション開発者が、自前で高価な映像用機材やソフトウェアを用意することなく、また熟練クリエイターなどの表現技術を共有でき、また複雑なサーバプログラムを作成することなく、公開型プログラムを作成することができるようになることが望まれており、これにより、遠隔ＴＶ（テレビ）会議や遠隔医療などのメディアを用いたソリューションサービスの低コスト化や、オンラインゲーム開発や個人投稿による映像コンテンツサイトなどのエンターテインメント領域の活性化が望まれている。
【０００４】
このようなネットワーク上でメディア編集及び処理に関する支援技術として、例えば、本願出願人が現在出願中の、「映像編集サーバ装置、システム及びプログラム」がある（特許文献１を参照）。この現在出願中の技術は、ネットワーク上の映像編集サーバにアクセスし、所望の処理ＡＰＩをグラフ状に組み合わせることで、メディア編集加工を可能とするものである。さらに、様々なアプリケーション開発者のグラフ作成履歴を学習することで、専門知識のない初心者でも簡単に編集加工が可能なように編集テンプレートを提示すると共に、熟練者に対してもこれまでに無かった編集加工のテンプレートを推奨することを可能としたものである。
【０００５】
また、上記テンプレートのような構造を一般的に学習する方法としては、カーネル関数を利用した手法がある（例えば、非特許文献１を参照）。これは構造から構造への射影を、部分的なグラフ構造の畳み込みカーネル関数を用いて決定するものである。但し、計算量が多く、分類器として利用することはできても、直接的な最尤グラフの算出効率は必ずしも良いものではないという問題があった。
【特許文献１】特願２００６−２３０６１９号明細書
【非特許文献１】鈴木、佐々木、前田、「階層非循環有向グラフカーネル」、電子情報通信学会論文誌、D-II 、Vol.J88-D-II, No.2(20050201)、pp. 230-240
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、従来のＷｅｂＡＰＩでは、端末側が利用したいＡＰＩを保持するサーバの宛先を把握しておき、この宛先を明示してストリームデータ（動画ストリームなど）を転送し、ＷｅｂＡＰＩサーバに何らかの加工処理（フィルタ処理）を行わせるものであった。しかしながら、この手法では、利用側でＷｅｂＡＰＩを特定する必要があり煩雑であった。また、宛先となっていないＷｅｂＡＰＩは入力データを取得できないため、他のサービスとの連携を行うことが困難であった。
【０００７】
このため、１つ目の課題として、通過するストリームデータを自動的に認識して入力して加工処理を行うＷｅｂＡＰＩをフィルタ（例えば、画像を加工するフィルタ）としてネットワーク上に配置できるストリーム処理サーバ装置の提供が望まれていた。また、複数のストリーム処理サーバ装置を連携して動作させることも望まれていた。
【０００８】
また、上記ＷｅｂＡＰＩをネットワーク上のサーバに配置する場合は、フィルタグラフ（所望の処理ＡＰＩをグラフ状に組み合わせたもの）を基にして配置するのであるが、このフィルタグラフは複数の候補となるフィルタグラフの中からテンプレート（推奨されるフィルタグラフ）を推定して決定されるものである。例えば、上述した特許文献１の映像編集サーバ装置において、フィルタグラフのテンプレートの生成方法が開示されているが、この映像編集サーバ装置におけるテンプレート生成方法では、ループのない非循環なフィルタグラフを学習データとして想定していたので、複雑なループを持つ循環構造（例えば、処理の結果を前の処理に戻すループ構造）は、適切にテンプレートに反映されないという問題があった。このことは、特に、データに処理をかけてそのフィードバックを得て再度制御をかけるような認識制御機構や、ストリームデータから取得した情報を統合させるような機構を、学習させる場合に障害となる。
【０００９】
このため、２つ目の課題として、複雑なループ構造を含むフィルタグラフを適切にテンプレート推定に反映することができるストリームフィルタ型グラフ設定装置の提供が望まれていた。
【００１０】
本発明は、斯かる実情に鑑みなされたものであり、本発明の目的は、通過するストリームデータ（動画ストリームなど）を自動的に認識して処理を行うＷｅｂＡＰＩをネットワーク上の各サーバに配置できるとともに、複数のサーバに保持されるＷｅｂＡＰＩを連携して動作させることができ、さらに、適切にテンプレートの推定を行うことができる、ストリーム処理サーバ装置、ストリームフィルタ型グラフ設定装置、ストリームフィルタ型グラフ設定システム、ストリーム処理方法、ストリームフィルタ型グラフ設定方法、およびコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明は上記課題を解決するためになされたものであり、本発明のストリーム処理サーバ装置は、ネットワーク上に配置されるストリーム処理サーバ装置であって、前記ネットワークからストリームデータを入力するストリーム入力部と、予め定められたストリームデータを抽出する抽出条件が予め設定されており、前記ストリーム入力部に入力されたストリームデータの中から、前記抽出条件と一致するストリームデータを抽出するストリーム抽出部と、ストリームデータを加工処理する処理条件が予め設定されており、前記ストリーム抽出部が抽出したストリームデータに、前記処理条件に基づいて加工処理する加工処理部と、ストリームデータを送信する宛先を識別する宛先情報が予め設定されており、前記ストリーム入力部に入力されたストリームデータまたは前記加工処理部が加工処理したストリームデータを、前記宛先情報に基づいて前記ネットワークに出力するストリーム出力部と、を有することを特徴とする。
【００１２】
また、本発明のストリーム処理サーバ装置は、前記抽出条件と前記処理条件と前記宛先情報とを前記ネットワークを介して入力し、前記入力した前記抽出条件を前記ストリーム抽出部に設定し、前記入力した処理条件を前記加工処理部に設定し、前記入力した宛先情報を前記ストリーム出力部に設定する設定部、を有することを特徴とする。
【００１３】
また、本発明のストリームフィルタ型グラフ設定装置は、ネットワークを介して入力されるストリームデータの中から、入力された抽出条件に基づいてストリームデータを抽出し、該抽出したストリームデータを入力された処理条件に基づいて加工処理し、該加工処理したストリームデータを入力された宛先情報に基づいて前記ネットワークに出力し、ネットワーク識別情報で識別されるストリーム処理サーバ装置に、前記抽出条件と前記処理条件と前記宛先情報とを前記ネットワークを介して出力するストリームフィルタ型グラフ設定装置であって、前記ネットワーク識別情報と該ネットワーク識別情報で識別されるストリーム処理サーバ装置での加工処理とが関連付けられているフィルタが予め記憶されているフィルタ記憶部と、前記フィルタが組み合わされたフィルタグラフが蓄積されているグラフ記憶部と、前記グラフ記憶部から読み出したフィルタグラフに基づいて、前記抽出条件と前記処理条件とを、前記フィルタに含まれるネットワーク識別情報に基づいて前記ストリーム処理サーバ装置毎に生成するグラフ設定部と、前記グラフ設定部が生成したストリーム処理サーバ装置毎の抽出条件と前記処理条件とを、当該ネットワーク識別情報に該当するストリーム処理サーバ装置に前記ネットワークを介して出力する設定条件出力部と、を有することを特徴とする。
【００１４】
また、本発明のストリームフィルタ型グラフ設定装置は、前記グラフ記憶部に記憶されているフィルタグラフに基づいて、前記フィルタグラフ内のフィルタ間の接続確率を示す接続確率ネットワークを算出し、該算出した接続確率ネットワークに基づいて、入力された加工処理のフィルタを含むフィルタグラフをテンプレートとして推定するテンプレート推定部、を有し、前記グラフ設定部が、前記テンプレート推定部が推定したフィルタグラフに基づいて、前記抽出条件と前記処理条件とを、前記フィルタに含まれるネットワーク識別情報に基づいて前記ストリーム処理サーバ装置毎に生成する、ことを特徴とする。
【００１５】
また、本発明のストリームフィルタ型グラフ設定装置は、前記テンプレート推定部が、前記グラフ記憶部に記憶されているフィルタグラフと、前記接続確率ネットワークとを基に、入力された加工処理のフィルタを含むフィルタグラフごとに該フィルタグラフの存在確率を算出し、前記存在確率の最も高いフィルタグラフをテンプレートとして推定すること、を特徴とする。
【００１６】
また、本発明のストリームフィルタ型グラフ設定装置は、前記接続確率ネットワークにおいて、フィルタ間を結ぶリンク情報が、フィルタ間の経路長に関する要素と、フィルタ間の接続確率の要素との２次元の要素で記述されること、を特徴とする。
【００１７】
また、本発明のストリームフィルタ型グラフ設定システムは、ネットワーク上に配置される複数のストリーム処理サーバ装置と、前記ストリーム処理サーバ装置におけるストリームデータの抽出条件と処理条件とを前記ストリーム処理サーバ装置ごとに設定するストリームフィルタ型グラフ設定装置とで構成されるストリームフィルタ型グラフ設定システムであって、前記ストリーム処理サーバ装置は、前記ネットワークからストリームデータを入力するストリーム入力部と、予め定められたストリームデータを抽出する抽出条件が予め設定されており、前記ストリーム入力部に入力されたストリームデータの中から、前記抽出条件と一致するストリームデータを抽出するストリーム抽出部と、ストリームデータを加工処理する処理条件が予め設定されており、前記ストリーム抽出部が抽出したストリームデータに、前記処理条件に基づいて加工処理する加工処理部と、ストリームデータを送信する宛先を識別する宛先情報が予め設定されており、前記ストリーム入力部に入力されたストリームデータまたは前記加工処理部が加工処理したストリームデータを、前記宛先情報に基づいて前記ネットワークに出力するストリーム出力部と、を有し、前記ストリームフィルタ型グラフ設定装置は、前記ネットワーク識別情報と該ネットワーク識別情報で識別されるストリーム処理サーバ装置での加工処理とが関連付けられているフィルタが予め記憶されているフィルタ記憶部と、前記フィルタが組み合わされたフィルタグラフが蓄積されているグラフ記憶部と、前記グラフ記憶部から読み出したフィルタグラフに基づいて、前記抽出条件と前記処理条件とを、前記フィルタに含まれるネットワーク識別情報に基づいて前記ストリーム処理サーバ装置毎に生成するグラフ設定部と、前記グラフ設定部が生成したストリーム処理サーバ装置毎の抽出条件と前記処理条件とを、当該ネットワーク識別情報に該当するストリーム処理サーバ装置に前記ネットワークを介して出力する設定条件出力部と、を有することを特徴とする。
【００１８】
また、本発明のストリーム処理方法は、ネットワーク上に配置されるストリーム処理サーバ装置におけるストリーム処理方法であって、前記ストリーム処理サーバ装置内のコンピュータにより、前記ネットワークからストリームデータを入力するストリーム入力手順と、予め定められたストリームデータを抽出する抽出条件が予め設定されており、前記ストリーム入力手順により入力されたストリームデータの中から、前記抽出条件と一致するストリームデータを抽出するストリーム抽出手順と、ストリームデータを加工処理する処理条件が予め設定されており、前記ストリーム抽出手順により抽出されたストリームデータに、前記処理条件に基づいて加工処理する加工処理手順と、ストリームデータを送信する宛先を識別する宛先情報が予め設定されており、前記ストリーム入力手順により入力されたストリームデータまたは前記加工処理手順により加工処理したストリームデータを、前記宛先情報に基づいて前記ネットワークに出力するストリーム出力手順と、が行われることを特徴とする。
【００１９】
また、本発明のストリームフィルタ型グラフ設定方法は、ネットワークを介して入力されるストリームデータの中から、入力された抽出条件に基づいてストリームデータを抽出し、該抽出したストリームデータを入力された処理条件に基づいて加工処理し、該加工処理したストリームデータを入力された宛先情報に基づいて前記ネットワークに出力し、ネットワーク識別情報で識別されるストリーム処理サーバ装置に、前記抽出条件と前記処理条件と前記宛先情報とを前記ネットワークを介して出力するストリームフィルタ型グラフ設定装置におけるストリームフィルタ型グラフ設定方法であって、前記ストリームフィルタ型グラフ設定装置内のコンピュータにより、前記ネットワーク識別情報と該ネットワーク識別情報で識別されるストリーム処理サーバ装置での加工処理とが関連付けられているフィルタをフィルタ記憶部に予め記憶する手順と、前記フィルタが組み合わされたフィルタグラフをグラフ記憶部に蓄積する手順と、前記グラフ記憶部から読み出したフィルタグラフに基づいて、前記抽出条件と前記処理条件とを、前記フィルタに含まれるネットワーク識別情報に基づいて前記ストリーム処理サーバ装置毎に生成するグラフ設定手順と、前記グラフ設定手順により生成したストリーム処理サーバ装置毎の抽出条件と前記処理条件とを、当該ネットワーク識別情報に該当するストリーム処理サーバ装置に前記ネットワークを介して出力する設定条件出力手順と、がおこなわれることを特徴とする。
【００２０】
また、本発明のコンピュータプログラムは、ネットワーク上に配置されるストリーム処理サーバ装置のコンピュータに、前記ネットワークからストリームデータを入力するストリーム入力手順と、予め定められたストリームデータを抽出する抽出条件が予め設定されており、前記ストリーム入力手順により入力されたストリームデータの中から、前記抽出条件と一致するストリームデータを抽出するストリーム抽出手順と、ストリームデータを加工処理する処理条件が予め設定されており、前記ストリーム抽出手順により抽出されたストリームデータに、前記処理条件に基づいて加工処理する加工処理手順と、ストリームデータを送信する宛先を識別する宛先情報が予め設定されており、前記ストリーム入力手順により入力されたストリームデータまたは前記加工処理手順により加工処理したストリームデータを、前記宛先情報に基づいて前記ネットワークに出力するストリーム出力手順と、を実行させるためのプログラムである。
【００２１】
また、本発明のコンピュータプログラムは、ネットワークを介して入力されるストリームデータの中から、入力された抽出条件に基づいてストリームデータを抽出し、該抽出したストリームデータを入力された処理条件に基づいて加工処理し、該加工処理したストリームデータを入力された宛先情報に基づいて前記ネットワークに出力し、ネットワーク識別情報で識別されるストリーム処理サーバ装置に、前記抽出条件と前記処理条件と前記宛先情報とを前記ネットワークを介して出力するストリームフィルタ型グラフ設定装置のコンピュータに、前記ネットワーク識別情報と該ネットワーク識別情報で識別されるストリーム処理サーバ装置での加工処理とが関連付けられているフィルタをフィルタ記憶部に予め記憶する手順と、前記フィルタが組み合わされたフィルタグラフをグラフ記憶部に蓄積する手順と、前記グラフ記憶部から読み出したフィルタグラフに基づいて、前記抽出条件と前記処理条件とを、前記フィルタに含まれるネットワーク識別情報に基づいて前記ストリーム処理サーバ装置毎に生成するグラフ設定手順と、前記グラフ設定手順により生成したストリーム処理サーバ装置毎の抽出条件と前記処理条件とを、当該ネットワーク識別情報に該当するストリーム処理サーバ装置に前記ネットワークを介して出力する設定条件出力手順と、を実行させるためのプログラムである。
【発明の効果】
【００２２】
本発明のストリーム処理サーバ装置においては、ネットワークから入力されたストリームデータの中から、抽出条件（識別条件）と一致するストリームデータを抽出し、抽出したストリームデータに対し、予め設定された処理条件により加工処理（ＷｅｂＡＰＩによる処理）を施し、加工処理されたストリームデータを、宛先情報に基づいてネットワークに出力するようにしたので、これにより、通過するストリームデータを自動的に認識して加工処理を行うサーバをネットワーク上に配置することができる。
【００２３】
また、本発明のストリーム処理サーバ装置においては、抽出条件と、処理条件と、宛先情報とを、ネットワークを介して入力するようにしたので、これにより、ストリームデータの抽出条件（識別条件）と、加工処理条件と、加工処理した処理結果のテータの転送先とをネットワークから設定可能になる。また、ネットワーク側から各ストリーム処理サーバ装置に対し所望の処理条件（ＷｅｂＡＰＩ）を設定することにより、複数のストリーム処理サーバ装置を連携させて（ＷｅｂＡＰＩを組み合わせて）、ストリームデータに対する処理を行わせることができる。
【００２４】
また、本発明のストリームフィルタ型グラフ設定装置においては、フィルタが組み合わされたフィルタグラフが蓄積されているグラフ記憶部を有し、このグラフ記憶部から読み出したフィルタグラフに基づいて、ストリームデータの抽出条件と処理条件とをストリーム処理サーバ装置毎に生成し、当該ストリーム処理サーバ装置に対しネットワークを介して出力するようにしたので、これにより、ストリーム処理サーバ装置におけるストリームデータの抽出条件（識別条件）と、処理条件と、加工処理した処理結果のテータの転送先とを、ストリームフィルタ型グラフ設定装置から設定可能になる。
【００２５】
また、本発明のストリームフィルタ型グラフ設定装置においては、グラフ記憶部に記憶されているフィルタグラフに基づいて、フィルタグラフ内のフィルタ間の接続確率を示す接続確率ネットワークを算出し、この接続確率ネットワークを基にテンプレート（推奨されるフィルタグラフ）を推定し、このテンプレートに基づいて、ストリーム処理サーバ装置における抽出条件と処理条件とをストリーム処理サーバ装置毎に生成するようにしたので、これにより、グラフ記憶部にフィルタグラフが記憶される度に接続確率ネットワークが更新され、より適切なテンプレートを推定できるようになる。
【００２６】
また、本発明のストリームフィルタ型グラフ設定装置においては、接続確率ネットワークを基に、グラフ記憶部に記憶されたグラフごとに該グラフの存在確率を算出し、存在確率の最も高いグラフをテンプレートとして推定するようにしたので、これにより、利用者の指定した条件に適合し、かつ最も利用頻度の高いフィルタグラフをテンプレートとして推定できるようになる。
【００２７】
また、本発明のストリームフィルタ型グラフ設定装置においては、接続確率ネットワークにおいて、フィルタ間を結ぶリンク情報が、フィルタ間の経路長の要素と、フィルタ間の接続確率の２次元の要素で記述されるようしたので、これにより、より適切なテンプレートを推定できる。
【００２８】
また、本発明のストリームフィルタ型グラフ設定システムにおいては、ネットワーク上に複数のストリーム処理サーバ装置が配置され、各ストリーム処理サーバ装置では、ネットワークから入力されたストリームデータの中から、抽出条件と一致するストリームデータを抽出し、抽出したストリームデータに加工処理を施し、加工処理したストリームデータを、宛先情報に基づいてネットワークに出力する。また、ストリームフィルタ型グラフ設定装置は、フィルタグラフが蓄積されているグラフ記憶部から読み出したフィルタグラフに基づいて、ストリームデータの抽出条件と処理条件とをストリーム処理サーバ装置ごとに生成し、ネットワークを介して出力するようにしたので、これにより、通過するストリームデータを自動的に認識して処理を行うサーバをネットワーク上に配置することができる。また、ストリーム処理サーバ装置におけるストリームデータの抽出条件（識別条件）と、処理条件と、加工処理した処理結果のテータの転送先とを、ストリームフィルタ型グラフ設定装置から設定可能になる。
【発明を実施するための最良の形態】
【００２９】
本発明が適用されるストリーム処理サーバ装置、ストリームフィルタ型グラフ設定装置の実施形態について、以下に図面を参照して詳細に説明する。
【００３０】
［ＡＰＩとフィルタグラフについての説明］
最初に本発明のストリーム処理サーバ装置、ストリームフィルタ型グラフ設定装置において使用される、ＡＰＩとフィルタグラフについて予め説明しておく。なお、ストリーム処理サーバ装置において処理されるデータは、動画ストリーム等のストリームデータである。また、ＡＰＩはネットワーク上のサーバに配置されるためＷｅｂＡＰＩとも呼ばれ、また、ＡＰＩはストリームデータに対するストリーム加工処理（フィルタ処理）を行うためフィルタとも呼ばれる。なお、本明細書では、ストリームデータに対するストリーム加工処理（フィルタ処理）を、単に「加工処理」とも言う。
【００３１】
フィルタグラフとは、所望のＡＰＩをグラフ状に組み合わせたグラフであり、対象となるストリームデータに対する加工処理の順序が記述された情報である。この加工処理としては、例えば、合成処理、コントラスト処理、レンダリング処理がある。
【００３２】
合成処理としては、例えば、２つの映像があり、画面の全体で１つの映像を表示しその中の１部の小さい画面に別の映像を表示する処理、または、１つの画面で複数の画像を同時に表示する処理などがある。
【００３３】
また、それぞれの映像効果処理には、より詳細な条件がパラメータとしてある。例えば、エッジ強調のフィルタ処理においては、どの程度のエッジを強調するかを特定するパラメータがある。また、例えば、２画面表示処理においては、小さい画面を、画面のどの位置に、どの大きさで表示するのかを指定するパラメータがある。
【００３４】
これら映像などのストリームデータ加工処理の１つ１つの処理を実行するものがＡＰＩ（フィルタ）であり、ＡＰＩの代表的なものとして、合成処理ＡＰＩ、コントラストＡＰＩ、レンダリング処理ＡＰＩ、音声認識ＡＰＩ、自然言語処理ＡＰＩ、ＸＭＬ解析ＡＰＩ等がある。
【００３５】
合成処理ＡＰＩとは、２つ以上の映像を合成して１つの映像を出力するＡＰＩであり、基本的な合成処理として、配置的合成、重ね合わせ、時間連結の３種類がある。
【００３６】
配置的合成とは、例えば、多次元中継のように、別々の映像を同一画面の中に配置して流す合成である。パラメータとしては画面内の位置の情報がある。
【００３７】
重ね合わせとは、フェードアウトのように別の映像に徐々に薄くしながら変更する処理の合成である。画素値の合成具合（αブレンディング）を決める比率をパラメータとして渡す。なお、本来はＣ言語のように、ブレンド関数を関数ポインタとしてパラメータとして渡すのが一般的である。
【００３８】
時間連結とは、例えば、Ａという映像が終わった（例えば、Ａという映像信号が途絶えた）後、Ｂという映像を流す処理である。パラメータは基本的にない。
【００３９】
コントラストＡＰＩとは、白（ＲＧＢ＝２５５，２５５，２５５）対黒（ＲＧＢ＝０，０，０）の明度の比率を変更できる機能であり、入力および出力ともそれぞれ１つの映像であり、パラメータは比（例えば７００：１）となる。
【００４０】
レンダリング処理ＡＰＩとは、３次元的に３Ｄモデルを配置し、光源、カメラ位置を設定して透視射影（遠くのものが小さくなるような射影方式）を行い、２次元の画像を得る処理である。レンダリング方法にも種類があり、Ｚバッファ法、光線追跡法、ラジオシティ法、フォトンマッピングなどがある。基本的に、入力は映像ではなく１つのモデリング空間などといった映像以外のものを与え、１つの映像を出力する。つまりレンダリング処理とは、映像以外のデータを映像化するといった処理の総称である。
【００４１】
その他にも、映像以外を出力するＡＰＩがある。例えば映像の全ての画素値の平均値を返すＡＰＩや、映像を入力としてその形状モデルを返すＡＰＩ（レンダリング用）などがある。フィルタグラフとは、上記のＡＰＩに必要なパラメータを与え、出力した映像や値をまた別のＡＰＩの入力として用いるといったＡＰＩ同士の連鎖構造をフィルタグラフと定義しているものである。
【００４２】
［ストリーム処理サーバ装置の説明］
図１は、本発明の実施の形態に係わるストリーム処理サーバ装置１００の構成図であり、また、ストリーム解析時の動作を説明するための図である。なお、ストリーム処理サーバ装置１００はネットワーク上に複数配置され、この複数のストリーム処理サーバ装置１００と、ストリームフィルタ型グラフ設定装置３００とで、後述するストリームフィルタ型グラフ設定システムが構成される（図８を参照）。
【００４３】
ストリーム処理サーバ装置１００は、ルータ機能を備える１次解析部１０１と、ＡＰＩによるフィルタ処理を行う２次処理部１０２と、設定部１０３、結果蓄積部１３０から構成される。また、ストリーム処理サーバ装置１００は、ＣＰＵ、ＲＯＭ、ＲＡＭ（いずれも図示せず）等で構成されるコンピュータシステムを含んでいる。
【００４４】
アプリケーション開発者Ａ１０４がストリームフィルタ型グラフ設定装置３００（詳細は後述する)を用いて、入出力及びパラメータが記述された解析設定情報１０５を、ストリーム処理サーバ装置１００の設定部１０３に送信することで、設定部１０３が１次解析部１０１及び２次処理部１０２に、それぞれ１次解析設定情報（ストリームデータの抽出条件）１０６、及び２次処理設定情報（ストリームデータの処理条件）１０７を通知し、１次解析部１０１及び２次処理部１０２がそれに応じた解析(または処理)を行うようになる。なお、以下の説明においては、解析設定情報を、単に「解析設定」と呼び、１次解析設定情報を、単に「１次解析設定」と呼び、２次処理設定情報を、単に「２次処理設定」と呼ぶ。
【００４５】
上記構成において、メディア端末またはサーバ１４０から送信される複数のストリームデータ（動画ストリームなど）１１２が１次解析部１０１に入力され、１次解析部１０１では、複数のストリームデータから１次解析設定の条件に適合するものを複製し、この複製データ１０９を２次処理部１０２に送信する。２次処理部１０２においては、１次解析部１０１から受信した複製データ１０９の解析処理（例えば、画面構成の認識処理等）を行い、画像加工データ等の処理結果１３１を結果蓄積部１３０に保存する。なお、２次処理部１０２における処理は、先に説明したＡＰＩにより行われる。
【００４６】
なお、前述したストリーム入力部、ストリーム出力部、およびストリーム抽出部は１次解析部１０１が相当し、前述した加工処理部は２次処理部１０２が相当し、設定部は設定部１０３が相当する。また、前述のストリーム処理サーバ装置における抽出条件が１次解析設定１０６に相当し、処理条件が２次処理設定１０７に相当する。
【００４７】
図２は、１次解析部および２次処理部に対する設定情報の例を示す図である。
図２（Ａ）は、１次解析設定の第１の例を示しており、入力されるストリームデータ（動画ストリームなど）を抽出（または識別）する条件αとして、ポート番号（例えば、８１９２）と、プロトコル（例えば、ＲＴＰ）が設定されている。また、条件αに適合するストリームデータの複製データ１０９を２次処理部１０２に送信する条件として、宛先となる２次処理部１０２のＩＰアドレス（例えば、１０１．１１１．１２０．４）と、ポート番号（例えば、４５００）が設定されている。すなわち、条件αに適合するストリームデータの複製データ１０９が２次処理部１０２に送信される。
【００４８】
図２（Ｂ）は、１次解析設定の第２の例を示しており、入力されるストリームデータを識別する条件βとして、宛先ＩＰアドレス（例えば、１３１．９０．２５．７６）と、ポート番号（例えば、４０９６）とが設定されている。また、条件βに合致するストリームデータの複製データ１０９を２次処理部１０２に送信する条件として、宛先となる２次処理部１０２のＩＰアドレス（例えば、１０１．１１１．１２０．４）と、ポート番号（例えば、４６００）が設定されている。すなわち、条件βに合致するストリームデータの複製データ１０９が２次処理部１０２に送信される。
【００４９】
図２（Ｃ）は、外部のストリームフィルタ型グラフ設定装置３００から受信する１次解析設定１０６の例を示している。図２（Ｃ）に示す解析設定例において、入力α（ア）は、図２（Ａ）に示す１次解析設定の設定情報であり、入力β（イ）は、図２（Ｂ）に示す１次解析設定の設定情報である。また、パラメータ及び出力（ウ）は、２次処理設定の設定情報である。
【００５０】
図２（Ｄ）は、２次処理設定１０７の例を示しており、パラメータとしてサンプリングレート（例えば、１５）、判別閾値（例えば、１００）、背景色（例えば、１２６、７８、２０４）、が設定されている。また、送信宛先として、結果蓄積部１３０のＩＰアドレス（例えば、１０１．１１１．１２０．５）と、ポート番号（例えば、３０５０）とが設定されている。
【００５１】
なお、図２（Ｃ）に示す解析設定例において、ストリーム処理サーバ装置１００内のＩＰアドレスなどは詳細に記述しなくても、設定部１０３が自動的に補完して１次解析設定１０６や２次処理設定１０７に記述するようにもできる。
【００５２】
上述したように、図１に示す例では、ストリームデータ１１２を認識し、処理結果１３１を結果蓄積部１３０に蓄積して、他のサーバまたは端末１３４を用いてアプリケーション開発者Ｂ１１１が利用できるようにした例である。また、処理結果１３１は、具体的なＩＰアドレスを指定することで、結果蓄積部１３０だけでなく、外部のＤＢ（データベース）や他のストリーム処理サーバ装置に設定することも可能である。
【００５３】
図３は、上記ストリーム解析時のシーケンスを示したものである。
図３を参照して、ストリームフィルタ型グラフ設定装置３００から、ストリーム処理サーバ装置１００内の設定部１０３に対し、解析設定１０５が送信される （ステップＳ１０１）。
次に、設定部１０３から１次解析部１０１に対し、１次解析設定１０６が送信され（ステップＳ１０２）、１次解析部１０１において設定が有効となる。また、設定部１０３から２次処理部１０２に対して、２次処理設定１０７が送信され（ステップＳ１０３）、２次処理部１０２において設定が有効となる。
【００５４】
一方、メディア端末またはサーバ１４０から送信されたストリームデータが、１次解析部１０１に入力される（ステップＳ１０４）。１次解析部１０１では、受信したストリームデータが１次解析設定１０６の条件に適合するかどうかを判定し、適合する場合は複製データ１０９を２次処理部１０２に送信する（ステップＳ１０５）。
【００５５】
なお、この例では、１次解析部１０１に入力されたストリームデータはそのまま１次解析部１０１を通過し（データ加工処理が行われることなく）、メディア受信端末またはサーバ１４１に向けて送信される（ステップＳ１０６）。
【００５６】
２次処理部１０２に送信された複製データは２次処理部１０２により処理（加工）され、処理結果１３１が結果蓄積部１３０に送信され、保存される（ステップＳ１０７）。
【００５７】
この結果蓄積部１３０に保存されたデータは、サーバまたは端末１３４から閲覧することができる。この場合に、サーバまたは端末１３４から結果蓄積部１３０に対し、結果取得要求１３２を送信し（ステップＳ１０８）、結果蓄積部１３０に保存された処理結果１３３の情報を取得する（ステップＳ１０９）。
【００５８】
図４は、図１に示すストリーム処理サーバ装置１００におけるストリーム加工時の動作を説明するための図である。
【００５９】
図４に示す例は、２次処理部１０２においてストリームデータ（動画ストリームなど）１１２を加工し、加工データ１１０を、別のストリーム処理サーバ装置や、メディア受信端末またはサーバ１４１に送信する場合の例を示したものである。
【００６０】
なお、処理結果（加工データ）の出力先として、図１の場合と同様に結果蓄積部１３０を設定することも可能とする。
【００６１】
また、図５は、ストリーム加工動作時の設定情報の例を示す図である。
図５（Ａ）は、１次解析設定の第１の例を示しており、入力されるストリームデータを識別する条件αとして、ポート番号（例えば、８１９２）と、プロトコル（例えば、ＲＴＰ）が設定されている。また、条件αに適合するストリームデータの迂回データ１０８を２次処理部１０２に送信する条件として、宛先となる２次処理部１０２のＩＰアドレス（例えば、１０１．１１１．１２０．４）と、ポート番号（例えば、４５００）が設定されている。すなわち、条件αに適合するストリームデータが迂回データ１０８として２次処理部１０２に送信される。
【００６２】
図５（Ｂ）は、１次解析設定の第２の例を示しており、入力されるストリームデータを識別する条件βとして、宛先ＩＰアドレス（例えば、１３１．９０．２５．７６）と、ポート番号（例えば、４０９６）とが設定されている。また、条件βに合致するストリームデータの迂回データ１０８を２次処理部１０２に送信する条件として、宛先となる２次処理部１０２のＩＰアドレス（例えば、１０１．１１１．１２０．４）と、ポート番号（例えば、６０００）が設定されている。すなわち、条件βに適合するストリームデータが迂回データ１０８として２次処理部１０２に送信される。
【００６３】
図５（Ｃ）は、外部のストリームフィルタ型グラフ設定装置３００から受信する１次解析設定１０６の例を示している。図５（Ｃ）の解析設定において、入力α（ア）は、図５（Ａ）に示す１次解析設定の設定情報であり、入力β（イ）は、図５（Ｂ）に示す１次解析設定の設定情報である。また、パラメータ及び送信宛先（ウ）は、２次処理設定の設定情報である。
【００６４】
図５（Ｄ）は、２次処理設定の例を示しており、パラメータとしてサンプリングレート（例えば、１５）、判別閾値（例えば、１００）、背景色（例えば、１２６、７８、２０４）、
が設定されている。また、送信宛先として、メディア端末またはサーバ１４１のＩＰアドレス（例えば、８７．２０３．１９０．８）と、ポート番号（例えば、５０６０）とが設定されている。
【００６５】
図６は、上記ストリーム加工時のシーケンスを示したものであり、１次解析部１０１において、迂回データ１０８が発生する例を示したものである。図６に示すシーケンス図におけるステップＳ１０１〜Ｓ１０４の処理は、図３に示すシーケンス図におけるステップＳ１０１〜Ｓ１０４の処理と同じであり、図６に示すステップＳ１１０以降の処理が、図３に示す処理と異なる。
【００６６】
すなわち、図６において、１次解析部１０１の条件に適合するストリームは迂回データ１０８として２次処理部１０２に送信され（ステップＳ１１０）、複雑なメディア認識処理などの加工処理が施された後（ステップＳ１１１）、加工データ１１０が指定されたストリーム処理サーバ装置や、メディア受信端末またはサーバ１４１に送信される（ステップＳ１１２）。
【００６７】
（フィルタグラフの説明）
次に、フィルタグラフの構成について説明する。前述したようにフィルタグラフは所望のＡＰＩをグラフ状に組み合わせたものであり、フィルタグラフ内の各ＡＰＩ（フィルタ）は各ストリーム処理サーバ装置に割り当てられる。
図７は、各ストリーム処理サーバ装置（フィルタ）Ａ，Ｂ，Ｃ，Ｄ内に保持されるＡＰＩを接続したフィルタグラフ２００の構造を示したものである。ここで、ストリーム処理サーバ装置Ａ内に保持されるＡＰＩは、ストリームフィルタ型ＷｅｂＡＰＩ１１３で示される構成のものであり、ストリームフィルタ型ＷｅｂＡＰＩ１１３は、模式的に、各解析設定条件毎の入力１１４ａと、２次処理設定のパラメータ１１４ｂと、出力１１４ｃとで構成されるフィルタ図で表すことができる。
【００６８】
また、フィルタグラフ２００は、各フィルタＡ、Ｂ、Ｃ、Ｄの入出力及びパラメータを記述した連結情報２０１で構成される。接続関係は出力宛先アドレスを宛先ストリームフィルタ型ＷｅｂＡＰＩ（例えば、Ａ，Ｂ，Ｃ，Ｄ等）のものとし、宛先ストリームフィルタ型ＷｅｂＡＰＩの入力条件を、出力ストリームフィルタ型ＷｅｂＡＰＩのＩＰアドレス（例えば、Ａ，Ｂ，Ｃ，Ｄ等）にすることで実現される。
【００６９】
また、連結情報２０１では、最終処理となるフィルタの出力宛先に、「復元情報」と記述されている場合があり、これは入力ストリームの中で同じ復元情報のタグが付けられた情報を基に宛先を設定し、再度元の宛先に送信されるようにするということを表す。但し、出力宛先は必ずしも上記のようである必要はなく、新規のＩＰアドレス及びポートを指定してもよい。
【００７０】
［ストリームフィルタ型グラフ設定システムおよびストリームフィルタ型グラフ設定装置の説明］
図８は、ストリームフィルタ型グラフ設定システムの構成図である。ストリームフィルタ型グラフ設定システムは、ストリームフィルタ型グラフ設定装置３００と、複数のストリーム処理サーバ装置Ａ，Ｂ，Ｃを中心にして構成される。
【００７１】
ストリームフィルタ型グラフ設定装置３００は、ＡＰＩ登録部３１１と、グラフ作成部３０８と、グラフ設定部３０６と、解析設定部３０５と、グラフ蓄積部３０７と、テンプレート推定部３０４とで構成される。また、ストリームフィルタ型グラフ設定装置３００は、ＣＰＵ、ＲＯＭ、ＲＡＭ（いずれも図示せず）等で構成されるコンピュータシステムを含んでいる。
【００７２】
このストリームフィルタ型グラフ設定装置３００の利用方式としては、アプリケーション開発者１０４が操作端末３１２を用いて、グラフ作成部３０８にアクセスし、テンプレート推定部３０４に推定条件３１３を渡してテンプレート（推奨されるフィルタグラフ）３１４を受け取り、それらを変更及び組み合わせて所望のフィルタグラフ（例えば、図７のフィルタグラフ２００）を作成する。
【００７３】
作成したフィルタグラフの連結構報２０１はグラフ設定部３０６に渡される。グラフ設定部３０６は、ＡＰＩ登録部３１１に登録された登録情報３２０から各ＷｅｂＡＰＩのＩＰアドレスなどを読み出し、連結情報２０１を補完して設定情報３１６に変換する。この設定情報３１６は、解析設定部３０５に渡され、個々のストリーム処理サーバ装置１００の設定情報に分解されて送信される。また連結情報２０１はグラフ蓄積部３０７に保存される。
【００７４】
なお、前述したフィルタ記憶部はＡＰＩ登録部３１１が相当し、グラフ記憶部はグラフ蓄積部３０７が相当し、グラフ設定部はブラフ設定部３０６が相当し、設定条件出力部は解析設定部３０５が相当し、テンプレート推定部はテンプレート推定部３０４が相当する。
【００７５】
図９は、実際に設定されたフィルタグラフ３４１の実行の様子を示すシーケンス図である。送信端末またはサーバ３５１から、受信端末またはサーバ３５２に送信されたストリーム（動画ストリームなど）は、まず通過途中にあるストリーム処理サーバ装置Ａに到達する（ステップＳ２０１）。この際、最初のストリームの送信情報は、後で復元するために復元情報３５３として抽出され、最終処理となるストリーム処理サーバ装置Ｃまで伝達される（ステップＳ２０２、Ｓ２０３）。また、ストリーム自体は宛先をストリーム処理サーバ装置Ｂと、およびストリーム処理サーバ装置Ｃに変化させながら次々と経由してゆく（ステップＳ２０４、Ｓ２０５）。
【００７６】
最終処理のストリーム処理サーバ装置Ｃにおいては、伝達された復元情報３５３を基に宛先が設定される。このため、復元情報がまだ伝達されていない場合は待ち合わせを行う。それから、ストリームが受信端末またはサーバ３５２に送信される（ステップＳ２０６）
【００７７】
（接続確率ネットワークの説明）
次に、テンプレート推定部３０４でのテンプレートの推定に使用される接続確率ネットワークについて説明する。
図１０は、グラフ蓄積部３０７に保存される接続確率ネットワーク４００の構造を示したものである。
ここでは例として学習するべきフィルタグラフ４０１、４０２の例を挙げ説明する。
【００７８】
第１の手順として、まず、フィルタグラフα、βのノード（Ａ，Ｂ，Ｃ，Ｄ）を深さ優先で探索する。なお、ノードＢ１，Ｃ２，Ｄ３、Ａ４における添え字の番号１、２、３、４は深さ（木構造における深さ）による探索の順番を示したものである。この番号１、２、３、４で示す順番にノードを探索する。
【００７９】
第２の手順については、図１１を参照して、説明する。
まず、状態１に示すように、まだ探索されていないノードｆ２を発見した場合は、直前のノードｆ１と合わせて、接続確率ネットワークのｆ１（ｏ）→ｆ２（ｉ）の更新要素を（＋１，１）とする。但し、ｏはｆ１の出力ストリームの１つを表す番号、ｉはｆ２の入力ストリームの１つを表す番号とする。例えば、ノードＢ１→ノードＣ２の更新要素は（＋１，１）となる。これは、新しく発見したノードｆ２の順序を示す番号を＋１（左側）し、接続が１つ（右側）あったことを単に示している。
【００８０】
次に、状態２に示すように、既に探索されているノードｆ２に遭遇した場合は、これまで探索済みの(番号が付与された)グラフ上で、直前のノードｆ１からｆ２に到達するための経路長ｓを算出する。もし、状態２のように、探索済みグラフ上で距離が存在しない場合は、接続確率ネットワークのｆ１→ｆ２の更新要素を（＋１，１）とする。
【００８１】
次に、状態３のように、距離が存在する場合は、どのように辿ったのかによって符号が異なる。ｆ１から出力方向に辿る場合にはｓの符号を正に、逆に入力方向に辿る場合にはｓの符号を負に設定する。このｓを用いて接続確率ネットワークのｆ１→ｆ２の更新要素を（ｓ，１）とする。例えば、ノードＤ３→ノードＣ２の更新要素は（＋２，１）となる。
【００８２】
第３の手順として、接続確率ネットワークの全ての更新要素を、各リンクで分類して算出する。
この際、同じリンク上でも（ｓ，１）の距離部分(つまり左側)で分類して、足し合わせるため、（ｓ，ｎｓ）となる(ここでｎｓは接続された回数)。
【００８３】
また、同リンク内の総接続個数を、
【００８４】
【数１】
2009049905.tif 000003
【００８５】
とし、
【００８６】
更新前の接続確率を、
【００８７】
【数２】
2009049905.tif 000004
【００８８】
とする。ここで、ｍｓは過去のｆ１からｆ２へ（ｆ１→ｆ２）の接続回数、Ｍは過去のｆ１から接続した全ての個数である。この場合、更新後の接続確率は、
【００８９】
【数３】
2009049905.tif 000005
【００９０】
となる。
【００９１】
この例を図１２に示す。図１２に示すように、ノードＤ（出力２）からノードＣ（入力３）への更新要素を求める。例えば、ノードｆ１からノードｆ２への更新要素が、「（＋１，１）、（＋１，１）、（−１，１）、（＋２，１）、（−１，１）、（＋１，１）、（＋２，１）」であったとすると、距離部分ｓで分類して、足し合わせて、ノードＤ（出力２）からノードＣ（入力３）への更新要素（ｓ，ｎｓ）を求めると、（−１，２）、（＋１，３）、（＋２，２）、となる。
【００９２】
そして、更新前の接続確率、「（−１，ｍ−１／Ｍ），（０，ｍ０／Ｍ），（＋１，ｍ１／Ｍ），（＋２，ｍ２／Ｍ）、ここで、ｍｓはｓに対する過去（学習前）の接続回数、ＭはＤ（出力２）からの全てのノードへの更新要素接続回数」から、更新後の接続確率を、（−１，（ｍー1＋ｎ−１）／（Ｍ＋Ｎ））、・・・・・、（＋２，（ｍ２＋ｎ２）／（Ｍ＋Ｎ））、により求めることができる。
【００９３】
上記算出方法により図１０に示すように、フィルタグラフαとフィルタグラフβから、更新要素を求め、この更新要素からノード間の接続確率ネットワーク４００を求めることができる。
【００９４】
（テンプレートの推定方法の説明）
上述した接続確率ネットワーク４００を基に、テンプレート（推奨されるフィルタグラフ）を推定することができる。例えば、図１３に示すように、接続確率ネットワーク４００を基に、フィルタグラフαの存在確率（この例では、１．２３×１０−４）と、フィルタグラフβの存在確率（この例では、７．４１×１０−４）とを求め、存在確率のより大きいフィルタグラフβをテンプレートとして推定する。
【００９５】
次に、この接続確率ネットワークを利用したテンプレート推定手法を説明する。
まず過去に蓄積されたフィルタグラフｇの存在確率を表す関数Ｐ（ｇ）を定義する。フィルタグラフｇの存在確率Ｐ（ｇ）は以下のように算出される。
【００９６】
第１の手順として、外部入力の１つを根として、フィルタグラフｇに存在するノード（ＡＰＩ）を深さ優先で探索していき、探索したノードには（探索済みの)ラベルを付与していく。ここでラベルを付与されたフィルタＡＰＩのみで構成されたグラフをｇ’とする。また初期状態（ｇ’＝φ）の存在確率Ｐ（ｇ’）＝１とする。
【００９７】
第２の手順として、第１の手順において、フィルタＡＰＩ：ｆ１のｎ番目の出力Ｏｆ１，ｎ探索中に、ノードｆ２のｍ番目の入力に到達した場合は、フィルタグラフｇ’にＯｆ１，ｎ→Ｉｆ２，ｍのリンクを追加して新たにフィルタグラフｇ’に設定する。また現在のノードｆ２を新たにノードｆ１に設定する。
【００９８】
第３の手順として、第２の手順においてまだラベルが付与されていない場合、接続確率ネットワーク上のＯｆ１，ｎ→Ｉｆ２，ｍの接続確率ｐ：（１，ｐ）を取得し、Ｐ（ｇ’）×ｐを新たな存在確率Ｐ（ｇ’）に設定する。
【００９９】
第４の手順として、第２の手順において既にラベルが付与されたノードｆ２のm番目の入力に到達した場合は、ｇ’接続確率ネットワークの更新と同様に、ｇ’上のＯｆ１，ｎ→Ｉｆ２，ｍの距離ｓを算出し、接続確率ネットワーク上のＯｆ１，ｎ→Ｉｆ２，ｍの接続確率ｐ：（ｓ，ｐ）を取得して、Ｐ（ｇ’）×ｐを新たな存在確率Ｐ（ｇ’）に設定する。
【０１００】
第５の手順として、手順２から手順４を、ｇ＝ｇ’になるまで繰り返し、最終的な存在確率Ｐ（ｇ）を算出する。
【０１０１】
上記存在確率Ｐ（ｇ）を用いて、テンプレートは以下のようにして推定される。
ここで、過去のフィルタグラフの集合をＧ＝｛ｇ（１），ｇ（２），・・・，ｇ（Ｋ）｝，|Ｇ|＝Ｋとし、またアプリケーション開発者から条件として特定のストリームフィルタ型ＷｅｂＡＰＩの集合Ｆ＝｛ｆ（１），ｆ（２），・・・，ｆ（Ｌ）｝，|Ｆ|＝Ｌが指定されているものとする。
【０１０２】
そして、配列に格納されている順番に、フィルタＡＰＩ集合Ｆの要素を全て含むｇ（ｉ）（ここで、１≦ｉ≦Ｋ）を選択し、選択したｇ（ｉ）に対する存在確率Ｐ(ｇ（ｉ）)を算出する。このとき、配列全てを算出するのではなく、特定の個数ｋだけ算出し、その中で最大確率を持つものをテンプレートとして決定する。また、次のテンプレート推定における算出を高速化するため、配列の中身を、存在確率Ｐ（ｇ（ｉ））が大きい順に並べ直す。
【０１０３】
例えば、図１３に示すように、接続確率ネットワーク４００において、フィルタＡ，Ｂ、Ｃ，Ｄを指定し、また、推定条件として、ノードＡにおける外部入力確率１／１０と、ノードＢにおける外部入力確率２／１０と、ノードＤにおける外部入力確率３／１０と、外部出力確率１／８が指定された場合は、フィルタグラフα、βの存在確率は、各ノードにおける外部入力と、外部出力と、各ノードにおける接続確率とを順次に掛け合わせ、以下のようにして算出される。
【０１０４】
フィルタグラフαの存在確率＝（１／１０）×（２／１０）×（２／３）×（２／３）×（１／３）×（１／３）×（１／８）＝１．２４×１０−４
【０１０５】
フィルタグラフβの存在確率＝（３／１０）×（２／１０）×（１／３）×（１／３）×（２／３）×（２／３）×（２／８）＝７．４１×１０−４
これにより、存在確率が高いフィルタグラフβがテンプレートとして推定される。
【０１０６】
なお、存在確立Ｐ（ｇ）の算出は、上記の第１の手順から第５の手順により算出してもよいが、次のようにして、存在確立Ｐ（ｇ）の算出してもよい。まず、図１１を用いて説明した、「状態２に示すように、既に探索されているノードｆ２に遭遇した場合は、これまで探索済みの(番号が付与された)グラフ上で、直前のノードｆ１からｆ２に到達するための経路長ｓを算出する。」場合に、この算出した経路長sの値をグラフ蓄積部に記憶しておく。次に、過去のフィルタグラフｇに含まれるリンクｌについて、グラフ蓄積部に蓄積された経路長ｓを元に、接続確率ネットワークから接続確率ｐ（ｌ，ｓ）を取得し、取得した接続確率ｐ（ｌ，ｓ）に基づいて存在確立Ｐ（ｇ）を、次の式により算出する。
【０１０７】
【数４】
2009049905.tif 000006
【０１０８】
以上のようにして存在確立Ｐ（ｇ）を算出することにより、経路長sを再度算出することなしに、存在確立Ｐ（ｇ）を算出することが可能となる。
【０１０９】
図１４は従来手法との比較を行った様子を示したものである。従来手法５０２では、更新要素および接続確率ネットワークが１次元の要素で記述されるために、学習させるフィルタグラフ（例えば、フィルタグラフ５０１）がほとんど一定のものであっても、異なる同位体構造のテンプレート５０４が推定されることがある。
【０１１０】
これに対して、本発明の手法５０５の場合は、更新要素および接続確率ネットワークにおいて、経路長を含めた２次元の要素で記述されるため、より適切な構造のテンプレート５０６を推定できる。
【実施例１】
【０１１１】
図１５は、本発明のストリームフィルタ型グラフ設定システムを用いて、ＩＰマルチキャストを行う場合において、場所（または地域）毎に広告を変えて送信するサービスを実現したものである。ストリームフィルタ型グラフ設定装置３００から設定されるフィルタグラフは、フィルタグラフ６０２のようになる。
【０１１２】
この場合に、フィルタグラフ６０２は、映像ストリームを解析する映像解析ＡＰＩ６１０と、映像ストリームと広告α（ＣＭα）とを画像合成する合成ＡＰＩ（Ａ）６１１と、映像ストリームと広告β（ＣＭβ）とを画像合成する合成ＡＰＩ（Ｂ）６１２と、映像ストリームと広告γ（ＣＭγ）とを画像合成する合成ＡＰＩ（Ｃ）６１３と、で構成される。そして、ストリームフィルタ型グラフ設定装置３００により、合成ＡＰＩ（Ａ）、合成ＡＰＩ（Ｂ）、合成ＡＰＩ（Ｃ）がネットワークを介して、それぞれ個々のストリーム処理サーバ装置１００に割り当てられる。
【０１１３】
各ストリーム処理サーバ装置１００では、映像ストリームから、広告を挿入すべきフレーム及び映像上の位置を特定し、それぞれ個別の合成フィルタにより、別々の広告α、β、γが合成される。ユーザＡ，Ｂ，Ｃは、別々の広告α、β、γを視聴する。
【０１１４】
これにより、配信サーバ６０１側で広告を個別に合成してユニキャスト配信する必要がなくなるため、配信サーバ６０１やネットワークの負荷が軽減されるため、サービス導入の敷居を低くすることが可能となる。
【実施例２】
【０１１５】
図１６は、本発明のストリームフィルタ型グラフ設定システムを用いて、様々なストリームデータから情報を抽出して統合し、全体的に重要な情報をエンドユーザに提示するサービスを実現したものである。ここでは、電話などの音声、検索などのテキスト、TV電話などの映像を統合してリアルタイムな知識として変換し、ＴＶ電話側に映像として合成している。そのフィルタグラフを７０１に示す。
【０１１６】
フィルタグラフ７０１は、ストリームデータから音声データの認識を行う音声認識ＡＰＩ７１０と、テキストデータを解析するテキスト解析ＡＰＩ７１１と、映像データを認識する映像認識ＡＰＩ７１２と、各データから提示すべき情報を生成する提示情報生成ＡＰＩ７１３と、レンダリング処理を行うレンダリングＡＰＩ７１４と、映像データとレンダリング処理されたデータとを合成する合成ＡＰＩ７１５とで構成される。
【０１１７】
そして、ストリームフィルタ型グラフ設定装置３００により、個々のＡＰＩがネットワーク（ＮＷ）上のストリーム処理サーバ装置１００に割り当てられる。
【０１１８】
これにより、ＴＶ電話中にエンドユーザが疑問に思っていることなどを、全く異なる種類のストリームデータを統合的に利用して、解決情報を提示することが可能となる。例えば、動画のストリームデータとテキストデータであるストリームデータとを統合し、この統合したストリームデータを提供することが可能である。
【実施例３】
【０１１９】
図１７は、ＴＶ電話にエンドユーザの背景を別の背景に変換して相手に見せるサービスを実現した例である。この例では、ストリームフィルタ型グラフ設定装置３００により設定されるフィルタグラフ８０１は、画像データからトリミングを行うトリミングＡＰＩ８１１と、トリミングされた画像データから物体の認識を行う物体認識ＡＰＩ８１２と、トリミング位置を決定する位置パラメータを物体認識結果から生成する位置パラメータ化ＡＰＩ８１３と、レンダリング用の画像を複製する複製ＡＰＩ８１４と、レンダリング処理を行うレンダリングＡＰＩ８１５と、背景合成処理ＡＰＩ８１６とで構成される。
【０１２０】
そして、ストリームフィルタ型グラフ設定装置３００により、個々のＡＰＩがネットワーク（ＮＷ）上のストリーム処理サーバ装置１００に割り当てられる。
【０１２１】
このように物体認識などの複雑な処理が途中で入る場合、一度で認識が終了せずにフィードバックを得ながら、逐次的に適応するように実現することが多い。この場合フィルタグラフ８０１のように、どの部分に注目するかなどのトリミング箇所を、認識のスコアにより調整する構造が必要となる。
【０１２２】
また、本発明のストリームフィルタ型グラフ設定システムを用いることによって、このような複雑なループ構造を持つサービスもテンプレートにより、専門知識のないアプリケーション開発者が利用可能となる。
【０１２３】
以上本発明の実施の形態について説明したが、図１および図４に示すストリーム処理サーバ装置１００、図８に示すストリームフィルタ型グラフ設定装置３００は専用のハードウェアにより実現されるものであってもよく、また、ストリーム処理サーバ装置１００、ストリームフィルタ型グラフ設定装置３００内の各処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりその機能を実現させるものであってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【０１２４】
また、ストリーム処理サーバ装置１００、ストリームフィルタ型グラフ設定装置３００には、周辺機器として入力装置、表示装置等（いずれも図示せず）が接続されているものとする。ここで、入力装置としては、キーボード、マウス等の入力デバイスのことをいう。表示装置とは、ＣＲＴ（Cathode Ray Tube）や液晶表示装置等のことをいう。
【０１２５】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【０１２６】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０１２７】
以上、本発明の実施の形態について説明したが、本発明のストリーム処理サーバ装置、ストリームフィルタ型グラフ設定装置、およびストリームフィルタ型グラフ設定システムは、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【図面の簡単な説明】
【０１２８】
【図１】ストリーム処理サーバ装置(ストリーム解析)の構成と動作を説明するための図である。
【図２】ストリーム解析時における１次解析部および２次処理部に対する設定情報の例を示す図である。
【図３】ストリーム解析時のシーケンスを示す図である。
【図４】ストリーム処理サーバ装置(ストリーム加工)の構成と動作を説明するための図である。
【図５】ストリーム加工時における１次解析部および２次処理部に対する設定情報の例を示す図である。
【図６】ストリーム加工時のシーケンスを示す図である。
【図７】フィルタグラフの構造の例を示す図である。
【図８】ストリームフィルタ型グラフ設定システムの構成を示す図である。
【図９】フィルタグラフ設定によるストリーム加工例を示す図である。
【図１０】接続確率ネットワークの構造を示す図である。
【図１１】ノード間の距離の算出方法を示す図である。
【図１２】接続確率ネットワークの更新要素について説明するための図である。
【図１３】テンプレートの存在確立の算出方法について説明するための図である。
【図１４】従来手法との比較の例を示す図である。
【図１５】本発明の実施例１に係わるマルチキャストにおける広告合成の例を示す図である。
【図１６】本発明の実施例２に係わる知識統合による情報提示の例を示す図である。
【図１７】本発明の実施例３に係わるフィードバック型物体認識の例を示す図である。
【符号の説明】
【０１２９】
１００・・・ストリーム処理サーバ装置、１０１・・・１次解析部、１０２・・・２次処理部、１０３・・・設定部、１０５・・・解析設定情報、１０６・・・１次解析設定情報、１０７・・・２次処理設定情報、１０８・・・迂回データ、１０９・・・複製データ、１１０・・・加工データ、１１２・・・ストリームデータ、１３０・・・結果蓄積部、１３４・・・サーバまたは端末、１４０・・・メディア送信端末またはサーバ、２００・・・フィルタグラフ、３００・・・ストリームフィルタ型グラフ設定装置、３０４・・・テンプレート推定部、３０５・・・解析設定部、３０６・・・グラフ設定部、３０７・・・グラフ蓄積部、３０８・・・グラフ作成部、３１１・・・ＡＰＩ登録部、３１２・・・操作端末、３４１・・・フィルタグラフ、３５１・・・送信端末またはサーバ、３５２・・・受信端末またはサーバ、４００・・・接続確率ネットワーク（接続確率ＮＷ）、４０１、４０２、５０１・・・フィルタグラフ、５０４、５０６・・・推定テンプレート、６０１・・・配信サーバ、６０２、７０１、８０１・・・フィルタグラフ
【図１】
2009049905.tif 000007
【図２】
2009049905.tif 000008
【図３】
2009049905.tif 000009
【図４】
2009049905.tif 000010
【図５】
2009049905.tif 000011
【図６】
2009049905.tif 000012
【図７】
2009049905.tif 000013
【図８】
2009049905.tif 000014
【図９】
2009049905.tif 000015
【図１０】
2009049905.tif 000016
【図１１】
2009049905.tif 000017
【図１２】
2009049905.tif 000018
【図１３】
2009049905.tif 000019
【図１４】
2009049905.tif 000020
【図１５】
2009049905.tif 000021
【図１６】
2009049905.tif 000022
【図１７】
2009049905.tif 000023