(57)【要約】【課題】  少ない容量の復号用テーブルを用いながらも、符号化画像データで表わされる画像中の部分的な領域を印刷することが可能になる。【解決手段】  出力領域指定部１０１は、印刷領域を指定する。復号テーブル作成部１０３は、復号部１０５が復号する着目ブロックの位置が、指定された領域内にあるか否かを判定し、その領域内に位置すると判断した場合であって、着目ブロックが領域の左端に位置する、或いは、着目ブロックの水平方向の位置が前記領域の左端のブロックから予め設定されたブロック数Ｂの整数倍に位置する場合、着目ブロックの符号化データを再復号するための、符号化画像データにおける前記着目ブロックの符号化データの所在位置を含む部分復号情報を復号用テーブルメモリ１０６に登録する。そして、復号部１０５は、復号用テーブルメモリ１０６を参照して、「領域の垂直方向の長さ×Ｂで示される水平方向の長さ」で規定される部分領域画像を単位に復号し、復号画像データバッファ１０７に出力する。【選択図】  図１
2010074410.tif 000002
【特許請求の範囲】
【請求項１】
複数の画素データで構成されるブロックを単位に、ラスタースキャン順に符号化された符号化画像データを復号し、復号して得られた画像データを印刷手段に出力する画像処理装置であって、
前記印刷手段で印刷する領域を指定する領域指定手段と、
前記符号化画像データから、ブロック単位の符号化データを順に復号する第１の復号手段と、
該第１の復号手段で復号する対象の着目ブロックの位置が、前記領域指定手段で指定された領域内にあるか否かを判定する判定手段と、
該判定手段で着目ブロックの位置が、前記領域内に位置すると判断した場合であって、前記着目ブロックが前記領域の左端に位置する、或いは、前記着目ブロックの水平方向の位置が前記領域の左端のブロックから予め設定されたブロック数Ｂの整数倍に位置する場合、前記着目ブロックの符号化データを再復号するための、前記符号化画像データにおける前記着目ブロックの符号化データの所在位置を含む部分復号情報を復号用テーブルに登録する登録手段と、
前記登録手段による前記領域内の各ブロックの部分復号情報の登録が完了した場合、前記復号用テーブルを参照して、
前記領域の垂直方向の長さ×前記Ｂで示される水平方向の長さ
で規定される部分領域の符号化データを復号し、復号して得られた前記部分領域の画像データを前記印刷手段に出力する第２の復号手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記第１の復号手段は、着目ブロックの位置が、前記領域の右下隅のブロックに到達した場合には、復号処理を終了することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記符号化画像データは、ＪＰＥＧ符号化画像データであって、
前記部分復号情報には、着目ブロックのＤＣ成分の予測値が含まれることを特徴とする請求項１また２に記載の画像処理装置。
【請求項４】
複数の画素データで構成されるブロックを単位に、ラスタースキャン順に符号化された符号化画像データを復号し、復号して得られた画像データを印刷手段に出力する画像処理装置であって、
前記印刷手段で印刷する領域を指定する領域指定手段と、
前記符号化画像データから、ブロック単位の符号化データを順に復号する第１の復号手段と、
該第１の復号手段で復号する対象の着目ブロックの位置が、前記領域指定手段で指定された領域の左端に位置するか否かを判定する判定手段と、
該判定手段で着目ブロックの位置が、前記領域の左端に位置すると判断した場合、前記着目ブロックの符号化データを再復号するための、前記符号化画像データにおける前記着目ブロックの符号化データの所在位置を含む部分復号情報を復号用テーブルに登録する登録手段と、
前記登録手段による前記領域の左端の所在位置情報の登録が完了した場合、前記復号用テーブルを参照して、
前記領域の垂直方向の長さ×予め設定された水平方向の長さ
で規定される部分領域の符号化データを復号し、復号して得られた前記部分領域の画像データを前記印刷手段に出力する第２の復号手段と
該第２の復号手段によって復号した前記部分領域画像の右端に位置するブロックの復号の結果から得られる、前記部分領域画像の右隣の部分領域画像の左端に位置する各ブロックの部分復号情報で前記復号用テーブルを更新し、前記第２の復号手段による復号処理を実行させることを、前記領域指定手段で指定した領域の画像を前記印刷手段への出力が完了するまで繰り返す制御手段と
を備えることを特徴とする画像処理装置。
【請求項５】
前記第１の復号手段は、着目ブロックの位置が、前記領域の右下隅のブロックに到達した場合には、復号処理を終了することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記符号化画像データは、ＪＰＥＧ符号化画像データであって、
前記部分復号情報には、着目ブロックのＤＣ成分の予測値が含まれることを特徴とする請求項４また５に記載の画像処理装置。
【請求項７】
複数の画素データで構成されるブロックを単位に、ラスタースキャン順に符号化された符号化画像データを復号し、復号して得られた画像データを印刷手段に出力する画像処理装置の制御方法であって、
前記印刷手段で印刷する領域を指定する領域指定工程と、
前記符号化画像データから、ブロック単位の符号化データを順に復号する第１の復号工程と、
該第１の復号工程で復号する対象の着目ブロックの位置が、前記領域指定工程で指定された領域内にあるか否かを判定する判定工程と、
該判定工程で着目ブロックの位置が、前記領域内に位置すると判断した場合であって、前記着目ブロックが前記領域の左端に位置する、或いは、前記着目ブロックの水平方向の位置が前記領域の左端のブロックから予め設定されたブロック数Ｂの整数倍に位置する場合、前記着目ブロックの符号化データを再復号するための、前記符号化画像データにおける前記着目ブロックの符号化データの所在位置を含む部分復号情報を復号用テーブルに登録する登録工程と、
前記登録工程による前記領域内の各ブロックの部分復号情報の登録が完了した場合、前記復号用テーブルを参照して、
前記領域の垂直方向の長さ×前記Ｂで示される水平方向の長さ
で規定される部分領域の符号化データを復号し、復号して得られた前記部分領域の画像データを前記印刷手段に出力する第２の復号工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項８】
複数の画素データで構成されるブロックを単位に、ラスタースキャン順に符号化された符号化画像データを復号し、復号して得られた画像データを印刷手段に出力する画像処理装置の制御方法であって、
前記印刷手段で印刷する領域を指定する領域指定工程と、
前記符号化画像データから、ブロック単位の符号化データを順に復号する第１の復号工程と、
該第１の復号工程で復号する対象の着目ブロックの位置が、前記領域指定工程で指定された領域の左端に位置するか否かを判定する判定工程と、
該判定工程で着目ブロックの位置が、前記領域の左端に位置すると判断した場合、前記着目ブロックの符号化データを再復号するための、前記符号化画像データにおける前記着目ブロックの符号化データの所在位置を含む部分復号情報を復号用テーブルに登録する登録工程と、
前記登録工程による前記領域の左端の所在位置情報の登録が完了した場合、前記復号用テーブルを参照して、
前記領域の垂直方向の長さ×予め設定された水平方向の長さ
で規定される部分領域の符号化データを復号し、復号して得られた前記部分領域の画像データを前記印刷手段に出力する第２の復号工程と
該第２の復号工程によって復号した前記部分領域画像の右端に位置するブロックの復号の結果から得られる、前記部分領域画像の右隣の部分領域画像の左端に位置する各ブロックの部分復号情報で前記復号用テーブルを更新し、前記第２の復号工程による復号処理を実行させることを、前記領域指定工程で指定した領域の画像を前記印刷手段への出力が完了するまで繰り返す制御工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項９】
コンピュータに読込ませ実行させることで、前記コンピュータを請求項１乃至６のいずれか１項に記載の画像処理装置として機能させることを特徴とするコンピュータプログラム。
【請求項１０】
請求項９に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化された画像データを復号化するための画像処理装置に関する。
【背景技術】
【０００２】
近年普及しているディジタルカメラの多くは、画像圧縮符号化技術としてＪＰＥＧ符号化方式を用いている。
【０００３】
ＪＰＥＧ符号化方式においては、符号化対象の静止画像を８×８画素のブロックに分割し、各ブロックを離散コサイン変換して、変換係数ブロックを生成する。その後、変換係数ブロック内の各変換係数を量子化し、該量子化した変換係数を一定の順序で走査して読出し、変換係数が連続して０となる個数と、変換係数が０以外の値の組に対して、可変長符号語を割り当てて符号化する。
【０００４】
ところで、画像データを取り扱うに際して、入力された画像に対して復号後、出力される画像に対して所定の角度だけ回転させて、指定された領域を切り出して印刷したい場合が考えられる。ディジタルカメラで撮影したＪＰＥＧ画像をプリンタで印刷出力する際に、用紙のサイズや画像のレイアウトに応じて切り出し、９０°、１８０°、あるいは２７０°回転させた状態で出力させたい場合も多い。
【０００５】
このような場合に、対象となるＪＰＥＧ画像の全体を復号して印刷領域を切り出し、しかる後に所定の角度だけ回転処理を施す方法も考えられる。
【０００６】
しかし、この方法によると、復号した画像の全体を一時的に保持するための大容量メモリが必要となるばかりでなく、大容量の画像データを回転処理するために回転処理の所要時間も増大するという問題が生ずる。
【０００７】
このような問題を解決する従来技術として、特許文献１が知られている。
【０００８】
この文献によると、まず、符号化画像データを最初から順番に復号し、図５（ａ）に例示する原画像中に予め定めた起点ブロックを復号するために必要となる復号情報を得る。そして、全ての起点ブロックについて、得られた復号情報を復号用のテーブルに登録する。なお、復号用のテーブルには画像データの左端の列にあるブロック（図５（ａ）の参照符号２０１）と、所定の間隔を空けた列のブロック（図５（ａ）の参照符号２０２〜２０６）の復号情報が登録される。
【０００９】
印刷領域が指定されると、復号用のテーブルに登録されている復号情報を基に、印刷領域の左端に最も近く、且つその左側に位置する起点ブロックＴ１〜Ｔｎ（図５（ａ））を選択する。選択されたブロックを起点として復号処理を行い、印刷領域２０７を切り出して所定の角度だけ回転させて復号画像データバッファに出力する。そして、この処理を、各ブロックの列を基準にして実行することで、図５（ｃ）乃至（ｇ）に示すように、上記の所定の間隔の画像を復号し、印刷処理が行える。
【特許文献１】特開２００１−８６３１８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来技術では、印刷領域外のブロックの復号情報も復号用のテーブルに登録してしまうため、該テーブルのサイズが大きくなるという課題があった。例えば図５（ａ）に示されるように、原画像中の左端のＭＣＵ（T1,T2…,Tn）は印刷領域外（実際には印刷されない部分）に位置するブロックであるにも関わらず、復号情報がテーブルに登録される。
【００１１】
また、印刷領域の端部に位置するブロックの復号情報が復号用のテーブルに存在するとは限らない。よって、上記テーブルに登録されているブロックのうち、最寄りのブロックを起点として復号する必要がある。例えば、図５（ｂ）に示されるように印刷領域内の左端に復号用テーブルは存在していないので、印刷領域（図５（ｂ）の参照符号２０８の領域）外に位置するブロック（図５（ｂ）の参照符号２０９）もＴ４乃至Ｔ１５を起点にして復号しなければならない。以上に説明した印刷領域外のブロックを復号する処理は、印刷処理を行う上でオーバーヘッドとなってしまう。
【００１２】
本発明は、かかる課題に鑑みなされたものであり、これまでよりも少ない容量の復号用テーブルを用いながらも、符号化画像データで表わされる画像中の部分的な領域を印刷することを可能ならしめる技術を提供しようとするものである。
【課題を解決するための手段】
【００１３】
かかる課題を解決するため、例えは本発明の画像処理装置は以下の構成を備える。すなわち、
複数の画素データで構成されるブロックを単位に、ラスタースキャン順に符号化された符号化画像データを復号し、復号して得られた画像データを印刷手段に出力する画像処理装置であって、
前記印刷手段で印刷する領域を指定する領域指定手段と、
前記符号化画像データから、ブロック単位の符号化データを順に復号する第１の復号手段と、
該第１の復号手段で復号する対象の着目ブロックの位置が、前記領域指定手段で指定された領域内にあるか否かを判定する判定手段と、
該判定手段で着目ブロックの位置が、前記領域内に位置すると判断した場合であって、前記着目ブロックが前記領域の左端に位置する、或いは、前記着目ブロックの水平方向の位置が前記領域の左端のブロックから予め設定されたブロック数Ｂの整数倍に位置する場合、前記着目ブロックの符号化データを再復号するための、前記符号化画像データにおける前記着目ブロックの符号化データの所在位置を含む部分復号情報を復号用テーブルに登録する登録手段と、
前記登録手段による前記領域内の各ブロックの部分復号情報の登録が完了した場合、前記復号用テーブルを参照して、
前記領域の垂直方向の長さ×前記Ｂで示される水平方向の長さ
で規定される部分領域の符号化データを復号し、復号して得られた前記部分領域の画像データを前記印刷手段に出力する第２の復号手段とを備える。
【発明の効果】
【００１４】
本発明によれば、これまでよりも少ない容量の復号用テーブルを用いながらも、符号化画像データで表わされる画像中の部分的な領域を印刷することが可能になる。
【発明を実施するための最良の形態】
【００１５】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【００１６】
［第１の実施形態］
第１の実施形態における画像処理装置を適用した印刷装置の構成を図１に示し、説明する。
【００１７】
本装置は、ＪＰＥＧ符号化画像データを復号し、印刷する。ＪＰＥＧ符号化画像データは、不図示のメモリカードスロットに装着されたメモリカードから読込むものとするが、ＪＰＥＧ符号化画像データの発生源はこれに限定されず、その種類は問わない。
【００１８】
ＪＰＥＧ符号化方式では、複数の画素データ（一般には、８×８画素）で構成される画素ブロックを少なくとも１つ含むＭＣＵ（Minimum Coded Unit）のブロック単位に、符号化、復号を行う。符号化の際には、ＭＣＵ内の着目ブロックについてＤＣＴ変換を行い、変換によって得られた変換係数を量子化し、更にエントロピー符号化を行う。１つのＭＣＵの符号化データを得ると、ＭＣＵを単位とするラスタースキャン順に符号化処理を行う。一方、復号する場合には、エントロピー復号、逆量子化、逆ＤＣＴ変換を行うことで画素ブロックを復号する。ここで、ＤＣＴ変換で得られたＤＣ成分は、直前のＭＣＵを構成する変換係数ブロックのＤＣ成分を予測値（ＤＣ予測値）とする予測符号化を行われる。説明を単純なものとするため、本実施形態では１ＭＣＵ＝１画素ブロックとして説明する。なお、本発明は、ＪＰＥＧ符号化方式に限定されるものではなく、例えばＭＰＥＧ符号化方式で符号化された画像データを処理してもよい。
【００１９】
さて、図１に示す印刷装置の構成において、１０は本発明の画像処理装置であり、指定された印刷領域のみ復号処理を行う。２０は、復号画像データバッファ１０７に格納されている復号画像データに対して、印刷に関わる諸々の画像処理を施す画像処理部である。画像処理部２０によって行なわれる画像処理は、例えば回転処理、色変換やハーフ・トーン化などが挙げられるが、当業者には周知であるので、ここでは説明しない。また、本発明は画像処理部２０によって実行される画像処理の方法に限定されないことは言うまでもない。
【００２０】
３０は、画像処理部２０から出力された画像データを印刷する印刷部である。
【００２１】
なお、本実施形態の画像処理装置は印刷装置に適用されるが、本発明は無論これに限定されるものではない。例えば、表示装置に適用してもよい。
【００２２】
さらに、画像処理装置１０は以下の構成を有する。
【００２３】
１０１は、印刷領域を指定するための印刷領域指定部である。印刷領域は、例えば、ユーザーがタッチパネル等の装置を介して指定してもよいし、用紙サイズを検出し、その用紙サイズにおける長辺と短辺の比率からなるアスペクト比に基づいて指定してもよい。なお、本発明はこれらの印刷領域の指定方法に限定されるものではない。
【００２４】
１０２は、復号テーブル作成部１０３と復号部１０５を制御する制御部である。制御部１０２は印刷領域指定部１０１で指定された印刷領域を基に、符号化画像データ内における印刷領域の起点となるＭＣＵの位置を復号テーブル作成部に指定する。さらに、指定された印刷領域を復号するように復号部１０５を制御する。
【００２５】
１０３は、符号化画像データ１０４と、制御部１０２で指定された印刷領域の情報を基に、復号テーブルを作成する復号テーブル作成部である。復号テーブル作成部１０３は、制御部１０２の指示を基に、符号化画像データを復号し、指定されたＭＣＵを再復号するための、符号化画像データ内におけるＭＣＵの位置（ファイルポインタ＝ビット単位の所在位置情報）とＤＣ予測値を取り出す。以降、ＭＣＵのファイルポインタとＤＣ予測値を「部分復号情報」と記す。復号テーブル作成部１０３は、上記部分復号情報を復号テーブル１０６に登録する。
【００２６】
復号部１０５は、入力される符号化画像データ１０４に対し、制御部１０２によって指定されたＭＣＵを起点として復号し、復号画像データを復号画像データバッファ１０７に出力する。なお、復号部１０５は、１ＭＣＵの復号処理を終えたとき、参照した符号化データ長（ビット数）を復号テーブル作成部１０３に通知する。復号テーブル作成部は、この符号化データ長を累積加算することで、それまで何ビット分の符号化データが復号されたか否か、換言すれば、次のＭＣＵの符号化データ先頭アドレスを知る。
【００２７】
１０６は、復号テーブル作成部１０３で作成された復号テーブルを格納する復号テーブルメモリである。１０７は、復号部１０５で復号された復号画像データを格納する復号画像データバッファである。
【００２８】
次に、復号テーブル作成部１０３の処理と、復号部１０５の処理について、図２のフローチャート及び図３の概念図を用いて詳細に説明する。
【００２９】
なお、説明に先立ち、出力領域指定部１０１において、符号化画像データで表わされる画像の印刷領域は既に指定されているものとする。
【００３０】
図２は本実施形態の画像処理装置の動作を概念的に表すフローチャートである。
【００３１】
図３は本実施形態の画像処理装置によって部分復号情報が復号テーブルに登録されるＭＣＵの位置を例示する概念図である。
【００３２】
図２及び図３において、H_INDEXは処理対象のＭＣＵの水平座標を表す変数である。V_INDEXは処理対象のＭＣＵの垂直座標を表す変数である。H_MINは印刷領域の左端の水平座標であり、H_MAXは印刷領域の右端の水平座標である。V_MINは印刷範囲内の上端の垂直座標であり、V_MAXは下端の垂直座標である。H_P_MAXは画像データの右端の水平座標である。カウンタｉは処理対象のＭＣＵの印刷領域における水平座標を表す変数である。また、復号画像データバッファ１０７は印刷領域の垂直方向のＭＣＵ数（V_MAX - V_MIN + 1）×B個のＭＣＵの復号画像データを格納できるバッファサイズを備えている。
【００３３】
また、以下の説明から明らかになるが、復号処理は第１の復号ステージと第２の復号ステージに大別される。
【００３４】
ステップＳ１０１乃至Ｓ１１４は第１の復号ステージに対応するものであり、復号テーブル作成部１０３による処理である。なお、この第１の復号ステージにおける復号処理では、復号して得られた画像データを復号画像データバッファ１０７には出力しない。
【００３５】
まず、符号化画像ファイルポインタを、符号化画像の先頭のＭＣＵが位置する符号化画像データ１０４内部のアドレスに設定する（ステップＳ１０１）。上記先頭のＭＣＵとは、画像の左上に位置するＭＣＵである。次に、V_INDEX、H_INDEXを各々“１”に初期化することにより、最初の処理対象のＭＣＵを画像の左上（１，１）（図３参照）とする（ステップＳ１０２〜Ｓ１０３）。
【００３６】
次に、H_INDEX列、V_INDEX行に位置する着目ＭＣＵを復号する（ステップＳ１０４）。なお、ステップＳ１０４における復号処理では、ＭＣＵの画像データまで復号する必要はなく、着目ＭＣＵの符号化データのデータ量の判定と、着目ＭＣＵのＤＣ予測値（直前のＭＣＵのＤＣ成分値）が判明すれば十分である。
【００３７】
次に、処理対象となる着目ＭＣＵが印刷領域指定部１０１で指定された印刷領域内に位置するか否かを判定する（ステップＳ１０５、Ｓ１０６）。
【００３８】
着目ＭＣＵが印刷領域内に位置するのは、次の２式を満足する場合である。
H_MIN≦H_INDEX≦H_MAX
V_MIN≦V_INDEX≦V_MAX
【００３９】
ステップＳ１０５にて、着目ＭＣＵが印刷領域外にあると判定した場合、処理はステップＳ１１１に移行する。
【００４０】
また、ステップＳ１０５にて、着目ＭＣＵが印刷領域内にあると判断した場合、処理はステップＳ１０６に進み、着目ＭＣＵが印刷領域の左端（図３におけるH_MIN列）に位置しているか否かを判定する。印刷領域の左端に位置している場合は（ステップＳ１０６でYes）、カウンタｉを０に設定する（ステップＳ１０７）。そうでない場合（ステップＳ１０６でNo）は、ステップＳ１０８へ移行する。
【００４１】
ステップＳ１０８では、カウンタｉをバッファサイズＢで除算し、その余りは“０”であるか否かを判定する。余りが“０”であった場合（ステップＳ１０８でYes）、着目ＭＣＵの部分復号情報を復号テーブル１５に登録し（ステップＳ１０９）、余りが“０”以外であった場合（ステップＳ１０８でNo）、ステップＳ１１０へ移行する。
【００４２】
ステップＳ１１０では、カウンタｉに“１”を加算する（ステップＳ１１０）。
【００４３】
次に、ステップＳ１１１にて、印刷領域内の全ＭＣＵを全て復号し終えたか否かを判定する。全て復号し終えていれば（ステップＳ１１１でYes）ステップＳ１１５へ移行する。そうでなければ（ステップＳ１１１でNo）、変数H_INDEXに“１”を加算し（ステップＳ１１２）、H_INDEX列に位置するＭＣＵを全て復号し終えたか否かを判定する（ステップＳ１１３）。H_INDEX列に位置するＭＣＵを全て復号し終えていなければ（ステップＳ１１３でNo）、ステップＳ１０４へ処理を戻す。また、そうでない場合（ステップＳ１１３でYes）は、H_INDEXを“１”にし、V_INDEXに“１”を加算し（ステップＳ１１４）、ステップＳ１０４へ移行する。つまり１つ下の行のＭＣＵの復号処理に移行することになる。
【００４４】
上記処理により、ステップＳ１１１の判定が、Ｙｅｓとなった場合、印刷領域内の水平方向の座標H_MIN, H_MIN+B,H_MIN+2B，…と、Ｂの整数倍だけ隔てたＭＣＵ列の部分復号情報が、復号テーブルメモリ１０６に復号用のテーブルとして格納されることになる。つまり、復号用のテーブルの作成が完了する。また、上記の説明からも明らかなように、着目ＭＣＵが位置が、印刷領域の右下隅の位置に到達したとき、それ以降の復号処理は行わないので、復号用テーブルを作成する時間を短縮できる。
【００４５】
次のステップＳ１１５〜Ｓ１２２は、第２の復号ステージに対応するものであり、復号部１０５による処理である。
【００４６】
まず、H_INDEXにH_MINを設定（ステップＳ１１５）した後、V_INDEXにV_MINを設定する（ステップＳ１１６）。つまり、復号する着目ＭＣＵの位置を、印刷領域の左上隅の位置に設定する。次に、図１の復号テーブルメモリ１０６からV_INDEX行、H_INDEX列に位置するＭＣＵの部分復号情報を読み出す（ステップＳ１１７）。そして、その部分復号情報に基づき、着目ＭＣＵから水平方向にＢ個のＭＣＵを順に復号し、復号画像データバッファ１０７に出力する（ステップＳ１１８）。
【００４７】
次に、V_INDEXに“１”を加算する（ステップＳ１１９）。この後、ステップＳ１２０にて、H_INDEX列を起点としたＢ個のＭＣＵを、印刷領域の上端(V_MIN)から下端(V_MAX)まで全て復号し終えたか否かを判定する（ステップＳ１２０）。復号が終了している場合（ステップＳ１２０でYｅｓ）は、H_INDEXにBを加算する（ステップＳ１２１）。そうでない場合は、ステップＳ１１７に戻る。
【００４８】
ここで、ステップＳ１２０の判定がＹｅｓとなった場合、復号画像データバッファ１０７には、「印刷領域の垂直方向の長さ×ブロック数Ｂで特定される水平方向の長さ」で規定される部分領域画像データが格納されていることになる。従って、この部分領域画像データの復号処理を終えると、復号部１０５は画像処理部２０に対して、画像処理と印刷処理の開始を指示する信号を出力する。
【００４９】
ステップＳ１２１の後、印刷領域内に位置するＭＣＵを全て復号し終えたか否かを判定する（ステップＳ１２２）。全て復号し終えた場合（ステップＳ１２２でYes）、印刷領域内のＭＣＵを全て復号し終えているので、処理を終了する。そうでない場合（ステップＳ１２２でNo）は、ステップＳ１１６に戻る。
【００５０】
本実施形態の画像処理装置による復号処理と、従来技術による復号処理との違いを、図４および図５を用いて説明する。
【００５１】
図４（ａ）乃至（ｆ）は、本実施形態の画像処理装置によって復号テーブルが作成される様子を示した概念図である。図５（ａ）乃至（ｆ）は、従来技術の画像処理装置によって復号テーブルが作成される様子を示した概念図である。また、復号画像データバッファ１０７（図１）は、４列分のＭＣＵを格納できるものとする。即ち、図２のフローチャート及び図３の概念図において、Ｂ＝４とする。
【００５２】
なお、復号画像データバッファ１０７の容量をＣとし、１つのＭＣＵの復号画データのデータ量（＝画素数×色成分数×１つの色成分のビット数）をＤとしたとき、Ｂの値は次式を満たす最大整数ということができる。
Ｄ×Ｂ×（V_MAX−V_MIN＋１)≦Ｃ
【００５３】
従来技術では、図５（ａ）に示すように、２０１〜２０６の列に位置する全てのＭＣＵの部分復号情報を復号テーブルに登録する。上記復号テーブルを参照して、復号画像データ内の最も左の列のＭＣＵ（T1〜Tn）を起点として部分的に復号を行う。図５（ｂ）に示すように、印刷領域内に位置する領域２０８のみを復号画像データバッファ１０７に格納するにも関わらず、領域２０９に位置するＭＣＵも復号する処理が発生している。
【００５４】
これに対して、本実施形態の画像処理装置では、図４（ａ）に示す、印刷領域内の４０１〜４０５列に位置するＭＣＵの部分復号情報が復号テーブルに登録される。図２のステップＳ１１６〜Ｓ１１９の処理により、印刷領域の最も左のＭＣＵ（図４の１０１）を起点として４列分の復号画像データが復号画像データバッファ１０７に格納される（図４（ｂ））。次に、ステップＳ１１７〜ステップＳ１２０の処理により、５列目のＭＣＵを起点として４列分の復号処理が部分的に行なわれる（図４（ｃ））。さらに、９列目（図４（ｄ））、１３列目（図４（ｅ））、１７列目（図４（ｆ））を各々起点として、４列分のＭＣＵの復号処理が順番に行なわれる。
【００５５】
本実施形態では、復号テーブルに部分復号情報が登録されるＭＣＵ（図４（ａ））が従来技術（図５（ａ））よりも少なくなっている。よって、復号テーブルが従来よりも小さくなる。また、印刷指定領域内の復号画像データに対して復号処理を行うだけで済み、さらに、印刷領域内の終端に到達した時点で復号処理を打ち切ることが出来るので、従来よりも高速な印刷が可能となる。
【００５６】
［第２の実施形態］
第２の実施形態を説明する。本第２の実施形態が適用する印刷装置の構成は、図１に示す第１の実施形態と同じである。第１の実施形態と異なる点は、本第２の実施形態の画像処理装置の復号テーブル作成部１０３、復号部１０５の処理である。
【００５７】
以下、第２の実施形態の処理手順を、図６のフローチャート、並びに、図７を参照して説明する。
【００５８】
まず、符号化画像ファイルポインタを、符号化画像の先頭のＭＣＵが位置する符号化画像データ１０４内部のアドレスに設定する（ステップＳ２０１）。上記先頭のＭＣＵとは、画像の左上に位置するＭＣＵである。次に、変数V_INDEX、H_INDEXをそれぞれ“１”に初期化することにより、最初の処理対象のＭＣＵを画像の左上（１，１）（図３参照）とする（ステップＳ２０２〜Ｓ２０３）。
【００５９】
次に、H_INDEX列、V_INDEX行に位置する着目ＭＣＵを復号する（ステップＳ２０４）。次に、着目ＭＣＵが印刷領域指定部１０１で指定された印刷領域内の左端に位置するＭＣＵか否かを判定する（ステップＳ２０５）。
【００６０】
この判定は、H_INDEX及びV_INDEXが次の２式を満足するか否かで判定すればよい。
H_MIN＝H_INDEX
V_MIN≦V_INDEX≦V_MAX
【００６１】
着目ＭＣＵが印刷領域の左端ＭＣＵ以外である場合には、ステップＳ２０６に進み、H_INDEXに“１”を加算する。
【００６２】
一方、着目ＭＣＵが印刷領域指定部１０１で指定された印刷領域内の左端に位置すると判定した場合（上記２式が成立する場合）、そのＭＣＵの部分復号情報（直前のＭＣＵの復号して得られたＤＣ成分の予測値と、着目ＭＣＵの符号化データの位置）を復号テーブルメモリ１０６に登録する（ステップＳ２０７）。次に、印刷領域の左端のＭＣＵを全て復号したか否かを判定する（ステップＳ２０８）。
【００６３】
全て復号した場合は（ステップＳ２０８でYes）、ステップＳ２１１へ移行する。また、未完の場合には（ステップＳ２０８でNo）、ステップＳ２０９に進み、着目ＭＣＵから画像の右端まで復号処理を行う。
【００６４】
この後、ステップＳ２１０に進み、変数H_INDEXを“１”にし、V_INDEXに“１”を加算する。そして、ステップＳ２０４に処理を戻す。
【００６５】
上記の結果、ステップＳ２０８の判定がＹｅｓとなった時点では、図７に示すように印刷領域の左端の復号テーブルが復号テーブルメモリ１０６に作成されることになる。
【００６６】
ステップＳ２１１〜Ｓ２１９は、復号部１０５による処理である。
【００６７】
まず、H_INDEXにH_MIN（印刷領域の左端）を設定（ステップＳ２１１）した後、V_INDEXにV_MIN（印刷領域の上端）を設定する（ステップＳ２１２）。
【００６８】
次に、図１の復号テーブルメモリ１０６からV_INDEX行、H_INDEX列に位置する着目ＭＣＵの部分復号情報を読み出す（ステップＳ２１３）。これは、図７における座標（３，４）に位置するＭＣＵを起点とすることと等価のものである。そして、起点として設定された着目ＭＣＵから、水平右方向にＢ個のＭＣＵを復号し復号画像データバッファ１０７に出力する（ステップＳ２１４）。このとき、H_INDEXの値は、最後に復号したＢ個目のＭＣＵの水平座標位置になっている。
【００６９】
次に、H_INDEXに１を加算したＭＣＵの部分復号情報で復号テーブルメモリ１０６を更新する（ステップＳ２１５）。図７を用いて説明するのであれば、座標（３，４）のＭＣＵの部分復号情報を、座標（Ｂ＋３，４）の部分復号情報で更新するものである。
【００７０】
次に、H_INDEXからＢを減算し、V_INDEXに１を加算する（ステップＳ２１６）。この結果、着目ＭＣＵは、座標（３，４）の直下の座標（４，４）に移動することになる。
【００７１】
次に、印刷領域内のH_INDEX列に位置するＭＣＵを全て復号したか否かを判定する（ステップＳ２１７）。全て復号し終えていた場合は（ステップＳ２１７でYes）、ステップＳ２１８へ移行する。そうでない場合は（ステップＳ２１７でNo）、ステップＳ２１３へ移行する。
【００７２】
ここで、ステップＳ２０７がＹｅｓと判定された場合、左端からＢブロック分の復号処理が完了し、尚且つ、復号テーブルメモリ１０６は、その復号済みの部分領域の右隣の部分領域の左端のＭＣＵの部分復号情報で更新されていることに注意されたい。
【００７３】
従って、ステップＳ２１７がＹｅｓと判定され、ステップＳ２１８に以降した場合には、H_INDEXにＢを加算する。そして、印刷領域内に位置するＭＣＵを全て復号したか否かを判定する（ステップＳ２１９）。印刷領域内のＭＣＵを全て復号し終えた場合は（ステップＳ２１９でYes）、処理を終了する。そうでなかった場合は（ステップＳ２１９でNo）、ステップＳ２１２へ移行する。
【００７４】
本第２の実施形態の画像処理装置は、図７に示したように印刷領域内の左端の復号テーブルを作成した後、ステップＳ２１２〜２１６の間の処理で復号テーブルは順次更新されていく。そのため、復号テーブルに必要な容量が印刷領域の垂直方向のＭＣＵ数分（図７の場合には、V_MAX-3個分）だけで済むので、第１の実施形態の画像処理装置よりも復号テーブルに必要となるメモリ容量が削減される。
【００７５】
［その為の実施形態］
以上説明した第１，第２の実施形態における画像処理装置１０の機能を、汎用の情報処理装置（例えばパーソナルコンピュータ等）が、コンピュータプログラムを実行することで、実現しても構わない。この場合のコンピュータプログラムの処理手順は、図２や図６の手順に従って処理を行えば良い。但し、復号テーブルメモリ１０７は主記憶装置に確保することになる。
【００７６】
従って、本発明はコンピュータプログラムをその範疇とする。
【００７７】
更に、通常、コンピュータプログラムは、ＣＤ−ＲＯＭ等のコンピュータ可読記憶媒体に格納されており、それをコンピュータが有する読取り装置（ＣＤ−ＲＯＭドライブ等）にセットし、システムにコピーもしくはインストールすることで実行可能になる。従って、かかるコンピュータ可読記憶媒体も本発明の範疇にあることもまた明らかである。
【図面の簡単な説明】
【００７８】
【図１】第１の実施形態の画像処理装置とそれを適用した印刷装置のブロック構成図である。
【図２】第１の実施形態の画像処理装置の処理手順を示すフローチャートである。
【図３】第１の実施形態の画像処理装置によって部分復号情報が復号テーブルに登録されるＭＣＵの位置を例示する概念図である。
【図４】第１の実施形態の画像処理装置によって画像が復号される様子を例示する概念図である。
【図５】従来技術の画像処理装置によって画像が復号される様子を例示する概念図である。
【図６】第２の実施形態の画像処理装置の処理手順を示すフローチャートである。
【図７】第２の実施形態の画像処理装置によって部分復号情報が復号テーブルに登録されるＭＣＵの位置を例示する概念図である。
【図１】
2010074410.tif 000003
【図２】
2010074410.tif 000004
【図３】
2010074410.tif 000005
【図４】
2010074410.tif 000006
【図５】
2010074410.tif 000007
【図６】
2010074410.tif 000008
【図７】
2010074410.tif 000009