(57)【特許請求の範囲】
【請求項１】
それぞれが任意のサイズに分割された符号化データと、前記符号化データに関する固有情報を含むヘッダとを連結して、一連のビットストリームを構成し、前記ビットストリームを第１の通信路を介して伝送するデータ処理方法であって、
少なくとも前記ビットストリームの伝送に関する情報を第２の通信路を介して受信側と送受信する送受信ステップと、
前記送受信ステップにより得られた受信情報に基づいて、前記ビットストリームの伝送を制御する制御ステップとを含むことを特徴とするデータ処理方法。
【請求項２】
前記制御ステップは、
前記符号化データ及び前記ヘッダのそれぞれに対して、優先度を設定する設定ステップと、
前記設定ステップでの優先度の設定に基づき複数の伝送プロトコルから該当する伝送プロトコルを選択する選定ステップと、
前記選択ステップで選択された伝送プロトコルに基づき前記ビットストリームの伝送を制御する伝送制御ステップとを含むことを特徴とする請求項１に記載のデータ処理方法。
【請求項３】
前記第２の通信路は、前記第１の通信路とは独立した１つ以上のサブ通信回線を含むことを特徴とする請求項１に記載のデータ処理方法。
【請求項４】
複数の伝送プロトコルの中の任意の伝送プロトコルによって、少なくとも１つ以上の相互に独立な複数の符号化データを内包した任意のビットストリームを第１の通信路を介して受信して、前記相互に独立な複数の符号化データをそれぞれ独立に復号するためのデータ処理方法であって、
少なくとも前記ビットストリームの伝送に関する情報を第２の通信路を介して前記ビットストリームの送信側と送受信する送受信ステップを含むことを特徴とするデータ処理方法。
【請求項５】
受信したビットストリームのエラー発生頻度を管理する第１の管理ステップと、
受信中のビットストリームに関するビットレートを管理する第２の管理ステップとを含み、
前記送信ステップは、少なくとも、前記第１の管理ステップでの管理情報、第２の管理ステップでの管理情報、及び受信したビットストリームの任意の部分に対する伝送プロトコルを変更又は指定するためのリクエスト情報の何れかを、前記ビットストリームの送信元へ送信するステップを含むことを特徴とする請求項４に記載のデータ処理方法。
【請求項６】
複数の相互に異なる伝送プロトコルの中の任意の伝送プロトコルによって、連続したビットストリームを送信するためのデータ処理方法であって、
前記ビットストリームの任意の領域を任意の伝送プロトコルに従ってエンコードして送信する送信ステップと、
前記ビットストリームの通信路とは独立した通信路を介して外部より受信した情報に応じて前記ビットストリームにおける任意の部分の伝送プロトコルを変更する変更ステップと、
前記外部より受信した情報に応じて前記ビットストリームの既に送信済みの部分を次のビットストリームに結合して再送する再送ステップとを含むことを特徴とするデータ処理方法。
【請求項７】
前記ビットストリームは、ＭＰＥＧ−４規格に準拠したビットストリームであることを特徴とする請求項１〜６の何れか１項に記載のデータ処理方法。
【請求項８】
請求項１〜７の何れか1項に記載のデータ処理方法の処理ステップをコンピュータに実行させるためのコンピュータプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項９】
それぞれが任意のサイズに分割された符号化データと、前記符号化データに関する固有情報を含むヘッダとを連結して、一連のビットストリームを構成し、前記ビットストリームを第１の通信路を介して伝送するデータ処理装置であって、
少なくとも前記ビットストリームの伝送に関する情報を第２の通信路を介して受信側と送受信する送受信手段と、
前記送受信手段により得られた受信情報に基づいて、前記ビットストリームの伝送を制御する制御手段とを有することを特徴とするデータ処理装置。
【請求項１０】
複数の伝送プロトコルの中の任意の伝送プロトコルによって、少なくとも１つ以上の相互に独立な複数の符号化データを内包した任意のビットストリームを第１の通信路を介して受信する受信手段と、
前記受信手段により受信されたビットストリーム中の前記相互に独立な複数の符号化データをそれぞれ独立に復号する復号手段と、
少なくとも前記ビットストリームの伝送に関する情報を第２の通信路を介して前記ビットストリームの送信側と送受信する送受信手段とを有することを特徴とするデータ処理装置。
【請求項１１】
複数の相互に異なる伝送プロトコルの中の任意の伝送プロトコルによって、連続したビットストリームを送信するためのデータ処理装置であって、
前記ビットストリームの任意の領域を任意の伝送プロトコルに従ってエンコードして送信する送信手段と、
前記ビットストリームの通信路とは独立した通信路を介して外部より受信した情報に応じて前記ビットストリームにおける任意の部分の伝送プロトコルを変更する変更手段と、
前記外部より受信した情報に応じて前記ビットストリームの既に送信済みの部分を次のビットストリームに結合して再送する再送手段とを有することを特徴とするデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理装置、データ処理方法及びコンピュータ読み取り可能な記録媒体に関するものであり、特に符号化されたデータの送信処理或いは受信処理に関するものである。
【０００２】
【従来の技術】
近年において、例えば、「ＩＳＯ／ＩＥＣ １４４９６（ＭＰＥＧ ｐｈａｓｅ４）」規格では、マルチメディアの符号化の標準化（圧縮フォーマットの標準化）が進められている。
【０００３】
本規格では、従来のビデオデータやオーディオデータの符号化の他に、各メディアの空間や時間的配置を定義することが可能であり、これを「シーン記述」と呼称し、各々のメディアを「オブジェクト」と呼称している。
【０００４】
図９は、本規格でのシーンの一例を示したものである。
上記図９では、グラフィックオブジェクトとしてＢＯＸ（箱）４０１及びＣｙｌｉｎｄｅｒ（円柱）４０２が定義されている。また、ＢＯＸ４０１に貼付されるイメージテクスチャ４０１ａ、Ｃｙｌｉｎｄｅｒ４０２に貼付されるビデオテクスチャ４０２ａ、及びそれらと同時に再生されるオーディオ４０３が定義されている。
【０００５】
シーン記述自体の手法としては、例えば、ＶＲＭＬ（Ｖｉｒｔｕａｌ Ｒｅａｌｉｔｙ Ｍａｒｋｕｐ Ｌａｎｇｕａｇｅ)に基づき機能拡張及びバイナリ化を行ったＢＩＦＳ（Ｂｉｎａｒｙ Ｆｏｒｍａｔ ｆｏｒ Ｓｃｅｎｅ ｄｅｓｃｒｉｐｔｉｏｎ）が採用されている。
【０００６】
また、本規格では、上記図９に示したようなシーン記述とは別に、オブジェクトディスクリプタ（以下、「ＯＤ」と言う）と呼ばれる、各オブジェクトの属性を示すデータが定義される。
ここでの属性とは、メディアの属性（ビデオ、オーディオ、イメージ等）や、著作権者情報、ＱｏＳ（Ｑｕａｌｉｔｙ Ｏｆ Ｓｅｒｖｉｃｅ）情報、コンテンツのレーティング情報等を示す。
このような属性自体が、それぞれ個々のディスクリプタとして、ＯＤの中に内包される。
【０００７】
図１０は、本規格に従ったビットストリーム全体の一例を示したものである。上記図１０において、“５０１”は、初期オブジェクトディスクリプタであり、ビットストリーム全体のプロパティ（ビットストリームのプロファイル等）が格納される。
“５０２”は、ＢＩＦＳストリームであり、シーン情報が格納される。
【０００８】
“５０３”及び“５０６は、ＯＤであり、上記図１０でのビットストリームでは、２つのＯＤ１（５０３），ＯＤ２（５０６）を有するものとしている。
ＯＤ５０３，５０６の後には、オブジェクトの属性が記述される。すなわち、ＯＤ１（５０３），ＯＤ２（５０６）に続いて、各メディアストリーム（以下、「エレメンタリーストリーム」とも言う）ＥＳ１，ＥＳ２の属性を示すエレメンタリーストリームディスクリプタ（以下、「ＥＳＤ」と言う）が複数記述可能となっている。
上記図１０では、ＯＤ１（５０３）の後にＥＳＤ１（５０４）が記述され、ＯＤ２（５０６）の後にＥＳＤ２（５０７）が記述されている。
【０００９】
また、エレメンタリーストリームＥＳ１，ＥＳ２については、実際にはパケッタイズされ、「Ｓｙｎｃ Ｌａｙｅｒ Ｐａｃｋｅｔ」（以下、「ＳＬパケット」と言う）として扱われるため、上記図１０に示すように、当該ＳＬパケットの構造を記述するためのＳＬＣｏｎｆｉｇのディスクリプタ５０５，５０８がＥＳＤ１（５０４），ＥＳＤ２（５０７）のそれぞれに対して付加される。
【００１０】
上述したＯＤ及びＥＳＤのディスクリプタはそれぞれ、上記図１０に示したビットストリームにおいて、各エレメンタリーストリームＥＳ１，ＥＳ２の前の先頭に設置する必要がある。
ただし、ＯＤ及びＥＳＤはそれぞれ、ビットストリームの途中にアップデートコマンドを挿入することによって、追加、削除、及び変更が可能となっている。
【００１１】
また、本規格では、ＯＤ及びＥＳごとに、著作権管理情報やアクセス制御情報等のセキュリティ情報を付加することが可能になっている。この情報は、ＩＰＭＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ Ｐｒｏｐｅｒｔｙ Ｍａｎａｇｅｍｅｎｔ ａｎｄ Ｐｒｏｔｅｃｔｉｏｎ）情報と呼ばれている。
ＩＰＭＰ情報についても、ＩＰＭＰディスクリプタと称されるディスクリプタにおいてその詳細が記述される。
実際には、アクセス制御として暗号が使用される場合が多いが、ＩＰＭＰの方式（ディスクリプタのシンタックス）は特定されておらず、フリーシンタックスとなっている。また、ＲＡ（Ｒｅｇｉｓｔｒａｔｉｏｎ Ａｕｔｈｏｒｉｔｙ)に登録されたＩＰＭＰのセキュリティのタイプ番号のみを記述するようになっている。
【００１２】
ＩＰＭＰディスクリプタによって記述されたＩＰＭＰ情報自体は、ＩＰＭＰのセキュリティのタイプ番号でリンクすることによって、ＩＰＭＰ用のエレメンタリーストリームＥＳ（以下、「ＩＰＭＰ−ＥＳ」と言う）を付加することが可能となっている。
図１１は、この場合のビットストリーム全体の一例を示したものである。
上記図１１では、ＩＰＭＰ１（５１０）及びＩＰＭＰ２（５１２）がそれぞれ、エレメンタリーストリームＥＳ１（５０９），ＥＳ２（５１１）に対するＩＰＭＰ−ＥＳとなっている。
【００１３】
図１２は、ＩＰＭＰディスクリプタの一例を示したものである。
上記図１２において、“６０１”は、ディスクリプタ・タグ（ＴＡＧ）であり、ディスクリプタの種類を示す。
“６０２”は、レングスフィールド（ＬＥＮＧＴＨ）であり、ディスクリプタ全体の長さ（バイト数）を示す。
“６０３”は、ディスクリプタＩＤであり、ディスクリプタ自体の識別子が格納される。
“６０４”は、上述したセキュリティのタイプ番号（ＩＰＭＰＳ＿ｔｙｐｅ）である。
“６０５”は、オプションフィールド（Ｏｐｔｉｏｎ）であり、ＩＰＭＰに付随するデータを適宜挿入することができるようになされている。また、オプションフィールド６０５内のシンタックスが自由になっている。また、上記付随データは、オプションフィールド６０５にＵＲＬで示すことも可能となっている。
【００１４】
上述したＩＰＭＰのディスクリプタについても、上記図１１に示したビットストリームにおいて、各エレメンタリーストリームＥＳ１，ＥＳ２の前の先頭に設置する必要がある。
ただし、ＩＰＭＰのディスクリプタは、ビットストリームの途中にアップデートコマンドを挿入することによって、追加、削除、及び変更が可能となっている。
上記図１１では、ＩＰＭＰ情報をアップデートする場合のコマンド５１３を１ヶ所含んだビットストリームの一例を示している。
【００１５】
図１３は、上述したようなビットストリームを生成するためのエンコーダ７００の一例を示したものである。
上記図１３において、“７０１”は、オブジェクトディスクリプタ生成器であり、上述したようなディスクリプタをビットストリームのプロパティに応じて適宜生成する。
“７０２”は、メディアエンコーダであり、ビデオやオーディオ等のデータをエンコード（符号化）する。
“７０３”は、ＩＰＭＰコントローラである。
“７０４”は、ＢＩＦＳエンコーダであり、シーン情報をバイナリ化する。
“７０５”は、必要に応じて設けられるアップデートコントローラであり、ＯＤ、ＥＳＤ、及びＩＰＭＰのディスクリプタ等のプロパティを更新するためのコマンドを挿入する。
“７０６”は、マルチプレクサであり、各ディスクリプタや、メディアストリームを最終的に１つのＳＬパケットとしてマルチプレクスする。
【００１６】
図１４は、上記図１３のエンコーダ７００で得られたビットストリームをデコード（再生）するデコーダ８００の一例を示したものである。
上記図１４において、“８０１”は、デマルチプレクサであり、入力されたビットストリームから各ディスクリプタ及びＥＳ等を分離する。
“８０３”は、ディスクリプタパーサであり、ディスクリプタのタグ情報によって当該ディスクリプタの種類を判別し、当該ディスクリプタの内容を解読し、適宜各部に設定する。
“８０４”は、ＢＩＦＳデコーダであり、バイナリ化されたＢＩＦＳをデコードし、シーン構造を再構築する。
“８０５”は、メディアデコーダであり、ビデオやオーディオ、或はイメージ等のメディアデコーダをデコードする。
“８０７”は、レンダラであり、シーン構造に従って各オブジェクトを適宜表示、又は再生する。
“８０６”は、ＩＰＭＰコントローラであり、ＩＰＭＰディスクリプタ及びＩＰＭＰ＿ＥＳの情報に従って、メディアの再生制御（再生制限、効果制御等）を行う。例えば、データに暗号がかけられているような場合には、当該暗号を解読してから、メディアデコーダ８０５にデータを転送する。
“８０２”は、同期コントローラであり、各メディア間の同期制御を行う。
【００１７】
尚、上記図１３のエンコーダ７００側から上記図１４のデコーダ８００側へのデータ転送方法については特記しないが、ネットワーク上の伝送の場合には、全て１本のビットストリームとして、同一セッションにて送受信されるのが一般的である。
【００１８】
【発明が解決しようとする課題】
しかしながら、上記図１３に示した従来のエンコーダ７００側から、上記図１４に示した従来のデコーダ（再生器）８００側に対して、例えば、ネットワークを介してデータを送信する場合、全て１本のビットストリームとして同一セッションで送信され、当該ビットストリームの通信路又は通信手段としてのネットワーク以外に、他の通信路又は通信手段が存在しないため、ビットストリームの受信側であるデコーダ８００の能力（受信可能なビットレートの上限に代表される処理能力）のネゴシエーションや、伝送課程で生じたエラーに起因する不具合の通知、ビットストリームの再送要求、随時変化する通信路又は通信手段のトラフィックによりデコーダ８００側で生じるバッファーアンダーラン等の不具合の通知、再送要求等を行うことが不可能であった。
また、上述したＩＰＭＰディスクリプタを含むＩＰＭＰ＿ＥＳには、エラー訂正機能がないため、任意の有償コンテンツ（ビデオやオーディオ等の有償のメディアデータ）に伴うＩＰＭＰ＿ＥＳ（上記図１２参照）にエラーが生じた場合、ＩＰＭＰディスクリプタ以降のデータが全て無効となり、この状態が次のＩＰＭＰディスクリプタを受信するまで続くという致命的な問題があった。
【００１９】
そこで、本発明は、前記の欠点を除去するために成されたもので、データ伝送と共に、当該データ伝送で生じる要求及び応答等をデータの送信側と受信側の間で行えるように構成することで、効率的なデータ伝送が行えるデータ処理装置、データ処理方法及びそれを実施するための処理ステップをコンピュータが読出可能に格納した記憶媒体を提供することを目的とする。
【００２０】
【課題を解決するための手段】
斯かる目的下において、本発明のデータ処理方法は、それぞれが任意のサイズに分割された符号化データと、前記符号化データに関する任意の固有情報を含むヘッダとを連結して、一連のビットストリームを構成し、前記ビットストリームを第１の通信路を介して伝送するデータ処理方法であって、少なくとも前記ビットストリームの伝送に関する情報を第２の通信路を介して受信側から受信する受信ステップと、前記受信ステップにより得られた受信情報に基づいて、前記ビットストリームの伝送を制御する制御ステップとを含むことを特徴とする。
【００２１】
また、本発明のデータ処理方法は、複数の伝送プロトコルの中の任意の伝送プロトコルによって、少なくとも１つ以上の相互に独立な複数の符号化データを内包した任意のビットストリームを第１の通信路を介して受信して、前記相互に独立な複数の符号化データをそれぞれ独立に復号するためのデータ処理方法であって、少なくとも前記ビットストリームの伝送に関する情報を第２の通信路を介して前記ビットストリームの送信側へ送信する送信ステップを含むことを特徴とする。
【００２２】
また、本発明のデータ処理方法は、複数の相互に異なる伝送プロトコルの中の任意の伝送プロトコルによって、連続したビットストリームを送信するためのデータ処理方法であって、前記ビットストリームの任意の領域を任意の伝送プロトコルに従ってエンコードして送信する送信ステップと、前記ビットストリームの通信路とは独立した通信路を介して外部より受信した情報に応じて前記ビットストリームにおける任意の部分の伝送プロトコルを変更する変更ステップと、前記外部より受信した情報に応じて前記ビットストリームの既に送信済みの部分を次のビットストリームに結合して再送する再送ステップとを含むことを特徴とする。
【００２３】
また、本発明のデータ処理装置は、それぞれが任意のサイズに分割された符号化データと、前記符号化データに関する任意の固有情報を含むヘッダとを連結して、一連のビットストリームを構成し、前記ビットストリームを第１の通信路を介して伝送するデータ処理装置であって、少なくとも前記ビットストリームの伝送に関する情報を第２の通信路を介して受信側から受信する受信手段と、前記受信手段により得られた受信情報に基づいて、前記ビットストリームの伝送を制御する制御手段とを有することを特徴とする。
【００２４】
また、本発明のデータ処理装置は、複数の伝送プロトコルの中の任意の伝送プロトコルによって、少なくとも１つ以上の相互に独立な複数の符号化データを内包した任意のビットストリームを第１の通信路を介して受信する受信手段と、前記受信手段により受信されたビットストリーム中の前記相互に独立な複数の符号化データをそれぞれ独立に復号する復号手段と、少なくとも前記ビットストリームの伝送に関する情報を第２の通信路を介して前記ビットストリームの送信側へ送信する送信手段とを有することを特徴とする。
【００２５】
また、本発明のデータ処理装置は、複数の相互に異なる伝送プロトコルの中の任意の伝送プロトコルによって、連続したビットストリームを送信するためのデータ処理装置であって、前記ビットストリームの任意の領域を任意の伝送プロトコルに従ってエンコードして送信する送信手段と、前記ビットストリームの通信路とは独立した通信路を介して外部より受信した情報に応じて前記ビットストリームにおける任意の部分の伝送プロトコルを変更する変更手段と、前記外部より受信した情報に応じて前記ビットストリームの既に送信済みの部分を次のビットストリームに結合して再送する再送手段とを有することを特徴とする。
【００３４】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。
【００３５】
（第１の実施の形態）
本発明は、例えば、図１に示すようなエンコーダ１００、及び図２に示すようなデコーダ２００を含むデータ処理システムに適用される。
本実施の形態のデータ処理システムは、上記図９〜図１２を用いて説明したような「ＩＳＯ／ＩＥＣ １４４９６（ＭＰＥＧ ｐｈａｓｅ４）」規格に準拠してデータ伝送を行うようになされている。
尚、本実施の形態では、その一例として、エンコーダ１００からデコーダ２００へのデータ伝送方法は任意であり、ネットワークを介して伝送する場合は、全て１本のビットストリームとして同一セッションにて伝送されるものとする。
【００３６】
エンコーダ１００は、上記図１に示すように、ＯＤ生成部１０１、メディアエンコーダ１０２、ＩＰＭＰ制御部１０３、ＢＩＦＳエンコーダ１０４、アップデートコントローラ１０５、及びマルチプレクサ１０６を備えている。
【００３７】
メディアエンコーダ１０２は、イメージやビデオ、オーディオ、及びその他のマルチメディア等のメディアデータ（コンテンツ）を符号化（圧縮）して出力する。
ＯＤ生成部１０１は、メディアエンコーダ１０２で処理対象となっているメディアデータの属性情報を符号化して、当該符号化データをＯＤとして出力する。ＢＩＦＳエンコーダ１０４は、メディアエンコーダ１０５で処理対象となっているメディアデータで構成されるシーン（上記図４参照）の情報を符号化して出力する。
【００３８】
ＩＰＭＰコントローラ１０３は、メディアエンコーダ１０２で符号化される各種メディアデータ（コンテンツ）に対するＩＰＭＰディスクリプタ及びＩＰＭＰ＿ＥＳ等のセキュリティ情報を生成すると共に、当該コンテンツに対して独立に暗号化処理を施す。
尚、メディアエンコーダ１０２で取り扱うコンテンツに対する著作権保護を必要としない場合は、この限りではない。
【００３９】
アップデートコントローラ１０５は、必要に応じて設けられるアップデートコントローラであり、ＯＤ、ＥＳＤ、及びＩＰＭＰのディスクリプタ等のプロパティを更新するためのコマンドをビットストリーム内に挿入する。
【００４０】
マルチプレクサ１０６は、ＯＤ生成部１０１、ＢＩＦＳエンコーダ１０４、ＩＰＭＰ制御部１０３、及びメディアエンコーダ１０２の各出力をマルチプレクスして、上記図１０や図１１に示したような１本のビットストリームへとまとめて出力する。
このとき、マルチプレクサ１０６は、マルチプレクスするデータの同期制御も行う。具体的には例えば、タイプスタンプやクロックリファレンスを、ビットストリームのパケットの中に埋めこむ。これにより、ＳＬパケッタイズされたビットストリームが完成する。
【００４１】
一方、デコーダ２００は、上記図２に示すように、デマルチプレクサ２０１、同期制御部２０２、ディスクリプタパーサ２０３、ＢＩＦＳデコーダ２０４、メディアデコーダ２０５、ＩＰＭＰコントローラ２０６、及びレンダラ２０７を備えている。
【００４２】
デマルチプレクサ２０１は、エンコーダ１００から送信されてきたビットストリームから、ＩＰＭＰディスクリプタ、ＩＰＭＰ＿ＥＳ、ＯＤ、ＢＩＦＳ、及びＡ／Ｖ（オーディオ／ビデオ）のビットストリーム等の各ディスクリプタ及び各ビットストリームを分離する。
【００４３】
ディスクリプタパーサ２０３は、デマルチプレクサ２０１により得られた各ディスクリプタのそれぞれについて、そのタグ情報によりディスクリプタの種類を判別してディスクリプタの内容を解読し、その解読結果に基づいて、デコーダ２００に必要な各情報を適宜セットする。
メディアデコーダ２０５は、デマルチプレクサ２０１で得られたＡ／Ｖのビットストリーム（イメージやビデオ、オーディオ等のメディアストリーム）をデコードする。
このとき、同期制御部２０２は、メディアデコーダ２０５で処理される各種メディア間の同期を司る。
ＢＩＦＳデコーダ２０４は、デマルチプレクサ２０１で得られたＢＩＦＳのビットストリームをデコードして、ＢＩＦＳの情報に基づいて、メディアデコーダ１１７で得られた各種メディアデータからシーンを再構築する。
【００４４】
レンダラ２０７は、ＢＩＦＳデコーダ２０４により得られたシーン構造に従って各オブジェクトを適宜表示したり再生したりする。
【００４５】
ＩＰＭＰコントローラ２０６は、デマルチプレクサ２０１で得られたＩＰＭＰディスクリプタ及びＩＰＭＰ＿ＥＳに基づいて、メディアデコーダ２０５やレンダラ２０７を制御（メディアの再生制限や効果制御等）する。
例えば、データに暗号がかけられているような場合には、当該暗号を解読してから、メディアデコーダ２０５にデータを転送する。
【００４６】
ここで、本実施の形態の最も特徴とする構成は、上記図１及び図２に示すように、エンコーダ１００とデコーダ２００間のハンドシェイク専用の外部通信路（バック・チャネル）３００を設けた構成にある。
また、エンコーダ１００のＩＰＭＰコントローラ１０３と、デコーダ２００のＩＰＭＰコントローラ２０６とのそれぞれにハンドシェイク機能を持たせている。
【００４７】
そこで、まず、エンコーダ１００のＩＰＭＰコントローラ１０３は、外部通信路３００と接続されており、例えば、ネットワーク上の外部装置（ここでは、デコーダ２００とする）との双方向通信機能を有し、次の機能１〜３を発揮することが可能なように構成されている。
【００４８】
（機能１）
デコーダ２００（受信側）に対して性能情報送信リクエストを外部通信路３００を介して送信することで、デコーダ２００の処理能力に関する情報（性能情報）を外部通信路３００を介して取得し、当該性能情報に基づき、メディアエンコーダ１０２に対して、その符号化レートを外部装置の処理能力に適合するレートとするための制御信号を出力する。
【００４９】
（機能２）
デコーダ２００から、デコーダ２００におけるエラー情報（欠落した受信データに関する情報）を外部通信路３００を介して受信し、又はデコーダ２００でのエラーにより欠落した受信データの再送要求信号を外部通信路３００を介して受信し、当該受信信号に対する任意の処理命令を出力する。
例えば、デコーダ２００からの再送要求信号により示されるデータの再送命令を、メディアエンコーダ１２０に対して出力する。これにより、欠落したデータが補間される。
【００５０】
（機能３）
デコーダ２００に対してビットストリームを送信するための通信路のトラフィックやエラー率に関する情報を外部通信路３００を介してデコーダ２００から受信して、当該情報を総合的に判断して、伝送プロトコルの選択信号を出力する。
【００５１】
例えば、上記機能２により、次のような動作が実現される。
デコーダ２００において、受信したビットストリームのＩＰＭＰ＿ＥＳ（上記図１２参照）の一部（ディスクリプタ・タグ（ＴＡＧ）等）がエラーであった場合、これ以降の情報（ＥＳ１，ＥＳ２等）が正常であっても無効（デコード不能）となるため、ＩＰＭＰコントローラ２０６は、エンコーダ１００のＩＰＭＰコントローラ１０３に対して、ＩＰＭＰ＿ＥＳの再送要求信号を外部通信路３００を介して発信する。
これを受けたエンコーダ１００のＩＰＭＰコントローラ１０３は、デコーダ２００のＩＰＭＰコントローラ２０６からの再送要求信号に対する処理命令（再送命令）を出力する。これにより、メディアエンコーダ１０２は、ＩＰＭＰ＿ＥＳを再送するための処理を行う。
したがって、デコーダ２００に対してＩＰＭＰ＿ＥＳが再送（Ｕｐｄａｔｅ）され、上記エラーによるデコード不能が回避されることになる。
【００５２】
尚、ＩＰＭＰ＿ＥＳの再送方法としては、当該ＩＰＭＰ＿ＥＳを次のビットストリームに結合して再送する方法等が挙げられる。
【００５３】
また、エンコーダ１００のＩＰＭＰコントローラ１０３は、上述したようなＩＰＭＰ＿ＥＳ等の欠落が許されない重要なデータに関しては、ＴＣＰ／ＩＰ等のような伝送速度を犠牲にしても見かけ上がエラーフリーとなる伝送プロトコルを選択し、その他のデータに関しては、伝送速度重視のＲＴＰ等の伝送プロトコルを選択する、という一連のビットストリーム（上記図１１参照）を部分的に異なる複数の伝送プロトコルを使用することも可能なように構成されている。
【００５４】
また、例えば、ＩＰＭＰコントローラ１０３は、ＩＰＭＰ＿ＥＳをＴＣＰ／ＩＰによって伝送し、その他をＲＴＰで固定して伝送するという伝送方式や、通常はビットストリーム全体をＲＴＰで伝送し、上述したようなエラーの発生頻度に応じてＩＰＭＰ＿ＥＳのみ伝送プロトコルをＴＣＰ／ＩＰに変更するという伝送方式をとることも可能なように構成されている。
【００５５】
一方のデコーダ２００のＩＰＭＰコントローラ２０６は、ビットストリームの送信側（ここでは、エンコーダ１００とする）からの要求に対して、デコーダ２００の処理能力に関する情報を、外部通信路３００を介して返信する。
また、ＩＰＭＰコントローラ２０６は、デコーダ２００でエラーが発生した場合、エンコーダ１００に対してエラー発生の通知を外部通信路３００を介して行う。
また、ＩＰＭＰコントローラ２０６は、エンコーダ１００に対して、上記エラー発生に対応したエラー部分の再送要求信号を、外部通信路３００を介して送信する。
【００５６】
上述のように、本実施の形態では、エンコーダ１００とデコーダ２００間に、エンコーダ１００とデコーダ２００間のハンドシェイク専用の外部通信路（バック・チャネル）３００を設け、エンコーダ１００とデコーダ２００のそれぞれにハンドシェイク機能を持たせるように構成したので、デコーダ２００は、デコーダ２００にて発生したエラー（ビットレートの過不足等）をエンコーダ１００へ通知することができ、また、デコーダ２００が有するバッファの空き容量等を通知することもでき、さらにはエンコーダ１００から受信したデータのエラー検出情報やエラー部分の再送要求や、送受信相互のネゴシエーションを行うためのデコーダ２００の処理能力に関する情報等をエンコーダ１００へ送信することができる。一方、エンコーダ１００は、デコーダ２００に対する処理能力情報の要求や、当該要求に対する応答（デコーダ２００の処理能力情報）を受信し、この受信情報に基づいて、ビットレートや伝送プロトコル等の条件を設定したり、デコーダ２００からのエラー情報や特定部分の再送要求を受信して、当該受信情報に基づいて、任意の処理（対処）を行う等の対応をとることができる。
したがって、エンコーダ１００とデコーダ２００間で、ビットストリームの伝送速度を低下させることなく、ビットストリームに含まれる全ての情報を
破綻することなく、ネットワークを介して伝送することができる。
【００５７】
（他の実施の形態）
本発明は、第１の実施の形態に限られることはなく、次のような実施の形態（１）〜（４）にも含まれる。
【００５８】
（１）第１の実施の形態において、エンコーダ１００のＩＰＭＰコントローラ１０３による複数の伝送プロトコルの中からの実際に用いる伝送プロトコルの選択については、例えば、ビットストリームを構成する各パケットのヘッダ部に優先度を設定し、当該優先度に基づいて、複数の伝送プロトコルの中から実際に用いる伝送プロトコルを選択するように構成してもよい。
この場合、エンコーダ１００のＩＰＭＰコントローラ１０３は、図３に示すように、ビットストリームを構成する各パケットのそれぞれについてそのヘッダ部にパケット内容に応じて優先度を設定する優先度設定部１１２と、優先度設定部１１２を介したビットストリームを構成する各パケットのヘッダ部に設定された優先度に基づき複数の伝送プロトコル１１１（１），１１１（２），…，１１１（ｎ）…の中から１つの伝送プロトコルを選択するプロトコル選択部１１３とを備えることになる。
【００５９】
（２）例えば、デコーダ２００のＩＰＭＰコントローラ２０６の構成を、図４に示すように、受信ビットストリームのエラー発生頻度（エラー率）を管理するエラー管理部２２１と、受信ビットストリームに関するビットレート（単位時間あたりの符号量又はその変化）を管理するレート管理部２２２と、エラー管理部２２１及びレート管理部２２２の管理情報をエンコーダ１００に対して外部通信部３００を介して送信したり、エラー管理部２２１及びレート管理部２２２の管理情報に基づきビットストリームの任意の一部分に対する伝送プロトコルを変更又は指定するためのリクエスト情報（指定情報）をエンコーダ１００に対して外部通信部３００を介して送信したりする送信部２２３とを備える構成とし、エンコーダ１００のプロトコル選択部１１３（上記図３参照）が、デコーダ２００のリクエスト送信部２２３からのリクエスト情報に基づき複数の伝送プロトコル１１１（１），１１１（２），…，１１１（ｎ）…の中から１つの伝送プロトコルを選択するように構成してもよい。
【００６０】
具体的には、デコーダ２００のＩＰＭＰコントローラ２０６の構成が上記図４の構成である場合、エンコーダ１００は、例えば、図５に示すフローチャートに従って動作することになる。
【００６１】
先ず、ＩＰＭＰコントローラ１０３は、デコーダ２００からのデータの受信があるか否か、当該受信があれば当該受信情報がコンディション情報（エラー率の情報や、再送要求等）であるか指定情報（伝送プロトコルの指定の情報）であるかを判別する（ステップＳ３０１）。
この判別の結果、受信無しの場合は次のステップＳ３０２に進み、指定情報が受信された場合は後述するステップＳ３０３へ進み、コンディション情報が受信入力された場合は後述するステップＳ３０５へ進む。
【００６２】
ステップＳ３０１の判別の結果、デコーダ２００からのデータの受信が無い場合、ＩＰＭＰコントローラ１０３は、複数の伝送プロトコルの中から、デコーダ２００へのビットストリームの伝送に用いる伝送プロトコルとして、デフォルトの伝送プロトコルを選択して設定する（ステップＳ３０２）。
その後、後述するステップＳ３１０へ進む。
【００６３】
ステップＳ３０１の判別の結果、デコーダ２００からの指定情報が受信された場合、ＩＰＭＰコントローラ１０３は、当該指定情報に従って、デコーダ２００へ伝送するビットストリームを分割し（ステップＳ３０３）、当該分割データ毎に、複数の伝送プロトコルの中から該当する伝送プロトコルを選択して設定する（ステップＳ３０４）。
その後、後述するステップＳ３１０へ進む。
【００６４】
ステップＳ３０１の判別の結果、デコーダ２００からのコンディション情報が受信された場合、ＩＰＭＰコントローラ１０３は、当該コンディション情報が、エラー率情報であるか再送要求であるかを判別する（ステップＳ３０５）。
この判別の結果、エラー率情報である場合には次のステップＳ３０６へ進み、再送要求である場合には後述するステップＳ３０７へ進む。
【００６５】
ステップＳ３０５の判別の結果、エラー率情報である場合、ＩＰＭＰコントローラ１０３は、当該エラー率（ＥｒｒｏｒＲａｔｅ）が、予め設定されたしきい値（ＴＨ）よりも大きいか否かを判別する（ステップＳ３０６）。
この判別の結果、「ＥｒｒｏｒＲａｔｅ＞ＴＨ」である場合、上述したステップＳ３０３へ進み、「ＥｒｒｏｒＲａｔｅ＞ＴＨ」でない場合、上述したステップＳ３０２へ進む。
【００６６】
ステップＳ３０５の判別の結果、再送要求である場合、ＩＰＭＰコントローラ１０３は、当該再送要求により示されるデータを再度取得し（ステップＳ３０７）、当該データをビットストリームに組み込む（ステップＳ３０８）。
そして、ＩＰＭＰコントローラ１０３は、ステップＳ３０８での再送用のデータの伝送プロトコルとして、複数の伝送プロトコルの中から該当する伝送プロトコルを選択して設定する（ステップＳ３０９）。
その後、次のステップＳ３１０へ進む。
【００６７】
ステップＳ３１０では、ステップＳ３０２、又はステップＳ３０４、又はステップＳ３０９にて設定された伝送プロトコルに従ったビットストリームの送信が行われる。
【００６８】
（３）第１の実施の形態では、エンコーダ１００に対する各種要求をデコーダ２００としているが、これに限られることはなく、任意の外部からの要求であってもよい。
【００６９】
（４）例えば、図６に示すように、エンコーダ１００に端末装置１０９を更に設けると共に、図７に示すように、デコーダ２００に端末装置２０９を更に設ける構成としてもよい。
この場合、エンコーダ１００のＩＰＭＰコントローラ１０３は、端末装置１０９からの入力に従って動作し、デコーダ２００のＩＰＭＰコントローラ２０６も同様に端末装置２０９からの入力に従って動作することになる。
【００７０】
尚、本発明の目的は、第１及び他の実施の形態のホスト及び端末の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読みだして実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が第１及び他の実施の形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することとなる。
プログラムコードを供給するための記憶媒体としては、ＲＯＭ、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード等を用いることができる。
また、コンピュータが読みだしたプログラムコードを実行することにより、第１及び他の実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ等が実際の処理の一部又は全部を行い、その処理によって第１及び他の実施の形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された拡張機能ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって第１及び他の実施の形態の機能が実現される場合も含まれることは言うまでもない。
【００７１】
図８は、上記コンピュータ９００の構成の一例を示したものである。
コンピュータ９００は、上記図８に示すように、ＣＰＵ９０１と、ＲＯＭ９０２と、ＲＡＭ９０３と、キーボード（ＫＢ）９０９のキーボードコントローラ（ＫＢＣ）９０５と、表示部としてのＣＲＴディスプレイ（ＣＲＴ）９１０のＣＲＴコントローラ（ＣＲＴＣ）９０６と、ハードディスク（ＨＤ）９１１及びフロッピーディスク（ＦＤ）９１２のディスクコントローラ（ＤＫＣ）９０７と、インターネット等のネットワーク９２０を介した伝送を行うためのネットワークインターフェースカード（ＮＩＣ）９０８とが、システムバス９０４を介して互いに通信可能に接続された構成としている。
【００７２】
ＣＰＵ９０１は、ＲＯＭ９０２或いはＨＤ９１１に記憶されたソフトウェア、或いはＦＤ９１２より供給されるソフトウェアを実行することで、システムバス９０４に接続された各構成部を総括的に制御する。
すなわち、ＣＰＵ９０１は、所定の処理プログラムを、ＲＯＭ９０２、或いはＨＤ９１１、或いはＦＤ９１２から読み出して実行することで、上述した第１及び他の実施の形態での動作を実施するための制御を行う。
【００７３】
ＲＡＭ９０３は、ＣＰＵ９０１の主メモリ或いはワークエリア等として機能する。
ＫＢＣ９０５は、ＫＢ９０９や図示していないポインティングデバイス等からの指示入力を制御する。
ＣＲＴＣ９０６は、ＣＲＴ９１０の表示を制御する。
ＤＫＣ９０７は、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイル、ネットワーク管理プログラム、及び上記処理プログラム等を記憶するＨＤ９１１及びＦＤ９１２とのアクセスを制御する。
ＮＩＣ９０８は、ネットワーク９２０上の各種装置或はシステムと双方向にデータをやりとりする。
【００７４】
【発明の効果】
以上説明したように本発明では、送信側と受信側間で、符号化データの伝送用の通信路（第１の通信路）とは異なる第２の通信路（送信側と受信側間のハンドシェイク専用のバックチャネル等）を介して、符号化データの伝送に関する情報を送受信するように構成した。
これにより、例えば、受信側は、受信側で発生したエラー（ビットレートの過不足等）を送信側へ通知することがき、また、受信側が有するバッファの空き容量等を通知することもでき、さらには送信側から受信した符号化データのエラー検出情報やエラー部分の再送要求や、送受信相互のネゴシエーションを行うための受信側の処理能力に関する情報等を送信側へ送信することができる。また、送信側は、受信側に対する処理能力情報の要求や、当該要求に対する応答（受信側の処理能力情報）を受信し、この受信情報に基づいて、ビットレートや伝送プロトコル等の条件を設定したり、受信側からのエラー情報や特定部分の再送要求を受信して、当該受信情報に基づいて、任意の処理（対処）を行う等の対応をとることができる。
したがって、本発明によれば、例えば、ＭＰＥＧ−４に於いてエラー訂正機能を持たないＩＰＭＰ＿ＥＳにエラーが生じた場合でも、第２の通信路としてのバックチャネルという双方向専用回線等を用いて、伝送プロトコルの選択やエラーデータの再送要求等が可能となるため、伝送速度を著しく低下させることなしに、ビットストリームに含まれる全データを第１の通信路（任意のネットワーク等）を介して破綻なしに伝送することが可能となる。
【図面の簡単な説明】
【図１】第１の実施の形態において、本発明を適用したエンコーダ（送信側）の構成を示すブロック図である。
【図２】第１の実施の形態において、本発明を適用したデコーダ（受信側）の構成を示すブロック図である。
【図３】他の実施の形態（１）において、上記エンコーダの主な構成の一例を示すブロック図である。
【図４】他の実施の形態（２）において、上記デコーダの主な構成の一例を示すブロック図である。
【図５】他の実施の形態（２）において、上記エンコーダの動作の一例を説明するための図ローチャートである。
【図６】他の実施の形態（４）において、上記エンコーダの構成を示すブロック図である。
【図７】他の実施の形態（４）において、上記デコーダの構成を示すブロック図である。
【図８】第１及び他の実施の形態の機能を実施するための処理プログラムを実行するコンピュータの構成の一例を示すブロック図である。
【図９】「ＩＳＯ／ＩＥＣ １４４９６（ＭＰＥＧ ｐｈａｓｅ４）」規格でのシーンの一例を説明するための図である。
【図１０】上記規格に準拠したビットストリームの一例を説明するための図である。
【図１１】上記ビットストリームのセキュリティ情報（ＩＰＭＰ）を説明するための図である。
【図１２】上記ＩＰＭＰディスクリプタを説明するための図である。
【図１３】従来のエンコーダの構成を示すブロック図である。
【図１４】従来のデコーダの構成を示すブロック図である。
【符号の説明】
１００  エンコーダ
１０１  オブジェクトディスクリプタ（ＯＤ）生成部
１０２  メディアエンコーダ
１０３  ＩＰＭＰコントローラ
１０４  ＢＩＦＳエンコーダ
１０５  アップデートコントローラ
１０６  マルチプレクサ
２００  デコーダ
２０１  デマルチプレクサ
２０２  同期制御部
２０３  ディスクリプタパーサ
２０４  ＢＩＦＳデコーダ
２０５  メディアデコーダ
２０６  ＩＰＭＰコントローラ
２０７  レンダラ
３００  外部通信部（バックチャネル）
【図１】
0003647366.tif 000002
【図２】
0003647366.tif 000003
【図３】
0003647366.tif 000004
【図４】
0003647366.tif 000005
【図５】
0003647366.tif 000006
【図６】
0003647366.tif 000007
【図７】
0003647366.tif 000008
【図８】
0003647366.tif 000009
【図９】
0003647366.tif 000010
【図１０】
0003647366.tif 000011
【図１１】
0003647366.tif 000012
【図１２】
0003647366.tif 000013
【図１３】
0003647366.tif 000014
【図１４】
0003647366.tif 000015