JP4678454B2 - Data processing apparatus, data processing method, and recording medium - Google Patents

Data processing apparatus, data processing method, and recording medium Download PDF

Info

Publication number
JP4678454B2
JP4678454B2 JP2000164024A JP2000164024A JP4678454B2 JP 4678454 B2 JP4678454 B2 JP 4678454B2 JP 2000164024 A JP2000164024 A JP 2000164024A JP 2000164024 A JP2000164024 A JP 2000164024A JP 4678454 B2 JP4678454 B2 JP 4678454B2
Authority
JP
Japan
Prior art keywords
data
class
tap
teacher
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000164024A
Other languages
Japanese (ja)
Other versions
JP2001346209A (en
Inventor
哲二郎 近藤
威 國弘
丈晴 西片
真史 内田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2000164024A priority Critical patent/JP4678454B2/en
Publication of JP2001346209A publication Critical patent/JP2001346209A/en
Application granted granted Critical
Publication of JP4678454B2 publication Critical patent/JP4678454B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データ処理装置およびデータ処理方法、並びに記録媒体に関し、特に、例えば、不可逆圧縮された画像等を復号する場合等に用いて好適なデータ処理装置およびデータ処理方法、並びに記録媒体に関する。
【0002】
【従来の技術】
例えば、ディジタル画像データは、そのデータ量が多いため、そのまま記録や伝送を行うには、大容量の記録媒体や伝送媒体が必要となる。そこで、一般には、画像データを圧縮符号化することにより、そのデータ量を削減してから、記録や伝送が行われる。
【0003】
画像を圧縮符号化する方式としては、例えば、静止画の圧縮符号化方式であるJPEG(Joint Photographic Experts Group)方式や、動画の圧縮符号化方式であるMPEG(Moving Picture Experts Group)方式等がある。
【0004】
例えば、JPEG方式による画像データの符号化/復号は、図1に示すように行われる。
【0005】
即ち、図1(A)は、従来のJPEG符号化装置の一例の構成を示している。
【0006】
符号化対象の画像データは、ブロック化回路1に入力され、ブロック化回路1は、そこに入力される画像データを、8×8画素の64画素でなるブロックに分割する。ブロック化回路1で得られる各ブロックは、DCT(Discrete Cosine Transform)回路2に供給される。DCT回路2は、ブロック化回路1からのブロックに対して、DCT(離散コサイン変換)処理を施し、1個のDC(Direct Current)成分(直流成分)と、水平方向および垂直方向についての63個の周波数成分(AC(Alternating Current)成分)(交流成分)の、合計64個のDCT係数に変換する。各ブロックごとの64個のDCT係数は、DCT回路2から量子化回路3に供給される。
【0007】
量子化回路3は、所定の量子化テーブルにしたがって、DCT回路2からのDCT係数を量子化し、その量子化結果(以下、適宜、量子化DCT係数という)を、量子化に用いた量子化テーブルとともに、エントロピー符号化回路4に供給する。
【0008】
ここで、図1(B)は、量子化回路3において用いられる量子化テーブルの例を示している。量子化テーブルには、一般に、人間の視覚特性を考慮して、重要性の高い低周波数のDCT係数は細かく量子化し、重要性の低い高周波数のDCT係数は粗く量子化するような量子化ステップが設定されており、これにより、画像の画質の劣化を抑えて、効率の良い圧縮が行われるようになっている。
【0009】
エントロピー符号化回路4は、量子化回路3からの量子化DCT係数に対して、例えば、ハフマン符号化等のエントロピー符号化処理を施して、量子化回路3からの量子化テーブルを付加し、その結果得られる符号化データを、JPEG符号化結果として出力する。
【0010】
次に、図1(C)は、図1(A)のJPEG符号化装置が出力する符号化データを復号する、従来のJPEG復号装置の一例の構成を示している。
【0011】
符号化データは、エントロピー復号回路11に入力され、エントロピー復号回路11は、符号化データを、エントロピー符号化された量子化DCT係数と、量子化テーブルとに分離する。さらに、エントロピー復号回路11は、エントロピー符号化された量子化DCT係数をエントロピー復号し、その結果得られる量子化DCT係数を、量子化テーブルとともに、逆量子化回路12に供給する。逆量子化回路12は、エントロピー復号回路11からの量子化DCT係数を、同じくエントロピー復号回路11からの量子化テーブルにしたがって逆量子化し、その結果得られるDCT係数を、逆DCT回路13に供給する。逆DCT回路13は、逆量子化回路12からのDCT係数に、逆DCT処理を施し、その結果られる8×8画素の(復号)ブロックを、ブロック分解回路14に供給する。ブロック分解回路14は、逆DCT回路13からのブロックのブロック化を解くことで、復号画像を得て出力する。
【0012】
【発明が解決しようとする課題】
図1(A)のJPEG符号化装置では、その量子化回路3において、ブロックの量子化に用いる量子化テーブルの量子化ステップを大きくすることにより、符号化データのデータ量を削減することができる。即ち、高圧縮を実現することができる。
【0013】
しかしながら、量子化ステップを大きくすると、いわゆる量子化誤差も大きくなることから、図1(C)のJPEG復号装置で得られる復号画像の画質が劣化する。即ち、復号画像には、ぼけや、ブロック歪み、モスキートノイズ等が顕著に現れる。
【0014】
従って、符号化データのデータ量の削減しながら、復号画像の画質を劣化させないようにするには、あるいは、符号化データのデータ量を維持して、復号画像の画質を向上させるには、JPEG復号した後に、何らかの画質向上のための処理を行う必要がある。
【0015】
しかしながら、JPEG復号した後に、画質向上のための処理を行うことは、処理が煩雑になり、最終的に復号画像が得られるまでの時間も長くなる。
【0016】
本発明は、このような状況に鑑みてなされたものであり、JPEG符号化された画像等から、効率的に、画質の良い復号画像を得ること等ができるようにするものである。
【0017】
【課題を解決するための手段】
本発明の第1のデータ処理装置は、学習を行うことにより求められたタップ係数を取得する取得手段と、注目しているデータである注目データを、幾つかのクラスのうちのいずれかにクラス分類するのに用いる変換データを、少なくとも、注目データに対応するブロック以外のブロックから抽出し、クラスタップとして出力するクラスタップ抽出手段と、クラスタップとなっている変換データである、離散コサイン変換されたデータの直流成分または交流成分の電力に基づいて、注目データのクラスを求めるクラス分類を行うクラス分類手段と、注目データのクラスのタップ係数と、変換データとの線形1次予測演算を行うことにより、注目データの予測値を求める演算手段とを備え、タップ係数は、学習時の教師となる教師データに対し、少なくとも、離散コサイン変換処理を所定のブロック単位で施すことにより得られるブロック単位の変換データを、学習時の生徒となる生徒データとして生成し、学習時の教師となる教師データとして用いられるデータのうちの、注目している教師データである注目教師データを、幾つかのクラスのうちのいずれかにクラス分類するのに用いる生徒データを、少なくとも、注目教師データに対応するブロック以外のブロックから抽出し、クラスタップとして出力し、クラスタップとなっている生徒データである、離散コサイン変換されたデータの直流成分または交流成分の電力に基づいて、注目教師データのクラスを求めるクラス分類を行い、クラスごとのタップ係数と、生徒データとの線形1次予測演算を行うことにより得られる教師データの予測値の予測誤差が、統計的に最小になるように学習を行う学習処理によりクラスごとに求められたものであることを特徴とする。
【0019】
第1のデータ処理装置には、タップ係数を記憶している記憶手段をさらに設けることができ、この場合、取得手段には、記憶手段から、タップ係数を取得させることができる。
【0022】
第1のデータ処理装置において、クラスタップ抽出手段には、注目データに対応するブロックの周辺のブロックから、クラスタップとする変換データを抽出させることができる。
【0023】
第1のデータ処理装置において、クラスタップ抽出手段には、注目データに対応するブロックからも、クラスタップとする変換データを抽出させることができる。
【0025】
第1のデータ処理装置において、データは、動画または静止画の画像データとすることができる。
【0026】
本発明の第1のデータ処理方法は、学習を行うことにより求められたタップ係数を取得する取得ステップと、注目しているデータである注目データを、幾つかのクラスのうちのいずれかにクラス分類するのに用いる変換データを、少なくとも、注目データに対応するブロック以外のブロックから抽出し、クラスタップとして出力するクラスタップ抽出ステップと、クラスタップとなっている変換データである、離散コサイン変換されたデータの直流成分または交流成分の電力に基づいて、注目データのクラスを求めるクラス分類を行うクラス分類ステップと、注目データのクラスのタップ係数と、変換データとの線形1次予測演算を行うことにより、注目データの予測値を求める演算ステップとを備え、タップ係数は、学習時の教師となる教師データに対し、少なくとも、離散コサイン変換処理を所定のブロック単位で施すことにより得られるブロック単位の変換データを、学習時の生徒となる生徒データとして生成し、学習時の教師となる教師データとして用いられるデータのうちの、注目している教師データである注目教師データを、幾つかのクラスのうちのいずれかにクラス分類するのに用いる生徒データを、少なくとも、注目教師データに対応するブロック以外のブロックから抽出し、クラスタップとして出力し、クラスタップとなっている生徒データである、離散コサイン変換されたデータの直流成分または交流成分の電力に基づいて、注目教師データのクラスを求めるクラス分類を行い、クラスごとのタップ係数と、生徒データとの線形1次予測演算を行うことにより得られる教師データの予測値の予測誤差が、統計的に最小になるように学習を行う学習処理によりクラスごとに求められたものであることを特徴とする。
【0027】
本発明の第1の記録媒体は、学習を行うことにより求められたタップ係数を取得する取得ステップと、注目しているデータである注目データを、幾つかのクラスのうちのいずれかにクラス分類するのに用いる変換データを、少なくとも、注目データに対応するブロック以外のブロックから抽出し、クラスタップとして出力するクラスタップ抽出ステップと、クラスタップとなっている変換データである、離散コサイン変換されたデータの直流成分または交流成分の電力に基づいて、注目データのクラスを求めるクラス分類を行うクラス分類ステップと、注目データのクラスのタップ係数と、変換データとの線形1次予測演算を行うことにより、注目データの予測値を求める演算ステップとを実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であり、タップ係数は、学習時の教師となる教師データに対し、少なくとも、離散コサイン変換処理を所定のブロック単位で施すことにより得られるブロック単位の変換データを、学習時の生徒となる生徒データとして生成し、学習時の教師となる教師データとして用いられるデータのうちの、注目している教師データである注目教師データを、幾つかのクラスのうちのいずれかにクラス分類するのに用いる生徒データを、少なくとも、注目教師データに対応するブロック以外のブロックから抽出し、クラスタップとして出力し、クラスタップとなっている生徒データである、離散コサイン変換されたデータの直流成分または交流成分の電力に基づいて、注目教師データのクラスを求めるクラス分類を行い、クラスごとのタップ係数と、生徒データとの線形1次予測演算を行うことにより得られる教師データの予測値の予測誤差が、統計的に最小になるように学習を行う学習処理によりクラスごとに求められたものであることを特徴とする。
【0028】
本発明の第2のデータ処理装置は、学習時の教師となる教師データに対し、少なくとも、離散コサイン変換処理を所定のブロック単位で施すことにより得られるブロック単位の変換データを、学習時の生徒となる生徒データとして生成する生成手段と、学習時の教師となる教師データとして用いられるデータのうちの、注目している教師データである注目教師データを、幾つかのクラスのうちのいずれかにクラス分類するのに用いる生徒データを、少なくとも、注目教師データに対応するブロック以外のブロックから抽出し、クラスタップとして出力するクラスタップ抽出手段と、クラスタップとなっている生徒データである、離散コサイン変換されたデータの直流成分または交流成分の電力に基づいて、注目教師データのクラスを求めるクラス分類を行うクラス分類手段と、クラスごとのタップ係数と、生徒データとの線形1次予測演算を行うことにより得られる教師データの予測値の予測誤差が、統計的に最小になるように学習を行い、タップ係数を、クラスごとに求める学習手段とを備えることを特徴とする。
【0032】
第2のデータ処理装置において、クラスタップ抽出手段には、注目教師データに対応するブロックの周辺のブロックから、クラスタップとする生徒データを抽出させることができる。
【0033】
第2のデータ処理装置において、クラスタップ抽出手段には、注目教師データに対応するブロックからも、クラスタップとする生徒データを抽出させることができる。
【0034】
第2のデータ処理装置において、データは、動画または静止画の画像データとすることができる。
【0035】
本発明の第2のデータ処理方法は、学習時の教師となる教師データに対し、少なくとも、離散コサイン変換処理を所定のブロック単位で施すことにより得られるブロック単位の変換データを、学習時の生徒となる生徒データとして生成する生成ステップと、学習時の教師となる教師データとして用いられるデータのうちの、注目している教師データである注目教師データを、幾つかのクラスのうちのいずれかにクラス分類するのに用いる生徒データを、少なくとも、注目教師データに対応するブロック以外のブロックから抽出し、クラスタップとして出力するクラスタップ抽出ステップと、クラスタップとなっている生徒データである、離散コサイン変換されたデータの直流成分または交流成分の電力に基づいて、注目教師データのクラスを求めるクラス分類を行うクラス分類ステップと、クラスごとのタップ係数と、生徒データとの線形1次予測演算を行うことにより得られる教師データの予測値の予測誤差が、統計的に最小になるように学習を行い、タップ係数を、クラスごとに求める学習ステップとを備えることを特徴とする。
【0036】
本発明の第2の記録媒体は、学習時の教師となる教師データに対し、少なくとも、離散コサイン変換処理を所定のブロック単位で施すことにより得られるブロック単位の変換データを、学習時の生徒となる生徒データとして生成する生成ステップと、学習時の教師となる教師データとして用いられるデータのうちの、注目している教師データである注目教師データを、幾つかのクラスのうちのいずれかにクラス分類するのに用いる生徒データを、少なくとも、注目教師データに対応するブロック以外のブロックから抽出し、クラスタップとして出力するクラスタップ抽出ステップと、クラスタップとなっている生徒データである、離散コサイン変換されたデータの直流成分または交流成分の電力に基づいて、注目教師データのクラスを求めるクラス分類を行うクラス分類ステップと、クラスごとのタップ係数と、生徒データとの線形1次予測演算を行うことにより得られる教師データの予測値の予測誤差が、統計的に最小になるように学習を行い、タップ係数を、クラスごとに求める学習ステップとを実行させるためのプログラムが記録されていることを特徴とする。
【0037】
本発明の第1のデータ処理装置およびデータ処理方法、並びに記録媒体においては、注目データを、幾つかのクラスのうちのいずれかにクラス分類するのに用いる変換データが、少なくとも、注目データに対応するブロック以外のブロックから抽出され、クラスタップとして出力される。そして、そのクラスタップとなっている変換データである、離散コサイン変換されたデータの直流成分または交流成分の電力に基づいて、注目データのクラスを求めるクラス分類が行われ、注目データのクラスのタップ係数と、変換データとの線形1次予測演算を行うことにより、注目データの予測値が求められる。そして、タップ係数は、学習時の教師となる教師データに対し、少なくとも、離散コサイン変換処理を所定のブロック単位で施すことにより得られるブロック単位の変換データを、学習時の生徒となる生徒データとして生成し、学習時の教師となる教師データとして用いられるデータのうちの、注目している教師データである注目教師データを、幾つかのクラスのうちのいずれかにクラス分類するのに用いる生徒データを、少なくとも、注目教師データに対応するブロック以外のブロックから抽出し、クラスタップとして出力し、クラスタップとなっている生徒データである、離散コサイン変換されたデータの直流成分または交流成分の電力に基づいて、注目教師データのクラスを求めるクラス分類を行い、クラスごとのタップ係数と、生徒データとの線形1次予測演算を行うことにより得られる教師データの予測値の予測誤差が、統計的に最小になるように学習を行う学習処理によりクラスごとに求められたものである。
【0038】
本発明の第2のデータ処理装置およびデータ処理方法、並びに記録媒体においては、注目教師データを、幾つかのクラスのうちのいずれかにクラス分類するのに用いる生徒データが、少なくとも、注目教師データに対応するブロック以外のブロックから抽出され、クラスタップとして出力される。さらに、そのクラスタップとなっている生徒データである、離散コサイン変換されたデータの直流成分または交流成分の電力に基づいて、注目教師データのクラスを求めるクラス分類が行われる。そして、クラスごとのタップ係数と、生徒データとの線形1次予測演算を行うことにより得られる教師データの予測値の予測誤差が、統計的に最小になるように学習が行われ、タップ係数が、クラスごとに求められる。
【0039】
【発明の実施の形態】
図2は、本発明を適用した画像伝送システムの一実施の形態の構成例を示している。
【0040】
伝送すべき画像データは、エンコーダ21に供給されるようになっており、エンコーダ21は、そこに供給される画像データを、例えば、JPEG符号化し、符号化データとする。即ち、エンコーダ21は、例えば、前述の図1(A)に示したJPEG符号化装置と同様に構成されており、画像データをJPEG符号化する。エンコーダ21がJPEG符号化を行うことにより得られる符号化データは、例えば、半導体メモリ、光磁気ディスク、磁気ディスク、光ディスク、磁気テープ、相変化ディスクなどでなる記録媒体23に記録され、あるいは、また、例えば、地上波、衛星回線、CATV(Cable Television)網、インターネット、公衆回線などでなる伝送媒体24を介して伝送される。
【0041】
デコーダ22は、記録媒体23または伝送媒体24を介して提供される符号化データを受信して、元の画像データに復号する。この復号化された画像データは、例えば、図示せぬモニタに供給されて表示等される。
【0042】
次に、図3は、図2のデコーダ22の構成例を示している。
【0043】
符号化データは、エントロピー復号回路31に供給されるようになっており、エントロピー復号回路31は、符号化データを、エントロピー復号して、その結果得られるブロックごとの量子化DCT係数Qを、係数変換回路32に供給する。なお、符号化データには、図1(C)のエントロピー復号回路11で説明した場合と同様に、エントロピー符号化された量子化DCT係数の他、量子化テーブルも含まれるが、量子化テーブルは、後述するように、必要に応じて、量子化DCT係数の復号に用いることが可能である。
【0044】
係数変換回路32は、エントロピー復号回路31からの量子化DCT係数Qと、後述する学習を行うことにより求められるタップ係数を用いて、所定の予測演算を行うことにより、ブロックごとの量子化DCT係数を、8×8画素の元のブロックに復号する。
【0045】
ブロック分解回路33は、係数変換回路32において得られる、復号されたブロック(復号ブロック)のブロック化を解くことで、復号画像を得て出力する。
【0046】
次に、図4のフローチャートを参照して、図3のデコーダ22の処理について説明する。
【0047】
符号化データは、エントロピー復号回路31に順次供給され、ステップS1において、エントロピー復号回路31は、符号化データをエントロピー復号し、ブロックごとの量子化DCT係数Qを、係数変換回路32に供給する。係数変換回路32は、ステップS2において、エントロピー復号回路31からのブロックごとの量子化DCT係数Qを、タップ係数を用いた予測演算を行うことにより、ブロックごとの画素値に復号し、ブロック分解回路33に供給する。ブロック分解回路33は、ステップS3において、係数変換回路32からの画素値のブロック(復号ブロック)のブロック化を解くブロック分解を行い、その結果得られる復号画像を出力して、処理を終了する。
【0048】
次に、図3の係数変換回路32では、例えば、クラス分類適応処理を利用して、量子化DCT係数を、画素値に復号することができる。
【0049】
クラス分類適応処理は、クラス分類処理と適応処理とからなり、クラス分類処理によって、データを、その性質に基づいてクラス分けし、各クラスごとに適応処理を施すものであり、適応処理は、以下のような手法のものである。
【0050】
即ち、適応処理では、例えば、量子化DCT係数と、所定のタップ係数との線形結合により、元の画素の予測値を求めることで、量子化DCT係数が、元の画素値に復号される。
【0051】
具体的には、例えば、いま、ある画像を教師データとするとともに、その画像を、ブロック単位でDCT処理し、さらに量子化して得られる量子化DCT係数を生徒データとして、教師データである画素の画素値yの予測値E[y]を、幾つかの量子化DCT係数x1,x2,・・・の集合と、所定のタップ係数w1,w2,・・・の線形結合により規定される線形1次結合モデルにより求めることを考える。この場合、予測値E[y]は、次式で表すことができる。
【0052】
E[y]=w11+w22+・・・・・・(1)
【0053】
式(1)を一般化するために、タップ係数wjの集合でなる行列W、生徒データxijの集合でなる行列X、および予測値E[yj]の集合でなる行列Y’を、
【数1】

Figure 0004678454
で定義すると、次のような観測方程式が成立する。
【0054】
XW=Y’・・・(2)
ここで、行列Xの成分xijは、i件目の生徒データの集合(i件目の教師データyiの予測に用いる生徒データの集合)の中のj番目の生徒データを意味し、行列Wの成分wjは、生徒データの集合の中のj番目の生徒データとの積が演算されるタップ係数を表す。また、yiは、i件目の教師データを表し、従って、E[yi]は、i件目の教師データの予測値を表す。なお、式(1)の左辺におけるyは、行列Yの成分yiのサフィックスiを省略したものであり、また、式(1)の右辺におけるx1,x2,・・・も、行列Xの成分xijのサフィックスiを省略したものである。
【0055】
そして、この観測方程式に最小自乗法を適用して、元の画素値yに近い予測値E[y]を求めることを考える。この場合、教師データとなる真の画素値yの集合でなる行列Y、および画素値yに対する予測値E[y]の残差eの集合でなる行列Eを、
【数2】
Figure 0004678454
で定義すると、式(2)から、次のような残差方程式が成立する。
【0056】
XW=Y+E・・・(3)
【0057】
この場合、元の画素値yに近い予測値E[y]を求めるためのタップ係数wjは、自乗誤差
【数3】
Figure 0004678454
を最小にすることで求めることができる。
【0058】
従って、上述の自乗誤差をタップ係数wjで微分したものが0になる場合、即ち、次式を満たすタップ係数wjが、元の画素値yに近い予測値E[y]を求めるため最適値ということになる。
【0059】
【数4】
Figure 0004678454
・・・(4)
【0060】
そこで、まず、式(3)を、タップ係数wjで微分することにより、次式が成立する。
【0061】
【数5】
Figure 0004678454
・・・(5)
【0062】
式(4)および(5)より、式(6)が得られる。
【0063】
【数6】
Figure 0004678454
・・・(6)
【0064】
さらに、式(3)の残差方程式における生徒データxij、タップ係数wj、教師データyi、および残差eiの関係を考慮すると、式(6)から、次のような正規方程式を得ることができる。
【0065】
【数7】
Figure 0004678454
・・・(7)
【0066】
なお、式(7)に示した正規方程式は、行列(共分散行列)Aおよびベクトルvを、
【数8】
Figure 0004678454
で定義するとともに、ベクトルWを、数1で示したように定義すると、式
AW=v・・・(8)
で表すことができる。
【0067】
式(7)における各正規方程式は、生徒データxijおよび教師データyiのセットを、ある程度の数だけ用意することで、求めるべきタップ係数wjの数Jと同じ数だけたてることができ、従って、式(8)を、ベクトルWについて解くことで(但し、式(8)を解くには、式(8)における行列Aが正則である必要がある)、最適なタップ係数(ここでは、自乗誤差を最小にするタップ係数)wjを求めることができる。なお、式(8)を解くにあたっては、例えば、掃き出し法(Gauss-Jordanの消去法)などを用いることが可能である。
【0068】
以上のようにして、最適なタップ係数wjを求めておき、さらに、そのタップ係数wjを用い、式(1)により、元の画素値yに近い予測値E[y]を求めるのが適応処理である。
【0069】
なお、例えば、教師データとして、JPEG符号化する画像と同一画質の画像を用いるとともに、生徒データとして、その教師データをDCTおよび量子化して得られる量子化DCT係数を用いた場合、タップ係数としては、JPEG符号化された画像データを、元の画像データに復号するのに、予測誤差が、統計的に最小となるものが得られることになる。
【0070】
従って、JPEG符号化を行う際の圧縮率を高くしても、即ち、量子化に用いる量子化ステップを粗くしても、適応処理によれば、予測誤差が、統計的に最小となる復号処理が施されることになり、実質的に、JPEG符号化された画像の復号処理と、その画質を向上させるための処理とが、同時に施されることになる。その結果、圧縮率を高くしても、復号画像の画質を維持することができる。
【0071】
また、例えば、教師データとして、JPEG符号化する画像よりも高画質の画像を用いるとともに、生徒データとして、その教師データの画質を、JPEG符号化する画像と同一画質に劣化させ、さらに、DCTおよび量子化して得られる量子化DCT係数を用いた場合、タップ係数としては、JPEG符号化された画像データを、高画質の画像データに復号するのに、予測誤差が、統計的に最小となるものが得られることになる。
【0072】
従って、この場合、適応処理によれば、JPEG符号化された画像の復号処理と、その画質をより向上させるための処理とが、同時に施されることになる。なお、上述したことから、教師データまたは生徒データとなる画像の画質を変えることで、復号画像の画質を任意のレベルとするタップ係数を得ることができる。
【0073】
また、上述の場合には、教師データとして画像データを用い、生徒データとして量子化DCT係数を用いるようにしたが、その他、例えば、教師データとしてDCT係数を用い、生徒データとして、そのDCT係数を量子化した量子化DCT係数を用いるようにすることも可能である。この場合、適応処理によれば、量子化DCT係数から、量子化誤差を低減(抑制)したDCT係数を予測するためのタップ係数が得られることになる。
【0074】
図5は、以上のようなクラス分類適応処理により、量子化DCT係数を画素値に復号する、図3の係数変換回路32の第1の構成例を示している。
【0075】
エントロピー復号回路31(図3)が出力するブロックごとの量子化DCT係数は、予測タップ抽出回路41およびクラスタップ抽出回路42に供給されるようになっている。
【0076】
予測タップ抽出回路41は、そこに供給される量子化DCT係数のブロック(以下、適宜、DCTブロックという)に対応する画素値のブロック(この画素値のブロックは、現段階では存在しないが、仮想的に想定される)(以下、適宜、画素ブロックという)を、順次、注目画素ブロックとし、さらに、その注目画素ブロックを構成する各画素を、例えば、いわゆるラスタスキャン順に、順次、注目画素とする。さらに、予測タップ抽出回路41は、注目画素の画素値を予測するのに用いる量子化DCT係数を抽出し、予測タップとする。
【0077】
即ち、予測タップ抽出回路41は、例えば、図6(A)に示すように、注目画素が属する画素ブロックに対応するDCTブロックのすべての量子化DCT係数、即ち、8×8の64個の量子化DCT係数を、予測タップとして抽出する。従って、本実施の形態では、ある画素ブロックのすべての画素について、同一の予測タップが構成される。但し、予測タップは、注目画素ごとに、異なる量子化DCT係数で構成することが可能である。
【0078】
なお、予測タップを構成する量子化DCT係数は、上述したパターンのものに限定されるものではない。
【0079】
予測タップ抽出回路41において得られる、画素ブロックを構成する各画素についての予測タップ、即ち、64画素それぞれについての64セットの予測タップは、積和演算回路45に供給される。但し、本実施の形態では、上述したように、画素ブロックのすべての画素について、同一の予測タップが構成されるので、実際には、1つの画素ブロックに対して、1セットの予測タップを、積和演算回路45に供給すれば良い。
【0080】
クラスタップ抽出回路42は、注目画素を、幾つかのクラスのうちのいずれかに分類するためのクラス分類に用いる量子化DCT係数を抽出して、クラスタップとする。
【0081】
なお、JPEG符号化では、画像が、画素ブロックごとに符号化(DCT処理および量子化)されることから、ある画素ブロックに属する画素は、例えば、すべて同一のクラスにクラス分類することとする。従って、クラスタップ抽出回路42は、ある画素ブロックの各画素については、同一のクラスタップを構成する。
【0082】
即ち、本実施の形態では、クラスタップ抽出回路42は、例えば、図6(B)に示すように、注目画素が属する画素ブロックに対応するDCTブロックと、その上下左右に隣接する4個のDCTブロックの、合計で5個のDCTブロックの320(=8×8×5)個の量子化DCT係数を、クラスタップとして抽出する。
【0083】
ここで、画素ブロックに属する各画素を、すべて同一のクラスにクラス分類するということは、その画素ブロックをクラス分類することと等価である。従って、クラスタップ抽出回路42には、注目画素ブロックを構成する64画素それぞれをクラス分類するための64セットのクラスタップではなく、注目画素ブロックをクラス分類するための1セットのクラスタップを構成させれば良く、このため、クラスタップ抽出回路42は、画素ブロックごとに、その画素ブロックをクラス分類するために、その画素ブロックに対応するDCTブロックと、その上下左右に隣接する4個のDCTブロックの量子化DCT係数を抽出して、クラスタップとするようになっている。
【0084】
なお、クラスタップを構成する量子化DCT係数は、上述したパターンのものに限定されるものではない。
【0085】
即ち、JPEG符号化では、8×8画素の画素ブロック単位で、DCTおよび量子化が行われることにより、8×8の量子化DCT係数からなるDCTブロックが構成されるから、ある画素ブロックの画素を、クラス分類適応処理によって復号する場合には、その画素ブロックに対応するDCTブロックの量子化DCT係数だけを、クラスタップとして用いることが考えられる。
【0086】
しかしながら、画像においては、ある画素ブロックに注目した場合に、その画素ブロックの画素と、その周辺の画素ブロックの画素との間には、少なからず相関があるのが一般的である。従って、上述のように、ある画素ブロックに対応するDCTブロックだけでなく、それ以外のDCTブロックからも、量子化DCT係数を抽出して、クラスタップとして用いることによって、注目画素を、より適切にクラス分けすることが可能となり、その結果、画素ブロックに対応するDCTブロックの量子化DCT係数だけを、クラスタップとして用いる場合に比較して、復号画像の画質を向上させることが可能となる。
【0087】
ここで、上述の場合には、ある画素ブロックに対応するDCTブロックと、その上下左右に隣接する4個のDCTブロックの量子化DCT係数を、クラスタップとするようにしたが、クラスタップとする量子化DCT係数は、その他、ある画素ブロックに対応するDCTブロックの斜め方向に隣接するDCTブロックや、隣接しないが周辺にあるDCTブロック等から抽出するようにしても良い。即ち、どのような範囲のDCTブロックから、クラスタップとする量子化DCT係数を抽出するかは、特に限定されるものではない。
【0088】
クラスタップ抽出回路42において得られる、注目画素ブロックのクラスタップは、クラス分類回路43に供給されるようになっており、クラス分類回路43は、クラスタップ抽出回路42からのクラスタップに基づき、注目画素ブロックをクラス分類し、その結果得られるクラスに対応するクラスコードを出力する。
【0089】
ここで、クラス分類を行う方法としては、例えば、ADRC(Adaptive Dynamic Range Coding)等を採用することができる。
【0090】
ADRCを用いる方法では、クラスタップを構成する量子化DCT係数が、ADRC処理され、その結果得られるADRCコードにしたがって、注目画素ブロックのクラスが決定される。
【0091】
なお、KビットADRCにおいては、例えば、クラスタップを構成する量子化DCT係数の最大値MAXと最小値MINが検出され、DR=MAX-MINを、集合の局所的なダイナミックレンジとし、このダイナミックレンジDRに基づいて、クラスタップを構成する量子化DCT係数がKビットに再量子化される。即ち、クラスタップを構成する量子化DCT係数の中から、最小値MINが減算され、その減算値がDR/2Kで除算(量子化)される。そして、以上のようにして得られる、クラスタップを構成するKビットの各量子化DCT係数を、所定の順番で並べたビット列が、ADRCコードとして出力される。従って、クラスタップが、例えば、1ビットADRC処理された場合には、そのクラスタップを構成する各量子化DCT係数は、最小値MINが減算された後に、最大値MAXと最小値MINとの平均値で除算され、これにより、各量子化DCT係数が1ビットとされる(2値化される)。そして、その1ビットの量子化DCT係数を所定の順番で並べたビット列が、ADRCコードとして出力される。
【0092】
なお、クラス分類回路43には、例えば、クラスタップを構成する量子化DCT係数のレベル分布のパターンを、そのままクラスコードとして出力させることも可能であるが、この場合、クラスタップが、N個の量子化DCT係数で構成され、各量子化DCT係数に、Kビットが割り当てられているとすると、クラス分類回路43が出力するクラスコードの場合の数は、(2NK通りとなり、量子化DCT係数のビット数Kに指数的に比例した膨大な数となる。
【0093】
従って、クラス分類回路43においては、クラスタップの情報量を、上述のADRC処理や、あるいはベクトル量子化等によって圧縮してから、クラス分類を行うのが好ましい。
【0094】
ところで、本実施の形態では、クラスタップは、上述したように、320個の量子化DCT係数で構成される。従って、例えば、仮に、クラスタップを1ビットADRC処理することにより、クラス分類を行うこととしても、クラスコードの場合の数は、2320通りという膨大な値となる。
【0095】
そこで、本実施の形態では、クラス分類回路43において、クラスタップを構成する量子化DCT係数から、重要性の高い特徴量を抽出し、その特徴量に基づいてクラス分類を行うことで、クラス数を低減するようになっている。
【0096】
即ち、図7は、図5のクラス分類回路43の構成例を示している。
【0097】
クラスタップは、電力演算回路51に供給されるようになっており、電力演算回路51は、クラスタップを構成する量子化DCT係数を、幾つかの空間周波数帯域のものに分け、各周波数帯域の電力を演算する。
【0098】
即ち、本実施の形態では、クラスタップは、図6(B)に示したように、5個のDCTブロックの量子化DCT係数から構成されるが、電力演算回路51は、クラスタップを構成する各DCTブロックの8×8個の量子化DCT係数を、例えば、図8に示すような4つの空間周波数帯域S0,S1,S2,S3に分割する。
【0099】
ここで、1つのDCTブロックの8×8個の量子化DCT係数それぞれを、アルファベットxに、図6(A)に示したような、ラスタスキャン順に、0からのシーケンシャルな整数を付して表すこととすると、空間周波数帯域S0は、4個の量子化DCT係数x0,x1,x8,x9から構成され、空間周波数帯域S1は、12個の量子化DCT係数x2,x3,x4,x5,x6,x7,x10,x11,x12,x13,x14,x15から構成される。また、空間周波数帯域S2は、12個の量子化DCT係数x16,x17,x24,x25,x32,x33,x40,x41,x48,x49,x56,x57から構成され、空間周波数帯域S3は、36個の量子化DCT係数x18,x19,x20,x21,x22,x23,x26,x27,x28,x29,x30,x31,x34,x35,x36,x37,x38,x39,x42,x43,x44,x45,x46,x47,x50,x51,x52,x53,x54,x55,x58,x59,x60,x61,x62,x63から構成される。
【0100】
さらに、電力演算回路51は、クラスタップを構成する5つのDCTブロックそれぞれについて、その空間周波数帯域S0,S1,S2,S3のそれぞれに関し、量子化DCT係数のAC成分の電力P0,P1,P2,P3を演算し、クラスコード生成回路52に出力する。
【0101】
即ち、電力演算回路51は、空間周波数帯域S0については、上述の4個の量子化DCT係数x0,x1,x8,x9のうちのAC成分x1,x8,x9の2乗和x1 2+x8 2+x9 2を求め、これを、電力P0として、クラスコード生成回路52に出力する。また、電力演算回路51は、空間周波数帯域S1についての、上述の12個の量子化DCT係数のAC成分、即ち、12個すべての量子化DCT係数の2乗和を求め、これを、電力P1として、クラスコード生成回路52に出力する。さらに、電力演算回路51は、空間周波数帯域S2とS3についても、空間周波数帯域S1における場合と同様にして、それぞれの電力P2とP3を求め、クラスコード生成回路52に出力する。
【0102】
クラスコード生成回路52は、電力演算回路51からの、クラスタップを構成する5個のDCTブロックそれぞれについての電力P0,P1,P2,P3を、閾値テーブル記憶部53に記憶された、対応する閾値TH0,TH1,TH2,TH3とそれぞれ比較し、それぞれの大小関係に基づいて、クラスコードを出力する。即ち、クラスコード生成回路52は、電力P0と閾値TH0とを比較し、その大小関係を表す1ビットのコードを得る。同様に、クラスコード生成回路52は、電力P1と閾値TH1、電力P2と閾値TH2、電力P3と閾値TH3を、それぞれ比較することにより、それぞれについて、1ビットのコードを得る。
【0103】
クラスコード生成回路52は、クラスタップを構成する5個のDCTブロックそれぞれについて、上述のようにして、4つの1ビットのコード、即ち、合計で、20ビットのコードを得る。そして、クラスコード生成回路52は、この20ビットのコードを、注目画素ブロックのクラスを表すクラスコードとして出力する。この場合、注目画素ブロックは、220個のクラスのうちのいずれかにクラス分類されることになる。
【0104】
閾値テーブル記憶部53は、空間周波数帯域S0乃至S3の電力P0乃至P3とそれぞれ比較する閾値TH0乃至TH3を記憶している。
【0105】
なお、上述の場合には、クラス分類処理に、量子化DCT係数のDC成分x0が用いられないが、このDC成分x0をも用いてクラス分類処理を行うことも可能である。
【0106】
図5に戻り、以上のようなクラス分類回路43が出力するクラスコードは、係数テーブル記憶部44に、アドレスとして与えられる。
【0107】
係数テーブル記憶部44は、後述するような学習処理が行われることにより得られるタップ係数が登録された係数テーブルを記憶しており、クラス分類回路43が出力するクラスコードに対応するアドレスに記憶されているタップ係数を積和演算回路45に出力する。
【0108】
ここで、本実施の形態では、画素ブロックがクラス分類されるから、注目画素ブロックについて、1つのクラスコードが得られる。一方、画素ブロックは、本実施の形態では、8×8画素の64画素で構成されるから、注目画素ブロックについて、それを構成する64画素それぞれを復号するための64セットのタップ係数が必要である。従って、係数テーブル記憶部44には、1つのクラスコードに対応するアドレスに対して、64セットのタップ係数が記憶されている。
【0109】
積和演算回路45は、予測タップ抽出回路41が出力する予測タップと、係数テーブル記憶部44が出力するタップ係数とを取得し、その予測タップとタップ係数とを用いて、式(1)に示した線形予測演算(積和演算)を行い、その結果得られる注目画素ブロックの8×8画素の画素値を、対応するDCTブロックの復号結果として、ブロック分解回路33(図3)に出力する。
【0110】
ここで、予測タップ抽出回路41においては、上述したように、注目画素ブロックの各画素が、順次、注目画素とされるが、積和演算回路45は、注目画素ブロックの、注目画素となっている画素の位置に対応した動作モード(以下、適宜、画素位置モードという)となって、処理を行う。
【0111】
即ち、例えば、注目画素ブロックの画素のうち、ラスタスキャン順で、i番目の画素を、piと表し、画素piが、注目画素となっている場合、積和演算回路45は、画素位置モード#iの処理を行う。
【0112】
具体的には、上述したように、係数テーブル記憶部44は、注目画素ブロックを構成する64画素それぞれを復号するための64セットのタップ係数を出力するが、そのうちの画素piを復号するためのタップ係数のセットをWiと表すと、積和演算回路45は、動作モードが、画素位置モード#iのときには、予測タップと、64セットのタップ係数のうちのセットWiとを用いて、式(1)の積和演算を行い、その積和演算結果を、画素piの復号結果とする。
【0113】
次に、図9のフローチャートを参照して、図5の係数変換回路32の処理について説明する。
【0114】
エントロピー復号回路31が出力するブロックごとの量子化DCT係数は、予測タップ抽出回路41およびクラスタップ抽出回路42において順次受信され、予測タップ抽出回路41は、そこに供給される量子化DCT係数のブロック(DCTブロック)に対応する画素ブロックを、順次、注目画素ブロックとする。
【0115】
そして、クラスタップ抽出回路42は、ステップS11において、そこで受信した量子化DCT係数の中から、注目画素ブロックをクラス分類するのに用いるもの、即ち、本実施の形態では、注目画素ブロックに対応するDCTブロックと、その上下左右に隣接する4個のDCTブロックとの、合計で5個のDCTブロックの量子化DCT係数を抽出して、クラスタップを構成し、クラス分類回路43に供給する。
【0116】
クラス分類回路43は、ステップS12において、クラスタップ抽出回路42からのクラスタップを用いて、注目画素ブロックをクラス分類し、その結果得られるクラスコードを、係数テーブル記憶部44に出力する。
【0117】
即ち、ステップS12では、図10のフローチャートに示すように、まず最初に、ステップS21において、クラス分類回路43(図7)の電力演算回路51が、クラスタップを構成する5個のDCTブロックそれぞれについて、図8に示した4つの空間周波数帯域S0乃至S3それぞれの電力P0乃至P3を演算する。この電力P0乃至P3は、電力演算回路51からクラスコード生成回路52に出力される。
【0118】
クラスコード生成回路52は、ステップS22において、閾値テーブル記憶部53から閾値TH0乃至TH3を読み出し、電力演算回路51からの、クラスタップを構成する5個のDCTブロックの電力P0乃至P3それぞれと、閾値TH0乃至TH3それぞれとを比較し、それぞれの大小関係に基づいたクラスコードを生成して、リターンする。
【0119】
図9に戻り、ステップS12において以上のようにして得られるクラスコードは、クラス分類回路43から係数テーブル記憶部44に対して、アドレスとして与えられる。
【0120】
係数テーブル記憶部44は、クラス分類回路43からのアドレスとしてのクラスコードを受信すると、ステップS13において、そのアドレスに記憶されている64セットのタップ係数を読み出し、積和演算回路45に出力する。
【0121】
そして、ステップS14に進み、予測タップ抽出回路41は、注目画素ブロックの画素のうち、ラスタスキャン順で、まだ、注目画素とされていない画素を、注目画素として、その注目画素の画素値を予測するのに用いる量子化DCT係数を抽出し、予測タップとして構成する。この予測タップは、予測タップ抽出回路41から積和演算回路45に供給される。
【0122】
ここで、本実施の形態では、各画素ブロックごとに、その画素ブロックのすべての画素について、同一の予測タップが構成されるので、実際には、ステップS14の処理は、注目画素ブロックについて、最初に注目画素とされる画素に対してだけ行えば、残りの63画素に対しては、行う必要がない。
【0123】
積和演算回路45は、ステップS15において、ステップS13で係数テーブル記憶部44が出力する64セットのタップ係数のうち、注目画素に対する画素位置モードに対応するタップ係数のセットを取得し、そのタップ係数のセットと、ステップS14で予測タップ抽出回路41から供給される予測タップとを用いて、式(1)に示した積和演算を行い、注目画素の画素値の復号値を得る。
【0124】
そして、ステップS16に進み、予測タップ抽出回路41は、注目画素ブロックのすべての画素を、注目画素として処理を行ったかどうかを判定する。ステップS16において、注目画素ブロックのすべての画素を、注目画素として、まだ処理を行っていないと判定された場合、ステップS14に戻り、予測タップ抽出回路41は、注目画素ブロックの画素のうち、ラスタスキャン順で、まだ、注目画素とされていない画素を、新たに注目画素として、以下、同様の処理を繰り返す。
【0125】
また、ステップS16において、注目画素ブロックのすべての画素を、注目画素として処理を行ったと判定された場合、即ち、注目画素ブロックのすべての画素の復号値が得られた場合、積和演算回路45は、その復号値で構成される画素ブロック(復号ブロック)を、ブロック分解回路33(図3)に出力し、処理を終了する。
【0126】
なお、図9のフローチャートにしたがった処理は、予測タップ抽出回路41が、新たな注目画素ブロックを設定するごとに繰り返し行われる。
【0127】
次に、上述の場合には、クラス分類回路43において、クラスタップを構成する5つのDCTブロックそれぞれについて、同一の空間周波数帯域S0乃至S3の電力P0乃至P3を計算し、その電力に基づいて、クラス分類を行うようにしたが、その他、クラス分類は、例えば、クラスタップを構成する5つのDCTブロックの幾つかについて、異なる空間周波数帯域の電力を計算し、その電力に基づいて行うようにすることも可能である。
【0128】
即ち、例えば、図11に斜線を付して示すように、クラスタップを構成する5つのDCTブロックのうち、注目画素ブロックに対応するDCTブロック(以下、適宜、注目DCTブロックという)については、垂直方向の高周波数帯域の電力Pvおよび水平方向の高周波数帯域の電力Phを、注目DCTブロックの上に隣接するDCTブロックについては、垂直方向の高周波数帯域の電力Puを、注目DCTブロックの下に隣接するDCTブロックについては、垂直方向の高周波数帯域の電力Pdを、注目DCTブロックの左隣のDCTブロックについては、水平方向の高周波数帯域の電力Plを、注目DCTブロックの右隣のDCTブロックについては、水平方向の高周波数帯域の電力Prを、それぞれ計算し、それらの電力Pv,Ph,Pu,Pd,Pl,Prに基づき、図7および図10で説明した場合と同様にして、クラス分類を行うようにすることが可能である。
【0129】
この場合、図7に示したクラス分類回路43では、図9のステップS12において、図12に示すような処理が行われる。
【0130】
即ち、まず最初に、ステップS31において、クラス分類回路43(図7)の電力演算回路51が、クラスタップを構成する5個のDCTブロックについて、図11で説明したような各周波数帯域の電力Pv,Ph,Pu,Pd,Pl,Prを演算し、クラスコード生成回路52に出力する。
【0131】
クラスコード生成回路52は、ステップS32において、閾値テーブル記憶部53から閾値を読み出す。なお、ここでは、閾値テーブル記憶部53に、電力Pv,Ph,Pu,Pd,Pl,Prそれぞれと比較するための閾値THv,THh,THu,THd,THl,THrが記憶されているものとする。
【0132】
クラスコード生成回路52は、閾値テーブル記憶部53から閾値THv,THh,THu,THd,THl,THrを読み出すと、それぞれを、電力演算回路51からの電力Pv,Ph,Pu,Pd,Pl,Prそれぞれと比較し、それぞれの大小関係に基づいた、6個の1ビットを得る。そして、クラスコード生成回路52は、その6個の1ビットのコードからなる6ビットのコードを、クラスコードとして出力し、リターンする。従って、この場合、注目画素(注目画素ブロック)は、64(=26)個のクラスのうちのいずれかにクラス分類されることになる。
【0133】
次に、以上においては、クラスタップとしての量子化DCT係数のAC成分をクラス分類に用いるようにしたが、クラス分類は、その他、量子化DCT係数のDC成分を用いて行うことも可能である。
【0134】
即ち、クラス分類は、例えば、図13に示すように、注目DCTブロックのDC成分C0、その上下左右に隣接するDCTブロックそれぞれのDC成分Cu,Cd,Cl,Crを用いて行うことが可能である。
【0135】
この場合、図5のクラス分類回路43は、例えば、図14に示すように構成される。
【0136】
クラスタップは、差分演算回路151に供給されるようになっており、差分演算回路151は、クラスタップを構成する5個のDCTブロックのうち、注目DCTブロックの上下左右に隣接するDCTブロックのDC成分Cu,Cd,Cl,Crそれぞれと、注目DCTブロックのDC成分C0との差分の絶対値Du,Dd,Dl,Drを演算し、クラスコード生成回路152に供給する。即ち、差分演算回路151は、式Du=|Cu−C0|,Dd=|Cd−C0|,Dl=|Cl−C0|,Dr=|Cr−C0|を演算し、その演算結果を、クラスコード生成回路152に供給する。
【0137】
クラスコード生成回路152は、差分演算回路151からの演算結果(差分絶対値)Du,Dd,Dl,Drを、閾値テーブル記憶部153に記憶された、対応する閾値THu,THd,THl,THrとそれぞれ比較し、それぞれの大小関係に基づいて、クラスコードを出力する。即ち、クラスコード生成回路152は、差分絶対値Duと閾値THuとを比較し、その大小関係を表す1ビットのコードを得る。同様に、クラスコード生成回路152は、差分絶対値Ddと閾値THd、差分絶対値Dlと閾値THl、差分絶対値Drと閾値THrを、それぞれ比較することにより、それぞれについて、1ビットのコードを得る。
【0138】
そして、クラスコード生成回路152は、以上のようにして得られる4つの1ビットのコードを、例えば、所定の順番で並べることにより得られる4ビットのコード(従って、0乃至15のうちのいずれかの値)を、注目画素ブロックのクラスを表すクラスコードとして出力する。従って、この場合、注目画素ブロックは、24(=16)個のクラスのうちのいずれかにクラス分類されることになる。
【0139】
閾値テーブル記憶部153は、差分絶対値Du,Dd,Dl,Drとそれぞれ比較する閾値THu,THd,,THl,THrを記憶している。
【0140】
クラス分類回路43が図14に示したように構成される場合、図9のステップS12では、図15に示すような処理が行われる。
【0141】
即ち、この場合、まず最初に、ステップS41において、差分演算回路151は、クラスタップを構成する5個のDCTブロックそれぞれのDC成分C0,Cu,Cd,Cl,Crを用いて、上述の差分絶対値Du,Dd,Dl,Drを演算し、クラスコード生成回路152に供給する。
【0142】
クラスコード生成回路152は、ステップS42において、閾値テーブル記憶部153に記憶された閾値THu,THd,THl,THrそれぞれと、差分演算回路151からの差分絶対値Du,Dd,Dl,Drそれぞれと比較し、その大小関係を表す4つの1ビットのコードを得る。そして、クラスコード生成回路152は、その4つの1ビットのコードでなる4ビットのコードを、クラスコードとして出力し、リターンする。
【0143】
なお、クラス分類は、量子化DCT係数のAC成分だけ、またはDC成分だけを用いて行う他、AC成分およびDC成分の両方を用いて行うことも可能である。即ち、クラス分類の方法は、上述した手法に限定されるものではない。
【0144】
次に、図16は、図5の係数テーブル記憶部44に記憶させるタップ係数の学習処理を行う学習装置の一実施の形態の構成例を示している。
【0145】
ブロック化回路61には、1枚以上の学習用の画像データが供給されるようになっており、ブロック化回路61は、その学習用の画像を、JPEG符号化における場合と同様に、8×8画素の画素ブロックにブロック化する。
【0146】
DCT回路62は、ブロック化回路61がブロック化した画素ブロックを、順次、注目画素ブロックとして読み出し、その注目画素ブロックを、DCT処理することで、DCT係数のブロックとする。このDCT係数のブロックは、量子化回路63に供給される。
【0147】
量子化回路63は、DCT回路62からのDCT係数のブロックを、JPEG符号化に用いられるのと同一の量子化テーブルにしたがって量子化し、その結果得られる量子化DCT係数のブロック(DCTブロック)を、予測タップ抽出回路64およびクラスタップ抽出回路65に順次供給する。
【0148】
予測タップ抽出回路64は、注目画素ブロックの画素のうち、ラスタスキャン順で、まだ、注目画素とされていない画素を、注目画素として、その注目画素について、図5の予測タップ抽出回路41が構成するのと同一の予測タップを、量子化回路63の出力から、必要な量子化DCT係数を抽出することで構成する。この予測タップは、学習時の生徒となる生徒データとして、予測タップ抽出回路64から正規方程式加算回路67に供給される。
【0149】
クラスタップ抽出回路65は、注目画素ブロックについて、図5のクラスタップ抽出回路42が構成するのと同一のクラスタップを、量子化回路63の出力から、必要な量子化DCT係数を抽出することで構成する。このクラスタップは、クラスタップ抽出回路65からクラス分類回路66に供給される。
【0150】
クラス分類回路66は、クラスタップ抽出回路65からのクラスタップを用いて、図5のクラス分類回路43と同一の処理を行うことで、注目画素ブロックをクラス分類し、その結果得られるクラスコードを、正規方程式加算回路67に供給する。
【0151】
正規方程式加算回路67は、ブロック化回路61から、注目画素(の画素値)を教師データとして読み出し、予測タップ構成回路64からの生徒データとしての予測タップ(を構成する量子化DCT係数)、および注目画素を対象とした足し込みを行う。
【0152】
即ち、正規方程式加算回路67は、クラス分類回路66から供給されるクラスコードに対応するクラスごとに、予測タップ(生徒データ)を用い、式(8)の行列Aにおける各コンポーネントとなっている、生徒データどうしの乗算(xinim)と、サメーション(Σ)に相当する演算を行う。
【0153】
さらに、正規方程式加算回路67は、やはり、クラス分類回路66から供給されるクラスコードに対応するクラスごとに、予測タップ(生徒データ)および注目画素(教師データ)を用い、式(8)のベクトルvにおける各コンポーネントとなっている、生徒データと教師データの乗算(xini)と、サメーション(Σ)に相当する演算を行う。
【0154】
なお、正規方程式加算回路67における、上述のような足し込みは、各クラスについて、注目画素に対する画素位置モードごとに行われる。
【0155】
正規方程式加算回路67は、以上の足し込みを、ブロック化回路61に供給された学習用の画像を構成する画素すべてを注目画素として行い、これにより、各クラスについて、画素位置モードごとに、式(8)に示した正規方程式がたてられる。
【0156】
タップ係数決定回路68は、正規方程式加算回路67においてクラスごとに(かつ、画素位置モードごとに)生成された正規方程式を解くことにより、クラスごとに、64セットのタップ係数を求め、係数テーブル記憶部69の、各クラスに対応するアドレスに供給する。
【0157】
なお、学習用の画像として用意する画像の枚数や、その画像の内容等によっては、正規方程式加算回路67において、タップ係数を求めるのに必要な数の正規方程式が得られないクラスが生じる場合があり得るが、タップ係数決定回路68は、そのようなクラスについては、例えば、デフォルトのタップ係数を出力する。
【0158】
係数テーブル記憶部69は、タップ係数決定回路68から供給されるクラスごとの64セットのタップ係数を記憶する。
【0159】
次に、図17のフローチャートを参照して、図16の学習装置の処理(学習処理)について説明する。
【0160】
ブロック化回路61には、学習用の画像データが供給され、ブロック化回路61は、ステップS51において、学習用の画像データを、JPEG符号化における場合と同様に、8×8画素の画素ブロックにブロック化して、ステップS52に進む。ステップS52では、DCT回路62が、ブロック化回路61がブロック化した画素ブロックを、順次読み出し、その画素ブロックを、DCT処理することで、DCT係数のブロックとし、ステップS53に進む。ステップS53では、量子化回路63が、DCT回路62において得られたDCT係数のブロックを順次読み出し、JPEG符号化に用いられるのと同一の量子化テーブルにしたがって量子化して、量子化DCT係数で構成されるブロック(DCTブロック)とする。
【0161】
そして、ステップS54に進み、クラスタップ抽出回路65は、ブロック化回路61でブロック化された画素ブロックのうち、まだ注目画素ブロックとされていないものを、注目画素ブロックとする。さらに、クラスタップ抽出回路65は、注目画素ブロックをクラス分類するのに用いる量子化DCT係数を、量子化回路63で得られたDCTブロックから抽出して、クラスタップを構成し、クラス分類回路66に供給する。クラス分類回路66は、ステップS55において、図10のフローチャートで説明した場合と同様に、クラスタップ抽出回路65からのクラスタップを用いて、注目画素ブロックをクラス分類し、その結果得られるクラスコードを、正規方程式加算回路67に供給して、ステップS56に進む。
【0162】
ステップS56では、予測タップ抽出回路64が、注目画素ブロックの画素のうち、ラスタスキャン順で、まだ、注目画素とされていない画素を、注目画素として、その注目画素について、図5の予測タップ抽出回路41が構成するのと同一の予測タップを、量子化回路63の出力から必要な量子化DCT係数を抽出することで構成する。そして、予測タップ抽出回路64は、注目画素についての予測タップを、生徒データとして、正規方程式加算回路67に供給し、ステップS57に進む。
【0163】
ステップS57では、正規方程式加算回路67は、ブロック化回路61から、注目画素を教師データとして読み出し、生徒データとしての予測タップ(を構成する量子化DCT係数)、および教師データとしての注目画素を対象として、式(8)の行列Aとベクトルvの、上述したような足し込みを行う。なお、この足し込みは、クラス分類回路66からのクラスコードに対応するクラスごとに、かつ注目画素に対する画素位置モードごとに行われる。
【0164】
そして、ステップS58に進み、予測タップ抽出回路64は、注目画素ブロックのすべての画素を、注目画素として、足し込みを行ったかどうかを判定する。ステップS58において、注目画素ブロックのすべての画素を、注目画素として、まだ足し込みを行っていないと判定された場合、ステップS56に戻り、予測タップ抽出回路64は、注目画素ブロックの画素のうち、ラスタスキャン順で、まだ、注目画素とされていない画素を、新たに注目画素として、以下、同様の処理を繰り返す。
【0165】
また、ステップS58において、注目画素ブロックのすべての画素を、注目画素として、足し込みを行ったと判定された場合、ステップS59に進み、ブロック化回路61は、学習用の画像から得られたすべての画素ブロックを、注目画素ブロックとして処理を行ったかどうかを判定する。ステップS59において、学習用の画像から得られたすべての画素ブロックを、注目画素ブロックとして、まだ処理を行っていないと判定された場合、ステップS54に戻り、ブロック化回路61でブロック化された画素ブロックのうち、まだ注目画素ブロックとされていないものが、新たに注目画素ブロックとされ、以下、同様の処理が繰り返される。
【0166】
一方、ステップS59において、学習用の画像から得られたすべての画素ブロックを、注目画素ブロックとして処理を行ったと判定された場合、即ち、正規方程式加算回路67において、各クラスについて、画素位置モードごとの正規方程式が得られた場合、ステップS60に進み、タップ係数決定回路68は、各クラスの画素位置モードごとに生成された正規方程式を解くことにより、各クラスごとに、そのクラスの64の画素位置モードそれぞれに対応する64セットのタップ係数を求め、係数テーブル記憶部69の、各クラスに対応するアドレスに供給して記憶させ、処理を終了する。
【0167】
以上のようにして、係数テーブル記憶部69に記憶された各クラスごとのタップ係数が、図5の係数テーブル記憶部44に記憶されている。
【0168】
従って、係数テーブル記憶部44に記憶されたタップ係数は、線形予測演算を行うことにより得られる元の画素値の予測値の予測誤差(ここでは、自乗誤差)が、統計的に最小になるように学習を行うことにより求められたものであり、その結果、図5の係数変換回路32によれば、JPEG符号化された画像を、元の画像に限りなく近い画像に復号することができる。
【0169】
また、上述したように、JPEG符号化された画像の復号処理と、その画質を向上させるための処理とが、同時に施されることとなるので、JPEG符号化された画像から、効率的に、画質の良い復号画像を得ることができる。
【0170】
次に、図18は、図3の係数変換回路32の第2の構成例を示している。なお、図中、図5における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図18の係数変換回路32は、逆量子化回路71が新たに設けられている他は、基本的に、図5における場合と同様に構成されている。
【0171】
図18の実施の形態において、逆量子化回路71には、エントロピー復号回路31(図3)において符号化データをエントロピー復号することにより得られるブロックごとの量子化DCT係数が供給される。
【0172】
なお、エントロピー復号回路31においては、上述したように、符号化データから、量子化DCT係数の他、量子化テーブルも得られるが、図18の実施の形態では、この量子化テーブルも、エントロピー復号回路31から逆量子化回路71に供給されるようになっている。
【0173】
逆量子化回路71は、エントロピー復号回路31からの量子化DCT係数を、同じくエントロピー復号回路31からの量子化テーブルにしたがって逆量子化し、その結果られるDCT係数を、予測タップ抽出回路41およびクラスタップ抽出回路42に供給する。
【0174】
従って、予測タップ抽出回路41とクラスタップ抽出回路42では、量子化DCT係数ではなく、DCT係数を対象として、予測タップとクラスタップがそれぞれ構成され、以降も、DCT係数を対象として、図5における場合と同様の処理が行われる。
【0175】
このように、図18の実施の形態では、量子化DCT係数ではなく、DCT係数(量子化DCT係数を逆量子化したもの)を対象として処理が行われるため、係数テーブル記憶部44に記憶させるタップ係数は、図5における場合と異なるものとする必要がある。
【0176】
そこで、図19は、図18の係数テーブル記憶部44に記憶させるタップ係数の学習処理を行う学習装置の一実施の形態の構成例を示している。なお、図中、図16における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図19の学習装置は、量子化回路63の後段に、逆量子化回路81が新たに設けられている他は、図16における場合と基本的に同様に構成されている。
【0177】
図19の実施の形態において、逆量子化回路81は、逆量子化回路63が出力する量子化DCT係数を、図18の逆量子化回路71と同様に逆量子化し、その結果得られるDCT係数を、予測タップ抽出回路64およびクラスタップ抽出回路65に供給する。
【0178】
従って、予測タップ抽出回路64とクラスタップ抽出回路65では、量子化DCT係数ではなく、DCT係数を対象として、予測タップとクラスタップがそれぞれ構成され、以降も、DCT係数を対象として、図16における場合と同様の処理が行われる。
【0179】
その結果、DCT係数が量子化され、さらに逆量子化されることにより生じる量子化誤差の影響を低減するタップ係数が得られることになる。
【0180】
次に、図20は、図3の係数変換回路32の第3の構成例を示している。なお、図中、図5における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図20の係数変換回路32は、積和演算回路45の後段に、逆DCT回路101が新たに設けられている他は、基本的に、図5における場合と同様に構成されている。
【0181】
逆DCT回路101は、積和演算回路45の出力を逆DCT処理することにより、画像に復号して出力する。従って、図20の実施の形態では、積和演算回路45は、予測タップ抽出回路41が出力する予測タップを構成する量子化DCT係数と、係数テーブル記憶部44に記憶されたタップ係数とを用いた積和演算を行うことにより、DCT係数を出力する。
【0182】
このように、図20の実施の形態では、量子化DCT係数が、タップ係数との積和演算により、画素値に復号されるのではなく、DCT係数に変換され、さらに、そのDCT係数が、逆DCT回路101で逆DCTされることにより、画素値に復号される。従って、係数テーブル記憶部44に記憶させるタップ係数は、図5における場合と異なるものとする必要がある。
【0183】
そこで、図21は、図20の係数テーブル記憶部44に記憶させるタップ係数の学習処理を行う学習装置の一実施の形態の構成例を示している。なお、図中、図16における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図21の学習装置は、正規方程式加算回路67に対し、教師データとして、学習用の画像の画素値ではなく、DCT回路62が出力する、学習用の画像をDCT処理したDCT係数が与えられるようになっている他は、図16における場合と同様に構成されている。
【0184】
従って、図21の実施の形態では、正規方程式加算回路67が、DCT回路62が出力するDCT係数を教師データとするとともに、予測タップ構成回路64が出力する予測タップを構成する量子化DCT係数を生徒データとして、上述の足し込みを行う。そして、タップ係数決定回路68は、そのような足し込みにより得られる正規方程式を解くことにより、タップ係数を求める。その結果、図21の学習装置では、量子化DCT係数を、量子化回路63における量子化による量子化誤差を低減(抑制)したDCT係数に変換するタップ係数が求められることになる。
【0185】
図20の係数変換回路32では、積和演算回路45が、上述のようなタップ係数を用いて積和演算を行うため、その出力は、予測タップ抽出回路41が出力する量子化DCT係数を、その量子化誤差を低減したDCT係数に変換したものとなっている。従って、そのようなDCT係数が、逆DCT回路101で逆DCTされることにより、量子化誤差の影響による画質の劣化を低減した復号画像が得られることになる。
【0186】
次に、図22は、図3の係数変換回路32の第4の構成例を示している。なお、図中、図5、図18、または図20における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図22の係数変換回路32は、図18における場合と同様に、逆量子化回路71が新たに設けられ、かつ、図20における場合と同様に、逆DCT回路101が新たに設けられている他は、図5における場合と同様に構成されている。
【0187】
従って、図22の実施の形態では、予測タップ抽出回路41とクラスタップ抽出回路42では、量子化DCT係数ではなく、DCT係数を対象として、予測タップとクラスタップがそれぞれ構成される。さらに、図22の実施の形態では、積和演算回路45は、予測タップ抽出回路41が出力する予測タップを構成するDCT係数と、係数テーブル記憶部44に記憶されたタップ係数とを用いた積和演算を行うことにより、量子化誤差を低減したDCT係数を得て、逆DCT回路101に出力する。
【0188】
次に、図23は、図22の係数テーブル記憶部44に記憶させるタップ係数の学習処理を行う学習装置の一実施の形態の構成例を示している。なお、図中、図16、図19、または図21における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図23の学習装置は、図19における場合と同様に、逆量子化回路81が新たに設けられ、さらに、図21における場合と同様に、正規方程式加算回路67に対し、教師データとして、学習用の画像の画素値ではなく、DCT回路62が出力する、学習用の画像をDCT処理したDCT係数が与えられるようになっている他は、図16における場合と同様に構成されている。
【0189】
従って、図23の実施の形態では、正規方程式加算回路67が、DCT回路62が出力するDCT係数(量子化誤差のないDCT係数)を教師データとするとともに、予測タップ構成回路64が出力する予測タップを構成するDCT係数(量子化されて逆量子化されたDCT係数)を生徒データとして、上述の足し込みを行う。そして、タップ係数決定回路68は、そのような足し込みにより得られる正規方程式を解くことにより、タップ係数を求める。その結果、図23の学習装置では、量子化され、さらに逆量子化されたDCT係数を、その量子化および逆量子化による量子化誤差を低減したDCT係数に変換するタップ係数が求められることになる。
【0190】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0191】
そこで、図24は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【0192】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク205やROM203に予め記録しておくことができる。
【0193】
あるいはまた、プログラムは、フロッピーディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体211に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体211は、いわゆるパッケージソフトウエアとして提供することができる。
【0194】
なお、プログラムは、上述したようなリムーバブル記録媒体211からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部208で受信し、内蔵するハードディスク205にインストールすることができる。
【0195】
コンピュータは、CPU(Central Processing Unit)202を内蔵している。CPU202には、バス201を介して、入出力インタフェース210が接続されており、CPU202は、入出力インタフェース210を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部207が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)203に格納されているプログラムを実行する。あるいは、また、CPU202は、ハードディスク205に格納されているプログラム、衛星若しくはネットワークから転送され、通信部208で受信されてハードディスク205にインストールされたプログラム、またはドライブ209に装着されたリムーバブル記録媒体211から読み出されてハードディスク205にインストールされたプログラムを、RAM(Random Access Memory)204にロードして実行する。これにより、CPU202は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU202は、その処理結果を、必要に応じて、例えば、入出力インタフェース210を介して、LCD(Liquid CryStal Display)やスピーカ等で構成される出力部206から出力、あるいは、通信部208から送信、さらには、ハードディスク205に記録等させる。
【0196】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
【0197】
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0198】
なお、本実施の形態では、画像データを対象としたが、本発明は、その他、例えば、音声データにも適用可能である。
【0199】
さらに、本実施の形態では、静止画を圧縮符号化するJPEG符号化された画像を対象としたが、本発明は、動画を圧縮符号化する、例えば、MPEG符号化された画像を対象とすることも可能である。
【0200】
また、本実施の形態では、少なくとも、DCT処理を行うJPEG符号化された符号化データの復号を行うようにしたが、本発明は、その他の直交変換または周波数変換によって、ブロック単位(ある所定の単位)で変換されたデータの復号や変換に適用可能である。即ち、本発明は、例えば、サブバンド符号化されたデータや、フーリエ変換されたデータ等を復号したり、それらの量子化誤差等を低減したデータに変換する場合にも適用可能である。
【0201】
さらに、本実施の形態では、デコーダ22において、タップ係数を、あらかじめ記憶しておくようにしたが、タップ係数は、符号化データに含めて、デコーダ22に提供するようにすることが可能である。
【0202】
また、本実施の形態では、タップ係数を用いた線形1次予測演算によって、復号や変換を行うようにしたが、復号および変換は、その他、2次以上の高次の予測演算によって行うことも可能である。
【0203】
さらに、本実施の形態では、クラスタップを、注目画素に対応するDCTブロックの量子化DCT係数だけでなく、他のDCTブロックの量子化DCT係数をも用いて構成するようにしたが、予測タップも、同様に構成することが可能である。
【0204】
【発明の効果】
本発明の第1のデータ処理装置およびデータ処理方法、並びに記録媒体によれば、効率的に、変換データから、元のデータの予測値を求めることが可能となる。
【0205】
本発明の第2のデータ処理装置およびデータ処理方法、並びに記録媒体によれば、効率的に、直交変換または周波数変換されたデータから元のデータの予測値を求めることが可能となる。
【図面の簡単な説明】
【図1】従来のJPEG符号化/復号を説明するための図である。
【図2】本発明を適用した画像伝送システムの一実施の形態の構成例を示す図である。
【図3】図2のデコーダ22の構成例を示すブロック図である。
【図4】図3のデコーダ22の処理を説明するフローチャートである。
【図5】図3の係数変換回路32の第1の構成例を示すブロック図である。
【図6】クラスタップの例を説明する図である。
【図7】図5のクラス分類回路43の構成例を示すブロック図である。
【図8】電力演算回路51の処理を説明するための図である。
【図9】図5の係数変換回路32の処理を説明するフローチャートである。
【図10】図9のステップS12の処理のより詳細を説明するフローチャートである。
【図11】クラス分類の方法を説明するための図である。
【図12】図5のクラス分類回路43の処理を説明するフローチャートである。
【図13】クラス分類の他の方法を説明するための図である。
【図14】図5のクラス分類回路43の他の構成例を示すブロック図である。
【図15】図14のクラス分類回路43の処理を説明するフローチャートである。
【図16】タップ係数を学習する学習装置の第1実施の形態の構成例を示すブロック図である。
【図17】図16の学習装置の処理を説明するフローチャートである。
【図18】図3の係数変換回路32の第2の構成例を示すブロック図である。
【図19】学習装置の第2実施の形態の構成例を示すブロック図である。
【図20】図3の係数変換回路32の第3の構成例を示すブロック図である。
【図21】学習装置の第3実施の形態の構成例を示すブロック図である。
【図22】図3の係数変換回路32の第4の構成例を示すブロック図である。
【図23】学習装置の第4実施の形態の構成例を示すブロック図である。
【図24】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
21 エンコーダ, 22 デコーダ, 23 記録媒体, 24 伝送媒体, 31 エントロピー復号回路, 32 係数変換回路, 33 ブロック分解回路, 41 予測タップ抽出回路, 42 クラスタップ抽出回路, 43クラス分類回路, 44 係数テーブル記憶部, 45積和演算回路, 51電力演算回路, 52 クラスコード生成回路, 53 閾値テーブル記憶部, 61 ブロック化回路, 62 DCT回路, 63 量子化回路, 64予測タップ抽出回路, 65 クラスタップ抽出回路, 66 クラス分類回路, 67 正規方程式加算回路, 68 タップ係数決定回路, 69 係数テーブル記憶部, 71,81 逆量子化回路, 91 逆量子化回路, 101 逆DCT回路, 151 差分演算回路, 152 クラスコード生成回路, 153 閾値テーブル記憶部, 201 バス, 202 CPU, 203 ROM, 204 RAM, 205 ハードディスク, 206 出力部, 207 入力部, 208 通信部, 209 ドライブ, 210 入出力インタフェース, 211 リムーバブル記録媒体[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data processing device, a data processing method, and a recording medium, and more particularly, to a data processing device, a data processing method, and a recording medium that are suitable for use in, for example, decoding an irreversible compressed image.
[0002]
[Prior art]
For example, since digital image data has a large amount of data, a large-capacity recording medium or transmission medium is required to perform recording or transmission as it is. In general, therefore, image data is compressed and encoded to reduce the amount of data before recording or transmission.
[0003]
As a method for compressing and encoding an image, for example, there are a JPEG (Joint Photographic Experts Group) method that is a compression encoding method for still images, an MPEG (Moving Picture Experts Group) method that is a compression encoding method for moving images, and the like. .
[0004]
For example, encoding / decoding of image data by the JPEG method is performed as shown in FIG.
[0005]
That is, FIG. 1A shows a configuration of an example of a conventional JPEG encoding apparatus.
[0006]
The image data to be encoded is input to the block forming circuit 1, and the block forming circuit 1 divides the image data input thereto into blocks of 64 pixels of 8 × 8 pixels. Each block obtained by the blocking circuit 1 is supplied to a DCT (Discrete Cosine Transform) circuit 2. The DCT circuit 2 performs a DCT (Discrete Cosine Transform) process on the block from the blocking circuit 1 to generate one DC (Direct Current) component (DC component) and 63 in the horizontal and vertical directions. The frequency components (AC (Alternating Current) components) (alternating current components) are converted into a total of 64 DCT coefficients. The 64 DCT coefficients for each block are supplied from the DCT circuit 2 to the quantization circuit 3.
[0007]
The quantization circuit 3 quantizes the DCT coefficient from the DCT circuit 2 in accordance with a predetermined quantization table, and uses the quantization result (hereinafter, appropriately referred to as “quantized DCT coefficient”) for quantization. At the same time, it is supplied to the entropy encoding circuit 4.
[0008]
Here, FIG. 1B shows an example of a quantization table used in the quantization circuit 3. In general, the quantization table takes into account human visual characteristics and finely quantizes low-frequency DCT coefficients that are highly important, and coarsely quantizes low-frequency high-frequency DCT coefficients. Thus, it is possible to suppress the deterioration of the image quality of the image and perform efficient compression.
[0009]
The entropy coding circuit 4 performs entropy coding processing such as Huffman coding on the quantized DCT coefficient from the quantization circuit 3, and adds the quantization table from the quantization circuit 3, for example. The encoded data obtained as a result is output as a JPEG encoding result.
[0010]
Next, FIG. 1C shows a configuration of an example of a conventional JPEG decoding apparatus that decodes encoded data output from the JPEG encoding apparatus of FIG.
[0011]
The encoded data is input to the entropy decoding circuit 11, and the entropy decoding circuit 11 separates the encoded data into entropy-coded quantized DCT coefficients and a quantization table. Further, the entropy decoding circuit 11 entropy-decodes the entropy-coded quantized DCT coefficients, and supplies the resulting quantized DCT coefficients to the inverse quantization circuit 12 together with the quantization table. The inverse quantization circuit 12 inversely quantizes the quantized DCT coefficient from the entropy decoding circuit 11 according to the quantization table from the entropy decoding circuit 11, and supplies the DCT coefficient obtained as a result to the inverse DCT circuit 13. . The inverse DCT circuit 13 performs inverse DCT processing on the DCT coefficients from the inverse quantization circuit 12 and supplies the resulting 8 × 8 pixel (decoded) block to the block decomposition circuit 14. The block decomposition circuit 14 obtains and outputs a decoded image by unblocking the block from the inverse DCT circuit 13.
[0012]
[Problems to be solved by the invention]
In the JPEG encoding apparatus of FIG. 1A, the data amount of encoded data can be reduced by increasing the quantization step of the quantization table used for block quantization in the quantization circuit 3. . That is, high compression can be realized.
[0013]
However, if the quantization step is increased, so-called quantization error also increases, so that the image quality of the decoded image obtained by the JPEG decoding device in FIG. That is, blur, block distortion, mosquito noise, and the like appear significantly in the decoded image.
[0014]
Therefore, in order to prevent the image quality of the decoded image from deteriorating while reducing the data amount of the encoded data, or to maintain the data amount of the encoded data and improve the image quality of the decoded image, JPEG After decoding, it is necessary to perform some processing for improving image quality.
[0015]
However, performing the processing for improving the image quality after JPEG decoding makes the processing complicated, and the time until a decoded image is finally obtained also becomes long.
[0016]
The present invention has been made in view of such a situation, and makes it possible to efficiently obtain a decoded image with good image quality from a JPEG-encoded image or the like.
[0017]
[Means for Solving the Problems]
  The first data processing apparatus according to the present invention includes an acquisition unit that acquires a tap coefficient obtained by performing learning, and classifying attention data that is data of interest into one of several classes. The conversion data used for classification is extracted from at least a block other than the block corresponding to the data of interest, and is output as a class tap, and a discrete cosine transform, which is conversion data that is a class tap, is performed. Class classification means for classifying the class of attention data based on the DC component or AC component power of the data, linear tap prediction of the class of attention data, and conversion data is performed. And calculating means for obtaining the predicted value of the data of interest, and the tap coefficient isIt is obtained by applying at least discrete cosine transform processing to the teacher data that becomes the teacher at the time of learning in a predetermined block unitThe block-unit conversion data is generated as student data to be students at the time of learning. Among the data used as teacher data to be teachers at the time of learning, some of the attention teacher data that is attention teacher data The student data used for classifying into any of the classes is extracted from at least blocks other than the block corresponding to the teacher data of interest, and output as class taps. Classifying the class of attention teacher data based on the DC component or AC component power of the discrete cosine transformed data, and performing linear primary prediction calculation of the tap coefficient for each class and student data The learning process is performed so that the prediction error of the predicted value of the teacher data obtained by And characterized in that the obtained every.
[0019]
The first data processing apparatus can further be provided with storage means for storing tap coefficients. In this case, the acquisition means can acquire the tap coefficients from the storage means.
[0022]
  In the first data processing apparatus, the class tap extraction means includes a note.EyesConversion data to be class taps can be extracted from blocks around the block corresponding to the data.
[0023]
  In the first data processing apparatus, the class tap extraction means includes a note.EyesConversion data as class taps can also be extracted from the block corresponding to the data.
[0025]
In the first data processing device, the data can be moving image or still image data.
[0026]
  In the first data processing method of the present invention, an acquisition step of acquiring a tap coefficient obtained by learning, and attention data that is data of interest are classified into one of several classes. The conversion data used for classification is extracted from at least a block other than the block corresponding to the data of interest and is output as a class tap, and a discrete cosine conversion is performed on the converted data that is the class tap. A class classification step for classifying the class of attention data based on the DC component or AC component power of the obtained data, and performing linear primary prediction calculation of the tap coefficient of the class of attention data and the conversion data And a calculation step for obtaining a predicted value of attention data, and the tap coefficient isIt is obtained by applying at least discrete cosine transform processing to the teacher data that becomes the teacher at the time of learning in a predetermined block unitThe block-unit conversion data is generated as student data to be students at the time of learning. Among the data used as teacher data to be teachers at the time of learning, some of the attention teacher data that is attention teacher data The student data used for classifying into any of the classes is extracted from at least blocks other than the block corresponding to the teacher data of interest, and output as class taps. Classifying the class of attention teacher data based on the DC component or AC component power of the discrete cosine transformed data, and performing linear primary prediction calculation of the tap coefficient for each class and student data The learning process is performed so that the prediction error of the predicted value of the teacher data obtained by And characterized in that the obtained every.
[0027]
  The first recording medium of the present invention includes an acquisition step of acquiring a tap coefficient obtained by learning, and classifying attention data that is data of interest into one of several classes. The conversion data used to perform the extraction is at least a block other than the block corresponding to the data of interest, and is output as a class tap, and a discrete cosine transform, which is the conversion data that is the class tap, is performed. A class classification step for performing class classification for obtaining a class of attention data based on the direct current component or the power of the alternating current component of data, and performing linear primary prediction calculation of the tap coefficient of the attention data class and conversion data , A computer recording a program for executing a calculation step for obtaining a predicted value of attention data A readable recording medium, the tap coefficients,It is obtained by applying at least discrete cosine transform processing to the teacher data that becomes the teacher at the time of learning in a predetermined block unitThe block-unit conversion data is generated as student data to be students at the time of learning. Among the data used as teacher data to be teachers at the time of learning, some of the attention teacher data that is attention teacher data The student data used for classifying into any of the classes is extracted from at least blocks other than the block corresponding to the teacher data of interest, and output as class taps. Classifying the class of attention teacher data based on the DC component or AC component power of the discrete cosine transformed data, and performing linear primary prediction calculation of the tap coefficient for each class and student data The learning process is performed so that the prediction error of the predicted value of the teacher data obtained by And characterized in that the obtained every.
[0028]
  The second data processing apparatus of the present inventionIt is obtained by applying at least discrete cosine transform processing to the teacher data that becomes the teacher at the time of learning in a predetermined block unitGeneration means for generating block-unit conversion data as student data to be a student at the time of learning, and attention teacher data that is attention teacher data among data used as teacher data to be a teacher at the time of learning Class tap extraction means for extracting student data used for classifying into any of several classes from at least blocks other than the block corresponding to the teacher data of interest and outputting as class taps; Class classification means for classifying the class of attention teacher data based on the direct current component or the power of the alternating current component of the discrete cosine transformed data which is the student data, the tap coefficient for each class, The prediction error of the prediction value of the teacher data obtained by performing the linear primary prediction calculation with the student data is Total to perform learning so as to minimize the tap coefficients, characterized in that it comprises a learning means for determining for each class.
[0032]
In the second data processing device, the class tap extraction means can extract student data as class taps from blocks around the block corresponding to the teacher data of interest.
[0033]
In the second data processing apparatus, the class tap extraction means can extract student data as class taps from the block corresponding to the teacher data of interest.
[0034]
In the second data processing device, the data can be moving image or still image data.
[0035]
  The second data processing method of the present invention includes:It is obtained by applying at least discrete cosine transform processing to the teacher data that becomes the teacher at the time of learning in a predetermined block unitA generation step for generating block-unit conversion data as student data to be a student at the time of learning, and attention teacher data that is attention teacher data among data used as teacher data to be a teacher at the time of learning A class tap extraction step for extracting student data used for classifying into any of several classes from at least blocks other than the block corresponding to the teacher data of interest and outputting as class taps; Class classification step for classifying the class of attention teacher data based on the DC component or AC component power of the discrete cosine transformed data, which is the student data, and the tap coefficient for each class, Of the predicted value of the teacher data obtained by performing the linear primary prediction calculation with the student data Measurement error, learns to be statistically minimum, the tap coefficients, characterized in that it comprises a learning step of determining for each class.
[0036]
  The second recording medium of the present invention isIt is obtained by applying at least discrete cosine transform processing to the teacher data that becomes the teacher at the time of learning in a predetermined block unitA generation step for generating block-unit conversion data as student data to be a student at the time of learning, and attention teacher data that is attention teacher data among data used as teacher data to be a teacher at the time of learning A class tap extraction step for extracting student data used for classifying into any of several classes from at least blocks other than the block corresponding to the teacher data of interest and outputting as class taps; Class classification step for classifying the class of attention teacher data based on the DC component or AC component power of the discrete cosine transformed data, which is the student data, and the tap coefficient for each class, Of the predicted value of the teacher data obtained by performing the linear primary prediction calculation with the student data Measurement error, learns to be statistically minimum, the tap coefficients, a program for executing the learning step of calculating for each class is characterized in that it is recorded.
[0037]
  In the first data processing apparatus, data processing method, and recording medium of the present invention, at least conversion data used for classifying attention data into any of several classes corresponds to attention data. Are extracted from blocks other than the block to be output and output as class taps. Based on the DC data or AC component power of the discrete cosine transformed data, which is the converted data that is the class tap, class classification for obtaining the class of the target data is performed, and the class of the target data is tapped. A prediction value of the data of interest is obtained by performing a linear primary prediction calculation of the coefficient and the conversion data. And the tap coefficient isIt is obtained by applying at least discrete cosine transform processing to the teacher data that becomes the teacher at the time of learning in a predetermined block unitThe block-unit conversion data is generated as student data to be students at the time of learning. Among the data used as teacher data to be teachers at the time of learning, some of the attention teacher data that is attention teacher data The student data used for classifying into any of the classes is extracted from at least blocks other than the block corresponding to the teacher data of interest, and output as class taps. Classifying the class of attention teacher data based on the DC component or AC component power of the discrete cosine transformed data, and performing linear primary prediction calculation of the tap coefficient for each class and student data The learning process is performed so that the prediction error of the predicted value of the teacher data obtained by It is those that are required for each.
[0038]
  In the second data processing apparatus, data processing method, and recording medium of the present invention, the student data used to classify the attention teacher data into any of several classes is at least attention teacher data. Are extracted from blocks other than those corresponding to, and output as class taps. In addition, the class tapPower of DC component or AC component of discrete cosine transformed data that is student dataBased on the above, class classification for obtaining a class of attention teacher data is performed. And tap coefficient for each classWhen,Student dataLinear primary prediction operation withLearning is performed so that the prediction error of the predicted value of the teacher data obtained by performing the above is statistically minimized, and the tap coefficient is obtained for each class.
[0039]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 2 shows a configuration example of an embodiment of an image transmission system to which the present invention is applied.
[0040]
The image data to be transmitted is supplied to the encoder 21. The encoder 21 performs, for example, JPEG encoding on the image data supplied thereto to obtain encoded data. That is, the encoder 21 is configured in the same manner as the JPEG encoding apparatus shown in FIG. 1A, for example, and JPEG encodes image data. The encoded data obtained by JPEG encoding by the encoder 21 is recorded on a recording medium 23 made of, for example, a semiconductor memory, a magneto-optical disk, a magnetic disk, an optical disk, a magnetic tape, a phase change disk, or the like. For example, the transmission is performed via a transmission medium 24 including a terrestrial wave, a satellite line, a CATV (Cable Television) network, the Internet, and a public line.
[0041]
The decoder 22 receives the encoded data provided via the recording medium 23 or the transmission medium 24 and decodes the original image data. The decoded image data is supplied to a monitor (not shown) and displayed, for example.
[0042]
Next, FIG. 3 shows a configuration example of the decoder 22 of FIG.
[0043]
The encoded data is supplied to the entropy decoding circuit 31. The entropy decoding circuit 31 entropy-decodes the encoded data, and obtains the quantized DCT coefficient Q for each block obtained as a result as a coefficient. This is supplied to the conversion circuit 32. The encoded data includes a quantization table in addition to the entropy-encoded quantized DCT coefficients as in the case of the entropy decoding circuit 11 in FIG. 1C. As will be described later, it can be used for decoding quantized DCT coefficients as necessary.
[0044]
The coefficient conversion circuit 32 performs a predetermined prediction operation using the quantized DCT coefficient Q from the entropy decoding circuit 31 and a tap coefficient obtained by performing learning described later, thereby performing a quantized DCT coefficient for each block. Are decoded into an original block of 8 × 8 pixels.
[0045]
The block decomposition circuit 33 obtains and outputs a decoded image by unblocking the decoded block (decoded block) obtained in the coefficient conversion circuit 32.
[0046]
Next, processing of the decoder 22 in FIG. 3 will be described with reference to the flowchart in FIG.
[0047]
The encoded data is sequentially supplied to the entropy decoding circuit 31. In step S1, the entropy decoding circuit 31 entropy decodes the encoded data and supplies the quantized DCT coefficient Q for each block to the coefficient conversion circuit 32. In step S2, the coefficient conversion circuit 32 decodes the quantized DCT coefficient Q for each block from the entropy decoding circuit 31 into a pixel value for each block by performing a prediction calculation using a tap coefficient, and a block decomposition circuit. 33. In step S3, the block decomposition circuit 33 performs block decomposition to unblock the pixel value block (decoded block) from the coefficient conversion circuit 32, outputs a decoded image obtained as a result, and ends the processing.
[0048]
Next, the coefficient conversion circuit 32 in FIG. 3 can decode the quantized DCT coefficients into pixel values by using, for example, class classification adaptive processing.
[0049]
Class classification adaptive processing consists of class classification processing and adaptive processing. Data is classified into classes based on their properties by class classification processing, and adaptive processing is performed for each class. It is of the technique like.
[0050]
That is, in the adaptive processing, for example, the predicted value of the original pixel is obtained by linear combination of the quantized DCT coefficient and a predetermined tap coefficient, so that the quantized DCT coefficient is decoded into the original pixel value.
[0051]
Specifically, for example, a certain image is used as teacher data, and the image is subjected to DCT processing in units of blocks, and further quantized DCT coefficients obtained by quantization are used as student data, and the pixel of the teacher data is determined. The predicted value E [y] of the pixel value y is converted into several quantized DCT coefficients x1, X2, ... and a predetermined tap coefficient w1, W2Consider a linear primary combination model defined by the linear combination of. In this case, the predicted value E [y] can be expressed by the following equation.
[0052]
E [y] = w1x1+ W2x2+ ・ ・ ・ (1)
[0053]
To generalize equation (1), tap coefficient wjA matrix W consisting ofijAnd a predicted value E [yj] Is a matrix Y ′ consisting of
[Expression 1]
Figure 0004678454
Then, the following observation equation holds.
[0054]
XW = Y ′ (2)
Here, the component x of the matrix XijIs a set of i-th student data (i-th teacher data yiThe j-th student data in the set of student data used for the prediction ofjRepresents a tap coefficient by which a product with the jth student data in the student data set is calculated. YiRepresents the i-th teacher data, and thus E [yi] Represents the predicted value of the i-th teacher data. Note that y on the left side of Equation (1) is the component y of the matrix Y.iThe suffix i is omitted, and x on the right side of Equation (1)1, X2,... Are also components x of the matrix XijThe suffix i is omitted.
[0055]
Then, it is considered to apply the least square method to this observation equation to obtain a predicted value E [y] close to the original pixel value y. In this case, a matrix Y composed of a set of true pixel values y serving as teacher data and a matrix E composed of a set of residuals e of predicted values E [y] for the pixel values y are
[Expression 2]
Figure 0004678454
From the equation (2), the following residual equation is established.
[0056]
XW = Y + E (3)
[0057]
In this case, the tap coefficient w for obtaining the predicted value E [y] close to the original pixel value y.jIs the square error
[Equation 3]
Figure 0004678454
Can be obtained by minimizing.
[0058]
Therefore, the above square error is converted to the tap coefficient w.jWhen the value differentiated by 0 is 0, that is, the tap coefficient w satisfying the following equationjHowever, this is the optimum value for obtaining the predicted value E [y] close to the original pixel value y.
[0059]
[Expression 4]
Figure 0004678454
... (4)
[0060]
Therefore, first, the equation (3) is changed to the tap coefficient w.jIs differentiated by the following equation.
[0061]
[Equation 5]
Figure 0004678454
... (5)
[0062]
From equations (4) and (5), equation (6) is obtained.
[0063]
[Formula 6]
Figure 0004678454
... (6)
[0064]
Furthermore, the student data x in the residual equation of equation (3)ij, Tap coefficient wj, Teacher data yiAnd residual eiConsidering this relationship, the following normal equation can be obtained from the equation (6).
[0065]
[Expression 7]
Figure 0004678454
... (7)
[0066]
In addition, the normal equation shown in Expression (7) has a matrix (covariance matrix) A and a vector v,
[Equation 8]
Figure 0004678454
And the vector W is defined as shown in Equation 1,
AW = v (8)
Can be expressed as
[0067]
Each normal equation in equation (7) is the student data xijAnd teacher data yiBy preparing a certain number of sets, a tap coefficient w to be obtainedjTherefore, by solving equation (8) with respect to vector W (however, to solve equation (8), matrix A in equation (8) is regular). Required), the optimal tap coefficient (here, the tap coefficient that minimizes the square error) wjCan be requested. In solving the equation (8), for example, a sweeping method (Gauss-Jordan elimination method) or the like can be used.
[0068]
As described above, the optimum tap coefficient wjAnd tap coefficient wjThe adaptive processing is to obtain the predicted value E [y] close to the original pixel value y using the equation (1).
[0069]
For example, when an image having the same image quality as an image to be JPEG-encoded is used as teacher data, and a quantized DCT coefficient obtained by DCT and quantizing the teacher data is used as student data, tap coefficients are In this case, when JPEG-encoded image data is decoded into the original image data, an image having a statistically minimum prediction error is obtained.
[0070]
Therefore, even if the compression rate at the time of performing JPEG encoding is increased, that is, even if the quantization step used for quantization is rough, according to the adaptive processing, a decoding process in which the prediction error is statistically minimized. In effect, the decoding process of the JPEG-encoded image and the process for improving the image quality are performed simultaneously. As a result, the image quality of the decoded image can be maintained even when the compression rate is increased.
[0071]
Further, for example, an image having higher image quality than the image to be JPEG encoded is used as the teacher data, and the image quality of the teacher data is deteriorated to the same image quality as the image to be JPEG encoded as the student data. When quantized DCT coefficients obtained by quantization are used, as tap coefficients, JPEG-encoded image data is decoded into high-quality image data, and the prediction error is statistically minimized. Will be obtained.
[0072]
Therefore, in this case, according to the adaptive processing, the decoding processing of the JPEG-encoded image and the processing for further improving the image quality are performed at the same time. Note that, as described above, it is possible to obtain a tap coefficient that sets the image quality of the decoded image to an arbitrary level by changing the image quality of the image that becomes teacher data or student data.
[0073]
In the above case, the image data is used as the teacher data and the quantized DCT coefficient is used as the student data. However, for example, the DCT coefficient is used as the teacher data and the DCT coefficient is used as the student data. It is also possible to use quantized quantized DCT coefficients. In this case, according to the adaptive processing, a tap coefficient for predicting a DCT coefficient in which a quantization error is reduced (suppressed) is obtained from the quantized DCT coefficient.
[0074]
FIG. 5 shows a first configuration example of the coefficient conversion circuit 32 of FIG. 3 that decodes the quantized DCT coefficients into pixel values by the class classification adaptive processing as described above.
[0075]
The quantized DCT coefficients for each block output from the entropy decoding circuit 31 (FIG. 3) are supplied to the prediction tap extraction circuit 41 and the class tap extraction circuit.
[0076]
The prediction tap extraction circuit 41 has a block of pixel values corresponding to a block of quantized DCT coefficients (hereinafter referred to as a DCT block as appropriate) supplied thereto (the block of pixel values does not exist at this stage, (Hereinafter, appropriately referred to as a pixel block) is sequentially set as a target pixel block, and each pixel constituting the target pixel block is sequentially set as a target pixel, for example, in a so-called raster scan order. . Furthermore, the prediction tap extraction circuit 41 extracts a quantized DCT coefficient used for predicting the pixel value of the pixel of interest and sets it as a prediction tap.
[0077]
That is, the prediction tap extraction circuit 41, for example, as shown in FIG. 6A, all the quantized DCT coefficients of the DCT block corresponding to the pixel block to which the pixel of interest belongs, that is, 64 × 8 × 8 DCT coefficients are extracted as prediction taps. Therefore, in this embodiment, the same prediction tap is configured for all the pixels of a certain pixel block. However, the prediction tap can be configured with different quantized DCT coefficients for each pixel of interest.
[0078]
Note that the quantized DCT coefficients constituting the prediction tap are not limited to those having the above-described pattern.
[0079]
The prediction taps obtained by the prediction tap extraction circuit 41 for each pixel constituting the pixel block, that is, 64 sets of prediction taps for each of the 64 pixels, are supplied to the product-sum operation circuit 45. However, in the present embodiment, as described above, since the same prediction tap is configured for all the pixels of the pixel block, in practice, one set of prediction taps is assigned to one pixel block. What is necessary is just to supply to the product-sum operation circuit 45.
[0080]
The class tap extraction circuit 42 extracts a quantized DCT coefficient used for class classification for classifying the pixel of interest into one of several classes, and sets it as a class tap.
[0081]
In JPEG encoding, since an image is encoded (DCT processing and quantization) for each pixel block, all pixels belonging to a certain pixel block are classified into the same class, for example. Accordingly, the class tap extraction circuit 42 configures the same class tap for each pixel of a certain pixel block.
[0082]
In other words, in the present embodiment, the class tap extraction circuit 42, for example, as shown in FIG. 6B, the DCT block corresponding to the pixel block to which the pixel of interest belongs and the four DCTs adjacent to the upper, lower, left, and right sides. 320 (= 8 × 8 × 5) quantized DCT coefficients of a total of five DCT blocks in the block are extracted as class taps.
[0083]
Here, classifying all the pixels belonging to a pixel block into the same class is equivalent to classifying the pixel block. Therefore, the class tap extraction circuit 42 is configured to configure one set of class taps for classifying the pixel block of interest, instead of 64 sets of class taps for classifying each of the 64 pixels constituting the pixel block of interest. For this reason, the class tap extraction circuit 42 classifies the pixel block for each pixel block, and classifies the DCT block corresponding to the pixel block and four DCT blocks adjacent in the vertical and horizontal directions. The quantized DCT coefficients are extracted to form class taps.
[0084]
Note that the quantized DCT coefficients constituting the class tap are not limited to the above-described patterns.
[0085]
That is, in JPEG encoding, a DCT block composed of 8 × 8 quantized DCT coefficients is formed by performing DCT and quantization in units of 8 × 8 pixel block units. Is decoded by class classification adaptive processing, it is considered that only the quantized DCT coefficient of the DCT block corresponding to the pixel block is used as the class tap.
[0086]
However, in an image, when attention is paid to a certain pixel block, there is generally a certain correlation between the pixels of the pixel block and the pixels of the surrounding pixel blocks. Accordingly, as described above, not only the DCT block corresponding to a certain pixel block but also the other DCT blocks are used to extract the quantized DCT coefficients and use them as class taps, so that the target pixel can be more appropriately selected. As a result, the image quality of the decoded image can be improved as compared with the case where only the quantized DCT coefficient of the DCT block corresponding to the pixel block is used as a class tap.
[0087]
Here, in the above case, the quantized DCT coefficients of the DCT block corresponding to a certain pixel block and the four DCT blocks adjacent to the top, bottom, left and right are set as class taps. In addition, the quantized DCT coefficient may be extracted from a DCT block that is adjacent in the diagonal direction of a DCT block corresponding to a certain pixel block, or a DCT block that is not adjacent but is in the vicinity. That is, the range of DCT blocks from which the quantized DCT coefficients that are class taps are extracted is not particularly limited.
[0088]
The class tap of the pixel block of interest obtained in the class tap extraction circuit 42 is supplied to the class classification circuit 43, and the class classification circuit 43 receives the attention based on the class tap from the class tap extraction circuit 42. The pixel block is classified, and a class code corresponding to the resulting class is output.
[0089]
Here, as a method of classifying, for example, ADRC (Adaptive Dynamic Range Coding) or the like can be employed.
[0090]
In the method using ADRC, the quantized DCT coefficients constituting the class tap are subjected to ADRC processing, and the class of the pixel block of interest is determined according to the resulting ADRC code.
[0091]
In the K-bit ADRC, for example, the maximum value MAX and the minimum value MIN of the quantized DCT coefficient constituting the class tap are detected, and DR = MAX−MIN is set as a local dynamic range of the set, and this dynamic range Based on DR, the quantized DCT coefficients constituting the class tap are requantized to K bits. That is, the minimum value MIN is subtracted from the quantized DCT coefficients constituting the class tap, and the subtracted value is DR / 2.KDivide by (quantize). Then, a bit string obtained by arranging the K-bit quantized DCT coefficients constituting the class tap in a predetermined order, which is obtained as described above, is output as an ADRC code. Therefore, when a class tap is subjected to, for example, 1-bit ADRC processing, each quantized DCT coefficient constituting the class tap is an average of the maximum value MAX and the minimum value MIN after the minimum value MIN is subtracted. Dividing by the value, each quantized DCT coefficient becomes 1 bit (binarized). Then, a bit string in which the 1-bit quantized DCT coefficients are arranged in a predetermined order is output as an ADRC code.
[0092]
Note that the class classification circuit 43 can output the level distribution pattern of the quantized DCT coefficients constituting the class tap as it is as a class code, for example. In this case, the class tap has N class taps. Assuming that each of the quantized DCT coefficients is composed of quantized DCT coefficients and K bits are assigned to each quantized DCT coefficient, the number of class codes output by the class classification circuit 43 is (2N)KAs a result, it becomes a huge number that is exponentially proportional to the number of bits K of the quantized DCT coefficient.
[0093]
Therefore, the class classification circuit 43 preferably performs class classification after compressing the information amount of the class tap by the above-described ADRC processing or vector quantization.
[0094]
By the way, in this embodiment, the class tap is composed of 320 quantized DCT coefficients as described above. Therefore, for example, even if class classification is performed by performing 1-bit ADRC processing on a class tap, the number of class codes is 2320It becomes a huge value of street.
[0095]
Therefore, in the present embodiment, the class classification circuit 43 extracts feature quantities having high importance from the quantized DCT coefficients constituting the class tap, and performs class classification based on the feature quantities, thereby obtaining the number of classes. Is to be reduced.
[0096]
That is, FIG. 7 shows a configuration example of the class classification circuit 43 of FIG.
[0097]
The class tap is supplied to the power calculation circuit 51, and the power calculation circuit 51 divides the quantized DCT coefficients constituting the class tap into those of several spatial frequency bands. Calculate power.
[0098]
That is, in the present embodiment, the class tap is composed of quantized DCT coefficients of five DCT blocks as shown in FIG. 6B, but the power calculation circuit 51 constitutes the class tap. For example, 8 × 8 quantized DCT coefficients of each DCT block are represented by four spatial frequency bands S as shown in FIG.0, S1, S2, SThreeDivide into
[0099]
Here, each of the 8 × 8 quantized DCT coefficients of one DCT block is expressed by adding a sequential integer from 0 to the alphabet x in the raster scan order as shown in FIG. 6A. If so, the spatial frequency band S0Is the four quantized DCT coefficients x0, X1, X8, X9And the spatial frequency band S1Is the 12 quantized DCT coefficients x2, XThree, XFour, XFive, X6, X7, XTen, X11, X12, X13, X14, X15Consists of In addition, the spatial frequency band S2Is the 12 quantized DCT coefficients x16, X17, Xtwenty four, Xtwenty five, X32, X33, X40, X41, X48, X49, X56, X57And the spatial frequency band SThreeIs the 36 quantized DCT coefficients x18, X19, X20, Xtwenty one, Xtwenty two, Xtwenty three, X26, X27, X28, X29, X30, X31, X34, X35, X36, X37, X38, X39, X42, X43, X44, X45, X46, X47, X50, X51, X52, X53, X54, X55, X58, X59, X60, X61, X62, X63Consists of
[0100]
Furthermore, the power calculation circuit 51 uses the spatial frequency band S for each of the five DCT blocks constituting the class tap.0, S1, S2, SThree, The power P of the AC component of the quantized DCT coefficient0, P1, P2, PThreeIs output to the class code generation circuit 52.
[0101]
That is, the power calculation circuit 51 has the spatial frequency band S0For the above four quantized DCT coefficients x0, X1, X8, X9AC component x of1, X8, X9Sum of squares x1 2+ X8 2+ X9 2And this is the power P0Is output to the class code generation circuit 52. Further, the power calculation circuit 51 obtains the AC component of the above-described 12 quantized DCT coefficients for the spatial frequency band S1, that is, the sum of squares of all 12 quantized DCT coefficients, and obtains the power P1Is output to the class code generation circuit 52. Further, the power calculation circuit 51 has a spatial frequency band S2And SThreeAlso for the spatial frequency band S1In the same way as in FIG.2And PThreeAnd is output to the class code generation circuit 52.
[0102]
The class code generation circuit 52 receives the power P for each of the five DCT blocks constituting the class tap from the power calculation circuit 51.0, P1, P2, PThreeCorresponding threshold TH stored in threshold table storage 530, TH1, TH2, THThreeAnd the class code is output based on the size relationship. That is, the class code generation circuit 52 uses the power P0And threshold TH0And a 1-bit code representing the magnitude relationship is obtained. Similarly, the class code generation circuit 52 uses the power P1And threshold TH1, Power P2And threshold TH2, Power PThreeAnd threshold THThreeAre respectively compared to obtain a 1-bit code for each.
[0103]
The class code generation circuit 52 obtains four 1-bit codes, that is, a total of 20-bit codes as described above for each of the five DCT blocks constituting the class tap. Then, the class code generation circuit 52 outputs this 20-bit code as a class code representing the class of the target pixel block. In this case, the target pixel block is 220It will be classified into one of the classes.
[0104]
The threshold table storage unit 53 includes a spatial frequency band S0Thru SThreePower P0Thru PThreeThreshold TH to compare with each0Thru THThreeIs remembered.
[0105]
In the above case, the DC component x of the quantized DCT coefficient is included in the classification process.0Is not used, but this DC component x0It is also possible to perform class classification processing using.
[0106]
Returning to FIG. 5, the class code output from the class classification circuit 43 as described above is given to the coefficient table storage unit 44 as an address.
[0107]
The coefficient table storage unit 44 stores a coefficient table in which tap coefficients obtained by performing learning processing described later are registered, and is stored at an address corresponding to the class code output by the class classification circuit 43. The tap coefficient is output to the product-sum operation circuit 45.
[0108]
Here, in this embodiment, since the pixel block is classified, one class code is obtained for the pixel block of interest. On the other hand, since the pixel block is composed of 64 pixels of 8 × 8 pixels in the present embodiment, 64 sets of tap coefficients for decoding each of the 64 pixels constituting the pixel block of interest are required. is there. Accordingly, the coefficient table storage unit 44 stores 64 sets of tap coefficients for an address corresponding to one class code.
[0109]
The product-sum operation circuit 45 acquires the prediction tap output from the prediction tap extraction circuit 41 and the tap coefficient output from the coefficient table storage unit 44, and uses the prediction tap and the tap coefficient to obtain Equation (1). The linear prediction calculation (product-sum calculation) shown is performed, and the 8 × 8 pixel value of the pixel block of interest obtained as a result is output to the block decomposition circuit 33 (FIG. 3) as the decoding result of the corresponding DCT block. .
[0110]
Here, in the prediction tap extraction circuit 41, as described above, each pixel of the target pixel block is sequentially set as the target pixel. However, the product-sum operation circuit 45 becomes the target pixel of the target pixel block. Processing is performed in an operation mode corresponding to the position of the pixel (hereinafter, referred to as pixel position mode as appropriate).
[0111]
That is, for example, among the pixels of the pixel block of interest, the i-th pixel in the raster scan order is set to p.iAnd pixel piHowever, if it is the pixel of interest, the product-sum operation circuit 45 performs the processing of the pixel position mode #i.
[0112]
Specifically, as described above, the coefficient table storage unit 44 outputs 64 sets of tap coefficients for decoding each of the 64 pixels constituting the pixel block of interest.iA set of tap coefficients for decodingiWhen the operation mode is the pixel position mode #i, the product-sum operation circuit 45 represents the prediction tap and the set W among the 64 sets of tap coefficients.iAnd the product-sum operation of Expression (1) is performed, and the product-sum operation result is expressed as pixel p.iIs the decoding result.
[0113]
Next, processing of the coefficient conversion circuit 32 in FIG. 5 will be described with reference to the flowchart in FIG.
[0114]
The quantized DCT coefficients for each block output from the entropy decoding circuit 31 are sequentially received by the prediction tap extraction circuit 41 and the class tap extraction circuit 42, and the prediction tap extraction circuit 41 supplies the block of quantized DCT coefficients supplied thereto. Pixel blocks corresponding to (DCT block) are sequentially set as target pixel blocks.
[0115]
In step S11, the class tap extraction circuit 42 is used for classifying the pixel block of interest from among the quantized DCT coefficients received there, that is, in this embodiment, corresponds to the pixel block of interest. Quantized DCT coefficients of a total of five DCT blocks of the DCT block and four DCT blocks adjacent to the top, bottom, left, and right are extracted to form a class tap and supplied to the class classification circuit 43.
[0116]
In step S12, the class classification circuit 43 classifies the target pixel block using the class tap from the class tap extraction circuit 42, and outputs the class code obtained as a result to the coefficient table storage unit 44.
[0117]
That is, in step S12, as shown in the flowchart of FIG. 10, first, in step S21, the power calculation circuit 51 of the class classification circuit 43 (FIG. 7) applies to each of the five DCT blocks constituting the class tap. , Four spatial frequency bands S shown in FIG.0Thru SThreeEach power P0Thru PThreeIs calculated. This power P0Thru PThreeIs output from the power calculation circuit 51 to the class code generation circuit 52.
[0118]
In step S22, the class code generation circuit 52 reads the threshold TH from the threshold table storage unit 53.0Thru THThreeAnd the power P of the five DCT blocks constituting the class tap from the power calculation circuit 510Thru PThreeEach is compared with each of the thresholds TH0 to TH3, class codes based on the respective magnitude relationships are generated, and the process returns.
[0119]
Returning to FIG. 9, the class code obtained as described above in step S <b> 12 is given as an address from the class classification circuit 43 to the coefficient table storage unit 44.
[0120]
When the coefficient table storage unit 44 receives a class code as an address from the class classification circuit 43, the coefficient table storage unit 44 reads out 64 sets of tap coefficients stored in the address and outputs them to the product-sum operation circuit 45 in step S13.
[0121]
Then, the process proceeds to step S14, and the prediction tap extraction circuit 41 predicts the pixel value of the target pixel by using, as the target pixel, a pixel that is not yet set as the target pixel in the raster scan order among the pixels of the target pixel block. The quantized DCT coefficient used for the extraction is extracted and configured as a prediction tap. This prediction tap is supplied from the prediction tap extraction circuit 41 to the product-sum operation circuit 45.
[0122]
Here, in the present embodiment, for each pixel block, the same prediction tap is configured for all the pixels of the pixel block, so in practice, the processing in step S14 is first performed for the target pixel block. If it is performed only for the pixel that is the target pixel, it is not necessary to perform the remaining 63 pixels.
[0123]
In step S15, the product-sum operation circuit 45 acquires a set of tap coefficients corresponding to the pixel position mode for the target pixel from among the 64 sets of tap coefficients output from the coefficient table storage unit 44 in step S13, and the tap coefficients. And the prediction tap supplied from the prediction tap extraction circuit 41 in step S14, the product-sum operation shown in Expression (1) is performed to obtain the decoded value of the pixel value of the target pixel.
[0124]
Then, the process proceeds to step S <b> 16, and the prediction tap extraction circuit 41 determines whether or not processing has been performed on all pixels of the target pixel block as the target pixel. If it is determined in step S16 that all the pixels in the pixel block of interest have not been processed as pixels of interest, the process returns to step S14, and the prediction tap extraction circuit 41 selects the raster among the pixels of the pixel block of interest. In the scan order, a pixel that has not yet been set as the target pixel is newly set as the target pixel, and the same processing is repeated.
[0125]
If it is determined in step S16 that all the pixels of the target pixel block have been processed as the target pixel, that is, if the decoded values of all the pixels of the target pixel block are obtained, the product-sum operation circuit 45 Outputs the pixel block (decoded block) composed of the decoded values to the block decomposition circuit 33 (FIG. 3), and ends the process.
[0126]
Note that the processing according to the flowchart of FIG. 9 is repeatedly performed each time the prediction tap extraction circuit 41 sets a new target pixel block.
[0127]
Next, in the above case, the class classification circuit 43 uses the same spatial frequency band S for each of the five DCT blocks forming the class tap.0Thru SThreePower P0Thru PThreeThe class classification is performed based on the power, but the class classification calculates the power of different spatial frequency bands for some of the five DCT blocks constituting the class tap, for example. It is also possible to perform based on the electric power.
[0128]
That is, for example, as shown by hatching in FIG. 11, among the five DCT blocks forming the class tap, the DCT block corresponding to the pixel block of interest (hereinafter referred to as the target DCT block as appropriate) is vertical. Direction high frequency band power PvAnd horizontal high frequency band power PhFor the DCT block adjacent above the target DCT block, the power P in the vertical high frequency banduFor the DCT block adjacent below the target DCT block, the power P in the vertical high frequency banddFor the DCT block adjacent to the left of the DCT block of interest, the power P in the horizontal high frequency bandlFor the DCT block immediately to the right of the target DCT block, the power P in the horizontal high frequency bandrRespectively, and calculate their power Pv, Ph, Pu, Pd, Pl, PrBased on the above, it is possible to classify in the same manner as described with reference to FIGS.
[0129]
In this case, the class classification circuit 43 shown in FIG. 7 performs the process shown in FIG. 12 in step S12 of FIG.
[0130]
That is, first, in step S31, the power calculation circuit 51 of the class classification circuit 43 (FIG. 7) uses the power P of each frequency band as described in FIG. 11 for the five DCT blocks constituting the class tap.v, Ph, Pu, Pd, Pl, PrIs output to the class code generation circuit 52.
[0131]
The class code generation circuit 52 reads the threshold value from the threshold value table storage unit 53 in step S32. Here, the threshold value table storage unit 53 stores the power Pv, Ph, Pu, Pd, Pl, PrThreshold TH for comparison with eachv, THh, THu, THd, THl, THrIs stored.
[0132]
The class code generation circuit 52 receives the threshold TH from the threshold table storage unit 53.v, THh, THu, THd, THl, THrAre read out from the power calculation circuit 51, respectively.v, Ph, Pu, Pd, Pl, PrCompared with each of them, six 1 bits are obtained based on the respective magnitude relations. Then, the class code generation circuit 52 outputs a 6-bit code composed of the six 1-bit codes as a class code, and returns. Therefore, in this case, the target pixel (target pixel block) is 64 (= 26) Will be classified into one of the classes.
[0133]
Next, in the above description, the AC component of the quantized DCT coefficient as the class tap is used for class classification. However, the class classification can also be performed using the DC component of the quantized DCT coefficient. .
[0134]
That is, for example, as shown in FIG.0, DC component C of each DCT block adjacent in the vertical and horizontal directionsu, Cd, Cl, CrCan be used.
[0135]
In this case, the class classification circuit 43 in FIG. 5 is configured as shown in FIG. 14, for example.
[0136]
The class tap is supplied to the difference calculation circuit 151, and the difference calculation circuit 151 includes the DCT of the DCT blocks adjacent to the DCT block adjacent to the target DCT block among the five DCT blocks constituting the class tap. Component Cu, Cd, Cl, CrEach and the DC component C of the DCT block of interest0Absolute value D of difference fromu, Dd, Dl, DrAnd is supplied to the class code generation circuit 152. That is, the difference calculation circuit 151 has the formula Du= | Cu-C0|, Dd= | Cd-C0|, Dl= | Cl-C0|, Dr= | Cr-C0| Is calculated, and the calculation result is supplied to the class code generation circuit 152.
[0137]
The class code generation circuit 152 calculates the calculation result (difference absolute value) D from the difference calculation circuit 151.u, Dd, Dl, DrCorresponding threshold TH stored in threshold table storage unit 153u, THd, THl, THrAnd the class code is output based on the size relationship. That is, the class code generation circuit 152 calculates the absolute difference value DuAnd threshold THuAnd a 1-bit code representing the magnitude relationship is obtained. Similarly, the class code generation circuit 152 generates a difference absolute value DdAnd threshold THd, Difference absolute value DlAnd threshold THl, Difference absolute value DrAnd threshold THrAre respectively compared to obtain a 1-bit code for each.
[0138]
Then, the class code generation circuit 152, for example, a 4-bit code obtained by arranging the four 1-bit codes obtained as described above in a predetermined order (accordingly, any one of 0 to 15). Is output as a class code representing the class of the pixel block of interest. Therefore, in this case, the target pixel block is 2FourIt is classified into one of (= 16) classes.
[0139]
The threshold table storage unit 153 stores the difference absolute value Du, Dd, Dl, DrThreshold TH to compare with eachu, THd, THl, THrIs remembered.
[0140]
When the class classification circuit 43 is configured as shown in FIG. 14, the processing as shown in FIG. 15 is performed in step S12 of FIG.
[0141]
That is, in this case, first, in step S41, the difference calculation circuit 151 causes the DC component C of each of the five DCT blocks constituting the class tap.0, Cu, Cd, Cl, CrUsing the above difference absolute value Du, Dd, Dl, DrAnd is supplied to the class code generation circuit 152.
[0142]
In step S42, the class code generation circuit 152 stores the threshold value TH stored in the threshold table storage unit 153.u, THd, THl, THrEach and the difference absolute value D from the difference calculation circuit 151u, Dd, Dl, DrCompared with each, four 1-bit codes representing the magnitude relationship are obtained. Then, the class code generation circuit 152 outputs a 4-bit code composed of the four 1-bit codes as a class code, and returns.
[0143]
The class classification can be performed using both the AC component and the DC component in addition to the AC component of the quantized DCT coefficient or the DC component alone. That is, the classification method is not limited to the above-described method.
[0144]
Next, FIG. 16 illustrates a configuration example of an embodiment of a learning apparatus that performs learning processing of tap coefficients to be stored in the coefficient table storage unit 44 of FIG.
[0145]
The block forming circuit 61 is supplied with one or more pieces of learning image data, and the blocking circuit 61 converts the learning image into 8 × as in the case of JPEG encoding. Block into 8 pixel blocks.
[0146]
The DCT circuit 62 sequentially reads out the pixel blocks blocked by the blocking circuit 61 as a pixel block of interest, and performs the DCT process on the pixel block of interest to form a block of DCT coefficients. This block of DCT coefficients is supplied to the quantization circuit 63.
[0147]
The quantization circuit 63 quantizes the block of DCT coefficients from the DCT circuit 62 according to the same quantization table used for JPEG encoding, and obtains the resulting block of quantized DCT coefficients (DCT block). And sequentially supplied to the prediction tap extraction circuit 64 and the class tap extraction circuit 65.
[0148]
The prediction tap extraction circuit 64 is configured by the prediction tap extraction circuit 41 of FIG. 5 with respect to a pixel of interest that is a pixel that has not yet been selected as a pixel of interest in raster scan order among the pixels of the pixel block of interest. The same prediction tap as that to be configured is configured by extracting necessary quantized DCT coefficients from the output of the quantization circuit 63. The prediction tap is supplied from the prediction tap extraction circuit 64 to the normal equation addition circuit 67 as student data to be a student at the time of learning.
[0149]
The class tap extraction circuit 65 extracts the necessary quantized DCT coefficients from the output of the quantization circuit 63 from the output of the quantization circuit 63 for the pixel block of interest by extracting the same class tap as the class tap extraction circuit 42 of FIG. Constitute. This class tap is supplied from the class tap extraction circuit 65 to the class classification circuit 66.
[0150]
The class classification circuit 66 performs the same processing as the class classification circuit 43 of FIG. 5 using the class tap from the class tap extraction circuit 65, classifies the pixel block of interest, and obtains the class code obtained as a result. , And supplied to the normal equation adding circuit 67.
[0151]
The normal equation adding circuit 67 reads the pixel of interest (the pixel value thereof) from the blocking circuit 61 as teacher data, and predictive taps (quantized DCT coefficients constituting the student data) from the prediction tap forming circuit 64, and Addition is performed on the target pixel.
[0152]
That is, the normal equation adding circuit 67 is a component in the matrix A of Expression (8) using a prediction tap (student data) for each class corresponding to the class code supplied from the class classification circuit 66. Multiplication of student data (xinxim) And a calculation corresponding to summation (Σ).
[0153]
Further, the normal equation addition circuit 67 uses the prediction tap (student data) and the target pixel (teacher data) for each class corresponding to the class code supplied from the class classification circuit 66, and uses the vector of equation (8). Multiplying student data and teacher data (xinyi) And a calculation corresponding to summation (Σ).
[0154]
Note that the addition as described above in the normal equation adding circuit 67 is performed for each pixel position mode with respect to the pixel of interest for each class.
[0155]
The normal equation adding circuit 67 performs the above addition using all the pixels constituting the learning image supplied to the block forming circuit 61 as the target pixel, and for each class, for each pixel position mode, The normal equation shown in (8) is established.
[0156]
The tap coefficient determination circuit 68 obtains 64 sets of tap coefficients for each class by solving the normal equation generated for each class (and for each pixel position mode) in the normal equation addition circuit 67, and stores the coefficient table in the coefficient table. The address is supplied to the address corresponding to each class in the unit 69.
[0157]
Depending on the number of images to be prepared as learning images, the contents of the images, and the like, there may occur a class in which the number of normal equations necessary for obtaining tap coefficients cannot be obtained in the normal equation adding circuit 67. Although possible, the tap coefficient determination circuit 68 outputs, for example, a default tap coefficient for such a class.
[0158]
The coefficient table storage unit 69 stores 64 sets of tap coefficients for each class supplied from the tap coefficient determination circuit 68.
[0159]
Next, processing (learning processing) of the learning device in FIG. 16 will be described with reference to the flowchart in FIG.
[0160]
The image data for learning is supplied to the block forming circuit 61. In step S51, the block forming circuit 61 converts the image data for learning into an 8 × 8 pixel pixel block as in the case of JPEG encoding. Blocking proceeds to step S52. In step S52, the DCT circuit 62 sequentially reads out the pixel blocks blocked by the blocking circuit 61, and the pixel blocks are subjected to DCT processing to form a DCT coefficient block, and the process proceeds to step S53. In step S53, the quantization circuit 63 sequentially reads out the block of DCT coefficients obtained in the DCT circuit 62, quantizes them according to the same quantization table used for JPEG encoding, and configures them with quantized DCT coefficients. Block (DCT block).
[0161]
Then, the process proceeds to step S54, and the class tap extraction circuit 65 sets a pixel block that has not yet been selected as a pixel block of interest among the pixel blocks blocked by the blocking circuit 61 as a pixel block of interest. Further, the class tap extraction circuit 65 extracts the quantized DCT coefficients used for classifying the pixel block of interest from the DCT block obtained by the quantization circuit 63 to form a class tap, and the class classification circuit 66 To supply. In step S55, the class classification circuit 66 classifies the target pixel block using the class tap from the class tap extraction circuit 65 in the same manner as described in the flowchart of FIG. The normal equation adding circuit 67 is supplied to the step S56.
[0162]
In step S56, the prediction tap extraction circuit 64 uses, as a pixel of interest, a pixel that is not yet the pixel of interest in the raster scan order among the pixels of the pixel block of interest, and extracts the prediction tap of FIG. The same prediction tap that the circuit 41 configures is configured by extracting the necessary quantized DCT coefficients from the output of the quantizing circuit 63. Then, the prediction tap extraction circuit 64 supplies the prediction tap for the pixel of interest as student data to the normal equation addition circuit 67, and proceeds to step S57.
[0163]
In step S57, the normal equation adding circuit 67 reads the pixel of interest from the blocking circuit 61 as teacher data, and targets the prediction tap (constituting quantized DCT coefficient) as student data and the pixel of interest as teacher data. As described above, the above-described addition of the matrix A and the vector v in the equation (8) is performed. This addition is performed for each class corresponding to the class code from the class classification circuit 66 and for each pixel position mode for the target pixel.
[0164]
Then, the process proceeds to step S58, and the prediction tap extraction circuit 64 determines whether or not addition has been performed with all pixels of the target pixel block as target pixels. If it is determined in step S58 that all the pixels in the pixel block of interest have not been added as pixels of interest, the process returns to step S56, and the prediction tap extraction circuit 64 selects among the pixels of the pixel block of interest. In the raster scan order, a pixel that has not yet been set as the target pixel is newly set as the target pixel, and the same processing is repeated.
[0165]
If it is determined in step S58 that all the pixels of the target pixel block have been added as the target pixel, the process proceeds to step S59, where the blocking circuit 61 determines all the pixels obtained from the learning image. It is determined whether the pixel block has been processed as the target pixel block. If it is determined in step S59 that all pixel blocks obtained from the learning image have not yet been processed as target pixel blocks, the process returns to step S54, and the pixels blocked by the blocking circuit 61 Of the blocks, those not yet set as the target pixel block are newly set as the target pixel block, and the same processing is repeated thereafter.
[0166]
On the other hand, when it is determined in step S59 that all the pixel blocks obtained from the learning image have been processed as the target pixel block, that is, in the normal equation adding circuit 67, for each class, for each pixel position mode. In step S60, the tap coefficient determination circuit 68 solves the normal equation generated for each class of pixel position mode, so that each class has 64 pixels of that class. 64 sets of tap coefficients corresponding to the respective position modes are obtained, supplied to and stored in the coefficient table storage unit 69 at addresses corresponding to the respective classes, and the process ends.
[0167]
As described above, the tap coefficient for each class stored in the coefficient table storage unit 69 is stored in the coefficient table storage unit 44 of FIG.
[0168]
Therefore, the tap coefficient stored in the coefficient table storage unit 44 is such that the prediction error (here, the square error) of the prediction value of the original pixel value obtained by performing the linear prediction calculation is statistically minimized. As a result, according to the coefficient conversion circuit 32 of FIG. 5, it is possible to decode a JPEG-encoded image into an image that is as close as possible to the original image.
[0169]
Further, as described above, since the decoding process of the JPEG-encoded image and the process for improving the image quality are performed at the same time, from the JPEG-encoded image, A decoded image with good image quality can be obtained.
[0170]
Next, FIG. 18 shows a second configuration example of the coefficient conversion circuit 32 of FIG. In the figure, portions corresponding to those in FIG. 5 are denoted by the same reference numerals, and description thereof will be omitted as appropriate. That is, the coefficient conversion circuit 32 in FIG. 18 is basically configured in the same manner as in FIG. 5 except that an inverse quantization circuit 71 is newly provided.
[0171]
In the embodiment of FIG. 18, the inverse quantization circuit 71 is supplied with quantized DCT coefficients for each block obtained by entropy decoding the encoded data in the entropy decoding circuit 31 (FIG. 3).
[0172]
As described above, the entropy decoding circuit 31 obtains a quantization table from the encoded data in addition to the quantized DCT coefficient. In the embodiment of FIG. 18, this quantization table is also entropy decoded. The circuit 31 is supplied to the inverse quantization circuit 71.
[0173]
The inverse quantization circuit 71 inversely quantizes the quantized DCT coefficient from the entropy decoding circuit 31 according to the quantization table from the entropy decoding circuit 31, and the resulting DCT coefficient is converted into the prediction tap extraction circuit 41 and the class tap. This is supplied to the extraction circuit 42.
[0174]
Therefore, in the prediction tap extraction circuit 41 and the class tap extraction circuit 42, the prediction tap and the class tap are configured for the DCT coefficient instead of the quantized DCT coefficient, respectively. The same processing as in the case is performed.
[0175]
As described above, in the embodiment of FIG. 18, processing is performed not on the quantized DCT coefficient but on the DCT coefficient (inverse quantized quantized DCT coefficient), so that it is stored in the coefficient table storage unit 44. The tap coefficient needs to be different from that in FIG.
[0176]
Therefore, FIG. 19 shows a configuration example of an embodiment of a learning apparatus that performs learning processing of tap coefficients stored in the coefficient table storage unit 44 of FIG. In the figure, portions corresponding to those in FIG. 16 are denoted by the same reference numerals, and description thereof will be omitted below as appropriate. That is, the learning device in FIG. 19 is basically configured in the same manner as in FIG. 16 except that an inverse quantization circuit 81 is newly provided at the subsequent stage of the quantization circuit 63.
[0177]
In the embodiment of FIG. 19, the inverse quantization circuit 81 inversely quantizes the quantized DCT coefficient output from the inverse quantization circuit 63 in the same manner as the inverse quantization circuit 71 of FIG. Is supplied to the prediction tap extraction circuit 64 and the class tap extraction circuit 65.
[0178]
Therefore, in the prediction tap extraction circuit 64 and the class tap extraction circuit 65, prediction taps and class taps are respectively configured for the DCT coefficients instead of the quantized DCT coefficients. The same processing as in the case is performed.
[0179]
As a result, the tap coefficient which reduces the influence of the quantization error which arises when a DCT coefficient is quantized and is further dequantized will be obtained.
[0180]
Next, FIG. 20 shows a third configuration example of the coefficient conversion circuit 32 of FIG. In the figure, portions corresponding to those in FIG. 5 are denoted by the same reference numerals, and description thereof will be omitted as appropriate. That is, the coefficient conversion circuit 32 in FIG. 20 is basically configured in the same manner as in FIG. 5 except that the inverse DCT circuit 101 is newly provided in the subsequent stage of the product-sum operation circuit 45.
[0181]
The inverse DCT circuit 101 performs inverse DCT processing on the output of the product-sum operation circuit 45, thereby decoding and outputting the image. Therefore, in the embodiment of FIG. 20, the product-sum operation circuit 45 uses the quantized DCT coefficients constituting the prediction tap output from the prediction tap extraction circuit 41 and the tap coefficients stored in the coefficient table storage unit 44. The DCT coefficient is output by performing the product-sum operation.
[0182]
As described above, in the embodiment of FIG. 20, the quantized DCT coefficient is not decoded into a pixel value by a product-sum operation with the tap coefficient, but is converted into a DCT coefficient. Further, the DCT coefficient is By inverse DCT by the inverse DCT circuit 101, the pixel value is decoded. Therefore, the tap coefficient stored in the coefficient table storage unit 44 needs to be different from that in FIG.
[0183]
Accordingly, FIG. 21 shows a configuration example of an embodiment of a learning apparatus that performs learning processing of tap coefficients to be stored in the coefficient table storage unit 44 of FIG. In the figure, portions corresponding to those in FIG. 16 are denoted by the same reference numerals, and description thereof will be omitted below as appropriate. That is, the learning apparatus in FIG. 21 gives the normal equation adding circuit 67 not the pixel value of the learning image but the DCT coefficient obtained by DCT processing of the learning image output from the DCT circuit 62 as teacher data. Except for this, the configuration is the same as in FIG.
[0184]
Therefore, in the embodiment of FIG. 21, the normal equation adding circuit 67 uses the DCT coefficients output from the DCT circuit 62 as teacher data and the quantized DCT coefficients constituting the prediction tap output from the prediction tap configuration circuit 64. The above addition is performed as student data. Then, the tap coefficient determination circuit 68 obtains the tap coefficient by solving a normal equation obtained by such addition. As a result, in the learning apparatus of FIG. 21, a tap coefficient that converts the quantized DCT coefficient into a DCT coefficient that reduces (suppresses) a quantization error due to quantization in the quantization circuit 63 is obtained.
[0185]
In the coefficient conversion circuit 32 of FIG. 20, since the product-sum operation circuit 45 performs the product-sum operation using the tap coefficients as described above, the output is the quantized DCT coefficient output from the prediction tap extraction circuit 41, The quantization error is converted into a reduced DCT coefficient. Therefore, when such a DCT coefficient is subjected to inverse DCT by the inverse DCT circuit 101, a decoded image with reduced image quality degradation due to the influence of quantization error can be obtained.
[0186]
Next, FIG. 22 shows a fourth configuration example of the coefficient conversion circuit 32 of FIG. In the figure, portions corresponding to those in FIG. 5, FIG. 18, or FIG. 20 are given the same reference numerals, and description thereof will be omitted as appropriate. That is, the coefficient conversion circuit 32 in FIG. 22 is provided with a new inverse quantization circuit 71 as in the case of FIG. 18 and a new inverse DCT circuit 101 as in the case of FIG. Other than that, the configuration is the same as in FIG.
[0187]
Therefore, in the embodiment of FIG. 22, the prediction tap extraction circuit 41 and the class tap extraction circuit 42 are configured with prediction taps and class taps for DCT coefficients instead of quantized DCT coefficients, respectively. Furthermore, in the embodiment of FIG. 22, the product-sum operation circuit 45 uses the DCT coefficients constituting the prediction tap output from the prediction tap extraction circuit 41 and the tap coefficients stored in the coefficient table storage unit 44. By performing the sum operation, a DCT coefficient with a reduced quantization error is obtained and output to the inverse DCT circuit 101.
[0188]
Next, FIG. 23 shows a configuration example of an embodiment of a learning apparatus that performs learning processing of tap coefficients to be stored in the coefficient table storage unit 44 of FIG. In the figure, portions corresponding to those in FIG. 16, FIG. 19, or FIG. 21 are denoted by the same reference numerals, and description thereof will be omitted below as appropriate. That is, the learning apparatus of FIG. 23 is newly provided with an inverse quantization circuit 81 as in the case of FIG. 19, and further, as in the case of FIG. The configuration is the same as that in FIG. 16 except that the DCT coefficient obtained by DCT processing of the learning image output from the DCT circuit 62 is given instead of the pixel value of the learning image.
[0189]
Therefore, in the embodiment of FIG. 23, the normal equation adding circuit 67 uses the DCT coefficient (DCT coefficient without quantization error) output from the DCT circuit 62 as teacher data and the prediction output from the prediction tap configuration circuit 64. The above addition is performed using the DCT coefficients (quantized and inversely quantized DCT coefficients) constituting the tap as student data. Then, the tap coefficient determination circuit 68 obtains the tap coefficient by solving a normal equation obtained by such addition. As a result, in the learning apparatus of FIG. 23, a tap coefficient for converting the quantized and further inverse-quantized DCT coefficient into a DCT coefficient with reduced quantization error due to the quantization and inverse quantization is obtained. Become.
[0190]
Next, the series of processes described above can be performed by hardware or software. When a series of processing is performed by software, a program constituting the software is installed in a general-purpose computer or the like.
[0191]
FIG. 24 shows an example of the configuration of an embodiment of a computer in which a program for executing the series of processes described above is installed.
[0192]
The program can be recorded in advance in a hard disk 205 or ROM 203 as a recording medium built in the computer.
[0193]
Alternatively, the program is stored temporarily on a removable recording medium 211 such as a floppy disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto optical) disc, a DVD (Digital Versatile Disc), a magnetic disc, or a semiconductor memory. It can be stored permanently (recorded). Such a removable recording medium 211 can be provided as so-called package software.
[0194]
The program is installed on the computer from the removable recording medium 211 as described above, or transferred from the download site to the computer wirelessly via a digital satellite broadcasting artificial satellite, LAN (Local Area Network), The program can be transferred to a computer via a network such as the Internet. The computer can receive the program transferred in this way by the communication unit 208 and install it in the built-in hard disk 205.
[0195]
The computer includes a CPU (Central Processing Unit) 202. An input / output interface 210 is connected to the CPU 202 via the bus 201, and the CPU 202 operates the input unit 207 including a keyboard, a mouse, a microphone, and the like by the user via the input / output interface 210. When a command is input as a result of this, the program stored in a ROM (Read Only Memory) 203 is executed accordingly. Alternatively, the CPU 202 also receives a program stored in the hard disk 205, a program transferred from a satellite or a network, received by the communication unit 208 and installed in the hard disk 205, or a removable recording medium 211 attached to the drive 209. The program read and installed in the hard disk 205 is loaded into a RAM (Random Access Memory) 204 and executed. Thereby, the CPU 202 performs processing according to the above-described flowchart or processing performed by the configuration of the above-described block diagram. Then, the CPU 202 outputs the processing result from the output unit 206 configured with an LCD (Liquid Crystal Display), a speaker, or the like, for example, via the input / output interface 210, or from the communication unit 208 as necessary. Transmission, and further recording on the hard disk 205 is performed.
[0196]
Here, in this specification, the processing steps for describing a program for causing a computer to perform various types of processing do not necessarily have to be processed in time series according to the order described in the flowchart, but in parallel or individually. This includes processing to be executed (for example, parallel processing or processing by an object).
[0197]
Further, the program may be processed by a single computer, or may be processed in a distributed manner by a plurality of computers. Furthermore, the program may be transferred to a remote computer and executed.
[0198]
In the present embodiment, image data is targeted, but the present invention can also be applied to, for example, audio data.
[0199]
Furthermore, in this embodiment, a JPEG-encoded image that compresses and encodes a still image is targeted. However, the present invention targets a video that is compressed and encoded, for example, an MPEG-encoded image. It is also possible.
[0200]
In this embodiment, at least decoding of JPEG-encoded data that performs DCT processing is performed. However, in the present invention, a block unit (a predetermined unit) is obtained by other orthogonal transformation or frequency transformation. It can be applied to decoding and conversion of data converted in units. That is, the present invention can be applied to, for example, the case where sub-band encoded data, Fourier-transformed data, or the like is decoded or converted into data with reduced quantization error.
[0201]
Furthermore, in the present embodiment, the tap coefficients are stored in advance in the decoder 22, but the tap coefficients can be included in the encoded data and provided to the decoder 22. .
[0202]
In this embodiment, decoding and conversion are performed by linear primary prediction calculation using tap coefficients. However, decoding and conversion may also be performed by other higher-order prediction calculations of the second or higher order. Is possible.
[0203]
Furthermore, in this embodiment, the class tap is configured using not only the quantized DCT coefficient of the DCT block corresponding to the pixel of interest but also the quantized DCT coefficient of another DCT block. Can be configured similarly.
[0204]
【The invention's effect】
  According to the first data processing apparatus, the data processing method, and the recording medium of the present invention., EffectFrom the conversion data,Predicted value of original dataCan be obtained.
[0205]
  According to the second data processing apparatus, the data processing method, and the recording medium of the present invention., EffectEfficiently from orthogonal or frequency transformed dataPredicted value of original dataCan be obtained.
[Brief description of the drawings]
FIG. 1 is a diagram for explaining conventional JPEG encoding / decoding.
FIG. 2 is a diagram showing a configuration example of an embodiment of an image transmission system to which the present invention is applied.
FIG. 3 is a block diagram illustrating a configuration example of a decoder 22 in FIG. 2;
4 is a flowchart for explaining processing of the decoder 22 of FIG. 3;
5 is a block diagram illustrating a first configuration example of a coefficient conversion circuit 32 in FIG. 3; FIG.
FIG. 6 is a diagram illustrating an example of a class tap.
7 is a block diagram illustrating a configuration example of a class classification circuit 43 in FIG. 5. FIG.
FIG. 8 is a diagram for explaining processing of a power calculation circuit 51;
9 is a flowchart for explaining processing of the coefficient conversion circuit 32 of FIG. 5;
FIG. 10 is a flowchart for explaining more details of the process in step S12 of FIG.
FIG. 11 is a diagram for explaining a class classification method;
12 is a flowchart illustrating processing of a class classification circuit 43 in FIG.
FIG. 13 is a diagram for explaining another method of class classification.
14 is a block diagram showing another configuration example of the class classification circuit 43 in FIG. 5. FIG.
15 is a flowchart for explaining processing of a class classification circuit 43 in FIG. 14;
FIG. 16 is a block diagram illustrating a configuration example of a first embodiment of a learning device that learns tap coefficients;
17 is a flowchart for explaining processing of the learning device in FIG. 16;
18 is a block diagram showing a second configuration example of the coefficient conversion circuit 32 of FIG. 3. FIG.
FIG. 19 is a block diagram illustrating a configuration example of a second embodiment of the learning device.
20 is a block diagram illustrating a third configuration example of the coefficient conversion circuit 32 of FIG. 3; FIG.
FIG. 21 is a block diagram illustrating a configuration example of a third embodiment of a learning device.
22 is a block diagram illustrating a fourth configuration example of the coefficient conversion circuit 32 of FIG. 3; FIG.
FIG. 23 is a block diagram illustrating a configuration example of a fourth embodiment of a learning device.
FIG. 24 is a block diagram illustrating a configuration example of an embodiment of a computer to which the present invention has been applied.
[Explanation of symbols]
21 encoder, 22 decoder, 23 recording medium, 24 transmission medium, 31 entropy decoding circuit, 32 coefficient conversion circuit, 33 block decomposition circuit, 41 prediction tap extraction circuit, 42 class tap extraction circuit, 43 class classification circuit, 44 coefficient table storage Unit, 45 product-sum operation circuit, 51 power operation circuit, 52 class code generation circuit, 53 threshold table storage unit, 61 block circuit, 62 DCT circuit, 63 quantization circuit, 64 prediction tap extraction circuit, 65 class tap extraction circuit , 66 class classification circuit, 67 normal equation addition circuit, 68 tap coefficient determination circuit, 69 coefficient table storage unit, 71, 81 inverse quantization circuit, 91 inverse quantization circuit, 101 inverse DCT circuit, 151 differential operation circuit, 152 class code Generation circuit, 153 threshold table storage unit, 201 bus, 202 CPU, 203 ROM, 204 RAM, 205 hard disk, 206 output unit, 207 input unit, 208 communication unit, 209 drive, 210 input / output interface, 211 removable recording medium

Claims (13)

データに対し、少なくとも、離散コサイン変換処理を所定のブロック単位で施すことにより得られるブロック単位の変換データを処理し、元のデータの予測値を求めるデータ処理装置であって、
学習を行うことにより求められたタップ係数を取得する取得手段と、
注目している前記データである注目データを、幾つかのクラスのうちのいずれかにクラス分類するのに用いる前記変換データを、少なくとも、前記注目データに対応するブロック以外のブロックから抽出し、クラスタップとして出力するクラスタップ抽出手段と、
前記クラスタップとなっている変換データである、離散コサイン変換されたデータの直流成分または交流成分の電力に基づいて、前記注目データのクラスを求めるクラス分類を行うクラス分類手段と、
前記注目データのクラスの前記タップ係数と、前記変換データとの線形1次予測演算を行うことにより、前記注目データの予測値を求める演算手段と
を備え、
前記タップ係数は、
学習時の教師となる教師データに対し、少なくとも、離散コサイン変換処理を所定のブロック単位で施すことにより得られる前記ブロック単位の変換データを、学習時の生徒となる生徒データとして生成し、
前記教師データとして用いられる前記データのうちの、注目している教師データである注目教師データを、幾つかのクラスのうちのいずれかにクラス分類するのに用いる前記生徒データを、少なくとも、前記注目教師データに対応するブロック以外のブロックから抽出し、クラスタップとして出力し、
前記クラスタップとなっている生徒データである、離散コサイン変換されたデータの直流成分または交流成分の電力に基づいて、前記注目教師データのクラスを求めるクラス分類を行い、
前記クラスごとの前記タップ係数と、前記生徒データとの線形1次予測演算を行うことにより得られる前記教師データの予測値の予測誤差が、統計的に最小になるように学習を行う
学習処理によりクラスごとに求められたものである
ことを特徴とするデータ処理装置。
A data processing apparatus that processes converted data in block units obtained by performing discrete cosine transform processing in units of predetermined blocks on data and obtains a predicted value of original data,
Obtaining means for obtaining the tap coefficient obtained by performing learning;
The conversion data used to classify the attention data, which is the data of interest, into one of several classes, is extracted from at least blocks other than the block corresponding to the attention data, and class Class tap extraction means for outputting as taps;
Class classification means for classifying the class of the data of interest based on the DC component or AC component power of the discrete cosine transformed data, which is the class tap conversion data,
Calculating means for obtaining a predicted value of the data of interest by performing a linear primary prediction calculation of the tap coefficient of the class of the data of interest and the converted data;
The tap coefficient is
For the teacher data to be a teacher at the time of learning, at least the block-unit conversion data obtained by performing a discrete cosine transform process in a predetermined block unit is generated as student data to be a student at the time of learning,
Wherein among the data to be used as teacher data, the target teacher data of teacher data of interest, the student data used for classification into one of several classes, at least, the target Extract from blocks other than the block corresponding to the teacher data, output as class tap,
Based on the DC component or AC component power of the discrete cosine transformed data, which is the student data that is the class tap, classifying the class of the attention teacher data is performed,
Learning is performed so that the prediction error of the predicted value of the teacher data obtained by performing linear primary prediction calculation with the tap coefficient for each class and the student data is statistically minimized. A data processing apparatus characterized by being obtained for each class.
前記タップ係数を記憶している記憶手段をさらに備え、
前記取得手段は、前記記憶手段から、前記タップ係数を取得する
ことを特徴とする請求項1に記載のデータ処理装置。
A storage means for storing the tap coefficient;
The data processing apparatus according to claim 1, wherein the acquisition unit acquires the tap coefficient from the storage unit.
前記クラスタップ抽出手段は、注目データに対応するブロックの周辺のブロックから、前記クラスタップとする前記変換データを抽出する
ことを特徴とする請求項1に記載のデータ処理装置。
The data processing apparatus according to claim 1, wherein the class tap extraction unit extracts the conversion data to be the class tap from blocks around a block corresponding to the data of interest.
前記クラスタップ抽出手段は、注目データに対応するブロックからも、前記クラスタップとする前記変換データを抽出する
ことを特徴とする請求項1に記載のデータ処理装置。
The data processing apparatus according to claim 1, wherein the class tap extraction unit extracts the converted data to be the class tap from a block corresponding to the data of interest.
前記データは、動画または静止画の画像データである
ことを特徴とする請求項1に記載のデータ処理装置。
The data processing apparatus according to claim 1, wherein the data is image data of a moving image or a still image.
データに対し、少なくとも、離散コサイン変換処理を所定のブロック単位で施すことにより得られるブロック単位の変換データを処理し、元のデータの予測値を求めるデータ処理方法であって、
学習を行うことにより求められたタップ係数を取得する取得ステップと、
注目している前記データである注目データを、幾つかのクラスのうちのいずれかにクラス分類するのに用いる前記変換データを、少なくとも、前記注目データに対応するブロック以外のブロックから抽出し、クラスタップとして出力するクラスタップ抽出ステップと、
前記クラスタップとなっている変換データである、離散コサイン変換されたデータの直流成分または交流成分の電力に基づいて、前記注目データのクラスを求めるクラス分類を行うクラス分類ステップと、
前記注目データのクラスの前記タップ係数と、前記変換データとの線形1次予測演算を行うことにより、前記注目データの予測値を求める演算ステップと
を備え、
前記タップ係数は、
学習時の教師となる教師データに対し、少なくとも、離散コサイン変換処理を所定のブロック単位で施すことにより得られる前記ブロック単位の変換データを、学習時の生徒となる生徒データとして生成し、
前記教師データとして用いられる前記データのうちの、注目している教師データである注目教師データを、幾つかのクラスのうちのいずれかにクラス分類するのに用いる前記生徒データを、少なくとも、前記注目教師データに対応するブロック以外のブロックから抽出し、クラスタップとして出力し、
前記クラスタップとなっている生徒データである、離散コサイン変換されたデータの直流成分または交流成分の電力に基づいて、前記注目教師データのクラスを求めるクラス分類を行い、
前記クラスごとの前記タップ係数と、前記生徒データとの線形1次予測演算を行うことにより得られる前記教師データの予測値の予測誤差が、統計的に最小になるように学習を行う
学習処理によりクラスごとに求められたものである
ことを特徴とするデータ処理方法。
A data processing method for processing converted data in block units obtained by performing discrete cosine transform processing on a predetermined block unit for data, and obtaining a predicted value of original data,
An obtaining step for obtaining a tap coefficient obtained by performing learning;
The conversion data used to classify the attention data, which is the data of interest, into one of several classes, is extracted from at least blocks other than the block corresponding to the attention data, and class Class tap extraction step to output as taps;
A class classification step for classifying the class of the data of interest based on the direct current component or the power of the alternating current component of the discrete cosine transformed data, which is the transformed data that is the class tap;
A calculation step of obtaining a predicted value of the data of interest by performing a linear primary prediction calculation of the tap coefficient of the class of the data of interest and the converted data;
The tap coefficient is
For the teacher data to be a teacher at the time of learning, at least the block-unit conversion data obtained by performing a discrete cosine transform process in a predetermined block unit is generated as student data to be a student at the time of learning,
Wherein among the data to be used as teacher data, the target teacher data of teacher data of interest, the student data used for classification into one of several classes, at least, the target Extract from blocks other than the block corresponding to the teacher data, output as class tap,
Based on the DC component or AC component power of the discrete cosine transformed data, which is the student data that is the class tap, classifying the class of the attention teacher data is performed,
Learning is performed so that the prediction error of the predicted value of the teacher data obtained by performing linear primary prediction calculation with the tap coefficient for each class and the student data is statistically minimized. A data processing method characterized by being obtained for each class.
データに対し、少なくとも、離散コサイン変換処理を所定のブロック単位で施すことにより得られるブロック単位の変換データを処理し、元のデータの予測値を求めるデータ処理を、コンピュータに行わせるプログラムが記録されている記録媒体であって、
学習を行うことにより求められたタップ係数を取得する取得ステップと、
注目している前記データである注目データを、幾つかのクラスのうちのいずれかにクラス分類するのに用いる前記変換データを、少なくとも、前記注目データに対応するブロック以外のブロックから抽出し、クラスタップとして出力するクラスタップ抽出ステップと、
前記クラスタップとなっている変換データである、離散コサイン変換されたデータの直流成分または交流成分の電力に基づいて、前記注目データのクラスを求めるクラス分類を行うクラス分類ステップと、
前記注目データのクラスの前記タップ係数と、前記変換データとの線形1次予測演算を行うことにより、前記注目データの予測値を求める演算ステップと
を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であり、
前記タップ係数は、
学習時の教師となる教師データに対し、少なくとも、離散コサイン変換処理を所定のブロック単位で施すことにより得られる前記ブロック単位の変換データを、学習時の生徒となる生徒データとして生成し、
前記学習時の教師となる教師データとして用いられる前記データのうちの、注目している教師データである注目教師データを、幾つかのクラスのうちのいずれかにクラス分類するのに用いる前記生徒データを、少なくとも、前記注目教師データに対応するブロック以外のブロックから抽出し、クラスタップとして出力し、
前記クラスタップとなっている生徒データである、離散コサイン変換されたデータの直流成分または交流成分の電力に基づいて、前記注目教師データのクラスを求めるクラス分類を行い、
前記クラスごとの前記タップ係数と、前記生徒データとの線形1次予測演算を行うことにより得られる前記教師データの予測値の予測誤差が、統計的に最小になるように学習を行う
学習処理によりクラスごとに求められたものである
ことを特徴とする記録媒体。
A program is recorded that causes the computer to perform converted data in units of blocks obtained by performing discrete cosine transform processing on the data in units of predetermined blocks, and to perform data processing for obtaining a predicted value of the original data. Recording medium,
An obtaining step for obtaining a tap coefficient obtained by performing learning;
The conversion data used to classify the attention data, which is the data of interest, into one of several classes, is extracted from at least blocks other than the block corresponding to the attention data, and class Class tap extraction step to output as taps;
A class classification step for classifying the class of the data of interest based on the direct current component or the power of the alternating current component of the discrete cosine transformed data, which is the transformed data that is the class tap;
A computer-readable recording of a program for executing a calculation step of obtaining a predicted value of the attention data by performing a linear primary prediction operation of the tap coefficient of the class of attention data and the converted data A recording medium,
The tap coefficient is
For the teacher data to be a teacher at the time of learning, at least the block-unit conversion data obtained by performing a discrete cosine transform process in a predetermined block unit is generated as student data to be a student at the time of learning,
The student data used to classify attention teacher data, which is attention teacher data, among the data used as teacher data serving as a teacher at the time of learning into one of several classes Is extracted from at least a block other than the block corresponding to the attention teacher data, and is output as a class tap.
Based on the DC component or AC component power of the discrete cosine transformed data, which is the student data that is the class tap, classifying the class of the attention teacher data is performed,
Learning is performed so that the prediction error of the predicted value of the teacher data obtained by performing linear primary prediction calculation with the tap coefficient for each class and the student data is statistically minimized. A recording medium characterized by being obtained for each class.
データに対し、少なくとも、離散コサイン変換処理を所定のブロック単位で施すことにより得られるブロック単位の変換データを処理し、元のデータの予測値を求めるのに用いるタップ係数を学習するデータ処理装置であって、
学習時の教師となる教師データに対し、少なくとも、離散コサイン変換処理を所定のブロック単位で施すことにより得られる前記ブロック単位の変換データを、学習時の生徒となる生徒データとして生成する生成手段と、
前記教師データとして用いられる前記データのうちの、注目している教師データである注目教師データを、幾つかのクラスのうちのいずれかにクラス分類するのに用いる前記生徒データを、少なくとも、前記注目教師データに対応するブロック以外のブロックから抽出し、クラスタップとして出力するクラスタップ抽出手段と、
前記クラスタップとなっている生徒データである、離散コサイン変換されたデータの直流成分または交流成分の電力に基づいて、前記注目教師データのクラスを求めるクラス分類を行うクラス分類手段と、
前記クラスごとの前記タップ係数と、前記生徒データとの線形1次予測演算を行うことにより得られる前記教師データの予測値の予測誤差が、統計的に最小になるように学習を行い、前記タップ係数を、クラスごとに求める学習手段と
を備えることを特徴とするデータ処理装置。
A data processing device that processes converted data in units of blocks obtained by performing at least a discrete cosine transform process on data, and learns tap coefficients used to obtain a predicted value of the original data. There,
Generating means for generating at least the block-by- block conversion data obtained by performing discrete cosine transform processing in a predetermined block unit on the teacher data to be a teacher at the time of learning as student data to be a student at the time of learning; ,
Wherein among the data to be used as teacher data, the target teacher data of teacher data of interest, the student data used for classification into one of several classes, at least, the target Class tap extraction means for extracting from a block other than the block corresponding to the teacher data and outputting as a class tap;
Class classification means for classifying the class of the teacher data of interest based on the DC component or AC component power of the discrete cosine transformed data, which is the student data that is the class tap,
Learning is performed so that the prediction error of the predicted value of the teacher data obtained by performing linear primary prediction calculation with the tap coefficient for each class and the student data is statistically minimized, and the tap A data processing apparatus comprising: learning means for obtaining a coefficient for each class.
前記クラスタップ抽出手段は、注目教師データに対応するブロックの周辺のブロックから、前記クラスタップとする前記生徒データを抽出する
ことを特徴とする請求項8に記載のデータ処理装置。
The data processing apparatus according to claim 8, wherein the class tap extraction unit extracts the student data to be the class tap from blocks around a block corresponding to the teacher data of interest.
前記クラスタップ抽出手段は、注目教師データに対応するブロックからも、前記クラスタップとする前記生徒データを抽出する
ことを特徴とする請求項8に記載のデータ処理装置。
The data processing apparatus according to claim 8, wherein the class tap extraction unit extracts the student data as the class tap from a block corresponding to attention teacher data.
前記データは、動画または静止画の画像データである
ことを特徴とする請求項8に記載のデータ処理装置。
The data processing apparatus according to claim 8, wherein the data is moving image or still image data.
データに対し、少なくとも、離散コサイン変換処理を所定のブロック単位で施すことにより得られるブロック単位の変換データを処理し、元のデータの予測値を求めるのに用いるタップ係数を学習するデータ処理方法であって、
学習時の教師となる教師データに対し、少なくとも、離散コサイン変換処理を所定のブロック単位で施すことにより得られる前記ブロック単位の変換データを、学習時の生徒となる生徒データとして生成する生成ステップと、
前記教師データとして用いられる前記データのうちの、注目している教師データである注目教師データを、幾つかのクラスのうちのいずれかにクラス分類するのに用いる前記生徒データを、少なくとも、前記注目教師データに対応するブロック以外のブロックから抽出し、クラスタップとして出力するクラスタップ抽出ステップと、
前記クラスタップとなっている生徒データである、離散コサイン変換されたデータの直流成分または交流成分の電力に基づいて、前記注目教師データのクラスを求めるクラス分類を行うクラス分類ステップと、
前記クラスごとの前記タップ係数と、前記生徒データとの線形1次予測演算を行うことにより得られる前記教師データの予測値の予測誤差が、統計的に最小になるように学習を行い、前記タップ係数を、クラスごとに求める学習ステップと
を備えることを特徴とするデータ処理方法。
A data processing method for processing tap data used to obtain a predicted value of original data by processing converted data in block units obtained by performing at least a discrete cosine transform process on the data. There,
Generating at least the block-unit conversion data obtained by applying discrete cosine transform processing in predetermined block units to the teacher data serving as a teacher during learning as student data serving as students during learning; ,
Wherein among the data to be used as teacher data, the target teacher data of teacher data of interest, the student data used for classification into one of several classes, at least, the target A class tap extraction step of extracting from a block other than the block corresponding to the teacher data and outputting as a class tap;
A class classification step for classifying the class of the teacher data of interest based on the DC component or AC component power of the discrete cosine transformed data, which is the student data that is the class tap;
Learning is performed so that the prediction error of the predicted value of the teacher data obtained by performing linear primary prediction calculation with the tap coefficient for each class and the student data is statistically minimized, and the tap A data processing method comprising: a learning step for obtaining a coefficient for each class.
データに対し、少なくとも、離散コサイン変換処理を所定のブロック単位で施すことにより得られるブロック単位の変換データを処理し、元のデータの予測値を求めるのに用いるタップ係数を学習するデータ処理を、コンピュータに行わせるプログラムが記録されている記録媒体であって、
学習時の教師となる教師データに対し、少なくとも、離散コサイン変換処理を所定のブロック単位で施すことにより得られる前記ブロック単位の変換データを、学習時の生徒となる生徒データとして生成する生成ステップと、
前記教師データとして用いられる前記データのうちの、注目している教師データである注目教師データを、幾つかのクラスのうちのいずれかにクラス分類するのに用いる前記生徒データを、少なくとも、前記注目教師データに対応するブロック以外のブロックから抽出し、クラスタップとして出力するクラスタップ抽出ステップと、
前記クラスタップとなっている生徒データである、離散コサイン変換されたデータの直流成分または交流成分の電力に基づいて、前記注目教師データのクラスを求めるクラス分類を行うクラス分類ステップと、
前記クラスごとの前記タップ係数と、前記生徒データとの線形1次予測演算を行うことにより得られる前記教師データの予測値の予測誤差が、統計的に最小になるように学習を行い、前記タップ係数を、クラスごとに求める学習ステップと
を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
Data processing for processing at least block data obtained by performing discrete cosine transform processing on a predetermined block basis for data, and learning tap coefficients used to obtain a predicted value of the original data, A recording medium on which a program to be executed by a computer is recorded,
Generating at least the block-unit conversion data obtained by applying discrete cosine transform processing in predetermined block units to the teacher data serving as a teacher during learning as student data serving as students during learning; ,
Wherein among the data to be used as teacher data, the target teacher data of teacher data of interest, the student data used for classification into one of several classes, at least, the target A class tap extraction step of extracting from a block other than the block corresponding to the teacher data and outputting as a class tap;
A class classification step for classifying the class of the teacher data of interest based on the DC component or AC component power of the discrete cosine transformed data, which is the student data that is the class tap;
Learning is performed so that the prediction error of the predicted value of the teacher data obtained by performing linear primary prediction calculation between the tap coefficient for each class and the student data is statistically minimized, and the tap A computer-readable recording medium recording a program for executing a learning step for obtaining a coefficient for each class.
JP2000164024A 2000-06-01 2000-06-01 Data processing apparatus, data processing method, and recording medium Expired - Fee Related JP4678454B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000164024A JP4678454B2 (en) 2000-06-01 2000-06-01 Data processing apparatus, data processing method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000164024A JP4678454B2 (en) 2000-06-01 2000-06-01 Data processing apparatus, data processing method, and recording medium

Publications (2)

Publication Number Publication Date
JP2001346209A JP2001346209A (en) 2001-12-14
JP4678454B2 true JP4678454B2 (en) 2011-04-27

Family

ID=18667695

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000164024A Expired - Fee Related JP4678454B2 (en) 2000-06-01 2000-06-01 Data processing apparatus, data processing method, and recording medium

Country Status (1)

Country Link
JP (1) JP4678454B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4748113B2 (en) * 2007-06-04 2011-08-17 ソニー株式会社 Learning device, learning method, program, and recording medium
JP4951113B1 (en) 2010-12-20 2012-06-13 株式会社東芝 Image decoding apparatus, image decoding method and program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0779434A (en) * 1993-09-06 1995-03-20 Sony Corp Reception/reproduction device for digital picture signal
JPH09331526A (en) * 1996-04-11 1997-12-22 Sony Corp Image signal processor and its method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0779434A (en) * 1993-09-06 1995-03-20 Sony Corp Reception/reproduction device for digital picture signal
JPH09331526A (en) * 1996-04-11 1997-12-22 Sony Corp Image signal processor and its method

Also Published As

Publication number Publication date
JP2001346209A (en) 2001-12-14

Similar Documents

Publication Publication Date Title
US7336829B2 (en) Data processing apparatus and method and recording medium
JP5957559B2 (en) Video encoding / decoding method and apparatus using large size transform unit
US8331454B2 (en) Integer transform function for video compression systems
US9693057B2 (en) Integer transform video compression system, method and computer program product
JP2004528791A (en) Inter-frame encoding method and apparatus
JP4517448B2 (en) Data processing apparatus, data processing method, and recording medium
JP4678454B2 (en) Data processing apparatus, data processing method, and recording medium
JP4752088B2 (en) Data processing apparatus, data processing method, and recording medium
JP4538698B2 (en) Data processing apparatus, data processing method, and recording medium
JP4538699B2 (en) Data processing apparatus, data processing method, and recording medium
JP4419287B2 (en) Image processing apparatus, image processing method, and recording medium
JP4147789B2 (en) Image processing apparatus, image processing method, program, and recording medium
WO2019198519A1 (en) Data processing device and data processing method
JP4081745B2 (en) Decoding device and decoding method, learning device and learning method, program, and recording medium
JP2001345707A (en) Data processing apparatus and data processing method as well as recording medium
JP4505729B2 (en) Image processing apparatus, image processing method, program, and recording medium
JP4154647B2 (en) Data processing apparatus, data processing method, program, and recording medium
JP4491701B2 (en) Data processing apparatus, data processing method, and recording medium
JP4649770B2 (en) Image data processing apparatus and method, recording medium, and program
Furht Image presentation and compression
JP2007208662A (en) Image decoder, decoding method, and decoding program, and computer readable recording medium recording it

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090915

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100713

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110106

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110119

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees