(57)【要約】【課題】  画像処理用のハードウェアを複数搭載せずに、処理時間の増大を防ぎながら印刷処理と画像表示処理の並列動作を実行することを目的とする。【解決手段】  ハードウェアで画像のデコード処理を行うハードウェアデコード手段と、ソフトウェアで画像のデコード処理を行うソフトウェアデコード手段と、ハードウェアデコード手段によりデコード処理された画像を印刷する印刷手段と、ハードウェアデコード手段によりデコード処理された画像を表示する表示手段と、印刷手段により画像を印刷するためにハードウェアデコード手段により印刷対象の画像をデコード処理しているときに、表示手段に表示する画像のデコード処理を行う場合は、表示すべき画像のサムネイル画像をソフトウェアデコード手段によりデコード処理を行い、デコード処理されたサムネイル画像に基づいて表示手段に画像を表示させる制御手段と、を有することを特徴とする。【選択図】  図２
2013107338.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェアで画像のデコード処理を行うハードウェアデコード手段と、
ソフトウェアで画像のデコード処理を行うソフトウェアデコード手段と、
前記ハードウェアデコード手段によりデコード処理された画像を印刷する印刷手段と、
前記ハードウェアデコード手段によりデコード処理された画像を表示する表示手段と、
前記印刷手段により画像を印刷するために前記ハードウェアデコード手段により印刷対象の画像をデコード処理しているときに、前記表示手段に表示する画像のデコード処理を行う場合は、表示すべき画像のサムネイル画像を前記ソフトウェアデコード手段によりデコード処理を行い、デコード処理されたサムネイル画像に基づいて前記表示手段に画像を表示させる制御手段と、
を有することを特徴とする印刷装置。
【請求項２】
前記制御手段は、前記サムネイル画像が前記表示手段への表示に適さない場合は当該サムネイルのデコード処理は実行せずに、前記ハードウェアデコード手段による前記印刷対象の画像のデコード処理が完了した後に、前記ハードウェアデコード手段により前記表示すべき画像の本画像のデコード処理を実行するように制御することを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記制御手段は、前記表示すべき画像のサムネイル画像がない場合は、前記ハードウェアデコード手段による前記印刷対象の画像のデコード処理が完了した後に、前記表示すべき画像の本画像を前記ハードウェアデコード手段によりデコード処理するように制御することを特徴とする請求項１に記載の印刷装置。
【請求項４】
前記表示手段に表示されている画像の拡大表示を指示する指示手段を有し、
サムネイル画像に基づく画像が前記表示手段に表示されている時に、前記指示手段により拡大表示が指示された場合は、前記制御手段は、前記表示されている画像の本画像を前記ハードウェアデコード手段によりデコード処理し、デコード処理された画像に基づいて、前記表示手段に拡大画像を表示させることを特徴とする請求項１ないし３のいずれか１項に記載の印刷装置。
【請求項５】
前記ハードウェアデコード手段により印刷対象の画像のデコード処理を実行中に前記指示手段により拡大表示が指示された場合は、前記制御手段は、前記印刷対象の画像のデコード処理が完了した後に、前記ハードウェアデコード手段により前記表示すべき画像のデコード処理を実行するように制御することを特徴とする請求項４に記載の印刷装置。
【請求項６】
前記印刷手段により印刷する画像のデコード処理を優先する第１のモードと、前記表示手段に表示される画像のデコード処理を優先する第２のモードを有し、
前記第２のモードが設定されているときに前記表示手段に表示する画像のデコード処理を実行する場合は、前記制御手段は、前記ハードウェアデコード手段による印刷対象の画像のデコード処理を停止し、前記表示手段に表示する画像のデコード処理を前記ハードウェアデコード手段により実行させ、前記表示手段に表示する画像のデコード処理の完了に応じて、前記ハードウェアデコード手段による印刷対象の画像のデコード処理を開始させることを特徴とする請求項５に記載の印刷装置。
【請求項７】
前記ハードウェアデコード手段により前記印刷手段により印刷する画像のデコード処理を行う場合に、前記印刷する画像のデコード処理に要する時間を算出する算出手段を有し、
前記表示手段に表示する画像のデコード処理を行う場合に、前記算出手段により算出された時間に応じて、前記ソフトウェアデコード手段により前記表示する画像のサムネイル画像のデコード処理を実行するか、または、前記印刷する画像のデコード処理の完了後に、前記ハードウェアデコード手段により前記表示する画像の本画像のデコード処理を実行するかを判断する判断手段を有することを特徴とする請求項１ないし６のいずれか１項に記載の印刷装置。
【請求項８】
前記判断手段は、前記印刷する画像のデコード処理が完了するまでの時間が、所定の時間よりも長い場合は、前記ソフトウェアデコード手段により前記表示する画像のサムネイル画像のデコード処理を実行すると判断することを特徴とする請求項７に記載の印刷装置。
【請求項９】
前記制御手段は、次の画像を前記表示手段に表示させるため画像送り操作に応じて、当該画像送り操作により表示すべき画像のデコード処理を、前記ハードウェアデコード手段または前記ソフトウェアデコード手段に実行させることを特徴とする請求項１ないし８のいずれか１項に記載の印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハードウェアによるデコード処理とソフトウェアによるデコード処理とが実行可能な画像処理装置に関するものである。
【背景技術】
【０００２】
近年、デジタルカメラ等の急速な普及やパソコン・プリンタ等の低価格化に伴い、デジタルカメラで撮影した静止画や動画といった画像を自宅のパソコンに保存して編集したり、プリンタで印刷したりして楽しむユーザが増えている。
【０００３】
プリンタも高機能化してきており、印刷時に画質の自動補正や、赤目補正などを実施することが可能なプリンタや、印刷実行後、印刷の完了を待たされることなく他の画像の閲覧が可能（印刷処理と画像表示処理の並列動作が可能）なプリンタなどが存在する。
【０００４】
これら画像の自動補正、赤目補正、および画像表示処理は、画像に対して画像処理を行う必要があり、画像処理は処理時間がかかるため、通常は画像処理エンジンなどのハードウェアによって、演算処理が行われるものである。
【０００５】
また、ハードウェアとソフトウェアの両方を使用して処理を行う方法も提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１―２９２４０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
印刷処理と画像表示処理は、ともにハードウェアである画像処理エンジンによる演算（画像データのデコード処理等）が必要である。印刷処理と画像表示処理を並列動作させるためには、画像処理エンジンを複数搭載するか、印刷処理と画像表示処理で画像処理エンジンを排他的に使用するようにしなければならない。
【０００８】
画像処理エンジンを複数搭載することは、製品のコストアップになってしまい、また画像処理エンジンを排他的に使用することは、それぞれの処理が待たされることになるため、ユーザの操作性が低下してしまう。
【０００９】
また、印刷処理と画像表示処理のうちのどちらかの処理を画像処理エンジンではなくソフトウェアにより実現することも可能であるが、ソフトウェアで画像処理を実現すると処理に要する時間が大きくなってしまう。
【００１０】
そこで本発明は、１つの画像処理用ハードウェアにより印刷処理のための画像処理と画像表示処理のための画像処理を実行する場合に、ハードウェアによる画像処理とソフトウェアによる画像処理とを効果的に切り替えることを目的とする。
【課題を解決するための手段】
【００１１】
上述の課題を解決するため、本発明の印刷装置は、ハードウェアで画像のデコード処理を行うハードウェアデコード手段と、ソフトウェアで画像のデコード処理を行うソフトウェアデコード手段と、ハードウェアデコード手段によりデコード処理された画像を印刷する印刷手段と、ハードウェアデコード手段によりデコード処理された画像を表示する表示手段と、印刷手段により画像を印刷するためにハードウェアデコード手段により印刷対象の画像をデコード処理しているときに、表示手段に表示する画像のデコード処理を行う場合は、表示すべき画像のサムネイル画像をソフトウェアデコード手段によりデコード処理を行い、デコード処理されたサムネイル画像に基づいて表示手段に画像を表示させる制御手段と、を有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、画像処理エンジンを複数搭載せずに、印刷処理と画像表示処理の並列動作を処理時間の増大を防ぎながら実行することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係るプリンタのシステム全体の構成を示す図である。
【図２】本発明の第一の実施形態に係るプリンタの動作を示すフローチャート図である。
【図３】本発明の第二の実施形態に係るプリンタの動作を示すフローチャート図である。
【図４】本発明の第三の実施形態に係るプリンタの動作を示すフローチャート図である。
【発明を実施するための形態】
【００１４】
以下、添付図面によって本発明の各実施形態を説明する。
【００１５】
（第１の実施形態）
図１は、本発明の実施例におけるプリンタ１００の構成を示す図である。
【００１６】
１０１は実際に用紙に画像をプリントする機能ブロックであり、給紙部１１４から用紙を供給し、ハードウェアである画像処理エンジン１１１によって画像デコード処理、自動補正、赤目補正を行う。画像処理エンジン１１１で画像処理が施された画像データは印刷データに変換され、印刷データに基づいてプリント処理部１０２によって印刷処理が行われ、排紙部１１５からプリントされた用紙を排紙する。
【００１７】
１０３はＬＣＤ表示、ＬＥＤ表示などでユーザに対する情報を表示する表示部であり、表示処理部１０４によって処理される。
【００１８】
１０５はプリンタの操作部であり、システムコントローラ１０６を介してスイッチやダイアル、タッチパネル、視線検知によるポインティング、音声認識装置等の単数或いは複数の組み合わせで構成される各種の動作指示を入力するための操作手段である。
【００１９】
１０６はシステムコントローラであり、プリンタ１００全体の制御や、演算処理を行う。システムコントローラ１０６は、不揮発性メモリ１０７からプログラムを読み出し、読み出したプログラムに基づいて、各ブロックの制御や演算処理を行うことにより、後述のフローチャートの処理を実行する。
【００２０】
１０７は電気的に消去・記録可能な不揮発性メモリであり、プリンタの動作用の定数、プログラム等を記憶するものであり、１０８は画像データ、変数、演算結果等を記憶するメモリである。
【００２１】
１１０はメモリカード等の外部記憶媒体とデータの送受信を行うカードコントローラ、１０９はメモリカード等の外部記憶媒体とのインタフェースである。
【００２２】
１１２はデジタルカメラなどの外部機器とＵＳＢを用いて接続する為のＵＳＢホストインタフェースであり、１１３はＰＣなどの外部機器とＵＳＢを用いて接続する為のＵＳＢデバイスインタフェースである。
【００２３】
１１６はプリンタカートリッジ装着部であり、Ｌ  Ｓｉｚｅ、Ｐｏｓｔｃａｒｄ  Ｓｉｚｅ、Ｒｏｌｌ  Ｓｉｚｅなど様々な用紙サイズのプリンタカートリッジの着脱検出、および給紙部１１４と連動して印刷時に用紙を供給する。
【００２４】
以上がプリンタ１００の全体のシステム構成である。
【００２５】
図２は、本実施例におけるプリンタ１００の処理シーケンスを示した図である。
【００２６】
以下、本実施例においてプリンタ１００による画像印刷処理中に、画像表示処理を並列動作させる場合の処理について、図２を用いて説明する。
【００２７】
画像印刷処理中に画像表示処理の並列動作が開始されると、Ｓ２０１においてユーザによる画像送りが実行されたかどうかを判断する。画像送りが実行されるとプリンタ１００は、メモリカード等の外部記憶媒体から、インタフェース１０９、カードコントローラ１１０を介して次の画像データをメモリ１０８へ読み込み、画像再生処理を行う。
【００２８】
画像再生処理は、まずＳ２０２においてハードウェアである画像処理エンジン１１１が使用可能かどうかを判断する。
【００２９】
Ｓ２０２において、画像処理エンジン１１１が使用可能であると判断した場合は、Ｓ２０８において画像処理エンジン１１１を用いて本画像のハードウェアデコードを行い、Ｓ２０９において、ハードウェアデコードの結果を表示部１０３へ表示する。
【００３０】
Ｓ２０２において、画像処理エンジン１１１が使用できないと判断した場合、つまり、画像処理エンジンにより印刷対象の画像のハードウェアデコードが実行中である場合は、Ｓ２０３に進む。Ｓ２０３では、表示対象画像のサムネイルを解析して、サムネイル画像が表示可能であるかを判断する。
【００３１】
Ｓ２０３において、画像データのヘッダ部にサムネイル画像がない、もしくはサムネイル画像がある閾値よりも小さいなど、サムネイル画像が表示できないと判断した場合には、以降は本画像表示処理を行う。また、プリンタ１００で実行可能なソフトウェアデコードに対応していないデータ形式のサムネイル画像であった場合も、サムネイル画像が表示不可能であると判断する。
【００３２】
Ｓ２０７において印刷処理で使用している画像処理エンジン１１１が使用可能になるのを待つ。画像処理エンジンによる印刷対象の画像のハードウェアデコード処理が完了したことに応じて、Ｓ２０８において画像処理エンジン１１１を用いて本画像のハードウェアデコードを行い、Ｓ２０９において、ハードウェアデコードの結果を表示部１０３へ表示する。
【００３３】
Ｓ２０３において、サムネイル画像が表示可能であると判断した場合には、Ｓ２０４においてサムネイル画像に対してソフトウェアデコードを行う。ソフトウェアデコードは主に表示処理部１０４において、ソフトウェアの演算によって行われ、Ｓ２０５においてソフトウェアデコードの結果を表示部１０３へ表示する。
【００３４】
その後Ｓ２０６において、サムネイル画像を表示後に画像のトリミングや拡大表示操作が実行されたかどうかを判断する。
【００３５】
サムネイル画像はデータ量が少ないため、サムネイル画像を用いてトリミングや拡大表示操作を行うと表示が荒くなってしまい、ユーザの操作意図に対して、十分な表示画像を提供することができない。
【００３６】
そこで、Ｓ２０６において、トリミングや拡大表示が実行された場合には、Ｓ２０７において印刷処理で使用している画像処理エンジン１１１が使用可能になるのを待つ。そして、画像処理エンジン１１１による印刷対象画像のハードウェアデコード処理の完了後に、Ｓ２０８において画像処理エンジン１１１を用いて本画像のハードウェアデコードを行い、Ｓ２０９において、ハードウェアデコードの結果を表示部１０３へ表示する。
【００３７】
以上のように、本発明によれば、ハードウェアによる画像処理（ハードウェアデコード処理）と、ソフトウェアによる画像処理（ソフトウェアデコード処理）を用いて、画像印刷処理中に画像表示処理を並列動作させることが可能である。
【００３８】
その際、画像表示処理においてソフトウェアデコードを行う場合には、ハードウェアデコードに比べて、処理時間が長くなるので、本画像ではなくサムネイル画像を用いて画像処理を行うようにすることで、処理時間の短縮を実現している。
【００３９】
また、サムネイル画像が表示できない場合や、サムネイル画像に対してトリミングや拡大表示を行う場合などは、画像処理エンジン１１１が使用可能になるのを待って、本画像に対してハードウェアデコードを実行し、デコードした本画像から拡大画像を生成して表示するようにする。ユーザの操作意図に対して十分な表示画像を提供することが可能である。
【００４０】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。また、上述の実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含む。従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光／光磁気記憶媒体、不揮発性の半導体メモリでもよい。また、プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータはがコンピュータプログラムをダウンロードしてプログラムするような方法も考えられる。
【００４１】
（第２の実施形態）
本実施例では、プリンタ１００による画像印刷中に、画像表示処理を並列動作させる場合の処理において、画像表示処理を優先させる場合の処理に関して、図３を用いて説明する。
【００４２】
プリンタ１００の構成図は実施例１と同様であり、図１に示す。
【００４３】
図３は、本実施例におけるプリンタ１００の処理シーケンスを示した図である。
【００４４】
以下、本実施例においてプリンタ１００による画像印刷処理中に、画像表示処理を並列動作させる場合の処理について、図３を用いて説明する。
【００４５】
画像印刷処理中に画像表示処理の並列動作が開始されると、Ｓ３０１においてユーザによる画像送りが実行されたかどうかを判断する。画像送りが実行されるとプリンタ１００は、メモリカード等の外部記憶媒体から、インタフェース１０９、カードコントローラ１１０を介して次の画像データをメモリ１０８へ読み込み、画像再生処理を行う。
【００４６】
画像再生処理は、まずＳ３０２においてハードウェアである画像処理エンジン１１１が使用可能かどうかを判断する。
【００４７】
Ｓ３０２において、画像処理エンジン１１１が使用可能であると判断した場合は、Ｓ３０８において画像処理エンジン１１１を用いて本画像のハードウェアデコードを行い、Ｓ３０９において、ハードウェアデコードの結果を表示部１０３へ表示する。
【００４８】
Ｓ３０２において、画像処理エンジン１１１が使用できないと判断した場合は、Ｓ３０３において表示対象画像のサムネイルを解析して、サムネイル画像が表示可能であるかを判断する。
【００４９】
Ｓ３０３において、画像データのヘッダ部にサムネイル画像がない、もしくはサムネイル画像がある閾値よりも小さいなど、サムネイル画像が表示できないと判断した場合には、以降は本画像表示処理を行う。
【００５０】
Ｓ３０７において印刷処理で使用している画像処理エンジン１１１を画像表示処理で使用するために、印刷処理を中断し、Ｓ３０８において画像処理エンジン１１１を用いて本画像のハードウェアデコードを行い、Ｓ３０９において、ハードウェアデコードの結果を表示部１０３へ表示する。
【００５１】
Ｓ３０３において、サムネイル画像が表示可能であると判断した場合には、Ｓ３０４においてサムネイル画像に対してソフトウェアデコードを行う。ソフトウェアデコードは主に表示処理部１０４において、ソフトウェアの演算によって行われ、Ｓ３０５においてソフトウェアデコードの結果を表示部１０３へ表示する。
【００５２】
その後Ｓ３０６において、サムネイル画像を表示後に画像のトリミングや拡大表示操作が実行されたかどうかを判断する。
【００５３】
サムネイル画像はデータ量が少ないため、サムネイル画像を用いてトリミングや拡大表示操作を行うと表示が荒くなってしまい、ユーザの操作意図に対して、十分な表示画像を提供することができない。
【００５４】
そこで、Ｓ３０６において、トリミングや拡大表示が実行された場合には、Ｓ３０７において印刷処理で使用している画像処理エンジン１１１を画像表示処理で使用するために、印刷処理を中断し、印刷対象の画像処理を停止する。Ｓ３０８において画像処理エンジン１１１を用いて画像表示処理で使用する画像の本画像のハードウェアデコードを行い、Ｓ３０９において、ハードウェアデコードの結果を表示部１０３へ表示する。
【００５５】
その後、Ｓ３１０において、現在印刷処理が中断中なのか継続中なのかを判断し、印刷処理が中断中であると判断した場合には、Ｓ３１１において印刷処理を再開させる。
【００５６】
以上のように、本発明によれば、ハードウェアによる画像処理（ハードウェアデコード）と、ソフトウェアによる画像処理（ソフトウェアデコード）を用いて、画像印刷処理中に画像表示処理を並列動作させることが可能である。
【００５７】
その際、画像表示処理においてソフトウェアデコードを行う場合には、ハードウェアデコードに比べて、処理時間が長くなるので、本画像ではなくサムネイル画像を用いて画像処理を行うようにすることで、処理時間の短縮を実現している。
【００５８】
また、サムネイル画像が表示できない場合や、サムネイル画像に対してトリミングや拡大表示を行う場合などは、印刷処理で使用している画像処理エンジン１１１を画像表示処理で使用するために、印刷処理を中断する。その後、本画像に対してハードウェアデコードを実行し、表示を行った後で印刷処理を再開するようにすることで、ユーザの操作意図に対して十分な表示画像を提供することが可能である。
【００５９】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。また、上述の実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含む。従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光／光磁気記憶媒体、不揮発性の半導体メモリでもよい。また、プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータはがコンピュータプログラムをダウンロードしてプログラムするような方法も考えられる。
【００６０】
（第３の実施形態）
本実施例では、プリンタ１００による画像印刷中に、画像表示処理を並列動作させる場合の処理において、画像印刷における画像処理エンジン１１１の使用時間に応じて、画像表示処理をハードウェアで行うか、ソフトウェアで行うか切り替えて処理する場合に関して、図４を用いて説明する。
【００６１】
プリンタ１００の構成図は実施例１と同様であり、図１に示す。
【００６２】
図４は、本実施例におけるプリンタ１００の処理シーケンスを示した図である。
【００６３】
以下、本実施例においてプリンタ１００による画像印刷処理中に、画像表示処理を並列動作させる場合の処理について、図４を用いて説明する。
【００６４】
画像印刷処理中に画像表示処理の並列動作が開始されると、Ｓ４０１においてユーザによる画像送りが実行されたかどうかを判断する。画像送りが実行されるとプリンタ１００は、メモリカード等の外部記憶媒体から、インタフェース１０９、カードコントローラ１１０を介して次の画像データをメモリ１０８へ読み込み、画像再生処理を行う。
【００６５】
画像再生処理は、まずＳ４０２においてハードウェアである画像処理エンジン１１１が使用可能かどうかを判断する。
【００６６】
Ｓ４０２において、画像処理エンジン１１１が使用可能であると判断した場合は、Ｓ４１６において画像処理エンジン１１１を用いて本画像のハードウェアデコードを行い、Ｓ４１７において、ハードウェアデコードの結果を表示部１０３へ表示する。
【００６７】
Ｓ４０２において、画像処理エンジン１１１が使用できないと判断した場合は、Ｓ４０３において印刷処理で使用している画像処理エンジン１１１の処理終了予定時間を取得する。処理終了予定時間は処理対象の画像サイズや処理内容から統計的に算出しても良いし、処理終了予定時間計測のための専用ブロックを用意して算出しても良い。
【００６８】
その後、Ｓ４０３で取得した画像処理エンジン１１１の処理終了予定時間を、閾値１、閾値２と比較して、以降の処理を決定する。
【００６９】
なお本実施例で、閾値１と閾値２の大小関係は以下の通りであるものとする。
閾値１  ＜  閾値２
【００７０】
次に、Ｓ４０４において処理終了予定時間が閾値１以上であるかどうかを判断する。
【００７１】
Ｓ４０４において、処理終了予定時間が閾値１より小さいと判断した場合は、少し待てば画像処理エンジン１１１が使用可能になると判断し、Ｓ４１０において印刷処理で使用している画像処理エンジン１１１が使用可能になるのを待つ。画像処理エンジン１１１が使用可能となったら、Ｓ４１６において画像処理エンジン１１１を用いて画像表示処理で使用する画像の本画像のハードウェアデコードを行い、Ｓ４１７において、ハードウェアデコードの結果を表示部１０３へ表示する。
【００７２】
Ｓ４０４において、処理終了予定時間が閾値１以上であると判断した場合は、Ｓ４０５において処理終了予定時間が閾値２以下であるか判断する。
【００７３】
ここで、処理終了予定時間が閾値１以上、閾値２以下である場合は、画像表示処理で使用する画像のサムネイル画像をソフトウェアデコードして表示を行う。サムネイル画像を表示できない場合や、サムネイル画像に対してトリミングや拡大表示など、本画像データを表示したほうが好ましい場合は、画像処理エンジン１１１が使用可能になるのを待ち、本画像をハードウェアデコードして表示するようにする。
【００７４】
以下、その手順を示すと、Ｓ４０６において、表示対象画像のサムネイルを解析して、サムネイル画像が表示可能であるかを判断する。
【００７５】
Ｓ４０６において、画像データのヘッダ部にサムネイル画像がない、もしくはサムネイル画像がある閾値よりも小さいなど、サムネイル画像が表示できないと判断した場合には、以降は本画像表示処理を行う。
【００７６】
Ｓ４１０において印刷処理で使用している画像処理エンジン１１１が使用可能になるのを待ち、Ｓ４１６において画像処理エンジン１１１を用いて本画像のハードウェアデコードを行い、Ｓ４１７において、ハードウェアデコードの結果を表示部１０３へ表示する。
【００７７】
Ｓ４０６において、サムネイル画像が表示可能であると判断した場合には、Ｓ４０７においてサムネイル画像に対してソフトウェアデコードを行う。ソフトウェアデコードは主に表示処理部１０４において、ソフトウェアの演算によって行われ、Ｓ４０８においてソフトウェアデコードの結果を表示部１０３へ表示する。
【００７８】
その後Ｓ４０９において、サムネイル画像を表示後に画像のトリミングや拡大表示操作が実行されたかどうかを判断する。
【００７９】
サムネイル画像はデータ量が少ないため、サムネイル画像を用いてトリミングや拡大表示操作を行うと表示が荒くなってしまい、ユーザの操作意図に対して、十分な表示画像を提供することができない。
【００８０】
そこで、Ｓ４０９において、トリミングや拡大表示が実行された場合には、Ｓ４１０において印刷処理で使用している画像処理エンジン１１１が使用可能になるのを待つ。画像処理エンジン１１１が使用可能になったら、Ｓ４１６において画像処理エンジン１１１を用いて本画像のハードウェアデコードを行い、Ｓ４１７において、ハードウェアデコードの結果を表示部１０３へ表示する。
【００８１】
Ｓ４０９において、トリミングや拡大表示が実行されなかった場合には、Ｓ４００へ戻る。
【００８２】
Ｓ４０５において、処理終了予定時間が閾値２より大きいと判断した場合は、しばらくの間、画像処理エンジン１１１が使用できないと判断し、以降の処理をソフトウェアデコードで行う。
【００８３】
Ｓ４１１において、表示対象画像のサムネイルを解析して、サムネイル画像が表示可能であるかを判断する。
【００８４】
Ｓ４１１において、画像データのヘッダ部にサムネイル画像がない、もしくはサムネイル画像がある閾値よりも小さいなど、サムネイル画像が表示できないと判断した場合には、Ｓ４１５において本画像に対してソフトウェアデコードを行う。そして、Ｓ４１７において、ソフトウェアデコードの結果を表示部１０３へ表示する。
【００８５】
Ｓ４１１において、サムネイル画像が表示可能であると判断した場合には、Ｓ４１２においてサムネイル画像に対してソフトウェアデコードを行う。なお、ソフトウェアデコードは主に表示処理部１０４において、ソフトウェアの演算によって行われ、Ｓ４１３においてソフトウェアデコードの結果を表示部１０３へ表示する。
【００８６】
その後Ｓ４１４において、サムネイル画像を表示後に画像のトリミングや拡大表示操作が実行されたかどうかを判断する。
【００８７】
サムネイル画像はデータ量が少ないため、サムネイル画像を用いてトリミングや拡大表示操作を行うと表示が荒くなってしまい、ユーザの操作意図に対して、十分な表示画像を提供することができない。
【００８８】
そこで、Ｓ４１４において、トリミングや拡大表示が実行された場合には、Ｓ４１５において本画像に対してソフトウェアデコードを行い、Ｓ４１７において、ソフトウェアデコードの結果を表示部１０３へ表示する。
【００８９】
Ｓ４１４において、トリミングや拡大表示が実行されなかった場合には、Ｓ４００へ戻る。
【００９０】
本実施形態では、画像表示処理を優先させるか、または、印刷処理を優先させるかを、ハードウェアデコードに要する時間に応じて切り替えた。しかし、これに限らず、印刷処理を優先するモードと、画像表示を優先するモードを設け、これらを、ユーザの操作により切り替えるように構成してもよい。印刷処理を優先するモードが設定されている場合は、印刷対象の画像を優先してハードウェアデコード処理を実施する。そして、画像表示処理優先モードが設定されている場合は、印刷対象の画像のハードウェアデコード処理が実行中であっても、印刷対象の画像のデコード処理を停止し、上述のように、表示する画像のハードウェアデコードを優先させるように動作する。
【００９１】
（その他の実施形態）
以上のように、本発明によれば、ハードウェアによる画像処理（ハードウェアデコード）と、ソフトウェアによる画像処理（ソフトウェアデコード）を用いて、画像印刷処理中に画像表示処理を並列動作させることが可能である。
【００９２】
印刷処理で使用している画像処理エンジン１１１の処理終了予定時間をもとに、画像表示処理のデコードをハードウェアで実行するかソフトウェアで実行するか切り替えるようにしているので、画像表示処理におけるユーザの待ち時間を短縮し、操作性を向上させることが可能である。
【００９３】
その際、画像表示処理においてソフトウェアデコードを行う場合には、ハードウェアデコードに比べて、処理時間が長くなるので、本画像ではなくサムネイル画像を用いて画像処理を行うようにすることで、処理時間の短縮を実現している。
【００９４】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。また、上述の実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含む。従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光／光磁気記憶媒体、不揮発性の半導体メモリでもよい。また、プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータはがコンピュータプログラムをダウンロードしてプログラムするような方法も考えられる。
【図１】
2013107338.tif 000003
【図２】
2013107338.tif 000004
【図３】
2013107338.tif 000005
【図４】
2013107338.tif 000006