(57)【特許請求の範囲】
【請求項１】
マルチメディア・データ・フローのネットワーク・トランスコーディング方法であって、
適応パイプライントランスコーダとアクティブ・ネットワーク・ダイモンを有するサービス・プロバイダ・ノードを提供する工程と、
前記アクティブ・ネットワーク・ダイモンにより、ネットワーク・クライエントから、マルチメディア・データ・フローとフロー・パラメータを特定するサービス用リクエストを受信する工程と、
前記サービス用リクエスト内で特定されたフロー・パラメータにより決められた方法で、前記適応パイプライントランスコーダのデコーディング段によって前記特定されたマルチメディア・データ・フローをデコードする工程と、
前記デコードされたマルチメディア・データ・フローを前記適応パイプライントランスコーダのろ波段に送信する工程と、
前記サービス用リクエスト内で特定されたフロー・パラメータにより決められた方法で、前記ろ過段により前記デコードされたマルチメディア・データ・フローをろ波する工程と、
前記ろ波されたマルチメディア・データ・フローを前記適応パイプライントランスコーダのエンコーディング段に送信して前記デコードされろ波されたマルチメディア・データ・フローを、前記サービス用リクエスト内で特定されたフロー・パラメータにより決められた方法で、前記適応パイプライントランスコーダのエンコーディング段によってエンコードして、トランスコーディングしたマルチメディア・データ・フローを発生する工程と、
該トランスコーディングしたマルチメディア・データ・フローを前記ネットワーク・クライエントに送信する工程を有するネットワーク・トランスコーディング方法。
【請求項２】
適応パイプライントランスコーダとアクティブ・ネットワーク・ダイモンを有するサービス・プロバイダ・ノードと、
前記アクティブ・ネットワーク・ダイモンにより、ネットワーク・クライエントから、マルチメディア・データ・フローとフロー・パラメータを特定するサービス用リクエストを受信する手段と、
前記サービス用リクエスト内で特定されたフロー・パラメータにより決められた方法で、前記適応パイプライントランスコーダのデコーディング段によって前記特定されたマルチメディア・データ・フローをデコードする手段と、
前記デコードされたマルチメディア・データ・フローを前記適応パイプライントランスコーダのデコーディング段から受信し、前記サービス用リクエスト内で特定されたフロー・パラメータにより決められた方法で、前記適応パイプライントランスコーダのろ波段により前記デコードされたマルチメディア・データ・フローをろ波し、前記デコードされてろ波されたマルチメディア・データ・フローを前記適応パイプライントランスコーダのエンコーディング段に送信する手段と、
前記サービス用リクエスト内で特定されたフロー・パラメータにより決められた方法で、前記適応パイプライントランスコーダのエンコーディング段によって前記デコードされたマルチメディア・データ・フローをエンコードして、トランスコーディングしたマルチメディア・データ・フローを発生する手段と、
前記トランスコーディングしたマルチメディア・データ・フローを前記ネットワーク・クライエントに送信する手段を具備したマルチメディア・データ・フローのネットワーク・トランスコーディング装置。
【請求項３】
ネットワーク・クライエントから、マルチメディア・データ・フローとフロー・パラメータを特定するサービス用リクエストを受信するアクティブ・ネットワーク・ダイモンと、
前記サービス用リクエスト内で特定されたフロー・パラメータにより決められた方法で、前記特定されたマルチメディア・データ・フローをデコードするデコーディング段と、前記サービス用リクエスト内で特定されたフロー・パラメータにより決められた方法で、前記デコードされたマルチメディア・データ・フローをエンコードするエンコーディング段を有する適応パイプライントランスコーダとを具備する、マルチメディア・データ・フローのネットワーク・トランスコーディングをするためのサービス・プロバイダ・ノードであって、
前記適応パイプライントランスコーダが、前記デコーディング段からデコードされたマルチメディア・データ・フローを受信して、前記サービス用リクエスト内で特定されたフロー・パラメータにより決められた方法で、前記マルチメディア・データ・フローをろ波し、前記デコードされてろ波されたマルチメディア・データ・フローを前記適応パイプライントランスコーダのエンコーディング段に送ってエンコードするろ波段を有するサービス・プロバイダ・ノード。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般に、トランスコーディング（transcoding）に関し、特に、マルチメディア・データ・フローのネットワーク・トランスコーディングに関する。なお、トランスコーディングについては、後述する。
【０００２】
【従来の技術】
分配されたマルチメディア・アプリケーションは、ネットワークに多数のクライエントを有する通信支援メカニズム（機構）を必要とする。図３は、ネットワーク・スタックの層を示すブロック図である。ネットワーク・ノード（ネットワークに属するコンピュータ）のネットワーク能力は、互いにインタフェースしている多数の層に分割される。これをネットワーク・スタックと呼ぶ。ネットワーク・スタックの底部から開始すると、物理的なネットワーク・インタフェースには、ネットワーク・ワイヤを介して伝送される電気信号を受ける能力がある。ネットワーク・スタックを上層に移動すると、ネットワーク信号は、更にデコードされて、アプリケーション層に達するまで、次のスタックに順次移る。特定のマルチメディア・データ・フロー（マルチメディア用データの流れ）用リクエストの如く、クライエントが要求した最終サービスを満足するように、応答をネットワーク・クライエントに通信できる方法で、ネットワーク・トラフィック（ネットワーク信号路）を解釈する層が、アプリケーション層である。
【０００３】
かかるネットワーク・トラフィックを、エンド・システム（末端装置）、ネットワーク及びエンド・ユーザに解放する必要がある。その際の形式は、エンド・システム、ネットワーク及びエンド・ユーザが扱い可能で、アプリケーションが課す制約を満足できるものでなければならない。トランスコーディングとは、高性能のステーション（装置）においては、完全な品質のマルチメディア・データを再生できる一方、同時に、異なるコード化フォーマットでもよい他のエンド・システムにおいては、適切にろ波（フィルタ処理）された低品質の再生もできるサービス品質（Quality of Service:ＱＯＳ）メカニズムをいう。すなわち、トランスコーディングによって、マルチメディア・データを異なる品質レベルに変換する。しかし、現在のトランスコーディングを行う装置（トランスコーディング装置）では、マルチメディア・データのスケール（規模）を変更することができず、種々の条件に適応（アダプティブ）させることができず、融通性がなかった。
【０００４】
【発明が解決しようとする課題】
そこで、ユーザがネットワークを横断してトランスコーディングを行う資源をプログラムできると共に、特製のトランスコーディング装置によって通信（speak）ができ、マルチメディア・データのスケールを変更でき、適応性があり、融通性のあるマルチメディア・データ・フロー用ネットワーク・トランスコーディングのシステムが望まれている。
【０００５】
【課題を解決するための手段】
本発明は、マルチメディア・データ・フローのネットワークにおけるトランスコーディング方法及び装置であって、アクティブ・ネットワーク・ダイモンにより、ネットワーク・クライエントから、フロー・パラメータを含むサービス用リクエスト（サービスのための要求）を受け；サービス用リクエスト内のフロー・パラメータが決定した方法で、サービス用リクエストが要求したマルチメディア・データ・フローをデコードし；サービス用リクエスト内のフロー・パラメータが決定した方法で、デコードされたマルチメディア・データ・フローをエンコードして、トランスコーディングしたマルチメディア・データ・フローを発生し；トランスコーディングしたマルチメディア・データ・フローをネットワーク・クライエントに送信する。
【０００６】
本発明の好適実施例によれば、サービス・プロバイダ・ノードは、そこで動作中のアクティブ（アクティブ状態にある）ネットワーク・ダイモンを有する。なお、ダイモンとは、ある条件が満たされると明示的に呼ばれなくとも自動的に動き出すプログラムのことである。ユーザは、コード化された命令（コード化命令）をサービス・プロバイダ・ノードに送ることによって、このサービス・プロバイダ・ノードのアクティブ・ネットワークの能力を介して、適応パイプラインを制御する。トランスコーディング用にネットワーク・クライエント・リクエストを傍受（インターセプト）した後に、ユーザによって送られたコード化命令に含まれる制御パラメータに応じて、サービス・プロバイダ・ノード内に適応パイプラインを構築する。この適応パイプラインは、デコード段及びエンコード段と共に、ゼロ又はそれ以上の中間ろ波段を具えている。中間段の数及び形式は、特定のフロー・パラメータの値により決まる。次に、ネットワーク・クライエントが要求したマルチメディア・データ・フローを適応パイプラインにより処理する。その結果のトランスコーディングされたマルチメディア・データ・フローは、それを要求したネットワーク・クライエントに送られる。
【０００７】
本発明のその他の目的、利点、及び新規な特徴は、添付図を参照した以下の説明から明らかになろう。
【０００８】
【発明の実施の形態】
図３に示すように、本発明は、ネットワーク・スタックのアプリケーション層で動作する。よって、ＩＰ（インターネット・プロトコル）の如き既存のネットワーク・プロトコルを変更する必要がなく、標準化されたパケット・フォーマット及びアドレス体系を使用する。
【０００９】
図１は、本発明によるネットワーク・トランスコーディング用システムのブロック図である。ネットワーク・クライエント１０は、ネットワーク８を介して、サービス用要求（サービスのための要求）を出す。ネットワーク８に属するサービス・プロバイダ・ノード１１は、アクティブ・ネットワーク（ＡＮ）ダイモン６と呼ばれるプログラム実行体を有する。ＡＮダイモン６は、プログラム可能な解放されたノードを与えるので、ネットワーク・ユーザは、プログラムをダイナミックにノード・エンジンに分散できる。サービス・プロバイダ・ノード１１は、要求を傍受する。子プロセス５は、利用可能な複数のサービスから要求されたサービスに対応する。ＡＮダイモン６は、子プロセス５と複数経路で接続される。本発明によれば、要求されたサービスがトランスコーディングされる。次に、ＡＮダイモン６は、サービス用要求を分解し、このサービス用要求内に特定された特定の制御パラメータをデータ構造体にロードする。これら制御パラメータは、ネットワーク・ユーザにより特定される。これら制御パラメータには、限定するものではないが、次のようなものがある。
１．命令形式（例えば、接続要求）
２．ポート（チャンネル識別）
３．メディア形式
４．ビット・レート
５．フレーム・レート
６．分解能
７．終端から終端までの待ち時間
８．インタレース
９．シグネチャ（識別特性）
１０．損失比率
１１．内容識別子
１２．コード形式
１３．フィルタ
１４．フィルタ・パラメータ
１５．予測
１６．ホスト名
【００１０】
親プロセス及び子プロセスの間の関係は、親プロセス（ＡＮダイモン６）及び子プロセス５がネットワーク・ノード１１内で同時に実行されるものである。よって、これら親プロセス及び子プロセスは、パラメータを介して互いに通信を行う。
【００１１】
子プロセス５は、トランスコーディングを行うために、適応パイプライン４を上位として動作する。図２は、本発明に用いる適応パイプラインのブロック図である。適応パイプライン４は、１組のモジュール成分であり、各モジュール成分がデータ・ストリームに対して１つの変換を実施する。好適実施例におけるデータ・ストリーム（データの流れ）は、マルチメディア・データ・フローであり、サービス・プロバイダ・ノード１１に送られる。このマルチメディア・データ・フローは、ムービング・ピクチャ・エキスパート・グループ・スタンダード１−４（ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４）や、ジョイント・フォトグラフィック・エキスパート・グループ（ＪＰＥＧ）、Ｈ．２６３、Ｈ．２６１等でもよいが、これらのスタンダードに限定するものではない。パイプライン４の最初の段は、トランスコーディング用に要求された特定のスタンダードに対するデコーダ・エンジン２０であり、最後の段２４は、トランスコーディングの結果となるように要求された特定スタンダード用のエンコーダ・エンジン２６である。中間段２２は、データ・フローをトランスコードするために、ベースバンド・マルチメディア・データ・フローの品質を調整するためのものである。この中間段２２は、水平フィルタ、垂直フィルタ、モスキート・フィルタ及び適応補間器などであるが、これらに限定するものではない。バッファ・プール１２、１４、１６、１８は、適応パイプライン４の特定段に必要なメモリの機能を果たす。
【００１２】
再び図１を参照する。ＡＮダイモン６は、制御パラメータを含むデータ構造を、適応パイプライン４の上位である子プロセス５に渡すことにより、制御パラメータを適応パイプライン４に渡す。図２に示すように、適応パイプラインは、制御パラメータに応じて構成される。子プロセス５は、実行機能を呼び出して、適応パイプライン４のデコード段２０、フィルタ段２２又はエンコード段２４を実行する。これら段２０〜２４は、適切な機能を順番に選択して、エンコード又はデコードのコード形式と、制御パラメータにより特定されるその他の構成とに応じて、ネットワーク・クライエント１０が要求したマルチメディア・データ・フローをトランスコーディングする。これにより、パイプライン４自体及びこのパイプラインの個別の段が、ユーザが特定するフロー・パラメータの値により、ネットワークを横断して構成可能である。
【００１３】
しかし、パイプライン４の中間段２２は、オプションであり（即ち、必要に応じて設けるものであり）、１個以上の中間段を用いることができる。中間段２２は、所望のろ波を行う機能であり、上述のフロー・パラメータにより特定する。簡単な場合、ＭＰＥＧ−２からＨ．２６３へのトランスコーディングは、中間段２２にて、少なくとも水平及び垂直のろ波を必要とする。より複雑な場合、このろ波が網羅的に行われ、あるろ波の組み合わせでは、１段の中間段では充分でない。よって、これら組み合わせは、多数の中間段２２に分割される。例えば、適応補間が、要求されたろ波の形式であり、水平及び垂直ろ波が依然必要な場合、更に別の段を追加する選択肢もある。どの組み合わせが１段内に適切であるか、どの順序がアクティブなノードによって良いかが、表として蓄積装置に蓄えられている。ユーザが大量のろ波を要求した場合、多段のろ波となる。よって、端から端までの待ち時間が長くなる。このことは、ビデオ会議にとっては望ましくないが、ブラウザでは許容範囲である。ビデオ会議と同様に、実時間対話の場合、ろ波量が、１段のみか、又は全く段を用いないことが望ましい。１段のろ波の重要性は、更に同期ポートとして機能できることである。
【００１４】
好適実施例によるサービス・プロバイダ・ノード１１のノード・オペレーティング・システム（NodeOS）は、エス・ジー・アイ・インコーポレイテッド（SGI, Inc.）が提供するＩＲＩＸオペレーティング・システムを拡張したオフ・ザ・シェル・リアル・タイム・オペレーティング・システムＲＥＡＣＴであるが、以下の一般的な特性を有する任意の他のリアル・タイムＮｏｄｅＯＳを用いてもよい。ＲＥＡＣＴ  ＮｏｄｅＯＳは、アクティビティ／スレッドをマッピングするインタフェースを提供すると共に、リアル・タイムでフレーム・ベースのスケジュール管理と、関連した前後関係（context）のスイッチングとを支援する。数ミリ秒の公称期間を設定して、見せかけのフレームを投入するようにプログラムする。この結果、フレーム境界が弾力的になる。これは、特に、同じ組み合わせの資源を多数のセッションで共有する場合に、ソフトのリアル・タイム・アプリケーションに望ましい特性である。この特定のＮｏｄｅＯＳでは、制限されたモニタ機能が容易となり、適応パイプライン４は、適応する（アダプティブな）動きをできる。オーバーラン状態（規定されたフレーム境界を横断する状態）は、利用する最も一般的なモニタ機能である。また、ＮｏｄｅＯＳは、管理者による資源利用の際のシステム・コールも提供する。認可制御エンジン（認可を制御する機構）が、この入力（システム・コール）を用いて、新たなチャンネルの増加を制限する。
【００１５】
図１において、ネットワーク８を介して、適応パイプライン４のプロセスの結果であるトランスコーディングしたデータ・フローを、要求されたネットワーク・クライエント１０に送る。このデータは、サービス用リクエスト内のフロー・パラメータに応じてネットワーク・クライエント１０が要求したフォーマットと一致する。
【００１６】
【発明の効果】
よって、本発明によるマルチメディア・データ・フローのネットワーク・トランスコーディングによれば、ユーザは、ネットワークを横断してトランスコーディング資源をプログラムでき、マルチメディア・データのスケールを変更できる。また、本発明は、適応性があり、融通性もある。
【図面の簡単な説明】
【図１】本発明によるネットワーク・トランスコーディング用システムのブロック図である。
【図２】本発明に用いる適応パイプラインのブロック図である。
【図３】ネットワーク・スタックの層のブロック図である。
【符号の説明】
４  適応パイプライン
５  子プロセス
６  ＡＮダイモン
８  ネットワーク
１０  ネットワーク・クライエント
１１  サービス・プロバイダ・ノード
１２〜１８  バッファ・プール
２０  デコード
２２  フィルタ
２４  エンコード
【図１】
0003716144.tif 000002
【図２】
0003716144.tif 000003
【図３】
0003716144.tif 000004