説明

画像形成装置

【課題】 送信元からの画像データに適合するエミュレーションが画像形成装置内の用意された場所に見当らず、特定できない場合が生じたとき完全には一致しないエミュレーションが使われる場合が生じるため、送信元の利用者が指定した印刷内容と一部違った記載でプリントされるなど、指定通りのプリントができない問題があった。
【解決手段】 本発明は、複数の送信元から画像データを受信して画像を形成するための異なる複数のエミュレーションを備えたプリンタ1において、前記複数のエミュレーションの中から前記画像データを解釈可能な少なくとも一つ以上のエミュレーションを抽出する言語判定部13と、前記エミュレーション候補を表示して送信元の利用者にエミュレーションを選択可能とする選択部14と、前記送信元を識別する情報を取得する送信元識別情報取得部15とを含むこと。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のコンピュータ等からの画像データを受信可能とする画像形成装置に関する。
【背景技術】
【0002】
上記のような画像形成装置(以下、プリンタという)は、ホストコンピュータ(以下、単にホストという)と接続して使用する場合、夫々のホストが備えているプリンタドライバ(PDL:ページ記述言語、HBP:ホストベースプリンタ等)毎に適合するエミュレーションプログラム(以下、単にエミュレーションという)を複数備えている。
これにより、製造元や機種の異なる複数のホストを使用した場合においても、夫々のホストから画像データを受信した時にどの機種からでも同じように、画像データに応じたプリントが出来る。
例えば、従来この種のエミュレーションを備えたプリンタには、下記特許文献1の技術が考えられていた。
このプリンタは、その上位装置である複数のホストからの画像データを受信して、入力した画像データ中に含まれる画像様式や印字様式等からなる制御コードを検出及び解析して、その画像データが複数のエミュレーションの内の何れのものに合うか判断するためのエミュレーション判断手段と、このエミュレーション判断手段により過去に判断して使用した結果を順次記憶更新するエミュレーション履歴情報記憶手段とを備えたものである。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平6−64249号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、従来の前記プリンタは、各ホストからの画像データを受信した際に、プリンタ内に保有しているエミュレーションの履歴情報記憶手段の中から各ホストの画像データをプリントするのに合うエミュレーションを順次見付け出して、これを適応してプリントしていた。
しかし、従来のプリンタでは、エミュレーション履歴情報記憶手段の中で最適なエミュレーションを特定できないときには、たとえ各ホストのプリンタドライバと適合するエミュレーションが別に存在する場合でも、エミュレーション履歴情報記憶手段の中から最適なものに近いエミュレーションを見つけ出して適用させていた。その結果、ホスト利用者が想定した印刷内容と異なる解釈の印刷が行われ、所望の画像形成ができない問題があった。
(発明の目的)
そこで本発明は、上記の如き問題に鑑みなされたもので、各利用者のホストに適合したエミュレーションを選択できる手段を設けることにより、各ホストに最適なエミュレーション処理が可能な画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明は上記目的を達成するため、複数の送信元から画像データを受信して画像を形成するための異なる複数のエミュレーションを備えた画像形成装置において、前記装置本体には前記複数のエミュレーションの中から前記画像データを解釈可能な少なくとも一つ以上のエミュレーション候補を抽出する言語判定部と、前記エミュレーション候補を表示して送信元にエミュレーションを選択可能とする選択部と、前記送信元を識別する情報を取得する送信元(ホスト)識別情報取得部とを含むことを特徴としている。
【発明の効果】
【0006】
上記のように構成することにより、本発明は各ホストからの画像データに適合するエミュレーションが画像形成装置内の用意された場所に見当らず、特定できない場合が生じても各利用者からの画像データとエミュレーションが適応できるように、エミュレーション候補を抽出する言語判定手段とエミュレーションの選択手段を設けることにより各利用者のホストに対して最適なエミュレーション処理が可能となる。そのため、利用者の指定通りの画像形成ができる利点を有する。
【図面の簡単な説明】
【0007】
【図1】本発明の実施例1の画像形成装置のブロック図である。
【図2】同実施例1のエミュレーションの動作プロセス構成図である。
【図3】同実施例1の操作パネルを示す。
【図4】同実施例1の操作パネルの表示例を示す。
【図5】同実施例1の言語選択テーブルの一例を示す。
【図6】同実施例1の印刷処理のフローチャートである。
【図7】同実施例1のエミュレーションのフローチャートである。
【図8】同実施例1の操作パネルの表示例を示す。
【図9】本発明の実施例2の画像形成装置のブロック図である。
【図10】同実施例2のエミュレーションの動作プロセス構成図である。
【図11】同実施例2の言語選択テーブルの一例を示す。
【図12】同実施例2の操作パネルを示す。
【図13】同実施例2の印刷処理のフローチャートである。
【図14】同実施例2の操作パネルの表示例を示す。
【図15】同実施例2の操作パネルの表示例を示す。
【図16】同実施例2のエミュレーションのフローチャートである。
【発明を実施するための形態】
【0008】
以下、本発明の画像形成装置をプリンタに適用した実施例を説明する。
【実施例1】
【0009】
図1は、実施例1におけるプリンタ1の基本構成を示すブロック図である。
このプリンタ1は、装置全体を制御するCPU2と、ROM、EPROM等の不揮発性メモリ(以下ROMという)3と、揮発性メモリ(RAM)4と、印刷エンジン(プリンタ駆動部)5と、操作パネル6及び複数のホスト7に接続される各受信インタフェース(以下、受信I/Fという)8とから構成されている。
【0010】
CPU2は、制御部9、ALU、カウンタ等から構成され、ROM3内に格納されているプログラムに従って、送信元である各ホスト(ここではA,B,C,3台とする)7からの画像データをRAM4内の受信バッファ10に一時的に格納し、その画像データにしたがって、ページバッファ11を介して画像形成するプリント出力制御及び送信元識別情報処理、更には操作パネル6の入出力制御等を行う。
【0011】
ROM3には、受信I/F8が各ホスト7から受信した画像データを、CPU2によってビットマップイメージに変換して、印刷エンジン5にその画像データを伝達するまで行う全てのプロセスのプログラムが格納されている。
ここでのビットマップイメージとは、画像データ信号を画像化する際、画像の濃淡や色彩に応じドット状に羅列して表現するためのデータである。
このROM3には、図2のブロック図に示すように、複数の全エミュレーションが格納されている。
【0012】
制御部9は、図2に示すように、エミュレーション動作の全体を制御する機能を有している。この制御部9は、CPU2の機能の一つであり、受信部12と、言語判定部13と、表示選択部14及びホスト識別情報取得部15と接続され、ROM3内に格納されるエミュレーションに基づいてエミュレータとして機能する。
【0013】
受信部12は、各ホスト7と接続される受信I/F8等からなる。この受信部12の機能は、ホスト7毎に受信した画像データを受信I/F8毎に管理する受信バッファ10に画像データを格納する他、受信バッファ10内の画像データを破棄することなく読み出すデータリード処理、受信バッファ10内の画像データを読み出すと共に破棄するデータ取得処理、前記処理で読み出している画像データがどのI/Fポートから受信したものであるかの情報を取得する受信I/F情報取得処理などを有する。
【0014】
ホスト識別情報取得部15は、現在読み出している画像データがどのホストの受信I/F8から受信したものであるかを受信部12から検知し、言語判定部13が受信I/F8から各利用者のホストとどのエミュレーションが対応するかを判断できるように設定されている。
【0015】
言語判定部13は、受信部12の受信I/F8が各ホストから受信した画像データに含まれる制御コードに基づいて、複数のエミュレーションの中から画像データを解釈可能な一つのエミュレーションを特定する特定部16と、この特定部16が解釈可能な一つのエミュレーションに特定できなかったとき、制御コードの一部が解釈できるエミュレーション候補を複数抽出する抽出部17を持つ。特定部16によるエミュレーションの特定は、画像データの先頭から所定サイズに含まれる画像様式、印字様式等からなる制御コードを解析して行う。
【0016】
表示選択部14は、抽出部17がRAM4内の言語選択テーブル18から抽出した複数のエミュレーション候補を操作パネル6の表示パネル20に表示したり、或いは、受信部12からの画像データを解釈するエミュレーションが言語選択テーブル18に見当たらない時には、ROM3内からのエミュレーションを表示パネル20に表示して利用者に選択させる。
【0017】
各エミュレーションは、プログラム作成時に予めホストの機種毎のプリンタドライバに対応するように作成されており、図示しない対応表に、ホストの製造元や機種名に適応したエミュレーション名を列記してROM3内に登録しておき、利用者は表示選択部14から各自が使用しているホストに対応するエミュレーションを把握することができる。
EmulationA、EmulationB及びEmulationC等は、当初ROM3に格納されているエミュレーションである。このROM3内にはこれ以外のエミュレーションも格納され、各エミュレーションは、制御部9によって、各ホスト7からの画像データがどのプリンタドライバ(PDL、HBL)に基づいて生成されたものかを解析して、中間コードを生成する。
ここでの中間コードとは、エミュレーションによって画像データを解析した結果として生成するビットマップイメージになる前段階のイメージデータで制御コードの一種であり、
先行データのエミュレーション対応中において、他のホストから画像データを受信したとき、後続データのエミュレーションを一部並行して対応し中間コードバッファ19内に格納される。
【0018】
RAM4は、図1に示すように、受信バッファ10、言語選択テーブル18、中間コードバッファ19及びページバッファ11などの記憶領域を有している。受信バッファ10は各ホスト7から受信した画像データや印刷データを一時的に格納する。
【0019】
言語選択テーブル18は、RAM4内の記憶媒体中の区分けされた領域の一つで、ROM3内の複数のエミュレーションの中から受信I/F8ごとに利用者がプリンタ1を使用することによって、利用されたエミュレーションを履歴情報として順次格納し、常時利用し易いように保持する。
常時使用されないエミュレーションについては、ROM3内に格納されており、履歴情報として言語選択テーブル18に順次格納された元のエミュレーションについてもROM3内にそのまま残る。図5は言語選択テーブル18のイメージ構成例を示している。
この言語選択テーブル18は、図5に示すように、表記内容名として「受信I/F」と「エミュレーション候補」と「ユーザ選択エミュレーション」を要素に持つ登録形式のテーブルであり、プリンタ1を起動した直後は空の状態であるが、ホストとの接続や使用に応じた表示内容にできる。この図5の例では、「受信I/F」欄にParallelとUSBが登録されている状態を示しており、ホストAとホストCから出力された画像データのエミュレーションの特定が行われ、ROM3内の複数のエミュレーションの中から画像データを解釈するエミュレーションが夫々利用者によって選択されていることを示している。
【0020】
中間コードバッファ19は、何れかのエミュレーションによって画像データ又は印刷データを解析した結果として生成する中間的形式(ビットマップイメージになる前の段階の形式)のイメージデータが一時的に格納される領域である。
【0021】
ページバッファ11は、中間コードから変換されたページ単位の最終的なビットマップイメージ(ページイメージという)が一時的に格納される領域である。
【0022】
印刷エンジン5は、図示しない印字ヘッドや用紙搬送機構などから構成され、ページバッハ11からのページイメージを読み込み、CPU2の制御に従って所定の用紙に印刷する。
【0023】
操作パネル6は、プリンタ1の本体に設けられており、図3に示すように、各種設定メニューや装置の状態を表示するための表示パネル20と、各種設定メニューに移行するための移動キー21と、移動中の項目を選択するための選択キー22と、メニュー移動や実行中の動作を中止するための中止キー23と、ホストを特定するためのホスト選択キー24が備えられている。利用者は表示パネル20の表示に従って、移動キー21等を操作することにより、最適なエミュレーションを選択することができる。
なお、エミュレーションの選択にあっては、プリンタ1の操作パネル6以外に各ホストのディスプレーにエミュレーション候補を表示して、利用者が手許でエミュレーション候補を見ながらホストの図示しないキーボードを操作してエミュレーションを選択できるようにしてもよく、各利用者がプリンタ1まで出向かなくてもエミュレーションの特定ができる。
【0024】
次に、実施例1のプリンタ1の動作を説明する。
図6は実施例1でプリンタ1の印刷処理動作を示すフローチャートであり、図7は、エミュレーションのフローチャートである。
図2に示すプリンタ1の受信部12が、例えば図1に示すホストA,B又はCの何れかのホスト7から画像データを受信すると、CPU2は、言語判定部13に対して以下の処理を実行する。
【0025】
(S601)
先ず、言語判定部13は、受信した画像データに含まれる制御コードを基にエミュレーションを絞り込む処理を行う。この処理については、図7に示すフローチャートに従ってなされるため、ここで先にその説明をする。
【0026】
(S701)
CPU2は、プリンタ1内のRAM4に既に格納されているエミュレーション(EmulationA、EmulationB及びEmulationC等)をエミュレーション候補とし、データリードカウンタ(画像データ中の制御コード数)を0に初期化する。
【0027】
(S702)
次に、CPU2は、受信部12のデータリード処理(コード化)された受信バッファ10からの画像データを読み出し、かつ、言語判定部13を介しその画像データ中に含まれるデータリードカウンタのカウントアップを行う。
【0028】
(S703)
言語判定部13は、画像データの中から制御コードの検出を順次行い、制御コードが検出されなかったり、或いは制御コード以外が検出された場合にはS711へ進む。一方、制御コードが検出された場合には、次の処理がなされる。
【0029】
(S704)
言語判定部13の特定部16は、検出された制御コードがEmulationAで対応しているかの判断を行う。
【0030】
(S705)
対応していない場合には、言語判定部13の特定部16はエミュレーション候補からEmulationAを削除する。
【0031】
(S706)
続いて言語判定部13の特定部16は、検出された制御コードがEmulationBで対応しているかの判断を行う。
【0032】
(S707)
対応していない場合には、言語判定部13の特定部16はエミュレーション候補からEmulationBを削除する。
【0033】
(S708)
更に言語判定部13の特定部16は、検出された制御コードがEmulationCで対応しているかの判断を行う。
【0034】
(S709)
対応していない場合には、言語判定部13の特定部16はエミュレーション候補からEmulationCを削除する。
【0035】
(S710)
次に、言語判定部13の特定部16は、S703にて検出した制御コードを、RAM4内の全てのエミュレーションで対応させた後で、エミュレーション候補が一つに絞られたかの判断を行う。
【0036】
(S711)
S710にて特定部16は、エミュレーション候補が一つ以外であると判断した場合には、言語判定部13の抽出部17は、S702にてデータリーダカウンタが読み出したデータ数の合計が所定バイト数(制御コードのバイト数)を超えたかの判断を行う。
データの読み出しが所定のバイト数以下である場合(制御コードが一つも見つからない)にはCPU2はS702に戻る判定をし、言語判定部13の特定部16は、続くデータに対して同様の処理を行う。
一方、S710にて特定部16は、エミュレーション候補が一つであると判断した場合又はS711にてデータの読み出しが所定バイト数を超えていると判断した場合には、エミュレーションが見付かったとして図7のエミュレーションの絞込みを終了し、図6のS602に戻り処理を行う。
【0037】
(S602)
CPU2は、言語判定部13によって絞り込まれたエミュレーション候補が一つであるかの判断を行う。ここでエミュレーション候補が一つである場合には、その特定されたエミュレーションに移行する(S615)。この時利用者は、プリンタ操作の必要は無い。
【0038】
(S603)
一方、エミュレーション候補が一つ以外の場合には、言語判定部13の抽出部17は、続いて現在読み出しているデータがどの受信I/F8から受信したものであるかを検知し、受信部12からの受信I/F情報取得処理(コード化)によって取得を行う。
【0039】
(S604)
CPU2は、その受信I/F8が言語判定テーブル18に登録されているかの判定を行う。
言語判定テーブル18に登録されていない場合、例えば、図5に示すように、ホストAが言語判定テーブル18中に未登録とした場合、CPU2は以下の処理を行う。
先ず、S602で言語判定テーブル18に登録されているエミュレーションの中から絞り込まれたエミュレーション候補を操作パネル6の表示パネル20に表示する(S610)が、この時、エミュレーション候補が一つもないため、ROM3に有する全てのエミュレーション(EmulationA、EmulationB、EmulationC他)を候補とする(EmulationAは、今、言語判定テーブル18に未登録としている)。
また、表示パネル20の表示は、図4の401に示すように、先ず受信中の利用者が誰か特定できるようにホスト名入力の指定表示がなされる。
次に、指定通り利用者が自分のホスト名をホスト選択キー24から入力すると、表示パネル20の表示は、「画像データを処理するエミュレーションを以下の候補の中から選択してください」というメッセージを付し、利用者に画像データを解釈させるエミュレーション言語を選択させる(402)。
これに従って、利用者は操作パネル6中の移動キー21でEmulationAを選択し、選択キー22を押下する。
これに伴い、ホスト識別情報取得部15からエミュレーションが選択され、図4中の404に示すように、表示パネル20にはEmulationAを言語判定テーブル18に登録する処理が表示される。
その結果、図5に示すように、言語選択テーブル18には、受信I/F8にホストAとエミュレーション候補とユーザ選択されたエミュレーションとしてEmulationAが登録される(S612)。
その後、ユーザ選択されたエミュレーションのEmulationAは、RAM4中のエミュレーションに移行する(S613)。
【0040】
(S605)
一方、S604にて言語判定テーブル18にEmulationA、EmulationB及びEmulationCが登録されていて、例えば、ホストCの機種変更等があった場合には、以下の処理を行う。
CPU2は、S602で絞り込まれたエミュレーション候補と言語判定テーブル18に登録されている受信I/F8のエミュレーション候補の差異があるかの判断を行う。差異がないと判断した場合には、S609へ進み、一方、S605にてCPU2が差異があると判断した場合にはS606へ進む処理を行う。
【0041】
(S606)
例えば、ホストCからホストC’への機種変更に伴い、プリントドライバが変ると、言語判定テーブル18には、EmulationC’が登録されていないため、この時、表示パネル20には、ROM3に有する全てのエミュレーションが候補として示される。この時、図3の表示パネル20中には図8に示す402の表示のように「画像データを処理するエミュレーションを以下の候補の中から選択してください」というメッセージが表記されて、画像データを解釈させるエミュレーションを利用者に選択させる。
【0042】
(S607)
利用者は、表示パネル20に該当するエミュレーションを、移動キー21、選択キー22を操作してエミュレーションEmulationC’を選択し表示パネル20に該当するエミュレーションを表示する(404)。
【0043】
(S608)
これに伴い、言語選択テーブル18は、受信I/F8とホストC’、エミュレーション候補と、ユーザ選択されたエミュレーションとしてEmulationC’が登録される。同時に、EmulationC’は、パネル表示してS607でユーザ選択されたEmulationCからEmulationC’に更新される。
【0044】
(S609)
その後、言語判定テーブル18は、登録されているEmulationC’でエミュレーションに移行する。
【0045】
(S614)
以上の動作によって、プリンタ1は各ホストから画像データが送信された場合、エミュレーションの変更(S609)、エミュレーションが登録されていない(S613)及びエミュレーションが既に登録されている(S615)何れかの状況においても特定のエミュレーションへ移行する。
そして、これ等のエミュレーションは、受信部12が受信してデータ取得処理(図示せず)された画像データに応じ言語判定部13が読み出して解析を行い、印刷が実行され、エミュレーションの処理が終了すると、次の画像データを処理するためにS601に戻る。
【実施例2】
【0046】
図9は実施例2に係るプリンタ100の基本構成を示すブロック図である。
このプリンタ100は、装置全体を制御するCPU101と、ROM、EPROM等の不揮発性メモリ(以下ROMという)102と、揮発性メモリ(RAM)103と、印刷エンジン(プリンタ駆動部)104と、操作パネル300及び複数のホスト111に接続される各受信インタフェース(I/F)112、113とから構成されている。
【0047】
CPU101は、制御部201、ALU、カウンタ等から構成され、ROM102内に格納されているプログラムに従って、ホスト(ここではA,D,E,Fの4台とする)111からの画像データをRAM103内の受信バッファ106に一時的に格納し、その画像データにしたがって、ページバッファ109を介して画像形成するプリント出力制御及び送信元識別情報処理、更には操作パネル300の入出力制御等を行う。
ホストAはParallelI/F112によって、又、ホストD、ホストE及びホストFはLANを介してネットワークI/F113によってプリンタ100と接続されている。
【0048】
ROM102には、CPU101がホストから画像データを受信してビットマップイメージに変換し、印刷エンジン104に伝達するまでに行う全てのプロセスのプログラムが格納されている。
ここでのビットマップイメージとは、画像データ信号を画像化する際に、画像の濃淡や色彩に応じドットを羅列として表現するデータである。
ROM102には、ParallelI/F112、ネットワーク113が各ホストから受信した画像データをCPU101によってビットマップイメージに変換し、印刷エンジンに伝達するまで行う全てのプロセスのプログラムが格納されている。
このROM102には、図10のブロック図に示すエミュレーション動作プログラム208が格納されている。
【0049】
制御部201は、図10に示すように、エミュレーション動作の全体を制御する機能を有している。この制御部201には、受信部202、言語判定部203、表示選択部206、ホスト識別情報取得部207及びプリンタ100が保有するエミュレーション208の全体を統括している。
【0050】
受信部202は、各ホスト111と接続されるParallelI/F112等からなる。この受信部202の機能は、ホスト毎に受信した画像データをParallelI/F112、ネットワークI/F113毎に管理する受信バッファ106に画像データを格納する他、受信バッファ106内のデータを破棄することなく読み出すデータリード処理、受信バッファ106内のデータを読み出すと共に破棄するデータ取得処理、前記処理で読み出している画像データがどのI/Fポートから受信したものであるかの情報を取得する受信I/F情報取得処理、ネットワークI/F受信でのコネクション確立時に認識した接続ホストのIPアドレスを取得するホストIPアドレス情報取得処理などを有する。
【0051】
ホスト識別情報取得部207は、現在読み出している画像データがどのParallelI/F112等から受信したものであるかを受信部202から検知し、言語判定部203がParallelI/F112等から各利用者のホストがどのエミュレーションと関連するかを判断できるように設定されている。
【0052】
言語判定部203は、各ホスト111から受信した画像データに含まれる制御コードに基づいて、複数のエミュレーションの中から画像データを解釈可能な一つのエミュレーションを特定する特定部204と、この特定部204が解釈可能な一つのエミュレーションに特定できなかったとき、制御コードの一部が解釈できるエミュレーション候補を複数抽出する抽出部205を持つ。特定部204によるエミュレーションの特定は、画像データの先頭から所定サイズに含まれる制御コードを解析して行う。
【0053】
表示選択部206は、抽出部205がRAM103内の言語判定テーブル500から抽出した複数のエミュレーション候補を操作パネル300の表示パネル301に表示したり、或いは、受信部202からの画像データを解釈するエミュレーションが言語判定テーブル500に見当たらない時、ROM102からのエミュレーションを利用者に選択させる。
【0054】
各エミュレーションは、プログラム作成時に予めホスト111およびその端末の機種毎のプリンタドライバに対応するように作成されており、図示しない対応表に、ホストの製造元や機種名に対応したエミュレーション名を列記してROM102内に登録しておき、利用者は表示選択部206から各自が使用しているホスト111または端末に対応するエミュレーションを把握することができる。
EmulationA、EmulationB及びEmulationCは、ROM102に格納されているエミュレーションである。なお、ROM102内にはこれ以外のエミュレーションも格納され、各エミュレーションは、制御部201によって、各ホスト111からの画像データがどのプリンタドライバ(PDL、HBL)に基づいて生成されたものかを解析して、中間コードが生成される。
ここでの中間コードとは、実施例1同様、画像データを解析した結果として生成するビットマップイメージになる前段階のイメージデータである。
【0055】
RAM103は、受信バッファ106、言語選択テーブル500、中間コードバッファ108及びページバッファ109などかの記憶領域を有している。受信バッファ106は各ホスト111からの受信した画像データや印刷データを一時的に格納する。
【0056】
言語選択テーブル500は、RAM103内の記憶媒体中の区分けされた領域の一つで、ROM102内の複数のエミュレーションの中からParallelI/F112,NetworkI/F113ごとに利用者がプリンタ100を使用することによって、利用されたエミュレーションを履歴情報として順次格納し、保持する。
常時使用されないエミュレーションについては、ROM102内に格納されており、履歴情報として言語選択テーブル18に順次格納された元のエミュレーションについてもROM102内にそのまま残る。図11は、言語選択テーブル500のイメージ構成例を示している。
この言語選択テーブル500は、図11に示すように、表記内容名として「受信I/F」と「ホストIPアドレス」と「エミュレーション候補」及び「ユーザ選択エミュレーション」を要素に持つ登録形式のテーブルであり、プリンタ100を起動した直後は空の状態であるが、各ホスト111との接続や使用に応じた表示内容となる。この図11の例では、「受信I/F」欄にParallelとNetworkが登録されており、更に、NetworkについてはホストIPアドレスに“10,20,30,42”と“10,20,30,43”が登録されている状態を示している。ホストAとホストEとホストFから出力された画像データのエミュレーションの特定が行われ、ROM102内の複数のエミュレーション候補の中から画像データを解釈するエミュレーションが利用者によって選択されていることを示している。
【0057】
中間コードバッファ108は、何れかのエミュレーションによって画像データ又は印刷データを解析した結果として生成する中間的形式(ビットマップイメージになる前の段階の形式)のイメージデータが一時的に格納される領域である。
ページバッファ109は、中間コードから変換されたページ単位の最終的なビットマップイメージが一時的に格納される領域である。
【0058】
印刷エンジン104は、印字ヘッドや用紙搬送機構などから構成され、ページバッファ109からのページイメージを読み込みCPU101の制御に従って所定の用紙に印刷する。
【0059】
操作パネル300は、プリンタ100の本体に設けられ、図12に示すように、各種設定メニューや装置の状態の表示を行うための表示パネル301と、各種設定メニューに移行するための移動キー302と、移動中の項目を選択するための選択キー303と、メニュー移動や実行中の動作を中止するための中止キー304とホスト選択キー305を備えている。
【0060】
次に、実施例2のプリンタの動作を説明する。
図13は実施例2でプリンタ100のプリントの動作を示すフローチャートであり、図16は、エミュレーションを示すフローチャートである。
プリンタ100の受信部202がホストA、D、E又はFの何れかのホストから画像データを受信するとCPU101は、言語判定部203に対し以下の処理を実行する。
先ず、言語判定部203は、受信した画像データに含まれる制御コードを基にエミュレーションを絞り込む処理を行うが、この処理については、図16に示すフローチャートに従っている。
【0061】
(S701)
CPU101は、プリンタRAM103に既に格納されているエミュレーション(EmulationA、EmulationD、EmulationE及びEmulationF等)をエミュレーション候補とし、データリードカウンタを0に初期化する。
【0062】
(S702)
次に、CPU2は、受信部202のデータリード処理(図示せず)された受信バッファ106からの画像データを読み出し、かつ、その画像データ中に含まれるデータリードカウンタのカウントアップを行う。
【0063】
(S703)
言語判定部203は、制御コードの検出を行い、制御コードが検出されなかったり、制御コード以外が検出された場合にはS711へ進む。一方、制御コードが検出された場合には、次の処理がなされる。
【0064】
(S704)
言語判定部203の特定部204は、検出された制御コードがEmulationAで対応しているかの判断を行う。
【0065】
(S705)
対応していない場合には、言語判定部203の特定部204はエミュレーション候補からEmulationAを削除する。
【0066】
(S706)
続いて、言語判定部203の特定部204は、検出された制御コードがEmulationDで対応しているかの判断を行う。
【0067】
(S707)
対応していない場合には、言語判定部203の特定部204はエミュレーション候補からEmulationDを削除する。
【0068】
(S708)
更に言語判定部203の特定部204は、検出された制御コードがEmulationEで対応しているかの判断を行う。
【0069】
(S709)
対応していない場合には、言語判定部203の特定部204はエミュレーション候補からEmulationEを削除する。
【0070】
(S710)
言語判定部203の特定部204は、このようにS703以下順次検出した制御コードを全てのエミュレーションで対応させた後、エミュレーション候補が一つに絞られたかの判断を行う。
【0071】
(S711)
S710にてエミュレーション候補が一つ以外である場合には、言語判定部203の抽出部205は、S702にて読み出したデータ数の合計が所定バイト数(制御コードのバイト数)を超えたかの判断を行う。
データの読み出しが所定のバイト数以下である場合(制御コードが一つも見つからない)には、S702に戻り、言語判定部203の特定部204は続くデータについて同様の処理を行う。
一方、S710にてエミュレーション候補が一つである場合又はS711にてデータの読み出しが所定バイト数を超えている場合には、図16のエミュレーションの絞込みを終了し、図13に示すS602に進む。
【0072】
(S602)
CPU101は、言語判定部203によって、図13に示すS601にて絞り込まれたエミュレーション候補が一つであるかの判断を行う。ここでエミュレーション候補が一つである場合には、その特定されたエミュレーションのエミュレーションに移行する(S615)。この時利用者は、プリンタ操作の必要は無い。
【0073】
(S603)
一方、エミュレーション候補が一つ以外の場合には、言語判定部203の抽出部205は、読み出しているデータがどのI/Fから受信したものであるかを、更にネットワークI/Fではネットワーク上のどのホストから受信したものであるかを検知し、受信部202からの受信I/F情報取得処理、ホストIPアドレス情報取得処理(各端末へのコード番号化処理)によって取得を行う。
【0074】
(S604)
CPU101は、その受信I/F、ホストIPアドレスが特定できる言語判定テーブル500中に登録されているかの判断を行う。
言語判定テーブル500に登録されていない場合、例えば、図11に示すように、ホストAが言語判定テーブル500中に未登録の場合、CPU101は、以下の処理を行う。
【0075】
(S610)
先ず、図13中のS602で言語判定テーブル500に登録されているエミュレーションの中から絞り込まれたエミュレーション候補を操作パネル300に表示するが、この時、エミュレーション候補が一つもないため、ROM102に有する全てのエミュレーション(EmulationA、EmulationD及びEmulationE等)を候補とする(EmulationAは言語判定テーブル500内に未登録としている)。
また、表示パネル301の表示は、図14の401に示すように、先ず受信中の利用者が誰か特定できるように、ホスト名入力の指定表示を利用者が行う。
次に、指定通り利用者が、自分のホスト名をホスト選択キー305から入力すると、表示パネル301の表示は、「画像データを処理するエミュレーションを以下の候補の中から選択してください」というメッセージを付し、利用者に対して画像データを解釈させるエミュレーションを選択をさせる。
【0076】
(S611)
これに従って利用者は、図12に示す操作パネル300の移動キー302および選択キー303を操作してエミュレーションの中からEmulationAを選択し表示パネル301に表示する(404)。
る。
【0077】
(S612)
CPU101は、言語選択テーブル500に送信元の受信I/Fとエミュレーション候補とユーザ選択されたエミュレーションにEmulationAを登録する。
【0078】
(S613)
その後、ユーザ選択されたエミュレーションのエミュレーションに移行する。
【0079】
(S605)
一方、S604にて言語判定テーブルに登録されていてネットワークを介して接続される、例えば、ホストEの機種変更等があった場合には、以下の処理を行う。
CPU101は、S602で絞り込まれたエミュレーション候補と言語判定テーブルに登録されている受信I/Fのエミュレーション候補の差異があるかの判断を行う。
差異がない場合には、S609へ進み、一方、S605にてCPU101が差異がある場合にはS606へ進む。
【0080】
(S606)
例えば、ホストEからホストE’への機種変更に伴い、プリントドライバが変ると、言語判定テーブル500には、EmulationE’が登録されていないため、この時、表示パネル301には、ROM3に有する全てのエミュレーションが候補として示される。この時、図12の表示パネル301中には図15に示す402に示すように「印刷データを処理するエミュレーションを以下の候補の中から選択してください」というメッセージが表記され、画像データを解釈させるエミュレーションを利用者に選択させる。
【0081】
(S607)
利用者は操作パネル300を該当するエミュレーションを、移動キー302選択キー303を操作して自己のホストEに対応するエミュレーションを表示パネル301中から選択し、入力する。
【0082】
(S608)
CPU101は、言語選択テーブル500の受信I/Fのエミュレーション候補とユーザ選択エミュレーションを、S606でパネル表示してS607でユーザ選択されたものに更新する。
【0083】
(S609)
その後、言語判定テーブル500に登録されている受信I/Fのユーザ選択エミュレーションにあるエミュレーションは移行する。
一方、S604にて言語判定テーブル500にEmulationA、EmulationB及びEmulationCが登録されていて、例えば、ホストEのNetwork中の何れかの機種に変更等があった場合には、以下の処理を行う。
CPU101は、S602で絞り込まれたエミュレーション候補と言語判定テーブル500に登録されている受信I/Fのエミュレーション候補に差異があるかの判断を行う。
差異がないとCPU101が判断した場合には、S609へ進み、一方、差異があると判断した場合には、CPU101はS606へ処理が進む。
【0084】
(S606)
例えば、ホストFの端末(IPアドレス10、20、30、43)の中の何れかの端末に機種変更があった場合は、その変更された端末のプリントドライバに対応するエミュレーション言語が候補としてRAM103中に一つも見当たらないことになる。その時は、図12中の表示パネル301にはROM102中に有する全てのエミュレーションを候補としてEmulationA、EmulationD、EmulationE及びEmulationF等が示され、図15に示す402の表示のように「画像データを処理するエミュレーションを以下の候補の中から選択してください」というメッセージが表記されて、画像データを解釈させるエミュレーションを利用者に選択させる。
【0085】
(S607)
利用者は、表示パネル301に該当するエミュレーションを見付け出し、ホスト操作キー305を操作してエミュレーションを選択する(404)。
【0086】
(S608)
これに伴い、言語選択テーブル500は、受信I/FとホストE、エミュレーション候補と、ユーザ選択されたエミュレーションとしてEmulationFの端末10、20、30、43の内の変更された端末が登録される。
【0087】
(S609)
その後、言語判定テーブル500は、登録されているEmulationFで変更されたIPアドレスのエミュレーションに移行する。
【0088】
(S614)
以上の動作によって、プリンタ100は各ホストから画像データが送信された場合、エミュレーションの変更(S609)、エミュレーションが登録されていない(S613)及びエミュレーションが既に登録されている(S615)何れかの状況においても特定のエミュレーションへ移行する。
そして、これ等のエミュレーションは、受信部202が受信してデータ取得処理(図示せず)された画像データに応じ言語判定部203が読み出して解析を行い、印刷が実行され、エミュレーションの処理が終了すると、次の画像データを処理するためにS601に戻る。
【産業上の利用可能性】
【0089】
本発明は、上記実施例においてプリンタについて説明したが、これに限らず、複写機やMFPにも適用することができる。
【符号の説明】
【0090】
1 プリンタ
2 CPU
3 ROM
4 RAM
5 印刷エンジン
6 操作パネル
7 ホスト
8 インタフェース(I/F)
9 制御部
10 受信バッファ
11 ページバッファ
12 受信部
13 言語判定部
14 表示選択部
15 ホスト識別情報取得部
16 特定部
17 抽出部
18 言語選択テーブル
19 中間コードバッファ
20 表示パネル

【特許請求の範囲】
【請求項1】
複数の送信元から画像データを受信して画像を形成するための異なる複数のエミュレーションを備えた画像形成装置において、
前記装置内には前記複数のエミュレーションの中から前記画像データを解釈可能な少なくとも一つ以上のエミュレーション候補を抽出する言語判定部と、
前記エミュレーション候補を表示して送信元の利用者にエミュレーションを選択可能とする選択部と、
前記送信元を識別する情報を取得する送信元識別情報取得部と、
を含むことを特徴とする画像形成装置。
【請求項2】
前記言語判定部は、複数のエミュレーションの中から前記画像データを解釈可能な一つのエミュレーションに特定する特定部と、
前記エミュレーションを特定できなかったとき少なくとも画像データの一部が解釈可能なエミュレーション候補を複数抽出する抽出部と、
を有することを特徴とする請求項1記載の画像形成装置。
【請求項3】
前記複数のエミュレーション候補と前記選択されたエミュレーションと送信元識別する情報とは記憶部に関連付けられて記憶されていることを特徴とする請求項1又は請求項2に記載の画像形成装置
【請求項4】
前記特定部は前記抽出部で抽出した少なくとも一部が解釈できるエミュレーション候補と前記送信元識別情報取得部で取得した送信元識別情報に関連付けられて記憶された前記選択されたエミュレーションが存在する場合は前記選択されたエミュレーションを解釈可能な一つのエミュレーションと特定することを特徴とする請求項1〜請求項3に記載の画像形成装置。
【請求項5】
前記特定部は前記送信元から受信した画像データの先頭から所定サイズに含まれる制御コードを解析してエミュレーションを特定することを特徴とする請求項1〜請求項4に記載の画像形成装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2010−274428(P2010−274428A)
【公開日】平成22年12月9日(2010.12.9)
【国際特許分類】
【出願番号】特願2009−126016(P2009−126016)
【出願日】平成21年5月26日(2009.5.26)
【出願人】(591044164)株式会社沖データ (2,444)
【出願人】(594202361)株式会社沖データシステムズ (259)
【Fターム(参考)】