| 【発明の名称】 |
プリンタ |
| 【発明者】 |
【氏名】井原 祐之
【氏名】五十嵐 卓也
|
| 【要約】 |
【課題】複数の電子機器からほぼ同時に要求がなされた場合にも確実に印刷処理を実行することが可能なプリンタを提供する。
【解決手段】I/F13aは、他の電子機器であるSTB11から送信されたプリント要求を受信する。CPU13bは、I/F13aによって受信されたプリント要求に対して、処理を担当する論理的な機能ブロックを割り当てる。CPU13aは、割り当て手段によって割り当てられた論理的な機能ブロックを示す情報を、I/F13aを介して、要求を行った他の電子機器であるSTB11に対して送信する。STB11は、割り当てられた機能ブロックに対して印刷データを送信する。プリントエンジン13dは、送信されたデータを該当する機能ブロックに対して供給して印刷させる。 |
【特許請求の範囲】
【請求項1】 IEEE1394規格に準拠したインターフェースを具備するプリンタにおいて、他の電子機器から送信されたプリント要求を受信する受信手段と、前記受信手段によって受信されたプリント要求に対して、処理を担当する論理的な機能ブロックを割り当てる割り当て手段と、前記割り当て手段によって割り当てられた論理的な機能ブロックを示す情報を、要求を行った他の電子機器に対して送信する送信手段と、を有することを特徴とするプリンタ。 【請求項2】 前記受信手段は、AV/Cプロトコルに対応していることを特徴とする請求項1記載のプリンタ。 【請求項3】 前記割り当て手段は、前記機能ブロックが複数存在している場合には、要求がなされた順番に応じて前記機能ブロックの割り当てを行うことを特徴とする請求項1記載のプリンタ。 【請求項4】 前記割り当て手段によって割り当てが行われた電子機器とは異なる電子機器から接続要求がなされた場合には、当該電子機器からの要求を却下することを特徴とする請求項1記載のプリンタ。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明はプリンタに関し、特に、IEEE1394規格に準拠したインターフェースを具備するプリンタに関する。 【0002】 【従来の技術】音や映像などリアルタイム性が要求されるマルチメディアデータの転送に適したアイソクロナス(等時性;Isochronous)転送方式を採用しているIEEE(Institute of Electrical and Electronics Engineers)1394インターフェースがパーソナルコンピュータやAV機器を中心に普及しつつある。 【0003】ところで、近年では、ディジタルカメラ等とプリンタをIEEE1394インターフェースにより直接接続し、パーソナルコンピュータの介在無しに印刷すること(いわゆるダイレクトプリンティング)を可能にするDPP(Direct PrintProtocol)が普及しつつあり、特に、AV(Audio Visiual)分野を中心とするAV/C(Audio Visual/Control)プロトコルが注目を集めている。 【0004】 【発明が解決しようとする課題】ところで、前述したAV/Cプロトコルでは、印刷の処理単位であるジョブと、プリンタの機能ブロックであるサブユニットプラグとの対応関係がディジタルカメラ等のコントローラ側には明示されなかった。その結果、コントローラが複数存在する場合に、これらからの要求がほぼ同時になされた場合には、あるジョブによって確保されたサブユニットプラグが他のジョブによって横取りされてしまい、印刷が正常に行われない場合があるという問題点があった。以下にその具体例を説明する。 【0005】図7は、2台のコントローラC1,C2と、プリンタPとがIEEE1394インターフェースによって接続された場合を示す図である。ここで、コントローラC1,C2は、例えば、ディジタルカメラやSTB(Set Top Box)である。プリンタPはAV/Cプロトコルに対応しており、コントローラC1,C2側から見た場合に、論理的な機能ブロックとしてのサブユニット(SUBUNIT)PSを有している。なお、サブユニットは複数の入力ポートとしてのサブユニットプラグ(SUBUNIT_PLUG)を有する場合もあるが、この例では、サブユニットが単一のサブユニットプラグを有する場合を示してある。 【0006】先ず、図8を参照して何れか一方のコントローラが印刷要求を行った場合の処理について説明する。時刻t1において、例えば、コントローラC1は接続相手を検出するためのSUBUNIT_INFOをプリンタPに対して送信する。 【0007】プリンタが検出されると、コントローラC1は、時刻t2において、検出されたプリンタに対して印刷要求であるJOB_QUEUEを送信する。ここで、括弧内の「add_job」はパラメータであり、新たなキューの作成に対する要求を示している。 【0008】時刻t3においては、印刷用紙への出力形式を設定するためのOPERATION_MODEがコントローラC1からプリンタPに対して送信される。時刻t4では、プリンタ(ユニット)のプラグ(物理的な機能ブロック)を確保するためのALLOCATEがプリンタPに対して送信される。 【0009】時刻t5では、ALLOCATEによって確保されたプラグを実際に使用するための宣言であるATTACHが送信される。時刻t6では、ALLOCATEによって確保された機能ブロックであるSUBUNIT0と、プリンタが有する複数のユニットのうちのひとつであるUNIT0とを接続することを要求するCONNECT(UNIT0,SUBUNIT0)をプリンタPに対して送信する。 【0010】時刻t7では、データの受信を要請するCAPTURE(RECEIVE,SUBUNIT0)がプリンタPに対して送信される。その結果、プリンタPからはタイミング調節のためのINTERIMが時刻t8に返送される。 【0011】時刻t9〜t10はデータの転送処理であり、時刻t11以降は、転送の終了のための処理が実行される。次に、図9を参照して、2台のコントローラC1,C2から印刷要求がほぼ同時になされた場合の動作について説明する。 【0012】図9の例では、時刻t1においてコントローラC1が、また、時刻t2においてコントローラC2がそれぞれ、接続相手を検出するためのSUBUNIT_INFOを送信している。 【0013】それ以降は、それぞれのコントローラが前述の場合と同様の処理を行い、時刻t9および時刻t10において、コントローラC1,C2からそれぞれATTACHが送信されることになる。 【0014】ところで、従来においては、どのコントローラがどのサブユニットプラグを使用するかを事前に宣言することができなかった。そのため、それぞれのコントローラは、勝手に自己が使用するサブユニットプラグを宣言してデータの転送を開始してしまう。図9の例では、時刻t11においてコントローラC1がサブユニットプラグの“0”との接続を確立した直後に、コントローラC2が同一のサブユニットプラグの“0”との接続を時刻t12に行っている。その結果、コントローラC1との間で確立された接続は、コントローラC2への接続に変更されてしまい、そのままコントローラC1がデータの送信を行うと、コントローラC2が利用しているジョブに対して誤ったデータが転送されることになる。 【0015】なお、以上の例では、サブユニットプラグが1だけの場合について説明したが、サブユニットプラグが複数存在する場合であっても、前述の場合と同様の処理が実行され、誤動作が生ずる結果となる。 【0016】以上に説明したように、従来の方法では、どのコントローラがどのサブユニットプラグを使用するかを事前に宣言することができなかったので、複数のコントローラが印刷の要求を同時期に行った場合には、印刷が正常に行われない等の不具合が発生するという問題点があった。 【0017】本発明は、以上のような状況に鑑みてなされたものであり、複数のコントローラから印刷要求が同時期になされた場合にも、印刷を正常に実行することが可能なプリンタを提供することを目的とする。 【0018】 【課題を解決するための手段】本発明では上記課題を解決するために、図2に示す、IEEE1394規格に準拠したインターフェースを具備するプリンタ13において、他の電子機器(STB11)から送信されたプリント要求を受信する受信手段(I/F13a)と、前記受信手段によって受信されたプリント要求に対して、処理を担当する論理的な機能ブロックを割り当てる割り当て手段(CPU13b)と、前記割り当て手段によって割り当てられた論理的な機能ブロックを示す情報を、要求を行った他の電子機器に対して送信する送信手段(I/F13a)と、を有することを特徴とするプリンタが提供される。 【0019】ここで、受信手段(I/F13a)は、他の電子機器(STB11)から送信されたプリント要求を受信する。割り当て手段(CPU13b)は、受信手段によって受信されたプリント要求に対して、処理を担当する論理的な機能ブロックを割り当てる。送信手段(I/F13a)は、割り当て手段によって割り当てられた論理的な機能ブロックを示す情報を、要求を行った他の電子機器に対して送信する。 【0020】 【発明の実施の形態】以下、本発明の実施の形態を図面を参照して説明する。図1は、本発明の実施の形態の構成例を示す図である。 【0021】この図において、パラボラアンテナ10は、図示せぬ放送衛星から送信された電波を受信する。STB11は、パラボラアンテナ10によって受信された電波をデコードし、映像信号等を抽出して、モニタ12およびプリンタ13に供給する。 【0022】モニタ12は、例えば、CRT(Cathode Ray Tube)モニタによって構成されており、STB11から出力された映像信号を表示出力する。プリンタ12は、STB11によって抽出された各種印刷情報を、レイアウト・ラスタイメージ化した後、プリント用紙に印刷する。 【0023】図2は、STB11とプリンタ13の詳細な構成例を示す図である。この図に示すように、STB11は、F/E(Front End)11a、DES(Descrambler)11b、I/F(Interface)11c、DEMUX(Demultiplexer)11d、AVデコーダ11e、NTSC(National Television System Committee)エンコーダ11f、CPU(Central Processing Unit)11g、および、RAM(Random Access Memory)11hによって構成されている。 【0024】F/E11aは、パラボラアンテナ10から供給された電波を復調してディジタル化し、画像データや音声データが多重化されているストリームに変換する。DES11bは、F/E11aによって抽出されたストリームに施されているスクランブル処理を解除して出力する。 【0025】I/F11cは、IEEE1394規格に準拠したインターフェースであり、DES11bによってスクランブル処理が解除されたストリームから印刷情報を抽出し、プリンタ13に供給する。または、CPU11gから供給された画像データを、プリンタ13に供給する。 【0026】DEMUX11dは、画像データおよび音声データ等が多重化されたストリームを復号し、画像データおよび音声データを分離して出力する。なお、この図には示していないが、DEMUX11dは、グラフィックRAMを有しており、AVデコーダ11eから供給された静止画像を格納する。 【0027】AVデコーダ11eは、DEMUX11dから供給された画像データおよび音声データを復号してもとの映像信号および音声信号を生成する。なお、この図には示していないが、AVデコーダ11eは、ビデオRAMを有しており、AVデコーダ11eによって復号された静止画像を格納し、必要に応じて前述のグラフィックRAMに対して転送する。 【0028】NTSCエンコーダ11fは、AVデコーダ11eから供給された画像および音声信号をNTSCフォーマットに準拠した映像信号に変換して出力する。CPU11gは、装置全体の制御を行うとともに、STB11の図示せぬ操作部が操作された場合には該当する処理を実行する。また、モニタ12に表示されたGUI(Graphical User Interface)が操作された場合にも、該当する処理を実行する。 【0029】RAM11hは、CPU11gが各種演算処理を実行する際に、実行対象のプログラムと処理対象のデータを一時的に格納する。次に、プリンタ13の構成について説明する。 【0030】プリンタ13は、I/F13a、CPU13b、RAM13c、および、プリントエンジン13dによって構成されている。I/F13aは、IEEE1394規格に準拠したインターフェースであり、STB11のI/F11cとの間でデータを授受する。 【0031】CPU13bは、装置の各部を制御するとともに、各種演算処理を実行する。RAM13cは、CPU13bが実行途中のプログラムや、演算途中のデータを一時的に格納する。 【0032】プリントエンジン13dは、印刷処理を実行する部分であり、CPU13bの制御に応じてSTB11から送信されてきたデータを印刷する。次に、以上の実施の形態の動作について説明する。なお、以下の例では、プリンタ13は、2つのユニット(UNIT0,1)と、2つのサブユニットプラグ(SUBUNIT0,1)を有しているものとして説明を行う。 【0033】図3は、図2に示すSTB11がプリンタ13に対して印刷要求を行う場合のシグナルフローである。先ず、時刻t1において、STB11は、接続相手を検出するためのSUBUNIT_INFOをプリンタ13に対して送信する。 【0034】続いて、時刻t2では、STB11は、検出されたプリンタに対する印刷要求であるJOB_QUEUEを送信する。図4は、このとき送信されるJOB_QUEUEのデータ構造を示す図である。この図に示すように、JOB_QUEUEは、オペコード(OPCODE)と、オペランド(OPERAND)[0]〜[28]によって構成されている。ここで、通常のJOB_QUEUEと異なるのは、新たに拡張された4バイトからなるOPERAND[25]の部分であり、STB11からプリンタ13に対してJOB_QUEUEを送信する場合には、データFFh(hは16進数を示す)が格納され、このJOB_QUEUEを受信したプリンタ13では、割り当てようとするサブユニットプラグを示す情報を格納して返信する(詳細は後述する)。 【0035】OPERAND[25]に、データFFhが格納されたJOB_QUEUEを受信したプリンタ13は、時刻t3において、JOB_QUEUEを受信したことを示すACCEPTEDを返信する。なお、このACCEPTEDは、図4に示すデータ構造と同様であるが、OPERAND[25]に対して、プリンタ13が割り当てようとするサブユニットプラグを示す情報が格納されている。なお、この例では、STB11以外の装置からの印刷要求はなされていないので、サブユニットプラグ0(SUBUNIT0)が割り当てられることになる。 【0036】時刻t4では、OPERATION_MODEが送信されて出力設定がなされ、時刻t5ではALLOCATEが送信されてプリンタ13のサブユニットプラグが実際に確保される。時刻t6では、ATTACHが出力されて、確保されたサブユニットプラグを実際に使用するための宣言がなされる。 【0037】そして、時刻t7では、CONNECTにより、UNIT0と、SUBUNIT0とを接続する要求がなされる。この結果、プリンタ13では、SUBUNIT0がUNIT0と接続され、データを受信する準備がなされる。 【0038】時刻t8では、データの送信の受信を要請するCAPTURE(RECEIVE,SUBUNIT0)がプリンタ13に対して送信される。これ以降の処理は、図8の場合と同様であるのでその説明は省略する。 【0039】図5は、STB11とプリンタ13の間で授受されるJOB_QUEUEの一例を説明する図である。この図において、「CONTROL COMMAND」は、STB11からプリンタ13に対して送信されるJOB_QUEUEの一例を示している。また、「ACCEPTED RESPONSE」は、プリンタ13からSTB11に対して返信されるACCEPTEDの一例を示している。なお、図中の左向きの矢印(←)は、同欄の内容が左側の欄に記載されている内容と同一であることを示している。 【0040】OPERAND[25]の比較から分かるように、CONTROL COMMANDに対してはデータFFhが格納されて送信され、確保されたサブユニットプラグを示す情報である「RESERVED SUBUNIT PLUG」が格納されて返送される。 【0041】次に、図6を参照して、プリンタにSTBが2台接続されている場合において、2つのSTBが同時に要求を行った場合における動作について説明する。なお、以下では、これら2つのSTBを便宜上STB#1およびSTB#2と称す。 【0042】先ず、時刻t1において、STB#1は、接続相手を検出するためのSUBUNIT_INFOをプリンタ13に対して送信する。続いて、時刻t2では、STB#2が、接続相手を検出するためのSUBUNIT_INFOをプリンタ13に対して送信する。 【0043】続いて、時刻t3において、STB#1はOPERAND[25]にFFhを格納したJOB_QUEUEを送信する。すると、時刻t4において、プリンタ13は、OPERAND[25]に割り当てようとするサブユニットプラグを示す情報を格納したACCEPTEDをSTB#1に対して返送する。いまの例では、割り当てようとするサブユニットプラグとしてはサブユニットプラグ0(SUBUNIT0)が指定される。 【0044】同様にして、時刻t5では、STB#2はOPERAND[25]にFFhを格納したJOB_QUEUEを送信する。すると、時刻t6において、プリンタ13は、OPERAND[25]に割り当てようとするサブユニットプラグを示す情報を格納したACCEPTEDをSTB#2に対して返送する。いまの例では、割り当てようとするサブユニットプラグとしてはサブユニットプラグ1(SUBUNIT1)が指定される。 【0045】時刻t7〜t12の処理は、前述の図9の場合と同様であるので、その説明は省略する。時刻t13では、STB#1が、CONNECTを送信し、先に指定されたSUBUNIT0とUNIT0との接続を要求する。 【0046】また、時刻t14では、STB#2が、CONNECTを送信し、先に指定されたSUBUNIT1とUNIT1との接続を要求する。時刻t15,t16では、データの受信を要請するCAPTURE(RECEIVE,SUBUNIT0)とCAPTURE(RECEIVE,SUBUNIT1)ととがSTB#1,#2からプリンタ13に向けて送信され、時刻t17においてINTERIMがプリンタ13から返送されることになる。 【0047】その後、STB#1はSUBUNIT0と、また、STB#2はSUBUNIT1との間でデータの転送を開始し、印刷処理が実行されることになる。なお、所定のSTBによってジョブが作成された後に、それ以外のSTBから同一のSUBUNITに対して接続要求であるCONNECTが送信された場合には、そのSTBに対してはその要求を却下するREJECTを送信するようにしてもよい。そのような構成によれば、データの混信によって印刷が正常に行われなくなる事態を回避することが可能となる。 【0048】また、タイムアウト等に起因して、ジョブを自動的に破棄するような場合、従来においては、ジョブとSUBUNITとの対応関係が明示されなかったため、ジョブは自動的に破棄されても対応するSUBUNITが確保されたままの状態となっていたが、本発明の実施の形態によれば、ジョブとSUBUUNITとの対応関係が分かっているため、ジョブが破棄された場合には確保されているSUBUNITも同時に破棄することが可能となる。その結果、ジョブ破棄後の再度の印刷処理を迅速に行うことが可能となる。 【0049】以上に説明したように、本発明の実施の形態によれば、複数のSTB(コントローラ)からプリンタに対して印刷要求がなされた場合であっても、印刷が正常に行われなくなる事態を回避することが可能となる。 【0050】また、ジョブの破棄がなされた場合には、確保済みのSUBUNITを破棄することが可能となるので、前述したように、ジョブ破棄後の再度の印刷処理を迅速に行うことが可能となる。 【0051】 【発明の効果】以上説明したように本発明では、IEEE1394規格に準拠したインターフェースを具備するプリンタにおいて、他の電子機器から送信されたプリント要求を受信する受信手段と、受信手段によって受信されたプリント要求に対して、処理を担当する論理的な機能ブロックを割り当てる割り当て手段と、割り当て手段によって割り当てられた論理的な機能ブロックを示す情報を、要求を行った他の電子機器に対して送信する送信手段と、を有するようにしたので、複数の電子機器からプリント要求がなされた場合であっても、対象となるデータを確実に印刷することが可能となる。
|
| 【出願人】 |
【識別番号】000002185 【氏名又は名称】ソニー株式会社
|
| 【出願日】 |
平成12年7月6日(2000.7.6) |
| 【代理人】 |
|
| 【公開番号】 |
特開2002−19235(P2002−19235A) |
| 【公開日】 |
平成14年1月23日(2002.1.23) |
| 【出願番号】 |
特願2000−205520(P2000−205520) |
|