説明

情報処理装置、及び情報処理方法

【課題】イメージ出力形式のプリンターを基本的な構成としたプリンターにおいて、よりコストを低く抑えながらPDL出力形式をサポートし、また、イメージ出力形式のコマンドも使用可能とする。
【解決手段】第1のコントローラー基板は、PDLコマンドを受信してそのまま第2のコントローラーに転送する。第2のコントローラー基板は、PDLコマンドにイメージ出力コマンドがカプセル化されているか否かを判断し、カプセル化されている場合、当該イメージ出力コマンドを第1のコントローラー基板に転送する。カプセル化されていない場合、PDLコマンドを解釈してビットマップデータを生成するとともに、イメージ出力コマンドに加工し、第1のコントローラー基板に転送する。第1のコントローラー基板は、イメージ出力コマンドを解釈して印刷イメージデータを生成するとともに、印刷エンジンに出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ページ記述言語(PDL:Page Description Language)を用いた情報処理技術に関する。
【背景技術】
【0002】
プリンターの印刷コマンド(制御コマンドや制御コードとも呼ばれる。)は、例えば、プリンター側で主なイメージ処理を行うPDL出力形式と、ホストコンピューター側で主なイメージ処理を行うイメージ出力形式(GDI(Graphic Device Interface)形式と呼ぶこともできる。)とに分類することができる。
【0003】
PDL出力形式の印刷コマンド(以下、PDLコマンドと呼ぶことがある。)には、例えば、セイコーエプソン社のESC/P−PageやEJL、ヒューレットパッカード社のPCLやPJL、アドビシステム社のPostScript(登録商標)等を分類することができる。また、イメージ出力形式の印刷コマンド(以下、イメージ出力コマンドやGDIコマンドと呼ぶことがある。)には、例えば、セイコーエプソン社のESC/P−RやESC/P−Raster、Remote等を分類することができる。
【0004】
PDLコマンドは、例えば、レーザープリンター(LP:Laser Printer)でよく用いられる。PDL出力形式では、PC等のホストコンピューターにおいて、印刷対象のデータに基づいてPDLコマンドが生成され、プリンターに送られる。そして、プリンターにおいて、PDLコマンドの解釈、RGBデータの生成、CMYK色変換、印刷イメージデータの生成等が行われ、印刷エンジンによる印刷が実行される。
【0005】
イメージ出力コマンドは、例えば、インクジェットプリンター(IJP:Ink Jet Printer)でよく用いられる。イメージ出力形式では、PC等のホストコンピューターにおいて、印刷対象のデータに基づいて、CMYKデータを含む印刷コマンド(以下、CMYKコマンドと呼ぶことがある。)又はRGBビットマップデータを含む印刷コマンド(以下、RGBコマンドと呼ぶことがある。)が生成され、プリンターに送られる。そして、プリンターにおいて、イメージ出力コマンドの解釈、印刷イメージデータの生成等が行われ、印刷エンジンによる印刷が実行される。
【0006】
他の印刷コマンド形式としては、中間言語(中間コードとも呼ばれる。)出力形式がある(例えば、特許文献1)。中間言語出力形式では、PC等のホストコンピューターにおいて、印刷対象のデータに基づいて中間言語の印刷コマンド(以下、中間言語コマンドと呼ぶことがある。)が生成され、プリンターに送られる。そして、プリンターにおいて、中間言語コマンドの解釈、印刷イメージデータの生成等が行われ、印刷エンジンによる印刷が実行される。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2009−166450号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
ところで、IJPにおいても、PDL出力形式の印刷コマンドをサポートすることが要望されている。例えば、オフィス等で使用されるビジネス用のIJPにおいては、PDL出力形式がサポートされている方が、ユーザーの利便性が高い。
【0009】
ここで、イメージ出力形式の印刷コマンドをサポートしたIJPにおいて、PDLをサポートするには、例えば、当該IJPのファームウェアに、PDLコマンドを解釈する機能を追加する方法が考えられる。しかしながら、イメージ出力形式のIJPは、一般的にPDLコマンドを解釈してイメージ処理を行うために十分なCPUやメモリー等の処理能力を有さない。そのため、単純にファームウェアにPDLの機能を追加する方法では、処理負荷が大きく実用に適さない。
【0010】
また、処理能力を向上するために、イメージ出力形式のIJPのCPUやメモリー等をより高性能な物に置き換える方法も考えられる。しかしながら、この方法では、開発・製造コスト等がより大きくかかってしまう。
【0011】
さらなる問題は、IJPをPDL専用のプリンターとして実現しようとすると、イメージ出力形式の印刷コマンドが使用できなくなることである。一般的に、インクジェット形式の印刷エンジン等の機械構造は、その調整・制御のために特殊なコマンドが必要である。IJPの印刷エンジン等の調整・制御のためのコマンドとしては、例えば、ギャップ調整、紙送り補正、デバッグ動作(モーターや印刷ヘッドの動作)、パターン印刷、各種データのROMへの読み書き等を制御するテスト用コマンド(工場コマンドなどと呼ばれる。)がある。
【0012】
しかしながら、PDLコマンドは、そもそも汎用的なコマンドであり、印刷エンジン等の固有の動作に密接に関連した調整・制御を行うためのコマンドに対応することができない。その結果、PDL専用のIJPを実現するにあたり、印刷エンジン等の機械的構造の調整・制御に支障が生じる恐れがある。
【0013】
本発明は、イメージ出力形式のプリンターを基本的な構成としたプリンターにおいて、よりコストを低く抑えながらPDL出力形式をサポートし、また、イメージ出力形式のコマンドも使用可能とすることを目的とする。
【課題を解決するための手段】
【0014】
上記の課題を解決するための本発明の一態様は、ネットワークに接続される情報処理装置であって、PDLコマンドにPDLと異なる形式の所定のコマンドが含まれているか否かを判定し、含まれている場合に当該所定のコマンドを取り出して出力し、含まれていない場合に前記PDLコマンドをそのまま出力するコマンド取り出し手段と、前記コマンド取り出し手段により出力されたPDLコマンドを解釈してRGBビットマップデータを含む解釈データを出力する第1コマンド解釈手段と、前記解釈データを加工してRGBコマンドとして出力するコマンド加工手段と、前記RGBコマンドを解釈して印刷イメージデータを生成する、又は、前記所定のコマンドに従って所定の制御を行う第2コマンド解釈手段と、前記PDLコマンドを前記ネットワークから受信するコマンド受信手段と、前記コマンド受信手段により受信されたPDLコマンドを前記コマンド取り出し手段に転送する第1通信手段と、前記コマンド取り出し手段により出力された前記所定のコマンド、又は前記コマンド加工手段により出力された前記RGBコマンドを前記第2コマンド解釈手段に転送する第2通信手段と、を有する、ことを特徴とする。
【0015】
ここで、上記の情報処理装置であって、前記コマンド取り出し手段は、前記PDLコマンドの中に所定の値が設定されているか判定し、当該所定の値が設定されている場合、所定の期間、前記第1通信手段により転送されるイメージ出力コマンドをそのまま前記第2通信手段に出力し、前記第2通信手段は、前記コマンド取り出し手段により出力された前記イメージ出力コマンドを前記第2コマンド解釈手段に転送し、前記第2コマンド解釈手段は、前記イメージ出力コマンドを解釈して印刷イメージデータを生成する、ことを特徴としていてもよい。
【0016】
また、上記のいずれかの情報処理装置であって、前記印刷イメージデータに基づいて印刷を行うインクジェット方式の印刷エンジンを備え、前記所定のコマンドは、前記印刷エンジンの各種機構を調整するためのテスト用コマンドである、ことを特徴としていてもよい。
【0017】
また、上記の情報処理装置であって、前記テスト用コマンドは、ギャップ調整、紙送り補正、モーター調整、ヘッド調整、パターン印刷、ROMへの読み書きの少なくとも一つを指示するコマンドである、ことを特徴としていてもよい。
【0018】
また、上記のいずれかの情報処理装置であって、前記所定のコマンドを含むPDLコマンドは、当該所定のコマンドのデータ長を示すパラメータを含み、前記コマンド取り出し手段は、前記パラメータが示すデータ長のデータを前記所定のコマンドとして取り出して出力する、ことを特徴としていてもよい。
【0019】
また、上記の情報処理装置であって、前記所定の期間は、前記情報処理装置の電源がオフされるまでの期間である、ことを特徴としていてもよい。
【0020】
また、上記の情報処理装置であって、前記所定の値は、0xFFである、ことを特徴としていてもよい。
【0021】
また、上記の情報処理装置であって、IJPの機能を制御するIJPモジュールと、LPの機能を制御するLPモジュールと、を備え、前記IJPモジュールは、前記コマンド受信手段、前記第1通信手段、及び前記第2コマンド解釈手段を有し、前記LPモジュールは、前記コマンド取り出し手段、前記第1コマンド解釈手段、前記コマンド加工手段、及び前記第2通信手段を有する、ことを特徴としていてもよい。
【0022】
また、上記の情報処理装置であって、前記IJPモジュール及び前記LPモジュールはそれぞれ、CPU及びメモリーを有し、所定のプログラムに従って前記の各手段を実現する、ことを特徴としていてもよい。
【0023】
また、上記の情報処理装置であって、前記IJPモジュール及び前記LPモジュールは、USBにより接続され、前記第1の通信手段及び前記第2の通信手段は前記USBを介してコマンドの転送を行う、ことを特徴としていてもよい。
【0024】
また、上記のいずれかの情報処理装置であって、前記PDLコマンドとして、ESC/P−Page、PostScript、PCL、PJL、及びEJL少なくともいずれか一つが使用され、前記RGBコマンドとして、ESC/P−R、及びRemoteの少なくともいずれか一つが使用され、前記イメージ出力コマンド又は前記所定のコマンドとして、ESC/P−R、ESC/P−Raster、及びRemoteの少なくともいずれか一つが使用される、ことを特徴としていてもよい。
【0025】
上記の課題を解決するための本発明の他の態様は、ネットワークに接続される情報処理装置における情報処理方法であって、PDLコマンドにPDLと異なる形式の所定のコマンドが含まれているか否かを判定し、含まれている場合に当該所定のコマンドを取り出して出力し、含まれていない場合に前記PDLコマンドをそのまま出力するコマンド取り出しステップと、前記コマンド取り出しステップにより出力されたPDLコマンドを解釈してRGBビットマップデータを含む解釈データを出力する第1コマンド解釈ステップと、前記解釈データを加工してRGBコマンドとして出力するコマンド加工ステップと、前記RGBコマンドを解釈して印刷イメージデータを生成する、又は、前記所定のコマンドに従って所定の制御を行う第2コマンド解釈ステップと、前記PDLコマンドを前記ネットワークから受信するコマンド受信ステップと、前記コマンド受信ステップにより受信されたPDLコマンドを前記コマンド取り出しステップに転送する第1通信ステップと、前記コマンド取り出しステップにより出力された前記所定のコマンド、又は前記コマンド加工ステップにより出力された前記RGBコマンドを前記第2コマンド解釈ステップに転送する第2通信ステップと、を含む、ことを特徴とする。
【図面の簡単な説明】
【0026】
【図1】本発明の一実施形態の一例であるプリンター1のハードウェアの概略構成を示す図。
【図2】プリンター1の機能構成の一例を示すブロック図。
【図3】通常の印刷コマンドとテスト用コマンドの構成の一例を説明する図。
【図4】通常モードにおけるコマンド判定部400の処理を示すフロー図。
【図5】テストモードにおけるコマンド判定部400の処理を示すフロー図。
【図6】本実施形態の特徴を有さないプリンター1cの機能構成の一例を示すブロック図。
【発明を実施するための形態】
【0027】
以下に、本発明の一実施形態について図面を参照して説明する。
【0028】
図1は、本発明の一実施形態の一例であるプリンター1のハードウェアの概略構成を示す図である。
【0029】
本実施形態では、プリンター1は、イメージ出力コマンドに対応したIJPのハードウェア構成を基本としており、その構成に追加的にPDLコマンドに対応したLPの部品(LPコントローラー40)を流用する。そして、プリンター1は、イメージ出力コマンドではなく、PDLコマンドの専用機として機能する。
【0030】
プリンター1は、LAN等のネットワーク3を介してPC等のホストコンピューター2と接続される。もちろん、USB等によりホストコンピューター2とピアツーピア(peer to peer)で接続されてもよい。
【0031】
プリンター1は、ホストコンピューター2からPDLコマンドを受信すると、RGBコマンドに変換し、当該RGBコマンドに基づいて印刷イメージデータの生成を行い、印刷を実行する。また、プリンター1は、イメージ出力形式のテスト用コマンドがカプセル化されたPDLコマンドを受信すると、当該イメージ出力コマンドを解釈し、当該イメージ出力コマンドに基づく処理を実行する。プリンター1のこれらの処理については、詳細に後述する。
【0032】
ホストコンピューター2は、プリンター1を制御するためのプリンタードライバープログラムがインストールされる。そして、ホストコンピューター2は、このプリンタードライバーにより、アプリケーション等により指示された印刷対象のデータに基づいてPDLコマンドを生成し、プリンター1に送信する。
【0033】
また、ホストコンピューター2は、イメージ出力コマンドをPDLコマンド内にカプセル化して、プリンター1に出力する所定のプログラムがインストールされる。プリンタードライバープログラムがこのカプセル化機能を備えていてもよい。ホストコンピューター2は、この所定のプログラムにより、イメージ出力形式のテスト用コマンドをカプセル化したPDLコマンドを生成し、プリンター1に送信する。
【0034】
図1に示すように、プリンター1は、IJPコントローラー(モジュール基板)10と、操作パネル20と、印刷エンジン30と、LPコントローラー(モジュール基板)40とを備える。
【0035】
IJPコントローラー10は、プリンター1の各種機能を制御するメインのコントローラーである。一方、LPコントローラー40は、PDLコマンドを処理するために、他のLP製品の部品を追加的に流用したものである。
【0036】
IJPコントローラー10は、CPU11と、ROM12と、RAM13と、メモリー制御ASIC(Application Specific Integrated Circuit)14と、ネットワークインターフェイス(I/F)15と、USBインターフェイス(I/F)16と、入出力(I/O)制御ASIC17とを備える。
【0037】
CPU11は、所定のプログラムを実行して、プリンター1を統合的に制御する演算装置である。ROM12は、データやプログラム等を格納する不揮発性メモリーであり、例えば、フラッシュメモリーである。ROM12は、メモリー制御ASIC14ではなく、I/O制御ASIC17に接続されていてもよい。RAM13は、データおよびプログラム等を一時的に記憶する揮発性メモリーであり、例えば、DDR−SDRAMである。
【0038】
メモリー制御ASIC14は、ROM12およびRAM13へのアクセスを制御するユニットである。メモリー制御ASIC14は、例えば、ネットワークI/F15およびI/O制御ASIC17を介してホストコンピューター2から送られてきたデータをCPU11に送ったりRAM13に格納したりする。また、例えば、CPU11やRAM13から取得したデータを印刷エンジン30に出力する。
【0039】
ネットワークI/F15は、ホストコンピューター2等のネットワーク3上の外部装置と通信を行うユニットである。ネットワークI/F15は、例えば、Ethernet(登録商標)のネットワークコントローラー、ネットワークコネクタ等を含む。
【0040】
USB I/F16は、LPコントローラー40とUSBによる通信を行うユニットである。USB I/F16は、例えば、USBコントローラー、USBコネクタ等を含む。USB I/F16は、LPコントローラー40のUSB I/F46と予め(例えば、製造時などに)接続される。なお、本実施形態では、IJPコントローラー10がUSBホスト、LPコントローラー40がUSBデバイスとして機能する。
【0041】
I/O制御ASIC17は、入出力装置やインターフェイス装置を制御するユニットである。本実施形態では、I/O制御ASIC17は、I/O装置としての操作パネル20と、I/F装置としてのネットワークI/F15及びUSB I/F16と接続されている。もちろん、ハードディスクドライブ、パラレルI/F等が接続されていてもよい。I/O制御ASIC17は、例えば、ネットワークI/F15又はUSB I/F16を介して受信したデータをRAM13やCPU11に転送したり、RAM13やCPU11から送信されたデータをホストコンピューター2やLPコントローラー40に転送したりする。また、例えば、操作パネル20から出力される信号をRAM13やCPU11に転送したり、RAM13やCPU11から送られた描画データを操作パネル20に転送したりする。
【0042】
もちろん、IJPコントローラー10は、上記の構成に限られず、印刷エンジン30において処理可能なデータを生成し、印刷エンジン30による印刷を制御する専用の印刷制御ASICを備えていてもよい。印刷制御ASICは、CPU11に替わって又はCPU11と共同して所定の画像処理(例えば、色変換、圧縮、伸張、2値化)を実行して印刷データを生成する。
【0043】
操作パネル20は、ユーザーとプリンター1との間の入出力インターフェイスとして、プリンター1の筐体に設けられているユニットである。操作パネル20は、例えば、液晶ディスプレイ(Liquid Crystal Display)や有機ELディスプレイ(Electro-Luminescence Display)などのディスプレイと、タッチパネルと、ハードスイッチ等を有する。
【0044】
印刷エンジン30は、IJPコントローラー10から供給された印刷イメージデータに基づいて、印刷媒体に印刷を行うユニットである。印刷エンジン30は、例えば、インクジェット方式である。もちろん、プリンター1は、インクジェット方式に限られず、プリンター1の基本となる構成がイメージ出力形式の印刷コマンドに対応したプリンターであれば、その他の印刷方式であってもよい。
【0045】
LPコントローラー40は、CPU41と、ROM42と、RAM43と、メモリー制御ASIC44と、ネットワークI/F45と、USB I/F46と、I/O制御ASIC47とを備える。
【0046】
CPU41は、所定のプログラムを実行して、LPコントローラー40を制御する演算装置である。ROM42は、データやプログラム等を格納する不揮発性メモリーであり、例えば、フラッシュメモリーである。ROM42は、メモリー制御ASIC44ではなく、I/O制御ASIC47に接続されていてもよい。RAM43は、データおよびプログラム等を一時的に記憶する揮発性メモリーであり、例えば、DDR−SDRAMである。
【0047】
メモリー制御ASIC44は、ROM42およびRAM43へのアクセスを制御するユニットである。メモリー制御ASIC44は、例えば、USB I/F46及びI/O制御ASIC47を介してIJPコントローラー10から送られてきたデータをCPU41に送ったりRAM43に格納したりする。また、例えば、CPU41やRAM43から取得したデータを、I/O制御ASIC47及びUSB I/F46を介してIJPコントローラー10に出力する。
【0048】
USB I/F46は、IJPコントローラー10とUSBによる通信を行うユニットである。USB I/F46は、例えば、USBコントローラー、USBコネクタ等を含む。
【0049】
I/O制御ASIC47は、インターフェイス装置を制御するユニットである。本実施形態では、I/O制御ASIC47は、I/F装置としてのUSB I/F46と接続されている。I/O制御ASIC47は、例えば、USB I/F46を介して受信したデータをRAM43やCPU41に転送したり、RAM43やCPU41から送信されたデータをIJPコントローラー10に転送したりする。
【0050】
なお、ホストコンピューター2は、例えば、各種演算を行うCPUと、CPUが実行するプログラムやデータ等を格納するRAMと、起動に必要なプログラムやデータ等を予め格納するROMと、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶装置と、有線LAN等のネットワークに接続して通信を行うネットワークインターフェイス(I/F)と、USBによる通信を行うUSBインターフェイス(I/F)と、CD−ROM等の可搬性を有する可搬型記憶媒体の情報を読み出すメディア読取装置と、ユーザーインターフェイス(UI)画面等を表示するLCDなどの表示装置と、キーボードやマウス等の入力装置とを備える。
【0051】
上記のプリンター1及びホストコンピューター2の構成は、本願発明の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。また、一般的なプリンター及びホストコンピューターが備える構成を排除するものではない。例えば、プリンター1及びホストコンピューター2は、無線LAN、USB等により通信するようにしてもよい。また、IJPコントローラー10とLPコントローラー40とは、基板が一体となっていてもよい。
【0052】
次に、上述のプリンター1により実現される本実施形態の特徴的な動作について説明する。
【0053】
図2は、プリンター1の機能構成の一例を示すブロック図である。図3は、通常の印刷コマンドとテスト用コマンドの構成の一例を説明する図である。
【0054】
まず、ホストコンピューター2が生成するコマンドについて、図3を参照して説明する。
【0055】
ホストコンピューター2は、アプリケーション等により指示された印刷対象のデータに基づいてPDLコマンド(図中の通常の印刷コマンド)を生成し、プリンター1に送信する。この機能は、例えば、プリンタードライバープログラムにより実現される。
【0056】
また、ホストコンピューター2は、テスト用のアプリケーション等の指示に基づいてイメージ出力形式のコマンドをカプセル化したPDLコマンド(図中のテスト用コマンド)を生成し、プリンター1に送信する。この機能は、例えば、テスト用の所定のプログラムやプリンタードライバープログラムにより実現される。どのようなテスト用コマンドを送信するかは、例えば、プリンター1をテストするユーザーが前記テスト用のアプリケーションを介して指定できるようにすればよい。
【0057】
なお、テスト用のアプリケーションや所定のプログラム、プリンタードライバープログラムは、例えば、インターネット等のネットワーク上のサーバーからダウンロードされて、ホストコンピューター2にインストールされ又は更新されることができる。メディア読取装置によりCD−ROM等の記憶媒体から読み出されて、又はUSBインターフェイスによりフラッシュROM等の記憶媒体から読み出されて、ホストコンピューター2にインストールされ又は更新されてもよい。
【0058】
図2に戻って、プリンター1は、コマンド受信部100と、イメージ出力コマンド解釈部110と、コマンド判定部400と、PDLコマンド解釈部410と、RGBコマンド加工部420とを有する。
【0059】
コマンド受信部100及びイメージ出力コマンド解釈部110は、例えば、CPU11がROM12からRAM13にロードした所定のプログラム(例えば、IJPのファームウェアの一部)を実行することにより、IJPコントローラー10により実現される。もちろん、これらの機能部の一部又は全部の処理は、IJPコントローラー10のASICその他のハードウェアにより実現されてもよい。
【0060】
所定のプログラムは、例えば、製造時にROM12に書き込まれ、製造後はネットワーク上のサーバーからダウンロードされて更新される。もちろん、持ち運び可能な記録媒体に予め記録されており、当該記録媒体から読み取られて、プリンター1にインストールされたり更新されたりしてもよい。
【0061】
コマンド判定部400、PDLコマンド解釈部410、及びRGBコマンド加工部420は、例えば、CPU41がROM42からRAM43にロードした所定のプログラム(例えば、LPのファームウェアの一部)を実行することにより、LPコントローラー40により実現される。もちろん、これらの機能部の一部又は全部の処理は、LPコントローラー40のASICその他のハードウェアにより実現されてもよい。
【0062】
所定のプログラムは、例えば、製造時にROM42に書き込まれ、製造後はネットワーク上のサーバーからダウンロードされて更新される。もちろん、持ち運び可能な記録媒体に予め記録されており、当該記録媒体から読み取られて、プリンター1にインストールされたり更新されたりしてもよい。
【0063】
コマンド受信部100は、PDLコマンドを受信し、PDLコマンド解釈部410に転送する。具体的には、コマンド受信部100は、ホストコンピューター2から送信されたPDLコマンド(通常の印刷コマンド又はテスト用コマンド)をネットワークI/F15を介して受信する。また、受信したPDLコマンドを、USB I/F16を介してLPコントローラー40に送信する。このとき、コマンド受信部100は、PDLコマンドの解釈や加工は行わずに、LPコントローラー40にバイパスする。
【0064】
コマンド判定部400は、PDLコマンドを受信し、当該コマンドが通常の印刷コマンドであるかテスト用コマンドであるか否かを判定する。具体的には、コマンド判定部400は、IJPコントローラー10から送信されたPDLコマンド(通常の印刷コマンド又はテスト用コマンド)をUSB I/F46を介して受信する。また、受信したPDLコマンド内にイメージ出力コマンドがカプセル化されているか否かを判定する。
【0065】
例えば、カプセル化されているイメージ出力コマンドのデータ長(0より大きい値)を示すパラメータをPDLコマンド(図3のテスト用コマンドを参照)の中に規定する。このパラメータは、ホストコンピューター2の所定のプログラムにより、カプセル化が行われた際に設定される。コマンド判定部400は、当該パラメータを参照することにより、0より大きい値が設定されていれば、イメージ出力コマンドがカプセル化されていると識別することができる。もちろん、判定方法はこれに限られず、例えば、カプセル化の有無を示すパラメータと、カプセル化されたデータのデータ長を示すパラメータは別に規定してもよい。
【0066】
PDLコマンドが通常の印刷コマンドである場合、コマンド判定部400は、当該PDLコマンドをPDLコマンド解釈部410に出力する。PDLコマンドがテスト用コマンドである場合、コマンド判定部400は、PDLコマンドからイメージ出力コマンドをそのデータ長分取り出し、USB I/F46を介してIJPコントローラー10のイメージ出力コマンド解釈部110に送信する。
【0067】
ここで、所定のパラメータをテスト用コマンドのPDLコマンドの中に規定することにより、プリンター1を通常モードとテストモードとに切り替えられるようにしてもよい。なお、通常モードは、上述した通りPDLコマンドを処理するモードである。
【0068】
具体的には、例えば、イメージ出力コマンドのデータ長を示すパラメータが所定の値(例えば、0xFF)に設定されている場合に、コマンド判定部400は、テストモードを開始する。このパラメータは、ホストコンピューター2の所定のプログラムにより、設定される。テストモードの開始は、例えば、プリンター1をテストするユーザーが前記テスト用のアプリケーションを介して指定できるようにすればよい。
【0069】
テストモードの間、ホストコンピューター2は、イメージ出力コマンドをPDLコマンド内にカプセル化せずにそのままプリンター1に送信する。コマンド受信部100は、受信したイメージ出力コマンドをコマンド判定部400にバイパスする。コマンド判定部400は、受信したイメージ出力コマンドをUSB I/F46を介してIJPコントローラー10のイメージ出力コマンド解釈部110に転送する。なお、コマンド受信部100が、受信したイメージ出力コマンドをイメージ出力コマンド解釈部110に転送するようにしてもよい。
【0070】
テストモードは、例えば、開始から所定時間継続するようにすることができる。この場合、所定時間経過後、ホストコンピューター2とプリンター1は、同期をとって通常モードに切り替わる。また、テストモードは、プリンター1の電源オフまで継続されるようにしてもよい。また、通常モードに切り替える所定のコマンドをホストコンピューター2がユーザーの指示に基づいて生成してプリンター1に送信し、当該コマンドを契機に、コマンド判定部400が通常モードに切り替えるようにしてもよい。
【0071】
PDLコマンド解釈部410は、PDLコマンドを受信し、PDLの解釈を行ってRGBビットマップデータを生成し、RGBコマンド加工部420に出力する。具体的には、PDLコマンド解釈部410は、コマンド判定部400から出力されたPDLコマンド(通常の印刷コマンド)を受信する。また、受信したPDLコマンドに基づいてRGBのビットマップデータを生成する。そして、RGBコマンド加工部420に出力する。
【0072】
なお、PDLコマンドには、印刷対象の印刷データを記述した部分に加え、例えば、両面印刷や割り付け印刷等の印刷エンジンの制御に関連する制御データを含んでいてもよい。この場合、PDLコマンド解釈部410は、印刷データをRGBビットマップデータに変換する処理を行い、RGBビットマップデータとともに制御データをRGBコマンド加工部420に出力する。
【0073】
RGBコマンド加工部420は、PDLの制御データとRGBビットマップデータを受信し、PDLの解釈を行ってイメージ出力形式のデータに加工し、イメージ出力コマンド解釈部110に送信する。具体的には、RGBコマンド加工部420は、PDLの制御データとRGBビットマップデータを、PDLコマンド解釈部410から受信する。また、受信したPDLの制御データとRGBビットマップデータに基づいて、イメージ出力形式のデータ(RGBコマンド)に変換する。そして、USB I/F46を介してIJPコントローラー10に送信する。
【0074】
本実施形態では、通常の印刷コマンドのPDLコマンドとしては、例えば、ESC/P−Page、PostScript、PCL、EJL、PJL等を用いることができる。また、PDLコマンドの加工後のRGBコマンドとして、例えば、ESC/P−R、Remote等を用いることができる。一方、PDLコマンドにカプセル化されるイメージ出力コマンドとしては、例えば、RGBコマンドとしてのESC/P−R、CMYKコマンドとしてのESC/P−Raster、Remote、テスト用コマンド等を用いることができ、イメージ出力コマンドをカプセル化するPDLコマンドには、例えば、EJL、PJL等を用いることができる。また、テストモードで使用されるコマンドとしては、一般的なIJPと同様のイメージ出力形式の通常のコマンドやテスト用コマンド等が使用される。もちろん、コマンド形式はこれらに限られない。
【0075】
イメージ出力コマンド解釈部110は、イメージ出力コマンドを受信し、イメージ出力コマンドの解釈を行って印刷イメージデータを生成し、印刷エンジン30に出力する。具体的には、イメージ出力コマンド解釈部110は、LPコントローラー40から送信されたイメージ出力コマンド(例えば、ESC/P−R、ESC/P−Raster、Remote、テスト用コマンド等)をUSB I/F16を介して受信する。
【0076】
RGBコマンドの場合、イメージ出力コマンド解釈部110は、受信したイメージ出力形式の制御データとRGBビットマップデータに基づいて、例えば、CMYK色変換、拡大/縮小、2値化等の処理を行うことにより印刷イメージデータを生成する。CMYKコマンドの場合、受信したイメージ出力形式の制御データとCMYKデータに基づいて、拡大/縮小、2値化等の処理を行うことにより印刷イメージデータを生成する。そして、印刷イメージデータを印刷エンジン30に出力し、印刷媒体への印刷を実行させる。
【0077】
テスト用コマンドの場合、イメージ出力コマンド解釈部110は、当該コマンドに基づく処理、例えば、ギャップ調整、紙送り補正、デバッグ動作(モーターや印刷ヘッドの動作)、パターン印刷、各種データのROMへの読み書き等を制御する。
【0078】
以上の各構成要素は、プリンター1の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。プリンター1の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
【0079】
図4は、通常モードにおけるコマンド判定部400の処理を示すフロー図である。本フローは、通常モードにおいて、コマンド判定部400がコマンドを受信した場合に開始される。なお、
【0080】
S10では、コマンド判定部400は、受信したPDLコマンドがテスト用コマンドであるか否かを判定する。具体的には、コマンド判定部400は、PDLコマンドの中の、カプセル化されたデータのデータ長を示すパラメータが0よりも大きい値であるか否かを判定する。パラメータが0である場合(S10:NO)、通常の印刷コマンドであると判定して処理をS20へ進める。パラメータが0よりも大きい場合(S10:YES)、テスト用コマンドであると判定して処理をS30へ進める。
【0081】
S20では、コマンド判定部400は、受信したPDLコマンド(通常の印刷コマンド)をPDLコマンド解釈部410に出力する。そして、本フローを終了する。
【0082】
S30では、コマンド判定部400は、受信したPDLコマンド(テスト用コマンド)にデータがカプセル化されているか否かを判定する。具体的には、コマンド判定部400は、PDLコマンドの中の、データ長を示すパラメータが所定の値(例えば、0xFF)に設定されているか否かを判定する。パラメータが所定の値でない場合(S30:YES)、イメージ出力コマンドがカプセル化されていると判定して処理をS40へ進める。パラメータが所定の値である場合(S30:NO)、イメージ出力コマンドがカプセル化されていない、即ちテストモードを設定するコマンドであると判定して、処理をS50へ進める。
【0083】
S40では、コマンド判定部400は、受信したPDLコマンド(テスト用コマンド)をイメージ出力コマンド解釈部110に送信する。具体的には、コマンド判定部400は、PDLコマンドからイメージ出力コマンドをそのデータ長分取り出し、USB I/F46を介してIJPコントローラー10のイメージ出力コマンド解釈部110に送信する。そして、本フローを終了する。
【0084】
S50では、コマンド判定部400は、テストモードを設定する。そして、本フローを終了する。なお、テストモードは、例えば、開始から所定時間経過するまでの間、又はプリンター1の電源オフまで、又は通常モードに切り替える所定のコマンドをホストコンピューター2から受信するまで、継続されるようにすることができる。
【0085】
図5は、テストモードにおけるコマンド判定部400の処理を示すフロー図である。本フローは、テストモードにおいて、コマンド判定部400がコマンドを受信した場合に開始される。
【0086】
S110では、コマンド判定部400は、受信したコマンドをイメージ出力コマンド解釈部110に転送する。具体的には、コマンド判定部400は、受信したイメージ出力コマンドをUSB I/F46を介してIJPコントローラー10のイメージ出力コマンド解釈部110に転送する。そして、本フローを終了する。
【0087】
以上の図4〜図5の各処理単位は、プリンター1の処理を理解容易にするために、主な処理内容に応じて分割したものである。処理単位の分割の仕方や名称によって、本願発明が制限されることはない。プリンター1の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできる。また、1つの処理単位がさらに多くの処理を含むように分割することもできる。
【0088】
参考のため、本実施形態の特徴を有さない一般的なプリンターについて説明する。図6は、本実施形態の特徴を有さないプリンター1cの機能構成の一例を示すブロック図である。
【0089】
プリンター1cは、一般的なイメージ出力形式のIJPである。従って、プリンター1cは、IJPコントローラー10cと、印刷エンジン30とを有する。操作パネルを有していていもよい。IJPコントローラー10cには、コマンド受信部100cと、コマンド解釈部110cが構築される。
【0090】
コマンド受信部100cは、イメージ出力形式の印刷コマンドを受信し、コマンド解釈部110cに転送する。印刷コマンドとしては、例えば、ESC/P−Raster等のCMYKデータを含むCMYKコマンドや、ESC/P−R等のRGBデータを含むRGBコマンドを受信することができる。
【0091】
コマンド解釈部110cは、コマンド受信部100cからRGB又はCMYKの印刷コマンドを受信する。そして、RGBコマンドの場合、例えば、CMYK色変換、拡大/縮小、2値化等の処理を行うことにより印刷イメージデータを生成する。CMYKコマンドの場合、そのまま印刷イメージデータとして生成する、又は、必要な処理を行うことにより印刷イメージデータを生成する。そして、印刷イメージデータを印刷エンジン30に出力し、印刷媒体への印刷を実行させる。
【0092】
以上、本発明の一実施形態について説明した。本実施形態によれば、イメージ出力形式のプリンターを基本的な構成としたプリンターにおいて、よりコストを低く抑えながらPDL出力形式をサポートし、また、イメージ出力形式のコマンドも使用可能とすることができる。
【0093】
即ち、本実施形態では、既存のLPのコントローラー及びファームウェアの一部を、IJPに流用している。そして、IJPとLPのインターフェイスとしてRGBコマンドを使用するようにするとともに、LPのファームウェアにPDLコマンドの解釈結果をRGBコマンドに加工する機能を追加している。LPのファームウェアのPDL解釈機能と、IJPのファームウェアには、既存のものを流用して小さな改造(コマンドの送受信先の変更等)が行われる。
【0094】
このような構成により、単純にIJPのファームウェアにPDLコマンドを解釈する機能を追加する方法や、IJPコントローラーのCPUやメモリー等を置き換える方法と比べ、設計変更をする箇所を低減するとともに、開発・製造コストを低減することができる。
【0095】
また、IJPにおいてLPのPDLコマンドを使用することができるので、LPからIJPに買い替えをする場合に、ユーザーが新たにIJP専用のプリンタードライバーを置き換えする必要がない。即ち、共通ドライバーなどを継続的に使用することができる。
【0096】
さらに、本実施形態では、イメージ出力形式のコマンドをカプセル化したPDLコマンドを受信した場合、イメージ出力形式のコマンドが取り出され、当該コマンドに基づく処理が行われる。
【0097】
このような構成により、印刷エンジン等の機械的構造に密接に関連した調整・制御のためのテスト用コマンドを、通常のIJPと同様に処理することができる。その結果、PDL専用のIJPを実現するにあたり、印刷エンジン等の機械的構造の調整・制御を、小さな改造(カプセル化されたデータを分離する機能等)で可能とする。また、従来からIJPで使用されているテスト用コマンドを使用できるので、製造工程やテスト工程の作業内容に大きな変更を加える必要がない。
【0098】
さらに、本実施形態では、PDLコマンドをRGBコマンドに加工する、又はPDLコマンドにカプセル化されたイメージ出力コマンドを処理する通常モードに加え、イメージ出力形式のコマンドをそのまま処理するテストモードを有している。
【0099】
このような構成により、PDL専用のIJPを、イメージ出力形式のコマンドに対応したIJPとして動作させることができる。そのため、PDL専用のIJPを実現するにあたり、印刷エンジン等の機械的構造の調整・制御を、簡単に行える。例えば、プリンターの製造工程やテスト工程において、より効率的にテストを行うことができる。
【0100】
なお、上記の本発明の実施形態は、本発明の要旨と範囲を例示することを意図し、限定するものではない。多くの代替物、修正および変形例が当業者にとって明らかである。
【0101】
例えば、プリンターが、A1等のサイズの用紙に対応したLFP(Large Format Printer:大判プリンター)を基本構成とする場合に、PDLコマンドをLFP用の印刷コマンドに加工する機能をLPコントローラーに構築するようにしてもよい。即ち、RGBコマンド加工部420をLFPコマンド加工部に読み替える。また、イメージ出力コマンド解釈部110をLFPコマンド解釈部に読み替える。このようにすれば、上述したイメージ出力形式のコマンド体系だけでなく、LFPのコマンド体系にも対応することができる。即ち、LFPプリンターを基本的な構成としたプリンターにおいて、よりコストを低く抑えながらPDL出力形式をサポートすることができる。
【0102】
また、LFP用の印刷コマンドをPDLコマンドにカプセル化できるようにすれば、印刷エンジン等の機械的構造に密接に関連した調整・制御のためのテスト用コマンドを、通常のLFPと同様に処理することができる。LFP用の印刷コマンドをそのまま処理するテストモードを設けてもよい。
【0103】
同様に、例えば、SIDM(Serial Impact Dot Matrix)プリンターを基本的な構成としたプリンターにおいて、PDLコマンドをSIDM用の印刷コマンドに加工する機能をLPコントローラーに構築するようにしてもよい。このようにすれば、SIDMプリンターを基本的な構成としたプリンターにおいて、よりコストを低く抑えながらPDL出力形式をサポートすることができる。
【0104】
また、SIDM用の印刷コマンドをPDLコマンドにカプセル化できるようにすれば、印刷エンジン等の機械的構造に密接に関連した調整・制御のためのテスト用コマンドを、通常のSIDMと同様に処理することができる。SIDM用の印刷コマンドをそのまま処理するテストモードを設けてもよい。
【0105】
なお、本発明は、プリンターだけでなく、プリンター機能を有するコピー機、複合機等の印刷装置全般に適用できる。
【符号の説明】
【0106】
1:プリンター、2:ホストコンピューター、3:ネットワーク、10:IJPコントローラー、11:CPU、12:ROM、13:RAM、14:メモリー制御ASIC、15:ネットワークI/F、16:USB I/F、17:I/O制御ASIC、20:操作パネル、30:印刷エンジン、40:LPコントローラー、41:CPU、42:ROM、43:RAM、44:メモリー制御ASIC、46:USB I/F、47:I/O制御ASIC、100:コマンド受信部、110:イメージ出力コマンド解釈部、400:コマンド判定部、410:PDLコマンド解釈部、420:RGBコマンド加工部、1c:プリンター、10c:IJPコントローラー、100c:コマンド受信部、110c:コマンド解釈部

【特許請求の範囲】
【請求項1】
ネットワークに接続される情報処理装置であって、
PDLコマンドにPDLと異なる形式の所定のコマンドが含まれているか否かを判定し、含まれている場合に当該所定のコマンドを取り出して出力し、含まれていない場合に前記PDLコマンドをそのまま出力するコマンド取り出し手段と、
前記コマンド取り出し手段により出力されたPDLコマンドを解釈してRGBビットマップデータを含む解釈データを出力する第1コマンド解釈手段と、
前記解釈データを加工してRGBコマンドとして出力するコマンド加工手段と、
前記RGBコマンドを解釈して印刷イメージデータを生成する、又は、前記所定のコマンドに従って所定の制御を行う第2コマンド解釈手段と、
前記PDLコマンドを前記ネットワークから受信するコマンド受信手段と、
前記コマンド受信手段により受信されたPDLコマンドを前記コマンド取り出し手段に転送する第1通信手段と、
前記コマンド取り出し手段により出力された前記所定のコマンド、又は前記コマンド加工手段により出力された前記RGBコマンドを前記第2コマンド解釈手段に転送する第2通信手段と、を有する、
ことを特徴とする情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記コマンド取り出し手段は、前記PDLコマンドの中に所定の値が設定されているか判定し、当該所定の値が設定されている場合、所定の期間、前記第1通信手段により転送されるイメージ出力コマンドをそのまま前記第2通信手段に出力し、
前記第2通信手段は、前記コマンド取り出し手段により出力された前記イメージ出力コマンドを前記第2コマンド解釈手段に転送し、
前記第2コマンド解釈手段は、前記イメージ出力コマンドを解釈して印刷イメージデータを生成する、
ことを特徴とする情報処理装置。
【請求項3】
請求項1又は2に記載の情報処理装置であって、
前記印刷イメージデータに基づいて印刷を行うインクジェット方式の印刷エンジンを備え、
前記所定のコマンドは、前記印刷エンジンの各種機構を調整するためのテスト用コマンドである、
ことを特徴とする情報処理装置。
【請求項4】
請求項3に記載の情報処理装置であって、
前記テスト用コマンドは、ギャップ調整、紙送り補正、モーター調整、ヘッド調整、パターン印刷、ROMへの読み書きの少なくとも一つを指示するコマンドである、
ことを特徴とする情報処理装置。
【請求項5】
請求項1〜4いずれか一項に記載の情報処理装置であって、
前記所定のコマンドを含むPDLコマンドは、当該所定のコマンドのデータ長を示すパラメータを含み、
前記コマンド取り出し手段は、前記パラメータが示すデータ長のデータを前記所定のコマンドとして取り出して出力する、
ことを特徴とする情報処理装置。
【請求項6】
請求項2に記載の情報処理装置であって、
前記所定の期間は、前記情報処理装置の電源がオフされるまでの期間である、
ことを特徴とする情報処理装置。
【請求項7】
請求項6に記載の情報処理装置であって、
前記所定の値は、0xFFである、
ことを特徴とする情報処理装置。
【請求項8】
請求項3に記載の情報処理装置であって、
IJPの機能を制御するIJPモジュールと、
LPの機能を制御するLPモジュールと、を備え、
前記IJPモジュールは、前記コマンド受信手段、前記第1通信手段、及び前記第2コマンド解釈手段を有し、
前記LPモジュールは、前記コマンド取り出し手段、前記第1コマンド解釈手段、前記コマンド加工手段、及び前記第2通信手段を有する、
ことを特徴とする情報処理装置。
【請求項9】
請求項8に記載の情報処理装置であって、
前記IJPモジュール及び前記LPモジュールはそれぞれ、CPU及びメモリーを有し、所定のプログラムに従って前記の各手段を実現する、
ことを特徴とする情報処理装置。
【請求項10】
請求項9に記載の情報処理装置であって、
前記IJPモジュール及び前記LPモジュールは、USBにより接続され、
前記第1の通信手段及び前記第2の通信手段は前記USBを介してコマンドの転送を行う、
ことを特徴とする情報処理装置。
【請求項11】
請求項1〜10いずれか一項に記載の情報処理装置であって、
前記PDLコマンドとして、ESC/P−Page、PostScript、PCL、PJL、及びEJL少なくともいずれか一つが使用され、
前記RGBコマンドとして、ESC/P−R、及びRemoteの少なくともいずれか一つが使用され、
前記イメージ出力コマンド又は前記所定のコマンドとして、ESC/P−R、ESC/P−Raster、及びRemoteの少なくともいずれか一つが使用される、
ことを特徴とする情報処理装置。
【請求項12】
ネットワークに接続される情報処理装置における情報処理方法であって、
PDLコマンドにPDLと異なる形式の所定のコマンドが含まれているか否かを判定し、含まれている場合に当該所定のコマンドを取り出して出力し、含まれていない場合に前記PDLコマンドをそのまま出力するコマンド取り出しステップと、
前記コマンド取り出しステップにより出力されたPDLコマンドを解釈してRGBビットマップデータを含む解釈データを出力する第1コマンド解釈ステップと、
前記解釈データを加工してRGBコマンドとして出力するコマンド加工ステップと、
前記RGBコマンドを解釈して印刷イメージデータを生成する、又は、前記所定のコマンドに従って所定の制御を行う第2コマンド解釈ステップと、
前記PDLコマンドを前記ネットワークから受信するコマンド受信ステップと、
前記コマンド受信ステップにより受信されたPDLコマンドを前記コマンド取り出しステップに転送する第1通信ステップと、
前記コマンド取り出しステップにより出力された前記所定のコマンド、又は前記コマンド加工ステップにより出力された前記RGBコマンドを前記第2コマンド解釈ステップに転送する第2通信ステップと、を含む、
ことを特徴とする情報処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−224786(P2011−224786A)
【公開日】平成23年11月10日(2011.11.10)
【国際特許分類】
【出願番号】特願2010−93782(P2010−93782)
【出願日】平成22年4月15日(2010.4.15)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】