(第1の実施形態)
以下、本発明を具体化した第1の実施形態を図面に従って説明する。
図1は、プリンタ1の斜視図を示す。図1において、出力装置としてのプリンタ1は、インクジェット式プリンタであって、その本体2の背面側には自動給紙装置3のシートフィーダ4及びロール紙支持部5が設けられている。シートフィーダ4には、単票紙(図示せず)がセットされ、本体2内部に給紙される。また、ロール紙支持部5には、ロール紙P1がセットされ、本体2内部に給紙される。本体2の中央には、カバー6が設けられ、そのカバー6内には印刷機構が配設され、その印刷機構の作動により印刷された印刷媒体としての用紙P(単票紙又はロール紙)が前側下部の排紙口7から排出される。また、本体2の上面右側には、操作パネル8が設けられている。
図2に示すように、操作パネル8は、表示画面9aを有する表示装置9と、複数の操作スイッチからなる操作部10とを備えている。表示装置9は、液晶表示装置であって、例えば用紙の種類(単票紙又はロール紙)、用紙サイズ、レイアウト、写真選択、印刷枚数等をマニュアル選択するためのメニューを表示画面9aに表示する。
また、操作部10には、プリンタ1に電源投入するための電源スイッチ10a、エラー発生時に押されるメンテナンススイッチ10b、ロール紙を操作する時に押されるロール紙スイッチ10cが設けられている。さらに、操作部10には、印刷開始スイッチ10d、中止スイッチ10e、上スイッチ10f、下スイッチ10g、決定スイッチ10h、戻りスイッチ10iが設けられている。印刷開始スイッチ10dは単票紙又はロール紙に画像の印刷を開始するときに押される。中止スイッチ10eは、実行中の印刷を中止するときや、非印刷状態のときに表示画面9aの入力内容を破棄するときに押される。上スイッチ10f及び下スイッチ10gは、表示画面9aでのメニュー選択や各種設定項目を選択する際のカーソル移動や、入力すべき数値の増減を行うときに押される。決定スイッチ10hは表示画面9aの表示を次画面に進めたり、表示画面9aを使って入力した設定内容を確定するときに押される。戻りスイッチ10iは、表示画面9aに表示される画面を初期画面に戻すときや、表示画面9aの表示を一つ前の画面に戻すときに操作される。
図1に示すように、プリンタ1の本体2の右側上部には、第2表示装置11が取り付けられている。第2表示装置11の表示画面11aには、用紙Pに印刷される印刷画像が事前に表示される。
本体2の正面右側には、カードスロット(CFカードスロット)12が設けられ、そのカードスロット12には赤外線通信機能内蔵CF( コンパクトフラッシュ(R)) 型カード(赤外線通信カード)(以下、CF型通信カードという)13が挿抜可能にセットされる。CF型通信カード13は、IrDA(Infrared Data Association )に準拠した赤外線通信機能を有したIrDAモジュールであって、カードスロット12にセットすることで、プリンタ1に赤外線データを受信可能な赤外線通信機能を付与する。プリンタ1は、CF型通信カード13が携帯電話14から受信したデータを取り込んでそのデータに基づく印刷処理を行う。
本実施形態における携帯電話14は、電話機能及び赤外線通信機能の他、電話番号等を含む個人情報を登録管理できる電話帳機能、他の携帯電話との間で電子メールを送受信できる電子メール機能、静止画又は動画を撮影できるカメラ機能などの多機能を備えている。携帯電話14は、電話帳機能で扱う個人情報データ(テキストデータ)と、カメラ機能で扱う画像データとを、赤外線通信対応のファイル形式でそれぞれ管理している。詳しくは、個人情報データはvCard(TM)ファイル形式で管理され、画像データはvNote(TM)ファイル形式で管理されている。よって、携帯電話14に管理されているvCardファイル形式の個人情報データ又はvNoteファイル形式の画像データは、カードスロット12にセットされたCF型通信カード13を通じてプリンタ1に受信される。また、携帯電話14は、他の携帯電話やパソコン等との間で携帯電話網を通じて電子メールや画像データを送受信できる。なお、カードスロット12にデジタルカメラ用のCF型メモリカードをセットすれば、デジタルカメラで撮影した画像データをCF型メモリカードからプリンタ1に読み込んで印刷させることもできる。
図3に示すように、CF型通信カード13にはその正面(前面)に通信ポートとなる赤外線受発光部13aと表示部13bとが設けられている。赤外線受発光部13aは、受光素子と発光素子とを有し、発光素子はキャリア周波数例えば25〜50kHz の搬送波で搬送されるパルス位相変調されたビット信号からなる赤外線をその発光のオン・オフにより出力し、受光素子は同様の方式で表現されるビット信号からなる赤外線を受光する。表示部13bは、発光色の異なる複数の発光ダイオード(LED)からなり、CF型通信カード13のデータ受信状態を、発光色、点灯、点滅及び消灯の組合わせにより報知する。また、CF型通信カード13の背面には図示しないコネクタが形成され、このコネクタがカードスロット12の奥面に設けられたプリンタ側コネクタと電気的に接続される。
図4(a)は正面から見た携帯電話を示す。同図に示すように、携帯電話14は、複数の操作ボタン15(15a〜15c等)、受話口16、送話口17、ディスプレイ18及びCCD(Charge-Coupled Device )撮像装置19を備えている。
携帯電話14は、カメラ機能の使用中、CCD撮像装置19で撮像している画像をディスプレイ18に表示するとともに、操作ボタン15bをシャッターとして操作することでその撮像している画像を一枚の画像データとして保存できる。本実施形態では、携帯電話14のカメラ機能で撮影された画像データ(静止画像データ)はJPEGデータとして携帯電話14に保存され、携帯電話14から赤外線通信によりプリンタ1に送信する場合は、携帯電話14に保存されているJPEGデータを赤外線通信対応のファイル形式の1つであるvNote(TM)形式に変換して送信される。このvNote形式で受信したプリンタ1は、Base64と呼ばれるエンコード/デコード変換器でJPEGデータをエンコード(圧縮)し、エンコードされたJPEG画像データとして保存される。また、携帯電話14は、電話帳機能を使って、操作ボタン15aを操作してディスプレイ18上に作成した個人情報を登録することができる。
図4(b)は、携帯電話の電話帳機能を使って登録しディスプレイに表示させた個人情報の一例を示す。この個人情報の登録方法を説明すると、まず操作ボタン15を操作して、電話帳機能の個人情報作成モード(新規登録モード)を選択すると、携帯電話14に内蔵された個人情報作成プログラムが起動する。ディスプレイ18には図4(b)中左寄りに示された各項目、すなわち「名前」、「フリガナ」、「電話番号1」、「電話番号2」、「電話番号3」、「電子メールアドレス1」、「電子メールアドレス2」、「電子メールアドレス3」、「住所」及び「メモ(ノート)」の各欄が表示される。操作ボタン15cを操作して所望の項目を選択した後、該当するデータを入力し、これを必要な項目数だけ繰り返すことで、同図(b)に示すような1つの個人情報が作成される。この電話帳機能で作成した個人情報データ(テキストデータ)は、本実施形態では赤外線通信対応のファイル形式の1つであるvCard(TM)形式で保存される。
さらに、携帯電話14は、IrDA(I nfrared Data Association )に準拠した赤外線通信機能を有し、前記CF型通信カード13との間での赤外線通信を行うための赤外線受発光部20(図1に示す)を備えている。携帯電話14は、操作ボタン15を操作することによって、画像データや個人情報データをCF型通信カード13に送信する。赤外線受発光部20は、CF型通信カード13に設けられた赤外線受発光部13aと同様の赤外線通信方式の受発行が可能な受光素子と発光素子とを有している。
次に、上記のように構成した、プリンタ1、CF型通信カード13及び携帯電話14の電気的構成を図5に従って説明する。
まず、携帯電話14の電気的構成を説明する。携帯電話14は、制御部21、メモリ22、送受信部23、マイク24、スピーカ25、操作ボタン15、ディスプレイ18、CCD撮像装置19、赤外線受発光部20を有している。
メモリ22は、CCD撮像装置19で撮像した画像データや個人情報データが制御部21によって一時保存される。マイク24は、受話口16で話した音声を音声信号として制御部21に出力する。スピーカ25は、制御部21から出力された音声信号を音声にして送話口17から出力する。
送受信部23は、入出力インターフェイスであって、制御部21から出力された音声信号、メール、画像データを他の携帯電話やパソコンに送信するとともに、他の携帯電話やパソコンからの音声信号、メール、画像データを受信し制御部21に出力する。
制御部21は、CPU、ROM、EEPROM等を有し、CPUがROM及びEEPROMに記憶された制御プログラムや各種アプリケーションプログラムに基づいて各種動作を実行する。つまり、制御部21は、前記した通話、メールの作成、データの送受及び保存のための処理動作を操作ボタン15の操作に基づいて実行する。制御部21は、前記したCCD撮像装置19で撮像した画像データの表示及び保存のための処理動作を操作ボタン15の操作に基づいて実行する。このとき、メモリ22に保存される画像データは、制御部21によってJPEGデータ形式で保存される。制御部21は、個人情報の作成及び保存のため処理動作を操作ボタン15の操作に基づいて実行する。このとき、メモリ22に保存される個人情報データ(テキストデータ)は、制御部21によって名刺データ形式(本例ではvCard形式)で保存される。
さらに、制御部21は前記保存した個人情報データや画像データをプリンタ1(CF型通信カード13)に赤外線受発光部20を介して送信するための処理動作を操作ボタン15の操作に基づいて実行する。制御部21からCF型通信カード13に送信される際は、個人情報データはvCardファイル形式で、また画像データ(エンコードされたJPEGデータ)はvNoteファイル形式で送信される。制御部21は、これらをオブジェクト交換プロトコルに従って送信する。本実施形態では、オブジェクト交換プロトコルとして、電話帳(vCard) 、スケジュール(vCalender) 、メモ(v Note) 等のv フォーマットと呼ばれるオブジェクトの交換に使用されるIrOBEX(TM)を採用している。
次に、CF型通信カード13の電気的構成を説明する。
CF型通信カード13は、カード制御部31、メモリ32、カード側UART(Universal Asynchronous Receiver Transmitter )33、プリンタ側UART(Universal Asynchronous Receiver Transmitter )34、赤外線受発光部13a及び表示部(LED)13bを有している。
カード制御部31は、メモリ32、カード側UART33、赤外線受発光部13a及び表示部13bを統括する。カード制御部31は、CPU、ROM等を有し、CPUがROMに記憶された制御プログラムや各種アプリケーションプログラムに基づいて各種動作を実行する。カード制御部31は、携帯電話14から赤外線受発光部13aを介してデータを受信すると、カード側UART33に対してそのオブジェクトデータ(個人情報データ又は画像データ)のプリンタ1への転送処理を指示する。この際、メモリ32の一部がオブジェクトデータを一時保存するバッファとして使用される。
カード側UART33は、カード制御部31の指示に基づいてオブジェクトデータ(個人情報データ又は画像データ)をシリアルのビットストリームに変換してプリンタ側UART34に出力する。
プリンタ側UART34は、CF型通信カード13がカードスロット12にセットされた状態で双方のコネクタが電気的に接続されることで繋がるバス35を介してプリンタ1側の通信インターフェイス45により制御される。プリンタ側UART34は、カード側UART33からオブジェクトデータを受信し始めると、プリンタ1側にデータの読込みを要求すべく割込信号を出力する。この割込信号を受信したプリンタ1側で入力ポートを開くことでオブジェクトデータのプリンタ1への読み込みが開始される。この際、プリンタ側UART34は、カード側UART33から受信したシリアルのビットストリームをパラレルなバイトデータに変換しつつそのオブジェクトデータをプリンタ1側へ出力する。
また、プリンタ側UART34は、プリンタ1側から入力した各種信号を、カード側UART33を介してカード制御部31に出力する。カード制御部31はプリンタ1側から入力した各種信号を監視してデータ受信状態( 通信ステータス) を管理し、表示部13bをその時の通信ステータスに応じた点灯態様に表示制御する。よって、CF型通信カード13の前面に設けられた表示部13bの点灯態様によってユーザにその時々のデータ受信状態を報知する。このとき、カード制御部31は、通信ステータスの情報を赤外線受発光部13aを介して携帯電話14に送信し、携帯電話14のディスプレイ18にはプリンタ1側のデータ受信状態が文字情報などにより表示される。
次に、プリンタ1の電気的構成を説明する。
プリンタ1は、CPU41、ROM42、EEPROM43、RAM44、通信インターフェイス45、ASIC(Application Specific IC )46、ドライバ47a〜47e及びユーザインターフェイス48を有し、これらはデータバス49を介してそれぞれ互いに電気的に接続されている。
通信インターフェイス(I/F)45は、通信インターフェイス部45a、パラレル通信部45b、ブルートゥース(Bluetooth )(TM)通信部45c、USB(Universal Serial Bus)通信部45d、スロット通信部45e及びシリアル通信部(図示せず)を備えている。各通信部45b〜45e等は通信ポート(入力・出力ポート)をそれぞれ有しており、通信インターフェイス部(以下、通信部と称す)45aは、例えば各通信部45b〜45eごとに独立して複数設けられた通信インターフェイス群からなり、各通信部45b〜45eがデータを受信するとその旨を、通信(データ受信)の優先順位を管理するCPU41に通知する。CPU41は通信インターフェイス部45aから受け付けたその受信の旨の情報に基づきそのデータの受信が可能かどうかを判定し、例えば次データの受信が可能になった後に最初にデータ受信した場合はその通信部の入力ポートを開く指示を出す。通信インターフェイス部45aはCPU41の指示に従って各通信部45b〜45eの入力ポートのうち指示された1つを開くことにより、所定のホスト装置から送られてくるデータを受信し、共通のデータバス49に出力する。これら複数の入力ポート中のどれか1つのポートに最先にデータが到着すると、通信インターフェイス部45aは、そのポートからデータの取り込みを開始するとともにデータの取込みが終了するまでの間、他のポートをビジー状態にして他のポートからのデータ受信を禁止するようになっている。通信インターフェイス部45aはこのような処理をCPU41からの指示に従って行う。CPU41は、1つの通信ポートからのデータ受信が開始されると、その受信データが印刷処理に至るまで通るデータ転送経路をその印刷終了時まで確保し、その間は他の通信ポートからのデータ受信を禁止するよう通信インターフェイス部45aに指示する。また、CPU41は通信ポートからのデータ受信を許可するか禁止するかのインターロック処理を行う。通信インターフェイス部45aがホスト装置又はCF型通信カード13から受信要求を受け付けると、CPU41は通信インターフェイス部45aからその旨の通知を受けるようになっており、その通信情報を基に通信ポートの空き状況や受信中の通信ポートなどを管理する。
パラレル通信部45bは、ホストコンピュータ(パーソナルコンピュータ)HCから通信ケーブルを介してデータをパラレル通信で受信することが可能である。ブルートゥース通信部45cは、ブルートゥース対応携帯端末BCから所定通信プロトコルに従って所定規格周波数帯域の電波による近距離無線通信でデータを受信することが可能である。USB通信部45dは、USB対応機器(図示せず)から所定通信プロトコルに従ってデータを受信することが可能である。スロット通信部45eは、CFカードスロット12に挿着されたCF型通信カード13又はCFカード(メモリカード)からデータを受信することが可能である。なお、各通信部45b,45c,45d,45eは、ホスト装置との通信上必要な情報やプリンタ1の状態を通知する信号など所定の信号又はデータを送信可能となっている。
CPU41は、ROM42に記憶された制御プログラム及びEEPROM43に記憶された各種アプリケーションプログラムなどに基づいて、通信インターフェイス45、ASIC46及びドライバ47a〜47cを統括制御する。CPU41は、ASIC46に対して印刷機構の一部を作動させる指令信号を出力したり、ASIC46とRAM44間及びASIC46の内部の各種処理回路間におけるデータの転送処理を指示する。CPU41は転送処理のため例えばDMAコントローラを内蔵する。また、CPU41は、ドライバ47a〜47cを介して紙送りモータM1、キャリッジモータM2、ロール紙の印刷後の部分を所定のサイズに切断するカッタ装置のカッタモータM3を駆動制御する。
ASIC46は、データに画像処理を施して印刷データを生成したり、CPU41からの指令信号と印刷データに基づいてドライバ47cを介して複数の圧電素子PZを駆動制御する。RAM44には受信バッファ44a,ワークメモリ44b及び出力バッファ44cなどが備えられている。各通信部45b〜45eを通じて受信したデータは受信バッファ44aに一旦格納され、所定の処理を施す際のデータはワークメモリ44bに格納され、さらに最終的に生成された印刷データは出力バッファ44cに格納される。
紙送りモータM1は、自動給紙装置3にセットされた単票紙又はロール紙P1を、印字位置を経由して排紙口7まで搬送させるためのモータである。キャリッジモータM2は、複数の噴射ノズルを有した記録ヘッドを搭載したキャリッジを主走査方向に往復動させるためのモータである。圧電素子PZは、記録ヘッドに設けられた複数の噴射ノズル毎に設けられそのノズルからインクを噴出させるための素子である。カッタモータM3は、カッタ装置を駆動するモータであり、切断刃を主走査方向に移動させてロール紙を所定のサイズに切断する。
又、CPU41は、EEPROM43に予め記憶されたメニュー表示用データを読み出して表示装置9の表示処理部9bに転送する。表示処理部9bはそのメニュー表示用データに基づき用紙の種類、用紙サイズ、レイアウト、写真選択、印刷枚数等をマニュアル選択するために用いられるメニューを表示画面9aに表示させる。メニュー項目には「レイアウト」が用意されており、この「レイアウト」は、カードスロット12にセットされたメモリカード等から印刷用に入力した1つ又は複数の画像を用紙上にレイアウト指定して印刷画像(印刷状態画像)を作成するための機能である。EEPROM43にはこのレイアウトの指定に使う複数のレイアウト用テンプレートが記憶されている。このレイアウト機能で作成した印刷画像の表示用データはRAM44に一時保存され、印刷実行前に操作部10を操作すると、CPU41がRAM44から表示用データを読み出して表示処理部11bに転送することで、その印刷画像が表示画面11aに表示される。
また、CPU41は、操作パネル8に設けられた各スイッチ10a〜10iの操作に基づく信号をユーザI/F48を介して入力するようになっている。
図6は、携帯電話とプリンタ間でCF型通信カードを介して行われるデータ通信およびその受信データの印刷処理について説明する機能ブロック図である。同図に示された各機能部は、各種回路を含むハードウェア回路、及び、通信プロトコルプログラムやアプリケーションプログラム等を実行するCPUによって実現されている。
CF型通信カード(赤外線通信カード)13に内蔵されているカード制御部31は、IrDA通信回路61、IrDAスタック(IrDAプロトコルスタック)62、ファイル転送部63及びオブジェクト送受信部64を有する。IrDA通信回路61は、CPU及び通信回路(いずれも図示せず)を含むハードウェアからなり、通信レイヤでは物理層に相当する。IrDAスタック62はIrDA通信プロトコル群からなり、データリンク層及びネットワーク層に相当する。また、ファイル転送部63は、携帯電話14から赤外線通信で受信するファイルの転送制御を司り、通信レイヤではトランスポート層及びセッション層に相当する。オブジェクト送受信部64は、携帯電話14との間で行われるIrDA通信と、プリンタ1との間で行われるシリアル通信との2つの通信系統の間でデータの受け渡し制御を行うとともに、受信データチェックなどの必要な処理を司る。オブジェクト送受信部64は、ファイル転送部63からのデータを処理するプレゼンテーション層及びアプリケーション層に相当する部分と、UART33の上位層でシリアル通信プロトコルスタックからなるプレゼンテーション層〜データリンク層を構成する部分とからなる。
ファイル転送部63は、CF型通信カード13内のCPUがOBEX(Object exchange)(TM)プログラムを実行することで構築される機能部分であり、OBEXの仕様に基づくファイル転送制御を司る。詳しくは携帯電話14側のOBEXとの論理的な通信リンクの確立及び切断や、ファイル転送時にパケット分割されて送られてくるパケットを元のファイルに組み立てる復元処理などを行う。
また、オブジェクト送受信部64は対応拡張子記憶部64aを有し、カードスロット12にCF型通信カード13が挿着された状態をプリンタ1が電源投入後はじめて検知した時に、プリンタ1からCF型通信カード13へ送られてくる拡張子データを対応拡張子記憶部64aに記憶(セットアップ)する。また、オブジェクト送受信部64は、受信したデータからファイル名を取得し、そのファイル名の中の拡張子と拡張子データとを比較参照することにより、受信したデータがプリンタ1にとって印刷対応能力のある印刷対応データか否かを判定する。詳しくはデータのヘッダ中にあるファイル名「aaaa.bbb」を読み取り、ファイル名から拡張子「bbb 」を抜き出し、この拡張子「bbb 」と拡張子データとを参照比較することにより印刷対応データか否かを判断する。この参照比較では大文字と小文字の区別はしない。そして、オブジェクト送受信部64は、その判定結果に基づき印刷対応データの受信は許可するが、印刷未対応データの受信は拒否するデータ選別処理を行う。オブジェクト送受信部64は、印刷対応データである場合、そのオブジェクトデータ及びファイル拡張子「bbb 」のデータ(ファイル拡張子データという)をプリンタ1側へ転送する。
プリンタ1側には、カードドライバ71、IrDA UART ドライバ(以下、UARTドライバという)72、データトランスファ部73、IrDAプロファイル部74、テキストデータラスタ処理部75、画像データラスタ処理部76及びプリントエンジン77が備えられている。
カードドライバ71及びUARTドライバ72は、図5におけるスロット通信部45eに内蔵されたドライバ回路からなるハードウェアとソフトウェアとで構成されている。また、データトランスファ部73は、CPU41が通信プロトコルプログラムを実行することにより実現される機能部分である。また、IrDAプロファイル部74、テキストデータラスタ処理部75及び画像データラスタ処理部76は、CPU41がアプリケーションプログラムを実行することにより実現される機能部分である。さらにプリントエンジン77は、CPU41がアプリケーションプログラムを実行することにより実現されるソフトウェア部分と、ASIC46、ドライバ47a〜47e、紙送りモータM1、キャリッジモータM2、圧電素子PZ及びカッタモータM3などからなる印刷処理を実現するハードウェア部分とから構成される。
なお、OSI参照モデルに当てはめた場合、カードドライバ71及びUARTドライバ72は物理層、データリンク層及びネットワーク層に相当する。また、データトランスファ部73はトランスポート層及びセッション層に相当し、IrDAプロファイル部74、テキストデータラスタ処理部75及び画像データラスタ処理部76は、プレゼンテーション層及びアプリケーション層に相当する。
カードドライバ71は、CF型通信カード13と信号やデータのやりとりをする通信ドライバであり、CPU41からの指示などに基づきUARTドライバ72に必要な指示を出す。
UARTドライバ72は、CF型通信カード13に内蔵されたプリンタ側UART34の通信動作を制御するもので、例えばCPU41及びカードドライバ71の指示に基づきプリンタ側UART34を制御する。UARTドライバ72は、プリンタ側UART34から割込要求を受け付けると、プリンタ1が他の通信部45b〜45dからデータ受信中であるビジー状態でない限り入力ポートを開きデータの取り込みを開始する。
また、カードドライバ71は、プリンタ1の電源投入時にCPU41が実行する初期化処理の際にCPU41から拡張子データを受け取ってセットアップデータ記憶部71aに格納する。そして、カードドライバ71は、電源投入後はじめてプリンタ1とCF型通信カード13との電気的接続を検知したCPU41からの指示に基づきセットアップデータ記憶部71aに格納された拡張子データを読み出してCF型通信カード13に送信する。本実施形態では、印刷対応ファイルの拡張子として、「vcf」「vnt」「jpeg」「jpg」が拡張子データに設定されている。CF型通信カード13へ送られた拡張子データは、オブジェクト送受信部64により対応拡張子記憶部64aに格納されることによりCF型通信カード13側にセットアップされる。また、UARTドライバ72は、データトランスファ部73及びプロファイル部74で検出されたエラー通知などの通知を受け取ると、その旨の信号をカード制御部31に送信する。カード制御部31は携帯電話14及びプリンタ1から受信したデータ及び信号を監視することでデータ受信状態を表す通信ステータスを管理し、その時々の通信ステータスに応じた点灯態様となるよう表示部(LED)13bを表示制御する。CF型通信カード13は表示部13bの点灯態様によってデータ受信状態を送り主に報知する。
データトランスファ部73は、CF型通信カード13のオブジェクト送受信部64から送られてきたオブジェクトデータとファイル拡張子データを受け取ると、ファイル拡張子データをプロファイル部74に送るとともに、オブジェクトデータについてはそれを正しく受信できたかどうかを判断する。この判断は、オブジェクトデータが正しく受信できたかどうかを検証する手順がプログラムされた伝送制御手順に従って判定される。伝送制御手順としては、ベーシック手順と、HDLC(ハイレベルデータリンク)手順とが挙げられる。本例ではベーシック手順を簡素化した伝送制御手順を採用する。なお、エラー制御に採用するエラー検出方式は、CRC検出方式に限らず、パリティチェック方式、チェックサム、ハミング符号によるものでもよい。
データトランスファ部73は、伝送制御手順によりデータを正しく受信できた場合はそのデータ(電文本体又は電文分割ブロック)を次のIrDAプロファイル部74へ順次送り、データが正しく受信できなかった場合はオブジェクト送受信部64へそのデータの再送を要求する。この再送要求を受けたオブジェクト送受信部64は直前にデータトランスファ部73へ送信したデータを再送する。データトランスファ部73は、再送要求の後に再送されないままタイムアウトになると、エラー通知信号をオブジェクト送受信部64へ送信するようUARTドライバ72に指示する。
IrDAプロファイル部74は、拡張子識別部81、件数判定部82、ノート(Note)解析部83、分割処理部84、テキストデータ形式変換部85、テンプレート記憶部86、画像データデコード部87及び判断部88を備えている。IrDAプロファイル部74はROM42又はEEPROM43に記憶されたプログラムデータ及び各種データ等に基づき実現される。
拡張子識別部81は、データトランスファ部73から入力したファイル拡張子データから、そのオブジェクトデータのファイル形式を識別する。すなわち、個人情報データ(vCardファイル形式)か、添付形式の画像データ(vNoteファイル形式)か、画像データ(JPEGファイル)かのいずれであるのかその拡張子を識別する。すなわち、ファイル拡張子データが「vcf」であれば「vCardファイル」と識別し、「vnt」であれば「vNoteファイル」と識別し、さらに「jpeg」又は「jpg」であると「JPEGファイル」と識別する。拡張子識別部81は、識別した拡張子に応じて、その後データトランスファ部73から送られてくる処理経路を振り分ける。すなわち、拡張子識別部81は、拡張子が「vcf」であればそのvCardファイル(個人情報データ)を件数判定部82へ送り、拡張子が「vnt」であればそのvNoteファイル(画像データ)を画像データデコード部87へ送る。さらに、拡張子が「jpeg」又は「jpg」であればそのJPEGデータを画像データラスタ処理部76へ送る。ここで、拡張子データの大文字と小文字の区別はしない。
件数判定部82は、vCardファイルが1件分の個人情報を含む「単件」ファイルか、複数件分の個人情報を含む「全件」ファイルかを判定する。「単件」ファイルと判定した場合はそのvCardファイルをノート解析部83へ送り、「全件」ファイルと判定した場合はそのvCardファイルを分割処理部84へ送る。また、件数判定部82の判定結果は、「単件」であれば「N=0」、「全件」であれば「N=1」として、その判定値Nがテキストデータ形式変換部85へ送られる。
ノート解析部83は、vCardファイルのノート(Note)領域に記述されたテキストを取り出して解析する。単件の個人情報を印刷する場合は、ノート領域に予め決められた指定文字(指定情報)を記述しておくことで印刷レイアウトを指定できるようになっており、指定文字による印刷レイアウトの指定の有無を判断するためにノート領域の記述内容を解析する。本実施形態では指定文字として数字(番号)を採用している。数字を採用するのは、記述する文字数が少なく済むうえ識別し易いからである。数字以外にアルファベット(例えばA,B,C,…)を指定文字として採用することも可能である。ノート解析部83は、解析結果として得られた指定文字の情報M(例えば番号M=1,2,…n)をテキストデータ形式変換部85へ送る。
分割処理部84は、全件ファイルを電文分割ブロック単位で順次入力し始めるとバッファ(図示せず)に蓄えながらデータの中身を調べ、1件毎の区切りを抽出することにより所定件数分ずつ分割する。そして、その分割した所定件数分ずつ個人情報データを次処理のテキストデータ形式変換部85へ送り出す。本実施形態では所定件数は1件に設定されており、vCardファイルの全件データは1件ずつの個人情報に順次分割されながら、分割処理部84から1件分ずつ次処理のテキストデータ形式変換部85へ送り出される。
テキストデータ形式変換部85は、個人情報データ(テキストデータ)をvCard形式からXHTML(Extensible Hyper Text Markup Language )形式に変換する。但し、形式変換を行う前に、そのオブジェクトデータがvCard形式であるかどうかそのデータの中身を解析し、vCardファイル形式のデータであることを検証する。例えばvCardファイル形式のデータであれば備えているはずのプロパティ(「BEGIN VCARD 」「N 」「SOUND 」等)などの有無を確認する。vCardファイル形式のデータでなければデータを破棄するとともに、間違ったデータである旨をUARTドライバ72を通じてCF型通信カード13へ通知する。一方、vCardファイル形式のデータであれば、そのオブジェクトデータに形式変換処理を施す。また、画像添付機能を備えたタイプのvCardファイルであると解析された際は、その添付されているエンコードされたJPEG画像データを画像データデコード部87に転送する。このようにテキストデータ形式変換部85は、拡張子が「vCard」であるけれどもデータの中身までも正しくvCard形式であるかどうかを事前に解析及び検証する。また、画像データデコード部87においてメモ帳機能で記述されたテキストデータを含むタイプのvNoteファイルを受け付けた場合は、テキストデータ形式変換部85は、そのテキストデータのみを画像データデコード部87から受け付ける。このときは既にデータの中身については画像データデコード部87において検証済みなので改めて解析はしない。
テキストデータ形式変換部85は、形式変換処理を施す際、まずテンプレート記憶部86からXHTML形式で記述された印刷レイアウトテンプレート(以下テンプレートという)を読み出す。テンプレートはオブジェクトデータを構成する各項目(プロパティ)の値(テキストデータ)を所定位置に割り付けられるようにタグの記述によってレイアウト枠が指定されたものである。レイアウト枠内に該当項目(プロパティ)の値(テキストデータ)を組み込むことにより、vCard形式の個人情報をテンプレート付きのXHTML形式に変換する。つまり、vCardファイルは元々レイアウトの概念を持たないファイル形式であるが、印刷時には所定のレイアウトで印刷されうるように、レイアウトを定義付けできないファイル形式(vCard)からレイアウトを定義付けできるファイル形
式(XHTML)へ形式変換する。そして、この形式変換時にXHTML形式で記述されたテンプレートを用いることでレイアウトをタグによって定義付ける。テキストデータ形式変換部85は、個人情報がテンプレートに組み込まれたXHTMLデータを、テキストデータラスタ処理部75に送出する。
一方、画像データデコード部87は、拡張子識別部81からvNoteファイル形式のオブジェクトデータを受け取って、そのオブジェクトデータの中身を解析し、vNoteファイル形式のデータであるか否かを検証する。例えばvNoteファイル形式のデータであれば備えているはずのプロパティ等の有無を確認する。vNoteファイル形式のデータでなければデータを破棄するとともに、間違ったデータである旨をUARTドライバ72を通じてCF型通信カード13へ通知する。一方、vNoteファイル形式のデータであれば、添付されているエンコード画像データを抜き取るとともに、メモ帳機能で記述されたテキストデータを含むと解析した場合はそのテキストデータをテキストデータ形式変換部85に転送する。そして、予め用意されたデコード用プログラム(Bese64)を起動させて、エンコードされたJPEG画像データをJPEG画像データにデコードする。このように画像データデコード部87は、拡張子が「vnt」であるけれどもデータの中身までも正しくvNote形式であるかどうかを事前に解析及び検証する。画像データデコード部87は、デコード後のJPEG画像データを、画像データラスタ処理部76に送出する。
テキストデータラスタ処理部75は、テキストデータ形式変換部85から受け取ったXHTMLデータにラスタ処理を施す。このラスタ処理には、XHTML解析処理、レイアウト設定処理、色変換処理及び2値化処理が含まれる。まずXHTML解析処理では、XHTMLデータを解析して、XHTML言語で記述されたレイアウトのテンプレート情報とテキストで記述された個人情報とを分解する。そして、XHTML言語(タグ)で記述された記述内容(レイアウトのテンプレート情報)を解析して個人情報テキスト(各プロパティの値)の割付領域を演算し、演算した各割付領域の位置座標データ(アドレスデータ)を取得する。レイアウト設定処理では、個人情報テキストの文字コードをキャラクタデータに変換するとともに、得られたキャラクタデータをテンプレートで指定された割付領域から決まるアドレスに所定の文字サイズのドットデータとして展開する。この展開されたドットデータに色変換処理及び2値化処理を施した後、その2値化データに印刷時のドット形成順序に並び替える処理を施す。
画像データラスタ処理部76は、JPEG画像データにラスタ処理を施す。但し、ラスタ処理の前に、画像データデコード部87を経由せず直接送られてきたJPEGデータについては、データの中身を解析してJPEGファイル形式のデータであるか否かを検証する。例えばJPEGファイル形式のデータであれば備えているはずの情報の有無を確認する。JPEGファイル形式のデータでなければデータを破棄するとともに、間違ったデータである旨をUARTドライバ72を通じてCF型通信カード13へ通知する。一方、JPEGファイル形式のデータであれば、ラスタ処理に移行する。このように画像データラスタ処理部76は、拡張子が「jpeg」であるけれどもデータの中身までも正しくJPEG形式であるかどうかを事前に解析及び検証する。
ラスタ処理には、JPEG解析及びデコード処理、レイアウト設定処理、色変換処理及び2値化処理が含まれる。JPEG解析及びデコード処理では、JPEG画像データが圧縮系画像データであるためまずこれをYCbCr表色系(輝度(Y )と青の色差(Cb)と赤の色差(Cr)を使って表現する表色系)の非圧縮系画像データに解凍する。そして、解凍して得られたYCbCr表色系の多値画像データをさらにRGB表色系の多値画像データに変換する。そして、レイアウト設定処理では、RGB表色系の多値画像データを用紙上に割り付ける割付領域を演算し、演算した割付領域から決まるワークメモリ(イメージバッファ)44b上のアドレスにその画像を所定サイズのドットデータとして展開する。この展開された画像データ(ドットデータ)に色変換処理及び2値化処理を施した後、その2値化データに印刷時のドット形成順序に並び替える処理を施す。先に説明したテキストデータラスタ処理部75におけるレイアウト設定処理後のJPEG画像のラスタ処理についても同様の処理が行われる。また、vNoteデータにテキストが含まれる場合は、画像データラスタ処理部76がテキストと画像の全体についてレイアウト設定処理を行うようになっている。なお、各ファイル形式(vCard,vNote,JPEG)のオブジェクトデータの中身について解析及び検証する、テキストデータ形式変換部85、画像データデコード部87及び画像データラスタ処理部76によって、第2判定手段が構成される。
プリントエンジン77は、ワークメモリ44b上に展開されたラスタ処理後のCMYK2値画像データ(ラスタデータ)を、印刷コマンドヘッダとセットにしてプリンタ印刷コマンドに仕立て、エンジンコントローラによってプリンタ印刷コマンドに基づき印刷機構が駆動されることにより用紙に印刷が施される。
なお、テキストデータラスタ処理部75及び画像データラスタ処理部76は、ブルートゥース対応携帯端末BCで扱われるファイル形式(XHTML形式とJPEG形式)のデータでも印刷できるように、プリンタ1にCF型通信カード受信方式の採用前から備えられた既存のものである。本例では、CF型通信カード13を介して受信した携帯電話対応形式のファイルデータでも印刷できるように追加が必要な機能部分についてこの既存部分を流用することによりその最小化を図っている。つまり、携帯電話対応形式(vCard形式とvNote形式)のデータをブルートゥース対応形式へ形式変換する機能部分をIrDAプロファイル部74に追加することにより、形式変換後のデータ処理については各ラスタ処理部75,76を流用するようにしている。
図7は、2つのラスタ処理部とプリントエンジンの一部とにより構成され、XHTML形式及びJPEG形式の各データから印刷データを生成する画像処理装置の概略構成を示す。この画像処理装置は、主にCPU41、ASIC46、ROM42、EEPROM43及びRAM44から構成される。但し、処理の一部についてはCPU41がプログラムを実行するソフトウェアにより実現している。もちろん、大部分の処理をハードウェア回路で実現するのではなく、半分以上の処理をソフトウェアにより実現することもできる。
図7に示すように、ASIC46は、解釈処理部90、JPEG解凍器91、YCbCr/RGBコンバータ92、メモリコントローラ93、画像処理部46a及び印刷処理部46bを内蔵する。また、画像処理部46aは色変換処理部94及び2値化処理部95などを備え、印刷処理部46bはコマンドエンコーダ96及びエンジンコントローラ97を備えている。また、ROM42にはキャラクタジェネレータ98が構築されている。また、EEPROM43はその記憶領域の一部にテンプレート記憶部86を含むとともに色変換テーブル99を記憶している。メモリコントローラ93は、キャラクタデータと画像データのうち少なくとも一方からなるドットデータをワークメモリ44b上に展開するとともに、展開したドットデータの画素順序をラスタスキャンの順序に並べ替える画像処理を司る回路である。
また、図6における各ラスタ処理部75,76が有する各バッファ75a,76aは、例えばRAM44にそれぞれ専用記憶領域として確保されている。もちろん、RAM以外の例えばSDRAMにそれらの専用記憶領域が確保されてもよい。
まずXHTMLデータにラスタ処理を施すテキストデータラスタ処理部75の処理について説明する。なお、テキストデータラスタ処理部75は、解釈処理部90、メモリコントローラ93、キャラクタジェネレータ98及び第1バッファ75aなどにより構成される。
ROM42には、日本語及び英語のフォント等のキャラクタ(文字や記号等)のパターンを示すキャラクタジェネレータデータ(CGデータ)が記憶され、このCGデータによりキャラクタコード(文字コード)をCGデータに変換するキャラクタジェネレータ98が構築されている。キャラクタジェネレータ98は、その指定されたアドレスに文字コードが与えられると、各種文字のドット構成(文字ドットパターン)を特定するために必要なCGデータを読み出す。CGデータはベクタデータである。ここで、ベクタデータとは、描画の対象となる文字や図形の輪郭を表したデータであり、より詳しくは文字や図形の主要点の座標および座標間を結ぶ曲線(例えばベジェ曲線)の方程式を含むパラメータによって記述されている。
テキストデータラスタ処理部75に送られたXHTMLデータは、まず解釈処理部90に転送される。XTMHLデータは、個人情報が記述された本文であるキャラクタデータと、個人情報の本文がレイアウトされるべき場所を記述するテンプレートタグとを含む。
解釈処理部90は、XHTMLデータの記述内容を解析し、テキスト本文の文字(キャラクタ)に対応するキャラクタデータと、文字列のレイアウトされるべき場所を記述するテンプレートタグから解釈されるレイアウトデータ(アドレス空間上の座標データ)とに個々の対応を関連付けたまま変換する。キャラクタデータは、文字や記号の種類を特定するキャラクタコード(例えばアスキー(ASCII)コードなど)とフォントなどの修飾情報とを有する。解釈処理部90は、XHTMLデータから分解及び変換したキャラクタデータ及びレイアウトデータを個々の対応を関連付けた情報と共にメモリコントローラ93に渡す。
メモリコントローラ93は、キャラクタデータをキャラクタジェネレータ98に与えて読み出したCGデータ(ベクタデータ)を、所定の文字サイズの文字ドットパターンデータ(キャラクタドットデータ)に変換するベクタフォント展開処理を行う。さらにメモリコントローラ93は、ベクタフォント展開処理で得たキャラクタドットデータを、ワークメモリ44bにおいてレイアウトデータ(アドレス空間上の座標データ)によって指定された垂直位置及び水平位置に展開する。そして、メモリコントローラ93は、展開したその画素順序をラスタスキャンの順序に並べ替えて第1バッファ75aに格納した後、印刷処理部46bに転送する。ここで、第1バッファ75aは、XHTMLデータのラスタ処理に使われるためそのバッファ容量は比較的小さい(例えば30〜100キロバイト)。
次にJPEG画像データにラスタ処理を施す画像データラスタ処理部76の処理について説明する。なお、画像データラスタ処理部76は、JPEG解凍器91、YCbCr/RGBコンバータ92、メモリコントローラ93及び第2バッファ76aなどにより構成される。
JPEG解凍器91は、JPEG画像データを解凍してYCbCr表色系の多値画像データに変換する回路である。YCbCr/RGBコンバータ92は、YCbCr表色系の多値画像データを、YCbCr表色系からRGB表色系のRGB多値画像データに色変換する回路である。この色変換には以下の変換式が使用される。
R=Y+1.40200 ×Cr
G=Y-0.34414 ×Cb-0.71414×Cr
B=Y+1.77200 ×Cb
メモリコントローラ93は、YCbCr/RGBコンバータ92から受け取ったRGB多値画像データの画素順序をラスタスキャンの順序に並べ替える回路である。ここで、JPEGの圧縮処理では、元画像は8画素×8画素のブロック領域に分割され、ブロック領域単位で所定の演算処理がなされる。そのため、YCbCr/RGBコンバータ92から渡される、JPEGデータから変換された当初のRGB多値データも、8画素×8画素のブロック領域に分割した形で画素データが並んでいる。メモリコントローラ93は、その8画素×8画素のブロック領域に仕分けられている画素データの配列を、印刷処理に適したラスタスキャン(つまり、例えば、画像の左端から右端までの行方向の水平スキャンを、最上行から1行づつ下へ向って繰り返していくスキャン)の順序の配列に変換する。メモリコントローラ93は、YCbCr/RGBコンバータ92から受け取ったRGB多値画像の各画素データを展開後、第2バッファ76a上にラスタスキャン順序に従って書き込んでいくことで、この並べ替えを行う。これにより、第2バッファ76a上には、ラスタスキャンの順序で画素が並んだRGB多値画像データが格納されることになる。メモリコントローラ93は、ラスタスキャンの順序で画素が並んだRGB多値画像データを画像処理部46aへ転送する。ここで、第2バッファ76aは、JPEG画像データのラスタ処理に使われるためそのバッファ容量が第1バッファ75aのそれに比べ相対的に大きい(例えば3〜10メガバイト)。
画像処理部46aに転送されたRGB多値画像データはまず色変換処理部94に送られ、次に2値化処理部95に転送される。色変換処理部94は、RGB多値画像データをCMYK多値画像データに色変換する回路である。さらに2値化処理部95は、そのCMYK多値画像データをCMYK2値画像データに2値化する回路である。
色変換処理部94は、EEPROM43に記憶された、RGB表色系からCMYK表色系へ色変換するための色変換テーブル99を読み出し、これを参照してRGB多値画像データをCMYK多値画像データに変換する。このCMYK多値画像データは2値化処理部95に転送される。
次いで、2値化処理部95は、CMYK多値画像データに2値化処理(例えば、誤差拡散処理又はディザ処理など)を施し、これをCMYK2値画像データに変換する。このCMYK2値画像データは印刷処理部46bに転送される。なお、画像処理部46aに転送されたデータに拡大、縮小、回転などの所定処理を施す際はCPU41に転送され、その所定処理はソフトウェア処理により施される。
印刷処理部46bには、ラスタスキャン順序に並び替えられた、キャラクタドットデータ又はCMYK2値画像データが転送されてくる。これらのデータはコマンドエンコーダ96に転送される。
コマンドエンコーダ96は、キャラクタドットデータ又はCMYK2値画像データを、CPU41からのプリンタ印刷コマンドのコマンドヘッダとセットにして印刷データに仕立て、エンジンコントローラ97へ送る。エンジンコントローラ97は印刷データに基づいて圧電素子PZを駆動制御する指令信号をドライバ47dに出力する。
次に、携帯電話14とCF型通信カード13間で行われるIrDA通信について説明する。
図8は、ファイル転送時に用いられるOBEX仕様のデータ構造を示す。データDは、オペコードOPとヘッダHDとデータボディDBとからなる。オペコードOPには通信に関する命令が記述される。命令には「Connect 」「Disconnect」「PUT 」「FPUT」「GET 」「FGET」「Abort 」「Response」等が用意されている。「Connect 」は接続要求、「Disconnect」は切断要求をそれぞれ意味する。また、「PUT 」はデータ受け取り要求、「FPUT」は最終データ受け取り要求(送信データ終了の意を含む)、「GET 」はデータ取り出し要求、「FGET」は最終データ取り出し要求(受信データ終了の意を含む)をそれぞれ意味する。また、「Abort 」は中断、「Response」は応答をそれぞれ意味する。
ヘッダHDには、データボディDBに関する情報が記述される。データボディDBとは、送受信(転送)されるデータそのものであり、通常は所定サイズ以下のパケット(ブロック)に分割される。本例の場合では、携帯電話14からプリンタ1へ送信されるオブジェクトデータは、そのデータサイズが所定サイズを超えるときは複数分割されて転送されることになる。「Name」「Authentication」「filesize」「Bodylength」などが用意されている。「Name」はファイル名、「Authentication」は情報にアクセスする資格の検証、「filesize」はファイルサイズ、「Bodylength」はボディデータ長をそれぞれ意味する。「Name」には「ファイル名.拡張子」の形で記述されているので、「Name」の値を見ることでファイルの「拡張子」を取得することができる。また、「Authentication」には、情報にアクセスする資格が設定されている場合においてそれを検証できる認証コード(ピンコード)が記述される。携帯電話14では、電話帳機能に登録された個人情報の全件又は指定したグループ中の個人情報の全件を送信するときは、認証コードの入力を要求される設定となっている。このような全件データを送信するときには送信ボタン操作後にディスプレイ18上で要求される入力欄に認証コードを入力する。入力した認証コードはヘッダHDの「Authentication」に記述される。
図9は、携帯電話→赤外線通信カード(CF型通信カード)→プリンタの流れでデータを転送する転送処理シーケンスを示す。
携帯電話14でデータ送信操作を行うと、まず物理層であるIrDA接続(物理接続)が行われる。携帯電話14からIrDA接続要求が出され、これにCF型通信カード13が応答する形でIrDA接続が確立される。次にOBEX接続(論理接続)が行われる。携帯電話14から「Connect 」をオペコードOPとするデータを送信することでOBEX接続(論理接続)を要求し、これにCF型通信カード13が「Response」をオペコードOPとするデータで応答する形でOBEX接続(論理接続)が確立される。
論理接続が確立されると、携帯電話14はファイルデータをボディDBの最大許容データ長以内のデータ長に分割し、その分割したブロック(フレーム)単位で複数回に分けて転送する。この際、「PUT 」をオペコードOPとしボディDBにブロックを入れたデータDを作成してこれを送信する。以後順次、「Response」をオペコードOPとするデータの受信を待ってから、「PUT」をオペコードOPとする次のデータDを送信する。
CF型通信カード13側のファイル転送部(IrOBEX)63は、順次受信するブロックを組み立ててデータを復元し、復元されたデータはオブジェクト送受信部64に渡される。オブジェクト送受信部64は伝送制御手順(ベーシック手順)に従って所定データサイズ以内のブロック(フレーム)単位でプリンタ1へデータを送信する。この際、オブジェクト送受信部64は、ヘッダHDの「Name」から取得した「名前.拡張子」をデータと共に送信する。
こうしてデータ転送処理が進み、携帯電話14から最後のブロック(データ)を転送する際は、そのオペコードOPに「FPUT」が記述されるので、ファイル転送部63は受信したデータのオペコードOPが「FPUT」であると、最後のブロックである、すなわちデータ受信完了の通知と認知する。これを契機に携帯電話14から「Disconnect」をオペコードOPとする切断要求が送られることでOBEX接続(論理接続)が切断され、次いでIrDA接続(物理接続)が切断されることにより、通信リンクが遮断される。その後、プリンタ1では受信データから印刷データが生成され、その印刷データに基づき印刷が実行される。
なお、データ送信中に携帯電話14を中断操作すると、「Abort 」をオペコードOPとするデータがCF型通信カード13へ送信される。この場合も、同様の手順によりIrDA切断、OBEX切断の順序を経て通信リンクが遮断される。また、本例では、プリンタ1から携帯電話14へファイル転送する機能は備えていないが、携帯電話14から「GET 」をオペコードOPとするデータがCF型通信カード13へ送られたときは、プリンタ1のメモリに格納されたファイルを携帯電話14へ転送する転送機能をプリンタ1に設けてもよい。
図10は、CF型通信カードをカードスロットに挿入(セット)した際にプリンタ1側のCPU41が実行するプログラムを示すフローチャートである。以下、CPU41がCF型通信カード13を検出した時に実行する処理内容を説明する。
まず、ステップ(以下単に「S」と記す)10では、CF型通信カード13がカードスロット12に挿入されたか(つまりCF型通信カード13を検出できたか)どうかを判断する。CF型通信カード13がカードスロット12に挿入されたことを検知すればS20に進み、挿入されたことが検知されなければそのまま処理を終了する。
S20では、挿入が検知されたカードが、CF型通信カード13であるかメモリカードMCであるかを判別する。CF型通信カード13であればS30に進み、メモリカードであればメモリカードであることを認識して処理を終了する。
S30では、CF型通信カード13のセットアップ処理を行う。すなわち、セットアップデータ記憶部71aから拡張子データ(参照データ)を読み出してオブジェクト送受信部64に送信するようカードドライバ71に指示を与える。この結果、カードドライバ71は拡張子データをオブジェクト送受信部64に送信し、それを受け付けたオブジェクト送受信部64はその拡張子データを記憶部64aに記憶する。
次にS40では、インターロック処理を行う。
S50では、インターロックを解除してよいかどうかを判断する。インターロックを解除してよければS60に進み、解除できない場合は再びS40に戻る。S40に戻った場合は、以後、インターロックを解除できるまでインターロック処理を所定時間毎に実行する。
S60では、インターロックを解除するレディコマンドを出力する。このレディコマンドを受け付けたカード制御部31(CPU159)は、「受信可能」の通信ステータスAを設定し、CF型通信カード13の表示部13bが緑点灯する。ユーザは表示部13bの緑点灯を見ることでCF型通信カード13がデータ受信可能な状態にあることを把握する。
次に、CF型通信カード13からプリンタ1の本体2側に転送されたデータの処理について説明する。プリンタ側の処理には、主に、(A) データの種別に応じた振り分け処理、(B ) 個人情報データの単件か全件かの判定処理、(C) 個人情報の全件データの分割送出処理、(D) 個人情報データの名刺レイアウト印刷、(E) 個人情報データの電話帳レイアウト印刷の各処理がある。
まず、受信したデータをASIC内等の処理回路が扱えるファイル形式に変換した後、指定のレイアウト付きのデータに生成するまでの処理について説明する。まずvCardファイルのデータ構造を説明する。
図11は、vCardファイル形式の個人情報データの一例を示す。
同図に示すように、vCard形式の単件データMDは、まず「BEGIN:VCARD」で始まり、「END:VCARD」で終わる。その「BEGIN」と「END」の間には以下のような個人情報の各アイテムが、プロパティと値を使って「プロパティ:値」形式で記述されるようになっている。プロパティは項目を指し、値はその項目に入れるべき具体的な内容を指す。プロパティには、「N(名前)」、「SOUND(フリガナ)」、「TEL(電話番号)」、「EMAIL(電子メールアドレス)」、「ADR(住所)」、「NOTE(メモ)」などが用意されている(但し、括弧書きはプロパティの説明である)。
まずプロパティ「N」の値には他人の氏名が記述される。例えばvCard対応の電話帳アプリケーション(新規登録)を起動させて画面に表示された名前の入力欄に「山田 太郎」と入力した場合、「N:山田 太郎」と記述される。同様にプロパティ「SOUND」の値には氏名のフリガナが記述される。
プロパティ「TEL」には電話番号が記述されるが、さらにコマンドを追加すること(以下TYPE指定することと称す)により以下に示すようなものが指定できる。「TEL;WORK;VOICE:」の値には勤務先電話番号、「TEL;WORK;FX:」の値には勤務先FAX番号が記述される。「WORK」の部分を「HOME」に置換すると自宅用電話番号が記述される。「TEL;CELL:」の値には携帯電話番号が記述される。また、携帯電話番号の登録アイコンの選択によりさまざまなTYPE指定が可能であり、これによりさまざまな電話番号を指定することが可能である。図11の7行目の「TEL; X- ABC−MAIN;VOICE:」の値には「代表」の電話番号が記述される。その他、「学校」の電話番号が記述されるプロパティもある。その他、さまざまな識別TYPEコマンドが用意されている。
プロパティ「EMAIL」の値には電子メールアドレスが記述される。「EMAIL」コマンドも「TEL」コマンドと同様に、「EMAIL」の後にTYPE指定することにより複数の電子メールアドレスが指定できる。図11の例で、「EMAIL;WORK:」の値には会社の電子メールアドレスが、「EMAIL;CELL:」の値には携帯電話の電子メールアドレスが、「EMAIL;INTERNET:」の値にはインターネットの電子メールアドレスが記述される。
プロパティ「ADR」の値には住所が記述される。「ADR」もその後に「WORK」、「HOME」等のTYPE指定することにより会社住所、自宅住所等を指定することができる。
プロパティ「NOTE」の値にはメモの内容が記述される。本実施形態では、メモに指定文字を入力して「NOTE」の値に指定文字を記述することにより、プリンタ1に対し印刷レイアウトを設定する機能を設けている。
図12に示すように、vCardの全件データADは、個人情報を複数件含み、個人情報は1件ずつ「BEGIN:VCARD」で始まり、「END:VCARD」で終わる。その「BEGIN:VCARD」と「END:VCARD」の間に1件分の個人情報を構成する各アイテムが、「プロパティ:値」形式で記述されている。
従って、同図からも分かるように、1件のデータが終了する毎に「END:VCARD」が記述されている。携帯電話14から個人情報データを送信するとき、ユーザは「単件」か「全件」かを選択できる。プリンタ1は受信したvCardファイルが「単件」か「全件」かによって適用する印刷レイアウトを決定する。本実施形態では、vCardファイルが「単件」か「全件」であるかを識別するために、個人情報データ中に必ず記述され、かつ1件につき1つしか記述されないコマンド又はプロパティを、件数判別子CSとして採用する。もちろん、1件毎に決まった数ずつ記述されているコマンド又はプロパティなどでもよい。例えば「VCARD」は1件につき2つずつ記述されているので、その計数値が「2」であれば単件、計数値が「4以上」であれば「全件」と判断する方法を採用することもできる。
本実施形態の場合、件数判別子CSとして「END:VCARD」を採用する。IrDAプロファイル部74の件数判定部82は、個人情報データが単件であるのか全件(グループ指定の場合はグループの全件を含む)であるのかを判別する。詳しくは、CPU41がデータ中に含まれる件数判別子「END:VCARD」をカウンタにより計数し、その計数値に基づき受信したvCardファイルが「単件」か「全件」かを判断する。すなわちその計数値が「1」の場合は判定値(例えばフラグ)Nを「N=0」にリセットし、計数値が「2以上」の場合は判定値Nを「N=1」にセットする。
また、全件ファイルである場合、IrDAプロファイル部74はデータをすべて受信してからテキストデータ形式変換部85へ送るのではなく、全件のうち所定件数分だけバッファリングされる度に、その所定件数分ずつ次処理部のテキストデータ形式変換部85へ送る。この処置は分割処理部84が行う。データ中の1件毎の区切りは区分識別子DSをみることで判断する。本例では、区分識別子DSとして「END:VCARD」を採用する。
詳しくは、データトランスファ部73が伝送制御手順73aにおいてデータが正しく受信されたかどうかチェックした後、CPU41はそのデータについて区分識別子DSである「END:VCARD」(本例で件数判別子CSに同じ)をカウンタにより計数し、その計数値から受信した個人情報の件数をカウントする。そして、所定件数分の個人情報がRAM44の受信バッファ44aにバッファリングされる度にCPU41は、受信バッファ44aのデータを次処理のテキストデータ形式変換部85へ送る。詳しくはCPU41が所定件数分のデータがバッファリングされる度に次のテキストデータ形式変換処理を実行する。なお、区分識別子DSは、1件毎の最後のプロパティでもよい。
図13は、個人情報データが印刷される際に適用される印刷レイアウトのテンプレートデータの一例を示す。同図はvCardデータMD1用の名刺印刷テンプレートデータLT1である。
vCardファイルの印刷レイアウト(印刷フォーマット)は、プリンタ1内のEEPROM43(テンプレート記憶部86)に記憶されたテンプレートデータに依存する。テンプレートデータはXHTML形式で記述されたレイアウト用データである。XHTMLデータは、<body>と</body>の間が、1つの項目毎(同図では行毎)につき、フィールド、コメントタグ、プロパティの3つの領域に分かれている。
フィールドは、図13においては「名前」や「電話番号」など名刺の中にタイトルとして印刷される文字列などのデータ領域である。「名前」や「電話番号」など名刺に必要な規定のタイトルはテンプレートデータLTのフィールドに予め記述されている。
コメントタグは、vCard形式ファイルにおける各プロパティの値(例えばプロパティ「N」であればその値である「山田 太郎」)の印刷位置やフォント、文字サイズ等を指定する命令である。コメントタグ「<!-- -->」の直後に値は組み込まれる。また、コメントタグ「< >」を値で置換する方法もある。
プロパティはvCard形式のデータで、TYPE指定したデータの印刷位置やフォント、文字サイズ等を指定する命令である。プロパティ「< > 」の直後にTYPE指定したデータ、例えば「WORK」や「CELL」等の文字列が組み込まれる。従って、図11に示すように名前やフリガナのように、個人情報1件につき1つしかなくいTYPE指定の対象外のデータにおいてはコメントタグのみで構成されている。一方、電話番号や電子メールなどのTYPE指定できるデータが記述される領域ではコメントタグにプロパティが付加される。なお、図13におけるコメントタグ及びプロパティではフォント及び文字サイズ等は指定されていない。
図14は、図11の個人情報データを図13のテンプレートに当て嵌めた後のXHTMLデータを示す。図11の個人情報データ(携帯電話のディスプレイでは図4(b)にように表示される個人情報)は、そのうち指定の値(及びプロパティ)が図13のテンプレートに組み込まれ、図14に示すXHTMLデータからなるテンプレート書式データとなる。この個人情報データからテンプレート書式データへの変換処理は、テキストデータ形式変換部85が行う。テキストデータ形式変換部85で変換されたテンプレート書式データはテキストデータラスタ処理部75に送信される。CPU41は、テキストデータ形式変換処理を次のように行う。テンプレートデータLTを読み出すと、コメントタグの中に記述されたプロパティ(「Name」等)を手掛かりに、vCardファイル中からそのプロパティの値(「山田 太郎」等)を取り出し、テンプレートデータ中のそのコメントタグの直後にその取り出した値を組み込む。また、CPU41は、プロパティ中の「TYPE」直後のプロパティ(「TELNO1」等)を手掛かりに、vCardファイル中からそのプロパティのTYPE(「WORK」等)を取り出し、テンプレートデータLT中のそのプロパティの直後にその取り出したTYPEを組み込む。このルールに従った組込み処理は、CPU41がテキストデータ形式変換処理用プログラムを実行することにより行われる。こうして図14に示すテンプレート書式データが作成される。このように本実施形態では、レイアウト定義できないvCard形式からレイアウト定義できるXHTML形式に形式変換し、この形式変換の際に個人情報の値をテンプレートのレイアウト枠に流し込むことでレイアウトを割り付けている。
図15は、名刺形式の印刷レイアウトの一例を示す。同図はテンプレートデータLTにより指定される印刷レイアウトのテンプレートPL1を図示したものである。同図において四角枠で囲まれたレイアウト枠(割付領域)A1〜A9は、個人情報の各項目の値が配置される場所で、この場所の指定がテンプレートデータLT中のコメントタグにより指定されている。そして、コメントタグにより指定したレイアウト枠A1〜A9に、それぞれ対応する値が配置される。レイアウト枠A1〜A9内に付されているタイトルは、テンプレートデータLT中に予め記述されており、各タイトルの右横に値が配置される。同図において各レイアウト枠A1〜A9内に括弧で示されている(例えば「(ORG1)」等)のが、vCardデータ中のプロパティで、そのプロパティの値がそのレイアウト枠に配置されることを意味する。例えば図11におけるプロパティ「N」の値「山田 太郎」が図15におけるレイアウト枠A4内の「名前」の右横に配置される。なお、図13の名刺印刷テンプレートと図15の印刷レイアウトとは対応していないが、図13のテンプレートデータは説明を簡単にするため単純な記述内容のテンプレート例で示している。本例では、図15に示す名刺印刷レイアウトを指定できるXHTMLデータがテンプレートデータの一つとしてEEPROM43に記憶されている。この場合、個人情報には、会社名、部署、役職、会社電話番号、会社FAX番号、社用電子メールなど必要なデータを入力して使用する。
同図の各項目にはvCard形式のプロパティの値がテンプレートのレイアウト枠A1〜A9に挿入され、所定のフォントの種類、フォントサイズ及びフォントのスタイルなどで印刷されるようなXHTMLデータに変換される。例えば、会社名の場合、vCard形式では、プロパティ「ORG」には、値として具体的な会社名が記述され、その会社名がレイアウト枠A1に挿入される。
図16は印刷レイアウトのテンプレートを示し、同図(a)〜(c)は名刺レイアウトのテンプレート例、同図(d)は電話帳レイアウトのテンプレート例である。なお、同図においては、各テンプレートPL1〜PL4,PL10をvCardファイルのプロパティの値(テキスト)を組み込んだ状態のレイアウト図として示している。テンプレートPL1〜PL4,PL10は、プロパティ毎にその値(テキスト)が組み込まれる割付位置とエリアサイズ(割付領域)を指定するためのタグが記述されたXHTMLデータからなる。図15及び図16(a)〜(c)に示すものを含む複数種の名刺レイアウトのテンプレートデータ(XHTMLデータ)がEEPROM43には記憶されている。
ここで、名刺レイアウトの種類を簡単に説明すると、図16(a)は文字サイズがすべて同一の横書きの名刺レイアウトのテンプレートPL2である。同図(b)は名前の文字サイズが他より大きく印刷される横書きの名刺レイアウトのテンプレートPL3、同図(c)は名前の文字サイズが他より大きく印刷される縦書きの名刺レイアウトのテンプレートPL4である。また、同図(d)は、全件の個人情報を印刷するときに使用される電話帳レイアウトのテンプレートPL10である。この電話帳レイアウトのテンプレートデータ(XHTMLデータ)もEEPROM43に記憶されている。
本実施形態では、個人情報が単件の場合は名刺レイアウトで印刷され、全件(複数件)の場合は電話帳レイアウトで印刷される。vCardファイルが個人情報を複数件含む「全件」の場合は、CPU41は図16(d)の電話帳レイアウトのテンプレートPL10を一義的に指定する。一方、vCardファイルが個人情報を1件のみ含む「単件」の場合は、ユーザが携帯電話14から名刺レイアウトを選択指定できるようになっている。
ユーザは携帯電話14のディスプレイ18に個人情報欄を表示させてその中のメモ欄に印刷レイアウト指定情報を入力する。例えばメモ欄に「1」「2」「3」などの数字(番号)を入力する。この印刷レイアウト指定情報として記述された数字は、vCardデータ中のプロパティ「NOTE」の値として記述される。このメモ欄に記述された数字は単件の個人情報を印刷する際の印刷レイアウトの指定番号として扱われる。例えばプリンタ1の取扱説明書には図15及び図16(a)〜(c)の名刺レイアウトのテンプレートPL1〜PL4等と、各名刺レイアウトのテンプレートPL1〜PL4等の指定番号とが対応付けて記載され、ユーザは取扱説明書にある指定番号をメモ欄に入力することにより名刺レイアウトを指定する。
例えば図4(b)の個人情報欄のようにメモ欄に「2」が入力されていると、図11のvCardファイル中のプロパティ「NOTE」に「2」が記述されている。携帯電話14からvCardファイルを受信すると、そのプロパティ「NOTE」の値として記述された文字列を読み出してそれを解析することにより指定番号を特定する。この解析処理はノート解析部83が行い、詳しくはCPU41がvCardファイル中の「NOTE」の値を解析することにより行われる。CPU41は指定番号を特定できると、その指定番号に対応する名刺レイアウトのテンプレート(XHTML形式)をEEPROM43から読み出す。そして、CPU41は前述したテキストデータ形式変換処理を実行し、図11に示すようなvCardファイルと、図13に示すようなテンプレートデータLT1とに基づ
き、図14に示すようなテンプレート書式データLDを作成する。このテンプレート書式データはXHTMLデータである。
ここで、メモ欄には印刷レイアウトの指定番号ではなく、本来のメモとしての文字列や文章が入力されているのが普通である。CPU41がプロパティ「NOTE」の値を解析するとき、本来のメモとして記述された文字列や文章の中に数字が含まれていた場合、その数字を指定番号と間違えることが起こりうる。CPU41が解析処理で実行するプログラムは、指定番号以外の文字や文字列等が記述されている場合は、その記述データを本来のメモと判断し、たとえその中に指定番号として使える数字が存在していても、その数字を指定番号としては特定しないように設定されている。そして、このような本来のメモとしての使用と判断した場合とメモ欄が空欄の場合は指定番号の指定がないものと判断し、例えばデフォルトで設定された例えば名刺レイアウトのテンプレートPL2を指定する。
本実施形態では、印刷レイアウトの指定に指定番号(数字)を採用するが、数字には限定されることなく、例えばアルファベットやカタカナ、記号文字、文字、文字列などで指定することも可能である。但し、なるべく簡単に指定ができるように一情報の指定に1桁数字または1文字とするのがよく、また順序性の性質をもつ数字(番号)やアルファベットが好ましい。
図17は、IrDAプロファイル部74でのデータの処理を示すフローチャートである。データトランスファ部73で、伝送制御手順によりデータを正しく受信できた場合に、CPU41は図17のフローチャートで示されるプログラムを実行する。このプログラムをCPU41が実行することにより、図6における拡張子識別部81、件数判定部82、Note解析部83、分割処理部84、テキストデータ形式変換部85及び画像データデコード部87の各機能が実現される。以下、CPU41が実行するこのプログラムについて説明する。なお、CF型通信カード13からプリンタ1へは拡張子とオブジェクトデータが転送されてくるようになっており、拡張子はデータの先頭に送られてくる。
S200では、受信したデータの拡張子が何であるかを判断する。受信したデータの拡張子が「jpeg」 または「jpg」 の場合は、JPEG形式の画像データと判断してS220に進む。また、受信したデータの拡張子が「 vnt」 の場合は、vNote形式で作られた画像データ(以下、vNoteファイルという)であると判断し、S210へ進む。更に、受信したデータの拡張子が「vcf」の場合は、vCard形式で作られたテキストデータ(以下、vCardファイルという)であると判断し、S230へ進む。
S210では、vNoteファイルに添付されたエンコード画像データを、Base64と呼ばれるエンコード/デコード変換器によりJPEG形式の画像データにデコード(解凍)する。
S220では、JPEG形式にされた画像データを、画像データラスタ処理部76へ転送する。
S230では、携帯電話14から送信された個人情報データの件数判定を行う。すなわち、vCardファイルが「 単件」 か「 全件」 かを判断する。本例では、vCardファイルデータ中にある識別子「END:VCARD」を計数することによって個人情報の件数を判定する。計数結果CがC=1であれば単件データと判定し、計数結果CがC≧2であれば全件データと判定する。例えば図11に示すようにvCardファイルが単件データの場合、識別子「END:VCARD」は1つだけなので計数結果CがC=1となり、「単件」と判定される。一方、図11に示すようにvCardファイルが全件データの場合、「END」が複数あってその計数結果CがC≧2を満たすので「全件」と判定される。個人情報を1件のみ含む「 単件」 と判定した場合はS240に進む。また、個人情報を複数件含む「 全件」 と判定した場合はS250に進む。なお、別の判定方法として、携帯電話14側で設定されるファイル名(拡張子を含む)が単件と全件とで異なる場合は、データのファイル名から単件か全件かを判断してもよい。
S240では、Note領域の記述内容を解析して解析結果に応じたテンプレートを指定する。vCardファイルデータ中にあるプロパティ「NOTE」の値(記述内容)を解析し、その値の中からテンプレートの指定情報(本例では番号)を探し出す。例えば図4(b)に示すようにメモに「2」と記述されていれ
ば、図11に示すようにそのvCardファイルデータ中のプロパティ「NOTE」の値には「2」が記述されているので、この番号「2」を解析結果として抽出する。そして、この番号「2」をテンプレート指定の情報としてRAM44に記憶する。
S250では、「電話帳」のテンプレートを指定する。つまり、「全件」である場合は、常に「電話帳」のテンプレートを指定する。
S260では、vCardファイルの全件データを所定件数ずつの個人情報に分割しながら所定件数分ずつのデータを次処理へ送り出す。
S270では、テンプレート記憶部86から指定されたテンプレートを読み出す。すなわち、「 単件」 の場合はS240で指定したノート領域の記述内容の解析結果から定まるテンプレート(名刺形式のレイアウト)を読み出し、「 全件」 の場合はS250で指定した「電話帳」のテンプレート(電話帳形式のレイアウト)を読み出す。
S280では、vCardファイルの個人情報をテンプレート付きのXHTMLデータに変換する。つまり、テンプレートに当て嵌めるべき項目が指定された場所に個人情報のその項目(プロパティ)の内容(値)を当て嵌めることにより、テンプレート付きのXHTMLデータに変換する。例えば図11に示す単件のvCardファイルの場合、図14に示すようなXHTML形式データに変換される。
S290では、テンプレート付きのXHTMLデータを、テキストデータラスタ処理部75へ転送する。
なお、IrDAプロファイル部74内の拡張子識別部81,件数判定部82、ノート解析部83、分割処理部84は、それぞれS200、S230、S230、S240、S260により実現されている。また、テキストデータ形式変換部85は、S250、S270、S280及びS290により実現されている。
こうしてテキストデータラスタ処理部75へ転送されたデータは、その後、各種処理が施されることにより印刷データに生成される。また、画像データラスタ処理部76へ転送されたデータは、その後、各種処理が施されることにより印刷データに生成される。そして、プリントエンジン77は印刷データに基づき印刷機構を駆動制御し、ロール紙P1にはvCardファイルで送信された個人情報が指定の印刷レイアウトで印刷されたり、vNoteファイルで送信された画像が印刷されたりする。例えば単件の個人情報を含むvCardファイルをプリンタ1に送信したときは、携帯電話14のメモ欄に入力した指定番号に対応する名刺レイアウトで個人情報が印刷される。
そして、個人情報のデータが名刺レイアウトで印刷されたロール紙Pはその排紙の途中で、カッタモータM3の作動により名刺サイズにカットされる。
以下、第1の実施形態の効果を記載する。
(1)携帯電話14に保存された個人情報をプリンタ1に送信して印刷させる際、vCardデータのメモ領域にレイアウトを指定する指定情報を記述しておけば、そのメモ領域の記述内容で指定したレイアウトで個人情報を印刷できる。すなわち、ユーザは携帯電話14の個人情報欄を表示させてその中のメモ欄に「1」「2」「3」などの番号又はアルファベット等の文字情報を書き込む(入力する)。この記述された文字情報は個人情報データのうちメモ領域に格納される。このメモ領域に記述された数字はレイアウトを指定する文字として扱われる。携帯電話14から送信された個人情報データを受信すると、そのメモ領域の記述内容を解析(解読)して指定情報の数字を抽出し、その数字で指定されたレイアウトを決定する。個人情報をメモ領域で指定したレイアウトで印刷できる。また、携帯電話14側の操作でレイアウト指定できるので、印刷時のデータ送信操作及びレイアウト指定操作のどちらも携帯電話14を操作するだけで行え、操作性がよい。
(2)vCardデータ中の個人情報を印刷する際、レイアウトをメモ領域の記述により指定することで、適切な名刺レイアウトを指定できる。例えば会社に関連するデータのみが入っている場合は、会社用名刺レイアウト、私的情報のみが入っている場合は、個人用名刺レイアウトを指定して印刷させることができる。
(3)vCard形式(個人情報データ形式)の一つのコマンドを件数判別子CS(区分識別子DS)として検索(検出)する手段を設けたことにより、携帯電話14から送信された個人情報データが単件データか全件データであるのかを自動的に認識できる。
(4)携帯電話14の個人情報データはレイアウト定義できないvCard形式で送信されるため、vCard形式でそのまま送信しただけでは所定のレイアウトで印刷することはできない。しかし、レイアウト定義できないvCard形式ファイルデータを、レイアウト定義できるXHTML形式のデータに変換する手段を設けたことにより所望のレイアウトを割り付けてしかもvCardデータのうち個人情報として必要なデータのみを印刷させることができる。
(5)個人情報データが単件か全件かを区別できることにより、単件の場合は名刺テンプレート形式のデータに変換でき、全件の場合には電話帳テンプレート形式のデータに変換できる。つまり、個人情報データが単件、全件を区別するだけで、自動的に適切な印刷レイアウトを決定することができる。そして、個人情報データの単件か全件(複数件)かに応じて適切なレイアウトをそのデータに割り付けて印刷させることができる。
(6)区分識別子を検索する手段を設けたことにより、全件データを受信する際に受信された個人情報データ(件別データ)の件数を計数し、所定件数(本例では1件)受信し終わる度にそこまで受信した所定件数(1件)分のデータを分割して次処理へ送出できる。よって、次の処理部へデータを送出するまでの間、その受信したデータを一時蓄積しておくバッファの容量を少なく済ませることができる。また、次の処理部における処理開始時期を早めることができ、ひいては印刷開始時期を早めプリンタ1のスループット向上に寄与する。
(7)携帯電話14で作成されたデータがプリンタ1に送信され、プリンタ単独で名刺印刷を容易にすることができる。手持ちの名刺がなくなった場合に、携帯電話14のデータをプリンタ1に送るだけで、容易に必要な枚数の名刺を印刷することができる。しかも、携帯電話14で元々個人情報を管理するデータを利用するので、名刺の記載内容を改めて入力する手間もいらない。さらに携帯電話14で扱われるレイアウト定義できないvCard形式のデータをレイアウト定義できるXHTML形式のデータに形式変換するので、一般の名刺どおりのレイアウトで印刷できる。また、名刺テンプレートも複数種用意されているので、所望のレイアウトの名刺を印刷できる。
(8)携帯電話14から受信したデータをプリンタ1が印刷可能なデータに適宜変換するので、携帯電話14から直接プリンタ1にデータを送信して印刷することができる。よって、パーソナルコンピュータ(PC)にデータを送り、PCのデータをメモリカード等の記憶媒体に記憶させ、プリンタ1に読み込んで印刷するよりも容易に素早く印刷することができる。
(第2の実施形態)
次に第2の実施形態について説明する。
この実施形態は、プリンタ1に送信するvCardファイルのメモ領域に記述する情報により印刷パラメータを指定する変形例である。前記第1の実施形態はメモ領域の記述情報により印刷レイアウト指定を行う例であったが、この第2の実施形態は、メモ領域の記述情報を印刷レイアウト指定の替わりに印刷枚数指定などの他の印刷パラメータを設定可能とした例である。本実施形態は、レイアウト指定に替え、あるいはレイアウト指定に更に他の印刷条件を付加して印刷条件指定する例である。
印刷レイアウト指定情報が複数選択できるようになっている。メモ領域の記述内容が印刷パラメータの指定の記述であるか否かの判断は、CPU41が行う。CPU41は予め決められた記述形式であるか否かや、指定に使用される符号等以外の文字情報を含んでいないか否かを、記述内容を解析して判断する。例えば、印刷レイアウト指定の文字は小文字のアルファベットも使用し、複数のレイアウト指定を行う場合には、文字をカンマで区切ることを約束とする。また、印刷枚数の指定を算用数字とし、印刷レイアウトと印刷枚数の両者を決定する場合には、最初に印刷レイアウト指定の情報を入力し、次にセミコロンで区分し、印刷枚数の情報を入力する入力形式に決めておく。このように予め決められた印刷情報の指定方法に関するルールがEEPROM43に記憶してあり、このルールに
基づいてCPU41が解析処理する。指定符号等以外の文字情報を含む場合は、その指定符号が印刷パラメータの指定目的ではなく、本来のメモとしての記述中にたまたま指定符号が含まれていた可能性もあるので、このような場合は指定なしと判断してデフォルトの印刷パラメータを設定する。
図18(a),(b)は、携帯電話14のディスプレイ18に表示された個人情報の一例であり、メモ領域に指定の文字や数字を記述することにより印刷条件を指定できるようになっている。
図18(a)は、印刷レイアウトと印刷枚数をメモ領域で指定した個人情報の一例を示す。メモ欄の記述内容によって印刷条件を指定できる決まりが予め設定されており、複数の印刷パラメータを指定できる。本例では、印刷レイアウトに加え、印刷枚数を指定できる。その指定の決まりは、レイアウトの指定情報と印刷枚数の指定情報をセミコロンで区分して記述する。例えば「a;3」などと情報が入力されていれば、印刷レイアウトは「a」で印刷枚数「3枚」を指定したことになる。このようにメモ領域に指定した個人情報データをプリンタ1へ送信すると、CPU41はvCardファイルのNOTE領域の記述内容を取り出し、その内容を解析して指定に合致した記述、すなわち「a;3」のようにアルファベットと数字がセミコロンで区分された記述を検索する。「アルファベット;数字」をみつけると、さらにその他の情報が記述されていないかをみる。他の情報が記述されていれば、その「アルファベット;数字」の記述は印刷パラメータの指定ではなく、本来のメモとしての使用の記述内容にたまたま「アルファベット;数字」の組合せが含まれていたと判断し、指定なしと判断する。もちろん、特殊記号を付した行は無視するとか、逆に特殊記号を付した行のみ有効として指定を行なう決まりを採用することもできる。例えば複数行に亘り記述され、ある行には特殊記号が記載された後、「アルファベット;数字」が存在する場合は、その特殊記号が先頭にある行は指定として有効となり、指定情報以外の他に文字列がなければ、指定と判断するようにする。こうすれば、メモ領域を本来のメモの記述と印刷パラメータ指定の記述とを共存でき、指定するときにはメモを一時消去しなければならないという不便さはなくなる。
図18(b)は印刷パラメータをメモ欄で3つ指定できる場合の個人情報の一例を示す。印刷レイアウトのテンプレートが複数用意されている場合、1つのデータに対しレイアウトを複数指定して印刷できるようにしている。例えば、1つの単件の個人情報データに対し、図16(a),(b),(c)に示すような3通りの名刺レイアウトのテンプレートPL2〜PL3で名刺を1枚ずつ印刷する。複数のレイアウトを指定する場合は、メモ欄でレイアウト指定符号をカンマ「,」で区切って記述する決まりとし、例えば「a,b,c」のように指定符号をカンマで区分して複数のレイアウトを指定する。もちろん、複数のレイアウトを複数枚ずつ印刷する指定も可能である。例えば最後のカンマの後に記述された符号の次にコロンがあればコロンの後に記述された符号が枚数指定とする決まりとしておき、「a,b,c:5」と記述されていれば、CPU41はa,b,cで指定された3種類のレイアウトで5枚ずつ名刺印刷する指定であると認識する。CPU41は、レイアウトの指定情報(例えば符号)以外の記述を検出した場合は、記述は無効と判断し、「デフォルト」を指定する。
メモ欄に印刷パラメータのうちの1つしか指定できない場合、例えば印刷レイアウトの指定に替え、印刷枚数を指定することもできる。例えばメモ欄に「2」を記述しておくと、その個人情報が記述された名刺が2枚印刷される。この場合、印刷レイアウトは、予めEEPROM43に記憶されているデフォルトの名刺テンプレートを使用する。もちろん、印刷パラメータの幾種かを操作パネル8の操作により指定できるようにしておき、他の一つ又は複数の印刷パラメータをメモ欄の記述により指定する方法も採用できる。例えば枚数指定はメモ欄への記述で指定し、印刷レイアウトは操作パネル8で選択してプリンタ1に直接登録する。また、プリンタ1では用紙として単票紙とロール紙のどちらかを選択可能であるが、この場合、単票紙とロール紙のどちらで印刷するかをメモ欄の記述情報で
指定することも可能である。さらにメモ領域の記述によって、フォントの種類、大きさ(サイズ)を指定することもできる。
vCardファイルのメモ領域の記述により指定する内容及び指定の仕方は予め定められており、CPU41はその定められた指定方法に従ってメモ領域の記述内容( 記述情報) を解析して指定内容を特定する。
以下に第2の実施形態の効果を記載する。
(9)メモ領域に予め決められた指定内容を予め決められた記述方法で記述しておくことで、印刷レイアウト、印刷枚数、印刷用紙、文字情報(フォント、大きさ)等の印刷パラメータを設定することができる。この方法は、メモ領域の入力方法に約束事を決めておけばよいので、新規に指定用の入力欄などを追加する必要がない。また、アルファベットや数字など簡易な符号を使用するので、印刷パラメータを簡単に指定できる。例えば印刷レイアウトの種類の設定にはアルファベットの小文字を使用し、印刷枚数の決定には算用数字を使用する等である。
(第3の実施形態)
次に第3の実施形態を図19及び図20に基づいて説明する。
この実施形態は、全件データについても、メモ領域の記述情報によってレイアウトを指定できる例である。EEPROM43にはさらに図19に示すテンプレートPL11が記憶されている。このテンプレートPL11は、全件データに含まれる各個人情報の名刺を1枚ずつ配置したレイアウトで印刷するためのテンプレートである。
図20は、IrDAプロファイル部74でのデータの処理を示すフローチャートである。前記第1の実施形態における図17のフローチャートと基本的に同じであるが、全件データについてもNOTE領域の記述内容を解析して指定されたテンプレートを特定する。
同図において、S500〜S540,S560〜S590の各処理は、図17におけるS200〜S240,S260〜S290の各処理と同様の処理を行う。S550の処理が第1の実施形態と異なっている。
S550では、全件データ中の1件目の個人情報のNOTE領域を解析し、その解析結果に応じたテンプレートを指定する。例えばプリンタ1の取扱説明書には、全件印刷用のレイアウトとして、図16(d)の電話帳テンプレートPL10、図19の名刺レイアウトのテンプレートPL11を含む複数種のレイアウト図が記載され、それぞれを指定するときの番号が対応付けて記載されている。そして、例えば全件中の中で一番登録番号の若い1件目の個人情報中のNOTE領域にレイアウトを指定する番号を記述するよう決められている。ユーザは全件データを印刷するときにその中で登録番号の一番若い個人情報のメモ欄に、指定したいレイアウトの番号を入力する。その結果、携帯電話14から送信したデータにはその1件目の個人情報中のプロパティ「NOTE」の値として、その指定されば番号、例えば「11」が記述されている。番号「11」を解析して取得すると、CPU41はその番号「11」に対応する複数件用名刺レイアウトのテンプレートを指定する。
そして、S570では、テンプレート記憶部86からその指定されたテンプレートPL11を読み出す。こうして全件データ中の各個人情報データが図19に示すテンプレートPL11中の名刺レイアウト(各レイアウト枠)に1件ずつ流し込まれ、名刺レイアウト付きのXHTMLデータが作成される(S580)。その後、ラスタ処理(S590)が施され、さらに印刷データに変換され、プリントエンジン77によってその印刷データに基づき印刷処理が行われることにより、複数件の個人情報が図19に示す名刺レイアウトで印刷される。
以下、第3の実施形態の効果を記載する。
(10)全件データについてもメモ領域でレイアウト指定できるので、複数件の個人情報を所望のレイアウトで印刷できる。例えば全件の個人情報を使って全員又はグループ所属員の名刺を印刷したいとき、1件ずつデータを送信する必要がなく、携帯電話14から直接印刷する際の手間を省くことができる。
実施の形態は、上記に限定されず、以下のように変更することができる。
(変形例1)メモ領域の記述情報を用いて、フォントの種類、大きさを指定できるようにしてもよい。また、ロール紙で印刷を行う場合、ロール紙のカット方法を選択できるようにしてもよい。例えば、名刺レイアウトで印刷する場合、単件データ毎にカットするか(通常状態)、所定の件数を印刷してから所定件数毎にカットするかそのカット方法を、メモ領域の記述情報に基づき指定できるように規則を定め、これをプリンタ1に登録しておく。
(変形例2)さらにロール紙を選択して、名刺レイアウトあるいは電話帳レイアウトで印刷処理をしたとき、その印刷のレイアウト形態に合わせて自動的にロール紙をカットする指定を、メモ領域の記述情報に基づいて行えるようにしてもよい。
(変形例3)前記実施形態では、名刺で説明したが、テレフォンカード、銀行カード、社員カード等のカード状のものであれば同様に印刷できる。実施形態では、顔写真で説明したが、会社のロゴマーク、または、活動を象徴するマーク、または、写真等の画像データであってもよい。
(変形例4)vCardデータに画像データを添付できるデータ構造を採用し、プリンタ1のEEPROM43に画像のレイアウト枠を有するテンプレートデータを用意しておく。vCardデータに含まれる画像データのレイアウトを、メモ領域の情報で指定する。テキストデータと画像データのどちらか一方、あるいは両方を割り付けできるテンプレートデータを用意しておけば、テキストデータと画像データのどちらか一方、あるいは両方を割り付けたレイアウトで印刷できる。また、データはvCardデータに限らずvNoteデータでもよい。例えばvNoteデータのメモ領域に指定情報を記述して出力パラメータを指定する方法を採用することもできる。
(変形例5)CF型通信カード13を介した赤外線通信でデータを受信する構成に限定されない。例えば本体2にIrDA通信モジュールが内蔵されたプリンタに適用できる。また、赤外線通信以外の無線通信でデータを受信する構成において適用しても構わない。さらに無線通信に限らず通信ケーブル等を用いた有線による通信でデータを受信する構成において適用しても構わない。
(変形例6)出力装置は印刷装置(プリンタ)に限定されない。例えばプロジェクタ等の表示装置に適用してもよい。携帯電話14からデータを表示装置に送信し、そのデータに基づき個人情報を所定のレイアウトを付して表示装置に表示させる。
(変形例7)出力パラメータを決定するうえで解読されるデータ中の前記記述内容は、データのメモ領域の記述情報に限定されない。例えば、携帯端末側に印刷情報を指定する操作ボタン等の指定手段(入力部)が備えられ、データ送信時あるいは事前にこの操作手段を操作することによって、出力パラメータ(印刷情報)を決定するうえで解読されるべき記述内容をデータに書き込む構成とする。この記述内容をデータに書き込む処理は、携帯電話側に、操作手段の操作に応じて指定された印刷情報(記述内容)をデータに書き込むプログラムを組み込むことによって実現される。具体的には、例えば携帯端末から受信部にデータを送信する際に、携帯端末の所定のボタンを押す等の操作を行ってから送信することによって、その送信データにはその操作されたボタンに対応するレイアウトの記述内容が書き込まれ、出力装置(プリンタ)側ではその受信したデータ中の記述内容を解読することで決定されたレイアウトに応じてデータの内容を出力(印刷)する。
前記各実施形態及び変形例から把握される技術的思想を以下に記載する。
(1)請求項1〜5のいずれか一項において、前記データの記述内容は、複数の指定情報群を含み、前記複数の指定情報群によって複数の出力パラメータを指定することを特徴とする出力装置。これによれば、複数の指定情報群によって複数の出力パラメータを指定できるので、携帯端末から指定できる出力条件の自由度が増す。
(2)請求項1〜3,6〜10のいずれか一項において、前記出力手段は前記データに基づき印刷処理を行う印刷手段である。
(3)請求項1〜3,6〜10のいずれか一項において、前記出力手段は前記データに基づき表示処理を行う表示手段である。
(4)出力装置本体に設けられたスロットに挿抜可能に挿着される無線通信器を備え、前記受信部は前記無線通信器を介してデータを受信することを特徴とする出力装置。
(5)請求項8において、前記名刺レイアウトデータを複数種記憶する記憶部を備え、前記レイアウト決定手段は前記指定情報に応じた名刺レイアウトデータを読み出し、前記出力手段は、前記名刺レイアウトデータを用いて前記データに基づく出力処理を行うことを特徴とする出力装置。これによれば、データに指定情報を記述することで複数の名刺レイアウトの中から所望のものを指定できる。
(6)請求項6〜8のいずれか一項において、前記データはレイアウト定義できないデータ形式であり、前記変換処理部は、前記レイアウト定義できないデータ形式のデータを前記レイアウトデータを用いてレイアウト付きデータに変換することを特徴とする出力装置。これによれば、携帯端末から送信されるデータがレイアウト定義できない形式のデータであっても、そのデータの内容を出力装置からレイアウトを付けて出力させることが可能となる。
1…出力処理システムを構成するとともに出力装置及び印刷装置としてのプリンタ、2…出力装置本体としての本体、12…スロットとしてのカードスロット、13…出力処理システムを構成するとともに無線通信器としてのCFカード型赤外線通信カード(赤外線通信カード)、13a…赤外線受発光部(通信カード側の通信ポート)、14…携帯端末としての携帯電話、15…入力部としての操作ボタン、20…赤外線受発光部(携帯電話側の通信ポート)、41…解読手段を構成するCPU、43…記憶部としてのEEPROM、45e…受信部としてのスロット通信部、46…出力手段を構成するASIC、73…第2転送手段としてのデータトランスファー部、76…出力手段及び印刷手段を構成する画像データラスタ処理部、83…解読手段としてのノート解析部、85…出力手段及び印刷手段を構成するとともに出力条件決定手段、レイアウト決定手段及び変換処理部としてのテキストデータ形式変換部、86…記憶部としてのテンプレート記憶部、87…出力手段及び印刷手段を構成する画像データデコード部、PL1〜PL4…名刺レイアウト。