(57)【要約】      （修正有）【課題】一部の直交変換係数を強制的に０とした直交変換係数に対応した量子化マトリクスを用いて量子化処理する画像復号装置及び方法を提供する。【解決手段】画像復号装置は、第１のブロックに対応するＮ×Ｍ個の第１の量子化係数に対応するデータと、第２のブロックに対応するＮ×Ｍ個の第２の量子化係数に対応するデータとを復号する復号部２０３と、Ｎ×Ｍ個の要素を有する第１の量子化マトリクスを少なくとも用いて第１の量子化係数から第１の直交変換係数を導出し、Ｎ×Ｍ個の要素を有する第２の量子化マトリクスを少なくとも用いて第２の量子化係数から第２の直交変換係数を導出し、第１の直交変換係数に逆直交変換を実行しＰ×Ｑ画素の第１の予測誤差を生成し、第２の直交変換係数に逆直交変換を実行しＮ×Ｍ画素分の第２の予測誤差を生成する逆量子化・逆変換部２０４とを備える。【選択図】図２
2020150339.tif 000002
【特許請求の範囲】
【請求項１】
Ｐ×Ｑ画素（Ｐ及びＱは整数）の長方形の第１のブロックと、Ｎ×Ｍ画素（ＮはＮ＜Ｐを満たす整数、かつ、ＭはＭ＜Ｑを満たす整数）の長方形の第２のブロックとを含む複数のブロック単位でビットストリームから画像を復号することが可能な画像復号装置において
前記第１のブロックに対応するＮ×Ｍ個の第１の量子化係数に対応するデータと、前記第２のブロックに対応するＮ×Ｍ個の第２の量子化係数に対応するデータとを前記ビットストリームから復号する復号手段と、
Ｎ×Ｍ個の要素を有する第１の量子化マトリクスを少なくとも用いて前記第１の量子化係数から第１の直交変換係数を導出し、Ｎ×Ｍ個の要素を有する第２の量子化マトリクスを少なくとも用いて前記第２の量子化係数から第２の直交変換係数を導出する逆量子化手段と、
前記第１の直交変換係数に対して逆直交変換を実行することによって前記第１のブロックに対応するＰ×Ｑ画素の第１の予測誤差を生成し、前記第２の直交変換係数に対して逆直交変換を実行することによって前記第２のブロックに対応するＮ×Ｍ画素分の第２の予測誤差を生成する逆直交変換手段と
を有し、
Ｎ×Ｍ個の要素を有する前記第１の量子化マトリクスと、Ｎ×Ｍ個の要素を有する前記第２の量子化マトリクスとは異なる
ことを特徴とする画像復号装置。
【請求項２】
前記第１及び第２のブロックは正方形のブロックである
ことを特徴とする請求項１記載の画像復号装置。
【請求項３】
前記Ｐ及びＱは６４であり、前記Ｎ及びＭは３２である
ことを特徴とする請求項２記載の画像復号装置。
【請求項４】
前記Ｐ及びＱは１２８であり、前記Ｎ及びＭは３２である
ことを特徴とする請求項２記載の画像復号装置。
【請求項５】
前記第１の量子化マトリクスは、Ｒ×Ｓ（ＲはＲ≦Ｎを満たす整数、かつ、ＳはＳ≦Ｍを満たす整数）個の要素を有する量子化マトリクスの一部の要素を用いて生成される量子化マトリクスであり、
前記第２の量子化マトリクスは、前記Ｒ×Ｓ個の要素を有する量子化マトリクスの全ての要素を用いて生成される量子化マトリクスである
ことを特徴とする請求項１〜４のいずれか１項に記載の画像復号装置。
【請求項６】
前記第１の直交変換係数はＮ×Ｍ個の直交変換係数であり、
前記第２の直交変換係数はＮ×Ｍ個の直交変換係数である
ことを特徴とする請求項１〜５のいずれか１項に記載の画像復号装置。
【請求項７】
Ｐ×Ｑ画素（Ｐ及びＱは整数）の長方形の第１のブロックと、Ｎ×Ｍ画素（ＮはＮ＜Ｐを満たす整数、かつ、ＭはＭ＜Ｑを満たす整数）の長方形の第２のブロックとを含む複数のブロック単位でビットストリームから画像を復号することが可能な画像復号方法において
前記第１のブロックに対応するＮ×Ｍ個の第１の量子化係数に対応するデータと、前記第２のブロックに対応するＮ×Ｍ個の第２の量子化係数に対応するデータとを前記ビットストリームから復号する復号工程と、
Ｎ×Ｍ個の要素を有する第１の量子化マトリクスを少なくとも用いて前記第１の量子化係数から第１の直交変換係数を導出し、Ｎ×Ｍ個の要素を有する第２の量子化マトリクスを少なくとも用いて前記第２の量子化係数から第２の直交変換係数を導出する逆量子化工程と、
前記第１の直交変換係数に対して逆直交変換を実行することによって前記第１のブロックに対応するＰ×Ｑ画素の第１の予測誤差を生成し、前記第２の直交変換係数に対して逆直交変換を実行することによって前記第２のブロックに対応するＮ×Ｍ画素分の第２の予測誤差を生成する逆直交変換工程と
を有し、
Ｎ×Ｍ個の要素を有する前記第１の量子化マトリクスと、Ｎ×Ｍ個の要素を有する前記第２の量子化マトリクスとは異なる
ことを特徴とする画像復号方法。
【請求項８】
前記長方形のブロックは正方形のブロックである
ことを特徴とする請求項７記載の画像復号方法。
【請求項９】
前記Ｐ及びＱは６４であり、前記Ｎ及びＭは３２である
ことを特徴とする請求項８記載の画像復号方法。
【請求項１０】
前記Ｐ及びＱは１２８であり、前記Ｎ及びＭは３２である
ことを特徴とする請求項９記載の画像復号方法。
【請求項１１】
前記第１の量子化マトリクスは、Ｒ×Ｓ（ＲはＲ≦Ｎを満たす整数、かつ、ＳはＳ≦Ｍを満たす整数）個の要素を有する量子化マトリクスの一部の要素を用いて生成される量子化マトリクスであり、
前記第２の量子化マトリクスは、前記Ｒ×Ｓ個の要素を有する量子化マトリクスの全ての要素を用いて生成される量子化マトリクスである
ことを特徴とする請求項７〜１０のいずれか１項に記載の画像復号方法。
【請求項１２】
前記第１の直交変換係数はＮ×Ｍ個の直交変換係数であり、
前記第２の直交変換係数はＮ×Ｍ個の直交変換係数である
ことを特徴とする請求項７〜１１のいずれか１項に記載の画像復号方法。
【請求項１３】
コンピュータを、請求項１〜６のいずれか１項に記載の画像復号装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像符号化技術に関する。
【背景技術】
【０００２】
動画像を圧縮する符号化方式として、ＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）符号化方式（以下、ＨＥＶＣと記す）が知られている。ＨＥＶＣでは符号化効率の向上のため、従来のマクロブロック（１６×１６画素）より大きなサイズの基本ブロックが採用された。この大きなサイズの基本ブロックはＣＴＵ（Ｃｏｄｉｎｇ  Ｔｒｅｅ  Ｕｎｉｔ）と呼ばれ、そのサイズは最大６４×６４画素である。ＣＴＵはさらに予測や変換を行う単位となるサブブロックに分割される。
【０００３】
また、ＨＥＶＣにおいては、直交変換を施した後の係数（以下、直交変換係数と記す）を、周波数成分に応じて重み付けをするために量子化マトリクスが用いられている。量子化マトリクスが用いることで、人間の視覚において劣化が目立ちにくい高周波成分のデータを、低周波成分のデータよりも削減することで、画質を維持しながら圧縮効率を高めることが可能となっている。特開２０１３−３８７５８（特許文献１）では、このような量子化マトリクスを示す情報を符号化する技術が開示されている。
【０００４】
また、近年、ＨＥＶＣの後継としてさらに高効率な符号化方式の国際標準化を行う活動が開始されている。具体的には、ＩＳＯ／ＩＥＣとＩＴＵ−Ｔとによって設立されたＪＶＥＴ（Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｅｘｐｅｒｔｓ  Ｔｅａｍ）によって、ＶＶＣ（Ｖｅｒｓａｔｉｌｅ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）符号化方式（以下、ＶＶＣ）の標準化が進められている。この標準化において、符号化効率の向上のため、直交変換を行う際のブロックサイズが大きい場合に、高周波成分の直交変換係数を強制的に０とすることで符号量を削減する新たな手法（以下、ゼロアウトと呼称する）が検討されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−３８７５８
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＶＶＣにおいても、ＨＥＶＣと同様に量子化マトリクスの導入が検討されている。しかしながら、ＨＥＶＣにおける量子化マトリクスは従来の直交変換のサイズと等しい大きさの量子化マトリクスを用いて量子化する方法を前提としており、一部の直交変換係数をゼロとする新しい手法であるゼロアウトには対応できていない。このため、ゼロアウトされた直交変換係数に対しては、周波数成分に応じた量子化制御を行うことができず、主観画質を向上できないという課題があった。
【０００７】
そこで、本発明の目的は、一部の直交変換係数が強制的に０とされる手法に対応した量子化マトリクスを用いた量子化処理を可能とすることで、当該手法を用いた場合であっても主観画質を向上させることを目的としている。
【課題を解決するための手段】
【０００８】
前述の問題点を解決するため、本発明の画像復号装置は以下の構成を有する。すなわち、Ｐ×Ｑ画素（Ｐ及びＱは整数）の長方形の第１のブロックと、Ｎ×Ｍ画素（ＮはＮ＜Ｐを満たす整数、かつ、ＭはＭ＜Ｑを満たす整数）の長方形の第２のブロックとを含む複数のブロック単位でビットストリームから画像を復号することが可能な画像復号装置において前記第１のブロックに対応するＮ×Ｍ個の第１の量子化係数に対応するデータと、前記第２のブロックに対応するＮ×Ｍ個の第２の量子化係数に対応するデータとを前記ビットストリームから復号する復号手段と、Ｎ×Ｍ個の要素を有する第１の量子化マトリクスを少なくとも用いて前記第１の量子化係数から第１の直交変換係数を導出し、Ｎ×Ｍ個の要素を有する第２の量子化マトリクスを少なくとも用いて前記第２の量子化係数から第２の直交変換係数を導出する逆量子化手段と、前記第１の直交変換係数に対して逆直交変換を実行することによって前記第１のブロックに対応するＰ×Ｑ画素の第１の予測誤差を生成し、前記第２の直交変換係数に対して逆直交変換を実行することによって前記第２のブロックに対応するＮ×Ｍ画素分の第２の予測誤差を生成する逆直交変換手段とを有し、Ｎ×Ｍ個の要素を有する前記第１の量子化マトリクスと、Ｎ×Ｍの要素を有する前記第２の量子化マトリクスとは異なる。
【発明の効果】
【０００９】
本発明によれば、一部の直交変換係数が強制的に０とされる手法に対応した量子化マトリクスを用いた量子化処理を可能とすることで、当該手法を用いた場合であっても主観画質を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態１における画像符号化装置の構成を示すブロック図である。
【図２】実施形態２における画像復号装置の構成を示すブロック図である。
【図３】実施形態１に係る画像符号化装置における画像符号化処理を示すフローチャートである。
【図４】実施形態２に係る画像復号装置における画像復号処理を示すフローチャートである。
【図５】本発明の画像符号化装置や画像復号装置に適用可能なコンピュータのハードウェア構成例を示すブロック図である。
【図６】実施形態１で出力されるビットストリームの一例を示す図である。
【図７】実施形態１および実施形態２で用いられるサブブロック分割の一例を示す図である。
【図８】実施形態１および実施形態２で用いられる量子化マトリクスの一例を示す図である。
【図９】実施形態１および実施形態２で用いられる量子化マトリクスの各要素の走査方法を示す図である。
【図１０】実施形態１および実施形態２で生成される量子化マトリクスの差分値行列を示す図である。
【図１１】量子化マトリクスの差分値の符号化に用いられる符号化テーブルの一例を示す図である。
【図１２】実施形態１および実施形態２で用いられる量子化マトリクスの他の例を示す図である。
【発明を実施するための形態】
【００１１】
本発明の実施の形態を、添付の図面に基づいて説明する。なお、以下の実施形態において示す構成は一例であり、本発明は以下の実施形態で説明する構成に限定されるものではない。なお、基本ブロックや、サブブロック、量子化マトリクス、ベース量子化マトリクスといった呼称は、各実施形態において便宜的に用いている呼称であり、その意味が変わらない範囲で、適宜、他の呼称を用いてもよい。例えば、基本ブロックやサブブロックは、基本ユニットやサブユニットと称されてもよいし、単にブロックやユニットと称されてもよい。また、以下の説明において、長方形とは、一般的な定義の通り、４つの内角が直角であり、２本の対角線が等しい長さを持つ四角形であるものとする。また、正方形とは、一般的な定義の通り、長方形の内、４つの角がすべて等しく４つの辺がすべて等しい四角形であるものとする。つまり、正方形は長方形の一種であるものとする。
【００１２】
＜実施形態１＞
以下、本発明の実施形態を、図面を用いて説明する。
【００１３】
まず、ゼロアウト（ｚｅｒｏｉｎｇ  ｏｕｔ）について、より詳細に説明する。ゼロアウトとは、前述のように、符号化対象のブロックの直交変換係数の一部を強制的に０とする処理である。例えば、入力画像（ピクチャ）における６４×６４画素のブロックが符号化対象のブロックであるとする。このとき、直交変換係数についても６４×６４のサイズとなる。ゼロアウトとは、例えば、この６４×６４の直交変換係数の一部について、仮に、直交変換の結果、０ではない値を有する場合であっても、０であると見做して符号化を行う処理である。例えば、２次元の直交変換係数におけるＤＣ成分を含む左上の所定の範囲に対応する低周波成分については強制的に０とする対象とはせずに、それら低周波成分よりも高い周波数成分に対応する直交変換係数については、常に０とする。
【００１４】
次に、本実施形態の画像符号化装置について説明する。図１は本実施形態の画像符号化装置を示すブロック図である。図１において、１０１は画像データを入力する端子である。
【００１５】
１０２はブロック分割部であり、入力画像を複数の基本ブロックに分割し、基本ブロック単位の画像を後段に出力する。
【００１６】
１０３は、量子化マトリクスを生成し、格納する量子化マトリクス保持部である。ここで、量子化マトリクスとは、周波数成分に応じて、直交変換係数に対する量子化処理を重み付けするためのものである。後述する量子化処理における、各直交変換係数のための量子化ステップは、一例として、基準となるパラメータ値（量子化パラメータ）に基づくスケール値(量子化スケール)に、量子化マトリクスにおける各要素の値を乗算することで重み付けされる。
【００１７】
量子化マトリクス保持部１１０によって格納される量子化マトリクスの生成方法については特に限定しない。例えば、ユーザが量子化マトリクスを示す情報を入力してもよいし、入力画像の特性から画像符号化装置が算出してもよい。また、初期値として予め指定されたものを使用してもよい。本実施形態では、図８（ａ）に示される８×８のベース量子化マトリクスに加え、ベース量子化マトリクスを拡大して生成された、図８（ｂ）、（ｃ）に示される２種類の３２×３２の二次元の量子化マトリクスが生成され、格納されるものとする。図８（ｂ）の量子化マトリクスは、図８（ａ）の８×８のベース量子化マトリクスの各要素を、垂直・水平方向に４回繰り返すことで４倍に拡大した３２×３２の量子化マトリクスである。一方、図８（ｃ）の量子化マトリクスは、図８（ａ）のベース量子化マトリクスの左上４×４部分の各要素を、垂直・水平方向に８回繰り返すことで拡大した３２×３２の量子化マトリクスである。
【００１８】
以上のように、ベース量子化マトリクスは、８×８画素のサブブロックにおける量子化だけではなく、ベース量子化マトリクスよりも大きなサイズの量子化マトリクスを作成するためにも使用される量子化マトリクスである。なお、ベース量子化マトリクスのサイズは８×８であるものとするが、このサイズに限られない。また、サブブロックのサイズに応じて別のベース量子化マトリクスを用いてもよい。例えば、８×８、１６×１６、３２×３２の3種類のサブブロックが用いられる場合、それぞれに対応する３種類のベース量子化マトリクスを用いることもできる。
【００１９】
１０４は予測部であり、基本ブロック単位の画像データに対し、サブブロック分割を決定する。つまり、基本ブロックをサブブロックへと分割するか否かを決定し、分割するとすればどのように分割するか決定する。サブブロックへ分割しない場合、サブブロックは基本ブロックと同じサイズとなる。サブブロックは正方形でもよいし、正方形以外の長方形であってもよい。
【００２０】
そして、予測部１０４は、サブブロック単位でフレーム内予測であるイントラ予測や、フレーム間予測であるインター予測などを行い、予測画像データを生成する。
【００２１】
例えば、予測部１０４は、１つのサブブロックに対して行う予測方法を、イントラ予測及びインター予測の中から選択し、選択した予測を行って、当該サブブロックのための予測画像データを生成する。ただし、用いられる予測方法はこれらに限定されず、イントラ予測とインター予測とを組み合わせた予測などを用いてもよい。
【００２２】
さらに、予測部１０４は、入力された画像データと前記予測画像データから予測誤差を算出し、出力する。例えば、予測部１０４は、サブブロックの各画素値と、当該サブブロックに対する予測によって生成された予測画像データの各画素値との差分を算出し、それを予測誤差として算出する。
【００２３】
また、予測部１０４は、予測に必要な情報、例えばサブブロックの分割状態を示す情報、当該サブブロックの予測方法を示す予測モードや、動きベクトル等の情報も予測誤差と併せて出力する。以下ではこの予測に必要な情報を予測情報と総称する。
【００２４】
１０５は変換・量子化部である。変換・量子化部１０５は、予測部１０４によって算出された予測誤差をサブブロック単位で直交変換して、予測誤差の各周波数成分を表す直交変換係数を獲得する。そして、変換・量子化部１０５は、さらに量子化マトリクス保持部１０３に格納されている量子化マトリクスと、量子化パラメータとを用いて量子化を行い、量子化された直交変換係数である量子化係数を獲得する。なお、直交変換を行う機能と、量子化を行う機能とは別々の構成にしてもよい。
【００２５】
１０６は逆量子化・逆変換部である。逆量子化・逆変換部１０６は、変換・量子化部１０５から出力された量子化係数を量子化マトリクス保持部１０３に格納されている量子化マトリクスと、量子化パラメータとを用いて逆量子化して直交変換係数を再生する。そして、逆量子化・逆変換部１０６は、さらに逆直交変換して予測誤差を再生する。このように、量子化マトリクスと量子化パラメータとを用いて、直交変換係数を再生（導出）する処理を逆量子化と称するものとする。なお、逆量子化を行う機能と、逆量子化を行う機能とは別々の構成にしてもよい。また、画像復号装置が量子化パラメータを導出するための情報も符号化部１１０によってビットストリームに符号化される。
【００２６】
１０８は、再生された画像データを格納しておくフレームメモリである。
【００２７】
１０７は、画像再生部である。予測部１０４から出力された予測情報に基づいて、フレームメモリ１０８を適宜参照して予測画像データを生成し、これと入力された予測誤差から再生画像データを生成し、出力する。
【００２８】
１０９は、インループフィルタ部である。再生画像に対し、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行い、フィルタ処理された画像を出力する。
【００２９】
１１０は、符号化部である。変換・量子化部１０５から出力された量子化係数および予測部１０４から出力された予測情報を符号化して、符号データを生成し出力する。
【００３０】
１１３は、量子化マトリクス符号化部である。量子化マトリクス保持部１０３から出力されたベース量子化マトリクスを符号化して、画像復号装置がベース量子化マトリクスを導出するための量子化マトリクス符号データを生成し出力する。
【００３１】
１１１は、統合符号化部である。量子化マトリクス符号化部１１３からの出力である量子化マトリクス符号データを用いて、ヘッダ符号データを生成する。さらに符号化部１１０から出力された符号データと合わせて、ビットストリームを形成して出力する。
【００３２】
１１２は、端子であり、統合符号化部１１１で生成されたビットストリームを外部に出力する。
【００３３】
上記画像符号化装置における画像の符号化動作を以下に説明する。本実施形態では動画像データをフレーム単位に入力する構成とする。さらに本実施形態では説明のため、ブロック分割部１０１においては６４×６４画素の基本ブロックに分割するものとして説明するが、これに限定されない。例えば、１２８×１２８画素のブロックを基本ブロックとしてもよいし、３２×３２画素のブロックを基本ブロックとしてもよい。
【００３４】
画像符号化装置は、画像の符号化に先立ち、量子化マトリクスの生成および符号化を行う。なお、以下の説明において、一例として、量子化マトリクス８００や各ブロックにおける水平方向をｘ座標、垂直方向をｙ座標とし、それぞれ、右方向を正、下方向を正とする。また、量子化マトリクス８００における左上端の要素の座標を（０，０）とする。つまり、８×８のベース量子化マトリクスの右下端の要素の座標は、（７，７）となる。３２×３２の量子化マトリクスの右下端の要素の座標は（３１，３１）となる。
【００３５】
最初に、量子化マトリクス保持部１０３は量子化マトリクスを生成する。サブブロックのサイズや量子化される直交変換係数のサイズ、予測方法の種類に応じて、量子化マトリクスが生成される。本実施形態では、まず図８（ａ）に示された後述の量子化マトリクスの生成に用いられる８×８のベース量子化マトリクスが生成される。次に、このベース量子化マトリクスを拡大し、図８（ｂ）および図８（ｃ）に示される２種類の３２×３２の量子化マトリクスを生成する。図８（ｂ）の量子化マトリクスは、図８（ａ）の８×８のベース量子化マトリクスの各要素を、垂直・水平方向に４回繰り返すことで４倍に拡大した３２×３２の量子化マトリクスである。
【００３６】
つまり、図８（ｂ）に示す例では、３２×３２の量子化マトリクスにおけるｘ座標が０〜３及びｙ座標が０〜３の範囲内の各要素には、ベース量子化マトリクスの左上端の要素の値である１が割り当てられることとなる。また、３２×３２の量子化マトリクスにおけるｘ座標が２８〜３１及びｙ座標が２８〜３１の範囲内の各要素には、ベース量子化マトリクスの右下端の要素の値である１５が割り当てられることとなる。図８（ｂ）の例では、ベース量子化マトリクスにおける各要素の値の全てが、３２×３２の量子化マトリクスの各要素の内のいずれかに割り当てられている。
【００３７】
一方、図８（ｃ）の量子化マトリクスは、図８（ａ）のベース量子化マトリクスの左上４×４部分の各要素を、垂直・水平方向に８回繰り返すことで拡大した３２×３２の量子化マトリクスである。
【００３８】
つまり、図８（ｃ）に示す例では、３２×３２の量子化マトリクスにおけるｘ座標が０〜７及びｙ座標が０〜７の範囲内の各要素には、ベース量子化マトリクスの左上４×４部分の左上端の要素の値である１が割り当てられることとなる。また、３２×３２の量子化マトリクスにおけるｘ座標が２４〜３１及びｙ座標が２４〜３１の範囲内の各要素には、ベース量子化マトリクスの左上４×４部分の右下端の要素の値である７が割り当てられることとなる。図８（ｃ）の例では、ベース量子化マトリクスにおける各要素の値の左上４×４部分（ｘ座標が０〜３及びｙ座標が０〜３の範囲）に対応する要素の値だけが、３２×３２の量子化マトリクスの各要素に割り当てられている。
【００３９】
ただし、生成される量子化マトリクスはこれに限定されず、量子化される直交変換係数のサイズが３２×３２以外にも存在する場合は、１６×１６や８×８、４×４など、量子化される直交変換係数のサイズに対応した量子化マトリクスが生成されてもよい。ベース量子化マトリクスや量子化マトリクスを構成する各要素の決定方法は特に限定されない。例えば、所定の初期値を用いてもよいし、個別に設定してもよい。また、画像の特性に応じて生成されても構わない。
【００４０】
量子化マトリクス保持部１０３には、このようにして生成されたベース量子化マトリクスや量子化マトリクスが保持される。図８（ｂ）は後述の３２×３２のサブブロック、図８（ｃ）は６４×６４のサブブロックに対応する直交変換係数の量子化に用いられる量子化マトリクスの一例である。太枠の８００は、量子化マトリクスを表している。説明を簡易にするため、それぞれ３２×３２の１０２４画素分の構成とし、太枠内の各正方形は量子化マトリクスを構成している各要素を表しているものとする。本実施形態では、図８（ｂ）、（ｃ）に示された三種の量子化マトリクスが二次元の形状で保持されているものとするが、量子化マトリクス内の各要素はもちろんこれに限定されない。また、量子化される直交変換係数のサイズによって、あるいは符号化対象が輝度ブロックか色差ブロックかによって、同じ予測方法に対して複数の量子化マトリクスを保持することも可能である。一般的に、量子化マトリクスは人間の視覚特性に応じた量子化処理を実現するため、図８（ｂ）、（ｃ）に示すように量子化マトリクスの左上部分に相当する低周波部分の要素は小さく、右下部分に相当する高周波部分の要素は大きくなっている。
【００４１】
量子化マトリクス符号化部１１３は、二次元形状で格納されているベース量子化マトリクスの各要素を量子化マトリクス保持部１０６から順に読み出し、各要素を走査して差分を計算し、その各差分を一次元の行列に配置する。本実施形態では、図８（ａ）に示されたベース量子化マトリクスは図９に示された走査方法を用い、要素ごとに走査順に直前の要素との差分を計算するものとする。例えば図８（ａ）で示された８×８のベース量子化マトリクスは図９で示された走査方法によって走査されるが、左上に位置する最初の要素１の次はそのすぐ下に位置する要素２が走査され、差分である＋１が計算される。また、量子化マトリクスの最初の要素（本実施形態では１）の符号化には、所定の初期値（例えば８）との差分を計算するものとするが、もちろんこれに限定されず、任意の値との差分や、最初の要素の値そのものを用いてもよい。
【００４２】
このようにして、本実施形態では、図８（ａ）のベース量子化マトリクスは、図９の走査方法を用い、図１０に示される差分行列が生成される。量子化マトリクス符号化部１１３はさらに前記差分行列を符号化して量子化マトリクス符号データを生成する。本実施形態では図１１（ａ）に示される符号化テーブルを用いて符号化するものとするが、符号化テーブルはこれに限定されず、例えば図１１（ｂ）に示される符号化テーブルを用いてもよい。このようにして生成された量子化マトリクス符号データは後段の統合符号化部１１１に出力される。
【００４３】
図１に戻り、統合符号化部１１１では画像データの符号化に必要なヘッダ情報を符号化し、量子化マトリクスの符号データを統合する。
【００４４】
続いて、画像データの符号化が行われる。端子１０１から入力された１フレーム分の画像データはブロック分割部１０２に入力される。
【００４５】
ブロック分割部１０２では、入力された画像データを複数の基本ブロックに分割し、基本ブロック単位の画像を予測部１０４に出力する。本実施形態では６４×６４画素の基本ブロック単位の画像を出力するものとする。
【００４６】
予測部１０４では、ブロック分割部１０２から入力された基本ブロック単位の画像データに対し予測処理を実行する。具体的には、基本ブロックをさらに細かいサブブロックに分割するサブブロック分割を決定し、さらにサブブロック単位でイントラ予測やインター予測などの予測モードを決定する。
【００４７】
図７にサブブロック分割方法の一例を示す。太枠の７００は基本ブロックを表しており、説明を簡易にするため、６４×６４画素の構成とし、太枠内の各四角形はサブブロックを表すものとする。図７（ｂ）は四分木の正方形サブブロック分割の一例を表しており、６４８×６４画素の基本ブロックは３２×３２画素のサブブロックに分割されている。一方、図７（ｃ）〜（ｆ）は長方形サブブロック分割の一例を表しており、図７（ｃ）では基本ブロックは３２×６４画素の縦長、図７（ｄ）では６４×３２画素の横長の長方形のサブブロックに分割されている。また、図７（ｅ）、（ｆ）では、１：２：１の比で長方形サブブロックに分割されている。このように正方形だけではなく、正方形以外の長方形のサブブロックも用いて符号化処理を行っている。また、基本ブロックを更に複数の正方形のブロックに分割し、その分割した正方形のブロックを基準としてサブブロック分割を行ってもよい。言い換えると、基本ブロックのサイズは６４×６４画素に限定されず、また、複数のサイズの基本ブロックを用いてもよい。
【００４８】
また、本実施形態では、６４×６４画素の基本ブロックを分割しない図７（ａ）、および、図７（ｂ）のような四分木分割のみが用いられるものとするが、サブブロック分割方法はこれに限定されない。図７（ｅ）、（ｆ）のような三分木分割または図７（ｃ）や図７（ｄ）のような二分木分割を用いても構わない。図７（ａ）や図７（ｂ）以外のサブブロック分割も用いられる場合には、量子化マトリクス保持部１０３にて使用されるサブブロックに対応する量子化マトリクスが生成される。また、生成された量子化マトリクスに対応する新たなベース量子化マトリクスも生成される場合は量子化マトリクス符号化部１１３にて新たなベース量子化マトリクスも符号化されることとなる。
【００４９】
また、本実施形態で用いられる予測部１９４による予測方法について、更に詳細に説明する。本実施形態では、一例として、イントラ予測、インター予測の２種類の予測方法が用いられるものとする。イントラ予測は符号化対象ブロックの空間的に周辺に位置する符号化済画素を用いて符号化対象ブロックの予測画素を生成し、水平予測や垂直予測、ＤＣ予測などのイントラ予測方法の内、使用したイントラ予測方法を示すイントラ予測モードの情報も生成する。インター予測は符号化対象ブロックとは時間的に異なるフレームの符号化済画素を用いて符号化対象ブロックの予測画素を生成し、参照するフレームや動きベクトルなどを示す動き情報も生成する。なお、前述のように、予測部１９４は、イントラ予測とインター予測とを組み合わせた予測方法を用いてもよい。
【００５０】
決定した予測モードおよび符号化済の画素から予測画像データを生成し、さらに入力された画像データと前記予測画像データから予測誤差が生成され、変換・量子化部１０５に出力される。また、サブブロック分割や予測モードなどの情報は予測情報として、符号化部１１０、画像再生部１０７に出力される。
【００５１】
変換・量子化部１０５では、入力された予測誤差に直交変換・量子化を行い、量子化係数を生成する。まずはサブブロックのサイズに対応した直交変換処理が施されて直交変換係数が生成され、次に直交変換係数を予測モードに応じて量子化マトリクス保持部１０３に格納されている量子化マトリクスを用いて量子化し、量子化係数を生成する。より具体的な直交変換・量子化処理について、以下で説明する。
【００５２】
図７（ｂ）で示された３２×３２のサブブロック分割が選択された場合には、３２×３２の予測誤差に対し、３２×３２の直交変換行列を用いた直交変換を施し、３２×３２の直交変換係数を生成する。具体的には、離散コサイン変換（ＤＣＴ）に代表される３２×３２の直交変換行列と３２×３２の予測誤差の乗算を行い３２×３２の行列状の中間係数を算出する。この３２×３２の行列状の中間係数に対し、さらに、前述の３２×３２の直交変換行列の転置行列との乗算を行い、３２×３２の直交変換係数を生成する。こうして生成された３２×３２の直交変換係数に対し、図８（ｂ）で示された３２×３２の量子化マトリクスと、量子化パラメータとを用いて量子化し、３２×３２の量子化係数を生成する。６４×６４の基本ブロックの中には３２×３２のサブブロックが４つ存在しているため、上述の処理を４回繰り返す。
【００５３】
一方、図７（ａ）で示す６４×６４の分割状態（分割無し）が選択された場合には、６４×６４の予測誤差に対し、６４×６４の直交変換行列における奇数番目の行（以下、奇数行と称する）を間引いて生成された３２×６４の直交変換行列が用いられる。つまり、この奇数行を間引いて生成された３２×６４の直交変換行列を用いた直交変換を施すことによって、３２×３２の直交変換係数を生成する。
【００５４】
具体的には、まず６４×６４の直交変換行列から奇数行を間引いて６４×３２の直交変換行列を生成する。そしてこの６４×３２の直交変換行列と６４×６４の予測誤差の乗算を行い、６４×３２の行列状の中間係数を生成する。この６４×３２の行列状の中間係数に対し、前述の６４×３２の直交変換行列を転置させた３２×６４の転置行列との乗算を行い、３２×３２の直交変換係数を生成する。そして、変換・量子化部１０５は、生成した３２×３２の直交変換係数を６４×６４の直交変換係数の左上部分（ｘ座標が０〜３１及びｙ座標が０〜３１の範囲）の係数とし、その他を０とすることで、ゼロアウトを実行する。
【００５５】
本実施形態では、このように、６４×６４の予測誤差に対して、６４×３２の直交変換行列と、この６４×３２の直交変換行列を転置させた３２×６４の転置行列とを用いて直交変換を行う。このように３２×３２の直交変換係数を生成することでゼロアウトを実行する。これにより、６４×６４の直交変換を行って生成された６４×６４の直交変換係数の一部を、その値が０でない場合であっても強制的に０とする手法よりも少ない演算量で３２×３２の直交変換係数を生成できる。つまり、６４×６４の直交変換行列を用いて直交変換を行って、その結果、ゼロアウトの対象となる直交変換係数が、０であるか否かに関わらずに０と見做して符号化する場合と比較して、直交変換における演算量を低減することができる。なお、６４×６４の予測誤差から直交変換係数によって３２×３２の直交変換係数を算出する方法を用いれば演算量を低減させることができるが、ゼロアウトする方法はこの方法に限られず種々の方法を用いることもできる。
【００５６】
また、ゼロアウトを実行する場合、ゼロアウトの対象となった範囲の直交変換係数が０であることを示す情報を符号化してもよいし、単に、ゼロアウトが行われたことを示す情報（フラグ等）を符号化してもよい。画像復号装置はそれらの情報を復号することで、ゼロアウトの対象を０と見做して、各ブロックを復号することができる。
【００５７】
次に、このように生成された３２×３２の直交変換係数に対し、変換・量子化部１０５は、図８（ｃ）で示された３２×３２の量子化マトリクスと、量子化パラメータとを用いて量子化し、３２×３２の量子化係数を生成する。
【００５８】
本実施形態では、３２×３２のサブブロックに対応した３２×３２の直交変換係数には図８（ｂ）の量子化マトリクスが用いられ、６４×６４のサブブロックに対応した３２×３２の直交変換係数には図８（ｃ）の量子化マトリクスが用いられるものとする。つまり、ゼロアウトが実行されていない３２×３２の直交変換係数には図８（ｂ）を用い、ゼロアウトが実行された６４×６４のサブブロックに対応した３２×３２の直交変換係数には図８（ｃ）の量子化マトリクスが用いられるものとする。ただし、使用される量子化マトリクスはこれに限定されない。生成された量子化係数は符号化部１１０および逆量子化・逆変換部１０６に出力される。
【００５９】
逆量子化・逆変換部１０６では、入力された量子化係数を量子化マトリクス保持部１０３に格納されている量子化マトリクスと、量子化パラメータとを用いて逆量子化して直交変換係数を再生する。そして、逆量子化・逆変換部１０６は、さらに再生された直交変換係数を逆直交変換して予測誤差を再生する。逆量子化処理には、変換・量子化部１０５同様、符号化対象のサブブロックの大きさに対応した量子化マトリクスが用いられる。より具体的な逆量子化・逆変換部１０６による逆量子化・逆直交変換処理について、以下に説明する。
【００６０】
図７（ｂ）の３２×３２のサブブロック分割が選択されている場合、逆量子化・逆変換部１０６は、変換・量子化部１０５で生成された３２×３２の量子化係数は図８（ｂ）の量子化マトリクスを用いて逆量子化し、３２×３２の直交変換係数を再生する。そして、逆量子化・逆変換部１０６は、前述の３２×３２の転置行列と３２×３２の直交変換との乗算を行い、３２×３２の行列状の中間係数を算出する。そして、逆量子化・逆変換部１０６は、この３２×３２の行列状の中間係数と前述の３２×３２の直交変換行列との乗算を行い３２×３２の予測誤差を再生する。各３２×３２サブブロックに対して同様の処理を行う。一方、図７（ａ）のように、分割無しが選択されている場合、変換・量子化部１０５で生成された３２×３２の量子化係数は図８（ｃ）の量子化マトリクスを用いて逆量子化され、３２×３２の直交変換係数を再生する。そして、前述の３２×６４の転置行列と３２×３２の直交変換との乗算を行い、３２×６４の行列状の中間係数を算出する。この３２×６４の行列状の中間係数と前述の６４×３２の直交変換行列との乗算を行い、６４×６４の予測誤差を再生する。本実施形態では、サブブロックの大きさに応じて、変換・量子化部１０５で用いられた量子化マトリクスと同一のものが用いられ逆量子化処理が実行される。再生された予測誤差は画像再生部１０７に出力される。
【００６１】
画像再生部１０７では、予測部１０４から入力される予測情報に基づいて、フレームメモリ１０８に記憶された予測画像の再生に必要なデータを適宜参照して、予測画像を再生する。そして再生された予測画像と逆量子化・逆変換部１０６から入力された再生された予測誤差から画像データを再生し、フレームメモリ１０８に入力し、格納する。
【００６２】
インループフィルタ部１０９では、フレームメモリ１０８から再生画像を読み出し、デブロッキングフィルタなどのインループフィルタ処理を行う。そして、フィルタ処理された画像を再びフレームメモリ１０８に入力し、再格納する。
【００６３】
符号化部１１０では、ブロック単位で、変換・量子化部１０５で生成された量子化係数、予測部１０４から入力された予測情報をエントロピー符号化し、符号データを生成する。エントロピー符号化の方法は特に指定しないが、ゴロム符号化、算術符号化、ハフマン符号化などを用いることができる。生成された符号データは統合符号化部１１１に出力される。
【００６４】
統合符号化部１１１では、前述のヘッダの符号データとともに符号化部１１０から入力された符号データなどを多重化してビットストリームを形成する。最終的には、ビットストリームは端子１１２から外部に出力される。
【００６５】
図６（ａ）は実施形態１で出力されるビットストリームの一例である。シーケンスヘッダにはベース量子化マトリクスの符号データが含まれ、各要素の符号化結果で構成されている。ただし、ベース量子化マトリクスの符号データ等が符号化される位置はこれに限定されず、ピクチャヘッダ部やその他のヘッダ部に符号化される構成をとってももちろん構わない。また、１つのシーケンスの中で量子化マトリクスの変更を行う場合、ベース量子化マトリクスを新たに符号化することで更新することも可能である。この際、全ての量子化マトリクスを書き換えてもよいし、書き換える量子化マトリクスに対応する量子化マトリクスのサブブロックの大きさを指定することでその一部を変更するようにすることも可能である。
【００６６】
図３は、実施形態１に係る画像符号化装置における符号化処理を示すフローチャートである。
【００６７】
まず、画像の符号化に先立ち、ステップＳ３０１にて、量子化マトリクス保持部１０３は二次元の量子化マトリクスを生成し、保持する。本実施形態では、図８（ａ）に示されたベース量子化マトリクスおよびベース量子化マトリクスから生成された図８（ｂ）、（ｃ）に示された量子化マトリクスを生成し、保持するものとする。
【００６８】
ステップＳ３０２にて、量子化マトリクス符号化部１１３は、ステップＳ３０１にて量子化マトリクスの生成に用いられたベース量子化マトリクスを走査して、走査順で前後する各要素間の差分を算出し、一次元の差分行列を生成する。本実施形態では、図８（ａ）に示されたベース量子化マトリクスは図９の走査方法を用い、図１０に示される差分行列が生成されるものとする。量子化マトリクス符号化部１１３はさらに生成された差分行列を符号化し、量子化マトリクス符号データを生成する。
【００６９】
ステップＳ３０３にて、統合符号化部１１１は、生成された量子化マトリクス符号データとともに、画像データの符号化に必要なヘッダ情報を符号化し、出力する。
【００７０】
ステップＳ３０４にて、ブロック分割部１０２はフレーム単位の入力画像を６４×６４画素の基本ブロック単位に分割する。
【００７１】
ステップＳ３０５にて、予測部１０４はステップＳ３０４にて生成された基本ブロック単位の画像データに対して、前述した予測方法を用いて予測処理を実行し、サブブロック分割情報や予測モードなどの予測情報および予測画像データを生成する。本実施形態では、図７（ｂ）に示された３２×３２画素のサブブロック分割および図７（ａ）に示される６４×６４画素のサブブロックの２種類のサブブロックサイズが用いられる。さらに入力された画像データと前記予測画像データから予測誤差を算出する。
【００７２】
ステップＳ３０６にて、変換・量子化部１０５はステップＳ３０５で算出された予測誤差を直交変換して直交変換係数を生成する。そして、変換・量子化部１０５は、さらにステップＳ３０１にて生成・保持された量子化マトリクスと、量子化パラメータとを用いて量子化を行い、量子化係数を生成する。具体的には、図７（ｂ）の３２×３２画素のサブブロックの予測誤差には３２×３２の直交変換行列およびその転置行列を用いた乗算を行い、３２×３２の直交変換係数を生成する。一方、図７（ａ）の６４×６４画素のサブブロックの予測誤差には６４×３２の直交変換行列およびその転置行列を用いた乗算を行い、３２×３２の直交変換係数を生成する。本実施形態では、図７（ｂ）の３２×３２のサブブロックの直交変換係数には図８（ｂ）、図７（ａ）の６４×６４のサブブロックに対応する直交変換係数には図８（ｃ）の量子化マトリクスを用い３２×３２の直交変換係数を量子化するものとする。
【００７３】
ステップＳ３０７にて、逆量子化・逆変換部１０６はステップＳ３０６で生成された量子化係数を、ステップＳ３０１にて生成・保持された量子化マトリクスと、量子化パラメータとを用いて逆量子化を行い、直交変換係数を再生する。さらに、直交変換係数に対して逆直交変換し、予測誤差を再生する。本ステップでは、それぞれ、ステップＳ３０６で用いられた量子化マトリクスと同一のものが用いられ、逆量子化処理が行われる。具体的には、図７（ｂ）の３２×３２画素のサブブロックに対応した３２×３２の量子化係数に対しては、図８（ｂ）の量子化マトリクスを用いた逆量子化処理を行い、３２×３２の直交変換係数を再生する。そしてこの３２×３２の直交変換係数を３２×３２の直交変換行列およびその転置行列を用いた乗算を行い、３２×３２画素の予測誤差を再生する。一方、図７（ａ）の６４×６４画素のサブブロックに対応した３２×３２の量子化係数に対しては、図８（ｃ）の量子化マトリクスを用いた逆量子化処理を行い、３２×３２の直交変換係数を再生する。そしてこの３２×３２の直交変換係数を６４×３２の直交変換行列およびその転置行列を用いた乗算を行い、６４×６４画素の予測誤差を再生する。
【００７４】
ステップＳ３０８にて、画像再生部１０７はステップＳ３０５で生成された予測情報に基づいて予測画像を再生する。さらに再生された予測画像とステップＳ３０７で生成された予測誤差から画像データを再生する。
【００７５】
ステップＳ３０９にて、符号化部１１０は、ステップＳ３０５で生成された予測情報およびステップＳ３０６で生成された量子化係数を符号化し、符号データを生成する。また、他の符号データも含め、ビットストリームを生成する。
【００７６】
ステップＳ３１０にて、画像符号化装置は、フレーム内の全ての基本ブロックの符号化が終了したか否かの判定を行い、終了していればステップＳ３１１に進み、そうでなければ次の基本ブロックを対象として、ステップＳ３０４に戻る。
【００７７】
ステップＳ３１１にて、インループフィルタ部１０９はステップＳ３０８で再生された画像データに対し、インループフィルタ処理を行い、フィルタ処理された画像を生成し、処理を終了する。
【００７８】
以上の構成と動作により、演算量を減らしつつ周波数成分ごとに量子化を制御し主観画質を向上させることができる。特にステップＳ３０５において、直交変換係数の数を減らし、減少した直交変換係数に対応する量子化マトリクスを用いた量子化処理をすることで、演算量を減らしつつ周波数成分ごとに量子化を制御し主観画質を向上させることができる。さらには、直交変換係数の数を減らし低周波部分のみを量子化・符号化する場合には、図８（ｃ）のようなベース量子化マトリクスの低周波部分のみを拡大する量子化マトリクスを用いることで、低周波部分に最適な量子化制御を実現することができる。なお、ここでいう低周波部分とは、図８（ｃ）の例では、ｘ座標が０〜３及びｙ座標が０〜３の範囲である。
【００７９】
なお、本実施形態では、符号量削減のため、図８（ｂ）、（ｃ）の量子化マトリクスの生成に共通して用いられる図８（ａ）のベース量子化マトリクスのみを符号化する構成としたが、図８（ｂ）、（ｃ）の量子化マトリクス自体を符号化する構成としてもよい。その場合、各量子化マトリクスの周波数成分ごとに独自の値を設定することができるため、周波数成分ごとにより細かな量子化制御を実現することができる。また、図８（ｂ）、図８（ｃ）のそれぞれに対し個別のベース量子化マトリクスを設定し、それぞれのベース量子化マトリクスを符号化する構成とすることも可能である。その場合、３２×３２の直交変換係数と６４×６４の直交変換係数に対し、それぞれ異なる量子化制御を実施し、より綿密な主観画質の制御を実現することもできる。さらにその場合、６４×６４の直交変換係数に対応する量子化マトリクスは、８×８のベース量子化マトリクスの左上の４×４部分を８倍に拡大する代わりに、８×８のベース量子化マトリクス全体を４倍に拡大してもよい。こうして６４×６４の直交変換係数に対しても、より細かな量子化制御を実現することができる。
【００８０】
さらには、本実施形態では、ゼロアウトを用いた６４×６４のサブブロックに対する量子化マトリクスが一意に決まる構成としたが、識別子を導入することで選択可能とする構成としても構わない。例えば図６（ｂ）は、量子化マトリクス符号化方法情報符号を新たに導入することで、ゼロアウトを用いた６４×６４のサブブロックに対する量子化マトリクス符号化を選択的にしたものである。例えば、量子化マトリクス符号化方法情報符号が０を示している場合には、ゼロアウトを用いた６４×６４画素のサブブロックに対応する直交変換係数に対し、独立した量子化マトリクスである図８（ｃ）が用いられる。また、符号化方法情報符号が１を示している場合には、ゼロアウトを用いた６４×６４画素のサブブロックに対し、通常のゼロアウトされないサブブロックに対する量子化マトリクスである図８（ｂ）が用いられる。一方、符号化方法情報符号が２を示している場合には、８×８のベース量子化マトリクスではなく、ゼロアウトを用いた６４×６４画素のサブブロックに対して用いられる量子化マトリクスの要素全てを符号化するといった具合である。これにより、量子化マトリクス符号量削減とゼロアウトを用いたサブブロックに対する独自の量子化制御とを選択的に実現することが可能となる。
【００８１】
また、本実施形態ではゼロアウトを用いて処理をしたサブブロックは６４×６４のみとしているが、ゼロアウトを用いて処理をするサブブロックはこれに限定されない。例えば、図７（ｃ）や図７（ｂ）に示された３２×６４や６４×３２サブブロックに対応する直交変換係数のうち、下半分や右半分の３２×３２の直交変換係数を強制的に０としても構わない。この場合、上半分や左半分の３２×３２の直交変換係数のみを量子化・符号化の対象とすることとなり、上半分や左半分の３２×３２の直交変換係数に対して図８（ｂ）とは異なる量子化マトリクスを用いて量子化処理を行うこととなる。
【００８２】
さらには、生成された直交変換係数のうち、画質への影響が最も大きいと考えられる左上端に位置するＤＣ係数に対応する量子化マトリクスの値を、８×８のベースマトリクスの各要素の値とは別に設定・符号化する構成としてもよい。図１２（ｂ）および図１２（ｃ）は、図８（ｂ）および図８（ｃ）と比較してＤＣ成分にあたる左上端に位置する要素の値を変更した例を示している。この場合、図８（ａ）のベース量子化マトリクスの情報に加えて、ＤＣ部分に位置する「２」を示す情報を別途符号化することにより、図１２（ｂ）および図１２（ｃ）に示される量子化マトリクスを設定することができる。これにより、画質への影響が最も大きい直交変換係数のＤＣ成分に対してより細かい量子化制御を施すことができる。
【００８３】
＜実施形態２＞
図２は、本発明の実施形態２に係る画像復号装置の構成を示すブロック図である。本実施形態では、実施形態１で生成された符号化データを復号する画像復号装置を例にして説明する。
【００８４】
２０１は符号化されたビットストリームが入力される端子である。
【００８５】
２０２は分離復号部であり、ビットストリームから復号処理に関する情報や係数に関する符号データに分離し、またビットストリームのヘッダ部に存在する符号データを復号する。本実施形態では、量子化マトリクス符号を分離し、後段に出力する。分離復号部２０２は図１の統合符号化部１１１と逆の動作を行う。
【００８６】
２０９は量子化マトリクス復号部であり、量子化マトリクス符号をビットストリームから復号してベース量子化マトリクスを再生し、さらにベース量子化マトリクスから各量子化マトリクスを生成する処理を実行する。
【００８７】
２０３は復号部であり、分離復号部２０２から出力された符号データを復号し、量子化係数および予測情報を再生（導出）する。
【００８８】
２０４は逆量子化・逆変換部であり、図１の逆量子化・逆変換部１０６と同様に、再生された量子化マトリクスと、量子化パラメータとを用いて量子化係数に逆量子化を行って直交変換係数を獲得し、さらに逆直交変換を行って、予測誤差を再生する。なお、量子化パラメータを導出するための情報も復号部２０３によってビットストリームから復号される。また、逆量子化を行う機能と、逆量子化を行う機能とは別々の構成にしてもよい。
【００８９】
２０６はフレームメモリである。再生されたピクチャの画像データを格納しておく。
【００９０】
２０５は画像再生部である。入力された予測情報に基づいてフレームメモリ２０６を適宜参照して予測画像データを生成する。そして、この予測画像データと逆量子化・逆変換部２０４で再生された予測誤差から再生画像データを生成し、出力する。
【００９１】
２０７はインループフィルタ部である。図１の１０９同様、再生画像に対し、デブロッキングフィルタなどのインループフィルタ処理を行い、フィルタ処理された画像を出力する。
【００９２】
２０８は端子であり、再生された画像データを外部に出力する。
【００９３】
上記画像復号装置における画像の復号動作を以下に説明する。本実施形態では、実施形態１で生成されたビットストリームをフレーム単位（ピクチャ単位）で入力する構成となっている。
【００９４】
図２において、端子２０１から入力された１フレーム分のビットストリームは分離復号部２０２に入力される。分離復号部２０２では、ビットストリームから復号処理に関する情報や係数に関する符号データに分離し、ビットストリームのヘッダ部に存在する符号データを復号する。より具体的には、量子化マトリクス符号データを再生する。本実施形態では、まず、図６（ａ）に示されるビットストリームのシーケンスヘッダから量子化マトリクス符号データを抽出し、量子化マトリクス復号部２０９に出力される。本実施形態では、図８（ａ）に示されるベース量子化マトリクスに対応する量子化マトリクス符号データが抽出、出力される。続いて、ピクチャデータの基本ブロック単位の符号データを再生し、復号部２０３に出力する。
【００９５】
量子化マトリクス復号部２０９では、まず入力された量子化マトリクス符号データを復号し、図１０に示される一次元の差分行列を再生する。本実施形態では、実施形態１同様、図１１（ａ）に示される符号化テーブルを用いて復号するものとするが、符号化テーブルはこれに限定されず、実施形態１と同じものを用いる限りは他の符号化テーブルを用いてもよい。さらに量子化マトリクス復号部２０９は再生された一次元の差分行列から二次元の量子化マトリクスを再生する。ここでは実施形態１の量子化マトリクス符号化部１１３の動作とは逆の動作を行う。すなわち、本実施形態では、図１０に示される差分行列は、図９に示される走査方法を用いて、それぞれ図８（ａ）に示されるベース量子化マトリクスを再生し、保持するものとする。具体的には、量子化マトリクス復号部２０９は、差分行列における各差分値を、前述の初期値から順次加算することによって、量子化マトリクスにおける各要素を再生する。そして、量子化マトリクス復号部２０９は、その再生した一次元の各要素を図９に示される走査方法に従って、順番に２次元の量子化マトリクスの各要素に対応付けることで、２次元の量子化マトリクスを再生する。
【００９６】
さらに量子化マトリクス復号部２０９では、この再生されたベース量子化マトリクスを、第１実施形態と同様に拡大し、図８（ｂ）および図８（ｃ）に示される２種類の３２×３２の量子化マトリクスを生成する。図８（ｂ）の量子化マトリクスは、図８（ａ）の８×８のベース量子化マトリクスの各要素を、垂直・水平方向に４回繰り返すことで４倍に拡大した３２×３２の量子化マトリクスである。
【００９７】
一方、図８（ｃ）の量子化マトリクスは、図８（ａ）のベース量子化マトリクスの左上４×４部分の各要素を、垂直・水平方向に８回繰り返すことで拡大した３２×３２の量子化マトリクスである。ただし、生成される量子化マトリクスはこれに限定されず、後段で逆量子化される量子化係数のサイズが３２×３２以外にも存在する場合は、１６×１６、８×８、４×４など逆量子化される量子化係数のサイズに対応した量子化マトリクスが生成されてもよい。生成されたこれらの量子化マトリクスは保持され、後段の逆量子化処理に用いられる。
【００９８】
復号部２０３では、符号データをビットストリームから復号し、量子化係数および予測情報を再生する。復号された予測情報に基づいて復号対象のサブブロックのサイズを決定し、さらに再生された量子化係数は逆量子化・逆変換部２０４に出力され、再生された予測情報は画像再生部２０５に出力される。本実施形態では復号対象のサブブロックの大きさ、すなわち図７（ａ）の６４×６４であるか、図７（ｂ）の３２×３２であるかに関わらず、各サブブロックに対して３２×３２の量子化係数が再生されるものとする。
【００９９】
逆量子化・逆変換部２０４では、入力された量子化係数に対し、量子化マトリクス復号部２０９で再生された量子化マトリクスと、量子化パラメータとを用いて逆量子化を行って直交変換係数を生成し、さらに逆直交変換を施して予測誤差を再生する。より具体的な逆量子化・逆直交変換処理について、以下に記す。
【０１００】
図７（ｂ）の３２×３２のサブブロック分割が選択されている場合、復号部２０３で再生された３２×３の量子化係数は図８（ｂ）の量子化マトリクスを用いて逆量子化され、３２×３２の直交変換係数を再生する。そして、前述の３２×３２の転置行列と３２×３２の直交変換との乗算を行い、３２×３２の行列状の中間係数を算出する。この３２×３２の行列状の中間係数と前述の３２×３２の直交変換行列との乗算を行い３２×３２の予測誤差を再生する。各３２×３２サブブロックに対して同様の処理を行う。
【０１０１】
一方、図７（ａ）のように分割無しが選択されている場合、復号部２０３で再生された３２×３２の量子化係数は図８（ｃ）の量子化マトリクスを用いて逆量子化され、３２×３２の直交変換係数を再生する。そして、前述の３２×６４の転置行列と３２×３２の直交変換との乗算を行い、３２×６４の行列状の中間係数を算出する。この３２×６４の行列状の中間係数と前述の６４×３２の直交変換行列との乗算を行い、６４×６４の予測誤差を再生する。
【０１０２】
再生された予測誤差は画像再生部２０５に出力される。本実施形態では、復号部２０３で再生された予測情報によって定まった復号対象のサブブロックの大きさに応じて、逆量子化処理において使用される量子化マトリクスを決定する。すなわち、図７（ｂ）の３２×３２の各サブブロックには、図８（ｂ）の量子化マトリクスが逆量子化処理に用いられ、図７（ａ）の６４×６４のサブブロックには図８（ｃ）の量子化マトリクスが用いられる。ただし、使用される量子化マトリクスはこれに限定されず、実施形態１の変換・量子化部１０５および逆量子化・逆変換部１０６で用いられた量子化マトリクスと同一のものであればよい。
【０１０３】
画像再生部２０５では、復号部２０３から入力された予測情報に基づいて、フレームメモリ２０６を適宜参照し、予測画像の再生に必要なデータを取得して、予測画像を再生する。本実施形態では、実施形態１の予測部１０４同様、イントラ予測およびインター予測の２種類の予測方法が用いられる。また、前述のようにイントラ予測とインター予測とを組み合わせた予測方法が用いられてもよい。また、実施形態１と同様に予測処理はサブブロック単位に行われる。
【０１０４】
具体的な予測処理については、実施形態１の予測部１０４と同様であるため、説明を省略する。画像再生部２０５は、予測処理によって生成された予測画像と、逆量子化・逆変換部２０４から入力された予測誤差から画像データを再生する。具体的には、画像再生部２０５は、予測画像と予測誤差とを加算することによって画像データを再生する。再生された画像データは、適宜、フレームメモリ２０６に格納される。格納された画像データは、他のサブブロックの予測の際に、適宜、参照される。
【０１０５】
インループフィルタ部２０７では、図１のインループフィルタ部１０９と同様、フレームメモリ２０６から再生画像を読み出し、デブロッキングフィルタなどのインループフィルタ処理を行う。そして、フィルタ処理された画像は再びフレームメモリ２０６に入力される。
【０１０６】
フレームメモリ２０６に格納された再生画像は、最終的には端子２０８から外部に出力される。再生画像は、例えば、外部の表示装置等に出力される。
【０１０７】
図４は、実施形態２に係る画像復号装置における画像の復号処理を示すフローチャートである。
【０１０８】
まず、ステップＳ４０１にて、分離復号部２０２はビットストリームから復号処理に関する情報や係数に関する符号データに分離して、ヘッダ部分の符号データを復号する。より具体的には、量子化マトリクス符号データを再生する。
【０１０９】
ステップＳ４０２にて、量子化マトリクス復号部２０９は、まずステップＳ４０１で再生された量子化マトリクス符号データを復号し、図１０で示される一次元の差分行列を再生する。次に、量子化マトリクス復号部２０９は再生された一次元の差分行列から二次元のベース量子化マトリクスを再生する。さらに、量子化マトリクス復号部２０９は、再生した二次元のベース量子化マトリクスを拡大し、量子化マトリクスを生成する。
【０１１０】
すなわち、本実施形態では、量子化マトリクス復号部２０９は、図１０に示される差分行列を、図９に示される走査方法を用いて、図８（ａ）に示されるベース量子化マトリクスを再生する。さらに、量子化マトリクス復号部２０９は再生されたベース量子化マトリクスを拡大し、図８（ｂ）および図８（ｃ）に示される量子化マトリクスを生成し、保持するものとする。
【０１１１】
ステップＳ４０３にて、復号部２０３はステップＳ４０１で分離された符号データを復号し、量子化係数および予測情報を再生する。さらに、復号された予測情報に基づいて復号対象のサブブロックのサイズを決定する。本実施形態では復号対象のサブブロックの大きさ、すなわち図７（ａ）の６４×６４か図７（ｂ）の３２×３２かに関わらず、各サブブロックに対して３２×３２の量子化係数が再生されるものとする。
【０１１２】
ステップＳ４０４にて、逆量子化・逆変換部２０４は量子化係数に対しステップＳ４０２で再生された量子化マトリクスを用いて逆量子化を行って直交変換係数を獲得し、さらに逆直交変換を行い、予測誤差を再生する。本実施形態では、ステップＳ４０３で再生された予測情報によって定まった復号対象のサブブロックの大きさに応じて、逆量子化処理において使用される量子化マトリクスを決定する。すなわち、図７（ｂ）の３２×３２の各サブブロックには、図８（ｂ）の量子化マトリクスが逆量子化処理に用いられ、図７（ａ）の６４×６４のサブブロックには図８（ｃ）の量子化マトリクスが用いられる。ただし、使用される量子化マトリクスはこれに限定されず、実施形態１のステップＳ３０６およびステップＳ３０７で用いられた量子化マトリクスと同一のものであればよい。
【０１１３】
ステップＳ４０５にて、画像再生部２０５はステップＳ４０３で生成された予測情報から予測画像を再生する。本実施形態では、実施形態１のステップＳ３０５同様、イントラ予測およびインター予測の２種類の予測方法が用いられる。さらに再生された予測画像とステップＳ４０４で生成された予測誤差から画像データを再生する。
【０１１４】
ステップＳ４０６にて、画像復号装置はフレーム内の全ての基本ブロックの復号が終了したか否かの判定を行い、終了していればステップＳ４０７に進み、そうでなければ次の基本ブロックを対象としてステップＳ４０３に戻る。
【０１１５】
ステップＳ４０７にて、インループフィルタ部２０７はステップＳ４０５で再生された画像データに対し、インループフィルタ処理を行い、フィルタ処理された画像を生成し、処理を終了する。
【０１１６】
以上の構成と動作により、実施形態１で生成された、低周波の直交変換係数のみを量子化・符号化したサブブロックに対しても、量子化マトリクスを用いて周波数成分ごとに量子化を制御し主観画質を向上したビットストリームを復号することができる。また、低周波の直交変換係数のみを量子化・符号化したサブブロックには、図８（ｃ）のようなベース量子化マトリクスの低周波部分のみを拡大した量子化マトリクスを用い、低周波部分に最適な量子化制御を施したビットストリームを復号することができる。
【０１１７】
なお、本実施形態では、符号量削減のため、図８（ｂ）、（ｃ）の量子化マトリクスの生成に共通して用いられる図８（ａ）のベース量子化マトリクスのみを復号する構成としたが、図８（ｂ）、（ｃ）の量子化マトリクス自体を復号する構成としてもよい。その場合、各量子化マトリクスの周波数成分ごとに独自の値を設定することができるため、周波数成分ごとにより細かな量子化制御を実現したビットストリームを復号することができる。
【０１１８】
また、図８（ｂ）、図８（ｃ）のそれぞれに対し個別のベース量子化マトリクスを設定し、それぞれのベース量子化マトリクスを符号化する構成とすることも可能である。その場合、３２×３２の直交変換係数と６４×６４の直交変換係数に対し、それぞれ異なる量子化制御を実施し、より綿密な主観画質の制御を実現したビットストリームを復号することもできる。さらにその場合、６４×６４の直交変換係数に対応する量子化マトリクスは、８×８のベース量子化マトリクスの左上４×４部分を８倍に拡大する代わりに、８×８のベース量子化マトリクス全体を４倍に拡大してもよい。こうして６４×６４の直交変換係数に対しても、より細かな量子化制御を実現することができる。
【０１１９】
さらには、本実施形態では、ゼロアウトを用いた６４×６４のサブブロックに対する量子化マトリクスが一意に決まる構成としたが、識別子を導入することで選択可能とする構成としても構わない。例えば図６（ｂ）は、量子化マトリクス符号化方法情報符号を新たに導入することで、ゼロアウトを用いた６４×６４のサブブロックに対する量子化マトリクス符号化を選択的にしたものである。例えば、量子化マトリクス符号化方法情報符号が０を示している場合には、ゼロアウトを用いた６４×６４のサブブロックに対応する量子化係数に対し、独立した量子化マトリクスである図８（ｃ）が用いられる。また、符号化方法情報符号が１を示している場合には、ゼロアウトを用いた６４×６４のサブブロックに対し、通常のゼロアウトされないサブブロックに対する量子化マトリクスである図８（ｂ）が用いられる。一方、符号化方法情報符号が２を示している場合には、８×８のベース量子化マトリクスではなく、ゼロアウトを用いた６４×６４のサブブロックに対して用いられる量子化マトリクスの要素全てを符号化するといった具合である。これにより、量子化マトリクス符号量削減とゼロアウトを用いたサブブロックに対する独自の量子化制御とを選択的に実現したビットストリームを復号することが可能となる。
【０１２０】
また、本実施形態ではゼロアウトを用いて処理をされたサブブロックは６４×６４のみとしているが、ゼロアウトを用いた処理を施されたサブブロックはこれに限定されない。例えば、図７（ｃ）や図７（ｂ）に示された３２×６４や６４×３２サブブロックに対応する直交変換係数のうち、下半分や右半分の３２×３２の直交変換係数を復号せず、上半分や左半分の量子化係数のみを復号する構成としても構わない。この場合、上半分や左半分の３２×３２の直交変換係数のみを復号・逆量子化の対象とすることとなり、上半分や左半分の３２×３２の直交変換係数に対して図８（ｂ）とは異なる量子化マトリクスを用いて量子化処理を行うこととなる。
【０１２１】
さらには、生成された直交変換係数のうち、画質への影響が最も大きいと考えられる左上端に位置するＤＣ係数に対応する量子化マトリクスの値を、８×８のベースマトリクスの各要素の値とは別に復号・設定する構成としてもよい。図１２（ｂ）および図１２（ｃ）は、図８（ｂ）および図８（ｃ）と比較してＤＣ成分にあたる左上端に位置する要素の値を変更した例を示している。この場合、図８（ａ）のベース量子化マトリクスの情報に加えて、ＤＣ部分に位置する「２」を示す情報を別途復号することにより、図１２（ｂ）および図１２（ｃ）に示される量子化マトリクスを設定することができる。これにより、画質への影響が最も大きい直交変換係数のＤＣ成分に対してより細かい量子化制御を施したビットストリームを復号することができる。
【０１２２】
＜実施形態３＞
図１、図２に示した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、これらの図に示した各処理部で行う処理をコンピュータプログラムでもって構成してもよい。
【０１２３】
図５は、上記各実施形態に係る画像表示装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
【０１２４】
ＣＰＵ５０１は、ＲＡＭ５０２やＲＯＭ５０３に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各実施形態に係る画像処理装置が行うものとして上述した各処理を実行する。即ち、ＣＰＵ５０１は、図１、図２に示した各処理部として機能することになる。
【０１２５】
ＲＡＭ５０２は、外部記憶装置５０６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）５０７を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、ＲＡＭ５０２は、ＣＰＵ５０１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ５０２は、例えば、フレームメモリとして割り当てたり、その他の各種のエリアを適宜提供したりすることができる。
【０１２６】
ＲＯＭ５０３には、本コンピュータの設定データや、ブートプログラムなどが格納されている。操作部５０４は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をＣＰＵ５０１に対して入力することができる。表示部５０５は、ＣＰＵ５０１による処理結果を表示する。また表示部５０５は例えば液晶ディスプレイで構成される。
【０１２７】
外部記憶装置５０６は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置５０６には、ＯＳ（オペレーティングシステム）や、図１、図２に示した各部の機能をＣＰＵ５０１に実現させるためのコンピュータプログラムが保存されている。更には、外部記憶装置５０６には、処理対象としての各画像データが保存されていてもよい。
【０１２８】
外部記憶装置５０６に保存されているコンピュータプログラムやデータは、ＣＰＵ５０１による制御に従って適宜、ＲＡＭ５０２にロードされ、ＣＰＵ５０１による処理対象となる。Ｉ／Ｆ５０７には、ＬＡＮやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータはこのＩ／Ｆ５０７を介して様々な情報を取得したり、送出したりすることができる。５０８は上述の各部を繋ぐバスである。
【０１２９】
上述の構成からなる作動は前述のフローチャートで説明した作動をＣＰＵ５０１が中心となってその制御を行う。
【０１３０】
（その他の実施例）
各実施形態は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成することができる。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
【０１３１】
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
【０１３２】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
【符号の説明】
【０１３３】
１０１、１１２、２０１、２０８  端子
１０２  ブロック分割部
１０３  量子化マトリクス保持部
１０４  予測部
１０５  変換・量子化部
１０６、２０４  逆量子化・逆変換部
１０７、２０５  画像再生部
１０８、２０６  フレームメモリ
１０９、２０７  インループフィルタ部
１１０  符号化部
１１１  統合符号化部
１１３  量子化マトリクス符号化部
２０２  分離復号部
２０３  復号部
２０９  量子化マトリクス復号部
【図１】
2020150339.tif 000003
【図２】
2020150339.tif 000004
【図３】
2020150339.tif 000005
【図４】
2020150339.tif 000006
【図５】
2020150339.tif 000007
【図６】
2020150339.tif 000008
【図７】
2020150339.tif 000009
【図８】
2020150339.tif 000010
【図９】
2020150339.tif 000011
【図１０】
2020150339.tif 000012
【図１１】
2020150339.tif 000013
【図１２】
2020150339.tif 000014