動画像を符号化する動画像符号化装置で用いられる、各々の成分が1以上であり255以下である整数値をとる量子化マトリクスの符号化方法であって、前記量子化マトリクスの成分を予め定められた順序に並べた数列のI番目の要素と前記数列のI-1番目の要素との差分を算出し、前記差分が-128より小さい場合に前記差分と256とを加算した値をオフセット差分値とし、前記差分が128と同じかそれより大きい場合に前記差分と-256とを加算した値をオフセット差分値とし、前記差分が-128と同じかそれより大きく128より小さい場合に前記差分をオフセット差分値として生成し、前記生成したオフセット差分値を可変長符号化する量子化マトリクスの符号化方法。前記オフセット差分値を符号化する可変長符号は、前記オフセット差分値の絶対値が大きい値を符号化した符号語長が絶対値が小さい値を符号化した符号語長よりも大きいか等しくなる符号であることを特徴とする請求項1記載の量子化マトリクスの符号化方法。前記オフセット差分値は、-128および127を値として含む-128から127の範囲の整数値となる、請求項1または請求項2に記載の量子化マトリクスの符号化方法。動画像の符号化装置であって、各々の成分が1以上であり255以下である整数値をとる量子化マトリクスの符号化手段を含み、前記符号化手段は、前記量子化マトリクスの成分を予め定められた順序に並べた数列のI番目の要素成分値と前記数列のI-1番目の要素との差分を算出する減算器と、前記差分が-128より小さい場合に前記差分と256とを加算した値をオフセット差分値とし、前記差分が128と同じかそれより大きい場合に前記差分と-256とを加算した値をオフセット差分値とし、前記差分が-128と同じかそれより大きく128より小さい場合に前記差分をオフセット差分値としてオフセット差分値を生成するオフセット差分値生成部と、前記生成したオフセット差分値を絶対値が大きい値を符号化した符号語長が絶対値が小さい値を符号化した符号語長よりも大きいか等しくなる可変長符号化を行う符号化部と、を含む符号化装置。動画像を符号化した信号を含む動画像信号ストリームであって、前記符号化は、各々の成分が1以上であり255以下である整数値をとる量子化マトリクスの成分を予め定められた順序に並べた数列のI番目の要素と前記数列のI-1番目の要素との差分を算出し、前記差分が-128より小さい場合に前記差分と256とを加算した値をオフセット差分値とし、前記差分が128と同じかそれより大きい場合に前記差分と-256とを加算した値をオフセット差分値とし、前記差分が-128と同じかそれより大きく128より小さい場合に前記差分をオフセット差分値として生成し、前記生成したオフセット差分値を可変長符号化するものである動画像信号ストリーム。しかしながら、量子化マトリクスの各周波数成分の値は一定の範囲に集中していることから単純に固定長符号化を行うと符号化効率がよくないという問題がある。本発明の目的は、量子化マトリクスの符号化効率を向上させた画像符号化方法、画像復号化方法、画像符号化装置、画像復号化装置およびプログラムを提供することを目的とする。上記目的を達成するため本発明の画像符号化方法は、画像をブロック単位の直交変換および量子化によって符号化するとともに、直交変換係数の各周波数に応じた量子化ステップを導出するための量子化マトリクスを符号化する画像符号化方法であって、前記量子化マトリクスの周波数成分毎に、周波数成分とその周波数成分に応じた所定値との差分値を求め、前記差分値を可変長符号に符号化し、前記可変長符号は、前記差分値が小さいほど短いか同じ長さの符号長を有する。ここで、所定値は、例えば最も出現頻度の高い周波数成分の値でもよいし、周波数成分の平均的な値を示す定数でもよいし、周波数成分毎に予め定められた値でもよい。この構成によれば、周波数成分と所定値との差分値をとるので差分値は周波数成分よりも小さい値になり、周波数成分そのものを符号化するのではなく、差分値を符号化するので、可変長符号の符号長を短くし符号化効率を向上させることができる。ここで、前記所定値は、直前に求められた差分値に対応する周波数成分の値としてもよい。この構成によれば、周波数成分と直前の周波数成分とは通常は相関関係があるので、各差分値をより小さい値にすることができ、さらに符号化効率を向上させることができる。ここで、前記差分値は、前記量子化マトリクスに含まれる周波数成分の低周波数から高周波数の順に求めてもよい。この構成によれば、低周波数から高周波数の順に周波数成分が符号化されるので、周波数成分と直前の周波数成分とは同じくらいの値をとる確率が高く、より確実に各差分値を小さい値にすることができ、より一層符号化効率を向上させることができる。ここで、前記差分値は、2のk乗kは定数で除算した剰余として求めてもよい。この構成によれば、例えば、2の8乗k=8で割った剰余として差分値が表現される場合には、差分値を実質的に8ビットで表現できる値に小さくすることができ、さらに可変長符号のビット数を減らすことができる。ここで、前記画像符号化方法は、さらに、連続する差分値0が量子化マトリクスの末尾に存在するかどうかを判定し、連続する差分値0が存在すると判定された場合に、前記連続する差分値0を可変長符号化しないようにしてもよい。ここで、前記符号化方法は、さらに、前記可変長符号化した最後に終了符号を付加し、それ以降が符号化されていない連続する差分値0であることを示すようにしてもよい。この構成によれば、同じ値をもつ複数の周波数成分が量子化マトリクスの末尾に連続している場合に、同じビット列をもつ複数の可変長符号を生成するのではなく、複数の周波数成分に対して可変長符号が1つだけ生成されるので、符号化効率をさらに向上させることができる。また、この場合、終了符号を付加することにより、画像復号化装置の復号処理の効率を向上させることができる。また、記目的を達成するため本発明の画像復号化方法は、符号化された画像をブロック単位に逆量子化および逆直交変換によって復号化するとともに、符号化された量子化マトリクスを復号化する画像復号化方法であって、可変長符号化された量子化マトリクスを、周波数成分毎の差分値に可変長復号し、前記差分値と、周波数成分に応じた所定値とを加算することにより、量子化マトリクスの周波数成分を求め、前記可変長符号は、前記差分値が小さいほど短いか同じ長さの符号長を有する。ここで、前記所定値は、直前の加算により求められた周波数成分の値としてもよい。ここで、前記加算の順序は、周波数成分の低周波数から高周波数の順としてもよい。ここで、前記周波数成分は、2のk乗kは定数で除算した剰余として求めてもよい。この構成によれば、上記符号化方法によって符号化効率を向上させた可変長符号列を容易に復号化することができる。ここで、前記画像復号化方法において、可変長符号化された量子化マトリクスから終了符号が検出された場合に、それ以降に後続する各周波数成分の値として、終了符号の直前の周波数成分と同じ値を出力してもよい。この構成によれば、同じ値をもつ複数の周波数成分が量子化マトリクスの末尾に連続している場合に、1つの可変長符号から複数の周波数成分を復号化することができる。また、同じ値をもつ複数の周波数成分が量子化マトリクスの末尾に連続していることを、終了符号によって容易に判別することができる。また、本発明の画像符号化装置、画像復号化装置、プログラムについても上記と同様の構成および効果を有する。以下、本発明の実施の形態1について、図3から図17を用いて説明する。図3は実施の形態1における画像符号化装置の構成を示すブロック図である。動画像符号化装置1は、入力される画像信号Vinを圧縮符号化して可変長符号等のビットストリームに変換した画像符号化信号Strを出力する装置であり、動き検出ユニットME、動き補償ユニットMC、減算ユニットSub、直交変換ユニットT、量子化ユニットQ、逆量子化ユニットIQ、逆直交変換ユニットIT、加算ユニットAdd、ピクチャメモリPicMem、スイッチSW、および可変長符号化ユニットVLCを備えている。画像信号Vinは、減算ユニットSubおよび動き検出ユニットMEに入力される。減算ユニットSubは、入力された画像信号Vinと予測画像の差分値を計算し、直交変換ユニットTに出力する。直交変換ユニットTは、差分値を周波数係数に変換し、量子化ユニットQに出力する。量子化ユニットQは、減算ユニットSub入力されたブロック単位の周波数係数を外部から入力された量子化マトリクスWMを参照して導出した量子化ステップで量子化し、量子化値Qcoefを可変長符号化ユニットに出力する。逆量子化ユニットIQは、量子化マトリクスWMを参照して導出した量子化ステップで量子化値Qcoefを逆量子化して周波数係数に復元し、逆直交変換ユニットITに出力する。逆直交変換ユニットITは、周波数係数から画素差分値に逆周波数変換し、加算ユニットAddに出力する。加算ユニットAddは、画素差分値と動き補償ユニットMCから出力される予測画像とを加算して復号化画像とする。スイッチSWは、当該復号化画像の保存が指示された場合にONになり、復号化画像はピクチャメモリPicMemに保存される。一方、画像信号Vinがマクロブロック単位で入力された動き検出ユニットMEは、ピクチャメモリPicMemに格納されている復号化画像を探索対象とし、最も入力画像信号に近い画像領域を検出することによってその位置を指し示す動きベクトルMVを決定する。動きベクトル検出はマクロブロックをさらに分割したブロック単位で行われる。このとき、複数のピクチャを参照ピクチャとして使用することができるため、参照するピクチャを指定するための識別番号参照インデックスIndexがブロックごとに必要となる。参照インデックスIndexによって、ピクチャメモリPicMem中の各ピクチャが有するピクチャ番号との対応を取ることにより参照ピクチャを指定することが可能となる。動き補償ユニットMCでは、上記処理によって検出された動きベクトルおよび参照インデックスIndexを用いて、ピクチャメモリPicMemに格納されている復号化画像から予測画像に最適な画像領域を取り出す。可変長符号化ユニットVLCは、量子化マトリクスWM、量子化値Qcoef、参照インデックスIndexおよび動きベクトルMVを可変長符号化して符号化ストリームStrとする。そのため、可変長符号化ユニットVLCは、第1符号化部と第2符号化部とを内部に有する。第1符号化部以下WM符号化部と呼ぶ。は、量子化マトリクスWMを可変長符号化する。第2符号化部は、量子化マトリクスWM以外の、量子化値Qcoef、参照インデックスIndexおよび動きベクトルMV等を可変長符号化する。WM符号化部は、前記量子化マトリクスの周波数成分毎に、周波数成分とその周波数成分に応じた所定値との差分値を求め、前記差分値を可変長符号に符号化する。この可変長符号は、一部を除いて前記差分値が小さいほど短い符号長を有している。図4は、WM符号化部の構成を示すブロック図である。同図のようにWM符号化部は、減算器41、Wバッファ42、オフセット決定部43、加算器44、ブロックバッファ45、個数判定部46、終了符号保持部47、スイッチ48、可変長符号化部49を備える。減算器41は、前記量子化マトリクスの周波数成分毎に、周波数成分とその周波数成分に応じた所定値との差分値を求める。所定値は、例えば最も出現頻度の高い周波数成分の値でもよいし、周波数成分の平均的な値を示す定数でもよいし、周波数成分毎に予め定められた値でもよい。本実施の形態では、所定値は、直前に求められた差分値に対応する周波数成分の値である。この場合、減算器41は、外部から入力された現在の周波数成分Wiと、Wバッファ42に保持された直前の周波数成分Wi1との差分値を求める。周波数成分Wiと直前の周波数成分Wi1とは通常は相関関係があるので、各差分値をより小さい値とすることができる。なお、Wiは符号化順序がi番目の周波数成分を表す。図5A~図5Dは、減算器41に入力される量子化マトリクスの周波数成分の順序例を示す図である。この順序は、減算器41に入力される量子化マトリクスのスキャン順序である。画像符号化の直交変換では、4x4画素単位と8x8画素単位の2通りが最もよく使用される。そこで、図5Aと図5Bに4x4画素単位の例、図5Cと図5Dに8x8画素単位の例を示す。本実施の形態では量子化マトリクスの各成分を個別に図8A~図8Cの何れかで符号化することから、図5Aや図5Cのように低周波数成分から高周波数成分の順番に符号化したとしても、図5Bや図5Bのように単純に水平順序で符号化したとしても符号化効率に差は無い。図6Aは、減算器41に入力される量子化マトリクスの周波数成分の一部を示す。同図のW[0]、W[1]、W[2]、W[3]、は図5Bの符号化順序に従っている。Wバッファ42は、直前の周波数成分Wi1を保持するバッファである。符号化開始前に、Wバッファ42は、DC成分として最も取り得る代表的な値を初期値W[-1]として保持している。本実施形態では初期値W[-1]は8とする。なお、Wバッファ42は、直前の周波数成分Wi1を保持する代わりに、周波数成分に応じた所定値Kを予め保持するようにしてもよい。オフセット決定部43は、減算器41からの差分Wi-Wi1を2のk乗ここではk=8で除算した剰余に変換するためのオフセット値を決定する。すなわち、Wi-Wi1にオフセットを加算した結果が128から127までの値となるように、256、0もしくは256のいずれかの値を出力する。加算器44は、減算器41からの差分値Wi-Wi1とオフセット決定部43からのオフセット値とを加算することにより差分値Diを算出する。なお、Diは符号化順序がi番目の差分値を表す。図6Bは、加算器44により算出された差分値Diの一例を示す。同図の差分値D[0]、D[1]、D[2]、D[3]は、図6Aの周波数成分W[0]、W[1]、W[2]、W[3]に対応する例である。ブロックバッファ45は、加算器44から入力される差分値Diを1ブロック分1量子化マトリクス分保持するバッファである。個数判定部46は、スキャン順序の最後ブロックの最後に連続して存在する差分値0Wi-Wi1=0の個数をカウントし、ブロックバッファ45に保持されたD[0]~D[M]を出力させるように48を制御する。ここで、D[M]は、上記連続して存在する差分値0の先頭の差分値0の直前の差分値である。終了符号保持部47は、量子化マトリクスの可変長符号の終端を示す終了符号を保持する。終了符号は、差分値Diがとり得ない値であればよい。スイッチ48は、ブロックバッファ45に保持されたD[0]~D[M]を出力させるようにブロックバッファ45出力を選択した後、1個の終了符号を出力させるように終了符号保持部47出力を選択する。つまり、スイッチ48の出力は、量子化マトリクスの先頭に対応する差分値D[0]から最後に連続して存在する差分値0の直前の差分値D[M]までと、1つの終了符号である。なお、個数判定部46でカウントされた、スキャン順序の最後ブロックの最後に連続して存在する差分値0Wi-Wi1=0の個数が0の場合には、スイッチ48は終了符号を出力しない。可変長符号化部49は、ブロックバッファ45からスイッチ48を介して入力される差分値と、終了符号とを、差分値が小さいほど短いか同じ長さの符号長となるように可変長符号化する。図6Cは、可変長符号化部49により図8Cの符号を用いて符号化された符号の具体例を示す。同図において、W[0]~W[4]、D[0]~D[4]は図6A、図6Bに対応している。可変長符号化部49による符号は、例えば、差分値が0のとき符号長が1ビットであり、差分値が1のとき符号長が3ビットである。このように、可変長符号化部49による可変長符号は、差分値が小さいほど短い符号長となっている。また、周波数成分W[30]~W[63]まではいずれも同じ値64となっている。この場合、差分値D[30]~D[63]は連続して0になる。この場合、差分値D[30]~D[63]は符号化されない。差分値D[30]の0に対する符号1の代わりに終了符号が可変長符号化されることになる。図7は、WM符号化部における量子化マトリクスの詳細な符号化処理を示すフローチャートである。同図においてNumは量子化マトリクス中の周波数成分の個数16、64など、i、jはそれぞれ0からNum1までをカウントするための変数である。WM符号化部は、まず、Wバッファ42に初期値W[-1]例えば8を保持させS71、ループ1に示す処理S72~S77で量子化マトリクスの各周波数成分について差分値を求めてブロックバッファ45に格納し、その後ループ2S78~S81に示す処理で差分値の可変長符号化を行う。ループ1において、減算器41は、外部から入力された現在の周波数成分Wiと、Wバッファ42に保持された直前の周波数成分Wi1との差分値Dを求めるS73。オフセット決定部43は、減算器41からの差分Dを2のk乗ここではk=8をで除算した剰余に変換するためのオフセット値を決定するS74。例えばWiが-256~254の値を取り得る場合、オフセット決定部43は、Dが128以上の場合にオフセット値は-256、Dが-128よりも小さいときオフセット値は256、Dがそれ以外のときオフセット値は0と決定する。これにより、オフセット値加算後のDつまりDiは、-128~127の範囲内の、正の値だけでなく負の値も含めた剰余となる。これにより、差分値Diの取り得る値が小さくなるので、図8Cの符号を用いて符号化した場合のDiの可変長符号も短くなる。加算器44は、減算器41からの差分値D=Wi-Wi1とオフセット決定部43からのオフセット値とを加算することにより差分値D[i]を算出するS75~76。ループ2において、個数判定部46は、Di列の最後に連続して存在する差分値0の個数を判定しS79、その連続する差分値0の直前の差分値D[M]までをスイッチ48をブロックバッファ45出力に接続し、その後終了符号保持部47出力に接続する。可変長符号化部49は、ブロックバッファ45からスイッチ48を介して入力される差分値Diと、終了符号保持部47からスイッチ48から入力される終了符号を符号化するS82。終了符号を、Diの取り得ない値であればよく、ここでは-W[M]つまりWM=0としている。量子化マトリクスの周波数成分は正数であるため、WMが0であることを終了符号として識別できるのである。図8A~図8Cは可変長符号化部49における可変長符号化の例を示す説明図である。いずれも指数ゴロム符号を利用している。図8Aは、可変長符号の第1の例を示す。同図では、符号語codeと、符号化前の差分値valueの関係を示す。この例は、差分値が取り得る値が正数である場合に利用可能である。大きな差分値ほど生起頻度が小さく符号長が長い。従って小さな差分値には短い符号語が割り当てられている。符号語と各成分の値との変換は図8Aに示す算術式で容易に導出できる。例えば、差分値valueが7の場合、7=43=2の2乗二進数11と表現される。これに対する符号語codeは、0003個の0と1と11を並べたビット列になる。図8AにおけるNはvalueを超えない直近の2のべき乗のべき数である。X0X1X2XN1は、valueから直近の2のべき乗を減じた値を示すビット列である。図8Bは、可変長符号の第2の例を示す。同図では、value欄に量子化マトリクスの周波数成分Wiつまり、所定値K差分値を記してある。量子化マトリクスの成分Wiの値が所定値Kを最も取りやすい場合に適している。所定値Kの生起頻度が高いことから成分の値がKの場合に符号長が最短になり、成分の値がKから離れると符号長が長くなる。所定値Kは例えばWi1でよいが、予め定められた定数でもよい。図8Cは、可変長符号化の第3の例を示す。同図では、符号語codeと、符号化前の差分値valueの関係を示す。この例は、差分値が取り得る値が正数だけでなく負数である場合に利用可能である。図5A~図5Dに示した順序で量子化マトリクスの各成分を符号化する際に、隣接する周波数成分Wi1の値は相関が大きい。従って、図5A~図5Dの何れか順序で符号化する際に、直前に符号化した成分の値Wi1との差分値を符号化することで、差分値が0近傍に集中する。その結果、図8Cに示すように0近傍の値の符号化には短い符号長で0から離れた値は長い符号長の符号語を用いることで、可変長符号のビット数が更に削減できる。図9A~図9Cは、量子化マトリクスおよびストリーム中に符号化された量子化マトリクスのデータ構造を示す図である。同図において、Headerは図1のStream、GOP、もしくはピクチャのヘッダに相当する。図9Aは量子化マトリクスの周波数成分の配列を示す図である。Wijはi行j列の量子化マトリクスの成分を表している。図9Bと図9Cは量子化マトリクスの各成分の符号化されたデータがヘッダ部にどのように配置されているかを示している。量子化マトリクスを符号化したビットストリームがWeightingMatrixである。図9Bが図5Cの順序で符号化されたストリームであり、図9Cが図5Dの順序で符号化されたストリームである。なお、図9Bと図9Cのストリーム中でWijと記載されているのはWijに相当する符号化された可変長符号という意味である。以上説明してきたように本実施の形態におけるWM符号化部によれば、周波数成分Wiと所定値Kとの差分値Diをとるので、差分値Diは周波数成分Wiよりも小さい値になる。W符号化部は、周波数成分Wiそのものを符号化するのではなく、差分値Diを符号化するので、可変長符号の符号長を短くし符号化効率を向上させることができる。また、所定値Kとして直前の周波数成分Wi1を用いることにより、各差分値Diをより小さい値にすることができ、さらに符号化効率を向上させることができる。周波数成分Wiと直前の周波数成分Wi1とは通常は相関関係があるからである。また、周波数成分Wiは、低周波数から高周波数の順に周波数成分が符号化されるので、周波数成分Wiと直前の周波数成分Wi1とは同じくらいの値をとる確率が高く、より確実に各差分値Diを小さい値にすることができ、より一層符号化効率を向上させることができる。さらに、差分値Diが2の8乗k=8で割った剰余として表現される場合には、差分値を実質的に8ビットで表現できる値に小さくすることができ、さらに可変長符号のビット数を減らすことができる。また、同じ値をもつ複数の周波数成分が量子化マトリクスの末尾に連続している場合に、同じビット列をもつ複数の可変長符号を生成するのではなく、複数の周波数成分に対して可変長符号が1つも生成されないので、符号化効率をさらに向上させることができる。また、この場合、終了符号を付加することにより、画像復号化装置の復号処理の効率を向上させることができる。図10は本実施の形態1における画像復号化装置のブロック図である。同図において、図3の画像符号化装置のブロック図と同じ動作をするユニットは同じ番号を付し、説明を省略する。可変長復号化ユニットVLDは、符号化ストリームStrを復号化し、量子化マトリクスWM、量子化値Qcoef、参照インデックスIndexおよび動きベクトルMVを出力する。そのため、可変長復号ユニットVLDは、第1復号化部と第2復号化部とを内部に有する。第1復号化部以下WM復号化部と呼ぶ。は、符号化された量子化マトリクスWMを可変長復号化する。第2復号化部は、符号化された量子化マトリクスWM以外の、符号化された量子化値Qcoef、参照インデックスIndexおよび動きベクトルMV等を可変長復号化する。WM復号化部は、可変長符号化された量子化マトリクスを、周波数成分毎の差分値に可変長復号し、前記差分値と周波数成分に応じた所定値とを加算することにより、量子化マトリクスの周波数成分を求める。量子化マトリクスQM、量子化値Qcoef、参照インデックスIndexおよび動きベクトルMVは、ピクチャメモリPicMem、動き補償ユニットMCおよび逆量子化ユニットIQに入力され復号化処理が行われるが、その動作は図3の画像復号化装置のブロック図で説明済みである。図11は、WM復号化部の構成を示すブロック図である。WM復号化部は、可変長復号化部51、加算器52、乗余計算部53、スイッチ54、Wバッファ55、スイッチ56、最終係数判定部57を備える。可変長復号化部51は、可変長符号化された周波数成分の可変長符号を、周波数成分毎の差分値Diに復号化する。加算器52は、可変長復号化部51からの差分値Diと、Wバッファ55からの直前の周波数成分Wi1の値とを加算する。乗余計算部53は、加算器52からの加算結果に2のk乗を加算し、さらに2のk乗の剰余を算出することにより、周波数成分Wiを求める。具体的には、乗余計算部53は、DiWi1256256を算出する。ここで、は256で除算した剰余を得る演算を示す。スイッチ54は、乗余計算部53から終了符号が出力されていない間はオン、終了符号が出力されるとオフする。Wバッファ55は、乗余計算部53からスイッチ54を介して入力される周波数成分Wiを保持し、次のサイクルで周波数成分Wi1として加算器52に出力する。また、Wバッファ55は初期値としてWi1例えば8を保持している。スイッチ56は、乗余計算部53から終了符号が出力されていない間は、乗余計算部53からスイッチ54を介して入力される周波数成分Wiを選択し、終了符号が出力された後は、Wバッファ55を選択する。最終係数判定部57は、乗余計算部53から終了符号が出力されたか否かを判定し、判定結果に応じてスイッチ54およびスイッチ56を制御する。以上のようにして、全ての周波数成分に対応Wiを復号できる。なお、終了符号が検出されなくても、ブロックに含まれる全ての周波数成分と同数の差分値Diを復号化した場合にはその時点で量子化マトリクスの復号化を終了する。図12は、WM復号化部におけるWM復号化処理を示すフローチャートである。同図においてNumは量子化マトリクス中の周波数成分の個数16、64など、iは0からNum1までをカウントするための変数、jはiからNum1までをカウントするための変数である。同図のように、WM復号化部は、まず初期値Wi1をWバッファ55に保持させS121、ループ1S122~127において可変長復号および出力し、終了符号が検出された後はループ2S128~130において同じ値をもつ連続する周波数係数を出力する。ループ1において、可変長復号化部51は入力された可変長符号を差分値Diに復号化するS123。さらに、加算器52は可変長復号化部51からの差分値と、Wバッファ55からの直前の周波数成分とを加算し、乗余計算部53は、剰余W=DiWi1256256を算出するS124。最終係数判定部57は、この剰余Wが終了符号であるか否かここでは正であるか否かを判定するS125。終了符号でないと判定された場合には、剰余Wは周波数成分Wi1として乗余計算部53からスイッチ56を介して出力され、同時にスイッチ54を介してWバッファ55に保持されるS126。終了符号であると判定された場合には、ループ2の処理が実行される。ループ2では、同じ値をもつ複数の周波数成分が量子化マトリクスの末尾に連続している場合に、周波数成分Wi1を周波数成分Wiとして連続して出力する。すなわち、後続する各周波数成分Wi~WNum1として、Wバッファ55に保持されたWi1をスイッチ56を介して出力するS129。以上説明してきたように本実施の形態におけるWM復号化部によれば、WM符号化部によって差分符号化された可変長符号を正しく復号する。さらに、同じ値をもつ複数の周波数成分が量子化マトリクスの末尾に連続している場合に、WM復号化部は、その複数の周波数成分を1つの可変長符号から復号化することができる。その際、同じ値をもつ複数の周波数成分が量子化マトリクスの末尾に連続していることを、終了符号によって容易に判別することができる。さらに、上記各実施の形態で示した画像符号化方法および画像復号化方法を実現するためのプログラムを、フレキシブルディスク等の記録媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。図13A~Cは、上記各実施の形態の画像符号化方法および画像復号化方法を、フレキシブルディスク等の記録媒体に記録されたプログラムを用いて、コンピュータシステムにより実施する場合の説明図である。図13Bは、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図13Aは、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクFDはケースF内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクFD上に割り当てられた領域に、上記プログラムが記録されている。また、図13Cは、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。画像符号化方法および画像復号化方法を実現する上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムをフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより画像符号化方法および画像復号化方法を実現する上記画像符号化方法および画像復号化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ICカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。さらにここで、上記実施の形態で示した画像符号化方法および画像復号化方法の応用例とそれを用いたシステムを説明する。図14は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex107~ex110が設置されている。このコンテンツ供給システムex100は、例えば、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex107~ex110を介して、コンピュータex111、PDApersonaldigitalassistantex112、カメラex113、携帯電話ex114、カメラ付きの携帯電話ex115などの各機器が接続される。しかし、コンテンツ供給システムex100は図14のような組合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex107~ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、PDCPersonalDigitalCommunications方式、CDMACodeDivisionMultipleAccess方式、W-CDMAWidebandCodeDivisionMultipleAccess方式、若しくはGSMGlobalSystemforMobileCommunications方式の携帯電話機、またはPHSPersonalHandyphoneSystem等であり、いずれでも構わない。また、ストリーミングサーバex103は、カメラex113から基地局ex109、電話網ex104を通じて接続されており、カメラex113を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするサーバ等で行ってもよい。また、カメラ116で撮影した動画データはコンピュータex111を介してストリーミングサーバex103に送信されてもよい。カメラex116はデジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラex116で行ってもコンピュータex111で行ってもどちらでもよい。また、符号化処理はコンピュータex111やカメラex116が有するLSIex117において処理することになる。なお、画像符号化復号化用のソフトウェアをコンピュータex111等で読み取り可能な記録媒体である何らかの蓄積メディアCD-ROM、フレキシブルディスク、ハードディスクなどに組み込んでもよい。さらに、カメラ付きの携帯電話ex115で動画データを送信してもよい。このときの動画データは携帯電話ex115が有するLSIで符号化処理されたデータである。このコンテンツ供給システムex100では、ユーザがカメラex113、カメラex116等で撮影しているコンテンツ例えば、音楽ライブを撮影した映像等を上記実施の形態同様に符号化処理してストリーミングサーバex103に送信する一方で、ストリーミングサーバex103は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114等がある。このようにすることでコンテンツ供給システムex100は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。このシステムを構成する各機器の符号化、復号化には上記各実施の形態で示した画像符号化装置あるいは画像復号化装置を用いるようにすればよい。その一例として携帯電話について説明する。図15は、上記実施の形態で説明した画像符号化方法および画像復号化方法を用いた携帯電話ex115を示す図である。携帯電話ex115は、基地局ex110との間で電波を送受信するためのアンテナex201、CCDカメラ等の映像、静止画を撮ることが可能なカメラ部ex203、カメラ部ex203で撮影した映像、アンテナex201で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex202、操作キーex204群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex208、音声入力をするためのマイク等の音声入力部ex205、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディアex207、携帯電話ex115に記録メディアex207を装着可能とするためのスロット部ex206を有している。記録メディアex207はSDカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるEEPROMElectricallyErasableandProgrammableReadOnlyMemoryの一種であるフラッシュメモリ素子を格納したものである。さらに、携帯電話ex115について図16を用いて説明する。携帯電話ex115は表示部ex202及び操作キーex204を備えた本体部の各部を統括的に制御するようになされた主制御部ex311に対して、電源回路部ex310、操作入力制御部ex304、画像符号化部ex312、カメラインターフェース部ex303、LCDLiquidCrystalDisplay制御部ex302、画像復号化部ex309、多重分離部ex308、記録再生部ex307、変復調回路部ex306及び音声処理部ex305が同期バスex313を介して互いに接続されている。電源回路部ex310は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付ディジタル携帯電話ex115を動作可能な状態に起動する。携帯電話ex115は、CPU、ROM及びRAM等でなる主制御部ex311の制御に基づいて、音声通話モード時に音声入力部ex205で集音した音声信号を音声処理部ex305によってディジタル音声データに変換し、これを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。また携帯電話機ex115は、音声通話モード時にアンテナex201で受信した受信信号を増幅して周波数変換処理及びアナログディジタル変換処理を施し、変復調回路部ex306でスペクトラム逆拡散処理し、音声処理部ex305によってアナログ音声信号に変換した後、これを音声出力部ex208を介して出力する。さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーex204の操作によって入力された電子メールのテキストデータは操作入力制御部ex304を介して主制御部ex311に送出される。主制御部ex311は、テキストデータを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して基地局ex110へ送信する。データ通信モード時に画像データを送信する場合、カメラ部ex203で撮像された画像データをカメラインターフェース部ex303を介して画像符号化部ex312に供給する。また、画像データを送信しない場合には、カメラ部ex203で撮像した画像データをカメラインターフェース部ex303及びLCD制御部ex302を介して表示部ex202に直接表示することも可能である。画像符号化部ex312は、本願発明で説明した画像符号化装置を備えた構成であり、カメラ部ex203から供給された画像データを上記実施の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex308に送出する。また、このとき同時に携帯電話機ex115は、カメラ部ex203で撮像中に音声入力部ex205で集音した音声を音声処理部ex305を介してディジタルの音声データとして多重分離部ex308に送出する。多重分離部ex308は、画像符号化部ex312から供給された符号化画像データと音声処理部ex305から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex201を介して基地局ex110から受信した受信信号を変復調回路部ex306でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex308に送出する。また、アンテナex201を介して受信された多重化データを復号化するには、多重分離部ex308は、多重化データを分離することにより画像データの符号化ビットストリームと音声データの符号化ビットストリームとに分け、同期バスex313を介して当該符号化画像データを画像復号化部ex309に供給すると共に当該音声データを音声処理部ex305に供給する。次に、画像復号化部ex309は、本願発明で説明した画像復号化装置を備えた構成であり、画像データの符号化ビットストリームを上記実施の形態で示した符号化方法に対応した復号化方法で復号することにより再生動画像データを生成し、これをLCD制御部ex302を介して表示部ex202に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex305は、音声データをアナログ音声信号に変換した後、これを音声出力部ex208に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。なお、上記システムの例に限られず、最近は衛星、地上波によるディジタル放送が話題となっており、図17に示すようにディジタル放送用システムにも上記実施の形態の少なくとも画像符号化装置または画像復号化装置のいずれかを組み込むことができる。具体的には、放送局ex409では映像情報の符号化ビットストリームが電波を介して通信または放送衛星ex410に伝送される。これを受けた放送衛星ex410は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナex406で受信し、テレビ受信機ex401またはセットトップボックスSTBex407などの装置により符号化ビットストリームを復号化してこれを再生する。また、記録媒体であるCDやDVD等の蓄積メディアex402に記録した符号化ビットストリームを読み取り、復号化する再生装置ex403にも上記実施の形態で示した画像復号化装置を実装することが可能である。この場合、再生された映像信号はモニタex404に表示される。また、ケーブルテレビ用のケーブルex405または衛星/地上波放送のアンテナex406に接続されたセットトップボックスex407内に画像復号化装置を実装し、これをテレビのモニタex408で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に画像復号化装置を組み込んでも良い。また、アンテナex411を有する車ex412で衛星ex410からまたは基地局ex107等から信号を受信し、車ex412が有するカーナビゲーションex413等の表示装置に動画を再生することも可能である。更に、画像信号を上記実施の形態で示した画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、DVDディスクex421に画像信号を記録するDVDレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダex420がある。更にSDカードex422に記録することもできる。レコーダex420が上記実施の形態で示した画像復号化装置を備えていれば、DVDディスクex421やSDカードex422に記録した画像信号を再生し、モニタex408で表示することができる。なお、カーナビゲーションex413の構成は例えば図16に示す構成のうち、カメラ部ex203とカメラインターフェース部ex303、画像符号化部ex312を除いた構成が考えられ、同様なことがコンピュータex111やテレビ受信機ex401等でも考えられる。また、上記携帯電話ex114等の端末は、符号化器復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の3通りの実装形式が考えられる。なお、図3、図4、図10、図11に示したブロック図の各機能ブロックは典型的には集積回路装置であるLSIとして実現される。このLSIは1チップ化されても良いし、複数チップ化されても良い。例えばメモリ以外の機能ブロックが1チップ化されていても良い。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGAFieldProgrammableGateArrayや、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブルプロセッサを利用しても良い。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。また、各機能ブロックのうち、データを格納するユニットだけ1チップ化せずに、本実施形態の記録媒体115のように別構成としても良い。なお、図3、図4、図10、図11に示したブロック図の各機能ブロックおよび図7、図12に示したフローチャートにおいて、中心的な部分はプロセッサおよびプログラムによっても実現される。このように、上記実施の形態で示した画像符号化方法および画像復号化方法を上述したいずれの機器システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。以下では、本発明の実施の形態2について説明する。本発明は、画面内予測を用いる動画像符号化システムにおけるマトリクスの量子化を可能にするものであり、量子化したマトリクスの表現を可能にするものである。特に、符号付き指数ゴロム符号に適した巡回差分値の生成に関する。従来、動画像符号化において量子化マトリクスが用いられており、ExpGolomb符号が適用できることも知られている。また従来から、動画像の圧縮処理において、動画像符号は対応するセマンティクスとともに階層構造を持つシンタクス構造で表現され、ロッシー符号化およびロスレス符号化、または可変長符号化を用いている。さらに、変換ドメイン量子化も知られており活用されてきた。ここでは量子化重み付けマトリクスを用いて動画像圧縮を表現、実行し、可能にする方法およびプログラムについて説明する。本発明の特徴は以下に挙げるとおりである。1画面内符号化を用いる動画像符号化システムにおいて量子化マトリクスを伝送し、表現することを可能にする。2整数に基づき、かつ除算を必要としない演算によって実現される量子化重み付けマトリクスを定義し、実行する。3量子化マトリクスを、符号化効率を上げることが可能な巡回差分符号および指数ゴロム符号化する。4冗長な重み付け値を通信伝送データで伝送せず、デコーダ側で導出できるような量子化マトリクスとして表現する。0量子化マトリクスの差分符号化とは量子化マトリクスの各成分を符号化するため、まずマトリクス成分を1次元の配列にマップさせる。このマッピングでは、MPEG4Part10に記述されているジグザグパターンを用いる。図5および図5にジグザグパターンの例を示す。変換により得られた1次元の配列は、8×8の量子化マトリクスの場合64個の要素を含み、4×4の量子化マトリクスの場合16個の要素を含む。上記規格の定義によれば、含まれる要素は1以上255以下の正の整数である。従来の差分符号化では、1次元の各配列要素から当該各配列要素の直前の要素の値を減算することで差分符号を求める。ただし、先頭の配列要素からは8を減算する先頭の要素の値はDCの重みであり、通常8の値をとるからである。続いて各差分符号は、MPEG4Part10に定義されるように、さらにExpGolomb符号を用いて符号化される。従来の量子化マトリクスの差分符号化方法は以下のような問題を持つ。1量子化マトリクスにおける各値と当該値の直前の値との差分は、254~254の範囲内の値となる。差分値が取りうる値の範囲が大きくなると、ExpGolombを用いた可変長符号化の効率が悪くなる。2.符号化の対象のマトリクスの値の数を抑えるために切捨てを行う場合、一連のデータの終りを通知するために用いられる特別な値は、適切な値である必要がある。さもなければ切捨て方法は不適切となる。本発明では、差分がとりうる値の範囲が128~128となるように巡回差分値を生成することで上記問題を解決する。これによって、符号付きExpGolomb符号により適した符号化を行うことができる。また本発明は、切捨て方法を用いる場合の符号配列の終りの通知に関する問題も解決することができる。本発明では、切捨て方法を用いながらも連続する符号の終りを通知するためのメカニズムを改善するため、終りを通知するために必要となるビット数を9ビット以下にする。これを実現するため、複数の信号を用いて連続する符号を押さえるさせる。これは、64個の要素を持つ符号配列に適用可能であるが、16個の要素を持つ符号配列にも適用できるかもしれない。1巡回差分符号化の逆処理本処理では、Diを入力としWiを出力とする。ここで、Diは差分符号を表わし、Wiはジグザグスキャンでサンプリングされた量子化マトリクスの各値を表わす。入力されたWiに対し、以下の演算を行う。DefineM16for4x4blockM64for8x8blockDefineM16for4x4matrixorM64for8x8matrixW0256k0for2560iWi256forWjWi12差分符号生成処理本処理では、Wiを入力としDiを出力とする。ここで、Wiはジグザグスキャンでサンプリングされた量子化マトリクスの各値を表わし、DiはWiから求められた差分符号を表わす。入力されたWiに対し、以下の演算を行う。DefineM16for4x4matrixorM64for8x8matrixD0W08kMforDiWiWi1ifDiDi256elseifDiDi256elseifkielseifkMこれはWk=0を満たす終り信号Dkの挿入を目的とするififDk256Wk1elseDkWk1これは最適化を目的とするifMkiforDk0上記演算により、差分符号列の終りを示す値も含め、絶対値が128以下となる差分値Diが生成される。よって、上記演算により求められる差分符号は、符号付きExpGolomb符号化により適したものとなる。3差分符号列の終りを通知するためのメカニズム差分符号列の終りを示すためにWやDといった信号値を用いる代わりに、本発明では2つ以上の符号を用い、出力すべき符号をその中からエンコーダに選択させる。符号列の終りを通知するため、エンコーダは以下の設定を行うことができる。ここで、デコーダはエンコーダが行った設定を認識できる必要がある。符号化対象となる符号列の終りがkにあるすなわち、WkWk1と仮定するここで、Wiは0~Mの値をとる。またMは、4×4変換ブロックの場合16であり、8×8変換ブロックの場合64である。-Wkの値を0に設定する。これは差分値Dkに対応する。Dkの絶対値は128以下である。-Dkの値を255を超える値、もしくは255より小さい値に設定する。これにより、最初の9ビットが0になる符号付きExpGolomb符号0000000001xxxxxxxxxが生成される。エンコーダは最初の10ビットのみを出力すればよいここで、1を出力せずに9ビットだけを出力することもできる。復号処理後、デコーダは符号付きGolomb符号として255を超える値を得る。デコーダが不正なGolomb符号に対応可能な場合、連続する9ビットの0を出力するだけでよい。これに対応して、復号処理は以下の手順で行われる。以下に挙げる擬似符号では、Dkが255~-255の値をとるか否かをチェックする代わりに、Dkが適切な範囲内の値となっているかを単にチェックする。Dkが適切な範囲内の値をとらない場合、Dkが連続する符号の終りであると判断する。いずれの場合もチェックは必要であるため、条件付き演算を2つ省略することができる。DefineM16for4x4blockM64for8x8blockDefineM16for4x4matrixorM64for8x8matrixD0256k0for2560iWi256forWjWi14まとめ符号化効率を向上させるため、必要に応じて固定長符号とExpGolomb符号とを組み合わせて用いる。-巡回差分の生成-固定長符号を用いた2ビットのLSB-ExpGolomb符号を用いた6ビットのMSBこれらを用いることで、ビット数全体をさらに削減することができる。なお、上記1巡回差分符号化の逆処理を以下のような量子化重み付けマトリクス導出処理として表現することもできる。本処理では、Exp-Golomb符号化された連続する量子化重み付けマトリクスの値を入力とし、2次元配列として表現された量子化重み付けマトリクスの値を出力とする。-指数ゴロム符号化された連続する量子化重み付けマトリクスの値を復号するため、復号処理を呼び出す。-復号化値dを用いて量子化重み付けマトリクスの各成分Wを導出する。その際、以下に示す数式を用いて処理を行う。以下の数式で、Mは4×4変換ブロックの場合16であり、8×8変換ブロックの場合64である。Wd8If128d2562560Wd256256for0128orD128orW0and0ikMWIは0の値をとることができない-量子化重み付けマトリクスWは、逆ブロックスキャン処理を用いてWから求められる。4×4変換ブロックでのスキャン順序を図5に、8×8変換ブロックでのスキャン順序を図5に示す。さらに、上記1巡回差分符号化の逆処理は以下のような量子化重み付けマトリクス導出処理として実現することも可能である。ここでScalingListは量子化マトリクスWMを示し、lastScaleはWi1を示し、deltascalingはDiを示している。scalinglistlastScale8nextScale8forifdeltascalenextScale256useDefaultScalingMatrixFlagscalingListjlastScalenextScalelastScalescalingListj