JP4168302B2 - Information receiving apparatus and method, and recording medium - Google Patents

Information receiving apparatus and method, and recording medium Download PDF

Info

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
Application number
JP12729099A
Other languages
Japanese (ja)
Other versions
JP2000059399A (en
JP2000059399A5 (en
Inventor
真一 竹村
智之 小畠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP12729099A priority Critical patent/JP4168302B2/en
Priority to PCT/JP1999/002457 priority patent/WO1999059302A1/en
Publication of JP2000059399A publication Critical patent/JP2000059399A/en
Publication of JP2000059399A5 publication Critical patent/JP2000059399A5/ja
Application granted granted Critical
Publication of JP4168302B2 publication Critical patent/JP4168302B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet 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】

Figure 0004168302
なお、上式においては、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 claim 5 is:An information receiving method of an information receiving apparatus different from the information transmitting apparatus for receiving a packet transmitted from the information transmitting apparatus, wherein 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 that is asynchronous with the first clock,A receiving step for receiving the transmitted packet, a storing step for storing the packet received by the processing of the receiving step in the storage means, and a first step in the first network based on the packet received by the processing of the receiving step. 1 and a detecting step for detecting a shift of the second clock in the second network.Mu
[0017]
  The recording medium program according to claim 7 is:Processing of a second network that operates based on a second clock that is asynchronous with the first clock and that receives a packet transmitted from an information transmitting apparatus belonging to the first network that operates based on the first clock A program to be executed, and a device different from the information transmitting device belongs to the second network,A receiving step for receiving the transmitted packet, a storing step for storing the packet received by the processing of the receiving step in the storage means, and a first step in the first network based on the packet received by the processing of the receiving step. 1 and a detecting step for detecting a shift of the second clock in the second network.Mu
[0021]
  Claim 1An information receiving device according to claim 1,Claim 5Information receiving method, andClaim 7In the recording medium described in (1), a received packet is stored, and a shift between the first clock in the first network and the second clock in the second network is detected from the received packet.Is done.
[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 first network 1 collect the lines from the home router 4 of the terminal user (network of home, company, etc.) to the backbone routers 3-1 and 3-3. Connecting. Each of the backbone routers 3-1 to 3-3 is connected by an optical fiber, and is configured to transfer data using the above-described high-speed resource reservation protocol technology and application-compatible transfer protocol technology.
[0026]
The home router 4 connects the first network 1 and the IEEE1394 bus 5 (in addition, a terminal network configured by Ethernet). A DVCR (Digital Video Cassette Recorder) 7 having an IEEE1394 interface, a digital video (DV) camera 8 for converting video information and audio information into DV data, and a monitor 6 are connected to the network.
[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 10baseT cable 16 connected to an Ether Card 23 is used. -1 is connected to the controller 11-1 and transmits / receives data to / from the first network via the optical fiber cable 15-1 connected to the ATM card 22 in response to a command from the controller 11-1. It is made to do. The translator 10-1 converts IP data (Internet Protocol) from the first network into DV data, and DVCR 7-1 through a predetermined channel of the IEEE1394 bus 5-1-1 connected to the IEEE1394 card 21. To the DV terminal 25. The translator 10-1 receives DV data (image data and audio data) input from the DV camera 8-1 via a predetermined channel of the IEEE1394 bus 5-1-2 connected to the IEEE1394 card 21. Convert to IP data and send to the first network. Further, the translator 10-1 controls operations of the DVCR 7-1 and the DV camera 8-1 via the IEEE1394 bus 5-1-1 and 5-1-2.
[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 serial port 31 via the dedicated serial cable 19-1. A command specifying the data obtained by converting the DV data supplied from the translator 10-1 into an NTSC signal or the data of the NTSC signal supplied from the controller 11-1 is transmitted by infrared rays.
[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 IEEE1394 bus 5 without using the remote controller 12-1. Further, the remote controller 12-1 may be integrated with the controller 11-1.
[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 home router 4 shown on the left side in FIG. -1 to the remote controller 12-1, etc., and the description thereof is omitted.
[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 home router 4 in FIG. 1, and the translator 10-1 and the controller 11-1 may be realized by using one computer.
[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 CPU 41 reads out a program stored in the memory 50 via the bus 51, and controls the entire home router 4-1 based on the program. The IEEE1394 interface 42 corresponds to the IEEE1394 card 21 in FIG. 3, and is connected to the DVCR 7-1 and the DV camera 8-1 via the IEEE1394 bus 5-1-1 and 5-1-2.
[0036]
The video interface 43 corresponds to the video card 33 in FIG. 4 and is connected to the DVCR 7-1 via the S video cables 17-1 and 18-1. The DVCR control interface 44 corresponds to the serial port 31 of FIG. 4 and is connected to the remote controller 12-1 via the dedicated serial cable 19-1. The ATM interface 45 corresponds to the ATM card 22 of FIG. 3, and communicates IP (Internet Protocol) data with or without reserving a bandwidth to the first network. A mouse 47 and a keyboard (not shown) are connected to the user input interface 46. As a pointing device connected to the user input interface 46, a touch panel, a trackball, or a voice recognition device can be considered in addition to a mouse.
[0037]
The hard disk interface 48 is connected to a hard disk 49 in which programs, program settings, and past input information are stored.
[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 IEEE1394 interface 42 via the IEEE1394 bus 5-1-2. (Number of 0 to 63 representing the channel number). The IEEE1394 interface 42 receives the DV packet of channel n at the IEEE1394 isochronous input queue 68-n. The DV packet supplied to the IEEE1394 isochronous input queue 68-n is transferred and stored in the buffer 61 of the memory 50 via the bus 51 under the control of the CPU 41.
[0039]
The DV packets (A in FIG. 7) stored in the buffer 61 are grouped into one or more predetermined numbers under the control of the CPU 41, as shown in B of FIG. Added. Further, as shown in FIG. 7C, an IP header indicating the address of the connection destination (calling party) is assigned to the packet with the sequential number, based on the transmission mapping table 62 stored in the memory 50. Is added and converted to an IP packet.
[0040]
The transmission mapping table 62 stored in the memory 50 has an IEEE1394 bus 5-1 to which DV data output from its own DV camera 8-1 is transmitted, as shown in FIG. 7D. 2 (the same bus as the IEEE1394 bus 5-1-2), the channel number (any number from 0 to 63), the IP address (address 0 to address 63) of the destination home router 4-2, the destination Correspondence with channel number (port number of home router 4-2) (port0 to port63) of IEEE1394 bus 5-2-1 (the same bus as IEEE1394 bus 5-2-2) to which DVCR7-2 is connected Is recorded.
[0041]
The IP packet (c in FIG. 7) in the buffer 61 is transferred to the network output queue 63 of the ATM interface 45 under the control of the CPU 41. The IP data transferred to the network output queue 63 is output using the bandwidth of the first network reserved by the ATM interface 45.
[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 ATM interface 45. The IP packet stored in the network input queue 64 is transferred to the buffer 61 under the control of the CPU 41.
[0043]
The IP packet (A in FIG. 8) transferred to the buffer 61 is referred to by the CPU 41 for the sequential number, and the presence or absence of a missing packet is confirmed. At this time, if there is a missing packet, the CPU 41 generates an IP packet to compensate for it.
[0044]
Further, the CPU 41 reads the IP header of the packet transferred to the buffer 61, and outputs the IP packet based on the IP header or the reception mapping table 62 (D in FIG. 8) stored in the memory 50. The channel number of the IEEE1394 bus 5-1-1 (port number of the home router 4-1) m (m is a channel number or a number from 0 to 63 representing the port number) is determined.
[0045]
Further, the CPU 41 removes the IP header and the sequential number from the IP packet as shown in FIG. 8B, and divides it into DV packets as shown in C of FIG.
[0046]
The divided DV packet is controlled by the CPU 41 to the IEEE1394 isochronous output queue 66-m of the IEEE1394 interface 42 (corresponding to the channel of the IEEE1394 bus 5-1-1 connected to the DV terminal 25 of the DVCR7-1). Transferred. If timing information is included in the divided DV packet, the timing information is supplied to the IEEE1394 output timing control unit 65.
[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 timing control unit 65 under the control of the CPU 41.
[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 buffer 61 under the control of the CPU 41. The AV control command in the buffer 61 is transferred to the asynchronous output queue 67 of the IEEE1394 interface 42. The AV control command in the asynchronous output queue 67 is output to the IEEE1394 bus 5-1 based on the control of the CPU 41.
[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 IEEE1394 interface 42 and stored in the IEEE1394 asynchronous input queue 69. The response stored in the IEEE1394 asynchronous input queue 69 is transferred to the buffer 61 under the control of the CPU 41 and then read out to the CPU 41.
[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 CPU 41 executing the videophone application program stored in the hard disk 49 and displayed on the monitor 6-1. As described above, the GUI captures the video of the other party captured by the DV camera 8-2 by the controller 11-1 (CPU 41), and the video interface 43 to the S video cable 17- 1 is input to the DVCR 7-1 and further supplied from the output terminal C of the DVCR 7-1 to the monitor 6-1.
[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 display unit 72.
[0053]
A plurality of buttons located on the right side of the display units 71 and 72 are operated by the mouse 47. When the operation is input to the CPU 41 via the user input interface 46, the CPU 41 executes processing corresponding to the button. For example, the call (CALL) button 73 is operated when a connection request is transmitted to a preset partner who wants to talk. At this time, as shown in FIG. 10 (A), in the call indicator 74, the light emitting unit moves and is displayed from the left side to the right side.
[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 call waiting indicator 76 indicating reception of the connection request, as shown in FIG.
[0055]
In order to respond to the light emission display (calling) of the incoming call waiting indicator 76, a response (catch) button 75 is operated.
[0056]
A call end (Hang up) button 77 is operated to release the connection. The display (Monitor on) button 78 is operated when the video display of the other party on the display unit 71 is switched from on (FIG. 11B) to off (FIG. 11A), or from off to on.
[0057]
As shown in FIG. 12 (A), the display switching (Full Screen) button 79 displays the image of the other party displayed on the display unit 71 on the screen of the monitor 6-1 as shown in FIG. 12 (B). It is operated when the image is enlarged and displayed. That is, when the user input interface 46 detects that the display switching button 79 is operated, the CPU 41 controls the remote controller 12-1 from the DVCR control interface 44 via the dedicated serial cable 19-1, and DVCR7-1. Is transmitted from the NTSC signal data (GUI) supplied from the controller 11-1 to the DV data supplied from the translator 10-1. When the mouse 47 is clicked in the state shown in FIG. 12B, the display on the monitor 6-1 returns to the GUI shown in FIG. That is, the operation of the mouse 47 is detected, and a command for switching the output of the DVCR 7-1 is transmitted from the remote controller 12-1.
[0058]
In response to the operation of the Option button 80, the CPU 41 displays a setting input window as shown in FIG. In the transfer address input section 91 of the setting input window, the address of the home router 4-2 of the connection partner is set using an IP address such as “192.168.1.1”. In the home router address input unit 92, the address of the Ethernet card 23 that connects the translator 10-1 and the controller 11-1 is set using an IP address, for example, “192.168.1.2”. In the AMInet address, the address (first network address) of the ATM card 22 (or the ATM interface 45) of the translator 10-1 is set using an IP address, for example, “192.168.2.1”. The
[0059]
In the packet size input unit 94, the size of the packet to be transmitted is set. In the reception delay input unit 95, the size of the buffer of received data is set using the number of frames. If this setting is increased, the display screen will not be interrupted in the middle, but the delay time until the data is displayed after receiving the data will increase, and if the setting is decreased, the delay time will decrease, but it will be displayed. Some images may be interrupted.
[0060]
When the check box 96 is checked, transmission of video information and audio information is set, and when the check box is removed, transmission of only audio information is set. When the check box 97 is checked, reception of video information and audio information is set, and when the check box is cleared, reception of only audio information is set. Normally, the check boxes 96 and 97 are set (checked) so as to transmit and receive video information and audio information.
[0061]
Corresponding to the operation of the remote controller initialization button 98, initialization of the remote controller 12-1 is set. In the check box 99, whether or not the remote controller 12-1 is used is set.
[0062]
When the OK button 100 is operated, past settings are updated using the parameters input to the setting input window, and the setting input window is closed. On the other hand, when the cancel button 101 is operated, the parameters input in the setting input window are invalidated, past settings are not updated, and the setting input window is closed.
[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 CPU 41 determines whether or not the call button 73 has been pressed with the mouse 47. If the CPU 41 determines that the call button 73 has been pressed, the CPU 41 proceeds to step S2 (FIG. 15). In step S <b> 2, the CPU 41 outputs a connection request to the first network via the ATM interface 45 based on information preset in the setting input window.
[0065]
In step S <b> 3, the CPU 41 determines whether or not the ATM interface 45 has received a response to the connection request from the connection destination (the other party to call) via the first network. In step S3, if the CPU 41 determines that the ATM interface 45 does not receive a response to the connection request, the process proceeds to step S4. In step S4, the CPU 41 determines whether or not a predetermined time has elapsed since the connection request was transmitted. When determining that the predetermined time has not elapsed, the CPU 41 returns to step S3 and waits for a response to the connection request. In step S4, when the CPU 41 determines that a predetermined time has elapsed, the CPU 41 returns to step S1.
[0066]
If the CPU 41 determines in step 3 that a response has been received, the CPU 41 proceeds to step S5. In step S <b> 5, the CPU 41 stores the connection destination AMInet IP address and port number included in the received response in the memory 50. In step S6, the CPU 41 causes the ATM interface 45 to reserve the bandwidth of the first network. In step S7, the CPU 41 determines whether or not the bandwidth reservation of the first network is successful. If it is determined that the bandwidth reservation is successful, the CPU 41 proceeds to step S8.
[0067]
In step S <b> 8, the CPU 41 determines whether or not a past transmission setting (mapping table 62 (D in FIG. 7)) with the connection destination exists in the memory 50. When the CPU 41 determines that the past transmission setting with the connection destination does not exist in the memory 50, the CPU 41 proceeds to step S9. In step S <b> 9, the CPU 41 creates a mapping table 62 (D in FIG. 7) by associating the IEEE1394 channel number used by the DV camera 8-1, the connection destination AMInetIP address, and the port number, and stores them in the memory 50. Let If it is determined in step S8 that there is a past transmission setting with the connection destination, the transmission setting is used, and thus the process of step S9 is skipped.
[0068]
In step S10, the CPU 41 transmits an AV control command for instructing imaging to the DV camera 8-1 via the IEEE1394 interface 42, and outputs DV data (image data and audio data) to the designated IEEE1394 channel. Let The DV data is converted into IP data by the ATM interface 45 and output to the first network.
[0069]
In step S <b> 11, the CPU 41 determines whether or not a past reception setting (mapping table 62 (D in FIG. 8)) with the connection destination exists in the memory 50. If it is determined that there is no past reception setting with the connection destination, the process proceeds to step S12. In step S12, the CPU 41 associates the IP address of the connection destination home router 4-2 with the channel of the IEEE1394 bus 5-1 to which its own DVCR 7-1 is connected, and receives the mapping table 62 (FIG. 8). D) is created and stored in the memory 50. If it is determined in step S11 that there is a past reception setting with the connection destination, the reception setting is used, and thus the process of step S12 is skipped.
[0070]
In step S13, the CPU 41 starts reception processing. Details of the reception process will be described with reference to the flowchart of FIG. In step S 51, the ATM interface 45 receives the IP packet from the first network under the control of the CPU 41, records it in the network input queue 64, and transfers it to the buffer 61. The CPU 41 reads the reception setting (mapping table 62 (D in FIG. 8)) stored in the memory 50, and determines the output channel m of the IP packet.
[0071]
In step S52, the CPU 41 separates the IP packet in the buffer 61 into a DV packet and transfers it to the IEEE1394 isochronous output queue 66-m of the IEEE1394 interface 42.
[0072]
In step S53, the CPU 41 determines whether timing information is included in the DV packet separated in step S52. If it is determined that the timing information is not included, the process returns to step S52 to continue the separation and transfer of DV data. If it is determined that the timing information is included, the timing information is sent to the isochronous output timing control unit 65. Supply.
[0073]
In step S54, the IEEE1394 interface 42 stands by until the isochronous output timing control unit 65 instructs to start output. When the output start is instructed, the process proceeds to step S55.
[0074]
In step S55, the IEEE1394 interface 42 outputs the DV data of the IEEE1394 isochronous output queue 66 to the IEEE1394 bus 5-1, in synchronization with the timing instructed by the isochronous output timing control unit 65.
[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 CPU 41 determines whether or not the call end button 77 has been pressed. If it is determined that the call end button 77 has not been pressed, the process proceeds to step S15. In step S15, the CPU 41 determines whether or not the ATM interface 45 has received a call end notification from the call partner. If it is determined not to receive a call end notification, the process proceeds to step S16.
[0077]
In step S16, the CPU 41 determines whether or not the display button 78 has been pressed. If it is determined that the display button 78 has been pressed, the process proceeds to step S17. In step S <b> 17, the CPU 41 deletes the video of the other party on the display unit 71 if it is displayed, and displays it if it is not displayed. Thereafter, the process returns to step S14.
[0078]
If it is determined in step S16 that the display button 78 has not been pressed, the process proceeds to step S18. In step S18, the CPU 41 determines whether or not the display switching button 79 has been pressed. If it is determined that the display switching button 79 is pressed, the CPU 41 supplies the output of the DVCR 7-1 from the translator 10-1 to the remote controller 12-1 via the DVCR control interface 44 in step S19. Send a command to switch to DV data. Therefore, the DV data is displayed on the monitor 6-1 in full screen as shown in FIG.
[0079]
In step S20, the CPU 41 waits for processing until the mouse 47 is clicked. When it is determined that the mouse 47 is clicked, in step S21, the CPU 41 communicates with the remote controller 12-1 via the DVCR control interface 44. , A command for switching the output of the DVCR 7-1 to the GUI supplied from the controller 10-1. Therefore, a GUI is displayed on the monitor 6-1 as shown in FIG. Thereafter, the process returns to step S14.
[0080]
If it is determined in step S18 that the display switching button 79 has not been pressed, the process proceeds to step S22. In step S22, the CPU 41 determines whether or not the reset button 81 has been pressed. If it is determined that the reset button 81 has been pressed, the process proceeds to step S23. In step S23, the CPU 41 controls the ATM interface 45 to stop reception from the first network, and in step S24, re-executes the above-described reception process (the same reception process as in step S13).
[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 call end button 77 has been pressed, if it is determined in step S15 that an end notification has been transmitted from the other party, and in step S7, bandwidth reservation for the first network is made. If it is determined that the process has not succeeded, the process proceeds to step S25. In step S25, the CPU 41 notifies the connection destination of the end of connection. In step S26, the CPU 41 controls the ATM interface 45 to stop the transmission of the IP packet to the first network, and transmits an AV control command to the DV camera 8-1 via the IEEE1394 interface 42. , Stop outputting DV data.
[0083]
In step S27, the CPU 41 deletes from the memory 50 the record of the transmission mapping table 62 (D in FIG. 7) that correlates the IEEE1394 channel number, connection destination AMInetIP address, and port number used by the DV camera 8-1. Let
[0084]
In step S28, the CPU 41 controls the ATM interface 45 to cancel the bandwidth reservation of the first network.
[0085]
In step S29, the CPU 41 controls the ATM interface 45 to stop reception from the first network.
[0086]
In step S30, the CPU 41 stores a reception mapping table 62 (D in FIG. 8) for associating the IP address of the home router 4-2 to be connected with the channel m of the IEEE1394 bus to which the DVCR 7-1 is connected. The record is erased from the memory 50. Thereafter, the process returns to step S1.
[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 CPU 41 determines whether or not the setting button 80 has been pressed. If it is determined that the setting button 80 has been pressed, the process proceeds to step S32. In step S32, the CPU 41 causes the monitor 6-1 to display the setting input window shown in FIG. Here, the user inputs various settings. Thereafter, the process returns to step S1.
[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 CPU 41 determines whether there is an incoming call from another user (whether the ATM interface 45 has received a connection request). If it is determined that there is no incoming call, the process proceeds to step S34. In step S34, the CPU 41 determines whether or not the end button 82 has been pressed. If it is determined that the end button 82 has not been pressed, the process returns to step S1. If it is determined that the end button 82 has been pressed, the CPU 41 ends the GUI process (videophone application).
[0089]
If it is determined in step S33 that there is an incoming call, the process proceeds to step S35. In step S35, the CPU 41 determines whether or not the response button 75 has been pressed. If it is determined that the response button 75 has not been pressed, the process proceeds to step S36. In step S36, the CPU 41 determines whether or not a predetermined time has started from the start of the incoming call. If the predetermined time has not elapsed, the CPU 41 returns to step S35 and waits until the response button 75 is pressed. If it is determined in step S36 that the predetermined time has elapsed, the process returns to step S1.
[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 CPU 41 stores the connection destination IP address included in the incoming call (connection request) in the memory 50. Further, the CPU 41 outputs the channel number n of the IEEE1394 bus 5-1 to which the DV camera 8-1 is connected and the address of the home router 4-1 via the ATM interface 45 as a response to the incoming call. Then, it progresses to step S6 and the process after it is performed.
[0091]
Thus, according to the present embodiment, a so-called videophone can be realized by communicating DV data (video and audio) captured by the DV camera 8 in real time. Furthermore, according to the present embodiment, DVCR 7 can communicate DV data reproduced from a magnetic tape.
[0092]
By the way, in the data transfer in the isochronous mode defined in the IEEE1394 bus 5, the transmission timing of each data packet can only accept an error of about several hundred microseconds. This is a severe condition for software operating on the non-real-time OS of the CPU 41.
[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 first network 1 to the DVCR 7-2 operating on the IEEE1394 bus 5-2-1. In the case (the image captured by the DV camera 8-2 operating on the IEEE1394 bus 5-2-2 may be transferred to the DVCR 7-1 operating on the IEEE1394 bus 5-1-1 via the first network 1. Similarly, the clock deviation between the IEEE1394 bus 5-1-2 and the IEEE1394 bus 5-2-1 (or the EEE1394 bus 5-2-2 and the IEEE1394 bus 5-1-1.Clock shift)May accumulate and the buffer 61 may overflow or underflow. A method for preventing such overflow or underflow will be described below.
[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 CPU 41 outputs an isochronous packet written from the network input queue 64 to the buffer 61 by outputting a system call of the function write () to the device driver of the isochronous output queue 66. Write processing of data of the DV camera 8-2 including the header to the isochronous output queue 66 is executed. After hundreds of packets of data are written in the isochronous output queue 66, the application explicitly instructs the device driver of the isochronous output queue 66 to start sending packets. When instructing the start of transmission, it is possible to specify a bus cycle to be started. When the transmission from the isochronous output queue 66 is started, the data is continuously transmitted. Therefore, the application needs to continuously execute the writing.
[0095]
In order to reduce the load on the CPU 41, the device driver stores several hundreds or thousands of packets of data in the buffer 61, chains the DMA, and performs several hundreds of packets with a single interrupt. Data is sent out. For this reason, even an OS having no real-time property can send a packet every 8,000 (125 microsecond cycle) isochronous cycles per second.
[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 buffer 61 to associate the number of cycles with the number of transmitted packets. Since this processing is performed by an interrupt after completion of the DMA transfer, there is a temporary difference between the correspondence between the cycle and the packet. However, since data is discarded from the buffer 61, after a predetermined time (twice from the DMA) After the interruption of the degree), the deviation is eliminated. Since the time until the deviation is eliminated is determined by the number of DMA delays regardless of the buffer size of the device driver, it can be set to a relatively short time.
[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 chronous output queue 66 serving as a memory for transferring ice chronous packets.
[0098]
Next, details of isochronous packet transfer processing performed by an application running on the CPU 41 will be described with reference to the flowchart of FIG. In step S <b> 71, the CPU 41 (application) takes out the packet from the network input queue 64. In step S72, the CPU 41 determines whether or not the packet extracted in step S71 includes a time stamp. A packet having a time stamp is configured as shown in FIG. SYT in FIG. 19 represents a time stamp. A packet having no time stamp is configured as shown in FIG. 20, and the value of the time stamp field (SYT field) is all “1”.
&
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 CPU 41 adds the data amount in the isochronous output queue 66 to a variable S that represents the accumulated value of the data amount held in the isochronous output queue 66. In step S75, the CPU 41 corrects the time stamp by multiplying the time stamp of the packet by the rate R.
[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 CPU 41 places the packet in the output queue 66, and adds the data amount to a variable N that represents the accumulated value of the transmission data amount. In step S77, the CPU 41 determines whether or not the value of the variable n incremented in step S73 has reached a predetermined value (for example, 100) set in advance. That is, it is determined here whether or not it is time to review the rate R. If the value of n has not reached 100, the process returns to step S71, and the subsequent processing is repeatedly executed.
[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 CPU 41 determines the average value of the data amount of the isochronous output queue 66. A new rate R is calculated from A (= S / n), the accumulated value N of the transmission data amount, and the current rate R. Further, in step S79, the CPU 41 stores the average value A for the next calculation, and clears the value S representing the data amount of the isochronous output queue 66 and the value N of the cumulative value N of the transmission data amount. That is, the value of S and the value of N are set to “0”. In step S80, the CPU 41 resets the value of the variable n to “0”. Thereafter, the process returns to step S71, and the subsequent processes are repeatedly executed.
[0107]
Details of the process of putting the packet in step S76 into the isochronous output queue 66 and adding the data amount to the transmission data amount will be further described with reference to the flowchart of FIG. In step S91, the CPU 41 determines whether or not a time stamp is included in the packet. If not included, the CPU 41 calculates a time stamp (timing) by linear interpolation in step S92. When it is determined in step S91 that the packet includes a time stamp (timing), and when the time stamp (timing) is calculated by linear interpolation in step S92, in step S93, the CPU 41 It is determined whether or not (timing) is greater than the sum (VCt + D) of the cycle counter value VCt representing the bus cycle and a predetermined constant D determined from a delay due to transfer or the like.
[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 CPU 41 An empty packet is placed in the output queue 66, and a value C representing the length of one cycle is added to the counter value VCt. Thereafter, the process returns to step S93, and the time stamp value is compared again with the magnitude of the counter value VCt and the addition value of the constant D.
[0109]
The format of the empty packet inserted into the isochronous output queue 66 in step S94 is shown in FIG. As shown in the figure, in this case, all data is set to 1.
[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 CPU 41 increases the counter value VCt each time the function write () is executed. By executing the function write (), it is possible to easily know the cycle in which the data to be written is actually output to the bus. By comparing the virtual cycle and the timing of each packet, the transmission timing is determined.
[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 CPU 41 places the packet in the isochronous output queue 66, A value C representing the length of one cycle is added to the value VCt, and the transmission data amount at that time is added to the accumulated value N of the transmission data amount. Next, proceeding to step S96, the CPU 41 determines whether or not the transmission has been started.startIf not, the process advances to step S97 to determine whether or not sufficient packets are held in the isochronous output queue 66. If sufficient packets are already held in the isochronous output queue 66, the CPU 41 starts transmission in step S98. If sufficient packets are not yet held in the isochronous output queue 66, the transmission start process in step S98 is skipped.
[0113]
As described above, the CPU 41 indirectly estimates the shift between the clock of the IEEE1394 bus 5-2-2 and the clock of the IEEE1394 bus 5-1-1 from the amount of data held in the isochronous output queue 66. The device driver has a function ioctl () that returns the amount of data in the driver in bytes. This function ioctl () can obtain an accurate value in consideration of the DMA execution status from the DMA register status in addition to the amount of data in the software buffer.
[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 isochronous output queue 66 due to such a bus clock shift. The value of the rate R is a value close to about 1 such as 1.00001, for example.
[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]
Figure 0004168302
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 isochronous output queue 66 is sent out faster when the value of R is decreased, and is sent out later when the value of R is increased. By selecting an appropriate value for the rate R, it is possible to absorb the clock shift between the buses and keep the data amount in the buffer constant.
[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 chronous output queue 66 is obtained, the data is output only for a predetermined period, and then the average value A ′ of the data amount in the ice chronous output queue 66 is obtained again. Assuming that the total number of data processed by write () is N and the transmission rate is R, the rate R ′ for eliminating the clock shift is obtained as follows.
[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 isochronous output queue 66 at a predetermined value A0, a rate R ″ obtained by further modifying the rate R ′ can be used as follows. Here, F is 1/1000 to 1 / 100,000 or so.
[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 claim 1,Claim 5Information receiving method described in, andClaim 7Since the time information included in the packet is changed in accordance with the difference between the first clock and the second clock according to the recording medium described in the above, between different networks in which an asynchronous clock is used. In this case, data can be received in real time.
[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 SYMBOLS 1 1st network, 2 edge router, 3 backbone router, 4 home router, 5 IEEE1394 bus, 6 monitor, 7 DVCR, 8 DV camera, 10 translator, 11 controller, 12 remote controller, 41 CPU, 42 IEEE1394 interface, 43 Video interface, 44 DVCR controller interface, 45 ATM interface, 46 User input interface, 47 Mouse, 48 Hard disk interface, 49 Hard disk, 50 Memory, 51 Bus, 61 Buffer, 62 Mapping table

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.
前記記憶手段は、FIFOを含み、
前記検出手段は、所定間隔で区切られた期間毎に、前記記憶手段に記憶された前記パケットの量を計測し、全ての前記期間のうちの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.
第1のクロックに基づいて動作する第1のネットワークに属する情報送信装置から送信されたパケットを受信する、前記第1のクロックと非同期の第2のクロックに基づいて動作する第2のネットワークの処理を実行するプログラムであって、
前記第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.
JP12729099A 1998-05-12 1999-05-07 Information receiving apparatus and method, and recording medium Expired - Fee Related JP4168302B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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