(57)【特許請求の範囲】
【請求項１】
ブロックに分割される画像を有する動画像信号を圧縮する動画像信号圧縮装置において、
参照画像のマッチングブロックを用いて動画像信号のブロックを予測符号化して、差分ブロックを生成する予測符号化手段と、
上記予測符号化手段からの差分ブロックを圧縮して、圧縮動画像信号を生成する差分ブロック符号化手段と、
上記差分ブロック符号化手段からの圧縮信号ブロックを、該圧縮信号ブロックが逆直交変換される際の丸め誤差を発生させずに伸長して、再生差分ブロックを生成する局部復号化手段と、
上記局部復号化手段からの再生差分ブロックを予測復号化して、上記動画像信号のブロックに対応する画像ブロックを再生する予測復号化手段と、
上記予測復号化手段からの再生画像ブロックを、上記動画像信号の他の画像の予測符号化のための参照画像として用いる再生画像のブロックとして記憶する画像メモリとを備え、
上記差分ブロック符号化手段は、上記予測符号化手段からの差分ブロックを直交変換して、変換係数ブロックを生成する直交変換手段と、上記直交変換手段からの変換係数ブロックを量子化して、上記圧縮動画像信号が得られる圧縮信号ブロックを生成する量子化手段と備え、
上記局部復号化手段は、上記差分ブロック符号化手段からの圧縮信号ブロックを逆量子化して、パリティを有する再生変換係数のブロックを生成する逆量子化手段と、上記逆量子化手段からの各変換係数ブロック内の再生変換係数を加算して、パリティを有する和を求める手段と、上記和のパリティを判定するパリティ判定手段と、上記パリティ判定手段が上記和のパリティを偶数と判定したときに動作し、上記ブロック内の再生変換係数のうちの１つのパリティを反転して、上記和を奇数にするパリティ反転変換係数を生成する和奇数化手段と、上記和奇数化手段から、上記パリティ反転変換係数を含む再生変換係数のブロックが供給され、上記再生差分ブロックを生成する逆直交変換回路とを備えることを特徴とする動画像信号圧縮装置。
【請求項２】
上記圧縮信号ブロックを可変長符号化して圧縮動画像信号を生成する手段と、
上記圧縮動画像信号から記録信号を生成する手段と、
上記記録信号を記録媒体に記録する手段とを備え、
上記圧縮動画像信号を上記記録媒体に記録することを特徴とする請求項１記載の動画像信号圧縮装置。
【請求項３】
上記圧縮信号ブロックを可変長符号化して圧縮動画像信号を生成する手段と、
上記圧縮動画像信号から伝送信号を生成する手段と、
上記伝送信号を伝送媒体を介して伝送する手段とを備え、
上記圧縮動画像信号を上記伝送媒体を介して伝送することを特徴とする請求項１記載の動画像信号圧縮装置。
【請求項４】
上記画像メモリは第２の画像メモリであり、
上記動画像信号を一時的に記憶する第１の画像メモリと、
上記第１の画像メモリから読み出される上記動画像信号のブロックを予測符号化する予測符号化手段と、
上記差分ブロック符号化手段からの圧縮信号ブロックを可変長符号化することによって上記圧縮動画像信号を生成する可変長符号化手段と、
上記第２の画像メモリに記憶されている再生画像と上記第１の画像メモリに記憶されている動画像信号間の動きを検出し、検出された動きに応じて既に再生された第２の画像メモリに記憶されている画像を動き補償し、参照画像として選択された再生画像のうちの１つのブロックを得て、該参照画像のブロックを上記予測符号化手段に供給する動き補償手段とを備える請求項１記載の動画像信号圧縮装置。
【請求項５】
上記圧縮動画像信号から記録信号を生成する手段と、
上記記録信号を記録媒体に記録する手段とを備え、
上記圧縮動画像信号を上記記録媒体に記録することを特徴とする請求項４記載の動画像信号圧縮装置。
【請求項６】
上記圧縮動画像信号から伝送信号を生成する手段と
上記伝送信号を伝送媒体を介して伝送する手段とを備え、
上記圧縮動画像信号を上記伝送媒体を介して伝送することを特徴とする請求項４記載の動画像信号圧縮装置。
【請求項７】
ブロックに分割される画像を有する動画像信号を圧縮する動画像信号圧縮装置において、
参照画像のマッチングブロックを用いて動画像信号のブロックを予測符号化して、差分ブロックを生成する予測符号化手段と、
上記予測符号化手段からの差分ブロックを圧縮して、圧縮動画像信号を生成する差分ブロック符号化手段と、
上記差分ブロック符号化手段からの圧縮信号ブロックを、該圧縮信号ブロックが逆直交変換される際の丸め誤差を発生させずに伸長して、再生差分ブロックを生成する局部復号化手段と、
上記局部復号化手段からの再生差分ブロックを予測復号化して、上記動画像信号ブロックに対応する画像ブロックを再生する予測復号化手段と、
上記予測復号化手段からの再生画像ブロックを、上記動画像信号の他の画像の予測符号化のための参照画像として用いる再生画像のブロックとして記憶する画像メモリとを備え、
上記差分ブロック符号化手段は、上記予測符号化手段からの差分ブロックを直交変換して、変換係数ブロックを生成する直交変換手段と、上記直交変換手段からの変換係数ブロックを量子化して、上記圧縮動画像信号が得られる圧縮信号ブロックを生成する量子化手段とを備え、
上記局部復号化手段は、上記差分ブロック符号化手段からの圧縮信号ブロックを逆量子化して、最下位ビットを含む２進数で表現される再生変換係数のブロックを生成する逆量子化手段と、上記各再生変換係数の最下位ビットを判定する最下位ビット判定手段と、各ブロック内の値が１の最下位ビットを有する再生変換係数をカウントして、カウント値を出力するカウント手段と、上記カウント手段からのカウント値が偶数であるかを判定するカウント判定手段と、上記カウント判定手段が上記カウント値を偶数と判定したときに動作し、上記ブロック内の再生変換係数のうちの１つを変更して、上記カウント値を奇数にする変更変換係数を生成するカウント奇数化手段と、上記カウント奇数化手段から、上記変更変換係数を含む各再生変換係数ブロックが供給され、上記再生差分ブロックを生成する逆直交変換回路とを備えることを特徴とする動画像信号圧縮装置。
【請求項８】
上記圧縮信号ブロックを可変長符号化して上記圧縮動画像信号を生成する手段と、
上記圧縮動画像信号から記録信号を生成する手段と、
上記記録信号を記録媒体に記録する手段とを備え、
上記動画像信号を上記記録媒体に記録することを特徴とする請求項７記載の動画像信号圧縮装置。
【請求項９】
上記圧縮信号ブロックを可変長符号化して上記圧縮動画像信号を生成する手段と、
上記圧縮動画像信号から伝送信号を生成する手段と、
上記伝送信号を伝送媒体を介して伝送する手段とを備え、
上記圧縮動画像信号を上記伝送媒体を介して伝送することを特徴とする請求項７記載の動画像信号圧縮装置。
【請求項１０】
上記画像メモリは第２の画像メモリであり、
上記動画像信号を一時的に記憶する第１の画像メモリと、
上記第１の画像メモリから読み出される動画像信号のブロックを予測符号化する予測符号化手段と、
上記差分ブロック符号化手段からの圧縮信号ブロックを可変長符号化することにより上記圧縮動画像信号を生成する可変長符号化手段と、
上記第２の画像メモリに記憶されている再生画像と上記第１の画像メモリに記憶されている動画像信号間の動きを検出し、検出された動きに応じて既に再生された第２の画像メモリに記憶されている画像を動き補償し、参照画像として選択された再生画像のうちの１つのブロックを得て、該参照画像のブロックを上記予測符号化手段に供給する動き補償手段とを備える請求項７記載の動画像信号圧縮装置。
【請求項１１】
上記圧縮画像信号から記録信号を生成する手段と、
上記記録信号を上記記録媒体に記録する手段とを備え、
上記圧縮動画像信号を上記記録媒体に記録することを特徴とする請求項１０記載の動画像信号圧縮装置。
【請求項１２】
上記圧縮画像信号から伝送信号を生成する手段と、
上記伝送信号を伝送媒体を介して伝送する手段とを備え、
上記圧縮動画像信号を上記伝送媒体を介して伝送することを特徴とする請求項１０記載の動画像信号圧縮装置。
【請求項１３】
可変長符号化された圧縮信号ブロックを有する信号成分からなり、動画像出力信号の画像をそれぞれ表す圧縮動画像信号を伸長して、上記動画像出力信号を再生する圧縮動画像信号伸長装置において、
上記可変長符号化された圧縮信号ブロックを逆可変長符号化して、圧縮信号ブロックを生成する逆可変長符号化手段と、
上記逆可変長符号化手段からの圧縮信号ブロックを、該圧縮信号ブロックが逆直交変換される際の丸め誤差を発生させずに伸長して、再生差分ブロックを生成する復号化手段とを備え、
上記復号化手段は、上記逆可変長符号化手段からの各圧縮信号ブロックを逆量子化して、パリティを有する再生変換係数のブロックを生成する逆量子化手段と、上記逆量子化手段からの変換係数のブロック内の再生変換係数を加算して、パリティを有する和を求める手段と、上記和のパリティを判定するパリティ判定手段と、上記パリティ判定手段が上記和のパリティを偶数と判定したときに動作し、上記ブロック内の再生変換係数のうちの１つのパリティを反転して、上記和のパリティを奇数にするパリティ反転変換係数を生成する和奇数化手段と、上記和奇数化手段から、上記パリティ反転変換係数を含む再生変換係数のブロックが供給され、上記再生差分ブロックを生成する逆直交変換回路とを備えることを特徴とする圧縮動画像信号伸長装置。
【請求項１４】
上記逆可変長符号化手段は、動きベクトルと動き補償モードデータを出力し、
上記復号化手段からの再生差分ブロックを予測復号化して、画像ブロックを再生する予測復号化手段と、
上記予測復号化手段からの再生画像ブロックを、上記動画像信号の他の画像の予測復号化のための参照画像として用いる再生画像のブロックとして記憶する画像メモリと、
上記逆可変長符号化手段からの動きベクトルと動き補償モードに応じて動作し、既に再生された画像メモリに記憶されている画像を動き補償し、参照画像として選択された再生画像のうちの１つから参照画像のブロックを得て、該参照画像のブロックを上記予測復号化手段に供給する手段と、
上記画像メモリから上記動画像出力信号を読み出す手段とを備える請求項１３記載の圧縮動画像信号伸長装置。
【請求項１５】
可変長符号化された圧縮信号ブロックを有する信号成分からなり、動画像出力信号の画像をそれぞれ表す圧縮動画像信号を伸長して、動画像出力信号を再生する圧縮動画像信号伸長装置において、
上記可変長符号化された圧縮信号ブロックを逆可変長符号化して、圧縮信号ブロックを生成する逆可変長符号化手段と、
上記逆可変長符号化手段からの圧縮信号ブロックを、該圧縮信号ブロックが逆直交変換される際の丸め誤差を発生させずに伸長して、再生差分ブロックを生成する復号化手段とを備え、
上記復号化手段は、上記逆可変長符号化手段からの各圧縮信号ブロックを逆量子化して、状態を有する最下位ビットを含む２進数で表現された各再生変換係数のブロックを生成する逆量子化手段と、上記各再生変換係数の最下位ビットの状態を判定する最下位ビット判定手段と、上記最下位ビット判定手段により、ブロック内の最下位ビットが１の状態にあると判定された変換係数をカウントして、カウント値を出力するカウント手段と、上記カウント手段からのカウント値が偶数であるかを判定するカウント判定手段と、上記カウント判定手段が上記カウント値を偶数と判定したときに動作し、上記再生変換係数のうちの１つを変更して、上記カウント値を奇数にする変更変換係数を生成するカウント奇数化手段と、上記カウント奇数化手段から、上記変更係数を含む再生変換係数のブロックが供給され、上記再生差分ブロックを生成する逆直交変換回路とを備えることを特徴とする圧縮動画像信号伸長装置。
【請求項１６】
上記逆可変長符号化手段は、動きベクトルと動き補償モードデータを出力し、
上記復号化手段からの再生差分ブロックを予測復号化して、画像ブロックを再生する予測復号化手段と、
上記予測復号化手段からの再生画像ブロックを、上記動画像信号の他の画像の予測復号化のための参照画像として用いる再生画像のブロックとして記憶する画像メモリと、
上記逆可変長符号化手段からの動きベクトルと動き補償モードデータに応じて動作し、既に再生された上記画像メモリに記憶されている画像を動き補償し、参照画像として選択された再生画像のうちの１つから参照画像のブロックを得て、該参照画像のブロックを上記予測復号化手段に供給する手段と、
上記画像メモリから上記動画像出力信号を読み出す手段とを備える請求項１５記載の圧縮動画像信号伸長装置。
【請求項１７】
動画像信号のブロックを予測符号化及び直交変換して、圧縮動画像信号が得られる変換係数のブロックを生成するステップと、
上記ブロックの変換係数の和を奇数化した後、逆直交変換及び予測復号化して、上記動画像信号の他の画像の予測符号化のための参照画像として用いられる再生画像のブロックを生成するステップとを有し、
上記圧縮動画像信号を出力することを特徴とする動画像信号圧縮方法。
【請求項１８】
上記ブロックの変換係数の和を奇数化するステップは、
上記各ブロックのそれぞれパリティを有する変換係数を加算して、パリティを有する和を求めるステップと、
上記和のパリティが偶数であるかを判定するステップと、
上記和のパリティが偶数と判定されたとき、上記ブロックの変換係数のうちの１つのパリティを反転して、上記和のパリティを奇数にするステップとを有することを特徴とする請求項１７記載の動画信号圧縮方法。
【請求項１９】
上記各変換係数は、最下位ビットを含む２進数で表現され、
上記ブロックの変換係数の和を奇数化するステップは、
上記各変換係数の最下位ビットを判定するステップと、
ブロック内の値が１の最下位ビットを有する変換係数をカウントして、カウント値を出力するステップと、
上記カウント値が偶数のとき、上記ブロックの変換係数のうちの１つを１で変更するステップとを有することを特徴とする請求項１７記載の動画像信号圧縮方法。
【請求項２０】
上記圧縮動画像信号から記録信号を生成するステップと、
上記記録信号を記録媒体に記録するステップとを有し、
上記圧縮動画像信号を上記記録媒体に記録することを特徴とする請求項１７乃至１９のいずれか１項記載の動画像信号圧縮方法。
【請求項２１】
上記圧縮動画像信号から伝送信号を生成するステップと、
上記伝送信号を伝送媒体を介して伝送するステップとを有し、
上記圧縮動画像信号を上記伝送媒体を介して伝送することを特徴とする請求項１７乃至１９のいずれか１項記載の動画像信号圧縮方法。
【請求項２２】
動画像信号の画像のブロックと参照画像としての再生画像信号のブロック間の動きを検出するステップと、
上記検出された動きに応じて、上記参照画像を動き補償し、上記参照画像のマッチングブロックを生成するステップと、
上記再生画像のマッチングブロックを用いて、上記動画像信号のブロックを予測符号化し、差分ブロックを生成するステップと、
上記差分ブロックを直交変換して、変換係数のブロックを生成するステップと、
上記変換係数のブロックから、量子化及び可変長符号化により、圧縮動画信号を生成するステップと、
逆直交変換処理における丸め誤差を防ぐために、各変換係数の和を奇数化した後、上記変換係数のブロックを逆直交変換して再生差分ブロックを生成するステップと、
上記再生差分ブロックを予測復号化し、上記動画像信号の他の画像の予測符号化のための参照画像として用いられる再生画像のブロックを生成するステップとを有し、
上記圧縮動画像信号を出力する動画像信号圧縮方法。
【請求項２３】
上記ブロックの変換係数の和を奇数化するステップは、
上記各ブロックのそれぞれパリティを有する変換係数を加算して、パリティを有する和を求めるステップと、
上記和のパリティが偶数であるかを判定するステップと、
上記和のパリティが偶数と判定されたとき、上記ブロックの変換係数のうちの１つのパリティを反転して、上記和のパリティを奇数にするステップとを有することを特徴とする請求項２２記載の動画像信号圧縮方法。
【請求項２４】
上記各変換係数は、最下位ビットを含む２進数で表現され、
上記各ブロックの変換係数の和を奇数化するステップは、
上記各変換係数の最下位ビットを判定するステップと、
ブロック内の値が１の最下位ビットを有する変換係数をカウントしてカウント値を出力するステップと、
上記カウント値が偶数のとき、上記ブロックの変換係数のうちの１つを１で変更するステップとを有することを特徴とする請求項２２記載の動画像信号圧縮方法。
【請求項２５】
上記圧縮動画像信号から記録信号を生成するステップと、
上記記録信号を記録媒体に記録するステップとを有し、
上記圧縮動画像信号を上記記録媒体に記録することを特徴とする請求項２２乃至２４のいずれか１項記載の動画像信号圧縮方法。
【請求項２６】
上記圧縮動画像信号から伝送信号を生成するステップと、
上記伝送信号を伝送媒体を介して伝送するステップとを有し、
上記圧縮動画像信号を上記伝送媒体を介して伝送することを特徴とする請求項２２乃至２４のいずれか１項記載の動画像信号圧縮方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動画像信号圧縮装置及び方法、並びに圧縮動画像信号伸長装置に関する。
【０００２】
【従来の技術】
直交変換は、様々なディジタル信号処理装置において、様々な用途に用いられている。直交変換は周波数領域での信号処理を行うことを可能とするものである。直交変換としては、高速フーリエ変換（ＦＦＴ：Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）、離散コサイン変換（ＤＣＴ：Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）などが広く知られている。直交変換は、例えば、時間領域の信号成分を、時間領域の元の信号成分のスペクトル（すなわち、エネルギーの周波数に対する分布）を示す周波数成分（直交変換関数によって異なる）に分解する。信号成分を直交変換することにより得られる周波数成分（一般に変換係数と呼ばれる）に種々の処理を施すことにより、元の信号成分の冗長度を削減することができる。すなわち、直交変換は、元の信号成分を直交変換し、得られる変換係数に処理を施すことにより、元の信号成分を表すビット数をよりも少ないビット数とすることができる。また、変換係数を逆直交変換することにより、元の信号成分を得ることができる。
【０００３】
直交変換処理を利用したディジタル信号処理装置の一例として動画像信号の圧縮装置及び伸長装置がある。
【０００４】
相関性の強い信号は、周波数軸上では低周波数領域に信号電力が集中することが知られている。ある特定の座標軸（例えば周波数軸）への信号電力の集中度が高ければ高いほど、冗長度の削減が可能であり、信号圧縮効率が向上する。
【０００５】
画像信号は一般に空間的及び時間的に強い相関性を有するので、直交変換を行って特定の座標軸に電力を集中させ、動画像信号の高能率圧縮を実現することができる。
【０００６】
従来、例えばＮＴＳＣ方式のビデオ信号に代表される動画像信号は、情報量が極めて多く、動画像信号を長時間記録するには、大容量の記録媒体が必要であった。さらに、このような記録媒体に対して動画像信号を記録再生する際の情報レートも非常に高かった。このため、動画像信号の記録には、大型の磁気テープや光ディスクが必要であった。
【０００７】
より小型の記録媒体に動画像信号を長時間記録する場合には、動画像信号に信号圧縮処理を施して記録情報量を削減することが不可欠である。さらに、小型の記録媒体から再生される圧縮動画像信号を伸長する装置が必要である。
【０００８】
このような要求に応えるため、動画像信号を構成する各画像を表す動画像信号間や動画像信号の各部分間の相関を利用した様々な動画像信号圧縮方式が提案されている。例えば、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）により提案された動画像信号圧縮方式が広く知られている。このＭＰＥＧ方式については、各種文献にて広く紹介されているので、ここでは詳細な説明は割愛する。
【０００９】
以下の説明は「画像」についてである。ここで説明する信号処理技術は、動画像を表す動画像信号の処理に関するものであり、一般には、ここで言う「画像」は、動画像の１つの画像を表す動画像信号の部分のことである。また、１つの動画像信号は、動画像の１つの画像をフレームあるいはフィールドとして表すことができる。特に記述のない場合、「画像」とはフィールドあるいはフレームのことである。
【００１０】
このＭＰＥＧ方式は、まず、動画像信号を構成する画像間の差分を求め、動画像信号の時間軸方向の冗長度を低減する。その後、ＭＰＥＧ方式は、画像間差分のブロックに空間軸方向の直交変換処理を施すことにより、動画像信号の空間軸方向の冗長度を低減する。ＭＰＥＧ方式は、直交変換処理として離散コサイン変換（ＤＣＴ）処理を用いている。時間軸及び空間軸の両方向の冗長度を低減すことにより、動画像は極めて効率よく圧縮される。このような圧縮処理によって得られる圧縮動画像信号は、記録媒体に記録され、あるいは伝送媒体を介して伝送される。
【００１１】
圧縮動画像信号を記録媒体から再生し、あるいは伝送媒体を介して受信する場合には、ＤＣＴ変換により得られる変換係数のブロックを圧縮動画像信号から抽出する。変換係数を逆直交変換（ＭＰＥＧ方式における逆離散コサイン変換（ＩＤＣＴ：Ｉｎｖｅｒｓｅ  Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ））を用いて処理し、画像間差分のブロックを再生して、元の動画像信号の画像を再生する。
【００１２】
ＭＰＥＧ方式に基づいた動画像信号圧縮装置の構成例を図１に示す。この図１に示す動画像信号圧縮装置では、ディジタル動画像信号がブロック化回路１０１に入力され、例えばＮＴＳＣ方式などの標準ビデオフォーマットからブロックフォーマットに変換されて、ブロック化動画像信号が生成される。ここで、動画像信号の各画像は、空間軸方向、すなわち水平方向及び垂直方向に１６×１６画素のマクロブロックに分割される。マクロブロックはさらに８×８画素のブロックに細分割される。
【００１３】
図１に示す動画像信号圧縮装置は、画像を構成するブロック全てが処理されるまで、動画像信号の各画像をブロック単位で圧縮する。つぎに、この動画像信号圧縮装置は、動画像信号の別の画像を処理するが、この別の画像は、動画像を構成する一連の画像における次の画像であってもよく、なくてもよい。以下に、図１に示す動画像信号圧縮装置における１つの画像内の画素の１ブロックの圧縮について説明する。圧縮される画素のブロックは現画像ブロックである。ブロック化動画像信号は動き予測器１０２に供給される。動き予測器１０２は、現画像ブロックＳ１を含む現画像をブロック単位で差分ブロック算出回路１０３に供給する。
【００１４】
差分ブロック算出回路１０３は、動き予測器１０２から現画像ブロックＳ１を受信するときに、動き予測器１０２からの現画像ブロックＳ１に対応するマッチングブロックＳ２を受信する。このマッチングブロックＳ２は、ピクチャメモリ群１１２に記憶された再生画像から予測器１１３によって得られる。差分ブロック算出回路１０３は、現画像ブロックＳ１と、これに対応するマッチングブロックＳ２との画素単位の差分をとる。得られる差分ブロックＳ３は直交変換回路１０４に供給される。
【００１５】
直交変換回路１０４は、通常ＤＣＴ回路であり、差分ブロックＳ３を直交変換し、得られる変換係数のブロックを量子化器１０５に供給する。量子化器１０５は、変換係数のブロックを量子化して量子化変換係数のブロックを生成する。可変長符号化器１０６は、量子化器１０５からの量子化変換係数のブロックに、ハフマン符号化、ランレングス符号化等の可変長符号化を施す。そして、得られる符号化変換係数のブロックは出力バッファ１０７を介して、例えばディジタル伝送路に出力される。
【００１６】
出力バッファ１０７に記憶されたビット数を示す制御信号は、量子化器１０５にフィードバックされる。量子化器１０５は、この制御信号に応じて量子化ステップサイズを調整して、そのオーバフローやアンダフローを防止する。
【００１７】
また、量子化変換係数のブロックは、量子化器１０５から逆量子化器１０８に送られる。逆量子化器１０８は、この動画像信号圧縮装置での予測符号化の際に用いられる再生画像を量子化変換係数から生成する局部復号化器の一部である。逆量子化器１０８は、量子化器１０５による量子化処理と相補的な処理を行うことにより、量子化変換係数のブロックを逆量子化する。得られる変換係数のブロックは、逆直交変換回路１０９に送られ、そこで直交変換回路１０４による直交変換処理と相補的な処理を行うことによって、逆直交変換される。得られる再生差分ブロックＳ４は加算器１１０に供給される。
【００１８】
また、この加算器１１０は、ピクチャメモリ群１１２のうちの予測器１１３によって選択された１つのピクチャメモリから、現画像ブロックＳ１に対応したマッチングブロックＳ２が供給されている。加算器１１０は、逆直交変換回路１０９からの再生差分ブロックＳ４と、ピクチャメモリ群１１２からのマッチングブロックＳ２との画素単位の加算を行い、再生画像ブロックＳ５を生成する。再生画像ブロックＳ５は、セレクタ１１１により選択されたピクチャメモリ１１２Ａ〜１１２Ｄのうち何れか１つに供給されて、記憶される。
【００１９】
再生画像ブロックＳ５は、選択されたピクチャメモリに記憶され、そのピクチャメモリ内の再生される画像の（現画像ブロックに対応する）１ブロックをブロック単位で形成する。その後、再生画像は、動画像信号の他の画像を圧縮する予測符号化のためのマッチングブロックＳ２を得るのに用いられる。
【００２０】
動き予測器１０２は、現画像のマクロブロック毎に、現画像のマクロブロックと、記憶されている動画像信号の他の画像の異なるマクロブロックとの動きベクトルを決定する。また、動き予測器１０２は、現画像の各マクロブロック内の画素と、他の画像の異なるマクロブロック内の画素との差分の絶対値和（絶対値差分和）を生成する。各絶対値差分和は、現画像の各マクロブロックと、他の画像のマクロブロックとのマッチングの度合を示す。動き予測器１０２は、各動きベクトルとそれに対応する絶対値差分和を予測モード決定回路１１５に供給する。
【００２１】
予測モード決定回路１１５は、動き予測器１０２からのデータを用いて、１以上の他の再生画像に基づいて現画像を予測符号化するのに用いられる予測モードを決定する。現画像は、以下の予測モードの何れか１つを用いて予測符号化することができる。
【００２２】
（１）他の画像を参照せず画像自体で圧縮される画像内モード。このように符号化された画像はＩピクチャと称せられる。
【００２３】
（２）動画像において時間的に先行する再生画像を参照して予測を行う前方予測モード。このように符号化された画像はＰピクチャと称せられる。
【００２４】
（３）動画像において時間的に先行する再生画像と動画像において時間的に後行する再生画像を参照して、あるいは、先行する再生画像と後行する再生画像の画素単位の線形演算（例えば、平均値計算）を行うことにより、ブロック単位の予測を行う両方向予測モード。このように符号化された画像はＢピクチャと称せられる。
【００２５】
すなわち、Ｉピクチャは、画像内で画像内符号化が完結する画像である。Ｐピクチャは、動画像において時間的に前にある再生Ｉピクチャ又はＰピクチャより予測される。Ｂピクチャは、時間的に前又は後にある再生Ｉピクチャ又はＰピクチャを用いてブロック単位で予測されるか、あるいは、動画像において時間的に前にある再生Ｉピクチャ又はＰピクチャと時間的に後にある再生Ｉピクチャ又はＰピクチャから線形演算によって得られるブロックを用いて予測される。
【００２６】
そして、予測モード決定回路１１５は、予測モード信号ＰＭとそれに対応する動きベクトルを予測器１１３及び読出アドレス発生器１１４に供給する。読出アドレス発生器１１４は、動きベクトルに応じて、ピクチャメモリ群１１２に読出アドレスを供給し、ピクチャメモリ１１２Ａ乃至１１２Ｄから記憶されている再生画像のブロックを読み出させる。再生画像の読出ブロックの位置は、動きベクトルにより指定される。予測器１１３は、予測モード決定回路１１５からの予測モード信号ＰＭに基づいて、ピクチャメモリ１１２Ａ乃至１１２Ｄから読み出されたブロックのうちの１つを選択する。選択された読出ブロックは、現画像ブロックＳ１に対するマッチングブロックＳ２である。現画像ブロックがＢピクチャの一部である場合、予測器１１３は、ピクチャメモリ１１２Ａ乃至１１２Ｄからの読出ブロックに対して線形演算を行い、必要なマッチングブロックＳ２を生成する。予測器１１３は、マッチングブロックＳ２を差分ブロック算出回路１０３と加算器１１０に供給する。
【００２７】
ＭＰＥＧ方式による動画像信号伸長装置の構成例を図２に示す。この動画像信号伸長装置では、動画像信号圧縮装置から直接、あるいは記録媒体から再生された圧縮動画像信号は、ビットストリームとして入力バッファ１２１に供給され、一時的に記憶される。圧縮動画像信号は、符号化変換ブロック（現画像ブロックを表す符号化変換係数のブロックを含む）、及び各ブロックの予測モード情報、量子化ステップサイズ情報、動きベクトルからなる。
【００２８】
圧縮動画像信号は、入力バッファ１２１から１画像毎に読み出されて、逆可変長符号化器（ＩＶＬＣ）１２２に供給される。この逆可変長符号化器１２２は、圧縮動画像信号に逆可変長符号化を施して、圧縮動画像信号を量子化変換係数のブロック、及び各ブロックの予測モード情報、量子化ステップサイズ情報、動きベクトルからなる成分に分離する。
【００２９】
符号化変換係数の各ブロックは、逆量子化器１２３に供給され、この逆量子化器１２３は、ブロックの量子化ステップサイズを用いて量子化変換係数のブロックを逆量子化し、変換係数のブロックを生成する。逆直交変換回路１２４は、変換係数のブロックに逆直交変換処理、通常ＩＤＣＴ処理を施して、再生差分ブロックを生成する。逆量子化器１２３と逆直交変換回路１２４はそれぞれ、図１に示す動画像信号圧縮装置の量子化器１０５と直交変換回路１０４による処理と相補的な処理を行う。
【００３０】
読出アドレス発生器１３０は、逆可変長符号化器１２２から供給される現画像ブロックの動きベクトルに応じて、ピクチャメモリ１２８Ａ乃至１２８Ｄに読出アドレスを供給する。各ピクチャメモリ１２８Ａ乃至１２８Ｄは、読出アドレスに基づいて、記憶されている再生画像のブロックを読み出す。予測器１２９は、予測モード信号ＰＭに応じて、ピクチャメモリ１２８Ａ乃至１２８Ｄからの読出ブロックの何れか１つを選択する。選択された読出ブロックは、現画像ブロックを再生するためのマッチングブロックである。現画像ブロックがＢピクチャとして符号化された画像の一部をなす場合、予測器１２９は、ピクチャメモリ１１２Ａ乃至１１２Ｄからの読出ブロックに対して線形演算を行って、マッチングブロックを生成する。予測器１２９は、マッチングブロックを加算器１２５に供給する。
【００３１】
加算器１２５は、逆直交変換回路１２４からの再生差分ブロックと、予測器１２９からのマッチングブロックとの画素単位の加算を行って、現画像の現画像ブロックを再生する。セレクタ１２６は、再生現画像ブロックをピクチャメモリ１２８Ａ乃至１２８Ｄの何れか１に送って記憶させ、そこで現画像が再生される。再生現画像ブロックは、選択されたピクチャメモリ内の再生現画像の現画像ブロックの位置に記憶される。現画像の再生ブロック全てが、選択されたピクチャメモリ１２８Ａ乃至１２８Ｄに記憶されると、再生現画像は、読出が可能となり、動画像における時間的に前又は後にある他の画像を再生するのに参照される。
【００３２】
ピクチャメモリ１２８Ａ乃至１２８Ｄに記憶されている再生画像は、表示アドレス発生器１２７が発生する読出アドレスに応じて、セレクタ１２６を介し、出力動画像信号として読み出される。この出力動画像信号は、スキャンコンバータ（図示せず）によりピクチャメモリ１２８Ａ乃至１２８Ｄから、例えばＮＴＳＣ等の所定のビデオ信号フォーマットのラスタフォーマットで読み出される。得られる出力動画像信号は、例えばＣＲＴ等のディスプレイに表示される。この例では、同期信号発生器１３１は、外部同期発生器にロックされ、周期的にフレーム同期信号を発生し、これを表示アドレス発生器１２７に供給している。表示アドレス発生器１２７は、このフレーム同期信号に同期して読出アドレスを発生する。
【００３３】
直交変換回路、例えば上述した動画像信号圧縮装置や動画像信号伸長装置で用いられているＤＣＴ回路やＩＤＣＴ回路等は、整数で表される画素値や変換係数に対して有限ビット数でそれぞれ演算を行う。その結果、これらの直交変換回路での直交変換では、ビット数の打ち切りが生じることがある。このため、実数を用いた直交変換の精度や、直交変換を行う回路構成が異なり、直交変換の結果が異なってしまう。これにより、動画像信号圧縮装置と動画像信号伸長装置間や共通の圧縮信号を伸長する動画像信号伸長装置間でミスマッチが生じる。
【００３４】
例えば、動画像信号圧縮装置では、圧縮動画像信号を生成する過程において、動画像信号から得られる差分ブロックは直交変換され、得られる変換係数は、所定の処理である量子化が施される。そして、動画像信号伸長装置においては、逆直交変換回路の実数演算精度や回路構成が動画像信号圧縮装置のものに対応していない場合、動画像信号伸長装置の出力が、動画像信号圧縮装置の入力と異なる可能性がある。すなわち、動画像信号伸長装置の出力は、動画像信号伸長装置に用いられている回路の演算精度や構成に依存する。
【００３５】
逆直交変換の演算精度や回路構成は、逆直交変換を行う装置によって異なる。例えば、変換係数のブロックを、２つの異なる回路構成の同種の逆直交変換回路を用いて逆変換すると、結果は異なることがある。このような結果の差異は、逆直交変換ミスマッチ誤差（ミスマッチ誤差）と呼ばれる。
【００３６】
ＭＥＰＧ方式は、ＤＣＴやＩＤＣＴの演算精度を規定しているが、演算方法や回路構成については何も規定していない。これは、ＭＥＰＧ方式の規格が決定される以前に、ＤＣＴやＩＤＣＴを行う回路や方法が開発されたためである。
【００３７】
ＭＥＰＧ方式においては、上述のように、動画像信号圧縮装置は、例えば動画像信号に対して画像間動き補償予測符号化を行う。ここで、動画像信号はブロックに分割され、現画像ブロックと、再生画像に動き補償を行うことにより得られるマッチングブロックとから差分ブロックが生成され、この差分ブロックがＤＣＴ処理により直交変換される。得られる変換係数は量子化され、量子化変換係数は可変長符号化が施され、そして、符号化変換係数は、予測モード情報、量子化ステップサイズ情報及び動きベクトルとともに組み込まれて、圧縮動画像信号が生成される。
【００３８】
動画像信号伸長装置は、符号化変換係数に逆可変長符号化を施し、逆可変長符号化により得られる量子化変換係数に逆量子化を行い、そして、逆量子化により得られる変換係数にＩＤＣＴ処理を施す。得られる再生差分ブロックは、動きベクトルに応じて再生画像に動き補償を施すことにより得られるマッチングブロックに加算される。これにより得られる再生画像ブロックは、動画像出力信号を出力するための再生画像のブロックとして記憶され、参照画像としても使用される。
【００３９】
動画像信号圧縮装置は、予測符号化を行うための再生画像を量子化変換係数から再生する局部復号化器を内部に備える。この局部復号化器は、逆量子化器と逆直交変換回路を備える。
【００４０】
動画像信号圧縮装置の局部復号化器のＩＤＣＴ回路と動画像信号伸長装置のＩＤＣＴ回路の構成が異なると、動画像信号圧縮装置の局部復号化器で得られる再生画像が、動画像信号伸長装置で得られる再生画像と異なることがある。こうしたＩＤＣＴ処理の実行による差異は、ＭＰＥＧ規格に準拠した動画像信号圧縮装置により生成した圧縮動画像信号を光ディスクなどの記録媒体に記録して販売する場合に問題を生じる。この光ディスクから再生された圧縮動画像信号を他の製造者により製造、販売された動画像信号伸長装置で伸長すると、再生画像が元の画像と異なることがある。しかも、その差異は、実際に使用された動画像信号伸長装置に依存する場合がある。圧縮動画像信号が、地上又は衛星放送、電話システム、ＩＳＤＮシステム、ケーブル又は光配信システム等の配信システムにより配信される場合、異なる動画像信号伸長装置間で上述のような非互換性が生じる虞がある。
【００４１】
ミスマッチ誤差が特に問題となるのは、画像間予測符号化を行う場合である。画像間予測符号化は、フィールド間符号化やフレーム間符号化である。画像間予測符号化では、次第にこのミスマッチ誤差は累積されてしまい、再生画像に致命的な破綻を生じる可能性がある。
【００４２】
ＭＰＥＧ方式による動画像信号圧縮においては、各ビデオシーケンスは、例えば８又は１２画像を単位とする画像群（ＧＯＰ：Ｇｒｏｕｐ  ＯｆＰｉｃｔｕｒｅｓ）に分割されている。各画像は、上述したようにＩピクチャ、Ｐピクチャ、Ｂピクチャに分類される。
【００４３】
Ｂピクチャは動き予測の参照画像としては使用されない。したがって、Ｂピクチャで生じるミスマッチ誤差により他の画像に誤差が生じることはない。
【００４４】
Ｐピクチャでミスマッチ誤差が生じると、ミスマッチ誤差を有する画像が、予測符号化を行うためにピクチャメモリに記憶されることとなる。したがって、画像間予測符号化を行うと、ピクチャメモリ内に記憶されたＰピクチャの誤差が次第に大きくなり、予測符号化により得られるＰピクチャやＢピクチャにも及ぶ。この誤差は、誤差の無いＩピクチャ又はＰピクチャにより置換されるまで累積されていく。
【００４５】
同様に、Ｉピクチャにミスマッチ誤差が発生した場合、ミスマッチ誤差のある再生画像が、予測符号化を行うためにピクチャメモリに記憶されることとなる。したがって、画像間予測符号化を行うと、ピクチャメモリ内に記憶されたＩピクチャの誤差が、次第に大きくなり、予測符号化により得られるＰピクチャやＢピクチャにも及ぶ。この誤差は、誤差の無いＩピクチャにより置換されるまで累積されていく。
【００４６】
誤差の累積を図３に示す。図３において、Ｉピクチャを復号化する際に発生したミスマッチ誤差をＥＩ、ＰピクチャＰ１を復号する際に発生したミスマッチ誤差をＥＰ１とすると、再生されたＰピクチャＰ１に含まれる誤差の値はＥＩ＋ＥＰ１となる。またＰピクチャＰ２を復号する際に発生したミスマッチ誤差をＥＰ２とすれば、再生されたＰピクチャＰ２に含まれる誤差の値はＥＩ＋ＥＰ１＋ＥＰ２となる。このように、個々のミスマッチ誤差は小さい値でも次第に累積していくと、大きな値の誤差となる。
【００４７】
このとき動画像信号圧縮装置及び動画像信号伸長装置のＭＰＥＧ復号化器で用いられるＩＤＣＴ処理によって発生したミスマッチ誤差には、次の２つのものが存在する。
【００４８】
（１）演算精度の不足に起因する誤差。
【００４９】
（２）四捨五入の方法の違いに起因する誤差。
【００５０】
演算精度はＭＰＥＧの規格で規定されているが、この規格は完全にミスマッチ誤差を発生させないほど十分ではなく、この規格を満たしているＩＤＣＴ回路同士においても（１）のミスマッチ誤差が発生する可能性がある。
【００５１】
ＩＤＣＴ処理の出力は整数であるから、ＩＤＣＴ処理の実数演算を行った後、演算結果を整数に丸めなければならない。一般的には、最も近い整数に丸められる。しかし、ここで問題となるのは演算結果が＊．５（＊は整数）という数となった場合である。ＭＰＥＧ方式では演算結果である＊．５の丸め方法を規定していない。すなわち、あるＩＤＣＴ回路ではこれを切り上げる処理を行うであろうし、またあるＩＤＣＴ回路ではこれを切り捨てる処理を行う。また、演算結果の正負の符号により、丸め方法が異なる場合もある。この丸め方法の違いによって発生するミスマッチ誤差は、（２）のミスマッチ誤差である。
【００５２】
ここで、（１）のミスマッチ誤差がランダムに発生するのに対し、（２）のミスマッチ誤差は体系的であるという点で、（１）のミスマッチ誤差は、（２）のミスマッチ誤差とは異なる。（１）のミスマッチ誤差はランダムに発生するので、正の誤差と負の誤差がほぼ同じ確立で発生する。したがって、長時間予測符号化を行った場合、（１）のミスマッチ誤差は平均化されていくと考えられる。
【００５３】
一方、（２）のミスマッチ誤差は体系的であり、そのＩＤＣＴ処理に固有のミスマッチ誤差であるので、一定して同一方向のミスマッチ誤差となる。したがって、長時間予測符号化を行うと、一方向に累積されていく。個々のミスマッチ誤差はわずか＋１又は−１であるが、一方向に累積されていくと、その値は次第に大きな値となる。
【００５４】
すなわち、（１）のミスマッチ誤差は、一時的には発生するものの、平均化されていくために、それほど大きな問題とはならない。一方、（２）のミスマッチ誤差は、一方向に累積するため、大きな問題となる。このため、累積する性質を有する（２）のミスマッチ誤差を防止する必要がある。
【００５５】
ＭＰＥＧ１方式では、（２）のミスマッチ誤差を防止するために、ＩＤＣＴ処理を行う前に、処理を行うことが提案されている。この処理は、画像内符号化画像（イントラマクロブロックという。）におけるマクロブロックの（０，０）成分以外の全変換係数の成分を奇数とする処理である。例えば図４に示すように、（０，１）成分、（７，１）成分、（２，３）成分、（５，３）成分、（１，５）成分、（６，５）成分、（３，７）成分、（４，７）成分は何れも変換係数が５６８であり、偶数であるので、これを前処理により、例えば奇数である５６７とする。この前処理を行った変換係数に対してＩＤＣＴ処理を行うと、常に端数が出なくなる。
【００５６】
また、イントラマクロブロックのＤＣ成分は、圧縮動画像信号から得られる画像において、視覚的に重要な信号であるので、その精度は８ビットに制限するのみにとどめておく。また、イントラマクロブロックのＤＣ成分は、この重要成分の精度を低下させないために、奇数への変換は行わない。一方、画像間符号化を用いた符号化画像のマクロブロック（以下、ノンイントラマクロブロックという。）を変換することにより得られる変換係数は全て、イントラマクロブロックのＤＣ成分以外の成分の変換係数と同様の処理を行い、変換係数を奇数のみに制限している。
【００５７】
このようにＩＤＣＴ処理の対象である変換係数の値を奇数に制限する処理を、奇数化処理と呼ぶ。
【００５８】
このような奇数化処理を行うことにより、動画像信号圧縮装置と動画像信号伸長装置のＩＤＣＴ処理が共通のルールで丸め処理を行い、画質の互換性を維持することができる。
【００５９】
しかし、上述の奇数化処理を行っても、ＩＤＣＴ処理により＊．５（＊は整数）という結果が生じることがあるため、ＭＰＥＧ１の処理では、累積する性質を有する（２）のミスマッチ誤差が発生する。＊．５という結果が生じる状況について、例えばＭＰＥＧ方式における８×８の２次元ＩＤＣＴを用いて以下に説明する。
【００６０】
８×８の２次元ＩＤＣＴは以下の式で表される。
【００６１】
【数１】
0003593988.tif 000002
【００６２】
上記の式において、Ｆ（ｕ，ｖ）は、２次元ＩＤＣＴが施されるＤＣＴ係数を示す。式１において、ＩＤＣＴの各出力値は実数、すなわち有理数や無理数である。＊．５は有理数であるので、ＩＤＣＴの出力値を無理数にすることにより、累積する性質を有するミスマッチ誤差の発生を防ぐことができる。また、出力値が有理数である場合、その出力値を＊．５にすることができる。
【００６３】
ＤＣＴ係数であるＦ（０，０）、Ｆ（０，４）、Ｆ（４，０）、Ｆ（４，４）は、特殊なＤＣＴ係数である。これらのＤＣＴ係数の何れかが非零値をとる場合、ＩＤＣＴの出力値は有理数となる。この場合のＩＤＣＴの出力値は式２により表される。
【００６４】
【数２】
0003593988.tif 000003
【００６５】
このように、特殊なＤＣＴ係数Ｆ（０，０）、Ｆ（０，４）、Ｆ（４，０）、Ｆ（４，４）の１つでも、４の倍数であって、８の倍数でない非零値をとる場合、出力値は＊．５となる。
【００６６】
上述の４つの特殊なＤＣＴ係数のみが非零値をとる係数である場合、ＩＤＣＴの出力値は式３により表させる。
【００６７】
【数３】
0003593988.tif 000004
【００６８】
ｘとｙの組合せが異なれば、式３中のｆ（ｘ，ｙ）は以下の値をとる。
【００６９】
【数４】
0003593988.tif 000005
【００７０】
このように、４つの特殊なＤＣＴ係数が、式４で表される値の何れかが４の倍数であり８の倍数でないという値をとれば、結果は＊．５となる。
【００７１】
すなわち、４つの特殊なＤＣＴ係数が非零値をとれば、ＩＤＣＴの出力値が＊．５となる可能性が高い。
【００７２】
また、上述の４つのＤＣＴ係数以外にも、非零値をとるＤＣＴ係数を対称的に種々に組み合わせることにより、＊．５という結果が得られる。例えば、
（１）ＤＣＴ係数の組Ｘ（２ｎ＋１，２ｍ＋１）、Ｘ（２ｍ＋１，２ｎ＋１）が同一の非零値をとり、その値が４の倍数であり８の倍数でない場合。
【００７３】
（２）ＤＣＴ係数の組Ｘ（２ｎ＋１，２ｎ＋１）、Ｘ（８−２ｎ−１，８−２ｎ−１）が同一の非零値をとり、その値が４の倍数であり８の倍数でない場合。
【００７４】
上記の表現において、Ｘ（ｉ，ｊ）は、８×８の２次元ＤＣＴの成分である変換係数である。
【００７５】
実際の動画像信号がＭＰＥＧ方式に準拠した動画像信号圧縮装置により圧縮される場合、非零ＤＣＴ係数は上記のパターンで得られることが多く、これによりＩＤＣＴ出力値は＊．５となる。しかも、４つの特殊なＤＣＴ係数の値は、殆どの場合が非零である。
【００７６】
上述したように、最も頻繁に＊．５を発生させるＤＣＴ係数のパターンは、上述の４つのＤＣＴ係数が非零の値を有するときであるので、これらの場合に対策を施すことにより、ミスマッチ誤差の発生確率を下げることができる。
【００７７】
ＭＰＥＧ１におけるイントラマクロブロック及びノンイントラマクロブロックの逆量子化方法を図５に示す。図５において、ＱＡＣ（ｉ，ｊ）はＤＣＴ係数の（ｉ，ｊ）成分、Ｗｉ（ｉ，ｊ）は重み行列の（ｉ，ｊ）成分、ｍｑｕａｎｔは量子化係数、ｒｅｃ（ｉ，ｊ）は逆量子化されたＤＣＴ係数の（ｉ，ｊ）成分を示す。逆量子化方法はＣ言語の構文で記述されている。Ｃ言語の構文については、Ｈｅｒｂｅｒｔ  Ｓｃｈｉｌｄｔ，  Ｕｓｉｎｇ  Ｔｕｒｂｏ  Ｃ，  Ｏｓｂｏｒｎｅ  ＭｃＧｒａｗ  Ｈｉｌｌ  （１９８８），  ｐ．８３−８７に記載されている。
【００７８】
量子化された各ＤＣＴ係数は逆量子化された後、ＩＤＣＴ処理が施されるが、ＭＰＥＧ１では、ＤＣＴ係数が偶数であった場合、＋１又は−１を加えてＩＤＣＴ処理が施される値を全て奇数となるように処理を行う。この処理によると、例えば、４つのＤＣＴ係数のうちＦ（０，０）のみが非零の値を有する場合、Ｆ（０，０）が４の倍数でかつ８の倍数でないときにミスマッチ誤差を起こすので、ＤＣＴ係数が全て奇数値を有するように処理を施して、ＩＤＣＴ変換すると、その結果は＊．５とはなり得ない。同様に、４つの特殊なＤＣＴ係数の他のＤＣＴ係数Ｆ（０，４）、Ｆ（４，０）、Ｆ（４，４）のどれか１つのみが非零の値を有する場合、ミスマッチ誤差を発生させない。しかし、図４から分かるように、上述の４つのＤＣＴ係数の内、複数個の係数が非零の値を有する場合、あるいは上述の（１）、（２）のように対称的なＤＣＴ係数の組がある場合には、全ＤＣＴ係数を奇数にしても、ミスマッチ誤差の発生を防ぐことができない。
【００７９】
すなわち、ＭＰＥＧ１の奇数化処理では、非零の値を有するＤＣＴ係数が２個以上の場合、ミスマッチ誤差の発生を防ぐことができない。しかも、ＭＰＥＧ１では、偶数値を有する変換係数が存在してはならないので、ＭＰＥＧ１の奇数化処理は、量子化変換係数の分解能を劣化する。これにより、画質が低下し、高画質が求められる場合に問題となる。すなわち、累積する性質を有するミスマッチ誤差の防止方法であって、ＭＰＥＧ１の規格で提案されているものより優れた方法が切望されている。
【００８０】
【発明が解決しようとする課題】
こうした従来技術の問題を解決するために、本発明の目的は、変換係数を逆直交変換する際に、累積する性質を有するミスマッチ誤差の発生を効果的に防ぐことができ、かつ、変換係数の分解能を劣化させない動画像信号圧縮装置及び方法、並びに圧縮動画像信号伸長装置を提供することである。
【００８１】
また、本発明の目的は、ミスマッチ誤差の無い動画像信号圧縮装置及び方法、並びに圧縮動画像信号伸長装置を提供することである。
【００８２】
【課題を解決するための手段】
本発明は、動画像信号圧縮装置を提供する。動画像信号は画像からなり、各画像はブロックに分割される。この動画像信号圧縮装置は、参照画像のマッチングブロックを用いて動画像信号のブロックを予測符号化して、差分ブロックを生成する予測符号化器を備える。差分ブロック符号化器は、予測符号化器からの差分ブロックを圧縮して、圧縮動画像信号を生成する。差分ブロック符号化器は、予測符号化器からの差分ブロックを直交変換して、変換係数ブロックを生成する直交変換回路と、直交変換回路からの変換係数ブロックを量子化して、圧縮信号ブロックを生成する量子化器とを備える。この圧縮信号ブロックから、圧縮動画像信号が得られる。
【００８３】
また、この動画像信号圧縮装置は、差分ブロック符号化器からの圧縮信号ブロックを、この圧縮信号ブロックが逆直交変換される際の丸め誤差を発生させずに伸長して、再生差分ブロックを生成する局部復号化器を備える。この局部復号化器は、差分ブロック符号化器からの圧縮信号ブロックを逆量子化して、再生変換係数ブロックを生成する逆量子化器を備える。アキュムレータは、この逆量子化器からの各変換係数ブロックの再生変換係数の和を求め、この和のパリティがパリティ判定回路により判定される。和奇数化器は、パリティ判定回路により和のパリティが偶数であると判定されたときに動作し、ブロック内の再生変換係数のうちの１つのパリティを反転して、パリティ反転変換係数を生成する。このパリティ反転変換係数により、和は奇数になる。そして、和奇数化器は、パリティ反転変換係数を含む再生変換係数のブロックを逆直交変換回路に供給する。逆直交変換回路は、再生変換係数のブロックを逆直交変換して、再生差分ブロックを生成する。
【００８４】
また、この動画像信号圧縮装置は、局部復号化器からの再生差分ブロックを予測復号化して、動画像信号のブロックに対応する画像ブロックを再生する予測復号化器を備える。また、この動画像信号圧縮装置は、予測復号化器からの再生画像ブロックを、動画像信号の他の画像を予測符号化するための参照画像として用いる再生画像ブロックとして記憶するピクチャメモリを備える。
【００８５】
上述の動画像信号圧縮装置において、局部復号化器内のアキュムレータ、パリティ判定回路及び和奇数化器の代わりに、各再生変換係数の最下位ビットを判定する最下位ビット判定回路、各ブロック内の値が１の最下位ビットを有する再生変換係数をカウントするカウンタ、カウンタからのカウント値が偶数であるかを判定するカウント判定回路、及びこのカウント判定回路によりカウント値が偶数であると判定されたときに動作し、ブロック内の再生変換係数のうちの１つを変更して、カウント値を奇数にする変更変換係数を生成するカウント奇数化器を用いてもよい。
【００８６】
また、本発明は、動画像出力信号を再生する圧縮動画像信号伸長装置を提供する。圧縮動画像信号は、動画像出力信号の画像をそれぞれ表す信号成分からなり、これらの信号成分は、可変長符号化された圧縮信号ブロックからなる。この圧縮動画像信号伸長装置は、可変長符号化された圧縮信号ブロックを逆可変長符号化して、圧縮信号ブロックを生成する逆可変長符号化器を備える。
【００８７】
復号化器は、逆可変長符号化器からの圧縮信号ブロックを、この圧縮信号ブロックが逆直交変換されるときの丸め誤差を発生させずに伸長して、再生差分ブロックを生成する。この復号化器は、逆可変長符号化器からの各圧縮信号ブロックを逆量子化して再生変換係数ブロックを生成する逆量子化器を備える。アキュムレータは、この逆量子化器からの変換係数ブロック内の再生変換係数の和を求め、この和のパリティはパリティ判定回路により判定される。和奇数化器は、パリティ判定回路により和のパリティが偶数であると判定されときに動作し、ブロック内の再生変換係数のうちの１つのパリティを反転して、和のパリティを奇数にするパリティ反転変換係数を生成する。逆直交変換回路は、和奇数化器からパリティ反転変換係数を含む再生変換係数のブロックが供給され、再生差分ブロックを生成する。
【００８８】
また、この圧縮動画像信号伸長装置は、復号化器からの再生差分ブロックを予測復号化して、画像ブロックを再生する予測復号化器と、予測復号化器からの再生画像ブロックを、再生画像のブロックとして記憶するピクチャメモリとを備える。また、この圧縮動画像信号伸長装置は、このピクチャメモリから動画像出力信号を読み出す回路を備える。
【００８９】
上述の圧縮動画像信号伸長装置において、復号化器内のアキュムレータ、パリティ判定回路及び和奇数化器の代わりに、各再生変換係数の最下位ビットを判定する最下位ビット判定回路、各ブロックの値が１の最下位ビットを有する再生変換係数をカウントして、カウント値を出力するカウンタ、カウンタからのカウント値が偶数であるかを判定するカウント判定回路、及びこのカウント判定回路によりカウント値が偶数であると判定されたときに動作し、ブロック内の再生変換係数のうちの１つを変更して、カウント値を奇数にする変更変換係数を生成するカウント奇数化器を用いてもよい。
【００９０】
さらに、本発明は、圧縮動画像信号を生成する動画像信号圧縮方法を提供する。この動画像信号圧縮方法においては、動画像信号ブロックに対して予測符号化及び直交変換処理が施され、変換係数ブロックが生成され、この変換係数ブロックから圧縮動画像信号が得られる。変換係数ブロックは、和が奇数化された後、逆直交変換及び予測復号化処理が施されて、動画像信号の他の画像を予測符号化するための参照画像として用いられる再生画像のブロックが生成される。
【００９１】
また、本発明は、圧縮動画像信号を生成する動画像信号圧縮方法を提供する。この動画像信号圧縮方法においては、動画像信号の１画像のブロックと、参照画像としての再生画像信号のブロック間の動きが検出され、検出された動きに応じて、参照画像に動き補償が施され、参照画像のマッチングブロックが生成される。参照画像のマッチングブロックは、動画像信号のブロックを予測符号化するのに用いられ、差分ブロックが生成される。この差分ブロックは直交変換されて、変換係数ブロックが生成される。量子化及び可変長符号化を行うことにより、この変換係数ブロックから圧縮動画信号が生成される。逆直交変換処理における丸め誤差を防ぐために、各変換係数ブロックの和を奇数化した後、変換係数ブロックに逆直交変換処理が施され、再生差分ブロックが再生される。そして、再生差分ブロックが予測復号化され、動画像信号の他の画像を予測符号化するための参照画像として用いられる再生画像のブロックが生成される。
【００９２】
【発明の実施の形態】
以下、本発明に係る動画像信号圧縮装置及び方法、並びに圧縮動画像信号伸長装置について、図面を参照しながら説明する。
【００９３】
先ず、本発明の原理である累積する性質のミスマッチ誤差の防止について説明する。
【００９４】
上述の式４を検討することにより、結果が（２ｎ＋１）／２（ｎは整数）である場合にミスマッチ誤差が発生することが分かる。
【００９５】
式４は、以下のように要約できる。
【００９６】
ｆ（ｘ，ｙ）  ＝  １／８  ＡＣＣ
ここで、ＡＣＣは全係数の和である。最も多いミスマッチのパターンは、
ｆ（ｘ，ｙ）  ＝  １／８  ＡＣＣ  ＝  （２ｎ＋１）／２  ＝  １／８（４＊（２ｎ＋１））
である。
【００９７】
これにより、ＡＣＣが奇数とされた場合、ミスマッチ誤差は発生しないことが分かる。
【００９８】
したがって、本発明は、量子化ＤＣＴ係数を逆量子化し、ＤＣＴ係数の和を計算し、その後、ＩＤＣＴ処理を行う方式をとっている。ＤＣＴ係数の和が偶数（すなわち、和のパリティが偶数）である場合、ＤＣＴ係数のうちの１つのパリティを変更して、ＤＣＴ係数の和を奇数（すなわち、和のパリティを奇数）にする。ＤＣＴ係数の和を奇数化するには、１つのＤＣＴ係数のパリティを変更するだけで十分である。しかも、ＩＤＣＴの出力値に最小の影響しか与えないＤＣＴ係数パリティであるから、変更することができる。つまり、本発明によれば、ＩＤＣＴ処理前にＤＣＴ係数の和のパリティをチェックすることにより、そして、和のパリティが偶数である場合、ＤＣＴ係数の１つのパリティを変更してＤＣＴ係数の和を奇数化することにより、ミスマッチ誤差の発生を効果的に防ぐことができる。
【００９９】
重要なことは、本発明によれば、ＤＣＴ係数の和を奇数化するのに、１つのＤＣＴ係数のパリティを変更するだけで十分であるということである。ＭＰＥＧ１は、全ＤＣＴ係数を奇数化し、その結果、ＩＤＣＴ処理が施されるＤＣＴ係数の分解能を劣化させてしまっている。これに対し、本発明によるミスマッチ誤差防止法は、ＩＤＣＴ回路の入出力値の精度を余り低下させずに、ＤＣＴ係数の和を奇数化する。本発明の方法を動画像信号圧縮装置、圧縮動画像信号伸長装置、あるいは圧縮動画像信号伝送装置に適用すれば、画質の低下を最小限に抑えることができる。
【０１００】
さらに、本発明の方法をＭＰＥＧ方式に適用すれば、最小量子化ステップが２である従来技術に対し、最小量子化ステップを１にすることができる。
【０１０１】
この実施例は、本発明を、動き補償予測符号化と離散コサイン変換（ＤＣＴ：Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）を組み合わせたハイブリッド（ｈｙｂｒｉｄ）符号化方式に適用したものである。このハイブリッド符号化方式は、動画像の符号化規格のための国際的な委員会である、ＣＣＩＴＴ（国際電信電話諮問委員会）のＨ．２６１のＩＳＯ−ＩＥＣ／ＪＴＣ１／ＳＣ２／ＷＧ１１（通称ＭＰＥＧという）で検討されており、蓄積メディア用の動画像信号の圧縮などにおいても採用されており、広く知られた方式である。ＷＧ１１の報告には、ここで用いられる語の用語集が記載されている。
【０１０２】
動き補償予測符号化は、動画像信号の時間軸方向の相関を利用して動画像信号が有する冗長度を削減する方法である。既に復号化されている別の画像を参照画像として、現在の符号化対象である画像の信号を動き補償予測し、得られる動き補償予測誤差が動きベクトル、予測モードなどとともに圧縮信号に含まれる。これにより、現在の画像を表すのに必要な圧縮動画像信号の情報量を大幅に削減する。
【０１０３】
そして、上記動き補償予測誤差信号は、動画像を構成する各画像の空間軸方向の相関を利用する差分信号圧縮器により圧縮される。この差分信号圧縮器の一例としては、ＤＣＴ回路などの直交変換回路と量子化器を組み合わせたものが代表的である。ＤＣＴは、直交変換の一種で、画像信号の有する画像内（フレーム内又はフィールド内）２次元相関性により、特定の周波数成分に信号電力を集中させる。この集中分布したＤＣＴ係数のみは、そのままあるいは追加圧縮後、圧縮信号に含まれる。これにより、現在の画像を表すのに必要な圧縮動画像信号の情報量をさらに削減する。
【０１０４】
画像間動き補償予測符号化は、動画像信号のフレーム間で行うこともできる。またインタレース画像信号のような場合には、フィールド間でも行うことができる。また、フレーム間符号化とフィールド間符号化を動画像信号の性質に応じて、適応的に切り換えることも可能である。
【０１０５】
第１の実施例
図６に、本発明を適用した動画像信号圧縮装置の具体的な構成を示す。図６に示す動画像信号圧縮装置においては、動画像信号が画像に分割され、画像単位で圧縮される。各画像は画像ブロックに分割され、ブロック単位で圧縮される。圧縮される画像ブロックは現画像ブロックと呼ばれる。現画像ブロックは現画像と呼ばれる画像のブロックである。
【０１０６】
動画像信号（通常、ビデオ信号）は、第１のピクチャメモリ群２に供給され、複数の画像が一旦記憶される。メモリコントローラ３は、第１のピクチャメモリ群２及び第２のピクチャメモリ群４の読出を制御する。また、メモリコントローラ３は、スライススタート信号ＳＳ及びマクロブロックスタート信号ＢＳをスライス／マクロブロック・カウンタ５に供給する。メモリコントローラ３は、現在符号化の対象である第１のピクチャメモリ群２から読み出される画像のスライス又はマクロブロックに同期して、これらの信号を出力する。スライスは、画像の幅にわたるブロックの水平列である。
【０１０７】
動き予測器６は、第１のピクチャメモリ群２に記憶されている現画像ブロックと、過去の画像と未来の画像の各ブロックとのブロックマッチングを行うことによって、動き予測を行う。ブロックマッチングは、例えば１６×１６画素のブロックを用いて行う。現画像とブロックマッチされる過去の画像と未来の画像の各ブロックは、メモリコントローラ３から出力される動き予測参照画像指示信号に従って、第１のピクチャメモリ群２の中から選択される。そして、動き予測器６は、選択されたブロックと現画像ブロックとの差、すなわち動き予測誤差が最小となる第１のピクチャメモリ群２内の過去又は未来の画像中のブロック位置を、動きベクトルＭＶとして動き補償器７に供給する。
【０１０８】
動き補償器７は、動きベクトルＭＶに応じて、第２のピクチャメモリ群４に記憶されている各再生画像のブロックを潜在的なマッチングブロックとして読み出させる。これらの潜在的なマッチングブロックが読み出される再生画像の位置は、動きベクトルＭＶにより指定される。そして、第２のピクチャメモリ群４から読み出された潜在的なマッチングブロックのうちの１つが、メモリコントローラ３から出力される動き補償参照画像指示信号ＭＡに従って、現画像ブロックに対するマッチングブロックとして選択される。第２のピクチャメモリ群４に記憶されている再生画像は、後述するように、差分ブロック符号化器９から出力される量子化ＤＣＴ係数を局部復号化することにより再生された画像である。
【０１０９】
動き補償参照画像指示信号ＭＡによりマッチングブロックが選択される再生画像は、現画像の予測モードによって異なる。前方向予測モードでは、マッチングブロックが過去の再生画像から選択される。両方行予測モードでは、マッチングブロックは、過去の再生画像又は未来の再生画像から選択されるか、あるいは過去の再生画像と未来の再生画像の各ブロックに対して線形演算（例えば、平均値計算）を行うことにより得ることができる。そして、現画像が画像内符号化モードで符号化される場合、すなわち画像が予測なしで符号化される場合、全画素値が零である零ブロックがマッチングブロックとして用いられる。第２のピクチャメモリ群４から読み出されるマッチングブロックは適応的であり、これにより、動画像信号の各ブロックについて最適なマッチングブロックの選択が行われる。
【０１１０】
動き補償器７は、まず、現画像ブロックと、異なる予測モードで得られる潜在的なマッチングブロックとの画素毎の差分の絶対値総和を計算することにより、各画像の予測モードを選択する。そして、この絶対値総和が最小である予測モードを選択する。動き補償器７は、選択された予測モードを示す動き補償モード信号ＭＭを、後述する可変長符号化器１７に供給する。また、動き補償器７は、第２のピクチャメモリ群４に、選択された予測モードのマッチングブロックＳ２を差分発生回路８に供給させる。
【０１１１】
この差分発生回路８は、第１のピクチャメモリ群２から読み出された動画像信号の現画像ブロックＳ１を受け取り、現画像ブロックＳ１とマッチングブロックＳ２との差分を画素単位で計算する。差分発生回路８は、得られる差分ブロックＳ３を差分ブロック符号化器９に供給する。差分ブロック符号化器９は、差分ブロックＳ３を圧縮して、量子化変換係数ＳＣのブロックを生成する。量子化変換係数ＳＣのブロックは、局部復号化器１０に供給され、伸長されて再生差分ブロックＳ４が生成される。この動画像信号圧縮装置内の局部復号化器１０は、後述する圧縮動画像信号伸長装置と類似した構成を有するが、詳細においては区別される。
【０１１２】
ここで、上記差分ブロック符号化器９、局部復号化器１０について説明する。
【０１１３】
差分ブロック号化器９は、図６に示すように、ＤＣＴ回路１１と量子化器１２とを備える。ＤＣＴ回路１１は、差分発生回路８から供給される差分ブロックＳ３をＤＣＴ変換して、ＤＣＴ係数を量子化器１２に供給する。量子化器１２は、ＤＣＴ係数を量子化して、量子化ＤＣＴ係数ＳＣのブロックを出力する。
【０１１４】
局部復号化器１０は、図６に示すように、逆量子化器１３と、和奇数化回路１４と、ＩＤＣＴ回路１５とを備えている。逆量子化器１３は、量子化器１２からの量子化ＤＣＴ係数ＳＣのブロックを量子化テーブルを用いて逆量子化する。和奇数化回路１４は、ＤＣＴ係数の和が奇数でないときに、ＤＣＴ係数に対してパリティ反転を行う。これにより、和が奇数化されたＤＣＴ係数のブロックを逆直交変換する際には、ミスマッチ誤差が生じない。ＩＤＣＴ回路１５は、和奇数化回路１４からのＤＣＴ係数の和が奇数化されたブロックに対して逆離散コサイン変換（ＩＤＣＴ変換）を行って、再生差分ブロックＳ４を生成する。
【０１１５】
つぎに、量子化器１２での具体的な量子化について説明する。量子化は８×８ＤＣＴ係数からなるブロック単位で行われる。画像内符号化モードで圧縮される画像（Ｉピクチャ）の各ブロックはイントラマクロブロックと呼ばれる。画像間符号化モードで圧縮される各ブロックは、ノンイントラマクロブロックと呼ばれる。イントラマクロブロックが直交変換されると、（０，０）成分のＤＣＴ係数はＤＣ係数となる。ＤＣ係数については、四捨五入により、８ビット精度での量子化の際にはＤＣ係数を８で割り、９ビット精度での量子化の際にはＤＣ係数を４で割り、１０ビット精度での量子化の際にはＤＣ係数を２で割り、１１ビット精度での量子化の際にはＤＣ係数を１で割ることにより、量子化される。すなわち、イントラマクロブロックのＤＣ係数は、以下の式に従って量子化される。なお、以下の式はＣプログラミング言語の構文で表されている。
ＱＤＣ  ＝  ｄｃ  ／／  ８  （８  ｂｉｔｓ）
ＱＤＣ  ＝  ｄｃ  ／／  ４  （９  ｂｉｔｓ）
ＱＤＣ  ＝  ｄｃ  ／／  ２  （１０  ｂｉｔｓ）                      （５）
ＱＤＣ  ＝  ｄｃ  ／／  １  （１１  ｂｉｔｓ）
ここで、ｄｃはＤＣ係数、ＱＤＣは量子化されたＤＣ係数をそれぞれ表す。
【０１１６】
イントラマクロブロックを直交変換することにより得られるＤＣＴ係数であって、ＤＣ成分以外の成分である各ＤＣＴ係数（以下、ＡＣ係数という。）は、以下の式に従い、重み付け行列ＷｉによってＤＣＴ係数ａｃ（ｉ，ｊ）を重み付けして、量子化ファクタａｃ  （ｉ，ｊ）を求めることにより、量子化する。
ａｃ  （ｉ，ｊ）  ＝  （１６＊ａｃ（ｉ，ｊ））  ／／  Ｗｉ（ｉ，ｊ）（６）
重み付け行列Ｗｉの係数を以下に示す。
0003593988.tif 000006
つぎに、以下の式により、量子化ファクタａｃ  （ｉ，ｊ）を量子化して、各ＡＣ係数の量子化レベルＱＡＣ（ｉ，ｊ）を求める。
【０１１７】
【数５】
0003593988.tif 000007
【０１１８】
ここで、ｐ、ｑは固定の任意の整数であり、例えばｐ＝３、ｑ＝４を用いる。ｍｑｕａｎｔは量子化係数である。
【０１１９】
画像間符号化マクロブロック（ノンイントラマクロブロック）の直交変換により得られるＤＣＴ係数は、以下の式に従い、ノンイントラマクロブロックを変換して得られる全てのＤＣＴ係数を、重み付け行列Ｗｎによって重み付けして、量子化ファクタａｃ  （ｉ，ｊ）を求めることにより、量子化する。
ａｃ  （ｉ，ｊ）  ＝  （１６＊ａｃ（ｉ，ｊ））  ／／  Ｗｎ（ｉ，ｊ）（９）
重み付け行列Ｗｎの係数を以下に示す。
0003593988.tif 000008
つぎに、以下の式により、量子化ファクタａｃ  （ｉ，ｊ）を量子化して、各ＡＣ係数の量子化レベルＱＡＣを求める。
0003593988.tif 000009
このようにして得られる量子化レベルＱＡＣ（ｉ，ｊ）は、上述した量子化ＤＣＴ係数ＳＣのブロックとして可変長符号化器１７と局部復号化器１０に供給される。
【０１２０】
可変長符号化器１７は、ＤＣＴ係数のブロックを量子化して得られる量子化ＤＣＴ係数ＳＣのブロックを可変長符号化する。可変長符号化器１７は、各マクロブロックを構成する４つの輝度ブロックにおける量子化変換係数と、各イントラマクロブロックのＤＣ係数との差分を求め、得られる差分値を可変長符号化テーブルを用いて可変長符号化する。これは、隣接する４つの輝度ブロックでは、相関が高く、ＤＣ係数が殆ど同じ値を有するからである。また、可変長符号化器１７は、２つの色差ブロックの量子化係数の差分を求め、得られる差分値を可変長符号化テーブルを用いて可変長符号化する。なお、輝度用の可変長符号化テーブルと色差用の可変長符号化テーブルは異なるテーブルである。
【０１２１】
可変長符号化器１７は、図７に示すように、（０，０）成分のＤＣＴ係数を先頭とするジグザグスキャンにより、量子化ＤＣＴ係数を読み出して、量子化ＤＣＴ係数ブロックを可変長符号化する。ＤＣＴ変換により得られる非零ＤＣＴ係数は、一般的に、（０，０）成分近傍に値が集中することから、量子化ＤＣＴ係数ＳＣのブロックはジグザグスキャンにより読み出される。すなわち、量子化ＤＣＴ係数ブロックをジグザグスキャンによって読み出すことにより、各非零ＤＣＴ係数間の連続した零ＤＣＴ係数の個数（ラン）が増加し、可変長符号化の効率が向上する。
【０１２２】
可変長符号化器１７は、量子化ＤＣＴ係数をジグザグスキャンの順で読み出し、各非零ＤＣＴ係数の値（レベル）と、それに先行する零ＤＣＴ係数の個数（ラン）を求めて、量子化ＤＣＴ係数ブロックを２次元可変長符号化する。符号化の後、ブロック内のＤＣＴ係数はランとレベルとの組合せにより表される。また、可変長符号化器１７は、最後の非零ＤＣＴ係数を示す２ビット符号ＥＯＢを付加する。また、可変長符号化器１７は、またジグザグスキャンの順の最後の非零ＤＣＴ係数のアドレスを、アドレス変換器（図示せず）に供給し、アドレス変換器は、ジグザグスキャンでのアドレスをラスタスキャンにおけるアドレスＥＯＢ＿ａｄｒｓに変換する。可変長符号化器１７は、このアドレスＥＯＢ＿ａｄｒｓを和奇数化回路１４に供給する。
【０１２３】
和奇数化回路１４は、ラスタスキャンでのアドレスＥＯＢ＿ａｄｒｓを、例えば図８に示す後述のレジスタ２５に記憶させる。
【０１２４】
つぎに、逆量子化器１３について説明する。逆量子化器１３は、差分ブロック符号化器９からの量子化ＤＣＴ係数ＳＣのブロックを受け取り、逆量子化して、ＤＣＴ係数のブロックを生成する。具体的には、逆量子化器１３は、イントラマクロブロックを直交変換して得られる量子化ＤＣ係数を、式１２により逆量子化して、各ＤＣ係数を生成する。また、逆量子化器１３は、ノンイントラマクロブロックを直交変換して得られるＡＣ係数を、式１３により逆量子化する。また、逆量子化器１３は、ノンイントラマクロブロックを直交変換して得られるの全ての量子化係数を、式１４により逆量子化する。
0003593988.tif 000010
0003593988.tif 000011
このようにして得られるＤＣＴ係数は、逆量子化器１３から和奇数化回路１４に供給される。和奇数化回路１４の具体的な構成を図８に示す。
【０１２５】
和奇数化回路１４は、アキュムレータ２３Ａと、パリティ判定回路２１と、パリティインバータ２８とを備えている。アキュムレータ２３Ａは、逆量子化器１３からのＤＣＴ係数ブロックにおけるＤＣＴ係数の和を求める。パリティ判定回路２１は、アキュムレータ２３ＡからのＤＣＴ係数の和が偶数又は奇数の何れか、すなわち、ＤＣＴ係数の和のパリティが偶数又は奇数の何れかを判定する。ＤＣＴ係数の和のパリティが偶数であるとパリティ判定回路２１が判定したときのみ、ブロック内のＤＣＴ係数の少なくとも１つのパリティを変更して、ＤＣＴ係数の和のパリティを奇数にする。すなわち、ＤＣＴ係数の和を奇数化する。これにより、和奇数化回路１４からの和奇数化されたＤＣＴ係数のブロックがＩＤＣＴ回路１５により逆直交変換された場合に、ミスマッチ誤差の発生を防止する。
【０１２６】
カウンタ２０は、逆量子化器１３から供給されるＤＣＴ係数の数をカウントし、得られるカウント値ｃｏｅｆｆ＿ａｄｒｓをパリティ判定回路２１、メモリセレクタ２２に供給する。
【０１２７】
アキュムレータ２３Ａは、加算器２３とレジスタ２４を備える。加算器２３は、逆量子化器１３から供給されるＤＣＴ係数のブロックの各ＤＣＴ係数と、レジスタ２４中に保存されているブロック内の先行するＤＣＴ係数の和とを加算する。各ＤＣＴ係数ブロックの和が求められると、レジスタ２４はリセットされる。得られるＤＣＴ係数の和は加算器２３からレジスタ２４とパリティ判定回路２１に供給される。パリティ判定回路２１がＤＣＴ係数の和のパリティが偶数又は奇数であると判定するのに適した結果を得るためには、アキュムレータ２３Ａは、ブロック内のＤＣＴ係数の最下位ビットのみの和を求めればよい。
【０１２８】
パリティ判定回路２１は、カウンタ２０から供給されるカウント値ｃｏｅｆｆ＿ａｄｒｓに応じて、ＤＣＴ係数ブロック内のＤＣＴ係数の和のパリティが奇数であるか偶数であるかを判定する。アキュムレータ２３Ａにブロック内の全てのＤＣＴ係数が供給されたとき、カウント値ｃｏｅｆｆ＿ａｄｒｓは、アキュムレータ２３Ａがブロック内の全てのＤＣＴ係数の和を求めたことを示す。カウント値ｃｏｅｆｆ＿ａｄｒｓに応じて、パリティ判定回路２１は、アキュムレータ２３ＡからのＤＣＴ係数の和のパリティが奇数であるか偶数であるかを判定する。例えば、８×８の２次元ＤＣＴ変換の場合、カウント値ｃｏｅｆｆ＿ａｄｒｓがブロック内の６４個のＤＣＴ係数の和がアキュムレータ２３Ａに供給されたことを示すとき、パリティ判定回路２１はアキュムレータ２３ＡからのＤＣＴ係数の和のパリティが偶数であるか奇数であるかを判定する。
【０１２９】
具体的には、例えばＤＣＴ係数が２進数で表現されていると、パリティ判定回路２１は、アキュムレータ２３Ａから供給されるＤＣＴ係数の和の最下位ビット（ＬＳＢ）を判定する。ＬＳＢが零のとき、和のパリティが偶数であることを示す。この場合、パリティ判定回路２１は、パリティ反転を行うために処理要求信号ＲＥＱ１をパリティインバータ２８に出力する。この処理要求信号ＲＥＱ１に応じて、パリティインバータ２８は、ＤＣＴ係数の少なくとも１つ（すなわち、奇数）のパリティを変更してＤＣＴ係数の和を奇数化する。一方、最下位ビットが１であるとき、和のパリティは奇数である。この場合、パリティ判定回路２１は処理要求信号ＲＥＱ１を出力せず、パリティインバータ２８はブロック内の全てのＤＣＴ係数のパリティをそのままにしておく。
【０１３０】
具体的には、逆量子化器１３からのＤＣＴ係数は、メモリセレクタ２２を介して第１のメモリ２６又は第２のメモリ２７に記憶される。すなわち、メモリセレクタ２２は、カウンタ２０から供給されるカウント値ｃｏｅｆｆ＿ａｄｒｓに基づいて動作する。例えばメモリセレクタ２２は、第１のメモリ２６に全てのＤＣＴ係数が記憶されたと判定したとき、第２のメモリ２７に次のブロックのＤＣＴ係数が記憶されるようにメモリを指定する。このようにして、ＤＣＴ係数の連続したブロックが交互に第１のメモリ２６、第２のメモリ２７に記憶される。ブロック内の全てのＤＣＴ係数が第１のメモリ２６又は第２のメモリ２７の何れかに記憶された場合、全てのＤＣＴ係数が記憶されたメモリはメモリフル信号ＦＵＬＬ１又はメモリフル信号ＦＵＬＬ２をパリティインバータ２８に出力する。
【０１３１】
パリティインバータ２８は、メモリフル信号ＦＵＬＬ１又はメモリフル信号ＦＵＬＬ２を受け取ると、そのメモリフル信号を発生したメモリにリードイネーブル信号ＲＤ＿ＥＮ１又はリードイネーブル信号ＲＤ＿ＥＮ２を供給する。これにより、ＤＣＴ係数ブロックが、メモリフル信号を発生したメモリからパリティインバータ２８に供給される。パリティインバータ２８は、パリティ判定回路２１からの処理要求信号ＲＥＱ１の有無に基づいて、メモリから読み出されたＤＣＴ係数ブロックを処理する。パリティインバータ２８は、処理要求信号ＲＥＱ１を受け取ると、ブロック内のＤＣＴ係数のうちの１つ、例えばジグザグスキャンにおける最後の非零のＤＣＴ係数の最下位ビットを反転する。パリティインバータ２８は、レジスタ２５に記憶されているパリティ反転が可能なＤＣＴ係数のアドレスを用いて、パリティ反転が可能なＤＣＴ係数を識別する。例えば、図１１は、パリティインバータ２８の具体的な構成を示すブロック図である。比較器６２には、最後の非零のＤＣＴ係数のアドレスＥＯＢ＿ａｄｒｓが供給される。したがって、パリティ反転が可能なＤＣＴ係数は、最後の非零のＤＣＴ係数となる。パリティインバータ２８がパリティ反転が可能なＤＣＴ係数のパリティを反転すると、ブロック内の先頭から最後までの非零のＤＣＴ係数の和のパリティは奇数となる。パリティインバータ２８は、ＬＳＢが反転されたＤＣＴ係数以外の全てのＤＣＴ係数を、ＬＳＢはそのままの状態で、ＩＤＣＴ回路１５に供給する。また、このパリティインバータ２８は、パリティ反転が可能なＤＣＴ係数を、パリティインバータ２８が処理要求信号ＲＥＱ１を受け取ったか否かでＬＳＢが異なる状態で、ＩＤＣＴ回路１５に供給する。
【０１３２】
パリティインバータ２８は、例えば図９に示すフローチャートに従って動作するコンピュータ又はディジタル信号処理器を備えてもよい。この例では、パリティ反転可能なＤＣＴ係数は最後の非零のＤＣＴ係数とする。ステップＳ１において、パリティインバータ２８は、アドレスＥＯＢ＿ａｄｒｓに基づいて、そのＤＣＴ係数がＬＳＢ反転によりパリティ反転が可能であるかを判定し、該当する（ＹＥＳの）ときはステップＳ２に進み、該当しない（ＮＯの）ときは後述するステップＳ５に進む。
【０１３３】
ステップＳ２において、パリティインバータ２８は、処理要求信号ＲＥＱ１の有無を判定し、処理要求信号ＲＥＱ１が有ることを示すＹＥＳのときはステップＳ３に進み、処理要求が無いときはステップＳ５に進む。
【０１３４】
ステップＳ３において、パリティインバータ２８は、パリティ反転可能なＤＣＴ係数のＬＳＢを反転してパリティを反転し、ＤＣＴ係数の和のパリティを変更する。そして、ステップＳ４に進み、パリティ反転したＤＣＴ係数をＩＤＣＴ回路１５（図８）に供給する。その後、ステップＳ１に戻り、次のＤＣＴ係数ブロックを処理する。
【０１３５】
処理したＤＣＴ係数がパリティ反転可能なＤＣＴ係数でないとき、あるいはパリティ反転すべきＤＣＴ係数がパリティ反転されないとき、すなわち処理要求信号ＲＥＱ１が受け取られていないときは、ステップＳ５に進む。ステップＳ５において、ＤＣＴ係数はそのままＩＤＣＴ回路１５に供給される。その後、ステップＳ１に戻り、次のＤＣＴ係数を処理する。
【０１３６】
ＤＣＴ係数が２の補数表現で表される場合、ＬＳＢも２の補数表現のＬＳＢとなる。また、ＤＣＴ係数が符号と絶対値に分けて表現される場合、そのＬＳＢは絶対値のＬＳＢとなる。
【０１３７】
ところで、和奇数化回路１４の構成は、上述の図８に示す構成に限定されるものではなく、例えば図１０Ａに示すように、図８に示す和奇数化回路１４において、ＬＳＢ検出器２９を付加し、加算器２３の代わりに排他的論理和ゲート３０を用いてもよい。なお、図８に示す回路の構成要素に対応する図１０Ａに示す回路の構成要素には、同じ指示符号を付して、説明は割愛する。
【０１３８】
図１０Ａにおいて、ＬＳＢ検出器２９は、ＤＣＴ係数のブロック内の各ＤＣＴ係数のＬＳＢを検出する。排他的論理和ゲート３０は、ブロック内の各ＤＣＴ係数と、レジスタ２４に記憶されいる処理済みのＤＣＴ係数のＬＳＢの排他的論理和との排他的論理和演算を行う。排他的論理和ゲート３０とレジスタ２４は、各ブロックのＤＣＴ係数のＬＳＢの排他的論理和を算出する。排他的論理和ゲート３０とレジスタ２４との組合せにより、値が１のＬＳＢを有するＤＣＴ係数をカウントすることにもなる。そして、ブロック内の全てのＤＣＴ係数が受け取られたとき、排他的論理和ゲート３０の出力の状態は、値が１のＬＳＢを有するＤＣＴ係数のカウント値が偶数であるか奇数であるかを示す。そして、パリティ判定回路２１は、値が１のＬＳＢを有するＤＣＴ係数のカウント値が偶数である場合、処理要求信号ＲＥＱ１を発生する。
【０１３９】
図１０Ｂは、排他的論理和ゲート３０とレジスタ２４の代わりに用いることができる別の回路構成を示す。ここで、逆量子化器１３から供給された各ＤＣＴ係数のＬＳＢは、ＬＳＢ検出器２９からＡＮＤゲート８８に供給される。ＡＮＤゲート８８は、値が１のＬＳＢのみをカウンタ８９に送る。カウンタ８９は、ＤＣＴ係数の各ブロックの初めにリセットされ、供給される値が１の各ＬＳＢをカウントする。カウンタ８９からのカウント値ＣＯＵＮＴのＬＳＢは、パリティ判定回路２１に供給される。各ブロックの終わりで、パリティ判定回路２１は、カウンタ８９からのカウント値ＣＯＵＮＴのＬＳＢのパリティを求める。カウント値ＣＯＵＮＴのＬＳＢのパリティが奇数（例えば、ＣＯＵＮＴのＬＳＢが１）である場合、ブロック内の値が１のＬＳＢを有するＤＣＴ係数が奇数個有り、ブロック内のＤＣＴ係数の和のパリティが奇数であることを示す。一方、カウント値ＣＯＵＮＴのＬＳＢのパリティが偶数（例えば、ＣＯＵＮＴのＬＳＢが０）である場合、ブロック内の値が１のＬＳＢを有するＤＣＴ係数が偶数個有り、ブロック内のＤＣＴ係数の和のパリティが偶数であることを示す。
【０１４０】
図８及び１０に示す和奇数化回路１４におけるパリティインバータ２８の第１の実施例の具体的な構成を、図１１を参照して説明する。パリティインバータ２８は、読出カウンタ６１、比較器６２、ＬＳＢインバータ６３、ＡＮＤゲート６４、６５、６７、６８、ＯＲゲート６６、６９、インバータ７１、７２を備えている。
【０１４１】
そして、パリティインバータ２８は以下のように動作する。読出カウンタ６１が第１のメモリ２６又は第２のメモリ２７からメモリフル信号ＦＵＬＬを受け取ると、第１のメモリ２６又は第２のメモリ２７にリードイネーブル信号ＲＤ＿ＥＮを送る。このリードイネーブル信号ＲＤ＿ＥＮにより、記憶されたＤＣＴ係数ブロックのＤＣＴ係数は順次、信号線ＲＤＡＴＡを介して第１のＡＮＤゲート６７に供給される。
【０１４２】
また、メモリフル信号ＦＵＬＬにより、読出カウンタ６１は、受け取ったＤＣＴ係数のカウントを開始するとともに、このＤＣＴ係数の数を示すカウント値を比較器６２に供給する。比較器６２は、カウント値とレジスタ２５から供給されるアドレスを比較して、第１のＡＮＤゲート６７に供給されているＤＣＴ係数がパリティ反転を行うＤＣＴ係数であるか、すなわちＬＳＢ反転を行うＤＣＴ係数であるかを判定をする。図１１に示す例では、パリティ反転を行うＤＣＴ係数は、レジスタ２５に記憶されたアドレスＥＯＢ＿ａｄｒｓにより認識された最後の非零のＤＣＴ係数である。比較器６２は、カウント値がパリティ反転を行うＤＣＴ係数のアドレスに一致したとき、すなわちこの例ではアドレスＥＯＢ＿ａｄｒｓに一致したとき、パリティ反転を行うＤＣＴ係数と判定して、その出力を０から１に変更する。
【０１４３】
比較器６２の出力は、直接第２のＡＮＤゲート６８に供給されるとともに、インバータ７２を介して第１のＡＮＤゲート６７に供給される。そして、カウント値がアドレスＥＯＢ＿ａｄｒｓと一致しないとき、第１のＡＮＤゲート６７が開き、第２のＡＮＤゲート６８が閉じる。これにより、ＤＣＴ係数が、そのまま第１のＡＮＤゲート６７とＯＲゲート６９を介してＩＤＣＴ回路１５に出力される。
【０１４４】
一方、パリティインバータ２８に供給されたＤＣＴ係数がパリティ反転を行うＤＣＴ係数であり、カウント値がパリティ反転を行うＤＣＴ係数のアドレス、例えばＥＯＢ＿ａｄｒｓと一致したときは、比較器６２の出力が上述のように変化する。これにより、第１のＡＮＤゲート６７が閉じ、第２のＡＮＤゲート６８が開き、ＯＲゲート６６を介して供給されるＬＳＢ反転されたＤＣＴ係数が、第２のＡＮＤゲート６８とＯＲゲート６９を介してＩＤＣＴ回路１５に出力される。
【０１４５】
ＬＳＢ反転されたＤＣＴ係数は、ＤＣＴ係数を信号線ＲＤＡＴＡを介して第３のＡＮＤゲート６４とＬＳＢインバータ６３に供給することにより、処理要求信号ＲＥＱ１に応じて、選択的にＩＤＣＴ回路１５に供給される。処理要求信号ＲＥＱ１は、パリティ判定回路２１から直接第４のＡＮＤゲート６５に供給されるとともに、インバータ７１を介して第３のＡＮＤゲート６４に供給されている。ＬＳＢインバータ６３は、信号線ＲＤＡＴＡを介して供給される各ＤＣＴ係数のＬＳＢを反転し、得られるＬＳＢ反転されたＤＣＴ係数を第４のＡＮＤゲート６５に供給する。
【０１４６】
そして、処理要求信号ＲＥＱ１が無いとき、すなわち処理要求信号ＲＥＱ１が０のとき、パリティ反転を行うＤＣＴ係数は、ＬＳＢ反転されずにＩＤＣＴ回路１５に送られる。具体的には、この０の処理要求信号ＲＥＱ１により、第３のＡＮＤゲート６４が開き、第４のＡＮＤゲート６５が閉じ、ＬＳＢが反転されない、すなわちパリティを変更しないＤＣＴ係数は、信号線ＲＤＡＴＡから第３のＡＮＤゲート６４、ＯＲゲート６６、第２のＡＮＤゲート６８及びＯＲゲート６９を介してＩＤＣＴ回路１５に供給される。
【０１４７】
一方、処理要求信号ＲＥＱ１が有るとき、すなわち処理要求信号ＲＥＱ１が１のとき、パリティ反転を行うＤＣＴ係数は、ＬＳＢ反転されてＩＤＣＴ回路１５に供給され、ＤＣＴ係数の和のパリティを変更する。具体的には、この１の処理要求信号ＲＥＱ１により、第３のＡＮＤゲート６４が閉じ、第４のＡＮＤゲート６５が開き、ＬＳＢ反転されたパリティ反転を行うＤＣＴ係数が、ＬＳＢインバータ６３から第４のＡＮＤゲート６５、ＯＲゲート６６、第２のＡＮＤゲート６８及びＯＲゲート６９を介してＩＤＣＴ回路１５に供給される。
【０１４８】
つぎに、このパリティインバータ２８の第２の実施例について、図１２を参照しながら説明する。このパリティインバータ２８の第２の実施例は、処理要求信号ＲＥＱ１が入力されると、パリティ反転を行うＤＣＴ係数に１を加算してＤＣＴ係数の和を奇数化するものである。
【０１４９】
パリティインバータ２８の第２の実施例として、図１２に示すフローチャートに従って動作するコンピュータ又はディジタル信号処理器を用いてもよい。図１２に示すフローチャートは、ステップＳ３での処理を除けば、図９に示すフローチャートと同じである。ステップＳ３において、パリティインバータ２８の第２の実施例では、パリティ反転を行うＤＣＴ係数のＬＳＢを反転する代わりに、パリティ反転を行うＤＣＴ係数に１を加算してＤＣＴ係数の和を奇数化する。パリティ反転を行うＤＣＴ係数は、例えば、ブロック内の最後の非零のＤＣＴ係数であるか、最高周波数成分のＤＣＴ係数であってもよい。
【０１５０】
具体的には、パリティインバータ２８の第２の実施例の具体的な回路構成は、パリティ反転を行うＤＣＴ係数に１を加算してブロック内のＤＣＴ係数の和を奇数化するものであり、その具体的な回路について、図１３を参照して説明する。図１３に示すパリティインバータ２８の第２の実施例は、図１１に示すパリティインバータ２８の第１の実施例と略同じ構成を有する。図１１に示す回路の構成要素に対応する図１３に示す回路の構成要素は、同一符号を付して、説明は割愛する。
【０１５１】
図１３に示すパリティインバータ２８は、図１１に示すＬＳＢインバータ６３の代わりに＋１加算器７３を備える。この＋１加算器７３は、第１のメモリ２６又は第２のメモリ２７から読み出され、信号線ＲＤＡＴＡを介して供給された各ＤＣＴ係数に１を加算する。１が加算されたＤＣＴ係数のうちの１つが、処理要求信号ＲＥＱ１に応じて選択され、ＤＣＴ係数の和を奇数化する。
【０１５２】
図１３に示すパリティインバータ２８の処理は、＋１加算器７３が信号線ＲＤＡＴＡを介して得られる各ＤＣＴ係数に１を加算すること以外は、図１１に示す回路の処理と同じである。また、処理要求信号ＲＥＱ１が有り、パリティ反転を行うＤＣＴ係数が検出されると、１が加算されたＤＣＴ係数は、＋１加算器７３から第４のＡＮＤゲート６５、ＯＲゲート６６、第２のＡＮＤゲート６８及びＯＲゲート６９を介してＩＤＣＴ回路１５に供給される。
【０１５３】
以下、パリティインバータ２８の第３の実施例について、図１４及び１５を参照して説明する。
【０１５４】
このパリティインバータ２８の第３の実施例は、処理要求信号ＲＥＱ１が入力されると、パリティ反転を行うＤＣＴ係数の代わりに、ＤＣＴ係数の符号が正であるとき１を引算し、負であるとき１を加算してパリティ反転されたＤＣＴ係数を用い、ブロック内のＤＣＴ係数の和を奇数化する。この処理により、パリティ反転を行うＤＣＴ係数のパリティを反転するのみならず、このＤＣＴ係数の大きさを削減する。すなわち、パリティ反転を行うＤＣＴ係数を０に近づける。パリティ反転を行うＤＣＴ係数に施す処理は以下の式により求められる。
ｒｅｃ  ＞  ０  ならば、
ｒｅｃ  ＝  ｒｅｃ  −  １
ｒｅｃ  ＜  ０  ならば、
ｒｅｃ  ＝  ｒｅｃ  ＋  １              （１５）
ここで、ｒｅｃはパリティ反転を行うＤＣＴ係数を示す。
【０１５５】
パリティインバータ２８の第３の実施例では、例えば図１４に示すフローチャートに従って動作するコンピュータ又はディジタル信号処理器を用いてもよい。ステップＳ１において、パリティインバータ２８は、アドレスＥＯＢ＿ａｄｒｓに基づいて、そのＤＣＴ係数がパリティ反転すべきＤＣＴ係数かを判定する。例えば、パリティインバータ２８は、ＤＣＴ係数が最後の非零ＤＣＴ係数であるか否かを判定する。結果がＹＥＳであり、ＤＣＴ係数がパリティ反転を行うＤＣＴ係数であるときはステップＳ２に進む。これに該当せず、ＤＣＴ係数がパリティ反転を行わないＤＣＴ係数であるときはステップＳ８に進む。
【０１５６】
ステップＳ２において、パリティインバータ２８は、処理要求信号ＲＥＱ１の有無を判定し、処理要求信号ＲＥＱ１が有る（ＹＥＳの）ときはステップＳ３に進み、無いときはステップＳ８に進む。ステップＳ２におけるＹＥＳの結果は、ステップＳ１でＹＥＳとなるときのみ得られるので、ＤＣＴ係数がパリティ反転を行うＤＣＴ係数であることを示す。
【０１５７】
ステップＳ３において、パリティインバータ２８は、パリティ反転を行うＤＣＴ係数の極性を判定する。結果が、正であることを示すＹＥＳのときはステップＳ４に進み、０又は負のときはステップＳ６に進む。
【０１５８】
ステップＳ４において、パリティインバータ２８は、パリティ反転を行うＤＣＴ係数から１を減算（−１を加算）した後、ステップＳ５に進み、パリティ反転したＤＣＴ係数をＩＤＣＴ回路１５（図１０Ａ）に出力する。その後、ステップＳ１に戻り、次のＤＣＴ係数を処理する。
【０１５９】
一方、ステップＳ６において、パリティインバータ２８は、パリティ反転を行うＤＣＴ係数に１を加算した後、ステップＳ７に進み、パリティ反転したＤＣＴ係数をＩＤＣＴ回路１５に出力する。その後、ステップＳ１に戻り、次のＤＣＴ係数を処理する。
【０１６０】
ＤＣＴ係数がパリティ反転すべきものでないとき、又はパリティ反転すべきＤＣＴ係数がパリティ反転されないとき、すなわち処理要求信号ＲＥＱ１が無いときは、ステップＳ８に進む。ステップＳ８では、ＤＣＴ係数はそのままＩＤＣＴ回路１５に供給される。その後、ステップＳ１に戻り、次のＤＣＴ係数を処理する。
【０１６１】
図１５に、パリティ反転を行いＤＣＴ係数の大きさを削減する、すなわちＤＣＴ係数を０に近づけるパリティインバータ２８の第３の実施例の回路構成についての具体例を示す。
【０１６２】
図１５に示すパリティインバータ２８は、図１１に示すパリティインバータ２８と略同じ構成を有する。図１１に示す回路の構成要素に対応する図１５に示す回路構成要素には、同一の指示符号を付し、説明は割愛する。図１５に示すパリティインバータ２８は、ＬＳＢインバータ６３に代えて規模削減回路８０を備える点で、図１１のパリティインバータ２８と異なる。
【０１６３】
そして、この規模削減回路８０において、信号線ＲＤＡＴＡを介して第１のメモリ２６又は第２のメモリ２７から供給された各ＤＣＴ係数の極性が判定される。この規模削減回路８０は、ＤＣＴ係数の極性が正のときはＤＣＴ係数から１を減算し、０又は負のときは１を加算する。図１５に示すパリティインバータ２８は、規模削減回路８０からのパリティ反転されたＤＣＴ係数を選択し、パリティ反転を行うＤＣＴ係数の代わりに、大きさが削減されるとともに、パリティ反転されたＤＣＴ係数を用いることにより、ブロック内のＤＣＴ係数の和を奇数化する。
【０１６４】
規模削減回路８０は、直接第５のＡＮＤゲート８４を制御するとともに、インバータ８７を介して第６のＡＮＤゲート８５を制御する極性判定回路８１を備えている。また、規模削減回路８０は、信号線ＲＤＡＴＡ上のＤＣＴ係数から１を減算する−１減算器８２と、１を加算する＋１加算器８３を備える。−１減算器８２又は＋１加算器８３の出力が、極性判定回路８１の出力に応じて第５のＡＮＤゲート８４又は第６のＡＮＤゲート８５により選択される。ＡＮＤゲート８４、８５の出力はＯＲゲート８６に送られ、大きさが削減され、選択されたＤＣＴ係数が第４のＡＮＤゲート６５に供給される。ブロック内のＤＣＴ係数の和のパリティを反転する必要がある場合、第４のＡＮＤゲート６５は、大きさが削減され、パリティ反転された規模削減回路８０の出力を選択して、パリティ反転を行うＤＣＴ係数の代わりにＩＤＣＴ回路１５に供給する。
【０１６５】
極性判定回路８１は、信号線ＲＤＡＴＡを介して供給されるＤＣＴ係数ＳＣのブロック内の各ＤＣＴ係数の極性を判定し、その極性の正負により、出力を１又は０とする。極性判定回路８１が、ＤＣＴ係数の極性が正であると判定した場合、極性判定回路８１の出力は第５のＡＮＤゲート８４を開き、第６のＡＮＤゲート８５を閉じる。これにより、−１減算器８２の出力、すなわち１が減算されたＤＣＴ係数が、第５のＡＮＤゲート８４及びＯＲゲート８６を介して第４のＡＮＤゲート６５に供給される。
【０１６６】
一方、ＤＣＴ係数の極性が負又は０であると判定したときは、極性判定回路８１の出力により第５のＡＮＤゲート８４が閉じ、第６のＡＮＤゲート８５が開く。これにより、＋１加算器８３の出力、すなわち１が加算されたＤＣＴ係数が、第６のＡＮＤゲート８５及びＯＲゲート８６を介して第４のＡＮＤゲート６５に供給される。
【０１６７】
第４のＡＮＤゲート６５は、処理要求信号ＲＥＱ１に応じて、パリティ反転され、大きさが削減されたＤＣＴ係数を、規模削減回路８０から第２のＡＮＤゲート６８に供給する。比較器６２が、信号線ＲＤＡＴＡ上のＤＣＴ係数をパリティ反転を行うＤＣＴ係数であると判定したとき、大きさが削減され、パリティ反転されたＤＣＴ係数が、図１５に示すように、規模削減回路８０からＩＤＣＴ回路１５（図１０Ａ）に送られる。一方、図１５に示すパリティインバータ２８の第３の実施例で処理要求信号ＲＥＱ１が無い場合、パリティ反転を行うＤＣＴ係数はそのままＩＤＣＴ回路１５に送られる。
【０１６８】
ＤＣＴ係数の和が奇数化すべきものであるとき、図１５に示すパリティインバータ２８の第３の実施例では、極性が正のとき１を減算してパリティ反転し、負のときには１を加算してパリティ反転したＤＣＴ係数が、ＩＤＣＴ回路１５に供給される。この処理により、パリティを反転し、パリティ反転を行うＤＣＴ係数の大きさを削減して、ＤＣＴ係数の和を奇数化する。
【０１６９】
以下、パリティインバータ２８の第４の実施例について、図１６及び１７を参照して説明する。
【０１７０】
このパリティインバータ２８の第４の実施例は、処理要求信号ＲＥＱ１が入力されると、パリティ反転を行うＤＣＴ係数の代わりに、極性が正のとき１を加算し、負のとき１を減算してパリティ反転を行うＤＣＴ係数を用いて、ＤＣＴ係数の和を奇数化している。この処理により、パリティ反転を行うＤＣＴ係数のパリティを反転するのみならず、このＤＣＴ係数の大きさを増大する。すなわち、パリティ反転するＤＣＴ係数を０からさらに反転する。このパリティ反転を行うＤＣＴ係数に施す処理は、以下の式により求められる。
ｒｅｃ  ＞  ０  ならば、
ｒｅｃ  ＝  ｒｅｃ  ＋  １
ｒｅｃ  ＜  ０  ならば、
ｒｅｃ  ＝  ｒｅｃ  −  １              （１６）
ここで、ｒｅｃはパリティ反転を行うＤＣＴ係数を示す。
【０１７１】
パリティインバータ２８の第４の実施例では、図１６に示すフローチャートに従って動作するコンピュータ又はディジタル信号処理器を用いてもよい。ステップＳ１において、パリティインバータ２８は、アドレスＥＯＢ＿ａｄｒｓに基づいて、そのＤＣＴ係数がパリティ反転すべきＤＣＴ係数かを判定する。例えば、パリティインバータ２８は、ＤＣＴ係数が最後の非零のＤＣＴ係数であるか否かを判定する。結果がＹＥＳであり、ＤＣＴ係数がパリティ反転を行うＤＣＴ係数であるときはステップＳ２に進む。これに該当せず、ＤＣＴ係数がパリティ反転を行わないＤＣＴ係数であるときはステップＳ８に進む。
【０１７２】
ステップＳ２において、パリティインバータ２８は、処理要求信号ＲＥＱ１の有無を判定し、処理要求信号ＲＥＱ１が有る（ＹＥＳの）ときはステップＳ３に進み、無いときはステップＳ８に進む。ステップＳ２におけるＹＥＳの結果は、ステップＳ１でＹＥＳとなるときのみ得られるので、ＤＣＴ係数がパリティ反転を行うＤＣＴ係数であることを示す。
【０１７３】
ステップＳ３において、パリティインバータ２８は、パリティ反転を行うＤＣＴ係数の極性を判定する。結果が、正であることを示すＹＥＳのときはステップＳ４に進み、０又は負のときはステップＳ６に進む。
【０１７４】
ステップＳ４において、パリティインバータ２８は、パリティ反転を行うＤＣＴ係数に１を加算した後、ステップＳ５に進み、パリティ反転したＤＣＴ係数をＩＤＣＴ回路１５（図１０Ａ）に出力する。その後、ステップＳ１に戻り、次のＤＣＴ係数を処理する。
【０１７５】
一方、ステップＳ６において、パリティインバータ２８は、パリティ反転を行うＤＣＴ係数から１を減算（−１を加算）した後、ステップＳ７に進み、パリティ反転したＤＣＴ係数をＩＤＣＴ回路１５に出力する。その後、ステップＳ１に戻り、次のＤＣＴ係数を処理する。
【０１７６】
ＤＣＴ係数がパリティ反転すべきものでないとき、又はパリティ反転すべきＤＣＴ係数がパリティ反転されないとき、すなわち処理要求信号ＲＥＱ１が無いときは、ステップＳ８に進む。ステップＳ８では、ＤＣＴ係数はそのままＩＤＣＴ回路１５に供給される。その後、ステップＳ１に戻り、次のＤＣＴ係数を処理する。
【０１７７】
図１７に、パリティ反転を行いＤＣＴ係数の大きさを増大する、すなわちＤＣＴ係数を０からさらに反転するパリティインバータ２８の第４の実施例の回路構成について具体例を示す。
【０１７８】
図１７に示すパリティインバータ２８は、図１１に示すパリティインバータ２８と略同じ構成を有する。図１１に示す回路の構成要素に対応する図１７に示す回路構成要素には、同一の指示符号を付し、説明は割愛する。図１７に示すパリティインバータ２８は、ＬＳＢインバータ６３に代えて規模増大回路９０を備える点で、図１１のパリティインバータ２８と異なる。
【０１７９】
そして、この規模増大回路９０において、信号線ＲＤＡＴＡを介して第１のメモリ２６又は第２のメモリ２７から供給された各ＤＣＴ係数の極性が判定される。この規模増大回路９０は、ＤＣＴ係数の極性が正のときはＤＣＴ係数に１を加算し、０又は負のときは１を減算する。図１７に示すパリティインバータ２８は、規模増大回路９０からのパリティ反転されたＤＣＴ係数を選択し、パリティ反転を行うＤＣＴ係数の代わりに、大きさが増大されたＤＣＴ係数を用いることにより、ブロック内のＤＣＴ係数の和を奇数化する。
【０１８０】
規模増大回路９０は、直接第５のＡＮＤゲート９４を制御するとともに、インバータ９７を介して第６のＡＮＤゲート９５を制御する極性判定回路９１を備えている。また、規模増大回路９０は、ＤＣＴ係数に１を加算する＋１加算器９２と、１を減算する−１減算器９３を備える。＋１加算器９２又は−１減算器９３の何れかの出力が、極性判定回路９１の出力に応じて第５のＡＮＤゲート９４又は第６のＡＮＤゲート９５により選択される。ＡＮＤゲート９４、９５の出力はＯＲゲート９６に送られ、大きさが増大され、選択されたＤＣＴ係数が第４のＡＮＤゲート６５に供給される。ブロック内のＤＣＴ係数の和のパリティを反転する必要がある場合、第４のＡＮＤゲート６５は、パリティ反転され、大きさが増大された規模増大回路９０の出力を選択して、パリティ反転を行うＤＣＴ係数の代わりにＩＤＣＴ回路１５に供給する。
【０１８１】
極性判定回路９１は、信号線ＲＤＡＴＡを介して供給されるＤＣＴ係数のブロック内の各ＤＣＴ係数の極性を判定し、その極性の正負により、出力を１又は０とする。極性判定回路９１が、ＤＣＴ係数の極性が正であると判定した場合、極性判定回路９１の出力は、第５のＡＮＤゲート９４を開き、第６のＡＮＤゲート９５を閉じる。これにより、＋１加算器９２の出力、すなわち１が加算されたＤＣＴ係数が、第５のＡＮＤゲート９４及びＯＲゲート９６を介して第４のＡＮＤゲート６５に供給される。
【０１８２】
一方、ＤＣＴ係数の極性が負又は０であると判定したときは、極性判定回路９１の出力により第５のＡＮＤゲート９４が閉じ、第６のＡＮＤゲート９５が開く。これにより、−１減算器９３の出力、すなわち１が減算されたＤＣＴ係数が、第６のＡＮＤゲート９５及びＯＲゲート９６を介して第４のＡＮＤゲート６５に供給される。
【０１８３】
第４のＡＮＤゲート６５は、処理要求信号ＲＥＱ１に応じて、パリティ反転され、大きさが増大されたＤＣＴ係数を、規模増大回路９０から第２のＡＮＤゲート６８に供給する。比較器６２が、信号線ＲＤＡＴＡ上のＤＣＴ係数をパリティ反転を行うＤＣＴ係数であると判定したとき、ＤＣＴ係数が、図１１に示すように、規模増大回路９０からＩＤＣＴ回路１５（図１０Ａ）に送られる。
【０１８４】
一方、図１７に示すパリティインバータ２８の第４の実施例において、処理要求信号ＲＥＱ１が無い場合、パリティ反転を行うＤＣＴ係数はそのままＩＤＣＴ回路１５に送られる。
【０１８５】
ＤＣＴ係数の和が奇数化すべきものであるとき、図１７に示すパリティインバータ２８の第４の実施例では、極性が正のとき１を加算し、負のときには１を減算してパリティ反転したＤＣＴ係数が、ＩＤＣＴ回路１５に供給される。この処理により、パリティを反転し、パリティ反転を行うＤＣＴ係数の大きさを増大させて、ＤＣＴ係数の和を奇数化する。
【０１８６】
図１１、１３、１５、１７に示すパリティインバータ２８と、図９、１２、１４、１６に示す演算処理は、ジグザグスキャンにより読み出される最後の非零のＤＣＴ係数以外のＤＣＴ係数のパリティを変更することにより、ＤＣＴ係数の和を奇数化するように変更してもよい。例えば、８×８の２次元ＤＣＴ変換において、ＤＣ成分のＤＣＴ係数、最高周波数成分である（７，７）成分のＤＣＴ係数、右上隅の（７，０）成分のＤＣＴ係数、又は左下隅の（０，７）成分のＤＣＴ係数としてもよい。特に最高周波数成分である（７，７）成分のＤＣＴ係数は画質に与える影響が小さいため、パリティ変更を行うＤＣＴ係数としては最良である。
【０１８７】
図１１、１３、１５、１７に示すパリティインバータ２８において、比較器６２に供給されるアドレスＥＯＢ＿ａｄｒｓに代えてＤＣＴ係数のアドレスを用いることにより、別のＤＣＴ係数を選択することも可能である。また、最高周波数成分のＤＣＴ係数のパリティが変更すべきものである場合、読出カウンタ６１と比較器６２は省略してもよく、パリティ変更を行うＤＣＴ係数として最高周波数成分のＤＣＴ係数を認識するのに、メモリフル信号ＦＵＬＬを用いてもよい。
【０１８８】
また、図６、８、１０に示す和奇数化回路１４は、ある特定のＤＣＴ係数、例えば（０，０）成分、（４，０）成分、（０，４）成分、（４，４）成分のＤＣＴ係数の和を求め、この和が奇数になるようにパリティ反転を行うこともできる。図１８に、図８に示す和奇数化回路１４の変更例を示す。ここでは、特定のＤＣＴ係数の和を求めて、パリティ反転が必要であるかを判定する。図８に示す和奇数化回路の構成要素に対応する図１８に示す和奇数化回路の構成要素には同一の指示符号を付し、説明は割愛する。
【０１８９】
図１８に示す和奇数化回路１４は、逆量子化器１３とアキュムレータ２３Ａとの間にセレクタ５１を備える。セレクタ５１は、カウンタ２０から、逆量子化器１３に供給されたブロック内のＤＣＴ係数の数を示すカウント値ｃｏｅｆｆ＿ａｄｒｓを受け取る。
【０１９０】
そして、セレクタ５１は、カウンタ２０から供給されるカウント値ｃｏｅｆｆ＿ａｄｒｓに基づいて、逆量子化器１３から供給されている各ＤＣＴ係数が特定のＤＣＴ係数であるか、及びアキュムレータ２３Ａにより求められる和に含まれるべきかを判定する。したがって、例えばセレクタ５１は、カウント値ｃｏｅｆ＿ａｄｒｓが（０，０）成分、（４，０）成分、（０，４）成分、あるいは（４，４）成分に相当する値であるかを判定する。セレクタ５１は、ＤＣＴ係数が特定のＤＣＴ係数であると判定したとき、ＤＣＴ係数をアキュムレータ２３Ａに供給する。これにより、図１８に示すこの和奇数化回路１４は、ブロック内の特定のＤＣＴ係数の和を求め、この和のパリティが偶数である場合、奇数となるように、少なくとも１つのＤＣＴ係数のパリティを変更する。図１８に示す和奇数化回路１４は、このパリティが処理されたＤＣＴ係数のブロックをＩＤＣＴ回路１５に供給する。
【０１９１】
図１８に示す実施例は、図１０Ａに示すのと同様に変更することができ、その回路により特定のＤＣＴ係数のＬＳＢの排他的論理和を求めるような構成にしてもよい。すなわち、図１８に示す和奇数化回路を、加算器２３を図１０Ａに示すＬＳＢ検出器２９及び排他的論理和ゲート３０に置き換えた構成とする。
【０１９２】
図６に戻り、ＤＣＴ係数ブロック内のＤＣＴ係数は、上述のように、和奇数化回路１４からＩＤＣＴ回路１５に供給される。和奇数化回路１４からのＤＣＴ係数の和は奇数である。逆量子化器１３からのＤＣＴ係数の和が偶数のとき、和奇数化回路１４はＤＣＴ係数の少なくとも１つのパリティを変更して、ＩＤＣＴ回路１５に供給するＤＣＴ係数の和を奇数化する。ＩＤＣＴ回路１５は、ブロック内のＤＣＴ係数にＩＤＣＴ処理を施し、再生差分ブロックＳ４を生成する。再生差分ブロックＳ４は加算器１６に供給される。
【０１９３】
加算器１６は、再生差分ブロックＳ４と第２のピクチャメモリ群４から供給されるマッチングブロックＳ２とを１画素毎に加算する。得られる再生画像ブロックＳ５は、第２のピクチャメモリ群４に供給され、メモリコントローラ３により指定されるピクチャメモリの１つに記憶されて、再生画像のブロックを再生する。
【０１９４】
可変長符号化器１７は、差分ブロック符号化器９からの量子化されたＤＣＴ係数ＳＣの各ブロックや、その動きベクトルＭＶ、動き補償モードＭＭ及び量子化テーブルのデータに対して、ハフマン符号化などの可変長符号化を行う。また、可変長符号化器１７は、可変長符号化データを、ＭＰＥＧ規格のスタートコードや各層のヘッダ情報とともに組み合わせて、圧縮動画像信号を生成する。
【０１９５】
スライス／マクロブロック・カウンタ５は、第１のピクチャメモリ群２から読み出される画像の各スライス及び各マクロブロックのスタートに同期して、メモリコントローラ３から出力されるスライス・スタート信号ＳＳ及びマクロブロックスタート信号ＢＳをカウントする。スライス／マクロブロック・カウンタ５は、そのカウント値が予め決められた値となったら、スタート信号Ｓ０を可変長符号化器１７に出力する。
【０１９６】
このスタート信号Ｓ０を受けて、可変長符号化器１７は、圧縮動画像信号を出力バッファ１９に出力し、出力バッファ１９は、圧縮動画像信号を一時的に記憶する。この圧縮動画像信号は、所定のビットレートでビットストリームとして出力バッファ１９から読み出される。圧縮動画像信号のビットストリームは、伝送路を介して、あるいは光ディスク等の適当な記録媒体に記録することにより、相補型の圧縮動画像信号伸長装置に供給される。
【０１９７】
すなわち、記録媒体は、予測符号化されるとともに離散コサイン変換された動画像信号から得られる圧縮動画像信号が記録されている記録媒体である。予測符号化において参照画像として使用される再生画像の各ブロックは、圧縮動画像信号を構成する量子化ＤＣＴ係数のブロックを逆量子化し、得られるＤＣＴ係数ブロックのＤＣＴ係数の和を奇数化して、和が奇数化されたＤＣＴ係数ブロックを逆ＤＣＴ変換することにより再生される。
【０１９８】
ここで、本発明に係る伝送装置は、上述した本発明に係る動画像信号圧縮装置を備えている。
【０１９９】
ところで、動画像信号圧縮装置の差分ブロック符号化器９において和の奇数化を行う方が好適であると考えられる。和の奇数化により、圧縮動画像信号を構成する各量子化ＤＣＴ係数ブロックのＤＣＴ係数の和は奇数となる。このように圧縮動画像信号を処理することにより、圧縮動画像信号伸長装置においてＤＣＴ係数の和を奇数化する必要がなくなると考えられる。しかし、このような構成では、ＤＣＴ係数が動画像信号圧縮装置において量子化され、圧縮動画像信号伸長装置において逆量子化された後、圧縮動画像信号伸長装置のＩＤＣＴ回路に入力されるＤＣＴ係数の和は奇数でなくなる。よって、和の奇数化処理は、圧縮動画像信号伸長装置のＩＤＣＴ処理の前に行い、ミスマッチ誤差が発生しないようにしなければならない。
【０２００】
つぎに、本発明を適用した圧縮動画像信号伸長装置について、図１９を用いて説明する。図１９において、圧縮動画像信号は、動画像圧縮装置から伝送路を介して、あるいは光ディスク等の適当な記録媒体から圧縮動画像信号を再生することにより、ビットストリームとして受信される。このビットストリームは入力バッファ３１に供給され、一時的に記憶された後、読み出されて、画像毎に逆可変長符号化器（ＩＶＬＣ）３２に供給される。逆可変長符号化器３２は、ＭＰＥＧ符号のそれぞれの層のヘッダ情報を圧縮動画像信号から抽出し、このヘッダ情報から画像復号化制御情報ＰＨをメモリコントローラ３３に供給する。
【０２０１】
また、逆可変長符号化器３２は、可変長符号化されたＤＣＴ係数のブロックを逆可変長符号化して、量子化ＤＣＴ係数の現画像ブロックＣｂを含む量子化ＤＣＴ係数のブロックを再生し、この量子化ＤＣＴ係数ブロックＣｂを差分ブロック復号化器３４に供給する。差分ブロック復号化器３４は、量子化ＤＣＴ係数ブロックＣｂを復号化して、再生差分ブロックＢＳを再生し、この再生差分ブロックＢＳを加算器３９に供給する。
【０２０２】
また、逆可変長符号化器３２は、圧縮動画像信号から動きベクトルＭＶ及び量子化ＤＣＴ係数ブロックＣｂの動き補償モードＭＭを抽出して、動き補償器３７に供給する。この動き補償器３７により、ピクチャメモリ群３８から、再生差分ブロックＢＳに対応するマッチングブロックが読み出される。
【０２０３】
ピクチャメモリ群３８は複数のピクチャメモリからなり、ピクチャメモリはそれぞれ既に再生された画像を記憶している。マッチングブロックは、ピクチャメモリの１つに記憶されている動きベクトルＭＶで指定されたアドレスに位置する再生画像のブロックである。このマッチングブロックが読み出される再生画像が記憶されているピクチャメモリは、メモリコントローラ３３によってピクチャメモリ群３８の中から指定される。
【０２０４】
上述のように、先行する再生画像からの予測、後行する再生画像からの予測、及び先行する再生画像と後行する再生画像に対する画素毎の線形演算を行うことにより得られるブロックからの予測により、画像が符号化される。また、画像を予測なしで符号化することもできる。この場合、ピクチャメモリ群３８から供給されるマッチングブロックは、零ブロック、すなわち全画素値が零となっているブロックである。ピクチャメモリ群３８から出力される動き補償されたマッチングブロックは、適応的なものとなっており、ブロック単位で最適なものが選択される。なお、ここでのブロックの大きさは１６×１６画素である。
【０２０５】
ピクチャメモリ群３８から読み出された各マッチングブロックは、加算器３９に供給される。加算器３９は、差分ブロック復号化器３４から供給される再生差分ブロックＢＳとピクチャメモリ群３８から供給されるマッチングブロックとを１画素毎に加算する。この結果、再生画像ブロックが再生され、この再生画像ブロックは、メモリコントローラ３３により指定されたピクチャメモリ群３８の中のピクチャメモリに記憶される。加算器３９から供給される再生画像ブロックは、先にピクチャメモリに記憶された再生画像に上書きされ、選択されたピクチャメモリに１つずつ記憶されて、新たな再生画像を形成する。
【０２０６】
ピクチャメモリ群３８に記憶された再生画像は、メモリコントローラ３３からの出力画像指示信号によって制御される順で読み出される。読み出された画像は、再生動画像信号として、ビデオモニターのような画像表示装置に供給される。画像表示装置は、この再生動画像信号に応じた動画像を表示する。
【０２０７】
ここで、上記差分ブロック復号化器３４について図１９を参照して説明する。差分ブロック復号化器３４は、逆量子化器４０と、和奇数化回路３５と、逆離散コサイン変換回路３６とを備える。逆量子化器４０は、逆可変長符号化器３２から供給される量子化ＤＣＴ係数ブロックＣｂを量子化テーブルを用いて逆量子化する。和奇数化回路３５は、逆量子化器４０からのＤＣＴ係数ブロックを受け取り、ＩＤＣＴ回路３６でのＩＤＣＴ処理におけるミスマッチ誤差の発生を防ぐ。ＩＤＣＴ回路３６は、和奇数化回路３５からの和が奇数化されたＤＣＴ係数ブロックをＩＤＣＴ変換する。
【０２０８】
図２０に、逆量子化器４０の構成例を示す。この逆量子化器４０は、主として、ラン／レベル復号化器４１と、アドレスカウンタ４７と、アドレス変換器４８と、セレクタ４９と、第１のブロックメモリ４２と、第２のブロックメモリ４３と、逆量子化回路（以下、ＩＱ回路という。）４６により構成される。
【０２０９】
ラン／レベル復号化器４１は、逆可変長符号化器３２から量子化ＤＣＴ係数ブロックＣｂを受け取り、動画像信号圧縮装置の可変長符号化器１７において量子化ＤＣＴ係数に施されたラン／レベル符号化を復号化する。得られる量子化ＤＣＴ係数ブロックは、ジグザグスキャンの順で、第１のブロックメモリ４２又は第２のブロックメモリ４３に供給される。第１のブロックメモリ４２又は第２のブロックメモリ４３は、量子化ＤＣＴ係数ブロックを記憶する。
【０２１０】
アドレスカウンタ４７とアドレス変換器４８は、それぞれ、第１のブロックメモリ４２と第２のブロックメモリ４３の書込アドレスと読出アドレスとを出力する。量子化ＤＣＴ係数ブロックは、第１のブロックメモリ４２と第２のブロックメモリ４３に対し交互に書き込まれ、読み出される。各量子化ＤＣＴ係数ブロックは、アドレスカウンタ４７から供給される書込アドレスに応じて、ジグザグスキャンの順でブロックメモリの１つに書き込まれ、アドレス変換器４８から供給される読出アドレスに応じてラスタスキャンの順でブロックメモリから読み出される。書込と読出のアドレス順の違いにより、ブロック内の量子化ＤＣＴ係数の順がジグザグスキャンからラスタスキャンに変換される。
【０２１１】
アドレスカウンタ４７は、ジグザグスキャンの順で書込アドレスを発生する。アドレス変換器４８は、アドレスカウンタ４７からジグザグスキャンの順の書込アドレスを受け取り、これをアドレス変換テーブルを用いてラスタスキャンの順の読出アドレスに変換する。アドレスカウンタ４７とアドレス変換器４８が発生したアドレスは、セレクタ４９により選択され、アドレスａｄｒｓ１、ａｄｒｓ２として第１のブロックメモリ４２及び第２のブロックメモリ４３に供給される。ラン／レベル復号化器４１からの量子化ＤＣＴ係数ブロックが第１のブロックメモリ４２又は第２のブロックメモリ４３に書き込まれると、各アドレスａｄｒｓ１、ａｄｒｓ２は、アドレスカウンタ４７によりセレクタ４９を介してジグザグスキャンの順で供給される。量子化ＤＣＴ係数ブロックが第１のブロックメモリ４２又は第２のブロックメモリ４３からＩＱ回路４６に読み出されると、各アドレスａｄｒｓ１，ａｄｒｓ２は、アドレス変換器４８からセレクタ４９を介してラスタスキャンの順で供給される。
【０２１２】
第１のブロックメモリ４２又は第２のブロックメモリ４３に全ての量子化ＤＣＴ係数が記憶されると、量子化ＤＣＴ係数ブロックはラスタスキャンの順で読み出され、ＩＱ回路４６に供給される。ＩＱ回路４６は、ブロック内の量子化ＤＣＴ係数を逆量子化し、得られるＤＣＴ係数ブロックを和奇数化回路３５に供給する。このＩＱ回路４６での逆量子化は、図６に示す動画像信号圧縮装置の局部復号化器を構成する逆量子化器１３での逆量子化と同じである。
【０２１３】
和奇数化回路３５は、逆量子化器４０からのＤＣＴ係数ブロックのＤＣＴ係数の和のパリティが偶数であると判定したときは、ＤＣＴ係数の和が奇数となるように、少なくとも１つのＤＣＴ係数に処理を施す。和奇数化回路３５は、この和が奇数化されたＤＣＴ係数のブロックをＩＤＣＴ回路３６に供給する。なお、この和奇数化回路３５での奇数化処理は、図６に示す動画像信号圧縮装置の局部復号化器を構成する和奇数化回路１４での奇数化処理と同じである。
【０２１４】
ＩＤＣＴ回路３６は、和が奇数化されたＤＣＴ係数ブロックをＩＤＣＴ変換して、再生差分ブロックＢＳを再生し、この再生差分ブロックＢＳを加算器３９に供給する。
【０２１５】
図２０に示す逆量子化器４０の具体的な動作を、図２１Ａ乃至２１Ｉに示すタイミングチャートを用いて説明する。逆可変長符号化器３２は、圧縮動画像信号から量子化されたＤＣＴ係数のブロックＣｂを取り出し、ラン／レベル復号化器４１に対して量子化ＤＣＴ係数ブロックを読み出すように指示するイベントイネーブル信号ＥＶ＿ＥＮ（図２１Ａに示す）を発生する。量子化ＤＣＴ係数ブロックのＤＣＴ係数は、ラン／レベル符号化されている。
【０２１６】
また、逆可変長符号化器３２は、図２１Ｂに示すように、イベント数信号ＥＶＥＮＴ＿ＮＯをラン／レベル復号化器４１に出力する。イベント数信号ＥＶＥＮＴ＿ＮＯは、量子化ＤＣＴ係数ブロックＣｂ内のラン／レベルの組合せの数、すなわちランとレベルを示すデータの組合せの数を示すものである。
【０２１７】
ラン／レベル復号化器４１は、このイベント数信号ＥＶＥＮＴ＿ＮＯを受け取ると、図２１Ｃに示すように、各ラン／レベルの組合せについて読出要求信号ＲＥ＿ＲＥＱを逆可変長符号化器３２に出力する。逆可変長符号化器３２は、この読出要求信号ＲＥ＿ＲＥＱが入力されると、図２１Ｄ、２１Ｅに示すように、ラン／レベルの１組をラン／レベル復号化器４１に出力し、これを受信した読出要求信号ＲＥ＿ＲＥＱの数だけ繰り返す。
【０２１８】
ラン／レベル復号化器４１は、ラン／レベル符号化された量子化ＤＣＴ係数を復号化し、図２１Ｇに示すように、量子化されたＤＣＴ係数のブロックをＷＤＡＴＡとしてジグザグスキャンの順に第１のブロックメモリ４２に供給する。これと同時に、図２１Ｆに示すように、アドレスカウンタ４７はラン／レベル復号化器４１からの量子化ＤＣＴ係数をカウントし、各量子化ＤＣＴ係数の書込アドレスを示すアドレス信号ａｄｒｓ１を、セレクタ４９を介してジグザグスキャンの順で第１のブロックメモリ４２に供給する。
【０２１９】
そして、ラン／レベル復号化器４１は、最後の非零のＤＣＴ係数を受信したことを示す符号ＥＯＢを逆可変長符号器３２から受け取ると、符号ＥＯＢに対応する量子化ＤＣＴ係数を設定し、すなわち符号ＥＯＢ以降のＤＣＴ係数データは全て０として、この０のＤＣＴ係数データを第１のブロックメモリ４２に供給する。
【０２２０】
また、ラン／レベル復号化器４１は、符号ＥＯＢを受け取ると、図２１Ｈに示すように、信号ＥＯＢ＿ＥＮを位置（ＰＯＳ）レジスタ４４、４５に出力する。この信号ＥＯＢ＿ＥＮは、符号ＥＯＢが受け取られたことをＰＯＳレジスタ４４、４５に示すためのものである。ＰＯＳレジスタ４４、４５は、第１と第２のブロックメモリ４２、４３に供給された各量子化ＤＣＴ係数のアドレスを、アドレスカウンタ４７からアドレス変換器４８を介して受け取る。ラン／レベル復号化器４１が符号ＥＯＢを受け取ると、アドレスカウンタ４７により出力されるアドレスは最後の非零のＤＣＴ係数のアドレスとなる。信号ＥＯＢ＿ＥＮにより、アドレス変換器４８によりラスタスキャンアドレスに変換された最後の非零のＤＣＴ係数のアドレスＥＯＢ＿ＰＯＳは、量子化ＤＣＴ係数ブロックが書き込まれているブロックメモリのＰＯＳレジスタに書き込まれる。このようにして、ＰＯＳレジスタ４４、４５の何れかが量子化ＤＣＴ係数ブロックの最後の非零のＤＣＴ係数のアドレスを記憶する。
【０２２１】
ラン／レベル復号化器４１が量子化ＤＣＴ係数ブロックを全て第１のブロックメモリ４２又は第２のブロックメモリ４３に供給すると、アドレスカウンタ４７は、バンク切換信号ＢＡＮＫを第１のブロックメモリ４２と第２のブロックメモリ４３に供給する。バンク切換信号ＢＡＮＫは、ブロックメモリのモードを切り換えて、書込モードであった第１のブロックメモリ４２が読出モードに、第２のブロックメモリ４３が書込モードに切り換えられる。したがって、ラン／レベル復号化器４１が次の量子化ＤＣＴ係数ブロックの復号化を開始すると、得られる量子化ＤＣＴ係数は第２のブロックメモリ４３に書き込まれることになる。また、バンク切換信号ＢＡＮＫはセレクタ４９を切り換えて、書込モードでブロックメモリに供給されていたアドレスをアドレスカウンタ４７からのジグザグスキャンの順のアドレスとし、読出モードでブロックメモリに供給されていたアドレスをアドレス変換器４８からのラスタスキャンの順のアドレスとする。
【０２２２】
また、ラン／レベル復号化器４１が量子化ＤＣＴ係数ブロックを全て第１のブロックメモリ４２に供給すると、第１のブロックメモリ４２はメモリフル信号ＦＵＬＬ１をＩＱ回路４６に出力する。メモリフル信号ＦＵＬＬ１は、全ての量子化ＤＣＴ係数が記憶されたことを示すものである。ＩＱ回路４６は、メモリフル信号ＦＵＬＬ１を受けとると、読出要求信号ＲＤ＿ＥＮ１を第１のブロックメモリ４２に送る。この読出要求信号ＲＤ＿ＥＮ１により、第１のブロックメモリ４２は、記憶している量子化ＤＣＴ係数を、アドレス変換器４８からセレクタ４９を介してラスタスキャンの順で供給されるアドレスａｄｒｓ１に応じて、読み出す。したがって、ブロック内の量子化ＤＣＴ係数は第１のブロックメモリ４２から読み出される。各アドレスに応じて読み出された量子化ＤＣＴ係数はＩＱ回路４６に供給される。ブロック内の量子化ＤＣＴ係数が第１のブロックメモリ４２から読み出されるのと同時に、次のブロックの量子化ＤＣＴ係数が、アドレスカウンタ４７からのアドレスに応じてジグザグスキャンの順で第２のブロックメモリ４３に書き込まれる。
【０２２３】
ＩＱ回路４６は、図６に示す動画像信号圧縮装置の逆量子化器１３と同様に、ブロックの量子化ＤＣＴ係数を逆量子化して、得られるＤＣＴ係数を和奇数化回路３５に供給する。
【０２２４】
１つのブロック内のＤＣＴ係数の和のパリティが偶数のとき、和奇数化回路３５は、上述の動画像信号圧縮装置の和奇数化回路１４と同様に、ＤＣＴ係数の少なくとも１つを処理して、ＤＣＴ係数の和を奇数化し、和が奇数化されたＤＣＴ係数のブロックをＩＤＣＴ回路３６に供給する。
【０２２５】
例えば、和奇数化回路３５は、ＰＯＳレジスタ４４、４５を参照し、ジグザグスキャン順での最後の非零のＤＣＴ係数かどうかの判定を行い、最後の非零のＤＣＴ係数のパリティを処理してブロックのＤＣＴ係数の和を奇数化する。また、和奇数化回路３５は、最高周波数成分のＤＣＴ係数を処理して、ＤＣＴ係数の和を奇数化することもできる。最高周波数成分は画質に与える影響が小さく、また、最後の非零のＤＣＴ係数を探索する必要がないため、最高周波数成分のＤＣＴ係数のパリティを反転することが最良である。また、スキャン順がジグザグスキャン以外の場合も同様である。
【０２２６】
なお、ミスマッチ誤差を防ぐため、動画像信号圧縮装置と圧縮動画像信号伸長装置での奇数化処理は同一でなければならないことは言うまでもない。
【０２２７】
第２の実施例
動画像信号圧縮装置の第２の実施例の構成を図２２に示す。この第２の実施例は、本発明の好適な実施例である。図２２に示す動画像信号圧縮装置を構成する和奇数化回路５０の構成を図２３に示す。図６に示す動画像信号圧縮装置の第１の実施例の構成要素に対応する第２の実施例の構成要素には、同一の指示符号を付して、説明を割愛する。第２の実施例における動画像信号圧縮装置は、和奇数化回路５０を除いて、第１の実施例と同じ構成を有する。
【０２２８】
和奇数化回路５０では、図２３に詳細に示すように、カウンタ２０が、逆量子化器１３から供給される量子化ＤＣＴ係数の数をカウントし、得られるカウント値ｃｏｅｆｆ＿ａｄｒｓをパリティ判定回路２１に供給する。
【０２２９】
アキュムレータ２３Ａは、加算器２３とレジスタ２４とを備える。加算器２３は、逆量子化器１３から供給されるＤＣＴ係数ブロックの各ＤＣＴ係数と、レジスタ２４中に保存されている先行するＤＣＴ係数の和とを加算する。各ＤＣＴ係数ブロックについての和が求められると、レジスタ２４はリセットされる。得られるＤＣＴ係数の和が加算器２３からレジスタ２４とパリティ判定回路２１に供給される。アキュムレータ２３Ａは、パリティ判定回路２１がＤＣＴ係数の和の偶奇を判定するのためには、ブロックのＤＣＴ係数の最下位ビットのみの和をとればよい。
【０２３０】
パリティ判定回路２１は、以下のようにしてカウンタ２０から供給されるカウント値ｃｏｅｆｆ＿ａｄｒｓに応じて動作する。アキュムレータ２３Ａにより全てのＤＣＴ係数が加算されたことをカウント値ｃｏｅｆｆ＿ａｄｒｓが示すとき、パリティ判定回路２１は、アキュムレータ２３Ａから供給されたＤＣＴ係数の和のパリティが偶数か奇数かを判定する。例えば８×８の２次元ＤＣＴ変換の場合、ブロックの６４個のＤＣＴ係数の和が求められたことをカウント値ｃｏｅｆｆ＿ａｄｒｓが示すとき、パリティ判定回路２１は、アキュムレータ２３Ａから供給されるＤＣＴ係数の和のパリティが偶数であるか、奇数であるかを判定する。
【０２３１】
具体的には、ＤＣＴ係数が２進数で表現されているとき、パリティ判定回路２１は、アキュムレータ２３Ａから供給されるＤＣＴ係数の和の最下位ビット（ＬＳＢ）を判定する。ＬＳＢが０であるとき、和のパリティは偶数である。この場合、パリティ判定回路２１は、パリティ反転を行うために処理要求信号ＲＥＱ１をパリティインバータ５３に出力する。この処理要求信号ＲＥＱ１に応じて、パリティインバータ５３は、ブロックのＤＣＴ係数の少なくとも１つ（例えば、奇数）のパリティを変更して、ＤＣＴ係数の和を奇数化する。一方、ＬＳＢが１であるとき、和のパリティは奇数である。この場合、ＤＣＴ係数の和のパリティが奇数なので、パリティ判定回路２１は処理要求信号ＲＥＱ１を出力せず、パリティインバータ５３はブロックの全てのＤＣＴ係数のパリティをそのままにする。
【０２３２】
逆量子化器１３からのＤＣＴ係数ブロックは、アキュムレータ２３Ａに送られる他に、遅延回路５２を介してパリティインバータ５３にも送られる。この遅延回路５２は、処理要求信号ＲＥＱ１がパリティインバータ５３に入力されるときに、最後のＤＣＴ係数、すなわち最高周波数成分のＤＣＴ係数（例えば８×８ＤＣＴ変換では、（７，７）成分のＤＣＴ係数）がパリティインバータ５３に入力されるように、アキュムレータ２３Ａ及びパリティ判定回路２１での処理時間に相当する時間、ＤＣＴ係数を遅延する。
【０２３３】
したがって、パリティインバータ５３は、最高周波数成分のＤＣＴ係数以外の全てのＤＣＴ係数を、そのままＩＤＣＴ回路１５に送る。パリティ判定回路２１が処理要求信号ＲＥＱ１を発生しないとき、パリティインバータ５３は最高周波数成分のＤＣＴ係数もそのまま出力する。パリティ判定回路２１が処理要求信号ＲＥＱ１を発生したときのみ、パリティインバータ５３は、最高周波数成分のＤＣＴ係数のＬＳＢを反転し、パリティ反転した最高周波数成分のＤＣＴ係数をＩＤＣＴ回路１５に送る。
【０２３４】
すなわち、ＤＣＴ係数の和のパリティが偶数であることをパリティ判定回路２１が示すとき、パリティインバータ５３は、ブロックの最高周波数成分のＤＣＴ係数（８×８ＤＣＴ変換では、（７，７）成分のＤＣＴ係数）を処理する。パリティインバータ５３は、最高周波数成分のＤＣＴ係数のパリティを反転し、これにより、ＩＤＣＴ回路１５に送るブロックのＤＣＴ係数の和を奇数化する。かくして、ＤＣＴ係数ブロックのＤＣＴ係数の和は常に奇数となる。なお、（７，７）成分のＤＣＴ係数はＩＤＣＴの出力値に与える影響が最も小さいＤＣＴ係数である。
【０２３５】
以下、本発明の好適な実施例における和奇数化回路５０の具体例について説明する。
【０２３６】
図２３に示す加算器２３の代わりに、ＬＳＢ検出器２９と排他的論理和ゲート３０を用いた例を、図２４に示す。図２３の和奇数化回路の構成要素に対応する図２４の和奇数化回路の構成要素には、同一の指示符号を付して、説明は割愛する。ＬＳＢ検出器２９は、ブロック内のＤＣＴ係数のＬＳＢを検出し、排他的論理和ゲート３０はレジスタ２４とともに、ブロック内のＤＣＴ係数のＬＳＢの排他的論理和を求める。図１０Ａ及び２３を参照して上述のように、この排他的論理和のパリティは、パリティ判定回路２１によって判定される。
【０２３７】
また、図２４に示す排他的論理和ゲート３０及びレジスタ２４に代えて、図１０Ｂに示すＡＮＤゲート８８及びカウンタ８９を用いることもできる。
【０２３８】
また、他の例を図２５に示す。ここでは、逆量子化器１３と、図２３に示す和奇数化回路５０を構成するアキュムレータ２３Ａとの間にセレクタ５１を備える構成とする。図２３の回路の構成要素に対応する図２５の回路の構成要素には、同一の指示符号を付し、説明は割愛する。図２５に示す和奇数化回路５０は、例えばある特定のＤＣＴ係数、例えば（０，０）成分、（４，０）成分、（０，４）成分、（４，４）成分のみのＤＣＴ係数の和を求め、和の奇数化が必要であるかを判定する。セレクタ５１は、カウンタ２０からカウント値ｃｏｅｆｆ＿ａｄｒｓを受け取り、逆量子化器１３から供給されている各ＤＣＴ係数が加算すべき特定のＤＣＴ係数かを判定する。セレクタ５１は、ＤＣＴ係数が加算すべき係数であると判定したとき、すなわちカウント値ｃｏｅｆｆ＿ａｄｒｓが例えば（０，０）成分、（４，０）成分、（０，４）成分、（４，４）成分に相当する値のとき、ＤＣＴ係数をアキュムレータ２３Ａに供給する。図２５の和奇数化回路５０は，セレクタ５１の制御により、特定のＤＣＴ係数の和を求める。そして、パリティインバータ５３は、必要に応じてこの特定のＤＣＴ係数の和が奇数となるように、少なくとも１つのＤＣＴ係数を処理して、特定のＤＣＴ係数の和を奇数にする。和が奇数化されたＤＣＴ係数のブロックは、ＩＤＣＴ回路１５に供給される。
【０２３９】
また、図２５に示すセレクタ５１を、図２４に示す和奇数化回路５０の逆量子化器１３とＬＳＢ検出器２９の間に設けるようにしてもよい。このように変形することで、図２４に示す和奇数化回路５０は、セレクタ５１により選択される特定のＤＣＴ係数のＬＳＢの排他的論理和を求めることになる。
【０２４０】
さらに、和奇数化回路５０の他の実施例としては、逆量子化器１３から供給される最後のＤＣＴ係数がＤＣ成分のＤＣＴ係数の場合、すなわちラスタスキャンの順が上述の実施例と逆の場合、パリティ反転が行われるＤＣＴ係数は、最高周波数成分ではなくＤＣ成分のＤＣＴ係数となる。
【０２４１】
つぎに、パリティインバータ５３の具体的な回路構成について図２６を参照しながら説明する。パリティインバータ５３は、図１１に示すパリティインバータ２８を簡素化したものである。パリティインバータ５３は、ＬＳＢインバータ６３と、第３及び第４のＡＮＤゲート６４、６５と、ＯＲゲート６６と、インバータ７１とから構成される。
【０２４２】
このパリティインバータ５３では、逆量子化器１３から供給されたＤＣＴ係数ブロックの各ＤＣＴ係数のＬＳＢを反転する。これにより、各ＤＣＴ係数のパリティが反転する。通常、処理要求信号ＲＥＱ１は無く、パリティインバータ５３は、供給された各ＤＣＴ係数を第３のＡＮＤゲート６４とＯＲゲート６９を介してＩＤＣＴ回路１５（図２３）に送る。
【０２４３】
和奇数化回路５０（図２３）がブロック内の最高周波数成分のＤＣＴ係数を受け取ると、カウンタ２０からのカウント値ｃｏｅｆｆ＿ａｄｒｓは、パリティ判定回路２１に対して、このパリティ判定回路２１が受け取った値は全てのＤＣＴ係数の和であることを示す。これに応じて、パリティ判定回路２１は、ＤＣＴ係数の和のパリティが奇数か偶数かを判定する。
【０２４４】
パリティ判定回路２１は、ブロック内のＤＣＴ係数の和のパリティが偶数であると判定すると、処理要求信号ＲＥＱ１をパリティインバータ５３に送る。処理要求信号ＲＥＱ１は、最高周波数成分のＤＣＴ係数と同時に、遅延回路５２を介してパリティインバータ５３に供給される。この処理要求信号ＲＥＱ１により、第３及び第４のＡＮＤゲート６４、６５の状態が変化する。これにより、ＬＳＢ反転された最高周波数成分のＤＣＴ係数が、ＬＳＢインバータ６３から第４のＡＮＤゲート６５とＯＲゲート６９を介してＩＤＣＴ回路１５に供給される。このＬＳＢ反転された最高周波数成分のＤＣＴ係数は、通常の最高周波数成分のＤＣＴ係数の代わりにＩＤＣＴ回路１５に供給され、ＩＤＣＴ回路１５に送られるＤＣＴ係数の和を奇数化する。
【０２４５】
一方、パリティ判定回路２１は、ブロック内のＤＣＴ係数の和のパリティが奇数であると判定すると、処理要求信号ＲＥＱ１を発生しない。ＤＣＴ係数ブロックの和の奇数化は必要ないので、パリティインバータ５３は、通常の最高周波数成分のＤＣＴ係数をＡＮＤゲート６４とＯＲゲート６９を介してＩＤＣＴ回路１５に送る。
【０２４６】
また、このパリティインバータ５３を変形した具体例を、図２７乃至図２９に示す。
【０２４７】
図２６に示すパリティインバータ５３を構成するＬＳＢインバータ６３の代わりに用いる、図１３に示す＋１加算器７３と同じ＋１加算器７３を図２７に示す。それ以外は、このパリティインバータ５３は変わらない。図２７に示すように変形されたパリティインバータ５３は、１を加算することによりブロック内の各ＤＣＴ係数のパリティを反転する。したがって、パリティ判定回路２１が処理要求信号ＲＥＱ１をパリティインバータ５３に送ると、パリティインバータ５３は、通常の最高周波数成分のＤＣＴ係数の代わりに、最高周波数成分のＤＣＴ係数に１を加算したものをＩＤＣＴ回路１５に供給する。これにより、ブロック内のＤＣＴ係数の和は奇数化される。
【０２４８】
図２８に示すように、図２６に示すパリティインバータ５３のＬＳＢインバータ６３の代わりに、図１５に示す規模削減回路８０を用いているようにしてもよい。それ以外は、図２６に示すパリティインバータ５３は変わらない。図２８に示すように変形された図２６のパリティインバータ５３は、上記の式１５に従ってＤＣＴ係数の和を奇数化する。パリティ判定回路２１が処理要求信号ＲＥＱ１を発生すると、ブロック内のＤＣＴ係数の和は、パリティ反転された最高周波数成分のＤＣＴ係数をＩＤＣＴ回路１５に送ることにより奇数化される。最高周波数成分のＤＣＴ係数のパリティは、以下の方法で反転する。すなわち、最高周波数成分のＤＣＴ係数が正のときは−１減算器８２により１を減算し、０又は負のときは＋１加算器８３により１を加算して、ＤＣＴ係数の和の奇数化を行うになっている。
【０２４９】
また、図２９に示すように、図２６に示すＬＳＢインバータ６３の代わりに、図１７に示す規模増大回路９０を用いているようにしてもよい。それ以外は、図２６に示すパリティインバータ５３は変わらない。図２９に示すように変形された図２６のパリティインバータ５３は、上記の式１６に基づいてＤＣＴ係数の和を奇数化する。パリティ判定回路２１が処理要求信号ＲＥＱ１を発生すると、ブロック内のＤＣＴ係数の和は、パリティ反転された最高周波数成分のＤＣＴ係数をＩＤＣＴ回路１５に送ることにより奇数化される。最高周波数成分のＤＣＴ係数のパリティは、以下の方法で反転する。すなわち、最高周波数成分のＤＣＴ係数が０又は負のときは−１減算器９３により１を減算し、正のときは＋１加算器９２により１を加算して、ＤＣＴ係数の和の奇数化を行うになっている。
【０２５０】
つぎに、圧縮動画像信号伸長装置の第２の実施例について図３０を用いて説明する。
【０２５１】
図３０に示す圧縮動画像信号伸長装置は、上述の図１９に示す圧縮動画像信号伸長装置の第１の実施例の和奇数化回路３５の代わりに、図２３に示す和奇数化回路５０を用いている。それ以外は、図１９に示す圧縮動画像信号伸長装置と変わらない。この圧縮動画像信号伸長装置の第２の実施例では、ＤＣＴ係数の和を奇数化する処理は、上述の図２２に示す第２の実施例の動画像信号圧縮装置と同様に行われる。したがって、逆可変長符号化器３２から和奇数化回路５０にアドレスＥＯＢ＿ａｄｒｓを送る必要がなくなる。
【０２５２】
以上、本発明の実施例について詳細に説明したが、本発明はこれらの実施例に限定されるものでは、特許請求の範囲内で種々の変更が可能である。
【０２５３】
【発明の効果】
上述のように、本発明によれば、逆離散コサイン変換を行う際のミスマッチ誤差が生じる確率が低く、実用的にはミスマッチ誤差の無い動画像信号圧縮装置及び方法、並びに圧縮動画像信号伸長装置を実現することができる。
【０２５４】
すなわち、本発明は、動画像信号の圧縮において離散コサイン変換を用い、圧縮動画像信号の伸長において逆離散コサイン変換を用いる場合、逆離散コサイン変換におけるミスマッチ誤差の発生を防止することができ、画質の劣化を小さくすることができる。したがって、本発明を適用した動画像信号圧縮装置及び方法、並びに圧縮動画像信号伸長装置では、動画像信号圧縮装置の局部デコード画像と、圧縮動画像信号伸長装置の再生画像とが異なることがなく、高品位の画像を提供することができる。
【図面の簡単な説明】
【図１】従来のＭＰＥＧ方式の動画像信号圧縮装置の構成を示すブロック図である。
【図２】従来のＭＰＥＧ方式の圧縮動画像信号伸長装置の構成を示すブロック図である。
【図３】ＭＰＥＧ方式において動画像信号が圧縮されるシーケンスを説明するための図である。
【図４】ＤＣＴ係数の具体例を示す図である。
【図５】従来のＭＰＥＧ１方式のイントラマクロブロック及びノンイントラマクロブロックの逆量子化処理を説明するための図である。
【図６】本発明に係る動画像信号圧縮装置の第１の実施例の構成を示すブロック図である。
【図７】ＤＣＴ係数のジグザグスキャンを示す図である。
【図８】図６に示す和奇数化回路１４の第１の実施例の構成を示すブロック図である。
【図９】図８に示す和奇数化回路の動作を説明するためのフローチャートである。
【図１０】図６に示す和奇数化回路の第２の実施例及びその変形例の構成を示すブロック図である。
【図１１】図８に示すパリティインバータの第１の実施例の構成を示すブロック図である。
【図１２】パリティインバータの動作を説明するためのフローチャートである。
【図１３】パリティインバータの第２の実施例の構成を示すブロック図である。
【図１４】パリティインバータの第３の実施例の動作を説明するためのフローチャートである。
【図１５】パリティインバータの第３の実施例の構成を示すブロック図である。
【図１６】パリティインバータの第４の実施例の動作を説明するためのフローチャートである。
【図１７】パリティインバータの第４の実施例の構成を示すブロック図である。
【図１８】図６に示す和奇数化回路の第３の実施例の構成を示すブロック図である。
【図１９】本発明に係る圧縮動画像信号伸長装置の第１の実施例の構成を示す図である。
【図２０】図１９に示す圧縮動画像信号伸長装置における逆量子化器及び和奇数化器の構成を示すブロック図である。
【図２１】逆量子化器及び和奇数化器の動作を説明するためのタイミングチャートである。
【図２２】本発明に係る動画像信号圧縮装置の第２の実施例の構成を示すブロック図である。
【図２３】図２２に示す動画像信号圧縮装置の第２の実施例における和奇数化回路の第１の実施例の構成を示すブロック図である。
【図２４】図２２に示す動画像信号圧縮装置の第２の実施例における和奇数化回路の第２の実施例の構成を示すブロック図である。
【図２５】図２２に示す動画像信号圧縮装置の第２の実施例における和奇数化回路の第３の実施例の構成を示すブロック図である。
【図２６】図２３乃至２５に示す和奇数化回路におけるパリティインバータの一実施例の構成を示すブロック図である。
【図２７】図２６に示すパリティインバータの第１の変形例の構成を示すブロック図である。
【図２８】図２６に示すパリティインバータの第２の変形例の構成を示すブロック図である。
【図２９】図２６に示すパリティインバータの第３の変形例の構成を示すブロック図である。
【図３０】本発明に係る圧縮動画像信号伸長装置の第２の実施例の構成を示すブロック図である。
【符号の説明】
２  第１のピクチャメモリ群、３  メモリコントローラ、４  第２のピクチャメモリ群、５  スライス／マクロブロック・カウンタ、６  動き予測器、７  動き補償器、８  差分発生回路、９  差分ブロック符号化器、１０  局部復号化器、１１  ＤＣＴ回路、１２  量子化器、１３  逆量子化器、１４  和奇数化回路、１５  ＩＤＣＴ回路、１６  加算器、１７  可変長符号化器、１９  出力バッファ
【図１】
0003593988.tif 000012
【図２】
0003593988.tif 000013
【図３】
0003593988.tif 000014
【図４】
0003593988.tif 000015
【図５】
0003593988.tif 000016
【図６】
0003593988.tif 000017
【図７】
0003593988.tif 000018
【図８】
0003593988.tif 000019
【図９】
0003593988.tif 000020
【図１０】
0003593988.tif 000021
【図１１】
0003593988.tif 000022
【図１２】
0003593988.tif 000023
【図１３】
0003593988.tif 000024
【図１４】
0003593988.tif 000025
【図１５】
0003593988.tif 000026
【図１６】
0003593988.tif 000027
【図１７】
0003593988.tif 000028
【図１８】
0003593988.tif 000029
【図１９】
0003593988.tif 000030
【図２０】
0003593988.tif 000031
【図２１】
0003593988.tif 000032
【図２２】
0003593988.tif 000033
【図２３】
0003593988.tif 000034
【図２４】
0003593988.tif 000035
【図２５】
0003593988.tif 000036
【図２６】
0003593988.tif 000037
【図２７】
0003593988.tif 000038
【図２８】
0003593988.tif 000039
【図２９】
0003593988.tif 000040
【図３０】
0003593988.tif 000041