(57)【要約】【課題】  画像処理を施す際の処理時間の短縮を図る。【解決手段】  画像ファイルに起点復元用情報が付加されている場合には付加されている起点復元用情報を読み込み（Ｓ１００，Ｓ１１０）、起点復元用情報が付加されていない場合には起点復元用情報取得処理を実行することにより起点復元用情報を取得して画像ファイルに付加し（Ｓ１２０）、取得した起点復元用情報を用いて画像ファイルの回転後の画像を上端から順に生成して印刷する（Ｓ１３０〜Ｓ２３０）。したがって、起点復元用情報を一度取得した画像ファイル（一度、画像回転印刷処理を実行した画像ファイル）については起点復元用情報が付加され、この付加された起点復元用情報を用いて次回の印刷を行なうことができる。この結果、起点復元用情報を取得する処理を繰り返し行なう必要がないから、画像処理を施す際の処理時間の短縮を図ることができる。【選択図】        図２
2006101016.tif 000002
【特許請求の範囲】
【請求項１】
画像ファイルに所定の画像処理を施して出力する画像処理装置であって、
所定の記憶媒体に記憶されている画像ファイルの中から指定された画像ファイルに所定の画像処理を施す指示がなされたときに、該所定の画像処理を施す際に用いられ該画像ファイルに基づいて収集可能な事前収集情報が該画像ファイルに予め付加されている場合には該付加されている事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力し、該事前収集情報が該画像ファイルに予め付加されていない場合には該画像ファイルに基づいて該事前収集情報を収集し該収集した事前収集情報を該画像ファイルに付加して前記所定の記憶媒体に記憶させると共に該事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力する画像処理手段、
を備える画像処理装置。
【請求項２】
前記画像処理手段は、前記画像ファイルの一部として前記事前収集情報を埋め込むことにより該事前収集情報を該画像ファイルに付加する手段である請求項１記載の画像処理装置。
【請求項３】
前記画像処理手段は、前記画像ファイルを構成する各領域のうち画像データを格納する領域よりも後側の領域に前記事前収集情報を埋め込むことにより該事前収集情報を該画像ファイルに付加する手段である請求項２記載の画像処理装置。
【請求項４】
前記画像処理手段は、前記画像ファイルの最後部に前記事前収集情報を埋め込むことにより該事前収集情報を該画像ファイルに付加する手段である請求項２または３記載の画像処理装置。
【請求項５】
請求項２ないし４いずれか記載の画像処理装置であって、
前記画像ファイルは、ＪＰＥＧフォーマットのファイルであり、
前記画像処理手段は、ＪＰＥＧフォーマットにおけるアプリケーションマーカーセグメントに前記事前収集情報を埋め込むことにより該事前収集情報を前記画像ファイルに付加する手段である、
画像処理装置。
【請求項６】
前記画像処理手段は、前記事前収集情報を前記画像ファイルとリンクする所定形式の事前収集情報ファイルとして前記所定の記憶媒体に記憶させることにより該画像ファイルに該事前収集情報を付加する手段である請求項１記載の画像処理装置。
【請求項７】
前記画像処理手段は、前記事前収集情報ファイルのファイル名を前記画像ファイルのファイル名の少なくとも一部を用いて設定することにより該事前収集情報ファイルと該画像ファイルとをリンクする手段である請求項６記載の画像処理装置。
【請求項８】
請求項１ないし７いずれか記載の画像処理装置であって、
前記画像ファイルは、所定方式で圧縮されてなり、
前記事前収集情報は、前記画像ファイルを先頭から順に復元することにより収集可能な情報である、
画像処理装置。
【請求項９】
請求項８記載の画像処理装置であって、
前記所定の画像処理は、前記画像ファイルを先頭から順に復元して画素情報を取得し、該取得した画素情報に基づいて該画像ファイルの特性を示す特性情報を演算し、該演算した特性情報に基づいて補正用パラメータを計算し、該計算した補正用パラメータに基づいて画素情報を変換するルックアップテーブルを生成し、該生成したルックアップテーブルに基づいて該画像ファイルの画素情報を変換することにより該画像ファイルを補正する画像自動補正処理であり、
前記事前収集情報は、前記画素情報、前記特性情報、前記補正用パラメータ、前記ルックアップテーブルのいずれかである、
画像処理装置。
【請求項１０】
請求項８記載の画像処理装置であって、
前記所定の画像処理は、前記画像ファイルを先頭から順に復元して該画像ファイルの所定位置を起点として該画像ファイルを復元するための起点復元用情報を取得し、該取得した起点復元用情報に基づいて前記所定位置を起点として該画像ファイルを復元することにより所定の方向および角度で回転後の画像を上端から順に生成する回転画像生成処理であり、
前記事前収集情報は、前記起点復元用情報である、
画像処理装置。
【請求項１１】
請求項１ないし１０いずれか記載の画像処理装置と、
該画像処理装置から出力される画像ファイルを印刷する印刷実行手段と、
を備えるプリンタ。
【請求項１２】
画像ファイルに所定の画像処理を施して出力する画像処理方法であって、
所定の記憶媒体に記憶されている画像ファイルの中から指定された画像ファイルに所定の画像処理を施す指示がなされたときに、該所定の画像処理を施す際に用いられ該画像ファイルに基づいて収集可能な事前収集情報が該画像ファイルに予め付加されている場合には該付加されている事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力し、該事前収集情報が該画像ファイルに予め付加されていない場合には該画像ファイルに基づいて該事前収集情報を収集し該収集した事前収集情報を該画像ファイルに付加して前記所定の記憶媒体に記憶させると共に該事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力する、
画像処理方法。
【請求項１３】
画像ファイルに所定の画像処理を施して出力する画像処理用プログラムであって、
所定の記憶媒体に記憶されている画像ファイルの中から指定された画像ファイルに所定の画像処理を施す指示がなされたときに、該所定の画像処理を施す際に用いられ該画像ファイルに基づいて収集可能な事前収集情報が該画像ファイルに予め付加されている場合には該付加されている事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力し、該事前収集情報が該画像ファイルに予め付加されていない場合には該画像ファイルに基づいて該事前収集情報を収集し該収集した事前収集情報を該画像ファイルに付加して前記所定の記憶媒体に記憶させると共に該事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力する画像処理モジュール、
を備える画像処理用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置およびこれを備えるプリンタ、画像処理方法、画像処理用プログラムに関する。
【背景技術】
【０００２】
従来、この種の画像処理装置としては、入力された画像ファイルの中に人物の顔などのオブジェクトが含まれるか否かを検出し、この検出結果に基づいて画像内容を判定すると共に補正パラメータを設定して画像ファイルを補正するものが提案されている（例えば、特許文献１参照）。
【特許文献１】特開２００４−２３６１１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述の画像処理装置では、オブジェクトを検出する処理などは画像ファイル全体の画素情報などを取得して行なう必要があるから、処理時間の増大などを招いてしまう虞がある。一方、こうした画像処理装置をプリンタに適用する場合を考えると、こうした処理時間の増大は印刷開始までの待ち時間の増大に繋がるから、できるだけ処理時間の短縮や処理の効率化を図ることが望ましい。
【０００４】
本発明の画像処理装置およびこれを備えるプリンタ、画像処理方法、画像処理用プログラムは、画像ファイルに対して画像処理を施す際の処理時間の短縮を図ることを目的の一つとする。また、本発明の画像処理装置およびこれを備えるプリンタ、画像処理方法、画像処理用プログラムは、画像処理をより効率的に行なうことを目的の一つとする。
【課題を解決するための手段】
【０００５】
本発明の画像処理装置およびこれを備えるプリンタ、画像処理方法、画像処理用プログラムは、上述の目的の少なくとも一部を達成するために以下の手段を採った。
【０００６】
本発明の画像処理装置は、
画像ファイルに所定の画像処理を施して出力する画像処理装置であって、
所定の記憶媒体に記憶されている画像ファイルの中から指定された画像ファイルに所定の画像処理を施す指示がなされたときに、該所定の画像処理を施す際に用いられ該画像ファイルに基づいて収集可能な事前収集情報が該画像ファイルに予め付加されている場合には該付加されている事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力し、該事前収集情報が該画像ファイルに予め付加されていない場合には該画像ファイルに基づいて該事前収集情報を収集し該収集した事前収集情報を該画像ファイルに付加して前記所定の記憶媒体に記憶させると共に該事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力する画像処理手段、
を備えることを要旨とする。
【０００７】
この本発明の画像処理装置では、画像ファイルに所定の画像処理を施す指示がなされたときに、この画像ファイルに事前収集情報が付加されている場合にはこの付加されている事前収集情報を用いて所定の画像処理を施して出力し、画像ファイルに事前収集情報が付加されていない場合には画像ファイルに基づいて事前収集情報を収集して画像ファイルに付加すると共に収集した事前収集情報を用いて所定の画像処理を施して出力する。したがって、画像処理を一度施した画像ファイルについては事前収集情報が付加され、この付加された事前収集情報を用いて次回の画像処理を施すことができる。この結果、事前収集情報を収集する処理を繰り返し行なう必要がないから、画像ファイルに対して画像処理を施す際の処理時間の短縮を図ることができると共に画像処理をより効率的に行なうことができる。
【０００８】
こうした本発明の画像処理装置において、前記画像処理手段は、前記画像ファイルの一部として前記事前収集情報を埋め込むことにより該事前収集情報を該画像ファイルに付加する手段であるものとすることもできる。この場合、前記画像処理手段は、前記画像ファイルを構成する各領域のうち画像データを格納する領域よりも後側の領域に前記事前収集情報を埋め込むことにより該事前収集情報を該画像ファイルに付加する手段であるものとすることもできる。こうすれば、事前収集情報を埋め込むことによる画像データへの影響（例えば、画像データの物理的な位置の変更など）を抑制することができる。
【０００９】
この態様の本発明の画像処理装置において、前記画像処理手段は、前記画像ファイルの最後部に前記事前収集情報を埋め込むことにより該事前収集情報を該画像ファイルに付加する手段であるものとすることもできる。こうすれば、画像ファイルの最後部に事前収集情報を埋め込むことができる。この結果、事前収集情報が埋め込まれた画像ファイルに対応していない画像処理装置であっても、事前収集情報を無視することにより画像ファイルをより容易に取り扱うことができる。
【００１０】
この態様の本発明の画像処理装置において、前記画像ファイルはＪＰＥＧフォーマットのファイルであり、前記画像処理手段はＪＰＥＧフォーマットにおけるアプリケーションマーカーセグメントに前記事前収集情報を埋め込むことにより該事前収集情報を前記画像ファイルに付加する手段であるものとすることもできる。こうすれば、アプリケーションマーカーセグメントを用いて事前収集情報を埋め込むことができる。
【００１１】
また、本発明の画像処理装置において、前記画像処理手段は、前記事前収集情報を前記画像ファイルとリンクする所定形式の事前収集情報ファイルとして前記所定の記憶媒体に記憶させることにより該画像ファイルに該事前収集情報を付加する手段であるものとすることもできる。こうすれば、画像ファイルの内容を変更することなく事前収集情報を付加することができる。この場合、前記画像処理手段は前記事前収集情報ファイルのファイル名を前記画像ファイルのファイル名の少なくとも一部を用いて設定することにより該事前収集情報ファイルと該画像ファイルとをリンクする手段であるものとすることもできる。こうすれば、画像ファイルや事前収集情報ファイルのファイル名を用いてこれらをリンクすることができる。この場合、例えば、画像ファイルと事前収集情報ファイルのファイル名を拡張子のみ異なるものとしてもよい。
【００１２】
さらに、本発明の画像処理装置において、前記画像ファイルは所定方式で圧縮されてなり、前記事前収集情報は前記画像ファイルを先頭から順に復元することにより収集可能な情報であるものとすることもできる。こうすれば、画像ファイルを先頭から順に復元する処理を繰り返し行なう必要がないから、処理時間の短縮や処理の効率化という効果がより顕著に表れる。この場合、前記所定の画像処理は前記画像ファイルを先頭から順に復元して画素情報を取得し該取得した画素情報に基づいて該画像ファイルの特性を示す特性情報を演算し該演算した特性情報に基づいて補正用パラメータを計算し該計算した補正用パラメータに基づいて画素情報を変換するルックアップテーブルを生成し該生成したルックアップテーブルに基づいて該画像ファイルの画素情報を変換することにより該画像ファイルを補正する画像自動補正処理であり、前記事前収集情報は前記画素情報、前記特性情報、前記補正用パラメータ、前記ルックアップテーブルのいずれかであるものとしたり、前記所定の画像処理は前記画像ファイルを先頭から順に復元して該画像ファイルの所定位置を起点として該画像ファイルを復元するための起点復元用情報を取得し該取得した起点復元用情報に基づいて前記所定位置を起点として該画像ファイルを復元することにより所定の方向および角度で回転後の画像を上端から順に生成する回転画像生成処理であり、前記事前収集情報は前記起点復元用情報であるものとしたりすることができる。こうすれば、画像ファイルに対して画像自動補正処理や回転画像生成処理を施す際の処理時間の短縮を図ることができると共にこうした画像処理をより効率的に行なうことができる。
【００１３】
本発明のプリンタは、上述したいずれかの態様の本発明の画像処理装置と、該画像処理装置から出力される画像ファイルを印刷する印刷実行手段と、を備えることを要旨とする。
【００１４】
この本発明のプリンタでは、上述したいずれかの態様の本発明の画像処理装置を備えるから、本発明の画像処理装置が奏する効果、例えば、画像ファイルに対して画像処理を施す際の処理時間の短縮を図ることができる効果や画像処理をより効率的に行なうことができる効果などを奏することができる。
【００１５】
本発明の画像処理方法は、
画像ファイルに所定の画像処理を施して出力する画像処理方法であって、
所定の記憶媒体に記憶されている画像ファイルの中から指定された画像ファイルに所定の画像処理を施す指示がなされたときに、該所定の画像処理を施す際に用いられ該画像ファイルに基づいて収集可能な事前収集情報が該画像ファイルに予め付加されている場合には該付加されている事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力し、該事前収集情報が該画像ファイルに予め付加されていない場合には該画像ファイルに基づいて該事前収集情報を収集し該収集した事前収集情報を該画像ファイルに付加して前記所定の記憶媒体に記憶させると共に該事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力する、
ことを要旨とする。
【００１６】
この本発明の画像処理方法では、画像ファイルに所定の画像処理を施す指示がなされたときに、この画像ファイルに事前収集情報が付加されている場合にはこの付加されている事前収集情報を用いて所定の画像処理を施して出力し、画像ファイルに事前収集情報が付加されていない場合には画像ファイルに基づいて事前収集情報を収集して画像ファイルに付加すると共に収集した事前収集情報を用いて所定の画像処理を施して出力する。したがって、画像処理を一度施した画像ファイルについては事前収集情報が付加され、この付加された事前収集情報を用いて次回の画像処理を施すことができる。この結果、事前収集情報を収集する処理を繰り返し行なう必要がないから、画像ファイルに対して画像処理を施す際の処理時間の短縮を図ることができると共に画像処理をより効率的に行なうことができる。
【００１７】
本発明の画像処理用プログラムは、
画像ファイルに所定の画像処理を施して出力する画像処理用プログラムであって、
所定の記憶媒体に記憶されている画像ファイルの中から指定された画像ファイルに所定の画像処理を施す指示がなされたときに、該所定の画像処理を施す際に用いられ該画像ファイルに基づいて収集可能な事前収集情報が該画像ファイルに予め付加されている場合には該付加されている事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力し、該事前収集情報が該画像ファイルに予め付加されていない場合には該画像ファイルに基づいて該事前収集情報を収集し該収集した事前収集情報を該画像ファイルに付加して前記所定の記憶媒体に記憶させると共に該事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力する画像処理モジュール、
を備えることを要旨とする。
【００１８】
この本発明の画像処理用プログラムでは、画像ファイルに所定の画像処理を施す指示がなされたときに、この画像ファイルに事前収集情報が付加されている場合にはこの付加されている事前収集情報を用いて所定の画像処理を施して出力し、画像ファイルに事前収集情報が付加されていない場合には画像ファイルに基づいて事前収集情報を収集して画像ファイルに付加すると共に収集した事前収集情報を用いて所定の画像処理を施して出力する。したがって、画像処理を一度施した画像ファイルについては事前収集情報が付加され、この付加された事前収集情報を用いて次回の画像処理を施すことができる。この結果、事前収集情報を収集する処理を繰り返し行なう必要がないから、画像ファイルに対して画像処理を施す際の処理時間の短縮を図ることができると共に画像処理をより効率的に行なうことができる。
【発明を実施するための最良の形態】
【００１９】
次に、本発明を実施するための最良の形態を実施例を用いて説明する。
【実施例１】
【００２０】
図１は、本発明の第１実施例としての画像処理装置を搭載したプリンタ２０の構成の概略を示す構成図である。第１実施例のプリンタ２０は、図示するように、装置全体を制御する制御部２１と、着脱可能なメモリカードなどの記憶媒体３０やデジタルスチルカメラ３１，パーソナルコンピュータ３２などとの接続を司るインタフェース部２２と、記憶媒体３０などから読み込んだ画像ファイルに対して各種の画像処理を施す画像処理部２３と、データを一時的に記憶するデータバッファ２４と、読み込んだ画像ファイルに色変換処理や二値化処理などを施して印刷データを生成する印刷データ生成部２５と、生成された印刷データを蓄積するイメージバッファ２６と、イメージバッファ２６に蓄積された印刷データに基づいて印刷を実行するプリンタエンジン２７とを備え、各色のインクを用紙に噴射して印刷を行なうインクジェットプリンタとして構成されている。画像処理部２３では、記憶媒体３０などに記憶されＪＰＥＧ方式などで圧縮された画像ファイルを復元する処理なども行なわれる。ＪＰＥＧ方式の画像ファイルは、ブロック分割や離散コサイン変換（以下、ＤＣＴと略す）演算，量子化処理，ハフマン符号化などの工程を経て圧縮されている。こうしたＪＰＥＧ方式の画像ファイルは一般的な画像ファイルであり、本発明の中核をなさないから、これ以上の詳細な説明は省略する。
【００２１】
次に、こうして構成されたプリンタ２０の動作、特に、記憶媒体３０などから読み込んだ画像ファイルを回転して印刷する際の動作について説明する。図２は、画像ファイルの回転を伴う印刷指示がなされたときに制御部２１や画像処理部２３，印刷データ生成部２５などにより実行される画像回転印刷処理の一例を示すフローチャートである。こうした印刷指示がなされるケースとしては、例えば、プリンタ２０の図示しない操作パネルなどを介して画像ファイルの回転を要する印刷レイアウトが設定されて印刷指示がなされたときなどを挙げることができる。また、第１実施例では、画像ファイルを右方向に９０°回転する場合を具体例として説明する。
【００２２】
画像回転印刷処理では、まず、図示するように、印刷指示に係る画像ファイルに、回転後の画像を上端から順に生成する処理に用いる起点復元用情報が付加されているか否かを判定する（ステップＳ１００）。図３は、起点復元用情報が付加されているＪＰＥＧ方式の画像ファイルのファイル構造の一例を示す説明図である。図示するように、ＪＰＥＧ方式の画像ファイルは複数のマーカーセグメントにより構成されており、各マーカーセグメントとして、画像の圧縮データの先頭を示すＳＯＩやアプリケーションマーカーセグメントとしてＥｘｉｆ情報などを格納するＡＰＰ１、量子化テーブルを定義するＤＱＴ、ハフマンテーブルを定義するＤＨＴ、フレームに関する各種パラメータを示すＳＯＦ、スキャンに関する各種パラメータを示すＳＯＳ、画像の圧縮データの終了を示すＥＯＩなどを備え、マーカーセグメントＥＯＩの直前に画像の圧縮データが格納されている。第１実施例では、マーカーセグメントＥＯＩの直後に起点復元用情報とこの起点復元用情報のデータサイズとを格納するものとした。起点復元用情報の詳細や起点復元用情報を格納する処理については後述する。したがって、ステップＳ１００では、マーカーセグメントＥＯＩの直後にデータが存在するか否かを判定することにより起点復元用情報が付加されているか否かを判定することができる。
【００２３】
そして、起点復元用情報が画像ファイルに付加されている場合には、起点復元用情報を画像ファイルから読み込んでデータバッファ２４にコピーし（ステップＳ１１０）、起点復元用情報が画像ファイルに付加されていない場合には、起点復元用情報を取得するための起点復元用情報取得処理を実行する（ステップＳ１２０）。ここで、画像回転印刷処理の説明を中断し、図４に例示する起点復元用情報取得処理について説明する。
【００２４】
起点復元用情報取得処理では、まず、図４に示すように、印刷指示に係る画像ファイルの１アクセス単位のデータを記憶媒体３０などから読み込み（ステップＳ３００）、読み込んだデータをハフマン解凍する処理を実行する（ステップＳ３１０）。ここで、アクセス単位とは、記憶媒体３０などの仕様に応じて予め定められているデータの読込単位であり、例えば、フラッシュメモリにおけるセクタなどが該当する。また、図５に例示するように、ＪＰＥＧ方式で圧縮された画像ファイルの各ブロックのデータサイズはアクセス単位とは必ずしも一致せず、各ブロック間のデータサイズも異なるから、１ブロックのデータが複数のアクセス単位に跨ることがある。
【００２５】
そして、１ブロック分のデータがハフマン解凍されるまでアクセス単位のデータを読み込んでハフマン解凍する処理を繰り返し実行し、１ブロック分のデータが解凍されると（ステップＳ３２０）、解凍されたデータ（ブロックの量子化ＤＣＴ係数）に対して逆量子化処理を実行する（ステップＳ３３０）。逆量子化処理を実行することにより、ブロックのＤＣＴ係数が取得される。ここで、ＪＰＥＧ方式の画像ファイルでは、量子化ＤＣＴ係数の量子化ＤＣ成分についてはブロック間の差分値がハフマン符号化されているから、ハフマン解凍により得られる量子化ＤＣ成分の差分値を累計することにより量子化ＤＣ成分が取得され、この量子化ＤＣ成分に逆量子化処理を施すことによりＤＣ成分が取得される。
【００２６】
次に、現在のブロックが起点ブロックであるか否かを判定する（ステップＳ３４０）。ここで、起点ブロックとは、画像ファイルを途中から復元する起点となるブロックであり、第１実施例では、画像を右方向に９０°回転したときに上端となる左端のブロックを起点ブロックとした（図６参照）。
【００２７】
そして、現在のブロックが起点ブロックである場合には、このブロックを起点として画像ファイルを復元するための起点復元用情報をデータバッファ２４に記憶する（ステップＳ３５０）。起点復元用情報は、具体的には、起点ブロックのデータが開始されるアクセス単位の物理的な位置を示すファイルポインタと、このアクセス単位から起点ブロックのデータをハフマン解凍するための解凍中間情報と、起点ブロックのＤＣ成分とにより構成される。図７は、解凍中間情報を概念的に説明するための説明図である。前述したように、各ブロックのデータサイズとアクセス単位とは必ずしも一致せず、各ブロック間のデータサイズも異なるから、起点ブロックのデータが開始されるアクセス単位には前のブロックのデータも含まれることになる。したがって、起点ブロックのデータをハフマン解凍するためには前のブロックのデータのハフマン解凍に関する情報（例えば、前のブロックのデータとしてハフマン解凍されたビット数など）が必要であり、こうした情報が解凍中間情報に該当する。
【００２８】
そして、現在のブロックが画像ファイルの最後のブロックでないときにはステップＳ３００に戻り（ステップＳ３６０）、次のブロックについてステップＳ３００〜Ｓ３５０の処理を繰り返し実行する。図８は、ステップＳ３００〜Ｓ３５０の処理を繰り返し実行した際の起点復元用情報の一例を示す説明図である。図示するように、第１実施例では起点ブロックとして画像の左端のブロックが設定されているから、左端のブロックについての起点復元用情報（ファイルポインタと解凍中間情報とＤＣ成分）が上のブロックから順に記憶されている。このように、画像ファイルを先頭から順に復元することにより、起点復元用情報を取得してデータバッファ２４に記憶するのである。
【００２９】
こうして画像ファイルの最後のブロックまでステップＳ３００〜Ｓ３５０の処理を繰り返し実行すると、データバッファ２４に記憶した起点復元用情報を画像ファイルに付加して（ステップＳ３７０）、この起点復元用情報取得処理を終了する。起点復元用情報を画像ファイルに付加する際には、前述したように、画像ファイルの最後部（マーカーセグメントＥＯＩの直後）に起点復元用情報とデータサイズとを格納することになる。
【００３０】
こうして起点復元用情報取得処理を実行したり画像ファイルに予め付加されている起点復元用情報を読み込むと、画像回転印刷処理では、次に、取得した起点復元用情報のうち最初の起点ブロックのファイルポインタを読み込み、読み込んだファイルポインタにより特定されるアクセス単位のデータを記憶媒体３０などから読み込んでハフマン解凍する（ステップＳ１３０，Ｓ１４０）。この際、起点復元用情報の解凍中間情報を用いることにより、アクセス単位のデータのうち起点ブロックのデータを解凍することができる。
【００３１】
そして、１ブロック分のデータを解凍すると（ステップＳ１５０）、逆量子化処理によりＤＣＴ係数を取得し（ステップＳ１６０）、取得したＤＣＴ係数に対して逆ＤＣＴ演算処理を施してブロックの画素情報を取得すると共に（ステップＳ１７０）、取得した画素情報の色空間を変換する色変換処理を実行する（ステップＳ１８０）。ここで、ＤＣＴ係数のＤＣ成分を取得する際には、起点復元用情報のＤＣ成分が読み込まれる。また、色変換処理は、ＪＰＥＧ方式の画像ファイルで用いられるＹＣＣ色空間をＲＧＢ色空間に変換する処理である。
【００３２】
次に、このブロックを右方向に９０°回転させてデータバッファ２４に出力する（ステップＳ１９０）。データバッファ２４に出力する際には、ブロック自体を回転させると共にブロックの位置が回転後の位置となるように（例えば、左上隅のブロックは右上隅となるように）出力される。
【００３３】
こうしてブロックを回転して出力すると、このブロックの起点復元用情報を次のブロック（右隣のブロック）の起点復元用情報に更新する（ステップＳ２００）。即ち、次のブロックのデータが開始されるアクセス単位のファイルポインタと、解凍中間情報と、ＤＣ成分とに更新する（図９参照）。ここでのＤＣ成分は、現在のブロックの量子化ＤＣ成分が格納される。従って、次のブロックを復元する際には、この量子化ＤＣ成分と次のブロックのデータをハフマン解凍して得られる差分値とを累計することにより次のブロックの量子化ＤＣ成分を取得することになる。
【００３４】
そして、データバッファ２４に出力される回転後のブロックが蓄積されてプリンタエンジン２７により印刷を実行する単位であるバンド単位となるまで、ステップＳ１３０〜Ｓ２００の処理を繰り返し実行する（ステップＳ２１０）。図１０は、ステップＳ１３０〜Ｓ２００の処理が繰り返し実行される様子を示す説明図である。図示するように、起点ブロックとしての左端のブロックを上から順に対象としてステップＳ１３０〜Ｓ２００の処理を繰り返し実行することにより回転後の画像の上端のブロックが出力され、左端のブロックを対象とした処理が終了すると、左端のブロックの右隣の列のブロックを上から順に対象としてステップＳ１３０〜Ｓ２００の処理を繰り返し実行する。そして、図１１に示すように、蓄積された回転後のブロックがバンド単位となると、このバンド単位のデータに基づいて印刷データ生成部２５により印刷データを生成してイメージバッファ２６に出力し、この印刷データに基づいてプリンタエンジン２７により印刷を実行する（ステップＳ２２０）。そして、画像ファイルの最後のブロックまで到達したときに（ステップＳ２３０）、この画像回転印刷処理を終了するのである。
【００３５】
以上説明した第１実施例のプリンタ２０によれば、画像ファイルの回転を伴う印刷指示がなされたときに、この画像ファイルに起点復元用情報が付加されている場合にはこの付加されている起点復元用情報を読み込み、画像ファイルに起点復元用情報が付加されていない場合には起点復元用情報取得処理を実行することにより起点復元用情報を取得すると共に画像ファイルに付加し、こうして取得した起点復元用情報を用いて画像ファイルの回転後の画像を上端から順に生成して印刷することができる。したがって、起点復元用情報を一度取得した画像ファイル（一度、画像回転印刷処理を実行した画像ファイル）については起点復元用情報が付加され、この付加された起点復元用情報を用いて次回の印刷を行なうことができる。この結果、起点復元用情報を取得する処理を繰り返し行なう必要がないから、画像ファイルに対して画像処理を施す際の処理時間の短縮を図ることができると共に画像処理をより効率的に行なうことができる。
【００３６】
また、第１実施例のプリンタ２０によれば、起点復元用情報を画像ファイルに付加する際に、画像の圧縮データよりも後側の領域（マーカーセグメントＥＯＩの直後）に格納するから、画像の圧縮データの物理的な位置を変更することなく起点復元用情報を付加することができる。即ち、起点復元用情報を付加することによりファイルポインタなどの情報がずれてしまうのを防止することができる。さらに、起点復元用情報をデータサイズと共に画像ファイルの最後部に格納するから、起点復元用情報が付加された画像ファイルに対応していないプリンタであっても、付加された情報を無視することにより画像ファイルをより容易に取り扱うことができる。
【００３７】
ここで、第１実施例のプリンタ２０では、記憶媒体３０などが所定の記憶媒体に相当し、画像回転印刷処理のステップＳ１００〜Ｓ２１０や起点復元用情報取得処理を実行する制御部２１や画像処理部２３が画像処理手段に相当し、画像回転印刷処理のステップＳ２２０の処理を実行する制御部２１や印刷データ生成部２５，プリンタエンジン２７が印刷実行手段に相当する。
【００３８】
第１実施例のプリンタ２０では、起点復元用情報を画像ファイルの最後部に格納するものとしたが、画像の圧縮データよりも後側の領域であれば、必ずしも最後部に格納する必要はない。また、画像の圧縮データよりも前側の領域に格納するものとしても差し支えない。この場合、例えば、予め画像の圧縮データよりも前側の領域に起点復元用情報を格納する領域を確保するなど、起点復元用情報のファイルポインタなどの情報がずれてしまうのを防止するようにしておけばよい。
【００３９】
第１実施例のプリンタ２０では、右方向に９０°回転する場合を具体例として説明したが、これに限られないのは勿論である。例えば、１８０°回転する場合には、起点ブロックとしての左端のブロックを下から順に復元することにより回転後の画像の上端のブロックから順に出力することができる。さらに、左方向に９０°回転する場合には、図１２に例示するように、起点ブロックとして、左端のブロックに加え、画像ファイルの略中央に位置する列を起点ブロックとし、回転後の画像の上半分については略中央に位置する列の起点ブロックを起点として復元し、回転後の画像の下半分については左端の起点ブロックを起点として復元するものとすればよい。
【実施例２】
【００４０】
次に、本発明の第２実施例としてのプリンタ２０Ｂについて説明する。第２実施例のプリンタ２０Ｂは、第１実施例のプリンタ２０と同一のハードウェア構成をしている。このため、第２実施例のプリンタ２０Ｂのハードウェア構成については、第１実施例のプリンタ２０のハードウェア構成と同一の符号を付し、その詳細な説明は省略する。
【００４１】
次に、こうして構成されたプリンタ２０Ｂの動作、特に、記憶媒体３０などから読み込んだ画像ファイルに対して自動補正処理を施して印刷する際の動作について説明する。図１３は、自動補正処理を伴う印刷指示がなされたときに制御部２１や画像処理部２３，印刷データ生成部２５などにより実行される自動補正印刷処理の一例を示すフローチャートである。こうした印刷指示がなされるケースとしては、例えば、プリンタ２０Ｂの図示しない操作パネルなどを介して自動補正処理を施す設定がなされて印刷が指示されたときなどを挙げることができる。
【００４２】
自動補正印刷処理では、まず、図示するように、印刷指示に係る画像ファイルに、画像ファイルの自動補正処理に用いる自動補正処理用パラメータが付加されているか否かを判定する（ステップＳ２１００）。図１４は、自動補正処理用パラメータが付加されているＪＰＥＧ方式の画像ファイルのファイル構造の一例を示す説明図である。前述したように、ＪＰＥＧ方式の画像ファイルは複数のマーカーセグメントにより構成されており、自動補正処理用パラメータは、第２実施例では、アプリケーションマーカーセグメントとしてのＡＰＰ１０に格納するものとした。自動補正処理用パラメータの詳細や自動補正処理用パラメータを格納する処理については後述する。したがって、ステップＳ２１００では、アプリケーションマーカーセグメントＡＰＰ１０が存在するか否かを判定することにより自動補正処理用パラメータが付加されているか否かを判定することができる。
【００４３】
そして、自動補正処理用パラメータが画像ファイルに付加されている場合には、自動補正処理用パラメータを画像ファイルから読み込んでデータバッファ２４にコピーし（ステップＳ２１１０）、自動補正処理用パラメータが画像ファイルに付加されていない場合には、自動補正処理用パラメータを取得するための補正用パラメータ取得処理を実行する（ステップＳ２１２０）。ここで、自動補正印刷処理の説明を中断し、図１５に例示する補正用パラメータ取得処理について説明する。
【００４４】
補正用パラメータ取得処理では、まず、図１５に示すように、図３に例示した第１実施例の起点復元用情報取得処理と同様に、印刷指示に係る画像ファイルの１アクセス単位のデータを記憶媒体３０などから読み込んでハフマン解凍し（ステップＳ２３００，Ｓ２３１０）、１ブロック分のデータが解凍されると（ステップＳ２３２０）、解凍されたデータに対して逆量子化処理を実行する（ステップＳ２３３０）。
【００４５】
そして、逆量子化処理により取得したＤＣＴ係数に対して逆ＤＣＴ演算処理を施してブロックの画素情報を取得すると共に（ステップＳ２３５２）、取得した画素情報の色空間をＲＧＢ色空間に変換する色変換処理を実行し（ステップＳ２３５４）、ＲＧＢ色空間に変換された画素情報が得られると、画像ファイル全体のＲＧＢ値の分布を示すヒストグラムを累計してデータバッファ２４に記憶する（ステップＳ２３５６）。なお、ヒストグラムを累計する対象とする画素は、適当なルールでサンプリングした画素としてもよい。
【００４６】
次に、現在のブロックの画素から人物の顔などのオブジェクト領域を抽出してデータバッファ２４に記憶する（ステップＳ２３５８）。オブジェクト領域の抽出は、第２実施例では、現在のブロックの画素のうち肌色の画素からなる肌色領域を抽出するものとした。肌色領域の抽出は、肌色に相当するＲＧＢ値の範囲を予め定めておき、このＲＧＢ値の範囲内の画素を抽出することにより行なわれる。
【００４７】
そして、現在のブロックが画像ファイルの最後のブロックでないときにはステップＳ２３００に戻り（ステップＳ２３６０）、次のブロックについてステップＳ２３００〜Ｓ２３５８の処理を繰り返し実行する。このように、画像ファイルを先頭から順に復元することにより、ＲＧＢ値のヒストグラムを取得すると共にオブジェクト領域を抽出してデータバッファ２４に記憶するのである。
【００４８】
こうして画像ファイルの最後のブロックまでステップＳ２３００〜Ｓ２３５８の処理を繰り返し実行すると、次に、ステップＳ２３５８で抽出したオブジェクト領域に基づいて画像内容が人物画像であるか風景画像であるかを判定するオブジェクト認識処理を実行する（ステップＳ２３６２）。オブジェクト認識処理は、各種のルールを適用することができ、第２実施例では、画像全体に対するオブジェクト領域の配置（例えば、上辺や左右辺に接しているか否か）やオブジェクト領域内に両目や口に相当する画素領域が存在するか否かなどに基づいて、人物画像か風景画像かの判定を行なうものとした。
【００４９】
こうしてオブジェクト認識処理により画像内容を判定すると、判定した画像内容や累計したＲＧＢ値のヒストグラムなどに基づいて画像ファイルに対して自動補正処理を施すための自動補正処理用パラメータを計算してデータバッファ２４に記憶する（ステップＳ２３６４）。自動補正処理用パラメータの計算は、各種のルールを適用して行なうことができる。第２実施例では、画像内容が人物画像であるときには、肌色がより良好な肌色となるように補正する肌色補正処理やソフトフォーカス処理、明度をやや明るめに補正する明度補正処理などを施すようにパラメータを計算し、画像内容が風景画像であるときには、新緑色がより良好な新緑色となるように補正する新緑色補正処理や彩度がより鮮やかとなるように補正する彩度補正処理などを施すようにパラメータを計算するものとした。なお、画像内容が人物画像であるか風景画像であるかに拘らず、ＲＧＢ値のヒストグラムに応じて各種の画像補正処理（コントラスト補正処理やγ補正処理など）を施すようなパラメータの計算も行なわれる。
【００５０】
そして、データバッファ２４に記憶した自動補正処理用パラメータを画像ファイルに付加して（ステップＳ２３７０）、この補正用パラメータ取得処理を終了する。自動補正処理用パラメータを画像ファイルに付加する際には、前述したように、画像ファイルのアプリケーションセグメントＡＰＰ１の直後に自動補正処理用パラメータを格納するためのアプリケーションセグメントＡＰＰ１０を作成して格納することになる。
【００５１】
こうして補正用パラメータ取得処理を実行したり画像ファイルに予め付加されている自動補正処理用パラメータを読み込むと、自動補正印刷処理では、次に、画像ファイルの先頭から１アクセス単位のデータを読み込んでハフマン解凍し（ステップＳ２１３０，Ｓ２１４０）、１ブロック分のデータが解凍されると（ステップＳ２１５０）、逆量子化処理や逆ＤＣＴ演算処理，色変換処理を実行する（ステップＳ２１６０〜Ｓ２１８０）。
【００５２】
続いて、取得した自動補正処理用パラメータに従ってこのブロックに対して自動補正処理を施して（ステップＳ２１８５）、データバッファ２４に出力する（ステップＳ２１９０）。自動補正処理を施す際には、具体的には、自動補正処理用パラメータに基づいて生成された画素情報の変換テーブルであるルックアップテーブルを用いて画素情報を変換する処理が行なわれる。
【００５３】
そして、データバッファ２４に出力されるブロックが蓄積されてプリンタエンジン２７により印刷を実行する単位であるバンド単位となるまで、ステップＳ２１３０〜Ｓ２１９０の処理を繰り返し実行し（ステップＳ２２１０）、蓄積されたブロックがバンド単位となると、このバンド単位のデータに基づいて印刷データ生成部２５により印刷データを生成してイメージバッファ２６に出力し、この印刷データに基づいてプリンタエンジン２７により印刷を実行する（ステップＳ２２２０）。そして、画像ファイルの最後のブロックまで到達したときに（ステップＳ２２３０）、この自動補正印刷処理を終了するのである。
【００５４】
以上説明した第２実施例のプリンタ２０Ｂによれば、画像ファイルの自動補正処理を伴う印刷指示がなされたときに、この画像ファイルに自動補正処理用パラメータが付加されている場合にはこの付加されている自動補正処理用パラメータを読み込み、画像ファイルに自動補正処理用パラメータが付加されていない場合には補正用パラメータ取得処理を実行することにより自動補正処理用パラメータを取得すると共に画像ファイルに付加し、こうして取得した自動補正処理用パラメータを用いて画像ファイルに自動補正処理を施して印刷することができる。したがって、自動補正処理用パラメータを一度取得した画像ファイル（一度、自動補正印刷処理を実行した画像ファイル）については自動補正処理用パラメータが付加され、この付加された自動補正処理用パラメータを用いて次回の印刷を行なうことができる。この結果、自動補正処理用パラメータを取得する処理を繰り返し行なう必要がないから、画像ファイルに対して画像処理を施す際の処理時間の短縮を図ることができると共に画像処理をより効率的に行なうことができる。
【００５５】
ここで、第２実施例のプリンタ２０Ｂでは、記憶媒体３０などが所定の記憶媒体に相当し、自動補正印刷処理のステップＳ２１００〜Ｓ２２１０や補正用パラメータ取得処理を実行する制御部２１や画像処理部２３が画像処理手段に相当し、自動補正印刷処理のステップＳ２２０の処理を実行する制御部２１や印刷データ生成部２５，プリンタエンジン２７が印刷実行手段に相当する。
【００５６】
第２実施例のプリンタ２０Ｂでは、自動補正処理用パラメータを格納するアプリケーションマーカーセグメントとしてのＡＰＰ１０を例示したが、その他のアプリケーションマーカーセグメントを用いても構わないのは勿論である。
【００５７】
第２実施例のプリンタ２０Ｂでは、自動補正処理に用いる自動補正処理用パラメータを画像ファイルに付加するものとしたが、自動補正処理に用いる情報であればよく、例えば、ＲＧＢ色空間に変換された画素情報やＲＧＢ値のヒストグラム、自動補正処理用パラメータに基づいて生成されるルックアップテーブルなどを画像ファイルに付加するものとしてもよい。
【００５８】
実施例のプリンタ２０，２０Ｂでは、ＪＰＥＧ方式で圧縮された画像ファイルを例に説明したが、その他の方式で圧縮された画像ファイルに適用することができるのは勿論である。
【００５９】
実施例のプリンタ２０，２０Ｂでは、起点復元用情報を画像ファイルの最後部にデータサイズと共に格納するものとし、自動補正処理用パラメータを画像ファイルのアプリケーションマーカーセグメントＡＰＰ１０に格納するものとしたが、起点復元用情報をアプリケーションマーカーセグメントＡＰＰ１０に格納するものとしたり、自動補正処理用パラメータを画像ファイルの最後部にデータサイズと共に格納するものとしてもよい。また、画像ファイルの一部として起点復元用情報や自動補正処理用パラメータを埋め込めばよいから、その他の手法でこれらの情報を埋め込むものとしてもよい。
【００６０】
実施例のプリンタ２０，２０Ｂでは、起点復元用情報を画像ファイルに付加するものとしたり自動補正処理用パラメータを画像ファイルに付加するものとしたが、起点復元用情報と自動補正処理用パラメータの両方を画像ファイルに付加するものとしてもよいのは勿論である。さらに、画像処理を施す際に用いられ画像ファイルに基づいて収集可能な情報であれば、その他の画像処理に用いる情報を画像ファイルに付加するものとしてもよい。
【００６１】
実施例のプリンタ２０，２０Ｂでは、起点復元用情報や自動補正処理用パラメータを画像ファイルの最後部やアプリケーションマーカーセグメントＡＰＰ１０に格納するものとしたが、必ずしも画像ファイルの一部として埋め込む必要はない。例えば、起点復元用情報や自動補正処理用パラメータを適当な形式のファイルとして画像ファイルとリンクさせて記憶媒体３０などに記憶するものとしてもよい。この場合、例えば、起点復元用情報や自動補正処理用パラメータのファイルおよび画像ファイルのファイル名を拡張子のみ異なるものとすることによりリンクさせればよい。
【００６２】
実施例では、起点復元用情報や自動補正処理用パラメータを画像ファイルに付加する本発明をプリンタ２０，２０Ｂの形態として説明したが、こうした画像処理を施す画像処理装置の形態としてもよい。また、こうした画像処理方法の形態としたり画像処理用プログラムの形態とすることもできる。
【００６３】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。
【図面の簡単な説明】
【００６４】
【図１】本発明の画像処理装置を搭載したプリンタ２０の構成の概略を示す構成図。
【図２】画像回転印刷処理の一例を示すフローチャート。
【図３】起点復元用情報が付加された画像ファイルの構造の一例を示す説明図。
【図４】起点復元用情報取得処理の一例を示すフローチャート。
【図５】画像ファイルのブロックとアクセス単位との関係を示す説明図。
【図６】起点ブロックの一例を示す説明図。
【図７】解凍中間情報を概念的に説明するための説明図。
【図８】起点復元用情報の一例を示す説明図。
【図９】起点復元用情報を更新する様子の一例を示す説明図。
【図１０】ステップＳ１３０〜Ｓ２００の処理が実行される様子を示す説明図。
【図１１】蓄積された回転後のブロックがバンド単位となる様子を示す説明図。
【図１２】変形例の起点ブロックの一例を示す説明図。
【図１３】自動補正印刷処理の一例を示すフローチャート。
【図１４】自動補正処理用パラメータが付加されたファイル構造を示す説明図。
【図１５】補正用パラメータ取得処理の一例を示すフローチャート。
【符号の説明】
【００６５】
２０，２０Ｂ  プリンタ、２１  制御部、２２  インタフェース部、２３  画像処理部、２４  データバッファ、２５  印刷データ生成部、２６  イメージバッファ、２７  プリンタエンジン、３０  記憶媒体、３１  デジタルスチルカメラ、３２  パーソナルコンピュータ。
【図１】
2006101016.tif 000003
【図２】
2006101016.tif 000004
【図３】
2006101016.tif 000005
【図４】
2006101016.tif 000006
【図５】
2006101016.tif 000007
【図６】
2006101016.tif 000008
【図７】
2006101016.tif 000009
【図８】
2006101016.tif 000010
【図９】
2006101016.tif 000011
【図１０】
2006101016.tif 000012
【図１１】
2006101016.tif 000013
【図１２】
2006101016.tif 000014
【図１３】
2006101016.tif 000015
【図１４】
2006101016.tif 000016
【図１５】
2006101016.tif 000017