(57)【要約】【課題】圧縮データの解凍が競合する可能性を低減することができる技術を提供すること。【解決手段】第１の圧縮形式で圧縮された表示用の第１の圧縮データの解凍と、外部の装置から入力された第１の圧縮形式で圧縮された第２の圧縮データの解凍と、が予め定められた競合状態となる場合に、第１の圧縮データを用いて代替データを生成する。代替データは、第１の圧縮形式とは異なる第２の圧縮形式で圧縮されている。生成された代替データを格納部に格納する。代替データが格納部に格納された状態で、再び特定の画像を表示する場合に、第１の圧縮データの代わりに代替データを取得する。【選択図】  図４
2013074413.tif 000002
【特許請求の範囲】
【請求項１】
制御装置であって、
特定の画像を表し第１の圧縮形式で圧縮された画像データである第１の圧縮データを、格納する格納部と、
前記特定の画像を表示するために、前記第１の圧縮データを前記格納部から取得する取得部と、
前記第１の圧縮形式で圧縮された圧縮データを解凍する第１解凍部と、
取得済みの前記第１の圧縮データの前記第１解凍部による解凍と、前記制御装置の外部の装置から入力された前記第１の圧縮形式で圧縮された第２の圧縮データの前記第１解凍部による解凍と、が予め定められた競合状態となる場合に、前記第１の圧縮形式とは異なる第２の圧縮形式で圧縮されたデータを生成する第１処理を実行して前記第１の圧縮データを用いて前記第２の圧縮形式で圧縮された代替データを生成し、前記生成した代替データを前記格納部に格納する格納制御部と、
を備え、
前記取得部は、さらに、前記代替データが前記格納部に格納された状態で、再び前記特定の画像を表示する場合に、前記第１の圧縮データの代わりに前記代替データを前記格納部から取得する、
制御装置。
【請求項２】
請求項１に記載の制御装置であって、
前記格納制御部は、前記第１の圧縮データの解凍と前記第２の圧縮データの解凍とが実際に競合した回数が所定値を越える場合に、前記第１の圧縮データの解凍と前記第２の圧縮データの解凍とが前記競合状態となったと判断して、前記代替データを前記格納部に格納する、
制御装置。
【請求項３】
請求項１または２のいずれかに記載の制御装置であって、
前記格納制御部は、
前記第２の圧縮形式で圧縮されたデータの解凍に関する所定の条件が成立する場合、前記第１処理を実行して前記第２の圧縮形式で圧縮された前記代替データを生成し、前記生成した代替データを前記格納部に格納し、
前記所定の条件が成立しない場合、非圧縮データを生成する第２処理を実行して非圧縮形式の前記代替データを生成し、前記生成した代替データを前記格納部に格納する、
制御装置。
【請求項４】
請求項３に記載の制御装置であって、
前記第２の圧縮形式で圧縮されたデータを解凍する第２解凍部をさらに備え、
前記格納制御部は、前記第１の圧縮データを前記第２の圧縮形式の圧縮データに変換して得られるデータを前記第２解凍部が解凍可能な場合であっても、前記第２解凍部の処理性能が所定の性能基準を満たさない場合には、前記所定の条件が成立しないと判断して、前記第２処理を実行して前記非圧縮形式の前記代替データを前記格納部に格納する、
制御装置。
【請求項５】
請求項１ないし４のいずれかに記載の制御装置であって、
前記格納制御部は、複数の前記特定の画像のための複数の代替データをそれぞれ前記格納部に格納し、
前記制御装置は、
前記格納制御部が新たな代替データを前記格納部に格納する場合に、前記格納部内において前記新たな代替データを格納するための記憶領域が不足している場合には、前記新たな代替データを格納するために、既に前記格納部に格納されている代替データを削除する第１削除部をさらに備える、
制御装置。
【請求項６】
請求項１ないし５のいずれかに記載の制御装置であって、
前記第１の圧縮データが前記格納部に格納されている場合に、前記格納制御部が前記格納部に前記代替データを格納することに応じて、前記第１の圧縮データを前記格納部から削除する第２削除部をさらに備える、
制御装置。
【請求項７】
請求項６に記載の制御装置であって、
前記格納制御部は、複数の前記特定の画像のための複数の代替データをそれぞれ前記格納部に格納し、
前記制御装置は、
新たな代替データを前記格納部に格納する場合に、前記格納部内において前記新たな代替データを格納するための記憶領域が不足している場合には、前記新たな代替データを格納するために、既に前記格納部に格納されている代替データである対象データを元の第１圧縮データに変換し、前記元の第１圧縮データを前記格納部に格納し、前記対象データを前記格納部から削除する第３削除部をさらに備える、
制御装置。
【請求項８】
請求項１ないし７のいずれかに記載の制御装置であって、
前記格納制御部は、前記第１の圧縮データが別の圧縮形式の圧縮により失う可能性がある特性を有する画像データである場合、複数の圧縮形式の候補の中から、前記第１の圧縮データによって表される画像の特性を維持する圧縮形式である前記第２の圧縮形式を選択し、前記選択された第２の圧縮形式を用いて生成した前記代替データを前記格納部に格納する、
制御装置。
【請求項９】
請求項１ないし８のいずれかに記載の制御装置であって、
前記第１解凍部は、前記第１の圧縮形式で圧縮された圧縮データを解凍する論理回路を含む、
制御装置。
【請求項１０】
制御装置の機能をコンピュータに実現させるためのプログラムであって、
特定の画像を表示するために、前記特定の画像を表し第１の圧縮形式で圧縮された画像データである第１の圧縮データを、前記第１の圧縮データを格納する格納部から取得する機能と、
取得済みの前記第１の圧縮データの第１解凍部による解凍と、前記制御装置の外部の装置から入力された前記第１の圧縮形式で圧縮された第２の圧縮データの前記第１解凍部による解凍と、が予め定められた競合状態となる場合に、前記第１の圧縮形式とは異なる第２の圧縮形式で圧縮されたデータを生成する第１処理を実行して前記第１の圧縮データを用いて前記第２の圧縮形式で圧縮された代替データを生成する機能と、
前記生成した代替データを前記格納部に格納する機能と、
前記代替データが前記格納部に格納された状態で、再び前記特定の画像を表示する場合に、前記第１の圧縮データの代わりに前記代替データを前記格納部から取得する機能と、
をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、圧縮された画像データを利用する画像処理に関するものである。
【背景技術】
【０００２】
従来から、画像処理に、圧縮された画像データが利用されている。画像処理としては、例えば、印刷、表示、ファクシミリの送信、等の種々の種類の画像処理が挙げられる。また、圧縮された画像データを利用する技術として、種々の技術が提案されている。例えば、ＪＰＥＧ処理部（ＪＰＥＧ画像データを解凍する）とリサイズ処理部と画質補正処理部とが並列に処理を実行する技術が、提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１５５３６９号公報
【特許文献２】特開２００５−９６４１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、画像処理において、同じ形式で圧縮された複数の画像データの解凍が競合する場合がある。すなわち、１つの圧縮データの解凍が進行している最中に、同じ圧縮形式の他の圧縮データの解凍の指示が発行され得る。例えば、印刷装置は、印刷処理と、その印刷処理の進行状況を示す表示処理とを、並行して進行し得る。この場合、印刷用の圧縮データの解凍と、表示用の圧縮データの解凍とが、競合し得る。このような競合が生じる場合には、画像処理に遅れが生じる等の不具合が発生する可能性があった。なお、このような問題は、印刷処理と表示処理とを進行する印刷装置に限らず、他の種類の画像処理を進行する装置にも共通する問題であった。
【０００５】
本発明の主な利点は、圧縮データの解凍が競合する可能性を低減することができる技術を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【０００７】
［適用例１］制御装置であって、特定の画像を表し第１の圧縮形式で圧縮された画像データである第１の圧縮データを、格納する格納部と、前記特定の画像を表示するために、前記第１の圧縮データを前記格納部から取得する取得部と、前記第１の圧縮形式で圧縮された圧縮データを解凍する第１解凍部と、取得済みの前記第１の圧縮データの前記第１解凍部による解凍と、前記制御装置の外部の装置から入力された前記第１の圧縮形式で圧縮された第２の圧縮データの前記第１解凍部による解凍と、が予め定められた競合状態となる場合に、前記第１の圧縮形式とは異なる第２の圧縮形式で圧縮されたデータを生成する第１処理を実行して前記第１の圧縮データを用いて前記第２の圧縮形式で圧縮された代替データを生成し、前記生成した代替データを前記格納部に格納する格納制御部と、を備え、前記取得部は、さらに、前記代替データが前記格納部に格納された状態で、再び前記特定の画像を表示する場合に、前記第１の圧縮データの代わりに前記代替データを前記格納部から取得する、制御装置。
【０００８】
この構成によれば、第１の圧縮データの解凍と、第２の圧縮データの解凍とが予め定められた競合状態となる場合に、代替データが生成されて格納部に格納される。そして、代替データが格納部に格納された状態で再び特定の画像を表示する場合には、第１の圧縮データの代わりに代替データが取得されるので、圧縮データの解凍が競合する可能性を低減することができる。また、上記構成によれば、予め定められた競合状態が生じた場合に、代替データが生成される。従って、第１の圧縮データの解凍が第２の圧縮データの解凍と競合するか否かを予め確認し、競合が生じ得る場合に第１の圧縮データを代替データに予め置換する、等の事前の作業を行わなくても、圧縮データの解凍が競合する可能性を低減することができる。
【０００９】
なお、「第１の圧縮データの解凍と第２の圧縮データの解凍とが競合する」とは、一方の圧縮データの解凍の開始から終了までの期間中に、他方の圧縮データの解凍要求が発行されることを、意味している。また、「予め定められた競合状態」は、「２つの解凍が実際に競合する状態」に限らず、「２つの解凍が実際に競合すること」に加えて他の条件が成立する状態であってもよい。
【００１０】
なお、本発明は、種々の形態で実現することが可能であり、例えば、画像処理のための制御方法および制御装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施例としての複合機２００を示すブロック図である。
【図２】複合機２００（図１）が実行する画像処理のフローチャートである。
【図３】画像制御処理のフローチャートである。
【図４】画像処理の進行例を示すタイミングチャートである。
【図５】画像データの切替処理の手順の一例を示すフローチャートである。
【図６】画像データの切替処理の手順の一例を示すフローチャートである。
【図７】図５のステップＳ４００の手順の一例を示すフローチャートである。
【図８】図５のステップＳ４２０の手順の一例を示すフローチャートである。
【図９】第３実施例における画像データの切替処理の手順の一例を示すフローチャートである。
【図１０】別の実施例の複合機のブロック図である。
【図１１】別の実施例の複合機のブロック図である。
【図１２】図５のステップＳ４００の別の例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
Ａ．第１実施例：
次に、本発明の実施の形態を実施例に基づき説明する。図１は、本発明の一実施例としての複合機２００を示すブロック図である。この複合機２００は、ＣＰＵ２１０と、解凍装置２２０と、格納部２３０と、プリンタ部２５０と、スキャナ部２６０と、操作部２７０と、表示部２８０と、通信部２９０と、を有している。
【００１３】
プリンタ部２５０は、印刷媒体に画像を印刷する。スキャナ部２６０は、光学的スキャンによって画像データを生成する。操作部２７０は、タッチパネルやボタン等のユーザによって操作される操作部材を含む。表示部２８０は、画像を表示するディスプレイである（例えば、液晶ディスプレイ）。通信部２９０は、複合機２００の外部の電子機器（例えば、コンピュータ１００やデジタルカメラ）と通信するためのインタフェースである（例えば、いわゆる有線LANインタフェース、または、IEEE802.11の無線インタフェース）。
【００１４】
解凍装置２２０は、圧縮されたデータを解凍する装置である。本実施例では、解凍装置２２０は、第１解凍回路２２１（PNG（Portable Network Graphics）形式を解凍）と、第２解凍回路２２２（JPEG2000（Joint Photographic Experts Group）形式を解凍）と、第３解凍回路２２３（TIFF（Tagged Image File Format）形式を解凍）と、を含んでいる。これらの解凍回路２２１、２２２、２２３は、互いに並列動作可能であり、圧縮されたデータを解凍する論理回路を用いて構成されている（例えば、ASIC（Application Specific Integrated Circuit））。
【００１５】
格納部２３０は、データを格納するための記憶装置である。本実施例では、格納部２３０は、ＤＲＡＭ等の揮発性記憶領域と、ＥＥＰＲＯＭ等の不揮発性記憶領域と、を含んでいる（図示省略）。不揮発性記憶領域は、予め、プログラムＳＤと、圧縮データＤＩ１ｄ、ＤＩ２ｄ、ＤＩ３ｄとを格納している。本実施例では、プログラムＳＤと圧縮データＤＩ１ｄ、ＤＩ２ｄ、ＤＩ３ｄとは、複合機２００の製造時に、格納部２３０に組み込まれる。これらの圧縮データＤＩ１ｄ、ＤＩ２ｄ、ＤＩ３ｄは、それぞれ、PNG形式の画像データであり、印刷時に表示部２８０に表示される画像を表している。各データＤＩ１ｄ、ＤＩ２ｄ、ＤＩ３ｄは、PNG形式に従って圧縮されているので、格納部２３０の容量を節約できる。さらに、格納部２３０は、代替データ（例えば、第１代替データＤＩ１ｄｄと第２代替データＤＩ２ｄｄ）を格納する場合がある（詳細は後述）。
【００１６】
ＣＰＵ２１０は、格納部２３０に格納されたプログラムＳＤを実行することによって、複合機２００の全体の動作を制御する。本実施例では、ＣＰＵ２１０は、ＵＩ処理部Ｍ１００と、印刷処理部Ｍ２００と、解凍処理部Ｍ２２０と、として動作する。ＵＩ処理部Ｍ１００は、ユーザインタフェースを制御する処理部であり、取得部Ｍ１１０と、格納制御部Ｍ１２０と、表示制御部Ｍ１６０と、を含んでいる。ＵＩ処理部Ｍ１００は、図１に破線で示すように、第１削除部Ｍ１３０と、第２削除部Ｍ１４０と、第３削除部Ｍ１５０と、を含んで良い。第１削除部Ｍ１３０を有する構成については、第２実施例として後述する。第２削除部Ｍ１４０と第３削除部とを有する構成については、第３実施例として後述する。解凍処理部Ｍ２２０は、第４解凍モジュールＭ２２４を含む。第４解凍モジュールＭ２２４は、「JPEG XR」形式の圧縮データを解凍する。これらの処理部の詳細については、後述する。以下、ＣＰＵ２１０が或る処理部として処理を実行することを、処理部が処理を実行する、とも表現する。なお、第４解凍モジュールＭ２２４と、解凍回路２２１〜２２３とは、それぞれ、圧縮データを解凍する解凍部として動作する。また、ＣＰＵ２１０は、解凍装置２２０と並列に動作可能である。
【００１７】
図２は、複合機２００（図１）が実行する画像処理のフローチャートである。複合機２００は、通信部２９０に接続された装置（例えば、コンピュータ１００）から印刷指示を受信したことに応じて、印刷処理と表示処理とを実行する。印刷処理部Ｍ２００は、印刷処理を進行し、ＵＩ処理部Ｍ１００は、表示処理を進行する。以下、格納部２３０が代替データ（例えば、図１の代替データＤＩ１ｄｄ、ＤＩ２ｄｄ）を格納していない場合について、説明を行う。
【００１８】
印刷処理の最初のステップＳ１００では、印刷処理部Ｍ２００（図１）は、コンピュータ１００から、印刷データを受信する。印刷データの受信の開始に応じて、ＵＩ処理部Ｍ１００は、第１画像ＤＩ１を、表示部２８０に表示する（表示処理のステップＳ２００）。第１画像ＤＩ１は、「データを受信していること」を表している。ステップＳ２００では、取得部Ｍ１１０は、第１画像ＤＩ１を表す第１圧縮データＤＩ１ｄを、格納部２３０から取得する。なお、格納部２３０が、第１画像ＤＩ１を表す第１代替データＤＩ１ｄｄを格納する場合には、取得部Ｍ１１０は、第１圧縮データＤＩ１ｄの代わりに第１代替データＤＩ１ｄｄを取得する（詳細は後述）。ここでは、第１圧縮データＤＩ１ｄが取得された場合について、説明を行う。取得された第１圧縮データＤＩ１ｄは、PNG形式で圧縮されている（例えば、Ｆｌａｔｅ圧縮）。取得部Ｍ１１０は、複数の解凍部（解凍回路２２１〜２２３、第４解凍モジュールＭ２２４）の中から、第１圧縮データＤＩ１ｄの圧縮形式に対応付けられた第１解凍回路２２１に、解凍要求を発行し、第１圧縮データＤＩ１ｄを供給する。第１解凍回路２２１は、受信した第１圧縮データＤＩ１ｄを解凍することによって、非圧縮の画像データを生成する。取得部Ｍ１１０は、第１解凍回路２２１から取得した非圧縮の画像データを、表示制御部Ｍ１６０に供給する。表示制御部Ｍ１６０は、非圧縮の画像データを利用して、表示部２８０に第１画像ＤＩ１を表示する。表示制御部Ｍ１６０は、印刷データの受信が完了するまで、第１画像ＤＩ１の表示を継続する。
【００１９】
印刷データの受信が完了したことに応じて、印刷処理での次のステップＳ１１０では、印刷処理部Ｍ２００（図１）は、印刷データを解凍する。印刷データは、圧縮された画像データを含む場合がある。このような場合に、印刷処理部Ｍ２００は、複数の解凍部（解凍回路２２１〜２２３、第４解凍モジュールＭ２２４）の中から、圧縮データの圧縮形式に対応付けられた解凍部を利用して、解凍された画像データを取得する。例えば、印刷データが、PNG形式の画像データを含む場合がある。この場合、印刷処理部Ｍ２００は、第１解凍回路２２１に、解凍要求を発行し、PNG形式の画像データを供給する。第１解凍回路２２１は、受信した画像データを解凍することによって、非圧縮の画像データを生成する。印刷処理部Ｍ２００は、生成された非圧縮の画像データを利用して、非圧縮の印刷データを生成する。
【００２０】
ＵＩ処理部Ｍ１００は、印刷データの受信の完了に応じて、第２画像ＤＩ２を表示部２８０に表示する（表示処理のステップＳ２１０）。第２画像ＤＩ２は「印刷を行っていること」を表している。ＵＩ処理部Ｍ１００は、印刷が終了するまで第２画像ＤＩ２の表示を継続する。第２画像ＤＩ２の表示のための処理は、第１画像ＤＩ１の表示のための処理において第１圧縮データＤＩ１ｄを第２圧縮データＤＩ２ｄに置換したものと、同じである。すなわち、第１解凍回路２２１は、第２圧縮データＤＩ２ｄを解凍する。なお、格納部２３０が、第２画像ＤＩ２を表す第２代替データＤＩ２ｄｄを格納する場合には、取得部Ｍ１１０は、第２圧縮データＤＩ２ｄの代わりに第２代替データＤＩ２ｄｄを取得する。第２圧縮データＤＩ２ｄの代わりに第２代替データＤＩ２ｄｄが利用される場合については、後述する。
【００２１】
ステップＳ１１０の画像データの解凍と、ステップＳ２１０の画像データの解凍とは、いずれも、印刷データの受信が完了したことに応じて、開始する。従って、第１解凍回路２２１（図１）は、一方の解凍が完了する前に、他方の解凍の要求を受ける可能性がある（すなわち、２つの解凍が競合する可能性がある）。２つの解凍が競合する場合には、一方の解凍が後回しにされるなどして、画像処理に遅れが生じる可能性がある。そこで、本実施例では、このような競合が生じる可能性を低減するために、ＵＩ処理部Ｍ１００は、画像制御処理を実行する（詳細は後述する）。
【００２２】
印刷データの解凍が完了したことに応じて、次のステップＳ１２０で、印刷処理部Ｍ２００（図１）は、画像を印刷する。印刷処理部Ｍ２００は、解凍された印刷データに従ってプリンタ部２５０を制御することによって、印刷を行う。そして、印刷が終了したことに応じて、当該印刷処理を終了する。
【００２３】
また、印刷が終了したことに応じて、ＵＩ処理部Ｍ１００は、第３画像ＤＩ３を、表示部２８０に表示する（表示処理のステップＳ２２０）。第３画像ＤＩ３は、「印刷が終了したこと」を表している。第３画像ＤＩ３の表示のための処理は、他の画像ＤＩ１、ＤＩ２の表示のための処理と、同様である。なお、表示制御部Ｍ１６０は、Ｓ２２０における第３画像ＤＩ３の表示を所定時間継続し、所定時間の経過後に表示を終了する。そして、ＵＩ処理部Ｍ１００は、第３画像ＤＩ３の表示が終了したことに応じて、当該表示処理を終了する。
【００２４】
図３は、画像制御処理のフローチャートである。ＵＩ処理部Ｍ１００（図１）は、この画像制御処理を進行することによって、図２の表示処理におけるステップＳ２００からステップＳ２２０の各処理を実現する。後述するように、ＵＩ処理部Ｍ１００は、表示部２８０に表示すべき画像が変わる毎に（Ｓ３０５：Ｙｅｓ）、ステップＳ３１０〜Ｓ３９０の手順に従って処理を実行する。ステップＳ３１０〜Ｓ３９０の手順に従った処理の１回の実行が、図２のステップＳ２００を実現する。同様に、ステップＳ３１０〜Ｓ３９０の手順に従った処理の別の１回の実行が、ステップＳ２１０を実現し、更に別の１回の実行が、ステップＳ２２０を実現する。このように、図３のステップＳ３１０〜Ｓ３９０は、図２のステップＳ２００、Ｓ２１０、Ｓ２２０のそれぞれの詳細な手順を示している。
【００２５】
最初のステップＳ３００では、格納制御部Ｍ１２０は、３つの画像ＤＩ１、ＤＩ２、ＤＩ３のそれぞれの競合回数データをゼロに初期化する。このステップＳ３００は、複合機２００の製造時にのみ行われてもよい。この場合、不揮発性記憶領域が、競合回数データを格納することが好ましい。この代わりに、複合機２００の電源が投入される毎に、格納制御部Ｍ１２０が自動的にステップＳ３００を実行してもよい。この場合、競合回数データを格納する記憶領域は、不揮発性記憶領域と揮発性記憶領域とのいずれでもよい。
【００２６】
次のステップＳ３０５では、表示制御部Ｍ１６０（図１）は、表示部２８０に表示すべき画像が変わったか否かを判定する。本実施例では、表示制御部Ｍ１６０は、図２の印刷処理における以下の３つのタイミングで、表示すべき画像が変わったと判定する。「印刷データの受信の開始時（図２のステップＳ２００に対応）」「印刷データの受信の完了時（図２のステップＳ２１０に対応）」「印刷の完了時（図２のステップＳ２２０に対応）」。表示すべき画像が変わっていない場合には（Ｓ３０５：Ｎｏ）、表示制御部Ｍ１６０は、ステップＳ３０５を繰り返す。
【００２７】
表示すべき画像が変わったと判定された場合には（Ｓ３０５：Ｙｅｓ）、次のステップＳ３１０で、取得部Ｍ１１０は、表示すべき画像を表す画像データを格納部２３０から取得する。例えば、図２のステップＳ２１０の段階では、取得部Ｍ１１０は、第２圧縮データＤＩ２ｄを、格納部２３０から取得する。後述するように、格納部２３０は、圧縮データを代替する代替データを格納する場合がある。この場合には、取得部Ｍ１１０は、圧縮データの代わりに代替データを取得する。
【００２８】
次のステップＳ３１５では、取得部Ｍ１１０は、取得した画像データが圧縮されたデータであるか否かを判定する。取得した画像データが圧縮されていない場合には（Ｓ３１５：Ｎｏ）、次のステップＳ３９０で、表示制御部Ｍ１６０は、取得された画像データを利用して、画像を表示部２８０に表示する。ステップＳ３９０の後に、処理は、ステップＳ３０５に戻る。
【００２９】
取得した画像データが圧縮されている場合には（Ｓ３１５：Ｙｅｓ）、次のステップＳ３２０で、取得部Ｍ１１０は、取得した画像（圧縮）データを解凍する。具体的には、取得部Ｍ１１０は、複数の解凍部（解凍回路２２１〜２２３、第４解凍モジュールＭ２２４）の中から、画像データの圧縮形式に対応付けられた解凍部（例えば、PNG形式のために第１解凍回路２２１）に、解凍要求を発行し、続けて、圧縮データを供給する。解凍部は、要求に応じて、受信した画像データを解凍することによって、非圧縮の画像データを生成し、取得部Ｍ１１０に供給する。取得部Ｍ１１０は、取得した画像データを表示制御部Ｍ１６０に供給する。次のステップＳ３２５では、表示制御部Ｍ１６０は、受信した画像データを利用して、表示部２８０に画像を表示する。
【００３０】
次のステップＳ３３０では、格納制御部Ｍ１２０は、ステップＳ３２０の画像データの解凍が、他のデータの解凍と競合したか否かを判定する。格納制御部Ｍ１２０は、以下の２つの場合に、競合が生じたと判定する。
（１）ステップＳ３２０の解凍要求が発行された時点で、その解凍要求を受けた解凍部が、他の圧縮データの解凍を実行中である。
（２）解凍部が、ステップＳ３２０の解凍を実行中に、他の圧縮データの解凍要求を受ける。
格納制御部Ｍ１２０は、例えば、解凍部に状況を問い合わせることによって、この判定を行う。なお、本実施例では、実際に競合が生じた場合には、一の解凍部（解凍回路２２１、２２２、２２３、第４解凍モジュールＭ２２４の内の一の解凍部）は、先に受信した圧縮データの解凍が終了した後に、後に受信した圧縮データの解凍を開始する。この代わりに、当該一の解凍部は、複数の圧縮データに対する解凍を並列に進行可能であってもよい。ただし、この場合も、複数の圧縮データに対する解凍が競合する場合には、並列処理のスケジュール管理等の処理に起因して、処理の遅れが生じ得る。
【００３１】
競合が生じなかったと判定された場合には（Ｓ３３０：Ｎｏ）、処理は、ステップＳ３０５に戻る。
【００３２】
競合が生じたと判定された場合には（Ｓ３３０：Ｙｅｓ）、処理は、ステップＳ３３５に移行する。ステップＳ３３０からステップＳ３４５へ移行する破線のフローは、変形例として、第１実施例の最後で説明する。ステップＳ３３５で、格納制御部Ｍ１２０は、解凍対象の画像の競合回数データに１を追加する。例えば、第２圧縮データＤＩ２ｄの解凍が、他の圧縮データの解凍と競合した場合には、第２画像ＤＩ２の競合回数データが、１だけ増加する。格納制御部Ｍ１２０は、「他の圧縮データ」が、過去に競合した他の圧縮データと同じであるか否かに拘わらずに、競合回数をカウントする。例えば、第２圧縮データＤＩ２ｄの解凍と第１データの解凍との競合に起因して第２画像ＤＩ２の競合回数データが１増加する。その後に第２圧縮データＤＩ２ｄと他の圧縮データとが競合する場合には、競合相手のデータが第１データであるか否かに拘わらずに、第２画像ＤＩ２の競合回数データが１増加する。このように、競合回数が２以上である場合には、競合相手の複数のデータは、互いに異なり得る。
【００３３】
次のステップＳ３４０では、格納制御部Ｍ１２０は、競合回数データが所定の閾値を超えたか否かを、判定する。閾値は、ゼロ以上の整数である。競合回数データが閾値を超えていない場合には（Ｓ３４０：Ｎｏ）、処理は、ステップＳ３０５に戻る。
【００３４】
競合回数データが閾値を超えた場合には（Ｓ３４０：Ｙｅｓ）、次のステップＳ３４５で、格納制御部Ｍ１２０は、画像データの切替処理を実行する。このステップＳ３４５では、格納制御部Ｍ１２０は、競合回数データが閾値を超えた画像の元の圧縮データから代替データを生成し、代替データを格納部２３０に格納する。代替データは、元の圧縮データとは異なる圧縮形式の圧縮データ、または、非圧縮のデータである。例えば、第２画像ＤＩ２の競合回数データが閾値を超えた場合には、格納制御部Ｍ１２０は、第２圧縮データＤＩ２ｄの代替データ（例えば、JPEG2000形式の第２代替データＤＩ２ｄｄ）を格納部２３０に格納する。取得部Ｍ１１０は、第２画像ＤＩ２が画像処理で利用される場合には、第２圧縮データＤＩ２ｄの代わりに第２代替データＤＩ２ｄｄを取得する（Ｓ３１０）。このステップＳ３４５が終了した後、処理は、ステップＳ３０５に戻る。
【００３５】
図４は、画像処理の進行例を示すタイミングチャートである。図４は、図２の印刷処理と、図３の画像制御処理の一部のステップＳ３１０、Ｓ３２０、Ｓ３３０、Ｓ３４５とを示している。図４の例では、第１印刷データＰＤ１に応じた印刷と、第２印刷データＰＤ２に応じた印刷とが、この順番に進行する。
【００３６】
コンピュータ１００（図１）からの要求に応じて、印刷処理部Ｍ２００は、印刷処理のステップＳ１００を進行する（第１印刷データＰＤ１の受信）。ＵＩ処理部Ｍ１００は、図３の手順に従って、第１画像ＤＩ１を表示する（Ｓ３１０：第１圧縮データＤＩ１ｄの取得。Ｓ３２０：第１圧縮データＤＩ１ｄの解凍）。図２の例と同様に、この段階では、競合は生じないこととする（Ｓ３３０：Ｎｏ）。
【００３７】
印刷処理での次のステップＳ１１０では、印刷処理部Ｍ２００は、第１解凍回路２２１を利用して、第１印刷データＰＤ１の解凍を進行する。第１印刷データＰＤ１は、第２圧縮データＤＩ２ｄと同じPNG形式のデータであることと仮定する。ＵＩ処理部Ｍ１００は、第２画像ＤＩ２を表示するために、第２圧縮データＤＩ２ｄを取得し（ステップＳ３１０）、第１解凍回路２２１を利用して第２圧縮データＤＩ２ｄの解凍を進行する（ステップＳ３２０）。第２圧縮データＤＩ２ｄの圧縮形式は、第１印刷データＰＤ１の圧縮形式と同じである。従って、それらのデータＰＤ１、ＤＩ２ｄの解凍が競合する。ここで、第２画像ＤＩ２の競合回数データが閾値を超えたことと仮定する。ＵＩ処理部Ｍ１００（格納制御部Ｍ１２０）は、ステップＳ３４５で、第２圧縮データＤＩ２ｄからJPEG2000形式のデータである第２代替データＤＩ２ｄｄを生成し、第２代替データＤＩ２ｄｄを格納部２３０に格納する。
【００３８】
印刷処理での次のステップＳ１２０では、印刷処理部Ｍ２００は、印刷を行う。ＵＩ処理部Ｍ１００は、印刷の終了に応じて、第３画像ＤＩ３を表示する（Ｓ３１０：第３圧縮データＤＩ３ｄの取得。Ｓ３２０：第３圧縮データＤＩ３ｄの解凍）。図２の例と同様に、この段階では、競合は生じないこととする（Ｓ３３０：Ｎｏ）。
【００３９】
第１印刷データＰＤ１の印刷が終了した後に、第２印刷データＰＤ２の印刷が始まる。第２印刷データＰＤ２の処理では、第１印刷データＰＤ１の処理とは異なり、第２圧縮データＤＩ２ｄの代わりに、第２代替データＤＩ２ｄｄが利用される。ここで、第２印刷データＰＤ２も、第１印刷データＰＤ１と同様に、PNGデータであると仮定する。印刷処理のステップＳ１１０では、印刷処理部Ｍ２００は、第１解凍回路２２１を利用して、第２印刷データＰＤ２の解凍を進行する。ＵＩ処理部Ｍ１００（取得部Ｍ１１０）は、第２圧縮データＤＩ２ｄの代わりに第２代替データＤＩ２ｄｄを取得する（ステップＳ３１０）。次に、取得部Ｍ１１０は、第１解凍回路２２１ではなく第２解凍回路２２２を利用して、第２代替データＤＩ２ｄｄの解凍を進行する（ステップＳ３２０）。このように、第１解凍回路２２１が第２印刷データＰＤ２を解凍し、第２解凍回路２２２が第２代替データＤＩ２ｄｄを解凍する。従って、競合が生じない。この結果、印刷処理、または、画像制御処理（表示処理）に、遅延が生じることを抑制できる。特に、本実施例では、第１解凍回路２２１と第２解凍回路２２２とは、並列に処理を進行することができる。従って、処理の遅延を適切に抑制できる。
【００４０】
なお、第２印刷データＰＤ２の印刷のための他の処理は、第１印刷データＰＤ１の印刷のための処理と、同様に進行する（詳細な説明は省略）。
【００４１】
図５、図６は、図３のステップＳ３４５の手順の一例を示すフローチャートである（図６は、図５の続きを示す）。図４の例は、格納制御部Ｍ１２０がPNG形式からJPEG2000形式にデータを変換する場合を例として示すが、図５、図６の処理例では、変換後のデータの形式は固定されていない。格納制御部Ｍ１２０は、図５、図６の処理に従って動的に変換後のデータ形式を決定する。なお、図５中の破線のフロー（Ｓ４００をスキップするフロー、および、Ｓ４２０をスキップしてＳ４１５から符号ＰＢへ移行するフロー）は、第６、第７実施例として、後に説明する。
【００４２】
図５の最初のステップＳ４００では、格納制御部Ｍ１２０（図１）は、元の圧縮データの特性を失わない圧縮形式の候補を選択する。図７は、ステップ４００の手順の一例を示すフローチャートである。例えば、PNG形式の画像データは、いわゆるアルファチャンネル（透明度を表す成分）を含み得る。一方、画像データの形式には、アルファチャンネルを含まない形式がある（例えば、TIFF形式はアルファチャンネルを含まない）。従って、圧縮形式が、アルファチャンネルを含む形式（例えば、PNG）から、アルファチャンネルを含まない形式（例えば、TIFF）に変換される場合には、アルファチャンネルが失われてしまう。
【００４３】
格納制御部Ｍ１２０は、元の圧縮データによって表される特性（例えば、透明度成分）を失うことがないように、所定の複数の候補の中から、元のデータによって表される特性を表現可能な圧縮形式の候補を選択する。選択される候補は、元の圧縮形式とは異なる圧縮形式である。例えば、「PNG」と「JPEG2000」と「TIFF」と「JPEG XR」と「HD Photo」の５つの形式から候補を選択することと仮定する。この場合、格納制御部Ｍ１２０は、アルファチャンネルを含むPNGに代わる候補として、アルファチャンネルを含み得る圧縮形式（例えば、「JPEG2000」）を選択する（ステップＳ４０２：Ｙｅｓ、ステップＳ４０４）。格納制御部Ｍ１２０は、アルファチャンネルを含まないPNGに代わる候補としては、アルファチャンネルの有無に拘わらずに、候補を選択する（例えば、「TIFF」。ステップＳ４０２：Ｎｏ、ステップＳ４０６）。
【００４４】
後述するように、格納制御部Ｍ１２０は、実際に利用する圧縮形式を、画像処理装置（ここでは、複合機２００）が解凍可能な形式に決定する。従って、ステップＳ４００（図５）で利用される候補の母集団は、複合機２００の機能とは独立に、予め（例えば、複合機２００の製造時に）定められて良い。例えば、複合機２００が「HD Photo」を解凍できない場合であっても、候補の母集団が、「HD Photo」を含んでも良い。また、このステップＳ４００では、複数の候補が選択されてもよい。
【００４５】
図５の次のステップＳ４１０では、格納制御部Ｍ１２０は、ステップＳ４００で選択した圧縮形式の候補の中に、複合機２００が解凍可能な圧縮形式が存在するか否かを判定する。解凍可能な圧縮形式のリストは、事前に（例えば、製造時に）格納制御部Ｍ１２０に組み込んでおけばよい。複合機２００が、圧縮形式のいずれの候補も解凍できない場合には（Ｓ４１０：Ｎｏ）、処理は、図６の符号ＰＡに続くステップＳ６１８に移行する。
【００４６】
なお、図６において、破線で囲まれたステップＳ６１０、Ｓ６１６、Ｓ６２０、Ｓ６２６、Ｓ６３０、Ｓ６３６は、いずれも、後述する第２実施例で実行されるステップである。従って、第１実施例では、破線で囲まれたステップを省略して説明を行う。
【００４７】
図６において、符号ＰＡに続くステップＳ６１８では、格納制御部Ｍ１２０は、元の圧縮データを解凍することによって、非圧縮の代替データを生成する。次のステップＳ６８０では、格納制御部Ｍ１２０は、非圧縮の代替データを格納部２３０に格納する。そして、切替処理が終了する。なお、格納制御部Ｍ１２０は、解凍部（解凍回路２２１〜２２３、第４解凍モジュールＭ２２４）を利用して圧縮データを解凍してもよく、解凍部を利用せずに自力で圧縮データを解凍してもよい。格納制御部Ｍ１２０は、後述するステップＳ６２８、Ｓ６３８でも、同様に、種々の解凍方法を利用してよい。
【００４８】
図５のステップＳ４１０で、圧縮形式の候補の少なくとも１つを複合機２００が解凍できると判定された場合には（Ｓ４１０：Ｙｅｓ）、次のステップＳ４１５で、格納制御部Ｍ１２０は、複合機２００が解凍可能な圧縮形式の候補が、ハードウェア回路でサポートされた圧縮形式を含むか否かを判定する。少なくとも１つの圧縮形式の候補の解凍が、ハードウェア回路によってサポートされている場合には、処理は、図６の符号ＰＣに続くステップＳ６３８に移行する。例えば、図１の複合機２００では、第２解凍回路２２２が「JPEG2000」を解凍可能である。従って、圧縮形式の候補が「JPEG2000」である場合には、ステップＳ４１５の判定結果は「Ｙｅｓ」である。
【００４９】
図６のステップＳ６３８では、格納制御部Ｍ１２０は、元の圧縮データから非圧縮データを生成し、生成された非圧縮データをハードウェアでサポートされた圧縮形式で圧縮することによって代替データを生成する。次のステップＳ６８０では、格納制御部Ｍ１２０は、圧縮された代替データを格納部２３０に格納する。そして、切替処理が終了する。
【００５０】
また、図１の複合機２００では、解凍装置２２０は「JPEG XR」を解凍できず、第４解凍モジュールＭ２２４は「JPEG XR」を解凍可能である。従って、圧縮形式の候補が「JPEG XR」である場合には、図５のステップＳ４１５の判定結果が「Ｎｏ」である。このように、複合機２００が解凍可能な圧縮形式の候補のいずれもが、ハードウェア回路でサポートされていないと判定された場合には（Ｓ４１５：Ｎｏ）、次のステップＳ４２０で、格納制御部Ｍ１２０は、ＣＰＵ２１０の処理性能が所定の性能基準を満たすか否かを判定する。
【００５１】
図８は、ステップＳ４２０の一例を示すフローチャートである。最初のステップＳ４２２では、格納制御部Ｍ１２０は、ＣＰＵ２１０の種類を特定する。格納制御部Ｍ１２０は、例えば、ＣＰＵ２１０の所定のレジスタを参照して、種類を特定する。図８の例では、ＣＰＵ２１０の種類は、「Ａタイプ」と「Ｂタイプ」とのいずれかであることとしている。
【００５２】
ＣＰＵ２１０の種類が「Ａタイプ」である場合には、次のステップＳ４２４で、格納制御部Ｍ１２０は、ＣＰＵ２１０のクロック周波数（クロック速度）が、所定の第１閾値ＴＨ＿Ａ以上であるか否かを判定する。格納制御部Ｍ１２０は、例えば、図示しないクロック供給部に問い合わせることによって、この判定を行う。格納制御部Ｍ１２０は、クロック周波数が第１閾値ＴＨ＿Ａ以上である場合には、処理能力が性能基準を満たすと判定し、クロック周波数が閾値ＴＨ＿Ａ未満である場合には、処理能力が性能基準を満たさないと判定する。ＣＰＵ２１０の種類が「Ｂタイプ」である場合には、格納制御部Ｍ１２０は、第２閾値ＴＨ＿Ｂを利用して、同様に判定を行う（Ｓ４２６）。
【００５３】
処理能力が性能基準を満たさないと判定された場合には（図５のＳ４２０：Ｎｏ）、処理は、図６の符号ＰＡに続くステップＳ６１８に移行する。格納制御部Ｍ１２０は、非圧縮の代替データを生成し（Ｓ６１８）、格納部２３０に格納する（Ｓ６８０）。処理能力が性能基準を満たすと判定された場合には（Ｓ４２０：Ｙｅｓ）、処理は、図６の符号ＰＢに続くステップＳ６２８に移行する。このステップＳ６２８では、格納制御部Ｍ１２０は、元の圧縮データから非圧縮データを生成し、生成された非圧縮データをソフトウェア（ＣＰＵ２１０によって実現される解凍部）でサポートされた圧縮形式で圧縮することによって代替データを生成する。次のステップＳ６８０では、格納制御部Ｍ１２０は、圧縮された代替データを格納部２３０に格納する。
【００５４】
以上のように、第１実施例では、表示用の圧縮データの解凍と印刷用の圧縮データの解凍とが予め決められた競合状態となる場合に（本実施例では、競合する回数が所定の閾値を超えた場合に）、格納制御部Ｍ１２０は、表示用の圧縮データを代替する代替データを生成して、格納部２３０に格納する（図３のステップＳ３４５）。そして、格納部２３０が代替データを格納する状態で、代替データによって表される画像が利用される場合には、取得部Ｍ１１０は、元の圧縮データの代わりに代替データを取得する（図３のステップＳ３１０）。従って、圧縮データの解凍が競合する可能性を低減できる（図４参照）。
【００５５】
また、第１実施例では、格納制御部Ｍ１２０は、実際に競合が生じた場合に代替データを生成する。従って、表示用の圧縮データＤＩ１ｄ、ＤＩ２ｄ、ＤＩ３ｄの解凍が、印刷データの解凍と競合するか否かを予め確認し、競合が生じる場合に、表示用の圧縮データＤＩ１ｄ、ＤＩ２ｄ、ＤＩ３ｄを代替データに予め置換する、等の事前の作業を、複合機２００の出荷前に行わなくても、圧縮データの解凍が競合する可能性を低減できる。
【００５６】
また、第１実施例では、格納制御部Ｍ１２０によって生成される代替データは、複合機２００の外部の装置（例えば、コンピュータ１００）から入力された圧縮データ（例えば、印刷データ）ではなく、格納部２３０に格納された圧縮データＤＩ１ｄ、ＤＩ２ｄ、ＤＩ３ｄを代替する。それらの圧縮データＤＩ１ｄ、ＤＩ２ｄ、ＤＩ３ｄは、外部の装置から入力された圧縮データと比べて、再利用の可能性が高い（図４参照）。このように再利用の可能性が高い圧縮データの代替データを利用することによって、解凍が競合する可能性を大幅に低減できる。一般には、画像処理で再利用される圧縮データの代替データを格納部２３０に格納することが好ましい。
【００５７】
また、第１実施例では、格納制御部Ｍ１２０は、競合回数が所定の閾値を超えた場合に代替データを生成する（図３：Ｓ３４０、Ｓ３４５）。格納制御部Ｍ１２０は、競合可能性の高い圧縮データを代替データに切り替えるので、解凍競合の可能性を低減できる。
【００５８】
また、第１実施例では、図５、図６に示すように、ハードウェア回路が圧縮形式の候補をサポートしている場合と（Ｓ４１５：Ｙｅｓ）、処理能力が所定の性能基準を満たすＣＰＵが圧縮形式の候補をサポートしている場合と（Ｓ４２０：Ｙｅｓ）、のいずれかの場合に、格納制御部Ｍ１２０は、圧縮された代替データを格納部２３０に格納する（図６のＳ６２８、Ｓ６３８、Ｓ６８０）。従って、代替データを格納するために要する格納部２３０中の記憶領域を節約できる。また、それら２つの場合とは異なる場合には、格納制御部Ｍ１２０は、非圧縮の代替データを格納部２３０に格納する（図６のＳ６１８、Ｓ６８０）。従って、元の圧縮形式とは異なる圧縮形式の利用が適切ではない場合であっても、圧縮データの解凍が競合する可能性を適切に低減できる。
【００５９】
第１実施例では、圧縮形式の候補をソフトウェアによる解凍部が解凍可能な場合であっても、ＣＰＵ２１０の処理性能が所定の性能基準を満たさない場合には、格納制御部Ｍ１２０は、非圧縮の代替データを格納部２３０に格納する（図５のＳ４２０：Ｎｏ）。従って、圧縮された代替データの解凍に起因して画像処理に遅れが生じることを抑制できる。
【００６０】
また、第１実施例では、格納制御部Ｍ１２０は、代替データの圧縮形式として、元の圧縮データによって表される画像の特性を失うような圧縮形式を採用せずに、その特性を維持する圧縮形式を選択する（図５：Ｓ４００、図７）。従って、画像の特性が失われることを抑制しつつ、圧縮データの解凍が競合する可能性を低減できる。
【００６１】
また、第１実施例では、図５に示すように、格納制御部Ｍ１２０は、ハードウェア回路によってサポートされる圧縮形式を、ソフトウェアによってサポートされる圧縮形式よりも、優先する。この結果、ハードウェア回路を有効に利用することができる。また、ＣＰＵ２１０の負担を軽減することができる。ただし、ハードウェア回路によってサポートされる圧縮形式よりも、ソフトウェアによってサポートされる圧縮形式を優先してもよい。
【００６２】
また、第１実施例では、圧縮データＤＩ１ｄ、ＤＩ２ｄ、ＤＩ３ｄは、第１解凍回路２２１によってサポートされるPNG形式の圧縮データであり、格納部２３０に格納されている。ここで、第１解凍回路２２１が、複数の圧縮データに対する解凍の並列処理を行うことができずに１つずつ順番に解凍を進行する装置である場合、圧縮データの解凍の競合によって発生する処理の遅れは顕著である。従って、圧縮データの解凍の競合する可能性を低減することで、処理の遅れを回避することが可能である。
【００６３】
なお、第１実施例では、図３のステップＳ３３０の判定結果が「Ｙｅｓ」であり、かつ、ステップＳ３４０の判定結果が「Ｙｅｓ」となる状態が、代替データを格納すると判定するための「所定の競合状態」の例である。ただし、ステップＳ３００、Ｓ３３５、Ｓ３４０を省略してもよい。この場合、解凍が競合すれば、「所定の競合状態」が生じたといえる。「所定の競合状態」の要件は、競合回数以外の条件成立を含んでよい。また、取得部Ｍ１１０と格納制御部Ｍ１２０と解凍処理部Ｍ２２０と解凍装置２２０と格納部２３０との全体は、画像処理のための制御装置の例である（以下、「制御装置２０１」とも呼ぶ）。
【００６４】
Ｂ．第２実施例：
第２実施例における複合機の構成は、第１実施例の複合機２００の構成（図１）に加えて、第１削除部Ｍ１３０を含んでいる（制御装置２０１に第１削除部Ｍ１３０が追加される）。第２実施例の複合機の他の構成は、第１実施例の複合機２００の構成と、同じである。第２実施例の複合機は、図６の破線で囲まれたステップＳ６１０、Ｓ６１６、Ｓ６２０、Ｓ６２６、Ｓ６３０、Ｓ６３６を有効にして得られる手順に従って、画像処理を実行する。第２実施例の画像処理の他の構成は、第１実施例の画像処理の構成と同じである。
【００６５】
まず、図６の符号ＰＡに続くステップＳ６１０、Ｓ６１６、Ｓ６１８の処理について説明する。ステップＳ６１０では、第１削除部Ｍ１３０（図１）は、格納部２３０の記憶領域が代替データを格納するのに十分な空き領域を含むか否かを、判定する。空き領域が十分である場合には（Ｓ６１０：Ｙｅｓ）、処理は、ステップＳ６１８に移行する。このステップＳ６１８以降の処理は、第１実施例と同じである。
【００６６】
一方、空き領域が不足している場合には（Ｓ６１０：Ｎｏ）、第１削除部Ｍ１３０（図１）は、格納部２３０に既に格納されている代替データを削除する（ステップＳ６１６）。この結果、空き領域が拡大するので、格納制御部Ｍ１２０は、ステップＳ６８０で、新しい代替データを格納部２３０に格納することができる。
【００６７】
図１に示すように、格納部２３０は、第２代替データＤＩ２ｄｄとは異なる代替データ（例えば、第１代替データＤＩ１ｄｄ）を格納し得る。印刷処理部Ｍ２００が、印刷データの全体の受信完了を待たずに、先に受信した一部の圧縮データの解凍を進行する場合に、図２のステップＳ１００、Ｓ２００で競合が生じ得る。このような場合に、格納制御部Ｍ１２０は、第１代替データＤＩ１ｄｄを格納部２３０に格納する。この後に格納制御部Ｍ１２０が第２代替データＤＩ２ｄｄを格納部２３０に格納する場合に、格納部２３０の記憶領域の空き領域が不足している場合には、第１削除部Ｍ１３０は、第１代替データＤＩ１ｄｄを削除し得る。
【００６８】
格納部２３０が既に複数の代替データを格納している場合には、第１削除部Ｍ１３０は、それらの代替データの中の競合回数（競合回数データの初期化以降の累積競合回数）の少ない代替データを優先的に削除することが好ましい。こうすれば、代替データの削除に起因して将来に競合が生じる可能性を低減できる。第１削除部Ｍ１３０は、新しい代替データのための空き領域を確保できるまで、代替データの削除を繰り返すことが好ましい。なお、図６では、第１削除部Ｍ１３０は、代替データが生成される前に、代替データの予想サイズ（所定のサイズ）分の空き領域を確保するように古い代替データを削除する。この代わりに、第１削除部Ｍ１３０は、新たに生成された代替データのデータサイズを確認した後に、そのサイズ分の空き領域を確保するように古い代替データを削除してもよい。
【００６９】
処理が符号ＰＢまたは符号ＰＣに続く場合にも、処理が符号ＰＡに続く場合と同様に、第１削除部Ｍ１３０は、古い代替データの削除を行う。符号ＰＢに続くステップＳ６２０、Ｓ６２６は、ステップＳ６１０、Ｓ６１６とそれぞれ同じである。同様に、符号ＰＣに続くステップＳ６３０、Ｓ６３６は、ステップＳ６１０、Ｓ６１６とそれぞれ同じである。古い代替データの削除は、新たな代替データのサイズを確認した後でもよい。
【００７０】
第２実施例は、上述の第１実施例と同様の効果を奏する。さらに、第２実施例では、新たな代替データを格納するための記憶領域（空き領域）が不足している場合であっても、第１削除部Ｍ１３０が、既に格納部２３０に格納されている代替データを削除する。この結果、新たな代替データを利用できないことに起因して圧縮データの解凍が競合する可能性を適切に低減することができる。
【００７１】
Ｃ．第３実施例：
第３実施例における複合機の構成は、第１実施例の複合機２００の構成（図１）に加えて、第２削除部Ｍ１４０を含んでいる（制御装置２０１に、第２削除部Ｍ１４０が追加される）。第３実施例の複合機の他の構成は、第１実施例の複合機２００の構成と、同じである。第１削除部Ｍ１３０は省略される。
【００７２】
図９は、第３実施例における画像データの切替処理の手順の一例を示すフローチャートである。図９の手順は、図６の手順の代わりに利用可能である。図９のフローチャートは、図６のフローチャートに、以下のステップを追加したものである。「ステップＳ６１２、Ｓ６１４（ステップＳ６１６の前）」「ステップＳ６２２、Ｓ６２４（ステップＳ６２６の前）」「ステップＳ６３２、Ｓ６３４（ステップＳ６３６の前）」「ステップＳ６８５（ステップＳ６８０の後）」。なお、図９の破線で囲んだステップＳ６１０〜Ｓ６１６、Ｓ６２０〜Ｓ６２６、Ｓ６３０〜Ｓ６３６は、いずれも、後述する第４実施例で実行される。第３実施例では、破線で囲まれたステップを省略して説明を行う。第３実施例の画像処理の他の構成は、第１実施例の画像処理の構成と同じである。
【００７３】
ステップＳ６８５では、第２削除部Ｍ１４０（図１）は、ステップＳ６８０で格納部２３０に格納された代替データの元の圧縮データを、格納部２３０から削除する。従って、格納部２３０の記憶領域の使用量の増大を抑制することができる。また、格納部２３０が代替データを格納する場合には、元の圧縮データは利用されないので、元の圧縮データを削除しても不具合は生じない。
【００７４】
Ｄ．第４実施例：
第４実施例における複合機の構成は、第１実施例の複合機２００の構成（図１）に加えて、第２削除部Ｍ１４０、及び第３削除部Ｍ１５０を含んでいる（制御装置２０１に、第２削除部Ｍ１４０、及び第３削除部Ｍ１５０が追加される）。第４実施例の複合機の他の構成は、第１実施例の複合機２００の構成と、同じである。第１削除部Ｍ１３０は省略される。第４実施例の複合機は、図９の破線で囲んだステップＳ６１０〜Ｓ６１６、Ｓ６２０〜Ｓ６２６、Ｓ６３０〜Ｓ６３６を有効にして得られる手順に従って、画像処理を実行する。
【００７５】
まず、図９の符号ＰＡに続く手順について説明する。空き領域が十分な場合（Ｓ６１０：Ｙｅｓ）の処理は、第１実施例と同じである。空き領域が不足している場合（Ｓ６１０：Ｎｏ）、次のステップＳ６１２で、第３削除部Ｍ１５０は、格納部２３０に既に格納されている代替データから、元の圧縮データを生成（復元）する。代替データが圧縮されたデータである場合には、第３削除部Ｍ１５０は、代替データを解凍してから、元の圧縮データを生成する。この際、第３削除部Ｍ１５０は、解凍部を利用してもよい。次のステップＳ６１４で、第３削除部Ｍ１５０は、生成した元の圧縮データを格納部２３０に格納する。次のステップＳ６１６で、第３削除部Ｍ１５０は、復元された圧縮データに対応する代替データを削除する。第３削除部Ｍ１５０は、代替データを元の圧縮データに戻すことによって、空き領域を拡張することができる（特に、代替データが非圧縮データである場合）。また、代替データが削除される代わりに元の圧縮データが復元されるので、適切な画像処理が可能である。なお、第３削除部Ｍ１５０は、図６のステップＳ６１６での説明と同様に、新しい代替データの生成の前または後に、新しい代替データのための空き領域を確保できるまで、Ｓ６１２〜Ｓ６１６を繰り返すことが好ましい。この際、第３削除部Ｍ１５０は、圧縮代替データよりも非圧縮代替データを優先することが好ましい。
【００７６】
処理が符号ＰＢまたは符号ＰＣに続く場合にも、処理が符号ＰＡに続く場合と同様に、第３削除部Ｍ１５０は、代替データから元の圧縮データへの変換を行う。符号ＰＢに続くステップＳ６２０、Ｓ６２２、Ｓ６２４、Ｓ６２６は、上述のステップＳ６１０、Ｓ６１２、Ｓ６１４、Ｓ６１６と、それぞれ同じである。符号ＰＣに続くステップＳ６３０、Ｓ６３２、Ｓ６３４、Ｓ６３６は、上述のステップＳ６１０、Ｓ６１２、Ｓ６１４、Ｓ６１６と、それぞれ同じである。
【００７７】
第４実施例は、上述の第３実施例と同様の効果を奏する。さらに、第４実施例では、新たな代替データを格納するための記憶領域（空き領域）が不足している場合であっても、第３削除部Ｍ１５０が、既に格納部２３０に格納されている代替データ（非圧縮の可能性有り）を元の圧縮データに戻す。この結果、新たな代替データを利用できないことに起因して圧縮データの解凍が競合する可能性を適切に低減することができる。
【００７８】
Ｅ．第５実施例：
図１０は、別の実施例の複合機のブロック図である。図１に示す複合機２００とは異なり、この複合機２００ｂでは、解凍処理部Ｍ２２０（図１）が省略されている。複合機２００ｂの他の構成は、図１の複合機２００の構成と、同じである。制御装置２０１ｂは、図１の制御装置２０１から、解凍処理部Ｍ２２０を省略したものと同じである。なお、図１０では、ＣＰＵ２１０と、解凍装置２２０と、格納部２３０と、を除いた他の要素（例えば、プリンタ部２５０）の図示が省略されている。
【００７９】
このように、ＣＰＵ２１０は圧縮データを解凍せずに、解凍装置２２０が圧縮データを解凍してもよい。この場合も、複合機２００ｂは、図２〜図４と同様に、画像処理（印刷処理と表示処理）を進行することができる。また、複合機２００ｂは、図５、図６に従って、処理を実行することができる。また、複合機２００ｂは、図９に従って処理を実行することもできる。この結果、複合機２００ｂは、複合機２００と同様の効果を奏する。
【００８０】
図１１は、更に別の実施例の複合機のブロック図である。図１に示す複合機２００とは異なり、この複合機２００ｃでは、解凍装置２２０（図１）が省略されている。また、解凍処理部Ｍ２２０ｃは、５種類の圧縮形式（「PNG」、「JPEG2000」、「TIFF」、「JPEG XR」、「HD Photo」）にそれぞれ対応付けられた５種類の解凍モジュール（第１解凍モジュールＭ２２１、第２解凍モジュールＭ２２２、第３解凍モジュールＭ２２３、第４解凍モジュールＭ２２４、第５解凍モジュールＭ２２５）を含んでいる。複合機２００ｃの他の構成は、図１の複合機２００の構成と、同じである。制御装置２０１ｃは、図１の制御装置２０１から、解凍装置２２０を省略したものと同じである。なお、図１１では、ＣＰＵ２１０と、格納部２３０とを除いた他の要素（例えば、プリンタ部２５０）の図示が省略されている。
【００８１】
このように、解凍装置が省略されて、ＣＰＵ２１０が圧縮データを解凍してよい。なお、この場合には、ＣＰＵ２１０は、複数のプロセス（例えば、２つの解凍）を並列に進行する機能を有することが好ましい。複合機２００ｃは、図２〜図４と同様に、画像処理（印刷処理と表示処理）を進行することができる。また、複合機２００ｃは、図５、図６に従って、処理を実行することができる。また、複合機２００ｃは、図９に従って処理を実行することもできる。この結果、複合機２００ｃは、複合機２００と同様の効果を奏する。
【００８２】
以上のように、制御装置２０１、２０１ｂ、２０１ｃ（図１、図１０、図１１）は、図３の手順に従って、予め定められた競合状態が生じた場合に、代替データを格納部２３０に格納する。従って、圧縮データの解凍が印刷データの解凍と競合するか否かを予め確認し、競合が生じ得る場合に圧縮データを代替データに予め置換する、等の事前の作業を、複合機２００、２００ｂ、２００ｃの出荷前に行わなくても、圧縮データの解凍が競合する可能性を低減することができる。また、制御装置２０１、２０１ｂ、２０１ｃは、種々の構成の複合機２００、２００ｂ、２００ｃを、共通の手順（例えば、図２〜図４、図５、図６、図７、図８、図９等）に従って、制御することができる。構成の異なる複数種類の複合機に、共通の画像制御処理（図３）を適用できるので、制御装置２０１、２０１ｂ、２０１ｃの開発の労力を軽減できる。特に、複数種類の複合機の間で、解凍が競合し得る画像が異なる場合であっても、共通の画像制御処理を適用することによって、適切に競合の可能性を低減できる。また、複数種類の複合機の間で、圧縮データは異なってもよい。
【００８３】
Ｆ．第６実施例：
図１２は、図５のステップＳ４００の別の例を示すフローチャートである。画像データには、インタレース形式のデータがある。インタレース形式の画像データを利用する場合には、画像データの全体の取得が完了する前に、粗い解像度の全体画像を描画することができる。圧縮データの圧縮形式が、インタレース形式（例えば、インタレースPNGやインタレースGIF）から、非インタレース形式に変換される場合には、データ取得の途中での全体画像の描画ができなくなる。
【００８４】
図１２の実施例では、格納制御部Ｍ１２０（図１、図１０、図１１）は、元の圧縮形式がインタレース形式である場合には（Ｓ４０２ｄ：Ｙｅｓ）、インタレース形式の候補を選択する（Ｓ４０４ｄ）。格納制御部Ｍ１２０は、元の圧縮形式が非インタレース形式である場合には（Ｓ４０２ｄ：Ｎｏ）、インタレース形式であるか否かに拘わらずに、候補を選択する（Ｓ４０６ｄ）。これにより、元の圧縮データによって表される特性（インタレース）が失われることを抑制できる。
【００８５】
なお、図５のステップＳ４００が考慮する画像データの特性は、図７で説明した「透明度成分」や、図１２で説明した「インタレース」に限らず、任意の特性であってよい。また、複数種類の特性を維持するように、圧縮形式が選択されてよい。ただし、図５のステップＳ４００を省略してもよい（格納制御部Ｍ１２０は、画像の特性を考慮せずに圧縮形式を選択してもよい）。
【００８６】
Ｇ．第７実施例：
図５に示す切替処理において、以下のような変形も可能である。図５に示す切替処理では、格納制御部Ｍ１２０（図１、図１０、図１１）は、圧縮された代替データを生成する第１処理（処理が符号ＰＢ、又は、符号ＰＣに続く）と、非圧縮の代替データを生成する第２処理（処理が符号ＰＣに続く）とを、条件に応じて選択している。ここで、第２処理（非圧縮処理）を省略してもよい。例えば、ステップＳ４１０、Ｓ４２０を省略してもよい。この場合、ステップＳ４００では、格納制御部Ｍ１２０は、複合機２００、２００ｂ、２００ｃで解凍可能な圧縮形式のみを選択する。そして、ステップＳ４１５の判定結果が「Ｎｏ」である場合には、処理は、符号ＰＢに続くステップに移行する。すなわち、格納制御部Ｍ１２０は、非圧縮の代替データを生成せずに、圧縮された代替データを生成する。こうすれば、代替データを格納するために要する格納部２３０中の記憶領域を節約できる。また、更にステップＳ４１５を省略してもよい。この場合、格納制御部Ｍ１２０は、ステップＳ４００で、ハードウェア回路によってサポートされた圧縮形式のみを選択する。以上説明した変形は、上述の各実施例に適用可能である。
【００８７】
Ｈ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００８８】
変形例１：  画像処理の手順としては、上記各実施例の手順に限らず、他の種々の手順を採用可能である。例えば、図５のステップＳ４２０を省略し、ステップＳ４１５の判定結果が「Ｎｏ」の場合には、処理は、符号ＰＡに続くステップに移行してよい。また、図６、図９のステップＳ６２８、Ｓ６３８において、複数の候補を利用可能である場合には、各候補に対応付けられた所定の優先順位に従って、１つの候補が選択されてよい。また、画像処理装置（例えば、複合機２００）が解凍可能な圧縮形式は、上述の形式に限らず、種々の形式であってよい。画像処理装置は、元の圧縮データの第１圧縮形式のための第１解凍部を含むことが好ましく、さらに、第１圧縮形式とは異なる第２圧縮形式のための第２解凍部を含むことが特に好ましい。
【００８９】
代替データとして圧縮されたデータを生成するための条件は、図５に示す条件（ステップＳ４１５、Ｓ４２０のいずれかの判定結果が「Ｙｅｓ」）に限らず、元の圧縮形式とは異なる圧縮形式の解凍に関する種々の条件であってよい。例えば、条件が、圧縮形式の候補の解凍がソフトウェアでサポートされていることであってもよい。また、複数の圧縮形式の候補のそれぞれに優先順位を予め対応付けておき、図３のステップＳ３４５では、代替データの圧縮形式として、利用可能な候補の中の最も優先順位の高いものが採用されてもよい。この代わりに、代替データの圧縮形式として、予め決められた圧縮形式が採用されてもよい。また、代替データとして、常に非圧縮のデータが採用されてもよい。
【００９０】
変形例２：  上記各実施例において、格納制御部Ｍ１２０（図１、図１０、図１１）は、代替データを、格納部２３０の不揮発性記憶領域に格納してよい。こうすれば、複合機２００、２００ｂ、２００ｃの電源が一旦切られた後も、競合の可能性が同じ代替データによって低減される。この場合は、図６、図９のステップＳ６１０、Ｓ６２０、Ｓ６３０では、不揮発性記憶領域の空き領域が足りているか否かが判定される。この代わりに、格納制御部Ｍ１２０は、代替データを、格納部２３０の揮発性記憶領域に格納してよい。こうすれば、複合機２００、２００ｂ、２００ｃの電源を切ることによって、代替データをリセットすることができる。この場合は、図６、図９のステップＳ６１０、Ｓ６２０、Ｓ６３０では、揮発性記憶領域の空き領域が足りているか否かが判定される。また、格納部２３０は、不揮発性記憶領域と揮発性記憶領域とのいずれか一方のみを有することとしてもよい。元の圧縮データを格納する記憶領域の種類（不揮発性または揮発性）は、代替データを格納する記憶領域の種類と、同じでもよく、異なっていてもよい。いずれの場合も、元の圧縮データを格納するための記憶領域と、代替データを格納するための記憶領域と、の全体が、格納部の例である。なお、取得部Ｍ１１０は、圧縮データ（例えば、圧縮データＤＩ１ｄ〜ＤＩ３ｄ）を、サーバやＵＳＢメモリ等の他の装置から取得してもよい。同様に、複合機２００、２００ｂ、２００ｃは、プログラム（例えば、ＵＩ処理部Ｍ１００）を、他の装置から取得してもよい。
【００９１】
変形例３：  図３の画像制御処理は、画像を印刷する複合機に限らず、種々の画像処理装置に適用可能である。例えば、画像データを送受信するＦＡＸの送受信機、光学的に画像を読み取るスキャナとデジタルカメラ、画像を印刷するプリンタ、画像を表示するディスプレイ、表示や印刷等の種々の画像処理を実現するスマートフォンとスレートコンピュータ、等の種々の画像処理装置に、画像制御処理を適用してもよい。また、画像制御処理（図３）によって実現される画像処理は、画像の表示に限らず、他の種々の画像処理であってよい。例えば、図３のステップＳ３０５、Ｓ３１０、Ｓ３２５、Ｓ３９０が、画像の表示の代わりに画像の印刷のための処理であってもよい。
【００９２】
変形例４：  上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図１の格納制御部Ｍ１２０の機能を、論理回路で構成されたハードウェア回路によって実現してもよい。
【符号の説明】
【００９３】
１００...コンピュータ、２００、２００ｂ、２００ｃ...複合機、２０１、２０１ｂ、２０１ｃ...制御装置、２１０...ＣＰＵ、２２０...解凍装置、２２１...第１解凍回路、２２２...第２解凍回路、２２３...第３解凍回路、２３０...格納部、２５０...プリンタ部、２６０...スキャナ部、２７０...操作部、２８０...表示部、２９０...通信部、Ｍ２００...印刷処理部、Ｍ２２０、Ｍ２２０ｃ...解凍処理部、Ｍ１１０...取得部、Ｍ１２０...格納制御部、Ｍ１６０...表示制御部、Ｍ１３０...第１削除部、Ｍ１４０...第２削除部、Ｍ１５０...第３削除部、Ｍ２２１...第１解凍モジュール、Ｍ２２２...第２解凍モジュール、Ｍ２２３...第３解凍モジュール、Ｍ２２４...第４解凍モジュール、Ｍ２２５...第５解凍モジュール、ＳＤ...プログラム、ＤＩ１ｄ...第１圧縮データ、ＤＩ２ｄ...第２圧縮データ、ＤＩ３ｄ...第３圧縮データ、ＤＩ１ｄｄ...第１代替データ、ＤＩ２ｄｄ...第２代替データ
【図１】
2013074413.tif 000003
【図２】
2013074413.tif 000004
【図３】
2013074413.tif 000005
【図４】
2013074413.tif 000006
【図５】
2013074413.tif 000007
【図６】
2013074413.tif 000008
【図７】
2013074413.tif 000009
【図８】
2013074413.tif 000010
【図９】
2013074413.tif 000011
【図１０】
2013074413.tif 000012
【図１１】
2013074413.tif 000013
【図１２】
2013074413.tif 000014