(57)【要約】【課題】短い計算処理時間で画質を向上させることができる画像圧縮装置を提供する。【解決手段】画像をブロックに分割する手段と、所定の方向にそれぞれブロック中の輝度の変化量が最も大きい方向を選択する手段と、ブロック内の画素の二次元の輝度変化を選択した方向のみの一次元の輝度変化に近似する手段と、近似一次元データをブロック中心からの偏移ごとの画素値を要素としたベクトルとし、予め用意された参照ベクトルの組から画素値変化の形状に最も近いベクトルを識別するベクトル番号を出力する手段と、ベクトル番号から元のベクトルを復元する手段と、最大変化方向の一次元の画素値変化であるベクトルデータから変化方向と垂直な方向に復元データを生成し、近似面データとする手段と、ブロック内の元画像と近似面データとの誤差値を求め、ブロック内の各画素の誤差値を計算する手段と、ブロック内に分布する誤差値を符号化する手段とを備える。【選択図】    図１
2004312379.tif 000002
【特許請求の範囲】
【請求項１】
画像全体をｎ×ｎ（ｎは２以上の自然数）画素のブロックに分割するブロック分割手段と、
ｍ（ｍは２以上の自然数）方向にそれぞれ前記ブロック中の輝度の変化量を計算し、該変化量が最も大きい方向を選択する最大変化方向検出手段と、
前記ブロック内の画素の二次元の輝度変化を前記最大変化方向検出手段が出力した方向のみの一次元の輝度変化に近似する近似データ生成手段と、
前記近似一次元データをブロック中心からの偏移ごとの画素値を要素としたベクトルとし、予め用意された参照ベクトルの組から前記画素値変化の形状に最も近いベクトルを探し出し、このベクトルを識別するベクトル番号を出力するベクトル量子化手段と、
前記ベクトル番号から元の近似データであるベクトルを復元するベクトル復元手段と、
前記最大変化方向の一次元の画素値変化であるベクトルデータから変化方向と垂直な方向に復元データを生成し、近似面データとする面データ複元手段と、
前記ブロック内の元画像から前記近似面データを減算することにより誤差値を求め、ブロック内の各画素の誤差値を計算する誤差値計算手段と、
前記ブロック内に分布する誤差値を符号化するブロック符号化手段と
を備えたことを特徴とする画像圧縮装置。
【請求項２】
前記最大変化方向検出手段から出力される最大変化方向、ベクトル量子化手段の出力及びブロック符合化手段の出力をエントロピー符号化する符合化手段をさらに備えたことを特徴とする請求項１に記載の画像圧縮装置。
【請求項３】
前記ブロック符号化手段は、
誤差の起伏の量的な傾向を計算したブロック毎の値と起伏の分布を表す画素毎の値を求めることにより誤差の面分布の符号化を行うＢＴＣ符号化手段と、
前記ＢＴＣ符号化手段の出力を受けて誤差の量的な傾向が大きいときには、前記ＢＴＣ符号化手段の出力をそのまま出力し、起伏量が小さい場合には、ＢＴＣ符号データ無しを示すコード出力する出力判定手段と
からなることを特徴とする請求項１に記載の画像圧縮装置。
【請求項４】
画像全体をｎ×ｍ（ｎ、ｍは２以上の自然数）画素のブロックに分割するブロック分割手段と、
前記ブロック内の元画像をｎ×ｍ次元ベクトルとし、予め大まかな表現のベクトルのみで表現された参照ベクトルの組から元画像ベクトルに最も近いベクトルを探し出し、このベクトルを示すベクトル番号を出力するベクトル量子化手段と、
前記ベクトル番号から元の近似データであるベクトルを復元するベクトル復元手段と、
前記ブロック内の元画像から前記近似データを減算することにより誤差値を求め、誤差ブロックを生成する誤差計算手段と、
前記誤差ブロックを符号化するベクトル符号化手段と、
前記ベクトル量子化手段および前記ベクトル符号化手段の出力を可逆符号化する符号化手段と
を備えたことを特徴とする画像圧縮装置。
【請求項５】
画像全体をｎ×ｍ（ｎ、ｍは２以上の自然数）画素のブロックに分割するブロック分割手段と、
前記画像から縦１／ｄ倍、横１／ｄ倍（ｄは２以上の整数）の縮小画像を生成するサブサンプル手段と、
前記縮小画像を切り出したブロックの各画素を要素とする縮小画像ベクトルとし、予め用意された参照ベクトルの組から縮小画像ベクトルに最も近いベクトルを探し出し、このベクトルを識別するベクトル番号を出力するベクトル量子化手段と、
前記ベクトル番号から元の近似データであるベクトルを復元するベクトル復元手段と、
前記ベクトル復元手段から得られた近似ベクトルを元のサイズに拡大する拡大データ生成手段と、
前記ブロック内の元画像から近似ベクトルを減算減算することにより誤差値を求め、誤差ブロックを生成する誤差計算手段と、
前記誤差ブロックを符号化するベクトル符号化手段と、
前記ベクトル符号化手段および前記量子化手段の出力を可逆符号化する符号化手段と
を備えたことを特徴とする画像圧縮装置。
【請求項６】
画像全体をｎ×ｎ（ｎは２以上の自然数）画素のブロックに分割するブロック分割過程と、
ｍ（ｍは２以上の自然数）方向にそれぞれ前記ブロック中の輝度の変化量を計算し、該変化量が最も大きい方向を選択する最大変化方向検出過程と、
前記ブロック内の画素の二次元の輝度変化を前記最大変化方向検出過程で得られる方向のみの一次元の輝度変化に近似する近似データ生成過程と、
前記近似一次元データをブロック中心からの偏移ごとの画素値を要素としたベクトルとし、予め用意された参照ベクトルの組から前記画素値変化の形状に最も近いベクトルを探し出し、このベクトルを識別するベクトル番号を出力するベクトル量子化過程と、
前記ベクトル番号から元の近似データであるベクトルを復元するベクトル復元過程と、
前記最大変化方向の一次元の画素値変化であるベクトルデータから変化方向と垂直な方向に復元データを生成し近似面データとする面データ復元過程と、
前記ブロック内の元画像から前記近似面データを減算することにより誤差値を求め、ブロック内の各画素の誤差値を計算する誤差値計算過程と、
前記ブロック内に分布する誤差値を符号化するブロック符号化過程と
を有することを特徴とする画像圧縮方法。
【請求項７】
前記最大変化方向検出過程で得られる最大変化方向、ベクトル量子化過程の出力及びブロック符合化過程の出力をエントロピー符号化する符合化過程をさらに有することを特徴とする請求項６に記載の画像圧縮方法。
【請求項８】
前記ブロック符号化過程は、
誤差の起伏の量的な傾向を計算したブロック毎の値と起伏の分布を表す画素毎の値を求めることにより誤差の面分布の符号化を行うＢＴＣ符号化過程と、
前記ＢＴＣ符号化過程の出力を受けて誤差の量的な傾向が大きいときには、前記ＢＴＣ符号化過程の出力をそのまま出力し、起伏量が小さい場合には、ＢＴＣ符号データ無しを示すコード出力する出力判定過程と
からなることを特徴とする請求項６に記載の画像圧縮方法。
【請求項９】
画像全体をｎ×ｍ（ｎ、ｍは２以上の自然数）画素のブロックに分割するブロック分割過程と、
前記ブロック内の元画像をｎ×ｍ次元ベクトルとし、予め大まかな表現のベクトルのみで表現された参照ベクトルの組から元画像ベクトルに最も近いベクトルを探し出し、このベクトルを示すベクトル番号を出力するベクトル量子化過程と、
前記ベクトル番号から元の近似データであるベクトルを復元するベクトル復元過程と、
前記ブロック内の元画像から前記近似データを減算することにより誤差値を求め、誤差ブロックを生成する誤差計算過程と、
前記誤差ブロックを符号化するベクトル符号化過程と、
前記ベクトル量子化過程および前記ベクトル符号化過程の出力を可逆符号化する符号化過程と
を備えたことを特徴とする画像圧縮方法。
【請求項１０】
画像全体をｎ×ｍ（ｎ、ｍは２以上の自然数）画素のブロックに分割するブロック分割過程と、
前記画像から縦１／ｄ倍、横１／ｄ倍（ｄは２以上の整数）の縮小画像を生成するサブサンプル過程と、
前記縮小画像を切り出したブロックの各画素を要素とする縮小画像ベクトルとし、予め用意された参照ベクトルの組から縮小画像ベクトルに最も近いベクトルを探し出し、このベクトルを識別するベクトル番号を出力するベクトル量子化過程と、
前記ベクトル番号から元の近似データであるベクトルを復元するベクトル復元過程と、
前記ベクトル復元過程から得られた近似ベクトルを元のサイズに拡大する拡大データ生成過程と、
前記ブロック内の元画像から近似ベクトルを減算減算することにより誤差値を求め、誤差ブロックを生成する誤差計算過程と、
前記誤差ブロックを符号化するベクトル符号化過程と、
前記ベクトル符号化過程および前記量子化過程の出力を可逆符号化する符号化過程と
を備えたことを特徴とする画像圧縮方法。
【請求項１１】
画像全体をｎ×ｎ（ｎは２以上の自然数）画素のブロックに分割するブロック分割処理と、
ｍ（ｍは２以上の自然数）方向にそれぞれ前記ブロック中の輝度の変化量を計算し、該変化量が最も大きい方向を選択する最大変化方向検出処理と、
前記ブロック内の画素の二次元の輝度変化を前記最大変化方向検出処理の出力した方向のみの一次元の輝度変化に近似する近似データ生成処理と、
前記近似一次元データをブロック中心からの偏移ごとの画素値を要素としたベクトルとし、予め用意された参照ベクトルの組から前記画素破変化の形状に最も近いベクトルを探し出し、このベクトルを識別するベクトル番号を出力するベクトル量子化処理と、
前記ベクトル番号から元の近似データであるベクトルを復元するベクトル復元処理と、
前記最大変化方向の一次元の画素値変化であるベクトルデータから変化方向と垂直な方向に復元データを生成し、近似面データとする面データ復元処理と、
前記ブロック内の元画像から前記近似面データを減算することにより誤差値を求め、ブロック内の各画素の誤差値を計算する誤差値計算処理と、
前記ブロック内に分布する誤差値を符号化するブロック符号化処理と
をコンピュータに行わせることを特徴とする画像圧縮プログラム。
【請求項１２】
前記最大変化方向検出処理で得られる最大変化方向、ベクトル量子化処理の出力及びブロック符合化処理の出力をエントロピー符号化する符合化処理をさらにコンピュータに行わせることを特徴とする請求項１１に記載の画像圧縮プログラム。
【請求項１３】
前記ブロック符号化処理は、
誤差の起伏の量的な傾向を計算したブロック毎の値と起伏の分布を表す画素毎の値を求めることにより誤差の面分布の符号化を行うＢＴＣ符号化処理と、
前記ＢＴＣ符号化処理の出力を受けて誤差の量的な傾向が大きいときには、前記ＢＴＣ符号化処理の出力をそのまま出力し、起伏量が小さい場合には、ＢＴＣ符号データ無しを示すコード出力する出力判定処理と
からなることを特徴とする請求項１１に記載の画像圧縮プログラム。
【請求項１４】
画像全体をｎ×ｍ（ｎ、ｍは２以上の自然数）画素のブロックに分割するブロック分割処理と、
前記ブロック内の元画像をｎ×ｍ次元ベクトルとし、予め大まかな表現のベクトルのみで表現された参照ベクトルの組から元画像ベクトルに最も近いベクトルを探し出し、このベクトルを示すベクトル番号を出力するベクトル量子化処理と、
前記ベクトル番号から元の近似データであるベクトルを復元するベクトル復元処理と、
前記ブロック内の元画像から前記近似データを減算することにより誤差値を求め、誤差ブロックを生成する誤差計算処理と、
前記誤差ブロックを符号化するベクトル符号化処理と、
前記ベクトル量子化処理および前記ベクトル符号化処理の出力を可逆符号化する符号化処理と
をコンピュータに行わせることを特徴とする画像圧縮プログラム。
【請求項１５】
画像全体をｎ×ｍ（ｎ、ｍは２以上の自然数）画素のブロックに分割するブロック分割処理と、
前記画像から縦１／ｄ倍、横１／ｄ倍（ｄは２以上の整数）の縮小画像を生成するサブサンプル処理と、
前記縮小画像を切り出したブロックの各画素を要素とする縮小画像ベクトルとし、予め用意された参照ベクトルの組から縮小画像ベクトルに最も近いベクトルを探し出し、このベクトルを識別するベクトル番号を出力するベクトル量子化処理と、
前記ベクトル番号から元の近似データであるベクトルを復元するベクトル復元処理と、
前記ベクトル復元処理から得られた近似ベクトルを元のサイズに拡大する拡大データ生成処理と、
前記ブロック内の元画像から近似ベクトルを減算減算することにより誤差値を求め、誤差ブロックを生成する誤差計算処理と、
前記誤差ブロックを符号化するベクトル符号化処理と、
前記ベクトル符号化処理および前記量子化処理の出力を可逆符号化する符号化処理と
をコンピュータに行わせることを特徴とする画像圧縮プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像の圧縮を行う画像圧縮装置、画像圧縮方法及び画像圧縮プログラムに関する。
【０００２】
【従来の技術】
画像データはデータ量が多く、圧縮せずに蓄積した場合、データ利用の速度、データの蓄積効率の全てにおいて性能が低下する。このため画像データを蓄積、利用する際には高効率の圧縮を行う必要がある。画像を圧縮する際には画像を等サイズの小さな方形の領域に分割し、その領域内で圧縮を行うブロック符号化がよく行われているがそのブロック符号化の中でも最も効率の良い圧縮率で圧縮する手法の一つとしてベクトル量子化がある。ベクトル量子化の手法については特許文献１などに記載されている。ここで、ベクトル量子化での画像圧縮手順について基本的な部分を説明する。
【０００３】
（１）画像をｎ×ｎのブロックに分割しブロック内のｋ＝ｎ×ｎ個の画素値を左上からｘ０，ｘ１，…，ｘｋ−１と並べ、そのｋ次元空間におけるベクトルｘρ＝（ｘ０，ｘ１，・・・，ｘｋ−１）毎にそれぞれ以下の処理を行う。
（２）ベクトルｘρ＝（ｘ０，ｘ１，…，ｘｋ−１）と、あらかじめｍ個の用意した参照用ベクトルｙρｉ＝（ｙｉ０，ｙｉ１，…，ｙｉｋ−１）を集めたテーブルのすべてのベクトルと距離（差分）Ｄｉ：Ｄｉ＝Ｄ（ｘρ，ｙρｉ）＝Σ｜ｘｊ−ｙｉｊ｜を求める。
（３）さらにこの中から最も小さいＤｉをもつｙｉを求め、それを表すインデックスｉ＝Ｉでｘを代表させ、ベクトル量子化による符号データとして出力する。
このようなベクトル符号化処理を行うとたとえば４×４画素ブロックデータを考えると８ｂｉｔ×１６個の値が１２ｂｉｔ程度に圧縮できる。
【０００４】
【特許文献１】
特開昭６４−６０１７５号公報
【０００５】
【発明が解決しようとする課題】
ところで、ベクトル量子化では高い圧縮率で画像を圧縮することが可能であるが、参照用に用意したベクトルテーブルすべてのベクトルと元のブロックベクトルを比較する必要があるため非常に時間がかかる手法である。例えば、該テーブル中のベクトルの数が２０４８である場合、縦Ｘ，横Ｙ画素の画像をブロック化するためにはＸ×Ｙ×２０４８回の差分の絶対値計算と加算が必要となる。このように演算量が格段に多いため、現在主流となっている演算処理装置の計算速度ではテレビレートなどの画像をリアルタイムで圧縮することが困難な状況である。また、高速化のために行える単純な手法にサブサンプリングで画素数を減らしたり、コードブックに含まれるベクトルの種類を減らしたりすることが考えられるが、この場合には画素が荒くなったり誤差が大きいベクトルをマッチすることになり、画質の劣化が著しくなり、画質を維持しながら高速化を行うことが難しかった。このように高いフレームレートの画像を高い画質で保存する必要がある場合に、高い圧縮率をもつと言われているベクトル量子化を適用することができない問題がある。さらには事前に用意するテーブルの種類が大きくなると計算量が増えるとともに、圧縮結果として出力するデータ長が増えるため、文字のような不規則（直線だけではない）エッジについては、出現頻度が小さく事前に用意するテーブルに含めることができない。このため、圧縮するとき文字のような部分について代表するデータを探すと、その画像は元画像から遠いものとなり、結果として復元時の文字などは変形して非常に読みづらくなる事も問題である。
【０００６】
本発明は、このような事情に鑑みてなされたもので、短い計算処理時間で圧縮処理を実施することが可能で、画質を向上させることができる画像圧縮装置、画像圧縮方法及び画像圧縮プログラムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
請求項１に記載の発明は、画像全体をｎ×ｎ（ｎは２以上の自然数）画素のブロックに分割するブロック分割手段と、ｍ（ｍは２以上の自然数）方向にそれぞれ前記ブロック中の輝度の変化量を計算し、該変化量が最も大きい方向を選択する最大変化方向検出手段と、前記ブロック内の画素の二次元の輝度変化を前記最大変化方向検出手段が出力した方向のみの一次元の輝度変化に近似する近似データ生成手段と、前記近似一次元データをブロック中心からの偏移ごとの画素値を要素としたベクトルとし、予め用意された参照ベクトルの組から前記画素値変化の形状に最も近いベクトルを探し出し、このベクトルを識別するベクトル番号を出力するベクトル量子化手段と、前記ベクトル番号から元の近似データであるベクトルを復元するベクトル復元手段と、前記最大変化方向の一次元の画素値変化であるベクトルデータから変化方向と垂直な方向に復元データを生成し、近似面データとする面データ複元手段と、前記ブロック内の元画像から前記近似面データを減算することにより誤差値を求め、ブロック内の各画素の誤差値を計算する誤差値計算手段と、前記ブロック内に分布する誤差値を符号化するブロック符号化手段とを備えたことを特徴とする。
【０００８】
請求項２に記載の発明は、前記最大変化方向検出手段から出力される最大変化方向、ベクトル量子化手段の出力及びブロック符合化手段の出力をエントロピー符号化する符合化手段をさらに備えたことを特徴とする。
【０００９】
請求項３に記載の発明は、前記ブロック符号化手段は、誤差の起伏の量的な傾向を計算したブロック毎の値と起伏の分布を表す画素毎の値を求めることにより誤差の面分布の符号化を行うＢＴＣ符号化手段と、前記ＢＴＣ符号化手段の出力を受けて誤差の量的な傾向が大きいときには、前記ＢＴＣ符号化手段の出力をそのまま出力し、起伏量が小さい場合には、ＢＴＣ符号データ無しを示すコード出力する出力判定手段とからなることを特徴とする。
【００１０】
請求項４に記載の発明は、画像全体をｎ×ｍ（ｎ、ｍは２以上の自然数）画素のブロックに分割するブロック分割手段と、前記ブロック内の元画像をｎ×ｍ次元ベクトルとし、予め大まかな表現のベクトルのみで表現された参照ベクトルの組から元画像ベクトルに最も近いベクトルを探し出し、このベクトルを示すベクトル番号を出力するベクトル量子化手段と、前記ベクトル番号から元の近似データであるベクトルを復元するベクトル復元手段と、前記ブロック内の元画像から前記近似データを減算することにより誤差値を求め、誤差ブロックを生成する誤差計算手段と、前記誤差ブロックを符号化するベクトル符号化手段と、前記ベクトル量子化手段および前記ベクトル符号化手段の出力を可逆符号化する符号化手段とを備えたことを特徴とする。
【００１１】
請求項５に記載の発明は、画像全体をｎ×ｍ（ｎ、ｍは２以上の自然数）画素のブロックに分割するブロック分割手段と、前記画像から縦１／ｄ倍、横１／ｄ倍（ｄは２以上の整数）の縮小画像を生成するサブサンプル手段と、前記縮小画像を切り出したブロックの各画素を要素とする縮小画像ベクトルとし、予め用意された参照ベクトルの組から縮小画像ベクトルに最も近いベクトルを探し出し、このベクトルを識別するベクトル番号を出力するベクトル量子化手段と、前記ベクトル番号から元の近似データであるベクトルを復元するベクトル復元手段と、前記ベクトル復元手段から得られた近似ベクトルを元のサイズに拡大する拡大データ生成手段と、前記ブロック内の元画像から近似ベクトルを減算減算することにより誤差値を求め、誤差ブロックを生成する誤差計算手段と、前記誤差ブロックを符号化するベクトル符号化手段と、前記ベクトル符号化手段および前記量子化手段の出力を可逆符号化する符号化手段とを備えたことを特徴とする。
【００１２】
請求項６に記載の発明は、画像全体をｎ×ｎ（ｎは２以上の自然数）画素のブロックに分割するブロック分割過程と、ｍ（ｍは２以上の自然数）方向にそれぞれ前記ブロック中の輝度の変化量を計算し、該変化量が最も大きい方向を選択する最大変化方向検出過程と、前記ブロック内の画素の二次元の輝度変化を前記最大変化方向検出過程で得られる方向のみの一次元の輝度変化に近似する近似データ生成過程と、前記近似一次元データをブロック中心からの偏移ごとの画素値を要素としたベクトルとし、予め用意された参照ベクトルの組から前記画素値変化の形状に最も近いベクトルを探し出し、このベクトルを識別するベクトル番号を出力するベクトル量子化過程と、前記ベクトル番号から元の近似データであるベクトルを復元するベクトル復元過程と、前記最大変化方向の一次元の画素値変化であるベクトルデータから変化方向と垂直な方向に復元データを生成し近似面データとする面データ復元過程と、前記ブロック内の元画像から前記近似面データを減算することにより誤差値を求め、ブロック内の各画素の誤差値を計算する誤差値計算過程と、前記ブロック内に分布する誤差値を符号化するブロック符号化過程とを有することを特徴とする。
【００１３】
請求項７に記載の発明は、前記最大変化方向検出過程で得られる最大変化方向、ベクトル量子化過程の出力及びブロック符合化過程の出力をエントロピー符号化する符合化過程をさらに有することを特徴とする。
【００１４】
請求項８に記載の発明は、前記ブロック符号化過程は、誤差の起伏の量的な傾向を計算したブロック毎の値と起伏の分布を表す画素毎の値を求めることにより誤差の面分布の符号化を行うＢＴＣ符号化過程と、前記ＢＴＣ符号化過程の出力を受けて誤差の量的な傾向が大きいときには、前記ＢＴＣ符号化過程の出力をそのまま出力し、起伏量が小さい場合には、ＢＴＣ符号データ無しを示すコード出力する出力判定過程とからなることを特徴とする。
【００１５】
請求項９に記載の発明は、画像全体をｎ×ｍ（ｎ、ｍは２以上の自然数）画素のブロックに分割するブロック分割過程と、前記ブロック内の元画像をｎ×ｍ次元ベクトルとし、予め大まかな表現のベクトルのみで表現された参照ベクトルの組から元画像ベクトルに最も近いベクトルを探し出し、このベクトルを示すベクトル番号を出力するベクトル量子化過程と、前記ベクトル番号から元の近似データであるベクトルを復元するベクトル復元過程と、前記ブロック内の元画像から前記近似データを減算することにより誤差値を求め、誤差ブロックを生成する誤差計算過程と、前記誤差ブロックを符号化するベクトル符号化過程と、前記ベクトル量子化過程および前記ベクトル符号化過程の出力を可逆符号化する符号化過程とを備えたことを特徴とする。
【００１６】
請求項１０に記載の発明は、画像全体をｎ×ｍ（ｎ、ｍは２以上の自然数）画素のブロックに分割するブロック分割過程と、前記画像から縦１／ｄ倍、横１／ｄ倍（ｄは２以上の整数）の縮小画像を生成するサブサンプル過程と、前記縮小画像を切り出したブロックの各画素を要素とする縮小画像ベクトルとし、予め用意された参照ベクトルの組から縮小画像ベクトルに最も近いベクトルを探し出し、このベクトルを識別するベクトル番号を出力するベクトル量子化過程と、前記ベクトル番号から元の近似データであるベクトルを復元するベクトル復元過程と、前記ベクトル復元過程から得られた近似ベクトルを元のサイズに拡大する拡大データ生成過程と、前記ブロック内の元画像から近似ベクトルを減算減算することにより誤差値を求め、誤差ブロックを生成する誤差計算過程と、前記誤差ブロックを符号化するベクトル符号化過程と、前記ベクトル符号化過程および前記量子化過程の出力を可逆符号化する符号化過程とを備えたことを特徴とする。
【００１７】
請求項１１に記載の発明は、画像全体をｎ×ｎ（ｎは２以上の自然数）画素のブロックに分割するブロック分割処理と、ｍ（ｍは２以上の自然数）方向にそれぞれ前記ブロック中の輝度の変化量を計算し、該変化量が最も大きい方向を選択する最大変化方向検出処理と、前記ブロック内の画素の二次元の輝度変化を前記最大変化方向検出処理の出力した方向のみの一次元の輝度変化に近似する近似データ生成処理と、前記近似一次元データをブロック中心からの偏移ごとの画素値を要素としたベクトルとし、予め用意された参照ベクトルの組から前記画素破変化の形状に最も近いベクトルを探し出し、このベクトルを識別するベクトル番号を出力するベクトル量子化処理と、前記ベクトル番号から元の近似データであるベクトルを復元するベクトル復元処理と、前記最大変化方向の一次元の画素値変化であるベクトルデータから変化方向と垂直な方向に復元データを生成し、近似面データとする面データ復元処理と、前記ブロック内の元画像から前記近似面データを減算することにより誤差値を求め、ブロック内の各画素の誤差値を計算する誤差値計算処理と、前記ブロック内に分布する誤差値を符号化するブロック符号化処理とをコンピュータに行わせることを特徴とする。
【００１８】
請求項１２に記載の発明は、前記最大変化方向検出処理で得られる最大変化方向、ベクトル量子化処理の出力及びブロック符合化処理の出力をエントロピー符号化する符合化処理をさらにコンピュータに行わせることを特徴とする。
【００１９】
請求項１３に記載の発明は、前記ブロック符号化処理は、誤差の起伏の量的な傾向を計算したブロック毎の値と起伏の分布を表す画素毎の値を求めることにより誤差の面分布の符号化を行うＢＴＣ符号化処理と、前記ＢＴＣ符号化処理の出力を受けて誤差の量的な傾向が大きいときには、前記ＢＴＣ符号化処理の出力をそのまま出力し、起伏量が小さい場合には、ＢＴＣ符号データ無しを示すコード出力する出力判定処理とからなることを特徴とする。
【００２０】
請求項１４に記載の発明は、画像全体をｎ×ｍ（ｎ、ｍは２以上の自然数）画素のブロックに分割するブロック分割処理と、前記ブロック内の元画像をｎ×ｍ次元ベクトルとし、予め大まかな表現のベクトルのみで表現された参照ベクトルの組から元画像ベクトルに最も近いベクトルを探し出し、このベクトルを示すベクトル番号を出力するベクトル量子化処理と、前記ベクトル番号から元の近似データであるベクトルを復元するベクトル復元処理と、前記ブロック内の元画像から前記近似データを減算することにより誤差値を求め、誤差ブロックを生成する誤差計算処理と、前記誤差ブロックを符号化するベクトル符号化処理と、前記ベクトル量子化処理および前記ベクトル符号化処理の出力を可逆符号化する符号化処理とをコンピュータに行わせることを特徴とする。
【００２１】
請求項１５に記載の発明は、画像全体をｎ×ｍ（ｎ、ｍは２以上の自然数）画素のブロックに分割するブロック分割処理と、前記画像から縦１／ｄ倍、横１／ｄ倍（ｄは２以上の整数）の縮小画像を生成するサブサンプル処理と、前記縮小画像を切り出したブロックの各画素を要素とする縮小画像ベクトルとし、予め用意された参照ベクトルの組から縮小画像ベクトルに最も近いベクトルを探し出し、このベクトルを識別するベクトル番号を出力するベクトル量子化処理と、前記ベクトル番号から元の近似データであるベクトルを復元するベクトル復元処理と、前記ベクトル復元処理から得られた近似ベクトルを元のサイズに拡大する拡大データ生成処理と、前記ブロック内の元画像から近似ベクトルを減算減算することにより誤差値を求め、誤差ブロックを生成する誤差計算処理と、前記誤差ブロックを符号化するベクトル符号化処理と、前記ベクトル符号化処理および前記量子化処理の出力を可逆符号化する符号化処理とをコンピュータに行わせることを特徴とする。
【００２２】
【発明の実施の形態】
以下、本発明の一実施形態による画像圧縮装置を図面を参照して説明する。図１は同実施形態の構成を示すブロック図である。この図において、符号１は、圧縮対象の画像データをｎ×ｎ（ｎは２以上の自然数）画素のブロックに分割するブロック化器である。符号２はブロック内をｍ（ｍは２以上の自然数）方向にその輝度変化を計測し、その出力である輝度変化量が最も大きくなる方向を選択する最大変化方向検出器である。符号２０はブロック内の二次元の画素値の分布を最大変化方向検知器２から出力した最大変化方向への偏移位置ごとの一次元の画素値として近似する近似データ生成器である。符号３は近似データ生成器２０から出力した一次元の画素値データの各画素値を要素とするベクトルとし、参照ベクトルの組から近似画素値に最も近いベクトルを探し出し、そのベクトル番号を出力するベクトル量子化器である。
【００２３】
符号４は、ベクトル量子化器３が出力したインデックス番号から元の近似データであるベクトルを復元するベクトル復元器である。符号５は、一次元の変化である、最大変化方向への画素値変化をその変化方向と垂直な方向には同じ値を埋めることで近似面データを生成する面データ復元器である。符号６は、ブロック内の元画像から復元画像を差し引き、残り誤差ブロックを生成する誤差計算器である。符号７は、誤差値のブロックを符号化するベクトル符号化とは異なるブロック単位の符号化を行うブロック符号化器である。符号８は、最大変化方向検出器２から出力される最大変化方向、ベクトル量子化器３から出力されるベクトル番号、ブロック符号化器７から出力される符号化データをエントロピー符号化により可逆・可変長圧縮するエントロピー符号化器である。符号９は、エントロピー符号化器８の出力を多重化して圧縮データとする多重化器である。
【００２４】
次に、２次元の画素値平面上で最も画素値が変化する方向の変化のみをベクトル量子化で近似し、そのベクトル量子化近似値と元データとの誤差を、第２の符号化器によって符号化する動作を説明する。
まず、ブロック化器１は、入力した４ｊ×４ｋ（ｊ，ｋはそれぞれ自然数）画素の画像を４×４画素のブロックｊ×ｋ個に分割する。この結果得られるブロックの例を図２に示す。以下の説明では図２に示すブロックデータを具体的例として説明する。
【００２５】
次に、最大変化方向検出器２は、ブロックの中心を通る垂直線から３０度おきの６種類の方向（図３に示す０時から５時の方向）の画素値変化（起伏変化という）を計算する。各方向の起伏変化量はその変化方向を計算する直線に対し図４に示すよう変化方向へ中心から一定距離ごとにエリア分け（ここでは４つのエリア）を行い、その４つのエリアごと平均画素値を求め、隣り合うエリア同士の平均画素値（Ｌ（１）〜Ｌ（４））の差の絶対値（｜Ｌ（ｉ）−Ｌ（Ｉ＋１）｜）を計算し、その合計（｜Ｌ（１）−Ｌ（２）｜＋｜Ｌ（２）−Ｌ（３）｜＋｜Ｌ（３）−Ｌ（４）｜）を各方向への起伏変化量とすることにより求める。
【００２６】
エリア分けは、４×４画素の場合、図５に示すように６種類のベクトル近似直線の方向に対応し、それぞれのベクトル近似直線に直交する方向に一定間隔に４分割する形でのブロック分割方法を図５に示すように予め用意しておくことにより行う。図５に示す例では、Ａ、Ｂ、Ｃ、Ｄでしめすエリアが４つのエリアに該当する。なお、ブロックが８×８画素である場合は８分割する。図２に示す画素値を図５に示す分割方法で起伏変化量を計算すると、たとえば１時の方向へのエリアＢのエリアの合計値は４９＋７８＋８１＋９３＝３０１となり、また１時の方向の変化量は｜３７７／４−３０１／４｜＋｜３０１／４−２８３／４｜＋｜２８３／４−１４９／４｜＝５７となる。同様な計算によって求めた起伏変化量を図６に示す。
【００２７】
続いて、最大変化方向検出器２は、４個の画素値のうち隣り合う画素値の差の合計が最も大きい直線を選択し、直線の方向Ｄｉｒと、該当直線による切断面の平均画素値Ｌ（ｉ）を得る。例に示したブロックの値について計算すると、２時の方向がもっとも変化量が大きいのでＤｉｒ＝２となる。
【００２８】
続いて、近似データ生成器２０は同じく図５に示すような変化方向ごとに予め用意しておいたエリア分割方法から、最大変化方向のブロックのエリア分割方法を選択する。その選択した分割方法に基づき分割したエリア内の平均値を求め、変化方向への各偏移位置での画素値を代表する値として出力する。この例では最大変化方向が２時であるので、図５に示す２時方向用の分割方法での各エリアの平均を計算し、Ｌ（１）＝３７７／３、Ｌ（２）＝３０１／４、Ｌ（３）＝２８３／４、Ｌ（４）＝１４９／４とする。この例では近似データ生成器２０は最大変化方向検出器２と同じ計算方法を用いているが、最大変化方向検出器２が変化方向に隣り合う画素ごとに差の絶対値を求め、最大変化方向検出器２がエリアごとに平均を求めるなど、異なった計算方法を用いても良い。
【００２９】
次に、ベクトル量子化器３は得られたＬを４次元のベクトルとし、ベクトル量子化を行い、Ｌ（ｉ）に最も近いベクトル番号Ｉｄｘを図示しない参照ベクトルテーブルから選び出す。ここで最も近いとはＬと参照ベクトルの絶対値差分の合計を計算し最も小さいものである。ここで、参照ベクトルテーブルが図７に示すような値である場合の計算例を示す。たとえば、ベクトル番号３２の絶対値差分合計は｜３８９／４−０｜＋｜３２５／４−１６｜＋｜２６３／４−３２｜＋｜１３３／４−４８｜＝２１１であり、またベクトル番号ｙの絶対値差分の合計は｜３８９／４−９６｜＋｜３２５／４−８０｜＋｜２６３／４−６４｜＋｜１３３／４−３２｜＝５．５となる。ここでベクトル番号ｙが最小の絶対値差分の合計をとったとすると、このｙをベクトル番号Ｉｄｘとして選び出す。
【００３０】
次に、断面形状復元器４は、ベクトル番号Ｉｄｘと番号が付けられた参照ベクトルをベクトルテーブルから獲得しその項目Ｌ’（１）・・・Ｌ’（４）を得る。この例では、ベクトル番号ｙを選び出しているのでＬ’（１）＝９６，Ｌ’（２）＝８０，Ｌ’（３）＝６４，Ｌ’（４）＝３２が得られることとなる。
【００３１】
次に、面データ復元器５は先に選択した最大変化方向に対応する位置の画素をそれぞれＬ’（１），Ｌ’（２），Ｌ’（３），Ｌ’（４）を書き込み、ベクトル復元画像を得る。これによって図８（ａ）に示すの計算中間値が得られる。この例では一次元データから二次元データを復元する方法として対応する位置を決めその値を選択するＮｅａｒｅｓｔＮｅｉｇｈｔｂｏｒ法を用いているが、位置の偏移に応じて一次補間を行うＢｉ−Ｌｉｎｅａｒ法などを用いてもよい。
【００３２】
次に、誤差計算器６は、先に得られたベクトル復元画像を元々の画像のブロックから対応する位置の画素ごとに引き算することにより誤差ブロックデータを得る。すなわち、図２に示す画素値から図８（ａ）に示す中間値を減算し、その結果、図８（ｂ）の計算中間値の値を得る。
【００３３】
次に、ブロック符号化器７は、誤差ブロックデータの各画素について、０以上なら１、０未満なら０となる量子化データ、および、正のデータの個数をＮｕｍＰ、正のデータの平均をＡｖｒＰ，負のデータの個数をＮｕｍＮ、負のデータの平均を―ＡｖｒＮとすると、振幅指標を（ＮｕｍＰ×ＡｖｒＰ＋ＮｕｍＮ×ＡｖｒＮ）／（ＮｕｍＰ＋ＮｕｍＮ）と求めることで０を中心とするＢｌｏｃｋＴｒｕｎｃａｔｉｏｎＣｏｄｉｎｇで符号化を行う。この結果、各画素ごとに振幅指標を加算するか減算するかを示す（１画素当り１Ｂｉｔの）量子化データが１６個集まった量子化パターン値とＢＴＣ振幅指標（８Ｂｉｔ）Ｄと２４Ｂｉｔに圧縮したデータを生成する。この例では、図９に示すの量子化パターン値を得るとともに、振幅指標７．５（＝１２０／１６）を得ることができる。
【００３４】
なお、上記の計算で得られた振幅指標が事前に設定してある詳細な表現に関する感度を決める閾値（３：高感度〜１２：低感度  程度を設定する。通常は６程度を設定）以下の振幅指標のＢＴＣ符号については「ＢＴＣ符号無し」を示すコードに置き換える。これにより、人が区別、意識できないような微妙な変化やノイズをデータに含めないようにでき、データ量を削減しながら見た目が同じ画像に復元できる。この例では、振幅指標が７で６を超えているため、先に得られたＢＴＣ符号化の値を符号化結果として用いる。
【００３５】
次に、エントロピー符号化器８は、前述したブロック符号化により得られる４種類のデータ（最大変化方向Ｄｉｒ、ＢＴＣ振幅指標Ｄ、量子化パターン値ｑ、ベクトル番号Ｉｄｘ）をそれぞれエントロピー圧縮する。そして、多重化器９は、得られたエントロピー符号化データを多重化して圧縮データを出力する。
【００３６】
なお、ブロック符号化器７は、離散コサイン変換やＢＴＣ（Ｂｌｏｃｋ  Ｔｒｕｎｃａｔｉｏｎ  Ｃｏｄｅｉｎｇ）法やウェーブレット変換などを用いてブロックデータの量子化を行い、その後量子化を行うことで圧縮したデータを生成するようにしてもよい。特に、このブロック符号化器７に量子化段階が２段階（１ビット）のＢＴＣ変換を用いる事で効率的な圧縮を行うことができる。この時、ブロック符号化器７は、図１０に示すように、「誤差の起伏の量的な傾向を計算したブロック毎の値」と「起伏の分布を表す画素ごとの値」を求めることで誤差の面分布の符号化を行うＢＴＣ符号化器７１と、ＢＴＣ符号化の出力を受けの誤差の量的な傾向（＝起伏量）が大きいときにはそのままＢＴＣの符号化データを出力し、起伏量が小さい場合には、誤差部分を復号してもその部分は見落とされるものとして「ＢＴＣ符号データ無し」のコードを付加する出力判定器７２を設ければよい。
【００３７】
次に、前述した動作によって圧縮した画像を復号する動作を説明する。
まず、エントロピー符号化によって圧縮したデータから最大変化方向Ｄｉｒ＝２，ＢＴＣ振幅指標Ｄ＝７、ベクトル番号Ｉｄｘ＝ｙ、量子化パターン値ｑ＝０１０１  １１１１  １１１０  ０１００（２進数）を復元する。
【００３８】
次に、ベクトル番号からベクトルデータを検索し、図１１に示すように最大変化方向に向かって順番に画素値を塗り分けることで近似ブロックが得られる。この例では、ベクトル番号がｙであるからＬ（１〜４）＝９６，８０，６４，３２を復号し、また、最大変化方向２の値から塗り分けする値を２時方向のパターンに塗り分けることに決まるため、図８（ａ）が復元できる。この例では一次元データから二次元データを復元する方法として対応する位置を決めその値を選択するＮｅａｒｅｓｔＮｅｉｇｈｔｂｏｒ法を用いているが、位置の偏移に応じて一次補間を行うＢｉ−Ｌｉｎｅａｒ法などを用いてもよい。ただし、復号時の面データの復元方法としても面データ復元器５と同じ復元方法を用いる。
【００３９】
次に、ＢＴＣ符号化方法に対する復号を行い、誤差補正値を得る。この例では、量子化パターン値ｑ＝０１０１  １１１１  １１１０  ０１００（２進数）と振幅指標＝７から図１２に示す補正量ブロックが復元できる。そして、図８（ａ）に示すブロックデータと図１２に示すブロックデータについて、ブロック内の対応する場所のデータ同士を加算し、その結果復号ブロックとする。この例では、図１３に示すブロックデータが得られる。
【００４０】
次に、ブロックごとに復号された結果を敷き詰めて画像データを再構成し、復元画像とする。
【００４１】
以上の復号の結果、得られた復号例（図１４）を確認すると人間が気づきやすい画像中の特徴である、全体的な画素値の傾き（図１４中の太い矢印）および画像中の急激なエッジ変化（図１４中の太線〜二重線）が復元されている。実際の画像では４×４画素のような局所に特徴部分以外のばらつきが発生することはほとんど無く、この例で示した画像よりさらに忠実に復元できること、ブロックを敷き詰めた場合、人間が気づきやすい特徴が正しく残っていることが復号画像を見たときに正しく画像を理解することに重要であることから、本手法は人間が見た場合に正しく読み取れる画像が復元できる非可逆圧縮方法であるといえる。
【００４２】
次に、図１５を参照して、他の実施形態を説明する。図１５は他の実施形態の構成を示すブロック図である。この実施形態における画像圧縮装置は、画像全体をｎ×ｍ（ｎ，ｍは自然数）画素のブロックに切り分けるブロック化器１１と、ブロック内の元画像をｎ×ｍ次元ベクトルとし、図示しない参照ベクトルテーブルの組から元画像ベクトルに最も近いベクトルを探し出し、そのベクトルを示すベクトル番号を出力するベクトル量子化器１２と、ベクトル量子化器１２から出力したベクトル番号から元の近似データであるベクトルを復元するベクトル復元器１３と、ブロック内の元画像からベクトル復元器１３から得られた復元画像を差し引き、残り誤差ブロックを生成する誤差計算器１４と、誤差計算器１４から得られた誤差値のブロックを符号化するベクトル符号化とは異なるブロック単位の符号化を行うブロック符号化器１５と、ベクトル量子化１２およびブロック符号化器１５からの出力データをエントロピー符号化により可逆・可変長圧縮するエントロピー符号化器１６と、エントロピー符号化データを多重化する多重化器１７とからなる。この画像圧縮装置は、ベクトル量子化器１２が参照する参照ベクトルテーブルには大まかな表現のベクトルのみ記録しておき、目標の画質を圧縮するために必要とされるベクトル量子化器１２よりも少ない（４分の１以下）ベクトルテーブルを用意することを特徴としている。
【００４３】
次に、図１６を参照して、他の実施形態における画像圧縮装置を説明する。図１５は他の実施形態の構成を示すブロック図である。この実施形態における画像圧縮装置が図１に示す画像圧縮装置と異なる点は、図１に示す画像圧縮装置はベクトルの次元数（パラメータ数）を減少させるために面でなく線としてのデータをベクトル量子化したが、図１６に示す画像圧縮装置では、面のデータにサブサンプリングを行い縦、横の画素数を減少させたデータを用いてベクトルの次元数を減少させることである。この実施形態における画像圧縮装置は、画像全体をｎ×ｍ（ｎ、ｍは自然数）画素のブロックに切り分けるブロック化器２１と、画像のデータを１／ｄサイズになるよう、間引き処理、もしくは、縮小を行い、縦１／ｄ倍、横１／ｄ倍のデータを生成する（ｄは２以上の整数）サブサンプル器２２と、縮小した画像を切り出したブロックの各画素を要素とするベクトルとし、参照ベクトルの組から縮小画像ベクトルに最も近いベクトルを探し出し、そのベクトルを示すベクトル番号を出力するベクトル量子化器２３と、ベクトル量子化器２３から出力したベクトル番号から元の近似データであるベクトルを復元するベクトル復元器２４と、ベクトル復元器２４から得られた近似ベクトルを元のサイズに拡大する拡大データ生成器２５と、ブロック内の元画像から拡大ブロック生成器からの復元画像を差し引き、残り誤差ブロックを生成する誤差計算器２６と、誤差計算器２６からの誤差値のブロックを符号化するベクトル符号化とは異なるブロック単位の符号化を行うブロック符号化器２７と、ベクトル量子化器２３およびブロック符号化器２７の出力データをエントロピー符号化により可逆・可変長圧縮するエントロピー符号化器２８と、エントロピー符号化データを多重化する多重化器１７とからなる。
【００４４】
次に、本発明による画像圧縮方法と従来技術による画像圧縮方法の比較結果について説明する。
＜計算量＞
ベクトル量子化のみによる圧縮を行うことに比べ、本発明では細かい部分の変化を考慮したベクトルテーブルを省いた少ないベクトルテーブルだけを用意し、それを参照するようにしたため、最も時間がかかる処理の作業量が数分の一になり、今までベクトル量子化で問題となっていた圧縮速度が遅い特徴を解決できる。例えば、４×４画素のブロックサイズの２０４８ベクトルのコードブックを持つベクトル符号化を考えると、対象が１６個から４個のパラメータに、そしてコードブック自体もｘ、ｙ方向の変化がｘ方向への変化だけになるので少なくとも種類数が２分の一以下には減少するため計算量は１／８以下にすることができる。
【００４５】
＜画質＞
本発明では単一方向のベクトル量子化で再現できない大きな変化に直交する方向の画素値変動の分布や、空間的に細かい変化がを含む部分については、大まかなベクトル量子化で近似したブロックデータからの誤差として検出し、その誤差を別のベクトル量子化よりも計算量が少ない符号化方法によって圧縮する。この符号化データの復元時に個々のブロック内では２次元のベクトル符号化のデータで復元されるコードブック内にある画像と同等の画像を復号できるため、それを集めて復号した画像全体でも同様の画質を持つことになる。
図１７（ａ）（ｂ）に示すように最大傾きである矢印の方向の濃度変化を符号化・復号を行い、矢印と直行する方向に同じ色で塗り分ける形で復号を行い、ＢＴＣ符号化データは付加しないことで元画像と同じ画質が得られる。
また、図１７（ｃ）に示すように最大傾きである矢印方向に濃度変化を符号化・復号を行い矢印と直交する方向に同じ色で塗り分ける復号を行い、また図１７（ｃ）の下に示す部分を一定（白い部分ー暗い部分の差）だけ濃くする補正値を持つ補正値分布をＢＴＣ符号から（２値情報であるため誤差無く）復号し、以上の２つの値を合計することで元画像と同じ画質を得ることができる。
【００４６】
このように、人間が局所的に意識しやすい、べた塗りやグラデーション（図１７（ａ）に相当）や図１７（ｂ）のような規則的な色むら、および、それらの境目（図１７（ｃ））において本手法を用いても２次元のベクトル量子化と同等の画像に復元できる。さらに、二次元画素のベクトル量子化自体が、自然画像で人間が理解する画像の局所的な形としてベクトルテーブルに事前に準備するベクトルデータの多くに、先に説明した特徴をもったデータを含んでおり、これらを参照する番号を得ることにより、人間が気づきやすい部分のみを表現したデータとして圧縮している。このような自然画に対するベクトル量子化手法と比較すると本手法を用いても同じ特徴に対して、同じようなレベルでブロックごとの画像を復元することになる。これにより、復元時にベクトル量子化手法が人間が意識できる範囲で元画像と同程度の画質を得ることができるのと同様に、本手法も自然画をほとんど占める特徴について人間が意識できる範囲で元画像と同程度の画質を得ることができる。
【００４７】
＜ＢＴＣ符号化との比較＞
ブロック中の大まかな構造をベクトル量子化で圧縮しており、補正が行われＢＴＣ符号を付加するブロックはブロック内の構造が複雑な部分に限定され、自然画像のような複雑な部分が一部にしかない画像ではＢＴＣ符号化に比べて符号量が減少する。例えばベクトル量子化だけの部分が１１ｂｉｔ＋方向４ｂｉｔ（４×４のブロックであるた外周の１２画素より多い１６段階より細かくしても塗り分け方が変わらないため）＋ＢＴＣの有無１ｂｉｔ，ＢＴＣの符号量が３２ｂｉｔ（中心色、起伏量、起伏分布１６ｂｉｔ）であると考える。全面にＢＴＣを用いる場合には各ブロック３２ｂｉｔであり、本手法ではＢＴＣ符号化の補正がある部分は１６＋３２ｂｉｔ、補正が無い部分は１６ｂｉｔで表現できる。このことから複雑な部分が５０％よりも少ない場合に本手法で符号化した場合にＢＴＣよりも圧縮率が良くなる。また通常の自然画では複雑な部分が１０％程度であり、多い場合でもほとんどは４０％程度に収まる。このため自然画一般に用いるための（パラメータ調整をしない）符号化装置としてはＢＴＣに比べても圧縮率が良くなる。また、本手法はＢＴＣにくらべて画質が同等で圧縮率が良くなるといわれているベクトル符号化と同等の画質を持っているので、ＢＴＣとも得意、不得意の画像はあるが平均すると同等の画質となる。
【００４８】
＜文字などエッジと複雑なパターンをもつ画像に関する画質の従来のベクトル量子化との比較＞
ベクトル量子化では正確に表現しきれない文字を画像として取り込んだ場合のエッジなどについては、誤差値のブロックをブロック符号化するにあたりＢＴＣ法を用いることでエッジ特有の極端な起伏を各画素ごとに凹、凸を切り替える表現で表すことが可能となる。その際、元画像の細部まで再現するモデルとして誤差を近似するのに必要な機能を、２段階の量子化といった最小の情報量で表す事となる。一方、通常のベクトル量子化において全ての太さの文字を再現するためには全ての画素について濃淡の２値を入れ替えた２の１６乗のパターンを用意する必要があり、ベクトル検索に要する２の１６乗のオーダーの計算量から考えると実用的でない。このように、全ての文字パターンに対応したベクトルを用いて表現することができないベクトル量子化に比べ本手法を用いることにより、文字を含んだ画像について画質を向上させることができる。
【００４９】
なお、図１、１０、１５、１６における各処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより画像圧縮処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００５０】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００５１】
【発明の効果】
以上説明したように、この発明によれば、参照ベクトルテーブルおよびベクトル量子化器の構成とすることでベクトル量子化の対象となるデータの次元数を画素の面積からブロックの長さと減少させることになり、比較対象となる参照ベクトル数が減り、かつ、ベクトル当りの比較量を減少できる画像圧縮装置を提供することができる。この装置では一番大きく変化した方向をベクトル量子化で再現し、それより変化量が小さく、また、細かい変化を第二の量子化で実現することにより、ベクトル量子化の得意とする大まかな変化を表す部分を圧縮することをベクトル量子化に、また、細かな部分をそれ以外の符号化方法に分担させることが可能となる。この結果、高速化のためにやみくもにベクトルテーブル中の参照ベクトル数を減らす事に比べ画質を減らさず圧縮することが可能になるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の一実施形態の構成を示すブロック図である。
【図２】ブロックデータの一例を示す説明図である。
【図３】最大変化方向を示す説明図である。
【図４】起伏変化量の計算方法を示す説明図である。
【図５】エリア分割の方法を示す説明図である。
【図６】起伏変化量の一例を示す説明図である。
【図７】参照ベクトルテーブルの一例を示す説明図である。
【図８】中間計算値の一例を示す説明図である。
【図９】量子化パターンの一例を示す説明図である。
【図１０】装置の変形例を示すブロック図である。
【図１１】復元される面データの一例を示す説明図である。
【図１２】補正量ブロックの一例を示す説明図である。
【図１３】復号結果の一例を示す説明図である。
【図１４】復元結果を確認するための説明図である。
【図１５】他の実施形態における構成を示すブロック図である。
【図１６】他の実施形態における構成を示すブロック図である。
【図１７】効果を説明するための説明図である。
【符号の説明】
１・・・ブロック化器
２・・・最大変化方向検出器
２０・・・近似データ生成器
３・・・ベクトル量子化器
４・・・断面形状復元器
５・・・面データ復元器
６・・・誤差計算器
７・・・ブロック符号化器
７１・・・ＢＴＣ符号化器
７２・・・出力判定器
８・・・エントロピー符号化器
９・・・多重化器
１１・・・ブロック化器
１２・・・ベクトル量子化器
１３・・・ベクトル復元器
１４・・・誤差計算器
１５・・・ブロック符号化器
１６・・・エントロピー符号化器
１７・・・多重化器
２１・・・ブロック化器
２２・・・サブサンプル器
２３・・・ベクトル量子化器
２４・・・ベクトル復元器
２５・・・拡大ブロック生成器
２６・・・誤差計算器
２７・・・ブロック符号化器
２８・・・エントロピー符号化器
２９・・・多重化器
【図１】
2004312379.tif 000003
【図２】
2004312379.tif 000004
【図３】
2004312379.tif 000005
【図４】
2004312379.tif 000006
【図５】
2004312379.tif 000007
【図６】
2004312379.tif 000008
【図７】
2004312379.tif 000009
【図８】
2004312379.tif 000010
【図９】
2004312379.tif 000011
【図１０】
2004312379.tif 000012
【図１１】
2004312379.tif 000013
【図１２】
2004312379.tif 000014
【図１３】
2004312379.tif 000015
【図１４】
2004312379.tif 000016
【図１５】
2004312379.tif 000017
【図１６】
2004312379.tif 000018
【図１７】
2004312379.tif 000019