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