JP3912629B2 - Image processing system, image encoding device, image encoding method, transmission method, and recording medium - Google Patents

Image processing system, image encoding device, image encoding method, transmission method, and recording medium Download PDF

Info

Publication number
JP3912629B2
JP3912629B2 JP20853597A JP20853597A JP3912629B2 JP 3912629 B2 JP3912629 B2 JP 3912629B2 JP 20853597 A JP20853597 A JP 20853597A JP 20853597 A JP20853597 A JP 20853597A JP 3912629 B2 JP3912629 B2 JP 3912629B2
Authority
JP
Japan
Prior art keywords
data
prediction
correction
correction data
layer
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
JP20853597A
Other languages
Japanese (ja)
Other versions
JPH1093981A (en
Inventor
哲二郎 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP20853597A priority Critical patent/JP3912629B2/en
Publication of JPH1093981A publication Critical patent/JPH1093981A/en
Application granted granted Critical
Publication of JP3912629B2 publication Critical patent/JP3912629B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、画像処理システム、画像符号化装置および画像符号化方法伝送方法、並びに記録媒体に関する。特に、画像を、画素数の異なる複数の階層に分割する階層符号化を行う画像処理システム、画像符号化装置および画像符号化方法伝送方法、並びに記録媒体に関する。
【0002】
【従来の技術】
元の画像(原画像)を、第1階層(最上位階層)の画像として、その画素数を順次少なくした(解像度を順次低くした)第2階層の画像、第3階層の画像、・・・を形成する符号化(以下、適宜、階層符号化という)が提案されている。
【0003】
階層符号化によれば、複数の階層の画像を、送信側から受信側に送信し、受信側では、その複数の階層の画像それぞれに対応してモニタにより、各階層の画像を表示することができる。
【0004】
さらに、階層符号化においては、例えば、最下位階層の画像(最も画素数の少ない画像)についてのデータには、他の階層の画像よりも強力な誤り訂正処理などが施されるようになされており、これにより、最下位階層以外の階層の画像について訂正することができない誤りが生じた場合に、最悪でも、最下位階層の画像についてのデータだけは、受信側において、正常なものを得ることができるようになされている。その結果、受信側では、最下位階層の画像についてのデータから、より上位階層の画像を、例えば補間処理などにより得ることができ、従って、階層符号化によれば、誤りに対するロバスト性を向上させることができる。
【0005】
図47は、以上のような階層符号化を行う、従来の画像符号化装置の一例の構成を示している。符号化すべき画像データは、第1階層(最上位階層)のデータとして、間引き回路11および信号処理回路501に供給されるようになされている。
【0006】
間引き回路11では、第1階層の画像データの画素数が間引かれることにより、1つ下位の第2階層の画像データが形成され、間引き回路12および信号処理回路501に供給される。間引き回路12では、第2階層の画像データの画素数が間引かれることにより、さらに1つ下位の第3階層の画像データが形成され、信号処理回路501に供給される。
【0007】
信号処理回路501では、第1階層乃至第3階層の画像データに対して、例えば誤り訂正処理その他の必要な信号処理が施され、その後、多重化されて、符号化データとして出力される。なお、信号処理回路501においては、最下位階層である第3階層の画像データに対しては、他の階層のデータより強力な誤り訂正が施されるようになされている。
【0008】
図48は、図47の画像符号化装置から出力される符号化データを階層復号化する、従来の画像復号化装置の一例の構成を示している。
【0009】
信号処理回路601においては、符号化データが、第1階層乃至第3階層の画像データに分離され、さらに、誤り訂正処理その他が施されて出力される。第1階層の画像データは、第1階層の復号画像としてそのまま出力される。また、第2階層の画像データは、補間回路602に供給される。補間回路602は、第2階層の画像データに対して補間処理を施すことにより、1つ上位の第1階層の画像データと同一の画素数の画像データを生成し、第1階層の復号画像として出力する。
【0010】
第3階層の画像データは、補間回路603に供給される。補間回路603は、第3階層の画像データに対して補間処理を施すことにより、1つ上位の第2階層の画像データと同一の画素数の画像データ、即ち、第2階層の復号画像を生成し、補間回路604に出力する。補間回路604は、補間回路603の出力に対して、補間回路602における場合と同様の補間処理を施すことにより、さらに1つ上位の第1階層の画像データと同一の画素数の画像データを生成し、第1階層の復号画像として出力する。
【0011】
従って、画像復号化装置においては、第1階層の画像データを何らかの原因で得ることができなくても、第2階層の画像データから、第1階層の復号画像を得ることができる。また、同様に、第1階層および第2階層の画像データを何らかの原因で得ることができなくても、第3階層の画像データから、第1階層や第2階層の復号画像を得ることができる。
【0012】
【発明が解決しようとする課題】
しかしながら、最下位階層である第3階層の画像データだけから得られる、上位階層の復号画像は、その画質が著しく劣化したものとなる。
【0013】
本発明は、このような状況に鑑みてなされたものであり、最下位階層の符号化データだけからでも、高画質の復号画像を得ることができるようにするものである。
【0014】
【課題を解決するための手段】
本発明の第1の側面の画像処理システムは、画像符号化装置が、第1の階層の画像データよりも画素数の少ない第2の階層の画像データを形成する形成手段と、第2の階層の画像データに所定の補正値を加算して補正し、補正データとして出力する補正手段と、補正データを、その性質に応じて所定のクラスに分類する分類手段と、クラスに対応した予測係数と補正データとの線形結合により、第1の階層の画像データの予測値を予測する予測手段と、第1の階層の画像データに対する、その予測値の予測誤差を算出する算出手段と、予測誤差と所定の閾値との比較に基づいて、補正手段が出力する補正データが適正であるか否かを判定する判定手段と、予測誤差が所定の閾値よりも小さく、判定手段により、補正データが適正であると判定された場合、補正データからなる第2階層の画像データを、第1の階層の画像データの符号化データとして出力する出力手段とを備え、予測誤差が所定の閾値より小さくなく、判定手段により、補正データが適正ではないと判定された場合、補正データが適正であると判定されるまで、所定の補正値を予測誤差が小さくなるように変化させ、補正手段、分類手段、予測手段、算出手段、および判定手段の処理を繰り返し、画像復号化処理装置が、第1の階層の画像データが符号化された符号化データを受信する受信手段と、受信手段により受信された符号化データを復号化する復号化手段とを備え、復号化手段は、符号化データに含まれる補正データを、その性質に応じて所定のクラスに分類する分類手段と、補正データのクラスに対応する予測係数と、補正データとの線形結合により、第1の階層の画像データの予測値を求める予測手段とを有することを特徴とする。
本発明の第2の側面の画像符号化装置は、第1の階層の画像データよりも画素数の少ない第2の階層の画像データを形成する形成手段と、第2の階層の画像データに所定の補正値を加算して補正し、補正データとして出力する補正手段と、補正データを、その性質に応じて所定のクラスに分類する分類手段と、クラスに対応した予測係数と補正データとの線形結合により、第1の階層の画像データの予測値を予測する予測手段と、第1の階層の画像データに対する、その予測値の予測誤差を算出する算出手段と、予測誤差と所定の閾値との比較に基づいて、補正手段が出力する補正データが適正であるか否かを判定する判定手段と、予測誤差が所定の閾値よりも小さく、判定手段により、補正データが適正であると判定された場合、補正データを、前記第1の階層の画像データの符号化データとして出力する出力手段とを備え、予測誤差が所定の閾値より小さくなく、判定手段により、補正データが適正ではないと判定された場合、前記補正データが適正であると判定されるまで、所定の補正値を予測誤差が小さくなるように変化させ、補正手段、分類手段、予測手段、算出手段、および判定手段の処理を繰り返すことを特徴とする。
【0015】
本発明の第2の側面の画像符号化方法は、第1の階層の画像データよりも画素数の少ない第2の階層の画像データを形成し、第2の階層の画像データに所定の補正値を加算して補正し、補正データとして出力し、補正データを、その性質に応じて所定のクラスに分類し、クラスに対応した予測係数と補正データとの線形結合により、第1の階層の画像データの予測値を予測し、第1の階層の画像データに対する、その予測値の予測誤差を算出し、第1の階層についての予測誤差と所定の閾値との比較に基づいて、補正データが適正であるか否かを判定予測誤差が所定の閾値よりも小さく、補正データが適正であると判定された場合、補正データからなる第2階層の画像データを、第1の階層の画像データの符号化データとして出力し、予測誤差が所定の閾値より小さくなく、補正データが適正ではないと判定された場合、補正データが適正であると判定されるまで、所定の補正値を予測誤差が小さくなるように変化させ、第2の階層の画像データに加算して補正し、補正データとして出力し、補正データを、その性質に応じて所定のクラスに分類し、クラスに対応した予測係数と補正データとの線形結合により、第1の階層の画像データの予測値を予測し、第1の階層の画像データに対する、その予測値の予測誤差を算出し、予測誤差と所定の閾値との比較に基づいて、補正データが適正であるか否かを判定する処理を繰り返すことを特徴とする。
【0016】
本発明の第3の側面の伝送方法は、符号化データが、第1の階層の画像データよりも画素数の少ない第2の階層の画像データを形成し、第2の階層の画像データに所定の補正値を加算して補正し、補正データとして出力し、補正データを、その性質に応じて所定のクラスに分類し、クラスに対応した予測係数と補正データとの線形結合により、第1の階層の画像データの予測値を予測し、第1の階層の画像データに対する、その予測値の予測誤差を算出し、第1の階層についての予測誤差と所定の閾値との比較に基づいて、補正データが適正であるか否かを判定し、予測誤差が所定の閾値より小さくなく、補正データが適正ではないと判定された場合、補正データが適正であると判定されるまで、所定の補正値を予測誤差が小さくなるように変化させ、第2の階層の画像データに加算して補正し、補正データとして出力し、補正データを、その性質に応じて所定のクラスに分類し、クラスに対応した予測係数と補正データとの線形結合により、第1の階層の画像データの予測値を予測し、第1の階層の画像データに対する、その予測値の予測誤差を算出し、予測誤差と所定の閾値との比較に基づいて、出力する補正データが適正であるか否かを判定する処理を繰り返し、予測誤差が所定の閾値よりも小さく、補正データが適正であると判定された場合の補正データを、第2の階層の画像データとして含むことを特徴とする。
本発明の第4の側面の階層符号化による画像符号化処理を行うプログラムが記録された記録媒体は、第1の階層の画像データよりも画素数の少ない第2の階層の画像データを形成し、第2の階層の画像データに所定の補正値を加算して補正し、補正データとして出力し、補正データを、その性質に応じて所定のクラスに分類し、クラスに対応した予測係数と補正データとの線形結合により、第1の階層の画像データの予測値を予測し、第1の階層の画像データに対する、その予測値の予測誤差を算出し、第1の階層についての予測誤差と所定の閾値との比較に基づいて、補正データが適正であるか否かを判定し、予測誤差が所定の閾値よりも小さく、補正データが適正であると判定された場合、補正データからなる第2階層の画像データを、第1の階層の画像データの符号化データとして出力し、予測誤差が所定の閾値より小さくなく、補正データが適正ではないと判定された場合、補正データが適正であると判定されるまで、所定の補正値を予測誤差が小さくなるように変化させ、第2の階層の画像データに加算して補正し、補正データとして出力し、補正データを、その性質に応じて所定のクラスに分類し、クラスに対応した予測係数と補正データとの線形結合により、第1の階層の画像データの予測値を予測し、第1の階層の画像データに対する、その予測値の予測誤差を算出し、予測誤差と所定の閾値との比較に基づいて、補正データが適正であるか否かを判定する処理を繰り返すことを特徴とする。
【0020】
本発明の第1の側面の画像処理システムにおいては、画像符号化装置により、第1の階層の画像データよりも画素数の少ない第2の階層の画像データが形成され、第2の階層の画像データに所定の補正値が加算されて補正され、補正データとして出力され、補正データが、その性質に応じて所定のクラスに分類され、クラスに対応した予測係数と補正データとの線形結合により、第1の階層の画像データの予測値が予測され、第1の階層の画像データに対する、その予測値の予測誤差が算出され、予測誤差と所定の閾値との比較に基づいて、補正データが適正であるか否かが判定され、予測誤差が所定の閾値よりも小さく、補正データが適正であると判定された場合、補正データからなる第2階層の画像データが、第1の階層の画像データの符号化データとして出力され、予測誤差が所定の閾値より小さくなく、補正データが適正ではないと判定された場合、補正データが適正であると判定されるまで、所定の補正値が、予測誤差が小さくなるように変化させられ、第2の階層の画像データに加算されて補正され、補正データとして出力され、補正データが、その性質に応じて所定のクラスに分類され、クラスに対応した予測係数と補正データとの線形結合により、第1の階層の画像データの予測値が予測され、第1の階層の画像データに対する、その予測値の予測誤差が算出され、予測誤差と所定の閾値との比較に基づいて、出力される補正データが適正であるか否かが判定される処理が繰り返され、画像復号化処理装置により、符号化データが受信され、符号化データに含まれる補正データが、その性質に応じて所定のクラスに分類され、補正データのクラスに対応する予測係数と、補正データとの線形結合により、第1の階層の画像データの予測値が求められることにより、符号化データが復号化される。
本発明の第2の側面の画像符号化装置においては、第1の階層の画像データよりも画素数の少ない第2の階層の画像データが形成され、第2の階層の画像データに所定の補正値が加算されて補正され、補正データとして出力され、補正データが、その性質に応じて所定のクラスに分類され、クラスに対応した予測係数と補正データとの線形結合により、第1の階層の画像データの予測値が予測され、第1の階層の画像データに対する、その予測値の予測誤差が算出され、予測誤差と所定の閾値との比較に基づいて、出力される補正データが適正であるか否かが判定され、予測誤差が所定の閾値よりも小さく、補正データが適正であると判定された場合、補正データが、前記第1の階層の画像データの符号化データとして出力され、予測誤差が所定の閾値より小さくなく、補正データが適正ではないと判定された場合、補正データが適正であると判定されるまで、所定の補正値が、予測誤差が小さくなるように変化させられ、第2の階層の画像データに加算されて補正され、補正データとして出力され、補正データが、その性質に応じて所定のクラスに分類され、クラスに対応した予測係数と補正データとの線形結合により、第1の階層の画像データの予測値が予測され、第1の階層の画像データに対する、その予測値の予測誤差が算出され、予測誤差と所定の閾値との比較に基づいて、出力される補正データが適正であるか否かが判定される処理が繰り返される。
【0021】
本発明の第2の側面の画像符号化方法においては、第1の階層の画像データよりも画素数の少ない第2の階層の画像データが形成され、第2の階層の画像データに所定の補正値が加算されて補正され、補正データとして出力され、補正データが、その性質に応じて所定のクラスに分類され、クラスに対応した予測係数と補正データとの線形結合により、第1の階層の画像データの予測値が予測され、第1の階層の画像データに対する、その予測値の予測誤差が算出され、第1の階層についての予測誤差と所定の閾値との比較に基づいて、補正データが適正であるか否かが判定され、予測誤差が所定の閾値よりも小さく、補正データが適正であると判定された場合、補正データからなる第2階層の画像データが、第1の階層の画像データの符号化データとして出力され、予測誤差が所定の閾値より小さくなく、補正データが適正ではないと判定された場合、補正データが適正であると判定されるまで、所定の補正値が、予測誤差が小さくなるように変化させられ、第2の階層の画像データに加算されて補正され、補正データとして出力され、補正データが、その性質に応じて所定のクラスに分類され、クラスに対応した予測係数と補正データとの線形結合により、第1の階層の画像データの予測値が予測され、第1の階層の画像データに対する、その予測値の予測誤差が算出され、予測誤差と所定の閾値との比較に基づいて、補正データが適正であるか否かが判定される処理が繰り返される。
【0022】
本発明の第3の側面の伝送方法は、第1の階層の画像データから階層符号化により符号化された符号化データが、第1の階層の画像データよりも画素数の少ない第2の階層の画像データより形成され、第2の階層の画像データに所定の補正値が加算されて補正され、補正データとして出力され、補正データが、その性質に応じて所定のクラスに分類され、クラスに対応した予測係数と補正データとの線形結合により、第1の階層の画像データの予測値が予測され、第1の階層の画像データに対する、その予測値の予測誤差が算出され、第1の階層についての予測誤差と所定の閾値との比較に基づいて、補正データが適正であるか否かが判定され、予測誤差が所定の閾値より小さくなく、補正データが適正ではないと判定された場合、補正データが適正であると判定されるまで、所定の補正値が予測誤差が小さくなるように変化させられ、第2の階層の画像データに加算されて補正され、補正データとして出力され、補正データが、その性質に応じて所定のクラスに分類され、クラスに対応した予測係数と補正データとの線形結合により、第1の階層の画像データの予測値が予測され、第1の階層の画像データに対する、その予測値の予測誤差が算出され、予測誤差と所定の閾値との比較に基づいて、出力する補正データが適正であるか否かが判定される処理が繰り返され、予測誤差が所定の閾値よりも小さく、補正データが適正であると判定された場合の補正データが、第2の階層の画像データとして含まれるものである。
本発明の第4の側面の階層符号化による画像符号化処理を行うプログラムが記録された記録媒体のプログラムにおいては、第1の階層の画像データよりも画素数の少ない第2の階層の画像データが形成され、第2の階層の画像データに所定の補正値が加算されて補正され、補正データとして出力され、補正データが、その性質に応じて所定のクラスに分類され、クラスに対応した予測係数と補正データとの線形結合により、第1の階層の画像データの予測値が予測され、第1の階層の画像データに対する、その予測値の予測誤差が算出され、第1の階層についての予測誤差と所定の閾値との比較に基づいて、補正データが適正であるか否かが判定され、予測誤差が所定の閾値よりも小さく、補正データが適正であると判定された場合、補正データからなる第2階層の画像データが、第1の階層の画像データの符号化データとして出力され、予測誤差が所定の閾値より小さくなく、補正データが適正ではないと判定された場合、補正データが適正であると判定されるまで、所定の補正値が、予測誤差が小さくなるように変化させられ、第2の階層の画像データに加算されて補正され、補正データとして出力され、補正データが、その性質に応じて所定のクラスに分類され、クラスに対応した予測係数と補正データとの線形結合により、第1の階層の画像データの予測値が予測され、第1の階層の画像データに対する、その予測値の予測誤差が算出され、予測誤差と所定の閾値との比較に基づいて、補正データが適正であるか否かが判定される処理が繰り返される。
【0026】
【発明の実施の形態】
以下に、本発明の実施の形態を説明するが、その前に、特許請求の範囲に記載の発明の各手段と以下の実施の形態との対応関係を明らかにするために、各手段の後の括弧内に、対応する実施の形態(但し、一例)を付加して、本発明の特徴を記述すると、次のようになる。
【0045】
なお、勿論この記載は、各手段を上記したものに限定することを意味するものではない。
【0046】
図1は、本発明を適用した画像処理システム(システムとは、複数の装置が論理的に集合したものをいい、各構成の装置が同一筐体中にあるか否かは問わない)の一実施の形態の構成を示している。
【0047】
送信装置1には、ディジタル化された画像データが供給されるようになされている。送信装置1は、入力された画像データを階層符号化し、その結果得られる符号化データを、例えば、光ディスクや、光磁気ディスク、磁気テープ、相変化ディスクその他でなる記録媒体2に記録し、または、例えば、地上波や、衛星回線、電話回線、CATV網、インターネットその他の伝送路3を介して伝送する。
【0048】
受信装置4では、記録媒体2に記録された符号化データが再生され、または、伝送路3を介して伝送されてくる符号化データが受信され、その符号化データが階層復号化される。そして、その結果得られる復号画像が、図示せぬディスプレイに供給されて表示される。
【0049】
なお、以上のような画像処理システムは、例えば、光ディスク装置や、光磁気ディスク装置、磁気テープ装置その他の、画像の記録/再生を行う装置や、あるいはまた、例えば、テレビ電話装置や、テレビジョン放送システム、CATVシステムその他の、画像の伝送を行う装置などに適用される。また、送信装置1が出力する符号化データのデータ量が少ないため、図1の画像処理システムは、伝送レートの低い、例えば、携帯電話機その他の、移動に便利な携帯端末などにも適用可能である。
【0050】
図2は、送信装置1の構成例を示している。
【0051】
符号化すべきディジタル画像データ、即ち、第1階層(最上位階層)の画像データは、第1階層の符号化データとして、そのまま信号処理回路15に供給される他、間引き回路11および最適補正データ算出回路13に供給される。間引き回路11では、第1階層の画像データの画素数が間引かれることにより、1つ下位の第2階層の画像データが形成される。即ち、間引き回路11では、例えば、図3に示すように、第1階層の画像データ(同図において、○印で示す部分)が1/9に単純に間引かれ(横方向および縦方向とも1/3に間引かれ)、これにより第2階層の画像データ(同図において△印で示す部分)が形成される。この第2階層の画像データは、間引き回路12および最適補正データ算出回路13に供給される。
【0052】
間引き回路12では、第2階層の画像データの画素数が間引かれることにより、さらに1つ下位の第3階層の画像データが形成される。即ち、間引き回路12では、例えば、間引き回路11における場合と同様に、第2階層の画像データが1/9に単純に間引かれ、これにより、図3において×印で示す第3階層の画像データが形成される。この第3階層の画像データは、最適補正データ算出回路14に供給される。
【0053】
以上のようにして、間引き回路11および12では、図4に示すように、第1階層の画像データ(原画像)から、第2階層および第3階層の画像データが形成される。
【0054】
最適補正データ算出回路13では、第2階層の画像データから、第1階層の階層の復号画像を得るのに最適な最適補正データ(以下、適宜、第2階層の最適補正データという)が算出され、第2階層の符号化データとして信号処理回路15に出力される。最適補正データ算出回路14においては、最適補正データ算出回路14が出力する最適補正データを得るのに最適な最適補正データ(以下、適宜、第3階層の最適補正データという)が算出され、第3階層の符号化データとして信号処理回路15に供給される。
【0055】
ここで、第3階層の最適補正データは、第2階層の最適補正データを得るのに最適なものであり、また、第2階層の最適補正データは、第1階層の復号画像を得るのに最適なものであるから、第3階層の最適補正データも、第2階層の最適補正データと同様に、第1階層の復号画像を得るのに最適なものということができる。
【0056】
信号処理回路15では、第2階層の符号化データに含まれる、後述する予測係数(第1階層の予測係数)が取り出され、第3階層の符号化データの中に含められる。そして、信号処理回路15では、第1階層乃至第3階層の符号化データに対して、例えば誤り訂正処理その他の必要な信号処理が施され、その後、多重化されて、最終的な符号化データとして出力される。なお、信号処理回路15においては、最下位階層である第3階層の符号化データに対しては、他の階層の符号化データより強力な誤り訂正が施されるようになされている。
【0057】
以上のようにして信号処理回路13から出力された符号化データが、記録媒体2に記録され、または伝送路3を介して伝送される。
【0058】
なお、以上においては、間引き回路11および12において、同一の割合で間引きが行われるものとしたが、間引き回路11と12で行われる間引きの割合は、同一である必要はない。
【0059】
次に、図5は、図2の最適補正データ算出回路13の構成例を示している。なお、最適補正データ算出回路14も、最適補正データ算出回路13と同様に構成されるため、その説明は省略する。
【0060】
間引き回路11からの第2階層の画像データは、補正部21に供給されるようになされており、また、第1階層の画像データは、ローカルデコード部22に供給されるようになされている。さらに、第1階層の画像データは、誤差算出部23にも供給されるようになされている。
【0061】
補正部21は、第2階層の画像データを、判定部24からの制御にしたがって補正するようになされている。補正部21における補正の結果得られる補正データは、ローカルデコード部22および判定部24に供給するようになされている。
【0062】
ローカルデコード部22は、補正部21からの補正データ、即ち、第2階層の画像データの補正結果に基づいて、その1つ上位の第1階層の予測値を予測し、誤差算出部23に供給するようになされている。
【0063】
なお、ローカルデコード部22は、後述するように、補正データとの線形結合によって得られる第1階層の予測値を算出するためのクラスごとの予測係数を、補正データと第1階層の画像データ(原画像)とを用いて求める処理を行い、そのクラスごとの予測係数に基づいて、第1階層の予測値を求める適応処理を行うようになされており、このとき得られたクラスごとの予測係数は、判定部24に供給されるようにもなされている。
【0064】
誤差算出部23は、そこに入力される、第1階層の画像データ(原画像)に対する、ローカルデコード部22からの予測値の予測誤差を算出するようになされている。この予測誤差は、誤差情報として、判定部24に供給されるようになされている。
【0065】
判定部24は、誤差算出部23からの誤差情報に基づいて、補正部21が出力した補正データを、元の画像(ここでは、第1階層の画像)の階層符号化結果とすることの適正さを判定するようになされている。そして、判定部24は、補正部21が出力した補正データを、元の画像の階層符号化結果とすることが適正でないと判定した場合には、補正部21を制御し、さらに、第2階層の画像データを補正させ、その結果得られる新たな補正データを出力させるようになされている。また、判定部24は、補正部21が出力した補正データを、元の画像の階層符号化結果とすることが適正であると判定した場合には、補正部21から供給された補正データを、最適な補正データ(第2階層の最適補正データ)として多重化部25に供給するとともに、ローカルデコード部22から供給されたクラスごとの予測係数も多重化部25に供給するようになされている。
【0066】
多重化部25は、判定部24からの最適補正データと、クラスごとの予測係数とを多重化し、その多重化結果を、第2階層の符号化データとして出力するようになされている。
【0067】
次に、図6のフローチャートを参照して、その動作について説明する。補正部21に対して、第2階層の画像データが供給されると、補正部21は、ステップS1において、最初は、補正を行わずに、そのまま第2階層の画像データを、ローカルデコード部22および判定部24に出力する。ローカルデコード部22では、ステップS2において、補正部21からの補正データ(最初は、上述したように、第2階層の画像データそのもの)がローカルデコードされる。
【0068】
即ち、ステップS2では、補正部21からの補正データとの線形結合によって得られる1つ上位の第1階層の予測値を算出するためのクラスごとの予測係数を、補正データと第1階層の画像データとを用いて求める処理が行われる。さらに、そのクラスごとの予測係数に基づいて、第1階層の画像の予測値が求められ、誤差算出部23に供給される。
【0069】
誤差算出部23は、ローカルデコード部22から、第1階層の予測値を受信すると、ステップS3において、第1階層の画像データに対する、ローカルデコード部22からの予測値の予測誤差を算出し、誤差情報として、判定部24に供給する。判定部24は、誤差算出部23から誤差情報を受信すると、ステップS4において、その誤差情報に基づいて、補正部21が出力した補正データを、第1階層の画像の階層符号化結果とすることの適正さを判定する。
【0070】
即ち、ステップS4においては、例えば、誤差情報が所定の閾値ε以下であるかどうかが判定される。ステップS4において、誤差情報が所定の閾値ε以下でないと判定された場合、補正部21が出力した補正データを、第2階層の画像とするのは適正でないと認識され、ステップS5に進み、判定部24は、補正部21を制御し、これにより、第2階層の画像データを補正させる。補正部21は、判定部24の制御にしたがって、補正量(後述する補正値△)を変えて、第2階層の画像データを補正し、その結果得られる補正データを、ローカルデコード部22および判定部24に出力する。そして、ステップS2に戻り、以下、同様の処理が繰り返される。
【0071】
一方、ステップS4において、誤差情報が所定の閾値ε以下であると判定された場合、補正部21が出力した補正データを、第2階層の画像とするのは適正であると認識され、判定部24は、所定の閾値ε以下の誤差情報が得られたときの補正データを、最適補正データとして、クラスごとの予測係数とともに、多重化部25に出力する。多重化部25では、ステップS6において、判定部24からの最適補正データとクラスごとの予測係数とが多重化され、その多重化結果が、第2階層の符号化データとして出力されて、処理を終了する。
【0072】
以上のように、誤差情報が所定の閾値ε以下となったときにおける補正データを、第2階層の画像データとするようにしたので、受信装置4側においては、その補正データ(最適補正データ)に基づいて、元の画像(第1階層の画像)とほぼ同一の画像を得ることが可能となる。
【0073】
なお、最適補正データ算出回路13においては、補正データとの線形結合によって得られる1つ上位の第1階層の予測値を算出するためのクラスごとの予測係数を求める処理が、上述したように、第1階層の画像データを用いて行われるが、最適補正データ算出回路14では、その処理は、最適補正データ算出回路13が出力する最適補正データを用いて行われる。但し、最適補正データ算出回路14には、間引き回路11が出力する第2階層の画像をそのまま用いて、適応処理(予測係数に基づいて予測値を求める処理)を行わせるようにすることも可能である。
【0074】
次に、図7は、図5の補正部21の構成例を示している。
【0075】
第2階層の画像データは、補正回路32に供給されるようになされており、補正回路32は、判定部24(図5)からの制御信号にしたがって、補正値ROM33にアドレスを与え、これにより、補正値△を読み出すようになされている。そして、補正回路32は、第2階層の画像データに対して、補正値ROM33からの補正値△を、例えば加算することで、補正データを生成し、ローカルデコード部22および判定部24に供給するようになされている。補正値ROM33は、第2階層の画像データを補正するための、各種の補正値△の組合せ(例えば、1フレーム分の第2階層の画像データを補正するための補正値の組合せなど)を記憶しており、補正回路32から供給されるアドレスに対応する補正値△の組合せを読み出して、補正回路32に供給するようになされている。
【0076】
次に、図8を参照して、図7の補正部21の処理について説明する。
【0077】
例えば、1フレーム分などの第2階層の画像データが、補正回路32に供給されると、補正回路32は、ステップS11において、その第2階層の画像データを受信し、ステップS12において、判定部24(図5)から制御信号を受信したかどうかを判定する。ステップS12において、制御信号を受信していないと判定された場合、ステップS13およびS14をスキップして、ステップS15に進み、補正回路32は、第2階層の画像データを、そのまま補正データとして、ローカルデコード部22および判定部24に出力し、ステップS12に戻る。
【0078】
即ち、判定部24は、上述したように、誤差情報に基づいて、補正部21(補正回路32)を制御するようになされており、補正回路32において第2階層の画像データが受信された直後は、まだ、誤差情報が得られないため(誤差情報が、誤差算出部23から出力されないため)、判定部24からは制御信号は出力されない。このため、第2階層の画像データを受信した直後は、補正回路32は、その第2階層の画像データを補正せず(0を加算する補正をして)、そのまま補正データとして、ローカルデコード部22および判定部24に出力する。
【0079】
一方、ステップS12において、判定部24からの制御信号を受信したと判定された場合、ステップS13において、補正回路32は、その制御信号にしたがったアドレスを、補正値ROM33に出力する。これにより、ステップS13では、補正値ROM33から、そのアドレスに記憶されている、1フレーム分の第2階層の画像データを補正するための補正値△の組合せ(集合)が読み出され、補正回路32に供給される。補正回路32は、補正値ROM33から補正値△の組合せを受信すると、ステップS14において、1フレームの第2階層の画像データそれぞれに、対応する補正値△を加算し、これにより、第2階層の画像データを補正した補正データを算出する。その後は、ステップS15に進み、補正データが、補正回路32からローカルデコード部22および判定部24に出力され、ステップS12に戻る。
【0080】
以上のようにして、補正部21は、判定部24の制御にしたがって、第2階層の画像データを、種々の値に補正した補正データを出力することを繰り返す。
【0081】
なお、判定部24は、1フレームの画像についての符号化を終了すると、その旨を表す制御信号を、補正部21に供給するようになされている。補正部21では、ステップS12において、1フレームの画像についての符号化が終了した旨の制御信号を、判定部24から受信したかどうかも判定されるようになされており、受信したと判定された場合は、そのフレームに対する処理を終了する。そして、次のフレームが供給されるのを待って、ステップS11に戻り、再び、ステップS11からの処理を繰り返す。
【0082】
次に、図9は、図5のローカルデコード部22の構成例を示している。
【0083】
補正部21からの補正データは、クラス分類用ブロック化回路41および予測値計算用ブロック化回路42に供給されるようになされている。クラス分類用ブロック化回路41は、補正データを、その性質に応じて所定のクラスに分類するための単位である、注目している補正データ(注目補正データ)を中心としたクラス分類用ブロックにブロック化するようになされている。
【0084】
即ち、いま、例えば、図10において、○印で示す画素が第1階層の画像を構成するものとするとともに、●印で示す画素が第2階層の画像(補正データ)を構成するものとして、上からi番目で、左からj番目の補正データ(または画素)をXijと表すとすると、クラス分類用ブロック化回路41は、注目画素(注目補正データ)Xijの左上、上、右上、左、右、左下、下、右下に隣接する8つの画素X(i-1)(j-1),X(i-1)j,X(i-1)(j+1),Xi(j-1),Xi(j+1),X(i-1)(j-1),X(i-1)j,X(i+1)(j+1)に、自身を含め、合計9画素(9の補正データ)で構成されるクラス分類用ブロックを構成するようになされている。このクラス分類用ブロックは、クラス分類適応処理回路43に供給されるようになされている。
【0085】
なお、この場合、クラス分類用ブロックは、3×3画素でなる正方形状のブロックで構成されることとなるが、クラス分類用ブロックの形状は、正方形である必要はなく、その他、例えば、長方形や、十文字形、その他の任意な形とすることが可能である。また、クラス分類用ブロックを構成する画素数も、3×3(横×縦)の9画素に限定されるものではない。
【0086】
予測値計算用ブロック化回路42は、補正データを、第1階層の画像の予測値を計算するための単位である、注目補正データを中心とした予測値計算用ブロックにブロック化するようになされている。即ち、いま、図10において、補正データXij(図中、●印で示す部分)を中心とする、元の画像(ここでは、第1階層の画像)における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)で構成される正方形状の予測値計算用ブロック(画素Xijを注目画素(注目補正データ)とする予測値計算用ブロック)を構成するようになされている。
【0087】
具体的には、例えば、図10において四角形で囲む、第1階層の画像における画素Y33(1)乃至Y33(9)の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により、予測値計算用ブロックが構成される。
【0088】
予測値計算用ブロック化回路42において得られた予測値計算用ブロックは、クラス分類適応処理回路43に供給されるようになされている。
【0089】
なお、予測値計算用ブロックについても、クラス分類用ブロックにおける場合と同様に、その画素数および形状は、上述したものに限定されるものではない。但し、予測値計算用ブロックを構成する画素数は、クラス分類用ブロックを構成する画素数よりも多くするのが望ましい。
【0090】
また、上述のようなブロック化を行う場合において(ブロック化以外の処理についても同様)、画像の画枠付近では、対応する画素が存在しないことがあるが、この場合には、例えば、画枠を構成する画素と同一の画素が、その外側に存在するものとして処理を行う。
【0091】
クラス分類適応処理回路43は、ADRC(Adaptive Dynamic Range Coding)処理回路、クラス分類回路45、および適応処理回路46で構成され、クラス分類適応処理を行うようになされている。
【0092】
クラス分類適応処理とは、入力信号を、その特徴に基づいて幾つかのクラスに分類し、各クラスの入力信号に、そのクラスに適切な適応処理を施すもので、大きく、クラス分類処理と適応処理とに分かれている。
【0093】
ここで、クラス分類処理および適応処理について簡単に説明する。
【0094】
まず、クラス分類処理について説明する。
【0095】
いま、例えば、図11(A)に示すように、ある注目画素と、それに隣接する3つの画素により、2×2画素でなるブロック(クラス分類用ブロック)を構成し、また、各画素は、1ビットで表現される(0または1のうちのいずれかのレベルをとる)ものとする。この場合、2×2の4画素のブロックは、各画素のレベル分布により、図11(B)に示すように、16(=(214)パターンに分類することができる。即ち、ブロックを構成する注目画素をパターン分けすることができ、このようなパターン分けが、クラス分類処理であり、クラス分類回路45において行われる。
【0096】
なお、クラス分類処理は、画像(ブロック内の画像)のアクティビティ(画像の複雑さ)(変化の激しさ)などをも考慮して行うようにすることが可能である。
【0097】
ここで、通常、各画素には、例えば8ビット程度が割り当てられる。また、本実施の形態においては、上述したように、クラス分類用ブロックは、3×3の9画素で構成される。従って、このようなクラス分類用ブロックを対象にクラス分類処理を行ったのでは、(289という膨大な数のクラスに分類されることになる。$
そこで、本実施の形態においては、ADRC処理回路44において、クラス分類用ブロックに対して、ADRC処理が施されるようになされており、これにより、クラス分類用ブロックを構成する画素のビット数を小さくすることで、クラス数を削減するようになされている。
【0098】
即ち、例えば、いま、説明を簡単にするため、図12(A)に示すように、直線上に並んだ4画素で構成されるブロックを考えると、ADRC処理においては、その画素値の最大値MAXと最小値MINが検出される。そして、DR=MAX−MINを、ブロックの局所的なダイナミックレンジとし、このダイナミックレンジDRに基づいて、ブロックを構成する画素の画素値がKビットに再量子化される。
【0099】
即ち、ブロック内の各画素値から、最小値MINを減算し、その減算値をDR/2Kで除算する。そして、その結果得られる除算値に対応するコード(ADRCコード)に変換される。具体的には、例えば、K=2とした場合、図12(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が加算されることで復号が行われる。
【0100】
ここで、このようなADRC処理はノンエッジマッチングと呼ばれる。
【0101】
なお、ADRC処理については、本件出願人が先に出願した、例えば、特開平3−53778号公報などに、その詳細が開示されている。
【0102】
ブロックを構成する画素に割り当てられているビット数より少ないビット数で再量子化を行うADRC処理を施すことにより、上述したように、クラス数を削減することができ、このようなADRC処理が、ADRC処理回路44において行われるようになされている。
【0103】
なお、本実施の形態では、クラス分類回路45において、ADRC処理回路44から出力されるADRCコードに基づいて、クラス分類処理が行われるが、クラス分類処理は、その他、例えば、DPCM(予測符号化)や、BTC(Block Truncation Coding)、VQ(ベクトル量子化)、DCT(離散コサイン変換)、アダマール変換などを施したデータを対象に行うようにすることも可能である。
【0104】
次に、適応処理について説明する。
【0105】
例えば、いま、第1階層の画像の画素値yの予測値E[y]を、その周辺の幾つかの画素の画素値(ここでは、第2階層の画像データを補正した補正データ)(以下、適宜、学習データという)x1,x2,・・・と、所定の予測係数w1,w2,・・・の線形結合により規定される線形1次結合モデルにより求めることを考える。この場合、予測値E[y]は、次式で表すことができる。
【0106】

Figure 0003912629
【0107】
そこで、一般化するために、予測係数wの集合でなる行列W、学習データの集合でなる行列X、および予測値E[y]の集合でなる行列Y’を、
【数1】
Figure 0003912629
で定義すると、次のような観測方程式が成立する。
【0108】
Figure 0003912629
【0109】
そして、この観測方程式に最小自乗法を適用して、第1階層の画像の画素値yに近い予測値E[y]を求めることを考える。この場合、第1階層の画像の画素値(以下、適宜、教師データという)yの集合でなる行列Y、および第1階層の画像の画素値yに対する予測値E[y]の残差eの集合でなる行列Eを、
【数2】
Figure 0003912629
で定義すると、式(2)から、次のような残差方程式が成立する。
【0110】
Figure 0003912629
【0111】
この場合、第1階層の画像の画素値yに近い予測値E[y]を求めるための第1階層の予測係数wiは、自乗誤差
【数3】
Figure 0003912629
を最小にすることで求めることができる。
【0112】
従って、上述の自乗誤差を予測係数wiで微分したものが0になる場合、即ち、次式を満たす予測係数wiが、第1階層の画像の画素値yに近い予測値E[y]を求めるため最適値ということになる。
【0113】
【数4】
Figure 0003912629
Figure 0003912629
【0114】
そこで、まず、式(3)を、第1階層の予測係数wiで微分することにより、次式が成立する。
【0115】
【数5】
Figure 0003912629
Figure 0003912629
【0116】
式(4)および(5)より、式(6)が得られる。
【0117】
【数6】
Figure 0003912629
Figure 0003912629
【0118】
さらに、式(3)の残差方程式における学習データx、予測係数w、教師データy、および残差eの関係を考慮すると、式(6)から、次のような正規方程式を得ることができる。
【0119】
【数7】
Figure 0003912629
Figure 0003912629
【0120】
式(7)の正規方程式は、求めるべき予測係数wの数と同じ数だけたてることができ、従って、式(7)を解くことで、最適な予測係数wを求めることができる。なお、式(7)を解くにあたっては、例えば、掃き出し法(Gauss-Jordanの消去法)などを適用することが可能である。
【0121】
以上のようにして、クラスごとに最適な第1階層の予測係数wを求め、さらに、その予測係数wを用い、式(1)により、第1階層の画像の画素値yに近い予測値E[y]を求めるのが適応処理であり、この適応処理が、適応処理回路46において行われるようになされている。
【0122】
なお、適応処理は、間引かれた画像(ここでは、第2階層の画像)には含まれていない、元の画像(ここでは、第1階層の画像)に含まれる成分が再現される点で、補間処理とは異なる。即ち、適応処理では、式(1)だけを見る限りは、いわゆる補間フィルタを用いての補間処理と同一であるが、その補間フィルタのタップ係数に相当する予測係数wが、教師データyを用いての、いわば学習により求められるため、元の画像に含まれる成分を再現することができる。このことから、適応処理は、いわば画像の創造作用がある処理ということができる。
【0123】
次に、図13のフローチャートを参照して、図9のローカルデコード部22の処理について説明する。
【0124】
ローカルデコード部22においては、まず最初に、ステップS21において、補正部21からの補正データがブロック化される。即ち、クラス分類用ブロック化回路41において、補正データが、注目補正データを中心とする3×3画素のクラス分類用ブロックにブロック化され、クラス分類適応処理回路43に供給されるとともに、予測値計算用ブロック化回路42において、補正データが、注目補正データを中心とする5×5画素の予測値計算用ブロックにブロック化され、クラス分類適応処理回路43に供給される。
【0125】
クラス分類適応処理回路43には、上述したように、クラス分類用ブロックおよび予測値計算用ブロックの他、第1階層の画像データが供給されるようになされており、クラス分類用ブロックはADRC処理部44に、予測値計算用ブロックおよび第1階層の画像データは適応処理回路46に供給されるようになされている。
【0126】
ADRC処理回路44は、クラス分類用ブロックを受信すると、ステップS22において、そのクラス分類用ブロックに対して、例えば、1ビットのADRC(1ビットで再量子化を行うADRC)処理を施し、これにより、補正データを、1ビットに変換(符号化)して、クラス分類回路45に出力する。クラス分類回路45は、ステップS23において、ADRC処理が施されたクラス分類用ブロックに対して、クラス分類処理を施す。即ち、クラス分類用ブロックを構成する各画素のレベル分布の状態を検出し、そのクラス分類用ブロックが属するクラス(そのクラス分類用ブロックを構成する注目補正データのクラス)を判定する。このクラスの判定結果は、クラス情報として、適応処理回路46に供給される。
【0127】
なお、本実施の形態においては、1ビットのADRC処理が施された3×3の9画素で構成されるクラス分類用ブロックに対して、クラス分類処理が施されるので、各クラス分類用ブロックは、512(=(219)のクラスのうちのいずれかに分類されることになる。
【0128】
そして、ステップS24に進み、適応処理回路46において、クラス分類回路45からのクラス情報に基づいて、各クラスごとに適応処理が施され、これにより、第1階層のクラスごとの予測係数および1フレーム分の予測値が算出される。
【0129】
即ち、本実施の形態においては、クラスごとの25×9個の予測係数が、1フレームの補正データと第1階層の画像データとから算出される。そして、例えば、ある1つの補正データに注目した場合に、その注目補正データに対応する、第1階層の画像の画素と、その画素の周りに隣接する8個の画素の、合計9個の画素についての予測値が、注目補正データを中心とする5×5画素でなる予測値計算用ブロックを用いて、適応処理が行われることにより算出される。
【0130】
具体的には、例えば、いま、図10に示した補正データX33を中心とする3×3の補正データX22,X23,X24,X32,X33,X34,X42,X43,X44でなるクラス分類用ブロック(補正データ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から出力されたものとすると、まず、その予測値計算用ブロックを構成する補正データを、学習データとするとともに、第1階層の画像における、補正データX33を中心とする3×3画素(図10において四角形で囲んである部分)の画素値Y33(1)乃至Y33(9)を、教師データとして、式(7)に示した正規方程式がたてられる。
【0131】
さらに、例えば、1フレームの中の、同一のクラス情報Cにクラス分類されるクラス分類用ブロックに対応する、他の予測値計算用ブロックについても同様にして、正規方程式がたてられ、画素値Y33(k)(ここでは、k=1,2,・・・,9)の予測値E[Y33(k)]を求めるための予測係数w1(k)乃至w25(k)(本実施の形態では、1つの予測値を求めるのに学習データが25個用いられるので、それに対応して、予測係数wも25個必要となる)を算出することができるだけの数の正規方程式が得られると(従って、そのような数の正規方程式が得られるまでは、ステップS24では、正規方程式をたてる処理までが行われる)、その正規方程式を解くことで、クラス情報Cについて、画素値Y33(k)の予測値E[Y33(k)]を求めるのに最適な予測係数w1(k)乃至w25(k)が算出される。
【0132】
この処理は、各クラスごとに行われ、これにより、各クラスごとに25×9個の予測係数が算出される。そして、クラス情報Cに対応する予測係数と、予測地形算用ブロックとを用い、式(1)に対応する次式にしたがって、予測値E[Y33(k)]が求められる。
【0133】
Figure 0003912629
【0134】
ステップS24では、以上のようにして、25×9の予測係数が、クラスごとに求められ、さらに、そのクラスごとの予測係数を用いて、注目補正データを中心とする3×3の原画像の画素の予測値が求められる。
【0135】
その後、ステップS25に進み、クラスごとの25×9の予測係数は判定部24に供給され、3×3画素単位で求められた1フレーム分の予測値は誤差算出部23に供給される。そして、ステップS21に戻り、以下同様の処理が、例えば、上述したように1フレーム単位で繰り返される。
【0136】
次に、図14は、図5の誤差算出部23の構成例を示している。
【0137】
ブロック化回路51には、元の画像データ、即ち、ここでは第1階層の画像データが供給されるようになされており、そこでは、ブロック化回路51は、その画像データを、ローカルデコード部22から出力される第1階層の予測値に対応する9個単位でブロック化し、その結果得られる3×3画素のブロックを、自乗誤差算出回路52に出力するようになされている。自乗誤差算出部52には、上述したように、ブロック化回路51からブロックが供給される他、ローカルデコード部22から第1階層の予測値が、9個単位(3×3画素のブロック単位)で供給されるようになされており、自乗誤差算出回路52は、第1階層の画像に対する、その予測値の予測誤差としての自乗誤差を算出し、積算部55に供給するようになされている。
【0138】
即ち、自乗誤差算出回路は52は、演算器53および54で構成されている。演算器53は、ブロック化回路51からのブロック化された画像データそれぞれから、対応する予測値を減算し、その減算値を、演算器54に供給するようになされている。演算器54は、演算器53の出力(第1階層の画像データとその予測値との差分)を自乗し、積算部55に供給するようになされている。
【0139】
積算部55は、自乗誤差算出回路52から自乗誤差を受信すると、メモリ56の記憶値を読み出し、その記憶値と自乗誤差とを加算して、再び、メモリ56に供給して記憶させることを繰り返すことで、自乗誤差の積算値(誤差分散)を求めるようになされている。さらに、積算部55は、所定量(例えば、1フレーム分など)についての自乗誤差の積算が終了すると、その積算値を、メモリ56から読み出し、誤差情報として、判定部24に供給するようになされている。メモリ56は、1フレームについての処理が終了するごとに、その記憶値をクリアしながら、積算部55の出力値を記憶するようになされている。
【0140】
次に、その動作について、図15のフローチャートを参照して説明する。誤差算出部23では、まず最初に、ステップS31において、メモリ56の記憶値が、例えば0にクリアされ、ステップS32に進み、ブロック化回路51において、第1階層の画像データが、上述したようにブロック化され、その結果得られるブロックが、自乗誤差算出回路52に供給される。自乗誤差算出回路52では、ステップS33において、ブロック化回路51から供給されるブロックを構成する、第1階層の画像の画像データと、ローカルデコード部22から供給される第1階層の予測値との自乗誤差が算出される。
【0141】
即ち、ステップS33では、演算器53において、ブロック化回路51より供給されたブロック化された第1階層の画像データそれぞれから、対応する予測値が減算され、演算器54に供給される。さらに、ステップS33では、演算器54において、演算器53の出力が自乗され、積算部55に供給される。
【0142】
積算部55は、自乗誤差算出回路52から自乗誤差を受信すると、ステップS34において、メモリ56の記憶値を読み出し、その記憶値と自乗誤差とを加算することで、自乗誤差の積算値を求める。積算部55において算出された自乗誤差の積算値は、メモリ56に供給され、前回の記憶値に上書きされることで記憶される。
【0143】
そして、積算部55では、ステップS35において、所定量としての、例えば、1フレーム分についての自乗誤差の積算が終了したかどうかが判定される。ステップS35において、1フレーム分についての自乗誤差の積算が終了していないと判定された場合、ステップS32に戻り、再び、ステップS32からの処理を繰り返す。また、ステップS35において、1フレーム分についての自乗誤差の積算が終了したと判定された場合、ステップS36に進み、積算部55は、メモリ56に記憶された1フレーム分についての自乗誤差の積算値を読み出し、誤差情報として、判定部24に出力する。そして、ステップS31に戻り、再び、ステップS31からの処理を繰り返す。
【0144】
従って、誤差算出部23では、第1階層の画像データをYij(k)とするとともに、ローカルデコード部22において補正データから生成された第1階層の予測値をE[Yij(k)]とするとき、次式にしたがった演算が行われることで、誤差情報Qが算出される。
【0145】
Q=Σ(Yij(k)−E[Yij(k)])2
但し、Σは、1フレーム分についてのサメーションを意味する。
【0146】
次に、図16は、図5の判定部24の構成例を示している。
【0147】
予測係数メモリ61は、ローカルデコード部22から供給される予測係数を記憶するようになされている。補正データメモリ62は、補正部21から供給される補正データを記憶するようになされている。
【0148】
なお、補正データメモリ62は、補正部21において、第2階層の画像データが新たに補正され、これにより、新たな補正データが供給された場合には、既に記憶している補正データ(前回の補正データ)に代えて、新たな補正データを記憶するようになされている。また、このように補正データが、新たなものに更新された後、ローカルデコード部22からは、その新たな補正データに対応する、新たなクラスごとの予測係数のセットが出力されるが、予測係数メモリ61においても、このように新たなクラスごとの予測係数が供給された場合には、既に記憶しているクラスごとの予測係数(前回のクラスごとの予測係数)に代えて、その新たなクラスごとの予測係数を記憶するようになされている。
【0149】
誤差情報メモリ63は、誤差算出部23から供給される誤差情報を記憶するようになされている。なお、誤差情報メモリ63は、誤差算出部23から、今回供給された誤差情報の他に、前回供給された誤差情報も記憶するようになされている(新たな誤差情報が供給されても、さらに新たな誤差情報が供給されるまでは、既に記憶している誤差情報を保持するようになされている)。また、誤差情報メモリ63は、新たなフレームについての処理が開始されるごとにクリアされるようになされている。
【0150】
比較回路64は、誤差情報メモリ63に記憶された今回の誤差情報と、所定の閾値εとを比較し、さらに、必要に応じて、今回の誤差情報と前回の誤差情報との比較も行うようになされている。比較回路64における比較結果は、制御回路65に供給されるようになされている。
【0151】
制御回路65は、比較回路64における比較結果に基づいて、補正データメモリ62に記憶された補正データを、画像の符号化結果とすることの適正(最適)さを判定し、最適でないと認識(判定)した場合には、新たな補正データの出力を要求する制御信号を、補正部21(図5)に供給するようになされている。また、制御回路65は、補正データメモリ62に記憶された補正データを、画像の符号化結果とすることが最適であると認識した場合には、予測係数メモリ61に記憶されているクラスごとの予測係数を読み出し、多重化部25に出力するとともに、補正データメモリ62に記憶されている補正データを読み出し、最適補正データとして、やはり多重化部25に供給するようになされている。さらに、この場合、制御回路65は、1フレームの画像についての符号化を終了した旨を表す制御信号を、補正部21に出力し、これにより、上述したように、補正部21に、次のフレームについての処理を開始させるようになされている。
【0152】
次に、図17を参照して、判定部24の動作について説明する。判定部24では、まず最初に、ステップS41において、誤差算出部23から誤差情報を受信したかどうかが、比較回路64によって判定され、誤差情報を受信していないと判定された場合、ステップS41に戻る。また、ステップS41において、誤差情報を受信したと判定された場合、即ち、誤差情報メモリ63に誤差情報が記憶された場合、ステップS42に進み、比較回路64において、誤差情報メモリ63に、いま記憶された誤差情報(今回の誤差情報)と、所定の閾値εとが比較され、いずれが大きいかが判定される。
【0153】
ステップS42において、今回の誤差情報が、所定の閾値ε以上であると判定された場合、比較回路64において、誤差情報メモリ63に記憶されている前回の誤差情報が読み出される。そして、比較回路64は、ステップS43において、前回の誤差情報と、今回の誤差情報とを比較し、いずれが大きいかを判定する。
【0154】
ここで、1フレームについての処理が開始され、最初に誤差情報が供給されたときには、誤差情報メモリ63には、前回の誤差情報は記憶されていないので、この場合には、判定部24においては、ステップS43以降の処理は行われず、制御回路65において、所定の初期アドレスを出力するように、補正回路32(図7)を制御する制御信号が出力されるようになされている。
【0155】
ステップS43において、今回の誤差情報が、前回の誤差情報以下であると判定された場合、即ち、第2階層の画像データの補正を行うことにより誤差情報が減少した場合、ステップS44に進み、制御回路65は、補正値△を、前回と同様に変化させるように指示する制御信号を、補正回路32に出力し、ステップS41に戻る。また、ステップS43において、今回の誤差情報が、前回の誤差情報より大きいと判定された場合、即ち、第2階層の画像データの補正を行うことにより誤差情報が増加した場合、ステップS45に進み、制御回路65は、補正値△を、前回と逆に変化させるように指示する制御信号を、補正回路32に出力し、ステップS41に戻る。
【0156】
なお、減少し続けていた誤差情報が、あるタイミングで上昇するようになったときは、制御回路65は、補正値△を、いままでの場合の、例えば1/2の大きさで、前回と逆に変化させるように指示する制御信号を出力するようになされている。
【0157】
そして、ステップS41乃至S45の処理を繰り返すことにより、誤差情報が減少し、これにより、ステップS42において、今回の誤差情報が、所定の閾値εより小さいと判定された場合、ステップS46に進み、制御回路65は、予測係数メモリ61に記憶されているクラスごとの予測係数を読み出すとともに、補正データメモリ62に記憶されている1フレーム分の補正データを、最適補正データとして読み出し、多重化部25に供給して、処理を終了する。
【0158】
その後は、次のフレームについての誤差情報が供給されるのを待って、再び、図17に示すフローチャートにしたがった処理を繰り返す。
【0159】
なお、補正回路32には、第2階層の画像データの補正は、1フレームすべてのデータについて行わせるようにすることもできるし、その一部のデータについてだけ行わせるようにすることもできる。一部のデータについてだけ補正を行う場合においては、制御回路65に、例えば、誤差情報に対する影響の強い画素を検出させ、そのような画素についてのデータだけを補正するようにすることができる。誤差情報に対する影響の強い画素は、例えば、次のようにして検出することができる。即ち、まず最初に、第2階層の画像データをそのまま用いて処理を行うことにより、その誤差情報を得る。そして、第2階層の画像データを、1画素ずつ、同一の補正値△だけ補正するような処理を行わせる制御信号を、制御回路65から補正回路32に出力し、その結果得られる誤差情報を、第2階層の画像データをそのまま用いた場合に得られる誤差情報と比較し、その差が、所定値以上となる画素を、誤差情報に対する影響の強い画素として検出すれば良い。
【0160】
以上のように、誤差情報を所定の閾値εより小さくする(以下にする)まで、第2階層の画像データの補正が繰り返され、誤差情報が所定の閾値εより小さくなったときにおける補正データが、画像の符号化結果として出力されるので、受信装置4(図1)においては、間引き後の画像を構成する画素の画素値を、元の画像を復元するのに最も適当な値にした補正データ(最適補正データ)から、原画像と同一(ほぼ同一)の復号画像を得ることが可能となる。
【0161】
また、画像は、間引き処理により圧縮される他、ADRC処理およびクラス分類適応処理などによっても圧縮されるため、非常に高圧縮率の符号化データを得ることができる。なお、送信装置1における、以上のような符号化処理は、間引きによる圧縮処理と、クラス分類適応処理とを、いわば有機的に統合して用いることにより、高能率圧縮を実現するものであり、このことから統合符号化処理ということができる。
【0162】
次に、図18は、図1の受信装置4の構成例を示している。
【0163】
信号処理回路71には、記録媒体2に記録された符号化データが再生され、または伝送路3を介して伝送されてくる符号化データが受信されて供給される。信号処理回路71においては、そこに供給される符号化データが受信され、第1階層乃至第3階層の符号化データに分離されて、誤り訂正処理その他が施される。さらに、信号処理部71は、第3階層の符号化データの中から、第1階層の予測係数をコピーし、第2階層の符号化データの中に含め、その後、第1階層乃至第3階層の符号化データを出力する。
【0164】
第1階層の符号化データは、そのまま第1階層の復号画像として出力される。また、第2階層または第3階層の符号化データは、予測部72または73にそれぞれ出力される。
【0165】
予測部72では、第2階層の符号化データに基づいて、第1階層の画像の予測値が求められ、第1階層の復号画像として出力される。また、予測部72では、第3階層の符号化データに基づいて、やはり、第1階層の予測値が求められて出力される。
【0166】
次に、図19は、予測部72の構成例を示している。
【0167】
信号処理回路71(図18)からの第2階層の符号化データは、分離部81に供給され、そこで、第2階層の最適補正データと、第1階層のクラスごとの予測係数とに分離され、デコード部80に供給される。
【0168】
デコード部80は、クラス分類用ブロック化回路82、予測値計算用ブロック化回路83、ADRC処理回路84、クラス分類回路85、および予測回路86で構成されており、分離部81からの第2階層の最適補正データは、クラス分類用ブロック化回路82および予測値計算用ブロック化回路83に入力され、また、第1階層のクラスごとの予測係数は、予測回路86に入力される。そして、予測回路86では、その第1階層のクラスごとの予測係数が、その内蔵するメモリ86Aに記憶される。
【0169】
クラス分類用ブロック化回路82、予測値計算用ブロック化回路83、ADRC処理回路84、またはクラス分類回路85は、図9におけるクラス分類用ブロック化回路41、予測値計算用ブロック化回路42、ADRC処理回路44、またはクラス分類回路45それぞれと同様に構成されており、従って、これらのブロックにおいては、図9における場合と同様の処理が行われ、これにより、予測値計算用ブロック化回路83からは第2階層の最適補正データで構成される予測値計算用ブロックが出力され、また、クラス分類回路85からはクラス情報が出力される。これらの予測値計算用ブロックおよびクラス情報は、予測回路86に供給される。
【0170】
予測回路86では、クラス分類回路85から供給されるクラス情報に対応した25×9の予測係数が、メモリ86Aから読み出され、その25×9の予測係数と、予測値計算用ブロック化回路83から供給される5×5画素の予測値計算用ブロックを構成する最適補正データとを用い、式(1)にしたがって、第1階層の予測値が、3×3画素単位で算出されていく。そして、1フレーム分の予測値が求められると、これが、第1階層の復号画像として出力される。
【0171】
第2階層の最適補正データは、上述したようにそれにより予測を行うことで得られる第1階層の予測値と、第1階層の画像との誤差とを閾値ε以下とするものであり、従って、第2階層の最適補正データによれば、解像度の高い第1階層の復号画像を得ることが可能となる。
【0172】
次に、図20は、図18の予測部73の構成例を示している。
【0173】
信号処理回路71(図18)からの第3階層の符号化データは、分離部81に供給され、そこで、第3階層の最適補正データ、第2階層のクラスごとの予測係数、および第1階層のクラスごとの予測係数に分離される。第3階層の最適補正データと第2階層のクラスごとの予測係数は、デコード部222に供給され、第1階層のクラスごとの予測係数はデコード部223に供給される。
【0174】
デコード部222は、図19のデコード部80と同様に構成されるものであり、従って、デコード部222では、第3階層の最適補正データと第2階層のクラスごとの予測係数とから、上述した場合と同様にして、第2階層の画像の予測値が算出され、そのような予測値で構成される第2階層の1フレーム分の復号画像(予測値)が、デコード部223に供給される。デコード部223も、デコード部80と同様に構成されるものであり、従って、第2階層の予測値と第1階層のクラスごとの予測係数とから、第1階層の予測値が算出され、そのような予測値で構成される1フレーム分の画像が、第1階層の復号画像(予測値)として出力される。
【0175】
第2階層のクラスごとの予測係数は、図2の最適補正データ算出回路14において、第2階層の最適補正データとして最適なものが得られるように算出されたものであり、また、第2階層の最適補正データによれば、上述したように解像度の高い第1階層の復号画像を得ることができるから、第3階層の符号化データによっても、解像度の高い第1階層の復号画像を得ることができる。
【0176】
以上から、第1階層および第2階層の符号化データの一部またはすべてが、何らかの理由で失われても、最下位階層である第3階層の符号化データ、即ち、第3階層の最適補正データ並びに第1階層および第2階層のクラスごとの予測係数により、解像度の高い復号画像を得ることが可能となる。
【0177】
また、受信側が、第2および第3階層の符号化データ(第2階層および第3階層の最適補正データ並びに第1および第2階層のクラスごとの予測係数)しか受信できないものであっても、高解像度の復号画像(第1階層の画像)を得ることができる。さらに、第3階層の符号化データしか受信することができない受信装置であっても、やはり、高解像度の復号画像を得ることができる。
【0178】
なお、上述の場合においては、第2階層の符号化データの中に、第2階層の最適補正データを含めるようにしたが、第2階層の符号化データの中には、第2階層の最適補正データではなく、第2階層の画像データそのものを含めるようにすることが可能である。
【0179】
また、信号処理回路15から出力される符号化データには、第1階層乃至第3階層の符号化データを含めるようにしたが、上述したように、第3階層の符号化データ(第3階層の最適補正データ並びに第1階層および第2階層のクラスごとの予測係数)だけから、高画質の復号画像を得ることができるので、信号処理回路15から出力される符号化データには、第3階層の符号化データだけを含めるようにすることが可能である。
【0180】
さらに、図2においては、最適補正データ算出回路14に、最適補正データ算出回路13が出力する第2階層の最適補正データを供給し、その第2階層の最適補正データを得るために最適なクラスごとの予測係数を求めるようにしたが、最適補正データ算出回路14には、第2階層の最適補正データの代わりに、第2階層の画像データそのものを供給し、第2階層の画像データを得るのに最適なクラスごとの予測係数を求めるようにすることも可能である。
【0181】
ところで、上述の場合においては、図9のローカルデコード部22において第1階層のクラスごとの予測係数(最適補正データ算出回路14を構成するローカルデコード部22においては第2階層のクラスごとの予測係数)を求め、それを用いて、第1階層の予測値を算出するようにしたが、予測値は、クラスごとの予測係数を求めずに(あらかじめ学習により求めておいた予測係数を用いて)算出するようにすることが可能である。
【0182】
即ち、図21は、図2の最適補正データ算出回路13(14)の第2の構成例を示している。なお、図中、図5における場合と対応する部分については、同一の符号を付してある。即ち、この最適補正データ算出回路13は、ローカルデコード部22に代えて、ローカルデコード部1022が設けられている他は、図5における場合と同様に構成されている。
【0183】
但し、図5においては、ローカルデコード部22に原画像データ(最適補正データ算出回路13においては第1階層の画像、最適補正データ算出回路14においては第2階層の最適補正データ)が供給されるようになされていたが、図21においては、ローカルデコード部1022には、原画像データが供給されないようになっている。
【0184】
図22は、図21のローカルデコード部1022の構成例を示している。なお、図中、図9における場合と対応する部分については、同一の符号を付してある。即ち、ローカルデコード部1022は、適応処理回路46に代えて、予測係数ROM88および予測回路89が設けられている他は、図9におけるローカルデコード部22と同様に構成されている。
【0185】
予測係数ROM88は、あらかじめ学習(後述する)を行うことにより求められたクラスごとの25×9個の予測係数を記憶しており、クラス分類回路45が出力するクラス情報を受信し、そのクラス情報に対応するアドレスに記憶されている予測係数を読み出して、予測回路89に供給する。
【0186】
予測回路89では、予測値計算用ブロック化回路42からの5×5画素の予測値計算用ブロックと、予測係数ROM88からの25×9の予測係数とを用いて、式(1)(具体的には、例えば、式(8))に示した線形1次式が計算され、これにより、元の画像の予測値が、3×3画素単位で算出される。
【0187】
従って、図22のクラス分類適応処理回路43によれば、元の画像(原画像)を用いずに、その予測値が算出される。このため、上述したように、ローカルデコード部1022には、原画像(第1階層の画像または第2階層の最適補正データ)が供給されないようになっている(供給する必要がないので、供給されない)。
【0188】
次に、図23のフローチャートを参照して、図22のローカルデコード部1022の処理についてさらに説明する。
【0189】
ローカルデコード部1022においては、まず最初に、ステップS1021乃至S1023において、図13のステップS21乃至S23における場合とそれぞれ同様の処理が行われ、これにより、クラス分類回路45からは、クラス情報が出力され、予測値計算用ブロック化回路42からは、予測値計算用ブロックが出力される。このクラス情報または予測値計算用ブロックは、予測係数ROM88または予測回路89にそれぞれ供給される。
【0190】
予測係数ROM88は、クラス情報を受信すると、ステップS1024において、そのクラス情報に対応する25×9の予測係数を、記憶しているクラスごとの予測係数の中から読み出し、予測回路89に供給する。
【0191】
予測回路89には、予測係数ROM88から25×9の予測係数が供給される他、上述したように、予測値計算用ブロック化回路42から5×5画素の予測値計算用ブロックも供給される。そして、予測回路89では、ステップS1025において、予測係数ROM88からの25×9の予測係数と、予測値計算用ブロック化回路42からの5×5画素の予測値計算用ブロックとを用いて適応処理が行われることにより、即ち、具体的には、式(1)(または式(8))にしたがった演算が行われることにより、注目補正データ(ここでは、予測値計算用ブロックの中心にある画素)を中心とする3×3の原画像の画素の予測値が求められる。
【0192】
その後、例えば、1フレーム分の予測値が求められると、ステップS1026に進み、予測係数ROM88に記憶されたクラスごとの25×9の予測係数が読み出され、判定部24に供給されるとともに、ステップS1025で求められた予測値が誤差算出部23に供給される。そして、ステップS1021に戻り、以下同様の処理が、例えば、1フレーム単位で繰り返される。
【0193】
なお、この実施の形態では、クラスごとの予測係数は、予測係数ROM88に記憶されたものが使用され、従って、その値は変化しないから、ステップS1025において、クラスごとの予測係数を、判定部24に一度供給した後は、基本的に、再度供給する必要はない。
【0194】
また、最適補正データ算出回路13および14が、図21に示したように構成される場合においても、受信装置4は、図18に示したように構成することで、原画像とほぼ同一の復号画像を得ることができる。
【0195】
次に、図24は、図22の予測係数ROM88に記憶されているクラスごとの予測係数を得るための学習を行う画像処理装置の構成例を示している。
【0196】
学習用ブロック化回路91および教師用ブロック化回路92には、あらゆる画像に適用可能な予測係数を得るための学習用の画像データ(学習用画像)が供給されるようになされている。なお、第1階層のクラスごとの予測係数を得る場合には、学習用画像として、第1階層の画像データが、また、第2階層のクラスごとの予測係数を得る場合には、学習用画像として、第2階層の画像データが、学習用ブロック化回路91および教師用ブロック化回路92に供給される。
【0197】
学習用ブロック化回路91は、入力される画像データから、例えば、図10に●印で示した位置関係の注目画素を中心とする25画素(5×5画素)を抽出し、この25画素で構成されるブロックを、学習用ブロックとして、ADRC処理93および学習データメモリ96に供給する。
【0198】
また、教師用ブロック化回路92では、入力される画像データから、例えば、注目画素を中心とする3×3の9画素で構成されるブロックが生成され、この9画素で構成されるブロックが、教師用ブロックとして、教師データメモリ98に供給される。
【0199】
なお、学習用ブロック化回路91において、例えば、図10に●印で示した位置関係の25画素で構成される学習用ブロックが生成されるとき、教師用ブロック化回路92では、同図に四角形で囲んで示す3×3画素の教師用ブロックが生成されるようになされている。この場合、注目画素は、画素X33である。
【0200】
ADRC処理回路93は、学習用ブロックを構成する25画素から、その中心の9画素(3×3画素)を抽出し、この9画素でなるブロックに対して、図22のADRC処理回路44における場合と同様に、1ビットのADRC処理を施す。ADRC処理の施された、3×3画素のブロックは、クラス分類回路94に供給される。クラス分類回路94では、図22のクラス分類回路45における場合と同様に、ADRC処理回路93からのブロックがクラス分類処理され、それにより得られるクラス情報が、スイッチ95の端子aを介して、学習データメモリ96および教師データメモリ98に供給される。
【0201】
学習データメモリ96または教師データメモリ98では、そこに供給されるクラス情報に対応するアドレスに、学習用ブロック化回路91からの学習用ブロックまたは教師用ブロック化回路92からの教師用ブロックが、それぞれ記憶される。
【0202】
従って、学習データメモリ96において、例えば、図10に●印で示した5×5画素でなるブロックが学習用ブロックとして、あるアドレスに記憶されたとすると、教師データメモリ98においては、そのアドレスと同一のアドレスに、同図において、四角形で囲んで示す3×3画素のブロックが、教師用ブロックとして記憶される。
【0203】
以下、同様の処理が、あらかじめ用意されたすべての学習用の画像について繰り返され、これにより、学習用ブロックと、図22のローカルデコード部1022において、その学習用ブロックを構成する25画素と同一の位置関係を有する25の補正データで構成される予測値計算用ブロックを用いて予測値が求められる9画素で構成される教師用ブロックとが、学習用データメモリ96と、教師用データメモリ98とにおいて、同一のアドレスに記憶される。
【0204】
なお、学習用データメモリ96と教師用データメモリ98においては、同一アドレスに複数の情報を記憶することができるようになされており、これにより、同一アドレスには、複数の学習用ブロックと教師用ブロックを記憶することができるようになされている。
【0205】
学習用画像すべてについての学習用ブロックと教師用ブロックとが、学習データメモリ96と教師データメモリ98に記憶されると、端子aを選択していたスイッチ95が、端子bに切り替わり、これにより、カウンタ97の出力が、アドレスとして、学習データメモリ96および教師データメモリ98に供給される。カウンタ97は、所定のクロックをカウントし、そのカウント値を出力しており、学習データメモリ96または教師データメモリ98では、そのカウント値に対応するアドレスに記憶された学習用ブロックまたは教師用ブロックが読み出され、演算回路99に供給される。
【0206】
従って、演算回路99には、カウンタ97のカウント値に対応するクラスの学習用ブロックのセットと、教師用ブロックのセットとが供給される。
【0207】
演算回路99は、あるクラスについての学習用ブロックのセットと、教師用ブロックのセットとを受信すると、それらを用いて、最小自乗法により、誤差を最小とする予測係数を算出する。
【0208】
即ち、例えば、いま、学習用ブロックを構成する画素の画素値を、x1,x2,x3,・・・とし、求めるべき予測係数をw1,w2,w3,・・・とするとき、これらの線形1次結合により、教師用ブロックを構成する、ある画素の画素値yを求めるには、予測係数w1,w2,w3,・・・は、次式を満たす必要がある。
【0209】
y=w11+w22+w33+・・・
【0210】
そこで、演算回路99では、同一クラスの学習用ブロックと、対応する教師用ブロックとから、真値yに対する、予測値w11+w22+w33+・・・の自乗誤差を最小とする予測係数w1,w2,w3,・・・が、上述した式(7)に示す正規方程式をたてて解くことにより求められる。以上の処理が、クラスごとに行われることで、各クラスごとに、25×9個の予測係数が算出される。
【0211】
演算回路99において求められた、クラスごとの予測係数は、メモリ100に供給される。メモリ100には、演算回路99からの予測係数の他、カウンタ97からカウント値が供給されており、これにより、メモリ100においては、演算回路99からの予測係数が、カウンタ97からのカウント値に対応するアドレスに記憶される。
【0212】
以上のようにして、メモリ100には、各クラスに対応するアドレスに、そのクラスのブロックの3×3画素を予測するのに最適な25×9個の予測係数が記憶される。
【0213】
図22の予測係数ROM88には、以上のようにしてメモリ100に記憶されたクラスごとの予測係数が記憶されている。
【0214】
次に、図25は、図2の最適補正データ算出回路13(14)の第3の構成例を示している。なお、図中、図5における場合と対応する部分については、同一の符号を付してある。即ち、この送信装置1は、ローカルデコード部22または判定部24に代えて、ローカルデコード部2022または判定部2024がそれぞれ設けられているとともに、多重化部25が設けられていない他は、図5における場合と同様に構成されている。
【0215】
但し、この場合も、図22における場合と同様に、ローカルデコード部2022には、原画像データ(第1階層の画像データまたは第2階層の最適補正データ)が供給されないようになっている。さらに、図25の実施の形態では、ローカルデコード部2022は、予測係数を判定部2024に出力しないようになっている。
【0216】
次に、図26のフローチャートを参照して、その動作について説明する。
【0217】
圧縮部21に対して、画像データ(第2階層の画像データまたは第3階層の画像データ)が供給されると、圧縮部21は、ステップS1001において、その画像データを間引くことにより圧縮し、最初は、補正を行わずに、ローカルデコード部2022および判定部2024に出力する。ローカルデコード部2022では、ステップS1002において、圧縮部21からの補正データ(最初は、上述したように、画像データを、単純に間引いた圧縮データそのもの)がローカルデコードされる。
【0218】
即ち、ステップS1002では、圧縮部21からの補正データが、例えば、図22に示したローカルデコード部1022における場合と同様にして、ローカルデコードされ、これにより、原画像の予測値が算出される。この予測値は、誤差算出部23に供給される。
【0219】
誤差算出部23では、ステップS1003において、図6のステップS3における場合と同様にして、予測誤差が算出され、誤差情報として、判定部2024に供給される。判定部2024は、誤差算出部23から誤差情報を受信すると、ステップS1004において、図6のステップS4における場合と同様に、誤差算出部23からの誤差情報が所定の閾値ε以下であるかどうかを判定する。ステップS1004において、誤差情報が所定の閾値ε以下でないと判定された場合、ステップS1005に進み、判定部2024は、圧縮部21を制御し、これにより、第2階層の画像データを補正させる。そして、圧縮部21において、第2階層の画像データが補正され、新たな補正データが出力されるのを待って、ステップS1002に戻る。
【0220】
一方、ステップS1004において、誤差情報が所定の閾値ε以下であると判定された場合、判定部2024は、所定の閾値ε以下の誤差情報が得られたときの補正データを、最適補正データとして、信号処理回路15(図2)に出力し、処理を終了する。
【0221】
従って、ここでは、クラスごとの予測係数は出力されない。
【0222】
次に、図27は、図25のローカルデコード部2022の構成例を示している。なお、図中、図22における場合と対応する部分については、同一の符号を付してある。即ち、ローカルデコード部2022は、基本的に図22におけるローカルデコード部1022と同様に構成されている。
【0223】
但し、図22においては、予測係数ROM88がそこに記憶されているクラスごとの予測係数を、判定部24に供給するようになっていたが、図27では、予測係数ROM88は、クラスごとの予測係数を、判定部2024に供給しないようになっている。
【0224】
次に、図28のフローチャートを参照して、その動作について説明する。
【0225】
ローカルデコード部2022では、ステップS2021乃至S2025において、図23のステップS1021乃至1025における場合とそれぞれ同様の処理が行われる。そして、ステップS2026において、ステップS2025で求められた予測値のみが、誤差算出部23に供給され、ステップS2021に戻り、以下、同様の処理が、例えば、1フレーム単位で繰り返される。即ち、上述したように、ここでは、クラスごとの予測係数は出力されない。
【0226】
次に、図29は、図25の判定部2024の構成例を示している。なお、図中、図16における場合と対応する部分については、同一の符号を付してある。即ち、上述したように、ローカルデコード部2022からは予測係数が供給されないため、判定部2024には、その予測係数を記憶するための予測係数メモリ61が設けられておらず、そのことを除けば、基本的に、図16の判定部24と同様に構成されている。
【0227】
次に、図30のフローチャートを参照して、その動作について説明する。
【0228】
判定部2024では、ステップS2041乃至2045において、図17のステップS41乃至S45における場合とそれぞれ同様の処理が行われ、これにより、誤差情報が減少するように、圧縮部21が制御される。
【0229】
そして、ステップS2041乃至S2045の処理を繰り返すことにより、誤差情報が減少し、これにより、ステップS2042において、今回の誤差情報が、所定の閾値εより小さいと判定された場合、ステップS2046に進み、制御回路65は、補正データメモリ62に記憶されている1フレームの補正データを、最適補正データとして読み出し、信号処理回路15に供給して、処理を終了する。即ち、ローカルデコード部2022からは予測係数は供給されないので、ステップS2046では、補正データだけが出力される。
【0230】
その後は、次のフレームについての誤差情報が供給されるのを待って、再び、同様の処理を繰り返す。
【0231】
次に、図31は、最適補正データ算出回路13および14が図25に示したように構成される場合の図18の受信装置4における予測部72の構成例を示している。なお、図中、図19における場合と対応する部分については、同一の符号を付してある。即ち、図31の予測部72は、クラス分類回路85と予測回路86との間に予測係数ROM87が新たに設けられ、予測回路86がメモリ86Aを内蔵しておらず、かつ分離部81が設けられていない他は、図19における場合と基本的に同様に構成されている。
【0232】
最適補正データ算出回路13(14)が図25に示したように構成される場合、上述したことから、第2階層の符号化データには、第2階層のクラスごとの予測係数は含まれておらず、第2階層の符号化データは、基本的に、第2階層の最適補正データだけで構成される。このため、信号処理回路71(図18)からの第2階層の符号化データとしての第2階層の最適補正データは、クラス分類用ブロック化回路82および予測値計算用ブロック化回路83に、直接供給される(分離部81(図19)を介さずに供給される)。
【0233】
クラス分類用ブロック化回路82、予測値計算用ブロック化回路83,ADRC処理回路84、またはクラス分類回路85では、図9におけるクラス分類用ブロック化回路41、予測値計算用ブロック化回路42,ADRC処理回路44、またはクラス分類回路45それぞれと同様の処理が行われ、これにより、予測値計算用ブロック化回路83からは5×5画素の予測値計算用ブロックが出力され、また、クラス分類回路85からはクラス情報が出力される。予測値計算用ブロックは予測回路86に供給され、クラス情報は予測係数ROM87に供給される。
【0234】
予測係数ROM87には、図27の予測係数ROM88に記憶されているクラスごとの予測係数と同一のものが記憶されており、クラス分類回路85からクラス情報が供給されると、そのクラス情報に対応した25×9の予測係数が読み出され、予測回路86に供給される。
【0235】
予測回路86は、予測係数ROM87からの25×9の予測係数と、予測値計算用ブロック化回路83から供給される5×5画素の予測値計算用ブロックを構成する補正データとを用い、式(1)にしたがって、原画像の3×3画素の予測値を算出し、そのような予測値で構成される1フレームの画像を、復号画像として出力する。
【0236】
次に、図32は、最適補正データ算出回路13および14が図25に示したように構成される場合の図18の受信装置4における予測部73の構成例を示している。
【0237】
この場合、予測部73は、デコード部1222および1223で構成される。
【0238】
最適補正データ算出回路13(14)が図25に示したように構成される場合、上述したことから、第3階層の符号化データにも、第1および第2階層のクラスごとの予測係数は含まれておらず、従って、第3階層の符号化データは、基本的に、第3階層の最適補正データだけで構成される。このような第3階層の符号化データとしての第3階層の最適補正データが、信号処理回路71からデコード部1222に供給される。
【0239】
デコード部1222は、図31の予測部72と同様に構成されるものであり、従って、デコード部1222では、第3階層の最適補正データから、上述した場合と同様にして、第2階層の画像の予測値が算出され、そのような予測値で構成される第2階層の1フレーム分の復号画像(予測値)が、デコード部1223に供給される。デコード部1223も、図31の予測部72と同様に構成されるものであり、従って、第2階層の予測値から、第1階層の予測値が算出され、そのような予測値で構成される1フレーム分の画像が、第1階層の復号画像(予測値)として出力される。
【0240】
なお、デコード部1222と1223は、基本的には、上述したように、いずれも予測部72と同様に構成されるが、予測係数ROM87には、デコード部1222においては第2階層の画像を学習用画像として用いて学習したクラスごとの予測係数が、デコード部1223においては第1階層の画像を学習用画像として用いて学習したクラスごとの予測係数が、それぞれ記憶されている。
【0241】
最適補正データ算出回路13および14が図25に示したように構成されるとともに、受信装置4の予測部72または73がそれぞれ図31または図32に示したように構成される場合、クラスごとの25×9の予測係数を送受信せずに済むので、その分だけ、伝送容量または記録容量を低減することができる。
【0242】
なお、予測係数ROM87(図31)や88(図22、図27)には、各クラスに対応するアドレスに、予測係数を記憶させるのではなく、教師用ブロックを構成する画素値の平均値などを記憶させるようにすることが可能である。この場合、クラス情報が与えられると、そのクラスに対応する画素値が出力されることになり、図22のローカルデコード部1022や、図27のローカルデコード部2022においては、予測値計算用ブロック化回路42および予測回路89を設けずに済むようになる。また、図31の予測部72においても、予測値計算用ブロック化回路83および予測回路86を設けずに済むようになる。さらに、この場合、図22においては、予測係数を伝送する必要がない。
【0243】
また、最適補正データ算出回路13および14を図25に示したように構成する場合においては、上述したように、図2に示した送信装置1において、最適補正データ算出回路13には第1階層の画像データを供給する必要はなく、また、最適補正データ算出回路14にも、最適補正データ算出回路13から出力される第2階層の最適補正データを供給する必要はない。そして、この場合、クラスごとの予測係数は求められないので、信号処理回路15が出力する符号化データには、上述したように、クラスごとの予測係数は含められない。
【0244】
従って、この場合、図31または図32に示した予測部72または73は、分離部81(図19)または221(図20)を設けずに構成することができる。
【0245】
ここで、以下、適宜、図9で説明したように、予測係数を逐次求めて予測値を得る方式を逐次方式と、また、図22や図27で説明したように、予測係数を、あらかじめ予測係数ROM88に記憶させておき、これを用いて予測値を得る方式を、ROM方式という。
【0246】
次に、図33は、図1の送信装置1の他の構成例を示している。なお、図中、図2における場合と対応する部分については、同一の符号を付してある。
【0247】
即ち、この実施の形態においては、最適補正データ算出回路101には、第1階層の画像データのみが供給されるようになされており、そこでは、第1階層の画像データから第2階層の最適補正データが算出され、第2階層の符号化データとして、信号処理回路15に供給されるようになされている。また、最適補正データ算出回路102には、間引き回路11が出力する第2階層の画像データのみが供給されるようになされており、そこでは、第2階層の画像データから第3階層の最適補正データが算出され、第3階層の符号化データとして、信号処理回路15に供給されるようになされている。
【0248】
次に、図34は、図33の最適補正データ算出回路101の構成例を示している。なお、最適補正データ算出回路102も、最適補正データ算出回路101と同様に構成されるため、その説明は省略する。
【0249】
ブロック化回路111には、第1階層の画像データ(最適補正データ算出回路102における場合には、第2階層の画像データ)が入力されるようになされており、ブロック化回路111は、第1階層の画像データを、その性質に応じて所定のクラスに分類するための単位である、注目画素を中心とするクラス分類用ブロックにブロック化し、ADRC処理回路112および遅延回路115に供給するようになされている。
【0250】
ADRC処理回路112は、ブロック化回路111からのブロック(クラス分類用ブロック)に対してADRC処理を施し、その結果得られるADRCコードで構成されるブロックを、クラス分類回路113に供給するようになされている。
【0251】
クラス分類回路113は、ADRC処理回路112からのブロックを、その性質に応じて所定のクラスに分類するクラス分類処理を行い、そのブロック(そのブロックを構成する注目画素)がいずれのクラスに属するかを、クラス情報として、マッピング係数メモリ114に供給するようになされている。
【0252】
マッピング係数メモリ114は、後述するような学習(マッピング係数学習)により得られるマッピング係数を、クラス情報ごとに記憶しており、クラス分類回路113から供給されるクラス情報をアドレスとして、そのアドレスに記憶されているマッピング係数を読み出し、演算回路116に供給するようになされている。
【0253】
遅延回路115は、ブロック化回路111から供給されるブロックを、そのブロックのクラス情報に対応するマッピング係数が、マッピング係数メモリ114から読み出されるまで遅延し、演算回路116に供給するようになされている。
【0254】
演算回路116は、遅延回路115から供給されるブロックを構成する画素の画素値と、マッピング係数メモリ114から供給される、そのブロックのクラスに対応するマッピング係数とを用いて所定の演算を行うことにより、画像を、その画素数を間引いて(少なくして)符号化した符号化データ(第1階層の画像の画素数を少なくした第2階層の最適補正データ)を算出するようになされている。即ち、演算回路116は、ブロック化回路111が出力するブロックを構成する各画素の画素値をy1,y2,・・・とするとともに、マッピング係数メモリ114が出力する、そのブロックのクラスに対応するマッピング係数をk1,k2,・・・とするとき、それらを引数とする所定の関数値f(y1,y2,・・・,k1,k2,・・・)を演算し、その関数値f(y1,y2,・・・,k1,k2,・・・)を、ブロック化回路111が出力するブロック(クラス分類用ブロック)を構成する画素のうちの、例えば中心の画素の画素値として出力するようになされている。
【0255】
従って、ブロック化回路111が出力するクラス分類用ブロックを構成する画素数をN画素とすると、演算回路16は、画像データを1/Nに間引き、これを、符号化データとして出力するようになされている。
【0256】
なお、演算回路116が出力する符号化データは、N画素で構成されるブロックの中心の画素を抽出して出力するような、いわば単純な間引き処理により得られるものではなく、上述したように、そのブロックを構成するN画素により規定される関数値f(y1,y2,・・・,k1,k2,・・・)であるが、この関数値f(y1,y2,・・・,k1,k2,・・・)は、見方を変えれば、単純な間引き処理により得られる、ブロックの中心の画素の画素値を、その周辺の画素値に基づいて、元の画像を得るのに最適な値に補正したものと考えることができる。そこで、マッピング係数と、ブロックを構成する画素との演算の結果得られるデータも、以下、適宜、最適補正データという。
【0257】
また、演算回路116における演算処理は、ブロック化回路111が出力するクラス分類用ブロックを構成する各画素の画素値を、関数値f(y1,y2,・・・,k1,k2,・・・)にマッピング(写像)する処理とも考えることができる。そこで、そのような処理に用いられる係数k1,k2,・・・をマッピング係数と呼んでいる。
【0258】
次に、図35のフローチャートを参照して、その動作について説明する。
【0259】
ブロック化回路111には、例えば、1フレーム単位で、第1階層の画像データが供給されるようになされており、ブロック化回路111では、ステップS101において、1フレームの第1階層の画像が、クラス分類用ブロックにブロック化される。即ち、ブロック化回路111は、例えば、図10に四角形で囲んで示すように、第1階層の画像データを、注目画素を中心とする3×3(横×縦)の9画素でなるクラス分類用ブロックに分割し、ADRC処理回路112および遅延回路115に、順次供給する。
【0260】
なお、この場合、クラス分類用ブロックは、3×3画素でなる正方形状のブロックで構成されることとなるが、クラス分類用ブロックの形状は、正方形である必要はなく、その他、例えば、長方形や、十文字形、その他の任意な形とすることが可能である。また、クラス分類用ブロックを構成する画素数も、3×3の9画素に限定されるものではない。さらに、クラス分類用ブロックは、隣接する画素どうしで構成するのではなく、離れた画素どうしで構成するようにすることも可能である。但し、その形状および画素数は、後述する学習(マッピング係数学習)時における場合のものと一致している必要がある。
【0261】
ADRC処理回路112は、ブロック化回路111からクラス分類用ブロックを受信すると、ステップS102において、そのブロックに対して、例えば、1ビットのADRC処理を施し、これにより、1ビットで表現される画素で構成されるブロックとする。ADRC処理の施されたクラス分類用ブロックは、クラス分類回路113に供給される。
【0262】
クラス分類回路113では、ステップS103において、ADRC処理回路112からのクラス分類用ブロックがクラス分類され、その結果得られるクラス情報が、マッピング係数メモリ114に、アドレスとして供給される。これにより、ステップS104において、マッピング係数メモリ114からは、クラス分類回路113より供給されたクラス情報に対応するマッピング係数が読み出され、演算回路116に供給される。
【0263】
一方、遅延回路115では、ブロック化回路111からのクラス分類用ブロックが遅延され、そのブロックのクラス情報に対応するマッピング係数が、マッピング係数メモリ114から読み出されるのを待って、演算器116に供給される。演算器116では、ステップS105において、遅延回路115からのクラス分類用ブロックを構成する各画素の画素値と、マッピング係数メモリ114からのマッピング係数を用いて、上述した関数値f(・)(この関数fのかっこ内の・は、画素値y1,y2,・・・と、マッピング係数k1,k2,・・・の集合を表すものとする)が演算されることにより、クラス分類用ブロックを構成する中心の画素(中心画素)の画素値を最適なものに補正した最適補正データが算出される。この最適補正データは、ステップS106において、第2階層の符号化データとして、信号処理回路15(図33)に出力される。
【0264】
そして、ステップS107に進み、1フレーム分の第1階層の画像データについての処理が終了したかどうかが判定される。ステップS107において、1フレーム分の第1階層の画像データについての処理が、まだ終了していないと判定された場合、ステップS102に戻り、次のクラス分類用ブロックを対象に、ステップS102以下の処理が繰り返される。また、ステップS107において、1フレーム分の第1階層の画像データについての処理が終了したと判定された場合、ステップS101に戻り、次のフレームを対象に、ステップS101以下の処理が繰り返される。
【0265】
次に、図36は、図34のマッピング係数メモリ114に記憶されているマッピング係数を算出するための学習(マッピング係数学習)処理を行う画像処理装置の構成例を示している。
【0266】
メモリ121には、学習に適した第1階層の画像データ(以下、適宜、学習用画像という)が1フレーム以上記憶されている。なお、最適補正データ算出回路102(図33)を構成するマッピング係数メモリ114に記憶させるマッピング係数を算出する場合には、メモリ121には、第2階層の画像データが記憶される。
【0267】
ブロック化回路122は、メモリ121に記憶されている画像データを読み出し、図34のブロック化回路111から出力されるクラス分類用ブロックと同一のブロックを構成して、ADRC処理回路123および演算回路126に供給するようになされている。
【0268】
ADRC処理回路123またはクラス分類回路124は、図34のADRC処理回路112またはクラス分類回路113における場合とそれぞれ同様の処理を行うようになされている。従って、クラス分類回路124からは、ブロック化回路122が出力するブロックのクラス情報が出力されるようになされている。そして、このクラス情報は、マッピング係数メモリ131に、アドレスとして供給されるようになされている。
【0269】
演算器126は、ブロック化回路122から供給されるブロックを構成する画素と、マッピング係数メモリ131から供給されるマッピング係数とを用いて、図34の演算回路116における場合と同一の演算を行い、その結果得られる補正データ(関数値f(・))を、ローカルデコード部127に供給するようになされている。
【0270】
ローカルデコード部127は、演算回路126から供給される補正データに基づいて、元の学習用画像の予測値(ブロック化回路122が出力するブロックを構成する画素の画素値の予測値)を、上述したROM方式または逐次方式により予測し(算出し)、誤差算出部128に供給するようになされている。なお、予測値を、逐次方式により求める場合においては、ローカルデコード部127には、クラスごとの予測係数を求めるために、メモリ121に記憶された学習用の画像が供給される(ここでは、例えば、ROM方式によることとしているため、学習用の画像はローカルデコード部127に供給されていない)。
【0271】
誤差算出部128は、ローカルデコード部127から供給される予測値に対応する学習用画像の画素値(真値)をメモリ121から読み出し、その学習用画像の画素値に対する、予測値の予測誤差を算出(検出)し、その予測誤差を、誤差情報として、判定部129に供給するようになされている。
【0272】
判定部129は、誤差算出部128からの誤差情報と、所定の閾値ε1とを比較し、その比較結果に対応して、マッピング係数設定回路130を制御するようになされている。マッピング係数設定回路130は、判定部129の制御にしたがって、クラス分類回路124におけるクラス分類の結果得られるクラス数と同一の数のマッピング係数のセットを設定(変更)し、マッピング係数メモリ131に供給するようになされている。
【0273】
マッピング係数メモリ131は、マッピング係数設定回路30から供給されるマッピング係数を一時記憶するようになされている。なお、マッピング係数メモリ131は、クラス分類回路124においてクラス分類されるクラスの数だけのマッピング係数(マッピング係数のセット)を記憶することのできる記憶領域を有しており、各記憶領域においては、マッピング係数設定回路130から、新たなマッピング係数が供給されると、既に記憶しているマッピング係数に代えて、その新たなマッピング係数が記憶されるようになされている。
【0274】
また、マッピング係数メモリ131は、クラス分類回路124から供給されるクラス情報に対応するアドレスに記憶されたマッピング係数を読み出し、演算回路126に供給するようにもなされている。
【0275】
次に、図37のフローチャートを参照して、その動作について説明する。
【0276】
まず最初に、マッピング係数設定回路130は、ステップS151においてマッピング係数の初期値のセットを、クラス分類回路124においてクラス分類されるクラスの数だけ設定し、マッピング係数メモリ131に供給する。マッピング係数メモリ131では、マッピング係数設定回路130からのマッピング係数(初期値)が、対応するクラスのアドレスに記憶される。
【0277】
そして、ブロック化回路122は、ステップS152において、メモリ121に記憶されている学習用画像すべてを、図34のブロック化回路111における場合と同様に、注目画素と中心とした3×3画素のブロックにブロック化する。さらに、ブロック化回路121は、そのブロックを、メモリ121から読み出し、ADRC処理回路123および演算回路126に順次供給する。
【0278】
ADRC処理回路123では、ステップS153において、ブロック化回路122からのブロックに対して、図34のADRC処理回路112における場合と同様に、1ビットのADRC処理が施され、クラス分類回路124に供給される。クラス分類回路124では、ステップS154において、ADRC処理回路123から供給されたブロックのクラスが決定され、そのクラス情報が、アドレスとして、マッピング係数メモリ131に供給される。これにより、ステップS155において、マッピング係数メモリ131の、クラス分類回路124から供給されるクラス情報に対応するアドレスから、マッピング係数が読み出され、演算回路126に供給される。
【0279】
演算回路126は、ブロック化回路122からブロックを受信するとともに、マッピング係数メモリ131から、そのブロックのクラスに対応するマッピング係数を受信すると、ステップS156において、そのマッピング係数と、ブロック化回路122から供給されるブロックを構成する画素の画素値とを用いて、上述の関数値f(・)を演算する。この演算結果は、ブロック化回路122から供給されるブロックの中心画素の画素値を補正した補正データとして、ローカルデコード部127に供給される。
【0280】
即ち、例えば、上述の図10において、四角形で囲んで示すような3×3画素のブロックが、ブロック化回路122から出力されたものとすると、演算回路126では、同図において●印で示す画素の画素値を補正した補正データが求められ、ローカルデコード部127に出力される。
【0281】
従って、演算回路126では、学習用画像を構成する画素数が、1/9に間引かれ、ローカルデコード部127に供給される。
【0282】
ステップS156で補正データが算出された後は、ステップS157に進み、メモリ121に記憶されたすべての学習用画像についての補正データが求められたかどうかが判定される。ステップS157において、すべての学習用画像についての補正データが、まだ求められていないと判定された場合、ステップS153に戻り、すべての学習用画像についての補正データが求められるまで、ステップS153乃至S157の処理を繰り返す。
【0283】
また、ステップS157において、すべての学習用画像についての補正データが求められたと判定された場合、即ち、メモリ121に記憶されたすべての学習用画像を、1/9に間引いた間引き画像が得られた場合(但し、この間引き画像は、学習用画像を、単純に1/9に間引いたものではなく、マッピング係数との演算により画素値が求められたものである)、ステップS158に進み、ローカルデコード部127において、その間引き画像がローカルデコードされることにより、元の学習用画像の予測値が算出される。この予測値は、誤差算出部128に供給される。
【0284】
誤差算出部128では、ステップS159において、メモリ121から学習用画像が読み出され、その学習用画像に対する、ローカルデコード部127から供給される予測値の予測誤差が算出される。即ち、学習用画像の画素値をYijと表すとともに、ローカルデコード部127から出力される、その予測値をE[Yij]と表すとき、誤差算出部128では、次式で示される誤差分散(誤差の自乗和)Qが算出され、これが、誤差情報として、判定部129に供給される。
【0285】
Q=Σ(Yij−E[Yij])2
但し、上式において、Σは、学習用画像の画素すべてについてのサメーションを表す。
【0286】
判定部129は、誤差算出部128から誤差情報を受信すると、その誤差情報と所定の閾値ε1とを比較し、ステップS160において、その大小関係を判定する。ステップS160において、誤差情報が閾値ε1以上であると判定された場合、即ち、ローカルデコード部127において得られる予測値で構成される画像が、元の学習用画像と同一であるとは認められない場合、判定部129は、マッピング係数設定回路130に制御信号を出力する。マッピング係数設定回路130は、ステップS161において、判定部129からの制御信号にしたがい、マッピング係数を変更し、その変更後のマッピング係数を、マッピング係数メモリ131に新たに記憶させる。
【0287】
そして、ステップS153に戻り、マッピング係数メモリ131に記憶された、変更後のマッピング係数を用いて、再び、ステップS153以下の処理が繰り返される。
【0288】
ここで、マッピング係数設定回路130における、マッピング係数の変更は、ランダムに行っても良いし、また、今回の誤差情報が、前回の誤差情報より小さくなった場合には、前回と同様の傾向で変化させ、今回の誤差情報が、前回の誤差情報より大きくなった場合には、前回と逆の傾向で変化させるようにすることもできる。
【0289】
さらに、マッピング係数の変更は、すべてのクラスについて行うようにすることもできるし、その一部のクラスについてだけ行うようにすることもできる。一部のクラスについてのマッピング係数だけの変更を行う場合においては、例えば、誤差情報に対する影響の強いクラスを検出させ、そのようなクラスについてのマッピング係数だけを変更するようにすることができる。誤差情報に対する影響の強いクラスは、例えば、次のようにして検出することができる。即ち、まず最初に、マッピング係数の初期値を用いて処理を行うことにより、その誤差情報を得る。そして、マッピング係数を、1クラスごとに同一の量だけ変化させ、その結果得られる誤差情報を、初期値を用いた場合に得られた誤差情報と比較し、その差が、所定値以上となるクラスを、誤差情報に対する影響の強いクラスとして検出すれば良い。
【0290】
また、マッピング係数が、上述したk1,k2,・・・のように複数で1セットとされている場合には、その中の誤差情報に対する影響の強いものだけを変更させるようにすることもできる。
【0291】
さらに、上述の場合においては、マッピング係数を、クラスごとに設定するようにしたが、マッピング係数は、その他、例えば、ブロックごとに独立して設定したり、また、近接するブロック単位などで設定したりするようにすることが可能である。
【0292】
但し、マッピング係数を、例えば、ブロックごとに独立して設定するようにした場合などにおいては、ある1つのクラスに対して、複数セットのマッピング係数が得られることがある(この逆に、マッピング係数が、1セットも得られないクラスが生じることもある)。マッピング係数は、最終的には、クラスごとに決める必要があるため、上述のように、あるクラスに対して、複数セットのマッピング係数が得られた場合には、複数セットのマッピング係数を対象に、何らかの処理を行うことで、1セットのマッピング係数を決める必要がある。
【0293】
一方、ステップS160において、誤差情報が閾値ε1より小さいと判定された場合、即ち、ローカルデコード部127において得られる予測値で構成される画像が、元の学習用画像と同一であると認められる場合、処理を終了する。
【0294】
この時点で、マッピング係数メモリ131に記憶されている、クラスごとのマッピング係数が、もとの画像と同一と認められる復号画像(予測値)を復元することができる補正データを得るために最適なものとして、図34のマッピング係数メモリ114にセットされている。
【0295】
従って、このようなマッピング係数を用いて得られる最適補正データによれば、元の画像とほぼ同一の画像を得ることが可能となる。
【0296】
なお、図36の実施の形態においては、上述したように、ブロック化回路122において、画像が、注目画素を中心とした3×3の9画素にブロック化され、また、ADRC処理回路123において、1ビットのADRC処理が行われるので、クラス分類回路124によるクラス分類により得られるクラス数は512(=(219)であり、従って、512セットのマッピング係数が得られる。
【0297】
次に、図38は、図34のマッピング係数メモリ114に記憶されているマッピング係数を算出するための学習(マッピング係数学習)処理を行う画像処理装置の他の構成例を示している。
【0298】
なお、図36の画像処理装置によれば、関数fが、例えば、線形1次式で表される場合の他、非線形な式や、2次以上の式で表される場合も、最適な予測係数を求めることができるが、図38の画像処理装置では、関数fが、線形1次式で表される場合にのみ、最適な予測係数を求めることができるようになされている。
【0299】
即ち、図38の画像処理装置は、図34において、ブロック化回路111が出力する3×3画素のブロックを構成する各画素の画素値をy1,y2,・・・,y9とするとともに、マッピング係数メモリ114が出力するマッピング係数をk1,k2,・・・,k9とする場合において、演算回路116が、次式にしたがって関数値f(y1,y2,・・・,k1,k2,・・・)を演算して補正データを求めるようになされているときに用いることができる。
【0300】
f(・)=k11+k22+・・・+k99
【0301】
間引き回路171には、学習に適した学習用の画像としての第1階層の画像データが、例えば1フレーム単位で供給されるようになされており、そこでは、第1階層の画像データの画素数が間引かれることにより、第2階層の画像データが形成されるようになされている。なお、最適補正データ算出回路102(図33)を構成するマッピング係数メモリ114に記憶させるマッピング係数を算出する場合には、間引き回路171には、第2階層の画像データが供給され、これにより、第3階層の画像データが形成される。
【0302】
間引き回路171において得られた第2階層の画像データは、最適補正データ算出部170に供給されるようになされている。最適補正データ算出部170は、図5における補正部21、ローカルデコード部22、誤差算出部23、または判定部24(あるいは、図21における補正部21、ローカルデコード部1022、誤差算出部23、または判定部24や、図25における補正部21、ローカルデコード部2022、誤差算出部23、または判定部2024)とそれぞれ同様に構成される補正部172、ローカルデコード部173、誤差算出部174、または判定部175で構成されており、そこでは、そこに入力される画像、即ち、ここでは、第1階層の画像の画素数を少なくした第2階層の画像についての最適補正データが生成され、ラッチ回路176に供給されるようになされている。なお、ローカルデコード部173において、逐次方式により予測値を求める場合においては、クラスごとの予測係数を求めるために、元の画像(ここでは、学習用の画像としての第1階層の画像データ)が、ローカルデコード部173に供給される。
【0303】
ラッチ回路176は、メモリ176Aを内蔵しており、そのメモリ176Aに、最適補正データ算出部170から供給される最適補正データを記憶させるようになされている。さらに、ラッチ回路176は、メモリ176Aに記憶された最適補正データのうち、ブロック化回路177のメモリ177Aから読み出されるブロックの中心画素に対応するものを読み出し、メモリ180に供給するようになされている。なお、ラッチ回路176は、メモリ176Aに、1フレーム分の補正データが記憶されると、その旨を示す制御信号を、ブロック化回路177に出力するようになされている。
【0304】
ブロック化回路177には、間引き回路171に供給される画像データと同一の画像データ、即ち、ここでは、第1階層の画像データが、1フレーム単位で供給されるようになされている。ブロック化回路177は、メモリ177Aを内蔵しており、そのメモリ177Aに、そこに供給される学習用画像を記憶させるようになされている。また、ブロック化回路177は、ラッチ回路176から制御信号を受信すると、メモリ177Aに記憶された学習用画像を、図34のブロック化回路111における場合と同様に、注目画素と中心とする3×3画素で構成されるブロックに分割し、そのブロックを順次読み出して、ADRC処理回路178およびメモリ180に供給するようになされている。
【0305】
なお、ブロック化回路177は、その内蔵するメモリ177Aからブロックを読み出すときに、そのブロックの位置を示す制御信号を、ラッチ回路176に供給するようになされている。ラッチ回路176では、この制御信号に基づいて、メモリ177Aから読み出される3×3画素のブロックが認識され、上述したように、そのブロックの中心画素に対応する最適補正データが、メモリ176Aから読み出されるようになされている。即ち、これにより、メモリ180に対しては、ある3×3画素のブロックと、そのブロックに対応する最適補正データとが同時に供給されるようになされている。
【0306】
ADRC処理回路178またはクラス分類回路179は、図34のADRC処理回路112またはクラス分類回路113とそれぞれ同様に構成されている。そして、クラス分類回路179が出力する、ブロック化回路177からのブロックについてのクラス情報は、メモリ180に対して、アドレスとして供給されるようになされている。
【0307】
メモリ180は、クラス分類回路179から供給されるクラス情報に対応するアドレスに、ラッチ回路176から供給される最適補正データと、ブロック化回路177から供給されるブロックとを対応付けて記憶するようになされている。なお、メモリ180は、1つのアドレスに複数の情報を記憶することができるようになされており、これにより、あるクラス情報に対応する最適補正データおよびブロックを、複数セット記憶することができるようになされている。
【0308】
演算回路181は、メモリ180に記憶された、学習用画像の3×3のブロックを構成する9画素y1,y2,・・・,y9と、そのブロックに対応付けられている最適補正データy’とを読み出し、これらに最小自乗法を適用することで、クラスごとに、マッピング係数k1乃至k9を求め、メモリ182に供給するようになされている。メモリ182は、演算回路181から供給されるクラスごとのマッピング係数k1乃至k9を、そのクラスに対応したアドレスに記憶するようになされている。
【0309】
次に、図39のフローチャートを参照して、その動作について説明する。
【0310】
学習用画像としての第1階層の画像データが入力されると、その学習用画像は、ブロック化回路177のメモリ177Aに記憶されるとともに、間引き回路171に供給される。間引き回路171では、第1階層の画像データから第2階層の画像データが形成され、最適補正データ算出部170に供給される。
【0311】
最適補正データ算出部170は、第2階層の画像データを受信すると、ステップS131において、第2階層の最適補正データを算出し、ラッチ回路176のメモリ176Aに供給して記憶させる。
【0312】
そして、ラッチ回路176は、そのメモリ176Aに、1フレーム分の最適補正データを記憶すると、制御信号を、ブロック化回路177に出力する。ブロック化回路177は、ラッチ回路176から制御信号を受信すると、ステップS132において、メモリ177Aに記憶された学習用画像を、3×3画素で構成されるブロックに分割する。そして、ブロック化回路177は、メモリ177Aに記憶された学習用画像のブロックを読み出して、ADRC処理回路178およびメモリ180に供給する。
【0313】
また、同時に、ブロック化回路177は、メモリ177Aからブロックを読み出すときに、そのブロックの位置を示す制御信号を、ラッチ回路176に供給し、ラッチ回路176は、その制御信号に対応して、メモリ177Aから読み出された3×3画素のブロックを認識し、そのブロックの中心画素に対応する最適補正データを読み出して、メモリ180に供給する。
【0314】
そして、ステップS133に進み、ADRC処理回路178において、ブロック化回路177からのブロックがADRC処理され、さらに、クラス分類回路179において、そのブロックがクラス分類される。このクラス分類結果は、アドレスとして、メモリ180に供給される。
【0315】
メモリ180では、ステップS134において、クラス分類回路179から供給されるクラス情報に対応するアドレスに、ラッチ回路176から供給される最適補正データと、ブロック化回路177から供給されるブロック(学習データ)とが対応付けられて記憶される。
【0316】
そして、ステップS135に進み、メモリ180に、1フレーム分のブロックおよび最適補正データが記憶されたかどうかが判定される。ステップS135において、メモリ180に、1フレーム分のブロックおよび最適補正データが、まだ記憶されていないと判定された場合、ブロック化回路177から次のブロックが読み出されるとともに、ラッチ回路176からそのブロックに対応する最適補正データが読み出され、ステップS133に戻り、以下、ステップS133以降の処理を繰り返す。
【0317】
また、ステップS135において、メモリ180に、1フレーム分のブロックおよび最適補正データが記憶されたと判定された場合、ステップS136に進み、学習用画像すべてについて処理が終了したかどうかが判定される。ステップS136において、学習用画像すべてについての処理が、まだ終了していないと判定された場合、ステップS131に戻り、次の学習用画像について、ステップS131からの処理が繰り返される。
【0318】
一方、ステップS136において、学習用画像すべてについての処理が終了したと判定された場合、ステップS137に進み、演算回路181は、メモリ180に記憶された最適補正データとブロックとを、クラスごとに読み出し、これらにより、式(7)に示したような正規方程式をたてる。さらに、演算回路181は、ステップS138において、その正規方程式を解くことで、誤差を最小にする、クラスごとのマッピング係数を算出する。このマッピング係数は、ステップS139において、メモリ182に供給されて記憶され、処理を終了する。
【0319】
関数fが、線形1次式で表される場合においては、以上のようにしてメモリ182に記憶されたマッピング係数を、図34のマッピング係数メモリ114に記憶させ、これを用いて最適補正データを得ることができる。
【0320】
なお、クラスによっては、マッピング係数を求めることができるだけの数の正規方程式が得られない場合がある。このような場合は、図34の演算回路116において、ブロック化回路111から出力される3×3画素のブロックを構成する9画素の、例えば平均値などが出力されるようなマッピング係数、即ち、k1乃至k9=1/9などが、デフォルトの値として設定される。
【0321】
ここで、送信装置1が図33に示したように構成される場合、受信装置4は図18に示したように構成される。但し、図18の受信装置4において、予測部72または73は、図31または図32に示したようにそれぞれ構成される。また、この場合、予測部72(予測部73についても同様)で用いる予測係数は、基本的に、図36のローカルデコード部127または図38のローカルデコード部173で用いられたものと同一のものを採用する必要がある。
【0322】
ところで、図2の場合においては、まず、図40(A)に示すように、第1階層の画像データとの誤差(誤差情報)を、所定の閾値ε以下とする第1階層の予測値が得られる、第2階層の画像データを補正した最適補正データが、最適補正データ算出回路13において求められ、その後、同図(B)に示すように、第2階層の最適補正データとの誤差(誤差情報)を、所定の閾値ε以下とする第2階層の予測値が得られる、第3階層の画像データを補正した最適補正データが、最適補正データ算出回路14において求められるが、最下位階層である第3階層の最適補正データは、その他、例えば、図41に示すようにして求めるようにすることも可能である。
【0323】
即ち、第3階層の画像データを補正した補正データから第2階層の予測値を求め、さらに、その第2階層の予測値をそのまま用いて第1階層の予測値を求める。そして、その第1階層の予測値の予測誤差(誤差情報)を所定の閾値ε以下とする補正データを、第3階層の最適補正データとする。
【0324】
図42は、以上のようにして、第3階層の最適補正データを求めるようにした送信装置1の構成例を示している。なお、図中、図2における場合と対応する部分については、同一の符号を付してある。
【0325】
この実施の形態においては、最適補正データ算出回路201に、第1階層乃至第3階層の画像データが供給されるようになされており、そこでは、第3階層の画像データを補正した補正データから第2階層の予測値が求められ、さらに、その第2階層の予測値をそのまま用いて第1階層の予測値を求められるようになされている。そして、最適補正データ算出回路201は、第1階層の予測値の予測誤差(誤差情報)を所定の閾値ε以下とする補正データが求められると、その補正データを、第3階層の最適補正データとし、第3階層の符号化データとして信号処理回路15に出力するようになされている。
【0326】
なお、図42の実施の形態では、第1階層の画像データが、そのまま第1階層の符号化データとして信号処理回路15に供給されるようになされている。また、図42の実施の形態では、第2階層の画像データは信号処理回路15に供給されないようになっているが、第1階層と同様に、第2階層の符号化データとして、信号処理回路15に供給することも可能である。
【0327】
次に、図43は、図42の最適補正データ算出回路201の構成例を示している。なお、図中、図5における場合と対応する部分については、同一の符号を付してある。即ち、最適補正データ算出回路201は、ローカルデコード部231が新たに設けられている他は、図5の最適補正データ算出回路13と基本的に同様に構成されている。
【0328】
なお、この実施の形態においては、補正部21には、第3階層の画像データが入力され、その第3階層の画像データを補正した補正データが出力されるようになされている。また、ローカルデコード部22には、補正部21が出力する補正データと、第2階層の画像データとが入力されるようになされており、そこでは、第2階層の予測値が算出されて出力されるようになされている。さらに、ローカルデコード部231は、例えば、ローカルデコード部22と同様に構成され、そこには、ローカルデコード部22が出力する第2階層の予測値と、第1階層の画像データとが入力されるようになされている。そして、ローカルデコード部231では、第1階層の予測値が算出されて出力されるようになされている。
【0329】
従って、この実施の形態では、ローカルデコード部22および231において、逐次方式により予測値が算出されるようになされている。但し、ローカルデコード部22および231は、例えば、図22に示したローカルデコード部1022のように構成し、ROM方式により予測値を算出するようにすることも可能である。
【0330】
次に、図44のフローチャートを参照して、その動作について説明する。
【0331】
補正部21に対して、第3階層の画像データが供給されると、補正部21は、ステップS201において、最初は、補正を行わずに、そのまま第3階層の画像データを、ローカルデコード部22および判定部24に出力する。ローカルデコード部22では、ステップS202において、補正部21からの補正データ(最初は、上述したように、第3階層の画像データそのもの)がローカルデコードされる。
【0332】
即ち、ステップS202では、図9で説明した場合と同様にして、第2階層のクラスごとの予測係数が求められ、さらに、そのクラスごとの予測係数に基づいて、第2階層の予測値が求められ、ローカルデコード部231に供給される(但し、ローカルデコード部22がローカルデコード部1022のように構成され、これにより、第2階層の予測値がROM方式により求められる場合には、ROMから第2階層の予測係数が読み出され、その予測係数に基づいて、第2階層の予測値が求められる)。
【0333】
ローカルデコード部231では、ステップS203において、ローカルデコード部22からの第2階層の予測値がローカルデコードされる。
【0334】
即ち、ステップS203では、ローカルデコード部22における場合と同様にして、第1階層のクラスごとの予測係数が求められ、さらに、そのクラスごとの予測係数に基づいて、第1階層の予測値が求められ、誤差算出部23に供給される(但し、ローカルデコード部231がローカルデコード部1022のように構成され、これにより、第1階層の予測値がROM方式により求められる場合には、ROMから第1階層の予測係数が読み出され、その予測係数に基づいて、第1階層の予測値が求められる)。
【0335】
以下、ステップS204乃至S207において、図6のステップS3乃至S6における場合とそれぞれ同様の処理が行われ、これにより、第1階層の予測値を閾値ε以下にする第3階層の最適補正データが求められる。
【0336】
従って、このようにして得られる第3階層の最適補正データによっても、上述した場合と同様に、高画質の復号画像を得ることができる。
【0337】
なお、図42の実施の形態においては、第2階層の符号化データを信号処理回路15に供給しないようにしたが、第2階層の符号化データを信号処理回路15に供給する場合においては、上述したように、第2階層の画像データそのものを第2階層の符号化データとする他、例えば、ローカルデコード部22が出力する第2階層の予測値などを、第2階層の符号化データとすることが可能である。また、例えば、図2に示した最適補正データ算出回路13を設け、そこから出力される第2階層の最適補正データを、第2階層の符号化データとすることなども可能である。
【0338】
また、図42の実施の形態における場合も、信号処理回路15から出力される符号化データには、第1階層乃至第3階層の符号化データのすべてを含めるのではなく、第3階層の符号化データだけを含めるようにすることが可能である。
【0339】
なお、図42に示した送信装置1から出力される符号化データについては、図18に示した受信装置4により復号が可能である。但し、図18の受信装置4において、予測部72または73は、例えば、図19または図20に示したようにそれぞれ構成する必要がある。
【0340】
次に、図45は、図42の最適補正データ算出回路201の他の構成例を示している。なお、図中、図43における場合と対応する部分については、同一の符号を付してある。即ち、図45の最適補正データ算出回路201は、ローカルデコード部22または231に代えて、ローカルデコード部3022または3231がそれぞれ設けられ、多重化部25が設けられていない他は、図43における場合と基本的に同様に構成されている。
【0341】
ローカルデコード部3022は、そこに入力される第3階層の画像データを補正した補正データから第2階層の予測値を、例えば、ROM方式によって算出し、ローカルデコード部3231に供給するようになされている。ローカルデコード部3231は、ローカルデコード部3022からの第2階層の予測値から第1階層の予測値を、例えば、やはり、ROM方式によって算出し、誤差算出部23に供給するようになされている。
【0342】
なお、この実施の形態では、ローカルデコード部3022および3231は、いずれも、例えば、図27に示したローカルデコード部2022と同様に構成されており、従って、予測係数は、判定部24に出力されないようになっている。
【0343】
次に、図46のフローチャートを参照して、その動作について説明する。
【0344】
ステップS3201乃至S3206においては、基本的に、図44のステップS201乃至S206における場合とそれぞれ同様の処理が行われる。但し、ステップS3202では、ローカルデコード部3022において、図27で説明したように、予測係数ROM88から、第2階層の、必要なクラスの予測係数が読み出され、その予測係数に基づいて、第2階層の予測値が求められて、ローカルデコード部3231に供給される。また、ステップS3203でも、ステップS3202における場合と同様に、ローカルデコード部3231において、第1階層の必要なクラスの予測係数が読み出され、その予測係数に基づいて、第1階層の予測値が求められて、誤差算出部23に供給される。
【0345】
そして、ステップS3205において、誤差情報が閾値ε以下であると判定された場合、即ち、第1階層の予測値を閾値ε以下にする第3階層の最適補正データが得られた場合、ステップS3207に進み、判定部24は、その第3階層の最適補正データを、信号処理回路15に出力して、処理を終了する。即ち、ローカルデコード部2022と同様に構成されるローカルデコード部3022および3231からは予測係数は出力されないため、ステップS3207では、最適補正データだけが出力される。
【0346】
以上のようにして得られる第3階層の最適補正データによっても、上述した場合と同様に、高画質の復号画像を得ることができる。
【0347】
なお、図42の送信装置1の最適補正データ算出回路201が図45に示したように構成される場合には、上述したことから、予測係数が送信されないため、図18の受信装置4において、予測部72または73は、例えば、図31または図32に示したようにそれぞれ構成する必要がある。
【0348】
以上、本発明を適用した画像処理システムについて説明したが、このような画像処理装置は、例えば、NTSC方式などの標準方式のテレビジョン信号を符号化する場合の他、データ量の多い、いわゆるハイビジョン方式のテレビジョン信号などを符号化する場合に、特に有効である。
【0349】
なお、本実施の形態においては、1フレームの画像を対象にブロック化を行うようにしたが、ブロックは、その他、例えば、時系列に連続する複数フレームにおける、同一位置の画素を集めて構成するようにすることも可能である。
【0350】
また、本実施の形態においては、誤差情報として、誤差の自乗和を用いるようにしたが、誤差情報としては、その他、例えば、誤差の絶対値和や、その3乗以上したものの和などを用いるようにすることが可能である。いずれを誤差情報として用いるかは、例えば、その収束性などに基づいて決定するようにすることが可能である。
【0351】
さらに、本実施の形態では、画像を、3階層に符号化するようにしたが、階層数は、3に限定されるものではない。
【0352】
また、最下位階層である第3階層の最適補正データとしては、上述した場合による他、例えば、各階層の予測値の予測誤差を求め、その総和値を所定値以下にする補正データを求めるようにすることも可能である。
【0353】
さらに、例えば、図13の実施の形態では、1フレーム単位で、正規方程式をたてて、クラスごとの予測係数を求めるようにしたが、予測係数の算出処理は、その他、例えば、1フィールド単位や複数フレーム単位で正規方程式をたてて行うようにすることも可能である。他の処理についても同様である。
【0354】
また、本発明は、ハードウェアによっても、あるいは、上述した処理を行うためのアプリケーションプログラムが記録されたハードディスク等の記録媒体から、そのアプリケーションプログラムを読み出して、コンピュータに実行させることによっても、実現可能である。
【0355】
本発明の第1,第2,第3および第4の側面によれば、第2階層の画像データから、高画質の第1階層の画像データを得ることが可能となる。
【図面の簡単な説明】
【図1】本発明を適用した画像処理システムの一実施の形態の構成を示すブロック図である。
【図2】図1の送信装置1の第1実施の形態の構成を示すブロック図である。
【図3】図2の間引き回路11および12の処理を説明するための図である。
【図4】図2の間引き回路11および12の処理を説明するための図である。
【図5】図2の最適補正データ算出回路13(14)の第1の構成例を示すブロック図である。
【図6】図5の最適補正データ算出回路13の処理を説明するためのフローチャートである。
【図7】図5の補正部21の構成例を示すブロック図である。
【図8】図7の補正部21の動作を説明するためのフローチャートである。
【図9】図5のローカルデコード部22の構成例を示すブロック図である。
【図10】図9のクラス分類用ブロック化回路41の処理を説明するための図である。
【図11】クラス分類処理を説明するための図である。
【図12】ADRC処理を説明するための図である。
【図13】図9のローカルデコード部22の動作を説明するためのフローチャートである。
【図14】図5の誤差算出部23の構成例を示すブロック図である。
【図15】図14の誤差算出部23の動作を説明するためのフローチャートである。
【図16】図5の判定部24の構成例を示すブロック図である。
【図17】図16の判定部24の動作を説明するためのフローチャートである。
【図18】図1の受信装置4の一実施の形態の構成を示すブロック図である。
【図19】図18の予測部72の構成例を示すブロック図である。
【図20】図18の予測部73の構成例を示すブロック図である。
【図21】図2の最適補正データ算出回路13(14)の第2の構成例を示すブロック図である。
【図22】図21のローカルデコード部1022の構成例を示すブロック図である。
【図23】図22のローカルデコード部1022の処理を説明するためのフローチャートである。
【図24】予測係数を求める学習処理を行う画像処理装置の構成例を示すブロック図である。
【図25】図2の最適補正データ算出回路13(14)の第3の構成例を示すブロック図である。
【図26】図25の最適補正データ算出回路13(14)の処理を説明するためのフローチャートである。
【図27】図25のローカルデコード部2022の構成例を示すブロック図である。
【図28】図27のローカルデコード部2022の処理を説明するためのフローチャートである。
【図29】図25の判定部2024の構成例を示すブロック図である。
【図30】図29の判定部2024の処理を説明するためのフローチャート
【図31】図18の予測部72の他の構成例を示すブロック図である。
【図32】図18の予測部73の他の構成例を示すブロック図である。
【図33】図1の送信装置1の第2実施の形態の構成を示すブロック図である。
【図34】図33の最適補正データ算出回路101(102)の構成例を示すブロック図である。
【図35】図34の最適補正データ算出回路101の動作を説明するためのフローチャートである。
【図36】マッピング係数を得るための学習を行う画像処理装置の第1実施の形態の構成を示すブロック図である。
【図37】図36の画像処理装置の動作を説明するためのフローチャートである。
【図38】マッピング係数を得るための学習を行う画像処理装置の第2実施の形態の構成を示すブロック図である。
【図39】図38の画像処理装置の動作を説明するためのフローチャートである。
【図40】本発明による第1の階層符号化の方法を説明するための図である。
【図41】本発明による第2の階層符号化の方法を説明するための図である。
【図42】図1の送信装置1の第3実施の形態の構成を示すブロック図である。
【図43】図42の最適補正データ算出回路201の構成例を示すブロック図である。
【図44】図43の最適補正データ算出回路201の動作を説明するためのフローチャートである。
【図45】図42の最適補正データ算出回路201の他の構成例を示すブロック図である。
【図46】図45の最適補正データ算出回路201の動作を説明するためのフローチャートである。
【図47】従来の階層符号化を行う画像符号化装置の一例の構成を示すブロック図である。
【図48】従来の階層復号化を行う画像復号化装置の一例の構成を示すブロック図である。
【符号の説明】
1 送信装置, 2 記録媒体, 3 伝送路, 4 受信装置, 11,12 間引き回路, 13,14 最適補正データ算出回路, 15 信号処理回路, 21 補正部, 22 ローカルデコード部, 23 誤差算出部, 24 判定部, 25 多重化部, 32 補正回路, 33 補正値ROM, 41 クラス分類用ブロック化回路, 42 予測値計算用ブロック化回路, 43 クラス分類適応処理回路, 44 ADRC処理回路, 45 クラス分類回路, 46 適応処理回路, 51 ブロック化回路, 52 自乗誤差算出回路, 53,54 演算器, 55 積算部, 56 メモリ, 61 予測係数メモリ, 62 補正データメモリ, 63 誤差情報メモリ, 64 比較回路, 65 制御回路, 71 信号処理回路, 72,73 予測部,80 デコード部, 81 分離部, 82 クラス分類用ブロック化回路,83 予測値計算用ブロック化回路, 84 ADRC処理回路, 85 クラス分類回路, 86 予測回路, 86Aメモリ, 87,88 予測係数ROM, 89 予測回路, 91 学習用ブロック化回路, 92 教師用ブロック化回路, 93 ADRC処理回路, 94 クラス分類回路, 95 スイッチ, 96 学習データメモリ, 97 カウンタ, 98 教師データメモリ, 99 演算回路, 100 メモリ, 101,102 最適補正データ算出回路, 111 ブロック化回路, 112 ADRC処理回路, 113 クラス分類回路, 114 マッピング係数メモリ, 115 遅延回路, 116 演算回路, 121 メモリ, 122 ブロック化回路, 123 ADRC処理回路, 124 クラス分類回路, 126 演算回路, 127 ローカルデコード部, 128 誤差算出部, 129 判定部, 130 マッピング係数設定回路, 131 マッピング係数メモリ, 141 クラス分類用ブロック化回路, 142 予測値計算用ブロック化回路, 143クラス分類適応処理回路, 144 ADRC処理回路, 145 クラス分類回路, 146 予測係数ROM, 147 予測回路, 170 最適補正データ算出部, 171 間引き回路, 172 補正部, 173 ローカルデコード部, 174 誤差算出部, 175 判定部, 176 ラッチ回路, 176A メモリ, 177 ブロック化回路, 177A メモリ, 178 ADRC処理回路, 179 クラス分類回路, 180 メモリ, 181 演算回路, 182 メモリ, 201 最適補正データ算出回路, 221 分離部, 222,223 デコード部, 231,1022 ローカルデコード部, 1222,1223 デコード部, 2022 ローカルデコード部, 2024 判定部, 3022,3231 ローカルデコード部[0001]
BACKGROUND OF THE INVENTION
  The present invention relates to an image processing system, an image encoding device, and an image encoding method.,The present invention relates to a transmission method and a recording medium. In particular, an image processing system, an image encoding device, and an image encoding method for performing hierarchical encoding that divides an image into a plurality of layers having different numbers of pixels,The present invention relates to a transmission method and a recording medium.
[0002]
[Prior art]
The original image (original image) is the image of the first layer (the highest layer), the image of the second layer, the image of the third layer, the number of pixels of which is sequentially reduced (the resolution is sequentially lowered),. Has been proposed (hereinafter referred to as hierarchical coding as appropriate).
[0003]
According to hierarchical coding, images of a plurality of layers are transmitted from the transmission side to the reception side, and the images on each layer can be displayed on the reception side on the monitor corresponding to the images of the plurality of layers. it can.
[0004]
Furthermore, in hierarchical coding, for example, data on the lowest layer image (image with the smallest number of pixels) is subjected to a stronger error correction process than images of other layers. As a result, if an error that cannot be corrected for an image in a layer other than the lowest layer occurs, only the data for the image in the lowest layer is obtained at the receiving side at the worst. It is made to be able to. As a result, on the receiving side, an image of a higher layer can be obtained from the data about the image of the lowest layer by, for example, interpolation processing, etc. Therefore, according to the layer coding, robustness against errors is improved. be able to.
[0005]
FIG. 47 shows a configuration of an example of a conventional image encoding apparatus that performs the hierarchical encoding as described above. The image data to be encoded is supplied to the thinning circuit 11 and the signal processing circuit 501 as data of the first layer (the highest layer).
[0006]
In the thinning circuit 11, the number of pixels of the image data in the first layer is thinned out to form the image data in the second layer lower by one and supplied to the thinning circuit 12 and the signal processing circuit 501. In the thinning circuit 12, the number of pixels of the image data in the second layer is thinned out to form image data in the third layer, which is one level lower, and is supplied to the signal processing circuit 501.
[0007]
In the signal processing circuit 501, the image data of the first layer to the third layer is subjected to, for example, error correction processing and other necessary signal processing, and then multiplexed and output as encoded data. In the signal processing circuit 501, the third layer image data, which is the lowest layer, is subjected to stronger error correction than the data of other layers.
[0008]
FIG. 48 shows a configuration of an example of a conventional image decoding apparatus that hierarchically decodes encoded data output from the image encoding apparatus in FIG.
[0009]
In the signal processing circuit 601, the encoded data is separated into image data of the first to third layers, and further subjected to error correction processing and the like and output. The first layer image data is output as it is as the first layer decoded image. Also, the image data of the second hierarchy is supplied to the interpolation circuit 602. The interpolation circuit 602 generates an image data having the same number of pixels as the image data of the first layer one level higher by performing an interpolation process on the image data of the second layer, and as a decoded image of the first layer Output.
[0010]
The image data of the third hierarchy is supplied to the interpolation circuit 603. The interpolation circuit 603 generates image data having the same number of pixels as the image data of the second higher layer, that is, the decoded image of the second layer, by performing interpolation processing on the image data of the third layer. And output to the interpolation circuit 604. The interpolation circuit 604 generates image data having the same number of pixels as the image data of the first higher layer by performing the same interpolation processing as in the interpolation circuit 602 on the output of the interpolation circuit 603. And output as a decoded image of the first layer.
[0011]
Therefore, in the image decoding apparatus, even if the first layer image data cannot be obtained for some reason, the first layer decoded image can be obtained from the second layer image data. Similarly, even if the first layer and second layer image data cannot be obtained for some reason, the first layer and second layer decoded images can be obtained from the third layer image data. .
[0012]
[Problems to be solved by the invention]
However, the decoded image of the upper layer obtained only from the image data of the third layer, which is the lowest layer, has a significantly deteriorated image quality.
[0013]
The present invention has been made in view of such a situation, and makes it possible to obtain a high-quality decoded image only from encoded data of the lowest hierarchy.
[0014]
[Means for Solving the Problems]
  The image processing system according to the first aspect of the present invention is characterized in that the image encoding device forms the second layer image data having a smaller number of pixels than the first layer image data, and the second layer. A correction unit that adds a predetermined correction value to the image data to correct it, and outputs the correction data as correction data; a classifying unit that classifies the correction data into a predetermined class according to its property; and a prediction coefficient corresponding to the class A prediction means for predicting a predicted value of the image data of the first hierarchy by linear combination with the correction data; a calculating means for calculating a prediction error of the prediction value for the image data of the first hierarchy; a prediction error; Based on a comparison with a predetermined threshold value, a determination unit that determines whether or not the correction data output from the correction unit is appropriate, and a prediction error is smaller than the predetermined threshold value. Determined to be Output means for outputting the second layer image data consisting of the correction data as encoded data of the first layer image data, the prediction error is not smaller than a predetermined threshold, and the determination means When it is determined that the correction data is not appropriate, the predetermined correction value is changed so as to reduce the prediction error until it is determined that the correction data is appropriate, and the correction means, the classification means, the prediction means, and the calculation means And the process of the determination unit is repeated, and the image decoding processing device receives the encoded data obtained by encoding the image data of the first layer, and decodes the encoded data received by the receiving unit And decryption means forThe decoding means includes a classification means for classifying the correction data included in the encoded data into a predetermined class according to its property, a prediction coefficient corresponding to the correction data class, and a linear combination of the correction data and Prediction means for obtaining a prediction value of image data of one layerIt is characterized by that.
  An image encoding apparatus according to a second aspect of the present invention includes a forming unit that forms image data of a second layer having a smaller number of pixels than the image data of the first layer, and predetermined image data of the second layer. The correction means for adding and correcting the correction values and outputting the correction data as the correction data, the classification means for classifying the correction data into a predetermined class according to the property, and the linear relationship between the prediction coefficient corresponding to the class and the correction data A prediction unit that predicts a prediction value of image data of the first layer by combining, a calculation unit that calculates a prediction error of the prediction value for the image data of the first layer, and a prediction error and a predetermined threshold Based on the comparison, a determination unit that determines whether or not the correction data output from the correction unit is appropriate, and a prediction error is smaller than a predetermined threshold, and the determination unit determines that the correction data is appropriate. Correction data Is output as encoded data of the image data of the first hierarchy, the prediction error is not smaller than a predetermined threshold, and the determination unit determines that the correction data is not appropriate, Until the correction data is determined to be appropriate, the predetermined correction value is changed so as to reduce the prediction error, and the processing of the correction means, the classification means, the prediction means, the calculation means, and the determination means is repeated. To do.
[0015]
  Second aspect of the present inventionIn this image encoding method, the second layer image data having a smaller number of pixels than the first layer image data is formed, and the second layer image data is formed.Add a predetermined correction value to the, Correction dataAsOutput,The correction data is classified into predetermined classes according to their properties, and the prediction coefficient corresponding to the class andCorrection dataBy linear combination withPredicting the prediction value of the image data of the first layer, calculating the prediction error of the prediction value for the image data of the first layer, and predicting the prediction error for the first layerAnd a predetermined thresholdBased on the correction dataWhether or not is appropriateJudgmentShi,When it is determined that the prediction error is smaller than a predetermined threshold and the correction data is appropriate, the second layer image data composed of the correction data is output as encoded data of the first layer image data, and the prediction is performed. If it is determined that the error is not smaller than the predetermined threshold value and the correction data is not appropriate, the predetermined correction value is changed so that the prediction error becomes small until it is determined that the correction data is appropriate. Is added to the image data of the hierarchy of the image, corrected and output as correction data, the correction data is classified into a predetermined class according to its property, and the linear combination of the prediction coefficient corresponding to the class and the correction data is used. The prediction value of the image data of the first hierarchy is predicted, the prediction error of the prediction value for the image data of the first hierarchy is calculated, and the correction data is appropriate based on the comparison between the prediction error and a predetermined threshold value. It repeats a process of determining whether or not LukeIt is characterized by that.
[0016]
  Third aspect of the present inventionIn this transmission method, the encoded data forms the second layer image data having a smaller number of pixels than the first layer image data, and adds a predetermined correction value to the second layer image data. Correction and output as correction data, the correction data is classified into a predetermined class according to its property, and the prediction value of the image data of the first layer is obtained by linear combination of the prediction coefficient corresponding to the class and the correction data Whether the correction data is appropriate based on the comparison between the prediction error for the first hierarchy and a predetermined threshold value. If the prediction error is not smaller than a predetermined threshold value and the correction data is determined to be inappropriate, the prediction error is reduced to a predetermined correction value until it is determined that the correction data is appropriate. Change to the second floor Is corrected by adding to the image data, and is output as correction data. The correction data is classified into a predetermined class according to its property, and the first combination is obtained by linear combination of the prediction coefficient corresponding to the class and the correction data. The prediction value of the image data of the hierarchy is predicted, the prediction error of the prediction value for the image data of the first hierarchy is calculated, and the correction data to be output is appropriate based on the comparison between the prediction error and a predetermined threshold value. The process of determining whether or not there is repeated, and the correction data when the prediction error is smaller than a predetermined threshold and the correction data is determined to be appropriate are included as image data of the second hierarchy, To do.
  Of the present inventionFourth aspectA recording medium on which a program for performing an image encoding process by hierarchical encoding forms second-layer image data having a smaller number of pixels than the first-layer image data, and the second-layer image The data is corrected by adding a predetermined correction value, output as correction data, the correction data is classified into a predetermined class according to its properties, and by a linear combination of the prediction coefficient corresponding to the class and the correction data, Based on the prediction value of the image data of the first layer, the prediction error of the prediction value for the image data of the first layer is calculated, and the comparison between the prediction error for the first layer and a predetermined threshold value Determining whether or not the correction data is appropriate. When the prediction error is smaller than a predetermined threshold value and the correction data is determined to be appropriate, the second-layer image data composed of the correction data is 1 level image data If the prediction error is not smaller than the predetermined threshold value and the correction data is determined to be inappropriate, the predetermined correction value is used as the prediction error until the correction data is determined to be appropriate. Is corrected so as to be small, added to the image data of the second layer, corrected, output as correction data, the correction data is classified into a predetermined class according to its property, and the prediction coefficient corresponding to the class The prediction value of the image data of the first layer is predicted by the linear combination of the correction data and the correction data, the prediction error of the prediction value is calculated for the image data of the first layer, and the prediction error and a predetermined threshold value are calculated. Based on the comparison, the process of determining whether or not the correction data is appropriate is repeated.
[0020]
  In the image processing system according to the first aspect of the present invention, the image encoding device forms the second layer image data having a smaller number of pixels than the first layer image data, and the second layer image. A predetermined correction value is added to the data to be corrected and output as correction data.The correction data is classified into a predetermined class according to its property, and by a linear combination of a prediction coefficient corresponding to the class and the correction data, The predicted value of the image data of the first hierarchy is predicted, the prediction error of the predicted value is calculated for the image data of the first hierarchy, and the correction data is appropriate based on the comparison between the prediction error and a predetermined threshold value. If the prediction error is smaller than the predetermined threshold value and the correction data is determined to be appropriate, the second layer image data composed of the correction data is the first layer image data. of When the prediction data is output as encoded data, the prediction error is not smaller than a predetermined threshold value, and it is determined that the correction data is not appropriate, the predetermined correction value is the prediction error until the correction data is determined to be appropriate. Prediction coefficient corresponding to the class is changed to be smaller, added to the image data of the second layer, corrected and output as correction data, and the correction data is classified into a predetermined class according to its property The prediction value of the image data of the first layer is predicted by the linear combination of the correction data and the correction data, the prediction error of the prediction value is calculated for the image data of the first layer, and the prediction error and a predetermined threshold value are calculated. Based on the comparison, the process of determining whether or not the output correction data is appropriate is repeated, the encoded data is received by the image decoding processing device,The correction data included in the encoded data is classified into a predetermined class according to its property, and the prediction of the image data of the first layer is performed by linear combination of the prediction coefficient corresponding to the correction data class and the correction data. By finding the value,The encoded data is decoded.
  In the image coding apparatus according to the second aspect of the present invention, second-layer image data having a smaller number of pixels than the first-layer image data is formed, and predetermined correction is applied to the second-layer image data. The value is added and corrected, and is output as correction data. The correction data is classified into a predetermined class according to its property, and the first layer of the first layer is obtained by linear combination of the prediction coefficient corresponding to the class and the correction data. The prediction value of the image data is predicted, the prediction error of the prediction value is calculated for the image data of the first hierarchy, and the correction data that is output is appropriate based on the comparison between the prediction error and a predetermined threshold value If the prediction error is smaller than a predetermined threshold and it is determined that the correction data is appropriate, the correction data is output as encoded data of the image data of the first layer, and the prediction Error is If it is determined that the correction data is not appropriate when it is not smaller than the predetermined threshold value, the predetermined correction value is changed so as to reduce the prediction error until it is determined that the correction data is appropriate. Is corrected by being added to the image data of the hierarchical level, and is output as correction data.The correction data is classified into a predetermined class according to its property, and a linear combination of a prediction coefficient corresponding to the class and the correction data is used. The prediction value of the image data of the first layer is predicted, the prediction error of the prediction value is calculated for the image data of the first layer, and the correction data that is output based on the comparison between the prediction error and a predetermined threshold value The process of determining whether or not is appropriate is repeated.
[0021]
  Second aspect of the present inventionIn the image encoding method ofThe second layer image data having a smaller number of pixels than the first layer image data is formed, corrected by adding a predetermined correction value to the second layer image data, and output as correction data. The data is classified into a predetermined class according to its property, and the predicted value of the image data of the first hierarchy is predicted by linear combination of the prediction coefficient corresponding to the class and the correction data, and the image of the first hierarchy A prediction error of the prediction value for the data is calculated, and based on a comparison between the prediction error for the first hierarchy and a predetermined threshold value, it is determined whether the correction data is appropriate, and the prediction error is a predetermined value. If it is determined that the correction data is smaller than the threshold and the correction data is appropriate, the second layer image data composed of the correction data is output as encoded data of the first layer image data, and the prediction error is a predetermined threshold. Yo When it is determined that the correction data is not appropriate and the correction data is not appropriate, the predetermined correction value is changed so as to reduce the prediction error until it is determined that the correction data is appropriate. It is added to the data to be corrected, and is output as correction data. The correction data is classified into a predetermined class according to its property, and the linear combination of the prediction coefficient corresponding to the class and the correction data results in the first layer. A prediction value of the image data is predicted, a prediction error of the prediction value is calculated for the image data of the first layer, and whether or not the correction data is appropriate based on a comparison between the prediction error and a predetermined threshold value The process of determining is repeated.
[0022]
  The third aspect of the present inventionIn the transmission method, encoded data encoded by hierarchical encoding from image data of the first layer is formed from image data of the second layer having a smaller number of pixels than that of the image data of the first layer. A predetermined correction value is added to the image data of the second hierarchy to be corrected, and output as correction data. The correction data is classified into a predetermined class according to its property, and a prediction coefficient and correction data corresponding to the class The prediction value of the image data of the first layer is predicted by the linear combination, the prediction error of the prediction value for the image data of the first layer is calculated, and the prediction error for the first layer and a predetermined threshold value Based on the comparison, it is determined whether or not the correction data is appropriate. If the prediction error is not smaller than a predetermined threshold value and the correction data is determined to be incorrect, the correction data is determined to be appropriate. The predetermined correction value is changed so as to reduce the prediction error, added to the image data of the second hierarchy, corrected, and output as correction data. The prediction value of the image data of the first layer is predicted by linear combination of the prediction coefficient corresponding to the class and the correction data, and the prediction error of the prediction value for the image data of the first layer is The process of determining whether or not the correction data to be output is appropriate based on the comparison between the calculated prediction error and the predetermined threshold is repeated, and the prediction error is smaller than the predetermined threshold and the correction data is appropriate. The correction data when it is determined that the image data is determined is included as the image data of the second hierarchy.
  Of the present inventionFourth aspectIn the recording medium program in which a program for performing image encoding processing by layer encoding is recorded, second-layer image data having a smaller number of pixels than the first-layer image data is formed. A predetermined correction value is added to the image data of the hierarchy to be corrected and output as correction data. The correction data is classified into a predetermined class according to its property, and a linear relationship between the prediction coefficient corresponding to the class and the correction data. As a result of the combination, a prediction value of the image data of the first hierarchy is predicted, a prediction error of the prediction value for the image data of the first hierarchy is calculated, and the prediction error for the first hierarchy and a predetermined threshold value are calculated. Based on the comparison, it is determined whether or not the correction data is appropriate. When the prediction error is smaller than a predetermined threshold value and the correction data is determined to be appropriate, the second floor composed of the correction data. Is output as encoded data of the image data of the first layer, and when it is determined that the prediction error is not smaller than a predetermined threshold and the correction data is not appropriate, the correction data is determined to be appropriate. Until a predetermined correction value is changed so as to reduce the prediction error, added to the image data of the second layer, corrected, and output as correction data. The prediction value of the first layer image data is predicted by linear combination of the prediction coefficient corresponding to the class and the correction data, and the prediction value of the first layer image data is predicted. An error is calculated, and the process of determining whether or not the correction data is appropriate is repeated based on a comparison between the prediction error and a predetermined threshold value.
[0026]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below, but before that, in order to clarify the correspondence between the respective means of the invention described in the claims and the following embodiments, after each means, A corresponding embodiment (however, an example) is added in parentheses to describe the characteristics of the present invention, and the following is obtained.
[0045]
Of course, this description does not mean that the respective means are limited to those described above.
[0046]
FIG. 1 is a diagram of an image processing system to which the present invention is applied (a system is a logical collection of a plurality of devices, regardless of whether each configuration device is in the same housing). 1 shows a configuration of an embodiment.
[0047]
The transmission apparatus 1 is supplied with digitized image data. The transmission apparatus 1 hierarchically encodes input image data and records the encoded data obtained as a result on a recording medium 2 made of, for example, an optical disk, a magneto-optical disk, a magnetic tape, a phase change disk, or the like, or For example, transmission is performed via terrestrial waves, satellite lines, telephone lines, CATV networks, the Internet, or other transmission paths 3.
[0048]
The receiving device 4 reproduces the encoded data recorded on the recording medium 2 or receives the encoded data transmitted via the transmission path 3 and hierarchically decodes the encoded data. The decoded image obtained as a result is supplied to a display (not shown) and displayed.
[0049]
Note that the image processing system as described above is, for example, an optical disk device, a magneto-optical disk device, a magnetic tape device, or other devices that record / reproduce images, or, for example, a videophone device or a television. The present invention is applied to a broadcasting system, a CATV system, and other devices that transmit images. In addition, since the amount of encoded data output from the transmission apparatus 1 is small, the image processing system in FIG. 1 can be applied to a mobile terminal having a low transmission rate, such as a mobile phone or the like that is convenient for movement. is there.
[0050]
FIG. 2 shows a configuration example of the transmission apparatus 1.
[0051]
The digital image data to be encoded, that is, the image data of the first layer (uppermost layer) is supplied to the signal processing circuit 15 as it is as the encoded data of the first layer as well as the thinning circuit 11 and the optimum correction data calculation. It is supplied to the circuit 13. In the thinning-out circuit 11, the number of pixels of the first layer image data is thinned out to form the second layer image data that is one level lower. That is, in the thinning circuit 11, for example, as shown in FIG. 3, the image data of the first layer (the portion indicated by a circle in the figure) is simply thinned out to 1/9 (both in the horizontal direction and in the vertical direction). As a result, image data in the second layer (portion indicated by Δ in the figure) is formed. This second-layer image data is supplied to the thinning circuit 12 and the optimum correction data calculation circuit 13.
[0052]
In the thinning circuit 12, the number of pixels of the second layer image data is thinned out to form the third layer image data that is one level lower. That is, in the thinning circuit 12, for example, as in the thinning circuit 11, the second layer image data is simply thinned out to 1/9, whereby the third layer image indicated by a cross in FIG. Data is formed. This third layer image data is supplied to the optimum correction data calculation circuit 14.
[0053]
As described above, in the thinning circuits 11 and 12, as shown in FIG. 4, the image data of the second hierarchy and the third hierarchy are formed from the image data (original image) of the first hierarchy.
[0054]
The optimum correction data calculation circuit 13 calculates optimum correction data (hereinafter, appropriately referred to as second-layer optimum correction data) that is suitable for obtaining a decoded image of the first hierarchy from the image data of the second hierarchy. The encoded data of the second layer is output to the signal processing circuit 15. The optimum correction data calculation circuit 14 calculates optimum correction data (hereinafter, referred to as optimum correction data in the third hierarchy as appropriate) that is optimal for obtaining the optimum correction data output from the optimum correction data calculation circuit 14. The encoded data of the hierarchy is supplied to the signal processing circuit 15.
[0055]
Here, the optimal correction data of the third hierarchy is optimal for obtaining the optimal correction data of the second hierarchy, and the optimal correction data of the second hierarchy is used for obtaining the decoded image of the first hierarchy. Since it is optimal, it can be said that the optimal correction data of the third layer is also optimal for obtaining the decoded image of the first layer, similarly to the optimal correction data of the second layer.
[0056]
The signal processing circuit 15 extracts a prediction coefficient (prediction coefficient of the first layer) described later included in the encoded data of the second layer and includes it in the encoded data of the third layer. The signal processing circuit 15 performs, for example, error correction processing and other necessary signal processing on the encoded data of the first layer to the third layer, and then multiplexes the final encoded data. Is output as In the signal processing circuit 15, the third layer encoded data, which is the lowest layer, is subjected to stronger error correction than the encoded data of other layers.
[0057]
The encoded data output from the signal processing circuit 13 as described above is recorded on the recording medium 2 or transmitted via the transmission path 3.
[0058]
In the above description, it is assumed that the thinning circuits 11 and 12 perform thinning at the same rate, but the thinning ratios performed by the thinning circuits 11 and 12 do not have to be the same.
[0059]
Next, FIG. 5 shows a configuration example of the optimum correction data calculation circuit 13 of FIG. Note that the optimum correction data calculation circuit 14 is also configured in the same manner as the optimum correction data calculation circuit 13, and thus the description thereof is omitted.
[0060]
The second layer image data from the thinning circuit 11 is supplied to the correction unit 21, and the first layer image data is supplied to the local decoding unit 22. Further, the image data of the first layer is also supplied to the error calculation unit 23.
[0061]
The correction unit 21 corrects the image data of the second hierarchy according to the control from the determination unit 24. The correction data obtained as a result of correction in the correction unit 21 is supplied to the local decoding unit 22 and the determination unit 24.
[0062]
Based on the correction data from the correction unit 21, that is, the correction result of the image data of the second layer, the local decoding unit 22 predicts the predicted value of the first higher layer, and supplies it to the error calculation unit 23. It is made to do.
[0063]
As will be described later, the local decoding unit 22 calculates the prediction coefficient for each class for calculating the predicted value of the first layer obtained by linear combination with the correction data, the correction data and the image data of the first layer ( Original image) and an adaptive process for obtaining the predicted value of the first layer based on the prediction coefficient for each class, and the prediction coefficient for each class obtained at this time Is also supplied to the determination unit 24.
[0064]
The error calculation unit 23 is configured to calculate the prediction error of the prediction value from the local decoding unit 22 for the first layer image data (original image) input thereto. This prediction error is supplied to the determination unit 24 as error information.
[0065]
Based on the error information from the error calculation unit 23, the determination unit 24 uses the correction data output from the correction unit 21 as the hierarchical encoding result of the original image (here, the first layer image). Judgment is made. When the determination unit 24 determines that the correction data output from the correction unit 21 is not appropriate to be the hierarchical encoding result of the original image, the determination unit 24 controls the correction unit 21 and further controls the second layer. The image data is corrected, and new correction data obtained as a result is output. If the determination unit 24 determines that the correction data output from the correction unit 21 is appropriate to be the hierarchical encoding result of the original image, the correction data supplied from the correction unit 21 is The optimum correction data (second-layer optimum correction data) is supplied to the multiplexing unit 25, and the prediction coefficient for each class supplied from the local decoding unit 22 is also supplied to the multiplexing unit 25.
[0066]
The multiplexing unit 25 multiplexes the optimum correction data from the determination unit 24 and the prediction coefficient for each class, and outputs the multiplexing result as second-layer encoded data.
[0067]
Next, the operation will be described with reference to the flowchart of FIG. When the image data of the second layer is supplied to the correction unit 21, the correction unit 21 does not perform the correction first in step S1, and directly converts the image data of the second layer as it is. And output to the determination unit 24. In step S2, the local decoding unit 22 locally decodes the correction data from the correction unit 21 (initially, the second-layer image data itself as described above).
[0068]
That is, in step S2, the prediction coefficient for each class for calculating the prediction value of the first higher layer obtained by linear combination with the correction data from the correction unit 21 is used as the correction data and the first layer image. Processing to obtain using the data is performed. Further, based on the prediction coefficient for each class, the predicted value of the first layer image is obtained and supplied to the error calculation unit 23.
[0069]
When the error calculation unit 23 receives the predicted value of the first layer from the local decoding unit 22, in step S3, the error calculation unit 23 calculates the prediction error of the predicted value from the local decoding unit 22 with respect to the image data of the first layer. Information is supplied to the determination unit 24. When the determination unit 24 receives the error information from the error calculation unit 23, in step S4, based on the error information, the determination unit 24 sets the correction data output from the correction unit 21 as the hierarchical encoding result of the first layer image. Judge the appropriateness of the.
[0070]
That is, in step S4, for example, it is determined whether the error information is equal to or less than a predetermined threshold value ε. If it is determined in step S4 that the error information is not less than or equal to the predetermined threshold ε, it is recognized that the correction data output from the correction unit 21 is not appropriate to be the second layer image, and the process proceeds to step S5. The unit 24 controls the correction unit 21 and thereby corrects the image data of the second hierarchy. The correction unit 21 changes the correction amount (correction value Δ described later) under the control of the determination unit 24 to correct the image data of the second hierarchy, and the correction data obtained as a result is determined by the local decoding unit 22 and the determination. To the unit 24. And it returns to step S2 and the same process is repeated hereafter.
[0071]
On the other hand, when it is determined in step S4 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 from the correction unit 21 as the second layer image, and the determination unit 24 outputs the correction data when error information equal to or less than a predetermined threshold ε is obtained to the multiplexing unit 25 as the optimal correction data together with the prediction coefficient for each class. In the multiplexing unit 25, in step S6, the optimum correction data from the determination unit 24 and the prediction coefficient for each class are multiplexed, and the multiplexing result is output as encoded data of the second layer for processing. finish.
[0072]
As described above, the correction data when the error information is equal to or less than the predetermined threshold value ε is the second-layer image data. Therefore, on the receiving device 4 side, the correction data (optimal correction data) Based on the above, it is possible to obtain an image that is substantially the same as the original image (the first layer image).
[0073]
In the optimum correction data calculation circuit 13, as described above, the process for obtaining the prediction coefficient for each class for calculating the predicted value of the first higher layer obtained by linear combination with the correction data is as described above. The optimum correction data calculation circuit 14 performs the process using the optimum correction data output from the optimum correction data calculation circuit 13. However, the optimum correction data calculation circuit 14 can also perform an adaptive process (a process for obtaining a predicted value based on a prediction coefficient) using the second layer image output from the thinning circuit 11 as it is. It is.
[0074]
Next, FIG. 7 shows a configuration example of the correction unit 21 of FIG.
[0075]
The image data of the second layer is supplied to the correction circuit 32, and the correction circuit 32 gives an address to the correction value ROM 33 according to the control signal from the determination unit 24 (FIG. 5), thereby The correction value Δ is read out. The correction circuit 32 generates correction data by adding, for example, the correction value Δ from the correction value ROM 33 to the image data of the second layer, and supplies the correction data to the local decoding unit 22 and the determination unit 24. It is made like that. The correction value ROM 33 stores various combinations of correction values Δ for correcting the image data of the second layer (for example, combinations of correction values for correcting the image data of the second layer for one frame). The correction value Δ combination corresponding to the address supplied from the correction circuit 32 is read out and supplied to the correction circuit 32.
[0076]
Next, the processing of the correction unit 21 in FIG. 7 will be described with reference to FIG.
[0077]
For example, when image data of the second hierarchy such as one frame is supplied to the correction circuit 32, the correction circuit 32 receives the image data of the second hierarchy in step S11, and in step S12, the determination unit It is determined whether a control signal is received from 24 (FIG. 5). If it is determined in step S12 that the control signal has not been received, steps S13 and S14 are skipped, and the process proceeds to step S15. The correction circuit 32 directly uses the second-layer image data as correction data as local correction data. It outputs to the decoding part 22 and the determination part 24, and returns to step S12.
[0078]
That is, as described above, the determination unit 24 controls the correction unit 21 (correction circuit 32) based on the error information. Immediately after the correction circuit 32 receives the image data of the second layer. Since the error information is not yet obtained (because the error information is not output from the error calculation unit 23), no control signal is output from the determination unit 24. For this reason, immediately after receiving the image data of the second layer, the correction circuit 32 does not correct the image data of the second layer (correction by adding 0), and directly uses the correction data as correction data. 22 and the determination unit 24.
[0079]
On the other hand, when it is determined in step S12 that the control signal from the determination unit 24 has been received, in step S13, the correction circuit 32 outputs an address according to the control signal to the correction value ROM 33. Thereby, in step S13, a combination (set) of correction values Δ for correcting the image data of the second layer for one frame stored in the address is read from the correction value ROM 33, and the correction circuit is read out. 32. When receiving the combination of correction values Δ from the correction value ROM 33, the correction circuit 32 adds the corresponding correction value Δ to each of the second layer image data of one frame in step S14. Correction data obtained by correcting the image data is calculated. Thereafter, the process proceeds to step S15, 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 S12.
[0080]
As described above, the correction unit 21 repeats outputting correction data obtained by correcting the image data of the second hierarchy to various values according to the control of the determination unit 24.
[0081]
Note that when the encoding of one frame image is completed, the determination unit 24 supplies a control signal indicating that to the correction unit 21. In the correction unit 21, it is determined whether or not the control signal indicating that the encoding of the image of one frame has been completed is received from the determination unit 24 in step S <b> 12. If so, the process for that frame is terminated. Then, after waiting for the next frame to be supplied, the process returns to step S11, and the processing from step S11 is repeated again.
[0082]
Next, FIG. 9 shows a configuration example of the local decoding unit 22 of FIG.
[0083]
The correction data from the correction 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 a unit for classifying correction data into a predetermined class in accordance with its property, and is used as a class classification block centered on correction data of interest (attention correction data). It is made to block.
[0084]
That is, for example, in FIG. 10, it is assumed that the pixels indicated by ◯ constitute the first layer image, and the pixels indicated by ● indicate the second layer image (correction data). The i-th correction data (or pixel) from the top and j-th from the left is XijIn this case, the class classification blocking circuit 41 uses the target pixel (target correction data) Xij8 pixels X adjacent to the upper left, upper, upper right, left, right, lower left, lower, lower right of(i-1) (j-1), X(i-1) j, X(i-1) (j + 1), Xi (j-1), Xi (j + 1), X(i-1) (j-1), X(i-1) j, X(i + 1) (j + 1)In addition, a class classification block including a total of 9 pixels (9 correction data) including itself is configured. This class classification block is supplied to the class classification adaptive processing circuit 43.
[0085]
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 9 pixels of 3 × 3 (horizontal × vertical).
[0086]
The predicted value calculation blocking circuit 42 blocks the correction data into predicted value calculation blocks centering on the target correction data, which is a unit for calculating the predicted value of the first layer image. ing. That is, now in FIG.ijThe pixel value of 9 × 3 pixels in the original image (here, the image in the first layer) centered on (in the figure, the part indicated by ●) is the leftmost to the right, and from the top Downward, Yij(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 prediction value calculation block (pixel XijIs a predicted value calculation block) with the target pixel (target correction data) as the target pixel.
[0087]
Specifically, for example, the pixel Y in the first layer image surrounded by a rectangle in FIG.33(1) to Y33For the calculation of the predicted value of 9 pixels in (9), the 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.
[0088]
The predicted value calculation block obtained in the predicted value calculation blocking circuit 42 is supplied to the class classification adaptive processing circuit 43.
[0089]
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.
[0090]
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.
[0091]
The class classification adaptive processing circuit 43 includes an ADRC (Adaptive Dynamic Range Coding) processing circuit, a class classification circuit 45, and an adaptive processing circuit 46, and performs class classification adaptive processing.
[0092]
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.
[0093]
Here, the class classification process and the adaptation process will be briefly described.
[0094]
First, the class classification process will be described.
[0095]
Now, for example, as shown in FIG. 11A, a pixel of interest and three adjacent pixels constitute a block (class classification block) of 2 × 2 pixels. It is expressed by 1 bit (takes a level of 0 or 1). In this case, as shown in FIG. 11B, the block of 2 × 2 4 pixels has 16 (= (21)Four) Can be classified into patterns. That is, the pixel of interest constituting the block can be divided into patterns, and such pattern division is class classification processing and is performed in the class classification circuit 45.
[0096]
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).
[0097]
Here, normally, for example, about 8 bits are assigned to each pixel. In the present embodiment, as described above, the class classification block is composed of 9 pixels of 3 × 3. Therefore, when class classification processing is performed on such a class classification block, (28)9It will be classified into a huge number of classes. $
Therefore, in the present embodiment, the ADRC processing circuit 44 is configured to perform ADRC processing on the class classification block, whereby the number of bits of the pixels constituting the class classification block is set. By reducing the size, the number of classes is reduced.
[0098]
That is, for example, in order to simplify the description, as shown in FIG. 12A, 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.
[0099]
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. 12B, 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 level11Decoding is performed by adding the minimum value MIN to the value.
[0100]
Here, such ADRC processing is called non-edge matching.
[0101]
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.
[0102]
By applying ADRC processing that performs requantization with a smaller number of bits than the number of bits allocated to the pixels constituting the block, as described above, the number of classes can be reduced. This is performed in the ADRC processing circuit 44.
[0103]
In the present embodiment, the class classification circuit 45 performs the class classification process based on the ADRC code output from the ADRC processing circuit 44. 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.
[0104]
Next, the adaptation process will be described.
[0105]
For example, now, the predicted value E [y] of the pixel value y of the first layer image is set to the pixel values of some of the surrounding pixels (here, correction data obtained by correcting the image data of the second layer) (hereinafter referred to as “correction data”). (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.
[0106]
Figure 0003912629
[0107]
Therefore, in order to generalize, 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 0003912629
Then, the following observation equation holds.
[0108]
Figure 0003912629
[0109]
Then, it is considered that a least square method is applied to this observation equation to obtain a predicted value E [y] close to the pixel value y of the first layer image. In this case, the matrix Y composed of a set of pixel values y of the first layer image (hereinafter referred to as teacher data as appropriate) and the residual e of the prediction value E [y] with respect to the pixel value y of the first layer image. A matrix E consisting of a set
[Expression 2]
Figure 0003912629
From the equation (2), the following residual equation is established.
[0110]
Figure 0003912629
[0111]
In this case, the first layer prediction coefficient w for obtaining the prediction value E [y] close to the pixel value y of the first layer image.iIs the square error
[Equation 3]
Figure 0003912629
Can be obtained by minimizing.
[0112]
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 first layer image.
[0113]
[Expression 4]
Figure 0003912629
Figure 0003912629
[0114]
Therefore, first, Equation (3) is converted into the first layer prediction coefficient w.iIs differentiated by the following equation.
[0115]
[Equation 5]
Figure 0003912629
Figure 0003912629
[0116]
From equations (4) and (5), equation (6) is obtained.
[0117]
[Formula 6]
Figure 0003912629
Figure 0003912629
[0118]
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). .
[0119]
[Expression 7]
Figure 0003912629
Figure 0003912629
[0120]
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 sweep-out method (Gauss-Jordan elimination method) or the like can be applied.
[0121]
As described above, the optimal first layer prediction coefficient w is obtained for each class, and further, using the prediction coefficient w, the prediction value E close to the pixel value y of the first layer image is calculated using Equation (1). [Y] is an adaptive process, and this adaptive process is performed in the adaptive processing circuit 46.
[0122]
Note that the adaptive process reproduces components included in the original image (here, the first layer image) that are not included in the thinned image (here, the second layer image). This is different from the interpolation process. 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.
[0123]
Next, the processing of the local decoding unit 22 in FIG. 9 will be described with reference to the flowchart in FIG.
[0124]
In the local decoding unit 22, first, in step S21, the correction data from the correction unit 21 is blocked. In other words, in the class classification blocking circuit 41, the correction data is blocked into 3 × 3 pixel class classification blocks centered on the target correction data, and is supplied to the class classification adaptive processing circuit 43, and the predicted value In the calculation blocking circuit 42, the correction data is divided into 5 × 5 pixel prediction value calculation blocks centered on the target correction data and supplied to the class classification adaptive processing circuit 43.
[0125]
As described above, the class classification adaptive processing circuit 43 is supplied with image data of the first layer in addition to the class classification block and the prediction value calculation block. The class classification block is subjected to ADRC processing. The prediction value calculation block and the first layer image data are supplied to the adaptive processing circuit 46 in the unit 44.
[0126]
Upon receiving the class classification block, the ADRC processing circuit 44 performs, for example, 1-bit ADRC (ADRC that performs re-quantization by 1 bit) on the class classification block in step S22, thereby The correction data is converted (encoded) into 1 bit and output to the class classification circuit 45. In step S23, the class classification circuit 45 performs class classification processing on the class classification block that has been subjected to ADRC processing. 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.
[0127]
In the present embodiment, since class classification processing is performed on a class classification block composed of 9 pixels of 3 × 3 subjected to 1-bit ADRC processing, each class classification block 512 (= (21)9) In one of the classes.
[0128]
In step S24, the adaptive processing circuit 46 performs adaptive processing for each class on the basis of the class information from the class classification circuit 45. Thus, the prediction coefficient for each class in the first hierarchy and one frame are processed. A predicted value for minutes is calculated.
[0129]
That is, in this embodiment, 25 × 9 prediction coefficients for each class are calculated from the correction data for one frame and the image data for the first layer. For example, when attention is paid to a certain correction data, a total of nine pixels, that is, a pixel of the first layer image corresponding to the correction data of interest and eight pixels adjacent around the pixel. Is calculated by performing an adaptive process using a prediction value calculation block having 5 × 5 pixels centered on the target correction data.
[0130]
Specifically, for example, the correction data X shown in FIG.333 × 3 correction data X centered ontwenty two, Xtwenty three, Xtwenty four, X32, X33, X34, X42, X43, X44Class classification block (correction data X33Is classified from the class classification circuit 45, and the 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 first layer image33The pixel value Y of 3 × 3 pixels (the part surrounded by a rectangle in FIG. 10) centering on33(1) to Y33Using (9) as teacher data, the normal equation shown in equation (7) is established.
[0131]
Further, for example, a normal equation is similarly established for the other prediction value calculation blocks corresponding to the class classification blocks classified into the same class information C in one frame, 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) A number that can calculate (in this embodiment, 25 learning data are used to obtain one prediction value, and accordingly 25 prediction coefficients w are also required correspondingly). (Thus, until such a number of normal equations is obtained, in step S24, the normal equation is processed), the class information C is solved by solving the normal equation. For pixel value Y33Predicted value E [Y of (k)33(K)] optimal prediction coefficient w1(K) to wtwenty five(K) is calculated.
[0132]
This process is performed for each class, whereby 25 × 9 prediction coefficients are calculated for each class. Then, using the prediction coefficient corresponding to the class information C and the predicted landform calculation block, according to the following expression corresponding to Expression (1), the predicted value E [Y33(K)] is required.
[0133]
Figure 0003912629
[0134]
In step S24, the 25 × 9 prediction coefficient is obtained for each class as described above, and further, using the prediction coefficient for each class, the 3 × 3 original image centered on the target correction data is used. A predicted value of the pixel is obtained.
[0135]
Thereafter, the process proceeds to step S25, where the 25 × 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.
[0136]
Next, FIG. 14 shows a configuration example of the error calculation unit 23 of FIG.
[0137]
The original image data, that is, the image data of the first layer here is supplied to the blocking circuit 51, where the blocking circuit 51 converts the image data into the local decoding unit 22. Are block-formed in units of nine corresponding to the predicted value of the first hierarchy output from, and the resulting 3 × 3 pixel block is output to the square error calculation circuit 52. As described above, the square error calculation unit 52 is supplied with blocks from the blocking circuit 51, and the local decoding unit 22 receives the predicted value of the first layer in units of nine (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 first layer image and supplies the square error to the integrating unit 55.
[0138]
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 arithmetic unit 54 squares the output of the arithmetic unit 53 (the difference between the image data of the first layer and its predicted value) and supplies it to the integrating unit 55.
[0139]
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.
[0140]
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 of the first hierarchy is as described above. Blocks obtained as a result are supplied to the square error calculation circuit 52. In step S <b> 33, the square error calculation circuit 52 calculates the image data of the first layer and the predicted value of the first layer supplied from the local decoding unit 22 that constitute the block supplied from the blocking circuit 51. A square error is calculated.
[0141]
That is, in step S <b> 33, the computing unit 53 subtracts the corresponding prediction value from each of the blocked first layer 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.
[0142]
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.
[0143]
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. And it returns to step S31 and repeats the process from step S31 again.
[0144]
Therefore, the error calculation unit 23 converts the image data of the first hierarchy to Yij(K) and the predicted value of the first hierarchy generated from the correction data in the local decoding unit 22 is E [Yij(K)], the error information Q is calculated by performing an operation according to the following equation.
[0145]
Q = Σ (Yij(K) -E [Yij(K)])2
However, Σ means summation for one frame.
[0146]
Next, FIG. 16 illustrates a configuration example of the determination unit 24 of FIG.
[0147]
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 correction unit 21.
[0148]
In the correction data memory 62, when the correction data is newly corrected by the correction unit 21 and new correction data is supplied as a result, the correction data stored in the correction data memory (the previous correction data) Instead of correction data), new correction data is stored. In addition, after 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 coefficient memory 61, when a prediction coefficient for each new class is supplied in this way, the new prediction coefficient for each class (prediction coefficient for each previous class) already stored is replaced with the new prediction coefficient. A prediction coefficient for each class is stored.
[0149]
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.
[0150]
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.
[0151]
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 image encoding result, and recognizes that the correction data is not optimal ( When the determination is made, a control signal requesting output of new correction data is supplied to the correction unit 21 (FIG. 5). When the control circuit 65 recognizes that it is optimal to use the correction data stored in the correction data memory 62 as the image encoding result, the control circuit 65 stores the correction data stored in the prediction coefficient memory 61 for each class. The 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 correction data. Further, in this case, the control circuit 65 outputs a control signal indicating that the encoding of the image of one frame has been completed to the correction unit 21, thereby causing the correction unit 21 to receive the next signal as described above. The process for the frame is started.
[0152]
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.
[0153]
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.
[0154]
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 processing after step S43 is not performed, and the control signal for controlling the correction circuit 32 (FIG. 7) is output in the control circuit 65 so as to output a predetermined initial address.
[0155]
If it is determined in step S43 that the current error information is less than or equal to the previous error information, that is, if the error information is reduced by correcting the image data of the second layer, the process proceeds to step S44 and the control is performed. The circuit 65 outputs a control signal instructing to change the correction value Δ in the same manner as the previous time to the correction circuit 32, and 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 image data of the second layer, the process proceeds to step S45. The control circuit 65 outputs to the correction circuit 32 a control signal that instructs to change the correction value Δ opposite to the previous time, and returns to step S41.
[0156]
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.
[0157]
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 out the prediction coefficient for each class stored in the prediction coefficient memory 61, reads out correction data for one frame stored in the correction data memory 62 as optimum correction data, and sends it to the multiplexing unit 25. Supply and finish the process.
[0158]
After that, waiting for the error information for the next frame to be supplied, the process according to the flowchart shown in FIG. 17 is repeated again.
[0159]
Note that the correction circuit 32 can correct the image data of the second layer for all the data of one frame or only a part of the data. In the case of correcting only a part of the data, for example, the control circuit 65 can detect pixels having a strong influence on the error information, and correct only the data about 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 image data of the second hierarchy as it is. Then, a control signal for performing processing for correcting the second-layer image data pixel by pixel by the same correction value Δ is output from the control circuit 65 to the correction circuit 32, and error information obtained as a result is displayed. Compared with the error information obtained when the image data of the second layer 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.
[0160]
As described above, the correction of the image data of the second layer 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 obtained. Therefore, in the receiving device 4 (FIG. 1), the pixel value of the pixels constituting the thinned image is corrected to the most appropriate value for restoring the original image. It becomes possible to obtain a decoded image that is the same (substantially the same) as the original image from the data (optimum correction data).
[0161]
In addition to being compressed by thinning processing, the image is also compressed by ADRC processing, class classification adaptation processing, and the like, 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.
[0162]
Next, FIG. 18 illustrates a configuration example of the receiving device 4 of FIG.
[0163]
The signal processing circuit 71 reproduces the encoded data recorded on the recording medium 2 or receives and supplies the encoded data transmitted via the transmission path 3. In the signal processing circuit 71, the encoded data supplied thereto is received, separated into encoded data of the first to third layers, and subjected to error correction processing and the like. Further, the signal processing unit 71 copies the prediction coefficient of the first layer from the encoded data of the third layer and includes it in the encoded data of the second layer, and thereafter, the first layer to the third layer The encoded data is output.
[0164]
The first layer encoded data is output as it is as the first layer decoded image. The encoded data of the second layer or the third layer is output to the prediction unit 72 or 73, respectively.
[0165]
The prediction unit 72 obtains the predicted value of the first layer image based on the encoded data of the second layer and outputs it as a decoded image of the first layer. Also, the prediction unit 72 obtains and outputs the predicted value of the first layer based on the encoded data of the third layer.
[0166]
Next, FIG. 19 illustrates a configuration example of the prediction unit 72.
[0167]
The second layer encoded data from the signal processing circuit 71 (FIG. 18) is supplied to the separation unit 81, where it is separated into the second layer optimum correction data and the prediction coefficient for each class of the first layer. , Supplied to the decoding unit 80.
[0168]
The decoding unit 80 includes a class classification blocking circuit 82, a prediction value calculation blocking circuit 83, an ADRC processing circuit 84, a class classification circuit 85, and a prediction circuit 86, and a second hierarchy from the separation unit 81. The optimal correction data is input to the class classification blocking circuit 82 and the prediction value calculation blocking circuit 83, and the prediction coefficient for each class of the first hierarchy is input to the prediction circuit 86. Then, in the prediction circuit 86, the prediction coefficient for each class of the first hierarchy is stored in the built-in memory 86A.
[0169]
The class classification blocking circuit 82, the prediction value calculation blocking circuit 83, the ADRC processing circuit 84, or the class classification circuit 85 are the class classification blocking circuit 41, the prediction value calculation blocking circuit 42, and the ADRC in FIG. The blocks are configured in the same manner as the processing circuit 44 or the class classification circuit 45. Therefore, in these blocks, processing similar to that in the case of FIG. 9 is performed. A predicted value calculation block composed of optimal correction data in the second hierarchy is output, and class information is output from the class classification circuit 85. These prediction value calculation blocks and class information are supplied to the prediction circuit 86.
[0170]
In the prediction circuit 86, 25 × 9 prediction coefficients corresponding to the class information supplied from the class classification circuit 85 are read from the memory 86A, and the 25 × 9 prediction coefficients and the prediction value calculation blocking circuit 83 are read out. The predicted value of the first layer is calculated in units of 3 × 3 pixels according to the equation (1) using the optimal correction data constituting the 5 × 5 pixel predicted value calculation block supplied from the above. When the predicted value for one frame is obtained, this is output as a decoded image of the first layer.
[0171]
The optimal correction data of the second hierarchy is such that the error between the predicted value of the first hierarchy and the image of the first hierarchy obtained by performing prediction as described above is equal to or less than the threshold value ε. According to the second layer optimum correction data, it is possible to obtain a first layer decoded image with high resolution.
[0172]
Next, FIG. 20 illustrates a configuration example of the prediction unit 73 in FIG.
[0173]
The encoded data of the third hierarchy from the signal processing circuit 71 (FIG. 18) is supplied to the separation unit 81, where the optimum correction data of the third hierarchy, the prediction coefficient for each class of the second hierarchy, and the first hierarchy Separated into prediction coefficients for each class. The third layer optimum correction data and the prediction coefficient for each class of the second layer are supplied to the decoding unit 222, and the prediction coefficient for each class of the first layer is supplied to the decoding unit 223.
[0174]
The decoding unit 222 is configured in the same manner as the decoding unit 80 of FIG. 19. Therefore, the decoding unit 222 uses the third layer optimal correction data and the prediction coefficient for each class of the second layer as described above. Similarly to the case, a predicted value of the second layer image is calculated, and a decoded image (predicted value) for one frame of the second layer composed of such a predicted value is supplied to the decoding unit 223. . The decoding unit 223 is also configured in the same manner as the decoding unit 80. Therefore, the predicted value of the first layer is calculated from the predicted value of the second layer and the prediction coefficient for each class of the first layer, and An image for one frame composed of such predicted values is output as a first layer decoded image (predicted value).
[0175]
The prediction coefficient for each class of the second hierarchy is calculated so that the optimum correction data of the second hierarchy is obtained in the optimum correction data calculation circuit 14 of FIG. According to the optimal correction data, the first layer decoded image with high resolution can be obtained as described above. Therefore, the first layer decoded image with high resolution can be obtained even with the third layer encoded data. Can do.
[0176]
From the above, even if some or all of the encoded data of the first layer and the second layer are lost for some reason, the encoded data of the third layer which is the lowest layer, that is, the optimal correction of the third layer A decoded image with high resolution can be obtained by the prediction coefficient for each class of the data and the first layer and the second layer.
[0177]
In addition, even if the receiving side can receive only the encoded data of the second and third layers (optimal correction data of the second and third layers and the prediction coefficient for each class of the first and second layers), A high-resolution decoded image (first layer image) can be obtained. Furthermore, even a receiving apparatus that can receive only the encoded data of the third layer can obtain a high-resolution decoded image.
[0178]
In the above-described case, the second-layer encoded data includes the second-layer optimal correction data. However, the second-layer encoded data includes the second-layer optimal data. It is possible to include not the correction data but the image data itself of the second hierarchy.
[0179]
Further, the encoded data output from the signal processing circuit 15 includes the encoded data of the first layer to the third layer, but as described above, the encoded data of the third layer (the third layer) Therefore, it is possible to obtain a high-quality decoded image only from the optimal correction data of the first layer and the prediction coefficient for each class of the first layer and the second layer). It is possible to include only hierarchically encoded data.
[0180]
Further, in FIG. 2, the optimum correction data calculation circuit 14 is supplied with the optimum correction data of the second hierarchy output from the optimum correction data calculation circuit 13, and the optimum class for obtaining the optimum correction data of the second hierarchy is obtained. However, instead of the second-layer optimum correction data, the second-layer image data itself is supplied to the optimum correction data calculation circuit 14 to obtain the second-layer image data. It is also possible to obtain the optimum prediction coefficient for each class.
[0181]
By the way, in the above-described case, the prediction coefficient for each class of the first hierarchy in the local decoding section 22 of FIG. 9 (the prediction coefficient for each class of the second hierarchy in the local decoding section 22 constituting the optimum correction data calculation circuit 14). ) And using it, the prediction value of the first layer is calculated, but the prediction value does not calculate the prediction coefficient for each class (using the prediction coefficient previously determined by learning). It is possible to calculate.
[0182]
That is, FIG. 21 shows a second configuration example of the optimum correction data calculation circuit 13 (14) of FIG. In the figure, parts corresponding to those in FIG. 5 are denoted by the same reference numerals. That is, the optimum correction data calculation circuit 13 is configured in the same manner as in FIG. 5 except that a local decoding unit 1022 is provided instead of the local decoding unit 22.
[0183]
However, in FIG. 5, the original image data (the first layer image in the optimum correction data calculation circuit 13 and the second layer optimum correction data in the optimum correction data calculation circuit 14) is supplied to the local decoding unit 22. However, in FIG. 21, the original image data is not supplied to the local decoding unit 1022.
[0184]
FIG. 22 shows a configuration example of the local decoding unit 1022 of FIG. In the figure, parts corresponding to those in FIG. 9 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. 9 except that a prediction coefficient ROM 88 and a prediction circuit 89 are provided instead of the adaptive processing circuit 46.
[0185]
The prediction coefficient ROM 88 stores 25 × 9 prediction coefficients for each class obtained by learning in advance (described later), receives class information output from the class classification circuit 45, and receives the class information. The prediction coefficient stored at the address corresponding to is read and supplied to the prediction circuit 89.
[0186]
The prediction circuit 89 uses the prediction value calculation block of 5 × 5 pixels from the prediction value calculation blocking circuit 42 and the 25 × 9 prediction coefficient from the prediction coefficient ROM 88, and uses Equation (1) (specifically For example, the linear linear expression shown in Expression (8)) is calculated, and thereby the predicted value of the original image is calculated in units of 3 × 3 pixels.
[0187]
Therefore, according to the class classification adaptive processing circuit 43 of FIG. 22, the predicted value is calculated without using the original image (original image). For this reason, as described above, the original image (the first layer image or the second layer optimum correction data) is not supplied to the local decoding unit 1022 (it is not necessary to supply and is not supplied). ).
[0188]
Next, processing of the local decoding unit 1022 in FIG. 22 will be further described with reference to the flowchart in FIG.
[0189]
In the local decoding unit 1022, first, in steps S1021 to S1023, the same processing as in steps S21 to S23 of FIG. 13 is performed, whereby the class information is output from the class classification circuit 45. The prediction value calculation block 42 outputs a prediction value calculation block. This class information or prediction value calculation block is supplied to the prediction coefficient ROM 88 or the prediction circuit 89, respectively.
[0190]
Upon receiving the class information, the prediction coefficient ROM 88 reads out 25 × 9 prediction coefficients corresponding to the class information from the stored prediction coefficients for each class and supplies them to the prediction circuit 89 in step S1024.
[0191]
In addition to the 25 × 9 prediction coefficient supplied from the prediction coefficient ROM 88, the prediction circuit 89 is also supplied with a 5 × 5 pixel prediction value calculation block from the prediction value calculation blocking circuit 42 as described above. . Then, in step S1025, the prediction circuit 89 uses the 25 × 9 prediction coefficient from the prediction coefficient ROM 88 and the 5 × 5 pixel prediction value calculation block from the prediction value calculation blocking circuit 42 to perform adaptive processing. 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 obtained. A predicted value of a pixel of a 3 × 3 original image centered on (pixel) is obtained.
[0192]
Thereafter, for example, when a prediction value for one frame is obtained, the process proceeds to step S1026, and 25 × 9 prediction coefficients for each class stored in the prediction coefficient ROM 88 are read and supplied to the determination unit 24. The predicted value obtained in step S1025 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.
[0193]
In this embodiment, the prediction coefficient stored in the prediction coefficient ROM 88 is used as the prediction coefficient for each class, and 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.
[0194]
Even when the optimum correction data calculation circuits 13 and 14 are configured as shown in FIG. 21, the reception device 4 is configured as shown in FIG. An image can be obtained.
[0195]
Next, FIG. 24 shows a configuration example of an image processing apparatus that performs learning for obtaining a prediction coefficient for each class stored in the prediction coefficient ROM 88 of FIG.
[0196]
The learning block circuit 91 and the teacher block circuit 92 are supplied with image data for learning (learning image) for obtaining prediction coefficients applicable to all images. In addition, when obtaining the prediction coefficient for each class of the first hierarchy, as the learning image, the image data for the first hierarchy, and when obtaining the prediction coefficient for each class of the second hierarchy, the learning image As a result, the image data of the second hierarchy is supplied to the learning blocking circuit 91 and the teacher blocking circuit 92.
[0197]
The learning blocking circuit 91 extracts, for example, 25 pixels (5 × 5 pixels) centered on the pixel of interest in the positional relationship indicated by ● in FIG. 10 from the input image data. The configured block is supplied to the ADRC process 93 and the learning data memory 96 as a learning block.
[0198]
Further, the teacher blocking circuit 92 generates, for example, a block composed of 3 × 3 9 pixels centered on the target pixel from the input image data. The data is supplied to the teacher data memory 98 as a teacher block.
[0199]
For example, when the learning blocking circuit 91 generates a learning block composed of 25 pixels in the positional relationship indicated by ● in FIG. 10, the teacher blocking circuit 92 generates a square in FIG. A teacher block of 3 × 3 pixels indicated by a circle is generated. In this case, the target pixel is the pixel X33It is.
[0200]
The ADRC processing circuit 93 extracts 9 pixels (3 × 3 pixels) at the center from 25 pixels constituting the learning block, and the ADRC processing circuit 44 in FIG. Similarly to the above, 1-bit ADRC processing is performed. The 3 × 3 pixel block subjected to ADRC processing is supplied to the class classification circuit 94. In the class classification circuit 94, the blocks from the ADRC processing circuit 93 are subjected to class classification processing, as in the case of the class classification circuit 45 in FIG. 22, and the class information obtained thereby is learned via the terminal a of the switch 95. The data is supplied to the data memory 96 and the teacher data memory 98.
[0201]
In the learning data memory 96 or the teacher data memory 98, the learning block from the learning blocking circuit 91 or the teacher block from the teacher blocking circuit 92 is respectively assigned to the address corresponding to the class information supplied thereto. Remembered.
[0202]
Accordingly, in the learning data memory 96, for example, if a block of 5 × 5 pixels indicated by ● in FIG. 10 is stored as a learning block at a certain address, in the teacher data memory 98, it is the same as that address. A 3 × 3 pixel block surrounded by a rectangle in the figure is stored as a teacher block.
[0203]
Thereafter, the same processing is repeated for all the learning images prepared in advance, whereby the learning block and the local decoding unit 1022 in FIG. 22 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.
[0204]
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.
[0205]
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.
[0206]
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.
[0207]
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 the method of least squares.
[0208]
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 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 w1, W2, WThree,... Must satisfy the following equation.
[0209]
y = w1x1+ W2x2+ WThreexThree+ ...
[0210]
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+ WThreexThreePrediction coefficient w that minimizes square error of + ...1, W2, WThree,... Are obtained by building and solving the normal equation shown in the above equation (7). By performing the above processing for each class, 25 × 9 prediction coefficients are calculated for each class.
[0211]
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.
[0212]
As described above, the memory 100 stores 25 × 9 prediction coefficients optimum for predicting 3 × 3 pixels of a block of the class at an address corresponding to each class.
[0213]
The prediction coefficient ROM 88 of FIG. 22 stores the prediction coefficient for each class stored in the memory 100 as described above.
[0214]
Next, FIG. 25 shows a third configuration example of the optimum correction data calculation circuit 13 (14) of FIG. In the figure, parts corresponding to those in FIG. 5 are denoted by the same reference numerals. That is, this 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.
[0215]
However, also in this case, as in the case of FIG. 22, the original image data (the first layer image data or the second layer optimum correction data) is not supplied to the local decoding unit 2022. Furthermore, in the embodiment of FIG. 25, the local decoding unit 2022 is configured not to output the prediction coefficient to the determination unit 2024.
[0216]
Next, the operation will be described with reference to the flowchart of FIG.
[0217]
When image data (second layer image data or third layer image data) is supplied to the compression unit 21, the compression unit 21 compresses the image data by thinning out in step S1001. Is output to the local decoding unit 2022 and the determination unit 2024 without correction. In step S1002, the local decoding unit 2022 locally decodes the correction data from the compression unit 21 (initially, compressed data obtained by simply thinning out image data as described above).
[0218]
That is, in step S1002, 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. 22, and thereby the predicted value of the original image is calculated. This predicted value is supplied to the error calculation unit 23.
[0219]
In step S1003, the error calculation unit 23 calculates a prediction error in the same manner as in step S3 of FIG. 6, 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 in step S1004 whether the error information from the error calculation unit 23 is equal to or less than a predetermined threshold ε, as in step S4 of FIG. judge. If it is determined in step S1004 that the error information is not equal to or less than the predetermined threshold value ε, the process proceeds to step S1005, and the determination unit 2024 controls the compression unit 21, thereby correcting the image data of the second hierarchy. Then, the compression unit 21 waits for the correction of the second layer image data and the output of new correction data, and the process returns to step S1002.
[0220]
On the other hand, when it is determined in step S1004 that the error information is equal to or smaller than the predetermined threshold ε, the determination unit 2024 uses the correction data when the error information equal to or smaller than the predetermined threshold ε is obtained as the optimum correction data. It outputs to the signal processing circuit 15 (FIG. 2), and a process is complete | finished.
[0221]
Accordingly, the prediction coefficient for each class is not output here.
[0222]
Next, FIG. 27 shows a configuration example of the local decoding unit 2022 of FIG. In the figure, parts corresponding to those in FIG. 22 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.
[0223]
However, in FIG. 22, the prediction coefficient ROM 88 supplies the prediction coefficient for each class stored therein to the determination unit 24. However, in FIG. 27, the prediction coefficient ROM 88 indicates the prediction for each class. The coefficient is not supplied to the determination unit 2024.
[0224]
Next, the operation will be described with reference to the flowchart of FIG.
[0225]
The local decoding unit 2022 performs the same processing in steps S2021 to S2025 as in steps S1021 to 1025 of FIG. In step S2026, only the prediction value obtained in step S2025 is supplied to the error calculation unit 23, the process returns to step S2021, and the same processing is repeated for each frame, for example. That is, as described above, the prediction coefficient for each class is not output here.
[0226]
Next, FIG. 29 illustrates a configuration example of the determination unit 2024 in FIG. In the figure, portions corresponding to those in FIG. 16 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.
[0227]
Next, the operation will be described with reference to the flowchart of FIG.
[0228]
In the determination unit 2024, the same processing as in steps S41 to S45 in FIG. 17 is performed in steps S2041 to 2045, and thereby the compression unit 21 is controlled so that the error information is reduced.
[0229]
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 The circuit 65 reads out one frame of correction data stored in the correction data memory 62 as optimum correction data, supplies it to the signal processing circuit 15, and ends the processing. That is, since the prediction coefficient is not supplied from the local decoding unit 2022, only the correction data is output in step S2046.
[0230]
After that, waiting for the error information for the next frame to be supplied, the same processing is repeated again.
[0231]
Next, FIG. 31 illustrates a configuration example of the prediction unit 72 in the reception device 4 of FIG. 18 when the optimum correction data calculation circuits 13 and 14 are configured as illustrated in FIG. In the figure, portions corresponding to those in FIG. 19 are denoted by the same reference numerals. That is, in the prediction unit 72 of FIG. 31, a prediction coefficient ROM 87 is newly provided between the class classification circuit 85 and the prediction circuit 86, the prediction circuit 86 does not include the memory 86A, and a separation unit 81 is provided. Otherwise, the configuration is basically the same as in FIG.
[0232]
When the optimum correction data calculation circuit 13 (14) is configured as shown in FIG. 25, the encoded data of the second layer includes the prediction coefficient for each class of the second layer, as described above. The encoded data of the second layer is basically composed only of the optimal correction data of the second layer. For this reason, the second layer optimum correction data as the second layer encoded data from the signal processing circuit 71 (FIG. 18) is directly input to the class classification blocking circuit 82 and the prediction value calculation blocking circuit 83. (Supplied without the separation unit 81 (FIG. 19)).
[0233]
In the class classification blocking circuit 82, the prediction value calculation blocking circuit 83, the ADRC processing circuit 84, or the class classification circuit 85, the class classification blocking circuit 41, the prediction value calculation blocking circuit 42, and the ADRC in FIG. The same processing as that of the processing circuit 44 or the class classification circuit 45 is performed, whereby a prediction value calculation block of 5 × 5 pixels is output from the prediction value calculation block forming circuit 83, and the class classification circuit From 85, class information is output. The prediction value calculation block is supplied to the prediction circuit 86, and the class information is supplied to the prediction coefficient ROM 87.
[0234]
The same coefficient as the prediction coefficient for each class stored in the prediction coefficient ROM 88 of FIG. 27 is stored in the prediction coefficient ROM 87, and when class information is supplied from the class classification circuit 85, it corresponds to the class information. The 25 × 9 prediction coefficient is read and supplied to the prediction circuit 86.
[0235]
The prediction circuit 86 uses the 25 × 9 prediction coefficient from the prediction coefficient ROM 87 and the correction data constituting the prediction value calculation block of 5 × 5 pixels supplied from the prediction value calculation block forming circuit 83, 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.
[0236]
Next, FIG. 32 illustrates a configuration example of the prediction unit 73 in the reception device 4 of FIG. 18 when the optimum correction data calculation circuits 13 and 14 are configured as illustrated in FIG.
[0237]
In this case, the prediction unit 73 includes decoding units 1222 and 1223.
[0238]
When the optimum correction data calculation circuit 13 (14) is configured as shown in FIG. 25, as described above, the prediction coefficient for each class of the first and second layers is also included in the encoded data of the third layer. Therefore, the encoded data of the third layer is basically composed only of the optimum correction data of the third layer. The third layer optimum correction data as the third layer encoded data is supplied from the signal processing circuit 71 to the decoding unit 1222.
[0239]
The decoding unit 1222 is configured in the same manner as the prediction unit 72 in FIG. 31. Accordingly, the decoding unit 1222 uses the second layer image in the same manner as described above from the third layer optimum correction data. The predicted value is calculated, and a decoded image (predicted value) for one frame of the second layer composed of such predicted values is supplied to the decoding unit 1223. The decoding unit 1223 is also configured in the same manner as the prediction unit 72 of FIG. 31, and accordingly, the prediction value of the first layer is calculated from the prediction value of the second layer, and is configured with such a prediction value. An image for one frame is output as a decoded image (predicted value) in the first layer.
[0240]
The decoding units 1222 and 1223 are basically configured in the same manner as the prediction unit 72 as described above. However, the decoding unit 1222 learns the second layer image in the prediction coefficient ROM 87. The prediction coefficient for each class learned using the image for use is stored in the decoding unit 1223, and the prediction coefficient for each class learned using the image in the first layer as the learning image is stored.
[0241]
When the optimum correction data calculation circuits 13 and 14 are configured as illustrated in FIG. 25 and the prediction unit 72 or 73 of the reception device 4 is configured as illustrated in FIG. 31 or FIG. Since it is not necessary to transmit / receive the 25 × 9 prediction coefficient, the transmission capacity or recording capacity can be reduced accordingly.
[0242]
Note that the prediction coefficient ROM 87 (FIG. 31) or 88 (FIG. 22, FIG. 27) does not store the prediction coefficient at the address corresponding to each class, but the average value of the pixel values constituting the teacher block, etc. Can be stored. In this case, when class information is given, a pixel value corresponding to the class is output. In the local decoding unit 1022 in FIG. 22 and the local decoding unit 2022 in FIG. The circuit 42 and the prediction circuit 89 can be omitted. Also in the prediction unit 72 of FIG. 31, it is not necessary to provide the prediction value calculation blocking circuit 83 and the prediction circuit 86. Furthermore, in this case, it is not necessary to transmit the prediction coefficient in FIG.
[0243]
Further, when the optimum correction data calculation circuits 13 and 14 are configured as shown in FIG. 25, as described above, in the transmission apparatus 1 shown in FIG. It is not necessary to supply the image data of the second layer, and it is not necessary to supply the optimum correction data calculation circuit 14 with the second layer of optimum correction data output from the optimum correction data calculation circuit 13. In this case, since the prediction coefficient for each class cannot be obtained, the encoded data output from the signal processing circuit 15 does not include the prediction coefficient for each class as described above.
[0244]
Therefore, in this case, the prediction unit 72 or 73 shown in FIG. 31 or FIG. 32 can be configured without providing the separation unit 81 (FIG. 19) or 221 (FIG. 20).
[0245]
Here, as described with reference to FIG. 9, the method for obtaining the prediction value by sequentially obtaining the prediction coefficient is referred to as the sequential method, and the prediction coefficient is predicted in advance as described with reference to FIGS. A method of storing the coefficient ROM 88 and obtaining a predicted value using the coefficient ROM 88 is called a ROM method.
[0246]
Next, FIG. 33 illustrates another configuration example of the transmission apparatus 1 of FIG. In the figure, parts corresponding to those in FIG. 2 are denoted by the same reference numerals.
[0247]
That is, in this embodiment, only the first layer image data is supplied to the optimum correction data calculation circuit 101, where the optimum data of the second layer is changed from the image data of the first layer. Correction data is calculated and supplied to the signal processing circuit 15 as encoded data of the second layer. Further, only the second layer image data output from the thinning circuit 11 is supplied to the optimum correction data calculation circuit 102, in which the third layer optimum correction is performed from the second layer image data. Data is calculated and supplied to the signal processing circuit 15 as encoded data of the third layer.
[0248]
Next, FIG. 34 shows a configuration example of the optimum correction data calculation circuit 101 of FIG. Note that the optimum correction data calculation circuit 102 is also configured in the same manner as the optimum correction data calculation circuit 101, and a description thereof will be omitted.
[0249]
The blocking circuit 111 is inputted with image data of the first layer (in the case of the optimum correction data calculation circuit 102, image data of the second layer). The hierarchical image data is divided into blocks for class classification centering on the pixel of interest, which is a unit for classifying the image data into a predetermined class according to its property, and supplied to the ADRC processing circuit 112 and the delay circuit 115. Has been made.
[0250]
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.
[0251]
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 the property, and to which class the block (the target pixel constituting the block) belongs. To the mapping coefficient memory 114 as class information.
[0252]
The mapping coefficient memory 114 stores mapping coefficients obtained by learning (mapping coefficient learning) as described later for each class information, and stores the class information supplied from the class classification circuit 113 as an address. The mapping coefficient thus read is read out and supplied to the arithmetic circuit 116.
[0253]
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. .
[0254]
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, the encoded data obtained by thinning out (decreasing) the number of pixels of the image (the second layer optimum correction data in which the number of pixels of the first layer image is reduced) 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.
[0255]
Accordingly, assuming that the number of pixels constituting the class classification block output from the blocking circuit 111 is N, the arithmetic circuit 16 thins out the image data to 1 / N and outputs this as encoded data. ing.
[0256]
It should be noted that the encoded data output from the arithmetic circuit 116 is not obtained by a simple thinning process that extracts and outputs the center pixel of a block composed of N pixels, as described above. Function value f (y) defined by N pixels constituting the block1, Y2, ..., k1, K2,..., But this function value f (y1, Y2, ..., k1, K2In other words, the pixel value of the pixel at the center of the block obtained by simple decimation processing is changed to an optimum value for obtaining the original image based on the pixel values around the pixel value. It can be considered as corrected. Therefore, data obtained as a result of the calculation of the mapping coefficient and the pixels constituting the block is also hereinafter referred to as optimum correction data as appropriate.
[0257]
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.
[0258]
Next, the operation will be described with reference to the flowchart of FIG.
[0259]
The block circuit 111 is supplied with, for example, first-layer image data in units of one frame. In the block circuit 111, in step S101, the first-layer image of one frame is Blocked into classification blocks. That is, the blocking circuit 111 classifies image data of the first layer into 9 × 3 (horizontal × vertical) 9 pixels centered on the target pixel, as shown in FIG. It is divided into blocks for use, and sequentially supplied to the ADRC processing circuit 112 and the delay circuit 115.
[0260]
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.
[0261]
When the ADRC processing circuit 112 receives the block for class classification from the blocking circuit 111, in step S102, the ADRC processing circuit 112 performs, for example, 1-bit ADRC processing on the block, thereby a pixel represented by 1 bit. It is assumed that the block is configured. The class classification block subjected to ADRC processing is supplied to the class classification circuit 113.
[0262]
In the class classification circuit 113, the class classification block from the ADRC processing circuit 112 is classified in step S103, and the class information obtained as a result is supplied to the mapping coefficient memory 114 as an address. As a result, in step S 104, 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.
[0263]
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 unit 116. Is done. In step S105, the arithmetic unit 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,... Are calculated, and optimal correction data in which the pixel value of the central pixel (center pixel) constituting the class classification block is corrected to the optimal value is calculated. . In step S106, the optimum correction data is output to the signal processing circuit 15 (FIG. 33) as second-layer encoded data.
[0264]
In step S107, it is determined whether or not the processing for the image data of the first layer for one frame is completed. If it is determined in step S107 that the processing for the image data of the first layer for one frame has not been completed, the process returns to step S102, and the processing from step S102 onward is performed for the next class classification block. Is repeated. If it is determined in step S107 that the processing for the first-layer image data for one frame has been completed, the process returns to step S101, and the processes in and after step S101 are repeated for the next frame.
[0265]
Next, FIG. 36 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.
[0266]
The memory 121 stores one or more frames of first-layer image data suitable for learning (hereinafter referred to as learning images as appropriate). Note that when calculating the mapping coefficient to be stored in the mapping coefficient memory 114 constituting the optimum correction data calculation circuit 102 (FIG. 33), the memory 121 stores the image data of the second hierarchy.
[0267]
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. 34, and includes an ADRC processing circuit 123 and an arithmetic circuit 126. It is made to supply to.
[0268]
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.
[0269]
The computing unit 126 performs the same computation as in the computing circuit 116 of FIG. 34 using the pixels constituting the block supplied from the blocking 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 local decoding unit 127.
[0270]
Based on the correction data supplied from the arithmetic circuit 126, the local decoding unit 127 calculates the predicted value of the original learning image (the predicted value of the pixel value of the pixels constituting the block output from the blocking circuit 122) as described above. The prediction is made (calculated) by the ROM method or the sequential method, and the error calculation unit 128 is supplied. In addition, when calculating | requiring a predicted value by a sequential system, in order to calculate | require the prediction coefficient for every class, the image for learning memorize | stored in the memory 121 is supplied to the local decoding part 127 (here, for example, for example) The learning image is not supplied to the local decoding unit 127 because it is based on the ROM method.
[0271]
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.
[0272]
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.
[0273]
The mapping coefficient memory 131 temporarily stores the mapping coefficient supplied from the mapping coefficient setting circuit 30. 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.
[0274]
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.
[0275]
Next, the operation will be described with reference to the flowchart of FIG.
[0276]
First, 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 in step S 151, 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.
[0277]
Then, in step S152, the blocking circuit 122 sets all the learning images stored in the memory 121 to a 3 × 3 pixel block centered on the pixel of interest as in the blocking circuit 111 in FIG. To block. Further, the blocking circuit 121 reads the block from the memory 121 and sequentially supplies the block to the ADRC processing circuit 123 and the arithmetic circuit 126.
[0278]
In the ADRC processing circuit 123, in step S153, the block from the blocking circuit 122 is subjected to 1-bit ADRC processing as in the case of the ADRC processing circuit 112 in FIG. 34, and is supplied to the class classification circuit 124. The In step S154, 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 155, 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 126.
[0279]
When the arithmetic circuit 126 receives the block from the block forming circuit 122 and receives the mapping coefficient corresponding to the class of the block from the mapping coefficient memory 131, the arithmetic circuit 126 supplies the mapping coefficient and the block forming circuit 122 in step S156. The function value f (•) described above is calculated using the pixel values of the pixels constituting the block to be processed. This calculation result is supplied to the local decoding unit 127 as correction data obtained by correcting the pixel value of the central pixel of the block supplied from the blocking circuit 122.
[0280]
That is, for example, if a block of 3 × 3 pixels as shown in FIG. 10 surrounded by a rectangle is output from the block forming circuit 122, the arithmetic circuit 126 uses the pixels indicated by ● in FIG. Correction data obtained by correcting the pixel values of the first and second pixels are obtained and output to the local decoding unit 127.
[0281]
Therefore, in the arithmetic circuit 126, the number of pixels constituting the learning image is thinned out to 1/9 and supplied to the local decoding unit 127.
[0282]
After the correction data is calculated in step S156, the process proceeds to step S157, and it is determined whether correction data for all learning images stored in the memory 121 has been obtained. If it is determined in step S157 that correction data for all learning images has not yet been obtained, the process returns to step S153, and correction data for all learning images is obtained until steps S153 to S157 are performed. Repeat the process.
[0283]
If it is determined in step S157 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 obtained by calculation with a mapping coefficient), the process proceeds to step S158, and the local image 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.
[0284]
In step S159, 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.
[0285]
Q = Σ (Yij-E [Yij])2
However, in the above equation, Σ represents summation for all the pixels of the learning image.
[0286]
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 S160. In step S160, when it is determined that the error information is greater than or equal to the threshold value ε1, that is, the image composed of the prediction 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 S161, the mapping coefficient setting circuit 130 changes the mapping coefficient in accordance with the control signal from the determination unit 129, and newly stores the changed mapping coefficient in the mapping coefficient memory 131.
[0287]
Then, the process returns to step S153, and the processing after step S153 is repeated again using the changed mapping coefficient stored in the mapping coefficient memory 131.
[0288]
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.
[0289]
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.
[0290]
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. .
[0291]
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.
[0292]
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 sets of mapping coefficients are targeted. It is necessary to determine a set of mapping coefficients by performing some processing.
[0293]
On the other hand, when it is determined in step S160 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.
[0294]
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.
[0295]
Therefore, according to the optimum correction data obtained using such a mapping coefficient, it is possible to obtain an image that is almost the same as the original image.
[0296]
In the embodiment of FIG. 36, as described above, the blocking circuit 122 blocks the image into 3 × 3 9 pixels centered on the target pixel, and the ADRC processing circuit 123 Since 1-bit ADRC processing is performed, the number of classes obtained by class classification by the class classification circuit 124 is 512 (= (21)9Thus, 512 sets of mapping coefficients are obtained.
[0297]
Next, FIG. 38 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.
[0298]
Note that, according to the image processing apparatus of FIG. 36, 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 shown in FIG. 38 can obtain the optimum prediction coefficient only when the function f is expressed by a linear linear expression.
[0299]
That is, the image processing apparatus in FIG. 38 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.
[0300]
f (·) = k1y1+ K2y2+ ... + k9y9
[0301]
The thinning circuit 171 is supplied with first-layer image data as a learning image suitable for learning, for example, in units of one frame, where the number of pixels of the first-layer image data is Is thinned out, so that second-layer image data is formed. When calculating the mapping coefficient to be stored in the mapping coefficient memory 114 constituting the optimum correction data calculation circuit 102 (FIG. 33), the thinning circuit 171 is supplied with the image data of the second hierarchy, Third layer image data is formed.
[0302]
The second layer image data obtained by the thinning circuit 171 is supplied to the optimum correction data calculation unit 170. The optimum correction data calculation unit 170 is the correction unit 21, the local decoding unit 22, the error calculation unit 23, or the determination unit 24 in FIG. 5 (or the correction unit 21, the local decoding unit 1022, the error calculation unit 23 in FIG. The correcting unit 172, the local decoding unit 173, the error calculating unit 174, or the determining unit configured similarly to the determining unit 24, the correcting unit 21, the local decoding unit 2022, the error calculating unit 23, or the determining unit 2024 in FIG. The unit 175 is configured to generate optimum correction data for an image input thereto, that is, an image of the second layer in which the number of pixels of the image of the first layer is reduced, and the latch circuit 176 is supplied. In the case where the local decoding unit 173 obtains the prediction value by the sequential method, in order to obtain the prediction coefficient for each class, the original image (here, the image data of the first layer as the learning image) is obtained. , And supplied to the local decoding unit 173.
[0303]
The latch circuit 176 has a built-in memory 176A, and the optimal correction data supplied from the optimal correction data calculation unit 170 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.
[0304]
The block forming circuit 177 is supplied with the same image data as the image data supplied to the thinning circuit 171, that is, here, the image data of the first layer is supplied 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 uses the learning image stored in the memory 177A as the center of the pixel of interest as in the blocking circuit 111 in FIG. The block is divided into three pixels, and the blocks are sequentially read out and supplied to the ADRC processing circuit 178 and the memory 180.
[0305]
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.
[0306]
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 of 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.
[0307]
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.
[0308]
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.
[0309]
Next, the operation will be described with reference to the flowchart of FIG.
[0310]
When the image data of the first hierarchy as the learning image is input, the learning image is stored in the memory 177A of the blocking circuit 177 and supplied to the thinning circuit 171. In the thinning circuit 171, image data of the second hierarchy is formed from the image data of the first hierarchy, and is supplied to the optimum correction data calculation unit 170.
[0311]
When receiving the second layer image data, the optimum correction data calculation unit 170 calculates the second layer optimum correction data, supplies it to the memory 176A of the latch circuit 176, and stores it.
[0312]
The latch circuit 176 outputs a control signal to the blocking circuit 177 after storing the optimum correction data for one frame in the memory 176A. 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 S132. 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.
[0313]
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.
[0314]
In step S133, 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.
[0315]
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 S134. Are stored in association with each other.
[0316]
Then, the process proceeds to step S135, and it is determined whether or not one frame of blocks and optimum correction data are stored in the memory 180. In step S135, when it is determined that the block for one frame and the optimum correction data 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 S133, and thereafter, the processes after step S133 are repeated.
[0317]
If it is determined in step S135 that the memory 180 stores the one-frame block and the optimum correction data, the process proceeds to step S136, and it is determined whether or not the processing has been completed for all the learning images. If it is determined in step S136 that the processing for all the learning images has not been completed, the process returns to step S131, and the processing from step S131 is repeated for the next learning image.
[0318]
On the other hand, if it is determined in step S136 that the processing for all the learning images has been completed, the process proceeds to step S137, 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 S138, the arithmetic circuit 181 calculates the 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 S139, and the process ends.
[0319]
In the case where 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. Obtainable.
[0320]
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. 34, 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.
[0321]
Here, when the transmission device 1 is configured as illustrated in FIG. 33, the reception device 4 is configured as illustrated in FIG. 18. However, in the receiving device 4 of FIG. 18, the prediction unit 72 or 73 is configured as shown in FIG. 31 or 32, respectively. In this case, the prediction coefficients used in the prediction unit 72 (the same applies to the prediction unit 73) are basically the same as those used in the local decoding unit 127 in FIG. 36 or the local decoding unit 173 in FIG. It is necessary to adopt.
[0322]
By the way, in the case of FIG. 2, first, as shown in FIG. 40A, the predicted value of the first layer having an error (error information) with the image data of the first layer equal to or less than a predetermined threshold ε is obtained. The optimum correction data obtained by correcting the image data of the second hierarchy obtained is obtained by the optimum correction data calculation circuit 13, and thereafter, as shown in FIG. The optimum correction data obtained by correcting the image data of the third hierarchy, from which the predicted value of the second hierarchy with the error information) equal to or less than the predetermined threshold ε is obtained in the optimum correction data calculation circuit 14, but the lowest hierarchy It is also possible to obtain the third layer optimum correction data as shown in FIG. 41, for example.
[0323]
That is, the predicted value of the second hierarchy is obtained from the corrected data obtained by correcting the image data of the third hierarchy, and further, the predicted value of the first hierarchy is obtained using the predicted value of the second hierarchy as it is. Then, correction data in which the prediction error (error information) of the predicted value of the first hierarchy is equal to or less than a predetermined threshold ε is set as optimum correction data of the third hierarchy.
[0324]
FIG. 42 shows a configuration example of the transmission apparatus 1 that obtains the third layer optimum correction data as described above. In the figure, parts corresponding to those in FIG. 2 are denoted by the same reference numerals.
[0325]
In this embodiment, the first to third layer image data is supplied to the optimum correction data calculation circuit 201. From the correction data obtained by correcting the third layer image data. A predicted value of the second hierarchy is obtained, and further, a predicted value of the first hierarchy is obtained using the predicted value of the second hierarchy as it is. When the correction data for which the prediction error (error information) of the predicted value of the first hierarchy is equal to or less than the predetermined threshold ε is obtained, the optimal correction data calculation circuit 201 uses the correction data as the optimal correction data of the third hierarchy. And output to the signal processing circuit 15 as encoded data of the third layer.
[0326]
In the embodiment of FIG. 42, the first layer image data is supplied to the signal processing circuit 15 as the first layer encoded data as it is. In the embodiment of FIG. 42, the image data of the second layer is not supplied to the signal processing circuit 15, but the signal processing circuit is used as the encoded data of the second layer as in the first layer. 15 can also be supplied.
[0327]
Next, FIG. 43 shows a configuration example of the optimum correction data calculation circuit 201 of FIG. In the figure, parts corresponding to those in FIG. 5 are denoted by the same reference numerals. That is, the optimum correction data calculation circuit 201 is basically configured in the same manner as the optimum correction data calculation circuit 13 of FIG. 5 except that a local decoding unit 231 is newly provided.
[0328]
In this embodiment, the correction unit 21 is input with the third layer image data, and the correction data obtained by correcting the third layer image data is output. The local decoding unit 22 is input with correction data output from the correction unit 21 and image data of the second layer, where a predicted value of the second layer is calculated and output. It is made to be done. Furthermore, the local decoding unit 231 is configured in the same manner as the local decoding unit 22, for example, and the second layer predicted value output from the local decoding unit 22 and the first layer image data are input thereto. It is made like that. The local decoding unit 231 calculates and outputs the predicted value of the first layer.
[0329]
Therefore, in this embodiment, the local decoding units 22 and 231 calculate the predicted value by the sequential method. However, the local decoding units 22 and 231 may be configured as, for example, the local decoding unit 1022 illustrated in FIG. 22 so that the predicted value is calculated by the ROM method.
[0330]
Next, the operation will be described with reference to the flowchart of FIG.
[0331]
When the third layer image data is supplied to the correction unit 21, in step S 201, the correction unit 21 does not perform correction first, and directly converts the third layer image data into the local decoding unit 22. And output to the determination unit 24. In step S202, the local decoding unit 22 locally decodes the correction data from the correction unit 21 (initially, the third-layer image data itself as described above).
[0332]
That is, in step S202, as in the case described with reference to FIG. 9, the prediction coefficient for each class of the second hierarchy is obtained, and further, the prediction value of the second hierarchy is obtained based on the prediction coefficient for each class. (Provided that the local decoding unit 22 is configured like the local decoding unit 1022 and the predicted value of the second layer is obtained by the ROM method, the second decoding unit 221, the local decoding unit 231). The prediction coefficient of the second hierarchy is read, and the prediction value of the second hierarchy is obtained based on the prediction coefficient).
[0333]
In step S203, the local decoding unit 231 locally decodes the second layer predicted value from the local decoding unit 22.
[0334]
That is, in step S203, the prediction coefficient for each class of the first hierarchy is obtained in the same manner as in the local decoding unit 22, and further, the prediction value of the first hierarchy is obtained based on the prediction coefficient for each class. (If the local decoding unit 231 is configured like the local decoding unit 1022 and the predicted value of the first layer is obtained by the ROM method, the first decoding is performed from the ROM. The prediction coefficient of one layer is read, and the prediction value of the first layer is obtained based on the prediction coefficient).
[0335]
Thereafter, in steps S204 to S207, the same processing as in steps S3 to S6 of FIG. 6 is performed, whereby the third layer optimum correction data for obtaining the predicted value of the first layer below the threshold ε is obtained. It is done.
[0336]
Therefore, even with the third-layer optimum correction data obtained in this way, a high-quality decoded image can be obtained in the same manner as described above.
[0337]
In the embodiment of FIG. 42, the encoded data of the second layer is not supplied to the signal processing circuit 15, but when the encoded data of the second layer is supplied to the signal processing circuit 15, As described above, the second layer image data itself is used as the second layer encoded data, and for example, the second layer predicted value output from the local decoding unit 22 is changed to the second layer encoded data. Is possible. Further, for example, the optimum correction data calculation circuit 13 shown in FIG. 2 may be provided, and the second layer optimum correction data output therefrom may be used as the second layer encoded data.
[0338]
Also in the embodiment of FIG. 42, the encoded data output from the signal processing circuit 15 does not include all of the encoded data of the first layer to the third layer, but the code of the third layer. It is possible to include only digitized data.
[0339]
Note that the encoded data output from the transmission apparatus 1 illustrated in FIG. 42 can be decoded by the reception apparatus 4 illustrated in FIG. However, in the receiving device 4 of FIG. 18, the prediction unit 72 or 73 needs to be configured as shown in FIG. 19 or FIG. 20, for example.
[0340]
Next, FIG. 45 shows another configuration example of the optimum correction data calculation circuit 201 of FIG. In the figure, portions corresponding to those in FIG. 43 are denoted by the same reference numerals. That is, the optimum correction data calculation circuit 201 in FIG. 45 is provided with a local decoding unit 3022 or 3231 instead of the local decoding unit 22 or 231, respectively, except that the multiplexing unit 25 is not provided. And basically the same configuration.
[0341]
The local decoding unit 3022 calculates a predicted value of the second layer from the correction data obtained by correcting the image data of the third layer input thereto, for example, by the ROM method, and supplies it to the local decoding unit 3231. Yes. The local decoding unit 3231 calculates the predicted value of the first layer from the predicted value of the second layer from the local decoding unit 3022, for example, by the ROM method, and supplies it to the error calculating unit 23.
[0342]
In this embodiment, both the local decoding units 3022 and 3231 are configured in the same manner as the local decoding unit 2022 shown in FIG. 27, for example, and therefore the prediction coefficient is not output to the determination unit 24. It is like that.
[0343]
Next, the operation will be described with reference to the flowchart of FIG.
[0344]
In steps S3201 to S3206, basically the same processing as in steps S201 to S206 of FIG. 44 is performed. However, in step S3202, in the local decoding unit 3022, as described with reference to FIG. 27, the prediction coefficient of the necessary class in the second layer is read from the prediction coefficient ROM 88, and the second class is read based on the prediction coefficient. The predicted value of the hierarchy is obtained and supplied to the local decoding unit 3231. Also in step S3203, as in step S3202, the local decoding unit 3231 reads a prediction coefficient of a necessary class of the first layer, and obtains a prediction value of the first layer based on the prediction coefficient. And supplied to the error calculator 23.
[0345]
If it is determined in step S3205 that the error information is equal to or smaller than the threshold ε, that is, if the third layer optimum correction data that makes the predicted value of the first layer lower than the threshold ε is obtained, the process proceeds to step S3207. Proceeding, the determination unit 24 outputs the optimum correction data of the third hierarchy to the signal processing circuit 15 and ends the process. That is, since the prediction coefficients are not output from the local decoding units 3022 and 3231 configured similarly to the local decoding unit 2022, only the optimum correction data is output in step S3207.
[0346]
Even with the third layer optimum correction data obtained as described above, a high-quality decoded image can be obtained in the same manner as described above.
[0347]
42, when the optimum correction data calculation circuit 201 of the transmission device 1 of FIG. 42 is configured as shown in FIG. 45, since the prediction coefficient is not transmitted from the above, in the reception device 4 of FIG. The prediction unit 72 or 73 needs to be configured as shown in FIG. 31 or 32, for example.
[0348]
The image processing system 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 a so-called high vision system having a large amount of data. This is particularly effective when encoding a television signal of a system.
[0349]
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.
[0350]
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.
[0351]
Furthermore, in the present embodiment, an image is encoded into three layers, but the number of layers is not limited to three.
[0352]
Further, as the optimum correction data of the third hierarchy that is the lowest hierarchy, in addition to the above-described case, for example, the prediction error of the prediction value of each hierarchy is obtained, and the correction data that makes the sum value below a predetermined value is obtained. It is also possible to make it.
[0353]
Furthermore, for example, in the embodiment shown in FIG. 13, a normal equation is created in units of one frame and the prediction coefficient for each class is obtained. It is also possible to create a normal equation in units of multiple frames. The same applies to other processes.
[0354]
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.
[0355]
  First, second and second of the present invention3rd and 4thAccording to this aspect, it is possible to obtain high-quality first-layer image data from the second-layer image data.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of an embodiment of an image processing system to which the present invention is applied.
FIG. 2 is a block diagram showing a configuration of a first embodiment of the transmission apparatus 1 of FIG. 1;
FIG. 3 is a diagram for explaining processing of the thinning circuits 11 and 12 in FIG. 2;
FIG. 4 is a diagram for explaining processing of the thinning circuits 11 and 12 in FIG. 2;
FIG. 5 is a block diagram showing a first configuration example of an optimum correction data calculation circuit 13 (14) of FIG.
6 is a flowchart for explaining processing of an optimum correction data calculation circuit 13 of FIG.
7 is a block diagram illustrating a configuration example of a correction unit 21 in FIG. 5. FIG.
8 is a flowchart for explaining the operation of the correction unit 21 of FIG.
9 is a block diagram illustrating a configuration example of a local decoding unit 22 in FIG.
10 is a diagram for explaining the processing of the class classification blocking circuit 41 in FIG. 9; FIG.
FIG. 11 is a diagram for explaining class classification processing;
FIG. 12 is a diagram for explaining ADRC processing;
13 is a flowchart for explaining the operation of the local decoding unit 22 in FIG. 9;
14 is a block diagram illustrating a configuration example of an error calculation unit 23 in FIG. 5. FIG.
15 is a flowchart for explaining the operation of the error calculation unit 23 of FIG. 14;
16 is a block diagram illustrating a configuration example of a determination unit 24 in FIG. 5;
17 is a flowchart for explaining the operation of the determination unit 24 in FIG. 16;
18 is a block diagram showing a configuration of an embodiment of the receiving device 4 of FIG. 1. FIG.
FIG. 19 is a block diagram illustrating a configuration example of a prediction unit 72 in FIG. 18;
20 is a block diagram illustrating a configuration example of a prediction unit 73 in FIG.
FIG. 21 is a block diagram showing a second configuration example of the optimum correction data calculation circuit 13 (14) of FIG. 2;
22 is a block diagram illustrating a configuration example of a local decoding unit 1022 in FIG.
23 is a flowchart for explaining processing of a local decoding unit 1022 of FIG.
FIG. 24 is a block diagram illustrating a configuration example of an image processing apparatus that performs a learning process for obtaining a prediction coefficient.
25 is a block diagram showing a third configuration example of the optimum correction data calculation circuit 13 (14) of FIG.
FIG. 26 is a flowchart for explaining processing of the optimum correction data calculation circuit 13 (14) of FIG.
27 is a block diagram illustrating a configuration example of a local decoding unit 2022 in FIG. 25. FIG.
FIG. 28 is a flowchart for explaining processing of the local decoding unit 2022 in FIG. 27;
29 is a block diagram illustrating a configuration example of a determination unit 2024 in FIG. 25. FIG.
30 is a flowchart for explaining processing of the determination unit 2024 in FIG. 29;
31 is a block diagram illustrating another configuration example of the prediction unit 72 in FIG. 18;
32 is a block diagram illustrating another configuration example of the prediction unit 73 in FIG. 18;
FIG. 33 is a block diagram illustrating a configuration of a second exemplary embodiment of the transmission device 1 of FIG. 1;
34 is a block diagram showing a configuration example of the optimum correction data calculation circuit 101 (102) of FIG. 33. FIG.
35 is a flowchart for explaining the operation of the optimum correction data calculation circuit 101 in FIG. 34;
FIG. 36 is a block diagram illustrating a configuration of a first embodiment of an image processing apparatus that performs learning to obtain a mapping coefficient;
FIG. 37 is a flowchart for explaining the operation of the image processing apparatus in FIG. 36;
FIG. 38 is a block diagram illustrating a configuration of a second embodiment of an image processing apparatus that performs learning to obtain a mapping coefficient;
FIG. 39 is a flowchart for explaining the operation of the image processing apparatus in FIG. 38;
FIG. 40 is a diagram for explaining a first layer coding method according to the present invention;
FIG. 41 is a diagram for explaining a second layer coding method according to the present invention;
42 is a block diagram illustrating a configuration of a third embodiment of the transmission device 1 of FIG. 1; FIG.
43 is a block diagram showing a configuration example of the optimum correction data calculation circuit 201 in FIG. 42. FIG.
44 is a flowchart for explaining the operation of the optimum correction data calculation circuit 201 of FIG. 43. FIG.
45 is a block diagram showing another configuration example of the optimum correction data calculation circuit 201 of FIG. 42. FIG.
46 is a flowchart for explaining the operation of the optimum correction data calculation circuit 201 of FIG. 45. FIG.
[Fig. 47] Fig. 47 is a block diagram illustrating a configuration of an example of an image encoding device that performs conventional hierarchical encoding.
FIG. 48 is a block diagram illustrating a configuration of an example of an image decoding device that performs conventional hierarchical decoding.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 Transmission apparatus, 2 Recording medium, 3 Transmission path, 4 Reception apparatus, 11, 12 Decimation circuit, 13, 14 Optimal correction data calculation circuit, 15 Signal processing circuit, 21 Correction part, 22 Local decoding part, 23 Error calculation part, 24 determination unit, 25 multiplexing unit, 32 correction circuit, 33 correction value ROM, 41 class classification blocking circuit, 42 prediction value calculation blocking circuit, 43 class classification adaptive processing circuit, 44 ADRC processing circuit, 45 class classification Circuit, 46 adaptive processing circuit, 51 block 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 control circuit 71 signal processing circuit 72 73 Prediction unit, 80 decoding unit, 81 separation unit, 82 class classification block circuit, 83 prediction value calculation block circuit, 84 ADRC processing circuit, 85 class classification circuit, 86 prediction circuit, 86A memory, 87,88 prediction coefficient ROM, 89 prediction circuit, 91 learning blocking circuit, 92 teacher blocking circuit, 93 ADRC processing circuit, 94 class classification circuit, 95 switch, 96 learning data memory, 97 counter, 98 teacher data memory, 99 arithmetic circuit, 100 memory, 101, 102 optimum correction data calculation circuit, 111 block circuit, 112 ADRC processing circuit, 113 class classification circuit, 114 mapping coefficient memory, 115 delay circuit, 116 arithmetic circuit, 121 memory, 122 Locking circuit, 123 ADRC processing circuit, 124 class classification circuit, 126 arithmetic circuit, 127 local decoding unit, 128 error calculation unit, 129 determination unit, 130 mapping coefficient setting circuit, 131 mapping coefficient memory, 141 class classification blocking circuit 142 prediction value calculation blocking circuit, 143 class classification adaptive processing circuit, 144 ADRC processing circuit, 145 class classification circuit, 146 prediction coefficient ROM, 147 prediction circuit, 170 optimum correction data calculation unit, 171 decimation circuit, 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, 182 memory, 201 optimum correction data calculation circuit, 221 separation unit, 222, 223 decoding unit, 231, 1022 local decoding unit, 1222, 1223 decoding unit, 2022 local decoding unit, 2024 Judgment part, 3022, 3231 Local decoding part

Claims (11)

階層符号化を行う画像符号化装置と、前記画像符号化装置により符号化された符号化データを復号する画像復号化装置とからなる画像処理システムであって、
前記画像符号化装置は、
第1の階層の画像データよりも画素数の少ない第2の階層の画像データを形成する形成手段と、
前記第2の階層の画像データに所定の補正値を加算して補正し、補正データとして出力する補正手段と、
前記補正データを、その性質に応じて所定のクラスに分類する分類手段と、
前記クラスに対応した予測係数と前記補正データとの線形結合により、前記第1の階層の画像データの予測値を予測する予測手段と、
前記第1の階層の画像データに対する、その予測値の予測誤差を算出する算出手段と、
前記予測誤差と所定の閾値との比較に基づいて、前記補正手段が出力する前記補正データが適正であるか否かを判定する判定手段と、
前記予測誤差が所定の閾値よりも小さく、前記判定手段により、前記補正データが適正であると判定された場合、前記補正データからなる前記第2階層の画像データを、前記第1の階層の画像データの符号化データとして出力する出力手段とを備え、
前記予測誤差が所定の閾値より小さくなく、前記判定手段により、前記補正データが適正ではないと判定された場合、前記補正データが適正であると判定されるまで、前記所定の補正値を前記予測誤差が小さくなるように変化させ、前記補正手段、前記分類手段、前記予測手段、前記算出手段、および前記判定手段の処理を繰り返し、
前記画像復号化処理装置は、
前記第1の階層の画像データが符号化された前記符号化データを受信する受信手段と、
前記受信手段により受信された前記符号化データを復号化する復号化手段と
を備え
前記復号化手段は、
前記符号化データに含まれる補正データを、その性質に応じて所定のクラスに分類する分類手段と、
前記補正データの前記クラスに対応する前記予測係数と、前記補正データとの線形結合により、前記第1の階層の画像データの予測値を求める予測手段と
を有す
ことを特徴とする画像処理システム。
An image processing system comprising an image encoding device that performs hierarchical encoding and an image decoding device that decodes encoded data encoded by the image encoding device,
The image encoding device includes:
Forming means for forming second-layer image data having a smaller number of pixels than the first-layer image data;
Correction means for adding a predetermined correction value to the image data of the second hierarchy for correction, and outputting as correction data;
Classifying means for classifying the correction data into a predetermined class according to the nature thereof;
Predicting means for predicting a predicted value of the image data of the first layer by linear combination of a prediction coefficient corresponding to the class and the correction data;
Calculating means for calculating a prediction error of the predicted value for the image data of the first hierarchy;
Determination means for determining whether or not the correction data output by the correction means is appropriate based on a comparison between the prediction error and a predetermined threshold;
When the prediction error is smaller than a predetermined threshold value and the determination unit determines that the correction data is appropriate, the second layer image data including the correction data is converted into the first layer image. Output means for outputting as encoded data of the data,
If the prediction error is not smaller than a predetermined threshold value and the determination unit determines that the correction data is not appropriate, the prediction value is calculated until the correction data is determined to be appropriate. The error is changed so as to be small, and the processing of the correction unit, the classification unit, the prediction unit, the calculation unit, and the determination unit is repeated,
The image decoding processing device includes:
Receiving means for receiving the encoded data obtained by encoding the image data of the first layer;
Decoding means for decoding the encoded data received by the receiving means ,
The decoding means includes
Classification means for classifying the correction data included in the encoded data into a predetermined class according to the property thereof;
Prediction means for obtaining a prediction value of the image data of the first hierarchy by linear combination of the prediction coefficient corresponding to the class of the correction data and the correction data;
An image processing system, characterized in that that have a.
階層符号化を行う画像符号化装置であって、
第1の階層の画像データよりも画素数の少ない第2の階層の画像データを形成する形成手段と、
前記第2の階層の画像データに所定の補正値を加算して補正し、補正データとして出力する補正手段と、
前記補正データを、その性質に応じて所定のクラスに分類する分類手段と、
前記クラスに対応した予測係数と前記補正データとの線形結合により、前記第1の階層の画像データの予測値を予測する予測手段と、
前記第1の階層の画像データに対する、その予測値の予測誤差を算出する算出手段と、
前記予測誤差と所定の閾値との比較に基づいて、前記補正手段が出力する前記補正データが適正であるか否かを判定する判定手段と、
前記予測誤差が所定の閾値よりも小さく、前記判定手段により、前記補正データが適正であると判定された場合、前記補正データからなる前記第2階層の画像データを、前記第1の階層の画像データの符号化データとして出力する出力手段とを備え、
前記予測誤差が所定の閾値より小さくなく、前記判定手段により、前記補正データが適正ではないと判定された場合、前記補正データが適正であると判定されるまで、前記所定の補正値を前記予測誤差が小さくなるように変化させ、前記補正手段、前記分類手段、前予測手段、前記算出手段、および前記判定手段の処理を繰り返す
ことを特徴とする画像符号化装置。
An image encoding device that performs hierarchical encoding,
Forming means for forming second-layer image data having a smaller number of pixels than the first-layer image data;
Correction means for adding a predetermined correction value to the image data of the second hierarchy for correction, and outputting as correction data;
Classifying means for classifying the correction data into a predetermined class according to the nature thereof;
Predicting means for predicting a predicted value of the image data of the first layer by linear combination of a prediction coefficient corresponding to the class and the correction data;
Calculating means for calculating a prediction error of the predicted value for the image data of the first hierarchy;
Determination means for determining whether or not the correction data output by the correction means is appropriate based on a comparison between the prediction error and a predetermined threshold;
When the prediction error is smaller than a predetermined threshold value and the determination unit determines that the correction data is appropriate, the second layer image data including the correction data is converted into the first layer image. Output means for outputting as encoded data of the data,
When the prediction error is not smaller than a predetermined threshold value and the determination unit determines that the correction data is not appropriate, the prediction value is calculated until the correction data is determined to be appropriate. An image coding apparatus characterized by changing the error so as to be small, and repeating the processing of the correction unit, the classification unit, the previous prediction unit, the calculation unit, and the determination unit.
前記予測手段は、前記予測係数を、前記クラスごとに求める予測係数演算手段を有し、
前記予測係数演算手段は、あるクラスについての学習用の画像データである前記補正データと教師用の画像データである前記第1の階層の画像データとを用いて、前記補正データに基づいた予測値と前記第1の階層の画像データとの予測誤差を最小自乗法により最小とする学習を行うことにより、前記予測係数を求める
ことを特徴とする請求項2に記載の画像符号化装置。
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 learning image data for a certain class, and the first layer image data, which is teacher image data, to predict a prediction value based on the correction data. The image coding apparatus according to claim 2 , wherein the prediction coefficient is obtained by learning to minimize a prediction error between the first layer image data and the image data of the first hierarchy by a least square method .
前記出力手段は、前記補正データとともに、前記クラスごとの前記予測係数も出力する
ことを特徴とする請求項3に記載の画像符号化装置。
The image encoding apparatus according to claim 3 , wherein the output unit outputs the prediction coefficient for each class together with the correction data.
前記予測手段は、前記補正データとの線形結合により前記予測値を算出するための予測係数を、所定のクラスごとに記憶している予測係数記憶手段をさらに備える
ことを特徴とする請求項2に記載の画像符号化装置。
The prediction means, a prediction coefficient used to calculate the predicted values by linear combination with the corrected data, to claim 2, further comprising a prediction coefficient storage means for storing for each predetermined class The image encoding device described.
前記予測係数記憶手段に記憶されている前記クラスごとの予測係数は、あらかじめ用意した画像データから、前記第1階層の画像データに対応する教師用データと、前記第2の階層の画像データに対応する学習用データを生成し、前記学習用データに基づいた予測値と、前記教師用データとの予測誤差を最小自乗法により最小とする学習を行うことにより、あらかじめ生成されたものである
ことを特徴とする請求項5に記載の画像符号化装置。
The prediction coefficient for each class stored in the prediction coefficient storage unit corresponds to the teacher data corresponding to the image data of the first hierarchy and the image data of the second hierarchy from image data prepared in advance. That is generated in advance by performing learning for generating a learning data to be performed and performing a learning that minimizes a prediction error between the prediction value based on the learning data and the teacher data by the least square method. The image encoding device according to claim 5 , wherein
前記出力手段は、前記補正データとともに、前記クラスごとの前記予測係数も出力する
ことを特徴とする請求項6に記載の画像符号化装置。
The image encoding apparatus according to claim 6 , wherein the output unit outputs the prediction coefficient for each class together with the correction data.
前記補正手段は、
前記第2の階層の画像データを補正するための補正値を記憶している記憶手段を有し、
その補正値を用いて、前記第2の階層の画像データを補正する
ことを特徴とする請求項2に記載の画像符号化装置。
The correction means includes
Storage means for storing a correction value for correcting the image data of the second hierarchy,
The image coding apparatus according to claim 2, wherein the correction data is used to correct the image data of the second hierarchy.
階層符号化を行う画像符号化方法であって、
第1の階層の画像データよりも画素数の少ない第2の階層の画像データを形成し、
前記第2の階層の画像データに所定の補正値を加算して補正し、補正データとして出力し、
前記補正データを、その性質に応じて所定のクラスに分類し、
前記クラスに対応した予測係数と前記補正データとの線形結合により、前記第1の階層の画像データの予測値を予測し、
前記第1の階層の画像データに対する、その予測値の予測誤差を算出し、
前記第1の階層についての予測誤差と所定の閾値との比較に基づいて、前記補正データが適正であるか否かを判定し、
前記予測誤差が所定の閾値よりも小さく、前記補正データが適正であると判定された場合、前記補正データからなる前記第2階層の画像データを、前記第1の階層の画像データの符号化データとして出力し、
前記予測誤差が所定の閾値より小さくなく、前記補正データが適正ではないと判定された場合、前記補正データが適正であると判定されるまで、前記所定の補正値を前記予測誤差が小さくなるように変化させ、前記第2の階層の画像データに加算して補正し、前記補正データとして出力し、前記補正データを、その性質に応じて所定のクラスに分類し、前記クラスに対応した予測係数と前記補正データとの線形結合により、前記第1の階層の画像データの予測値を予測し、前記第1の階層の画像データに対する、その予測値の予測誤差を算出し、前記予測誤差と所定の閾値との比較に基づいて、前記補正データが適正であるか否かを判定する処理を繰り返す
ことを特徴とする画像符号化方法。
An image encoding method for performing hierarchical encoding,
Forming second layer image data having a smaller number of pixels than the first layer image data;
A correction is made by adding a predetermined correction value to the image data of the second layer, and is output as correction data.
The correction data is classified into a predetermined class according to its property,
Predicting the prediction value of the image data of the first hierarchy by linear combination of the prediction coefficient corresponding to the class and the correction data,
Calculating a prediction error of the prediction value for the image data of the first hierarchy;
Based on the comparison between the prediction error for the first hierarchy and a predetermined threshold, it is determined whether the correction data is appropriate,
When the prediction error is smaller than a predetermined threshold value and the correction data is determined to be appropriate, the second layer image data composed of the correction data is converted into encoded data of the first layer image data. Output as
When it is determined that the prediction error is not smaller than a predetermined threshold value and the correction data is not appropriate, the prediction error is reduced to the predetermined correction value until it is determined that the correction data is appropriate. The correction data is added to the second layer of image data, corrected, output as the correction data, the correction data is classified into a predetermined class according to its property, and a prediction coefficient corresponding to the class And the correction data are used to predict a prediction value of the image data of the first hierarchy, calculate a prediction error of the prediction value for the image data of the first hierarchy, and the prediction error and a predetermined value An image encoding method characterized by repeating the process of determining whether or not the correction data is appropriate based on a comparison with a threshold value.
第1の階層の画像データから階層符号化により得られた符号化データを伝送する伝送方法であって、
前記符号化データは、
前記第1の階層の画像データよりも画素数の少ない第2の階層の画像データを形成し、
前記第2の階層の画像データに所定の補正値を加算して補正し、補正データとして出力し、
前記補正データを、その性質に応じて所定のクラスに分類し、
前記クラスに対応した予測係数と前記補正データとの線形結合により、前記第1の階層の画像データの予測値を予測し、
前記第1の階層の画像データに対する、その予測値の予測誤差を算出し、
前記第1の階層についての予測誤差と所定の閾値との比較に基づいて、前記補正データが適正であるか否かを判定し、
前記予測誤差が所定の閾値より小さくなく、前記補正データが適正ではないと判定された場合、前記補正データが適正であると判定されるまで、前記所定の補正値を前記予測誤差が小さくなるように変化させ、前記第2の階層の画像データに加算して補正し、前記補正データとして出力し、前記補正データを、その性質に応じて所定のクラスに分類し、前記クラスに対応した予測係数と前記補正データとの線形結合により、前記第1の階層の画像データの予測値を予測し、前記第1の階層の画像データに対する、その予測値の予測誤差を算出し、前記予測誤差と所定の閾値との比較に基づいて、前記補正データが適正であるか否かを判定する処理を繰り返し、
前記予測誤差が所定の閾値よりも小さく、前記補正データが適正であると判定された場合の前記補正データを、前記第2の階層の画像データとして含む
ことを特徴とする伝送方法。
A transmission method for transmitting encoded data obtained by hierarchical encoding from image data of a first layer,
The encoded data is
Forming second layer image data having a smaller number of pixels than the first layer image data;
A correction is made by adding a predetermined correction value to the image data of the second hierarchy, and is output as correction data.
The correction data is classified into a predetermined class according to its property,
Predicting the prediction value of the image data of the first hierarchy by linear combination of the prediction coefficient corresponding to the class and the correction data,
Calculating a prediction error of the prediction value for the image data of the first hierarchy;
Based on the comparison between the prediction error for the first hierarchy and a predetermined threshold, it is determined whether the correction data is appropriate,
When it is determined that the prediction error is not smaller than a predetermined threshold value and the correction data is not appropriate, the prediction error is reduced to the predetermined correction value until it is determined that the correction data is appropriate. The correction data is added to the second layer of image data, corrected, output as the correction data, the correction data is classified into a predetermined class according to its property, and a prediction coefficient corresponding to the class And the correction data are used to predict a prediction value of the image data of the first hierarchy, calculate a prediction error of the prediction value for the image data of the first hierarchy, and the prediction error and a predetermined value Based on the comparison with the threshold value of, the process of determining whether the correction data is appropriate is repeated,
The transmission method comprising: the correction data when the prediction error is smaller than a predetermined threshold value and the correction data is determined to be appropriate as the image data of the second layer.
階層符号化による画像符号化処理を行うプログラムが記録された記録媒体であって、
第1の階層の画像データよりも画素数の少ない第2の階層の画像データを形成し、
前記第2の階層の画像データに所定の補正値を加算して補正し、補正データとして出力し、
前記補正データを、その性質に応じて所定のクラスに分類し、
前記クラスに対応した予測係数と前記補正データとの線形結合により、前記第1の階層の画像データの予測値を予測し、
前記第1の階層の画像データに対する、その予測値の予測誤差を算出し、
前記第1の階層についての予測誤差と所定の閾値との比較に基づいて、前記補正データが適正であるか否かを判定し、
前記予測誤差が所定の閾値よりも小さく、前記補正データが適正であると判定された場合、前記補正データからなる前記第2階層の画像データを、前記第1の階層の画像データの符号化データとして出力し、
前記予測誤差が所定の閾値より小さくなく、前記補正データが適正ではないと判定された場合、前記補正データが適正であると判定されるまで、前記所定の補正値を前記予測誤差が小さくなるように変化させ、前記第2の階層の画像データに加算して補正し、前記補正データとして出力し、前記補正データを、その性質に応じて所定のクラスに分類し、前記クラスに対応した予測係数と前記補正データとの線形結合により、前記第1の階層の画像データの予測値を予測し、前記第1の階層の画像データに対する、その予測値の予測誤差を算出し、前記予測誤差と所定の閾値との比較に基づいて、前記補正データが適正であるか否かを判定する処理を繰り返す
ことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
A recording medium on which a program for performing image encoding processing by hierarchical encoding is recorded,
Forming second layer image data having a smaller number of pixels than the first layer image data;
A correction is made by adding a predetermined correction value to the image data of the second hierarchy, and is output as correction data.
The correction data is classified into a predetermined class according to its property,
Predicting the prediction value of the image data of the first hierarchy by linear combination of the prediction coefficient corresponding to the class and the correction data,
Calculating a prediction error of the prediction value for the image data of the first hierarchy;
Based on the comparison between the prediction error for the first hierarchy and a predetermined threshold, it is determined whether the correction data is appropriate,
When the prediction error is smaller than a predetermined threshold value and the correction data is determined to be appropriate, the second layer image data composed of the correction data is converted into encoded data of the first layer image data. Output as
When it is determined that the prediction error is not smaller than a predetermined threshold value and the correction data is not appropriate, the prediction error is reduced to the predetermined correction value until it is determined that the correction data is appropriate. The correction data is added to the second layer of image data to be corrected, output as the correction data, the correction data is classified into a predetermined class according to its property, and a prediction coefficient corresponding to the class And the correction data are used to predict a predicted value of the image data of the first layer, and a prediction error of the predicted value of the image data of the first layer is calculated. A process for determining whether or not the correction data is appropriate based on a comparison with a threshold value of the recording medium. body.
JP20853597A 1996-07-17 1997-07-17 Image processing system, image encoding device, image encoding method, transmission method, and recording medium Expired - Fee Related JP3912629B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20853597A JP3912629B2 (en) 1996-07-17 1997-07-17 Image processing system, image encoding device, image encoding method, transmission method, and recording medium

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP20655596 1996-07-17
JP8-206555 1996-07-17
JP20853597A JP3912629B2 (en) 1996-07-17 1997-07-17 Image processing system, image encoding device, image encoding method, transmission method, and recording medium

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005308102A Division JP4582416B2 (en) 1996-07-17 2005-10-24 Image coding apparatus and image coding method

Publications (2)

Publication Number Publication Date
JPH1093981A JPH1093981A (en) 1998-04-10
JP3912629B2 true JP3912629B2 (en) 2007-05-09

Family

ID=26515715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20853597A Expired - Fee Related JP3912629B2 (en) 1996-07-17 1997-07-17 Image processing system, image encoding device, image encoding method, transmission method, and recording medium

Country Status (1)

Country Link
JP (1) JP3912629B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1898647A4 (en) * 2005-06-27 2010-06-16 Pioneer Corp Interpolating apparatus
WO2007063890A1 (en) * 2005-12-02 2007-06-07 Pioneer Corporation Digital broadcast reception signal processing device, signal processing method, signal processing program, and digital broadcast receiver
GB2476685B (en) * 2010-01-05 2015-01-21 Sony Corp A camera arrangement, camera system and method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6348088A (en) * 1986-08-15 1988-02-29 Sony Corp Interpolation circuit for digital image signal
JP3271095B2 (en) * 1993-06-18 2002-04-02 ソニー株式会社 High-efficiency encoder and decoder for digital image signal
JP3590996B2 (en) * 1993-09-30 2004-11-17 ソニー株式会社 Hierarchical encoding and decoding apparatus for digital image signal
JP3271108B2 (en) * 1993-12-03 2002-04-02 ソニー株式会社 Apparatus and method for processing digital image signal
JP3470403B2 (en) * 1994-08-01 2003-11-25 ソニー株式会社 Digital image signal processing unit

Also Published As

Publication number Publication date
JPH1093981A (en) 1998-04-10

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
KR100529662B1 (en) Image coding and decoding using mapping coefficients corresponding to class information of pixel blocks
JP3915855B2 (en) Image coding apparatus, image coding method, learning apparatus, and learning method
KR100537123B1 (en) Picture signal coding device, picture signal coding method, picture signal decoding device, picture signal decoding method, and recording medium
KR100574732B1 (en) Image coding apparatus, image coding method, image decoding method, image decoding apparatus, image data transmitting method and recording medium
EP0825776B1 (en) Image coding using sub-sampling, classification of pixel blocks and association of mapping coefficients
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
JP3747970B2 (en) Image encoding device, image encoding method, image decoding device, and image decoding method
JP4534951B2 (en) Image coding apparatus, image coding method, image processing system, image processing method, transmission 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
JP3912628B2 (en) Image encoding device, image encoding method, image encoding and decoding system, image encoding and decoding method, and recording medium
JP3952326B2 (en) Image coding apparatus, image coding method, image processing system, image processing method, transmission method, and recording medium
JP4496494B2 (en) Image coding apparatus and image coding method
JP4487900B2 (en) Image processing system
JP4566877B2 (en) Image processing apparatus and method
KR100567710B1 (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
JP4807349B2 (en) Learning apparatus and method
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

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 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060522

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060721

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070125

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

Free format text: PAYMENT UNTIL: 20100209

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110209

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110209

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120209

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120209

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130209

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130209

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140209

Year of fee payment: 7

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