JP2005341367A - 通信制御装置及び通信制御方法 - Google Patents
通信制御装置及び通信制御方法 Download PDFInfo
- Publication number
- JP2005341367A JP2005341367A JP2004159261A JP2004159261A JP2005341367A JP 2005341367 A JP2005341367 A JP 2005341367A JP 2004159261 A JP2004159261 A JP 2004159261A JP 2004159261 A JP2004159261 A JP 2004159261A JP 2005341367 A JP2005341367 A JP 2005341367A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- isochronous
- ieee
- additional information
- empty
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Communication Control (AREA)
Abstract
【課題】 品質の悪いIPネットワークにおいてもアイソクロナス伝送を可能とし、IPプロトコルのようなハンドシェイク型のプロトコルを用いずに高品質に通信する。
【解決手段】 サーバ側通信制御装置2は送信元DVHS1から送られてくるアイソクロナス・パケットの順番を示す情報を付加情報として生成して送信元DVHSから送られてくるアイソクロナス・パケットに付加して受信先DVHS5に中継すべきIPパケットに変換し、クライアント側通信制御装置4に送信する。クライアント側通信制御装置は受信したIPパケットを付加情報に基づいて元の順番に整列して受信先DVHSに中継すべきアイソクロナス・パケットに変換する。
【選択図】 図1
【解決手段】 サーバ側通信制御装置2は送信元DVHS1から送られてくるアイソクロナス・パケットの順番を示す情報を付加情報として生成して送信元DVHSから送られてくるアイソクロナス・パケットに付加して受信先DVHS5に中継すべきIPパケットに変換し、クライアント側通信制御装置4に送信する。クライアント側通信制御装置は受信したIPパケットを付加情報に基づいて元の順番に整列して受信先DVHSに中継すべきアイソクロナス・パケットに変換する。
【選択図】 図1
Description
本発明は、インターネットプロトコルに基づくデータ伝送が可能なIP(Internet Protocol)ネットワークとIEEE1394規格に基づくIEEE1394シリアルバスとの間でデータ伝送を中継する通信制御装置に関し、例えばビデオデータなどのマルチメディアデータをIPネットワークを用いて配信するビデオ配信システムなどにおいて使用される通信制御装置及び通信制御方法に関する。
近年のAV機器のディジタル化に伴い、映像・音声データの伝送方法として、IEEE1394シリアルバスを搭載したAV機器が増加している。従来は、映像・音声情報の機器間の伝送はアナログ信号形式で行われていたが、帯域保証や時間保証などの優れた特徴によりIEEE1394シリアルバスの採用が進んでいる。また、ネットワーク技術の進展により、安価にネットワークを使用することも可能となった。IEEE1394シリアルバスは、優れた技術ではあるが、ネットワーク技術の進展に伴い、IEEE1394シリアルバス上を伝送される情報もネットワークを通じて伝送したいという要求が高まっている。
このような要求に応えるものとして、下記の特許文献1で開示された技術がある。これは、IPネットワークとしてATM(Asynchronous Transfer Mode)網を用い、通信制御装置が使用されたビデオ配信システムであり、通信制御装置はIEEE1394シリアルバスとIPパケットの相互変換を行うものである。このシステムは、
1)IEEE1394を備えたDV方式ディジタルVCRからの映像情報をIEEE1394シリアルバスのアイソクロナス・パケットとして受信し、第1の変換部でこのパケットをIPパケットに変換し、このIPパケットをIPネットワークに送出する。
2)IPネットワークから受信した、IPパケット化されたアイソクロナス・パケットを第2の変換部でアイソクロナス・パケットに変換し、このパケットをIEEE1394シリアルバスに送出し、このアイソクロナス・パケットをDV方式ディジタルVCRで受信し、映像を再生する。
1)IEEE1394を備えたDV方式ディジタルVCRからの映像情報をIEEE1394シリアルバスのアイソクロナス・パケットとして受信し、第1の変換部でこのパケットをIPパケットに変換し、このIPパケットをIPネットワークに送出する。
2)IPネットワークから受信した、IPパケット化されたアイソクロナス・パケットを第2の変換部でアイソクロナス・パケットに変換し、このパケットをIEEE1394シリアルバスに送出し、このアイソクロナス・パケットをDV方式ディジタルVCRで受信し、映像を再生する。
ここでは、IPパケットとアイソクロナス・パケットとの間で対応付け及びパケット形式の変換を行うことにより、IEEE1394端末としてのDV方式ディジタルVCRのようなIP層を有しない機器であっても、ATM網のような広域ネットワークを介したビデオデータ配信を可能としている。さらに、IEEE1394端末としてのDV方式ディジタルVCRは、映像データをハードディスクなどに転送することなく直接VCRテープから読み込んで配信することが可能である。
また、IPパケットを受信して、第2の変換部で変換されたアイソクロナス・パケットは、ATM網側の伝送遅延や伝送間隔の変動などを吸収するために、いったんバッファメモリに蓄積される構成となっている。アイソクロナス・パケットの出力時には、アイソクロナス・パケットのデータ・ブロックの連続性を示すために使用されるCIPヘッダのDBC値が不連続となることを防ぐため、DBC値を新たに設定し、連続したDBC値となるように更新している。これにより、広域ネットワークのような伝送時間が保証されないネットワークと連続カウンタ情報を必要とするIEEE1394機器との間でのビデオ配信を可能としている。
特開2001−24687号公報(要約書)
この通信制御装置では、TCPプロトコルと呼ばれる、再送処理などの機能を持つプロトコルを使用するため、IPパケットの欠落などは発生しない。このため、これらの処理については開示されていない。また、再送処理などの機能を持たないUDPプロトコルの使用も示されている(特許文献1の段落0055)が、具体例は開示されていない。
一般的にIPネットワークの品質が良く、伝送遅延やIPパケットの欠落が少ない環境下では、TCPプロトコルのような再送処理などの機能を持つプロトコルでも有効に動作する。しかしながら、IPネットワークの品質の劣化と共にTCPプロトコルのデータの伝送、受信確認というハンドシェイク形式の伝送方法の欠点が表面化し、急速に伝送効率が低下する。このため、IPネットワークの品質が劣る環境下でもアイソクロナス・パケットの伝送が可能な方法が必要とされている。
また、クライアント側の通信制御装置のアイソクロナス出力において、バッファ制御を行い、アイソクロナス出力の管理を行っている(特許文献1の段落0047)。ここで、出力すべきアイソクロナス・パケットが存在しない状態について触れられているが、この際のアイソクロナス出力について具体的な方法が開示されていない(第1の問題点)。
IEEE1394シリアルバスのアイソクロナス転送においては、仕様上映像データなどが含まれないエンプティパケットが存在する。しかしながら、従来の通信制御装置では、エンプティパケットの取り扱いについては、特に開示されていない。エンプティパケットは、映像などのデータが含まれず、IEEE1394機器内で映像データなどをIEEE1394シリアルバスへ転送する際に仕様上発生するものである。このデータが含まれていないアイソクロナス・パケットであるエンプティパケットについてもIPパケット化し、IPネットワーク上を伝送することは、ネットワークの有効活用の観点から好ましくない(第2の問題点)。
本発明は上記第1の問題点に鑑み、品質の悪いIPネットワークにおいてもアイソクロナス伝送を可能とし、IPプロトコルのようなハンドシェイク型のプロトコルを用いずに高品質に通信することができる通信制御装置及び通信制御方法を提供することを第1の目的とする。
また、本発明は上記第1の問題点に鑑み、クライアント側でのアイソクロナス出力において、出力すべきアイソクロナス・パケットが存在しない場合に最適な処理を行うことで、高品質に通信することができる通信制御装置を提供することを第2の目的とする。
また、本発明は上記第2の問題点に鑑み、ネットワーク帯域を有効に活用し、高品質に通信することができる通信制御装置及び通信制御方法を提供することを第3の目的とする。
また、本発明は上記第1の問題点に鑑み、クライアント側でのアイソクロナス出力において、出力すべきアイソクロナス・パケットが存在しない場合に最適な処理を行うことで、高品質に通信することができる通信制御装置を提供することを第2の目的とする。
また、本発明は上記第2の問題点に鑑み、ネットワーク帯域を有効に活用し、高品質に通信することができる通信制御装置及び通信制御方法を提供することを第3の目的とする。
本発明は上記第1の目的を達成するために、送信元機器と受信先機器とをそれぞれIEEE1394規格に基づくIEEE1394シリアルバスとインターネットプロトコルに基づくIPネットワークとを介して中継接続する通信制御装置であって、
前記送信元機器から前記IEEE1394シリアルバスを介して供給されるアイソクロナス・パケットの順番を示す情報を付加情報として生成する付加情報生成手段と、
前記生成された付加情報を前記アイソクロナス・パケットに付加し、前記インターネットプロトコルに基づくIPパケットに変換するパケット変換手段とを、
有する構成とした。
前記送信元機器から前記IEEE1394シリアルバスを介して供給されるアイソクロナス・パケットの順番を示す情報を付加情報として生成する付加情報生成手段と、
前記生成された付加情報を前記アイソクロナス・パケットに付加し、前記インターネットプロトコルに基づくIPパケットに変換するパケット変換手段とを、
有する構成とした。
また本発明は上記第2の目的を達成するために、送信元機器と受信先機器とをそれぞれインターネットプロトコルに基づくIPネットワークとIEEE1394規格に基づくIEEE1394シリアルバスとを介して中継接続する通信制御装置であって、
前記送信元機器からアイソクロナス・パケットの順番を示す付加情報を含んだ前記インターネットプロトコルに基づくIPパケットを前記IPネットワークを介して受信するIPパケット受信手段と、
前記受信したIPパケットを前記付加情報に基づいて元の順番に整列させるIPパケット整列手段と、
前記IPパケット整列手段により整列された前記IPパケットを受信先機器に中継すべきアイソクロナス・パケットに変換するパケット変換手段と、
前記パケット変換手段により変換されたアイソクロナス・パケットを前記IEEE1394シリアルバスを介して前記受信先機器に出力するアイソクロナス・パケット出力手段とを、
有する構成とした。
前記送信元機器からアイソクロナス・パケットの順番を示す付加情報を含んだ前記インターネットプロトコルに基づくIPパケットを前記IPネットワークを介して受信するIPパケット受信手段と、
前記受信したIPパケットを前記付加情報に基づいて元の順番に整列させるIPパケット整列手段と、
前記IPパケット整列手段により整列された前記IPパケットを受信先機器に中継すべきアイソクロナス・パケットに変換するパケット変換手段と、
前記パケット変換手段により変換されたアイソクロナス・パケットを前記IEEE1394シリアルバスを介して前記受信先機器に出力するアイソクロナス・パケット出力手段とを、
有する構成とした。
また本発明は上記第1の目的を達成するために、送信元機器と受信先機器とをそれぞれIEEE1394規格に基づくIEEE1394シリアルバスとインターネットプロトコルに基づくIPネットワークとを介して中継接続する通信制御方法であって、
前記送信元機器から前記IEEE1394シリアルバスを介して供給されるアイソクロナス・パケットの順番を示す情報を付加情報として生成する付加情報生成ステップと、
前記生成された付加情報を前記アイソクロナス・パケットに付加し、前記インターネットプロトコルに基づくIPパケットに変換するパケット変換ステップとを、
有する構成とした。
前記送信元機器から前記IEEE1394シリアルバスを介して供給されるアイソクロナス・パケットの順番を示す情報を付加情報として生成する付加情報生成ステップと、
前記生成された付加情報を前記アイソクロナス・パケットに付加し、前記インターネットプロトコルに基づくIPパケットに変換するパケット変換ステップとを、
有する構成とした。
また本発明は上記第3の目的を達成するために、送信元機器と受信先機器とをそれぞれIEEE1394規格に基づくIEEE1394シリアルバスとインターネットプロトコルに基づくIPネットワークとを介して中継接続する通信制御装置であって、
前記送信元機器から前記IEEE1394シリアルバスを介して供給されるアイソクロナス・パケットがエンプティ・アイソクロナス・パケットか否かを判断するパケット判断手段と、
前記パケット判断手段によりエンプティ・アイソクロナス・パケットでないと判断されたアイソクロナス・パケットを前記受信先機器に中継すべき前記IPパケットに変換し、エンプティ・アイソクロナス・パケットと判断されたアイソクロナス・パケットを前記IPパケットに変換しないパケット変換手段とを、
有する構成とした。
前記送信元機器から前記IEEE1394シリアルバスを介して供給されるアイソクロナス・パケットがエンプティ・アイソクロナス・パケットか否かを判断するパケット判断手段と、
前記パケット判断手段によりエンプティ・アイソクロナス・パケットでないと判断されたアイソクロナス・パケットを前記受信先機器に中継すべき前記IPパケットに変換し、エンプティ・アイソクロナス・パケットと判断されたアイソクロナス・パケットを前記IPパケットに変換しないパケット変換手段とを、
有する構成とした。
また前記パケット変換手段は、前記パケット判断手段によりエンプティ・アイソクロナス・パケットと判断された場合に、前記エンプティ・アイソクロナス・パケットが存在することを示す付加情報をそのパケット位置の前又は後において変換した前記IPパケットに付加することを特徴とする。
また本発明は上記第3の目的を達成するために、IEEE1394規格に対応する送信元機器からIEEE1394シリアルバスを介して送られてくるアイソクロナス・パケットがエンプティ・アイソクロナス・パケットか否かを判断し、エンプティ・アイソクロナス・パケットでないと判断して変換したIPパケット、及びエンプティ・アイソクロナス・パケットと判断してIPパケットに変換せずに、エンプティ・アイソクロナス・パケットが存在することを示す付加情報をそのパケット位置の前又は後において付加したIPパケットをIPネットワークを介して受信するIPパケット受信手段と、
前記受信したIPパケットを受信先機器に中継すべき前記アイソクロナス・パケットに変換するとともに、前記付加情報に基づいてエンプティ・アイソクロナス・パケットを生成するパケット変換手段と、
前記パケット変換手段により変換されたアイソクロナス・パケットを第2のIEEE1394シリアルバスを介して前記受信先機器に出力するアイソクロナス・パケット出力手段とを、
有する構成とした。
前記受信したIPパケットを受信先機器に中継すべき前記アイソクロナス・パケットに変換するとともに、前記付加情報に基づいてエンプティ・アイソクロナス・パケットを生成するパケット変換手段と、
前記パケット変換手段により変換されたアイソクロナス・パケットを第2のIEEE1394シリアルバスを介して前記受信先機器に出力するアイソクロナス・パケット出力手段とを、
有する構成とした。
また本発明は上記第3の目的を達成するために、IEEE1394規格に対応する送信元機器からIEEE1394シリアルバスを介して送られてくるアイソクロナス・パケットをIPパケットに変換し、前記IPパケットをIPネットワークを介して受信先機器に中継する通信制御方法において、
前記送信元機器から送られてくるアイソクロナス・パケットがエンプティ・アイソクロナス・パケットか否かを判断するパケット判断ステップと、
前記パケット判断ステップによりエンプティ・アイソクロナス・パケットと判断されたパケット数をカウントするステップと、
前記パケット判断ステップによりエンプティ・アイソクロナス・パケットでないと判断されたアイソクロナス・パケットを前記受信先機器に中継すべき前記IPパケットに変換するとともに、前記エンプティ・アイソクロナス・パケットと判断されたパケット数を付加情報としてそのパケット位置の前又は後において変換した前記IPパケットに付加するパケット変換ステップとを、
有する構成とした。
前記送信元機器から送られてくるアイソクロナス・パケットがエンプティ・アイソクロナス・パケットか否かを判断するパケット判断ステップと、
前記パケット判断ステップによりエンプティ・アイソクロナス・パケットと判断されたパケット数をカウントするステップと、
前記パケット判断ステップによりエンプティ・アイソクロナス・パケットでないと判断されたアイソクロナス・パケットを前記受信先機器に中継すべき前記IPパケットに変換するとともに、前記エンプティ・アイソクロナス・パケットと判断されたパケット数を付加情報としてそのパケット位置の前又は後において変換した前記IPパケットに付加するパケット変換ステップとを、
有する構成とした。
また本発明は上記第3の目的を達成するために、IEEE1394規格に対応する送信元機器から第1のIEEE1394シリアルバスを介して送られてくるアイソクロナス・パケットがエンプティ・アイソクロナス・パケットか否かを判断し、エンプティ・アイソクロナス・パケットでないと判断して変換したIPパケット、及びエンプティ・アイソクロナス・パケットと判断してIPパケットに変換せずにそのパケット数をそのパケット位置の前又は後において付加したIPパケットをIPネットワークを介して受信するステップと、
前記受信したIPパケットを受信先機器に中継すべき前記アイソクロナス・パケットに変換するとともに、前記受信先機器に中継すべき前記パケット数分のエンプティ・アイソクロナス・パケットを生成するパケット変換ステップと、
前記パケット変換ステップにより変換されたアイソクロナス・パケットを他のIEEE1394シリアルバスを介して前記受信先機器に出力するアイソクロナス・パケット出力ステップとを、
有する構成とした。
前記受信したIPパケットを受信先機器に中継すべき前記アイソクロナス・パケットに変換するとともに、前記受信先機器に中継すべき前記パケット数分のエンプティ・アイソクロナス・パケットを生成するパケット変換ステップと、
前記パケット変換ステップにより変換されたアイソクロナス・パケットを他のIEEE1394シリアルバスを介して前記受信先機器に出力するアイソクロナス・パケット出力ステップとを、
有する構成とした。
本発明のパケット順を示す付加情報によれば、IEEE1394シリアルバスのアイソクロナス・パケットのフォーマットにかかわらず、アイソクロナス・パケットの欠落、重複、順序誤りの検出が可能となるので、品質の悪いIPネットワークにおいてもアイソクロナス伝送を可能とし、IPプロトコルのようなハンドシェイク型のプロトコルを用いずに高品質に通信することができる。このため、サーバ側で伝送すべきアイソクロナス・パケットが存在しないときにエンプティ・アイソクロナス・パケットを伝送するようにすれば、IPネットワーク上の伝送遅延や伝送間隔の変動を吸収するためのバッファメモリの機能の低下を防ぐことが可能となる。また、クライアント側からサーバ側に対して、欠落したアイソクロナス・パケットの再送を要求するように構成すれば、高品質な映像などの再生が可能となる。
また本発明のエンプティ・アイソクロナス・パケットの存在を示す付加情報によれば、ネットワーク帯域を有効に活用し、高品質に通信することができる。また、クライアント側では、エンプティ・アイソクロナス・パケットを再現することが可能なため、高品質な映像などの再生が可能となる。
以下、図面を参照して本発明の実施の形態について説明する。
<第1の実施の形態>
図1は本発明の第1の実施の形態に係るIP−IEEE1394通信制御装置(以下単に通信制御装置とも言う)2、4が使用されているビデオ配信システムの一例を示すブロック図である。第1の実施の形態では、IEEE1394搭載装置より出力される種々のアイソクロナス・パケットを高品質にIPネットワークによって通信できるようにするという目的を、サーバ側の通信制御装置2では、受信したアイソクロナス・パケットをIPパケットに変換する際に順序情報、若しくは時間情報を付加することで、クライアント側の通信制御装置4でのIPパケットの整列、欠落の検出を可能とし、クライアント側の通信制御装置4では、IPパケット整列を行うとともに、欠落の検出結果により、欠落したIPパケットに対応するアイソクロナス・パケット出力時にエンプティ・アイソクロナス・パケットの生成を行い、IEEE1394シリアルバス7よりアイソクロナス・パケットとして出力することで高品質の映像・音声再生を実現した。
<第1の実施の形態>
図1は本発明の第1の実施の形態に係るIP−IEEE1394通信制御装置(以下単に通信制御装置とも言う)2、4が使用されているビデオ配信システムの一例を示すブロック図である。第1の実施の形態では、IEEE1394搭載装置より出力される種々のアイソクロナス・パケットを高品質にIPネットワークによって通信できるようにするという目的を、サーバ側の通信制御装置2では、受信したアイソクロナス・パケットをIPパケットに変換する際に順序情報、若しくは時間情報を付加することで、クライアント側の通信制御装置4でのIPパケットの整列、欠落の検出を可能とし、クライアント側の通信制御装置4では、IPパケット整列を行うとともに、欠落の検出結果により、欠落したIPパケットに対応するアイソクロナス・パケット出力時にエンプティ・アイソクロナス・パケットの生成を行い、IEEE1394シリアルバス7よりアイソクロナス・パケットとして出力することで高品質の映像・音声再生を実現した。
まず、第1の実施の形態において、後述するサーバ側のサブシステムで、IEEE1394シリアルバス6より受信したアイソクロナス・パケットを付加情報とともにIPパケットに変換する通信制御装置2について説明する。
本発明で使用するIEEE1394シリアルバスでは、種々のデータが伝送可能だが、連続した映像・音声データの伝送には、アイソクロナス・パケットが用いられる。アイソクロナス・パケット伝送は、図2に示すように125μsecごとにサイクルマスターが送出するサイクルスタートパケットに同期して、アイソクロナス・パケットが伝送される。1回のサイクルで使用可能な時間、つまり、帯域をあらかじめ予約することと相まって、アイソクロナス伝送では、定められた遅延時間内での連続データの伝送を可能としている。このアイソクロナス・パケットのデータ・ブロック内には、MPEG2やDV方式などのデータが収められ、受信側では、これを順次デコードすることで、再生映像を得ることが可能となっている。このとき、受信側では、IEEE1394シリアルバスを用いてアイソクロナス・パケットで伝送されるデータは、定められた遅延時間内に順次到達する前提でデコードするため、アイソクロナス・パケットの欠落や遅延、到達順変更などが起こるとデコードに失敗し、再生映像の停止やノイズ発生の原因となる。
第1の実施の形態では、これらを防止するため、サーバ側で付加情報を作成し、これをアイソクロナス・パケットに付加してIPパケット化し、クライアント側では、付加情報に基づき、アイソクロナス・パケットの欠落の検出、整列などを行うものである。
図1に示すビデオ配信システムでは、MPEG2形式のデータをIEEE1394アイソクロナス・パケットで出力可能なD−VHS方式のVTR(以下、DVHS)1と、第1のIP−IEEE1394通信制御装置2と、第2のIP−IEEE1394通信制御装置4と、MPEG2形式のIEEE1394アイソクロナス・パケットを受信可能なDVHS5とを備えている。通信制御装置2、4間のネットワーク接続をLAN3としているが、WANなどの接続でも構わない。
このビデオ配信システムにおいて、第1のIP−IEEE1394通信制御装置2とDVHS1とはIEEE1394シリアルバス6によって相互に接続されて1つのサブシステムを構成し、このサブシステムはビデオサーバとして機能する。第2のIP−IEEE1394通信制御装置4とDVHS5もIEEE1394シリアルバス7によって相互に接続されて1つのサブシステムを構成し、このサブシステムはビデオクライアントとして機能する。そして、第1のIP−IEEE1394通信制御装置2と第2のIP−IEEE1394通信制御装置4とは共にLAN3に接続されている。なお、第1のIP−IEEE1394通信制御装置2と第2のIP−IEEE1394通信制御装置4は、同一セグメントに属し、それぞれ、“192.0.1.1”と“192.0.1.2”というIPアドレスが設定されている。
次にビデオサーバとして動作する第1のIP−IEEE1394通信制御装置2における処理を説明する。図3は、ビデオサーバとして動作する第1のIP−IEEE1394通信制御装置2のIEEE1394シリアルバス6からIP綱への中継機能を実現する部分の構成を示すブロック図である。始めにDVHS1で、MPEG2形式で録画されたテープの再生を開始すると、IEEE1394シリアルバス6上にMPEG2データがアイソクロナス・パケットとして順次出力される。これをアイソクロナスパケット受信部10で順次受信し、バッファメモリ11に蓄積する。ここで、受信されたアイソクロナス・パケットは、図4に示す構成となっている。アイソクロナス・パケットは、1394パケットヘッダとデータフィールド及び各々のCRCで構成され、データフィールド内には、CIP(Common Isochronous Packet)ヘッダとデータ・ブロックが収められている。このデータ・ブロック部分にはMPEG2データなどが収められている。
次にアイソクロナス−IPパケット変換部12では、受信したアイソクロナス・パケットの宛先IPアドレス(192.0.1.2)を設定するとともに付加情報生成部14の情報に基づき付加情報を加えてIPパケットを生成する。付加情報としては、アイソクロナス・パケットをIPパケットに変換するごとに増加する整数値を使用することができる。この場合、付加情報生成部14は、IPパケットに変換するごとに1つ増加するカウンタで構成される。また、アイソクロナス・パケットが125μsecごとに伝送されることを利用して、IEEE1394シリアルバス6の時刻情報を付加情報として利用することも可能である。この時刻情報は、サイクルスタートパケット内、あるいはDV、MPEG2のような伝送方式に応じた形式でアイソクロナス・パケットのデータ・ブロック内に収められている。この場合、付加情報生成部14は、これらより時刻情報を取得するように構成される。このようにして生成された付加情報は、図5に示すようにアイソクロナス・パケットと共にIPパケットを構成する。IPパケットの詳細については、RFC791などで公開されている。続いて、生成されたIPパケットは、IPパケット送受信部13より順次IPネットワークに送出される。
次に本発明で使用する付加情報と付加情報を利用したアイソクロナス・パケットの整列処理について説明する。図6はビデオクライアントとして動作する第2のIP−IEEE1394通信制御装置4のIP網からIEEE1394シリアルバス7ヘの中継機能を実現する部分の構成を示すブロック図である。始めにビデオサーバ側の第1のIP−IEEE1394通信制御装置2より出力されたIPパケットがIPパケット送受信部20で受信される。受信されたIPパケットは、IPパケット整列部21で整列され、バッファメモリ22に順次蓄積される。通常、IPネットワーク上では、IPパケットの伝送時間、伝送間隔の変動量は保証されていないが、所定数のIPパケットをバッファリングすることで対応することが可能となる。また、IPネットワーク上を伝送されるIPパケットには、欠落、重複や伝送順序の変更が発生する場合もある。IPパケット整列部21では、IPパケットより付加情報を読み出し、これに基づき、IPパケットを本来の伝送順序に整列させることで、重複、順序誤りに対応する。
図7はこの動作を模式的に示したものである。図7(a)はサーバ側でアイソクロナス・パケットを受信し、付加情報を付加した状態を表したものである。ここでは、アイソクロナス・パケットを受信した順序を1〜10の数字で示しているが、これは便宜的に付けたもので、アイソクロナス・パケット自体に含まれる情報ではない。また、付加情報についても、同様に1〜10の数字で示しているが、アイソクロナス・パケットの受信順序を示す連続数値であれば構わない。
図7(b)は図7(a)のアイソクロナス・パケットをIPパケット化し、IPネットワーク上を伝送されたIPパケットをクライアント側で受信したときのIPパケットの状態を示す。ここでは、IPパケットを受信した順序を1〜10の数字で示しているが、これは便宜的に付けたものである。図7(b)では、IPパケット受信順序=3、4でアイソクロナス・パケットの受信順序の逆転が発生し、また、IPパケット受信順序=9、10でアイソクロナス・パケットは重複している。
図7(c)はクライアント側のIPパケット整列部21で、付加情報に従って整列されたIPパケットの状態を示し、これにより、図7(b)に見られたアイソクロナス・パケットの順序の逆転は解消され、また、重複したアイソクロナス・パケットは削除されていることが分かる。また、付加情報=6のアイソクロナス・パケットが図7(b)のIPパケット受信順序=1〜9間では到着していないことが判明する。IPパケット整列部21は、前記のように受信したIPパケットの整列、重複の削除、欠落の検出を繰り返し実行することで、アイソクロナス・パケットをサーバ側で送信した本来のデータ順序に保つように作用する。
次にIP−アイソクロナスパケット変換部23では、IPパケットよりIPヘッダ、付加情報を取り去り、順次アイソクロナス・パケットヘと変換する。変換されたアイソクロナス・パケットは、アイソクロナスパケット送出部24よりIEEE1394シリアルバス7に順次出力される。このIEEE1394シリアルバス7に出力されたアイソクロナス・パケットをDVHS5で受信することで、DVHS5に接続された図示していない表示装置で、DVHS1から出力された映像が再生される。
次にクライアント側においてアイソクロナス・パケットをIEEE1394シリアルバス7上に送出すベきタイミングで、該当するアイソクロナス・パケットが欠落している場合の処理について説明する。一般的にIPネットワーク上を伝送されるIPパケットの信頼性は高くなく、前述したようにIPパケットの欠落、重複、順序変更が発生する。これらについては既に説明した。また、IPパケットの伝送時間や伝送間隔についても何ら保証されていない。このため、バッファメモリ22を構成し、IPパケット受信の際、所定の時間蓄積後にアイソクロナス・パケットを送出するように構成することで、伝送時間や伝送間隔の変動を吸収する。ここで、IEEE1394シリアルバス6、7上のアイソクロナス・パケットの伝送は、図2に示したように125μsecごとに連続して行われるものであり、クライアント側のIEEE1394シリアルバス7ヘのアイソクロナス・パケットの出力も同様に行われる。このため、サーバ側で送出したアイソクロナス・パケットが伝送路上で欠落した場合は、バッファメモリ22の蓄積アイソクロナス・パケット数が漸次減少し、伝送時間や伝送間隔の変動を吸収する機能が失われてゆくおそれがある。
通常、本発明のIP−アイソクロナスパケット変換部23では、IPパケット整列部21により整列された状態のIPパケット(図7の(c))から、図5に示したIPヘッダ部分と付加情報部分を削除してアイソクロナス・パケットへの変換処理を行い、続いてアイソクロナスパケット送出部24がアイソクロナス・パケットをIEEE1394シリアルバス7ヘ送出する処理を行う。
しかし、前記変換時においてアイソクロナス・パケットの欠落(図7(c)の付加情報=6に相当する部分)がある場合には、IP−アイソクロナスパケット変換部23で異なる処理を行う。この処理について図7を用いて説明する。通常、IP−アイソクロナスパケット変換部23は、図7(c)に示すように整列されたIPパケットを順次アイソクロナス・パケットに変換する処理を実行する。IP−アイソクロナスパケット変換部23では、IPパケットをバッファメモリ22から取り出すとともに、その付加情報を調べ、順番通りのIPパケットであることを確認する。図7(c)の例では、付加情報=1〜5までは、IPパケットの欠落はないので順番通りのアイソクロナス出力が可能である。さらに次のIPパケットの変換のためにバッファメモリ22から取り出しを実行する。この際、付加情報=6に相当するIPパケットは欠落しているためバッファメモリ22に存在せず、取得したIPパケットの付加情報は7となっている。したがって、IP−アイソクロナスパケット変換部23では、付加情報として5の次に7となるので、付加情報=6のIPパケット1個が欠落していることを検出する。
この場合、まず、IP−アイソクロナスパケット変換部23は、IPパケットをアイソクロナス・パケットに変換する処理を行う際、バッファメモリ22より取得した付加情報=7のIPパケットよりIPヘッダ、付加情報を除去し、アイソクロナス・パケットの状態とする処理を行う。この後、変換したアイソクロナス・パケットのうち、図4に示したデータブロックを除去し、図4に示した1394パケット・ヘッダのデータ長の値を本来の値からデータブロックのバイト数分を減じた値としたアイソクロナス・パケットをIPパケットの欠落数分、生成し、アイソクロナスパケット送出部24よりIEEE1394シリアルバス7に出力する。ここでは、IPパケットの欠落数は1であるので、1個のデータブロックの存在しないアイソクロナス・パケットが出力される。続いてIP−アイソクロナスパケット変換部23は、本来の付加情報=7に対応するアイソクロナス・パケットを送出し、通常の動作に戻る。
ここで示したデータブロックの存在しないアイソクロナス・パケットは、いわゆるエンプティ・アイソクロナス・パケット(エンプティパケットとも言う)と呼ばれるものである。これにより、本来のアイソクロナス・パケットが存在しないため再生映像に影響を及ぼす可能性はあるが、バッファメモリ22ヘのアイソクロナス・パケットの蓄積数の低下による伝送時間や伝送間隔の変動を吸収する機能の低下を防止することが可能となる。
本発明では、欠落したアイソクロナス・パケットを送出すべきタイミングで、エンプティパケットを送出するものとしている。この欠落したアイソクロナス・パケットを送出すベきタイミングのIEEE1394シリアルバス7のアイソクロナス転送サイクルにおいてアイソクロナス・パケットの送出を行わない構成も考えられる。しかしながら、前述のようにアイソクロナス転送は125μsecごとに行われるため、アイソクロナス転送サイクルごとにアイソクロナス・パケットの送出の有無を制御することは困難であり、実現するためには専用の回路構成が必要なため、大幅なコストアップにつながる。また、IEC61883の規格上でも、送出すべきデータがない場合は、エンプティパケットを送出するよう定められている。このため、本発明では、エンプティパケットを送出する構成としている。
次に第1の実施の形態の通信制御方法について説明する。図8は第1の実施の形態の通信制御方法を実現する通信制御装置2、4のハードウェア構成を示したものである。CPU30はバス34を介して、メモリ31に記憶されているプログラムを読み出して実行し、通信制御を行う。イーサネット(登録商標)(Ethernet(登録商標))I/F32、IEEE1394I/F33も同様にバス34に接続され、プログラムに従い、CPU30によりIPネットワーク、IEEE1394シリアルバス6、7とのデータの送受信が行われる。これらの外部との接続は、図1に示したものとなる。
始めにサーバ側の処理について説明する。図1では第1のIP−IEEE1394通信制御装置2がサーバ側の装置に該当する。図9はサーバ側の処理を行うプログラムのフローチャートである。ステップS1で、CPU30はIEEE1394シリアルバス6より受信するアイソクロナスチャンネルの設定を行う。チャンネルの値はIEEE1394シリアルバス6を介してDVHS1と通信を行い決定されたものや、ユーザが別途指定したものである。このチャンネルの値src_chは、CPU30によってメモリ31に保存される。ステップS2では同様に送出IPアドレスの設定が行われる。ここでは、クライアント側の第2の通信制御装置4のIPアドレスが設定され、CPU30によって送出IPアドレスdts_addr=192.0.1.2がメモリ31に保存される。
ステップS3では付加情報Nの初期化が行われる。ここで、付加情報Nはアイソクロナス・パケット受信ごとに1ずつ増加する値である。この付加情報Nのビット数は、パケット欠落の検出精度に関わるものであるため、IPネットワークの品質により決定する必要がある。ここでは、8ビットで構成する。この8ビットのデータ長は、アイソクロナス・パケットの毎秒の送出数(8000個)から計算すると(256÷8000=0.032)、32msecの時間に相当する。これより、8ビットのデータ長の付加情報Nは、32msecを超える連続した欠落には対応できないことが分かる。CPU30は、8ビットのデータ長の付加情報N=0をメモリ31に保存する。
続いてステップS4で、CPU30はIEEE1394I/F33により受信されたアイソクロナス・パケットを取得し、メモリ31に保存する。続いてステップS5で、CPU30は、メモリ31に保存された1394アイソクロナス・パケットヘッダのチャンネルの値とメモリ31に保存した受信アイソクロナスチャンネルの値src_chを比較する。比較の結果、値が異なる場合は、IPパケットに変換すべきパケットではないので、再度、ステップS4に戻る。比較の結果、値が等しい場合は、ステップS6に進み、CPU30は、メモリ31に保存した付加情報Nを1つ増加させ、再度、メモリ31に保存する。なお、付加情報Nを8ビットのデータ長で構成しているため、付加情報Nは255を超えると0に値が戻る。続いてIPパケットへの変換処理を実行する。
ステップS7では、IPパケット送出データを収めるメモリ31上に確保された配列msg[]の先頭にメモリ31に保存した付加情報Nの値をコピーし、送出データのデータ長msglenを1にセットし、メモリ31に保存する。続いて、ステップS8では、CPU30は、受信したアイソクロナス・パケットをメモリ31上に確保された配列msg[]の付加情報Nの格納領域の次のアドレス以降にコピーし、送出データのデータ長msglenにアイソクロナス・パケットのデータ長を加算し、メモリ31に保存する。ステップS9では、CPU30は送出IPアドレスdts_addr、IPパケット送出データのデータ長msglen、IPパケット送出データ配列msg[]などをパラメータとしてIPパケット送出ルーチンを呼び出す。以降、CPU30はステップS4に戻り、同様の処理を繰り返す。
次にクライアント側の処理について説明する。クライアント側では図10に示すIPパケットの受信処理と、図12〜図14に示すアイソクロナス・パケットの出力処理が通信制御装置4のCPU30で実行される。始めにIPパケットの受信処理について説明する。これについてのフローチャートを図10に示す。IPパケットの受信処理では、受信したデータを順次バッファメモリ22に格納する。ここで、受信バッファのメモリ31上の構成を図11に示す。受信バッファはメモリ31上に確保された領域であり、Validフラグ格納領域とアイソクロナス・パケット格納領域を1単位とした配列recvbuf[]で構成されている。この配列の要素位置は配列番号で示される。メモリ31上には、
(アイソクロナス・パケットの最大データ長+Validフラグデータ長)×配列要素数
の領域が確保される。ここで、配列要素数は付加情報の最大値+1、つまり256とする。
(アイソクロナス・パケットの最大データ長+Validフラグデータ長)×配列要素数
の領域が確保される。ここで、配列要素数は付加情報の最大値+1、つまり256とする。
続いて動作フローを説明する。ステップS10では送出元IPアドレスの設定が行われる。ここではサーバ側である第1の通信制御装置2のIPアドレスが設定され、CPU30によって受信IPアドレスsrc_addr(192.0.1.1)がメモリ31に保存される。ステップS11では受信バッファの初期化が行われる。CPU30は前述の配列領域をメモリ31上に確保し、各配列要素のValidフラグをリセット(0に設定)する。続いて、ステップS12でCPU30はEthernet(登録商標)I/F32により受信されたIPパケットを取得し、メモリ31に保存する。続いてステップS13でCPU30はメモリ31に保存されたIPパケットヘッダの送信元アドレスの値とメモリ31に保存した受信IPアドレスのsrc_addrを比較する。比較の結果、値が異なる場合は、アイソクロナス・パケットに変換すベきパケットではないので、再度、ステップS12に戻る。
比較の結果、値が等しい場合は、ステップS14に進み、CPU30はメモリ31に保存したIPパケットより付加情報Nを読み出す。ステップS15ではアイソクロナス・パケットに変換するデータを収めるメモリ31上に確保された配列recvbuf[]の要素番号N(=付加情報)にIPヘッダ、付加情報を除き、アイソクロナス・パケットのみコピーする。続いてステップS16でCPU30は同様にアイソクロナス・パケットに変換するデータを収めるメモリ31上に確保された配列recvbuf[]の要素番号NのValidフラグをセット(1に設定)する。以降、CPU30はステップS12に戻り同様の処理を繰り返す。
次にバッファに保存したIPパケットをアイソクロナス・パケットに変換して出力する処理を図12〜図14のフローチャートで説明する。ステップS21でCPU30は、バッファ読み出し位置、つまり配列recvbuf[]の要素番号を示す変数であるバッファ読み出しポインタrptrを初期化してメモリ31に保存する。ステップS22でCPU30はIPパケットの連続欠落数を示すカウント値lossを初期化してメモリ31に保存する。ステップ23でCPU30はメモリ31に保存したバッファの読み出し位置rptrを読み出し、rptrの示す配列recvbuf[]のValidフラグを読み出す。ステップS24でCPU30はValidフラグの値が1であるかの判断をする。Validフラグの値が1であればIPパケットの欠落はないのでステップS26に移り、図14に詳しく示す通常のアイソクロナス・パケット出力処理を実行する。また、Validフラグの値が1でなければIPパケットの欠落が発生していると判断し、ステップS25に移り、図13に詳しく示すパケット欠落処理を実行する。ステップS25、ステップS26の処理が終わったCPU30はステップS23に戻り、同様の処理を繰り返す。
続いて、ステップS25のパケット欠落処理について図13のフローチャートで説明する。ステップS40でCPU30はパケット欠落カウンタlossに1加算し、これをメモリ31に保存する。ステップS41でCPU30はバッファ読み出し位置rptrに1加算して次の要素を示すようにし、メモリ31に保存する。ステップS42でCPU30はrptrの示すバッファのValidフラグを読み出す。ステップS43でCPU30はValidフラグの値からIPパケットの欠落を判断する。Validフラグの値が0であればIPパケットの欠落と判断し、ステップS40に戻る。以下、同様の処理を繰り返すことで、パケット欠落カウンタlossの値は、連続したIPパケットの欠落数を示し、バッファ読み出し位置rptrの値は、連続したIPパケット欠落の次のIPパケットを収めたバッファ位置を示す。最終的にIPパケットの連続した欠落部分がなくなると、ステップS43よりステップS44に移る。
ステップS44でCPU30はrptrの示す位置の配列recvbuf[]よりアイソクロナス・パケット部分を読み出す。ステップS45では、取得したアイソクロナス・パケットより、図4に示したデータブロックを削除し、データ長の値を変更したものをアイソクロナス出力データとしてメモリ31に保存する。これは、データブロックを含まない、いわゆるエンプティ・アイソクロナス・パケットと呼ばれるものである。続いてステップS46でCPU30はメモリ31に保存したアイソクロナス・パケットの送出を指示する。ここでの実際のアイソクロナス・パケットの送出は、さらに下位のプログラムで実行され、IEEE1394I/F33とIEEE1394シリアルバス7に接続されたDVHS5で決定されるタイミングにより順次出力が行われる。
次にステップS47でCPU30はパケット欠落カウンタlossを1減算してメモリ31に保存する。ステップS48でCPU30はパケット欠落カウンタlossが0であるか判断する。パケット欠落カウンタlossの値が0でないときはステップS46に戻り、同様の処理を繰り返し、IPパケット欠落数分のエンプティ・アイソクロナス・パケットの出力を行う。ステップS48でパケット欠落カウンタlossの値が0であると判断された場合はステップS49に移る。ステップS49では通常のアイソクロナス・パケット出力処理を行う。このとき、バッファ位置rptrは、連続したIPパケット欠落の次のIPパケットを収めたバッファ位置を示している。
最後に通常のアイソクロナス・パケット出力処理について図14のフローチャートで説明する。ステップS30でCPU30はメモリ31よりバッファrecvbuf[]のrptrの位置のアイソクロナス・パケットを読み出す。ステップ31で読み出したアイソクロナス・パケットをアイソクロナス出力データとしてメモリ31に保存する。ステップS32でCPU30はメモリ31に保存したアイソクロナス・パケットの送出を指示する。ステップS33でCPU30はバッファ読み出し位置rptrを1加算し、メモリ31に保存する。
<第2の実施の形態>
ここで、アイソクロナス伝送で使用されるアイソクロナス・パケットのデータ・ブロック部分のデータ長は、何種類かの固定長が規定されている。前述のようにアイソクロナス伝送が125μsecごとに行われることと、データ・ブロック長が固定であることにより、送出すベきデータが存在しない場合がある。この場合、アイソクロナス伝送では、図4に示したデータブロック部分が無く、CIPヘッダのみで構成されたパケットであるエンプティ・アイソクロナス・パケットを送出することとなっている。
ここで、アイソクロナス伝送で使用されるアイソクロナス・パケットのデータ・ブロック部分のデータ長は、何種類かの固定長が規定されている。前述のようにアイソクロナス伝送が125μsecごとに行われることと、データ・ブロック長が固定であることにより、送出すベきデータが存在しない場合がある。この場合、アイソクロナス伝送では、図4に示したデータブロック部分が無く、CIPヘッダのみで構成されたパケットであるエンプティ・アイソクロナス・パケットを送出することとなっている。
次にビデオサーバとして動作する第2の実施の形態の第1のIP−IEEE1394通信制御装置2における処理を説明する。図15は図1のシステムにおいてビデオサーバとして動作する第2の実施の形態の第1のIP−IEEE1394通信制御装置2のIEEE1394シリアルバス6からIP網への中継機能を実現する部分の構成を示すブロック図である。始めにDVHS1で、MPEG2形式で録画されたテープの再生を開始すると、IEEE1394シリアルバス6上にMPEG2データがアイソクロナス・パケットとして順次出力される。これをアイソクロナスパケット受信部10で順次受信し、バッファメモリ11に保存する。ここで、受信されたアイソクロナス・パケットは、図4に示す構成となっている。アイソクロナス・パケットは1394パケットヘッダとデータフィールド、各々のCRCで構成され、データフィールド内にはCIP(Commn Isochronous Packet)ヘッダとデータ・ブロックが収められている。このデータ・ブロック部分にはMPEG2データなどが収められている。
次にアイソクロナス−IPパケット変換部12では、受信したアイソクロナス・パケットの宛先IPアドレス(192.0.1.2)を設定するとともにエンプティパケットカウント部15の情報に基づき付加情報を加えてIPパケットを生成し、エンプティパケットカウント部15のカウント値を0にする。この際、受信したアイソクロナス・パケットが、エンプティ・アイソクロナス・パケットであったときは、IPパケットの生成を行わず、エンプティパケットカウント部15のカウント値を1つ増加させる。
ここで、付加情報は、送出すべきアイソクロナス・パケットの受信以前に受信したエンプティ・アイソクロナス・パケット数を示すものであり、通常のアイソクロナス・パケットの送出ごとに0にクリアされる。このようにエンプティ・アイソクロナス・パケット自体は送出せず、存在数のみ送出する処理を行う。このようにして生成された付加情報は、図5に示したようにアイソクロナス・パケットと共にIPパケットを構成する。IPパケットの詳細については、RFC791などで公開されている。続いて、生成されたIPパケットは、IPパケット送受信部13より順次IPネットワークに送出される。
ここでアイソクロナス−IPパケット変換について詳しく説明する。この処理を図16を用いて説明する。図16(a)はアイソクロナスパケット受信部10で受信されたアイソクロナス・パケットがバッファメモリ11に格納された状態を示す。「アイソクロナス・パケット順序」は、受信順序を示すために説明上付加した整数値である。また、「内容」は、アイソクロナス・パケットがエンプティパケットか否かを示すもので、「Empty」と表記されているものは、エンプティパケットであることを示す。この例では、受信順序=1〜3、6〜7が、データ・ブロックが存在するアイソクロナス・パケット、受信順序=4、5がエンプティパケットとなっている。
続いて、バッファメモリ11に格納されたアイソクロナス・パケットは、アイソクロナス−IPパケット変換部12に順次取り込まれ処理が行われる。この際、アイソクロナス・パケット・ヘッダのデータ長の値によりエンプティパケットであるかの判断をする。エンプティパケットは、データ・ブロックが存在しないため、データ長の値はCIPヘッダのデータ長に設定されている。ここで、エンプティパケットカウント部15は内部にカウンタを持ち、データ長>CIPヘッダのデータ長の際に0にリセットし、データ長≦CIPヘッダのデータ長の際に1つ増加する構成となっている。また、データ長≧CIPヘッダのデータ長の場合は、内部カウンタのリセット前に現在のカウント値をアイソクロナス−IPパケット変換部12へ付加情報として送出する。この付加情報生成の状態を示したものが図16(b)である。図16(b)ではアイソクロナス・パケット順序=6において、それ以前に2つのエンプティパケットが存在するため付加情報として2が生成されている。
アイソクロナス−IPパケット変換部12では、バッファメモリ11より取り込まれたアイソクロナス・パケットがデータ長≧CIPヘッダのデータ長である場合は、付加情報生成部であるエンプティパケットカウント部15より送出される付加情報を伴ってIPパケットに変換し、他方、データ長<CIPヘッダのデータ長である場合は、当該アイソクロナス・パケットのIP変換処理を行わない。この処理の状態を示したものが図16(c)である。ここでは、図16(a)に存在したエンプティパケットはIPパケットに変換されず、IPパケット順序=4の付加情報として存在するだけとなっている。このようにして、エンプティパケットはIPパケットヘの変換処理を行わないとともに、付加情報としてエンプティパケットの存在を示す情報を付加する処理が実行される。
次にビデオクライアント側について説明する。図17は図1においてビデオクライアントとして動作する第2のIP−IEEE1394通信制御装置4のIP/アイソクロナスルーティング層のIP網からIEEE1394シリアルバス7への中継機能を実現する部分の構成を示すブロック図である。始めにビデオサーバ側の第1のIP−IEEE1394通信制御装置2より出力されたIPパケットがIPパケット送受信部20で受信される。ここで受信されたIPパケットは、順次バッファメモリ22に格納される。次にIP−アイソクロナスパケット変換部23では、IPパケットよりIPヘッダ、付加情報を取り去り、順次アイソクロナス・パケットへと変換する。このように変換されたアイソクロナス・パケットは、アイソクロナスパケット送出部24よりIEEE1394シリアルバス7に順次出力される。
この際、付加情報の値が1以上である場合は、エンプティ・アイソクロナス・パケットが存在していたので、異なる処理を行う。バッファメモリ22より取得したIPパケットデータの付加情報が1以上である場合、始めに付加情報相当数のエンプティ・アイソクロナス・パケットを生成する。このエンプティパケットの生成においては、IPパケットよりIPヘッダ、付加情報、アイソクロナス・パケットのデータ・ブロックを取り去り、アイソクロナス・パケット・ヘッダのデータ長をCIPヘッダのデータ長とする処理が行われる。このようにして生成されたエンプティパケットに対して付加情報に設定された値の回数だけ、上記処理がアイソクロナスパケット送出部24により実行され、IEEE1394シリアルバス7に順次出力される。その後、この付加情報が付加されていたIPパケットのアイソクロナス・パケットの出力を行う。
以上の処理によりサーバ側でエンプティ・アイソクロナス・パケットのIP伝送を行わなくても、ビデオサーバ側で受信したアイソクロナス・パケットがビデオクライアント側でも再現することが可能となる。
以上の処理によりサーバ側でエンプティ・アイソクロナス・パケットのIP伝送を行わなくても、ビデオサーバ側で受信したアイソクロナス・パケットがビデオクライアント側でも再現することが可能となる。
次に第2の実施の形態の通信制御方法について説明する。第2の実施の形態の通信制御方法を実現する通信制御装置2、4のハードウェア構成は図8と同じであるのでその詳細な説明は省略する。始めにサーバ側の処理について説明する。図1では第1のIP−IEEE1394通信制御装置2がサーバ側の装置に該当する。図18はサーバ側の処理を行うプログラムのフローチャートである。ステップS101ではCPU30はIEEE1394シリアルバス6より受信するアイソクロナスチャンネルの設定を行う。チャンネルの値は、IEEE1394シリアルバス6を介してDVHS1と通信を行い、決定されたものやユーザが別途指定したものである。このチャンネルの値src_chは、CPU30によってメモリ31に保存される。
ステップS102では、同様に送出IPアドレスの設定が行われる。ここでは、クライアント側の第2の通信制御装置4のIPアドレスが設定され、CPU30によって送出IPアドレスdts_addr=192.0.1.2がメモリ31に保存される。ステップS103では付加情報Nの初期化が行われる。ここで、付加情報は、エンプティ・アイソクロナス・パケット受信ごとに1つ増加する値とし、通常のアイソクロナス・パケットの受信で0にリセットされる。CPU30は、付加情報N=0をメモリ31に保存する。ステップS104でCPU30は、IEEE1394I/F33により受信されたアイソクロナス・パケットを取得してメモリ31に保存する。
続いてステップS105で所定のチャンネルを確認すると、次のステップS106で、CPU30はメモリ31に保存された1394アイソクロナス・パケットのヘッダのデータ長の値がCIPヘッダのデータ長(8バイト)より大きいかの比較を行う。データ長が8バイト以下であれば、エンプティ・アイソクロナス・パケットであると判断し、ステップS109Bに移る。ステップS109Bでは、CPU30はメモリ31に保存した付加情報Nを読み出し、1加算して、メモリ31に保存する。以降、ステップS104に戻り、同様の処理を行う。
ステップS106でデータ長が8バイトより大きいと判断された場合、通常のアイソクロナス・パケットの受信と判断して、ステップS107に移る。ステップS107ではIPパケット送出データを収めるメモリ31上に確保された配列msg[]の先頭にメモリ31に保存した付加情報Nの値をコピーし、送出データのデータ長msglenを1にセットし、メモリ31に保存する。続いて、ステップS108ではCPU30は受信したアイソクロナス・パケットをメモリ31上に確保された配列msg[]の付加情報Nの格納領域の次のアドレス以降にコピーし、送出データのデータ長msglenにアイソクロナス・パケットのデータ長を加算し、メモリ31に保存する。ステップS109ではCPU30は送出IPアドレスdts_addr、IPパケット送出データのデータ長msglen、IPパケット送出データ配列msg[]などをパラメータとしてIPパケット送出ルーチンを呼び出す。続いてステップS109AでCPU30はメモリ31に保存した付加情報Nを0にリセットする。以降、CPU30はステップS104に戻り、同様の処理を繰り返す。
次にクライアント側の処理について説明する。クライアント側では図19に示すIPパケットの受信処理と図20〜図22に示すアイソクロナス・パケットの出力処理がCPU30で実行される。始めにIPパケットの受信処理について説明する。IPパケットの受信処理では、受信したデータを順次バッファメモリ22に格納する。ここで、受信バッファのメモリ31上での構成を図23に示す。受信バッファはメモリ31上に確保された領域で、付加情報格納領域とアイソクロナス・パケット格納領域を一単位として構成されている。
続いて動作フローを説明する。ステップS110では受信IPアドレスの設定が行われる。ここでは、サーバ側である第1の通信制御装置2のIPアドレスである送出元IPアドレスが設定され、CPU30によって受信IPアドレスsrc_addr=192.0.1.1がメモリ31に保存される。ステップS111では受信バッファの初期化が行われる。CPU30は前述の配列領域をメモリ31上に確保し、各配列要素の付加情報部分をリセット(0に設定)する。続いて、ステップS112でCPU30はEthernet(登録商標)I/F32により受信されたIPパケットを取得し、メモリ31に保存する。続いて、ステップS113でCPU30はメモリ31に保存されたIPパケットヘッダの送信元アドレスの値とメモリ31に保存した受信IPアドレスの値src_addrを比較する。比較の結果、値が異なる場合は、アイソクロナス・パケットに変換すべきパケットではないので、再度、ステップS112に戻る。比較の結果、値が等しい場合は、ステップS114に進み、CPU30はメモリ31上に確保された領域にIPヘッダを除き、付加情報とアイソクロナス・パケットのみコピーする。以降、CPU30はステップS112に戻り、同様の処理を繰り返す。
次にバッファに保存したIPパケットをアイソクロナス・パケットに変換し出力する処理を図20〜図22のフローチャートで説明する。ステップS121でCPU30は、メモリ31のバッファ領域より付加情報Nを読み出す。続いて、ステップS122でCPU30は付加情報Nが0であるかの判断を行う。0であると判断した場合はステップS123に移り、図22に示す通常のアイソクロナス・パケット処理を行った後、ステップS121に戻り、同様の処理を繰り返す。ステップS122で0でないと判断した場合はステップS124に移り、図23に示すエンプティパケット処理を行った後、ステップS121に戻り、同様の処理を繰り返す。
続いて、ステップS124のエンプティパケット処理について図21のフローチャートで説明する。ステップS140でCPU30はメモリ21のバッファ領域よりアイソクロナス・パケットを読み出す。続いてステップS141でCPU30はステップS140で読み出したアイソクロナス・パケットのデータブロック部分を削除し、パケットヘッダのデータ長の値をCIPヘッダのデータ長(8バイト)にセットし、エンプティ・アイソクロナス・パケットを生成する。ステップS142では、生成したエンプティ・アイソクロナス・パケットをアイソクロナス出力データとしてメモリ31に保存する。続いてステップS143でCPU30は、メモリ31に保存したアイソクロナス・パケットの出力を指示する。ここでの実際のアイソクロナス・パケットの出力は、さらに下位のプログラムで実行され、IEEE1394I/F33とIEEE1394シリアルバス7に接続されたDVHS5で決定されるタイミングにより順次出力が行われる。
次にステップS144で、CPU30はメモリ31に保存した付加情報Nを読み出して1減算し、メモリ31に保存する。ステップS145ではCPU30はメモリ31に保存した付加情報Nが0であるかの判断を行う。0でないと判断した場合はステップS143に移り、同様の処理を繰り返す。0であると判断した場合は、ステップS146に移る。ステップS146では、これ以前の処理で必要な数のエンプティ・アイソクロナス・パケットの出力を行ったので、今度は本来のアイソクロナス・パケットの出力を行う。ここで、CPU30はステップS140で読み出したものと同じアイソクロナス・パケットを再度メモリ31より読み出す。ステップS147では、読み出したアイソクロナス・パケットをアイソクロナス出力データとしてメモリ31に保存する。ステップS148ではCPU30はメモリ31に保存したアイソクロナス・パケットの送出を指示する。
最後に通常のアイソクロナス・パケット出力処理について図22のフローチャートで説明する。ステップS130でCPU30はメモリ31よりアイソクロナス・パケットを読み出す。ステップS131で、読み出したアイソクロナス・パケットをアイソクロナス出力データとして、メモリ31に保存する。ステップS132で、CPU30はメモリ31に保存したアイソクロナス・パケットの出力を指示する。
以上の説明では、IEEE1394規格に対応する機器として、MPEG2データを記録再生するDVHS1、5について説明したが、IEEE1394シリアルバスのアイソクロナス転送を利用するDV方式のVCRなどでも同様に利用可能である。
1、5 DVHS
2、4 IP−IEEE1394通信制御装置
3 LAN
6、7 IEEE1394シリアルバス
10 アイソクロナスパケット受信部
11 バッファメモリ
12 アイソクロナス−IPパケット変換部
13 IPパケット送受信部
14 付加情報生成部
15 エンプティパケットカウント部
20 IPパケット送受信部
21 IPパケット整列部
22 バッファメモリ
23 IP−アイソクロナスパケット変換部
24 アイソクロナスパケット送出部
30 CPU
31 メモリ
32 Ethernet(登録商標)I/F
33 IEEE1394I/F
34 バス
2、4 IP−IEEE1394通信制御装置
3 LAN
6、7 IEEE1394シリアルバス
10 アイソクロナスパケット受信部
11 バッファメモリ
12 アイソクロナス−IPパケット変換部
13 IPパケット送受信部
14 付加情報生成部
15 エンプティパケットカウント部
20 IPパケット送受信部
21 IPパケット整列部
22 バッファメモリ
23 IP−アイソクロナスパケット変換部
24 アイソクロナスパケット送出部
30 CPU
31 メモリ
32 Ethernet(登録商標)I/F
33 IEEE1394I/F
34 バス
Claims (8)
- 送信元機器と受信先機器とをそれぞれIEEE1394規格に基づくIEEE1394シリアルバスとインターネットプロトコルに基づくIPネットワークとを介して中継接続する通信制御装置であって、
前記送信元機器から前記IEEE1394シリアルバスを介して供給されるアイソクロナス・パケットの順番を示す情報を付加情報として生成する付加情報生成手段と、
前記生成された付加情報を前記アイソクロナス・パケットに付加し、前記インターネットプロトコルに基づくIPパケットに変換するパケット変換手段とを、
有する構成とした通信制御装置。 - 送信元機器と受信先機器とをそれぞれインターネットプロトコルに基づくIPネットワークとIEEE1394規格に基づくIEEE1394シリアルバスとを介して中継接続する通信制御装置であって、
前記送信元機器からアイソクロナス・パケットの順番を示す付加情報を含んだ前記インターネットプロトコルに基づくIPパケットを前記IPネットワークを介して受信するIPパケット受信手段と、
前記受信したIPパケットを前記付加情報に基づいて元の順番に整列させるIPパケット整列手段と、
前記IPパケット整列手段により整列された前記IPパケットを受信先機器に中継すべきアイソクロナス・パケットに変換するパケット変換手段と、
前記パケット変換手段により変換されたアイソクロナス・パケットを前記IEEE1394シリアルバスを介して前記受信先機器に出力するアイソクロナス・パケット出力手段とを、
有する構成とした通信制御装置。 - 送信元機器と受信先機器とをそれぞれIEEE1394規格に基づくIEEE1394シリアルバスとインターネットプロトコルに基づくIPネットワークとを介して中継接続する通信制御方法であって、
前記送信元機器から前記IEEE1394シリアルバスを介して供給されるアイソクロナス・パケットの順番を示す情報を付加情報として生成する付加情報生成ステップと、
前記生成された付加情報を前記アイソクロナス・パケットに付加し、前記インターネットプロトコルに基づくIPパケットに変換するパケット変換ステップとを、
有する通信制御方法。 - 送信元機器と受信先機器とをそれぞれIEEE1394規格に基づくIEEE1394シリアルバスとインターネットプロトコルに基づくIPネットワークとを介して中継接続する通信制御装置であって、
前記送信元機器から前記IEEE1394シリアルバスを介して供給されるアイソクロナス・パケットがエンプティ・アイソクロナス・パケットか否かを判断するパケット判断手段と、
前記パケット判断手段によりエンプティ・アイソクロナス・パケットでないと判断されたアイソクロナス・パケットを前記受信先機器に中継すべき前記IPパケットに変換し、エンプティ・アイソクロナス・パケットと判断されたアイソクロナス・パケットを前記IPパケットに変換しないパケット変換手段とを、
有する構成とした通信制御装置。 - 前記パケット変換手段は、前記パケット判断手段によりエンプティ・アイソクロナス・パケットと判断された場合に、前記エンプティ・アイソクロナス・パケットが存在することを示す付加情報を、そのパケット位置の前又は後において変換した前記IPパケットに付加することを特徴とする請求項4に記載の通信制御装置。
- IEEE1394規格に対応する送信元機器からIEEE1394シリアルバスを介して送られてくるアイソクロナス・パケットがエンプティ・アイソクロナス・パケットか否かを判断し、エンプティ・アイソクロナス・パケットでないと判断して変換したIPパケット、及びエンプティ・アイソクロナス・パケットと判断してIPパケットに変換せずに、エンプティ・アイソクロナス・パケットが存在することを示す付加情報をそのパケット位置の前又は後において付加した前記IPパケットをIPネットワークを介して受信するIPパケット受信手段と、
前記受信したIPパケットを受信先機器に中継すべき前記アイソクロナス・パケットに変換するとともに、前記付加情報に基づいてエンプティ・アイソクロナス・パケットを生成するパケット変換手段と、
前記パケット変換手段により変換されたアイソクロナス・パケットを他のIEEE1394シリアルバスを介して前記受信先機器に出力するアイソクロナス・パケット出力手段とを、
有する構成とした通信制御装置。 - IEEE1394規格に対応する送信元機器からIEEE1394シリアルバスを介して送られてくるアイソクロナス・パケットをIPパケットに変換し、前記IPパケットをIPネットワークを介して受信先機器に中継する通信制御方法において、
前記送信元機器から送られてくるアイソクロナス・パケットがエンプティ・アイソクロナス・パケットか否かを判断するパケット判断ステップと、
前記パケット判断ステップによりエンプティ・アイソクロナス・パケットと判断されたパケット数をカウントするステップと、
前記パケット判断ステップによりエンプティ・アイソクロナス・パケットでないと判断されたアイソクロナス・パケットを前記受信先機器に中継すべき前記IPパケットに変換するとともに、前記エンプティ・アイソクロナス・パケットと判断されたパケット数を付加情報としてそのパケット位置の前又は後において変換した前記IPパケットに付加するパケット変換ステップとを、
有する通信制御方法。 - IEEE1394規格に対応する送信元機器から第1のIEEE1394シリアルバスを介して送られてくるアイソクロナス・パケットがエンプティ・アイソクロナス・パケットか否かを判断し、エンプティ・アイソクロナス・パケットでないと判断して変換したIPパケット、及びエンプティ・アイソクロナス・パケットと判断してIPパケットに変換せずにそのパケット数をそのパケット位置の前又は後において付加した前記IPパケットをIPネットワークを介して受信するステップと、
前記受信したIPパケットを受信先機器に中継すべき前記アイソクロナス・パケットに変換するとともに、前記受信先機器に中継すべき前記パケット数分のエンプティ・アイソクロナス・パケットを生成するパケット変換ステップと、
前記パケット変換ステップにより変換されたアイソクロナス・パケットを他のIEEE1394シリアルバスを介して前記受信先機器に出力するアイソクロナス・パケット出力ステップとを、
有する通信制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004159261A JP2005341367A (ja) | 2004-05-28 | 2004-05-28 | 通信制御装置及び通信制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004159261A JP2005341367A (ja) | 2004-05-28 | 2004-05-28 | 通信制御装置及び通信制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005341367A true JP2005341367A (ja) | 2005-12-08 |
Family
ID=35494396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004159261A Withdrawn JP2005341367A (ja) | 2004-05-28 | 2004-05-28 | 通信制御装置及び通信制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005341367A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009152709A (ja) * | 2007-12-19 | 2009-07-09 | Oki Electric Ind Co Ltd | 通信パケット中継方法 |
-
2004
- 2004-05-28 JP JP2004159261A patent/JP2005341367A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009152709A (ja) * | 2007-12-19 | 2009-07-09 | Oki Electric Ind Co Ltd | 通信パケット中継方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4874250B2 (ja) | データストリーム通信装置及びデータストリーム通信方法 | |
KR101080541B1 (ko) | 홈 네트워크용 범용 네트워크 인터페이스 | |
JP4042745B2 (ja) | コンテンツ受信器 | |
US6172989B1 (en) | Transmitting apparatus and method, receiving apparatus and method | |
JP3730835B2 (ja) | パケット伝送方法、中継装置およびデータ端末 | |
WO1996034477A1 (fr) | Emetteur de donnees, recepteur de donnees et organe de commande de transmission de donnees | |
EP0828394B1 (en) | A device and method for converting data transfer rate in communication of digital audio/video data | |
WO2004077780A1 (ja) | 送受信システム、送信装置および方法、受信装置および方法 | |
WO2004084516A1 (ja) | 送受信システム、送信装置および方法、受信装置および方法、記録媒体、並びにプログラム | |
JP2007110395A (ja) | ストリームデータ転送装置、ストリームデータ転送方法、及びそれらに用いるプログラム及び記録媒体 | |
WO1997014250A1 (fr) | Systeme de traitement de donnees | |
JP2016005023A (ja) | パケット送信装置及びパケット受信装置 | |
JP2005341367A (ja) | 通信制御装置及び通信制御方法 | |
KR100919216B1 (ko) | 데이터 송신 방법, 수신 방법 및 그 장치 | |
JP4714074B2 (ja) | 伝送装置、送信装置及び受信装置 | |
US6738372B1 (en) | Video data communication device and method | |
JP4491290B2 (ja) | パケットエラー監視型mpegデコーダ、mpeg映像伝送システム及びmpeg映像伝送方法 | |
US6763037B1 (en) | Transmitting apparatus and method, receiving apparatus and method | |
JP2005348323A (ja) | 通信制御装置及び通信制御方法 | |
JP2005167458A (ja) | 音声画像伝送方法 | |
JP4135763B2 (ja) | コンテンツ受信器 | |
Ogawa et al. | Enhancing the quality of dv over rtp with redundant audio transmission | |
Weihs et al. | Convergence between IEEE 1394 and IP for real-time A/V transmission | |
JP4561822B2 (ja) | コンテンツ受信機 | |
JP2005167800A (ja) | データ通信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070807 |