以下、本発明の実施の形態に係る画像処理装置について、図1乃至図13を参照しながら説明する。尚、各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。
実施形態に係る画像処理装置の説明に先立ってPC内のプリンタドライバによる印刷プレビュー画像の生成機能について簡単に説明する。PCのアプリケーションがマウスやキーボードといったユーザ操作機器を介して印刷を指令されると、アプリケーションはOS(オペレーティングシステム)を介してプリンタドライバを呼ぶ。
図1は印刷プロパティの設定画面の一例を示す図である。図2はプリンタドライバが生成する印刷プレビュー画面の一例を示す図である。
プリンタドライバはハーフトーンの設定や原稿モードの設定など、印刷画質に関する設定を行う。プリンタドライバは、図1に示すように、設定内容をユーザが判る様にダイアログボックスをモニタ画面上に表示する。またアプリケーション側は、図2に示すように、画像がどの様なレイアウトで印刷されるか、ページ数は何ページであるかをユーザが確認できる様にウィンドウを画面上に表示する。
この場合、アプリケーション側で作成される印刷プレビュー画面には、印刷プロパティの設定画面で設定された印刷画質に関する設定が反映されていない。印刷後の紙上の印刷結果がプレビュー画面と異なるという問題がある。
そのため特許文献1は、PCが印刷装置に対し、画像データと、画質に関連する設定内容を含む画質関連設定データとを送り、印刷装置内の画像処理部が画像データに対して色変換処理及び階調処理を行って処理結果をPCへ戻す点を開示する。
図3は特許文献1に記載のPC側における処理結果の表示例を示す図である。図3の設定画面は、PCが返信画像データを取込み、返信画像データを処理することにより得られる。特許文献1に記載の画像処理方法は、印刷結果とプレビュー画面とが異なるという問題を解決しようとしている。
この場合、画質関連設定内容がプレビュー画像にどのように反映されたかを人が判るようになる。しかし、印刷装置が生成する画像処理後の画像データはこの印刷装置の解像度を持つため、画像データのデータサイズは大きい。印刷装置からPCへ画像データを転送する時間がかかる。
また、特許文献1に記載の画像処理方法では、画像レイアウトを調整することやモニタ色合わせを行うこと等の処理をPCが行う必要がある。解像度が高い画像データをPCが処理することは、処理時間がかかる。ユーザ操作機器が設定した設定内容をPCがプレビュー画面に反映させるためには時間がかかる等の問題が発生する。
そこで実施形態に係る画像処理装置は、画質関連の印刷設定内容がプレビュー画像に反映されたことを、印刷プレビュー画像を返送して送信元に通知し、印刷プレビューに要する時間を短縮するようにしている。
また、実施形態に係る画像処理装置は、画像処理をソフトウェア化することにより、画像処理システムを、印刷プレビュー画像を作成する処理と異なるプログラム処理にも使えるようにした仕組みを備える。この画像処理装置は、より使い易い画像処理システム及び画像処理の手法を提供する。
(参考形態)
参考形態に係る画像処理装置及び画像処理方法を説明する。参考形態に係る画像処理装置はデジタル複合機に設けられる。
デジタル複合機は、コピー、スキャン、プリント、ファクス等の複数の機能を搭載する。デジタル複合機は複雑な画像処理を高速に実行するための専用ハードウェアを内部に搭載する。専用ハードウェアとは特定用途向けのLSI(Large Scale Integration)等を指す。
近年高速演算可能なプロセッサが開発されており、ハードウェアの代わりに、ソフトウェアが画像処理の機能の一部を実現できる様になってきている。ソフトウェア化のメリットは、様々な処理の要求に対して柔軟に対応できるとともに、それらの機能を実現するためのコストがハードウェア実装時のコストに比べて小さいことが挙げられる。
専用ハードウェアを画像処理装置に実装するコストは非常に高いため、使用頻度や効果等を考慮すると、ハードウェアを画像処理装置に搭載することをあきらめる必要がある。
しかし、一定の条件を満たす場合、ソフトウェアを画像処理装置に実装することは低コストで行える。必要なコストは、プログラムを格納するための記憶領域をハードディスクドライブ内に増やす程度のコストで済み、非常に低コストである。
そこで、参考形態に係る画像処理装置を含むデジタル複合機は、画像処理をソフトウェアが実行することにより得られる処理の柔軟性を生かすようにしている。この画像処理装置はPCに印刷プレビューを表示させる機能を実現するのみならず、PC等が実行可能な画像処理を高速に実行処理する機能を実現する。実行処理速度が高速である画像処理装置をデジタル複合機が利用することにより、高速な画像処理を実行可能なシステムが提供されるようになっている。
(a1)システム1のハードウェア構成
図4は参考形態に係る画像処理装置を含むシステムのハードウェア構成図である。システム1は、送信元と通信するインターフェース、プロセッサ及びメモリを有し、プロセッサが複数の画像処理プログラムをメモリにロードしこれらのプログラムを実行することにより、コンピュータからの画像データをプレビュー画像へ変換する演算を高速に行う画像処理システムである。
システム1は、インターフェースブロック2、複数のマルチコアプロセッサ3、複数のメモリ4、及びそれぞれMFP機能をモジュール化してなる複数のモジュールデバイスを備える。
インターフェースブロック2は、このインターフェースブロック2とPC5との間で高速LAN(Local Area Network)6を介してデータを送受信するものである。
PC5は送信元である。PC5は、CPUやメモリ、ユーザ操作機器を有する。メモリはアプリケーションを記憶する。CPUは、ユーザ操作機器から指令を受けるとアプリケーションをメモリ上で実行する。
各マルチコアプロセッサ3はいずれも各種画像処理プログラムを高速に演算するプロセッサである。各メモリ4はいずれもプログラムや作業データを記憶する記憶素子である。マルチコアプロセッサ3はメモリ4の記憶領域を作業領域として使用する。
インターフェースブロック2は、各種モジュールデバイスと接続されており、これらのモジュールデバイス間のインターフェースを司る。
インターフェースブロック2は、スキャナ7とインターフェースするスキャナインターフェース(スキャナI/F)2aと、プリンタ8とインターフェースするプリンタインターフェース(プリンタI/F)2bを有する。
プリンタ8は電子写真方式の画像形成装置である。プリンタ8は、目標解像度でカラー画像を紙などの媒体に印刷して搬送出力する。
インターフェースブロック2は、ハードディスクドライブ(HDD)9とインターフェースするハードディスクドライブインターフェース(HDDI/F)2cを有する。ハードディスクドライブ9は各種の画像処理プログラムやOSを記憶する。
更にインターフェースブロック2は、各マルチコアプロセッサ3とそれぞれインターフェースする拡張インターフェース(拡張I/F)2dと、高速LAN6とインターフェースするネットワークインターフェース(ネットワークI/F)2eとを有する。インターフェースブロック2は、FAX等の公衆回線接続機器10とインターフェースするモデム2fを有する。
インターフェースブロック2は、操作パネル11に加えられた操作内容を示す信号をインターフェース処理する操作パネルインターフェース(操作パネルI/F)2gを有する。操作パネル11は、キーボード、表示パネル、あるいは個人認証機能を有する装置などを装備する。操作パネルインターフェース2gは、キーボードや個人認証装置へ入力された情報を信号に変換して出力する。
更にインターフェースブロック2は汎用入出力インターフェース(汎用I/OI/F)2hを有する。汎用入出力インターフェース2hは、USB(Universal Serial Bus)インターフェース、IEEE(Institute of Electrical and Electronics Engineers)1394インターフェース等によって外部デバイスと接続される。外部デバイスはフラッシュROM12である。
インターフェースブロック2は、インターフェース2a〜2hを互いにバス接続する図示されないバスと、バスに接続されたI/Oコントローラと、バスに接続されたネットワークコントローラとを有する。これらのコントローラはいずれもハードウェアであり、OSにより管理される。ここでOSはジョブ管理、入出力管理及びファイル管理を行うプログラムである。
各種の画像処理プログラムのプログラムファイルを、フラッシュROM12又はハードディスクドライブ9は記憶する。フラッシュROM12又はハードディスクドライブ9に格納された各種画像処理のプログラムファイルを、必要に応じていずれか一以上のマルチコアプロセッサ3が読み出して実行する。
各種の画像処理プログラムを各マルチコアプロセッサ3が実行することにより、画像処理システムとしての機能が実現されるようになっている。
プログラムファイルを記憶する記憶媒体には、メモリカード、CD−ROM、DVD、ブルーレイディスクなどを用いることができる。
主にインターフェースブロック2、マルチコアプロセッサ3、メモリ4、スキャナ7、プリンタ8、ハードディスクドライブ9、操作パネル11により、デジタル複合機13が構成される。
参考形態に係る画像処理装置は、各マルチコアプロセッサ3、各メモリ4、ネットワークインターフェース2e、拡張インターフェース2d、ハードディスクドライブインターフェース2c、汎用I/Oインターフェース2hを備える。この画像処理装置とPC5とによって、プリンタ8による印刷プレビュー画像をプレビューする機能が実行される。
(a2)システム1の機能構成
システム1は印刷制御システムとしても機能する。システム1における印刷処理の流れについて図5、図6を参照して説明する。図5はシステム1の機能構成を示す図である。同図に示す符号のうち上述した符号と同じ符号を有する要素はそれらと同じ要素を表す。
(a3)PC5の構成
PC5は、操作部14、アプリケーション15、プリンタドライバ16、ネットワークインターフェース(ネットワークI/F)17、表示部19を有する。
操作部14はマウスやキーボードといったユーザ操作機器である。
アプリケーション15は、印刷すべきドキュメントを作成するアプリケーションプログラムである。
アプリケーション15は、図示しないグラフィックデバイスインターフェースなどのインターフェースプログラムとの間でデータの受け渡しを可能にされている。
インターフェースプログラムは、アプリケーション15からのドキュメントのデータ形式を変換してプリンタドライバ16に適合する画像情報を生成するものである。
プリンタドライバ16はプログラムである。プリンタドライバ16の機能は、画像情報からデジタル複合機13が解析可能な描画情報を含むPDLデータへと変換する機能と、プレビュー用の画像データを作成する機能と、デジタル複合機13側との間で通信及び通信の制御を行う機能とを含む。PDLデータは印刷データである。プリンタドライバ16の詳細な機能については後述する。
ネットワークインターフェース17は、ネットワーク18とプリンタドライバ16とをインターフェースするものである。ネットワーク18には高速LAN6が用いられる。
ネットワークインターフェース17は、ネットワーク18を介してデジタル複合機13に対して印刷ジョブを送り、デジタル複合機13からデジタル複合機13が作成したプレビュー用画像データを受信する。
ネットワークインターフェース17は、ネットワーク18に接続される端子類、IC(Integrated Circuit)と、パケットの送受信処理を行うためのCPU、ROM(Read Only Memory)及びRAM(Random Access Memory)とからなる。
表示部19は、ネットワークインターフェース17が受信したプレビュー用画像データを用いてプリンタドライバ16が生成したプレビュー画面を表示するモニタである。
(a4)プリンタドライバ16の機能
プリンタドライバ16は、PDLデータを作成するPDLデータ作成部16aと、印刷ジョブを管理するためのジョブ番号を記憶するテーブル16bと、プレビュー画像を表示部19に表示させるプレビュー画面作成部16cとを備える。プレビュー画面作成部16cが作成するプレビュー画像はデジタル複合機13から受信されるものである。
処理の一例として、PDLデータ作成部16aは、アプリケーション15から印刷指示が発行されるとPDLデータを作成し、PDLデータとヘッダとからなる印刷ジョブを作成し、印刷ジョブをスプーラに登録する。スプーラはPC5のOSがネットワーク18のいずれかに設けられたRAMにロードしたプログラムである。スプーラは印刷ジョブを印刷ジョブファイルとして記憶する。
テーブル16bは印刷ジョブを識別するジョブ番号を記憶する。PDLデータ作成部16aは、アプリケーション15より印刷を指示されると、印刷ジョブに対してジョブ番号を付与する。テーブル16bは、ジョブが発行されるごとにジョブ番号をインクリメントする等の処理を行う。PC5がデジタル複合機13からメッセージを受信したときに、テーブル16bに記憶されたジョブ番号を、CPUは参照可能にされている。
プレビュー画面作成部16cは、デジタル複合機13からのプレビュー画像データを元にモニタ表示用のプレビュー画面データを作成して表示部19に表示させる。プレビュー画像データは、デジタル複合機13がPDLデータを中間画像データに変換した後、変換済み中間画像データを更に後処理して得られたものである。
参考形態に係る画像処理装置を含むシステム1では、アプリケーション15は操作部14からプレビューの指令を受けると、プレビュー要を示す情報、プレビューを確認した旨を示す情報、及びプレビューなしで印刷を行わせる旨の情報のいずれかを作成するようにしている。プリンタドライバ16は、アプリケーション15から印刷指令を受けると、この印刷指令の中に、3種類のプレビューに関する情報のいずれかが含まれているかどうかを判別するようにしている。
プリンタドライバ16は、アプリケーション15からの印刷指令の中から、プレビュー要を示す情報、あるいはプレビューを確認した旨を示す情報、あるいはプレビューせずに印刷する旨の情報のいずれかを抽出し、いずれかの情報に対して、3種類のデータ構造を持つ印刷ジョブを生成するようにしている。図6(a)から図6(c)を参照して更に述べる。
図6(a)はプレビュー時にプリンタドライバ16が作成する印刷ジョブのデータ構造を示す図である。印刷ジョブ20は、ジョブ番号、指令コマンド、その他制御データ、及び印刷用データの各データ領域を有する。
ジョブ番号はジョブ識別情報である。各印刷ジョブに対してユニークにプリンタドライバ16により付与される。指令コマンドは、PDLデータのプレビュー画像を作成するとともにこのプレビュー画像をPC5へ返送することを指令するコマンドである。指令コマンドは、プレビューの要否の情報を表すデータ形式により記述される。指令コマンドには例えばプレビューON及びプレビューOFFの2値を含む複数の論理値を表現可能なバイトデータが用いられる。
その他制御データは画像処理以外のインストラクションであり、プレビュー画像の返信先を変更する場合における変更後のプレビュー画像の返信アドレスなどが含まれる。印刷用データはページ毎に記述されたPDLデータである。
プリンタドライバ16は、アプリケーション15からの印刷指令の中にプレビューを要求する旨の情報が含まれる場合、プレビューONをヘッダ内に付加した印刷ジョブ20を作成する。プリンタドライバ16は、印刷ジョブ20に対応するジョブ番号をテーブル16bに書込む。
プリンタドライバ16が印刷ジョブ20をデジタル複合機13へ送ることにより、プリンタドライバ16はデジタル複合機13に対し、印刷ジョブ20内のPDLデータのプレビュー用の画像データを生成し、生成した画像データを一旦は印刷せずに蓄積し、印刷前のプレビュー画像データをPC5に送ることを通知するようにしている。
図6(b)は本印刷時1(第1の本番の印刷)においてプリンタドライバ16が作成する印刷ジョブのデータ構造を示す図である。印刷ジョブ21は、印刷用データの領域を持たない。
アプリケーション15からの印刷指令の中にユーザが表示部19を介してプレビュー画面を確認したプレビュー確認済みの旨を示す情報が含まれる場合、プリンタドライバ16は印刷ジョブ21にPDLデータを含めずに、確認した画像データに対応するジョブ番号をテーブル16bから読出し、このジョブ番号をプレビュー時ジョブ番号として印刷ジョブ21に含める。プレビュー時ジョブ番号は、デジタル複合機13側の記憶装置26内に印刷ジョブ単位で管理されて記憶された変換済み中間画像データを指定する中間画像指定情報である。
即ち、プリンタドライバ16がデジタル複合機13に対しプレビュー用の画像データを生成して返送するよう指示した後、プレビュー画像データを受取った状況において、プリンタドライバ16がアプリケーション15からプレビュー確認完了を通知された場合、プリンタドライバ16はデジタル複合機13に対し、このデジタル複合機13が蓄積しているプレビュー処理が済んだ画像データを印刷するよう指令する。指令のメッセージには印刷用データは含まれないため、指令メッセージ自体のデータサイズが小さくなるようにされている。
デジタル複合機13側も、先に受信した印刷ジョブに含まれるPDLデータとこの印刷ジョブのジョブ番号とを対応付けて記憶している。デジタル複合機13はPC5へ送るプレビュー用画像データに、記憶しておいたジョブ番号を付与するようになっている。プリンタドライバ16はデジタル複合機13から返信を受信すると、返信のメッセージからプレビュー用の画像データに対応するジョブ番号を抽出するようになっている。
図6(c)は本印刷時2(第2の本番の印刷)においてプリンタドライバ16が作成する印刷ジョブのデータ構造を示す図である。印刷ジョブ22は、プレビューON又はプレビューOFFのデータを有しない。
アプリケーション15からの印刷指令の中に、プレビューは不要であり印刷を行う旨を示す情報が含まれている場合、プリンタドライバ16は、PDLデータとこのPDLデータに対応するジョブ番号とを含む印刷ジョブ22を作成する。
プリンタドライバ16はデジタル複合機13へ印刷ジョブ22を通知することによって、デジタル複合機13に対してPDLデータのプレビュー画像の生成をせずにPDLデータを印刷するよう指令する。
(a5)デジタル複合機13の構成
図5のデジタル複合機13は、ネットワークインターフェース23、画像処理部24、プリント部25、記憶装置26、及び制御部27を有する。
ネットワークインターフェース23はネットワーク18と、内部バスとをインターフェースするものである。ネットワークインターフェース23は受信部及び送信部として機能する。ネットワークインターフェース23にはネットワークインターフェース2eが用いられる。
画像処理部24は参考形態に係る画像処理装置である。画像処理部24は、ネットワークインターフェース23を介してPC5からの印刷ジョブを受信し、印刷ジョブ中のPDLデータから印刷用画像データを生成する。画像処理部24は、PDLデータを画像処理して印刷用中間画像データ及びプレビュー用画像データに変換し、この印刷用中間画像データを、印刷ジョブに含まれるジョブ番号と関連付けて記憶装置26に書込む。印刷用中間画像データは記憶装置26に一時的に記憶される。
プリント部25は、印刷用画像データを紙などの被記録媒体に印刷する。プリント部25にはプリンタ8が用いられる。
記憶装置26は、画像処理部24からの印刷用中間画像データを一時的に記憶するためのハードディスクドライブである。記憶装置26はPDLデータを展開処理して作成される中間画像データを、ジョブ番号を付与された印刷ジョブ単位で管理して記憶する。
制御部27は、デジタル複合機13内の各部の制御を司る。
制御部27は、受信印刷ジョブに含まれる中間画像指定情報としてのジョブ番号と、記憶装置26に記憶されたジョブ識別情報としてのジョブ番号とが一致するかどうかを判定し、判定結果が一致である場合、このジョブ識別情報としてのジョブ番号に対応する中間画像データを記憶装置26から読出すものである。
具体的には、制御部27は、受信した印刷ジョブ中の指令コマンドを読み込み、印刷ジョブ中のPDLデータをプレビュー用の画像データに変換してPC5側へ返信するかどうかを判定する。
制御部27は、プレビューONを付されたPDLデータについて、このPDLデータのジョブ番号をRAMに書込みして管理する。
制御部27は、指令コマンド及びジョブ番号に基づいて次の3つの処理(1)から(3)のうちのいずれかを選択する。
(1)受信した印刷ジョブ中のPDLデータをプレビュー用画像データへ変換し、変換したプレビュー用画像データをPC5へ送る。
(2)記憶装置26が記憶するプレビュー用画像データをプリント部25に印刷させる。
(3)受信した印刷ジョブ中のPDLデータをプレビュー用画像データへ変換し、変換したプレビュー用画像データを印刷する。
更に(1)について述べると、制御部27は、画像処理部24に対し、受信データからプレビュー用の画像データを生成させる。制御部27は生成した画像データを一時的に記憶装置26に書込むよう画像処理部24に指令する。
(2)については、制御部27は、受信した印刷ジョブ中に、プレビュー時のジョブ番号が挿入されている場合、ジョブ番号に対応するプレビュー用画像データを記憶装置26から読み出し、プレビュー用画像データをプリント部25に印刷させる。
(3)については、制御部27は、受信した印刷ジョブにプレビュー不要である旨の情報が挿入されている場合、印刷を即座に行うものと判断し、印刷ジョブ中のPDLデータを直にプリント部25に印刷させる。
受信部としての機能するネットワークインターフェース23は、送信元のPC5から、PDLデータ及び返送指令コマンドを含む第1の印刷ジョブを受信する。
あるいは、ネットワークインターフェース23は、記憶装置26に記憶された変換済み中間画像データを指定するジョブ番号を含む第2の印刷ジョブを受信する。
(a6)画像処理部24の構成
画像処理部24はRIP(Raster Image Processing)処理部28、印刷画像生成前処理部29、印刷画像生成後処理部30、プレビュー用画像処理部31を有する。
RIP処理部28は画像展開処理であるラスタライジングを行って、文字や線画などの命令が記述された言語情報からビットマップ形式のラスタデータを生成するものである。
印刷画像生成前処理部29はRIP処理部28から出力されるラスタデータに対し、前処理を実行し、得られた中間画像データを記憶装置26に書込むものである。前処理とは、PC5に依存する色空間の画像データを、PC5及びプリント部20に依存しない色空間の画像データに変換する処理であり、色変換、縮小、黒生成(墨入れ)などを指す。
印刷画像生成後処理部30は記憶装置26に記憶された中間画像データに対し、後処理を実行し、得られた印刷用画像データをプリント部25へ出力するものである。
後処理とはPC5及びプリント部20に依存しない色空間の画像データを、プリント部20に依存する色空間の画像データに変換する処理であり、キャリブレーションや階調補正のための変換処理などを指す。
プレビュー用画像処理部31は、記憶装置26に記憶された画像データに対し、プレビュー用画像処理を行うものである。プレビュー用画像処理部31は、上記の後処理と実質同じ後処理を実行する機能に加え、PC5上にプレビュー画面を表示する際に必要なデータの加工機能を備える。
例えばカラー印刷の場合、PC5のアプリケーション15あるいは表示部19の表示色の再現範囲と、プリンタ部20の印刷色の再現範囲とは異なる。印刷画像生成前処理部29は、色変換特性が記述されたカラープロファイルデータを参照し、PC5側の色空間で定義された画像データを一旦PC5側に依存しない色空間の画像データへと変換するようにしている。印刷画像生成後処理部30は、変換された色空間を、別の色変換特性が記述されたカラープロファイルデータを参照することにより、プリンタ部20に依存する色空間へと変換するようにしている。
印刷画像生成前処理部29が前処理を行った後、処理して得られた中間画像データが蓄積される。プレビュー用画像処理部31は、この蓄積された中間画像データからプレビュー用の画像データを作成する。プレビュー用の画像データがPC5へ戻された後、表示部19が表示することによって、どのような印刷結果が得られるのかを人がプレビュー可能にされている。
(a7)動作
このような構成の画像処理部24を含むシステム1は、特許文献1が開示するプレビューに使用するデータと異なるデータを用いる。特許文献1は、画像データと設定データとを使用する点を開示しているが、システム1は、プレビューのために印刷データであるPDLデータを用いる。システム1は、PDLデータ自体を、本番の印刷(本印刷)で使用するデータとして使う。以下、印刷処理の流れについて説明する。
図7Aはデジタル複合機13での処理を説明するためのフローチャートである。ステップA1において、制御部27は、受信した印刷ジョブのヘッダを読み込む。
ステップA2において、制御部27は、印刷ジョブの中に指令コマンドが挿入されているかどうかを判定する。ステップA2において、指令コマンドが挿入されている場合、Yesルートを通り、ステップA3において、制御部27は指令コマンドがプレビューONであるかどうかを判別する。
ステップA3において、制御部27は指令コマンドがプレビューONであると判定した場合、Yesルートを通り、ステップA4において、RIP処理部28を呼ぶ。ステップA4において、RIP処理部28は、PDLデータに対し、レンダリング処理を実行する。
引き続きステップA5において、制御部27は印刷画像生成前処理部29を呼ぶ。印刷画像生成前処理部29は、RIP処理部28から出力された画像データに対し前処理を施す。前処理として、色変換、黒生成、及びエッジ強調等の処理など、デバイスや印刷媒体に依存しない処理を印刷画像生成前処理部29は行う。
ステップA6において、印刷画像生成前処理部29は得られた印刷用中間データを記憶装置26に一旦蓄積する。
ステップA7において、制御部27はプレビュー用画像処理部31を呼び、プレビュー用画像処理部31は、印刷画像生成後処理の機能を実行し、この実行に加え、PC5上にプレビュー用画像データを表示する際の加工等を行う。ステップA8において、制御部27は、プレビュー用画像データをPC5へ返送する。
また、ステップA3において、印刷ジョブの中の指令コマンドがプレビューOFFを示す場合、Noルートを通り、ステップA9において、制御部27は、印刷ジョブのプレビュー時ジョブ番号を抽出する。
ステップA10において、制御部27は印刷画像生成後処理部30を呼ぶ。印刷画像生成後処理部30は、印刷用中間データを読み込み、印刷用中間データに対して後処理を施す。後処理として、キャリブレーション、印刷される紙の色、紙の厚さの変化に対応するためのデバイスの状態や印刷媒体に依存する処理を、印刷画像生成後処理部30は行う。
ステップA11において、制御部27はプリント部25を呼び、プリント部25は、後処理されたデータを印刷媒体上に印刷する。
プレビューがOKであることが、PC5からデジタル複合機13へ通知されると、既に印刷画像生成前処理は完了済みであるため、前処理済みのデータについてプリント部25のデバイス特性に合う印刷画像生成後処理が行われるようになる。
また、ステップA2において、制御部27は、印刷ジョブの中に指令コマンドが挿入されていないと判定した場合、Noルートを通り、Iと付された別のルーチンを制御部27は実行させる。
図7Bはデジタル複合機13での処理を説明するための他のフローチャートである。ステップA12において、制御部27はRIP処理部28にレンダリング処理を行わせる。ステップA13において、制御部27は印刷画像生成前処理部29に、前処理を行わせる。ステップA14において、印刷画像生成前処理部29は印刷用中間データを記憶装置26に書込む。ステップA15において、制御部27は印刷画像生成後処理部30に後処理を行わせる。ステップA16において、制御部27はプリント部25に、後印刷用データを印刷させる。
画像処理部24は、本印刷に使用する印刷用中間データをベースにして処理を行っている。画像処理部24が印刷用中間データをベースにすることにより、フォントの形状、レイアウト状態、色合い等が正確に再現されるようになる。
RIP等の処理プログラム内にバグが存在する場合も、不具合が忠実に再現されるため、ユーザは不具合を正す操作を行えるようになり、不具合による無駄な印刷も防止することができるようになる。
また、プリンタ部20のカラープロファイルが反映されたプレビュー画像を元に、プリンタドライバ16を調整することにより、ユーザの嗜好に沿った色合いを得ることができるようになる。
従来、PCから印刷装置側へ毎回印刷指令を通知し、通知される度に印刷装置がRIP処理を繰り返す。参考形態に係る画像処理部24では、プレビューの要求をPC5から画像処理部24へ送ること、画像処理部24が印刷画像生成前処理を行うこと、及び画像処理部24がプレビュー用画像をPC5へ送ることといった一連のサイクルが実行されるため、プレビュー処理を高速に行えるようになる。
次に、図6、図8を参照してPC5側のプリンタドライバ16が、本印刷とプレビューとを制御する方法について説明する。図8はプリンタドライバ16の処理を説明するためのフローチャートである。
アプリケーション15が実行されている状態で、ユーザが操作部14で印刷プレビューなどの画面上のボタンをクリックすると、ステップB1において、PC5のOSは、アプリケーション15でのユーザ指令を検知する。
ステップB2において、プリンタドライバ16はアプリケーション15からプレビューを指令されたかどうかを判定する。ステップB2において、プレビューを指令されたとプリンタドライバ16が判定した場合、Yesルートを通り、ステップB3において、プリンタドライバ16は、PDLデータにプレビューONを付加して印刷ジョブを作成する。
ステップB4において、プリンタドライバ16は図6(a)のプレビュー時のデータ構造を有する印刷ジョブをデジタル複合機13へ送信する。プリンタドライバ16の状態はメッセージの返信を待機する状態になる。
ステップB5において、PC5はプレビュー用画像データをデジタル複合機13から受信したことを検知すると、プリンタドライバ16を呼ぶ。
ステップB6において、プリンタドライバ16はプレビュー用画像を表示部19の画面に表示させる。ユーザは印刷内容を確認し、印刷OKである旨を伝えるべく操作部14を操作する。OSはユーザ指令があったことをアプリケーション15へ通知する。
ステップB7において、プリンタドライバ16はアプリケーション15から、プレビュー画像の確認を終えて印刷させる旨を通知されたかどうかを監視しており、プレビュー画像の確認済みの情報が通知されていない間はNoルートを通り監視を続ける。
プリンタドライバ16がプレビュー確認済みを通知されると、Yesルートを通り、ステップB8において、図6(b)の本印刷時1のデータ構造を有する印刷ジョブを作成しこれをデジタル複合機13へ送信する。
また、ステップB2において、アプリケーション15からプレビューを要求されずに、アプリケーション15から印刷指令をプリンタドライバ16が受けた場合、Noルートを通り、ステップB9において、プリンタドライバ16は、図6(c)の本印刷時2のデータ構造を有する印刷ジョブを作成しこれをデジタル複合機13へ送信する。
このように、プリンタドライバ16は、プレビュー時には、PDLデータ上にプレビューを示すコマンドを付加し、本印刷時には、PDLデータにプレビュー時のジョブ番号を付加する。
このようにして、プリンタドライバ16は、ファイル記述形式を変えることにより、本印刷及びプレビュー両者の違いを画像処理部24へ通知する。
以上をまとめると、印刷ジョブ内に印刷用データが有るか無いかは、印刷実行を行うタイミングによって異なる。プレビュー画面でプレビューの直後に印刷指令の処理が実行された場合、本印刷時1のデータ構造のファイルが生成される。プレビューされずに印刷指令の処理が実行された場合、本印刷時2のデータ構造のファイルが生成される。
プレビュー用PDLデータがデジタル複合機13に送られてきた時、画像処理部24は印刷用中間データを作成し、印刷用中間データを記憶装置26に蓄えるとともにプレビュー用画像処理を行う。この時、記憶装置26に蓄積される印刷用中間データは、受信した印刷ジョブに含まれるジョブ番号により管理される。
画像処理部24からPC5へ送られるプレビュー用画像データは表示部19のプレビュー画面上に表示される。
この状態で次に、画像処理部24は、本印刷時1のPDLデータが送られてきた時、記憶装置26のデータを検索する。画像処理部24は、蓄積されたデータ中から、プレビュー時のジョブ番号により管理されている印刷用中間画像データを読み出す。画像処理部24は、印刷用中間画像データにそのまま印刷画像生成後処理を施し、後処理を行った画像データをプリント部25へ即時に出力する。これにより、システム1全体で、高速な印刷処理が実現されるようになる。
また、PC5は、画像データが未だプレビューされていないと判定した場合、デジタル複合機13へ通常の印刷ジョブを送り、画像処理部24はこのファイル中のPDLデータについて通常の印刷処理を行う。
以上の説明は、処理の流れについての説明である。
(a8)印刷プレビューの高速化手法
次に、印刷プレビューの高速化手法について説明する。
仮にデジタル複合機13が生成した印刷用中間画像データを、そのままPC5へ戻してプレビューを行う場合、印刷用中間画像データの解像度が高く、この印刷用中間画像データのデータサイズは大きいため、印刷用中間画像データを転送することは転送時間がかかる。
参考形態に係る画像処理部24が行う高速化手法は、プレビュー画像データの解像度を変換すること、及びプレビュー画像全体のうち表示される部分のみのプレビュー画像データを返送することを組合わせる処理を行うものである。
具体的には、表示部19のディスプレイの解像度が、プリンタ部20が印刷可能な画像の解像度に比べて低いことを利用して、画像処理部24は、ページ全体をプレビューする場合、プレビュー画像の解像度を縮小等、変換を行うようにしている。
加えて、画像処理部24は、より詳細な画像をプレビューする場合、ページ全体の画像データを送らずに、表示される部分のプレビュー画像データのみを送るようにしている。
画像処理部24がデジタル複合機13からPC5へのプレビュー画像データの転送量を減らすことによって、データの転送時間が短縮されるようになっている。
図9を参照して画像データの一部分をデジタル複合機13がPC5へ送る方法を詳述する。図9(a)はアプリケーション15が作成した印刷されるべきドキュメントの1ページ全体の画像を示す図である。
図9(b)はプレビュー画面上のプレビュー画像の表示範囲を示す図である。表示部19の斜線で囲まれた表示範囲33内に、図9(a)の画像32の1ページ分に対応するプレビュー画像が表示される。
図9(a)の画像32のデータは、プリンタドライバ16から画像処理部24へ送られる。画像処理部24はプレビュー画像を作成するとともにプレビュー画像を縮小する。画像処理部24は、図9(b)の表示範囲33の大きさに合わせて、プレビュー画像の解像度を変換する。
プリンタドライバ16はプレビューONを送出した後、画像処理部24から解像度変換後の最初のプレビュー画像を返送される。
図9(c)はドキュメントの最初のプレビュー画面を示す図である。表示部19には、図9(b)の表示範囲33の大きさと同じ大きさの縮小された画像34が表示されている。
同図のような実解像度の画面表示が行われている状態で、アプリケーション15が表示をさせようとする画像範囲の座標の中心点を指定すると、プリンタドライバ16は中心点の位置のデータを、更新要求(図5)としてデジタル複合機13の制御部27へ送る。
ここでプリンタドライバ16は、更新要求を、表示位置、サイズ、ページ等の表示関連データと一緒に制御部27へ送るようにする。制御部27がこの更新要求を受信すると、画像処理部24は、更新要求の表示位置等に対応するプレビュー用画像データを記憶装置26から読出して、表示される部分のプレビュー画像データのみを送り返すようにしている。
プリンタドライバ16は、再度画像処理された画像データを受信すると、この画像データに、蓄積されている画像データを更新する。図9(d)に示すように、表示部19上に、位置などを更新されて得られた二回目のプレビュー画像35が表示される。
画像処理部24が実解像度を有する画像の表示位置をずらすなどの処理を行う場合、画像処理部24は、図9(d)に示す画像フレーム36を用いてクリップした画像領域を複数のさいの目状の細かい小ブロック37に分ける。小ブロック37は波線が交差することにより囲まれる領域である。小ブロック37の間隔は画像処理部24により予め決められている。
画像フレーム36内の全ての小ブロック37のうち、表示されるプレビュー画像35の領域内に存在する小ブロック37、及びプレビュー画像35の領域の縁に重なる小ブロック37を、画像処理部24は有効な小ブロック37として選択する。
画像処理部24は選択した位置の複数の小ブロック37の画像データを最初にPC5に送り、PC5がプレビュー画面を表示させる。その際、転送された再現に必要な個数の画像データはPC5内に保持される。プレビュー画像35を再現するために必要な例えば35個の小ブロック37がPC5に保持される。
その後、アプリケーション15が表示位置、サイズ又はページを変更した場合、プリンタドライバ16はアプリケーション15が指示した画像の位置と、PC5内に記憶されている35個の小ブロック37からなる画像データとを比較する。
プリンタドライバ16は、PC5内に記憶された画像データだけでプレビュー画像を正確に表示することが可能かどうかを判定する。プリンタドライバ16は、ユーザが表示を確認するためには35個の小ブロック37からなる画像データでは不足であると判断すると、ユーザの判断の都度、アプリケーション15を介して印刷指示を受け、更新要求を画像処理部24に送る。
画像処理部24は更新要求を受信すると、差分に相当する画像ブロックのデータをPC5へ送る。
この様な制御方法を行うことにより、データ転送サイズ及びデータの転送時間を短縮することができる。プレビュー処理を高速に行うことができる様になる。
このように、最初のプレビューは全体表示でありプリンタドライバ16は解像度変換によって得られた縮小画像を表示する。次に、プリンタドライバ16が部分的にプレビュー画像を実解像度で表示させた場合、ユーザが表示させたいプレビュー画像の位置の中心点をアプリケーション15が指定すると、プリンタドライバ16はこの中心点を表す座標情報を画像処理部24へ送る。つまり更新要求が表示関連データとともに送られる。画像処理部24は画像処理を行って、プレビュー用の画像処理を行う。更新されたプレビュー画像はPC5へ返送される。PC5では画像データが更新され、表示部19上に更新されたプレビュー画像が表示される。
デジタル複合機13からPC5に対して、データサイズが過大にならないようにしてプレビュー画像を更新することができるようになる。プレビューを高速化できるようになる。
このようにして、印刷時にどの様な印刷結果が得られるかをユーザは正確に効率よく知ることができる。印刷結果を確認した後の印刷も高速に行える。ユーザが所望する画像処理を高速かつ手軽に利用することができるようになる。
アプリケーション15自体は、プレビュー画像のディテールを表示すること、及びプレビュー画像の一部を拡大表示することができないが、画像処理部24によれば、ネットワーク18においてデータ転送効率を落とさずにPC5はプレビュー画像のディテールを取得できるようになる。
従来、画像処理部の機能がハードウェアにより構成されていたため、画像処理の内容を変更すること又は拡張することは制約を受ける。参考形態に係る画像処理部24及び画像処理方法によれば、改良された画像処理プログラムコードをダウンロードすることによって、画像処理システムとしての機能を改善し、新機能を追加すること等を随時行えるようになる。
ハードウェアにより構成された画像処理部では、処理パラメータを変更する程度のことしか行えない。参考形態に係る画像処理部24及び画像処理方法によれば、画像処理に関する新しい規格にデジタル複合機13を対応させること、あるいは画像処理のアルゴリズムを変更することなど、大きな変更をデジタル複合機13にドラスティックに導入することが可能となる。
参考形態はベストモードであるが、拡張インターフェース2dにマルチコアプロセッサ3を追加的に接続することにより、画像処理の処理時間を一層短縮することが可能である。マルチコアプロセッサ3の数を増やすことによって、画像処理部24は、低速なデジタル複合機13から高速なデジタル複合機13まで柔軟に対応できる。
(b)一実施形態
一実施形態では、画像処理部をPC5を用いて利用する手法について述べる。本発明の一実施形態に係る画像処理装置を含むデジタル複合機の構成は参考形態で説明した例と同様に、プログラマブルな画像処理部を具備しており、様々な画像処理を柔軟かつ高速に実行することが可能にされている。
(b1)構成
図10は本発明の一実施形態に係る画像処理装置を含むシステムの機能構成を示す図である。システム1AはPC5Aとデジタル複合機13Aとを備える。
PC5Aはハードディスクドライブ38を有する。ハードディスクドライブ38はフォルダ39、40、41を有する。フォルダ39〜41はいずれもハードディスクドライブ38の記憶領域を実体とするものである。PC5A中これら以外の符号で上述した符号と同じ符号を有する要素はそれらと同じ要素を表す。
デジタル複合機13Aは、画像処理部42、記憶装置26、及び制御部27Aを有する。
画像処理部42は本実施形態に係る画像処理装置である。画像処理部42は図4の各マルチコアプロセッサ3、各メモリ4、ネットワークインターフェース2e、拡張インターフェース2d、ハードディスクドライブインターフェース2c、汎用I/Oインターフェース2hを備える。
記憶装置26は、JPEG(Joint Photographic Experts Group)テーブル最適化プログラム43、印刷画像生成プログラム44を記憶する。
制御部27Aは画像処理部42等を制御するものであり、CPU、ROM、RAMからなる。
一以上のマルチコアプロセッサ3がJPEGテーブル最適化プログラム43及び印刷画像生成プログラム44を記憶装置26から読出して、各マルチプロセッサ3がこれらのプログラムを実行する。これによって、画像処理部42がハフマン符号化用のテーブルを最適化する機能、及び画像処理部42が印刷用プレビュー画像を生成する機能が実現されるようになっている。画像処理部42がプログラマブルにされているため、様々な画像処理を柔軟に及び高速に実行することが可能になっている。
また、記憶装置26は、それぞれが記憶領域を実体とするフォルダ45、46、47と、OSとを記憶する。OSは、フォルダファイルの管理及びジョブ管理と、PC5A側と通信するこのOS上で動作するドライバプログラムを用いた入出力管理とを行う。デジタル複合機13A中これら以外の符号は上述した符号と同じである。
フォルダ39−41及びフォルダ45−47はいずれもホットフォルダとして機能する。フォルダ39−41、45−47はデジタル複合機13AのOS上のアプリケーション15と、PC5AのOS上のアプリケーションとにより共有される。
画像処理部42は、ホットフォルダ内の印刷ジョブを常にポーリングする機能も有する。ポーリング動作の時間間隔であるインターバルタイムは予め設定されている。画像処理部42はフォルダ39−41内へ印刷ジョブが投入されたことを検出すると、印刷ジョブを取込み、プリント部25へ渡すようになっている。
本実施形態では、画像処理部42がJPEG再圧縮処理を行う例をとって処理の流れを説明する。
図11はホットフォルダ機能を説明するための図であり、PC5Aの表示部19の画面が示されている。プリンタドライバ16は画面48上に、JPEG再圧縮用のアイコン49と、印刷画像生成用のアイコン50と、処理結果の格納用のアイコン51とを表示する。
アイコン49、50、51はそれぞれフォルダ39、40、41に対応し、及びデジタル複合機13A内の記憶装置26のフォルダ45−47のいずれかへリンクされている。
デジタル複合機13AはJPEG再圧縮処理を行うために、画面48上にある3つのアイコン49−51を用いる。即ち、各アイコン49−51は、デジタル複合機13AとPC5Aとの間でデータをやり取りするI/Fである。
処理対象となるデータをユーザが操作部14を用いてアイコン49上にドラッグアンドドロップすると、画像処理部42は予め定められた画像処理を実行する。画像処理部42の処理結果は予め指定されている記憶装置26に蓄積されるようになっている。
図10に戻り画像処理部42は、フォルダ45内の画像データを、予め決められた値のデータサイズを有するデータに変換する。
画像処理部42は、PC5Aからの画像データを1又は複数の画面データに分割する機能を有する。分割された各画面ごとの圧縮画像データのデータサイズが予め定められた値の範囲内であるように、画像処理部42は各画像データを圧縮する機能を有する。
画像処理部42はハフマン符号化をJPEG圧縮の符号化スキームとして用いる。画像処理部42はハフマン符号を記憶する図示しない符号化用テーブルをRAMに生成する機能を有する。画像処理部42はハフマン符号化用テーブルのテーブルデータを最適化する機能を有する。
画像処理部42はハフマンデコーダ52、テーブル最適化処理部53及びハフマンエンコーダ54を有する。
ハフマンデコーダ52は、JPEG最適化用フォルダ45内の圧縮された画像データを復号するものである。
テーブル最適化処理部53は、ハフマンエンコーダ54が画像データを符号化する度に、テーブルデータを最適化するものである。
ハフマンエンコーダ54は、テーブル最適化処理部53が逐次最適化するテーブルデータを用いてハフマンデコーダ52が復号した画像データをハフマン符号化するものである。ハフマンエンコーダ54により得られた画像データは、デジタル複合機13Aのアプリケーションにより処理結果格納用フォルダ47へ送られる。
ハフマン符号化処理は、画像データのビットストリームにおいて出現頻度が多い値に短い符号を割当てを行い、ビットストリームにおいて出現頻度が少ない値に長い符号を割当てるようにデータ列を符号化し、圧縮コードを生成する処理である。値とはマッピング空間上の信号値を指す。
一般にJPEG処理で使用されるハフマン符号化テーブルは、テーブルデータが固定されたテーブルが使われる。その1つの理由は、最適化されたハフマン符号化テーブルを生成するためには、値の出現頻度を得る必要があり、出現頻度を得るためには時間がかかるためである。
もう1つの理由は、最適化されたハフマン符号化テーブルを使用することによって向上する圧縮率は、最適化なしのハフマン符号化テーブルを用いて圧縮された場合の圧縮率の10パーセント程度であるためである。
画像処理部42は、ハフマン符号化テーブルを最適化することにより、プレビュー時あるいはプリント時の画質を劣化させずに圧縮率を向上させるようにしている。
(b2)動作
この様な処理を行うデジタル複合機13Aの画像処理部42の動作について説明する。
図11のJPEG再圧縮アイコン49に、「画像.jpg」といったファイル名の画像ファイル55をアプリケーション15がドラッグアンドドロップすると、CPUは画像ファイル55をネットワーク18を介してデジタル複合機13AのJPEG最適化用フォルダ45宛に転送する。ドラックアンドドロップされる対象がフォルダである場合、CPUはフォルダに属するファイル群をまとめてJPEG最適化用フォルダ45へ転送する。
図12は本実施形態に係る画像処理部42の動作処理を説明するためのフローチャートである。制御部27Aは、JPEG最適化用フォルダ45に処理対象となるデータが投入されたことを検知すると、画像処理部42を呼ぶ。
ステップC1において、画像処理部42はJPEG最適化プログラム43を実行する。ステップC2において、画像処理部42は対象画像データをハフマンデコード処理し、値の出現頻度を調べる。ステップC3において画像処理部42は、ハフマン符号化テーブルを最適化する。ステップC4において、画像処理部42は、ハフマンエンコード処理を行う。
ハフマン符号化処理の一例を述べると、画像処理部42は、入力された画像データを、互いに水平方向及び垂直方向に隣接する複数の画像単位に分割する。各画像単位は8×8画素からなる。画像処理部42は各画像単位でDCT(離散コサイン変換)を行う。画像処理部42は、一つの画像単位について、64個のDCT係数を互いにステップ幅の異なる量子化値で除算する。更に画像処理部42は、量子化された64個のDCT係数を1つの直流分係数と63個の交流分係数に分けて、これらの係数をハフマンテーブルに従って符号化する。
ステップC5において、こうして得られたJPEG画像を画像処理部42は処理結果格納用フォルダ47に格納する。
その後、制御部27Aは、必要に応じてPC5Aヘネットワーク18を介して処理後のJPEGデータを転送する。
ステップC6において、画像処理部42は処理対象となるデータが残っているかどうかを判定する。データが残っていない場合、Yesルートを通り、画像処理部42は処理を終える。データが残っている場合、Noルートを通り、画像処理部42はステップC1の処理を行う。
以上の処理を、制御部27A及び画像処理部42は、JPEG最適化用フォルダ45に処理対象となるデータが無くなるまで繰り返す。
一実施形態では、JPEG処理を例にとって画像処理部42がこのJPEG処理のために、プログラマブルな画像処理プログラムコードを読み込みして画像処理を行う。
本発明のこの実施形態に係る画像処理部42によれば、ユーザが所望する処理を行える画像処理プログラムを用いて各種の画像処理を高速に実行することができるようになる。プログラムを変更する場合、画像処理部42がプログラムを再度読み込むだけで良く、処理内容の変更を柔軟に行えるようになる。
また、一実施形態はベストモードであるが、画像処理部28は、オプション的にプロセッサを増設し、マルチジョブにも対応可能である。
(b3)第1の変形例
一実施形態では、PC5Aと画像処理部42との間の画像ファイルの授受は、ホットフォルダやアイコンを用いたが、画像処理部42はポート番号を用いて、PC5Aと異なるコンピュータ機器との間で画像ファイルを授受することもできる。
画像処理部42がネットワーク18等を介して外部のコンピュータ機器からの画像ファイルを処理する場合、記憶装置26はポート番号と、画像処理部42を起動するプログラムとを対応付けた関係を予め記憶しておく。
コンピュータ機器が対象となる画像ファイルにポート番号を付してネットワーク18に送ると、デジタル複合機13Aのネットワークインターフェースプログラムはポート番号を抽出する。
ネットワークインターフェースプログラムは制御部27Aを呼ぶ。制御部27Aは画像処理部42を呼ぶ。以降の処理は一実施形態の例と実質的に同じである。
(b4)第2の変形例
また、一実施形態では、画像処理はホットフォルダ及びアイコンを用いたものであったが、PC5Aが例えばカスタマイズして作成した画像処理プログラムと画像データとをデジタル複合機13Aに送り、画像処理部42が受信した画像処理プログラムを用いて受信した画像データを画像処理するようにもできる。カスタマイズした画像処理プログラムは、例えばJPEG圧縮された画像データについて再度JPEG圧縮処理を行う機能を持つプログラムである。
PC5Aは、フォルダ49、50(図11)に、ユーザが所望する画像処理プログラムを関連付けしておく。また、PC5A及びデジタル複合機13A間で予めホットフォルダとして機能するフォルダを指定しておく。デジタル複合機13Aの制御部27Aはホットフォルダに画像データが入ったことを検知すると、画像処理プログラムと画像データとを一緒に取込み、画像処理部42はその画像処理プログラムをメモリにロードしてこの画像処理プログラムを使って画像データを画像処理する。
例えばJPEG圧縮処理済みの画像データをPC5Aがホットフォルダに投入した場合、デジタル複合機13Aはこの画像データについてJPEGの再圧縮処理を行う。デジタル複合機13Aは処理後の画像データをPC5Aに戻す。
従来、デジタル複合機は、処理の重い画像処理を行うに際し、ASIC等ハードウェアを使っていた。この変形例に係る画像処理部42はソフトウェア処理により画像処理を行い、プレビューを高速に行える。
(b5)第3の変形例
また、画像処理部42が複数の異なる画像処理プログラムを予め、PC5Aから受取っておき、これらのプログラムを選択的に実行するようにもできる。この場合、PC5Aは画像処理をされるべき画像データを画像処理部42に送る時に、いずれかの画像処理プログラムを識別するプログラム識別情報も画像処理部42へ送るようにする。
デジタル複合機13Aは、それぞれ異なる画像処理を行う複数の画像処理プログラムを記憶する図示しないプログラム記憶部と、それぞれ画像データを入力される複数の画像データ入力部とを具備する。この変形例でも画像データ入力部にはホットフォルダが用いられる。プログラム記憶部はハードディスクドライブにより実現される。
デジタル複合機13Aは、各画像データ入力部と対応付けられた画像処理プログラムをPC5Aからの識別情報に基づき選択する制御部27Aと、選択された画像処理プログラムを実行する画像処理部42と、画像処理が施された画像データをPC5Aへ出力する出力部としてのインターフェース23とを有する。
このような構成により、ホットフォルダ機能を使ってPC5Aは複数の画像処理内容のうちのユーザが実行を所望する画像処理内容を特定する識別惰報を、画像データに付加して画像処理部42に送る。デジタル複合機13Aの制御部27Aは、識別情報を抽出し、記憶装置26に記憶された複数の画像処理プログラムの中から、対象となる画像処理プログラムを選択して起動する。以降の処理は一実施形態の例と実質的に同じである。画像処理部42は処理結果をPC5A側へ戻す。
この変形例に係る画像処理部42によれば、ユーザ側は、ある程度カスタマイズした画像処理プログラムをデジタル複合機13Aに実行させることができるようになる。ソフトウェア処理によりプレビューを高速に行える。
(b6)第4の変形例
参考形態においてPC5Aがデジタル複合機13Aから受信した印刷プレビュー画面の画像を、PC5Aは編集するようにしてもよい。印刷画像生成処理について図13を参照して説明する。
図13は一実施形態の第4の変形例に係る画像処理装置を含むシステムの機能構成を示す図である。同図に示される符号のうちの上述した符号と同じ符号を有する要素はそれらと同じ要素を表す。
画像処理部56は、PC5AからのPDLデータを受信し、PDLデータから印刷用画像データを生成する。画像処理部56にはCPU、ROM、RAMが用いられる。
画像処理部56はRIP処理部57、印刷画像生成前処理部59、ユーザ指定画像処理実行部60を有する。RIP処理部57はPDLデータをレンダリングして画像データを生成するものである。
印刷画像生成前処理部59はRIP処理部57から出力される画像データに対し、前処理を実行するものである。前処理はスケーリング処理又は色変換処理である。
ユーザ指定画像処理実行部60は、印刷画像生成前処理部59が出力する画像データをTIFF(Tagged Image File Format)形式に変換してこれをPC5Aが参照可能な処理結果格納用フォルダ47に格納する処理を行うものである。
処理を特定する情報は、例えば、PC5Aが印刷画像生成用フォルダ46に画像ファイルを送るときにPC5Aが画像ファイルに含めることにより、PC5Aから画像処理部56へ通知される。
上述の構成のデジタル複合機13Aにおいて、画像処理部56は、JPEGデータ、ポータブル・ドキュメント・フォーマットファイル等をダイレクトに印刷画像データに変換する。画像処理部56は、参考形態の印刷プレビューを得る処理の内容と実質的に同じ内容の処理を行う。
この変形例が参考形態の例と違うところは、印刷画像データは表示部19による確認の表示に用いられるだけでなく、PC5A上のアプリケーションによる編集に利用され得るところである。
参考形態のJPEG再圧縮の例と同様に、CPUは、図11の印刷画像生成用アイコン50に画像ファイル55をドラックアンドドロップする。
この変形例では、CPUは画像ファイル55のデータをネットワークを介してデジタル複合機13Aの印刷画像生成用フォルダ46宛に転送する。
デジタル複合機13Aの制御部27Aは、印刷画像生成用フォルダ46に処理対象となるデータがあることをポーリング等により検知する。制御部27Aは、画像処理部56に印刷画像生成プログラム44を実行させる。
画像処理部56による実行は、RIP処理部57がレンダリング処理を行い、印刷画像生成前処理部58が前処理を行い、ユーザ指定画像処理部59がユーザ指定画像処理を行う。得られた結果を画像処理部56は処理結果格納用フォルダ47に格納する。
ユーザ指定画像処理は、生成される印刷画像データをTIFF形式で格納する処理である。この処理は、デジタル複合機13Aの記憶装置26に予め用意された複数のプログラムのいずれかをマルチコアプロセッサ3が選択する処理である。
あるいはユーザ指定画像処理は、ユーザ操作によりPC5Aが作成しデジタル複合機13Aへ転送したプログラムをマルチコアプロセッサ3が使用する処理でも良い。
その後、マルチコアプロセッサ3は、処理した後のTIFFデータを必要に応じて、PC5Aヘネットワーク18を介して転送する。
以上の処理を、マルチコアプロセッサ3は、印刷画像生成用フォルダ46に処理対象となるデータが無くなるまで繰り返す。
このような構成をとることにより、この変形例に係る画像処理部56によれば、印刷プレビューやユーザが所望する画像処理をデジタル複合機内の画像処理部で簡単に及び高速に実行することができるようになる。
(c)他の実施形態
尚、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。
一実施形態では、画像処理部42はPC5と通信していたが、画像処理部42は、携帯端末等の外部機器から利用されるようにもできる。
この場合、本発明の実施の形態に係る画像処理装置を含むシステムは、構内無線通信システムであり、図示しない携帯端末、無線中継装置、LAN及びデジタル複合機13Aを備える。
携帯端末は高周波無線信号を送受信する無線端末であり、PC5Aの機能のうち、アプリケーション15、プリンタドライバ16、ホットフォルダが持つ機能と同じ機能を有する。携帯端末は、操作部としてのタッチキーと、表示部としてのディスプレイとを有する。携帯端末は、無線信号を送受信する図示しない高周波回路、ベースバンド回路などを有する。
無線中継装置は複数の携帯端末との間で無線通信を行い、LAN側とパケット信号を送受信する有線通信を行う。
このような構成の携帯端末は予め画像処理部42とホットフォルダを設定する。携帯端末のCPUがJPEG再圧縮アイコンに画像ファイルをこのホットフォルダにドラッグアンドドロップすると、携帯端末のベースバンド回路は画像ファイルをベースバンド処理し、高周波回路は処理結果を無線変調し、無線信号を送出する。無線中継装置は無線信号を復調し、伝送信号のプロトコルを変換後、パケット信号をデジタル複合機13AのJPEG最適化用フォルダ45宛に転送する。画像処理部42は、一実施形態の例と実質的に同じ処理を行う。
デジタル複合機13Aは、プレビュー画像を含むパケット信号を携帯端末に宛てて送出する。パケット信号は無線中継装置を介して携帯端末に転送される。携帯端末は、受信信号を復調し、ディスプレイを使ってプレビューを行う。ユーザは確認後、再度、アイコンをホットフォルダにドラッグアンドドロップし、その後、画像が印刷出力される。
この実施形態に係る画像処理装置によれば、無線回線でのデータ伝送速度の上限に収まる範囲内で符号化テーブルの最適化を行い、複数の携帯端末がデジタル複合機13Aにアクセスでき、及び各携帯端末はプレビュー処理を高速に実行できる。
また、上記実施形態に開示されている複数の構成要素の適宜な組合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組合わせてもよい。