(57)【要約】【課題】  品質の悪いＩＰネットワークにおいてもアイソクロナス伝送を可能とし、ＩＰプロトコルのようなハンドシェイク型のプロトコルを用いずに高品質に通信する。【解決手段】  サーバ側通信制御装置２は送信元ＤＶＨＳ１から送られてくるアイソクロナス・パケットの順番を示す情報を付加情報として生成して送信元ＤＶＨＳから送られてくるアイソクロナス・パケットに付加して受信先ＤＶＨＳ５に中継すべきＩＰパケットに変換し、クライアント側通信制御装置４に送信する。クライアント側通信制御装置は受信したＩＰパケットを付加情報に基づいて元の順番に整列して受信先ＤＶＨＳに中継すべきアイソクロナス・パケットに変換する。【選択図】  図１
2005341367.tif 000002
【特許請求の範囲】
【請求項１】
送信元機器と受信先機器とをそれぞれＩＥＥＥ１３９４規格に基づくＩＥＥＥ１３９４シリアルバスとインターネットプロトコルに基づくＩＰネットワークとを介して中継接続する通信制御装置であって、
前記送信元機器から前記ＩＥＥＥ１３９４シリアルバスを介して供給されるアイソクロナス・パケットの順番を示す情報を付加情報として生成する付加情報生成手段と、
前記生成された付加情報を前記アイソクロナス・パケットに付加し、前記インターネットプロトコルに基づくＩＰパケットに変換するパケット変換手段とを、
有する構成とした通信制御装置。
【請求項２】
送信元機器と受信先機器とをそれぞれインターネットプロトコルに基づくＩＰネットワークとＩＥＥＥ１３９４規格に基づくＩＥＥＥ１３９４シリアルバスとを介して中継接続する通信制御装置であって、
前記送信元機器からアイソクロナス・パケットの順番を示す付加情報を含んだ前記インターネットプロトコルに基づくＩＰパケットを前記ＩＰネットワークを介して受信するＩＰパケット受信手段と、
前記受信したＩＰパケットを前記付加情報に基づいて元の順番に整列させるＩＰパケット整列手段と、
前記ＩＰパケット整列手段により整列された前記ＩＰパケットを受信先機器に中継すべきアイソクロナス・パケットに変換するパケット変換手段と、
前記パケット変換手段により変換されたアイソクロナス・パケットを前記ＩＥＥＥ１３９４シリアルバスを介して前記受信先機器に出力するアイソクロナス・パケット出力手段とを、
有する構成とした通信制御装置。
【請求項３】
送信元機器と受信先機器とをそれぞれＩＥＥＥ１３９４規格に基づくＩＥＥＥ１３９４シリアルバスとインターネットプロトコルに基づくＩＰネットワークとを介して中継接続する通信制御方法であって、
前記送信元機器から前記ＩＥＥＥ１３９４シリアルバスを介して供給されるアイソクロナス・パケットの順番を示す情報を付加情報として生成する付加情報生成ステップと、
前記生成された付加情報を前記アイソクロナス・パケットに付加し、前記インターネットプロトコルに基づくＩＰパケットに変換するパケット変換ステップとを、
有する通信制御方法。
【請求項４】
送信元機器と受信先機器とをそれぞれＩＥＥＥ１３９４規格に基づくＩＥＥＥ１３９４シリアルバスとインターネットプロトコルに基づくＩＰネットワークとを介して中継接続する通信制御装置であって、
前記送信元機器から前記ＩＥＥＥ１３９４シリアルバスを介して供給されるアイソクロナス・パケットがエンプティ・アイソクロナス・パケットか否かを判断するパケット判断手段と、
前記パケット判断手段によりエンプティ・アイソクロナス・パケットでないと判断されたアイソクロナス・パケットを前記受信先機器に中継すべき前記ＩＰパケットに変換し、エンプティ・アイソクロナス・パケットと判断されたアイソクロナス・パケットを前記ＩＰパケットに変換しないパケット変換手段とを、
有する構成とした通信制御装置。
【請求項５】
前記パケット変換手段は、前記パケット判断手段によりエンプティ・アイソクロナス・パケットと判断された場合に、前記エンプティ・アイソクロナス・パケットが存在することを示す付加情報を、そのパケット位置の前又は後において変換した前記ＩＰパケットに付加することを特徴とする請求項４に記載の通信制御装置。
【請求項６】
ＩＥＥＥ１３９４規格に対応する送信元機器からＩＥＥＥ１３９４シリアルバスを介して送られてくるアイソクロナス・パケットがエンプティ・アイソクロナス・パケットか否かを判断し、エンプティ・アイソクロナス・パケットでないと判断して変換したＩＰパケット、及びエンプティ・アイソクロナス・パケットと判断してＩＰパケットに変換せずに、エンプティ・アイソクロナス・パケットが存在することを示す付加情報をそのパケット位置の前又は後において付加した前記ＩＰパケットをＩＰネットワークを介して受信するＩＰパケット受信手段と、
前記受信したＩＰパケットを受信先機器に中継すべき前記アイソクロナス・パケットに変換するとともに、前記付加情報に基づいてエンプティ・アイソクロナス・パケットを生成するパケット変換手段と、
前記パケット変換手段により変換されたアイソクロナス・パケットを他のＩＥＥＥ１３９４シリアルバスを介して前記受信先機器に出力するアイソクロナス・パケット出力手段とを、
有する構成とした通信制御装置。
【請求項７】
ＩＥＥＥ１３９４規格に対応する送信元機器からＩＥＥＥ１３９４シリアルバスを介して送られてくるアイソクロナス・パケットをＩＰパケットに変換し、前記ＩＰパケットをＩＰネットワークを介して受信先機器に中継する通信制御方法において、
前記送信元機器から送られてくるアイソクロナス・パケットがエンプティ・アイソクロナス・パケットか否かを判断するパケット判断ステップと、
前記パケット判断ステップによりエンプティ・アイソクロナス・パケットと判断されたパケット数をカウントするステップと、
前記パケット判断ステップによりエンプティ・アイソクロナス・パケットでないと判断されたアイソクロナス・パケットを前記受信先機器に中継すべき前記ＩＰパケットに変換するとともに、前記エンプティ・アイソクロナス・パケットと判断されたパケット数を付加情報としてそのパケット位置の前又は後において変換した前記ＩＰパケットに付加するパケット変換ステップとを、
有する通信制御方法。
【請求項８】
ＩＥＥＥ１３９４規格に対応する送信元機器から第１のＩＥＥＥ１３９４シリアルバスを介して送られてくるアイソクロナス・パケットがエンプティ・アイソクロナス・パケットか否かを判断し、エンプティ・アイソクロナス・パケットでないと判断して変換したＩＰパケット、及びエンプティ・アイソクロナス・パケットと判断してＩＰパケットに変換せずにそのパケット数をそのパケット位置の前又は後において付加した前記ＩＰパケットをＩＰネットワークを介して受信するステップと、
前記受信したＩＰパケットを受信先機器に中継すべき前記アイソクロナス・パケットに変換するとともに、前記受信先機器に中継すべき前記パケット数分のエンプティ・アイソクロナス・パケットを生成するパケット変換ステップと、
前記パケット変換ステップにより変換されたアイソクロナス・パケットを他のＩＥＥＥ１３９４シリアルバスを介して前記受信先機器に出力するアイソクロナス・パケット出力ステップとを、
有する通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットプロトコルに基づくデータ伝送が可能なＩＰ（Internet Protocol）ネットワークとＩＥＥＥ１３９４規格に基づくＩＥＥＥ１３９４シリアルバスとの間でデータ伝送を中継する通信制御装置に関し、例えばビデオデータなどのマルチメディアデータをＩＰネットワークを用いて配信するビデオ配信システムなどにおいて使用される通信制御装置及び通信制御方法に関する。
【背景技術】
【０００２】
近年のＡＶ機器のディジタル化に伴い、映像・音声データの伝送方法として、ＩＥＥＥ１３９４シリアルバスを搭載したＡＶ機器が増加している。従来は、映像・音声情報の機器間の伝送はアナログ信号形式で行われていたが、帯域保証や時間保証などの優れた特徴によりＩＥＥＥ１３９４シリアルバスの採用が進んでいる。また、ネットワーク技術の進展により、安価にネットワークを使用することも可能となった。ＩＥＥＥ１３９４シリアルバスは、優れた技術ではあるが、ネットワーク技術の進展に伴い、ＩＥＥＥ１３９４シリアルバス上を伝送される情報もネットワークを通じて伝送したいという要求が高まっている。
【０００３】
このような要求に応えるものとして、下記の特許文献１で開示された技術がある。これは、ＩＰネットワークとしてＡＴＭ（Asynchronous Transfer Mode）網を用い、通信制御装置が使用されたビデオ配信システムであり、通信制御装置はＩＥＥＥ１３９４シリアルバスとＩＰパケットの相互変換を行うものである。このシステムは、
１）ＩＥＥＥ１３９４を備えたＤＶ方式ディジタルＶＣＲからの映像情報をＩＥＥＥ１３９４シリアルバスのアイソクロナス・パケットとして受信し、第１の変換部でこのパケットをＩＰパケットに変換し、このＩＰパケットをＩＰネットワークに送出する。
２）ＩＰネットワークから受信した、ＩＰパケット化されたアイソクロナス・パケットを第２の変換部でアイソクロナス・パケットに変換し、このパケットをＩＥＥＥ１３９４シリアルバスに送出し、このアイソクロナス・パケットをＤＶ方式ディジタルＶＣＲで受信し、映像を再生する。
【０００４】
ここでは、ＩＰパケットとアイソクロナス・パケットとの間で対応付け及びパケット形式の変換を行うことにより、ＩＥＥＥ１３９４端末としてのＤＶ方式ディジタルＶＣＲのようなＩＰ層を有しない機器であっても、ＡＴＭ網のような広域ネットワークを介したビデオデータ配信を可能としている。さらに、ＩＥＥＥ１３９４端末としてのＤＶ方式ディジタルＶＣＲは、映像データをハードディスクなどに転送することなく直接ＶＣＲテープから読み込んで配信することが可能である。
【０００５】
また、ＩＰパケットを受信して、第２の変換部で変換されたアイソクロナス・パケットは、ＡＴＭ網側の伝送遅延や伝送間隔の変動などを吸収するために、いったんバッファメモリに蓄積される構成となっている。アイソクロナス・パケットの出力時には、アイソクロナス・パケットのデータ・ブロックの連続性を示すために使用されるＣＩＰヘッダのＤＢＣ値が不連続となることを防ぐため、ＤＢＣ値を新たに設定し、連続したＤＢＣ値となるように更新している。これにより、広域ネットワークのような伝送時間が保証されないネットワークと連続カウンタ情報を必要とするＩＥＥＥ１３９４機器との間でのビデオ配信を可能としている。
【特許文献１】特開２００１−２４６８７号公報（要約書）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
この通信制御装置では、ＴＣＰプロトコルと呼ばれる、再送処理などの機能を持つプロトコルを使用するため、ＩＰパケットの欠落などは発生しない。このため、これらの処理については開示されていない。また、再送処理などの機能を持たないＵＤＰプロトコルの使用も示されている（特許文献１の段落００５５）が、具体例は開示されていない。
【０００７】
一般的にＩＰネットワークの品質が良く、伝送遅延やＩＰパケットの欠落が少ない環境下では、ＴＣＰプロトコルのような再送処理などの機能を持つプロトコルでも有効に動作する。しかしながら、ＩＰネットワークの品質の劣化と共にＴＣＰプロトコルのデータの伝送、受信確認というハンドシェイク形式の伝送方法の欠点が表面化し、急速に伝送効率が低下する。このため、ＩＰネットワークの品質が劣る環境下でもアイソクロナス・パケットの伝送が可能な方法が必要とされている。
【０００８】
また、クライアント側の通信制御装置のアイソクロナス出力において、バッファ制御を行い、アイソクロナス出力の管理を行っている（特許文献１の段落００４７）。ここで、出力すべきアイソクロナス・パケットが存在しない状態について触れられているが、この際のアイソクロナス出力について具体的な方法が開示されていない（第１の問題点）。
【０００９】
ＩＥＥＥ１３９４シリアルバスのアイソクロナス転送においては、仕様上映像データなどが含まれないエンプティパケットが存在する。しかしながら、従来の通信制御装置では、エンプティパケットの取り扱いについては、特に開示されていない。エンプティパケットは、映像などのデータが含まれず、ＩＥＥＥ１３９４機器内で映像データなどをＩＥＥＥ１３９４シリアルバスへ転送する際に仕様上発生するものである。このデータが含まれていないアイソクロナス・パケットであるエンプティパケットについてもＩＰパケット化し、ＩＰネットワーク上を伝送することは、ネットワークの有効活用の観点から好ましくない（第２の問題点）。
【００１０】
本発明は上記第１の問題点に鑑み、品質の悪いＩＰネットワークにおいてもアイソクロナス伝送を可能とし、ＩＰプロトコルのようなハンドシェイク型のプロトコルを用いずに高品質に通信することができる通信制御装置及び通信制御方法を提供することを第１の目的とする。
また、本発明は上記第１の問題点に鑑み、クライアント側でのアイソクロナス出力において、出力すべきアイソクロナス・パケットが存在しない場合に最適な処理を行うことで、高品質に通信することができる通信制御装置を提供することを第２の目的とする。
また、本発明は上記第２の問題点に鑑み、ネットワーク帯域を有効に活用し、高品質に通信することができる通信制御装置及び通信制御方法を提供することを第３の目的とする。
【課題を解決するための手段】
【００１１】
本発明は上記第１の目的を達成するために、送信元機器と受信先機器とをそれぞれＩＥＥＥ１３９４規格に基づくＩＥＥＥ１３９４シリアルバスとインターネットプロトコルに基づくＩＰネットワークとを介して中継接続する通信制御装置であって、
前記送信元機器から前記ＩＥＥＥ１３９４シリアルバスを介して供給されるアイソクロナス・パケットの順番を示す情報を付加情報として生成する付加情報生成手段と、
前記生成された付加情報を前記アイソクロナス・パケットに付加し、前記インターネットプロトコルに基づくＩＰパケットに変換するパケット変換手段とを、
有する構成とした。
【００１２】
また本発明は上記第２の目的を達成するために、送信元機器と受信先機器とをそれぞれインターネットプロトコルに基づくＩＰネットワークとＩＥＥＥ１３９４規格に基づくＩＥＥＥ１３９４シリアルバスとを介して中継接続する通信制御装置であって、
前記送信元機器からアイソクロナス・パケットの順番を示す付加情報を含んだ前記インターネットプロトコルに基づくＩＰパケットを前記ＩＰネットワークを介して受信するＩＰパケット受信手段と、
前記受信したＩＰパケットを前記付加情報に基づいて元の順番に整列させるＩＰパケット整列手段と、
前記ＩＰパケット整列手段により整列された前記ＩＰパケットを受信先機器に中継すべきアイソクロナス・パケットに変換するパケット変換手段と、
前記パケット変換手段により変換されたアイソクロナス・パケットを前記ＩＥＥＥ１３９４シリアルバスを介して前記受信先機器に出力するアイソクロナス・パケット出力手段とを、
有する構成とした。
【００１３】
また本発明は上記第１の目的を達成するために、送信元機器と受信先機器とをそれぞれＩＥＥＥ１３９４規格に基づくＩＥＥＥ１３９４シリアルバスとインターネットプロトコルに基づくＩＰネットワークとを介して中継接続する通信制御方法であって、
前記送信元機器から前記ＩＥＥＥ１３９４シリアルバスを介して供給されるアイソクロナス・パケットの順番を示す情報を付加情報として生成する付加情報生成ステップと、
前記生成された付加情報を前記アイソクロナス・パケットに付加し、前記インターネットプロトコルに基づくＩＰパケットに変換するパケット変換ステップとを、
有する構成とした。
【００１４】
また本発明は上記第３の目的を達成するために、送信元機器と受信先機器とをそれぞれＩＥＥＥ１３９４規格に基づくＩＥＥＥ１３９４シリアルバスとインターネットプロトコルに基づくＩＰネットワークとを介して中継接続する通信制御装置であって、
前記送信元機器から前記ＩＥＥＥ１３９４シリアルバスを介して供給されるアイソクロナス・パケットがエンプティ・アイソクロナス・パケットか否かを判断するパケット判断手段と、
前記パケット判断手段によりエンプティ・アイソクロナス・パケットでないと判断されたアイソクロナス・パケットを前記受信先機器に中継すべき前記ＩＰパケットに変換し、エンプティ・アイソクロナス・パケットと判断されたアイソクロナス・パケットを前記ＩＰパケットに変換しないパケット変換手段とを、
有する構成とした。
【００１５】
また前記パケット変換手段は、前記パケット判断手段によりエンプティ・アイソクロナス・パケットと判断された場合に、前記エンプティ・アイソクロナス・パケットが存在することを示す付加情報をそのパケット位置の前又は後において変換した前記ＩＰパケットに付加することを特徴とする。
【００１６】
また本発明は上記第３の目的を達成するために、ＩＥＥＥ１３９４規格に対応する送信元機器からＩＥＥＥ１３９４シリアルバスを介して送られてくるアイソクロナス・パケットがエンプティ・アイソクロナス・パケットか否かを判断し、エンプティ・アイソクロナス・パケットでないと判断して変換したＩＰパケット、及びエンプティ・アイソクロナス・パケットと判断してＩＰパケットに変換せずに、エンプティ・アイソクロナス・パケットが存在することを示す付加情報をそのパケット位置の前又は後において付加したＩＰパケットをＩＰネットワークを介して受信するＩＰパケット受信手段と、
前記受信したＩＰパケットを受信先機器に中継すべき前記アイソクロナス・パケットに変換するとともに、前記付加情報に基づいてエンプティ・アイソクロナス・パケットを生成するパケット変換手段と、
前記パケット変換手段により変換されたアイソクロナス・パケットを第２のＩＥＥＥ１３９４シリアルバスを介して前記受信先機器に出力するアイソクロナス・パケット出力手段とを、
有する構成とした。
【００１７】
また本発明は上記第３の目的を達成するために、ＩＥＥＥ１３９４規格に対応する送信元機器からＩＥＥＥ１３９４シリアルバスを介して送られてくるアイソクロナス・パケットをＩＰパケットに変換し、前記ＩＰパケットをＩＰネットワークを介して受信先機器に中継する通信制御方法において、
前記送信元機器から送られてくるアイソクロナス・パケットがエンプティ・アイソクロナス・パケットか否かを判断するパケット判断ステップと、
前記パケット判断ステップによりエンプティ・アイソクロナス・パケットと判断されたパケット数をカウントするステップと、
前記パケット判断ステップによりエンプティ・アイソクロナス・パケットでないと判断されたアイソクロナス・パケットを前記受信先機器に中継すべき前記ＩＰパケットに変換するとともに、前記エンプティ・アイソクロナス・パケットと判断されたパケット数を付加情報としてそのパケット位置の前又は後において変換した前記ＩＰパケットに付加するパケット変換ステップとを、
有する構成とした。
【００１８】
また本発明は上記第３の目的を達成するために、ＩＥＥＥ１３９４規格に対応する送信元機器から第１のＩＥＥＥ１３９４シリアルバスを介して送られてくるアイソクロナス・パケットがエンプティ・アイソクロナス・パケットか否かを判断し、エンプティ・アイソクロナス・パケットでないと判断して変換したＩＰパケット、及びエンプティ・アイソクロナス・パケットと判断してＩＰパケットに変換せずにそのパケット数をそのパケット位置の前又は後において付加したＩＰパケットをＩＰネットワークを介して受信するステップと、
前記受信したＩＰパケットを受信先機器に中継すべき前記アイソクロナス・パケットに変換するとともに、前記受信先機器に中継すべき前記パケット数分のエンプティ・アイソクロナス・パケットを生成するパケット変換ステップと、
前記パケット変換ステップにより変換されたアイソクロナス・パケットを他のＩＥＥＥ１３９４シリアルバスを介して前記受信先機器に出力するアイソクロナス・パケット出力ステップとを、
有する構成とした。
【発明の効果】
【００１９】
本発明のパケット順を示す付加情報によれば、ＩＥＥＥ１３９４シリアルバスのアイソクロナス・パケットのフォーマットにかかわらず、アイソクロナス・パケットの欠落、重複、順序誤りの検出が可能となるので、品質の悪いＩＰネットワークにおいてもアイソクロナス伝送を可能とし、ＩＰプロトコルのようなハンドシェイク型のプロトコルを用いずに高品質に通信することができる。このため、サーバ側で伝送すべきアイソクロナス・パケットが存在しないときにエンプティ・アイソクロナス・パケットを伝送するようにすれば、ＩＰネットワーク上の伝送遅延や伝送間隔の変動を吸収するためのバッファメモリの機能の低下を防ぐことが可能となる。また、クライアント側からサーバ側に対して、欠落したアイソクロナス・パケットの再送を要求するように構成すれば、高品質な映像などの再生が可能となる。
【００２０】
また本発明のエンプティ・アイソクロナス・パケットの存在を示す付加情報によれば、ネットワーク帯域を有効に活用し、高品質に通信することができる。また、クライアント側では、エンプティ・アイソクロナス・パケットを再現することが可能なため、高品質な映像などの再生が可能となる。
【発明を実施するための最良の形態】
【００２１】
以下、図面を参照して本発明の実施の形態について説明する。
＜第１の実施の形態＞
図１は本発明の第１の実施の形態に係るＩＰ−ＩＥＥＥ１３９４通信制御装置（以下単に通信制御装置とも言う）２、４が使用されているビデオ配信システムの一例を示すブロック図である。第１の実施の形態では、ＩＥＥＥ１３９４搭載装置より出力される種々のアイソクロナス・パケットを高品質にＩＰネットワークによって通信できるようにするという目的を、サーバ側の通信制御装置２では、受信したアイソクロナス・パケットをＩＰパケットに変換する際に順序情報、若しくは時間情報を付加することで、クライアント側の通信制御装置４でのＩＰパケットの整列、欠落の検出を可能とし、クライアント側の通信制御装置４では、ＩＰパケット整列を行うとともに、欠落の検出結果により、欠落したＩＰパケットに対応するアイソクロナス・パケット出力時にエンプティ・アイソクロナス・パケットの生成を行い、ＩＥＥＥ１３９４シリアルバス７よりアイソクロナス・パケットとして出力することで高品質の映像・音声再生を実現した。
【００２２】
まず、第１の実施の形態において、後述するサーバ側のサブシステムで、ＩＥＥＥ１３９４シリアルバス６より受信したアイソクロナス・パケットを付加情報とともにＩＰパケットに変換する通信制御装置２について説明する。
【００２３】
本発明で使用するＩＥＥＥ１３９４シリアルバスでは、種々のデータが伝送可能だが、連続した映像・音声データの伝送には、アイソクロナス・パケットが用いられる。アイソクロナス・パケット伝送は、図２に示すように１２５μsecごとにサイクルマスターが送出するサイクルスタートパケットに同期して、アイソクロナス・パケットが伝送される。１回のサイクルで使用可能な時間、つまり、帯域をあらかじめ予約することと相まって、アイソクロナス伝送では、定められた遅延時間内での連続データの伝送を可能としている。このアイソクロナス・パケットのデータ・ブロック内には、ＭＰＥＧ２やＤＶ方式などのデータが収められ、受信側では、これを順次デコードすることで、再生映像を得ることが可能となっている。このとき、受信側では、ＩＥＥＥ１３９４シリアルバスを用いてアイソクロナス・パケットで伝送されるデータは、定められた遅延時間内に順次到達する前提でデコードするため、アイソクロナス・パケットの欠落や遅延、到達順変更などが起こるとデコードに失敗し、再生映像の停止やノイズ発生の原因となる。
【００２４】
第１の実施の形態では、これらを防止するため、サーバ側で付加情報を作成し、これをアイソクロナス・パケットに付加してＩＰパケット化し、クライアント側では、付加情報に基づき、アイソクロナス・パケットの欠落の検出、整列などを行うものである。
【００２５】
図１に示すビデオ配信システムでは、ＭＰＥＧ２形式のデータをＩＥＥＥ１３９４アイソクロナス・パケットで出力可能なＤ−ＶＨＳ方式のＶＴＲ（以下、ＤＶＨＳ）１と、第１のＩＰ−ＩＥＥＥ１３９４通信制御装置２と、第２のＩＰ−ＩＥＥＥ１３９４通信制御装置４と、ＭＰＥＧ２形式のＩＥＥＥ１３９４アイソクロナス・パケットを受信可能なＤＶＨＳ５とを備えている。通信制御装置２、４間のネットワーク接続をＬＡＮ３としているが、ＷＡＮなどの接続でも構わない。
【００２６】
このビデオ配信システムにおいて、第１のＩＰ−ＩＥＥＥ１３９４通信制御装置２とＤＶＨＳ１とはＩＥＥＥ１３９４シリアルバス６によって相互に接続されて１つのサブシステムを構成し、このサブシステムはビデオサーバとして機能する。第２のＩＰ−ＩＥＥＥ１３９４通信制御装置４とＤＶＨＳ５もＩＥＥＥ１３９４シリアルバス７によって相互に接続されて１つのサブシステムを構成し、このサブシステムはビデオクライアントとして機能する。そして、第１のＩＰ−ＩＥＥＥ１３９４通信制御装置２と第２のＩＰ−ＩＥＥＥ１３９４通信制御装置４とは共にＬＡＮ３に接続されている。なお、第１のＩＰ−ＩＥＥＥ１３９４通信制御装置２と第２のＩＰ−ＩＥＥＥ１３９４通信制御装置４は、同一セグメントに属し、それぞれ、“１９２．０．１．１”と“１９２．０．１．２”というＩＰアドレスが設定されている。
【００２７】
次にビデオサーバとして動作する第１のＩＰ−ＩＥＥＥ１３９４通信制御装置２における処理を説明する。図３は、ビデオサーバとして動作する第１のＩＰ−ＩＥＥＥ１３９４通信制御装置２のＩＥＥＥ１３９４シリアルバス６からＩＰ綱への中継機能を実現する部分の構成を示すブロック図である。始めにＤＶＨＳ１で、ＭＰＥＧ２形式で録画されたテープの再生を開始すると、ＩＥＥＥ１３９４シリアルバス６上にＭＰＥＧ２データがアイソクロナス・パケットとして順次出力される。これをアイソクロナスパケット受信部１０で順次受信し、バッファメモリ１１に蓄積する。ここで、受信されたアイソクロナス・パケットは、図４に示す構成となっている。アイソクロナス・パケットは、１３９４パケットヘッダとデータフィールド及び各々のＣＲＣで構成され、データフィールド内には、ＣＩＰ（Common Isochronous Packet）ヘッダとデータ・ブロックが収められている。このデータ・ブロック部分にはＭＰＥＧ２データなどが収められている。
【００２８】
次にアイソクロナス−ＩＰパケット変換部１２では、受信したアイソクロナス・パケットの宛先ＩＰアドレス（１９２．０．１．２）を設定するとともに付加情報生成部１４の情報に基づき付加情報を加えてＩＰパケットを生成する。付加情報としては、アイソクロナス・パケットをＩＰパケットに変換するごとに増加する整数値を使用することができる。この場合、付加情報生成部１４は、ＩＰパケットに変換するごとに１つ増加するカウンタで構成される。また、アイソクロナス・パケットが１２５μsecごとに伝送されることを利用して、ＩＥＥＥ１３９４シリアルバス６の時刻情報を付加情報として利用することも可能である。この時刻情報は、サイクルスタートパケット内、あるいはＤＶ、ＭＰＥＧ２のような伝送方式に応じた形式でアイソクロナス・パケットのデータ・ブロック内に収められている。この場合、付加情報生成部１４は、これらより時刻情報を取得するように構成される。このようにして生成された付加情報は、図５に示すようにアイソクロナス・パケットと共にＩＰパケットを構成する。ＩＰパケットの詳細については、ＲＦＣ７９１などで公開されている。続いて、生成されたＩＰパケットは、ＩＰパケット送受信部１３より順次ＩＰネットワークに送出される。
【００２９】
次に本発明で使用する付加情報と付加情報を利用したアイソクロナス・パケットの整列処理について説明する。図６はビデオクライアントとして動作する第２のＩＰ−ＩＥＥＥ１３９４通信制御装置４のＩＰ網からＩＥＥＥ１３９４シリアルバス７ヘの中継機能を実現する部分の構成を示すブロック図である。始めにビデオサーバ側の第１のＩＰ−ＩＥＥＥ１３９４通信制御装置２より出力されたＩＰパケットがＩＰパケット送受信部２０で受信される。受信されたＩＰパケットは、ＩＰパケット整列部２１で整列され、バッファメモリ２２に順次蓄積される。通常、ＩＰネットワーク上では、ＩＰパケットの伝送時間、伝送間隔の変動量は保証されていないが、所定数のＩＰパケットをバッファリングすることで対応することが可能となる。また、ＩＰネットワーク上を伝送されるＩＰパケットには、欠落、重複や伝送順序の変更が発生する場合もある。ＩＰパケット整列部２１では、ＩＰパケットより付加情報を読み出し、これに基づき、ＩＰパケットを本来の伝送順序に整列させることで、重複、順序誤りに対応する。
【００３０】
図７はこの動作を模式的に示したものである。図７（ａ）はサーバ側でアイソクロナス・パケットを受信し、付加情報を付加した状態を表したものである。ここでは、アイソクロナス・パケットを受信した順序を１〜１０の数字で示しているが、これは便宜的に付けたもので、アイソクロナス・パケット自体に含まれる情報ではない。また、付加情報についても、同様に１〜１０の数字で示しているが、アイソクロナス・パケットの受信順序を示す連続数値であれば構わない。
【００３１】
図７（ｂ）は図７（ａ）のアイソクロナス・パケットをＩＰパケット化し、ＩＰネットワーク上を伝送されたＩＰパケットをクライアント側で受信したときのＩＰパケットの状態を示す。ここでは、ＩＰパケットを受信した順序を１〜１０の数字で示しているが、これは便宜的に付けたものである。図７（ｂ）では、ＩＰパケット受信順序＝３、４でアイソクロナス・パケットの受信順序の逆転が発生し、また、ＩＰパケット受信順序＝９、１０でアイソクロナス・パケットは重複している。
【００３２】
図７（ｃ）はクライアント側のＩＰパケット整列部２１で、付加情報に従って整列されたＩＰパケットの状態を示し、これにより、図７（ｂ）に見られたアイソクロナス・パケットの順序の逆転は解消され、また、重複したアイソクロナス・パケットは削除されていることが分かる。また、付加情報＝６のアイソクロナス・パケットが図７（ｂ）のＩＰパケット受信順序＝１〜９間では到着していないことが判明する。ＩＰパケット整列部２１は、前記のように受信したＩＰパケットの整列、重複の削除、欠落の検出を繰り返し実行することで、アイソクロナス・パケットをサーバ側で送信した本来のデータ順序に保つように作用する。
【００３３】
次にＩＰ−アイソクロナスパケット変換部２３では、ＩＰパケットよりＩＰヘッダ、付加情報を取り去り、順次アイソクロナス・パケットヘと変換する。変換されたアイソクロナス・パケットは、アイソクロナスパケット送出部２４よりＩＥＥＥ１３９４シリアルバス７に順次出力される。このＩＥＥＥ１３９４シリアルバス７に出力されたアイソクロナス・パケットをＤＶＨＳ５で受信することで、ＤＶＨＳ５に接続された図示していない表示装置で、ＤＶＨＳ１から出力された映像が再生される。
【００３４】
次にクライアント側においてアイソクロナス・パケットをＩＥＥＥ１３９４シリアルバス７上に送出すベきタイミングで、該当するアイソクロナス・パケットが欠落している場合の処理について説明する。一般的にＩＰネットワーク上を伝送されるＩＰパケットの信頼性は高くなく、前述したようにＩＰパケットの欠落、重複、順序変更が発生する。これらについては既に説明した。また、ＩＰパケットの伝送時間や伝送間隔についても何ら保証されていない。このため、バッファメモリ２２を構成し、ＩＰパケット受信の際、所定の時間蓄積後にアイソクロナス・パケットを送出するように構成することで、伝送時間や伝送間隔の変動を吸収する。ここで、ＩＥＥＥ１３９４シリアルバス６、７上のアイソクロナス・パケットの伝送は、図２に示したように１２５μsecごとに連続して行われるものであり、クライアント側のＩＥＥＥ１３９４シリアルバス７ヘのアイソクロナス・パケットの出力も同様に行われる。このため、サーバ側で送出したアイソクロナス・パケットが伝送路上で欠落した場合は、バッファメモリ２２の蓄積アイソクロナス・パケット数が漸次減少し、伝送時間や伝送間隔の変動を吸収する機能が失われてゆくおそれがある。
【００３５】
通常、本発明のＩＰ−アイソクロナスパケット変換部２３では、ＩＰパケット整列部２１により整列された状態のＩＰパケット（図７の（ｃ））から、図５に示したＩＰヘッダ部分と付加情報部分を削除してアイソクロナス・パケットへの変換処理を行い、続いてアイソクロナスパケット送出部２４がアイソクロナス・パケットをＩＥＥＥ１３９４シリアルバス７ヘ送出する処理を行う。
【００３６】
しかし、前記変換時においてアイソクロナス・パケットの欠落（図７（ｃ）の付加情報＝６に相当する部分）がある場合には、ＩＰ−アイソクロナスパケット変換部２３で異なる処理を行う。この処理について図７を用いて説明する。通常、ＩＰ−アイソクロナスパケット変換部２３は、図７（ｃ）に示すように整列されたＩＰパケットを順次アイソクロナス・パケットに変換する処理を実行する。ＩＰ−アイソクロナスパケット変換部２３では、ＩＰパケットをバッファメモリ２２から取り出すとともに、その付加情報を調べ、順番通りのＩＰパケットであることを確認する。図７（ｃ）の例では、付加情報＝１〜５までは、ＩＰパケットの欠落はないので順番通りのアイソクロナス出力が可能である。さらに次のＩＰパケットの変換のためにバッファメモリ２２から取り出しを実行する。この際、付加情報＝６に相当するＩＰパケットは欠落しているためバッファメモリ２２に存在せず、取得したＩＰパケットの付加情報は７となっている。したがって、ＩＰ−アイソクロナスパケット変換部２３では、付加情報として５の次に７となるので、付加情報＝６のＩＰパケット１個が欠落していることを検出する。
【００３７】
この場合、まず、ＩＰ−アイソクロナスパケット変換部２３は、ＩＰパケットをアイソクロナス・パケットに変換する処理を行う際、バッファメモリ２２より取得した付加情報＝７のＩＰパケットよりＩＰヘッダ、付加情報を除去し、アイソクロナス・パケットの状態とする処理を行う。この後、変換したアイソクロナス・パケットのうち、図４に示したデータブロックを除去し、図４に示した１３９４パケット・ヘッダのデータ長の値を本来の値からデータブロックのバイト数分を減じた値としたアイソクロナス・パケットをＩＰパケットの欠落数分、生成し、アイソクロナスパケット送出部２４よりＩＥＥＥ１３９４シリアルバス７に出力する。ここでは、ＩＰパケットの欠落数は１であるので、１個のデータブロックの存在しないアイソクロナス・パケットが出力される。続いてＩＰ−アイソクロナスパケット変換部２３は、本来の付加情報＝７に対応するアイソクロナス・パケットを送出し、通常の動作に戻る。
【００３８】
ここで示したデータブロックの存在しないアイソクロナス・パケットは、いわゆるエンプティ・アイソクロナス・パケット（エンプティパケットとも言う）と呼ばれるものである。これにより、本来のアイソクロナス・パケットが存在しないため再生映像に影響を及ぼす可能性はあるが、バッファメモリ２２ヘのアイソクロナス・パケットの蓄積数の低下による伝送時間や伝送間隔の変動を吸収する機能の低下を防止することが可能となる。
【００３９】
本発明では、欠落したアイソクロナス・パケットを送出すべきタイミングで、エンプティパケットを送出するものとしている。この欠落したアイソクロナス・パケットを送出すベきタイミングのＩＥＥＥ１３９４シリアルバス７のアイソクロナス転送サイクルにおいてアイソクロナス・パケットの送出を行わない構成も考えられる。しかしながら、前述のようにアイソクロナス転送は１２５μsecごとに行われるため、アイソクロナス転送サイクルごとにアイソクロナス・パケットの送出の有無を制御することは困難であり、実現するためには専用の回路構成が必要なため、大幅なコストアップにつながる。また、ＩＥＣ６１８８３の規格上でも、送出すべきデータがない場合は、エンプティパケットを送出するよう定められている。このため、本発明では、エンプティパケットを送出する構成としている。
【００４０】
次に第１の実施の形態の通信制御方法について説明する。図８は第１の実施の形態の通信制御方法を実現する通信制御装置２、４のハードウェア構成を示したものである。ＣＰＵ３０はバス３４を介して、メモリ３１に記憶されているプログラムを読み出して実行し、通信制御を行う。イーサネット（登録商標）（Ethernet（登録商標））Ｉ／Ｆ３２、ＩＥＥＥ１３９４Ｉ／Ｆ３３も同様にバス３４に接続され、プログラムに従い、ＣＰＵ３０によりＩＰネットワーク、ＩＥＥＥ１３９４シリアルバス６、７とのデータの送受信が行われる。これらの外部との接続は、図１に示したものとなる。
【００４１】
始めにサーバ側の処理について説明する。図１では第１のＩＰ−ＩＥＥＥ１３９４通信制御装置２がサーバ側の装置に該当する。図９はサーバ側の処理を行うプログラムのフローチャートである。ステップＳ１で、ＣＰＵ３０はＩＥＥＥ１３９４シリアルバス６より受信するアイソクロナスチャンネルの設定を行う。チャンネルの値はＩＥＥＥ１３９４シリアルバス６を介してＤＶＨＳ１と通信を行い決定されたものや、ユーザが別途指定したものである。このチャンネルの値src_chは、ＣＰＵ３０によってメモリ３１に保存される。ステップＳ２では同様に送出ＩＰアドレスの設定が行われる。ここでは、クライアント側の第２の通信制御装置４のＩＰアドレスが設定され、ＣＰＵ３０によって送出ＩＰアドレスdts_addr＝１９２．０．１．２がメモリ３１に保存される。
【００４２】
ステップＳ３では付加情報Ｎの初期化が行われる。ここで、付加情報Ｎはアイソクロナス・パケット受信ごとに１ずつ増加する値である。この付加情報Ｎのビット数は、パケット欠落の検出精度に関わるものであるため、ＩＰネットワークの品質により決定する必要がある。ここでは、８ビットで構成する。この８ビットのデータ長は、アイソクロナス・パケットの毎秒の送出数（８０００個）から計算すると（２５６÷８０００＝０．０３２）、３２msecの時間に相当する。これより、８ビットのデータ長の付加情報Ｎは、３２msecを超える連続した欠落には対応できないことが分かる。ＣＰＵ３０は、８ビットのデータ長の付加情報Ｎ＝０をメモリ３１に保存する。
【００４３】
続いてステップＳ４で、ＣＰＵ３０はＩＥＥＥ１３９４Ｉ／Ｆ３３により受信されたアイソクロナス・パケットを取得し、メモリ３１に保存する。続いてステップＳ５で、ＣＰＵ３０は、メモリ３１に保存された１３９４アイソクロナス・パケットヘッダのチャンネルの値とメモリ３１に保存した受信アイソクロナスチャンネルの値src_chを比較する。比較の結果、値が異なる場合は、ＩＰパケットに変換すべきパケットではないので、再度、ステップＳ４に戻る。比較の結果、値が等しい場合は、ステップＳ６に進み、ＣＰＵ３０は、メモリ３１に保存した付加情報Ｎを１つ増加させ、再度、メモリ３１に保存する。なお、付加情報Ｎを８ビットのデータ長で構成しているため、付加情報Ｎは２５５を超えると０に値が戻る。続いてＩＰパケットへの変換処理を実行する。
【００４４】
ステップＳ７では、ＩＰパケット送出データを収めるメモリ３１上に確保された配列msg[]の先頭にメモリ３１に保存した付加情報Ｎの値をコピーし、送出データのデータ長msglenを１にセットし、メモリ３１に保存する。続いて、ステップＳ８では、ＣＰＵ３０は、受信したアイソクロナス・パケットをメモリ３１上に確保された配列msg[]の付加情報Ｎの格納領域の次のアドレス以降にコピーし、送出データのデータ長msglenにアイソクロナス・パケットのデータ長を加算し、メモリ３１に保存する。ステップＳ９では、ＣＰＵ３０は送出ＩＰアドレスdts_addr、ＩＰパケット送出データのデータ長msglen、ＩＰパケット送出データ配列msg[]などをパラメータとしてＩＰパケット送出ルーチンを呼び出す。以降、ＣＰＵ３０はステップＳ４に戻り、同様の処理を繰り返す。
【００４５】
次にクライアント側の処理について説明する。クライアント側では図１０に示すＩＰパケットの受信処理と、図１２〜図１４に示すアイソクロナス・パケットの出力処理が通信制御装置４のＣＰＵ３０で実行される。始めにＩＰパケットの受信処理について説明する。これについてのフローチャートを図１０に示す。ＩＰパケットの受信処理では、受信したデータを順次バッファメモリ２２に格納する。ここで、受信バッファのメモリ３１上の構成を図１１に示す。受信バッファはメモリ３１上に確保された領域であり、Validフラグ格納領域とアイソクロナス・パケット格納領域を１単位とした配列recvbuf[]で構成されている。この配列の要素位置は配列番号で示される。メモリ３１上には、
（アイソクロナス・パケットの最大データ長＋Validフラグデータ長）×配列要素数
の領域が確保される。ここで、配列要素数は付加情報の最大値＋１、つまり２５６とする。
【００４６】
続いて動作フローを説明する。ステップＳ１０では送出元ＩＰアドレスの設定が行われる。ここではサーバ側である第１の通信制御装置２のＩＰアドレスが設定され、ＣＰＵ３０によって受信ＩＰアドレスsrc_addr（１９２．０．１．１）がメモリ３１に保存される。ステップＳ１１では受信バッファの初期化が行われる。ＣＰＵ３０は前述の配列領域をメモリ３１上に確保し、各配列要素のValidフラグをリセット（０に設定）する。続いて、ステップＳ１２でＣＰＵ３０はEthernet（登録商標）Ｉ／Ｆ３２により受信されたＩＰパケットを取得し、メモリ３１に保存する。続いてステップＳ１３でＣＰＵ３０はメモリ３１に保存されたＩＰパケットヘッダの送信元アドレスの値とメモリ３１に保存した受信ＩＰアドレスのsrc_addrを比較する。比較の結果、値が異なる場合は、アイソクロナス・パケットに変換すベきパケットではないので、再度、ステップＳ１２に戻る。
【００４７】
比較の結果、値が等しい場合は、ステップＳ１４に進み、ＣＰＵ３０はメモリ３１に保存したＩＰパケットより付加情報Ｎを読み出す。ステップＳ１５ではアイソクロナス・パケットに変換するデータを収めるメモリ３１上に確保された配列recvbuf[]の要素番号Ｎ（＝付加情報）にＩＰヘッダ、付加情報を除き、アイソクロナス・パケットのみコピーする。続いてステップＳ１６でＣＰＵ３０は同様にアイソクロナス・パケットに変換するデータを収めるメモリ３１上に確保された配列recvbuf[]の要素番号ＮのValidフラグをセット（１に設定）する。以降、ＣＰＵ３０はステップＳ１２に戻り同様の処理を繰り返す。
【００４８】
次にバッファに保存したＩＰパケットをアイソクロナス・パケットに変換して出力する処理を図１２〜図１４のフローチャートで説明する。ステップＳ２１でＣＰＵ３０は、バッファ読み出し位置、つまり配列recvbuf[]の要素番号を示す変数であるバッファ読み出しポインタrptrを初期化してメモリ３１に保存する。ステップＳ２２でＣＰＵ３０はＩＰパケットの連続欠落数を示すカウント値lossを初期化してメモリ３１に保存する。ステップ２３でＣＰＵ３０はメモリ３１に保存したバッファの読み出し位置rptrを読み出し、rptrの示す配列recvbuf[]のValidフラグを読み出す。ステップＳ２４でＣＰＵ３０はValidフラグの値が１であるかの判断をする。Validフラグの値が１であればＩＰパケットの欠落はないのでステップＳ２６に移り、図１４に詳しく示す通常のアイソクロナス・パケット出力処理を実行する。また、Validフラグの値が１でなければＩＰパケットの欠落が発生していると判断し、ステップＳ２５に移り、図１３に詳しく示すパケット欠落処理を実行する。ステップＳ２５、ステップＳ２６の処理が終わったＣＰＵ３０はステップＳ２３に戻り、同様の処理を繰り返す。
【００４９】
続いて、ステップＳ２５のパケット欠落処理について図１３のフローチャートで説明する。ステップＳ４０でＣＰＵ３０はパケット欠落カウンタlossに１加算し、これをメモリ３１に保存する。ステップＳ４１でＣＰＵ３０はバッファ読み出し位置rptrに１加算して次の要素を示すようにし、メモリ３１に保存する。ステップＳ４２でＣＰＵ３０はrptrの示すバッファのValidフラグを読み出す。ステップＳ４３でＣＰＵ３０はValidフラグの値からＩＰパケットの欠落を判断する。Validフラグの値が０であればＩＰパケットの欠落と判断し、ステップＳ４０に戻る。以下、同様の処理を繰り返すことで、パケット欠落カウンタlossの値は、連続したＩＰパケットの欠落数を示し、バッファ読み出し位置rptrの値は、連続したＩＰパケット欠落の次のＩＰパケットを収めたバッファ位置を示す。最終的にＩＰパケットの連続した欠落部分がなくなると、ステップＳ４３よりステップＳ４４に移る。
【００５０】
ステップＳ４４でＣＰＵ３０はrptrの示す位置の配列recvbuf[]よりアイソクロナス・パケット部分を読み出す。ステップＳ４５では、取得したアイソクロナス・パケットより、図４に示したデータブロックを削除し、データ長の値を変更したものをアイソクロナス出力データとしてメモリ３１に保存する。これは、データブロックを含まない、いわゆるエンプティ・アイソクロナス・パケットと呼ばれるものである。続いてステップＳ４６でＣＰＵ３０はメモリ３１に保存したアイソクロナス・パケットの送出を指示する。ここでの実際のアイソクロナス・パケットの送出は、さらに下位のプログラムで実行され、ＩＥＥＥ１３９４Ｉ／Ｆ３３とＩＥＥＥ１３９４シリアルバス７に接続されたＤＶＨＳ５で決定されるタイミングにより順次出力が行われる。
【００５１】
次にステップＳ４７でＣＰＵ３０はパケット欠落カウンタlossを１減算してメモリ３１に保存する。ステップＳ４８でＣＰＵ３０はパケット欠落カウンタlossが０であるか判断する。パケット欠落カウンタlossの値が０でないときはステップＳ４６に戻り、同様の処理を繰り返し、ＩＰパケット欠落数分のエンプティ・アイソクロナス・パケットの出力を行う。ステップＳ４８でパケット欠落カウンタlossの値が０であると判断された場合はステップＳ４９に移る。ステップＳ４９では通常のアイソクロナス・パケット出力処理を行う。このとき、バッファ位置rptrは、連続したＩＰパケット欠落の次のＩＰパケットを収めたバッファ位置を示している。
【００５２】
最後に通常のアイソクロナス・パケット出力処理について図１４のフローチャートで説明する。ステップＳ３０でＣＰＵ３０はメモリ３１よりバッファrecvbuf[]のrptrの位置のアイソクロナス・パケットを読み出す。ステップ３１で読み出したアイソクロナス・パケットをアイソクロナス出力データとしてメモリ３１に保存する。ステップＳ３２でＣＰＵ３０はメモリ３１に保存したアイソクロナス・パケットの送出を指示する。ステップＳ３３でＣＰＵ３０はバッファ読み出し位置rptrを１加算し、メモリ３１に保存する。
【００５３】
＜第２の実施の形態＞
ここで、アイソクロナス伝送で使用されるアイソクロナス・パケットのデータ・ブロック部分のデータ長は、何種類かの固定長が規定されている。前述のようにアイソクロナス伝送が１２５μsecごとに行われることと、データ・ブロック長が固定であることにより、送出すベきデータが存在しない場合がある。この場合、アイソクロナス伝送では、図４に示したデータブロック部分が無く、ＣＩＰヘッダのみで構成されたパケットであるエンプティ・アイソクロナス・パケットを送出することとなっている。
【００５４】
次にビデオサーバとして動作する第２の実施の形態の第１のＩＰ−ＩＥＥＥ１３９４通信制御装置２における処理を説明する。図１５は図１のシステムにおいてビデオサーバとして動作する第２の実施の形態の第１のＩＰ−ＩＥＥＥ１３９４通信制御装置２のＩＥＥＥ１３９４シリアルバス６からＩＰ網への中継機能を実現する部分の構成を示すブロック図である。始めにＤＶＨＳ１で、ＭＰＥＧ２形式で録画されたテープの再生を開始すると、ＩＥＥＥ１３９４シリアルバス６上にＭＰＥＧ２データがアイソクロナス・パケットとして順次出力される。これをアイソクロナスパケット受信部１０で順次受信し、バッファメモリ１１に保存する。ここで、受信されたアイソクロナス・パケットは、図４に示す構成となっている。アイソクロナス・パケットは１３９４パケットヘッダとデータフィールド、各々のＣＲＣで構成され、データフィールド内にはＣＩＰ（Commn Isochronous Packet）ヘッダとデータ・ブロックが収められている。このデータ・ブロック部分にはＭＰＥＧ２データなどが収められている。
【００５５】
次にアイソクロナス−ＩＰパケット変換部１２では、受信したアイソクロナス・パケットの宛先ＩＰアドレス（１９２．０．１．２）を設定するとともにエンプティパケットカウント部１５の情報に基づき付加情報を加えてＩＰパケットを生成し、エンプティパケットカウント部１５のカウント値を０にする。この際、受信したアイソクロナス・パケットが、エンプティ・アイソクロナス・パケットであったときは、ＩＰパケットの生成を行わず、エンプティパケットカウント部１５のカウント値を１つ増加させる。
【００５６】
ここで、付加情報は、送出すべきアイソクロナス・パケットの受信以前に受信したエンプティ・アイソクロナス・パケット数を示すものであり、通常のアイソクロナス・パケットの送出ごとに０にクリアされる。このようにエンプティ・アイソクロナス・パケット自体は送出せず、存在数のみ送出する処理を行う。このようにして生成された付加情報は、図５に示したようにアイソクロナス・パケットと共にＩＰパケットを構成する。ＩＰパケットの詳細については、ＲＦＣ７９１などで公開されている。続いて、生成されたＩＰパケットは、ＩＰパケット送受信部１３より順次ＩＰネットワークに送出される。
【００５７】
ここでアイソクロナス−ＩＰパケット変換について詳しく説明する。この処理を図１６を用いて説明する。図１６（ａ）はアイソクロナスパケット受信部１０で受信されたアイソクロナス・パケットがバッファメモリ１１に格納された状態を示す。「アイソクロナス・パケット順序」は、受信順序を示すために説明上付加した整数値である。また、「内容」は、アイソクロナス・パケットがエンプティパケットか否かを示すもので、「Empty」と表記されているものは、エンプティパケットであることを示す。この例では、受信順序＝１〜３、６〜７が、データ・ブロックが存在するアイソクロナス・パケット、受信順序＝４、５がエンプティパケットとなっている。
【００５８】
続いて、バッファメモリ１１に格納されたアイソクロナス・パケットは、アイソクロナス−ＩＰパケット変換部１２に順次取り込まれ処理が行われる。この際、アイソクロナス・パケット・ヘッダのデータ長の値によりエンプティパケットであるかの判断をする。エンプティパケットは、データ・ブロックが存在しないため、データ長の値はＣＩＰヘッダのデータ長に設定されている。ここで、エンプティパケットカウント部１５は内部にカウンタを持ち、データ長＞ＣＩＰヘッダのデータ長の際に０にリセットし、データ長≦ＣＩＰヘッダのデータ長の際に１つ増加する構成となっている。また、データ長≧ＣＩＰヘッダのデータ長の場合は、内部カウンタのリセット前に現在のカウント値をアイソクロナス−ＩＰパケット変換部１２へ付加情報として送出する。この付加情報生成の状態を示したものが図１６（ｂ）である。図１６（ｂ）ではアイソクロナス・パケット順序＝６において、それ以前に２つのエンプティパケットが存在するため付加情報として２が生成されている。
【００５９】
アイソクロナス−ＩＰパケット変換部１２では、バッファメモリ１１より取り込まれたアイソクロナス・パケットがデータ長≧ＣＩＰヘッダのデータ長である場合は、付加情報生成部であるエンプティパケットカウント部１５より送出される付加情報を伴ってＩＰパケットに変換し、他方、データ長＜ＣＩＰヘッダのデータ長である場合は、当該アイソクロナス・パケットのＩＰ変換処理を行わない。この処理の状態を示したものが図１６（ｃ）である。ここでは、図１６（ａ）に存在したエンプティパケットはＩＰパケットに変換されず、ＩＰパケット順序＝４の付加情報として存在するだけとなっている。このようにして、エンプティパケットはＩＰパケットヘの変換処理を行わないとともに、付加情報としてエンプティパケットの存在を示す情報を付加する処理が実行される。
【００６０】
次にビデオクライアント側について説明する。図１７は図１においてビデオクライアントとして動作する第２のＩＰ−ＩＥＥＥ１３９４通信制御装置４のＩＰ／アイソクロナスルーティング層のＩＰ網からＩＥＥＥ１３９４シリアルバス７への中継機能を実現する部分の構成を示すブロック図である。始めにビデオサーバ側の第１のＩＰ−ＩＥＥＥ１３９４通信制御装置２より出力されたＩＰパケットがＩＰパケット送受信部２０で受信される。ここで受信されたＩＰパケットは、順次バッファメモリ２２に格納される。次にＩＰ−アイソクロナスパケット変換部２３では、ＩＰパケットよりＩＰヘッダ、付加情報を取り去り、順次アイソクロナス・パケットへと変換する。このように変換されたアイソクロナス・パケットは、アイソクロナスパケット送出部２４よりＩＥＥＥ１３９４シリアルバス７に順次出力される。
【００６１】
この際、付加情報の値が１以上である場合は、エンプティ・アイソクロナス・パケットが存在していたので、異なる処理を行う。バッファメモリ２２より取得したＩＰパケットデータの付加情報が１以上である場合、始めに付加情報相当数のエンプティ・アイソクロナス・パケットを生成する。このエンプティパケットの生成においては、ＩＰパケットよりＩＰヘッダ、付加情報、アイソクロナス・パケットのデータ・ブロックを取り去り、アイソクロナス・パケット・ヘッダのデータ長をＣＩＰヘッダのデータ長とする処理が行われる。このようにして生成されたエンプティパケットに対して付加情報に設定された値の回数だけ、上記処理がアイソクロナスパケット送出部２４により実行され、ＩＥＥＥ１３９４シリアルバス７に順次出力される。その後、この付加情報が付加されていたＩＰパケットのアイソクロナス・パケットの出力を行う。
以上の処理によりサーバ側でエンプティ・アイソクロナス・パケットのＩＰ伝送を行わなくても、ビデオサーバ側で受信したアイソクロナス・パケットがビデオクライアント側でも再現することが可能となる。
【００６２】
次に第２の実施の形態の通信制御方法について説明する。第２の実施の形態の通信制御方法を実現する通信制御装置２、４のハードウェア構成は図８と同じであるのでその詳細な説明は省略する。始めにサーバ側の処理について説明する。図１では第１のＩＰ−ＩＥＥＥ１３９４通信制御装置２がサーバ側の装置に該当する。図１８はサーバ側の処理を行うプログラムのフローチャートである。ステップＳ１０１ではＣＰＵ３０はＩＥＥＥ１３９４シリアルバス６より受信するアイソクロナスチャンネルの設定を行う。チャンネルの値は、ＩＥＥＥ１３９４シリアルバス６を介してＤＶＨＳ１と通信を行い、決定されたものやユーザが別途指定したものである。このチャンネルの値src_chは、ＣＰＵ３０によってメモリ３１に保存される。
【００６３】
ステップＳ１０２では、同様に送出ＩＰアドレスの設定が行われる。ここでは、クライアント側の第２の通信制御装置４のＩＰアドレスが設定され、ＣＰＵ３０によって送出ＩＰアドレスdts_addr＝１９２．０．１．２がメモリ３１に保存される。ステップＳ１０３では付加情報Ｎの初期化が行われる。ここで、付加情報は、エンプティ・アイソクロナス・パケット受信ごとに１つ増加する値とし、通常のアイソクロナス・パケットの受信で０にリセットされる。ＣＰＵ３０は、付加情報Ｎ＝０をメモリ３１に保存する。ステップＳ１０４でＣＰＵ３０は、ＩＥＥＥ１３９４Ｉ／Ｆ３３により受信されたアイソクロナス・パケットを取得してメモリ３１に保存する。
【００６４】
続いてステップＳ１０５で所定のチャンネルを確認すると、次のステップＳ１０６で、ＣＰＵ３０はメモリ３１に保存された１３９４アイソクロナス・パケットのヘッダのデータ長の値がＣＩＰヘッダのデータ長（８バイト）より大きいかの比較を行う。データ長が８バイト以下であれば、エンプティ・アイソクロナス・パケットであると判断し、ステップＳ１０９Ｂに移る。ステップＳ１０９Ｂでは、ＣＰＵ３０はメモリ３１に保存した付加情報Ｎを読み出し、１加算して、メモリ３１に保存する。以降、ステップＳ１０４に戻り、同様の処理を行う。
【００６５】
ステップＳ１０６でデータ長が８バイトより大きいと判断された場合、通常のアイソクロナス・パケットの受信と判断して、ステップＳ１０７に移る。ステップＳ１０７ではＩＰパケット送出データを収めるメモリ３１上に確保された配列msg[]の先頭にメモリ３１に保存した付加情報Ｎの値をコピーし、送出データのデータ長msglenを１にセットし、メモリ３１に保存する。続いて、ステップＳ１０８ではＣＰＵ３０は受信したアイソクロナス・パケットをメモリ３１上に確保された配列msg[]の付加情報Ｎの格納領域の次のアドレス以降にコピーし、送出データのデータ長msglenにアイソクロナス・パケットのデータ長を加算し、メモリ３１に保存する。ステップＳ１０９ではＣＰＵ３０は送出ＩＰアドレスdts_addr、ＩＰパケット送出データのデータ長msglen、ＩＰパケット送出データ配列msg[]などをパラメータとしてＩＰパケット送出ルーチンを呼び出す。続いてステップＳ１０９ＡでＣＰＵ３０はメモリ３１に保存した付加情報Ｎを０にリセットする。以降、ＣＰＵ３０はステップＳ１０４に戻り、同様の処理を繰り返す。
【００６６】
次にクライアント側の処理について説明する。クライアント側では図１９に示すＩＰパケットの受信処理と図２０〜図２２に示すアイソクロナス・パケットの出力処理がＣＰＵ３０で実行される。始めにＩＰパケットの受信処理について説明する。ＩＰパケットの受信処理では、受信したデータを順次バッファメモリ２２に格納する。ここで、受信バッファのメモリ３１上での構成を図２３に示す。受信バッファはメモリ３１上に確保された領域で、付加情報格納領域とアイソクロナス・パケット格納領域を一単位として構成されている。
【００６７】
続いて動作フローを説明する。ステップＳ１１０では受信ＩＰアドレスの設定が行われる。ここでは、サーバ側である第１の通信制御装置２のＩＰアドレスである送出元ＩＰアドレスが設定され、ＣＰＵ３０によって受信ＩＰアドレスsrc_addr＝１９２．０．１．１がメモリ３１に保存される。ステップＳ１１１では受信バッファの初期化が行われる。ＣＰＵ３０は前述の配列領域をメモリ３１上に確保し、各配列要素の付加情報部分をリセット（０に設定）する。続いて、ステップＳ１１２でＣＰＵ３０はEthernet（登録商標）Ｉ／Ｆ３２により受信されたＩＰパケットを取得し、メモリ３１に保存する。続いて、ステップＳ１１３でＣＰＵ３０はメモリ３１に保存されたＩＰパケットヘッダの送信元アドレスの値とメモリ３１に保存した受信ＩＰアドレスの値src_addrを比較する。比較の結果、値が異なる場合は、アイソクロナス・パケットに変換すべきパケットではないので、再度、ステップＳ１１２に戻る。比較の結果、値が等しい場合は、ステップＳ１１４に進み、ＣＰＵ３０はメモリ３１上に確保された領域にＩＰヘッダを除き、付加情報とアイソクロナス・パケットのみコピーする。以降、ＣＰＵ３０はステップＳ１１２に戻り、同様の処理を繰り返す。
【００６８】
次にバッファに保存したＩＰパケットをアイソクロナス・パケットに変換し出力する処理を図２０〜図２２のフローチャートで説明する。ステップＳ１２１でＣＰＵ３０は、メモリ３１のバッファ領域より付加情報Ｎを読み出す。続いて、ステップＳ１２２でＣＰＵ３０は付加情報Ｎが０であるかの判断を行う。０であると判断した場合はステップＳ１２３に移り、図２２に示す通常のアイソクロナス・パケット処理を行った後、ステップＳ１２１に戻り、同様の処理を繰り返す。ステップＳ１２２で０でないと判断した場合はステップＳ１２４に移り、図２３に示すエンプティパケット処理を行った後、ステップＳ１２１に戻り、同様の処理を繰り返す。
【００６９】
続いて、ステップＳ１２４のエンプティパケット処理について図２１のフローチャートで説明する。ステップＳ１４０でＣＰＵ３０はメモリ２１のバッファ領域よりアイソクロナス・パケットを読み出す。続いてステップＳ１４１でＣＰＵ３０はステップＳ１４０で読み出したアイソクロナス・パケットのデータブロック部分を削除し、パケットヘッダのデータ長の値をＣＩＰヘッダのデータ長（８バイト）にセットし、エンプティ・アイソクロナス・パケットを生成する。ステップＳ１４２では、生成したエンプティ・アイソクロナス・パケットをアイソクロナス出力データとしてメモリ３１に保存する。続いてステップＳ１４３でＣＰＵ３０は、メモリ３１に保存したアイソクロナス・パケットの出力を指示する。ここでの実際のアイソクロナス・パケットの出力は、さらに下位のプログラムで実行され、ＩＥＥＥ１３９４Ｉ／Ｆ３３とＩＥＥＥ１３９４シリアルバス７に接続されたＤＶＨＳ５で決定されるタイミングにより順次出力が行われる。
【００７０】
次にステップＳ１４４で、ＣＰＵ３０はメモリ３１に保存した付加情報Ｎを読み出して１減算し、メモリ３１に保存する。ステップＳ１４５ではＣＰＵ３０はメモリ３１に保存した付加情報Ｎが０であるかの判断を行う。０でないと判断した場合はステップＳ１４３に移り、同様の処理を繰り返す。０であると判断した場合は、ステップＳ１４６に移る。ステップＳ１４６では、これ以前の処理で必要な数のエンプティ・アイソクロナス・パケットの出力を行ったので、今度は本来のアイソクロナス・パケットの出力を行う。ここで、ＣＰＵ３０はステップＳ１４０で読み出したものと同じアイソクロナス・パケットを再度メモリ３１より読み出す。ステップＳ１４７では、読み出したアイソクロナス・パケットをアイソクロナス出力データとしてメモリ３１に保存する。ステップＳ１４８ではＣＰＵ３０はメモリ３１に保存したアイソクロナス・パケットの送出を指示する。
【００７１】
最後に通常のアイソクロナス・パケット出力処理について図２２のフローチャートで説明する。ステップＳ１３０でＣＰＵ３０はメモリ３１よりアイソクロナス・パケットを読み出す。ステップＳ１３１で、読み出したアイソクロナス・パケットをアイソクロナス出力データとして、メモリ３１に保存する。ステップＳ１３２で、ＣＰＵ３０はメモリ３１に保存したアイソクロナス・パケットの出力を指示する。
【００７２】
以上の説明では、ＩＥＥＥ１３９４規格に対応する機器として、ＭＰＥＧ２データを記録再生するＤＶＨＳ１、５について説明したが、ＩＥＥＥ１３９４シリアルバスのアイソクロナス転送を利用するＤＶ方式のＶＣＲなどでも同様に利用可能である。
【図面の簡単な説明】
【００７３】
【図１】本発明の第１の実施の形態に係る通信制御装置が使用されているビデオ配信システムの一例を示すブロック図である。
【図２】ＩＥＥＥ１３９４シリアルバスのアイソクロナス転送を示す説明図である。
【図３】図１においてビデオサーバとして動作するＩＰ−ＩＥＥＥ１３９４通信制御装置のＩＥＥＥ１３９４シリアルバスからＩＰ網への中継機能を実現する部分の構成を示すブロック図である。
【図４】ＩＥＥＥ１３９４シリアルバスにおいて送受信されるアイソクロナス・パケットを示す構成図である。
【図５】ＩＰパケットを示す構成図である。
【図６】図１においてビデオクライアントとして動作するＩＰ−ＩＥＥＥ１３９４通信制御装置のＩＰ網からＩＥＥＥ１３９４シリアルバスヘの中継機能を実現する部分の構成を示すブロック図である。
【図７】本発明の第１の実施の形態の付加情報を示す説明図である。
【図８】ＩＰ−ＩＥＥＥ１３９４通信制御装置のハードウェア構成を示すブロック図である。
【図９】図１においてビデオサーバとして動作するＩＰ−ＩＥＥＥ１３９４通信制御装置の処理を説明するためのフローチャートである。
【図１０】図１においてビデオクライアントとして動作するＩＰ−ＩＥＥＥ１３９４通信制御装置のＩＰパケット受信処理を説明するためのフローチャートである。
【図１１】受信バッファの構成を示す説明図である。
【図１２】図１においてビデオクライアントとして動作するＩＰ−ＩＥＥＥ１３９４通信制御装置のアイソクロナス出力処理を説明するためのフローチャートである。
【図１３】図１２のパケット欠落処理を詳しく説明するためのフローチャートである。
【図１４】図１２の通常のアイソクロナス・パケット出力処理を詳しく説明するためのフローチャートである。
【図１５】本発明の第２の実施の形態においてビデオサーバとして動作するＩＰ−ＩＥＥＥ１３９４通信制御装置のＩＥＥＥ１３９４シリアルバスからＩＰ網への中継機能を実現する部分の構成を示すブロック図である。
【図１６】本発明の第２の実施の形態の付加情報を示す説明図である。
【図１７】本発明の第２の実施の形態においてビデオクライアントとして動作するＩＰ−ＩＥＥＥ１３９４通信制御装置のＩＰ網からＩＥＥＥ１３９４シリアルバスヘの中継機能を実現する部分の構成を示すブロック図である。
【図１８】本発明の第２の実施の形態においてビデオサーバとして動作するＩＰ−ＩＥＥＥ１３９４通信制御装置の処理を説明するためのフローチャートである。
【図１９】本発明の第２の実施の形態においてビデオクライアントとして動作するＩＰ−ＩＥＥＥ１３９４通信制御装置のＩＰパケット受信処理を説明するためのフローチャートである。
【図２０】本発明の第２の実施の形態においてビデオクライアントとして動作するＩＰ−ＩＥＥＥ１３９４通信制御装置のアイソクロナス出力処理を説明するためのフローチャートである。
【図２１】図２０のエンプティパケット処理を詳しく説明するためのフローチャートである。
【図２２】図２０の通常のアイソクロナス・パケット出力処理を詳しく説明するためのフローチャートである。
【図２３】本発明の第２の実施の形態の受信バッファの構成を示す説明図である。
【符号の説明】
【００７４】
１、５  ＤＶＨＳ
２、４  ＩＰ−ＩＥＥＥ１３９４通信制御装置
３  ＬＡＮ
６、７  ＩＥＥＥ１３９４シリアルバス
１０  アイソクロナスパケット受信部
１１  バッファメモリ
１２  アイソクロナス−ＩＰパケット変換部
１３  ＩＰパケット送受信部
１４  付加情報生成部
１５  エンプティパケットカウント部
２０  ＩＰパケット送受信部
２１  ＩＰパケット整列部
２２  バッファメモリ
２３  ＩＰ−アイソクロナスパケット変換部
２４  アイソクロナスパケット送出部
３０  ＣＰＵ
３１  メモリ
３２  Ethernet（登録商標）Ｉ／Ｆ
３３  ＩＥＥＥ１３９４Ｉ／Ｆ
３４  バス
【図１】
2005341367.tif 000003
【図２】
2005341367.tif 000004
【図３】
2005341367.tif 000005
【図４】
2005341367.tif 000006
【図５】
2005341367.tif 000007
【図６】
2005341367.tif 000008
【図７】
2005341367.tif 000009
【図８】
2005341367.tif 000010
【図９】
2005341367.tif 000011
【図１０】
2005341367.tif 000012
【図１１】
2005341367.tif 000013
【図１２】
2005341367.tif 000014
【図１３】
2005341367.tif 000015
【図１４】
2005341367.tif 000016
【図１５】
2005341367.tif 000017
【図１６】
2005341367.tif 000018
【図１７】
2005341367.tif 000019
【図１８】
2005341367.tif 000020
【図１９】
2005341367.tif 000021
【図２０】
2005341367.tif 000022
【図２１】
2005341367.tif 000023
【図２２】
2005341367.tif 000024
【図２３】
2005341367.tif 000025