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