JP3952326B2 - Image coding apparatus, image coding method, image processing system, image processing method, transmission method, and recording medium - Google Patents

Image coding apparatus, image coding method, image processing system, image processing method, transmission method, and recording medium Download PDF

Info

Publication number
JP3952326B2
JP3952326B2 JP20852597A JP20852597A JP3952326B2 JP 3952326 B2 JP3952326 B2 JP 3952326B2 JP 20852597 A JP20852597 A JP 20852597A JP 20852597 A JP20852597 A JP 20852597A JP 3952326 B2 JP3952326 B2 JP 3952326B2
Authority
JP
Japan
Prior art keywords
data
correction
image
correction data
prediction
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
JP20852597A
Other languages
Japanese (ja)
Other versions
JPH1084549A (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
Priority claimed from US08/893,216 external-priority patent/US6381369B1/en
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP20852597A priority Critical patent/JP3952326B2/en
Publication of JPH1084549A publication Critical patent/JPH1084549A/en
Application granted granted Critical
Publication of JP3952326B2 publication Critical patent/JP3952326B2/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, Expansion, Code Conversion, And Decoders (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、画像符号化装置および画像符号化方法、画像処理システムおよび画像処理方法、伝送方法、並びに記録媒体に関し、特に、少ないデータ処理で、効率的に、より高画質の予測画像を得ることができるようにした画像符号化装置および画像符号化方法、画像処理システムおよび画像処理方法、伝送方法、並びに記録媒体に関する。
【0002】
【従来の技術】
従来より、画像の圧縮方法については、種々の方法が提案されているが、そのうちの1つに、画像を、その画素を間引くことにより圧縮する方法がある。
【0003】
【発明が解決しようとする課題】
しかしながら、単に画像を間引いて圧縮した画素データを、そのまま符号化するようにすると、データ処理量が膨大となり、効率的に、高画質の予測画像(復号画像)を得ることができない課題があった。
【0004】
本発明は、このような状況に鑑みてなされたものであり、少ないデータ量で、効率的に、より高画質の予測画像を得ることができるようにするものである。
【0005】
【課題を解決するための手段】
請求項1に記載の画像符号化装置は、原画像を、その画素数を少なくすることにより圧縮する圧縮手段と、原画像を圧縮することにより得られる圧縮データの上位所定ビットのみを抽出することで、圧縮データのレベルを制限する制限手段と、所定の補正値を加算することにより、レベルの制限された圧縮データを補正し、補正データを出力する補正手段と、補正データを、その性質に応じて所定のクラスに分類し、補正データのクラスに対応する予測係数と、補正データとの線形結合により、予測値を求めることにより原画像を予測し、その予測値を出力する予測手段と、原画像に対する、予測値の予測誤差を算出する算出手段と、予測誤差を所定の閾値と比較することで、補正手段が出力する補正データの適正さを判定する判定手段と、判定手段により予測誤差が所定の閾値以下であり、補正データが適正であると判定された場合、補正データを、原画像の符号化結果として出力する出力手段とを備え、補正手段は、判定手段により予測誤差が所定の閾値以下であり、補正データが適正であると判定されるまで、補正値を変化させ、変化させた補正値を加算することにより、圧縮データを補正する処理を繰り返すことを特徴とする。
【0006】
請求項7に記載の画像符号化方法は、原画像を、その画素数を少なくすることにより圧縮し、原画像を圧縮することにより得られる圧縮データの上位所定ビットのみを抽出することで、圧縮データのレベルを制限し、所定の補正値を加算することにより、レベルの制限された圧縮データを補正して、補正データを出力し、補正データを、その性質に応じて所定のクラスに分類し、補正データのクラスに対応する予測係数と、補正データとの線形結合により、予測値を求めることにより原画像を予測して、その予測値を出力し、原画像に対する、予測値の予測誤差を算出し、予測誤差を所定の閾値と比較することで、補正データの適正さを判定し、予測誤差が所定の閾値以下であり、補正データが適正であると判定されるまで、補正値を変化させ、変化させた補正値を加算することにより、圧縮データを補正する処理を繰り返し、予測誤差が所定の閾値以下であり、補正データが適正であると判定された場合、補正データを、原画像の符号化結果として出力することを特徴とする。
【0007】
請求項8に記載の画像処理システムは、画像符号化装置は、原画像を、その画素数を少なくすることにより圧縮する圧縮手段と、原画像を圧縮することにより得られる圧縮データの上位所定ビットのみを抽出することで、圧縮データのレベルを制限する制限手段と、所定の補正値を加算することにより、レベルの制限された圧縮データを補正し、補正データを出力する補正手段と、補正データを、その性質に応じて所定のクラスに分類し、補正データのクラスに対応する予測係数と、補正データとの線形結合により、予測値を求めることにより原画像を予測し、第1の予測値を出力する予測手段と、原画像に対する、第1の予測値の予測誤差を算出する算出手段と、予測誤差を所定の閾値と比較することで、補正手段が出力する補正データの適正さを判定する判定手段と、判定手段により予測誤差が所定の閾値以下であり、補正データが適正であると判定された場合、補正データを、原画像の符号化データとして出力する出力手段とを備え、補正手段は、判定手段により予測誤差が所定の閾値以下であり、補正データが適正であると判定されるまで、補正値を変化させ、変化させた補正値を加算することにより、圧縮データを補正する処理を繰り返し、画像復号装置は、画像符号化装置の出力手段により出力される符号化データを受信する受信手段と、符号化データに含まれる補正データを、その性質に応じて所定のクラスに分類し、補正データのクラスに対応する予測係数と、補正データとの線形結合により、原画像を予測し、第2の予測値を出力することで、受信手段により受信された符号化データを復号する復号手段とを備えることを特徴とする。
【0008】
請求項10に記載の画像処理方法は、画像符号化装置の画像符号化方法は、原画像を、その画素数を少なくすることにより圧縮し、原画像を圧縮することにより得られる圧縮データの上位所定ビットのみを抽出することで、圧縮データのレベルを制限し、所定の補正値を加算することにより、レベルの制限された圧縮データを補正して、補正データを出力し、補正データを、その性質に応じて所定のクラスに分類し、補正データのクラスに対応する予測係数と、補正データとの線形結合により、予測値を求めることにより原画像を予測して、その予測値を出力し、原画像に対する、予測値の予測誤差を算出し、予測誤差を所定の閾値と比較することで、補正データの適正さを判定し、予測誤差が所定の閾値以下であり、補正データが適正であると判定されるまで、補正値を変化させ、変化させた補正値を加算することにより、圧縮データを補正する処理を繰り返し、予測誤差が所定の閾値以下であり、補正データが適正であると判定された場合、補正データを、原画像の符号化データとして出力し、画像復号装置の画像復号方法は、画像符号化装置から出力される符号化データを受信し、符号化データに含まれる補正データを、その性質に応じて所定のクラスに分類し、補正データのクラスに対応する予測係数と、補正データとの線形結合により、原画像を予測し、第2の予測値を出力することで、受信された符号化データを復号することを特徴とする。
【0009】
請求項11に記載の伝送方法は、原画像を、その画素数を少なくすることにより圧縮し、原画像を圧縮することにより得られる圧縮データの上位所定ビットのみを抽出することで、圧縮データのレベルを制限し、所定の補正値を加算することにより、レベルの制限された圧縮データを補正して、補正データを出力し、補正データを、その性質に応じて所定のクラスに分類し、補正データのクラスに対応する予測係数と、補正データとの線形結合により、予測値を求めることにより原画像を予測して、その予測値を出力し、原画像に対する、予測値の予測誤差を算出し、予測誤差を所定の閾値と比較することで、補正データの適正さを判定し、予測誤差が所定の閾値以下であり、補正データが適正であると判定されるまで、補正値を変化させ、変化させた補正値を加算することにより、圧縮データを補正する処理を繰り返し、予測誤差が所定の閾値以下であり、補正データが適正であると判定された場合、補正データを、原画像の符号化結果として送信することを特徴とする。
【0010】
請求項12に記載の記録媒体に記録されているプログラムは、原画像を、その画素数を少なくすることにより圧縮し、原画像を圧縮することにより得られる圧縮データの上位所定ビットのみを抽出することで、圧縮データのレベルを制限し、所定の補正値を加算することにより、レベルの制限された圧縮データを補正して、補正データを出力し、補正データを、その性質に応じて所定のクラスに分類し、補正データのクラスに対応する予測係数と、補正データとの線形結合により、予測値を求めることにより原画像を予測して、その予測値を出力し、原画像に対する、予測値の予測誤差を算出し、予測誤差を所定の閾値と比較することで、補正データの適正さを判定し、予測誤差が所定の閾値以下であり、補正データが適正であると判定されるまで、補正値を変化させ、変化させた補正値を加算することにより、圧縮データを補正する処理を繰り返し、予測誤差が所定の閾値以下であり、補正データが適正であると判定された場合、補正データを、原画像の符号化結果として出力することを特徴とする。
【0017】
請求項1に記載の画像符号化装置においては、原画像を圧縮することにより得られる圧縮データの上位所定ビットのみを抽出することで、圧縮データのレベルが制限され、所定の補正値を加算することにより、レベルの制限された圧縮データが補正され、補正データが出力される。また、補正データを、その性質に応じて所定のクラスに分類し、補正データのクラスに対応する予測係数と、補正データとの線形結合により、予測値を求めることにより原画像が予測され、その予測値が出力され、原画像に対する、予測値の予測誤差が算出される。そして、予測誤差を所定の閾値と比較することで、補正手段が出力する補正データの適正さが判定され、予測誤差が所定の閾値以下であり、補正データが適正であると判定された場合、補正データが、原画像の符号化結果として出力され、予測誤差が所定の閾値以下であり、補正データが適正であると判定されるまで、補正値を変化させ、変化させた補正値を加算することにより、圧縮データを補正する処理が繰り返される。
【0018】
請求項7に記載の画像符号化方法においては、原画像を圧縮することにより得られる圧縮データの上位所定ビットのみを抽出することで、圧縮データのレベルが制限され、所定の補正値を加算することにより、レベルの制限された圧縮データが補正されて、補正データが出力される。また、補正データを、その性質に応じて所定のクラスに分類し、補正データのクラスに対応する予測係数と、補正データとの線形結合により、予測値を求めることにより原画像が予測されて、その予測値が出力され、原画像に対する、予測値の予測誤差が算出される。そして、予測誤差を所定の閾値と比較することで、補正データの適正さが判定され、予測誤差が所定の閾値以下であり、補正データが適正であると判定されるまで、補正値を変化させ、変化させた補正値を加算することにより、圧縮データを補正する処理が繰り返され、予測誤差が所定の閾値以下であり、補正データが適正であると判定された場合、補正データが、原画像の符号化結果として出力される。
【0019】
請求項8に記載の画像処理システムにおいては、画像符号化装置により、原画像を圧縮することにより得られる圧縮データの上位所定ビットのみを抽出することで、圧縮データのレベルが制限され、所定の補正値を加算することにより、レベルの制限された圧縮データが補正されて、補正データが出力される。また、補正データを、その性質に応じて所定のクラスに分類し、補正データのクラスに対応する予測係数と、補正データとの線形結合により、予測値を求めることにより原画像が予測されて、第1の予測値が出力され、原画像に対する、第1の予測値の予測誤差が算出される。そして、予測誤差を所定の閾値と比較することで、補正データの適正さが判定され、予測誤差が所定の閾値以下であり、補正データが適正であると判定されるまで、補正値を変化させ、変化させた補正値を加算することにより、圧縮データを補正する処理が繰り返され、予測誤差が所定の閾値以下であり、補正データが適正であると判定された場合、補正データが、原画像の符号化データとして出力される。また、画像復号装置により、画像符号化装置から出力される符号化データが受信され、符号化データに含まれる補正データが、その性質に応じて所定のクラスに分類され、補正データのクラスに対応する予測係数と、補正データとの線形結合により、原画像が予測され、第2の予測値を出力することで、受信された符号化データが復号される。
【0020】
請求項10に記載の画像処理方法においては、画像符号化装置の画像符号化方法において、原画像を圧縮することにより得られる圧縮データの上位所定ビットのみを抽出することで、圧縮データのレベルが制限され、所定の補正値を加算することにより、レベルの制限された圧縮データが補正されて、補正データが出力される。また、補正データを、その性質に応じて所定のクラスに分類し、補正データのクラスに対応する予測係数と、補正データとの線形結合により、予測値を求めることにより原画像が予測されて、その予測値が出力され、原画像に対する、予測値の予測誤差が算出される。そして、予測誤差を所定の閾値と比較することで、補正データの適正さが判定され、予測誤差が所定の閾値以下であり、補正データが適正であると判定されるまで、補正値を変化させ、変化させた補正値を加算することにより、圧縮データを補正する処理が繰り返され、予測誤差が所定の閾値以下であり、補正データが適正であると判定された場合、補正データが、原画像の符号化データとして出力される。また、画像復号装置の画像復号方法において、画像符号化装置から出力される符号化データが受信され、符号化データに含まれる補正データが、その性質に応じて所定のクラスに分類され、補正データのクラスに対応する予測係数と、補正データとの線形結合により、原画像が予測され、第2の予測値を出力することで、受信された符号化データが復号される。
【0021】
請求項11に記載の伝送方法においては、原画像を圧縮することにより得られる圧縮データの上位所定ビットのみを抽出することで、圧縮データのレベルが制限され、所定の補正値を加算することにより、レベルの制限された圧縮データが補正されて、補正データが出力される。補正データを、その性質に応じて所定のクラスに分類し、補正データのクラスに対応する予測係数と、補正データとの線形結合により、予測値を求めることにより原画像が予測されて、その予測値が出力され、原画像に対する、予測値の予測誤差が算出される。そして、予測誤差を所定の閾値と比較することで、補正データの適正さが判定され、予測誤差が所定の閾値以下であり、補正データが適正であると判定されるまで、補正値を変化させ、変化させた補正値を加算することにより、圧縮データを補正する処理が繰り返され、予測誤差が所定の閾値以下であり、補正データが適正であると判定された場合、補正データが、原画像の符号化結果として送信される。
【0022】
請求項12に記載の記録媒体においては、原画像を圧縮することにより得られる圧縮データの上位所定ビットのみを抽出することで、圧縮データのレベルが制限され、所定の補正値を加算することにより、レベルの制限された圧縮データが補正されて、補正データが出力される。補正データを、その性質に応じて所定のクラスに分類し、補正データのクラスに対応する予測係数と、補正データとの線形結合により、予測値を求めることにより原画像が予測されて、その予測値が出力され、原画像に対する、予測値の予測誤差が算出される。そして、予測誤差を所定の閾値と比較することで、補正データの適正さが判定され、予測誤差が所定の閾値以下であり、補正データが適正であると判定されるまで、補正値を変化させ、変化させた補正値を加算することにより、圧縮データを補正する処理が繰り返され、予測誤差が所定の閾値以下であり、補正データが適正であると判定された場合、補正データが、原画像の符号化結果として出力される。
【0023】
【発明の実施の形態】
【0043】
図1は、本発明を適用した画像処理装置の一実施の形態の構成を示している。送信装置1には、ディジタル化された画像データが供給されるようになされている。送信装置1は、入力された画像データを間引くこと(その画素数を少なくすること)により圧縮、符号化し、その結果得られる符号化データを、例えば、光ディスク、光磁気ディスク、磁気テープ、相変化ディスクその他でなる記録媒体2に記録し、または、例えば、地上波、衛星回線、電話回線、CATV網、インターネットその他の伝送路3を介して伝送する。
【0044】
受信装置4では、記録媒体2に記録された符号化データが再生され、または、伝送路3を介して伝送されてくる符号化データが受信され、その符号化データが伸張、復号化される。そして、その結果得られる復号画像は、図示せぬディスプレイに供給されて表示される。
【0045】
なお、以上のような画像処理装置は、例えば、光ディスク装置、光磁気ディスク装置、磁気テープ装置その他の、画像の記録/再生を行う装置、あるいはまた、例えば、テレビ電話装置、テレビジョン放送システム、CATVシステムその他の、画像の伝送を行う装置などに適用される。また、後述するように、送信装置1が出力する符号化データのデータ量が少ないため、図1の画像処理装置は、伝送レートの低い、例えば、携帯電話機その他の、移動に便利な携帯端末などにも適用可能である。
【0046】
図2は、送信装置1の構成例を示している。
【0047】
I/F(InterFace)11は、外部から供給される画像データの受信処理と、送信機/記録装置16に対しての、符号化データの送信処理を行うようになされている。ROM(Read Only Memory)12は、IPL(Initial Program Loading)用のプログラムその他を記憶している。RAM(Random Access Memory)13は、外部記憶装置15に記録されているシステムプログラム(OS(Operating System))やアプリケーションプログラムを記憶したり、また、CPU(Central Processing Unit)14の動作上必要なデータを記憶するようになされている。CPU14は、ROM12に記憶されているIPLプログラムにしたがい、外部記憶装置15からシステムプログラムおよびアプリケーションプログラムを、RAM13に展開し、そのシステムプログラムの制御の下、アプリケーションプログラムを実行することで、I/F11から供給される画像データについての、後述するような符号化処理を行うようになされている。外部記憶装置15は、例えば、磁気ディスク装置などでなり、上述したように、CPU14が実行するシステムプログラムやアプリケーションプログラムを記憶している他、CPU14の動作上必要なデータも記憶している。送信機/記録装置16は、I/F11から供給される符号化データを、記録媒体2に記録し、または伝送路3を介して伝送するようになされている。
【0048】
なお、I/F11,ROM12,RAM13,CPU14、および外部記憶装置15は、相互にバスを介して接続されている。
【0049】
以上のように構成される送信装置1においては、I/F11に画像データが供給されると、その画像データは、CPU14に供給される。CPU14は、画像データを符号化し、その結果得られる符号化データを、I/F11に供給する。I/F11は、符号化データを受信すると、それを、送信機/記録装置16に供給する。送信機/記録装置16では、I/F11からの符号化データが、記録媒体2に記録され、または伝送路3を介して伝送される。
【0050】
図3は、図2の送信装置1の、送信機/記録装置16を除く部分の機能的なブロック図である。
【0051】
符号化すべき画像データは、圧縮部21、ローカルデコード部22、および誤差算出部23に供給されるようになされている。圧縮部21は、画像データを、その画素を、単純に間引くことにより圧縮するとともに、抽出された画素データのレベルを制限し、さらに、その結果得られる圧縮データ(間引きとレベル制限が行われた後の画像データ)を、判定部24からの制御にしたがって補正するようになされている。圧縮部21における補正の結果得られる補正データは、ローカルデコード部22および判定部24に供給されるようになされている。
【0052】
ローカルデコード部22は、圧縮部21からの補正データに基づいて、元の画像を予測し、その予測値を、誤差算出部23に供給するようになされている。なお、ローカルデコード部22は、後述するように、補正データとの線形結合により、予測値を算出するための予測係数を求める処理を行い、その予測係数に基づいて、予測値を求める適応処理を行うようになされており、上述したように、予測値を、誤差算出部23に供給する他、そのとき求めた予測係数を、判定部24に供給するようにもなされている。
【0053】
誤差算出部23は、そこに入力される、元の画像データ(原画像)に対する、ローカルデコード部22からの予測値の予測誤差を算出するようになされている。この予測誤差は、誤差情報として、判定部24に供給されるようになされている。
【0054】
判定部24は、誤差算出部23からの誤差情報に基づいて、圧縮部21が出力した補正データを、元の画像の符号化結果とすることの適正さを判定するようになされている。そして、判定部24は、圧縮部21が出力した補正データを、元の画像の符号化結果とすることが適正でないと判定した場合には、圧縮部21を制御し、さらに、圧縮データを補正させ、その結果得られる新たな補正データを出力させるようになされている。また、判定部24は、圧縮部21が出力した補正データを、元の画像の符号化結果とすることが適正であると判定した場合には、圧縮部21から供給された補正データを、最適な圧縮データ(以下、適宜、最適圧縮データという)として多重化部25に供給するとともに、ローカルデコード部22から供給された予測係数を多重化部25に供給するようになされている。
【0055】
多重化部25は、判定部24からの最適圧縮データ(補正データ)と、予測係数とを多重化し、その多重化結果を、符号化データとして、送信機/記録装置16(図2)に供給するようになされている。
【0056】
次に、図4のフローチャートを参照して、その動作について説明する。圧縮部21に対して、画像データが供給されると、圧縮部21は、ステップS1において、その画像データを間引く(複数の画素から少ない数の画素を抽出する)ことにより圧縮する。また、抽出された画素データのレベルを、ステップS2において、MSB側の2ビットを抽出することで制限する。そして、この画素データを、最初は、補正を行わずに、ローカルデコード部22および判定部24に出力する。ローカルデコード部22では、ステップS3において、圧縮部21からの補正データ(最初は、上述したように、画像データを、単純に間引き、かつ、レベル制限した圧縮データそのもの)がローカルデコードされる。
【0057】
即ち、ステップS3では、圧縮部21からの補正データとの線形結合により、元の画像の予測値を算出するための予測係数を求める処理が行われ、その予測係数に基づいて、予測値を求める適応処理が行われる。ローカルデコード部22において求められた予測値は誤差算出部23に、また、予測係数は判定部24に供給される。
【0058】
ここで、ローカルデコード部22が出力する予測値で構成される画像は、受信装置4(図1)側において得られる復号画像と同一のものである。
【0059】
誤差算出部23は、ローカルデコード部22から、元の画像の予測値を受信すると、ステップS4において、元の画像データに対する、ローカルデコード部22からの予測値の予測誤差を算出し、誤差情報として、判定部24に供給する。判定部24は、誤差算出部23から誤差情報を受信すると、ステップS5において、その誤差情報に基づいて、圧縮部21が出力した補正データを、元の画像の符号化結果とすることの適正さを判定する。
【0060】
即ち、ステップS5においては、誤差情報が所定の閾値ε以下であるかどうかが判定される。ステップS5において、誤差情報が所定の閾値ε以下でないと判定された場合、圧縮部21が出力した補正データを、元の画像の符号化データとするのは適正でないと認識され、ステップS6に進み、判定部24は、圧縮部21を制御し、これにより、圧縮データを補正させる。圧縮部21は、判定部24の制御にしたがって、補正量(後述する補正値△)を変えて、圧縮データを補正し、その結果得られる補正データを、ローカルデコード部22および判定部24に出力する。そして、ステップS3に戻り、以下、同様の処理が繰り返される。
【0061】
一方、ステップS5において、誤差情報が所定の閾値ε以下であると判定された場合、圧縮部21が出力した補正データを、元の画像の符号化結果とするのは適正であると認識され、判定部24は、所定の閾値ε以下の誤差情報が得られたときの補正データを、最適圧縮データとして、予測係数とともに、多重化部25に出力する。多重化部25では、ステップS7において、判定部24からの最適圧縮データと予測係数とが多重化され、その結果得られる符号化データが出力されて、処理を終了する。
【0062】
以上のように、誤差情報が所定の閾値ε以下となったときにおける、圧縮データを補正した補正データを、元の画像の符号化結果とするようにしたので、受信装置4側においては、その補正データに基づいて、元の画像(原画像)とほぼ同一の画像を得ることが可能となる。
【0063】
次に、図5は、図3の圧縮部21の構成例を示している。
【0064】
符号化すべき画像データは、間引き回路30に入力されるようになされており、間引き回路30は、入力された画像データを1/Nに間引くようになされている。従って、間引き回路30からは、画像データを、1/Nに圧縮した圧縮データが出力されるようになされている。この圧縮データは、レベル制限回路31に入力され、例えば8ビットで表される各画素データのMSB側の2ビットだけを抽出することで、そのレベルが制限された後、補正回路32に供給されるようになされている。
【0065】
補正回路32は、判定部24(図3)からの制御信号にしたがって、補正値ROM33にアドレスを与え、これにより、補正値△を読み出すようになされている。そして、補正回路32は、レベル制限回路31からの圧縮データに対して、補正値ROM33からの補正値△を、例えば加算することで、補正データを生成し、ローカルデコード部22および判定部24に供給するようになされている。補正値ROM33は、レベル制限回路31が出力する圧縮データを補正するための、各種の補正値△の組合せ(例えば、1フレーム分の圧縮データを補正するための補正値の組合せなど)を記憶しており、補正回路32から供給されるアドレスに対応する補正値△の組合せを読み出して、補正回路32に供給するようになされている。
【0066】
次に、図6を参照して、図5の圧縮部21の処理について説明する。
【0067】
例えば、1フレーム分などの画像データが、間引き回路30に供給されると、間引き回路30は、ステップS11において、その画像データを1/Nに間引き、その結果得られる圧縮データを、レベル制限回路31に出力する。
【0068】
ここで、間引き回路30は、図7に示すように、画像データを、例えば、1/9に間引くようになされている。即ち、間引き回路30は、3×3(横×縦)の9画素を1単位とし、各単位の中心の画素(同図において、●印で示す部分)についての画素値のみを抽出し、他の部分(同図において、○印で示す部分)を削除する。なお、間引き回路30は、以上のような処理を、例えば、1フレーム(フィールド)単位で行うようになされている。従って、間引き回路30からレベル制限回路31に対しては、1フレームの画像データが1/9に間引きされた圧縮データとして供給される。但し、間引き回路30における間引き処理は、その他、1フレームの画像を幾つかのブロックに分割し、そのブロック単位で行うようにすることも可能である。
【0069】
レベル制限回路31は、間引き回路30から、1/9に間引かれた画素データの供給を受けると、8ビットで表されている画素データのMSB側から2ビットを抽出することでレベルを制限する。すなわち、これにより、各画素データは2ビットで表されることになり、その後の処理が簡単となる。
【0070】
補正回路32は、レベル制限回路31から圧縮データを受信すると、ステップS13において、判定部24(図3)から制御信号を受信したかどうかを判定する。ステップS13において、制御信号を受信していないと判定された場合、ステップS16に進み、補正回路32は、レベル制限回路31からの圧縮データを、そのまま補正データとして、ローカルデコード部22および判定部24に出力し、ステップS13に戻る。
【0071】
即ち、判定部24は、上述したように、誤差情報に基づいて、圧縮部21(補正回路32)を制御するようになされており、レベル制限回路31から圧縮データが出力された直後は、まだ、誤差情報が得られないため(誤差情報が、誤差算出部23から出力されないため)、判定部24からは制御信号は出力されない。このため、レベル制限回路31から圧縮データが出力された直後は、補正回路32は、その圧縮データを補正せず(0を加算する補正をして)、そのまま補正データとして、ローカルデコード部22および判定部24に出力する。
【0072】
一方、ステップS13において、判定部24からの制御信号を受信したと判定された場合、ステップS14において、補正回路32は、その制御信号にしたがったアドレスを、補正値ROM33に出力する。これにより、ステップS14では、補正値ROM33から、そのアドレスに記憶されている、1フレーム分の圧縮データを補正するための補正値△の組合せ(集合)が読み出され、補正回路32に供給される。補正回路32は、補正値ROM33から補正値△の組合せを受信すると、ステップS15において、1フレームの圧縮データそれぞれに、対応する補正値△を加算し、これにより、圧縮データを補正した補正データを算出する。その後は、ステップS16に進み、補正データが、補正回路32からローカルデコード部22および判定部24に出力され、ステップS13に戻る。
【0073】
以上のようにして、圧縮部21は、判定部24の制御にしたがって、圧縮データを、種々の値に補正した補正データを出力することを繰り返す。
【0074】
なお、判定部24は、1フレームの画像についての符号化を終了すると、その旨を表す制御信号を、圧縮部21に供給するようになされており、圧縮部21では、ステップS13において、そのような制御信号を受信したかどうかも判定されるようになされている。ステップS13において、1フレームの画像についての符号化が終了した旨の制御信号を受信したと判定された場合、次のフレームの画像が供給されるのを待って、ステップS11に戻り、ステップS11からの処理が繰り返される。
【0075】
また、上述の場合においては、間引き回路30に、3×3画素の中心の画素についての画素データ(画素値)のみを抽出させることにより、圧縮データを生成させるようにしたが、その他、例えば、3×3画素の平均値を算出し、その平均値を、3×3画素の中心の画素の画素値として、圧縮データを生成させるようにすることなども可能である。
【0076】
次に、図8は、図3のローカルデコード部22の構成例を示している。
【0077】
圧縮部21からの補正データは、クラス分類用ブロック化回路41および予測値計算用ブロック化回路42に供給されるようになされている。クラス分類用ブロック化回路41は、補正データを、その性質に応じて所定のクラスに分類するための単位である、注目される補正データ(画素)(注目補正データ)を中心としたクラス分類用ブロックにブロック化するようになされている。
【0078】
即ち、いま、図7において、上からi番目で、左からj番目の補正データ(圧縮データ)(または画素)(図中、●印で示す部分)をXijと表すとすると、クラス分類用ブロック化回路41は、注目画素(注目補正データ)Xijの上、左、右、下に隣接する4つの画素X(i-1)j,Xi(j-1),Xi(j+1),X(i-1)jに、自身を含め、合計5画素で構成されるクラス分類用ブロックを構成するようになされている。このクラス分類用ブロックは、クラス分類適応処理回路43に供給されるようになされている。
【0079】
なお、この場合、クラス分類用ブロックは、十文字形に配列されている画素でなるブロックで構成されることとなるが、クラス分類用ブロックの形状は、十文字形である必要はなく、その他、例えば、長方形、正方形、その他の任意な形とすることが可能である。また、クラス分類用ブロックを構成する画素数も、5画素に限定されるものではない。
【0080】
予測値計算用ブロック化回路42は、補正データを、元の画像の予測値を計算するための単位である、注目補正データを中心とした予測値計算用ブロックにブロック化するようになされている。即ち、いま、図7において、補正データXij(図中、●印で示す部分)を中心とする、元の画像(原画像)における3×3の9画素の画素値を、その最も左から右方向、かつ上から下方向に、Yij(1),Yij(2),Yij(3),Yij(4),Yij(5),Yij(6),Yij(7),Yij(8),Yij(9)と表すとすると、画素Yij(1)乃至Yij(9)の予測値の計算のために、予測値計算用ブロック化回路42は、例えば、画素Xijを中心とする5×5の25画素X(i-2)(j-2),X(i-2)(j-1),X(i-2)j,X(i-2)(j+1),X(i-2)(j+2),X(i-1)(j-2),X(i-1)(j-1),X(i-1)j,X(i-1)(j+1),X(i-1)(j+2),Xi(j-2),Xi(j-1),Xij,Xi(j+1),Xi(j+2),X(i+1)(j-2),X(i+1)(j-1),X(i+1)j,X(i+1)(j+1),X(i+1)(j+2),X(i+2)(j-2),X(i+2)(j-1),X(i+2)j,X(i+2)(j+1),X(i+2)(j+2)で構成される正方形状の予測値計算用ブロックを構成するようになされている。
【0081】
具体的には、例えば、図7において四角形で囲む、元の画像における画素Y33(1)乃至Y33(9)の予測値の計算のためには、画素X11,X12,X13,X14,X15,X21,X22,X23,X24,X25,X31,X32,X33,X34,X35,X41,X42,X43,X44,X45,X51,X52,X53,X54,X55により、予測値計算用ブロックが構成される。
【0082】
予測値計算用ブロック化回路42において得られた予測値計算用ブロックは、クラス分類適応処理回路43に供給されるようになされている。
【0083】
なお、予測値計算用ブロックについても、クラス分類用ブロックにおける場合と同様に、その画素数および形状は、上述したものに限定されるものではない。但し、予測値計算用ブロックを構成する画素数は、クラス分類用ブロックを構成する画素数よりも多くするのが望ましい。
【0084】
また、上述のようなブロック化を行う場合において(ブロック化以外の処理についても同様)、画像の画枠付近では、対応する画素が存在しないことがあるが、この場合には、例えば、画枠を構成する画素と同一の画素が、その外側に存在するものとして処理を行う。
【0085】
クラス分類適応処理43は、クラス分類回路45および適応処理46で構成され、クラス分類適応処理を行うようになされている。
【0086】
クラス分類適応処理とは、入力信号を、その特徴に基づいて幾つかのクラスに分類し、各クラスの入力信号に、そのクラスに適切な適応処理を施すもので、大きく、クラス分類処理と適応処理とに分かれている。
【0087】
ここで、クラス分類処理および適応処理について簡単に説明する。
【0088】
まず、クラス分類処理について説明する。
【0089】
いま、例えば、図9(A)に示すように、ある注目画素と、それに隣接する3つの画素により、2×2画素でなるブロック(クラス分類用ブロック)を構成し、また、各画素は、1ビットで表現される(0または1のうちのいずれかのレベルをとる)ものとする。この場合、2×2の4画素のブロックは、各画素のレベル分布により、図9(B)に示すように、16(=(214)パターンに分類することができる。このようなパターン分けが、クラス分類処理であり、クラス分類回路45において行われる。
【0090】
なお、クラス分類処理は、画像(ブロック内の画像)のアクティビティ(画像の複雑さ)(変化の激しさ)などをも考慮して行うようにすることが可能である。
【0091】
ここで、通常、元の画素には、例えば8ビット程度が割り当てられる。また、本実施の形態においては、上述したように、クラス分類用ブロックは、5画素で構成される。従って、このようなクラス分類用ブロックを元の(8ビットの)画素で構成し、クラス分類処理を行ったのでは、(285という膨大な数のクラスに分類されることになる。
【0092】
一方、本実施の形態では、上述したように、レベル制限回路31において、画素のビット数を小さくしており(8ビットから2ビットにしており)、これにより、クラス数を削減する(1024(=(225)にする)ことができる。
【0093】
次に、適応処理について説明する。
【0094】
例えば、いま、元の画像の画素値yの予測値E[y]を、その周辺の幾つかの画素の画素値(以下、適宜、学習データという)x1,x2,・・・と、所定の予測係数w1,w2,・・・の線形結合により規定される線形1次結合モデルにより求めることを考える。この場合、予測値E[y]は、次式で表すことができる。
【0095】
E[y]=w11+w22+・・・+w2525+w0・・・(1)
但し、w0は、本来8ビットのデータxiを、その下位6ビットを削除して、2ビットのデータに変換したので、E[y]を8ビットで表現するために加算される、その下位6ビットに対応する、いわばオフセットの項(オフセット係数)である。なお、オフセット係数w0は、予測係数w1,w2,・・・と同様に、予測値を求めるための係数であるから、以下、適宜、予測係数に含めて扱うこととする。但し、ここでは、説明を簡単にするために、オフセット係数w0を無視して、適応処理を説明する。
【0096】
いま、予測係数wの集合でなる行列W、学習データの集合でなる行列X、および予測値E[y]の集合でなる行列Y’を、
【数1】

Figure 0003952326
で定義すると、次のような観測方程式が成立する。
【0097】
XW=Y’・・・(2)
【0098】
そして、この観測方程式に最小自乗法を適用して、元の画像の画素値yに近い予測値E[y]を求めることを考える。この場合、元の画像の画素値(以下、適宜、教師データという)yの集合でなる行列Y、および元の画像の画素値yに対する予測値E[y]の残差eの集合でなる行列Eを、
【数2】
Figure 0003952326
で定義すると、式(2)から、次のような残差方程式が成立する。
【0099】
XW=Y+E・・・(3)
【0100】
この場合、元の画像の画素値yに近い予測値E[y]を求めるための予測係数wiは、自乗誤差
【数3】
Figure 0003952326
を最小にすることで求めることができる。
【0101】
従って、上述の自乗誤差を予測係数wiで微分したものが0になる場合、即ち、次式を満たす予測係数wiが、元の画像の画素値yに近い予測値E[y]を求めるため最適値ということになる。
【0102】
【数4】
Figure 0003952326
Figure 0003952326
【0103】
そこで、まず、式(3)を、予測係数wiで微分することにより、次式が成立する。
【0104】
【数5】
Figure 0003952326
Figure 0003952326
【0105】
式(4)および(5)より、式(6)が得られる。
【0106】
【数6】
Figure 0003952326
Figure 0003952326
【0107】
さらに、式(3)の残差方程式における学習データx、予測係数w、教師データy、および残差eの関係を考慮すると、式(6)から、次のような正規方程式を得ることができる。
【0108】
【数7】
Figure 0003952326
Figure 0003952326
【0109】
式(7)の正規方程式は、求めるべき予測係数wの数と同じ数だけたてることができ、従って、式(7)を解くことで、最適な予測係数wを求めることができる。式(7)を解くにあたっては、例えば、掃き出し法(Gauss-Jordanの消去法)などを適用することが可能である。
【0110】
なお、以上の説明したことを、オフセット係数w0を含めた形に拡張することで、予測係数とともに、最適なオフセット係数w0も、あわせて求めることができる。
【0111】
以上のようにして、クラスごとに、最適な予測係数wを求め、さらに、その予測係数wを用い、式(1)により、元の画像の画素値yに近い予測値E[y]を求めるのが適応処理であり、この適応処理が、適応処理回路46において行われるようになされている。
【0112】
なお、適応処理は、間引かれた画像には含まれていない、元の画像に含まれる成分が再現される点で、補間処理とは異なる。即ち、適応処理では、式(1)だけを見る限りは、いわゆる補間フィルタを用いての補間処理と同様であるが、その補間フィルタのタップ係数に相当する予測係数wが、教師データyを用いての、いわば学習により求められるため、元の画像に含まれる成分を再現することができる。このことから、適応処理は、いわば画像の創造作用がある処理ということができる。
【0113】
次に、図10のフローチャートを参照して、図8のローカルデコード部22の処理について説明する。
【0114】
ローカルデコード部22においては、まず最初に、ステップS21において、圧縮部21からの補正データがブロック化される。即ち、クラス分類用ブロック化回路41において、補正データが、注目補正データを中心とした5画素で構成されるクラス分類用ブロックにブロック化され(図7)、クラス分類適応処理回路43に供給されるとともに、予測値計算用ブロック化回路42において、補正データが、注目補正データを中心とした5×5画素で構成される予測値計算用ブロックにブロック化され、クラス分類適応処理回路43に供給される。
【0115】
クラス分類適応処理回路43には、上述したように、クラス分類用ブロックおよび予測値計算用ブロックの他、元の画像データが供給されるようになされており、クラス分類用ブロックはクラス分類回路45に、予測値計算用ブロックおよび元の画像データは適応処理回路46に供給されるようになされている。
【0116】
クラス分類回路45は、ステップS22において、クラス分類用ブロックに対して、クラス分類処理を施す。即ち、クラス分類用ブロックを構成する各画素のレベル分布の状態を検出し、そのクラス分類用ブロックが属するクラス(そのクラス分類用ブロックを構成する注目補正データのクラス)を判定する。このクラスの判定結果は、クラス情報として、適応処理回路46に供給される。
【0117】
なお、本実施の形態においては、2ビットで表される5画素で構成されるクラス分類用ブロックに対して、クラス分類処理が施されるので、各クラス分類用ブロックは、1024(=(225)のクラスのうちのいずれかに分類されることになる。
【0118】
そして、ステップS23に進み、適応処理回路46において、クラス分類回路45からのクラス情報に基づいて、各クラスごとに適応処理が施され、これにより、クラスごとの予測係数および1フレーム分の元の画像データの予測値が算出される。
【0119】
即ち、本実施の形態においては、例えば、クラスごとの26×9の予測係数が、1フレームごとに、原画像と補正データから算出される。そして、ある1つの補正データに注目した場合に、その注目補正データに対応する原画像の画素と、その画素の周りに隣接する8個の原画像の画素の、合計9個の画素についての予測値が、注目補正データを中心とする5×5の25画素でなる予測値計算用ブロックと、そのクラス情報に対応する26×9個の予測係数とを用いて、式(1)の線形一次式が計算されることにより算出される。
【0120】
具体的には、例えば、いま、図7に示した補正データX33を中心とする5個の補正データX23,X32,X33,X34,X43でなるクラス分類用ブロック(補正データX33を注目補正データとするクラス分類用ブロック)についてのクラス情報Cが、クラス分類回路45から出力され、また、そのクラス分類用ブロックに対応する予測値計算用ブロックとして、補正データX33を中心とする5×5画素の補正データX11,X12,X13,X14,X15,X21,X22,X23,X24,X25,X31,X32,X33,X34,X35,X41,X42,X43,X44,X45,X51,X52,X53,X54,X55でなる予測値計算用ブロック(補正データX33を注目補正データとする予測値計算用ブロック)が、予測値計算用ブロック化回路42から出力されたものとすると、まず、その予測値計算用ブロックを構成する補正データを、学習データとするとともに、元の画像における、補正データX33を中心とする3×3画素(図7において四角形で囲んである部分)の画素値Y33(1)乃至Y33(9)を、教師データとして、式(7)に対応する正規方程式がたてられる。
【0121】
さらに、所定期間としての、例えば、1フレームの中で、同一のクラス情報Cにクラス分類される他の予測値計算用ブロックについても同様にして、正規方程式がたてられ、画素値Y33(k)(ここでは、k=1,2,・・・,9)の予測値E[Y33(k)]を求めるための予測係数w1(k)乃至w25(k)(本実施の形態では、1つの予測値を求めるのに学習データが25個用いられており、さらに、1個のオフセット係数が必要とされるので、それに対応して、予測係数wは26個必要となる)を算出することができるだけの数の正規方程式が得られると(従って、そのような数の正規方程式が得られるまでは、ステップS23では、正規方程式をたてる処理までが行われる)、その正規方程式を解くことで、クラス情報Cについて、画素値Y33(k)の予測値E[Y33(k)]を求めるのに最適な26の予測係数(オフセット係数を含む)w0(k)乃至w25(k)が算出される(25個の補正データを用いて、9個の予測値を求めるため、1クラスについての予測係数の数は、25×9個に、9個の予測値に対応するだけのオフセット係数の数である9個を合わせた26×9個となる)。
【0122】
この処理は、各クラスごとに行われ、各クラスごとに26×9個の予測係数が算出される。そして、クラス情報Cに対応する26×9個の予測係数と、予測値計算用ブロックとを用い、式(1)に対応する次式にしたがって、予測値E[Y33(k)]が求められる。
【0123】
Figure 0003952326
【0124】
ステップS23では、以上のようにして、26×9の予測係数が、クラスごとに求められ、そのクラスごとの予測係数を用いて、注目補正データを中心とする3×3の原画像の画素の予測値が求められる。
【0125】
その後、ステップS24に進み、クラスごとの26×9の予測係数は判定部24に供給され、3×3画素単位で求められる1フレーム分の予測値は誤差算出部23に供給される。そして、ステップS21に戻り、以下同様の処理が、例えば、上述したように1フレーム単位で繰り返される。
【0126】
次に、図11は、図3の誤差算出部23の構成例を示している。
【0127】
ブロック化回路51には、元の画像データが供給されるようになされており、そこでは、ブロック化回路51は、その画像データを、ローカルデコード部22から出力される予測値に対応する9個単位でブロック化し、その結果得られる3×3画素のブロック(例えば、図7に四角形で囲んで示すような3×3画素のブロック)を、自乗誤差算出回路52に出力するようになされている。自乗誤差算出部52には、上述したように、ブロック化回路51からブロックが供給される他、ローカルデコード部22から予測値が、9個単位(3×3画素のブロック単位)で供給されるようになされており、自乗誤差算出回路52は、原画像に対する、予測値の予測誤差としての自乗誤差を算出し、積算部55に供給するようになされている。
【0128】
即ち、自乗誤差算出回路は52は、演算器53および54で構成されている。演算器53は、ブロック化回路51からのブロック化された画像データそれぞれから、対応する予測値を減算し、その減算値を、演算器54に供給するようになされている。演算器54は、演算器53の出力(元の画像データと予測値との差分)を自乗し、積算部55に供給するようになされている。
【0129】
積算部55は、自乗誤差算出回路52から自乗誤差を受信すると、メモリ56の記憶値を読み出し、その記憶値と自乗誤差とを加算して、再び、メモリ56に供給して記憶させることを繰り返すことで、自乗誤差の積算値(誤差分散)を求めるようになされている。さらに、積算部55は、所定量(例えば、1フレーム分など)についての自乗誤差の積算が終了すると、その積算値を、メモリ56から読み出し、誤差情報として、判定部24に供給するようになされている。メモリ56は、1フレームについての処理が終了するごとに、その記憶値をクリアしながら、積算部55の出力値を記憶するようになされている。
【0130】
次に、その動作について、図12のフローチャートを参照して説明する。誤差算出部23では、まず最初に、ステップS31において、メモリ56の記憶値が、例えば0にクリアされ、ステップS32に進み、ブロック化回路51において、画像データが、上述したようにブロック化され、その結果得られるブロックが、自乗誤差算出回路52に供給される。自乗誤差算出回路52では、ステップS33において、ブロック化回路51から供給されるブロックを構成する、元の画像の画像データと、ローカルデコード部22から供給される予測値との自乗誤差が算出される。
【0131】
即ち、ステップS33では、演算器53において、ブロック化回路51より供給されたブロック化された画像データそれぞれから、対応する予測値が減算され、演算器54に供給される。さらに、ステップS33では、演算器54において、演算器53の出力が自乗され、積算部55に供給される。
【0132】
積算部55は、自乗誤差算出回路52から自乗誤差を受信すると、ステップS34において、メモリ56の記憶値を読み出し、その記憶値と自乗誤差とを加算することで、自乗誤差の積算値を求める。積算部55において算出された自乗誤差の積算値は、メモリ56に供給され、前回の記憶値に上書きされることで記憶される。
【0133】
そして、積算部55では、ステップS35において、所定量としての、例えば、1フレーム分についての自乗誤差の積算が終了したかどうかが判定される。ステップS35において、1フレーム分についての自乗誤差の積算が終了していないと判定された場合、ステップS32に戻り、再び、ステップS32からの処理を繰り返す。また、ステップS35において、1フレーム分についての自乗誤差の積算が終了したと判定された場合、ステップS36に進み、積算部55は、メモリ56に記憶された1フレーム分についての自乗誤差の積算値を読み出し、誤差情報として、判定部24に出力する。そして、ステップS31に戻り、次のフレームについて、再び、ステップS31からの処理を繰り返す。
【0134】
従って、誤差算出部23では、元の画像データをYij(k)とするとともに、その予測値をE[Yij(k)]とするとき、次式にしたがった演算が行われることで、誤差情報Qが算出される。
【0135】
Q=Σ(Yij(k)−E[Yij(k)])2
但し、Σは、1フレーム分についてのサメーションを意味する。
【0136】
次に、図13は、図3の判定部24の構成例を示している。
【0137】
予測係数メモリ61は、ローカルデコード部22から供給される予測係数を記憶するようになされている。補正データメモリ62は、圧縮部21から供給される補正データを記憶するようになされている。
【0138】
なお、補正データメモリ62は、圧縮部21において、圧縮データが新たに補正され、これにより、新たな補正データが供給された場合には、既に記憶している補正データ(前回の補正データ)に代えて、新たな補正データを記憶するようになされている。また、このように補正データが、新たなものに更新されるタイミングで、ローカルデコード部22からは、その新たな補正データに対応する、新たなクラスごとの予測係数のセットが出力されるが、予測係数メモリ61においても、このように新たなクラスごとの予測係数が供給された場合には、既に記憶しているクラスごとの予測係数(前回のクラスごとの予測係数)に代えて、その新たなクラスごとの予測係数を記憶するようになされている。
【0139】
誤差情報メモリ63は、誤差算出部23から供給される誤差情報を記憶するようになされている。なお、誤差情報メモリ63は、誤差算出部23から、今回供給された誤差情報の他に、前回供給された誤差情報も記憶するようになされている(新たな誤差情報が供給されても、さらに新たな誤差情報が供給されるまでは、既に記憶している誤差情報を保持するようになされている)。なお、誤差情報メモリ63は、新たなフレームについての処理が開始されるごとにクリアされるようになされている。
【0140】
比較回路64は、誤差情報メモリ63に記憶された今回の誤差情報と、所定の閾値εとを比較し、さらに、必要に応じて、今回の誤差情報と前回の誤差情報との比較も行うようになされている。比較回路64における比較結果は、制御回路65に供給されるようになされている。
【0141】
制御回路65は、比較回路64における比較結果に基づいて、補正データメモリ62に記憶された補正データを、元の画像の符号化結果とすることの適正(最適)さを判定し、最適でないと認識(判定)した場合には、新たな補正データの出力を要求する制御信号を、圧縮部21(補正回路32)(図5)に供給するようになされている。また、制御回路65は、補正データメモリ62に記憶された補正データを、元の画像の符号化結果とすることが最適であると認識した場合には、予測係数メモリ61に記憶されているクラスごとの予測係数を読み出し、多重化部25に出力するとともに、補正データメモリ62に記憶されている補正データを読み出し、最適圧縮データとして、やはり多重化部25に供給するようになされている。さらに、この場合、制御回路65は、1フレームの画像についての符号化を終了した旨を表す制御信号を、圧縮部21に出力し、これにより、上述したように、圧縮部21に、次のフレームについての処理を開始させるようになされている。
【0142】
次に、図14を参照して、判定部24の動作について説明する。判定部24では、まず最初に、ステップS41において、誤差算出部23から誤差情報を受信したかどうかが、比較回路64によって判定され、誤差情報を受信していないと判定された場合、ステップS41に戻る。また、ステップS41において、誤差情報を受信したと判定された場合、即ち、誤差情報メモリ63に誤差情報が記憶された場合、ステップS42に進み、比較回路64において、誤差情報メモリ63に、いま記憶された誤差情報(今回の誤差情報)と、所定の閾値εとが比較され、いずれが大きいかが判定される。
【0143】
ステップS42において、今回の誤差情報が、所定の閾値ε以上であると判定された場合、比較回路64において、誤差情報メモリ63に記憶されている前回の誤差情報が読み出される。そして、比較回路64は、ステップS43において、前回の誤差情報と、今回の誤差情報とを比較し、いずれが大きいかを判定する。
【0144】
ここで、1フレームについての処理が開始され、最初に誤差情報が供給されたときには、誤差情報メモリ63には、前回の誤差情報は記憶されていないので、この場合には、判定部24においては、ステップS43以降の処理は行われず、制御回路65において、所定の初期アドレス(補正値ROM33(図5)において、補正値の初期値が記憶されているアドレス)を出力するように、補正回路32(図5)を制御する制御信号が出力されるようになされている。
【0145】
ステップS43において、今回の誤差情報が、前回の誤差情報以下であると判定された場合、即ち、圧縮データの補正を行うことにより誤差情報が減少した場合、ステップS44に進み、制御回路65は、補正値△を、前回と同様に変化させるように指示する制御信号を、補正回路32に出力し、ステップS41に戻る。また、ステップS43において、今回の誤差情報が、前回の誤差情報より大きいと判定された場合、即ち、圧縮データの補正を行うことにより誤差情報が増加した場合、ステップS45に進み、制御回路65は、補正値△を、前回と逆に変化させるように指示する制御信号を、補正回路32に出力し、ステップS41に戻る。
【0146】
なお、減少し続けていた誤差情報が、あるタイミングで上昇するようになったときは、制御回路65は、補正値△を、いままでの場合の、例えば1/2の大きさで、前回と逆に変化させるように指示する制御信号を出力するようになされている。
【0147】
そして、ステップS41乃至S45の処理を繰り返すことにより、誤差情報が減少し、これにより、ステップS42において、今回の誤差情報が、所定の閾値εより小さいと判定された場合、ステップS46に進み、制御回路65は、予測係数メモリ61に記憶されているクラスごとの予測係数を読み出すとともに、補正データメモリ62に記憶されている1フレーム分の補正データを最適圧縮データとして読み出し、多重化部25に供給して、処理を終了する。
【0148】
その後は、次のフレームについての誤差情報が供給されるのを待って、再び、図14に示すフローチャートにしたがった処理を繰り返す。
【0149】
なお、補正回路32には、圧縮データの補正は、1フレームすべての圧縮データについて行わせるようにすることもできるし、その一部の圧縮データについてだけ行わせるようにすることもできる。一部の圧縮データについてだけ補正を行う場合においては、制御回路65に、例えば、誤差情報に対する影響の強い画素を検出させ、そのような画素についての圧縮データだけを補正するようにすることができる。誤差情報に対する影響の強い画素は、例えば、次のようにして検出することができる。即ち、まず最初に、間引き後に残った画素のレベル制御した圧縮データをそのまま用いて処理を行うことにより、その誤差情報を得る。そして、その圧縮データを、1つずつ、同一の補正値△だけ補正するような処理を行わせる制御信号を、制御回路65から補正回路32に出力し、その結果得られる誤差情報を、圧縮データをそのまま用いた場合に得られた誤差情報と比較し、その差が、所定値以上となる画素を、誤差情報に対する影響の強い画素として検出すれば良い。
【0150】
以上のように、誤差情報を所定の閾値εより小さくする(以下にする)まで、圧縮データの補正が繰り返され、誤差情報が所定の閾値εより小さくなったときにおける補正データが、画像の符号化結果として出力されるので、受信装置4(図1)においては、間引き後の画像を構成する画素の画素値を、元の画像を復元するのに最も適当な値にした補正データから、原画像と同一(ほぼ同一)の復号画像(高画質の復号画像)を得ることが可能となる。
【0151】
また、画像は、間引き処理により圧縮される他、レベル制限処理およびクラス分類適応処理などによっても圧縮されるため、非常に高圧縮率の符号化データを得ることができる。なお、送信装置1における、以上のような符号化処理は、間引きによる圧縮処理と、クラス分類適応処理とを、いわば有機的に統合して用いることにより、高能率圧縮を実現するものであり、このことから統合符号化処理ということができる。
【0152】
次に、図15は、図1の受信装置4の構成例を示している。
【0153】
受信機/再生装置71においては、記録媒体2に記録された符号化データが再生され、または伝送路3を介して伝送されてくる符号化データが受信され、分離部72に供給される。分離部72では、符号化データから、1フレーム分の補正データとクラスごとの予測係数が順次分離され、1フレーム分の補正データは、クラス分類用ブロック化回路73および予測値計算用ブロック化回路77に供給され、クラスごとの予測係数は、予測回路76に供給されて、その内蔵するメモリ76Aに記憶される。
【0154】
クラス分類用ブロック化回路73、クラス分類回路75、または予測値計算用ブロック化回路77は、図8におけるクラス分類用ブロック化回路41、クラス分類回路45、または予測値計算用ブロック化回路42それぞれと同様に構成されており、従って、これらのブロックにおいては、図8における場合と同様の処理が行われ、これにより、予測値計算用ブロック化回路77からは予測値計算用ブロックが出力され、また、クラス分類回路75からはクラス情報が出力される。これらの予測値計算用ブロックおよびクラス情報は、予測回路76に供給される。
【0155】
予測回路76では、クラス情報に対応した予測係数が、その内蔵するメモリ76Aに記憶されたクラスごとの予測係数の中から読み出され、その予測係数と、予測値計算用ブロック化回路77から供給される予測値計算用ブロックを構成する補正データとを用い、式(1)にしたがって予測値が算出され、そのような予測値で構成される1フレームの画像が、復号画像として出力される。この復号画像は、上述したように、元の画像とほぼ同一の画像となる。
【0156】
なお、受信側においては、図15に示すような受信装置4でなくても、間引きされた画像を単純な補間により復号する装置により、予測係数を用いずに、通常の補間を行うことで復号画像を得ることができる。但し、この場合に得られる復号画像は、画質(解像度)の劣化したものとなる。
【0157】
ところで、上述の場合おいては、図3のローカルデコード部22において予測係数を求め、これを用いて、予測値を算出するようにしたが、予測値は、予測係数を求めずに(あらかじめ学習により求めておいた予測係数を用いて)算出するようにすることが可能である。
【0158】
即ち、図16は、図2の送信装置1の第2の機能的構成例を示している。なお、図中、図3における場合と対応する部分については、同一の符号を付してある。即ち、この送信装置1は、ローカルデコード部22に代えて、ローカルデコード部1022が設けられている他は、図3における場合と同様に構成されている。
【0159】
但し、図3においては、ローカルデコード部22に原画像データが供給されるようになされていたが、図16においては、ローカルデコード部1022には、原画像データが供給されないようになっている。
【0160】
図17は、図16のローカルデコード部1022の構成例を示している。なお、図中、図8における場合と対応する部分については、同一の符号を付してある。即ち、ローカルデコード部1022は、適応処理回路46に代えて、予測係数ROM81および予測回路82が設けられている他は、図8におけるローカルデコード部22と同様に構成されている。
【0161】
予測係数ROM81は、あらかじめ学習(後述する)を行うことにより求められたクラスごとの26×9の予測係数を記憶しており、クラス分類回路45が出力するクラス情報を受信し、そのクラス情報に対応するアドレスに記憶されている予測係数を読み出して、予測回路82に供給する。
【0162】
予測回路82では、予測値計算用ブロック化回路42からの5×5画素の予測値計算用ブロックと、予測係数ROM81からの26×9の予測係数とを用いて、式(1)(具体的には、例えば、式(8))に示した線形1次式が計算され、これにより、元の画像の3×3画素の予測値が算出される。
【0163】
従って、図17のクラス分類適応処理回路43によれば、元の画像(原画像)を用いずに、その予測値が算出される。このため、上述したように、ローカルデコード部1022には、原画像が供給されないようになっている(供給する必要がないため、供給しないようになっている)。
【0164】
次に、図18のフローチャートを参照して、図17のローカルデコード部1022の処理についてさらに説明する。
【0165】
ローカルデコード部1022においては、まず最初に、ステップS1021,S1022において、図10のステップS21,S22における場合とそれぞれ同様の処理が行われ、これにより、クラス分類回路45からは、クラス情報が出力される。このクラス情報は、予測係数ROM81に供給される。また、予測値計算用ブロック化回路42からは、予測値計算用ブロックが出力され、予測回路82に供給される。
【0166】
予測係数ROM81は、クラス情報を受信すると、ステップS1023において、そのクラス情報に対応する26×9の予測係数を、記憶しているクラスごとの予測係数の中から読み出し、予測回路82に供給する。
【0167】
予測回路82には、予測係数ROM81から26×9の予測係数が供給される他、上述したように、予測値計算用ブロック化回路42から5×5画素の予測値計算用ブロックも供給される。そして、予測回路82では、ステップS1024において、予測係数ROM81からの26×9の予測係数と、予測値計算用ブロック化回路42からの5×5画素の予測値計算用ブロックとを用いて適応処理が行われることにより、即ち、具体的には、式(1)(または式(8))にしたがった演算が行われることにより、注目補正データ(ここでは、予測値計算用ブロックの中心にある画素)を中心とする3×3の原画像の画素の予測値が求められる。
【0168】
その後、例えば、1フレーム分の予測値が求められると、ステップS1025に進み、予測係数ROM81に記憶されたクラスごとの26×9の予測係数が読み出され、判定部24に供給されるとともに、ステップS1024で求められた予測値が誤差算出部23に供給される。そして、ステップS1021に戻り、以下同様の処理が、例えば、1フレーム単位で繰り返される。
【0169】
なお、この実施の形態では、クラスごとの予測係数は、予測係数ROM81に記憶されたものが使用され、従って、その値は変化しないから、ステップS1025において、クラスごとの予測係数を、判定部24に一度供給した後は、基本的に、再度供給する必要はない。
【0170】
また、送信装置1が、図16に示したように構成される場合においても、受信装置4は、図15に示したように構成することで、原画像とほぼ同一の復号画像を得ることができる。
【0171】
次に、図19は、図17の予測係数ROM81に記憶されている予測係数を得るための学習を行う画像処理装置の構成例を示している。
【0172】
学習用ブロック化回路91および教師用ブロック化回路92には、あらゆる画像に適用可能な予測係数を得るための(従って、間引き処理される前の)学習用の画像データ(学習用画像)が供給されるようになされている。
【0173】
学習用ブロック化回路91は、入力される画像データから、注目画素を中心とする、例えば、図7に●印で示した位置関係の25画素(5×5画素)を抽出し(この場合における注目画素は、X33)、この25画素で構成されるブロックを、学習用ブロックとして、レベル制限回路93に供給する。レベル制限回路93は、入力された画素データのレベルを制限し、クラス分類回路94と学習用データメモリ96に出力する。
【0174】
また、教師用ブロック化回路92では、入力される画像データから、注目画素を中心とする、例えば、3×3の9画素で構成されるブロックが生成され、この9画素で構成されるブロックが、教師用ブロックとして、教師データメモリ98に供給される。
【0175】
なお、学習用ブロック化回路91において、例えば、図7に●印で示した位置関係の25画素で構成される学習用ブロックが生成されるとき、教師用ブロック化回路92では、同図に四角形で囲んで示す3×3画素の教師用ブロックが生成されるようになされている。
【0176】
クラス分類回路94では、学習用ブロックを構成する25画素から、その中心の9画素(3×3画素)が抽出され、この9画素でなるブロックに対して、クラス分類を施される。そして、それにより得られるクラス情報が、スイッチ95の端子aを介して、学習データメモリ96および教師データメモリ98に供給される。
【0177】
学習データメモリ96または教師データメモリ98では、そこに供給されるクラス情報に対応するアドレス(AD)に、レベル制限回路93からの学習用ブロックまたは教師用ブロック化回路92からの教師用ブロックが、それぞれ記憶される。
【0178】
従って、学習データメモリ96において、例えば、図7に●印で示した5×5画素でなるブロックが学習用ブロックとして、あるアドレスに記憶されたとすると、教師データメモリ98においては、そのアドレスと同一のアドレスに、同図において、四角形で囲んで示す3×3画素のブロックが、教師用ブロックとして記憶される。
【0179】
以下、同様の処理が、あらかじめ用意されたすべての学習用の画像について繰り返され、これにより、学習用ブロックと、図17のローカルデコード部1022において、その学習用ブロックを構成する25画素と同一の位置関係を有する25の補正データで構成される予測値計算用ブロックを用いて予測値が求められる9画素で構成される教師用ブロックとが、学習用データメモリ96と、教師用データメモリ98とにおいて、同一のアドレスに記憶される。
【0180】
なお、学習用データメモリ96と教師用データメモリ98においては、同一アドレスに複数の情報を記憶することができるようになされており、これにより、同一アドレスには、複数の学習用ブロックと教師用ブロックを記憶することができるようになされている。
【0181】
学習用画像すべてについての学習用ブロックと教師用ブロックとが、学習データメモリ96と教師データメモリ98に記憶されると、端子aを選択していたスイッチ95が、端子bに切り替わり、これにより、カウンタ97の出力が、アドレスとして、学習データメモリ96および教師データメモリ98に供給される。カウンタ97は、所定のクロックをカウントし、そのカウント値を出力しており、学習データメモリ96または教師データメモリ98では、そのカウント値に対応するアドレスに記憶された学習用ブロックまたは教師用ブロックが読み出され、演算回路99に供給される。
【0182】
従って、演算回路99には、カウンタ97のカウント値に対応するクラスの学習用ブロックのセットと、教師用ブロックのセットとが供給される。
【0183】
演算回路99は、あるクラスについての学習用ブロックのセットと、教師用ブロックのセットとを受信すると、それらを用いて、例えば、最小自乗法により、誤差を最小とする予測係数を算出する。
【0184】
即ち、例えば、いま、学習用ブロックを構成する画素の画素値を、x1,x2,x3,・・・とし、求めるべき予測係数をw0,w1,w2,w3,・・・とするとき、これらの線形1次結合により、教師用ブロックを構成する、ある画素の画素値yを求めるには、予測係数w0,w1,w2,w3,・・・は、式(1)に対応する次式を満たす必要がある。
【0185】
y=w11+w22+w33+・・・+w0
【0186】
そこで、演算回路99では、同一クラスの学習用ブロックと、対応する教師用ブロックとから、真値yに対する、予測値w11+w22+w33+・・・+w0の自乗誤差を最小とする予測係数w1,w2,w3,・・・,w0が、上述した式(7)に対応する正規方程式をたてて解くことにより求められる。
【0187】
演算回路99において求められた、クラスごとの予測係数は、メモリ100に供給される。メモリ100には、演算回路99からの予測係数の他、カウンタ97からカウント値が供給されており、これにより、メモリ100においては、演算回路99からの予測係数が、カウンタ97からのカウント値に対応するアドレスに記憶される。
【0188】
以上のようにして、メモリ100には、各クラスに対応するアドレスに、そのクラスのブロックの画素を予測するのに最適な予測係数が記憶される。
【0189】
図17の予測係数ROM81には、以上のようにしてメモリ100に記憶された予測係数が記憶されている。
【0190】
次に、図20は、図2の送信装置1の第3の機能的構成例を示している。なお、図中、図3における場合と対応する部分については、同一の符号を付してある。即ち、この送信装置1は、ローカルデコード部22または判定部24に代えて、ローカルデコード部2022または判定部2024がそれぞれ設けられているとともに、多重化部25が設けられていない他は、図3における場合と同様に構成されている。
【0191】
但し、この場合も、図16における場合と同様に、ローカルデコード部2022には、原画像データが供給されないようになっている。さらに、図20の実施の形態では、ローカルデコード部2022は、予測係数を判定部2024に出力しないようになっている。
【0192】
次に、図21のフローチャートを参照して、その動作について説明する。
【0193】
圧縮部21に対して、画像データが供給されると、圧縮部21は、ステップS1001において、その画像データを間引くことにより圧縮し、さらに、ステップS1002において、そのレベルを制限し、最初は、補正を行わずに、ローカルデコード部2022および判定部2024に出力する。ローカルデコード部2022では、ステップS1003において、圧縮部21からの補正データ(最初は、上述したように、画像データを、単純に間引いた圧縮データのレベルを制限しただけのもの)がローカルデコードされる。
【0194】
即ち、ステップS1003では、圧縮部21からの補正データが、例えば、図17に示したローカルデコード部1022における場合と同様にして、ローカルデコードされ、これにより、原画像の予測値が算出される。この予測値は、誤差算出部23に供給される。
【0195】
誤差算出部23では、ステップS1004において、図4のステップS4における場合と同様にして、予測誤差が算出され、誤差情報として、判定部2024に供給される。判定部2024は、誤差算出部23から誤差情報を受信すると、ステップS1005において、図4のステップS4における場合と同様に、誤差算出部23からの誤差情報が所定の閾値ε以下であるかどうかを判定する。ステップS1005において、誤差情報が所定の閾値ε以下でないと判定された場合、ステップS1006に進み、判定部2024は、圧縮部21を制御し、これにより、圧縮データのレベルを制限したものを補正させる。そして、圧縮部21において、圧縮データが補正され、新たな補正データが出力されるのを待って、ステップS1003に戻る。
【0196】
一方、ステップS1005において、誤差情報が所定の閾値ε以下であると判定された場合、判定部2024は、ステップS1007に進み、所定の閾値ε以下の誤差情報が得られたときの補正データを、最適圧縮データとして、送信機/記録装置16(図2)に出力し、処理を終了する。
【0197】
従って、ここでは、クラスごとの予測係数は出力されない。
【0198】
次に、図22は、図20のローカルデコード部2022の構成例を示している。なお、図中、図17における場合と対応する部分については、同一の符号を付してある。即ち、ローカルデコード部2022は、基本的に図17におけるローカルデコード部1022と同様に構成されている。
【0199】
但し、図17においては、予測係数ROM81がそこに記憶されているクラスごとの予測係数を、判定部24に供給するようになっていたが、図22では、予測係数ROM81は、クラスごとの予測係数を、判定部24に供給しないようになっている。
【0200】
次に、図23のフローチャートを参照して、その動作について説明する。
【0201】
ローカルデコード部2022では、ステップS2021乃至S2024において、図18のステップS1021乃至1024における場合とそれぞれ同様の処理が行われる。そして、ステップS2025において、ステップS2024で求められた予測値のみが、誤差算出部23に供給され(予測係数は、判定部2024に供給されない)、ステップS2021に戻り、以下、同様の処理が、例えば、1フレーム単位で繰り返される。
【0202】
次に、図24は、図20の判定部2024の構成例を示している。なお、図中、図13における場合と対応する部分については、同一の符号を付してある。即ち、上述したように、ローカルデコード部2022からは予測係数が供給されないため、判定部2024には、その予測係数を記憶するための予測係数メモリ61が設けられておらず、そのことを除けば、基本的に、図13の判定部24と同様に構成されている。
【0203】
次に、図25のフローチャートを参照して、その動作について説明する。
【0204】
判定部2024では、ステップS2041乃至2045において、図14のステップS41乃至S45における場合とそれぞれ同様の処理が行われ、これにより、誤差情報が減少するように、圧縮部21が制御される。
【0205】
そして、ステップS2041乃至S2045の処理を繰り返すことにより、誤差情報が減少し、これにより、ステップS2042において、今回の誤差情報が、所定の閾値εより小さいと判定された場合、ステップS2046に進み、制御回路65は、補正データメモリ62に記憶されている1フレームの補正データを、最適圧縮データとして読み出し、送信機/記録装置16に供給して、処理を終了する。
【0206】
その後は、次のフレームについての誤差情報が供給されるのを待って、再び、同様の処理を繰り返す。
【0207】
次に、図26は、送信装置1が図20に示したように構成される場合の受信装置4の構成例を示している。なお、図中、図15における場合と対応する部分については、同一の符号を付してある。即ち、図26の受信装置4は、クラス分類回路75と予測回路76との間に予測係数ROM78が新たに設けられている他は、図15における場合と基本的に同様に構成されている。
【0208】
送信装置1が図20に示したように構成される場合、上述したことから、受信機/再生装置71が出力する符号化データには、クラスごとの予測係数は含まれておらず、このため、分離部72では、符号化データから、補正データ(最適圧縮データ)だけが抽出され、クラス分類用ブロック化回路73および予測値計算用ブロック化回路77に供給される。
【0209】
クラス分類用ブロック化回路73、クラス分類回路75、または予測値計算用ブロック化回路77では、図8におけるクラス分類用ブロック化回路41、クラス分類回路45、または予測値計算用ブロック化回路42それぞれと同様の処理が行われ、これにより、予測値計算用ブロック化回路77からは5×5画素の予測値計算用ブロックが出力され、また、クラス分類回路75からはクラス情報が出力される。予測値計算用ブロックは予測回路76に供給され、クラス情報は予測係数ROM78に供給される。
【0210】
予測係数ROM78には、図22の予測係数ROM81に記憶されているクラスごとの予測係数と同一のものが記憶されており、クラス分類回路75からクラス情報が供給されると、そのクラス情報に対応した26×9の予測係数が読み出され、予測回路76に供給される。
【0211】
予測回路76は、予測係数ROM78からの26×9の予測係数と、予測値計算用ブロック化回路77から供給される5×5画素の予測値計算用ブロックを構成する補正データとを用い、式(1)にしたがって、原画像の3×3画素の予測値を算出し、そのような予測値で構成される1フレームの画像を、復号画像として出力する。
【0212】
送信装置1が図20に示したように構成されるとともに、受信装置4が図26に示したように構成される場合、クラスごとの26×9の予測係数を送受信せずに済むので、その分だけ、伝送容量または記録容量を低減することができる。
【0213】
なお、予測係数ROM78や81には、クラスごとの予測係数を記憶させるのではなく、教師用ブロックを構成する画素値の平均値などを、クラスごとに記憶させるようにすることが可能である。この場合、クラス情報が与えられると、そのクラスに対応する画素値が出力されることになり、図17や図22のローカルデコード部1022や2022において、予測値計算用ブロック化回路42および予測回路82を設けずに済むようになる。また、図26の受信装置4においても同様に、予測値計算用ブロック化回路77および予測回路76を設けずに済むようになる。
【0214】
なお、上述の場合には、誤差情報が、所定の閾値ε以下になるまで、圧縮データの補正を繰り返し行うようにしたが、圧縮データの補正の回数には、上限を設けるようにすることも可能である。即ち、例えば、リアルタイムで画像の伝送を行う場合などにおいては、1フレームについての処理が、所定の期間内に終了することが必要であるが、誤差情報は、そのような所定の期間内に収束するとは限らない。そこで、補正の回数に上限を設けることにより、所定の期間内に、誤差情報が閾値ε以下に収束しないときは、そのフレームについての処理を終了し(そのときにおける補正データを、符号化結果とし)、次のフレームについての処理を開始するようにすることが可能である。
【0215】
また、上述の場合には、圧縮部21において、画像を、単純に間引き、即ち、3×3画素のブロックにおける中心画素を抽出し、これを圧縮データとするようにしたが、圧縮部21には、その他、例えば、ブロックを構成する9画素の平均値などを求めさせ、その平均値を、ブロックにおける中心画素の画素値とすることにより、その画素数を少なくし(間引き)、これを圧縮データとするようにすることも可能である。
【0216】
次に、図27は、図2の送信装置1の第4の機能的構成例を示している。
【0217】
ブロック化回路111には、符号化すべき画像データが入力されるようになされており、ブロック化回路111は、画像データを、その性質に応じて所定のクラスに分類するための単位である、注目画素を中心としたクラス分類用ブロックにブロック化し、ADRC(Adaptive Dynamic Range Coding)処理回路112および遅延回路115に供給するようになされている。
【0218】
ADRC処理回路112は、ブロック化回路111からのブロック(クラス分類用ブロック)に対してADRC処理を施し、その結果得られるADRCコードで構成されるブロックを、クラス分類回路113に供給するようになされている。
【0219】
ここで、ADRC処理よれば、クラス分類用ブロックを構成する画素のビット数が低減されるようになされている。
【0220】
即ち、例えば、いま、説明を簡単にするため、図28(A)に示すように、直線上に並んだ4画素で構成されるブロックを考えると、ADRC処理においては、その画素値の最大値MAXと最小値MINが検出される。そして、DR=MAX−MINを、ブロックの局所的なダイナミックレンジとし、このダイナミックレンジDRに基づいて、ブロックを構成する画素の画素値がKビットに再量子化される。
【0221】
即ち、ブロック内の各画素値から、最小値MINを減算し、その減算値をDR/2Kで除算する。そして、その結果得られる除算値に対応するコード(ADRCコード)に変換される。具体的には、例えば、K=2とした場合、図28(B)に示すように、除算値が、ダイナミックレンジDRを4(=22)等分して得られるいずれの範囲に属するかが判定され、除算値が、最も下のレベルの範囲、下から2番目のレベルの範囲、下から3番目のレベルの範囲、または最も上のレベルの範囲に属する場合には、それぞれ、例えば、00B,01B,10B、または11Bなどの2ビットにコード化される(Bは2進数であることを表す)。そして、復号側においては、ADRCコード00B,01B,10B、または11Bは、ダイナミックレンジDRを4等分して得られる最も下のレベルの範囲の中心値L00、下から2番目のレベルの範囲の中心値L01、下から3番目のレベルの範囲の中心値L10、または最も上のレベルの範囲の中心値L11にそれぞれ変換され、その値に、最小値MINが加算されることで復号が行われる。
【0222】
ここで、このようなADRC処理はノンエッジマッチングと呼ばれる。
【0223】
なお、ADRC処理については、本件出願人が先に出願した、例えば、特開平3−53778号公報などに、その詳細が開示されている。
【0224】
以上のようなADRC処理によれば、ブロックを構成する画素に割り当てられているビット数より少ないビット数で再量子化を行うことにより、そのビット数を低減することができる。
【0225】
図27に戻り、クラス分類回路113は、ADRC処理回路112からのブロックを、その性質に応じて所定のクラスに分類するクラス分類処理を行い、そのブロックがいずれのクラスに属するかを、クラス情報として、マッピング係数メモリ114に供給するようになされている。
【0226】
ここで、符号化すべき画像データに、例えば8ビットが割り当てられている場合において、クラス分類用ブロックが、例えば、注目画素を中心とした3×3の9画素で構成されるときに、そのようなクラス分類用ブロックを対象にクラス分類処理を行ったのでは、(289という膨大な数のクラスに分類されることになる。
【0227】
そこで、上述したように、ADRC処理回路112において、クラス分類用ブロックに対して、ADRC処理が施されるようになされており、これにより、クラス分類用ブロックを構成する画素のビット数を低減し、さらに、クラス数も削減するようになされている。即ち、ADRC処理回路112において、例えば1ビットのADRC処理が行われるとした場合には、クラス数は、(289から(219、即ち、512に低減される。
【0228】
なお、本実施の形態では、クラス分類回路113において、ADRC処理回路112から出力されるADRCコードに基づいて、クラス分類処理が行われるが、クラス分類処理は、その他、例えば、DPCM(予測符号化)や、BTC(Block Truncation Coding)、VQ(ベクトル量子化)、DCT(離散コサイン変換)、アダマール変換などを施したデータを対象に行うようにすることも可能である。
【0229】
再び、図27に戻り、マッピング係数メモリ114は、後述するような学習(マッピング係数学習)により得られるクラスごとのマッピング係数を記憶しており、クラス分類回路113から供給されるクラス情報に対応するマッピング係数を読み出し、演算回路116に供給するようになされている。
【0230】
遅延回路115は、ブロック化回路111から供給されるブロックを、そのブロックのクラス情報に対応するマッピング係数が、マッピング係数メモリ114から読み出されるまで遅延し、演算回路116に供給するようになされている。
【0231】
演算回路116は、遅延回路115から供給されるブロックを構成する画素の画素値と、マッピング係数メモリ114から供給される、そのブロックのクラスに対応するマッピング係数とを用いて所定の演算を行うことにより、画像を、その画素数を間引いて(少なくして)符号化した符号化データを算出するようになされている。即ち、演算回路116は、ブロック化回路111が出力するブロックを構成する各画素の画素値をy1,y2,・・・とするとともに、マッピング係数メモリ114が出力する、そのブロックのクラスに対応するマッピング係数をk1,k2,・・・とするとき、それらを引数とする所定の関数値f(y1,y2,・・・,k1,k2,・・・)を演算し、その関数値f(y1,y2,・・・,k1,k2,・・・)を、ブロック化回路111が出力するブロック(クラス分類用ブロック)を構成する画素のうちの、例えば中心の画素の画素値として出力するようになされている。
【0232】
従って、ブロック化回路111が出力するクラス分類用ブロックを構成する画素数をN画素とすると、演算回路116は、画像データを1/Nに間引き、これを、符号化データとして出力するようになされている。
【0233】
なお、演算回路116が出力する符号化データは、N画素で構成されるブロックの中心の1個の画素を選択して出力するような、いわば単純な間引き処理により得られるものではなく、上述したように、そのブロックを構成するN画素により規定される関数値f(y1,y2,・・・,k1,k2,・・・)であるが、この関数値f(y1,y2,・・・,k1,k2,・・・)は、見方を変えれば、単純な間引き処理により得られる、ブロックの中心の画素の画素値を、その周辺の画素値に基づいて補正したものと考えることができる。そこで、マッピング係数と、ブロックを構成する画素との演算の結果得られるデータである符号化データを、以下、適宜、補正データともいう。
【0234】
また、演算回路116における演算処理は、ブロック化回路111が出力するクラス分類用ブロックを構成する各画素の画素値を、関数値f(y1,y2,・・・,k1,k2,・・・)にマッピング(写像)する処理とも考えることができる。そこで、そのような処理に用いられる係数k1,k2,・・・をマッピング係数と呼んでいる。
【0235】
送信機/記録装置118は、演算回路116から符号化データとして供給される補正データを、記録媒体2に記録し、または伝送路3を介して伝送するようになされている。
【0236】
次に、図29のフローチャートを参照して、その動作について説明する。
【0237】
ブロック化回路111には、例えば、1フレーム(フィールド)単位で画像データが供給されるようになされており、ブロック化回路111では、ステップS61において、1フレームの画像が、クラス分類用ブロックにブロック化される。即ち、ブロック化回路111は、例えば、図7に四角形で囲んで示すように、画像データを、注目画素を中心とした3×3(横×縦)の9画素でなるクラス分類用ブロックに分割し、ADRC処理回路112および遅延回路115に、順次供給する。
【0238】
なお、この場合、クラス分類用ブロックは、3×3画素でなる正方形状のブロックで構成されることとなるが、クラス分類用ブロックの形状は、正方形である必要はなく、その他、例えば、長方形や、十文字形、その他の任意な形とすることが可能である。また、クラス分類用ブロックを構成する画素数も、3×3の9画素に限定されるものではない。さらに、クラス分類用ブロックは、隣接する画素どうしで構成するのではなく、離れた画素どうしで構成するようにすることも可能である。但し、その形状および画素数は、後述する学習(マッピング係数学習)時における場合のものと一致している必要がある。
【0239】
ADRC処理回路112は、ブロック化回路111からクラス分類用ブロックを受信すると、ステップS62において、そのブロックに対して、例えば、1ビットのADRC処理を施し、これにより、1ビットで表現される画素で構成されるブロックとする。ADRC処理の施されたクラス分類用ブロックは、クラス分類回路113に供給される。
【0240】
クラス分類回路113では、ステップS63において、ADRC処理回路112からのクラス分類用ブロックがクラス分類され、その結果得られるクラス情報が、マッピング係数メモリ114に、アドレスとして供給される。これにより、マッピング係数メモリ114からは、クラス分類回路113より供給されたクラス情報に対応するマッピング係数が読み出され、演算回路116に供給される。
【0241】
一方、遅延回路115では、ブロック化回路111からのクラス分類用ブロックが遅延され、そのブロックのクラス情報に対応するマッピング係数が、マッピング係数メモリ114から読み出されるのを待って、演算回路116に供給される。演算回路116では、ステップS64において、遅延回路115からのクラス分類用ブロックを構成する各画素の画素値と、マッピング係数メモリ114からのマッピング係数を用いて、上述した関数値f(・)(この関数fのかっこ内の・は、画素値y1,y2,・・・と、マッピング係数k1,k2,・・・の集合を表すものとする)が演算されることにより、クラス分類用ブロックを構成する中心の画素(中心画素)の画素値を補正した補正データが算出される。この補正データは、画像を符号化した符号化データとして、レベル制限回路117に供給される。
【0242】
レベル制限回路117では、ステップS65において、符号化データから、例えば、そのMSB側の2ビットが抽出され、送信機/記録装置118に供給される。即ち、符号化データが、例えば8ビットで構成される場合には、その下位6ビットが削除され、上位2ビットだけが、送信機/記録装置16に供給される。送信機/記録装置118では、ステップS66において、レベル制限回路117からの符号化データが、記録媒体2に記録され、または伝送路3を介して伝送される。
【0243】
そして、ステップS67に進み、1フレーム分の画像データについての処理が終了したかどうかが判定される。ステップS67において、1フレーム分の画像データについての処理が、まだ終了していないと判定された場合、ステップS62に戻り、次のクラス分類用ブロックを対象に、ステップS62以下の処理が繰り返される。また、ステップS67において、1フレーム分の画像データについての処理が終了したと判定された場合、ステップS61に戻り、次のフレームを対象に、ステップS61以下の処理が繰り返される。
【0244】
次に、図30は、図27のマッピング係数メモリ114に記憶されているマッピング係数を算出するための学習(マッピング係数学習)処理を行う画像処理装置の構成例を示している。
【0245】
メモリ121には、学習に適したディジタル画像データ(以下、適宜、学習用画像という)が1フレーム以上記憶されている。ブロック化回路122は、メモリ121に記憶されている画像データを読み出し、図27のブロック化回路111から出力されるクラス分類用ブロックと同一のブロックを構成して、ADRC処理回路123および演算回路125に供給するようになされている。
【0246】
ADRC処理回路123またはクラス分類回路124は、図27のADRC処理回路112またはクラス分類回路113における場合とそれぞれ同様の処理を行うようになされている。従って、クラス分類回路124からは、ブロック化回路122が出力するブロックのクラス情報が出力されるようになされている。そして、このクラス情報は、マッピング係数メモリ131に、アドレスとして供給されるようになされている。
【0247】
演算回路125は、ブロック化回路122から供給されるブロックを構成する画素と、マッピング係数メモリ131から供給されるマッピング係数とを用いて、図27の演算回路116における場合と同一の演算を行い、その結果得られる補正データ(関数値f(・))を、レベル制限回路126に供給するようになされている。レベル制限回路126は画素データのレベルを制限した後、ローカルデコード部127に出力している。
【0248】
ローカルデコード部127は、レベル制限回路126から供給される補正データに基づいて、元の学習用画像の予測値(ブロック化回路122が出力するブロックを構成する画素の画素値の予測値)を予測し(算出し)、誤差算出部128に供給するようになされている。誤差算出部128は、ローカルデコード部127から供給される予測値に対応する学習用画像の画素値(真値)をメモリ121から読み出し、その学習用画像の画素値に対する、予測値の予測誤差を算出(検出)し、その予測誤差を、誤差情報として、判定部129に供給するようになされている。
【0249】
判定部129は、誤差算出部128からの誤差情報と、所定の閾値ε1とを比較し、その比較結果に対応して、マッピング係数設定回路130を制御するようになされている。マッピング係数設定回路130は、判定部129の制御にしたがって、クラス分類回路124におけるクラス分類の結果得られるクラス数と同一の数のマッピング係数のセットを設定(変更)し、マッピング係数メモリ131に供給するようになされている。
【0250】
マッピング係数メモリ131は、マッピング係数設定回路130から供給されるマッピング係数を一時記憶するようになされている。なお、マッピング係数メモリ131は、クラス分類回路124においてクラス分類されるクラスの数だけのマッピング係数(マッピング係数のセット)を記憶することのできる記憶領域を有しており、各記憶領域においては、マッピング係数設定回路130から、新たなマッピング係数が供給されると、既に記憶しているマッピング係数に代えて、その新たなマッピング係数が記憶されるようになされている。
【0251】
また、マッピング係数メモリ131は、クラス分類回路124から供給されるクラス情報に対応するアドレスに記憶されたマッピング係数を読み出し、演算回路126に供給するようにもなされている。
【0252】
次に、図31のフローチャートを参照して、その動作について説明する。
【0253】
まず最初に、マッピング係数設定回路130は、ステップS71において、マッピング係数の初期値のセットを、クラス分類回路124においてクラス分類されるクラスの数だけ設定し、マッピング係数メモリ131に供給する。マッピング係数メモリ131では、マッピング係数設定回路130からのマッピング係数(初期値)が、対応するクラスのアドレスに記憶される。
【0254】
そして、ブロック化回路122は、ステップS72において、メモリ121に記憶されている学習用画像すべてを、図27のブロック化回路111における場合と同様に、注目画素を中心とした3×3画素のブロックにブロック化する。さらに、ブロック化回路122は、そのブロックを、メモリ121から読み出し、ADRC処理回路123および演算回路125に順次供給する。
【0255】
ADRC処理回路123では、ステップS73において、ブロック化回路122からのブロックに対して、図27のADRC処理回路112における場合と同様に、1ビットのADRC処理が施され、クラス分類回路124に供給される。
【0256】
クラス分類回路124では、ステップS74において、ADRC処理回路123から供給されたブロックのクラスが決定され、そのクラス情報が、アドレスとして、マッピング係数メモリ131に供給される。これにより、ステップS75において、マッピング係数メモリ131の、クラス分類回路124より供給されるクラス情報に対応するアドレスから、マッピング係数が読み出され、演算回路125に供給される。
【0257】
演算回路125は、ブロック化回路122からブロックを受信するとともに、マッピング係数メモリ131から、そのブロックのクラスに対応するマッピング係数を受信すると、ステップS76において、そのマッピング係数と、ブロック化回路122から供給されるブロックを構成する画素の画素値とを用いて、上述の関数値f(・)を演算する。この演算結果は、ブロック化回路122から出力されるブロックの中心画素の画素値を補正した補正データとして、レベル制限回路126に供給される。この補正ビットが、例えば8ビットで構成されているとすると、ステップS77において、その8ビットの補正データから、その上位2ビットが、レベル制限回路126で選択され、これにより、ビット数が2ビットに制限された画素データが、ローカルデコード部127に供給される。
【0258】
即ち、例えば、上述の図7において、四角形で囲んで示すような3×3画素のブロックが、ブロック化回路122から出力されたものとすると、演算回路125では、同図において●印で示す画素の画素値を補正した補正データが求められ、レベル制限回路126でレベル制限された後、ローカルデコード部127に出力される。
【0259】
従って、演算回路126では、学習用画像を構成する画素が、1/9に間引かれ、ローカルデコード部127に供給される。
【0260】
図31に戻り、次にステップS78に進み、メモリ121に記憶されたすべての学習用画像についての補正データが求められたかどうかが判定される。ステップS78において、すべての学習用画像についての補正データが、まだ求められていないと判定された場合、ステップS73に戻り、すべての学習用画像についての補正データが求められるまで、ステップS73乃至S78の処理を繰り返す。
【0261】
また、ステップS78において、すべての学習用画像についての補正データが求められたと判定された場合、即ち、メモリ121に記憶されたすべての学習用画像を、1/9に間引いた間引き画像が得られた場合(但し、この間引き画像は、学習用画像を、単純に1/9に間引いたものではなく、マッピング係数との演算により画素値が求められたものである)、ステップS79に進み、ローカルデコード部127において、その間引き画像がローカルデコードされることにより、元の学習用画像の予測値が算出される。この予測値は、誤差算出部128に供給される。
【0262】
ここで、このローカルデコード部127において得られる予測値で構成される画像(但し、後述するように、誤差算出部128から出力される誤差情報が閾値ε1より小さくなったときにおけるもの)は、受信装置4(図1)側において得られる復号画像と同一のものである。
【0263】
誤差算出部128では、ステップS80において、メモリ121から学習用画像が読み出され、その学習用画像に対する、ローカルデコード部127から供給される予測値の予測誤差が算出される。即ち、学習用画像の画素値をYijと表すとともに、ローカルデコード部127から出力される、その予測値をE[Yij]と表すとき、誤差算出部128では、次式で示される誤差分散(誤差の自乗和)Qが算出され、これが、誤差情報として、判定部129に供給される。
【0264】
Q=Σ(Yij−E[Yij])2
但し、上式において、Σは、学習用画像の画素すべてについてのサメーションを表す。
【0265】
判定部129は、誤差算出部128から誤差情報を受信すると、その誤差情報と所定の閾値ε1とを比較し、ステップS81において、その大小関係を判定する。ステップS81において、誤差情報が閾値ε1以上であると判定された場合、即ち、ローカルデコード部127において得られる予測値で構成される画像が、元の学習用画像と同一であるとは認められない場合、判定部129は、マッピング係数設定回路130に制御信号を出力する。マッピング係数設定回路130は、ステップS82において、判定部129からの制御信号にしたがい、マッピング係数を変更し、その変更後のマッピング係数を、マッピング係数メモリ131に新たに記憶させる。
【0266】
そして、ステップS73に戻り、マッピング係数メモリ131に記憶された、変更後のマッピング係数を用いて、再び、ステップS73以下の処理が繰り返される。
【0267】
ここで、マッピング係数設定回路130における、マッピング係数の変更は、ランダムに行っても良いし、また、今回の誤差情報が、前回の誤差情報より小さくなった場合には、前回と同様の傾向で変化させ、今回の誤差情報が、前回の誤差情報より大きくなった場合には、前回と逆の傾向で変化させるようにすることもできる。
【0268】
さらに、マッピング係数の変更は、すべてのクラスについて行うようにすることもできるし、その一部のクラスについてだけ行うようにすることもできる。一部のクラスについてのマッピング係数だけの変更を行う場合においては、例えば、誤差情報に対する影響の強いクラスを検出させ、そのようなクラスについてのマッピング係数だけを変更するようにすることができる。誤差情報に対する影響の強いクラスは、例えば、次のようにして検出することができる。即ち、まず最初に、マッピング係数の初期値を用いて処理を行うことにより、その誤差情報を得る。そして、マッピング係数を、1クラスごとに同一の量だけ変化させ、その結果得られる誤差情報を、初期値を用いた場合に得られた誤差情報と比較し、その差が、所定値以上となるクラスを、誤差情報に対する影響の強いクラスとして検出すれば良い。
【0269】
また、マッピング係数が、上述したk1,k2,・・・のように複数で1セットとされている場合には、その中の誤差情報に対する影響の強いものだけを変更させるようにすることもできる。
【0270】
さらに、上述の場合においては、マッピング係数を、クラスごとに設定するようにしたが、マッピング係数は、その他、例えば、ブロックごとに独立して設定したり、また、近接するブロック単位などで設定したりするようにすることが可能である。
【0271】
但し、マッピング係数を、例えば、ブロックごとに独立して設定するようにした場合などにおいては、ある1つのクラスに対して、複数セットのマッピング係数が得られることがある(この逆に、マッピング係数が、1セットも得られないクラスが生じることもある)。マッピング係数は、最終的には、クラスごとに決める必要があるため、上述のように、あるクラスに対して、複数セットのマッピング係数が得られた場合には、複数セットのマッピング係数に対して、例えば、マージや選択などの何らかの処理を施すことで、1セットのマッピング係数を決める必要がある。
【0272】
一方、ステップS81において、誤差情報が閾値ε1より小さいと判定された場合、即ち、ローカルデコード部127において得られる予測値で構成される画像が、元の学習用画像と同一であると認められる場合、処理を終了する。
【0273】
この時点で、マッピング係数メモリ131に記憶されている、クラスごとのマッピング係数が、もとの画像と同一と認められる復号画像(予測値)を復元することができる補正データを得るために最適なものとして、図27のマッピング係数メモリ114にセットされている。
【0274】
従って、このようなマッピング係数を用いて補正データを生成することで、受信装置4(図1)側においては、元の画像とほぼ同一の画像を得ることが可能となる。
【0275】
ここで、図30の実施の形態においては、上述したように、ブロック化回路122において、画像が3×3の9画素にブロック化され、また、ADRC処理回路123において、1ビットのADRC処理が行われるので、クラス分類回路124によるクラス分類により得られるクラス数は512(=(219)であり、従って、512セットのマッピング係数が得られる。
【0276】
なお、図30において、ADRC処理回路123を介してクラス分類回路124に供給するブロックと、演算回路125に供給するブロックとは、同一である必要は必ずしもない。このことは、図27において、クラス分類回路113に供給するブロックと、演算回路116に供給するブロックとについても同様である。但し、クラス分類回路113および124に供給するブロックは同一である必要があり、また、演算回路116および125に供給するブロックも同一である必要がある。
【0277】
次に、図32は、図30のローカルデコード部127の構成例を示している。
【0278】
レベル制限回路126からの補正データは、クラス分類用ブロック化回路141および予測値計算用ブロック化回路142に供給されるようになされている。クラス分類用ブロック化回路141は、補正データを、その性質に応じて所定のクラスに分類するための単位である、注目補正データを中心としたクラス分類用ブロックにブロック化するようになされている。
【0279】
即ち、上述したように、図7において、上からi番目で、左からj番目の補正データ(圧縮データ)(または画素)(図中、●印で示す部分)をXijと表すとすると、クラス分類用ブロック化回路141は、注目画素(注目補正データ)Xijの上、左、右、下に隣接する4つの画素X(i-1)j,Xi(j-1),Xi(j+1),X(i-1)jに、自身を含め、合計5画素で構成されるクラス分類用ブロックを生成するようになされている。このクラス分類用ブロックは、クラス分類回路144に供給されるようになされている。
【0280】
なお、図32のクラス分類用ブロック化回路141において得られるクラス分類用ブロックは、予測値を求めるブロックのクラスを決定するために構成されるものであり、この点で、補正データを算出するブロックのクラスを決定するために、図27のブロック化回路111で生成されるものとは異なる。
【0281】
予測値計算用ブロック化回路142は、補正データを、元の画像(ここでは、学習用画像)の予測値を計算するための単位である、注目補正データを中心とした予測値計算用ブロックにブロック化するようになされている。即ち、本実施の形態においては、例えば、補正データXijを中心とする、元の画像(原画像)における3×3の9画素の画素値Yij(1),Yij(2),Yij(3),Yij(4),Yij(5),Yij(6),Yij(7),Yij(8),Yij(9)の予測値が、画素Xijを中心とする5×5の25画素X(i-2)(j-2),X(i-2)(j-1),X(i-2 )j,X(i-2)(j+1),X(i-2)(j+2),X(i-1)(j-2),X(i-1)(j-1),X(i-1)j,X(i-1)(j+1),X(i-1)(j+2),Xi(j-2),Xi(j-1),Xij,Xi(j+1),Xi(j+2),X(i+1)(j-2),X(i+1)(j-1),X(i+1)j,X(i+1)(j+1),X(i+1)(j+2),X(i+2)(j-2),X(i+2)(j-1),X(i+2)j,X(i+2)(j+1),X(i+2)(j+2)から求められるようになされており、予測値計算用ブロック化回路142は、このような25画素で構成される正方形状の予測値計算用ブロックを生成するようになされている。
【0282】
具体的には、例えば、図7において四角形で囲む、元の画像における画素Y33(1)乃至Y33(9)の予測値の計算のためには、25個の画素(補正データ)X11,X12,X13,X14,X15,X21,X22,X23,X24,X25,X31,X32,X33,X34,X35,X41,X42,X43,X44,X45,X51,X52,X53,X54,X55により、予測値計算用ブロックが構成される。
【0283】
予測値計算用ブロック化回路142において得られた予測値計算用ブロックは、予測回路146に供給されるようになされている。
【0284】
なお、予測値計算用ブロックについても、クラス分類用ブロックにおける場合と同様に、その画素数および形状は、上述したものに限定されるものではない。但し、ローカルデコード部127において、予測値計算用ブロックを構成する画素数は、クラス分類用ブロックを構成する画素数よりも多くするのが望ましい。
【0285】
クラス分類回路144は、クラス分類用ブロック化回路141からのブロックをクラス分類し、その分類結果としてのクラス情報を、予測係数ROM145に供給するようになされている。予測係数ROM145は、クラスごとの予測係数を記憶しており、クラス分類回路144からクラス情報を受信すると、そのクラス情報に対応するアドレスに記憶されている予測係数を読み出し、予測回路146に供給するようになされている。なお、予測係数ROM145に記憶されている予測係数は、図19で説明した予測係数学習により得られたものである。
【0286】
予測回路146は、予測値計算用ブロック化回路142からの予測値計算用ブロックと、予測係数ROM145からの予測係数とを用いて、元の画像(学習用画像)の予測値を算出(予測)するようになされている。
【0287】
次に、図33のフローチャートを参照して、その動作について説明する。
【0288】
ローカルデコード部127においては、まず最初に、ステップS91において、レベル制限回路126からの補正データが順次受信されてブロック化される。即ち、クラス分類用ブロック化回路141において、補正データが、注目補正データを中心とする5画素のクラス分類用ブロックにブロック化され、クラス分類回路144に供給されるとともに、予測値計算用ブロック化回路142において、補正データが、注目補正データを中心とする5×5画素の予測値計算用ブロックにブロック化され、予測回路146に供給される。
【0289】
なお、クラス分類用ブロック化回路141と予測値計算用ブロック化回路142では、対応するクラス分類用ブロックと予測値計算用ブロックが生成される。即ち、クラス分類用ブロック化回路141において、例えば図7の補正データX33を中心とする5画素のクラス分類用ブロックが生成されるとき、予測値計算用ブロックにおいては、同じく補正データX33を中心とする5×5画素の予測値計算用ブロックが生成される。
【0290】
クラス分類回路144は、ステップS92において、クラス分類用ブロックに対して、クラス分類処理を施す。即ち、クラス分類用ブロックを構成する補正データのレベル分布の状態を検出し、そのクラス分類用ブロックが属するクラス(そのクラス分類用ブロックを構成する注目補正データのクラス)を判定する。このクラスの判定結果は、クラス情報として、予測係数ROM145に供給される。
【0291】
なお、ここでも、1画素が2ビットで表される5画素で構成されるクラス分類用ブロックに対して、クラス分類処理が施されるので、各クラス分類用ブロックは、512(=(225)のクラスのうちのいずれかに分類されることになる。
【0292】
そして、ステップS93に進み、予測係数ROM145の、クラス分類回路144からのクラス情報に対応するアドレスから予測係数が読み出され、ステップS94において、予測回路146は、その予測係数と、予測値計算用ブロック化回路142からの予測値計算用ブロックを構成する25の画素値とを用い、例えば、式(1)に対応する次のような線形1次式にしたがって、元の画像の画素値yの予測値E[y]を算出する。
【0293】
E[y]=w11+w22+・・・+w2525+w0
但し、w1,w2,・・・,w0は予測係数を表し、x1,x2,・・・は予測値計算用ブロックを構成する画素の画素値(補正データ)を表す。また、w0は、本来8ビットのデータxiを、2ビットのデータに変換したので、E[y]を8ビットで表現するために加算されるオフセット係数であるが、上述したように、補正データと乗算される係数w1,w2,・・・と同様に、予測係数として扱う。
【0294】
ここで、図32の実施の形態においては、上述したように、予測値計算用ブロックを構成する25画素から、9画素の予測値が算出されるようになされている。
【0295】
即ち、例えば、いま、図7に示した補正データX33を中心とする3×3の補正データX22乃至X24,X32乃至X34,X42乃至X44でなるクラス分類用ブロックについてのクラス情報Cが、クラス分類回路144から出力され、また、予測値計算用ブロックとして、補正データX33を中心とする5×5画素の補正データX11乃至X15,X21乃至X25,X31乃至,X35,X41乃至X45,X51乃至X55でなる予測値計算用ブロックが、予測値計算用ブロック化回路142から出力されたものとする。
【0296】
さらに、予測係数ROM145には、クラス情報Cに対応するアドレスに、予測係数のセットとして、w0(k)乃至w25(k)が記憶されているものとする。
【0297】
この場合、補正データX33を中心とする、元の画像における3×3画素(図7において四角形で囲んである部分)の画素値Y33(1)乃至Y33(9)の予測値E[Y33(1)]乃至E[Y33(9)]が、次式にしたがって算出される。
【0298】
Figure 0003952326
【0299】
ステップS94において、以上のようにして9個単位で予測値が求められていき、これにより、1フレーム分の予測値が求められると、その予測値は、ステップS95において、誤差算出部128に供給される。そして、ステップS91に戻り、以下、ステップS91乃至S95の処理が繰り返される。
【0300】
なお、図32の予測係数ROM145に記憶されている予測係数を得るための学習(予測係数学習)を行う画像処理装置は、上述したように、図19に示した場合と同様の構成となる。そこでその説明は省略する。
【0301】
次に、図34は、図27のマッピング係数メモリ114に記憶されているマッピング係数を算出するための学習(マッピング係数学習)処理を行う画像処理装置の他の構成例を示している。
【0302】
なお、図30の画像処理装置によれば、関数fが、例えば、線形1次式で表される場合の他、非線形な式や、2次以上の式で表される場合も、最適な予測係数を求めることができるが、図34の画像処理装置では、関数fが、線形1次式で表される場合にのみ、最適な予測係数を求めることができるようになされている。
【0303】
即ち、図34の画像処理装置は、図27において、ブロック化回路111が出力する3×3画素のブロックを構成する各画素の画素値をy1,y2,・・・,y9とするとともに、マッピング係数メモリ114が出力するマッピング係数をk1,k2,・・・,k9とする場合において、演算回路116が、次式にしたがって関数値f(y1,y2,・・・,k1,k2,・・・)を演算して補正データを求めるようになされているときに用いることができる。
【0304】
f(・)=k11+k22+・・・+k99
【0305】
最適補正データ算出部160には、学習に適した学習用画像が、例えば、1フレーム単位などで供給されるようになされている。なお、学習用画像を構成する画素には、例えば8ビットが割り当てられている。最適補正データ算出部160は、圧縮部170、レベル制御部171、補正部172、ローカルデコード部173、誤差算出部174、および判定部175で構成され、そこに入力される学習用画像から、その画素数を少なくして圧縮した画像であって、元の画像を予測するのに最適な画像を構成する画素値(以下、適宜、最適補正データという)を算出し、ラッチ回路176に供給するようになされている。
【0306】
即ち、最適補正データ算出部160に供給された学習用画像は、圧縮部170および誤差算出部174に供給されるようになされている。圧縮部170は、図27の演算回路116が画素を間引く割合と同一の割合で、学習用画像を単純に間引き、即ち、本実施の形態においては、学習用画像を1/9に単純に間引き(3×3の9画素を1ブロックとするとき、そのブロックの中心の画素だけを抽出し)、これにより学習用画像を圧縮してレベル制限部171に供給するようになされている。レベル制限部171は、図27のレベル制限回路117と同様に、8ビットの画素データのレベルを制限した後、補正部172に出力するようになされている。
【0307】
補正部172は、レベル制限部171から供給される、単純な間引きが行われて空間方向の圧縮がされた8ビットの圧縮データから、その上位2ビットが選択されることにより、2ビットにレベルが制限されたデータ(以下、適宜、単に、圧縮データという)を、判定部175からの制御にしたがって補正するようになされている。補正部172における補正の結果得られるデータ(このデータも、図27の演算回路116の出力と同様に、3×3画素のブロックの中心画素の画素値を補正したものであるので、以下、適宜、補正データという)は、ローカルデコード部173に供給するようになされている。
【0308】
ローカルデコード部173は、図30のローカルデコード部127における場合と同様にして、補正部172からの補正データに基づいて、元の画像(学習用画像)を予測し、その予測値を、誤差算出部174に供給するようになされている。
【0309】
誤差算出部174は、図30の誤差算出部128における場合と同様にして、そこに入力される、元の画像データに対する、ローカルデコード部173からの予測値の予測誤差を算出するようになされている。この予測誤差は、誤差情報として、判定部175に供給されるようになされている。
【0310】
判定部175は、図30の判定部129における場合と同様にして、誤差算出部174からの誤差情報に基づいて、補正部172が出力した補正データを、元の画像の圧縮結果とすることの適正さを判定するようになされている。そして、判定部175は、補正部172が出力した補正データを、元の画像の圧縮結果とすることが適正でないと判定した場合には、補正部172を制御し、さらに、圧縮データを補正させ、その結果得られる新たな補正データを出力させるようになされている。また、判定部175は、補正部172が出力した補正データを、元の画像の圧縮結果とすることが適正であると判定した場合には、補正部172から供給された補正データを、最適補正データとして、ラッチ回路176に供給するようになされている。
【0311】
ラッチ回路176は、メモリ176Aを内蔵しており、そのメモリ176Aに、補正部172から供給される最適補正データを記憶させるようになされている。さらに、ラッチ回路176は、メモリ176Aに記憶された最適補正データのうち、ブロック化回路177のメモリ177Aから読み出されるブロックの中心画素に対応するものを読み出し、メモリ180に供給するようになされている。なお、ラッチ回路176は、メモリ176Aに、1フレーム分の補正データが記憶されると、その旨を示す制御信号を、ブロック化回路177に出力するようになされている。
【0312】
ブロック化回路177には、最適補正データ算出部160と同様に、学習用画像が1フレーム単位で供給されるようになされている。ブロック化回路177は、メモリ177Aを内蔵しており、そのメモリ177Aに、そこに供給される学習用画像を記憶させるようになされている。また、ブロック化回路177は、ラッチ回路176から制御信号を受信すると、メモリ177Aに記憶された学習用画像を、図27のブロック化回路111における場合と同様に、3×3画素で構成されるブロックに分割し、そのブロックを順次読み出して、ADRC処理回路178およびメモリ180に供給するようになされている。
【0313】
なお、ブロック化回路177は、その内蔵するメモリ177Aからブロックを読み出すときに、そのブロックの位置を示す制御信号を、ラッチ回路176に供給するようになされている。ラッチ回路176では、この制御信号に基づいて、メモリ177Aから読み出される3×3画素のブロックが認識され、上述したように、そのブロックの中心画素に対応する最適補正データが、メモリ176Aから読み出されるようになされている。即ち、これにより、メモリ180に対しては、ある3×3画素のブロックと、そのブロックに対応する最適補正データとが同時に供給されるようになされている。
【0314】
ADRC処理回路178またはクラス分類回路179は、図27のADRC処理回路112またはクラス分類回路113とそれぞれ同様に構成されている。そして、クラス分類回路179が出力する、ブロック化回路177からのブロックについてのクラス情報は、メモリ180に対して、アドレスとして供給されるようになされている。
【0315】
メモリ180は、クラス分類回路179から供給されるクラス情報に対応するアドレスに、ラッチ回路176から供給される最適補正データと、ブロック化回路177から供給されるブロックとを対応付けて記憶するようになされている。なお、メモリ180は、1つのアドレスに複数の情報を記憶することができるようになされており、これにより、あるクラス情報に対応する最適補正データおよびブロックを、複数セット記憶することができるようになされている。
【0316】
演算回路181は、メモリ180に記憶された、学習用画像の3×3のブロックを構成する9画素y1,y2,・・・,y9と、そのブロックに対応付けられている最適補正データy’とを読み出し、これらに最小自乗法を適用することで、クラスごとに、マッピング係数k1乃至k9を求め、メモリ182に供給するようになされている。メモリ182は、演算回路181から供給されるクラスごとのマッピング係数k1乃至k9を、そのクラスに対応したアドレスに記憶するようになされている。
【0317】
次に、図35のフローチャートを参照して、その動作について説明する。
【0318】
学習用画像が入力されると、その学習用画像は、ブロック化回路177のメモリ177Aに記憶されるとともに、最適補正データ算出部160に供給される。最適補正データ算出部160は、学習用画像を受信すると、ステップS101において、その学習用画像についての最適補正データを算出する。
【0319】
このステップS101の処理は、図4のフローチャートの処理と同様である。すなわち、ステップS101では、図36のフローチャートに示すように、まず、圧縮部170が、ステップS111において、学習用画像を、1/9に間引くことにより圧縮データを生成する。このデータは、ステップS112において、レベル制限部171で制限された後、補正部172を介して、最初は、補正が行われずに、ローカルデコード部173に出力される。ローカルデコード部173では、ステップS113において、補正部172からの補正データ(最初は、上述したように、画像データを、単純に間引き、レベル制限した圧縮データそのもの)に基づいて、元の画像の予測値が算出される(ローカルデコードが行われる)。この予測値は、誤差算出部174に供給される。
【0320】
誤差算出部174は、ローカルデコード部173から、元の画像の予測値を受信すると、ステップS114において、元の画像データに対する、ローカルデコード部173からの予測値の予測誤差を算出し、誤差情報として、判定部175に供給する。判定部175は、誤差算出部174から誤差情報を受信すると、ステップS115において、その誤差情報に基づいて、補正部172が出力した補正データを、元の画像の圧縮結果とすることの適正さを判定する。
【0321】
即ち、ステップS115においては、誤差情報が所定の閾値ε以下であるかどうかが判定される。ステップS115において、誤差情報が所定の閾値ε以下でないと判定された場合、補正部172が出力した補正データを、元の画像の圧縮結果とするのは適正でないと認識され、ステップS116に進み、判定部175は、補正部172を制御し、これにより、レベル制限部171から出力された圧縮データを補正させる。補正部172は、判定部175の制御にしたがって、補正量(補正値△)を変えて、圧縮データを補正し、その結果得られる補正データを、ローカルデコード部173に出力する。そして、ステップS113に戻り、以下、同様の処理が繰り返される。
【0322】
なお、圧縮データの補正は、例えば、上述の図14における場合と同様にして行うことが可能である。
【0323】
一方、ステップS115において、誤差情報が所定の閾値ε以下であると判定された場合、補正部172が出力した補正データを、元の画像の圧縮結果とするのは適正であると認識され、判定部175は、所定の閾値ε以下の誤差情報が得られたときの補正データを、最適補正データとして、補正部172からラッチ回路176に出力させ、その内蔵するメモリ176Aに記憶させて、リターンする。
【0324】
以上のようにして、誤差情報が所定の閾値ε以下となったときにおける、圧縮データを補正した補正データが、最適補正データとして、メモリ176Aに記憶される。なお、この最適補正データは、誤差情報を所定の閾値ε以下とするものであるから、これを用いて、予測値を算出することにより、元の画像(原画像)とほぼ同一の画像を得ることができる。
【0325】
図35に戻り、ラッチ回路176は、そのメモリ176Aに、1フレーム分の最適補正データを記憶すると、制御信号を、ブロック化回路177に出力する。ブロック化回路177は、ラッチ回路176から制御信号を受信すると、ステップS102において、メモリ177Aに記憶された学習用画像を、3×3画素で構成されるブロックに分割する。そして、ブロック化回路177は、メモリ177Aに記憶された学習用画像のブロックを読み出して、ADRC処理回路178およびメモリ180に供給する。
【0326】
また、同時に、ブロック化回路177は、メモリ177Aからブロックを読み出すときに、そのブロックの位置を示す制御信号を、ラッチ回路176に供給し、ラッチ回路176は、その制御信号に対応して、メモリ177Aから読み出された3×3画素のブロックを認識し、そのブロックの中心画素に対応する最適補正データを読み出して、メモリ180に供給する。
【0327】
そして、ステップS103に進み、ADRC処理回路178において、ブロック化回路177からのブロックがADRC処理され、さらに、クラス分類回路179において、そのブロックがクラス分類される。このクラス分類結果は、アドレスとして、メモリ180に供給される。
【0328】
メモリ180では、ステップS104において、クラス分類回路179から供給されるクラス情報に対応するアドレスに、ラッチ回路176から供給される最適補正データと、ブロック化回路177から供給されるブロック(学習データ)とが対応付けられて記憶される。
【0329】
そして、ステップS105に進み、メモリ180に、1フレーム分のブロックおよび最適補正データが記憶されたかどうかが判定される。ステップS105において、メモリ180に、1フレーム分のブロックおよび最適補正データが、まだ記憶されていないと判定された場合、ブロック化回路177から次のブロックが読み出されるとともに、ラッチ回路176からそのブロックに対応する最適補正データが読み出され、ステップS103に戻り、以下、ステップS103以降の処理を繰り返す。
【0330】
また、ステップS105において、メモリ180に、1フレーム分のブロックおよび最適補正データが記憶されたと判定された場合、ステップS106に進み、学習用画像すべてについて処理が終了したかどうかが判定される。ステップS106において、学習用画像すべてについての処理が、まだ終了していないと判定された場合、ステップS101に戻り、次の学習用画像について、ステップS101からの処理が繰り返される。
【0331】
一方、ステップS106において、学習用画像すべてについての処理が終了したと判定された場合、ステップS107に進み、演算回路181は、メモリ180に記憶された最適補正データとブロックとを、クラスごとに読み出し、これらにより、式(7)に示したような正規方程式をたてる。さらに、演算回路181は、ステップS108において、その正規方程式を解くことで、誤差を最小にする、クラスごとのマッピング係数を算出する。このマッピング係数は、ステップS109において、メモリ182に供給されて記憶され、処理を終了する。
【0332】
関数fが、線形1次式で表される場合においては、以上のようにしてメモリ182に記憶されたマッピング係数を、図27のマッピング係数メモリ114に記憶させ、これを用いて画像の符号化を行うことができる。
【0333】
なお、クラスによっては、マッピング係数を求めることができるだけの数の正規方程式が得られない場合がある。このような場合は、図27の演算回路116において、ブロック化回路111から出力される3×3画素のブロックを構成する9画素の、例えば平均値などが出力されるようなマッピング係数、即ち、k1乃至k9=1/9などが、デフォルトの値として設定される。
【0334】
次に、図37は、図27の送信装置1に対応する受信装置4の構成例を示している。
【0335】
受信機/再生装置191においては、記録媒体2に記録された符号化データが再生され、または伝送路3を介して伝送されてくる符号化データが受信され、デコード部192に供給される。
【0336】
デコード部192は、図32に示したローカルデコード部127におけるクラス分類用ブロック化回路141乃至予測回路146にそれぞれ対応するクラス分類用ブロック化回路193乃至予測回路198で構成されており、従って、デコード部192では、図32のローカルデコード部127における場合と同様にして、補正データから予測値が求められ、この予測値で構成される画像が復号画像として出力される。
【0337】
即ち、受信機/再生装置191から出力される符号化データとしての補正データは、クラス分類用ブロック化回路193または予測値計算用ブロック化回路194に順次供給され、図32のクラス分類用ブロック化回路141または予測値計算用ブロック化回路142における場合と同様にして、クラス分類用ブロックまたは予測値計算用ブロックに、それぞれブロック化される。そして、クラス分類用ブロックはクラス分類回路196に、予測値計算用ブロックは予測回路198に、それぞれ供給される。
【0338】
クラス分類回路196は、クラス分類用ブロック化回路193からのクラス分類用ブロックに対して、クラス分類処理を施し、クラス情報を、予測係数ROM197に出力する。
【0339】
予測係数ROM197は、図32の予測係数ROM145と同様に、例えば、図19の画像処理装置において求められた、クラスごとの予測係数を記憶しており、クラス分類回路196からクラス情報を受信すると、そのクラス情報に対応する予測係数を読み出し、予測回路198に供給する。予測回路198では、予測係数ROM197からの予測係数と、予測値計算用ブロック化回路194からの予測値計算用ブロックを構成する補正データとを用い、式(1)に対応する線形1次式にしたがって、元の画像の予測値が算出され、これにより、元の画像が復号される。
【0340】
補正データは、上述したように、誤差情報を所定の閾値以下とするものであり、従って、受信装置4においては、元の画像とほぼ同一の復号画像を得ることができる。
【0341】
なお、マッピング係数を用いる場合においても、受信側においては、図37に示すような受信装置4ではなく、間引きされた画像を補間により復号する装置により、通常の補間を行うことで復号画像を得ることができる。但し、この場合に得られる復号画像は、画質(解像度)の劣化したものとなる。
【0342】
以上、本発明を適用した画像処理装置について説明したが、このような画像処理装置は、例えば、NTSC方式などの標準方式のテレビジョン信号を符号化する場合の他、データ量の多い、いわゆるハイビジョン方式のテレビジョン信号などを符号化する場合に、特に有効である。
【0343】
なお、本実施の形態においては、1フレームの画像を対象にブロック化を行うようにしたが、ブロックは、その他、例えば、時系列に連続する複数フレームにおける、同一位置の画素を集めて構成するようにすることも可能である。
【0344】
また、本実施の形態においては、誤差情報として、誤差の自乗和を用いるようにしたが、誤差情報としては、その他、例えば、誤差の絶対値和や、その3乗以上したものの和などを用いるようにすることが可能である。いずれを誤差情報として用いるかは、例えば、その収束性などに基づいて決定するようにすることが可能である。
【0345】
さらに、例えば、図10の実施の形態などでは、1フレーム単位で、正規方程式をたてて、クラスごとの予測係数を求めるようにしたが、予測係数の算出処理は、その他、例えば、1フィールド単位や複数フレーム単位で正規方程式をたてて行うようにすることも可能である。他の処理についても同様である。
【0346】
また、本発明は、ハードウェアによっても、あるいは、上述した処理を行うためのアプリケーションプログラムが記録されたハードディスク等の記録媒体から、そのアプリケーションプログラムを読み出して、コンピュータに実行させることによっても、実現可能である。
【0347】
さらに、本実施の形態では、画素値のレベルを、その上位2ビットに制限するようにしたが、画素値のレベルは、その他、例えば、上位3ビット以上などに制限することも可能である。
【0348】
【発明の効果】
請求項1に記載の画像符号化装置、請求項7に記載の画像符号化方法、および請求項12に記載の記録媒体によれば、原画像を、その画素数を少なくすることにより圧縮し、原画像を圧縮することにより得られる圧縮データの上位所定ビットのみを抽出することで、圧縮データのレベルを制限し、所定の補正値を加算することにより、レベルの制限された圧縮データを補正して、補正データを出力し、補正データを、その性質に応じて所定のクラスに分類し、補正データのクラスに対応する予測係数と、補正データとの線形結合により、予測値を求めることにより原画像を予測して、その予測値を出力し、原画像に対する、予測値の予測誤差を算出する。そして、予測誤差を所定の閾値と比較することで、補正データの適正さを判定し、予測誤差が所定の閾値以下であり、補正データが適正であると判定されるまで、補正値を変化させ、変化させた補正値を加算することにより、圧縮データを補正する処理を繰り返し、予測誤差が所定の閾値以下であり、補正データが適正であると判定された場合、補正データを、原画像の符号化結果として出力するようにしたので、少ないデータ量で、効率的に高画質の画像を予測することが可能となる。
【0349】
請求項8に記載の画像処理システムおよび請求項10に記載の画像処理方法によれば、画像符号化装置が、原画像を、その画素数を少なくすることにより圧縮し、原画像を圧縮することにより得られる圧縮データの上位所定ビットのみを抽出することで、圧縮データのレベルを制限し、所定の補正値を加算することにより、レベルの制限された圧縮データを補正して、補正データを出力し、補正データを、その性質に応じて所定のクラスに分類し、補正データのクラスに対応する予測係数と、補正データとの線形結合により、予測値を求めることにより原画像を予測して、その予測値を出力し、原画像に対する、予測値の予測誤差を算出する。そして、予測誤差を所定の閾値と比較することで、補正データの適正さを判定し、予測誤差が所定の閾値以下であり、補正データが適正であると判定されるまで、補正値を変化させ、変化させた補正値を加算することにより、圧縮データを補正する処理を繰り返し、予測誤差が所定の閾値以下であり、補正データが適正であると判定された場合、補正データを、原画像の符号化データとして出力し、画像復号装置が、画像符号化装置から出力される符号化データを受信し、符号化データに含まれる補正データを、その性質に応じて所定のクラスに分類し、補正データのクラスに対応する予測係数と、補正データとの線形結合により、原画像を予測し、第2の予測値を出力することで、受信された符号化データを復号するようにしたので、符号化データのデータ量は少ないものであるが、そのような少ないデータ量の符号化データから、高画質の復号画像を得ることが可能となる。
【0350】
請求項11に記載の伝送方法によれば、原画像を、その画素数を少なくすることにより圧縮し、原画像を圧縮することにより得られる圧縮データの上位所定ビットのみを抽出することで、圧縮データのレベルを制限し、所定の補正値を加算することにより、レベルの制限された圧縮データを補正して、補正データを出力し、補正データを、その性質に応じて所定のクラスに分類し、補正データのクラスに対応する予測係数と、補正データとの線形結合により、予測値を求めることにより原画像を予測して、その予測値を出力し、原画像に対する、予測値の予測誤差を算出し、予測誤差を所定の閾値と比較することで、補正データの適正さを判定し、予測誤差が所定の閾値以下であり、補正データが適正であると判定されるまで、補正値を変化させ、変化させた補正値を加算することにより、圧縮データを補正する処理を繰り返し、予測誤差が所定の閾値以下であり、補正データが適正であると判定された場合、補正データを、原画像の符号化結果として送信するようにしたので、少ないデータ量で、効率的に高画質の画像を予測することが可能となる。
【図面の簡単な説明】
【図1】本発明を適用した画像処理装置の一実施の形態の構成を示すブロック図である。
【図2】図1の送信装置1の構成例を示すブロック図である。
【図3】図2の送信装置1の第1の機能的構成例を示すブロック図である。
【図4】図3の送信装置1の動作を説明するためのフローチャートである。
【図5】図3の圧縮部21の構成例を示すブロック図である。
【図6】図5の圧縮部21の動作を説明するためのフローチャートである。
【図7】図5の間引き回路30の処理を説明するための図である。
【図8】図3のローカルデコード部22の構成例を示すブロック図である。
【図9】クラス分類処理を説明するための図である。
【図10】図8のローカルデコード部22の動作を説明するためのフローチャートである。
【図11】図3の誤差算出部23の構成例を示すブロック図である。
【図12】図11の誤差算出部23の動作を説明するためのフローチャートである。
【図13】図3の判定部24の構成例を示すブロック図である。
【図14】図13の判定部24の動作を説明するためのフローチャートである。
【図15】図1の受信装置4の第1の構成例を示すブロック図である。
【図16】図2の送信装置1の第2の機能的構成例を示すブロック図である。
【図17】図16のローカルデコード部1022の構成例を示すブロック図である。
【図18】図17のローカルデコード部1022の動作を説明するためのフローチャートである。
【図19】図17の予測係数ROM81に記憶されている予測係数を算出する画像処理装置の一実施の形態の構成を示すブロック図である。
【図20】図2の送信装置1の第3の機能的構成例を示すブロック図である。
【図21】図20の送信装置1の動作を説明するためのフローチャートである。
【図22】図20のローカルデコード部2022の構成例を示すブロック図である。
【図23】図22のローカルデコード部2022の動作を説明するためのフローチャートである。
【図24】図20の判定部2024の構成例を示すブロック図である。
【図25】図24の判定部2024の動作を説明するためのフローチャートである。
【図26】図1の受信装置4の第2の構成例を示すブロック図である。
【図27】図2の送信装置1の第4の機能的構成例を示すブロック図である。
【図28】ADRC処理を説明するための図である。
【図29】図27の送信装置1の動作を説明するためのフローチャートである。
【図30】マッピング係数を得るための学習を行う画像処理装置の第1実施の形態の構成を示すブロック図である。
【図31】図30の画像処理装置の動作を説明するためのフローチャートである。
【図32】図30のローカルデコード部127の構成例を示すブロック図である。
【図33】図32のローカルデコード部127の処理を説明するためのフローチャートである。
【図34】マッピング係数を得るための学習を行う画像処理装置の第2実施の形態の構成を示すブロック図である。
【図35】図34の画像処理装置の動作を説明するためのフローチャートである。
【図36】図35におけるステップS101の処理のより詳細を説明するためのフローチャートである。
【図37】図1の受信装置4の第3の構成例を示すブロック図である。
【符号の説明】
1 送信装置, 2 記録媒体, 3 伝送路, 4 受信装置, 11 I/F, 12 ROM, 13 RAM, 14 CPU, 15 外部記憶装置, 16 送信機/記録装置, 21 圧縮部, 22 ローカルデコード部, 23 誤差算出部, 24 判定部, 25 多重化部, 30 間引き回路, 31 レベル制限回路, 32 補正回路, 33 補正値ROM, 41 クラス分類用ブロック化回路, 42 予測値計算用ブロック化回路, 43 クラス分類適応処理回路, 45 クラス分類回路, 46 適応処理回路, 51 ブロック化回路, 52 自乗誤差算出回路, 53,54 演算器, 55 積算部, 56 メモリ, 61 予測係数メモリ, 62 補正データメモリ, 63 誤差情報メモリ, 64 比較回路, 65 制御回路,71 受信機/再生装置, 72 分離部, 73 クラス分類用ブロック化回路, 75 クラス分類回路, 76 予測回路, 76A メモリ, 77予測値計算用ブロック化回路, 78,81 予測係数ROM, 82 予測回路, 91 学習用ブロック化回路, 92 教師用ブロック化回路, 94クラス分類回路, 95 スイッチ, 96 学習データメモリ, 97 カウンタ, 98 教師データメモリ, 99 演算回路, 100 メモリ, 111 ブロック化回路, 112 ADRC処理回路, 113 クラス分類回路, 114 マッピング係数メモリ, 115 遅延回路, 116 演算回路, 117 レベル制限回路, 118 送信機/記録装置, 121 メモリ, 122 ブロック化回路, 123 ADRC処理回路, 124 クラス分類回路, 125 演算回路, 126 レベル制限回路, 127 ローカルデコード部, 128 誤差算出部, 129 判定部, 130 マッピング係数設定回路, 131 マッピング係数メモリ, 141 クラス分類用ブロック化回路, 142 予測値計算用ブロック化回路, 144 クラス分類回路, 145 予測係数ROM, 146 予測回路, 160 最適補正データ算出部, 170 圧縮部, 171 レベル制限部, 172 補正部, 173 ローカルデコード部, 174 誤差算出部, 175 判定部, 176 ラッチ回路, 176A メモリ, 177 ブロック化回路, 177A メモリ, 178 ADRC処理回路, 179 クラス分類回路,180 メモリ, 181 演算回路, 182 メモリ, 191 受信機/再生装置, 192 デコード部, 193 クラス分類用ブロック化回路,194 予測値計算用ブロック化回路, 196 クラス分類回路, 197予測係数ROM, 198 予測回路, 1022,2022 ローカルデコード部, 2024 判定部[0001]
BACKGROUND OF THE INVENTION
  The present invention relates to an image encoding device, an image encoding method, and an image.Processing systemAnd imagesprocessingThe present invention relates to a method, a transmission method, and a recording medium, and in particular, an image encoding device, an image encoding method, and an image that can efficiently obtain a higher-quality predicted image with less data processingProcessing systemAnd imagesprocessingThe present invention relates to a method, a transmission method, and a recording medium.
[0002]
[Prior art]
Conventionally, various methods for compressing an image have been proposed. One of them is a method for compressing an image by thinning out its pixels.
[0003]
[Problems to be solved by the invention]
However, if pixel data obtained by simply thinning and compressing an image is encoded as it is, the amount of data processing becomes enormous, and there is a problem that a high-quality predicted image (decoded image) cannot be efficiently obtained. .
[0004]
The present invention has been made in view of such a situation, and makes it possible to efficiently obtain a predicted image with higher image quality with a small amount of data.
[0005]
[Means for Solving the Problems]
  The image encoding apparatus according to claim 1, wherein the original image is compressed by reducing the number of pixels thereof, and only the upper predetermined bits of the compressed data obtained by compressing the original image are extracted. Then, a limiting means for limiting the level of the compressed data, a correcting means for correcting the compressed data whose level is limited by adding a predetermined correction value, and outputting the corrected data,The correction data is classified into a predetermined class according to its property and corresponds to the correction data class.By linear combination of the prediction coefficient and the correction data,By finding the predicted valueA prediction unit that predicts an original image and outputs the predicted value, a calculation unit that calculates a prediction error of the predicted value for the original image, and a correction that is output by the correction unit by comparing the prediction error with a predetermined threshold value A determination unit that determines the appropriateness of data, and an output that outputs the correction data as an encoding result of the original image when the determination unit determines that the prediction error is equal to or less than a predetermined threshold value and the correction data is appropriate. And the correction unit changes the correction value until the determination unit determines that the prediction error is equal to or less than a predetermined threshold and the correction data is appropriate, and adds the changed correction value. The process of correcting the compressed data is repeated.
[0006]
  Claim 7The image encoding method described in 1) compresses the original image by reducing the number of pixels, and extracts only the high-order predetermined bits of the compressed data obtained by compressing the original image. , And by adding a predetermined correction value, the compressed data whose level is limited is corrected, and the correction data is output.The correction data is classified into a predetermined class according to its property and corresponds to the correction data class.By linear combination of the prediction coefficient and the correction data,By finding the predicted valuePredict the original image, output the prediction value, calculate the prediction error of the prediction value for the original image, compare the prediction error with a predetermined threshold, determine the appropriateness of the correction data, Until the correction data is determined to be appropriate, the correction value is changed, and the process of correcting the compressed data is repeated by adding the changed correction value until the prediction error is predetermined. If the correction data is determined to be appropriate, the correction data is output as an encoding result of the original image.
[0007]
  Claim 8In the image processing system described in 1, the image encoding device extracts only the upper predetermined bits of the compressed data obtained by compressing the original image by compressing the original image by reducing the number of pixels. A limiting means for limiting the level of the compressed data, a correcting means for correcting the compressed data whose level is limited by adding a predetermined correction value, and outputting the corrected data;The correction data is classified into a predetermined class according to its property and corresponds to the correction data class.By linear combination of the prediction coefficient and the correction data,By finding the predicted valueA prediction unit that predicts an original image and outputs a first prediction value; a calculation unit that calculates a prediction error of the first prediction value for the original image; and a correction by comparing the prediction error with a predetermined threshold. Determining means for determining the appropriateness of the correction data output by the means, and when the determining means determines that the prediction error is equal to or less than a predetermined threshold and the correction data is appropriate, the correction data is encoded into the original image. Output means for outputting as data, and the correction means changes the correction value until the determination means determines that the prediction error is equal to or less than a predetermined threshold and the correction data is appropriate, and the corrected correction value The image decoding apparatus repeats the process of correcting the compressed data by adding the reception means for receiving the encoded data output by the output means of the image encoding apparatus;The correction data included in the encoded data is classified into a predetermined class according to its property, the original image is predicted by linear combination of the prediction coefficient corresponding to the correction data class and the correction data, and the second data By outputting the predicted value,And decoding means for decoding the encoded data received by the receiving means.
[0008]
  Claim 10In the image processing method described in the above, the image coding method of the image coding apparatus is such that the original image is compressed by reducing the number of pixels, and only the upper predetermined bits of the compressed data obtained by compressing the original image By extracting the above, the level of the compressed data is limited, and by adding a predetermined correction value, the level-limited compressed data is corrected and the correction data is output,The correction data is classified into a predetermined class according to its property and corresponds to the correction data class.By linear combination of the prediction coefficient and the correction data,By finding the predicted valuePredict the original image, output the prediction value, calculate the prediction error of the prediction value for the original image, compare the prediction error with a predetermined threshold, determine the appropriateness of the correction data, Until the correction data is determined to be appropriate, the correction value is changed, and the process of correcting the compressed data is repeated by adding the changed correction value until the prediction error is predetermined. If the correction data is determined to be appropriate, the correction data is output as encoded data of the original image, and the image decoding method of the image decoding apparatus is a code output from the image encoding apparatus. Receive dataThe correction data included in the encoded data is classified into a predetermined class according to its property, the original image is predicted by linear combination of the prediction coefficient corresponding to the correction data class and the correction data, and the second data By outputting the predicted value,The received encoded data is decoded.
[0009]
  Claim 11The transmission method described in 1) compresses the original image by reducing the number of pixels, and extracts only the upper predetermined bits of the compressed data obtained by compressing the original image, thereby limiting the level of the compressed data. Then, by adding a predetermined correction value, the level-limited compressed data is corrected, and correction data is output,The correction data is classified into a predetermined class according to its property and corresponds to the correction data class.By linear combination of the prediction coefficient and the correction data,By finding the predicted valuePredict the original image, output the prediction value, calculate the prediction error of the prediction value for the original image, compare the prediction error with a predetermined threshold, determine the appropriateness of the correction data, Until the correction data is determined to be appropriate, the correction value is changed, and the process of correcting the compressed data is repeated by adding the changed correction value until the prediction error is predetermined. If the correction data is determined to be appropriate, the correction data is transmitted as a result of encoding the original image.
[0010]
  Claim 12The program recorded on the recording medium described in (2) compresses the original image by reducing the number of pixels, and extracts only the upper predetermined bits of the compressed data obtained by compressing the original image. By limiting the level of the compressed data and adding a predetermined correction value, the compressed data with the limited level is corrected and the corrected data is output.The correction data is classified into a predetermined class according to its property and corresponds to the correction data class.By linear combination of the prediction coefficient and the correction data,By finding the predicted valuePredict the original image, output the prediction value, calculate the prediction error of the prediction value for the original image, compare the prediction error with a predetermined threshold, determine the appropriateness of the correction data, Until the correction data is determined to be appropriate, the correction value is changed, and the process of correcting the compressed data is repeated by adding the changed correction value until the prediction error is predetermined. If the correction data is determined to be appropriate, the correction data is output as an encoding result of the original image.
[0017]
  In the image encoding device according to claim 1, the level of the compressed data is limited by extracting only the upper predetermined bits of the compressed data obtained by compressing the original image, and a predetermined correction value is added. As a result, the compressed data whose level is limited is corrected, and the corrected data is output.Also, the correction data is classified into a predetermined class according to its property, and corresponds to the correction data class.By linear combination of the prediction coefficient and the correction data,By finding the predicted valueThe original image is predicted, the predicted value is output, and the prediction error of the predicted value for the original image is calculated. Then, by comparing the prediction error with a predetermined threshold value, the appropriateness of the correction data output by the correction unit is determined, and when the prediction error is equal to or less than the predetermined threshold value and the correction data is determined to be appropriate, Correction data is output as an encoding result of the original image, the correction value is changed until the prediction error is equal to or less than a predetermined threshold value, and the correction data is determined to be appropriate, and the changed correction value is added. Thus, the process of correcting the compressed data is repeated.
[0018]
  Claim 7In the image encoding method described in the above, by extracting only the upper predetermined bits of the compressed data obtained by compressing the original image, the level of the compressed data is limited, and by adding a predetermined correction value, The compressed data whose level is limited is corrected, and corrected data is output. Also,The correction data is classified into a predetermined class according to its property and corresponds to the correction data class.By linear combination of the prediction coefficient and the correction data,By finding the predicted valueThe original image is predicted, the predicted value is output, and the prediction error of the predicted value for the original image is calculated. Then, the appropriateness of the correction data is determined by comparing the prediction error with a predetermined threshold, and the correction value is changed until it is determined that the prediction error is equal to or less than the predetermined threshold and the correction data is appropriate. The process of correcting the compressed data is repeated by adding the changed correction value, and when it is determined that the prediction error is equal to or less than a predetermined threshold and the correction data is appropriate, the correction data is converted into the original image. Is output as a result of encoding.
[0019]
  Claim 8In the image processing system described in (1), the level of the compressed data is limited by extracting only the upper predetermined bits of the compressed data obtained by compressing the original image by the image encoding device, and a predetermined correction value is set. By adding, the compressed data whose level is limited is corrected, and the corrected data is output. Also,The correction data is classified into a predetermined class according to its property and corresponds to the correction data class.By linear combination of the prediction coefficient and the correction data,By finding the predicted valueThe original image is predicted, the first prediction value is output, and the prediction error of the first prediction value with respect to the original image is calculated. Then, the appropriateness of the correction data is determined by comparing the prediction error with a predetermined threshold, and the correction value is changed until it is determined that the prediction error is equal to or less than the predetermined threshold and the correction data is appropriate. The process of correcting the compressed data is repeated by adding the changed correction value, and when it is determined that the prediction error is equal to or less than a predetermined threshold and the correction data is appropriate, the correction data is converted into the original image. Is output as encoded data. Further, the encoded data output from the image encoding device is received by the image decoding device,The correction data included in the encoded data is classified into a predetermined class according to the property, and the original image is predicted by linear combination of the prediction coefficient corresponding to the correction data class and the correction data, and the second data By outputting the predicted value,The received encoded data is decoded.
[0020]
  Claim 10In the image processing method described in the above, the level of the compressed data is limited by extracting only the upper predetermined bits of the compressed data obtained by compressing the original image in the image encoding method of the image encoding device, By adding a predetermined correction value, the level-compressed compressed data is corrected and correction data is output. Also,The correction data is classified into a predetermined class according to its property and corresponds to the correction data class.By linear combination of the prediction coefficient and the correction data,By finding the predicted valueThe original image is predicted, the predicted value is output, and the prediction error of the predicted value for the original image is calculated. Then, the appropriateness of the correction data is determined by comparing the prediction error with a predetermined threshold, and the correction value is changed until it is determined that the prediction error is equal to or less than the predetermined threshold and the correction data is appropriate. The process of correcting the compressed data is repeated by adding the changed correction value, and when it is determined that the prediction error is equal to or less than a predetermined threshold and the correction data is appropriate, the correction data is converted into the original image. Is output as encoded data. In the image decoding method of the image decoding device, encoded data output from the image encoding device is received,The correction data included in the encoded data is classified into a predetermined class according to the property, and the original image is predicted by linear combination of the prediction coefficient corresponding to the correction data class and the correction data, and the second data By outputting the predicted value,The received encoded data is decoded.
[0021]
  Claim 11In the transmission method described in the above, the level of the compressed data is limited by extracting only the upper predetermined bits of the compressed data obtained by compressing the original image, and by adding a predetermined correction value, The limited compressed data is corrected and corrected data is output.The correction data is classified into a predetermined class according to its property and corresponds to the correction data class.By linear combination of the prediction coefficient and the correction data,By finding the predicted valueThe original image is predicted, the predicted value is output, and the prediction error of the predicted value for the original image is calculated. Then, the appropriateness of the correction data is determined by comparing the prediction error with a predetermined threshold, and the correction value is changed until it is determined that the prediction error is equal to or less than the predetermined threshold and the correction data is appropriate. The process of correcting the compressed data is repeated by adding the changed correction value, and when it is determined that the prediction error is equal to or less than a predetermined threshold and the correction data is appropriate, the correction data is converted into the original image. Is transmitted as a result of encoding.
[0022]
  Claim 12In the recording medium described in the above, the level of the compressed data is limited by extracting only the upper predetermined bits of the compressed data obtained by compressing the original image, and by adding a predetermined correction value, The limited compressed data is corrected and corrected data is output.The correction data is classified into a predetermined class according to its property and corresponds to the correction data class.By linear combination of the prediction coefficient and the correction data,By finding the predicted valueThe original image is predicted, the predicted value is output, and the prediction error of the predicted value for the original image is calculated. Then, the appropriateness of the correction data is determined by comparing the prediction error with a predetermined threshold, and the correction value is changed until it is determined that the prediction error is equal to or less than the predetermined threshold and the correction data is appropriate. The process of correcting the compressed data is repeated by adding the changed correction value, and when it is determined that the prediction error is equal to or less than a predetermined threshold and the correction data is appropriate, the correction data is converted into the original image. Is output as a result of encoding.
[0023]
DETAILED DESCRIPTION OF THE INVENTION
[0043]
FIG. 1 shows the configuration of an embodiment of an image processing apparatus to which the present invention is applied. The transmission apparatus 1 is supplied with digitized image data. The transmission device 1 compresses and encodes the input image data by thinning out (decreasing the number of pixels), and the encoded data obtained as a result is, for example, an optical disk, a magneto-optical disk, a magnetic tape, a phase change The data is recorded on a recording medium 2 such as a disk or transmitted via, for example, a terrestrial wave, a satellite line, a telephone line, a CATV network, the Internet, or another transmission line 3.
[0044]
In the receiving device 4, the encoded data recorded on the recording medium 2 is reproduced or the encoded data transmitted via the transmission path 3 is received, and the encoded data is expanded and decoded. The decoded image obtained as a result is supplied to a display (not shown) and displayed.
[0045]
The image processing apparatus as described above is, for example, an optical disk apparatus, a magneto-optical disk apparatus, a magnetic tape apparatus, or other apparatus for recording / reproducing an image, or, for example, a videophone apparatus, a television broadcasting system, The present invention is applied to a CATV system and other devices that transmit images. As will be described later, since the amount of encoded data output from the transmission apparatus 1 is small, the image processing apparatus in FIG. 1 has a low transmission rate, such as a mobile phone or other portable terminal that is convenient for movement. It is also applicable to.
[0046]
FIG. 2 shows a configuration example of the transmission apparatus 1.
[0047]
The I / F (InterFace) 11 performs reception processing of image data supplied from the outside and transmission processing of encoded data to the transmitter / recording device 16. A ROM (Read Only Memory) 12 stores a program for IPL (Initial Program Loading) and others. A RAM (Random Access Memory) 13 stores system programs (OS (Operating System)) and application programs recorded in the external storage device 15, and data necessary for the operation of a CPU (Central Processing Unit) 14. It is made to memorize. In accordance with the IPL program stored in the ROM 12, the CPU 14 expands the system program and the application program from the external storage device 15 to the RAM 13, and executes the application program under the control of the system program. The image data supplied from the image data is encoded as described later. The external storage device 15 is, for example, a magnetic disk device or the like, and stores system programs and application programs executed by the CPU 14 as well as data necessary for the operation of the CPU 14 as described above. The transmitter / recording device 16 records the encoded data supplied from the I / F 11 on the recording medium 2 or transmits it via the transmission path 3.
[0048]
The I / F 11, the ROM 12, the RAM 13, the CPU 14, and the external storage device 15 are connected to each other via a bus.
[0049]
In the transmission apparatus 1 configured as described above, when image data is supplied to the I / F 11, the image data is supplied to the CPU 14. The CPU 14 encodes the image data and supplies the encoded data obtained as a result to the I / F 11. When the encoded data is received, the I / F 11 supplies the encoded data to the transmitter / recording device 16. In the transmitter / recording device 16, the encoded data from the I / F 11 is recorded on the recording medium 2 or transmitted via the transmission path 3.
[0050]
FIG. 3 is a functional block diagram of a portion excluding the transmitter / recording device 16 of the transmission device 1 of FIG.
[0051]
The image data to be encoded is supplied to the compression unit 21, the local decoding unit 22, and the error calculation unit 23. The compression unit 21 compresses the image data by simply thinning out the pixels, restricts the level of the extracted pixel data, and further compresses the resulting data (thinning and level restriction are performed). The subsequent image data) is corrected in accordance with the control from the determination unit 24. Correction data obtained as a result of correction in the compression unit 21 is supplied to the local decoding unit 22 and the determination unit 24.
[0052]
The local decoding unit 22 predicts the original image based on the correction data from the compression unit 21 and supplies the predicted value to the error calculation unit 23. As will be described later, the local decoding unit 22 performs a process for obtaining a prediction coefficient for calculating a prediction value by linear combination with correction data, and performs an adaptive process for obtaining a prediction value based on the prediction coefficient. As described above, the prediction value is supplied to the error calculation unit 23, and the prediction coefficient obtained at that time is supplied to the determination unit 24 as described above.
[0053]
The error calculation unit 23 is configured to calculate the prediction error of the prediction value from the local decoding unit 22 with respect to the original image data (original image) input thereto. This prediction error is supplied to the determination unit 24 as error information.
[0054]
Based on the error information from the error calculation unit 23, the determination unit 24 determines the appropriateness of using the correction data output from the compression unit 21 as the encoding result of the original image. If the determination unit 24 determines that the correction data output from the compression unit 21 is not appropriate as the encoding result of the original image, the determination unit 24 controls the compression unit 21 and further corrects the compressed data. Thus, new correction data obtained as a result is output. In addition, when the determination unit 24 determines that the correction data output from the compression unit 21 is appropriate as the encoding result of the original image, the determination unit 24 uses the correction data supplied from the compression unit 21 as the optimum result. The compressed data (hereinafter referred to as optimum compressed data as appropriate) is supplied to the multiplexing unit 25 and the prediction coefficient supplied from the local decoding unit 22 is supplied to the multiplexing unit 25.
[0055]
The multiplexing unit 25 multiplexes the optimum compressed data (correction data) from the determination unit 24 and the prediction coefficient, and supplies the multiplexed result to the transmitter / recording device 16 (FIG. 2) as encoded data. It is made to do.
[0056]
Next, the operation will be described with reference to the flowchart of FIG. When the image data is supplied to the compression unit 21, the compression unit 21 compresses the image data by thinning out (extracting a small number of pixels from a plurality of pixels) in step S1. Further, the level of the extracted pixel data is limited by extracting 2 bits on the MSB side in step S2. The pixel data is first output to the local decoding unit 22 and the determination unit 24 without being corrected. In step S3, the local decoding unit 22 locally decodes the correction data from the compression unit 21 (initially, the compressed data itself obtained by simply thinning out the image data and limiting the level as described above).
[0057]
That is, in step S3, a process for obtaining a prediction coefficient for calculating a predicted value of the original image is performed by linear combination with correction data from the compression unit 21, and a predicted value is obtained based on the predicted coefficient. Adaptive processing is performed. The prediction value obtained in the local decoding unit 22 is supplied to the error calculation unit 23, and the prediction coefficient is supplied to the determination unit 24.
[0058]
Here, the image composed of the predicted values output from the local decoding unit 22 is the same as the decoded image obtained on the receiving device 4 (FIG. 1) side.
[0059]
When receiving the predicted value of the original image from the local decoding unit 22, the error calculating unit 23 calculates a prediction error of the predicted value from the local decoding unit 22 with respect to the original image data in step S4, and as error information , Supplied to the determination unit 24. When the determination unit 24 receives the error information from the error calculation unit 23, in step S5, based on the error information, the appropriateness of using the correction data output from the compression unit 21 as the encoding result of the original image. Determine.
[0060]
That is, in step S5, it is determined whether the error information is equal to or less than a predetermined threshold value ε. If it is determined in step S5 that the error information is not equal to or less than the predetermined threshold value ε, it is recognized that the correction data output from the compression unit 21 is not appropriate as the encoded data of the original image, and the process proceeds to step S6. The determination unit 24 controls the compression unit 21 and thereby corrects the compressed data. The compression unit 21 changes the correction amount (correction value Δ described later) under the control of the determination unit 24 to correct the compressed data, and outputs the correction data obtained as a result to the local decoding unit 22 and the determination unit 24. To do. And it returns to step S3 and the same process is repeated hereafter.
[0061]
On the other hand, if it is determined in step S5 that the error information is equal to or less than the predetermined threshold ε, it is recognized that it is appropriate to use the correction data output by the compression unit 21 as the encoding result of the original image. The determination unit 24 outputs the correction data when error information equal to or less than the predetermined threshold ε is obtained to the multiplexing unit 25 as the optimal compression data together with the prediction coefficient. In step S7, the multiplexing unit 25 multiplexes the optimum compressed data and the prediction coefficient from the determination unit 24, outputs the encoded data obtained as a result, and ends the process.
[0062]
As described above, the correction data obtained by correcting the compressed data when the error information is equal to or less than the predetermined threshold value ε is used as the encoding result of the original image. Based on the correction data, it is possible to obtain an image substantially identical to the original image (original image).
[0063]
Next, FIG. 5 shows a configuration example of the compression unit 21 of FIG.
[0064]
The image data to be encoded is input to the thinning circuit 30, and the thinning circuit 30 is configured to thin the input image data to 1 / N. Accordingly, the thinning circuit 30 outputs compressed data obtained by compressing image data to 1 / N. This compressed data is input to the level limiting circuit 31, and for example, by extracting only 2 bits on the MSB side of each pixel data represented by 8 bits, the level is limited and then supplied to the correction circuit 32. It is made so that.
[0065]
The correction circuit 32 gives an address to the correction value ROM 33 in accordance with a control signal from the determination unit 24 (FIG. 3), thereby reading the correction value Δ. Then, the correction circuit 32 generates correction data by adding, for example, the correction value Δ from the correction value ROM 33 to the compressed data from the level limiting circuit 31, and generates correction data to the local decoding unit 22 and the determination unit 24. It is made to supply. The correction value ROM 33 stores various combinations of correction values Δ for correcting the compressed data output from the level limiting circuit 31 (for example, combinations of correction values for correcting compressed data for one frame). The combination of correction values Δ corresponding to the addresses supplied from the correction circuit 32 is read out and supplied to the correction circuit 32.
[0066]
Next, the processing of the compression unit 21 in FIG. 5 will be described with reference to FIG.
[0067]
For example, when image data for one frame or the like is supplied to the thinning circuit 30, the thinning circuit 30 thins the image data to 1 / N in step S11, and the compressed data obtained as a result is converted to a level limiting circuit. To 31.
[0068]
Here, as shown in FIG. 7, the thinning circuit 30 thins out image data to 1/9, for example. That is, the thinning-out circuit 30 extracts 9 × 3 (horizontal × vertical) 9 pixels as one unit, extracts only the pixel value of the pixel at the center of each unit (the portion indicated by ● in the figure), Is deleted (the part indicated by a circle in the figure). It should be noted that the thinning circuit 30 is configured to perform the above processing, for example, in units of one frame (field). Therefore, one frame of image data is supplied from the thinning circuit 30 to the level limiting circuit 31 as compressed data that has been thinned to 1/9. However, the thinning process in the thinning circuit 30 can also be performed in units of blocks by dividing an image of one frame into several blocks.
[0069]
When the level limiting circuit 31 receives the pixel data thinned out to 1/9 from the thinning circuit 30, the level limiting circuit 31 limits the level by extracting 2 bits from the MSB side of the pixel data represented by 8 bits. To do. In other words, each pixel data is represented by 2 bits, and the subsequent processing is simplified.
[0070]
When receiving the compressed data from the level limiting circuit 31, the correction circuit 32 determines whether a control signal is received from the determination unit 24 (FIG. 3) in step S13. If it is determined in step S13 that the control signal has not been received, the process proceeds to step S16, and the correction circuit 32 uses the compressed data from the level limiting circuit 31 as correction data as it is as the correction data, and the local decoding unit 22 and the determination unit 24. And return to step S13.
[0071]
That is, as described above, the determination unit 24 is configured to control the compression unit 21 (correction circuit 32) based on the error information, and immediately after the compressed data is output from the level limiting circuit 31, Since the error information cannot be obtained (because the error information is not output from the error calculation unit 23), the control signal is not output from the determination unit 24. Therefore, immediately after the compressed data is output from the level limiting circuit 31, the correction circuit 32 does not correct the compressed data (corrected by adding 0), and directly uses the local decoding unit 22 and the corrected data as corrected data. It outputs to the determination part 24.
[0072]
On the other hand, when it is determined in step S13 that the control signal from the determination unit 24 has been received, in step S14, the correction circuit 32 outputs an address according to the control signal to the correction value ROM 33. As a result, in step S14, the combination (set) of correction values Δ for correcting the compressed data for one frame stored at the address is read from the correction value ROM 33 and supplied to the correction circuit 32. The When the correction circuit 32 receives the combination of the correction values Δ from the correction value ROM 33, in step S15, the correction circuit 32 adds the corresponding correction value Δ to each compressed data of one frame, thereby correcting the corrected data by correcting the compressed data. calculate. Thereafter, the process proceeds to step S16, and the correction data is output from the correction circuit 32 to the local decoding unit 22 and the determination unit 24, and the process returns to step S13.
[0073]
As described above, the compression unit 21 repeatedly outputs correction data obtained by correcting the compressed data into various values according to the control of the determination unit 24.
[0074]
Note that, when the encoding of one frame image is completed, the determination unit 24 supplies a control signal indicating that to the compression unit 21. In the compression unit 21, in step S13, the determination is made. Whether or not a control signal is received is also determined. If it is determined in step S13 that a control signal indicating that the encoding of one frame image has been completed is received, the process returns to step S11 after waiting for the next frame image to be supplied. The process is repeated.
[0075]
Further, in the above-described case, the thinning circuit 30 is caused to generate compressed data by extracting only pixel data (pixel value) about the center pixel of 3 × 3 pixels. It is also possible to calculate an average value of 3 × 3 pixels and generate compressed data using the average value as the pixel value of the center pixel of the 3 × 3 pixels.
[0076]
Next, FIG. 8 shows a configuration example of the local decoding unit 22 of FIG.
[0077]
The correction data from the compression unit 21 is supplied to the class classification blocking circuit 41 and the predicted value calculation blocking circuit 42. The class classification blocking circuit 41 is used for class classification centering on attention correction data (pixels) (attention correction data), which is a unit for classifying correction data into a predetermined class according to its property. Blocks are made into blocks.
[0078]
That is, in FIG. 7, the i-th correction data (compressed data) (or pixel) (or the pixel) (the portion indicated by ● in the drawing) from the top and the j-th from the left is XijIn this case, the class classification blocking circuit 41 uses the target pixel (target correction data) XijFour pixels X adjacent to the top, left, right, and bottom(i-1) j, Xi (j-1), Xi (j + 1), X(i-1) jIn addition, a class classification block composed of a total of five pixels including itself is configured. This class classification block is supplied to the class classification adaptive processing circuit 43.
[0079]
In this case, the class classification block is composed of blocks composed of pixels arranged in a cross shape, but the shape of the class classification block does not have to be a cross shape, , Rectangular, square or any other shape. Further, the number of pixels constituting the class classification block is not limited to five pixels.
[0080]
The prediction value calculation blocking circuit 42 blocks the correction data into prediction value calculation blocks centering on the target correction data, which is a unit for calculating the prediction value of the original image. . That is, now in FIG.ijThe pixel value of 3 × 3 9 pixels in the original image (original image) centered on (indicated by the mark ● in the figure) is Y from the left to the right and from the top to the bottom.ij(1), Yij(2), Yij(3), Yij(4), Yij(5), Yij(6), Yij(7), Yij(8), YijIf represented as (9), pixel Yij(1) to YijFor the calculation of the predicted value of (9), the predicted value calculation blocking circuit 42, for example, uses the pixel Xij5 × 5 25 pixels X centered on(i-2) (j-2), X(i-2) (j-1), X(i-2) j, X(i-2) (j + 1), X(i-2) (j + 2), X(i-1) (j-2), X(i-1) (j-1), X(i-1) j, X(i-1) (j + 1), X(i-1) (j + 2), Xi (j-2), Xi (j-1), Xij, Xi (j + 1), Xi (j + 2), X(i + 1) (j-2), X(i + 1) (j-1), X(i + 1) j, X(i + 1) (j + 1), X(i + 1) (j + 2), X(i + 2) (j-2), X(i + 2) (j-1), X(i + 2) j, X(i + 2) (j + 1), X(i + 2) (j + 2)A square-shaped prediction value calculation block constituted by is configured.
[0081]
Specifically, for example, the pixel Y in the original image surrounded by a rectangle in FIG.33(1) to Y33For the calculation of the predicted value of (9), the pixel X11, X12, X13, X14, X15, Xtwenty one, Xtwenty two, Xtwenty three, Xtwenty four, Xtwenty five, X31, X32, X33, X34, X35, X41, X42, X43, X44, X45, X51, X52, X53, X54, X55Thus, a prediction value calculation block is configured.
[0082]
The predicted value calculation block obtained in the predicted value calculation blocking circuit 42 is supplied to the class classification adaptive processing circuit 43.
[0083]
Note that the number of pixels and the shape of the prediction value calculation block are not limited to those described above, as in the case of the class classification block. However, it is desirable that the number of pixels constituting the prediction value calculation block is larger than the number of pixels constituting the class classification block.
[0084]
Further, when the above-described blocking is performed (the same applies to processes other than blocking), there may be no corresponding pixel near the image frame of the image. In this case, for example, the image frame The processing is performed on the assumption that the same pixel as that constituting the pixel exists outside.
[0085]
The class classification adaptation process 43 includes a class classification circuit 45 and an adaptation process 46, and performs a class classification adaptation process.
[0086]
Class classification adaptation processing classifies input signals into several classes based on their characteristics, and applies appropriate adaptation processing to the input signals of each class. It is divided into processing.
[0087]
Here, the class classification process and the adaptation process will be briefly described.
[0088]
First, the class classification process will be described.
[0089]
Now, for example, as shown in FIG. 9 (A), a pixel of interest and three adjacent pixels form a 2 × 2 pixel block (class classification block). It is expressed by 1 bit (takes a level of 0 or 1). In this case, a 2 × 2 4-pixel block has 16 (= (2) as shown in FIG.1)Four) Can be classified into patterns. Such pattern division is class classification processing and is performed in the class classification circuit 45.
[0090]
The class classification processing can be performed in consideration of the activity (complexity of the image) (severity of change) of the image (image in the block).
[0091]
Here, normally, for example, about 8 bits are assigned to the original pixel. In the present embodiment, as described above, the class classification block is composed of five pixels. Therefore, when such a class classification block is composed of original (8-bit) pixels and the class classification process is performed, (28)FiveIt will be classified into a huge number of classes.
[0092]
On the other hand, in the present embodiment, as described above, in the level limiting circuit 31, the number of bits of the pixel is reduced (from 8 bits to 2 bits), thereby reducing the number of classes (1024 ( = (22)Five)).
[0093]
Next, the adaptation process will be described.
[0094]
For example, the predicted value E [y] of the pixel value y of the original image is now set to the pixel values of some surrounding pixels (hereinafter referred to as learning data as appropriate) x1, X2, ... and a predetermined prediction 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.
[0095]
E [y] = w1x1+ W2x2+ ... + wtwenty fivextwenty five+ W0... (1)
However, w0Is essentially 8-bit data xiIs converted to 2-bit data by deleting its lower 6 bits, so that an offset term (offset) corresponding to the lower 6 bits is added to represent E [y] in 8 bits. Coefficient). The offset coefficient w0Is the prediction coefficient w1, W2..,... Are coefficients for obtaining a predicted value, and hence will be appropriately included in the prediction coefficients hereinafter. However, here, in order to simplify the explanation, the offset coefficient w0I will be ignored and the adaptation process will be described.
[0096]
Now, a matrix W composed of a set of prediction coefficients w, a matrix X composed of a set of learning data, and a matrix Y ′ composed of a set of predicted values E [y]
[Expression 1]
Figure 0003952326
Then, the following observation equation holds.
[0097]
XW = Y ′ (2)
[0098]
Then, it is considered that the least square method is applied to this observation equation to obtain a predicted value E [y] close to the pixel value y of the original image. In this case, a matrix Y consisting of a set of pixel values y of the original image (hereinafter referred to as teacher data as appropriate) y and a set of residuals e of predicted values E [y] for the pixel values y of the original image. E
[Expression 2]
Figure 0003952326
From the equation (2), the following residual equation is established.
[0099]
XW = Y + E (3)
[0100]
In this case, the prediction coefficient w for obtaining the predicted value E [y] close to the pixel value y of the original imageiIs the square error
[Equation 3]
Figure 0003952326
Can be obtained by minimizing.
[0101]
Therefore, the above square error is converted into the prediction coefficient wiWhen the value differentiated by 0 is 0, that is, the prediction coefficient w satisfying the following equation:iHowever, this is the optimum value for obtaining the predicted value E [y] close to the pixel value y of the original image.
[0102]
[Expression 4]
Figure 0003952326
Figure 0003952326
[0103]
Therefore, first, Equation (3) is converted into the prediction coefficient w.iIs differentiated by the following equation.
[0104]
[Equation 5]
Figure 0003952326
Figure 0003952326
[0105]
From equations (4) and (5), equation (6) is obtained.
[0106]
[Formula 6]
Figure 0003952326
Figure 0003952326
[0107]
Further, considering the relationship among the learning data x, the prediction coefficient w, the teacher data y, and the residual e in the residual equation of Equation (3), the following normal equation can be obtained from Equation (6). .
[0108]
[Expression 7]
Figure 0003952326
Figure 0003952326
[0109]
The normal equation of Expression (7) can be established by the same number as the number of prediction coefficients w to be obtained. Therefore, the optimal prediction coefficient w can be obtained by solving Expression (7). In solving equation (7), for example, a sweeping-out method (Gauss-Jordan elimination method) or the like can be applied.
[0110]
Note that what has been described above is that the offset coefficient w0By extending to a form that includes the optimal offset coefficient w along with the prediction coefficient0Can also be obtained.
[0111]
As described above, the optimum prediction coefficient w is obtained for each class, and further, the prediction value E [y] close to the pixel value y of the original image is obtained by the equation (1) using the prediction coefficient w. Is the adaptive processing, and this adaptive processing is performed in the adaptive processing circuit 46.
[0112]
Note that the adaptive processing is different from the interpolation processing in that a component included in the original image that is not included in the thinned image is reproduced. In other words, the adaptive process is the same as the interpolation process using a so-called interpolation filter as long as only Expression (1) is seen, but the prediction coefficient w corresponding to the tap coefficient of the interpolation filter uses the teacher data y. In other words, since it is obtained by learning, the components included in the original image can be reproduced. From this, it can be said that the adaptive process is a process having an image creating action.
[0113]
Next, the processing of the local decoding unit 22 in FIG. 8 will be described with reference to the flowchart in FIG.
[0114]
In the local decoding unit 22, first, in step S21, the correction data from the compression unit 21 is blocked. That is, in the class classification block forming circuit 41, the correction data is blocked into class classification blocks including five pixels centered on the target correction data (FIG. 7) and supplied to the class classification adaptive processing circuit 43. At the same time, in the prediction value calculation block forming circuit 42, the correction data is blocked into prediction value calculation blocks composed of 5 × 5 pixels centered on the correction data of interest and supplied to the class classification adaptive processing circuit 43. Is done.
[0115]
As described above, the class classification adaptive processing circuit 43 is supplied with the original image data in addition to the class classification block and the prediction value calculation block. The predicted value calculation block and the original image data are supplied to the adaptive processing circuit 46.
[0116]
In step S22, the class classification circuit 45 performs class classification processing on the class classification block. That is, the level distribution state of each pixel constituting the class classification block is detected, and the class to which the class classification block belongs (the class of attention correction data constituting the class classification block) is determined. The class determination result is supplied to the adaptive processing circuit 46 as class information.
[0117]
In the present embodiment, since class classification processing is performed on a class classification block composed of 5 pixels represented by 2 bits, each class classification block has 1024 (= (22)Five) In one of the classes.
[0118]
In step S23, the adaptive processing circuit 46 performs adaptive processing for each class based on the class information from the class classification circuit 45, whereby the prediction coefficient for each class and the original for one frame are processed. A predicted value of the image data is calculated.
[0119]
That is, in the present embodiment, for example, a 26 × 9 prediction coefficient for each class is calculated from the original image and the correction data for each frame. When attention is paid to a certain correction data, a prediction is made for a total of nine pixels, that is, a pixel of the original image corresponding to the correction data of interest and eight pixels of the original image adjacent to the pixel. Using a prediction value calculation block consisting of 25 pixels of 5 × 5 pixels centered on the correction data of interest and 26 × 9 prediction coefficients corresponding to the class information, the linear primary of equation (1) It is calculated by calculating the formula.
[0120]
Specifically, for example, the correction data X shown in FIG.33Correction data X centered ontwenty three, X32, X33, X34, X43Class classification block (correction data X33Class classification block having a target correction data as a target correction data) is output from the class classification circuit 45, and correction data X is used as a prediction value calculation block corresponding to the class classification block.335 × 5 pixel correction data X centered at11, X12, X13, X14, X15, Xtwenty one, Xtwenty two, Xtwenty three, Xtwenty four, Xtwenty five, X31, X32, X33, X34, X35, X41, X42, X43, X44, X45, X51, X52, X53, X54, X55Block for calculating a predicted value (correction data X33Assuming that the prediction value calculation block) is output from the prediction value calculation block forming circuit 42, first, correction data constituting the prediction value calculation block is used as learning data. , Correction data X in the original image33The pixel value Y of 3 × 3 pixels (the part surrounded by a rectangle in FIG. 7) centering on33(1) to Y33Using (9) as teacher data, a normal equation corresponding to equation (7) is established.
[0121]
Further, for example, a normal equation is similarly established for other prediction value calculation blocks classified into the same class information C in one frame as a predetermined period, and the pixel value Y33(K) Predicted value E [Y] (here, k = 1, 2,..., 9)33(K)] prediction coefficient w for obtaining1(K) to wtwenty five(K) (In this embodiment, 25 pieces of learning data are used to obtain one prediction value, and one offset coefficient is further required. 26 are required), so that the number of normal equations that can be calculated is obtained (therefore, until such number of normal equations is obtained, in step S23, the process up to the normal equation is processed. The pixel value Y for class information C by solving the normal equation33Predicted value E [Y of (k)33(K)] 26 optimum prediction coefficients (including offset coefficient) w0(K) to wtwenty five(K) is calculated (in order to obtain 9 prediction values using 25 correction data, the number of prediction coefficients for one class corresponds to 9 prediction values, 25 × 9) The total number of offset coefficients is 9 (26 × 9).
[0122]
This process is performed for each class, and 26 × 9 prediction coefficients are calculated for each class. Then, using the 26 × 9 prediction coefficients corresponding to the class information C and the prediction value calculation block, according to the following expression corresponding to Expression (1), the prediction value E [Y33(K)] is required.
[0123]
Figure 0003952326
[0124]
In step S23, the 26 × 9 prediction coefficient is obtained for each class as described above, and using the prediction coefficient for each class, the pixel of the 3 × 3 original image centered on the target correction data is used. A predicted value is obtained.
[0125]
Thereafter, the process proceeds to step S24, where the 26 × 9 prediction coefficient for each class is supplied to the determination unit 24, and the prediction value for one frame obtained in units of 3 × 3 pixels is supplied to the error calculation unit 23. Then, the process returns to step S21, and the same processing is repeated for each frame as described above, for example.
[0126]
Next, FIG. 11 shows a configuration example of the error calculation unit 23 of FIG.
[0127]
The original image data is supplied to the blocking circuit 51, where the blocking circuit 51 outputs nine image data corresponding to the predicted values output from the local decoding unit 22. The block is divided into units, and the resulting 3 × 3 pixel block (for example, a 3 × 3 pixel block as shown in a rectangle in FIG. 7) is output to the square error calculation circuit 52. . As described above, the square error calculation unit 52 is supplied with blocks from the block forming circuit 51 and is also supplied with prediction values from the local decoding unit 22 in units of 9 (3 × 3 pixel block units). The square error calculation circuit 52 calculates a square error as a prediction error of the prediction value for the original image, and supplies the square error to the integrating unit 55.
[0128]
That is, the square error calculation circuit 52 is composed of computing units 53 and 54. The computing unit 53 subtracts the corresponding predicted value from each of the blocked image data from the blocking circuit 51 and supplies the subtracted value to the computing unit 54. The computing unit 54 squares the output of the computing unit 53 (difference between the original image data and the predicted value) and supplies the square to the integrating unit 55.
[0129]
When receiving the square error from the square error calculation circuit 52, the accumulating unit 55 reads the stored value in the memory 56, adds the stored value and the square error, and repeatedly supplies the stored value to the memory 56 for storage. Thus, an integrated value (error variance) of the square error is obtained. Furthermore, when the integration of the square error for a predetermined amount (for example, for one frame) is completed, the integration unit 55 reads the integration value from the memory 56 and supplies it to the determination unit 24 as error information. ing. The memory 56 is configured to store the output value of the integrating unit 55 while clearing the stored value every time processing for one frame is completed.
[0130]
Next, the operation will be described with reference to the flowchart of FIG. In the error calculation unit 23, first, in step S31, the stored value of the memory 56 is cleared to, for example, 0, and the process proceeds to step S32. In the blocking circuit 51, the image data is blocked as described above. The block obtained as a result is supplied to the square error calculation circuit 52. In step S33, the square error calculation circuit 52 calculates a square error between the image data of the original image constituting the block supplied from the blocking circuit 51 and the predicted value supplied from the local decoding unit 22. .
[0131]
That is, in step S <b> 33, the computing unit 53 subtracts the corresponding predicted value from each of the blocked image data supplied from the blocking circuit 51, and supplies it to the computing unit 54. Further, in step S <b> 33, the computing unit 54 squares the output of the computing unit 53 and supplies it to the integrating unit 55.
[0132]
When the square error is received from the square error calculation circuit 52, the integrating unit 55 reads the stored value of the memory 56 and adds the stored value and the square error in step S34, thereby obtaining an integrated value of the square error. The integrated value of the square error calculated in the integrating unit 55 is supplied to the memory 56 and stored by being overwritten on the previous stored value.
[0133]
Then, in step S35, the integrating unit 55 determines whether or not the integration of the square error for one frame, for example, as a predetermined amount has ended. If it is determined in step S35 that the square error accumulation for one frame has not been completed, the process returns to step S32, and the processing from step S32 is repeated again. If it is determined in step S35 that the integration of the square error for one frame has been completed, the process proceeds to step S36, where the integration unit 55 stores the integrated value of the square error for one frame stored in the memory 56. Is output to the determination unit 24 as error information. Then, the process returns to step S31, and the process from step S31 is repeated again for the next frame.
[0134]
Therefore, the error calculation unit 23 converts the original image data into Yij(K) and the predicted value is E [Yij(K)], the error information Q is calculated by performing an operation according to the following equation.
[0135]
Q = Σ (Yij(K) -E [Yij(K)])2
However, Σ means summation for one frame.
[0136]
Next, FIG. 13 shows a configuration example of the determination unit 24 of FIG.
[0137]
The prediction coefficient memory 61 is configured to store the prediction coefficient supplied from the local decoding unit 22. The correction data memory 62 stores correction data supplied from the compression unit 21.
[0138]
In the correction data memory 62, when the compressed data is newly corrected in the compression unit 21 and new correction data is supplied as a result, the correction data memory 62 stores the correction data already stored (previous correction data). Instead, new correction data is stored. In addition, at the timing when the correction data is updated to a new one in this way, the local decoding unit 22 outputs a set of prediction coefficients for each new class corresponding to the new correction data. Also in the prediction coefficient memory 61, when a prediction coefficient for each new class is supplied in this way, the prediction coefficient for each class already stored (prediction coefficient for each previous class) is replaced with the new prediction coefficient. A prediction coefficient for each class is stored.
[0139]
The error information memory 63 is configured to store error information supplied from the error calculation unit 23. The error information memory 63 stores the error information supplied last time from the error calculation unit 23 in addition to the error information supplied this time (even if new error information is supplied, Until new error information is supplied, the already stored error information is held). The error information memory 63 is cleared every time processing for a new frame is started.
[0140]
The comparison circuit 64 compares the current error information stored in the error information memory 63 with a predetermined threshold value ε, and further compares the current error information with the previous error information as necessary. Has been made. The comparison result in the comparison circuit 64 is supplied to the control circuit 65.
[0141]
Based on the comparison result in the comparison circuit 64, the control circuit 65 determines the appropriateness (optimum) of using the correction data stored in the correction data memory 62 as the encoding result of the original image. When recognized (determined), a control signal requesting output of new correction data is supplied to the compression unit 21 (correction circuit 32) (FIG. 5). When the control circuit 65 recognizes that the correction data stored in the correction data memory 62 is optimal to be the encoding result of the original image, the control circuit 65 stores the class stored in the prediction coefficient memory 61. Each prediction coefficient is read out and output to the multiplexing unit 25, and the correction data stored in the correction data memory 62 is read out and supplied to the multiplexing unit 25 as optimum compressed data. Further, in this case, the control circuit 65 outputs a control signal indicating that the encoding of one frame image has been completed to the compression unit 21, and as described above, the control circuit 65 causes the compression unit 21 to The process for the frame is started.
[0142]
Next, the operation of the determination unit 24 will be described with reference to FIG. In the determination unit 24, first, in step S41, whether or not the error information is received from the error calculation unit 23 is determined by the comparison circuit 64. If it is determined that the error information is not received, the process proceeds to step S41. Return. If it is determined in step S41 that the error information has been received, that is, if the error information is stored in the error information memory 63, the process proceeds to step S42, and the comparison circuit 64 stores the error information in the error information memory 63. The determined error information (current error information) is compared with a predetermined threshold ε to determine which is larger.
[0143]
If it is determined in step S42 that the current error information is greater than or equal to the predetermined threshold ε, the previous error information stored in the error information memory 63 is read in the comparison circuit 64. In step S43, the comparison circuit 64 compares the previous error information with the current error information and determines which is larger.
[0144]
Here, when the processing for one frame is started and error information is supplied for the first time, the error information memory 63 does not store the previous error information. The process after step S43 is not performed, and the correction circuit 32 outputs a predetermined initial address (an address at which the initial value of the correction value is stored in the correction value ROM 33 (FIG. 5)) in the control circuit 65. A control signal for controlling (FIG. 5) is output.
[0145]
If it is determined in step S43 that the current error information is equal to or less than the previous error information, that is, if the error information is reduced by correcting the compressed data, the process proceeds to step S44, where the control circuit 65 A control signal instructing to change the correction value Δ in the same manner as the previous time is output to the correction circuit 32, and the process returns to step S41. If it is determined in step S43 that the current error information is larger than the previous error information, that is, if the error information has increased by correcting the compressed data, the process proceeds to step S45, where the control circuit 65 Then, a control signal for instructing to change the correction value Δ opposite to the previous time is output to the correction circuit 32, and the process returns to step S41.
[0146]
When the error information that has continued to decrease starts to increase at a certain timing, the control circuit 65 sets the correction value Δ to the previous value, for example, at a magnitude that is 1/2. Conversely, a control signal instructing to change is output.
[0147]
Then, by repeating the processes of steps S41 to S45, the error information decreases, and when it is determined in step S42 that the current error information is smaller than the predetermined threshold value ε, the process proceeds to step S46, and control is performed. The circuit 65 reads the prediction coefficient for each class stored in the prediction coefficient memory 61, reads the correction data for one frame stored in the correction data memory 62 as the optimum compressed data, and supplies it to the multiplexing unit 25. Then, the process ends.
[0148]
After that, waiting for the error information for the next frame to be supplied, the process according to the flowchart shown in FIG. 14 is repeated again.
[0149]
The correction circuit 32 can correct the compressed data for all the compressed data of one frame or only a part of the compressed data. In the case of performing correction only for a part of the compressed data, for example, the control circuit 65 can detect pixels having a strong influence on the error information and correct only the compressed data for such pixels. . A pixel having a strong influence on error information can be detected as follows, for example. That is, first, the error information is obtained by performing processing using the compressed data subjected to level control of the pixels remaining after thinning out as they are. Then, a control signal for performing a process of correcting the compressed data one by one by the same correction value Δ is output from the control circuit 65 to the correction circuit 32, and the error information obtained as a result is converted into the compressed data. Compared with the error information obtained when the is used as it is, a pixel whose difference is a predetermined value or more may be detected as a pixel having a strong influence on the error information.
[0150]
As described above, the correction of the compressed data is repeated until the error information is made smaller (below) than the predetermined threshold ε, and the correction data when the error information becomes smaller than the predetermined threshold ε is the code of the image. Therefore, in the receiving device 4 (FIG. 1), the original pixel value of the pixels constituting the image after thinning is corrected from the correction data having the most appropriate value for restoring the original image. It is possible to obtain a decoded image (decoded image with high image quality) that is the same (substantially the same) as the image.
[0151]
In addition to being compressed by the thinning-out process, the image is also compressed by the level limiting process and the class classification adaptive process, so that encoded data with a very high compression rate can be obtained. Note that the encoding process as described above in the transmission apparatus 1 achieves high-efficiency compression by using so-called organic integration of the compression process by thinning and the class classification adaptation process, From this, it can be said that it is an integrated encoding process.
[0152]
Next, FIG. 15 shows a configuration example of the receiving device 4 of FIG.
[0153]
In the receiver / reproducing apparatus 71, the encoded data recorded on the recording medium 2 is reproduced or the encoded data transmitted via the transmission path 3 is received and supplied to the separation unit 72. The separation unit 72 sequentially separates the correction data for one frame and the prediction coefficient for each class from the encoded data, and the correction data for one frame is converted into a class classification blocking circuit 73 and a prediction value calculation blocking circuit. The prediction coefficient for each class is supplied to the prediction circuit 76 and stored in the built-in memory 76A.
[0154]
The class classification blocking circuit 73, the class classification circuit 75, or the prediction value calculation blocking circuit 77 is respectively the class classification blocking circuit 41, the class classification circuit 45, or the prediction value calculation blocking circuit 42 in FIG. Therefore, in these blocks, the same processing as in FIG. 8 is performed, and thereby, a predicted value calculation block is output from the predicted value calculation block forming circuit 77, Further, class information is output from the class classification circuit 75. These prediction value calculation blocks and class information are supplied to the prediction circuit 76.
[0155]
In the prediction circuit 76, the prediction coefficient corresponding to the class information is read out from the prediction coefficients for each class stored in the built-in memory 76 </ b> A, and supplied from the prediction coefficient and the prediction value calculation blocking circuit 77. A prediction value is calculated according to the equation (1) using the correction data constituting the prediction value calculation block to be generated, and an image of one frame including such a prediction value is output as a decoded image. As described above, this decoded image is almost the same as the original image.
[0156]
On the receiving side, even if it is not the receiving device 4 as shown in FIG. 15, the decoding is performed by performing normal interpolation without using the prediction coefficient by the device that decodes the thinned image by simple interpolation. An image can be obtained. However, the decoded image obtained in this case has deteriorated image quality (resolution).
[0157]
By the way, in the above-described case, the local decoding unit 22 in FIG. 3 obtains a prediction coefficient, and uses this to calculate a prediction value. It is possible to calculate (using the prediction coefficient obtained by the above).
[0158]
That is, FIG. 16 illustrates a second functional configuration example of the transmission device 1 of FIG. In the figure, parts corresponding to those in FIG. 3 are denoted by the same reference numerals. That is, the transmission apparatus 1 is configured in the same manner as in FIG. 3 except that a local decoding unit 1022 is provided instead of the local decoding unit 22.
[0159]
However, in FIG. 3, the original image data is supplied to the local decoding unit 22, but in FIG. 16, the original image data is not supplied to the local decoding unit 1022.
[0160]
FIG. 17 shows a configuration example of the local decoding unit 1022 of FIG. In the figure, parts corresponding to those in FIG. 8 are denoted by the same reference numerals. That is, the local decoding unit 1022 is configured in the same manner as the local decoding unit 22 in FIG. 8 except that a prediction coefficient ROM 81 and a prediction circuit 82 are provided instead of the adaptive processing circuit 46.
[0161]
The prediction coefficient ROM 81 stores 26 × 9 prediction coefficients for each class obtained by learning in advance (described later), receives class information output from the class classification circuit 45, and stores the class information in the class information. The prediction coefficient stored at the corresponding address is read and supplied to the prediction circuit 82.
[0162]
The prediction circuit 82 uses the prediction value calculation block of 5 × 5 pixels from the prediction value calculation blocking circuit 42 and the prediction coefficient of 26 × 9 from the prediction coefficient ROM 81 to express Formula (1) (specifically For example, a linear linear expression shown in Expression (8)) is calculated, and thereby a predicted value of 3 × 3 pixels of the original image is calculated.
[0163]
Therefore, according to the class classification adaptive processing circuit 43 of FIG. 17, the predicted value is calculated without using the original image (original image). For this reason, as described above, the original image is not supplied to the local decoding unit 1022 (it is not supplied because there is no need to supply it).
[0164]
Next, the processing of the local decoding unit 1022 in FIG. 17 will be further described with reference to the flowchart in FIG.
[0165]
In the local decoding unit 1022, first, in steps S1021 and S1022, the same processing as that in steps S21 and S22 of FIG. 10 is performed, whereby class information is output from the class classification circuit 45. The This class information is supplied to the prediction coefficient ROM 81. Also, a predicted value calculation block is output from the predicted value calculation blocking circuit 42 and supplied to the prediction circuit 82.
[0166]
When receiving the class information, the prediction coefficient ROM 81 reads out 26 × 9 prediction coefficients corresponding to the class information from the stored prediction coefficients for each class and supplies them to the prediction circuit 82 in step S1023.
[0167]
In addition to the 26 × 9 prediction coefficient supplied from the prediction coefficient ROM 81, the prediction circuit 82 is also supplied with a 5 × 5 pixel prediction value calculation block from the prediction value calculation blocking circuit 42 as described above. . In step S1024, the prediction circuit 82 uses the 26 × 9 prediction coefficient from the prediction coefficient ROM 81 and the 5 × 5 pixel prediction value calculation block from the prediction value calculation blocking circuit 42 to perform an adaptive process. Is performed, that is, specifically, the calculation according to the equation (1) (or the equation (8)) is performed, so that the correction data of interest (here, the center of the prediction value calculation block is located). A predicted value of a pixel of a 3 × 3 original image centered on (pixel) is obtained.
[0168]
Thereafter, for example, when a prediction value for one frame is obtained, the process proceeds to step S1025, and 26 × 9 prediction coefficients for each class stored in the prediction coefficient ROM 81 are read and supplied to the determination unit 24. The predicted value obtained in step S1024 is supplied to the error calculation unit 23. Then, the process returns to step S1021, and the same processing is repeated for each frame, for example.
[0169]
In this embodiment, the prediction coefficient for each class is stored in the prediction coefficient ROM 81. Therefore, the value does not change. Therefore, in step S1025, the prediction coefficient for each class is determined by the determination unit 24. Basically, it is not necessary to supply again after supplying once.
[0170]
Further, even when the transmission apparatus 1 is configured as shown in FIG. 16, the reception apparatus 4 can obtain a decoded image that is almost the same as the original image by configuring as shown in FIG. it can.
[0171]
Next, FIG. 19 shows a configuration example of an image processing apparatus that performs learning for obtaining a prediction coefficient stored in the prediction coefficient ROM 81 of FIG.
[0172]
The learning block circuit 91 and the teacher block circuit 92 are supplied with learning image data (learning image) for obtaining a prediction coefficient applicable to any image (that is, before thinning-out processing). It is made to be done.
[0173]
The learning blocking circuit 91 extracts, for example, 25 pixels (5 × 5 pixels) having a positional relationship indicated by a circle in FIG. 7 centered on the target pixel from the input image data (in this case) The pixel of interest is X33), And the block composed of 25 pixels is supplied to the level limiting circuit 93 as a learning block. The level limiting circuit 93 limits the level of the input pixel data and outputs it to the class classification circuit 94 and the learning data memory 96.
[0174]
Further, the teacher blocking circuit 92 generates a block composed of, for example, 3 × 3 9 pixels centered on the target pixel from the input image data, and the block composed of these 9 pixels is generated. The data is supplied to the teacher data memory 98 as a teacher block.
[0175]
For example, when the learning block forming circuit 91 generates a learning block composed of 25 pixels in the positional relationship indicated by ● in FIG. A teacher block of 3 × 3 pixels indicated by a circle is generated.
[0176]
In the class classification circuit 94, nine pixels (3 × 3 pixels) at the center are extracted from the 25 pixels constituting the learning block, and class classification is performed on the block composed of these nine pixels. The class information obtained thereby is supplied to the learning data memory 96 and the teacher data memory 98 via the terminal a of the switch 95.
[0177]
In the learning data memory 96 or the teacher data memory 98, the learning block from the level limiting circuit 93 or the teacher block from the teacher blocking circuit 92 is added to the address (AD) corresponding to the class information supplied thereto. Each is remembered.
[0178]
Accordingly, in the learning data memory 96, for example, if a block of 5 × 5 pixels indicated by ● in FIG. 7 is stored as a learning block at a certain address, the same address is used in the teacher data memory 98. A 3 × 3 pixel block surrounded by a rectangle in the figure is stored as a teacher block.
[0179]
Thereafter, the same processing is repeated for all learning images prepared in advance, whereby the learning block and the local decoding unit 1022 in FIG. 17 are the same as the 25 pixels constituting the learning block. A teacher block composed of 9 pixels, for which a predicted value is obtained using a predicted value calculation block composed of 25 correction data having a positional relationship, includes a learning data memory 96, a teacher data memory 98, Are stored at the same address.
[0180]
In the learning data memory 96 and the teacher data memory 98, a plurality of information can be stored at the same address, whereby a plurality of learning blocks and a teacher data are stored at the same address. Blocks can be stored.
[0181]
When the learning blocks and the teacher blocks for all the learning images are stored in the learning data memory 96 and the teacher data memory 98, the switch 95 that has selected the terminal a is switched to the terminal b. The output of the counter 97 is supplied to the learning data memory 96 and the teacher data memory 98 as addresses. The counter 97 counts a predetermined clock and outputs the count value. In the learning data memory 96 or the teacher data memory 98, a learning block or a teacher block stored at an address corresponding to the count value is stored. It is read out and supplied to the arithmetic circuit 99.
[0182]
Accordingly, the arithmetic circuit 99 is supplied with a set of learning blocks of a class corresponding to the count value of the counter 97 and a set of teacher blocks.
[0183]
When the arithmetic circuit 99 receives a set of learning blocks and a set of teacher blocks for a certain class, the arithmetic circuit 99 uses them to calculate a prediction coefficient that minimizes the error by, for example, the least square method.
[0184]
That is, for example, the pixel values of the pixels constituting the learning block are now expressed as x1, X2, XThree, ..., and the prediction coefficient to be obtained is w0, W1, W2, WThree,..., In order to obtain the pixel value y of a certain pixel constituting the teacher block by these linear linear combinations, the prediction coefficient w0, W1, W2, WThree,... Must satisfy the following equation corresponding to equation (1).
[0185]
y = w1x1+ W2x2+ WThreexThree+ ... + w0
[0186]
Therefore, in the arithmetic circuit 99, the predicted value w for the true value y is calculated from the learning blocks of the same class and the corresponding teacher blocks.1x1+ W2x2+ WThreexThree+ ... + w0Prediction coefficient w that minimizes the square error of1, W2, WThree, ..., w0Is obtained by building and solving a normal equation corresponding to the above-described equation (7).
[0187]
The prediction coefficient for each class obtained by the arithmetic circuit 99 is supplied to the memory 100. In addition to the prediction coefficient from the arithmetic circuit 99, the memory 100 is supplied with a count value from the counter 97. Thus, in the memory 100, the prediction coefficient from the arithmetic circuit 99 becomes the count value from the counter 97. Stored at the corresponding address.
[0188]
As described above, the memory 100 stores the optimum prediction coefficient for predicting the pixel of the block of the class at the address corresponding to each class.
[0189]
The prediction coefficient ROM 81 in FIG. 17 stores the prediction coefficient stored in the memory 100 as described above.
[0190]
Next, FIG. 20 illustrates a third functional configuration example of the transmission device 1 of FIG. In the figure, parts corresponding to those in FIG. 3 are denoted by the same reference numerals. That is, the transmission apparatus 1 is provided with a local decoding unit 2022 or a determination unit 2024 instead of the local decoding unit 22 or the determination unit 24, respectively, except that the multiplexing unit 25 is not provided. The configuration is the same as in FIG.
[0191]
However, also in this case, the original image data is not supplied to the local decoding unit 2022 as in the case of FIG. Furthermore, in the embodiment of FIG. 20, the local decoding unit 2022 is configured not to output the prediction coefficient to the determination unit 2024.
[0192]
Next, the operation will be described with reference to the flowchart of FIG.
[0193]
When the image data is supplied to the compression unit 21, the compression unit 21 compresses the image data by thinning it out in step S1001, and further limits the level in step S1002. Are output to the local decoding unit 2022 and the determination unit 2024. In step S1003, the local decoding unit 2022 locally decodes the correction data from the compression unit 21 (initially, only the level of compressed data obtained by simply thinning out image data as described above). .
[0194]
That is, in step S1003, the correction data from the compression unit 21 is locally decoded, for example, in the same manner as in the local decoding unit 1022 shown in FIG. 17, thereby calculating the predicted value of the original image. This predicted value is supplied to the error calculation unit 23.
[0195]
In step S1004, the error calculation unit 23 calculates a prediction error in the same manner as in step S4 of FIG. 4, and supplies the prediction error to the determination unit 2024 as error information. When receiving the error information from the error calculation unit 23, the determination unit 2024 determines whether or not the error information from the error calculation unit 23 is equal to or less than a predetermined threshold ε in step S1005, as in step S4 of FIG. judge. If it is determined in step S1005 that the error information is not equal to or less than the predetermined threshold ε, the process proceeds to step S1006, and the determination unit 2024 controls the compression unit 21 to thereby correct the compressed data level. . Then, the compression unit 21 corrects the compressed data and waits for new correction data to be output, and the process returns to step S1003.
[0196]
On the other hand, when it is determined in step S1005 that the error information is equal to or smaller than the predetermined threshold ε, the determination unit 2024 proceeds to step S1007, and corrects the correction data when error information equal to or smaller than the predetermined threshold ε is obtained. The optimum compressed data is output to the transmitter / recording device 16 (FIG. 2), and the process ends.
[0197]
Accordingly, the prediction coefficient for each class is not output here.
[0198]
Next, FIG. 22 shows a configuration example of the local decoding unit 2022 of FIG. In the figure, portions corresponding to those in FIG. 17 are denoted by the same reference numerals. That is, the local decoding unit 2022 is basically configured similarly to the local decoding unit 1022 in FIG.
[0199]
However, in FIG. 17, the prediction coefficient ROM 81 supplies the prediction coefficient for each class stored therein to the determination unit 24, but in FIG. 22, the prediction coefficient ROM 81 predicts for each class. The coefficient is not supplied to the determination unit 24.
[0200]
Next, the operation will be described with reference to the flowchart of FIG.
[0201]
The local decoding unit 2022 performs the same processing in steps S2021 to S2024 as in steps S1021 to 1024 in FIG. In step S2025, only the prediction value obtained in step S2024 is supplied to the error calculation unit 23 (the prediction coefficient is not supplied to the determination unit 2024), and the process returns to step S2021. 1 frame is repeated.
[0202]
Next, FIG. 24 illustrates a configuration example of the determination unit 2024 in FIG. In the figure, portions corresponding to those in FIG. 13 are denoted by the same reference numerals. That is, as described above, since the prediction coefficient is not supplied from the local decoding unit 2022, the determination unit 2024 is not provided with the prediction coefficient memory 61 for storing the prediction coefficient. Basically, the configuration is the same as the determination unit 24 of FIG.
[0203]
Next, the operation will be described with reference to the flowchart of FIG.
[0204]
In the determination unit 2024, the same processing as in steps S41 to S45 of FIG. 14 is performed in steps S2041 to 2045, and thereby the compression unit 21 is controlled so that the error information is reduced.
[0205]
Then, by repeating the processing of steps S2041 to S2045, the error information is reduced. When it is determined in step S2042 that the current error information is smaller than the predetermined threshold ε, the process proceeds to step S2046, and the control is performed. The circuit 65 reads out one frame of correction data stored in the correction data memory 62 as optimum compressed data, supplies it to the transmitter / recording device 16, and ends the processing.
[0206]
After that, waiting for the error information for the next frame to be supplied, the same processing is repeated again.
[0207]
Next, FIG. 26 illustrates a configuration example of the reception device 4 when the transmission device 1 is configured as illustrated in FIG. In the figure, portions corresponding to those in FIG. 15 are denoted by the same reference numerals. That is, the receiving apparatus 4 in FIG. 26 is configured basically in the same manner as in FIG. 15 except that a prediction coefficient ROM 78 is newly provided between the class classification circuit 75 and the prediction circuit 76.
[0208]
When the transmission apparatus 1 is configured as shown in FIG. 20, the encoded data output from the receiver / reproduction apparatus 71 does not include the prediction coefficient for each class because of the above description. In the separating unit 72, only the correction data (optimum compressed data) is extracted from the encoded data and supplied to the class classification blocking circuit 73 and the prediction value calculation blocking circuit 77.
[0209]
In the class classification blocking circuit 73, the class classification circuit 75, or the prediction value calculation blocking circuit 77, the class classification blocking circuit 41, the class classification circuit 45, or the prediction value calculation blocking circuit 42 in FIG. 8 respectively. Thus, the prediction value calculation block forming circuit 77 outputs a 5 × 5 pixel prediction value calculation block, and the class classification circuit 75 outputs class information. The prediction value calculation block is supplied to the prediction circuit 76, and the class information is supplied to the prediction coefficient ROM 78.
[0210]
The same coefficient as the prediction coefficient for each class stored in the prediction coefficient ROM 81 of FIG. 22 is stored in the prediction coefficient ROM 78, and when class information is supplied from the class classification circuit 75, it corresponds to the class information. The 26 × 9 prediction coefficient is read and supplied to the prediction circuit 76.
[0211]
The prediction circuit 76 uses the 26 × 9 prediction coefficient from the prediction coefficient ROM 78 and the correction data constituting the prediction value calculation block of 5 × 5 pixels supplied from the prediction value calculation blocking circuit 77, and uses the equation According to (1), a predicted value of 3 × 3 pixels of the original image is calculated, and an image of one frame composed of such predicted values is output as a decoded image.
[0212]
When the transmission apparatus 1 is configured as shown in FIG. 20 and the reception apparatus 4 is configured as shown in FIG. 26, it is not necessary to transmit / receive 26 × 9 prediction coefficients for each class. The transmission capacity or recording capacity can be reduced by that amount.
[0213]
The prediction coefficient ROMs 78 and 81 can store the average value of the pixel values constituting the teacher block for each class, instead of storing the prediction coefficient for each class. In this case, when class information is given, a pixel value corresponding to the class is output. In the local decoding units 1022 and 2022 in FIGS. 82 can be dispensed with. Similarly, in the receiving device 4 of FIG. 26, the predicted value calculation blocking circuit 77 and the prediction circuit 76 need not be provided.
[0214]
In the above case, the correction of the compressed data is repeatedly performed until the error information becomes equal to or smaller than the predetermined threshold value ε. However, an upper limit may be set for the number of times of correction of the compressed data. Is possible. That is, for example, when image transmission is performed in real time, processing for one frame needs to be completed within a predetermined period, but error information converges within such a predetermined period. Not always. Therefore, by setting an upper limit on the number of corrections, if the error information does not converge below the threshold ε within a predetermined period, the processing for that frame is terminated (the correction data at that time is used as the encoding result). ), It is possible to start processing for the next frame.
[0215]
In the above-described case, the compression unit 21 simply thins out the image, that is, extracts the central pixel in a 3 × 3 pixel block and uses this as compressed data. In addition, for example, the average value of the nine pixels constituting the block is obtained, and the average value is set as the pixel value of the central pixel in the block, thereby reducing the number of pixels (decimation) and compressing this. It is also possible to use data.
[0216]
Next, FIG. 27 illustrates a fourth functional configuration example of the transmission device 1 of FIG.
[0217]
Image data to be encoded is input to the block forming circuit 111. The block forming circuit 111 is a unit for classifying image data into a predetermined class according to its property. Blocks are classified into blocks for class classification centered on pixels, and supplied to an ADRC (Adaptive Dynamic Range Coding) processing circuit 112 and a delay circuit 115.
[0218]
The ADRC processing circuit 112 performs ADRC processing on the block (class classification block) from the blocking circuit 111 and supplies a block composed of the resulting ADRC code to the class classification circuit 113. ing.
[0219]
Here, according to the ADRC processing, the number of bits of the pixels constituting the class classification block is reduced.
[0220]
That is, for example, in order to simplify the description, as shown in FIG. 28A, when a block composed of four pixels arranged on a straight line is considered, in ADRC processing, the maximum value of the pixel value is considered. MAX and minimum value MIN are detected. Then, DR = MAX−MIN is set as the local dynamic range of the block, and the pixel values of the pixels constituting the block are requantized to K bits based on the dynamic range DR.
[0221]
That is, the minimum value MIN is subtracted from each pixel value in the block, and the subtracted value is converted into DR / 2.KDivide by. Then, it is converted into a code (ADRC code) corresponding to the division value obtained as a result. Specifically, for example, when K = 2, as shown in FIG. 28B, the division value has a dynamic range DR of 4 (= 22) It is determined which range is obtained by equally dividing, and the division value is the range of the lowest level, the range of the second level from the bottom, the range of the third level from the bottom, or the top In the case of belonging to the level range, for example, each bit is encoded into 2 bits such as 00B, 01B, 10B, or 11B (B represents a binary number). On the decoding side, the ADRC code 00B, 01B, 10B, or 11B is the center value L of the lowest level range obtained by dividing the dynamic range DR into four equal parts.00, Center value L of the second level range from the bottom01, Center value L of the third level range from the bottomTenOr the center value L of the range of the highest level11And the minimum value MIN is added to the value to perform decoding.
[0222]
Here, such ADRC processing is called non-edge matching.
[0223]
The details of the ADRC processing are disclosed in, for example, Japanese Patent Application Laid-Open No. 3-53778 filed by the applicant of the present application.
[0224]
According to the ADRC processing as described above, the number of bits can be reduced by performing re-quantization with the number of bits smaller than the number of bits allocated to the pixels constituting the block.
[0225]
Returning to FIG. 27, the class classification circuit 113 performs a class classification process for classifying the block from the ADRC processing circuit 112 into a predetermined class according to its property, and class information indicating which class the block belongs to. Is supplied to the mapping coefficient memory 114.
[0226]
Here, when 8 bits are allocated to the image data to be encoded, for example, when the class classification block is composed of 9 pixels of 3 × 3 centered on the target pixel, for example, If class classification processing is performed on a simple class classification block, (28)9It will be classified into a huge number of classes.
[0227]
Therefore, as described above, the ADRC processing circuit 112 is configured to perform ADRC processing on the class classification block, thereby reducing the number of bits of pixels constituting the class classification block. Furthermore, the number of classes is also reduced. That is, when the ADRC processing circuit 112 performs, for example, 1-bit ADRC processing, the number of classes is (28)9From (21)9That is, it is reduced to 512.
[0228]
In the present embodiment, the class classification circuit 113 performs the class classification process based on the ADRC code output from the ADRC processing circuit 112. However, the class classification process may be, for example, DPCM (predictive coding). ), BTC (Block Truncation Coding), VQ (Vector Quantization), DCT (Discrete Cosine Transform), Hadamard Transform, and the like.
[0229]
Returning to FIG. 27 again, the mapping coefficient memory 114 stores the mapping coefficient for each class obtained by learning (mapping coefficient learning) as will be described later, and corresponds to the class information supplied from the class classification circuit 113. The mapping coefficient is read out and supplied to the arithmetic circuit 116.
[0230]
The delay circuit 115 delays the block supplied from the block forming circuit 111 until the mapping coefficient corresponding to the class information of the block is read from the mapping coefficient memory 114, and supplies the block to the arithmetic circuit 116. .
[0231]
The arithmetic circuit 116 performs a predetermined operation using the pixel values of the pixels constituting the block supplied from the delay circuit 115 and the mapping coefficient corresponding to the class of the block supplied from the mapping coefficient memory 114. Thus, encoded data obtained by encoding (reducing) the number of pixels of the image is calculated. That is, the arithmetic circuit 116 calculates the pixel value of each pixel constituting the block output from the blocking circuit 111 as y.1, Y2,... And the mapping coefficient corresponding to the class of the block output from the mapping coefficient memory 114 is k.1, K2,..., A predetermined function value f (y1, Y2, ..., k1, K2,...) And the function value f (y1, Y2, ..., k1, K2,... Are output as, for example, the pixel value of the center pixel among the pixels constituting the block (class classification block) output by the blocking circuit 111.
[0232]
Accordingly, assuming that the number of pixels constituting the class classification block output from the blocking circuit 111 is N pixels, the arithmetic circuit 116 thins out the image data to 1 / N and outputs this as encoded data. ing.
[0233]
Note that the encoded data output from the arithmetic circuit 116 is not obtained by a simple thinning process in which one pixel at the center of a block composed of N pixels is selected and output. Thus, the function value f (y) defined by the N pixels constituting the block1, Y2, ..., k1, K2,..., But this function value f (y1, Y2, ..., k1, K2From a different viewpoint, it can be considered that the pixel value of the pixel at the center of the block obtained by simple thinning processing is corrected based on the peripheral pixel values. Therefore, the encoded data, which is data obtained as a result of the operation of the mapping coefficient and the pixels constituting the block, is also referred to as correction data as appropriate hereinafter.
[0234]
Further, the arithmetic processing in the arithmetic circuit 116 is performed by calculating the pixel value of each pixel constituting the class classification block output from the blocking circuit 111 as a function value f (y1, Y2, ..., k1, K2,...)) Can also be considered as mapping (mapping) processing. Therefore, the coefficient k used for such processing1, K2,... Are called mapping coefficients.
[0235]
The transmitter / recording device 118 records correction data supplied as encoded data from the arithmetic circuit 116 on the recording medium 2 or transmits it via the transmission path 3.
[0236]
Next, the operation will be described with reference to the flowchart of FIG.
[0237]
For example, image data is supplied to the block forming circuit 111 in units of one frame (field). In the block forming circuit 111, in step S61, one frame image is blocked in a class classification block. It becomes. That is, the blocking circuit 111 divides the image data into 3 × 3 (horizontal × vertical) 9 class classification blocks centered on the pixel of interest as shown in FIG. Then, the signals are sequentially supplied to the ADRC processing circuit 112 and the delay circuit 115.
[0238]
In this case, the class classification block is configured by a square block of 3 × 3 pixels. However, the shape of the class classification block does not have to be a square, for example, a rectangle Or a cross-shaped or any other shape. Further, the number of pixels constituting the class classification block is not limited to 3 × 3 9 pixels. Furthermore, the class classification block may be configured not with adjacent pixels but with distant pixels. However, the shape and the number of pixels need to match those in the case of learning (mapping coefficient learning) described later.
[0239]
When the ADRC processing circuit 112 receives the block for class classification from the blocking circuit 111, the ADRC processing circuit 112 performs, for example, 1-bit ADRC processing on the block in step S62. It is assumed that the block is configured. The class classification block subjected to ADRC processing is supplied to the class classification circuit 113.
[0240]
In the class classification circuit 113, the class classification block from the ADRC processing circuit 112 is classified in step S63, and the class information obtained as a result is supplied to the mapping coefficient memory 114 as an address. As a result, the mapping coefficient corresponding to the class information supplied from the class classification circuit 113 is read from the mapping coefficient memory 114 and supplied to the arithmetic circuit 116.
[0241]
On the other hand, the delay circuit 115 delays the class classification block from the block forming circuit 111 and waits for the mapping coefficient corresponding to the class information of the block to be read from the mapping coefficient memory 114 before being supplied to the arithmetic circuit 116. Is done. In step S64, the arithmetic circuit 116 uses the pixel value of each pixel constituting the class classification block from the delay circuit 115 and the mapping coefficient from the mapping coefficient memory 114, and uses the function value f (•) (this The parenthesis of the function f is the pixel value y1, Y2, ... and mapping coefficient k1, K2,...) Is calculated, correction data obtained by correcting the pixel value of the center pixel (center pixel) constituting the class classification block is calculated. This correction data is supplied to the level limiting circuit 117 as encoded data obtained by encoding an image.
[0242]
In step S65, the level limiting circuit 117 extracts, for example, 2 bits on the MSB side from the encoded data and supplies the extracted data to the transmitter / recorder 118. That is, when the encoded data is composed of, for example, 8 bits, the lower 6 bits are deleted, and only the upper 2 bits are supplied to the transmitter / recording device 16. In the transmitter / recording device 118, the encoded data from the level limiting circuit 117 is recorded on the recording medium 2 or transmitted via the transmission path 3 in step S66.
[0243]
In step S67, it is determined whether or not the processing for one frame of image data has been completed. If it is determined in step S67 that the processing for the image data for one frame has not been completed yet, the process returns to step S62, and the processes in and after step S62 are repeated for the next class classification block. If it is determined in step S67 that the processing for the image data for one frame has been completed, the process returns to step S61, and the processing in step S61 and subsequent steps is repeated for the next frame.
[0244]
Next, FIG. 30 illustrates a configuration example of an image processing apparatus that performs learning (mapping coefficient learning) processing for calculating the mapping coefficient stored in the mapping coefficient memory 114 of FIG.
[0245]
The memory 121 stores one or more frames of digital image data suitable for learning (hereinafter referred to as learning images as appropriate). The blocking circuit 122 reads the image data stored in the memory 121, configures the same block as the class classification block output from the blocking circuit 111 in FIG. 27, and forms an ADRC processing circuit 123 and an arithmetic circuit 125. It is made to supply to.
[0246]
The ADRC processing circuit 123 or the class classification circuit 124 performs the same processing as that in the ADRC processing circuit 112 or the class classification circuit 113 of FIG. Therefore, the class classification circuit 124 outputs the class information of the block output from the blocking circuit 122. This class information is supplied to the mapping coefficient memory 131 as an address.
[0247]
The arithmetic circuit 125 performs the same operation as in the arithmetic circuit 116 of FIG. 27 using the pixels constituting the block supplied from the block forming circuit 122 and the mapping coefficient supplied from the mapping coefficient memory 131, The correction data (function value f (·)) obtained as a result is supplied to the level limiting circuit 126. The level limiting circuit 126 limits the level of the pixel data and then outputs it to the local decoding unit 127.
[0248]
Based on the correction data supplied from the level limiting circuit 126, the local decoding unit 127 predicts the predicted value of the original learning image (the predicted value of the pixel value of the pixels constituting the block output by the blocking circuit 122). (Calculated) and supplied to the error calculation unit 128. The error calculation unit 128 reads out the pixel value (true value) of the learning image corresponding to the prediction value supplied from the local decoding unit 127 from the memory 121, and calculates the prediction error of the prediction value with respect to the pixel value of the learning image. Calculation (detection) is performed, and the prediction error is supplied to the determination unit 129 as error information.
[0249]
The determination unit 129 compares the error information from the error calculation unit 128 with a predetermined threshold value ε1, and controls the mapping coefficient setting circuit 130 in accordance with the comparison result. The mapping coefficient setting circuit 130 sets (changes) the same number of mapping coefficient sets as the number of classes obtained as a result of the class classification in the class classification circuit 124 according to the control of the determination unit 129 and supplies the set to the mapping coefficient memory 131. It is made to do.
[0250]
The mapping coefficient memory 131 temporarily stores the mapping coefficient supplied from the mapping coefficient setting circuit 130. The mapping coefficient memory 131 has storage areas that can store as many mapping coefficients (sets of mapping coefficients) as the number of classes classified in the class classification circuit 124. In each storage area, When a new mapping coefficient is supplied from the mapping coefficient setting circuit 130, the new mapping coefficient is stored instead of the already stored mapping coefficient.
[0251]
The mapping coefficient memory 131 is also configured to read the mapping coefficient stored at the address corresponding to the class information supplied from the class classification circuit 124 and supply the mapping coefficient to the arithmetic circuit 126.
[0252]
Next, the operation will be described with reference to the flowchart of FIG.
[0253]
First, in step S71, the mapping coefficient setting circuit 130 sets a set of initial values of mapping coefficients by the number of classes classified in the class classification circuit 124, and supplies it to the mapping coefficient memory 131. In the mapping coefficient memory 131, the mapping coefficient (initial value) from the mapping coefficient setting circuit 130 is stored at the address of the corresponding class.
[0254]
Then, in step S72, the blocking circuit 122 converts all of the learning images stored in the memory 121 into a 3 × 3 pixel block centered on the pixel of interest as in the blocking circuit 111 in FIG. To block. Further, the block forming circuit 122 reads the block from the memory 121 and sequentially supplies the block to the ADRC processing circuit 123 and the arithmetic circuit 125.
[0255]
In step S73, the ADRC processing circuit 123 performs 1-bit ADRC processing on the block from the blocking circuit 122, as in the case of the ADRC processing circuit 112 in FIG. The
[0256]
In step S74, the class classification circuit 124 determines the class of the block supplied from the ADRC processing circuit 123, and supplies the class information to the mapping coefficient memory 131 as an address. As a result, in step S 75, the mapping coefficient is read from the address corresponding to the class information supplied from the class classification circuit 124 in the mapping coefficient memory 131 and supplied to the arithmetic circuit 125.
[0257]
When the arithmetic circuit 125 receives the block from the blocking circuit 122 and also receives the mapping coefficient corresponding to the class of the block from the mapping coefficient memory 131, the arithmetic circuit 125 supplies the mapping coefficient and the blocking circuit 122 in step S76. The function value f (•) described above is calculated using the pixel values of the pixels constituting the block to be processed. The calculation result is supplied to the level limiting circuit 126 as correction data obtained by correcting the pixel value of the central pixel of the block output from the blocking circuit 122. If this correction bit is composed of, for example, 8 bits, in step S77, the upper 2 bits are selected from the 8-bit correction data by the level limiting circuit 126, whereby the number of bits is 2 bits. The pixel data limited to is supplied to the local decoding unit 127.
[0258]
That is, for example, assuming that a block of 3 × 3 pixels as shown in FIG. 7 surrounded by a rectangle is output from the blocking circuit 122, the arithmetic circuit 125 displays pixels indicated by ● in FIG. Correction data obtained by correcting the pixel values of the first and second pixel values is obtained, level-limited by the level limiting circuit 126, and then output to the local decoding unit 127.
[0259]
Therefore, in the arithmetic circuit 126, the pixels constituting the learning image are thinned out to 1/9 and supplied to the local decoding unit 127.
[0260]
Returning to FIG. 31, next, the process proceeds to step S <b> 78, where it is determined whether correction data has been obtained for all the learning images stored in the memory 121. If it is determined in step S78 that correction data for all learning images has not been obtained yet, the process returns to step S73, and correction data for all learning images is obtained until steps S73 to S78 are completed. Repeat the process.
[0261]
If it is determined in step S78 that correction data for all learning images has been obtained, that is, a thinned image obtained by thinning all the learning images stored in the memory 121 to 1/9 is obtained. In this case (however, this thinned image is not a learning image simply thinned to 1/9, but a pixel value is obtained by calculation with a mapping coefficient). In the decoding unit 127, the predicted value of the original learning image is calculated by locally decoding the thinned image. This predicted value is supplied to the error calculation unit 128.
[0262]
Here, an image composed of predicted values obtained in the local decoding unit 127 (however, as described later, when the error information output from the error calculation unit 128 becomes smaller than the threshold ε1) is received. This is the same as the decoded image obtained on the device 4 (FIG. 1) side.
[0263]
In step S80, the error calculation unit 128 reads the learning image from the memory 121, and calculates the prediction error of the prediction value supplied from the local decoding unit 127 for the learning image. That is, the pixel value of the learning image is set to YijAnd the predicted value output from the local decoding unit 127 is E [Yij], The error calculation unit 128 calculates an error variance (sum of squares of error) Q represented by the following equation, and supplies this to the determination unit 129 as error information.
[0264]
Q = Σ (Yij-E [Yij])2
However, in the above equation, Σ represents summation for all the pixels of the learning image.
[0265]
When receiving the error information from the error calculation unit 128, the determination unit 129 compares the error information with a predetermined threshold value ε1, and determines the magnitude relationship in step S81. If it is determined in step S81 that the error information is greater than or equal to the threshold ε1, that is, the image composed of the predicted values obtained in the local decoding unit 127 is not recognized as being the same as the original learning image. In this case, the determination unit 129 outputs a control signal to the mapping coefficient setting circuit 130. In step S82, the mapping coefficient setting circuit 130 changes the mapping coefficient according to the control signal from the determination unit 129, and newly stores the changed mapping coefficient in the mapping coefficient memory 131.
[0266]
Then, the process returns to step S73, and the processing after step S73 is repeated again using the changed mapping coefficient stored in the mapping coefficient memory 131.
[0267]
Here, the mapping coefficient setting circuit 130 may change the mapping coefficient at random, and if the current error information becomes smaller than the previous error information, the same tendency as the previous time is observed. When the error information of this time becomes larger than the previous error information, it can be changed with a tendency reverse to that of the previous time.
[0268]
Further, the mapping coefficient can be changed for all classes or only for some of the classes. In the case of changing only the mapping coefficients for some classes, for example, a class having a strong influence on error information can be detected, and only the mapping coefficients for such classes can be changed. The class having a strong influence on the error information can be detected as follows, for example. That is, first, the error information is obtained by performing processing using the initial value of the mapping coefficient. Then, the mapping coefficient is changed by the same amount for each class, and the error information obtained as a result is compared with the error information obtained when the initial value is used, and the difference becomes a predetermined value or more. The class may be detected as a class having a strong influence on the error information.
[0269]
In addition, when there are a plurality of mapping coefficients such as k1, k2,... Described above, only the one having a strong influence on the error information can be changed. .
[0270]
Furthermore, in the above-described case, the mapping coefficient is set for each class. However, the mapping coefficient is set separately for each block, for example, or in units of adjacent blocks. It is possible to make it.
[0271]
However, when mapping coefficients are set independently for each block, for example, multiple sets of mapping coefficients may be obtained for a certain class (conversely, mapping coefficients). However, there may be classes that cannot be obtained in one set). Since the mapping coefficients need to be finally determined for each class, as described above, when multiple sets of mapping coefficients are obtained for a certain class, multiple mapping coefficients are obtained. For example, it is necessary to determine a set of mapping coefficients by performing some processing such as merging or selection.
[0272]
On the other hand, when it is determined in step S81 that the error information is smaller than the threshold value ε1, that is, when the image composed of the prediction values obtained in the local decoding unit 127 is recognized to be the same as the original learning image. The process is terminated.
[0273]
At this time, it is optimal to obtain correction data that can restore a decoded image (predicted value) in which the mapping coefficient for each class stored in the mapping coefficient memory 131 is recognized to be the same as the original image. As a thing, it is set to the mapping coefficient memory 114 of FIG.
[0274]
Therefore, by generating correction data using such a mapping coefficient, it is possible to obtain an image that is substantially the same as the original image on the receiving device 4 (FIG. 1) side.
[0275]
Here, in the embodiment of FIG. 30, as described above, the blocking circuit 122 blocks the image into 3 × 3 9 pixels, and the ADRC processing circuit 123 performs 1-bit ADRC processing. Therefore, the number of classes obtained by the class classification by the class classification circuit 124 is 512 (= (21)9Thus, 512 sets of mapping coefficients are obtained.
[0276]
In FIG. 30, the block supplied to the class classification circuit 124 via the ADRC processing circuit 123 and the block supplied to the arithmetic circuit 125 are not necessarily the same. This is the same for the block supplied to the class classification circuit 113 and the block supplied to the arithmetic circuit 116 in FIG. However, the blocks supplied to the class classification circuits 113 and 124 need to be the same, and the blocks supplied to the arithmetic circuits 116 and 125 need to be the same.
[0277]
Next, FIG. 32 shows a configuration example of the local decoding unit 127 of FIG.
[0278]
The correction data from the level limiting circuit 126 is supplied to the class classification blocking circuit 141 and the prediction value calculation blocking circuit 142. The class classification blocking circuit 141 is configured to block the correction data into a class classification block centering on the target correction data, which is a unit for classifying the correction data into a predetermined class according to its property. .
[0279]
That is, as described above, in FIG. 7, the i-th correction data (compressed data) (or pixel) (or pixel) (the portion indicated by ● in the figure) from the top and the j-th from the left is X.ijIn this case, the class classification blocking circuit 141 uses the target pixel (target correction data) XijFour pixels X adjacent to the top, left, right, and bottom(i-1) j, Xi (j-1), Xi (j + 1), X(i-1) jIn addition, a class classification block including a total of five pixels including itself is generated. This class classification block is supplied to the class classification circuit 144.
[0280]
Note that the class classification block obtained in the class classification blocking circuit 141 in FIG. 32 is configured to determine a class of a block for which a prediction value is to be obtained. At this point, a block for calculating correction data Is different from that generated by the blocking circuit 111 of FIG.
[0281]
The prediction value calculation blocking circuit 142 converts the correction data into a prediction value calculation block centering on the target correction data, which is a unit for calculating the prediction value of the original image (here, the learning image). It is made to block. That is, in the present embodiment, for example, the correction data XijA pixel value Y of 3 × 3 pixels in the original image (original image)ij(1), Yij(2), Yij(3), Yij(4), Yij(5), Yij(6), Yij(7), Yij(8), YijThe predicted value of (9) is pixel Xij5 × 5 25 pixels X centered on(i-2) (j-2), X(i-2) (j-1), X(i-2 ) j, X(i-2) (j + 1), X(i-2) (j + 2), X(i-1) (j-2), X(i-1) (j-1), X(i-1) j, X(i-1) (j + 1), X(i-1) (j + 2), Xi (j-2), Xi (j-1), Xij, Xi (j + 1), Xi (j + 2), X(i + 1) (j-2), X(i + 1) (j-1), X(i + 1) j, X(i + 1) (j + 1), X(i + 1) (j + 2), X(i + 2) (j-2), X(i + 2) (j-1), X(i + 2) j, X(i + 2) (j + 1), X(i + 2) (j + 2)The predicted value calculation block forming circuit 142 generates such a square-shaped predicted value calculation block composed of 25 pixels.
[0282]
Specifically, for example, the pixel Y in the original image surrounded by a rectangle in FIG.33(1) to Y33For the calculation of the predicted value of (9), 25 pixels (correction data) X11, X12, X13, X14, X15, Xtwenty one, Xtwenty two, Xtwenty three, Xtwenty four, Xtwenty five, X31, X32, X33, X34, X35, X41, X42, X43, X44, X45, X51, X52, X53, X54, X55Thus, a prediction value calculation block is configured.
[0283]
The prediction value calculation block obtained in the prediction value calculation block forming circuit 142 is supplied to the prediction circuit 146.
[0284]
Note that the number of pixels and the shape of the prediction value calculation block are not limited to those described above, as in the case of the class classification block. However, in the local decoding unit 127, it is desirable that the number of pixels constituting the prediction value calculation block is larger than the number of pixels constituting the class classification block.
[0285]
The class classification circuit 144 classifies the blocks from the class classification blocking circuit 141 and supplies class information as a classification result to the prediction coefficient ROM 145. The prediction coefficient ROM 145 stores a prediction coefficient for each class. When class information is received from the class classification circuit 144, the prediction coefficient ROM 145 reads the prediction coefficient stored at the address corresponding to the class information and supplies the prediction coefficient to the prediction circuit 146. It is made like that. Note that the prediction coefficients stored in the prediction coefficient ROM 145 are obtained by the prediction coefficient learning described with reference to FIG.
[0286]
The prediction circuit 146 calculates (predicts) a predicted value of the original image (learning image) using the predicted value calculation block from the predicted value calculation blocking circuit 142 and the prediction coefficient from the prediction coefficient ROM 145. It is made to do.
[0287]
Next, the operation will be described with reference to the flowchart of FIG.
[0288]
In the local decoding unit 127, first, in step S91, the correction data from the level limiting circuit 126 is sequentially received and blocked. That is, in the class classification blocking circuit 141, the correction data is blocked into a 5-pixel class classification block centered on the correction data of interest and supplied to the class classification circuit 144, and the prediction value calculation block is formed. In the circuit 142, the correction data is blocked into prediction value calculation blocks of 5 × 5 pixels centered on the target correction data and supplied to the prediction circuit 146.
[0289]
The class classification blocking circuit 141 and the prediction value calculation blocking circuit 142 generate corresponding class classification blocks and prediction value calculation blocks. That is, in the class classification blocking circuit 141, for example, the correction data X in FIG.33When the block for class classification of 5 pixels centered on is generated, the correction data X33A prediction value calculation block of 5 × 5 pixels centering on is generated.
[0290]
In step S92, the class classification circuit 144 performs class classification processing on the class classification block. That is, the level distribution state of correction data constituting the class classification block is detected, and the class to which the class classification block belongs (the class of attention correction data constituting the class classification block) is determined. This class determination result is supplied to the prediction coefficient ROM 145 as class information.
[0291]
In this case as well, since class classification processing is performed on a class classification block composed of 5 pixels in which one pixel is represented by 2 bits, each class classification block has 512 (= (22)Five) In one of the classes.
[0292]
In step S93, the prediction coefficient is read from the address corresponding to the class information from the class classification circuit 144 in the prediction coefficient ROM 145. In step S94, the prediction circuit 146 calculates the prediction coefficient and the prediction value. Using the 25 pixel values constituting the prediction value calculation block from the blocking circuit 142, for example, according to the following linear linear expression corresponding to the expression (1), the pixel value y of the original image A predicted value E [y] is calculated.
[0293]
E [y] = w1x1+ W2x2+ ... + wtwenty fivextwenty five+ W0
However, w1, W2, ..., w0Represents the prediction coefficient, x1, X2,... Represent pixel values (correction data) of pixels constituting the prediction value calculation block. W0Is essentially 8-bit data xiIs an offset coefficient added to express E [y] with 8 bits since it has been converted to 2-bit data. As described above, the coefficient w multiplied with the correction data is1, W2,... Are treated as prediction coefficients.
[0294]
Here, in the embodiment of FIG. 32, as described above, a predicted value of 9 pixels is calculated from the 25 pixels constituting the predicted value calculation block.
[0295]
That is, for example, the correction data X shown in FIG.333 × 3 correction data X centered ontwenty twoTo Xtwenty four, X32To X34, X42To X44Is output from the class classification circuit 144, and the correction data X is used as a prediction value calculation block.335 × 5 pixel correction data X centered at11To X15, Xtwenty oneTo Xtwenty five, X31To X35, X41To X45, X51To X55It is assumed that the predicted value calculation block consisting of is output from the predicted value calculation blocking circuit 142.
[0296]
Furthermore, the prediction coefficient ROM 145 stores w as a set of prediction coefficients at the address corresponding to the class information C.0(K) to wtwenty fiveAssume that (k) is stored.
[0297]
In this case, correction data X33A pixel value Y of 3 × 3 pixels (portion surrounded by a rectangle in FIG. 7) in the original image centered on33(1) to Y33Predicted value E [Y of (9)33(1)] to E [Y33(9)] is calculated according to the following equation.
[0298]
Figure 0003952326
[0299]
In step S94, predicted values are obtained in units of nine as described above. When a predicted value for one frame is obtained in this way, the predicted value is supplied to the error calculating unit 128 in step S95. Is done. Then, the process returns to step S91, and the processes of steps S91 to S95 are repeated thereafter.
[0300]
Note that the image processing apparatus that performs learning (prediction coefficient learning) for obtaining the prediction coefficient stored in the prediction coefficient ROM 145 of FIG. 32 has the same configuration as that shown in FIG. Therefore, the description is omitted.
[0301]
Next, FIG. 34 shows another configuration example of the image processing apparatus that performs learning (mapping coefficient learning) processing for calculating the mapping coefficient stored in the mapping coefficient memory 114 of FIG.
[0302]
Note that, according to the image processing apparatus of FIG. 30, optimal prediction is possible not only when the function f is expressed by, for example, a linear linear expression, but also by a nonlinear expression or a quadratic expression or higher. Although the coefficient can be obtained, the image processing apparatus of FIG. 34 can obtain the optimum prediction coefficient only when the function f is expressed by a linear linear expression.
[0303]
That is, the image processing apparatus in FIG. 34 uses the pixel value of each pixel constituting the 3 × 3 pixel block output from the blocking circuit 111 in FIG.1, Y2, ..., y9And the mapping coefficient output from the mapping coefficient memory 114 is k1, K2, ..., k9, The arithmetic circuit 116 determines that the function value f (y1, Y2, ..., k1, K2,...) Can be used when correction data is obtained.
[0304]
f (·) = k1y1+ K2y2+ ... + k9y9
[0305]
The optimum correction data calculation unit 160 is supplied with learning images suitable for learning, for example, in units of one frame. For example, 8 bits are allocated to the pixels constituting the learning image. The optimum correction data calculation unit 160 includes a compression unit 170, a level control unit 171, a correction unit 172, a local decoding unit 173, an error calculation unit 174, and a determination unit 175. From the learning image input thereto, A pixel value (hereinafter referred to as optimum correction data as appropriate) which is an image compressed with a reduced number of pixels and which is optimal for predicting the original image is calculated and supplied to the latch circuit 176. Has been made.
[0306]
That is, the learning image supplied to the optimum correction data calculation unit 160 is supplied to the compression unit 170 and the error calculation unit 174. The compression unit 170 simply thins out the learning image at the same rate as the arithmetic circuit 116 of FIG. 27 thins out the pixels. In other words, the compression unit 170 simply thins out the learning image into 1/9 in this embodiment. (When 9 pixels of 3 × 3 are defined as one block, only the pixel at the center of the block is extracted), whereby the learning image is compressed and supplied to the level limiting unit 171. Similarly to the level limiting circuit 117 of FIG. 27, the level limiting unit 171 limits the level of 8-bit pixel data, and then outputs it to the correction unit 172.
[0307]
The correction unit 172 selects the upper 2 bits from the 8-bit compressed data that is supplied from the level limiting unit 171 and is subjected to simple thinning and compressed in the spatial direction. Is corrected in accordance with control from the determination unit 175 (hereinafter, simply referred to as compressed data as appropriate). Data obtained as a result of correction in the correction unit 172 (this data is also obtained by correcting the pixel value of the central pixel of the 3 × 3 pixel block, similarly to the output of the arithmetic circuit 116 in FIG. 27. , Correction data) is supplied to the local decoding unit 173.
[0308]
The local decoding unit 173 predicts the original image (learning image) based on the correction data from the correction unit 172 in the same manner as in the local decoding unit 127 of FIG. The unit 174 is supplied.
[0309]
The error calculation unit 174 calculates the prediction error of the prediction value from the local decoding unit 173 with respect to the original image data input thereto, in the same manner as in the error calculation unit 128 of FIG. Yes. This prediction error is supplied to the determination unit 175 as error information.
[0310]
The determination unit 175 uses the correction data output from the correction unit 172 as the compression result of the original image based on the error information from the error calculation unit 174 in the same manner as in the determination unit 129 of FIG. Appropriateness is determined. If the determination unit 175 determines that the correction data output from the correction unit 172 is not appropriate as the compression result of the original image, the determination unit 175 controls the correction unit 172 to further correct the compressed data. The new correction data obtained as a result is output. In addition, when the determination unit 175 determines that the correction data output from the correction unit 172 is appropriate as the compression result of the original image, the determination unit 175 uses the correction data supplied from the correction unit 172 as an optimal correction. The data is supplied to the latch circuit 176.
[0311]
The latch circuit 176 has a built-in memory 176A, and the optimum correction data supplied from the correction unit 172 is stored in the memory 176A. Further, the latch circuit 176 reads out the optimum correction data stored in the memory 176A corresponding to the central pixel of the block read from the memory 177A of the blocking circuit 177 and supplies it to the memory 180. . Note that when the correction data for one frame is stored in the memory 176A, the latch circuit 176 outputs a control signal indicating that to the blocking circuit 177.
[0312]
Similar to the optimum correction data calculation unit 160, the blocking circuit 177 is supplied with learning images in units of one frame. The block forming circuit 177 has a built-in memory 177A, and the learning image supplied thereto is stored in the memory 177A. Further, when receiving the control signal from the latch circuit 176, the blocking circuit 177 includes the learning image stored in the memory 177A with 3 × 3 pixels as in the blocking circuit 111 in FIG. The block is divided into blocks, and the blocks are sequentially read out and supplied to the ADRC processing circuit 178 and the memory 180.
[0313]
The blocking circuit 177 supplies a control signal indicating the position of the block to the latch circuit 176 when reading the block from the built-in memory 177A. Based on this control signal, the latch circuit 176 recognizes a 3 × 3 pixel block read from the memory 177A, and as described above, optimum correction data corresponding to the center pixel of the block is read from the memory 176A. It is made like that. That is, as a result, a certain 3 × 3 pixel block and optimum correction data corresponding to the block are simultaneously supplied to the memory 180.
[0314]
The ADRC processing circuit 178 or the class classification circuit 179 is configured similarly to the ADRC processing circuit 112 or the class classification circuit 113 shown in FIG. The class information about the block from the blocking circuit 177 output from the class classification circuit 179 is supplied to the memory 180 as an address.
[0315]
The memory 180 stores the optimum correction data supplied from the latch circuit 176 and the block supplied from the blocking circuit 177 in association with the address corresponding to the class information supplied from the class classification circuit 179. Has been made. Note that the memory 180 can store a plurality of pieces of information at one address so that a plurality of sets of optimum correction data and blocks corresponding to certain class information can be stored. Has been made.
[0316]
The arithmetic circuit 181 has nine pixels y constituting a 3 × 3 block of the learning image stored in the memory 180.1, Y2, ..., y9And the optimum correction data y ′ associated with the block, and applying the least square method to these, the mapping coefficient k for each class1Thru k9Is obtained and supplied to the memory 182. The memory 182 includes a mapping coefficient k for each class supplied from the arithmetic circuit 181.1Thru k9Is stored at an address corresponding to the class.
[0317]
Next, the operation will be described with reference to the flowchart of FIG.
[0318]
When the learning image is input, the learning image is stored in the memory 177 A of the blocking circuit 177 and supplied to the optimum correction data calculation unit 160. When receiving the learning image, the optimal correction data calculation unit 160 calculates optimal correction data for the learning image in step S101.
[0319]
The processing in step S101 is the same as the processing in the flowchart in FIG. That is, in step S101, as shown in the flowchart of FIG. 36, first, in step S111, the compression unit 170 generates compressed data by thinning out the learning image to 1/9. After the data is limited by the level limiting unit 171 in step S112, the data is first output to the local decoding unit 173 via the correction unit 172 without being corrected. In step S113, the local decoding unit 173 predicts the original image based on the correction data from the correction unit 172 (initially, as described above, the compressed image data obtained by simply thinning out and level-limiting the image data). A value is calculated (local decoding is performed). The predicted value is supplied to the error calculation unit 174.
[0320]
When the error calculation unit 174 receives the predicted value of the original image from the local decoding unit 173, in step S114, the error calculation unit 174 calculates the prediction error of the predicted value from the local decoding unit 173 for the original image data, and as error information. , And supplied to the determination unit 175. When the determination unit 175 receives the error information from the error calculation unit 174, in step S115, the determination unit 175 determines whether the correction data output from the correction unit 172 is the compression result of the original image based on the error information. judge.
[0321]
That is, in step S115, it is determined whether the error information is equal to or less than a predetermined threshold value ε. If it is determined in step S115 that the error information is not equal to or less than the predetermined threshold ε, it is recognized that the correction data output from the correction unit 172 is not appropriate to be the compression result of the original image, and the process proceeds to step S116. The determination unit 175 controls the correction unit 172, thereby correcting the compressed data output from the level limiting unit 171. The correction unit 172 changes the correction amount (correction value Δ) according to the control of the determination unit 175, corrects the compressed data, and outputs the correction data obtained as a result to the local decoding unit 173. Then, the process returns to step S113, and the same processing is repeated thereafter.
[0322]
The compressed data can be corrected, for example, in the same manner as in the case of FIG.
[0323]
On the other hand, if it is determined in step S115 that the error information is equal to or smaller than the predetermined threshold ε, it is recognized that it is appropriate to use the correction data output from the correction unit 172 as the compression result of the original image. The unit 175 causes the correction data when the error information equal to or smaller than the predetermined threshold ε is obtained to be output as optimum correction data from the correction unit 172 to the latch circuit 176, stores it in the built-in memory 176A, and returns. .
[0324]
As described above, the correction data obtained by correcting the compressed data when the error information is equal to or smaller than the predetermined threshold ε is stored in the memory 176A as the optimum correction data. Since this optimum correction data has error information that is equal to or less than a predetermined threshold value ε, by using this to calculate a predicted value, an image that is substantially the same as the original image (original image) is obtained. be able to.
[0325]
Returning to FIG. 35, when the optimal correction data for one frame is stored in the memory 176 </ b> A, the latch circuit 176 outputs a control signal to the blocking circuit 177. When receiving the control signal from the latch circuit 176, the blocking circuit 177 divides the learning image stored in the memory 177A into blocks composed of 3 × 3 pixels in step S102. Then, the blocking circuit 177 reads out the learning image block stored in the memory 177 A and supplies it to the ADRC processing circuit 178 and the memory 180.
[0326]
At the same time, when the block forming circuit 177 reads the block from the memory 177A, the block forming circuit 177 supplies a control signal indicating the position of the block to the latch circuit 176, and the latch circuit 176 The block of 3 × 3 pixels read from 177A is recognized, and optimum correction data corresponding to the center pixel of the block is read and supplied to the memory 180.
[0327]
In step S103, the ADRC processing circuit 178 performs ADRC processing on the block from the blocking circuit 177, and the class classification circuit 179 classifies the block. The classification result is supplied to the memory 180 as an address.
[0328]
In the memory 180, the optimum correction data supplied from the latch circuit 176 and the block (learning data) supplied from the blocking circuit 177 at the address corresponding to the class information supplied from the class classification circuit 179 in step S104. Are stored in association with each other.
[0329]
Then, the process proceeds to step S105, where it is determined whether or not the block and the optimum correction data for one frame are stored in the memory 180. In step S105, when it is determined that the block and the optimum correction data for one frame are not yet stored in the memory 180, the next block is read from the blocking circuit 177 and the block is read from the latch circuit 176. The corresponding optimum correction data is read out, and the process returns to step S103, and thereafter, the processes after step S103 are repeated.
[0330]
If it is determined in step S105 that the block and the optimal correction data for one frame have been stored in the memory 180, the process proceeds to step S106, and it is determined whether or not the processing has been completed for all the learning images. If it is determined in step S106 that the processing for all the learning images has not been completed yet, the process returns to step S101, and the processing from step S101 is repeated for the next learning image.
[0331]
On the other hand, if it is determined in step S106 that the processing for all the learning images has been completed, the process proceeds to step S107, and the arithmetic circuit 181 reads out the optimum correction data and blocks stored in the memory 180 for each class. Thus, a normal equation as shown in Equation (7) is established. Further, in step S108, the arithmetic circuit 181 calculates a mapping coefficient for each class that minimizes the error by solving the normal equation. This mapping coefficient is supplied to and stored in the memory 182 in step S109, and the process ends.
[0332]
When the function f is expressed by a linear linear expression, the mapping coefficient stored in the memory 182 as described above is stored in the mapping coefficient memory 114 of FIG. 27 and is used to encode an image. It can be performed.
[0333]
Note that, depending on the class, there may be cases where the number of normal equations that can determine the mapping coefficient cannot be obtained. In such a case, in the arithmetic circuit 116 of FIG. 27, for example, a mapping coefficient that outputs, for example, an average value of 9 pixels constituting the 3 × 3 pixel block output from the blocking circuit 111, that is, k1Thru k9= 1/9 etc. are set as default values.
[0334]
Next, FIG. 37 illustrates a configuration example of the reception device 4 corresponding to the transmission device 1 of FIG.
[0335]
In the receiver / reproduction device 191, the encoded data recorded on the recording medium 2 is reproduced, or the encoded data transmitted via the transmission path 3 is received and supplied to the decoding unit 192.
[0336]
The decoding unit 192 includes class classification blocking circuits 193 to 198 corresponding to the class classification blocking circuit 141 to the prediction circuit 146 in the local decoding unit 127 shown in FIG. In the unit 192, a prediction value is obtained from the correction data in the same manner as in the local decoding unit 127 in FIG. 32, and an image composed of the prediction value is output as a decoded image.
[0337]
That is, the correction data as the encoded data output from the receiver / reproducing device 191 is sequentially supplied to the class classification blocking circuit 193 or the prediction value calculation blocking circuit 194, and the class classification blocking of FIG. In the same manner as in the circuit 141 or the prediction value calculation block forming circuit 142, each block is divided into a class classification block or a prediction value calculation block. The class classification block is supplied to the class classification circuit 196, and the prediction value calculation block is supplied to the prediction circuit 198.
[0338]
The class classification circuit 196 performs class classification processing on the class classification block from the class classification block forming circuit 193, and outputs class information to the prediction coefficient ROM 197.
[0339]
Similar to the prediction coefficient ROM 145 of FIG. 32, the prediction coefficient ROM 197 stores, for example, the prediction coefficient for each class obtained in the image processing apparatus of FIG. 19 and receives class information from the class classification circuit 196. A prediction coefficient corresponding to the class information is read and supplied to the prediction circuit 198. The prediction circuit 198 uses the prediction coefficient from the prediction coefficient ROM 197 and the correction data constituting the prediction value calculation block from the prediction value calculation block forming circuit 194 to obtain a linear primary expression corresponding to the expression (1). Therefore, the predicted value of the original image is calculated, and thereby the original image is decoded.
[0340]
As described above, the correction data has error information that is equal to or less than a predetermined threshold value. Therefore, the receiving device 4 can obtain a decoded image that is substantially the same as the original image.
[0341]
Even when the mapping coefficient is used, the reception side obtains a decoded image by performing normal interpolation on the reception side, not by the reception device 4 as shown in FIG. 37, but by a device that decodes the thinned image by interpolation. be able to. However, the decoded image obtained in this case has deteriorated image quality (resolution).
[0342]
The image processing apparatus to which the present invention is applied has been described above. Such an image processing apparatus, for example, encodes a standard system television signal such as the NTSC system, or so-called high vision with a large amount of data. This is particularly effective when encoding a television signal of a system.
[0343]
In the present embodiment, the block is formed on the image of one frame, but the block is configured by collecting pixels at the same position in a plurality of frames that are continuous in time series, for example. It is also possible to do so.
[0344]
In this embodiment, the error sum of squares is used as the error information. However, as the error information, for example, the sum of absolute values of errors or the sum of the third power or more is used. It is possible to do so. Which one is used as error information can be determined based on, for example, its convergence.
[0345]
Further, for example, in the embodiment of FIG. 10 and the like, a normal equation is created for each frame and a prediction coefficient for each class is obtained. It is also possible to build a normal equation in units or units of multiple frames. The same applies to other processes.
[0346]
The present invention can also be realized by hardware or by reading the application program from a recording medium such as a hard disk in which the application program for performing the above-described processing is recorded and causing the computer to execute it. It is.
[0347]
Further, in the present embodiment, the pixel value level is limited to the upper 2 bits, but the pixel value level may be limited to, for example, higher 3 bits or more.
[0348]
【The invention's effect】
  The image encoding device according to claim 1,Claim 7An image encoding method according to claim 1, andClaim 12According to the recording medium described in the above, by compressing the original image by reducing the number of pixels and extracting only the upper predetermined bits of the compressed data obtained by compressing the original image, the level of the compressed data , And by adding a predetermined correction value, the compressed data whose level is limited is corrected, and the correction data is output.The correction data is classified into a predetermined class according to its property and corresponds to the correction data class.By linear combination of the prediction coefficient and the correction data,By finding the predicted valueThe original image is predicted, the predicted value is output, and the prediction error of the predicted value for the original image is calculated. Then, the appropriateness of the correction data is determined by comparing the prediction error with a predetermined threshold, and the correction value is changed until it is determined that the prediction error is equal to or less than the predetermined threshold and the correction data is appropriate. Then, the process of correcting the compressed data is repeated by adding the changed correction value, and when it is determined that the prediction error is equal to or less than a predetermined threshold and the correction data is appropriate, the correction data is Since the encoding result is output, it is possible to predict a high-quality image efficiently with a small amount of data.
[0349]
  Claim 8An image processing system according to claim 1 andClaim 10According to the image processing method described in the above, the image encoding device compresses the original image by reducing the number of pixels, and extracts only the upper predetermined bits of the compressed data obtained by compressing the original image. Thus, by limiting the level of the compressed data and adding a predetermined correction value, the compressed data with the limited level is corrected and the corrected data is output,The correction data is classified into a predetermined class according to its property and corresponds to the correction data class.By linear combination of the prediction coefficient and the correction data,By finding the predicted valueThe original image is predicted, the predicted value is output, and the prediction error of the predicted value for the original image is calculated. Then, the appropriateness of the correction data is determined by comparing the prediction error with a predetermined threshold, and the correction value is changed until it is determined that the prediction error is equal to or less than the predetermined threshold and the correction data is appropriate. Then, the process of correcting the compressed data is repeated by adding the changed correction value, and when it is determined that the prediction error is equal to or less than a predetermined threshold and the correction data is appropriate, the correction data is Output as encoded data, the image decoding apparatus receives the encoded data output from the image encoding apparatus,The correction data included in the encoded data is classified into a predetermined class according to its property, the original image is predicted by linear combination of the prediction coefficient corresponding to the correction data class and the correction data, and the second data By outputting the predicted value,Since the received encoded data is decoded, the amount of encoded data is small, but it is possible to obtain a high-quality decoded image from encoded data of such a small amount of data. Become.
[0350]
  Claim 11According to the transmission method described in the above, the level of the compressed data is obtained by compressing the original image by reducing the number of pixels and extracting only the upper predetermined bits of the compressed data obtained by compressing the original image. , And by adding a predetermined correction value, the compressed data whose level is limited is corrected, and the correction data is output.The correction data is classified into a predetermined class according to its property and corresponds to the correction data class.By linear combination of the prediction coefficient and the correction data,By finding the predicted valuePredict the original image, output the prediction value, calculate the prediction error of the prediction value for the original image, compare the prediction error with a predetermined threshold, determine the appropriateness of the correction data, Until the correction data is determined to be appropriate, the correction value is changed, and the process of correcting the compressed data is repeated by adding the changed correction value until the prediction error is predetermined. If it is determined that the correction data is appropriate, the correction data is transmitted as the encoding result of the original image, so that a high-quality image can be predicted efficiently with a small amount of data. It becomes possible to do.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of an embodiment of an image processing apparatus to which the present invention is applied.
FIG. 2 is a block diagram illustrating a configuration example of the transmission device 1 of FIG.
FIG. 3 is a block diagram illustrating a first functional configuration example of the transmission device 1 of FIG. 2;
4 is a flowchart for explaining the operation of the transmission apparatus 1 of FIG. 3;
5 is a block diagram illustrating a configuration example of a compression unit 21 in FIG. 3. FIG.
6 is a flowchart for explaining the operation of the compression unit 21 in FIG. 5;
7 is a diagram for explaining processing of the thinning circuit 30 in FIG. 5; FIG.
8 is a block diagram illustrating a configuration example of a local decoding unit 22 in FIG. 3. FIG.
FIG. 9 is a diagram for explaining class classification processing;
10 is a flowchart for explaining the operation of a local decoding unit 22 in FIG. 8;
11 is a block diagram illustrating a configuration example of an error calculation unit 23 in FIG. 3;
12 is a flowchart for explaining an operation of an error calculation unit 23 of FIG.
13 is a block diagram illustrating a configuration example of a determination unit 24 in FIG. 3;
14 is a flowchart for explaining the operation of the determination unit 24 in FIG. 13;
15 is a block diagram illustrating a first configuration example of the reception device 4 in FIG. 1; FIG.
16 is a block diagram illustrating a second functional configuration example of the transmission device 1 in FIG. 2; FIG.
17 is a block diagram illustrating a configuration example of a local decoding unit 1022 in FIG.
18 is a flowchart for explaining the operation of the local decoding unit 1022 of FIG.
19 is a block diagram illustrating a configuration of an embodiment of an image processing apparatus that calculates a prediction coefficient stored in a prediction coefficient ROM 81 of FIG.
20 is a block diagram illustrating a third functional configuration example of the transmission device 1 in FIG. 2; FIG.
FIG. 21 is a flowchart for explaining the operation of the transmission apparatus 1 of FIG. 20;
22 is a block diagram illustrating a configuration example of a local decoding unit 2022 in FIG.
23 is a flowchart for explaining the operation of a local decoding unit 2022 in FIG.
24 is a block diagram illustrating a configuration example of a determination unit 2024 in FIG.
FIG. 25 is a flowchart for explaining the operation of the determination unit 2024 in FIG. 24;
26 is a block diagram illustrating a second configuration example of the reception device 4 in FIG. 1. FIG.
FIG. 27 is a block diagram illustrating a fourth functional configuration example of the transmission device 1 of FIG. 2;
FIG. 28 is a diagram for explaining ADRC processing;
29 is a flowchart for explaining the operation of the transmission apparatus 1 of FIG. 27. FIG.
FIG. 30 is a block diagram illustrating a configuration of a first embodiment of an image processing apparatus that performs learning to obtain a mapping coefficient.
31 is a flowchart for explaining the operation of the image processing apparatus in FIG. 30;
32 is a block diagram illustrating a configuration example of a local decoding unit 127 in FIG. 30. FIG.
FIG. 33 is a flowchart for explaining a process of the local decoding unit 127 of FIG. 32;
FIG. 34 is a block diagram illustrating a configuration of a second embodiment of an image processing apparatus that performs learning to obtain a mapping coefficient;
35 is a flowchart for explaining the operation of the image processing apparatus in FIG. 34;
FIG. 36 is a flowchart for explaining more details of the processing in step S101 in FIG.
FIG. 37 is a block diagram illustrating a third configuration example of the reception device 4 in FIG. 1;
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 Transmitter, 2 Recording medium, 3 Transmission path, 4 Receiver, 11 I / F, 12 ROM, 13 RAM, 14 CPU, 15 External storage device, 16 Transmitter / recorder, 21 Compression part, 22 Local decoding part , 23 error calculation unit, 24 determination unit, 25 multiplexing unit, 30 decimation circuit, 31 level limiting circuit, 32 correction circuit, 33 correction value ROM, 41 class classification blocking circuit, 42 prediction value calculation blocking circuit, 43 class classification adaptive processing circuit, 45 class classification circuit, 46 adaptive processing circuit, 51 blocking circuit, 52 square error calculation circuit, 53, 54 computing unit, 55 accumulator, 56 memory, 61 prediction coefficient memory, 62 correction data memory , 63 Error information memory, 64 comparison circuit, 65 system Circuit, 71 receiver / reproducing device, 72 separation unit, 73 class classification blocking circuit, 75 class classification circuit, 76 prediction circuit, 76A memory, 77 prediction value calculation blocking circuit, 78, 81 prediction coefficient ROM, 82 Prediction circuit, 91 learning block circuit, 92 teacher block circuit, 94 class classification circuit, 95 switch, 96 learning data memory, 97 counter, 98 teacher data memory, 99 arithmetic circuit, 100 memory, 111 block circuit, 112 ADRC processing circuit, 113 class classification circuit, 114 mapping coefficient memory, 115 delay circuit, 116 arithmetic circuit, 117 level limiting circuit, 118 transmitter / recording device, 121 memory, 122 blocking circuit, 123 ADRC processing Path, 124 class classification circuit, 125 arithmetic circuit, 126 level limit circuit, 127 local decoding unit, 128 error calculation unit, 129 determination unit, 130 mapping coefficient setting circuit, 131 mapping coefficient memory, 141 block circuit for class classification, 142 Predictive value calculation blocking circuit, 144 class classification circuit, 145 prediction coefficient ROM, 146 prediction circuit, 160 optimum correction data calculation unit, 170 compression unit, 171 level limiting unit, 172 correction unit, 173 local decoding unit, 174 error calculation Unit, 175 determination unit, 176 latch circuit, 176A memory, 177 block circuit, 177A memory, 178 ADRC processing circuit, 179 class classification circuit, 180 memory, 181 arithmetic circuit, 82 memory, 191 receiver / reproducing device, 192 decoding unit, 193 class classification blocking circuit, 194 prediction value calculation blocking circuit, 196 class classification circuit, 197 prediction coefficient ROM, 198 prediction circuit, 1022, 2022 local decoding Part, 2024 judgment part

Claims (12)

画像を符号化する画像符号化装置であって、
原画像を、その画素数を少なくすることにより圧縮する圧縮手段と、
前記原画像を圧縮することにより得られる圧縮データの上位所定ビットのみを抽出することで、前記圧縮データのレベルを制限する制限手段と、
所定の補正値を加算することにより、レベルの制限された前記圧縮データを補正し、補正データを出力する補正手段と、
前記補正データを、その性質に応じて所定のクラスに分類し、前記補正データの前記クラスに対応する予測係数と、前記補正データとの線形結合により、予測値を求めることにより前記原画像を予測し、その予測値を出力する予測手段と、
前記原画像に対する、前記予測値の予測誤差を算出する算出手段と、
前記予測誤差を所定の閾値と比較することで、前記補正手段が出力する前記補正データの適正さを判定する判定手段と、
前記判定手段により前記予測誤差が所定の閾値以下であり、前記補正データが適正であると判定された場合、前記補正データを、前記原画像の符号化結果として出力する出力手段とを備え、
前記補正手段は、前記判定手段により前記予測誤差が所定の閾値以下であり、前記補正データが適正であると判定されるまで、前記補正値を変化させ、変化させた補正値を加算することにより、前記圧縮データを補正する処理を繰り返す
ことを特徴とする画像符号化装置。
An image encoding device for encoding an image, comprising:
Compression means for compressing the original image by reducing the number of pixels;
Limiting means for limiting the level of the compressed data by extracting only the upper predetermined bits of the compressed data obtained by compressing the original image;
Correction means for correcting the compressed data whose level is limited by adding a predetermined correction value, and outputting correction data;
The correction data is classified into a predetermined class according to its property, and the original image is predicted by obtaining a prediction value by linear combination of a prediction coefficient corresponding to the class of the correction data and the correction data. And a prediction means for outputting the predicted value;
Calculating means for calculating a prediction error of the predicted value with respect to the original image;
A determination unit that determines the appropriateness of the correction data output by the correction unit by comparing the prediction error with a predetermined threshold;
Output means for outputting the correction data as an encoding result of the original image when the determination means determines that the prediction error is equal to or less than a predetermined threshold value and the correction data is appropriate.
The correction unit changes the correction value until the determination unit determines that the prediction error is equal to or less than a predetermined threshold and the correction data is appropriate, and adds the changed correction value. An image encoding apparatus characterized by repeating the process of correcting the compressed data.
前記予測手段は、前記予測係数を、前記クラスごとに求める予測係数演算手段を有し、
前記予測係数演算手段は、あるクラスについての学習用の画像データである前記補正データと教師用の画像データである前記原画像とを用いて、前記補正データに基づいた予測値と前記原画像との予測誤差を最小自乗法により最小とする学習を行うことにより、前記予測係数を求める
ことを特徴とする請求項1に記載の画像符号化装置。
The prediction means includes prediction coefficient calculation means for obtaining the prediction coefficient for each class,
The prediction coefficient calculation means uses the correction data, which is image data for learning with respect to a certain class, and the original image, which is image data for teachers, and a prediction value based on the correction data, the original image, and The image coding apparatus according to claim 1, wherein the prediction coefficient is obtained by learning to minimize a prediction error of the image by a least square method.
前記出力手段は、前記補正データとともに、前記クラスごとの前記予測係数も出力する
ことを特徴とする請求項1に記載の画像符号化装置。
The image encoding apparatus according to claim 1 , wherein the output unit outputs the prediction coefficient for each class together with the correction data.
前記予測手段は、前記予測係数を、所定のクラスごとに記憶している記憶手段を有し、
前記予測係数は、あらかじめ用意した画像データから、前記原画像に対応する教師用の画像データと、前記補正データに対応する学習用の画像データを生成し、前記学習用の画像データに基づいた予測値と、前記教師用の画像データとの予測誤差を最小自乗法により最小とする学習を行うことにより、あらかじめ生成されたものである
ことを特徴とする請求項1に記載の画像符号化装置。
The prediction means includes storage means for storing the prediction coefficient for each predetermined class,
The prediction coefficient generates teacher image data corresponding to the original image and learning image data corresponding to the correction data from image data prepared in advance, and prediction based on the learning image data The image coding apparatus according to claim 1, wherein the image coding apparatus is generated in advance by performing learning that minimizes a prediction error between a value and the image data for teacher by a least square method.
前記補正手段は、
前記圧縮データを補正するための前記所定の補正値を記憶している記憶手段を有する
ことを特徴とする請求項1に記載の画像符号化装置。
The correction means includes
The image coding apparatus according to claim 1, further comprising a storage unit that stores the predetermined correction value for correcting the compressed data.
前記判定手段により前記予測誤差が所定の閾値より大きく、前記補正データが適正ではないと判定された場合、前記判定手段は、さらに、前記予測誤差が前回の前記予測誤差以下であるか否かを判定し、
前記判定手段により前記予測誤差が、前記前回の予測誤差以下であると判定された場合、前記補正手段は、前回変化させた補正値を、前回と同様に変化させ、変化させた補正値を加算することにより、前記圧縮データを補正し、
前記判定手段により前記予測誤差が、前記前回の予測誤差より大きいと判定された場合、前記補正手段は、前回変化させた補正値を、前回と逆に変化させ、変化させた補正値を加算することにより、前記圧縮データを補正する
ことを特徴とする請求項1に記載の画像符号化装置。
When the determination unit determines that the prediction error is larger than a predetermined threshold and the correction data is not appropriate, the determination unit further determines whether the prediction error is equal to or less than the previous prediction error. Judgment,
When the determination means determines that the prediction error is equal to or less than the previous prediction error, the correction means changes the correction value changed last time in the same manner as the previous time, and adds the changed correction value. To correct the compressed data,
When the determination unit determines that the prediction error is larger than the previous prediction error, the correction unit changes the correction value changed last time in the opposite direction and adds the changed correction value. The image encoding apparatus according to claim 1, wherein the compressed data is corrected.
画像を符号化する画像符号化方法であって、
原画像を、その画素数を少なくすることにより圧縮し、
前記原画像を圧縮することにより得られる圧縮データの上位所定ビットのみを抽出することで、前記圧縮データのレベルを制限し、
所定の補正値を加算することにより、レベルの制限された前記圧縮データを補正して、補正データを出力し、
前記補正データを、その性質に応じて所定のクラスに分類し、前記補正データの前記クラスに対応する予測係数と、前記補正データとの線形結合により、予測値を求めることにより前記原画像を予測して、その予測値を出力し、
前記原画像に対する、前記予測値の予測誤差を算出し、
前記予測誤差を所定の閾値と比較することで、前記補正データの適正さを判定し、
前記予測誤差が所定の閾値以下であり、前記補正データが適正であると判定されるまで、前記補正値を変化させ、変化させた補正値を加算することにより、前記圧縮データを補正する処理を繰り返し、
前記予測誤差が所定の閾値以下であり、前記補正データが適正であると判定された場合、前記補正データを、前記原画像の符号化結果として出力する
ことを特徴とする画像符号化方法。
An image encoding method for encoding an image, comprising:
Compress the original image by reducing the number of pixels,
By extracting only the upper predetermined bits of the compressed data obtained by compressing the original image, the level of the compressed data is limited,
By adding a predetermined correction value, the level-limited compressed data is corrected, and correction data is output,
The correction data is classified into a predetermined class according to its property, and the original image is predicted by obtaining a prediction value by linear combination of a prediction coefficient corresponding to the class of the correction data and the correction data. And output the predicted value,
Calculating a prediction error of the predicted value for the original image;
By comparing the prediction error with a predetermined threshold, the suitability of the correction data is determined,
A process of correcting the compressed data by changing the correction value and adding the changed correction value until the prediction error is equal to or less than a predetermined threshold value and the correction data is determined to be appropriate. repetition,
An image encoding method comprising: outputting the correction data as an encoding result of the original image when it is determined that the prediction error is equal to or less than a predetermined threshold and the correction data is appropriate.
画像を符号化する画像符号化装置と、前記画像符号化装置からの符号化データを復号する画像復号装置とからなる画像処理システムであって、
前記画像符号化装置は、
原画像を、その画素数を少なくすることにより圧縮する圧縮手段と、
前記原画像を圧縮することにより得られる圧縮データの上位所定ビットのみを抽出することで、前記圧縮データのレベルを制限する制限手段と、
所定の補正値を加算することにより、レベルの制限された前記圧縮データを補正し、補正データを出力する補正手段と、
前記補正データを、その性質に応じて所定のクラスに分類し、前記補正データの前記クラスに対応する予測係数と、前記補正データとの線形結合により、予測値を求めることにより前記原画像を予測し、第1の予測値を出力する予測手段と、
前記原画像に対する、前記第1の予測値の予測誤差を算出する算出手段と、
前記予測誤差を所定の閾値と比較することで、前記補正手段が出力する前記補正データの適正さを判定する判定手段と、
前記判定手段により前記予測誤差が所定の閾値以下であり、前記補正データが適正であると判定された場合、前記補正データを、前記原画像の符号化データとして出力する出力手段とを備え、
前記補正手段は、前記判定手段により前記予測誤差が所定の閾値以下であり、前記補正データが適正であると判定されるまで、前記補正値を変化させ、変化させた補正値を加算することにより、前記圧縮データを補正する処理を繰り返し、
前記画像復号装置は、
前記画像符号化装置の前記出力手段により出力される前記符号化データを受信する受信手段と、
前記符号化データに含まれる補正データを、その性質に応じて所定のクラスに分類し、前記補正データの前記クラスに対応する前記予測係数と、前記補正データとの線形結合により、前記原画像を予測し、第2の予測値を出力することで、前記受信手段により受信された前記符号化データを復号する復号手段と
を備えることを特徴とする画像処理システム。
An image processing system comprising an image encoding device that encodes an image and an image decoding device that decodes encoded data from the image encoding device,
The image encoding device includes:
Compression means for compressing the original image by reducing the number of pixels;
Limiting means for limiting the level of the compressed data by extracting only the upper predetermined bits of the compressed data obtained by compressing the original image;
Correction means for correcting the compressed data whose level is limited by adding a predetermined correction value, and outputting correction data;
The correction data is classified into a predetermined class according to its property, and the original image is predicted by obtaining a prediction value by linear combination of a prediction coefficient corresponding to the class of the correction data and the correction data. Predicting means for outputting the first predicted value;
Calculating means for calculating a prediction error of the first predicted value with respect to the original image;
A determination unit that determines the appropriateness of the correction data output by the correction unit by comparing the prediction error with a predetermined threshold;
An output unit that outputs the correction data as encoded data of the original image when the determination unit determines that the prediction error is equal to or less than a predetermined threshold value and the correction data is appropriate.
The correction unit changes the correction value until the determination unit determines that the prediction error is equal to or less than a predetermined threshold and the correction data is appropriate, and adds the changed correction value. , Repeating the process of correcting the compressed data,
The image decoding device includes:
Receiving means for receiving the encoded data output by the output means of the image encoding device;
The correction data included in the encoded data is classified into a predetermined class according to its property, and the original image is obtained by linear combination of the prediction coefficient corresponding to the class of the correction data and the correction data. predicted, by outputting the second prediction value, the image processing system characterized in that it comprises a decrypt unit you decode the encoded data received by the receiving means.
前記画像符号化装置の前記出力手段は、前記補正データとともに、前記予測手段により求められた前記予測係数も前記符号化データとして出力し、
前記画像復号装置の前記復号手段は、
前記符号化データに含まれる前記予測係数と前記補正データとの線形結合により、前記第2の予測値を求める第2の予測値演算手段を有する
ことを特徴とする請求項8に記載の画像処理システム。
The output unit of the image encoding device outputs the prediction coefficient obtained by the prediction unit together with the correction data as the encoded data,
The decoding means of the image decoding device comprises:
The image processing according to claim 8, further comprising second predicted value calculation means for obtaining the second predicted value by linear combination of the prediction coefficient included in the encoded data and the correction data. system.
画像を符号化する画像符号化装置と、前記画像符号化装置からの符号化データを復号する画像復号装置とからなる画像処理システムの画像処理方法であって、
前記画像符号化装置の画像符号化方法は、
原画像を、その画素数を少なくすることにより圧縮し、
前記原画像を圧縮することにより得られる圧縮データの上位所定ビットのみを抽出することで、前記圧縮データのレベルを制限し、
所定の補正値を加算することにより、レベルの制限された前記圧縮データを補正して、
補正データを出力し、
前記補正データを、その性質に応じて所定のクラスに分類し、前記補正データの前記クラスに対応する予測係数と、前記補正データとの線形結合により、予測値を求めることにより前記原画像を予測して、その予測値を出力し、
前記原画像に対する、前記予測値の予測誤差を算出し、
前記予測誤差を所定の閾値と比較することで、前記補正データの適正さを判定し、
前記予測誤差が所定の閾値以下であり、前記補正データが適正であると判定されるまで、前記補正値を変化させ、変化させた補正値を加算することにより、前記圧縮データを補正する処理を繰り返し、
前記予測誤差が所定の閾値以下であり、前記補正データが適正であると判定された場合、前記補正データを、前記原画像の符号化データとして出力し、
前記画像復号装置の画像復号方法は、
前記画像符号化装置から出力される前記符号化データを受信し、
前記符号化データに含まれる補正データを、その性質に応じて所定のクラスに分類し、前記補正データの前記クラスに対応する前記予測係数と、前記補正データとの線形結合により、前記原画像を予測し、第2の予測値を出力することで、受信された前記符号化データを復号する
ことを特徴とする画像処理方法。
An image processing method of an image processing system comprising an image encoding device for encoding an image and an image decoding device for decoding encoded data from the image encoding device,
The image encoding method of the image encoding device is:
Compress the original image by reducing the number of pixels,
By extracting only the upper predetermined bits of the compressed data obtained by compressing the original image, the level of the compressed data is limited,
By adding a predetermined correction value, the compressed data whose level is limited is corrected,
Output correction data,
The correction data is classified into a predetermined class according to its property, and the original image is predicted by obtaining a prediction value by linear combination of a prediction coefficient corresponding to the class of the correction data and the correction data. And output the predicted value,
Calculating a prediction error of the predicted value for the original image;
By comparing the prediction error with a predetermined threshold, the suitability of the correction data is determined,
A process of correcting the compressed data by changing the correction value and adding the changed correction value until the prediction error is equal to or less than a predetermined threshold value and the correction data is determined to be appropriate. repetition,
When the prediction error is equal to or less than a predetermined threshold and the correction data is determined to be appropriate, the correction data is output as encoded data of the original image,
The image decoding method of the image decoding apparatus is:
Receiving the encoded data output from the image encoding device;
The correction data included in the encoded data is classified into a predetermined class according to its property, and the original image is obtained by linear combination of the prediction coefficient corresponding to the class of the correction data and the correction data. An image processing method, wherein the received encoded data is decoded by predicting and outputting a second predicted value.
画像を符号化し、送信する画像符号化装置の伝送方法であって、
原画像を、その画素数を少なくすることにより圧縮し、
前記原画像を圧縮することにより得られる圧縮データの上位所定ビットのみを抽出することで、前記圧縮データのレベルを制限し、
所定の補正値を加算することにより、レベルの制限された前記圧縮データを補正して、補正データを出力し、
前記補正データを、その性質に応じて所定のクラスに分類し、前記補正データの前記クラスに対応する予測係数と、前記補正データとの線形結合により、予測値を求めることにより前記原画像を予測して、その予測値を出力し、
前記原画像に対する、前記予測値の予測誤差を算出し、
前記予測誤差を所定の閾値と比較することで、前記補正データの適正さを判定し、
前記予測誤差が所定の閾値以下であり、前記補正データが適正であると判定されるまで、前記補正値を変化させ、変化させた補正値を加算することにより、前記圧縮データを補正する処理を繰り返し、
前記予測誤差が所定の閾値以下であり、前記補正データが適正であると判定された場合、前記補正データを、前記原画像の符号化結果として送信する
ことを特徴とする伝送方法。
A transmission method of an image encoding device for encoding and transmitting an image,
Compress the original image by reducing the number of pixels,
By extracting only the upper predetermined bits of the compressed data obtained by compressing the original image, the level of the compressed data is limited,
By adding a predetermined correction value, the level-limited compressed data is corrected, and correction data is output,
The correction data is classified into a predetermined class according to its property, and the original image is predicted by obtaining a prediction value by linear combination of a prediction coefficient corresponding to the class of the correction data and the correction data. And output the predicted value,
Calculating a prediction error of the predicted value for the original image;
By comparing the prediction error with a predetermined threshold, the suitability of the correction data is determined,
A process of correcting the compressed data by changing the correction value and adding the changed correction value until the prediction error is equal to or less than a predetermined threshold value and the correction data is determined to be appropriate. repetition,
When the prediction error is equal to or less than a predetermined threshold value and the correction data is determined to be appropriate, the correction data is transmitted as an encoding result of the original image.
画像を符号化する処理を、コンピュータに行わせるプログラムが記録されている記録媒体であって、
原画像を、その画素数を少なくすることにより圧縮し、
前記原画像を圧縮することにより得られる圧縮データの上位所定ビットのみを抽出することで、前記圧縮データのレベルを制限し、
所定の補正値を加算することにより、レベルの制限された前記圧縮データを補正して、補正データを出力し、
前記補正データを、その性質に応じて所定のクラスに分類し、前記補正データの前記クラスに対応する予測係数と、前記補正データとの線形結合により、予測値を求めることにより前記原画像を予測して、その予測値を出力し、
前記原画像に対する、前記予測値の予測誤差を算出し、
前記予測誤差を所定の閾値と比較することで、前記補正データの適正さを判定し、
前記予測誤差が所定の閾値以下であり、前記補正データが適正であると判定されるまで、前記補正値を変化させ、変化させた補正値を加算することにより、前記圧縮データを補正する処理を繰り返し、
前記予測誤差が所定の閾値以下であり、前記補正データが適正であると判定された場合、前記補正データを、前記原画像の符号化結果として出力する
ことを特徴とするプログラムが記録されている記録媒体。
A recording medium on which a program for causing a computer to perform processing for encoding an image is recorded,
Compress the original image by reducing the number of pixels,
By extracting only the upper predetermined bits of the compressed data obtained by compressing the original image, the level of the compressed data is limited,
By adding a predetermined correction value, the level-limited compressed data is corrected, and correction data is output,
The correction data is classified into a predetermined class according to its property, and the original image is predicted by obtaining a prediction value by linear combination of a prediction coefficient corresponding to the class of the correction data and the correction data. And output the predicted value,
Calculating a prediction error of the predicted value for the original image;
By comparing the prediction error with a predetermined threshold, the suitability of the correction data is determined,
A process of correcting the compressed data by changing the correction value and adding the changed correction value until the prediction error is equal to or less than a predetermined threshold value and the correction data is determined to be appropriate. repetition,
When the prediction error is equal to or less than a predetermined threshold value and the correction data is determined to be appropriate, the correction data is output as an encoding result of the original image. recoding media.
JP20852597A 1996-07-17 1997-07-17 Image coding apparatus, image coding method, image processing system, image processing method, transmission method, and recording medium Expired - Fee Related JP3952326B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20852597A JP3952326B2 (en) 1996-07-17 1997-07-17 Image coding apparatus, image coding method, image processing system, image processing method, transmission method, and recording medium

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP20655496 1996-07-17
JP8-206554 1996-07-17
US08/893,216 US6381369B1 (en) 1996-07-17 1997-07-15 Image coding apparatus, image coding method, image decoding method, image decoding apparatus, image data transmitting method and recording medium
JP20852597A JP3952326B2 (en) 1996-07-17 1997-07-17 Image coding apparatus, image coding method, image processing system, image processing method, transmission method, and recording medium

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005308103A Division JP4534951B2 (en) 1996-07-17 2005-10-24 Image coding apparatus, image coding method, image processing system, image processing method, transmission method, and recording medium

Publications (2)

Publication Number Publication Date
JPH1084549A JPH1084549A (en) 1998-03-31
JP3952326B2 true JP3952326B2 (en) 2007-08-01

Family

ID=27328650

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20852597A Expired - Fee Related JP3952326B2 (en) 1996-07-17 1997-07-17 Image coding apparatus, image coding method, image processing system, image processing method, transmission method, and recording medium

Country Status (1)

Country Link
JP (1) JP3952326B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110177276B (en) 2014-02-26 2021-08-24 杜比实验室特许公司 Method for processing spatial region of video image, storage medium and computing device

Also Published As

Publication number Publication date
JPH1084549A (en) 1998-03-31

Similar Documents

Publication Publication Date Title
JP3912627B2 (en) Image coding apparatus, image coding method, and transmission method
JP3748088B2 (en) Image processing apparatus and method, and learning apparatus and method
JP3915855B2 (en) Image coding apparatus, image coding method, learning apparatus, and learning method
EP0820198B1 (en) Apparatus and method for image coding and decoding
EP0825776B1 (en) Image coding using sub-sampling, classification of pixel blocks and association of mapping coefficients
KR100504415B1 (en) Image encoding apparatus, image encoding method, image decoding apparatus, image decoding method and recording medium
JP4534951B2 (en) Image coding apparatus, image coding method, image processing system, image processing method, transmission method, and recording medium
JP3747970B2 (en) Image encoding device, image encoding method, image decoding device, and image decoding method
JP3952326B2 (en) Image coding apparatus, image coding method, image processing system, image processing method, transmission method, and recording medium
JP4582416B2 (en) Image coding apparatus and image coding method
JP3912629B2 (en) Image processing system, image encoding device, image encoding method, transmission method, and recording medium
JP3912628B2 (en) Image encoding device, image encoding method, image encoding and decoding system, image encoding and decoding method, and recording medium
JP3912558B2 (en) Image encoding apparatus, image encoding method, and recording medium
JP3844031B2 (en) Image coding apparatus and image coding method, and image decoding apparatus and image decoding method
JP4496494B2 (en) Image coding apparatus and image coding method
JP4487900B2 (en) Image processing system
KR100674068B1 (en) Image coding apparatus, image coding method, image decoding method, image decoding apparatus, image data transmitting method and recording medium
EP1298934A1 (en) Apparatus and method for image coding and decoding
JP4566877B2 (en) Image processing apparatus and method
JP4807349B2 (en) Learning apparatus and method
JP4016249B2 (en) Image encoding apparatus and encoding method, image decoding apparatus and decoding method, recording medium, program, and image processing system
KR100598754B1 (en) Device for coding original image data, device for decoding coded image data, method for coding original image data, method for decoding coded image data, method for transmitting image data, computer-readable storing media
JP2001339724A (en) Image encoding apparatus and method, and recording medium

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050826

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070313

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: 20070406

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070419

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

Free format text: PAYMENT UNTIL: 20100511

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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