画像処理装置およびこれを備えるプリンタ、画像処理方法
【課題】 画像処理を施す際の処理時間の短縮を図る。
【解決手段】 画像ファイルに起点復元用情報が付加されている場合には付加されている起点復元用情報を読み込み(S100,S110)、起点復元用情報が付加されていない場合には起点復元用情報取得処理を実行することにより起点復元用情報を取得して画像ファイルに付加し(S120)、取得した起点復元用情報を用いて画像ファイルの回転後の画像を上端から順に生成して印刷する(S130〜S230)。したがって、起点復元用情報を一度取得した画像ファイル(一度、画像回転印刷処理を実行した画像ファイル)については起点復元用情報が付加され、この付加された起点復元用情報を用いて次回の印刷を行なうことができる。この結果、起点復元用情報を取得する処理を繰り返し行なう必要がないから、画像処理を施す際の処理時間の短縮を図ることができる。
【解決手段】 画像ファイルに起点復元用情報が付加されている場合には付加されている起点復元用情報を読み込み(S100,S110)、起点復元用情報が付加されていない場合には起点復元用情報取得処理を実行することにより起点復元用情報を取得して画像ファイルに付加し(S120)、取得した起点復元用情報を用いて画像ファイルの回転後の画像を上端から順に生成して印刷する(S130〜S230)。したがって、起点復元用情報を一度取得した画像ファイル(一度、画像回転印刷処理を実行した画像ファイル)については起点復元用情報が付加され、この付加された起点復元用情報を用いて次回の印刷を行なうことができる。この結果、起点復元用情報を取得する処理を繰り返し行なう必要がないから、画像処理を施す際の処理時間の短縮を図ることができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置およびこれを備えるプリンタ、画像処理方法、画像処理用プログラムに関する。
【背景技術】
【0002】
従来、この種の画像処理装置としては、入力された画像ファイルの中に人物の顔などのオブジェクトが含まれるか否かを検出し、この検出結果に基づいて画像内容を判定すると共に補正パラメータを設定して画像ファイルを補正するものが提案されている(例えば、特許文献1参照)。
【特許文献1】特開2004−236110号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上述の画像処理装置では、オブジェクトを検出する処理などは画像ファイル全体の画素情報などを取得して行なう必要があるから、処理時間の増大などを招いてしまう虞がある。一方、こうした画像処理装置をプリンタに適用する場合を考えると、こうした処理時間の増大は印刷開始までの待ち時間の増大に繋がるから、できるだけ処理時間の短縮や処理の効率化を図ることが望ましい。
【0004】
本発明の画像処理装置およびこれを備えるプリンタ、画像処理方法、画像処理用プログラムは、画像ファイルに対して画像処理を施す際の処理時間の短縮を図ることを目的の一つとする。また、本発明の画像処理装置およびこれを備えるプリンタ、画像処理方法、画像処理用プログラムは、画像処理をより効率的に行なうことを目的の一つとする。
【課題を解決するための手段】
【0005】
本発明の画像処理装置およびこれを備えるプリンタ、画像処理方法、画像処理用プログラムは、上述の目的の少なくとも一部を達成するために以下の手段を採った。
【0006】
本発明の画像処理装置は、
画像ファイルに所定の画像処理を施して出力する画像処理装置であって、
所定の記憶媒体に記憶されている画像ファイルの中から指定された画像ファイルに所定の画像処理を施す指示がなされたときに、該所定の画像処理を施す際に用いられ該画像ファイルに基づいて収集可能な事前収集情報が該画像ファイルに予め付加されている場合には該付加されている事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力し、該事前収集情報が該画像ファイルに予め付加されていない場合には該画像ファイルに基づいて該事前収集情報を収集し該収集した事前収集情報を該画像ファイルに付加して前記所定の記憶媒体に記憶させると共に該事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力する画像処理手段、
を備えることを要旨とする。
【0007】
この本発明の画像処理装置では、画像ファイルに所定の画像処理を施す指示がなされたときに、この画像ファイルに事前収集情報が付加されている場合にはこの付加されている事前収集情報を用いて所定の画像処理を施して出力し、画像ファイルに事前収集情報が付加されていない場合には画像ファイルに基づいて事前収集情報を収集して画像ファイルに付加すると共に収集した事前収集情報を用いて所定の画像処理を施して出力する。したがって、画像処理を一度施した画像ファイルについては事前収集情報が付加され、この付加された事前収集情報を用いて次回の画像処理を施すことができる。この結果、事前収集情報を収集する処理を繰り返し行なう必要がないから、画像ファイルに対して画像処理を施す際の処理時間の短縮を図ることができると共に画像処理をより効率的に行なうことができる。
【0008】
こうした本発明の画像処理装置において、前記画像処理手段は、前記画像ファイルの一部として前記事前収集情報を埋め込むことにより該事前収集情報を該画像ファイルに付加する手段であるものとすることもできる。この場合、前記画像処理手段は、前記画像ファイルを構成する各領域のうち画像データを格納する領域よりも後側の領域に前記事前収集情報を埋め込むことにより該事前収集情報を該画像ファイルに付加する手段であるものとすることもできる。こうすれば、事前収集情報を埋め込むことによる画像データへの影響(例えば、画像データの物理的な位置の変更など)を抑制することができる。
【0009】
この態様の本発明の画像処理装置において、前記画像処理手段は、前記画像ファイルの最後部に前記事前収集情報を埋め込むことにより該事前収集情報を該画像ファイルに付加する手段であるものとすることもできる。こうすれば、画像ファイルの最後部に事前収集情報を埋め込むことができる。この結果、事前収集情報が埋め込まれた画像ファイルに対応していない画像処理装置であっても、事前収集情報を無視することにより画像ファイルをより容易に取り扱うことができる。
【0010】
この態様の本発明の画像処理装置において、前記画像ファイルはJPEGフォーマットのファイルであり、前記画像処理手段はJPEGフォーマットにおけるアプリケーションマーカーセグメントに前記事前収集情報を埋め込むことにより該事前収集情報を前記画像ファイルに付加する手段であるものとすることもできる。こうすれば、アプリケーションマーカーセグメントを用いて事前収集情報を埋め込むことができる。
【0011】
また、本発明の画像処理装置において、前記画像処理手段は、前記事前収集情報を前記画像ファイルとリンクする所定形式の事前収集情報ファイルとして前記所定の記憶媒体に記憶させることにより該画像ファイルに該事前収集情報を付加する手段であるものとすることもできる。こうすれば、画像ファイルの内容を変更することなく事前収集情報を付加することができる。この場合、前記画像処理手段は前記事前収集情報ファイルのファイル名を前記画像ファイルのファイル名の少なくとも一部を用いて設定することにより該事前収集情報ファイルと該画像ファイルとをリンクする手段であるものとすることもできる。こうすれば、画像ファイルや事前収集情報ファイルのファイル名を用いてこれらをリンクすることができる。この場合、例えば、画像ファイルと事前収集情報ファイルのファイル名を拡張子のみ異なるものとしてもよい。
【0012】
さらに、本発明の画像処理装置において、前記画像ファイルは所定方式で圧縮されてなり、前記事前収集情報は前記画像ファイルを先頭から順に復元することにより収集可能な情報であるものとすることもできる。こうすれば、画像ファイルを先頭から順に復元する処理を繰り返し行なう必要がないから、処理時間の短縮や処理の効率化という効果がより顕著に表れる。この場合、前記所定の画像処理は前記画像ファイルを先頭から順に復元して画素情報を取得し該取得した画素情報に基づいて該画像ファイルの特性を示す特性情報を演算し該演算した特性情報に基づいて補正用パラメータを計算し該計算した補正用パラメータに基づいて画素情報を変換するルックアップテーブルを生成し該生成したルックアップテーブルに基づいて該画像ファイルの画素情報を変換することにより該画像ファイルを補正する画像自動補正処理であり、前記事前収集情報は前記画素情報、前記特性情報、前記補正用パラメータ、前記ルックアップテーブルのいずれかであるものとしたり、前記所定の画像処理は前記画像ファイルを先頭から順に復元して該画像ファイルの所定位置を起点として該画像ファイルを復元するための起点復元用情報を取得し該取得した起点復元用情報に基づいて前記所定位置を起点として該画像ファイルを復元することにより所定の方向および角度で回転後の画像を上端から順に生成する回転画像生成処理であり、前記事前収集情報は前記起点復元用情報であるものとしたりすることができる。こうすれば、画像ファイルに対して画像自動補正処理や回転画像生成処理を施す際の処理時間の短縮を図ることができると共にこうした画像処理をより効率的に行なうことができる。
【0013】
本発明のプリンタは、上述したいずれかの態様の本発明の画像処理装置と、該画像処理装置から出力される画像ファイルを印刷する印刷実行手段と、を備えることを要旨とする。
【0014】
この本発明のプリンタでは、上述したいずれかの態様の本発明の画像処理装置を備えるから、本発明の画像処理装置が奏する効果、例えば、画像ファイルに対して画像処理を施す際の処理時間の短縮を図ることができる効果や画像処理をより効率的に行なうことができる効果などを奏することができる。
【0015】
本発明の画像処理方法は、
画像ファイルに所定の画像処理を施して出力する画像処理方法であって、
所定の記憶媒体に記憶されている画像ファイルの中から指定された画像ファイルに所定の画像処理を施す指示がなされたときに、該所定の画像処理を施す際に用いられ該画像ファイルに基づいて収集可能な事前収集情報が該画像ファイルに予め付加されている場合には該付加されている事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力し、該事前収集情報が該画像ファイルに予め付加されていない場合には該画像ファイルに基づいて該事前収集情報を収集し該収集した事前収集情報を該画像ファイルに付加して前記所定の記憶媒体に記憶させると共に該事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力する、
ことを要旨とする。
【0016】
この本発明の画像処理方法では、画像ファイルに所定の画像処理を施す指示がなされたときに、この画像ファイルに事前収集情報が付加されている場合にはこの付加されている事前収集情報を用いて所定の画像処理を施して出力し、画像ファイルに事前収集情報が付加されていない場合には画像ファイルに基づいて事前収集情報を収集して画像ファイルに付加すると共に収集した事前収集情報を用いて所定の画像処理を施して出力する。したがって、画像処理を一度施した画像ファイルについては事前収集情報が付加され、この付加された事前収集情報を用いて次回の画像処理を施すことができる。この結果、事前収集情報を収集する処理を繰り返し行なう必要がないから、画像ファイルに対して画像処理を施す際の処理時間の短縮を図ることができると共に画像処理をより効率的に行なうことができる。
【0017】
本発明の画像処理用プログラムは、
画像ファイルに所定の画像処理を施して出力する画像処理用プログラムであって、
所定の記憶媒体に記憶されている画像ファイルの中から指定された画像ファイルに所定の画像処理を施す指示がなされたときに、該所定の画像処理を施す際に用いられ該画像ファイルに基づいて収集可能な事前収集情報が該画像ファイルに予め付加されている場合には該付加されている事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力し、該事前収集情報が該画像ファイルに予め付加されていない場合には該画像ファイルに基づいて該事前収集情報を収集し該収集した事前収集情報を該画像ファイルに付加して前記所定の記憶媒体に記憶させると共に該事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力する画像処理モジュール、
を備えることを要旨とする。
【0018】
この本発明の画像処理用プログラムでは、画像ファイルに所定の画像処理を施す指示がなされたときに、この画像ファイルに事前収集情報が付加されている場合にはこの付加されている事前収集情報を用いて所定の画像処理を施して出力し、画像ファイルに事前収集情報が付加されていない場合には画像ファイルに基づいて事前収集情報を収集して画像ファイルに付加すると共に収集した事前収集情報を用いて所定の画像処理を施して出力する。したがって、画像処理を一度施した画像ファイルについては事前収集情報が付加され、この付加された事前収集情報を用いて次回の画像処理を施すことができる。この結果、事前収集情報を収集する処理を繰り返し行なう必要がないから、画像ファイルに対して画像処理を施す際の処理時間の短縮を図ることができると共に画像処理をより効率的に行なうことができる。
【発明を実施するための最良の形態】
【0019】
次に、本発明を実施するための最良の形態を実施例を用いて説明する。
【実施例1】
【0020】
図1は、本発明の第1実施例としての画像処理装置を搭載したプリンタ20の構成の概略を示す構成図である。第1実施例のプリンタ20は、図示するように、装置全体を制御する制御部21と、着脱可能なメモリカードなどの記憶媒体30やデジタルスチルカメラ31,パーソナルコンピュータ32などとの接続を司るインタフェース部22と、記憶媒体30などから読み込んだ画像ファイルに対して各種の画像処理を施す画像処理部23と、データを一時的に記憶するデータバッファ24と、読み込んだ画像ファイルに色変換処理や二値化処理などを施して印刷データを生成する印刷データ生成部25と、生成された印刷データを蓄積するイメージバッファ26と、イメージバッファ26に蓄積された印刷データに基づいて印刷を実行するプリンタエンジン27とを備え、各色のインクを用紙に噴射して印刷を行なうインクジェットプリンタとして構成されている。画像処理部23では、記憶媒体30などに記憶されJPEG方式などで圧縮された画像ファイルを復元する処理なども行なわれる。JPEG方式の画像ファイルは、ブロック分割や離散コサイン変換(以下、DCTと略す)演算,量子化処理,ハフマン符号化などの工程を経て圧縮されている。こうしたJPEG方式の画像ファイルは一般的な画像ファイルであり、本発明の中核をなさないから、これ以上の詳細な説明は省略する。
【0021】
次に、こうして構成されたプリンタ20の動作、特に、記憶媒体30などから読み込んだ画像ファイルを回転して印刷する際の動作について説明する。図2は、画像ファイルの回転を伴う印刷指示がなされたときに制御部21や画像処理部23,印刷データ生成部25などにより実行される画像回転印刷処理の一例を示すフローチャートである。こうした印刷指示がなされるケースとしては、例えば、プリンタ20の図示しない操作パネルなどを介して画像ファイルの回転を要する印刷レイアウトが設定されて印刷指示がなされたときなどを挙げることができる。また、第1実施例では、画像ファイルを右方向に90°回転する場合を具体例として説明する。
【0022】
画像回転印刷処理では、まず、図示するように、印刷指示に係る画像ファイルに、回転後の画像を上端から順に生成する処理に用いる起点復元用情報が付加されているか否かを判定する(ステップS100)。図3は、起点復元用情報が付加されているJPEG方式の画像ファイルのファイル構造の一例を示す説明図である。図示するように、JPEG方式の画像ファイルは複数のマーカーセグメントにより構成されており、各マーカーセグメントとして、画像の圧縮データの先頭を示すSOIやアプリケーションマーカーセグメントとしてExif情報などを格納するAPP1、量子化テーブルを定義するDQT、ハフマンテーブルを定義するDHT、フレームに関する各種パラメータを示すSOF、スキャンに関する各種パラメータを示すSOS、画像の圧縮データの終了を示すEOIなどを備え、マーカーセグメントEOIの直前に画像の圧縮データが格納されている。第1実施例では、マーカーセグメントEOIの直後に起点復元用情報とこの起点復元用情報のデータサイズとを格納するものとした。起点復元用情報の詳細や起点復元用情報を格納する処理については後述する。したがって、ステップS100では、マーカーセグメントEOIの直後にデータが存在するか否かを判定することにより起点復元用情報が付加されているか否かを判定することができる。
【0023】
そして、起点復元用情報が画像ファイルに付加されている場合には、起点復元用情報を画像ファイルから読み込んでデータバッファ24にコピーし(ステップS110)、起点復元用情報が画像ファイルに付加されていない場合には、起点復元用情報を取得するための起点復元用情報取得処理を実行する(ステップS120)。ここで、画像回転印刷処理の説明を中断し、図4に例示する起点復元用情報取得処理について説明する。
【0024】
起点復元用情報取得処理では、まず、図4に示すように、印刷指示に係る画像ファイルの1アクセス単位のデータを記憶媒体30などから読み込み(ステップS300)、読み込んだデータをハフマン解凍する処理を実行する(ステップS310)。ここで、アクセス単位とは、記憶媒体30などの仕様に応じて予め定められているデータの読込単位であり、例えば、フラッシュメモリにおけるセクタなどが該当する。また、図5に例示するように、JPEG方式で圧縮された画像ファイルの各ブロックのデータサイズはアクセス単位とは必ずしも一致せず、各ブロック間のデータサイズも異なるから、1ブロックのデータが複数のアクセス単位に跨ることがある。
【0025】
そして、1ブロック分のデータがハフマン解凍されるまでアクセス単位のデータを読み込んでハフマン解凍する処理を繰り返し実行し、1ブロック分のデータが解凍されると(ステップS320)、解凍されたデータ(ブロックの量子化DCT係数)に対して逆量子化処理を実行する(ステップS330)。逆量子化処理を実行することにより、ブロックのDCT係数が取得される。ここで、JPEG方式の画像ファイルでは、量子化DCT係数の量子化DC成分についてはブロック間の差分値がハフマン符号化されているから、ハフマン解凍により得られる量子化DC成分の差分値を累計することにより量子化DC成分が取得され、この量子化DC成分に逆量子化処理を施すことによりDC成分が取得される。
【0026】
次に、現在のブロックが起点ブロックであるか否かを判定する(ステップS340)。ここで、起点ブロックとは、画像ファイルを途中から復元する起点となるブロックであり、第1実施例では、画像を右方向に90°回転したときに上端となる左端のブロックを起点ブロックとした(図6参照)。
【0027】
そして、現在のブロックが起点ブロックである場合には、このブロックを起点として画像ファイルを復元するための起点復元用情報をデータバッファ24に記憶する(ステップS350)。起点復元用情報は、具体的には、起点ブロックのデータが開始されるアクセス単位の物理的な位置を示すファイルポインタと、このアクセス単位から起点ブロックのデータをハフマン解凍するための解凍中間情報と、起点ブロックのDC成分とにより構成される。図7は、解凍中間情報を概念的に説明するための説明図である。前述したように、各ブロックのデータサイズとアクセス単位とは必ずしも一致せず、各ブロック間のデータサイズも異なるから、起点ブロックのデータが開始されるアクセス単位には前のブロックのデータも含まれることになる。したがって、起点ブロックのデータをハフマン解凍するためには前のブロックのデータのハフマン解凍に関する情報(例えば、前のブロックのデータとしてハフマン解凍されたビット数など)が必要であり、こうした情報が解凍中間情報に該当する。
【0028】
そして、現在のブロックが画像ファイルの最後のブロックでないときにはステップS300に戻り(ステップS360)、次のブロックについてステップS300〜S350の処理を繰り返し実行する。図8は、ステップS300〜S350の処理を繰り返し実行した際の起点復元用情報の一例を示す説明図である。図示するように、第1実施例では起点ブロックとして画像の左端のブロックが設定されているから、左端のブロックについての起点復元用情報(ファイルポインタと解凍中間情報とDC成分)が上のブロックから順に記憶されている。このように、画像ファイルを先頭から順に復元することにより、起点復元用情報を取得してデータバッファ24に記憶するのである。
【0029】
こうして画像ファイルの最後のブロックまでステップS300〜S350の処理を繰り返し実行すると、データバッファ24に記憶した起点復元用情報を画像ファイルに付加して(ステップS370)、この起点復元用情報取得処理を終了する。起点復元用情報を画像ファイルに付加する際には、前述したように、画像ファイルの最後部(マーカーセグメントEOIの直後)に起点復元用情報とデータサイズとを格納することになる。
【0030】
こうして起点復元用情報取得処理を実行したり画像ファイルに予め付加されている起点復元用情報を読み込むと、画像回転印刷処理では、次に、取得した起点復元用情報のうち最初の起点ブロックのファイルポインタを読み込み、読み込んだファイルポインタにより特定されるアクセス単位のデータを記憶媒体30などから読み込んでハフマン解凍する(ステップS130,S140)。この際、起点復元用情報の解凍中間情報を用いることにより、アクセス単位のデータのうち起点ブロックのデータを解凍することができる。
【0031】
そして、1ブロック分のデータを解凍すると(ステップS150)、逆量子化処理によりDCT係数を取得し(ステップS160)、取得したDCT係数に対して逆DCT演算処理を施してブロックの画素情報を取得すると共に(ステップS170)、取得した画素情報の色空間を変換する色変換処理を実行する(ステップS180)。ここで、DCT係数のDC成分を取得する際には、起点復元用情報のDC成分が読み込まれる。また、色変換処理は、JPEG方式の画像ファイルで用いられるYCC色空間をRGB色空間に変換する処理である。
【0032】
次に、このブロックを右方向に90°回転させてデータバッファ24に出力する(ステップS190)。データバッファ24に出力する際には、ブロック自体を回転させると共にブロックの位置が回転後の位置となるように(例えば、左上隅のブロックは右上隅となるように)出力される。
【0033】
こうしてブロックを回転して出力すると、このブロックの起点復元用情報を次のブロック(右隣のブロック)の起点復元用情報に更新する(ステップS200)。即ち、次のブロックのデータが開始されるアクセス単位のファイルポインタと、解凍中間情報と、DC成分とに更新する(図9参照)。ここでのDC成分は、現在のブロックの量子化DC成分が格納される。従って、次のブロックを復元する際には、この量子化DC成分と次のブロックのデータをハフマン解凍して得られる差分値とを累計することにより次のブロックの量子化DC成分を取得することになる。
【0034】
そして、データバッファ24に出力される回転後のブロックが蓄積されてプリンタエンジン27により印刷を実行する単位であるバンド単位となるまで、ステップS130〜S200の処理を繰り返し実行する(ステップS210)。図10は、ステップS130〜S200の処理が繰り返し実行される様子を示す説明図である。図示するように、起点ブロックとしての左端のブロックを上から順に対象としてステップS130〜S200の処理を繰り返し実行することにより回転後の画像の上端のブロックが出力され、左端のブロックを対象とした処理が終了すると、左端のブロックの右隣の列のブロックを上から順に対象としてステップS130〜S200の処理を繰り返し実行する。そして、図11に示すように、蓄積された回転後のブロックがバンド単位となると、このバンド単位のデータに基づいて印刷データ生成部25により印刷データを生成してイメージバッファ26に出力し、この印刷データに基づいてプリンタエンジン27により印刷を実行する(ステップS220)。そして、画像ファイルの最後のブロックまで到達したときに(ステップS230)、この画像回転印刷処理を終了するのである。
【0035】
以上説明した第1実施例のプリンタ20によれば、画像ファイルの回転を伴う印刷指示がなされたときに、この画像ファイルに起点復元用情報が付加されている場合にはこの付加されている起点復元用情報を読み込み、画像ファイルに起点復元用情報が付加されていない場合には起点復元用情報取得処理を実行することにより起点復元用情報を取得すると共に画像ファイルに付加し、こうして取得した起点復元用情報を用いて画像ファイルの回転後の画像を上端から順に生成して印刷することができる。したがって、起点復元用情報を一度取得した画像ファイル(一度、画像回転印刷処理を実行した画像ファイル)については起点復元用情報が付加され、この付加された起点復元用情報を用いて次回の印刷を行なうことができる。この結果、起点復元用情報を取得する処理を繰り返し行なう必要がないから、画像ファイルに対して画像処理を施す際の処理時間の短縮を図ることができると共に画像処理をより効率的に行なうことができる。
【0036】
また、第1実施例のプリンタ20によれば、起点復元用情報を画像ファイルに付加する際に、画像の圧縮データよりも後側の領域(マーカーセグメントEOIの直後)に格納するから、画像の圧縮データの物理的な位置を変更することなく起点復元用情報を付加することができる。即ち、起点復元用情報を付加することによりファイルポインタなどの情報がずれてしまうのを防止することができる。さらに、起点復元用情報をデータサイズと共に画像ファイルの最後部に格納するから、起点復元用情報が付加された画像ファイルに対応していないプリンタであっても、付加された情報を無視することにより画像ファイルをより容易に取り扱うことができる。
【0037】
ここで、第1実施例のプリンタ20では、記憶媒体30などが所定の記憶媒体に相当し、画像回転印刷処理のステップS100〜S210や起点復元用情報取得処理を実行する制御部21や画像処理部23が画像処理手段に相当し、画像回転印刷処理のステップS220の処理を実行する制御部21や印刷データ生成部25,プリンタエンジン27が印刷実行手段に相当する。
【0038】
第1実施例のプリンタ20では、起点復元用情報を画像ファイルの最後部に格納するものとしたが、画像の圧縮データよりも後側の領域であれば、必ずしも最後部に格納する必要はない。また、画像の圧縮データよりも前側の領域に格納するものとしても差し支えない。この場合、例えば、予め画像の圧縮データよりも前側の領域に起点復元用情報を格納する領域を確保するなど、起点復元用情報のファイルポインタなどの情報がずれてしまうのを防止するようにしておけばよい。
【0039】
第1実施例のプリンタ20では、右方向に90°回転する場合を具体例として説明したが、これに限られないのは勿論である。例えば、180°回転する場合には、起点ブロックとしての左端のブロックを下から順に復元することにより回転後の画像の上端のブロックから順に出力することができる。さらに、左方向に90°回転する場合には、図12に例示するように、起点ブロックとして、左端のブロックに加え、画像ファイルの略中央に位置する列を起点ブロックとし、回転後の画像の上半分については略中央に位置する列の起点ブロックを起点として復元し、回転後の画像の下半分については左端の起点ブロックを起点として復元するものとすればよい。
【実施例2】
【0040】
次に、本発明の第2実施例としてのプリンタ20Bについて説明する。第2実施例のプリンタ20Bは、第1実施例のプリンタ20と同一のハードウェア構成をしている。このため、第2実施例のプリンタ20Bのハードウェア構成については、第1実施例のプリンタ20のハードウェア構成と同一の符号を付し、その詳細な説明は省略する。
【0041】
次に、こうして構成されたプリンタ20Bの動作、特に、記憶媒体30などから読み込んだ画像ファイルに対して自動補正処理を施して印刷する際の動作について説明する。図13は、自動補正処理を伴う印刷指示がなされたときに制御部21や画像処理部23,印刷データ生成部25などにより実行される自動補正印刷処理の一例を示すフローチャートである。こうした印刷指示がなされるケースとしては、例えば、プリンタ20Bの図示しない操作パネルなどを介して自動補正処理を施す設定がなされて印刷が指示されたときなどを挙げることができる。
【0042】
自動補正印刷処理では、まず、図示するように、印刷指示に係る画像ファイルに、画像ファイルの自動補正処理に用いる自動補正処理用パラメータが付加されているか否かを判定する(ステップS2100)。図14は、自動補正処理用パラメータが付加されているJPEG方式の画像ファイルのファイル構造の一例を示す説明図である。前述したように、JPEG方式の画像ファイルは複数のマーカーセグメントにより構成されており、自動補正処理用パラメータは、第2実施例では、アプリケーションマーカーセグメントとしてのAPP10に格納するものとした。自動補正処理用パラメータの詳細や自動補正処理用パラメータを格納する処理については後述する。したがって、ステップS2100では、アプリケーションマーカーセグメントAPP10が存在するか否かを判定することにより自動補正処理用パラメータが付加されているか否かを判定することができる。
【0043】
そして、自動補正処理用パラメータが画像ファイルに付加されている場合には、自動補正処理用パラメータを画像ファイルから読み込んでデータバッファ24にコピーし(ステップS2110)、自動補正処理用パラメータが画像ファイルに付加されていない場合には、自動補正処理用パラメータを取得するための補正用パラメータ取得処理を実行する(ステップS2120)。ここで、自動補正印刷処理の説明を中断し、図15に例示する補正用パラメータ取得処理について説明する。
【0044】
補正用パラメータ取得処理では、まず、図15に示すように、図3に例示した第1実施例の起点復元用情報取得処理と同様に、印刷指示に係る画像ファイルの1アクセス単位のデータを記憶媒体30などから読み込んでハフマン解凍し(ステップS2300,S2310)、1ブロック分のデータが解凍されると(ステップS2320)、解凍されたデータに対して逆量子化処理を実行する(ステップS2330)。
【0045】
そして、逆量子化処理により取得したDCT係数に対して逆DCT演算処理を施してブロックの画素情報を取得すると共に(ステップS2352)、取得した画素情報の色空間をRGB色空間に変換する色変換処理を実行し(ステップS2354)、RGB色空間に変換された画素情報が得られると、画像ファイル全体のRGB値の分布を示すヒストグラムを累計してデータバッファ24に記憶する(ステップS2356)。なお、ヒストグラムを累計する対象とする画素は、適当なルールでサンプリングした画素としてもよい。
【0046】
次に、現在のブロックの画素から人物の顔などのオブジェクト領域を抽出してデータバッファ24に記憶する(ステップS2358)。オブジェクト領域の抽出は、第2実施例では、現在のブロックの画素のうち肌色の画素からなる肌色領域を抽出するものとした。肌色領域の抽出は、肌色に相当するRGB値の範囲を予め定めておき、このRGB値の範囲内の画素を抽出することにより行なわれる。
【0047】
そして、現在のブロックが画像ファイルの最後のブロックでないときにはステップS2300に戻り(ステップS2360)、次のブロックについてステップS2300〜S2358の処理を繰り返し実行する。このように、画像ファイルを先頭から順に復元することにより、RGB値のヒストグラムを取得すると共にオブジェクト領域を抽出してデータバッファ24に記憶するのである。
【0048】
こうして画像ファイルの最後のブロックまでステップS2300〜S2358の処理を繰り返し実行すると、次に、ステップS2358で抽出したオブジェクト領域に基づいて画像内容が人物画像であるか風景画像であるかを判定するオブジェクト認識処理を実行する(ステップS2362)。オブジェクト認識処理は、各種のルールを適用することができ、第2実施例では、画像全体に対するオブジェクト領域の配置(例えば、上辺や左右辺に接しているか否か)やオブジェクト領域内に両目や口に相当する画素領域が存在するか否かなどに基づいて、人物画像か風景画像かの判定を行なうものとした。
【0049】
こうしてオブジェクト認識処理により画像内容を判定すると、判定した画像内容や累計したRGB値のヒストグラムなどに基づいて画像ファイルに対して自動補正処理を施すための自動補正処理用パラメータを計算してデータバッファ24に記憶する(ステップS2364)。自動補正処理用パラメータの計算は、各種のルールを適用して行なうことができる。第2実施例では、画像内容が人物画像であるときには、肌色がより良好な肌色となるように補正する肌色補正処理やソフトフォーカス処理、明度をやや明るめに補正する明度補正処理などを施すようにパラメータを計算し、画像内容が風景画像であるときには、新緑色がより良好な新緑色となるように補正する新緑色補正処理や彩度がより鮮やかとなるように補正する彩度補正処理などを施すようにパラメータを計算するものとした。なお、画像内容が人物画像であるか風景画像であるかに拘らず、RGB値のヒストグラムに応じて各種の画像補正処理(コントラスト補正処理やγ補正処理など)を施すようなパラメータの計算も行なわれる。
【0050】
そして、データバッファ24に記憶した自動補正処理用パラメータを画像ファイルに付加して(ステップS2370)、この補正用パラメータ取得処理を終了する。自動補正処理用パラメータを画像ファイルに付加する際には、前述したように、画像ファイルのアプリケーションセグメントAPP1の直後に自動補正処理用パラメータを格納するためのアプリケーションセグメントAPP10を作成して格納することになる。
【0051】
こうして補正用パラメータ取得処理を実行したり画像ファイルに予め付加されている自動補正処理用パラメータを読み込むと、自動補正印刷処理では、次に、画像ファイルの先頭から1アクセス単位のデータを読み込んでハフマン解凍し(ステップS2130,S2140)、1ブロック分のデータが解凍されると(ステップS2150)、逆量子化処理や逆DCT演算処理,色変換処理を実行する(ステップS2160〜S2180)。
【0052】
続いて、取得した自動補正処理用パラメータに従ってこのブロックに対して自動補正処理を施して(ステップS2185)、データバッファ24に出力する(ステップS2190)。自動補正処理を施す際には、具体的には、自動補正処理用パラメータに基づいて生成された画素情報の変換テーブルであるルックアップテーブルを用いて画素情報を変換する処理が行なわれる。
【0053】
そして、データバッファ24に出力されるブロックが蓄積されてプリンタエンジン27により印刷を実行する単位であるバンド単位となるまで、ステップS2130〜S2190の処理を繰り返し実行し(ステップS2210)、蓄積されたブロックがバンド単位となると、このバンド単位のデータに基づいて印刷データ生成部25により印刷データを生成してイメージバッファ26に出力し、この印刷データに基づいてプリンタエンジン27により印刷を実行する(ステップS2220)。そして、画像ファイルの最後のブロックまで到達したときに(ステップS2230)、この自動補正印刷処理を終了するのである。
【0054】
以上説明した第2実施例のプリンタ20Bによれば、画像ファイルの自動補正処理を伴う印刷指示がなされたときに、この画像ファイルに自動補正処理用パラメータが付加されている場合にはこの付加されている自動補正処理用パラメータを読み込み、画像ファイルに自動補正処理用パラメータが付加されていない場合には補正用パラメータ取得処理を実行することにより自動補正処理用パラメータを取得すると共に画像ファイルに付加し、こうして取得した自動補正処理用パラメータを用いて画像ファイルに自動補正処理を施して印刷することができる。したがって、自動補正処理用パラメータを一度取得した画像ファイル(一度、自動補正印刷処理を実行した画像ファイル)については自動補正処理用パラメータが付加され、この付加された自動補正処理用パラメータを用いて次回の印刷を行なうことができる。この結果、自動補正処理用パラメータを取得する処理を繰り返し行なう必要がないから、画像ファイルに対して画像処理を施す際の処理時間の短縮を図ることができると共に画像処理をより効率的に行なうことができる。
【0055】
ここで、第2実施例のプリンタ20Bでは、記憶媒体30などが所定の記憶媒体に相当し、自動補正印刷処理のステップS2100〜S2210や補正用パラメータ取得処理を実行する制御部21や画像処理部23が画像処理手段に相当し、自動補正印刷処理のステップS220の処理を実行する制御部21や印刷データ生成部25,プリンタエンジン27が印刷実行手段に相当する。
【0056】
第2実施例のプリンタ20Bでは、自動補正処理用パラメータを格納するアプリケーションマーカーセグメントとしてのAPP10を例示したが、その他のアプリケーションマーカーセグメントを用いても構わないのは勿論である。
【0057】
第2実施例のプリンタ20Bでは、自動補正処理に用いる自動補正処理用パラメータを画像ファイルに付加するものとしたが、自動補正処理に用いる情報であればよく、例えば、RGB色空間に変換された画素情報やRGB値のヒストグラム、自動補正処理用パラメータに基づいて生成されるルックアップテーブルなどを画像ファイルに付加するものとしてもよい。
【0058】
実施例のプリンタ20,20Bでは、JPEG方式で圧縮された画像ファイルを例に説明したが、その他の方式で圧縮された画像ファイルに適用することができるのは勿論である。
【0059】
実施例のプリンタ20,20Bでは、起点復元用情報を画像ファイルの最後部にデータサイズと共に格納するものとし、自動補正処理用パラメータを画像ファイルのアプリケーションマーカーセグメントAPP10に格納するものとしたが、起点復元用情報をアプリケーションマーカーセグメントAPP10に格納するものとしたり、自動補正処理用パラメータを画像ファイルの最後部にデータサイズと共に格納するものとしてもよい。また、画像ファイルの一部として起点復元用情報や自動補正処理用パラメータを埋め込めばよいから、その他の手法でこれらの情報を埋め込むものとしてもよい。
【0060】
実施例のプリンタ20,20Bでは、起点復元用情報を画像ファイルに付加するものとしたり自動補正処理用パラメータを画像ファイルに付加するものとしたが、起点復元用情報と自動補正処理用パラメータの両方を画像ファイルに付加するものとしてもよいのは勿論である。さらに、画像処理を施す際に用いられ画像ファイルに基づいて収集可能な情報であれば、その他の画像処理に用いる情報を画像ファイルに付加するものとしてもよい。
【0061】
実施例のプリンタ20,20Bでは、起点復元用情報や自動補正処理用パラメータを画像ファイルの最後部やアプリケーションマーカーセグメントAPP10に格納するものとしたが、必ずしも画像ファイルの一部として埋め込む必要はない。例えば、起点復元用情報や自動補正処理用パラメータを適当な形式のファイルとして画像ファイルとリンクさせて記憶媒体30などに記憶するものとしてもよい。この場合、例えば、起点復元用情報や自動補正処理用パラメータのファイルおよび画像ファイルのファイル名を拡張子のみ異なるものとすることによりリンクさせればよい。
【0062】
実施例では、起点復元用情報や自動補正処理用パラメータを画像ファイルに付加する本発明をプリンタ20,20Bの形態として説明したが、こうした画像処理を施す画像処理装置の形態としてもよい。また、こうした画像処理方法の形態としたり画像処理用プログラムの形態とすることもできる。
【0063】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。
【図面の簡単な説明】
【0064】
【図1】本発明の画像処理装置を搭載したプリンタ20の構成の概略を示す構成図。
【図2】画像回転印刷処理の一例を示すフローチャート。
【図3】起点復元用情報が付加された画像ファイルの構造の一例を示す説明図。
【図4】起点復元用情報取得処理の一例を示すフローチャート。
【図5】画像ファイルのブロックとアクセス単位との関係を示す説明図。
【図6】起点ブロックの一例を示す説明図。
【図7】解凍中間情報を概念的に説明するための説明図。
【図8】起点復元用情報の一例を示す説明図。
【図9】起点復元用情報を更新する様子の一例を示す説明図。
【図10】ステップS130〜S200の処理が実行される様子を示す説明図。
【図11】蓄積された回転後のブロックがバンド単位となる様子を示す説明図。
【図12】変形例の起点ブロックの一例を示す説明図。
【図13】自動補正印刷処理の一例を示すフローチャート。
【図14】自動補正処理用パラメータが付加されたファイル構造を示す説明図。
【図15】補正用パラメータ取得処理の一例を示すフローチャート。
【符号の説明】
【0065】
20,20B プリンタ、21 制御部、22 インタフェース部、23 画像処理部、24 データバッファ、25 印刷データ生成部、26 イメージバッファ、27 プリンタエンジン、30 記憶媒体、31 デジタルスチルカメラ、32 パーソナルコンピュータ。
【技術分野】
【0001】
本発明は、画像処理装置およびこれを備えるプリンタ、画像処理方法、画像処理用プログラムに関する。
【背景技術】
【0002】
従来、この種の画像処理装置としては、入力された画像ファイルの中に人物の顔などのオブジェクトが含まれるか否かを検出し、この検出結果に基づいて画像内容を判定すると共に補正パラメータを設定して画像ファイルを補正するものが提案されている(例えば、特許文献1参照)。
【特許文献1】特開2004−236110号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上述の画像処理装置では、オブジェクトを検出する処理などは画像ファイル全体の画素情報などを取得して行なう必要があるから、処理時間の増大などを招いてしまう虞がある。一方、こうした画像処理装置をプリンタに適用する場合を考えると、こうした処理時間の増大は印刷開始までの待ち時間の増大に繋がるから、できるだけ処理時間の短縮や処理の効率化を図ることが望ましい。
【0004】
本発明の画像処理装置およびこれを備えるプリンタ、画像処理方法、画像処理用プログラムは、画像ファイルに対して画像処理を施す際の処理時間の短縮を図ることを目的の一つとする。また、本発明の画像処理装置およびこれを備えるプリンタ、画像処理方法、画像処理用プログラムは、画像処理をより効率的に行なうことを目的の一つとする。
【課題を解決するための手段】
【0005】
本発明の画像処理装置およびこれを備えるプリンタ、画像処理方法、画像処理用プログラムは、上述の目的の少なくとも一部を達成するために以下の手段を採った。
【0006】
本発明の画像処理装置は、
画像ファイルに所定の画像処理を施して出力する画像処理装置であって、
所定の記憶媒体に記憶されている画像ファイルの中から指定された画像ファイルに所定の画像処理を施す指示がなされたときに、該所定の画像処理を施す際に用いられ該画像ファイルに基づいて収集可能な事前収集情報が該画像ファイルに予め付加されている場合には該付加されている事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力し、該事前収集情報が該画像ファイルに予め付加されていない場合には該画像ファイルに基づいて該事前収集情報を収集し該収集した事前収集情報を該画像ファイルに付加して前記所定の記憶媒体に記憶させると共に該事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力する画像処理手段、
を備えることを要旨とする。
【0007】
この本発明の画像処理装置では、画像ファイルに所定の画像処理を施す指示がなされたときに、この画像ファイルに事前収集情報が付加されている場合にはこの付加されている事前収集情報を用いて所定の画像処理を施して出力し、画像ファイルに事前収集情報が付加されていない場合には画像ファイルに基づいて事前収集情報を収集して画像ファイルに付加すると共に収集した事前収集情報を用いて所定の画像処理を施して出力する。したがって、画像処理を一度施した画像ファイルについては事前収集情報が付加され、この付加された事前収集情報を用いて次回の画像処理を施すことができる。この結果、事前収集情報を収集する処理を繰り返し行なう必要がないから、画像ファイルに対して画像処理を施す際の処理時間の短縮を図ることができると共に画像処理をより効率的に行なうことができる。
【0008】
こうした本発明の画像処理装置において、前記画像処理手段は、前記画像ファイルの一部として前記事前収集情報を埋め込むことにより該事前収集情報を該画像ファイルに付加する手段であるものとすることもできる。この場合、前記画像処理手段は、前記画像ファイルを構成する各領域のうち画像データを格納する領域よりも後側の領域に前記事前収集情報を埋め込むことにより該事前収集情報を該画像ファイルに付加する手段であるものとすることもできる。こうすれば、事前収集情報を埋め込むことによる画像データへの影響(例えば、画像データの物理的な位置の変更など)を抑制することができる。
【0009】
この態様の本発明の画像処理装置において、前記画像処理手段は、前記画像ファイルの最後部に前記事前収集情報を埋め込むことにより該事前収集情報を該画像ファイルに付加する手段であるものとすることもできる。こうすれば、画像ファイルの最後部に事前収集情報を埋め込むことができる。この結果、事前収集情報が埋め込まれた画像ファイルに対応していない画像処理装置であっても、事前収集情報を無視することにより画像ファイルをより容易に取り扱うことができる。
【0010】
この態様の本発明の画像処理装置において、前記画像ファイルはJPEGフォーマットのファイルであり、前記画像処理手段はJPEGフォーマットにおけるアプリケーションマーカーセグメントに前記事前収集情報を埋め込むことにより該事前収集情報を前記画像ファイルに付加する手段であるものとすることもできる。こうすれば、アプリケーションマーカーセグメントを用いて事前収集情報を埋め込むことができる。
【0011】
また、本発明の画像処理装置において、前記画像処理手段は、前記事前収集情報を前記画像ファイルとリンクする所定形式の事前収集情報ファイルとして前記所定の記憶媒体に記憶させることにより該画像ファイルに該事前収集情報を付加する手段であるものとすることもできる。こうすれば、画像ファイルの内容を変更することなく事前収集情報を付加することができる。この場合、前記画像処理手段は前記事前収集情報ファイルのファイル名を前記画像ファイルのファイル名の少なくとも一部を用いて設定することにより該事前収集情報ファイルと該画像ファイルとをリンクする手段であるものとすることもできる。こうすれば、画像ファイルや事前収集情報ファイルのファイル名を用いてこれらをリンクすることができる。この場合、例えば、画像ファイルと事前収集情報ファイルのファイル名を拡張子のみ異なるものとしてもよい。
【0012】
さらに、本発明の画像処理装置において、前記画像ファイルは所定方式で圧縮されてなり、前記事前収集情報は前記画像ファイルを先頭から順に復元することにより収集可能な情報であるものとすることもできる。こうすれば、画像ファイルを先頭から順に復元する処理を繰り返し行なう必要がないから、処理時間の短縮や処理の効率化という効果がより顕著に表れる。この場合、前記所定の画像処理は前記画像ファイルを先頭から順に復元して画素情報を取得し該取得した画素情報に基づいて該画像ファイルの特性を示す特性情報を演算し該演算した特性情報に基づいて補正用パラメータを計算し該計算した補正用パラメータに基づいて画素情報を変換するルックアップテーブルを生成し該生成したルックアップテーブルに基づいて該画像ファイルの画素情報を変換することにより該画像ファイルを補正する画像自動補正処理であり、前記事前収集情報は前記画素情報、前記特性情報、前記補正用パラメータ、前記ルックアップテーブルのいずれかであるものとしたり、前記所定の画像処理は前記画像ファイルを先頭から順に復元して該画像ファイルの所定位置を起点として該画像ファイルを復元するための起点復元用情報を取得し該取得した起点復元用情報に基づいて前記所定位置を起点として該画像ファイルを復元することにより所定の方向および角度で回転後の画像を上端から順に生成する回転画像生成処理であり、前記事前収集情報は前記起点復元用情報であるものとしたりすることができる。こうすれば、画像ファイルに対して画像自動補正処理や回転画像生成処理を施す際の処理時間の短縮を図ることができると共にこうした画像処理をより効率的に行なうことができる。
【0013】
本発明のプリンタは、上述したいずれかの態様の本発明の画像処理装置と、該画像処理装置から出力される画像ファイルを印刷する印刷実行手段と、を備えることを要旨とする。
【0014】
この本発明のプリンタでは、上述したいずれかの態様の本発明の画像処理装置を備えるから、本発明の画像処理装置が奏する効果、例えば、画像ファイルに対して画像処理を施す際の処理時間の短縮を図ることができる効果や画像処理をより効率的に行なうことができる効果などを奏することができる。
【0015】
本発明の画像処理方法は、
画像ファイルに所定の画像処理を施して出力する画像処理方法であって、
所定の記憶媒体に記憶されている画像ファイルの中から指定された画像ファイルに所定の画像処理を施す指示がなされたときに、該所定の画像処理を施す際に用いられ該画像ファイルに基づいて収集可能な事前収集情報が該画像ファイルに予め付加されている場合には該付加されている事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力し、該事前収集情報が該画像ファイルに予め付加されていない場合には該画像ファイルに基づいて該事前収集情報を収集し該収集した事前収集情報を該画像ファイルに付加して前記所定の記憶媒体に記憶させると共に該事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力する、
ことを要旨とする。
【0016】
この本発明の画像処理方法では、画像ファイルに所定の画像処理を施す指示がなされたときに、この画像ファイルに事前収集情報が付加されている場合にはこの付加されている事前収集情報を用いて所定の画像処理を施して出力し、画像ファイルに事前収集情報が付加されていない場合には画像ファイルに基づいて事前収集情報を収集して画像ファイルに付加すると共に収集した事前収集情報を用いて所定の画像処理を施して出力する。したがって、画像処理を一度施した画像ファイルについては事前収集情報が付加され、この付加された事前収集情報を用いて次回の画像処理を施すことができる。この結果、事前収集情報を収集する処理を繰り返し行なう必要がないから、画像ファイルに対して画像処理を施す際の処理時間の短縮を図ることができると共に画像処理をより効率的に行なうことができる。
【0017】
本発明の画像処理用プログラムは、
画像ファイルに所定の画像処理を施して出力する画像処理用プログラムであって、
所定の記憶媒体に記憶されている画像ファイルの中から指定された画像ファイルに所定の画像処理を施す指示がなされたときに、該所定の画像処理を施す際に用いられ該画像ファイルに基づいて収集可能な事前収集情報が該画像ファイルに予め付加されている場合には該付加されている事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力し、該事前収集情報が該画像ファイルに予め付加されていない場合には該画像ファイルに基づいて該事前収集情報を収集し該収集した事前収集情報を該画像ファイルに付加して前記所定の記憶媒体に記憶させると共に該事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力する画像処理モジュール、
を備えることを要旨とする。
【0018】
この本発明の画像処理用プログラムでは、画像ファイルに所定の画像処理を施す指示がなされたときに、この画像ファイルに事前収集情報が付加されている場合にはこの付加されている事前収集情報を用いて所定の画像処理を施して出力し、画像ファイルに事前収集情報が付加されていない場合には画像ファイルに基づいて事前収集情報を収集して画像ファイルに付加すると共に収集した事前収集情報を用いて所定の画像処理を施して出力する。したがって、画像処理を一度施した画像ファイルについては事前収集情報が付加され、この付加された事前収集情報を用いて次回の画像処理を施すことができる。この結果、事前収集情報を収集する処理を繰り返し行なう必要がないから、画像ファイルに対して画像処理を施す際の処理時間の短縮を図ることができると共に画像処理をより効率的に行なうことができる。
【発明を実施するための最良の形態】
【0019】
次に、本発明を実施するための最良の形態を実施例を用いて説明する。
【実施例1】
【0020】
図1は、本発明の第1実施例としての画像処理装置を搭載したプリンタ20の構成の概略を示す構成図である。第1実施例のプリンタ20は、図示するように、装置全体を制御する制御部21と、着脱可能なメモリカードなどの記憶媒体30やデジタルスチルカメラ31,パーソナルコンピュータ32などとの接続を司るインタフェース部22と、記憶媒体30などから読み込んだ画像ファイルに対して各種の画像処理を施す画像処理部23と、データを一時的に記憶するデータバッファ24と、読み込んだ画像ファイルに色変換処理や二値化処理などを施して印刷データを生成する印刷データ生成部25と、生成された印刷データを蓄積するイメージバッファ26と、イメージバッファ26に蓄積された印刷データに基づいて印刷を実行するプリンタエンジン27とを備え、各色のインクを用紙に噴射して印刷を行なうインクジェットプリンタとして構成されている。画像処理部23では、記憶媒体30などに記憶されJPEG方式などで圧縮された画像ファイルを復元する処理なども行なわれる。JPEG方式の画像ファイルは、ブロック分割や離散コサイン変換(以下、DCTと略す)演算,量子化処理,ハフマン符号化などの工程を経て圧縮されている。こうしたJPEG方式の画像ファイルは一般的な画像ファイルであり、本発明の中核をなさないから、これ以上の詳細な説明は省略する。
【0021】
次に、こうして構成されたプリンタ20の動作、特に、記憶媒体30などから読み込んだ画像ファイルを回転して印刷する際の動作について説明する。図2は、画像ファイルの回転を伴う印刷指示がなされたときに制御部21や画像処理部23,印刷データ生成部25などにより実行される画像回転印刷処理の一例を示すフローチャートである。こうした印刷指示がなされるケースとしては、例えば、プリンタ20の図示しない操作パネルなどを介して画像ファイルの回転を要する印刷レイアウトが設定されて印刷指示がなされたときなどを挙げることができる。また、第1実施例では、画像ファイルを右方向に90°回転する場合を具体例として説明する。
【0022】
画像回転印刷処理では、まず、図示するように、印刷指示に係る画像ファイルに、回転後の画像を上端から順に生成する処理に用いる起点復元用情報が付加されているか否かを判定する(ステップS100)。図3は、起点復元用情報が付加されているJPEG方式の画像ファイルのファイル構造の一例を示す説明図である。図示するように、JPEG方式の画像ファイルは複数のマーカーセグメントにより構成されており、各マーカーセグメントとして、画像の圧縮データの先頭を示すSOIやアプリケーションマーカーセグメントとしてExif情報などを格納するAPP1、量子化テーブルを定義するDQT、ハフマンテーブルを定義するDHT、フレームに関する各種パラメータを示すSOF、スキャンに関する各種パラメータを示すSOS、画像の圧縮データの終了を示すEOIなどを備え、マーカーセグメントEOIの直前に画像の圧縮データが格納されている。第1実施例では、マーカーセグメントEOIの直後に起点復元用情報とこの起点復元用情報のデータサイズとを格納するものとした。起点復元用情報の詳細や起点復元用情報を格納する処理については後述する。したがって、ステップS100では、マーカーセグメントEOIの直後にデータが存在するか否かを判定することにより起点復元用情報が付加されているか否かを判定することができる。
【0023】
そして、起点復元用情報が画像ファイルに付加されている場合には、起点復元用情報を画像ファイルから読み込んでデータバッファ24にコピーし(ステップS110)、起点復元用情報が画像ファイルに付加されていない場合には、起点復元用情報を取得するための起点復元用情報取得処理を実行する(ステップS120)。ここで、画像回転印刷処理の説明を中断し、図4に例示する起点復元用情報取得処理について説明する。
【0024】
起点復元用情報取得処理では、まず、図4に示すように、印刷指示に係る画像ファイルの1アクセス単位のデータを記憶媒体30などから読み込み(ステップS300)、読み込んだデータをハフマン解凍する処理を実行する(ステップS310)。ここで、アクセス単位とは、記憶媒体30などの仕様に応じて予め定められているデータの読込単位であり、例えば、フラッシュメモリにおけるセクタなどが該当する。また、図5に例示するように、JPEG方式で圧縮された画像ファイルの各ブロックのデータサイズはアクセス単位とは必ずしも一致せず、各ブロック間のデータサイズも異なるから、1ブロックのデータが複数のアクセス単位に跨ることがある。
【0025】
そして、1ブロック分のデータがハフマン解凍されるまでアクセス単位のデータを読み込んでハフマン解凍する処理を繰り返し実行し、1ブロック分のデータが解凍されると(ステップS320)、解凍されたデータ(ブロックの量子化DCT係数)に対して逆量子化処理を実行する(ステップS330)。逆量子化処理を実行することにより、ブロックのDCT係数が取得される。ここで、JPEG方式の画像ファイルでは、量子化DCT係数の量子化DC成分についてはブロック間の差分値がハフマン符号化されているから、ハフマン解凍により得られる量子化DC成分の差分値を累計することにより量子化DC成分が取得され、この量子化DC成分に逆量子化処理を施すことによりDC成分が取得される。
【0026】
次に、現在のブロックが起点ブロックであるか否かを判定する(ステップS340)。ここで、起点ブロックとは、画像ファイルを途中から復元する起点となるブロックであり、第1実施例では、画像を右方向に90°回転したときに上端となる左端のブロックを起点ブロックとした(図6参照)。
【0027】
そして、現在のブロックが起点ブロックである場合には、このブロックを起点として画像ファイルを復元するための起点復元用情報をデータバッファ24に記憶する(ステップS350)。起点復元用情報は、具体的には、起点ブロックのデータが開始されるアクセス単位の物理的な位置を示すファイルポインタと、このアクセス単位から起点ブロックのデータをハフマン解凍するための解凍中間情報と、起点ブロックのDC成分とにより構成される。図7は、解凍中間情報を概念的に説明するための説明図である。前述したように、各ブロックのデータサイズとアクセス単位とは必ずしも一致せず、各ブロック間のデータサイズも異なるから、起点ブロックのデータが開始されるアクセス単位には前のブロックのデータも含まれることになる。したがって、起点ブロックのデータをハフマン解凍するためには前のブロックのデータのハフマン解凍に関する情報(例えば、前のブロックのデータとしてハフマン解凍されたビット数など)が必要であり、こうした情報が解凍中間情報に該当する。
【0028】
そして、現在のブロックが画像ファイルの最後のブロックでないときにはステップS300に戻り(ステップS360)、次のブロックについてステップS300〜S350の処理を繰り返し実行する。図8は、ステップS300〜S350の処理を繰り返し実行した際の起点復元用情報の一例を示す説明図である。図示するように、第1実施例では起点ブロックとして画像の左端のブロックが設定されているから、左端のブロックについての起点復元用情報(ファイルポインタと解凍中間情報とDC成分)が上のブロックから順に記憶されている。このように、画像ファイルを先頭から順に復元することにより、起点復元用情報を取得してデータバッファ24に記憶するのである。
【0029】
こうして画像ファイルの最後のブロックまでステップS300〜S350の処理を繰り返し実行すると、データバッファ24に記憶した起点復元用情報を画像ファイルに付加して(ステップS370)、この起点復元用情報取得処理を終了する。起点復元用情報を画像ファイルに付加する際には、前述したように、画像ファイルの最後部(マーカーセグメントEOIの直後)に起点復元用情報とデータサイズとを格納することになる。
【0030】
こうして起点復元用情報取得処理を実行したり画像ファイルに予め付加されている起点復元用情報を読み込むと、画像回転印刷処理では、次に、取得した起点復元用情報のうち最初の起点ブロックのファイルポインタを読み込み、読み込んだファイルポインタにより特定されるアクセス単位のデータを記憶媒体30などから読み込んでハフマン解凍する(ステップS130,S140)。この際、起点復元用情報の解凍中間情報を用いることにより、アクセス単位のデータのうち起点ブロックのデータを解凍することができる。
【0031】
そして、1ブロック分のデータを解凍すると(ステップS150)、逆量子化処理によりDCT係数を取得し(ステップS160)、取得したDCT係数に対して逆DCT演算処理を施してブロックの画素情報を取得すると共に(ステップS170)、取得した画素情報の色空間を変換する色変換処理を実行する(ステップS180)。ここで、DCT係数のDC成分を取得する際には、起点復元用情報のDC成分が読み込まれる。また、色変換処理は、JPEG方式の画像ファイルで用いられるYCC色空間をRGB色空間に変換する処理である。
【0032】
次に、このブロックを右方向に90°回転させてデータバッファ24に出力する(ステップS190)。データバッファ24に出力する際には、ブロック自体を回転させると共にブロックの位置が回転後の位置となるように(例えば、左上隅のブロックは右上隅となるように)出力される。
【0033】
こうしてブロックを回転して出力すると、このブロックの起点復元用情報を次のブロック(右隣のブロック)の起点復元用情報に更新する(ステップS200)。即ち、次のブロックのデータが開始されるアクセス単位のファイルポインタと、解凍中間情報と、DC成分とに更新する(図9参照)。ここでのDC成分は、現在のブロックの量子化DC成分が格納される。従って、次のブロックを復元する際には、この量子化DC成分と次のブロックのデータをハフマン解凍して得られる差分値とを累計することにより次のブロックの量子化DC成分を取得することになる。
【0034】
そして、データバッファ24に出力される回転後のブロックが蓄積されてプリンタエンジン27により印刷を実行する単位であるバンド単位となるまで、ステップS130〜S200の処理を繰り返し実行する(ステップS210)。図10は、ステップS130〜S200の処理が繰り返し実行される様子を示す説明図である。図示するように、起点ブロックとしての左端のブロックを上から順に対象としてステップS130〜S200の処理を繰り返し実行することにより回転後の画像の上端のブロックが出力され、左端のブロックを対象とした処理が終了すると、左端のブロックの右隣の列のブロックを上から順に対象としてステップS130〜S200の処理を繰り返し実行する。そして、図11に示すように、蓄積された回転後のブロックがバンド単位となると、このバンド単位のデータに基づいて印刷データ生成部25により印刷データを生成してイメージバッファ26に出力し、この印刷データに基づいてプリンタエンジン27により印刷を実行する(ステップS220)。そして、画像ファイルの最後のブロックまで到達したときに(ステップS230)、この画像回転印刷処理を終了するのである。
【0035】
以上説明した第1実施例のプリンタ20によれば、画像ファイルの回転を伴う印刷指示がなされたときに、この画像ファイルに起点復元用情報が付加されている場合にはこの付加されている起点復元用情報を読み込み、画像ファイルに起点復元用情報が付加されていない場合には起点復元用情報取得処理を実行することにより起点復元用情報を取得すると共に画像ファイルに付加し、こうして取得した起点復元用情報を用いて画像ファイルの回転後の画像を上端から順に生成して印刷することができる。したがって、起点復元用情報を一度取得した画像ファイル(一度、画像回転印刷処理を実行した画像ファイル)については起点復元用情報が付加され、この付加された起点復元用情報を用いて次回の印刷を行なうことができる。この結果、起点復元用情報を取得する処理を繰り返し行なう必要がないから、画像ファイルに対して画像処理を施す際の処理時間の短縮を図ることができると共に画像処理をより効率的に行なうことができる。
【0036】
また、第1実施例のプリンタ20によれば、起点復元用情報を画像ファイルに付加する際に、画像の圧縮データよりも後側の領域(マーカーセグメントEOIの直後)に格納するから、画像の圧縮データの物理的な位置を変更することなく起点復元用情報を付加することができる。即ち、起点復元用情報を付加することによりファイルポインタなどの情報がずれてしまうのを防止することができる。さらに、起点復元用情報をデータサイズと共に画像ファイルの最後部に格納するから、起点復元用情報が付加された画像ファイルに対応していないプリンタであっても、付加された情報を無視することにより画像ファイルをより容易に取り扱うことができる。
【0037】
ここで、第1実施例のプリンタ20では、記憶媒体30などが所定の記憶媒体に相当し、画像回転印刷処理のステップS100〜S210や起点復元用情報取得処理を実行する制御部21や画像処理部23が画像処理手段に相当し、画像回転印刷処理のステップS220の処理を実行する制御部21や印刷データ生成部25,プリンタエンジン27が印刷実行手段に相当する。
【0038】
第1実施例のプリンタ20では、起点復元用情報を画像ファイルの最後部に格納するものとしたが、画像の圧縮データよりも後側の領域であれば、必ずしも最後部に格納する必要はない。また、画像の圧縮データよりも前側の領域に格納するものとしても差し支えない。この場合、例えば、予め画像の圧縮データよりも前側の領域に起点復元用情報を格納する領域を確保するなど、起点復元用情報のファイルポインタなどの情報がずれてしまうのを防止するようにしておけばよい。
【0039】
第1実施例のプリンタ20では、右方向に90°回転する場合を具体例として説明したが、これに限られないのは勿論である。例えば、180°回転する場合には、起点ブロックとしての左端のブロックを下から順に復元することにより回転後の画像の上端のブロックから順に出力することができる。さらに、左方向に90°回転する場合には、図12に例示するように、起点ブロックとして、左端のブロックに加え、画像ファイルの略中央に位置する列を起点ブロックとし、回転後の画像の上半分については略中央に位置する列の起点ブロックを起点として復元し、回転後の画像の下半分については左端の起点ブロックを起点として復元するものとすればよい。
【実施例2】
【0040】
次に、本発明の第2実施例としてのプリンタ20Bについて説明する。第2実施例のプリンタ20Bは、第1実施例のプリンタ20と同一のハードウェア構成をしている。このため、第2実施例のプリンタ20Bのハードウェア構成については、第1実施例のプリンタ20のハードウェア構成と同一の符号を付し、その詳細な説明は省略する。
【0041】
次に、こうして構成されたプリンタ20Bの動作、特に、記憶媒体30などから読み込んだ画像ファイルに対して自動補正処理を施して印刷する際の動作について説明する。図13は、自動補正処理を伴う印刷指示がなされたときに制御部21や画像処理部23,印刷データ生成部25などにより実行される自動補正印刷処理の一例を示すフローチャートである。こうした印刷指示がなされるケースとしては、例えば、プリンタ20Bの図示しない操作パネルなどを介して自動補正処理を施す設定がなされて印刷が指示されたときなどを挙げることができる。
【0042】
自動補正印刷処理では、まず、図示するように、印刷指示に係る画像ファイルに、画像ファイルの自動補正処理に用いる自動補正処理用パラメータが付加されているか否かを判定する(ステップS2100)。図14は、自動補正処理用パラメータが付加されているJPEG方式の画像ファイルのファイル構造の一例を示す説明図である。前述したように、JPEG方式の画像ファイルは複数のマーカーセグメントにより構成されており、自動補正処理用パラメータは、第2実施例では、アプリケーションマーカーセグメントとしてのAPP10に格納するものとした。自動補正処理用パラメータの詳細や自動補正処理用パラメータを格納する処理については後述する。したがって、ステップS2100では、アプリケーションマーカーセグメントAPP10が存在するか否かを判定することにより自動補正処理用パラメータが付加されているか否かを判定することができる。
【0043】
そして、自動補正処理用パラメータが画像ファイルに付加されている場合には、自動補正処理用パラメータを画像ファイルから読み込んでデータバッファ24にコピーし(ステップS2110)、自動補正処理用パラメータが画像ファイルに付加されていない場合には、自動補正処理用パラメータを取得するための補正用パラメータ取得処理を実行する(ステップS2120)。ここで、自動補正印刷処理の説明を中断し、図15に例示する補正用パラメータ取得処理について説明する。
【0044】
補正用パラメータ取得処理では、まず、図15に示すように、図3に例示した第1実施例の起点復元用情報取得処理と同様に、印刷指示に係る画像ファイルの1アクセス単位のデータを記憶媒体30などから読み込んでハフマン解凍し(ステップS2300,S2310)、1ブロック分のデータが解凍されると(ステップS2320)、解凍されたデータに対して逆量子化処理を実行する(ステップS2330)。
【0045】
そして、逆量子化処理により取得したDCT係数に対して逆DCT演算処理を施してブロックの画素情報を取得すると共に(ステップS2352)、取得した画素情報の色空間をRGB色空間に変換する色変換処理を実行し(ステップS2354)、RGB色空間に変換された画素情報が得られると、画像ファイル全体のRGB値の分布を示すヒストグラムを累計してデータバッファ24に記憶する(ステップS2356)。なお、ヒストグラムを累計する対象とする画素は、適当なルールでサンプリングした画素としてもよい。
【0046】
次に、現在のブロックの画素から人物の顔などのオブジェクト領域を抽出してデータバッファ24に記憶する(ステップS2358)。オブジェクト領域の抽出は、第2実施例では、現在のブロックの画素のうち肌色の画素からなる肌色領域を抽出するものとした。肌色領域の抽出は、肌色に相当するRGB値の範囲を予め定めておき、このRGB値の範囲内の画素を抽出することにより行なわれる。
【0047】
そして、現在のブロックが画像ファイルの最後のブロックでないときにはステップS2300に戻り(ステップS2360)、次のブロックについてステップS2300〜S2358の処理を繰り返し実行する。このように、画像ファイルを先頭から順に復元することにより、RGB値のヒストグラムを取得すると共にオブジェクト領域を抽出してデータバッファ24に記憶するのである。
【0048】
こうして画像ファイルの最後のブロックまでステップS2300〜S2358の処理を繰り返し実行すると、次に、ステップS2358で抽出したオブジェクト領域に基づいて画像内容が人物画像であるか風景画像であるかを判定するオブジェクト認識処理を実行する(ステップS2362)。オブジェクト認識処理は、各種のルールを適用することができ、第2実施例では、画像全体に対するオブジェクト領域の配置(例えば、上辺や左右辺に接しているか否か)やオブジェクト領域内に両目や口に相当する画素領域が存在するか否かなどに基づいて、人物画像か風景画像かの判定を行なうものとした。
【0049】
こうしてオブジェクト認識処理により画像内容を判定すると、判定した画像内容や累計したRGB値のヒストグラムなどに基づいて画像ファイルに対して自動補正処理を施すための自動補正処理用パラメータを計算してデータバッファ24に記憶する(ステップS2364)。自動補正処理用パラメータの計算は、各種のルールを適用して行なうことができる。第2実施例では、画像内容が人物画像であるときには、肌色がより良好な肌色となるように補正する肌色補正処理やソフトフォーカス処理、明度をやや明るめに補正する明度補正処理などを施すようにパラメータを計算し、画像内容が風景画像であるときには、新緑色がより良好な新緑色となるように補正する新緑色補正処理や彩度がより鮮やかとなるように補正する彩度補正処理などを施すようにパラメータを計算するものとした。なお、画像内容が人物画像であるか風景画像であるかに拘らず、RGB値のヒストグラムに応じて各種の画像補正処理(コントラスト補正処理やγ補正処理など)を施すようなパラメータの計算も行なわれる。
【0050】
そして、データバッファ24に記憶した自動補正処理用パラメータを画像ファイルに付加して(ステップS2370)、この補正用パラメータ取得処理を終了する。自動補正処理用パラメータを画像ファイルに付加する際には、前述したように、画像ファイルのアプリケーションセグメントAPP1の直後に自動補正処理用パラメータを格納するためのアプリケーションセグメントAPP10を作成して格納することになる。
【0051】
こうして補正用パラメータ取得処理を実行したり画像ファイルに予め付加されている自動補正処理用パラメータを読み込むと、自動補正印刷処理では、次に、画像ファイルの先頭から1アクセス単位のデータを読み込んでハフマン解凍し(ステップS2130,S2140)、1ブロック分のデータが解凍されると(ステップS2150)、逆量子化処理や逆DCT演算処理,色変換処理を実行する(ステップS2160〜S2180)。
【0052】
続いて、取得した自動補正処理用パラメータに従ってこのブロックに対して自動補正処理を施して(ステップS2185)、データバッファ24に出力する(ステップS2190)。自動補正処理を施す際には、具体的には、自動補正処理用パラメータに基づいて生成された画素情報の変換テーブルであるルックアップテーブルを用いて画素情報を変換する処理が行なわれる。
【0053】
そして、データバッファ24に出力されるブロックが蓄積されてプリンタエンジン27により印刷を実行する単位であるバンド単位となるまで、ステップS2130〜S2190の処理を繰り返し実行し(ステップS2210)、蓄積されたブロックがバンド単位となると、このバンド単位のデータに基づいて印刷データ生成部25により印刷データを生成してイメージバッファ26に出力し、この印刷データに基づいてプリンタエンジン27により印刷を実行する(ステップS2220)。そして、画像ファイルの最後のブロックまで到達したときに(ステップS2230)、この自動補正印刷処理を終了するのである。
【0054】
以上説明した第2実施例のプリンタ20Bによれば、画像ファイルの自動補正処理を伴う印刷指示がなされたときに、この画像ファイルに自動補正処理用パラメータが付加されている場合にはこの付加されている自動補正処理用パラメータを読み込み、画像ファイルに自動補正処理用パラメータが付加されていない場合には補正用パラメータ取得処理を実行することにより自動補正処理用パラメータを取得すると共に画像ファイルに付加し、こうして取得した自動補正処理用パラメータを用いて画像ファイルに自動補正処理を施して印刷することができる。したがって、自動補正処理用パラメータを一度取得した画像ファイル(一度、自動補正印刷処理を実行した画像ファイル)については自動補正処理用パラメータが付加され、この付加された自動補正処理用パラメータを用いて次回の印刷を行なうことができる。この結果、自動補正処理用パラメータを取得する処理を繰り返し行なう必要がないから、画像ファイルに対して画像処理を施す際の処理時間の短縮を図ることができると共に画像処理をより効率的に行なうことができる。
【0055】
ここで、第2実施例のプリンタ20Bでは、記憶媒体30などが所定の記憶媒体に相当し、自動補正印刷処理のステップS2100〜S2210や補正用パラメータ取得処理を実行する制御部21や画像処理部23が画像処理手段に相当し、自動補正印刷処理のステップS220の処理を実行する制御部21や印刷データ生成部25,プリンタエンジン27が印刷実行手段に相当する。
【0056】
第2実施例のプリンタ20Bでは、自動補正処理用パラメータを格納するアプリケーションマーカーセグメントとしてのAPP10を例示したが、その他のアプリケーションマーカーセグメントを用いても構わないのは勿論である。
【0057】
第2実施例のプリンタ20Bでは、自動補正処理に用いる自動補正処理用パラメータを画像ファイルに付加するものとしたが、自動補正処理に用いる情報であればよく、例えば、RGB色空間に変換された画素情報やRGB値のヒストグラム、自動補正処理用パラメータに基づいて生成されるルックアップテーブルなどを画像ファイルに付加するものとしてもよい。
【0058】
実施例のプリンタ20,20Bでは、JPEG方式で圧縮された画像ファイルを例に説明したが、その他の方式で圧縮された画像ファイルに適用することができるのは勿論である。
【0059】
実施例のプリンタ20,20Bでは、起点復元用情報を画像ファイルの最後部にデータサイズと共に格納するものとし、自動補正処理用パラメータを画像ファイルのアプリケーションマーカーセグメントAPP10に格納するものとしたが、起点復元用情報をアプリケーションマーカーセグメントAPP10に格納するものとしたり、自動補正処理用パラメータを画像ファイルの最後部にデータサイズと共に格納するものとしてもよい。また、画像ファイルの一部として起点復元用情報や自動補正処理用パラメータを埋め込めばよいから、その他の手法でこれらの情報を埋め込むものとしてもよい。
【0060】
実施例のプリンタ20,20Bでは、起点復元用情報を画像ファイルに付加するものとしたり自動補正処理用パラメータを画像ファイルに付加するものとしたが、起点復元用情報と自動補正処理用パラメータの両方を画像ファイルに付加するものとしてもよいのは勿論である。さらに、画像処理を施す際に用いられ画像ファイルに基づいて収集可能な情報であれば、その他の画像処理に用いる情報を画像ファイルに付加するものとしてもよい。
【0061】
実施例のプリンタ20,20Bでは、起点復元用情報や自動補正処理用パラメータを画像ファイルの最後部やアプリケーションマーカーセグメントAPP10に格納するものとしたが、必ずしも画像ファイルの一部として埋め込む必要はない。例えば、起点復元用情報や自動補正処理用パラメータを適当な形式のファイルとして画像ファイルとリンクさせて記憶媒体30などに記憶するものとしてもよい。この場合、例えば、起点復元用情報や自動補正処理用パラメータのファイルおよび画像ファイルのファイル名を拡張子のみ異なるものとすることによりリンクさせればよい。
【0062】
実施例では、起点復元用情報や自動補正処理用パラメータを画像ファイルに付加する本発明をプリンタ20,20Bの形態として説明したが、こうした画像処理を施す画像処理装置の形態としてもよい。また、こうした画像処理方法の形態としたり画像処理用プログラムの形態とすることもできる。
【0063】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。
【図面の簡単な説明】
【0064】
【図1】本発明の画像処理装置を搭載したプリンタ20の構成の概略を示す構成図。
【図2】画像回転印刷処理の一例を示すフローチャート。
【図3】起点復元用情報が付加された画像ファイルの構造の一例を示す説明図。
【図4】起点復元用情報取得処理の一例を示すフローチャート。
【図5】画像ファイルのブロックとアクセス単位との関係を示す説明図。
【図6】起点ブロックの一例を示す説明図。
【図7】解凍中間情報を概念的に説明するための説明図。
【図8】起点復元用情報の一例を示す説明図。
【図9】起点復元用情報を更新する様子の一例を示す説明図。
【図10】ステップS130〜S200の処理が実行される様子を示す説明図。
【図11】蓄積された回転後のブロックがバンド単位となる様子を示す説明図。
【図12】変形例の起点ブロックの一例を示す説明図。
【図13】自動補正印刷処理の一例を示すフローチャート。
【図14】自動補正処理用パラメータが付加されたファイル構造を示す説明図。
【図15】補正用パラメータ取得処理の一例を示すフローチャート。
【符号の説明】
【0065】
20,20B プリンタ、21 制御部、22 インタフェース部、23 画像処理部、24 データバッファ、25 印刷データ生成部、26 イメージバッファ、27 プリンタエンジン、30 記憶媒体、31 デジタルスチルカメラ、32 パーソナルコンピュータ。
【特許請求の範囲】
【請求項1】
画像ファイルに所定の画像処理を施して出力する画像処理装置であって、
所定の記憶媒体に記憶されている画像ファイルの中から指定された画像ファイルに所定の画像処理を施す指示がなされたときに、該所定の画像処理を施す際に用いられ該画像ファイルに基づいて収集可能な事前収集情報が該画像ファイルに予め付加されている場合には該付加されている事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力し、該事前収集情報が該画像ファイルに予め付加されていない場合には該画像ファイルに基づいて該事前収集情報を収集し該収集した事前収集情報を該画像ファイルに付加して前記所定の記憶媒体に記憶させると共に該事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力する画像処理手段、
を備える画像処理装置。
【請求項2】
前記画像処理手段は、前記画像ファイルの一部として前記事前収集情報を埋め込むことにより該事前収集情報を該画像ファイルに付加する手段である請求項1記載の画像処理装置。
【請求項3】
前記画像処理手段は、前記画像ファイルを構成する各領域のうち画像データを格納する領域よりも後側の領域に前記事前収集情報を埋め込むことにより該事前収集情報を該画像ファイルに付加する手段である請求項2記載の画像処理装置。
【請求項4】
前記画像処理手段は、前記画像ファイルの最後部に前記事前収集情報を埋め込むことにより該事前収集情報を該画像ファイルに付加する手段である請求項2または3記載の画像処理装置。
【請求項5】
請求項2ないし4いずれか記載の画像処理装置であって、
前記画像ファイルは、JPEGフォーマットのファイルであり、
前記画像処理手段は、JPEGフォーマットにおけるアプリケーションマーカーセグメントに前記事前収集情報を埋め込むことにより該事前収集情報を前記画像ファイルに付加する手段である、
画像処理装置。
【請求項6】
前記画像処理手段は、前記事前収集情報を前記画像ファイルとリンクする所定形式の事前収集情報ファイルとして前記所定の記憶媒体に記憶させることにより該画像ファイルに該事前収集情報を付加する手段である請求項1記載の画像処理装置。
【請求項7】
前記画像処理手段は、前記事前収集情報ファイルのファイル名を前記画像ファイルのファイル名の少なくとも一部を用いて設定することにより該事前収集情報ファイルと該画像ファイルとをリンクする手段である請求項6記載の画像処理装置。
【請求項8】
請求項1ないし7いずれか記載の画像処理装置であって、
前記画像ファイルは、所定方式で圧縮されてなり、
前記事前収集情報は、前記画像ファイルを先頭から順に復元することにより収集可能な情報である、
画像処理装置。
【請求項9】
請求項8記載の画像処理装置であって、
前記所定の画像処理は、前記画像ファイルを先頭から順に復元して画素情報を取得し、該取得した画素情報に基づいて該画像ファイルの特性を示す特性情報を演算し、該演算した特性情報に基づいて補正用パラメータを計算し、該計算した補正用パラメータに基づいて画素情報を変換するルックアップテーブルを生成し、該生成したルックアップテーブルに基づいて該画像ファイルの画素情報を変換することにより該画像ファイルを補正する画像自動補正処理であり、
前記事前収集情報は、前記画素情報、前記特性情報、前記補正用パラメータ、前記ルックアップテーブルのいずれかである、
画像処理装置。
【請求項10】
請求項8記載の画像処理装置であって、
前記所定の画像処理は、前記画像ファイルを先頭から順に復元して該画像ファイルの所定位置を起点として該画像ファイルを復元するための起点復元用情報を取得し、該取得した起点復元用情報に基づいて前記所定位置を起点として該画像ファイルを復元することにより所定の方向および角度で回転後の画像を上端から順に生成する回転画像生成処理であり、
前記事前収集情報は、前記起点復元用情報である、
画像処理装置。
【請求項11】
請求項1ないし10いずれか記載の画像処理装置と、
該画像処理装置から出力される画像ファイルを印刷する印刷実行手段と、
を備えるプリンタ。
【請求項12】
画像ファイルに所定の画像処理を施して出力する画像処理方法であって、
所定の記憶媒体に記憶されている画像ファイルの中から指定された画像ファイルに所定の画像処理を施す指示がなされたときに、該所定の画像処理を施す際に用いられ該画像ファイルに基づいて収集可能な事前収集情報が該画像ファイルに予め付加されている場合には該付加されている事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力し、該事前収集情報が該画像ファイルに予め付加されていない場合には該画像ファイルに基づいて該事前収集情報を収集し該収集した事前収集情報を該画像ファイルに付加して前記所定の記憶媒体に記憶させると共に該事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力する、
画像処理方法。
【請求項13】
画像ファイルに所定の画像処理を施して出力する画像処理用プログラムであって、
所定の記憶媒体に記憶されている画像ファイルの中から指定された画像ファイルに所定の画像処理を施す指示がなされたときに、該所定の画像処理を施す際に用いられ該画像ファイルに基づいて収集可能な事前収集情報が該画像ファイルに予め付加されている場合には該付加されている事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力し、該事前収集情報が該画像ファイルに予め付加されていない場合には該画像ファイルに基づいて該事前収集情報を収集し該収集した事前収集情報を該画像ファイルに付加して前記所定の記憶媒体に記憶させると共に該事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力する画像処理モジュール、
を備える画像処理用プログラム。
【請求項1】
画像ファイルに所定の画像処理を施して出力する画像処理装置であって、
所定の記憶媒体に記憶されている画像ファイルの中から指定された画像ファイルに所定の画像処理を施す指示がなされたときに、該所定の画像処理を施す際に用いられ該画像ファイルに基づいて収集可能な事前収集情報が該画像ファイルに予め付加されている場合には該付加されている事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力し、該事前収集情報が該画像ファイルに予め付加されていない場合には該画像ファイルに基づいて該事前収集情報を収集し該収集した事前収集情報を該画像ファイルに付加して前記所定の記憶媒体に記憶させると共に該事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力する画像処理手段、
を備える画像処理装置。
【請求項2】
前記画像処理手段は、前記画像ファイルの一部として前記事前収集情報を埋め込むことにより該事前収集情報を該画像ファイルに付加する手段である請求項1記載の画像処理装置。
【請求項3】
前記画像処理手段は、前記画像ファイルを構成する各領域のうち画像データを格納する領域よりも後側の領域に前記事前収集情報を埋め込むことにより該事前収集情報を該画像ファイルに付加する手段である請求項2記載の画像処理装置。
【請求項4】
前記画像処理手段は、前記画像ファイルの最後部に前記事前収集情報を埋め込むことにより該事前収集情報を該画像ファイルに付加する手段である請求項2または3記載の画像処理装置。
【請求項5】
請求項2ないし4いずれか記載の画像処理装置であって、
前記画像ファイルは、JPEGフォーマットのファイルであり、
前記画像処理手段は、JPEGフォーマットにおけるアプリケーションマーカーセグメントに前記事前収集情報を埋め込むことにより該事前収集情報を前記画像ファイルに付加する手段である、
画像処理装置。
【請求項6】
前記画像処理手段は、前記事前収集情報を前記画像ファイルとリンクする所定形式の事前収集情報ファイルとして前記所定の記憶媒体に記憶させることにより該画像ファイルに該事前収集情報を付加する手段である請求項1記載の画像処理装置。
【請求項7】
前記画像処理手段は、前記事前収集情報ファイルのファイル名を前記画像ファイルのファイル名の少なくとも一部を用いて設定することにより該事前収集情報ファイルと該画像ファイルとをリンクする手段である請求項6記載の画像処理装置。
【請求項8】
請求項1ないし7いずれか記載の画像処理装置であって、
前記画像ファイルは、所定方式で圧縮されてなり、
前記事前収集情報は、前記画像ファイルを先頭から順に復元することにより収集可能な情報である、
画像処理装置。
【請求項9】
請求項8記載の画像処理装置であって、
前記所定の画像処理は、前記画像ファイルを先頭から順に復元して画素情報を取得し、該取得した画素情報に基づいて該画像ファイルの特性を示す特性情報を演算し、該演算した特性情報に基づいて補正用パラメータを計算し、該計算した補正用パラメータに基づいて画素情報を変換するルックアップテーブルを生成し、該生成したルックアップテーブルに基づいて該画像ファイルの画素情報を変換することにより該画像ファイルを補正する画像自動補正処理であり、
前記事前収集情報は、前記画素情報、前記特性情報、前記補正用パラメータ、前記ルックアップテーブルのいずれかである、
画像処理装置。
【請求項10】
請求項8記載の画像処理装置であって、
前記所定の画像処理は、前記画像ファイルを先頭から順に復元して該画像ファイルの所定位置を起点として該画像ファイルを復元するための起点復元用情報を取得し、該取得した起点復元用情報に基づいて前記所定位置を起点として該画像ファイルを復元することにより所定の方向および角度で回転後の画像を上端から順に生成する回転画像生成処理であり、
前記事前収集情報は、前記起点復元用情報である、
画像処理装置。
【請求項11】
請求項1ないし10いずれか記載の画像処理装置と、
該画像処理装置から出力される画像ファイルを印刷する印刷実行手段と、
を備えるプリンタ。
【請求項12】
画像ファイルに所定の画像処理を施して出力する画像処理方法であって、
所定の記憶媒体に記憶されている画像ファイルの中から指定された画像ファイルに所定の画像処理を施す指示がなされたときに、該所定の画像処理を施す際に用いられ該画像ファイルに基づいて収集可能な事前収集情報が該画像ファイルに予め付加されている場合には該付加されている事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力し、該事前収集情報が該画像ファイルに予め付加されていない場合には該画像ファイルに基づいて該事前収集情報を収集し該収集した事前収集情報を該画像ファイルに付加して前記所定の記憶媒体に記憶させると共に該事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力する、
画像処理方法。
【請求項13】
画像ファイルに所定の画像処理を施して出力する画像処理用プログラムであって、
所定の記憶媒体に記憶されている画像ファイルの中から指定された画像ファイルに所定の画像処理を施す指示がなされたときに、該所定の画像処理を施す際に用いられ該画像ファイルに基づいて収集可能な事前収集情報が該画像ファイルに予め付加されている場合には該付加されている事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力し、該事前収集情報が該画像ファイルに予め付加されていない場合には該画像ファイルに基づいて該事前収集情報を収集し該収集した事前収集情報を該画像ファイルに付加して前記所定の記憶媒体に記憶させると共に該事前収集情報を用いて該画像ファイルに該所定の画像処理を施して出力する画像処理モジュール、
を備える画像処理用プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2006−101016(P2006−101016A)
【公開日】平成18年4月13日(2006.4.13)
【国際特許分類】
【出願番号】特願2004−282535(P2004−282535)
【出願日】平成16年9月28日(2004.9.28)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成18年4月13日(2006.4.13)
【国際特許分類】
【出願日】平成16年9月28日(2004.9.28)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]