(57)【要約】【課題】無線通信の場合でも、高画質の印刷を行う印刷装置を提供する。【解決手段】無線通信により画像データが入力されて、前記画像データの印刷を行う印刷装置において、前記印刷装置の画像処理能力を求めるコマンドが前記無線通信で入力されたとき、少なくとも画質及び／又は用紙サイズに基づいて、前記コマンドに対する応答コマンドを作成して前記無線通信により出力する通信手段と、前記通信処理手段で出力された前記応答コマンドに対応する前記画像データが前記無線通信により入力されて、前記画像データの印刷を行う印刷手段と、を有することを特徴としている。【選択図】図３
2004272675.tif 000002
【特許請求の範囲】
【請求項１】
無線通信により画像データが入力されて、前記画像データの印刷を行う印刷装置において、
前記印刷装置の画像処理能力を求めるコマンドが前記無線通信で入力されたとき、少なくとも画質及び／又は用紙サイズに基づいて、前記コマンドに対する応答コマンドを作成して前記無線通信により出力する通信手段と、
前記通信処理手段で出力された前記応答コマンドに対応する前記画像データが前記無線通信により入力されて、前記画像データの印刷を行う印刷手段と、
を有することを特徴とする印刷装置。
【請求項２】
前記応答コマンドは、前記印刷装置で画像処理することのできる画像の符号化情報及び／又はデータ量に関する情報を含むことを特徴とする請求項１記載の印刷装置。
【請求項３】
前記画像処理能力を求めるコマンドは、ＧｅｔＣａｐａｂｉｌｉｔｉｅｓコマンドであることを特徴とする請求項１記載の印刷装置。
【請求項４】
無線通信により画像データが入力されて、前記画像データを印刷する印刷装置において、
少なくとも画質及び／又は用紙サイズと、前記印刷装置で画像処理することのできる画像の符号化情報及び／又はデータ量とから構成されるテーブルを記憶する記憶手段と、
前記印刷装置の画像処理能力を求めるコマンドが前記無線通信で入力されたとき、予め設定された前記画質及び／又は用紙サイズから前記記憶手段に記憶されたテーブルの対応する前記符号化情報及び／又はデータ量を選択して、当該符号化情報及び／又はデータ量に関する情報を含む、前記コマンドに対する応答コマンドを作成して出力する通信手段と、
前記通信手段で出力された前記応答コマンドに対応する前記画像データが前記無線通信により入力されて、前記画像データの印刷を行う印刷手段と、
を有することを特徴とする印刷装置。
【請求項５】
無線通信により画像データが入力されて、前記画像データを印刷する印刷装置において、
少なくとも画質及び／又は用紙サイズから前記印刷装置で画像処理することのできる画像の符号化情報及び／又はデータ量を求める計算式を記憶する記憶手段と、
前記印刷装置の画像処理能力を求めるコマンドが前記無線通信で入力されたとき、予め設定された前記画質及び／又は用紙サイズから前記記憶手段に記憶された計算式から前記符号化情報及び／又はデータ量を求めて、当該符号化情報及び／又はデータ量に関する情報を含む、前記コマンドに対する応答コマンドを作成して前記無線通信により出力する通信手段と、
前記通信手段で出力された前記応答コマンドに対応する前記画像データが前記無線通信により入力されて、前記画像データの印刷を行う印刷手段と、
を有することを特徴とする印刷装置。
【請求項６】
無線通信により画像データが入力されて、前記画像データの印刷を行う印刷方法において、
印刷装置の画像処理能力を求めるコマンドが前記無線通信で入力されたとき、少なくとも画質及び／又は用紙サイズに基づいて、前記コマンドに対する応答コマンドを作成して前記無線通信により出力する第１のステップと、
前記第１のステップで出力された前記応答コマンドに対応する前記画像データが前記無線通信により入力されて、前記画像データの印刷を行う第２のステップと、
を有することを特徴とする印刷方法。
【請求項７】
ブルートゥースの通信プロトコルによるＧｅｔＣａｐａｂｉｌｉｔｉｅｓコマンドが入力されたとき、入力された画質及び／又は用紙サイズの情報から符号化情報及び／又はデータ量を求める第１の処理と、
前記第１の処理から求めた前記符号化情報及び／又はデータ量を含む、前記ＧｅｔＣａｐａｂｉｌｉｔｉｅｓコマンドに対する応答コマンドを作成して出力する第２の処理と
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データの送受信を無線により行う印刷装置、及びその印刷方法に関する。詳しくは、ブルートゥースの規格により送信するデータの最適化を行う印刷装置、及びその印刷方法に関する。
【０００２】
【従来の技術】
従来から、プリンタはパーソナルコンピュータとＵＳＢバスやＲＳ−２３２Ｃなどの所定のケーブルと接続されて、パソコンのハードディスクなどに格納された画像データや文字データを印刷することが行われている。しかし、機器接続のためケーブルの配線を行わなければならず、パソコンやプリンタの数などが多くなるとそれに比例して配線が複雑になる。そこで、最近、無線により機器同士を接続し、パソコンから無線通信で送信されたデータをプリンタ側で受信して印刷することが行われるようになった。このような無線通信の規格として、ブルートゥースがある。
【０００３】
ブルートゥースは、比較的近距離の無線通信であって、これを利用することで、例えば家庭内においてデジタルカメラとプリンタとをＵＳＢなどのケーブルで直接接続することなく、デジタルカメラの画像をプリンタで印刷することが可能となる。
【０００４】
一方、ブルートゥースは、様々なプロファイルと呼ばれるデータ送受信のための各種規格から成り立っており、有線のデータ通信とは異なり、各プロファイルによって伝送できるデータの種類、大きさなどの情報伝送に制約がある。これは、例えば伝送できるデータ量を少なくすることで、データを伝送する時間を短くする等、様々な理由からである。例えば、画像を伝送するためのプロファイルとしては、ＢＩＰ（Ｂａｓｉｃ  Ｉｍａｇｉｎｇ  Ｐｒｏｆｉｌｅ：非特許文献１）がある。
【０００５】
このＢＩＰでは、ホスト（例えばパーソナルコンピュータ）とクライアント（例えばプリンタ）で互いに接続を確立した後、ホストからの要求により、クライアントは印刷に関する自己の能力を示すデータを送信している。具体的には、プリンタは、画像の符号化（エンコード）の種類（ＧＩＦ、ＢＭＰ、ＪＰＥＧなど）、及びサイズ（縦と横のピクセル数、バイト数等で表されたデータサイズ）をデジタルカメラに送信している。このデータに基づいてホスト側で画像を出力するためである。
【０００６】
【非特許文献１】Ｔｅｔｓｕｏ  Ａｒａｉ、外２２名、“ＢＡＳＩＣ  ＩＭＡＧＩＮＧ  ＰＲＯＦＩＬＥ  （  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）”、［平成１５年２月２０日検索］、インターネット＜ＵＲＬ  ：ｈｔｔｐｓ：／／ｗｗｗ．ｂｌｕｅｔｏｏｔｈ．ｏｒｇ／ｄｏｃｍａｎ２／ＶｉｅｗＣａｔｅｇｏｒｙ．ｐｈｐ？ｇｒｏｕｐ＿ｉｄ＝５３＆ｃａｔｅｇｏｒｙ＿ｉｄ＝２１４＞
【０００７】
【発明が解決しようとする課題】
しかしながら、ブルートゥースにおけるＢＩＰでは、かかるエンコードの種類とサイズに関するデータのみしかホスト側に転送することができない。ホスト側は、このデータに基づいて画像データをクライアント側に送信するだけであり、例えば、Ａ４サイズやはがきサイズなど所定の用紙サイズで印刷したい場合や、きれいに印刷したいなど所定の画質で印刷したい場合に、プリンタはホストであるパーソナルコンピュータにこのような要求をすることができない。そのため、プリンタ本来の高画質の印刷を行うことができなかった。
【０００８】
そこで、本発明は上記問題点に鑑みてなされたものであって、その目的は、無線通信の場合でも、高画質の印刷を行う印刷装置を提供することにある。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、本発明は、無線通信により画像データが入力されて、画像データの印刷を行う印刷装置において、印刷装置の画像処理能力を求めるコマンドが無線通信で入力されたとき、少なくとも画質及び／又は用紙サイズに基づいて、コマンドに対する応答コマンドを作成して無線通信により出力する通信手段と、通信処理手段で出力された応答コマンドに対応する画像データが無線通信により入力されて、画像データの印刷を行う印刷手段と、を有することを特徴としている。
【００１０】
さらに、本発明は、上記印刷装置において、この応答コマンドは、印刷装置で画像処理することのできる画像の符号化情報及び／又はデータ量に関する情報を含むことを特徴としている。これにより、通信規格に沿った応答コマンドであって、前記画質及び／又は用紙サイズにあう最適な画像データが印刷装置に入力されるので、印刷装置の本来有する高画質の印刷を行うことができる。
【００１１】
さらに、本発明は、上記印刷装置において、前記画像処理能力を求めるコマンドはＧｅｔＣａｐａｂｉｌｉｔｉｅｓコマンドであることを特徴としている。これにより、ブルートゥースにおけるＧｅｔＣａｐａｂｉｌｉｔｉｅｓコマンドに対する応答コマンドは、ブルートゥースの通信プロトコルに沿ったコマンドであって、その応答コマンドに対応する画像データが入力されるので、印刷装置の画質及び／又は用紙サイズにあう、高画質の印刷を行うことができる。
【００１２】
また、上記目的を達成するために、本発明は、無線通信により画像データが入力されて、前記画像データを印刷する印刷装置において、少なくとも画質及び／又は用紙サイズと、印刷装置で画像処理することのできる画像の符号化情報及び／又はデータ量とから構成されるテーブルを記憶する記憶手段と、印刷装置の画像処理能力を求めるコマンドが無線通信で入力されたとき予め設定された画質及び／又は用紙サイズから記憶手段に記憶されたテーブルの対応する符号化情報及び／又はデータ量を選択して当該符号化情報及び／又はデータ量に関する情報を含む、上記コマンドに対する応答コマンドを作成して出力する通信手段と、通信手段で出力された応答コマンドに対応する前記画像データが無線通信により入力されて、画像データの印刷を行う印刷手段と、を有することを特徴としている。
【００１３】
また、上記目的を達成するために、本発明は、無線通信により画像データが入力されて画像データを印刷する印刷装置において、少なくとも画質及び／又は用紙サイズから印刷装置で画像処理することのできる画像の符号化情報及び／又はデータ量を求める計算式を記憶する記憶手段と、印刷装置の画像処理能力を求めるコマンドが無線通信で入力されたとき予め設定された画質及び／又は用紙サイズから記憶手段に記憶された計算式から符号化情報及び／又はデータ量を求めて、当該符号化情報及び／又はデータ量に関する情報を含む、上記コマンドに対する応答コマンドを作成して無線通信により出力する通信手段と、通信手段で出力された応答コマンドに対応する画像データが無線通信により入力されて、画像データの印刷を行う印刷手段と、を有することを特徴としている。
【００１４】
また、上記目的を達成するために無線通信により画像データが入力されて画像データの印刷を行う印刷方法において、印刷装置の画像処理能力を求めるコマンドが無線通信で入力されたとき、少なくとも画質及び／又は用紙サイズに基づいて、コマンドに対する応答コマンドを作成して無線通信により出力する第１のステップと、第１のステップで出力された応答コマンドに対応する画像データが無線通信により入力されて画像データの印刷を行う第２のステップと、を有することを特徴としている。
【００１５】
さらに、上記目的を達成するために、本発明は、ブルートゥースの通信プロトコルによるＧｅｔＣａｐａｂｉｌｉｔｉｅｓコマンドが入力されたとき、入力された画質及び／又は用紙サイズの情報から符号化情報及び／又はデータ量を求める第１の処理と、第１の処理から求めた符号化情報及び／又はデータ量を含む、ＧｅｔＣａｐａｂｉｌｉｔｉｅｓコマンドに対する応答コマンドを作成して出力する第２の処理とをコンピュータに実行させるためのプログラムであることを特徴としている。
【００１６】
【発明の実施の形態】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００１７】
図１は、本発明が適用されるホスト（パーソナルコンピュータ）１とプリンタ１０の内部構成を示す図である。
【００１８】
まず、ホスト１の内部構成から説明する。ホスト１は、全体として、ＣＰＵ２と、ＲＡＭ３と、インターフェース（Ｉ／Ｆ）４と、ハードディスクドライブ（ＨＤＤ）５と、表示部６、及びＲＯＭ７とから構成される。
【００１９】
ＣＰＵ２は、バスを介してＲＡＭ３、Ｉ／Ｆ４、ＨＤＤ５、表示部６、及びＲＯＭ７とそれぞれ接続され、ＲＯＭ７に格納されたプログラムを読み出して各種処理を実行する。また、ＣＰＵ２は、Ｉ／Ｆ４を介して外部から入力されたブルートゥースのコマンドを解釈して、ＨＤＤ５からデータを読み出したり、Ｉ／Ｆ１３からそのコマンドに対する応答などを外部に出力させるためＩ／Ｆ１３を制御したりする。詳細は後述する。
【００２０】
ＲＡＭ３は、ＣＰＵ２によってプログラムが実行された場合に、データなどを一時的に格納するためのもので、ワーキングメモリとしての役割を果たす。
【００２１】
Ｉ／Ｆ４は、本発明においてはブルートゥースによって無線接続された外部機器とのインターフェースとなる。Ｉ／Ｆ４では、ＣＰＵ２の制御によりブルートゥースの規格に沿うコマンドが作成されて外部機器に出力するとともに、外部機器から出力されたブルートゥースの規格に沿うコマンドが入力されて、コマンドの内容に関するデータやそのコマンドに付随したデータをＣＰＵ２に出力するようになされている。なお、Ｉ／Ｆ４内でＣＰＵやＲＯＭ、ＲＡＭを有し、ＣＰＵ２からの制御命令によりブルートゥースのコマンドを作成して出力したり、そのコマンドが入力された内容を解釈してＣＰＵ２に出力するように構成することもできる。
【００２２】
ＨＤＤ５は、記憶装置としてプリンタ１０で印刷すべき画像データなどが記憶されている。ＣＰＵ２の制御によりそのデータが読み出され、Ｉ／Ｆ４に出力され、例えば外部機器としてのプリンタ１０に出力されるようになされている。
【００２３】
表示部６は、ＣＰＵ２の制御により、ＨＤＤ５に記憶された画像データなどを表示や、ＲＯＭ７に格納されたプログラムの実行後の内容の表示を行うようになされている。
【００２４】
ＲＯＭ７は、ＣＰＵ２によって実行される各種プログラムなどが格納されている。
【００２５】
次にプリンタ１０の内部構成を説明する。プリンタ１０は、ＣＰＵ１１と、ＲＡＭ１２と、Ｉ／Ｆ１３と、コントロールパネル１４と、印刷ユニット１５とから構成される。
【００２６】
ＣＰＵ１１は、バスを介してＲＡＭ１２と、Ｉ／Ｆ１３と、コントロールパネル１４と印刷ユニット、及びＲＯＭ１６とそれぞれ接続されている。ＣＰＵ１１は、ＲＯＭ１６に格納されたプログラムなどを読み出して各種処理を実行し、Ｉ／Ｆ１３やコントロールパネル１４、及び印刷ユニット１５を制御する。また、ＣＰＵ１１は、Ｉ／Ｆ１３を介して外部から入力されたブルートゥースのコマンドを解釈して、印刷ユニット１５を制御したり、Ｉ／Ｆ１３を制御する。詳細は後述する。
【００２７】
ＲＡＭ１２は、ＣＰＵ１１よってプログラムが実行された場合に、データなどを一時的に格納するためのもので、ワーキングメモリとしての役割を果たす。
【００２８】
Ｉ／Ｆ１３は、本発明においてはブルートゥースによって無線接続された外部機器とのインターフェースとなる。Ｉ／Ｆ１３では、ＣＰＵ１１の制御によりブルートゥースの規格に沿うコマンドが作成されて外部機器としてのホスト１に出力するとともに、ホスト１から出力されたブルートゥースの規格に沿うコマンドが入力されて、コマンドの内容に関するデータやそのコマンドに付随したデータをＣＰＵ１１に出力するようになされている。なお、Ｉ／Ｆ１３内でＣＰＵやＲＯＭ、ＲＡＭを有し、ＣＰＵ１１からの制御命令によりブルートゥースのコマンドを作成して出力したり、そのコマンドが入力された内容を解釈してＣＰＵ１１に出力するように構成することもできる。
【００２９】
コントロールパネル１４は、プリンタ１０内における印刷用紙や、印刷スピード、画質などの設定を行うもので、ユーザーがパネル１４に表示された設定のための画面を見て各種設定を行うことができる。設定されたデータは、ＲＡＭ１２に格納される。
【００３０】
印刷ユニット１５は、実際に印刷用紙に印刷を行うためのユニットであり、例えば用紙を移動させる給紙モータ、インクカートリッジ、カートリッジからインクを吐出させる印刷ヘッド、印刷ヘッドを印字位置まで移動させるキャリッジモータなどから構成される。なお、Ｉ／Ｆ１３から入力された印刷対象の画像データは一旦ＲＡＭ１２に格納される。そして、格納された画像データは、ＣＰＵ１１、ＲＡＭ１２、及びＲＯＭ１６によって、解像度変換処理、色補正処理、及びハーフトーン処理が行われ、印刷データとしてＲＡＭ１２に記憶される。この印刷データがＣＰＵ１１の制御により印刷ユニット１５に出力され、実際に印刷用紙に入力された画像データの印刷が行われる。もちろん、ホスト１側で画像データに対する解像度変換処理、色補正処理、ハーフトーン処理を行って印刷データとしてプリンタ１０側に出力されるようにしてもよい。かかる処理は、この場合ホスト１おＣＰＵ２、ＲＡＭ３及びＲＯＭ７によって実行されることになる。
【００３１】
ＲＯＭ１６は、ＣＰＵ１１によって実行される、各種プログラムが格納される。
【００３２】
次に、ブルートゥースによる無線通信が行われる場合のホストとプリンタ１０の動作について図２を参照して説明する。
【００３３】
まずホスト１は、Ｉｎｑｕｉｒｙコマンドを出力する（ステップＳ１）。これは、ホスト１による接続要求のためのコマンドで、ホスト１のアドレスがＩｎｑｕｉｒｙコマンドに格納される。これは、ホスト１がブルートゥースによる通信を行いたい場合に、通信を受信できる様々な機器のうちホスト１と実際に通信を行う機器はどの機器なのか、ホスト１と接続を希望する機器はどの機器なのかを確認するためのコマンドである。具体的には、ホスト１のＣＰＵ２は、電源投入或いは図示しな操作手段による操作により、ＲＯＭ７に格納されたブルートゥースによる通信を行うためのプログラムが実行され、ＲＯＭ７に格納されたホスト自身のアドレスを読み出して、Ｉ／Ｆ４に出力し、ＣＰＵ２はＩ／Ｆ４を制御して、Ｉ／Ｆ４からこのアドレスを含むＩｎｑｕｉｒｙコマンドを作成させ出力するようになされている。
【００３４】
次いで、プリンタ１０は、このＩｎｑｕｉｒｙコマンドを受信し、ホスト側１と接続を行いたい場合には、そのＩｎｑｕｉｒｙコマンドに対するＲｅｓｐｏｎｎｓｅコマンドをホスト１に出力する（ステップＳ２）。上述したようにホスト１は、Ｉｎｑｕｉｒｙコマンドを出力するものの実際にどの機器と通信を行うかは通信相手側からの応答を待たなければわからない。このコマンドに対する応答をプリンタ１０が行うことでホスト１と通信受信範囲内にある機器のうちプリンタ１０が通信を行う旨を表明するのである。プリンタ１０が行う具体的な処理は、プリンタ１０がこのＩｎｑｕｉｒｙコマンドを受信できる範囲内で電源投入或いはブルートゥースによる通信可能な状態になると、Ｉｎｑｕｉｒｙコマンドをプリンタ１０のＩ／Ｆ１３が受信する。Ｉ／Ｆ１３は、Ｉｎｑｕｉｒｙコマンドの受信を示す制御信号をＣＰＵ１１に出力し、ＣＰＵ１１はホスト１と通信を行いたい場合にその応答を示すＲｅｓｐｏｎｓｅコマンドの作成をＩ／Ｆ１３に指示する。また、Ｉｎｑｕｉｒｙコマンドとともに入力されたホスト１のアドレスもＩ／Ｆ１３から出力されＣＰＵ１１の制御によりＲＡＭ１２に格納される。そして、ＲＯＭ１６に格納されたプリンタ１０自身のアドレスもＣＰＵ１１の制御により読み出され、Ｒｅｓｐｏｎｓｅコマンドとともに出力されるようＩ／Ｆ１３に指示する。Ｒｅｓｐｏｎｓｅ作成指示とプリンタ１０のアドレスを受けたＩ／Ｆ１３は、ブルートゥースの規格に沿うＲｅｓｐｏｎｓｅコマンドを作成して、ホスト１に出力する。
【００３５】
プリンタ１０からＲｅｓｐｏｎｓｅコマンドを受信したホスト１は、プリンタ１０に対して通信相手先が誰であるか、どのようなプロファイルによる通信が可能なのか等を示すＳＤＰコマンドを出力する（ステップＳ２３）。ホスト１は、プリンタ１０から自身の出力したＩｎｑｕｉｒｙコマンドに対するＲｅｓｐｏｎｓｅを受信することで、そのアドレスを有する機器とのブルートゥースによる通信接続を行うことができるようになる。しかし、Ｒｅｓｐｏｎｓｅにはアドレスに関する情報のみで通信相手先がプリンタなのか、デジタルカメラなのか、携帯電話であるのか、さらにブルートゥースによる通信が可能であるとしても具体的にどのようなプロファイルによる通信が可能なのかわからない。そこで、このＳＤＰコマンドを、Ｒｅｓｐｏｎｓｅコマンドを出力した機器に出力することで確認するのである。具体的な処理は、ＲｅｓｐｏｎｓｅコマンドをＩ／Ｆ４が受信するとＩ／Ｆ４はそのコマンドを受信したことを示す制御信号をＣＰＵ２に出力し、Ｒｅｓｐｏｎｓｅコマンドに含まれるプリンタ１０のアドレスはＣＰＵ２の制御によりＲＡＭ３に出力され一旦格納される。そして、ＣＰＵ２は、上述のＳＤＰコマンド作成のための指示をＩ／Ｆ４に出力し、Ｉ／Ｆ４からＳＤＰコマンドが出力される。
【００３６】
次いで、ＳＤＰコマンドを受信したプリンタ１０は、そのコマンドに対するＲｅｓｐｏｎｓｅを出力する（ステップＳ４）。このコマンドに対して応答するために、ＣＰＵ１１は、プリンタであることに関する情報、例えば、自身がプリンタであることや、プリンタの名称、型番等、さらにブルートゥースのどのプロファイルで通信できるかに関する情報、例えばＢＩＰ（Ｂａｓｉｃ  Ｉｍａｇｉｎｇ  Ｐｒｏｆｉｌｅ）が予めＲＯＭ１６に格納されているので、ＲＯＭ１６からこれらの情報を読出し、Ｉ／Ｆ１３に出力する。また、ＣＰＵ１１は、ＳＤＰコマンドに対する応答を示すＲｅｓｐｏｎｓｅコマンド作成のための指示をＩ／Ｆ１３に行う。これにより、Ｉ／Ｆ１３からは、ＳＤＰに対するＲｅｓｐｏｎｓｅをホスト１に出力することができる。
【００３７】
このコマンドを受信したホスト１は、次いで、Ｏｐｅｎ  Ｄａｔａ  Ｃｈａｎｎｅｌコマンドを出力する（ステップＳ５）。このコマンドは、例えばプリンタ１０側のＩ／Ｆ１３にブルートゥースの通信を行うためのチャンネルが複数ある場合に具体的にどのチャンネルを使用して以後通信を行うのかを問い合わせるためのコマンドである。そして以後、ホスト１からのコマンドはこのチャンネル番号を用いて相手先（図１の例はプリンタ１０）のそのチャンネルに送信することが可能となる。具体的な処理は、ＳＤＰコマンドに対するＲｅｓｐｏｎｓｅを受信したホスト１のＩ／Ｆ４は、その受信を示す制御信号をＣＰＵ２に出力する。また、Ｒｅｓｐｏｎｓｅに含まれるプリンタに関する情報とプロファイルに関する情報（ここではＢＩＰ）はＣＰＵ２の制御によりＲＡＭ３に格納される。そして、ＣＰＵ２は、Ｏｐｅｎ  Ｄａｔａ  Ｃｈａｎｎｅｌコマンド作成のための指示をＩ／Ｆ４に対して行い、Ｉ／Ｆ４からＯｐｅｎ  Ｄａｔａ  Ｃｈａｎｎｅｌコマンド出力する。
【００３８】
このコマンドを受信したプリンタ１０は、具体的にどのチャンネルを使用するかの情報を含むＳｕｃｃｅｓｓコマンドを出力する（ステップＳ６）。例えば使用するチャンネルに関する情報（チャンネル１を使用する場合は“１”など）がＲＯＭ１６やＩ／Ｆ１３の図示しないメモリに格納されており、ＣＰＵ１１はこの情報を読出し、Ｓｕｃｃｅｓｓコマンドの作成を指示する制御信号をＩ／Ｆ１３に出力することで、Ｉ／Ｆ１３からその情報を含むＳｕｃｃｅｓｓコマンドが出力される。
【００３９】
このコマンドを受信したホスト１は、次いで、Ｇｅｔ  Ｃａｐａｂｉｒｉｔｉｅｓコマンドを出力する（ステップＳ７）。通信相手先の画像処理の能力を確認するためのコマンドで、具体的には、画像を処理することのできる符号化に関する情報（エンコード情報）と、画像を処理することのできるデータ量に関する情報を（データサイズ情報）確認するためのコマンドである。このコマンドに対するＲｅｓｐｏｎｓｅを受信することで、相手先のエンコード情報及びサイズ情報を知ることができる。そして、ホスト１はその情報をもとにその後画像データをプリンタ１０に送信するのである。具体的な処理は、上述のＳｕｃｃｅｓｓコマンドをホスト１のＩ／Ｆ４を受信すると、その情報がＣＰＵ２に出力され、ＣＰＵ２はＧｅｔ  Ｃａｐａｂｉｒｉｔｉｅｓコマンドを作成するための指示をＩ／Ｆ４に出力し、Ｉ／Ｆ４からＧｅｔ  Ｃａｐａｂｉｒｉｔｉｅｓコマンドが出力される。
【００４０】
このコマンドを受信したプリンタ１０は、上述したエンコード及びデータサイズに関する情報をＲｅｓｐｏｎｓｅコマンドに含めて出力することになる（ステップＳ８）。具体的にエンコード関する情報とは、ＧＩＦの画像を印刷することができるのか、ビットマップ（ＢＭＰ）の画像を印刷することができるのか、ＪＰＥＧの画像を印刷することができるのか、に関する情報で、Ｒｅｓｐｏｎｓｅコマンドに“ＧＩＦ”、“ＢＭＰ”、“ＪＰＥＧ”を含めてホスト１に出力する。また、データサイズに関する情報とは、ピクセル数（縦、横それぞれ１００画素の画像を処理できるのであれば“１００＊１００”など）、とデータサイズ（画像データのデータサイズで１Ｍバイトを処理できるのであれば“１Ｍ  Ｂｙｔｅｓ”など）に関する情報で、Ｒｅｓｐｏｎｓｅコマンドに“１００＊１００”や“１Ｍ  Ｂｙｔｅｓ”を含めて出力することができる。
【００４１】
しかし、ホスト１からのＧｅｔ  Ｃａｐａｂｉｒｉｔｉｅｓコマンドに対するＲｅｓｐｏｎｓｅとしてプリンタ１０が返す情報は、このエンコードとサイズに関する情報のみである。この情報をもとにホスト１は、画像データをプリンタ１０に出力する。本来プリンタ１０には、画質や紙サイズなどの情報からその用紙にあった最適な高画質の印刷を行うことができるはずである。単にエンコード及びサイズに関する情報を返すのみでは、プリンタ１０の持っている能力を生かした印刷を行うことができない。画質や紙サイズを考慮したＲｅｓｐｏｎｓｅを返すことができれば、プリンタ１０の能力を生かした高画質印刷を行うことができるはずである。以下、そのプリンタ１０の動作について図３から８を参照して説明する。
【００４２】
図３は、Ｇｅｔ  Ｃａｐａｂｉｒｉｔｉｅｓコマンドを受信したプリンタ１０のＣＰＵ１１の動作を示すフローチャートである。
【００４３】
ＣＰＵ１１は、Ｉ／Ｆ１３がＧｅｔ  Ｃａｐａｂｉｒｉｔｉｅｓコマンドを受信するとその受信を示す制御信号が入力されて図３に示す動作が開始される（ステップＳ７０）。この処理の開始は、ＲＯＭ１６に格納された一連の処理を行うためのプログラムをＣＰＵ１１が読み出すことで実行される。
【００４４】
処理が開始されるとＣＰＵ１１は、次いでプリンタの設定に関する情報を取得する（ステップＳ７１）。プリンタの設定に関する情報とは、コントロールパネル１４でのユーザーの所定の操作により設定された印刷処理のための情報で、紙サイズ（Ａ４サイズ、はがきサイズなど）や画質（速い、きれいなど）の情報である。コントロールパネル１４の操作によって予め設定されたこれらの情報は、ＲＡＭ１２に格納されており、このステップにおいてＲＡＭ１２から読み出すことで処理が行われる。
【００４５】
次いで、ＣＰＵ１１は、テーブルサーチ処理を実行する（ステップＳ７２）。予めＲＯＭ１６には、プリンタ設定情報からＲｅｓｐｏｎｓｅコマンドとしてホスト１に出力されるエンコード、サイズ情報を探索するためのテーブルが格納されている。その例を図５（ａ）及び図５（ｂ）に示す。
【００４６】
図５（ａ）及び（ｂ）ともに、左側にプリンタの設定情報、右側はＲｅｓｐｏｎｓｅとして出力される情報を示す。図５（ａ）は、プリンタの設定情報として紙サイズ情報が格納されている例である。紙サイズが“Ａ４”のときは、ピクセル数“１６００”、紙サイズが“Ａ５”のときはピクセル数“１２００”、“Ａ６”のときは“１０００”、“はがき”サイズのときは“９００”となる。もちろん、これは一例でこの他にも、“Ａ０”や“Ａ１０”やＢサイズなど、印刷用紙のサイズを表すものであればよい。
【００４７】
図５（ｂ）は、紙サイズのほかに画質に関する情報がテーブルの左側に格納されている。紙サイズが“Ａ４”で、“きれい”な画質で印刷することができるのであれば、Ｒｅｓｐｏｎｓｅとして出力するピクセル数は“１６００”、データサイズは“２Ｍ  Ｂｙｔｅｓ”とすることを示す。また、“Ａ４”サイズで、“速い、”画質であれば、ピクセル数は“１２００”、サイズは“１Ｍ”バイトとなり、“はがき”サイズで“きれい”な画質であれば“９００”ピクセルで“１Ｍ”バイトのデータサイズ、“はがき”サイズで“速い、”画質のときは“９００”ピクセル数で“０．７５Ｍ”バイトのデータサイズとなる。もちろん、テーブルに使用される情報は、これらのみに限らず、紙サイズと画質について様々な組み合わせが考えられる。さらにＲｅｓｐｏｎｓｅとして出力される情報についてもテーブルに示された情報のみならず、さらにエンコードに関する情報（ＧＩＦデータやＢＭＰデータ、ＪＰＥＧデータなど）も含めてテーブルを構成してもよいし、これを含めたピクセル数とデータサイズとの種々の組み合わせやその具体的な数値や内容が考えられる。
【００４８】
図３の処理に戻って、テーブルリサーチ処理（ステップＳ７２）に移行すると、図４に示す処理をＣＰＵ１１は実行する（ステップＳ７２０）。まず、ＣＰＵ１１は、サーチポインタの初期化を行う（ステップＳ７２１）。上述したテーブルは、ＲＯＭ１５の所定領域に格納されているので、図５（ａ）の例では、最も最初の“Ａ４”が格納された領域のアドレスにポインタを移動させて初期化を行う。図５（ｂ）では“Ａ４、きれい”が格納された領域のアドレスにポインタを移動させる。もちろん、初期化の際に最も下のアドレスや、上から２番目、３番目など任意の領域にポインタをもってきてもよい。
【００４９】
次いで、ＣＰＵ１１はプリンタ設定情報とポインタの示す領域内の情報が一致するか否か判断する。例えば、コントロールパネル１４で予め“Ａ４”サイズが設定されているのであれば、ＲＡＭ１２に格納されたこの“Ａ４”の値と、初期化によりポインタが指し示す領域内に格納された“Ａ４”とを比較する。一致するときは処理はステップＳ７２３に移行し（“ＹＥＳ”の場合）、一致していないときはステップＳ７２４に移行する（“ＮＯ”の場合）。この場合は一致するので、ステップＳ７２３に移行する。またプリンタ設定情報が“はがき”のときは一致しないのでステップＳ７２４に移行することになる。
【００５０】
一致していれば（ステップＳ７２２で“ＹＥＳ”の場合）、ＣＰＵ１１は、テーブルに格納された、プリンタ設定情報に対応するピクセル数、データサイズをＲＯＭ１６から読み出す（ステップＳ７２３）。“Ａ４”で一致したときは、“１６００”を読出し、“はがき”で一致したときは“９００”を読み出すことになる。
【００５１】
一方、ポインタが指すアドレスに格納された情報と、プリンタ設定情報とが一致しないとき（ステップＳ７２２で“ＮＯ”の場合）、ＣＰＵ１１はポインタを移動させる処理を行う（ステップＳ７２４）。そして、ポインタの指し示すアドレスに格納された情報とプリンタ設定情報と一致するまで処理を繰り返し（ステップＳ７２２とステップＳ７２４のループ）、一致した紙サイズ、画質に対応するエンコード及びサイズに関する情報をテーブルから読み出して（ステップＳ７２３）、テーブルサーチの処理が終了することになる。例えば、テーブルが図５（ｂ）のようにＲＯＭ１６に格納され、最初のポインタが最も上の“Ａ４、きれい”が格納されたアドレスを示し、プリンタ１０の設定情報が“はがき、速い”の場合は、最初は一致しないので、ＣＰＵ１１は、ポインタを次の“Ａ４、速い”が格納されたアドレスに移動してその情報を読み出して一致するか否か判断し、一致していないので、また次のアドレスにポインタを移動させ、これを繰り返すことになる。そして、最後のアドレスにポインタが移動すると、そのアドレスには“はがき、速い”が格納されているのでこれをＣＰＵ１１が読み出すとプリンタの設定情報を一致するので、それに対応するピクセル数“９００”、データサイズ“０．７５Ｍ”を読み出すことになる。なお、テーブルから読み出したこの情報は、ＣＰＵ１１の制御により一旦ＲＡＭ１２に格納される。
【００５２】
図３に戻り、テーブルサーチ処理が終了すると、ＣＰＵ１１は、Ｒｅｓｐｏｎｓｅ  Ｄａｔａ設定を行う（ステップＳ７３）。具体的には、ＣＰＵ１１は、テーブルサーチ処理（ステップＳ７２）でＲＡＭ１２に格納した、テーブルに対応するエンコード情報、サイズ情報を読み出してＩ／Ｆ１３に出力させる。また、Ｇｅｔ  Ｃａｐａｂｉｌｉｒｉｅｓコマンドに対するＲｅｓｐｏｎｓｅ作成のための制御信号をＩ／Ｆ１３に出力する。
【００５３】
これらを受けたＩ／Ｆ１３は、テーブルに対応するエンコード情報、サイズ情報、例えばピクセル数“１６００”でサイズ“１Ｍ”、エンコード情報は“ＪＰＥＧ２０００”を含むＲｅｓｐｏｎｓｅコマンドを作成してホスト１に出力する（ステップＳ７４、図２のステップＳ８）。そして、Ｇｅｔ  Ｃａｐａｂｉｌｉｔｉｅｓ後の処理が終了する。その後の処理は後述するが、このＲｅｓｐｏｎｓｅに基づいて画像データがプリンタ１０に入力されて印刷を行うのでプリンタ１０の能力を生かす高画質の印刷を行うことが可能になる。
【００５４】
上述の例は、テーブルを用いてエンコード及びサイズ情報を検索するようにしたが、計算式を用いてもＧｅｔ  Ｃａｐａｂｉｌｉｔｉｅｓに対するＲｅｓｐｏｎｓｅに含まれるエンコード及びサイズ情報を求めることもできる。図６及び図７を参照して説明する。
【００５５】
図６は、Ｇｅｔ  ＣａｐａｂｉｌｉｔｉｅｓコマンドをＩ／Ｆ１３が受信してＲｅｓｐｏｎｓｅコマンドを出力するためのＣＰＵ１１の動作を示すフローチャートである。
【００５６】
まず、テーブルを用いた場合と同様にＧｅｔ  Ｃａｐａｂｉｌｉｔｉｅｓコマンドを受信すると、ＧｅｔＣａｐａｌｉｔｉｅｓ後の処理が開始される（ステップＳ７０）。この処理の開始は、同様にＲＯＭ１６に格納されたこの一連の処理を行うためのプログラムをＣＰＵ１１が読み出すことで実行される。
【００５７】
次いで、ＣＰＵ１１は、プリンタの設定に関する情報を取得する（ステップＳ７５）。コントロールパネル１４により設定された情報が予めＲＡＭ１２に格納されているので、ＣＰＵ１１がこの情報を読み出すことで実行される。例えば、紙サイズに関する情報（上述の“Ａ４”サイズや“はがき”サイズなど）が設定されているものとして以下説明する。
【００５８】
次いで、ＣＰＵ１１は、演算処理を行う（ステップＳ７６）。演算処理の動作を示すフローチャートを図７に示す。まず、演算処理が開始されると（ステップＳ７６０）、次いで、ＣＰＵ１１は、以下に示す演算式を実行する。
【００５９】
ＰＩＸＥＬ＝ＳＩＺＥ／３００×１６００  ・・・式１
ここで、“ＳＩＺＥ”とは、プリンタの設定に関する情報で、上述した例では例えば“Ａ４”サイズが設定されているときは“３００”、“Ａ５”サイズが設定されているときは“２００”、“Ａ６”サイズが設定されているときは“１００”を示し、これらの値はＲＯＭ１６に予めテーブルとして格納されているものとする。プリンタの設定情報に対応するものであればどのようなものでもよい。そして、ＣＰＵ１１はこのステップＳ７６１に移行すると、ＲＡＭ１２から設定情報を読出し、ＲＯＭ１６に格納された、設定情報に対応する“ＳＩＺＥ”を読出して、この演算式に代入する。この演算式もＲＯＭ１６に予め格納されており、この式をＣＰＵ１１が読み出すことで演算が実際に行われる。
【００６０】
“ＰＩＸＥＬ”とは、ここではＧｅｔ  Ｃａｐａｂｉｌｉｔｉｅｓコマンドに対するＲｅｓｐｏｎｓｅとしてホスト１に返す、サイズ情報のうちのピクセル数を示す。例えば、上述の例では設定情報として“Ａ４”の場合は、ＣＰＵ１１はＲＯＭ１６から“Ａ４”に対応する“ＳＩＺＥ”である“３００”を読出し、ＲＯＭ１６に格納された計算式を読出し、演算すると“１６００”が出力される。この“１６００”がピクセル数を示し、Ｒｅｐｏｎｓｅコマンドに含めて出力されることになる。もちろん、これらは一例で、計算式として種々のものが考えられる。また計算式として使用される設定情報も、紙サイズ情報のみならず、きれい、はやいなどの画質情報も含ませることが可能である。例えば、上述の計算式で、画質が“きれい”の場合は、式１の右辺の演算結果に１．５をかけたり、通常画質の場合は、１．０をかけたりすることが考えられる。また、“はやく”印刷したい場合や“遅く”印刷したい場合などは、その結果にさらに数値を掛け合わたりすることも可能である。この演算結果を取得すると（ステップＳ７６２）、ＣＰＵ１１は、一旦ＲＡＭ１２に格納する。そして、演算処理は終了する。
【００６１】
次いで、ＣＰＵ１１は図６に示すＲｅｓｐｏｎｓｅコマンド設定を行う（ステップＳ７７）。具体的には、ＣＰＵ１１は、演算処理（ステップＳ７６）でＲＡＭ１２に格納した、エンコード情報、サイズ情報を読み出してＩ／Ｆ１３に出力させる。また、Ｇｅｔ  Ｃａｐａｂｉｌｉｒｉｅｓコマンドに対するＲｅｓｐｏｎｓｅ作成のための制御信号をＩ／Ｆ１３に出力する。
【００６２】
これらを受けたＩ／Ｆ１３は、上述のテーブルを用いた場合と同様にエンコード情報、サイズ情報、例えばピクセル数“１６００”でサイズ“１Ｍ”、エンコード情報は“ＧＩＦ”などといった情報を含むＲｅｓｐｏｎｓｅコマンドを作成してホスト１に出力する（ステップＳ７８、図２のステップＳ８）。そして、Ｇｅｔ  Ｃａｐａｂｉｌｉｔｉｅｓ後の処理が終了する。この場合も、テーブルを用いた場合と同様に、演算式によって求めた情報に対応する画像データがプリンタ１０に入力されて印刷を行うのでプリンタ１０の能力を生かす高画質の印刷を行うことが可能になる。
【００６３】
テーブルによる処理（図３、図４参照）、計算式による処理（図６、図７参照）が終了すると、図２に戻ってＲｅｓｐｏｎｓｅがホストに出力されることになる（ステップＳ８）。このコマンドを受信したホスト１は、このＲｅｓｐｏｎｓｅに基づいて画像データを出力すべく、Ｓｅｎｄ  Ｉｍａｇｅ  Ｄａｔａコマンドを出力する（ステップＳ９）。具体的な処理は、ホスト１のＩ／Ｆ４がＧｅｔＣａｐａｂｉｌｉｔｉｅｓコマンドに対するＲｅｓｐｏｎｓｅを受信すると、受信したことを示す制御信号とともにＲｅｓｐｏｎｓｅに含まれるエンコード情報、サイズ情報がＣＰＵ２に入力され、これを受けたＣＰＵ２は、Ｒｅｓｐｏｎｓｅに含まれるエンコード情報、サイズ情報に基づいてＨＤＤ５に格納された画像情報を読み出す。そして、ＣＰＵ２は一旦ＲＡＭ３に画像情報を格納させてこのエンコード情報、サイズ情報に沿う画像データに変換させる。変換された画像データは、ＣＰＵ２の制御によりＩ／Ｆ４に出力される。また、ＣＰＵ２はＳｅｎｄ  Ｉｍａｇｅ  Ｄａｔａコマンド作成及び出力のための指示を示す制御信号をＩ／Ｆ４に出力する。そして、Ｉ／Ｆ４から画像データを含むＳｅｎｄ  Ｉｍａｇｅ  Ｄａｔａコマンドが出力されることになる。
【００６４】
次いで、プリンタ１０はこのコマンドを受信すると、受信が成功したことを示すＳｕｃｃｅｓｓコマンドをホストに出力する（ステップＳ１０）。具体的には、Ｓｅｎｄ  Ｉｍａｇｅ  ＤａｔａコマンドをＩ／Ｆ１３が受信すると、受信したことを示す制御信号がＣＰＵ１１に出力され、画像データはＣＰＵ１１の制御によりＩ／Ｆ１３からＲＡＭ１２に出力され、一旦格納される。すべての画像データの受信が終了すると、ＣＰＵ１１はＩ／Ｆ１３に受信が成功したことを示すＳｕｃｃｅｓｓコマンド作成、出力を指示する制御信号を出力し、これに基づいてＩ／Ｆ１３からＳｕｃｃｅｓｓコマンドが出力される。
【００６５】
プリンタ１０は、この画像データが入力されると、画像データを印刷するための処理に移ることになる。上述したように、画像データに対してＲＯＭ１６に格納された解像度変換処理、色補正処理、ハーフトーン処理を行うためのプログラムを読み出して、それぞれＣＰＵ１１が実行することで、印刷データが生成されＲＡＭ１２に格納される。そして、ＣＰＵ１１の制御により印刷ユニットに印刷データを出力させ、モータ等の各種制御により実際に印刷用紙に画像データが印刷されることになる。この出力印刷は、Ｇｅｔ  Ｃａｐａｂｉｌｉｔｉｅｓコマンドに対するＲｅｓｐｏｎｓｅとして画質や紙サイズなどの情報をもとにエンコード情報、サイズ情報を返しているので、プリンタ１０本来の高画質の印刷となっている。
【００６６】
次いで、Ｓｕｃｃｅｓｓコマンド（ステップＳ１０）を受信したホスト１は、通信の終了を行うべく、Ｃｌｏｓｅ  Ｄａｔａ  Ｃｈａｎｎｅｌコマンドを出力する（ステップＳ１１）。Ｓｕｃｃｅｓｓコマンド（ステップＳ１０）を受信したホスト１のＩ／Ｆ４は、受信したことを示す制御信号がＣＰＵ２に出力され、通信終了を示すＣｌｏｓｅ  Ｄａｔａ  Ｃｈａｎｎｅｌコマンドの作成及び出力を指示する制御信号をＩ／Ｆ４に出力して、このコマンドがホスト１からプリンタ１０に出力される。
【００６７】
このコマンドを受信したプリンタ１０は、このコマンドを受信したことを示す制御信号がＩ／Ｆ１３からＣＰＵ１１に出力され、ＣＰＵ１１は、通信終了を示すＳｕｃｃｅｓｓコマンドの作成及び出力指示をＩ／Ｆ１３に与え、これを元にＩ／Ｆ１３からＳｕｃｃｅｓｓコマンドがホスト１に出力される（ステップＳ１２）。これにより、ホスト１とプリンタ１０によるブルートゥースによる一連の通信が終了することになる。
【００６８】
上述した例では、画質や紙サイズに関する情報は、コントロールパネル１４で入力されるようにしたが、プリンタ１０が他のパーソナルコンピュータなどの外部機器に有線により接続されて、かかる情報をこの外部機器により設定して、設定された情報がプリンタ１０のＲＡＭ１２に格納されるようにしてもよい。
【００６９】
また、上述した例では、ホスト１としてパーソナルコンピュータで説明したが、その他にもデジタルカメラや、携帯電話、その他携帯型情報端末であってもよい。
【図面の簡単な説明】
【図１】ホスト１とプリンタ１０の内部構成を示す図である。
【図２】コマンドの流れを示すタイミングチャートを示す図である。
【図３】Ｇｅｔ  Ｃａｐａｂｉｌｉｔｉｅｓコマンド受信後の処理のフローチャートを示す図である。
【図４】テーブルサーチ処理のフローチャートを示す図である。
【図５】ＲＯＭ１６に格納されたテーブルの一例を示す図である。
【図６】Ｇｅｔ  Ｃａｐａｂｉｌｉｔｉｅｓコマンド受信後の処理のフローチャートを示す図である。
【図７】演算処理のフローチャートを示す図である。
【符号の説明】
１  ホスト  ２  ＣＰＵ  ３  ＲＡＭ  ４  Ｉ／Ｆ  ５  ＨＤＤ  ７  ＲＯＭ  １０プリンタ  １１  ＣＰＵ  １２  ＲＡＭ  １３  Ｉ／Ｆ  １４  コントロールパネル  １５  印刷ユニット  １６  ＲＯＭ
【図１】
2004272675.tif 000003
【図２】
2004272675.tif 000004
【図３】
2004272675.tif 000005
【図４】
2004272675.tif 000006
【図５】
2004272675.tif 000007
【図６】
2004272675.tif 000008
【図７】
2004272675.tif 000009