以下、図面を参照して本発明の実施形態を詳細に説明する。
図1〜図19は、本発明の一実施形態に係わる、情報処理装置としてのホストコンピュータと印刷装置としてのプリンタを有して構成されるシステムにおける、印刷処理およびそれに伴う地紋画像の基本的な描画データの生成に関する構成を説明する図である。
なお、本実施形態においては、複写時に顕像化する部分を潜像部または前景部と称し、複写時に消失または潜像部に比較して薄くなる部分を背景部と称している。そして、潜像部には「無効」、「VOID」などのテキスト情報を入力している。しかしながら本発明における地紋画像はこれに限られるものではなく、複写時にテキスト情報は周囲の画像に対して白抜き文字のように表現される(顕像化する)形態であってもよい。この場合、潜像部と背景部の上述したドットの集中と分散の関係は白抜きでないものと逆の関係となることはもちろんである。本発明の適用は、地紋画像の種類や生成処理、色、形状、サイズなどによって制限されるものでないことは以下の説明からも明らかである。
システムの構成
図1は、本発明の実施形態に係る印刷システムの構成を示すブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続がなされ処理が行われるシステムであっても本発明を適用できる。
同図において、ホストコンピュータ3000はCPU1を備える。これによって、ROM3のプログラム用ROMあるいは外部メモリ11に記憶された文書処理プログラム等に基づいて、後述される本発明の各実施形態に係わる処理などを実行する。これらの処理には、図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理およびそれに基づく印刷処理が含まれる。このCPU1がシステムバス4に接続される各デバイスの制御を総括する。また、ROM3のプログラム用ROMあるいは外部メモリ11は、CPU1の制御プログラムであるオペレーティングシステムプログラム(以下OS)等をきおくする。また、ROM3のフォント用ROMあるいは外部メモリ11は上記文書処理の際に使用するフォントデータ等を記憶する。さらに、ROM3のデータ用ROMあるいは外部メモリ11は上記文書処理等を行う際に使用する各種データを記憶する。RAM2は、CPU1の主メモリ、ワークエリア等として機能する。
キーボードコントローラ(KBC)5は、キーボード9や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)6は、地紋画像の表示を含む、CRTディスプレイ(CRT)10による表示を制御する。7はディスクコントローラ(DKC)を示す。これは、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム(以下プリンタドライバ)等を記憶するハードディスク(HD)を制御する。また、フロッピー(登録商標)ディスク(FD)等の外部メモリ11とのアクセスを制御する。プリンタコントローラ(PRTC)8は、双方向性インターフェース(インターフェース)21を介してプリンタ1500に接続されて、プリンタ1500との通信制御処理を実行する。具体的には印刷ジョブのデータ、各種処理要求データ、プリンタからの各種応答データの通信制御を司る。
なお、CPU1は、例えばRAM2上に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT10上でのWYSIWYGを可能としている。また、CPU1は、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウィンドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウィンドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行うことができる。
プリンタ1500は、そのCPU12によって制御される。プリンタCPU12は、ROM13のプログラム用ROMに記憶された制御プログラム等あるいは外部メモリ14に記憶された制御プログラム等に基づいてシステムバス15に接続される印刷部(プリンタエンジン)17に印刷出力情報としての画像信号を出力する。また、このROM13のプログラムROMには、CPU12の制御プログラム等を記憶する。ROM13のフォント用ROMには上記印刷出力情報を生成する際に使用するフォントデータ等が記憶される。また、ROM13のデータ用ROMには、ハードディスク等の外部メモリ14がないプリンタの場合には、ホストコンピュータ上で利用される情報等が記憶されている。
CPU12は入力部18を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ3000に通知できる。RAM19は、CPU12の主メモリや、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。なお、RAM19は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。前述したハードディスク(HD)、ICカード等の外部メモリ14は、メモリコントローラ(MC)20によりアクセスを制御される。外部メモリ14は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、1501は前述した操作パネルで操作のためのスイッチおよびLED表示器等が配されている。
また、前述した外部メモリ14は1個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、図示しないNVRAMを有し、操作パネル1501からのプリンタモード設定情報を記憶するようにしてもよい。
印刷部17は本実施形態では電子写真方式のエンジンを備えており、従って、画像の印刷およびそれに伴う地紋画像はそれらの印刷画像データに従って形成されるトナーのドットによって印刷が行われる。なお、本発明の適用上印刷の方式はこのような電子写真方式に限られないことはもちろんであり、例えば、インクジェット方式など、ドットを形成して印刷を行ういずれの方式の印刷装置にも本発明を適用することができることは以下の説明からも明らかである。
図2は、図1に示したホストコンピュータ3000における印刷処理のための一構成を示す図である。アプリケーション201、グラフィックエンジン202、プリンタドライバ203、およびシステムスプーラ204は、外部メモリ11に保存されたファイルとして存在する。そして、実行される場合にOSやそのモジュールを利用するモジュールによってRAM2にロードされ実行されるプログラムモジュールである。また、アプリケーション201およびプリンタドライバ203は、外部メモリ11のFDや不図示のCD−ROM、あるいは不図示のネットワークを経由して外部メモリ11のHDに追加することが可能となっている。外部メモリ11に保存されているアプリケーション201はRAM2にロードされて実行される。この際、このアプリケーション201からプリンタ1500に対して印刷を行う際には、同様にRAM2にロードされ実行可能となっているグラフィックエンジン202を利用して出力(描画)を行う。
グラフィックエンジン202は、プリンタなどの印刷装置ごとに用意されたプリンタドライバ203を同様に外部メモリ11からRAM2にロードし、アプリケーション201の出力をプリンタドライバ203に設定する。そして、アプリケーション201から受け取るGDI(Graphic Device Interface)関数からDDI(Device Driver Interface)関数に変換して、プリンタドライバ203へDDI関数を出力する。プリンタドライバ203は、グラフィックエンジン202から受け取ったDDI関数に基づいて、プリンタが認識可能な制御コマンド、例えばPDL(Page Description Language)に変換する。変換されたプリンタ制御コマンドは、OSによってRAM2にロードされたシステムスプーラ204を経てインターフェース21経由でプリンタ1500へ印刷画像データとして出力される。
本実施形態の印刷システムは、プリンタドライバ203内に地紋処理部205を有する。地紋処理部205はプリンタドライバ203のビルドインモジュールであってもよいし、個別のインストレーションによって追加されるライブラリモジュールの形式であっても構わない。また、プリンタドライバ203は、地紋画像の印刷に関し、その地紋処理部205の実行により、後述の地紋画像の描画などの処理を行う。
印刷関連のソフトウエアモジュール
図3は、ホストコンピュータ3000における印刷処理のための構成の他の例に係わり、図2に示した構成を拡張した構成を示すブロック図である。この構成は、グラフィックエンジン202からプリンタドライバ203へ印刷命令を送る際に、一旦中間コードからなるスプールファイル303を生成する構成をとる。図2の構成では、アプリケーション201が印刷処理から開放されるのはプリンタドライバ203がグラフィックエンジン202からのすべての印刷命令をプリンタの制御コマンドへ変換し終った時点である。これに対して、図3の構成では、スプーラ302がすべての印刷命令を中間コードデータに変換し、スプールファイル303に出力した時点である。通常、後者の方が短時間で済む。また、図3で示す構成においては、スプールファイル303の内容に対して加工することができる。これによりアプリケーションからの印刷画像データに対して、拡大縮小や、複数ページを1ページに縮小して印刷する等、アプリケーションが持たない機能を実現することができる。これらの目的のために、図2の構成に対し、図3に示す様に中間コードデータでスプールするよう、システムの拡張がなされている。なお、印刷画像データの加工を行うためには、通常プリンタドライバ203が提供するウィンドウから設定を行い、プリンタドライバ203がその設定内容をRAM2上あるいは外部メモリ11上に保管する。
以下、図3に示す構成について詳細に説明する。同図に示す通り、この拡張された処理方式では、グラフィックエンジン202からの印刷命令であるDDI関数をディスパッチャ301が受け取る。ディスパッチャ301がグラフィックエンジン202から受け取った印刷命令(DDI関数)が、アプリケーション201からグラフィックエンジン202へ発行された印刷命令(GDI関数)に基づくものである場合がる。この場合には、ディスパッチャ301は外部メモリ11に格納されているスプーラ302をRAM2にロードし、プリンタドライバ203ではなくスプーラ302へ印刷命令(DDI関数)を送付する。
スプーラ302は受け取った印刷命令を解析し、ページ単位で中間コードに変換してスプールファイル303に出力する。このページ単位に格納されている中間コードのスプールファイルをページ描画ファイル(PDF:Page Description File)と呼ぶ。また、スプーラ302は、プリンタドライバ203に対して設定されている印刷画像データに関する加工設定(Nup、両面、ステープル、カラー/モノクロ指定等)をプリンタドライバ203から取得する。そして、ジョブ単位のファイルとしてスプールファイル303に保存する。このジョブ単位に格納されている設定ファイルをジョブ設定ファイル(略してSDF:Spool Description Fileと呼ぶこともある)と呼ぶ。このジョブ設定ファイルについては後述する。なお、スプールファイル303は外部メモリ11上にファイルとして生成するが、RAM2上に生成されても構わない。更にスプーラ302は、外部メモリ11に格納されているスプールファイルマネージャ304をRAM2にロードし、スプールファイルマネージャ304に対してスプールファイル303の生成状況を通知する。その後、スプールファイルマネージャ304は、スプールファイル303に保存された印刷画像データに関する加工設定の内容に従って印刷を行えるか判断する。
スプールファイルマネージャ304がグラフィックエンジン202を利用して印刷を行えると判断した際には、外部メモリ11に格納されているデスプーラ305をRAM2にロードする。そして、デスプーラ305に対して、スプールファイル303に記述された中間コードのページ描画ファイルの印刷処理を行うように指示する。
デスプーラ305はスプールファイル303に含まれる中間コードのページ描画ファイルをスプールファイル303に含まれる加工設定情報を含むジョブ設定ファイルに従って加工する。そして、GDI関数を再生成し、もう一度グラフィックエンジン202経由でGDI関数を出力する。その際、地紋画像の印刷に関する描画については、地紋処理部205をロードし、描画処理を行う。このシステムの印刷形態では、地紋処理部205はデスプーラ305やスプールファイルマネージャ304等とともに地紋画像の印刷に関し、後述の地紋画像のコマンド生成などの処理を行う。
なお、地紋処理部205は、プリンタドライバ203のビルトインモジュールであってもよいし、個別のインストレーションによって追加されるライブラリモジュールの形式であってもよい。
ディスパッチャ301がグラフィックエンジン202から受け取った印刷命令(DDI関数)がデスプーラ305からグラフィックエンジン202へ発行された印刷命令(GDI関数)に基づいたものである場合がある。この場合には、ディスパッチャ301はスプーラ302ではなく、プリンタドライバ203に印刷命令を送る。プリンタドライバ203はグラフィックエンジン202から取得したDDI関数に基づいてページ記述言語等からなるプリンタ制御コマンドを生成し、システムスプーラ204経由でプリンタ1500に出力する。
さらに、図3に示すように、上述した拡張システムに加えて、プレビューア306、設定変更エディタ307を配し、地紋画像のプレビューを含むプレビュー、印刷設定変更、複数ジョブの結合を可能にした例を示している。印刷プレビュー、印刷設定変更、複数ジョブの結合を行うためには、まずユーザが図8にて後述されるプリンタドライバのプロパティにおいて、「出力先の指定」を行う手段であるプルダウンメニュー901において「ストア」を指定する必要がある。なお、プレビューだけを見たい場合は、出力先の指定として「プレビュー」を選択することによっても可能である。
このようにプリンタドライバのプロパティで設定されている内容は設定ファイルとしてOSが提供する構造体(Windows(登録商標)OSでは、DEVMODEと呼ばれる)に格納される。その構造体には、例えばスプールファイル303に含まれる加工設定中にスプールファイルマネージャ304にストアを行うかどうかの設定が含まれている。スプールファイルマネージャ304がプリンタドライバを介して加工設定を読み込み、ストア指定がなされていた場合、前述したようにスプールファイル303にページ描画ファイルとジョブ設定ファイルとが生成、格納される。また、スプールファイルマネージャのウィンドウ画面がポップアップされ、スプールファイル303にスプールされたジョブがリスト表示される。
スプールファイルマネージャのウィンドウ画面上で、ある単体ジョブもしくは結合ジョブのプレビュー指定がされた場合、外部メモリ11に格納されているプレビューア306をRAM2にロードする。そして、プレビューア306に対して、スプールファイル303に記述された中間コードのジョブのプレビュー処理を行うように指示する。
印刷用中間データの保存処理
図4は、スプーラ302における、スプールファイル303の生成におけるページ単位保存ステップの処理を示すフローチャートである。
同図において、まずS501では、スプーラ302は、アプリケーションからグラフィックエンジン202を介して印刷要求を受け付ける。アプリケーションにおいては、図7に示すような印刷設定を入力するダイアログが表示され、このダイアログから入力された印刷設定がプリンタドライバよりスプーラ303に渡される。図7に示す設定入力ダイアログにおいては、符号801で示される、1物理ページにレイアウトする論理ページの数を決定するような設定項目等を含んでいる。
S502では、スプーラ302は、受け付けた印刷要求がジョブ開始要求か判定する。ここで、S502でジョブ開始要求であると判断した場合には、S503に進み、中間データを一時的に保存するためのスプールファイル303を作成する。続いて、S504では、スプーラ302は、スプールファイルマネージャ304へ印刷処理の進捗を通知し、続くS505でスプーラ302のページ数カウンタを1に初期化する。ここで、スプールファイルマネージャ304においては、印刷が開始されたジョブに対するジョブの情報や加工設定などをスプールファイル303より読み込み、記憶する。
一方、S502において、ジョブ開始要求ではなかったと判断した場合には、S506に進む。このS506では、スプーラ302は、受け付けた要求がジョブ終了要求かどうかの判別を行う。ジョブ終了要求でないと判断した場合には、S507に進み、改ページか否かの判別を行う。S507で改ページであると判断した場合には、S508に進み、スプールファイルマネージャ304へ印刷処理の進捗を通知する。そしてページ数カウンタをインクリメントして、中間コードを格納しているページ描画ファイルを閉じ、次のページ描画ファイルを生成する。S507において、受け付けた印刷要求が改ページではないと判断した場合には、S509に進み、スプーラ302は、ページ描画ファイルへの中間コードの書き出しの準備を行う。
次に、S510では、印刷要求をスプールファイル303へ格納するため、スプーラ302は、印刷要求のDDI関数の中間コードへの変換処理を行う。S511では、スプーラ302は、S510において格納可能な形に変換された印刷要求(中間コード)をスプールファイル303のページ描画ファイルへ書き込む。その後、S501に戻り、再びアプリケーションからの印刷要求を受け付ける。この一連のS501からS511までの処理を、アプリケーションよりジョブ終了要求(EndDoc)を受け取るまで続ける。また、スプーラ302は、同時にプリンタドライバ203からDEVMODE構造体に格納されている加工設定等の情報を取得し、ジョブ設定ファイルとしてスプールファイル303に格納する。一方、S506にて、アプリケーションからの印刷要求がジョブ終了であると判断した場合には、アプリケーションからの印刷要求は全て終了であるので、S512に進み、スプールファイルマネージャ304へ印刷処理の進捗を通知し、処理を終える。
スプールファイルの生成
図5は、スプールファイルマネージャ304における、スプールファイル303生成プロセスと以降説明する印刷画像データ生成プロセスとの間の制御の詳細を示すフローチャートである。
S601では、スプールファイルマネージャ304は、スプーラ302あるいはデスプーラ305からの印刷処理の進捗通知を受け付ける。そして、S602では、スプールファイルマネージャ304は、進捗通知が前述のS504において通知されるスプーラ302からの印刷開始通知であるか否か判定する。ここで、その通知であればS603へ進み、印刷の加工設定をスプールファイル303から読み込み、ジョブの管理を開始する。一方、S602において、スプーラ302からの印刷開始通知でなければS604へ進み、進捗通知が前述のS508において通知されるスプーラ302からの1論理ページの印刷終了通知であるか否かを判定する。ここで1論理ページの印刷終了通知であればS605へ進み、この論理ページに対する論理ページ情報を格納する。そして、続くS606では、この時点でスプールが終了したn論理ページに対して、1物理ページの印刷が開始できるかを判定する。ここで、印刷可能である場合はS607へ進み、印刷する1物理ページに対して割り付けられる論理数から物理ページ番号を決定する。
物理ページの計算については、例えば、加工設定が1物理ページに4論理ページを配置するような設定の場合、第1物理ページは第4論理ページがスプールされた時点で印刷可能となり、第1物理ページとなる。続いて、第2物理ページは第8論理ページがスプールされた時点で印刷可能となる。また、論理ページ数の総数が1物理ページに配置する論理ページ数の倍数でなくても、S512におけるスプール終了通知によって1物理ページに配置する論理ページが決定可能である。
そして、S608では、図9に示すような形式で、印刷可能となった物理ページを構成する論理ページ番号と、その物理ページ番号などの情報がジョブ出力用設定ファイル(物理ページ情報を含むファイル)に保存されたことが通知される。すなわち、物理ページ情報が1物理ページ分追加されたことがデスプーラ305に通知される。その後S601に戻り、次の通知を待つ。本実施形態においては、印刷画像データ1ページ、即ち1物理ページを構成する論理ページがスプールされた時点で印刷ジョブのスプールが全て終了していなくても印刷処理が可能である。
一方、S604において、進捗通知がスプーラ302からの1論理ページの印刷終了通知でなかった場合S609へ進む。ここで、スプールファイルマネージャ304は、前述のS512において通知されるスプーラ302からのジョブ終了通知であるかどうかを判定する。ここで、ジョブ終了通知である場合、前述のS606へ進む。一方、ジョブ終了通知でない場合、S610へ進み、スプールファイルマネージャ304は、受け付けた通知がデスプーラ305からの1物理ページの印刷終了通知であるかどうか判定する。ここで、1物理ページの印刷終了通知である場合はS612へ進み、加工設定の印刷が全て終了したかを判定する。印刷終了した場合、S612へ進み、デスプーラ305に印刷終了の通知を行う。一方、加工設定に対する印刷がまだ終了していないと判断した場合、前述のS606へ進む。本実施形態におけるデスプーラ305は印刷処理を行う単位として1物理ページ数を想定している。また、S608では、1物理ページの印刷処理を行うのに必要な情報をファイルに逐次保存し、再利用可能な形式にしている。しかし、再利用不要な場合には、共有メモリ等高速な媒体を使用し、1物理ページ単位で次々と上書きする実装にして、速度とリソースを節約するような実装形式であってもよい。また、デスプールの進捗よりもスプールの進捗の方が早い場合や全ページのスプール終了後からデスプールが開始されるような場合には、S608で1物理ページ毎にページ印刷可能を通知しない。すなわち、デスプール側の進捗に応じて、複数物理ページもしくは全物理ページが印刷可能になったという通知内容にして、通知回数を節約することが可能である。
S610において、通知がデスプーラ305からの1物理ページの印刷終了通知でないと判断された場合、S613へ進み、スプールファイルマネージャ304は、デスプーラ305からの印刷終了通知かどうかを判定する。通知がデスプーラ305からの印刷終了通知と判定された場合、S614へ進み、スプールファイルマネージャ304は、スプールファイル303の該当するページ描画ファイルの削除を行い、処理を終える。ただし、デスプーラ305からの印刷終了通知でなかった場合はS615へ進み、その他通常処理を行い、次の通知を待つ。
スプールファイルの出力
図6は、デスプーラ305における、印刷画像データの生成プロセスの詳細を示すフローチャートである。
デスプーラ305は、スプールファイルマネージャ304からの印刷要求に応じて、スプールファイル303から必要な情報(ページ描画ファイルおよびジョブ設定ファイル)を読み出して印刷画像データを生成する。生成された印刷画像データにおけるプリンタへの転送方法については図3にて前述した通りである。また、印刷データはPDL形態であることも前述したとおりである。
印刷画像データの生成では、まず、S701において、前述のスプールファイルマネージャ304からの通知を入力する。続くS702では、デスプーラ305は、入力された通知がジョブの終了通知かどうか判定し、ジョブ終了通知であるならばS703へ進み、終了フラグを立て、S705へ進む。一方、S702においてジョブ終了通知でない場合は、S704に進み、前述のS608における1物理ページの印刷開始要求が通知されたかどうか判定する。S704において開始要求と判定されなかった場合は、S710へ進み、その他エラー処理を行い、S701へ戻り次の通知を待つ。一方、S704において1物理ページの印刷開始要求と判定された場合は、S705へ進み、デスプーラ305は、S704で通知を受けた印刷処理可能な物理ページのIDを保存する。続くS706では、デスプーラ305は、S705で保存した物理ページIDのすべてのページに関して印刷処理が済んでいるかどうか判定する。ここで全物理ページの処理が済んでいる場合は、S707へ進み、前述のS703で終了フラグが立てられているか否か判定する。終了フラグが立っている場合は、ジョブの印刷が終了したとみなし、デスプーラ305の処理終了の通知をスプールファイルマネージャ304に通知し、処理を終える。S707で、終了フラグが立っていないと判定された場合は、S701へ戻り次の通知を待つ。一方、S706で、印刷可能な物理ページが残っていると判断された場合には、S708へ進む。ここで、デスプーラ305は、保存された物理ページIDから未処理の物理ページIDを順に読み出し、読み出した物理ページIDに対応する物理ページの印刷画像データ生成に必要な情報を読み込み、印刷処理を行う。印刷処理はスプールファイル303に格納された印刷要求命令をデスプーラ305においてグラフィックエンジン202が認識可能な形式(GDI関数)に変換し、転送する。本実施形態のような、複数論理ページを1物理ページにレイアウトするような加工設定(以下Nページ印刷)については、このステップで縮小配置を考慮にいれながら変換する。必要な印刷処理が終えたならば、続くS709において1物理ページの印刷画像データ生成終了の通知をスプールファイルマネージャ304に対して行う。そして再びS706へ戻り、S705で保存しておいた印刷可能な物理ページIDすべてについて印刷処理を行うまで繰り返す。
以上が、ディスパッチャ301、スプーラ302、スプールファイルマネージャ304、デスプーラ305を用いた印刷処理の流れである。上記のように処理することにより、スプーラ302が中間コードを生成してスプールファイル303に格納するタイミングでアプリケーション201が印刷処理から開放されるので、プリンタドライバ203に直接出力するよりも短時間で済む。また、スプールファイル303にプリンタドライバの印刷設定を踏まえた中間ファイル(ページ描画ファイル、ジョブ設定ファイル)を一時保存しているので、実際に印刷されるべき印刷プレビューをユーザに認識させることが可能となる。また、複数のアプリケーションにより生成した印刷ジョブの結合や並び替えが可能となり、印刷設定の変更を行う場合にも、これを再度アプリケーションを立ち上げて印刷をすることなく実行可能である。
ここで、スプーラ302を用いた印刷処理において、デスプーラ305によりグラフィックエンジン202への印刷要求時にジョブ出力用設定ファイルが生成されるが、プレビューやジョブ結合等を行う場合もジョブ出力用設定ファイルが生成される。ジョブ出力用設定ファイルは、単体ジョブの場合はジョブ設定ファイルと同等のものであり、結合ジョブの場合は複数のジョブ設定情報に基づいて生成されるものである。ここでジョブ出力用設定ファイルについて説明する。
ジョブ出力用設定ファイルの構成
図9は、S608において、スプールファイルマネージャ304が生成する印刷可能となった物理ページを構成する情報を保存しているジョブ出力用設定ファイルの例を示す。フィールド1001は、ジョブを識別するためのIDで、本情報を保存しているファイル名や共有メモリの名称という形で保持することも可能である。フィールド1002はジョブ設定情報である。ジョブ設定情報には、グラフィックエンジン202に対してジョブの印刷を開始するために必要な構造体、Nページ印刷の指定、ページ枠などの追加描画の指定、部数がふくまれている。また、ステープルなどのフィニッシング指定など、1つのジョブに対して1つしか設定できない情報も含まれている。ジョブ設定情報1002には、ジョブに対する機能に応じて必要なだけ情報が保存される。フィールド1003はジョブの物理ページ数で、本フィールド以降、この数の分だけ物理ページ情報が保存されていることを示す。本実施形態では、印刷可能な物理ページ数を通知する方式であるので、このフィールドは無くても動作可能である。これ以降、フィールド1004から最後までフィールド1003の数だけ物理ページ情報が格納される。物理ページ情報については図12で説明する。
図10は、図9のフィールド1002に図示されたジョブ設定情報の一例を示す図である。フィールド1101は全物理ページ数である。フィールド1102は、全論理ページ数である。フィールド1101および1102は、印刷画像データに追加して、ページ数などを付加情報として印刷する場合などに利用する。印刷が続いている際には、両フィールドは暫定的な値、もしくは、印刷が終了するまでスプールファイルマネージャ304は印刷可能な物理ページの情報の作成を延期する。フィールド1103は本印刷ジョブを何部印刷するかを指定する部数情報である。フィールド1104は、フィールド1103で複数部印刷する設定の場合、部単位で印刷するかどうかの指定である。フィールド1104はステープル、パンチ、Z折などのフィニッシング情報で、プリンタ本体もしくは外部にフィニッシャーがある場合に指定される。フィールド1106は付加印刷情報で、本発明の地紋プリントを始め、ページ枠などの飾り、日付などの付加情報、ユーザ名、ページ数、ウォーターマーク印刷等、ジョブに対して付加する情報が保存される。機能が増えるに従って本ジョブ設定情報に含まれるフィールドの数も増加し、例えば、両面印刷が可能な場合は、両面印刷の指定を保存するフィールドが追加される。
図11は、図9のフィールド1004に図示された物理ページ情報の一例を示す図である。最初のフィールド1201は物理ページ番号で、印刷順序の管理や、物理ページ番号を追加印刷する際に使用される値である。フィールド1202は物理ページ設定情報で、物理ページ毎にレイアウトやカラー・モノクロの指定が可能である場合、レイアウトやカラー・モノクロの設定が保存される。フィールド1203は本物理ページに割り付けられる論理ページ数で、1物理ページに4ページを割り付ける場合には4もしくは4ページ印刷を示すIDが保存される。フィールド1204以降はフィールド1203で指定された数だけ論理ページの情報が保存される。アプリケーション201から印刷されたページ数によっては、1203で指定されるページ数よりも実際のページデータ数が少なくなる場合がある。その場合には、論理ページ情報に空ページを示す特別なデータを保存して対応する。
図12は、物理ページ設定情報1202の例を示す図である。フィールド1301は物理ページ上への論理ページの配置順で、Nページ印刷で、物理ページ上に論理ページを配置する順番(左上から横へ、左上から下へ等)の指定が保存されている。システムによっては、配置順ではなく、フィールド1204以降の論理ページ情報の順番をページ番号順ではなく、配置順に応じた順序で配することで1301の設定を代用する場合もある。フィールド1302は両面印刷の表・裏の情報で、例えば綴じ代を表裏でそろえる際に使用される。フィールド1303はカラーページかモノクロページかの指定で、プリンタがモノクロモードとカラーモードを持つ場合に使用される。また、カラーページとモノクロページが混在する文書で、カラーページをカラーモードで、モノクロページをモノクロモードで印刷したい場合などに使用される値である。この情報を持つことにより、オートカラーモードとして、ページ単位にカラープリンタで処理を変更することが可能となる。フィールド1304は付加印刷情報で、物理ページに対して、ページ数や、日付などの付加情報を印刷する場合に使用される。物理ページ設定情報も、システムの機能に応じてフィールドが追加される。
本実施形態の場合、図15以降で説明される地紋画像印刷は物理ページに対して付加される情報なので、図10に示すフィールド1106に保持された地紋印刷に関する情報に基づき、各物理ページに対する設定情報として、フィールド1304内にも格納される。ジョブに対する付加印刷情報1106および付加印刷情報1304内における、地紋プリントに関する設定情報を格納するデータ形式の一例については、図14において後述する。
図13は、フィールド1204で示された論理ページ情報の一例を示す図である。フィールド1401は論理ページのIDであり、このIDを利用して、スプールファイル303から論理ページに対応するページ描画ファイルの中間コードを参照する。このIDを利用して論理ページの中間コードへアクセス可能であれば良く、ファイルやメモリポインタであっても、論理ページを構成する中間コード自身が入っていてもよい。フィールド1402は論理ページ番号で論理ページ番号を付加情報として印刷する場合や、論理ページIDの補助情報に使用される。フィールド1403のフォーマット情報には、論理ページ単位で指定可能である各種設定項目が保存される。例えば、ページ枠などの付加印刷情報、拡縮率などの論理ページ単位に指定される各種設定の情報が保存される。また、必要であれば、論理ページ単位のカラー・モノクロ情報などの論理ページに対する属性情報を保存する事も可能である。逆に、論理ページ単位で設定を切りかえる事や論理ページ単位での属性情報が不要であるようなシステムでは、フィールド1403は不要である。
本実施形態の場合、図15および図16(a)、図16(b)において説明される地紋印刷に関する機能設定情報は、フィールド1403内には保持されない。これは、N−Upなどによる論理ページの拡大縮小に対して地紋プリントで使用されるパターンが影響を受けなくさせるためである。
ジョブ出力用設定ファイルは、上記のように構成されている。なお、ジョブ設定ファイルもほぼ同様であり、印刷体裁(片面、両面、製本印刷)、印刷レイアウト(Nup、ポスター印刷)、付加情報(地紋プリント情報、ウォーターマーク、日付、ユーザ名など)、部数、用紙サイズ情報がジョブとして有している。このように、物理ページ毎に、論理ページの配置順、両面印刷の表面か、裏面か、カラーモード等から構成されている。
図3を再び参照すると、同図に示す拡張システムは、ジョブの設定変更機能を持つ設定変更エディタ307を配している。本実施形態ではジョブの設定内容は、単体ジョブは、ジョブ設定ファイルに、また結合ジョブは、図9に示したジョブ出力用設定ファイル中に含まれている。このように、中間コードを保存しているページ描画ファイル303とは独立しているため、ジョブ出力用設定ファイルを作り変えることでジョブの設定変更が可能である。設定変更エディタ307は単独で、あるいはスプールファイルマネージャ304と連携して、ジョブ出力用設定ファイルを作り変え、あるいは、一部を書き換えることでジョブの設定変更機能を実現している。
地紋画像印刷処理の説明
図15および図16(a)、図16(b)は、地紋画像印刷に関する設定をおこなうユーザインターフェースの一例を示す図である。
図15はプリンタドライバ203による、地紋プリントに関するユーザインターフェースの初期画面の一例である。この例では、ダイアログ内のプロパティシート2101において地紋プリントに関する設定が行えるようになっている。
2102は、印刷ジョブに対して地紋プリント(地紋画像を含む印刷、以下、同じ)を行うか(適用するか)どうかを指定するチェックボックスを示し、図10における付加印刷情報1106内に地紋プリントを行うかどうかの設定が格納される。2103は、地紋プリントの複数の設定情報を1つの識別子(スタイル)で指定可能にするためのスタイル情報を示す。プリンタドライバ203は複数のスタイルを選択可能となっており、各スタイルと図14に示す地紋プリント情報との関係がレジストリに登録される。また、ボタン2104を押下することにより、図16(a)に示すスタイル編集用ダイアログ2201が表示される。2105は、地紋プリントにおける前景、背景のコントラストを調整する際に用いるチェックボックスを示し、ボタン2106を押下することにより、コントラスト調整用の画面が表示される。
また、2107は、本発明の第一の実施形態として後述される文書など印刷する画像の機密度に対応して地紋設定を行うためのダイアログを表示するためのボタンを示す。このボタンを押下することによって、図24にて後述するダイアログが表示される。図24にて後述されるように、印刷する画像の機密度に応じて地紋印刷のスタイルを設定できるが、その設定可能なスタイルが、上述のスタイル情報2103において候補として選択することができる。
図16(a)は、地紋プリントの個々の詳細設定を編集するためのダイアログの一例を示す図であり、図15に示した「スタイル編集」ボタン2104を押下することによって表示される。
同図において、2201は地紋情報編集用ダイアログ全体を示し、このダイアログには後述する、個々の地紋情報によって生成される地紋画像の結果がプレビューのため表示する領域がある。2202は選択可能なスタイルの一覧を表示する領域を示し、ボタン2203および2204を用いてスタイルの新規追加、削除が可能となる。2205は、現在指定されているスタイル名称が表示される領域を示す。
2206は、地紋プリントに用いる描画オブジェクトの種類を選択するラジオボタンを示し、「文字列」を選択するとテキストオブジェクトが使用され、「イメージ」を選択するとBMPなどに代表されるイメージデータが使用される。図16(a)では、「文字列」が選択されているので、ダイアログ2201には符号2207から2209などで示されるテキストオブジェクトに関する設定情報が表示され、編集可能となる。一方、領域2206において「イメージ」が選択されている場合、情報2207から2209は表示されず、その代わりに図16(b)に示すイメージファイル名称表示2215および図不示のファイル選択ダイアログを表示するためのボタン2216が表示される。
2207は地紋画像として使用する文字列を表示、編集するための設定領域を示す。2208は文字列のフォント情報を表示、編集するための設定領域を示す。本実施形態では、フォント名称のみの選択画面としているが、書体のファミリー情報(ボールド、イタリックなど)や、飾り文字情報などが選択可能に拡張してもよい。2209は地紋パターンとして使用する文字列のフォントサイズを表示、設定する領域である。本実施形態では「大」「中」「小」の3段階で指定可能であるが、ポイント数の直接入力など、一般的に用いられるフォントサイズ指定方法を採用してもよい。2210は地紋パターンと原稿データの印刷順序を設定するためのラジオボタンであり、「透かし印刷」が指定された場合は、図17にて後述するように、地紋パターンを描画後、原稿データを描画する。一方、「重ね印刷」が指定された場合は、図18にて後述するように、原稿データを描画後、地紋パターンを描画する。2211は、地紋パターンの配置角度を指定するラジオボタンを示す。本実施形態では、「右上がり」「右下がり」「横」の3通りの選択を可能としているが、角度を任意に指定可能な数値入力領域や、直感的に指定可能なスライダーバーなどを配し、角度指定方法を拡張してもよい。2212は、地紋パターン(前景パターン、背景パターン)に用いる色を表示、指定するための領域を示す。2213は、前景パターン、背景パターンの入れ替えを行うためのチェックボックスを示す。チェックボックスがチェックされていない場合は、複写時に前景パターンが浮かび上がり、一方、チェックされていない場合は複写時に背景パターンが浮かび上がるよう印刷が行われる。2214は、原稿に埋め込んだ地紋パターンを認識させづらくさせるためのカモフラージュ画像を指定するための領域を示し、複数のパターンから選択可能である。また、カモフラージュ画像を使用しないという選択肢も提供されている。
以上のように、ユーザは必要に応じて、このダイアログにおけるプレビュー表示を見ながら後述の地紋パターンの調整を行うことができる。
地紋プリント設定情報のデータ形式
次に、図16(a)および図16(b)において説明した地紋プリント設定情報に関する付加情報1106および1304に格納されるデータ形式について図14を用いて説明する。
同図において、フィールド2001は、図16(a)の設定領域2206で指定される、地紋プリントで描画するオブジェクト種(テキスト形式あるいはイメージ)を示す値を格納する。フィールド2002は、図16(a)の設定領域2207〜2209、あるいは図16(b)で指定される、フィールド2001の情報で指定された描画オブジェクトに対する設定情報を格納する。テキスト選択時は文字列、フォント名、サイズ情報が、イメージ選択時は入力するイメージファイルのロケーションが格納される。フィールド2003は、図16(a)の設定領域2210で指定される、原稿データに対して地紋パターンを先に描画するか、後から描画するか(印刷順序)を指定する情報を格納する。フィールド2004は、図16(a)の設定領域2211で指定される、描画オブジェクトを配置する角度情報を格納する。フィールド2005は、図16(a)の設定領域2212で指定される、地紋パターン(前景パターン、背景パターン)に使用される色情報を格納する。フィールド2006は、図16(a)のチェックボックス2213で指定される、前景パターン、背景パターンの入れ替えを行うかどうかの情報を格納する。フィールド2007は、図16(a)の設定領域2214で指定される、カモフラージュ画像のパターン付加情報を格納する。フィールド2008は、コントラスト調整用画面で指定される、前景パターンの濃度情報を格納する。フィールド2009は、同様にコントラスト調整用画面で指定される、背景パターンの濃度情報を格納する。
地紋パターンの描画処理
図17および図18は、地紋プリントにおける描画処理の手順を示すフローチャートであり、図16(a)にて説明したそれぞれ「透かし印刷」と「重ね印刷」に対応している。また、これらの処理は、図6のS708における印刷処理において行われるものである。
まず、地紋パターン情報の追加描画処理について、「透かし印刷」、すなわち、先に地紋パターンを描画する場合について、図17に示すフローチャートを用いて説明する。上述したように、「透かし印刷」はプリンタのビットマップメモリにおいて、地紋画像データの上に原稿データをラスタライズする処理である。そのため、印刷データの生成順序としては、原稿データに対応する印刷データ生成より先に地紋画像の印刷データを生成することになる。
S1901において、図14に示す地紋パターン情報で示される地紋に関する情報に従い、描画を行う。その詳細な処理については図19にて後述する。その後、原稿データに関する描画処理を行う。S1902では、カウンタを初期化する。そして、S1903において、カウンタが、予め設定されている1物理ページあたりの論理ページ数になったか否かを判定し、論理ページ数と等しくなったらS1908へ進み、等しくなければS1904へ進む。S1904では、カウンタを1増加させ、S1905で、1ページあたりの論理ページ数およびカウンタをもとに、描画する論理ページに対する有効印刷領域を計算する。そして、S1906において、図8のような形態で通知された物理ページに関する情報から、カウンタをインデックスとして現在の論理ページ番号を読み取り、該当論理ページを有効印刷領域内に収まるように縮小描画する。ただし、Nページ印刷が指定されていない場合にはもちろん縮小の必要はない。
次に、「重ね印刷」、すなわち、原稿データを描画した後から地紋パターンを描画するケースについて、図18に示すフローチャートを用いて説明する。上述したように、「重ね印刷」はプリンタのビットマップメモリにおいて、原稿データの上に地紋画像をラスタライズする処理である。そのため、印刷データの生成順序としては、地紋画像に対応する印刷データ生成より先に原稿データに対応する印刷データを生成することになる。
S1902において、カウンタを初期化する。次に、S1903において、カウンタが、予め設定されている1物理ページあたりの論理ページ数になったか否かを判定し、論理ページ数と等しくなったらS1908へ進み、等しくなければS1904へ進む。S1904でカウンタを1増加させ、S1905において、1ページあたりの論理ページ数およびカウンタをもとに、これから描画する論理ページに対する有効印字領域を計算する。次に、S1906において、図8のような形態で通知された物理ページに関する情報から、カウンタをインデックスとして現在の論理ページ番号を読み取り、該当論理ページを有効印字領域内に収まるように縮小描画する。ただし、Nページ印刷が指定されていない場合にはもちろん縮小の必要はない。1物理ページとして所定数の論理ページを展開し終えると、S1908に進む。S1908では、アプリケーションから取得している物理ページの有効印刷領域に対して、図14に示す地紋パターン情報で示される地紋に関する情報に従い、描画を行う。その詳細処理については、同様に図19にて後述する。
図19は本発明の一実施形態に係る、図17に示したS1901の地紋パターン描画処理及び図18に示したS1908の地紋パターン描画部処理の詳細を示すフローチャートである。以下、図19を参照して、地紋パターン描画処理を説明する。
初めにユーザインターフェース等を介して、S2701で地紋パターン描画処理が開始される。次に、S2702で、入力背景画像、背景閾値パターン、前景閾値パターン、前景背景領域指定画像、カモフラージュ領域指定画像、を読み込む。さらに、S2703で、地紋画像を生成する際の初期画素を決定する。例えば、入力画像全体に対して左上から右下までラスター走査順に画像処理を行い地紋画像に変更する場合、左上を初期位置とする。
次にS2704では、地紋処理部205は、背景閾値パターン、前景閾値パターン、基礎画像、カモフラージュ画像を、地紋画像領域の左上からタイル上に配置する処理を以下の式(1)に基づく計算によって実行する。この計算によって、当該画素位置に印刷時のドットに対応する画素値を書き込むか否かを判定する。このとき画素値は入力された色情報に対応する。なお、ここで、背景閾値パターンおよび前景閾値パターンは、ドットの書き込み/非書き込みに対応する「1」と「0」からなる画像データである。これらの画像は前景(潜像)画像及び背景画像を作成するのに適したそれぞれのディザマトリクスによって2値化されたデータである。
nWriteDotOn=nCamouflage×
(nSmallDotOn׬nHiddenMark+nLargeDotOn×nHiddenMark) 式(1)
式の構成要素を以下に示す。
nComouflage:カモフラージュ画像において、対象画素がカモフラージュ模様を構成する画素であれば0、そうでなければ1。
nSmallDotOn:背景閾値パターンの画素値が黒であれば1、白であれば0(色はこれに限定されない)
nLargeDotOn:前景閾値パターンの画素値が黒であれば1、白であれば0(色はこれに限定されない)
nHiddenMark:基礎画像において、対象画素が潜像画像を構成する画素であれば1、背景画像を構成する画素であれば0。
¬nHiddenMark:nHiddenMarkの否定。前景部で0、背景部で1となる。
なお、各処理対象画素で式(1)の全ての要素を用いて計算する必要は無い。不必要な計算を省くことで処理の高速化を図ることができる。
例えば、nHiddenMark=1ならば¬nHiddenMark=0、nHiddenMark=0ならば¬nHiddenmark=1となる。従って、nHiddenMark=1ならば以下の式(2)の値をnLargeDotOnの値とし、nHiddenMark=0ならば、式(2)の値をnSmallDotOnの値とするとよい。また、nCamouflageの値は式(1)に示したように、全体にかかる積算であるので、nCamouflage=0であれば、nWriteDotOn=0となる。従って、nCamouflage=0の場合は以下の式(2)の計算を省略できる。
(nSmallDotOn׬nHiddenMark+nLargeDotOn×nHiddenMark) 式(2)
また、生成される地紋画像では、背景閾値パターン、前景閾値パターン、基礎画像、カモフラージュ画像の縦横の長さの最小公倍数の大きさの画像が繰り返しの最小単位となる。この為、地紋処理部205では繰り返しの最小単位である地紋画像の一部分のみを生成し、その地紋画像の一部分を地紋画像領域の大きさにタイル状に繰り返し並べると地紋画像生成にかかる処理時間を短縮できる。
次に、S2705では、S2704の計算結果(nWriteDotOnの値)をCPU1が判定する。即ち、nWriteDotOn=1ならばS2706に進み、nWriteDotOn=0ならばS2707に進む。
S2706では、印刷時のドットに対応する画素値を書き込む処理を行う。ここで、画素値の値は、地紋画像の色によって変えることができる。黒色の地紋を作成したい場合、入力背景画像の処理対象画素を黒に設定する。その他、プリンタのトナーあるいはインクの色に合わせ、シアン、マゼンダ、イエローに設定することにより、カラーの地紋画像を作成することもできる。さらに、背景画像が1画素あたり1〜数ビットの画像データである場合には、インデックスカラーを用いて画素値を表現することができる。インデックスカラーは、画像データの表現方法で、対象とするカラー画像で頻繁に出現する色情報を目次に設定する(例えばインデックス0は白、インデックス1はシアンなど)。そして、各画素の値は色情報を記載した目次の番号で表現するものである(例えば、1番目の画素値はインデックス1の値、2番目の画素値はインデックス2の値、・・・と表現する。)
S2707では、入力背景画像の処理対象領域の全画素が処理されたか否かを判定する。入力背景画像の処理対象領域の全画素が処理されていない場合はS2708に進み、未処理の画素を選択し、再びS2704〜S2706の処理を実行する。
S2750では、S2704〜S2708の処理で作成した地紋画像に基づく地紋パターンを生成する。
以上のように、入力背景画像に対して上述の各処理が施されることにより地紋画像を生成することができる。なお、これだけの処理では、前景背景領域指定画像の前景と背景の切り替わる部分にドットの固まりが生じ前景の概形が目立ち偽造防止地紋の効果が薄れるデメリットが生じる場合がある。そこで、前景背景領域指定画像の前景と背景の切り替わりでドットの固まりが生じないようにするバウンダリ処理もあわせて施してもよい。
以上説明した構成を有して地紋印刷を行うことができる印刷システムにおける、地紋印刷の自動設定に関するいくつかの実施形態を以下に説明する。以下の各実施形態では、プリンタドライバが実行する処理として地紋印刷の内容が自動的に設定される。
(第一実施形態)
印刷画像の機密度に応じた地紋設定処理の手順
図20は、本発明の第一の実施形態に係る、文書など印刷する画像の機密度に応じて地紋印刷内容を設定する処理を示すフローチャートである。本フローチャートの処理は、図1に示されるホストコンピュータ3000のCPU1が、外部メモリ11に記憶されたプログラムコードを読込み実行することにより実現される。
また、図20に示す処理は、地紋処理部205(図2、図3)が、図10に示した印刷付加情報フィールド1106に地紋印刷の情報を格納する際に行われる。
最初に、S5101において、印刷する画像である文書に対して指定されている機密度情報を取得する。より具体的には、まず、ユーザのマウス等のポインティングデバイス操作により選択指示された文書がホストコンピュータ3000により特定される。そして、特定された文書の識別子(ファイル名)を、後述の図22のファイル情報に対し照合し、照合の結果文書の識別子に一致した文書に設定されている機密度の情報を取得する。
本実施形態では、印刷する画像の機密度を調べ、その機密度に応じてプリンタドライバが自動的に地紋画像(スタイル)を設定する。このように、本実施形態では、プリンタドライバが自動的に地紋印刷の内容を設定(決定)するものであり、その設定の際に基準ないし参照とする情報として印刷する画像の機密度を用いる。この印刷画像としての文書の機密度の取得方法については図21および図22にて後述する。なお、本実施形態では印刷する画像として文書を例に示しているが、機密度を有する画像であれば、文書に限られないことはもちろんである。
次に、S5102では、S5101で取得した機密度に応じた地紋設定を取得する。本実施形態では、この地紋設定は後述されるように地紋のスタイル情報(地紋画像の種類)の設定である。なお、この機密度に対応した地紋設定は、本例では地紋のスタイル情報の設定であるが、この設定に係るスタイル情報は、図15にて前述したように地紋印刷の複数の設定情報を指定できる。例えば、図16にて前述したように、スタイル情報を表す文字列の他、その角度、色、背景模様、ロゴタイプ、サイズなどを1つのスタイル情報に対応させることができる。すなわち、例えば色が異なれば、他が同じでも、本処理におけるスタイル情報としての「地紋設定」を異なるものとすることができる。上記機密度と地紋設定との関係および設定方法の一例については、図23および図24を参照して後述する。
S5103の判断では、S5101で取得した機密度情報に応じた地紋設定、すなわち、スタイル情報が、図23および図24で後述されるように予め設定されている地紋設定の中にあるか否かを判断する。
取得した地紋設定に該当する地紋設定があるときはS5104に進み、その該当する地紋設定を図10に示したフィールド1106へ格納し、割り付けられた地紋設定を用いて以降の印刷処理を行う。一方、5103において該当する地紋設定がないと判断したときは、S5105へ進み、既存の(現在設定されている)地紋設定を用いて以降の印刷を行う。
地紋画像に対して指定されている機密度情報の取得方法
図21は、図20に示すS5101の文書の機密度取得処理に関連した文書管理処理を説明するフローチャートである。本フローチャートの処理は、図1に示されるホストコンピュータ3000のCPU1が、外部メモリ11に記憶されたプログラムコードを読込み実行することにより実現される。
図21では、一例として文書ファイルに対する機密度を定義するための文書管理モジュールが起動しており、印刷を行う文書を常に監視しているような場合を想定している。これとは別に、文書の属性情報を管理可能なOSがプリンタドライバからの問い合わせ時に起動し、問い合わせ結果をプリンタドライバに返すことによって機密度を定義する形態であってもよい。
先ず、文書管理アプリケーションは、S5201でイベントを待ち、イベントの入力があるとS5202へ進む。S5202では、入力したイベントが自身の終了命令であれば処理を終了する。そうでないときは、S5203で、入力したイベントが監視対象ファイルの削除であるか否かを判断する。ここで、監視対象ファイルの削除であるときは、本文書管理アプリケーションが保持しているファイル情報から該当ファイルに関する情報を削除後、S5201へ戻り次のイベントを待つ。図22に示す格納形式の例を用いた場合、ファイル情報はファイル5301のような一まとめの形式で管理されており、ファイルの削除では、該当するファイルに対するファイル情報セットが削除されることになる。
図22は、文書と機密度情報を関連付けるデータ形式の一例を示す図である。ホストコンピュータ3000が参照することができれば、図22のファイル情報は、例えばネットワークを介して接続された任意の外部コンピュータ内にも格納させておくことができる。なお、ひとまとまりのそれぞれのファイル内の管理情報としては、ファイル名5302、ファイルが格納されているフォルダ名5303がある。フォルダ名5303にはファイルの格納場所であるパスが設定されている。また、ファイルに対する機密度5304、ファイルのアクセス状態(オープン、クローズ状態)を保持するファイルオープンフラグ5305、およびファイル情報の更新時間格納領域5306がある。なお、ファイル毎に格納される情報はこれ以外にも拡張可能であることはいうまでもない。また、図22に例示するデータはファイル形式で格納されても良いし、メモリ空間に保持される形式であっても良い。
再び図21を参照すると、S5203で入力したイベントが監視対象ファイルの削除でないと判断したときは、S5205で、入力したイベントが監視対象のファイルの追加であるか否かを判断する。ここで、ファイル追加であれば、S5206で該当するファイルに対する情報を、図22に例示するファイル情報に追加後、S5201へ戻り次のイベントを待つ。一方、ファイル追加でなければ続くS5207で、入力したイベントが監視対象のファイルの移動であるか否かを判断する。ここで、ファイル移動であれば、S5208で該当するファイルに対する格納位置情報5303を更新後(設定後)、S5201へ戻り次のイベントを待つ。この時、移動された文書データに予め設定された機密度情報は保持されたままである。このS5208の処理により、個々の文書(ドキュメント)に対して関連付けられた機密度の設定情報が、例えば、ファイル移動が行われても保持され、より信頼性ある特定文書データへの地紋付加の管理を実現する。例えば、あるフォルダから別のフォルダに文書データの格納場所が移動した場合にも、予めユーザが意図した地紋付加の形態を保持することができ、信頼性のある地紋付加の運用を実現できる。
一方、ファイル移動でなければ続くS5209で、入力したイベントが監視対象のファイルのオープンであるか否かを判断する。ここで、ファイルオープンであれば、S5210で該当するファイルに対するファイルオープンフラグ5305をONにし、S5201へ戻り次のイベントを待つ。一方、ファイルオープンでなければS5211で、入力したイベントが監視対象のファイルのクローズであるか否かを判断する。ここで、ファイルクローズであれば、S5212で該当するファイルオープンフラグ5305をOFFにし、S5201へ戻り次のイベントを待つ。一方、ファイルクローズでないときはS5213において、入力したイベントが監視対象ファイルの機密度変更処理であるか否かを判定する。
ここで、機密度変更処理であると判断したときは、S5214で該当するファイルに対して変更された機密度情報5304を更新し、S5201へ戻り次のイベントを待つ。一方、機密度情報変更処理でないと判断したときはS5215へ進みその他のイベント処理を行った後、S5201へ戻り次のイベントを待つ。
地紋処理部205は、印刷時にアプリケーションよりグラフィックエンジン202経由でファイル名称(文書識別子や文書IDと呼ぶ)を取得する。そして、この取得されたファイル名(文書識別子)と図22のそれぞれのファイル5302を比較し、該当する文書を検出し、その文書の対応する機密度情報を取得する。以上のようにして文書の機密度情報を取得することができる。
図25は、文書管理アプリケーションまたはOSにおける文書ごとの機密度設定方法の一例を説明する図である。この図25の設定画面を介して、各文書データに対して共通して、或は、異ならせて、機密度を容易に設定することができる。この図25に示される設定方法により上に説明した図22のファイル情報が作成される。
図25において、表示5601のように、ファイルおよびフォルダがツリービュー形式などにより一覧表示される。そして、この表示において選択されたファイルあるいはフォルダに対する機密度を、ボックス5602を介して設定することができる。
5603は機密度情報の値を決定するためのドロップダウンリストボックスを示し、これを介して新規に監視対象となったファイルやフォルダに対して機密度を割り付けることができる。通常、総てのファイルなどに対して機密度を付加するのは手間がかかるため、この機密度設定用のボックスを用いることは有効な手段である。また、5604は、設定した機密度を固定するときに用いるチェックボックスを示す。ここでチェックされたファイルなどは、図22に示すように機密度情報5304内にロック情報として格納される。さらに、5605は表示5601においてフォルダが選択された場合、フォルダ以下に格納されるファイルに対する詳細な機密度の設定を行うためのボタンを示す。このボタンを押下すると図不示のダイアログが表示され、そのダイアログを介して詳細な機密度の設定を行うことができる。さらに、同一のファイル拡張子に対する機密度を指定するような機能が該当する。これらの細分化した指定方法は文書管理システムの指定方法における拡張によって可能であるが、その説明は省略する。
機密度と地紋設定の関係およびその指定方法
図23および図24は、図20に示したS5102の処理に関連し、機密度と地紋設定を対応付ける処理およびそのデータ格納方法を説明する図である。
図23は、地紋処理部205によって参照および更新される、機密度情報と地紋設定の対応を格納したデータ形式の一例を示す図である。すなわち、図20のS5102の処理によって参照され、また、図24にて以下に説明するユーザによる設定操作によって変更される機密度情報と地紋設定の対応を示している。
図23において、5401は図22の機密度領域5304に規定できる機密度情報の格納領域を示す。また、5402はそれぞれの機密度に対応する地紋設定、具体的には図15に示したスタイル情報ボックス2103にて列挙される地紋設定群の識別子情報の格納領域を示す。前述したように、ボックス2103は、地紋印刷の複数の設定情報を1つの識別子(スタイル)で指定可能にするためのスタイル情報を列挙でき、これにより、プリンタドライバ203は複数のスタイルを選択することができる。
図23に示す例では、機密度はAからDまでの4段階が定義されている。また、地紋設定領域5402に設定できる地紋設定は、図15に示したスタイル情報ボックス2103で規定される地紋設定のほか、「現在の設定値」および「地紋プリントしない」を設定することができる。機密度の低い機密度Dの文書については「地紋プリントしない」が選択される。また、図24で後述する設定UIの利便性を考慮した場合、「現在の設定値」が選択肢として有効となる。なお、これらの情報はレジストリ内に格納されるような形式を想定しているが、ファイル形式で保存されるなど、別の方法をとってもよい。
図24は、図15に示したボタン2107を押下した際に表示される、機密度と地紋設定の対応付けを行うためのユーザインターフェースの一例を示す図である。このユーザインターフェースを介して図23に示した機密度情報と地紋設定の対応を変更ないし設定にすることができる。
図24において、リストボックス5501には、各機密度に対する地紋設定すなわちスタイル情報が行単位で一覧表示される。同リストボックスにおいて設定を行いたい機密度に対応する行を選択すると、選択された行は反転表示される。これとともに、選択された機密度が領域5502に表示され、対応するスタイルがドロップダウンリストボックス5503に表示される。そして、ボックス5503を選択すると設定可能なスタイルの一覧が表示される。前述したように、ボックス5503には、図15で一覧可能なスタイルのほか、「地紋プリントしない」および「現在の設定値」が表示される。
ここで、「現在の設定値」は、図15および図16(a)で説明した処理によって変更、登録されたスタイル(図15では例えば”VOID”)を動的に反映したものである。この図15で登録されたスタイルを採用するか否かは、図15の2102”地紋プリントをする”にチェックが入力されているか否かに係らず行っても良いし、”地紋プリントをする”にチェックが入力されている場合のみ行っても良い。また、「地紋プリントしない」は、機密度の低い文書には地紋プリントを行う必要がないため、有効な選択肢となる。このようにユーザが印刷ジョブに対して地紋印刷を適用することを設定したとしても、結果として地紋印刷が適用されない場合も生じる。
また、例えば、ボックス5503のスタイルの中から、ボックス5501に表示されるスタイルと異なるスタイルを、領域5502に表示された機密度情報に対応させようとする場合は、ボックス5503でそのスタイルを選択することによって可能となる。これにより、機密度と地紋設定との対応付けを変更もしくは設定することができる。
図24において、その他、OKボタン5504を押下することにより本ダイアログにおける設定が有効となり、キャンセルボタン5505を押下することにより本ダイアログで変更した設定を破棄しダイアログを閉じることができる。また、ヘルプボタン5506を押下することで、本ダイアログに該当するヘルプ情報が表示されることになる。
以上説明したように、本実施形態によれば、プリンタドライバが自動的に地紋印刷の内容を設定する際に基準ないし参照とする情報として、地紋画像が付加される画像の機密度を用いる。これにより、ユーザの操作を介さず、従って、ユーザの恣意によらずに、印刷の実行ごとに印刷する文書などの画像に適切な地紋印刷の設定を行うことが可能となる。また、文書毎にきめ細やかな地紋設定を行うことができ、文書毎に地紋設定者の意図に沿った地紋を設定することができる。
(第二実施形態)
本発明の第二の実施形態も、上記第一実施形態と同様、プリンタドライバが自動的に地紋印刷の内容を設定するものである。本実施形態では、その設定の際に基準ないし参照とする情報として、ユーザ情報を用いる。
ユーザ情報に応じた地紋設定処理の手順
図26は、本発明の第二の実施形態に係る、ユーザ情報に応じた地紋設定処理を示すフローチャートである。この処理は、地紋処理部205が図10に示したフィールド1106に地紋情報を格納する際に行われる処理である。
最初に、S6101において、プリンタドライバ203は、OSから印刷する文書に対して指定されているユーザ情報を取得できる。一般には、OSはジョブ情報(Windows(登録商標)においてはJOB_INFO構造体)を保持しており、ここでジョブを発行したユーザ名を取得することができる。そして、取得したユーザ名(ユーザ情報を)識別する。
次に、S6102では、ユーザ情報毎に割り付けられた地紋設定を取得する。この割付け方法および割付情報のデータ形式の一例については、図27乃至図30を参照して後述する。
さらにS6103では、S6102の地紋設定取得処理で該当する地紋設定があるか否かを判断し、該当する設定があるときは、S6104に進み、該当する地紋設定を図10に示したフィールド1106へ格納する。そして、その割り付けられた地紋設定を用いて以降の印刷を行う。一方、S65013で該当する地紋設定がないと判断したときは、S6105へ進み、既存の(現在設定されている)地紋設定を用いて以降の印刷処理を行う。
ユーザ情報と地紋設定の関係およびその指定方法
図27は、図26に示したS6102のユーザ情報に応じた地紋設定の取得方法を説明する図である。同図は、地紋処理部205によって参照および更新される、ユーザ情報と地紋設定の対応を格納したデータ形式の一例を示している。すなわち、本データを参照することによって、図26に示したS6102のユーザ情報に応じた地紋設定の取得することができる。また、本データを更新することによって、ユーザ情報と地紋設定との対応を予め設定することができる。
図において、6201にはユーザ情報データ領域、6202は対応する地紋設定データ領域をそれぞれ示す。地紋設定データ領域6202には、具体的には、第一実施形態に係る図15と同様の図29に示すボックス2103に列挙される地紋設定群の識別子情報が格納されている。前述したように、ボックス2103は、地紋プリントの複数の設定情報を1つの識別子(スタイル)で指定可能にするためのスタイル情報であり、これにより、プリンタドライバ203は複数のスタイルを選択することができる。
本実施形態では、地紋設定データ領域の5202で選択可能な地紋設定は、ボックス2103を介して定義済みの地紋設定の他、「現在の設定値」および「地紋プリントしない」を地紋設定として設定することができる。なお、これらの情報はレジストリ内に格納されるような形式を想定しているが、ファイル形式で保存されるなど、別の方法をとってもよい。
図28は、図29に示す「ユーザ情報設定」ボタン2108を押下した際に表示される、ユーザ情報と地紋設定の割付けを行うためのユーザインターフェイスを示す図である。このユーザインターフェイスを介して各種入力が行われることにより上に説明した図27のデータが作成される。
図28において、リストボックス6301には、各ユーザ情報に対する地紋設定すなわちスタイル情報が行単位で一覧されている。同リストボックスにおいて設定を行いたいユーザ情報に対応する行を選択すると、選択された行は反転表示されると同時に、選択されたユーザ情報が領域6302に表示され、また、対応するスタイルがドロップダウンリストボックス6303に表示される。そして、リストボックス6303を選択することにより、設定可能なスタイル一覧が表示される。前述したように、ボックス6303には、図29のボックス2103で一覧可能なスタイルのほか、「地紋プリントしない」および「現在の設定値」が表示され、それらを選択することができる。「現在の設定値」は、図29や図16にて説明した処理によって変更、登録されたスタイルを動的に反映可能であることから有効な選択肢となる。また、「地紋プリントしない」は、地紋プリントを行う必要がないユーザが存在する場合には有効な選択肢となる。
さらに図28において、追加ボタン6307を押下することにより、後述する図30のダイアログが表示され、ユーザ情報の追加および対応するスタイルについて、図27に示すデータとして登録することができる。また、削除ボタン6308を押下することにより、ボックス6301において選択されたユーザ情報別地紋設定が、図27のデータから削除される。
その他、OKボタン6304を押下することにより本ダイアログにおける設定が有効となり本ダイアログが閉じられ、キャンセルボタン6305を押下することにより本ダイアログで変更した設定を破棄しダイアログを閉じる。また、ヘルプボタン6306を押下することで、本ダイアログに該当するヘルプ情報が表示されることになる。
図30は、図28における追加ボタン5307を押下することにより表示されるダイアログの一例を示す図である。図30において、テキストボックス6401に対してユーザ情報の入力を行うことにより追加が可能となる。また、同時に対応するスタイル情報をドロップダウンリストボックス6403より選択することができる。本コントロールに表示されるスタイル情報は図28におけるボックス6303のものと同一であるので説明は割愛する。
その他、OKボタン6404を押下することにより本ダイアログにおける設定が有効となり本ダイアログが閉じられ、キャンセルボタン6405を押下することにより本ダイアログで変更した設定を破棄しダイアログを閉じる。また、ヘルプボタン6406を押下することで、本ダイアログに該当するヘルプ情報が表示される。
なお、本実施形態においては、ユーザ情報の追加は6401より入力する形式をとったが、印刷ジョブから取得したユーザ情報をログファイルなどにより蓄積し、その蓄積結果を一覧表示することにより、プリンタの使用ユーザを収集可能にしてもよい。あるいは、ネットワーク上のユーザを管理するシステム(Windows(登録商標)OSなどではActive Directoryなどがしられている)からユーザ情報を取得および表示し、選択可能にするといった形式をとってもよい。最終的に図27に示すようなデータ形式によって管理されればそれらの取得方法には特に制限がない。
以上説明したように、本実施形態によれば、プリンタドライバが自動的に地紋印刷の内容を設定する際に基準ないし参照とする情報として、ユーザ情報用いる。これにより、ユーザの操作を介さず、従って、ユーザの恣意によらずに、印刷の実行ごとに印刷する文書などの画像に適切な地紋印刷の設定を行うことが可能となる。
(第三実施形態)
図22のファイル情報、図23の機密度情報と地紋設定との対応情報を外部のコンピュータ(文書管理サーバ)に格納してもよい。さらに、図21に示すフローチャートの処理、図20に示すフローチャートのS5101乃至5103の処理を外部のコンピュータに行わせるようにしても良い。例えば、第一、二実施形態におけるホストコンピュータ3000をこの第三実施形態における外部のコンピュータに適用させることができる。
この場合、外部のコンピュータは、まず、ネットワークを介したクライアントコンピュータから選択指示された文書の識別子を特定し、該特定した識別子に基づき、S5101における文書の識別子に対応する機密度の設定情報を取得する。
また、この外部のコンピュータは、図20のS5103でYESと判断した場合、S5104の処理に対応して、割り付けられた地紋設定での印刷をクライアントコンピュータにネットワークを介して指示する。すると、クライアントコンピュータは通知された設定に従い文書に対する地紋付加を行う。またこの時の、各クライアントコンピュータへの通知には、少なくとも、割り付けられた地紋設定(図23の5402に相当)を示す情報が含まれる。通知される情報の具体例としては、第一実施形態のS5104で決定される地紋設定と同様であり、地紋文字列、及び、スタイル情報(地紋画像の種類)等が含まれる。
また、各クライアントコンピュータには、地紋処理部205と同等の機能を備えたモジュールが設けられ該モジュールが、外部のコンピュータから通知された割り当てられた地紋設定を示す情報を解釈し、文書データに対して地紋を付加する。
また、外部のコンピュータは図20のS5103でNOと判断した場合、S5105の処理に対応して、クライアントコンピュータに既存の地紋設定で印刷を行うようネットワークを介して指示する。この場合にも、各クライアントコンピュータには、地紋処理部205と同等の機能を備えたモジュールが設けられ、各地紋処理部205に相当するもモジュールが、通知内容を解釈し、それに基づき地紋付加処理を行う。なお、クライアントコンピュータにおける既存の地紋設定は、既に図15、16等に関連して説明した通りである。
更に、第二実施形態についても、この第三実施形態が適用できることはいうまでもない。
以上のように、第三の実施形態では、更に、地紋を付加すべき各文書を、ネットワークを介して複数のクライアントコンピュータで共有することができる。文書管理者などは、文書に対する地紋付加を、複数のクライアントコンピュータについて共通して行わせることができる。
(第四実施形態)
第一実施形態では、各文書に対して、機密度の情報をパラメータにして、各文書に地紋を付加することを、また、第二実施形態では、機密度の情報に代わり、ユーザ情報をパラメータにして、各文書に地紋を付加することを説明してきた。また、第三実施例では、第一、二実施形態における、各文書に対して、どのような地紋を付加するかの管理を、各クライアントコンピュータがネットワークを介して通信可能な外部のコンピュータに行わせる形態を説明してきた。この第四の実施形態では、更に、第一乃至第三実施形態を応用した例について説明を行う。
ホストコンピュータ3000の処理
図31は第四の実施形態における文書管理サーバとして機能するホストコンピュータ3000の処理を示すフローチャートである。図33を引用しながら説明していく。
まず、S3101で、ホストコンピュータ3000は、外部の何れかのクライアントコンピュータから通知されるユーザ情報及び文書識別子を受信し夫々を識別する。ここで受信するユーザ情報は図32のS3211に対応し、文書識別子はS3212に対応し、夫々クライアントコンピュータから通知される。なお、ここでの文書識別子は第一実施形態で説明したものと同様であり、また、ユーザ情報は第二実施形態で説明したものと同様とする。
次にS3102、S3103、S3104で、ホストコンピュータ3000は、文書機密度情報の取得、及び、機密度別地紋設定の取得を行う。ここでは、図20のS5101、S5102と同様の処理を行う。また、S3104でも、S5104と同様に、S3103で取得した機密度情報に応じた地紋設定が、予め設定された地紋設定の中にあるかを判断する。なお、この時の地紋設定については、第一実施形態に係る図23、図24でなされているものとする。
そして、S3104でYESと判定した場合に、S3105で、S3101で受信したユーザ情報が、クライアントコンピュータから指定された文書に対応して設定された例外ユーザを含むか否かを判定する。この際にホストコンピュータ3000は、図33に示されるファイル情報を参照し、指定された文書に対して設定された例外ユーザに、S3101で受信したユーザ情報が含まれているかを判定する。
このS3105の例外ユーザに係る判定処理により、S3101で識別されたユーザ情報が、S3101で指定された文書データに対応して設定されている場合に、機密度に係り無い地紋設定を設定させることができる。また、S3101で識別されたユーザ情報が、S3101で指定された文書データに対応して設定されていない場合に、指定された文書データに対応して設定された機密度に応じた地紋設定を設定できる。
S3105でNOと判定した場合には、図33のファイル情報に従って割り当てられた地紋設定を、後述のS3107でクライアントコンピュータに通知する地紋設定として、決定する。そして、S3107では、前のステップで決定された地紋設定をクライアントコンピュータに通知する。なお、ここで決定される地紋設定の内容は、第一実施形態の図20におけるS5104で設定される地紋設定と同様のものとする。
一方、S3104でNOと判定した場合、或は、S3105でYESと判定した場合には、処理をS3108へ処理を進め、既存の地紋設定を、クライアントコンピュータに指示すべき地紋設定として決定する。ここで、S3108で決定される地紋設定の内容は、第一実施形態で説明した、S5105で設定される地紋設定と同様のものとする。そして、S3107で決定された地紋設定の内容をクライアントコンピュータに通知し、クライアントコンピュータにおける地紋付加による印刷を制御する。また、このS3107における通知は、各クライアントコンピュータにおける地紋処理部205に相当する処理部がS3106、S3108で決定された地紋設定内容を解釈できればよく、通知内容の形式は特に限定されない。例えば、第一、二実施形態で説明したような、図15、16等の画面を介して設定された地紋設定そのものを適用できる。
クライアントコンピュータにおける処理
図32は外部の各クライアントコンピュータの処理を示すフローチャートである。S3211では、ユーザ情報をホストコンピュータ3000に通知する。この通知のタイミングは、文書データに対して実際に印刷指示が行われた時や、ホストコンピュータ3000に対してクライアントコンピュータが文書データ指示のためにアクセスするタイミングなど、実際には任意のタイミングを採用することができる。なお、ここでのユーザ情報には、例えば、クライアントコンピュータにログインしているユーザ情報を用いることができる。この点は第二実施形態と同様である。
次にS3212では、ユーザの選択指示に応じて、文書指定が行われ、指定された文書の識別子をクライアントコンピュータからホストコンピュータ3000に通知する。この場合に、各クライアントコンピュータは、文書管理サーバとして機能するホストコンピュータ3000に格納された文書を遠隔から閲覧することとなり、この遠隔からの文書選択がホストコンピュータ3000により検知される(S3101に対応)ことになる。
次に、S3213では、クライアントコンピュータは、ホストコンピュータ3000から地紋設定の通知を受信する。ここで、受信する通知は、図31のS3107の通知に対応する。
そして、クライアントコンピュータは、S3213で受信した地紋設定で印刷を行う。地紋設定に従い、図20のS5104、S5105等で詳しく説明した仕組みで印刷を行う。なお詳細な説明は、上述の実施形態で説明した通りであり、ここでは省略する。
図33は、図31のフローチャートを実行するにあたり、ホストコンピュータ3000により参照されるファイル情報である。5302乃至5306は、図22で説明したものと同様である。
5307では、機密度情報に対応して設定された地紋設定の付加を行わない、例外ユーザが設定されている。ここで設定されたユーザについて、ホストコンピュータ3000は、S3105でYESと判定する。5307の欄で例外ユーザとして設定されているユーザは、例えばクライアントコンピュータから指定された文書に機密度Aが設定されていたとしても、S3108の処理に従う地紋設定の印刷を行うことができる。例えば、文書の管理元ユーザや、ある特定の権限を持ったユーザを割り当てる場合に利用できる。
以上のように、第四実施形態によれば、各文書に対して、例外ユーザを設定することができ、より柔軟な地紋付加を実現することができる。
(他の実施形態)
本発明は、複数の機器(例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(複写機、プリンタ、ファクシミリ装置など)に適用してもよい。
また、本発明の目的は、前述した実施形態の機能を実現する、図20、図26に示したフローチャートの手順を実現するプログラムコードを記憶した記憶媒体によっても実現することができる。また、システムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSが実際の処理の一部または全部を行うものであってもよい。
更に、プログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、CPUなどが実際の処理の一部または全部を行うものであってもよい。