(57)【特許請求の範囲】
【請求項１】
同期転送が可能なシリアルバスにより接続された複数の機器からなる情報処理システムであって、
記憶媒体に記憶されたデータを同期転送するデータ供給手段と、
前記データ供給手段により同期転送されるデータを受信するデータ受信手段と、
前記データ受信手段により受信されたデータに非正常部がある場合、前記データ供給手段により繰り返し同期転送されるデータによって前記非正常部を補う手段とを有し、
前記データ供給手段は、符号化されたデータを同期転送する場合、前記符号化に対応する復号プログラムを非同期転送することを特徴とする情報処理システム。
【請求項２】
前記データ供給手段は、符号化されたデータを同期転送する場合、前記データの転送に先立ち、前記符号化に対応する復号プログラムを非同期転送することを特徴とする請求項1に記載された情報処理システム。
【請求項３】
前記シリアルバスはIEEE1394規格に適合したバスであることを特徴とする請求項1または請求項2に記載された情報処理システム。
【請求項４】
前記同期転送は前記IEEE1394規格に規定されたアイソクロナス転送であることを特徴とする請求項3に記載された情報処理システム。
【請求項５】
前記非同期転送は前記IEEE1394規格に規定されたアシンクロナス転送であることを特徴とする請求項3または請求項4に記載された情報処理システム。
【請求項６】
さらに、前記データ受信手段により受信されたデータをプリンタへ出力する出力手段を有することを特徴とする請求項1から請求項5の何れかに記載された情報処理システム。
【請求項７】
同期転送が可能なシリアルバスにより相互に接続された複数の機器からなる画像処理システムであって、
記憶媒体に記憶された画像データを同期転送するデータ供給手段と、
前記データ供給手段により同期転送される画像データを受信するデータ受信手段と、
前記受信手段により受信された画像データに基づき記録媒体に可視像を形成する形成手段と、
前記データ受信手段により受信されたデータに非正常部がある際は、前記データ供給手段により繰り返し同期転送されるデータにより前記非正常部を補う手段とを有し、
前記データ供給手段は、符号化された画像データを同期転送する場合、前記符号化に対応する復号プログラムを非同期転送することを特徴とする画像処理システム。
【請求項８】
同期転送が可能なシリアルバスにより相互に接続された複数の機器からなる画像処理システムであって、
記憶媒体に記憶された画像データを同期転送するデータ供給手段と、
前記データ供給手段により同期転送される画像データを受信するデータ受信手段と、
前記受信手段により受信された画像データに基づき記録媒体に可視像を形成する形成手段と、
前記データ受信手段により受信されたデータに非正常部がある際は、前記データ供給手段により繰り返し同期転送されるデータにより前記非正常部を補う手段とを有し、
前記データ供給手段は、画像データを所定単位のパケットとして同期転送し、前記データ受信手段は、受信バッファサイズに応じたサイズのパケットを受信するごとに、受信した画像データを前記形成手段へ供給することを特徴とする画像処理システム。
【請求項９】
同期転送が可能なシリアルバスにより相互に接続された複数の機器からなる画像処理システムであって、
記憶媒体に記憶された画像データを同期転送するデータ供給手段と、
前記データ供給手段により同期転送される画像データを受信するデータ受信手段と、
前記受信手段により受信された画像データに基づき記録媒体に可視像を形成する形成手段と、
前記データ受信手段により受信されたデータに非正常部がある際は、前記データ供給手段により繰り返し同期転送されるデータにより前記非正常部を補う手段とを有し、
前記データ供給手段は、画像データを所定単位のパケットとして同期転送し、前記データ受信手段は、前記形成手段の画像形成単位に応じたサイズのパケットを受信するごとに、受信した画像データを前記形成手段へ供給することを特徴とする画像処理システム。
【請求項１０】
前記データ供給手段は、符号化された画像データを同期転送する場合、前記画像データの転送に先立ち、前記符号化に対応する復号プログラムを転送することを特徴とする請求項7に記載された画像処理システム。
【請求項１１】
同期転送が可能なシリアルバスにより接続された複数の機器からなる情報処理システムの情報処理方法であって、
記憶媒体に記憶されたデータを繰り返し同期転送するステップと、
前記同期転送されるデータを受信するステップと、
前記受信したデータに非正常部がある場合、繰り返し同期転送されるデータにより前記非正常部を補うステップと、
符号化されたデータを同期転送する場合、前記符号化に対応する復号プログラムを非同期転送するステップとを有することを特徴とする情報処理方法。
【請求項１２】
同期転送が可能なシリアルバスにより相互に接続された複数の機器からなる画像処理システムの画像処理方法であって、
記憶媒体に記憶された画像データを繰り返し同期転送する転送ステップと、
前記同期転送される画像データを受信する受信ステップと、
前記受信したデータに非正常部がある場合、繰り返し同期転送されるデータにより前記非正常部を補うステップと、
受信された画像データに基づき記録媒体に可視像を形成する形成ステップと、
符号化されたデータを同期転送する場合、前記符号化に対応する復号プログラムを非同期転送するステップとを有することを特徴とする画像処理方法。
【請求項１３】
前記転送ステップは、画像データを所定単位のパケットとして同期転送し、前記受信ステップは、受信バッファサイズに応じたサイズのパケットを受信するごとに、受信した画像データを前記形成ステップへ供給することを特徴とする請求項12に記載された画像処理方法。
【請求項１４】
同期転送が可能なシリアルバスにより接続された複数の機器からなる情報処理システムに請求項11に記載された情報処理を実行させるプログラムコードが格納されたことを特徴とするコンピュータ可読メモリ。
【請求項１５】
同期転送が可能なシリアルバスにより相互に接続された複数の機器からなる画像処理システムに請求項12または請求項13に記載された画像処理を実行させるプログラムコードが格納されたことを特徴とするコンピュータ可読メモリ。
【請求項１６】
同期転送が可能なシリアルバスを介して他の機器と接続される情報処理装置であって、
同期転送されるデータを繰り返し前記他の機器から受信する受信手段と、
前記受信手段により受信されたデータに非正常部がある際は、前記繰り返し受信されるデータにより前記非正常部を補う補充手段と、
符号化されたデータが同期転送される場合、非同期転送される、前記符号化に対応する復号プログラムを前記他の機器から受信するプログラム受信手段とを有することを特徴とする情報処理装置。
【請求項１７】
前記シリアルバスはIEEE1394規格に適合したバスであることを特徴とする請求項16に記載された情報処理装置。
【請求項１８】
前記同期転送は前記IEEE1394規格に規定されたアイソクロナス転送であることを特徴とする請求項17に記載された情報処理装置。
【請求項１９】
前記非同期転送は前記IEEE1394規格に規定されたアシンクロナス転送であることを特徴とする請求項17または請求項18に記載された情報処理装置。
【請求項２０】
さらに、前記受信手段により受信されたデータをプリンタへ出力する出力手段を有することを特徴とする請求項16から請求項19の何れかに記載された情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は情報処理システム、画像処理システムおよびそれらの方法、並びに、情報処理装置およびコンピュータ可読メモリに関し、例えば、同期転送が可能なシリアルバスにより相互に接続された複数の機器からなる情報処理システム、画像処理システムおよびそれらの方法、並びに、情報処理装置およびコンピュータ可読メモリに関するものである。
【０００２】
【従来の技術】
パーソナルコンピュータ(PC)に、イメージスキャナ、ディジタルスチルカメラ(DSC)、ディジタルビデオカメラ(DSV)といったディジタル機器を接続し、各ディジタル機器により取込まれた映像を一旦PC上のハードディスクなどに格納した後、PC上で稼働するアプリケーションプログラムによりその映像を印刷データに変換してプリンタで印刷するシステムがある。
【０００３】
このようなシステムでは、各ディジタル機器やプリンタなどのデバイスを制御するためのプログラムであるドライバがそれぞれ独立にPCで稼働し、ドライバによりディジタル機器から入力される映像は、PC上で処理し易くかつ表示し易い形式の映像データに変換された後、ハードディスクなどに保存される。そして、この保存された映像を印刷する場合は、その映像の入出力デバイス間で最適な処理結果が得られるような画像処理を映像データに施して印刷を行う。
【０００４】
【発明が解決しようとする課題】
しかし、現状でも、前述したイメージスキャナ、DSC、DSVやプリンタをはじめ、多くの周辺機器がPCに接続されている。今後、さらに周辺機器の種類が増え、PCに接続される周辺機器も増加することが見込まれる。さらに、インタフェイスの改良などによりPC用の周辺機器だけでなく、多くの音響映像(AV)デバイスなども、一つのネットワーク上に多数接続される可能性がある。このような周辺機器の発展は、PCのユーザに多くの特典を与える反面、各機器間におけるデータの通信量を増すことにもなり、ネットワークを混雑させる弊害をもたらすことが考えられる。
【０００５】
例えば、画像の印刷を続けて、または、迅速に行うなどの際のPC-プリンタ間のデータ通信が、ネットワーク全体やサーバなどに影響を及ぼして、希望する画像の印刷が正常に実行されなかったり、遅れたりすることが考えられる。つまり、ネットワーク上のトラフィックの混雑がPCによる処理を妨げたり、データ通信速度を低下させるなどの問題がある。とくに、非同期転送モード(ATM)など優先度を設定できるネットワークの場合に、そのネットワーク上のトラフィックが混雑していると、優先度が低いデータ通信の通信速度が極端に悪化する欠点がある。
【０００７】
本発明は、符号化されたデータを同期転送する場合、符号化に対応する復号プログラムを非同期転送することを目的とする。
【０００８】
また、受信バッファサイズ、または、記録媒体に可視像を形成する形成手段の画像形成単位に応じたサイズ分、同期転送される画像データのパケットを受信するごとに、受信した画像データを形成手段へ供給することを他の目的とする。
【０００９】
【課題を解決するための手段】
本発明にかかる情報処理システムは、同期転送が可能なシリアルバスにより接続された複数の機器からなる情報処理システムであって、記憶媒体に記憶されたデータを同期転送するデータ供給手段と、前記データ供給手段により同期転送されるデータを受信するデータ受信手段と、前記データ受信手段により受信されたデータに非正常部がある場合、前記データ供給手段により繰り返し同期転送されるデータによって前記非正常部を補う手段とを有し、前記データ供給手段は、符号化されたデータを同期転送する場合、前記符号化に対応する復号プログラムを非同期転送することを特徴とする。
【００１０】
本発明にかかる画像処理システムは、同期転送が可能なシリアルバスにより相互に接続された複数の機器からなる画像処理システムであって、記憶媒体に記憶された画像データを同期転送するデータ供給手段と、前記データ供給手段により同期転送される画像データを受信するデータ受信手段と、前記受信手段により受信された画像データに基づき記録媒体に可視像を形成する形成手段と、前記データ受信手段により受信されたデータに非正常部がある際は、前記データ供給手段により繰り返し同期転送されるデータにより前記非正常部を補う手段とを有し、前記データ供給手段は、符号化された画像データを同期転送する場合、前記符号化に対応する復号プログラムを非同期転送することを特徴とする。また、同期転送が可能なシリアルバスにより相互に接続された複数の機器からなる画像処理システムであって、記憶媒体に記憶された画像データを同期転送するデータ供給手段と、前記データ供給手段により同期転送される画像データを受信するデータ受信手段と、前記受信手段により受信された画像データに基づき記録媒体に可視像を形成する形成手段と、前記データ受信手段により受信されたデータに非正常部がある際は、前記データ供給手段により繰り返し同期転送されるデータにより前記非正常部を補う手段とを有し、前記データ供給手段は、画像データを所定単位のパケットとして同期転送し、前記データ受信手段は、受信バッファサイズ、または、前記形成手段の画像形成単位に応じたサイズのパケットを受信するごとに、受信した画像データを前記形成手段へ供給することを特徴とする。
【００１１】
本発明にかかる情報処理方法は、同期転送が可能なシリアルバスにより接続された複数の機器からなる情報処理システムの情報処理方法であって、記憶媒体に記憶されたデータを繰り返し同期転送するステップと、前記同期転送されるデータを受信するステップと、前記受信したデータに非正常部がある場合、繰り返し同期転送されるデータにより前記非正常部を補うステップと、符号化されたデータを同期転送する場合、前記符号化に対応する復号プログラムを非同期転送するステップとを有することを特徴とする。
【００１２】
本発明にかかる画像処理方法は、同期転送が可能なシリアルバスにより相互に接続された複数の機器からなる画像処理システムの画像処理方法であって、記憶媒体に記憶された画像データを繰り返し同期転送する転送ステップと、前記同期転送される画像データを受信する受信ステップと、前記受信したデータに非正常部がある場合、繰り返し同期転送されるデータにより前記非正常部を補うステップと、受信された画像データに基づき記録媒体に可視像を形成する形成ステップと、符号化されたデータを同期転送する場合、前記符号化に対応する復号プログラムを非同期転送するステップとを有することを特徴とする。
【００１３】
本発明にかかる情報処理装置は、同期転送が可能なシリアルバスを介して他の機器と接続される情報処理装置であって、同期転送されるデータを繰り返し前記他の機器から受信する受信手段と、前記受信手段により受信されたデータに非正常部がある際は、前記繰り返し受信されるデータにより前記非正常部を補う補充手段と、符号化されたデータが同期転送される場合、非同期転送される、前記符号化に対応する復号プログラムを前記他の機器から受信するプログラム受信手段とを有することを特徴とする。
【００１４】
【発明の実施の形態】
以下、本発明にかかる一実施形態の情報処理システムを図面を参照して詳細に説明する。
【００１５】
図1は本発明を適用するシステムの一般的な構成例を示す図で、PC103、プリンタ102およびDSC101をIEEE1394インタフェイスを用いて接続するものである。そこで、予め、IEEE1394インタフェイスの概要を説明をする。
【００１６】
【ＩＥＥＥ１３９４の概要】
家庭用ディジタルVTRやディジタルビデオディスク(DVD)の登場に伴い、ビデオデータやオーディオデータ（以下、まとめて「AVデータ」と呼ぶ）など、リアルタイムかつ情報量の多いデータを転送する必要が生じている。AVデータをリアルタイムに、PCへ転送したり、その他のディジタル機器に転送するには、高速のデータ転送能力をもつインタフェイスが必要になる。このよな目的に対応してIEEE1394-1995(High Performance Serial Bus)（以下「1394シリアルバス」と呼ぶ）は開発された。
【００１７】
図2は1394シリアルバスを用いて構成されるネットワークシステムの例を示す図である。このシステムは機器A,B,C,D,E,F,GおよびHを備えていて、A-B, B-D, D-E間、および、A-C, C-F, C-G, C-H間がそれぞれ1394シリアルバス用のツイストペアケーブルで接続されている。これら機器AからHの例としてはPC、ディジタルVTR、DVD、DSC、DVC、ハードディスクやMOなどメディアを用いる記憶装置、CRTやLCDのモニタ、イメージスキャナ、フィルムスキャナ、プリンタなどがある。各機器間の接続には、ディジーチェーン方式とノード分岐方式との混在が可能であり、自由度の高い接続を行うことができる。また、各機器はそれぞれ固有のIDを有し、互いにIDを認識することにより、1394シリアルバスで接続された機器の範囲において一つのネットワークを構成する。例えば、各機器間を一本の1394シリアルバス用のケーブルでディジーチェーン接続するだけで、それぞれの機器が中継の役割を担い、全体として一つのネットワークを構成することができる。
【００１８】
さらに、1394シリアルバスは、プラグアンドプレイ機能に対応し、機器にケーブルを接続するだけで自動的に機器を認識し、接続状況を認識する機能を有している。また、図2に示すようなシステムにおいて、ある機器が、ネットワークから外されたり、ネットワークへ追加された場合など、自動的にバスをリセット（既存のネットワークの構成情報をリセット）して、新たなネットワークの構成情報の再構築する。この機能により、その時々のネットワークの構成を常時設定し認識することができる。
【００１９】
また、1394シリアルバスのデータ転送速度は100/200/400Mbpsが定義されていて、上位の転送速度をもつ機器が下位の転送速度をサポートすることで、互換性が保たれている。データ転送モードには、コントロール信号などの非同期（アシンクロナス）データを転送するATM、AVデータなどの同期データを転送する同期転送モードがある。この非同期データと同期データは、各サイクル（通常、125μs/サイクル）の中で、サイクルの開始を示すサイクルスタートパケット(CSP)の転送に続き、同期データの転送を優先しつつ、サイクル内で混在して転送される。
【００２０】
図3は1394シリアルバスの構成を示す図である。1394シリアルバスの構成はレイヤ（階層）構造を有し、最もハードウェア寄りの構成が1394シリアルバス用ケーブル813であり、そのケーブル先端のコネクタが接続されるコネクタポート810がある。コネクタポート810の上位には、ハードウェア部800で構成されるフィジカルレイヤ811とリンクレイヤ812がある。ハードウェア部800はインタフェイス用チップで構成され、フィジカルレイヤ811は符号化やコネクト関連の制御などを行い、リンクレイヤ812はパケット転送やサイクルタイムの制御などを行う。
【００２１】
ファームウェア部801のトランザクションレイヤ814は、転送（トランザクション）すべきデータの管理を行い、リードやライトといった命令を出す。ファームウェア部801のマネージメントレイヤ815は、1394シリアルバスに接続されている各機器の接続状況やIDの管理を行い、ネットワークの構成を管理する。上記のハードウェアとファームウェアまでが1394シリアルバスの実質的な構成である。
【００２２】
また、ソフトウェア部802のアプリケーションレイヤ816は、利用されるソフトウェアにより異なり、インタフェイス上でどのようにしてデータを転送するかは、AVプロトコルなどのプロトコルによって定義される。
【００２３】
図4は1394シリアルバスにおけるアドレス空間を示す図である。1394シリアルバスに接続された各機器（ノード）には必ずノードに固有の64ビットアドレスをもたせる。そして、このアドレスは機器のメモリに格納されていて、自分や相手のノードアドレスを常時認識することで、通信相手を指定したデータ通信を行うことができる。
【００２４】
1394シリアルバスのアドレッシングは、IEEE1212規格に準じた方式であり、アドレス設定は、最初の10ビットがバスの指定用に、続く6ビットがノードIDの指定用に使われる。それぞれの機器内に設定される48ビットのアドレスについても、20ビットと28ビットに分けられ、256Mバイト単位の構造をもって利用される。20ビットのアドレス空間のうち0〜0xFFFFDはメモリ空間、0xFFFFEはプライベート空間、0xFFFFFはレジスタ空間とそれぞれ呼ばれる。プライベート空間は機器内で自由に利用できるアドレスであり、レジスタ空間にはバスに接続された機器間で共通な情報が置かれ、各機器間のコミュニケーションに使われる。レジスタ空間の、最初の512バイトにはCSRアーキテクチャのコアになるレジスタ（CSRコア）が、次の512バイトにはシリアルバスのレジスタが、その次の1024バイトにはコンフィグレーションROMが、残りはユニット空間で機器固有のレジスタが、それぞれ置かれる。
【００２５】
一般的には異種バスシステムの設計の簡略化のため、ノードは初期ユニット空間の最初の2048バイトだけを使うべきであり、この結果としてCSRコア、シリアルバスのレジスタ、コンフィグレーションROMおよびユニット空間の最初の2048バイトを合わせて4096バイトで構成することが望ましい。
【００２６】
以上が、1394シリアルバスの概要である。次に、1394シリアルバスの特徴をより詳細に説明する。
【００２７】
【１３９４シリアルバスの詳細】
［1394シリアルバスの電気的仕様］
図5は1394シリアルバス用ケーブルの断面を示す図である。1394シリアルバス用ケーブルは、二組のツイストペア信号線の他に、電源線をもつので、電源をもたない機器や、故障などにより電圧低下した機器にも電力の供給が可能になる。電源線により供給される直流電力の電圧は8〜40V、電流は最大電流1.5Aに規定されている。
【００２８】
［DS-Link方式］
図6は1394シリアルバスで採用されている、データ転送方式のDS-Link(Data/Strobe Link)方式を説明するための図である。
【００２９】
DS-Link方式は高速なシリアルデータ通信に適し、二組の信号線を必要とする。つまり、二組のツイストペアのうち一組でデータ信号を送り、もう一組ではストローブ信号を送る構成である。受信側では、データ信号とストローブ信号との排他的論理和を取ることで、クロック信号を生成することができるという特徴がある。このため、DS-Link方式を用いると、データ信号中にクロック信号を混入させる必要がないので他のシリアルデータ転送方式に比べて転送効率が高い、クロック信号を生成できるので位相ロックループ(PLL)回路が不要になり、その分コントローラLSIの回路規模を小さくできる、さらに、転送すべきデータがないときはアイドル状態であることを示す情報を送る必要がないので各機器のトランシーバ回路をスリープ状態にすることができ、消費電力の低減が図れる、などが挙げられる。
【００３０】
［バスリセットのシーケンス］
1394シリアルバスに接続されている各機器（ノード）にはノードIDが与えられ、ネットワークを構成するノードとして認識される。例えば、ノードの接続分離や電源のオン/オフなどによるノード数の増減、つまりネットワーク構成に変化があり、新たなネットワーク構成を認識する必要があるとき、その変化を検知した各ノードはバスへバスリセット信号を送信して、新たなネットワーク構成を認識するモードに入る。このネットワーク構成の変化の検知は、コネクタポートにおいてバイアス電圧の変化を検知することにより行われる。
【００３１】
あるノードからバスリセット信号が送信されると、各ノードのフィジカルレイヤはこのバスリセット信号を受けると同時にリンクレイヤにバスリセットの発生を伝達し、かつ、他のノードにバスリセット信号を伝送する。最終的にすべてのノードがバスリセット信号を受信した後、バスリセットのシーケンスが起動される。なお、バスリセットのシーケンスは、ケーブルが抜き挿しされた場合、ネットワークの異常などをハードウェアで検出した場合に起動されるとともに、プロトコルによるホスト制御などフィジカルレイヤに直接命令を与えることによっても起動される。また、バスリセットのシーケンスが起動されると、データ転送は、一時中断され、バスリセットの間は待機され、バスリセット終了後、新しいネットワーク構成の基で再開される。
【００３２】
［ノードID決定のシーケンス］
バスリセット後、各ノードは、新しいネットワーク構成を構築するために各ノードにノードIDを与える動作に入る。このときの、バスリセットからノードID決定までの一般的なシーケンスを、図7から図9に示すフローチャートにより説明する。
【００３３】
図7はバスリセット信号の発生から、ノードIDが決定してデータ転送が行えるようになるまでの一連のシーケンスを示すフローチャートである。ステップS101でバスリセット信号の発生を常時監視し、バスリセット信号が発生するとステップS102に移り、ネットワーク構成がリセットされた状態において新たなネットワーク構成を得るために、互いに直結されているノード間で親子関係が宣言される。そしてステップS103の判定により、すべてのノード間で親子関係が決まるまでステップS102が繰り返される。
【００３４】
親子関係が決定するとステップS104へ進みルート(root)が決定され、ステップS105で各ノードにIDを与えるノードIDの設定作業が行われる。ルートから所定のノード順にノードIDの設定が行われ、ステップS106のい判定により、すべてのノードにノードIDが与えられるまでステップS105が繰り返される。
【００３５】
ノードIDの設定が終了すると、新しいネットワーク構成がすべてのノードにおいて認識されたことになるのでノード間のデータ転送が行える状態になり、ステップS107でデータ転送が開始されるとともに、シーケンスはステップS101へ戻り、再びバスリセット信号の発生が監視される。
【００３６】
図8はバスリセットの監視(S101)からルート決定(S104)までの詳細を示すフローチャート、図9はノードID設定(S105,106)の詳細を示すフローチャートである。
【００３７】
図8において、ステップS201でバスリセット信号の発生が監視され、バスリセット信号が発生すると、ネットワーク構成は一旦リセットされる。次に、ステップS202で、リセットされたネットワーク構成を再認識する作業の第一歩として、各機器はフラグFLをリーフであることを示すデータでリセットする。そして、ステップS203で、各機器はポート数、つまり自分に接続されている他ノードの数を調べ、ステップS204で、ステップS203の結果に応じて、これから親子関係の宣言を始めるために未定義（親子関係が決定させてない）ポートの数を調べる。ここで、未定義ポート数は、バスリセット直後はポート数に等しいが、親子関係が決定されて行くに従い、ステップS204で検知される未定義ポート数は減少する。
【００３８】
バスリセットの直後に親子関係の宣言を行えるのは実際のリーフに限られている。リーフであるか否かはステップS203のポート数の確認結果から知ることができ、つまりポート数が「1」であればリーフである。リーフは、ステップS205で、接続相手のノードに対して親子関係の宣言「自分は子、相手は親」を行い動作を終了する。
【００３９】
一方、ステップS203のポート数の確認結果が「2以上」であったノード、つまりブランチは、バスリセット直後は「未定義ポート数>1」であるからステップS206へ進み、フラグFLにブランチを示すデータをセットし、ステップS207で他ノードから親子関係が宣言されるのを待つ。他ノードから親子関係が宣言され、それを受けたブランチはステップS204に戻り、未定義ポート数を確認するが、もし未定義ポート数が「1」になっていれば残るポートに接続された他ノードに対して、ステップS205で「自分は子、相手は親」の親子関係を宣言をすることができる。また、未だ未定義ポート数が「2以上」あるブランチは、ステップS207で再び他ノードからの親子関係が宣言されるのを待つことになる。
【００４０】
何れか一つのブランチ（または例外的に、子宣言を行えるのにもかかわらず、素早く動作しなかったリーフ）の未定義ポート数が「0」になると、ネットワーク全体の親子関係の宣言が終了したことになり、未定義ポート数が「0」になった唯一のノード、つまりすべてのノードの親に決ったノードは、ステップS208でフラグFLにルートを示すデータをセットし、ステップS209でルートとして認識される。
【００４１】
このようにして、バスリセットから、ネットワーク内のすべてのノード間における親子関係の宣言までの手順が終了する。
【００４２】
次に、各ノードにIDを与える手順を説明するが、最初にIDの設定を行うことができるのはリーフである。そして、リーフ→ブランチ→ルートの順に若い番号（ノード番号: 0）からIDを設定する。
【００４３】
図9のステップS301で、フラグFLにセットされたデータを基にノードの種類、つまりリーフ、ブランチおよびルートに応じた処理に分岐する。
【００４４】
まずリーフの場合は、ステップS302でネットワーク内に存在するリーフ数（自然数）を変数Nに設定した後、ステップS303で各リーフがルートに対して、ノード番号を要求する。この要求が複数ある場合、ルートはステップS304でアービトレーション（一つに調停する作業）を行い、ステップS305である一つのノードにノード番号を与え、他のノードにはノード番号の取得失敗を示す結果を通知する。
【００４５】
ステップS306の判断により、ノード番号を取得できなかったリーフは再びステップS303でノード番号の要求を繰り返す。一方、ノード番号を取得できたリーフはステップS307で、取得したノード番号を含むID情報をブロードキャストすることで全ノードに通知する。ID情報のブロードキャストが終わるとステップS308で、リーフ数を表す変数Nがデクリメントされる。そして、ステップS309の判定により変数Nが「0」になるまでステップS303からS308の手順が繰り返され、すべてのリーフのID情報がブロードキャストされた後、ステップS310へ進んでブランチのID設定に移る。
【００４６】
ブランチのID設定もリーフと略同様に行われる。まず、ステップS310でネットワーク内に存在するブランチの数（自然数）を変数Mに設定した後、ステップS311で各ブランチがルートに対して、ノード番号を要求する。この要求に対してルートはステップS312でアービトレーションを行い、ステップS313である一つのブランチにリーフに続く若い番号のノード番号を与え、他のブランチにはノード番号の取得失敗を示す結果を通知する。
【００４７】
ステップS314の判断により、ノード番号を取得できなかったブランチは再びステップS311でノード番号の要求を繰り返す。一方、ノード番号を取得できたブランチはステップS315で、取得したノード番号をブロードキャストすることで全ノードに通知する。ID情報のブロードキャストが終わるとステップS316で、ブランチ数を表す変数Mがデクリメントされる。そして、ステップS317の判定により変数Mが「0」になるまでステップS311からS316の手順が繰り返され、すべてのリーフのID情報がブロードキャストされた後、ステップS318へ進んでルートのID設定に移る。
【００４８】
ここまで終了すると、最終的にIDを取得していないノードはルートだけなので、ステップS318では、他のノードに与えていない最も若い番号を自分のノード番号に設定し、ステップS319でルートのID情報をブロードキャストする。
【００４９】
以上で、すべてのノードのIDが設定されるまでの手順が終了する。次に、図10に示すネットワーク例を用いてノードID決定のシーケンスの具体的な手順を説明する。
【００５０】
図10に示すネットワークは、ルートであるノードBの下位にはノードAとノードCが直結され、ノードCの下位にはノードDが直結され、ノードDの下位にはノードEとノードFが直結された階層構造を有する。この、階層構造やルートノード、ノードIDを決定する手順は以下のようになる。
【００５１】
バスリセットが発生した後、各ノードの接続状況を認識するために、各ノードが直結されているポート間において、親子関係の宣言がなされる。ここでいう親子とは、階層構造の上位が「親」、下位が「子」という意味である。図10において、バスリセット後、最初に親子関係の宣言を行ったのはノードAである。前述したように、一つのポートだけが接続されたノード（リーフ）から親子関係の宣言を開始することができる。これは、ポート数が「1」であればネットワークツリーの末端、つまりリーフであることが認識され、それらリーフの中で最も早く動作したノードから親子関係が決定されて行くことになる。こうして親子関係の宣言を行ったノードのポートが、互いに接続された二つのノードの子に設定され、相手ノードのポートが親と設定される。こうしてノードA-B間、E-D間、F-D間にそれぞれ子-親の関係が設定される。
【００５２】
さらに、階層が一つ上がり、複数のポートをもつノード、つまりブランチのうち他ノードから親子関係の宣言を受けたノードから順次、上位のノードに対して親子関係の宣言を行う。図10においては、まずノードD-E間、D-F間の親子関係が決定された後、ノードDがノードCに対して親子関係を宣言し、その結果、ノードD-C間で子-親の関係が設定される。ノードDから親子関係の宣言を受けたノードCは、もう一つのポートに接続されているノードBに対して親子関係を宣言し、その結果、ノードC-B間で子-親の関係が設定される。
【００５３】
このようにして、図10に示すような階層構造が構成され、最終的に接続されているすべてのポートにおいて親となったノードBが、ルートノードに決定される。なお、ルートは一つのネットワーク構成中に一つしか存在しない。また、ノードAから親子関係を宣言されたノードBが、速やかに、他のノードに対して親子関係を宣言を行った場合は、例えばノードCなどの他ノードがルートになる可能性もあり得る。すなわち、親子関係の宣言が伝達されるタイミングによっては、どのノードもルートになる可能性があり、ネットワーク構成が同一であっても、特定のノードがルートになるとは限らない。
【００５４】
ルートが決定されると、各ノードIDの決定モードに入る。すべてのノードは、決定した自分のID情報を、他のすべてのノードに通知するプロードキャスト機能をもっている。なお、ID情報は、ノード番号、接続されている位置の情報、もっているポートの数、接続のあるポートの数、各ポートの親子関係の情報などを含むID情報としてブロードキャストされる。
【００５５】
ノード番号の割当ては、前述したようにリーフから開始され、順に、ノード番号=0,1,2,…が割当てられる。そしてID情報のブロードキャストにより、そのノード番号は割当て済みであることが認識される。
【００５６】
すべてのリーフがノード番号を取得し終わると、次はブランチへ移りリーフに続くノード番号が割当てられる。リーフと同様、ノード番号が割当てられたブランチから順にID情報がブロードキャストされ、最後にルートが自身のID情報をブロードキャストする。従って、ルートは常に、そのネットワークで最大のノード番号を所有することになる。
【００５７】
以上のようにして、階層構造全体のID設定が終わり、ネットワーク構成が構築され、バスの初期化作業が完了する。
【００５８】
［ノード管理のための制御情報］
ノード管理を行うためのCSRアーキテクチャの基本的な機能として、図4に示したCSRコアがレジスタ上に存在する。それらレジスタの位置と機能を図11に示すが、図中のオフセットは0xFFFFF0000000からの相対位置である。
【００５９】
CSRアーキテクチャでは、0xFFFFF0000200からシリアルバスに関するレジスタが配置されている。それらのレジスタの位置と機能を図12に示す。
【００６０】
また、0xFFFFF0000800から始まる場所には、シリアルバスのノード資源に関する情報が配置されている。それらのレジスタの位置と機能を図13に示す。
【００６１】
CSRアーキテクチャでは、各ノードの機能を表すためコンフィグレーションROMをもっているが、このROMには最小形式と一般形式があり、xFFFFF0000400から配置される。最小形式では図14に示すようにベンダIDを表すだけであり、このベンダIDは24ビットで表される全世界で固有の値である。
【００６２】
また、一般形式は図15に示すような形式で、ノードに関する情報をもっているが、この場合、ベンダIDはルートディレクトリ(root_directory)にもつことができる。また、バス情報ブロック(bus info block)とルートリーフ(root leaf)にはベンダIDを含む64ビットの全世界で固有な装置番号をもっている。この装置番号は、バスリセットなどの再構成後に継続してノードを認識するために使用される。
【００６３】
［シリアルバス管理］
1394シリアルバスのプロトコルは、図3に示したように、フィジカルレイヤ、リンクレイヤおよびトランザクションレイヤから構成されている。この中で、バス管理は、CSRアーキテクチャに基づくノードの制御とバス資源管理のための基本的な機能を提供している。
【００６４】
バス管理を行うノード（以下「バス管理ノード」と呼ぶ）は、同一バス上に唯一存在し、シリアルバス上の他のノードに管理機能を提供するが、この管理機能にはサイクルマスタの制御や、性能の最適化、電源管理、伝送速度管理、構成管理などがある。
【００６５】
バス管理機能は、バスマネージャ、同期（アイソクロノス）リソースマネージャおよびノード制御の三つの機能に大きく別けられる。ノード制御は、CSRによってフィジカルレイヤ、リンクレイヤ、トランザクションレイヤおよびアプリケーションにおけるノード間通信を可能にする管理機能である。同期（アイソクロノス）リソースマネージャは、シリアルバス上で同期型のデータ転送を行うために必要になる管理機能で、同期データの転送帯域幅とチャネル番号の割当てを管理するものである。この管理を行うためにバス管理ノードは、バスの初期化後に、同期（アイソクロノス）リソースマネージャ機能をもつノードの中から動的に選出される。
【００６６】
また、バス上にバス管理ノードが存在しない構成では、電源管理やサイクルマスタの制御のようなバス管理の一部の機能を同期（アイソクロノス）リソースマネージャ機能をもつノードが行う。さらにバス管理は、アプリケーションに対してバス制御のインタフェイスを提供するサービスを行う管理機能であり、その制御インタフェイスにはシリアルバス制御要求(SB_CONTROL.request)、シリアルバスイベント制御確認(SB_CONTROL.confirmation)、シリアルバスイベント通知(SB_EVENT.indication)がある。
【００６７】
シリアルバス制御要求は、バスのリセット、バスの初期化、バスの状態情報などを、アプリケーションからバス管理ノードに要求する場合に利用される。シリアルバスイベント制御確認は、シリアルバス制御要求の結果で、バス管理ノードからアプリケーションに確認通知される。シリアルバスイベント通知は、バス管理ノードからアプリケーションに対して、非同期に発生されるイベントを通知するためのものである。
【００６８】
［データ転送プロトコル］
1394シリアルバスのデータ転送は、周期的に送信する必要のある同期データ（同期パケット）と、任意タイミングのデータ送受信が許容される非同期データ（非同期パケット）とが同時に存在し、なおかつ、同期データのリアルタイム性を保証している。データ転送では、転送に先立ってバス使用権を要求し使用承諾を得るために、バスアービトレーションを行う。
【００６９】
非同期転送においては、送信ノードIDおよび受信ノードIDが転送データと一緒にパケットデータとして送られる。受信ノードは、自分のIDを確認してパケットを受取るとアクノリッジ信号を送信ノードに返すことで、一つのトランザクショが完了する。
【００７０】
同期転送においては、送信ノードが伝送速度と一緒に同期チャネルを要求し、チャネルIDが転送データと一緒にパケットデータとして送られる。受信ノードは、自分が欲しいチャネルIDを確認してデータパケットを受取る。必要になるチャネル数と伝送速度はアプリケーションレイヤで決定される。
【００７１】
これらのデータ転送プロトコルは、フィジカルレイヤ、リンクレイヤおよびトランザクションレイヤの三つのレイヤによって定義される。フィジカルレイヤは、バスとの物理的・電気的インタフェイス、ノード接続の自動認識、ノード間のバス使用権の調停（バスアービトレーション）などを行う。リンクレイヤは、アドレッシング、データチェック、パケット送受信、そして同期転送のためのサイクル制御を行う。トランザクションレイヤは、非同期データに関する処理を行う。以下、各レイヤにおける処理について説明する。
【００７２】
［フィジカルレイヤ］
次に、フィジカルレイヤにおけるバスアービトレーションを説明するが、図16はバス使用権の要求を説明する図、図17はバス使用の許可を説明する図である。
【００７３】
バスアービトレーションが始まると、一つもしくは複数のノードが親ノードに向かって、それぞれバス使用権を要求する。例えば、図16に示すノードCおよびノードFがバス使用権を要求した場合、ノードFの要求を受けた親ノードAは、さらに親ノードに向かってバス使用権を要求、つまり要求を中継する。従って、バス使用権の要求は最終的に調停を行うルートに届けられる。
【００７４】
バス使用権の要求を受けたルートは、どのノードにバス使用権を与えるかを決める。この調停作業はルートだけが行えるものであり、調停に勝ったノードにはバス使用が許可される。図17はノードCにバス使用を許可し、ノードFにはバス使用を拒否した例を示している。ルートは、調停に負けたノードに対してDP(data prefix)パケットを送り、バス使用が拒否されたことを知らせる。バス使用が拒否されたノードのバス使用権の要求は次回の調停まで待たされる。
【００７５】
以上のようにして、調停に勝ってバス使用の許可を得たノードは、以降、データ転送を開始することができる。図18はバスアービトレーションの一連の流れを示すフローチャートである。
【００７６】
ノードがデータ転送を開始するためには、バスがアイドル状態であることが必要である。先に開始されたデータ転送が終了し、現在、バスがアイドル状態にあることを認識するためには、各転送モードで個別に設定されている所定のアイドル時間ギャップ長（例えばサブアクションギャップ）の経過を検出し、ギャップ長が経過した場合、各ノードはバスがアイドル状態になったと判断する。つまり、ステップS401で、非同期データ、同期データなどそれぞれ転送するデータに応じた所定のギャップ長が経過したか否かを判断する。所定のギャップ長が経過しない限り、転送を開始するために必要なバス使用権を要求することはできない。
【００７７】
所定のギャップ長が経過するとステップS402で、転送すべきデータがあるか否か判断し、ある場合はステップS403でバス使用権を要求する。このときの、バス使用権の要求を表す信号の伝達は、図16に示したように、ネットワーク内の各ノードに中継されて、最終的にルートに届けられる。また、転送するデータがない場合は、ステップS401へ戻り、所定のギャップ長が経過するのを待つ。
【００７８】
次に、ステップS404でバス使用権の要求を受信したルートは、ステップS405でバス使用権を要求したノードの数を調べ、その数が「1」であればステップS408で、そのノードにバス使用が許可される。また、バス使用権を要求したノードの数が「2以上」であればステップS406で、バス使用を許可するノードを一つに絞る調停作業を行う。なお、この調停作業は、毎回同じノードに許可を与えるようなことがないように、公平なものになっている。そして、ステップS407で、バス使用を許可するノードと、その他のノードに手順を分岐し、バス使用を許可するノードにはステップS408でバス使用の許可を示す信号を送り、その信号を得たノードは、直後に、転送すべきデータ（パケット）の転送開始する。また、その他のノードにはステップS409でバス使用の拒否を示すDP(data prefix)パケットを送り、これを受取ったノードは再びバス使用権を要求するためにステップS401へ戻り、所定のギャップ長が経過するのを待つ。
【００７９】
［トランザクションレイヤ］
トランザクションの種類には、リードトランザクション、ライトトランザクションおよびロックトランザクションの三種類がある。リードトランザクションでは、イニシエータ（要求ノード）がターゲット（応答ノード）のメモリの特定アドレスからデータを読取る。ライトトランザクションでは、イニシエータがターゲットのメモリの特定アドレスにデータを書込む。
【００８０】
また、ロックトランザクションでは、イニシエータからターゲットに参照データと更新データを転送する。その参照データは、ターゲットのアドレスのデータと組み合わされて、ターゲットの特定のアドレスを指示する指定アドレスになる。そして、この指定アドレスのデータが更新データにより更新される。
【００８１】
図19はトランザクションレイヤにおけるCSRアーキテクチャに基づくリード、ライト、ロックの各コマンドの要求・応答プロトコルを示す図で、図に示す要求、通知、応答および確認は、トランザクションレイヤでのサービス単位である。トランザクション要求(TR_DATA.request)は応答ノードに対するパケットの転送、トランザクション通知(TR_DATA.indication)は応答ノードに要求が届いたことの通知、トランザクション応答(TR_DATA.response)はアクノリッジの送信、トランザクション確認(TR_DATA.confirmation)はアクノリッジの受信である。
【００８２】
［リンクレイヤ］
図20はリンクレイヤにおけるサービスを示す図で、応答ノードに対するパケットの転送を要求するリンク要求(LK_DATA.request)、応答ノードにパケット受信を通知するリンク通知(LK_DATA.indication)、応答ノードからのアクノリッジ送信のリンク応答(LK_DATA.response)、要求ノードのアクノリッジ送信のリンク確認(LK_DATA.confirmation)のサービス単位に分けられる。一つのパケット転送プロセスはサブアクションと呼ばれ、非同期サブアクションと同期サブアクションの二つの種類がある。以下では、各サブアクションの動作について説明する。
【００８３】
［非同期サブアクション］
非同期サブアクションは非同期データ転送である。図21は非同期転送における時間的な遷移状態を示す図である。図21に示す最初のサブアクションギャップは、バスのアイドル状態を示すものである。このアイドル時間が所定値になった時点で、データ転送を希望するノードがバス使用権を要求し、バスアービトレーションが実行される。
【００８４】
バスアービトレーションでバス使用が許可されると、次に、データがパケット転送され、このデータを受信したノードは、ACKギャップという短いギャップの後、受信確認用返送コードACKを返して応答するか、応答パケットを返送することでデータ転送が完了する。ACKは4ビットの情報と4ビットのチェックサムからなり、成功、ビジー状態またはペンディング状態であることを示す情報を含み、直ちにデータ送信ノードに返される。
【００８５】
図22は非同期転送用パケットのフォーマット例を示す図である。パケットには、データ部および誤り訂正用のデータCRCのほかにヘッダ部があり、そのヘッダ部には目的ノードID、ソースノードID、転送データ長や各種コードなどが書込まれている。
【００８６】
また、非同期転送は自ノードから相手ノードへの一対一の通信である。転送元ノードから送り出されたパケットは、ネットワーク中の各ノードに行き渡るが、各ノードは自分宛てのパケット以外は無視するので、宛先に指定されたノードだけがそのパケットを読込むことになる。
【００８７】
［同期サブアクション］
同期サブアクションは同期データ転送である。1394シリアルバスの最大の特徴であるともいえる、この同期転送は、とくにAVデータなどのリアルタイム転送を必要とするデータの転送に適している。また、非同期転送が一対一の転送であるのに対し、この非同期転送はブロードキャスト機能によって、一つの転送元ノードから他のすべてのノードへ一様にデータを転送することができる。
【００８８】
図23は同期転送における時間的な遷移状態を示す図である。同期転送はバス上で一定時間毎に実行され、この時間間隔を同期サイクルと呼び、同期サイクル時間は125μSである。同期サイクルの開始を示し、各ノードの時間調整を行う役割を担っているのがサイクルスタートパケット2000である。サイクルスタートパケット2000を送信するのは、サイクルマスタと呼ばれるノードであり、一つ前のサイクル内の転送終了後、所定のアイドル期間（サブアクションギャップ2001）を経た後、本サイクルの開始を告げるサイクルスタートパケット2000を送信する。つまり、このサイクルスタートパケット2000が送信される時間間隔が125μSになる。
【００８９】
図23にチャネルA、チャネルB、チャネルCと示すように、一つの同期サイクル内において複数種のパケットにチャネルIDをそれぞれ与えることにより、それらのパケットを区別して転送できる。これにより、複数ノード間で、略同時に、リアルタイム転送が可能であり、また、受信ノードでは自分が欲しいチャネルIDのデータのみを受信すればよい。このチャネルIDは、受信ノードのアドレスなどを表すものではなく、データに対する論理的な番号に過ぎない。従って、送信されたあるパケットは、一つの送信元ノードから他のすべてのノードに行き渡る、つまりブロードキャストされることになる。
【００９０】
同期転送によるパケット送信に先立ち、非同期転送と同様に、バスアービトレーションが行われる。しかし、非同期転送のように一対一の通信ではないので、同期転送にACKは存在しない。
【００９１】
また、図23に示したisoギャップ（同期ギャップ）は、同期転送を行う前にバスがアイドル状態であることを確認するために必要なアイドル期間を表している。この所定のアイドル期間を経過すると、同期転送を行いたいノードはバスがアイドル状態にあると判断し、バスアービトレーションが行われる。
【００９２】
図24は同期転送用パケットのフォーマット例を示す図である。各チャネルに分けられた各種パケットには、それぞれデータ部および誤り訂正用のデータCRCのほかにヘッダ部があり、そのヘッダ部には転送データ長、チャネル番号、その他各種コードおよび誤り訂正用のヘッダCRCなどが書込まれている。なお、パケットフィールドの詳細については図25に示す。
【００９３】
［バスサイクル］
実際に、1394シリアルバスにおいては、同期転送と非同期転送が混在でき、その際のバス上の転送状態の時間的な遷移例を図26に示す。
【００９４】
ここで同期転送は非同期転送より優先して実行される。その理由は、サイクルスタートパケット後、非同期転送を起動するために必要なアイドル期間のギャップ長（サブアクションギャップ）よりも短いギャップ長（同期ギャップ）で同期転送を起動できるからである。従って、非同期転送より同期転送は優先して実行されることになる。
【００９５】
図26に示す一般的なバスサイクルにおいて、サイクル#mの開始時に、サイクルスタートパケットがサイクルマスタから各ノードに転送される。これにより、各ノードで時刻調整を行い、所定のアイドル期間（同期ギャップ）を待ってから同期転送を行うべきノードはバスアービトレーションに参加し、パケット転送に入る。図26ではチャネルe、チャネルsおよびチャネルkが順に同期転送されている。このアービトレーションからパケット転送までの動作を、与えられているチャネル分繰返し行った後、サイクル#mにおける同期転送がすべて終了すると、非同期転送を行うことができるようになる。
【００９６】
アイドル時間が非同期転送が可能なサブアクションギャップに達することにより、非同期転送を行いたいノードはアービトレーションに参加する。ただし、非同期転送が行えるのは、同期転送終了から、次のサイクルスタートパケットを転送すべき時間(cycle synch)までの間に、非同期転送を起動するためのサブアクションギャップが得られた場合に限られる。
【００９７】
図26に示すサイクル#mでは、三つのチャネル分の同期転送の後、非同期転送によりACKを含む2パケット（パケット1、パケット2）が転送されている。この非同期転送パケット2の後、サイクルm+1を開始すべき時間(cycle synch)に至るので、サイクル#mでの転送はここで終わる。ただし、非同期または同期転送動作中に、次のサイクルスタートパケットを送信すべき時間(cycle synch)に至ったら、転送を無理に中断せず、その転送が終了した後にアイドル期間を経て次サイクルのサイクルスタートパケットを送信する。すなわち、一つのサイクルが125μs以上続いたときは、その延長分、次サイクルは基準の125μsより短縮される。このように同期サイクルは125μsを基準に、超過・短縮し得るものである。
【００９８】
しかし、同期転送はリアルタイム転送を維持するために、必要であれば毎サイクル実行され、非同期転送はサイクル時間が短縮されたことにより、次以降のサイクルに延期されることもある。
【００９９】
［FCP］
AV/Cプロトコルでは、1394シリアルバス上の装置を制御するために機能制御プロトコル(Functional Control Protocol: FCP)が用意されている。FCPの制御コマンドの送信と応答には、IEEE1394で規定されている非同期パケットが用いられる。FCPにおいては、制御側のノードをコントローラ、被制御側のノードをターゲットと呼び、コントローラからターゲットに送られるFCPパケットフレームをAV/Cコマンドフレーム、逆にターゲットからコントローラに返されるFCPパケットフレームをAV/Cレスポンスフレームと呼ぶ。
【０１００】
図27は、ノードAがコントローラ、ノードBがターゲットの場合を示していて、それぞれに用意されているレジスタアドレスのうち0000B00番地からの512バイトがコマンドレジスタ、0000D00番地からの512バイトがレスポンスレジスタであり、それぞれ非同期転送を用いたパケットフレームにより、指定されたアドレスのレジスタにデータが書込まれる。このときのコントローラによるAV/Cコマンドフレームの送信と、ターゲットによるAV/Cレスポンスフレームの応答の関係は、AV/Cトランザクションと呼ばれる。一般的なAV/Cトランザクションでは、ターゲットはコマンドフレームを受取ってから100ms以内に、コントローラに対してレスポンスフレームを応答する必要がある。
【０１０１】
図28はFCPパケットフレームを含む非同期転送のパケットフォーマットを示す図で、図22に示した非同期データパケットのデータ領域に対して、コマンドフレームやレスポンスフレームを挿入してAV/Cトランザクションが実行される。
【０１０２】
図29はAV/Cコマンドフレームの構造を示す図、図30はAV/Cレスポンスフレームの構造を示す図で、FCPパケットフレームとしてはヘッダのctype、response、subunit_type、subunit_IDの後に、FCPのデータ部分がつながった構造になっている。
【０１０３】
ctypeは、コマンドフレームにおけるコマンドタイプを示し、CONTROL、STATUS、INQUIRY、NOTIFYの各状態を示している。
【０１０４】
responseは、レスポンスフレームにおけるレスポンスコードを示し、ACCEPTED、REJECTED、IN_TRANSITION、IMPLEMENTED、CHANGED、INTERIMなどの各状態を示している。
【０１０５】
また、subunit_typeはデバイスの分類、subunit_IDはインスタンス番号を示している。
【０１０６】
FCPのデータ部分はオペコード+オペランドの構成になっていて、各種のAV/Cコマンドを使ってターゲットの制御を行ったり、AV/Cレスポンスの応答をすることができる。
【０１０７】
［CIP］
AV/Cプロトコルにおけるリアルタイムのデータ転送プロトコルとして、共通同期パケット(Common Isochronous Packet: CIP)が規定されていて、図31に示すように、同期パケットのデータ部にCIPとリアルタイムデータが格納されている。
【０１０８】
AV/Cプロトコルのソースパケットの長さは各種機器ごとで固定長であり、図32に示すように、送信側のソースパケットは1,2,4,8個のデータブロックに分割されて複数の同期パケットとして送られる。パケットを受取ったノードは、これらのパケットを組み立てて、元のパケットに戻さなければならないため、リアルタイムデータを復元するために必要になるタイムスタンプフィールドをもったソースパケットヘッダや、図33に示すCIPヘッダが用意されている。
【０１０９】
装置が起動されると、バスのすべての周期ごとにパケットが転送されるが、もし送るデータがなくてもパケットヘッダとCIPヘッダだけの空パケットが送られる。このCIPヘッダには、パケット転送中のデータブロック消失を検知するためのブロックのカウント値DBCや、データコードのタイプを示すFMTなどの情報が含まれている。
【０１１０】
【第１実施形態】
次に本発明の一実施形態として、図1に示すような1394シリアルバスにより各ディジタル機器が接続されたシステムの説明を行う。
【０１１１】
［構成］
図1に示すシステムは各機器間で1394シリアルバスの仕様に基づくデータ転送を行うことができる。なお、DSC101は動画または静止画を記録再生する装置であれば、DSC(ディジタルスチルカメラ）やDVC(ディジタルビデオカメラ)などの記録再生装置101であればよい。そして、記録再生装置101から出力された映像（画像）データを、直接、プリンタ102に転送すればダイレクトプリントが可能である。
【０１１２】
また、1394シリアルバスの接続方法は、図1に示すような接続に限るものではなく、任意の順位に機器間を接続してもよい。また、図1に示す機器のほかにも、1394シリアルバスをサポートする入出力デバイス、データ通信機器などを接続することができ、例えば、ハードディスク、MO、CD-R、CD-RW、DVD-ROMなどのストレージデバイスでもよい。
【０１１３】
図34は図1に示す各ディジタル機器の詳細な構成を示すブロック図である。
【０１１４】
記録再生装置101において、4はレンズやCCDからなる撮像系、5はA/Dコンバータ、6は映像（画像）信号処理回路、7は所定アルゴリズムにより映像（画像）データの圧縮伸長を行う圧縮/伸長回路、8は磁気テープや磁気ディスクとその記録再生ヘッド、PCカードとそのドライバやコネクタなどを含む記録再生系、9はシステムコントローラ、10は指示入力を行うための操作部、11はD/Aコンバータ、12は表示部であるEVF、13は非圧縮で転送する映像（画像）データを記憶するフレームメモリ、14はメモリ13のリードなどを制御するメモリ制御部、15は圧縮して転送する映像（画像）データを記憶するためのフレームメモリ、16はメモリ15のリードなどを制御するメモリ制御部、17はデータセレクタ、18は1394シリアルバスのインタフェイス部である。
【０１１５】
また、プリンタ102において、19は1394シリアルバスのインタフェイス部、20はデータセレクタ、21は所定アルゴリズムにより圧縮された映像（画像）データを復号（伸長）するための復号回路、22はプリントする画像に画像処理を施す画像処理回路、23はプリントする画像を形成するためのメモリ、24はプリンタヘッド、25はプリンタヘッドの走査や紙送りなどを行うドライバ、26はプリンタ102の制御部であるプリンタコントローラ、27は指示入力を行うための操作部である。
【０１１６】
PC103において、61は1394シリアルバスのインタフェイス部、62はPCI(Peripheral Component Interconnect)バス、63はMPU、64は所定アルゴリズムで圧縮された映像（画像）データを復号（伸長）するための復号回路、65はD/Aコンバータやビデオメモリを内蔵するディスプレイ、66はハードディスク、67はRAMやROMなどのメモリ、68はキーボードやマウスなどからなる操作部である。
【０１１７】
［記録装置101の動作］
まず、記録再生装置101の動作について説明する。映像（画像）データの記録時は、撮像系4から出力された映像（画像）信号は、A/Dコンバータ5でディジタル化された後、映像（画像）信号処理回路6で映像（画像）処理される。映像（画像）信号処理回路6の出力の一方は、撮影中の映像（画像）としてD/Aコンバータ11でアナログ信号に戻され、EVF12に表示される。その他の出力は、圧縮回路7により所定アルゴリズムで圧縮処理され、記録再生系8で記録媒体に記録される。ここで、所定アルゴリズムの圧縮処理には、DSCで代表的なJPEG方式、家庭用ディジタルビデオで代表的な帯域圧縮方法であるDCT（離散コサイン変換）およびVLC（可変長符号化）に基づく圧縮方式やMPEG方式などが利用される。
【０１１８】
映像（画像）データの再生時は、記録再生系8により記録媒体から所望の映像（画像）を再生する。この際、システムコントローラ9の制御により、操作部10から入力された指示入力を基にユーザが所望する映像（画像）が選択され再生される。記録媒体から再生された映像（画像）データのうち、圧縮されたまま転送されるデータはフレームメモリ15に出力される。また、非圧縮データを転送するために再生データを伸長するときは、伸長回路7で伸長された映像（画像）データがフレームメモリ13に出力される。また、再生した映像（画像）データをEVF12に表示するときは、伸長回路7で伸長された映像（画像）データがD/Aコンバータ11でアナログ信号に変換され、EVF12に表示される。
【０１１９】
フレームメモリ13および15は、それぞれシステムコントローラ9により制御されるメモリ制御部14および16により、そのリード/ライトが制御され、読出された映像データはデータセレクタ17へ出力される。勿論、フレームメモリ13および15の出力は、同タイミングでデータセレクタ17に入力されないように制御されている。
【０１２０】
システムコントローラ9は、記録再生装置101内の各部の動作を制御するものであるが、プリンタ102やPC103といった外部機器に対する制御コマンドデータを、データセレクタ17から1394シリアルバスを経由して、外部機器に送信することもできる。このときのコマンドの送受信は、非同期転送によるFCPデータパケットを用いる。
【０１２１】
また、プリンタ102やPC103から転送されてきた各種のコマンドデータは、データセレクタ17からシステムコントローラ9に入力されるので、記録再生装置101へコマンドデータを送ることにより、記録再生装置101の各部の動作を指示することができる。このうち、プリンタ102やPC103から転送される、映像データのデコーダの有無、または、デコーダの種類などを示すコマンドデータは、要求コマンドとしてシステムコントローラ9に入力された後、記録再生装置101から送り出す映像データの圧縮/非圧縮の選択に利用される。つまり、システムコントローラ9は、要求コマンドに応じてメモリ制御部14または15にコマンドを伝達して、フレームメモリ13または15から要求コマンドに応じた映像データが読出され転送されるように制御する。
【０１２２】
具体的には、システムコントローラ9による圧縮/非圧縮データのどちらを転送するかという判断は、プリンタ102またはPC103よりコマンドとして転送されたそれぞれの機器が備えるデコーダの情報に基づき行われる。つまり、記録再生装置101の圧縮方式がデコード可能と判断した場合は圧縮映像データを転送するようにし、デコード不能と判断した場合は非圧縮映像データを転送するようにする。
【０１２３】
データセレクタ17に入力された映像（画像）データおよびコマンドデータは、1394インタフェイス部18により1394シリアルバスの仕様に基づいて転送され、プリンタ102またはPC103に受信される。コマンドデータも適宜対象ノードに対して転送される。
【０１２４】
各データの転送方式については、主に動画、静止画および音声といったデータは、リアルタイムデータとしてCIPヘッダを使う同期転送方式で転送され、コマンドデータはFCPフレームデータとして非同期転送方式で転送される。ただし、静止画データは、ネットワークのトラフィックなど転送状況などに応じ、リアルタイムを保証する必要がない場合などは非同期転送で送ることも可能である。
【０１２５】
［プリンタ102の動作］
次に、プリンタ102の動作について説明する。1394インタフェイス部19に入力されたデータは、データセレクタ20によりデータの種類毎に分類され、映像（画像）データなどプリントすべきデータは、圧縮されている場合は復号回路21でデータ伸長された後、画像処理回路22に出力される。このとき、データの圧縮方式や圧縮/非圧縮は、予め記録再生装置101に指示したデコーダの有無または種類などの情報を基に記録再生装置101で設定されたものであるから、圧縮されたデータの場合は、プリンタ102が備える復号回路21で伸長可能である。勿論、非圧縮のデータは、復号回路21がスルーパスされ直接画像処理回路22に入力される。
【０１２６】
画像処理回路22に入力されたデータは、ここでプリントに適した画像処理が施され、プリンタコントローラ26によりリード/ライトが制御されるメモリ23にプリント画像データとして展開される。メモリ23のプリント画像データは、プリンタヘッド24に送られ、プリント画像データに基づく可視像が記録紙上にプリントされる。プリンタヘッド24の駆動走査や紙送りなどを行うドライバ25や、プリンタヘッド24の動作、および、その他各部の動作はプリンタコントローラ23により制御される。
【０１２７】
操作部27は、紙送りや、リセット、インクチェック、プリンタ動作のスタンバイ/開始/停止などの動作を指示入力するためのものであり、その指示入力に応じてプリンタコントローラ26は各部の動作を制御する。
【０１２８】
次に、1394インタフェイス部19に入力されたデータが、プリンタ102に対するコマンドデータであった場合は、データセレクタ20からプリンタコントローラ26に制御コマンドとして伝達され、プリンタコントローラ26は、その制御コマンドに応じて各部の動作を制御する。
【０１２９】
また、復号回路21について、プリンタに設けるデコーダがサポートする符号化方式の一例としてJPEG方式が考えられる。JPEG符号化されたデータの復号は、ハードウェアでもソフトウェアでも可能である。従って、復号回路21内のROMにJPEG復号プログラムファイルを保持したり、他のノードから復号プログラムを転送してもらうものなど方法により、ソフトウェアによりJPEG符号化されたデータを復号するデコーダでよい。
【０１３０】
記録再生装置101からJPEG符号化された画像データをプリンタ102に転送し、プリンタ102内で復号処理するようにすれば、非圧縮データに戻してから転送するよりも転送効率がよいのは言うまでもない。また、ソフトウェアによるデコードを行うようにすれば、プリンタ102の復号回路21のコストも低下して都合がよい。
【０１３１】
上記のように、記録再生装置101からプリンタ102に画像データが転送されプリントされる動作は所謂ダイレクトプリントであり、PC103による処理を必要とせずにプリントが可能である。
【０１３２】
［PC103の処理］
次に、PC103の処理について説明する。記録再生装置101からPC103の1394インタフェイス部61に転送された映像（画像）データは、PCIバス62を介してPC103内の各部へ転送される。
【０１３３】
MPU63は、操作部68からの指示入力、オペレーティングシステム(OS)やアプリケーションソフトに従い、メモリ67をワークメモリに使用して各種の処理を行い、転送された映像（画像）データはハードディスク66へ記録する。ここで、データの圧縮方式や圧縮/非圧縮は、予め記録再生装置101に指示したデコーダの有無または種類などの情報を基に記録再生装置101で設定されたものであるから、圧縮されたデータの場合は、PC103が備える復号回路64で伸長可能である。従って、映像（画像）データをディスプレイ65に表示する場合、圧縮された映像（画像）データは復号回路64で復号（伸長）されディスプレイ65へ入力され、非圧縮の映像（画像）データは直接ディスプレイ65に入力され、D/A変換されて表示される。復号回路64としては、JPEGやMPEG方式などのデコーダカードやマザーボードに組み込まれたもの、ROMなどに格納されたデコーダソフトウェアなどである。
【０１３４】
このようにして、転送された映像（画像）データはPC103に入力され、記録、表示、編集などの処理が施されるとともに、さらにPC103から他の機器へ転送されたりする。
【０１３５】
［データ転送手順］
図35は図34に示した機器構成におけるデータ転送手順の一例を示すフローチャートである。
【０１３６】
記録再生装置101において、映像（画像）データを1394シリアルバスに接続された他の機器へ転送する場合、システムコントローラ9は、ステップS1でユーザにより指定された転送先に基づく転送設定を行い、ステップS2で転送先の機器に、データを転送することを告げる所定の情報、および、転送先の機器が備えるデコーダの有無、種類などの情報を返送することを促すための情報を含むコマンドを送信する。このコマンドを受けた転送先の機器は、デコーダ情報を含む所定の転送確認用コマンドデータを記録再生装置101に返送する。
【０１３７】
記録再生装置101のシステムコントローラ9は、ステップS3でデコーダ情報の受信を確認すると、送信先のデコーダの存在とデコーダの種類を判別し、ステップS4で、圧縮されたデータを送った場合にデコード可能か否かを判定し、デコード可能と判定した場合はステップS5で「デコーダ有り」を設定する。また、デコード不能と判定した場合や、受信した転送確認用コマンドデータにデコーダ情報が含まれない場合はステップS6で「デコーダなし」を設定する。
【０１３８】
ここで、転送確認用コマンドデータに含まれるデコーダ情報は、送信元の機器にとっては、圧縮データを転送するか、または、非圧縮データを転送するかを判断するデータであるが、送信先の機器からすれば、圧縮データの転送を希望するか、または、非圧縮データの転送を希望するかを要求するデータとしての役割ももつことになる。
【０１３９】
また、送信元の機器が用いている圧縮方法を、送信先の機器が予め知ることができれば、送信先の機器はステップS2でコマンドデータを返送するときに、直接、圧縮データの転送または非圧縮データの転送を要求することも可能になる。
【０１４０】
次に、システムコントローラ9は、ステップS7で、記録媒体に記録された映像（画像）中からユーザにより選択された、プリンタ102またはPC103へ転送したい映像（画像）に対応するデータを記憶媒体から読出し、ステップS8で記憶媒体から読出した映像（画像）データの転送を開始する。続いて、システムコントローラ9は、ステップS9で、設定された「デコーダの有無」を判定し、「デコーダ有り」の場合はステップS10で、記録媒体から読出した圧縮データがそのまま記憶されているフレームメモリ15からデータを読出し転送されるように、メモリ制御部16、データセレクタ17および1394インタフェイス部18を制御する。また、「デコーダなし」の場合はステップS11で、伸長回路7で伸長された非圧縮のデータが記憶されているフレームメモリ13からデータを読出し転送されるように、メモリ制御部14、データセレクタ17および1394インタフェイス部18を制御する。
【０１４１】
なお、映像データの転送は、1394シリアルインタフェイスの同期転送を用いて行われるが、記録再生装置101は、ステップS8において、PC103やプリンタ102から転送開始コマンドを受け、転送すべき映像データの例えばフレームを繰り返して送ることにより映像データを転送する。
【０１４２】
システムコントローラ9は、ステップS12で、PC103やプリンタ102から一画面分または所定フレームの映像（画像）データの受信が完了したことを示す転送完了コマンドを受信すると、映像（画像）データの転送を終了する。
【０１４３】
次に、システムコントローラ9は、ステップS13で、ユーザにより他の映像（画像）の転送が指示されているか否かを判定し、他の映像（画像）の転送が指示されているときはステップS7に戻り、ステップS7からS13を繰り返す。
【０１４４】
また、他の映像（画像）の転送が指示されていないときはステップS14に進み、ユーザにより他の機器へ映像（画像）の転送が指示されている否かを判定し、他の機器への転送が指示されているときはステップS1に戻り、ステップS1からS14を繰り返す。また、他の機器への転送が指示されていないときは、処理を終了する。
【０１４５】
［データ構造］
まず初めに、プリンタに転送される非圧縮の画像データのデータ構造について説明する。
【０１４６】
図36は家庭用ディジタルビデオで使用されている映像規格の一つであるNTSCに準拠した、525-60システムにおける非圧縮画像データのx-y座標のマトリクスを示す図である。525-60システムとは、走査線525本、毎秒60フレームのインターレス表示を行える映像データであり、その中で有効な表示領域は720×480画素の範囲で、左上の座標を(0,0)、右下の座標を(719,479)とすると、図36のようなマトリクス空間として定義される。例えば、x=716, y=479の位置の画像データは、第479ラインの第716ドットの画素を示す。
【０１４７】
図37はYUV(4:2:2)で表される非圧縮フォーマットの1フレーム分の画像データ構成を示す図である。Yは輝度を、U,Vは色差を表し、YUV(4:2:2)は一画素当たり8ビットの輝度データYと各4ビットの色差データU,Vで表現される。また、ライン単位のデータブロックは左から右へU,Y,V,Yの順で並んでいて、二画素当たり4バイトのデータで構成されるので、1ライン720画素は1440バイトで構成されることになる。ライン毎のデータブロックとしては、画像の上から下への順番で並んでいて、1フレームの中ではライン0、ライン1、…、ライン479という順番になる。
【０１４８】
図38はRGBで表される非圧縮フォーマットにおける1フレーム分のデータ構成を示す図である。ここに示すRGBは、一画素当たり各色8ビットの階調を表すものである。また、ライン単位のデータブロックは左から右へR,G,B,Rの順に並んでいて、一画素当たり3バイトのRGBデータで構成されるので、1ライン720画素は2160バイトで構成されることになる。ライン毎のデータブロックとしては、画像の上から下への順番で並んでいて、1フレームの中ではライン0、ライン1、…、ライン479という順番になる。
【０１４９】
図39は非圧縮フォーマットで構成されたライン単位のデータブロックを含む同期転送用のソースパケットを示す図である。ソースパケットとは、図32に示したCIPを用いた同期転送におけるデータブロックの単位である。ここでは1ライン単位のデータブロックに4バイトのソースパケットヘッダを付加してソースパケット化する。従って、同期転送されるデータのソースパケットヘッダのライン番号部分をチェックすることにより、どのラインのデータか確認することができる。例えば、1フレーム目で取込めなかったソースパケットのデータを、2フレーム目で再度取込むことにより、同期転送によるリトライ操作を行うことが可能になる。
【０１５０】
［印刷用画像データの同期転送］
図40はプリンタ102が同期転送データを受信する際のデータ構造を示す図で、プリンタ102が同期転送においてデータリトライを行うための処理方法と、プリンタ102が印刷に最小限必要なデータを受信するための仕組について説明する。
【０１５１】
初めに、データリトライについて説明する。プリンタ102から記録再生装置101に対して画像データの転送指令コマンドが発行されると、記録再生装置101は静止画像データを繰り返し出力する。なお、画像データはライン0のデータから順に出力される。
【０１５２】
プリンタ102は初めの1フレーム分の画像データを受信するが、データパケットにエラーが発生して、プリンタ102が4ライン目のデータを取込めなかったとする。すると、プリンタ102は、次の2フレーム目の画像データから4ライン目のソースパケットだけを取込んで、不足する画像データを補充する。プリンタ102は、すべてのデータが揃ったことを確認すると、記録再生装置101に転送終了コマンドを返すことで、データ転送シーケンスが完了する。
【０１５３】
次に、プリンタバッファを必要最小限のバッファ容量で構成するためのプリンタシステムを構築する際の仕組について説明する。
【０１５４】
インクジェットプリンタなどの場合、ページプリンタと違って、1フレーム分のデータすべてを受信してから印刷を開始する必要はない。プリントヘッドの一回の走査に必要なライン分、つまりプリントヘッドの垂直ドット数によって決まるライン分のデータを受信したら、その分印刷する方が効率がよい。一般に、記録再生装置101による画像データの転送時間よりも、プリンタの印刷時間の方が長くなるので、画像データを受信しながら逐次印刷する方が効率がよい。
【０１５５】
ここで48ドットのプリントヘッドをもつインクジェットプリンタを想定すると、一走査に必要な画像データは48ライン×720画素になる。プリントヘッドの第1走査を行うために受信すべきソースパケットはライン0からライン47までの48パケットでよく、必要なデータが揃ったところでプリンタヘッドを走査して48ライン分の画像を印刷する。その間、記録再生装置101は、転送終了コマンドが発行されないので、静止画像データの出力を繰り返す。プリンタ102は、第2走査を行うためのデータが必要になったタイミングでライン48からライン95までの48パケットを任意に取込み、必要なデータが揃ったら48ライン分の画像を印刷する。
【０１５６】
以上の動作を繰り返すことにより、プリンタ102は、最後のライン432からライン479までの第10走査を行うデータを取込んだところで、転送終了コマンドを発行する。
【０１５７】
すなわち、記録再生装置101はプリンタ102が印刷を実行している間は、同期転送により静止画像データを繰り返し出力することで、プリンタ102は、バッファメモリのバッファ容量や、プリントヘッドのドット数に応じたサイズのデータを取込んで印刷を行うことができる。
【０１５８】
次に、プリンタに転送される画像データが、ディジタルビデオで用いられるDVフォーマットで圧縮されている場合について簡単に説明する。
【０１５９】
図41はディジタルビデオで用いられる525-60システムのDCT圧縮された映像データの構造を示す図である。基本的な構造は、縦480ラインを48ライン単位で10分割し、それをさらに五分割したスーパブロックを作り、一つのスーパブロックをさらに27個のマクロブロックになるように分割して、そのマクロブロック単位で映像データの圧縮を行うものである。因に、図のスーパブロック(S9,3)は、一番下で左から四番目のブロックを示すことがわかる。
【０１６０】
ここでは、DVCで用いられるDCT圧縮や、DVフォーマットのデータについての詳細な説明は省くが、映像情報としてはスーパブロック単位で50分割されたデータをソースパケットに振り分け、同期転送により映像データを送受信する。また、一つのソースパケットには映像データだけでなく音声データや制御データなども含まれるので、記録再生装置101から連続出力させた静止画像データをプリンタ102で取込む場合は、ソースパケットヘッダに記載されたスーパブロックの番号をチェックして、例えば、1フレーム目を受信した際にデータに欠落があった場合は、2フレーム目で不足するデータを取込んで圧縮データの伸長を行う、同期転送によるリトライ操作を行うことが可能になる。
【０１６１】
このように、本実施形態によれば、PC、並びに、プリンタ、DSCおよびDVCなどの周辺機器をIEEE1394シリアルインタフェイスなどの汎用インタフェイスを用いたネットワークに接続した構成において、受信ノードにおけるデータの受信が完了するまで、同一データを繰り返し同期転送させることにより転送データの欠落を容易に補うことができる。
【０１６２】
また、DSCやDVCなどの記録再生機器から転送されるデータに基づく印刷をプリンタに行わせる場合、静止画像データを繰り返し同期転送させることにより、プリンタは受信バッファのバッファサイズやプリントヘッドの仕様に応じたデータサイズに相当するデータパケットを取込んで印刷を行うことができるので、プリンタの受信バッファが小さい場合でも容易にデータ転送を行うことができる。
【０１６３】
【第２実施形態】
以下、本発明にかかる第2実施形態の情報処理システムを説明する。なお、第2実施形態において、第1実施形態と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【０１６４】
［構成］
第2施形態として、図42に示す記録再生装置201とプリンタ202が1394シリアルバスで直接つながったシステムについて説明する。この場合、記録再生装置201から出力された映像（画像）データをプリンタ202が直接プリントするダイレクトプリントが実現される。
【０１６５】
図43は第2実施形態のシステムの構成を示すブロック図である。基本的には、図34に示した第１実施形態の構成からPC103を除き、記録再生装置201とプリンタ202を1394シリアルバスで接続した構成である。
【０１６６】
第1実施形態の構成と異なるのは、記録再生装置201は、圧縮伸長回路7で行われるMPEG、JPEG、DV方式その他の少なくとも一種類の映像（画像）データ圧縮に対応して、これを伸長するためのデコード用プログラムが少なくとも一種類格納されたROM74を有することである。また、図43に示す記録再生装置201は、非圧縮データを転送するための構成であるフレームメモリ13およびメモリ制御部14をもたない。
【０１６７】
デコード用プログラムは、必要に応じて、システムコントローラ9による読出制御部73の制御によってROM74から読出され、データセレクタ17から1394インタフェイス部18を経て、プリンタ102へ転送される。デコード用プログラムは、主として非同期転送するものとし、映像（画像）データの転送実行前、または、映像（画像）データパケットの転送と並行して、その隙間に混在させて転送する。
【０１６８】
また、プリンタ202は、映像（画像）データを復号するための回路として、受信したデコード用プログラムを、全部または一部書換え可能なメモリ71に記憶し、メモリ71に記憶されたデコード用プログラムに従って動作する復号処理回路72により受信した映像（画像）データをデコードする。
【０１６９】
メモリ71は、圧縮データを転送する機器に応じたデコード用プログラムを記憶可能であり、復号処理回路72とともに用いることで複数種類のデコーダとして機能する。ただし、メモリ71にデコード用プログラムを記憶させなければデコーダとして全く機能しない構成であってもよいが、所定のデコード用プログラムだけをメモリ71に予め記憶させておいてもよい。
【０１７０】
［動作］
第2実施形態の動作として、記録再生装置201からプリンタ202への圧縮された映像（画像）データを転送する際に、映像（画像）データの転送に先立ち、記録再生装置201で用いる映像（画像）データの圧縮方式に対応したデコード用プログラムをROM74から読出し、それをプリンタ202に転送しメモリ71に記憶させ、転送される圧縮映像（画像）データのデコードに利用する例を説明する。このようにすれば、圧縮されたままの映像（画像）データを常に転送することができるので非圧縮映像（画像）データを転送する場合に比べて、転送効率がよく、プリンタ202がデコーダ情報をもたなくても対処可能である。
【０１７１】
記録再生装置201は、記録するすべての映像（画像）データに一つの圧縮/伸長方式を用いてもよいし、データ量または記録時間によって圧縮方式が変化するような複数の圧縮方式が混在するものであってもよい。
【０１７２】
図44は第2実施形態における動作を示すフローチャートである。システムコントローラ9は、ステップS21でユーザにより指定された転送先、この場合プリンタ202に基づく転送設定を行い、ステップS22で、記録媒体に記録された映像（画像）中からユーザにより選択された、プリンタ102へ転送したい映像（画像）に対応するデータを記憶媒体から読出し、ステップS23で記憶媒体から読出した映像（画像）データの転送を開始する。
【０１７３】
次に、システムコントローラ9は、ステップ24で映像（画像）データの転送先であるプリンタ202へデコード用プログラムを転送する必要があるか否か判断し、必要であればステップS25でデコード用プログラムをROM74から読出してプリンタ202に転送する。転送不要の場合、つまりプリンタ9が転送する圧縮映像（画像）データをデコードする機能を備えているか、または、すでにデコード用プログラムを転送済みであればデコード用プログラムの転送は行わない。
【０１７４】
続いて、システムコントローラ9は、ステップS26で、記憶媒体から読出した圧縮映像（画像）データが記憶されているフレームメモリ15からデータを読出し転送されるように、メモリ制御部16、データセレクタ17および1394インタフェイス部18を制御する。プリンタ202は、所定の動作手順に従い、圧縮映像（画像）データをデコードし、得られた映像（画像）データの印刷処理を開始する。
【０１７５】
システムコントローラ9は、ステップS27で映像（画像）データの転送が終了すると、ステップS28で、ユーザにより他の映像（画像）の転送が指示されているか否かを判定し、他の映像（画像）の転送が指示されているときはステップS22に戻り、ステップS22からS28を繰り返す。
【０１７６】
このような構成の第2実施形態においても、図41に示した第1実施形態のデータフォーマットと同様に、圧縮映像（画像）データを非同期転送により静止画像データの繰り返しとして転送することにより、プリンタ202は、映像（画像）データの受信においてデータリトライ操作を行うことができるし、バッファメモリのバッファ容量や、プリントヘッドのドット数に応じたサイズのデータを取込んで印刷を行うことができる。
【０１７７】
また、印刷させるための映像（画像）データを、図36に示したような、非圧縮画像データとして記録再生装置201からプリンタ202へ送っても何ら問題はない。
【０１７８】
このように、本実施形態によれば、PCなどを介さずに記録再生装置からプリンタへ直接画像データを転送して印刷するダイレクトプリントについても、第1実施形態と同様の効果が得られる。
【０１７９】
本発明の「非正常」とは、主にデータが欠落した状態のことだが、データが欠落した場合に限らず、データが異常な場合、例えばエラーチェックコードにより受信データが誤っていることが判明した場合でもよい。
【０１８０】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【０１８１】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，CD-ROM，CD-R，磁気テープ，不揮発性のメモリカード，ROMなどを用いることができる。
【０１８２】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１８３】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１８４】
【発明の効果】
以上説明したように、本発明によれば、符号化されたデータを同期転送する場合、符号化に対応する復号プログラムを非同期転送することができる。従って、符号化されたデータを同期転送してネットワークトラフィックを軽減することができる。また、受信バッファサイズに応じたサイズ分、同期転送される画像データのパケットを受信するごとに、受信した画像データを記録媒体に可視像を形成する形成手段へ供給することができる。従って、受信バッファサイズが小さい場合でも容易にデータ転送を行うことができる。
【図面の簡単な説明】
【図１】本発明を適用するシステムの一般的な構成例を示す図、
【図２】  1394シリアルバスを用いて構成されるネットワークシステムの例を示す図、
【図３】  1394シリアルバスの構成を示す図、
【図４】  1394シリアルバスにおけるアドレス空間を示す図、
【図５】  1394シリアルバス用ケーブルの断面を示す図、
【図６】  1394シリアルバスで採用されている、データ転送方式のDS-Link(Data/Strobe Link)方式を説明するための図、
【図７】バスリセット信号の発生から、ノードIDが決定してデータ転送が行えるようになるまでの一連のシーケンスを示すフローチャート、
【図８】バスリセットの監視からルート決定までの詳細を示すフローチャート、
【図９】ノードID設定の詳細を示すフローチャート、
【図１０】ネットワーク例を示す図、
【図１１】  CSRコアがレジスタの位置と機能を示す図、
【図１２】  CSRアーキテクチャにおけるシリアルバスに関するレジスタレジスタの位置と機能を示す図、
【図１３】  CSRアーキテクチャにおけるシリアルバスのノード資源に関する情報が配置されたレジスタの位置と機能を示す図、
【図１４】最小形式のコンフィグレーションROMの例を示す図、
【図１５】一般形式のコンフィグレーションROMの例を示す図、
【図１６】バス使用権の要求を説明する図、
【図１７】バス使用の許可を説明する図、
【図１８】バスアービトレーションの一連の流れを示すフローチャート、
【図１９】トランザクションレイヤにおけるCSRアーキテクチャに基づくリード、ライト、ロックの各コマンドの要求・応答プロトコルを示す図、
【図２０】リンクレイヤにおけるサービスを示す図、
【図２１】非同期転送における時間的な遷移状態を示す図、
【図２２】非同期転送用パケットのフォーマット例を示す図、
【図２３】同期転送における時間的な遷移状態を示す図、
【図２４】同期転送用パケットのフォーマット例を示す図、
【図２５】パケットフィールドの詳細を示す図、
【図２６】  1394シリアルバスにおいて同期転送と非同期転送とを混在させた際のバス上の転送状態の時間的な遷移例を示す図、
【図２７】コントローラとターゲットとの関係を説明する図、
【図２８】  FCPパケットフレームを含む非同期転送のパケットフォーマットを示す図、
【図２９】  AV/Cコマンドフレームの構造を示す図、
【図３０】  AV/Cレスポンスフレームの構造を示す図、
【図３１】同期パケットのデータ部にCIPとリアルタイムデータが格納されていることを説明するための図、
【図３２】送信側のソースパケットが1,2,4,8個のデータブロックに分割されて複数の同期パケットとして送られることを説明するための図、
【図３３】  CIPヘッダを示す図、
【図３４】図1に示す各ディジタル機器の詳細な構成を示すブロック図、
【図３５】図34に示した機器構成におけるデータ転送手順の一例を示すフローチャート、
【図３６】家庭用ディジタルビデオで使用されている映像規格の一つであるNTSCに準拠した、525-60システムにおける非圧縮画像データのx-y座標のマトリクスを示す図、
【図３７】  YUV(4:2:2)で表される非圧縮フォーマットの1フレーム分の画像データ構成を示す図、
【図３８】  RGBで表される非圧縮フォーマットにおける1フレーム分のデータ構成を示す図、
【図３９】非圧縮フォーマットで構成されたライン単位のデータブロックを含む同期転送用のソースパケットを示す図、
【図４０】プリンタが同期転送データを受信する際のデータ構造を示す図、
【図４１】ディジタルビデオで用いられる525-60システムのDCT圧縮された映像データの構造を示す図、
【図４２】本発明を適用するシステムの第二例を示す図、
【図４３】第2実施形態のシステムの構成を示すブロック図、
【図４４】第2実施形態における動作を示すフローチャートである。
【図１】
0003862349.tif 000002
【図２】
0003862349.tif 000003
【図３】
0003862349.tif 000004
【図４】
0003862349.tif 000005
【図５】
0003862349.tif 000006
【図６】
0003862349.tif 000007
【図７】
0003862349.tif 000008
【図８】
0003862349.tif 000009
【図９】
0003862349.tif 000010
【図１０】
0003862349.tif 000011
【図１１】
0003862349.tif 000012
【図１２】
0003862349.tif 000013
【図１３】
0003862349.tif 000014
【図１４】
0003862349.tif 000015
【図１５】
0003862349.tif 000016
【図１６】
0003862349.tif 000017
【図１７】
0003862349.tif 000018
【図１８】
0003862349.tif 000019
【図１９】
0003862349.tif 000020
【図２０】
0003862349.tif 000021
【図２１】
0003862349.tif 000022
【図２２】
0003862349.tif 000023
【図２３】
0003862349.tif 000024
【図２４】
0003862349.tif 000025
【図２５】
0003862349.tif 000026
【図２６】
0003862349.tif 000027
【図２７】
0003862349.tif 000028
【図２８】
0003862349.tif 000029
【図２９】
0003862349.tif 000030
【図３０】
0003862349.tif 000031
【図３１】
0003862349.tif 000032
【図３２】
0003862349.tif 000033
【図３３】
0003862349.tif 000034
【図３４】
0003862349.tif 000035
【図３５】
0003862349.tif 000036
【図３６】
0003862349.tif 000037
【図３７】
0003862349.tif 000038
【図３８】
0003862349.tif 000039
【図３９】
0003862349.tif 000040
【図４０】
0003862349.tif 000041
【図４１】
0003862349.tif 000042
【図４２】
0003862349.tif 000043
【図４３】
0003862349.tif 000044
【図４４】
0003862349.tif 000045