(57)【特許請求の範囲】
【請求項１】
同じ情報を複数の機器に対して伝送する通信方式を用いてデータ通信を行うデータ通信装置を有するデータ通信システムであって、
前記データ通信装置は、前記通信方式に基づいて生成される通信パケットのデータ部に、前記データ通信装置を含む複数の機器間の論理的な接続を示す第１のＩＤ情報と、前記第１のＩＤ情報を設定した機器に固有のＩＤ情報である第２のＩＤ情報とを格納する格納手段を有することを特徴とするデータ通信システム。
【請求項２】
前記通信方式は、ＩＥＥＥ１３９４規格で規定されたアシンクロナス（Asynchronous）トランザクションを用いた通信方式であることを特徴とする請求項１に記載のデータ通信システム。
【請求項３】
前記通信方式は、前記通信パケットをブロードキャストで送信する通信方式であることを特徴とする請求項１または２に記載のデータ通信システム。
【請求項４】
同じ情報を複数の機器に対して伝送する通信方式を用いてデータ通信を行うデータ通信装置であって、
前記通信方式に基づいて生成される通信パケットのデータ部に、前記データ通信装置を含む複数の機器間の論理的な接続を示す第１のＩＤ情報と、前記第１のＩＤ情報を設定した機器に固有のＩＤ情報である第２のＩＤ情報とを格納する格納手段を有することを特徴とするデータ通信装置。
【請求項５】
前記通信方式は、ＩＥＥＥ１３９４規格で規定されたアシンクロナス（Asynchronous）トランザクションを用いた通信方式であることを特徴とする請求項４に記載のデータ通信装置。
【請求項６】
前記通信方式は、前記通信パケットをブロードキャストで送信する通信方式であることを特徴とする請求項４または５に記載のデータ通信装置。
【請求項７】
同じ情報を複数の機器に対して伝送する通信方式を用いてデータ通信を行うデータ通信装置を有するデータ通信システムに適用可能なデータ通信方法であって、
前記通信方式に基づいて生成される通信パケットのデータ部に、前記データ通信装置を含む複数の機器間の論理的な接続を示す第１のＩＤ情報と、前記第１のＩＤ情報を設定した機器に固有のＩＤ情報である第２のＩＤ情報とを格納するステップを有することを特徴とするデータ通信方法。
【請求項８】
前記通信方式は、ＩＥＥＥ１３９４規格で規定されたアシンクロナス（Asynchronous）トランザクションを用いた通信方式であることを特徴とする請求項７に記載のデータ通信方法。
【請求項９】
前記通信方式は、前記通信パケットをブロードキャストで送信する通信方式であることを特徴とする請求項７または８に記載のデータ通信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ通信システム、データ通信装置及びデータ通信方法に関する。
【０００２】
【従来の技術】
パソコン周辺機器の中で、最も利用頻度が高いのはハードディスクやプリンタであり、これらの周辺装置は小型コンピュータ用汎用型インターフェイスで代表的なデジタルインターフェイス( 以下、デジタルI/F)であるSCSI等をもってパソコン間との接続がなされ、データ通信が行われている。
【０００３】
また、デジタルカメラやデジタルビデオカメラといった記録再生装置もパソコン( 以下、PC) への入力手段として、周辺装置の1 つであり、近年、デジタルカメラやビデオカメラで撮影した静止画や動画といった映像をPCへ取り込み、ハードディスクに記憶したり、またはPCで編集した後、プリンタでカラープリントするといった分野の技術が進んでおり、ユーザーも増えている。
【０００４】
取り込んだ画像データをPCからプリンタやハードディスクへ出力する際などに、上記のSCSI等を経由してデータ通信がされるものであり、そのようなとき画像データのようにデータ量の多い情報を送るためにも、こういったデジタルI/F には転送データレートの高い、かつ汎用性のあるものが必要とされる。
【０００５】
図８に、従来の例としてデジタルカメラ、PC及びプリンタを接続したときのブロック図を示す。
図８において、101 はデジタルカメラ、102 はパソコン(PC)、103 はプリンタである。さらに、104 はデジタルカメラ101 の記録部であるメモリ、105 は画像データの復号化回路である。
【０００６】
106 は画像処理部、107 はD/A コンバータ、108 は表示部であるEVF 、109 はデジタルカメラ101 のデジタルI/O 部、110 はPC102 のデジタルI/O 部、111 はキーボードやマウスなどの操作部、112 は画像データの復号化回路、113 はディスプレイ、114 はハードディスク装置、115 はRAM 等のメモリ、116 は演算処理部（MPU ）である。
【０００７】
117 はPCI バス、118 はデジタルI/F のSCSIインタフェース、119 はPCとSCSIケーブルで繋がったプリンタ103 のSCSIインターフェイス、120 はメモリ、121 はプリンタヘッド、122 はプリンタ102 を制御するプリンタコントローラ、123 はドライバである。
【０００８】
デジタルカメラ102 で撮像した画像をPC102 に取り込み、またPC102 からプリンタ103 へ出力するときの手順の説明を行う。デジタルカメラ101 のメモリ104 に記憶されている画像データが読みだされると、読み出された画像データのうち一方は復号化回路105 で復号化され、画像処理回路106 で表示するための画像処理がなされ、D/A コンバータ107 を経て、EVF108で表示される。また一方では、外部出力するためにデジタルI/O 部109 から、ケーブルを伝わってPC 102のデジタルI/O 部110 へ至る。
【０００９】
PC 102内では、PCI バス117 を相互伝送のバスとして、デジタルI/O 部110 から入力した画像データは、記憶する場合はハードディスク114 で記憶され、表示する場合は復号化回路112 で復号化された後、メモリ115 で表示画像としてメモリされて、ディスプレイ113 でアナログ信号に変換されてから表示される。PC 102での編集時等の操作入力は操作部111 から行い、PC102 全体の処理はMPU 116 で行う。
【００１０】
また、画像をプリント出力する際は、PC 102内のSCSIインターフェイスボード118 から画像データをSCSIケーブルにのせて伝送し、プリンタ103 側のSCSIインターフェイス119 で受信し、メモリ120 でプリント画像として形成され、プリンタコントローラ122 の制御でプリンタヘッド121 とドライバ123 が動作して、メモリ120 から読み出したプリント画像データをプリントする。
【００１１】
以上が、従来の画像データをPC取り込み、またはプリントするまでの手順である。このように、従来はホストであるPCにそれぞれの機器が接続され、PCを介してから、記録再生装置で撮像した画像データをプリントしている。
【００１２】
また、ディジタルVTR 、TV、チューナなどのAV機器や、パーソナルコンピュータ（以下、PCと称する）等をIEEEP-1394（以下、IEEE1394規格と称する）に準拠したデジタルインターフェイスを用いて相互に接続し、これらの間においてディジタルビデオ信号、ディジタルオーディオ信号などを送受信する通信システムが提案されている。
【００１３】
このシステムにおいては、リアルタイムにデータ転送することが重要となるため、いわゆる同期通信( 以下、Isochronous 通信と称する) によって、データ通信を行なっている。
【００１４】
この場合には、データ転送のリアルタイム性は保証されるが、通信が確実に行なわれるかは保証されない。
【００１５】
【発明が解決しようとする課題】
しかしながら、上記従来例で挙げたデジタルインターフェイスの問題点として、SCSIには転送データレートの低いものや、パラレル通信のためケーブルが太いもの、接続される周辺機器の種類や数、接続方式などにも制限があり、多くの面での不便利性も指摘されている。
【００１６】
また、IEEE1394規格のIsochronous 通信の場合には、同期通信を行なうため、通信が確実に行なわれるかは保証されない。したがって、確実にデータ転送を行ないたい場合には、IEEE1394規格のIsochronous 通信を使用することは好ましくない問題があった。
【００１７】
また、IEEE1394規格のIsochronous 通信では、通信帯域に空きがある場合にも、通信の総数が64に制限される。このため、通信帯域をあまり要求しないような通信を多数行ないたい場合には、IEEE1394規格のIsochronous 通信を使用することはできないといった問題点があった。
【００１８】
また、IEEE1394規格の通信方式では、データ転送の間に、バスリセットやエラーによる、データ転送の中断が生じることが考えられる。この場合、IEEE1394規格の通信方式では、どのようなデータ内容が失われたのかを知ることができない。
【００１９】
また、IEEE1394規格の通信方式では、該データ転送中断からの復帰を行なうためには、非常に繁雑な通信手順を踏むことを要求されるという問題点もあった。
【００２０】
本発明は、上記問題点を解決するためになされたものであり、従来の通信方式の不利便性を解決し、簡便に高速にデータ通信を行うことができるようにすることを第１の目的とする。また、本発明は、複数のコントロールノードがネットワーク上に存在する場合であっても、個々のコントロールノードが設定した論理的コネクションを識別できるようにすることを第２の目的とする。
【００２１】
【課題を解決するための手段】
本発明に係るデータ通信システムは、例えば、同じ情報を複数の機器に対して伝送する通信方式を用いてデータ通信を行うデータ通信装置を有するデータ通信システムであって、前記データ通信装置は、前記通信方式に基づいて生成される通信パケットのデータ部に、前記データ通信装置を含む複数の機器間の論理的な接続を示す第１のＩＤ情報と、前記第１のＩＤ情報を設定した機器に固有のＩＤ情報である第２のＩＤ情報とを格納する格納手段を有することを特徴とする。
【００５１】
また、本発明に係るデータ通信装置は、例えば、同じ情報を複数の機器に対して伝送する通信方式を用いてデータ通信を行うデータ通信装置であって、前記通信方式に基づいて生成される通信パケットのデータ部に、前記データ通信装置を含む複数の機器間の論理的な接続を示す第１のＩＤ情報と、前記第１のＩＤ情報を設定した機器に固有のＩＤ情報である第２のＩＤ情報とを格納する格納手段を有することを特徴とする。
【００５４】
また、本発明に係るデータ通信方法は、例えば、同じ情報を複数の機器に対して伝送する通信方式を用いてデータ通信を行うデータ通信装置を有するデータ通信システムに適用可能なデータ通信方法であって、前記通信方式に基づいて生成される通信パケットのデータ部に、前記データ通信装置を含む複数の機器間の論理的な接続を示す第１のＩＤ情報と、前記第１のＩＤ情報を設定した機器に固有のＩＤ情報である第２のＩＤ情報とを格納するステップを有することを特徴とする。
【００５９】
【発明の実施の形態】
以下、図１を用いて、本発明の実施の形態について説明する。図１の通信システムを構成する各機器は、IEEE1394規格に準拠した通信インターフェイス（以下、1394インターフェイス）を具備している。以下、本実施の形態においてIEEE1394規格に準拠した通信システムを1394シリアルバスと称する。
【００６０】
図１において、10はcomputerであり、12は演算処理装置 (MPU)、14は第一の1394インターフェイス、16はキーボードなど第一の操作部、18は第一のデコーダ、20はCRT ディスプレイなどの表示装置、22はハードディスク、24は第一のメモリであり本発明に係るcomputer10の内部メモリ、26はPCI バスなどのコンピュータ内部バスである。
【００６１】
また、28はVCR であり、30は撮像光学系、32はアナログ- デジタル(A/D) 変換器、34はビデオ処理部、36は圧縮伸長回路、38は第一のメモリ、40は第二のメモリ、42は第一のデータセレクタ、44は第二の1394インターフェイス、46は第一のメモリ制御回路、48は第二のメモリ制御回路、50はシステムコントローラ、52は第二の操作部、54はファインダ、56はD/A 変換器、58は記録部である。
【００６２】
さらに、60はプリンタであり、62は第三の1394インターフェイス、64は第二のデータセレクタ、66は第三の操作部、68はプリンタコントローラ、70は第二のデコーダ、72は第三のメモリ、74は画像処理部、76はドライバ、78はプリンタヘッドである。
【００６３】
computer10と、VCR28 、及び、プリンタ60とは、第一から第三の1394インターフェイス 14, 44, 62 によって1394シリアルバスのノードを構成するとともに、該第一から第三の1394インターフェイス14, 44,62 を介して相互に接続されており、データの授受や、コマンドによるコントロール等が可能になっている。
【００６４】
本実施の形態では、例えば、computer10は、1394シリアルバス上における、画像信号送受信のコントローラとして動作する。本発明に係るcomputer10においては、例えば、PCI バスなどのコンピュータ内部バス26によって、MPU12 と、1394インターフェイス14、キーボード16、デコーダ18、CRT ディスプレイ20、ハードディスク22、内部メモリ24などの、内部の各デバイスとが相互に接続されている。
【００６５】
MPU12 は、ハードディスク22に記録されているソフトウェアを実行するとともに、様々なデータを内部メモリ24に移動させる。また、MPU12 は、PCI バス26によって接続されている各デバイスの、調停動作なども合わせて行なう。
【００６６】
1394インターフェイス14は、1394シリアルバス上に転送される画像信号を受信するとともに、ハードディスク22に記録されている画像信号や、内部メモリ24に記憶される画像信号を送信する。また、1394インターフェイス14は、1394シリアルバス上に接続された他の機器に対するコマンドデータを送信する。また、1394インターフェイス14は、1394シリアルバス上に転送される信号を他の1394ノードに転送する。
【００６７】
操作者は、キーボード 16 などの操作部を通じて、MPU12 に、ハードディスク 22 に記録されているソフトウェアを実行させる。該ソフトウェア等の情報は、CRT ディスプレイなどの表示装置 20 によって、操作者に提示される。デコーダ 18 は、上記のソフトウェアを通じて、1394シリアルバス上から受信した画像信号をデコードする。デコードされた画像信号も、また、CRT ディスプレイなどの表示装置 20 によって、操作者に提示される。
【００６８】
本実施の形態では、例えば、VCR28 は、画像信号の入力装置として動作する。撮像光学系30から入力された映像の輝度信号（Y ）と色差信号（C ）は各々A/D 変換器32にてディジタルデータに変換される。上記ディジタルデータは、ビデオ処理部 34 にて多重化される。その後、圧縮伸長回路 36 にて該画像情報のデータ量を圧縮する。
【００６９】
一般にYC独立に該圧縮処理回路を備えているが、ここでは説明の簡略化の為にYC時間分割での圧縮処理の例を示す。次に前記画像データを伝送路誤りに強くする目的でシャフリング処理を施す。
【００７０】
この処理の目的は連続的な符号誤りであるところのバーストエラーを修整や補間の行いやすい離散的な誤りであるところのランダムエラーに変換する事である。加えて、画像の画面内の粗密による情報量の発生の偏りを均一化する目的を重視する場合には前記圧縮処理の前に本処理工程を持ってくると、ランレングス等の可変長符号を用いた場合の都合が良い。
【００７１】
これを受けて、データ・シャフリングの復元の為のデータ識別（ID）情報を付加する。このID付加動作にて付加されたIDは、同時に記録しておいた前記システムのモード情報等と共に再生時の逆圧縮処理（情報量伸張処理）の際に補助情報として利用する。これらのデータの再生時の誤りを低減する為にエラー訂正（ECC ）情報を付加する。
【００７２】
この様な冗長信号の付加までを、映像と音声等の情報毎に対応する独立の記録エリア毎に処理する。上記のように、ID情報やECC 情報が付加された画像信号は、記録部58により、磁気テープ等の記録媒体に記録されるとともに、後述する第一のメモリ 38 に一時的に記憶される。
【００７３】
一方、ビデオ処理部34にて多重化された画像データは、D/A 変換器56によって、ディジタル- アナログ変換され、電子ビューファインダ54で操作者により観察される。
【００７４】
また、操作者は第二の操作部52を介して、様々な操作情報をシステムコントローラ50に送信し、システムコントローラ50は、該操作情報によって、VCR 全体を制御するようになっている。
【００７５】
また、ビデオ処理部34にて多重化された画像データは、第二のメモリ40に出力され、一時的に記憶される。前述した第一のメモリ38と、二のメモリ40とは、それぞれ、第一のメモリ制御回路46と、第二のメモリ制御回路48とを介し、システムコントローラ50により動作制御されている。第一のデータセレクタ42は、前述した第一のメモリ38と、二のメモリ40からのデータを選択して、第二の1394インターフェイス44に受け渡す、あるいは、第二の1394インターフェイス44からのデータを選択して、第一のメモリ38と、二のメモリ40とのどちらかに受け渡す。
【００７６】
上記動作により、VCR 28における第二の1394インターフェイス44からは、圧縮された画像データと非圧縮の画像データとが、操作者により選択されて出力できるようになっている。
【００７７】
第二の1394インターフェイス44は、1394シリアルバスを通じて、VCR 28を制御するためのコマンドデータを受信する。受信されたコマンドデータは、第一のデータセレクタ42を通じて、システムコントローラ50に入力される。
【００７８】
システムコントローラ50は、上記のコマンドデータに対するレスポンスデータを作成して、第一のデータセレクタ42、及び、第二の1394インターフェイス44を通じ、1394シリアルバスに該データを送出する。
【００７９】
本実施の形態では、例えば、プリンタ60は、画像の印刷出力装置として動作する。第三の1394インターフェイス62は、1394シリアルバス上に転送される画像信号と、1394シリアルバスを通じて該プリンタ60を制御するためのコマンドデータとを受信する。また、第三の1394インターフェイス62は、該コマンドに対するレスポンスデータを送信する。
【００８０】
受信された画像データは、第二のデータセレクタ64を通じて、第二のデコーダ70に入力される。第二のデコーダ70は、該画像データをデコードして、画像処理部74に出力する。画像処理部74は、デコードされた画像データを第三のメモリ72に一時的に記憶する。
【００８１】
一方、受信されたコマンドデータは、第二のデータセレクタ64を通じて、プリンタコントローラ68に入力される。プリンタコントローラ 68 は、該コマンドデータによりドライバ76による紙送り制御や、プリンタヘッド78の位置制御など、様々な印刷に関する制御を行なう。
【００８２】
また、プリンタコントローラ68は、第三のメモリ72に一時的に記憶された画像データを、印刷データとして、プリンタヘッド78に送信し、印刷動作を行わせる。
【００８３】
上述したように、本発明に係る、第一から第三の1394インターフェイス14, 44, 62は、それぞれ、1394シリアルバスのノードを構成する。第一1394インターフェイス14は、コントロールノード、または、コントローラとして動作し、第二1394インターフェイス44は、画像データのソースノードとして動作し、第三1394インターフェイス44はデスティネーションノードとして動作する。
【００８４】
以下に、図２を用いて、本実施の形態に係る各ノードの動作を示す。図２において、 200はコントローラ、 202はソースノード、 204はデスティネーションノード、 206はソースノード内部のサブユニット、 208は画像データ等のobject、 210はデスティネーションノード内部の第一のメモリ空間、 212は第一のコネクション、 214はデスティネーションの第n のメモリ空間、 216は第n のコネクション、である。
【００８５】
コントローラ 200は、データ転送を行うソースノード 202とデスティネーションノード 204とのコネクションを確立するためのコネクションIDを管理するノードである。コントローラ 200は、ソースノード 202、及び、デスティネーションノード 204と独立したノードであってもよいし、ソースノード、または、デスティネーションノードとコントローラとが同じであってもかまわない。
【００８６】
後者の場合、コントローラと同じノードである、ソースノード、または、デスティネーションノードと、コントローラとの間のトランザクションは、不要である。本実施の形態では、コントローラ 200がソースノード 202、及び、デスティネーションノード 204とは別のノードに存在する場合の例を示す。
【００８７】
本実施の形態の通信装置においては、複数のコネクションを確立することが可能である。ソースノード 202は、内部のサブユニット206 から画像データ等のobject 208を、例えば、第一のコネクション 212を通じて、デスティネーションノード内部の第一のメモリ空間 210に書き込む。また、上述のコネクションによるデータの授受は、例えば、Asynchronousパケットを用いて行なわれる。
【００８８】
次に、図３（ａ）を用いて、上述した、コントローラ 200、ソースノード 202、デスティネーションノード 204の、各ノードの動作について説明する。
コントローラは、ユーザーが選択したソースノードとデスティネーションノードに対して、接続を行うためのデータパケットを送信する。このパケットはAsynchronousパケットで、ペイロードにはこのコネクションを識別するためのコネクションIDが書かれている。
【００８９】
このパケットに続いて、コントローラはソースノードに送信コマンドパケットを送信する。送信コマンドパケットを受け取ると、ソースノードとデスティネーションノードは割り当てられたコネクションIDを使用してブロードキャストトランザクションを行い、データ転送を開始する。データ転送が終了するとソースはsegment end を示すブロードキャストパケットを送出し、このパケットを受け取ったコントローラはコネクションIDを解放して、データ転送が終了する。
【００９０】
コントローラからコネクションID通知のパケットと送信コマンドパケットを受け取ったソースノードは、デスティネーションノードに対する問い合わせのAsynchronousブロードキャストパケットを送信する。このパケットにはコントローラに指定されたコネクションIDが書き込まれている。
【００９１】
デスティネーションノードはこのパケットを受け取ってレスポンスのブロードキャストパケットを送出する。このパケットにも同一のコネクションIDが書き込まれており、ソースノードはこのIDを照合してこのソースノード宛のパケットであるかをどうかを識別する。
【００９２】
レスポンスパケットには、デスティネーションノードのバッファサイズとオフセットアドレスが書き込まれており、これ以後のデータ転送はそのアドレスに対するライトトランザクションによって行われる。
【００９３】
ソースノードはデスティネーションノードから受け取ったオフセットアドレスに対して  Asynchronousブロードキャストパケットを使用して書き込みを行う。このパケットには前記コネクションIDとデータのシークエンス番号が書き込まれている。
【００９４】
ブロードキャストパケットを送信した後、ソースノードはデスティネーションノードからのレスポンスを待機する。デスティネーションノードからはコネクションIDとシークエンス番号が書かれたレスポンスパケットがAsynchronousブロードキャストパケットで送信され、このパケットを受け取るとソースノードはシークエンス番号をインクリメントし、次のデータを同様に送信する。
【００９５】
この手順を繰り返して、ソースノードはデータ転送を行う。デスティネーションノードからのレスポンスを待機する最大の時間はあらかじめ決められており、その時間を過ぎてもレスポンスが帰ってこない場合は、同一シークエンス番号を用いて、同一データを再送する。また、デスティネーションノードから再送要求のレスポンスパケットが送信された場合は、指定されたシークエンス番号のデータをブロードキャストで再送する。
【００９６】
全てのデータの転送が終了したら、ソースノードはsegment end を示すブロードキャストパケットを送信して、データ転送を終了する。
【００９７】
コントローラからコネクションID通知のパケットを受け取ったデスティネーションノードは、ソースノードからの問い合わせのAsynchronousブロードキャストパケットを待機する。ブロードキャストパケットを受け取ったデスティネーションノードは、そのパケットに書かれているコネクションIDとコントローラから通知されたコネクションIDを照合して、このパケットがソースノードからのパケットであるかどうかを判別する。
【００９８】
ソースノードからの問い合わせパケットを受信すると、デスティネーションノードはコネクションID、データ受信用のバッファサイズとオフセットアドレスを書き込んだレスポンスパケットをブロードキャストで送信する。ソースノードからのデータは、このアドレスに対して書き込まれる。
【００９９】
ソースノードからデータが書き込まれると、デスティネーションノードはペイロード中のコネクションIDの照合を行う。このIDがコントローラから通知されたIDと一致する場合はデータを受け取って、コネクションIDと受信データ中のシークエンス番号を書き込んだレスポンスパケットをブロードキャストで送信する。受信データのシークエンス番号に不整合が検出された場合、再送要求を示すレスポンスを送出し、ソースノードに再度データを要求することができる。
【０１００】
全てのデータ転送が終了すると、ソースノードからsegment end を示すブロードキャストパケットが送信され、このパケットを受信するとデータ転送プロセスを終了する。なお、本実施の形態において、Ｎ個のブロードキャストトランザクションで転送されるデータはＮ画面分の静止画像、所定区分の動画像等である。確実にデータを転送するためには、バスリセットの発生や何らかのエラーの発生により、データ転送中が中断した場合にも、速やかに該データ転送が再開されることが望ましい。
【０１０１】
本実施の形態では、再送要求の手順を設けることで該問題点を解決している。次に、該再送要求の手順を図３（ｂ）を用いて説明する。例えば、シークエンス番号がi であった時に、データ転送が中断した場合、まず、各ノードは規格で定められた手順でバスの再構築を行う。
【０１０２】
バスの再構築が完了した後、デスティネーションノードはコネクションIDとシークエンス番号i を書き込んだ再送要求パケット(resendrequest) を、ブロードキャストパケットで送信する。データ転送の再開が可能な場合には、ソースノードは、ack レスポンスを返す。
【０１０３】
その後、ソースノードは受信したパケットのコネクションIDを照合し、要求されたシークエンス番号の以降、すなわち、シークエンス番号 (i+1)で始まるデータ列のデータを順次ブロードキャストパケットで送信する。
【０１０４】
前述の手順により、ソースノード、デスティネーションノード、コントローラノードはそれぞれノードIDを考慮することなく、データ転送が中断しても、その後のデータ転送を容易に、かつ、確実に再開することができる。また、前述のように、本実施の形態では、データ転送が中断した場合にも、コントローラの制御手順が簡略化できる効果がある。
【０１０５】
次に、図４を用いて、上述のAsynchronousパケットについて説明する。本実施の形態に係るAsynchronousパケットは、例えば、4 byte (32 bits 、以下クアッドレットと称する) を単位とするデータパケットである。
【０１０６】
Asynchronousパケットにおいて、最初の16 bits はdestination#IDフィールドであり、該フィールドは受信先のノードIDを示す。本実施の形態のように、ブロードキャストを行なう場合には、このフィールドの値はFFFF16 (16進数) である。
【０１０７】
次の6 bitsのフィールドは、トランザクション・ラベル(tl)フィールドであり、各トランザクション固有のタグである。次の2 bitsのフィールドは、リトライ(rt)コードであり、パケットがリトライを試みるかどうかを指定する。
【０１０８】
次の4 bitsのフィールドは、トランザクションコード(tcode) である。tcode は、パケットのフォーマットや、実行しなければならないトランザクションのタイプを指定する。
【０１０９】
本実施の形態においては、例えば、この値が 00012(2進数) である、データブロックの書き込みリクエストのトランザクションを用いる。
次の4 bitsのフィールドは、プライオリティ(pri) フィールドであり、優先順位を指定する。本実施の形態においては、Asynchronousパケットを用いているので、このフィールドの値は 00002(2進数) である。
【０１１０】
次の16 bits はsource#ID フィールドであり、送信側のノードIDを示す。次の48 bits はdestination#offsetフィールドであり、パケットの受信先ノードアドレスの、下位48 bits がこのフィールドによって指定される。
【０１１１】
次の16 bits はdata#length フィールドであり、後述するデータフィールドの長さを、バイト単位で示している。次の16 bits はextended#tcodeフィールドであり、本実施の形態に用いられるデータブロックの書き込みリクエストトランザクションにおいては、この値は000016(16 進数) である。
【０１１２】
次の32 bits はheader#CRCフィールドであり、上述したdestination#IDフィールドからextended#tcodeフィールドまでを、パケットヘッダと称し、該ヘッダパケットのエラー検出に用いられる。
【０１１３】
次のフィールドは可変長のデータフィールドであり、該データフィールドをパケットのペイロードと称する。本実施の形態においては、該データフィールドがクアッドレットの倍数でない場合、クアッドレットに満たないビットには0 が詰められる。次の32 bits のフィールドはdata#CRCフィールドであり、上記のheader#CRCフィールドと同様に、該データフィールドのエラー検出に用いられる。
【０１１４】
図５は、上述したフィールドにおいて、本実施の形態にていられるAsynchronousパケットヘッダにおいて、固定のデータを書き加えた図である。また、図６は、本実施の形態にて用いられるAsynchronousパケットのデータフィールドの構造を示す図である。
【０１１５】
図６において、図４と同じ機能を持つデータについては説明しない。
最初の６クアッドレットはヘッダ・インフォメーションであり、上述したコネクションを識別するためのコネクションIDなどが書かれる。６クアッドレット目以降は、可変長のデータブロックである。本実施の形態において、該データブロックがクアッドレットの倍数でない場合、クアッドレットに満たないビットには0 が詰められる。
【０１１６】
図７は、上記ヘッダ・インフォメーションの構造を示した図である。
最初の２クワドレットは、コントロールノードに固有のワールドワイドユニークＩＤであり、該データにより、ソース、デスティネーションは、コネクションＩＤを設定したコントロールノードを識別する。このワールドワイドユニークＩＤは、IEEE1394―1995規格に準拠する。
【０１１７】
ここでは、個々のコントロールノードを識別するためにIEEE1394―1995規格に準拠したワールドワイドユニークＩＤを用いたが、バスリセットなどが発生しても、変化しない個々のノードを識別できる固有の情報であればなんでもよい。なお、ワールドユニークIDには、会社情報と機器情報等により構成される。
【０１１８】
次の16 bits は、上述したコネクションID(connection#ID) フィールドであり、該データによってコネクションを識別する。
【０１１９】
複数のコントローラーが同一のコネクションＩＤを設定した場合も、個々のノードは、上記コントロールノードのユニークなＩＤ（ワールドユニークID）と上記コネクションＩＤにより、絶対的な論理的コネクションを識別する。
【０１２０】
また、個々のコントローラーは、他のコントローラの設定したコネクションＩＤ番号の重複を許し、コントローラは、他のコントローラの設定したＩＤを使用してもよい。これにより、複数のコントローラがシステム上に存在しても、各機器間のコネクションIDの設定を簡単に行えるとともに、確実に判別することができる。
【０１２１】
次の8 bitsは、プロトコルタイプ(protocol#type) フィールドであり、該ヘッダ・インフォメーションを用いたデータ授受の手順を示す。本実施の形態の授受手順には、例えば、0116(16 進数) の値が用いられる。
【０１２２】
次の8 bitsは、コントールフラグ(control#flags) フィールドであり、制御データが書かれる。コントールフラグフィールドの最上位ビットは、例えば、再送要求(resend#request)フラグであり、このビットの値が1 の時、データの再送要求が生じていることを示す。
【０１２３】
次の16 bits は、シークエンス番号(sequence#number) フィールドである。上述したように、該シークエンス番号フィールドは、特定のコネクションIDにて送受信されるデータパケットに対し、連続的な値が使用される。デスティネーションノードは、該シークエンス番号フィールドによって、有意なデータの連続性を監視し、不一致が生じた場合には、ソースノードに対して再送要求を行なう。
【０１２４】
次の16 bits は、確認応答番号(reconfirmation#number) フィールドである。このフィールドは、上述の再送要求フラグの値が1 の時のみ、意味を持つフィールドである。上述の再送要求フラグの値が1 の時、このフィールドは、再送要求が生じている開始パケットのシークエンス番号を示す。
【０１２５】
次の１６ビットは、デスティネーションノードの有するバッファサイズを示す。
【０１２６】
次の48ビットは、デスティネーションノードの1212アドレス空間のオフセットアドレスを示す。
【０１２７】
図９は、２つのコントローラがネットワーク上にそれぞれ同一のコネクションＩＤを設定した構成を示す。図中のコントローラーノード１は、バスリセットなどが発生しても変化しないノードユニークな識別ＩＤを有することを示す。ここでは、IEEE1394―1995規格のワールドワイドユニークＩＤ＝１（ＷＷＵＩＤ＃１）とする。
【０１２８】
おなじく、図中のコントローラーノード２は、前記コントローラノード１同様にバスリセットなどが発生しても変化しないノードユニークな識別ＩＤを有することを示す。ここでは、IEEE1394―1995規格のワールドワイドユニークＩＤ＝４（ＷＷＵＩＤ＃４）とする。
【０１２９】
それぞれのコントローラは、ソースデスティネーション間に論理的なコネクションを設定しており、ここでは、それぞれの論理的コネクションＩＤが０となっている。
【０１３０】
このように、同一のコネクションＩＤをそれぞれのコントローラが設定した場合も、コントロールノード間で、コネクションＩＤが重複しないようにするネゴシエーションが必要ない。
【０１３１】
コントローラは、コネクション設定にあたり、あらかじめソースとデスティネーションとの間にそれぞれコネクションＩＤとコントローラのノードユニークな識別ＩＤを告知しておく。ソース、デスティネーションそれぞれは、コネクションを設定したコントローラを上記手順によりここに識別する。
【０１３２】
【発明の効果】
上記説明したように、本発明によれば、従来の通信方式の不利便性を解決し、簡便に高速にデータ通信を行うことができる。また、本発明によれば、通信パケットのデータ部に第１及び第２のＩＤ情報を格納することができるので、複数のコントロールノードがネットワーク上に存在する場合であっても、個々のコントロールノードが設定した論理的コネクションを識別することができる。
【図面の簡単な説明】
【図１】本実施の形態の実施の形態を表すブロック図である。
【図２】本実施の形態に係る各ノードの動作を示すブロック図である。
【図３】本実施の形態に係る各ノード間のコマンドやデータの授受を示すダイアグラムである。
【図４】本実施の形態にかかるAsynchronousパケットを示す図である。
【図５】本実施の形態の実施の形態で用いられるAsynchronousパケットを示す図である。
【図６】本発明の実施の形態で用いられるAsynchronousパケットのデータフィールドの構造を示す図である。
【図７】本発明の実施の形態で用いられるデータフィールド中のヘッダの構造を示す図である。
【図８】従来例を示す図である。
【図９】本発明の実施の形態で用いられるコントロールノードの有する固有識別情報を示す図である。
【符号の説明】
10  computer
12  演算処理装置(MPU)
14  第一の1394インターフェイス
16  キーボードなど第一の操作部
18  第一のデコーダ
20  CRTディスプレイなどの表示装置
22  ハードディスク
24  第一のメモリ
26  PCIバスなどのコンピュータ内部バス
28  VCR
30  撮像光学系
32  A/D変換器
34  ビデオ処理部
36  圧縮伸長回路
38  第一のメモリ
40  第二のメモリ
42  第一のデータセレクタ
44  第二の1394インターフェイス
46  第一のメモリ制御回路
48  第二のメモリ制御回路
50  システムコントローラ
52  第二の操作部
54  電子ビューファインダ
56  D/A変換器
58  記録部
60  プリンタ
62  第三の1394インターフェイス
64  第二のデータセレクタ
66  第三の操作部
68  プリンタコントローラ
70  第二のデコーダ
72  第三のメモリ
74  画像処理部
76  ドライバ
78  プリンタヘッド
200  コントロールノード
202  ソースノード
204  デスティネーションノード
206  ソースノード内部のサブユニット
208  画像データ等のobject
210  デスティネーションノード内部の第一のメモリ空間
212  第一のコネクション
214  デスティネーションノード内部の第nのメモリ空間
216  第nのコネクション
【図１】
0003943697.tif 000002
【図２】
0003943697.tif 000003
【図３】
0003943697.tif 000004
【図４】
0003943697.tif 000005
【図５】
0003943697.tif 000006
【図６】
0003943697.tif 000007
【図７】
0003943697.tif 000008
【図８】
0003943697.tif 000009
【図９】
0003943697.tif 000010