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