(57)【要約】【課題】  復号して表示しようとする変倍率に応じて、画質に現れる影響を少なくしつつ、幾つかの処理を省くことで、復号処理を高速化させる技術する。【解決手段】  復号化対象の符号化画像データのヘッダを解析する（Ｓ２６０４）。そして、その符号化画像データを生成する際に歪み抑制処理を何回行ったのかを示す情報を得る。そして、設定された変倍率と、ヘッダから抽出した情報に基づき、省略可能な処理がどれであるのかを決定し、非省略の処理を実行することで、出力の基礎となる画像を生成する（Ｓ２６０６）。そして、その画像に対して、設定された倍率に応じたリサイズ処理を行う（Ｓ２６０７）。【選択図】  図２１
2011004012.tif 000002
【特許請求の範囲】
【請求項１】
２回の周波数変換における各周波数変換の前段で、ブロック歪みを抑制する歪み抑制処理を行うか否かを指定可能な符号化方法で符号化された符号化画像データから、画像を再現し出力する画像復号装置であって、
変倍率を設定する設定手段と、
復号対象の符号化画像データのヘッダを解析し、少なくとも前記歪み抑制処理の実行回数を含む符号化パラメータ情報を抽出する解析手段と、
前記符号化画像データを、符号化時の２回目の周波数変換の直後のデータにまで復号する復号手段と、
前記設定手段で設定された変倍率、及び、前記解析手段により得られた符号化パラメータ情報に基づき、前記符号化画像データを生成する際に実行した２回の前記周波数変換に対応する２回の逆周波数変換処理、および、前記符号化画像データを生成する際に０乃至２回実行した前記歪み抑制処理に対応する０乃至２回の逆歪み抑制処理のうちで省略できる処理がいずれであるのかを判定する判定手段と、
該判定手段の判定の結果に基づき、非省略となった処理を実行することで、出力の基礎となる画像を復元する復元手段と、
該復元手段によって復元された画像を、前記設定手段で設定された変倍率に従ってリサイズし、出力するリサイズ手段と
を備えることを特徴とする画像復号装置。
【請求項２】
前記判定手段は、前記設定手段で設定した変倍率をＲ、符号化画像データを全て用いて復号した画像の解像度をフル解像度、符号化時の１回目の周波数変換によって得られたＤＣ成分で表わされる画像の解像度をＬＰ解像度、符号化時の２回目の周波数変換によって得られたＤＣ成分で表わされる画像の解像度をＤＣ解像度と定義したとき、
前記設定手段で設定された変倍率Ｒによる画像の解像度が、前記ＤＣ解像度、前記ＬＰ解像度、前記フル解像度、のいずれに近いかに応じて、逆周波数変換の回数を決定すると共に、逆歪み抑制処理を実行するか否かを決定する
ことを特徴とする請求項１に記載の画像復号装置。
【請求項３】
前記判定手段は、前記設定手段で設定された変倍率Ｒが予め設定された閾値より大きく、且つ、前記変倍率Ｒの画像の解像度に近いのが前記フル解像度である場合に、前記逆周波数変換を非省略と判定することを特徴とする請求項２に記載の画像復号装置。
【請求項４】
１回の周波数変換の前段で、ブロック歪みを抑制する歪み抑制処理を行う符号化方法で符号化された符号化画像データから、画像を再現し出力する画像復号装置であって、
変倍率を設定する設定手段と、
復号対象の符号化画像データのヘッダを解析し、少なくとも前記歪み抑制処理の実行回数を含む符号化パラメータ情報を抽出する解析手段と、
前記符号化画像データを、前記周波数変換の直前までのデータにまで復号する復号手段と、
前記設定手段で設定された変倍率が予め設定された閾値より大きいと場合、前記復号手段で得られたデータに対し、前記逆歪み抑制処理を実行するする逆歪み抑制処理手段と、
前記設定手段で設定された変倍率が予め設定された閾値以下の場合、前記復号手段で得られたデータが出力の基礎となる画像データと見なして、当該画像データを前記設定手段で設定された変倍率に従ってリサイズし、
前記設定手段で設定された変倍率が前記閾値より大きい場合には前記逆歪み抑制処理手段によって得られた画像データに対し前記設定手段で設定された変倍率に従ってリサイズし、出力するリサイズ手段と
を備えることを特徴とする画像復号装置。
【請求項５】
２回の周波数変換における各周波数変換の前段で、ブロック歪みを抑制する歪み抑制処理を行うか否かを指定可能な符号化方法で符号化された符号化画像データから、画像を再現し出力する画像復号装置の制御方法であって、
設定手段が、変倍率を設定する設定工程と、
解析手段が、復号対象の符号化画像データのヘッダを解析し、少なくとも前記歪み抑制処理の実行回数を含む符号化パラメータ情報を抽出する解析工程と、
復号手段が、前記符号化画像データを、符号化時の２回目の周波数変換の直後のデータにまで復号する復号工程と、
判定手段が、前記設定工程で設定された変倍率、及び、前記解析工程により得られた符号化パラメータ情報に基づき、前記符号化画像データを生成する際に実行した２回の前記周波数変換に対応する２回の逆周波数変換処理、および、前記符号化画像データを生成する際に０乃至２回実行した前記歪み抑制処理に対応する０乃至２回の逆歪み抑制処理のうちで省略できる処理がいずれであるのかを判定する判定工程と、
復元手段が、該判定工程の判定の結果に基づき、非省略となった処理を実行することで、出力の基礎となる画像を復元する復元工程と、
リサイズ手段が、該復元工程によって復元された画像を、前記設定工程で設定された変倍率に従ってリサイズし、出力するリサイズ工程と
を備えることを特徴とする画像復号装置の制御方法。
【請求項６】
前記判定工程は、前記設定工程で設定した変倍率をＲ、符号化画像データを全て用いて復号した画像の解像度をフル解像度、符号化時の１回目の周波数変換によって得られたＤＣ成分で表わされる画像の解像度をＬＰ解像度、符号化時の２回目の周波数変換によって得られたＤＣ成分で表わされる画像の解像度をＤＣ解像度と定義したとき、
前記設定工程で設定された変倍率Ｒによる画像の解像度が、前記ＤＣ解像度、前記ＬＰ解像度、前記フル解像度、のいずれに近いかに応じて、逆周波数変換の回数を決定すると共に、逆歪み抑制処理を実行するか否かを決定する
ことを特徴とする請求項５に記載の画像復号装置の制御方法。
【請求項７】
前記判定工程は、前記設定工程で設定された変倍率Ｒが予め設定された閾値より大きく、且つ、前記変倍率Ｒの画像の解像度に近いのが前記フル解像度である場合に、前記逆周波数変換を非省略と判定することを特徴とする請求項６に記載の画像復号装置の制御方法。
【請求項８】
１回の周波数変換の前段で、ブロック歪みを抑制する歪み抑制処理を行う符号化方法で符号化された符号化画像データから、画像を再現し出力する画像復号装置であって、
設定手段が、変倍率を設定する設定工程と、
解析手段が、復号対象の符号化画像データのヘッダを解析し、少なくとも前記歪み抑制処理の実行回数を含む符号化パラメータ情報を抽出する解析工程と、
復号手段が、前記符号化画像データを、前記周波数変換の直前までのデータにまで復号する復号工程と、
逆歪み抑制処理手段が、前記設定工程で設定された変倍率が予め設定された閾値より大きいと場合、前記復号工程で得られたデータに対し、前記逆歪み抑制処理を実行するする逆歪み抑制処理工程と、
リサイズ手段が、
前記設定工程で設定された変倍率が予め設定された閾値以下の場合、前記復号工程で得られたデータが出力の基礎となる画像データと見なして、当該画像データを前記設定工程で設定された変倍率に従ってリサイズし、
前記設定工程で設定された変倍率が前記閾値より大きい場合には前記逆歪み抑制処理工程によって得られた画像データに対し前記設定工程で設定された変倍率に従ってリサイズし、出力するリサイズ工程と
を備えることを特徴とする画像復号装置の制御方法。
【請求項９】
コンピュータに読み込ませ実行させることで、前記コンピュータを請求項１乃至４の画像復号装置として機能させることを特徴とするコンピュータプログラム。
【請求項１０】
請求項９に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は符号化画像データの復号技術に関するものである。
【背景技術】
【０００２】
デジタル画像を効率的に記憶管理、もしくは転送する上では、そのファイルサイズを小さくする画像圧縮のための符号化技術は不可欠である。通常、画像データを符号化する場合、その画像を幾つかのブロックに分割し、ブロック単位に符号化処理を行う。また、ブロック単位に符号化した場合、ブロック境界に歪みが発生しやすい。そこで、ブロック境界における歪みを抑制する符号化技術も知られている（例えば特許文献１）。この特許文献１では、画像をタイルに分割する。そして、各タイルに対してＤＣＴ変換を繰り返して行って階層の系列データを生成する。さらにタイル間で発生するブロック歪みを抑えるために、ＤＣＴを行う前もしくはＤＣＴを行っている過程で、隣接する２つのタイルの画素を使って所定の処理を行っている。このような符号化処理として知られているのが、ＪＰＥＧ  ＸＲである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１９７５７３号公報
【非特許文献】
【０００４】
【非特許文献１】“JPEG XR 標準化の最新動向”画像電子学会 Vol.37 No4 502〜512頁 2008年7月25日発行
【非特許文献２】日経エレクトロニクス 2008年12月29日号 71〜77頁 2008年12月29日発行
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記技術を基礎にした技術では、系列変換処理の過程で、ブロック歪みを抑制する処理が含まれていて、これらはユーザーが選択することが可能である。ただこの機能は歪みを抑制できる代わりに、系列変換処理の演算コストが２倍以上になってしまうという問題がある。また、歪みを抑制する機能は符号化処理と復号処理で対になっており、符号化時に処理が行われていると、復号時にもそれに応じた処理を自動的に行うことになる。このため、歪み抑制を行って符号化したデータを復号する復号装置側では、高速に表示したくても、どうしてもその歪み抑制に対応する処理が必要になり、遅くなってしまう。
【０００６】
ところで、昨今のデジタルカメラの撮像可能な解像度は上がる一方であり、１０００万画素を超えることが普通になっている。しかし、パーソナルコンピュータなどで利用している表示装置の解像度はそれより遥かに低い。従って、画像の編集などではなく、閲覧を目的とする程度であれば、オリジナルの解像度よりも低い解像度の画像が表示されれば十分と言えるし、指定から表示までの高いレスポンスが求められる。
【０００７】
そこで、本願発明は、復号して表示しようとする変倍率に応じて、画質に現れる影響を少なくしつつ、幾つかの処理を省くことで、復号処理を高速化させる技術を提供しようとするものである。
【課題を解決するための手段】
【０００８】
この課題を解決するため、例えば本発明の映像処理装置は以下の構成を備える。すなわち、
２回の周波数変換における各周波数変換の前段で、ブロック歪みを抑制する歪み抑制処理を行うか否かを指定可能な符号化方法で符号化された符号化画像データから、画像を再現し出力する画像復号装置であって、
変倍率を設定する設定手段と、
復号対象の符号化画像データのヘッダを解析し、少なくとも前記歪み抑制処理の実行回数を含む符号化パラメータ情報を抽出する解析手段と、
前記符号化画像データを、符号化時の２回目の周波数変換の直後のデータにまで復号する復号手段と、
前記設定手段で設定された変倍率、及び、前記解析手段により得られた符号化パラメータ情報に基づき、前記符号化画像データを生成する際に実行した２回の前記周波数変換に対応する２回の逆周波数変換処理、および、前記符号化画像データを生成する際に０乃至２回実行した前記歪み抑制処理に対応する０乃至２回の逆歪み抑制処理のうちで省略できる処理がいずれであるのかを判定する判定手段と、
該判定手段の判定の結果に基づき、非省略となった処理を実行することで、出力の基礎となる画像を復元する復元手段と、
該復元手段によって復元された画像を、前記設定手段で設定された変倍率に従ってリサイズし、出力するリサイズ手段とを備える。
【発明の効果】
【０００９】
本発明によれば、復号して表示しようとする変倍率に応じて、画質に現れる影響を少なくしつつ、幾つかの処理を省くことで、復号処理を高速化させることが可能になる。
【図面の簡単な説明】
【００１０】
【図１】画像圧縮部及び伸長部のブロック構成図。
【図２】系列変換部のブロック構成図。
【図３】系列変換部の処理手順を示すフローチャート。
【図４】画像中のタイル、マクロブロック、ブロックの関係を示す図。
【図５】系列変換処理を説明するための図。
【図６】周波数変換処理の処理手順を示すフローチャート。
【図７】周波数変換処理におけるブロック内の画素位置と、３つのフィルタの構造を示す図。
【図８】ブロックオーバラップ処理の処理対象を示す図。
【図９】着目ＤＣ成分Ｘの予測方法説明図。
【図１０】ＤＣ成分の予測処理の処理手順を示すフローチャート。
【図１１】ローパス成分予測を行なう処理対象のブロックのデータ配列を示す図。
【図１２】ローパス成分予測処理の処理手順を示すフローチャート。
【図１３】ローパス成分予測を行なうブロックのデータ配列とスキャン方向との関係図。
【図１４】ハイパス成分予測処理の処理手順を示すフローチャート。
【図１５】符号化データのデータ構造を示す図。
【図１６】ブロックオーバラップ処理のフローチャート。
【図１７】ブロックオーバラップ処理に関する回路構成を示す図。
【図１８】デジタルカメラのブロック構成図。
【図１９】デジタルカメラにおける処理のフローチャート。
【図２０】蓄積装置のブロック図。
【図２１】蓄積装置のフローチャート。
【図２２】符号化処理と復号処理のフローチャート。
【図２３】第２、第３の実施形態の変倍率に対する閾値を示す図。
【図２４】第２の実施形態の実行／非実行の処理の種別を示すテーブルである。
【発明を実施するための形態】
【００１１】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【００１２】
［第１の実施形態］
特許文献１等をベースとした技術（ＪＰＥＧ  ＸＲ）には、符号化の際のブロック歪み抑制機能がある。そして、その抑制処理はオプショナルであり、（１）全く行わない、（２）１回目の系列変換の前段で１回行う、（３）１回目の系列変換の前段で１、２回目の系列変換の前段でも１回行う、の３つの中から１つを指定可能となっている。（１）は歪み抑制の効果はないが高速に符号化でき、復号処理も高速である。（３）は強力な歪み抑制効果はあるが、符号化、復号処理は低速である。（２）は（１）と（３）の間としての位置づけになる。上記をまとめたのが図２２（ａ）である。同図において、「ＰＣＴ」となっている処理が系列変換（周波数変換）であり、「ＰＯＴ」が歪み抑制処理である。
【００１３】
復号（デコード）処理は符号化（エンコード）処理の逆であるため、通常、エンコード時に（１）を行えば、デコード時には歪み抑制処理は行わない。また（３）であれば、デコード時に２回歪み抑制処理を行うことになる。図２２（ｂ）は、このデコードの処理を示している。ここで、もし符号化時に（２）や（３）の処理を行っていて、フル解像度の画像の復号時に歪み抑制処理をスキップすると処理時間を短くすることができるが、画質が低下する。特に、符号化時に（３）を行った符号化画像データを、フル解像度で復号表示する場合、２回目の歪み抑制処理をスキップすると画質への影響が非常に大きい。
【００１４】
さて、上記の通り、解像度感が低下する歪みが発生するということは、復号してえられた画像を縮小して表示する場合、その歪みが見えづらくなると言える。そこで本実施形態では、復号し、表示する際に、一律同じ処理を行うのではなく、ユーザが指定した解像度（変倍率）に応じて、画質に与える影響を少なくしつつ、可能な限り歪み抑制処理を省略する例を説明する。
【００１５】
本実施の形態では、デジタルカメラで画像を撮影し、画像をＨＤＤレコーダのようなビューイング機能付き蓄積デバイスにコピーする。その上で蓄積デバイス中の画像をディスプレイで表示する場合を想定して説明する。そこで、先ず、デジタルカメラについて説明し、その後で蓄積装置における再生処理（復号処理）を説明する。
【００１６】
［デジタルカメラの説明］
デジタルカメラは図１８に示す構成を有する。すなわち、このデジタルカメラは、撮影部２２０１、撮影指示部２２０２、画像処理部２２０３、画像圧縮部２２０４、サイズ指定部２２０５、解像度判定部２２０６、出力部２２０７、階層モード指定部２２１０、リサイズ部２２１１を備える。また、デジタルカメラには、装置全体の制御手段として機能するＣＰＵ２２０８、及び、ＣＰＵ２２０８の実行するプログラム及びワークエリアとして使用するメモリ２２０９を備える。また、各種設定された情報も、このメモリ２２０９に格納される。なお、サイズ指定部２２０５、階層モード指定部２２１０は、不図示の操作パネルに設けられたボタン、もしくはメニュー選択により指定するものとする。また、撮影指示部２２０２はシャッターボタンと言えば分かりやすい。
【００１７】
実施形態におけるデジタルカメラにおいて、ユーザーは、撮影に先立ち、撮影画像の解像度（サイズ）をサイズ指定部２２０５にて設定できる。選択可能なサイズには、例えばＬ、Ｍ、Ｓの３通りがある。Ｌサイズは水平方向４０００画素、垂直方向３０００画素（以下、４０００×３０００画素という）であり、Ｍサイズは２０００×１５００画素、Ｓサイズは１６００画素×１２００画素である。すなわち、実施形態のデジタルカメラが有する撮像部２２０１には、４０００×３０００の解像度を持つ撮像素子が搭載されているものとする。選択したサイズは、メモリ２２０９の予め設定された領域に保存される。
【００１８】
上記の通り、サイズ指定部２２０５にて、解像度を設定した後、ユーザは撮影指示部２２０２に含まれるシャッターボタンを操作すると、指定された解像度の画像を撮影し、画像処理（ホワイトバランス処理等）を行ない、後述する符号化処理を行なう。そして、生成された符号化データを、出力部２２０７に接続された不揮発性のメモリカードに保存する処理を行なう。
【００１９】
図１９は、シャッターボタンが操作された際のＣＰＵ２２０８の処理手順を示すフローチャートである。なお、ＡＦ、ＡＥ等の処理は、本願には直接には関係がないので、その説明は省略する。以下、図１９のフローチャートに従って処理手順を説明する。
【００２０】
先ず、ＣＰＵ２２０８は、撮影部２２０１で得られた光電変換した信号をデジタルデータに変換し、その変換後のデータを画像データとして取得し（ステップＳ２３０１）、メモリ２２０９に一時的に格納する（ステップＳ２３０２）。
【００２１】
次に、ＣＰＵ２２０８は、画像処理部２２０３を制御し、メモリ２２０９に格納した画像データに対する画像処理を実行させる（ステップＳ２３０３）。この画像処理としては、ベイヤー配列のＲＧＢデータを正規の配列に変換する処理，ホワイトバランス、シャープネス，色処理などが考えられる。画像処理結果の画像データは、メモリ２２０９に再び格納される。画像処理が終了すると、処理はステップＳ２３０４に進み、設定されたサイズ情報をメモリ２２０９から取得し（ステップＳ２３０４）、ユーザーが指定したサイズを判定する（ステップＳ２３０５）。
【００２２】
もしサイズＬが指定されていれば（ステップＳ２３０５でYes)、画像圧縮に関する２つの情報、すなわち、系列変換情報ＳＣと符号列形成情報ＣＦそれぞれ対して“２”を設定し、画像圧縮部２２０４に設定する（ステップＳ２３０６）。つまり、系列変換情報ＳＣと符号列形成情報ＣＦは、画像圧縮部２２０４の圧縮符号化する際のパラメータと言うことができる。
【００２３】
なお、系列変換情報ＳＣと符号列形成情報ＣＦの詳細は後述するが、本実施形態における系列変換情報ＳＣについては“０”、“１”、“２”の３つがある。ここで、“２”は中間解像度の画質を向上させるための処理を指示する情報である。また、系列変換情報ＳＣは、後述する歪み抑制処理回数を示す情報としても利用される。符号列形成情報ＣＦは、“１”、“２”の２つがあり、“２”は中間解像度優先による符号列の形成を指示する情報である。系列変換情報ＳＣ、符号列形成情報ＣＦを共に“２”にした場合、複雑な処理が介在することになり、処理に要する時間も増える。しかし、サイズＬの画像の場合、その画素数が非常に多く、実際に表示する段階では、最高解像度で表示することは希であり、むしろ最高解像よりも数段低い中間解像度で表示する可能性が高いと言える。そこで、実施形態では、表示処理の後の処理に応じた処理を行なうため、サイズＬが設定された場合、上記のように、系列変換情報ＳＣ、及び、符号列形成情報ＣＦを共に“２”に設定する。
【００２４】
一方、指定されたサイズがＬ以外の場合（指定されたサイズがＭ、又はＳの場合）、処理はステップＳ２３０７に進み、指定サイズはＭであるか否かを判定する。サイズＭが設定されている場合、ステップＳ２３０８にて、系列変換情報ＳＣとして“１”、符号列形成情報ＣＦとして“１”を、画像圧縮部２２０４に設定する。
【００２５】
また、指定されたサイズがＭ以外、すなわち、サイズＳが設定されていると判定した場合、ステップＳ２３０９にて、系列変換情報ＳＣとして“０”、符号列形成情報ＣＦとして“１”を、画像圧縮部２２０４に設定する。
【００２６】
この後、処理はステップＳ２３１０に進み、画像圧縮部２２０４に対して圧縮処理を開始させる。この後、ステップＳ２３１４にて、ＣＰＵ２２０８は、生成された符号化データをファイルにして、メモリカードに格納する。
【００２７】
次に、実施形態における画像圧縮部２２０４の詳細を説明する。本実施形態の画像圧縮部２２０４は、先に示した特許文献１等の技術を採用し、階層構造を持つ階層符号化データを生成する。そこで、この技術の基本にしつつ、本実施形態の特徴部分を以下に説明する。
【００２８】
実施形態における画像圧縮部２２０４は、図１（ａ）に示す如く、色変換部１０１、系列変換部１０２、量子化部１０３、係数予測部１０４、係数スキャン部１０５、エントロピー符号化部１０６、符号列形成部１０７を有する。以下、実施形態における画像圧縮部２１０４の処理を説明するに先立ち、用語について定義する。ブロックとは符号化処理の最小単位であり、実施形態では４×４画素のサイズである。マクロブロックとはブロックを複数個内包する単位であり、実施形態では４×４個のブロック（言い換えれば、１６×１６画素）を示す。タイルとは、マクロブロックを複数個内包する単位であり、Ｍ×Ｎ個（Ｍ，Ｎは１以上の整数であって、いずれか一方は２以上の整数）のマクロブロックで構成される。実施形態では、Ｍ＝６、Ｎ＝４として説明する。すなわち、１タイルのサイズは、６×４個のマクロブロック＝９６×６４画素のサイズである。なお、ここで示すブロック、マクロブロック、タイルの定義は一例であって、それらのサイズによって本願発明が限定されるものではない。画像圧縮部２１０４は、タイルを単位に圧縮符号化データを生成するが、その処理における最小処理単位はブロック（４×４画素）である。
【００２９】
色変換部１０１はＲ、Ｇ、Ｂ（実施形態では各成分が８ビット＝２５６階調とする）データをＹ、Ｕ、Ｖの色空間に変換し、変換結果を系列変換部１０２に出力する。ＲＧＢ→ＹＵＶの変換は、例えば以下に示す変換式に従って行なう。
Ｖ＝Ｂ−Ｒ
ｔ＝Ｒ−Ｇ＋Ｃｅｉｌｉｎｇ（Ｖ／２）
Ｕ＝−ｔ
Ｙ＝Ｇ＋Ｆｌｏｏｒ（ｔ／２）
（ここで、Ｃｅｉｌｉｎｇ（ｘ）は実数ｘ以上であり、最小の整数を返す関数であり、Ｆｌｏｏｒ（ｘ）は実数ｘ以下で最大の整数を返す関数である）
【００３０】
符号化処理では、Ｙ，Ｕ，Ｖの各コンポーネントについて個別に実行される。そこで、説明を簡単なものとするため、以下では、Ｙ（輝度）について説明する。すなわち、以下の説明にて画像データとはＹコンポーネントで表わされる画像データを意味することに注意されたい（Ｕ，Ｖの各コンポーネントについては、適宜、置き換えて把握されたい）。
【００３１】
系列変換部１０２は、図２に示す如く、第１変換部２０１、第２変換部２０２、及び、メモリ２０３を有する。ここで、第１変換部２０１は必須の処理であり、且つ、系列変換部１０２の制御も司る。一方、第２変換部２０２はオプション的な処理であって、実行してもしなくて構わない。また、第２変換部２０２に処理を実行させるか否かのハンドリングは第１変換部２０１が行なう。第２の変換部２０２の処理を行なう場合、その分だけ符号化処理にかかる負担が増え、処理に要する時間も増えるが、画像復号した画質（特に、オリジナルの解像度よりも低い解像度の画像の画質）はより好ましいものとなる。メモリ２０３は先に説明した系列変換情報ＳＣを保持する。
【００３２】
Ｙコンポーネントデータは系列変換部１０２に入力されると、図４に示したようにまず画像はタイルのサイズに分割される（実施形態では、１つのタイルは６×４個のマクロブロックで構成される）。メモリ２０３には系列変換情報ＳＣ（０、１、２のいずれか）が格納されており、その情報に従って、第１変換部２０１、第２変換部２０２は、図３のフローチャートに従って処理を実行する。
【００３３】
先ず、ステップＳ４０１にて、第１変換部２０１は、系列変換情報ＳＣをメモリ２０３から取得する。そして、ステップＳ４０２において、第１変換部２０１は、その系列変換情報ＳＣが“０”であるか否かを判定する。系列変換情報ＳＣが“０”である場合、第１変換部２０１は、第２変換部２０２に対して変換処理を要求しない。そして、第１変換部２０１はステップＳ４０３、Ｓ４０４にて、周波数変換処理を２回実行する。この処理を、図５を用いて具体的に説明する。
【００３４】
先ず、１つのマクロブロックを構成する４×４個のブロックのそれぞれに対し、周波数変換処理を行なう（第１ステージ）。１つのブロックからは、１個のＤＣ成分（直流成分）データと１５（＝４×４−１）個のＡＣ成分（交流成分）データが得られる。上記の通り、１つのマクロブロックは４×４個のブロックで構成されているので、１つのマクロブロックからは４×４個のＤＣ成分データと、１５×４×４個のＡＣ成分データが得られる。この４×４個のＤＣ成分値を集めたものをＤＣブロックと言う。上記がステップＳ４０３の処理、すなわち、第１回目の周波数変換処理である。
【００３５】
次に、ステップＳ４０４の処理（第２回目の周波数変換処理）について説明する。ステップＳ４０４における第２回目の周波数変換対象は、上記のＤＣブロックである（第２ステージ）。この結果、ＤＣブロックから１個のＤＣ成分値と、１５個のＡＣ成分値が得られる。後者のＡＣ成分値は、ＤＣブロック（４×４画素）のＤＣ成分から算出したＡＣ成分であるので、図５ではＡＣＤＣ成分として示している。
【００３６】
なお、ステップＳ４０３、Ｓ４０４で生成される成分を区別するのであれば、１回目（ステップＳ４０３）で得られるＤＣ成分データ、ＡＣ成分データを、第１レベルのＤＣ成分データ、第１レベルのＡＣ成分データとも言う。そして、２回目（ステップＳ４０４）で得られるＤＣ成分データ、ＡＣＤＣ成分データを、第２レベルのＤＣ成分データ、第２レベルのＡＣ成分データとも言っても構わない。
【００３７】
ここで、周波数変換処理は図６のフローチャートに示す手順で行われる。なお、同フローチャートは１ブロック（４×４画素）についてのものである点に注意されたい。すなわち、マクロブロックは４×４ブロックで構成されているので、第１回目の周波数変換処理（ステップＳ４０３）では、図６のフローチャートに従った処理を１６回行なうことになる。また、図６のフローチャートにおけるステップＳ７１乃至Ｓ７８における変換処理（フィルタリング処理）は、図７（ｂ）乃至（ｄ）の同名の変換回路（フィルタリング回路）のいずれかで実行される。また、図６の各変換処理での引数ａ乃至ｐは、図７（ａ）の着目ブロック内の画素ａ乃至ｐの位置に対応する。
【００３８】
図６の最初の処理ステップＳ７１の変換処理Ｔ＿Ｈ（ａ，ｄ，ｍ，ｐ）は、図７（ｂ）の回路構成で実行することを示している。すなわち、図７（ｂ）の入力端子Ｘ１，Ｘ２，Ｘ３，Ｘ４に、図７（ａ）におけるａ，ｄ，ｍ，ｐをそれぞれセットし演算を開始させる。そして、出力端子Ｙ１、Ｙ２、Ｙ３、Ｙ４に現れる４つの値で、元のａ，ｄ，ｍ，ｐの値を更新する。ステップＳ７２乃至Ｓ７８も同様である。なお、ステップＳ７８では、データｌ，ｏの正負の符号を反転した後、Ｔ＿Ｏｄｄ＿Ｏｄｄ演算処理（図７（ｄ）参照）を行なうことを示している。
【００３９】
図６の処理をＤＣ成分について平たく言えば、最初の４つの処理（ステップＳ７１乃至７４）では、着目ブロック（４×４画素）のデータから、仮の低周波成分を左上隅の２×２の位置（図７ではａ，ｂ，ｅ，ｆの位置）に集中させる。そして、ステップＳ７５では、左上隅の｛ａ，ｂ，ｅ，ｆ｝の位置に格納された２×２個の仮低周波成分のデータを用いて、図７（ａ）の“ａ”の位置に、着目ブロックの１つのＤＣ成分を格納させる。また、１５個のＡＣ成分については、ステップＳ７１乃至Ｓ７８の処理過程を経て生成していることになる。
【００４０】
１回目の周波数変換処理では、図６の着目マクロブロックに含まれる１６個のブロックそれぞれについて行なう。また、２回めの周波数変換処理では、着目マクロブロックから得られたＤＣブロック（４×４個のＤＣ成分値）が、図７（ａ）の配列にあるものと見なし、図６のフローチャートに示す処理を１回行なえば良いことになる。
【００４１】
上記の通り、２回の周波数変換処理で、１つのマクロブロックからは、１つのＤＣ成分、１５（＝４×４−１）個のＡＣＤＣ成分、２４０（＝１５×４×４）個のＡＣ成分が得られる。当業者であれば容易に理解できるように、このマクロブロックのＤＣ成分の符号化データのみを復号して得られる画像のサイズは、オリジナル画像のサイズの水平、垂直とも１／１６のサイズとなる。そして、ＤＣ、ＡＣＤＣ成分の符号化データのみを復号して得られる画像のサイズは、オリジナル画像のサイズの水平、垂直とも１／４のサイズとなる。そして、ＤＣ、ＡＣＤＣ、及び、ＡＣ成分の全ての符号化データを用いて復号するとオリジナルと同じサイズの画像を復号できることになる。
【００４２】
なお、実施形態における符号化処理では、タイル単位に符号化データを生成する。実施形態では、１タイルは６×４個のマクロブロックで構成されるものとしているので、上記ステップＳ４０３、Ｓ４０４はこの１タイルに含まれるマクロブロックの数だけ処理することになる。
【００４３】
図３の説明に戻る。ステップＳ４０２において、第１変換部２０１は、メモリ２０３から取得した系列変換情報ＳＣが“０”以外、すなわち、ＳＣ＝１又は２であると判断した場合、ステップＳ４０５に進む。ステップＳ４０５では、第１変換部２０１は、第２変換部２０２に対して変換処理の開始指示を行なう。
【００４４】
この第２変換部２０２の処理は、第１変換部２０１がブロック単位の演算を基礎にしていることに起因するブロック境界の歪みを補正するため、ブロックの境界を跨ぐ（オーバーラップする）範囲で補正処理を行なう。それ故、この第２の変換部２０２が実行する処理を以降、ブロックオーバラップ処理という。
【００４５】
第１変換部２０１によって起動指示を受けた第２変換部２０２は、図８に示したように入力タイル中のブロック（４×４画素）の境界を跨ぐ（オーバーラップする）ｗｉｎｄｏｗを用いてブロックオーバラップ処理を行なう（ステップＳ４０５）。このブロックオーバラップ処理は、図１６のフローチャートに示す通りである。図１６には、先に示した図６のフローチャートで示した処理に加えて、２つのフィルタ処理、すなわち、Ｔ＿ｓ（）、及び、Ｔ＿Ｒｏ（）が新に追加される。このＴ＿ｓ（）、及び、Ｔ＿Ｒｏ（）は図１７（ａ），（ｂ）の回路構成で実現する。Ｔ＿ｓ（）、Ｔ＿Ｒ処理は、２入力、２出力のフィルタリング処理である。ブロックオーバラップ処理は、先に説明した周波数変換処理の処理対象のブロックを跨ぐ範囲を処理対象とすることで、周波数変換するブロック境界での不連続性の発生を抑制できる。
【００４６】
この後、処理は、ステップＳ４０６に進み、第１変換部２０１は、周波数変換処理を１回を行なう。このステップＳ４０６における周波数変換処理は、図５のマクロブロックに相当する領域内の４×４個のブロックそれぞれについて周波数変換を行なうものである。すなわち、ステップＳ４０３と同様に、１６個のブロックを周波数変換し１６個のＤＣ成分と、２４０個のＡＣ成分を算出する処理である。実施形態の場合、１つのタイルに含まれるマクロブロックの数は６×４個であるので、上記処理を２４回実行することになる。
【００４７】
次に、ステップＳ４０７において、第１変換部２０１は、メモリ２０３から取得した系列変換情報ＳＣが“１”であるか否かを判断する。“１”であると判断した場合には、ステップＳ４０９に処理を進める。一方、“１”以外、すなわち、系列変換情報ＳＣが“２”であると判断した場合、処理はステップＳ４０８に進み、第２変換部２０２に対して、２回めのブロックオーバラップ処理（図１６参照）を実行させる。なお、ステップＳ４０８における第２変換部２０２が実行するブロックオーバラップ処理の処理対象となるのは、６×４個のＤＣブロックとなる。ステップＳ４０９では、２回目の周波数変換処理を実行する。この２回めの周波数変換処理はステップＳ４０４と同じである。但し、処理対象は、ステップＳ４０６、もしくはステップＳ４０８の処理を経た１タイルに含まれる複数のＤＣブロックの集合に対して行なう。すなわち、１つのタイルは６×４個のマクロブロックを内包し、１マクロブロックからＤＣブロックが１個生成される。従って、２４個のＤＣブロックについて周波数変換を行なうことになる。
【００４８】
以上の処理をまとめると、本実施形態のマクロブロックに対する処理は次の通りである。
・撮影する画像サイズがＳサイズの場合：
周波数変換処理→周波数変換処理
・撮影する画像サイズがＭサイズの場合：
ブロックオーバラップ処理→周波数変換処理→周波数変換処理
・撮影する画像サイズがＬサイズの場合：
ブロックオーバラップ処理→周波数変換処理→ブロックオーバラップ処理→周波数変換処理
以上説明したのが、図１（ａ）における系列変換部１０２の処理である。系列変換部１０２は上記の変換結果を、後続する量子化部１０３に出力する。量子化部１０３は、Ｑパラメータ（以下ＱＰと呼ぶ）を設定し、この設定されたＱＰと以下の変換式に従って量子化ステップを算出する。
QPindex≦１の場合  QP=QPindex
QPindex＞１６の場合  QP=((QPindex % 16) + 16) << ((QPindex >> 4) -1)
（ここで、x%yは、除算x/yの商を返す関数である。また、x<<yは値ｘを左（上位）方向にｙビットシフトする関数であり、x>>yは値ｘを右（下位）方向にｙビットシフトする関数である）
【００４９】
なお本実施の形態では、ここで述べるＱＰの設定方法としては、以下の３つの自由度があり、これらの組み合わせでＱＰを設定できるものとする。
・自由度軸１：空間的自由度：
１．１  画像中全マクロブロックに対して同一のＱＰを設定．
１．２  タイル内における全マクロブロックに対して同一のＱＰを設定．
１．３  タイル内の各マクロブロックに対して自由にＱＰを設定．
・自由度軸２：周波数的自由度：
２．１  全周波数成分に対して同一のＱＰを設定．
２．２  ＤＣ成分とローパス成分（ＡＣＤＣ成分）に対して同一のＱＰを設定、ハイパス成分（ＡＣ成分）には異なるＱＰを設定．
２．３  ローパス成分とハイパス成分で同一のＱＰを設定、ＤＣ成分には異なるＱＰを設定．
２．４  各周波数成分に異なるＱＰを設定．
・自由度３：カラープレーン的自由度：
３．１  全カラープレーンでＱＰを同一に設定．
３．２  輝度プレーンに１つのＱＰを設定、輝度以外のプレーンに対して同一のＱＰを設定．
３．３  各プレーン別々にＱＰを設定．
【００５０】
例えば、従来のＪＦＩＦにおける量子化は、空間的自由度では１．１であり、カラープレーン的自由度では３．２である。なお、ＪＦＩＦではマクロブロック中、各係数に量子化ステップを割り当てるため、周波数的自由度にはあてはまる項目はない。
【００５１】
さて、上記のようにして量子化部１０３による量子化処理を終えると、量子化後のデータを係数予測部１０４に出力する。係数予測部１０４は、係数予測を行い、その予測誤差を出力する。係数予測では、ＤＣ成分，ローパス成分（ＡＣＤＣ成分），ハイパス成分（ＡＣ成分）それぞれ別個のルールに基づいて実施する。なお、予測演算の方法は各タイル単位で決定されて、また、隣接タイルの係数を使わない。以下、係数予測部１０４による各成分の予測演算について説明する。
【００５２】
（１）ＤＣ成分予測
先に説明したように、実施形態の場合、１つのタイルは６×４個のマクロブロックで構成される。１つのマクロブロックからは１つのＤＣ成分（図５参照）が得られるわけであるから、１つのタイルからは６×４個の量子化処理済みのＤＣ成分が得られる。係数予測部１０４のＤＣ成分予測処理（予測誤差算出処理）は次の通りである。
【００５３】
１タイル内のＤＣ成分値をラスタースキャンする。図９は、タイル内のスキャン処理中の着目マクロブロックのＤＣ成分Ｘと、相対的に隣接する近傍ＤＣ成分Ｄ、Ｔ、Ｌの関係を示している。ラスタースキャンするわけであるから、着目ＤＣ成分Ｘの近傍に位置する近傍ＤＣ成分Ｄ、Ｔ、Ｌは、既に予測処理（予測誤差算出）を終えた位置にあることになる点に注意されたい。なお、着目ＤＣ成分Ｘが、左上隅位置にあるとき、近傍ＤＣ成分Ｄ、Ｔ、Ｌの全てはタイル外に位置する。また、着目ＤＣ成分Ｘが、左上隅位置以外の１ライン目にあるとき、近傍ＤＣ成分Ｄ、Ｔはタイル外に位置する。そして、着目ＤＣ成分Ｘが、左上隅位置以外の左端にあるとき、近傍ＤＣ成分Ｄ、Ｌはタイル外に位置する。このように、参照すべきタイル外にある近傍ＤＣ成分は、所定値（例えば、“０”）を持つものとみなす。この所定値は、画像復号装置と同じになれば良いので、必ずしも“０”でなくても構わない。
【００５４】
以下、図１０のフローチャートに従ってタイル内のＤＣ成分予測処理を説明する。
【００５５】
先ず、ステップＳ１２０１では、近傍ＤＣ成分値であるＤとＴの差分絶対値（水平方向差分絶対値）ＡＢＳ＿ＨＯＲを算出し、近傍ＤＣ成分値であるＤとＬの差分絶対値（垂直方向差分絶対値）ＡＢＳ＿ＶＥＲを算出する。そして、ステップＳ１２０２にて、ＡＢＳ＿ＨＯＲ＜＜ＡＢＳ＿ＶＥＲであるか、すなわち、ＡＢＳ＿ＨＯＲがＡＢＳ＿ＶＥＲより十分に小さいか否かを判断する。具体的には、或る正の閾値Ｔｈを用い、次式を満たす場合に、ＡＢＳ＿ＨＯＲがＡＢＳ＿ＶＥＲよりも十分に小さいと判断する。
ＡＢＳ＿ＨＯＲ−ＡＢＳ＿ＶＥＲ＜Ｔｈ
【００５６】
ステップＳ１２０２の処理を平たく説明するのであれば、着目タイル（図示のＸの位置）近傍では、垂直方向よりも、水平方向に似通った画像が連続しているか否かを判断するものである。従って、ステップＳ１２０２にて、ＡＢＳ＿ＨＯＲ＜＜ＡＢＳ＿ＶＥＲであった場合、処理はステップＳ１２０３に進み、着目ＤＣ成分Ｘの予測値Ｐとして左隣のＤＣ成分Ｌを用いることに決定する。また、ステップＳ１２０２にて、Ｎｏと判断された場合、ステップＳ１２０４に処理を進める。このステップＳ１２０４では、ＡＢＳ＿ＨＯＲ＞＞ＡＢＳ＿ＶＥＲであるか、すなわち、ＡＢＳ＿ＶＥＲがＡＢＳ＿ＨＯＲより十分に小さいか否かを判断する。これは、ステップＳ１２０２と同様であり、次式を満たす場合に、ＡＢＳ＿ＶＥＲがＡＢＳ＿ＨＯＲよりも十分に小さいと判断する。
ＡＢＳ＿ＶＥＲ−ＡＢＳ＿ＨＯＲ＜Ｔｈ
【００５７】
ＡＢＳ＿ＶＥＲ＜＜ＡＢＳ＿ＨＯＲであった場合（ステップＳ１２０４がＹｅｓの場合）、着目ＤＣ成分Ｘと垂直方向に隣に位置するＤＣ成分Ｔとの差が小さくなる確率が高いと言える。従って、処理はステップＳ１２０５に進み、着目ＤＣ成分Ｘの予測値Ｐとして上隣のＤＣ成分Ｔを用いることに決定する。また、ステップＳ１２０４にて、Ｎｏと判断された場合、ステップＳ１２０６に進み、着目ＤＣ成分Ｘの予測値Ｐとして、（Ｔ＋Ｌ）／２を用いることに決定する。なお、（Ｔ＋Ｌ）／２の算出は、Ｔ＋Ｌを算出し、その後で、１ビット下位方向にシフトすることで得られる（小数点以下は切り捨て）。
【００５８】
上記のステップＳ１２０３、１２０５、１２０６のいずれかによって着目ＤＣ成分Ｘの予測値Ｐが求まると、ステップＳ１２０７にて、着目ＤＣ成分Ｘと予測値Ｐとの差分を予測誤差として算出する。この後、処理はステップＳ１２０８に進み、着目タイル内の全ＤＣ成分の予測誤差算出を終えたか否かを判断する。この判断が否（Ｎｏ）の場合には、ステップＳ１２０９にて、着目ＤＣ成分Ｘの位置を次の位置に更新し、ステップＳ１２０１に戻る。以上のようにして、着目タイル内の６×４個のＤＣ成分の予測誤差算出処理が行われる。
【００５９】
（２）ローパス成分（ＡＣＤＣ成分）予測
図１１は、１つのマクロブロックの量子化後のＡＣＤＣ成分値の配列を示している。この配列は、１つのマクロブロックに対して、２回めの周波数変換を行なったＡＣＤＣ成分値（図５参照）でもある。ローパス成分の予測処理の対象となるのは、図１１における｛１，２，３｝で示されるＡＣＤＣ成分か、同図の｛４、８、１２｝で示されるＡＣＤＣ成分のいずれか一方である。例えば、図１１におけるＡＣＤＣ成分｛４，８，１２｝を予測処理すると決定された場合、それ以外の｛１，２，３，５，６，７，９，１０，１１，１３，１４，１５｝の位置のＡＣＤＣ成分は予測誤差算出処理は行なわない。なお、着目マクロブロックが、タイル内の左端や上端の位置にあるとき、参照する着目マクロブロックに隣接するマクロブロックは存在しない。このように参照すべきマクロブロックが存在しない場合、その存在しないマクロブロックでは、｛１、２、３｝を予測誤差算出対象として処理したものと見なす。但し、｛４、８、１２｝を予測誤差算出対象としても構わない。要するに、符号化側と復号側で共通にすればよい。
【００６０】
図１２は、ローパス成分予測処理の処理手順を示すフローチャートである。以下、このフローチャートに従って説明する。ステップＳ１４０１では、着目ブロックの左隣のマクロブロックのＤＣ予測方向が水平方向であり、且つ、着目マクロブロックのＤＣ成分の量子化パラメータＱＰ＿Ｃと、着目マクロブロックの左隣のマクロブロックのＤＣ成分の量子化パラメータＱＰ＿Ｌとが等しいか否かを判断する。この２つの条件を満たす場合（ステップＳ１４０１の判断やＹｅｓ）、着目ブロックの予測方向を水平方向として決定する。すなわち、図１１における｛１，２，３｝を予測誤差算出対象として決定し、それ以外は予測誤差算出対象外にする（ステップＳ１４０２）。そして、ステップＳ１４０５にて、予測誤差算出を行なう。また、ステップＳ１４０１でＮｏと判断された場合、ステップＳ１４０３に処理を進める。このステップＳ１４０３では、着目ブロックの上隣のマクロブロックのＤＣ予測方向が垂直方向であり、且つ、着目マクロブロックのＤＣ成分の量子化パラメータＱＰ＿Ｃと、着目マクロブロックの上隣のマクロブロックのＤＣ成分の量子化パラメータＱＰ＿Ｔとが等しいか否かを判断する。この２つの条件を満たす場合、着目ブロックの予測方向を垂直方向として決定する。すなわち、図１１における｛４，８，１２｝を予測誤差算出対象として決定し、それ以外は予測誤差算出対象外にする（ステップＳ１４０４）。そして、ステップＳ１４０５にて、予測誤差算出を行なう。また、ステップＳ１４０３の判断がＮｏの場合、着目マクロブロック内のＡＣＤＣ成分については予測誤差算出は行なわず、本処理を終える。
【００６１】
（３）ハイパス成分（ＡＣ成分）予測
図１３（ａ）乃至（ｃ）はハイパス成分の予測方向（３通り）を示す図である。ここで言うハイパス成分は、図５における１回めの周波数変換した際に得られた４×４個のブロックの各ＤＣ成分を除いたＡＣ成分である（図５参照）。また、周波数変換した１つのブロックは、１つのＤＣ成分と、１５個のＡＣ成分が得られるが、図示では、このＡＣ成分についてその配列の位置を示すため、１乃至１５の番号を付した。また、ハイパス成分の予測を求める対象は、図１３（ａ）における｛１、２、３｝のＡＣ成分、｛４、８、１２｝のＡＣ成分のいずれかになる。例えば、｛１、２、３｝のＡＣ成分について予測誤差を求めると決定した場合、｛４、５、６、…、１５｝のＡＣ成分は予測誤差算出対象外にする。
【００６２】
図１４は、ハイパス成分の予測処理を示すフローチャートであり、以下、同図に従って説明する。
【００６３】
着目タイルの各ブロックの左端の｛４、８、１２｝の位置のＡＣ成分値のエネルギー値Ｅ＿Ｌと、着目タイルの各ブロックの上端の｛１，２，３｝のエネルギー値Ｅ＿Ｔを求める。着目タイルには、４×４個のブロックが存在する。Ｅ＿Ｌ値は、１６個のブロックの｛４、８、１２｝の位置にあるＡＣ成分の絶対値の合計値で良い。また、Ｅ＿Ｔ値は、１６個のブロックの｛１、２、３｝の位置にあるＡＣ成分の絶対値の合計値で良い。ステップＳ１６０１では、Ｅ＿ＬがＥ＿Ｔに対して十分に小さいか否かを判定する。予め設定された正の閾値Ｔｈを用い、次式を満たすか否かを判定すればよい。
Ｅ＿Ｌ−Ｅ＿Ｔ＜Ｔｈ
【００６４】
Ｅ＿Ｌ＜＜Ｅ＿Ｔであると判断した場合、着目ブロックのＡＣ成分の予測誤差を求める方向は水平方向に決定し、ステップＳ１６０２にて各ブロックの｛４、８、１２｝の位置にあるＡＣ成分を、図１３（ａ）に示す水平方向にスキャンし、予測誤差を求める。
【００６５】
また、ステップＳ１６０１の判定がＮｏの場合、処理はステップＳ１６０５に進み、Ｅ＿ＴがＥ＿Ｌに対して十分に小さいか否かを判定する。上記の閾値Ｔｈを用い、次式を満たすか否かを判定すればよい。
Ｅ＿Ｔ−Ｅ＿Ｌ＜Ｔｈ
【００６６】
ステップＳ１６０５にて、Ｅ＿Ｔ＜＜Ｅ＿Ｌであると判断した場合、着目ブロックのＡＣ成分の予測誤差を求める方向は垂直方向に決定する。そして、ステップＳ１６０４にて各ブロックの｛１、２、３｝の位置にあるＡＣ成分を、図１３（ｂ）に示す水平方向にスキャンし、予測誤差を求める。
【００６７】
また、ステップＳ１６０３の判断がＮｏの場合、着目マクロブロックのＡＣ成分については予測誤差算出は行なわない（図１３（ｃ））。なお、１つのタイルは、実施形態の場合、６×４個のマクロブロックが含まれるので、最終的に出力されるタイル毎の符号化データのヘッダには、各マクロブロックのスキャン方向が水平、垂直、スキャン無しの情報を格納しておく。
【００６８】
以上が係数予測部１０４の処理の説明である。この係数予測部１０４による予測処理の結果、ＤＣ成分、ＡＣＤＣ成分、ＡＣ成分の各予測誤差と、予測誤差を算出しなかった複数の成分値が係数スキャン部１０５に出力される。
【００６９】
係数スキャン部１０５は、１タイル分の上記の情報を格納するバッファを有し、各成分（予測誤差、予測誤差を算出していない成分値）を、ＪＰＥＧ方式の係数スキャンと同様にジグザグスキャンを行い、内部バッファ内に並べ替える。この詳細については、本発明の本質ではないので省略する。
【００７０】
エントロピー符号化部１０６は、係数スキャン部１０５内の内部バッファに並べられた値についてエントロピー符号化を行なう（ハフマン符号語の割り当て処理を行なう）。本実施形態においては、ＤＣ成分については、隣り合うブロック間で差分を取った上で差分値をハフマン符号する。ローパス成分，ハイパス成分についてはジグザグスキャン順に沿って、ゼロランの乱数と非ゼロ係数の組み合わせに対して２次元ハフマン符号化を実施する。２次元ハフマン符号化については、ＪＰＥＧと同様な手法で行うものとする。
【００７１】
１つのタイルのエントロピー符号化を終えると、符号列形成部１０７はエントロピー符号化の結果となる符号化データを並べ変え、先頭にヘッダをつけて符号列を形成する処理を行なう。
【００７２】
実施形態における１タイルの符号列の配列形式は２種類ある。１つは、スペーシャルモード（空間順符号列）であり、もう１つはフリークエンシーモード（解像度順符号列）である。スペーシャルモードは、図１５（ａ）に示したとおり、タイル内においてラスタースキャン順にマクロブロック単位にデータを並べたデータ構造である。１つのマクロブロックのデータは、ＤＣ、ＡＣＤＣ，ＡＣの符号化データの順である。一方、フリークエンシーモードは、図１５（ｂ）に示すように、タイル内の各ＤＣ成分の符号化データを並べ、後続してＡＣＤＣ成分の符号化データ、そして、ＤＣ成分の符号化データの並べる。つまり、低周波から高周波に向かう順に符号化データを並べる。
【００７３】
スペーシャルモードは、オリジナル画像を最初から再現する際に都合の良いフォーマットである。一方、後者、すなわち、フリークエンシーモードは、オリジナルの画像の解像度よりも低い解像度（中間解像度）の画像を再現する場合に都合が良い。すなわち、徐々に解像度をあげて再現する場合に適したものと言える。なお、図１５（ｂ）におけるフリークエンシーモードの符号化データ中の「ＦＬＥＸＢＩＴＳ」について簡単に説明する。各成分値（予測誤差値を含む）は、その成分値を表わす多ビットの或るビット位置を境にし、その上位ビット群と下位ビット群に分ける。上位ビット群は、連続して同じ値になる確率が高いので符号化対象とする。下位ビット群で表わされる値は、連続性が無いので符号化しない。ＦＬＥＸＢＩＴＳは、各成分値（予測誤差値を含む）の下位ビットの未符号化のデータで構成されるものである。
【００７４】
さて、本実施形態では、先に説明した符号列形成情報ＣＦが“２”の場合、フリークエンシーモードに従った順に符号化データを並べて符号系列を生成する。一方、符号列形成情報ＣＦが“１”の場合には、スペーシャルモードに従った符号系列を生成する。かかる点を平たく言えば、符号化対象の画像の解像度が高い（実施形態では、サイズＬ以上）の画像を符号化する場合、その画像を構成している画素が非常に多く、一般的に、ユーザは、それよりも低い解像度の画像を見る（復号する）可能性が高いので、フリークエンシーモードに従った符号列を形成するようにした。一方、サイズＬ未満の場合には、スペーシャルモードに従った符号列を形成するようにした。
【００７５】
なお、フリークエンシーモードとスペーシャルモードを決定する際の閾値として、実施形態では、サイズＬ以上か未満かで決定するものとしたが、サイズＭ以上かそれ未満かとしても構わない。特に、昨今のデジタルカメラは、撮像可能な画素数は増える一方であり、撮影できるサイズも３種類ではなく、４種類以上も備えることになるであろうから、ユーザが閾値となるサイズ（画素数）を設定するようようにしても構わない。いずれにしても、どの解像度以上からスペーシャルモードにするかの設定情報は、不揮発性メモリに保持し、この保持された情報に従って、符号列を形成する。
【００７６】
当業者であれば容易に理解できるように、スペーシャルモードの場合、マクロブロック単位に符号列を形成できるので、符号系列の生成は比較的簡単な処理である。一方、フリークエンシーモードは、タイル全体の符号化が終了しないと、符号列を生成することができないので、その分だけ処理に時間を要する。ただ、後者の方法を取ることで、復号再生の初期段階で縮小画像を表示することができるため、アプリケーションとしての価値を高めることが可能となる。
【００７７】
なお、フリークエンシーモードとスペーシャルモードは、１つの画像について一義的に決まるので、ファイルヘッダに、いずれのモードであるかを示す情報を格納することになる。また、ファイルヘッダには、これ以外にも、ＱＰ，予測方法，ハフマン符号化のテーブルをはじめ、上記の系列変換情報ＳＣ、すなわち、ブロック境界の歪み抑制処理回数も格納されている。また、タイルヘッダには、ＡＣ成分の予測処理におけるスキャン方向を示す情報が格納されることになる。
【００７８】
以上説明したように、撮影する画像のサイズが大きいほど、系列変換部１０２はブロックオーバラップ処理の実行回数（最大２回）を多くする。この結果、中間解像度で再現する画像のブロックノイズが目立つことが無くなり、良好な画像を再現できるようになる。また、撮影する画像のサイズがＬサイズ以上の場合、生成される符号列のデータ構造がフリークエンシーモードとなる。従って、オリジナルの解像度（実施形態では４０００×３０００画素）だけでなく、それより低い中間解像度（実施形態では、１０００×７５０画素、約２５０×１９０画素）の画像を復号可能となる。つまり、オリジナルの解像度を含む、３種類の解像度の画像を、間引きや補間処理といった負荷の大きい処理を介在せずに、符号化データファイルからダイレクトに復号することができる。
【００７９】
［蓄積装置の説明］
次に、図２０を参照し、上記のデジタルカメラで撮像し、符号化された画像データを蓄積する蓄積装置の構成とその処理内容を以下に説明する。この蓄積装置は、ＨＤＤレコーダーのような蓄積デバイスであり、デジタルカメラで撮影し、符号化された画像データファイルを蓄積、管理すると共に、その画像の表示出力機能を合わせ持つものである。蓄積装置は、表示部２５０１、画像圧縮／伸長部２５０２、画像処理部２５０３、出力部２５０４、メモリ２５０５、操作部２５０６、ヘッダ解析操作部２５０７、ＣＰＵ２５０８、ＨＤＤ２５０９、及び、入力部２５１０を有する。ここで、入力部２５１０は、先に説明したデジタルカメラと通信するインタフェース、もしくは、デジタルカメラから抜き出したメモリカードをセットするカードリーダである。そして、この入力部２５１０から入力された画像データはＨＤＤ２５０９に蓄積される。また、操作部２５０６には、各種スイッチや操作ボタンが設けられており、その中に表示倍率指定部２５０６ａが有る。また、画像処理部は、少なくとも設定された変倍率に従った変倍処理を行うものとする。
【００８０】
画像圧縮／伸長部２５０２の伸長部は、図１（ｂ）に示すように、復号情報取得部２１０１、エントロピー復号部２１０２、係数展開部２１０３、係数逆予測部２１０４、逆量子化部２１０５、逆系列変換部２１０６、逆色変換部２１０７を有する。
【００８１】
復号情報取得部２１０１に符号列が入力されると、その符号列中のヘッダ情報を解析し、符号化パラメータ情報を抽出する。この解析処理により、ＦＬＥＸＢＩＴＳ情報、符号列順情報（フリークエンシー／スペーシャル）、量子化パラメータ情報、オーバーラップ処理回数（第１の実施形態における情報ＳＣに相当する）などの符号化条件に関する情報が取得される。また、復号情報取得部２１０１は、復号対象の符号列（ステップＳ２５０３で決定した復号対象符号列）を指定する情報も入力する。そして、この指定された符号列を、後続するエントロピー復号部２１０２に出力する。すなわち、指定された符号列以外はエントロピー復号部２１０２に出力しない。
【００８２】
エントロピー復号部２１０２では、入力した符号列をエントロピー復号を行い、復号結果を係数展開部２１０３へ出力する。係数展開部２１０３では、エンコード時の係数スキャンにより係数の並べ替えが行われているので、その逆を行い、ラスタースキャン順に戻す。係数逆予測部２１０４では、量子化ステップ情報などを基に、エンコード時の予測演算の逆演算を行って量子化インデックス（量子化された係数）を生成する。逆量子化部２１０５では量子化インデックスに対して逆量子化を行って係数を生成し、逆系列変換部２１０６では図３のフローチャートの逆の処理を行って、色変換データを生成する。逆色変換部２１０７では、色変換データに対して逆色変換を行い、復号画像を生成する。
【００８３】
次に、画像圧縮／伸長部２５０２を主とする、ユーザが指定した符号化画像データの復号から表示までの処理を説明する。先に説明したように、歪み抑制処理をスキップすると、解像度感が低下する歪みが発生する。換言すれば、復号後の画像を縮小して表示した場合、仮に歪み抑制処理をスキップしても歪みが見えづらくなると言える。そこで本実施形態では、復号対象の符号化画像データのヘッダ部の系列変換情報ＳＣと、ユーザが設定した変倍率Ｒ（Ｒは１以下の実数）に応じて、画質劣化が目立たない範囲で、可能な限り処理をスキップ（非実行）するものである。
【００８４】
以下、操作部２５０６から画像の復号が指示された（再生が指示された）場合のＣＰＵ２５０８の処理フローを図２１のフローチャートを用いて説明する。
【００８５】
画像の復号指示が発生した場合、ＣＰＵ２５０８は復号対象の符号化画像データをＨＤＤ２５０９からメモリ２５０５へコピーする（ステップＳ２６０１）。その後、表示倍率指定部２５０６ａによる表示倍率（変倍率Ｒ）の指定があるかどうかを判断する（ステップＳ２６０２）。もし表示倍率の指定がなかった場合、変倍率Ｒをデフォルト倍率“１”に設定する（ステップＳ２６０３）。なお、このデフォルトの変倍率はユーザが粗時め設定しても構わない。一方、ユーザが変倍率Ｒを指定した場合には、その指定した倍率が変倍率Ｒとして設定される。この後、ＣＰＵ２５０８は、コピーした符号化画像データのヘッダを解析し、系列変換情報ＳＣをはじめとする復号処理に必要な情報を取得する（ステップＳ２６０４）。そして、符号化画像データのエントロピー復号処理を行い、２ｎｄレベル逆ＰＣＴ処理を実行する直前、言い換えれば、符号化側での２ｎｄレベルＰＣＴ処理（図２２（ａ））の直後のデータを得る（ステップＳ２６０５）。この後、ステップＳ２６０６にて、ヘッダ解析によって得られた系列変換情報ＳＣと設定された変倍率Ｒに基づき、表示用基礎画像データを生成する（この詳細は後述する）。この後、生成された表示用基礎データを、設定された変倍率に従ってリサイズし（ステップＳ２６０７）、そのリサイズ後の画像データを表示部２５０１に表示する（ステップＳ２６０８）。
【００８６】
ここで、ステップＳ２６０６の詳細を図２３、図２４（ａ）乃至（ｃ）に従って説明する。なお、以下に説明する閾値Ｔｈ１乃至Ｔｈ４は、ユーザが操作部を操作して適宜設定可能である。但し、閾値Ｔｈ１＞Ｔｈ２＞Ｔｈ３＞Ｔｈ４の関係にあり、閾値Ｔｈ１は１未満であり、閾値Ｔｈ２は１／４より大きく、閾値Ｔｈ３は１／４より小さく、Ｔｈ４は１／１６より大きいことを条件とする。この関係を示すのが図２３（ａ）である。そして、系列変換情報ＳＣの値別の、変倍率Ｒと閾値に基づく処理内容との対応関係を示すのが図２４（ａ）乃至（ｃ）である。例えば、図２４（ａ）は、系列変換情報ＳＣ＝２の場合の、変倍率に応じた各処理の実行／非実行を示すテーブルである。図２４（ｂ）、（ｃ）は系列変換情報ＳＣ＝１、０の場合のテーブルを示している。ここで、復号画像を生成する際の処理の順序は、図示の左から右に向かう方向であり、２ｎｄレベル逆ＰＣＴ→２ｎｄレベル逆ＰＯＴ→１ｓｔレベル逆ＰＣＴ→１ｓｔレベル逆ＰＯＴ→レベル補正である。また、図示の“○”印がその処理を実行する（非省略）ことを示し、“×”印が非実行（省略＝スキップ）を示している。なお、「レベル補正」処理は、逆ＰＯＴ処理（オーバーラップ処理）を行うとダイナミックレンジが変化するため、逆処理をスキップしてそのまま表示するとダイナミックレンジが不自然な画像が表示される。本発明ではオーバーラップ処理により変化するダイナミックレンジをα倍とし、レベル補正とは係数を１／α倍する処理である。このレベル補正処理を設けることにより、逆ＰＯＴ処理を省略したとしても、不自然な画像が表示されることを緩和させることができる。
【００８７】
符号化装置では、先に説明したように歪み抑制処理（ＰＯＴ処理＝ブロックオーバーラップ処理）を０乃至２回実行できるが、以下では、歪み抑制処理を２回実行した場合（系列変換情報ＳＣ＝２）の例を図２４（ａ）を参照して説明する。なお、ＳＣ＝１、or、０の例は、図２４（ｂ），（ｃ）、並びに、以下の説明から理解できるであろうから、その説明は省略する。
【００８８】
今、ユーザが指定した変倍率Ｒが、オリジナルの解像度に対して、水平、垂直とも１／１６が指定された場合を考察する。実施形態のマクロブロックは図５に示すように、１６×１６画素のサイズであるので、１つのマクロブロック全体の１個のＤＣ成分を、変倍後の画像の１画素として表示すれば良いことになる。従って、この場合、歪み抑制処理を０乃至２回のいずれの回数実行していたとしても（系列変換情報ＳＣが０どのような値であっても）、図２２（ｂ）における２つの逆ＰＣＴ処理（逆周波数変換処理）、２つの逆ＰＯＴ処理（逆歪み抑制処理）は不要と言える。すなわち、エントロピー復号した際に得られたマクロブロックのＤＣ成分を１つの画素の値として扱えば良い。
【００８９】
上記の通りなので、ユーザが指定した変倍率Ｒが１／１６近傍の閾値Ｔｈ４以下であるとき、この場合の表示用画像に利用するのは、ＤＣ成分のみで良く、２つの逆ＰＣＴ処理、及び、２つの逆ＰＯＴ処理は不要と言える。それ故、図示では復号直後の画像のサイズを「ＤＣ解像度」と表現している。
【００９０】
なお、ＣＰＵ２５０８は、得られたＤＣ解像度の画像データと変倍率Ｒｒを画像処理部２５０３に供給し、変倍処理を実行させ、変倍処理後の画像を表示することになる（図２１のステップＳ２６０７）。このときの画像処理部２５０３に設定する変倍率Ｒｒは次式で与えられる。
Ｒｒ＝１６×Ｒ
【００９１】
また、ユーザが指定した変倍率Ｒが１／４であるとき、ＤＣ＋ＡＣＤＣのみを用いてればオリジナルの解像度の１／４の画像を生成することができる。よって、少なくとも図２２（ｂ）にける１ｓｔレベル逆ＰＣＴ、１ｓｔレベル逆ＰＯＴ処理は不要と言える。また、系列変換情報ＳＣ＝１の場合には、２ｎｄレベル逆ＰＯＴも不要とできる。ただし、系列変換情報ＳＣ＝２の場合には、２ｎｄレベル逆ＰＯＴを行うか否かは、変倍率に応じて決定することが望ましい。すなわち、ＤＣＶ＋ＡＣＤＣ成分のみで表示用画像を生成するにしても、その変倍率Ｒが小さい場合には２ｎｄレベル逆ＰＯＴは省いても構わないが、変倍率Ｒがある程度大きな値になる場合には、２ｎｄレベル逆ＰＯＴを行うことが望ましいと言える。従って、ユーザが設定した変倍率Ｒが、１／４近傍の場合（図２４（ａ）ではＴｈ２≧Ｒ＞Ｔｈ３の場合）は、ＤＣ＋ＡＣＤＣ成分で表わされる「ＬＰ解像度」の画像を先ず復元し、その後で、ＣＰＵ２５０８は、ＬＰ解像度の画像データと変倍率Ｒｒを画像処理部２５０３に供給し、変倍処理を実行させる。ここで、画像処理部２５０３に設定する変倍率Ｒｒは次式で与えられる。
Ｒｒ＝４×Ｒ
【００９２】
また、ユーザが設定した変倍率Ｒが閾値Ｔｈ２より大きい場合には、表示する画像の解像度はオリジナルの解像度に近いことになる。それ故、オリジナルのサイズの画像まで復号し、その後で変倍処理する。図示の「フル解像度」という表現はこれに対応する。ただし、変倍率Ｒが閾値Ｔｈ１より大きく、オリジナルの解像度に更に近いサイズが指定された場合、歪み抑止処理（１ｓｔレベル逆ＰＯＴ処理）をスキップしてしまうと、その歪みが目だってしまう。そこで、図示の通り、１stレベル逆ＰＯＴは実行する。また、変倍率Ｒが閾値Ｔｈ１以下で、閾値Ｔｈ２より大きい場合、１ｓｔレベル逆ＰＯＴを省略したとしても、その歪みはかなり目立たない。ただし、良く見ると、若干の不自然さが残る。それゆえ、図示の如く１ｓｔレベル逆ＰＯＴは省略するものの、レベル補正を行うものとした。なお、画像処理部２５０３に設定する変倍率Ｒｒは設定された変倍率Ｒと同じとなる。
【００９３】
以上説明したとおり、本実施形態によると、復号対象の符号化画像データの系列変換情報ＳＣと変倍率Ｒに基づき、画質劣化が目立たない範囲で、幾つかの処理を非実行とする。この結果、ユーザには十分な画質の画像を提供しつつ、且つ、復号処理を高速なものとすることができる。
【００９４】
［第２の実施形態］
第１の実施形態では、符号化時、復号時に、周波数変換（ＰＣＴ処理）を０、１、又は、２回行う処理における方法を説明した。本実施の形態においては周波数変換を、符号化時、及び、復号時に周波数変換を１回行い、ブロックオーバーラップ処理（ＰＯＴ処理）は０回、又は１回行う例を説明する。
【００９５】
本第２の実施形態における装置構成は、上記の点を除き、第１の実施形態と同じである。それ故、以下では異なる点について説明する。本第２の実施形態における蓄積装置では、復号して表示する際の変倍率Ｒの判定は、図２３（ｂ）に示すように１つの閾値Ｔｈ１（図示ではＴｈ１＝１／２）のみとなる。
【００９６】
そして、復号時、ＣＰＵ２５０８は、ユーザが指定した変倍率Ｒが、閾値Ｔｈ１より大きい場合、歪み抑制処理を非実行にしてしまうと、歪みが目立つことになるので、その歪み抑制処理（ブロックオーバーラップ処理）を実行する。ただし、符号化時に歪み抑制処理を行っていない場合には、その逆処理は行なわない。そして、その結果得られた画像を変倍率Ｒにしたがってリサイズし、表示する。
【００９７】
一方、変倍率Ｒが閾値以下の場合には、歪み抑制処理を非実行とする。すなわち、ＰＣＴ処理後のデータを画像データと見立てて、変倍率Ｒにしたがってリサイズし、表示する。ただし、リサイズ処理の直前で、第１の実施形態と同様に、レベル補正処理を実行しても構わない。
【００９８】
以上、本第２の実施形態によれば、第１の実施形態ほど細かい調整はできないものの、ＰＣＴ処理を１回、ＰＯＴ処理を０又は１回の場合であっても、設定した変倍率Ｒが閾値Ｔｈ１以下の場合には、高速な復号画像を表示することができる。
【００９９】
［第３の実施形態］
第２の実施の形態において、１つの閾値Ｔｈ１を設ける方法を示したが、もう一つの閾値Ｔｈ２を設けて、ＤＣ成分を拡大する処理フローを取ってもよい。第２の実施形態において、ＪＰＥＧ２０００などのように１／２ずつ解像度を変化させる場合に合わせて、ｒ＝１／２と固定させてもよい。その場合、１／２の解像度の画像を復号する際には、逆処理ではなくレベル補正処理としてもよい。第２の実施形態において符号化時に必ずブロックオーバーラップ処理を行うことを説明したが、選択機能としても構わない。ブロック状の歪みを抑制するためにブロックオーバーラップ処理を行う方法を示しているが、ブロックをまたがない各種フィルタを用いる方法でも構わない。ダイナミックレンジを補正する方法を示しているが、補正しない方法も本発明の範疇である。例えばビューアが高ダイナミックレンジに対応していれば補正を行わない。またダイナミックレンジが変化しないブロックオーバーラップ処理、もしくはフィルタ処理であれば、そもそも補正は不要である。
【０１００】
以上本発明に係る実施形態を説明したが、上記実施形態で示した各数値はその一例であり、それによって本願発明が限定されるものではない。特に、実施形態では、画像復号装置として蓄積装置に適用する例を説明したが、デジタルカメラ内の復号部に設けても良いし、搭載する装置の種類によって本願発明が限定されるものではない。更に、実施形態における蓄積装置にかかる処理と同様の処理を、コンピュータプログラムでもって実現させても構わない。また、通常、コンピュータプログラムは、ＣＤ−ＲＯＭ等のコンピュータ可読記憶媒体に格納されており、それをコンピュータが有する読取り部（ＣＤ−ＲＯＭドライブ等）にセットし、システムにコピーもしくはインストールすることで実行可能になる。したがって、かかるコンピュータ可読記憶媒体も本発明の範疇にあるのは明らかである。
【図１】
2011004012.tif 000003
【図２】
2011004012.tif 000004
【図３】
2011004012.tif 000005
【図４】
2011004012.tif 000006
【図５】
2011004012.tif 000007
【図６】
2011004012.tif 000008
【図７】
2011004012.tif 000009
【図８】
2011004012.tif 000010
【図９】
2011004012.tif 000011
【図１０】
2011004012.tif 000012
【図１１】
2011004012.tif 000013
【図１２】
2011004012.tif 000014
【図１３】
2011004012.tif 000015
【図１４】
2011004012.tif 000016
【図１５】
2011004012.tif 000017
【図１６】
2011004012.tif 000018
【図１７】
2011004012.tif 000019
【図１８】
2011004012.tif 000020
【図１９】
2011004012.tif 000021
【図２０】
2011004012.tif 000022
【図２１】
2011004012.tif 000023
【図２２】
2011004012.tif 000024
【図２３】
2011004012.tif 000025
【図２４】
2011004012.tif 000026