(57)【要約】【課題】フィルタ設定を変更する前に予告期間を設け、一般ユーザーに対してフィルタ設定変更の予告を発生するような画像処理装置を提供する。【解決手段】入力したＰＤＬデータの置換処理を行うフィルタ手段と、フィルタ手段により置換処理が行われたことを検出するための置換検出フラグ手段と、前記フィルタ手段の有効・無効を制御するためのフィルタ設定保持手段と、フィルタ設定変更の予告を発生する時間を管理する予告期間タイマー手段と、フィルタ設定変更の予告を発生するか否かを制御するフラグ手段と、予告出力を発生する予告出力手段から構成する。【選択図】        図１
2007086887.tif 000002
【特許請求の範囲】
【請求項１】
入力したＰＤＬデータの置換処理を行うフィルタ手段と、フィルタ手段により置換処理が行われたことを検出するための置換検出フラグ手段と、前記フィルタ手段の有効・無効を制御するためのフィルタ設定保持手段と、フィルタ設定変更の予告を発生する時間を管理する予告期間タイマー手段と、フィルタ設定変更の予告を発生するか否かを制御するフラグ手段と、予告出力を発生する予告出力手段から構成されることを特徴とする画像処理装置。
【請求項２】
前記フィルタ手段のデータ処理は、ＰＤＬデータ中に現れる特定データパターンを発見するパターンマッチングと、パターンにマッチした部分に対応する新たなデータを生成し置換する処理を含むことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記置換検出フラグ手段は、前記フィルタ手段のデータ処理においてパターンマッチングし、新たなデータを生成し置換処理を行った場合にフラグの状態を変化させることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記フィルタ手段の有効・無効を制御するためのフィルタ設定保持手段は、現在の設定と、次の設定の２種類の設定情報を保持することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記フィルタ設定保持手段は、前記予告期間タイマーの状態に応じて、次のフィルタ設定を現在のフィルタ設定にロードすることを特徴とする請求項１に記載の画像処理装置。
【請求項６】
入力したＰＤＬデータの置換処理を行うフィルタ手段と、フィルタ手段により置換処理が行われたことを検出するための置換検出フラグ手段と、前記フィルタ手段の有効・無効を制御するためのフィルタ設定保持手段と、フィルタ設定変更の予告を発生する時間を管理する予告期間タイマー手段と、フィルタ設定変更の予告を発生するか否かを制御するフラグ手段と、予告を発生したか否かをユーザー毎に管理する予告発生済み情報保持手段と予告出力を発生する予告出力手段から構成されることを特徴とする画像処理装置。
【請求項７】
前記フィルタ設定変更の予告を発生するか否かを制御するフラグは、前記予告発生済み情報保持手段は予告を発生したユーザーの情報を元に状態を変化させることを特徴とする請求項６に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理システム、画像処理装置、画像処理方法及び記憶媒体に関し、特にファームウェア上に実装したフィルタ処理機能の設定変更制御に関するものである。
【背景技術】
【０００２】
従来、画像処理装置のソフトウェアはリアルタイムオペレーティングシステム（ＯＳ）の上に静的かつ固定的ないわゆるファームウェアとして構築されることが主流であった。このようなファームウェアは内部的に複数のモジュールから構成されている場合でも全体が単一のロードモジュールに静的にリンクされた状態で装置の不揮発性メモリに記憶され、ファームウェアはシステムの起動時にハードディスクなどの不揮発性メモリからＲＡＭにロードされ実行されるか、または、ＲＯＭなどの不揮発性メモリ上で直接実行される。特に低価格な画像処理装置のような組み込みシステムを構成するファームウェアは一般に、その経済性や安全性などのために部分的なモジュールの動的なロードやリンクを行わないように構成されている。
【０００３】
すなわち、ダイナミックリンクを実現するために必要なシンボルテーブルの記憶容量やシンボルのアドレスへの解決を行うための処理に関するオーバヘッドなどが、装置のコストパフォーマンスを悪化させ、また、追加してロードおよびリンクされるサブモジュールによってそのサブモジュールをリンクする以前には十分に評価され達成されていたシステム全体の品質やセキュリティが脅かされる危険があるためである。
【０００４】
従来、組み込みシステムのファームウェアのリアルタイムＯＳ上にさらにもう一層のソフトウェア動作環境を設け、追加で設けたソフトウェア動作環境においてダイナミックローディングやダイナミックリンキングや動的なメモリ操作などのソフトウェアの動的な特性をサポートする画像処理装置が開発されている。追加で設けられたソフトウェア動作環境は、インタプリタとひとそろいのアプリケーションプログラミングインタフェース（ＡＰＩ）群やフレームワーク群から構成され、その上で動作するソフトウェアのために一種のＯＳあるいはコンピューティングプラットフォームというべきものを提供する。
【０００５】
インタプリタは、所定の命令セットに含まれる命令からなる一連の命令列を逐次的に読み出し解釈し実行する。この命令セットをハードウェアのＣＰＵのための命令セットと同等の位置づけに捉える場合、インタプリタは特に仮想マシン（ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ）と呼ばれることもある。ひとそろいのＡＰＩ群およびフレームワーク群は、このソフトウェア動作環境の下層に内在する実際のリアルタイムＯＳが提供する資源やハードウェア資源を抽象化した各種の資源群に対するアクセスを、ソフトウェア動作環境上で動作するソフトウェアのために提供する。資源にはプロセッサによる命令実行コンテクストやメモリ、ファイルシステム、ネットワークインタフェースを含む各種入出力（Ｉ／Ｏ）などがある。
【０００６】
特に、命令実行コンテクストは実際のＣＰＵとリアルタイムＯＳが提供するマルチタスク機構とは独立に、ソフトウェア動作環境が独自にインタプリタ上の命令実行コンテクストを管理できる。また、メモリも同様にソフトウェア動作環境が独自のメモリ管理を提供できる。
【０００７】
このようなソフトウェア実行環境上で動作するソフトウェアはインタプリタによって逐次的に読み込み解釈実行されるため、これらの処理の過程で命令列を監視しシステムに悪影響を与える動作を除外できる可能性がある。また、ソフトウェア実行環境上のソフトウェアから各種資源に対するアクセスは、ソフトウェア実行環境が提供するＡＰＩ群やフレームワーク群を経由して間接的に資源を操作するため、この過程でシステムに悪影響を与える動作を除外できる可能性がある。したがって、ファームウェア内部にインタプリタおよびＡＰＩ群とフレームワーク群からなるソフトウェア実行環境の階層を設けるアプローチは、基本的には静的かつ固定的に構成されるべき低コスト組み込みシステムのファームウェアにおいて、ソフトウェアの動的な特性を部分的に導入するために非常に有効である（例えば、特許文献１、特許文献２を参照。）。
【０００８】
上記アプローチにおいて、ソフトウェア実行環境の階層を実現するためにインタプリタとしてＪａｖａ(登録商標)仮想マシンを採用し、Ｊａｖａ(登録商標)に関連するＡＰＩ群やフレームワーク群を採用することができ、本出願人は２００３年に、画像処理装置のファームウェア内部にＪａｖａ(登録商標)プラットフォームを内蔵した複合機であるＭＥＡＰを製品化している。
【０００９】
従来、内部にネットワークコンピュータを備えたアプリケーションダウンロード型プリンタを用い、コンピュータネットワークから、印刷すべきデータファイルと該データファイルに対応したアプリケーションとを上記プリンタ内にダウンロードし、上記ネットワークコンピュータ上で上記アプリケーションを立ち上げることにより該データファイルを開いてラスタイメージに変換し、印刷するネットワークコンピュータ内蔵プリンタおよびこれを備えたコンピュータネットワークシステムが開示されている。アプリケーションが「Ｊａｖａ(登録商標)アプレット」である場合も開示されている。アプリケーションは印刷データファイルとともにクライアントからプッシュされる場合も、プリンタがアプリケーションサーバなどからプルする場合も開示されている（例えば、特許文献３を参照。）。
【００１０】
従来、複数の周辺機器および周辺機器を動作させるソフトウェアを搭載した複数の端末装置および少なくとも周辺装置を動作させるソフトウェアに関するデータベースを備えたサーバ装置を伝送路に接続させ、所定の通信プロトコルに基づいてネットワーク通信を行うネットワーク通信システムであって、周辺機器は、サーバ装置から周辺機器を動作させるソフトウェアの全部／一部、あるいはソフトウェアが使用するモジュールに対応する最新モジュール情報を要求・獲得するクライアント制御部と、獲得した最新モジュールを端末装置に配付するソフトウェア配信エージェントと、を備えたネットワーク通信システムが開示されている。周辺機器を操作するソフトウェアが使用するクライアント側モジュールとして、「ｊａｖａ(登録商標)アプレット」や「ｊａｖａ(登録商標)アプリケーション」が供給可能であることも開示されている（例えば、特許文献４を参照。）。
【００１１】
一方、上記従来例を基にすることで、本出願人は以下の技術を開示している。
【００１２】
多種多様の顧客のプリンティング環境および様々な環境における要求が存在している。特に基幹系の業務システムでは、ひとたび正常に稼働しはじめたシステム全体の安定性を維持したいという要望はとても強く、プリンタドライバやアプリケーションを簡単に変更することは許されないことがある。このような現実のプリンティング環境の制約の中で、プリンタのベンダは顧客環境の側に対応を求めるのではなくプリンタ側の対応によって各種の顧客要望に応えるべき使命がある。たとえば、プリンタの新製品が提供する新しい機能として両面印刷や製本などのフィニッシング機能があった場合、同時に開発された専用のプリンタドライバ経由で新規機能を使用するコマンド列が含まれるプリントジョブを生成する、もしくは顧客の業務アプリケーションが新規追加されたコマンド列を含むプリントジョブを生成するように更新を行うことで、これらの新機能を使いこなせることは当然である。しかしながら、前述のように顧客システムに影響をおよぼさずプリンタ側の対応によって装置の新機能を利用可能とすることが求められている。
【００１３】
顧客システム側に影響を与えずプリンタ側でこれらの要望に対応するためには、プリンタを構成するファームウェアを改造して個別対応リリースする方法があり実際にこの方法がとられている場合もある。しかし、ファームウェアの改造による個別対応は装置全体の品質の再評価を含め開発期間や開発費などが多くかかり、また顧客環境に納品した装置に組み込まれたファームウェアの更新にはフィールドエンジニアなどによる高度なメンテナンスの手間を要するため、顧客要望に速やかに応えるためにもまた費用対効果の面でも課題を残している。
【００１４】
実際には、これらの要望のうちの一部はプリンタのファームウェア全体を変更するまでもなく、受信したプリントデータストリームを解釈する前の前処理を追加してそこでプリントデータストリームそのものに変換を施すことによって対応できる。したがって、受信したプリントデータストリームを解釈する前の前処理を実現するソフトウェアだけを他のファームウェアとは独立に柔軟かつ拡張可能に追加できるより動的な機構が求められる。
【００１５】
組み込みシステムのファームウェア内にＪａｖａ(登録商標)プラットフォームのようなソフトウェア動作環境階層を内蔵するＭＥＡＰのような従来例では、ソフトウェア動作環境上にファームウェアと独立した新たな装置組み込みアプリケーションを開発可能であり、ＡＰＩによってＪａｖａ(登録商標)アプリケーションから装置のプリント機能にアクセスすることはできた。
【００１６】
しかしながら、Ｊａｖａ(登録商標)プラットフォームがファームウェア内の組み込みアプリケーション階層に位置づけられているため、同階層においてネイティブの組み込みアプリケーションとして実現されているプリントデータ受信機能やプリントサーバ機能をＪａｖａ(登録商標)アプリケーションのために流用できなかった。
【００１７】
すなわち、たとえばネットワーク経由でプリントデータを受信するための各種プリントサービスプロトコルを実装したプリントサーバ機能をＪａｖａ(登録商標)側にも再実装する必要があり、開発負荷や評価負荷ならびに実行時のメモリ面などでも非効率であった。
【００１８】
一方、その他の組み込みシステムのファームウェア内にソフトウェア動作環境階層を持たない従来例においては、組み込みシステム全体がダイナミックリンクやプラグイン可能な構成になっておりシステム全体が動的な構成になってしまっていた。動的な特性が求められる部分が、受信したＰＤＬデータストリームを解釈する前の前処理を柔軟かつ拡張可能に追加する機構だけであることを前提とした場合には、これらの従来例のアプローチはシステム全体を動的なソフトウェアとして構成するためのオーバヘッドに伴うコストアップや品質保証の難しさから低価格の小規模システムには向かなかった。
【００１９】
そこでプリンタが受信したＰＤＬデータストリームに対する解釈前の前処理を行うフィルタ部を柔軟かつ拡張可能なソフトウェアとして実装し、安定性が求められるプリンタファームウェアのその他の部分の実装と明確に分離する構成をとることによって、ＰＤＬプリンタのカスタマイズの生産性が向上される。
【特許文献１】特開平１１−２８２６８４号公報
【特許文献２】特開２００３−２５６２１６号公報
【特許文献３】特開平１１−５３１３２号公報
【特許文献４】特開平１１−３０６１０７号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
上記従来例のフィルタ部の処理機能は主として機器設置時にユーザーの使用環境にあわせてフィルタをインストールし設定を有効化するものである。
【００２１】
フィルタの種類は多種多様であるが、複数（ｎ）のページデータを一枚に集約させて印刷用紙を節約するようなフィルタ処理を行うｎ  ｉｎ  １フィルタといったものも考えられる。
【００２２】
例えば機器管理者は、印刷枚数が増加する期間のみｎ  ｉｎ  １フィルタを有効化することで印刷に関わるトータルコストを容易に管理するような運用を行うことが可能になる。
【００２３】
しかしながらフィルタ設定を機器管理者が定期的に変更するような運用システムにおいては機器を使用する一般ユーザーがフィルタ設定の変更に気が付かず、結果としてユーザーが意図する印刷出力が得られないという状況が発生することが考えられる。そのため機器に設定されたフィルタの設定を一般ユーザーに対して浸透させる必要があるという課題があった。
【００２４】
本発明は上記の課題を解決するためになされたもので、フィルタ設定を変更する前に予告期間を設け、一般ユーザーに対してフィルタ設定変更の予告を発生するような画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００２５】
上記の課題を解決するために本発明は以下の手段を持つことを特徴とする。
【００２６】
入力したＰＤＬデータの置換処理を行うフィルタ手段と、フィルタ手段により置換処理が行われたことを検出するための置換検出フラグ手段と、前記フィルタ手段の有効・無効を制御するためのフィルタ設定保持手段と、フィルタ設定変更の予告を発生する時間を管理する予告期間タイマー手段と、フィルタ設定変更の予告を発生するか否かを制御するフラグ手段と、予告出力を発生する予告出力手段から構成されることを特徴とする。
【００２７】
前記フィルタ手段のデータ処理は、ＰＤＬデータ中に現れる特定データパターンを発見するパターンマッチングと、パターンにマッチした部分に対応する新たなデータを生成し置換する処理を含むことを特徴とする。
【００２８】
前記置換検出フラグ手段は、前記フィルタ手段のデータ処理においてパターンマッチングし、新たなデータを生成し置換処理を行った場合にフラグの状態を変化させることを特徴とする。
【００２９】
前記フィルタ手段の有効・無効を制御するためのフィルタ設定保持手段は、現在の設定と、次の設定の２種類の設定情報を保持することを特徴とする。
【００３０】
前記フィルタ設定保持手段は、前記予告期間タイマーの状態に応じて、次のフィルタ設定を現在のフィルタ設定にロードすることを特徴とする。
【００３１】
入力したＰＤＬデータの置換処理を行うフィルタ手段と、フィルタ手段により置換処理が行われたことを検出するための置換検出フラグ手段と、前記フィルタ手段の有効・無効を制御するためのフィルタ設定保持手段と、フィルタ設定変更の予告を発生する時間を管理する予告期間タイマー手段と、フィルタ設定変更の予告を発生するか否かを制御するフラグ手段と、予告を発生したか否かをユーザー毎に管理する予告発生済み情報保持手段と予告出力を発生する予告出力手段から構成されることを特徴とする。
【００３２】
前記フィルタ設定変更の予告を発生するか否かを制御するフラグは、前記予告発生済み情報保持手段は予告を発生したユーザーの情報を元に状態を変化させることを特徴とする。
【発明の効果】
【００３３】
本発明によって、一定の予告期間中には一般ユーザーに対してフィルタ設定変更の予告を発生することが可能になり、フィルタ設定変更をスムースに浸透させることが可能になるという効果がある。
【００３４】
その上で、ユーザー毎に予告を発生したか否かの情報を管理することで、予告発生済みであればフィルタ設定を速やかに有効化することが可能になるという効果もある。
【発明を実施するための最良の形態】
【００３５】
以下、本発明にかかる一実施例の画像処理装置を図面を参照して説明する。
【実施例１】
【００３６】
図１は本発明のプリンタの詳細ブロック図である。
【００３７】
同図に示した通り１００のプリンタは以下のブロックから構成され、内部メインバス１０１で接続される。
【００３８】
１０２は全体を制御する制御部である。メモリとＣＰＵにて構成される。
【００３９】
１０３は操作パネルである。操作パネルはオペレーターがプリンタの動作モードや各種設定を指示する物である。また本発明においてはフィルタ設定変更の予告を表示するものである。
【００４０】
１０４はホストインターフェースコントローラである。ホストインターフェースコントローラはイーサネット(登録商標)等のコンピュータネットワーク通信機能を備えるものである。コンピュータネットワークを介して接続されたホストコンピュータからプリントジョブを転送するのに用いるものである。
【００４１】
インターフェース方式はコンピュータと接続される方式であれば特に限定するものではない。受信したプリントジョブは１０５のフィルタ部に転送される。
【００４２】
１０５は本発明の特徴的な部分であるフィルタ部である。フィルタ部は受信したＰＤＬ形式のプリントジョブのデータに対して特定のデータパターンマッチングなどの方法でデータの置換すなわちフィルタ処理を行うものである。本フィルタ部においては１つ以上の複数のフィルタを連結することが可能な構成とする。フィルタ処理されたＰＤＬ形式のプリントジョブは１０６のトランスレータへ転送される。
【００４３】
なおフィルタ部の詳細は図２にて説明する。
【００４４】
１０６はトランスレータである。トランスレータはＰＤＬによって記述された印刷データを解釈して、レンダリング処理に適した印刷用中間言語の記述に変換する。レンダリング処理に適した印刷用中間言語によるプリントデータの記述をディスプレイリストと呼ぶ。トランスレータ１０６は各種のＰＤＬ仕様毎にそれぞれ異なる固有の実装を持ち、どのトランスレータもそれぞれのＰＤＬをレンダラーに固有のディスプレイリストへと変換する。
【００４５】
変換されたディスプレイリストは１０７のレンダラーへ転送される。
【００４６】
１０７はレンダラーである。レンダラーはディスプレイリストをラスタ画像に展開し１０８の展開メモリに格納する。
【００４７】
１０８は展開メモリである。１０７のレンダラーにより展開されたラスタ画像を格納するための画像をメモリである。
【００４８】
１０９は記録紙等に永久可視像を形成するプリンタエンジンである。
【００４９】
図２はフィルタ部の詳細ブロック図である。
【００５０】
フィルタ部は前述のとおり１つ以上複数のフィルタを連結することが可能な構成とする。同図では３つのフィルタを連結した場合を示しているが、フィルタの数は限定されるものではなく同形式の構成のフィルタであれば何個でも連結可能である。
【００５１】
同図に示した通り１０５のフィルタ部は以下のブロックで構成される。
【００５２】
１０００はフィルタバスＩＦである。フィルタバスＩＦはプリンタの内部バス１０１を介して他のブロックとデータの入出力を行うものである。具体的にはフィルタ部はホストインターフェース１０４で受信したＰＤＬ形式のプリントジョブをフィルタバスＩＦを介して入力し、フィルタ部でフィルタ処理したＰＤＬ形式のプリントジョブをフィルタバスＩＦを介して次段の１０６トランスレータへ出力する。
【００５３】
１１００はフィルタ処理部である。同図に示したとおり個別の複数のフィルタプログラム１１１０，１１１１，１１１２で構成される。各フィルタプログラムは入力したＰＤＬ形式のプリントジョブのデータに対して特定のデータパターンマッチングなどの方法でデータの置換すなわちフィルタ処理を行うものである。  フィルタ内部の処理に関してはフローチャートを用いて後述する。
【００５４】
１２００は予告期間タイマーである。予告を発生する期間の時間情報を計時するものである。
【００５５】
１２０１はカレントフィルタ設定保持部である。現在のフィルタ設定情報を保持するものである。
【００５６】
１２０２はネクストフィルタ設定保持部である。予告期間終了後に有効になるフィルタ情報を保持するものである。
【００５７】
なお、１２００の予告期間タイマーが計時を終了すると、１２０１のカレントフィルタ設定保持部には１２０２ネクストフィルタ設定保持部の情報をロードする構成とする。
【００５８】
１２０３はフィルタ設定変更予告フラグである。フィルタ設定変更の予告を発生するか否かを制御するためのフラグである。ｔｒｕｅの場合に予告発生の判断処理をフィルタプログラムにて実行する。
【００５９】
１２０４はフィルタ処理検出フラグである。フィルタプログラムにおいて置換処理が行われたかの状態を保持するものである。フィルタ処理に先立ちｆａｌｓｅにセットされ、フィルタ処理中に置換処理が行われるとｔｒｕｅにセットされる。
【００６０】
１３００は予告メッセージ出力部である。操作パネル１０３に対してフィルタ設定変更予告を表示するためのメッセージを生成するものである。
【００６１】
図３はカレントフィルタセットアップの手順を示す図である。
【００６２】
機器の設置時には１２０１カレントフィルタ設定保持部も一度だけ初期化する必要がある。
【００６３】
同図はその手順を示したものである。
【００６４】
同図は印刷装置の操作パネル１０３の表示部を示したものである。
【００６５】
４０１はプリンタにインストールされたフィルタの一覧リストであり、４０３と４０４の上下ボタンでフィルタ名称を選択する。４０２の矢印で指し示されたフィルタが設定対象であり、４０５の有効無効ボタンでフィルタ機能の有効化を選択する構成である。
【００６６】
図４はネクストフィルタセットアップの手順を示す図である。
【００６７】
１２０２のネクストフィルタ設定保持部の設定と、１２００予告期間タイマーの予告期間計時時間を設定する様子を示す図である。
【００６８】
フィルタの有効化に関しては図３のカレントフィルタ設定と同一である。
【００６９】
４０７は予告期間を示している。同図は予告期間を３日に設定する場合を示している。予告期間は４０８と４０９の上下ボタンで選択可能である。
【００７０】
ネクストフィルタ設定と予告期間の選択が終了したならば４０６終了ボタンを押して、処理を終了する。
【００７１】
本処理が完了した時点から予告期間タイマーは計時を開始し、残り時間がゼロになるまでの期間を予告期間とする。
【００７２】
図５は従来のフィルタ処理を示す図である。
【００７３】
同図は機器管理者の印刷ポリシーが２ｉｎ１（２ページのデータを１ページにまとめる印刷）であり、印刷装置には２ｉｎ１フィルタがインストールされＯＮに設定された状態を示す。
【００７４】
この状態で一般ユーザーが印刷データをホストコンピュータから送信すると、２ｉｎ１フィルタ処理により２ページデータが１ページにまとめられて印刷出力される。
【００７５】
一般ユーザーが印刷装置のフィルタ設定を知らない場合には意図した印刷出力と異なると思い込んでしまう。
【００７６】
本発明はこの様な状況を想定し、フィルタの設定変更の予告期間を設け予告期間中には予告を発生することで機器管理者の印刷ポリシーを一般ユーザーに浸透させるものである。
【００７７】
図６は本発明のフィルタ設定変更予告処理を示す図である。
【００７８】
同図は機器管理者の予告期間終了後の印刷ポリシーが２ｉｎ１に変更される場合の例である。印刷装置には２ｉｎ１フィルタがインストールされ現在はＯＦＦで予告期間終了後にＯＮに設定されるという状況を示している。即ち２ｉｎ１フィルタのカレント設定はＯＦＦ、ネクスト設定はＯＮである。
【００７９】
この状態で一般ユーザーが印刷データをホストコンピュータから送信すると、印刷装置は２ｉｎ１フィルタ処理を行うが、予告期間中であるためＰＤＬデータの置換は行わず、予告を発生するにとどまる。印刷出力はユーザーが送付したＰＤＬデータそのままの印刷出力が行われ、操作パネルに「次予告：２ｉｎ１」という予告メッセージが出力される。
【００８０】
図７はフィルタプログラムの処理手順を示すフローチャートである。
【００８１】
本フローチャートは図２で説明したフィルタ部１０５の中のフィルタプログラム１１１０，１１１１，１１１２の内部処理を説明するものである。各フィルタ内での処理は全て同一である。
【００８２】
本処理は入力ストリームとしてＰＤＬジョブを入力し、順次パターンマッチングを行い、マッチングした箇所のデータをあらかじめ決められた方法で置換を行い、出力ストリームへ出力するまでの処理を示す。
【００８３】
本発明の特徴のひとつはフィルタ処理においてパターンマッチングがなされた場合、予告フラグ、カレント設定、ネクスト設定をそれぞれ評価し、評価結果に応じて置換処理や置換検出フラグの制御を行うことである。
【００８４】
置換検知フラグをｔｒｕｅにすることでユーザーに対してフィルタ設定変更予告の出力制御を促す。
【００８５】
ステップＳ３０００では、必要な前処理を行う。前処理には、フィルタが内部的に利用する属性の初期化や、パターンマッチングに使用するパターン記述に対する前処理などが含まれる。
【００８６】
ステップＳ３００１では、入力ストリームからパターンマッチング処理に必要な量のデータを読み出す。
【００８７】
ステップＳ３００２では、入力のデータストリーム中からこのフィルタが操作するべきデータパターンの出現を発見するためにパターンマッチングを行う。フィルタが操作するべきデータパターンは固定のデータ列そのものでもよいし、正規表現（ｒｅｇｕｌａｒ  ｅｘｐｒｅｓｓｉｏｎ）などの形式言語による記述でもよい。パターン記述に合致するデータの出現をデータストリーム中から発見する各種の実装が広く知られている（ｇｒｅｐ、ｓｅｄ、ＡＷＫ、Ｐｅｒｌなどが有名である）。
【００８８】
ステップＳ３００３では、パターンマッチングの結果を判定しパターン記述に合致するデータをデータストリーム中に発見した場合はステップ３００４に進む。そうでなければステップＳ３００７に進む。
【００８９】
ステップＳ３００４では、フィルタ設定変更予告フラグの状態を判定し、ｔｒｕｅであればステップＳ３００５へ、ｆａｌｓｅであればステップＳ３００９へ進む。
【００９０】
ステップＳ３００５では、カレントフィルタ設定の状態を判定し、ＯＦＦであればそのままステップＳ３００７に進み、ＯＮであればステップＳ３００６に進み、パターン記述に合致したデータストリーム中の部分データ列に対してこのフィルタの目的に応じた操作を施しその結果で置き換える。ステップＳ３００７に進む。
【００９１】
ステップＳ３００９では、ネクストフィルタ設定の状態を判定し、ＯＦＦであればそのままステップＳ３００７に進み、ＯＮであればステップＳ３０１０に進み、置換検出フラグの状態をｔｒｕｅにする。ステップＳ３００７に進む。
【００９２】
ステップＳ３００７では、処理済の部分データ列（すなわち、監視しているパターンが現れなかったデータ列、あるいは、監視しているパターンを含むデータ列に対してステップＳ３００５の処理を施したデータ列）を出力ストリームに書き込む。
【００９３】
ステップＳ３００８では、入力ストリームが終了したかどうかを判定し、終端を迎えた場合は終了する。そうでなければステップＳ３００１に戻り、上記の手順を繰り返す。
【００９４】
図８は受信ジョブの処理手順を示すフローチャートである。
【００９５】
本フローチャートは図６で説明した一般ユーザーの印刷手順における内部処理を説明するものである。
【００９６】
ユーザーが送付した印刷ジョブが機器管理者の印刷ポリシーに合致しない場合には、フィルタ設定変更予告を操作パネルに表示出力するまでの処理を示す。
【００９７】
ステップＳ４０００では、印刷装置が印刷ジョブを受信しステップＳ４００１に進む。
【００９８】
ステップＳ４００１では、制御部１０２がフィルタ設定変更予告フラグをｆａｌｓｅ、フィルタ処理検出フラグをｆａｌｓｅに初期化し、ステップＳ４００２に進む。
【００９９】
ステップＳ４００２では、予告期間タイマーの状態から予告期間中であるかを判定し、ｆａｌｓｅであればステップＳ４００４へ進み、ｔｒｕｅであればステップＳ４００３に進みフィルタ設定変更予告フラグをｔｒｕｅにセットする。ステップＳ４００４に進む。
【０１００】
ステップＳ４００４では、フィルタ部１０５に受信したＰＤＬデータを入力しＰＤＬフィルタ処理を行いステップＳ４００５へ進む。
【０１０１】
ステップＳ４００５では、フィルタ設定変更予告フラグの状態を判定し、ｆａｌｓｅであればステップＳ４００８に進み、印刷出力する。フィルタ設定変更予告出力は行われない。
【０１０２】
一方フィルタ設定変更予告フラグの状態がｔｒｕｅであった場合はステップＳ４００６に進む。
【０１０３】
ステップＳ４００６では、フィルタ処置検出フラグの状態を判定し、ｆａｌｓｅであればステップＳ４００８に進み、印刷出力する。フィルタ設定変更予告出力は行われない。
【０１０４】
一方フィルタ処理検出フラグの状態がｔｒｕｅであった場合はステップＳ４００７に進み、フィルタ設定変更予告を行ったうえでステップＳ４００８に進み、印刷出力する。
【０１０５】
本構成の場合、図２における１３００予告メッセージ出力部がパネルに対して表示するメッセージを生成し、フィルタ設定変更予告を行う。
【０１０６】
本実施例によれば以下の効果がある。
【０１０７】
本発明によって、一定の予告期間中には一般ユーザーに対してフィルタ設定変更の予告を発生することが可能になり、フィルタ設定変更をスムースに浸透させることが可能になるという効果がある。また、機器管理者は予告期間を設定した上でフィルタ設定変更予約を容易に行うことが可能になり機器管理負荷を軽減することも可能という効果もある。
【実施例２】
【０１０８】
実施例１においてはフィルタ設定変更予告を操作パネル上に出力する構成であったが、予告メッセージを印刷用紙に直接印刷する構成も考えられる。
【０１０９】
以下実施の形態を説明する。
【０１１０】
図９は実施例２におけるフィルタ設定変更予告処理を示す図である。
【０１１１】
同図は機器管理者の予告期間終了後の印刷ポリシーが２ｉｎ１に変更される場合の例である。印刷装置には２ｉｎ１フィルタがインストールされ現在はＯＦＦで予告期間終了後にＯＮに設定されるという状況を示している。即ち２ｉｎ１フィルタのカレント設定はＯＦＦ、ネクスト設定はＯＮである。
【０１１２】
この状態で一般ユーザーが印刷データをホストコンピュータから送信すると、印刷装置は２ｉｎ１フィルタ処理を行うが、予告期間中であるためＰＤＬデータの置換は行わず、予告を発生するにとどまる。印刷出力はユーザーが送付したＰＤＬデータに対して用紙上に“ｎｅｘｔ：２ｉｎ１”と各ページの右下に印刷出力する（出力例Ａ）。
【０１１３】
また印刷装置に自動両面印刷ユニットが装着されている場合には自動的に両面印刷を行い、裏面に“ｎｅｘｔ：２ｉｎ１”と各ページの裏面右下に印刷出力する（出力例Ｂ）。
【０１１４】
図１０は実施例２のフィルタ部の詳細ブロック図である。
【０１１５】
実施例１における図２との差分は１３００予告メッセージ出力部の代わりに１４００予告付加フィルタ処理部が備えられる点である。
【０１１６】
１４００予告付加フィルタ処理部は入力ＰＤＬに対して予告メッセージを印刷出力するようなＰＤＬを付加するものである。本モジュールを備えることで図９で説明した印刷出力への予告メッセージ出力を実現する。
【０１１７】
処理フローは図８で説明した実施例１と同じである。
【０１１８】
ステップＳ４００７のフィルタ設定変更予告において操作パネルへのメッセージ出力に代わりフィルタ設定変更予告を印刷出力に反映する。
【０１１９】
本実施例によれば以下の効果がある。
【０１２０】
実施例１では操作パネルにフィルタ設定変更予告をメッセージ出力する構成であったが、実施例２には印刷物に直接メッセージを出力するためユーザーに対してより警告度の高い予告を出力することが可能になる。また、確実に印刷ジョブ個別に予告メッセージを出力することが可能になる。
【実施例３】
【０１２１】
実施例１，２においてはフィルタ設定変更予告は予告期間であるか否かで判断していたが、印刷ジョブにユーザー情報が含まれる場合にはユーザー毎にフィルタ設定変更予告を出力するかを判断構成も考えられる。
【０１２２】
以下実施の形態を説明する。
【０１２３】
図１１は実施例３におけるフィルタ設定変更予告処理を示す図である。
【０１２４】
同図は機器管理者の予告期間終了後の印刷ポリシーが２ｉｎ１に変更される場合の例である。印刷装置には２ｉｎ１フィルタがインストールされ現在はＯＦＦで予告期間終了後にＯＮに設定されるという状況を示している。即ち２ｉｎ１フィルタのカレント設定はＯＦＦ、ネクスト設定はＯＮである。
【０１２５】
最初にｕｓｅｒ  Ａ  ＪＯＢ（１回目）の場合の説明を行う。
【０１２６】
この状態でユーザーが印刷データをホストコンピュータから送信すると、印刷装置は２ｉｎ１フィルタ処理を行うが、当該ユーザー最初の一回目の印刷時には予告期間中であるためＰＤＬデータの置換は行わず、予告を発生するにとどまる。印刷出力はユーザーが送付したＰＤＬデータに対して用紙上に“ｎｅｘｔ：２ｉｎ１”と各ページの右下に印刷出力する。
【０１２７】
次に、一度予告を発生したユーザーの２回目の印刷処理の場合を説明する。
ｕｓｅｒ  Ａ  ＪＯＢ（２回目）に相当する。
【０１２８】
この状態でユーザーが印刷データをホストコンピュータから送信すると、予告は発生済みであるため、予告期間中であっても予告期間終了後のネクストフィルタ設定で印刷出力を行う。結果としてフィルタ処理された印刷出力が得られる。
【０１２９】
次に、新たなユーザーの１回目の印刷処理の場合を説明する。
【０１３０】
ｕｓｅｒ  Ｂ  ＪＯＢ（１回目）に相当する。
【０１３１】
この状態でユーザーが印刷データをホストコンピュータから送信すると、印刷装置は２ｉｎ１フィルタ処理を行うが、当該ユーザー最初の一回目の印刷時には予告期間中であるためＰＤＬデータの置換は行わず、予告を発生するにとどまる。印刷出力はユーザーが送付したＰＤＬデータに対して用紙上に“ｎｅｘｔ：２ｉｎ１”と各ページの右下に印刷出力する。
【０１３２】
図１２は実施例３のフィルタ部の詳細ブロック図である。
【０１３３】
実施例２における図１０との差分は１５００予告発生済みテーブル保持部が備えられる点である。
【０１３４】
予告発生済みテーブルは予告を発生したユーザーのユーザー名を保持するテーブルである。予告を発生したユーザーの情報を蓄積するものである。本テーブルは予告期間中はフィルタ設定変更予告を出力したユーザー情報を蓄積し、予告期間タイマーの計時終了時点で内容をクリアする構成とする。
【０１３５】
図１３は実施例３におけるフィルタ設定変更予告発生済みテーブルの構成を示す図である。
【０１３６】
同図に示した通り、フィルタ設定変更予告を発生したユーザー名を追加していく構成のテーブルである。
【０１３７】
図１４は実施例３における受信ジョブの処理手順を示すフローチャートである。
【０１３８】
本フローチャートは図１１で説明した一般ユーザーの印刷手順における内部処理を説明するものである。
【０１３９】
フィルタ設定変更予告を発生したユーザーは予告発生済み情報を蓄積し、予告期間中であっても予告を発生済みの場合には予告期間終了後のフィルタ設定で印刷出力を行う処理を示す。
【０１４０】
ステップＳ５０００では、印刷装置が印刷ジョブを受信しステップＳ５００１に進む。
【０１４１】
ステップＳ５００１では、制御部１０２がフィルタ設定変更予告フラグをｆａｌｓｅ、フィルタ処理検出フラグをｆａｌｓｅに初期化し、ステップＳ５００２に進む。
【０１４２】
ステップＳ５００２では、予告期間タイマーの状態から予告期間中であるかを判定し、ｆａｌｓｅであればステップＳ５００７へ進み、ｔｒｕｅであればステップＳ５００３に進み印刷ジョブからユーザー名を取り出す。ステップＳ５００４に進む。
【０１４３】
ステップＳ５００４では、予告発生済みテーブルを参照しステップＳ５００５に進む。
【０１４４】
ステップＳ５００５では、ステップＳ５００３で取り出した印刷ジョブ中のユーザー名がステップＳ５００４で参照した予告発生済みテーブルに含まれているかを判定し、ｔｒｕｅであればそのままステップＳ５００７に進む。ｆａｌｓｅであれば当該ユーザーには予告を発生していないのでステップＳ５００６に進みフィルタ設定変更予告フラグをｔｒｕｅにセットする。ステップＳ５００７に進む。
【０１４５】
ステップＳ５００７では、フィルタ部１０５に受信したＰＤＬデータを入力しＰＤＬフィルタ処理を行いステップＳ５００８へ進む。
【０１４６】
ステップＳ５００８では、フィルタ設定変更予告フラグの状態を判定し、ｆａｌｓｅであればステップＳ５０１１に進み、印刷出力する。フィルタ設定変更予告出力は行われない。
【０１４７】
一方フィルタ設定変更予告フラグの状態がｔｒｕｅであった場合はステップＳ５００９に進む。
【０１４８】
ステップＳ５００９では、フィルタ処置検出フラグの状態を判定し、ｆａｌｓｅであればステップＳ５０１１に進み、印刷出力する。フィルタ設定変更予告出力は行われない。
【０１４９】
一方フィルタ処理検出フラグの状態がｔｒｕｅであった場合はステップＳ５０１０に進み、フィルタ設定変更予告を行ったうえでステップＳ５０１１に進み、印刷出力する。
【０１５０】
本実施例によれば以下の効果がある。
【０１５１】
実施例３においては予告を発生したユーザーに対しては２回目の印刷からは予告ではなく、予告期間中であっても予告期間終了後のフィルタ設定でフィルタ処理を行い印刷出力するのでより短期間・効率的に機器管理者の印刷ポリシーを浸透させることが可能となる。
【図面の簡単な説明】
【０１５２】
【図１】本発明のプリンタの詳細ブロック図
【図２】フィルタ部の詳細ブロック図
【図３】カレントフィルタセットアップの手順を示す図
【図４】ネクストフィルタセットアップの手順を示す図
【図５】従来のフィルタ処理を示す図
【図６】本発明のフィルタ設定変更予告処理を示す図
【図７】フィルタプログラムの処理手順を示すフローチャート
【図８】受信ジョブの処理手順を示すフローチャート
【図９】実施例２におけるフィルタ設定変更予告処理を示す図
【図１０】実施例２のフィルタ部の詳細ブロック図
【図１１】実施例３におけるフィルタ設定変更予告処理を示す図
【図１２】実施例３のフィルタ部の詳細ブロック図
【図１３】実施例３におけるフィルタ設定変更予告発生済みテーブルの構成を示す図
【図１４】実施例３における受信ジョブの処理手順を示すフローチャート
【符号の説明】
【０１５３】
１００  プリンタ
２００  ホストコンピュータ
３００  ホストインターフェース通信経路
１０１  内部メインバス
１０２  制御部
１０３  操作パネル
１０４  ホストインターフェースコントローラ
１０５  フィルタ部
１０６  トランスレータ
１０７  レンダラー
１０８  展開メモリ
１０９  プリンタエンジン
１０００  フィルタバスインターフェース
１１００  フィルタ処理部
１１１０，１１１１，１１１２  フィルタプログラム
１２００  予告期間タイマー
１２０１  カレントフィルタ設定保持部
１２０２  ネクストフィルタ設定保持部
１２０３  フィルタ設定変更予告フラグ
１２０４  フィルタ処理検出フラグ
１３００  予告メッセージ出力部
１４００  予告付加フィルタ処理部
１５００  予告発生済みテーブル保持部
【図１】
2007086887.tif 000003
【図２】
2007086887.tif 000004
【図３】
2007086887.tif 000005
【図４】
2007086887.tif 000006
【図５】
2007086887.tif 000007
【図６】
2007086887.tif 000008
【図７】
2007086887.tif 000009
【図８】
2007086887.tif 000010
【図９】
2007086887.tif 000011
【図１０】
2007086887.tif 000012
【図１１】
2007086887.tif 000013
【図１２】
2007086887.tif 000014
【図１３】
2007086887.tif 000015
【図１４】
2007086887.tif 000016