JP2004192559A - 画像処理システム - Google Patents
画像処理システム Download PDFInfo
- Publication number
- JP2004192559A JP2004192559A JP2002362803A JP2002362803A JP2004192559A JP 2004192559 A JP2004192559 A JP 2004192559A JP 2002362803 A JP2002362803 A JP 2002362803A JP 2002362803 A JP2002362803 A JP 2002362803A JP 2004192559 A JP2004192559 A JP 2004192559A
- Authority
- JP
- Japan
- Prior art keywords
- node
- data
- image processing
- bus
- transfer
- 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.)
- Pending
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
【課題】画像処理データ出力装置からの専用又は非専用データを処理する。
【解決手段】プリンタ103においては、STB102からI/F部105を介して受信された画像処理用データがプリンタ103で画像処理できるか否かを、データ判断部106により判断し、画像処理できると判断したときは、当該画像処理用データを印刷処理部108に転送し、他方、画像処理が実行できないと判断したときは、当該画像処理用データを転送処理部109に転送し、転送処理部109によりI/F部110を介してPC104に送信する。PC104においては、受信した画像処理用データを処理し、プリンタ103のI/F部110に送信する。そして、PC104から画像処理データを受信すると、I/F部110はその画像処理データを印刷処理部108に転送する。
【選択図】 図1
【解決手段】プリンタ103においては、STB102からI/F部105を介して受信された画像処理用データがプリンタ103で画像処理できるか否かを、データ判断部106により判断し、画像処理できると判断したときは、当該画像処理用データを印刷処理部108に転送し、他方、画像処理が実行できないと判断したときは、当該画像処理用データを転送処理部109に転送し、転送処理部109によりI/F部110を介してPC104に送信する。PC104においては、受信した画像処理用データを処理し、プリンタ103のI/F部110に送信する。そして、PC104から画像処理データを受信すると、I/F部110はその画像処理データを印刷処理部108に転送する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、データ放送等の情報コンテンツを画像処理する画像処理システムに関する。
【0002】
【従来の技術】
従来から、放送等がアナログであれデジタルであれ、TVモニタに表示される映像を見たり、映像に同期した音を音響装置により聞いたりして、情報を得たり、そのものを楽しんだりすることが、主な放送等の利用用途であった。データ放送においては、TVモニタより膨大な情報をリアルタイムで得ていた。
【0003】
他方で、近年画面による情報要求のみならず、その内容を補完的に紙に印刷して保存するなり利用するための要求、例えば放送等がTV画面に表示されている内容と同等データを外部へ出力して外部印刷装置で印刷するような要求が高まってきたことから、そのような要求を満たすため、セットトップボックス(STB; set-top box)接続の印刷装置等も提案されている。
【0004】
【発明が解決しようとする課題】
しかしながら、印刷装置の解釈できる専用の表示コンテンツ内容であれば印刷可能であるのに対して、専用外の表示内容の印刷データであれば内容を解釈できず印刷を実行できないため、データを切り捨てて無視する処理が行われていた。
【0005】
そこで、本発明の目的は、このような問題点を解決し、画像処理データ出力装置からの専用又は非専用データを処理できる画像処理システムを提供することにある。
【0006】
【課題を解決するための手段】
請求項1の発明は、画像処理データ出力装置と、該画像処理データ出力装置に接続したプリンタと、前記画像処理データ出力装置および前記プリンタに接続したコンピュータとを有する画像処理システムにおいて、
前記プリンタは、
画像処理を行う画像処理手段と、
前記画像処理データ出力装置から第1インタフェースを介して受信する受信手段と、
該受信手段により受信された画像処理用データが本プリンタにおいて画像処理できるか否かを判断する判断手段と、
該判断手段により画像処理できると判断された場合に、当該画像処理用データを前記画像処理手段に転送し、他方、画像処理が実行できないと判断された場合に、当該画像処理用データを第2インタフェースを介して前記コンピュータに送信する切換手段と、
前記コンピュータにより送信された画像処理用データを前記第2インタフェースを介して受信し前記画像処理手段に転送する転送手段と
を備え、
前記コンピュータは、
前記切換手段により送信された画像処理用データを処理するデータ処理手段と、
該データ処理手段による処理により得られた画像処理用データを前記プリンタの前記第2インタフェースに送信する送信手段と
を備えたことを特徴とする。
【0007】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
【0008】
<第1の実施の形態>
図1は本発明の第1の実施の形態を示す。これは、プリンタ103をSTB102とPC(パーソナルコンピュータ)104にそれぞれ接続した画像処理システムの例である。
【0009】
STB102は、チューナ、電話回線、ネットワーク等を持ち、映像データを取り込み、内部処理後に各種信号を出力し、印刷用データを出力するものである。なお、STB102から出力される印刷データは、セキュリティの無いフリーなデータファイルのみに限るものとする。STB102からプリンタ103への出力データとしては、データ放送の印刷コンテンツの出力データ(一例としてBML/Pデータ)と、それ以外の出力データとがある。
【0010】
プリンタは103は、I/F部105と、データ判断部106と、BML処理部107と、I/F部110と、転送処理部109と、印刷処理部108とを有する。I/F部105はSTB102とIEEE1394インタフェース接続してあり、IEEE1394インタフェース処理を行うものである。データ判断部106はI/F部105からのデータ内容がBML印刷コンテンツか否かを判断し、BML印刷コンテンツと判断した場合は当該データをBML処理部107に送り、他方、BML印刷コンテンツでないと判断した場合は当該データを転送処理部109に送るものである。BML処理部107はBML印刷コンテンツデータを印刷データに変換する各種処理を行なうものである。転送処理部109はデータ判断部106からのデータをそのままI/F部110に渡すものである。印刷処理部108はBML処理部107による処理後の印刷データに基づき印刷処理を行うものである。I/F部110はPC104とUSBインタフェース接続してあり、データ判断部106からのデータをPC104に渡し、PC104からのデータを印刷処理部108へ渡すものである。
【0011】
PC104は、PC内部で印刷データに変換する処理(すなわちPC印刷処理と同様の処理)をするように転送処理部109により指示があると、印刷データ変換処理を起動し、印刷データができ上がると、プリンタ103のI/F部110に送るものである。
TV101は、STB102の例えばコンポジット映像端子に接続してある。
【0012】
<データ放送コンテンツについての説明>
デジタル放送のデータ放送についての標準化が進みつつある。国内では日本ARIBのデータ放送符号化仕様としてBML(Broadcast Markup Language)の策定が進められている。BMLとは、XMLベースのHTML(xHTML)を核にスタイルシート、Java(登録商標)Scriptなどの放送用のコンテンツ記述言語を定義したものである。
【0013】
次に、STB102における処理を図23を参照して説明する。処理後、ファイルとして記憶される。コンテンツデータはMPEG−2方式により他のメディアと共に多重化され、さらに単一搬送波でPSKデジタル変調後、アンテナから送信される。
【0014】
2301では、受信した電波RFをチューナで選局・復調し、多重化ストリームであるMPEG−2 TSパケットを得る。
【0015】
2302では、多重化ストリームからPID-filter/PSI-analysisに基づき、データ放送コンテンツを他のメディアから分離する。
【0016】
2303では、前分離されたデータ放送コンテンツだけを含むTSパケットをDSM−CC方式で定義される1周期分のデータ列として一時保存する。
【0017】
2304では、Carouselバッファで一時保存したデータ列(複数のDII+DDB)から、複数のフアイルを得て、STB102内のフラッシュメモリ等の記憶装置に蓄える。すなわち、送出側が、一体(マルチパート)化した「モジュール」を再び、▲1▼静止画JPEG、▲2▼図形png、▲3▼文字テキスト、▲4▼制御コードテキストを分離する。BMLブラウザソフトウェアは前記フアイルを順次読み出し、画面表示やリモコンとのデータの受け渡し印字の起動を行う。
【0018】
次に、デジタルデータ放送におけるSTB102内部でのBMLコンテンツ記憶構成を説明する。なお、ここでは、「モジュール」を複数の独立したファイルを含む「フォルダ」に近い意味で用いる。図24は一般の表示系放送内容の一例を示す。放送される番組を「イベント」と呼ぶ。イベント(例ではAfternoonTea)は複数のモジュールから構成される。
【0019】
モジュール名は16進文字列4桁に制限される。特別の番号である0x0000で区別されるモジュールは、番組群のうち最初に起動される。たいていは全体のメインメニューのページ(複数のファイルを含む)を収容してある。モジュール番号0x0000の中にstartup.bmlと言う名前のファイルが必ず存在する。表示ブラウザ(ソフト)はこのファイルを最初に処理する。もちろん、他のモジュールに(startup.bmlが)存在していても問題はない。1モジュールの最大は1MBで、イベント全体に対する最大サイズの規定はない。1イベントあたりの最大モジュール数は256個である。
【0020】
チューナに実装するRAMのサイズは最小2MBと規定されているので、放送するコンテンツのサイズもそれに合わせる必要がある。
【0021】
次に、印刷用コンテンツについて説明する。図25は印字用モジュール(例では9999番)だけを書き出した例である。このモジュールは、1個の「プリント・レイアウト情報ファイル」(例ではprint.bml)と複数の付属する「画像ファイル」からなる。なお、印字用モジュールは全体で最大300KBを想定している。なお、このモジュールにはxxxx.bmlが一個のみ存在するものとする。印刷用出力データにはこのデータが出力される。
【0022】
<マルチパート化>
次に複数のファイルが1つにまとめられた状態(マルチパート化)について説明する。図26にその記述例を示す。この1つにまとめられたファイルのことをモジュールと呼ぶ。マルチパート化は電子メールなどでもよく利用される技術で、RFC1521(MIME)で規定されている。主な構成要素とその配列を説明する。それぞれのファイルを区切るための文字(バウンダリー(boundary))を定義する。次にモジュール全体の長さが示される。さらにBoundaryに続き、resourceListという情報が付加される。(詳細はB24の2.0以前版では第2編、第9章に記載されている)resouceListには、モジュールに含まれる全てのファイルの情報(名前・サイズ等)が含まれる。そのあと、バウンダリー、ファイルの長さ、ファイルの名前など、さらに実ファイルデータが繰り返される。
【0023】
以上、STB102内で処理されるデジタルデータ放送/表示および印刷コンテンツについて簡単に説明した。
【0024】
STB102とプリンタ103との接続にはIEEE1394インタフェースを使用し、ここではPCの介在がないためSTB2プロトコルの使用はできず、AVCプロトコルまたはDPP(ダイレクトプリントプロトコル)のうち、本実施の形態ではDPPを採用した。
【0025】
<IEEE1394の技術の概要>
DPPを説明する前に、IEEE1394インタフェースの概要を説明する。まず、IEEE1394−1995規格の技術について簡単に説明する。なお、IEEE1394−1995規格(以下「IEEE1394規格」という。)についての詳細は、1996年8月30日にIEEE(The Institute of Electrical and Electronics Engineers, Inc.)から出版された「IEEE Standard for aHigh Performance Serial Bus」に記述されている。
【0026】
(1)概要
図2はIEEE1394規格に準拠したデジタルインタフェース(以下「1394インタフェース」という。)を具備するノードにより構成される通信システム(以下「1394ネットワーク」という。)の一例を示す。1394ネットワークはシリアルデータの通信可能なバス型ネットワークを構成するものである。
【0027】
図2において、各ノードA〜Fは、IEEE1394規格に準拠した通信ケーブルを介して接続されている。これらのノードA〜Hは、例えば、PC、デジタルVTR(Video Tape Recorder)、DVD(Digital Video Disc)プレーヤ、デジタルカメラ、ハードディスク、モニタ等の電子機器である。
【0028】
1394ネットワークの接続方式は、デイジーチェーン方式とノード分岐方式とに対応しており、自由度の高い接続を可能としている。また、1394ネットワークでは、例えば、既存の機器を削除したり、新たな機器を追加したり、既存の機器の電源をON/OFFしたりした場合に、自動的にバスリセットを行う。このバスリセットを行うことにより、1394ネットワークは新たな接続構成の認識と各機器に対するID情報の割り当てとを自動的に行うことができる。この機能によって、1394ネットワークはネットワークの接続構成を常時認識することができる。
【0029】
また、1394ネットワークは他の機器から転送されたデータを中継する機能を有している。この機能により、全ての機器がバスの動作状況を把握することができる。また、1394ネットワークは、Plug&Playと呼ばれる機能を有している。この機能により、全ての機器の電源をOFFにすることなく、接続するだけで自動に接続機器を認識することができる。さらに、1394ネットワークは100/200/400Mbpsのデータ転送速度に対応している。上位のデータ転送速度を持つ機器は、下位のデータ転送速度をサポートすることができるため、異なるデータ転送速度に対応する機器同士を接続することができる。
【0030】
1394ネットワークは、2つの異なるデータ転送方式(すなわち、アシンクロナス(Asynchronous)転送モードとアイソクロナス(Isochronous)転送モード)に対応している。アシンクロナス転送モードは、必要に応じて非同期に転送することが要求されるデータ(すなわち、コントロール信号やファイルデータ等)を転送する際に有効である。また、アイソクロナス転送モードは、所定量のデータを一定のデータレートで連続的に転送することが要求されるデータ(すなわち、ビデオデータやオーディオデータ等)を転送する際に有効である。アシンクロナス転送モードとアイソクロナス転送モードとは、各通信サイクル(通常1サイクルは125μS)内において混在させることが可能である。各転送モードは、サイクルの開始を示すサイクルスタートパケット(以下「CSP」という。)の転送後に実行される。
【0031】
なお、各通信サイクル期間において、アイソクロナス転送モードは、アシンクロナス転送モードよりも優先順位が高く設定されている。また、アイソクロナス転送モードの転送帯域は、各通信サイクル内で保証されている。
【0032】
(2)アーキテクチャ
図3を参照して1394インタフェースの構成要素を説明する。1394インタフェースは、機能的に複数のレイヤ(階層)から構成されている。図3において、1394インタフェースは、IEEE1394規格に準拠した通信ケーブル301を介して他のノードの1394インタフェースと接続される。また、1394インタフェースは、1つ以上の通信ポート302を有し、通信ポート302は、ハードウェア部に含まれるフィジカルレイヤ303と接続される。
【0033】
図3において、ハードウェア部はフィジカルレイヤ303とリンクレイヤ304とから構成されている。フィジカルレイヤ303は、他のノードとの物理的、電気的なインタフェース、バスリセットの検出とそれに伴う処理、入出力信号の符号化/復号化、バス使用権の調停等を行う。リンクレイヤ304は、通信パケットの生成と送受信、サイクルタイマの制御等を行なう。
【0034】
図3のファームウェア部はトランザクションレイヤ305とシリアルバスマネージメント306とを含んでいる。トランザクションレイヤ305は、アシンクロナス転送モードを管理し、各種のトランザクション(リード、ライト、ロック)を提供する。シリアルバスマネージメント306は、後述するCSRアーキテクチャに基づいて、自ノードの制御、自ノードの接続状態の管理、自ノードのID情報の管理、シリアルバスネットワークの資源管理を行う機能を提供する。
【0035】
以上、ハードウェア部とファームウェア部とが実質的に1394インタフェースを構成するものであり、それらの基本構成は、IEEE1394規格により規定されている。
【0036】
図3のソフトウェア部に含まれるアプリケーションレイヤ307は、使用するアプリケーションソフトによって異なり、ネットワーク上でどのようにデータを通信するのかを制御する。例えば、デジタルVTRの動画像データの場合は、AV/Cプロトコルなどの通信プロトコルによって規定されている。
【0037】
(2-1)リンクレイヤ304
図4はリンクレイヤ304の提供可能なサービスを示す図である。図4において、リンクレイヤ304は、次の4つのサービスを提供する。すなわち、▲1▼応答ノードに対して所定のパケットの転送を要求するリンク要求(LK_DATA.request)、▲2▼応答ノードに所定のパケットの受信を通知するリンク通知(LK_DATA.indication)、▲3▼応答ノードからのアクノリッジを受信したことを示すリンク応答(LK_DATA.response)、▲4▼要求ノードからのアクノリッジを確認するリンク確認(LK_DATA.confirmation)である。なお、リンク応答(LK_DATA.response)は、ブロードキャスト通信、アイソクロナスパケットの転送の場合には存在しない。
【0038】
リンクレイヤ304は、上述のサービスに基づいて、上述の2種類の転送方式、すなわち、アシンクロナス転送モード、アイソクロナス転送モードを実現する。
【0039】
(2-2)トランザクションレイヤ305
図5はトランザクションレイヤ305の提供可能なサービスを示す図である。図5において、トランザクションレイヤ305は、次の4つのサービスを提供する。すなわち、▲1▼応答ノードに対して所定のトランザクションを要求するトランザクション要求(TR_DATA.request)、▲2▼応答ノードに所定のトランザクション要求の受信を通知するトランザクション通知(TR_DATA.indication)、▲3▼応答ノードからの状態情報(ライト、ロックの場合は、データを含む)を受信したことを示すトランザクション応答(TR_DATA.response)、▲4▼要求ノードからの状態情報を確認するトランザクション確認(TR_DATA.confirmation)である。
【0040】
また、トランザクションレイヤ305は、上述のサービスに基づいてアシンクロナス転送を管理し、次の3種類のトランザクション、すなわち、▲1▼リードトランザクション、▲2▼ライトトランザクション、▲3▼ロックトランザクションを実現する。
【0041】
▲1▼リードトランザクションは、要求ノードが応答ノードの特定アドレスに格納された情報を読み取る。
【0042】
▲2▼ライトトランザクションは、要求ノードが応答ノードの特定アドレスに所定の情報を書き込む。
【0043】
▲3▼ロックトランザクションは、要求ノードが応答ノードに対して参照データと更新データとを転送し、応答ノードの特定アドレスの情報とその参照データとを比較し、その比較結果に応じて特定アドレスの情報を更新データに更新する。
【0044】
(2-3)シリアルバスマネージメント306
シリアルバスマネージメント306は、具体的に、次の3つの機能を提供することができる。3つの機能とは、すなわち、▲1▼ノード制御、▲2▼アイソクロナスリソースマネージャ(以下、IRM)、▲3▼バスマネージャである。
【0045】
▲1▼ノード制御は、上述の各レイヤを管理し、他のノードとの間で実行されるアシンクロナス転送を管理する機能を提供する。
【0046】
▲2▼IRMは、他のノードとの間で実行されるアイソクロナス転送を管理する機能を提供する。具体的には、転送帯域幅とチャネル番号の割り当てに必要な情報を管理し、これらの情報を他のノードに対して提供する。
【0047】
IRMは、ローカルバス上に唯一存在し、バスリセット毎に他の候補者(IRMの機能を有するノード)の中から動的に選出される。また、IRMは、後述のバスマネージャの提供可能な機能(接続構成の管理、電源管理、速度情報の管理等)の一部を提供してもよい。
【0048】
▲3▼バスマネージャは、IRMの機能を有し、IRMよりも高度なバス管理機能を提供する。具体的には、より高度な電源管理(通信ケーブルを介して電源の供給が可能か否か、電源の供給が必要か否か等の情報を各ノード毎に管理)、より高度な速度情報の管理(各ノード間の最大転送速度の管理)、より高度な接続構成の管理(トポロジマップの作成)、これらの管理情報に基づくバスの最適化等を行ない、さらにこれらの情報を他のノードに提供する機能を有する。
【0049】
また、バスマネージャは、シリアルバスネットワークを制御するためのサービスをアプリケーションに対して提供できる。ここで、サービスには、シリアルバス制御要求(SB_CONTROL.request)、シリアルバスイベント制御確認(SB_CONTROL.confirmation)、シリアルバスイベント通知(SB_CONTROL.indication)等がある。
【0050】
SB_CONTROL.requestは、アプリケーションがバスリセットを要求するサービスである。SB_CONTROL.confirmationは、SB_CONTROL.requestをアプリケーションに対して確認するサービスである。SB_CONTROL.indicationは、非同期に発生するイベントをアプリケーションに対して通知するサービスである。
【0051】
(3)アドレス指定
図6は1394インタフェースにおけるアドレス空間を説明するための説明図である。なお、1394インタフェースは、ISO/IEC 13213:1994に準じたCSR(Command and Status Register)アーキテクチャに従い、64ビット幅のアドレス空間を規定している。
【0052】
図6において、最初の10ビットのフィールド601は、所定のバスを指定するID番号に使用され、次の6ビットのフィールド602は、所定の機器(ノード)を指定するID番号に使用される。この上位16ビットを「ノードID」と呼び、各ノードはこのノードIDにより他のノードを識別する。また、各ノードは、このノードIDを用いて相手を識別した通信を行うことができる。残りの48ビットからなるフィールドは、各ノードの具備するアドレス空間(256Mバイト構造)を指定する。その内の20ビットのフィールド603は、アドレス空間を構成する複数の領域を指定する。
【0053】
フィールド603において、0〜0xFFFFDの部分は、メモリ空間と呼ばれる。0xFFFFEの部分は、プライベート空間と呼ばれ、各ノードで自由に利用できるアドレスである。また、0xFFFFEの部分は、レジスタ空間と呼ばれ、バスに接続されたノード間において共通の情報を格納する。各ノードは、レジスタ空間の情報を用いることにより、各ノード間の通信を管理することができる。最後の28ビットのフィールド604は、各ノードにおいて共通或いは固有となる情報が格納されるアドレスを指定する。例えば、レジスタ空間において、最初の512バイトは、CSRアーキテクチャーのコア(CSRコア)レジスタ用に使用される。CSRコアレジスタに格納される情報のアドレスおよび機能を図7に示す。図中のオフセットは、0xFFFFF0000000からの相対位置である。
【0054】
次の512バイトは、シリアルバス用のレジスタとして使用される。シリアルバスレジスタに格納される情報のアドレスおよび機能を図8に示す。図中のオフセットは、0xFFFFF0000200からの相対位置である。その次の1024バイトは、コンフィギュレーションROM用に使用される。
【0055】
コンフィギュレーションROMには最小形式と一般形式とがあり、0xFFFFF0000400から配置される。最小形式のコンフィギュレーションROMを図9に示す。図9において、ベンダIDは、IEEEにより各ベンダに対して固有に割り当てられた24ビットの数値である。図10は一般形式のコンフィギュレーションROMを示す。図10において、上述のベンダIDは、Root Directory1002に格納されている。Bus Info Block1001とRoot Leaf1005とには、各ノードを識別する固有のID情報としてノードユニークIDを保持することが可能である。
【0056】
ここで、ノードユニークIDは、メーカ、機種に関わらず、1つのノードを特定することのできる固有のIDを定めるようになっている。ノードユニークIDは64ビットにより構成され、上位24ビットは上述のベンダIDを示し、下位48ビットは各ノードを製造するメーカにおいて自由に設定可能な情報(例えば、ノードの製造番号等)を示す。なお、このノードユニークIDは、例えばバスリセットの前後で継続して特定のノードを認識する場合に使用される。
【0057】
図10において、Root Directory1002には、ノードの基本的な機能に関する情報を保持することが可能である。詳細な機能情報は、Root Directory1002からオフセットされるサブディレクトリ(Unit Directories1004)に格納される。Unit Directories1004には、例えば、ノードのサポートするソフトウェアユニットに関する情報が格納される。具体的には、ノード間のデータ通信を行うためのデータ転送プロトコル、所定の通信手順を定義するコマンドセット等に関する情報が保持される。
【0058】
Node Dependent Info Directory1003には、デバイス固有の情報を保持することが可能である。Node Dependent Info Directory1003は、Root Directory1002によりオフセットされる。
【0059】
Vendor Dependent Information1006には、ノードを製造、或いは販売するベンダ固有の情報を保持することができる。
【0060】
残りの領域は、ユニット空間と呼ばれ、各ノード固有の情報、例えば、各機器の識別情報(会社名、機種名等)や使用条件等が格納されたアドレスを指定する。ユニット空間のシリアルバス装置レジスタに格納される情報のアドレスおよび機能を図11に示す。図中のオフセットは、0xFFFFF0000800からの相対位置である。
【0061】
なお、一般的に、異種のバスシステムの設計を簡略化したい場合、各ノードは、レジスタ空間の最初の2048バイトのみを使うべきである。つまり、CSRコアレジスタ、シリアルバスレジスタ、Configuration ROM、ユニット空間の最初の2048バイトの合わせて4096バイトで構成することが望ましい。
【0062】
(4)通信ケーブルの構成
図12にIEEE1394規格に準拠した通信ケーブルの断面図を示す。通信ケーブルは、2組のツイストペア信号線と電源ラインとにより構成されている。電源ラインを設けることによって、1394インタフェースは、主電源のOFFとなった機器、故障により電力低下した機器等にも電力を供給することができる。なお、電源線内を流れる電源の電圧は8〜40V、電流は最大電流DC1.5Aと規定されている。2組のツイストペア信号線には、DS-Link(Data/Strobe Link)符号化方式にて符号化された情報信号が伝送される。
【0063】
図13はDS-Link符号化方式を説明する図である。このDS-Link符号化方式は、高速なシリアルデータ通信に適しており、その構成は、2組のより対線を必要とする。一組のより対線は、データ信号を送り、他のより対線は、ストローブ信号を送る構成になっている。受信側は、2組の信号線から受信したデータ信号とストローブ信号との排他的論理和をとることによって、クロックを再現することができる。
【0064】
なお、DS-Link符号化方式を用いることにより、1394インタフェースには、例えば次のような利点がある。▲1▼他の符号化方式に比べて転送効率が高い。▲2▼PLL回路が不要となり、コントローラLSIの回路規模を小さくできる。▲3▼アイドル状態であることを示す情報を送る必要が無いため、トランシーバ回路をスリープ状態とし易く、消費電力の低減が図れる。
【0065】
(5)バスリセット
各ノードの1394インタフェースは、ネットワークの接続構成に変化が生じたことを自動的に検出することができる。この場合、1394ネットワークは以下に示す手順によりバスリセットと呼ばれる処理を行う。なお、接続構成に変化は、各ノードの具備する通信ポートかかるバイアス電圧の変化により検知することができる。
【0066】
ネットワークの接続構成の変化(例えば、ノードの挿抜、ノードの電源のON/OFFなどによるノード数の増減)を検出したノード、または新たな接続構成を認識する必要のあるノードは、1394インタフェースを介して、バス上にバスリセット信号を送信する。
【0067】
バスリセット信号を受信したノードの1394インタフェースは、バスリセットの発生を自身のリンクレイヤ304に伝達すると共に、そのバスリセット信号を他のノードに転送する。バスリセット信号を受信したノードは、今まで認識していたネットワークの接続構成および各機器に割り当てられたノードIDをクリアにする。最終的に全てのノードがバスリセット信号を検知した後、各ノードは、バスリセットに伴う初期化処理(すなわち、新たな接続構成の認識と新たなノードIDの割り当て)を自動的に行う。
【0068】
なお、バスリセットは、先に述べたような接続構成の変化による起動の他に、ホスト側の制御によって、アプリケーションレイヤ307がフィジカルレイヤ303に対して直接命令を出すことによって起動させることも可能である。
【0069】
また、バスリセットが起動するとデータ転送は一時中断され、バスリセットに伴う初期化処理の終了後、新しいネットワークのもとで再開される。
【0070】
(6)バスリセット起動後のシーケンス
バスリセットの起動後、各ノードの1394インタフェースは、新たな接続構成の認識と新たなノードIDの割り当てとを自動的に実行する。以下、バスリセットの開始からノードIDの割り当て処理までの基本的なシーケンスを図14〜16を用いて説明する。
【0071】
図14は、図2の1394ネットワークにおけるバスリセット起動後の状態を説明する図である。図14において、ノードAは1つの通信ポート、ノードBは2つの通信ポート、ノードCは2つの通信ポート、ノードDは3つの通信ポート、ノードEは1つの通信ポート、ノードFは1つの通信ポートを具備している。各ノードの通信ポートには、各ポートを識別するためにポート番号を付されている。
【0072】
次に、図14におけるバスリセットの開始からノードIDの割り当てまでを図15のフローチャートを用いて説明する。1394ネットワークを構成する各ノードA〜Fは、バスリセットが発生したか否かを常時監視している(ステップS1501)。接続構成の変化を検出したノードからバスリセット信号が出力されると、各ノードは以下の処理を実行する。バスリセットの発生後、各ノードは、夫々の具備する通信ポート間において親子関係の宣言を行なう(ステップS1502)。各ノードは、全てのノード間の親子関係が決定されるまで、ステップS1502の処理を繰り返し行なう(ステップS1503)。
【0073】
全てのノード間の親子関係が決定した後、1394ネットワークは、ネットワークの調停を行なうノード、すなわちルートを決定する。(ステップS1504)。ルートを決定した後、各ノードの1394インタフェース夫々は、自己のノードIDを自動的に設定する作業を実行する(ステップS1505)。全てのノードに対してノードIDの設定がなされるまで、各ノードは所定の手順に基づきステップS1505の処理を実行する(ステップS1506)。
【0074】
最終的に全てのノードに対してノードIDが設定された後、各ノードは、アイソクロナス転送或いはアシンクロナス転送を実行する(ステップS1507)。ステップS1507の処理を実行すると共に、各ノードの1394インタフェースは、再びバスリセットの発生を監視する。バスリセットが発生した場合には、ステップS1501以降の処理を再び実行する。
【0075】
以上の手順により、各ノードの1394インタフェースは、バスリセットが起動する毎に、新たな接続構成の認識と新たなノードIDの割り当てとを自動的に実行することができる。
【0076】
(7)親子関係の決定
図16を参照して、図15のステップS1502の処理、すなわち、各ノード間の親子関係を認識する処理の手順を詳細に示すフローチャートである。バスリセットの発生後、1394ネットワーク上の各ノードA〜Fは、自分の具備する通信ポートの接続状態(接続または未接続)を確認する(ステップS1601)。通信ポートの接続状態の確認後、各ノードは、他のノードと接続されている通信ポート(以下「接続ポート」という。)の数をカウントする(ステップS1602)。
【0077】
ステップS1602の処理の結果、接続ポートの数が1つである場合、そのノードは、自分が「リーフ」であると認識する(ステップS1603)。ここで、リーフとは、1つのノードとのみ接続されているノードのことである。
【0078】
リーフとなるノードは、その接続ポートに接続されているノードに対して、「自分は子(Child)」であることを宣言する(ステップS1604)。このとき、リーフは、その接続ポートが「親ポート(親ノードと接続された通信ポート)」であると認識する。ここで、親子関係の宣言は、まず、ネットワークの末端であるリーフとブランチとの間にて行われ、ついで、ブランチとブランチとの間で順次に行われる。各ノード間の親子関係は、早く宣言の行なえる通信ポートから順に決定される。また、各ノード間において、子であることを宣言した通信ポートは「親ポート」であると認識され、その宣言を受けた通信ポートは「子ポート(子ノードと接続された通信ポート)」であると認識される。例えば、図14において、ノードA、E、Fは、自分がリーフであると認識した後、親子関係の宣言を行う。これにより、ノードA−B間では子−親、ノードE−D間では子−親、ノードF−D間では子−親と決定される。
【0079】
他方、ステップS1602の処理の結果、接続ポートの数が2つ以上の場合、そのノードは、自分を「ブランチ」であると認識する(ステップS1605)。ここで、ブランチとは、2つ以上のノードと接続されているノードのことである。
【0080】
ブランチとなるノードは、各接続ポートのノードから親子関係の宣言を受け付ける(ステップS1606)。宣言を受け付けた接続ポートは、「子ポート」として認識される。1つの接続ポートを「子ポート」と認識した後、ブランチは、まだ親子関係の決定されていない接続ポート(すなわち、未定義ポート)が2つ以上あるか否かを検出する(ステップS1607)。その結果、未定義ポートが2つ以上ある場合、ステップS1606に戻る。
【0081】
他方、ステップS1607で検出した結果、未定義ポートが1つだけ存在する場合、ブランチは、その未定義ポートが「親ポート」であると認識し、そのポートに接続されているノードに対して「自分は子」であることを宣言する(ステップS1608、S1609)。
【0082】
ここで、ブランチは、残りの未定義ポートが1つになるまで自分自身が子であると他のノードに対して宣言することができない。例えば、図14において、ノードB、C、Dは、自分がブランチであると認識すると共に、リーフあるいは他のブランチからの宣言を受け付ける。ノードDは、D−E間、D−F間の親子関係が決定した後、ノードCに対して親子関係の宣言を行っている。また、ノードDからの宣言を受けたノードCは、ノードBに対して親子関係の宣言を行っている。
【0083】
他方、ステップS1608の処理の結果、未定義ポートが存在しない場合(つまり、ブランチの具備する全ての接続ポートが親ポートとなった場合)、そのブランチは、自分自身がルートであることを認識する。(ステップS1610)。
【0084】
例えば、図14において、接続ポートの全てが親ポートとなったノードBは、1394ネットワーク上の通信を調停するルートとして他のノードに認識される。ここで、ノードBがルートと決定されたが、ノードBの親子関係を宣言するタイミングが、ノードCの宣言するタイミングに比べて早い場合には、他のノードがルートになる可能性もある。すなわち、宣言するタイミングによっては、どのノードもルートとなる可能性がある。従って、同じネットワーク構成であっても同じノードがルートになるとは限らない。
【0085】
このように全ての接続ポートの親子関係が宣言されることによって、各ノードは、1394ネットワークの接続構成を階層構造(ツリー構造)として認識することができる(ステップS1611)。なお、上述の親ノードは階層構造における上位であり、子ノードは階層構造における下位となる。
【0086】
(8)ノードIDの割り当て
図17は、図15のステップS1505の処理、すなわち、自動的に各ノードのノードIDを割り当てる処理の手順を詳細に示すフローチャートである。ここで、ノードIDは、バス番号とノード番号とから構成されるが、本実施の形態では、各ノードを同一バス上に接続するものとし、各ノードには同一のバス番号が割り当てられるものとする。
【0087】
ルートは、ノードIDが未設定のノードが接続されている子ポートのうち、最小番号を有する通信ポートに対してノードIDの設定許可を与える(ステップS1701)。なお、図17において、ルートは、最小番号の子ポートに接続されている全ノードのノードIDを設定した後、その子ポートを設定済とし、次に最小となる子ポートに対して同様の制御を行なう。最終的に子ポートに接続された全てのノードのID設定が終了した後、ルート自身のノードIDを設定する。なお、ノードIDに含まれるノード番号は、基本的にリーフ、ブランチの順に0、1、2…と割り当てられる。従って、ルートが最も大きなノード番号を有することになる。
【0088】
ステップS1701において、設定許可を得たノードは、自分の子ポートのうち、ノードIDが未設定となるノードを含む子ポートがあるか否かを判断する(ステップS1702)。ステップS1702において、未設定ノードを含む子ポートが検出された場合、上述の設定許可を得たノードは、その子ポートに直接接続されたノードに対してその設定許可を与えるように制御する(ステップS1703)。
【0089】
ステップS1703の処理後、上述の設定許可を得たノードは、自分の子ポートのうち、ノードIDが未設定であるノードを含む子ポートがあるか否かを判断する(ステップS1704)。ここで、ステップS1704の処理後、未設定ノードを含む子ポートの存在が検出された場合、そのノードは、再びステップS1703の処理を実行する。
【0090】
他方、ステップS1702あるいはS1704において、未設定ノードを含む子ポートが検出されなかった場合、設定許可を得たノードは、自分自身のノードIDを設定する(ステップS1705)。
【0091】
自分のノードIDを設定したノードは、自己のノード番号、通信ポートの接続状態に関する情報等を含んだセルフIDパケットをブロードキャストする(ステップS1706)。なお、ブロードキャストとは、あるノードの通信パケットを、1394ネットワークを構成する不特定多数のノードに対して転送することである。
【0092】
ここで、各ノードは、このセルフIDパケットを受信することにより、各ノードに割り当てられたノード番号を認識することができ、自分に割り当てられるノード番号を知ることができる。例えば、図14において、ルートであるノードBは、最小ポート番号「#1」の通信ポートに接続されたノードAに対してノードID設定の許可を与える。ノードAは、自己のノード番号「No.0」と割り当て、自分自身に対してバス番号とノード番号とからなるノードIDを設定する。また、ノードAは、そのノード番号を含むセルフIDパケットをブロードキャストする。
【0093】
図18にセルフIDパケットの構成例を示す。図18において、1801はセルフIDパケットを送出したノードのノード番号を格納するフィールドである。1802は対応可能な転送速度に関する情報を格納するフィールドである。1803はバス管理機能(バスマネージャの能力の有無等)の有無を示すフィールドである。1804は電力の消費および供給の特性に関する情報を格納するフィールドである。1805はポート番号#0となる通信ポートの接続状態に関する情報(接続、未接続、通信ポートの親子関係等)を格納するフィールドである。1806はポート番号#1となる通信ポートの接続状態に関する情報(接続、未接続、通信ポートの親子関係等)を格納するフィールドである。1807はポート番号#2となる通信ポートの接続状態に関する情報(接続、未接続、通信ポートの親子関係等)を格納するフィールドである。
【0094】
なお、セルフIDパケットを送出するノードにバスマネージャとなり得る能力がある場合には、フィールド1803に示すコンテンダビットを1とし、なり得る能力がなければ、コンテンダビットを0とする。ここで、バスマネージャとは、上述のセルフIDパケットに含まれる各種の情報に基づいて、バスの電源管理(通信ケーブルを介して電源の供給が可能か否か、電源の供給が必要か否か等の情報を各ノード毎に管理する)と、速度情報の管理(各ノードの対応可能な転送速度に関する情報から各ノード間の最大転送速度を管理する)と、トポロジマップ情報の管理(通信ポートの親子関係情報からネットワークの接続構成を管理する)と、トポロジマップ情報に基づくバスの最適化等を行ない、それらの情報を他のノードに提供する機能を有するノードである。これらの機能により、バスマネージャとなるノードは1394ネットワーク全体のバス管理を行なうことができる。
【0095】
ステップS1706の処理後、ノードIDの設定を行ったノードは、親ノードがあるか否かを判断する(ステップS1707)。親ノードがある場合、その親ノードが、ステップS1702以下の処理を再び実行する。そして、まだノードIDの設定されていないノードに対して許可を与える。
【0096】
他方、親ノードが存在しない場合、そのノードは、ルート自身であると判断される。ルートは、全ての子ポートに接続されたノードに対してノードIDが設定されたか否かを判別する(ステップS1708)。ステップS1708において、全てのノードに対するID設定処理が終了しなかった場合、ルートは、そのノードを含む子ポートのうち、最小番号となる子ポートに対してID設定の許可を与える(ステップS1701)。その後、ステップS1702以下の処理を実行する。
【0097】
他方、全てのノードに対するID設定処理が終了した場合、ルートは、自分自身のノードIDの設定を実行する(ステップS1709)。ノードIDの設定後、ルートは、セルフIDパケットをブロードキャストする(ステップS1710)。
【0098】
以上の処理によって、1394ネットワークは、各ノードに対して自動的にノードIDを割り当てることができる。
【0099】
ここで、ノードIDの設定処理後、複数のノードがバスマネージャの能力を具備する場合、ノード番号の最も大きいノードがバスマネージャとなる。つまり、ネットワークうちで最大となるノード番号を持つルートがバスマネージャになり得る機能を有している場合には、ルートがバスマネージャとなる。
【0100】
しかしながら、ルートにその機能が備わっていない場合には、ルートの次に大きいノード番号を具備するノードがバスマネージャとなる。また、どのノードがバスマネージャになったかについては、各ノードがブロードキャストするセルフIDパケットうちのコンテンダビット1803をチェックすることにより把握することができる。
【0101】
(9)アービトレーション
図19は、図1の1394ネットワークにおけるアービトレーションを説明するための説明図である。1394ネットワークでは、データ転送に先立って、必ずバス使用権のアービトレーション(調停)を行なう。1394ネットワークは、論理的なバス型ネットワークであり、各ノードから転送された通信パケットを他のノードに中継することによって、ネットワークうちの全てのノードに同じ通信パケットを転送することのできる。従って、通信パケットの衝突を防ぐために、必ずアービトレーションが必要となる。これによって、ある時間において1つのノードのみが転送を行なうことができる。
【0102】
図19(a)は、ノードBとノードFとが、バス使用権の要求を発している場合について説明するための説明図である。アービトレーションが始まるとノードB、Fは、それそれ親ノードに向かって、バス使用権の要求を発する。ノードBの要求を受けた親ノード(すなわち、ノードC)は、自分の親ノード(すなわち、ノードD)に向かって、そのバス使用権を中継する。この要求は、最終的に調停を行なうルート(ノードD)に届けられる。バス使用要求を受けたルートは、どのノードにバスを使用させるかを決める。この調停作業はルートとなるノードのみが行なえるものであり、調停によって勝ったノードにはバスの使用許可が与えられる。
【0103】
図19(b)は、ノードFの要求が許可され、ノードBの要求が拒否されたことを示す図である。アービトレーションに負けたノードに対してルートは、DP(Data prefix)パケットを送り、拒否されたことを知らせる。拒否されたノードは、次回のアービトレーションまでバス使用要求を待機する。
【0104】
以上のようにアービトレーションを制御することによって、1394ネットワークはバスの使用権を管理することができる。
【0105】
(10)通信サイクル
アイソクロナス転送モードとアシンクロナス転送モードとは、各通信サイクル期間うちにおいて時分割に混在させることができる。ここで、通信サイクルの期間は、通常、125μSである。
【0106】
図20は、1通信サイクルにおいてアイソクロナス転送モードとアシンクロナス転送モードとを混在させた場合を説明するための説明図である。アイソクロナス転送モードはアシンクロナス転送モードより優先して実行される。その理由は、サイクルスタートパケットの後、アシンクロナス転送を起動するために必要なアイドル期間(サブアクションギャップ(subaction gap))が、アイソクロナス転送を起動するため必要なアイドル期間(アイソクロナスギャップ)よりも長くなるように設定されているためである。これにより、アイソクロナス転送は、アシンクロナス転送に優先して実行される。
【0107】
図20において、各通信サイクルのスタート時には、サイクルスタートパケットが所定のノードから転送される。各ノードは、このCSPを用いて時刻調整を行うことによって、他のノードと同じ時間を計時することができる。
【0108】
(11)アイソクロナス転送モード
アイソクロナス転送モードは、同期型の転送方式である。アイソクロナスモード転送は、通信サイクルの開始後、所定の期間において実行可能である。また、アイソクロナス転送モードは、リアルタイム転送を維持するために、各サイクル毎に必ず実行される。
【0109】
アイソクロナス転送モードは、特に動画像データや音声データ等のリアルタイムな転送を必要とするデータの転送に適した転送モードである。アイソクロナス転送モードは、アシンクロナス転送モードのように1対1の通信ではなく、ブロードキャスト通信である。つまり、あるノードから送出されたパケットは、ネットワーク上の全てのノードに対して一様に転送される。なお、アイソクロナス転送には、ack(受信確認用返信コード)は存在しない。
【0110】
図20において、チャネルe(ch e)、チャネルs(ch s)、チャネルk(chk)は、各ノードがアイソクロナス転送を行う期間を示す。1394インタフェースでは、複数の異なるアイソクロナス転送を区別するために、それそれ異なるチャネル番号を与えている。これにより、複数ノード間でのアイソクロナス転送が可能となる。ここで、このチャネル番号は、送信先を特定するものではなく、データに対する論理的な番号を与えているに過ぎない。図20のアイソクロナスギャップとは、バスのアイドル状態を示すものである。このアイドル状態が一定時間を経過した後、アイソクロナス転送を希望するノードは、バスが使用できると判断し、アービトレーションを実行する。
【0111】
図21にアイソクロナス転送モードに基づいて転送される通信パケットのフォーマットを示す。以下、アイソクロナス転送モードに基づいて転送される通信パケットを、アイソクロナスパケットと称する。図21において、アイソクロナスパケットはヘッダ部2101、ヘッダCRC2102、データ部2103、データCRC2104から構成される。
【0112】
ヘッダ部2101には、データ部2103のデータ長を格納するフィールド2105、アイソクロナスパケットのフォーマット情報を格納するフィールド2106、アイソクロナスパケットのチャネル番号を格納するフィールド2107、パケットのフォーマットおよび実行しなければならない処理を識別するトランザクションコード(tcode)を格納するフィールド2108、同期化コードを格納するフィールド2109がある。
【0113】
(12)アシンクロナス転送モード
アシンクロナス転送モードは、非同期型の転送方式である。アシンクロナス転送は、アイソクロナス転送期間の終了後、次の通信サイクルが開始されるまでの間(すなわち、次の通信サイクルのCSPが転送されるまでの間)、実行可能である。
【0114】
図20において、最初のサブアクションギャップは、バスのアイドル状態を示すものである。このアイドル時間が一定値になった後、アシンクロナス転送を希望するノードは、バスが使用できると判断し、アービトレーションを実行する。
【0115】
アービトレーションによりバスの使用権を得たノードは、図22に示すパケットを所定のノードに対して転送する。このパケットを受信したノードは、ack(受信確認用返送コード)あるいは応答パケットをackギャップ後に返送する。
【0116】
図22は、アシンクロナス転送モードに基づく通信パケットのフォーマットを示す図である。以下、アシンクロナス転送モードに基づいて転送される通信パケットを、アシンクロナスパケットと称する。
【0117】
図22において、アシンクロナスパケットは、ヘッダ部2201、ヘッダCRC2202、データ部2203、データCRC2204から構成される。ヘッダ部2201において、フィールド2205には宛先となるノードのノードID、フィールド2206にはソースとなるノードのノードID、フィールド2207には一連のトランザクションを示すためのラベル、フィールド2208には再送ステータスを示すコード、フィールド2209にはパケットのフォーマットおよび実行しなければならない処理を識別するトランザクションコード(tcode)、フィールド2210には優先順位、フィールド2211には宛先のメモリアドレス、フィールド2212にはデータ部のデータ長、フィールド2213には拡張されたトランザクションコードが格納される。
【0118】
アシンクロナス転送は、自己ノードから相手ノードへの1対1の通信である。転送元ノードから転送されたパケットは、ネットワーク中の各ノードに行き渡るが、自分宛てのアドレス以外のものは無視される。従って、宛先となるノードのみが、そのパケットを読み込むことができる。
【0119】
なお、アシンクロナス転送中に次のCSPを転送すべき時間に至った場合、無理に転送を中断せず、その転送が終了した後、次のCSPを送信する。これにより、1つの通信サイクルが125μS以上続いたときは、その分、次の通信サイクル期間を短縮する。このようにすることによって、1394ネットワークは、ほぼ一定の通信サイクルを保持することができる。
【0120】
(13)デバイスマップ
デバイスマップを作成するためにアプリケーションが1394ネットワークのトポロジーを知る手段として、IEEE1394規格上、次のような手段がある。
【0121】
1.バスマネージャーのトポロジーマップレジスターをリードする
2.バスリセット時にセルフIDパケットから推定する
しかし上記1、2の手段では、各ノードの親子関係によるケーブル接続順のトポロジーは判明するものの、物理的な位置関係のトポロジーを知ることはできない。(実装されていないポートまで見えてしまう、といった問題もある)
また、デバイスマップを作成するための情報を、コンフィギュレーションROM以外のデータベースとして持つ、といった手段もあるが、その場合、各種情報を得る手段はデータベースアクセスのためのプロトコルに依存してしまう。
【0122】
ところで、コンフィギュレーションROM自体やコンフィギュレーションROMを読む機能は、IEEE1394規格を遵守したデバイスが必ず持つものである。そこで、デバイスの位置、機能等の情報を各ノードのコンフィギュレーションROMに格納し、それらをアプリケーションから読む機能を与えることにより、データベースアクセス、データ転送等の特定のプロトコルに依存することなく、各ノードのアプリケーションがいわゆるデバイスマップ表示機能を実装することができる。
【0123】
コンフィギュレーションROMにはノード固有の情報として物理的な位置、機能などが格納可能であり、デバイスマップ表示機能の実現に使用することが可能である。この場合、アプリケーションが物理的な位置関係による1394ネットワークトポロジーを知る手段としては、バスリセット時やユーザーからの要求時に、各ノードのコンフィギュレーションROMを読み取ることによ り、1394ネットワークのトポロジーを知る、という方法が可能となる。さらに、コンフィギュレーションROMうちにノードの物理的位置のみならず、機能などの各種ノード情報も記述することによって、コンフィギュレーションROMを読むことで、ノードの物理的位置と同時に各ノードの機能情報等も得ることができる。アプリケーションが各ノードのコンフィギュレーションROM情報を取得する際には、指定ノードの任意のコンフィギュレーションROM情報を取得するAPIを用いる。
【0124】
このような手段を用いることにより、IEEE1394ネットワーク上のデバイスのアプリケーションは、物理的なトポロジーマップ、各ノードの機能マップなど、用途に応じて様々なデバイスマップを作成することができ、ユーザーが必要な機能をもつデバイスを選択する、といったことも可能となる。
以上、IEEE1394インタフェースの概要を説明した。
【0125】
<DPPの概要説明>
DPPの概要を説明する。IEEE1394インタフェースにおけるアプリケーションプロトコルの1つにダイレクトプリントプロトコルDPPが挙げられる。
【0126】
ここで簡単にDPPの概要を説明する。DPPはIEEE1394のトランザクション層の上位に位置し、ディスク、テープ、プリンタやスキャナといったデバイス間の効率的コマンドデータ転送、そしてコマンドの動作状況、そしてその結果やデータの転送可否などの状態を上位アプリケーションに通知する機能を有する。DPPでは、ホストPC無しでイメージソースデバイス(Image Source Device)からプリンタへ直接印刷できることが特徴である。またデバイス間でのファイル転送も可能である。
【0127】
図27はDPPの構成を示す。DPPとはSBP2と同様IEEE1394の物理層の上位に位置し、シンプロトコル(Thin Protocol)とDPPアプリケーションコマンドセット(DPP Aprication Command Set)とで構成される。シンプロトコルは、さらに、シンセッション(Thin Session)とシントランザクション(Thin Transaction)に分かれる。
【0128】
図28はシンプロトコルの概要を示す。図28において、上段の動作がコネクション動作を示し、中段はコマンド転送動作、下段はディスコネクション動作を示す。印刷データのパケット化の実際は図29に示すとおり各層でセグメンテーション化が行われ、転送用のパケットが作られる。DPPアプリケーションコマンドセットにはDPC(Direct Print Command)セットとファイルトランスファーコマンドセット(file transfer command set)の2種類が存在し本実施の形態ではDPCセットを使用する。DPCのコマンドとしては、イメージデータ転送を行うセンドコマンド(Send Command)等のジェネリックコマンド(Generic Command)と、ネゴシエーションアイテム(Negotiation Item Command)を得るゲットクエリーアイテムコマンド(Get Query Item Command)等のネゴシエーションコマンド(Negotiation Command)他が用意されている。図30にその使用例を示す。
以上、DPPの概要を説明した。
【0129】
プリンタ103においては、DPPの処理はI/F部105で行なわれる。
STB102からのDPPで受け取ったBML/P印刷コンテンツデータ等は、データ判断部106でプリンタ103内部で処理可能なデータ(BML/P印刷コンテンツデータ)かを判別する。
【0130】
<BML/P印刷コンテンツデータ判断方法>
図25に関連して説明した印字用モジュール(例では9999番)を検出することで判断を行なう。その処理フローを図31に示す。BML解析を開始すると、3101で受信したマルチパート化されたモジュールを解析するためMIMEデコード処理を行ないる。その結果を基に、3102でプリンタレイアウト情報ファイルが有るかないかを判断し、プリンタレイアウト情報ファイルが有れば、3103の「BML/P」へ、無ければ、3104の「BML/P以外」へ進み、その後終了する。
【0131】
以上によりBML/P印刷コンテンツデータであると判断されると、BML処理部107へ進みファイル内容が処理され印刷処理部108で印刷処理される。
【0132】
一方BML/P印刷コンテンツデータでないと判断された場合は、転送処理部109へ進む。
【0133】
この場合の印刷方法について説明する。ここでは一旦転送用BML/P印刷コンテンツ外データが転送処理部109に蓄えられる。
【0134】
<BML/P印刷コンテンツ外データの印刷方法>
プリンタ103とPC104とはUSB接続してあり、PC側から見て転送処理部109はUSBの入力ポート、印刷処理部108は出力ポートとして設定されたマルチポートで構成されている。
【0135】
転送処理部109にデータが溜まると、それをトリガにしてPC104へのデータ転送が開始される。そして、データ転送が完了すると、転送処理部109から印刷開始コマンド命令がPC104へ発せられ、PC104ではその命令を受けて転送されたBML/P印刷コンテンツ外データを印刷データに変換する処理が開始される。なお、PCにおいても変換不能なBML/P印刷コンテンツ外データであれば無視される。そして、変換処理が終了したならば、通常のPC印刷処理と同様印刷処理部108に対して印刷データ出力処理を実行する。印刷処理部108ではそのデータを受けて印刷処理を行なう。
【0136】
以上、BML/P印刷コンテンツ外データの場合の印刷方法を説明した。
以上、本実施の形態により、データ放送の印刷用コンテンツに限定されることなく通常コンテンツも印刷出力を得ることができ、操作性、利便性が向上するという効果を奏する。
【0137】
<第2の実施の形態>
本実施の形態は、第1の実施の形態との比較でいえば、プリンタ103のI/F部110とPC104との間のインタフェースが異なる。すなわち、第1の実施の形態では、USBインタフェースを採用したのに対して、本実施の形態では、IEEE1394インタフェースを採用した。これにより、図32に示すように、物理的には、IEEEE1394インタフェースによるネットワークが構成される。しかし、PC104がSTB102を認識できない場合、すなわちPC104とSTB102との間のプロトコルが無い場合は、PC104から見るとSTB102は不明なデバイスとなる。その場合のプロトコルとしては、AVCが考えられるが、本実施の形態では、そのプロトコルが無い場合、すなわちSTB102とプリンタ103間、プリンタ103とPC104間で、それぞれ個別のプロトコルで動作するものとする。
【0138】
図32において、図1と同一部分は同一符号を付してある。3210はI/F部であり、IEEE1394インタフェース処理を行うものである。I/F部3210とPC104との間で供給されるプロトコルとして、イニシエータ・ターゲット構造のプロトコルであるSBP2プロトコルを採用した。SBP2プロトコルはイニシエータが基本的なコントロールの主導権を握り、ターゲットはイニシエータのメモリから自分のペースでデータをフェッチしたりすることを特徴とする。
【0139】
BML/P印刷コンテンツ外データの場合においては、PC104では予めプリンタ103との間のコネクション機能、プリンタサーバ機能を有するアプリケーションが予め起動しており、転送処理部109にデータが溜まると、それをトリガにしてPC104へのデータ転送が開始される。データ転送が完了すると、転送処理部109から印刷開始コマンド命令がPC104へ発せられ、PC104ではその命令を受けて転送されたBML/P印刷コンテンツ外データを印刷データに変換する処理が開始される。なお、PC104においても、変換不能なBML/P印刷コンテンツ外データであれば無視される。変換処理が終了したならば、通常のPC印刷処理と同様印刷処理部108に対してSBP2プロトコルベースでデータ転送され印刷データ出力処理が実行される。印刷処理部108ではそのデータを受けて印刷処理を実行する。
【0140】
よって、本実施の形態においては、データ放送の印刷用コンテンツに限定されること無く通常コンテンツも印刷出力を得ることができ、操作性、利便性が向上するという効果がある。
【0141】
<第3の実施の形態>
本実施の形態は第1の実施の形態との比較でいえば、STB102とプリンタ103との間の接続、およびPC104とプリンタ103との間の接続が異なる。すなわち、第1の実施の形態では、前者についてはIEEE1394インタフェースを採用し、後者についてはUSBインタフェースを採用した。これに対して、本実施の形態では、前者については、USBインタフェースまたはEthernet(登録商標)LAN接続を採用し、後者については、パラレルインタフェース接続を採用した。
【0142】
このように構成することにより、放送情報の印刷環境の構成装置選択肢が広がり、使用者にとっては印刷物を得るための環境構築がしやすくなるという効果を奏することができる。
【0143】
<第4の実施の形態>
本実施の形態は、第1の実施の形態においてSTB102とプリンタ103との間で供給したDPPプロトコルに代えて、AV/Cプロトコルを採用した。AV/Cプロトコルとは、AV機器用の音声、映像デジタルデータのインタフェースとして規定され最初はストリームデータ用にアイソクロナスコネクションからスタートしたが最近は静止画を送るアシンクロナスコネクションもできるようになり、本実施の形態では、そのアシンクロナスコネクションを利用して印刷データを転送するようにした。
【0144】
このように構成することにより、放送情報の印刷環境の構成装置選択肢が広がり使用者にとってはさらに印刷環境の構築がし易くなるという効果を奏することができる。
【0145】
<第5の実施の形態>
本実施の形態は、第1の実施の形態との比較でいえば、プリンタ103の構成が異なる。すなわち、第1の実施の形態では、データ判断部106においては、I/F部105からのデータ内容がBML印刷コンテンツか否かを判断し、BML印刷コンテンツと判断した場合は当該データをBML処理部107に送り、他方、BML印刷コンテンツでないと判断した場合は当該データを転送処理部109に送り、BML処理部107においては、BML印刷コンテンツデータを印刷データに変換する各種処理を行なうように構成した。
【0146】
これに対して、本実施の形態では、プリンタ3303を図33に示すように構成し、判断部3306においては、I/F部105からのデータ内容が予め登録したデータ記述言語か否かを判断し、データ記述言語と判断した場合は当該データを処理部3307に送り、他方、データ記述言語でないと判断した場合は当該データを転送処理部109に送り、処理部107においては、データを印刷データに変換する各種処理を行なうようにした。
【0147】
なお、判断部3306では、データ記述言語の登録手段により判断基準を変更することができるようになっている。処理部3307は、後からでも書き換え可能なプログラム領域になるように、例えばフラッシュメモリを備え、このフラッシュメモリはPC104により書き換えができるようになっているので、さらに柔軟に技術革新、規格の変化に対応できる。
【0148】
よって、今後の印刷コンテンツの拡張に鑑み、柔軟に対応でき、データ放送等の刻々と変化する印刷用コンテンツ方式に対応できるとともに印刷ができ、さらに印刷用コンテンツ以外も印刷出力を得ることができ、操作性、利便性が向上するという効果を奏することができる。
【0149】
<第6の実施の形態>
第1の実施の形態では、STB102からの印刷データに基づきプリンタ103により印刷する例を説明したが、インタネット機器、例えばインタネット対応ゲーム機等のイメージソースデバイスからの印刷データの印刷を可能にする。すなわち、BML/Pかどうかの印刷からインタネット情報の印刷を行なう。
【0150】
この場合の判定は単純な画像データか否かを判定し否であれば前記実施の形態1,2同様PCにその処理を委ねる。
【0151】
以上の説明のごとく本実施の形態によりインタネット情報の印刷も可能になり操作性、利便性が向上するという効果がある。
【0152】
以下に本発明の実施態様の例を列挙する。
〔実施態様1〕画像処理データ出力装置と、該画像処理データ出力装置に接続したプリンタと、前記画像処理データ出力装置および前記プリンタに接続したコンピュータとを有する画像処理システムにおいて、
前記プリンタは、
画像処理を行う画像処理手段と、
前記画像処理データ出力装置から第1インタフェースを介して受信する受信手段と、
該受信手段により受信された画像処理用データが本プリンタにおいて画像処理できるか否かを判断する判断手段と、
該判断手段により画像処理できると判断された場合に、当該画像処理用データを前記画像処理手段に転送し、他方、画像処理が実行できないと判断されたた場合に、当該画像処理用データを第2インタフェースを介して前記コンピュータに送信する切換手段と、
前記コンピュータにより送信された画像処理用データを前記第2インタフェースを介して受信し前記画像処理手段に転送する転送手段と
を備え、
前記コンピュータは、
前記切換手段により送信された画像処理用データを処理するデータ処理手段と、
該データ処理手段による処理により得られた画像処理用データを前記プリンタの前記第2インタフェースに送信する送信手段と
を備えたことを特徴とする画像処理システム。
【0153】
〔実施態様2〕実施態様1において、前記プリンタは、前記第1および第2インタフェースが異なることを特徴とする画像処理システム。
【0154】
〔実施態様3〕実施態様2において、前記第1インタフェースがIEEE1394インタフェースであり、前記第2インタフェースがUSBインタフェースであることを特徴とする画像処理システム。
【0155】
〔実施態様4〕実施態様2において、前記第1および第2インタフェースがIEEE1394インタフェースであることを特徴とする画像処理システム。
【0156】
〔実施態様5〕実施態様4において、前記第1および第2インタフェースは、プロトコルが異なることを特徴とする画像処理システム。
【0157】
〔実施態様6〕実施態様1において、前記受信手段は、DPPプロトコルまたはAVCプロトコルに基づき画像処理用データを受信し、
前記切換手段、前記転送手段、及び前記送信手段は、SBP2プロトコルに基づき画像処理用データを送受信する
ことを特徴とする画像処理システム。
【0158】
〔実施態様7〕実施態様1において、前記画像処理データ出力装置はセットトップボックスであることを特徴とする画像処理システム。
【0159】
〔実施態様8〕実施態様7において、前記画像処理用データは、データ記述言語を含むことを特徴とする画像処理システム。
【0160】
【発明の効果】
以上説明したように、本発明によれば、上記のように構成したので、使用者にとりプリンタの能力による情報データの印刷制限の範囲が広がることになり、プリンタの機能、能力を向上させるという効果がある。
【0161】
また、様々なインタフェースに対応することにより外部装置の選択肢が広がると言う効果もある。
【0162】
さらに、様々なプロトコルに対応することで外部装置および使用方法の選択肢が広がるという効果もある。
【0163】
また印刷データ出力装置にSTBの使用が可能であることにより放送情報の印刷の可能性が広がり、使用者にとり放送情報の印刷物による保存を可能にするという効果がある。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態を示すブロック図である。
【図2】IEEE1394シリアルバスのネットワークの構成を示す図である。
【図3】IEEE1394シリアルバスの構成要素を示す図である。
【図4】IEEE1394シリアルバスのリンクレイヤ提供可能なサービスを示す図である。
【図5】IEEE1394シリアルバスのトランザクションレイヤ提供可能なサービスを示す図である。
【図6】IEEE1394インタフェースにおけるアドレス空間を説明するための説明図である
【図7】IEEE1394インタフェースにおけるCSRコアレジスタに格納される情報のアドレスおよび機能を表にして示す図である。
【図8】IEEE1394インタフェースにおけるシリアルバスレジスタに格納される情報のアドレスおよび機能を表にして示す図である。
【図9】IEEE1394インタフェースにおける最小形式のコンフィギュレーションROMを示す図である。
【図10】IEEE1394インタフェースにおける一般形式のコンフィギュレーションROMを示す図である。
【図11】IEEE1394インタフェースにおけるシリアルバス装置レジスタに格納される情報のアドレスおよび機能を表にして示す図である。
【図12】IEEE1394規格に準拠した通信ケーブルの断面図である。
【図13】DS−Link符号化方式を説明するための説明図である。
【図14】図2の1394ネットワークにおけるバスリセット起動後の状態を説明するための説明図である。
【図15】図14におけるバスリセットの開始からノードIDの割り当てまでのシーケンスを示すフローチャートである。
【図16】バスリセットの開始からノードIDの割り当て処理までの基本的なシーケンスを示すフローチャートである。
【図17】図15のステップS1505の処理をより詳細に示すフローチャートである。
【図18】IEEE1394インタフェースにおけるセルフIDパケットの構成を示す図である。
【図19】IEEE1394ネットワークにおけるアービトレーションを説明するための説明図である。
【図20】1通信サイクルにおいてアイソクロナス転送モードとアシンクロナス転送モードとが混在した状況の下での転送処理を説明するための説明図である。
【図21】アイソクロナス転送モードで転送される通信パケットのフォーマットを示す図である。
【図22】アシンクロナス転送モードで転送されるパケットフォーマットを示す図である。
【図23】STB内部におけるデータ処理のフローを示す図である。
【図24】一般の表示系放送内容の一例を示す図である。
【図25】印字用モジュールのみを書き出した例を示す図である。
【図26】マルチパートの記述例を示す図である。
【図27】DPPの構成を示す図である。
【図28】DPP シンプロトコルを説明するための説明図である。
【図29】DPPのパケット化を説明するための説明図である。
【図30】実際のDPCセットを説明するための説明図である。
【図31】BML/P印刷コンテンツデータの処理手順の一例を示すフローチャートである。
【図32】本発明の第2の実施の形態を示すブロック図である。
【図33】本発明の第5の実施の形態を示すブロック図である。
【符号の説明】
101 TV
102 STB
103 プリンタ
104 PC
105 I/F部
106 データ判断部
107 BML処理部
108 印刷処理部
109 転送処理部
110 I/F部
【発明の属する技術分野】
本発明は、データ放送等の情報コンテンツを画像処理する画像処理システムに関する。
【0002】
【従来の技術】
従来から、放送等がアナログであれデジタルであれ、TVモニタに表示される映像を見たり、映像に同期した音を音響装置により聞いたりして、情報を得たり、そのものを楽しんだりすることが、主な放送等の利用用途であった。データ放送においては、TVモニタより膨大な情報をリアルタイムで得ていた。
【0003】
他方で、近年画面による情報要求のみならず、その内容を補完的に紙に印刷して保存するなり利用するための要求、例えば放送等がTV画面に表示されている内容と同等データを外部へ出力して外部印刷装置で印刷するような要求が高まってきたことから、そのような要求を満たすため、セットトップボックス(STB; set-top box)接続の印刷装置等も提案されている。
【0004】
【発明が解決しようとする課題】
しかしながら、印刷装置の解釈できる専用の表示コンテンツ内容であれば印刷可能であるのに対して、専用外の表示内容の印刷データであれば内容を解釈できず印刷を実行できないため、データを切り捨てて無視する処理が行われていた。
【0005】
そこで、本発明の目的は、このような問題点を解決し、画像処理データ出力装置からの専用又は非専用データを処理できる画像処理システムを提供することにある。
【0006】
【課題を解決するための手段】
請求項1の発明は、画像処理データ出力装置と、該画像処理データ出力装置に接続したプリンタと、前記画像処理データ出力装置および前記プリンタに接続したコンピュータとを有する画像処理システムにおいて、
前記プリンタは、
画像処理を行う画像処理手段と、
前記画像処理データ出力装置から第1インタフェースを介して受信する受信手段と、
該受信手段により受信された画像処理用データが本プリンタにおいて画像処理できるか否かを判断する判断手段と、
該判断手段により画像処理できると判断された場合に、当該画像処理用データを前記画像処理手段に転送し、他方、画像処理が実行できないと判断された場合に、当該画像処理用データを第2インタフェースを介して前記コンピュータに送信する切換手段と、
前記コンピュータにより送信された画像処理用データを前記第2インタフェースを介して受信し前記画像処理手段に転送する転送手段と
を備え、
前記コンピュータは、
前記切換手段により送信された画像処理用データを処理するデータ処理手段と、
該データ処理手段による処理により得られた画像処理用データを前記プリンタの前記第2インタフェースに送信する送信手段と
を備えたことを特徴とする。
【0007】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
【0008】
<第1の実施の形態>
図1は本発明の第1の実施の形態を示す。これは、プリンタ103をSTB102とPC(パーソナルコンピュータ)104にそれぞれ接続した画像処理システムの例である。
【0009】
STB102は、チューナ、電話回線、ネットワーク等を持ち、映像データを取り込み、内部処理後に各種信号を出力し、印刷用データを出力するものである。なお、STB102から出力される印刷データは、セキュリティの無いフリーなデータファイルのみに限るものとする。STB102からプリンタ103への出力データとしては、データ放送の印刷コンテンツの出力データ(一例としてBML/Pデータ)と、それ以外の出力データとがある。
【0010】
プリンタは103は、I/F部105と、データ判断部106と、BML処理部107と、I/F部110と、転送処理部109と、印刷処理部108とを有する。I/F部105はSTB102とIEEE1394インタフェース接続してあり、IEEE1394インタフェース処理を行うものである。データ判断部106はI/F部105からのデータ内容がBML印刷コンテンツか否かを判断し、BML印刷コンテンツと判断した場合は当該データをBML処理部107に送り、他方、BML印刷コンテンツでないと判断した場合は当該データを転送処理部109に送るものである。BML処理部107はBML印刷コンテンツデータを印刷データに変換する各種処理を行なうものである。転送処理部109はデータ判断部106からのデータをそのままI/F部110に渡すものである。印刷処理部108はBML処理部107による処理後の印刷データに基づき印刷処理を行うものである。I/F部110はPC104とUSBインタフェース接続してあり、データ判断部106からのデータをPC104に渡し、PC104からのデータを印刷処理部108へ渡すものである。
【0011】
PC104は、PC内部で印刷データに変換する処理(すなわちPC印刷処理と同様の処理)をするように転送処理部109により指示があると、印刷データ変換処理を起動し、印刷データができ上がると、プリンタ103のI/F部110に送るものである。
TV101は、STB102の例えばコンポジット映像端子に接続してある。
【0012】
<データ放送コンテンツについての説明>
デジタル放送のデータ放送についての標準化が進みつつある。国内では日本ARIBのデータ放送符号化仕様としてBML(Broadcast Markup Language)の策定が進められている。BMLとは、XMLベースのHTML(xHTML)を核にスタイルシート、Java(登録商標)Scriptなどの放送用のコンテンツ記述言語を定義したものである。
【0013】
次に、STB102における処理を図23を参照して説明する。処理後、ファイルとして記憶される。コンテンツデータはMPEG−2方式により他のメディアと共に多重化され、さらに単一搬送波でPSKデジタル変調後、アンテナから送信される。
【0014】
2301では、受信した電波RFをチューナで選局・復調し、多重化ストリームであるMPEG−2 TSパケットを得る。
【0015】
2302では、多重化ストリームからPID-filter/PSI-analysisに基づき、データ放送コンテンツを他のメディアから分離する。
【0016】
2303では、前分離されたデータ放送コンテンツだけを含むTSパケットをDSM−CC方式で定義される1周期分のデータ列として一時保存する。
【0017】
2304では、Carouselバッファで一時保存したデータ列(複数のDII+DDB)から、複数のフアイルを得て、STB102内のフラッシュメモリ等の記憶装置に蓄える。すなわち、送出側が、一体(マルチパート)化した「モジュール」を再び、▲1▼静止画JPEG、▲2▼図形png、▲3▼文字テキスト、▲4▼制御コードテキストを分離する。BMLブラウザソフトウェアは前記フアイルを順次読み出し、画面表示やリモコンとのデータの受け渡し印字の起動を行う。
【0018】
次に、デジタルデータ放送におけるSTB102内部でのBMLコンテンツ記憶構成を説明する。なお、ここでは、「モジュール」を複数の独立したファイルを含む「フォルダ」に近い意味で用いる。図24は一般の表示系放送内容の一例を示す。放送される番組を「イベント」と呼ぶ。イベント(例ではAfternoonTea)は複数のモジュールから構成される。
【0019】
モジュール名は16進文字列4桁に制限される。特別の番号である0x0000で区別されるモジュールは、番組群のうち最初に起動される。たいていは全体のメインメニューのページ(複数のファイルを含む)を収容してある。モジュール番号0x0000の中にstartup.bmlと言う名前のファイルが必ず存在する。表示ブラウザ(ソフト)はこのファイルを最初に処理する。もちろん、他のモジュールに(startup.bmlが)存在していても問題はない。1モジュールの最大は1MBで、イベント全体に対する最大サイズの規定はない。1イベントあたりの最大モジュール数は256個である。
【0020】
チューナに実装するRAMのサイズは最小2MBと規定されているので、放送するコンテンツのサイズもそれに合わせる必要がある。
【0021】
次に、印刷用コンテンツについて説明する。図25は印字用モジュール(例では9999番)だけを書き出した例である。このモジュールは、1個の「プリント・レイアウト情報ファイル」(例ではprint.bml)と複数の付属する「画像ファイル」からなる。なお、印字用モジュールは全体で最大300KBを想定している。なお、このモジュールにはxxxx.bmlが一個のみ存在するものとする。印刷用出力データにはこのデータが出力される。
【0022】
<マルチパート化>
次に複数のファイルが1つにまとめられた状態(マルチパート化)について説明する。図26にその記述例を示す。この1つにまとめられたファイルのことをモジュールと呼ぶ。マルチパート化は電子メールなどでもよく利用される技術で、RFC1521(MIME)で規定されている。主な構成要素とその配列を説明する。それぞれのファイルを区切るための文字(バウンダリー(boundary))を定義する。次にモジュール全体の長さが示される。さらにBoundaryに続き、resourceListという情報が付加される。(詳細はB24の2.0以前版では第2編、第9章に記載されている)resouceListには、モジュールに含まれる全てのファイルの情報(名前・サイズ等)が含まれる。そのあと、バウンダリー、ファイルの長さ、ファイルの名前など、さらに実ファイルデータが繰り返される。
【0023】
以上、STB102内で処理されるデジタルデータ放送/表示および印刷コンテンツについて簡単に説明した。
【0024】
STB102とプリンタ103との接続にはIEEE1394インタフェースを使用し、ここではPCの介在がないためSTB2プロトコルの使用はできず、AVCプロトコルまたはDPP(ダイレクトプリントプロトコル)のうち、本実施の形態ではDPPを採用した。
【0025】
<IEEE1394の技術の概要>
DPPを説明する前に、IEEE1394インタフェースの概要を説明する。まず、IEEE1394−1995規格の技術について簡単に説明する。なお、IEEE1394−1995規格(以下「IEEE1394規格」という。)についての詳細は、1996年8月30日にIEEE(The Institute of Electrical and Electronics Engineers, Inc.)から出版された「IEEE Standard for aHigh Performance Serial Bus」に記述されている。
【0026】
(1)概要
図2はIEEE1394規格に準拠したデジタルインタフェース(以下「1394インタフェース」という。)を具備するノードにより構成される通信システム(以下「1394ネットワーク」という。)の一例を示す。1394ネットワークはシリアルデータの通信可能なバス型ネットワークを構成するものである。
【0027】
図2において、各ノードA〜Fは、IEEE1394規格に準拠した通信ケーブルを介して接続されている。これらのノードA〜Hは、例えば、PC、デジタルVTR(Video Tape Recorder)、DVD(Digital Video Disc)プレーヤ、デジタルカメラ、ハードディスク、モニタ等の電子機器である。
【0028】
1394ネットワークの接続方式は、デイジーチェーン方式とノード分岐方式とに対応しており、自由度の高い接続を可能としている。また、1394ネットワークでは、例えば、既存の機器を削除したり、新たな機器を追加したり、既存の機器の電源をON/OFFしたりした場合に、自動的にバスリセットを行う。このバスリセットを行うことにより、1394ネットワークは新たな接続構成の認識と各機器に対するID情報の割り当てとを自動的に行うことができる。この機能によって、1394ネットワークはネットワークの接続構成を常時認識することができる。
【0029】
また、1394ネットワークは他の機器から転送されたデータを中継する機能を有している。この機能により、全ての機器がバスの動作状況を把握することができる。また、1394ネットワークは、Plug&Playと呼ばれる機能を有している。この機能により、全ての機器の電源をOFFにすることなく、接続するだけで自動に接続機器を認識することができる。さらに、1394ネットワークは100/200/400Mbpsのデータ転送速度に対応している。上位のデータ転送速度を持つ機器は、下位のデータ転送速度をサポートすることができるため、異なるデータ転送速度に対応する機器同士を接続することができる。
【0030】
1394ネットワークは、2つの異なるデータ転送方式(すなわち、アシンクロナス(Asynchronous)転送モードとアイソクロナス(Isochronous)転送モード)に対応している。アシンクロナス転送モードは、必要に応じて非同期に転送することが要求されるデータ(すなわち、コントロール信号やファイルデータ等)を転送する際に有効である。また、アイソクロナス転送モードは、所定量のデータを一定のデータレートで連続的に転送することが要求されるデータ(すなわち、ビデオデータやオーディオデータ等)を転送する際に有効である。アシンクロナス転送モードとアイソクロナス転送モードとは、各通信サイクル(通常1サイクルは125μS)内において混在させることが可能である。各転送モードは、サイクルの開始を示すサイクルスタートパケット(以下「CSP」という。)の転送後に実行される。
【0031】
なお、各通信サイクル期間において、アイソクロナス転送モードは、アシンクロナス転送モードよりも優先順位が高く設定されている。また、アイソクロナス転送モードの転送帯域は、各通信サイクル内で保証されている。
【0032】
(2)アーキテクチャ
図3を参照して1394インタフェースの構成要素を説明する。1394インタフェースは、機能的に複数のレイヤ(階層)から構成されている。図3において、1394インタフェースは、IEEE1394規格に準拠した通信ケーブル301を介して他のノードの1394インタフェースと接続される。また、1394インタフェースは、1つ以上の通信ポート302を有し、通信ポート302は、ハードウェア部に含まれるフィジカルレイヤ303と接続される。
【0033】
図3において、ハードウェア部はフィジカルレイヤ303とリンクレイヤ304とから構成されている。フィジカルレイヤ303は、他のノードとの物理的、電気的なインタフェース、バスリセットの検出とそれに伴う処理、入出力信号の符号化/復号化、バス使用権の調停等を行う。リンクレイヤ304は、通信パケットの生成と送受信、サイクルタイマの制御等を行なう。
【0034】
図3のファームウェア部はトランザクションレイヤ305とシリアルバスマネージメント306とを含んでいる。トランザクションレイヤ305は、アシンクロナス転送モードを管理し、各種のトランザクション(リード、ライト、ロック)を提供する。シリアルバスマネージメント306は、後述するCSRアーキテクチャに基づいて、自ノードの制御、自ノードの接続状態の管理、自ノードのID情報の管理、シリアルバスネットワークの資源管理を行う機能を提供する。
【0035】
以上、ハードウェア部とファームウェア部とが実質的に1394インタフェースを構成するものであり、それらの基本構成は、IEEE1394規格により規定されている。
【0036】
図3のソフトウェア部に含まれるアプリケーションレイヤ307は、使用するアプリケーションソフトによって異なり、ネットワーク上でどのようにデータを通信するのかを制御する。例えば、デジタルVTRの動画像データの場合は、AV/Cプロトコルなどの通信プロトコルによって規定されている。
【0037】
(2-1)リンクレイヤ304
図4はリンクレイヤ304の提供可能なサービスを示す図である。図4において、リンクレイヤ304は、次の4つのサービスを提供する。すなわち、▲1▼応答ノードに対して所定のパケットの転送を要求するリンク要求(LK_DATA.request)、▲2▼応答ノードに所定のパケットの受信を通知するリンク通知(LK_DATA.indication)、▲3▼応答ノードからのアクノリッジを受信したことを示すリンク応答(LK_DATA.response)、▲4▼要求ノードからのアクノリッジを確認するリンク確認(LK_DATA.confirmation)である。なお、リンク応答(LK_DATA.response)は、ブロードキャスト通信、アイソクロナスパケットの転送の場合には存在しない。
【0038】
リンクレイヤ304は、上述のサービスに基づいて、上述の2種類の転送方式、すなわち、アシンクロナス転送モード、アイソクロナス転送モードを実現する。
【0039】
(2-2)トランザクションレイヤ305
図5はトランザクションレイヤ305の提供可能なサービスを示す図である。図5において、トランザクションレイヤ305は、次の4つのサービスを提供する。すなわち、▲1▼応答ノードに対して所定のトランザクションを要求するトランザクション要求(TR_DATA.request)、▲2▼応答ノードに所定のトランザクション要求の受信を通知するトランザクション通知(TR_DATA.indication)、▲3▼応答ノードからの状態情報(ライト、ロックの場合は、データを含む)を受信したことを示すトランザクション応答(TR_DATA.response)、▲4▼要求ノードからの状態情報を確認するトランザクション確認(TR_DATA.confirmation)である。
【0040】
また、トランザクションレイヤ305は、上述のサービスに基づいてアシンクロナス転送を管理し、次の3種類のトランザクション、すなわち、▲1▼リードトランザクション、▲2▼ライトトランザクション、▲3▼ロックトランザクションを実現する。
【0041】
▲1▼リードトランザクションは、要求ノードが応答ノードの特定アドレスに格納された情報を読み取る。
【0042】
▲2▼ライトトランザクションは、要求ノードが応答ノードの特定アドレスに所定の情報を書き込む。
【0043】
▲3▼ロックトランザクションは、要求ノードが応答ノードに対して参照データと更新データとを転送し、応答ノードの特定アドレスの情報とその参照データとを比較し、その比較結果に応じて特定アドレスの情報を更新データに更新する。
【0044】
(2-3)シリアルバスマネージメント306
シリアルバスマネージメント306は、具体的に、次の3つの機能を提供することができる。3つの機能とは、すなわち、▲1▼ノード制御、▲2▼アイソクロナスリソースマネージャ(以下、IRM)、▲3▼バスマネージャである。
【0045】
▲1▼ノード制御は、上述の各レイヤを管理し、他のノードとの間で実行されるアシンクロナス転送を管理する機能を提供する。
【0046】
▲2▼IRMは、他のノードとの間で実行されるアイソクロナス転送を管理する機能を提供する。具体的には、転送帯域幅とチャネル番号の割り当てに必要な情報を管理し、これらの情報を他のノードに対して提供する。
【0047】
IRMは、ローカルバス上に唯一存在し、バスリセット毎に他の候補者(IRMの機能を有するノード)の中から動的に選出される。また、IRMは、後述のバスマネージャの提供可能な機能(接続構成の管理、電源管理、速度情報の管理等)の一部を提供してもよい。
【0048】
▲3▼バスマネージャは、IRMの機能を有し、IRMよりも高度なバス管理機能を提供する。具体的には、より高度な電源管理(通信ケーブルを介して電源の供給が可能か否か、電源の供給が必要か否か等の情報を各ノード毎に管理)、より高度な速度情報の管理(各ノード間の最大転送速度の管理)、より高度な接続構成の管理(トポロジマップの作成)、これらの管理情報に基づくバスの最適化等を行ない、さらにこれらの情報を他のノードに提供する機能を有する。
【0049】
また、バスマネージャは、シリアルバスネットワークを制御するためのサービスをアプリケーションに対して提供できる。ここで、サービスには、シリアルバス制御要求(SB_CONTROL.request)、シリアルバスイベント制御確認(SB_CONTROL.confirmation)、シリアルバスイベント通知(SB_CONTROL.indication)等がある。
【0050】
SB_CONTROL.requestは、アプリケーションがバスリセットを要求するサービスである。SB_CONTROL.confirmationは、SB_CONTROL.requestをアプリケーションに対して確認するサービスである。SB_CONTROL.indicationは、非同期に発生するイベントをアプリケーションに対して通知するサービスである。
【0051】
(3)アドレス指定
図6は1394インタフェースにおけるアドレス空間を説明するための説明図である。なお、1394インタフェースは、ISO/IEC 13213:1994に準じたCSR(Command and Status Register)アーキテクチャに従い、64ビット幅のアドレス空間を規定している。
【0052】
図6において、最初の10ビットのフィールド601は、所定のバスを指定するID番号に使用され、次の6ビットのフィールド602は、所定の機器(ノード)を指定するID番号に使用される。この上位16ビットを「ノードID」と呼び、各ノードはこのノードIDにより他のノードを識別する。また、各ノードは、このノードIDを用いて相手を識別した通信を行うことができる。残りの48ビットからなるフィールドは、各ノードの具備するアドレス空間(256Mバイト構造)を指定する。その内の20ビットのフィールド603は、アドレス空間を構成する複数の領域を指定する。
【0053】
フィールド603において、0〜0xFFFFDの部分は、メモリ空間と呼ばれる。0xFFFFEの部分は、プライベート空間と呼ばれ、各ノードで自由に利用できるアドレスである。また、0xFFFFEの部分は、レジスタ空間と呼ばれ、バスに接続されたノード間において共通の情報を格納する。各ノードは、レジスタ空間の情報を用いることにより、各ノード間の通信を管理することができる。最後の28ビットのフィールド604は、各ノードにおいて共通或いは固有となる情報が格納されるアドレスを指定する。例えば、レジスタ空間において、最初の512バイトは、CSRアーキテクチャーのコア(CSRコア)レジスタ用に使用される。CSRコアレジスタに格納される情報のアドレスおよび機能を図7に示す。図中のオフセットは、0xFFFFF0000000からの相対位置である。
【0054】
次の512バイトは、シリアルバス用のレジスタとして使用される。シリアルバスレジスタに格納される情報のアドレスおよび機能を図8に示す。図中のオフセットは、0xFFFFF0000200からの相対位置である。その次の1024バイトは、コンフィギュレーションROM用に使用される。
【0055】
コンフィギュレーションROMには最小形式と一般形式とがあり、0xFFFFF0000400から配置される。最小形式のコンフィギュレーションROMを図9に示す。図9において、ベンダIDは、IEEEにより各ベンダに対して固有に割り当てられた24ビットの数値である。図10は一般形式のコンフィギュレーションROMを示す。図10において、上述のベンダIDは、Root Directory1002に格納されている。Bus Info Block1001とRoot Leaf1005とには、各ノードを識別する固有のID情報としてノードユニークIDを保持することが可能である。
【0056】
ここで、ノードユニークIDは、メーカ、機種に関わらず、1つのノードを特定することのできる固有のIDを定めるようになっている。ノードユニークIDは64ビットにより構成され、上位24ビットは上述のベンダIDを示し、下位48ビットは各ノードを製造するメーカにおいて自由に設定可能な情報(例えば、ノードの製造番号等)を示す。なお、このノードユニークIDは、例えばバスリセットの前後で継続して特定のノードを認識する場合に使用される。
【0057】
図10において、Root Directory1002には、ノードの基本的な機能に関する情報を保持することが可能である。詳細な機能情報は、Root Directory1002からオフセットされるサブディレクトリ(Unit Directories1004)に格納される。Unit Directories1004には、例えば、ノードのサポートするソフトウェアユニットに関する情報が格納される。具体的には、ノード間のデータ通信を行うためのデータ転送プロトコル、所定の通信手順を定義するコマンドセット等に関する情報が保持される。
【0058】
Node Dependent Info Directory1003には、デバイス固有の情報を保持することが可能である。Node Dependent Info Directory1003は、Root Directory1002によりオフセットされる。
【0059】
Vendor Dependent Information1006には、ノードを製造、或いは販売するベンダ固有の情報を保持することができる。
【0060】
残りの領域は、ユニット空間と呼ばれ、各ノード固有の情報、例えば、各機器の識別情報(会社名、機種名等)や使用条件等が格納されたアドレスを指定する。ユニット空間のシリアルバス装置レジスタに格納される情報のアドレスおよび機能を図11に示す。図中のオフセットは、0xFFFFF0000800からの相対位置である。
【0061】
なお、一般的に、異種のバスシステムの設計を簡略化したい場合、各ノードは、レジスタ空間の最初の2048バイトのみを使うべきである。つまり、CSRコアレジスタ、シリアルバスレジスタ、Configuration ROM、ユニット空間の最初の2048バイトの合わせて4096バイトで構成することが望ましい。
【0062】
(4)通信ケーブルの構成
図12にIEEE1394規格に準拠した通信ケーブルの断面図を示す。通信ケーブルは、2組のツイストペア信号線と電源ラインとにより構成されている。電源ラインを設けることによって、1394インタフェースは、主電源のOFFとなった機器、故障により電力低下した機器等にも電力を供給することができる。なお、電源線内を流れる電源の電圧は8〜40V、電流は最大電流DC1.5Aと規定されている。2組のツイストペア信号線には、DS-Link(Data/Strobe Link)符号化方式にて符号化された情報信号が伝送される。
【0063】
図13はDS-Link符号化方式を説明する図である。このDS-Link符号化方式は、高速なシリアルデータ通信に適しており、その構成は、2組のより対線を必要とする。一組のより対線は、データ信号を送り、他のより対線は、ストローブ信号を送る構成になっている。受信側は、2組の信号線から受信したデータ信号とストローブ信号との排他的論理和をとることによって、クロックを再現することができる。
【0064】
なお、DS-Link符号化方式を用いることにより、1394インタフェースには、例えば次のような利点がある。▲1▼他の符号化方式に比べて転送効率が高い。▲2▼PLL回路が不要となり、コントローラLSIの回路規模を小さくできる。▲3▼アイドル状態であることを示す情報を送る必要が無いため、トランシーバ回路をスリープ状態とし易く、消費電力の低減が図れる。
【0065】
(5)バスリセット
各ノードの1394インタフェースは、ネットワークの接続構成に変化が生じたことを自動的に検出することができる。この場合、1394ネットワークは以下に示す手順によりバスリセットと呼ばれる処理を行う。なお、接続構成に変化は、各ノードの具備する通信ポートかかるバイアス電圧の変化により検知することができる。
【0066】
ネットワークの接続構成の変化(例えば、ノードの挿抜、ノードの電源のON/OFFなどによるノード数の増減)を検出したノード、または新たな接続構成を認識する必要のあるノードは、1394インタフェースを介して、バス上にバスリセット信号を送信する。
【0067】
バスリセット信号を受信したノードの1394インタフェースは、バスリセットの発生を自身のリンクレイヤ304に伝達すると共に、そのバスリセット信号を他のノードに転送する。バスリセット信号を受信したノードは、今まで認識していたネットワークの接続構成および各機器に割り当てられたノードIDをクリアにする。最終的に全てのノードがバスリセット信号を検知した後、各ノードは、バスリセットに伴う初期化処理(すなわち、新たな接続構成の認識と新たなノードIDの割り当て)を自動的に行う。
【0068】
なお、バスリセットは、先に述べたような接続構成の変化による起動の他に、ホスト側の制御によって、アプリケーションレイヤ307がフィジカルレイヤ303に対して直接命令を出すことによって起動させることも可能である。
【0069】
また、バスリセットが起動するとデータ転送は一時中断され、バスリセットに伴う初期化処理の終了後、新しいネットワークのもとで再開される。
【0070】
(6)バスリセット起動後のシーケンス
バスリセットの起動後、各ノードの1394インタフェースは、新たな接続構成の認識と新たなノードIDの割り当てとを自動的に実行する。以下、バスリセットの開始からノードIDの割り当て処理までの基本的なシーケンスを図14〜16を用いて説明する。
【0071】
図14は、図2の1394ネットワークにおけるバスリセット起動後の状態を説明する図である。図14において、ノードAは1つの通信ポート、ノードBは2つの通信ポート、ノードCは2つの通信ポート、ノードDは3つの通信ポート、ノードEは1つの通信ポート、ノードFは1つの通信ポートを具備している。各ノードの通信ポートには、各ポートを識別するためにポート番号を付されている。
【0072】
次に、図14におけるバスリセットの開始からノードIDの割り当てまでを図15のフローチャートを用いて説明する。1394ネットワークを構成する各ノードA〜Fは、バスリセットが発生したか否かを常時監視している(ステップS1501)。接続構成の変化を検出したノードからバスリセット信号が出力されると、各ノードは以下の処理を実行する。バスリセットの発生後、各ノードは、夫々の具備する通信ポート間において親子関係の宣言を行なう(ステップS1502)。各ノードは、全てのノード間の親子関係が決定されるまで、ステップS1502の処理を繰り返し行なう(ステップS1503)。
【0073】
全てのノード間の親子関係が決定した後、1394ネットワークは、ネットワークの調停を行なうノード、すなわちルートを決定する。(ステップS1504)。ルートを決定した後、各ノードの1394インタフェース夫々は、自己のノードIDを自動的に設定する作業を実行する(ステップS1505)。全てのノードに対してノードIDの設定がなされるまで、各ノードは所定の手順に基づきステップS1505の処理を実行する(ステップS1506)。
【0074】
最終的に全てのノードに対してノードIDが設定された後、各ノードは、アイソクロナス転送或いはアシンクロナス転送を実行する(ステップS1507)。ステップS1507の処理を実行すると共に、各ノードの1394インタフェースは、再びバスリセットの発生を監視する。バスリセットが発生した場合には、ステップS1501以降の処理を再び実行する。
【0075】
以上の手順により、各ノードの1394インタフェースは、バスリセットが起動する毎に、新たな接続構成の認識と新たなノードIDの割り当てとを自動的に実行することができる。
【0076】
(7)親子関係の決定
図16を参照して、図15のステップS1502の処理、すなわち、各ノード間の親子関係を認識する処理の手順を詳細に示すフローチャートである。バスリセットの発生後、1394ネットワーク上の各ノードA〜Fは、自分の具備する通信ポートの接続状態(接続または未接続)を確認する(ステップS1601)。通信ポートの接続状態の確認後、各ノードは、他のノードと接続されている通信ポート(以下「接続ポート」という。)の数をカウントする(ステップS1602)。
【0077】
ステップS1602の処理の結果、接続ポートの数が1つである場合、そのノードは、自分が「リーフ」であると認識する(ステップS1603)。ここで、リーフとは、1つのノードとのみ接続されているノードのことである。
【0078】
リーフとなるノードは、その接続ポートに接続されているノードに対して、「自分は子(Child)」であることを宣言する(ステップS1604)。このとき、リーフは、その接続ポートが「親ポート(親ノードと接続された通信ポート)」であると認識する。ここで、親子関係の宣言は、まず、ネットワークの末端であるリーフとブランチとの間にて行われ、ついで、ブランチとブランチとの間で順次に行われる。各ノード間の親子関係は、早く宣言の行なえる通信ポートから順に決定される。また、各ノード間において、子であることを宣言した通信ポートは「親ポート」であると認識され、その宣言を受けた通信ポートは「子ポート(子ノードと接続された通信ポート)」であると認識される。例えば、図14において、ノードA、E、Fは、自分がリーフであると認識した後、親子関係の宣言を行う。これにより、ノードA−B間では子−親、ノードE−D間では子−親、ノードF−D間では子−親と決定される。
【0079】
他方、ステップS1602の処理の結果、接続ポートの数が2つ以上の場合、そのノードは、自分を「ブランチ」であると認識する(ステップS1605)。ここで、ブランチとは、2つ以上のノードと接続されているノードのことである。
【0080】
ブランチとなるノードは、各接続ポートのノードから親子関係の宣言を受け付ける(ステップS1606)。宣言を受け付けた接続ポートは、「子ポート」として認識される。1つの接続ポートを「子ポート」と認識した後、ブランチは、まだ親子関係の決定されていない接続ポート(すなわち、未定義ポート)が2つ以上あるか否かを検出する(ステップS1607)。その結果、未定義ポートが2つ以上ある場合、ステップS1606に戻る。
【0081】
他方、ステップS1607で検出した結果、未定義ポートが1つだけ存在する場合、ブランチは、その未定義ポートが「親ポート」であると認識し、そのポートに接続されているノードに対して「自分は子」であることを宣言する(ステップS1608、S1609)。
【0082】
ここで、ブランチは、残りの未定義ポートが1つになるまで自分自身が子であると他のノードに対して宣言することができない。例えば、図14において、ノードB、C、Dは、自分がブランチであると認識すると共に、リーフあるいは他のブランチからの宣言を受け付ける。ノードDは、D−E間、D−F間の親子関係が決定した後、ノードCに対して親子関係の宣言を行っている。また、ノードDからの宣言を受けたノードCは、ノードBに対して親子関係の宣言を行っている。
【0083】
他方、ステップS1608の処理の結果、未定義ポートが存在しない場合(つまり、ブランチの具備する全ての接続ポートが親ポートとなった場合)、そのブランチは、自分自身がルートであることを認識する。(ステップS1610)。
【0084】
例えば、図14において、接続ポートの全てが親ポートとなったノードBは、1394ネットワーク上の通信を調停するルートとして他のノードに認識される。ここで、ノードBがルートと決定されたが、ノードBの親子関係を宣言するタイミングが、ノードCの宣言するタイミングに比べて早い場合には、他のノードがルートになる可能性もある。すなわち、宣言するタイミングによっては、どのノードもルートとなる可能性がある。従って、同じネットワーク構成であっても同じノードがルートになるとは限らない。
【0085】
このように全ての接続ポートの親子関係が宣言されることによって、各ノードは、1394ネットワークの接続構成を階層構造(ツリー構造)として認識することができる(ステップS1611)。なお、上述の親ノードは階層構造における上位であり、子ノードは階層構造における下位となる。
【0086】
(8)ノードIDの割り当て
図17は、図15のステップS1505の処理、すなわち、自動的に各ノードのノードIDを割り当てる処理の手順を詳細に示すフローチャートである。ここで、ノードIDは、バス番号とノード番号とから構成されるが、本実施の形態では、各ノードを同一バス上に接続するものとし、各ノードには同一のバス番号が割り当てられるものとする。
【0087】
ルートは、ノードIDが未設定のノードが接続されている子ポートのうち、最小番号を有する通信ポートに対してノードIDの設定許可を与える(ステップS1701)。なお、図17において、ルートは、最小番号の子ポートに接続されている全ノードのノードIDを設定した後、その子ポートを設定済とし、次に最小となる子ポートに対して同様の制御を行なう。最終的に子ポートに接続された全てのノードのID設定が終了した後、ルート自身のノードIDを設定する。なお、ノードIDに含まれるノード番号は、基本的にリーフ、ブランチの順に0、1、2…と割り当てられる。従って、ルートが最も大きなノード番号を有することになる。
【0088】
ステップS1701において、設定許可を得たノードは、自分の子ポートのうち、ノードIDが未設定となるノードを含む子ポートがあるか否かを判断する(ステップS1702)。ステップS1702において、未設定ノードを含む子ポートが検出された場合、上述の設定許可を得たノードは、その子ポートに直接接続されたノードに対してその設定許可を与えるように制御する(ステップS1703)。
【0089】
ステップS1703の処理後、上述の設定許可を得たノードは、自分の子ポートのうち、ノードIDが未設定であるノードを含む子ポートがあるか否かを判断する(ステップS1704)。ここで、ステップS1704の処理後、未設定ノードを含む子ポートの存在が検出された場合、そのノードは、再びステップS1703の処理を実行する。
【0090】
他方、ステップS1702あるいはS1704において、未設定ノードを含む子ポートが検出されなかった場合、設定許可を得たノードは、自分自身のノードIDを設定する(ステップS1705)。
【0091】
自分のノードIDを設定したノードは、自己のノード番号、通信ポートの接続状態に関する情報等を含んだセルフIDパケットをブロードキャストする(ステップS1706)。なお、ブロードキャストとは、あるノードの通信パケットを、1394ネットワークを構成する不特定多数のノードに対して転送することである。
【0092】
ここで、各ノードは、このセルフIDパケットを受信することにより、各ノードに割り当てられたノード番号を認識することができ、自分に割り当てられるノード番号を知ることができる。例えば、図14において、ルートであるノードBは、最小ポート番号「#1」の通信ポートに接続されたノードAに対してノードID設定の許可を与える。ノードAは、自己のノード番号「No.0」と割り当て、自分自身に対してバス番号とノード番号とからなるノードIDを設定する。また、ノードAは、そのノード番号を含むセルフIDパケットをブロードキャストする。
【0093】
図18にセルフIDパケットの構成例を示す。図18において、1801はセルフIDパケットを送出したノードのノード番号を格納するフィールドである。1802は対応可能な転送速度に関する情報を格納するフィールドである。1803はバス管理機能(バスマネージャの能力の有無等)の有無を示すフィールドである。1804は電力の消費および供給の特性に関する情報を格納するフィールドである。1805はポート番号#0となる通信ポートの接続状態に関する情報(接続、未接続、通信ポートの親子関係等)を格納するフィールドである。1806はポート番号#1となる通信ポートの接続状態に関する情報(接続、未接続、通信ポートの親子関係等)を格納するフィールドである。1807はポート番号#2となる通信ポートの接続状態に関する情報(接続、未接続、通信ポートの親子関係等)を格納するフィールドである。
【0094】
なお、セルフIDパケットを送出するノードにバスマネージャとなり得る能力がある場合には、フィールド1803に示すコンテンダビットを1とし、なり得る能力がなければ、コンテンダビットを0とする。ここで、バスマネージャとは、上述のセルフIDパケットに含まれる各種の情報に基づいて、バスの電源管理(通信ケーブルを介して電源の供給が可能か否か、電源の供給が必要か否か等の情報を各ノード毎に管理する)と、速度情報の管理(各ノードの対応可能な転送速度に関する情報から各ノード間の最大転送速度を管理する)と、トポロジマップ情報の管理(通信ポートの親子関係情報からネットワークの接続構成を管理する)と、トポロジマップ情報に基づくバスの最適化等を行ない、それらの情報を他のノードに提供する機能を有するノードである。これらの機能により、バスマネージャとなるノードは1394ネットワーク全体のバス管理を行なうことができる。
【0095】
ステップS1706の処理後、ノードIDの設定を行ったノードは、親ノードがあるか否かを判断する(ステップS1707)。親ノードがある場合、その親ノードが、ステップS1702以下の処理を再び実行する。そして、まだノードIDの設定されていないノードに対して許可を与える。
【0096】
他方、親ノードが存在しない場合、そのノードは、ルート自身であると判断される。ルートは、全ての子ポートに接続されたノードに対してノードIDが設定されたか否かを判別する(ステップS1708)。ステップS1708において、全てのノードに対するID設定処理が終了しなかった場合、ルートは、そのノードを含む子ポートのうち、最小番号となる子ポートに対してID設定の許可を与える(ステップS1701)。その後、ステップS1702以下の処理を実行する。
【0097】
他方、全てのノードに対するID設定処理が終了した場合、ルートは、自分自身のノードIDの設定を実行する(ステップS1709)。ノードIDの設定後、ルートは、セルフIDパケットをブロードキャストする(ステップS1710)。
【0098】
以上の処理によって、1394ネットワークは、各ノードに対して自動的にノードIDを割り当てることができる。
【0099】
ここで、ノードIDの設定処理後、複数のノードがバスマネージャの能力を具備する場合、ノード番号の最も大きいノードがバスマネージャとなる。つまり、ネットワークうちで最大となるノード番号を持つルートがバスマネージャになり得る機能を有している場合には、ルートがバスマネージャとなる。
【0100】
しかしながら、ルートにその機能が備わっていない場合には、ルートの次に大きいノード番号を具備するノードがバスマネージャとなる。また、どのノードがバスマネージャになったかについては、各ノードがブロードキャストするセルフIDパケットうちのコンテンダビット1803をチェックすることにより把握することができる。
【0101】
(9)アービトレーション
図19は、図1の1394ネットワークにおけるアービトレーションを説明するための説明図である。1394ネットワークでは、データ転送に先立って、必ずバス使用権のアービトレーション(調停)を行なう。1394ネットワークは、論理的なバス型ネットワークであり、各ノードから転送された通信パケットを他のノードに中継することによって、ネットワークうちの全てのノードに同じ通信パケットを転送することのできる。従って、通信パケットの衝突を防ぐために、必ずアービトレーションが必要となる。これによって、ある時間において1つのノードのみが転送を行なうことができる。
【0102】
図19(a)は、ノードBとノードFとが、バス使用権の要求を発している場合について説明するための説明図である。アービトレーションが始まるとノードB、Fは、それそれ親ノードに向かって、バス使用権の要求を発する。ノードBの要求を受けた親ノード(すなわち、ノードC)は、自分の親ノード(すなわち、ノードD)に向かって、そのバス使用権を中継する。この要求は、最終的に調停を行なうルート(ノードD)に届けられる。バス使用要求を受けたルートは、どのノードにバスを使用させるかを決める。この調停作業はルートとなるノードのみが行なえるものであり、調停によって勝ったノードにはバスの使用許可が与えられる。
【0103】
図19(b)は、ノードFの要求が許可され、ノードBの要求が拒否されたことを示す図である。アービトレーションに負けたノードに対してルートは、DP(Data prefix)パケットを送り、拒否されたことを知らせる。拒否されたノードは、次回のアービトレーションまでバス使用要求を待機する。
【0104】
以上のようにアービトレーションを制御することによって、1394ネットワークはバスの使用権を管理することができる。
【0105】
(10)通信サイクル
アイソクロナス転送モードとアシンクロナス転送モードとは、各通信サイクル期間うちにおいて時分割に混在させることができる。ここで、通信サイクルの期間は、通常、125μSである。
【0106】
図20は、1通信サイクルにおいてアイソクロナス転送モードとアシンクロナス転送モードとを混在させた場合を説明するための説明図である。アイソクロナス転送モードはアシンクロナス転送モードより優先して実行される。その理由は、サイクルスタートパケットの後、アシンクロナス転送を起動するために必要なアイドル期間(サブアクションギャップ(subaction gap))が、アイソクロナス転送を起動するため必要なアイドル期間(アイソクロナスギャップ)よりも長くなるように設定されているためである。これにより、アイソクロナス転送は、アシンクロナス転送に優先して実行される。
【0107】
図20において、各通信サイクルのスタート時には、サイクルスタートパケットが所定のノードから転送される。各ノードは、このCSPを用いて時刻調整を行うことによって、他のノードと同じ時間を計時することができる。
【0108】
(11)アイソクロナス転送モード
アイソクロナス転送モードは、同期型の転送方式である。アイソクロナスモード転送は、通信サイクルの開始後、所定の期間において実行可能である。また、アイソクロナス転送モードは、リアルタイム転送を維持するために、各サイクル毎に必ず実行される。
【0109】
アイソクロナス転送モードは、特に動画像データや音声データ等のリアルタイムな転送を必要とするデータの転送に適した転送モードである。アイソクロナス転送モードは、アシンクロナス転送モードのように1対1の通信ではなく、ブロードキャスト通信である。つまり、あるノードから送出されたパケットは、ネットワーク上の全てのノードに対して一様に転送される。なお、アイソクロナス転送には、ack(受信確認用返信コード)は存在しない。
【0110】
図20において、チャネルe(ch e)、チャネルs(ch s)、チャネルk(chk)は、各ノードがアイソクロナス転送を行う期間を示す。1394インタフェースでは、複数の異なるアイソクロナス転送を区別するために、それそれ異なるチャネル番号を与えている。これにより、複数ノード間でのアイソクロナス転送が可能となる。ここで、このチャネル番号は、送信先を特定するものではなく、データに対する論理的な番号を与えているに過ぎない。図20のアイソクロナスギャップとは、バスのアイドル状態を示すものである。このアイドル状態が一定時間を経過した後、アイソクロナス転送を希望するノードは、バスが使用できると判断し、アービトレーションを実行する。
【0111】
図21にアイソクロナス転送モードに基づいて転送される通信パケットのフォーマットを示す。以下、アイソクロナス転送モードに基づいて転送される通信パケットを、アイソクロナスパケットと称する。図21において、アイソクロナスパケットはヘッダ部2101、ヘッダCRC2102、データ部2103、データCRC2104から構成される。
【0112】
ヘッダ部2101には、データ部2103のデータ長を格納するフィールド2105、アイソクロナスパケットのフォーマット情報を格納するフィールド2106、アイソクロナスパケットのチャネル番号を格納するフィールド2107、パケットのフォーマットおよび実行しなければならない処理を識別するトランザクションコード(tcode)を格納するフィールド2108、同期化コードを格納するフィールド2109がある。
【0113】
(12)アシンクロナス転送モード
アシンクロナス転送モードは、非同期型の転送方式である。アシンクロナス転送は、アイソクロナス転送期間の終了後、次の通信サイクルが開始されるまでの間(すなわち、次の通信サイクルのCSPが転送されるまでの間)、実行可能である。
【0114】
図20において、最初のサブアクションギャップは、バスのアイドル状態を示すものである。このアイドル時間が一定値になった後、アシンクロナス転送を希望するノードは、バスが使用できると判断し、アービトレーションを実行する。
【0115】
アービトレーションによりバスの使用権を得たノードは、図22に示すパケットを所定のノードに対して転送する。このパケットを受信したノードは、ack(受信確認用返送コード)あるいは応答パケットをackギャップ後に返送する。
【0116】
図22は、アシンクロナス転送モードに基づく通信パケットのフォーマットを示す図である。以下、アシンクロナス転送モードに基づいて転送される通信パケットを、アシンクロナスパケットと称する。
【0117】
図22において、アシンクロナスパケットは、ヘッダ部2201、ヘッダCRC2202、データ部2203、データCRC2204から構成される。ヘッダ部2201において、フィールド2205には宛先となるノードのノードID、フィールド2206にはソースとなるノードのノードID、フィールド2207には一連のトランザクションを示すためのラベル、フィールド2208には再送ステータスを示すコード、フィールド2209にはパケットのフォーマットおよび実行しなければならない処理を識別するトランザクションコード(tcode)、フィールド2210には優先順位、フィールド2211には宛先のメモリアドレス、フィールド2212にはデータ部のデータ長、フィールド2213には拡張されたトランザクションコードが格納される。
【0118】
アシンクロナス転送は、自己ノードから相手ノードへの1対1の通信である。転送元ノードから転送されたパケットは、ネットワーク中の各ノードに行き渡るが、自分宛てのアドレス以外のものは無視される。従って、宛先となるノードのみが、そのパケットを読み込むことができる。
【0119】
なお、アシンクロナス転送中に次のCSPを転送すべき時間に至った場合、無理に転送を中断せず、その転送が終了した後、次のCSPを送信する。これにより、1つの通信サイクルが125μS以上続いたときは、その分、次の通信サイクル期間を短縮する。このようにすることによって、1394ネットワークは、ほぼ一定の通信サイクルを保持することができる。
【0120】
(13)デバイスマップ
デバイスマップを作成するためにアプリケーションが1394ネットワークのトポロジーを知る手段として、IEEE1394規格上、次のような手段がある。
【0121】
1.バスマネージャーのトポロジーマップレジスターをリードする
2.バスリセット時にセルフIDパケットから推定する
しかし上記1、2の手段では、各ノードの親子関係によるケーブル接続順のトポロジーは判明するものの、物理的な位置関係のトポロジーを知ることはできない。(実装されていないポートまで見えてしまう、といった問題もある)
また、デバイスマップを作成するための情報を、コンフィギュレーションROM以外のデータベースとして持つ、といった手段もあるが、その場合、各種情報を得る手段はデータベースアクセスのためのプロトコルに依存してしまう。
【0122】
ところで、コンフィギュレーションROM自体やコンフィギュレーションROMを読む機能は、IEEE1394規格を遵守したデバイスが必ず持つものである。そこで、デバイスの位置、機能等の情報を各ノードのコンフィギュレーションROMに格納し、それらをアプリケーションから読む機能を与えることにより、データベースアクセス、データ転送等の特定のプロトコルに依存することなく、各ノードのアプリケーションがいわゆるデバイスマップ表示機能を実装することができる。
【0123】
コンフィギュレーションROMにはノード固有の情報として物理的な位置、機能などが格納可能であり、デバイスマップ表示機能の実現に使用することが可能である。この場合、アプリケーションが物理的な位置関係による1394ネットワークトポロジーを知る手段としては、バスリセット時やユーザーからの要求時に、各ノードのコンフィギュレーションROMを読み取ることによ り、1394ネットワークのトポロジーを知る、という方法が可能となる。さらに、コンフィギュレーションROMうちにノードの物理的位置のみならず、機能などの各種ノード情報も記述することによって、コンフィギュレーションROMを読むことで、ノードの物理的位置と同時に各ノードの機能情報等も得ることができる。アプリケーションが各ノードのコンフィギュレーションROM情報を取得する際には、指定ノードの任意のコンフィギュレーションROM情報を取得するAPIを用いる。
【0124】
このような手段を用いることにより、IEEE1394ネットワーク上のデバイスのアプリケーションは、物理的なトポロジーマップ、各ノードの機能マップなど、用途に応じて様々なデバイスマップを作成することができ、ユーザーが必要な機能をもつデバイスを選択する、といったことも可能となる。
以上、IEEE1394インタフェースの概要を説明した。
【0125】
<DPPの概要説明>
DPPの概要を説明する。IEEE1394インタフェースにおけるアプリケーションプロトコルの1つにダイレクトプリントプロトコルDPPが挙げられる。
【0126】
ここで簡単にDPPの概要を説明する。DPPはIEEE1394のトランザクション層の上位に位置し、ディスク、テープ、プリンタやスキャナといったデバイス間の効率的コマンドデータ転送、そしてコマンドの動作状況、そしてその結果やデータの転送可否などの状態を上位アプリケーションに通知する機能を有する。DPPでは、ホストPC無しでイメージソースデバイス(Image Source Device)からプリンタへ直接印刷できることが特徴である。またデバイス間でのファイル転送も可能である。
【0127】
図27はDPPの構成を示す。DPPとはSBP2と同様IEEE1394の物理層の上位に位置し、シンプロトコル(Thin Protocol)とDPPアプリケーションコマンドセット(DPP Aprication Command Set)とで構成される。シンプロトコルは、さらに、シンセッション(Thin Session)とシントランザクション(Thin Transaction)に分かれる。
【0128】
図28はシンプロトコルの概要を示す。図28において、上段の動作がコネクション動作を示し、中段はコマンド転送動作、下段はディスコネクション動作を示す。印刷データのパケット化の実際は図29に示すとおり各層でセグメンテーション化が行われ、転送用のパケットが作られる。DPPアプリケーションコマンドセットにはDPC(Direct Print Command)セットとファイルトランスファーコマンドセット(file transfer command set)の2種類が存在し本実施の形態ではDPCセットを使用する。DPCのコマンドとしては、イメージデータ転送を行うセンドコマンド(Send Command)等のジェネリックコマンド(Generic Command)と、ネゴシエーションアイテム(Negotiation Item Command)を得るゲットクエリーアイテムコマンド(Get Query Item Command)等のネゴシエーションコマンド(Negotiation Command)他が用意されている。図30にその使用例を示す。
以上、DPPの概要を説明した。
【0129】
プリンタ103においては、DPPの処理はI/F部105で行なわれる。
STB102からのDPPで受け取ったBML/P印刷コンテンツデータ等は、データ判断部106でプリンタ103内部で処理可能なデータ(BML/P印刷コンテンツデータ)かを判別する。
【0130】
<BML/P印刷コンテンツデータ判断方法>
図25に関連して説明した印字用モジュール(例では9999番)を検出することで判断を行なう。その処理フローを図31に示す。BML解析を開始すると、3101で受信したマルチパート化されたモジュールを解析するためMIMEデコード処理を行ないる。その結果を基に、3102でプリンタレイアウト情報ファイルが有るかないかを判断し、プリンタレイアウト情報ファイルが有れば、3103の「BML/P」へ、無ければ、3104の「BML/P以外」へ進み、その後終了する。
【0131】
以上によりBML/P印刷コンテンツデータであると判断されると、BML処理部107へ進みファイル内容が処理され印刷処理部108で印刷処理される。
【0132】
一方BML/P印刷コンテンツデータでないと判断された場合は、転送処理部109へ進む。
【0133】
この場合の印刷方法について説明する。ここでは一旦転送用BML/P印刷コンテンツ外データが転送処理部109に蓄えられる。
【0134】
<BML/P印刷コンテンツ外データの印刷方法>
プリンタ103とPC104とはUSB接続してあり、PC側から見て転送処理部109はUSBの入力ポート、印刷処理部108は出力ポートとして設定されたマルチポートで構成されている。
【0135】
転送処理部109にデータが溜まると、それをトリガにしてPC104へのデータ転送が開始される。そして、データ転送が完了すると、転送処理部109から印刷開始コマンド命令がPC104へ発せられ、PC104ではその命令を受けて転送されたBML/P印刷コンテンツ外データを印刷データに変換する処理が開始される。なお、PCにおいても変換不能なBML/P印刷コンテンツ外データであれば無視される。そして、変換処理が終了したならば、通常のPC印刷処理と同様印刷処理部108に対して印刷データ出力処理を実行する。印刷処理部108ではそのデータを受けて印刷処理を行なう。
【0136】
以上、BML/P印刷コンテンツ外データの場合の印刷方法を説明した。
以上、本実施の形態により、データ放送の印刷用コンテンツに限定されることなく通常コンテンツも印刷出力を得ることができ、操作性、利便性が向上するという効果を奏する。
【0137】
<第2の実施の形態>
本実施の形態は、第1の実施の形態との比較でいえば、プリンタ103のI/F部110とPC104との間のインタフェースが異なる。すなわち、第1の実施の形態では、USBインタフェースを採用したのに対して、本実施の形態では、IEEE1394インタフェースを採用した。これにより、図32に示すように、物理的には、IEEEE1394インタフェースによるネットワークが構成される。しかし、PC104がSTB102を認識できない場合、すなわちPC104とSTB102との間のプロトコルが無い場合は、PC104から見るとSTB102は不明なデバイスとなる。その場合のプロトコルとしては、AVCが考えられるが、本実施の形態では、そのプロトコルが無い場合、すなわちSTB102とプリンタ103間、プリンタ103とPC104間で、それぞれ個別のプロトコルで動作するものとする。
【0138】
図32において、図1と同一部分は同一符号を付してある。3210はI/F部であり、IEEE1394インタフェース処理を行うものである。I/F部3210とPC104との間で供給されるプロトコルとして、イニシエータ・ターゲット構造のプロトコルであるSBP2プロトコルを採用した。SBP2プロトコルはイニシエータが基本的なコントロールの主導権を握り、ターゲットはイニシエータのメモリから自分のペースでデータをフェッチしたりすることを特徴とする。
【0139】
BML/P印刷コンテンツ外データの場合においては、PC104では予めプリンタ103との間のコネクション機能、プリンタサーバ機能を有するアプリケーションが予め起動しており、転送処理部109にデータが溜まると、それをトリガにしてPC104へのデータ転送が開始される。データ転送が完了すると、転送処理部109から印刷開始コマンド命令がPC104へ発せられ、PC104ではその命令を受けて転送されたBML/P印刷コンテンツ外データを印刷データに変換する処理が開始される。なお、PC104においても、変換不能なBML/P印刷コンテンツ外データであれば無視される。変換処理が終了したならば、通常のPC印刷処理と同様印刷処理部108に対してSBP2プロトコルベースでデータ転送され印刷データ出力処理が実行される。印刷処理部108ではそのデータを受けて印刷処理を実行する。
【0140】
よって、本実施の形態においては、データ放送の印刷用コンテンツに限定されること無く通常コンテンツも印刷出力を得ることができ、操作性、利便性が向上するという効果がある。
【0141】
<第3の実施の形態>
本実施の形態は第1の実施の形態との比較でいえば、STB102とプリンタ103との間の接続、およびPC104とプリンタ103との間の接続が異なる。すなわち、第1の実施の形態では、前者についてはIEEE1394インタフェースを採用し、後者についてはUSBインタフェースを採用した。これに対して、本実施の形態では、前者については、USBインタフェースまたはEthernet(登録商標)LAN接続を採用し、後者については、パラレルインタフェース接続を採用した。
【0142】
このように構成することにより、放送情報の印刷環境の構成装置選択肢が広がり、使用者にとっては印刷物を得るための環境構築がしやすくなるという効果を奏することができる。
【0143】
<第4の実施の形態>
本実施の形態は、第1の実施の形態においてSTB102とプリンタ103との間で供給したDPPプロトコルに代えて、AV/Cプロトコルを採用した。AV/Cプロトコルとは、AV機器用の音声、映像デジタルデータのインタフェースとして規定され最初はストリームデータ用にアイソクロナスコネクションからスタートしたが最近は静止画を送るアシンクロナスコネクションもできるようになり、本実施の形態では、そのアシンクロナスコネクションを利用して印刷データを転送するようにした。
【0144】
このように構成することにより、放送情報の印刷環境の構成装置選択肢が広がり使用者にとってはさらに印刷環境の構築がし易くなるという効果を奏することができる。
【0145】
<第5の実施の形態>
本実施の形態は、第1の実施の形態との比較でいえば、プリンタ103の構成が異なる。すなわち、第1の実施の形態では、データ判断部106においては、I/F部105からのデータ内容がBML印刷コンテンツか否かを判断し、BML印刷コンテンツと判断した場合は当該データをBML処理部107に送り、他方、BML印刷コンテンツでないと判断した場合は当該データを転送処理部109に送り、BML処理部107においては、BML印刷コンテンツデータを印刷データに変換する各種処理を行なうように構成した。
【0146】
これに対して、本実施の形態では、プリンタ3303を図33に示すように構成し、判断部3306においては、I/F部105からのデータ内容が予め登録したデータ記述言語か否かを判断し、データ記述言語と判断した場合は当該データを処理部3307に送り、他方、データ記述言語でないと判断した場合は当該データを転送処理部109に送り、処理部107においては、データを印刷データに変換する各種処理を行なうようにした。
【0147】
なお、判断部3306では、データ記述言語の登録手段により判断基準を変更することができるようになっている。処理部3307は、後からでも書き換え可能なプログラム領域になるように、例えばフラッシュメモリを備え、このフラッシュメモリはPC104により書き換えができるようになっているので、さらに柔軟に技術革新、規格の変化に対応できる。
【0148】
よって、今後の印刷コンテンツの拡張に鑑み、柔軟に対応でき、データ放送等の刻々と変化する印刷用コンテンツ方式に対応できるとともに印刷ができ、さらに印刷用コンテンツ以外も印刷出力を得ることができ、操作性、利便性が向上するという効果を奏することができる。
【0149】
<第6の実施の形態>
第1の実施の形態では、STB102からの印刷データに基づきプリンタ103により印刷する例を説明したが、インタネット機器、例えばインタネット対応ゲーム機等のイメージソースデバイスからの印刷データの印刷を可能にする。すなわち、BML/Pかどうかの印刷からインタネット情報の印刷を行なう。
【0150】
この場合の判定は単純な画像データか否かを判定し否であれば前記実施の形態1,2同様PCにその処理を委ねる。
【0151】
以上の説明のごとく本実施の形態によりインタネット情報の印刷も可能になり操作性、利便性が向上するという効果がある。
【0152】
以下に本発明の実施態様の例を列挙する。
〔実施態様1〕画像処理データ出力装置と、該画像処理データ出力装置に接続したプリンタと、前記画像処理データ出力装置および前記プリンタに接続したコンピュータとを有する画像処理システムにおいて、
前記プリンタは、
画像処理を行う画像処理手段と、
前記画像処理データ出力装置から第1インタフェースを介して受信する受信手段と、
該受信手段により受信された画像処理用データが本プリンタにおいて画像処理できるか否かを判断する判断手段と、
該判断手段により画像処理できると判断された場合に、当該画像処理用データを前記画像処理手段に転送し、他方、画像処理が実行できないと判断されたた場合に、当該画像処理用データを第2インタフェースを介して前記コンピュータに送信する切換手段と、
前記コンピュータにより送信された画像処理用データを前記第2インタフェースを介して受信し前記画像処理手段に転送する転送手段と
を備え、
前記コンピュータは、
前記切換手段により送信された画像処理用データを処理するデータ処理手段と、
該データ処理手段による処理により得られた画像処理用データを前記プリンタの前記第2インタフェースに送信する送信手段と
を備えたことを特徴とする画像処理システム。
【0153】
〔実施態様2〕実施態様1において、前記プリンタは、前記第1および第2インタフェースが異なることを特徴とする画像処理システム。
【0154】
〔実施態様3〕実施態様2において、前記第1インタフェースがIEEE1394インタフェースであり、前記第2インタフェースがUSBインタフェースであることを特徴とする画像処理システム。
【0155】
〔実施態様4〕実施態様2において、前記第1および第2インタフェースがIEEE1394インタフェースであることを特徴とする画像処理システム。
【0156】
〔実施態様5〕実施態様4において、前記第1および第2インタフェースは、プロトコルが異なることを特徴とする画像処理システム。
【0157】
〔実施態様6〕実施態様1において、前記受信手段は、DPPプロトコルまたはAVCプロトコルに基づき画像処理用データを受信し、
前記切換手段、前記転送手段、及び前記送信手段は、SBP2プロトコルに基づき画像処理用データを送受信する
ことを特徴とする画像処理システム。
【0158】
〔実施態様7〕実施態様1において、前記画像処理データ出力装置はセットトップボックスであることを特徴とする画像処理システム。
【0159】
〔実施態様8〕実施態様7において、前記画像処理用データは、データ記述言語を含むことを特徴とする画像処理システム。
【0160】
【発明の効果】
以上説明したように、本発明によれば、上記のように構成したので、使用者にとりプリンタの能力による情報データの印刷制限の範囲が広がることになり、プリンタの機能、能力を向上させるという効果がある。
【0161】
また、様々なインタフェースに対応することにより外部装置の選択肢が広がると言う効果もある。
【0162】
さらに、様々なプロトコルに対応することで外部装置および使用方法の選択肢が広がるという効果もある。
【0163】
また印刷データ出力装置にSTBの使用が可能であることにより放送情報の印刷の可能性が広がり、使用者にとり放送情報の印刷物による保存を可能にするという効果がある。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態を示すブロック図である。
【図2】IEEE1394シリアルバスのネットワークの構成を示す図である。
【図3】IEEE1394シリアルバスの構成要素を示す図である。
【図4】IEEE1394シリアルバスのリンクレイヤ提供可能なサービスを示す図である。
【図5】IEEE1394シリアルバスのトランザクションレイヤ提供可能なサービスを示す図である。
【図6】IEEE1394インタフェースにおけるアドレス空間を説明するための説明図である
【図7】IEEE1394インタフェースにおけるCSRコアレジスタに格納される情報のアドレスおよび機能を表にして示す図である。
【図8】IEEE1394インタフェースにおけるシリアルバスレジスタに格納される情報のアドレスおよび機能を表にして示す図である。
【図9】IEEE1394インタフェースにおける最小形式のコンフィギュレーションROMを示す図である。
【図10】IEEE1394インタフェースにおける一般形式のコンフィギュレーションROMを示す図である。
【図11】IEEE1394インタフェースにおけるシリアルバス装置レジスタに格納される情報のアドレスおよび機能を表にして示す図である。
【図12】IEEE1394規格に準拠した通信ケーブルの断面図である。
【図13】DS−Link符号化方式を説明するための説明図である。
【図14】図2の1394ネットワークにおけるバスリセット起動後の状態を説明するための説明図である。
【図15】図14におけるバスリセットの開始からノードIDの割り当てまでのシーケンスを示すフローチャートである。
【図16】バスリセットの開始からノードIDの割り当て処理までの基本的なシーケンスを示すフローチャートである。
【図17】図15のステップS1505の処理をより詳細に示すフローチャートである。
【図18】IEEE1394インタフェースにおけるセルフIDパケットの構成を示す図である。
【図19】IEEE1394ネットワークにおけるアービトレーションを説明するための説明図である。
【図20】1通信サイクルにおいてアイソクロナス転送モードとアシンクロナス転送モードとが混在した状況の下での転送処理を説明するための説明図である。
【図21】アイソクロナス転送モードで転送される通信パケットのフォーマットを示す図である。
【図22】アシンクロナス転送モードで転送されるパケットフォーマットを示す図である。
【図23】STB内部におけるデータ処理のフローを示す図である。
【図24】一般の表示系放送内容の一例を示す図である。
【図25】印字用モジュールのみを書き出した例を示す図である。
【図26】マルチパートの記述例を示す図である。
【図27】DPPの構成を示す図である。
【図28】DPP シンプロトコルを説明するための説明図である。
【図29】DPPのパケット化を説明するための説明図である。
【図30】実際のDPCセットを説明するための説明図である。
【図31】BML/P印刷コンテンツデータの処理手順の一例を示すフローチャートである。
【図32】本発明の第2の実施の形態を示すブロック図である。
【図33】本発明の第5の実施の形態を示すブロック図である。
【符号の説明】
101 TV
102 STB
103 プリンタ
104 PC
105 I/F部
106 データ判断部
107 BML処理部
108 印刷処理部
109 転送処理部
110 I/F部
Claims (1)
- 画像処理データ出力装置と、該画像処理データ出力装置に接続したプリンタと、前記画像処理データ出力装置および前記プリンタに接続したコンピュータとを有する画像処理システムにおいて、
前記プリンタは、
画像処理を行う画像処理手段と、
前記画像処理データ出力装置から第1インタフェースを介して受信する受信手段と、
該受信手段により受信された画像処理用データが本プリンタにおいて画像処理できるか否かを判断する判断手段と、
該判断手段により画像処理できると判断された場合に、当該画像処理用データを前記画像処理手段に転送し、他方、画像処理が実行できないと判断された場合に、当該画像処理用データを第2インタフェースを介して前記コンピュータに送信する切換手段と、
前記コンピュータにより送信された画像処理用データを前記第2インタフェースを介して受信し前記画像処理手段に転送する転送手段と
を備え、
前記コンピュータは、
前記切換手段により送信された画像処理用データを処理するデータ処理手段と、
該データ処理手段による処理により得られた画像処理用データを前記プリンタの前記第2インタフェースに送信する送信手段と
を備えたことを特徴とする画像処理システム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002362803A JP2004192559A (ja) | 2002-12-13 | 2002-12-13 | 画像処理システム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002362803A JP2004192559A (ja) | 2002-12-13 | 2002-12-13 | 画像処理システム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004192559A true JP2004192559A (ja) | 2004-07-08 |
Family
ID=32761143
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002362803A Pending JP2004192559A (ja) | 2002-12-13 | 2002-12-13 | 画像処理システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2004192559A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007004568A (ja) * | 2005-06-24 | 2007-01-11 | Fuji Xerox Co Ltd | 画像形成システム、画像形成装置、及び画像形成方法 |
-
2002
- 2002-12-13 JP JP2002362803A patent/JP2004192559A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007004568A (ja) * | 2005-06-24 | 2007-01-11 | Fuji Xerox Co Ltd | 画像形成システム、画像形成装置、及び画像形成方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4035235B2 (ja) | 電子機器 | |
| JP4536981B2 (ja) | 情報信号処理装置及び情報信号処理方法 | |
| JPWO2001017177A1 (ja) | 情報通信システム、情報通信方法、情報信号処理装置及び情報信号処理方法並びに記憶媒体 | |
| CN100420211C (zh) | 通信系统和设备 | |
| JP2001306428A (ja) | ネットワーク機器、ネットワークシステム、通信方法及び記録媒体 | |
| JP4027189B2 (ja) | 情報処理システム、情報処理装置、情報処理方法、プログラム及び記憶媒体 | |
| JP2002077211A (ja) | 情報処理装置およびその方法、並びに、記録媒体 | |
| JP2001160939A (ja) | 画像処理装置及び画像処理システム、及びその制御方法 | |
| JP2001274813A (ja) | 情報信号処理装置及び情報信号処理方法並びに記憶媒体 | |
| JP2000259545A (ja) | 情報処理装置およびその方法、並びに、記録媒体 | |
| JP2004509518A (ja) | 通信システムおよびデバイス | |
| JP2004192559A (ja) | 画像処理システム | |
| JP2004179898A (ja) | 画像処理装置 | |
| JP2002057683A (ja) | 制御機器および制御方法 | |
| JP2004179899A (ja) | 画像処理装置 | |
| JP2004064665A (ja) | データ転送装置及び送信装置及び受信装置及びそれらの制御方法 | |
| JP4109983B2 (ja) | 通信システム | |
| JP2003229857A (ja) | シリアルバスシステム、シリアルバスの帯域管理機器および通信機器 | |
| JP4095384B2 (ja) | 情報処理システム、情報処理装置、情報処理方法、プログラム及び記憶媒体 | |
| US8914554B2 (en) | Communication network device that compares first and second identification number of packet to determine if they are in conformance or non-conformance with self-ID packet | |
| JP3495878B2 (ja) | データ処理方法、データ処理装置及びプリンタ | |
| JP2009027349A (ja) | ネットワーク機器 | |
| JP2004102443A (ja) | 情報処理システム、情報処理方法、プログラム及び記憶媒体 | |
| JP2005044078A (ja) | 通信方法、印刷装置及びホスト装置 | |
| JP2003110651A (ja) | データ処理方法、データ処理装置、通信プロトコル及びプログラム |