JP4168302B2 - Information receiving apparatus and method, and recording medium - Google Patents
Information receiving apparatus and method, and recording medium Download PDFInfo
- Publication number
- JP4168302B2 JP4168302B2 JP12729099A JP12729099A JP4168302B2 JP 4168302 B2 JP4168302 B2 JP 4168302B2 JP 12729099 A JP12729099 A JP 12729099A JP 12729099 A JP12729099 A JP 12729099A JP 4168302 B2 JP4168302 B2 JP 4168302B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- clock
- network
- receiving
- information
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
Description
【0001】
【発明の属する技術分野】
本発明は、情報送信装置および方法、情報受信装置および方法、情報送受信装置および方法、並びに記録媒体に関し、特に、IEEE1394シリアルデータバスを含む複数のバスの対応関係を記述したマッピングテーブルを参照して、情報を通信する情報送信装置および方法、情報受信装置および方法、情報送受信装置および方法、並びに記録媒体に関する。
【0002】
【従来の技術】
最近、インターネットにおいては、文字情報だけでなく、情報量が大きい高精細な静止画、動画、および音声等が伝送されるようになり、例えば、リアルタイムで音声と画像が通信される、いわゆるインターネットテレビ電話が実現されている。
【0003】
【発明が解決しようとする課題】
ところで、上述したように、インターネットで伝送される情報量が大きくなったことに加え、インターネット利用者が急速に増加したので、その結果として、通信回線(インターネット)が混雑して、サーバへのアクセスに要する時間が増加したり、通信途中で情報の一部が欠落する課題があった。
【0004】
また、インターネットは、約20年前にその仕組みが考案されたものであるので、昨今の技術進化により開発された高速データ通信方式であるATM(Asynchronous Transfer Mode:非同期伝送モード)技術を有効に活用することができない課題があった。
【0005】
本発明はこのような状況に鑑みてなされたものであり、情報が通信途中で欠落することを抑止するとともに、ATM技術を活用した高速な情報通信を可能にするものである。
【0015】
【課題を解決するための手段】
請求項1に記載の情報受信装置は、情報送信装置から送信されたパケットを受信する、情報送信装置とは異なる情報受信装置であって、情報送信装置は、第1のクロックに基づいて動作する第1のネットワークに属し、情報受信装置は、第1のクロックと非同期の第2のクロックに基づいて動作する第2のネットワークに属し、送信されてきたパケットを受信する受信手段と、受信手段が受信したパケットを記憶する記憶手段と、受信手段により受信されたパケットに基づいて、第1のネットワークにおける第1のクロックと、第2のネットワークにおける第2のクロックのずれを検出する検出手段とを備える。
【0016】
請求項5に記載の情報受信方法は、情報送信装置から送信されたパケットを受信する、情報送信装置とは異なる情報受信装置の情報受信方法であって、情報送信装置は、第1のクロックに基づいて動作する第1のネットワークに属し、情報受信装置は、第1のクロックと非同期の第2のクロックに基づいて動作する第2のネットワークに属し、送信されてきたパケットを受信する受信ステップと、受信ステップの処理により受信されたパケットを記憶手段に記憶する記憶ステップと、受信ステップの処理により受信されたパケットに基づいて、第1のネットワークにおける第1のクロックと、第2のネットワークにおける第2のクロックのずれを検出する検出ステップとを含む。
【0017】
請求項7に記載の記録媒体のプログラムは、第1のクロックに基づいて動作する第1のネットワークに属する情報送信装置から送信されたパケットを受信する、第1のクロックと非同期の第2のクロックに基づいて動作する第2のネットワークの処理を実行するプログラムであって、第2のネットワークには、情報送信装置とは異なる装置が属し、送信されてきたパケットを受信する受信ステップと、受信ステップの処理により受信されたパケットを記憶手段に記憶する記憶ステップと、受信ステップの処理により受信されたパケットに基づいて、第1のネットワークにおける第1のクロックと、第2のネットワークにおける第2のクロックのずれを検出する検出ステップとを含む。
【0021】
請求項1に記載の情報受信装置、請求項5の情報受信方法、および請求項7に記載の記録媒体においては、受信されたパケットが記憶され、受信されたパケットから、第1のネットワークにおける第1のクロックと、第2のネットワークにおける第2のクロックのずれが検出される。
【0022】
【発明の実施の形態】
まず始めに、本出願人が、例えば、特願平9−279826号として提案した、従来のインターネットに対して、上位互換性をもつネットワークシステム(以下、第1のネットワークと称する)について説明する。この第1のネットワークは、既存のネットワークアーキテクチャがもつ問題点を解決する次世代ネットワークアーキテクチャである。第1のネットワークの特徴としては、高速資源予約プロトコル技術と、アプリケーション対応転送プロトコル技術(レートコントロール技術)が挙げられる。
【0023】
高速資源予約プロトコル技術は、データを転送する前に、回線の帯域(通信資源)の予約を高速に行うことにより、他の通信に干渉されることなくデータを転送できる技術である。この技術は、非同期伝送モード(ATM)の特徴であるコネクションベースの品質保証ネットワーク技術を有効活用したものであり、データの転送先までのルートを決定してからデータを送信するので、データを確実に転送先まで届けることができる。高速資源予約プロトコル技術では、必要な時間だけ帯域を予約し、データ転送が終了すれば、予約を解消するので、帯域を有効に利用できる。
【0024】
アプリケーション対応転送プロトコル技術(レートコントロール技術)は、高速資源予約プロトコル技術により確保された帯域を、無駄なく有効に使いきるための技術であり、データがスムーズに転送先に届くように、データを送信する前に、確保(予約)された帯域の幅から転送速度(レート)を予め計算し、計算した一定のレートでデータを送信する技術である。
【0025】
第1のネットワークの構成について図1を参照して説明する。第1のネットワーク1のエッジルータ2−1,2−2は、末端のユーザ(家庭、企業等のネットワーク)のホームルータ4からの回線を集線して、バックボーンルータ3−1及至3−3に接続する。バックボーンルータ3−1乃至3−3は、それぞれが光ファイバにより接続され、上述した高速資源予約プロトコル技術とアプリケーション対応転送プロトコル技術を用いてデータの転送を行うようになされている。
【0026】
ホームルータ4は、第1のネットワーク1と、IEEE1394バス5(この他、イーサネットで構成される末端のネットワーク)とを接続するようになされている。このネットワークには、IEEE1394インタフェースを備えるDVCR(Digital Video Cassette Recorder)7、映像情報と音声情報をDVデータに変換するデジタルビデオ(DV)カメラ8、およびモニタ6が接続されている。
【0027】
図2は、本発明を適用したテレビ電話システムを図1のシステムで実現した場合の構成例を示している。なお、本明細書においてシステムの用語は、複数の装置、手段などにより構成される全体的な装置を意味するものである。
【0028】
コントローラ11−1とともにホームルータ4−1を構成するトランスレータ10−1は、汎用のパーソナルコンピュータを用いることができ、図3に示すように、イーサカード(Ether Card)23に接続された10baseTケーブル16−1により、コントローラ11−1と接続されており、コントローラ11−1からの指令に対応して、ATMカード22に接続された光ファイバケーブル15−1を介して第1のネットワークとデータを送受信するようになされている。トランスレータ10−1は、第1のネットワークからのIPデータ(Internet Protocol)をDVデータに変換し、IEEE1394カード21に接続された、IEEE1394バス5−1−1の所定のチャンネルを介してDVCR7−1のDV端子25に出力する。また、トランスレータ10−1は、DVカメラ8−1からIEEE1394カード21に接続されたIEEE1394バス5−1−2の所定のチャンネルを介して入力されたDVデータ(画像データ、および音声データ)を、IPデータに変換して第1のネットワークに送信する。さらに、トランスレータ10−1は、IEEE1394バス5−1−1、5−1−2を介してDVCR7−1およびDVカメラ8−1の動作を制御するようになされている。
【0029】
コントローラ11−1としても、汎用のパーソナルコンピュータを用いることができる。このコントローラ11−1は、図4に示すように、モニタ6−1に表示させるGUI(Graphical User Interface)を生成し、NTSC信号として、ビデオカード33に接続されたS映像ケーブル17−1を介して、DVCR7−1の入力端子Aに供給するようになされている。また、コントローラ11−1は、キャプチャカード32に接続されたS映像ケーブル18−1を介して、DVCR7−1の出力端子Bから供給される映像データをGUIの内部に取り込み、S映像ケーブル17−1を介して、DVCR7−1の入力端子AにNTSC信号として供給する。
【0030】
さらに、コントローラ11−1は、シリアルポート31に専用シリアルケーブル19−1を介して接続されたリモートコントローラ12−1に、DVCR7−1の出力端子Cからモニタ6−1に出力される画像データ(トランスレータ10−1から供給されるDVデータをNTSC信号に変換したデータ、またはコントローラ11−1から供給されるNTSC信号のデータ)を指定するコマンドを、赤外線で発信させる。
【0031】
このリモートコントローラ12−1が出力した赤外線信号によるコマンドが、DVCR7−1の受光部24(図3)で受光されると、指定された画像データが、対応する音声データとともに、DVCR7−1から、モニタ6−1に、S映像ケーブル20−1またはステレオ音声ケーブル21−1を介して出力される。モニタ6−1は、入力された画像データを表示し、音声データを内蔵する図示しないスピーカから再生する。
【0032】
なお、DVCR7−1の制御は、リモートコントローラ12−1を用いなくても、IEEE1394バス5を介して制御コマンドを送信することによっても可能である。また、リモートコントローラ12−1は、コントローラ11−1と一体化してもよい。
【0033】
図2の第1のネットワークの右側に示したホームルータ4−2乃至リモートコントローラ12−2等は、テレビ電話の通話相手側のシステムであり、上述した、図2の左側に示したホームルータ4−1乃至リモートコントローラ12−1等と同様の構成のものであるので、その説明は省略する。
【0034】
なお、トランスレータ10−1とコントローラ11−1は、イーサネット(10baseTケーブル16−1)により接続されているが、IP接続が可能である光ファイバ、またはIEEE1394バスを用いて接続してもよい。また、トランスレータ10−1とコントローラ11−1は、図1のホームルータ4に相当するものであり、トランスレータ10−1とコントローラ11−1を1台のコンピュータを用いて実現してもよい。
【0035】
図5は、トランスレータ10−1とコントローラ11−1を一体化した場合のホームルータ4−1の構成例を示している。CPU41は、バス51を介して、メモリ50に記憶されているプログラムを読み出し、そのプログラムに基づいて、ホームルータ4−1の全体を制御するようになされている。IEEE1394インタフェース42は、図3のIEEE1394カード21に相当し、IEEE1394バス5−1−1、5−1−2を介してDVCR7−1およびDVカメラ8−1が接続される。
【0036】
ビデオインタフェース43は、図4のビデオカード33に相当し、S映像ケーブル17−1、18−1を介してDVCR7−1が接続される。DVCRコントロールインタフェース44は、図4のシリアルポート31に相当し、専用シリアルケーブル19−1を介してリモートコントローラ12−1が接続される。ATMインタフェース45は、図3のATMカード22に相当し、第1のネットワークに対して、帯域を予約して、または帯域を予約しないでIP(Internet Protocol) データを通信する。ユーザ入力インタフェース46には、マウス47、およびキーボード(図示せず)が接続される。なお、ユーザ入力インタフェース46に接続されるポインティングデバイスとしては、マウスの他、タッチパネル、トラックボール、または音声認識装置が考えられる。
【0037】
ハードディスクインタフェース48は、プログラム、プログラムの設定、過去の入力情報が記憶されているハードディスク49が接続される。
【0038】
次に、ホームルータ4−1のデータ通信処理について、図6を参照して説明する。DVカメラ8−1により取り込まれた映像信号と音声信号は、DVデータ(DVパケット)に変換され、IEEE1394バス5−1−2を介して、IEEE1394インタフェース42により指定されたチャンネルn(nは、チャンネル番号を表す0乃至63の数)に出力される。IEEE1394インタフェース42は、チャンネルnのDVパケットを、IEEE1394アイソクロナス(isochronous)入力キュー68−nで受け取る。IEEE1394アイソクロナス入力キュー68−nに供給されたDVパケットは、CPU41の制御により、バス51を介して、メモリ50のバッファ61に転送され、記憶される。
【0039】
バッファ61に記憶されたDVパケット(図7のA)は、CPU41の制御により、図7のBに示すように、1個またはそれ以上の所定の数毎にまとめられ、その先頭にシーケンシャル番号が付加される。さらに、シーケンシャル番号が付与されたパケットには、図7のCに示すように、メモリ50が記憶している送信用のマッピングテーブル62に基づいて、接続先(通話相手)のアドレスを示すIPヘッダが付加され、IPパケットに変換される。
【0040】
なお、メモリ50に記憶されている送信用のマッピングテーブル62には、図7のDに示すように、自己のDVカメラ8−1から出力されるDVデータが伝送されるIEEE1394バス5−1−2(IEEE1394バス5−1−2と同一のバスである)におけるチャンネル番号(0乃至63のいずれかの番号)、接続先のホームルータ4−2のIPアドレス(address0及至address63)、接続先のDVCR7−2が接続されるIEEE1394バス5−2−1(IEEE1394バス5−2−2と同一のバスである)のチャンネル番号(ホームルータ4−2のポート番号)(port0及至port63)との対応が記録されている。
【0041】
バッファ61のIPパケット(図7のc)は、CPU41の制御により、ATMインタフェース45のネットワーク出力キュー63に転送される。ネットワーク出力キュー63に転送されたIPデータは、ATMインタフェース45が予約した第1のネットワークの帯域を利用して出力される。
【0042】
一方、通話先から第1のネットワークを介して送信されたIPパケットは、ATMインタフェース45のネットワーク入力キュー64に記憶される。ネットワーク入力キュー64に記憶されたIPパケットは、CPU41の制御により、バッファ61に転送される。
【0043】
バッファ61に転送されたIPパケット(図8のA)は、CPU41により、シーケンシャル番号が参照されて、欠損パケットの有無が確認される。なお、このときパケットに欠損があれば、それを補うIPパケットがCPU41により生成される。
【0044】
また、CPU41は、バッファ61に転送されたパケットのIPヘッダを読み取り、そのIPヘッダ、またはメモリ50に記憶されている受信用のマッピングテーブル62(図8のD)に基づいて、IPパケットが出力されるIEEE1394バス5−1−1のチャンネル番号(ホームルータ4−1のポート番号)m(mは、チャンネル番号またはポート番号を表す0乃至63の数)を決定する。
【0045】
さらに、CPU41は、このIPパケットから、図8のBに示すように、IPヘッダおよびシーケンシャル番号を取り除き、図8のCに示すように、DVパケットに分割する。
【0046】
分割されたDVパケットは、CPU41の制御により、IEEE1394インタフェース42のIEEE1394アイソクロナス出力キュー66−m(DVCR7−1のDV端子25に接続されているIEEE1394バス5−1−1のチャンネルに対応する)に転送される。また、分割されたDVパケットの中にタイミング情報が含まれていた場合、そのタイミング情報は、IEEE1394出力タイミング制御部65に供給される。
【0047】
IEEE1394アイソクロナス出力キュー66−mのDVパケットは、CPU41の制御により、IEEE1394出力タイミング制御部65が発信するタイミングに同期して、IEEE1394バス5−1−1のチャンネルmに出力される。
【0048】
次に、ホームルータ4−1から、IEEE1394バス5−1を介して、DVCR7−1、またはDVカメラ8−1に出力されるAV制御コマンドの通信について説明する。例えば、DVカメラ8−1にDVデータを出力させるAV制御コマンドは、CPU41の制御により、バッファ61の中に生成される。バッファ61のAV制御コマンドは、IEEE1394インタフェース42のアシンクロナス(asynchronous)出力キュー67に転送される。アシンクロナス出力キュー67のAV制御コマンドは、CPU41の制御に基づいて、IEEE1394バス5−1に出力される。
【0049】
一方、例えば、AV制御コマンドに対応してDVカメラ7−1から出力される応答は、IEEE1394インタフェース42で受信され、IEEE1394アシンクロナス入力キュー69に記憶される。IEEE1394アシンクロナス入力キュー69に記憶された応答は、CPU41の制御により、バッファ61に転送された後、CPU41に読み出される。
【0050】
なお、上述したように、DVCR7−1に対しては、IEEE1394バス5−1−1を介して制御信号を送ることも可能であるが、リモートコントローラ12−1から赤外線で制御信号を送ることもできる。
【0051】
図9は、CPU41がハードディスク49に記憶されたテレビ電話アプリケーションプログラムを実行することにより生成し、モニタ6−1に表示させるGUIの例を示している。このGUIには、上述したように、コントローラ11−1(CPU41)により、DVカメラ8−2により撮影された通話相手の映像が取り込まれるようになされており、ビデオインタフェース43からS映像ケーブル17−1を介して、DVCR7−1に入力され、さらに、DVCR7−1の出力端子Cからモニタ6−1に供給されている。
【0052】
表示部71には、DVカメラ8−2で撮影された通話相手の映像が表示される。表示部72には、例えば、通話時間(Connected Time)や呼び出し中(Contacting for Connection)のような通信状態を示すメッセージが表示される。
【0053】
表示部71,72の右側に位置する複数のボタンは、マウス47により操作される。その操作がユーザ入力インタフェース46を介してCPU41に入力されると、CPU41はそのボタンに対応した処理を実行する。例えば、発呼(CALL)ボタン73は、予め設定した通話したい相手に接続要求を送信するとき操作される。このとき、図10(A)に示すように、発呼インジケータ74においては、左側から右側に向かって、発光部が移動して表示される。
【0054】
相手側から呼び出しがあった場合、接続要求の受信を示す着信待ちインジケータ76において、図10(B)に示すように、右側から左側に向かって、発光部が移動して表示される。
【0055】
着信待ちインジケータ76の発光表示(呼び出し)に応答するためには、応答(catch)ボタン75が操作される。
【0056】
通話終了(Hang up)ボタン77は、接続を解除するとき操作される。表示(Monitor on)ボタン78は、表示部71上の通話相手の映像表示をオン(図11(B))からオフ(図11(A))、またはオフからオンに切り替えるとき操作される。
【0057】
表示切替(Full Screen)ボタン79は、図12(A)に示すように、表示部71に表示されていた通話相手の映像を、図12(B)に示すように、モニタ6−1の画面全体に拡大させて表示させるとき操作される。すなわち、表示切替ボタン79が操作されたことをユーザ入力インタフェース46が検知すると、CPU41は、DVCRコントロールインターフェイス44から専用シリアルケーブル19−1を介して、リモートコントローラ12−1を制御し、DVCR7−1の出力を、コントローラ11−1から供給されるNTSC信号のデータ(GUI)から、トランスレータ10−1から供給されるDVデータに切り換えさせるコマンドを送信させる。なお、図12(B)に示した状態において、マウス47がクリックされると、モニタ6−1の表示は、図12(A)に示すGUIに復帰する。すなわち、マウス47の操作が検知され、リモートコントローラ12−1から、DVCR7−1の出力切替のコマンドが送信される。
【0058】
CPU41は、設定(Option)ボタン80の操作に対応して、図13に示すような設定入力ウィンドウを、モニタ6−1に重畳して表示させる。設定入力ウィンドウのトランスファアドレス入力部91には、例えば、「192.168.1.1」のように、IPアドレスを用いて、接続相手のホームルータ4−2のアドレスが設定される。ホームルータアドレス入力部92には、トランスレータ10−1とコントローラ11−1を接続するイーサカード23のアドレスが、例えば、「192.168.1.2」のように、IPアドレスを用いて設定される。AMInetアドレスには、トランスレータ10−1のATMカード22(または、ATMインタフェース45)のアドレス(第1のネットワークのアドレス)が、例えば、「192.168.2.1」のように、IPアドレスを用いて設定される。
【0059】
パケットサイズ入力部94には、送信するパケットの大きさが設定される。受信遅延入力部95には、フレーム数を用いて、受信データのバッファの大きさが設定される。この設定を大きくすると、表示画面が途中で途切れることはなくなるが、データを受信後、そのデータが表示されるまでの遅延時間が大きくなり、設定を小さくすると、遅延時間は少なくなるが、表示される画像が途切れることがある。
【0060】
チェックボックス96がチェックされることにより、映像情報と音声情報の送信が設定され、チェックが外されることにより、音声情報のみの送信が設定される。チェックボックス97がチェックされることにより、映像情報と音声情報の受信が設定され、チェックが外されることにより、音声情報のみの受信が設定される。なお、通常、チェックボックス96,97は、映像情報と音声情報を送受信するように設定(チェック)される。
【0061】
リモートコントローラ初期化ボタン98の操作に対応して、リモートコントローラ12−1の初期化が設定される。チェックボックス99では、リモートコントローラ12−1の使用の有無が設定される。
【0062】
OKボタン100が操作されることにより、この設定入力ウィンドウに入力されたパラメータを用いて、過去の設定が更新されるとともに、設定入力ウィンドウが閉じられる。一方、キャンセルボタン101が操作された場合には、設定入力ウィンドウにおいて入力したパラメータが無効とされて、過去の設定は更新されず、設定入力ウィンドウが閉じられる。
【0063】
図9の説明に戻る。リセット(Reset)ボタン81は、表示部71に表示される通話相手の映像が乱れた場合等に操作される。リセットボタン81の操作に対応して、処理中の受信が中止され、再度、映像情報の受信処理が行われる。終了(End)ボタン82は、テレビ電話アプリケーションを終了させるとき操作される。
【0064】
テレビ電話アプリケーションのGUI処理について、図14乃至図16のフローチャートを参照して説明する。ステップS1において、CPU41は、マウス47により、発呼ボタン73が押下されたか否かを判定する。CPU41は、発呼ボタン73が押下されたと判定した場合、ステップS2(図15)に進む。ステップS2において、CPU41は、設定入力ウィンドウにおいて予め設定されている情報に基づいて、接続要求をATMインタフェース45を介して、第1のネットワークに出力する。
【0065】
ステップS3において、CPU41は、接続先(通話したい相手)からの接続要求に対する応答を、第1のネットワークを介してATMインタフェース45が受信したか否かを判定する。ステップS3において、CPU41は、ATMインタフェース45が接続要求に対する応答を受信しないと判定した場合、ステップS4に進む。ステップS4において、CPU41は、接続要求を送信してから所定の時間が経過したか否かを判定する。CPU41は、所定の時間が経過していないと判定した場合、ステップS3に戻り、接続要求に対する応答を待つ。ステップS4において、CPU41は、所定の時間が経過したと判定した場合、ステップS1に戻る。
【0066】
CPU41は、ステップ3において、応答を受信したと判定した場合、ステップS5に進む。ステップS5において、CPU41は、受信した応答に含まれる接続先のAMInetIPアドレスとポート番号をメモリ50に記憶させる。ステップS6において、CPU41は、ATMインタフェース45に、第1のネットワークの帯域を予約をさせる。ステップS7において、CPU41は、第1のネットワークの帯域予約が成功したか否かを判定し、帯域予約が成功したと判定した場合、ステップS8に進む。
【0067】
ステップS8において、CPU41は、接続先との過去の送信設定(マッピングテーブル62(図7のD))がメモリ50に存在するか否かを判定する。CPU41は、接続先との過去の送信設定がメモリ50に存在しないと判定した場合、ステップS9に進む。ステップS9において、CPU41は、DVカメラ8−1が使用するIEEE1394のチャンネル番号、接続先のAMInetIPアドレス、およびポート番号を対応付けてマッピングテーブル62(図7のD)を作成し、メモリ50に記憶させる。なお、ステップS8において、接続先との過去の送信設定が存在すると判定された場合、その送信設定を利用するので、ステップS9の処理はスキップされる。
【0068】
ステップS10において、CPU41は、IEEE1394インタフェース42を介して、DVカメラ8−1に撮像を指令するAV制御コマンドを送信し、指定したIEEE1394のチャンネルに、DVデータ(画像データ、および音声データ)を出力させる。このDVデータは、ATMインターフェイス45により、IPデータに変換されて第1のネットワークに出力される。
【0069】
ステップS11において、CPU41は、接続先との過去の受信設定(マッピングテーブル62(図8のD))がメモリ50に存在するか否かを判定する。接続先との過去の受信設定が存在しないと判定された場合、ステップS12に進む。ステップS12において、CPU41は、接続先のホームルータ4−2のIPアドレスと自己のDVCR7−1が接続されているIEEE1394バス5−1のチャンネルとを対応付けて受信用のマッピングテーブル62(図8のD)を作成し、メモリ50に記憶させる。なお、ステップS11において、接続先との過去の受信設定が存在すると判定された場合、その受信設定を利用するので、ステップS12の処理はスキップされる。
【0070】
ステップS13において、CPU41は受信処理を開始する。受信処理の詳細について、図17のフローチャートを参照して説明する。ステップS51において、ATMインターフェイス45は、CPU41の制御により、第1のネットワークからIPパケットを受信し、ネットワーク入力キュー64に記録した後、バッファ61に転送する。CPU41は、メモリ50に記憶されている受信設定(マッピングテーブル62(図8のD))を読み出して、IPパケットの出力チャンネルmを決定する。
【0071】
ステップS52において、CPU41は、バッファ61のIPパケットをDVパケットに分離して、IEEE1394インタフェース42のIEEE1394アイソクロナス出力キュー66−mに転送する。
【0072】
ステップS53において、CPU41は、ステップS52で分離したDVパケットにタイミング情報が含まれるか否かを判定する。タイミング情報が含まれないと判定された場合、ステップS52に戻って、DVデータの分離、転送を継続し、タイミング情報が含まれると判定された場合、そのタイミング情報をアイソクロナス出力タイミング制御部65に供給する。
【0073】
ステップS54において、IEEE1394インタフェース42は、アイソクロナス出力タイミング制御部65が出力開始を指示するまで待機し、出力開始が指示された場合、ステップS55に進む。
【0074】
ステップS55において、IEEE1394インタフェース42は、アイソクロナス出力タイミング制御部65が指示するタイミングに同期して、IEEE1394アイソクロナス出力キュー66のDVデータをIEEE1394バス5−1に出力する。
【0075】
このDVデータ(画像データ、および音声データ)は、IEEE1394バス5−1を介してDVCR7−1に入力され、音声データはそのまま、モニタ6−1に供給されて再生され、画像データは、図11(B)に示したように、DVCR7-1で、GUIに組み込まれて、モニタ6−1に供給され、表示される。
【0076】
ステップS14(図16)において、CPU41は、通話終了ボタン77が押下されたか否かを判定する。通話終了ボタン77が押下されていないと判定された場合、ステップS15に進む。ステップS15において、CPU41は、ATMインタフェース45が、通話相手から通話終了の通知を受信したか否かを判定する。通話終了の通知を受信しないと判定された場合、ステップS16に進む。
【0077】
ステップS16において、CPU41は、表示ボタン78が押下されたか否かを判定する。表示ボタン78が押下されたと判定された場合、ステップS17に進む。ステップS17において、CPU41は、表示部71に通話相手の映像が表示されていればそれを消去させ、表示されていなければ表示させる。その後、処理はステップS14に戻る。
【0078】
ステップS16において、表示ボタン78が押下されていないと判定された場合、ステップS18に進む。ステップS18において、CPU41は、表示切替ボタン79が押下されたか否かを判定する。表示切替ボタン79が押下されたと判定された場合、ステップS19において、CPU41は、DVCRコントロールインターフェイス44を介して、リモートコントローラ12−1に、DVCR7−1の出力を、トランスレータ10−1から供給されるDVデータに切り換えさせるコマンドを送信させる。したがって、モニタ6−1には、図12(B)に示すように、DVデータがフルスクリーン表示される。
【0079】
ステップS20において、CPU41は、マウス47がクリックされるまで、処理を待機し、マウス47がクリックされたと判定すると、ステップS21において、CPU41は、DVCRコントロールインターフェイス44を介して、リモートコントローラ12−1に、DVCR7−1の出力を、コントローラ10−1から供給されるGUIに切り換えさせるコマンドを送信させる。したがって、モニタ6−1には、図12(A)に示すように、GUIが表示される。その後、処理は、ステップS14に戻る。
【0080】
ステップS18において、表示切替ボタン79が押下されていないと判定された場合、ステップS22に進む。ステップS22において、CPU41は、リセットボタン81が押下されたか否かを判定する。リセットボタン81が押下されたと判定された場合、ステップS23に進む。ステップS23において、CPU41は、ATMインタフェース45を制御して、第1のネットワークからの受信を停止させ、ステップS24において、上述した受信処理(ステップS13における場合と同様の受信処理)を再実行する。
【0081】
ステップS22において、リセットボタン81が押下されていないと判定された場合、ステップS14に戻る。
【0082】
ステップS14において、通話終了ボタン77が押下されたと判定された場合、ステップS15において、相手先から終了通知が送信されてきたと判定された場合、並びに、ステップS7において、第1のネットワークの帯域予約が成功しなかったと判定された場合、ステップS25に進む。ステップS25において、CPU41は、接続先に接続終了を通知する。ステップS26において、CPU41は、ATMインタフェース45を制御して、第1のネットワークへのIPパケットの送信を停止させるとともに、IEEE1394インタフェース42を介して、DVカメラ8−1にAV制御コマンドを送信して、DVデータの出力を停止させる。
【0083】
ステップS27において、CPU41は、DVカメラ8−1が使用したIEEE1394のチャンネル番号、接続先のAMInetIPアドレス、およびポート番号を対応付ける送信用のマッピングテーブル62(図7のD)の記録をメモリ50から消去させる。
【0084】
ステップS28において、CPU41は、ATMインタフェース45を制御して、第1のネットワークの帯域予約を取り消させる。
【0085】
ステップS29において、CPU41は、ATMインタフェース45を制御して、第1のネットワークからの受信を停止させる。
【0086】
ステップS30において、CPU41は、接続先のホームルータ4−2のIPアドレスと、自己のDVCR7−1が接続されたIEEE1394バスのチャンネルmとを対応付ける受信用のマッピングテーブル62(図8のD)の記録をメモリ50から消去させる。その後、処理は、ステップS1に戻る。
【0087】
説明は図14に戻る。ステップS1において、発呼ボタン73が押下されていないと判定された場合、ステップS31に進む。ステップS31において、CPU41は、設定ボタン80が押下されたか否かを判定する。設定ボタン80が押下されたと判定された場合、ステップS32に進む。ステップS32において、CPU41は、図13に示した設定入力ウィンドウをモニタ6−1に表示させる。ここでユーザは各種の設定の入力を行う。処理はその後、ステップS1に戻る。
【0088】
ステップS31において、設定ボタン80が押下されていないと判定された場合、ステップS33に進む。ステップS33において、CPU41は、他のユーザからの着信があるか否か(ATMインターフェース45が接続要求を受信したか否か)を判定する。着信がないと判定された場合、ステップS34に進む。ステップS34において、CPU41は、終了ボタン82が押下されたか否かを判定する。終了ボタン82が押下されていないと判定された場合、ステップS1に戻る。また、終了ボタン82が押下されたと判定された場合、CPU41はGUI処理(テレビ電話アプリケーション)を終了する。
【0089】
ステップS33において、着信があると判定された場合、ステップS35に進む。ステップS35において、CPU41は、応答ボタン75が押下されたか否かを判定し、応答ボタン75が押下されていないと判定した場合、ステップS36に進む。ステップS36において、CPU41は、着信開始から所定の時間が開始したか否かを判定し、所定の時間が経過していなければ、ステップS35に戻り、応答ボタン75が押下されるまで待機する。ステップS36において、所定の時間が経過したと判定された場合、ステップS1に戻る。
【0090】
ステップS35において、応答ボタン75が押下されたと判定された場合、ステップS37に進む。ステップS37において、CPU41は、着信(接続要求)に含まれる接続先のIPアドレスをメモリ50に記憶する。さらに、CPU41は、DVカメラ8−1が接続されるIEEE1394バス5−1のチャンネル番号nと、ホームルータ4−1のアドレスを、着信に対する応答として、ATMインタフェース45を介して出力する。その後、ステップS6に進み、それ以降の処理が実行される。
【0091】
このように、本実施の形態によれば、DVカメラ8が取り込んだDVデータ(映像と音声)をリアルタイムで通信することにより、いわゆるテレビ電話が実現できる。さらに、本実施の形態によれば、DVCR7が磁気テープから再生したDVデータを通信することも可能である。
【0092】
ところで、IEEE1394バス5に規定されたアイソクロナスモードによるデータ転送においては、各データパケットの送出タイミングは、数百マイクロ秒程度の誤差しか許容されない。これは、CPU41の非リアルタイムOS上で動作するソフトウエアにとっては、かなり厳しい条件である。
【0093】
また、IEEE1394バス5−1−2上で動作するDVカメラ8−1で撮像した画像データを第1のネットワーク1を介して、IEEE1394バス5−2−1上で動作するDVCR7−2に転送する場合(IEEE1394バス5−2−2上で動作するDVカメラ8−2で撮像した画像を、第1のネットワーク1を介してIEEE1394バス5−1−1で動作するDVCR7−1に転送する場合も同様)、IEEE1394バス5−1−2とIEEE1394バス5−2−1のクロックのズレ(またはEEE1394バス5−2−2とIEEE1394バス5−1−1のクロックのズレ)が蓄積し、バッファ61がオーバーフローしたり、アンダーフローしてしまう恐れがある。そこでこのようなオーバーフローまたはアンダーフローを防止する方法について、以下に説明する。
【0094】
最初にその原理について説明する。いま例えば、DVカメラ8−2により取り込まれた画像をDVCR7−1に転送するものとする。CPU41のOS上で転送を制御するアップリケーションは、アイソクロナス出力キュー66のデバイスドライバに対して関数write()のシステムコールを出力することで、ネットワーク入力キュー64からバッファ61に書き込まれた、アイソクロナスパケットヘッダを含むDVカメラ8−2のデータの、アイソクロナス出力キュー66への書き込み処理を実行する。アイソクロナス出力キュー66に、数百パケット分のデータが書き込まれた後、アプリケーションは、パケットの送出開始を、アイソクロナス出力キュー66のデバイスドライバに明示的に指示する。送出の開始を指示するとき、開始すべきバスサイクルを指定することが可能とされている。アイソクロナス出力キュー66からの送出が開始されると、データは連続して送出されるので、アプリケーションは、書き込みを継続して実行する必要がある。
【0095】
CPU41への負荷を軽減するために、デバイスドライバは、バッファ61内に数百パケット、ないし数千パケット分のデータを記憶させ、DMAをチェーンして、1回の割り込みで、数百パケット分のデータの送出が行われるようになされている。このため、リアルタイム性のないOSでも、毎秒8千回の(125マイクロ秒周期の)アイソクロナスサイクル毎に、パケットを送出することが可能となる。
【0096】
データは、各アイソクロナスサイクル毎に1パケットずつ、IEEE1394バス5−1−1上に送り出される。DMA転送の失敗やその他の原因によってパケットが送出されなかった場合、デバイスドライバはバッファ61内のデータを捨てることにより、サイクル数と、送出パケット数を対応させる。この処理は、DMA転送完了の後の割り込みにより行われるため、一時的にサイクルとパケットの対応にズレが生じるが、バッファ61からデータが捨て去られるため、所定の時間の後(DMAから2回程度の割り込みの後)、ズレが解消される。ズレが解消されるまでの時間は、デバイスドライバのバッファサイズに関わりなく、DMAの遅延数によって決定されるので、比較的短い時間に設定することができる。
【0097】
以上のようにして送出開始バスサイクルの指定と、サイクルとデータの対応を保証することにより、アプリケーションは、書き込むデータが実際にIEEE1394バス5−1−1に送出されるタイミングを正確に知ることが可能となる。これにより、アイスクロナスパケットを転送するメモリとしてのアイスクロナス出力キュー66をFIFO構成としたこととあいまって、リアルタイム性の低いアプリケーションプロセスからアイソクロナスパケットのタイミングを制御することが可能となる。
【0098】
次に図18のフローチャートを参照して、CPU41上で動作するアプリケーションが行う、アイソクロナスパケットの転送処理の詳細について説明する。ステップS71において、CPU41(アプリケーション)は、ネットワーク入力キュー64からパケットを取り出す。ステップS72において、CPU41は、ステップS71で取り出したパケットにタイムスタンプが含まれているか否かを判定する。タイムスタンプを有するパケットは、図19に示すように構成されている。図19におけるSYTがタイムスタンプを表す。タイムスタンプを有しないパケットは、図20に示すように構成されており、タイムスタンプのフィールド(SYTのフィールド)の値は、すべて”1”とされている。
&
図19と図20のパケットの構成において、Data length は、パケットの長さを表し、Tagは、アイソクロナスパケットのフォーマットに関するラベルを表している。channelは、IEEE1394バス5上のチャンネルの番号(0ないし63の番号のいずれかの番号)を表す。Tcodeは、パケットの種類とトランザクションのタイプを表し、アイソクロナスデータの場合、”10”の値に設定される。
【0099】
Syはアプリケーション特有の制御のためのシンクロナイゼーションコード(Synchronization Code)を表している。Header CRC(Cyclic Redundancy Check)は、ヘッダのエラー検出用のコードを表す。すなわちData length, Tag,Channel, Tcode,SyのCRCがここに記述される。SIDは、source node ID、すなわちパケットの転送元のノード番号を表す。DBSは、Data block size(データブロックサイズ)を表す。
【0100】
FNは、function number(ファンクション番号)を表す。QPC(Quadlet padding count)はパディングの数を表す。SPH(source packet header)は、データがソースパケットヘッダを含んでいるか否かを表している。DBC(Data block count)は、データブロックのシーケンシャル番号を表す。FMTは、フォーマット番号を表し、デジタルビデオの場合、”0”とされる。FDF(format dependent data)は、フォーマットに固有な情報を表す。
【0101】
IEC61883-1によれば、CIPヘッダのタイムスタンプとバスサイクルは、対応している必要があり、そのズレは数サイクルしか許容されていない(経験的には0サイクル乃至1サイクルしか許容されない)。以下においては、CIPヘッダのタイムスタンプの値を、必要に応じてそのパケットのタイミングとも称する。DVCにおいては、CIPヘッダにタイムスタンプを有しないパケットも存在するが、これらのパケットのタイミングは、タイムスタンプを持つパケットのタイミングから単純な線形補間により決定される。
【0102】
ステップS72において、パケットにタイムスタンプが含まれていると判定された場合、ステップS73に進み、パケットの数を表す変数nの値が1だけインクリメントされる。なおこの変数nは、後述するステップS80において、データレートを見直すタイミングにおいて、”0”にリセットされている。
【0103】
次に、ステップS74にいて、CPU41はアイソクロナス出力キュー66内のデータ量をアイソクロナス出力キュー66に保持されたデータ量の累積値を表す変数Sに加算する。ステップS75において、CPU41はパケットのタイムスタンプにレートRを乗算することで、タイムスタンプを修正する。
【0104】
ステップS72において、パケットにタイムスタンプが含まれていないと判定された場合には、ステップS73乃至ステップS75の処理はスキップされ、処理はステップS76に進む。
【0105】
ステップS76において、CPU41は、パケットを出力キュー66に入れ、そのデータ量を、送信データ量の累積値を表す変数Nに加算する。ステップS77において、CPU41は、ステップS73でインクリメントした変数nの値が予め設定した所定の値(例えば100)に達したか否かを判定する。すなわちここで、レートRを見直すタイミングになったか否かが判定される。nの値が100に達していない場合には、ステップS71に戻り、それ以降の処理が繰り返し実行される。
【0106】
ステップS77において、nの値が100に達したと判定された場合(レートRを見直すタイミングになったと判定された場合)、ステップS78に進み、CPU41は、アイソクロナス出力キュー66のデータ量の平均値A(=S/n)、送信データ量の累積値N、並びに現在のレートRから新しいレートRを演算する。さらにステップS79において、CPU41は、次回の計算のために、平均値Aを保存し、アイソクロナス出力キュー66のデータ量を表す値S、および送信データ量の累積値Nの値をクリアする。すなわちSの値とNの値が”0”とされる。そしてステップS80において、CPU41は変数nの値を”0”にリセットし、その後、処理はステップS71に戻り、それ以降の処理が繰り返し実行される。
【0107】
ステップS76のパケットをアイソクロナス出力キュー66に入れ、そのデータ量を送信データ量に加算する処理の詳細について、図21のフローチャートを参照してさらに説明する。ステップS91において、CPU41は、パケットにタイムスタンプが含まれているか否かを判定し、含まれていない場合には、ステップS92において線形補間によってタイムスタンプ(タイミング)を計算する。ステップS91において、パケットにタイムスタンプ(タイミング)が含まれていると判定された場合、およびステップS92において、線形補間によりタイムスタンプ(タイミング)が計算されたとき、ステップS93において、CPU41は、タイムスタンプ(タイミング)が、バスサイクルを表すサイクルカウンタの値VCtと、転送による遅延などから決定される所定の定数Dとの和(VCt+D)より大きいか否か判定される。
【0108】
すなわち今対象とされているパケットが出力するタイミングであるか否かがここで判定される。パケットのタイムスタンプ(タイミング)が、カウンタの値VCtと、定数Dの和と等しいか、それより小さい場合には、まだそのパケットを出力するタイミングではないので、ステップS94に進み、CPU41は、アイソクロナス出力キュー66に空パケットを入れ、カウンタの値VCtに1サイクルの長さを表す値Cを加算する。その後、処理はステップS93に戻り、タイムスタンプの値と、カウンタの値VCtと定数Dの加算値との大きさが再び比較される。
【0109】
ステップS94において、アイソクロナス出力キュー66に挿入される空パケットのフォーマットが図22に示されている。同図に示すように、この場合、データは全て1とされている。
【0110】
上述したように、書き込みの回数とデータが出力されるバスサイクルの対応が保証されているので、CPU41は、関数write()を実行する度にカウンタの値VCtの値を増加することにより、次に関数write()を実行することによって書き込まれるデータが実際にバスに出力されるサイクルを簡単に知ることができる。この仮想サイクルと各パケットのタイミングを比較することにより、送出タイミングが決定される。
【0111】
実際のプログラムにおいては、各パケットのタイミングを線形補間で求めるために、タイムスタンプのないパケットは関数write()を実行せずにバファリングし、タイムスタンプのあるパケットを読みこんだ時点で、バファリングされているパケットのタイミングを求めてから、関数write()を実行するようにすることができる。CIPヘッダのタイムスタンプは、1/(12×256)サイクルを最小単位としているので、カウンタの値VCtや、1サイクルの長さCの値も、これを単位として計算される。
【0112】
ステップS93において、タイムスタンプの値(タイミング)が、カウンタの値VCtに定数Dを加算した値より大きくなったと判定された場合、ステップS95に進み、CPU41はパケットをアイソクロナス出力キュー66に入れ、カウンタの値VCtに1サイクルの長さを表す値Cを加算し、さらにそのときの送信データ量を送信データ量の累積値Nに加算する。次にステップS96に進み、CPU41は送信がスタート済みであるか否かを判定し、まだスタートしていない場合にはステップS97に進み、アイソクロナス出力キュー66に充分なパケットが保持されているか否かを判定する。アイソクロナス出力キュー66に充分なパケットが既に保持されている場合には、ステップS98において、CPU41は送信をスタートさせる。アイソクロナス出力キュー66にまだ充分なパケットが保持されていない場合には、ステップS98の送信スタート処理はスキップされる。
【0113】
上述したように、CPU41は、IEEE1394バス5−2−2のクロックと、IEEE1394バス5−1−1のクロックのズレを、アイソクロナス出力キュー66に保持されているデータ量から間接的に推定する。デバイスドライバは、ドライバ内のデータ量をバイト単位で返す関数ioctl()を有している。この関数ioctl()は、ソフトウエア的なバッファ内のデータ量に加えて、DMAのレジスタの状態からDMAの実行状況を考慮に入れて、正確な値が得れれるようになっている。
【0114】
アプリケーションは、適当な間隔で、複数回データ量を調べ、結果を平均する処理を繰り返す。平均値を前回の値と比較し、増減を調べることにより、送り元のバスと、送り先のバスのクロックのズレを知ることができる。サンプリング回数をある程度多くすれば、サンプリング間隔にばらつきがあっても、よい結果を得ることができる。理論的には、サンプリング間隔はランダムでよい。
【0115】
関数write()のシステムコールで書き込まれたデータ量を記憶しておけば、クロックのズレを計算することができる。例えば、前回の平均値が500KBであり、今回の平均値が501KBであったような場合、その間に書き込んだデータが1000MBであれば、クロックのズレは以下のように計算される。
【0116】
(501KB−500KB)/1000MB=0.000001
すなわちこの場合においては、送信元のIEEE1394バス5−2−2のクロックの方が、1ppm(parts per million)程度、その間隔が短いことになる。
【0117】
このようなバスクロックのズレによるアイソクロナス出力キュー66のデータ量の増減を抑止するために、レートRが定義される。このレートRの値は、例えば、1.00001などのようなほぼ1に近い値である。
【0118】
キャプチャされたパケットP(i)(i=0,1,2,...n)のタイミングPt(i)は、レートRにより次式で示すように修正され、Pt'(i)とされる。
【0119】
なお、上式においては、R=Rc/Rmとして、Rを2つの整数RcとRmで表し、Rm=1000000と固定し、Rcの値を変化させることによってレートRを指定している。また、長時間送出が続けられた場合、Pt(i)−Ct0の値が非常に大きくなるので、上式においては、Ct(0)の代わりに、Pt'(i-1)が使用されている。
【0120】
アイソクロナス出力キュー66内のデータは、Rの値を小さくすれば、速く送出され、Rの値を大きくすれば、遅く送出されることになる。レートRの値を適当な値に選定することで、バス間のクロックのズレを吸収して、バッファ内のデータ量を一定に保つことができる。
【0121】
さらに誤差を小さくするために、整数除算の際の余りRest(i)を記憶し、次回の計算に用いるようにすることができる。この場合、レートRによって修正されたタイミングPt'(i)は、式で表される。
【0122】
Pt'(i)=Pt'(i-1)+((Pt(i)−Pt(i-1))×Rc + Rest(i-1))/Rm
ここでRest(i)は次式で表される。
【0123】
Rest(i)=((Pt(i)−Pt(i-1))×Rc + Rest(i-1))
−((Pt(i)−Pt(i-1))×Rc + Rest(i-1))/Rm×Rm
上式は、((Pt(i)−Pt(i-1))×Rc + Rest(i-1))=Bと置くと、
Rest(i)=B−(B/Rm)×Rm
となる。(B/Rm)×Rmの値は、代数的にはBとなるが、整数演算を行うと、除算の丸め誤差により、Bとは異なる値となる。これが、Rest(i)となる。
【0124】
アイスクロナス出力キュー66内のデータ量の平均値Aを求めた後、所定の期間だけデータを出力してから、再びアイスクロナス出力キュー66内のデータ量の平均値A’を求めた場合、その間に関数write()で処理したデータの合計をN、送出レートをRとすると、クロックのズレを解消するためのレートR’は、次のように求められる。
【0125】
R’=(N/(N + A’−A))×R
なおこの式は、直感的に導出されたもので、証明されたものではないが、経験的に、充分に有効であることが判明している。
【0126】
さらにアイソクロナス出力キュー66内のデータ量を所定の値A0に保ちたい場合には、下記のようにレートR’をさらに修正したレートR”を用いることができる。ここでFは1/1000乃至1/100000程度の定数である。
【0127】
R”= R’−(A’−A0)/A0×F
アイソクロナスパケットの送出は専用のリンクチップにより行われるのが普通であり、フォーマット自体もAV機器などで実装するのに適したものとなされている。しかしながら本発明のような制御方式を用いれば、汎用のハードウェアとOSにより、ストリームの制御を行うことができる。
【0128】
今後、パーソナルコンピュータには、1394OHCI(1394 Open Host Controller Interface)と呼ばれる共通規格のIEEE1394リンクチップを使用したホストアダプタが標準で搭載されるようになると考えられるが、OHCI仕様は、PELEを基にしたものとなっているので、本発明のような制御方法が有効である。
【0129】
なお、以上においては、主にDVCフォーマットについて説明したが、多くの部分は、フォーマットに依存しないため、本発明は、他のフォーマットについても適用が可能である。
【0133】
【発明の効果】
請求項1に記載の情報受信装置、請求項5に記載の情報受信方法、および請求項7に記載の記録媒体によれば、第1のクロックと第2のクロックのズレに対応して、パケットに含まれる時刻情報を変更するようにしたので、非同期のクロックが用いられている異なるネットワーク間において、リアルタイムでデータを受信することが可能となる。
【図面の簡単な説明】
【図1】第1のネットワークの構成を示す図である。
【図2】本発明を適用したテレビ電話システムの構成を示すブロック図である。
【図3】図2のトランスレータ10−1と他の装置との接続を示すブロック図である。
【図4】図2のコントローラ11−1と他の装置との接続を示すブロック図である。
【図5】図2のトランスレータ10−1とコントローラ11−1を一体化したホームルータ4−1の構成を示すブロック図である。
【図6】図2のホームルータ4−1のデータ通信を説明する図である。
【図7】図2のホームルータ4−1のデータ通信を説明する図である。
【図8】図2のホームルータ4−1のデータ通信を説明する図である。
【図9】図2のモニタ6−1に表示されるGUIを説明する図である。
【図10】図2のモニタ6−1に表示されるGUIを説明する図である。
【図11】図2のモニタ6−1に表示されるGUIを説明する図である。
【図12】図2のモニタ6−1に表示されるGUIを説明する図である。
【図13】設定入力ウィンドウを示す図である。
【図14】図2のテレビ電話システムのGUI処理を説明するフローチャートである。
【図15】図2のテレビ電話システムのGUI処理を説明するフローチャートである。
【図16】図2のテレビ電話システムのGUI処理を説明するフローチャートである。
【図17】図15のステップS13の受信処理を説明するフローチャートである。
【図18】レートの修正の動作を説明するフローチャートである。
【図19】タイムスタンプを有するパケットのフォーマットを説明する図である。
【図20】タイムスタンプを有しないパケットのフォーマットを説明する図である。
【図21】図18のステップS76のより詳細な処理を説明するフローチャートである。
【図22】空パケットのフォーマットを説明する図である。
【符号の説明】
1 第1のネットワーク, 2 エッジルータ, 3 バックボーンルータ,4 ホームルータ, 5 IEEE1394バス, 6 モニタ, 7 DVCR, 8 DVカメラ, 10 トランスレータ, 11 コントローラ, 12 リモートコントローラ, 41 CPU, 42 IEEE1394インタフェース, 43 ビデオインタフェース, 44 DVCRコントローラインタフェース, 45 ATMインタフェース, 46 ユーザ入力インタフェース, 47 マウス, 48 ハードディスクインタフェース, 49 ハードディスク, 50 メモリ, 51 バス, 61 バッファ, 62 マッピングテーブル[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an information transmission apparatus and method, an information reception apparatus and method, an information transmission / reception apparatus and method, and a recording medium, and in particular, with reference to a mapping table that describes the correspondence between a plurality of buses including an IEEE1394 serial data bus The present invention relates to an information transmitting apparatus and method for communicating information, an information receiving apparatus and method, an information transmitting / receiving apparatus and method, and a recording medium.
[0002]
[Prior art]
Recently, on the Internet, not only text information but also high-definition still images, moving images, and voices with large amounts of information have been transmitted. For example, so-called Internet television in which voice and images are communicated in real time The telephone has been realized.
[0003]
[Problems to be solved by the invention]
By the way, as described above, in addition to the increase in the amount of information transmitted over the Internet, the number of Internet users has increased rapidly. As a result, the communication line (Internet) is congested and the server is accessed. There is a problem that the time required for the communication increases or a part of information is lost during communication.
[0004]
The Internet was designed about 20 years ago, so it effectively uses ATM (Asynchronous Transfer Mode) technology, which is a high-speed data communication method developed by recent technological evolution. There was a problem that could not be done.
[0005]
The present invention has been made in view of such a situation, and prevents information from being lost during communication, and enables high-speed information communication utilizing ATM technology.
[0015]
[Means for Solving the Problems]
The information receiving device according to claim 1An information receiving device that receives a packet transmitted from the information transmitting device and is different from the information transmitting device, the information transmitting device belonging to a first network that operates based on a first clock, and the information receiving device Belongs to a second network that operates based on a second clock that is asynchronous with the first clock,A receiving means for receiving the transmitted packet; a storage means for storing the packet received by the receiving means; a first clock in the first network based on the packet received by the receiving means; Detecting means for detecting a shift of the second clock in the network.The
[0016]
The information receiving method according to
[0017]
The recording medium program according to
[0021]
Claim 1An information receiving device according to
[0022]
DETAILED DESCRIPTION OF THE INVENTION
First, a network system (hereinafter referred to as a first network) that is upwardly compatible with the conventional Internet proposed by the present applicant as, for example, Japanese Patent Application No. 9-279826 will be described. This first network is a next-generation network architecture that solves the problems of existing network architectures. Features of the first network include a high-speed resource reservation protocol technology and an application-compatible transfer protocol technology (rate control technology).
[0023]
The high-speed resource reservation protocol technique is a technique capable of transferring data without interference by other communications by making a reservation for a line bandwidth (communication resource) at a high speed before transferring the data. This technology makes effective use of connection-based quality assurance network technology, which is a feature of asynchronous transmission mode (ATM), and determines the route to the data transfer destination before transmitting the data. Can be delivered to the forwarding destination. In the high-speed resource reservation protocol technology, a bandwidth is reserved only for a necessary time, and when the data transfer is completed, the reservation is canceled, so that the bandwidth can be used effectively.
[0024]
Application-compatible transfer protocol technology (rate control technology) is a technology for effectively using the bandwidth secured by the high-speed resource reservation protocol technology without waste, and sending data so that the data can reach the transfer destination smoothly. In this technique, the transfer rate (rate) is calculated in advance from the reserved (reserved) bandwidth, and data is transmitted at the calculated constant rate.
[0025]
The configuration of the first network will be described with reference to FIG. The edge routers 2-1 and 2-2 of the
[0026]
The
[0027]
FIG. 2 shows a configuration example when the videophone system to which the present invention is applied is realized by the system of FIG. In this specification, the term “system” means an overall apparatus constituted by a plurality of apparatuses and means.
[0028]
The translator 10-1 that constitutes the home router 4-1 together with the controller 11-1 can use a general-purpose personal computer. As shown in FIG. 3, a
[0029]
A general-purpose personal computer can also be used as the controller 11-1. As shown in FIG. 4, the controller 11-1 generates a GUI (Graphical User Interface) to be displayed on the monitor 6-1 and transmits it as an NTSC signal via the S video cable 17-1 connected to the video card 33. Thus, the signal is supplied to the input terminal A of the DVCR 7-1. Further, the controller 11-1 takes in the video data supplied from the output terminal B of the DVCR 7-1 through the S video cable 18-1 connected to the capture card 32 into the GUI, and the S video cable 17- 1 is supplied as an NTSC signal to the input terminal A of the DVCR 7-1.
[0030]
Further, the controller 11-1 sends image data (output from the output terminal C of the DVCR 7-1 to the monitor 6-1) to the remote controller 12-1 connected to the
[0031]
When a command based on the infrared signal output from the remote controller 12-1 is received by the light receiving unit 24 (FIG. 3) of the DVCR 7-1, the designated image data together with the corresponding audio data is read from the DVCR 7-1. The signal is output to the monitor 6-1 via the S video cable 20-1 or the stereo audio cable 21-1. The monitor 6-1 displays the input image data and reproduces it from a speaker (not shown) that incorporates audio data.
[0032]
The DVCR 7-1 can be controlled by transmitting a control command via the
[0033]
The home router 4-2 to the remote controller 12-2 shown on the right side of the first network in FIG. 2 are systems on the other party side of the videophone, and the
[0034]
Although the translator 10-1 and the controller 11-1 are connected by Ethernet (10baseT cable 16-1), they may be connected by using an optical fiber that can be IP-connected or an IEEE1394 bus. Moreover, the translator 10-1 and the controller 11-1 correspond to the
[0035]
FIG. 5 shows a configuration example of the home router 4-1 when the translator 10-1 and the controller 11-1 are integrated. The
[0036]
The
[0037]
The
[0038]
Next, data communication processing of the home router 4-1 will be described with reference to FIG. The video signal and the audio signal captured by the DV camera 8-1 are converted into DV data (DV packet), and the channel n (n is designated by the
[0039]
The DV packets (A in FIG. 7) stored in the
[0040]
The transmission mapping table 62 stored in the
[0041]
The IP packet (c in FIG. 7) in the
[0042]
On the other hand, IP packets transmitted from the call destination via the first network are stored in the network input queue 64 of the
[0043]
The IP packet (A in FIG. 8) transferred to the
[0044]
Further, the
[0045]
Further, the
[0046]
The divided DV packet is controlled by the
[0047]
The DV packet in the IEEE1394 isochronous output queue 66-m is output to the channel m of the IEEE1394 bus 5-1-1 in synchronization with the timing transmitted by the IEEE1394 output
[0048]
Next, communication of AV control commands output from the home router 4-1 to the DVCR 7-1 or the DV camera 8-1 via the IEEE1394 bus 5-1 will be described. For example, an AV control command that causes the DV camera 8-1 to output DV data is generated in the
[0049]
On the other hand, for example, a response output from the DV camera 7-1 in response to the AV control command is received by the
[0050]
As described above, it is possible to send a control signal to the DVCR 7-1 via the IEEE1394 bus 5-1-1, but it is also possible to send a control signal by infrared from the remote controller 12-1. it can.
[0051]
FIG. 9 shows an example of a GUI that is generated by the
[0052]
The display unit 71 displays an image of the other party captured by the DV camera 8-2. For example, a message indicating a communication state such as a call time (Connected Time) or a call (Contacting for Connection) is displayed on the
[0053]
A plurality of buttons located on the right side of the
[0054]
When a call is received from the other party, the light-emitting unit moves and displays from the right side to the left side in the incoming
[0055]
In order to respond to the light emission display (calling) of the incoming
[0056]
A call end (Hang up)
[0057]
As shown in FIG. 12 (A), the display switching (Full Screen)
[0058]
In response to the operation of the Option button 80, the
[0059]
In the packet
[0060]
When the
[0061]
Corresponding to the operation of the remote
[0062]
When the
[0063]
Returning to the description of FIG. The reset (Reset) button 81 is operated when the image of the other party on the display unit 71 is disturbed. In response to the operation of the reset button 81, the reception in process is stopped, and the video information reception process is performed again. An End button 82 is operated to end the videophone application.
[0064]
The GUI processing of the videophone application will be described with reference to the flowcharts in FIGS. In step S <b> 1, the
[0065]
In step S <b> 3, the
[0066]
If the
[0067]
In step S <b> 8, the
[0068]
In step S10, the
[0069]
In step S <b> 11, the
[0070]
In step S13, the
[0071]
In step S52, the
[0072]
In step S53, the
[0073]
In step S54, the
[0074]
In step S55, the
[0075]
This DV data (image data and audio data) is input to the DVCR 7-1 via the IEEE1394 bus 5-1, and the audio data is supplied as it is to the monitor 6-1 for reproduction. The image data is shown in FIG. As shown in (B), the DVCR 7-1 is incorporated in the GUI, supplied to the monitor 6-1 and displayed.
[0076]
In step S14 (FIG. 16), the
[0077]
In step S16, the
[0078]
If it is determined in step S16 that the
[0079]
In step S20, the
[0080]
If it is determined in step S18 that the
[0081]
If it is determined in step S22 that the reset button 81 has not been pressed, the process returns to step S14.
[0082]
If it is determined in step S14 that the
[0083]
In step S27, the
[0084]
In step S28, the
[0085]
In step S29, the
[0086]
In step S30, the
[0087]
The description returns to FIG. If it is determined in step S1 that the call button 73 has not been pressed, the process proceeds to step S31. In step S31, the
[0088]
If it is determined in step S31 that the setting button 80 has not been pressed, the process proceeds to step S33. In step S33, the
[0089]
If it is determined in step S33 that there is an incoming call, the process proceeds to step S35. In step S35, the
[0090]
If it is determined in step S35 that the response button 75 has been pressed, the process proceeds to step S37. In step S <b> 37, the
[0091]
Thus, according to the present embodiment, a so-called videophone can be realized by communicating DV data (video and audio) captured by the
[0092]
By the way, in the data transfer in the isochronous mode defined in the
[0093]
In addition, the image data captured by the DV camera 8-1 operating on the IEEE1394 bus 5-1-2 is transferred via the
[0094]
First, the principle will be described. For example, assume that an image captured by the DV camera 8-2 is transferred to the DVCR 7-1. The application that controls the transfer on the OS of the
[0095]
In order to reduce the load on the
[0096]
Data is sent out on the IEEE1394 bus 5-1-1, one packet for each isochronous cycle. When a packet is not transmitted due to a DMA transfer failure or other cause, the device driver discards the data in the
[0097]
As described above, by specifying the transmission start bus cycle and guaranteeing the correspondence between the cycle and the data, the application can accurately know the timing at which the data to be written is actually transmitted to the IEEE1394 bus 5-1-1. It becomes possible. This makes it possible to control the timing of isochronous packets from an application process with low real-time characteristics, in combination with the FIFO configuration of the ice
[0098]
Next, details of isochronous packet transfer processing performed by an application running on the
&
19 and 20, Data length represents the length of the packet, and Tag represents a label relating to the format of the isochronous packet. channel represents the channel number on the IEEE1394 bus 5 (any number from 0 to 63). Tcode represents the type of packet and the type of transaction. In the case of isochronous data, Tcode is set to a value of “10”.
[0099]
Sy represents a synchronization code for application-specific control. Header CRC (Cyclic Redundancy Check) represents a code for header error detection. That is, CRC of Data length, Tag, Channel, Tcode, and Sy is described here. The SID represents a source node ID, that is, a node number of a packet transfer source. DBS represents Data block size.
[0100]
FN represents a function number. QPC (Quadlet padding count) represents the number of padding. SPH (source packet header) represents whether or not the data includes a source packet header. DBC (Data block count) represents a sequential number of a data block. FMT represents a format number, and is “0” in the case of digital video. FDF (format dependent data) represents information specific to the format.
[0101]
According to IEC61883-1, the time stamp of the CIP header and the bus cycle need to correspond to each other, and the deviation is allowed only for several cycles (experimentally, only 0 cycle to 1 cycle is allowed). Hereinafter, the time stamp value of the CIP header is also referred to as the timing of the packet as necessary. In DVC, there are packets that do not have time stamps in the CIP header, but the timing of these packets is determined by simple linear interpolation from the timing of packets having time stamps.
[0102]
If it is determined in step S72 that the packet includes a time stamp, the process proceeds to step S73, and the value of the variable n indicating the number of packets is incremented by one. The variable n is reset to “0” at the timing of reviewing the data rate in step S80 described later.
[0103]
Next, in step S <b> 74, the
[0104]
If it is determined in step S72 that the packet does not include a time stamp, the processes in steps S73 to S75 are skipped, and the process proceeds to step S76.
[0105]
In step S76, the
[0106]
When it is determined in step S77 that the value of n has reached 100 (when it is determined that it is time to review the rate R), the process proceeds to step S78, and the
[0107]
Details of the process of putting the packet in step S76 into the
[0108]
That is, it is determined here whether or not it is the timing to output the packet that is currently targeted. If the time stamp (timing) of the packet is equal to or smaller than the sum of the counter value VCt and the constant D, it is not the time to output the packet yet, so the process proceeds to step S94, where the
[0109]
The format of the empty packet inserted into the
[0110]
As described above, since the correspondence between the number of times of writing and the bus cycle in which data is output is guaranteed, the
[0111]
In an actual program, in order to obtain the timing of each packet by linear interpolation, packets without a time stamp are buffered without executing the function write (), and when a packet with a time stamp is read, The function write () can be executed after obtaining the timing of the packet being processed. Since the time stamp of the CIP header has 1 / (12 × 256) cycles as a minimum unit, the counter value VCt and the value of the length C of one cycle are also calculated as units.
[0112]
If it is determined in step S93 that the time stamp value (timing) is greater than the value obtained by adding the constant D to the counter value VCt, the process proceeds to step S95, where the
[0113]
As described above, the
[0114]
The application repeats the process of checking the data amount a plurality of times at an appropriate interval and averaging the results. By comparing the average value with the previous value and checking the increase / decrease, it is possible to know the difference between the clocks of the source bus and the destination bus. If the number of samplings is increased to some extent, good results can be obtained even if the sampling intervals vary. Theoretically, the sampling interval may be random.
[0115]
If the amount of data written by the system call of the function write () is stored, the clock shift can be calculated. For example, when the previous average value is 500 KB and the current average value is 501 KB, if the data written during that time is 1000 MB, the clock shift is calculated as follows.
[0116]
(501KB-500KB) /1000MB=0.0001
That is, in this case, the clock of the source IEEE1394 bus 5-2-2 is shorter by about 1 ppm (parts per million).
[0117]
A rate R is defined in order to suppress such an increase or decrease in the data amount of the
[0118]
The timing Pt (i) of the captured packet P (i) (i = 0, 1, 2,... N) is corrected by the rate R as shown in the following equation to be Pt ′ (i). .
[0119]
In the above equation, R = Rc / Rm, R is represented by two integers Rc and Rm, Rm = 1000000, and the rate R is specified by changing the value of Rc. In addition, when transmission is continued for a long time, the value of Pt (i) -Ct0 becomes very large. Therefore, in the above equation, Pt '(i-1) is used instead of Ct (0). Yes.
[0120]
The data in the
[0121]
In order to further reduce the error, the remainder Rest (i) at the time of integer division can be stored and used for the next calculation. In this case, the timing Pt ′ (i) corrected by the rate R is expressed by an equation.
[0122]
Pt '(i) = Pt' (i-1) + ((Pt (i) -Pt (i-1)) × Rc + Rest (i-1)) / Rm
Here, Rest (i) is expressed by the following equation.
[0123]
Rest (i) = ((Pt (i) −Pt (i-1)) × Rc + Rest (i-1))
− ((Pt (i) −Pt (i-1)) × Rc + Rest (i-1)) / Rm × Rm
If the above formula is ((Pt (i) −Pt (i−1)) × Rc + Rest (i−1)) = B,
Rest (i) = B− (B / Rm) × Rm
It becomes. The value of (B / Rm) × Rm is algebraically B, but when an integer operation is performed, it becomes a value different from B due to a rounding error in division. This is Rest (i).
[0124]
When the average value A of the data amount in the ice
[0125]
R ′ = (N / (N + A′−A)) × R
This equation is derived intuitively and is not proved, but has been empirically found to be sufficiently effective.
[0126]
Further, when it is desired to keep the data amount in the
[0127]
R ″ = R ′ − (A′−A0) / A0 × F
The transmission of isochronous packets is usually performed by a dedicated link chip, and the format itself is suitable for mounting on an AV device or the like. However, if the control method as in the present invention is used, the stream can be controlled by general-purpose hardware and OS.
[0128]
In the future, host computers that use a standard IEEE1394 link chip called 1394OHCI (1394 Open Host Controller Interface) will be installed in personal computers in the future, but the OHCI specification is based on PELE. Therefore, the control method as in the present invention is effective.
[0129]
In the above description, the DVC format has been mainly described. However, since many portions do not depend on the format, the present invention can be applied to other formats.
[0133]
【The invention's effect】
Claim 1An information receiving device according to
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a first network.
FIG. 2 is a block diagram showing a configuration of a videophone system to which the present invention is applied.
FIG. 3 is a block diagram showing a connection between the translator 10-1 of FIG. 2 and another device.
4 is a block diagram showing a connection between the controller 11-1 of FIG. 2 and another device.
5 is a block diagram showing a configuration of a home router 4-1 in which the translator 10-1 and the controller 11-1 in FIG. 2 are integrated. FIG.
6 is a diagram illustrating data communication of the home router 4-1 in FIG.
7 is a diagram for explaining data communication of the home router 4-1 in FIG. 2. FIG.
FIG. 8 is a diagram for explaining data communication of the home router 4-1 in FIG. 2;
FIG. 9 is a diagram for explaining a GUI displayed on the monitor 6-1 in FIG. 2;
FIG. 10 is a diagram illustrating a GUI displayed on the monitor 6-1 in FIG.
11 is a diagram for explaining a GUI displayed on the monitor 6-1 in FIG. 2; FIG.
12 is a diagram for explaining a GUI displayed on the monitor 6-1 in FIG. 2; FIG.
FIG. 13 is a diagram showing a setting input window.
14 is a flowchart illustrating GUI processing of the videophone system of FIG.
FIG. 15 is a flowchart for explaining GUI processing of the videophone system of FIG. 2;
FIG. 16 is a flowchart illustrating GUI processing of the videophone system of FIG.
FIG. 17 is a flowchart illustrating the reception process in step S13 of FIG.
FIG. 18 is a flowchart illustrating a rate correction operation.
FIG. 19 is a diagram illustrating a format of a packet having a time stamp.
FIG. 20 is a diagram illustrating a format of a packet that does not have a time stamp.
FIG. 21 is a flowchart for explaining more detailed processing in step S76 of FIG.
FIG. 22 is a diagram illustrating a format of an empty packet.
[Explanation of symbols]
DESCRIPTION OF
Claims (8)
前記情報送信装置は、第1のクロックに基づいて動作する第1のネットワークに属し、
前記情報受信装置は、前記第1のクロックと非同期の第2のクロックに基づいて動作する第2のネットワークに属し、
送信されてきた前記パケットを受信する受信手段と、
前記受信手段が受信した前記パケットを記憶する記憶手段と、
前記受信手段により受信された前記パケットに基づいて、前記第1のネットワークにおける前記第1のクロックと、前記第2のネットワークにおける前記第2のクロックのずれを検出する検出手段と
を備える情報受信装置。 In an information reception device that receives a packet transmitted from an information transmission device, different from the information transmission device,
The information transmitting apparatus belongs to a first network that operates based on a first clock,
The information receiving apparatus belongs to a second network that operates based on a second clock asynchronous with the first clock,
Receiving means for receiving the transmitted packet;
Storage means for storing the packet received by the receiving means;
On the basis of the received packets by the receiving means, said first and said first clock in the network, the second information Ru and detecting means for detecting a shift of the second clock in the network report Receiver device.
前記変更手段により変更された時刻情報に対応して、前記受信手段により受信された前記パケットを出力する出力手段とをさらに備え、
前記検出手段は、前記記憶手段に記憶された前記パケットの量に基づいて、前記第1のクロックと第2のクロックのずれを検出する
請求項1に記載の情報受信装置。A changing unit that changes time information included in the packet in response to the deviation detected by the detecting unit;
An output means for outputting the packet received by the receiving means in response to the time information changed by the changing means;
The detection means detects a shift between the first clock and the second clock based on the amount of the packet stored in the storage means.
The information receiving apparatus according to claim 1.
前記検出手段は、所定間隔で区切られた期間毎に、前記記憶手段に記憶された前記パケットの量を計測し、全ての前記期間のうちの1つを注目期間として、前記注目期間と、前記注目期間と所定の関係の前記期間とのそれぞれについて計測された前記パケットの量どうしの差を演算し、その差に基づいて前記注目期間についての前記ずれを検出する
請求項1に記載の情報受信装置。The storage unit, only contains the FIFO,
The detection unit measures the amount of the packet stored in the storage unit for each period divided by a predetermined interval, and sets the attention period as one of all the periods as the attention period. The difference between the amount of packets measured for each of the attention period and the period having a predetermined relationship is calculated, and the deviation for the attention period is detected based on the difference.
The information receiving apparatus according to claim 1.
さらに備える請求項1に記載の情報受信装置。Detection result correspondingly, the information receiving apparatus according to 請 Motomeko 1 further Ru comprising storage control means for storing the empty packets in the memory means of said detecting means.
前記情報送信装置は、第1のクロックに基づいて動作する第1のネットワークに属し、
前記情報受信装置は、前記第1のクロックと非同期の第2のクロックに基づいて動作する第2のネットワークに属し、
送信されてきた前記パケットを受信する受信ステップと、
前記受信ステップの処理により受信された前記パケットを記憶手段に記憶する記憶ステップと、
前記受信ステップの処理により受信された前記パケットに基づいて、前記第1のネットワークにおける前記第1のクロックと、前記第2のネットワークにおける前記第2のクロックのずれを検出する検出ステップと
を含む情報受信方法。 In the information receiving method of the information receiving device different from the information transmitting device, which receives the packet transmitted from the information transmitting device,
The information transmitting apparatus belongs to a first network that operates based on a first clock,
The information receiving apparatus belongs to a second network that operates based on a second clock asynchronous with the first clock,
A receiving step of receiving the transmitted packet;
A storage step of storing in the storage means the packet received by the processing of the reception step;
On the basis of the received packet by the processing of the receiving step, the first and the first clock in the network, the second detecting step and the including of detecting the displacement of said second clock in the network information receiving method.
前記変更ステップの処理により変更された時刻情報に対応して、前記受信ステップの処理により受信された前記パケットを出力する出力ステップとをさらに含み、
前記検出ステップの処理において、前記記憶手段に記憶された前記パケットの量に基づいて、前記第1のクロックと第2のクロックのずれを検出する
請求項5に記載の情報受信方法。A change step of changing time information included in the packet in response to the deviation detected by the detection means;
An output step of outputting the packet received by the processing of the receiving step in response to the time information changed by the processing of the changing step;
In the detection step, a shift between the first clock and the second clock is detected based on the amount of the packet stored in the storage means.
The information receiving method according to claim 5.
前記第2のネットワークには、前記情報送信装置とは異なる装置が属し、
送信されてきた前記パケットを受信する受信ステップと、
前記受信ステップの処理により受信された前記パケットを記憶手段に記憶する記憶ステップと、
前記受信ステップの処理により受信された前記パケットに基づいて、前記第1のネットワークにおける前記第1のクロックと、前記第2のネットワークにおける前記第2のクロックのずれを検出する検出ステップと
を含むコンピュータが実行可能なプログラムが記録されている記録媒体。Processing of a second network operating based on a second clock asynchronous with the first clock, receiving a packet transmitted from an information transmitting apparatus belonging to the first network operating based on the first clock A program that executes
A device different from the information transmitting device belongs to the second network,
A receiving step of receiving the transmitted packet;
A storage step of storing in the storage means the packet received by the processing of the reception step;
On the basis of the received packet by the processing of the receiving step, the first and the first clock in the network, the second detecting step and the including of detecting the displacement of said second clock in the network recording medium which computer executable program is recorded.
前記変更ステップの処理により変更された時刻情報に対応して、前記受信ステップの処理により受信された前記パケットを出力する出力ステップとをさらに含み、
前記検出ステップの処理において、前記記憶手段に記憶された前記パケットの量に基づいて、前記第1のクロックと第2のクロックのずれを検出する
コンピュータが実行可能なプログラムが記録されている請求項7に記載の記録媒体。A change step of changing time information included in the packet in response to the deviation detected by the detection means;
An output step of outputting the packet received by the processing of the receiving step in response to the time information changed by the processing of the changing step;
In the detection step, a shift between the first clock and the second clock is detected based on the amount of the packet stored in the storage means.
The recording medium according to claim 7, in which a computer-executable program is recorded.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12729099A JP4168302B2 (en) | 1998-05-12 | 1999-05-07 | Information receiving apparatus and method, and recording medium |
PCT/JP1999/002457 WO1999059302A1 (en) | 1998-05-12 | 1999-05-12 | Method and apparatus for data transmission, method and apparatus for data reception, method and apparatus for data transmission/transmission, and recording medium |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12871998 | 1998-05-12 | ||
JP10-128719 | 1998-05-12 | ||
JP12729099A JP4168302B2 (en) | 1998-05-12 | 1999-05-07 | Information receiving apparatus and method, and recording medium |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2000059399A JP2000059399A (en) | 2000-02-25 |
JP2000059399A5 JP2000059399A5 (en) | 2007-03-22 |
JP4168302B2 true JP4168302B2 (en) | 2008-10-22 |
Family
ID=26463283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12729099A Expired - Fee Related JP4168302B2 (en) | 1998-05-12 | 1999-05-07 | Information receiving apparatus and method, and recording medium |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4168302B2 (en) |
WO (1) | WO1999059302A1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002054259A1 (en) * | 2000-12-27 | 2002-07-11 | Matsushita Electric Industrial Co., Ltd. | Digital video communication system, digital video communication method, program, and medium |
US20070208790A1 (en) * | 2006-03-06 | 2007-09-06 | Reuter James M | Distributed data-storage system |
JP5508772B2 (en) * | 2009-07-10 | 2014-06-04 | 耕造 野村 | Image data transmission system |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09275402A (en) * | 1996-04-04 | 1997-10-21 | Sony Corp | Communication control system, communication control equipment, data transmitter/receiver and communication control method |
JPH09298578A (en) * | 1996-05-08 | 1997-11-18 | Fuji Film Micro Device Kk | Method and system for insuring data for digital communication |
JP3463460B2 (en) * | 1996-05-20 | 2003-11-05 | ヤマハ株式会社 | Data transmission method |
JP3719789B2 (en) * | 1996-10-04 | 2005-11-24 | 株式会社東芝 | Communication terminal device and relay device |
JP3660443B2 (en) * | 1996-10-15 | 2005-06-15 | 株式会社東芝 | Data transfer control system and relay device |
JPH10191463A (en) * | 1996-12-24 | 1998-07-21 | Victor Co Of Japan Ltd | Electric device and its control method |
JP4003989B2 (en) * | 1997-03-06 | 2007-11-07 | 株式会社東芝 | Communication apparatus and communication method |
JP3862043B2 (en) * | 1997-07-04 | 2006-12-27 | ソニー株式会社 | Information processing apparatus and method, and recording medium |
JP3869088B2 (en) * | 1997-09-26 | 2007-01-17 | 日本テキサス・インスツルメンツ株式会社 | Data transmission control method and data transmission control device |
JPH11177569A (en) * | 1997-12-15 | 1999-07-02 | Matsushita Electric Ind Co Ltd | Information delivering device and plug and play system |
-
1999
- 1999-05-07 JP JP12729099A patent/JP4168302B2/en not_active Expired - Fee Related
- 1999-05-12 WO PCT/JP1999/002457 patent/WO1999059302A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
JP2000059399A (en) | 2000-02-25 |
WO1999059302A1 (en) | 1999-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7590133B2 (en) | Data communication system, data communication method, and data communication apparatus | |
US5822524A (en) | System for just-in-time retrieval of multimedia files over computer networks by transmitting data packets at transmission rate determined by frame size | |
US7873059B2 (en) | Gateway device | |
US6885643B1 (en) | Method and device for facilitating efficient data transfer via a wireless communication network | |
JP3228708B2 (en) | Receiving interface device in transmission system | |
WO1996034477A1 (en) | Data transmitter, data receiver, and data transmission controller | |
WO2004047376A1 (en) | Network relay device, network relay program, and recording medium containing the network relay program | |
US6363428B1 (en) | Apparatus for and method of separating header information from data in an IEEE 1394-1995 serial bus network | |
JP4514798B2 (en) | Relay device, relay method, and relay processing program | |
JP2000049834A (en) | System, device and method for communicating data and storage medium | |
JP4168302B2 (en) | Information receiving apparatus and method, and recording medium | |
JPH11317748A (en) | Transmission interface device for transmission system | |
US20060083232A1 (en) | Method and apparatus for transmitting isochronous stream | |
JP3862371B2 (en) | Electronic device and control method | |
WO2000020974A1 (en) | A method for just-in-time retrieval of multimedia files over computer networks by transmitting data packets at transmission rate determined frame size | |
JP3637835B2 (en) | Network transmission equipment | |
JPH11215143A (en) | Device and method for data communication | |
KR20010007376A (en) | Controlling device, communication system and controlling method | |
US8023803B2 (en) | Moving picture recording apparatus | |
JP4032543B2 (en) | Signal processing circuit | |
JP3862043B2 (en) | Information processing apparatus and method, and recording medium | |
JPH10190742A (en) | Data transmitting method/device, data receiving method/ device and integrated circuit for link layer | |
JP3991060B2 (en) | Imaging processing device | |
JP3943697B2 (en) | Data communication system, data communication apparatus, and data communication method | |
JP4551724B2 (en) | Broadcast receiving apparatus, broadcast receiving system, broadcast receiving apparatus control method, and broadcast receiving method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060217 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080218 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080414 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080502 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080626 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080710 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080723 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110815 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110815 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110815 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120815 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120815 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130815 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |