(57)【要約】【課題】種類の異なる複数のＰＤＬデータをサポートするためのワークメモリの省メモリ化を図りつつ、印刷ジョブをより効率的に処理することができる画像処理装置を提供することを目的としている。【解決手段】ＰＤＬデータの種類に応じた解析処理を行う複数のＰＤＬ処理手段と、特定の印刷機能を実行するためのユーザ指示を受け付ける操作手段と、前記操作手段で受け付けたユーザ指示に基づく印刷処理の実行を制御する制御手段と、を備え、前記制御手段は、前記複数のＰＤＬ処理手段のうち前記ユーザ指示に係る印刷ジョブに含まれるＰＤＬデータに対応したＰＤＬ処理手段が前記解析処理に使用するワークメモリの確保を、前記操作手段での前記ユーザ指示の受付に応答して開始する。【選択図】図３
2019034449.tif 000002
【特許請求の範囲】
【請求項１】
ＰＤＬデータの種類に応じた解析処理を行う複数のＰＤＬ処理手段と、
特定の印刷機能を実行するためのユーザ指示を受け付ける操作手段と、
前記操作手段で受け付けたユーザ指示に基づく印刷処理の実行を制御する制御手段と、
を備え、
前記制御手段は、前記複数のＰＤＬ処理手段のうち前記ユーザ指示に係る印刷ジョブに含まれるＰＤＬデータに対応したＰＤＬ処理手段が前記解析処理に使用するワークメモリの確保を、前記操作手段での前記ユーザ指示の受付に応答して開始する
することを特徴とする画像処理装置。
【請求項２】
前記制御手段は、前記操作手段で前記特定の印刷機能を設定するためのユーザ設定指示を受け付ける前に、前記ワークメモリの確保を開始する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記制御手段は、前記操作手段で前記ユーザ指示の受付を確定する前に、前記ワークメモリの確保を開始する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記操作手段で受け付けた前記ユーザ指示をサポートする前記ＰＤＬデータを１つの前記ＰＤＬ処理手段で処理可能かを判定するサポートＰＤＬ判定手段と、
前記サポートＰＤＬ判定手段が処理可能であると判定した場合、前記操作手段で受け付けた前記ユーザ指示をサポートする前記ＰＤＬデータが起動中の前記ＰＤＬ処理手段で処理可能な前記ＰＤＬデータと異なるかを判定する比較手段と、  
前記比較手段が異なると判定した場合、前記起動中のＰＤＬ処理手段で使用される前記ワークメモリを解放した後、前記サポートＰＤＬ判定手段で判定された前記１つのＰＤＬ処理手段で使用する前記ワークメモリを確保し、確保された前記ワークメモリを使用して、前記サポートＰＤＬ判定手段で判定された前記１つのＰＤＬ処理手段を起動する切替手段と
を有することを特徴とする請求項１から３の何れか一項に記載の画像処理装置。
【請求項５】
前記複数のＰＤＬ処理手段を複数のグループに分け、グループ単位でその動作を管理する管理手段を有する
ことを特徴とする請求項１から４の何れか一項に記載の画像処理装置。
【請求項６】
前記制御手段は、確保された前記ワークメモリを使用し前記ＰＤＬ処理手段によるＰＤＬデータの解析処理を、前記操作手段での前記ユーザ指示の受付確定に応答して開始する
ことを特徴とする請求項１から５の何れか一項に記載の画像処理装置。
【請求項７】
ＰＤＬデータの種類に応じた解析処理を行う複数のＰＤＬ処理手段を用いて、解析処理を行うＰＤＬ処理工程と、
特定の印刷機能を実行するためのユーザ指示を受け付ける操作工程と、
前記操作工程で受け付けたユーザ指示に基づく印刷処理の実行を制御する制御工程と
を備え、
前記制御工程は、前記複数のＰＤＬ処理手段のうち前記ユーザ指示に係る印刷ジョブに含まれるＰＤＬデータに対応したＰＤＬ処理手段が前記解析処理に使用するワークメモリの確保を、前記操作工程で前記ユーザ指示の受付に応答して開始する
ことを特徴とする画像処理方法。
【請求項８】
請求項１から６の何れか一項に記載の画像処理装置と、
前記画像処理装置の前記ＰＤＬ処理手段で解析処理されて生成したページデータを印刷する印刷手段と
を備えることを特徴とする画像形成装置。
【請求項９】
コンピュータを、請求項１から６の何れか一項に記載の画像処理装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、種類の異なる複数のページ記述言語をサポートする画像処理装置、画像処理方法、画像形成装置及びそのプログラムに関する。
【背景技術】
【０００２】
コンピュータ上で作成された文章や画像を印刷する際に、コンピュータが印刷装置等の画像形成装置に対して描画指示を行うための言語として、種々のページ記述言語（以下、ＰＤＬと記す）が知られている。代表的なＰＤＬとしては、例えばＬＩＰＳ、Ｐｒｉｎｔ  Ｃｏｍｍａｎｄ  Ｌａｎｇｕａｇｅ（以下、ＰＣＬと記す）、ＰＤＦなどがある。
【０００３】
一般的に、ＳＦＰ（Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）やＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）といった画像形成装置は、複数のＰＤＬ種別での印刷をサポートしている。これらの画像形成装置は、複数のＰＤＬ種別で記述された描画命令をそれぞれ解釈して、ページ単位のビットマップ形式の画像データ（以下、ページデータと記す）を生成する。さらに、これらの画像形成装置は、生成されたページデータに基づいて印刷を行う。例えば、特許文献１に記載の技術では、受信した印刷ジョブのＰＤＬ種を判定し、このＰＤＬ種に対応する処理モジュールに応じてワークメモリを確保し、確保したワークメモリを使用して処理モジュールを起動している。そして、起動した処理モジュールによるＰＤＬの解析が完了した後、確保したワークメモリを解放している。このようにワークメモリの確保を必要に応じて行うことで省メモリ化が図られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１３２１１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１の技術では、印刷ジョブを受信し、当該印刷ジョブで用いられているＰＤＬ種を判定した後にワークメモリの確保を開始することで省メモリ化を実現している。ワークメモリの確保開始をより早いタイミングで行うことができれば、ワークメモリの確保が完了するタイミングも早まり、印刷ジョブ内のＰＤＬデータをより効率よく処理することが可能になる。
【０００６】
そこで本発明は、種類の異なる複数のＰＤＬデータをサポートするためのワークメモリの省メモリ化を図りつつ、印刷ジョブをより効率的に処理することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決する本発明に係る画像処理装置は、ＰＤＬデータの種類に応じた解析処理を行う複数のＰＤＬ処理手段と、特定の印刷機能を実行するためのユーザ指示を受け付ける操作手段と、前記操作手段で受け付けたユーザ指示に基づく印刷処理の実行を制御する制御手段と、を備え、前記制御手段は、前記複数のＰＤＬ処理手段のうち前記ユーザ指示に係る印刷ジョブに含まれるＰＤＬデータに対応したＰＤＬ処理手段が前記解析処理に使用するワークメモリの確保を、前記操作手段での前記ユーザ指示の受付に応答して開始することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、種類の異なる複数のＰＤＬデータをサポートするためのワークメモリの省メモリ化を図りつつ、印刷ジョブをより効率的に処理することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態１におけるシステム構成の一例を示す図
【図２】実施形態１に係る画像形成装置のハードウェア構成の一例を示すブロック図
【図３】前記画像形成装置のソフトウェアモジュール構成の一例を示すブロック図
【図４】前記画像形成装置の操作パネルに表示されるホーム画面の一例を示す図
【図５】前記操作パネルに表示されるファイル選択画面の一例を示す図
【図６】前記操作パネルに表示される印刷設定画面の一例を示す図
【図７】図２に示したＲＡＭの内部領域の一例を示す図
【図８】従来の画像形成装置において、ＵＳＢメモリプリントを行う場合の一例を示すフローチャート
【図９】実施形態１に係る画像形成装置において、ＵＳＢメモリプリントを行う場合の一例を示すフローチャート
【図１０】図９のステップＳ９０１でスタートさせた並列処理Ｐ１の一例を示すフローチャート
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面を参照して説明する。ただし、この実施形態に記載されている構成要素はあくまで例示であり、本発明の範囲をそれらに限定する趣旨のものではない。また、実施形態で説明されている構成要素の組み合わせのすべてが、課題を解決するための手段に必須のものとは限らない。
【００１１】
［実施形態１］
図１は、実施形態１におけるシステム構成の一例を示す図である。本実施形態に係る画像形成装置１０１は、リムーバルメディアの一種であるＵＳＢメモリ１０２を不図示のコネクタに挿入して接続可能な装置で、接続されたＵＳＢメモリ１０２に保存されたデータをプリント可能な装置である。プリント可能なフォーマットとして、画像形成装置１０１は、一般的なフォーマットであるＰＤＦ、ＪＰＥＧ、ＴＩＦＦをサポートしている。ＰＤＦはＰＤＬの一種であり、後述するジョブ処理の際にＰＤＬ比較処理やＰＤＬ処理を必要とする。ＪＰＥＧとＴＩＦＦは画像データであり、ジョブ処理の際にＰＤＬ比較処理やＰＤＬ処理を必要としない。ＵＳＢメモリ１０２には、画像形成装置１０１で印刷可能な１つ以上のデータが保存されている。
【００１２】
図２は、実施形態１に係る画像形成装置１０１のハードウェア構成の一例を示す図である。画像形成装置１０１は、制御部２１０、プリンタ２２０、ＵＳＢコネクタ２３０、操作パネル２４０を有する。制御部２１０は、ＣＰＵ２１１、ＲＡＭ２１２、ＲＯＭ２１３、プリンタインターフェース（以下、インターフェースをＩ／Ｆと記す）２１４、ＵＳＢ  Ｉ／Ｆ２１５、ネットワークＩ／Ｆ２１６、操作パネルＩ／Ｆ２１７を有する。制御部２１０の各部は、システムバス２１８を介して接続されている。
【００１３】
ＣＰＵ２１１を含む制御部２１０は画像形成装置１０１全体の動作を制御する。
【００１４】
ＣＰＵ２１１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。図３で後述するソフトウェアモジュールは全てこのＣＰＵ２１１上で動作する。ＣＰＵ２１１は、システムバス２１８を介して画像形成装置１０１内の各構成要素の制御を司る。
【００１５】
ＲＡＭ２１２は、ＣＰＵ２１１がアクセスできるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。ＲＡＭ２１２は、後述の各処理部（ＬＩＰＳ処理部３０７１、ＰＣＬ処理部３０７２、ＰＤＦ処理部３０７３）が印刷ジョブの印刷データを処理する際に生成されるページデータなどを格納するための記憶領域として用いられる。ＲＡＭ２１２は、記憶しているデータを読み出すための記憶領域としても用いられる。後述のフトウェアの動作に必要なワークメモリの確保先として利用される。
【００１６】
ＲＯＭ２１３は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）である。ＲＯＭ２１３は、記憶しているデータを読み出すための記憶領域として用いられる。図３で後述するソフトウェアモジュールはここに格納され、ＣＰＵ２１１に読み込まれ、実行される。
【００１７】
プリンタＩ／Ｆ２１４は、プリンタ２２０（プリンタエンジン）とのインターフェース部で、プリンタ２２０への画像信号の出力を担う。
【００１８】
ＵＳＢ  Ｉ／Ｆ２１５は、ＵＳＢコネクタ２３０とのインターフェース部で、ＵＳＢメモリ１０２に保存されたデータの入出力を担う。
【００１９】
ネットワークＩ／Ｆ２１６は、外部のネットワークに接続し、印刷データやデバイス情報の入出力を担う。
【００２０】
操作パネルＩ／Ｆ２１７は操作パネル２４０とのインターフェース部で、操作パネル２４０の表示部２４２に表示するビットマップデータを操作パネル２４０の表示部２４２に対して出力する。また、画像形成装置１０１のユーザが操作パネル２４０の入力部２４１に入力した情報をＣＰＵ２１１に伝える役割を担う。操作パネル２４０は、表示部２４２として例えば液晶パネルおよび音源などを有し、入力部２４１としてハードキーなどを有するものである。操作パネル２４０は、入力部２４１および表示部２４２の両方の機能を備えるものとしてタッチパネルなどを有するものである。
【００２１】
図３は、実施形態１に係る画像形成装置１０１のソフトウェアモジュール構成の一例を示す図である。画像形成装置１０１のソフトウェアモジュールは、それぞれ記憶処理部３１０に格納されたプログラムコードがＲＡＭ２１２に展開され、ＣＰＵ２１１によって実行される。
【００２２】
ジョブ制御部３０１は、画像形成装置１０１における各ソフトウェア構成要素を統括制御する。ジョブ制御部３０１は、入力制御部３０２やネットワーク制御部３０５からの指示を受けて指示に応じたジョブ（例えば、印刷ジョブ、コピージョブなど）を作成し、ジョブ処理を行う。作成したジョブが印刷ジョブである場合、印刷ジョブのデータがＰＤＬデータに該当するか画像データに該当するかを判定する。判定終了後に判定結果に応じてジョブ制御部３０１以外の機能部である他の機能部に適切なタイミングで指示を出すことで、投入されたジョブを一定の順序で処理する。また、画像形成装置１０１の電源オン時に、他の機能部に起動処理の指示を出す。
【００２３】
入力制御部３０２は、操作パネル２４０の入力部２４１を制御する。ユーザからの指示入力を待ち受け、受け付けた指示内容を入力制御部３０２以外の機能部である他の機能部に通知する。
【００２４】
表示制御部３０３は、表示制御部３０３以外の機能部である他の機能部からの指示にしたがって、操作メニューや指示結果を操作パネル２４０の表示部２４２に表示する。
【００２５】
ＵＳＢドライバ３０４は、ＵＳＢ  Ｉ／Ｆ２１５を制御する。ＵＳＢドライバ３０４以外の機能部である他の機能部からの指示にしたがって、画像形成装置１０１とＵＳＢメモリ１０２間で情報の入出力を行う。
【００２６】
ネットワーク制御部３０５は、ネットワークＩ／Ｆ２１６を制御する。画像形成装置１０１とＰＣ、スマートフォンなどの外部端末間で情報の入出力を行う。
【００２７】
ＰＤＬ比較部３０６は、後述のサポートＰＤＬ判定部３１１からの指示にしたがって、特定のＰＤＬを現在起動中のＰＤＬ処理部で処理可能かを判定する。特定のＰＤＬは、ＰＤＬ比較部３０６を呼び出す入力制御部３０２で指定されるものである。以下、ＰＤＬ比較処理と記す。具体的な判定方法は、例えば、ＰＤＬ処理部ごとに処理可能なＰＤＬを情報テーブルとしてＲＡＭ２１２の情報テーブル領域７０２に記憶しており、特定のＰＤＬが現在起動中のＰＤＬ処理部のテーブル内に存在するかをサーチするといった方法である。
【００２８】
ＰＤＬ管理部３０７は、印刷データのＰＤＬを解析処理するための各ＰＤＬ処理部（ＬＩＰＳ処理部３０７１、ＰＣＬ処理部３０７２およびＰＤＦ処理部３０７３）を管理する。具体的には、ジョブ制御部３０１やサポートＰＤＬ判定部３１１の指示にしたがって、そのときに起動中のＰＤＬ処理部のワークメモリを解放する。すなわち、起動中のＰＤＬ処理部のＰＤＬ解析機能を無効化する処理を行う。そのあと、サポートＰＤＬ判定部３１１から指定されたＰＤＬを処理可能なＰＤＬ処理部のワークメモリを確保する。次いで、このワークメモリを使用して、指定されたＰＤＬを処理可能なＰＤＬ処理部を起動する。すなわち、指定されたＰＤＬを処理可能なＰＤＬ処理部のＰＤＬ解析機能を有効化する処理を行う。以下、無効化する処理と有効化する処理とを切り替える処理を切り替え処理と記す。すなわち、ＰＤＬ管理部３０７は、切替処理手段としての機能も有する。そして、ジョブ制御部３０１の指示にしたがい、起動しているＰＤＬ処理部を用いて、印刷データに含まれるＰＤＬによって記述されている描画命令を解釈し、ページデータを生成する処理を行う。以下、ＰＤＬ処理と記す。
【００２９】
ＬＩＰＳ処理部３０７１は、ＬＩＰＳで記述された描画命令を解釈し、ページデータを生成するＬＩＰＳ解析機能を有する。ＰＣＬ処理部３０７２は、ＰＣＬで記述された描画命令を解釈し、ページデータを生成するＰＣＬ解析機能を有する。ＰＤＦ処理部３０７３は、ＰＤＦ描画命令を含むデータの電子ドキュメントフォーマットであるＰＤＦファイルの描画命令を解釈し、ページデータを生成するＰＤＦ解析機能を有する。
【００３０】
画像処理部３０８は、ＪＰＥＧなどの画像データや各ＰＤＬ処理部により生成されたページデータに対して、キャリブレーションや色変換等の画像処理を行う。
【００３１】
プリンタドライバ３０９は、プリンタＩ／Ｆ２１４を制御する。ジョブ制御部３０１からの指示にしたがって、印刷処理を行う。
【００３２】
記憶処理部３１０は、記憶処理部３１０以外である他機能部からの指示にしたがって、指定されたデータをＲＡＭ２１２に書き込む、あるいは記憶しているデータをＲＡＭ２１２またはＲＯＭ２１３から読み出す。本実施形態では、特に、ジョブ制御部３０１や後述のサポートＰＤＬ判定部３１１からの指示にしたがって、詳細につき後述する動作管理フラグの書き込みと読み出しを行う。ＲＡＭ２１２またはＲＯＭ２１３上に実装されても良い。
【００３３】
サポートＰＤＬ判定部３１１は、ホーム画面４００にて選択された機能をサポートするＰＤＬが、１つのＰＤＬ処理部で処理可能かを判定する。一つのＰＤＬ処理部で処理可能である場合には、ＰＤＬ比較部３０６にＰＤＬ比較処理の指示を出す。さらに、ＰＤＬ比較処理の結果に応じて、ＰＤＬ管理部３０７に切り替え処理の指示を出す。具体的な判定方法は、例えば、先ず、機能ごとに使用する可能性のあるＰＤＬ処理部を情報テーブルとしてＲＡＭ２１２の情報テーブル領域７０２に記憶しておく。次に、選択された機能が使用する可能性のあるＰＤＬ処理部を情報テーブルから読み出し、読み出した数が１つであるかを判定するといった方法である。
【００３４】
このような、ジョブ制御部３０１を含み、ジョブ制御部３０１下で動作する全ての構成要素を、画像形成装置１０１とは独立した画像処理装置として構成することも可能である。
【００３５】
図４は、本実施形態における画像形成装置１０１の操作パネル２４０に表示されるホーム画面４００の一例を示す図である。ホーム画面４００には、画像形成装置１０１で実行可能な機能（コピー、ファクス、スキャン等の機能）に対応したボタン（指示）が選択可能に表示されている。この例では、コピー、ファクス、スキャン、アドレス帳、メニュー、セキュア、用紙設定などの機能のボタンの他に、ＵＳＢメモリプリントのボタン４０１が表示されている。ユーザは任意のボタンを押下することでそれらの機能を実行するための指示を選択できる。ユーザによりＵＳＢメモリプリントのボタン４０１が押下されると、ＵＳＢメモリプリント機能を実行するための指示が受け付けられる。このとき、ＵＳＢメモリプリント機能の操作画面であるファイル選択画面５００が操作パネル２４０に表示される。ユーザによりＵＳＢメモリプリント以外のボタンが押下された場合も、押下されたボタンに対応した機能を実行するための指示が受け付けられる。このとき、機能に応じた操作画面が操作パネル２４０に表示される。本実施形態では、ＵＳＢメモリプリントのボタン４０１は、ジョブ制御部３０１およびサポートＰＤＬ判定部３１１と関連付けられている。これにより、ＵＳＢメモリプリントのボタン４０１が押下されると、後述する並列処理Ｐ１がスタートされる。
【００３６】
なお、本実施形態では、ユーザが画面に直接触ることで操作するタッチパネルを適用した場合について説明したが、これに限定されるものではなく、タッチパネル以外のユーザインターフェースを適用することも可能である。
【００３７】
図５は、ホーム画面４００のＵＳＢメモリプリントのボタン４０１を押下したときに表示されるファイル選択画面５００の一例を示す図である。ＵＳＢメモリ１０２に保存されている印刷データが表示されており、ユーザは任意の印刷データの行を押下することで選択することができる。本実施形態では「ＤＯＣ００１．ｐｄｆ」という名前のＰＤＦファイル５０２およびその他の画像ファイル５０３が表示されている。画像ファイル５０３として、「ＰＩＣ００１．ｊｐｇ」、「ＰＩＣ００２．ｊｐｇ」、「ＰＩＣ００３．ｊｐｇ」、「ＰＩＣ００４．ｊｐｇ」、という名前のＪＰＥＧファイルが表示されている。
【００３８】
ユーザによりファイルが選択されたあと、確定ボタン５０１が押下されることで、後述する図６に示す印刷設定画面６００に遷移する。
【００３９】
図６は、本実施形態における画像形成装置１０１のＵＳＢメモリプリント機能の印刷設定画面６００の一例を示す図である。この印刷設定画面６００は、ファイル選択画面５００でＰＤＦファイルを選択した場合の画面である。印刷設定画面６００には、詳細な印刷設定の項目がユーザにより指定可能に表示されている。印刷設定の項目として、用紙サイズ、明るさ、部数、選択ファイル数、印刷面、ページ集約などが表示されている。カラー印刷を開始するためのカラースタートボタン６０１、モノクロ印刷を開始するための白黒スタートボタン６０２も表示されている。ユーザにより任意の印刷設定が指定されたあと、カラースタートボタン６０１または白黒スタートボタン６０２が押下されることで、ＵＳＢメモリプリント機能の実行指示が受け付けられる。この実行指示を受け付けると、画像形成装置１０１は印刷を開始する。
【００４０】
図７は、本実施形態における画像形成装置１０１のＲＡＭ２１２の内部領域の一例を示す図である。ＲＡＭ２１２の内部領域は、動作管理フラグ格納領域７０１、情報テーブル領域７０２、プログラム領域７０３およびデータ領域７０４を有する。動作管理フラグ格納領域７０１に格納される動作管理フラグは、選択された機能が使用するＰＤＬ処理部の起動状態を示すフラグであり、「起動済み」、「起動処理中」、「動作未管理」を表す３つの値のいずれかが格納される。例えば、「起動済み」である場合には、動作管理フラグが〔００〕と設定される。「起動処理中」である場合には、動作管理フラグが〔０１〕と設定される。「動作未管理」である場合には、動作管理フラグが〔１０〕と設定される。「起動済み」は、ＰＤＬ比較部３０６が特定のＰＤＬを現在起動中のＰＤＬ処理部で処理可能であると判定した場合にセットされる。「起動処理中」は、ＰＤＬ比較部３０６が特定のＰＤＬを現在起動中のＰＤＬ処理部で処理不可であると判定した場合にセットされる。「動作未管理」は、ＵＳＢメモリプリントのジョブが終了した場合にセットされる。また、入力制御部３０２がＵＳＢメモリプリント以外の機能の選択を受け付けた場合にもセットされる。情報テーブル領域７０２は、ＰＤＬ比較部３０６やサポートＰＤＬ判定部３１１で用いられる情報テーブルが記憶される領域である。プログラム領域７０３は、ＣＰＵ２１１で実行されるプログラムコードが展開される領域である。データ領域７０４は、データが記憶される領域である。
【００４１】
次に、本発明の理解を容易にするために、本実施形態の画像形成装置１０１によるソフトウェアのフローを説明する前に、従来の画像形成装置によるソフトウェアのフローの一例について図８を参照して説明する。
【００４２】
図８は、従来の画像形成装置において、ＵＳＢメモリプリントを行う場合のソフトウェア処理の一例を示すフローチャートである。
【００４３】
電源オン（ステップＳ８０１）後、ＰＤＬ管理部３０７はジョブ制御部３０１からの指示にしたがって、初期設定のＰＤＬ処理部を起動する（ステップＳ８０２）。ここでは、初期設定の一例としてＬＩＰＳ処理部３０７１が起動される。ＰＣＬ処理部３０７２とＰＤＦ処理部３０７３は起動されない。ジョブ制御部３０１の指示によってＬＩＰＳ処理部３０７１で印刷データを処理可能にするために使用されるワークメモリとしてのメモリ領域がＲＡＭ２１２上に確保される。そして、このワークメモリを使用してＬＩＰＳ処理部３０７１が起動される。表示制御部３０３はジョブ制御部３０１からの指示にしたがって、表示部２４２にホーム画面４００を表示する（ステップＳ８０２）。
【００４４】
続いて、ステップＳ８０３において、入力制御部３０２は、ホーム画面４００でユーザによる機能選択（ボタンの押下）を受け付ける。
【００４５】
続いて、入力制御部３０２は選択された機能を判定する（ステップＳ８０４）。ＵＳＢメモリプリント以外の機能が選択された場合（ステップＳ８０４：ＮＯ）、ステップＳ８０５に進む。ＵＳＢメモリプリントが選択された場合（ステップＳ８０４：ＹＥＳ）、ステップＳ８０６に進む。ステップＳ８０５において、ジョブ制御部３０１は入力制御部３０２からの指示にしたがって、各機能に応じたジョブ処理を行う。このジョブ処理が終了すると、ステップＳ８０３に戻り、表示制御部３０３はジョブ制御部３０１からの指示にしたがい、ホーム画面４００を表示する。
【００４６】
ステップＳ８０６にて、ジョブ制御部３０１は、ＵＳＢコネクタ２３０にＵＳＢメモリ１０２が装着されたか否かを判定する。ＵＳＢメモリ未装着の場合（ステップＳ８０６：ＮＯ）、ステップＳ８０４に戻り、ステップＳ８０４にて再びＵＳＢメモリプリントが選択されたかを判定する。ＵＳＢメモリ装着済みの場合（ステップＳ８０６：ＹＥＳ）、ステップＳ８０７へ進む。
【００４７】
ステップＳ８０７において、表示制御部３０３は入力制御部３０２からの指示にしたがって、ＵＳＢドライバ３０４を用いてＵＳＢメモリ１０２内に保存されているファイルの情報を取得し、ＵＳＢメモリプリントのファイル選択画面５００を表示する。
【００４８】
ステップＳ８０８にて、入力制御部３０２はユーザによるファイル選択を受け付ける。ＰＤＦファイル５０２が選択されたあと、確定ボタン５０１が押下されるとステップＳ８０９に進む。
【００４９】
ステップＳ８０９において、表示制御部３０３は入力制御部３０２からの指示にしたがって、ＵＳＢメモリプリントの印刷設定画面６００を表示する。入力制御部３０２はＵＳＢメモリプリントの印刷設定画面６００でのユーザからの印刷の設定指示（ユーザ設定指示）を受け付ける。
【００５０】
ステップＳ８１０において、入力制御部３０２はユーザによるカラースタートボタン６０１または白黒スタートボタン６０２の押下を受け付ける。カラースタートボタン６０１または白黒スタートボタン６０２が押下されると（ユーザ指示の受付確定に応答して）ステップＳ８１１に進む。
【００５１】
ステップＳ８１１において、ジョブ制御部３０１は入力制御部３０２からの通知を受けて、ＵＳＢドライバ３０４を用いてユーザにより選択されたファイル（ＰＤＦファイル５０２）をＵＳＢメモリ１０２から読み出す。読み出したファイルとステップＳ８０９で指定された印刷設定に基づいてＵＳＢメモリプリントジョブ（印刷ジョブ）を作成し、ジョブ処理を開始する。
【００５２】
ステップＳ８１２において、ジョブ制御部３０１はジョブのデータがＰＤＬデータ（ＰＤＬで記述された描画命令を含むデータ）に該当するか画像データに該当するかを判定する。ＰＤＬデータに該当する場合にはステップＳ８１３に進む。画像データに該当するか場合にはステップＳ８１６に進む。
【００５３】
ステップＳ８１３において、ジョブ制御部３０１はＰＤＬ比較部３０６にＰＤＬ比較処理を指示する。ＰＤＬ比較部３０６は、ＲＡＭ２１２の情報テーブル領域７０２に記憶している情報テーブルを用いて、ＰＤＬデータを現在起動中のＰＤＬ処理部で処理不可であるかについて判定する。処理不可である場合（ステップＳ８１３：ＹＥＳ）にはステップＳ８１４に進む。処理不可ではない場合（ステップＳ８１３：ＮＯ）にはステップＳ８１５に進む。
【００５４】
ステップＳ８１４において、ジョブ制御部３０１は、ジョブのＰＤＬデータを処理可能なＰＤＬ処理部への切り替え処理をＰＤＬ管理部３０７に対して指示する。ＰＤＬ管理部３０７は切り替え処理を実行する。ＰＤＬ管理部３０７は現在起動中のＰＤＬ処理部が使用していたワークメモリを解放し、起動中のＰＤＬ処理部のＰＤＬ解析機能を無効化する処理を行う。その後、ＰＤＬ管理部３０７は、ジョブ制御部３０１から指定されたＰＤＬを処理可能なＰＤＦ処理部３０７３にワークメモリを確保する。このワークメモリを使用して、指定されたＰＤＬを処理可能なＰＤＦ処理部３０７３を起動する。
【００５５】
ステップＳ８１５において、ジョブ制御部３０１はＰＤＬ管理部３０７にジョブのＰＤＬ処理を指示する。ＰＤＬ管理部３０７は、起動中のＰＤＦ処理部３０７３によりＰＤＬ処理を実行する。
【００５６】
続いて、ジョブ制御部３０１は画像処理部３０８に画像処理を指示する。画像処理部３０８は、ＰＤＬ処理により生成されたページデータに対して色変換やディザ処理などの画像処理を実行する（ステップＳ８１６）。
【００５７】
続いて、ジョブ制御部３０１はプリンタドライバ３０９に印刷処理を指示し、プリンタドライバ３０９はプリンタＩ／Ｆ２１５を介して生成されたページデータの画像信号をプリンタ２２０に出力し印刷処理を実行する（ステップＳ８１７）。
【００５８】
ジョブ制御部３０１はジョブを終了する（ステップＳ８１８）。ジョブを終了すると、ステップＳ８０３に戻り、表示制御部３０３はジョブ制御部３０１からの指示にしたがい、ホーム画面４００を表示する。
【００５９】
以上が従来の画像形成装置でのＵＳＢメモリプリントの際の処理内容である。ワークメモリの確保の判断が印刷実行受付後であるため、印刷ジョブを効率よく処理できない場合があった。そこで、本実施形態では、ワークメモリの確保の判断を印刷実行受付前に変更しており、以下のような処理を実行する。以下に、本実施形態の画像形成装置１０１によるソフトウェアのフローについて説明する。
【００６０】
図９は、本実施形態に係る画像形成装置１０１において、ＵＳＢメモリプリントを行う場合のソフトウェア処理の一例を示すフローチャートである。図８に示すフローチャートと同一のステップについては同一符号を付記しその詳細な説明を適宜省略する。
【００６１】
ステップＳ８０１の処理に続き、ステップＳ８０２を行った後、ステップＳ８０３にて、ホーム画面４００で特定の印刷機能を実行するための指示の選択を受け付けると、図１０に示す並列処理Ｐ１をスタートする（ステップＳ９０１）。図１０は、図９のステップＳ９０１でスタートした並列処理Ｐ１の一例を示すフローチャートである。並列処理Ｐ１は、図９のステップＳ９０１以降、画像形成装置１０１の内部で図９のフローと並列に行われる処理であり、ユーザによって意識されることはない。また、ユーザによる入力が行われる図９のフローに比べて、並列処理Ｐ１はＣＰＵ２１１による処理のみのため高速である。したがって、並列処理Ｐ１の全ステップは、基本的に図９のステップＳ８０７からステップＳ８１０の間に終了する。
【００６２】
ステップＳ１００１において、サポートＰＤＬ判定部３１１は、操作パネル２４０で選択された機能をサポートしているＰＤＬが１つのＰＤＬ処理部で処理可能かを判定する。サポートＰＤＬ判定部３１１は、選択された機能が使用する可能性のあるＰＤＬ処理部を情報テーブルから読み出し、読み出した数が１つであるかを判定する。サポートしているＰＤＬを１つのＰＤＬ処理部で処理可能な場合、具体的には、ホーム画面４００にてＵＳＢメモリプリントのボタン４０１の押下を受け付けた場合（ステップＳ１００１：ＹＥＳ）、ステップＳ１００２に進む。サポートしているＰＤＬを１つのＰＤＬ処理部で処理可能でない場合、ホーム画面４００にてコピーやファクスやスキャンなどの機能を実行するためのボタンの押下を受け付けた場合には（ステップＳ１００１：ＮＯ）、ステップＳ１００６に進む。
【００６３】
続いて、ステップＳ１００２において、サポートＰＤＬ判定部３１１はＰＤＬ比較部３０６にＰＤＬ比較処理を指示する。ＰＤＬ比較部３０６は、サポートしているＰＤＬ（ＵＳＢメモリプリントの場合はＰＤＦ）を現在起動中のＰＤＬ処理部で処理不可であるかを判定する。処理不可である場合には（ステップＳ１００２：ＹＥＳ）、ステップＳ１００３に進む。処理不可ではない場合には（ステップＳ１００２：ＮＯ）、ステップＳ１００７に進む。並列処理Ｐ１がステップＳ１００２にあるとき、表示部２４２にはファイル選択画面５００または印刷設定画面６００が表示される。
【００６４】
続いて、ステップＳ１００３において、サポートＰＤＬ判定部３１１は記憶処理部３１０を用いて動作管理フラグに「起動処理中」をセットする。
【００６５】
続いて、ステップＳ１００４において、サポートＰＤＬ判定部３１１は、サポートしているＰＤＬを処理可能なＰＤＬ処理部への切り替え処理をＰＤＬ管理部３０７に対して指示する。ＰＤＬ管理部３０７は切り替え処理を実行する。
【００６６】
続いて、ステップＳ１００５において、サポートＰＤＬ判定部３１１は記憶処理部３１０を用いて動作管理フラグに「起動済み」をセットする。
【００６７】
ステップＳ１００６において、サポートＰＤＬ判定部３１１は記憶処理部３１０を用いて動作管理フラグに「動作未管理」をセットする。
【００６８】
ステップＳ１００７において、サポートＰＤＬ判定部３１１は記憶処理部３１０を用いて動作管理フラグに「起動済み」をセットする。
【００６９】
動作管理フラグへのフラグのセットが終了すると、ステップＳ１００８へ進み、サポートＰＤＬ判定部３１１は並列処理Ｐ１を終了する。
【００７０】
このように、並列処理Ｐ１にて、ボタン４０１の選択（ユーザ指示）に係る印刷ジョブに含まれるＰＤＬデータに対応したＰＤＬ処理部が解析処理に使用するワークメモリの確保を操作パネル２４０でのボタン４０１の押下（ユーザ指示の受付）に応答して開始する。すなわち、ジョブ制御部３０１は、各ソフトウェア構成要素を統括制御することから、ボタン４０１の選択に応答してボタン４０１に応じたＰＤＬ処理部で使用するワークメモリの確保を制御する制御手段をなしている。
【００７１】
ステップＳ９０１の処理に続いて、ステップＳ８０４〜Ｓ８１２の処理が行われて、ステップ９０２に進む。
【００７２】
ステップＳ９０２にて、ジョブ制御部３０１は記憶処理部３１０を用いて動作管理フラグを参照する。動作管理フラグが「起動処理中」である場合には再びステップＳ９０２の処理を行い、動作管理フラグの種類に応じたステップへ進む。動作管理フラグが「起動済み」の場合にはステップＳ８１４に進む。動作管理フラグが「動作未管理」の場合にはステップＳ９０３に進む。
【００７３】
ステップＳ９０３にて、ジョブ制御部３０１は、ＰＤＬデータを処理可能なＰＤＬ処理部への切り替え処理をＰＤＬ管理部３０７に対して指示する。これにより、並列処理Ｐ１が遅延したとしても、切り替え処理を確実に行うことができる。
【００７４】
続いて、ステップＳ８１５〜Ｓ８１７の処理を行い、ステップＳ９０４に進む。
【００７５】
ステップＳ９０４において、ジョブ制御部３０１は記憶処理部３１０を用いて動作管理フラグに「動作未管理」をセットし、印刷ジョブを終了する。印刷ジョブを終了すると、ステップＳ８０３に戻り、表示制御部３０３はジョブ制御部３０１からの指示にしたがい、ホーム画面４００を表示する。
【００７６】
以上が本実施形態の画像形成装置１０１でのＵＳＢメモリプリントの際の処理内容である。ワークメモリの確保の判断が印刷実行受付前であるため、印刷ジョブをより効率的に処理できる。すなわち、印刷実行（ボタン６０１，６０２の押下）を受け付けたタイミングより早い、ＵＳＢメモリプリントのボタン４０１の押下受付（指示の選択）に応答して、ボタン４０１に応じたＰＤＦ処理部３０７３で使用するワークメモリの確保を開始できる。言い換えると、特定の印刷機能を実行するためのユーザ指示を操作パネル２４０で受け付けた段階で当該ユーザ指示に係る印刷ジョブに含まれるＰＤＬデータに対応したＰＤＬ処理部で使用するワークメモリの確保を開始できる。そのため、ＰＤＬデータの処理を速やかに開始することができる。よって、種類の異なる複数のＰＤＬデータをサポートするためのワークメモリの省メモリ化を図りつつ、印刷ジョブをより効率的に処理できる。その結果、特定の印刷機能を実行に要する時間（印刷時間）を短縮できる。
【００７７】
上述の画像形成装置１０１は、ＰＤＬ比較部３０６、ＰＤＬ管理部３０７およびサポートＰＤＬ判定部３１１をさらに有する。これにより、ＵＳＢメモリプリントのボタン４０１の押下を受け付けた段階で、種類の異なる複数のＰＤＬデータをサポートするためのワークメモリの省メモリ化を図りながらも、必要に応じて対応するＰＤＬ処理部を起動することができる。その結果、ジョブを開始する前にＰＤＬ処理部で使用するワークメモリを確保しない場合と比べて、印刷ジョブの処理に要する時間を確実に短くすることができる。
【００７８】
［変形例］
以下に本実施形態の変形例について説明する。
【００７９】
記憶処理部に予め記憶されているドキュメント（例えば、ＰＤＦファイル）を印刷する機能を備え、この機能を操作パネルのホーム画面のボタン押下で実行指示する画像形成装置に適用することも可能である。
【００８０】
ＸＰＳファイルなどの、ＰＤＬデータを処理可能なＰＤＬ処理部を有する画像形成装置に適用することも可能である。
【００８１】
処理対象のデータの保存先として、ＳＤカードなどの外部記憶装置を用いることも可能である。
【００８２】
ＰＤＬ管理部３０７は、複数のＰＤＬ処理部をグループに分け、グループ単位でその動作を管理することも可能である。例えば、ＬＩＰＳ処理部３０７１およびＰＤＦ処理部３０７３を１つのグループで管理することが可能である。ＰＣＬ処理部３０７２およびＰＤＦ処理部３０７３を１つのグループで管理することが可能である。このような場合、切り替え処理と確保されたワークメモリをバランスでき、利便性が高まることから有用である。
【００８３】
ＬＩＰＳ処理部３０７１以外のＰＤＬ処理部を電源オン時に起動するように設定することも可能である。操作パネルのホーム画面にて特定の印刷機能を実行するためのボタンの押下を受け付けた後に、選択されたボタンをサポートするＰＤＬを処理可能なＰＤＬ処理部用にワークメモリを確保し始めることも可能である。
【００８４】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８５】
１０１  画像形成装置
３０１  ジョブ制御部
３０４  ＵＳＢドライバ
３０６  ＰＤＬ比較部
３０７  ＰＤＬ処理部
３１１  サポートＰＤＬ判定部
【図１】
2019034449.tif 000003
【図２】
2019034449.tif 000004
【図３】
2019034449.tif 000005
【図４】
2019034449.tif 000006
【図５】
2019034449.tif 000007
【図６】
2019034449.tif 000008
【図７】
2019034449.tif 000009
【図８】
2019034449.tif 000010
【図９】
2019034449.tif 000011
【図１０】
2019034449.tif 000012