(57)【要約】【課題】ブロック歪みや互いに隣接する画素の間の量子化歪みを大幅に軽減し、特別なデータを必要とすることなく高品質かつ高圧縮率の画像の符号化を行う。【解決手段】入力部１には、画像信号が入力され、８×８ブロック入力回路２ａは、その画像を８×８画素のブロックに分割し、頂点を検出する。予測誤差量子化器３ａは、検出された頂点の予測誤差を求めて量子化する。予測誤差逆量子化器及び新頂点算出回路４ａは、予測誤差量子化器３ａで量子化した誤差を逆量子化して予測誤差を新たに求め、新頂点を算出する。新画素算出回路５ａは、新頂点及び双一次曲面を用いて、ブロック内の新画素を算出する。誤差算出回路６ａは、新画素算出回路５ａで算出した新画素と、ブロック内の６４画素とを比較して、誤差を算出する。誤差比較回路７ａはそれぞれ、誤差算出回路６ａで算出した誤差としきい値との比較を行う。【選択図】　　　　図１５
2004023370.tif 000002
【特許請求の範囲】
【請求項１】
画像信号を符号化処理して伝送する画像符号化方法であって、
全画面を、所定の画素単位のブロックに分割し、
前記ブロック内の画素の頂点及び双一次曲面を用いて、新たな画素値を算出し、
前記ブロック内の画素値と、前記新たな画素値との差をそれぞれ算出し、
これらの差が所定の範囲内であるか否かに基づいて、前記ブロックの符号化を行うか前記ブロックを更に分割するかの判定を行い、
その判定の結果に応じた適切な画素単位のブロックで符号化処理を行うことを特徴とする画像符号化方法。
【請求項２】
前記差の絶対値の最大値をブロックごとに求めたヒストグラムを作成し、前記所定の値を前記ヒストグラムから算出することを特徴とする請求項１記載の画像符号化方法。
【請求項３】
画像信号を符号化処理して伝送する画像符号化装置であって、
全画面を、所定の画素単位のブロックに分割するブロック分割手段と、
前記ブロック内の画素の頂点及び双一次曲面を用いて、新たな画素値を算出する新画素値算出手段と、
前記ブロック内の画素値と、前記新たな画素値との差をそれぞれ算出する差算出手段と、
これらの差が所定の範囲内であるか否かに基づいて、前記ブロックの符号化を行うか前記ブロックを更に分割するかの判定を行う判定手段と、
その判定の結果に応じた適切な画素単位のブロックで符号化処理を行う符号化手段とを具えることを特徴とする画像符号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、テレビ電話、監視カメラ等に適用され、画像信号を符号化処理して伝送や蓄積を行う際の画像符号化方法及びその装置に関するものである。
【０００２】
【従来の技術】
一般的な画像信号の圧縮規格として、静止画像についてはＪＰＥＧが提案されており、動画像についてはＭＰＥＧが提案されている。また、代表的な画像圧縮方法としては、ＪＰＥＧやＭＰＥＧで採用しているブロック符号化の他に、非ブロック符号化として予測符号化やベクトル量子化がある。
【０００３】
ＭＰＥＧの場合、圧縮率が高くなるものの、ブロックに分割してＤＣＴ係数の削減を行うために、モスキートノイズやブロック歪みが発生する。
【０００４】
予測符号化は、互いに隣接する画素から当該画素値を予測し、その予測誤差を量子化する符号化であり、この場合、モスキートノイズやブロック歪みが発生しないものの、圧縮率を高めるに従って量子化歪みに起因する画質の劣化が顕著になる。
【０００５】
ベクトル量子化は、複数の画素値を所定の代表ベクトルに置き換える手法であり、予測符号化の場合に比べて圧縮率を高めることができるが、一般のテレビジョン映像のように様々な映像が入力される場合には、コードブック（符号化データすなわちテーブル）を生成するのが困難となり、コードブックの種類を削減すると、ブロック歪みが発生しやすくなる。
【０００６】
【発明が解決しようとする課題】
本発明の目的は、ブロック歪みや互いに隣接する画素の間の量子化歪みを大幅に軽減し、特別なデータを必要とすることなく高品質かつ高圧縮率の画像の符号化を行うことができる画像符号化方法及びその装置を提供することである。
【０００７】
【課題を解決するための手段】
本発明による画像符号化方法は、
全画面を、所定の画素単位のブロックに分割し、
前記ブロック内の画素の頂点及び双一次曲面を用いて、新たな画素値を算出し、
前記ブロック内の画素値と、前記新たな画素値との差をそれぞれ算出し、
これらの差が所定の範囲内であるか否かに基づいて、前記ブロックの符号化を行うか前記ブロックを更に分割するかの判定を行い、
その判定の結果に応じた適切な画素単位のブロックで符号化処理を行うことを特徴とする。
【０００８】
本発明によれば、所定の画素単位に分割されたブロックの符号化を行うかブロックを更に分割するかの判定を、新たな画素値を用いて行い、その判定の結果に応じた適切な画素単位のブロックで符号化処理を行うことによって、ＭＰＥＧ、予測符号化及びベクトル量子化に固有の問題が発生しない。その結果、ブロック歪みや互いに隣接する画素の間の量子化歪みを大幅に軽減し、特別なデータを必要とすることなく高品質かつ高圧縮率の画像の符号化を行うことができる。
【０００９】
好適には、前記差の絶対値の最大値をブロックごとに求めたヒストグラムを作成し、前記所定の値を前記ヒストグラムから算出する。
【００１０】
本発明による画像符号化装置は、
画像信号を符号化処理して伝送する画像符号化装置であって、
全画面を、所定の画素単位のブロックに分割するブロック分割手段と、
前記ブロック内の画素の頂点及び双一次曲面を用いて、新たな画素値を算出する新画素値算出手段と、
前記ブロック内の画素値と、前記新たな画素値との差をそれぞれ算出する差算出手段と、
これらの差が所定の範囲内であるか否かに基づいて、前記ブロックの符号化を行うか前記ブロックを更に分割するかの判定を行う判定手段と、
その判定の結果に応じた適切な画素単位のブロックで符号化処理を行う符号化手段とを具えることを特徴とする。
【００１１】
本発明によれば、ブロック歪みや互いに隣接する画素の間の量子化歪みを大幅に軽減し、特別なデータを必要とすることなく高品質かつ高圧縮率の画像の符号化を行うことができる。
【００１２】
【発明の実施の形態】
本発明の理解を容易にするために、先ず、本発明の基本原理を説明する。
画像圧縮方法は、相関の利用に関して二つの方法に分類される。
第１の方法は、互いに隣接する画素間の相関を利用する方法であり、具体的には、予測符号化のように互いに隣接する画素間の差分を利用して量子化ビット数を削減するような空間的に処理する方法や、ＤＣＴ又はウェーブレット変換のように変換系を利用して高域の係数を削減するような周波数的に処理する方法を挙げることができる。
しかしながら、上記第１の方法では、圧縮率を高くするに従って量子化歪みが顕著になり又はブロック歪みやモスキートノイズが発生するおそれがある。
【００１３】
第２の方法は、所定のパターンと画像との相関を計算し、相関の高いパターンに近似させる方法であり、具体的には、フラクタル符号化や曲面近似を挙げることができる。なお、パターンは、画像から抽出され又は適切な関係式から計算することによって求められる。
しかしながら、計算によって係数を求め又はマッチングや相関のような手法を用いたとしても、実際には最適なパターンを検出するのが困難である。
【００１４】
本発明は、曲面近似を用いる。しかしながら、高次の曲面では、その画像に近似する曲面の形状、次数、係数等を簡単な手法によって決定するのは容易でない。したがって、双一次曲面を用いて近似するが、複雑な次数を有する画像に対しては、画像領域を分割する。具体的には、比較的大きな矩形領域を、その矩形領域の４個の頂点を用いて計算し、内部点を近似する。しかしながら、計算値との誤差が大きい場合には、その矩形領域を分割し、分割された矩形領域の４個の頂点を用いて計算する。このような分割を最小の矩形領域まで繰り返し、最小の矩形領域まで分割しても近似しきれない場合には、各画素との誤差を量子化する。
【００１５】
本発明は、画像の画素値を用いて双一次曲面を所定の式に基づいて計算するので、曲面のテーブルを用いる必要がない。また、矩形領域を、後に説明するようなブロック及び頂点によって構成することによって、内部点の計算を簡単にするとともに、ブロック境界の歪みを発生させないようにすることができる。
【００１６】
双一次曲面を用いた処理を更に詳しく説明すると、先ず、全画面を、所定の画素単位のブロックに分割する。これらのブロックをそれぞれ、例えば、水平方向に８画素及び垂直方向に８画素を有する８×８画素のブロックとすることができるが、各ブロックの大きさを任意に設定することができる。
【００１７】
ブロックは更に分割され、例えば８×８画素のブロックに分割した場合、４×４画素のブロック及び２×２画素のブロックに順次分割される。ここで、ブロックの頂点は、例えば８×８画素のブロックに分割した場合、図１に示すように左上の画素ａに対応するが、それ以外の画素を頂点に選択することもできる。なお、４×４画素のブロック及び２×２画素のブロックの場合も同様である。
【００１８】
すなわち、分割された最大単位のブロックの中で、双一次曲面の式を用いて計算した値と画像の画素値との相関の強さを求め、相関がある場合には、そのブロックの頂点を代表値とする。相関がない場合には、ブロックを更に分割し、更に分割したブロックの中で、同様にして相関の強さを求める。ブロックの分割は、相関があるようになるまで繰り返されるが、分割しうる最小のブロックまで分割しても相関がないと判断された場合、そのブロックの頂点の他に、頂点及び双一次曲面から算出した新たな画素と各画素との誤差を量子化する。
【００１９】
双一次曲面Ｑ（ｕ，ｗ）は、その４個のコーナ部の座標をそれぞれＰ（０，０），Ｐ（０，１），Ｐ（１，０），Ｐ（１，１）とした場合、以下の式によって表現される。
〔数１〕
Ｑ（ｕ，ｗ）＝Ｐ（０，０）（１−ｕ）（１−ｗ）＋Ｐ（０，１）（１−ｕ）ｗ＋Ｐ（１，０）ｕ（１−ｗ）＋Ｐ（１，１）ｕｗ
【００２０】
本発明によれば、隣接する３個のブロック（右、下、及び右斜め下）の頂点の画素をＰ座標とし、双一次曲面Ｑ（ｕ，ｗ）のｕ，ｗに相当する値を１／２，１／４，１／８等の２のべき乗で表現できる値を使用することによって、加減算及びシフト演算のみが行われ、例えば、１／８＝０．１２５の場合には、３ビット右にシフトするだけでよい。
【００２１】
次に、本発明による画像符号化方法及びその装置の実施の形態を、図面を参照して詳細に説明する。
図２は、本発明による画像符号化方法の実施の形態の動作のフローチャートである。この場合、全画面を８×８画素のブロックに分割し、このように分割された８×８画素のブロックを基準としている。
【００２２】
図２に示す制御ルーチンは、例えば、画像監視システムの送信側で実行され、先ず、ステップＳ１において、符号化の前処理として、判定処理用のしきい値を算出する。なお、ステップＳ１を、図３及び図４を用いて後に詳細に説明する。
【００２３】
次いで、ステップＳ２において、全画面を８×８画素のブロックに分割したときの全ブロック数Ｊを設定する。全ブロック数Ｊは、縦横の画素数によって決定される。次いで、ステップＳ３において、図７及び８を用いて後に詳細に説明する８×８画素のブロックの処理を行う。
【００２４】
次いで、全ブロック数Ｊから１を減算し（ステップＳ４）、その後、全ブロックの処理が終了したか否かを判定する（ステップＳ５）。終了した場合には、このルーチンを終了し、終了しない場合には、ステップＳ３に戻る。
【００２５】
図３は、図２のステップＳ１のサブルーチンの前半のフローチャートであり、図４は、図２のステップＳ１のサブルーチンの後半のフローチャートである。本実施の形態では、基準となるブロックを８×８画素のブロックから構成している。８×８画素のブロックを基準として処理するため、そのブロックを縦横それぞれ半分に分割すれば、４×４画素のブロックに分割され、更にその半分に分割すれば、２×２画素のブロックに分割されることとなる。図３及び図４のサブルーチンは、２×２画素のブロックを基準とし、４×４画素のブロック、８×８画素のブロックへと演算を進めてしきい値を算出する。
【００２６】
先ず、ステップＳ１１において、全画面を２×２画素のブロックに分割したときのブロック数ｍをセットする。次いで、ステップＳ１２において、２×２画素のブロックの頂点と、それに隣接する３ブロックの頂点から、新たな画素（新画素）を算出する。例えば、図５に示すように、画素Ａ０，Ａ２，Ｃ０及びＣ２から、双一次曲面によって画素Ａ０を頂点とするブロック内の新画素を算出する。
【００２７】
次いで、ブロック内の各画素（図５の画素Ａ０，Ａ１，Ｂ０及びＢ１）と、ステップＳ１２で算出した新画素とを比較し（ステップＳ１３）、比較した差の絶対値の最大値を検出して、後に説明する第１のヒストグラム（ヒストグラム１）に登録し（ステップＳ１４）、ブロック数ｍから１を減算し（ステップＳ１５）、ブロック数ｍが０であるか否か、すなわち、２×２画素のブロックの全てについて処理が終了したか否か判定する。処理が終了している場合、４×４画素のブロックについての処理を行うために次のステップＳ１７に進み、それに対して、処理が終了していない場合には、ステップＳ１２に戻る。
【００２８】
次いで、ステップＳ１７において、全画面を４×４画素のブロックに分割したときのブロック数ｌをセットする。次いで、ステップＳ１８において、４×４画素のブロックの頂点と、それに隣接する３ブロックの頂点から、新たな画素（新画素）を算出する。例えば、図５に示すように、画素Ａ０，Ａ４，Ｅ０及びＥ４から、双一次曲面によって画素Ａ０を頂点とするブロック内の新画素を算出する。
【００２９】
次いで、ブロック内の各画素（図５の画素Ａ０〜Ａ３，Ｂ０〜Ｂ３，Ｃ０〜Ｃ３及びＤ０〜Ｄ３）と、ステップＳ１８で算出した新画素とを比較し（ステップＳ１９）、比較した差の絶対値の最大値を検出して、後に説明する第２のヒストグラム（ヒストグラム２）に登録し（ステップＳ２０）、ブロック数ｌから１を減算し（ステップＳ２１）、ブロック数ｌが０であるか否か、すなわち、４×４画素のブロックの全てについて処理が終了したか否か判定する。処理が終了している場合、８×８画素のブロックについての処理を行うために次のステップＳ２３に進み、それに対して、処理が終了していない場合には、ステップＳ１８に戻る。
【００３０】
次いで、ステップＳ２３において、全画面を８×８画素のブロックに分割したときのブロック数ｋをセットする。次いで、ステップＳ２４において、８×８画素のブロックの頂点と、それに隣接する３ブロックの頂点から、新たな画素（新画素）を算出する。例えば、図５に示すように、画素Ａ０，Ａ８，Ｉ０及びＩ８から、双一次曲面によって画素Ａ０を頂点とするブロック内の新画素を算出する。
【００３１】
次いで、ブロック内の各画素（図５の画素Ａ０〜Ａ７，Ｂ０〜Ｂ７，Ｃ０〜Ｃ７，Ｄ０〜Ｄ７，Ｅ０〜Ｅ７，Ｆ０〜Ｆ７，Ｇ０〜Ｇ７及びＨ０〜Ｈ７）と、ステップＳ２４で算出した新画素とを比較し（ステップＳ２５）、比較した差の絶対値の最大値を検出して、後に説明する第３のヒストグラム（ヒストグラム３）に登録し（ステップＳ２６）、ブロック数ｋから１を減算し（ステップＳ２７）、ブロック数ｋが０であるか否か、すなわち、８×８画素のブロックの全てについて処理が終了したか否か判定する。処理が終了している場合、図６に示すようなヒストグラム１，２，３から、２×２画素のブロック用、４×４画素のブロック用及び８×８画素のブロック用のしきい値並びに２×２画素のブロック、４×４画素のブロック及び８×８画素のブロックの各頂点の３種類の量子化テーブルを決定して（ステップＳ２９）、本ルーチンを終了する。それに対して、処理が終了していない場合には、ステップＳ２４に戻る。
【００３２】
図７は、図２のステップＳ３のサブルーチンの前半のフローチャートであり、図８は、図２のステップＳ３のサブルーチンの後半のフローチャートである。なお、このサブルーチンは、可変長符号化を行うものである。
【００３３】
先ず、ステップＳ３１において、所定の８×８画素のブロックの頂点の予測誤差を、図４のステップＳ２９で算出した量子化テーブルに基づいて量子化する。例えば、図９Ａに示すようにブロックの分割を行った場合、画素Ａ０，Ａ８，．．．Ｉ０，Ｉ８，．．．の予測誤差を量子化する。
【００３４】
次いで、ステップＳ３２において、量子化した予測誤差を逆量子化して誤差を算出し、元の頂点に対して加減算して補正を行い、新頂点を算出する。図９Ａの場合、図９Ｂに示すようにＡ０’，Ａ８’，Ｉ０’及びＩ８’が新頂点となる。
【００３５】
次いで、新頂点及び双一次曲面から新画素を算出し（ステップＳ３３）、このように算出した新画素と、ブロック内の画素（例えば、図９Ａにおける６４個の画素Ａ０〜Ａ７，Ｂ０〜Ｂ７，Ｃ０〜Ｃ７，Ｄ０〜Ｄ７，Ｅ０〜Ｅ７，Ｆ０〜Ｆ７，Ｇ０〜Ｇ７及びＨ０〜Ｈ７）とを比較する（ステップＳ３４）。
【００３６】
次いで、ステップＳ３５において、比較の結果、誤差の最大値が、図４のステップＳ２９で求めた８×８画素のブロック用のしきい値内であるか否か判定する。しきい値内である場合、次の８×８画素のブロックについての処理を行うためにこのサブルーチンを終了し、それに対して、しきい値外である場合、４×４画素のブロックの処理を行うためにステップＳ３６に進む。
【００３７】
ステップＳ３６において４×４画素のブロックのブロック数ｋとして４をセットする。次いで、ステップＳ３７において、所定の４×４画素のブロックの頂点のうち、ステップＳ３１で量子化した頂点以外の頂点の予測誤差を、図４のステップＳ２９で算出した量子化テーブルに基づいて量子化する。例えば、図９Ａに示すようにブロックの分割を行った場合、画素Ａ４，Ｅ０，Ｅ４，Ｅ８，Ｉ４の予測誤差を量子化する。
【００３８】
次いで、ステップＳ３８において、量子化した予測誤差を逆量子化して誤差を算出し、元の頂点に対して加減算して補正を行い、新頂点を算出する。図９Ａの場合、図９Ｃに示すようにＡ０’，Ａ４’，Ａ８’，Ｅ０’，Ｅ４’，Ｅ８’，Ｉ０’，Ｉ４’及びＩ８’が新頂点となる。
【００３９】
次いで、新頂点（第１ブロックでは、図９Ｄに示すようにＡ０’，Ａ４’，Ｅ０’及びＥ４’）及び双一次曲面から新画素を算出し（ステップＳ３９）、このように算出した新画素と、ブロック内の画素（例えば、図９Ａにおける１６個の画素Ａ０〜Ａ３，Ｂ０〜Ｂ３，Ｃ０〜Ｃ３及びＤ０〜Ｄ３）とを比較する（ステップＳ４０）。
【００４０】
次いで、ステップＳ４１において、比較の結果、誤差の最大値が、図４のステップＳ２９で求めた４×４画素のブロック用のしきい値内であるか否か判定する。しきい値内である場合、次の４×４画素のブロックについての処理を行うために、後に説明するステップＳ５１に進み、それに対して、しきい値外である場合、２×２画素のブロックの処理を行うためにステップＳ４２に進む。
【００４１】
ステップＳ４２において２×２画素のブロックのブロック数ｌとして４をセットする。次いで、ステップＳ４３において、所定の２×２画素のブロックの頂点のうち、ステップＳ３１及びステップＳ３７で量子化した頂点以外の頂点の予測誤差を、図４のステップＳ２９で算出した量子化テーブルに基づいて量子化する。例えば、図９Ａに示すようにブロックの分割を行った場合、画素Ａ２，Ｃ０，Ｃ２，Ｃ４及びＥ２の予測誤差を量子化する。
【００４２】
次いで、ステップＳ４４において、量子化した予測誤差を逆量子化して誤差を算出し、元の頂点に対して加減算して補正を行い、新頂点を算出する。図９Ａの場合、図９Ｅに示すようにＡ０’，Ａ２’，Ａ４’，Ｃ０’，Ｃ２’，Ｃ４’，Ｅ０’，Ｅ２’及びＥ４’が新頂点となる。
【００４３】
次いで、新頂点（第１ブロックでは図９Ｆに示すようにＡ０’，Ａ２’，Ｃ０’及びＣ２’）及び双一次曲面から新画素を算出し（ステップＳ４５）、このように算出した新画素と、ブロック内の画素（例えば、図９Ａにおける４個の画素Ａ０，Ａ１，Ｂ０及びＢ１）とを比較する（ステップＳ４６）。
【００４４】
次いで、ステップＳ４７において、比較の結果、誤差の最大値が、図４のステップＳ２９で求めた２×２画素のブロック用のしきい値内であるか否か判定する。しきい値内である場合、次の２×２画素のブロックについての処理を行うために、後に説明するステップＳ４９に進み、それに対して、しきい値外である場合、ブロック内の画素と新画素との差を、４画素のそれぞれについて量子化した（ステップＳ４８）後、ステップＳ４９に進む。
【００４５】
ステップＳ４９において、ブロック数ｌから１を減算し、その後、ステップＳ５０において、２×２画素のブロックの全てについて処理が終了したか否か判定する。処理が終了した場合、ステップＳ５１に進み、それに対して、処理が終了しない場合、ステップＳ４３に戻る。
【００４６】
ステップＳ５１において、ブロック数ｋから１を減算し、その後、ステップＳ５２において、４×４画素のブロックの全てについて処理が終了したか否か判定する。処理が終了した場合、このサブルーチンを終了し、それに対して、処理が終了しない場合、ステップＳ３７に戻る。
【００４７】
図７及び図８に示すサブルーチンは、分割された８×８画素のブロックの全てに対して行われる。
各頂点の値の量子化誤差によって、初期の段階で予測した符号化ビット発生量が変動する。したがって、８×８画素のブロックラインごとに、８×８画素のブロック、４×４画素のブロック及び２×２画素のブロックのヒストグラムを参照し、しきい値内であると予測したブロック数と、実際の処理においてしきい値内であったブロック数とを比較し、しきい値内であったブロック数が比較的少ない、すなわち、符号化ビット数が比較的多く発生した場合には、しきい値を高くして発生符号化量を減少させる。
【００４８】
なお、画像監視システムの受信側における画像復号化処理については、図１のフローチャートと逆の動作を行うことによって行われる。
【００４９】
図１０〜１３は、本発明による画像符号化方法の他の実施の形態の動作のフローチャートである。
先ず、ステップＳ１０１において、全画面を８×８画素のブロックに分割したときの全ブロック数Ｊを設定する。
【００５０】
次いで、ステップＳ１０２において、８×８画素のブロックの４個の頂点を量子化する。例えば、図１４Ａの画素Ａ０，Ａ８，Ｉ０及びＩ８が４個の頂点に対応する。次いで、ステップＳ１０３において、ステップＳ１０２で量子化した頂点を逆量子化して新頂点を算出する。例えば、図１４Ａの画素Ａ０，Ａ８，Ｉ０及びＩ８に対応する４個の頂点の新頂点は、それぞれ画素Ａ０’，Ａ８’，Ｉ０’及びＩ８’となる。
【００５１】
次いで、ステップＳ１０４において、ステップＳ１０３で算出した４個の新頂点と、双一次曲面とから、８×８画素のブロック内の新画素を算出するとともに、新画素と各画素との残差を求める。これら残差は、Ａ０’−１，Ａ１−１，．．．Ｈ７−１となる（図１４Ｂ）。
【００５２】
次いで、ステップＳ１０５において、新画素と各画素との間の残差の最大値（絶対値）を検出して、第１の残差テーブル（残差テーブル１）に保存し、かつ、第１のヒストグラム（ヒストグラム１）に登録する。
【００５３】
次いで、全ブロック数Ｊから１を減算し（ステップＳ１０６）、その後、全ブロックの処理すなわち画像全体（１画面）についての処理が終了したか否かを判定する（ステップＳ１０７）。処理が終了した場合には、ステップＳ１０８に進み、それに対して、処理が終了しない場合には、ステップＳ１０２に戻る。
【００５４】
ステップＳ１０８において、後段に接続される図示しないバッファメモリの前フレーム処理後の空き容量、８×８画素のブロックの頂点値データの情報ビット量、ヒストグラム１等から、８×８画素のブロック用のしきい値を算出する。
【００５５】
次いで、上記残差テーブル１と、ステップＳ１０８で算出したしきい値とを比較し（ステップＳ１０９）、残差がしきい値内であるか否か判断する（ステップＳ１１０）。残差がしきい値内である場合、後に説明するステップＳ１１８までスキップする。
【００５６】
残差がしきい値内でない場合、４×４画素のブロックの処理のために、ステップＳ１１１において、８×８画素のブロックを４×４画素のブロックに分割したときのブロック数ｋとして４を設定する。
【００５７】
次いで、ステップＳ１１２において、残差テーブル１に保存されている４×４画素のブロックの４個の頂点の残差を量子化する。例えば、図１４Ｃのように４×４画素のブロックに分割した場合、Ａ０’−１，Ａ４−１，Ｅ０−１及びＥ４−１が対象の頂点の残差となる。次いで、ステップＳ１１３において、ステップＳ１１２で量子化した頂点の残差を逆量子化して新残差を算出する。例えば、残差Ａ０’−１，Ａ４−１，Ｅ０−１及びＥ４−１の新たな残差（新残差）は、Ａ０’’−１，Ａ４’−１，Ｅ０’−１及びＥ４’−１となる（図１４Ｃ）。
【００５８】
次いで、ステップＳ１１４において、ステップＳ１１３で算出した４個の頂点の新残差と、双一次曲面とから、４×４画素のブロック内の新残差を算出するとともに、各画素の残差との残差を求める。これら残差は、Ａ０’’−２，Ａ１−２，．．．Ｄ３−２となる（図１４Ｄ）。
【００５９】
次いで、ステップＳ１１５において、新残差と各画素の残差との間の残差の最大値（絶対値）を検出して、第２の残差テーブル（残差テーブル２）に保存し、かつ、第２のヒストグラム（ヒストグラム２）に登録する。
【００６０】
次いで、ブロック数ｋから１を減算し（ステップＳ１１６）、その後、４×４画素のブロックについての処理が終了したか否かを判定する（ステップＳ１１７）。処理が終了した場合には、ステップＳ１１８に進み、それに対して、処理が終了しない場合には、ステップＳ１１２に戻る。
【００６１】
４×４画素のブロックについての処理が終了した場合又はステップＳ１１０においてしきい値が残差より大きいと判定された場合、ステップＳ１１８において、全ブロック（残差テーブル１）についての処理が終了したか否かを判定する。
【００６２】
ステップＳ１１９において、バッファメモリの前フレーム処理後の空き容量、４×４画素のブロックの残差値データの情報ビット量、ヒストグラム２等から、４×４画素のブロック用のしきい値を算出する。
【００６３】
次いで、上記残差テーブル２と、ステップＳ１１９で算出したしきい値とを比較し（ステップＳ１２０）、残差がしきい値内であるか否か判断する（ステップＳ１２１）。残差がしきい値内である場合、後に説明するステップＳ１２９までスキップする。
【００６４】
残差がしきい値内でない場合、２×２画素のブロックの処理のために、ステップＳ１２２において、４×４画素のブロックを２×２画素のブロックに分割したときのブロック数ｍとして４を設定する。
【００６５】
次いで、ステップＳ１２３において、残差テーブル２に保存されている２×２画素のブロックの４個の頂点の残差を量子化する。例えば、図１４Ｅのように２×２画素のブロックに分割した場合、Ａ０’’−２，Ａ２−２，Ｃ０−２及びＣ２−２が対象の頂点の残差となる。次いで、ステップＳ１２４において、ステップＳ１２３で量子化した頂点を逆量子化して新頂点を算出する。例えば、残差Ａ０’’−２，Ａ２−２，Ｃ０−２及びＣ２−２の新たな残差（新残差）は、Ａ０’’’−２，Ａ２’−２，Ｃ０’−２及びＣ２’−２となる（図１４Ｅ）。
【００６６】
次いで、ステップＳ１２５において、ステップＳ１２４で算出した４個の頂点の残差と、双一次曲面とから、２×２画素のブロック内の新残差を算出するとともに、新残差と各画素の残差との残差を求める。これら残差は、Ａ０’’’−３，Ａ２’−３，Ｃ０’−３及びＣ２’−３となる（図１４Ｆ）。
【００６７】
次いで、ステップＳ１２６において、新残差と各画素の残差との間の差の最大値（絶対値）を検出して第３の残差テーブル（残差テーブル３）に保存し、かつ、第３のヒストグラム（ヒストグラム３）に登録する。
【００６８】
次いで、ブロック数ｍから１を減算し（ステップＳ１２７）、その後、２×２画素のブロックについての処理が終了したか否かを判定する（ステップＳ１２８）。処理が終了した場合には、ステップＳ１２９に進み、それに対して、処理が終了しない場合には、ステップＳ１２３に戻る。
【００６９】
２×２画素のブロックについての処理が終了した場合又はステップＳ１２１においてしきい値が残差より大きいと判定された場合、ステップＳ１２９において、４×４画素のブロック（残差テーブル２）の全てについての処理が終了したか否かを判定する。
【００７０】
ステップＳ１３０において、バッファメモリの前フレーム処理後の空き容量、２×２画素のブロックの残差値データの情報ビット量、ヒストグラム３等から、２×２画素のブロック用のしきい値を算出する。
【００７１】
次いで、上記残差テーブル３と、ステップＳ１３０で算出したしきい値とを比較し（ステップＳ１３１）、残差がしきい値内であるか否か判断する（ステップＳ１３２）。残差がしきい値内である場合、後に説明するステップＳ１３４までスキップする。
【００７２】
残差がしきい値内でない場合、４画素の残差を量子化し（ステップＳ１３３）、その後、２×２画素のブロックの全てについての処理が終了したか否かを判定する（ステップＳ１３４）。処理が終了した場合には、この制御ルーチンを終了し、それに対して、処理が終了しない場合には、ステップＳ１３１に戻る。
【００７３】
なお、画像監視システムの受信側における画像復号化処理については、図１０〜１３のフローチャートと逆の動作を行うことによって行われる。
【００７４】
図１５は、本発明による画像符号化装置の実施の形態のブロック図である。この画像符号化装置は、例えば、画像監視システムの送信側に適用され、入力部１と、８×８ブロック入力回路２ａと、４×４ブロック入力回路２ｂと、２×２ブロック入力回路２ｃと、予測誤差量子化器３ａ，３ｂ，３ｃと、予測誤差逆量子化器及び新頂点算出回路４ａ，４ｂ，４ｃと、新画素算出回路５ａ，５ｂ，５ｃと、誤差算出回路６ａ，６ｂ，６ｃと、誤差比較回路７ａ，７ｂ，７ｃと、量子化器８と、制御器９と、切替器１０とを具える。
【００７５】
本実施の形態の動作を説明する。入力部１には、図示しない監視カメラからのデジタル化された画像信号が入力され、８×８ブロック入力回路２ａは、その画像を８×８画素のブロックに分割し、各ブロックの頂点となる画素（以下、単に頂点という。）を検出する。
【００７６】
予測誤差量子化器３ａは、検出された頂点の予測誤差を求めて量子化する。この予測誤差量子化器３ａによる量子化によって、データのビット数が削減される。予測誤差逆量子化器及び新頂点算出回路４ａは、量子化誤差を補正するために、予測誤差量子化器３ａで量子化した誤差を逆量子化して予測誤差を新たに求め、８×８ブロック入力回路２ａで検出した頂点にその予測誤差を加算又は減算することによって、新頂点を算出する。
【００７７】
新画素算出回路５ａは、予測誤差逆量子化器及び新頂点算出回路４ａで算出した新頂点と、〔数１〕で表現した双一次曲面とを用いて、ブロック内の新画素を算出する。
【００７８】
誤差算出回路６ａは、新画素算出回路５ａで算出した新画素と、ブロック内の６４画素とを比較して、誤差を算出する。誤差比較回路７ａはそれぞれ、誤差算出回路６ａで算出した誤差としきい値との比較を行う。誤差がしきい値内である場合、予測誤差量子化器３ａで量子化した予測誤差を切替器１０を通じて出力するように、制御器９を制御する。それに対して、誤差がしきい値外である場合、８×８画素のブロックを４×４ブロック入力回路２ｂ以降で処理する。
【００７９】
４×４ブロック入力回路２ｂは、８×８画素のブロックを更に半分に分割し、すなわち、水平方向に４画素及び垂直方向に４画素を有する４×４画素のブロックに分割し、各ブロックの頂点となる画素（以下、単に頂点という。）を検出する。
【００８０】
予測誤差量子化器３ｂは、予測誤差量子化器３ａで量子化した頂点を除く４×４ブロック入力回路２ｂで検出された頂点の予測誤差を求めて量子化する。この予測誤差量子化器３ｂによる量子化によって、データのビット数が削減される。予測誤差逆量子化器及び新頂点算出回路４ｂは、量子化誤差を補正するために、予測誤差量子化器３ｂで量子化した誤差を逆量子化して予測誤差を新たに求め、４×４ブロック入力回路２ｂで検出した頂点にその予測誤差を加算又は減算することによって、新頂点を算出する。
【００８１】
新画素算出回路５ｂは、予測誤差逆量子化器及び新頂点算出回路４ｂで算出した新頂点と、〔数１〕で表現した双一次曲面とを用いて、ブロック内の新画素を算出する。なお、８×８画素のブロックと重なる頂点については、予測誤差逆量子化器及び新頂点算出回路４ａの出力を用いる。
【００８２】
誤差算出回路６ｂは、新画素算出回路５ｂで算出し又は予測誤差逆量子化器及び新頂点算出回路４ａの出力である新画素と、ブロック内の１６画素とを比較して、誤差を算出する。誤差比較回路７ｂはそれぞれ、誤差算出回路６ｂで算出した誤差としきい値との比較を行う。誤差がしきい値内である場合、予測誤差量子化器３ｂで量子化した予測誤差を切替器１０を通じて出力するように、制御器９を制御する。それに対して、誤差がしきい値外である場合、４×４画素のブロックを２×２ブロック入力回路２ｃ以降で処理する。
なお、４×４ブロック入力回路２ｂから誤差比較回路７ｂまでの処理を、４個のブロックに対して行う。
【００８３】
２×２ブロック入力回路２ｃは、４×４画素のブロックを更に半分に分割し、すなわち、水平方向に２画素及び垂直方向に２画素を有する２×２画素のブロックに分割し、各ブロックの頂点となる画素（以下、単に頂点という。）を検出する。
【００８４】
予測誤差量子化器３ｃは、予測誤差量子化器３ｂで量子化した頂点を除く２×２ブロック入力回路２ｃで検出された頂点の予測誤差を求めて量子化する。この予測誤差量子化器３ｃによる量子化によって、データのビット数が削減される。予測誤差逆量子化器及び新頂点算出回路４ｃは、量子化誤差を補正するために、予測誤差量子化器３ｃで量子化した誤差を逆量子化して予測誤差を新たに求め、２×２ブロック入力回路２ｃで検出した頂点にその予測誤差を加算又は減算することによって、新頂点を算出する。
【００８５】
新画素算出回路５ｃは、予測誤差逆量子化器及び新頂点算出回路４ｃで算出した新頂点と、〔数１〕で表現した双一次曲面とを用いて、ブロック内の新画素を算出する。なお、４×４画素のブロックと重なる頂点については、予測誤差逆量子化器及び新頂点算出回路４ｂの出力を用いる。
【００８６】
誤差算出回路６ｃは、新画素算出回路５ｃで算出し又は予測誤差逆量子化器及び新頂点算出回路４ｂの出力である新画素と、ブロック内の４画素とを比較して、誤差を算出する。誤差比較回路７ｃはそれぞれ、誤差算出回路６ｃで算出した誤差としきい値との比較を行う。誤差がしきい値内である場合、予測誤差量子化器３ｃで量子化した予測誤差を切替器１０を通じて出力するように、制御器９を制御する。それに対して、誤差がしきい値外である場合、量子化器８は、誤差算出回路６ｃで算出された誤差を量子化する。
【００８７】
切替器１０から出力された信号は、受信側において、図１５に示す素子と同様な素子によって構成された画像復号化装置に入力され、図１５に示す画像符号化装置の動作と逆の動作を行うことによって、復号化され、例えばモニタに出力される。
【００８８】
上記実施の形態によれば、監視カメラにおいて、道路や壁のような平坦又はなだらかな傾斜に対しては、８×８画素のブロック処理の双一次曲面を使用し、起伏の多い部分に対しては２×２画素のブロック処理を施すことによって、好適な画像監視システムを構成することができる。さらに、平坦又はなだらかな傾斜が比較的多い場合には、８×８画素のブロックより大きな１６×１６画素のブロックを使用することによって、更に圧縮率を高くすることができる伝送システムを構成することができる。
【００８９】
本発明は、上記実施の形態に限定されるものではなく、幾多の変更及び変形が可能である。
例えば、本発明による画像符号化方法及びその装置を、任意の伝送システムの送信側で使用することができ、対応する画像復号化方法及び装置を、対応するシステムの受信側で使用することができる。
【００９０】
また、８×８画素のブロック、４×４画素のブロック及び２×２画素のブロックの順に処理したが、本発明を、２ｎ×２ｎ画素のブロック（ｎ：自然数）に対して適用することができ、例えば、１６×１６画素のブロック、８×８画素のブロック、４×４画素のブロック及び２×２画素のブロックの順に処理することもできる。
【００９１】
上記実施の形態では、８×８画素のブロック、４×４画素のブロック及び２×２画素のブロックの頂点を量子化し、可変長ビットに変換する処理を行ったが、量子化を行うことなく固定長ビットで送出を行うことによって、演算量を減少させることもできる。
【００９２】
さらに、フレーム内処理の場合について説明したが、フレーム間処理を組み合わせることもできる。すなわち、任意の大きさのブロックを処理するに際し、前フレームとの比較を行う処理を挿入することによって、フレーム間処理を容易に追加することができる。
【図面の簡単な説明】
【図１】分割されたブロックの頂点を示す図である。
【図２】本発明による画像符号化方法の実施の形態のフローチャートである。
【図３】図２のステップＳ１のサブルーチンのフローチャートの一部である。
【図４】図２のステップＳ１のサブルーチンのフローチャートの一部である。
【図５】新画素の算出を説明するための図である。
【図６】図２のフローチャートで作成されたヒストグラム１，２及び３を示す図である。
【図７】図２のステップＳ３のサブルーチンのフローチャートの一部である。
【図８】図２のステップＳ３のサブルーチンのフローチャートの一部である。
【図９】新頂点の算出を説明するための図である。
【図１０】本発明による画像符号化方法の他の実施の形態のフローチャートの一部である。
【図１１】本発明による画像符号化方法の他の実施の形態のフローチャートの一部である。
【図１２】本発明による画像符号化方法の他の実施の形態のフローチャートの一部である。
【図１３】本発明による画像符号化方法の他の実施の形態のフローチャートの一部である。
【図１４】ブロックの頂点の残差を説明するための図である。
【図１５】本発明による画像符号化装置の実施の形態のブロック図である。
【符号の説明】
１　入力部
２ａ　８×８ブロック入力回路
２ｂ　４×４ブロック入力回路
２ｃ　２×２ブロック入力回路
３ａ，３ｂ，３ｃ　予測誤差量子化器
４ａ，４ｂ，４ｃ　予測誤差逆量子化器及び新頂点算出回路
５ａ，５ｂ，５ｃ　新画素算出回路
６ａ，６ｂ，６ｃ　誤差算出回路
７ａ，７ｂ，７ｃ　誤差比較回路
８　量子化器
９　制御器
１０　切替器
【図１】
2004023370.tif 000003
【図２】
2004023370.tif 000004
【図３】
2004023370.tif 000005
【図４】
2004023370.tif 000006
【図５】
2004023370.tif 000007
【図６】
2004023370.tif 000008
【図７】
2004023370.tif 000009
【図８】
2004023370.tif 000010
【図９】
2004023370.tif 000011
【図１０】
2004023370.tif 000012
【図１１】
2004023370.tif 000013
【図１２】
2004023370.tif 000014
【図１３】
2004023370.tif 000015
【図１４】
2004023370.tif 000016
【図１５】
2004023370.tif 000017