(57)【要約】      （修正有）【課題】符号化で利用する量子化マトリクスの符号量を抑制した画像符号化装置及び方法を提供する。【解決手段】画像符号化装置において、画像データを予め設定されたサイズの基本ブロックに分割し、予め設定された複数の分割パターンのサブブロックに更に分割し、周波数変換、量子化、エントロピー符号化を行う第１の符号化部１１０と、サブブロックサイズに対応する複数の量子化マトリクスを保持する保持部１０３と、量子化マトリクスを符号化する第２の符号化部１１３と、第１および第２の符号化部で得た符号化データを統合する統合部１１１とを有する。保持部は、基本ブロックの水平、垂直方向のいずれかのサイズと同じサイズを有する量子化マトリクスについて、直流成分の要素の格納位置から予め設定された所定範囲の位置の要素を独立した値として保持し、所定範囲を超える位置では予め設定された個数単位に同じ要素を保持する。【選択図】図１
2020098984.tif 000002
【特許請求の範囲】
【請求項１】
画像データを符号化する画像符号化装置であって、
符号化対象の画像データを予め設定されたサイズの基本ブロックに分割し、当該基本ブロックを、予め設定された複数のサブブロック分割パターンの何れかを用いて１以上のサブブロックに更に分割し、各サブブロック単位に周波数変換、量子化、エントロピー符号化を行う第１の符号化手段と、
該第１の符号化手段で利用する前記サブブロック分割パターンに含まれるサブブロックのサイズに対応する複数の量子化マトリクスを保持する保持手段と、
該保持手段で保持される複数の量子化マトリクスのうちの少なくとも１つを符号化する第２の符号化手段と、
該第２の符号化手段で生成された符号化データと、第１の符号化手段で得た符号化データとを統合する統合手段とを有し、
前記保持手段は、
前記基本ブロックの水平、垂直方向のいずれかのサイズと同じサイズを有する量子化マトリクスについては、直流成分に対応する要素の格納位置から予め設定された所定範囲の位置の要素を独立した値として保持し、前記所定範囲を超える位置では予め設定された個数単位に同じ要素を保持する
ことを特徴とする画像符号化装置。
【請求項２】
前記保持手段は、
水平、垂直方向のいずれか一方が前記基本ブロックのサイズと同じであり、他方が前記基本ブロックのサイズより小さい量子化マトリクスについては、前記直流成分の格納位置を含み、前記基本ブロックと同じサイズとなる方向に隣接する位置の２つの要素を個別に保持し、それ以外の前記同じサイズとなる方向に隣接する２つについて同じ要素を保持し、
水平、垂直方向のいずれも前記基本ブロックのサイズと同じである量子化マトリクスについては、前記直流成分の格納位置を含み、水平、垂直方向に隣接する４つの要素を個別に保持し、それ以外の前記水平、垂直に隣接する４つについて同じ要素を保持する
ことを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記保持手段は、更に、前記基本ブロックの水平、垂直方向とも１／２のサイズの量子化マトリクスを保持し、当該量子化マトリクスについては、個々の位置毎に要素を保持することを特徴とする請求項２に記載の画像符号化装置。
【請求項４】
画像データを符号化する画像符号化装置の制御方法であって、
符号化対象の画像データを予め設定されたサイズの基本ブロックに分割し、当該基本ブロックを、予め設定された複数のサブブロック分割パターンの何れかを用いて１以上のサブブロックに更に分割し、各サブブロック単位に周波数変換、量子化、エントロピー符号化を行う第１の符号化工程と、
該第１の画像符号化工程で利用する前記サブブロック分割パターンに含まれるサブブロックのサイズに対応する複数の量子化マトリクスを保持する保持工程と、
該保持工程で保持される複数の量子化マトリクスのうち少なくとも１つを符号化する第２の符号化工程と、
該第２の符号化工程で生成された符号化データと、第１の符号化工程で得た符号化データとを統合する統合工程とを有し、
前記保持工程は、
前記基本ブロックの水平、垂直方向のいずれかのサイズと同じサイズを有する量子化マトリクスについては、直流成分の要素の格納位置から予め設定された所定範囲の位置の要素を独立した値として保持し、前記所定範囲を超える位置では予め設定された個数単位に同じ要素を保持する
ことを特徴とする画像符号化装置の制御方法。
【請求項５】
請求項１乃至３のいずれか１項に記載の画像符号化装置で生成された符号化データを復号する画像復号装置であって、
符号化データから、量子化マトリクスの符号化データと、画像データの符号化データとを分離する分離手段と、
該分離手段で分離された量子化マトリクスの符号化データを復号し、各サブブロックのサイズに対応する複数の量子化マトリクスを生成し、保持する第１の復号手段と、
前記分離手段で分離された画像データの符号化データを、前記第１の復号手段より得た各サブブロックの量子化マトリクスを用いて復号し、画像データを再生する第２の復号手段と
を有することを特徴とする画像復号装置。
【請求項６】
請求項４に記載の制御方法で生成された符号化データを復号する画像復号装置の制御方法であって、
符号化データから、量子化マトリクスの符号化データと、画像データの符号化データとを分離する分離工程と、
該分離工程で分離された量子化マトリクスの符号化データを復号し、各サブブロックのサイズに対応する複数の量子化マトリクスを生成し、保持する第１の復号工程と、
前記分離工程で分離された画像データの符号化データを、前記第１の復号工程より得た各サブブロックの量子化マトリクスを用いて復号し、画像データを再生する第２の復号工程と
を有することを特徴とする画像復号装置の制御方法。
【請求項７】
コンピュータが読み込み実行することで、前記コンピュータに、請求項４又は６に記載の制御方法の各工程を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の符号化技術に関するものである。
【背景技術】
【０００２】
動画像の圧縮記録の符号化方式として、ＨＥＶＣ（High Efficiency Video Coding）符号化方式（以下、ＨＥＶＣと記す）が知られている。ＨＥＶＣでは符号化効率向上のため、従来のマクロブロック（１６×１６画素）より大きなサイズの基本ブロックが採用された。この大きなサイズの基本ブロックはＣＴＵ（Coding Tree Unit）と呼ばれ、そのサイズは最大６４×６４画素である。ＣＴＵはさらに予測や変換を行う単位となるサブブロックに分割される。
【０００３】
また、ＨＥＶＣにおいては、量子化マトリクスと呼ばれる、直交変換を施した後の係数（以下、直交変換係数と記す）を、周波数成分に応じて重み付けをする処理が用いられている。人間の視覚には劣化が目立ちにくい高周波成分のデータをより削減することで、画質を維持しながら圧縮効率を高めることが可能となっている。特許文献１には、このような量子化マトリクスを符号化する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−３８７５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＨＥＶＣでは、１６×１６画素や３２×３２画素といった、従来の８×８画素の直交変換よりも大きな直交変換が用いられており、またそういった大きな直交変換に対応した量子化マトリクスも用いられている。量子化マトリクスの符号量自体の増大を防ぐため、１６×１６画素の直交変換に対応する２５６個の量子化マトリクスの要素全てを符号化する代わりに、６４個分の要素のみを符号化し、復号側でアップサンプリング処理により拡張する構成としている。また、周波数領域でＤＣ成分に相当する量子化マトリクスの左上端位置にあたる要素は別途符号化される。このためＨＥＶＣにおいては、大きな直交変換を使用した際に、ＤＣ成分以外の周波数成分の量子化処理を細かく制御できないという課題があった。
【０００６】
本発明は上述した課題を解決するためになされたものであり、符号化で利用する量子化マトリクスの符号量を抑制しつつ、画像の符号化を行う技術を提供しようとするものである。
【課題を解決するための手段】
【０００７】
この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
画像データを符号化する画像符号化装置であって、
符号化対象の画像データを予め設定されたサイズの基本ブロックに分割し、当該基本ブロックを、予め設定された複数のサブブロック分割パターンの何れかを用いて１以上のサブブロックに更に分割し、各サブブロック単位に周波数変換、量子化、エントロピー符号化を行う第１の符号化手段と、
該第１の符号化手段で利用する前記サブブロック分割パターンに含まれるサブブロックのサイズに対応する複数の量子化マトリクスを保持する保持手段と、
該保持手段で保持される複数の量子化マトリクスのうちの少なくとも１つを符号化する第２の符号化手段と、
該第２の符号化手段で生成された符号化データと、第１の符号化手段で得た符号化データとを統合する統合手段とを有し、
前記保持手段は、
前記基本ブロックの水平、垂直方向のいずれかのサイズと同じサイズを有する量子化マトリクスについては、直流成分に対応する要素の格納位置から予め設定された所定範囲の位置の要素を独立した値として保持し、前記所定範囲を超える位置では予め設定された個数単位に同じ要素を保持することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、符号化で利用する量子化マトリクスの符号量を抑制しつつ、画像の符号化を行うことが可能になる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態における画像符号化装置のブロック構成図。
【図２】第２の実施形態における画像復号装置のブロック構成図
【図３】第１の実施形態に係る画像符号化装置における画像符号化処理を示すフローチャート。
【図４】第２の実施形態に係る画像復号装置における画像復号処理を示すフローチャート。
【図５】画像符号化装置、復号装置として適用可能なコンピュータのハードウェア構成例を示すブロック図。
【図６】第１の実施形態によって生成されるビットストリーム構造の一例を示す図。
【図７】の実施形態で用いられるサブブロック分割の一例を示す図。
【図８】実施形態で用いられる量子化マトリクスの一例を示す図。
【図９】実施形態で用いられる量子化マトリクスの一例を示す図。
【図１０】実施形態で用いられる量子化マトリクスの要素の走査方法を示す図。
【図１１】実施形態で生成される量子化マトリクスの差分値行列を示す図。
【図１２】量子化マトリクスの差分値の符号化に用いられる符号化テーブルの一例を示す図。
【発明を実施するための形態】
【００１０】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。なお、以下に示す実施形態における構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１１】
［第１の実施形態］
図１は第１の実施形態の画像符号化装置を示すブロック構成図である。画像符号化装置は、以下に説明する構成要素を制御し、装置全体の制御を司る制御部１５０を有する。この制御部１５０は、ＣＰＵ、ＣＰＵが実行するプログラムや各種パラメータ等を記憶しているＲＯＭ、ＣＰＵのワークエリアとして使用されるＲＡＭを含む。なお、ＲＯＭや他の不揮発性記憶装置に格納されたＯＳ（オペレーティングシステム）、プログラム、パラメータをＲＡＭにロードした後に、ＯＳの制御下でプログラムを実行するようにしてもよい。
【００１２】
また、画像符号化装置は、入力端子１０１、ブロック分割部１０２、量子化マトリクス保持部１０３、予測部１０４、変換・量子化部１０５、逆量子化・逆変換部１０６、画像再生部１０７、フレームメモリ１０８、インループフィルタ部１０９、符号化部１１０、統合符号化部１１１、出力端子１１２、及び、量子化マトリクス符号化部１１３を有する。
【００１３】
上記構成において、不図示の画像発生源から画像データ（例えば３０フレーム／秒）が、本装置の入力端子１０１に供給される。なお、画像発生源の種類は問わないが、簡単には撮像部もしくはビデオカメラ、或いは、符号化対象の画像データを記憶するハードディスクや記憶媒体である。
【００１４】
ブロック分割部１０２は、入力端子１０１を介して入力した画像データを複数の基本ブロックに分割し、基本ブロック単位の画像データを後段の予測部１０４に供給する。
【００１５】
量子化マトリクス保持部１０３は、量子化処理で用いる複数種類の量子化マトリクスを保持している。この量子化マトリクスの生成方法の詳細については後述する。
【００１６】
予測部１０４は、ブロック分割部１０２からの基本ブロック単位の画像データを入力し、より小さい複数のサブブロックへの分割法を決定し、各サブブロック単位でフレーム内予測であるイントラ予測や、フレーム間予測であるインター予測などを行い、予測画像データを生成する。さらに、予測部１０４は、サブブロックの画像データと、その予測画像データとの差分である予測誤差データを算出し、供給する。また、予測部１０４は、予測に必要な情報、例えばサブブロック分割に関する情報、予測モードや動きベクトル等の情報も、予測誤差データと併せて出力する。以下ではこの予測に必要な情報を予測情報と呼称する。
【００１７】
変換・量子化部１０５は、予測部１０４から供給された予測誤差データをサブブロック単位で直交変換（周波数変換）して変換係数を得る。そして、変換・量子化部１０５は、着目サブブロックの変換係数を、量子化マトリクス保持部１０３が保持する該当量子化マトリクスを用いて量子化を行い、量子化係数を得る。
【００１８】
逆量子化・逆変換部１０６は、変換・量子化部１０５から入力した量子化係数を、量子化マトリクス保持部１０３が保持する該当量子化マトリクスを用いて逆量子化することいで変換係数を再生し、さらにその変換係数を逆直交変換して予測誤差データを再生する。
【００１９】
画像再生部１０７は、予測部１０４から入力した予測情報に基づいて、フレームメモリ１０８を適宜参照して予測画像データを生成する。そして、画像再生部１０７は、生成した予測画像データと、逆量子化・逆変換部１０６からの予測誤差データとから、再生画像データを生成し、再びフレームメモリ１０８に出力する。
【００２０】
インループフィルタ部１０９は、フレームメモリ１０８に格納された画像再生部１０７からの再生画像データに対し、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行い、フィルタ処理後の画像データを、再びフレームメモリ１０９に格納する。
【００２１】
符号化部１１０は、変換・量子化部１０５から入力した量子化係数および予測部１０４から入力した予測情報を符号化して、符号データを生成し出力する。
【００２２】
量子化マトリクス符号化部１１３は、量子化マトリクス保持部１０３から入力した量子化マトリクスを符号化して、量子化の符号化データを生成し出力する。
【００２３】
統合符号化部１１１は、量子化マトリクス符号化部１１３で符号化された量子化マトリクスの符号化データを用いて、ヘッダ符号データを生成する。さらに統合符号化部１１１は、生成したヘッダ符号データに、符号化部１１０から入力した画像の符号データを結合することでビットストリームを形成し、出力端子１１２を介して外部に出力する。
【００２４】
なお、出力先は特に問わないが、記録媒体などの記憶装置や、ネットワーク上のファイルサーバ等で構わない。
【００２５】
以下、実施形態の画像符号化装置における画像の符号化動作を更に詳しく説明する。
【００２６】
本実施形態では動画像データをフレーム単位に入力する構成とするが、１フレーム分の静止画像データを入力する構成としても構わない。また、本実施形態では、説明を容易にするため、イントラ予測符号化の処理のみを説明するが、これに限定されずインター予測符号化の処理においても適用可能である。さらに本実施形態では説明のため、ブロック分割部１０１においては１フレームの画像を分割する基本ブロックのサイズを水平１６画素×垂直１６画素（以下、単に１６×１６画素と表記する）として説明するが、これはあくまで例示であり、他のサイズであっても構わない。
【００２７】
画像の符号化に先立ち、量子化マトリクスの符号化が行われる。
【００２８】
最初に、量子化マトリクス保持部１０３は、符号化で利用する複数のサイズのサブブロックに応じた、複数の量子化マトリクスを生成し、保持する。図８（ａ）の参照符号８００が示す太枠は、８×８画素のサイズに対応する量子化マトリクスの一例であり、マトリクス内の値はその要素を示している。量子化マトリクス８００の左上隅の０行０列の要素がＤＣ成分（直流成分）の変換係数に対応しており、それ以外の要素はＡＣ成分（交流成分）の変換係数にそれぞれ対応している。この量子化マトリクスを構成する各要素の決定方法は特に限定しない。例えば、所定の初期値を用いても良いし、個別に設定しても良い。また、画像の特性に応じて生成されても構わない。
【００２９】
同様に、量子化マトリクス保持部１０３は、他のサブブロックのサイズに応じた量子化マトリクスも生成する。図８（ｂ）は、本実施形態における１６×８画素の直交変換に対応する量子化マトリクスである。ＤＣ成分に対応する０行０列の要素は“４”、その右隣の０行１列の要素は“５”といった個別の値が設定されている。図８（ｂ）の量子化マトリクスの０行１列の要素は、図８（ｂ）の量子化マトリクスに対応するサブブロックの形状において最も低周波であると推定されるＡＣ成分の変換係数に対応する要素である。一方、残りの要素は符号量削減のため、水平方向に隣接する２つの要素に対して１つの値が設定されるような構成となっている。例えば、０行２列および０行３列の要素には“９”という同じ値が設定され、同様に１行２列および１行３列の要素には“１０”という同じ値が設定されている。
【００３０】
図８（ｃ）は、本実施形態における８×１６画素の直交変換に対応する量子化マトリクスである。ＤＣ成分に対応する０行０列の要素は“４”、その下の１行０列の要素は“５”といった個別の値が設定されている。図８（ｃ）の量子化マトリクスの１行０列の要素は、図８（ｃ）の量子化マトリクスに対応するサブブロックの形状において最も低周波であると推定されるＡＣ成分の変換係数に対応する要素である。一方、残りの要素は符号量削減のため、垂直方向に隣接する２つの要素に対して１つの値が設定されるような構成となっている。例えば、２行０列および３行０列の要素には“９”という同じ値が設定され、同様に２行１列および３行１列の要素には“１０”という同じ値が設定されている。
【００３１】
図８（ｄ）は、本実施形態における１６×１６画素の直交変換に対応する量子化マトリクスである。ＤＣ成分に対応する０行０列の要素は“４”、その右隣の１行０列および直下の０行１列の要素は“５”、右下の１行１列の要素は“６”といった個別の値がＤＣ成分に隣接したＡＣ成分に対応する要素として設定されている。一方、残りの要素は符号量削減のため、水平及び垂直に隣接する２×２の４つの要素に対して１つの値が設定されるような構成となっている。
【００３２】
上記のごとく、量子化マトリクス内のＤＣ成分に対応する要素と、その付近の複数の低周波成分に対応する要素は個別の値を設定し、残りの要素には複数の要素単位で値を設定することで、量子化マトリクスの符号量が削減され易くなり、且つ、人間の視覚が敏感な低周波部分の量子化を細かく制御することができる。
【００３３】
量子化マトリクス保持部１０３は、このようにして生成された量子化マトリクスが保持されている。本実施形態では、図８（ａ）〜（ｄ）に示された四種の量子化マトリクスが二次元の形状で保持されているものとするが、量子化マトリクス内の各要素はもちろんこれに限定されない。また、後述の予測方法、例えばイントラ予測を用いるかインター予測を用いるかによって、あるいは符号化対象が輝度ブロックか色差ブロックかによって、同じ大きさの直交変換に対して複数の量子化マトリクスを保持することも可能である。一般的に、人間の視覚特性に応じた量子化処理を実現するため、図８（ａ）〜（ｄ）に示すように量子化マトリクスの左上部分に相当する低周波部分の要素は小さく、右下部分に相当する高周波部分の要素は大きくなっている。
【００３４】
量子化マトリクス符号化部１１３は、二次元形状で格納されている量子化マトリクスを量子化マトリクス保持部１０６から順に読み出し、各要素を走査して差分を計算し、一次元の行列を生成する。本実施形態では、図８（ａ）〜（ｄ）に示された各量子化マトリクスが符号化されることになる。具体的には、量子化マトリクス符号化部１１３は、まず図８（ａ）に示された量子化マトリクスについては、図１０（ａ）に示された矢印に沿った走査方法を用い、要素ごとに走査順に隣り合う要素との差分を計算していく。例えば図８（ａ）で示された８×８画素分の量子化マトリクスは図１０（ａ）で示された対角線スキャンによって走査されるが、左上隅に位置する最初の要素“４”の次はそのすぐ下に位置する要素“９”が走査され、差分である＋５が計算される。また、量子化マトリクスの最初の要素（本実施形態では“４”）の符号化には、所定の初期値（例えば“８”）との差分を計算するものとするが、もちろんこれに限定されず、任意の値との差分や、最初の要素の値そのものを用いても良い。
【００３５】
同様に、量子化マトリクス符号化部１１３は、図８（ｂ）に示された量子化マトリクスについては、図１０（ｂ）に示される矢印に沿った走査方法を用い、要素ごとに走査順に直前の要素との差分を計算するものとする。例えば図８（ｂ）に示された１６×８画素分の量子化マトリクスは図１０（ｂ）に示された走査方法によって走査されるが、左上端に位置する最初の要素「４」の次はそのすぐ右に位置する要素「５」が走査され、差分である＋１が符号化される。次にその下に位置する要素「９」が走査され、差分である＋４が符号化される。
【００３６】
図８（ｃ）においても同様であり、図８（ｃ）に示された８×１６画素分の量子化マトリクスは図１０（ｃ）に示された走査方法によって走査される。左上端に位置する最初の要素「４」の次はそのすぐ下に位置する要素「５」が走査され、差分である＋１が符号化される。そしてその下に位置する要素「９」が走査され、差分である＋４が符号化される。
【００３７】
図８（ｄ）に示された１６×１６画素分の量子化マトリクスにおいては、図１０（ｄ）に示された走査方法によって走査される。左上端に位置する最初の要素４の次は、そのすぐ下に位置する要素５が走査され、差分である＋１が符号化される。次に左上端の右隣に位置する要素５が走査され、差分である０が符号化される。そして、その下に位置する要素６が走査され、差分である＋１が符号化される。
【００３８】
このようにして、本実施形態では、図８（ａ）〜（ｄ）の量子化マトリクスは、それぞれ図１０（ａ）〜（ｄ）の走査方法を用い、図１１（ａ）〜（ｄ）に示される一次元の差分行列が生成される。量子化マトリクス符号化部１１３はさらに前記差分行列を符号化して量子化マトリクス符号データを生成する。本実施形態では図１２（ａ）に示される符号化テーブルを用いて符号化するものとするが、符号化テーブルはこれに限定されず、例えば図１２（ｂ）に示される符号化テーブルを用いても良い。このようにして生成された量子化マトリクス符号データは後段の統合符号化部１１１に供給される。
【００３９】
図１に戻り、統合符号化部１１１は、画像データの符号化に必要なヘッダ情報を符号化し、量子化マトリクスの符号データを統合する。続いて、画像データの符号化を説明する。
【００４０】
ブロック分割部１０２は、入力端子１０１から入力された１フレーム分の画像データを、複数の基本ブロックに分割し、基本ブロック単位の画像データを予測部１０４に供給する。先に説明したように本実施形態での基本ブロックのサイズは１６×１６画素である。
【００４１】
予測部１０４は、ブロック分割部１０２から入力された基本ブロック単位の画像データに対し予測処理を実行する。具体的には、予測部１０４は、基本ブロックをさらに細かいサブブロックに分割するサブブロック分割法を決定し、さらにサブブロック単位で水平予測や垂直予測などのイントラ予測モードを決定する。なお、サブブロック分割法は、直前のフレームの符号化データ量等から決定するものとする。
【００４２】
図７（ａ）乃至（ｄ）はサブブロック分割パターンの例を示している。同図の外側の太枠を示す参照符号７００が基本ブロックを表しており、実施形態の場合は１６×１６画素のサイズである。そして、太枠内の矩形がサブブロックを表している。図７（ｂ）は従来の正方形サブブロック分割の一例を表しており、１６×１６画素の基本ブロックは、８×８画素サイズの４つのサブブロックに分割されている。一方、図７（ｃ）、（ｄ）は長方形サブブロック分割の一例を表しており、図７（ｃ）では基本ブロックが８×１６画素の縦長の２つのサブブロックに、図７（ｄ）では１６×８画素の横長の２つのサブブロックに分割されている。
【００４３】
本実施形態では、１６×１６画素の基本ブロックを、分割しない（図７（ａ））、垂直方向に長手の２つのサブブロックに分割する（図７（ｃ））、水平方向に長手の２つのサブブロックに分割する（図７（ｄ））、及び、四分木分割する（図７（ｂ））のいずれかが決定されるものとする。ただし、サブブロック分割方法はこれに限定されない。図７（ｅ）、（ｆ）のように１：２：１の比で分割する三分木分割を用いても構わない。
【００４４】
決定したイントラ予測モードおよび符号化済の画素から予測画像データが生成される。そして、予測部１０４は、サブブロック単位に、入力された画像データと、生成した予測画像データとの差分である予測誤差データを生成し、その予測誤差データを変換・量子化部１０５に供給する。また、サブブロック分割やイントラ予測モードなどの情報は予測情報として、符号化部１１０、画像再生部１０７に供給される。
【００４５】
変換・量子化部１０５では、入力された予測誤差データに対して直交変換・量子化を行い、量子化係数を生成する。具体的には、変換・量子化部１０５は、まず、サブブロックのサイズに対応した直交変換処理を施し、直交変換係数を生成する。そして、変換・量子化部１０５は、サブブロック単位に、直交変換係数を量子化マトリクス保持部１０３に格納されている、対応するサイズの量子化マトリクスを用いて量子化し、量子化係数を生成する。本実施形態では、図７（ａ）に対応した１６×１６画素のサブブロック分割に対しては図８（ｄ）の量子化マトリクスが用いられるものとする。同様にして、図７（ｃ）の８×１６画素のサブブロック分割に対しては図８（ｃ）、図７（ｄ）の１６×８のサブブロック分割に対しては図８（ｂ）の量子化マトリクスが用いられるものとする。また、図７（ｂ）に示す、垂直、水平とも基本ブロックの１／２のサイズのサブブロック分割（四分木分割）には、図８（ａ）で示される量子化マトリクスが用いられるものとする。変換・量子化部１０５は、生成された量子化係数（量子化後の変換係数）を符号化部１１０および逆量子化・逆変換部１０６に供給する。
【００４６】
逆量子化・逆変換部１０６は、サブブロック単位に、入力された量子化係数を、量子化マトリクス保持部１０３に格納されている、対応する量子化マトリクスを用いて逆量子化することで、変換係数を再生する。そして、逆量子化・逆変換部１０６は、サブブロック単位に、再生された変換係数を逆直交変換して予測誤差データを再生し、再生された予測誤差データを画像再生部１０７に供給する。
【００４７】
画像再生部１０７は、サブブロック単位に、予測部１０４から入力される予測情報に基づいて、フレームメモリ１０８を適宜参照し、予測画像データを再生する。画像再生部１０７は、サブブロック単位に、再生された予測画像データと、逆量子化・逆変換部１０６から入力した予測誤差データとを加算することで、サブブロックの画像データを再生し、再生した画像データをフレームメモリ１０８に格納する。
【００４８】
インループフィルタ部１０９は、サブブロック単位に、フレームメモリ１０８から再生画像データを読み出し、デブロッキングフィルタなどのインループフィルタ処理を行う。そして、インループフィルタ部１０９は、フィルタ処理された画像データをフレームメモリ１０８に再格納する。
【００４９】
符号化部１１０は、サブブロック単位に、変換・量子化部１０５で生成された量子化係数、予測部１０４から入力された予測情報をエントロピー符号化し、符号データを生成する。エントロピー符号化の方法は特に問わないが、ゴロム符号化、算術符号化、ハフマン符号化などを用いることができる。生成された符号データは統合符号化部１１１に供給される。
【００５０】
統合符号化部１１１では、前述のヘッダの符号データとともに符号化部１１０から入力された符号データなどを多重化してビットストリームを形成する。最終的には、ビットストリームは端子１１２から外部に出力される。
【００５１】
図６（ａ）は第１の実施形態で出力されるビットストリームのデータ構造例を示している。シーケンスヘッダに図８（ａ）〜（ｄ）の各量子化マトリクスに対応する符号データが含まれ、各要素の符号化結果で構成されている。ただし、符号化される位置はこれに限定されず、ピクチャヘッダ部やその他のヘッダ部に符号化される構成をとってももちろん構わない。また、１つのシーケンスの中で量子化マトリクスの変更を行う場合、量子化マトリクスを新たに符号化することで更新することも可能である。この際、全ての量子化マトリクスを書き換えても良いし、書き換える量子化マトリクスの変換ブロックサイズを指定することでその一部を変更するようにすることも可能である。
【００５２】
以下、第１の実施形態に係る画像符号化装置における１フレームの符号化処理の処理手順を図３のフローチャートを参照して説明する。なお、以下の説明における各工程は、その主体が制御部１５０による制御下にてそれぞれの処理を実行するものとする。
【００５３】
まず、画像の符号化に先立ち、Ｓ３０１にて、量子化マトリクス保持部１０３は、量子化マトリクスを生成し、保持する。本実施形態では、量子化マトリクス保持部１０３は図８（ａ）〜（ｄ）に示された４種類の量子化マトリクスを生成し、保持するものとする。
【００５４】
Ｓ３０２にて、量子化マトリクス符号化部１１３は、Ｓ３０１にて生成・保持された量子化マトリクスを走査して各要素の差分を算出し、１次元の差分行列を生成する。本実施形態では、量子化マトリクス符号化部１１３は、図８（ａ）〜（ｄ）の量子化マトリクスを、図１０（ａ）〜（ｄ）の走査順に沿って、連続する２つの要素の差分値を求めていき、図１１（ａ）〜（ｄ）に示される差分値の１次元行列を生成する。そして、量子化マトリクス符号化部１１３は、生成された行列における個々の差分値を、図１２（ａ）（又は図１２（ｂ））に示す符号化テーブルを参照して二進符号を生成し、符号化データを生成していく。
【００５５】
Ｓ３０３にて、統合符号化部１１１は、生成された量子化マトリクス符号データとともに、画像データの符号化に必要なヘッダ情報を生成し、出力する。
【００５６】
Ｓ３０４にて、ブロック分割部１０２は、フレーム単位の入力画像を基本ブロック単位に分割する。そして、Ｓ３０５にて、予測部１０４は、Ｓ３０４にて生成された１つの基本ブロックの画像データを入力し、サブブロックへの変換を行う。そして、予測部１０４は、各サブブロックについての予測処理を実行し、サブブロック分割情報やイントラ予測モードなどの予測情報および予測画像データを生成する。そして、予測部１０４は、各サブブロックの画像データとその予測画像データから予測誤差データを算出する。
【００５７】
Ｓ３０６にて、変換・量子化部１０５は、Ｓ３０５で算出された各サブブロックの予測誤差データそれぞれを直交変換して変換係数を生成する。更に、変換・量子化部１０５は、Ｓ３０１にて生成・保持された量子化マトリクスを用いて、各サブブロックの予測誤差データを量子化し、量子化係数を生成する。本実施形態では、図７（ａ）に対応したサブブロック分割に対しては図８（ｄ）の量子化マトリクスが用いられるものとする。同様にして、図７（ｃ）のサブブロック分割に対しては図８（ｃ）、図７（ｄ）のサブブロック分割に対しては図８（ｂ）の量子化マトリクスが用いられるものとする。さらに、図７（ｂ）のように四分木分割されたサブブロックに対しては図８（ａ）に示される量子化マトリクスが用いられるものとする。
【００５８】
Ｓ３０７にて、逆量子化・逆変換部１０６は、Ｓ３０５で生成された各サブブロックの量子化係数を、Ｓ３０１にて生成・保持された量子化マトリクスを用いて逆量子化を行い、変換係数を再生する。そして、逆量子化・逆変換部１０６は、さらに、各サブブロックの変換係数に対して逆直交変換し、サブブロック毎の予測誤差データを再生する。
【００５９】
Ｓ３０８にて、画像再生部１０７は、Ｓ３０５で生成された予測情報に基づいて、サブブロックごとの予測画像データを再生する。画像再生部１０７は、さらに再生された各サブブロックの予測画像データに、Ｓ３０７で生成された対応するサブブロックの予測誤差データを加算することで、サブブロック毎の画像データを再生する。
【００６０】
Ｓ３０９にて、符号化部１１０は、サブブロックごとに、Ｓ３０５で生成された予測情報、および、Ｓ３０６で生成された量子化係数を符号化し、符号データを生成する。また、他の符号データも含め、ビットストリームを生成する。
【００６１】
Ｓ３１０にて、制御部１５０は、フレーム内の全ての基本ブロックの符号化が終了したか否かの判定を行い、終了していればＳ３１１に進み、そうでなければ次の基本ブロックを対象とする符号化を行うため、処理をＳ３０５に戻す。
【００６２】
Ｓ３１１にて、インループフィルタ部１０９は、Ｓ３０８で再生された画像データに対し、インループフィルタ処理を行い、フィルタ処理された画像を生成し、処理を終了する。
【００６３】
上記の処理において、動画像の２つ目以降のフレームの符号化を行う場合には、Ｓ３０４乃至S３１１を、符号化すべき最後のフレームの入力まで繰り返すことになる。
【００６４】
以上の構成と動作により、特にＳ３０２において量子化マトリクスの初め所定数の要素（ＤＣ成分用の要素及びそれに隣接する比較的低周波成分用の要素）については個別に符号化し、残りの要素を複数の要素単位で符号化することで、量子化マトリクスの符号量を削減することができる。さらに、人間の視覚が敏感な低周波部分の量子化を細かく制御することもできる。
【００６５】
なお、本実施形態では、図８（ａ）〜（ｄ）の４種類の量子化マトリクス全てを符号化する構成としたが、４種類の量子化マトリクスを独立して符号化する代わりに、復号側の装置において、他の量子化マトリクスを用いて当該量子化マトリクスを生成する構成としても構わない。例えば、１６×８の量子化マトリクス自体を符号化せずに、符号化された１６×１６の量子化マトリクスを用いて生成する構成とした場合、復号側の装置において、図８（ｄ）の量子化マトリクスから一部の要素を間引き図８（ｂ）の量子化マトリクスを生成することとなる。同様に、復号側の装置において、図８（ｄ）の量子化マトリクスから一部の要素を間引いて図８（ｃ）の量子化マトリクスを生成することも可能である。また、図８（ｂ）の０行１列の要素「５」や図８（ｃ）の１行０列の要素「５」の算出方法を符号化側および復号側の装置間において定めておけば、図８（ａ）の量子化マトリクスを用いて図８（ｂ）や図８（ｃ）の量子化マトリクスを生成することも可能である。この場合の算出方法は特に限定されず、０行０列の要素「４」に特定の差分値（本実施形態では＋１）を加算して算出しても良いし、周辺の要素との補間を用いて算出しても良い。なお、図８（ｃ）については、変換係数のＤＣ成分に対応する要素の右側および下側の要素については、ＤＣ成分に対応する要素に＋１を加え、右下の要素については＋２を加えている。
【００６６】
また、１６×１６の量子化マトリクスの要素とともに、図８（ｂ）の０行１列の要素「５」や図８（ｃ）の１行０列の要素「５」自体を符号化してもよい。
【００６７】
これにより、量子化マトリクスの符号量をさらに削減したビットストリームを符号化することができる。
【００６８】
さらには、量子化マトリクスごとに別の量子化マトリクスから生成するか、各要素を符号化するかを選択し、識別子をヘッダ内に符号化する構成としても構わない。例えば、量子化マトリクスの各要素を他の量子化マトリクスから生成するか、個別に符号化するかを示す情報を、量子化マトリクス符号化方法情報符号としてヘッダ部分に符号化し、図６（ｂ）に示されるビットストリームを生成する構成としても良い。これにより、サブブロックの大きさに応じた画質制御を優先したビットストリームか、量子化マトリクスの符号量がより少ないビットストリームかを選択的に生成することができる。
【００６９】
また本実施形態では、図７（ａ）〜図７（ｄ）のサブブロック分割・直交変換に対応する図８（ａ）〜図８（ｄ）の量子化マトリクスが用いられる構成としたが、使用される直交変換サイズや量子化マトリクスはこれに限定されない。例えば、図７（ｅ）、（ｆ）のように１：２：１の比で分割する三分木分割がさらに用いられた場合、図９（ａ）、（ｂ）の量子化マトリクスをさらに用いる構成としても構わない。
【００７０】
以上の説明したように、実施形態における量子化マトリクス保持部１０３は、基本ブロック（実施形態では１６×１６のサイズ）の水平、垂直方向のいずれかの一方のみが同じサイズを有し、他方が異なる図８（ｂ）、（ｃ）に示すような量子化マトリクスの長辺方向については、直流成分に対応する要素の格納位置から予め設定された所定範囲（実施形態では距離“１”の範囲）では、各変換係数に対応する位置毎の要素を独立して保持し、長辺方向における所定範囲を超える位置では、変換係数の予め設定された個数単位（実施形態では２個）に同じ要素を保持する。一方、図８（ｂ）、（ｃ）に示すような量子化マトリクスの短辺方向については、変換係数ごとに量子化マトリクスの要素が配置される。
【００７１】
そして、水平、垂直方向のいずれも基本ブロックのサイズと同じサイズである量子化マトリクスについては、図８に示すように、直流成分に対応する要素の位置およびその位置に対して、右、下、右下に隣接する４つの要素（実施形態では距離“１”の範囲）を対応する変換係数ごとに個別に保持する。そして、それ以外の変換係数ついては、互いに隣接する４つの変換係数ごとに１つの同じ要素を保持する。そして、図８（ａ）に示すような８ｘ８のサイズの量子化マトリクスの場合、変換係数ごとに要素を保持することになる。
【００７２】
このように量子化マトリクスのサイズに従って、変換係数に対する要素の割り当てを適応的に変えているため、量子化マトリクスの符号量を抑制でき、且つ、画質劣化を抑制できるようになる。
【００７３】
なお、量子化マトリクスの要素を符号化する際の図１０に示すような走査順に基づいて「所定範囲」を定義してもよい。８ｘ１６あるいは１６ｘ８の変換係数のブロックサイズブロックサイズついては、図１０（ｂ）（ｃ）の走査が量子化マトリクスの要素の符号化/復号のために行われることになる。この際、以降に記載される復号装置の処理において、変換係数のＤＣ成分に対応する要素から１走査（距離“１”の範囲）して得られる要素を変換係数ごとに割り当てを行い、それ以降は２つの変換係数ごとに１つの要素が割り当てられることになる。すなわち、図８（ｂ）（ｃ）に示すような量子化マトリクスが復号装置の処理において得られることになる。また、１６ｘ１６の変換係数のブロックサイズの場合、変換係数のＤＣ成分に対応する要素から３走査（距離“３”の範囲）して得られる要素を変換係数ごとに割り当てを行い、それ以降は４つの変換係数ごとに１つの要素が割り当てられることになる。すなわち、図８（ｄ）に示すような量子化マトリクスが得られることになる。また、８ｘ８の変換係数のブロックサイズの場合、変換係数のＤＣ成分に対応する要素から全ての走査によって得られる要素が変換係数ごとに割り当てられることになる。すなわち、図８（ａ）に示すような量子化マトリクスが復号装置の処理において得られることになる。このように、量子化マトリクスに対する走査に基づいて、量子化マトリクスのサイズついて適応的に変換係数に対する要素の割り当てを変えてもよい。この場合、要素間の位置関係を特別に考慮する必要がなくなる。
【００７４】
［第２の実施形態］
第２の実施形態では、上記第１の実施形態の画像符号化装置で生成された符号化データを復号する画像復号装置を説明する。図２は、その画像復号装置のブロック構成図である。
【００７５】
画像復号装置は、以下に説明する構成要素を制御し、装置全体の制御を司る制御部２５０を有する。この制御部２５０は、ＣＰＵ、ＣＰＵが実行するプログラムや各種パラメータ等を記憶しているＲＯＭ、ＣＰＵのワークエリアとして使用されるＲＡＭを含む。なお、ＲＯＭや他の不揮発性記憶装置に格納されたＯＳ（オペレーティングシステム）、プログラム、パラメータをＲＡＭにロードした後に、ＯＳの制御下でプログラムを実行するようにしてもよい。
【００７６】
また、画像復号装置は、入力端子２０１、分離復号部２０２、復号部２０３、逆量子化・逆変換部２０４、画像再生部２０５、フレームメモリ２０６、インループフィルタ部２０７、出力端子２０８、及び、量子化マトリクス復号部２０９を有する。
【００７７】
上記画像復号装置の構成における画像復号装置の構成とその動作を以下に説明する。なお、画像復号装置は、先に説明した画像符号化装置が生成したビットストリームをフレーム単位で入力する構成となっているが、１フレーム分の静止画像ビットストリームを入力する構成としても構わない。また、本第２の実施形態では説明を容易にするため、イントラ予測復号処理のみを説明するが、これに限定されずインター予測復号処理においても適用可能である。
【００７８】
分離復号部２０２は、入力端子２０１を介して符号化ビットストリームを入力し、ビットストリームから復号処理に関する情報や係数に関する符号データに分離し、またビットストリームのヘッダ部に存在する符号データを復号する。本実施形態の分離復号部２０２は、符号化ビットストリームから量子化マトリクスの符号化データを分離し、その符号化データを量子化マトリクス復号部２０９に供給する。また、分離復号部２０２は、符号化ビットストリームから画像データの符号化データを分離し、復号部２０３に供給する。要するに、分離復号部２０２は、図１の統合符号化部１１１と逆の動作を行う。
【００７９】
量子化マトリクス復号部２０９は、分離復号部２０２から供給された量子化マトリクスの符号化データを復号し、量子化マトリクスを再生、保持する。
【００８０】
復号部２０３は、分離復号部２０２から入力した画像データの符号データを復号し、量子化係数および予測情報を再生する。
【００８１】
逆量子化・逆変換部２０４は、図１の逆量子化・逆変換部１０６と同様、再生された量子化マトリクスを用いて量子化係数に逆量子化を行って変換係数を得、さらに逆直交変換を行い、予測誤差データを再生する。
【００８２】
画像再生部２０５は、入力された予測情報に基づいてフレームメモリ２０６を適宜参照して予測画像データを生成する。そして、画像再生部２０５は、この予測画像データに、逆量子化・逆変換部２０４で再生された予測誤差データを加算することで、画像データを再生し、フレームメモリ２０６に格納する。
【００８３】
インループフィルタ部２０７は、図１のインループフィルタ部１０９と同様、フレームメモリ２０７に格納された再生画像データに対し、デブロッキングフィルタなどのインループフィルタ処理を行い、フィルタ処理された画像データをフレームメモリに再格納する。そして、出力端子２０８は、再生された画像データを外部装置（例えば表示装置）に出力する。
【００８４】
次に、図２の画像復号装置における各構成要素の動作を更に詳しく説明する。
【００８５】
本第２の実施形態では、第１の実施形態で生成されたビットストリームをフレーム単位で入力する構成となっているが、１フレーム分の静止画像ビットストリームを入力する構成としても構わない。また、本実施形態では説明を容易にするため、イントラ予測復号処理のみを説明するが、これに限定されずインター予測復号処理においても適用可能である。
【００８６】
入力端子２０１を介して入力された１フレーム分のビットストリームは分離復号部２０２に供給される。分離復号部２０２は、ビットストリームから復号処理に関する情報や係数に関する符号データに分離し、ビットストリームのヘッダ部に存在する符号データを復号する。より具体的には、分離復号部２０２は、量子化マトリクスの符号データを再生する。本実施形態の分離復号部２０２は、まず、図６（ａ）に示されるビットストリームのシーケンスヘッダから量子化マトリクスの符号データを抽出し、量子化マトリクス復号部２０９に供給する。分離復号部２０２は、続いて、ピクチャデータの基本ブロックのサブブロック単位の符号データを再生し、復号部２０３に供給する。
【００８７】
量子化マトリクス復号部２０９は、まず入力された量子化マトリクスの符号データを復号し、一次元の差分行列を再生する。本実施形態では、第１の実施形態と同様、図１２（ａ）（又は同図（ｂ））に示される符号化テーブルを用いて復号するものとするが、符号化テーブルはこれに限定されず、第１の実施形態と同じものを用いる限りは他の符号化テーブルを用いても良い。さらに量子化マトリクス復号部２０９は、再生された一次元の差分行列を逆走査し、二次元の量子化マトリクスを再生する。ここでは第１の実施形態の量子化マトリクス符号化部１１３の走査とは逆の動作を行う。すなわち、本実施形態の量子化マトリクス復号部２０９は、図１１（ａ）〜（ｄ）に示される差分行列はそれぞれ、図１０（ａ）〜（ｄ）に示される走査方法を用いて、図８（ａ）〜（ｄ）に示される量子化マトリクスを再生し、保持する。
【００８８】
本実施形態での具体的な量子化マトリクスの復号処理を、図８（ｂ）の１６×８の量子化マトリクスの復号処理を例にとって説明する。量子化マトリクス復号部２０９は、図１１（ｂ）に示された差分行列は図１０（ｂ）に示される走査方法を用いて、図８（ｂ）に示される量子化マトリクスを再生する。量子化マトリクス復号部２０９は、初期値である“８”と、図１１（ｂ）の最初の差分値“−４”から、最初の要素である「４」を算出し、図１０（ｂ）の最初の走査位置である０行０列の位置の要素の値“４”を決定し、図８（ｂ）の０行０列の部分に要素“４”を配置する。次に、量子化マトリクス復号部２０９は、図８（ｂ）の０行０列の要素“４”と、図１１（ｂ）の二番目の差分値“１”から二番目の要素である“５”を算出し、図１０（ｂ）の２番目の走査位置である０行１列の部分に“５”を配置する。同様にして、図８（ｂ）の０行１列の要素“５”と図１０（ｂ）の三番目の差分値“４”から三番目の要素である“９”を算出し、図９（ｂ）の３番目の走査位置である１行０列および１行１列の部分に“９”を配置する。同様の処理を繰り返し、図８（ｂ）に示される量子化マトリクスを再生する。
【００８９】
こうして、量子化マトリクスの低周波成分に対応する複数の要素に個別の値を配置し、残りの要素には複数の要素単位で値を配置することで、符号量を削減しつつ、人間の視覚が敏感な低周波部分の量子化を細かく制御したビットストリームを復号することができる。
【００９０】
図２に戻り、復号部２０３は、基本ブロック内の各サブブロックの符号データを復号し、量子化係数および予測情報を再生する。復号部２０３は、再生された量子化係数を逆量子化・逆変換部２０４に、再生された予測情報を画像再生部２０５にそれぞれ供給する。
【００９１】
逆量子化・逆変換部２０４は、サブブロック単位に、入力した量子化係数に対し、量子化マトリクス復号部２０９で再生、保持している量子化マトリクスを用いて逆量子化を行い、直交変換係数を生成する。逆量子化・逆変換部２０４は更に、サブブロック単位に、生成した直交変換係数に対して逆直交変換を施して予測誤差データを再生し、画像再生部２０５に供給する。この際、復号対象のサブブロックの大きさに応じて用いられる量子化マトリクスが定まり、本実施形態では、図７（ａ）に対応したサブブロック分割に対しては図８（ｄ）の量子化マトリクスが用いられるものとする。同様にして、図７（ｃ）のサブブロック分割に対しては図８（ｃ）、図７（ｄ）のサブブロック分割に対しては図８（ｂ）の量子化マトリクスが用いられるものとする。また、図７（ｂ）の四分木のサブブロック分割には図８（ａ）で示される量子化マトリクスが用いられるものとする。
【００９２】
画像再生部２０５は、サブブロック単位に、復号部２０３から入力した予測情報に基づいて、フレームメモリ２０６を適宜参照し、予測画像データを再生する。そして、画像再生部２０５は、この予測画像データに、逆量子化・逆変換部２０４から供給された予測誤差データを加算することで、サブブロックの画像データを再生し、フレームメモリ２０６に格納する。このフレームメモリ２０６に格納された画像データは、他のサブブロックを復号する際の予測参照候補となる。
【００９３】
インループフィルタ部２０７は、図１のインループフィルタ部１０９と同様、サブブロック単位に、フレームメモリ２０６から再生画像データを読み出し、デブロッキングフィルタなどのインループフィルタ処理を行う。そして、インループフィルタ部２０７は、フィルタ処理された画像は再びフレームメモリ２０６に格納する。
【００９４】
フレームメモリ２０６に格納された再生画像は、最終的には端子２０８から外部に出力される。
【００９５】
以下、第２の実施形態に係る画像復号装置における１フレームの復号処理の処理手順を図４のフローチャートを参照して説明する。なお、以下の説明における各工程は、その主体が制御部２５０による制御下にて、それぞれの処理を実行するものとする。
【００９６】
まず、Ｓ４０１にて、分離復号部２０２は、ビットストリームから復号処理に関する情報や係数に関する符号データに分離して、ヘッダ部分の符号データを復号する。より具体的には、量子化マトリクスを符号データを再生する。
【００９７】
Ｓ４０２にて、量子化マトリクス復号部２０９は、Ｓ４０１で再生された量子化マトリクスの符号データを復号し、図１０で示されたような一次元の差分行列を再生する。さらに量子化マトリクス復号部２０９は、再生された一次元の差分行列を逆走査し、二次元の量子化マトリクスを再生する。すなわち、量子化マトリクス復号部２０９は、図１１（ａ）〜（ｄ）に示される差分行列をそれぞれ、図１０（ａ）〜（ｄ）に示される走査方法を用いて、図８（ａ）〜（ｄ）に示される量子化マトリクスを再生し、保持する。なお、図１０（ａ）〜（ｄ）に示される走査方法および量子化マトリクスの要素の変換係数に対する割り当ては復号側装置において既知のものとする。すなわち、変換係数のＤＣ成分に対応する要素からの距離に従って、量子化マトリクスの各要素が変換係数に割り当てられる。 
すなわち、基本ブロック（実施形態では１６×１６のサイズ）の水平、垂直方向のいずれかの一方のみが同じサイズを有し、他方が異なる図８（ｂ）、（ｃ）に示すような量子化マトリクスの長辺方向については、直流成分に対応する要素の格納位置から予め設定された所定範囲（実施形態では距離“１” の範囲）では、量子化マトリクス復号部２０９は、各変換係数に対応する位置毎に要素１つの要素を割り当て、長辺方向における所定範囲を超える位置では、変換係数の予め設定された個数単位（実施形態では２個）に同じ要素を割り当てる。一方、図８（ｂ）、（ｃ）に示すような量子化マトリクスの短辺方向については、変換係数ごとに量子化マトリクスの要素を割り当てる。
【００９８】
そして、水平、垂直方向のいずれも基本ブロックのサイズと同じサイズである量子化マトリクスについては、量子化マトリクス復号部２０９は、図８に示すように、直流成分に対応する要素の位置およびその位置に対して、右、下、右下に隣接する４つの要素（実施形態では距離“１” の範囲）を対応する変換係数ごとに個別に割り当てる。そして、それ以外の変換係数ついては、互いに隣接する４つの変換係数ごとに１つの同じ要素を割り当てる。そして、図８（ａ）に示すような８ｘ８のサイズの量子化マトリクスの場合、変換係数ごとに要素を保持することになる。
【００９９】
このように量子化マトリクスのサイズに従って、変換係数に対する要素の割り当てを適応的に変えているため、量子化マトリクスの符号量を抑制でき、且つ、画質劣化を抑制できるようになる。
【０１００】
なお、量子化マトリクスの要素を復号する際の図１０に示すような走査順に基づいて「所定範囲」を定義してもよい。８ｘ１６あるいは１６ｘ８の変換係数のブロックサイズブロックサイズついては、図１０（ｂ）（ｃ）の走査が量子化マトリクスの要素の復号のために行われることになる。この際、量子化マトリクス復号部２０９は、変換係数のＤＣ成分に対応する要素から１走査（距離“１”の範囲）して得られる要素を変換係数ごとに割り当てを行い、それ以降は２つの変換係数ごとに１つの要素を割り当てる。すなわち、図８（ｂ）（ｃ）に示すような量子化マトリクスが得られることになる。また、１６ｘ１６の変換係数のブロックサイズの場合、量子化マトリクス復号部２０９は、変換係数のＤＣ成分に対応する要素から３走査（距離“３”の範囲）して得られる要素を変換係数ごとに割り当てを行い、それ以降は４つの変換係数ごとに１つの要素を割り当てる。すなわち、図８（ｄ）に示すような量子化マトリクスが得られることになる。また、８ｘ８の変換係数のブロックサイズの場合、量子化マトリクス復号部２０９は、変換係数のＤＣ成分に対応する要素から全ての走査によって得られる要素を変換係数ごとにる。すなわち、図８（ａ）に示すような量子化マトリクスが得られることになる。このように、量子化マトリクスに対する走査に基づいて、量子化マトリクスのサイズついて適応的に変換係数に対する要素の割り当てを変えてもよい。この場合、要素間の位置関係を特別に考慮する必要がなくなる。
【０１０１】
Ｓ４０３にて、復号部２０３は、Ｓ４０１で分離された符号データを復号し、サブブロック毎の量子化係数および予測情報を再生する。
【０１０２】
Ｓ４０４にて、逆量子化・逆変換部２０４は、サブブロック毎に、量子化係数に対してＳ４０２で再生された量子化マトリクスを用いて、逆量子化を行って変換係数を得る。逆量子化・逆変換部２０４は、更に、変換係数に対して逆直交変換を行い、各サブブロックの予測誤差データを再生する。
【０１０３】
Ｓ４０５にて、画像再生部２０５は、Ｓ４０３で生成されたサブブロック毎の予測情報や予測画像データを再生する。そして、画像再生部２０５は、サブブロック毎に、再生された予測画像データに、Ｓ４０４で生成された予測誤差データを加算することで、画像データを再生する。
【０１０４】
Ｓ４０６にて、制御部２５０は、フレーム内の全ての基本ブロックの復号が終了したか否かの判定を行い、終了していればＳ４０７に進み、そうでなければ次の基本ブロックの復号を行うため、処理をＳ４０３に戻す。
【０１０５】
Ｓ４０７にて、インループフィルタ部２０７は、Ｓ４０５で再生された画像データに対し、インループフィルタ処理を行い、フィルタ処理された画像を生成し、処理を終了する。
【０１０６】
なお、動画像の２フレーム目以降を復号する場合には、Ｓ４０３乃至Ｓ４０７の処理を、符号化ビットストリームの最後まで、もしくは、不図示の操作部を介したユーザから停止指示があるまで繰り返すことになる。
【０１０７】
以上の構成と動作により、第１の実施形態で生成された、量子化マトリクスの初めの複数の要素のみが個別に符号化され、残りの要素は複数の要素単位で符号化された量子化マトリクスの符号量を削減したビットストリームを復号することができる。
【０１０８】
なお、本第２の実施形態では、図８（ａ）〜（ｄ）の４種類の量子化マトリクス全てをビットストリームから復号する構成としたが、その代わりに、ビットストリームから復号された１つの量子化マトリクスから他の量子化マトリクスを生成する構成としても構わない。例えば、１６×８の量子化マトリクス自体をビットストリームから復号せずに、ビットストリームから復号された１６×１６の量子化マトリクスを用いて生成してもよい。この場合、図８（ｄ）の量子化マトリクスから一部の要素を間引き図８（ｂ）の量子化マトリクスを生成することとなる。同様に、図８（ｄ）の量子化マトリクスから一部の要素を間引いて図８（ｃ）の量子化マトリクスを生成することも可能である。また、前述の「所定範囲」であるところの図８（ｂ）の０行１列の要素「５」や図８（ｃ）の１行０列の要素「５」の算出方法を定めておけば、図８（ａ）の量子化マトリクスを用いて図８（ｂ）や図８（ｃ）の量子化マトリクスを生成することも可能である。この場合の算出方法は特に限定されず、０行０列の要素「４」に特定の差分値（本実施形態では＋１）を加算して算出しても良いし、周辺の要素との補間を用いて算出しても良い。また、１６×１６の量子化マトリクスの要素とともに、図８（ｂ）の０行１列の要素「５」や図８（ｃ）の１行０列の要素「５」自体をビットストリームから復号してもよい。これにより、量子化マトリクスの符号量をさらに削減したビットストリームを復号することができる。
【０１０９】
さらには、量子化マトリクスごとに別の量子化マトリクスから生成するか、各要素を復号するかを選択する識別子をヘッダから復号する構成としても構わない。例えば、量子化マトリクスの各要素を他の量子化マトリクスから生成するか、個別に復号するかを示す情報を、図６（ｂ）に示されるビットストリームのヘッダ部分から量子化マトリクス符号化方法情報符号として復号する構成としても良い。これにより、サブブロックの大きさに応じた画質制御を優先するか、量子化マトリクスの符号量がより少なくするかが選択されたビットストリームを復号することができる。
【０１１０】
また本実施形態では、図７（ａ）〜図７（ｄ）のサブブロック分割・直交変換に対応する図８（ａ）〜図８（ｄ）の量子化マトリクスが用いられる構成としたが、使用される直交変換サイズや量子化マトリクスはこれに限定されない。例えば、図７（ｅ）、（ｆ）のように１：２：１の比で分割する三分木分割がさらに用いられた場合、図９（ａ）、（ｂ）の量子化マトリクスをさらに用いる構成としても構わない。
【０１１１】
［第３の実施形態］
図１、図２に示した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、これらの図に示した各処理部で行う処理をコンピュータプログラムでもって構成しても良い。
【０１１２】
図５は、上記各実施形態に係る画像表示装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
【０１１３】
ＣＰＵ５０１は、ＲＡＭ５０２やＲＯＭ５０３に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各実施形態に係る画像処理装置が行うものとして上述した各処理を実行する。即ち、ＣＰＵ５０１は、図１、図２に示した各処理部として機能することになる。
【０１１４】
ＲＡＭ５０２は、外部記憶装置５０６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）５０７を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、ＲＡＭ５０２は、ＣＰＵ５０１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ５０２は、例えば、フレームメモリとして割り当てたり、その他の各種のエリアを適宜提供したりすることができる。
【０１１５】
ＲＯＭ５０３には、本コンピュータの設定データや、ブートプログラムなどが格納されている。操作部５０４は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をＣＰＵ５０１に対して入力することができる。表示部５０５は、ＣＰＵ５０１による処理結果を表示する。また表示部５０５は例えば液晶ディスプレイで構成される。
【０１１６】
外部記憶装置５０６は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置５０６には、ＯＳ（オペレーティングシステム）や、図１、図２に示した各部の機能をＣＰＵ５０１に実現させるためのコンピュータプログラムが保存されている。更には、外部記憶装置５０６には、処理対象としての各画像データが保存されていても良い。
【０１１７】
外部記憶装置５０６に保存されているコンピュータプログラムやデータは、ＣＰＵ５０１による制御に従って適宜、ＲＡＭ５０２にロードされ、ＣＰＵ５０１による処理対象となる。Ｉ／Ｆ５０７には、ＬＡＮやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータはこのＩ／Ｆ５０７を介して様々な情報を取得したり、送出したりすることができる。５０８は上述の各部を繋ぐバスである。
【０１１８】
上記構成において、本装置の電源がＯＮになると、ＣＰＵ５０１はＲＯＭ５０３のブートプログラムを実行して、外部記憶装置５０６に格納されたＯＳをＲＡＭ５０２にロードし、ＯＳを起動する。この結果、本装置が、インターフェース５０７を介した通信が可能となり、情報処理装置として機能する。そして、ＯＳの制御下で、ＣＰＵ５０１は画像符号化に係るアプリケーション（図３に相当する）を外部記憶装置５０６からＲＡＭ５０２にロードして実行することで、ＣＰＵ５０１が図１に示す各種処理部として機能することになり、本装置が画像符号化装置として機能することになる。一方、ＣＰＵ５０１は画像復号に係るアプリケーション（図４に相当する）を外部記憶装置５０６からＲＡＭ５０２にロードして実行した場合、ＣＰＵ５０１は図２に示す各種処理部として機能することになり、本装置が画像復号装置として機能することになる。
【０１１９】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１２０】
１０１…入力端子、１０２…ブロック分割部、１０３…量子化マトリクス保持部、１０４…予測部、１０５…変換・量子化部、１０６…逆量子化・逆変換部、１０７…画像再生部、１０８…フレームメモリ、１０９…インループフィルタ部、１１０…符号化部、１１１…統合符号化部、１１２…出力端子、１１３…量子化マトリクス符号化部
【図１】
2020098984.tif 000003
【図２】
2020098984.tif 000004
【図３】
2020098984.tif 000005
【図４】
2020098984.tif 000006
【図５】
2020098984.tif 000007
【図６】
2020098984.tif 000008
【図７】
2020098984.tif 000009
【図８】
2020098984.tif 000010
【図９】
2020098984.tif 000011
【図１０】
2020098984.tif 000012
【図１１】
2020098984.tif 000013
【図１２】
2020098984.tif 000014