(57)【要約】【課題】  出力装置がデータを受信できない状態にあるにもかかわらずユーザが携帯端末等からデータを送信してしまう不都合を回避する。【解決手段】  プリンタ１は初期化処理の終了後、ＣＦ型通信カード１３にレディコマンドを出力すると、ＣＦ型通信カード１３はインターロック状態を解除する。ＣＦ型通信カード１３は携帯電話１４から受信したデータをプリンタ１に転送し終わるとインターロック状態に移行する。一方、プリンタ１は受信したデータが拡張子「vnt」「jpg」「jpeg」のデータである場合はそのデータのラスタ処理を終了すると再びレディコマンドを出力し、ＣＦ型通信カード１３はインターロック状態を解除する。印刷実行中は拡張子「vcf」のvCardデータはプリンタ１に受信されないが、拡張子「vnt」「jpg」「jpeg」のデータは受信される。【選択図】      図１６
2005047254.tif 000002
【特許請求の範囲】
【請求項１】
携帯端末からのデータを受信する受信部と、該受信部を介して受信したデータに基づき出力処理を行う出力手段とを備えた出力装置において、
前記受信部からデータを受信して前記出力処理を行うことが可能か否かを判断する判断手段と、
前記判断手段により前記出力処理を行うことが不能と判断された場合は前記受信部からのデータ受信を禁止し、一方、前記出力処理を行うことが可能と判断された場合は前記受信部からのデータ受信を許可するインターロック手段と
を備えたことを特徴とする出力装置。
【請求項２】
請求項１に記載の出力装置において、
前記受信部から受信したデータに前記出力処理に含まれる複数の処理を順次施す複数の処理部を備え、
前記判断手段は、前記処理部がデータ処理中であるか否かを判断し、
前記インターロック手段は、前記複数の処理部のうち受信部から受信したデータに最初の処理を施す第１処理部がデータ処理中である場合は前記受信部からのデータ受信を禁止し、一方、前記第１処理部が次の第２処理部へデータを受け渡し済みである場合は前記受信部からのデータ受信を許可することを特徴とする出力装置。
【請求項３】
請求項２に記載の出力装置において、
前記判断手段は、第１処理部から第２処理部へデータを送るデータ経路が使用中であるか否かを判断するものであって、前記インターロック手段は、前記データ経路が使用中と判断されたときは前記受信部からのデータの受信を禁止し、一方、前記データ経路が使用中でないと判断されたときは前記受信部からの受信を許可することを特徴とする出力装置。
【請求項４】
請求項２又は３に記載の出力装置において、
前記判断手段は、前記第１処理部から第２処理部へデータを送り終えたと判断したときは、さらに第２処理部における処理が終了したか否かを判断し、
前記インターロック手段は、前記第２処理部がデータ処理中である場合は、前記受信部からの受信を禁止し、前記第２処理部が処理を終了している場合は、前記受信部からの受信を許可することを特徴とする出力装置。
【請求項５】
請求項１〜４のいずれか一項に記載の出力装置において、
前記受信部がデータを受信したことを通知する通知手段と、
前記通知手段からの通知に基づいて前記受信部から受信されたデータが前記出力処理の終了までに複数の処理部を転送する転送経路を予め確保する予約手段を備えることを特徴とする出力装置。
【請求項６】
請求項１〜５のいずれか一項に記載の出力装置において、
前記受信部は、出力装置本体に着脱可能に取着される無線通信器を介してデータ受信可能に構成されており、
前記無線通信器は受信したデータを前記出力装置本体の前記受信部に転送するとインターロック状態に移行する制御部を有し、
前記インターロック手段は、前記受信部からのデータ受信を許可する場合はインターロックを解除する解除信号を前記無線通信器に送信し、前記受信部からのデータ受信を禁止するときは前記無線通信器に前記解除信号を送信しないことを特徴とする出力装置。
【請求項７】
請求項１〜６のいずれか一項に記載の出力装置において、
前記受信部からの受信が許可されるか禁止されるかを報知する報知手段と、
前記インターロック手段からの入力信号に基づき報知手段を制御する報知制御部とを備え、
前記インターロック手段は、前記受信部からの受信を許可するときに前記報知制御部に受信許可信号を出力し、前記受信部からの受信を禁止するときには前記報知制御部に受信禁止信号を出力し、
前記報知制御部は、前記受信許可信号に基づいて前記報知手段に受信可能な旨を報知させ、前記受信禁止信号に基づいて前記報知手段に受信不能な旨を報知させることを特徴とする出力装置。
【請求項８】
請求項６に記載の出力装置において、
前記受信部からの受信が許可されるか禁止されるかを報知する報知手段と、
前記制御部は、インターロック状態に移行すると前記報知手段に受信不能の旨を報知させ、前記インターロック手段から前記受信部を介して解除信号を受信すると前記報知手段に受信可能の旨を報知させることを特徴とする出力装置。
【請求項９】
請求項６又は８に記載の出力装置において、
前記制御部は携帯端末との間で第１転送処理を行うとともに前記受信部との間で第２転送処理を行うものであって、
前記無線通信器内の前記制御部の通信異常を前記受信部を介して検出する検出手段と、
前記検出手段により通信異常が検出されると前記無線通信器内の制御部をリセットするリセット手段とを備えたことを特徴とする出力装置。
【請求項１０】
携帯端末等からのデータを受信する通信ポートと、該通信ポートを介して受信したデータに基づき出力処理を行う出力手段とを備えた出力装置において、
前記通信ポートからデータを受信して前記出力処理を行うことが可能か否かを判断する判断手段と、
前記判断手段により前記出力処理を行うことが不能と判断された場合は前記通信ポートからのデータ受信を禁止し、一方、前記出力処理を行うことが可能と判断された場合は前記通信ポートからのデータ受信を許可するインターロック手段と、
前記インターロック手段により前記通信ポートからのデータ受信を禁止している間に、新たに受信を許可されたことを前記判断手段が判断した場合は、前記出力処理での既に受信しているデータの処理を中断して、前記新たに受信を許可されたデータの出力処理を施す割込み手段と
を備えたことを特徴とする出力装置。
【請求項１１】
請求項６、８〜１０のいずれか一項に記載の出力装置の出力装置本体に着脱可能に取着される無線通信器であって、
前記無線通信器が受信したデータを前記受信部に転送し終えるとインターロック状態に移行し、一方、前記インターロック手段から前記受信部を介して解除信号を受信するとインターロック状態を解除する前記制御部と、
前記制御部により制御される前記報知手段としての表示部と
を備えたことを特徴とする無線通信器。
【請求項１２】
請求項１１に記載の無線通信器であって、
前記制御部は前記リセット手段からのリセット信号を入力することでリセットされることを特徴とする無線通信器。
【請求項１３】
請求項１〜９のいずれか一項に記載の出力装置と、請求項１０〜１２に記載の無線通信器とを備え、前記無線通信器は出力装置本体に着脱可能に取着される出力処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
携帯電話などの携帯端末から無線通信でデータを受信し、そのデータに基づき出力処理を行う出力装置、無線通信器及び出力処理システムに係り、詳しくはデータ受信の許可・禁止の処理を行うインターロック技術に関する。
【背景技術】
【０００２】
近年、携帯電話には赤外線通信ポートが標準装備されているものが多い。携帯電話には電話帳機能で入力した知人等の氏名、電話番号、メールアドレス等を含む個人情報データや、カメラ機能で撮影した画像データが保存されており、これらのデータをプリンタに印刷させたい要求がある。
【０００３】
従来、携帯用パーソナルコンピュータ（パソコンと称す）とプリンタを赤外線通信で結び、同パソコンのデータを印刷する技術が知られている（例えば特許文献１）。また、この特許文献１では、パソコンなどからプリントデータを赤外線通信により受信し、プリンタに出力するプリンタ通信アダプタに、パソコンとの間で通信を行っている間は表示用ＬＥＤを点灯制御し、通信障害が所定時間継続したときには、表示用ＬＥＤを点滅するようになっていた。
【特許文献１】特開平８−３００７７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、プリンタが複数の通信部を装備している場合、通常は最初にデータを受信した１つの通信部しか有効とされないので、その先に受信されたデータの処理中に他の通信部がデータを受信したとしても受信エラーとなる。しかしながら、操作者からはプリンタがデータ受信可能状態にあるか否かを判断できず、データを何度送信してもその度にエラーとなることも起こり得た。さらに送信したにも拘わらずデータがプリンタ側で受け付けられないので、その送信操作が無駄になるという問題もあった。
【０００５】
本発明の目的は、携帯端末などから出力装置に無線通信でデータを送信する際、出力装置が受信できない状態にあるにもかかわらずデータが送信されてしまう不都合を回避できる出力装置、無線通信器及び出力処理ユニットを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明では、携帯端末からのデータを受信する受信部と、該受信部を介して受信したデータに基づき出力処理を行う出力手段とを備えた出力装置において、前記受信部からデータを受信して前記出力処理を行うことが可能か否かを判断する判断手段と、前記判断手段により前記出力処理を行うことが不能と判断された場合は前記受信部からのデータ受信を禁止し、一方、前記出力処理を行うことが可能と判断された場合は前記受信部からのデータ受信を許可するインターロック手段とを備えたことを要旨とする。
【０００７】
これによれば、判断手段は受信部からデータを受信して出力処理を行うことが可能か否かを判断する。インターロック手段は、判断手段により出力処理を行うことが不能と判断された場合は受信部からのデータ受信を禁止し、一方、出力処理を行うことが可能と判断された場合は受信部からのデータ受信を許可する。
【０００８】
本発明では、前記受信部から受信したデータに前記出力処理に含まれる複数の処理を順次施す複数の処理部を備え、前記判断手段は、前記第１処理部がデータ処理中であるか否かを判断し、前記インターロック手段は、前記複数の処理部のうち受信部から受信したデータに最初の処理を施す第１処理部がデータ処理中である場合は前記受信部からのデータ受信を禁止し、一方、前記第１処理部が次の第２処理部へデータを受け渡し済みである場合は前記受信部からのデータ受信を許可することを要旨とする。
【０００９】
これによれば、インターロック手段は、複数の処理部のうち受信部から受信したデータに最初の処理を施す第１処理部がデータ処理中である場合は受信部からのデータ受信を禁止する。一方、第１処理部が次の第２処理部へデータを受け渡し済みである場合は受信部からのデータ受信を許可する。
【００１０】
また、本発明の出力装置では、前記判断手段は、第１処理部から第２処理部へデータを送るデータ経路が使用中であるか否かを判断するものであって、前記インターロック手段は、前記データ経路が使用中と判断されたときは前記受信部からのデータの受信を禁止し、一方、前記データ経路が使用中でないと判断されたときは前記受信部からの受信を許可することを要旨とする。
【００１１】
これによれば、判断手段は、第１処理部から第２処理部へデータを送るデータ経路が使用中であるか否かを判断する。インターロック手段は、データ経路が使用中と判断されたときは受信部からの受信を禁止し、一方、データ経路が使用中でないと判断されたときは受信部からの受信を許可する。
【００１２】
本発明の出力装置では、前記判断手段は、前記第１処理部から第２処理部へデータを送り終えたと判断したときは、さらに第２処理部における処理が終了したか否かを判断し、前記インターロック手段は、前記第２処理部がデータ処理中である場合は、前記受信部からの受信を禁止し、前記第２処理部が処理を終了している場合は、前記受信部からの受信を許可することを要旨とする。
【００１３】
これによれば、判断手段は、第１処理部から第２処理部へデータを送り終えたと判断したときは、さらに第２処理部における処理が終了したか否かを判断する。インターロック手段は、第２処理部がデータ処理中である場合は、受信部からの受信を禁止し、第２処理部が処理を終了している場合は、受信部からの受信を許可する。
【００１４】
また、本発明の出力装置では、前記受信部がデータを受信したことを通知する通知手段と、前記通知手段からの通知に基づいて前記受信部から受信されたデータが前記出力処理の終了までに複数の処理部を転送する転送経路を予め確保する予約手段を備えることを要旨とする。
【００１５】
これによれば、通知手段は受信部がデータを受信したことを通知する。予約手段は、通知手段からの通知に基づいて受信部から受信されたデータが出力処理の終了までに複数の処理部を転送する転送経路を予め確保する。
【００１６】
本発明の出力装置では、前記受信部は、出力装置本体に着脱可能に取着される無線通信器を介してデータ受信可能に構成されており、前記無線通信器は受信したデータを前記出力装置本体の前記受信部に転送するとインターロック状態に移行する制御部を有し、前記インターロック手段は、前記受信部からのデータ受信を許可する場合はインターロックを解除する解除信号を無線通信器に送信し、前記受信部からのデータ受信を禁止するときは前記無線通信器に前記解除信号を送信しないことを要旨とする。
【００１７】
これによれば、無線通信器の制御部を受信したデータを出力装置本体の受信部に転送するとインターロック状態に移行する。出力装置本体側のインターロック手段は、受信部からのデータ受信を許可する場合はインターロックを解除する解除信号を無線通信器に送信する。一方、受信部からのデータ受信を禁止するときは無線通信器に解除信号を送信しない。
【００１８】
さらに本発明の出力装置では、前記受信部からの受信が許可されるか禁止されるかを報知する報知手段と、前記インターロック手段からの入力信号に基づき報知手段を制御する報知制御部とを備え、前記インターロック手段は、前記受信部からの受信を許可するときに前記報知制御部に受信許可信号を出力し、前記受信部からの受信を禁止するときには前記報知制御部に受信禁止信号を出力し、前記報知制御部は、前記受信許可信号に基づいて前記報知手段に受信可能な旨を報知させ、前記受信禁止信号に基づいて前記報知手段に受信不能な旨を報知させることを要旨とする。
【００１９】
これによれば、報知手段は、受信部からの受信が許可されるか禁止されるかを報知する。報知制御部は、インターロック手段からの入力信号に基づき報知手段を制御する。インターロック手段は、受信部からの受信を許可するときに報知制御部に受信許可信号を出力し、受信部からの受信を禁止するときには報知制御部に受信禁止信号を出力する。報知制御部は、受信許可信号に基づいて報知手段に受信可能な旨を報知させ、受信禁止信号に基づいて報知手段に受信不能な旨を報知させる。
【００２０】
また、本発明の出力装置において、前記受信部からの受信が許可されるか禁止されるかを報知する報知手段と、前記制御部は、インターロック状態に移行すると前記報知手段に受信不能の旨を報知させ、前記インターロック手段から前記受信部を介して解除信号を受信すると前記報知手段に受信可能の旨を報知させることを要旨とする。
【００２１】
これによれば、無線通信器に内蔵された制御部は、受信したデータを出力装置本体側の受信部に転送し終えたことによりインターロック状態に移行すると、報知手段に受信不能の旨を報知させる。一方、出力装置本体側のインターロック手段から受信部を介して解除信号を受信すると、報知手段に受信可能の旨を報知させる。よって、無線通信器がデータを受信可能か受信不能かを報知手段によって知ることができる。
【００２２】
また、本発明の出力装置では、前記制御部は携帯端末との間で第１転送処理を行うとともに前記受信部との間で第２転送処理を行うものであって、前記無線通信器内の前記制御部の通信異常を前記受信部を介して検出する検出手段と、前記検出手段により通信異常が検出されると前記無線通信器内の制御部をリセットするリセット手段とを備えたことを要旨とする。
【００２３】
これによれば、無線通信器内の制御部は、携帯端末との間で第１転送処理を行うとともに受信部との間で第２転送処理を行う。受信部は携帯端末からのデータを無線通信器を介して受信する。検出手段が無線通信器内の制御部の通信異常を検出すると、リセット手段は無線通信器内の制御部をリセットする。
【００２４】
また、本発明の出力装置では、携帯端末等からのデータを受信する通信ポートと、該通信ポートを介して受信したデータに基づき出力処理を行う出力手段とを備えた出力装置において、前記通信ポートからデータを受信して前記出力処理を行うことが可能か否かを判断する判断手段と、前記判断手段により前記出力処理を行うことが不能と判断された場合は前記通信ポートからのデータ受信を禁止し、一方、前記出力処理を行うことが可能と判断された場合は前記通信ポートからのデータ受信を許可するインターロック手段と、前記インターロック手段により前記通信ポートからのデータ受信を禁止している間に、新たに受信を許可されたことを前記判断手段が判断した場合は、前記出力処理での既に受信しているデータの処理を中断して、前記新たに受信を許可されたデータの出力処理を施す割込み手段とを備えたことを要旨とする。
【００２５】
これによれば、本発明の出力装置は、携帯端末等（ホストコンピュータ、ＢＴ（ブルートゥース通信）対応端末、またはＵＳＢ（Universal Serial Bus）を使用した機器等）のデータを通信ポートを介して受信し、受信したデータに基づいて出力処理を施す。通信ポートからデータを受信して出力処理を行うことが可能か否かを判断手段が判断する。そして、インターロック手段は、判断手段により出力処理を行うことが不能と判断された場合は通信ポートからのデータ受信を禁止し、一方、出力処理を行うことが可能と判断された場合は通信ポートからのデータ受信を許可する。このように判断手段とインターロック手段とによって受信が許可されると、その受信が許可されたデータの受信及び出力処理は整然と（順番通りに）施される。場合によっては、現在出力処理をしているデータの処理を中断してまでも、後のデータを先に出力させたいこともある。このため、インターロック手段により通信ポートからのデータ受信を禁止している間に、優先して出力処理をすべきデータであって新たに受信を許可できるデータであることを判断手段が判断した場合、割込み手段は、出力処理での既に受信しているデータの処理を中断して、受信を許可されて新たに受信したデータに出力処理を優先的に施す。新たに受信を許可できるデータ（すなわち優先して出力処理を行うべきデータ）である旨は、例えばデータと別々に送信される信号またはコマンド、あるいはヘッダ中のコードまたはコマンド等によって判断手段は判断する。よって、後から受信されたデータを、先に受信されたデータよりも先に出力させることができる。
【００２６】
また、本発明は、前記出力装置の出力装置本体に着脱可能に取着される無線通信器であって、前記無線通信器が受信したデータを前記受信部に転送し終えるとインターロック状態に移行し、一方、前記インターロック手段から前記受信部を介して解除信号を受信するとインターロック状態を解除する前記制御部と、前記制御部により制御される前記報知手段としての表示部とを備えたことを要旨とする。
【００２７】
この無線通信器によれば、前記出力装置本体に無線通信器が取着される出力装置の発明と同様の作用効果を得ることができる。
また、本発明の無線通信器では、前記制御部は前記リセット手段からのリセット信号を入力することでリセットされることを要旨とする。
【００２８】
さらに本発明の出力処理システムは、前記出力装置と、前記無線通信器とを備え、前記無線通信器は出力装置本体に着脱可能に取着されることを要旨とする。
この出力処理システムでは、前記出力装置の発明及び前記無線通信器の発明の作用効果を得ることができる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明を具体化した一実施形態を図面に従って説明する。
図１は、プリンタ１の斜視図を示す。図１において、出力装置としてのプリンタ１は、インクジェット式プリンタであって、その本体２の背面側には自動給紙装置３のシートフィーダ４及びロール紙支持部５が設けられている。シートフィーダ４には、単票紙（図示せず）がセットされ、本体２内部に給紙される。また、ロール紙支持部５には、ロール紙Ｐ１がセットされ、本体２内部に給紙される。本体２の中央には、カバー６が設けられ、そのカバー６内には印刷機構が配設され、その印刷機構の作動により印刷された印刷媒体としての用紙Ｐ（単票紙又はロール紙）が前側下部の排紙口７から排出される。また、本体２の上面右側には、操作パネル８が設けられている。
【００３０】
図２に示すように、操作パネル８は、表示画面９ａを有する表示装置９と、複数の操作スイッチからなる操作部１０とを備えている。表示装置９は、液晶表示装置であって、例えば用紙の種類（単票紙又はロール紙）、用紙サイズ、レイアウト、写真選択、印刷枚数等をマニュアル選択するためのメニューを表示画面９ａに表示する。
【００３１】
また、操作部１０には、プリンタ１に電源投入するための電源スイッチ１０ａ、エラー発生時に押されるメンテナンススイッチ１０ｂ、ロール紙を操作する時に押されるロール紙スイッチ１０ｃが設けられている。さらに、操作部１０には、印刷開始スイッチ１０ｄ、中止スイッチ１０ｅ、上スイッチ１０ｆ、下スイッチ１０ｇ、決定スイッチ１０ｈ、戻りスイッチ１０ｉが設けられている。印刷開始スイッチ１０ｄは単票紙又はロール紙に画像の印刷を開始するときに押される。中止スイッチ１０ｅは、実行中の印刷を中止するときや、非印刷状態のときに表示画面９ａの入力内容を破棄するときに押される。上スイッチ１０ｆ及び下スイッチ１０ｇは、表示画面９ａでのメニュー選択や各種設定項目を選択する際のカーソル移動や、入力すべき数値の増減を行うときに押される。決定スイッチ１０ｈは表示画面９ａの表示を次画面に進めたり、表示画面９ａを使って入力した設定内容を確定するときに押される。戻りスイッチ１０ｉは、表示画面９ａに表示される画面を初期画面に戻すときや、表示画面９ａの表示を一つ前の画面に戻すときに操作される。
【００３２】
図１に示すように、プリンタ１の本体２の右側上部には、第２表示装置１１が取り付けられている。第２表示装置１１の表示画面１１ａには、用紙Ｐに印刷される印刷画像が事前に表示される。
【００３３】
本体２の正面右側には、カードスロット（ＣＦカードスロット）１２が設けられ、そのカードスロット１２には赤外線通信機能内蔵ＣＦ(コンパクトフラッシュ(R))型カード（赤外線通信カード）（以下、ＣＦ型通信カードという）１３が挿抜可能にセットされる。ＣＦ型通信カード１３は、ＩｒＤＡ（Infrared Data Association）に準拠した赤外線通信機能を有したＩｒＤＡモジュールであって、カードスロット１２にセットすることで、プリンタ１に赤外線データを受信可能な赤外線通信機能を付与する。プリンタ１は、ＣＦ型通信カード１３が携帯電話１４から受信したデータを取り込んでそのデータに基づく印刷処理を行う。
【００３４】
本実施形態における携帯電話１４は、電話機能及び赤外線通信機能の他、電話番号等を含む個人情報を登録管理できる電話帳機能、他の携帯電話との間で電子メールを送受信できる電子メール機能、静止画又は動画を撮影できるカメラ機能などの多機能を備えている。携帯電話１４は、電話帳機能で扱う個人情報データ（テキストデータ）と、カメラ機能で扱う画像データとを、赤外線通信対応のファイル形式でそれぞれ管理している。詳しくは、個人情報データはｖＣａｒｄ(TM)ファイル形式で管理され、画像データはｖＮｏｔｅ(TM)ファイル形式で管理されている。よって、携帯電話１４に管理されているｖＣａｒｄファイル形式の個人情報データ又はｖＮｏｔｅファイル形式の画像データは、カードスロット１２にセットされたＣＦ型通信カード１３を通じてプリンタ１に受信される。また、携帯電話１４は、他の携帯電話やパソコン等との間で携帯電話網を通じて電子メールや画像データを送受信できる。なお、カードスロット１２にデジタルカメラ用のＣＦ型メモリカードをセットすれば、デジタルカメラで撮影した画像データをＣＦ型メモリカードからプリンタ１に読み込んで印刷させることもできる。
【００３５】
図３に示すように、ＣＦ型通信カード１３にはその正面（前面）に通信ポートとなる赤外線受発光部１３ａと表示部１３ｂとが設けられている。赤外線受発光部１３ａは、受光素子と発光素子とを有し、発光素子はキャリア周波数例えば25〜50kHzの搬送波で搬送されるパルス位相変調されたビット信号からなる赤外線をその発光のオン・オフにより出力し、受光素子は同様の方式で表現されるビット信号からなる赤外線を受光する。表示部１３ｂは、発光色の異なる複数の発光ダイオード（ＬＥＤ）からなり、ＣＦ型通信カード１３のデータ受信状態を、発光色、点灯、点滅及び消灯の組合わせにより報知する。また、ＣＦ型通信カード１３の背面には図示しないコネクタが形成され、このコネクタがカードスロット１２の奥面に設けられたプリンタ側コネクタと電気的に接続される。ＣＦ型通信カード１３はＩｒＤＡ通信の通信インターフェイス部を構成する。
【００３６】
図１に示すように、ＣＦ型通信カード１３の前面に設けられた赤外線受発光部１３ａと表示部１３ｂは、ＣＦ型通信カード１３がカードスロット１２にセットされた状態で露出する位置にあり、携帯電話１４を操作するユーザ（操作者）から共に視認可能な位置にある。赤外線受発光部１３ａ，２０間の通信可能な最大距離（以下、最大通信距離という）は、例えば１０〜５０ｃｍ内の値である。赤外線は比較的指向性が高い通信媒体であるので、携帯電話１４からデータを送信する際は携帯電話１４の赤外線受発光部２０を赤外線受発光部１３ａに所定の広がり角度（本例では６０度）以内でなるべく真っ直ぐ向け、データ送信に要する約10秒〜１分程度の間、その状態を保持する必要がある。このとき、表示部１３ｂと赤外線受発光部１３ａは、共にＣＦ型通信カード１３に設けられていることによって、携帯電話１４を操作又は保持するユーザ（操作者）の同一視野内に入るようになっている。
【００３７】
図４（ａ）は正面から見た携帯電話を示す。同図に示すように、携帯電話１４は、複数の操作ボタン１５（１５ａ〜１５ｃ等）、受話口１６、送話口１７、ディスプレイ１８及びＣＣＤ（Charge-Coupled Device）撮像装置１９を備えている。
【００３８】
携帯電話１４は、カメラ機能の使用中、ＣＣＤ撮像装置１９で撮像している画像をディスプレイ１８に表示するとともに、操作ボタン１５ｂをシャッターとして操作することでその撮像している画像を一枚の画像データとして保存できる。
【００３９】
本実施形態では、携帯電話１４のカメラ機能で撮影された画像データ（静止画像データ）はＪＰＥＧデータとして携帯電話１４に保存され、携帯電話１４から赤外線通信によりプリンタ１に送信する場合は、携帯電話１４に保存されているＪＰＥＧデータを赤外線通信対応のファイル形式の１つであるｖＮｏｔｅ(TM)形式に変換して送信される。このｖＮｏｔｅ形式で受信したプリンタ１は、Base64と呼ばれるエンコード／デコード変換器でＪＰＥＧデータをエンコード（圧縮）し、エンコードされたＪＰＥＧ画像データとして保存される。また、携帯電話１４は、電話帳機能を使って、操作ボタン１５ａを操作してディスプレイ１８上に作成した個人情報を登録することができる。
【００４０】
図４（ｂ）は、携帯電話の電話帳機能を使って登録しディスプレイに表示させた個人情報の一例を示す。この個人情報の登録方法を説明すると、まず操作ボタン１５を操作して、電話帳機能の個人情報作成モード（新規登録モード）を選択すると、携帯電話１４に内蔵された個人情報作成プログラムが起動する。ディスプレイ１８には図４（ｂ）中左寄りに示された各項目、すなわち「名前」、「フリガナ」、「電話番号１」、「電話番号２」、「電話番号３」、「電子メールアドレス１」、「電子メールアドレス２」、「電子メールアドレス３」、「住所」及び「メモ（ノート）」の各欄が表示される。操作ボタン１５ｃを操作して所望の項目を選択した後、該当するデータを入力し、これを必要な項目数だけ繰り返すことで、同図（ｂ）に示すような１つの個人情報が作成される。この電話帳機能で作成した個人情報データ（テキストデータ）は、本実施形態では赤外線通信対応のファイル形式の１つであるｖＣａｒｄ(TM)形式で保存される。
【００４１】
さらに、携帯電話１４は、ＩｒＤＡ（Infrared Data Association）に準拠した赤外線通信機能を有し、前記ＣＦ型通信カード１３との間での赤外線通信を行うための赤外線受発光部２０（図１に示す）を備えている。携帯電話１４は、操作ボタン１５を操作することによって、画像データや個人情報データをＣＦ型通信カード１３に送信する。赤外線受発光部２０は、ＣＦ型通信カード１３に設けられた赤外線受発光部１３ａと同様の赤外線通信方式の受発行が可能な受光素子と発光素子とを有している。
【００４２】
次に、上記のように構成した、プリンタ１、ＣＦ型通信カード１３及び携帯電話１４の電気的構成を図５に従って説明する。
まず、携帯電話１４の電気的構成を説明する。携帯電話１４は、制御部２１、メモリ２２、送受信部２３、マイク２４、スピーカ２５、操作ボタン１５、ディスプレイ１８、ＣＣＤ撮像装置１９、赤外線受発光部２０を有している。
【００４３】
メモリ２２は、ＣＣＤ撮像装置１９で撮像した画像データや個人情報データが制御部２１によって一時保存される。マイク２４は、受話口１６で話した音声を音声信号として制御部２１に出力する。スピーカ２５は、制御部２１から出力された音声信号を音声にして送話口１７から出力する。
【００４４】
送受信部２３は、入出力インターフェイスであって、制御部２１から出力された音声信号、メール、画像データを他の携帯電話やパソコンに送信するとともに、他の携帯電話やパソコンからの音声信号、メール、画像データを受信し制御部２１に出力する。
【００４５】
制御部２１は、ＣＰＵ、ＲＯＭ、ＥＥＰＲＯＭ等を有し、ＣＰＵがＲＯＭ及びＥＥＰＲＯＭに記憶された制御プログラムや各種アプリケーションプログラムに基づいて各種動作を実行する。つまり、制御部２１は、前記した通話、メールの作成、データの送受及び保存のための処理動作を操作ボタン１５の操作に基づいて実行する。制御部２１は、前記したＣＣＤ撮像装置１９で撮像した画像データの表示及び保存のための処理動作を操作ボタン１５の操作に基づいて実行する。
【００４６】
このとき、メモリ２２に保存される画像データは、制御部２１によってＪＰＥＧデータ形式で保存される。制御部２１は、個人情報の作成及び保存のため処理動作を操作ボタン１５の操作に基づいて実行する。このとき、メモリ２２に保存される個人情報データ（テキストデータ）は、制御部２１によって名刺データ形式（本例ではｖＣａｒｄ形式）で保存される。
【００４７】
さらに、制御部２１は前記保存した個人情報データや画像データをプリンタ１（ＣＦ型通信カード１３）に赤外線受発光部２０を介して送信するための処理動作を操作ボタン１５の操作に基づいて実行する。制御部２１からＣＦ型通信カード１３に送信される際は、個人情報データはｖＣａｒｄファイル形式で、また画像データ（エンコードされたＪＰＥＧデータ）はｖＮｏｔｅファイル形式で送信される。制御部２１は、これらをオブジェクト交換プロトコルに従って送信する。本実施形態では、オブジェクト交換プロトコルとして、電話帳(vCard)、スケジュール(vCalender)、メモ(vNote)等のvフォーマットと呼ばれるオブジェクトの交換に使用されるＩｒＯＢＥＸ（TM）を採用している。
【００４８】
次に、ＣＦ型通信カード１３の電気的構成を説明する。
ＣＦ型通信カード１３は、カード制御部３１、メモリ３２、カード側ＵＡＲＴ（Universal Asynchronous Receiver Transmitter）３３、プリンタ側ＵＡＲＴ（Universal Asynchronous Receiver Transmitter）３４、赤外線受発光部１３ａ及び表示部（ＬＥＤ）１３ｂを有している。
【００４９】
カード制御部３１は、メモリ３２、カード側ＵＡＲＴ３３、赤外線受発光部１３ａ及び表示部１３ｂを統括する。カード制御部３１は、ＣＰＵ、ＲＯＭ等を有し、ＣＰＵがＲＯＭに記憶された制御プログラムや各種アプリケーションプログラムに基づいて各種動作を実行する。カード制御部３１は、携帯電話１４から赤外線受発光部１３ａを介してデータを受信すると、カード側ＵＡＲＴ３３に対してそのオブジェクトデータ（個人情報データ又は画像データ）のプリンタ１への転送処理を指示する。この際、メモリ３２の一部がオブジェクトデータを一時保存するバッファとして使用される。
【００５０】
カード側ＵＡＲＴ３３は、カード制御部３１の指示に基づいてオブジェクトデータ（個人情報データ又は画像データ）をシリアルのビットストリームに変換してプリンタ側ＵＡＲＴ３４に出力する。
【００５１】
プリンタ側ＵＡＲＴ３４は、ＣＦ型通信カード１３がカードスロット１２にセットされた状態で双方のコネクタが電気的に接続されることで繋がるバス３５を介してプリンタ１側の通信インターフェイス４５により制御される。プリンタ側ＵＡＲＴ３４は、カード側ＵＡＲＴ３３からオブジェクトデータを受信し始めると、プリンタ１側にデータの読込みを要求すべく割込信号を出力する。この割込信号を受信したプリンタ１側で入力ポートを開くことでオブジェクトデータのプリンタ１への読み込みが開始される。この際、プリンタ側ＵＡＲＴ３４は、カード側ＵＡＲＴ３３から受信したシリアルのビットストリームをパラレルなバイトデータに変換しつつそのオブジェクトデータをプリンタ１側へ出力する。
【００５２】
また、プリンタ側ＵＡＲＴ３４は、プリンタ１側から入力した各種信号を、カード側ＵＡＲＴ３３を介してカード制御部３１に出力する。カード制御部３１はプリンタ１側から入力した各種信号を監視してデータ受信状態(通信ステータス)を管理し、表示部１３ｂをその時の通信ステータスに応じた点灯態様に表示制御する。よって、ＣＦ型通信カード１３の前面に設けられた表示部１３ｂの点灯態様によってユーザにその時々のデータ受信状態を報知する。このとき、カード制御部３１は、通信ステータスの情報を赤外線受発光部１３ａを介して携帯電話１４に送信し、携帯電話１４のディスプレイ１８にはプリンタ１側のデータ受信状態が文字情報などにより表示される。
【００５３】
次に、プリンタ１の電気的構成を説明する。
プリンタ１は、ＣＰＵ４１、ＲＯＭ４２、ＥＥＰＲＯＭ４３、ＲＡＭ４４、通信インターフェイス４５、ＡＳＩＣ（Application Specific IC）４６、ドライバ４７ａ〜４７ｄ及びユーザインターフェイス４８を有し、これらはデータバス４９を介してそれぞれ互いに電気的に接続されている。
【００５４】
通信インターフェイス（Ｉ／Ｆ）４５は、通信インターフェイス部４５ａ、パラレル通信部４５ｂ、ブルートゥース（Bluetooth）（TM）通信部４５ｃ、ＵＳＢ（Universal Serial Bus）通信部４５ｄ、スロット通信部４５ｅ及びシリアル通信部（図示せず）を備えている。各通信部４５ｂ〜４５ｅ等は通信ポート（入力・出力ポート）をそれぞれ有しており、通信インターフェイス部４５ａは、例えば各通信部４５ｂ〜４５ｅごとに独立して複数設けられた通信インターフェイス群からなり、各通信部４５ｂ〜４５ｅがデータを受信するとその旨を、通信（データ受信）の優先順位を管理するＣＰＵ４１に通知する。ＣＰＵ４１は通信インターフェイス部４５ａから受け付けたその受信の旨の情報に基づきそのデータの受信が可能かどうかを判定し、例えば次データの受信が可能になった後に最初にデータ受信した場合はその通信部の入力ポートを開く指示を出す。通信インターフェイス部４５ａはＣＰＵ４１の指示に従って各通信部４５ｂ〜４５ｅの入力ポートのうち指示された１つを開くことにより、所定のホスト装置から送られてくるデータを受信し、共通のデータバス４９に出力する。これら複数の入力ポート中のどれか１つのポートに最先にデータが到着すると、通信インターフェイス部４５ａは、そのポートからデータの取り込みを開始するとともにデータの取込みが終了するまでの間、他のポートをビジー状態にして他のポートからのデータ受信を禁止するようになっている。通信インターフェイス部４５ａはこのような処理をＣＰＵ４１の指示に従って行う。ＣＰＵ４１は、１つの通信ポートからのデータ受信が開始されると、その受信データが印刷処理に至るまで通るデータ転送経路をその印刷終了時まで確保し、その間は他の通信ポートからのデータ受信を禁止するよう通信インターフェイス部４５ａに指示する。また、ＣＰＵ４１は通信ポートからのデータ受信を許可するか禁止するかのインターロック処理を行う。
【００５５】
通信インターフェイス部４５ａがホスト装置又はＣＦ型通信カード１３から受信要求を受け付けると、ＣＰＵ４１は通信インターフェイス部４５ａからその旨の通知を受けるようになっており、その通信情報を基に通信ポートの空き状況や受信中の通信ポートなどを管理する。
【００５６】
また、ＣＰＵ４１が既に受信されて出力処理を施している間に、プリンタ１の本体等に配設されている割込み信号ボタン等からの割込み信号または通信インターフェイス部４５ａで判断することができる割込みコマンドを含む新たな受信データを通信ポートを介して受信した場合は、割込み手段として、ＣＰＵ４１は、既に受信されて出力処理を施しているデータの出力処理を中断する。さらに、ＣＰＵ４１は、中断されたデータをワークメモリ４４ｂ等に格納して、新たな受信データの割込み処理に基づく出力処理が終了した後に、再び中断されたデータをワークメモリ４４ｂ等から読み出して残りの出力処理を続けて出力する。割込み手段としての、この割込み処理は、各通信ポートの間で行うとともに、それぞれの通信ポートでも同様に割り込み処理を行う。
【００５７】
パラレル通信部４５ｂは、ホストコンピュータ（パーソナルコンピュータ）ＨＣから通信ケーブルを介してデータをパラレル通信で受信することが可能である。ブルートゥース通信部４５ｃは、ブルートゥース対応携帯端末ＢＣから所定通信プロトコルに従って所定規格周波数帯域の電波による近距離無線通信でデータを受信することが可能である。ＵＳＢ通信部４５ｄは、ＵＳＢ対応機器（図示せず）から所定通信プロトコルに従ってデータを受信することが可能である。スロット通信部４５ｅは、ＣＦカードスロット１２に挿着されたＣＦ型通信カード１３又はＣＦカード（メモリカード）からデータを受信することが可能である。なお、各通信部４５ｂ，４５ｃ，４５ｄ，４５ｅは、ホスト装置との通信上必要な情報やプリンタ１の状態を通知する信号など所定の信号又はデータを送信可能となっている。
【００５８】
ＣＰＵ４１は、ＲＯＭ４２に記憶された制御プログラム及びＥＥＰＲＯＭ４３に記憶された各種アプリケーションプログラムなどに基づいて、通信インターフェイス４５、ＡＳＩＣ４６及びドライバ４７ａ〜４７ｃを統括制御する。ＣＰＵ４１は、ＡＳＩＣ４６に対して印刷機構の一部を作動させる指令信号を出力したり、ＡＳＩＣ４６とＲＡＭ４４間及びＡＳＩＣ４６の内部の各種処理回路間におけるデータの転送処理を指示する。ＣＰＵ４１は転送処理のため例えばＤＭＡコントローラを内蔵する。また、ＣＰＵ４１は、ドライバ４７ａ〜４７ｃを介して紙送りモータＭ１、キャリッジモータＭ２、ロール紙の印刷後の部分を所定のサイズに切断するカッタ装置のカッタモータＭ３を駆動制御する。
【００５９】
ＡＳＩＣ４６は、データに画像処理を施して印刷データを生成したり、ＣＰＵ４１からの指令信号と印刷データに基づいてドライバ４７ｃを介して複数の圧電素子ＰＺを駆動制御する。ＲＡＭ４４には受信バッファ４４ａ、ワークメモリ４４ｂ及び出力バッファ４４ｃなどが備えられている。各通信部４５ｂ〜４５ｅを通じて受信したデータは受信バッファ４４ａに一旦格納され、所定の処理を施す際のデータはワークメモリ４４ｂに格納され、さらに最終的に生成された印刷データは出力バッファ４４ｃに格納される。
【００６０】
紙送りモータＭ１は、自動給紙装置３にセットされた単票紙又はロール紙Ｐ１を、印字位置を経由して排紙口７まで搬送させるためのモータである。キャリッジモータＭ２は、複数の噴射ノズルを有した記録ヘッドを搭載したキャリッジを主走査方向に往復動させるためのモータである。圧電素子ＰＺは、記録ヘッドに設けられた複数の噴射ノズル毎に設けられそのノズルからインクを噴出させるための素子である。カッタモータＭ３は、カッタ装置を駆動するモータであり、切断刃を主走査方向に移動させてロール紙を所定のサイズに切断する。
【００６１】
又、ＣＰＵ４１は、ＥＥＰＲＯＭ４３に予め記憶されたメニュー表示用データを読み出して表示装置９の表示処理部９ｂに転送する。表示処理部９ｂはそのメニュー表示用データに基づき用紙の種類、用紙サイズ、レイアウト、写真選択、印刷枚数等をマニュアル選択するために用いられるメニューを表示画面９ａに表示させる。メニュー項目には「レイアウト」が用意されており、この「レイアウト」は、カードスロット１２にセットされたメモリカード等から印刷用に入力した１つ又は複数の画像を用紙上にレイアウト指定して印刷画像（印刷状態画像）を作成するための機能である。ＥＥＰＲＯＭ４３にはこのレイアウトの指定に使う複数のレイアウト用テンプレートが記憶されている。このレイアウト機能で作成した印刷画像の表示用データはＲＡＭ４４に一時保存され、印刷実行前に操作部１０を操作すると、ＣＰＵ４１がＲＡＭ４４から表示用データを読み出して表示処理部１１ｂに転送することで、その印刷画像が表示画面１１ａに表示される。
【００６２】
また、ＣＰＵ４１は、操作パネル８に設けられた各スイッチ１０ａ〜１０ｉの操作に基づく信号をユーザＩ／Ｆ４８を介して入力するようになっている。
図６は、携帯電話とプリンタ間でＣＦ型通信カードを介して行われるデータ通信およびその受信データの印刷処理について説明する機能ブロック図である。同図に示された各機能部は、各種回路を含むハードウェア回路、及び、通信プロトコルプログラムやアプリケーションプログラム等を実行するＣＰＵによって実現されている。
【００６３】
ＣＦ型通信カード（赤外線通信カード）１３に内蔵されているカード制御部３１は、ＩｒＤＡ通信回路６１、ＩｒＤＡスタック（ＩｒＤＡプロトコルスタック）６２、ファイル転送部６３及びオブジェクト送受信部６４を有する。ＩｒＤＡ通信回路６１は、ＣＰＵ及び通信回路（いずれも図示せず）を含むハードウェアからなり、通信レイヤでは物理層に相当する。ＩｒＤＡスタック６２はＩｒＤＡ通信プロトコル群からなり、データリンク層及びネットワーク層に相当する。また、ファイル転送部６３は、携帯電話１４から赤外線通信で受信するファイルの転送制御を司り、通信レイヤではトランスポート層及びセッション層に相当する。オブジェクト送受信部６４は、携帯電話１４との間で行われるＩｒＤＡ通信と、プリンタ１との間で行われるシリアル通信との２つの通信系統の間でデータの受け渡し制御を行うとともに、受信データチェックなどの必要な処理を司る。オブジェクト送受信部６４は、ファイル転送部６３からのデータを処理するプレゼンテーション層及びアプリケーション層に相当する部分と、ＵＡＲＴ３３の上位層でシリアル通信プロトコルスタックからなるプレゼンテーション層〜データリンク層を構成する部分とからなる。
【００６４】
ファイル転送部６３は、ＣＦ型通信カード１３内のＣＰＵがＯＢＥＸ（Object  Exchange）(TM)プログラムを実行することで構築される機能部分であり、ＯＢＥＸの仕様に基づくファイル転送制御を司る。詳しくは携帯電話１４側のＯＢＥＸとの論理的な通信リンクの確立及び切断や、ファイル転送時にパケット分割されて送られてくるパケットを元のファイルに組み立てる復元処理などを行う。
【００６５】
また、オブジェクト送受信部６４は対応拡張子記憶部６４ａを有し、カードスロット１２にＣＦ型通信カード１３が挿着された状態をプリンタ１が電源投入後はじめて検知した時に、プリンタ１からＣＦ型通信カード１３へ送られてくる拡張子データを対応拡張子記憶部６４ａに記憶（セットアップ）する。また、オブジェクト送受信部６４は、受信したデータからファイル名を取得し、そのファイル名の中の拡張子と拡張子データとを比較参照することにより、受信したデータがプリンタ１にとって印刷対応能力のある印刷対応データか否かを判定する。詳しくはデータのヘッダ中にあるファイル名「aaaa.bbb」を読み取り、ファイル名から拡張子「bbb」を抜き出し、この拡張子「bbb」と拡張子データとを参照比較することにより印刷対応データか否かを判断する。この比較参照では大文字と小文字の区別はしない。そして、オブジェクト送受信部６４は、その判定結果に基づき印刷対応データの受信は許可するが、印刷未対応データの受信は拒否するデータ選別処理を行う。オブジェクト送受信部６４は、印刷対応データである場合、そのオブジェクトデータ及びファイル拡張子「bbb」のデータ（ファイル拡張子データという）をプリンタ１側へ転送する。
【００６６】
プリンタ１側には、カードドライバ７１、ＩｒＤＡ ＵＡＲＴ ドライバ（以下、ＵＡＲＴドライバという）７２、データトランスファ部７３、ＩｒＤＡプロファイル処理部（ＩｒＤＡプロファイル部）７４、テキストデータラスタ処理部７５、画像データラスタ処理部７６及びプリントエンジン７７が備えられている。
【００６７】
カードドライバ７１及びＵＡＲＴドライバ７２は、図５におけるスロット通信部４５ｅに内蔵されたドライバ回路からなるハードウェアとソフトウェアとで構成されている。また、データトランスファ部７３は、ＣＰＵ４１が通信プロトコルプログラムを実行することにより実現される機能部分である。また、ＩｒＤＡプロファイル処理部７４、テキストデータラスタ処理部７５及び画像データラスタ処理部７６は、ＣＰＵ４１がアプリケーションプログラムを実行することにより実現される機能部分である。さらにプリントエンジン７７は、ＣＰＵ４１がアプリケーションプログラムを実行することにより実現されるソフトウェア部分と、ＡＳＩＣ４６、ドライバ４７ａ〜４７ｄ、紙送りモータＭ１、キャリッジモータＭ２、圧電素子ＰＺ及びカッタモータＭ３などからなる印刷処理を実現するハードウェア部分とから構成される。
【００６８】
なお、ＯＳＩ参照モデルに当てはめた場合、カードドライバ７１及びＵＡＲＴドライバ７２は、データリンク層及びネットワーク層に相当する。また、データトランスファ部７３はトランスポート層及びセッション層に相当し、ＩｒＤＡプロファイル処理部７４、テキストデータラスタ処理部７５及び画像データラスタ処理部７６は、プレゼンテーション層及びアプリケーション層に相当する。
【００６９】
カードドライバ７１は、ＣＦ型通信カード１３と信号やデータのやりとりをする通信ドライバであり、ＣＰＵ４１からの指示などに基づきＵＡＲＴドライバ７２に必要な指示を出す。
【００７０】
ＵＡＲＴドライバ７２は、ＣＦ型通信カード１３に内蔵されたプリンタ側ＵＡＲＴ３４の通信動作を制御するもので、例えばＣＰＵ４１及びカードドライバ７１の指示に基づきプリンタ側ＵＡＲＴ３４を制御する。ＵＡＲＴドライバ７２は、プリンタ側ＵＡＲＴ３４から割込要求を受け付けると、プリンタ１が他の通信部４５ｂ〜４５ｅからデータ受信中であるビジー状態でない限り入力ポートを開きデータの取り込みを開始する。
【００７１】
また、カードドライバ７１は、プリンタ１の電源投入時にＣＰＵ４１が実行する初期化処理の際にＣＰＵ４１から拡張子データを受け取ってセットアップデータ記憶部７１ａに格納する。そして、カードドライバ７１は、電源投入後はじめてプリンタ１とＣＦ型通信カード１３との電気的接続を検知したＣＰＵ４１からの指示に基づきセットアップデータ記憶部７１ａに格納された拡張子データを読み出してＣＦ型通信カード１３に送信する。本実施形態では、印刷対応ファイルの拡張子として、「ｖｃｆ」「ｖｎｔ」「ｊｐｅｇ」「ｊｐｇ」が拡張子データに設定されている。ＣＦ型通信カード１３へ送られた拡張子データは、オブジェクト送受信部６４により対応拡張子記憶部６４ａに格納されることによりＣＦ型通信カード１３側にセットアップされる。また、ＵＡＲＴドライバ７２は、データトランスファ部７３及びＩｒＤＡプロファイル処理部７４で検出されたエラー通知などの通知を受け取ると、その旨の信号をカード制御部３１に送信する。カード制御部３１は携帯電話１４及びプリンタ１から受信したデータ及び信号を監視することでデータ受信状態を表す通信ステータスを管理し、その時々の通信ステータスに応じた点灯態様となるよう表示部（ＬＥＤ）１３ｂを表示制御する。ＣＦ型通信カード１３は表示部１３ｂの点灯態様によってデータ受信状態を送り主に報知する。
【００７２】
データトランスファ部７３は、ＣＦ型通信カード１３のオブジェクト送受信部６４から送られてきたオブジェクトデータとファイル拡張子データを受け取ると、ファイル拡張子データをＩｒＤＡプロファイル処理部７４に送るとともに、オブジェクトデータについてはそれを正しく受信できたかどうかを判断する。この判断は、オブジェクトデータが正しく受信できたかどうかを検証する手順がプログラムされた伝送制御手順に従って判定される。伝送制御手順７３ａとしては、ベーシック手順と、ＨＤＬＣ（ハイレベルデータリンク）手順とが挙げられる。本例ではベーシック手順を簡素化した伝送制御手順を採用する。なお、エラー制御に採用するエラー検出方式は、ＣＲＣ検出方式に限らず、パリティチェック方式、チェックサム、ハミング符号によるものでもよい。
【００７３】
データトランスファ部７３は、伝送制御手順７３ａによりデータを正しく受信できた場合はそのデータ（電文本体又は電文分割ブロック）を次のＩｒＤＡプロファイル処理部７４へ順次送り、データが正しく受信できなかった場合はオブジェクト送受信部６４へそのデータの再送を要求する。この再送要求を受けたオブジェクト送受信部６４は直前にデータトランスファ部７３へ送信したデータを再送する。データトランスファ部７３は、再送要求の後に再送されないままタイムアウトになると、エラー通知信号をオブジェクト送受信部６４へ送信するようＵＡＲＴドライバ７２に指示する。
【００７４】
ＩｒＤＡプロファイル処理部７４は、拡張子識別部８１、件数判定部８２、ノート（Note）解析部８３、分割処理部８４、テキストデータ形式変換部８５、テンプレート記憶部８６、画像データデコード部８７及び判断部８８を備えている。ＩｒＤＡプロファイル処理部７４はＲＯＭ４２又はＥＥＰＲＯＭ４３に記憶されたプログラムデータ及び各種データ等に基づき実現される。
【００７５】
拡張子識別部８１は、データトランスファ部７３から入力したファイル拡張子データから、そのオブジェクトデータのファイル形式を識別する。すなわち、個人情報データ（ｖＣａｒｄファイル形式）か、添付形式の画像データ（ｖＮｏｔｅファイル形式）か、画像データ（ＪＰＥＧファイル）かのいずれであるのかその拡張子を識別する。すなわち、ファイル拡張子データが「ｖｃｆ」であれば「ｖＣａｒｄファイル」と識別し、「ｖｎｔ」であれば「ｖＮｏｔｅファイル」と識別し、さらに「ｊｐｅｇ」又は「ｊｐｇ」であると「ＪＰＥＧファイル」と識別する。拡張子識別部８１は、識別した拡張子に応じて、その後データトランスファ部７３から送られてくるオブジェクトデータの処理経路を振り分ける。すなわち、拡張子識別部８１は、拡張子が「ｖｃｆ」であればそのｖＣａｒｄファイル（個人情報データ）を件数判定部８２へ送り、拡張子が「ｖｎｔ」であればそのｖＮｏｔｅファイル（画像データ）を画像データデコード部８７へ送る。さらに、拡張子が「ｊｐｅｇ」又は「ｊｐｇ」であればそのＪＰＥＧデータを画像データラスタ処理部７６へ送る。
【００７６】
件数判定部８２は、ｖＣａｒｄファイルが１件分の個人情報を含む「単件」ファイルか、複数件分の個人情報を含む「全件」ファイルかを判定する。「単件」ファイルと判定した場合はそのｖＣａｒｄファイルをノート解析部８３へ送り、「全件」ファイルと判定した場合はそのｖＣａｒｄファイルを分割処理部８４へ送る。また、件数判定部８２の判定結果は、「単件」であれば「Ｎ＝０」、「全件」であれば「Ｎ＝１」として、その判定値Ｎがテキストデータ形式変換部８５へ送られる。
【００７７】
ノート解析部８３は、ｖＣａｒｄファイルのノート（Note）領域に記述されたテキストを取り出して解析する。単件の個人情報を印刷する場合は、ノート領域に予め決められた指定文字を記述しておくことで印刷レイアウトを指定できるようになっており、指定文字による印刷レイアウトの指定の有無を判断するためにノート領域の記述内容を解析する。本実施形態では指定文字として数字（番号）を採用している。数字を採用するのは、記述する文字数が少なく済むうえ識別し易いからである。数字以外にアルファベット（例えばA,B,C,…）を指定文字として採用することも可能である。ノート解析部８３は、解析結果として得られた指定文字の情報Ｍ（例えば番号Ｍ＝１，２，…ｎ）をテキストデータ形式変換部８５へ送る。
【００７８】
分割処理部８４は、全件ファイルを電文分割ブロック単位で順次入力し始めるとバッファ（図示せず）に蓄えながらデータの中身を調べ、１件毎の区切りを抽出することにより所定件数分ずつ分割する。そして、その分割した所定件数分ずつ個人情報データを次処理のテキストデータ形式変換部８５へ送り出す。本実施形態では所定件数は１件に設定されており、ｖＣａｒｄファイルの全件データは１件ずつの個人情報に順次分割されながら、分割処理部８４から１件分ずつ次処理のテキストデータ形式変換部８５へ送り出される。
【００７９】
テキストデータ形式変換部８５は、個人情報データ（テキストデータ）をｖＣａｒｄ形式からＸＨＴＭＬ（Extensible Hyper Text Markup Language）形式に変換する。但し、形式変換を行う前に、そのオブジェクトデータがｖＣａｒｄ形式であるかどうかそのデータの中身を解析し、ｖＣａｒｄファイル形式のデータであることを検証する。例えばｖＣａｒｄファイル形式のデータであれば備えているはずのプロパティ（「BEGIN VCARD」「N」「SOUND」等）などの有無を確認する。ｖＣａｒｄファイル形式のデータでなければデータを破棄するとともに、間違ったデータである旨をＵＡＲＴドライバ７２を通じてＣＦ型通信カード１３へ通知する。一方、ｖＣａｒｄファイル形式のデータであれば、そのオブジェクトデータに形式変換処理を施す。また、ｖＣａｒｄファイルは携帯電話メーカーによって画像添付機能付きタイプとすることもできる。画像添付機能付きタイプのｖＣａｒｄファイルであると解析された際は、その添付されているエンコードされたＪＰＥＧ画像データを抜き取り、画像データデコード部８７に転送する。このようにテキストデータ形式変換部８５は、拡張子が「ｖＣａｒｄ」であるけれどもデータの中身までも正しくｖＣａｒｄ形式であるかどうかを事前に解析及び検証する。また、画像データデコード部８７においてメモ帳機能で記述されたテキストデータを含むタイプのｖＮｏｔｅファイルを受け付けた場合は、テキストデータ形式変換部８５は、そのテキストデータのみを画像データデコード部８７から受け付ける。このときは既にデータの中身については画像データデコード部８７において検証済みなので改めて解析はしない。
【００８０】
テキストデータ形式変換部８５は、形式変換処理を施す際、まずテンプレート記憶部８６からＸＨＴＭＬ形式で記述された印刷レイアウトテンプレート（以下テンプレートという）を読み出す。テンプレートはオブジェクトデータを構成する各項目（プロパティ）の値（テキストデータ）を所定位置に割り付けられるようにタグの記述によってレイアウト枠が指定されたものである。レイアウト枠内に該当項目（プロパティ）の値（テキストデータ）を組み込むことにより、ｖＣａｒｄ形式の個人情報をテンプレート付きのＸＨＴＭＬ形式に変換する。つまり、ｖＣａｒｄファイルは元々レイアウトの概念を持たないファイル形式であるが、印刷時には所定のレイアウトで印刷されるように、レイアウト定義できないファイル形式（ｖＣａｒｄ）からレイアウト定義できるファイル形式（ＸＨＴＭＬ）へ形式変換する。そして、この形式変換時にＸＨＴＭＬ形式で記述されたテンプレートを用いることでタグによってレイアウトを定義付ける。テキストデータ形式変換部８５は、個人情報がテンプレートに組み込まれたＸＨＴＭＬデータを、テキストデータラスタ処理部７５に送出する。
【００８１】
一方、画像データデコード部８７は、拡張子識別部８１からｖＮｏｔｅファイル形式のオブジェクトデータを受け取って、そのオブジェクトデータの中身を解析し、ｖＮｏｔｅファイル形式のデータであるか否かを検証する。例えばｖＮｏｔｅファイル形式のデータであれば備えているはずのプロパティ等の有無を確認する。ｖＮｏｔｅファイル形式のデータでなければデータを破棄するとともに、間違ったデータである旨をＵＡＲＴドライバ７２を通じてＣＦ型通信カード１３へ通知する。一方、ｖＮｏｔｅファイル形式のデータであれば、添付されているエンコード画像データを抜き取るとともに、メモ帳機能で記述されたテキストデータを含むと解析した場合はそのテキストデータをテキストデータ形式変換部８５に転送する。そして、予め用意されたデコード用プログラム（Bese64）を起動させて、エンコードされたＪＰＥＧ画像データをＪＰＥＧ画像データにデコードする。
【００８２】
このように画像データデコード部８７は、拡張子が「ｖｎｔ」であるけれどもデータの中身までも正しくｖＮｏｔｅ形式であるかどうかを事前に解析及び検証する。画像データデコード部８７は、デコード後のＪＰＥＧ画像データを、画像データラスタ処理部７６に送出する。
【００８３】
テキストデータラスタ処理部７５は、テキストデータ形式変換部８５から受け取ったＸＨＴＭＬデータにラスタ処理を施す。このラスタ処理には、ＸＨＴＭＬ解析処理、レイアウト設定処理、色変換処理及び２値化処理が含まれる。まずＸＨＴＭＬ解析処理では、ＸＨＴＭＬデータを解析して、ＸＨＴＭＬ言語で記述されたレイアウトテンプレート情報とテキストで記述された個人情報とに分解する。そして、ＸＨＴＭＬ言語（タグ）で記述された記述内容（レイアウトテンプレート情報）を解析して個人情報テキスト（各プロパティの値）の割付領域を演算し、演算した各割付領域の位置座標データ（アドレスデータ）を取得する。レイアウト設定処理では、個人情報テキストの文字コードをキャラクタデータに変換するとともに、得られたキャラクタデータをテンプレートで指定された割付領域から決まるアドレスに所定の文字サイズのドットデータとして展開する。この展開されたドットデータに色変換処理及び２値化処理を施した後、その２値化データに印刷時のドット形成順序に並び替える処理を施す。
【００８４】
なお、ＸＨＴＭＬ解析処理の結果、ＸＨＴＭＬデータが画像を含む（アドレス指定のみ）場合は、その画像のアドレスデータを指定して携帯電話１４に画像データを転送させる転送要求を出し、この転送要求に応答して携帯電話１４から画像データが転送されると、その画像とテキストを併せた全体についてレイアウト設定処理を行う。よって、テキストと画像を含む場合は、テキストと画像が所定位置に配置されたレイアウトが決定される。ここで、ｖＣａｒｄデータに画像が含まれる場合、エンコードされた画像データのデコード処理（Base64）が必要であるが、本実施形態では、携帯電話１４から取得した画像データを画像データデコード部８７に一旦送り、画像データデコード部８７においてデコード処理された後のＪＰＥＧデータをテキストデータラスタ処理部７５へ戻すことで間接的にデコード処理を行うようにしている。このようにｖＣａｒｄデータが画像を含む場合、本実施形態のようにｖＣａｒｄデータに画像のアドレスデータのみ埋め込まれた構成でもよいし、ｖＣａｒｄデータに画像データが最初から埋め込まれている構成でもよい。この後者の構成の場合は、画像データのみを後から転送させる転送処理を不要にすることができる。
【００８５】
画像データラスタ処理部７６は、ＪＰＥＧ画像データにラスタ処理を施す。但し、ラスタ処理の前に、画像データデコード部８７を経由せず直接送られてきたＪＰＥＧデータについては、データの中身を解析してＪＰＥＧファイル形式のデータであるか否かを検証する。例えばＪＰＥＧファイル形式のデータであれば備えているはずの情報の有無を確認する。ＪＰＥＧファイル形式のデータでなければデータを破棄するとともに、間違ったデータである旨をＵＡＲＴドライバ７２を通じてＣＦ型通信カード１３へ通知する。一方、ＪＰＥＧファイル形式のデータであれば、ラスタ処理に移行する。このように画像データラスタ処理部７６は、拡張子が「ｊｐｅｇ」であるけれどもデータの中身までも正しくＪＰＥＧ形式であるかどうかを事前に解析及び検証する。
【００８６】
ラスタ処理には、ＪＰＥＧ解析及びデコード処理、レイアウト設定処理、色変換処理及び２値化処理が含まれる。ＪＰＥＧ解析及びデコード処理では、ＪＰＥＧ画像データが圧縮系画像データであるためまずこれをＹＣｂＣｒ表色系（輝度（Y）と青の色差（Cb）と赤の色差（Cr）を使って表現する表色系）の非圧縮系画像データに解凍する。そして、解凍して得られたＹＣｂＣｒ表色系の多値画像データをさらにＲＧＢ表色系の多値画像データに変換する。そして、レイアウト設定処理では、ＲＧＢ表色系の多値画像データを用紙上に割り付ける割付領域を演算し、演算した割付領域から決まるワークメモリ（イメージバッファ）４４ｂ上のアドレスにその画像を所定サイズのドットデータとして展開する。この展開された画像データ（ドットデータ）に色変換処理及び２値化処理を施した後、その２値化データに印刷時のドット形成順序に並び替える処理を施す。先に説明したテキストデータラスタ処理部７５におけるレイアウト設定処理後のＪＰＥＧ画像のラスタ処理についても同様の処理が行われる。また、ｖＮｏｔｅデータにテキストが含まれる場合は、画像データラスタ処理部７６がテキストと画像の全体についてレイアウト設定処理を行うようになっている。なお、各ファイル形式（ｖＣａｒｄ，ｖＮｏｔｅ，ＪＰＥＧ）のオブジェクトデータの中身について解析及び検証する、テキストデータ形式変換部８５、画像データデコード部８７及び画像データラスタ処理部７６によって、第２判定手段が構成される。
【００８７】
プリントエンジン７７は、ワークメモリ４４ｂ上に展開されたラスタ処理後のＣＭＹＫ２値画像データ（ラスタデータ）を、印刷コマンドヘッダとセットにしてプリンタ印刷コマンドに仕立て、エンジンコントローラによってプリンタ印刷コマンドに基づき印刷機構が駆動されることにより用紙に印刷が施される。
【００８８】
なお、テキストデータラスタ処理部７５及び画像データラスタ処理部７６は、ブルートゥース対応携帯端末ＢＣで扱われるファイル形式（ＸＨＴＭＬ形式とＪＰＥＧ形式）のデータでも印刷できるように、プリンタ１にＣＦ型通信カード受信方式の採用前から備えられた既存のものである。本例では、ＣＦ型通信カード１３を介して受信した携帯電話対応形式のファイルデータでも印刷できるように追加が必要な機能部分についてこの既存部分を流用することによりその最小化を図っている。つまり、携帯電話対応形式（ｖＣａｒｄ形式とｖＮｏｔｅ形式）のデータをブルートゥース対応形式へ形式変換する機能部分をＩｒＤＡプロファイル処理部７４に追加することにより、形式変換後のデータ処理については各ラスタ処理部７５，７６を流用するようにしている。
【００８９】
図７は、２つのラスタ処理部とプリントエンジンの一部とにより構成され、ＸＨＴＭＬ形式及びＪＰＥＧ形式の各データから印刷データを生成する画像処理装置の概略構成を示す。この画像処理装置は、主にＣＰＵ４１、ＡＳＩＣ４６、ＲＯＭ４２、ＥＥＰＲＯＭ４３及びＲＡＭ４４から構成される。但し、処理の一部についてはＣＰＵ４１がプログラムを実行するソフトウェアにより実現している。もちろん、大部分の処理をハードウェア回路で実現するのではなく、半分以上の処理をソフトウェアにより実現することもできる。
【００９０】
図７に示すように、ＡＳＩＣ４６は、解釈処理部９０、ＪＰＥＧ解凍器９１、ＹＣｂＣｒ／ＲＧＢコンバータ９２、メモリコントローラ９３、画像処理部４６ａ及び印刷処理部４６ｂを内蔵する。また、画像処理部４６ａは色変換処理部９４及び２値化処理部９５などを備え、印刷処理部４６ｂはコマンドエンコーダ９６及びエンジンコントローラ９７を備えている。ＲＯＭ４２にはキャラクタジェネレータ９８が構築されている。また、ＥＥＰＲＯＭ４３はその記憶領域の一部にテンプレート記憶部８６を含むとともに色変換テーブル９９を記憶している。
【００９１】
メモリコントローラ９３は、キャラクタデータと画像データのうち少なくとも一方からなるドットデータをワークメモリ４４ｂ上に展開するとともに、展開したドットデータの画素順序をラスタスキャンの順序に並べ替える画像処理を司る回路である。
【００９２】
また、図６における各ラスタ処理部７５，７６が有する各バッファ７５ａ，７６ａは、ＲＡＭ４４にそれぞれ専用記憶領域として確保されている。もちろん、ＲＡＭ以外の例えばＳＤＲＡＭにそれらの専用記憶領域が確保されてもよい。
【００９３】
まず、ＸＨＴＭＬデータにラスタ処理を施すテキストデータラスタ処理部７５の処理について説明する。なお、テキストデータラスタ処理部７５は、解釈処理部９０、メモリコントローラ９３、キャラクタジェネレータ９８及び第１バッファ７５ａなどにより構成される。
【００９４】
ＲＯＭ４２には、日本語及び英語のフォント等のキャラクタ（文字や記号等）のパターンを示すキャラクタジェネレータデータ（ＣＧデータ）が記憶され、このＣＧデータによりキャラクタコード（文字コード）をＣＧデータに変換するキャラクタジェネレータ９８が構築されている。キャラクタジェネレータ９８は、その指定されたアドレスに文字コードが与えられると、各種文字のドット構成（文字ドットパターン）を特定するために必要なＣＧデータを読み出す。ＣＧデータはベクタデータである。ここで、ベクタデータとは、描画の対象となる文字や図形の輪郭を表したデータであり、より詳しくは文字や図形の主要点の座標および座標間を結ぶ曲線（例えばベジェ曲線）の方程式を含むパラメータによって記述されている。
【００９５】
テキストデータラスタ処理部７５に送られたＸＨＴＭＬデータは、まず解釈処理部９０に転送される。ＸＴＭＨＬデータは、個人情報が記述された本文であるキャラクタデータと、個人情報の本文がレイアウトされるべき場所を記述するテンプレートタグとを含む。
【００９６】
解釈処理部９０は、ＸＨＴＭＬデータの記述内容を解析し、テキスト本文の文字（キャラクタ）に対応するキャラクタデータと、文字列のレイアウトされるべき場所を記述するテンプレートタグから解釈されるレイアウトデータ（アドレス空間上の座標データ）とに個々の対応を関連付けたまま変換する。キャラクタデータは、文字や記号の種類を特定するキャラクタコード（例えばアスキー（ＡＳＣＩＩ）コードなど）とフォントなどの修飾情報とを有する。解釈処理部９０は、ＸＨＴＭＬデータから分解及び変換したキャラクタデータ及びレイアウトデータを個々の対応を関連付けた情報と共にメモリコントローラ９３に渡す。
【００９７】
メモリコントローラ９３は、キャラクタデータをキャラクタジェネレータ９８に与えて読み出したＣＧデータ（ベクタデータ）を、所定の文字サイズの文字ドットパターンデータ（キャラクタドットデータ）に変換するベクタフォント展開処理を行う。さらにメモリコントローラ９３は、ベクタフォント展開処理で得たキャラクタドットデータを、ワークメモリ４４ｂにおいてレイアウトデータ（アドレス空間上の座標データ）によって指定された垂直位置及び水平位置に展開する。そして、メモリコントローラ９３は、展開したその画素順序をラスタスキャンの順序に並べ替えて第１バッファ７５ａに格納した後、印刷処理部４６ｂに転送する。ここで、第１バッファ７５ａは、ＸＨＴＭＬデータのラスタ処理に使われるためそのバッファ容量は比較的小さい（例えば３０〜１００キロバイト）。
【００９８】
次にＪＰＥＧ画像データにラスタ処理を施す画像データラスタ処理部７６の処理について説明する。なお、画像データラスタ処理部７６は、ＪＰＥＧ解凍器９１、ＹＣｂＣｒ／ＲＧＢコンバータ９２、メモリコントローラ９３及び第２バッファ７６ａなどにより構成される。
【００９９】
ＪＰＥＧ解凍器９１は、ＪＰＥＧ画像データを解凍してＹＣｂＣｒ表色系の多値画像データに変換する回路である。ＹＣｂＣｒ／ＲＧＢコンバータ９２は、ＹＣｂＣｒ表色系の多値画像データを、ＹＣｂＣｒ表色系からＲＧＢ表色系のＲＧＢ多値画像データに色変換する回路である。この色変換には以下の変換式が使用される。
R= Y+1.40200×Cr
G=Y-0.34414×Cb-0.71414×Cr
B=Y+1.77200×Cb
メモリコントローラ９３は、ＹＣｂＣｒ／ＲＧＢコンバータ９２から受け取ったＲＧＢ多値画像データをワークメモリ４４ｂに展開するとともに、展開した画素順序をラスタスキャンの順序に並べ替える画像処理を司る回路である。ここで、ＪＰＥＧの圧縮処理では、元画像は８画素×８画素のブロック領域に分割され、ブロック領域単位で所定の演算処理がなされる。そのため、ＹＣｂＣｒ／ＲＧＢコンバータ９２から渡される、ＪＰＥＧデータから変換された当初のＲＧＢ多値データも、８画素×８画素のブロック領域に分割した形で画素データが並んでいる。メモリコントローラ９３は、その８画素×８画素のブロック領域に仕分けられている画素データの配列を、印刷処理に適したラスタスキャン（つまり、例えば、画像の左端から右端までの行方向の水平スキャンを、最上行から１行づつ下へ向って繰り返していくスキャン）の順序の配列に変換する。メモリコントローラ９３は、ＹＣｂＣｒ／ＲＧＢコンバータ９２から受け取ったＲＧＢ多値画像の各画素データを展開後、第２バッファ７６ａ上にラスタスキャン順序に従って書き込んでいくことで、この並べ替えを行う。これにより、第２バッファ７６ａ上には、ラスタスキャンの順序で画素が並んだＲＧＢ多値画像データが格納されることになる。メモリコントローラ９３は、ラスタスキャンの順序で画素が並んだＲＧＢ多値画像データを画像処理部４６ａへ転送する。ここで、第２バッファ７６ａは、ＪＰＥＧ画像データのラスタ処理に使われるためそのバッファ容量が第１バッファ７５ａのそれに比べ相対的に大きい（例えば３〜１０メガバイト）。
【０１００】
画像処理部４６ａに転送されたＲＧＢ多値画像データはまず色変換処理部９４に送られ、次に２値化処理部９５に転送される。色変換処理部９４は、ＲＧＢ多値画像データをＣＭＹＫ多値画像データに色変換する回路である。さらに２値化処理部９５は、そのＣＭＹＫ多値画像データをＣＭＹＫ２値画像データに２値化する回路である。
【０１０１】
色変換処理部９４は、ＥＥＰＲＯＭ４３に記憶された、ＲＧＢ表色系からＣＭＹＫ表色系へ色変換するための色変換テーブル９９を読み出し、これを参照してＲＧＢ多値画像データをＣＭＹＫ多値画像データに変換する。このＣＭＹＫ多値画像データは２値化処理部９５に転送される。
【０１０２】
次いで、２値化処理部９５は、ＣＭＹＫ多値画像データに２値化処理（例えば、誤差拡散処理又はディザ処理など）を施し、これをＣＭＹＫ２値画像データに変換する。このＣＭＹＫ２値画像データは印刷処理部４６ｂに転送される。なお、画像処理部４６ａに転送されたデータに拡大、縮小、回転などの所定処理を施す際はＣＰＵ４１に転送され、その所定処理はソフトウェア処理により施される。
【０１０３】
印刷処理部４６ｂには、ラスタスキャン順序に並び替えられた、キャラクタドットデータ又はＣＭＹＫ２値画像データが転送されてくる。これらのデータはコマンドエンコーダ９６に転送される。
【０１０４】
コマンドエンコーダ９６は、キャラクタドットデータ又はＣＭＹＫ２値画像データを、ＣＰＵ４１からのプリンタ印刷コマンドのコマンドヘッダとセットにして印刷データに仕立て、エンジンコントローラ９７へ送る。エンジンコントローラ９７は印刷データに基づいて圧電素子ＰＺを駆動制御する指令信号をドライバ４７ｄに出力する。
【０１０５】
図７は、プリンタが複数の通信方式で受信したデータを印刷データに変換して印刷に至るまでのデータ処理の流れを説明するブロック図である。通信方式としては、メモリカード読取り方式、ブルートゥース通信方式及び赤外線通信（ＩｒＤＡ）方式のみを挙げている。これらの通信方式で受信するデータは、その送信元の機器の種類によって取り扱うファイル形式が異なるが、プリンタ１は各通信方式で取り扱われるファイル形式の違いによらず印刷可能に対応している。メモリカード読取り方式では、デジタルカメラで撮影された画像データをメモリカードから読み取って印刷する用途を前提とするので、その読み取りデータはデジタルカメラで一般に採用されているＪＰＥＧデータとなる。ブルートゥース通信方式で受信されるデータは、ＰＤＡなどのブルートゥース対応の携帯端末ＢＣで使用頻度の高いＸＨＴＭＬデータとＪＰＥＧデータとなる。赤外線通信（ＩｒＤＡ）方式で受信されるデータは、携帯電話１４で採用されるｖＣａｒｄ形式データとｖＮｏｔｅ形式データとなる。このように受信データのファイル形式が異なると、印刷データに変換して印刷に至るまでにはファイル形式毎に異なるデータ処理が必要となる。
【０１０６】
本実施形態のプリンタ１は、ホストコンピュータ内のプリンタドライバから受信した印刷データを扱う印刷処理機能と、メモリカードから読み取った画像データ（ＪＰＥＧ）を処理する印刷処理機能と、ブルートゥース通信方式で受信したＸＨＴＭＬデータを処理する印刷処理機能とを備える。そして、本実施形態では、赤外線通信方式の採用に当たり、メモリカード用に元々備えられたカードスロット１２を利用して、ＩｒＤＡ通信モジュールをＣＦ型通信カード１３の形で提供しカード形式で実装できるようにしている。従って、プリンタ１の筐体（本体ケース）などの形状設計変更が不要で、プリンタ１の筐体は赤外線通信方式の導入前後で共通のものを使用できるので、その設計変更や製造金型変更の必要もない。また、プリンタ１の内部的にはＩｒＤＡ通信プロトコル及びアプリケーションなどソフトウェアの追加・変更のみで済ませている。これにより、既存の回路などには手を加えず既存のものを共用する形で、ＩｒＤＡ通信機能を追加するようにしている。
【０１０７】
以下、図７を用いて、赤外線通信方式を導入するに当たり既存の構成の共用によって簡素な構成の追加のみで済ませたプリンタの特徴的構成について説明する。
赤外線通信方式の導入に当たり追加されたのは、カードスロット１２にセットして使用されるＣＦ型通信カード１３と、本体２内に設けられたＩｒＤＡ通信用チップ、通信プロトコル及びアプリケーション等からなるＩｒＤＡ通信処理部１２０である。
【０１０８】
ＣＦ型通信カード１３は、既に説明したように、赤外線受発光部１３ａ、ＩｒＤＡ通信回路６１、ＩｒＤＡスタック６２、ファイル転送部（ＩｒＯＢＥＸ）６３、オブジェクト送受信部６４及びＵＡＲＴ３３，３４を備える。このＣＦ型通信カード１３に赤外線通信でデータ送信を行う携帯電話１４もほぼ同様の通信レイヤ構造をもち、赤外線受発光部２０、ＩｒＤＡ通信回路１２１、ＩｒＤＡスタック１２２、ファイル転送部（ＩｒＯＢＥＸ）１２３及びアプリケーション１２４を備える。また、ＩｒＤＡ通信処理部１２０は、ドライバ７１，７２、データトランスファ部７３及びＩｒＤＡプロファイル処理部７４を備える。ＩｒＤＡプロファイル処理部７４は、携帯電話１４で扱われるデータを、他の通信方式で扱われるファイル形式やデータに変換などするソフトウェアで構築されている。
【０１０９】
一方、メモリカード読取り方式を実現する構成部分は、スロット通信部４５ｅと画像データラスタ処理部７６とメモリカードＭＣに記憶された画像データを選択するためのＵＩ（ユーザインターフェイス）等を含む画像選択処理部（図示せず）などである。画像データラスタ処理部７６は、ＪＰＥＧ画像データをラスタ処理する機能をもち、解凍器９１とＹＣｂＣｒ／ＲＧＢコンバータ９２などを有する。
【０１１０】
また、ブルートゥース通信方式を実現する構成部分は、ＢＴ通信部４５ｃとテキストデータラスタ処理部７５と画像データラスタ処理部７６である。ＢＴ通信部４５ｃは、ブルートゥース通信回路（以下、ＢＴ通信回路と称す）（物理層）１２５、ブルートゥース通信プロトコルスタック（以下、ＢＴスタックと称す）１２６、ファイル転送部（ＯＢＥＸ）１２７、ＢＰＰ１２８及びＢＩＰ１２９（共にアプリケーション層）を備える。このＢＴ通信部４５ｃにデータを送信する携帯端末ＢＣもほぼ同様の通信レイヤ構造をもち、ＢＴ通信回路（物理層）１３１、ＢＴスタック１３２、ファイル転送部（ＯＢＥＸ）１３３、ＢＰＰ１３４及びＢＩＰ１３５（共にアプリケーション層）を備えている。テキストデータラスタ処理部７５は、ＸＨＴＭＬ形式のテキストデータをラスタ処理する機能をもち、解釈処理部９０とキャラクタジェネレータ９８などを有する。また、ＢＴ通信部４５ｃで受信されたＪＰＥＧ画像データは、画像データラスタ処理部７６へ転送されてラスタ処理される。つまり、ブルートゥース通信方式とメモリカード読取り方式は、同じファイル形式の画像データを扱うことからそのラスタ処理には、画像データラスタ処理部７６を共用している。
【０１１１】
ＢＴ通信部４５ｃのＢＰＰ１２８から送られてきたＸＨＴＭＬデータは、解釈処理部９０で解釈されることで、文字コードとレイアウトデータとが抽出される。そのうち文字コードはキャラクタジェネレータ９８でドット構成の文字パターンへ変換され、またレイアウトデータは画像展開時に文字パターンの配置位置を決めるために使用される。
【０１１２】
一方、ＩｒＤＡ通信処理部１２０のＩｒＤＡプロファイル処理部７４は、ｖＣａｒｄ形式からＸＨＴＭＬ形式へのデータ形式変換処理を主に行うテキストデータ処理部（ｖＣｒａｄ処理部）１４１と、ｖＮｏｔｅ形式からＪＰＥＧ形式へのデータ形式変換処理を行う画像データ処理部（ｖＮｏｔｅ処理部）１４２とを備える。テキストデータ処理部１４１は、件数判定部８２、ノート解析部８３、分割処理部８４、テキストデータ形式変換部８５及びテンプレート記憶部８６を有する。一方、画像データ処理部１４２は、画像データデコード部８７を有している。
【０１１３】
テキストデータ処理部１４１は、ｖＣａｒｄテキストデータをテンプレート組込み記述形式のＸＨＴＭＬテキストデータに変換する。つまり、テキストデータ処理部１４１は、携帯電話対応形式であるｖＣａｒｄテキストデータをブルートゥース対応形式であるＸＨＴＭＬテキストデータに変換することで、ブルートゥース対応形式データ処理に用意されているテキストデータラスタ処理部７５を利用する。また、画像データ処理部１４２はｖＮｏｔｅ添付形式のエンコード画像データをＪＰＥＧ画像データに変換（デコード）する。つまり、画像データ処理部１４２は、携帯電話対応形式であるｖＮｏｔｅ添付形式のエンコード画像データをＪＰＥＧ画像データに変換（デコード）することで、ブルートゥース対応形式及びメモリカード対応形式データ処理のために用意されている画像データラスタ処理部７６を利用する。このように各ラスタ処理部７５，７６は、ブルートゥース対応形式と携帯電話対応形式の各データのラスタ処理に共用されている。
【０１１４】
上記３つの通信方式のうちいずれで受信した画像データもラスタ処理後は、画像処理部４６ａ及び印刷処理部４６ｂで順次処理され、その画像データに基づく印刷データが生成される。また、上記３つの通信方式のうちいずれで受信したテキストデータもラスタ処理後は、画像処理部４６ａ及び印刷処理部４６ｂで順次処理され、そのテキストデータに基づく印刷データが生成される。そして、その印刷データに基づき印刷処理部４６ｂにより印刷機構１４５が駆動制御される。
【０１１５】
また、図７に示すように、プリンタ１には、認証コード記憶部１５１及び認証コード管理部１５２が備えられている。携帯端末ＢＣや携帯電話１４では個人情報など比較的秘匿性の高い情報をデータ送信しようと送信操作をすると、ディスプレイ１８上で認証コードの入力を要求する機能が設けられている。その際、データ送信先の機器に登録されたものと同じ認証コードを入力すると、通信リンク確立の際に認証が行われてデータ送信が可能になる。プリンタ１においては、操作パネル８で認証コード登録メニューの選択状態で操作部１０を操作して認証コードを入力すると、その認証コードは認証コード記憶部（本例ではＥＥＰＲＯＭ４３の所定記録領域）１５１に記憶される。認証コード管理部１５２は、プリンタ１の電源投入時及び操作部１０により認証コードが更新などのため入力される度に、その認証コードを認証コード記憶部１５１から読み出して管理するとともに、認証コードをＢＴ通信部４５ｃに送りＢＴスタック１２６に備えられた格納部１５３に格納する。また、認証コード管理部１５２は、プリンタ１の電源投入後はじめてＣＦ型通信カード１３が検知された時に、認証カードをＣＦ型通信カード１３内のオブジェクト送受信部６４に送信しその格納部１５４に格納する。
【０１１６】
次に、携帯電話１４とＣＦ型通信カード１３間で行われるＩｒＤＡ通信について説明する。
図８は、ファイル転送時に用いられるＯＢＥＸ仕様のデータ構造を示す。設定データＤＡは、オペコードＯＰとヘッダＨＤとデータボディＤＢとからなる。オペコードＯＰには通信に関する命令が記述される。命令には「Connect」「Disconnect」「PUT」「FPUT」「GET」「FGET」「Abort」「Response」が用意されている。
「Connect」は接続要求、「Disconnect」は切断要求をそれぞれ意味する。また、「PUT」はデータ受け取り要求、「FPUT」は最終データ受け取り要求（送信データ終了の意を含む）、「GET」はデータ取り出し要求、「FGET」は最終データ取り出し要求（受信データ終了の意を含む）をそれぞれ意味する。また、「Abort」は中断、「Response」は応答をそれぞれ意味する。
【０１１７】
ヘッダＨＤには、データボディＤＢに関する情報が記述される。データボディＤＢとは、送受信（転送）されるデータそのものであり、通常は所定サイズ以下のパケット（ブロック）に分割される。本例の場合では、携帯電話１４からプリンタ１へ送信されるオブジェクトデータは、そのデータサイズが所定サイズを超えるときは複数分割されて転送されることになる。「Name」「Authentication」「filesize」「Bodylength」などが用意されている。「Name」はファイル名、「Authentication」は情報にアクセスする資格の検証、「filesize」はファイルサイズ、「Bodylength」はボディデータ長をそれぞれ意味する。「Name」には「ファイル名．拡張子」の形で記述されているので、「Name」の値を見ることでファイルの「拡張子」を取得することができる。また、「Authentication」には、情報にアクセスする資格が設定されている場合においてそれを検証できる認証コード（ピンコード）が記述される。携帯電話１４では、電話帳機能に登録された個人情報の全件又は指定したグループ中の個人情報の全件を送信するときは、認証コードの入力を要求される設定となっている。このような全件データを送信するときには送信ボタン操作後にディスプレイ１８上で要求される入力欄に認証コードを入力する。入力した認証コードはヘッダＨＤの「Authentication」に記述される。
【０１１８】
既に図７で説明したように、プリンタ１には認証コード登録機能が備えられており、携帯電話１４から全件データをプリンタ１に直接送信して印刷させたいときは、予め操作パネル８上の操作部１０を操作してプリンタ１に認証コードを登録しておく。
【０１１９】
図９は、携帯電話→赤外線通信カード（ＣＦ型通信カード）→プリンタの流れでデータを転送する転送処理シーケンスを示す。
携帯電話１４でデータ送信操作を行うと、まず物理層であるＩｒＤＡ通信回路６１，１２１間におけるＩｒＤＡ接続（物理接続）が行われる。携帯電話１４からＩｒＤＡ接続要求が出され、これにＣＦ型通信カード１３が応答する形でＩｒＤＡ接続が確立される。次にＯＢＥＸ接続（論理接続）が行われる。携帯電話１４から「Connect」をオペコードＯＰとするデータを送信することでＯＢＥＸ接続（論理接続）を要求し、これにＣＦ型通信カード１３が「Response」をオペコードＯＰとするデータで応答する形でＯＢＥＸ接続（論理接続）が確立される。
【０１２０】
論理接続が確立されると、ファイル転送部１２３はファイルデータをボディＤＢの最大許容データ長以内のデータ長に分割し、その分割したブロック（フレーム）単位で複数回に分けて転送する。この際、「PUT」をオペコードＯＰとしボディＢＤにブロックを入れたデータＤＡを作成してこれを送信する。以後順次、「Response」をオペコードＯＰとするデータの受信を待ってから、「PUT」をオペコードＯＰとする次のデータＤＡを送信する。
【０１２１】
ＣＦ型通信カード１３側のファイル転送部（ＩｒＯＢＥＸ）６３は、順次受信するブロックを組み立ててデータを復元し、復元されたデータはオブジェクト送受信部６４に渡される。オブジェクト送受信部６４は伝送制御手順（ベーシック手順）に従って所定データサイズ以内のブロック（フレーム）単位でプリンタ１へデータを送信する。この際、オブジェクト送受信部６４は、ヘッダＨＤの「Name」から取得した「名前．拡張子」をデータと共に送信する。
【０１２２】
こうしてデータ転送処理が進み、携帯電話１４から最後のブロック（データ）を転送する際は、そのオペコードＯＰに「FPUT」が記述されるので、ファイル転送部６３は受信したデータのオペコードＯＰが「FPUT」であると、最後のブロックである、すなわちデータ受信完了の通知と認知する。これを契機に携帯電話１４から「Disconnect」をオペコードＯＰとする切断要求が送られることでＯＢＥＸ接続（論理接続）が切断され、次いでＩｒＤＡ接続（物理接続）が切断されることにより、通信リンクが遮断される。その後、プリンタ１では受信データから印刷データが生成され、その印刷データに基づき印刷が実行される。
【０１２３】
なお、データ送信中に携帯電話１４を中断操作すると、「Abort」をオペコードＯＰとするデータがＣＦ型通信カード１３へ送信される。この場合も、同様の手順によりＩｒＤＡ切断、ＯＢＥＸ切断の順序を経て通信リンクが遮断される。
【０１２４】
また、本例では、プリンタ１から携帯電話１４へファイル転送する機能は備えていないが、携帯電話１４から「GET」をオペコードＯＰとするデータがＣＦ型通信カード１３へ送られたときは、プリンタ１のメモリに格納されたファイルを携帯電話１４へ転送する転送機能をプリンタ１に設けてもよい。
【０１２５】
次に、データ受信状態を報知する表示部１３ｂの点灯制御について詳しく説明する。ＣＦ型通信カード１３の表示部１３ｂは、携帯電話１４からデータの受信状態をユーザに報知する。
【０１２６】
図１０は表示部の表示制御装置を示し、図１１は通信ステータスと表示態様（点灯態様）との関係を示す。
図１０に示すように、表示制御装置１５８は、カード制御部３１に内蔵されたＣＰＵ１５９及び点灯駆動制御回路１６０と、この点灯駆動制御回路１６０を介してＣＰＵ１５９に点灯制御（表示制御）される２つのＬＥＤ１６１，１６２とを備える。２つのＬＥＤ１６１，１６２はそれぞれ点灯色（表示色）が異なり、本例ではＬＥＤ１６１が緑色、ＬＥＤ１６２が赤色にそれぞれ点灯可能である。
【０１２７】
表示部１３ｂの点灯制御はカード制御部３１内のＣＰＵ１５９が司る。ＣＰＵ１５９は、携帯電話１４との間でやりとりされる通信コマンドと、ＣＦ型通信カード１３内で自身が判定するデータチェック結果と、プリンタ１側で判定されたデータ受信状態を知らせてくる信号等とに基づいて現在どんな受信状態にあるかその通信ステータスを把握する。ＣＰＵ１５９は、その把握した通信ステータス（ビットデータ）をレジスタ１５９ａに書き込む。点灯駆動制御回路１６０は、ＣＰＵ１５９から通信ステータに応じた信号Ｓを入力すると、この信号Ｓに基づき２つのＬＥＤ１６１，１６２を点灯制御する。
【０１２８】
図１１に示すように、通信ステータスには、「受信不可」、「受信可能」、「受信中」、「受信完了」及び「エラー発生」の５種類がある。この通信ステータスと点灯制御内容の関係を示す設定データＳＤは、メモリ３２の所定記憶領域に記憶されている。ＣＰＵ１５９は、レジスタ１５９ａに書き込んだ現在の通信ステータスに基づき設定データＤＡを参照しつつ２つのＬＥＤ１６１，１６２を５種類の点灯態様のうちいずれか一つに点灯制御する。本例では、５種類の通信ステータスに応じた点灯態様として、「消灯」、「緑点灯」、「緑点滅」、「橙点灯」、「赤点滅」の５つが設定されている。橙色は、緑と赤の各ＬＥＤ１６１，１６２を同時に点灯させることで発色させている。
【０１２９】
通信ステータスと点灯態様との関係は、「受信不可」のときに「消灯」、「受信可能」のときに「緑点灯」、「受信中」のときに「緑点滅」、「受信完了」のときに「橙点灯」、「エラー発生」のときに「赤点滅」となるよう点灯制御内容が設定されている。
【０１３０】
図１２は、通信ステータスの遷移の仕方を説明するものである。同図に示すように通信ステータスが遷移することで表示部１３ｂ（ＬＥＤ１６１，１６２）の表示態様（点灯態様）が変化する。
【０１３１】
まず図１２に従って、「受信不可」〜「受信完了」までの通信ステータス遷移について説明する。カード制御部３１のＣＰＵ１５９は、プリンタ１が初期化処理状態にあるとき又は赤外線通信にインターロックがかかっているときにＵＡＲＴドライバ７２から出力されるレディ（Rready）コマンドを受け取らない場合は、「受信不可」の通信ステータスＡを設定する。つまりＣＰＵ１５９はレジスタ１５９ａに「受信不可」のビットデータを書き込む。ここで、レディコマンドが出力されない場合は、ＣＰＵ４１がプリンタ１の電源投入直後に実施する初期化処理中にあるときと、他の通信方式によるデータ受信が先に行われたため赤外線通信方式によるデータ受信が禁止されるインターロック中とである。「受信不可」の通信ステータスＡにあるときはＬＥＤ１６１，１６２が全て消灯し、表示部１３ｂは「消灯」の状態となる。
【０１３２】
ここでＣＦ型通信カード１３がカードスロット１２にセットされた状態でプリンタ１に電源が投入されたときは、プリンタ１の初期化処理時に検出されたＣＦ型通信カード１３に対しカードドライバ７１は拡張子データをセットアップする。一方、プリンタ１の電源投入後にＣＦ型通信カード１３がカードスロット１２にセットされたときは、そのセットにより電源投入後はじめてＣＦ型通信カード１３を検出できたときに、カードドライバ７１はＣＦ型通信カード１３に拡張子データをセットアップする。この初期化処理およびセットアップ処理が共に終了してはじめてＣＰＵ４１は最初のインターロック処理を開始する。インターロック処理の結果、ＣＰＵ４１がインターロックを解除したときＵＡＲＴドライバ７２はカード制御部３１にレディ（Ready）コマンドを出力する。
【０１３３】
こうしてプリンタ１側の受信準備完了後、ＵＡＲＴドライバ７２からカード制御部３１のＣＰＵ１５９がレディコマンドを受け付けると、レジスタ１５９ａの値を「受信不可」から「受信可能」のビットデータに書き替える。プリンタ１の初期化処理が終了した時またはインターロックが解除された時に、「受信不可」の通信ステータスＡから「受信可能」の通信ステータスＢに移行する。「受信可能」の通信ステータスＢにあるときは緑色のＬＥＤ１６１のみが点灯し、表示部１３ｂは「緑点灯」の状態となる。この表示部１３ｂの緑点灯をもって、ユーザにＣＦ型通信カード１３が受信可能であることを報知する。
【０１３４】
ＣＰＵ１５９はレディコマンドを入力している間、「受信可能」の通信ステータスＢを維持する。そして、表示部１３ｂが緑点灯しているときに、携帯電話１４からＰＵＴ要求を受け付けると、論理接続（ＯＢＥＸ接続）を確立する。そして、ＣＦ型通信カード１３がデータを受信し始めると、ＣＰＵ１５９はレジスタ１５９ａの値を「受信可能」から「受信中」のビットデータに書き替える。ＣＰＵ１５９は、オブジェクトデータの受信及び転送処理を実行している間、「受信中」の通信ステータスＣを維持する。
【０１３５】
「受信中」の通信ステータスＣに切り替わるタイミングとしては、物理接続（ＩｒＤＡ接続）された時か、論理接続（ＯＢＥＸ接続（Connect））された時か、データ送信（ＯＢＥＸのＰＵＴ）が始まった時かのいずれかが挙げられる。「受信中」のステータスＣにあるときは、緑色のＬＥＤ１６１のみが点滅し、表示部１３ｂは「緑点滅」の状態となる。
【０１３６】
ＣＰＵ１５９は、携帯電話１４からのオブジェクトデータの受信が完了したとき、レジスタ１５９ａの値を「受信中」から「受信完了」のビットデータに書き替える。ＣＦ型通信カード１３がデータを受信し終わると、この「受信完了」の通信ステータスＤに移行する。この移行タイミングとしては、携帯電話１４から最後のＰＵＴ（ＦＰＵＴ）を受信したときか、最後のＰＵＴ（ＦＰＵＴ）に対しその応答（Responce）を送信したときか、ＯＢＥＸ切断（Disconnect）（論理接続の切断）のデータを受信したときか、ＩｒＤＡ切断（物理接続の切断）を受信したときかのいずれかが挙げられる。「受信完了」の通信ステータスＤにあるときは、緑と赤の２つのＬＥＤ１６１，１６２が同時に点滅し、表示部１３ｂは「橙点灯」の状態となる。
【０１３７】
ＣＰＵ１５９は、携帯電話１４からデータを受信する通信状態にエラーが発生したことを検出すると、レジスタ１５９ａの値を「エラー発生」のビットデータに書き替える。「エラー発生」の通信ステータスＥにあるときは、赤色のＬＥＤ１６２が点滅することで表示部１３ｂは赤点滅する。
【０１３８】
次に、各通信ステータスＡ，Ｂ，Ｃ，Ｄから「エラー発生」の通信ステータスＥへ移行する場合のエラー内容について説明する。
まず「受信不可」の通信ステータスＡ→「エラー発生」の通信ステータスＥへ移行する場合は、ＣＦ型通信カード１３の初期化失敗の場合と、ＣＦ型通信カード１３への初期化コマンド送信の失敗の場合とが挙げられる。この初期化コマンドとしては、「Configuration」，「Setup」，「Ready」が挙げられる。
【０１３９】
「受信可能」の通信ステータスＢ→「エラー発生」の通信ステータスＥへ移行する場合は、物理接続又は論理接続の失敗の場合と、未対応ファイル受信（拡張子チェックエラー）の場合と、Setupコマンド失敗の場合とが挙げられる。
【０１４０】
「受信中」の通信ステータスＣ→「エラー発生」の通信ステータスＥへ移行する場合は、携帯電話１４からＣＦ型通信カード１３へのファイル転送失敗（ＩｒＤＡ通信）の場合と、ＣＦ型通信カード１３からプリンタ１へのオブジェクトデータ転送失敗（伝送制御手順）の場合とが挙げられる。さらに、対応ファイルのデータ異常時（ファイルデータチェックエラー）の場合と、他の通信部からの受信データの印刷処理中の場合（インターロックは解除されたが他のデータがまだ印刷処理中であった場合）とが挙げられる。例えばＦＰＵＴを受信することなくタイムアウトになったときには、ＣＰＵ１５９（オブジェクト送受信部６４）は携帯電話１４との接続を切断する。プリンタ１側で次のパケットを受信することなくタイムアウトになったときは、エラーが発行され携帯電話１４との接続が切断される。この接続が遮断された後は、携帯電話１４側へエラーを通知する手立てがなくなるので、ＣＦ型通信カード１３の表示部１３ｂを赤点滅させることで、ユーザにデータ送信の失敗を報知する。
【０１４１】
「受信完了」の通信ステータスＤ→「エラー発生」の通信ステータスＥへ移行する場合は、ＣＦ型通信カード１３からプリンタ１へのデータ送信失敗（伝送制御手順）の場合と、対応ファイルのデータ異常時（ファイルデータチェックエラー）の場合とが挙げられる。通信ステータスＥになるとその後所定時間（例えば３秒）経過すると、通信ステータスＡへ移行する。従って、エラー発生時は表示部１３ｂが３秒間だけ「赤点滅」した後、消灯する。なお、通信ステータスＢ→Ｅ、Ｃ→Ｅ、Ｄ→Ｅの移行時は、携帯電話１４とＣＦ型通信カード１３が通信確立中におけるエラー発生であるので、そのエラー発生の旨は携帯電話１４へ通知されそのディスプレイ１８にエラー表示がなされる。なお、携帯電話１４のディスプレイ１８でエラー表示される場合は、あえて表示部１３ｂによるエラー報知は必要ないとの前提で、通信ステータスＡへ移行し表示部１３ｂを消灯させ、「受信完了」の通信ステータスＤでエラー発生が起きた場合に限り、表示部１３ｂを赤点滅させる方法を採用できる。また、赤点滅の保持時間を設定せず、赤点滅しているステータスＥにある間にインターロック処理を行い、インターロックが解除されるとステータスＥからＢへ移行し、赤点滅から緑点灯に変わる実施も可能である。
【０１４２】
携帯電話１４で中止を選択操作すると、ＣＦ型通信カード１３に「Ａｂｏｒｔ（中断）」が送信される。この「Ａｂｏｒｔ」を受信すると、その時点でデータの受信を中断するため、途中までのデータしかなく正しい印刷ができないので、それまで受信したデータを破棄する。この中断を受信したときは表示部１３ｂを緑点滅から消灯させてもよいしエラーとして赤点滅させてもよい。
【０１４３】
図１３は、データ転送経路の予約処理とインターロック処理を概念モデルで示すブロック図である。
同図は、ホスト装置（携帯電話１４、携帯端末ＢＣ、ホストコンピュータ（ＨＣ）から通信インターフェイス４５の各通信部４５ｂ〜４５ｅで受信されたデータが、最終的にプリントエンジン７７に至るまでその後どの処理部を順次転送されるのかその転送経路を決める仕組みを模式的に示したブロック図である。同図においてストリームパイプ１４９は、ＣＰＵ４１が１つの転送経路を排他的に選択するスイッチング機能を実現するために用意されたモジュールである。各通信部４５ｂ〜４５ｅで受信されたデータが、最終的にプリントエンジン７７に至るまで順次転送される各処理部７４〜７６等の状態、例えばデータ処理の実行状態（RUN）、待機状態（WAIT）、レディ状態（READY）など各処理部７４〜７６等の現在の状態を管理する状態管理部１５０が用意されている。
【０１４４】
ストリームパイプ１４９は、ＩｒＤＡプロファイル処理部７４をはじめとするその上流側（受信部側）の各種処理部のいずれかから転送要求を受け付けたときに、状態管理部１５０に管理されたその下流側（転送先側）に位置する各処理部７５，７６，プリントエンジン７７の状態に基づいて転送経路を確保できるか否かを判断し、その判断結果に応じて転送経路の接続・切断をする２つのスイッチＳＷ11，ＳＷ12を有する。スイッチＳＷ11は、テキストデータラスタ処理部７５へＸＨＴＭＬデータを送るために用意された複数の転送経路のうち先に転送要求を受け付けた一つを選択し、一方、スイッチＳＷ12は、画像データラスタ処理部７６へＪＰＥＧデータを送るために用意された複数の転送経路のうち先に転送要求を受け付けた一つを選択する。但し、状態管理部１５０の管理内容を参照した際に、転送先であるラスタ処理部７５又は７６を含む下流側に位置する各種処理部７５，７６，プリントエンジン７７がデータ処理の実行状態（RUN）（つまりデータ処理中）にある旨の情報を得たときは転送経路の接続はせずにそのまま待機し、そのデータ処理の実行状態（RUN）が終了した旨の情報を得た時点で転送経路を接続する。
【０１４５】
つまり本実施形態では、先行データがプリントエンジン７７ですべて処理され終わってからでないと、原則として、次データの受信および転送を許可しないよう設定されている。このため、ストリームパイプ１４９がＸＨＴＭＬデータの転送要求を受け付けたときは、その転送先であるテキストデータラスタ処理部７５だけでなくプリントエンジン７７に至るまでを判断対象とし、原則として、状態管理部１５０においてプリントエンジン７７が先行データのすべての処理を終えた旨の情報が得られたときに限り、次データの転送経路を確保すべくスイッチＳＷ11の接続を許可する。また、ストリームパイプ１４９がＪＰＥＧデータの転送要求を受け付けたときも同様に、その転送先である画像データラスタ処理部７６だけでなくプリントエンジン７７に至るまでを判断対象とし、原則として、状態管理部１５０においてプリントエンジン７７が先行データのすべての処理を終えた旨の情報が得られたときに限り、次データの転送経路を確保するスイッチＳＷ11の接続を許可する。但し、プリントエンジン７７が処理の実行中であっても例外的にスイッチＳＷ11又はＳＷ12の接続を許可する例外処理が用意されている。この例外処理については後述する。
【０１４６】
また、同図にスイッチＳＷ21で示されるモジュールが用意されており、スイッチＳＷ21は、各ラスタ処理部７５，７６での処理の結果得られた、あるいは外部から受信して得られたラスタデータをプリントエンジン７７に転送する際の転送経路の選択（接続）を司る。スイッチＳＷ21は、ストリームパイプ１４９の２つのスイッチＳＷ11，ＳＷ12のいずれかが接続されたときには連動して起動し、スイッチＳＷ11又はＳＷ12の接続によりラスタ処理部７５又は７６への転送経路が確保されたデータをさらにプリントエンジン７７まで転送できるようその転送経路を確保する切り換え処理（接続処理）を行う。またスイッチＳＷ21は、パラレル通信部４５ｂまたはＨＣＲＰ１５６からラスタデータの転送要求を受け付けたときに、状態管理部１５０の管理内容に基づき転送経路の接続適否判断および接続処理を行うように構成されている。
【０１４７】
ストリームパイプ１４９が行う先の例外処理は、スイッチＳＷ21の接続状態を考慮して次のように行われる。なお、以下の説明では、ストリームパイプ１４９がＪＰＥＧデータの転送要求を受け付けた場合と、ＸＨＴＭＬデータの転送要求を受け付けた場合とで分けて説明する。まずＪＰＥＧデータの転送要求を受け付けた場合、ストリームパイプ１４９は、下流側に位置する２段目のスイッチＳＷ21が、画像データラスタ処理部７６からのラスタデータを転送可能な状態に接続されているか、つまり画像データラスタ処理部７６からプリントエンジン７７へ至る転送経路が接続されているか否かを判断する。そして、スイッチＳＷ21が、画像データラスタ処理部７６からのラスタデータを転送可能な状態に接続されているときは、画像データラスタ処理部７６さえデータ処理を終えていれば（例えばレディ状態（READY））、たとえプリントエンジン７７が処理実行中（RUN）であっても、例外的にスイッチＳＷ12による次データの転送経路の接続を許可する。
【０１４８】
次にＸＨＴＭＬデータの転送要求を受け付けた場合、ストリームパイプ１４９は、下流側に位置する２段目のスイッチＳＷ21が、テキストデータラスタ処理部７５からのラスタデータを転送可能な状態に接続されているか、つまりテキストデータラスタ処理部７５からプリントエンジン７７へ至る転送経路が接続されているか否かを判断する。そして、スイッチＳＷ21が、テキストデータラスタ処理部７５からのラスタデータを転送可能な状態に接続されているときは、テキストデータラスタ処理部７５さえデータ処理を終えていれば（例えばレディ状態（READY））、たとえプリントエンジン７７が処理実行中（RUN）であっても、例外的にスイッチＳＷ11による次データの転送経路の接続を許可する。
【０１４９】
こうしてストリームパイプ１４９は、ＩｒＤＡプロファイル処理部７４、ＢＰＰ１２８、ＨＣＲＰ１５６およびＯＰＰ（Object Push Profile）１５７のいずれかからＸＨＴＭＬデータの転送要求を受け付けると、状態管理部１５０におけるテキストデータラスタ処理部７５およびプリントエンジン７７の各管理内容がデータ処理中でなければスイッチＳＷ11による転送経路を接続する。また、ストリームパイプ１４９は、ＩｒＤＡプロファイル処理部７４、ＢＩＰ１２９およびＯＰＰ１５７のいずれかからＪＰＥＧデータの転送要求を受け付けると、状態管理部１５０における画像データラスタ処理部７６およびプリントエンジン７７の各管理内容がデータ処理中でなければスイッチＳＷ12による転送経路を接続する。但し、この際、ストリームパイプ１４９は、状態管理部１５０においてスイッチＳＷ21の接続状態も参照し、スイッチＳＷ21がラスタ処理部７５又は７６からのラスタデータを転送可能状態に接続されていれば、ラスタ処理部７５又は７６の処理が終えていれば、たとえプリントエンジン７７が処理実行中であっても、例外的にスイッチSW12を接続して次データの転送経路を確保する。
【０１５０】
なお、「転送要求」はデータ受信時に転送経路を確保するために使用されるコマンドであるが、これに対し定期的に通信部４５ｅからのデータ受信が可能な状態にあるか否かを判断するために、ストリームパイプ１４９に通信部４５ｅからのデータの転送経路を確保可能な状態にあるか否かを投げかける際に使用する「要求コマンド」も別途用意されている。受信データの転送経路を確保できない場合はＣＦ型通信カード１３側で受信不可とするインターロックのためにプリンタ１側で実行される、後述するインターロック処理においてはこの要求コマンドが使用されるようになっている。
【０１５１】
通信インターフェイス４５の各通信部４５ａ〜４５ｄで受信されたデータは、その種類（ｖＣａｒｄ，ｖＮｏｔｅ，ＸＨＴＭＬ，ＪＰＥＧ等）によって転送経路が一義的に決まる。例えばＩｒＤＡ通信で受信の場合、ｖＣａｒｄデータに対しては各処理部７４，７５，プリントエンジン７７を順次通る転送経路が選択され、ｖＮｏｔｅデータに対しては各処理部７４，７６，プリントエンジン７７を順次通る転送経路が選択される。また、Bluetooth通信で受信の場合、ＸＨＴＭＬデータに対してはＢＰＰ１２８，処理部７５，プリントエンジン７７を順次通る転送経路が選択され、ＪＰＥＧデータに対してはＢＩＰ１２９，処理部７６，プリントエンジン７７を順次通る転送経路が選択される。
【０１５２】
まずデータ転送経路を確保する予約処理について説明する。
ストリームパイプ１４９は、通信部４５ｂ〜４５ｅで受信されたデータが他のデータに妨げられずスムーズに処理を進めるために、データ受信開始時に印刷に至るまでの転送経路を予め確保（予約）する。
【０１５３】
この転送経路の確保は、同図では複数種のデータに共用される処理部７５，７６，プリントエンジン７７に至る経路を選択するスイッチＳＷ11，ＳＷ12，ＳＷ21の接続として表される。但し、スイッチＳＷ11，ＳＷ12，ＳＷ21は、ＣＰＵ４１が転送経路を確保するために用意されたプログラムを実行することで実現されるモジュールである。通信インターフェイス部４５ａは各通信部４５ｂ〜４５ｅのいずれかがデータを受信すると、ＣＰＵ４１にその旨を通知してその応答としてＣＰＵ４１から受信の許可を得るとその通信部のポートを開く。次にその通信部の上位層の処理部である、ＩｒＤＡプロファイル処理部７４、ＢＩＰ１２９、ＢＰＰ１２８、ＨＣＲＰ１５６のうちいずれかは、その受信部から受信したデータを解析して例えば拡張子からデータの種類（データ種）を特定し、その特定したデータ種をストリームパイプ１４９に通知する。ストリームパイプ１４９はその通知されたデータ種に合った転送経路を確保する。この転送経路の確保のルールは、スイッチＳＷ11，ＳＷ12，ＳＷ21の切り換えで説明できる。なお、スイッチＳＷ11，ＳＷ12，ＳＷ21は、データ受信開始時にそのデータの転送経路を確保するように接続され、そのデータの印刷が終了するまで原則その接続が遮断されることはない。このため、１つの転送経路があるデータに占有されていると、そのデータの印刷終了まで転送経路の占有が継続され、他のデータを仮に受信しても、原則、受信エラーとなる。なお、スイッチＳＷ11，ＳＷ12，ＳＷ21は、転送経路を確保する必要があるときのみ接続され、転送経路を確保する必要がないときは切断されるようになっている。このため、スイッチＳＷ11，ＳＷ12が共に切断状態にあるときは、通信部からデータを受信可能な状態にあると判断し得る。
【０１５４】
インターロック処理とは、先に受信したデータによって転送経路が占有されていて、仮に次のデータを受信しても転送経路を確保できないと判断される場合は受信を許可せず、次のデータの転送経路が確保できると判断される場合は受信を許可する処理である。このインターロック処理は、携帯電話１４からエラーにならずデータをプリンタ１が受信できる状態かどうかを判定する処理で、ＩｒＤＡプロファイル処理部７４が定期的に実行する。ＩｒＤＡプロファイル処理部７４は、インターロック処理の結果、データを受信できない状態と判定したときはＵＡＲＴドライバ７２を介してＣＦ型通信カード１３にレディコマンドを出力せず、データを受信できる状態と判定したときはＵＡＲＴドライバ７２を介してＣＦ型通信カード１３にレディコマンドを出力する。ＣＦ型通信カード１３は、レディコマンドの入力によってインターロック状態を解除して受信可能状態に移行するとともに表示部１３ｂを緑点灯させて「受信可能」の旨を報知する。また、ＣＦ型通信カード１３は、受信可能状態の下で携帯電話１４から受信を開始したデータの受信を完了すると、この受信データのプリンタ１側への転送も終わったほぼ同時期にＩｒＤＡプロファイル処理部７４からのレディコマンドの入力がなくなることから、インターロック状態に移行するとともに表示部１３ｂを消灯させて「受信不可」の旨を報知する。このため、ユーザは例えば先行データの印刷が終了するまでの間は表示部１３ｂが消灯中であることから携帯電話１４からデータを送信できないと分かり、それゆえデータの送信を控えるので、送信したにもかかわらず受信エラーとなる頻度が減ることになる。ＣＦ型通信カード１３においてインターロック状態の移行及び解除の制御はＣＰＵ１５９が実行する。
【０１５５】
ここで、転送経路の選択には次のルールがある。
(1)要求されたデータ種に応じた転送経路の確保は、ＣＰＵ４１(ストリームパイプ１４９を含む)のみが行う。通信部４５ｂ〜４５ｅのうちどれか１つのポートが開かれると、その上位層の処理部７４，ＢＰＰ１２８，ＢＩＰ１２９，ＨＤＲＰ１５６，ＯＰＰ１５７のいずれかは、受信したファイルの拡張子からデータ種を特定し、そのデータ種を特定したデータに必要な処理を施すために、ストリームパイプ１４９に上位層の処理部７５，７６，プリントエンジン７７への転送を要求する。ストリームパイプ１４９は転送を要求されたそのデータ種のデータを要求元の処理部から上位層の処理部へ転送するため、そのポートから受信されるデータの転送経路を確保する。図１３では、スイッチＳＷ11，ＳＷ12，ＳＷ21により各処理段階毎に経路が選択される。
【０１５６】
(2)ＣＰＵ４１は転送経路を一旦確保したら、原則、そのデータの印刷終了までその経路を占有する。但し、その経路の接続と遮断は段階的に行われる。すなわち、ＣＰＵ４１は、接続時は、データが転送されるに連れて転送経路を、上流側（通信部側）から下流側（プリントエンジン側）に向かって段階的に接続する。まず第１段目のスイッチＳＷ11又はＳＷ12を接続し、次に第２段目のスイッチＳＷ21を接続する。一方、転送経路を切断するときは、第２段目のスイッチＳＷ21についてはプリントエンジン７７での印刷終了を待って遮断する。この第２段目のスイッチＳＷ21の接続の解除を待って、第１段目のスイッチＳＷ11，ＳＷ12の接続が解除される。
【０１５７】
(3)第１段目のスイッチＳＷ11，ＳＷ12については、そのスイッチの直ぐ下流側の処理部（次の処理部）が処理を終了し、且つ第２段目のスイッチＳＷ21の接続を維持したまま次データの転送経路を確保できることを条件に切り替えを認める。つまり、この条件が成立しているときに限り、先のデータの印刷終了前であっても次のデータの転送経路を確保してその受信を許可する。
【０１５８】
インターロック処理は次のルールに従って行われる。
インターロック処理は、ＩｒＤＡプロファイル処理部７４の判断部８８が所定時間間隔（例えば数10ｍ秒）毎に定期的に行う。判断部８８は、１段上位層のラスタ処理部７５，７６と経路が繋がっているか否か、すなわちスイッチＳＷ11，ＳＷ12のうち一方がどこかと接続されているか否かを判断する。スイッチＳＷ11，ＳＷ12がどちらも接続されていない場合（つまり共に切断の場合）は、インターロックを解除すべきと判断する。一方、スイッチＳＷ11，ＳＷ12のうち一方が接続されている場合は、さらに両ラスタ処理部７５，７６にラスタ処理中にあるか否かを尋ねる。そして、その応答を受け付けた結果、ラスタ処理部７５，７６が共にラスタ処理中でない場合は、インターロックを解除すべきと判断する。これ以外の場合はインターロックすべきと判断する。判断部８８は、詳しくはストリームパイプ１４９に要求コマンドを投げかけることにより、ＩｒＤＡプロファイル処理部７４からの転送経路を接続できるか否かの判断結果を応答として得るようになっている。判断部８８が転送経路を接続可能である旨の応答をストリームパイプ１４９から得たときにＩｒＤＡプロファイル処理部７４はＵＡＲＴドライバ７２にレディコマンドを出力させる指示をし、一方、判断部８８が転送経路を接続不能である旨の応答をストリームパイプ１４９から得たときにＩｒＤＡプロファイル処理部７４はレディコマンドを出力させない指示をする設定となっている。判断部８８は、その判断結果をデータトランスファ部７３を介してＵＡＲＴドライバ７２に送る。ＵＡＲＴドライバ７２は、ＩｒＤＡプロファイル処理部７４（判断部８８）からインターロックすべき旨の通知（レディコマンド出力停止指示）を受け付けたときはレディコマンドを出力せずに、インターロックを解除すべき旨の通知を受けたときはレディコマンドを出力する。
【０１５９】
但し、このようなルールに従って行われるインターロック処理であることから、ストリームパイプ１４９の監視対象外である、例えばホストコンピュータＨＣから通信部４５ｂを通じて受信されたラスタデータの受信状況については監視していない。このため、例えばホストコンピュータＨＣから既にラスタデータを受信してデータ処理中にあったとしても、この旨は監視対象外であるためインターロックが解除される場合がある。この場合、表示部１３ｂが緑点灯していることを根拠に携帯電話１４からデータ送信をしてもプリンタ１側で受信エラーとなってしまう。このため、インターロック機能としては十分とは言えないが受信エラーはかなり減らせることになる。
【０１６０】
例えば先行データの印刷処理終了後のタイミングで判断部８８の判断対象となる第１段目のスイッチＳＷ11，ＳＷ12が共に切断されていても、その時点で既に他の通信部４５ｂからの受信データが第２段目のスイッチＳＷ21を切り換えて転送経路を既に占有している場合があり、この場合、インターロックは解除されるものの、転送経路を確保することはできない。また、判断部８８の判断対象となる第１段目のスイッチＳＷ11，ＳＷ12の一方が接続されていれば、第２段目のスイッチＳＷ21も同じ経路を確保しうる側に接続され大抵はプリントエンジン７７に至るまでの転送経路が確保されているはずである。しかし、仮に第１段目のスイッチＳＷ11，ＳＷ12の一方が接続され且つラスタ処理部７５，７６のラスタ処理が終了している場合でも、プリントエンジン７７の印刷処理まで既に終わっていれば、その時点で既に他のデータが先に新たな転送経路を確保して第２段目のスイッチＳＷ21の接続を切り換えている場合がある。このときもインターロックは解除されるものの転送経路を確保することはできない。これらの場合、インターロックが解除されて表示部１３ｂが緑点灯するが、ユーザがデータを送信すると受信エラーが発生する。これは、プリンタ１に元々備わったハードウェア（回路）およびソフトウェアに極力変更を加えることなくＩｒＤＡ通信機能を付加する構成を採用したことにより、インターロック機能を従前の機能を流用することで構築したことに起因する。もちろんすべての通信方式を監視対象としたより漏れのないインターロック機能を実現した構成を採用することもできる。また、逆にインターロック処理をもっと簡素化し、例えば判断部８８がスイッチＳＷ11，ＳＷ12の一方が接続側にあるか否かを判断するだけのインターロック処理とすることも可能である。
【０１６１】
本実施形態の転送経路確保のルールに従えば、先のデータの印刷終了前であっても、その先行データの転送経路を確保する第２段目のスイッチＳＷ21の接続を維持したまま、第１段目のスイッチＳＷ11，ＳＷ12を切り換えるのみで次データの転送経路を確保できる場合は、次データの受信が可能となる。例えば先に受信したｖＮｏｔｅデータの画像データラスタ処理部７６におけるラスタ処理を終了してそのラスタデータがすべてバッファ（格納部）７６ａに格納されたとすると、その時点でインターロックは解除される。このインターロック解除により表示部１３ｂが緑点灯した後、通信部４５ｃからＪＰＥＧデータを受信すると、このとき、第１段目のスイッチＳＷ11，ＳＷ12の一方が接続され且つラスタ処理が終了しており、さらに第２段目のスイッチＳＷ21の接続を維持したまま次データの転送経路を確保できる条件を満たしているので、ストリームパイプ１４９はそのＪＰＥＧデータの受信を許可する。すなわち、そのＪＰＥＧデータの転送経路を確保する。従って、先のｖＮｏｔｅデータがラスタ処理後にバッファ（格納部）７６ａにバッファリングされただけの印刷終了前の段階であっても、次のＪＰＥＧデータの受信および処理が可能となる。このように先行データの印刷処理終了前に次データの受信および転送処理が可能になるデータ種の組み合わせは上記の例に限定されず、例えばｖＣａｒｄデータを受信した後、次にＸＨＴＭＬデータを受信したときも同様であり、また、それら２つのデータの受信順序が逆であっても同様である。また、条件さえ揃えば先行データの印刷終了前に次データを順次複数受信することもでき、このとき受信できる次データの数はラスタ処理部７５，７６に対応する各バッファ７５ａ，７６ａの記憶容量に依存し、その記憶容量以内でバッファリングできる限りにおいて複数のデータを受信できる。
【０１６２】
通常、ユーザは複数のデータを印刷したいときは、それら複数のデータを連続的に送信しようとするのが当然ではあるが、このプリンタ１では、プリントエンジン７７のバッファリング容量が限られていることから、１件ずつの印刷しか原則認めておらず、ＣＰＵ４１は１件の印刷終了までは次データの受信を許可しない。しかし、例外的に先行データの印刷終了前でも次データの受信が許可される場合があるので、この例外的に受信が許可される場合の条件に合わせてインターロック処理内容（つまりストリームパイプ１４９の設定内容）を設定している。受信が確実に許可されない条件ではインターロックを解除させず、受信が許可される可能性のある条件ではインターロックを解除するようにしている。よって、表示部１３ｂが緑点灯したにも拘わらず受信エラーとなることがありうるものの、前データの印刷終了前でも受信が許可されうるときには表示部１３ｂを緑点灯させ、受信できるにも拘わらず表示部１３ｂが消灯することを避けることで、受信の機会をできるだけ増やすようにしている。ユーザは表示部１３ｂの緑点灯によって受信可能であることが分かると、次のデータを送信する。この際、先行データの印刷終了前であっても受信が許可されうる前データと次データの組み合わせは、ｖＮｏｔｅとＪＰＥＧ形式のうちから二者選択する３つの組合せと、ｖＣａｒｄとＸＨＴＭＬ形式のうちから二者選択する３つの組合せとの合計６種類の組合せがある。
【０１６３】
ここで、通常は、プリンタ１が印刷を終了すれば次データを送信できるとユーザは知ることができるが、内部処理の都合で受信可能になった場合も、表示部１３ｂの緑点灯により知ることができる。よって、表示部１３ｂによる報知があるため、受信できるにもかかわらず印刷動作の終了を待つ事態を回避できる。
【０１６４】
図１４は、ＣＦ型通信カードをカードスロットに挿入（セット）した際に、プリンタ１側のＣＰＵ４１が実行するプログラムを示すフローチャートである。以下、ＣＰＵ４１がＣＦ型通信カード１３を検出した時に実行する処理内容を説明する。
【０１６５】
まず、ステップ（以下単に「Ｓ」と記す）１０では、ＣＦ型通信カード１３がカードスロット１２に挿入されたか（つまりＣＦ型通信カード１３を検出できたか）どうかを判断する。ＣＦ型通信カード１３がカードスロット１２に挿入されたことを検知すればＳ２０に進み、挿入されたことが検知されなければそのまま処理を終了する。
【０１６６】
Ｓ２０では、挿入が検知されたカードが、ＣＦ型通信カード１３であるかメモリカードＭＣであるかを判別する。ＣＦ型通信カード１３であればＳ３０に進み、メモリカードであればメモリカードであることを認識して処理を終了する。
【０１６７】
Ｓ３０では、ＣＦ型通信カード１３のセットアップ処理を行う。すなわち、セットアップデータ記憶部７１ａから拡張子データ（参照データ）を読み出してオブジェクト送受信部６４に送信するようカードドライバ７１に指示を与える。この結果、カードドライバ７１は拡張子データをオブジェクト送受信部６４に送信し、それを受け付けたオブジェクト送受信部６４はその拡張子データを記憶部６４ａに記憶する。
【０１６８】
次にＳ４０では、インターロック処理を行う。すなわち、先に図１３を用いて説明した処理を実行する。
Ｓ５０では、インターロックを解除してよいかどうかを判断する。インターロックを解除してよければＳ６０に進み、解除できない場合は再びＳ４０に戻る。
Ｓ４０に戻った場合は、以後、インターロックを解除できるまでインターロック処理を所定時間毎に実行する。
【０１６９】
Ｓ６０では、インターロックを解除するレディコマンドを出力する。このレディコマンドを受け付けたカード制御部３１（ＣＰＵ１５９）は、「受信可能」の通信ステータスＡを設定し、ＣＦ型通信カード１３の表示部１３ｂが緑点灯する。ユーザは表示部１３ｂの緑点灯を見ることでＣＦ型通信カード１３がデータ受信可能な状態にあることを把握する。
【０１７０】
図１５〜図１９は、インターロック処理のシーケンスを示す一例である。なお、図１５〜図１７についてはＣＦ型通信カードで行われる未対応データの受付禁止処理も合わせて説明している。
【０１７１】
なお、以下のインターロック処理の説明では、図１６で説明した例外処理、すなわちプリントエンジン７７が先行データの処理終了前であっても次データの受信を許可する例外処理については、ＸＨＴＭＬデータの転送要求時に起動するスイッチＳＷ11側には適用せず、ＪＰＥＧデータの転送要求時に起動するスイッチＳＷ12側のみ適用した例で説明する。
【０１７２】
このため、プリンタ１が先に受信したデータがｖＣａｒｄデータであるときと、ｖＮｏｔｅデータ又はＪＰＥＧデータであるときとでは、次のデータの受信を許可するインターロック解除の方法が異なる。図１５はｖＣａｒｄデータが先に送信された例、図１６及び図１７はｖＮｏｔｅデータ又はＪＰＥＧデータが先に送信された例である。図１７は先のデータの印刷実行中であっても次のデータがｖＮｏｔｅデータ又はＪＰＥＧデータであれば受信可能となる例を示す。図１８及び図１９はその他のインターロック処理を説明する。
【０１７３】
まず図１５に基づいて、先にｖＣａｒｄデータを受信したときのインターロック処理及び未対応データの受付禁止処理について説明する。
まずプリンタ１に電源が投入されると、プリンタ１からＣＦ型通信カード（赤外線通信カード）１３に対応拡張子（拡張子データ）「ｖｃｆ」「ｖｎｔ」「ｊｐｅｇ」「ｊｐｇ」がセットアップされる。その後、プリンタ１では、ＣＦ型通信カード１３からの受信を許可してよいか否かを判断する処理（以下インターロック解除処理という）が行われ、受信を許可してよい（つまりインターロック状態を解除してよい）と判断すると、プリンタ１からＣＦ型通信カード１３へレディコマンドが出力される。ＣＦ型通信カード１３はレディコマンドを入力するとインターロック状態を解除して受信可能状態になる。インターロック状態の解除によりそれまで消灯していた表示部１３ｂは緑点灯する。
【０１７４】
そして、携帯電話１４から対応データとして「ｖｃｆ」の拡張子を持つｖＣａｒｄデータを送信したとする。すると、これを受信したＣＦ型通信カード１３はそのデータの拡張子「ｖｃｆ」とセットアップされた拡張子データ「ｖｃｆ」「ｖｎｔ」「ｊｐｅｇ」「ｊｐｇ」とを参照比較する。両者が一致する組合せが存在するので、ＣＦ型通信カード１３はそのデータを受信するとともにプリンタ１へ転送する。このデータ受信中は表示部１３ｂが緑点滅する。数10秒〜１分程度かけてデータの受信が完了すると、表示部１３ｂが橙点灯になり、受信完了の旨（受信完了信号）がＣＦ型通信カード１３から携帯電話１４へ通知されるとともに、ＣＦ型通信カード１３がインターロック状態になる。本例では、携帯電話１４とＣＦ型通信カード１３間の通信と、ＣＦ型通信カード１３とプリンタ１間の通信は非同期であるため、その後しばらくしてプリンタ１からＣＦ型通信カード１３に受信完了の旨が通知される。その後、プリンタ１では印刷が実行される。
【０１７５】
プリンタ１はｖＣａｒｄデータを受信した場合は印刷終了後にレディコマンドを出力する。よって、プリンタ１が印刷実行中にあるときＣＦ型通信カード１３はインターロック状態にあるので、携帯電話１４から対応データを送信しても、ＣＦ型通信カード１３から携帯電話１４へエラー信号が送信される。
【０１７６】
その後、印刷が終了してプリンタ１からＣＦ型通信カード１３へレディコマンドが出力されると、インターロック状態が解除される。そして、携帯電話１４から「ｖｃｆ」「ｖｎｔ」「ｊｐｅｇ」「ｊｐｇ」以外の拡張子を持つ未対応データを送信すると、これを受信したＣＦ型通信カード１３はそのデータの拡張子と拡張子データとを参照比較する。例えば「ｔｘｔ」「ｍｐｅｇ」等の未対応拡張子を持つ未対応データである場合、参照比較の結果、両者の組合せがすべて不一致となるので、未対応データは受信されずＣＦ型通信カード１３内で破棄されるとともに携帯電話１４へエラー信号が送信される。このとき表示部１３ｂは赤点滅する。このように未対応データはＣＦ型通信カード１３内で破棄され、プリンタ１へ転送されることがない。よって、プリンタ１へデータ転送する際に使用されるスロット通信部４５ｅの通信ポートを未対応データが占有することがないので、他の通信方式の通信ポートにおけるデータ受信を妨げることが回避される。
【０１７７】
次に図１６に基づいて、先にｖＮｏｔｅ又はＪＰＥＧデータを受信したときのインターロック処理及び未対応データの受付禁止処理について説明する。
プリンタ１からＣＦ型通信カード（赤外線通信カード）１３に対応拡張子（拡張子データ）「ｖｃｆ」「ｖｎｔ」「ｊｐｅｇ」「ｊｐｇ」がセットアップされた後、プリンタ１からレディコマンドを受け取るとＣＦ型通信カード１３はインターロック状態を解除して受信可能な状態になる。この結果、それまで消灯していた表示部１３ｂが緑点灯する。
【０１７８】
そして、携帯電話１４から対応データとして「ｖｎｔ」「ｊｐｅｇ」「ｊｐｇ」の拡張子を持つｖＮｏｔｅ又はＪＰＥＧデータを送信したとする。すると、これを受信したＣＦ型通信カード１３はそのデータの拡張子「ｖｎｔ」（又は「ｊｐｅｇ」「ｊｐｇ」）とセットアップされた拡張子データ「ｖｃｆ」「ｖｎｔ」「ｊｐｅｇ」「ｊｐｇ」とを参照比較する。両者に一致する組合せがあるため、ＣＦ型通信カード１３はそのデータを受信するとともにプリンタ１へ転送する。
【０１７９】
このデータ受信中は表示部１３ｂが緑点滅する。数10秒〜１分程度かけてデータの受信が完了すると、表示部１３ｂが橙点灯になり、受信完了の旨（受信完了信号）がＣＦ型通信カード１３から携帯電話１４へ通知されるとともに、ＣＦ型通信カード１３がインターロック状態になる。その後しばらくしてプリンタ１からＣＦ型通信カード１３に受信完了の旨が通知される。プリンタ１は受信完了の旨を通知した後、拡張子「ｖｎｔ」「ｊｐｅｇ」「ｊｐｇ」のいずれかを持つｖＮｏｔｅ又はＪＰＥＧデータを受信した場合は、その対応データのラスタ処理が終了した時点でＣＦ型通信カード１３へレディコマンドを出力する。すなわち、図１５で説明したｖＣａｒｄデータ送信時は印刷終了後にレディコマンドを出力したのに対し、ｖＮｏｔｅ又はＪＰＥＧデータの送信時はラスタ処理終了時点でレディコマンド出力する。その後、プリンタ１では印刷が実行される。
【０１８０】
よって、プリンタ１が印刷実行中にあるときはＣＦ型通信カード１３はインターロック状態が解除され通信可能状態にある。しかし、この印刷実行中に受信が許可されるのはｖＮｏｔｅ又はＪＰＥＧデータに限られる。例えば携帯電話１４からｖＣａｒｄデータを送信した場合、これを受信したＣＦ型通信カード１３はそのデータの拡張子「ｖｃｆ」と拡張子データとを参照比較する。参照比較の結果、両者が一致する組合せが存在するので、ｖＣａｒｄデータは受信されプリンタ１へ転送される。ｖＣａｒｄデータを受信したプリンタ１は、その拡張子「ｖｃｆ」からｖＣａｒｄデータであることを認識すると、受付けられないデータ種であるのでＣＦ型通信カード１３へエラー信号を出力する。
【０１８１】
これに対し、図１７に示すように、この印刷実行中に拡張子「ｖｎｔ」「ｊｐｅｇ」「ｊｐｇ」のいずれかを持つｖＮｏｔｅ又はＪＰＥＧデータを受信した場合は、プリンタ１はこれを受信してそのデータ種に応じた処理を進める。ｖＮｏｔｅ又はＪＰＥＧデータを受信し終わると、プリンタ１は受信完了の旨をＣＦ型通信カード１３へ送信し、その後、この受信したデータのラスタ処理が終わるとＣＦ型通信カード１３へレディコマンドを出力する。但し、プリンタ１でインターロック処理を行うＩｒＤＡプロファイル処理部７４は、ラスタ処理部７５，７６で処理されるデータを受信する一部の通信部しか管理できないので、その他の通信部から受信されたデータが既にある場合はｖＮｏｔｅ又はＪＰＥＧデータであっても受付けられない場合がある。
【０１８２】
ＣＦ型通信カード１３からプリンタ１への通信が発生した場合、そのデータ受信を完了すればＣＦ型通信カード１３は自動的にインターロック状態に移行する。但し、ＣＦ型通信カード１３とプリンタ１間での接続処理に失敗した場合は移行しない。以下、この種の例を図１８に従って説明する。
【０１８３】
図１８に示すように、携帯電話１４から対応データが送信された場合、ＣＦ型通信カード１３はそのデータをプリンタ１にすべて転送し終えると、転送終了の制御コード「ＥＯＴ」をプリンタ１に送信する。この「ＥＯＴ」に応答してプリンタ１から肯定応答「DLE ACK0」を受信することによりデータリンクを開放するようになっている。同図のように「ＥＯＴ」に対してプリンタ１から肯定応答「DLE ACK0」を受信することがないままタイムアウトになると、ＣＦ型通信カード１３は携帯電話１４にエラー信号を送信する。このようにタイムアウトによりデータリンクが正しく開放されなかった場合に限り、インターロック状態とはならず通信可能状態を維持する。よって、タイムアウトによってデータ受信が失敗した場合は、その後引き続き携帯電話１４からデータを再送し直せばＣＦ型通信カード１３にデータは受信される。
【０１８４】
これに対し、図１９に示すように、転送終了の制御コード「ＥＯＴ」に対する肯定応答「DLE ACK0」をプリンタ１から受信した場合は、通信終了（データリンク開放）後、ＣＦ型通信カード１３はインターロック状態に移行する。
【０１８５】
図２０（ａ）〜（ｃ）は、プリンタ１の操作パネル８の画面９ａに通信状態を表示する報知画像を示す。通信ステータスの情報は、ＣＦ型通信カード１３の表示部１３ｂ以外に、操作パネル８の画面９ａにも表示される。
【０１８６】
ＣＰＵ４１は、通信ステータスを管理しており、操作パネル８の画面９ａにはその通信ステータスが表示される。ユーザはＣＦ型通信カード１３の表示部１３ｂとプリンタ１の画面９ａとのどちらでもデータ受信状態を確認できるようにしている。表示部１３ｂで点灯制御によって報知される通信ステータスが、受信不可、受信可能、受信中、受信終了、受信エラーの５種類であるのに対し、文字表示可能な画面９ａには、これらの文字情報の表示に加え、受信エラーについてはエラー内容（エラー原因別）まで区別して報知されるようになっている。
【０１８７】
同図（ａ）の画面９ａに示すように、「受信不可」の通信ステータスＡにあるときは、ＣＰＵ４１は受信不可の旨を示す報知画像ＡＧ１を表示させる。報知画像ＡＧ１には、例えば「データ受信できません。」というテキストＴＸ１が表示される。
【０１８８】
また、同図（ｂ）の画面９ａに示すように、「受信可能」の通信ステータスＢにあるときは、ＣＰＵ４１は受信可能の旨を示す報知画像ＡＧ２を表示させる。
報知画像ＡＧ２には、例えば「データ受信できません。」というテキストＴＸ２が表示される。
【０１８９】
また、同図（ｃ）の画面９ａに示すように、「受信中」の通信ステータスＣにあるときは、ＣＰＵ４１は受信中の旨を示す報知画像ＡＧ３を表示させる。報知画像ＡＧ３には、データ受信中の旨を示す動画画像ＭＧ１と例えば「データ受信中」というテキストＴＸ３が表示される。これらのテキストＴＸ１〜ＴＸ３と動画画像ＭＧ１の各データは、ＥＥＰＲＯＭ４３に記憶されている。
【０１９０】
また、通信ステータスが受信エラーであるときは、例えば図２０に示す画面９ａには、「この拡張子のデータは扱えません。」、「拡張子とデータが一致していません。」、「通信が途絶えました。」などのエラーの内容（原因）まで特定して報知する。また、ＣＰＵ４１は、印刷実行を開始すると、画面９ａに「印刷中です。残り３枚。」などの印刷状況を報知するテキストを含む報知画像を表示させる。なお、ＣＰＵ４１が自身で通信ステータスを管理するのではなく、ＣＦ型通信カード１３側のＣＰＵ１５９から受信した通信ステータスの情報に基づき画面９ａに報知画像を表示する構成を採用することもできる。
【０１９１】
次に、ＣＦ型通信カード１３からプリンタ１の本体２側に転送されたデータの処理について説明する。プリンタ側の処理には、主に、(A)データの種別に応じた振り分け処理、(B)個人情報データの単件か全件かの判定処理、(C)個人情報の全件データの分割送出処理、(D)個人情報データの名刺レイアウト印刷、(E)個人情報データの電話帳レイアウト印刷の各処理がある。
【０１９２】
まず、受信したデータをＡＳＩＣ内等の処理回路が扱えるファイル形式に変換した後、指定のレイアウト付きのデータに生成するまでの処理について説明する。まずｖＣａｒｄファイルのデータ構造を説明する。
【０１９３】
図２１は、ｖＣａｒｄファイル形式の個人情報データの一例を示す。
同図に示すように、ｖＣａｒｄ形式の単件データＭＤ１は、まず「ＢＥＧＩＮ：ＶＣＡＲＤ」で始まり、「ＥＮＤ：ＶＣＡＲＤ」で終わる。その「ＢＥＧＩＮ：ＶＣＡＲＤ」と「ＥＮＤ：ＶＣＡＲＤ」の間には以下のような個人情報の各アイテムが、プロパティと値を使って「プロパティ：値」形式で記述されるようになっている。プロパティは項目を指し、値はその項目に入れるべき具体的な内容を指す。プロパティには、「Ｎ（名前）」、「ＳＯＵＮＤ（フリガナ）」、「ＴＥＬ（電話番号）」、「ＥＭＡＩＬ（電子メールアドレス）」、「ＡＤＲ（住所）」、「ＮＯＴＥ（メモ）」などが用意されている（但し、括弧書きはプロパティの説明である）。
【０１９４】
まずプロパティ「Ｎ」の値には他人の氏名が記述される。例えばｖＣａｒｄ対応の電話帳アプリケーション（新規登録）を起動させて画面に表示された名前の入力欄に「山田  太郎」と入力した場合、「Ｎ：山田  太郎」と記述される。同様にプロパティ「ＳＯＵＮＤ」の値には氏名のフリガナが記述される。
【０１９５】
プロパティ「ＴＥＬ」には電話番号が記述されるが、さらにコマンドを追加すること（以下ＴＹＰＥ指定することと称す）により以下に示すようなものが指定できる。「ＴＥＬ；ＷＯＲＫ；ＶＯＩＣＥ：」の値には勤務先電話番号、「ＴＥＬ；ＷＯＲＫ；ＦＡＸ：」の値には勤務先ＦＡＸ番号が記述される。「ＷＯＲＫ」の部分を「ＨＯＭＥ」に置換すると自宅用電話番号が記述される。「ＴＥＬ；ＣＥＬＬ：」の値には携帯電話番号が記述される。また、携帯電話番号の登録アイコンの選択によりさまざまなＴＹＰＥ指定が可能であり、これによりさまざまな電話番号を指定することが可能である。図２１の７行目の「ＴＥＬ;Ｘ-ＡＢＣ−ＭＡＩＮ；ＶＯＩＣＥ：」の値には「代表」の電話番号が記述される。その他、「学校」の電話番号が記述されるプロパティもある。その他、さまざまな識別ＴＹＰＥコマンドが用意されている。
【０１９６】
プロパティ「ＥＭＡＩＬ」の値には電子メールアドレスが記述される。「ＥＭＡＩＬ」コマンドも「ＴＥＬ」コマンドと同様に、「ＥＭＡＩＬ」の後にＴＹＰＥ指定することにより複数の電子メールアドレスが指定できる。図２１の例で、「ＥＭＡＩＬ；ＷＯＲＫ：」の値には会社の電子メールアドレスが、「ＥＭＡＩＬ；ＣＥＬＬ：」の値には携帯電話の電子メールアドレスが、「ＥＭＡＩＬ：ＩＮＴＥＲＮＥＴ：」の値にはインターネットの電子メールアドレスが記述される。
【０１９７】
プロパティ「ＡＤＲ」の値には住所が記述される。「ＡＤＲ」もその後に「ＷＯＲＫ」、「ＨＯＭＥ」等のＴＹＰＥ指定することにより会社住所、自宅住所等を指定することができる。
【０１９８】
プロパティ「ＮＯＴＥ」の値にはメモの内容が記述される。本実施形態では、メモに指定文字を入力して「ＮＯＴＥ」の値に指定文字を記述することにより、プリンタ１に対し印刷レイアウトを設定する機能を設けている。
【０１９９】
なお、ｖＣａｒｄの全件データは、個人情報を複数件含み、個人情報は１件ずつ「ＢＥＧＩＮ：ＶＣＡＲＤ」で始まり、「ＥＮＤ：ＶＣＡＲＤ」で終わる。その「ＢＥＧＩＮ：ＶＣＡＲＤ」と「ＥＮＤ：ＶＣＡＲＤ」の間に１件分の個人情報を構成する各アイテムが、「プロパティ：値」形式で記述されている。従って、１件のデータが終了する毎に「ＥＮＤ：ＶＣＡＲＤ」が記述されている。携帯電話１４から個人情報データを送信するとき、ユーザは「単件」か「全件」かを選択できる。プリンタ１は受信したｖＣａｒｄファイルが「単件」か「全件」かによって適用する印刷レイアウトを決定する。本実施形態では、ｖＣａｒｄファイルが「単件」か「全件」であるかを識別するために、個人情報データ中に必ず記述され、かつ１件につき１つしか記述されないコマンド又はプロパティを件数判別子として採用する。本実施形態の場合、件数判別子ＣＳとして「ＥＮＤ：ＶＣＡＲＤ」を採用する。ＩｒＤＡプロファイル処理部７４の件数判定部８２は、個人情報データが単件であるのか全件（グループ指定の場合はグループの全件を含む）であるのかを判別する。詳しくは、ＣＰＵ４１がデータ中に含まれる件数判別子「ＥＮＤ：ＶＣＡＲＤ」をカウンタにより計数し、その計数値に基づき受信したｖＣａｒｄファイルが「単件」か「全件」かを判断する。すなわちその計数値が「１」の場合は判定値（例えばフラグ）Ｎを「Ｎ＝０」にリセットし、計数値が「２以上」の場合は判定値Ｎを「Ｎ＝１」にセットする。
【０２００】
また、全件ファイルである場合、ＩｒＤＡプロファイル処理部７４はデータをすべて受信してからテキストデータ形式変換部８５へ送るのではなく、全件のうち所定件数分だけバッファリングされる度に、その所定件数分ずつ次処理部のテキストデータ形式変換部８５へ送る。この処理は分割処理部８４が行う。データ中の１件毎の区切りは区分識別子ＤＳをみることで判断する。本例では、区分識別子ＤＳとして「ＥＮＤ：ＶＣＡＲＤ」を採用する。
【０２０１】
データトランスファ部７３が伝送制御手順７３ａにおいてデータが正しく受信されたかどうかチェックした後、ＣＰＵ４１はそのデータについて区分識別子ＤＳである「ＥＮＤ：ＶＣＡＲＤ」（本例で件数判別子ＣＳに同じ）をカウンタにより計数し、その計数値から受信した個人情報の件数をカウントする。そして、所定件数分の個人情報がＲＡＭ４４の受信バッファ４４ａにバッファリングされる度にＣＰＵ４１は、受信バッファ４４ａのデータを次処理のテキストデータ形式変換部８５へ送る。詳しくはＣＰＵ４１が所定件数分のデータがバッファリングされる度にその所定件数分のデータに対し次のテキストデータ形式変換処理を実行する。なお、区分識別子ＤＳは、１件毎の最後のプロパティでもよい。
【０２０２】
図２２は、個人情報データが印刷される際に適用される印刷レイアウトのテンプレートデータの一例を示す。
ｖＣａｒｄファイルの印刷レイアウト（印刷フォーマット）は、プリンタ１内のＥＥＰＲＯＭ４３（テンプレート記憶部８６）に記憶されたテンプレートデータに依存する。テンプレートデータはＸＨＴＭＬ形式で記述されたレイアウト用データである。ＸＨＴＭＬデータは、＜body＞と＜／body＞の間が、１つの項目毎（同図では行毎）につき、フィールド、コメントタグ、プロパティの３つの領域に分かれている。
【０２０３】
フィールドは、図２２においては「名前」や「電話番号」など名刺の中にタイトルとして印刷される文字列などのデータ領域である。「名前」や「電話番号」など名刺に必要な規定のタイトルはテンプレートデータＬＴのフィールドに予め記述されている。
【０２０４】
コメントタグは、ｖＣａｒｄ形式ファイルにおける各プロパティの値（例えばプロパティ「Ｎ」であればその値である「山田  太郎」）の印刷位置やフォント、文字サイズ等を指定する命令である。コメントタグ「<!-- -->」の直後に値は組み込まれる。また、コメントタグ「<  >」を値で置換する方法もある。
【０２０５】
プロパティはｖＣａｒｄ形式のデータで、ＴＹＰＥ指定したデータの印刷位置やフォント、文字サイズ等を指定する命令である。プロパティ「<  >」の直後にＴＹＰＥ指定したデータ、例えば「ＷＯＲＫ」や「ＣＥＬＬ」等の文字列が組み込まれる。従って、図２１に示すように名前やフリガナのように、個人情報１件につき１つしかないＴＹＰＥ指定の対象外のデータにおいてはコメントタグのみで構成されている。一方、電話番号や電子メールなどのＴＹＰＥ指定できるデータが記述される領域ではコメントタグにプロパティが付加される。なお、図２２におけるコメントタグ及びプロパティではフォント及び文字サイズ等は指定されていない。
【０２０６】
図２３は、図２１の個人情報データを図２２のテンプレートに当て嵌めた後のＸＨＴＭＬデータを示す。図２１の個人情報データ（携帯電話のディスプレイでは図４（ｂ）にように表示される個人情報）は、そのうち指定の値（及びプロパティ）が図２２のテンプレートに組み込まれ、図２３に示すＸＨＴＭＬデータからなるテンプレート書式データとなる。この個人情報データからテンプレート書式データへの変換処理は、テキストデータ形式変換部８５が行う。テキストデータ形式変換部８５で変換されたテンプレート書式データはテキストデータラスタ処理部７５に送信される。ＣＰＵ４１は、テキストデータ形式変換処理を次のように行う。テンプレートデータＬＴを読み出すと、コメントタグの中に記述されたプロパティ（「Ｎａｍｅ」等）を手掛かりに、ｖＣａｒｄファイル中からそのプロパティの値（「山田  太郎」等）を取り出し、テンプレートデータ中のそのコメントタグの直後にその取り出した値を組み込む。また、ＣＰＵ４１は、プロパティ中の「ＴＹＰＥ」直後のプロパティ（「ＴＥＬＮＯ１」等）を手掛かりに、ｖＣａｒｄファイル中からそのプロパティのＴＹＰＥ（「ＷＯＲＫ」等）を取り出し、テンプレートデータＬＴ中のそのプロパティの直後にその取り出したＴＹＰＥを組み込む。このルールに従った組込み処理は、ＣＰＵ４１がテキストデータ形式変換処理用プログラムを実行することにより行われる。こうして図２３に示すテンプレート書式データが作成される。このように本実施形態では、レイアウト定義できないｖＣａｒｄ形式からレイアウト定義できるＸＨＴＭＬ形式に形式変換し、この形式変換の際に個人情報の値をテンプレートのレイアウト枠に流し込むことでレイアウトを割り付けている。
【０２０７】
図２４は、名刺形式の印刷レイアウトの一例を示す。同図はテンプレートデータＬＴにより指定される印刷レイアウトのテンプレートＰＬ１を図示したものである。同図において四角枠で囲まれたレイアウト枠（割付領域）Ａ１〜Ａ９は、個人情報の各項目の値が配置される場所で、この場所の指定がテンプレートデータＬＴ中のコメントタグにより指定されている。そして、コメントタグにより指定したレイアウト枠Ａ１〜Ａ９に、それぞれ対応する値が配置される。レイアウト枠Ａ１〜Ａ９内に付されているタイトルは、テンプレートデータＬＴ中に予め記述されており、各タイトルの右横に値が配置される。同図において各レイアウト枠Ａ１〜Ａ９内に括弧で示されている（例えば「（ORG1）」等）のが、ｖＣａｒｄデータ中のプロパティで、そのプロパティの値がそのレイアウト枠に配置されることを意味する。例えば図２１におけるプロパティ「Ｎ」の値「山田  太郎」が図２４におけるレイアウト枠Ａ４内の「名前」の右横に配置される。なお、図２２の名刺印刷テンプレートと図２４の印刷レイアウトとは対応していないが、図２５のテンプレートデータは説明を簡単にするため単純な記述内容のテンプレート例で示している。本例では、図２４に示す名刺印刷レイアウトを指定できるＸＨＴＭＬデータがテンプレートデータの一つとしてＥＥＰＲＯＭ４３に記憶されている。この場合、個人情報には、会社名、部署、役職、会社電話番号、会社ＦＡＸ番号、社用電子メールなど必要なデータを入力して使用する。
【０２０８】
同図の各項目にはｖＣａｒｄ形式のプロパティの値がテンプレートのレイアウト枠Ａ１〜Ａ９に挿入され、所定のフォントの種類、フォントサイズ及びフォントのスタイルなどで印刷されるようなＸＨＴＭＬデータに変換される。例えば、会社名の場合、ｖＣａｒｄ形式では、プロパティ「ＯＲＧ」には、値として具体的な会社名が記述され、その会社名がレイアウト枠Ａ１に挿入される。
【０２０９】
図２０は印刷レイアウトのテンプレートを示し、同図（ａ）〜（ｃ）は名刺レイアウトのテンプレート例、同図（ｄ）は電話帳レイアウトのテンプレート例である。なお、同図においては、各テンプレートＰＬ１〜ＰＬ４，ＰＬ１０をｖＣａｒｄファイルのプロパティの値（テキスト）を組み込んだ状態のレイアウト図として示している。テンプレートＰＬ１〜ＰＬ４，ＰＬ１０は、プロパティ毎にその値（テキスト）が組み込まれる割付位置とエリアサイズ（割付領域）を指定するためのタグが記述されたＸＨＴＭＬデータからなる。図１９及び図２０（ａ）〜（ｃ）に示すものを含む複数種の名刺レイアウトテンプレートデータ（ＸＨＴＭＬデータ）がＥＥＰＲＯＭ４３には記憶されている。
【０２１０】
ここで、名刺レイアウトの種類を簡単に説明すると、図２０（ａ）は文字サイズがすべて同一の横書きの名刺レイアウトのテンプレートＰＬ２である。同図（ｂ）は名前の文字サイズが他より大きく印刷される横書きの名刺レイアウトのテンプレートＰＬ３、同図（ｃ）は名前の文字サイズが他より大きく印刷される縦書きの名刺レイアウトのテンプレートＰＬ４である。また、同図（ｄ）は、全件の個人情報を印刷するときに使用される電話帳レイアウトのテンプレートＰＬ１０である。この電話帳レイアウトテンプレートデータ（ＸＨＴＭＬデータ）もＥＥＰＲＯＭ４３に記憶されている。
【０２１１】
本実施形態では、個人情報が単件の場合は名刺レイアウトで印刷され、全件（複数件）の場合は電話帳レイアウトで印刷される。ｖＣａｒｄファイルが個人情報を複数件含む「全件」の場合は、ＣＰＵ４１は図２５（ｄ）の電話帳レイアウトのテンプレートＰＬ１０を一義的に指定する。一方、ｖＣａｒｄファイルが個人情報を１件のみ含む「単件」の場合は、ユーザが携帯電話１４から名刺レイアウトを選択指定できるようになっている。
【０２１２】
次に、レイアウト枠にテキストを取り込む方法について説明する。ＲＯＭ４２には、日本語及び英語のフォント等のキャラクタ（テキストや記号等）のパターンを示すキャラクタジェネレータデータ（ＣＧデータ）を備え、キャラクタコードをＣＧデータに変換するキャラクタジェネレータ９８が記憶されている。キャラクタジェネレータ９８は、その指定されたアドレスにテキストコードが与えられると、各種テキストのドット構成を示すテキストドットパターンのデータを読み出す。この読み出されたテキストドットパターンデータはＲＡＭ４４のワークメモリ４４ｂにおいて、レイアウト枠で指定されたアドレス領域に展開される。
【０２１３】
また、図２に示す操作パネル８の表示装置９と、複数の操作スイッチからなる操作部１０とによって、フォント、テキストの位置情報およびテキストの色彩情報等を指定することもできる。指定しない場合は、予め設定されているデフォルトの値が設定される。
【０２１４】
ＸＨＴＭＬデータはテキスト情報とテンプレート情報を含むが、解釈処理部９０（図９参照）は、ＸＨＴＭＬデータを解析してテキスト情報だけを抽出するとともにテンプレート情報を解析してレイアウト情報を割り出す。レイアウト情報は、ワークメモリ４４ｂにおいて画像展開されるメモリ空間のアドレスとして割り出される。各レイアウト枠は画像展開されるメモリ空間のアドレスとして特定され、キャラクタジェネレータ９８から読み出されたドットパターンデータはレイアウト情報によってアドレスにより指定されたレイアウト枠に流し込まれる。
【０２１５】
この展開された画像データ（ドットデータ）とテキストデータ（ドットパターンデータ）とを印刷時のドット形成順序に並び替える処理を施す。生成された印刷イメージはワークメモリ４４ｂに記憶される。
【０２１６】
印刷処理部４６ｂは、ワークメモリ４４ｂに展開された印刷イメージを、イメージバンド毎に切り取ってコマンドが付されて印刷データが作成され、この印刷データに基づきプリントエンジン７７によって所定の用紙に順次印刷される。
【０２１７】
携帯電話１４とプリンタ１側の操作パネル８との両方でレイアウトは指定できるが、携帯電話１４側の指定が優先される。メモ領域にレイアウト指定の記述がないときは、プリンタ１側で指定されているレイアウトを有効とする。
【０２１８】
ユーザは携帯電話１４のディスプレイ１８に個人情報欄を表示させてその中のメモ欄に印刷レイアウト指定情報を入力する。例えばメモ欄に「１」「２」「３」などの数字（番号）を入力する。この印刷レイアウト指定情報として記述された数字は、ｖＣａｒｄデータ中のプロパティ「ＮＯＴＥ」の値として記述される。このメモ欄に記述された数字は単件の個人情報を印刷する際の印刷レイアウトの指定番号として扱われる。例えばプリンタ１の取扱説明書には図２４及び図２５（ａ）〜（ｃ）の各テンプレートＰＬ１〜ＰＬ４等と、各テンプレートＰＬ１〜ＰＬ４等の指定番号とが対応付けて記載され、ユーザは取扱説明書にある指定番号をメモ欄に入力することにより名刺レイアウトを指定する。
【０２１９】
例えば図４（ｂ）の個人情報欄のようにメモ欄に「２」が入力されていると、図２１のｖＣａｒｄファイル中のプロパティ「ＮＯＴＥ」に「２」が記述されている。携帯電話１４からｖＣａｒｄファイルを受信すると、そのプロパティ「ＮＯＴＥ」の値として記述された文字列を読み出してそれを解析することにより指定番号を特定する。この解析処理はノート解析部８３が行い、詳しくはＣＰＵ４１がｖＣａｒｄファイル中の「ＮＯＴＥ」の値を解析することにより行われる。
【０２２０】
ＣＰＵ４１は指定番号を特定できると、その指定番号に対応する名刺レイアウトテンプレート（ＸＨＴＭＬ形式）をＥＥＰＲＯＭ４３から読み出す。そして、ＣＰＵ４１は前述したテキストデータ形式変換処理を実行し、図２１に示すようなｖＣａｒｄファイルと、図２２に示すようなテンプレートデータＬＴ１とに基づき、図２３に示すようなテンプレート書式データを作成する。このテンプレート書式データはＸＨＴＭＬデータである。
【０２２１】
ここで、メモ欄には印刷レイアウトの指定番号ではなく、本来のメモとしての文字列や文章が入力されているのが普通である。ＣＰＵ４１がプロパティ「ＮＯＴＥ」の値を解析するとき、本来のメモとして記述された文字列や文章の中に数字が含まれていた場合、その数字を指定番号と間違えることが起こりうる。ＣＰＵ４１が解析処理で実行するプログラムは、指定番号以外の文字や文字列等が記述されている場合は、その記述データを本来のメモと判断し、たとえその中に指定番号として使える数字が存在していても、その数字を指定番号としては特定しないように設定されている。そして、このような本来のメモとしての使用と判断した場合とメモ欄が空欄の場合は指定番号の指定がないものと判断し、例えばデフォルトで設定された例えば名刺レイアウトのテンプレートＰＬ２を指定する。
【０２２２】
本実施形態では、印刷レイアウトの指定に指定番号（数字）を採用するが、数字には限定されることなく、例えばアルファベットやカタカナ、記号文字、文字、文字列などで指定することも可能である。但し、なるべく簡単に指定ができるように一情報の指定に１桁数字または１文字とするのがよく、また順序性の性質をもつ数字（番号）やアルファベットが好ましい。
【０２２３】
図２６は、ＩｒＤＡプロファイル処理部７４でのデータの処理を示すフローチャートである。データトランスファ部７３で、伝送制御手順によりデータを正しく受信できた場合に、ＣＰＵ４１は図２６のフローチャートで示されるプログラムを実行する。このプログラムをＣＰＵ４１が実行することにより、図６における拡張子識別部８１、件数判定部８２、ノート解析部８３、分割処理部８４、テキストデータ形式変換部８５及び画像データデコード部８７の各機能が実現される。以下、ＣＰＵ４１が実行するこのプログラムについて説明する。なお、ＣＦ型通信カード１３からプリンタ１へは拡張子とオブジェクトデータが転送されてくるようになっており、拡張子はデータの先頭に送られてくる。
【０２２４】
Ｓ２００では、受信したデータの拡張子が何であるかを判断する。受信したデータの拡張子が「ｊｐｅｇ」または「ＪＰＧ」の場合は、ＪＰＥＧ形式の画像データと判断してＳ２３０に進む。また、受信したデータの拡張子が「ｖｎｔ」の場合は、ｖＮｏｔｅ形式で作られた画像データ（以下、ｖＮｏｔｅファイルという）であると判断し、Ｓ２１０へ進む。更に、受信したデータの拡張子が「ｖｃｆ」の場合は、ｖＣａｒｄ形式で作られたテキストデータ（以下、ｖＣａｒｄファイルという）であると判断し、Ｓ２４０へ進む。
【０２２５】
Ｓ２１０では、ｖＮｏｔｅデータであることをチェック（解析）する。すなわち、ｖＮｏｔｅデータの中身を解析してｖＮｏｔｅデータであることを確認する。仮にデータの中身がｖＮｏｔｅデータでない場合は、このデータを破棄して本フローチャートの処理を終了する。
【０２２６】
Ｓ２２０では、ｖＮｏｔｅファイルに添付されたエンコード画像データを、Base64と呼ばれるエンコード／デコード変換器によりＪＰＥＧ形式の画像データにデコード（解凍）する。
【０２２７】
Ｓ２３０では、ＪＰＥＧ形式にされた画像データを、画像データラスタ処理部７６へ転送する。
Ｓ２４０では、携帯電話１４から送信された個人情報データの件数判定を行う。すなわち、ｖＣａｒｄファイルが「単件」か「全件」かを判断する。本例では、ｖＣａｒｄファイルデータ中にある識別子「ＥＮＤ：ＶＣＡＲＤ」を計数することによって個人情報の件数を判定する。計数結果ＣがＣ＝１であれば単件データと判定し、計数結果ＣがＣ≧２であれば全件データと判定する。例えば図２１に示すようにｖＣａｒｄファイルが単件データの場合、識別子「ＥＮＤ：ＶＣＡＲＤ」は１つだけなので計数結果ＣがＣ＝１となり、「単件」と判定される。一方、ｖＣａｒｄファイルが全件データの場合、「ＥＮＤ：ＶＣＡＲＤ」が複数あってその計数結果ＣがＣ≧２を満たすので「全件」と判定される。個人情報を１件のみ含む「単件」と判定した場合はＳ２５０に進む。また、個人情報を複数件含む「全件」と判定した場合はＳ２６０に進む。
【０２２８】
Ｓ２５０では、Ｎｏｔｅ領域の記述内容を解析して解析結果に応じたテンプレートを指定する。ｖＣａｒｄファイルデータ中にあるプロパティ「ＮＯＴＥ」の値（記述内容）を解析し、その値の中からテンプレートの指定情報（本例では番号）を探し出す。例えば図４（ｂ）に示すようにメモに「２」と記述されていれば、図２１に示すようにそのｖＣａｒｄファイルデータ中のプロパティ「ＮＯＴＥ」の値には「２」が記述されているので、この番号「２」を解析結果として抽出する。そして、この番号「２」をテンプレート指定の情報としてＲＡＭ４４に記憶する。
【０２２９】
Ｓ２６０では、「電話帳」のテンプレートを指定する。つまり、「全件」である場合は、常に「電話帳」のテンプレートを指定する。
Ｓ２７０では、ｖＣａｒｄファイルの全件データを所定件数ずつの個人情報に分割しながら所定件数分ずつのデータを次処理へ送り出す。
【０２３０】
２８０では、ｖＣａｒｄデータであることをチェック（解析）する。すなわち、ｖＣａｒｄデータの中身を解析してｖＣａｒｄデータであることを確認する。
仮にデータの中身がｖＣａｒｄデータでない場合は、このデータを破棄して本フローチャートの処理を終了する。
【０２３１】
Ｓ２９０では、テンプレート記憶部８６から指定されたテンプレートを読み出す。すなわち、「単件」の場合はＳ２５０で指定したノート領域の記述内容の解析結果から定まるテンプレート（名刺形式のレイアウト）を読み出し、「全件」の場合はＳ２６０で指定した「電話帳」のテンプレート（電話帳形式のレイアウト）を読み出す。
【０２３２】
Ｓ３００では、ｖＣａｒｄファイルの個人情報をテンプレート付きのＸＨＴＭＬデータに変換する。つまり、テンプレートに当て嵌めるべき項目が指定された場所に個人情報のその項目（プロパティ）の内容（値）を当て嵌めることにより、テンプレート付きのＸＨＴＭＬデータに変換する。例えば図２１に示す単件のｖＣａｒｄファイルの場合、図２２に示すようなＸＨＴＭＬ形式データＬＤに変換される。
【０２３３】
Ｓ３１０では、テンプレート付きのＸＨＴＭＬデータを、テキストデータラスタ処理部７５へ転送する。
なお、ＩｒＤＡプロファイル処理部７４内の拡張子識別部８１、件数判定部８２、ノート解析部８３、分割処理部８４は、それぞれＳ２００、Ｓ２４０、Ｓ２５０、Ｓ２７０により実現されている。また、テキストデータ形式変換部８５は、Ｓ２８０、Ｓ２９０、Ｓ３００及びＳ３１０により実現されている。
【０２３４】
こうしてテキストデータラスタ処理部７５へ転送されたデータは、その後、各種処理が施されることにより印刷データに生成される。また、画像データラスタ処理部７６へ転送されたデータは、その後、各種処理が施されることにより印刷データに生成される。そして、プリントエンジン７７は印刷データに基づき印刷機構を駆動制御し、ロール紙Ｐ１にはｖＣａｒｄファイルで送信された個人情報が指定の印刷レイアウトで印刷されたり、ｖＮｏｔｅファイルで送信された画像が印刷されたりする。例えば単件の個人情報を含むｖＣａｒｄファイルをプリンタ１に送信したときは、携帯電話１４のメモ欄に入力した指定番号に対応する名刺レイアウトで個人情報が印刷される。
【０２３５】
そして、個人情報のデータが名刺レイアウトで印刷されたロール紙Ｐ１はその排紙の途中で、カッタモータＭ３の作動により名刺サイズにカットされる。なお、ＣＰＵ４１は、スロット通信部４５ｅとＣＦ型通信カード１３との間の通信状態を監視し、通信異常を検出するとＣＦ型通信カード１３をリセットする。このため、ＣＦ型通信カード１３で通信異常が発生してもそのトラブルは自動的に解消される。
【０２３６】
以下、第１の実施形態の効果を記載する。
（１）ＣＦ型通信カード１３からデータ受信可能であるかどうかを、インターロック処理で判断する。そして、このインターロック処理により受信可能と判断したときにＣＦ型通信カード１３へレディコマンドを出力してインターロック状態を解除させ、ＣＦ型通信カード１３へレディコマンドを出力しないときにインターロック状態を解除させない。よって、プリンタ１がＣＦ型通信カード１３を通じてデータ受信不可能なときにＣＦ型通信カード１３は携帯電話１４とのＩｒＤＡ接続（物理接続）を拒否する。特にプリンタ１は通信方式の異なる複数の通信部４５ｂ〜４５ｅのうち１つのポートからしかデータ受信できないので、プリンタ１が受信不可状態にある機会が多い。しかし、プリンタ１が受信可能であることを表示部１３ｂの緑点灯により知ることができるので、データ送信しても受信されないこの種の問題の発生頻度を効果的に抑えることができる。
【０２３７】
（２）カード制御部３１（ＣＰＵ１５９）はデータを本体２側へ転送し終わるとインターロック状態に移行し、表示部１３ｂを消灯させて受信不可の状態をユーザに報知し、一方、レディコマンドを入力すると表示部１３ｂを緑点灯させることで受信可能の状態をユーザに報知する。よって、ユーザは表示部１３ｂが消灯しているときは受信不可と認知でき、表示部１３ｂが緑点灯しているときは受信可能と認知できるので、プリンタ１側でデータ受信準備ができていないことが分からず、ユーザが何度も携帯電話１４からデータを送信してもその度にエラーとなる不都合を回避できる。また、画面９ａにも通信状態を表示させユーザに知らせるようにしたので、上記のような受信不可のときに送信する不都合を一層回避し易い。
【０２３８】
（３）ＩｒＤＡプロファイル処理部７４はプリントエンジン７７内のメインのソフトウェア機能部分の管理内容（転送経路管理タスクの管理内容）を直接確認することができない。従って、ＣＰＵ４１が管理するストリームパイプ１４９の予約状況を直接確認できない。このため、ＩｒＤＡプロファイル処理部７４が処理中にあるかどうか、次の処理部である各ラスタ処理部７５，７６が処理中にあるかどうかを見ることで間接的に受信可能状態であるか否かを判断する。よって、ＩｒＤＡプロファイル処理部７４を含む赤外線通信機能部分をメインプログラム部分を変更することなく後付けしただけの構成ではあるが、受信可能状態を比較的正しく判断できる。
【０２３９】
（４）また、ラスタ処理部７６に複数件分のデータを蓄積できるだけの容量を持つバッファ７６ａを用意したので、先のデータの印刷処理終了前であっても転送経路管理タスクが受信を許容する条件を満たすときには次のデータを受信できる。このため、ユーザがデータ送信できる機会を増やすことができる。例えば先に送信したｖＮｏｔｅデータのラスタ処理が終わっていれば、その印刷終了前であっても次のｖＮｏｔｅ又はＪＰＥＧデータを受信することができる。
【０２４０】
（５）複数の通信部の一から受信したデータの印刷のための処理を優先させることと、複数の通信部の受信効率を高めることのために転送経路管理タスクはストリームパイプ１４９を所定の条件で確保する。このとき先のデータの途中以降の転送経路を維持したままであれば受信初期段階の転送経路の切り替えを許容する条件としている。そして、転送経路管理タスクに直接確認できないＩｒＤＡプロファイル処理部７４は受信初期段階の転送経路の切り替えを許容する条件を満たしたときにはインターロック状態を解除して受信可能状態に切り替わるようにインターロック処理内容を設定している。すなわち、選択としては、受信初期段階の転送経路の切り替えを許容する条件を満たしたときに受信エラーになることを承知のうえで受信可能の機会を増やす選択と、受信エラーを招いてまでも受信可能の機会を増やさない選択とがある。このうち前者の選択をとって、ＩｒＤＡプロファイル処理部７４の判断部８８は、次のラスタ処理部７６の処理が終了して既に処理後のデータをバッファ７６ａにすべて蓄積し終わっていれば、インターロック状態を解除させるようにした。これは、受信エラーとなる頻度を最小限としかつ受信可能となる頻度を少しでも増やせる設定条件である。このため、受信エラーの頻度を最小限にしつつ受信可能の頻度を高めることができる。ユーザは複数件連続印刷させたいときはデータも複数件連続的に送信したい要求があり、条件次第では受信できる可能性がある場合は、インターロック状態を解除することでユーザのこの種の要求を少しでも満たすことができる。
【０２４１】
（６）画像データラスタ処理部７６のバッファ７６ａを容量を多くし複数件のｖＮｏｔｅデータを蓄積できるようにした。テキストデータと画像データを比べると画像データの方がデータサイズがかなり大きく、携帯電話１４からの送信所要時間及び印刷所要時間がより長くかかる。しかし、画像データを複数件送信して印刷させたい場合、１件ずつ印刷終了を待たなくてもほぼ連続的に複数件の画像データを送信できる。これに対しテキストデータの場合、携帯電話１４からの送信所要時間及び印刷所要時間も比較的短く複数件送信して印刷させたい場合も、画像データに比べれば待ち時間が短くユーザも苦にならない。このため、限られたバッファ容量を画像データラスタ処理用にかなりの割合確保した。
【０２４２】
（７）携帯電話１４とＣＦ型通信カード１３との通信リンクが切断された後、例えばプリンタ１側でエラーが発生したときは、携帯電話１４にそのエラーを通知する手だてがなくなる。しかし、プリンタ１と通信できるＣＦ型通信カード１３の表示部１３ｂを赤点滅させるので、この種のエラー発生の旨をユーザに知らせることができる。従って、ユーザは携帯電話１４とＣＦ型通信カード１３との通信遮断後に発生したエラーをも知ることができる。よって、通信リンクの切断後にエラーが発生し、データ送信が成功したと思っているユーザが、データ送信後になかなか印刷が開始されず苛立ちを覚える事態を回避できる。
【０２４３】
（８）画面９ａに通信状態を表示させる場合、エラーについてはその内容まで分かるように文字情報で知らせるので、ユーザは何が原因でエラーが発生したかを知ることができる。このため、エラー発生原因が分からず、繰り返し送信エラーを発生させる事態を回避できる。
【０２４４】
（９）ＣＦ型通信カード１３は携帯電話１４との通信が完了すると表示部１３ｂを橙点灯させるが、一旦橙点灯になってからそれ以後、赤点滅になった場合はプリンタ１側で起きたエラーであると分かる。よって、仮にエラー内容まで表示しない構成としても、表示部１３ｂの点灯色の変化の仕方からエラー原因をある程度特定できる。例えばユーザから修理を依頼されたメンテナンス時の原因特定に役立つ。
【０２４５】
（１０）本実施形態では、赤外線通信方式の導入に当たり、他の通信方式のラスタ処理部７５，７６を利用（共用）できるように、データ形式を変換するＩｒＤＡプロファイル処理部７４を設けている。すなわち、ｖＮｏｔｅファイル添付形式の画像データ（エンコード画像データ）はＢａｓｅ６４デコードによってＪＰＥＧ画像データにデコードし、ｖＣａｒｄファイル形式の個人情報データ（テキストデータ）はテンプレート組込み記述形式のＸＨＴＭＬデータに変換した。よって、その形式変換後は他の通信方式と共用のデータ処理経路を通ることで印刷データに変換することができる。従って、赤外線通信方式をプリンタ１に導入するに当たり、追加すべき回路及びソフトウェアをできるだけ簡素に済ませることができる。
【０２４６】
（１１）ＩｒＤＡ通信モジュールをカードに内蔵したＣＦ型通信カード１３とし、メモリカード用のカードスロット１２にセットするだけで赤外線通信機能をプリンタ１に実装できるようにしたので、プリンタ１の筐体を変更することなくそのまま使用することができる。従って、プリンタ１の筐体を形状変更する必要がないので、筐体の設計変更や製造金型変更が不要である。このことは赤外線通信方式導入によるプリンタ１の製造コスト増大を抑制できる。
【０２４７】
（１２）ｖＣａｒｄ形式（個人情報データ形式）の一つのコマンドを件数判別子ＣＳ（区分識別子ＤＳ）として検索（検出）する手段を設けたことにより、携帯電話１４から送信された個人情報データが単件データであるか、全件データであるのかを自動的に認識できる。
【０２４８】
（１３）携帯電話１４の個人情報データはレイアウト定義できないｖＣａｒｄ形式であり、所定のレイアウトに割り付けてデータを直接印刷することはできない。しかし、レイアウト定義できないｖＣａｒｄ形式ファイルデータを、レイアウト定義できるＸＨＴＭＬ形式のデータに変換する手段を設けたことにより所定のレイアウトに割り付けてしかも必要なデータのみを印刷させることができる。
【０２４９】
（１４）個人情報データが単件か全件かを区別できることにより、単件の場合は名刺テンプレート形式のデータに変換でき、全件の場合には電話帳テンプレート形式のデータに変換できる。すなわち、個人情報データが単件、全件を区別するだけで、自動的に適切な印刷レイアウトを決定することができる。そして、個人情報データの単件か全件（複数件）かに応じた適切なレイアウトをそのデータに割り付けて印刷させることができる。
【０２５０】
（１５）区分識別子ＤＳを検索する手段を設けたことにより、全件データを受信する際に受信された個人情報データ（件別データ）の件数を計数し、所定件数（本例では１件）受信し終わる度にそこまで受信した所定件数（１件）分のデータを分割して次処理へ送出できる。よって、次の処理部へデータを送出するまでの間、その受信したデータを一時蓄積しておくバッファの容量を少なく済ませることができる。また、次の処理部における処理開始時期を早めることができ、ひいては印刷開始時期を早めプリンタ１のスループット向上に寄与する。
【０２５１】
（１６）携帯電話１４から受信したデータをプリンタ１が印刷可能なデータに適宜変換するので、携帯電話１４から直接プリンタ１にデータを送信して印刷することができる。よって、パーソナルコンピュータ（パソコン）にデータを送り、パソコンのデータをメモリカード等の記憶媒体に記憶させ、プリンタ１に読み込んで印刷するよりも容易に素早く印刷することができる。
【０２５２】
実施の形態は、上記に限定されず以下のように変更できる。
（変形例１）前記実施形態では、ラスタ処理部７６に複数件分のデータを蓄積できるだけの容量を持つバッファ７６ａを用意したが、ラスタ処理部７５，７６の両方のバッファ７５ａ，７６ａに複数件分のデータをそれぞれ蓄積できる構成としてもよい。この場合、ｖＣａｒｄデータをプリンタ１が受信したときでもラスタ処理を終了すればレディコマンドを出力する。その後、例えば印刷実行中に対応データを受信した場合は、印刷中のデータがｖＣａｒｄの場合はｖＣａｒｄデータのみ受信を許可し、印刷中のデータがｖＮｏｔｅ又はＪＰＥＧの場合はｖＮｏｔｅ又はＪＰＥＧデータのみ受信を許可する。
【０２５３】
（変形例２）前記実施形態では、赤外線通信機能部分をメインプログラム部分を変更せずアドインさせた構成をとるが、メインプログラム部分を変更して赤外線通信機能部分を追加する構成も採用できる。この場合、ＩｒＤＡプロファイル処理部７４がメインプログラム部分（転送経路管理タスク等）と直接アクセスできるようにし、現在確保されているストリームパイプ１４９を確認して受信可能かどうかを判断する構成を採用する。この場合、受信エラーの頻度は大幅に抑制される。
【０２５４】
（変形例３）前記実施形態では、ラスタ処理部７６の処理終了後のデータがバッファ７６ａに蓄積された状態にあれば、受信可能と判断してインターロック状態を解除させるレディコマンドを出力する構成を採用した。これに対し、ＩｒＤＡプロファイル処理部７４が処理を終了していればインターロック状態を解除する構成も採用できる。この場合、受信エラーとなる機会は多少増えるものの受信可能となる機会は前記実施形態と同様に増やすことができるうえ、ラスタ処理部７５，７６への処理状況の確認の処理を省いた簡素な処理内容とすることもできる。
【０２５５】
（変形例４）前記実施形態では、表示による報知としているが、表示と共に音による報知を行ってもよい。例えば受信不可状態から受信可能状態に移行したときに音を発するようにする。受信可能状態になったときに音を発すれば先のデータの処理待ちが終わってデータを送信してよいことが直ぐ分かる。この場合、例えば「データ送信できます」などの合成音声を発するようにしてもよい。
【０２５６】
（変形例５）受信データを複数件蓄積可能な容量の受信バッファを用意し、データを複数件までは蓄積できる構成を採用することもできる。この場合、ＩｒＤＡプロファイル処理部７４のインターロック解除処理は、受信バッファに少なくとも１件相当分の空き容量（１件の平均データサイズ（テキストデータと画像データでそれぞれ個々に値を設定））があれば受信可能と判断してレディコマンドを出力する。プリンタ１がデータを受信したときはヘッダ中のデータサイズを調べ受信バッファに蓄積可能か否かを判断し、蓄積可能な場合は受信し、蓄積不可能な場合は受信エラーとする。
【０２５７】
（変形例６）前記実施形態では、インターロック状態への移行はカード制御部３１が行い、インターロック状態の解除はプリンタ１からのレディコマンドに基づき行う構成であった。これに対し、インターロック状態への移行及び解除共にプリンタ１からの信号に基づき行う構成も採用できる。
【０２５８】
（変形例７）各通信ポートのひとつでデータが受信され、出力処理が進行している間に、この出力処理よりも先に出力したいデータを受信できるようにし、大量の受信データの印刷を終了するまで待たなくても、割込み処理によって先に印刷することができるようにしてもよい。このとき、出力処理が中断されたデータは、メモリに記憶されるようになっており、廃棄されることなくなく割込み処理された印刷が終了次第、メモリからデータを読み出して残りの出力処理を継続して印刷する構成とする。例えばヘッダ中に優先コード等を組み込んで、優先して出力処理すべきデータ（優先データ）である旨をプリンタ１に知らせられる方法を採用する。インターロック処理により通信ポートからのデータ受信を禁止している間に、優先データの受信要求を受け付けて新たに受信を許可されたことをＣＰＵ４１（判断手段）が判断した場合は、出力処理での既に受信しているデータの処理を中断して、新たに受信を許可されたデータの出力処理を割込み処理で優先的に実行する。もちろん、ヘッダ中のコードを用いた方法に限定されず、データと別々に送信される信号またはコマンド、ヘッダ中のコマンド等により優先的に出力処理すべきデータである旨をプリンタ（ＣＰＵ４１）に知らせる方法も採用できる。図１５、図１６および図１７での対応拡張子のセットアップに対するインターロック状態を除く、他の通常のインターロック状態では、新たに受信を許可されたことを信号またはコマンド等によってＣＰＵ４１（判断手段）が判断した場合は、ＣＰＵ４１がインターロック状態を解除して、その優先して出力処理させたい新たなデータを受信することができる。この構成によれば、先行データの出力処理に割り込んで次データの出力処理を割込み処理で優先的に行うので、ユーザの使い勝手が向上する。
【０２５９】
（変形例８）前記実施形態では、無線通信器としてのＣＦ型通信カード１３を介してデータを受信する構成であったが、ＩｒＤＡ通信モジュールを本体に組付けたプリンタにおいてインターロック機能を付加する構成で実施することもできる。
【０２６０】
（変形例９）前記実施形態では出力装置としてプリンタに適用したが、出力装置は表示装置でもよい。例えば携帯電話から送信したデータの内容を画面に表示させるカラー液晶モニタなどの表示装置や、データの内容をスクリーンに投写するプロジェクタなどの表示装置に適用することもできる。
【０２６１】
前記実施形態及び変形例から把握される技術的思想を以下に記載する。
（１）請求項２に記載において、前記インターロック手段は、前記第１処理部がデータ処理中でないと判断された場合に前記受信部からの受信を許可し、一方、前記第１処理部がデータ処理中であると判断した場合に該受信部からの受信を禁止させ、その後、前記第１処理部から次の第２処理部へデータを送り終えて前記第１処理部がデータ処理中でないと判断されると前記受信部からの受信を許可することを特徴とする。
【０２６２】
（２）請求項２〜６のいずれか一項において、前記受信したデータのデータ種に応じて前記第１処理部及び前記第２処理部は複数ずつ備えられており、受信したデータのデータ種を識別してその識別したデータ種に応じた処理部にデータを振り分ける振分手段を備えている。
【０２６３】
（３）前記技術的思想（２）において、前記第１処理部及び前記第２処理部はテキストデータを処理するテキスト処理系と画像データを処理する画像データ処理系の２つずつを少なくとも含む。
【０２６４】
（４）前記技術的思想（３）において、前記第１処理部と前記第２処理部の少なくとも一方は、処理前と処理後の少なくとも一方のデータを蓄積するバッファを備えている。
（５）前記技術的思想（４）において、前記バッファは複数件のデータを蓄積可能な容量を有している。
【０２６５】
（６）前記技術的思想（４）又は（５）において、テキスト処理系と画像処理系のうち少なくとも画像処理系のバッファが複数件のデータを蓄積可能な容量を有している。
（７）携帯端末等からのデータを受信する通信ポートと、該通信ポートを介して受信したデータに基づき出力処理を行う出力手段とを備えた出力装置において、優先して出力処理を行うべきデータであるか否かを判定する判定手段（４１）と、前記判定手段により優先して出力処理を行うべきデータであると判定されると、当該データを前記通信ポートから受信するとともに、前記通信ポートから既に受信された先のデータの前記出力処理の終了前であれば、当該出力処理での既に受信しているデータの処理を中断して、前記新たに受信したデータの出力処理を施す割込み手段（４１）とを備えたことを特徴とする出力装置。この構成によれば、現在出力処理をしている先行データの処理を中断して、後（次）のデータを先に出力させることができる。
【図面の簡単な説明】
【０２６６】
【図１】一実施形態におけるプリンタの斜視図。
【図２】操作パネルの主要部を示す平面図。
【図３】ＣＦ型通信カード（赤外線通信カード）の斜視図。
【図４】（ａ）携帯電話の平面図、（ｂ）携帯電話に表示された個人情報の一例を示す画面図。
【図５】携帯電話、赤外線通信カード及びプリンタの電気的構成を示す電気ブロック図。
【図６】携帯電話、赤外線通信カード及びプリンタの機能的構成を示すブロック図。
【図７】プリンタの共有化構造を示すブロック図。
【図８】ＯＢＥＸ転送におけるデータの構造図。
【図９】携帯電話からプリンタへのデータ送信のシーケンス図。
【図１０】表示部の表示制御装置を示すブロック図。
【図１１】通信ステータスと点灯態様との関係を示す対応図。
【図１２】通信ステータスの遷移図。
【図１３】インターロック処理を説明するブロック図。
【図１４】カード認識時の初期処理を示すフローチャート。
【図１５】インターロック解除処理を説明するシーケンス図。
【図１６】インターロック解除処理を説明するシーケンス図。
【図１７】インターロック解除処理を説明するシーケンス図。
【図１８】インターロック解除処理を説明するシーケンス図。
【図１９】インターロック解除処理を説明するシーケンス図。
【図２０】（ａ）〜（ｃ）はデータ受信状態を報知する画面図。
【図２１】単件のｖＣａｒｄファイルのデータ図。
【図２２】名刺レイアウトテンプレートのデータ図。
【図２３】テンプレート書式データのデータ図。
【図２４】名刺レイアウトテンプレートのレイアウト図。
【図２５】（ａ）〜（ｃ）は名刺レイアウトテンプレートのレイアウト図、（ｄ）は電話帳レイアウトテンプレートのレイアウト図。
【図２６】ＩｒＤＡプロファイル部の処理を示すフローチャート。
【符号の説明】
【０２６７】
１…出力装置及び印刷装置としてのプリンタ、２…出力装置本体としての本体、１２…スロットとしてのカードスロット、１３…無線通信器としてのＣＦカード型赤外線通信カード（赤外線通信カード）、１３ａ…赤外線受発光部（ＣＦ型通信カード側の通信ポート）、１３ｂ…報知手段を構成する表示部、１４…携帯端末としての携帯電話、１８…携帯電話のディスプレイ、２０…赤外線受発光部（携帯電話側の通信ポート）、３１…インターロック手段を構成するとともに及び制御部及び報知制御部としてのカード制御部、４１…予約手段及び割込み手段としてのＣＰＵ、４５ｂ〜４５ｃ…通信部、４５ｅ…通知手段、通信部及び検出手段としてのスロット通信部、４６…出力手段を構成するＡＳＩＣ、６４…インターロック手段及び判断手段を構成するオブジェクト送受信部、７２…受信部を構成するＩｒＤＡ・ＵＡＲＴドライバ、７３…受信部を構成するデータトランスファ部、７１…検出手段及びリセット手段を構成するカードドライバ、７４…判断手段、インターロック手段及び第１処理部としてのＩｒＤＡプロファイル処理部、７６…第２処理部としての画像データラスタ処理部、８５…第１処理部を構成するテキストデータ形式変換部、８７…第１処理部を構成する画像データデコード部、８８…判断手段を構成する判断部、１４９…インターロック手段及び判断手段を構成するストリームパイプ、１５０…インターロック手段を構成する状態管理部、ＢＣ…携帯端末、ＤＡ…データ。
【図１】
2005047254.tif 000003
【図２】
2005047254.tif 000004
【図３】
2005047254.tif 000005
【図４】
2005047254.tif 000006
【図５】
2005047254.tif 000007
【図６】
2005047254.tif 000008
【図７】
2005047254.tif 000009
【図８】
2005047254.tif 000010
【図９】
2005047254.tif 000011
【図１０】
2005047254.tif 000012
【図１１】
2005047254.tif 000013
【図１２】
2005047254.tif 000014
【図１３】
2005047254.tif 000015
【図１４】
2005047254.tif 000016
【図１５】
2005047254.tif 000017
【図１６】
2005047254.tif 000018
【図１７】
2005047254.tif 000019
【図１８】
2005047254.tif 000020
【図１９】
2005047254.tif 000021
【図２０】
2005047254.tif 000022
【図２１】
2005047254.tif 000023
【図２２】
2005047254.tif 000024
【図２３】
2005047254.tif 000025
【図２４】
2005047254.tif 000026
【図２５】
2005047254.tif 000027
【図２６】
2005047254.tif 000028