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