(57)【要約】【課題】  可変長符号化された画像データであっても、関心領域をダイレクトに復号することが可能になる。【解決手段】  領域指定部１０１は、撮像部１１で撮像した画像中の人物の顔領域を検出し、その検出した顔領域を示す座標情報を関心領域として復号テーブル作成部１０２に出力する。符号化部１０３は、複数の画素で構成されるブロックを単位に符号化処理を行うと共に、ブロック単位の符号化データのデータ量の累積結果を復号テーブル作成部１０２に出力する。復号テーブル作成部１０２は、関心領域内のブロックの符号化が行われたとき、そのブロックの符号化データのビット位置情報を復号テーブルに登録する。メモリ１０４には、復号テーブルをヘッダとする画像符号化データファイルが格納される。関心領域を表示部１２に表示する場合には、復号部１０５は、復号用テーブルを参照し、関心領域のブロックの符号化データの位置を判定し、その位置から復号処理を行う。【選択図】  図１
2010016781.tif 000002
【特許請求の範囲】
【請求項１】
画像データを符号化する画像処理装置であって、
画像データを入力する入力手段と、
入力した画像データ中の関心領域を指定する指定手段と、
前記入力手段で入力した画像データを、複数の画素で構成されるブロックを単位に可変長符号化し、ブロックを単位とする符号化データを生成する符号化手段と、
該符号化手段で生成される各ブロックの符号化データのデータ量を累積加算し、着目するブロックが前記指定手段で指定された前記関心領域内の予め設定された位置にあるとき、前記着目するブロックの符号化データのビット位置を示す位置情報を復号用テーブルに登録する登録手段と、
該登録手段で登録された復号用テーブルと、前記符号化手段で生成された前記画像データの符号化データとを出力する出力手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記符号化手段は、ＪＰＥＧ符号化手段であって、
前記登録手段は、前記着目するブロックのＤＣ成分の予測値を含む前記位置情報を前記復号用テーブルに登録する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記出力手段は、前記符号化手段で生成された前記画像データの符号化データのヘッダに、前記復号用テーブルを示す情報を格納したファイルを出力することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記登録手段は、更に、画像データの水平方向に対して、予め設定されたブロック数を間隔とする、各ブロックの位置情報を前記復号用テーブルに登録することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記指定手段は、前記入力手段で入力した画像データ中の人物の顔の領域を検出し、検出した顔の領域を前記関心領域として指定することを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
更に、復号対象とする領域を指定する手段と、
該手段で指定された領域が、画像全体であるか、前記関心領域であるかを判定する判定手段と、
前記画像全体の復号が指定されたと判定した場合には前記符号化データを順に復号することで画像全体を復号し、前記関心領域の復号が指定されたと判定した場合には復号用テーブルに格納された位置情報に基づき、前記関心領域の部分画像を復号する復号手段と
を備えることを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
複数画素で構成されるブロックを単位に符号化された画像データを処理する画像処理装置であって、
符号化画像データを入力する入力手段と、
符号化画像データを復号する復号手段と、
画像を表示する表示手段と、
画像データ中の関心領域を指定する指定手段と、
該指定手段で指定された関心領域に従って、前記復号手段を制御する制御手段とを備え、
前記制御手段は、
前記入力手段で入力した符号化画像データを最初に入力した場合、前記復号手段を制御して全ブロックの符号化データを復号し、当該復号結果の画像を前記表示手段に表示させると共に、水平方向に予め設定されたブロック数を間隔とする、各ブロックの符号化データの位置情報を復号用テーブルに登録する登録手段と、
前記表示手段によって表示された画像中の少なくとも１つの関心領域が前記指定手段で指定された場合、前記復号用テーブルに指定した関心領域を登録すると共に、登録した関心領域内の画像を復号するために必要なブロックの位置が、前記復号用テーブルに登録されたブロックの位置から予め設定されたブロック数だけ隔てている場合、前記復号用テーブルに格納された位置情報に従って、前記関心領域内の画像を復号するために必要なブロックまで復号し、前記符号化画像データ中の前記関心領域内の画像を復号するために必要なブロックの位置情報を前記復号用テーブルに追加登録し、前記復号用テーブルを更新する更新手段と、
を備えることを特徴とする画像処理装置。
【請求項８】
前記復号手段は、ＪＰＥＧ復号手段であって、
前記登録手段及び前記更新手段は、ブロックのＤＣ成分の予測値を含む前記位置情報を前記復号用テーブルに登録する
ことを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記指定手段は、前記符号化画像データを最初に復号して得られた画像中の人物の顔の領域を検出し、検出した顔の領域を前記関心領域として指定することを特徴とする請求項７又は８に記載の画像処理装置。
【請求項１０】
画像データを符号化する画像処理装置の制御方法であって、
画像データを入力する入力工程と、
入力した画像データ中の関心領域を指定する指定工程と、
前記入力工程で入力した画像データを、複数の画素で構成されるブロックを単位に可変長符号化し、ブロックを単位とする符号化データを生成する符号化工程と、
該符号化工程で生成される各ブロックの符号化データのデータ量を累積加算し、着目するブロックが前記指定工程で指定された前記関心領域内の予め設定された位置にあるとき、前記着目するブロックの符号化データのビット位置を示す位置情報を復号用テーブルに登録する登録工程と、
該登録工程で登録された復号用テーブルと、前記符号化工程で生成された前記画像データの符号化データとを出力する出力工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項１１】
複数画素で構成されるブロックを単位に符号化された画像データを処理する画像処理装置の制御方法であって、
符号化画像データを入力する入力工程と、
符号化画像データを復号する復号工程と、
画像を表示する表示工程と、
画像データ中の関心領域を指定する指定工程と、
該指定工程で指定された関心領域に従って、前記復号工程を制御する制御工程とを備え、
前記制御工程は、
前記入力工程で入力した符号化画像データを最初に入力した場合、前記復号工程を制御して全ブロックの符号化データを復号し、当該復号結果の画像を前記表示工程に表示させると共に、水平方向に予め設定されたブロック数を間隔とする、各ブロックの符号化データの位置情報を復号用テーブルに登録する登録工程と、
前記表示工程による表示された画像中の少なくとも１つの関心領域が前記指定工程で指定された場合、前記復号用テーブルに指定した関心領域を登録すると共に、登録した関心領域内の画像を復号するために必要なブロックの位置が、前記復号用テーブルに登録されたブロックの位置から予め設定されたブロック数だけ隔てている場合、前記復号用テーブルに格納された位置情報に従って、前記関心領域内の画像を復号するために必要なブロックまで復号し、前記符号化画像データ中の前記関心領域内の画像を復号するために必要なブロックの位置情報を前記復号用テーブルに追加登録し、前記復号用テーブルを更新する更新工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項１２】
コンピュータに読み込ませ実行させることで、前記コンピュータを請求項１乃至９のいずれか１項に記載の画像処理装置として機能させることを特徴とするコンピュータプログラム。
【請求項１３】
請求項１２に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像符号化、並びに、符号化画像データを処理する画像処理技術に関するものである。
【背景技術】
【０００２】
一般に、デジタルカメラには、撮影被写体の画像を表示する表示部が設けられている。この表示部には、液晶表示パネル等が用いられている。表示部は、表示領域が小さく、かつ、撮像素子の解像度よりも低い。このため、人物等を景色を含めて撮影する場合、その人物が小さく表示され、撮影者からするとその表情を判別しにくい。
【０００３】
このため、特許文献１には、撮影された画像データに人物の顔が検出された場合、画像データに顔の位置情報（座標、大きさなど）を付加するデジタルカメラが提案されている。このデジタルカメラでは、ユーザにより顔拡大表示ボタンが操作されたとき、顔の位置情報を基に、その顔が含まれる領域の画像が切り出されて拡大表示される。よって、表示部が小さいデジタルカメラにおいても、ユーザは目瞑りや顔の表情を確認することができる。また、顔の位置情報を基に、特定の人物が撮影された画像データを検索することが可能となる。
【０００４】
さて、デジタルカメラでは、撮像した画像を記憶媒体（一般には脱着可能なメモリカード）に格納する際、その撮像画像のデータ量を少なくするため圧縮符号化する。この圧縮符号化技術の代表的なものがＪＰＥＧである。
【０００５】
ＪＰＥＧ符号化方式においては、符号化対象の画像データを８×８画素のブロックに分割し、各ブロックを離散コサイン変換して、変換係数ブロックを生成する。その後、その変換係数ブロック内の各変換係数を量子化し、該量子化した変換係数を一定の順序で走査する。走査された変換係数が連続して０となる個数と、変換係数が０以外の値の組に対して、可変長符号を割り当てて符号化する。さらに、変換係数のうちＤＣ成分に関しては、直前の変換係数ブロックのＤＣ成分を予測値とし、その予測値と当該変換係数ブロックのＤＣ成分との差分値が符号化される。
【０００６】
ＪＰＥＧ符号化は、可変長符号化であるので、１ブロックの符号化データ量は一定ではない。従って、１つの画像中の或るブロックの符号化データの存在位置は、画像全体の符号化データの先頭から順に復号しない限り求めることはできない。
【０００７】
よって、特許文献１で提案されているデジタルカメラでは、符号化画像データ全体を復号してバッファメモリに展開した後に、顔の位置情報を基に、顔が含まれる領域（以下、「顔領域」と記す）を抜き出す必要が生じる。ゆえに、顔領域を抜き出す処理に時間がかかり、さらに、大容量のバッファメモリが必要になるという問題がある。
【０００８】
このような問題を解決する従来技術として、特許文献２の可変長符号化バイナリ・ビットストリームの処理方法が提案されている。
【０００９】
この処理方法では、まず、符号化画像データをその先頭から走査し、図１２（ａ）に示す画像データ中に予め定めた列のブロック（図１２の７０１乃至７０４）を復号するために必要とされる部分復号情報を得る。部分復号情報とは、具体的には、符号化画像データにおけるブロックの位置情報（ファイルポインタ）と、該ブロックのＤＣ成分を復号するのに必要な予測値である。そして、これらの情報を復号用のテーブルに記憶する。しかる後に、この復号用のテーブルを利用して、所定のブロックを起点として符号化画像データを部分的に復号することができる。
【００１０】
なお、復号用のテーブルには、画像データの最左端の列における全てのブロック（図１２の７０１）と、所定の間隔を空けた列のブロック（図１２の７０２乃至７０４）の部分復号情報が記憶される。
【００１１】
特許文献１のデジタルカメラと、特許文献２の可変長符号化バイナリ・ビットストリームの処理方法とを組み合わせることで、顔領域を復号して表示させることが可能となる。
【００１２】
具体的には、デジタルカメラで撮影され一旦メモリに記憶された符号化画像データに対して、事前に走査を行うことにより部分復号情報を取得し、復号用のテーブルに記憶する。顔の位置情報を基に、顔の座標に最も近い顔の左側のブロック（図１２の７０１）を、上記復号用のテーブルに記憶されたブロックの中から選択する。このテーブルに記憶された該ブロックの部分復号情報を基に、該ブロックを起点として部分的に復号処理を行う。部分的に復号された画像データの中から、顔の位置情報を基に、顔領域を抜き出して表示させることができる。
【特許文献１】特開２００７−０２００２９号公報
【特許文献２】特開２０００−２７８６８５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、特許文献２の方法では、符号化画像データに対して走査を行うことによって復号用のテーブルを作っていた為、表示のための一連の処理において該走査がオーバーヘッドになるという課題があった。
【００１４】
また、既に復号用のテーブルが作れられた画像に対しては常に短時間で顔領域を復号して表示できる。しかし、復号用のテーブルを作るのに時間を要するため、顔領域だけを表示する処理の初回は通常よりも時間がかかってしまう。
【００１５】
さらに、顔領域以外のブロックも復号しなければならず、顔を表示させるのに時間がかかってしまうという課題もある。例えば、図１２の顔領域７０７の左端のブロックが復号用のテーブルに記憶されていないため、参照符号７０５に位置するブロックを起点として部分的に復号しなければならない。よって、参照符号７０５と７０６に示す領域に位置するブロックについては、顔領域には含まれないにも関らず復号しなければならない。顔領域以外のブロックに対する復号処理を減らすには、図１２（ｂ）に示すように復号用のテーブルに記憶させる列を増やす方法が考えられる。しかしながら、この場合は復号用のテーブルのデータ量が増大してしまうという課題が生じる。
【００１６】
本発明は、かかる点に鑑みなされたものであり、符号化画像データから、人物の顔等の関心領域を、高速に復号する技術を提供しようとするものである。
【課題を解決するための手段】
【００１７】
かかる課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
画像データを符号化する画像処理装置であって、
画像データを入力する入力手段と、
入力した画像データ中の関心領域を指定する指定手段と、
前記入力手段で入力した画像データを、複数の画素で構成されるブロックを単位に可変長符号化し、ブロックを単位とする符号化データを生成する符号化手段と、
該符号化手段で生成される各ブロックの符号化データのデータ量を累積加算し、着目するブロックが前記指定手段で指定された前記関心領域内の予め設定された位置にあるとき、前記着目するブロックの符号化データのビット位置を示す位置情報を復号用テーブルに登録する登録手段と、
該登録手段で登録された復号用テーブルと、前記符号化手段で生成された前記画像データの符号化データとを出力する出力手段とを備える。
【発明の効果】
【００１８】
本発明によれば、関心領域のみを復号する場合には、復号用テーブルを参照することで、符号化画像データ中の関心領域の最初のブロックのビット位置が判明するので、可変長符号化された画像データであっても、関心領域をダイレクトに復号することが可能になる。
【００１９】
また、他の発明によれば、一旦、符号化画像データの復号処理を行えば、関心領域のみの復号の準備ができるようになる。
【発明を実施するための最良の形態】
【００２０】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【００２１】
［第１の実施形態］
図１は、本第１の実施形態の画像処理装置を搭載するデジタルカメラ（撮像装置）のブロック構成図である。
【００２２】
図１において、１１は被写体を撮像してＡ／Ｄ変換を行い、画像データを出力する撮像部である。１０は本実施形態の画像処理装置である。画像処理装置１０は、撮像部１１から入力した画像データを符号化し、後述する復号用のテーブルを符号化画像データに付加して符号化画像データファイルを作成し、メモリに記憶する。さらに、ユーザからの指示により、符号化画像データを復号する。１２は、画像処理装置１０が復号した画像データを液晶ディスプレイなどの表示装置に表示する表示部である。表示部１２は、表示装置の解像度と画像データの画素数とに応じて、画像データに対する拡大または縮小処理を行う。
【００２３】
次に、画像処理装置１０の詳細な構成と動作を説明する。図１において、１０１は撮像部１１で撮像した画像中の、所定の領域（関心領域）を指定する領域指定部である。具体的には、入力された画像データのうち、人物の顔を検出し、顔領域の位置情報（顔領域を矩形とした場合、その矩形の四隅の位置座標）を出力する。画像データから人物の顔を検出する方法は公知であるのでここでは説明しない。
【００２４】
なお、本発明で指定される関心領域は、人物の顔領域に限定されるものではない。例えば車のナンバープレートであってもよいし、ホワイトボードであってもよいし、文字であってもよい。また、デジタルカメラであれば、オートフォーカス機構によって合焦された領域であってもよい。さらにタッチパネルなどユーザ自身が関心領域を指定可能な手段を備えていれば、ユーザによって指定された領域であってもよい。本実施形態の画像処理装置を、文書原稿を読み取るスキャナに適用する場合には、本発明で指定される関心領域は原稿が置かれた領域であってもよい。
【００２５】
１０３は、画像データをＪＰＥＧ符号化方式で符号化し、符号化画像データを出力する画像符号化部である。ＪＰＥＧ符号化方式では、複数画素で構成される画素ブロック（一般には、８×８画素）から構成されるＭＣＵ（Minimum Coded Unit）と呼ばれるブロックを単位として符号化及び復号が行なわれる。なお、実施形態では説明を単純なものとするため、１ＭＣＵ＝１画素ブロック（８×８画素）として説明するが、１ＭＣＵ＝ｍ×ｎ個の画素ブロック（ｍ，ｎは１以上の整数）としても構わない。なお、本発明はＪＰＥＧ符号化方式に限定されるものではなく、例えばＭＰＥＧ符号化方式などで符号化された画像データを処理してもよい。
【００２６】
画像符号化部１０３はさらに、各ＭＣＵの符号化データの累積加算結果である累積符号長と、ＭＣＵの変換係数のうちＤＣ成分値とを出力する。ここで累積符号長とは、符号化画像データの先頭からの各ＭＣＵのビット単位のオフセット値（ビット位置情報）である。以降、これら２種類の値を「部分復号情報」と記す。
【００２７】
１０２は復号テーブル作成部である。この復号テーブル作成部１０２は、着目ＭＣＵが領域指定部１０１で指定された関心領域内の予め設定された位置にあるとき、その領域指定部１０１から出力された領域の位置情報と、画像符号化部１０２から出力された部分復号情報を用いて、復号用のテーブルを作成する。
【００２８】
１０６は、復号テーブル作成部１０２が作成すべき復号用のテーブルの種類を指示する指示部である。ユーザは、データ量と利便性とを鑑みて、作成すべき復号用のテーブルを選択することができる。
【００２９】
復号テーブル作成部１０２は、指示部１０６からの指示により、部分復号情報を復号用のテーブルに記憶する対象となるＭＣＵの位置を、図８（ａ）乃至（ｃ）の中から選択する。図８（ａ）では、画像の左端列を含む４列おきのＭＣＵと、顔領域左端のＭＣＵの部分復号情報とが復号用のテーブルに記憶される。さらに、顔領域の水平方向のＭＣＵ数（列数）が復号用のテーブルに記憶される。図８（ａ）の場合、顔領域の高速な表示と、公知技術に開示されている拡大・縮小・回転などの処理の高速化とが可能になる。一方で、復号用のテーブルのデータ量は最も大きくなる。図８（ｂ）では、画像の左端列を含む４列おきのＭＣＵの部分復号情報が復号用のテーブルに記憶される。図８（ｂ）の場合、拡大・縮小・回転などの処理の高速化が可能になる。しかしながら、顔領域だけを表示させる場合は、顔以外の領域に対する復号処理も必要になる。図８（ｃ）では、顔領域の左端のＭＣＵが、関心領域内に存在するので、そのＭＣＵの部分復号情報と顔領域の水平方向のＭＣＵ数（列数）だけが復号用のテーブルに記憶される。図８（ｃ）の場合、顔領域の高速な表示が可能となるが、拡大・縮小・回転などの処理の高速化はできない。但し、図８（ｃ）が選択された場合の復号用のテーブルのデータ量は、図８（ａ）、（ｂ）よりも小さくできる。
【００３０】
なお、本発明はこれに限定されるものではなく、指示部１０６が無い形態であってもよい。指示部１０６が無い場合は、常に図８（ａ）に示す位置のＭＣＵの部分復号情報が復号用のテーブルに記憶されてもよいし、常に図８（ｃ）に示す位置のＭＣＵの部分復号情報であってもよい。また、復号用のテーブルに部分復号情報が記憶されるＭＣＵの位置も図８（ａ）乃至（ｃ）に限定されるものでなく、例えば、図９に示すように、画像の左端列のＭＣＵ及び顔領域の左端のＭＣＵであってもよい。
【００３１】
１０４は、符号化画像データを一時的に記憶するメモリである。復号テーブル作成部１０２は、復号用のテーブルを符号化画像データにヘッダとして付加する。上記ヘッダが付加された符号化画像データは、符号化画像データ・ファイルとしてメモリ１０４に記憶される。メモリ１０４に記憶された符号化画像データ・ファイルは、復号部１０５によって復号される。さらに、図示されないメモリカードなどの持ち運び可能な記憶媒体にも記憶される。
【００３２】
図１０（ａ）に、ヘッダとして付加された復号用テーブルを例示する。図１０（ｂ）は、それに対応する画像データ内のＭＣＵの位置を表す。復号用のテーブルは、ＪＰＥＧの標準形式のヘッダにさらに付加される。図１０（ａ）のテーブル番号は、復号用のテーブルを識別するための番号である。テーブル番号０は、画像の左端列を含む４列おきのＭＣＵの部分復号情報が記憶された復号用のテーブルを表す。テーブル番号の次のフィールドには、部分復号情報が記憶されるＭＣＵ列の間隔が記憶される。図１０の例では４列おきに部分復号情報が記憶されているので、“４”が該フィールドに記憶される。なお、ＪＰＥＧの標準形式のヘッダに画像サイズ情報が付加されている為、ＭＣＵの行数は該サイズ情報から算出できるので復号用のテーブルには記憶されない。以下、ＭＣＵ列毎に部分復号情報が復号用のテーブルに記憶される。
【００３３】
テーブル番号１と２は、各々領域１と２の復号用のテーブルに対応する。それらの領域に対応するテーブル番号の次のフィールドには、夫々の領域の大きさが記憶される。次に、各々の領域の左端に位置するＭＣＵの部分復号情報が記憶される。
【００３４】
図１の１０５は、符号化画像データを復号し、画像データを出力する復号部である。復号部１０５から出力された画像データは、表示部１２へ供給され表示される。
【００３５】
復号部１０５は、ユーザによって画像データ全体の表示が指示されたのか、それとも顔領域の拡大表示が指示されたのかを判定する。画像データ全体の表示が指示されたと判定した場合には、符号化画像データをその先頭から復号する。また、ユーザによって顔領域の拡大表示が指示されたと判定した場合は、復号部１０５は、ヘッダに付加された復号用のテーブルの中から、対応する領域の大きさと部分復号情報を得る。該領域の大きさからＭＣＵの行数と列数を算出し、領域の最上段のＭＣＵ行から順番にＭＣＵ列数分の復号処理を開始する。図１０を例に挙げると、領域１を拡大表示する場合は、復号部１０５は先ず領域１の大きさからＭＣＵの行数と列数を算出する。そして、復号部１０５は、ＭＣＵ(4,6)の部分復号情報を基に、ＭＣＵ(4,6)を起点として、領域の列数である４個のＭＣＵの復号処理を行う。以降、ＭＣＵ(4,7)、ＭＣＵ(4,8)、ＭＣＵ(4,9)を各々起点として、それらが位置する行の４個のＭＣＵに対する復号処理を夫々順番に行う。
【００３６】
以上に説明したように、本第１の実施形態の画像処理装置では、符号化１０３が部分復号情報を復号テーブル作成部１０２へ供給するので、画像データに対する符号化を終えた時点で、復号用のテーブルを作り終えている。よって、復号用のテーブルを作るための走査が不要なので、従来技術よりも短時間で顔領域の表示が可能となる。さらに、領域指定部１０１によって指定された領域の左端のＭＣＵについての部分復号情報を復号用のテーブルに記憶するので、顔領域以外のＭＣＵに対する復号処理が不要となる。よって、従来技術よりもさらに短時間で顔領域の表示が可能となる。また、新たに追加する部分復号情報は顔領域についてのものだけなので、必要最小限のデータの追加で済む。
【００３７】
なお、本発明の画像処理装置は図１に例示する構成に限定されず、その思想を逸脱しない範囲内で様々な実施形態が可能である。例えば、図５に示すように、復号部４０５がメモリ４０４に記憶された符号化画像データを復号し、各ＭＣＵについての部分情報を復号テーブル作成部４０２へ出力してもよい。この場合は、復号用テーブルを作る処理の際には、復号部４０５は復号した画像データを表示部４２へは出力しないで、可変長符号の復号処理だけを行う。復号用のテーブルを作るための走査は必要になるが、第１の実施形態の画像処理装置と同様に、顔領域以外のＭＣＵに対する復号処理が不要となり、必要最小限のデータの追加で済む。
【００３８】
また、本発明は図１０（ａ）に例示した復号用のテーブルに限定されない。別の実施形態の画像処理装置では、図１１（ａ）に例示する復号用のテーブルであってもよい。
図１１（ａ）のテーブル番号は、復号用のテーブルを識別するための番号である。テーブル番号０は、画像の左端列を含む４列おきのＭＣＵの部分復号情報が記憶された復号用のテーブルを表す。テーブル番号の次のフィールドには、部分復号情報が記憶されるべきＭＣＵ列の間隔が格納される。図１１の例では４列おきに部分復号情報が記憶されているので、“４”が該フィールドに記憶される。以下、ＭＣＵ列毎に部分復号情報が復号用のテーブルに記憶される。
【００３９】
テーブル番号１〜３は、各々領域１〜３の復号用のテーブルに対応する。それらの領域に対応するテーブル番号の次のフィールドには、部分復号情報省略フラグが記憶される。部分復号情報省略フラグとは、対応する領域の部分復号情報が省略されて領域の座標情報だけが復号用のテーブルに記憶されていることを表すフラグである。
【００４０】
復号テーブル作成部１０２は、テーブル番号０の復号用のテーブルに部分復号情報が記憶されているＭＣＵのうち、領域左端のＭＣＵと最も近いＭＣＵとの間のＭＣＵ数が所定数（実施形態では“１”）以下であれば、部分復号情報をテーブルに記憶しない。例えば、領域１の左端のＭＣＵは、テーブル番号０に記憶されている１列目のＭＣＵと同じ列に位置するので、部分復号情報を復号用のテーブルに記憶しない。また、領域２の左端のＭＣＵは、テーブル番号０の６列目のＭＣＵから数えて１ＭＣＵ目に位置するので、部分復号情報をテーブルに記憶しない。部分復号情報をテーブルに記憶しない場合は、部分復号情報省略フラグのフィールドには“１”が記憶される。その次のフィールドには、領域の四隅の座標が記憶される。なお、本発明は上記ＭＣＵ数が１に限定されないことは言うまでもない。また、領域の四隅の座標ではなく、領域の左上隅の座標と領域の大きさ（縦と横のブロック数等）が記憶されてもよい。要するに、その領域のサイズと位置が特定できれば良いからである。
【００４１】
一方、領域３の左端のＭＣＵは、テーブル番号０の１１列目のＭＣＵから数えて３つ目に位置するので、部分復号情報をテーブルに記憶する。この場合には、部分復号情報省略フラグのフィールドには“０”が記憶される。その次のフィールドには領域の大きさが記憶され、以降、領域左端のＭＣＵの部分復号情報が記憶される。
【００４２】
以上説明したように、第１の実施形態と別の実施形態の画像処理装置では、所定間隔の列のＭＣＵの部分復号情報と、指定された領域の部分復号情報とが復号用のテーブルに記憶される。もしも指定された領域が所定間隔の列のＭＣＵと近い場合には、部分復号情報でなく該領域の座標が記憶される。よって、所定の領域に対する復号処理を短時間で行うことができ、その処理に必要な復号用のテーブルのデータ量が最小限で済む。
【００４３】
［第２の実施形態］
以下、第２の実施形態をプリンタに適用した例を図２に示し、説明する。
【００４４】
図２において、２０は本第２の実施形態の画像処理装置である。２１は、メモリカードから、復号対象となるＪＰＥＧ符号化方式の符号化画像データ・ファイルを読み取るためのメモリカード読み取り部である。メモリカード読み取り部２１は該ファイルを画像処理装置２０へ出力する。なお、本発明の画像処理装置の符号化方式はＪＰＥＧに限定されないことは言うまでもない。２２は、画像処理装置２０によって復号された画像データを印刷する印刷部である。２３は、画像処理装置２０によって復号された画像データを液晶ディスプレイなどの表示装置に表示する表示部である。
【００４５】
次に、画像処理装置２０の構成と動作を、図２を参照して詳細に説明する。
【００４６】
不図示の操作パネルから、ユーザによる「メモリカード読み取りボタン」の押下を検出すると、メモリカード読み取り部２１は、メモリカードから符号化画像データ・ファイルを読み取り、画像処理装置２０へ出力する。
【００４７】
画像処理装置２０内の復号部２０５（ＪＰＥＧ復号部）は、該ファイルの符号化画像データの全ＭＣＵを復号し、メモリ２０４に出力する。復号部２０５は、このとき、各ＭＣＵについて、符号化画像データの先頭からの累積符号長と、変換係数のうちＤＣ成分値とから成る部分復号情報を出力する。
【００４８】
２０４は、復号された画像データを記憶するメモリである。
【００４９】
２０１は、復号された画像データの中から所定の領域（関心領域）を選択し、それを復号テーブル作成部２０２に指定する領域指定部である。本実施形態の画像処理装置では、人物の顔、文書などの原稿、ホワイトボードなどの領域が、公知技術によって画像データの中から検出され、関心領域として指定される。
【００５０】
２０２は、復号部２０５から出力された部分復号情報と、領域指定部２０１によって指定された関心領域とに基づいて、復号用のテーブルを作成する復号テーブル作成部である。復号用のテーブルはメモリ２０４に記憶される。復号用のテーブルの例を図１１（ａ）に示す。図１１（ｂ）は、それに対応する画像データ内のＭＣＵの位置を表す。
【００５１】
復号テーブル作成部２０２は、符号化画像データを最初に入力した場合、水平方向に所定ＭＣＵ数の間隔に位置する各ＭＣＵの部分復号情報を、内部の復号用テーブルに登録する。
【００５２】
上記のようにして、一旦、符号化画像データの全ＭＣＵ（全ブロック）の復号処理を終えると、その復号結果はメモリ２０４に格納され、縮小処理して表示部２３に表示する。ここで、メモリ２０４には、各ＭＣＵを復号して得られたＤＣ成分のみを格納するものとする。一般に、表示部２３の解像度は、符号化された画像データの解像度よりも十分に低いので、問題はない。
【００５３】
この後、領域指定部２０１は、第１の実施形態と同様に、メモリ２０４に格納された復号処理済みの画像データから顔領域（関心領域）の検出を行ない、その領域を特定する情報を復号テーブル作成部２０２に通知する。これを受けて、復号テーブル作成部２０２は、復号用テーブルに顔領域の追加登録と、必要に応じて顔領域を復号するための部分復号情報を復号用テーブルに登録（更新）する。なお、上記では、顔領域の検出を行ない、関心領域を設定するものとした。しかし、これによって本発明が限定されるものではない。例えば、ユーザが表示部２３を見て、ユーザが印刷させたい部分画像（復号対象領域）を指定し、その指定した部分画像を関心領域として用いても構わない。
【００５４】
図１１（ａ）のテーブル番号は、復号用のテーブルを識別するための番号である。テーブル番号０は、画像の左端列を含む４列おきのＭＣＵの部分復号情報が記憶された復号用のテーブルを表す。テーブル番号の次のフィールドには、部分復号情報が記憶されるべきＭＣＵ列の間隔が格納される。図１１の例では４列おきに部分復号情報が記憶されているので、４が該フィールドに記憶される。以下、ＭＣＵ列毎に部分復号情報が復号用のテーブルに記憶される。
【００５５】
テーブル番号１〜３は、各々領域１〜３の復号用のテーブルに対応する。それらの領域に対応するテーブル番号の次のフィールドには、部分復号情報省略フラグが記憶される。部分復号情報省略フラグとは、対応する領域の部分復号情報が省略されて領域の座標情報だけが復号用のテーブルに記憶されていることを表すフラグである。
【００５６】
復号テーブル作成部２０２は、テーブル番号０の復号用のテーブルに部分復号情報が記憶されているＭＣＵのうち、領域左端のＭＣＵと最も近いＭＣＵとの間のＭＣＵ数が所定数（実施形態では“１”）以下であれば、部分復号情報をテーブルに記憶しない。例えば、領域１の左端のＭＣＵは、テーブル番号０に記憶されている１列目のMCUと同じ列に位置するので、部分復号情報を復号用のテーブルに記憶しない。また、領域２の左端のMCUは、テーブル番号０の６列目のMCUから数えて１ＭＣＵ目に位置するので、部分復号情報をテーブルに記憶しない。部分復号情報をテーブルに記憶しない場合は、部分復号情報省略フラグのフィールドには１が記憶される。その次のフィールドには、領域の四隅の座標が記憶される。なお、本発明は上記ＭＣＵ数が１に限定されないことは言うまでもない。また、領域の四隅の座標ではなく、領域の左上隅の座標と領域の大きさ（縦と横のブロック数等）が記憶されてもよい。要するに、その領域のサイズと位置が特定できれば良いからである。
【００５７】
一方、領域３の左端のＭＣＵは、テーブル番号０の１１列目のＭＣＵから数えて３つ目に位置するので、部分復号情報をテーブルに記憶する。この場合には、部分復号情報省略フラグのフィールドには０が記憶される。その次のフィールドには領域の大きさが記憶され、以降、領域左端のＭＣＵの部分復号情報が記憶される。なお、領域３の左端のＭＣＵの部分復号情報を知る必要がある。この場合、図１１に示すように、１１列目の、該当する垂直軸に位置するＭＣＵから順番に復号することで、領域３内の左端に位置する各ＭＣＵのビット位置とＤＣ成分を部分復号情報として復号用テーブルに登録すれば良い。
【００５８】
なお、本発明はこれに限定されるものではなく、本発明の第１の実施形態で説明した図１１（ａ）に例示する復号用のテーブルと同様に、部分復号情報省略フラグが無くてもよい。
【００５９】
本実施形態のプリンタは、復号用のテーブルの作成が終了すると、表示部２３を介してユーザに印刷モードを提示する。印刷モードとは「全画面印刷」「文書原稿部分印刷」「顔印刷」「回転印刷」等であるが、本発明の実施形態の画像処理装置及びそれを適用したプリンタは無論これらのモードに限定されるものではない。また、印刷モードの場合、各ＭＣＵのＤＣ、ＡＣ成分から、ＭＣＵの画像を復号する処理を行うことになる。
【００６０】
ユーザが「回転印刷」を選択した場合は、公知技術に開示された方法に従って、図１１に示すテーブル番号０の復号用のテーブルを参照して復号処理と回転処理が行なわれる。復号された領域の画像データはメモリ２０４に書き込まれ、印刷部２２によって印刷される。この場合、公知技術で開示されているように、画像全体をメモリ２０４に一時的に記憶する必要は無い。例えば、画面左端の５列のＭＣＵを復号してメモリ２０４に出力し、それらを印刷する。そして、次の５列のＭＣＵを復号してメモリ２０４に出力して前の５列を上書きし、さらに印刷する、という処理を繰り返せばよい。
【００６１】
一方、ユーザが「文書原稿部分印刷」「顔印刷」を指定した場合、復号部２０５は、対応する領域の復号用のテーブルを参照して、該領域を部分的に復号する。具体的には、まず部分復号情報省略フラグを読み出す。その値が１であれば部分復号情報が省略されているので、領域の座標を基に、テーブル番号０の復号用のテーブルから最も近い領域左側のＭＣＵを選択する。図１１に示す領域１では１列目のＭＣＵが該当し、領域２では６列目のＭＣＵが該当する。さらに、該領域の水平方向のＭＣＵ数と、選択されたＭＣＵと該領域との間のＭＣＵ数の合計を、座標から算出する。選択されたＭＣＵを起点として、上記合計ＭＣＵ数だけ部分的に復号処理を行い、該領域の座標を基に領域の画像データを切り出し、表示部２３に表示する。ユーザが表示された画像を印刷指示すると、復号した領域の画像を印刷部２２に出力する。また、ユーザが次の領域の表示を行う指示を与えると、次の領域の画像を同様にして復号し、表示させる処理を行う。
【００６２】
ここで、復号しようとする領域の部分復号情報省略フラグの値が０であれば（図１１の領域３）、部分復号情報が存在するので、それらを基に領域左端のＭＣＵを起点として部分的に復号処理を行う。
【００６３】
なお、本発明の画像処理装置およびそれを適用したプリンタは図２に例示する構成に限定されない。例えば、近年普及している複合機と呼ばれるスキャナ機能付きのプリンタでは、図６に示すように原稿読み取り部５４及び符号部５０３をさらに備える構成が考えられる。この場合、本発明の第１の実施形態と同様に、符号化部５０３がＭＣＵ毎の部分復号情報を出力し、指定された領域についての部分復号情報を復号用のテーブルに記憶してもよい。
【００６４】
以上に説明したように、本第２の実施形態の画像処理装置では、所定間隔の列のＭＣＵの部分復号情報と、指定された領域の部分復号情報とが復号用のテーブルに記憶される。もしも指定された領域が所定間隔の列のＭＣＵと近い場合には、部分復号情報でなく該領域の座標が記憶される。よって、所定の領域に対する復号処理を短時間で行うことができ、その処理に必要な復号用のテーブルのデータ量が最小限で済む。
【００６５】
［第３の実施形態］
上記第１、第２の実施形態に対応する処理を、コンピュータプログラムでもって実現する例を第３の実施形態として説明する。
【００６６】
図３は本第３の実施形態における装置のブロック構成図である。図３において、３０１は符号化された画像データ（符号化画像データ）を扱うプログラムを搭載した汎用の情報処理装置であるPersonal Computer（以下、ＰＣ）である。３０２はＰＣ３０１が備えるHard Disk Drive (ＨＤＤ)である。３０３は画像データを表示するためのモニタであり、ＰＣ３０１と接続されている。３０４は被写体を撮影してその画像データを符号化し、メモリカードなどの記憶媒体にファイルとして記憶するデジタルカメラである。デジタルカメラ３０４はＵＳＢなどの通信手段を介して、ＰＣ３０１と接続される。ＰＣ３０１は、符号化画像データを上記通信手段あるいはメモリカード等の記憶媒体を介してＨＤＤ３０２にコピーすることが可能である。３０５は、画像データを印刷するプリンタであり、ＰＣ３０１と接続される。プリンタ３０５はＨＤＤ３０２に記憶された符号化画像データを印刷する。３０６はＰＣ３０１と接続されるネットワークである。ＰＣ３０１はこれを介して符号化された画像データをダウンロードし、ＨＤＤ３０２に記憶することができる。
【００６７】
次に、ＰＣ３０１内の、制御部として機能するＣＰＵが実行するプログラムの処理について、図４のフローチャートを用いて説明する。なお、このプログラムはＨＤＤ３０２に格納され、実行する際には主記憶装置（ＲＡＭ）にロードし実行することになる。
【００６８】
ＰＣ３０１内のＣＰＵは、ＨＤＤ３０２に記憶された符号化画像データ・ファイルを読み出す（ステップＳ３０１）。次に、復号処理を行う（ステップＳ３０２）。次に、前記ファイルのヘッダに顔領域の位置情報があるか否かを判定する（ステップＳ３０３）。上記位置情報がある場合は（ステップＳ３０３でＹＥＳ）、それを基に顔領域の部分復号情報を作る（ステップＳ３０４）。そうでない場合は（ステップＳ３０３でＮｏ）、先ず人物の顔領域を公知技術により検出し、該顔領域の部分復号情報を作る（ステップＳ３０５）。
【００６９】
次に、上記ファイルのヘッダに、図１３に例示するような画像の所定列の部分復号情報が予め付加されているか否かを判定する（ステップＳ３０６）。上記部分復号情報が付加されている場合は（ステップＳ３０６でＹｅｓ）、それを復号用のテーブルに記憶（ステップＳ３０７）、ステップＳ３０８へ処理を移行する。そうでなければ（ステップＳ３０６でＮｏ）、そのままステップＳ３０８へ処理を移行する。
【００７０】
次に、ステップＳ３０４またはＳ３０５で作成した顔領域の部分復号情報を復号用のテーブルに記憶する（ステップＳ３０８）。そして、符号化画像データ・ファイルのヘッダに、復号用のテーブルを付加する（ステップＳ３０９）。なお、上記ファイルのヘッダに予め部分復号情報が付加されていた場合は（ステップＳ３０６でＹｅｓ）、画像の所定列の部分復号情報と、顔領域の部分復号情報の両方が、復号用のテーブルに記憶されることになる。そうでなければ（ステップＳ３０６でＮｏ）、顔領域の部分復号情報が復号用のテーブルに記憶されることになる。
【００７１】
以上に説明した処理をＰＣ３０１が行うことにより、本発明の第１の実施形態と同様に復号用のテーブル（図１０）が作られる。この復号用のテーブルを利用することにより、画像に対する所定の領域の切り出し処理を短時間で行うことができる。さらに、復号用のテーブルをファイルヘッダに付加することにより、デジタルカメラやプリンタなどの機器が復号用のテーブルを作る機能を持たなくても、それを利用して所定の領域を短時間で復号することができる。
【００７２】
なお、本発明の画像処理装置は図３に例示する構成に限定されない。例えば、図７に示すように、サーバ６０８がＰＣ６０１、６０７、６０９から符号化画像データ・ファイルを受け取り、復号用のテーブルを作ってヘッダに付加するようにしてもよい。
【００７３】
以上の説明から明らかなように、本発明は、コンピュータに読取らせ実行させるコンピュータプログラムによっても実現可能である。また、通常、コンピュータプログラムは、ＣＤ−ＲＯＭ等のコンピュータ可読記憶媒体を、コンピュータが備える読取り装置（ＣＤ−ＲＯＭドライブ）にセットし、システムにコピーもしくはインストールすることで実行可能になる。従って、かかるコンピュータ可読記憶媒体も本発明の範疇にあることは明らかである。
【図面の簡単な説明】
【００７４】
【図１】第１の実施形態の画像処理装置を搭載したデジタルカメラのブロック構成図である。
【図２】第２の実施形態の画像処理装置を搭載したプリンタのブロック構成図である。
【図３】第３の実施形態の画像処理装置のブロック構成図である。
【図４】第３の実施形態の画像処理装置の処理内容を示すフローチャートである。
【図５】第１の実施形態の他の画像処理装置の構成を示す図である。
【図６】第２の実施形態の他の画像処理装置の構成を示す図である。
【図７】第３の実施形態が適用するシステム構成を示す図である。
【図８】第１の実施形態にて作成される復号用テーブルの部分復号情報が示すＭＣＵの位置を示す図である。
【図９】第１の実施形態にて作成される他の復号用テーブルの部分復号情報が示すＭＣＵの位置を示す図である。
【図１０】第１と第２の実施形態にて作成される復号用テーブルの具体的なデータ構造と部分復号情報が示すＭＣＵの位置を示す図である。
【図１１】第１と第２の実施形態の他の画像処理装置にて作成される復号用テーブルの具体的なデータ構造と部分復号情報が示すＭＣＵの位置を示す図である。
【図１２】従来技術の可変長符号化データの復号テーブルの設定例を示す図である。
【図１３】実施形態３の画像処理装置に入力される符号化画像データに予め付加されている部分復号情報を例示する概念図である。
【図１】
2010016781.tif 000003
【図２】
2010016781.tif 000004
【図３】
2010016781.tif 000005
【図４】
2010016781.tif 000006
【図５】
2010016781.tif 000007
【図６】
2010016781.tif 000008
【図７】
2010016781.tif 000009
【図８】
2010016781.tif 000010
【図９】
2010016781.tif 000011
【図１０】
2010016781.tif 000012
【図１１】
2010016781.tif 000013
【図１２】
2010016781.tif 000014
【図１３】
2010016781.tif 000015