JP2002044097A - データ通信システム及びその制御方法、及びデータ通信制御装置 - Google Patents

データ通信システム及びその制御方法、及びデータ通信制御装置

Info

Publication number
JP2002044097A
JP2002044097A JP2000225893A JP2000225893A JP2002044097A JP 2002044097 A JP2002044097 A JP 2002044097A JP 2000225893 A JP2000225893 A JP 2000225893A JP 2000225893 A JP2000225893 A JP 2000225893A JP 2002044097 A JP2002044097 A JP 2002044097A
Authority
JP
Japan
Prior art keywords
data
format
field
output device
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2000225893A
Other languages
English (en)
Inventor
Kiyoshi Katano
清 片野
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2000225893A priority Critical patent/JP2002044097A/ja
Publication of JP2002044097A publication Critical patent/JP2002044097A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】 【課題】 非同期コネクションを用いたデータ通信シス
テムにおいて、1フレームデータ転送ごとの画像フォー
マットの通知は制御が煩雑となり、システムにおける転
送効率が悪化する。 【解決手段】 プロデューサノードからコンシューマノ
ードへ画像データを送信する際に、コントローラノード
が、各ノードのコネクションを設定し、コンシューマノ
ードに対してプロデューサノードからの送信データのフ
ォーマットを通知し、コンシューマノードは、通知され
たフォーマットによる画像データの処理が可能であれ
ば、該画像データを受信し、1フレームデータ転送後、
同じ画像フォーマットであれば、直ちに次のフレームの
データ転送を開始する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、制御信号とデータ
の混在通信を可能とするシリアルバスを用いて複数のデ
バイスを接続したデータ通信システム及びその制御方
法、及びデータ通信制御装置に関する。
【0002】
【従来の技術】デジタルVTR、デジタルTV、セット
トップボックス、MDなどのAV機器や、パーソナルコ
ンピュータ(以下、「PC」と称する)等の複数デバイ
スを、IEEE1394-1995規格のシリアルバス(以下「1394
シリアルバス」と称する)を用いて相互に接続し、それ
らのデバイス間で静止画データや番組情報等を送受信す
るための通信規格(Asynchronous Connections;以下、
「非同期コネクション」と称する)が提案されている。
【0003】図2は、非同期コネクションを利用したデ
ータ通信システムの一般的な構成例を示す図であり、該
システムは、データの送信側ノード(Producer node;
以下、「プロデューサ」と称する)と受信側ノード(Co
nsumer node;以下、「コンシューマ」と称する)、及
びプロデューサとコンシューマのコネクションを管理す
るコントローラノード(Controller node;以下、「コ
ントローラ」と称する)によって構成される。
【0004】ここでプロデューサが複数種類の画像フォ
ーマットの画像データを送信可能な場合、非同期コネク
ションでは転送データのフォーマット情報をもたないの
で、コンシューマは受信データの画像フォーマットをあ
らかじめ知ることができない。そこで、コンシューマが
印刷装置の場合には、1フレームの画像データ転送に先
立って、コントローラがコンシューマにフォーマットを
通知するコマンドを発行する方法が提案されている。
【0005】
【発明が解決しようとする課題】しかしながら、上記従
来の非同期コネクションを用いたデータ通信システムに
おいては、1フレームの画像を転送するたびに、転送に
先立ってフォーマットの通知コマンドを発行するため、
コントローラはプロデューサが送信する転送データの画
像フォーマットをコンシューマに通知するためには、同
じフォーマットで複数フレームの画像を転送する場合に
も毎回コマンドの発行が必要になり、システムにおける
転送効率が悪化してしまう。
【0006】また、プロデューサがAV機器であり、コ
ンシューマがプリンタであった場合には、AV機器から
プリンタへ静止画データを送信して印刷を行うことにな
る。このような場合、プリンタがAV機器で扱う画像フ
ォーマットに対応することができ、データ転送時には複
雑な制御を必要としないことが望ましいことは勿論であ
る。
【0007】本発明は上記問題を解決するためになされ
たものであり、非同期コネクションを用いてプロデュー
サからコンシューマへのデータ転送を行う際に、簡便な
制御によって転送データのフォーマットを通知しながら
効率の良いデータ転送を可能とするデータ通信システム
及びその制御方法、及びデータ通信制御装置を提供する
ことを目的とする。
【0008】
【課題を解決するための手段】上記目的を達成するため
の一手段として、本発明のデータ通信システムは以下の
構成を備える。
【0009】即ち、データ供給デバイスとデータ出力デ
バイス、及び管理デバイスを非同期コネクションを用い
て互いに接続したデータ通信システムであって、前記デ
ータ供給デバイスから前記データ出力デバイスへ画像デ
ータをフレーム単位で送信する際に、前記管理デバイス
が、前記データ供給デバイスと前記データ出力デバイス
とのコネクションを設定し、前記管理デバイスが前記デ
ータ出力デバイスに対して、前記データ供給デバイスか
らの送信データのフォーマットを通知し、前記データ出
力デバイスは、前記通知されたフォーマットによる画像
データの処理が可能であれば、該画像データを受信し、
前記データ供給デバイスは、前記通知されたフォーマッ
トによる1フレームの送信後、該フォーマットによる次
のフレームの送信を直ちに開始することを特徴とする。
【0010】
【発明の実施の形態】以下、本発明に係る一実施形態に
ついて、図面を参照して詳細に説明する。
【0011】本実施形態は、非同期コネクションを利用
したデータ通信システムに対して適用されるため、ま
ず、その一般的な特徴について説明する。
【0012】<非同期コネクションの概要>上記従来例
において図2に示したように、一般的な非同期コネクシ
ョンを利用したデータ通信システムは、データの送信側
ノードであるプロデューサと、受信側ノードであるコン
シューマ、及びプロデューサとコンシューマのコネクシ
ョンを管理するコントローラによって構成される。
【0013】プロデューサ及びコンシューマは、データ
送受信のための非同期プラグ(Asynchronous Plug)を
それぞれ所有する。図3に非同期プラグの構成を示す。
図3によれば、該プラグはひとつのiAPR(input Asynchr
onous Port Register;入力非同期ポートレジスタ)と複
数のoAPR(output Asynchronous Port Register;出力非
同期ポートレジスタ)で構成され、1394シリアルバスの
アドレススペースに割り当てられる。
【0014】プロデューサの機能のみを有するノードは
図4(a)に示すようにoAPRのみを有し、コンシューマ
機能のみを有するノードは図4(b)に示すようにiAPR
とデータ受信用のセグメントバッファ(segment buffe
r)を有する。プロデューサ,コンシューマの両方の機
能を有するノードは、図4(c)に示すようにiAPR,oA
PR及びセグメントバッファを有する。
【0015】プロデューサノードは、1つのコネクショ
ンで複数のコンシューマに対してデータ送信ができる場
合には、その能力に応じて図4(a)のように複数のoA
PRを有し、1つのコンシューマにしかデータ送信できな
い場合には、図4(c)のようにoAPRを1つだけ有す
る。また、複数のコネクションを同時に張ることができ
る場合、該ノードは図3に示す非同期プラグを複数有
し、各プラグはプラグIDによって識別される。
【0016】プロデューサは、コンシューマの有するセ
グメントバッファに対し、ライトトランザクション(wr
ite transaction)によって例えば画像データ等を書き
込む。書き込まれるデータをフレームと呼び、フレーム
のサイズがセグメントバッファのサイズより大きい場合
には、複数回のセッションに分けて書き込みを行う。1
回のセッションで書き込まれるデータをセグメントと呼
ぶ。
【0017】コントローラは、プロデューサに対して、
コンシューマのノードID、コネクションに使用するコ
ンシューマのプラグアドレス、プラグ番号等の情報を送
信する。またコンシューマに対しては、プロデューサの
ノードID、コネクションに使用するプロデューサのプ
ラグアドレス、プラグの番号等の情報を送信する。情報
を受信したプロデューサ及びコンシューマは、受信した
データに基づいて通信を開始し、プロデューサからコン
シューマにデータが送信される。
【0018】コントローラからプロデューサ及び/又は
コンシューマに対しての通信、及びプロデューサとコン
シューマ間でのデータの通信は、非同期トランザクショ
ンを用いて行われる。図5に、この非同期トランザクシ
ョンに用いられるパケットフォーマットを示す。1394シ
リアルバスにおけるパケットは、4バイト(32ビット)
を単位とする(以下、「クアドレット」と称する)デー
タパケットである。
【0019】図5に示す非同期パケットにおいて、最初
の16ビットはdestination_IDフィールドであり、受信先
のノードIDを示す。
【0020】次の6ビットのフィールドは、トランザク
ション・ラベル(tl)フィールドであり、各トランザクシ
ョン固有のタグである。次の2ビットのフィールドは、
リトライ(rt)コードであり、パケットがリトライを試み
るかどうかを指定する。
【0021】次の4ビットのフィールドは、トランザク
ションコード(tcode)である。tcodeは、パケットのフォ
ーマットや、実行しなければならないトランザクション
のタイプを指定する。例えば、この値が0001(2進数)
である場合、非同期ライトトランザクション用のパケッ
トであることを示す。
【0022】次の4ビットのフィールドは、プライオリ
ティ(pri)フィールドであり、優先順位を指定する。
【0023】次の16ビットはsource_IDフィールドであ
り、送信元のノードIDを示す。次の48ビットはdestin
ation_offsetフィールドであり、パケット受信先ノード
の目的アドレスの下位48ビットがこのフィールドによっ
て指定される。
【0024】次の16ビットはdata_lengthフィールドで
あり、後述するデータフィールドの長さをバイト単位で
示している。次の16ビットはextended_tcodeフィールド
であり、拡張トランザクションコードが指定される。
【0025】次の32ビットはheader_CRCフィールドであ
り、上述したdestination_IDフィールドからextended_t
codeフィールドまでをパケットヘッダと称し、パケット
ヘッダのエラー検出に用いられる。
【0026】次のフィールドは可変長のデータフィール
ドであり、このデータフィールドをパケットのペイロー
ドと称する。このフィールドにセットするペイロードの
サイズがクアドレットの倍数でない場合、クアドレット
に満たないビットには0が詰められる。
【0027】次の32ビットのフィールドはdata_CRCフィ
ールドであり、上記のheader_CRCフィールドと同様に、
データフィールドのエラー検出に用いられる。
【0028】コントローラとプロデューサ及び/又はコ
ンシューマとの通信には、非同期ライトトランザクショ
ンが用いられる。この通信には図5に示したパケットが
用いられ、ペイロードには例えば、図6に示すようなフ
ォーマットのデータがセットされる。図6に示すデータ
フォーマットは、AV機器の制御コマンドとして利用さ
れており、FCP(Function Control Protocol)フレー
ムと呼ばれる。
【0029】AV機器には各機種毎にCTS(Command T
ransaction Set)と呼ばれるコマンドセットが用意され
ており、FCPフレームに該当データをセットして、非
同期ライトトランザクションを用いてコマンドの送信及
び、該コマンドに対するレスポンスを送信する。コマン
ド送信用のFCPフレームはコマンドフレーム、レスポ
ンス送信用のFCPフレームはレスポンスフレームと呼
ばれる。コマンドフレーム及びレスポンスフレームの送
信先オフセットアドレスには固定アドレスが割り当てら
れており、コマンドフレームのオフセットアドレスはFF
FF F000 0B00(16進)、レスポンスフレームのオフセッ
トアドレスはFFFF F000 0D00(16進)であり、図5に示
すdestination_offsetフィールドにそれぞれの値がセッ
トされる。コマンドフレームが書き込まれるアドレス領
域はコマンドレジスタ、レスポンスフレームが書き込ま
れるアドレス領域はレスポンスレジスタと呼ばれる。
【0030】図6(a)はコマンドフレーム、図6
(b)はレスポンスフレームのフォーマットである。
【0031】図6(a)のctypeフィールドはコマンド
の種類を示すものであり、表1に示すコマンドタイプを
指定する。
【0032】
【表1】
【0033】また、図6(a)に示すsubunit_type,su
bunit IDフィールドは、指定したノード内のどのユニッ
トに対してのコマンドであるかを示すフィールドであ
る。例えば、subunit_typeでVTRを、subunit IDでV
TRサブユニットの0番目のユニットを指定する。opcod
e,operandフィールドは実際のコマンドを内容を指定す
るフィールドである。
【0034】図6(b)のresponseフィールドはレスポ
ンスの種類を示すものであり、表2に示すレスポンスタ
イプを指定する。
【0035】
【表2】
【0036】また、図6(b)に示すsubunit_type,su
bunit IDフィールドは、ノード内のどのユニットからの
レスポンスであるかを示すフィールドである。opcode,
operandフィールドはレスポンスデータを指定するフィ
ールドである。
【0037】図7は、コントローラとプロデューサ及び
/又はコンシューマとの通信における、opecode及びope
randフィールドのフォーマットを示す。コントローラか
らプロデューサ及び/又はコンシューマに送信されるコ
マンドフレームと、プロデューサ及び/又はコンシュー
マからコントローラに送信されるレスポンスフレーム
は、共通のフォーマットである。
【0038】図7において、opecodeはコマンドの種類
を示すもので、非同期コネクションのコマンドであるこ
とを示すコードがセットされる。
【0039】subfunctionフィールドは、このコマンド
によってプロデューサ,コンシューマが行う動作を指定
する。プラグリソースの確保、コネクションの設定/解
除等を指定するフィールドである。
【0040】statusフィールドはコマンド実行結果の状
態を表すフィールドであり、レスポンスフレームでデー
タがセットされてコントローラに状態が通知される。
【0041】plug idフィールドはコネクションに使用
するプラグの番号を指定する。表3に、plug idフィー
ルドにセットされるコードの例を示す。
【0042】
【表3】
【0043】plug offsetフィールドは42ビットのフィ
ールドであり、図3のiAPRに相当する、プラグの先頭ア
ドレスがセットされる。
【0044】port idフィールドは、プラグ内のどのポ
ートが選択されているかを示すフィールドである。表4
に、port idフィールドにセットされるコードの例を示
す。
【0045】
【表4】
【0046】表4において、consumer portは図3のiAP
Rに、producer prot[1]〜producerport[14]はoAPR[1]〜
oAPR[14]に、対応する。
【0047】コネクションに使用されるポートレジスタ
のオフセットアドレスは、以下の式によって計算され
る。
【0048】(オフセットアドレス)=(plug offset)
<<6|(port id)<<2 図7に示すport bitsフィールドは、選択されているポ
ートの能力を示す。表5に、port bitsフィールドにセ
ットされるコードの例を示す。
【0049】
【表5】
【0050】connected node idフィールドは、コネク
ションを設定する相手のノード(プロデューサの場合は
接続されるコンシューマを、コンシューマの場合は接続
されるプロデューサを示す。以下、該コネクション設定
の相手ノードを「接続ノード」と称する)を示す。コン
シューマに対しては、プロデューサのノードIDを、プ
ロデューサに対してはコンシューマのノードIDをコン
トローラがセットして、コマンドフレームにより通知す
る。
【0051】connected plug offsetフィールドは、接
続ノードが持つプラグのアドレスを示すフィールドであ
る。
【0052】connected port IDフィールドは、コネク
ションに使用する接続ノードのポート番号を示す。接続
ノードのポートレジスタのオフセットアドレスは、以下
の式によって計算される。
【0053】(オフセットアドレス)=(connected plu
g offset)<<6|(connected port id)<<2 connected port bitsフィールドは、接続ノードのポー
トの能力を示す。
【0054】connected plug id、はコネクションに使
用される接続ノードのプラグ番号を示す。
【0055】ex(exclusive)ビットは、コネクションに
使用するポートを他のコントローラがアクセスできるか
どうかを指定するためのビットである。コマンドフレー
ムでこのビットを1にセットした場合、プロデューサ,
コンシューマはそのポートへアクセスするコマンドフレ
ームを受信すると、コマンド送信元のノードIDを調べ
て、コネクションを設定したコントローラのノードID
と異なる場合にはそのコマンドに対してRejectedのレス
ポンスフレームを送信する。
【0056】connection countフィールドは、コンシュ
ーマのポートがいくつのプロデューサポートに接続され
ているかを示す。
【0057】write intervalは、プロデューサがコンシ
ューマのセグメントバッファにライトトランザクション
を行う際の、トランザクションの最小間隔を示す。
【0058】retry countフィールドは、シリアルバス
トランザクションに失敗したときに必要となるretry co
unt値を示す。これは、コンシューマからのレスポンス
フレームでセットされる。
【0059】以下、図8を参照して、コントローラがプ
ロデューサ及びコンシューマの有する0番目の非同期プ
ラグ間にコネクションを設定する際の手順を説明する。
【0060】コンシューマ,プロデューサともに、プラ
グのオフセットアドレスはFFFF F000 1800であり、コン
シューマが有するセグメントバッファに対して先頭アド
レスからの順次書き込みにしか対応しておらず、マルチ
キャストコネクションがサポートされていないものとす
る。またプロデューサは、セグメントバッファが固定サ
イズで変化しないコンシューマにしか対応していないと
する。ここでは、コントローラ,プロデューサ,コンシ
ューマのノードIDが、それぞれ0,1,2になっている
とする。
【0061】図8において実線の矢印1a,2a,3a
はコマンドフレームの流れを示し、波線の矢印1b,2
b,3bはレスポンスフレームの流れを示している。コ
マンドフレームのctypeフィールドにはControlを、subu
nit_type,subunit_IDフィールドにはターゲットである
コンシューマ,プロデューサノード内の適切なサブユニ
ットを指定するデータをセットする。レスポンスフレー
ムのresponseフィールドには、コマンドを受け付けたか
否かがセットされるが、ここでは、コマンドが受け付け
られたものとしてAcceptedがセットされる場合について
説明を行う。
【0062】レスポンスフレームのsubunit_type,subu
nit_IDフィールドには、コマンドフレームのsubunit_ty
pe,subunit_IDフィールドと同一のデータがセットされ
る。このFCPフレームは図5に示すパケットのdata f
ieldにセットされ、destination_ID,source_ID,desti
nation_offset等のパケットヘッダがセットされた後
に、コントローラとコンシューマおよびプロデューサ間
でライトトランザクションを用いて送信される。
【0063】まず、コントローラがコンシューマに対し
て、ALLOCATEコマンドを送信する。このときのコマンド
フレーム内のopecode,operandフィールドの例を、図9
(1a)に示す。
【0064】opecodeフィールドには、非同期コネクシ
ョンのコマンドであることを示すコード26(16進)がセ
ットされる。
【0065】subfunctionフィールドには、リソースの
確保を指示するためのALLOCATEコマンドを示すコード01
(16進)がセットされる。
【0066】plug idフィールドには、0番目の非同期プ
ラグを確保することを示すコードA0(16進)がセットさ
れる。
【0067】port idフィールドには、iAPRを示すポー
ト番号0がセットされる。
【0068】ex(exclusive)フィールドには、他のコン
トローラからのアクセスも許可することを示すコード0
がセットされる。
【0069】そのほかのフィールドには、ダミーデータ
として全てのビットに1がセットされる。
【0070】このようなデータがセットされたコマンド
フレームが非同期パケットのデータフィールドにセット
され、コントローラからコンシューマのコマンドレジス
タにライトトランザクションで書き込まれることによっ
て、ALLOCATEコマンドの発行が行われる。
【0071】上述したFCPコマンドフレームを受信し
たコンシューマは、コントローラに対して、このコマン
ドを受け付けたことを通知するAcceptedのレスポンスフ
レームを送信する。このときのレスポンスフレーム内の
opcode,operandフィールドの例を、図9(1b)に示
す。
【0072】opecodeフィールドには、非同期コネクシ
ョンコマンドに対するレスポンスであることを示すコー
ド26(16進)がセットされる。
【0073】subfunctionフィールドにはALLOCATEコマ
ンドのレスポンスであることを示すコード01(16進)が
セットされる。
【0074】statusフィールドには、リソースの確保が
できた状態であることを示すFIXEDのコード02(16進)
がセットされる。
【0075】Plug idフィールドには、0番目の非同期プ
ラグが確保されたことを示すコードA0(16進)がセット
される。
【0076】plug offsetフィールドには、コンシュー
マが持つ0番目のプラグのオフセットアドレスを示すコ
ードがセットされる。
【0077】port idフィールドには、iAPRを示すポー
ト番号0がセットされる。
【0078】plug offsetフィールドとport idフィール
ドのデータから、実際に使用するポートのオフセットア
ドレスが以下の式によって計算される。
【0079】 (オフセットアドレス)=(plug offset)<<6|(port id)<<2 =FFFF F000 1800(16進) port bitsフィールドには、コンシューマが有するセグ
メントバッファに対して先頭アドレスからの順次書き込
みにしか対応しておらず、マルチキャストコネクション
がサポートされていないことを示すコード00(2進)が
セットされる。
【0080】connection countフィールドには、まだプ
ロデューサポートに接続されていないことを示すコード
00(16進)がセットされる。
【0081】write interval,retry countフィールド
は、表5に示すctビットが0である場合には使用されな
いことになっており、共にダミーデータとしてF(16
進)がセットされる。
【0082】そのほかのフィールドには、コマンドフレ
ームと同一の値がセットされる。
【0083】上記データのFCPレスポンスフレームが
非同期パケットのデータフィールドにセットされ、コン
シューマからコントローラのレスポンスレジスタへ、ラ
イトトランザクションで書き込まれることによって、AL
LOCATEコマンドに対するレスポンスの発行が行われる。
【0084】コンシューマからALLOCATEコマンドに対す
るAcceptedのレスポンスを受け取ると、コントローラは
プロデューサに対して、ALLOCATE_ATTACHコマンドを送
信する。このときのコマンドフレーム内のopcode,oper
andフィールドの例を、図10(2a)に示す。
【0085】opecodeフィールドには、非同期コネクシ
ョンのコマンドであることを示すコード26(16進)がセ
ットされる。
【0086】subfunctionフィールドには、リソースの
確保とコンシューマへの接続を指示するためのALLOCATE
_ATTACHコマンドを示すコード03(16進)がセットされ
る。
【0087】plug idフィールドには、0番目の非同期プ
ラグを確保することを示すコードA0(16進)がセットさ
れる。
【0088】port idフィールドには、oAPR[1]を示すポ
ート番号1がセットされる。
【0089】connected node idフィールドには、コン
シューマのノードIDである0002(16進)がセットされ
る。
【0090】connected plug offsetフィールドには、
コンシューマから通知された、コンシューマが持つ0番
目のプラグのオフセットアドレスを示すコードがセット
される。
【0091】connected port idフィールドには、iAPR
を示すポート番号0がセットされる。
【0092】connected port bitsフィールドには、コ
ンシューマから通知された受信能力を示すコード00(2
進)がセットされる。
【0093】connected plug idフィールドには、コン
シューマの0番目の非同期プラグと接続することを示す
コードA0(16進)がセットされる。
【0094】ex(exclusive)フィールドには、他のコン
トローラからのアクセスも許可することを示すコード0
がセットされる。
【0095】そのほかのフィールドには、ダミーデータ
として全てのビットに1がセットされる。
【0096】このようなデータがセットされたコマンド
フレームが非同期パケットのデータフィールドにセット
され、コントローラからプロデューサのコマンドレジス
タに対してライトトランザクションで書き込まれること
によって、ALLOCATE_ATTACHコマンドの発行が行われ
る。
【0097】上述したFCPコマンドフレームを受信し
たプロデューサはコントローラに対して、該コマンドを
受け付けたことを通知するAcceptedのレスポンスフレー
ムを送信する。このときのレスポンスフレーム内のopco
de,operandフィールドの例を、図10(2b)に示
す。
【0098】opcodeフィールドには、非同期コネクショ
ンコマンドに対するレスポンスであることを示すコード
26(16進)がセットされる。
【0099】subfunctionフィールドには、ALLOCATE_AT
TACHコマンドのレスポンスであることを示すコード03
(16進)がセットされる。
【0100】statusフィールドには、指定されたポート
が使用可能状態であることを示すACTIVEのコード03(16
進)がセットされる。
【0101】plug idフィールドには、0番目の非同期プ
ラグが確保されたことを示すコードA0(16進)がセット
される。
【0102】plug offsetフィールドには、プロデュー
サが持つ0番目のplugのオフセットアドレスを示すコー
ドがセットされる。
【0103】port idフィールドには、oAPR[1]を示すポ
ート番号1がセットされる。
【0104】plug offsetフィールドとport idフィール
ドのデータから、実際に使用するポートのオフセットア
ドレスが以下の式によって計算される。
【0105】 (オフセットアドレス)=(plug offset)<<6|(port id)<<2 =FFFF F000 1804(16進) port bitsフィールドには、指定されたプロデューサの
ポートは固定サイズのセグメントバッファに対するデー
タ転送にしか対応していないことを示すコード00(2
進)がセットされる。
【0106】そのほかのフィールドには、コマンドフレ
ームと同一の値がセットされる。
【0107】上記データのFCPレスポンスフレームが
非同期パケットのデータフィールドにセットされ、プロ
デューサからコントローラのレスポンスレジスタに対し
てライトトランザクションで書き込まれることによっ
て、ALLOCATE_ATTACHコマンドに対するレスポンスの発
行が行われる。
【0108】プロデューサからALLOATE_ATTACHコマンド
に対するAcceptedのレスポンスを受け取ると、コントロ
ーラはコンシューマに対してATTACHコマンドを送信す
る。このときのコマンドフレーム内のopcode,operand
フィールドの例を、図11(3a)に示す。
【0109】opecodeフィールドには、非同期コネクシ
ョンのコマンドであることを示すコード26(16進)がセ
ットされる。
【0110】subfunctionフィールドには、プロデュー
サへの接続を指示するためのATTACHコマンドのコード02
(16進)がセットされる。
【0111】plug idフィールドには、ALLOCATEコマン
ドの発行時と同じ0番目の非同期プラグを示すコードA0
(16進)がセットされる。
【0112】plug offsetフィールドには、ALLOCATEコ
マンドのレスポンスで通知された、コンシューマのplug
offsetを示すコードがセットされる。
【0113】port idフィールドには、ALLOCATEコマン
ドの発行時と同じiAPRを示すポート番号0がセットされ
る。
【0114】port bitsフィールドには、ALLOCATEコマ
ンドのレスポンスで通知された、コンシューマの送信能
力を示すコード00(2進)がセットされる。
【0115】connected node idフィールドには、プロ
デューサのノードIDである0000(16進)がセットされ
る。
【0116】connected plug offsetフィールドには、
プロデューサから通知されたプロデューサが持つ0番目
のプラグのオフセットアドレスを示すコードがセットさ
れる。
【0117】connected port idフィールドには、oAPR
[1]を示すポート番号1がセットされる。
【0118】connected port bitsフィールドには、プ
ロデューサから通知された送信能力を示すコード00(2
進)がセットされる。
【0119】connected plug idフィールドには、プロ
デューサの0番目の非同期プラグと接続することを示す
コードA0(16進)がセットされる。
【0120】ex(exclusive)フィールドには、他のコン
トローラからのアクセスも許可する事を示すコード0が
セットされる。
【0121】そのほかのフィールドには、ダミーデータ
として全てのビットに1がセットされる。
【0122】このようなデータがセットされたコマンド
フレームが非同期パケットのデータフィールドにセット
され、コントローラからコンシューマのコマンドレジス
タに対してライトトランザクションで書き込まれること
によって、ATTACHコマンドの発行が行われる。
【0123】上述したFCPコマンドフレームを受信し
たコンシューマはコントローラに対して、このコマンド
を受け付けたことを通知するAcceptedのレスポンスフレ
ームを送信する。このときのレスポンスフレーム内のop
code,operandフィールドの例を、図11(3b)に示
す。
【0124】opecodeフィールドには、非同期コネクシ
ョンコマンドに対するレスポンスであることを示すコー
ド26(16進)がセットされる。
【0125】subfunctionフィールドには、ATTACHコマ
ンドのレスポンスであることを示すコード02(16進)が
セットされる。
【0126】statusフィールドには、指定されたポート
が使用可能状態であることを示すACTIVEのコード03(16
進)がセットされる。
【0127】plug id,Plug offset,port id,port bi
tsフィールドは、ATTACHコマンドフレーム内の各フィー
ルド値が、ALLOCATEレスポンスでコントローラに通知し
た値と一致していることを確認して、コマンドフレーム
の各フィールド値と同じ値がセットされる。
【0128】そのほかのフィールドには、コマンドフレ
ームと同一の値がセットされる。
【0129】上記データのFCPレスポンスフレームが
非同期パケットのデータフィールドにセットされ、コン
シューマからコントローラのレスポンスレジスタに対し
てライトトランザクションで書き込まれることによっ
て、ATTACHコマンドに対するレスポンスの発行が行われ
る。
【0130】以上、図9、図10、図11に示すコマン
ドフレーム及び/又はレスポンスフレームを、コントロ
ーラとコンシューマ及び/又はプロデューサ間で送信す
ることによって、コンシューマ,プロデューサそれぞれ
に接続ノードのnode id,plug id,Plug offset,port
idが通知され、コンシューマとプロデューサの間にコネ
クションが設定される。
【0131】コネクションが設定された後は、コンシュ
ーマとプロデューサの間でiAPR,oAPRを使用してハンド
シェイクが行われ、プロデューサがコンシューマのセグ
メントバッファにライトトランザクションでデータを書
き込むことによって、プロデューサの持つフレームデー
タがコンシューマに転送される。フレームの転送が終了
すると、必要に応じてコントローラはプロデューサとコ
ンシューマの間に設定されたコネクションを切断する。
【0132】図12に、コネクションを切断する場合の
コマンドフレーム、レスポンスフレームの流れを示す。
図12中の実線矢印1a,2a,3aはコマンドフレー
ムの流れを、波線矢印1b,2b,3bはレスポンスフ
レームの流れを示す。
【0133】まずコントローラはコンシューマに対し
て、DETACHコマンドを送信する。このときのコマンドフ
レーム内のopcode,operandフィールドの例を、図13
(1a)に示す。
【0134】opecodeフィールドには、非同期コネクシ
ョンのコマンドであることを示すコード26(16進)がセ
ットされる。
【0135】subfunctionフィールドには、コネクショ
ンの切断を指示するためのDETACHコマンドのコード06
(16進)がセットされる。
【0136】plug idフィールドには、ATTACHコマンド
の発行時と同じ0番目の非同期プラグを示すコードA0(1
6進)がセットされる。
【0137】port idフィールドには、ATTACHコマンド
の発行時と同じiAPRを示すポート番号0がセットされ
る。
【0138】ex(exclusive)フィールドには、他のコン
トローラからのアクセスも許可する事を示すコード0が
セットされる。
【0139】そのほかのフィールドには、ダミーデータ
として全てのビットに1がセットされる。
【0140】このようなデータがセットされたコマンド
フレームが非同期パケットのデータフィールドにセット
され、コントローラからコンシューマのコマンドレジス
タに対してライトトランザクションで書き込まれること
によって、DETACHコマンドの発行が行われる。
【0141】上述したFCPコマンドフレームを受信し
たコンシューマはコントローラに対して、このコマンド
を受け付けたことを通知するAcceptedのレスポンスフレ
ームを送信する。このときのレスポンスフレーム内のop
ecode,operandフィールドの例を、図13(1b)に示
す。
【0142】opecodeフィールドには、非同期コネクシ
ョンコマンドに対するレスポンスであることを示すコー
ド26(16進)がセットされる。
【0143】subfunctionフィールドには、DETACHコマ
ンドのレスポンスであることを示すコード06(16進)が
セットされる。
【0144】statusフィールドには、指定されたポート
が停止状態であることを示すINACTIVEのコード04(16
進)がセットされる。
【0145】plug idフィールドには、コマンドフレー
ムで指定されたplug番号がセットされる。
【0146】plug offsetフィールドには、コマンドフ
レームで指定されたplugのオフセットアドレスを示すコ
ードがセットされる。
【0147】port idフィールドには、コマンドフレー
ムで指定されたポート番号がセットされる。
【0148】port bits フィールドには、コマンドフレ
ームで指定されたポートの能力を示すコードがセットさ
れる。
【0149】connected node id,connected plug offs
et,connected port id,connectedport bits,connect
ed plug idフィールドには、コネクションを設定してい
たプロデューサノードのノードID、プラグのオフセッ
トアドレス、ポート番号、ポートの能力、プラグ番号が
セットされる。
【0150】connection countフィールドには、DETACH
コマンドを受け取る前のconnectioncountの値から1を引
いた値である0がセットされる。
【0151】そのほかのフィールドには、コマンドフレ
ームと同一の値がセットされる。
【0152】このようなデータがセットされたFCPレ
スポンスフレームが非同期パケットのデータフィールド
にセットされ、コンシューマからコントローラのレスポ
ンスレジスタに対してライトトランザクションで書き込
まれることによって、DETACHコマンドに対するレスポン
スの発行が行われる。
【0153】コンシューマからDETACHコマンドのレスポ
ンスを受信したコントローラはプロデューサに対して、
DETACH_RELEASEコマンドを送信する。このときのコマン
ドフレーム内のopcode,operandフィールドの例を、図
14(2a)に示す。
【0154】opecodeフィールドには、非同期コネクシ
ョンのコマンドであることを示すコード26(16進)がセ
ットされる。
【0155】subfunctionフィールドには、コネクショ
ンの切断とリソースの解放を指示するためのDETACH_REL
EASEコマンドを示すコード07(16進)がセットされる。
【0156】plug idフィールドには、ALLOATE_ATTACH
コマンドの発行時と同じ0番目の非同期プラグを示すコ
ードA0(16進)がセットされる。
【0157】port idフィールドには、ALLOATE_ATTACH
コマンドの発行時と同じoAPR[1]を示すポート番号1がセ
ットされる。
【0158】ex(exclusive)フィールドには、他のコン
トローラからのアクセスも許可する事を示すコード0が
セットされる。
【0159】そのほかのフィールドには、ダミーデータ
として全てのビットに1がセットされる。
【0160】このようなデータがセットされたコマンド
フレームが非同期パケットのデータフィールドにセット
され、コントローラからプロデューサのコマンドレジス
タに対してライトトランザクションで書き込まれること
によって、DETACH_RELEASEコマンドの発行が行われる。
【0161】上述したFCPコマンドフレームを受信し
たプロデューサはコントローラに対して、このコマンド
を受け付けたことを通知するAcccptedのレスポンスフレ
ームを送信する。このときのレスポンスフレーム内のop
ecode,operandフィールドの例を、図14(2b)に示
す。
【0162】opecodeフィールドには、非同期コネクシ
ョンコマンドに対するレスポンスであることを示すコー
ド26(16進)がセットされる。
【0163】subfunctionフィールドには、DETACH_RELE
ASEコマンドのレスポンスであることを示すコード07(1
6進)がセットされる。
【0164】statusフィールドには、指定されたポート
が使用されていない状態であることを示すFREEのコード
01(16進)がセットされる。
【0165】そのほかのフィールドには、コマンドフレ
ームと同一の値がセットされる。
【0166】上記データのFCPレスポンスフレームが
非同期パケットのデータフィールドにセットされ、プロ
デューサからコントローラのレスポンスレジスタにライ
トランザクションで書き込まれることによって、DETACH
_RELEASEコマンドに対するレスポンスの発行が行われ
る。
【0167】プロデューサからDETACH_RELEASEコマンド
のレスポンスを受信したコントローラはコンシューマに
対して、RELEASEコマンドを送信する。このときのコマ
ンドフレーム内のopcode,operandフィールドの例を、
図15(3a)に示す。
【0168】opecodeフィールドには、非同期コネクシ
ョンのコマンドであることを示すコード26(16進)がセ
ットされる。
【0169】subfunctionフィールドには、リソースの
解放を指示するためのRELEASEコマンド05(16進)がセ
ットされる。
【0170】plug idフィールドには、ALLOCATEコマン
ドの発行時と同じ0番目の非同期プラグを示すコードA0
(16進)がセットされる。
【0171】port idフィールドには、ALLOCATEコマン
ドの発行時と同じiAPRを示すポート番号0がセットされ
る。
【0172】ex(exclusive)フィールドには、他のコン
トローラからのアクセスも許可する事を示すコード0が
セットされる。
【0173】そのほかのフィールドには、ダミーデータ
としてすべてのビットに1がセットされる。
【0174】このようなデータがセットされたコマンド
フレームが非同期パケットのデータフィールドにセット
され、コントローラからコンシューマのコマンドレジス
タに対してライトトランザクションで書き込まれること
によって、RELEASEコマンドの発行が行われる。
【0175】上述したFCPコマンドフレームを受信し
たコンシューマはコントローラに対して、このコマンド
を受け付けたことを通知するAceptedのレスポンスフレ
ームを送信する。このときのレスポンスフレーム内のop
ecode,operandフィールドの例を、図15(3b)に示
す。
【0176】opecodeフィールドには、非同期コネクシ
ョンコマンドに対するレスポンスであることを示すコー
ド26(16進)がセットされる。
【0177】subfunctionフィールドには、RELEASEコマ
ンドのレスポンスであることを示すコード05(16進)が
セットされる。
【0178】statusフィールドには、指定されたポート
が使用されていない状態であることを示すFREEのコ
ード01(16進)がセットされる。
【0179】そのほかのフィールドには、コマンドフレ
ームと同一の値がセットされる。
【0180】このようなデータがセットされたFCPレ
スポンスフレームが非同期パケットのデータフィールド
にセットされ、コンシューマからコントローラのレスポ
ンスレジスタに対してライトトランザクションで書き込
まれることによって、RELEASEコマンドに対するレスポ
ンスの発行が行われる。
【0181】以上、図13、図14、図15に示すコマ
ンドフレーム及び/又はレスポンスフレームを、コント
ローラとコンシューマ及び/又はプロデューサ間で送信
する事によって、コンシューマとプロデューサの間に設
定されたコネクションが解除される。
【0182】次に、コネクションが設定された後のプロ
デューサ,コンシューマ間でのデータ転送手順について
説明する。
【0183】コネクションが設定されると、コンシュー
マはプロデューサが持つoAPRに対して、Lockトランザク
ションを用いてコンシューマ内のセグメントバッファの
サイズを通知し、データ転送の開始を指示する。
【0184】転送開始を指示されたプロデューサは、プ
ロデューサが保持するフレームデータを、コンシューマ
内のセグメントバッファにライトトランザクションによ
り書き込んでいく。フレームデータのサイズがセグメン
トバッファのサイズよりも大きい場合、フレームデータ
はセグメントバッファのサイズのセグメントに分割され
て転送される。
【0185】フレームデータの最終データまたはセグメ
ントの最終データを転送すると、プロデューサはコンシ
ューマの持つiAPRに対して、Lockトランザクションを用
いて、転送したデータのサイズ、次のセグメントデータ
が存在するか否か、フレームの転送が終了したか否か、
を通知する。
【0186】プロデューサからの通知を受けたコンシュ
ーマはセグメントバッファに書き込まれたデータの処理
を開始し、処理が終了するとプロデューサのoAPRに対し
て、最初と同様にセグメントバッファのサイズを通知し
て、次のセグメントデータの送信開始を指示する。この
処理を、フレームデータの転送が終了するまで繰り返
す。
【0187】図16は、コンシューマが有するiAPRのフ
ォーマットを示す図である。プロデューサノードは、セ
グメントデータの送信後、送信終了を通知するためにLo
ckトランザクションを用いてこのレジスタを更新する。
【0188】r(reserved)フィールドは、将来の拡張用
のフィールドである。
【0189】hb(heartbeat)フィールドは、規定時間以
上データ通信が行われない場合にタイムアウトを起こさ
ないように、ハンドシェイクを行うためのフィールドで
ある。
【0190】modeフィールドは、送信したデータの状態
やコネクションの状態を通知するためのフィールドであ
る。表6に、modeフィールドのデータ例を示す。
【0191】
【表6】
【0192】sc(segment count)フィールドは、データ
転送を正しく行うためのチェック用フィールドである。
【0193】countフィールドは、送信したセグメント
データのバイトサイズを通知するためのフィールドであ
る。
【0194】図17は、プロデューサが有するoAPRのフ
ォーマットを示す図である。コンシューマノードは、デ
ータ受信用のセグメントバッファの準備ができると、Lo
ckトランザクションを用いてこのレジスタを更新して、
セグメントデータの送信要求を行う。
【0195】r(reserved)フィールドは、将来の拡張用
のフィールドである。
【0196】hb(heartbeat)フィールドは、規定時間以
上データ通信が行われない場合にタイムアウトを起こさ
ないように、ハンドシェイクを行うためのフィールドで
ある。
【0197】modeフィールドは、送信要求やコネクショ
ンの状態を通知するためのフィールドである。表7に、
modeフィールドのデータ例を示す。
【0198】
【表7】
【0199】sc(segment count)フィールドは、データ
転送を正しく行うためのチェック用フィールドである。
【0200】count Hiフィールドは、セグメントバッフ
ァのバイトサイズを通知するための、18ビットのフィー
ルドである。このフィールド値の下位に6ビットの0を付
加した24ビットの値が、実際のセグメントバッファのサ
イズである。
【0201】runフィールドは、プロデューサからのコ
ンシューマに対するアクセスを制御するためのフィール
ドである。この値が0の場合、プロデューサはコンシュ
ーマの持つiAPRへのLockトランザクション及び、セグメ
ントバッファへのライトトランザクションを行うことは
できない。
【0202】maxLoadフィールドは、コンシューマが1
回のライトトランザクションで受信できる最大のペイロ
ードサイズを示すフィールドである。そのバイトサイズ
は、以下の式によって求められる。
【0203】PayloadSize =2maxLoad+1 図18は、図8に示すシーケンスによって、プロデュー
サとコンシューマの間にコネクションが設定された後の
データ転送の流れを示す図である。この例ではコンシュ
ーマは32kbのセグメントバッファを備え、受信できる最
大のペイロードサイズは1kbとし、プロデューサから50k
bのフレームデータを転送する場合について説明する。i
APR,oAPR共に、初期値として全てのビットが0になって
いる。
【0204】まず、コンシューマがプロデューサのoAPR
をLockトランザクションを用いて更新する。このときの
modeフィールドの値をSENDにセットすることによって、
プロデューサに対する転送開始要求となる。図18に示
す例においては、count Hiフィールドはコンシューマの
セグメントバッファが32kbのサイズを有することを示
し、maxLoadは最大ペイロードサイズが1kbであることを
示している。runが1に更新され、プロデューサはコンシ
ューマに対してトランザクションを行うことが許可され
る。
【0205】oAPRを更新されたプロデューサは、コンシ
ューマのセグメントバッファに対してライトトランザク
ションによってセグメントデータの送信を開始する。プ
ロデューサの保有する50kbのフレームデータを、ライト
トランザクションでコンシューマのセグメントバッファ
の先頭アドレスから順番に1kbずつ書き込みを行ってい
く。ライトパケットを送信する毎に、ライトのオフセッ
トアドレスは1kbずつインクリメントされ、32kbのセグ
メントデータを送信すると、コンシューマのiAPRを更新
してセグメントデータの送信が終了したことを通知す
る。このときのmodeをMOREにセットすることによって、
このセグメントデータに続いて次のセグメントデータが
送信されることを通知する。尚、scにはコンシューマか
ら更新されたoAPRのscと同一の値がセットされる。coun
tには32kbのデータを送信したことを通知するデータが
セットされる。
【0206】iAPRの更新が行われると、コンシューマは
前回更新したoAPRのscの値と、更新されたiAPRのscの値
とを比較し、同一の値であればデータが正しく送信され
たとみなしてセグメントデータの処理を開始する。セグ
メントデータの処理が終わり、セグメントバッファが使
用可能な状態になったら、再びコンシューマはプロデュ
ーサのoAPRを更新する。このとき、scの値を前回とは反
転させることによって、新しいセグメントの送信要求と
なる。その他のフィールドは最初の場合と同様である。
【0207】oAPRを更新されたプロデューサは、コンシ
ューマのセグメントバッファに対して、ライトトランザ
クションにより次のセグメントデータの送信を開始す
る。送信済みの32kb以降のデータから開始し、ライトト
ランザクションによりコンシューマのセグメントバッフ
ァの先頭アドレスから順番に1kbずつ書き込みを行って
いく。ライトパケットを送信する毎に、ライトのオフセ
ットアドレスは1kbずつインクリメントされ、18kb(50k
b−32kb)のセグメントデータを送信すると、コンシュ
ーマのiAPRを更新してセグメントデータの送信が終了し
たことを通知する。このときのmodeをLASTにセットする
ことによって、このフレームの全データの送信が終了し
たことを通知する。尚、scにはコンシューマから更新さ
れたoAPRのscと同一の値がセットされる。countには18k
bのデータを送信したことを通知するデータがセットさ
れる。
【0208】iAPRを更新されたコンシューマは前回と同
様、scの値を調べた後にセグメントデータの処理を行
い、処理が終了するとプロデューサのoAPRを更新する。
【0209】以上のシーケンスによって、プロデューサ
からコンシューマにフレームデータが転送される。プロ
デューサが他にも転送するデータを持っていれば、同様
の手順により転送を繰り返す。
【0210】以上が、非同期コネクションを利用したデ
ータ通信システムの概要である。
【0211】<第1実施形態>以下、本発明に係る第1
実施形態について説明する。
【0212】図19は、本実施形態におけるシステム構
成を示す図であり、図中、1はコントローラノードであ
るテレビジョン(以下、「TV1」と称する)、2はプ
ロデューサノードであるデジタルビデオカメラ(以下、
「DVカメラ2」と称する)、3はコンシューマノード
であるプリンタ、である。これら各機器はIEEE1394シリ
アルバスを用いて相互に接続されており、非同期コネク
ションを用いてDVカメラ2からプリンタ3へ静止画デ
ータを転送するが、その管理はTV1によって行われ
る。DVカメラ2は、静止画データとしてsRGBロー(ra
w)データフォーマットで640×480ピクセルの静止画デー
タを送信可能であり、プリンタ3は、sRGBローデータフ
ォーマット又はExifフォーマットの静止画データを受信
して記録媒体上に印刷出力することができる。
【0213】以下、図19に示すシステム構成におい
て、TV1(コントローラ)がDVカメラ2(プロデュ
ーサ)からプリンタ3(コンシューマ)へのコネクショ
ンを設定し、静止画データを転送して印刷する手順につ
いて説明する。
【0214】図1は、本実施形態の特徴を最も良く表す
図であり、本実施形態におけるデータ転送のシーケンス
を示す図である。
【0215】まずTV1が、上述した図8に示すシーケ
ンスに従って、DVカメラ1とプリンタ3の間にコネク
ションを設定する(ALLOCATE,ALLOCATE_ATTACH,ATTACH
コマンド)。
【0216】次いでTV1はプリンタ3に対して、本実
施形態の特徴であるデータフォーマット通知コマンドを
用いて、DVカメラ1が出力するデータのフォーマット
を通知する(FORMAT)。この通知は即ち、DVカメラ1
からのデータ送信、又はプリンタ3におけるデータ受信
に先立って行われる。
【0217】プリンタ3が該通知を受け入れる、即ち、
プリンタ3において通知されたデータフォーマットによ
る印刷処理が可能であるとの判断がなされ、FORMATコマ
ンドがアクセプトされる(Update oAPR)と、データ転
送が開始される。
【0218】データ転送は、上述した図18に示すシー
ケンスに従って行われ、先に通知されたフォーマットに
よる1フレームのデータが転送される。さらに同じフォ
ーマットで次のフレームのデータが転送され、このデー
タ転送が必要なフレーム分だけ繰り返される。
【0219】全フレーム分のデータ転送が終了すると、
上述した図12に示すシーケンスに従って、DVカメラ
1とプリンタ3の間のコネクションが切断される。
【0220】以下、本実施形態におけるデータフォーマ
ット通知コマンドについて説明する。
【0221】図21は、本実施形態におけるデータフォ
ーマット通知コマンドである「FORMAT」のコマンドフレ
ーム及びレスポンスフレームのフォーマットを示す図で
ある。
【0222】opecodeは、コマンドの種類を示すもので
あり、FORMATのコマンドであることを示すデータがセッ
トされる。
【0223】subfunctionフィールドは、ここにセット
されたコマンドによってコンシューマ(プリンタ3)が
行うべき動作を指定する。
【0224】statusフィールドは、コマンドの実行結果
の状態を表すフィールドであり、レスポンスフレームで
データがセットされ、コントローラ(TV1)に状態が
通知される。
【0225】plug id、plug offset、port id、port bi
ts、connected node id、connectedplug offset、conne
cted port id、connected port bits、connected plug
idフィールドは、非同期コネクションによって設定され
たコネクションの情報をセットする。
【0226】data formatフィールドは、転送する静止
画データの画像フォーマットを指定する。表8に、この
フィールドにセットされる値の意味を示す。0,1,2,3
はそれぞれ、sRGBローデータ,YCbCr4:2:0,Y
CbCr4:2:1,Exif、のデータフォーマットを示
し、その他の値は拡張用に予約済みであるとする。
【0227】
【表8】
【0228】図21に戻り、horizontal pixelsフィー
ルドは、転送する静止画データの水平方向のピクセル数
を指定する。
【0229】vertical pixelsフィールドは、転送する
静止画データの垂直方向のピクセル数を指定する。
【0230】図22は、上述したデータフォーマット通
知コマンドFORMATがコマンドフレームである場合に、op
ecode,operandにセットされる値の例を示す。
【0231】opecodeには、FORMATのコマンドであるこ
とを示すデータがセットされる。
【0232】subfunctionフィールドには、コンシュー
マ(プリンタ3)に対して画像フォーマットの設定を示
すコマンドの値がセットされる。
【0233】statusフィールドは、コマンドフレームの
場合FF(16進)をセットする。
【0234】plug id、plug offset、port id、port bi
ts、connected node id、connectedplug offset、conne
cted port id、connected port bits、connected plug
idフィールドには、非同期コネクションによって設定さ
れたコネクションの情報をセットする。
【0235】data formatフィールドには、転送する静
止画データの画像フォーマットとして、sRGBローデータ
フォーマットを意味する0をセットする。
【0236】horizontal pixelsフィールドには、転送
する静止画データの水平方向のピクセル数として640(1
6進で0280)をセットする。
【0237】vertical pixelsフィールドには、転送す
る静止画データの垂直方向のピクセル数として480(16
進で01E0h)をセットする。
【0238】図23は、上述したデータフォーマット通
知コマンドFORMATがレスポンスフレームである場合に、
opecode,operandにセットされる値の例を示す。
【0239】opecodeには、FORMATのコマンドであるこ
とを示すデータがセットされる。
【0240】subfunctionフィールドには、コンシュー
マ(プリンタ3)が行うべき動作がを示すコマンドの値
がセットされる。
【0241】statusフィールドは、コマンドの実行結果
の状態を表わすデータがセットされ、これによりコント
ローラ(TV1)に状態が通知される。
【0242】plug id、plug offset、port id、port bi
ts、connected node id、connectedplug offset、conne
cted port id、connected port bits、connected plug
idフィールドは、非同期コネクションによって設定され
たコネクションの情報をセットする。
【0243】data formatフィールドには、転送する静
止画データの画像フォーマットとして指定された、sRGB
ローデータを示す値である0をセットする。
【0244】horizontal pixelsフィールドには、転送
する静止画データの水平方向のピクセル数として指定さ
れた640(16進で0180)をセットする。
【0245】vertical pixelsフィールドには、転送す
る静止画データの垂直方向のピクセル数として指定され
た480(16進で01E0)をセットする。
【0246】本実施形態においてプリンタ3がFORMATコ
マンドによって通知されたデータフォーマットを受け入
れたか否かは、図23に示すFORMATコマンドのレスポン
スフレームにおいて、statusフィールドに対してコマン
ド実行可を示すデータがセットされたか、又は実行不可
を示すデータがセットされたかに基づいて、TV1にお
いて判断される。尚、実行不可がセットされていた場合
には、TV1からDVカメラ2に対して、データ転送不
可を示すコマンドを送信してデータ転送を中止すること
により、システムにおけるトラフィックの無駄が省け
る。
【0247】以上説明したように本実施形態によれば、
データフォーマット通知コマンドFORMATを用いることに
よって、コンシューマであるプリンタ3は、プロデュー
サであるDVカメラ2から送信されてくる静止画データ
のフォーマットを知ることができる。
【0248】特に、AV機器において通常扱われるデー
タフォーマットに対応することができるため、コントロ
ーラであるTV1において複雑な制御を行うことなく、
プリンタ3において、受信した静止画データをそのフォ
ーマットに応じた適切な印刷を行うことが可能となる。
【0249】<第2実施形態>以下、本発明に係る第2
実施形態について説明する。
【0250】図20は、第2実施形態におけるシステム
構成を示す図であり、図中、4はコントローラ/プロデ
ューサノードであるデジタルスチルカメラ、5はコンシ
ューマノードであるプリンタである。これらの機器はIE
EE1394シリアルバスを用いて相互に接続されており、非
同期コネクションを用いてデジタルスチルカメラ4から
プリンタ5へ静止画データを転送するが、その管理はデ
ジタルスチルカメラ4によって行われる。デジタルカメ
ラ4は、静止画データとしてsRGBローデータフォーマッ
トで640×480ピクセルの静止画データ、及びExifフォー
マットの静止画データを送信可能であり、プリンタ3
は、sRGBローデータフォーマット又はExifフォーマット
の静止画データを受信して記録媒体上に印刷出力するこ
とができる。
【0251】以下、図20に示すシステム構成におい
て、デジタルスチルカメラ4(コントローラ/プデュー
サ)からプリンタ3(コンシューマ)へのコネクション
を設定し、まずExifフォーマットで2フレームの静止画
データを転送し、次いでsRGBローデータフォーマットで
1フレームの静止画データを転送して、印刷する手順に
ついて説明する。
【0252】図24は、第2実施形態におけるデータ転
送のシーケンスを示す図である。
【0253】まずデジタルスチルカメラ4は、自身とプ
リンタ3の間にコネクションを設定する。この設定は上
述した図8に示すシーケンスに従って行われるが、コン
トローラとプロデューサが同一ノードであるため、ALLO
CATE_ATTACHコマンドは不要となる。
【0254】次いで、データフォーマット通知コマンド
FORMATを用いて、デジタルスチルカメラ4はプリンタ3
に対して自身が出力するデータのフォーマットとして、
Exifフォーマットを通知する。この場合のFORMATのコマ
ンドフレーム及びレスポンスフレームの詳細は上述した
第1実施形態に示した図22及び図23と同様であり、
data formatフィールドに対して、Exifフォーマットを
意味する値である3をセットする。プリンタ3がこれを受
け入れると、即ち、デジタルスチルカメラ4がプリンタ
3からExifフォーマットによる印刷処理が可能である旨
のレスポンスを受けると、データ転送が開始される。
【0255】データ転送は、上述した図18に示すシー
ケンスに従って行われ、先に通知されたExifフォーマッ
トによる1フレームのデータが転送される。さらに同じ
フォーマットで次のフレームのデータが転送される。
【0256】次に、デジタルスチルカメラ4は、3フレ
ーム目の画像データの転送を開始するに先立って、デー
タフォーマット通知コマンドFORMATを用いて、プリンタ
3に対して自身が出力するデータのフォーマットとし
て、sRGBローデータフォーマットを通知する。この場合
のコマンドフレーム及びレスポンスフレームの詳細は上
述した図22及び図23と同様であり、data formatフ
ィールドに対して、sRGBローデータフォーマットを意味
する値である0をセットする。プリンタ3がこれを受け
入れると、即ち、デジタルスチルカメラ4がプリンタ3
からsRGBローデータフォーマットによる印刷処理が可能
である旨のレスポンスを受けると、データ転送が開始さ
れる。
【0257】データ転送は、上述した図18に示すシー
ケンスに従って行われ、先に通知されたsRGBローデータ
フォーマットによる1フレームのデータが転送される。
さらに同じフォーマットで次のフレームのデータが転送
される。
【0258】データ転送が終了すると、デジタルスチル
カメラ4とプリンタ3の間のコネクションが切断され
る。このコネクション切断は、上述した図12に示すシ
ーケンスに従って行われるが、コントローラとプロデュ
ーサが同一ノードであるため、DETACH_RELEASEコマンド
は不要となる。
【0259】以上説明したように第2実施形態によれ
ば、複数のデータフォーマットによる静止画データを転
送する場合にも、FORMATコマンドを用いることによって
各フォーマットに応じた適切な印刷が可能となる。
【0260】また、コントローラとプロデューサが同一
ノード(デジタルスチルカメラ4)である場合には、更
に簡単な制御によって、第1実施形態と同様にコンシュ
ーマであるプリンタ3へのデータフォーマット通知を伴
うデータ転送が可能となる。
【0261】
【他の実施形態】なお、本発明は、複数の機器(例えば
ホストコンピュータ、インタフェイス機器、リーダ、プ
リンタなど)から構成されるシステムに適用しても、一
つの機器からなる装置(例えば、複写機、ファクシミリ
装置など)に適用してもよい。
【0262】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体(または記録媒体)を、システムあるい
は装置に供給し、そのシステムあるいは装置のコンピュ
ータ(またはCPUやMPU)が記憶媒体に格納された
プログラムコードを読み出し実行することによっても、
達成されることは言うまでもない。この場合、記憶媒体
から読み出されたプログラムコード自体が前述した実施
形態の機能を実現することになり、そのプログラムコー
ドを記憶した記憶媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実
行することにより、前述した実施形態の機能が実現され
るだけでなく、そのプログラムコードの指示に基づき、
コンピュータ上で稼働しているオペレーティングシステ
ム(OS)などが実際の処理の一部または全部を行い、
その処理によって前述した実施形態の機能が実現される
場合も含まれることは言うまでもない。
【0263】さらに、記憶媒体から読み出されたプログ
ラムコードが、コンピュータに挿入された機能拡張カー
ドやコンピュータに接続された機能拡張ユニットに備わ
るメモリに書き込まれた後、そのプログラムコードの指
示に基づき、その機能拡張カードや機能拡張ユニットに
備わるCPUなどが実際の処理の一部または全部を行
い、その処理によって前述した実施形態の機能が実現さ
れる場合も含まれることは言うまでもない。
【0264】
【発明の効果】以上説明したように本発明によれば、非
同期コネクションを用いてプロデューサからコンシュー
マへのデータ転送を行う際に、簡便な制御によって転送
データのフォーマットを通知しながら効率よくデータ転
送することが可能となる。
【図面の簡単な説明】
【図1】本実施形態におけるデータ通信のシーケンスを
示す図である。
【図2】非同期コネクションを用いた一般的なシステム
構成を示す図である。
【図3】非同期プラグを示す図である。
【図4】非同期プラグを示す図である。
【図5】非同期トランザクションに用いられるパケット
フォーマットを示す図である。
【図6】FCPコマンドフレーム、レスポンスフレーム
のフォーマットを示す図である。
【図7】非同期コネクションのコマンド、レスポンスの
フォーマットを示す図である。
【図8】コネクションを設定する手順を示す図である。
【図9】ALLOCATEのコマンド、レスポンスのopecode,o
perandの例を示す図である。
【図10】ALLOCATE_ATTACHのコマンド、レスポンスのo
pecode,operandの例を示す図である。
【図11】ATTACHのコマンド、レスポンスのopecode,o
perandの例を示す図である。
【図12】コネクションを切断する手順を示す図であ
る。
【図13】DETACHのコマンド、レスポンスのopecode,o
perandの例を示す図である。
【図14】DETACH_RELEASEのコマンド、レスポンスのop
ecode,operandの例を示す図である。
【図15】RELEASEのコマンド、レスポンスのopecode,
operandの例を示す図である。
【図16】iAPRのフォーマットを示す図である。
【図17】oAPRのフォーマットを示す図である。
【図18】データ転送の流れを示す図である。
【図19】本実施形態におけるシステム構成を示す図で
ある。
【図20】第2実施形態におけるシステム構成を示す図
である。
【図21】FORMATのコマンド、レスポンスのフォーマッ
トを示す図である。
【図22】FORMATコマンドのopecode,operandの例を示
す図である。
【図23】RORMATレスポンスのopecode,operandの例を
示す図である。
【図24】第2実施形態におけるデータ通信のシーケン
スを示す図である。
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B089 GA04 GB01 JA32 JB03 KA05 5K033 AA01 BA04 CB01 CB04 DA01 DA11 DB16 5K034 AA01 CC02 DD02 DD03 FF15 FF18 GG06 HH01 HH02 HH06 HH11 HH12 HH63 LL01 MM02 MM24 MM32 MM37 MM39 NN26 PP03

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 データ供給デバイスとデータ出力デバイ
    ス、及び管理デバイスを非同期コネクションを用いて互
    いに接続したデータ通信システムであって、 前記データ供給デバイスから前記データ出力デバイスへ
    画像データをフレーム単位で送信する際に、 前記管理デバイスが、前記データ供給デバイスと前記デ
    ータ出力デバイスとのコネクションを設定し、 前記管理デバイスが前記データ出力デバイスに対して、
    前記データ供給デバイスからの送信データのフォーマッ
    トを通知し、 前記データ出力デバイスは、前記通知されたフォーマッ
    トによる画像データの処理が可能であれば、該画像デー
    タを受信し、 前記データ供給デバイスは、前記通知されたフォーマッ
    トによる1フレームの送信後、該フォーマットによる次
    のフレームの送信を直ちに開始することを特徴とするデ
    ータ通信システム。
  2. 【請求項2】 前記フォーマットの通知は、所定の通知
    コマンドによって行われることを特徴とする請求項1記
    載のデータ通信システム。
  3. 【請求項3】 前記データ出力デバイスは、前記通知さ
    れたフォーマットによる画像データの処理が可能であれ
    ば、前記通知コマンドに対するレスポンスによって該画
    像データの送信を受諾することを特徴とする請求項2記
    載のデータ通信システム。
  4. 【請求項4】 前記フォーマットの通知は、前記データ
    供給デバイスにおいて前記画像データの最初の1フレー
    ムを前記データ出力デバイスへ送信するのに先立って、
    行われることを特徴とする請求項1記載のデータ通信シ
    ステム。
  5. 【請求項5】 前記フォーマットの通知は、前記データ
    出力デバイスにおいて1フレームの画像データの最初の
    セグメントを前記データ供給デバイスから受信するのに
    先立って、行われることを特徴とする請求項1記載のデ
    ータ通信システム。
  6. 【請求項6】 前記データ供給デバイスから前記データ
    出力デバイスへの画像データの送信は、前記通知された
    フォーマットによる1フレームの送信後、次フレームの
    フォーマットが変わる場合に、前記管理デバイスが該デ
    ータ出力デバイスに対して、該データ供給デバイスから
    の送信データのフォーマットを通知することを特徴とす
    る請求項1乃至5のいずれかに記載のデータ通信システ
    ム。
  7. 【請求項7】 データ供給デバイス及びデータ出力デバ
    イスと非同期コネクションを用いて接続されたデータ通
    信制御装置であって、 前記データ供給デバイスから前記データ出力デバイスへ
    画像データをフレーム単位で送信する際に、 前記データ供給デバイスと前記データ出力デバイスとの
    コネクションを設定し、 前記データ出力デバイスに対して、前記データ供給デバ
    イスからの送信データのフォーマットを通知し、 前記データ出力デバイスが、前記通知されたフォーマッ
    トによる画像データの処理が可能であれば、該画像デー
    タの送信を開始し、 前記データ供給デバイスから前記データ出力デバイスへ
    の、前記通知されたフォーマットによる1フレームの送
    信後、該フォーマットによる次のフレームの送信を直ち
    に開始することを特徴とするデータ通信制御装置。
  8. 【請求項8】 データ供給デバイスとデータ出力デバイ
    ス、及び管理デバイスを非同期コネクションを用いて互
    いに接続したデータ通信システムの制御方法であって、
    前記データ供給デバイスから前記データ出力デバイスへ
    画像データをフレーム単位で送信する際に、 前記管理デバイスにおいて、 前記データ供給デバイスと前記データ出力デバイスとの
    コネクションを設定し、 前記データ出力デバイスに対して、前記データ供給デバ
    イスからの送信データのフォーマットを通知し、 前記データ出力デバイスにおいて、 前記通知されたフォーマットによる画像データの処理が
    可能であれば、該画像データを受信し、 前記データ供給デバイスにおいて、 前記データ出力デバイスへの前記通知されたフォーマッ
    トによる1フレームの送信後、該フォーマットによる次
    のフレームの送信を直ちに開始することを特徴とするデ
    ータ通信システムの制御方法。
  9. 【請求項9】 データ供給デバイスとデータ出力デバイ
    ス、及び管理デバイスを非同期コネクションを用いて互
    いに接続したデータ通信システムの制御プログラムを記
    録した記録媒体であって、該制御プログラムは少なくと
    も、 前記データ供給デバイスから前記データ出力デバイスへ
    フレーム単位で画像データを送信する際に、 前記管理デバイスにおいて、 前記データ供給デバイスと前記データ出力デバイスとの
    コネクションを設定するコ−ドと、 前記データ出力デバイスに対して、前記データ供給デバ
    イスからの送信データのフォーマットを通知するコード
    と、 前記データ出力デバイスにおいて、 前記通知されたフォーマットによる画像データの処理が
    可能であれば、該画像データを受信するコードと、前記
    データ供給デバイスにおいて、 前記データ出力デバイスへの前記通知されたフォーマッ
    トによる1フレームの送信後、該フォーマットによる次
    のフレームの送信を直ちに開始するコードと、を有する
    ことを特徴とする記録媒体。
  10. 【請求項10】 データ供給デバイスとデータ出力デバ
    イス、及び管理デバイスを非同期コネクションを用いて
    互いに接続したデータ通信システムの制御プログラムで
    あって、 前記データ供給デバイスから前記データ出力デバイスへ
    画像データをフレーム単位で送信する際に、 前記管理デバイスにおいて、 前記データ供給デバイスと前記データ出力デバイスとの
    コネクションを設定するコ−ドと、 前記データ出力デバイスに対して、前記データ供給デバ
    イスからの送信データのフォーマットを通知するコード
    と、 前記データ出力デバイスにおいて、 前記通知されたフォーマットによる画像データの処理が
    可能であれば、該画像データを受信するコードと、前記
    データ供給デバイスにおいて、 前記データ出力デバイスへの前記通知されたフォーマッ
    トによる1フレームの送信後、該フォーマットによる次
    のフレームの送信を直ちに開始するコードと、を有する
    ことを特徴とする制御プログラム。
JP2000225893A 2000-07-26 2000-07-26 データ通信システム及びその制御方法、及びデータ通信制御装置 Withdrawn JP2002044097A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000225893A JP2002044097A (ja) 2000-07-26 2000-07-26 データ通信システム及びその制御方法、及びデータ通信制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000225893A JP2002044097A (ja) 2000-07-26 2000-07-26 データ通信システム及びその制御方法、及びデータ通信制御装置

Publications (1)

Publication Number Publication Date
JP2002044097A true JP2002044097A (ja) 2002-02-08

Family

ID=18719603

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000225893A Withdrawn JP2002044097A (ja) 2000-07-26 2000-07-26 データ通信システム及びその制御方法、及びデータ通信制御装置

Country Status (1)

Country Link
JP (1) JP2002044097A (ja)

Similar Documents

Publication Publication Date Title
KR100294960B1 (ko) 데이타 통신 시스템, 데이타 통신 방법, 및 데이타 통신 장치
US7430660B2 (en) Data transmission apparatus, system and method, and image processing apparatus
JP4292685B2 (ja) データ転送システム、データ送受信システム、データ送受信方法、フォーマット変換装置、フォーマット変換方法およびフォーマット変換プログラムを記録したコンピュータ読み取り可能な記録媒体
US6603737B1 (en) Data transmission apparatus, system and method, and image processing apparatus
EP0996069A2 (en) Method of transferring image data using a IEEE 1394 bus
US6944704B2 (en) Method and apparatus for utilizing extended AV/C command frames including status inquiry, notify inquiry and control inquiry command types
EP0939529B1 (en) Destination node, data communication system, method of controlling a destination node and method of operating a data communication system
JP2000049834A (ja) デ―タ通信システム、装置及び方法並びに記憶媒体
US6678769B1 (en) Control apparatus and method for managing a logical connection between source and destination nodes
EP1033658B1 (en) Communication apparatus with means for allocating alternate designation information to each function unit, and communication system with two such communication apparatus
WO2000021248A1 (fr) Procede de transfert de donnees et systeme de transfert de donnees
KR100491675B1 (ko) 데이터 전송방법, 데이터 전송시스템, 데이터전송제어장치 및 프로그램 기록매체
JP2002044097A (ja) データ通信システム及びその制御方法、及びデータ通信制御装置
WO2005062618A1 (ja) 撮像装置
JP3814407B2 (ja) データ通信システム、データ通信装置及びデータ通信方法
JP3977051B2 (ja) 通信装置及び制御方法
JP3943698B2 (ja) データ通信システム及びデータ通信装置
JPH11313091A (ja) データ通信システム、装置及び方法並びに記憶媒体
JP3943697B2 (ja) データ通信システム、データ通信装置及びデータ通信方法
JPH11261608A (ja) データ通信システム、データ通信装置、データ通信方法及び記憶媒体
JP4821838B2 (ja) フォーマット変換装置、フォーマット変換方法、フォーマット変換プログラム、フォーマット変換システム
JP4065466B2 (ja) データ通信システム
JPH11308255A (ja) データ通信システム、方法及び装置並びに記憶媒体
JPH11261621A (ja) データ通信システム、データ通信装置、データ通信方法及び記憶媒体
JP2000299710A (ja) データ通信システム、データ通信装置、ファイル管理方法及び記憶媒体

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071002