(57)【要約】【課題】  オリジナルの解像度以下の中間解像度であってもブロックノイズが発生しにくく、且つ、ダイレクトに復号可能な解像度の種類を更に多くし、その利便性を高めることを可能にする。【解決手段】  撮像部２２０１で撮像したオリジナル画像データはメモリ２２０９に格納される。リサイズ部２２１１は、メモリ２２０９に格納されたオリジナル画像データを、その水平、垂直とも１／２の画素数に縮小したリサイズ画像データを生成し、メモリ２２０９に格納する。この後、画像圧縮部２２０４はオリジナル画像データ、及び、リサイズ画像データそれぞれをＨＤＰｈｏｔｏ形式で符号化する。そして、ＣＰＵ２２０８は、符号化した２つの符号化データを１つのファイルとして、出力部２２０７に接続された不揮発性のメモリカードに保存する。【選択図】  図２２
2010074411.tif 000002
【特許請求の範囲】
【請求項１】
画像データを符号化する画像符号化装置であって、
符号化対象のオリジナル画像データを入力する入力手段と、
入力したオリジナル画像データを、当該オリジナル画像データの解像度よりも低い解像度に縮小する縮小手段と、
前記入力手段で入力したオリジナル画像データ、及び、前記縮小手段によって得られた縮小画像データそれぞれを符号化し、それぞれを解像度に関して階層構造を持つ符号化データを生成する階層符号化手段と、
該階層符号化手段で符号化された２つの符号化データを組にして出力する出力手段とを備え、
前記階層符号化手段は、
複数の画素で構成される領域をブロック、当該ブロックを複数個内包する領域をマクロブロック、当該マクロブロックを複数個内包する領域をタイルとして定義し、前記ブロックを最小単位として処理することでマクロブロックの符号化データを生成し、各マクロブロックの符号化データを予め設定された順に並べることでタイル単位の符号化データを生成する階層符号化手段であって、
前記ブロックを単位に与えられたデータを周波数変換し、１つのブロックにつき１つのＤＣ成分データと複数のＡＣ成分データとを得る周波数変換手段と、
隣接する前記ブロックの境界のデータの不連続性の発生を抑制するため、前記境界を跨ぐ領域内のデータをフィルタ処理するブロックオーバラップ処理手段と、
前記タイルの符号化データの配列形式として、各マクロブロックの低周波から高周波に向かう順に符号化データを並べる解像度順符号列の形式にするか、マクロブロック単位に符号化データを並べる空間順符号列の形式にするかを設定する決定手段と、
前記ブロックオーバラップ処理手段の実行回数として、０、１、２回のいずれか１つを設定する設定手段と、
前記周波数変換手段で得られた各成分データを量子化する量子化手段と、
該量子化手段による量子化後の各成分データをエントロピー符号化するエントロピー符号化手段と、
該エントロピー符号化手段で生成された着目タイルのタイル内の符号化データを、前記決定手段で決定した配列形式に並べて、出力する符号列形成手段と、
前記周波数変換手段を２回実行し、前記設定手段による設定された回数だけ前記ブロックオーバラップ処理手段の実行する制御手段を備える
ことを特徴とする画像符号化装置。
【請求項２】
更に、前記縮小手段の縮小処理を行なうか否かを設定する手段を備えることを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
更に、符号化画像データファイルを解析し、当該符号化画像データファイル中に、前記縮小手段による縮小画像データの符号化データが格納されているか否かを判定する判定手段と、
該判定手段により、前記符号化画像データファイルに前記縮小画像データの符号化データが格納されていないと判定した場合、オリジナル画像データを復号する復号手段とを備え、
前記入力手段は、前記復号手段により復号したオリジナル画像データを入力することを特徴とする請求項１に記載の画像符号化装置。
【請求項４】
前記縮小手段の縮小率は、３／４とすることを特徴とする請求項１に記載の画像符号化装置。
【請求項５】
更に、復号装置から、当該復号装置が有する出力装置の解像度を示す情報を取得する取得手段と、
前記オリジナル画像データの解像度と前記復号装置の出力装置の解像度によって、前記縮小手段による縮小率を決定する手段と
を備えることを特徴とする請求項１に記載の画像符号化装置。
【請求項６】
前記縮小手段は、オリジナル画像データの解像度の１／２、及び、３／４の縮小画像データを生成することを特徴とする請求項１に記載の画像符号化装置。
【請求項７】
請求項１に記載の画像符号化装置で生成されたファイルの符号化画像データを復号し、出力装置の出力領域に出力する画像復号装置であって、
前記ファイルを解析し、オリジナル画像データの符号化データ、及び、縮小画像データの符号化データからダイレクトに復号可能な解像度の種類を判別する判別手段と、
該判別手段の判別結果に基づき、前記出力領域の解像度を下回らず、最低の解像度の画像データをダイレクトに復号できるのが、前記オリジナル画像データの符号化データ、前記縮小画像データの符号化データのいずれであり、復号処理対象の符号列を判定する判定手段と、
該判定手段の判定の結果によって特定された符号列を復号する復号手段と、
該復号手段で復号して得られた画像データを、前記出力領域の解像度に従ってリサイズ処理するリサイズ手段と
を備えることを特徴とする画像復号装置。
【請求項８】
画像データを符号化する画像符号化装置の制御方法であって、
符号化対象のオリジナル画像データを入力する入力工程と、
入力したオリジナル画像データを、当該オリジナル画像データの解像度よりも低い解像度に縮小する縮小工程と、
前記入力工程で入力したオリジナル画像データ、及び、前記縮小工程によって得られた縮小画像データそれぞれを符号化し、それぞれ解像度に関して階層構造を持つ符号化データを生成する階層符号化工程と、
該階層符号化工程で符号化された２つの符号化データを組にして出力する出力工程とを有し、
前記階層符号化工程は、
複数の画素で構成される領域をブロック、当該ブロックを複数個内包する領域をマクロブロック、当該マクロブロックを複数個内包する領域をタイルとして定義し、前記ブロックを最小単位として処理することでマクロブロックの符号化データを生成し、各マクロブロックの符号化データを予め設定された順に並べることでタイル単位の符号化データを生成する階層符号化工程であって、
前記ブロックを単位に与えられたデータを周波数変換し、１つのブロックにつき１つのＤＣ成分データと複数のＡＣ成分データとを得る周波数変換工程と、
隣接する前記ブロックの境界のデータの不連続性の発生を抑制するため、前記境界を跨ぐ領域内のデータをフィルタ処理するブロックオーバラップ処理工程と、
前記タイルの符号化データの配列形式として、各マクロブロックの低周波から高周波に向かう順に符号化データを並べる解像度順符号列の形式にするか、マクロブロック単位に符号化データを並べる空間順符号列の形式にするかを設定する決定工程と、
前記ブロックオーバラップ処理工程の実行回数として、０、１、２回のいずれか１つを設定する設定工程と、
前記周波数変換工程で得られた各成分データを量子化する量子化工程と、
該量子化工程による量子化後の各成分データをエントロピー符号化するエントロピー符号化工程と、
該エントロピー符号化工程で生成された着目タイルのタイル内の符号化データを、前記決定工程で決定した配列形式に並べて、出力する符号列形成工程と、
前記周波数変換工程を２回実行し、前記設定工程による設定された回数だけ前記ブロックオーバラップ処理工程の実行する制御工程を有する
ことを特徴とする画像符号化装置の制御方法。
【請求項９】
請求項１に記載の画像符号化装置で生成されたファイルの符号化画像データを復号し、出力装置の出力領域に出力する画像復号装置の制御方法であって、
前記ファイルを解析し、オリジナル画像データの符号化データ、及び、縮小画像データの符号化データからダイレクトに復号可能な解像度の種類を判別する判別工程と、
該判別工程の判別結果に基づき、前記出力領域の解像度を下回らず、最低の解像度の画像データをダイレクトに復号できるのが、前記オリジナル画像データの符号化データ、前記縮小画像データの符号化データのいずれであり、復号処理対象の符号列を判定する判定工程と、
該判定工程の判定の結果によって特定された符号列を復号する復号工程と、
該復号工程で復号して得られた画像データを、前記出力領域の解像度に従ってリサイズ処理するリサイズ工程と
を有することを特徴とする画像復号装置の制御方法。
【請求項１０】
コンピュータに読込ませ実行させることで、前記コンピュータを請求項１に記載の画像符号化装置として機能させることを特徴とするコンピュータプログラム。
【請求項１１】
コンピュータに読込ませ実行させることで、前記コンピュータを請求項７に記載の画像復号装置として機能させることを特徴とするコンピュータプログラム。
【請求項１２】
請求項１０又は１１に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像データの符号化、復号技術に関するものである。
【背景技術】
【０００２】
昨今、パソコンやモバイル端末の普及により、インターネットを介したデジタルデータの通信（データ通信）が幅広く行われるようになった。このデータ通信において流通するデジタルデータに画像がある。デジタル画像には、コピー，検索，様々な画像処理等を比較的容易に行えるという特徴があり、非常に多くの人がデジタル画像を扱うようになってきた。
【０００３】
デジタル画像を効率的に使う上で、ファイルサイズを小さくする画像圧縮は不可欠であり、代表的な技術としてＪＰＥＧやＰＮＧなどがある。これら画像圧縮を行うことで画像に歪みを生じることがあり、画質を抑制する手法が研究開発されてきている。また、ファイルサイズを小さくする本来の機能だけでなく、様々な機能を持たせる技術も開発されている。例えばＪＰＥＧ２０００では、低解像度から徐々にオリジナルが持つ解像度の画像までスケーラブルに復号する形式の符号化データの生成が選択できる。
【０００４】
ここで述べた解像度スケーラブル機能を持たせた上で画質を向上させる機能を持った技術も開発されている。この技術を開示した文献としては、例えば、特許文献１が挙げられる。この文献、又は、この文献を基礎にした技術は、一般には、ＨＤ Ｐｈｏｔｏ（登録商標）と呼ばれている。具体的には、画像をタイルに分割する。そして、各タイルに対してＤＣＴ変換を繰り返して行って階層の系列データを生成する。さらにタイル間で発生するブロック歪みを抑えるために、ＤＣＴを行う前もしくはＤＣＴを行っている過程で、隣接する２つのタイルの画素を使って所定の処理を行っている。
【特許文献１】特開２００６−１９７５７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
解像度スケーラブル機能を持たせた符号化方法の中には、スケーラブルの段階が少なかったり、スケーラブルの階層間の解像度の差が大きく使いづらい方式がある。例えばＨＤ Ｐｈｏｔｏでは、ダイレクトに復号することができる解像度の種類は３つであり、必然、目標とする解像度の画像データを得るためには、復号処理で得られた画像データに対して、多くの処理が必要になる。
【０００６】
そこで、本発明は、オリジナルの解像度以下の中間解像度であってもブロックノイズが発生しにくく、且つ、ダイレクトに復号可能な解像度の種類を更に多くし、その利便性を高める符号化画像データを生成する技術を提供しようとするものである。
【課題を解決するための手段】
【０００７】
かかる課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
画像データを符号化する画像符号化装置であって、
符号化対象のオリジナル画像データを入力する入力手段と、
入力したオリジナル画像データを、当該オリジナル画像データの解像度よりも低い解像度に縮小する縮小手段と、
前記入力手段で入力したオリジナル画像データ、及び、前記縮小手段によって得られた縮小画像データそれぞれを符号化し、それぞれを解像度に関して階層構造を持つ符号化データを生成する階層符号化手段と、
該階層符号化手段で符号化された２つの符号化データを組にして出力する出力手段とを備え、
前記階層符号化手段は、
複数の画素で構成される領域をブロック、当該ブロックを複数個内包する領域をマクロブロック、当該マクロブロックを複数個内包する領域をタイルとして定義し、前記ブロックを最小単位として処理することでマクロブロックの符号化データを生成し、各マクロブロックの符号化データを予め設定された順に並べることでタイル単位の符号化データを生成する階層符号化手段であって、
前記ブロックを単位に与えられたデータを周波数変換し、１つのブロックにつき１つのＤＣ成分データと複数のＡＣ成分データとを得る周波数変換手段と、
隣接する前記ブロックの境界のデータの不連続性の発生を抑制するため、前記境界を跨ぐ領域内のデータをフィルタ処理するブロックオーバラップ処理手段と、
前記タイルの符号化データの配列形式として、各マクロブロックの低周波から高周波に向かう順に符号化データを並べる解像度順符号列の形式にするか、マクロブロック単位に符号化データを並べる空間順符号列の形式にするかを設定する決定手段と、
前記ブロックオーバラップ処理手段の実行回数として、０、１、２回のいずれか１つを設定する設定手段と、
前記周波数変換手段で得られた各成分データを量子化する量子化手段と、
該量子化手段による量子化後の各成分データをエントロピー符号化するエントロピー符号化手段と、
該エントロピー符号化手段で生成された着目タイルのタイル内の符号化データを、前記決定手段で決定した配列形式に並べて、出力する符号列形成手段と、
前記周波数変換手段を２回実行し、前記設定手段による設定された回数だけ前記ブロックオーバラップ処理手段の実行する制御手段を備える。
【発明の効果】
【０００８】
本発明によれば、オリジナルの解像度以下の中間解像度であってもブロックノイズが発生しにくく、且つ、ダイレクトに復号可能な解像度の種類を更に多くし、その利便性を高めることが可能になる。
【発明を実施するための最良の形態】
【０００９】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【００１０】
本発明に係る以下に説明する各実施形態では、本発明に係る構成をデジタルカメラに実装した場合について説明する。説明を分かりやすくするため、本実施の形態におけるデジタルカメラは超高解像度（１千万画素を超える解像度）で撮影することができる。通常、パーソナルコンピュータ等の汎用の情報処理装置のディスプレイは、せいぜい１６００×１２００画素（≒２００万画素）程度であるため、撮像画像をそのフル解像度で表示することができない。そこで、ディスプレイにオリジナルの解像度よりも低い、中間的な解像度である縮小画像を生成する必要がある。本実施の形態においては、超高解像度画像撮影が行われた際、中間的な解像度でありながらも、画質劣化を抑制した画像を生成できるようにする。
【００１１】
［第１の実施形態］
本実施の形態では、デジタルカメラで画像を撮影する際、符号列を増やして階層を増やすかどうかユーザーに選択させる。そのようにして撮影された画像をパソコンに取り込み、文書作成ソフトウェア上で撮影した画像の低解像度画像を挿入する処理系を想定する。
【００１２】
図２２が実施形態が適用するデジタルカメラ（画像処理装置）のブロック構成図である。このデジタルカメラは、撮影部２２０１、撮影指示部２２０２、画像処理部２２０３、画像圧縮部２２０４、サイズ指定部２２０５、解像度判定部２２０６、出力部２２０７、階層モード指定部２２１０、リサイズ部２２１１を備える。また、デジタルカメラには、装置全体の制御手段として機能するＣＰＵ２２０８、及び、ＣＰＵ２２０８の実行するプログラム及びワークエリアとして使用するメモリ２２０９を備える。また、各種設定された情報も、このメモリ２２０９に格納される。なお、サイズ指定部２２０５、階層モード指定部２２１０は、不図示の操作パネルに設けられたボタン、もしくはメニュー選択により指定するものとする。また、撮影指示部２２０２はシャッターボタンと言えば分かりやすい。
【００１３】
実施形態におけるデジタルカメラにおいて、ユーザーは、撮影に先立ち、撮影画像の解像度（サイズ）をサイズ指定部２２０５にて設定できる。選択可能なサイズには、例えばＬ、Ｍ、Ｓの３通りがある。Ｌサイズは水平方向４０００画素、垂直方向３０００画素（以下、４０００×３０００画素という）であり、Ｍサイズは２０００×１５００画素、Ｓサイズは１６００画素×１２００画素である。すなわち、実施形態のデジタルカメラが有する撮像部２２０には、４０００×３０００の解像度を持つ撮像素子が搭載されているものとする。選択したサイズは、メモリ２２０９の予め設定された領域に保存される。
【００１４】
またユーザーは、階層モード指定部２２１０を操作することで、高階層モード、低階層モードの２つのいずれか一方の階層モードを選択する。選択された階層モードは階層モード情報としてメモリ２２０９の予め設定された領域に保存される。高階層モードでは、撮影した画像（原画像）の半分の解像度の画像（リサイズ画像）を生成し、原画像とリサイズ画像を圧縮し１つのファイルにまとめる。なお、リサイズ処理は、オリジナルの画像データ中の２×２画素の各色成分の平均値を算出し、その各色成分の平均値をリサイズ後の１画素の各成分値として決定するものとする。
【００１５】
上記の通り、サイズ指定部２２０５にて、解像度を設定した後、ユーザは撮影指示部２２０２に含まれるシャッターボタンを操作すると、指定された解像度の画像を撮影し、画像処理（ホワイトバランス処理等）を行ない、後述する符号化処理を行なう。そして、生成された符号化データを、出力部２２０７に接続された不揮発性のメモリカードに保存する処理を行なう。
【００１６】
図２３は、シャッターボタンが操作された際のＣＰＵ２２０８の処理手順を示すフローチャートである。なお、ＡＦ、ＡＥ等の処理は、本願には直接には関係がないので、その説明は省略する。以下、図２３のフローチャートに従って処理手順を説明する。
【００１７】
先ず、ＣＰＵ２２０８は、撮影部２２０１で得られた光電変換した信号をデジタルデータに変換し、その変換後のデータを画像データとして取得し（ステップＳ２３０１）、メモリ２２０９に一時的に格納する（ステップＳ２３０２）。
【００１８】
次に、ＣＰＵ２２０８は、画像処理部２２０３を制御し、メモリ２２０９に格納した画像データに対する画像処理を実行させる（ステップＳ２３０３）。この画像処理としては、ベイヤー配列のＲＧＢデータを正規の配列に変換する処理，ホワイトバランス、シャープネス，色処理などが考えられる。画像処理結果の画像データは、メモリ２２０９に再び格納される。画像処理が終了すると、処理はステップＳ２３０４に進み、設定されたサイズ情報をメモリ２２０９から取得し（ステップＳ２３０４）、ユーザーが指定したサイズを判定する（ステップＳ２３０５）。
【００１９】
もしサイズＬが指定されていれば（ステップＳ２３０５でYes)、画像圧縮に関する２つの情報、すなわち、系列変換情報ＳＣと符号列形成情報ＣＦそれぞれ対して“２”を設定し、画像圧縮部２２０４に設定する（ステップＳ２３０６）。つまり、系列変換情報と符号列形成情報は、画像圧縮部２２０４の圧縮符号化する際のパラメータと言うことができる。
【００２０】
なお、系列変換情報ＳＣと符号列形成情報ＣＦの詳細は後述するが、本実施形態における系列変換情報ＳＣについては“０”、“１”、“２”の３つがある。ここで、“２”は中間解像度の画質を向上させるための処理を指示する情報である。また、系列変換情報ＳＣは、後述する周波数変換処理の実行回数を示す情報としても利用される。符号列形成情報ＣＦについては“１”、“２”の２つがあり、“２”は中間解像度優先による符号列の形成を指示する情報である。系列変換情報ＳＣ、符号列形成情報ＣＦを共に“２”にした場合、複雑な処理が介在することになり、処理に要する時間も増える。しかし、サイズＬの画像の場合、その画素数が非常に多く、実際に表示する段階では、最高解像度で表示することは希であり、むしろ最高解像よりも数段低い中間解像度で表示する可能性が高いと言える。そこで、実施形態では、表示処理の後の処理に応じた処理を行なうため、サイズＬが設定された場合、上記のように、系列変換情報ＳＣ、及び、符号列形成情報ＣＦを共に“２”に設定する。
【００２１】
一方、指定されたサイズがＬ以外の場合（指定されたサイズがＭ、又はＳの場合）、処理はステップＳ２３０７に進み、指定サイズはＭであるか否かを判定する。サイズＭが設定されている場合、ステップＳ２３０８にて、系列変換情報ＳＣとして“１”、符号列形成情報ＣＦとして“１”を、画像圧縮部２２０４に設定する。
【００２２】
また、指定されたサイズがＭ以外、すなわち、サイズＳが設定されていると判定した場合、ステップＳ２３０９にて、系列変換情報ＳＣとして“０”、符号列形成情報ＣＦとして“１”を、画像圧縮部２２０４に設定する。
【００２３】
続いて、ＣＰＵ２２０８は、階層モード情報をメモリ２２０９から取得する（ステップＳ２３１０）。もし階層モードが高階層モードであれば（ステップＳ２３１１でYes）、リサイズ部２２１１において、撮像した画像データを１／２の解像度にリサイズして（ステップＳ２３１２）、画像圧縮部２２０４に原画像データとリサイズ画像（縮小画像データ）を出力する。つまり、画像圧縮部２２０４は、原画像とリサイズ画像の２つの画像を符号化することになる。一方で低階層モードであれば（ステップＳ２３１１でNo）、原画像データをそのまま画像圧縮部２２０４に出力する。
【００２４】
この後、処理はステップＳ２３１３に進み、画像圧縮部２２０４に対して圧縮処理を開始させる。この後、ステップＳ２３１４にて、ＣＰＵ２２０８は、生成された符号化データをファイルにして、メモリカードに格納する。なお、高階層モードの場合、ＣＰＵ２２０８は、画像圧縮処理後２つの画像符号化データを１つのファイルにまとめた後、メモリカードに格納する処理を行なう。このとき、ファイルヘッダには、階層モードがいずれであるのかを示す情報、並びに、高階層モードの場合には原画像及びリサイズ画像それぞれの符号化データの先頭位置情報が格納される。
【００２５】
次に、実施形態における画像圧縮部２１０４の詳細を説明する。
【００２６】
本実施形態の画像圧縮部２１０４は、先に示した特許文献１で示したＨＤ  Ｐｈｏｔｏ技術を採用し、階層構造を持つ階層符号化データを生成する。そこで、この技術の基本にしつつ、本実施形態の特徴部分を以下に説明する。
【００２７】
図１は、実施形態における画像圧縮部２２０４のブロック構成図である。
【００２８】
画像圧縮部２１０４は、色変換部１０１、系列変換部１０２、量子化部１０３、係数予測部１０４、係数スキャン部１０５、エントロピー符号化部１０６、符号列形成部１０７で構成される。
【００２９】
画像圧縮部２１０４の処理を説明するに先立ち、用語について定義する。ブロックとは符号化処理の最小単位であり、実施形態では４×４画素のサイズである。マクロブロックとはブロックを複数個内包する単位であり、実施形態では４×４個のブロック（言い換えれば、１６×１６画素）を示す。タイルとは、マクロブロックを複数個内包する単位であり、Ｍ×Ｎ個（Ｍ，Ｎは１以上の整数であって、いずれか一方は２以上の整数）のマクロブロックで構成される。実施形態では、Ｍ＝６、Ｎ＝４として説明する。すなわち、１タイルのサイズは、６×４個のマクロブロック＝９６×６４画素のサイズである。なお、ここで示すブロック、マクロブロック、タイルの定義は一例であって、それらのサイズによって本願発明が限定されるものではない。画像圧縮部２１０４は、タイルを単位に圧縮符号化データを生成するが、その処理における最小処理単位はブロック（４×４画素）である。
【００３０】
色変換部１０１はＲ、Ｇ、Ｂ（実施形態では各成分が８ビット＝２５６階調とする）データをＹ、Ｕ、Ｖの色空間に変換し、変換結果を系列変換部１０２に出力する。ＲＧＢ→ＹＵＶの変換は、例えば図３に示す変換式に従って行なう。
【００３１】
Ｙ，Ｕ，Ｖの各コンポーネントの符号化処理は個別に処理される。そこで、説明を簡単なものとするため、以下では、Ｙ（輝度）について説明する。すなわち、以下の説明にて画像データとはＹコンポーネントで表わされる画像データを意味することに注意されたい（Ｕ，Ｖの各コンポーネントについては、適宜、置き換えて把握されたい）。
【００３２】
系列変換部１０２は、図２に示す如く、第１変換部２０１、第２変換部２０２、及び、メモリ２０３を有する。ここで、第１変換部２０１は必須の処理であり、且つ、系列変換部１０２の制御も司る。一方、第２変換部２０２はオプション的な処理であって、実行してもしなくて構わない。また、第２変換部２０２に処理を実行させるか否かのハンドリングは第１変換部２０１が行なう。第２の変換部２０２の処理を行なう場合、その分だけ符号化処理にかかる負担が増え、処理に要する時間も増えるが、画像復号した画質（特に、オリジナルの解像度よりも低い解像度の画像の画質）はより好ましいものとなる。メモリ２０３は先に説明した系列変換情報ＳＣを保持する。
【００３３】
Ｙコンポーネントデータは系列変換部１０２に入力されると、図５に示したようにまず画像はタイルのサイズに分割される（実施形態では、１つのタイルは６×４個のマクロブロックで構成される）。メモリ２０３には系列変換情報ＳＣ（０、１、２のいずれか）が格納されており、その情報に従って、第１変換部２０１、第２変換部２０２は、図４のフローチャートに従って処理を実行する。
【００３４】
先ず、ステップＳ４０１にて、第１変換部２０１は、系列変換情報ＳＣをメモリ２０３から取得する。そして、ステップＳ４０２において、第１変換部２０１は、その系列変換情報ＳＣが“０”であるか否かを判定する。
【００３５】
系列変換情報ＳＣが“０”である場合、第１変換部２０１は、第２変換部２０２に対して変換処理を要求しない。そして、第１変換部２０１はステップＳ４０３、Ｓ４０４にて、周波数変換処理を２回実行する。この処理を、図６を用いて具体的に説明する。
【００３６】
先ず、１つのマクロブロックを構成する４×４個のブロックのそれぞれに対し、周波数変換処理を行なう（第１ステージ）。１つのブロックからは、１個のＤＣ成分（直流成分）データと１５（＝４×４−１）個のＡＣ成分（交流成分）データが得られる。上記の通り、１つのマクロブロックは４×４個のブロックで構成されているので、１つのマクロブロックからは４×４個のＤＣ成分データと、１５×４×４個のＡＣ成分データが得られる。この４×４個のＤＣ成分値を集めたものをＤＣブロックと言う。
【００３７】
上記がステップＳ４０３の処理、すなわ、第１回目の周波数変換処理である。
【００３８】
次に、ステップＳ４０４の処理（第２回目の周波数変換処理）について説明する。
【００３９】
ステップＳ４０４における第２回目の周波数変換対象は、上記のＤＣブロックである（第２ステージ）。この結果、ＤＣブロックから１個のＤＣ成分値と、１５個のＡＣ成分値が得られる。後者のＡＣ成分値は、ＤＣブロック（４×４画素）のＤＣ成分から算出したＡＣ成分であるので、図６ではＡＣＤＣ成分として示している。
【００４０】
なお、ステップＳ４０３、Ｓ４０４で生成される成分を区別するのであれば、１回目（ステップＳ４０３）で得られるＤＣ成分データ、ＡＣ成分データを、第１レベルのＤＣ成分データ、第１レベルのＡＣ成分データとも言う。そして、２回目（ステップＳ４０４）で得られるＤＣ成分データ、ＡＣＤＣ成分データを、第２レベルのＤＣ成分データ、第２レベルのＡＣ成分データとも言っても構わない。
【００４１】
ここで、周波数変換処理は図７のフローチャートに示す手順で行われる。なお、同フローチャートは１ブロック（４×４画素）についてのものである点に注意されたい。すなわち、マクロブロックは４×４ブロックで構成されているので、第１回目の周波数変換処理（ステップＳ４０３）では、図７のフローチャートに従った処理を１６回行なうことになる。
【００４２】
なお、図７のフローチャートにおけるステップＳ７１乃至Ｓ７８における変換処理（フィルタリング処理）は、図８（ｂ）乃至（ｄ）の同名の変換回路（フィルタリング回路）のいずれかで実行される。また、図７の各変換処理での引数ａ乃至ｐは、図８（ａ）の着目ブロック内の画素ａ乃至ｐの位置に対応する。
【００４３】
図７の最初の処理ステップＳ７１の変換処理Ｔ＿Ｈ（ａ，ｄ，ｍ，ｐ）は、図８（ｂ）の回路構成で実行することを示している。すなわち、図８（ｂ）の入力端子Ｘ１，Ｘ２，Ｘ３，Ｘ４に、図８（ａ）におけるａ，ｄ，ｍ，ｐをそれぞれセットし演算を開始させる。そして、出力端子Ｙ１、Ｙ２、Ｙ３、Ｙ４に現れる４つの値で、元のａ，ｄ，ｍ，ｐの値を更新する。ステップＳ７２以降でも、同様である。なお、ステップＳ７８では、データｌ，ｏの正負の符号を反転した後、Ｔ＿Ｏｄｄ＿Ｏｄｄ演算処理（図８（ｄ）参照）を行なうことを示している。
【００４４】
図７の処理をＤＣ成分について平たく言えば、最初の４つの処理（ステップＳ７１乃至７４）では、着目ブロック（４×４画素）のデータから、仮の低周波成分を左上隅の２×２の位置（図８ではａ，ｂ，ｅ，ｆの位置）に集中させる。そして、ステップＳ７５では、左上隅の｛ａ，ｂ，ｅ，ｆ｝の位置に格納された２×２個の仮低周波成分のデータを用いて、図８（ａ）の“ａ”の位置に、着目ブロックの１つのＤＣ成分を格納させる。
【００４５】
また、１５個のＡＣ成分については、ステップＳ７１乃至Ｓ７８の処理過程を経て生成していることになる。
【００４６】
１回目の周波数変換処理では、図７の着目マクロブロックに含まれる１６個のブロックそれぞれについて行なう。また、２回めの周波数変換処理では、着目マクロブロックから得られたＤＣブロック（４×４個のＤＣ成分値）が、図８（ａ）の配列にあるものと見なし、図７のフローチャートに示す処理を１回行なえば良いことになる。
【００４７】
上記の通り、２回の周波数変換処理で、１つのマクロブロックからは、１つのＤＣ成分、１５（＝４×４−１）個のＡＣＤＣ成分、２４０（＝１５×４×４）個のＡＣ成分が得られる。
【００４８】
なお、実施形態における符号化処理では、タイル単位に符号化データを生成する。実施形態では、１タイルは６×４個のマクロブロックで構成されるものとしているので、上記ステップＳ４０３、Ｓ４０４はこの１タイルに含まれるマクロブロックの数だけ処理することになる。
【００４９】
図４の説明に戻る。ステップＳ４０２において、第１変換部２０１は、メモリ２０３から取得した系列変換情報ＳＣが“０”以外、すなわち、ＳＣ＝１又は２であると判断した場合、ステップＳ４０５に進む。ステップＳ４０５では、第１変換部２０１は、第２変換部２０２に対して変換処理の開始指示を行なう。
【００５０】
この第２変換部２０２の処理は、第１変換部２０１がブロック単位の演算を基礎にしていることに起因するブロック境界の歪みを補正するため、ブロックの境界を跨ぐ（オーバーラップする）範囲で補正処理を行なう。それ故、この第２の変換部２０２が実行する処理を以降、ブロックオーバラップ処理という。
【００５１】
第１変換部２０１によって起動指示を受けた第２変換部２０２は、図９に示したように入力タイル中のブロック（４×４画素）の境界を跨ぐ（オーバーラップする）ｗｉｎｄｏｗを用いてブロックオーバラップ処理を行なう（ステップＳ４０４）。
【００５２】
このブロックオーバラップ処理は、図１９のフローチャートに示す通りである。図１９には、先に示した図７のフローチャートで示した処理に加えて、２つのフィルタ処理、すなわち、Ｔ＿ｓ（）、及び、Ｔ＿Ｒｏ（）が新に追加される。このＴ＿ｓ（）、及び、Ｔ＿Ｒｏ（）は図２０（ａ），（ｂ）の回路構成で実現する。Ｔ＿ｓ（）、Ｔ＿Ｒ処理は、２入力、２出力のフィルタリング処理である。
【００５３】
ブロックオーバラップ処理は、先に説明した周波数変換処理の処理対象のブロックを跨ぐ範囲を処理対象とすることで、周波数変換するブロック境界での不連続性の発生を抑制できる。
【００５４】
この後、処理は、ステップＳ４０６に進み、第１変換部２０１は、周波数変換処理を１回を行なう。このステップＳ４０６における周波数変換処理は、図６のマクロブロックに相当する領域内の４×４個のブロックそれぞれについて周波数変換を行なうものである。すなわち、ステップＳ４０３と同様に、１６個のブロックを周波数変換し１６個のＤＣ成分と、２４０個のＡＣ成分を算出する処理である。実施形態の場合、１つのタイルに含まれるマクロブロックの数は６×４個であるので、上記処理を２４回実行することになる。
【００５５】
次に、ステップＳ４０７において、第１変換部２０１は、メモリ２０３から取得した系列変換情報ＳＣが“１”であるか否かを判断する。“１”であると判断した場合には、ステップＳ４０９に処理を進める。一方、“１”以外、すなわち、系列変換情報ＳＣが“２”であると判断した場合、処理はステップＳ４０８に進み、第２変換部２０２に対して、２回めのブロックオーバラップ処理（図１９参照）を実行させる。
【００５６】
なお、ステップＳ４０８における第２変換部２０２が実行するブロックオーバラップ処理の処理対象となるのは、６×４個のＤＣブロックとなる。
【００５７】
ステップＳ４０９では、２回目の周波数変換処理を実行する。この２回めの周波数変換処理はステップＳ４０４と同じである。但し、処理対象は、ステップＳ４０６、もしくはステップＳ４０８の処理を経た１タイルに含まれる複数のＤＣブロックの集合に対して行なう。すなわち、１つのタイルは６×４個のマクロブロックを内包し、１マクロブロックからＤＣブロックが１個生成される。従って、２４個のＤＣブロックについて周波数変換を行なうことになる。
【００５８】
以上の処理をまとめると、本実施形態のマクロブロックに対する処理は次の通りである。
・撮影する画像サイズがＳサイズの場合：
周波数変換処理→周波数変換処理
・撮影する画像サイズがＭサイズの場合：
ブロックオーバラップ処理→周波数変換処理→周波数変換処理
・撮影する画像サイズがＬサイズの場合：
ブロックオーバラップ処理→周波数変換処理→ブロックオーバラップ処理→周波数変換処理
以上説明したのが、図１における系列変換部１０２の処理である。
【００５９】
系列変換部１０２は上記の変換結果を、後続する量子化部１０３に出力する。量子化部１０３は、Ｑパラメータ（以下ＱＰと呼ぶ）を設定し、この設定されたＱＰと図１０の変換式に従って量子化ステップを算出する。なお、ＨＤ  Ｐｈｏｔｏによれば、ここで述べるＱＰの設定方法としては、以下の３つの自由度があり、これらの組み合わせでＱＰを設定できるとしているので、本実施形態でもこれを準拠するものとする。
・自由度軸１：空間的自由度：
１．１  画像中全マクロブロックに対して同一のＱＰを設定．
１．２  タイル内における全マクロブロックに対して同一のＱＰを設定．
１．３  タイル内の各マクロブロックに対して自由にＱＰを設定．
・自由度軸２：周波数的自由度：
２．１  全周波数成分に対して同一のＱＰを設定．
２．２  ＤＣ成分とローパス成分（ＡＣＤＣ成分）に対して同一のＱＰを設定、ハイパス成分（ＡＣ成分）には異なるＱＰを設定．
２．３  ローパス成分とハイパス成分で同一のＱＰを設定、ＤＣ成分には異なるＱＰを設定．
２．４  各周波数成分に異なるＱＰを設定．
・自由度３：カラープレーン的自由度：
３．１  全カラープレーンでＱＰを同一に設定．
３．２  輝度プレーンに１つのＱＰを設定、輝度以外のプレーンに対して同一のＱＰを設定．
３．３  各プレーン別々にＱＰを設定．
【００６０】
例えば、従来のＪＦＩＦにおける量子化は、空間的自由度では１．１であり、カラープレーン的自由度では３．２である。なお、ＪＦＩＦではマクロブロック中、各係数に量子化ステップを割り当てるため、周波数的自由度にはあてはまる項目はない。
【００６１】
さて、上記のようにして量子化部１０３による量子化処理を終えると、量子化後のデータを係数予測部１０４に出力する。係数予測部１０４は、係数予測を行い、その予測誤差を出力する。係数予測では、ＤＣ成分，ローパス成分，ハイパス成分それぞれ別個のルールに基づいて実施する。なお、予測演算の方法は各タイル単位で決定されて、また、隣接タイルの係数を使わない。以下、係数予測部１０４による各成分の予測演算について説明する。
【００６２】
（１）ＤＣ成分予測
先に説明したように、実施形態の場合、１つのタイルは６×４個のマクロブロックで構成される。１つのマクロブロックからは１つのＤＣ成分（図６参照）が得られるわけであるから、１つのタイルからは６×４個の量子化処理済みのＤＣ成分が得られる。
【００６３】
係数予測部１０４のＤＣ成分予測処理（予測誤差算出処理）は次の通りである。
【００６４】
１タイル内のＤＣ成分値をラスタースキャンする。図１１は、タイル内のスキャン処理中の着目マクロブロックのＤＣ成分Ｘと、相対的に隣接する近傍ＤＣ成分Ｄ、Ｔ、Ｌの関係を示している。ラスタースキャンするわけであるから、着目ＤＣ成分Ｘの近傍に位置する近傍ＤＣ成分Ｄ、Ｔ、Ｌは、既に予測処理（予測誤差算出）を終えた位置にあることになる点に注意されたい。
【００６５】
なお、着目ＤＣ成分Ｘが、左上隅位置にあるとき、近傍ＤＣ成分Ｄ、Ｔ、Ｌの全てはタイル外に位置する。また、着目ＤＣ成分Ｘが、左上隅位置以外の１ライン目にあるとき、近傍ＤＣ成分Ｄ、Ｔはタイル外に位置する。そして、着目ＤＣ成分Ｘが、左上隅位置以外の左端にあるとき、近傍ＤＣ成分Ｄ、Ｌはタイル外に位置する。このように、参照すべきタイル外にある近傍ＤＣ成分は、所定値（例えば、“０”）を持つものとみなす。この所定値は、画像復号装置と同じになれば良いので、必ずしも“０”でなくても構わない。
【００６６】
以下、図１２のフローチャートに従ってタイル内のＤＣ成分予測処理を説明する。
【００６７】
先ず、ステップＳ１２０１では、近傍ＤＣ成分値であるＤとＴの差分絶対値（水平方向差分絶対値）ＡＢＳ＿ＨＯＲを算出し、近傍ＤＣ成分値であるＤとＬの差分絶対値（垂直方向差分絶対値）ＡＢＳ＿ＶＥＲを算出する。
【００６８】
そして、ステップＳ１２０２にて、ＡＢＳ＿ＨＯＲ＜＜ＡＢＳ＿ＶＥＲであるか、すなわち、ＡＢＳ＿ＨＯＲがＡＢＳ＿ＶＥＲより十分に小さいか否かを判断する。具体的には、或る正の閾値Ｔｈを用い、次式を満たす場合に、ＡＢＳ＿ＨＯＲがＡＢＳ＿ＶＥＲよりも十分に小さいと判断する。
ＡＢＳ＿ＨＯＲ−ＡＢＳ＿ＶＥＲ＜Ｔｈ
【００６９】
ステップＳ１２０２の処理を平たく説明するのであれば、着目タイル（図示のＸの位置）近傍では、垂直方向よりも、水平方向に似通った画像が連続しているか否かを判断するものである。従って、ステップＳ１２０２にて、ＡＢＳ＿ＨＯＲ＜＜ＡＢＳ＿ＶＥＲであった場合、処理はステップＳ１２０３に進み、着目ＤＣ成分Ｘの予測値Ｐとして左隣のＤＣ成分Ｌを用いることに決定する。
【００７０】
また、ステップＳ１２０２にて、Ｎｏと判断された場合、ステップＳ１２０４に処理を進める。このステップＳ１２０４では、ＡＢＳ＿ＨＯＲ＞＞ＡＢＳ＿ＶＥＲであるか、すなわち、ＡＢＳ＿ＶＥＲがＡＢＳ＿ＨＯＲより十分に小さいか否かを判断する。これは、ステップＳ１２０２と同様であり、次式を満たす場合に、ＡＢＳ＿ＶＥＲがＡＢＳ＿ＨＯＲよりも十分に小さいと判断する。
ＡＢＳ＿ＶＥＲ−ＡＢＳ＿ＨＯＲ＜Ｔｈ
【００７１】
ＡＢＳ＿ＶＥＲ＜＜ＡＢＳ＿ＨＯＲであった場合（ステップＳ１２０４がＹｅｓの場合）、着目ＤＣ成分Ｘと垂直方向に隣に位置するＤＣ成分Ｔとの差が小さくなる確率が高いと言える。従って、処理はステップＳ１２０５に進み、着目ＤＣ成分Ｘの予測値Ｐとして上隣のＤＣ成分Ｔを用いることに決定する。
【００７２】
また、ステップＳ１２０４にて、Ｎｏと判断された場合、ステップＳ１２０６に進み、着目ＤＣ成分Ｘの予測値Ｐとして、（Ｔ＋Ｌ）／２を用いることに決定する。なお、（Ｔ＋Ｌ）／２の算出は、Ｔ＋Ｌを算出し、その後で、１ビット下位方向にシフトすることで得られる（小数点以下は切り捨て）。
【００７３】
上記のステップＳ１２０３、１２０５、１２０６のいずれかによって着目ＤＣ成分Ｘの予測値Ｐが求まると、ステップＳ１２０７にて、着目ＤＣ成分Ｘと予測値Ｐとの差分を予測誤差として算出する。
【００７４】
この後、処理はステップＳ１２０８に進み、着目タイル内の全ＤＣ成分の予測誤差算出を終えたか否かを判断する。この判断が否（Ｎｏ）の場合には、ステップＳ１２０９にて、着目ＤＣ成分Ｘの位置を次の位置に更新し、ステップＳ１２０１に戻る。
【００７５】
以上のようにして、着目タイル内の６×４個のＤＣ成分の予測誤差算出処理が行われる。
（２）ローパス成分予測
図１３は、１つのマクロブロックの量子化後のＡＣＤＣ成分値の配列を示している。この配列は、１つのマクロブロックに対して、２回めの周波数変換を行なったＡＣＤＣ成分値（図６参照）でもある。ローパス成分の予測処理の対象となるのは、図１３における｛１，２，３｝で示されるＡＣＤＣ成分か、同図の｛４、８、１２｝で示されるＡＣＤＣ成分のいずれか一方である。例えば、図１３におけるＡＣＤＣ成分｛４，８，１２｝を予測処理すると決定された場合、それ以外の｛１，２，３，５，６，７，９，１０，１１，１３，１４，１５｝の位置のＡＣＤＣ成分は予測誤差算出処理は行なわない。
【００７６】
なお、着目マクロブロックが、タイル内の左端や上端の位置にあるとき、参照する着目マクロブロックに隣接するマクロブロックは存在しない。このように参照すべきマクロブロックが存在しない場合、その存在しないマクロブロックでは、｛１、２、３｝を予測誤差算出対象として処理したものと見なす。但し、｛４、８、１２｝を予測誤差算出対象としても構わない。要するに、符号化側と復号側で共通にすればよい。
【００７７】
図１４は、ローパス成分予測処理の処理手順を示すフローチャートである。以下、このフローチャートに従って説明する。
【００７８】
ステップＳ１４０１では、着目ブロックの左隣のマクロブロックのＤＣ予測方向が水平方向であり、且つ、着目マクロブロックのＤＣ成分の量子化パラメータＱＰ＿Ｃと、着目マクロブロックの左隣のマクロブロックのＤＣ成分の量子化パラメータＱＰ＿Ｌとが等しいか否かを判断する。この２つの条件を満たす場合（ステップＳ１４０１の判断やＹｅｓ）、着目ブロックの予測方向を水平方向として決定する。すなわち、図１３における｛１，２，３｝を予測誤差算出対象として決定し、それ以外は予測誤差算出対象外にする。そして、ステップＳ１４０６にて、予測誤差算出を行なう。
【００７９】
また、ステップＳ１４０１でＮｏと判断された場合、ステップＳ１４０３に処理を進める。このステップＳ１４０３では、着目ブロックの上隣のマクロブロックのＤＣ予測方向が垂直方向であり、且つ、着目マクロブロックのＤＣ成分の量子化パラメータＱＰ＿Ｃと、着目マクロブロックの上隣のマクロブロックのＤＣ成分の量子化パラメータＱＰ＿Ｔとが等しいか否かを判断する。この２つの条件を満たす場合、着目ブロックの予測方向を垂直方向として決定する。すなわち、図１３における｛４，８，１２｝を予測誤差算出対象として決定し、それ以外は予測誤差算出対象外にする。そして、ステップＳ１４０５にて、予測誤差算出を行なう。
【００８０】
また、ステップＳ１４０３の判断がＮｏの場合、着目マクロブロック内のＡＣＤＣ成分については予測誤差算出は行なわず、本処理を終える。
（３）ハイパス成分予測
図１５（ａ）乃至（ｃ）はハイパス成分の予測方向（３通り）を示す図である。ここで言うハイパス成分は、図６における１回めの周波数変換した際に得られた４×４個のブロックの各ＤＣ成分を除いたＡＣ成分である（図６参照）。また、周波数変換した１つのブロックは、１つのＤＣ成分と、１５個のＡＣ成分が得られるが、図示では、このＡＣ成分についてその配列の位置を示すため、１乃至１５の番号を付した。また、ハイパス成分の予測を求める対象は、図１５（ａ）における｛１、２、３｝のＡＣ成分、｛４、８、１２｝のＡＣ成分のいずれかになる。例えば、｛１、２、３｝のＡＣ成分について予測誤差を求めると決定した場合、｛４、５、６、…、１５｝のＡＣ成分は予測誤差算出対象外にする。
【００８１】
図１６は、ハイパス成分の予測処理を示すフローチャートであり、以下、同図に従って説明する。
【００８２】
着目タイルの各ブロックの左端の｛４、８、１２｝の位置のＡＣ成分値のエネルギー値Ｅ＿Ｌと、着目タイルの各ブロックの上端の｛１，２，３｝のエネルギー値Ｅ＿Ｔを求める。着目タイルには、４×４個のブロックが存在する。Ｅ＿Ｌ値は、１６個のブロックの｛４、８、１２｝の位置にあるＡＣ成分の絶対値の合計値で良い。また、Ｅ＿Ｔ値は、１６個のブロックの｛１、２、３｝の位置にあるＡＣ成分の絶対値の合計値で良い。
【００８３】
ステップＳ１６０１では、Ｅ＿ＬがＥ＿Ｔに対して十分に小さいか否かを判定する。予め設定された正の閾値Ｔｈを用い、次式を満たすか否かを判定すればよい。
Ｅ＿Ｌ−Ｅ＿Ｔ＜Ｔｈ
【００８４】
Ｅ＿Ｌ＜＜Ｅ＿Ｔであると判断した場合、着目ブロックのＡＣ成分の予測誤差を求める方向は水平方向に決定し、ステップＳ１６０２にて各ブロックの｛４、８、１２｝の位置にあるＡＣ成分を、図１５（ａ）に示す水平方向にスキャンし、予測誤差を求める。
【００８５】
また、ステップＳ１６０１の判定がＮｏの場合、処理はステップＳ１６０５に進み、Ｅ＿ＴがＥ＿Ｌに対して十分に小さいか否かを判定する。上記の閾値Ｔｈを用い、次式を満たすか否かを判定すればよい。
Ｅ＿Ｔ−Ｅ＿Ｌ＜Ｔｈ
【００８６】
ステップＳ１６０５にて、Ｅ＿Ｔ＜＜Ｅ＿Ｌであると判断した場合、着目ブロックのＡＣ成分の予測誤差を求める方向は垂直方向に決定する。そして、ステップＳ１６０４にて各ブロックの｛１、２、３｝の位置にあるＡＣ成分を、図１５（ｂ）に示す水平方向にスキャンし、予測誤差を求める。
【００８７】
また、ステップＳ１６０３の判断がＮｏの場合、着目マクロブロックのＡＣ成分については予測誤差算出は行なわない（図１５（ｃ））。
【００８８】
なお、１つのタイルは、実施形態の場合、６×４個のマクロブロックが含まれるので、最終的に出力されるタイル毎の符号化データのヘッダには、各マクロブロックのスキャン方向が水平、垂直、スキャン無しの情報を格納しておく。
【００８９】
以上が係数予測部１０４の処理の説明である。この係数予測部１０４による予測処理の結果、ＤＣ成分、ＡＣＤＣ成分、ＡＣ成分の各予測誤差と、予測誤差を算出しなかった複数の成分値が係数スキャン部１０５に出力される。
【００９０】
係数スキャン部１０５は、１タイル分の上記の情報を格納するバッファを有し、各成分（予測誤差、予測誤差を算出していない成分値）を、ＪＰＥＧ方式の係数スキャンと同様にジグザグスキャンを行い、内部バッファ内に並べ替える。この詳細は、ＨＤＰｈｏｔｏを開示している文献、もしくはＨＤＰｈｏｔｏ規格書に記述されているので、ここでの詳述は省略する。
【００９１】
エントロピー符号化部１０６は、係数スキャン部１０５内の内部バッファに並べられた値についてエントロピー符号化を行なう（ハフマン符号語の割り当て処理を行なう）。
【００９２】
本実施形態においては、ＤＣ成分については、隣り合うブロック間で差分を取った上で差分値をハフマン符号する。ローパス成分，ハイパス成分についてはジグザグスキャン順に沿って、ゼロランの乱数と非ゼロ係数の組み合わせに対して２次元ハフマン符号化を実施する。２次元ハフマン符号化については、ＪＰＥＧと同様な手法で行うものとする。
【００９３】
１つのタイルのエントロピー符号化を終えると、符号列形成部１０７はエントロピー符号化の結果となる符号化データを並べ変え、先頭にヘッダをつけて符号列を形成する処理を行なう。
【００９４】
実施形態における１タイルの符号列の配列形式は２種類ある。１つは、スペーシャルモード（空間順符号列）であり、もう１つはフリークエンシーモード（解像度順符号列）である。
【００９５】
スペーシャルモードは、図１７に示したとおり、タイル内においてラスタースキャン順にマクロブロック単位にデータを並べたデータ構造である。１つのマクロブロックのデータは、ＤＣ、ＡＣＤＣ，ＡＣの符号化データの順である。
【００９６】
一方フリークエンシーモードは、図１８に示すように、タイル内の各ＤＣ成分の符号化データを並べ、後続してＡＣＤＣ成分の符号化データ、そして、ＤＣ成分の符号化データの並べる。つまり、低周波から高周波に向かう順に符号化データを並べる。
【００９７】
スペーシャルモードは、オリジナル画像を最初から再現する際に都合の良いフォーマットである。一方、後者、すなわち、フリークエンシーモードは、オリジナルの画像の解像度よりも低い解像度（中間解像度）の画像を再現する場合に都合が良い。すなわち、徐々に解像度をあげて再現する場合に適したものと言える。
【００９８】
なお、図１８におけるスペーシャルモードの符号化データ中の「ＦＬＥＸＢＩＴＳ」について簡単に説明する。ＨＤ  Ｐｈｏｔｏの符号化データでは、各成分値（予測誤差値を含む）は、その成分値を表わす多ビットの或るビット位置を境にし、その上位ビット群と下位ビット群に分ける。上位ビット群は、連続して同じ値になる確率が高いので符号化対象とする。下位ビット群で表わされる値は、連続性が無いので符号化しない。ＦＬＥＸＢＩＴＳは、各成分値（予測誤差値を含む）の下位ビットの未符号化のデータで構成されるものである。
【００９９】
さて、本実施形態では、先に説明した符号列形成情報ＣＦが“２”の場合、フリークエンシーモードに従った順に符号化データを並べて符号系列を生成する。一方、符号列形成情報ＣＦが“１”の場合には、スペーシャルモードに従った符号系列を生成する。かかる点を平たく言えば、符号化対象の画像の解像度が高い（実施形態では、サイズＬ以上）の画像を符号化する場合、その画像を構成している画素が非常に多く、一般的に、ユーザは、それよりも低い解像度の画像を見る（復号する）可能性が高いので、フリークエンシーモードに従った符号列を形成するようにした。一方、サイズＬ未満の場合には、スペーシャルモードに従った符号列を形成するようにした。
【０１００】
なお、フリークエンシーモードとスペーシャルモードを決定する際の閾値として、実施形態では、サイズＬ以上か未満かで決定するものとしたが、サイズＭ以上かそれ未満かとしても構わない。特に、昨今のデジタルカメラは、撮像可能な画素数は増える一方であり、撮影できるサイズも３種類ではなく、４種類以上も備えることになるであろうから、ユーザが閾値となるサイズ（画素数）を設定するようようにしても構わない。いずれにしても、どの解像度以上からスペーシャルモードにするかの設定情報は、不揮発性メモリに保持し、この保持された情報に従って、符号列を形成する。
【０１０１】
当業者であれば容易に理解できるように、スペーシャルモードの場合、マクロブロック単位に符号列を形成できるので、符号系列の生成は比較的簡単な処理である。一方、フリークエンシーモードは、タイル全体の符号化が終了しないと、符号列を生成することができないので、その分だけ処理に時間を要する。ただ、後者の方法を取ることで、復号再生の初期段階で縮小画像を表示することができるため、アプリケーションとしての価値を高めることが可能となる。
【０１０２】
なお、フリークエンシーモードとスペーシャルモードは、１つの画像について一義的に決まるので、ファイルヘッダに、いずれのモードであるかを示す情報を格納することになる。また、ファイルヘッダには、これ以外にも、ＱＰ，予測方法，ハフマン符号化のテーブル，符号列の形成方法といった、符号化方法に関する情報が格納される。また、タイルヘッダには、ＡＣ成分の予測処理におけるスキャン方向を示す情報が格納されることになる。
【０１０３】
以上説明したとように、本第１の実施形態によれば、撮影する画像のサイズが大きいほど、系列変換部１０２はブロックオーバラップ処理の実行回数（最大２回）を多くする。この結果、中間解像度で再現する画像のブロックノイズが目立つことが無くなり、良好な画像を再現できるようになる。
【０１０４】
また、撮影する画像のサイズがＬサイズ以上の場合、生成される符号列のデータ構造がフリークエンシーモードとなる。従って、オリジナルの解像度（実施形態では４０００×３０００画素）だけでなく、それより低い中間解像度（実施形態では、１０００×７５０画素、約２５０×１９０画素）の画像を復号可能となる。つまり、オリジナルの解像度を含む、３種類の解像度の画像を、間引きや補間処理といった負荷の大きい処理を介在せずに、符号化データファイルからダイレクトに復号することができる。
【０１０５】
更に、実施形態によれば、高階層モード（１つのファイルに、解像度の異なる２種類の画像をオリジナルとして符号化したデータを含めるモード）を指定した場合、上記に加えて、２０００×１５００画素、５００×３７５画素、１２５×９４画素の計６種類の画像をダイレクトに復号できることになり、その画像の利便性を更に高めることができる。かかる点をより分かりやすくするため、以下では、上記実施形態で生成された符号化画像データファイルを、パーソナルコンピュータ等に代表される情報処理装置で活用する例を以下に説明する。
【０１０６】
情報処理装置のハードウェア構成は周知であるので、以下ではその装置上で実行する文書作成ソフトウェア（アプリケーションプログラム）の処理を説明する。なお、このソフトウェアは、ハードディスク等の外部記憶装置に格納され、ＣＰＵがＲＡＭに読込み、ＯＳ（オペレーティングシステム）上で実行するものである。
【０１０７】
また、本実施形態においては、図２４に示したような所定の文書フォーマット中の文書における出力領域に写真を挿入する場合における、写真の挿入方法について説明する。
【０１０８】
図２５は、このソフトウェアにおける写真の挿入処理にかかる部分の処理手順を示すフローチャートである。
【０１０９】
先ず、ＣＰＵは、文書作成ソフトのユーザーから写真挿入の指示を受け付けると（ステップＳ２５０１）、指定された符号化画像ファイルを解析する（ステップＳ２５０２）。挿入対象の画像ファイルの選択は、ダイアログボックス等を表示し、画像一覧を表示し、マウス等のポインティングデバイスで指定すれば良い。もしくは、該当するファイルのパス付きファイル名をキーボードから入力しても構わない。
【０１１０】
さて、ステップＳ２５０２の解析処理では、指定された符号化画像データファイルのヘッダを解析し、そのファイル内に格納された符号化画像データからダイレクトに復号可能な解像度を判別する。例えば、オリジナルの画像データが４０００×３０００画素であり、低階層モードを示す情報が格納されている場合、そこからダイレクトに復号可能な解像度は、ＤＣ、ＡＣＤＣ，ＡＣ成分の各符号化データを復号して得られる４０００×３０００画素、ＤＣ，ＡＣ成分の符号化データを復号して得られる１０００×７５０画素、及び、ＤＣ成分のみを復号して得られる約２５０×１９０画素の３種類である。また、高階層モードを示す情報がファイルヘッダに格納されている場合、２０００×１５００画素をオリジナル画像とするもう１つの符号化データ（リサイズ画像の符号化データ）が格納されているので、そこからダイレクトに復号可能な解像度は、４０００×３０００画素、２０００×１５００画素、１０００×７５０画素、５００×３７５画素、約２５０×１９０画素、１２５×９４画素の６種類として判別される。
【０１１１】
復号可能解像度の判別処理を終えると、ＣＰＵは、その判別結果に基づき、復号処理対象の符号列と周波数帯域を決定（特定）する（ステップＳ２５０３）。ここでは、挿入すべき文書中の画像挿入領域のサイズ（ユーザが設定する）を下回らず、最低の復号可能解像度を持つ符号列を復号対象として優先的に決定する。
【０１１２】
例えば、文書中の写真挿入領域のサイズが４０００×３０００画素、もしくはそれ以上であれば、オリジナル画像の４０００×３０００画素を復号するために必要な符号列を復号対象として決定する。
【０１１３】
また、文書中の写真挿入領域のサイズが、仮に４００×３００画素であった場合には、次のいずれかになる。
（１）符号化画像データファイルのヘッダに低階層モードを示す情報が格納されている場合、１０００×７５０画素の画像データを復号するための符号化データを、復号対象として決定する。
（２）符号化画像データファイルのヘッダに高階層モードを示す情報が格納されている場合、５００×３７５画素の画像データを復号するための符号化データを、復号対象として決定する。
【０１１４】
上記のようにして、復号対象の周波数帯域に対応する符号列を決めると、ＣＰＵはその符号列に基づく復号処理を行う（ステップＳ２５０４）。復号処理が終わり復号画像を生成したら、復号画像を挿入領域のサイズに合わせて、リサイズ（多くの場合には間引き処理）し、復号画像の挿入を行う（ステップＳ２５０５）。
【０１１５】
ここで、上記のステップＳ２５０４の復号処理を、ハードウェアで実現する場合の構成（復号装置）を図２１に示す。このハードウェアは、情報処理装置が有するバス（ＰＣＩバス等）に搭載するカードとして考えると分かりやすい。また、このハードウェアは先に説明したデジタルカメラにも搭載されるものでもある。通常、デジタルカメラは撮像してメモリカードに保存した画像ファイルを復号して表示する機能を持つものであるのがその理由でもある。
【０１１６】
図２１に示すように、復号装置は、復号情報取得部２１０１、エントロピー復号部２１０２、係数展開部２１０３、係数逆予測部２１０４、逆量子化部２１０５、逆系列変換部２１０６、逆色変換部２１０７を有する。
【０１１７】
復号情報取得部２１０１に符号列が入力されると、符号列中のヘッダ情報が解析される。この解析処理により、ＦＬＥＸＢＩＴＳ情報、符号列順情報（フリークエンシー／スペーシャル）、量子化パラメータ情報、オーバーラップ情報などの符号化条件に関する情報が取得される。また、復号情報取得部２１０１は、復号対象の符号列（ステップＳ２５０３で決定した復号対象符号列）を指定する情報も入力する。そして、この指定された符号列を、後続するエントロピー復号部２１０２に出力する。すなわち、指定された符号列以外はエントロピー復号部２１０２に出力しない。
【０１１８】
エントロピー復号部２１０２では、入力した符号列をエントロピー復号を行い、復号結果を係数展開部２１０３へ出力する。係数展開部２１０３では、エンコード時の係数スキャンにより係数の並べ替えが行われているので、その逆を行い、ラスタースキャン順に戻す。係数逆予測部２１０４では、量子化ステップ情報などを基に、エンコード時の予測演算の逆演算を行って量子化インデックス（量子化された係数）を生成する。逆量子化部２１０５では量子化インデックスに対して逆量子化を行って係数を生成し、逆系列変換部２１０６では図４のフローチャートの逆の処理を行って、色変換データを生成する。逆色変換部２１０７では、色変換データに対して逆色変換を行い、復号画像を生成する。
【０１１９】
以上であるが、ユーザの目標とする解像度の画像を得るためには、その目標とする解像度以上であり、最も小さい解像度の画像を先ず復号することが望ましい。なぜなら、復号した画像から目標とする解像度の縮小画像を生成するためには、その縮小処理ための補間や間引き処理を処理しなければならず、その処理量は復号した画像データの画素数に比例するからである。かかる点、本実施形態によれば、高階層モードを指定した場合、符号化画像データからダイレクトに復号できる解像度は６種類となり、縮小のための処理量が少ない画像を復号できるので、目標とする解像度を得るための処理量を少なくできる。
【０１２０】
なお、実施形態では、デジタルカメラが有する最高解像度を４０００×３０００画素として説明したが、これは一例であって、この解像度に本発明が限定されるものではない。また、実施形態では、マクロブロックのサイズを４×４個のブロックとしたが、これもこれに限られるものではない。つまり、中間解像度は、このマクロブロックのサイズによって決まるので、上記実施形態はその一例を示したに過ぎない。かかる点は、以下に説明する第２の実施形態以降でも同様である。
【０１２１】
［第２の実施形態］
上記第１の実施形態では文書作成ソフト上で画像を挿入する際、挿入画像サイズに基づき、復号対象の符号列を決定する例を説明した。
【０１２２】
文書作成ソフトが管理する画像ファイルの中には、リサイズ画像の符号列を含まない場合、すなわち、低階層モードの画像ファイルも存在し得る。このような画像ファイルが存在すると、その後の文書作成ソフトによる編集作業にかかる時間が増えることが予想される。そこで、本第２の実施形態では、低階層モードの符号化画像データファイルを探し出し、それを高階層モードの画像ファイルに一括更新する例を説明する。
【０１２３】
図２６は本実施の形態における文書作成ソフトウェアの処理フローを示している。ユーザーが画像符号化データの高階層化を指示した場合、記憶装置（ハードディスク）に記憶され、文書作成ソフトウェアが管理している符号化画像データファイル数（Ｎ）をカウントする（ステップＳ２６０１）。カウントが終了すると、カウンタｉを０にセットする（ステップＳ２６０２）。
【０１２４】
次いで、ｉ番目の符号化画像データファイル中のヘッダ部を解析してリサイズ画像の有無を調べる（ステップＳ２６０３）。すなわち、ファイルヘッダに格納されている階層モードが低階層モードであるか否かを判定する。
【０１２５】
着目画像ファイルにリサイズ画像データの符号化データが格納されている場合には、そのファイルについて更新の必要がないので、処理をステップＳ２６０８に進める。そして、カウンタｉとファイル数Ｎを比較し、ｉ＜Ｎであれば、未チェックのファイルが存在することになるので、ステップＳ２６０９で変数ｉを“１”だけインクリメントし、処理をステップＳ２６０３に戻す。
【０１２６】
一方、ステップＳ２６０３にて、ｉ番目の符号化画像データファイルがリサイズ画像のを含まない、すなわち、ファイルヘッダに格納されている階層モードが低階層モードであると判定された場合、処理はステップＳ２６０４に進む。ステップＳ２６０４では、一旦、オリジナル画像（最高解像度）まで復号処理を行なう。復号方法については第一の実施の形態で示しているのでここでは説明を割愛する。そして、ステップＳ２６０５にて、復号した画像データから、リサイズ画像データを生成する。実施形態では、４０００×３０００画素の画像データから、１／２の解像度の画像をリサイズ画像としているので、リサイズ画像は２０００×１５００画素の解像度となる。
【０１２７】
次いで、ステップＳ２６０６に進んで、リサイズ画像を圧縮符号化する。この圧縮符号化については第１の実施形態で示しているのでここでは説明を割愛する。リサイズ画像の符号化データを生成したら、原画像の符号化データファイルに、リサイズ後の画像データの符号化データを格納することで更新する（ステップＳ２６０７）。このとき、ファイルヘッダには、高階層モードであることを示す情報も格納する。そして、カウンタｉと画像符号化データ数Ｎの大小判定を行い（ステップＳ２６０８）、カウンタの方が小さければ、ステップＳ２６０９の処理を経て、ステップＳ２６０３以降の処理を繰り返す。
【０１２８】
こうして。ステップＳ２６０８にて、管理対象の全画像ファイルに対する処理を終えたと判断した場合、本処理を終了する。
【０１２９】
以上のように、１回の操作でもって、複数の画像ファイルを高階層モードの画像ファイルに変換することができるので、その後の編集にかかる作業効率を高めることができる。
【０１３０】
なお、上記機能は、デジタルカメラにも搭載しても良い。すなわち、一旦、低階層モードで撮影し、メモリカードに保存した画像データファイルを、ユーザの指示に従って高階層モードの画像データファイルの形式に更新しても良い。
【０１３１】
［第３の実施形態］
第１の実施形態においては、文書へ写真を挿入する方法を示した。本第３の実施形態においては、文書作成ソフトに管理されている画像符号化データを割り付け印刷をする場合の処理を示す。
【０１３２】
図２７は本第３の実施形態における文書作成ソフトの一覧印刷処理（一般にＮin１の印刷と呼ばれる）のフローチャートである。以下、同図に従って説明する。
【０１３３】
ステップＳ２７０１では、ＣＰＵは、ユーザから印刷すべき符号化画像データファイル（その画像ファイルの数をＮとする）の指示、及び、印刷指示を受け付ける。この指示を受けつけると、ＣＰＵはプリンタに搭載された記録紙のサイズと、指示された画像の枚数Ｎに基づき、１枚の記録紙に印刷される画像の割りつけ情報を決定する（ステップＳ２７０２）。この割りつけ情報とは、記録紙上の水平、垂直方向の画像数と、各画像の印刷サイズ（第２の実施形態における写真挿入領域サイズに対応する）が含まれる。
【０１３４】
次いで、ＣＰＵは、ステップＳ２７０３にて、変数ｉを“０”クリアする。
【０１３５】
そして、ｉ番目の画像ファイルを解析し、印刷サイズを下回らず、最低の解像度の画像を復号するための符号列、周波数を決定する（ステップＳ２７０４）。
【０１３６】
このステップＳ２７０４を更に詳しく説明すると次の通りである。
【０１３７】
第１の実施形態で説明したように、本実施形態におけるデジタルカメラで撮像した画像ファイルのオリジナルの解像度は、Ｌ、Ｍ、Ｓの３通りのいずれかである。従って、印刷サイズを下回らず、最低の解像度の画像を復号するための符号列は、Ｌ，Ｍ，Ｓに依存する。
【０１３８】
ステップＳ２７０５では、復号対象として決定した符号列をリードし、復号処理を行なう。復号して得られた画像データは、一旦、パーソナルコンピュータが有するＲＡＭもしくはハードディスクに出力し、保持しておく（ステップＳ２７０６）。
【０１３９】
次に、ステップＳ２７０７に進み。カウンタ値ｉと画像数Ｎを比較し、ｉ＜ＮであればステップＳ２７０８にてカウンタ値ｉを“１”だけインクリメントし、ステップＳ２７０４に処理を戻す。
【０１４０】
また、ステップＳ２７０７で、ｉ＝Ｎであると判定した場合、一覧印刷すべき画像の復号処理が済んだことになるので、ステップＳ２７０９に進み、先に決定したレイアウトに従って、各復号画像データを配置する。このとき、復号画像の中に印刷サイズを超えるものがある場合、そのサイズにまでリサイズする。
【０１４１】
この後、ステップＳ２７１０にて、レイアウト配置した結果をプリンタに出力し、印刷を行なわせる。
【０１４２】
以上の説明からも容易にわかるように、印刷処理においてＣＰＵにかかる負荷が一番大きいのは、ステップＳ２７０５における復号処理である。従って、復号処理で用いる符号化データ量が少ないほど、高速に復号できる。先に説明したように、本実施形態では、高階層モードで符号化された画像データファイルには、低階層モードで符号化された画像データファイルよりも、ダイレクトに復号できる画像サイズの種類は多い。従って、一覧印刷するときの１つの画像の印刷サイズが決まったとき、高階層モードの画像ファイルの方が、低階層モードの画像ファイルよりも、印刷サイズに近い解像度を見つけやすくなり、復号にかかる負担を最小限に抑制することが可能になる。
【０１４３】
［第４の実施形態］
上記第１乃至第３の実施形態では、デジタルカメラに符号化処理部を搭載する例を説明したが、本第４の実施形態では原稿画像を読取るイメージスキャナに適用した例を説明する。この場合の符号化処理部は、イメージスキャナの内部に設けても構わないし、パーソナルコンピュータ等にインストールされるスキャナドライバで実現しても構わない。本第４の実施形態では前者を想定し、説明する。
【０１４４】
一般に、原稿（紙）の紙サイズの規格にはＡ版やＢ版があることが知られているが、そのアスペクト比は“１”ではない。例えば、Ａ版であるＡ４サイズの紙の場合、約２１×３０ｃｍのサイズであり、そのアスペクト比は他のＡ版でも同様であり、Ｂ版にも言えることである。
【０１４５】
説明を単純化させるため、及び、画像処理の処理を簡単にするため、原稿のアスペクト比は３対４の関係にあるものとして説明する。
【０１４６】
今、原稿のサイズを仮に“１”と定義し、この原稿を２枚読込み、１枚の同サイズの記録紙に、その読取った２つの原稿画像を印刷する２ｉｎ１形式で印刷する場合を考察する。２つの原稿を読み取って、同サイズの１枚の記録紙に、その余白面積を最小にして印刷する場合には、２つの原稿画像を水平、垂直とも縮小率「３／４」で縮小させ、且つ、９０°回転させて印刷すると良い。例えば、原稿がＡ４の３／４のサイズは約１５×２０ｃｍであるので、２つの縮小画像を９０°回転させれば、１枚のＡ４のサイズに２枚の画像が配置できる。同様に、８ｉｎ１の場合、２行４列に各画像を配置することになるが、余白を最小限にするためには回転が必要である。
【０１４７】
一方、４ｉｎ１形式（２行２列配置）で印刷する場合、４つの画像を水平、垂直とも１／２に縮小するものの、回転は不要である。９ｉｎ１（３行３列配置）の場合には水平垂直とも１／３に縮小するものの、やはり回転は不要である。１６ｉｎ１でも同じである。
【０１４８】
因に、Ｎｉｎ１におけるＮに対して回転が必要か否かは、具体的には次のようにして決めればよい。すなわち、Ｎを因数分解し、Ｎ＝Ｎ１×Ｎ２を得る（Ｎ１，Ｎ２は正の整数である）。そして、原稿の水平方向（仮に短手方向）をＮ１で当分割し、垂直方向（長手方向）をＮ２で等分割した場合の１つの格子のアスペクト比（第１のアスペクト比）を求める。また、これとは逆に、原稿の水平方向をＮ２で当分割し、垂直方向をＮ１で等分割した場合の１つの格子のアスペクト比（第２のアスペクト比）を求める。そして、第１，第２のアスペクト比のうちいずれが、原稿サイズのアスペクト比（もしくはその逆数）に近似するかで、レイアウトが決定でき、且つ、回転が必要かを判定できる。
【０１４９】
次に、読取った原稿画像データを圧縮符号化したファイルとして記憶管理し、ユーザの指示に従い印刷する場合を考察する。
【０１５０】
１枚の記録紙に１枚の画像を印刷する場合には、オリジナルの解像度の画像データを復号し、そのまま印刷処理すれば良いのは容易に理解できよう。
【０１５１】
一方、２ｉｎ１や８ｉｎ１形式で印刷する場合、最大でもオリジナルの画像の水平、垂直とも３／４のサイズの画像データを生成しておき、それを９０°だけ回転させた上で符号化しておくと、印刷時のＣＰＵは回転処理をしなくても済むので、それにかかる負荷は最小限にでき、印刷処理も高速なものとすることができる。
【０１５２】
そして、４ｉｎ１や８ｉｎ１、９ｉｎ１形式で印刷する場合には、最大でもオリジナルの画像の水平、垂直とも１／２のサイズの画像データを、回転無しで符号化しておけば、印刷時のＣＰＵにかかる負荷を最小限にできることになる。
【０１５３】
上記を踏まえて、本第４の実施形態を説明する。
【０１５４】
図２８は、本第４の実施形態のイメージスキャナ装置のブロック構成図である。
【０１５５】
本装置は、２８０１は不図示のスキャン部から原稿画像データ（以下、単に画像データという）を入力する入力部、２８０２はリサイズ部、２８０３は回転部、２８０４は符号化部、２８０５は多重化部、２８０６は符号化データファイルを生成し、ファイルヘッダを生成するヘッダ生成部である。生成された符号化画像データファイルは、ホストコンピュータに送信するものとするが、メモリカード等の記憶媒体に格納しても良く、その出力先は問わない。
【０１５６】
さて、入力部２８０１が画像データを入力すると、その画像データをリサイズ部２８０２、及び、符号化部２８０４に出力する。リサイズ部２８０２は、入力した画像データから水平及び垂直方向に、１／２、３／４の解像度の画像データを生成する。以下、オリジナルの画像データに対して１／２、３／４の解像度の画像データを単に「１／２解像度の画像データ」、「３／４解像度の画像データ」という。
【０１５７】
リサイズ部２８０２は、１／２解像度の画像データを符号化部２８０４に出力し、３／４解像度の画像データを回転部２８０３に出力する。回転部２８０３は、入力した３／４解像度の画像データを９０°回転し、その回転後の３／４解像度の画像データを符号化部２８０４に出力する。
【０１５８】
符号化部２８０４は、第１の実施形態で説明した図１の構成を有するものであり、入力したオリジナルの画像データ、１／２解像度の画像データ、及び、回転後の３／４解像度の画像データをそれぞれ符号化し、それぞれの符号化データを多重化部２８０５に出力する。多重化部２８０５は、入力した３種類の解像度の符号化画像データを予め設定された順序に連結し、ヘッダ生成部２８０６に出力する。ヘッダ生成部２８０６は、多重化部２８０５から入力した符号化データにファイルヘッダを付加する。このとき、ヘッダ生成部２８０６は、３つの解像度の画像が含まれていることを示す多階層モードの情報、及び、オリジナルの解像度、１／２解像度、３／４解像度それぞれの符号化データの先頭アドレス位置（ビット位置）をファイルヘッダに格納し、１つのファイルとして出力する。
【０１５９】
次に、ホストコンピュータにおける印刷処理を図２９のフローチャートに従って説明する。説明を単純なものとするため、ここでは２ｉｎ１、４ｉｎ１について説明する。また、印刷対象の画像ファイルは、ホストコンピュータのハードディスク等の記憶装置に既に格納されているものとして説明する。
【０１６０】
先ず、ステップＳ２９０１では、ＣＰＵは、ユーザから印刷すべき画像ファイル（その画像ファイルの数をＮとする）の指示、及び、印刷形式（Ｎｉｎ１のＮ）指示を受け付ける。この指示を受けつけると、ＣＰＵはプリンタに搭載された記録紙のサイズと、指示された画像の枚数Ｎに基づき、１枚の記録紙に印刷される画像の割りつけ情報を決定する（ステップＳ２９０２）。この割りつけ情報とは、記録紙上の水平、垂直方向の画像数と、各画像の印刷サイズ（第２の実施形態における写真挿入領域サイズに対応する）が含まれる。
【０１６１】
次いで、ＣＰＵはステップＳ２９０３にて、Ｎｉｎ１のＮに基づき、符号化データファイルのオリジナルの解像度、１／２解像度、３／４解像度の符号化データのうち、いずれを復号対象とするかを決定する。
【０１６２】
この後、ステップＳ２９０４にて、ＣＰＵは、変数ｉを“０”クリアする。
【０１６３】
そして、ＣＰＵは、ｉ番目の画像ファイルを解析し、先に決定した復号対象画像データを復号することで、復号画像データを生成する（ステップＳ２９０５）。そして、ＣＰＵは、生成した復号画像データをパーソナルコンピュータが有するＲＡＭもしくはハードディスクに出力し、保持しておく（ステップＳ２９０６）。
【０１６４】
次に、ステップＳ２９０７に進み。カウンタ値ｉと画像数Ｎを比較し、ｉ＜ＮであればステップＳ９７０８にてカウンタ値ｉを“１”だけインクリメントし、ステップＳ２９０５に処理を戻す。
【０１６５】
また、ステップＳ２９０７にて、ｉ＝Ｎであると判定した場合、一覧印刷すべき画像の復号処理が済んだことになるので、ステップＳ２７０９に進み、先に決定したレイアウトに従って、各復号画像データを割り付け配置処理を行なう。
【０１６６】
この後、ステップＳ２７１０にて、レイアウト配置した結果をプリンタに出力し、印刷を行なわせる。
【０１６７】
ここで、ステップＳ２９０９の配置処理を図３０のフローチャートに従って説明する。
【０１６８】
ステップＳ３００１では、印刷指示された形式が２ｉｎ１であるか否かを判定する。２ｉｎ１ではない、すなわち、４ｉｎ１であればそのまま復号した画像を２ｉｎ１形式に挿入する。一方、２ｉｎ１であると判定した場合、処理はステップＳ３００２に進み、着目符号化画像データファイルのヘッダを調べ、回転処理済みであることを示す情報があるか否かを判定する。このステップＳ３００２を設けた理由は、２ｉｎ１形式で印刷対象として指定された符号化画像データファイルが、先に示した回転処理を経ないで生成された場合に対処するためである。従って、回転処理をしていないと判断した場合には、ステップＳ３００３にて、復号画像データに対して９０°の回転処理を行なう。
【０１６９】
なお、上記は２ｉｎ１、４ｉｎ１の例であったが、例えば８ｉｎ１や９ｉｎ１、１６ｉｎ１に対応させる場合、ステップＳ２９０５では、Ｎｉｎ１で決まる１枚の画像の印刷サイズを下回らず、最小の解像度（画素数）の画像を得るための符号列であって、尚且つ、回転処理を不要とする符号列を復号対象して決定し、復号すれば良い。そして、その後で、その復号画像データを、印刷領域のサイズに合致するようにリサイズすればよい。
【０１７０】
以上説明したとおり、本第４の実施形態によれば、９０°回転して印刷する画像と回転無しの画像に適したそれぞれの符号化データと、オリジナル画像データの符号化データと多重化したファイルを生成できる。従って、Ｎｉｎ１形式の印刷する場合には、印刷処理を行なうＣＰＵ等の処理にかかる負荷を軽減し、高速な印刷処理が可能になる。
【０１７１】
なお、先に説明した第１乃至第３の実施形態では、回転処理を行なわなかったが、リサイズ後の画像データに対して画像処理部２２０３にて回転処理を行わせて符号化しても良い。
【０１７２】
［第５の実施形態］
最近のデジタルカメラには本体の姿勢を検出し、撮像画像を圧縮符号化したファイル中にその姿勢情報を含めるものがある。デジタルカメラの液晶表示装置に表示する際や、その画像ファイルをＰＣ上に表示する際に、正立した画像を表示するためである。
【０１７３】
しかし、かかる姿勢情報をファイルに格納するとしても、デジタルカメラ等の処理部が液晶表示部に表示する際、もしくは、パーソナルコンピュータのＣＰＵが表示画面にその画像を正立させて表示する際には、画像の回転処理を行なう必要がある。
【０１７４】
そこで、本第５の実施形態においては、撮影時の姿勢に応じて、原画像と、回転させたリサイズ画像を圧縮保存し、表示時に機器が自身の向きを判定して最適な符号列を解像度を復号する方法を示す。
【０１７５】
図３１は本第５の実施形態におけるデジタルカメラのブロック図を示す。同図において、第１の実施形態のブロック図（図２２）をベースとしており、同参照符号は同じ機能を有するものとしてその説明は省略する。図３１と図２２との相違は、階層モード指定部２２１０の代りに高速回転表示対応モード指定部３１０１が置き換わった点、デジタルカメラの姿勢を検出する姿勢センサ３１０２、表示部３１０３が新に加わった点である。
【０１７６】
図３２は図３１のブロック図から構成されるデジタルカメラシステムの処理手順を示している。第１の実施形態におけるデジタルカメラシステムの処理フロー（図２３）と同じ処理には、同参照符号を付した。相異点は、ステップＳ３２０１、Ｓ３２０２、Ｓ３２０３とＳ３２０４である。従って、以下ではステップＳ３２０１以降について説明する。
【０１７７】
第１の実施形態と同様、撮影画像取得後に、系列変換情報ＳＣや符号列形成情報ＣＦが決定されると、処理はステップＳ３２０１に進む。このステップＳ３２０１では、高速回転表示対応モード指定部３１０１で設定されたモード情報（メモリ２２０９に格納されているものとする）を取得する。もし高速回転表示対応モードがオフであれば（ステップＳ３２０２でＮｏ）、撮影した画像（原画像）を画像圧縮部に転送する。一方、高速回転表示対応モードがオンであれば（ステップＳ３２０２でＹｅｓ）、原画像をコピーして、コピーした画像をリサイズし、回転させた画像（リサイズ画像）を生成する（ステップＳ３２０３）。ここでリサイズの比率については、画像のサイズと表示領域のサイズにより決められる。例えば、撮像したオリジナルの画像が４０００×３０００画素であり、表示部３１０３の表示領域の解像度が水平方向６４０画素、垂直方向４８０画素であるとする。
【０１７８】
ポートレートの姿勢（カメラ本体を縦向きに構えた）で撮像した画像を表示する場合、表示部３１０３を最大限に利用してポートレート画像を表示するためには、４８０×３６０画素のサイズの画像を生成する必要がある。つまり、４０００×３０００画素の画像から、４８０×３６０画素のサイズを生成すれば良い。但し、この大きさの画像を回転表示用の画像の原画像と考えてもよいが、これはカメラの表示部３１０３に限ったものであり、例えばＰＣに表示する場合にも対処しようと考えるとこのサイズは小さい過ぎる。そこで、本第５の実施形態では、このサイズの４倍のサイズ、すなわち、１９２０×１４４０画素のサイズにリサイズし、回転するようにした。ＣＰＵ２２０８が表示部３１０９にポートレートを正立して表示させるためには、符号化データのＤＣ、ＡＣＤＣ成分の符号化データを復号した後リサイズすればよい。
【０１７９】
このリサイズ＆回転処理を終えると、処理はステップＳ２３１３に進み、原画像とリサイズ後の画像を画像圧縮する。この画像圧縮処理の後、リサイズ・回転処理を行なったか否かを示す情報をヘッダに格納し、１つのファイルに多重化して出力する。
【０１８０】
続いて本体の液晶画面に画像を表示する方法を説明する。図３３のフローチャートにおいて、ユーザーから表示部３１０３（一般に液晶）の表示画面への撮影画像の表示が指示されると（ステップＳ３３０１）、表示形式情報を取得する（ステップＳ３３０２）。ここで表示形式とは１ｉｎ１、４ｉｎ１表示のいずれかとする。表示形式情報の所得を終えると、復号対象の符号列，周波数帯域を決定する（ステップＳ３３０３）。ここのステップについてはのちほど詳細に説明をする。復号対象の符号列，周波数帯域が決まると、復号対象の画像数Ｎをセットし、復号画像数のカウンタｉ＝０とセットして（ステップＳ３３０４）、ｉ番目の画像を復号して（ステップＳ３３０５）、メモリ２２０９へ出力する（ステップＳ３３０６）。そして、ステップＳ３３０７にて、ｉ＜Ｎであるか否かを判定する。ｉ＜Ｎであると判定した場合、ステップＳ３３０９に進んで、ｉを“１”だけインクリメントし、ステップＳ３３０５に処理を戻す。また、もしステップＳ３３０７で判断結果がｉ＝Ｎであると判定した場合、メモリ２２０９へ蓄積した復号画像を表示部３１０３へ出力し表示する（ステップＳ３３０８）。
【０１８１】
次に、上記のステップＳ３３０２の詳細な説明を図３４のフローチャートを用いて説明する。
【０１８２】
ステップＳ３３０２へ処理が進むと、現在のデジタルカメラ本体の向きを向き姿勢センサ３１０２から取得する（ステップＳ３４０１）。本体の向きが通常の向き（ランドスケープを撮影する姿勢）であれば（ステップＳ３４０２でＹｅｓ）、復号対象を原画像と決定する（ステップＳ３４０３）。一方、デジタルカメラ本体がポートレート撮影する姿勢にある場合、復号対象としてリサイズ画像と決定する（ステップＳ３４０４）。復号対象の画像が決定したら、ステップ３３０２で取得した表示形式を基に、復号対象として最適な周波数帯域を決定する（ステップＳ３４０５）。この決定方法は第一の実施の形態と同様である。
【０１８３】
以上説明したとおり、リサイズした画像を回転させて画像圧縮して保存することで、カメラ本体が、ポートレート、ランドスケープのいずれの姿勢きでも最適な画像をスムーズに表示することが可能となる。
【０１８４】
［第６の実施形態］
第５の実施形態では撮像と表示が同一機器で行う場合について説明した。本実施の形態では、撮像機器と表示機器が異なる場合の画像格納方法について説明する。具体的には、デジタルカメラや携帯電話で撮影した画像のアップロードをネットワーク（インターネット）を介して受け付け、リクエストに応じて保管してる画像をクライアント機器に送信するサーバー／クライアントシステムを想定する。クライアントの機器の液晶表示領域は機器毎に異なるため、アップロードされた画像は必ずしもダウンロードする機器の表示領域には適当でないこともある。そこで本第５の実施の形態におけるサーバーは、アップロードされた画像を、要求した機器に対応可能な大きさへリサイズして圧縮符号化する。さらに受信側の機器が回転表示することも想定して、回転した画像も併せて１つのファイルにして送信する。なお、一旦、リサイズした画像データは、オリジナル画像と対応づけて保存する。次回、同じ解像度の表示装置を持つ機器から要求があった場合に、そのリサイズ＆圧縮符号化したファイルを活用するためである。
【０１８５】
サーバーは、予め多数の画像ファイルが格納、管理するデータベース（ハードディスク等の記憶装置で構成する）を有するものとする。ここでは説明を単純なものとするため、データベースに格納されている画像ファイルが示す画像は水平方向４０００画素、垂直方向３０００画素の解像度であるものとする。このデータベースに登録される画像データは、接続した端末からアップロードされるものとする。
【０１８６】
また、ここでは、サーバにネットワークを介して接続する端末は、図３５に示すような、３００×６００画素の解像度の表示画面を持つ携帯電話とする。この携帯電話は、表示領域のラスター走査は縦向きに持ったとき、左上から右下に進むように設計されている。つまり、ユーザが図３５に示す向きで携帯電話を持っている時には画像の回転は不要で、９０°回転させて持っている場合には画像の回転が必要となる。なお携帯電話の画像サイズ、ラスター走査向きから決まる本体の向きについては、携帯電話がサーバに接続した際に、サーバー上に通知されるものとする。以下の説明ではラスター走査が左上から右下へ進むように本体を持った場合の向き、つまり縦向きに持った場合の向きを「通常表示方向」、左下から右上へ進むように本体の向き、つまり横向きに持った場合の向きを「回転表示方向」とする。以下、本第６の実施形態のサーバの処理手順を図３６のフローチャートに従って説明する。
【０１８７】
図３６はサーバ内のＣＰＵが実行する画像配信処理プログラムの処理手順を示している。なお、以下で説明における表現「垂直方向」とは表示画面の長手方向を示し、「水平方向」とは表示画面の短手方向を示すものとして説明する。また、以下の説明では、サーバに接続した通信機器（実施形態では携帯電話）は、サーバに登録された画像ファイルの１つを既に選択しているものとする。また、通信機器（実施形態では携帯電話）の表示画面の解像度に合致するリサイズ後の画像ファイルが存在しないものとして説明する。
【０１８８】
先ず、サーバのＣＰＵは、サーバに接続した通信機器（携帯電話等）から、その通信機器の本体情報を取得する（ステップＳ３６０１）。ここで本体情報とは、その通信機器の表示画面の表示領域のサイズと、表示画面の向きである。
【０１８９】
次に、ＣＰＵは通常表示方向に必要な画素数を算出する（ステップＳ３６０２）。この計算については、次に述べるとおりである。画像の縦方向の画素数を、その機器の表示画面の表示領域の縦方向の画素数に縮小する比率(r1)を算出する。そして、その比率で画像の横方向を縮小した際、表示領域に収まれば、その比率を用いてリサイズする。一方で表示領域に収まらない場合、画像の横方向の画素数を、表示領域の横方向の画素数に縮小する比率(r2)を算出し、その比率で原画像の縦方向も縮小する。
【０１９０】
本第６の実施形態の例では、縦方向での比率ｒ１＝６００／３０００＝０．２である。従って、その比率で画像の横方向を縮小すると、４０００×０．２＝８００画素となり、接続した機器（携帯電話）の表示領域の横画素数３００画素より大きく、比率ｒ１を用いることはできない。
【０１９１】
次に比率ｒ２＝３００／４０００＝０．０７５を算出する。従って、その比率ｒ２で画像の垂直方向を縮小すると、３０００×０．０７５＝２２５となる。これは接続した機器の表示領域の縦方向６００画素より小さいので、利用する比率をｒ２として決定する。この結果、通常表示方向の画像として３００×２２５画素の画像データを生成することを決定する（図３５の参照符号３５０１を参照されたい）。
【０１９２】
続いて、処理はステップＳ３６０３に進み、回転表示方向において必要となる最大画像の画素数を算出する。これは通常表示方向と同様な算出を行い、４００×３００画素となる（図３５の参照符号３５０２を参照されたい）。
【０１９３】
サイズの算出が終了したら、通常表示方向の画像を生成するためにリサイズを行う（ステップＳ３６０４）。次に、回転表示方向の画像を生成するためにリサイズを行い、得られたリサイズ画像を回転させる（ステップＳ３６０５）。そのあと、２つのリサイズ画像に対して符号化を行う（ステップＳ３６０６）。符号化の処理は既に説明した実施形態と同じであるものとし、その説明は省略する。また、このとき、いずれが通常表示方向／回転表示方向の画像であるかを示す情報をヘッダに含め、１つのファイルを生成し、保存する（ステップＳ３６０７）。この後、ステップＳ３６０８にて、要求元の機器（携帯電話）に、生成したファイルを送信する。
【０１９４】
携帯電話側で受信した後の表示処理方法については、第５の実施形態とほぼ同様であるので説明を割愛する。
【０１９５】
以上説明したとおり、第６の実施形態にいよれば、サーバー側で回転あり／なしの２つの画像を圧縮しファイル化し保存することで、これを受信した携帯電話は本体の回転あり／なしいずれの場合でも画像をスムーズに表示することが可能となる。
【０１９６】
第２の実施の形態において、画像符号化データを復号してから再エンコードする手法として文書作成ソフトが管理するフォルダ内を対象としていることを示したが、本発明の範囲はこの例には限られない。例えば、ＰＤＦのような１ファイル内に画像符号化データを複数種類格納できるフォーマットの内部を探索して、適宜再エンコードする方法も本発明の範疇である。
【０１９７】
画像符号化データの組の中に回転された画像が入っていない場合、必要であれば回転させて表示する方法も本発明の範疇である。
【０１９８】
２つの画像符号化データを組にすることを前提に説明しているが、３つ以上の場合でも本発明の範疇にはいる。
【０１９９】
上記実施形態では２つの符号列を１ファイルにまとめる方法を説明しているが、別々のファイルにして２つのファイルがセットであることを示す管理情報を持つことも本発明の範疇である。
【０２００】
以上の実施形態に相当する処理をコンピュータに実行させるコンピュータプログラムでもって実現しても構わない。また、通常、コンピュータプログラムは、ＣＤ−ＲＯＭ等のコンピュータ可読記憶媒体に格納されており、それをコンピュータが有する読取り部（ＣＤ−ＲＯＭドライブ等）にセットし、システムにコピーもしくはインストールすることで実行可能になる。したがって、かかるコンピュータ可読記憶媒体も本発明の範疇にあるのは明らかである。
【図面の簡単な説明】
【０２０１】
【図１】実施形態における画像圧縮部のブロック構成図である。
【図２】実施形態における系列変換部のブロック構成図である。
【図３】色変換の変換式の一例を示す図である。
【図４】実施形態における系列変換部の処理手順を示すフローチャートである。
【図５】実施形態における画像中のタイル、マクロブロック、ブロックの関係を示す図である。
【図６】系列変換処理を説明するための図である。
【図７】周波数変換処理の処理手順を示すフローチャートである。
【図８】周波数変換処理におけるブロック内の画素位置と、３つのフィルタの構造を示す図である。
【図９】ブロックオーバラップ処理の処理対象を示す図である。
【図１０】量子化処理における量子化パラメータの算出式の例を示す図である。
【図１１】実施形態における着目ＤＣ成分Ｘとその予測処理に参照される周囲のＤＣ成分との関係を示す図である。
【図１２】ＤＣ成分の予測処理の処理手順を示すフローチャートである。
【図１３】ローパス成分予測を行なう処理対象のブロックのデータ配列を示す図である。
【図１４】ローパス成分予測処理の処理手順を示すフローチャートである。
【図１５】ローパス成分予測を行なう処理対象のブロックのデータ配列とスキャン方向との関係を示す図である。
【図１６】ハイパス成分予測処理の処理手順を示すフローチャートである。
【図１７】スペーシャルモードの符号化データのデータ構造を示す図である。
【図１８】フリークエンシーモードの符号化データのデータ構造を示す図である。
【図１９】ブロックオーバラップ処理の処理手順を示すフローチャートである。
【図２０】ブロックオーバラップ処理中の２つ変換式に相当する回路構成を示す図である。
【図２１】実施形態における画像伸長部のブロック構成図である。
【図２２】第１の実施形態におけるデジタルカメラのブロック構成図である。
【図２３】第１の実施形態における画像撮影時の処理手順を示すフローチャートである。
【図２４】文書フォーマットの説明図である。
【図２５】第１の実施形態における文書作成ソフトのフローチャートである。
【図２６】第２の実施形態における文書作成ソフトのフローチャートである。
【図２７】第３の実施形態におけるプリント画像生成処理を示したフローチャートである。
【図２８】第４の実施形態におけるスキャナのブロック構成図である。
【図２９】第４の実施形態におけるプリント画像を生成する処理手順を示すフローチャートである。
【図３０】第４の実施形態におけるプリント画像を生成する処理手順を示すフローチャートである
【図３１】第５の実施形態におけるデジタルカメラのブロック構成図である。
【図３２】第５の実施形態におけるデジタルカメラのフローチャートである。である。
【図３３】第５の実施形態におけるデジタルカメラのフローチャートである。
【図３４】第５の実施形態におけるデジタルカメラのフローチャートである。
【図３５】第６の実施形態における携帯電話の説明図である。
【図３６】第６の実施形態におけるサーバーのフローチャートである。
【図１】
2010074411.tif 000003
【図２】
2010074411.tif 000004
【図３】
2010074411.tif 000005
【図４】
2010074411.tif 000006
【図５】
2010074411.tif 000007
【図６】
2010074411.tif 000008
【図７】
2010074411.tif 000009
【図８】
2010074411.tif 000010
【図９】
2010074411.tif 000011
【図１０】
2010074411.tif 000012
【図１１】
2010074411.tif 000013
【図１２】
2010074411.tif 000014
【図１３】
2010074411.tif 000015
【図１４】
2010074411.tif 000016
【図１５】
2010074411.tif 000017
【図１６】
2010074411.tif 000018
【図１７】
2010074411.tif 000019
【図１８】
2010074411.tif 000020
【図１９】
2010074411.tif 000021
【図２０】
2010074411.tif 000022
【図２１】
2010074411.tif 000023
【図２２】
2010074411.tif 000024
【図２３】
2010074411.tif 000025
【図２４】
2010074411.tif 000026
【図２５】
2010074411.tif 000027
【図２６】
2010074411.tif 000028
【図２７】
2010074411.tif 000029
【図２８】
2010074411.tif 000030
【図２９】
2010074411.tif 000031
【図３０】
2010074411.tif 000032
【図３１】
2010074411.tif 000033
【図３２】
2010074411.tif 000034
【図３３】
2010074411.tif 000035
【図３４】
2010074411.tif 000036
【図３５】
2010074411.tif 000037
【図３６】
2010074411.tif 000038