(57)【要約】【課題】符号化画像データに対し、所定のブロックから部分的に復号化する処理を行うに際し、その処理をあらかじめ抽出された領域の画像のみに適用する。【解決手段】所定のブロックから成る符号化画像データのうち、１度全ての画像データを復号化し、その結果から抽出された任意の領域を部分的に復号化するための情報を取得することで、抽出された任意の領域を部分的に復号化することを可能にする。【選択図】  図１
2010161667.tif 000002
【特許請求の範囲】
【請求項１】
符号化画像データにおいて、指定された任意の領域を復号化し出力する画像処理装置であって、
前記符号化画像データにおいて部分的に指定された領域の復号を行うための復号化情報と前記指定された領域を特定するための領域特定情報とを有する復号化のためのテーブルを作成する復号テーブル作成手段と、
前記復号テーブル作成手段にて生成した復号テーブルを保持する復号テーブル保持手段と、
前記復号テーブル保持手段に保持された情報に基づいて前記指定された領域における前記符号化画像データを復号処理する復号化手段と
を有する画像処理装置。
【請求項２】
前記符号化データは、ブロック単位で符号化されており、
前記復号テーブル作成手段は、前記指定された領域の復号化を開始する起点ブロックの位置と終了するブロックの位置とを含む前記領域特定情報を生成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記符号化データは、ブロック単位で符号化されており、
前記復号テーブル作成手段は、前記指定された領域の復号化を開始する起点ブロックの位置と前記起点ブロックから続けて復号化するブロックの数とを含む前記領域特定情報を生成することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記符号化データは、ブロック単位で符号化されており、
前記復号テーブル作成手段は、前記符号化画像データをその先頭からブロック単位で順に復号化し、前記起点ブロックの復号化におけるＤＣ成分の予測値を前記復号テーブルの一部として生成することを特徴とする請求項１乃至３のいずれか一項に記載の画像処理装置。
【請求項５】
前記復号化手段から出力された復号画像データを格納する復号画像データ保持手段を更に有し、
前記復号画像データ保持手段は、少なくとも前記符号化画像データの１ライン分のブロックを格納するサイズを有することを特徴とする請求項１乃至４のいずれか一項に記載の画像処理装置。
【請求項６】
前記復号画像データ保持手段は、前記復号画像データを展開する際に、前記復号画像データを９０度回転した状態で出力することを特徴とする請求項１乃至５のいずれか一項に記載の画像処理装置。
【請求項７】
符号化画像データにおいて、指定された任意の領域を復号化し出力する画像処理装置の制御方法であって、
前記画像処理装置の復号テーブル作成手段が、前記符号化画像データにおいて部分的に指定された領域の復号を行うための復号化情報と前記指定された領域を特定するための領域特定情報とを有する復号化のためのテーブルを作成する復号テーブル作成工程と、
前記画像処理装置の復号テーブル保持手段が、前記復号テーブル作成工程にて生成した復号テーブルを保持する復号テーブル保持工程と、
前記画像処理装置の復号化手段が、前記復号テーブル保持工程に保持された情報に基づいて前記指定された領域における前記符号化画像データを復号処理する復号化工程と
を有する制御方法。
【請求項８】
コンピュータを、
前記符号化画像データにおいて部分的に指定された領域の復号を行うための復号化情報と前記指定された領域を特定するための領域特定情報とを有する復号化のためのテーブルを作成する復号テーブル作成手段と、
前記復号テーブル作成手段にて生成した復号テーブルを保持する復号テーブル保持手段と、
前記復号テーブル保持手段に保持された情報に基づいて前記指定された領域における前記符号化画像データを復号処理する復号化手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化された画像データを復号化するための画像処理装置に関する。
【背景技術】
【０００２】
近年普及しているディジタル・カメラの画像圧縮機能には、静止画像符号化方式としてＪＰＥＧ符号化方式が広く用いられている。
【０００３】
ＪＰＥＧ符号化方式においては、符号化対象の静止画像を８×８画素のブロックに分割し、各ブロックを離散コサイン変換して、変換係数ブロックを生成する。その後、前記変換係数ブロック内の各変換係数を量子化し、該量子化した変換係数を一定の順序で走査する。走査された変換係数が連続して０となる個数と、変換係数が０以外の値の組に対して、可変長符号を割り当てて符号化する。
【０００４】
ところで、画像データを取り扱うに際して、入力された画像に対して復号化後、出力される画像に対して所定の角度だけ回転させたい場合や、任意の領域を切り出したい場合が考えられる。具体的には、ディジタル・カメラで撮影したＪＰＥＧ画像をプリンタで印刷出力する際に、用紙のサイズや画像のレイアウトに応じて、ＪＰＥＧ画像を９０°、１８０°、あるいは２７０°回転させた状態で出力させたり、指定された領域のみ印刷出力させたりする場合などが挙げられる。このような場合に、対象となるＪＰＥＧ画像の全体を復号し、しかる後に所定の画像処理を行う方法も考えられる。
【０００５】
しかし、この方法によると、復号した画像の全体を一時的に保持するための大容量メモリが必要となるばかりでなく、大容量の画像データを回転処理や切り出し処理を行うために、画像処理に係る所要時間も増大し、これに伴って、処理負荷も増大するという問題が生じる。このような問題を解決する１つの従来技術として、特許文献１が開示されている。
【０００６】
従来技術では、まず、非可逆圧縮された画像ファイルを途中から復元するために起点ブロックを予め定めておき、一度先頭から連続的に復元することによって、これら起点ブロックのファイルポインタとＤＣ成分とを格納し、これらのデータを利用することによって、圧縮データを途中から迅速に復元することを可能とする。更に、予め入力された回転角度を基に回転させた状態とした時に上方に位置するブロックから順に復号化データを出力する。
【０００７】
従来技術では、まず、符号化画像データを最初から順番に復号化し、原画像中に予め定めた起点ブロックを復号化するために必要とされる復号情報を得る。しかる後に、前記復号情報を利用して前記符号化画像データを前記起点ブロックから復号化し、所定の角度だけ回転させて画像バッファに出力する。以上の処理を行うことにより、前記原画像を前記所定の角度だけ回転させた状態とした時に上方に位置するブロックから順に復号化データを出力可能とする。
【特許文献１】特許第３６６１５２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来技術では、部分的に復号化する処理を実施するために必要な起点ブロックを、入力される画像のブロック全体について設定する。そのため、本来復号化する処理が必要でないブロックまでを復号化対象として処理を行うこととなる。その結果、全ての画像を復号化する処理が完了するまでに時間がかかるという問題があった。更に、復号化時に同時に行われる画像処理も、回転処理のみを対象としていたため、指定の領域を切り出す処理は想定されていなかった。
【０００９】
そこで本発明は、符号化画像データにおいて所定のブロックから部分的に復号化する処理を、切り出された任意の対象領域のみに適用し、全体として復号化処理を行う時間を短縮することを目的とする。
【課題を解決するための手段】
【００１０】
以上に説明した課題を解決するために、本発明の画像復号化装置は、以下の構成を備える。符号化画像データにおいて、指定された任意の領域を復号化し出力する画像処理装置であって、前記符号化画像データにおいて部分的に指定された領域の復号を行うための復号化情報と前記指定された領域を特定するための領域特定情報とを有する復号化のためのテーブルを作成する復号テーブル作成手段と、前記復号テーブル作成手段にて生成した復号テーブルを保持する復号テーブル保持手段と、前記復号テーブル保持手段に保持された情報に基づいて前記指定された領域における前記符号化画像データを復号処理する復号化手段とを有する。
【発明の効果】
【００１１】
本発明の画像復号化装置では、切り出された領域における所定のブロックを起点として、部分的に復号化するために必要な情報を有する復号用のテーブルを作成する。更に復号用のテーブルが作成される時に、復号画像がバッファに格納される。上記により、従来よりも復号化対象となる領域が削減され、意図するブロックに対してのみの復号化処理で済む。これによって、復号化処理が全て終了するまでの処理時間が短縮される。更には、復号画像データがバッファに格納されるまでの時間が短縮されるので、画像処理、印刷や表示といった復号画像に対する各種の処理が高速になる。
【発明を実施するための最良の形態】
【００１２】
＜実施形態１＞
本発明が適用可能な実施形態１の画像処理装置の構成を、図１のブロック図を参照して説明する。図１において、１１は入力画像を読み込むためのスキャン処理部である。符号化部１２はスキャン処理部１１で読み込んだ入力画像に対し、符号化処理を実行する。なお、本実施形態ではＪＰＥＧ符号化形式でブロック単位で符号化された例を想定する。本実施形態では、符号化部１２は任意の領域画像について符号化処理のみを行う。さらに、符号化処理時に任意の領域画像を部分的に復号化する際に起点となるブロック位置と、終了するブロック位置情報を抽出し、抽出した情報を出力しても良い。符号化画像データバッファ１３は、符号化部１２で符号化された符号化画像データのファイルを格納するバッファである。画像抽出部１４は、スキャン処理部１１で読み込んだ原画像から任意の領域を抽出して、任意の領域画像についての情報を取得する。画像抽出部１４で行われる任意の領域の抽出処理は、例えばエッジ検出や位置座標からの抽出などが挙げられるが、当業者には周知の処理であるためここでは説明しない。画像復号化装置１０は、符号化画像データバッファ１３から入力された符号化画像データを用いて画像抽出部１４で抽出された任意の領域の画像を復号化する。
【００１３】
画像復号化装置１０は、上記でも示したようにＪＰＥＧ符号化方式で符号化された画像データを復号化する。ＪＰＥＧ符号化方式では、少なくとも１つの変換係数ブロックから成るＭＣＵ（Ｍｉｎｉｍｕｍ  Ｃｏｄｅｄ  Ｕｎｉｔ）と呼ばれるブロックを処理単位として符号化及び復号化が行なわれる。なお、本発明はＪＰＥＧ符号化方式に限定されるものではなく、例えばＭＰＥＧ符号化方式で符号化された画像データを処理してもよい。
【００１４】
画像復号化装置１０は、以下から構成される。復号化部１０１は、入力された符号化画像データを復号化する。復号化部１０１は、制御部１０４からの指示に基づき、指定された起点ブロックから所定の数のＭＣＵを復号化し、復号画像データを出力する。復号テーブル作成部１０２は、復号化部１０１により復号化された分割ブロックに関する情報である「ＤＣ成分」と「ファイルポインタ」を作成する。
【００１５】
ファイルポインタは、符号化画像データバッファ１３においてＭＣＵが位置するアドレスに対応し、ＭＣＵの位置を特定するために利用される。また、ＪＰＥＧ符号化において、変換係数のうちのＤＣ成分は、直前のＭＣＵを構成する変換係数ブロックのＤＣ成分を予測値として、その予測値と当該変換係数ブロックのＤＣ成分との差分について符号化されている。従って、画像の途中にあるＭＣＵから画像データを復号化したい場合は、当該ＭＣＵのファイルポインタのみならず、直前のＭＣＵを構成する変換係数ブロックのＤＣ成分値をＤＣ予測値として保持しておく必要がある。
【００１６】
復号テーブル格納部１０３は、復号テーブル作成部１０２によって作成された復号テーブルを格納する。これにより復号テーブル保持手段としての機能を有する。制御部１０４は、復号化部１０１と復号テーブル作成部１０２を制御する。復号画像データバッファ１０５は、復号化部１０１によって復号化され出力された画像データを格納する。これにより復号画像データ保持手段としての機能を有する。
【００１７】
＜画像復号化装置における処理のフローチャート＞
図２は本発明による画像復号化装置の動作を概念的に表すフローチャートである。本発明においては、前述の画像ファイルを復号化するに際して、まず図２にステップＳ１００で表したように、画像ファイルをライン毎に順に復号化する。そして、画像抽出部１４で抽出された任意の領域の画像についての起点ブロックが復号化されたら、ステップＳ２００においてその起点ブロックについての復号化情報を格納する。さらに、抽出された領域に対しライン毎の復号化処理に必要となるブロック数を格納する。ここでの起点ブロックとは、図３に示すように画像抽出部１４で抽出された任意の領域の画像に対するライン毎の左端ブロックを指している。そして、前記復号化処理に必要となるブロック数とは、図３に示すライン毎の起点ブロックから終端ブロックまでのブロック数である。この情報が領域を特定するための領域特定情報となる。具体的には図３において、上から３ライン目においては、左から５行目のブロックが起点ブロックとして抽出され、左から６行目のブロックが終端ブロックとして抽出されている。このとき、ブロック数は２となる。同ラインの他のブロックは復号化して出力する対象外であるため、保持するためにテーブルへ格納されない。
【００１８】
上記抽出された任意の領域におけるライン毎の起点ブロックを抽出手段は、復号テーブル作成部１０２により、画像ファイルにおいてライン毎に復号化されたブロックと、画像抽出部１４で抽出された画像のライン毎の左端ブロックとのパターン一致をとり、一致したブロックを起点ブロックとして格納する。
【００１９】
復号化に必要となるブロック数は、上記起点ブロックの抽出処理時に、起点ブロックが抽出されてから終端ブロックが復号化されるまでのブロック数をカウントすることで取得する。このとき、終端ブロックの判定については、画像抽出部１４で予め出力された起点ブロックと共に出力される終端ブロックとのパターン一致をとることで終端ブロックの判定を行い、その結果に基づいて復号化処理に必要となるブロック数を格納する。
【００２０】
次に、図４にステップＳ３００で表したように、復号化情報及び復号化ブロック数情報とを利用して、抽出された任意の領域の起点ブロックから復号化を開始する。つまり、復号テーブル格納部１０３に格納した起点ブロックのデータを利用して、符号化画像データバッファ１３に格納される符号化データを途中から復号化する。そして、ステップＳ４００で表すように復号化された分割ブロックは出力される。その後、引き続き復号化処理が実行される（ステップＳ５００）。そして、ステップＳ６００で表すように、ライン毎に復号化されたブロック数が全て復号化された場合は、次の起点ブロックから新たに復号化を実行する（ステップＳ６００：ＹＥＳ）。
【００２１】
＜部分的復号化処理＞
次に、図４に表した抽出された任意の領域を部分的に復号化して出力する場合の動作について図５を参照して詳細に説明する。図５において用いられている変数はそれぞれ以下を示す。変数Ｈ＿ＩＮＤＥＸは処理対象のＭＣＵの水平位置を表す。変数Ｖ＿ＩＮＤＥＸは処理対象のＭＣＵの垂直位置を表す。変数ＮＵＭ＿Ｈ＿ＭＣＵは、原画像データの水平方向のＭＣＵ数を表す。変数ＰＡＴ＿Ｈ＿ＭＣＵは、抽出された任意の領域データにおける水平方向のＭＣＵ数であり、本実施形態においては復号化に必要となるブロック数を表す。変数ＮＵＭ＿Ｖ＿ＭＣＵは原画像データの垂直方向のＭＣＵ数を表す。変数ＰＡＴ＿Ｖ＿ＭＣＵは、抽出された任意の領域データにおける垂直方向のＭＣＵ数を表す。変数Ｍ＿ＣＯＵＮＴは抽出された任意の領域の画像におけるライン毎の復号処理に必要となるＭＣＵのブロック数を表す。ここで、復号画像データバッファ１０５は、ＮＵＭ＿Ｈ＿ＭＣＵのＭＣＵ数（すなわち、原画像データの１ライン分）を格納できるバッファサイズを備えていることとする。
【００２２】
まず、符号化画像ファイルポインタを、符号化画像（すなわち、原画像データ）の先頭のＭＣＵが位置する符号化画像データバッファ１３内部のアドレスに設定し、初期化する（ステップＳ１０１）。次に、Ｖ＿ＩＮＤＥＸ、Ｈ＿ＩＮＤＥＸ、Ｍ＿ＣＯＵＮＴを各々初期化する（ステップＳ１０２〜Ｓ１０４）。次に、符号化画像データにおいて、復号化処理が完了していない水平方向のＭＣＵ数が０以下か否かを判定する（ステップＳ１０５）。０以下の場合は、Ｓ１１５へ進む。このとき、処理対象となっているＶ＿ＩＮＤＥＸのラインの復号化が終了したとして、次のラインへ処理が移る（ステップＳ１１５）。そうでない場合は、処理対象のＭＣＵに対して復号化処理を行う（ステップＳ１０６）。次に、処理対象のＭＣＵが、抽出された任意の領域における画像の左端（すなわち、パターン一致により抽出された画像の左端ブロック）に位置しているか否かを判定する（ステップＳ１０７）。パターン一致により抽出された画像の左端に位置しているＭＣＵである場合は（ステップＳ１０７：ＹＥＳ）、復号テーブル作成部１０２は当該ＭＣＵのファイルポインタとＤＣ予測値を出力し、復号テーブル格納部１０３にて復号テーブルに登録される（ステップＳ１０８）。これに伴って、制御部１０４は抽出された領域の画像の左端に該当するＭＣＵのＨ＿ＩＮＤＥＸとＶ＿ＩＮＤＥＸとをそれぞれ格納する（ステップＳ１０９）。左端ブロックでない場合は（ステップＳ１０７：ＮＯ）、水平方向のブロックを進め、対象ブロックに対し復号化処理を行う（ステップＳ１１０〜Ｓ１１１）。なお、復号化部１０１は、ステップＳ１０６とＳ１１１のいずれにおいても、Ｈ＿ＩＮＤＥＸ＋１個目のＭＣＵのファイルポインタとＤＣ予測値を出力する。
【００２３】
同じラインのブロックに対し、復号化処理を適用する。そのため、ラインの終端ブロックか否かの判定を行う（ステップＳ１１２）。このＭＣＵ復号化の過程で、ステップＳ１０５で検出した起点ブロック（抽出画像の左端ブロック）が含まれるラインについて、抽出された画像の終端のブロック（図３参照）をパターン一致により検出する。なお、ここでのパターン一致に用いる抽出画像は、画像抽出部１４により出力された終端となる画像である。対象ＭＣＵが抽出画像の終端ブロックであると判定された場合は（ステップＳ１１２：ＹＥＳ）、対象ラインのステップＳ１０７で抽出された起点ＭＣＵブロックから、終端ＭＣＵブロックまでのブロック数を、復号テーブル作成部１０２が出力する（ステップＳ１１３）。その後、水平方向のＭＣＵ全てに対し復号化処理が実施されたかを判定する（ステップＳ１１４）。ステップＳ１１４で水平方向のＭＣＵ全てに対し復号化処理が実施されたと判定された場合は（ステップＳ１１４：ＹＥＳ）、垂直方向の処理対象を次のラインへ進める（ステップＳ１１５）。そうでない場合は（ステップＳ１１４：ＮＯ）、ステップＳ１１０に戻り復号化処理を継続する。対象ＭＣＵが抽出画像の終端ＭＣＵブロックでない場合にも（ステップＳ１１２：ＮＯ）、ステップＳ１１０に戻り復号化処理を継続する。次に、ステップＳ１１６で垂直方向の処理対象行が進められた後に、垂直方向の残りＭＣＵが全て復号化されたかを判定する（ステップＳ１１５）。この際に、［Ｖ＿ＩＮＤＥＸ＞ＮＵＭ＿Ｖ＿ＭＣＵ］の場合は全ての画像の復号化が終了したと判定して、ステップＳ１１７に進む（ステップＳ１１６：ＹＥＳ）。［Ｖ＿ＩＮＤＥＸ＝＜ＮＵＭ＿Ｖ＿ＭＣＵ］の場合は、全ての画像の復号化が未終了であると判定して、ステップＳ１０４に戻り復号化が継続する（ステップＳ１１６：ＮＯ）。ステップＳ１１７に到達した時点で、復号テーブル内には図４に示すように、ｉ（ｉは１以上の整数）列目のＭＣＵを各々起点として、抽出された画像を部分的に復号するための情報が格納されている。ここまでの処理が復号テーブル作成となるため、ここで一旦完結させ、以降の処理と独立して実施しても良い。ここでは引き続き説明する。次に、Ｖ＿ＩＮＤＥＸにｌを、Ｈ＿ＩＮＤＥＸにｉｎを設定する（ステップＳ１１７〜ステップＳ１１８）。ここで設定されるｉｎ、ｌｎはステップＳ１０９で出力された、抽出された画像のライン毎の起点ブロックを表すための位置情報である。また、ここでの添字ｎは０以上の整数であり、復号化処理の対象となるライン数だけ存在する。すなわち、起点ブロックの位置は（ｉｎ，ｌｎ）で示すことができる。次にｌ行目のラインにおいて起点ブロックから、部分的に復号化するＭＣＵのブロック数である変数ＰＡＴ＿Ｈ＿ＮＵＭに、Ｍ＿ＣＯＵＮＴを設定する。Ｍ＿ＣＯＵＮＴはステップＳ１１３で出力される、ライン毎に必要となる復号化ブロック数である。次に、復号テーブル１０３から、（Ｖ＿ＩＮＤＥＸ，Ｈ＿ＩＮＤＥＸ）に位置するＭＣＵ（すなわち、起点ブロック）のファイルポインタとＤＣ予測値を読み出す（ステップＳ１２０）。読み出されたファイルポインタを参照して、（Ｖ＿ＩＮＤＥＸ，Ｈ＿ＩＮＤＥＸ）に位置するＭＣＵを起点として復号化部１０１がＰＡＴ＿Ｈ＿ＮＵＭ個のＭＣＵを復号化し、復号画像データを復号画像データバッファ１０５に出力する（ステップＳ１２１）。次に、復号テーブル格納部１０５に格納される起点ブロックの数や実際に復号化したライン数などの情報を用いて、制御部１０４は全ての起点ブロックに関する復号化が終了したかを判定する（ステップＳ１２２）。全ての起点ブロックからの復号化が終了したと判定できた場合は、処理を終了する（ステップＳ１２２：ＹＥＳ）。そうでない場合は、Ｖ＿ＩＮＤＥＸに１を加算し（ステップＳ１２３）、ステップＳ１１８へ戻る。
【００２４】
＜復号化処理について＞
本実施形態の画像処理装置の特徴を、図４を用いて説明する。図４は、本実施形態の画像処理装置によって符号化画像データが復号化される様子を示した概念図である。ここで、復号画像データバッファ１０５は、１ライン分のＭＣＵを格納できるバッファサイズ（ここでは、ＮＵＭ＿Ｈ＿ＭＣＵのサイズ分に相当）を備えているとする。
【００２５】
本実施形態の画像処理装置では、まず原画像データに対して一度復号化処理を行い、その過程で抽出された任意の領域を保持し、復号化するための復号テーブルが作成される。次に、図５のステップＳ１１７〜ステップＳ１２３の処理により、（ｉ０，ｌ０）のＭＣＵを起点として、ｌ０のラインで復号化に必要となるＭＣＵのブロック数分を復号化する。さらに、（ｉ１，ｌ１）のＭＣＵ、（ｉ２，ｌ２）のＭＣＵ、ｉ３，ｌ３）のＭＣＵを起点ブロックとして、各行で必要となるＭＣＵのブロック数を復号化する。以上の処理後、復号画像データバッファ１０５上に復号化した画像データを展開する場合に、回転させてもよく、例えば、復号化した画像データを９０度回転させた状態で展開しても良い。従来技術では、部分的に復号化を行う際に、原画像データ全てを復号化することを対象としており、図４に示す本実施形態の抽出された領域のみを部分的に復号化することは不可能であった。本発明によって、抽出された任意の領域のみを部分的に復号化することができる。これにより、本実施形態の画像処理装置を印刷装置や表示装置に応用した場合には、必要な部分のみの処理を行うため、これまでよりも迅速な印刷や表示が可能となる。
【００２６】
＜実施形態２＞
本発明の実施形態２の画像処理装置について説明する。本実施形態の画像処理装置の構成を図６に示す。以降、図６のブロック図を参照して、本実施形態２の画像処理装置の構成を説明する。２０は本実施形態に入力される画像データである。ＰＤＬ変換領域指定部２１は、入力画像２０からＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）に展開される領域を指定して、画像処理装置１０にその情報を送信する。１０は、本提案の画像処理装置である。ＰＤＬ生成部２２は、画像処理装置１０により出力された復号画像を、ＰＤＬに変換する。印刷部２３は、ＰＤＬ生成部２１により出力されたＰＤＬデータを用いて、印刷処理を実行する。
【００２７】
実施形態２の動作手順について図７、図８を参照すると共に、図９に示すフローチャートを用いて説明する。なお、以降の説明で使用する実施形態１と同じ名称の変数は、実施形態１と同じ役割を有する。実施形態２においても、実施形態１と同様に最初に原画像の全てを復号化した後に、ＰＤＬ変換される領域を部分的に復号化処理を行うために必要な起点ブロックを検出する。起点ブロックを検出後、検出された起点ブロックから部分的に復号化処理を実行する。
【００２８】
まず、実施形態１と同様に符号化画像ファイルポインタを、符号化画像の先頭のＭＣＵが位置する符号化画像データバッファ１３内部のアドレスに設定する（ステップＳ２０１）。なお、符号化画像データバッファ１３は、入力画像２０の符号化画像データを格納したものである。実施形態２において図９で示した変数はそれぞれ以下の役割を有する。変数ＰＡＴ＿Ｈ＿ＭＣＵは、ＰＤＬ変換領域指定部２１により指定された、ＰＤＬ変換される領域の水平方向のＭＣＵ数を表す（図７参照）。変数ＰＡＴ＿Ｖ＿ＭＣＵは、ＰＤＬ変換領域指定部２１により指定されたＰＤＬ変換される垂直方向のＭＣＵ数を表す（図８参照）。変数Ｍ＿ＣＯＵＮＴは、指定されたＰＤＬ変換領域の画像におけるライン毎の復号処理に必要となるライン毎のＭＣＵのブロック数を表す。また、実施形態２においても、復号画像データバッファ１０５は、変数ＮＵＭ＿Ｈ＿ＭＣＵサイズのＭＣＵ数を格納できるバッファサイズを備えている。ステップＳ２０１の次に、Ｖ＿ＩＮＤＥＸ、Ｈ＿ＩＮＤＥＸ、Ｍ＿ＣＯＵＮＴを各々初期化する（ステップＳ２０２〜Ｓ２０４）。次に、処理対象のＭＣＵが、ＰＤＬに変換される領域の画像の左端に位置しているか否かを判定する（ステップＳ２０７）。次に、ＰＤＬ変換領域指定部２１により、予め出力された左端ブロックと復号化された画像とのパターン一致を行う。そして図７に示すように、ＰＤＬ変換領域の画像の左端に位置しているＭＣＵである場合は（ステップＳ２０７：ＹＥＳ）、復号テーブル作成部１０２は当該ＭＣＵのファイルポインタとＤＣ予測値を出力し、復号テーブル格納部１０３に登録される（ステップＳ２０８）。この際に、制御部１０４はＰＤＬ変換領域の画像の左端に該当するＭＣＵのＨ＿ＩＮＤＥＸとＶ＿ＩＮＤＥＸとをそれぞれ格納する（ステップＳ２０９）。そうでない場合は（ステップＳ２０７：ＮＯ）、水平方向のＭＣＵを進めて復号化処理を行う（ステップＳ２１０〜Ｓ２１１）。なお、復号化部１０１は、ステップＳ２０６とＳ２１１のいずれにおいても、Ｈ＿ＩＮＤＥＸ＋１個目のＭＣＵのファイルポインタとＤＣ予測値を出力する。
【００２９】
次に、残りの水平方向のＭＣＵを復号化する（ステップＳ２１１）。このＭＣＵ復号化の過程で、ステップＳ２０５で検出した起点ブロック（ＰＤＬ変換領域画像の左端ブロック）が含まれるラインについて、ＰＤＬ変換領域画像の終端のブロック（図７参照）をパターン一致により検出する（ステップＳ２１２）。なお、ここでパターン一致に用いるＰＤＬ変換領域画像は、ＰＤＬ変換領域指定部２１により出力された終端となる画像である。対象ＭＣＵがＰＤＬ変換領域画像の終端ブロックであると判定された場合は（ステップＳ２１２：ＹＥＳ）、対象ラインのステップＳ２０７で検出された起点ＭＣＵブロックから、終端ＭＣＵブロックまでのブロック数を、復号テーブル作成部１０２が出力する（ステップＳ２１３）。その後、水平方向のＭＣＵが全て復号化されたかを判定する（ステップＳ２１４）。ステップＳ２１４で水平方向のＭＣＵが全て復号化されたと判定された場合は（ステップＳ２１４：ＹＥＳ）、垂直方向の処理対象行を次のラインへ進める（ステップＳ２１５）。そうでない場合は（ステップＳ２１４：ＮＯ）、ステップＳ２１０に戻り復号処理を継続する。対象ＭＣＵがＰＤＬ変換領域画像の終端ＭＣＵブロックでない場合にも（ステップＳ２１２：ＮＯ）、ステップＳ２１０に戻り復号化処理を継続する。
【００３０】
次に、ステップＳ２１５で垂直方向の処理対象行が進められた後に、垂直方向の残りＭＣＵ全てに対し、復号化処理が実施されたかを判定する（ステップＳ２１５）。この際に、［Ｖ＿ＩＮＤＥＸ＞ＮＵＭ＿Ｖ＿ＭＣＵ］の場合は全ての画像の対象ブロックに対し復号化処理が終了したと判定して、ステップＳ２１７に進む（ステップＳ２１６：ＹＥＳ）。［Ｖ＿ＩＮＤＥＸ＝＜ＮＵＭ＿Ｖ＿ＭＣＵ］の場合は、全ての画像の復号化が未終了であると判定して、ステップＳ２０４に戻り復号化処理が継続する（ステップＳ２１６：ＮＯ）。
【００３１】
ステップＳ２１７に到達した時点で、図８に示すように、ｉ（ｉは１以上の整数）列目のＭＣＵを各々起点として、抽出された画像を部分的に復号するための情報が復号テーブル格納部１０３に全て格納されている。図５と同様にここまでの処理が復号テーブル作成の処理となるため、ここで一旦処理を完結させ、以降の処理を独立して実施しても良い。ここでは、続けて説明を行うこととする。次に、Ｖ＿ＩＮＤＥＸにｌを、Ｈ＿ＩＮＤＥＸにｉを設定する（ステップＳ２１７〜ステップＳ２１８）。ここで設定されるｉ、ｌはステップＳ２０９で出力された、ＰＤＬ変換領域画像のライン毎の起点ブロックを表すための位置情報である（図８参照）。次にｌ行目のラインにおいて起点ブロックから、部分的に復号化するＭＣＵのブロック数である変数ＰＡＴ＿Ｈ＿ＮＵＭに、Ｍ＿ＣＯＵＮＴを設定する。変数Ｍ＿ＣＯＵＮＴはステップＳ２１３で出力される、ライン毎に必要となる復号化ブロック数である。次に、復号テーブル１０３から、（Ｖ＿ＩＮＤＥＸ，Ｈ＿ＩＮＤＥＸ）に位置するＭＣＵのファイルポインタとＤＣ予測値を読み出す（ステップＳ２２０）。読み出されたファイルポインタを参照して、（Ｖ＿ＩＮＤＥＸ，Ｈ＿ＩＮＤＥＸ）に位置するＭＣＵを起点として復号化部１０１がＰＡＴ＿Ｈ＿ＮＵＭ個のＭＣＵを復号化し、復号画像データを復号画像データバッファ１０５に出力する（ステップＳ２２１）。次に、復号テーブル格納部１０５に格納される起点ブロックの数と、実際に復号化したライン数とから、制御部１０４は全ての起点ブロックに関する復号化が終了したかを判定する（ステップＳ２２２）。全ての起点ブロックからの復号化が終了したと判定できた場合は、処理を終了する（ステップＳ２２２：ＹＥＳ）。そうでない場合は、Ｖ＿ＩＮＤＥＸに１を加算し（ステップＳ２２３）、ステップＳ２１８へ戻る。
【００３２】
ここまでの処理を実行した後に、復号画像データバッファ１０５には、ＰＤＬ変換領域の上端のラインが復号化されたデータが格納されている。これにより、ＰＤＬ生成部２２は上記復号化されたデータをＰＤＬに変換し、印刷部２３に出力する。印刷部２３は、ＰＤＬに変換されたデータを用いて印刷処理を実行する（図８参照）。図８に示すように、予めＰＤＬに変換される領域を、部分的に復号化処理を実行することを可能にすることで、印刷部２３による印刷処理を高速に実行することが可能となる。更に、予め指定されるＰＤＬ変換領域のＰＡＴ＿Ｈ＿ＮＵＭの上限値を決めておけば、復号画像データバッファ１５が持つメモリを削減することが可能となる。
【００３３】
＜備考＞
本発明の目的は前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵまたはＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００３４】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【００３５】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００３６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００３７】
【図１】実施形態１の画像処理装置の構成例を表す図である。
【図２】実施形態１の画像処理置の動作概念を表すフローチャートである。
【図３】実施形態１の画像処理装置によって作られる復号テーブルを例示する概念図である。
【図４】実施形態１の画像処理装置によって任意の領域を部分的に復号化する概念図である。
【図５】実施形態１の動作を表すフローチャートである。
【図６】実施形態２の画像処理装置の構成を表す図である。
【図７】実施形態２の画像処理装置によって作られる復号テーブルを例示する概念図である。
【図８】実施形態２の画像処理装置によって任意の領域を部分的に復号化する概念図である。
【図９】実施形態２の動作を表すフローチャートである。
【符号の説明】
【００３８】
１０    画像処理装置
１１    スキャン処理部
１２    符号化部
１３    符号化画像データバッファ
１４    画像抽出部
２０    入力画像
２１    ＰＤＬ変換領域指定部
２２    ＰＤＬ生成部
２３    印刷部
１０１  復号化部
１０２  復号テーブル作成部
１０３  復号テーブル格納部
１０４  制御部
１０５  復号画像データバッファ
【図１】
2010161667.tif 000003
【図２】
2010161667.tif 000004
【図３】
2010161667.tif 000005
【図４】
2010161667.tif 000006
【図５】
2010161667.tif 000007
【図６】
2010161667.tif 000008
【図７】
2010161667.tif 000009
【図８】
2010161667.tif 000010
【図９】
2010161667.tif 000011