(57)【要約】【課題】  印刷に必要なメモリ容量を最小限にとどめ、画像ファイル中の印刷対象となっていない部分の復号処理をなくすことで処理の高速化を実現し、符号化装置に特別な処理をさせることもないためデバイス間の汎用性を損なわないように、画像ファイルの一部分を抜き出して印刷を行う。【解決手段】  符号化された画像データに対応する画像中の任意の矩形部分を部分的に復号する場合に、符号化された画像データに対応する画像中の矩形部分の画像データを復号する順序を矩形部分の画像の出力順序に基づいて判断し、さらに該復号する順序と画像データが符号化された順序とが相違するか否かを判断する復号方向判断部3023と、矩形部分の復号を部分的に行うために必要な情報を有する復号用のテーブル3026を作成する先行復号処理部3021と、復号方向に従って、復号用のテーブル3026を参照しながら、矩形部分の画像データを画像の出力順序に復号する画像復号部3024とを有する。【選択図】    図３
2006042169.tif 000002
【特許請求の範囲】
【請求項１】
符号化された画像データを入力する入力手段と、
前記符号化された画像データに対応する画像中の任意の矩形部分を指示するための指示手段と、
前記指示手段によって指示を受けた前記矩形部分の画像データを復号する順序を前記矩形部分の画像の出力順序に基づいて判断し、さらに該復号する順序と画像データが符号化された順序とが相違するか否かを判断する復号方向判断手段と、
前記矩形部分の復号を部分的に行うために必要な情報を有する復号用のテーブルを作成する復号テーブル作成手段と、
前記復号方向判断手段が判断した復号方向に従って、前記復号用のテーブルを参照しながら、前記矩形部分の画像データを画像の出力順序に復号する画像復号手段とを有することを特徴とする画像処理装置。
【請求項２】
前記復号方向判断手段は、前記指示手段によって指示を受けた前記矩形部分の画像データを出力する出力媒体のアスペクト比と、前記矩形部分のアスペクト比とから復号する方向を判断することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記復号用のテーブルは、復号された画像中の画素の位置を示す情報を含むことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記復号用のテーブルは、前記画像データが符号化された方向における前記矩形部分の最先端の部分の情報を含むことを特徴とする請求項１又は３に記載の画像処理装置。
【請求項５】
前記符号化された画像データは、ＪＰＥＧ形式であることを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記復号用のテーブルは、ＪＰＥＧ形式の画像データ中のＭＣＵの位置を示す情報を含むことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記復号テーブル作成手段は、ハフマンテーブルによる逆変換のみを行う簡易復号手段を有することを特徴とする請求項５に記載の画像処理装置。
【請求項８】
前記復号テーブル作成手段は、さらに画像の特徴量を抽出することを特徴とする請求項１に記載の画像処理装置。
【請求項９】
前記画像の特徴量は、原画像の明るさに関するヒストグラムであることを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記画像の特徴量は、原画像の色相に関するヒストグラムであることを特徴とする請求項８に記載の画像処理装置。
【請求項１１】
符号化された画像データに対応する画像中の任意の矩形部分を部分的に復号する画像処理方法であって、
前記矩形部分の画像データを復号する順序を前記矩形部分の画像の出力順序に基づいて判断して、該復号する順序と画像データが符号化された順序とが相違するか否かを判断する復号方向判断工程と、
前記矩形部分の復号を部分的に行うために必要な情報を有する復号用のテーブルを作成する復号テーブル作成工程と、
前記復号方向判断工程で判断した復号方向に従って、前記復号用のテーブルを参照しながら、前記矩形部分の画像データを画像の出力順序に復号する画像復号工程とを有することを特徴とする画像処理方法。
【請求項１２】
符号化された画像データに対応する画像中の任意の矩形部分を部分的に復号するコンピュータ実行可能な画像処理プログラムであって、
前記矩形部分の画像データを復号する順序を前記矩形部分の画像の出力順序に基づいて判断して、該復号する順序と画像データが符号化された順序とが相違するか否かを判断する復号方向判断工程と、
前記矩形部分の復号を部分的に行うために必要な情報を有する復号用のテーブルを作成する復号テーブル作成工程と、
前記復号方向判断工程で判断した復号方向に従って、前記復号用のテーブルを参照しながら、前記矩形部分の画像データを画像の出力順序に復号する画像復号工程とを有することを特徴とする画像処理プログラム。
【請求項１３】
符号化された画像データに対応する画像中の任意の矩形部分を部分的に復号する画像処理プログラムをコンピュータ読出し可能に記憶する記憶媒体であって、
前記画像処理プログラムが、
前記矩形部分の画像データを復号する順序を前記矩形部分の画像の出力順序に基づいて判断して、該復号する順序と画像データが符号化された順序とが相違するか否かを判断する復号方向判断工程と、
前記矩形部分の復号を部分的に行うために必要な情報を有する復号用のテーブルを作成する復号テーブル作成工程と、
前記復号方向判断工程で判断した復号方向に従って、前記復号用のテーブルを参照しながら、前記矩形部分の画像データを画像の出力順序に復号する画像復号工程とを有することを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法及びその装置に関し、たとえば、入力されたカラー画像信号に対して画像の一部分を切り出して表示または印刷する際の切り出し方法に関し、詳しくは ＪＰＥＧ に代表される可変長符号化データの一部分を切り出して復号化し出力する方法に関する。
【背景技術】
【０００２】
一般に、デジタルカメラに代表される入力機器で記録されたデジタル画像を圧縮して転送・保持して例えば印刷する際などには、ＪＰＥＧ（Joint Photographic Coding Experts Group）という圧縮ファイル形式が用いられている。この形式は、画質の劣化が小さく大きな圧縮率が得られることから広く利用されている。ＪＰＥＧによる代表的な符号化方法は、まず入力された画像データを（８画素×８画素）の画素ブロックにブロック化する。ブロック化された画像データはＤＣＴ(Discrete Cosine Transform) 変換される。そして、ＤＣＴ変換された画像データは所定の量子化ステップにより量子化され、ハフマン符号化される。ハフマン符号化方法は、符号が必ずしも固定長でない可変長符号化方式として良く知られている。
【０００３】
一方、画像出力の一例としてシリアルプリンタと呼ばれるプリンタ装置による画像形成処理がある。このシリアルプリンタの画像形成方法では、インクを吐出する印刷ノズルが複数並んだノズル列をインクの色毎に複数保持した印刷ヘッドを用い、これを走査させて印刷を行うと同時に、記録媒体を移動させることによってノズル列よりも大きな幅を持つ記録媒体に対して記録を行うことが可能となる。このため、記録装置のメモリは記録ヘッドが記録走査を行う幅と印刷ノズル列の幅を考慮した大きさがあれば十分であるため、装置のコストを低く抑えることが可能となる。
【０００４】
また、デジタル画像処理の分野では、アナログ画像処理と比べると、画像の一部分の切り出し、拡大、回転等の処理を行った後に印刷しても画像の品位がそれほど低下しないこと、またこのような処理を行うことが専用のデバイスを必要としないことから比較的容易に行えるために、画像の一部分を切り出して印刷したいという要求は強くなっている。
【０００５】
このＪＰＥＧというファイル形式で符号化された画像の一部分を切り出して復号して印刷するという要求を、シリアルプリンタにおいて実現しようとした場合に、以下のような問題点があった。それは、ＪＰＥＧにおける一般的な圧縮方法であるハフマン符号化に代表される可変長符号化の形式では、符号の長さが固定されていないため、画像中の任意の１画素に含まれる情報がどの程度の情報量としてファイル中に記録されているかは、ファイルに格納されている符号化データを復号しないとわからない。そのため、画像上の一部分を切り出して印刷する際に、画像中の任意の画素の情報が記録された位置を、記録された画像ファイル中から一意に特定することが非常に難しい。
【０００６】
この問題点を解決する従来技術としては、ＪＰＥＧによる圧縮データのうち、必要な一部分を部分伸長展開する技術が、特許文献１に開示されている。これは、記録されている圧縮データの全てを読み出して、読み出された圧縮データの一部分を部分伸長するものである。
【０００７】
さらに、特許文献２のように必要な部分以外を破棄する方法や、符号化の際に位置が特定できるように位置情報を付加する方法等も開示されている。
【特許文献１】特開平4-347781号公報
【特許文献２】特開平6-113141号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述の方法では以下のようないろいろな問題点があった。圧縮データのすべてを読み出して必要な部分を伸張する方法では、圧縮データのすべてを読み出す領域が必要なために、符号化されたファイルを一時的に保持するためのメモリが必要になることから、復号を行うデバイスのコストを増大させてしまう。また、必要な部分以外を破棄する方法では、処理対象の画像領域数に応じて読み出しとデータの破棄の処理が必要となり、処理時間が増大してしまう。さらに、符号化時に位置情報を付加する方法においては、デジタルカメラに代表される符号化デバイスと、プリンタに代表される復号化デバイスとの間でこの方式をサポートする必要があるため、デジタルイメージをさまざまなデバイス間で共有するといった汎用性を犠牲にしてしまうといった問題点があった。
【０００９】
本発明は、これらの問題点を解決し、印刷に必要なメモリ容量を最小限にとどめ、画像ファイル中の印刷対象となっていない部分の復号処理をなくすことで処理の高速化を実現し、符号化装置に特別な処理をさせることもないためデバイス間の汎用性を損なわないように、画像ファイルの一部分を抜き出して印刷を行うことを目的とする。
【課題を解決するための手段】
【００１０】
前述の課題を解決するために、本発明の画像処理装置は、符号化された画像データを入力する入力手段と、前記符号化された画像データに対応する画像中の任意の矩形部分を指示するための指示手段と、前記指示手段によって指示を受けた前記矩形部分の画像データを復号する順序を前記矩形部分の画像の出力順序に基づいて判断し、さらに該復号する順序と画像データが符号化された順序とが相違するか否かを判断する復号方向判断手段と、前記矩形部分の復号を部分的に行うために必要な情報を有する復号用のテーブルを作成する復号テーブル作成手段と、前記復号方向判断手段が判断した復号方向に従って、前記復号用のテーブルを参照しながら、前記矩形部分の画像データを画像の出力順序に復号する画像復号手段とを有することを特徴とする。
【００１１】
ここで、前記復号方向判断手段は、前記指示手段によって指示を受けた前記矩形部分の画像データを出力する出力媒体のアスペクト比と、前記矩形部分のアスペクト比とから復号する方向を判断する。また、前記復号用のテーブルは、復号された画像中の画素の位置を示す情報を含む。また、前記復号用のテーブルは、前記画像データが符号化された方向における前記矩形部分の最先端の部分の情報を含む。また、前記符号化された画像データは、ＪＰＥＧ形式である。また、前記復号用のテーブルは、ＪＰＥＧ形式の画像データ中のＭＣＵの位置を示す情報を含む。また、前記復号テーブル作成手段は、ハフマンテーブルによる逆変換のみを行う簡易復号手段を有する
前記復号テーブル作成手段は、さらに画像の特徴量を抽出する。ここで、前記画像の特徴量は、原画像の明るさに関するヒストグラムである。また、前記画像の特徴量は、原画像の色相に関するヒストグラムである。
【００１２】
又、本発明の画像処理方法は、符号化された画像データに対応する画像中の任意の矩形部分を部分的に復号する画像処理方法であって、前記矩形部分の画像データを復号する順序を前記矩形部分の画像の出力順序に基づいて判断して、該復号する順序と画像データが符号化された順序とが相違するか否かを判断する復号方向判断工程と、前記矩形部分の復号を部分的に行うために必要な情報を有する復号用のテーブルを作成する復号テーブル作成工程と、前記復号方向判断工程で判断した復号方向に従って、前記復号用のテーブルを参照しながら、前記矩形部分の画像データを画像の出力順序に復号する画像復号工程とを有することを特徴とする。
【００１３】
又、本発明の画像処理プログラムは、符号化された画像データに対応する画像中の任意の矩形部分を部分的に復号するコンピュータ実行可能な画像処理プログラムであって、前記矩形部分の画像データを復号する順序を前記矩形部分の画像の出力順序に基づいて判断して、該復号する順序と画像データが符号化された順序とが相違するか否かを判断する復号方向判断工程と、前記矩形部分の復号を部分的に行うために必要な情報を有する復号用のテーブルを作成する復号テーブル作成工程と、前記復号方向判断工程で判断した復号方向に従って、前記復号用のテーブルを参照しながら、前記矩形部分の画像データを画像の出力順序に復号する画像復号工程とを有することを特徴とする。
【００１４】
又、本発明の記憶媒体は、符号化された画像データに対応する画像中の任意の矩形部分を部分的に復号する画像処理プログラムをコンピュータ読出し可能に記憶する記憶媒体であって、前記画像処理プログラムが、前記矩形部分の画像データを復号する順序を前記矩形部分の画像の出力順序に基づいて判断して、該復号する順序と画像データが符号化された順序とが相違するか否かを判断する復号方向判断工程と、前記矩形部分の復号を部分的に行うために必要な情報を有する復号用のテーブルを作成する復号テーブル作成工程と、前記復号方向判断工程で判断した復号方向に従って、前記復号用のテーブルを参照しながら、前記矩形部分の画像データを画像の出力順序に復号する画像復号工程とを有することを特徴とする。
【発明の効果】
【００１５】
以上詳述したように、本発明の画像処理方法及びその装置によれば、印刷に必要なメモリ容量を最小限にとどめ、画像ファイル中の印刷対象となっていない部分の復号をなくすことで処理の高速化を実現し、符号化装置に特別な処理をさせることもないためデバイス間の汎用性を損なわないように、画像ファイルの一部分を抜き出して印刷を行うことが可能となる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態を図面を参照して詳細に説明する。尚、以下の実施形態では、フォトダイレクトプリンタ装置を例に本発明の特徴を説明するが、本発明は圧縮画像、特にＪＰＥＧによる圧縮画像の一部を切り出して出力する場合に有用な技術であり、種々の適用が可能でありこれらも本発明に含まれる。
【００１７】
＜本実施形態のフォトダイレクトプリンタ装置の構成例＞
図１は、このフォトダイレクトプリンタ装置１０００は、ホストコンピュータ（ＰＣ：図示せず）からデータを受信して印刷する一般的なＰＣプリンタとしての機能と、メモリカードなどの記憶媒体に記憶されている画像データを直接読取って印刷したり、或いはデジタルカメラからの画像データを受信して印刷する機能を備えている。
【００１８】
図１において、本実施形態に係るフォトダイレクトプリンタ装置１０００の外殻をなす本体は、下ケース１００１、上ケース１００２、アクセスカバー１００３及び排出トレイ１００４の外装部材を有している。また、下ケース１００１は、このプリンタ装置１０００の略下半部を、上ケース１００２は本体の略上半部をそれぞれ形成しており、両ケースの組合せによって内部に後述の各機構を収納する収納空間を有する中空体構造をなし、その上面部及び前面部にはそれぞれ開口部が形成されている。さらに、排出トレイ１００４は、その一端部が下ケース１００１に回転自在に保持され、その回転によって下ケース１００１の前面部に形成される開口部を開閉させ得るようになっている。このため、記録動作を実行させる際には、排出トレイ１００４を前面側へと回転させて開口部を開成させることにより、ここから記録シートが排出可能となると共に、排出された記録シートを順次積載し得るようになっている。また、排紙トレイ１００４には、２枚の補助トレイ１００４ａ，１００４ｂが収納されており、必要に応じて各トレイを手前に引き出すことにより、用紙の支持面積を３段階に拡大、縮小させ得るようになっている。
【００１９】
アクセスカバー１００３は、その一端部が上ケース１００２に回転自在に保持され、上面に形成される開口部を開閉し得るようになっており、このアクセスカバー１００３を開くことによって本体内部に収納されている記録ヘッドカートリッジ（不図示）あるいはインクタンク（不図示）等の交換が可能となる。なお、ここでは特に図示しないが、アクセスカバー１００３を開閉させると、その裏面に形成された突起がカバー開閉レバーを回転させるようになっており、そのレバーの回転位置をマイクロスイッチなどで検出することにより、アクセスカバーの開閉状態を検出し得るようになっている。
【００２０】
また、上ケース１００２の上面には、電源キー１００５が押下可能に設けられている。また、上ケース１００２の右側には、液晶表示部１００６や各種キースイッチ等を備える操作パネル１０１０が設けられている。１００７は自動給送部で、記録シートを装置本体内へと自動的に給送する。１００８は紙間選択レバーで、記録ヘッドと記録シートとの間隔を調整するためのレバーである。１００９はカードスロットで、ここにメモリカードを装着可能なアダプタが挿入され、このアダプタを介してメモリカードに記憶されている画像データを直接取り込んで印刷することができる。このメモリカード（ＰＣ）としては、例えばコンパクトフラッシュ（登録商標）メモリ、スマートメディア、メモリスティック等がある。１０１１はビューワ（液晶表示部）で、この装置本体に着脱可能であり、ＰＣカードに記憶されている画像の中からプリントしたい画像を検索する場合などに、１コマ毎の画像やインデックス画像などを表示するのに使用される。１０１２は後述するデジタルカメラを接続するための端子、１０１３は、パーソナルコンピュータ（ＰＣ）を接続するためのＵＳＢバスコネクタを示す。
【００２１】
図２は、本実施形態に係るフォトダイレクトプリンタ装置のファームウェアおよびハードウェア構成例を示すブロック図である。
【００２２】
図２において、２０１０は制御部で、本装置の制御を司る。２０１１はＩ／Ｆ（インターフェース）部で、このＩ／Ｆ部２０１１とデジタルカメラやデジタルカメラで撮影された画像データを保持するメモリカード等が接続され、本体制御部２０１０が撮影されたデジタルカメラから直接読み出すか、もしくはメモリカードから読み出し、画像処理部２０１２へ送る。２０１２は画像処理部で、Ｉ／Ｆ部１１から送られてくる記録データ（多値画像データ）に関して、画像データの復号処理、拡大縮小処理、色処理、を行うもので、メモリ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：特定用途向けＩＣ）及びＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＲＩＳＣ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ：縮小命令セットコンピュータ）チップ等で構成される。
【００２３】
２０１４は、メモリコントローラとメモリである。このメモリは、主に、入力データの保持用バッファ、画像処理部の中間バッファ、画像処理後の出力用バッファとして用いられる。２０１５は印刷ヘッド制御部であり、メモリ２０１４中の画像情報と制御部２０１０にしたがって印刷ヘッド２０１７を駆動させ、インク適を吐出させて画像を形成させる。
【００２４】
２０１６のモーター制御部は、詳しくは図示しないが印刷媒体を送る媒体送りモータ、印刷ヘッドを走査させる印刷ヘッド走査モータ、印刷ヘッドの信頼性を回復させるための回復系モータ等のモータ２０１８を制御する。
【００２５】
図３は、図２で示された画像処理部２０１２を詳しく説明するための図である。
【００２６】
記憶装置３０２０は、デジタルカメラで撮影された画像ファイルを保持するメモリカードと呼ばれる記憶装置である。また、デジタルカメラが直接接続された場合は、デジタルカメラ上の画像ファイルを保持するデジタルカメラに挿入されたメモリカードとなる。メモリカードが接続された場合、デジタルカメラが直接接続された場合のどちらの場合においても、I/F部２０１１を通じて画像ファイルが読み込まれる。
【００２７】
I/F 部２０１１は、メモリカードが接続されている場合は、メモリカードの制御を行うハードウェア回路と制御ソフトウェア、さらにファイルを扱うためのファイルシステム等を実現するソフトウェアで構成されている。一方、デジタルカメラが直接接続される場合においては、デジタルカメラとの通信を行うハードウェア回路と制御ソフトウェア、さらにメモリカードが直接接続された場合と同様、ファイルシステムのソフトウェアで構成される。
【００２８】
一方、印刷デバイスのユーザは、 U/I 部２０１９を通じて画像の切り出しの指示を出すことができる。切り出しの指示方法は、まず印刷対象となる画像を装置に具備された画像モニタ１０１１に表示させると共に、切り出しの枠等を表示させる。この枠の位置と大きさをユーザが操作部１００６を通じて操作することによって、切り出し枠をユーザの好みの位置と大きさに操作することによって、切り出し位置をデバイスに伝達することが可能な構成となっている。また、デジタルカメラを接続した場合には、デジタルカメラ上の操作によって同様の切り出しの指示を行うことができる。
【００２９】
切り出し指示部３０２２への切り出し指示は、前述のユーザ操作を受けて、切り出す部分の画像位置、切り出す大きさを復号方向判断部３０２３に伝える。
【００３０】
次に、復号方向判断部３０２３は、画像ファイル中に画素データが格納されている順序と、印刷のために画像ファイルを復号していく復号の順序が同じ方向か異なる方向かを判断する。まず、画像ファイル中の情報を参照し画像の幅と高さを得る。多くのデジタルカメラにおいては、画像の長辺の方向に沿った順序で画像ファイル中に格納されている。次に、切り出し指示部３０２２からの指示により切り出す領域の縦横の大きさを得る。ここで得られた領域の縦横の大きさと、印刷時の画像の縦横の大きさを制御部２０１０から得て、この２つの大きさを比較することにより、画像が画像ファイル中に格納されている方向と、印刷時に復号する方向の関係が分かり、この関係を先行復号処理部３０２１に伝える。この方向の関係については、図４を用いて後で詳しく説明する。
【００３１】
先行復号処理部３０２１では、復号方向判断部３０２３で判断された復号方向により、復号テーブルを作成する。ＪＰＥＧでは、ＭＣＵ(Minimun Coded Unit)と呼ばれる８画素ｘ８画素のブロックを処理単位として画像圧縮が行われる。この８画素ｘ８画素のまとまり（ブロック）は、各種の色空間(RGB，YUV等)のチャンネルのカラー情報を含み、画像圧縮処理に際して１単位として扱われる。復号テーブルは、印刷範囲として切り出された領域の画像における縦方向のＭＣＵの数だけ構成要素が動的に定義されるテーブルであり、ＭＣＵのファイル中の位置情報が格納されている。前述の通り、画像中の任意の位置をファイル中で復号することなく一意に決定することは難しいことから、この先行復号処理部３０２１では復号テーブルを作成するために、一度復号を行う。
【００３２】
次に、復号テーブルの情報に従って記憶装置から画像ファイルを部分的に読み出し、復号処理部３０２４で復号を行い、復号済みの画像データを中間バッファ３０２７に格納する。この中間バッファ３０２７に格納されたデータを、色処理部３０２５で色処理を行い、出力用バッファ３０２８に一時保持し、制御部２０１０にしたがって印刷ヘッド制御部２０１５へ色処理済のデータを送信し、印刷ヘッドがインクを吐出し印刷を行う。
【００３３】
図４は、図３の制御部及び画像処理部を実現するハードウエア構成例を示す図である。
【００３４】
図４で４０１０は、制御部及び画像処理部の処理をプログラムに従って実行する演算処理用のＣＰＵである。尚、制御部や画像処理部の各処理部が独立にＣＰＵを有してもよい。４０２０は、ＣＰＵ４０１０が実行する固定プログラムやパラメータを格納するＲＯＭ、４０３０は、ＣＰＵ４０１０が実行するアプリケーションプログラムをロードすると共に、データの一時記憶をするＲＡＭである。
【００３５】
ＲＡＭ４０３０には、復号方向判断部３０２３で判断した復号方向を記憶する復号フラグ４０３１、先行復号処理部３０２１で作成された復号テーブルを記憶する記憶領域４０３２、以下の他の実施形態で使用する画像の特徴量を記憶する特徴量テーブルの記憶領域４０３３、復号処理部３０２４で復号された切り出し領域の画像データを記憶する中間バッファ４０４３、中間バッファ４０４３の画像データに色処理部３０２５で色処理を行ない印刷ヘッド処理部２０１５に出力する画像データを記憶する出力用バッファ３０２８、そして、ディスク等の外部記憶装置に記憶されているアプリケーションプログラムをロードして、ＣＰＵ４０１０により実行するためのプログラムロード領域４０３７が含まれる。
【００３６】
４０４０は、ディスク、ＣＤなどの外部記憶装置で、ＲＡＭ４０３０にロードされてＣＰＵ４０１０に実行される、印刷処理メインプログラム４０４１（図５及び図１３参照）、復号方向判断モジュール４０４２（図７参照）、先行復号モジュール４０４３（図８及び図１４参照）、復号処理モジュール４０４４（図１２参照）、色処理モジュール４０４５、印刷制御モジュール４０４６を記憶している。
【００３７】
４０５０は入力インタフェースで、操作部１００６からの入力や、メモリカード３０２０からの入力を制御する。４０６０は出力インタフェースで、表示部１０１１への出力、印刷ヘッド制御部２０１５への出力を制御する。
【００３８】
＜本実施形態のフォトダイレクトプリンタ装置の動作例＞
次に、上記構成の本実施形態のフォトダイレクトプリンタ装置の動作例を説明する。
【００３９】
図５は、印刷処理のメインプログラムのフローチャートである。このフローチャートに従って、印刷処理を順に説明する。尚、印刷の元となる画像の大きさを2272×1704 [pixel]とする。また、ＪＰＥＧ画像は、サンプリングファクタ4：2：2である。具体例として、図９の例を用いて説明する。図９では、印刷を行う用紙サイズが127×89[mm]であり、画像データの切り取り領域の大きさは、1024×710 [pixel]である。データの展開の方向は、図中左下から上へ展開した後、左下の次の行に戻り、再度上方向へ展開を行う方向である。
【００４０】
（Ｓ１００：画像情報、ユーザの切り出し指示情報の読み取り）
ユーザにより印刷処理が開始されると、まず、ユーザの切り出し情報を前述のＵ／Ｉ部２０１９を通じて制御部２０１０が読み取り、切り出し指示部３０２２に伝える。ここで伝わる情報は、画像中のデータの格納位置を原点とし、格納方向をＸ、もう一方をＹとした切り出し位置（Ｘ，Ｙ）と、切り出し領域の大きさ（Ｗ，Ｈ）である。この例の場合、切り出し位置（800,160）、領域の大きさ（1024,710）となっている。
【００４１】
（Ｓ２００：復号方向の判断）
次に、復号方向の判断が行われる。この判断は、印刷のために必要な復号の方向と、画像ファイルのデータが格納されている方向（符号化の方向）を調べることで、復号化じのデータ展開の方向（順序）を符号化の方向（順序）で行なえばよいのか、もしくは異なる方向で行なったほうがよいのかを判断する。
【００４２】
この判断について、図４及び図７のフローチャートを用いて詳しく説明する。
【００４３】
まず、図４の(a),(b)において、外側の細い線の四角形は印刷対象となる画像をあらわしている。そして、この画像のデータの格納順、言い換えると符号化の順は、まず左上から始まり右方向へ順次格納されており、右端の画素を格納した後２行目の左端の画素を格納し右方向へと再度格納されている。一方、太い線の四角形で囲まれた領域が前述の切り出し枠である。(a)の場合は切り出し枠の長辺と元となる画像の長辺が平行になる切り出し方である。一方 (b)の場合は切り出し枠の長辺と元となる画像の長辺が直行する切り出し方である。
【００４４】
(a)において、印刷媒体の短辺が印刷のためのシリアルスキャンの方向（主走査方向）に沿っており、印刷媒体の搬送方向（副走査方向）と直行している。また、(b)は切り出しの方向が異なっており、印刷媒体の長辺が印刷のためのシリアルスキャンの方向（主走査方向）に沿っており、印刷媒体の搬送方向（副走査方向）と直行している。印刷における復号の方向は、シリアルプリンタであるため、主走査方向に沿ってデータの展開、言い換えるとデータの復号を進めていく必要がある。
【００４５】
従って、(a)の場合、左下から上方向へのデータの展開（復号）を行い、次に左下に戻り再度上方向へという順序で展開を進める必要がある。一方、(b)の場合、左上から右方向へ展開を行い、次に右上に戻り再度右方向へという順序で展開を進める必要がある。つまり、印刷データの格納方向と展開方向、言い換えると符号化と復号化の順序を考えると、(a)の場合は直交しており、(b)の場合は同じ方向であると言える。ステップＳ２００では、このデータの格納方向と展開方向（符号化順と復号化順）が直交しているか、同じ方向なのかを判断する。
【００４６】
図７に従って、上記判断の手順を示す。
【００４７】
まず、ステップＳ２０１で元画像を復号した時のアスペクト比から、画像が縦長か横長かを判定する。横長であればステップＳ２０２に進んで、切り出す領域のアスペクト比から、切り出す領域が縦長か横長かを判定する。横長であればステップＳ２０３に進んで、印刷時の主走査方向と平行な印刷媒体の辺が、長い辺か短い辺かを判定する。短辺であれば、ステップＳ２０４で入力画像データの格納方向と印刷のための復号方向が異なるとして、復号方向フラグ４０３１に"１"を記憶する。
【００４８】
以下、元画像が横長＊切り出す領域が横長＊主走査方向が長辺の場合（Ｓ２０１→Ｓ２０２→Ｓ２０３→Ｓ２０５）は、入力画像データの格納方向と印刷のための復号方向が同じとして復号方向フラグ４０３１に"０"を記憶し、元画像が横長＊切り出す領域が縦長＊主走査方向が短辺の場合（Ｓ２０１→Ｓ２０２→Ｓ２０６→Ｓ２０５）は復号方向フラグ４０３１に"０"、元画像が横長＊切り出す領域が縦長＊主走査方向が長辺の場合（Ｓ２０１→Ｓ２０２→Ｓ２０６→Ｓ２０４）は復号方向フラグ４０３１に"１"、元画像が縦長＊切り出す領域が横長＊主走査方向が短辺の場合（Ｓ２０１→Ｓ２０７→Ｓ２０８→Ｓ２０４）は復号方向フラグ４０３１に"１"、元画像が縦長＊切り出す領域が横長＊主走査方向長辺の場合（Ｓ２０１→Ｓ２０７→Ｓ２０８→Ｓ２０５）は復号方向フラグ４０３１に"０"、元画像が縦長＊切り出す領域が縦長＊主走査方向が短辺の場合（Ｓ２０１→Ｓ２０７→Ｓ２０９→Ｓ２０５）は復号方向フラグ４０３１に"０"、元画像が縦長＊切り出す領域が縦長＊主走査方向が長辺の場合（Ｓ２０１→Ｓ２０７→Ｓ２０９→Ｓ２０４）は復号方向フラグ４０３１に"１"、を記憶することにより、復号方向が判断される。
【００４９】
具体的な例である図９について説明する。一般的にデジタルカメラで撮影を行なった場合、図９に示すように、長辺方向に沿って格納されている場合が多いため、本具体例でもその順で格納されている画像を印刷する場合を例に挙げて説明を行う。一方、印刷媒体は主走査方向と媒体の短辺が同一方向であり、副走査方向と長辺が同一方向で印刷される場合が多いため、本具体例でもこの方向で印刷を行う場合を例にあげて説明を行う。しかし、図７のフローチャートに示すように、本実施形態ではこの画像の格納方向や媒体の搬送方向が異なっていても、その効果に変わりがないことは明らかである。
【００５０】
図９で、入力時のデータの格納方向は、図示の方向であり、この場合のアスペクト比は、横2272[pixel] ／縦1704[pixel]＝1.33＞1.0であるので、横長であるということがいえる。次に、切り出す領域のアスペクト比を判断する。データ格納時の符号化の方向を基準として横方向に取ったときのアスペクト比によって判断をする。図９においては、横方向 1024 [pixel] ／縦方向 710 [pixel] ＝1.44＞1.0であるため、横長と判断する。
【００５１】
次に、印刷装置と印刷媒体の関係について判断をする。印刷装置が、印刷媒体に印刷を行なう際の復号の方向は、シリアルスキャンの方向である主走査方向と等しい方向である。そのため、上記図７の手順に従って、印刷装置において印刷を行なう際の主走査方向と平行になる印刷媒体の辺が、印刷媒体の長辺なのか短辺なのかということを判断する。図９においては、印刷装置の主走査方向に平行な印刷媒体の辺は短辺であるため、図７のフローチャートに従って、Ｓ２０１→Ｓ２０２→Ｓ２０３→Ｓ２０４と分岐し、入力画像データの格納方向と印刷のための展開の方向が異なる場合となる。
【００５２】
一方、図１０のように、切り出す領域のアスペクト比は、横方向 710 [pixel] ／縦方向 1024 [pixel] ＝0.69＜1.0であるため、横長と判断する。印刷においては、主走査方向に平行な印刷媒体の辺は短辺であるため、図７のフローチャートに従って、Ｓ２０１→Ｓ２０２→Ｓ２０６→Ｓ２０５と分岐し、入力画像データの格納方向と印刷のための展開の方向が同じ場合となる。
【００５３】
上述の判断結果を先行復号処理部３０２１に伝え、復号方向判断部３０２３の処理を終える。
【００５４】
（Ｓ３００：先行復号処理）
次に、先行復号処理部３０２１が復号テーブル３０２６を作成するための復号処理を行う。ＪＰＥＧの最も基本的な処理方式である基本ＤＣＴ方式における復号処理は、「ハフマンテーブルによる可変長復号処理」「逆量子化処理」「逆離散コサイン変換処理」に分けられる。この先行復号処理部３０２１における処理では、画像中の画素の位置と、画像ファイル中のビット位置を対応付けることを目的としているため、逆量子化処理と逆離散コサイン変換の部分は必要としない。以下、この先行復号処理における「ハフマンテーブルによる可変長復号処理」のみの復号を「簡易復号」と呼ぶ。この先行復号処理部３０２１では、ＭＣＵ毎にハフマン符号を復号化し、復号テーブルとして必要な画素を含むＭＣＵである場合に、印刷のための復号処理に必要な情報として復号テーブル３０２６内に記憶することを行なう。
【００５５】
処理の流れを、図８にフローチャートを用いて説明する。
【００５６】
まず、画像内に含まれるＭＣＵの行数分のカウンタ値をセットして処理を開始する。ここで、簡易復号が行われる順の方向をＭＣＵ行と呼び、この方向と直行する方向をＭＣＵ列と呼ぶ。図９及び図１０中において、ＭＣＵ列は縦方向の１列であり、ＭＣＵ行は横方向の１列である。ＭＣＵ行の数は、画像の縦方向のＭＣＵの数であり、図９及び図１０においては、1704 [pixel] の画像であり、サンプリングファクタ4：2：2であるため、107(=1704/16)行のＭＣＵ行で構成されている。そのため、"107"をカウンタ値としてセットする（図８には図示せず）。
【００５７】
次に、ステップＳ３０１で、画像ファイル中に含まれる最初のＭＣＵを簡易復号処理する。この先行復号処理では、ＭＣＵ全体の値（ＤＣ成分）があれば良く、画素毎の信号値（ＡＣ成分）は必要でないため、簡易復号処理において逆量子化処理や逆離散コサイン変換は省かれることとなる。このＭＣＵには、元の画像の画素位置で (0,0)-(16,16) の範囲の画素が含まれている（図９及び図１０の左上端のＭＣＵ）。次に、ステップＳ３０２で簡易復号処理を行なったＭＣＵが切り出し領域の中に入っているかどうかの判定を行なう。最初のＭＣＵに含まれる範囲は(0,0)-(16,16)であり、これは、図９の切り出し領域(800,160)-(1824,870)内に含まれないため、ステップＳ３０３で１行分の簡易復号処理が終了したか否かを判定し、終了してなければステップＳ３０１に戻って引き続き同じ行の次のＭＣＵ（右隣りのＭＣＵ）の簡易復号処理を行う。１行分の簡易復号処理が終了したところで、ステップＳ３０３からＳ３０７に進んで、未処理のＭＣＵ行があるかを判断し（実際には、カウンタ値を１カウントダウンして０であるかを判断）、未処理のＭＣＵ行があればステップＳ３０１に戻って次のＭＣＵ行の先頭（左端）のＭＣＵの簡易復号処理に戻る。
【００５８】
図９の例では、最初の１０行（画素では1-160)のＭＣＵ行は切り出し領域(800,160)-(1824,870)に含まれない。１１行目のＭＣＵ行から画像の 160 [pixel] 以降の処理に入り、５１番目のＭＣＵ(＝800/16+1)で簡易復号処理を行うＭＣＵが切り出しの領域内に入る。切り出しの領域内に入った場合には、ステップＳ３０２からＳ３０４に進んで、復号テーブル３０２６にステップＳ３０１で簡易復号したＭＣＵのデータを書き込む。
【００５９】
（復号テーブル）
作成される復号テーブルの例を図１１に示す。復号テーブルは、切り出し画像中の一度に復号できる最小単位であるＭＣＵの行の数だけの要素を有している。図９の例においては、列方向の画素数は710 [pixel] であり、サンプリングファクタが4：2：2であることから、一度に復号できる最小単位であるＭＣＵを復号すると16×16 [pixel]のデータとなるため、45(=710/16)の要素をもつ復号テーブルが作成されることになる。１要素中の情報は、ファイル途中からの以下の復号処理を可能とするためのものである。具体的には、ＭＣＵのカウント値１１ａに従い、ＭＣＵのファイル中でのビット位置１１ｂ、バイト位置１１ｃ、サンプリング成分の数分の直流成分の値１１ｄである。サンプリング成分は、スキャン内の画像成分のことであり、一般的にはＹ，Ｃｂ，Ｃｒ信号の３成分となる。さらに、デジタルカメラや、メモリカード３０２０内の画像ファイルをメモリ２０１４中にコピーしておき、そのメモリ記憶領域へのポインタ値１１ｅも要素の値として保持しておく。
【００６０】
尚、このメモリ領域中へ画像ファイルをコピーしておき、そのポインタ値を保持しておくことは、ファイルへのアクセス回数を減らす目的で行なっているため、本発明の実施にあたって必ずしも必要な要素ではないが、デジタルカメラやメモリカードからのデータ領域から読み込むよりも、メモリ２０１４からの読み込みのほうが高速に行えるため、実施したほうが望ましい。また、メモリ容量よりも大きな画像ファイルを扱う場合には、メモリカード３０２０のファイルポインタを指す情報を保持しておいてもよい。
【００６１】
上述の処理により、図９及び図１０の(b)に示すように、切り出し領域の左端のＭＣＵ列の簡易復号データが復号テーブルに記憶されることとなる。
【００６２】
（Ｓ４００：復号処理）
次に、復号処理部３０２４において実際の印刷のための復号処理を行う。印刷のための復号においては、前述の復号テーブルにしたがって復号処理を行う。
【００６３】
図１２に、復号処理の一例をフローチャートで示す。
【００６４】
まず、ステップＳ４０１で、復号方向判断部３０２３（Ｓ２００）での判断結果である復号フラグが１か０かにより分岐する。すなわち、復号フラグが１の場合は、図９のように符号化の方向と印刷時の復号方向が異なる場合であり、ステップＳ４０２に進む。復号フラグが０の場合は、図１０のように符号化の方向と印刷時の復号方向が同じ場合であり、ステップＳ４１０に進む。
【００６５】
(1) 入力画像データの格納方向と印刷のための展開方向が異なる場合（図９参照）
ステップＳ４０２で、復号テーブル中の最終行（図９の(b)の最下）のＭＣＵを最初に復号するＭＣＵとして指示し、同時に復号テーブルの指すＭＣＵを図９上における右方向へひとつ進めておく。ステップＳ４０３で指示したＭＣＵの復号を行なう。このＭＣＵの復号を行ったのち、ステップＳ４０４で復号テーブルの更新を行なう。次に、ステップＳ４０５で復号により画像の信号となったデータを９０°回転させて、中間バッファ３０２７上に書き込む。ここまでの処理を、ステップＳ４０６で復号テーブルに含まれている要素数分が復号されたかを判断し、まだであればステップＳ４０３に戻って、上方のＭＣＵの復号と復号テーブルの更新、中間バッファへの書き込みを繰り返して、１ＭＣＵ列の復号処理を終了する。更にステップＳ４０７で、プリントヘッドのプリント幅の画像データが準備されたか否かを判断する。プリント幅が１６ドット以内である場合は印刷処理に進むが、プリント幅が１６ドットを越える場合は、ステップＳ４０７からＳ４０２に戻って、更に次の１ＭＣＵ列の復号処理を行う。
【００６６】
図９の具体例においては、最終行のＭＣＵは４５行目のＭＣＵであり、画像中の(800,864)-(816,880)の矩形領域の画素に対応するＭＣＵである。まずこの領域の復号を行う。次に復号テーブルの更新を行なう。これは、現在指している復号テーブルの情報を次のＭＣＵの復号のために更新する作業であり、画像中の(817,864)-(832,880)の矩形領域の画素に対応するＭＣＵの情報に書き換えておく。これは、画像ファイルの符号化されている方向に沿った（右隣の）復号であるため、容易に行なうことができる。次に、ＭＣＵの復号により得られた１６×１６画素のデータを印刷の向きに回転（反時計方向に９０°）させ、印刷指定領域内の画素のみを中間バッファ３０２７に書き込む。図９の場合、(800,864)-(816,880)の矩形領域の画素データが得られるが、印刷指定領域は、(800,160)-(1824,870)の矩形領域であるため、(800,871)-(816,880)の矩形範囲の画素データの中間バッファ３０２７への書き込みは行なわれず、(800,864)-(816,870)の矩形領域の画素データを回転させて中間バッファ３０２７へ書き込む。ここまでの処理で１ＭＣＵ分の処理が終了し、次の４４行目のＭＣＵについても同様に処理を行なう。この処理を１番上のＭＣＵ（元画像の上から１１番目）まで行なうことで、１６プリントライン分の画素列が完成される。尚、上記のように、プリンタのヘッドのノズル数などにより、１走査のプリントに必要なライン文の画素列を準備する。
【００６７】
(2) 入力画像のデータの格納方向と印刷のための復号方向が同じ場合（図１０参照）
上述の復号方向の判断において、入力画像のデータの格納方向と印刷のための復号方向が同じ場合となった場合は、まず、ステップＳ４１０で最初に復号するＭＣＵとして復号テーブル中の最初のＭＣＵ（元画像の１１行目で５１番目のＭＣＵ）を指示する。ステップＳ４１１で指示されたＭＣＵの復号を行なう。このＭＣＵの復号を行ったのち、切り出す領域内の画素データを中間バッファ３０２７へ書き込む。ＭＣＵの行方向に復号を続けていき、切り出す領域から外れた時点で処理を終了する。
【００６８】
図１０においては、最初の行のＭＣＵは画像中の(1200,80)-(1216,96)の矩形領域の画素に対応するＭＣＵである。まずこの領域の復号を行う。復号が終了し画素のデータとなったものは、(1200,80)-(1216,96)の矩形領域のデータであり、このデータは切り出し領域(1200,80)-(1910,1104)の範囲にすべて含まれているため、この画素データを中間バッファ３０２７に格納する。ここで、まだ切り出す領域の終りまで処理は進んでいないので、次の（右隣の）ＭＣＵの復号を行なう。このように処理を進めていき、(1904,80)-(1920,96)まで処理が終了した時点で、ＭＣＵ行の復号処理が１行分終了し、１６プリントライン分の画素列が完成される。尚、上記のように、プリンタのヘッドのノズル数などにより、１走査のプリントに必要なライン文の画素列を準備する。
【００６９】
（Ｓ５００：色処理・印刷処理）
次に、復号が終了した部分画像に対して色処理部３０２５で色処理を行い、印刷ヘッドを駆動させて記録動作を行う。尚、色処理及び印刷処理は、本発明の要旨ではないので説明は省く。
【００７０】
図５のステップＳ６００では、印刷終了を判定し、終了でない（すなわち、印刷媒体の副走査方向の印刷が終わっていない）場合は、ステップＳ４００に戻って再度復号処理を行い、結果得られた部分画像に対して色処理を行い記録動作を行うという処理を、切り出し領域全体が印刷されるまで繰り返し、印刷動作を終了させる。
【００７１】
上記(1)(2)のいずれの場合においても、印刷のための復号の処理を行なうのは画像全体ではなく切り出す対象範囲だけであるので処理の高速化が実現できる。さらに、復号の前後にかかわらず画像ファイル全体を保持する必要がないため、小メモリ化も実現できる。
【００７２】
以上説明した処理によって、画像の一部分を切り出して印刷する際に、画像全体を復号化することがないため印刷に必要なメモリ容量を最小限にとどめることができ、画像ファイル中の印刷対象となっていない部分の復号をなくすことで処理の高速化を実現し、符号化装置に特別な処理をさせることもないためデバイス間の汎用性を損なわない印刷が可能となる。
【００７３】
＜他の実施形態＞
一般的に、デジタルカメラ等に代表される撮像機器で撮影された写真のような画像は色かぶりなどの画像の劣化要因を付帯している場合が少なくない。この劣化を補正するために、例えば特開２０００−１３６２５号公報に記載されている方法等により自動化する手法も開示されており、画像記録装置にも適応されている。特開２０００−１３６２５号公報では、原画像の画素データに基づき明るさに関するヒストグラムを作成し、所定の画素値から累積して所定度数に相当する画素データを検出し、ハイライト、シャドーポイントを求め、それらのポイントに基づき画像全体の色かぶりを補正する画像補正処理を行うことにより、処理負荷の少なく、かつ高品質な画像を実現している。上述のような補正処理を行なう際に原画像の明るさに関するヒストグラムを作成する処理が必要となってくる。
【００７４】
本実施形態は、先行復号時に画像補正を行なう処理を追加した実施形態であり、ヒストグラム作成の処理のための画像の復号の処理を、先行復号処理時に行なうことを特徴とする。
【００７５】
図１３に、本実施形態の処理の流れのフローチャートを示す。先行復号処理と印刷用画像処理の部分以外は、先の実施形態（図５参照）と同様なので説明は省略する。
【００７６】
図１３では、先行復号処理Ｓ３５０において、前述のヒストグラムに代表される画像の特徴量テーブルを算出する処理が追加されている。さらに、印刷用画像処理Ｓ５５０において、算出された特徴量に基づいて、色処理によって色かぶり等の補正処理を行なうことが異なる点である。ヒストグラムとしては、原画像の明るさに関するヒストグラム、原画像の色相に関するヒストグラムなどが考えられる。
【００７７】
（Ｓ３５０：先行復号処理）
本実施形態の先行復号処理について、図１４のフローチャートを用いて詳細に説明する。
【００７８】
処理を開始して、最初のＭＣＵ行の復号に入るところまでは、図５と同様である。ステップＳ３５１で、ＭＣＵの復号処理を行なう。ここでの復号処理は、図５の簡易復号処理の場合とは異なり、「ハフマンテーブルの復号」「逆量子化」「逆離散コサイン変換」という一般的なＪＰＥＧの復号処理をすべて行い、ステップＳ３５２でヒストグラムを作成する。ヒストグラムの作成方法については前述の特許文献にも記載されており公知であり、又ヒストグラムの作成方法が本実施形態の特徴ではないので、ここでの説明は省略する。ステップＳ３５３、Ｓ３５４及びＳ３５９で、切り出し領域内のＭＣＵに成るまで復号（Ｓ３５１）及びヒストグラム作成（Ｓ３５２）を繰り返す。図９の場合は、１１行目の５０番目のＭＣＵまでは上記処理を繰り返し、５１番目のＭＣＵからはステップＳ３５５に進む。図１０の場合は、６行目の７５番目のＭＣＵまでは上記処理を繰り返し、７６番目のＭＣＵからはステップＳ３５５に進む。
【００７９】
ステップＳ３５５では、復号テーブルに復号されたデータを書き込む。書き込んだ後、ステップＳ３５６で復号処理したＭＣＵが画像の右端にあたるかどうかをみて、ＭＣＵの復号（Ｓ３５７）とヒストグラムの作成（Ｓ３５８）を繰り返し、右端までたどり着いていたら、ステップＳ３５９からＳ３５１に戻って、次のＭＣＵ行の処理へと遷移する。上述のように復号テーブルを作成しながら先行復号処理を行なう。尚、図１４ではヒストグラムを元画像全体から求めるように処理したが、切り出し領域のみから求めるようにすれば、切り出し領域の外では簡易復号処理で良いので処理の高速化が図れる。
【００８０】
次に、印刷のための復号処理（Ｓ４００）を行ない、前述のヒストグラムデータから色処理を変更させて色処理を行なう（Ｓ５５０）ことによって、色かぶりの補正された画像を出力することが可能となる。
【００８１】
以上説明した処理によって、画像の一部分を切り出して印刷する際に、画像全体を復号化することがないため印刷に必要なメモリ容量を最小限にとどめることがで、画像ファイル中の印刷対象となっていない部分の復号をなくすことで処理の高速化を実現し、符号化装置に特別な処理をさせることもないためデバイス間の汎用性を損なわない印刷が可能となり、同時に画像のヒストグラムに代表される特徴量を算出する処理を行なうことができるため、高速な印刷が可能となる。
【００８２】
尚、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（又は記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（又はCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることはいうまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。又、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（OS）などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
【００８３】
又、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８４】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを含むプログラムコードが格納されることになる。
【００８５】
更に、画像データの復号処理をはじめとして、各処理部はソフトウェアではなくハードウェアとして実装されてる場面も多いが、本発明はこれら処理部の実装の形態に限定されるものではない。
【図面の簡単な説明】
【００８６】
【図１】本実施形態のフォトダイレクトプリンタ装置の概観斜視図である。
【図２】本実施形態のフォトダイレクトプリンタ装置の構成例を示すブロック図である。
【図３】本実施形態の画像処理部の構成例を示すブロック図である。
【図４】本実施形態の画像処理部のハードウエア構成例を示す図である。
【図５】本実施形態の画像処理の処理手順例を示すフローチャートである。
【図６】本実施形態の画像処理における画像ファイルのデータ格納方向と印刷方向の場合分けを説明する図である。
【図７】本実施形態の復号方向判断部の処理手順例を示すフローチャートである。
【図８】本実施形態の先行復号処理部の処理手順例を示すフローチャートである。
【図９】本実施形態の画像処理における画像ファイルのデータ格納方向と印刷方向が異なる具体例を示す図である。
【図１０】本実施形態の画像処理における画像ファイルのデータ格納方向と印刷方向が同じ具体例を示す図である。
【図１１】本実施形態の復号テーブル例を説明する図である。
【図１２】本実施形態の復号処理の処理手順例を示すフローチャートである。
【図１３】他の実施形態の画像処理の処理手順例を示すフローチャートである。
【図１４】他の実施形態の先行復号処理部の処理手順例を示すフローチャートである。
【図１】
2006042169.tif 000003
【図２】
2006042169.tif 000004
【図３】
2006042169.tif 000005
【図４】
2006042169.tif 000006
【図５】
2006042169.tif 000007
【図６】
2006042169.tif 000008
【図７】
2006042169.tif 000009
【図８】
2006042169.tif 000010
【図９】
2006042169.tif 000011
【図１０】
2006042169.tif 000012
【図１１】
2006042169.tif 000013
【図１２】
2006042169.tif 000014
【図１３】
2006042169.tif 000015
【図１４】
2006042169.tif 000016