(57)【特許請求の範囲】
【請求項１】
直交変換処理により係数データに変換された後、量子化された画像データを復号する画像データ処理装置において、
複数の前記係数データをクラス分類するためのテーブル情報を保持する保持手段と、
前記保持手段に保持されている前記テーブル情報に基づいて、クラスコードを生成するクラスコード生成手段と、
前記クラスコード生成手段により生成された前記クラスコードに基づいて、予測係数セットを生成する予測係数生成手段と、
前記クラスコード生成手段により生成された前記クラスコードに基づいて、予測タップを生成する予測タップ生成手段と、
前記予測係数生成手段により生成された前記予測係数セットと、前記予測タップ生成手段により生成された前記予測タップに基づいて、画素データを生成する画素データ生成手段と
を備えることを特徴とする画像データ処理装置。
【請求項２】
前記保持手段は、前記テーブル情報として、複数の前記係数データ、または前記係数データに対応する特徴量との関係を記述したテンプレートを保持する
ことを特徴とする請求項１に記載の画像データ処理装置。
【請求項３】
前記保持手段は、前記テーブル情報として、複数の前記係数データ、または前記係数データに対応する特徴量からなるベクトルが格納されたコードブックを保持し、
前記クラスコード生成手段は、前記コードブックを用いて前記係数データをベクトル量子化して、前記クラスコードを生成する
ことを特徴とする請求項１に記載の画像データ処理装置。
【請求項４】
前記コードブックは、ＬＢＧアルゴリズムに基づいて生成されている
ことを特徴とする請求項３に記載の画像データ処理装置。
【請求項５】
前記クラスコード生成手段は、閾値判定処理を行う
ことを特徴とする請求項１に記載の画像データ処理装置。
【請求項６】
直交変換処理により係数データに変換された後、量子化された画像データを復号する画像データ処理装置の画像データ処理方法において、
複数の前記係数データをクラス分類するためのテーブル情報を保持する保持ステップと、
前記保持ステップの処理により保持されている前記テーブル情報に基づいて、クラスコードを生成するクラスコード生成ステップと、
前記クラスコード生成ステップの処理により生成された前記クラスコードに基づいて、予測係数セットを生成する予測係数生成ステップと、
前記クラスコード生成ステップの処理により生成された前記クラスコードに基づいて、予測タップを生成する予測タップ生成ステップと、
前記予測係数生成ステップの処理により生成された前記予測係数セットと、前記予測タップ生成ステップの処理により生成された前記予測タップに基づいて、画素データを生成する画素データ生成ステップと
を含むことを特徴とする画像データ処理方法。
【請求項７】
前記保持ステップは、前記テーブル情報として、複数の前記係数データ、または前記係数データに対応する特徴量との関係を記述したテンプレートを保持する
ことを特徴とする請求項６に記載の画像データ処理方法。
【請求項８】
前記保持ステップは、前記テーブル情報として、複数の前記係数データ、または前記係数データに対応する特徴量からなるベクトルが格納されたコードブックを保持し、
前記クラスコード生成ステップは、前記コードブックを用いて前記係数データをベクトル量子化して、前記クラスコードを生成する
ことを特徴とする請求項７に記載の画像データ処理方法。
【請求項９】
前記コードブックは、ＬＢＧアルゴリズムに基づいて生成されている
ことを特徴とする請求項８に記載の画像データ処理方法。
【請求項１０】
前記クラスコード生成ステップは、閾値判定処理を行う
ことを特徴とする請求項６に記載の画像データ処理方法。
【請求項１１】
直交変換処理により係数データに変換された後、量子化された画像データを復号する画像データ処理装置のプログラムであって、
複数の前記係数データをクラス分類するためのテーブル情報を保持する保持ステップと、
前記保持ステップの処理により保持されている前記テーブル情報に基づいて、クラスコードを生成するクラスコード生成ステップと、
前記クラスコード生成ステップの処理により生成された前記クラスコードに基づいて、予測係数セットを生成する予測係数生成ステップと、
前記クラスコード生成ステップの処理により生成された前記クラスコードに基づいて、予測タップを生成する予測タップ生成ステップと、
前記予測係数生成ステップの処理により生成された前記予測係数セットと、前記予測タップ生成ステップの処理により生成された前記予測タップに基づいて、画素データを生成する画素データ生成ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１２】
直交変換処理により係数データに変換された後、量子化された画像データを復号する画像データ処理装置を制御するコンピュータに、
複数の前記係数データをクラス分類するためのテーブル情報を保持する保持ステップと、
前記保持ステップの処理により保持されている前記テーブル情報に基づいて、クラスコードを生成するクラスコード生成ステップと、
前記クラスコード生成ステップの処理により生成された前記クラスコードに基づいて、予測係数セットを生成する予測係数生成ステップと、
前記クラスコード生成ステップの処理により生成された前記クラスコードに基づいて、予測タップを生成する予測タップ生成ステップと、
前記予測係数生成ステップの処理により生成された前記予測係数セットと、前記予測タップ生成ステップの処理により生成された前記予測タップに基づいて、画素データを生成する画素データ生成ステップと
を実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像データ処理装置および方法、記録媒体、並びにプログラムに関し、特に、圧縮された画像データを、簡単な構成で復号できるようにした画像データ処理装置および方法、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
例えば、ディジタル画像データは、そのデータ量が多いため、そのまま記録や伝送を行うには、大容量の記録媒体や伝送媒体が必要となる。そこで、一般には、画像データを圧縮符号化することにより、そのデータ量を削減してから、記録や伝送が行われる。
【０００３】
画像を圧縮符号化する方式としては、例えば、静止画の圧縮符号化方式であるJPEG(Joint Photographic Experts Group)方式や、動画の圧縮符号化方式であるMPEG(Moving Picture Experts Group)方式等がある。
【０００４】
例えば、JPEG方式による画像データの符号化は、図１に示すように行われる。
【０００５】
符号化対象の画像データは、ブロック化回路１に入力され、ブロック化回路１は、そこに入力される画像データを、８×８画素の６４画素でなるブロックに分割する。ブロック化回路１で得られる各ブロックは、DCT(Discrete Cosine Transform)回路２に供給される。DCT回路２は、ブロック化回路１からのブロックに対して、DCT（離散コサイン変換）処理を施し、１個のＤＣ(Direct Current)成分と、水平方向および垂直方向についての６３個の周波数成分（ＡＣ(Alternating Current)成分）の、合計６４個のDCT係数に変換する。各ブロックごとの６４個のDCT係数は、DCT回路２から量子化回路３に供給される。
【０００６】
量子化回路３は、所定の量子化テーブルにしたがって、DCT回路２からのDCT係数を量子化し、その量子化結果（以下、適宜、量子化DCT係数という）を、量子化に用いた量子化テーブルとともに、エントロピー符号化回路４に供給する。
【０００７】
図２は、量子化回路３において用いられる量子化テーブルの例を示している。
量子化テーブルには、一般に、人間の視覚特性を考慮して、重要性の高い低周波数のDCT係数は細かく量子化し、重要性の低い高周波数のDCT係数は粗く量子化するような量子化ステップが設定されており、これにより、画像の画質の劣化を抑えて、効率の良い圧縮が行われるようになっている。
【０００８】
エントロピー符号化回路４は、量子化回路３からの量子化DCT係数に対して、例えば、ハフマン符号化等のエントロピー符号化処理を施して、量子化回路３からの量子化テーブルを付加し、その結果得られる符号化データを、JPEG符号化結果として出力する。
【０００９】
図３は、図１のJPEG符号化装置が出力する符号化データを復号する、従来のJPEG復号装置の一例の構成を示している。
【００１０】
符号化データは、エントロピー復号回路１１に入力され、エントロピー復号回路１１は、符号化データを、エントロピー符号化された量子化DCT係数と、量子化テーブルとに分離する。さらに、エントロピー復号回路１１は、エントロピー符号化された量子化DCT係数をエントロピー復号し、その結果得られる量子化DCT係数を、量子化テーブルとともに、逆量子化回路１２に供給する。逆量子化回路１２は、エントロピー復号回路１１からの量子化DCT係数を、同じくエントロピー復号回路１１からの量子化テーブルにしたがって逆量子化し、その結果得られるDCT係数を、逆DCT回路１３に供給する。逆DCT回路１３は、逆量子化回路１２からのDCT係数に、逆DCT処理を施し、その結果られる８×８画素の（復号）ブロックを、ブロック分解回路１４に供給する。ブロック分解回路１４は、逆DCT回路１３からのブロックのブロック化を解くことで、復号画像を得て出力する。
【００１１】
【発明が解決しようとする課題】
上記のようなDCT等の直交変換を用いた圧縮符号化において、圧縮率を高くするために各係数データに対する量子化を粗くすると、原画像に対する復号画像の誤差が増大し、復号画像に劣化が生じる。その劣化は、画像のボケ、ブロック歪み、及びエッジ周辺のモスキートノイズといった形で現れ、大きな問題となっている。
【００１２】
本発明は、このような状況に鑑みてなされたものであり、情報量を増大させることなく、量子化誤差を低減したよい良好な復号画像を得ることができるようにするものである。
【００１３】
【課題を解決するための手段】
本発明の画像データ処理装置は、複数の係数データをクラス分類するためのテーブル情報を保持する保持手段と、保持手段に保持されているテーブル情報に基づいて、クラスコードを生成するクラスコード生成手段と、クラスコード生成手段により生成されたクラスコードに基づいて、予測係数セットを生成する予測係数生成手段と、クラスコード生成手段により生成されたクラスコードに基づいて、予測タップを生成する予測タップ生成手段と、予測係数生成手段により生成された予測係数セットと、予測タップ生成手段により生成された予測タップに基づいて、画素データを生成する画素データ生成手段とを備えることを特徴とする。
【００１４】
前記保持手段は、テーブル情報として、複数の係数データ、または係数データに対応する特徴量との関係を記述したテンプレートを保持することができる。
【００１５】
前記保持手段は、テーブル情報として、複数の係数データ、または係数データに対応する特徴量からなるベクトルが格納されたコードブックを保持し、クラスコード生成手段は、コードブックを用いて係数データをベクトル量子化して、クラスコードを生成することができる。
【００１６】
前記コードブックは、ＬＢＧアルゴリズムに基づいて生成されているようにすることができる。
【００１７】
前記クラスコード生成手段は、閾値判定処理を行うことができる。
【００１８】
本発明の画像データ処理方法は、複数の係数データをクラス分類するためのテーブル情報を保持する保持ステップと、保持ステップの処理により保持されているテーブル情報に基づいて、クラスコードを生成するクラスコード生成ステップと、クラスコード生成ステップの処理により生成されたクラスコードに基づいて、予測係数セットを生成する予測係数生成ステップと、クラスコード生成ステップの処理により生成されたクラスコードに基づいて、予測タップを生成する予測タップ生成ステップと、予測係数生成ステップの処理により生成された予測係数セットと、予測タップ生成ステップの処理により生成された予測タップに基づいて、画素データを生成する画素データ生成ステップとを含むことを特徴とする。
【００１９】
前記保持ステップは、テーブル情報として、複数の係数データ、または係数データに対応する特徴量との関係を記述したテンプレートを保持することができる。
【００２０】
前記保持ステップは、テーブル情報として、複数の係数データ、または係数データに対応する特徴量からなるベクトルが格納されたコードブックを保持し、クラスコード生成ステップは、コードブックを用いて係数データをベクトル量子化して、クラスコードを生成することができる。
【００２１】
前記コードブックは、ＬＢＧアルゴリズムに基づいて生成されているようにすることができる。
【００２２】
前記クラスコード生成ステップは、閾値判定処理を行うことができる。
【００２３】
本発明の記録媒体のプログラムは、直交変換処理により係数データに変換された後、量子化された画像データを復号する画像データ処理装置のプログラムであって、複数の係数データをクラス分類するためのテーブル情報を保持する保持ステップと、保持ステップの処理により保持されているテーブル情報に基づいて、クラスコードを生成するクラスコード生成ステップと、クラスコード生成ステップの処理により生成されたクラスコードに基づいて、予測係数セットを生成する予測係数生成ステップと、クラスコード生成ステップの処理により生成されたクラスコードに基づいて、予測タップを生成する予測タップ生成ステップと、予測係数生成ステップの処理により生成された予測係数セットと、予測タップ生成ステップの処理により生成された予測タップに基づいて、画素データを生成する画素データ生成ステップとを含むことを特徴とする。
【００２４】
本発明のプログラムは、直交変換処理により係数データに変換された後、量子化された画像データを復号する画像データ処理装置を制御するコンピュータに、複数の係数データをクラス分類するためのテーブル情報を保持する保持ステップと、保持ステップの処理により保持されているテーブル情報に基づいて、クラスコードを生成するクラスコード生成ステップと、クラスコード生成ステップの処理により生成されたクラスコードに基づいて、予測係数セットを生成する予測係数生成ステップと、クラスコード生成ステップの処理により生成されたクラスコードに基づいて、予測タップを生成する予測タップ生成ステップと、予測係数生成ステップの処理により生成された予測係数セットと、予測タップ生成ステップの処理により生成された予測タップに基づいて、画素データを生成する画素データ生成ステップとを実行させる。
【００２９】
本発明の画像データ処理装置および方法、記録媒体、並びにプログラムにおいては、複数の係数データをクラス分類するためのテーブル情報に基づいて、クラスコードが生成され、生成されたクラスコードに基づいて、予測係数セットと予測タップが生成される。そして、予測係数セットと、予測タップに基づいて、画素データが生成される。
【００３１】
【発明の実施の形態】
次に、図４は、本発明を適用した復号装置６０の構成例を示している。
【００３２】
符号化データは、エントロピー復号回路６１に供給され、エントロピー復号回路６１は、符号化データを、エントロピー復号して、その結果得られるブロックごとの量子化DCT係数Ｑを、係数データ変換回路６２に供給する。なお、符号化データには、図３のエントロピー復号回路１１で説明した場合と同様に、エントロピー符号化された量子化DCT係数の他、量子化テーブルも含まれるが、量子化テーブルは、後述するように、必要に応じて、量子化DCT係数の復号に用いることが可能である。
【００３３】
係数データ変換回路６２は、エントロピー復号回路６１からの量子化DCT係数Ｑと、後述する学習を行うことにより求められる予測係数を用いて、所定の予測演算を行うことにより、ブロックごとの量子化DCT係数を、８×８個の元の画素データのブロックに復号する。
【００３４】
ブロック分解回路６３は、係数データ変換回路６２において得られる、復号されたブロック（復号ブロック）のブロック化を解くことで、復号画像を得て出力する。
【００３５】
次に、図５のフローチャートを参照して、図４の復号装置６０の処理について説明する。
【００３６】
符号化データは、エントロピー復号回路６１に順次供給され、ステップＳ１において、エントロピー復号回路６１は、符号化データをエントロピー復号し、ブロックごとの量子化DCT係数Ｑを、係数データ変換回路６２に供給する。係数データ変換回路６２は、ステップＳ２において、エントロピー復号回路６１からのブロックごとの量子化DCT係数Ｑを、予測係数を用いた予測演算を行うことにより、ブロックごとの画素値に復号し、ブロック分解回路６３に供給する。ブロック分解回路６３は、ステップＳ３において、係数データ変換回路６２からの画素値のブロック（復号ブロック）のブロック化を解くブロック分解を行い、その結果得られる復号画像を出力して、処理を終了する。
【００３７】
図６は、量子化DCT係数を画素値に復号する、図４の係数データ変換回路６２のより詳細な構成例を示している。
【００３８】
エントロピー復号回路６１（図４）が出力するブロックごとの量子化DCT係数は、予測タップ抽出回路８１およびクラス分類回路８３に供給されるようになっている。
【００３９】
予測タップ抽出回路８１は、そこに供給される量子化DCT係数のブロック（以下、適宜、DCTブロックという）に対応する画素値のブロック（この画素値のブロックは、現段階では存在しないが、仮想的に想定される）（以下、適宜、画素ブロックという）を、順次、注目画素ブロックとし、さらに、その注目画素ブロックを構成する各画素を、例えば、いわゆるラスタスキャン順に、順次、注目画素とする。さらに、予測タップ抽出回路８１は、注目画素の画素値を予測するのに用いる量子化DCT係数を、予測タップテーブル８６を参照することで抽出し、予測タップとする。
【００４０】
予測タップテーブル８６は、注目画素についての予測タップとして抽出する量子化DCT係数の、注目画素に対する位置関係を表したパターン情報が登録されているパターンテーブルであり、予測タップ抽出回路８１は、そのパターン情報に基づいて、量子化DCT係数を抽出し、注目画素についての予測タップを構成する。
【００４１】
予測タップ抽出回路８１は、８×８の６４画素でなる画素ブロックを構成する各画素についての予測タップ、即ち、６４画素それぞれについての６４セットの予測タップを、上述のようにして構成し、積和演算回路８５に供給する。
【００４２】
クラス分類回路８３は、コードブック８２に格納されている代表ベクトルに基づいて、注目DCTブロックのDCT係数(AC係数)をベクトル量子化することにより、注目DCTブロックを幾つかのクラスのうちのいずれかに分類し、その結果得られるクラスに対応するクラスコードと画素位置モードを出力する（その処理の詳細は、図９と図１０を参照して後述する）。画素位置モードは、注目画素ブロックの、注目画素となっている画素の位置に対応した動作モードを意味する。
【００４３】
クラス分類回路８３が出力するクラスコードは、予測係数テーブル８４および予測タップテーブル８６に、アドレスとして与えられる。
【００４４】
予測係数テーブル８４には、画素値の予測に用いられる予測係数が、クラス毎及び画素位置モード毎に予め格納されている。この予測係数テーブル８４の作成方法については、図１１と図１２を参照して後述する。予測係数テーブル８４は、クラス分類回路８３から供給されるクラスコード、及び画素位置モードに応じて予測係数セットを選択し、積和演算回路８５へ出力する。
【００４５】
積和演算回路８５は、予測タップ抽出回路８１から供給される予測タップセットと、予測係数テーブル８４から得られる予測係数セットの積和演算を行い、その結果を画素データ(PD)として出力する。
【００４６】
すなわち、積和演算回路８５は、予測タップセットがTD1、TD2、TD3、TD4、TD5、予測係数セットがFC1、FC2、FC3、FC4、FC5の場合、画素データPDを、次式で表されるように演算する。
0004649770.tif 000002
（１）
【００４７】
本実施の形態では、画素ブロックがクラス分類されるから、注目画素ブロックについて、１つのクラスコードが得られる。一方、画素ブロックは、本実施の形態では、８×８画素の６４画素で構成されるから、注目画素ブロックについて、それを構成する６４画素それぞれを復号するための６４セットの予測係数が必要である。従って、予測係数テーブル８４には、１つのクラスコード毎に、対応するアドレスに対して、６４セットの予測係数が記憶されている。
【００４８】
積和演算回路８５は、予測タップ抽出回路８１が出力する予測タップと、予測係数テーブル８４が出力する予測係数とを取得し、その予測タップと予測係数とを用いて、式（１）に示した線形予測演算（積和演算）を行い、その結果得られる注目画素ブロックの８×８画素の画素値を、対応するDCTブロックの復号結果として、ブロック分解回路６３（図４）に出力する。
【００４９】
予測タップ抽出回路８１においては、上述したように、注目画素ブロックの各画素が、順次、注目画素とされるが、積和演算回路８５は、注目画素ブロックの、注目画素となっている画素の位置に対応した動作モード（ずなわち、画素位置モード）の処理を行う。
【００５０】
例えば、注目画素ブロックの画素のうち、ラスタスキャン順で、ｉ番目の画素を、ｐiと表し、画素ｐiが、注目画素となっている場合、積和演算回路８５は、画素位置モード＃ｉの処理を行う。
【００５１】
具体的には、上述したように、予測係数テーブル８４は、注目画素ブロックを構成する６４画素それぞれを復号するための６４セットの予測係数を格納しているが、そのうちの画素ｐiを復号するための予測係数のセットをＷiと表すと、積和演算回路８５には、動作モードが、画素位置モード＃ｉのときには、セットＷiが出力される。同時に、予測タップ抽出回路８１からは、画素位置モード＃ｉの予測タップＴiが出力され、積和演算回路８５では、予測タップＴiと、予測係数セットＷiとを用いて、式（１）の積和演算を行い、その積和演算結果を、画素ｐiの復号結果とする。
【００５２】
予測タップテーブル８６には、画素値の予測に用いられる予測タップの位置、すなわち、どのDCT係数を予測に用いるかの情報が予め格納されている。予測タップテーブル８６は、クラス分類回路８３から供給されるクラスコード、及び画素位置モードに応じて、予測タップ位置セットを予測タップ抽出回路８１へ出力する。
【００５３】
予測タップ抽出回路８１は、予測タップテーブル８６から供給される予測タップ位置セットに基づき、各予測タップ位置に対応するDCT係数データを抽出し、それらを予測タップセットとして積和演算回路８５へ出力する。
【００５４】
ここで、予測タップテーブル８６においても、予測係数テーブル８４について説明したのと同様の理由から、１つのクラスコードに対応するアドレスに対して、６４セットのパターン情報（各画素位置モードごとのパターン情報）が記憶されている。
【００５５】
次に、図７のフローチャートを参照して、図６の係数データ変換回路６２の処理について説明する。
【００５６】
エントロピー復号回路６１が出力するブロックごとの量子化DCT係数は、予測タップ抽出回路８１およびクラス分類回路８３において順次受信され、そこに供給される量子化DCT係数のブロック（DCTブロック）に対応する画素ブロックが、順次、注目画素ブロックとされる。また、注目画素ブロックのが画素のうち、ラスタスキャン順で、まだ注目されていない画素が注目画素とされる。
【００５７】
クラス分類回路８３は、ステップＳ１１において、コードブック８２に格納されている代表ベクトルを用いて、注目DCTブロックをベクトル量子化することでクラス分類する。すなわち、クラス分類回路８３は、入力された係数データとの距離が最小となる代表ベクトルをコードブック８２から検索し、その代表ベクトルに対応するクラスコードをその係数データのクラスコードとする。クラス分類回路８３は、クラスコードと画素位置モード（画素ブロック内における画素の位置）を、予測係数テーブル８４および予測タップテーブル８６に出力する。このクラス分類処理の詳細は、図９と図１０を参照して後述する。
【００５８】
予測タップテーブル８６は、クラス分類回路８３からアドレスとしてクラスコードと画素位置モードを受信すると、ステップＳ１２において、そのアドレスに記憶されているパターン情報を読み出し、予測タップ抽出回路８１に出力する。
【００５９】
そして、ステップＳ１３に進み、予測タップ抽出回路８１は、予測タップテーブル８６から供給されるクラスコード、および注目画素の画素位置モードに対応するパターン情報にしたがって、その注目画素の画素値を予測するのに用いる量子化DCT係数を抽出し、予測タップとして構成する。この予測タップは、予測タップ抽出回路８１から積和演算回路８５に供給される。
【００６０】
予測係数テーブル８４は、クラス分類回路８３からアドレスとしてクラスコードと画素位置モードを受信すると、ステップＳ１４おいて、そのアドレスに記憶されている予測係数を読み出し、積和演算回路８５に出力する。
【００６１】
積和演算回路８５は、ステップＳ１５において、クラスコードおよび注目画素に対する画素位置モードに対応する予測係数のセットを取得し、その予測係数のセットと、ステップＳ１３で予測タップ抽出回路８１から供給された予測タップとを用いて、式（１）に示した積和演算を行い、注目画素の画素値の復号値を得る。
【００６２】
そして、ステップＳ１６に進み、クラス分類回路８３は、注目画素ブロックのすべての画素を、注目画素として処理したかどうかを判定する。ステップＳ１６において、注目画素ブロックのすべての画素を、注目画素として、まだ処理していないと判定された場合、ステップＳ１２に戻り、クラス分類回路８３は、注目画素ブロックの画素のうち、ラスタスキャン順で、まだ、注目画素とされていない画素を、新たに注目画素として、以下、同様の処理を繰り返す。
【００６３】
また、ステップＳ１６において、注目画素ブロックのすべての画素を、注目画素として処理したと判定された場合、即ち、注目画素ブロックのすべての画素の復号値が得られた場合、積和演算回路８５は、その復号値で構成される画素ブロック（復号ブロック）を、ブロック分解回路６３（図４）に出力し、処理を終了する。
【００６４】
このように、図７のフローチャートにしたがった処理は、係数データ変換回路６２が、新たな注目画素ブロックを設定するごとに繰り返し行われる。
【００６５】
図８は、コードブック８２を生成する回路の構成例を示している。この例においては、コードブック生成回路９１が、入力された周波数領域の係数データに基づいて、LBGアルゴリズムに基づいて学習し、複数の代表ベクトルからなるコードブックを生成する。
【００６６】
図９は、クラス分類回路８３の構成を示す。上述したように、この実施の形態では、入力された係数データとの距離が最小となる代表ベクトルをコードブック８２から検索することでクラスコードが決定される。この場合における距離の定義としては様々なものが考えられるが、図９の例では、代表ベクトルと入力ベクトル（入力されたDCT係数データ）のなす角度が距離として用いられる。代表ベクトルをTk、入力ベクトルをSとすると、両者のなす角度θkは、次式により求めることができる。
【数１】
0004649770.tif 000003
ただし、Tk・SはTkとSの内積を、||Tk||はTkのノルムを、||Ｓ||はＳのノルムを、それぞれ表す。
【００６７】
入力ベクトル抽出回路１０１は、注目ブロックの６４個のDCT係数のうち、63個のAC係数を抽出し、入力ベクトルとして内積回路１０２とノルム算出回路１０５に供給する。内積回路１０２は、コードブック８２内の代表ベクトルと、入力ベクトル抽出回路１０１からの入力ベクトルの内積を算出し、cosθ算出回路１０４に出力する。ノルム算出回路１０３は、コードブック８２からの代表ベクトルのノルムを算出し、cosθ算出回路１０４に出力する。ノルム算出回路１０５は、入力ベクトル抽出回路１０１からの入力ベクトルのノルムを算出し、cosθ算出回路１０４に出力する。
【００６８】
cosθ算出回路１０４は、内積回路１０２からの代表ベクトルと入力ベクトルの内積、ノルム算出回路１０３からの代表ベクトルのノルム、及びノルム算出回路１０５からの入力ベクトルのノルムからcosθkを（＝（Ｔk・Ｓ）／（||Tk||||Ｓ||））求め、cos-1回路１０６に出力する。cos-1回路１０６は、角度θkを算出し、最小値選択回路１０７に出力する。最小値選択回路１０７は、入力ベクトルとすべての代表ベクトルとのなす角度の中から、角度が最も小さい代表ベクトルを選択し、その代表ベクトルの番号をクラスコードとして出力する。
【００６９】
次に、図１０のフローチャートを参照して、図９のクラス分類回路８３の動作について説明する。最初に、ステップＳ３１において、入力ベクトル抽出回路１０１は、入力されたDCT係数から入力ベクトルを抽出する。ステップＳ３２において、代表ベクトルと入力ベクトルとの成す角度が算出される。
【００７０】
すなわち、上述したように、内積回路１０２は、入力ベクトル抽出回路１０１より供給された入力ベクトルと、コードブック８２より供給された１つの代表ベクトルとの内積を演算し、COSθ算出回路１０４に供給する。ノルム算出回路１０３は、コードブック８２により供給された代表ベクトルのノルムを算出し、COSθ算出回路１０４に供給する。
【００７１】
ノルム算出回路１０５は、入力ベクトル抽出回路１０１より供給された入力ベクトルのノルムを算出し、COSθ算出回路１０４に供給する。
【００７２】
COSθ算出回路１０４は、内積回路１０２から供給された内積、並びにノルム算出回路１０３とノルム算出回路１０５より供給されたノルムに基づいて、COSθを算出し、COS-1回路１０６に供給する。COS-1回路１０６は、入力されたCOSθから角度θを算出する。
【００７３】
ステップＳ３３において、全ての代表ベクトルと入力ベクトルとの角度が算出されたか否かが最小値選択回路１０７により判定され、まだ、角度が算出されていない代表ベクトルが存在する場合には、ステップＳ３１に戻り、それ以降の処理が繰り返し実行される。
【００７４】
以上のようにして、入力ベクトルと、全ての代表ベクトルとの角度θが算出されたと判定された場合、ステップＳ３４に進み、最小値選択回路１０７は、角度θが最小である代表ベクトルを選択する。そして、ステップＳ３５において、最小値選択回路１０７は、ステップＳ３４で選択した代表ベクトル番号をクラスコードとして出力する。
【００７５】
図１１に予測係数テーブル８４を学習により生成する予測係数テーブル生成回路の構成の一例を示す。入力されたディジタルビデオ信号は、ブロック化回路１２１においてブロック化処理が施され、DCT回路１２２へ供給される。DCT回路１２２はブロック毎にDCT変換を行い、DCT係数を量子化回路１２３へ出力する。量子化回路１２３に供給された係数データはそこで量子化され、クラス分類回路１２４及び予測タップ抽出回路１２９に供給される。クラス分類回路１２４は、図９と図１０を参照して説明した場合と同様に、テーブル１３０に記憶されているコードブックを利用して、注目ブロックからクラスコードを生成し、正規方程式加算回路１２５へ供給する。予測タップ抽出回路１２９は、予測タップテーブル１２６からの予測タップ位置情報に基づき、量子化回路１２３の出力である量子化DCT係数データから予測タップを抽出し、正規方程式加算回路１２５に出力する。
【００７６】
ここで、正規方程式加算回路１２５において用いられる正規方程式について説明する。画素データPD1とその補正に用いる量子化DCT係数データQD1乃至QDnを用いた線形推定式を式(2)に示す。
PD1＝w1QD1＋w2QD2＋…＋wnQDn                        （２）
【００７７】
学習前は予測係数w1乃至wnが未定である。この予測係数はクラス及び画素位置モード毎に用意する必要があるので、実際はその夫々について式を設定しなければならない。
【００７８】
学習は複数の信号データに対して行う。データ数がmの場合、式(２)より、
PD1j＝w1QD1j＋w2QD2j＋…＋wnQDnj,  j=1,2,…,m        （３）
となる。m>nの場合、w1乃至wnは一意に決まらないので、誤差ベクトルEの要素をej＝PD1j-(w1QD1j＋w2QD2j＋…＋wnQDnj),  j=1,2,…,m    （４）
と定義して、下記に示す式を最小にする係数を求める。
【数２】
0004649770.tif 000004
【００７９】
すなわち、最小二乗法による解法である。ここで、式(5)のwiによる偏微分係数を求める。
【数３】
0004649770.tif 000005
式(6)を0にするように各wiを求めれば良いので、
【数４】
0004649770.tif 000006
として行列を用いると、
【数５】
0004649770.tif 000007
となる。この方程式は一般に正規方程式と呼ばれている。正規方程式加算回路１２５はこの正規方程式の加算を行う。
【００８０】
全ての学習データの入力が終了した後、正規方程式加算回路１２５は、予測係数決定回路１２７へ正規方程式データを出力する。予測係数決定回路１２７は、正規方程式を掃き出し法等の一般的な行列解法を用いてwiについて解き、予測係数を算出する。予測係数決定回路１２７は、算出された予測係数を予測係数メモリ１２８へ書き込む。
【００８１】
上記のような学習の結果、予測係数メモリ１２８には、注目画素データPD1を推定するための、統計的に最も真値に近い予測係数が格納される。格納された各予測係数は、復号時にフィルタ係数として用いられる（予測係数メモリ１２８の記憶内容は、予測係数テーブル８４として用いられる）。
【００８２】
次に、図１２のフローチャートを参照して、図１１の予測係数テーブル生成回路の処理について説明する。ステップＳ５１において、ブロック化回路１２１は、ブロック化処理を行う。ステップＳ５２において、DCT回路１２２は、ブロック化回路１２１より供給された画素データをDCT処理し、量子化回路１２３に出力する。量子化回路１２３は、ステップＳ５３において、DCT回路１２２より供給されたDCT係数を量子化し、クラス分類回路１２４と正規方程式加算回路１２５に出力する。
【００８３】
ステップＳ５４において、クラス分類回路１２４は、クラス分類処理を行い、得られたクラスコードを、正規方程式加算回路１２５に出力する。
【００８４】
ステップＳ５５において、予測タップテーブル１２６は、予測タップを抽出し、正規方程式加算回路１２５に出力する。正規方程式加算回路１２５は、ステップＳ５６において、正規方程式加算処理を行う。
【００８５】
ステップＳ５７において、正規方程式加算回路１２５は、全てのブロックについての処理が終了したか否かを判定し、まだ終了していない場合には、ステップＳ５２に戻り、それ以降の処理を繰り返し実行する。
【００８６】
ステップＳ５７において、全てのブロックについての処理が終了したと判定された場合、ステップＳ５８に進み、予測係数決定回路１２７は、予測係数を算出し、予測係数メモリ１２８に供給し、記憶させる。
【００８７】
以上においては、コードブック８２に各ブロックの６４個のDCT係数のうちの６３個のAC係数を全て代表ベクトルとして用いるようにしたが、例えば、図１３に示されるように、図中灰色で示される低域のAC係数のみを、代表ベクトルとして用いるようにすることも可能である。この場合、入力ベクトル抽出回路１０１は、対応する低域のAC係数のみを抽出する。
【００８８】
この場合におけるクラス分類回路８３とその処理は、図９と図１０に示される場合と同様となる。
【００８９】
図１４は、コードブックを構成する代表ベクトルのさらに他の例を示している。この例では、注目ブロックだけでなく、注目ブロックの上下左右に隣接する周辺ブロックのDCT係数（低域のAC係数）も含めたベクトルによりコードブックが作成される。
【００９０】
この実施の形態におけるクラス分類回路８３の構成を図１５に示す。本実施の形態では、代表ベクトルと入力ベクトルの差分自乗和が距離dと定義され、次式により求められる。ただし、入力ベクトルをS、代表ベクトルをTk、とする。
【数６】
0004649770.tif 000008
【００９１】
入力ベクトル抽出回路１０１は、ベクトルの成分となるDCT係数を抽出し、入力ベクトルとしてベクトル差分回路１４１に供給する。ベクトル差分回路１４１は、コードブック８２からの代表ベクトルと、入力ベクトル抽出回路１０１からの入力ベクトルの差分を算出し、自乗和回路１４２に出力する。自乗和回路１４２は、代表ベクトルと入力ベクトルの差分の自乗和を求め、最小値選択回路１０７に出力する。最小値選択回路１０７は、入力ベクトルとすべての代表ベクトルとの距離の中から、最小値を選択し、それに対応する代表ベクトルの番号をクラスコードとして出力する。
【００９２】
次に、図１６のフローチャートを参照して図１５のクラス分類回路８３の処理について説明する。
【００９３】
最初に、ステップＳ７１において、入力ベクトル抽出回路１０１は、DCT係数から入力ベクトルを抽出する。ステップＳ７２において、ベクトル差分回路１４１は、入力ベクトル抽出回路１０１より供給された入力ベクトルと、コードブック８２より供給された代表ベクトルの差分を算出する。
【００９４】
ベクトル差分回路１４１で演算されたベクトル差分の値は、自乗和回路１４２に供給され、その自乗和が演算される。演算された自乗和は、最小値選択回路１０７に供給される。
【００９５】
ステップＳ７３において、自乗和（距離）の演算が、全ての代表ベクトルについて行われたか否かが最小値選択回路１０７により判定され、まだ処理されていない代表ベクトルが存在する場合には、ステップＳ７１に戻り、それ以降の処理が繰り返し実行される。
【００９６】
ステップＳ７３において、全ての代表ベクトルについての処理が行われたと判定された場合、ステップＳ７４に進み、最小値選択回路１０７は、距離が最小の代表ベクトルを選択する。
【００９７】
ステップＳ７５において、最小値選択回路１０７は、ステップＳ７４で選択された距離が最小の代表ベクトルの番号をクラスコードとして出力する。
【００９８】
コードブック８２に格納するベクトルの成分として、DCT係数をそのまま用いるのではなく、DCT係数から求まる特徴量を用いることができる。
【００９９】
この実施の形態におけるクラス分類回路８３の構成を図１７に、その処理を図１８に、それぞれ示す。
【０１００】
図１７のクラス分類回路８３では、図１５における入力ベクトル抽出回路１０１に代えて、特徴量抽出回路１５１が設けられている。また、図１６のステップＳ７１において、DCT係数から入力ベクトル抽出回路１０１により、入力ベクトルが抽出されるのに代えて、ステップＳ９１において、特徴量抽出回路１５１により、DCT係数から特徴量が算出され、入力ベクトルとされる。以上の点を除き、その構成と処理は、図１５と図１６に示される場合と基本的に同様である。
【０１０１】
図１９は、検出される特徴量の例を表している。この例においては、８×８個の画素が、水平方向と垂直方向において低域の領域、水平方向が高域で垂直方向が低域の領域、垂直方向が高域で水平方向が低域の領域、並びに水平方向と垂直方向の両方向において高域の領域という、４つの領域に分割され、各領域のDCT係数の自乗和の値Ｐ１乃至Ｐ４が特徴量とされる。
【０１０２】
以上においては、LBGアルゴリズム等の学習により作成されたコードブック８２を用いるようにしたが、このコードブック８２に代えて、テンプレートテーブルを用いることが可能である。以下に、この実施の形態について説明する。
【０１０３】
図２０は、係数データ変換回路６２のこの場合における構成例を表している。
この係数データ変換回路６２は、図６に示される係数データ変換回路６２のコードブック８２をテンプレートテーブル１６１に代えた点を除き、図６における場合と同様の構成とされている。
【０１０４】
テンプレートテーブル１６１には、クラス分類の際に用いられるテンプレートが予め格納されている。本実施の形態では、テンプレートは、ブロック内の63個のAC係数から成るベクトルとされる。ただし、後述する別の実施の形態に示すとおり、テンプレートはこれに限るものではない。
【０１０５】
図２１は、テンプレートテーブル１６１を生成するテンプレートテーブル生成回路の構成を示す。このテンプレートテーブル生成回路には、例えば強いエッジを含むブロックなど、量子化された場合に歪みの大きいブロックの画素データが入力される。入力された1ブロックの画素データは、DCT回路１７１によりDCT係数に変換され、その中から、AC係数抽出回路１７２により63個のAC係数だけが抽出され、テンプレートメモリ１７３に供給され、格納される。
【０１０６】
次に、図２２のフローチャートを参照して、図２１のテンプレートテーブル生成回路の処理について説明する。
【０１０７】
ステップＳ１１１において、DCT回路１７１は、入力ブロックをDCT処理し、AC係数抽出回路１７２に出力する。ステップＳ１１２において、AC係数抽出回路１７２は、各ブロックの６３個のAC係数だけを抽出し、テンプレートメモリ１７３に供給し、格納させる。
【０１０８】
ステップＳ１１３において、全ブロックについての処理が終了したか否かが判定され、まだ処理されていないブロックが残っている場合には、ステップＳ１１１に戻り、それ以降の処理が繰り返し実行される。ステップＳ１１３において、全てのブロックについての処理が終了したと判定された場合、処理は終了される。
【０１０９】
図２３は、図２０におけるクラス分離回路８３の構成例を表している。図９におけるコードブック８２に代えて、テンプレートテーブル１６１が設けられている。また、最小値選択回路１０７の出力が閾値判定回路１８１に供給され、閾値判定回路１８１の出力がクラスコードとして出力される。その他の基本的構成は、図９におけるクラス分離回路８３と同様の構成とされている。
【０１１０】
閾値判定回路１８１は、最小値選択回路１０７より供給された角度の最小値が、予め設定された閾値よりも小さければ、そのテンプレートの番号をクラスコードとして出力する。その最小値が閾値よりも大きかった場合は、クラス分類を行わずに、学習した予測係数（モノクラス係数）を用いることとし、モノクラスコードを出力する。閾値としては、例えば、係数データと量子化スケールから求まる係数の真値の範囲の値が設定される。
【０１１１】
次に、図２３のクラス分類回路８３の処理について、図２４のフローチャートを参照して説明する。
【０１１２】
ステップＳ１２１において、入力ベクトル抽出回路１０１は、入力されたDCT係数から入力ベクトルを抽出し、内積回路１０２とノルム算出回路１０５に出力する。ステップＳ１２２において、テンプレートと入力ベクトルの成す角度の算出処理が実行される。
【０１１３】
すなわち、内積回路１０２は、テンプレートテーブル１６１に記憶されているテンプレートと、入力ベクトル抽出回路１０１より供給された入力ベクトルとの内積を演算し、COSθ算出回路１０４に出力する。ノルム算出回路１０３は、テンプレートテーブル１６１より供給されたテンプレートのノルムを算出し、COSθ算出回路１０４に供給する。ノルム算出回路１０５は、入力ベクトル抽出回路１０１より供給された入力ベクトルのノルムを算出し、COSθ算出回路１０４に出力する。
【０１１４】
COSθ算出回路１０４は、内積回路１０２の出力、ノルム算出回路１０３の出力、並びにノルム算出回路１０５の出力より、COSθを算出し、COS-1回路１０６に出力する。
【０１１５】
COS-1回路１０６は、入力されたCOSθから角度θを算出し、最小値選択回路１０７に出力する。
【０１１６】
ステップＳ１２３において、最小値選択回路１０７は、全てのテンプレートについての処理が行われたか否かについて判定し、まだ行われていないテンプレートが残っている場合には、ステップＳ１２１に戻り、それ以降の処理が繰り返し実行される。
【０１１７】
ステップＳ１２３において、全てのテンプレートと入力ベクトルとの角度の算出処理が行われたと判定された場合、ステップＳ１２４に進み、最小値選択回路１０７は、角度が最小となるテンプレートを選択し、そのテンプレート番号と最小の角度を閾値判定回路１８１に出力する。
【０１１８】
閾値判定回路１８１は、ステップＳ１２５において、最小値選択回路１０７により選択された最小の角度と、予め設定されている所定の閾値とを比較し、最初の角度θが閾値より小さいか否かを判定する。
【０１１９】
角度θが閾値より小さい場合には、ステップＳ１２６に進み、閾値判定回路１８１は、最小の角度のテンプレート番号をクラスコードとして出力する。ステップＳ１２５において、最小の角度θが閾値より小さくないと判定された場合、ステップＳ１２７に進み、閾値判定回路１８１は、モノクラスコードを出力する。
すなわち、このとき、平均的なクラスに分類するためのクラスコードが出力されることになる。
【０１２０】
このテンプレートテーブルを生成する場合にも、図１３に示されるように、低域のDCT係数だけを用いてテンプレートテーブル１６１を生成することができる。この場合のクラス分類回路８３とその処理は、図２３と図２４に示される場合と同様となる。
【０１２１】
更に、テンプレートテーブル１６１を生成するのに、図１４に示されるように、注目ブロックの上下左右に隣接する周辺ブロックの低域のDCT係数を用いるようにすることもできる。
【０１２２】
この場合のクラス分離回路８３とその処理は、図２５と図２６に示される。
【０１２３】
この例では、テンプレートテーブル１６１のテンプレートと入力ベクトルの差分の自乗和が距離ｄとされる。また、この例においては、最小値選択回路１０７の出力が、図２３における場合と同様に、閾値判定回路１８１に供給されている。その他の構成は、図１５における場合と同様である。
【０１２４】
図２５のクラス分離回路８３の処理は、図２６のステップＳ１４１乃至Ｓ１４７の処理となるが、その基本的な処理は、図２４のステップＳ１２１乃至ステップＳ１２７の処理と同様の処理となる。但し、図２４のステップＳ１２２におけるテンプレートと入力ベクトルの成す角度が算出する処理が、ステップＳ１４２においては、テンプレートと入力ベクトルとの距離を算出する処理とされる。そして、ステップＳ１２４において、最小の角度のテンプレートが選択される処理が、ステップＳ１４４においては、最小の距離のテンプレートを選択する処理とされる。
【０１２５】
その他の処理は、図２４における場合と同様である。
【０１２６】
コードブックに代えて、テンプレートを用いる場合にも、DCT係数に代えて、特徴量をテンプレートとすることが可能である。この場合、図２１に示されるテンプレートテーブル生成回路は、図２７に示されるように構成される。なお、この場合の特徴量も、例えば、図１９に示されるように構成される。
【０１２７】
すなわち、図２１のテンプレートテーブル生成回路におけるAC係数抽出回路１７２は、図２７の例においては、特徴量抽出回路２０１に変更されている。その他の構成は、図２１における場合と同様である。
【０１２８】
図２８は、図２７のテンプレートテーブル生成回路の処理例を表している。ステップＳ１６１において、DCT回路１７１は、入力画像をDCT処理し、特徴量抽出回路２０１に出力する。特徴量抽出回路２０１は、ステップＳ１６２において、DCT回路１７１より供給されたDCT係数から特徴量を抽出し、テンプレートメモリ１７３に供給し、記憶させる。
【０１２９】
以上の処理は、ステップＳ１６３において、全てのブロックについての処理が終了したと判定されるまで繰り返し実行される。
【０１３０】
図２９は、このように特徴量を用いて、テンプレートを構成する場合におけるクラス分類回路８３の構成例を表している。この構成例においては、図２５におけるクラス分類回路８３の入力ベクトル抽出回路１０１に代えて、特徴量抽出回路２１１が設けられている。その他の構成は、図２５における場合と同様である。
【０１３１】
図３０は、図２９のクラス分類回路８３の処理例を表している。そのステップＳ１８１乃至ステップＳ１８７の処理は、図２６におけるステップＳ１４１乃至ステップＳ１４７の処理と基本的に同様の処理である。
【０１３２】
但し、図２６のステップＳ１４１において、DCT係数から入力ベクトルが抽出されるのに対して、図３０のステップＳ１８１においては、特徴量抽出回路２１１がDCT形成から特徴量を算出し、入力ベクトルとする処理を行っている。その他のステップＳ１８２乃至ステップＳ１８７の処理は、図２６のステップＳ１４２乃至ステップＳ１４７の処理と同様の処理である。
【０１３３】
上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０１３４】
図３１は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０１３５】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク３０５やＲＯＭ３０３に予め記録しておくことができる。
【０１３６】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体３１１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体３１１は、いわゆるパッケージソフトウエアとして提供することができる。
【０１３７】
なお、プログラムは、上述したようなリムーバブル記録媒体３１１からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部３０８で受信し、内蔵するハードディスク３０５にインストールすることができる。
【０１３８】
コンピュータは、CPU(Central Processing Unit)３０２を内蔵している。CPU３０２には、バス３０１を介して、入出力インタフェース３１０が接続されており、CPU３０２は、入出力インタフェース３１０を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部３０７が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)３０３に格納されているプログラムを実行する。あるいは、また、CPU３０２は、ハードディスク３０５に格納されているプログラム、衛星若しくはネットワークから転送され、通信部３０８で受信されてハードディスク３０５にインストールされたプログラム、またはドライブ３０９に装着されたリムーバブル記録媒体３１１から読み出されてハードディスク３０５にインストールされたプログラムを、RAM(Random Access Memory)３０４にロードして実行する。これにより、CPU３０２は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU３０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース３１０を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部３０６から出力、あるいは、通信部３０８から送信、さらには、ハードディスク３０５に記録等させる。
【０１３９】
なお、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０１４０】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０１４１】
さらに、本実施の形態では、静止画を圧縮符号化するJPEG符号化された画像を対象としたが、本発明は、動画を圧縮符号化する、例えば、MPEG符号化された画像を対象とすることも可能である。
【０１４２】
また、本実施の形態では、少なくとも、DCT処理を行うJPEG符号化された符号化データの復号を行うようにしたが、本発明は、その他の直交変換または周波数変換によって、ブロック単位（ある所定の単位）で変換されたデータの復号や変換に適用可能である。即ち、本発明は、例えば、サブバンド符号化されたデータや、フーリエ変換されたデータ等を復号したり、それらの量子化誤差等を低減したデータに変換する場合にも適用可能である。
【０１４３】
【発明の効果】
本発明の画像データ処理装置および方法、記録媒体、並びにプログラムによれば、複数の係数データをクラス分類するためのテーブル情報に基づいて、クラスコードが生成され、生成されたクラスコードに基づいて、予測係数セットと予測タップが生成される。そして、予測係数セットと、予測タップに基づいて、画素データが生成される。従って、情報量を増大させることなく、量子化誤差を低減したより良好な復号画像を得ることが可能となる。
【図面の簡単な説明】
【図１】従来のJPEG符号化装置の構成を示すブロック図である。
【図２】量子化テーブルの例を示す図である。
【図３】従来のJPEG復号装置の構成を示すブロック図である。
【図４】本発明を適用した復号装置の構成例を示すブロック図である。
【図５】図４の復号装置の動作を説明するフローチャートである。
【図６】図４の係数データ変換回路の構成例を示すブロック図である。
【図７】図６の係数データ変換回路の係数データ変換処理を説明するフローチャートである。
【図８】図６のコードブックの生成回路の構成を示すブロック図である。
【図９】図６のクラス分類回路の構成例を示すブロック図である。
【図１０】図９のクラス分類回路の動作を説明するフローチャートである。
【図１１】図６の予測係数テーブルを生成する予測係数テーブル生成回路の構成例を示すブロック図である。
【図１２】図１１の予測係数テーブル生成回路の動作を説明するフローチャートである。
【図１３】低域のAC係数を説明する図である。
【図１４】周辺ブロックのDCT係数を説明する図である。
【図１５】図６のクラス分類回路の他の構成例を示すブロック図である。
【図１６】図１５のクラス分類回路の動作を説明するフローチャートである。
【図１７】図６のクラス分類回路の更に他の構成例を示すブロック図である。
【図１８】図１７のクラス分類回路の動作を説明するフローチャートである。
【図１９】特徴量の例を説明する図である。
【図２０】図４の係数データ変換回路の他の構成例を示すブロック図である。
【図２１】図２０のテンプレートテーブルを生成するテンプレートテーブル生成回路の構成例を示すブロック図である。
【図２２】図２１のテンプレートテーブル生成回路の動作を説明するフローチャートである。
【図２３】図２０のクラス分類回路の構成例を示すブロック図である。
【図２４】図２３のクラス分類回路の動作を説明するフローチャートである。
【図２５】図２０のクラス分類回路の他の構成例を示すブロック図である。
【図２６】図２５のクラス分類回路の動作を説明するフローチャートである。
【図２７】図２０のテンプレートを生成するテンプレートテーブル生成回路の他の構成例を示すブロック図である。
【図２８】図２７のテンプレートテーブル生成回路の動作を説明するフローチャートである。
【図２９】図２０のクラス分類回路の更に他の構成例を示すブロック図である。
【図３０】図２９のクラス分類回路の動作を説明するフローチャートである。
【図３１】本発明を適用したコンピュータの構成例を示すブロック図である。
【符号の説明】
６０  復号装置，  ６１  エントロビー復号回路，  ６２  係数データ変換回路，  ６３  ブロック分解回路，  ８１  予測タップ抽出回路，  ８２  コードブック，  ８３  クラス分類回路，  ８４  予測係数テーブル，  ８５  積和演算回路，  ８６  予測タップテーブル
【図１】
0004649770.tif 000009
【図２】
0004649770.tif 000010
【図３】
0004649770.tif 000011
【図４】
0004649770.tif 000012
【図５】
0004649770.tif 000013
【図６】
0004649770.tif 000014
【図７】
0004649770.tif 000015
【図８】
0004649770.tif 000016
【図９】
0004649770.tif 000017
【図１０】
0004649770.tif 000018
【図１１】
0004649770.tif 000019
【図１２】
0004649770.tif 000020
【図１３】
0004649770.tif 000021
【図１４】
0004649770.tif 000022
【図１５】
0004649770.tif 000023
【図１６】
0004649770.tif 000024
【図１７】
0004649770.tif 000025
【図１８】
0004649770.tif 000026
【図１９】
0004649770.tif 000027
【図２０】
0004649770.tif 000028
【図２１】
0004649770.tif 000029
【図２２】
0004649770.tif 000030
【図２３】
0004649770.tif 000031
【図２４】
0004649770.tif 000032
【図２５】
0004649770.tif 000033
【図２６】
0004649770.tif 000034
【図２７】
0004649770.tif 000035
【図２８】
0004649770.tif 000036
【図２９】
0004649770.tif 000037
【図３０】
0004649770.tif 000038
【図３１】
0004649770.tif 000039