JP3747970B2 - Image encoding device, image encoding method, image decoding device, and image decoding method - Google Patents

Image encoding device, image encoding method, image decoding device, and image decoding method Download PDF

Info

Publication number
JP3747970B2
JP3747970B2 JP34294496A JP34294496A JP3747970B2 JP 3747970 B2 JP3747970 B2 JP 3747970B2 JP 34294496 A JP34294496 A JP 34294496A JP 34294496 A JP34294496 A JP 34294496A JP 3747970 B2 JP3747970 B2 JP 3747970B2
Authority
JP
Japan
Prior art keywords
data
prediction
image
value
original image
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
JP34294496A
Other languages
Japanese (ja)
Other versions
JPH10191353A (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 JP34294496A priority Critical patent/JP3747970B2/en
Publication of JPH10191353A publication Critical patent/JPH10191353A/en
Application granted granted Critical
Publication of JP3747970B2 publication Critical patent/JP3747970B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding

Description

【0001】
【発明の属する技術分野】
本発明は、画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法に関する。特に、原画像とほぼ同一の復号画像が得られるように、画像を間引いて圧縮符号化する画像符号化装置および画像符号化方法、画像復号化装置および画像符号化方法に関する。
【0002】
【従来の技術】
従来より、画像の圧縮方法については、種々の方法が提案されているが、そのうちの1つに、画像を、その画素を間引くことにより圧縮する方法がある。
【0003】
【発明が解決しようとする課題】
しかしながら、このように間引いて圧縮した画像を、単純に補間により伸張した場合、その結果得られる復号画像の解像度が劣化する。
【0004】
ここで、このように復号画像の解像度が劣化する原因として、第1に、間引い画像には、元の画像に含まれる高周波数成分が含まれていないことと、第2に、間引き後の画像を構成する画素の画素値が、元の画像を復元するのに、必ずしも適当でないことが考えられる。
【0005】
本発明は、このような状況に鑑みてなされたものであり、原画像と同一(ほぼ同一)の復号画像が得られるように、画像を間引いて圧縮符号化することができるようにするものである。
【0006】
【課題を解決するための手段】
請求項1に記載の画像符号化装置は、原画像を圧縮することにより得られる圧縮データを補正し、補正データを出力する補正手段と、補正データを用いて補間を行う補間手段と、補間手段による補間の結果得られる補間データと所定の予測係数とに基づいて、原画像を予測し、その予測値を出力する予測手段と、原画像に対する、予測値の予測誤差を算出する算出手段と、予測誤差に基づいて、補正手段が出力する補正データの適正さを判定する判定手段と、判定手段により補正データが適正でないと判定された場合、圧縮データを補正手段に再補正させ、再補正の結果得られる補正データの適正さを判定手段に再判定させる制御を行い、判定手段により補正データが適正であると判定された場合、補正データを、所定の予測係数とともに原画像の符号化結果として出力する出力手段とを備えることを特徴とする。
【0007】
請求項4に記載の画像符号化方法は、原画像を圧縮することにより得られる圧縮データを補正して、補正データを出力し、補正データを用いて補間を行うことにより補間データを出力し、補間データと所定の予測係数とに基づいて、原画像を予測して、その予測値を出力し、原画像に対する、予測値の予測誤差を算出することを、予測誤差が所定値以下になるまで繰り返し、予測誤差が所定値以下になったときにおける補正データを、所定の予測係数とともに原画像の符号化結果として出力することを特徴とする。
【0008】
請求項5に記載の画像復号化装置は、符号化データが、原画像を圧縮することにより得られる圧縮データを補正して、補正データを出力し、補正データを用いて補間を行うことにより補間データを出力し、補間データと所定の予測係数とに基づいて、原画像を予測して、その予測値を出力し、原画像に対する、予測値の予測誤差を算出することを、予測誤差が所定値以下になるまで繰り返すことにより得られた、予測誤差が所定値以下になったときにおける補正データと、所定の予測係数とである場合、符号化データを用いて補間を行う補間手段と、補間手段による補間の結果得られる補間データと所定の予測係数とに基づいて、原画像の予測値を算出し、それを復号画像として出力する予測手段とを備えることを特徴とする。
【0009】
請求項6に記載の画像復号化方法は、符号化データが、原画像を圧縮することにより得られる圧縮データを補正して、補正データを出力し、補正データを用いて補間を行うことにより補間データを出力し、補間データと所定の予測係数とに基づいて、原画像を予測して、その予測値を出力し、原画像に対する、予測値の予測誤差を算出することを、予測誤差が所定値以下になるまで繰り返すことにより得られた、予測誤差が所定値以下になったときにおける補正データと、所定の予測係数とである場合、符号化データを用いて補間を行うことにより補間データを求め、補間データと所定の予測係数とに基づいて、原画像の予測値を算出し、それを復号画像として出力することを特徴とする。
【0011】
請求項7に記載の画像符号化装置は、原画像を圧縮することにより得られる圧縮データを補正し、補正データを出力する補正手段と、補正データと所定の予測係数とに基づいて、原画像を予測し、その予測値を出力する予測手段と、原画像に対する、予測値の予測誤差を算出する算出手段と、予測誤差に基づいて、補正手段が出力する補正データの適正さを判定する判定手段と、判定手段により補正データが適正でないと判定された場合、圧縮データを補正手段に再補正させ、再補正の結果得られる補正データの適正さを判定手段に再判定させる制御を行い、判定手段により補正データが適正であると判定された場合、補正データを、所定の予測係数とともに原画像の符号化結果として出力する出力手段とを備え、予測手段が、所定の注目画素を含む所定の範囲内の画素についての補正データと所定の予測係数とに基づいて、予測値を算出し、補正手段が、予測値の予測誤差に対応して、所定の注目画素のみについての圧縮データを補正することを特徴とする。
【0012】
請求項8に記載の画像符号化方法は、原画像を圧縮することにより得られる圧縮データを補正して、補正データを出力し、補正データと所定の予測係数とに基づいて、原画像を予測して、その予測値を出力し、原画像に対する、予測値の予測誤差を算出することを、予測誤差が所定値以下になるまで繰り返し、予測誤差が所定値以下になったときにおける補正データを、所定の予測係数とともに原画像の符号化結果として出力する画像符号化方法であって、予測値を、所定の注目画素を含む所定の範囲内の画素についての補正データと所定の予測係数とに基づいて算出し、予測値の予測誤差に対応して、所定の注目画素のみについての圧縮データを補正することを特徴とする。
【0014】
請求項1に記載の画像符号化装置においては、補正手段は、原画像を圧縮することにより得られる圧縮データを補正し、補正データを出力するようになされている。補間手段は、補正データを用いて補間を行い、予測手段は、補間手段による補間の結果得られる補間データと所定の予測係数とに基づいて、原画像を予測し、その予測値を出力するようになされている。算出手段は、原画像に対する、予測値の予測誤差を算出し、判定手段は、予測誤差に基づいて、補正手段が出力する補正データの適正さを判定するようになされている。出力手段は、判定手段により補正データが適正でないと判定された場合、圧縮データを補正手段に再補正させ、再補正の結果得られる補正データの適正さを判定手段に再判定させる制御を行い、判定手段により補正データが適正であると判定された場合、補正データを、所定の予測係数とともに原画像の符号化結果として出力するようになされている。
【0015】
請求項4に記載の画像符号化方法においては、原画像を圧縮することにより得られる圧縮データを補正して、補正データを出力し、補正データを用いて補間を行うことにより補間データを出力し、補間データと所定の予測係数とに基づいて、原画像を予測して、その予測値を出力し、原画像に対する、予測値の予測誤差を算出することを、予測誤差が所定値以下になるまで繰り返し、予測誤差が所定値以下になったときにおける補正データを、所定の予測係数とともに原画像の符号化結果として出力するようになされている。
【0016】
請求項5に記載の画像復号化装置においては、符号化データが、原画像を圧縮することにより得られる圧縮データを補正して、補正データを出力し、補正データを用いて補間を行うことにより補間データを出力し、補間データと所定の予測係数とに基づいて、原画像を予測して、その予測値を出力し、原画像に対する、予測値の予測誤差を算出することを、予測誤差が所定値以下になるまで繰り返すことにより得られた、予測誤差が所定値以下になったときにおける補正データと、所定の予測係数とである場合において、補間手段は、符号化データを用いて補間を行い、予測手段は、補間手段による補間の結果得られる補間データと所定の予測係数とに基づいて、原画像の予測値を算出し、それを復号画像として出力するようになされている。
【0017】
請求項6に記載の画像復号化方法においては、符号化データが、原画像を圧縮することにより得られる圧縮データを補正して、補正データを出力し、補正データを用いて補間を行うことにより補間データを出力し、補間データと所定の予測係数とに基づいて、原画像を予測して、その予測値を出力し、原画像に対する、予測値の予測誤差を算出することを、予測誤差が所定値以下になるまで繰り返すことにより得られた、予測誤差が所定値以下になったときにおける補正データと、所定の予測係数とである場合において、符号化データを用いて補間を行うことにより補間データを求め、補間データと所定の予測係数とに基づいて、原画像の予測値を算出し、それを復号画像として出力するようになされている。
【0019】
請求項7に記載の画像符号化装置においては、補正手段は、原画像を圧縮することにより得られる圧縮データを補正し、補正データを出力するようになされている。予測手段は、補正データと所定の予測係数とに基づいて、原画像を予測し、その予測値を出力し、算出手段は、原画像に対する、予測値の予測誤差を算出するようになされている。判定手段は、予測誤差に基づいて、補正手段が出力する補正データの適正さを判定し、出力手段は、判定手段により補正データが適正でないと判定された場合、圧縮データを補正手段に再補正させ、再補正の結果得られる補正データの適正さを判定手段に再判定させる制御を行い、判定手段により補正データが適正であると判定された場合、補正データを、所定の予測係数とともに原画像の符号化結果として出力するようになされている。この場合において、予測手段が、所定の注目画素を含む所定の範囲内の画素についての補正データと所定の予測係数とに基づいて、予測値を算出し、補正手段が、予測値の予測誤差に対応して、所定の注目画素のみについての圧縮データを補正するようになされている。
【0020】
請求項8に記載の画像符号化方法においては、原画像を圧縮することにより得られる圧縮データを補正して、補正データを出力し、補正データと所定の予測係数とに基づいて、原画像を予測して、その予測値を出力し、原画像に対する、予測値の予測誤差を算出することを、予測誤差が所定値以下になるまで繰り返し、予測誤差が所定値以下になったときにおける補正データを、所定の予測係数とともに原画像の符号化結果として出力するようになされている。この場合において、予測値を、所定の注目画素を含む所定の範囲内の画素についての補正データと所定の予測係数とに基づいて算出し、予測値の予測誤差に対応して、所定の注目画素のみについての圧縮データを補正するようになされている。
【0022】
【発明の実施の形態】
以下に、本発明の実施の形態を説明するが、その前に、特許請求の範囲に記載の発明の各手段と以下の実施例との対応関係を明らかにするために、各手段の後の括弧内に、対応する実施の形態(但し、一例)を付加して、本発明の特徴を記述すると、次のようになる。
【0023】
即ち、請求項1に記載の画像符号化装置は、画像を符号化する画像符号化装置であって、原画像を、その画素数を少なくすることにより圧縮する圧縮手段(例えば、図5に示す間引き回路31など)と、原画像を圧縮することにより得られる圧縮データを補正し、補正データを出力する補正手段(例えば、図5に示す補正回路32など)と、補正データを用いて補間を行う補間手段(例えば、図8に示す線形補間回路40など)と、補間手段による補間の結果得られる補間データと所定の予測係数とに基づいて、原画像を予測し、その予測値を出力する予測手段(例えば、図8に示すクラス分類適応処理回路43など)と、原画像に対する、予測値の予測誤差を算出する算出手段(例えば、図3に示す誤差算出部23など)と、予測誤差に基づいて、補正手段が出力する補正データの適正さを判定する判定手段(例えば、図3に示す判定部24など)と、判定手段により補正データが適正でないと判定された場合、圧縮データを補正手段に再補正させ、再補正の結果得られる補正データの適正さを判定手段に再判定させる制御を行い、判定手段により補正データが適正であると判定された場合、補正データを、所定の予測係数とともに原画像の符号化結果として出力する出力手段(例えば、図3に示す判定部24や多重化部25など)とを備えることを特徴とする。
【0024】
請求項5に記載の画像復号化装置は、画像を符号化した符号化データを復号化する画像復号化装置であって、符号化データが、原画像を、その画素数を少なくすることにより圧縮し、原画像を圧縮することにより得られる圧縮データを補正して、補正データを出力し、補正データを用いて補間を行うことにより補間データを出力し、補間データと所定の予測係数とに基づいて、原画像を予測して、その予測値を出力し、原画像に対する、予測値の予測誤差を算出することを、予測誤差が所定値以下になるまで繰り返すことにより得られた、予測誤差が所定値以下になったときにおける補正データと、所定の予測係数とである場合、符号化データを用いて補間を行う補間手段(例えば、図16に示す線形補間回路78など)と、補間手段による補間の結果得られる補間データと所定の予測係数とに基づいて、原画像の予測値を算出し、それを復号画像として出力する予測手段(例えば、図16に示す予測回路76など)とを備えることを特徴とする。
【0025】
請求項7に記載の画像符号化装置は、画像を符号化する画像符号化装置であって、原画像を、その画素数を少なくすることにより圧縮する圧縮手段(例えば、図3に示す圧縮部21など)と、原画像を圧縮することにより得られる圧縮データを補正し、補正データを出力する補正手段(例えば、図3に示す圧縮部21など)と、補正データと所定の予測係数とに基づいて、原画像を予測し、その予測値を出力する予測手段(例えば、図3に示すローカルデコード部22など)と、原画像に対する、予測値の予測誤差を算出する算出手段(例えば、図3に示す誤差算出部23など)と、予測誤差に基づいて、補正手段が出力する補正データの適正さを判定する判定手段(例えば、図3に示す判定部24など)と、判定手段により補正データが適正でないと判定された場合、圧縮データを補正手段に再補正させ、再補正の結果得られる補正データの適正さを判定手段に再判定させる制御を行い、判定手段により補正データが適正であると判定された場合、補正データを、所定の予測係数とともに原画像の符号化結果として出力する出力手段(例えば、図3に示す判定部24や多重化部25など)とを備え、予測手段が、所定の注目画素を含む所定の範囲内の画素についての補正データと所定の予測係数とに基づいて、予測値を算出し、補正手段が、予測値の予測誤差に対応して、所定の注目画素のみについての圧縮データを補正することを特徴とする。
【0026】
なお、勿論この記載は、各手段を上記したものに限定することを意味するものではない。
【0027】
図1は、本発明を適用した画像処理装置の一実施の形態の構成を示している。送信装置1には、ディジタル化された画像データが供給されるようになされている。送信装置1は、入力された画像データを間引くこと(その画素数を少なくすること)により圧縮、符号化し、その結果得られる符号化データを、例えば、光ディスクや、光磁気ディスク、磁気テープその他でなる記録媒体2に記録し、または、例えば、地上波や、衛星回線、電話回線、CATV網、その他の伝送路3を介して伝送する。
【0028】
受信装置4では、記録媒体2に記録された符号化データが再生され、または、伝送路3を介して伝送されてくる符号化データが受信され、その符号化データを伸張、復号化し、その結果得られる復号画像を、図示せぬディスプレイに供給して表示させる。
【0029】
なお、以上のような画像処理装置は、例えば、光ディスク装置や、光磁気ディスク装置、磁気テープ装置その他の、画像の記録/再生を行う装置や、あるいはまた、例えば、テレビ電話装置や、テレビジョン放送システム、CATVシステムその他の、画像の伝送を行う装置などに適用される。また、後述するように、送信装置1が出力する符号化データのデータ量が少ないため、図1の画像処理装置は、伝送レートの低い、例えば、携帯電話機その他の、移動に便利な携帯端末などにも適用可能である。
【0030】
図2は、送信装置1の構成例を示している。
【0031】
I/F(InterFace)11は、外部から供給される画像データの受信処理と、送信機/記録装置16に対しての、符号化データの送信処理を行うようになされている。ROM(Read Only Memory)12は、IPL(Initial Program Loading)用のプログラムその他を記憶している。RAM(Random Access Memory)13は、外部記憶装置15に記録されているシステムプログラム(OS(Operating System))やアプリケーションプログラムを記憶したり、また、CPU(Central Processing Unit)14の動作上必要なデータを記憶するようになされている。CPU14は、ROM12に記憶されているIPLプログラムにしたがい、外部記憶装置15からシステムプログラムおよびアプリケーションプログラムを、RAM13に展開し、そのシステムプログラムの制御の下、アプリケーションプログラムを実行することで、I/F11から供給される画像データについての、後述するような符号化処理を行うようになされている。外部記憶装置15は、例えば、磁気ディスク装置などでなり、上述したように、CPU14が実行するシステムプログラムやアプリケーションプログラムを記憶している他、CPU14の動作上必要なデータも記憶している。送信機/記録装置16は、I/F11から供給される符号化データを、記録媒体2に記録し、または伝送路3を介して伝送するようになされている。
【0032】
なお、I/F11,ROM12,RAM13,CPU14、および外部記憶装置15は、相互にバスを介して接続されている。
【0033】
以上のように構成される送信装置1においては、I/F11に画像データが供給されると、その画像データは、CPU14に供給される。CPU14は、画像データを符号化し、その結果得られる符号化データを、I/F11に供給する。I/F11は、符号化データを受信すると、それを、送信機/記録装置16に供給する。送信機/記録装置16では、I/F11からの符号化データが、記録媒体2に記録され、または伝送路3を介して伝送される。
【0034】
図3は、図2の送信装置1の、送信機/記録装置16を除く部分の機能的なブロック図である。
【0035】
符号化すべき画像データは、圧縮部21、ローカルデコード部22、および誤差算出部23に供給されるようになされている。圧縮部21は、画像データを、その画素を、例えば、単純に間引くことにより圧縮し、その結果得られる圧縮データ(間引きが行われた後の画像データ)を、判定部24からの制御にしたがって補正するようになされている。圧縮部21における補正の結果得られる補正データは、ローカルデコード部22および判定部24に供給するようになされている。
【0036】
ローカルデコード部22は、圧縮部21からの補正データに基づいて、元の画像を予測し、その予測値を、誤差算出部23に供給するようになされている。なお、ローカルデコード部22は、後述するように、補正データとの線形結合により、予測値を算出するための予測係数を求める適応処理を行い、その予測係数に基づいて、予測値を求めるようになされており、上述したように、予測値を、誤差算出部23に供給する他、そのとき求めた予測係数を、判定部24に供給するようにもなされている。
【0037】
誤差算出部23は、そこに入力される、元の画像データ(原画像)に対する、ローカルデコード部22からの予測値の予測誤差を算出するようになされている。この予測誤差は、誤差情報として、判定部24に供給されるようになされている。
【0038】
判定部24は、誤差算出部23からの誤差情報に基づいて、圧縮部21が出力した補正データを、元の画像の符号化結果とすることの適正さを判定するようになされている。そして、判定部24は、圧縮部21が出力した補正データを、元の画像の符号化結果とすることが適正でないと判定した場合には、圧縮部21を制御し、さらに、圧縮データを補正させ、その結果得られる新たな補正データを出力させるようになされている。また、判定部24は、圧縮部21が出力した補正データを、元の画像の符号化結果とすることが適正であると判定した場合には、圧縮部21から供給された補正データを、最適な圧縮データ(以下、適宜、最適圧縮データという)として多重化部25に供給するとともに、ローカルデコード部22から供給された予測係数を多重化部25に供給するようになされている。
【0039】
多重化部25は、判定部24からの最適圧縮データ(補正データ)と、予測係数とを多重化し、その多重化結果を、符号化データとして、送信機/記録装置16(図2)に供給するようになされている。
【0040】
次に、図4のフローチャートを参照して、その動作について説明する。圧縮部21に対して、画像データが供給されると、圧縮部21は、ステップS1において、その画像データを間引くことにより圧縮し、最初は、補正を行わずに、ローカルデコード部22および判定部24に出力する。ローカルデコード部22では、ステップS2において、圧縮部21からの補正データ(最初は、上述したように、画像データを、単純に間引いた圧縮データそのもの)がローカルデコードされる。
【0041】
即ち、ステップS2では、圧縮部21からの補正データとの線形結合により、元の画像の予測値を算出するための予測係数を求める適応処理が行われ、その予測係数に基づいて、予測値が求められる。ローカルデコード部22において求められた予測値は誤差算出部23に、また、予測係数は判定部24に供給される。
【0042】
ここで、ローカルデコード部22が出力する予測値で構成される画像は、受信装置4(図1)側において得られる復号画像と同一のものである。
【0043】
誤差算出部23は、ローカルデコード部22から、元の画像の予測値を受信すると、ステップS3において、元の画像データに対する、ローカルデコード部22からの予測値の予測誤差を算出し、誤差情報として、判定部24に供給する。判定部24は、誤差算出部23から誤差情報を受信すると、ステップS4において、その誤差情報に基づいて、圧縮部21が出力した補正データを、元の画像の符号化結果とすることの適正さを判定する。
【0044】
即ち、ステップS4においては、誤差情報が所定の閾値ε以下であるかどうかが判定される。ステップS4において、誤差情報が所定の閾値ε以下でないと判定された場合、圧縮部21が出力した補正データを、元の画像の符号化データとするのは適正でないと認識され、ステップS5に進み、判定部24は、圧縮部21を制御し、これにより、圧縮データを補正させる。圧縮部21は、判定部24の制御にしたがって、圧縮データを補正し、その結果得られる補正データを、ローカルデコード部22および判定部24に出力する。そして、ステップS2に戻り、以下、同様の処理が繰り返される。
【0045】
一方、ステップS4において、誤差情報が所定の閾値ε以下であると判定された場合、圧縮部21が出力した補正データを、元の画像の符号化結果とするのは適正であると認識され、判定部24は、所定の閾値ε以下の誤差情報が得られたときの補正データを、最適圧縮データとして、予測係数とともに、多重化部25に出力する。多重化部25では、ステップS6において、判定部24からの最適圧縮データと予測係数とが多重化され、その結果得られる符号化データが出力されて、処理を終了する。
【0046】
以上のように、誤差情報が所定の閾値ε以下となったときにおける、圧縮データを補正した補正データ(最適圧縮データ)を、元の画像の符号化結果とするようにしたので、受信装置4側においては、その補正データに基づいて、元の画像(原画像)とほぼ同一の画像を得ることが可能となる。
【0047】
次に、図5は、図3の圧縮部21の構成例を示している。
【0048】
符号化すべき画像データは、ダウンフィルタ30に入力されるようになされている。ダウンフィルタ30は、例えば、ハーフバンドの1次元の31タップのローパスフィルタで、符号化すべき画像データをフィルタリングして、間引き回路31に供給するようになされている。間引き回路31は、ダウンフィルタ30からの画像データを1/Nに間引くようになされている。従って、間引き回路31からは、画像データを、1/Nに圧縮した圧縮データが出力されるようになされている。この圧縮データは、間引き回路31から補正回路32に供給されるようになされている。
【0049】
補正回路32は、判定部24(図3)からの制御信号にしたがった補正値△を、間引き回路31からの圧縮データに対して、例えば加算することで、補正データを生成し、ローカルデコード部22および判定部24に供給するようになされている。
【0050】
次に、図6を参照して、図5の圧縮部21の処理について説明する。
【0051】
例えば、1フレーム(フィールド)分などの画像データが、ダウンフィルタ30に供給されると、ダウンフィルタ30では、ステップS10において、その画像データがフィルタリングされる。即ち、ダウンフィルタ30としての、例えば、ハーフバンドの1次元の31タップのローパスフィルタが、画像データに対して、まず垂直方向にかけられ、その後水平方向にかけられる。ダウンフィルタ30におけるフィルタリング結果としての画像データは、間引き回路31に出力される。
【0052】
ここで、ダウンフィルタ30は、1次元や、31タップのものなどに限定されるものではない。即ち、ダウンフィルタ30としては、例えば、2次元の3×3のローパスフィルタや、5×5のローパスフィルタなどを用いることが可能である。まだ、ダウンフィルタ30は、必ずしも設ける必要はない。即ち、間引き回路31には、符号化すべき画像データをそのまま入力するようにすることが可能である。
【0053】
間引き回路31では、ステップS11において、ダウンフィルタ30からの画像データが1/Nに間引かれ(サブサンプリングされ)、その結果得られる圧縮データが、補正回路32に出力される。
【0054】
ここで、間引き回路31は、図7に示すように、入力された画像データを、例えば、1/9に間引くようになされている。即ち、間引き回路31は、3×3(横×縦)の9画素を1単位とし、各単位の中心の画素(同図において、●印で示す部分)についての画素値のみを抽出し、他の部分(同図において、○印で示す部分)を削除する。なお、間引き回路31は、以上のような処理を、例えば、1フレーム(フィールド)単位で行うようになされている。従って、間引き回路31から補正回路32に対しては、1フレームの画像データが1/9に間引きされた圧縮データが供給される。但し、間引き回路31における間引き処理は、その他、1フレームの画像を幾つかのブロックに分割し、そのブロック単位で行うようにすることも可能である。
【0055】
補正回路32は、間引き回路31から圧縮データを受信すると、ステップS12において、判定部24(図3)から制御信号を受信したかどうかを判定する。ステップS12において、制御信号を受信していないと判定された場合、ステップS13をスキップして、ステップS14に進み、補正回路32は、間引き回路31からの圧縮データを、そのまま補正データとして、ローカルデコード部22および判定部24に出力し、ステップS12に戻る。
【0056】
即ち、判定部24は、上述したように、誤差情報に基づいて、圧縮部21(補正回路32)を制御するようになされており、間引き回路31から圧縮データが出力された直後は、まだ、誤差情報が得られないため(誤差情報が、誤差算出部23から出力されないため)、判定部24からは制御信号は出力されない。このため、間引き回路31から圧縮データが出力された直後は、補正回路32は、その圧縮データを補正せず(0を加算する補正をして)、そのまま補正データとして、ローカルデコード部22および判定部24に出力する。
【0057】
一方、ステップS12において、判定部24からの制御信号を受信したと判定された場合、ステップS13において、補正回路32は、その制御信号にしたがった補正値△を、1フレームの圧縮データそれぞれに加算し、これにより、圧縮データを補正した補正データを算出する。ここで、1フレームの圧縮データそれぞれに加算する補正値△は、同一の値である必要はなく、異なった値を用いることができる(むしろ、通常は、異なった値の方が好ましい)。
【0058】
補正データの算出後は、ステップS13からS14に進み、その補正データが、補正回路32からローカルデコード部22および判定部24に出力され、ステップS12に戻る。
【0059】
以上のようにして、圧縮部21は、判定部24の制御にしたがって、圧縮データを、種々の値に補正した補正データを出力することを繰り返す。
【0060】
なお、判定部24は、1フレームの画像についての符号化を終了すると、その旨を表す制御信号を、圧縮部21に供給するようになされており、圧縮部21は、その制御信号を受信すると、次のフレームの画像に対して、図6のフローチャートにしたがった処理を施すようになされている。
【0061】
また、上述の場合においては、間引き回路31に、3×3画素の中心の画素についての画素データ(画素値)のみを抽出させることにより、圧縮データを生成させるようにしたが、その他、例えば、3×3画素の平均値を算出し、その平均値を、3×3画素の中心の画素の画素値として、圧縮データを生成させるようにすることなども可能である。
【0062】
次に、図8は、図3のローカルデコード部22の構成例を示している。
【0063】
圧縮部21からの補正データは、線形補間回路40およびクラス分類用ブロック化回路41に供給されるようになされている。線形補間回路40は、補正データを用いて線形補間を行い、これにより補間データを算出するようになされている。即ち、圧縮部21から供給される補正データは、図7に●印で示した間引き後の画素についてのものであるが、線形補間回路40は、この補正データを用いて線形補間を行うことで、同図に○印で示した間引き前の画素についての画素値である補間データを求めるようになされている。
【0064】
ここで、以下、適宜、補間データというときには、図7において●印で示した画像についての補正データをも含むものとする。
【0065】
線形補間回路40で求められた補間データは、予測値計算用ブロック化回路42に供給されるようになされている。
【0066】
クラス分類用ブロック化回路41は、圧縮部21からの補正データを、その性質に応じて所定のクラスに分類するための単位であるクラス分類用ブロックにブロック化するようになされている。
【0067】
即ち、いま、図7において、上からi番目で、左からj番目の補正データ(圧縮データ)(または画素)(図中、●印で示す部分)をXijと表すとすると、クラス分類用ブロック化回路41は、Xijを注目画素とする場合、例えば、その注目画素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画素で構成されるクラス分類用ブロック(注目画素Xijを、後述するクラス分類するためのタップ(クラス分類用タップ))を構成するようになされている。このクラス分類用ブロックは、クラス分類適応処理回路43に供給されるようになされている。
【0068】
なお、この場合、クラス分類用ブロックは、3×3画素(3×3の補正データ)でなる正方形状のブロックで構成されることとなるが、クラス分類用ブロックの形状は、正方形である必要はなく、その他、例えば、長方形や、十文字形、その他の任意な形とすることが可能である。また、クラス分類用ブロックを構成する画素数も、3×3の9画素に限定されるものではない。
【0069】
予測値計算用ブロック化回路42は、線形補間回路40からの補間データを、元の画像の予測値を計算するための単位である予測値計算用ブロック(予測タップ)にブロック化するようになされている。
【0070】
即ち、いま、図7において、間引き後の画素(図中、●印で示す部分)のうちの1つを注目画素Xijとして、その注目画素Xijを中心とする、元の画像(原画像)における3×3の9画素の画素値を、その最も左から右方向、かつ上から下方向に、Yij(1),Yij(2),Yij(3),Yij(4),Yij(5),Yij(6),Yij(7),Yij(8),Yij(9)と表すとすると、予測値計算用ブロック化回路42は、例えば、画素Yij(1)乃至Yij(9)の予測値の計算のために、注目画素Xijを中心とする25の補間(線形補間)後の画素で構成されるひし形状の予測値計算用ブロックを構成するようになされている。
【0071】
具体的には、例えば、図7において、X33を注目画素とするとき、同図で実線の四角形で囲む、元の画像における画素Y33(1)乃至Y33(9)の予測値の計算のためには、同図において点線で囲むひし形の範囲の25画素(25の補間データ)から、予測値計算用ブロックが構成される。
【0072】
予測値計算用ブロック化回路42において得られた予測値計算用ブロックは、クラス分類適応処理回路43に供給されるようになされている。
【0073】
なお、予測値計算用ブロックについても、クラス分類用ブロックにおける場合と同様に、その画素数および形状は、上述したものに限定されるものではない。但し、予測値計算用ブロックを構成する画素数は、クラス分類用ブロックを構成する画素数よりも多くするのが望ましい。
【0074】
また、上述のようなブロック化を行う場合において(ブロック化以外の処理についても同様)、画像の画枠付近では、対応する画素が存在しないことがあるが、この場合には、例えば、画枠を構成する画素と同一の画素が、その外側に存在するものとして処理を行うようにすることができる。
【0075】
クラス分類適応処理回路43は、ADRC(Adaptive Dynamic Range Coding)処理回路、クラス分類回路45、および適応処理回路46で構成され、クラス分類適応処理を行うようになされている。
【0076】
クラス分類適応処理とは、入力信号を、その特徴に基づいて幾つかのクラスに分類し、各クラスの入力信号に、そのクラスに適切な適応処理を施すもので、大きく、クラス分類処理と適応処理とに分かれている。
【0077】
ここで、クラス分類処理および適応処理について簡単に説明する。
【0078】
まず、クラス分類処理について説明する。
【0079】
いま、例えば、図9(A)に示すように、ある注目画素と、それに隣接する3つの画素により、2×2画素でなるブロック(クラス分類用ブロック)を構成し、また、各画素は、1ビットで表現される(0または1のうちのいずれかのレベルをとる)ものとする。この場合、2×2の4画素のブロックは、各画素のレベル分布により、図9(B)に示すように、16(=(214)パターンに分類することができる。このようなパターン分けが、クラス分類処理であり、クラス分類回路45において行われる。
【0080】
なお、クラス分類処理は、画像(ブロック内の画像)のアクティビティ(画像の複雑さ)(変化の激しさ)などをも考慮して行うようにすることが可能である。
【0081】
ここで、通常、各画素には、例えば8ビット程度が割り当てられる。また、本実施の形態においては、上述したように、クラス分類用ブロックは、3×3の9画素で構成される。従って、このようなクラス分類用ブロックを対象にクラス分類処理を行ったのでは、(289という膨大な数のクラスに分類されることになる。
【0082】
そこで、本実施の形態においては、ADRC処理回路44において、クラス分類用ブロックに対して、ADRC処理が施されるようになされており、これにより、クラス分類用ブロックを構成する画素のビット数を小さくすることで、クラス数を削減するようになされている。
【0083】
即ち、例えば、いま、説明を簡単にするため、図10(A)に示すように、直線上に並んだ4画素で構成されるブロックを考えると、ADRC処理においては、その画素値の最大値MAXと最小値MINが検出される。そして、DR=MAX−MINを、ブロックの局所的なダイナミックレンジとし、このダイナミックレンジDRに基づいて、ブロックを構成する画素の画素値がKビットに再量子化される。
【0084】
即ち、ブロック内の各画素値から、最小値MINを減算し、その減算値をDR/2Kで除算する。そして、その結果得られる除算値に対応するコード(ADRCコード)に変換される。具体的には、例えば、K=2とした場合、図10(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が加算されることで復号が行われる。
【0085】
ここで、このようなADRC処理はノンエッジマッチングと呼ばれる。このようなノンエッジマッチングに対して、図10(C)に示すように、ダイナミックレンジDRを4等分して得られる最も下のレベルの範囲に属する画素値の平均値MIN’、またはその最も上のレベルの範囲に属する画素値の平均値MAX’に、ADRCコード00Bまたは11Bそれぞれを変換するとともに、MAX’−MIN’で規定されるダイナミックレンジDR’を等分(3等分)するレベルに、ADRCコード01Bと10Bを変換することにより、ADRCコードの復号を行うようなADRC処理があり、これは、エッジマッチングと呼ばれる。
【0086】
なお、ADRC処理については、本件出願人が先に出願した、例えば、特開平3−53778号公報などに、その詳細が開示されている。
【0087】
ブロックを構成する各画素に割り当てられているビット数より少ないビット数で再量子化を行うADRC処理を施すことにより、上述したように、クラス数を削減することができ、このようなADRC処理が、ADRC処理回路44において行われるようになされている。
【0088】
なお、本実施の形態では、クラス分類回路45において、ADRC処理回路44から出力されるADRCコードに基づいて、クラス分類処理が行われるが、クラス分類処理は、その他、例えば、DPCM(予測符号化)や、BTC(Block Truncation Coding)、VQ(ベクトル量子化)、DCT(離散コサイン変換)、アダマール変換などを施したデータを対象に行うようにすることも可能である。
【0089】
次に、適応処理について説明する。
【0090】
例えば、いま、元の画像の画素値yの予測値E[y]を、その周辺の幾つかの画素の画素値(以下、適宜、学習データという)x1,x2,・・・と、所定の予測係数w1,w2,・・・の線形結合により規定される線形1次結合モデルにより求めることを考える。この場合、予測値E[y]は、次式で表すことができる。
【0091】

Figure 0003747970
【0092】
そこで、一般化するために、予測係数wの集合でなる行列W、学習データの集合でなる行列X、および予測値E[y]の集合でなる行列Y’を、
【数1】
Figure 0003747970
で定義すると、次のような観測方程式が成立する。
【0093】
Figure 0003747970
【0094】
そして、この観測方程式に最小自乗法を適用して、元の画像の画素値yに近い予測値E[y]を求めることを考える。この場合、元の画像の画素値(以下、適宜、教師データという)yの集合でなる行列Y、および元の画像の画素値yに対する予測値E[y]の残差eの集合でなる行列Eを、
【数2】
Figure 0003747970
で定義すると、式(2)から、次のような残差方程式が成立する。
【0095】
Figure 0003747970
【0096】
この場合、元の画像の画素値yに近い予測値E[y]を求めるための予測係数wiは、自乗誤差
【数3】
Figure 0003747970
を最小にすることで求めることができる。
【0097】
従って、上述の自乗誤差を予測係数wiで微分したものが0になる場合、即ち、次式を満たす予測係数wiが、元の画像の画素値yに近い予測値E[y]を求めるため最適値ということになる。
【0098】
【数4】
Figure 0003747970
Figure 0003747970
【0099】
そこで、まず、式(3)を、予測係数wiで微分することにより、次式が成立する。
【0100】
【数5】
Figure 0003747970
Figure 0003747970
【0101】
式(4)および(5)より、式(6)が得られる。
【0102】
【数6】
Figure 0003747970
Figure 0003747970
【0103】
さらに、式(3)の残差方程式における学習データx、予測係数w、教師データy、および残差eの関係を考慮すると、式(6)から、次のような正規方程式を得ることができる。
【0104】
【数7】
Figure 0003747970
Figure 0003747970
【0105】
式(7)の正規方程式は、求めるべき予測係数wの数と同じ数だけたてることができ、従って、式(7)を解くことで、最適な予測係数wを求めることができる。なお、式(7)を解くにあたっては、例えば、掃き出し法(Gauss-Jordanの消去法)などを適用することが可能である。
【0106】
以上のようにして、最適な予測係数wを求め、さらに、その予測係数wを用い、式(1)により、元の画像の画素値yに近い予測値E[y]を求めるのが適応処理であり(広義には、あらかじめ予測係数wを求めておき、その予測係数wを用いて、予測値E[y]を求めることも、適応処理に含まれるものとする)、この適応処理が、適応処理回路46において行われるようになされている。
【0107】
なお、適応処理は、間引かれた画像には含まれていない、元の画像に含まれる成分が再現される点で、補間処理とは異なる。即ち、適応処理では、式(1)だけを見る限りは、いわゆる補間フィルタを用いての補間処理と同一であるが、その補間フィルタのタップ係数に相当する予測係数wが、教師データyを用いての、いわば学習により求められるため、元の画像に含まれる成分を再現することができる。このことから、適応処理は、いわば画像の創造作用がある処理ということができる。
【0108】
次に、図11のフローチャートを参照して、図8のローカルデコード部22の処理について説明する。
【0109】
ローカルデコード部22においては、まず最初に、ステップS20において、線形補間回路40によって、圧縮部21からの補正データを用いて線形補間が行われることにより、補間データが求められ、予測値計算用ブロック化回路42に供給される。
【0110】
そして、ステップS21において、圧縮部21が出力する補正データまたは線形補間回路40が出力する補間データが、クラス分類用ブロック化回路41または予測値計算用ブロック化回路42において、それぞれブロック化される。
【0111】
即ち、上述したように、クラス分類用ブロック化回路41において、補正データが、ある注目画素を中心とする3×3画素のクラス分類用ブロックにブロック化され、クラス分類適応処理回路43に供給されるとともに、予測値計算用ブロック化回路42において、補間データが、注目画素を中心とする25画素の予測値計算用ブロックにブロック化され、やはり、クラス分類適応処理回路43に供給される。
【0112】
クラス分類適応処理回路43には、上述したように、クラス分類用ブロックおよび予測値計算用ブロックの他、元の画像データが供給されるようになされており、クラス分類用ブロックはADRC処理部44に、予測値計算用ブロックおよび元の画像データは適応処理回路46に供給されるようになされている。
【0113】
ADRC処理回路44は、クラス分類用ブロックを受信すると、ステップS22において、そのクラス分類用ブロックに対して、例えば、1ビットのADRC(1ビットで再量子化を行うADRC)処理を施し、これにより、補正データを、1ビットに変換(符号化)して、クラス分類回路45に出力する。クラス分類回路45は、ステップS23において、ADRC処理が施されたクラス分類用ブロックに対して、クラス分類処理を施し、そのクラス分類用ブロックに含まれる注目画素が属するクラスを判定する。このクラスの判定結果は、クラス情報として、適応処理回路46に供給される。
【0114】
なお、本実施の形態においては、1ビットのADRC処理が施された3×3の9画素で構成されるクラス分類用ブロックに対して、クラス分類処理が施されるので、各クラス分類用ブロックは、512(=(219)のクラスのうちのいずれかに分類されることになる。
【0115】
そして、ステップS24に進み、適応処理回路46において、クラス分類回路45からのクラス情報に基づいて、各クラスごとに適応処理が施され、これにより、予測係数および元の画像データの予測値が算出される。
【0116】
即ち、本実施の形態においては、例えば、ある1つの補正データに注目した場合に、その注目補正データに対応する画素(注目画素)と、その画素の周りに隣接する8個の画素の、合計9個の画素についての予測値および予測係数が、注目補正データを中心とする25画素の補間データでなる予測値計算用ブロックを用いて、適応処理が行われることにより算出される。
【0117】
具体的には、例えば、いま、図7に示した画素X33を注目画素とし、この注目画素X33を中心とする3×3の画素(間引き後の画素)についての補正データX22,X23,X24,X32,X33,X34,X42,X43,X44でなるクラス分類用ブロックに基づいてクラス分類が行われ、これにより、注目画素X33についてのクラス情報Cが、クラス分類回路45から出力されたとする。
【0118】
さらに、予測値計算用ブロックとして、注目画素X33を中心とする、図7で点線で囲んで示す25画素(間引き後の画素を補間して得られた画素)についての補間データ(補正データX23,X32,X33,X34,X43を含む25の補間データ)でなる予測値計算用ブロックが、予測値計算用ブロック化回路42から出力されたものとする。
【0119】
この場合、まず、予測値計算用ブロックを構成する補間データを、学習データとするとともに、元の画像における、補間データ(補正データ)X33を中心とする3×3画素(図7において四角形で囲んである部分)の画素値Y33(1)乃至Y33(9)を、教師データとして、式(7)に示した正規方程式がたてられる。
【0120】
さらに、クラス情報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)が算出される。
【0121】
そして、予測値計算用ブロックを構成する25の補間データを、x1,x2,・・・,x25と表すとき、予測値E[Y33(k)]は、式(1)に対応する次式にしたがって求められる。
【0122】
Figure 0003747970
【0123】
ステップS24において、以上のようにして9個の予測値および25×9個の予測係数が求められると、予測値は誤差算出部23に、予測係数は判定部24に、それぞれ出力され、ステップS21に戻り、まだ注目画素とされていない画素(間引き後の画素)を新たに注目画素として、以下同様の処理が繰り返される。
【0124】
次に、図12は、図3の誤差算出部23の構成例を示している。
【0125】
ブロック化回路51には、元の画像データが供給されるようになされており、そこでは、ブロック化回路51は、その画像データを、ローカルデコード部22から出力される予測値に対応する9個単位でブロック化し、その結果得られる3×3画素のブロック(例えば、図7に実線の四角形で囲んで示すような3×3画素のブロック)を、自乗誤差算出回路52に出力するようになされている。自乗誤差算出部52には、上述したように、ブロック化回路51からブロックが供給される他、ローカルデコード部22から予測値が、9個単位(3×3画素のブロック単位)で供給されるようになされており、自乗誤差算出回路52は、原画像に対する、予測値の予測誤差としての自乗誤差を算出し、積算部55に供給するようになされている。
【0126】
即ち、自動誤差算出回路は52は、演算器53および54で構成されている。演算器53は、ブロック化回路51からのブロック化された画像データそれぞれから、対応する予測値を減算し、その減算値を、演算器54に供給するようになされている。演算器54は、演算器53の出力(元の画像データと予測値との差分)を自乗し、積算部55に供給するようになされている。
【0127】
積算部55は、自乗誤差算出回路52から自乗誤差を受信すると、メモリ56の記憶値を読み出し、その記憶値と自乗誤差とを加算して、再び、メモリ56に供給して記憶させることを繰り返すことで、自乗誤差の積算値(誤差分散)を求めるようになされている。さらに、積算部55は、所定量(例えば、1フレーム分など)についての自乗誤差の積算が終了すると、その積算値を、メモリ56から読み出し、誤差情報として、判定部24に供給するようになされている。メモリ56は、1フレームについての処理が終了するごとに、その記憶値をクリアしながら、積算部55の出力値を記憶するようになされている。
【0128】
次に、その動作について、図13のフローチャートを参照して説明する。誤差算出部23では、まず最初に、ステップS31において、メモリ56の記憶値が、例えば0にクリアされ、ステップS32に進み、ブロック化回路51において、画像データが、上述したようにブロック化され、その結果得られるブロックが、自乗誤差算出回路52に供給される。自乗誤差算出回路52では、ステップS33において、ブロック化回路51から供給されるブロックを構成する、元の画像の画像データと、ローカルデコード部22から供給される予測値との自乗誤差が算出される。
【0129】
即ち、ステップS33では、演算器53において、ブロック化回路51より供給されたブロック化された画像データそれぞれから、対応する予測値が減算され、演算器54に供給される。さらに、ステップS33では、演算器54において、演算器53の出力が自乗され、積算部55に供給される。
【0130】
積算部55は、自乗誤差算出回路52から自乗誤差を受信すると、ステップS34において、メモリ56の記憶値を読み出し、その記憶値と自乗誤差とを加算することで、自乗誤差の積算値を求める。積算部55において算出された自乗誤差の積算値は、メモリ56に供給され、前回の記憶値に上書きされることで記憶される。
【0131】
そして、積算部55では、ステップS35において、所定量としての、例えば、1フレーム分についての自乗誤差の積算が終了したかどうかが判定される。ステップS35において、1フレーム分についての自乗誤差の積算が終了していないと判定された場合、ステップS32に戻り、再び、ステップS32からの処理を繰り返す。また、ステップS35において、1フレーム分についての自乗誤差の積算が終了したと判定された場合、ステップS36に進み、積算部55は、メモリ56に記憶された1フレーム分についての自乗誤差の積算値を読み出し、誤差情報として、判定部24に出力する。そして、ステップS31に戻り、再び、ステップS31からの処理を繰り返す。
【0132】
従って、誤差算出部23では、左からi番目で、上からj番目の、元の画像データをYij(k)とするとともに、その予測値をE[Yij(k)]とするとき、次式にしたがった演算が行われることで、誤差情報Qが算出される。
【0133】
Q=Σ(Yij(k)−E[Yij(k)])2
但し、Σは、1フレーム分についてのサメーションを意味する。
【0134】
次に、図14は、図3の判定部24の構成例を示している。
【0135】
予測係数メモリ61は、ローカルデコード部22から供給される予測係数を記憶するようになされている。補正データメモリ62は、圧縮部21から供給される補正データを記憶するようになされている。
【0136】
なお、補正データメモリ62は、圧縮部21において、圧縮データが新たに補正され、これにより、新たな補正データが供給された場合には、既に記憶している補正データ(前回の補正データ)に代えて、新たな補正データを記憶するようになされている。また、このように補正データが、新たなものに更新されるタイミングで、ローカルデコード部22からは、その新たな補正データに対応する、新たな予測係数のセットが出力されるが、予測係数メモリ61においても、このように新たな予測係数が供給された場合には、既に記憶している予測係数(前回の予測係数)に代えて、その新たな予測係数を記憶するようになされている。
【0137】
誤差情報メモリ63は、誤差算出部23から供給される誤差情報を記憶するようになされている。なお、誤差情報メモリ63は、誤差算出部23から、今回供給された誤差情報の他に、前回供給された誤差情報も記憶するようになされている(新たな誤差情報が供給されても、さらに新たな誤差情報が供給されるまでは、既に記憶している誤差情報を保持するようになされている)。なお、誤差情報メモリ63は、新たなフレームについての処理が開始されるごとにクリアされるようになされている。
【0138】
比較回路64は、誤差情報メモリ63に記憶された今回の誤差情報と、所定の閾値εとを比較し、さらに、必要に応じて、今回の誤差情報と前回の誤差情報との比較も行うようになされている。比較回路64における比較結果は、制御回路65に供給されるようになされている。
【0139】
制御回路65は、比較回路64における比較結果に基づいて、補正データメモリ62に記憶された補正データを、元の画像の符号化結果とすることの適正(最適)さを判定し、最適でないと認識(判定)した場合には、新たな補正データの出力を要求する制御信号を、圧縮部21(補正回路32)(図5)に供給するようになされている。また、制御回路65は、補正データメモリ62に記憶された補正データを、元の画像の符号化結果とすることが最適であると認識した場合には、予測係数メモリ61に記憶されている予測係数を読み出し、多重化部25に出力するとともに、補正データメモリ62に記憶されている補正データを読み出し、最適圧縮データとして、やはり多重化部25に供給するようになされている。さらに、この場合、制御回路65は、1フレームの画像についての符号化を終了した旨を表す制御信号を、圧縮部21に出力し、これにより、上述したように、圧縮部21に、次のフレームについての処理を開始させるようになされている。
【0140】
次に、図15を参照して、判定部24の動作について説明する。判定部24では、まず最初に、ステップS41において、誤差算出部23から誤差情報を受信したかどうかが、比較回路64によって判定され、誤差情報を受信していないと判定された場合、ステップS41に戻る。また、ステップS41において、誤差情報を受信したと判定された場合、即ち、誤差情報メモリ63に誤差情報が記憶された場合、ステップS42に進み、比較回路64において、誤差情報メモリ63に、いま記憶された誤差情報(今回の誤差情報)と、所定の閾値εとが比較され、いずれが大きいかが判定される。
【0141】
ステップS42において、今回の誤差情報が、所定の閾値ε以上であると判定された場合、比較回路64において、誤差情報メモリ63に記憶されている前回の誤差情報が読み出される。そして、比較回路64は、ステップS43において、前回の誤差情報と、今回の誤差情報とを比較し、いずれが大きいかを判定する。
【0142】
ここで、1フレームについての処理が開始され、最初に誤差情報が供給されたときには、誤差情報メモリ63には、前回の誤差情報は記憶されていないので、この場合には、判定部24においては、ステップS43以降の処理は行われず、制御回路65において、所定の初期アドレスを出力するように、補正回路32(図5)を制御する制御信号が出力されるようになされている。
【0143】
ステップS43において、今回の誤差情報が、前回の誤差情報以下であると判定された場合、即ち、圧縮データの補正を行うことにより誤差情報が減少した場合、ステップS44に進み、制御回路65は、補正値△を、前回と同様に変化させるように指示する制御信号を、補正回路32に出力し、ステップS41に戻る。また、ステップS43において、今回の誤差情報が、前回の誤差情報より大きいと判定された場合、即ち、圧縮データの補正を行うことにより誤差情報が増加した場合、ステップS45に進み、制御回路65は、補正値△を、前回と逆に変化させるように指示する制御信号を、補正回路32に出力し、ステップS41に戻る。
【0144】
なお、減少し続けていた誤差情報が、あるタイミングで上昇するようになったときは、制御回路65は、補正値△を、いままでの場合の、例えば1/2の大きさで、前回と逆に変化させるように指示する制御信号を出力するようになされている。
【0145】
そして、ステップS41乃至S45の処理を繰り返すことにより、誤差情報が減少し、これにより、ステップS42において、今回の誤差情報が、所定の閾値εより小さいと判定された場合、ステップS46に進み、制御回路65は、予測係数メモリ61に記憶されている予測係数を読み出すとともに、補正データメモリ62に記憶されている補正データを読み出し、多重化部25に供給して、処理を終了する。
【0146】
その後は、次のフレームについての誤差情報が供給されるのを待って、再び、図15に示すフローチャートにしたがった処理を繰り返す。
【0147】
なお、補正回路32には、圧縮データの補正は、1フレームすべての圧縮データについて行わせるようにすることもできるし、その一部の圧縮データについてだけ行わせるようにすることもできる。一部の圧縮データについてだけ補正を行う場合においては、制御回路65に、例えば、誤差情報に対する影響の強い画素を検出させ、そのような画素についての圧縮データだけを補正するようにすることができる。誤差情報に対する影響の強い画素は、例えば、次のようにして検出することができる。即ち、まず最初に、間引き後に残った画素についての圧縮データをそのまま用いて処理を行うことにより、その誤差情報を得る。そして、間引き後に残った画素についての圧縮データを、1つずつ、同一の補正値△だけ補正するような処理を行わせる制御信号を、制御回路65から補正回路32に出力し、その結果得られる誤差情報を、圧縮データをそのまま用いた場合に得られた誤差情報と比較し、その差が、所定値以上となる画素を、誤差情報に対する影響の強い画素として検出すれば良い。
【0148】
以上のように、誤差情報を所定の閾値εより小さくする(以下にする)まで、圧縮データの補正が繰り返され、誤差情報が所定の閾値εより小さくなったときにおける補正データが、画像の符号化結果として出力されるので、受信装置4(図1)においては、間引き後の画像を構成する画素の画素値を、元の画像を復元するのに最も適当な値にした補正データから、原画像と同一(ほぼ同一)の復号画像を得ることが可能となる。
【0149】
また、画像は、間引き処理により圧縮される他、ADRC処理およびクラス分類適応処理などによっても圧縮されるため、非常に高圧縮率の符号化データを得ることができる。なお、送信装置1における、以上のような符号化処理は、間引きによる圧縮処理と、クラス分類適応処理とを、いわば有機的に統合して用いることにより、高能率圧縮を実現するものであり、このことから統合符号化処理ということができる。
【0150】
次に、図16は、図1の受信装置4の構成例を示している。
【0151】
受信機/再生装置71においては、記録媒体2に記録された符号化データが再生され、または伝送路3を介して伝送されてくる符号化データが受信され、分離部72に供給される。分離部72では、符号化データが、補正データと予測係数に分離され、補正データは、クラス分類用ブロック化回路73および線形補間回路78に供給され、予測係数は、予測回路76に供給される。
【0152】
クラス分類用ブロック化回路73、ADRC処理回路74、クラス分類回路75、予測値計算用ブロック化回路77、または線形補間回路78は、図8におけるクラス分類用ブロック化回路41、ADRC処理回路44、クラス分類回路45、予測値計算用ブロック化回路42、または線形補間回路40それぞれと同様に構成されており、従って、これらのブロックにおいては、図8における場合と同様の処理が行われ、これにより、予測値計算用ブロック化回路77からは予測値計算用ブロックが出力され、また、クラス分類回路75からはクラス情報が出力される。これらの予測値計算用ブロックおよびクラス情報は、予測回路76に供給される。
【0153】
予測回路76では、クラス情報に対応した予測係数と、予測値計算用ブロック化回路77から供給される予測値計算用ブロックを構成する補間データとを用い、式(1)にしたがって予測値が算出され、そのような予測値で構成される1フレームの画像が、復号画像として出力される。この復号画像は、上述したように、元の画像とほぼ同一の画像となる。
【0154】
なお、受信側においては、図16に示すような受信装置4でなくても、間引きされた画像を単純な補間により復号する装置により、予測係数を用いずに、通常の補間を行うことで復号画像を得ることができる。但し、この場合に得られる復号画像は、画質(解像度)の劣化したものとなる。
【0155】
ところで、図8に示したローカルデコード部22においては、まず予測係数を求め、これを用いて、予測値を算出するようにしたが、ローカルデコード部22では、予測係数を求めずに、あらかじめ求められた予測係数を用いて、予測値を算出するようにすることが可能である。
【0156】
即ち、図17は、図3のローカルデコード部22の他の構成例を示している。なお、図中、図8における場合と対応する部分については、同一の符号を付してある。即ち、図17のローカルデコード部22は、適応処理回路46に代えて、予測係数ROM81および予測回路82が設けられている他は、図8における場合と同様に構成されている。
【0157】
予測係数ROM81は、あらかじめ学習(後述する)により求められたクラスごとの予測係数を記憶しており、クラス分類回路44が出力するクラス情報を受信し、そのクラス情報に対応するアドレスに記憶されている予測係数を読み出して、予測回路82に供給する。
【0158】
予測回路82では、予測値計算用ブロック化回路42からの予測値計算用ブロックと、予測係数ROM81からの予測係数とを用いて、式(1)(具体的には、例えば、式(8))に示した線形1次式が計算され、これにより、元の画像の予測値が算出される。
【0159】
従って、図17のクラス分類適応処理回路43によれば、元の画像を用いずに、その予測値を算出することができる。
【0160】
次に、図18は、図17の予測係数ROM81に記憶されている予測係数を得るための学習を行う画像処理装置の構成例を示している。
【0161】
間引き回路91および教師用ブロック化回路92には、あらゆる画像に適用可能な予測係数を得るための学習用の画像データ(学習用画像)が供給されるようになされている。
【0162】
間引き回路91は、例えば、図5における間引き回路31と同様に、入力された画像データを1/9に間引くことにより、圧縮データを生成し、クラス分類用ブロック化回路101および線形補間回路102に供給する。
【0163】
クラス分類用ブロック化回路101、ADRC処理回路93、またはクラス分類回路94では、図17のクラス分類用ブロック化回路41、ADRC処理回路44、またはクラス分類回路45における場合とそれぞれ同様の処理が行われ、これにより得られるクラス情報が、クラス分類回路94から、スイッチ95の端子aを介して、学習データメモリ96および教師データメモリ98に供給される。
【0164】
また、線形補間回路102または学習用ブロック化回路103では、図17の線形補間回路40または予測値計算用ブロック化回路42における場合とそれぞれ同様の処理が行われ、これにより、学習ブロック化回路103は、図17の予測値計算用ブロック化回路42が出力する予測値計算用ブロックと同様に構成されるブロックを構成し、学習用ブロックとして、学習データメモリ96に供給する。
【0165】
一方、教師用ブロック化回路92では、入力された画像データから、例えば、3×3の9画素で構成されるブロックが生成され、この9画素で構成されるブロックが、教師用ブロックとして、教師データメモリ98に供給される。即ち、例えば、学習用ブロック化回路103において、図7で点線で囲んで示した、画素X33を注目画素とする予測値計算用ブロックと同一の学習用ブロックが構成されるとき、教師用ブロック化回路92では、図7で実線で囲んで示した、3×3の9画素で構成される教師用ブロックが、原画像(学習用画像)から構成され、教師データメモリ98に供給される。
【0166】
学習データメモリ96または教師データメモリ98では、そこに供給されるクラス情報に対応するアドレスに、学習用ブロック化回路91からの学習用ブロックまたは教師用ブロック化回路92からの教師用ブロックが、それぞれ記憶される。
【0167】
従って、学習データメモリ96において、例えば、図7で点線で囲んで示した25画素(補間データ)でなるブロックが学習用ブロックとして、あるアドレスに記憶されたとすると、教師データメモリ98においては、そのアドレスと同一のアドレスに、同図で実線で囲んで示した3×3画素(元の画像データ)のブロックが、教師用ブロックとして記憶される。
【0168】
以下、同様の処理が、あらかじめ用意されたすべての学習用の画像について繰り返され、これにより、学習用ブロックと、図17のローカルデコード部22において、その学習用ブロックを構成する25画素と同一の位置関係を有する25の補間データで構成される予測値計算用ブロックを用いて予測値が求められる9画素で構成される教師用ブロックとが、学習用データメモリ96と、教師用データメモリ98とにおいて、同一のアドレスに記憶される。
【0169】
なお、学習用データメモリ96と教師用データメモリ98においては、同一アドレスに複数の情報を記憶することができるようになされており、これにより、同一アドレスには、複数の学習用ブロックと教師用ブロックを記憶することができるようになされている。
【0170】
学習用画像すべてについての学習用ブロックと教師用ブロックとが、学習データメモリ96と教師データメモリ98に記憶されると、端子aを選択していたスイッチ95が、端子bに切り替わり、これにより、カウンタ97の出力が、アドレスとして、学習データメモリ96および教師データメモリ98に供給される。カウンタ97は、所定のクロックをカウントし、そのカウント値を出力しており、学習データメモリ96または教師データメモリ98では、そのカウント値に対応するアドレスに記憶された学習用ブロックまたは教師用ブロックが読み出され、演算回路99に供給される。
【0171】
従って、演算回路99には、カウンタ97のカウント値に対応するクラスの学習用ブロックのセットと、教師用ブロックのセットとが供給される。
【0172】
演算回路99は、あるクラスについての学習用ブロックのセットと、教師用ブロックのセットとを受信すると、それらを用いて、最小自乗法により、誤差を最小とする予測係数を算出する。
【0173】
即ち、例えば、いま、学習用ブロックを構成する画素の画素値(補間データ)を、x1,x2,x3,・・・とし、求めるべき予測係数をw1,w2,w3,・・・とするとき、これらの線形1次結合により、教師用ブロックを構成する、ある画素の画素値yを求めるには、予測係数w1,w2,w3,・・・は、次式を満たす必要がある。
【0174】
y=w11+w22+w33+・・・
【0175】
そこで、演算回路99では、同一クラスの学習用ブロックと、対応する教師用ブロックとから、真値yに対する、予測値w11+w22+w33+・・・の自乗誤差を最小とする予測係数w1,w2,w3,・・・が、上述した式(7)に示す正規方程式をたてて解くことにより求められる。
【0176】
演算回路99において求められた、クラスごとの予測係数は、メモリ100に供給される。メモリ100には、演算回路99からの予測係数の他、カウンタ97からカウント値が供給されており、これにより、メモリ100においては、演算回路99からの予測係数が、カウンタ97からのカウント値に対応するアドレスに記憶される。
【0177】
以上のようにして、メモリ100には、各クラスに対応するアドレスに、そのクラスのブロックの画素を予測するのに最適な予測係数が記憶される。
【0178】
図17の予測係数ROM81には、以上のようにしてメモリ100に記憶された予測係数が記憶されている。
【0179】
なお、予測係数ROM81には、各クラスに対応するアドレスに、予測係数を記憶させるのではなく、教師用ブロックを構成する画素値の平均値などを記憶させるようにすることが可能である。この場合、クラス情報が与えられると、そのクラスに対応する画素値が出力されることになり、図17のローカルデコード部22において、予測値計算用ブロック化回路42および予測回路82を設けずに済むようになる。
【0180】
また、図17に示したようにローカルデコード部22を構成する場合においては、図16に示した受信装置4は、受信機/再生装置71の後段を、図17のローカルデコード部22と同様に構成するようにすれば良い。
【0181】
以上、本発明を適用した画像処理装置について説明したが、このような画像処理装置は、例えば、NTSC方式などの標準方式のテレビジョン信号を符号化する場合の他、データ量の多い、いわゆるハイビジョン方式のテレビジョン信号などを符号化する場合に、特に有効である。また、本発明は、いわゆる階層符号化を行う場合などにも適用可能である。
【0182】
なお、本実施の形態においては、誤差情報として、誤差の自乗和を用いるようにしたが、誤差情報としては、その他、例えば、誤差の絶対値和や、その3乗以上したものの和などを用いるようにすることが可能である。いずれを誤差情報として用いるかは、例えば、その収束性などに基づいて決定するようにすることが可能である。
【0183】
また、本実施の形態では、誤差情報が、所定の閾値ε以下になるまで、圧縮データの補正を繰り返し行うようにしたが、圧縮データの補正の回数には、上限を設けるようにすることも可能である。
【0184】
さらに、本実施の形態においては、1フレームの画像からブロックを構成するようにしたが、ブロックは、その他、例えば、時系列に連続する複数フレームにおける、同一位置の画素から構成するようにすることも可能である。
【0185】
また、本実施の形態では、圧縮部21において、画像を、単純に間引き、即ち、3×3画素のブロックにおける中心画素を抽出し、これを圧縮データとするようにしたが、圧縮部21には、その他、例えば、ブロックを構成する9画素の平均値などを求めさせ、その平均値を、ブロックにおける中心画素の画素値とすることにより、その画素数を少なくし(間引き)、これを圧縮データとするようにすることも可能である。
【0186】
さらに、本実施の形態では、補間データを、線形補間により求めるようにしたが、補間データは、その他、例えば、非線形な補間などによって求めることも可能である。
【0187】
また、本実施の形態では、補正データを用いて線形補間を行うことにより、補間データを求め、この補間データに対して適応処理を施すようにしたが、適応処理は、補正データを対象に施すことも可能である。但し、補正データは、図7に●印で示したように、間引き後の画素における画素値であり、いわば疎らなものである。これに対して、補間データは、補正データを用いて、図7に○印で示した画素の画素値を補間したものであり、いわば密のものである。従って、補正データによって構成される画像に含まれない成分は、それを用いて線形補間を行うことにより得られる補間データにも含まれないが、補間データは密であることから、例えば、原画像の画素値の変化が比較的急峻な場合などには、疎である補正データよりも、密な補間データに対して適応処理を施して予測値を求める方が、より予測誤差の小さいものを得ることができる。
【0188】
さらに、本実施の形態では、圧縮データを補正し、補正データを求め、さらに、補正データを用いて補間データを求めて適応処理を施し、その結果得られる予測値の予測誤差に基づいて、補正量を変えて、圧縮データを補正することを繰り返すようにしたが、その他、例えば、適応処理により得られた予測値を間引き、その間引きにより得られたデータを、予測値の予測誤差に基づいて補正し、これを補正データとして用いるようにすることも可能である。
【0189】
また、本実施の形態では、図7に点線で囲んで示したように、注目画素を中心とするひし形状の範囲内にある25画素の補間データにより、予測値計算用ブロックを構成するようにしたが、その他、予測値計算用ブロックは、例えば、図19に示すように、注目画素を中心とするひし形状の範囲内にある5画素の補間データや、正方形状の範囲内にある9画素の補間データ、ひし形状の範囲内にある13画素の補間データ、正方形状の範囲内にある49画素の補間データなどで構成することも可能である。
【0190】
さらに、本実施の形態では、基本的に、補正データに対応する画素(間引き後の画素)を注目画素とするようにしたが、補正データ以外の補間データに対応する画素(線形補間により得られる画素)を、注目画素とすることも可能である。
【0191】
また、本実施の形態では、9画素で構成されるクラス分類用ブロックに対して、1ビットのADRC処理を施し、その処理結果を、512(=29)のクラスにクラス分類するようにしたが、クラス分類は、その他、例えば、クラス分類用ブロックのアクティビティおよびダイナミックレンジなどに基づいて行うことも可能である。
【0192】
即ち、いま、例えば、図20に●印で示す、補正データに対応する9画素でクラス分類用ブロックが構成される場合において、その中心の画素(注目画素)と、周辺の8画素それぞれとの差分の絶対値をアクティビティと定義すると、クラス分類用ブロックで、アクティビティが最も大きい方向は、同図に矢印で示す8方向のいずれかとなる。従って、この場合、アクティビティだけを用いると、注目画素を8クラスのうちのいずれかに分類することができる。また、クラス分類用ブロックを構成する9画素の画素値(補正データ)の中の最大値と最小値との差分を、そのクラス分類用ブロックのダイナミックレンジDRと定義し、このダイナミックレンジDRによって、4つの場合分けをするとすると、注目画素を4つのクラスのうちのいずれかに分類することができる。このようなアクティビティおよびダイナミックレンジの両方に基づいて、クラス分類用ブロックのクラス分類を行う場合、そのクラス分類用ブロックは、32(=8×4)のクラスに分類される。
【0193】
なお、ダイナミックレンジDRによる場合分けの方法としては、例えば、ダイナミックレンジDRを非線形量子化する方法などがある。即ち、例えば、ダイナミックレンジDRが8ビットで表されるとすると、その値が、例えば、0以上8未満、8以上24未満、24以上56未満、56以上255未満のうちのいずれであるかによって、4通りに場合分けすることができる。
【0194】
クラス分類は、以上ようなアクティビティおよびダイナミックレンジの組合せの他、例えば、エッジの検出結果とダイナミックレンジとの組合せや、相関方向とダイナミックレンジとの組合せなどに基づいても行うことが可能である。
【0195】
さらに、本実施の形態では、1フレームの予測誤差の総和(正確には、予測誤差の2乗和)である誤差情報Qを求め、その誤差情報Qに対応して、1フレームの圧縮データを補正するようにしたが、圧縮データの補正は、このように1フレーム単位で行うのではなく、間引き後の画素ごとに行うようにすることも可能である。
【0196】
即ち、この場合、図21のフローチャートに示すように、まず最初に、圧縮部21は、ステップS51において、図4のステップS1における場合と同様に、画像データを間引くことにより圧縮し、最初は、補正を行わずに、ローカルデコード部22および判定部24に出力する。ローカルデコード部22では、ステップS52において、間引き後の画素のうちの1つが注目画素として抽出され、ステップS53に進む。ステップS53では、ローカルデコード部22の線形補間回路40において、図22で●印で示す注目画素と、その周辺の8画素(間引き後の画素)との画素値である補正データ(最初は、画像データを、単純に間引いた圧縮データそのもの)を用いて線形補間が行われることにより、予測値計算用ブロックを構成するのに必要な画素についての補間データが生成され、ステップS54に進み、クラス分類適応処理回路43において、その予測値計算用ブロックだけを用いて、図22で実線で囲んで示す注目画素と、その周辺の8画素(線形補間後の画素)との合計9画素についての予測値と予測係数が算出される。
【0197】
ステップS54で求められた予測値または予測係数は、ローカルデコード部22から、誤差算出部23または判定部24にそれぞれ出力される。
【0198】
誤差算出部23は、ローカルデコード部22から、9画素についての予測値を受信すると、ステップS55において、元の画像データに対する、ローカルデコード部22からの9画素についての予測値の予測誤差をそれぞれ算出し、判定部24に供給する。判定部24は、誤差算出部23から9画素についての予測誤差を受信すると、ステップS56において、例えば、その9画素についての予測誤差のうちの最大値(以下、適宜、最大予測誤差という)を検出し、その最大予測誤差が所定の閾値未満であるかどうかを判定する。
【0199】
ステップS56において、最大予測誤差が所定の閾値未満でないと判定された場合、ステップS57に進み、判定部24は、圧縮部21を制御し、これにより、圧縮データのうち、注目画素についてのものだけを補正させる。圧縮部21は、判定部24の制御にしたがって、注目画素についての圧縮データだけを補正し、その結果得られる補正データを、ローカルデコード部22および判定部24に出力する。そして、ステップS53に戻り、以下、同様の処理が繰り返される。
【0200】
従って、この場合、ステップS53では、補正された注目画素についての補正データと、前回の処理と同一の、周辺の8画素(間引き後の画素)についての補正データとを用いて線形補間が行われることにより、予測値計算用ブロックを構成するのに必要な画素についての補間データが生成される。
【0201】
一方、ステップS56において、最大予測誤差が所定の閾値未満であると判定された場合、判定部24は、所定の閾値未満の最大予測誤差が得られたときの、注目画素についての補正データを、最適圧縮データとして、予測係数とともに、多重化部25に出力し、ステップS58に進む。ステップS58では、間引き後の画素すべてを対象に処理を行ったかどうかが判定され、行っていないと判定された場合、ステップS52に戻り、まだ注目画素とされていない画素(間引き後の画素)を、新たに注目画素として、ステップS53以下の処理を繰り返す。
【0202】
また、ステップS58において、間引き後の画素すべてを注目画素として処理を行ったと判定された場合、ステップS59に進み、多重化部25において、いままでに判定部24から出力された最適圧縮データと予測係数とが多重化され、その結果得られる符号化データが出力されて、処理を終了する。
【0203】
以上のように、圧縮データの補正を1画素単位(注目画素単位)で行う場合、1フレーム単位で行う場合に比較して、予測誤差の収束性が向上すると考えられる。
【0204】
なお、上述の場合においては、9画素についての予測誤差のうちの最大値である最大予測誤差に基づいて、圧縮データの補正を行うようにしたが、圧縮データの補正は、その他、その9画素それぞれについての予測誤差の絶対値和などに基づいて行うことも可能である。
【0205】
【発明の効果】
請求項1に記載の画像符号化装置および請求項4に記載の画像符号化方法によれば、原画像を圧縮することにより得られる圧縮データが補正されて、補正データが出力され、補正データを用いて補間が行われることにより補間データが出力され、その補間データと所定の予測係数とに基づいて、原画像が予測されて、その予測値が出力され、原画像に対する、予測値の予測誤差が算出される。そして、予測誤差が、例えば、所定値以下になるなどして、補正データが適正となったときにおける、その補正データが、所定の予測係数とともに原画像の符号化結果として出力される。従って、その補正データと所定の予測係数とにより、原画像とほぼ同一の復号画像を得ることが可能となる。
【0206】
請求項5に記載の画像復号化装置および請求項6に記載の画像復号化方法によれば、符号化データが、原画像を圧縮することにより得られる圧縮データを補正して、補正データを出力し、補正データを用いて補間を行うことにより補間データを出力し、補間データと所定の予測係数とに基づいて、原画像を予測して、その予測値を出力し、原画像に対する、予測値の予測誤差を算出することを、予測誤差が所定値以下になるまで繰り返すことにより得られた、予測誤差が所定値以下になったときにおける補正データと、所定の予測係数とである場合において、その符号化データを用いて補間を行うことにより補間データが求められ、その補間データと所定の予測係数とに基づいて、原画像の予測値が算出される。従って、原画像とほぼ同一の復号画像を得ることが可能となる。
【0208】
請求項7に記載の画像符号化装置および請求項8に記載の画像符号化方法によれば、原画像を圧縮することにより得られる圧縮データが補正されて、補正データが出力され、補正データと所定の予測係数とに基づいて、原画像が予測されて、その予測値が出力され、原画像に対する、予測値の予測誤差が算出される。この場合において、予測値は、所定の注目画素を含む所定の範囲内の画素についての補正データと所定の予測係数とに基づいて算出され、予測値の予測誤差に対応して、所定の注目画素のみについての圧縮データが補正される。そして、予測誤差が、例えば、所定値以下になるなどして、補正データが適正となったときにおける、その補正データが、所定の予測係数とともに原画像の符号化結果として出力される。従って、その補正データと所定の予測係数とにより、原画像とほぼ同一の復号画像を得ることが可能となる。
【図面の簡単な説明】
【図1】本発明を適用した画像処理装置の一実施の形態の構成を示すブロック図である。
【図2】図1の送信装置1の構成例を示すブロック図である。
【図3】図2の送信装置1の機能的構成例を示すブロック図である。
【図4】図3の送信装置1の動作を説明するためのフローチャートである。
【図5】図3の圧縮部21の構成例を示すブロック図である。
【図6】図5の圧縮部21の動作を説明するためのフローチャートである。
【図7】図5の間引き回路31の処理を説明するための図である。
【図8】図3のローカルデコード部22の構成例を示すブロック図である。
【図9】クラス分類処理を説明するための図である。
【図10】ADRC処理を説明するための図である。
【図11】図8のローカルデコード部22の動作を説明するためのフローチャートである。
【図12】図3の誤差算出部23の構成例を示すブロック図である。
【図13】図12の誤差算出部23の動作を説明するためのフローチャートである。
【図14】図3の判定部24の構成例を示すブロック図である。
【図15】図14の判定部24の動作を説明するためのフローチャートである。
【図16】図1の受信装置4の構成例を示すブロック図である。
【図17】図3のローカルデコード部22の他の構成例を示すブロック図である。
【図18】図17の予測係数ROM81に記憶されている予測係数を算出する画像処理装置の一実施の形態の構成を示すブロック図である。
【図19】予測値計算用ブロックの構成例を説明するための図である。
【図20】クラス分類の方法を説明するための図である。
【図21】圧縮データの補正を、1画素単位で行う場合の処理を説明するためのフローチャートである。
【図22】圧縮データの補正を、1画素単位で行う場合の処理を説明するための図である。
【符号の説明】
1 送信装置, 2 記録媒体, 3 伝送路, 4 受信装置, 11 I/F, 12 ROM, 13 RAM, 14 CPU, 15 外部記憶装置, 16 送信機/記録装置, 21 圧縮部, 22 ローカルデコード部, 23 誤差算出部, 24 判定部, 25 多重化部, 30 ダウンフィルタ, 31 間引き回路, 32 補正回路, 40 線形補間回路, 41 クラス分類用ブロック化回路, 42 予測値計算用ブロック化回路, 43 クラス分類適応処理回路, 44 ADRC処理回路, 45 クラス分類回路, 46 適応処理回路, 51 ブロック化回路, 52 自乗誤差算出回路, 53,54 演算器, 55 積算部, 56 メモリ, 61 予測係数メモリ, 62 補正データメモリ, 63 誤差情報メモリ, 64 比較回路, 65 制御回路, 71 受信機/再生装置, 72 分離部, 73 クラス分類用ブロック化回路, 74 ADRC処理回路, 75 クラス分類回路, 76 予測回路, 77 予測値計算用ブロック化回路, 78 線形補間回路, 81 予測係数ROM, 82 予測回路, 91 間引き回路, 92 教師用ブロック化回路, 93 ADRC処理回路, 94 クラス分類回路, 95 スイッチ, 96 学習データメモリ, 97 カウンタ, 98 教師データメモリ, 99 演算回路, 100 メモリ, 101クラス分類用ブロック化回路, 102 線形補間回路, 103 学習用ブロック化回路[0001]
BACKGROUND OF THE INVENTION
  The present invention relates to an image encoding device, an image encoding method, an image decoding device, and an image decoding method.To the lawRelated. In particular, an image encoding apparatus, an image encoding method, an image decoding apparatus, and an image encoding method that perform compression encoding by thinning out an image so that a decoded image that is substantially the same as an original image is obtained.To the lawRelated.
[0002]
[Prior art]
Conventionally, various methods for compressing an image have been proposed. One of them is a method for compressing an image by thinning out its pixels.
[0003]
[Problems to be solved by the invention]
However, when the thinned and compressed image is simply expanded by interpolation, the resolution of the resulting decoded image deteriorates.
[0004]
Here, as a cause of the deterioration of the resolution of the decoded image in this way, first, the thinned image does not contain the high frequency component included in the original image, and secondly, the image after the thinning is performed. It is conceivable that the pixel values of the pixels constituting the are not necessarily suitable for restoring the original image.
[0005]
The present invention has been made in view of such circumstances, and enables compression coding by thinning out an image so that a decoded image that is the same (substantially the same) as the original image is obtained. is there.
[0006]
[Means for Solving the Problems]
  An image encoding apparatus according to claim 1, a correction unit that corrects compressed data obtained by compressing an original image and outputs correction data, an interpolation unit that performs interpolation using the correction data, and an interpolation unit Interpolated data obtained as a result of interpolation byAnd a predetermined prediction coefficientA prediction means for predicting the original image and outputting the prediction value, a calculation means for calculating a prediction error of the prediction value for the original image, and a correction data output by the correction means based on the prediction error. Determining means for determining appropriateness;When the determination means determines that the correction data is not appropriate, the compressed data is corrected again by the correction means, and the determination means corrects the correctness of the correction data obtained as a result of the recorrection. If the data is determined to be correct,Correction dataWith a given prediction factorOutput means for outputting the result of encoding the original image.
[0007]
  The image encoding method according to claim 4, wherein the compressed data obtained by compressing the original image is corrected, corrected data is output, and interpolation data is output by performing interpolation using the corrected data. Interpolated dataAnd a predetermined prediction coefficientBased on the above, the original image is predicted, the prediction value is output, and the prediction error of the prediction value for the original image is calculated repeatedly until the prediction error becomes a predetermined value or less. The correction data whenWith a given prediction factorIt outputs as a result of encoding an original image.
[0008]
  The image decoding apparatus according to claim 5, wherein the encoded data is interpolated by correcting the compressed data obtained by compressing the original image, outputting the corrected data, and performing interpolation using the corrected data. Output data and interpolation dataAnd a predetermined prediction coefficientA prediction image obtained by predicting an original image, outputting the prediction value, and calculating a prediction error of the prediction value for the original image until the prediction error becomes a predetermined value or less. Correction data when the error falls below the specified valueAnd a predetermined prediction coefficientThe interpolation means for performing interpolation using the encoded data, and the interpolation data obtained as a result of the interpolation by the interpolation meansAnd a predetermined prediction coefficientCalculate the predicted value of the original image based onAnd output it as a decoded imageAnd a prediction means.
[0009]
  The image decoding method according to claim 6, wherein the encoded data is interpolated by correcting the compressed data obtained by compressing the original image, outputting the corrected data, and performing interpolation using the corrected data. Output data and interpolation dataAnd a predetermined prediction coefficientA prediction image obtained by predicting an original image, outputting the prediction value, and calculating a prediction error of the prediction value for the original image until the prediction error becomes a predetermined value or less. Correction data when the error falls below the specified valueAnd a predetermined prediction coefficientIf it is, the interpolation data is obtained by performing interpolation using the encoded data, and the interpolation dataAnd a predetermined prediction coefficientCalculate the predicted value of the original image based onAnd output it as a decoded imageIt is characterized by that.
[0011]
  Claim 7The image encoding device described in 1) corrects compressed data obtained by compressing an original image and outputs correction data; correction data;And a predetermined prediction coefficientA prediction means for predicting the original image and outputting the prediction value, a calculation means for calculating a prediction error of the prediction value for the original image, and a correction data output by the correction means based on the prediction error. Determining means for determining appropriateness;When the determination means determines that the correction data is not appropriate, the compressed data is corrected again by the correction means, and the determination means corrects the correctness of the correction data obtained as a result of the recorrection. If the data is determined to be correct,Correction dataWith a given prediction factorOutput means for outputting the result of encoding the original image, and the predicting means includes correction data for pixels within a predetermined range including a predetermined pixel of interest.And a predetermined prediction coefficientBased on the above, a predicted value is calculated, and the correction means corrects the compressed data for only a predetermined target pixel in accordance with the prediction error of the predicted value.
[0012]
  Claim 8The image encoding method described in 1) corrects compressed data obtained by compressing an original image, outputs corrected data, and outputs corrected data.And a predetermined prediction coefficientBased on the above, the original image is predicted, the prediction value is output, and the prediction error of the prediction value for the original image is calculated repeatedly until the prediction error becomes a predetermined value or less. The correction data whenWith a given prediction factorAn image encoding method for outputting as a result of encoding an original image, wherein a prediction value is corrected data for pixels within a predetermined range including a predetermined target pixelAnd a predetermined prediction coefficientAnd the compressed data for only a predetermined pixel of interest is corrected in accordance with the prediction error of the prediction value.
[0014]
  In the image encoding device according to the first aspect, the correcting means corrects the compressed data obtained by compressing the original image and outputs the corrected data. The interpolation unit performs interpolation using the correction data, and the prediction unit performs interpolation data obtained as a result of interpolation by the interpolation unit.And a predetermined prediction coefficientIs used to predict the original image and output the predicted value. The calculation means calculates a prediction error of the prediction value for the original image, and the determination means determines the appropriateness of the correction data output from the correction means based on the prediction error. The output means isWhen the determination means determines that the correction data is not appropriate, the compressed data is corrected again by the correction means, and the determination means corrects the correctness of the correction data obtained as a result of the recorrection. If the data is determined to be correct,Correction dataWith a given prediction factorThe result is output as the encoding result of the original image.
[0015]
  The image encoding method according to claim 4, wherein the compressed data obtained by compressing the original image is corrected, the corrected data is output, and the interpolation data is output by performing interpolation using the corrected data. , Interpolation dataAnd a predetermined prediction coefficientBased on the above, the original image is predicted, the prediction value is output, and the prediction error of the prediction value for the original image is calculated repeatedly until the prediction error becomes a predetermined value or less. The correction data whenWith a given prediction factorThe result is output as the encoding result of the original image.
[0016]
  In the image decoding device according to claim 5, the encoded data corrects the compressed data obtained by compressing the original image, outputs corrected data, and performs interpolation using the corrected data. Output interpolation data, interpolation dataAnd a predetermined prediction coefficientA prediction image obtained by predicting an original image, outputting the prediction value, and calculating a prediction error of the prediction value for the original image until the prediction error becomes a predetermined value or less. Correction data when the error falls below the specified value, With a given prediction factorThe interpolation means performs interpolation using the encoded data, and the prediction means obtains interpolation data obtained as a result of interpolation by the interpolation means.And a predetermined prediction coefficientCalculate the predicted value of the original image based onAnd output it as a decoded imageIt is made like that.
[0017]
  In the image decoding method according to claim 6, the encoded data is obtained by correcting compressed data obtained by compressing an original image, outputting corrected data, and performing interpolation using the corrected data. Output interpolation data, interpolation dataAnd a predetermined prediction coefficientA prediction image obtained by predicting an original image, outputting the prediction value, and calculating a prediction error of the prediction value for the original image until the prediction error becomes a predetermined value or less. Correction data when the error falls below the specified value, With a given prediction factorIn this case, interpolation data is obtained by performing interpolation using encoded data, and interpolation data is obtained.And a predetermined prediction coefficientCalculate the predicted value of the original image based onAnd output it as a decoded imageIt is made like that.
[0019]
  Claim 7In the image encoding device described in (1), the correcting means corrects the compressed data obtained by compressing the original image and outputs the corrected data. The prediction means is correction dataAnd a predetermined prediction coefficientBased on the above, the original image is predicted and the predicted value is output, and the calculating means calculates the prediction error of the predicted value for the original image. The determination means determines the appropriateness of the correction data output by the correction means based on the prediction error, and the output meansWhen the determination means determines that the correction data is not appropriate, the compressed data is corrected again by the correction means, and the determination means corrects the correctness of the correction data obtained as a result of the recorrection. If the data is determined to be correct,Correction dataWith a given prediction factorThe result is output as the encoding result of the original image. In this case, the prediction unit corrects the correction data for the pixels within a predetermined range including the predetermined target pixel.And a predetermined prediction coefficientBased on the above, a predicted value is calculated, and the correction means corrects the compressed data for only a predetermined pixel of interest corresponding to the prediction error of the predicted value.
[0020]
  Claim 8In the image encoding method described in the above, the compressed data obtained by compressing the original image is corrected, the corrected data is output, and the corrected dataAnd a predetermined prediction coefficientBased on the above, the original image is predicted, the prediction value is output, and the prediction error of the prediction value for the original image is calculated repeatedly until the prediction error becomes a predetermined value or less. The correction data whenWith a given prediction factorThe result is output as the encoding result of the original image. In this case, the prediction value is corrected data for pixels within a predetermined range including the predetermined target pixel.And a predetermined prediction coefficientIn accordance with the prediction error of the predicted value, the compressed data for only a predetermined pixel of interest is corrected.
[0022]
DETAILED DESCRIPTION OF THE INVENTION
In the following, embodiments of the present invention will be described, but before that, in order to clarify the correspondence between each means of the invention described in the claims and the following examples, each means will be described later. When the corresponding embodiment (however, an example) is added in parentheses to describe the features of the present invention, it is as follows.
[0023]
  In other words, the image encoding apparatus according to claim 1 is an image encoding apparatus that encodes an image, and compresses the original image by reducing the number of pixels (for example, as shown in FIG. 5). A thinning circuit 31), correction means for correcting the compressed data obtained by compressing the original image, and outputting correction data (for example, the correction circuit 32 shown in FIG. 5), and interpolation using the correction data. Interpolating means to be performed (for example, the linear interpolation circuit 40 shown in FIG. 8) and interpolation data obtained as a result of interpolation by the interpolating meansAnd a predetermined prediction coefficientBased on the above, a prediction means (for example, the class classification adaptive processing circuit 43 shown in FIG. 8) that predicts the original image and outputs the prediction value, and a calculation means that calculates a prediction error of the prediction value for the original image ( For example, an error calculation unit 23 shown in FIG. 3), a determination unit (for example, a determination unit 24 shown in FIG. 3) for determining the appropriateness of the correction data output from the correction unit based on the prediction error,When the determination means determines that the correction data is not appropriate, the compressed data is corrected again by the correction means, and the determination means corrects the correctness of the correction data obtained as a result of the recorrection. If the data is determined to be correct,Correction dataWith a given prediction factorOutput means for outputting the result of encoding the original image (for example, the determination unit 24 shown in FIG. 3)And multiplexing unit 25Etc.).
[0024]
  The image decoding device according to claim 5 is an image decoding device for decoding encoded data obtained by encoding an image, wherein the encoded data is compressed by reducing the number of pixels of the original image. The correction data obtained by compressing the original image is corrected, the correction data is output, the interpolation data is output by performing interpolation using the correction data, and the interpolation dataAnd a predetermined prediction coefficientA prediction image obtained by predicting an original image, outputting the prediction value, and calculating a prediction error of the prediction value for the original image until the prediction error becomes a predetermined value or less. Correction data when the error falls below the specified valueAnd a predetermined prediction coefficient, Interpolation means for performing interpolation using encoded data (for example, the linear interpolation circuit 78 shown in FIG. 16) and interpolation data obtained as a result of interpolation by the interpolation meansAnd a predetermined prediction coefficientCalculate the predicted value of the original image based onAnd output it as a decoded imageAnd prediction means (for example, the prediction circuit 76 shown in FIG. 16).
[0025]
  Claim 7Is an image encoding device that encodes an image, and compresses the original image by reducing the number of pixels (for example, the compression unit 21 shown in FIG. 3). A correction means for correcting the compressed data obtained by compressing the original image and outputting the corrected data (for example, the compression unit 21 shown in FIG. 3);And a predetermined prediction coefficientBased on the original image, a prediction means (for example, the local decoding unit 22 shown in FIG. 3) that outputs the prediction value, and a calculation means (for example, a prediction error of the prediction value for the original image) An error calculation unit 23 shown in FIG. 3), a determination unit (for example, the determination unit 24 shown in FIG. 3) for determining the appropriateness of the correction data output from the correction unit based on the prediction error,When the determination means determines that the correction data is not appropriate, the compressed data is corrected again by the correction means, and the determination means corrects the correctness of the correction data obtained as a result of the recorrection. If the data is determined to be correct,Correction dataWith a given prediction factorOutput means for outputting the result of encoding the original image (for example, the determination unit 24 shown in FIG. 3)And multiplexing unit 25Etc.), and the prediction means includes correction data for pixels within a predetermined range including a predetermined pixel of interest.And a predetermined prediction coefficientBased on the above, a predicted value is calculated, and the correction means corrects the compressed data for only a predetermined pixel of interest corresponding to the prediction error of the predicted value.
[0026]
Of course, this description does not mean that the respective means are limited to those described above.
[0027]
FIG. 1 shows the configuration of an embodiment of an image processing apparatus to which the present invention is applied. The transmission apparatus 1 is supplied with digitized image data. The transmission apparatus 1 compresses and encodes input image data by reducing the number of pixels (decreasing the number of pixels), and the encoded data obtained as a result is recorded on, for example, an optical disc, a magneto-optical disc, a magnetic tape, or the like For example, terrestrial waves, satellite lines, telephone lines, CATV networks, or other transmission lines 3.
[0028]
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, decompresses and decodes the encoded data, and the result The obtained decoded image is supplied to a display (not shown) and displayed.
[0029]
The image processing apparatus as described above is, for example, an optical disk apparatus, a magneto-optical disk apparatus, a magnetic tape apparatus, or other apparatus for recording / reproducing images, or, for example, a videophone apparatus or a television set. The present invention is applied to a broadcasting system, a CATV system, and other devices that transmit images. As will be described later, since the amount of encoded data output from the transmission apparatus 1 is small, the image processing apparatus in FIG. 1 has a low transmission rate, such as a mobile phone or other portable terminal that is convenient for movement. It is also applicable to.
[0030]
FIG. 2 shows a configuration example of the transmission apparatus 1.
[0031]
The I / F (InterFace) 11 performs reception processing of image data supplied from the outside and transmission processing of encoded data to the transmitter / recording device 16. A ROM (Read Only Memory) 12 stores a program for IPL (Initial Program Loading) and others. A RAM (Random Access Memory) 13 stores system programs (OS (Operating System)) and application programs recorded in the external storage device 15, and data necessary for the operation of a CPU (Central Processing Unit) 14. It is made to memorize. In accordance with the IPL program stored in the ROM 12, the CPU 14 expands the system program and the application program from the external storage device 15 to the RAM 13, and executes the application program under the control of the system program. The image data supplied from the image data is encoded as described later. The external storage device 15 is, for example, a magnetic disk device or the like, and stores system programs and application programs executed by the CPU 14 as well as data necessary for the operation of the CPU 14 as described above. The transmitter / recording device 16 records the encoded data supplied from the I / F 11 on the recording medium 2 or transmits it via the transmission path 3.
[0032]
The I / F 11, the ROM 12, the RAM 13, the CPU 14, and the external storage device 15 are connected to each other via a bus.
[0033]
In the transmission apparatus 1 configured as described above, when image data is supplied to the I / F 11, the image data is supplied to the CPU 14. The CPU 14 encodes the image data and supplies the encoded data obtained as a result to the I / F 11. When the encoded data is received, the I / F 11 supplies the encoded data to the transmitter / recording device 16. In the transmitter / recording device 16, the encoded data from the I / F 11 is recorded on the recording medium 2 or transmitted via the transmission path 3.
[0034]
FIG. 3 is a functional block diagram of a portion excluding the transmitter / recording device 16 of the transmission device 1 of FIG.
[0035]
The image data to be encoded is supplied to the compression unit 21, the local decoding unit 22, and the error calculation unit 23. The compression unit 21 compresses the image data by, for example, simply thinning out the pixels, and compresses the resulting data (image data after the thinning is performed) according to control from the determination unit 24. It is made to correct. Correction data obtained as a result of correction in the compression unit 21 is supplied to the local decoding unit 22 and the determination unit 24.
[0036]
The local decoding unit 22 predicts the original image based on the correction data from the compression unit 21 and supplies the predicted value to the error calculation unit 23. As will be described later, the local decoding unit 22 performs an adaptive process for obtaining a prediction coefficient for calculating a prediction value by linear combination with correction data, and obtains a prediction value based on the prediction coefficient. As described above, the prediction value is supplied to the error calculation unit 23, and the prediction coefficient obtained at that time is supplied to the determination unit 24.
[0037]
The error calculation unit 23 is configured to calculate the prediction error of the prediction value from the local decoding unit 22 with respect to the original image data (original image) input thereto. This prediction error is supplied to the determination unit 24 as error information.
[0038]
Based on the error information from the error calculation unit 23, the determination unit 24 determines the appropriateness of using the correction data output from the compression unit 21 as the encoding result of the original image. If the determination unit 24 determines that the correction data output from the compression unit 21 is not appropriate as the encoding result of the original image, the determination unit 24 controls the compression unit 21 and further corrects the compressed data. Thus, new correction data obtained as a result is output. In addition, when the determination unit 24 determines that the correction data output from the compression unit 21 is appropriate as the encoding result of the original image, the determination unit 24 uses the correction data supplied from the compression unit 21 as the optimum result. The compressed data (hereinafter referred to as optimum compressed data as appropriate) is supplied to the multiplexing unit 25 and the prediction coefficient supplied from the local decoding unit 22 is supplied to the multiplexing unit 25.
[0039]
The multiplexing unit 25 multiplexes the optimum compressed data (correction data) from the determination unit 24 and the prediction coefficient, and supplies the multiplexed result to the transmitter / recording device 16 (FIG. 2) as encoded data. It is made to do.
[0040]
Next, the operation will be described with reference to the flowchart of FIG. When image data is supplied to the compression unit 21, the compression unit 21 compresses the image data by thinning out in step S <b> 1. At first, without performing correction, the local decoding unit 22 and the determination unit are compressed. 24. In the local decoding unit 22, in step S2, the correction data from the compression unit 21 (initially, the compressed data obtained by simply thinning out the image data as described above) is locally decoded.
[0041]
That is, in step S2, an adaptive process for obtaining a prediction coefficient for calculating the predicted value of the original image is performed by linear combination with the correction data from the compression unit 21, and the predicted value is calculated based on the predicted coefficient. Desired. The prediction value obtained in the local decoding unit 22 is supplied to the error calculation unit 23, and the prediction coefficient is supplied to the determination unit 24.
[0042]
Here, the image composed of the predicted values output from the local decoding unit 22 is the same as the decoded image obtained on the receiving device 4 (FIG. 1) side.
[0043]
When receiving the predicted value of the original image from the local decoding unit 22, the error calculating unit 23 calculates the prediction error of the predicted value from the local decoding unit 22 with respect to the original image data in step S3, and as error information , Supplied to the determination unit 24. When the determination unit 24 receives the error information from the error calculation unit 23, in step S4, based on the error information, the appropriateness of using the correction data output from the compression unit 21 as the encoding result of the original image. Determine.
[0044]
That is, in step S4, 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 equal to or less than the predetermined threshold ε, it is recognized that the correction data output from the compression unit 21 is not appropriate to be the encoded data of the original image, and the process proceeds to step S5. The determination unit 24 controls the compression unit 21 and thereby corrects the compressed data. The compression unit 21 corrects the compressed data according to the control of the determination unit 24, and outputs the correction data obtained as a result to the local decoding unit 22 and the determination unit 24. And it returns to step S2 and the same process is repeated hereafter.
[0045]
On the other hand, if 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 compression unit 21 as the encoding result of the original image. The determination unit 24 outputs the correction data when error information equal to or less than the predetermined threshold ε is obtained to the multiplexing unit 25 as the optimal compression data together with the prediction coefficient. In step S6, the multiplexing unit 25 multiplexes the optimum compressed data and the prediction coefficient from the determination unit 24, outputs the encoded data obtained as a result, and ends the process.
[0046]
As described above, the correction data (optimal compressed data) obtained by correcting the compressed data when the error information is equal to or less than the predetermined threshold ε is used as the encoding result of the original image. On the side, it is possible to obtain an image that is substantially the same as the original image (original image) based on the correction data.
[0047]
Next, FIG. 5 shows a configuration example of the compression unit 21 of FIG.
[0048]
Image data to be encoded is input to the down filter 30. The down filter 30 is, for example, a half-band one-dimensional 31-tap low-pass filter that filters image data to be encoded and supplies it to the thinning circuit 31. The thinning circuit 31 thins out the image data from the down filter 30 to 1 / N. Accordingly, the thinning circuit 31 outputs compressed data obtained by compressing image data to 1 / N. This compressed data is supplied from the thinning circuit 31 to the correction circuit 32.
[0049]
The correction circuit 32 generates correction data by adding, for example, the correction value Δ according to the control signal from the determination unit 24 (FIG. 3) to the compressed data from the thinning circuit 31, thereby generating the correction data. 22 and the determination unit 24.
[0050]
Next, the processing of the compression unit 21 in FIG. 5 will be described with reference to FIG.
[0051]
For example, when image data for one frame (field) or the like is supplied to the down filter 30, the down filter 30 filters the image data in step S10. That is, for example, a half-band one-dimensional 31-tap low-pass filter as the down filter 30 is first applied to the image data in the vertical direction and then applied in the horizontal direction. The image data as the filtering result in the down filter 30 is output to the thinning circuit 31.
[0052]
Here, the down filter 30 is not limited to one-dimensional or 31-tap ones. That is, as the down filter 30, for example, a two-dimensional 3 × 3 low-pass filter or a 5 × 5 low-pass filter can be used. Still, the down filter 30 is not necessarily provided. That is, it is possible to input the image data to be encoded to the thinning circuit 31 as it is.
[0053]
In the thinning circuit 31, the image data from the down filter 30 is thinned to 1 / N (subsampled) in step S11, and the compressed data obtained as a result is output to the correction circuit 32.
[0054]
Here, as shown in FIG. 7, the thinning circuit 31 is configured to thin the input image data to 1/9, for example. That is, the thinning-out circuit 31 extracts 9 × 3 (horizontal × vertical) 9 pixels as one unit, extracts only the pixel value of the center pixel of each unit (the portion indicated by ● in the figure), Is deleted (the part indicated by a circle in the figure). Note that the thinning circuit 31 performs the above-described processing, for example, in units of one frame (field). Accordingly, compressed data obtained by thinning out one frame of image data to 1/9 is supplied from the thinning circuit 31 to the correction circuit 32. However, the thinning process in the thinning circuit 31 can also be performed in units of blocks by dividing an image of one frame into several blocks.
[0055]
When receiving the compressed data from the thinning circuit 31, the correction circuit 32 determines whether or not a control signal has been received from the determination unit 24 (FIG. 3) in step S12. If it is determined in step S12 that the control signal has not been received, step S13 is skipped and the process proceeds to step S14. The correction circuit 32 uses the compressed data from the thinning circuit 31 as it is as the correction data, and performs local decoding. It outputs to the part 22 and the determination part 24, and returns to step S12.
[0056]
That is, as described above, the determination unit 24 is configured to control the compression unit 21 (correction circuit 32) based on the error information, and immediately after the compressed data is output from the thinning circuit 31, Since error information is not obtained (because 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 the compressed data is output from the thinning circuit 31, the correction circuit 32 does not correct the compressed data (corrected by adding 0), and directly uses the local decoding unit 22 and the determination as the corrected data. To the unit 24.
[0057]
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 adds the correction value Δ according to the control signal to each compressed data of one frame. Thus, correction data obtained by correcting the compressed data is calculated. Here, the correction value Δ added to each compressed data of one frame does not need to be the same value, and different values can be used (rather, different values are generally preferable).
[0058]
After the correction data is calculated, the process proceeds from step S13 to S14. 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.
[0059]
As described above, the compression unit 21 repeatedly outputs correction data obtained by correcting the compressed data into various values according to the control of the determination unit 24.
[0060]
When the determination unit 24 finishes encoding the image of one frame, the determination unit 24 supplies a control signal indicating that to the compression unit 21, and the compression unit 21 receives the control signal. The processing according to the flowchart of FIG. 6 is performed on the image of the next frame.
[0061]
In the above-described case, the thinning circuit 31 is made to generate compressed data by extracting only pixel data (pixel value) for the center pixel of 3 × 3 pixels. It is also possible to calculate an average value of 3 × 3 pixels and generate compressed data using the average value as the pixel value of the center pixel of the 3 × 3 pixels.
[0062]
Next, FIG. 8 shows a configuration example of the local decoding unit 22 of FIG.
[0063]
The correction data from the compression unit 21 is supplied to the linear interpolation circuit 40 and the class classification blocking circuit 41. The linear interpolation circuit 40 performs linear interpolation using the correction data, thereby calculating the interpolation data. That is, the correction data supplied from the compression unit 21 is for the pixels after thinning indicated by ● in FIG. 7, but the linear interpolation circuit 40 performs linear interpolation using this correction data. The interpolation data, which is the pixel value for the pixel before thinning indicated by a circle in FIG.
[0064]
Here, hereinafter, when referred to as interpolation data as appropriate, it also includes correction data for the image indicated by the mark ● in FIG.
[0065]
The interpolation data obtained by the linear interpolation circuit 40 is supplied to the prediction value calculation blocking circuit 42.
[0066]
The class classification blocking circuit 41 is configured to block the correction data from the compression unit 21 into a class classification block which is a unit for classifying the correction data into a predetermined class according to its property.
[0067]
In other words, in FIG. 7, the i-th correction data (compressed data) (or pixel) (or pixel) (the portion indicated by the mark ● in the figure) from the top and the j-th from the left is XijIf so, the class classification blocking circuit 41 is represented by XijIs a pixel of interest, for example, the pixel of interest 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)And a class classification block consisting of a total of 9 pixels (including target pixel XijAre configured as a tap for class classification (a tap for class classification) described later. This class classification block is supplied to the class classification adaptive processing circuit 43.
[0068]
In this case, the class classification block is composed of a square block made up of 3 × 3 pixels (3 × 3 correction data), but the class classification block needs to be square. However, other shapes such as a rectangle, a cross shape, and other arbitrary shapes are possible. Further, the number of pixels constituting the class classification block is not limited to 3 × 3 9 pixels.
[0069]
The prediction value calculation blocking circuit 42 blocks the interpolation data from the linear interpolation circuit 40 into prediction value calculation blocks (prediction taps) which are units for calculating the prediction value of the original image. ing.
[0070]
That is, in FIG. 7, one of the pixels after thinning (the portion indicated by ● in the figure) is the target pixel XijAs the pixel of interest XijThe pixel value of 3 × 3 9 pixels in the original image (original image) centered on the left side is Y, from the leftmost to the right, and from the top to the bottom.ij(1), Yij(2), Yij(3), Yij(4), Yij(5), Yij(6), Yij(7), Yij(8), YijWhen expressed as (9), the predicted value calculation blocking circuit 42 is, for example, the pixel Yij(1) to YijFor the calculation of the predicted value of (9), the target pixel XijA block for prediction value calculation having a rhombus shape constituted by pixels after 25 interpolations (linear interpolation) centering on the.
[0071]
Specifically, for example, in FIG.33Is a pixel of interest in the original image surrounded by a solid rectangle in the figure.33(1) to Y33For the calculation of the predicted value in (9), a predicted value calculation block is composed of 25 pixels (25 interpolation data) in a rhombus range surrounded by a dotted line in FIG.
[0072]
The predicted value calculation block obtained in the predicted value calculation blocking circuit 42 is supplied to the class classification adaptive processing circuit 43.
[0073]
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.
[0074]
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 can be performed on the assumption that the same pixel as that constituting the pixel exists outside.
[0075]
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.
[0076]
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.
[0077]
Here, the class classification process and the adaptation process will be briefly described.
[0078]
First, the class classification process will be described.
[0079]
Now, for example, as shown in FIG. 9 (A), a pixel of interest and three adjacent pixels form a 2 × 2 pixel block (class classification block). It is expressed by 1 bit (takes a level of 0 or 1). In this case, the 2 × 2 4-pixel block has 16 (= (2) as shown in FIG. 9B due to the level distribution of each pixel.1)Four) Can be classified into patterns. Such pattern division is class classification processing and is performed in the class classification circuit 45.
[0080]
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).
[0081]
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.
[0082]
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.
[0083]
That is, for example, in order to simplify the description, as shown in FIG. 10A, 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.
[0084]
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. 10B, 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.
[0085]
Here, such ADRC processing is called non-edge matching. For such non-edge matching, as shown in FIG. 10C, the average value MIN ′ of pixel values belonging to the lowest level range obtained by dividing the dynamic range DR into four equal parts, or the most A level at which the ADRC code 00B or 11B is converted into the average value MAX ′ of the pixel values belonging to the upper level range and the dynamic range DR ′ defined by MAX′−MIN ′ is equally divided (three equal parts). In addition, there is an ADRC process in which the ADRC code is decoded by converting the ADRC codes 01B and 10B, which is called edge matching.
[0086]
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.
[0087]
As described above, the number of classes can be reduced by performing ADRC processing that performs requantization with a smaller number of bits than the number of bits allocated to each pixel constituting the block. In the ADRC processing circuit 44, this is performed.
[0088]
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.
[0089]
Next, the adaptation process will be described.
[0090]
For example, the predicted value E [y] of the pixel value y of the original image is now set to the pixel values of some surrounding pixels (hereinafter referred to as learning data as appropriate) x1, X2, ... and a predetermined prediction coefficient w1, W2Consider a linear primary combination model defined by the linear combination of. In this case, the predicted value E [y] can be expressed by the following equation.
[0091]
Figure 0003747970
[0092]
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 0003747970
Then, the following observation equation holds.
[0093]
Figure 0003747970
[0094]
Then, it is considered to apply the least square method to this observation equation to obtain a predicted value E [y] close to the pixel value y of the original image. In this case, a matrix Y consisting of a set of pixel values y of the original image (hereinafter referred to as teacher data as appropriate) y and a set of residuals e of predicted values E [y] for the pixel values y of the original image. E
[Expression 2]
Figure 0003747970
From the equation (2), the following residual equation is established.
[0095]
Figure 0003747970
[0096]
In this case, the prediction coefficient w for obtaining the predicted value E [y] close to the pixel value y of the original imageiIs the square error
[Equation 3]
Figure 0003747970
Can be obtained by minimizing.
[0097]
Therefore, the above square error is converted into the prediction coefficient w.iWhen the value differentiated by 0 is 0, that is, the prediction coefficient w satisfying the following equation:iHowever, this is the optimum value for obtaining the predicted value E [y] close to the pixel value y of the original image.
[0098]
[Expression 4]
Figure 0003747970
Figure 0003747970
[0099]
Therefore, first, Equation (3) is converted into the prediction coefficient w.iIs differentiated by the following equation.
[0100]
[Equation 5]
Figure 0003747970
Figure 0003747970
[0101]
From equations (4) and (5), equation (6) is obtained.
[0102]
[Formula 6]
Figure 0003747970
Figure 0003747970
[0103]
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). .
[0104]
[Expression 7]
Figure 0003747970
Figure 0003747970
[0105]
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.
[0106]
As described above, the optimum processing is to obtain the optimum prediction coefficient w, and further to obtain the prediction value E [y] close to the pixel value y of the original image by using the prediction coefficient w and the equation (1). (In a broad sense, the prediction coefficient w is obtained in advance, and the prediction value E [y] using the prediction coefficient w is also included in the adaptation process). This is performed in the adaptive processing circuit 46.
[0107]
Note that the adaptive processing is different from the interpolation processing in that a component included in the original image that is not included in the thinned image is reproduced. In other words, the adaptive process is the same as the interpolation process using a so-called interpolation filter as long as only Expression (1) is seen, but the prediction coefficient w corresponding to the tap coefficient of the interpolation filter uses the teacher data y. In other words, since it is obtained by learning, the components included in the original image can be reproduced. From this, it can be said that the adaptive process is a process having an image creating action.
[0108]
Next, the processing of the local decoding unit 22 in FIG. 8 will be described with reference to the flowchart in FIG.
[0109]
In the local decoding unit 22, first, in step S20, the linear interpolation circuit 40 performs linear interpolation using the correction data from the compression unit 21, whereby the interpolation data is obtained, and the prediction value calculation block Is supplied to the circuit 42.
[0110]
In step S21, the correction data output from the compression unit 21 or the interpolation data output from the linear interpolation circuit 40 is blocked in the class classification blocking circuit 41 or the predicted value calculation blocking circuit 42, respectively.
[0111]
That is, as described above, in the class classification blocking circuit 41, the correction data is blocked into 3 × 3 pixel class classification blocks centered on a certain pixel of interest and supplied to the class classification adaptive processing circuit 43. At the same time, the prediction value calculation blocking circuit 42 blocks the interpolation data into 25 pixel prediction value calculation blocks centered on the pixel of interest and also supplies it to the class classification adaptive processing circuit 43.
[0112]
As described above, the class classification adaptive processing circuit 43 is supplied with original image data in addition to the class classification block and the prediction value calculation block. The class classification block is the ADRC processing unit 44. The predicted value calculation block and the original image data are supplied to the adaptive processing circuit 46.
[0113]
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, and determines the class to which the pixel of interest included in the class classification block belongs. The class determination result is supplied to the adaptive processing circuit 46 as class information.
[0114]
In the present embodiment, since class classification processing is performed on a class classification block composed of 3 × 3 9 pixels subjected to 1-bit ADRC processing, each class classification block 512 (= (21)9) In one of the classes.
[0115]
In step S24, the adaptive processing circuit 46 performs adaptive processing for each class based on the class information from the class classification circuit 45, thereby calculating the prediction coefficient and the predicted value of the original image data. Is done.
[0116]
That is, in the present embodiment, for example, when attention is paid to a certain correction data, a total of a pixel corresponding to the target correction data (target pixel) and eight pixels adjacent to the pixel. Prediction values and prediction coefficients for nine pixels are calculated by performing an adaptive process using a prediction value calculation block including interpolation data of 25 pixels centered on the target correction data.
[0117]
Specifically, for example, the pixel X shown in FIG.33Is the pixel of interest, and this pixel of interest X33Correction data X for 3 × 3 pixels (pixels after thinning) centered ontwenty two, Xtwenty three, Xtwenty four, X32, X33, X34, X42, X43, X44Classification is performed based on the classification block consisting of33Is output from the class classification circuit 45.
[0118]
Further, as the predicted value calculation block, the target pixel X33Interpolation data (correction data X) for 25 pixels (pixels obtained by interpolating pixels after thinning) indicated by a dotted line in FIG.twenty three, X32, X33, X34, X43It is assumed that a prediction value calculation block consisting of 25 interpolation data including the output from the prediction value calculation block forming circuit 42 is output.
[0119]
In this case, first, interpolation data constituting the prediction value calculation block is used as learning data, and interpolation data (correction data) X in the original image is used.33The pixel value Y of 3 × 3 pixels (the part surrounded by a rectangle in FIG. 7) centering on33(1) to Y33Using (9) as teacher data, the normal equation shown in equation (7) is established.
[0120]
Further, the normal equation is established in the same manner for other prediction value calculation blocks classified into the class information C, 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). (Accordingly, in step S24, the normal equation is processed until such a number of normal equations is obtained), the class information C is solved by solving the normal equation. , Pixel value Y33Predicted value E [Y of (k)33(K)] optimal prediction coefficient w1(K) to wtwenty five(K) is calculated.
[0121]
Then, 25 interpolation data constituting the prediction value calculation block are converted into x1, X2, ..., xtwenty fiveThe predicted value E [Y33(K)] is obtained according to the following equation corresponding to equation (1).
[0122]
Figure 0003747970
[0123]
In step S24, when nine prediction values and 25 × 9 prediction coefficients are obtained as described above, the prediction values are output to the error calculation unit 23 and the prediction coefficients are output to the determination unit 24, respectively. Referring back to FIG. 5, the same processing is repeated thereafter, with a pixel that has not yet been set as the target pixel (a pixel after thinning) as a new target pixel.
[0124]
Next, FIG. 12 shows a configuration example of the error calculation unit 23 of FIG.
[0125]
The original image data is supplied to the blocking circuit 51, where the blocking circuit 51 outputs nine image data corresponding to the predicted values output from the local decoding unit 22. A block of 3 × 3 pixels (for example, a block of 3 × 3 pixels as indicated by a solid rectangle in FIG. 7) obtained as a result is output to the square error calculation circuit 52. ing. As described above, the square error calculation unit 52 is supplied with blocks from the block forming circuit 51 and is also supplied with prediction values from the local decoding unit 22 in units of 9 (3 × 3 pixel block units). The square error calculation circuit 52 calculates a square error as a prediction error of the prediction value for the original image, and supplies the square error to the integrating unit 55.
[0126]
That is, the automatic error calculation circuit 52 is composed of computing units 53 and 54. The computing unit 53 subtracts the corresponding predicted value from each of the blocked image data from the blocking circuit 51 and supplies the subtracted value to the computing unit 54. The computing unit 54 squares the output of the computing unit 53 (difference between the original image data and the predicted value) and supplies the square to the integrating unit 55.
[0127]
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.
[0128]
Next, the operation will be described with reference to the flowchart of FIG. In the error calculation unit 23, first, in step S31, the stored value of the memory 56 is cleared to, for example, 0, and the process proceeds to step S32. In the blocking circuit 51, the image data is blocked as described above. The block obtained as a result is supplied to the square error calculation circuit 52. In step S33, the square error calculation circuit 52 calculates a square error between the image data of the original image constituting the block supplied from the blocking circuit 51 and the predicted value supplied from the local decoding unit 22. .
[0129]
That is, in step S <b> 33, the computing unit 53 subtracts the corresponding predicted value from each of the blocked image data supplied from the blocking circuit 51, and supplies it to the computing unit 54. Further, in step S <b> 33, the computing unit 54 squares the output of the computing unit 53 and supplies it to the integrating unit 55.
[0130]
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.
[0131]
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.
[0132]
Therefore, the error calculation unit 23 converts the original image data, i-th from the left and j-th from the top, to Yij(K) and the predicted value is E [Yij(K)], the error information Q is calculated by performing an operation according to the following equation.
[0133]
Q = Σ (Yij(K) -E [Yij(K)])2
However, Σ means summation for one frame.
[0134]
Next, FIG. 14 shows a configuration example of the determination unit 24 of FIG.
[0135]
The prediction coefficient memory 61 is configured to store the prediction coefficient supplied from the local decoding unit 22. The correction data memory 62 stores correction data supplied from the compression unit 21.
[0136]
In the correction data memory 62, when the compressed data is newly corrected in the compression unit 21 and new correction data is supplied as a result, the correction data memory 62 stores the correction data already stored (previous correction data). Instead, new correction data is stored. In addition, at the timing when the correction data is updated to a new one in this way, the local decoding unit 22 outputs a new set of prediction coefficients corresponding to the new correction data. Also in 61, when a new prediction coefficient is supplied in this way, the new prediction coefficient is stored in place of the previously stored prediction coefficient (previous prediction coefficient).
[0137]
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.
[0138]
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.
[0139]
Based on the comparison result in the comparison circuit 64, the control circuit 65 determines the appropriateness (optimum) of using the correction data stored in the correction data memory 62 as the encoding result of the original image. When recognized (determined), a control signal for requesting output of new correction data is supplied to the compression unit 21 (correction circuit 32) (FIG. 5). When the control circuit 65 recognizes that it is optimal to use the correction data stored in the correction data memory 62 as the encoding result of the original image, the control circuit 65 predicts the prediction data stored in the prediction coefficient memory 61. The coefficient is read and output to the multiplexing unit 25, and the correction data stored in the correction data memory 62 is read and supplied to the multiplexing unit 25 as optimum compressed data. Further, in this case, the control circuit 65 outputs a control signal indicating that the encoding of one frame image has been completed to the compression unit 21, and as described above, the control circuit 65 causes the compression unit 21 to The process for the frame is started.
[0140]
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.
[0141]
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.
[0142]
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 a control signal for controlling the correction circuit 32 (FIG. 5) is output in the control circuit 65 so as to output a predetermined initial address.
[0143]
If it is determined in step S43 that the current error information is equal to or less than the previous error information, that is, if the error information is reduced by correcting the compressed data, the process proceeds to step S44, where the control circuit 65 A control signal instructing to change the correction value Δ in the same manner as the previous time is output to the correction circuit 32, and the process returns to step S41. If it is determined in step S43 that the current error information is larger than the previous error information, that is, if the error information has increased by correcting the compressed data, the process proceeds to step S45, where the control circuit 65 Then, a control signal for instructing to change the correction value Δ opposite to the previous time is output to the correction circuit 32, and the process returns to step S41.
[0144]
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.
[0145]
Then, by repeating the processes of steps S41 to S45, the error information decreases, and when it is determined in step S42 that the current error information is smaller than the predetermined threshold value ε, the process proceeds to step S46, and control is performed. The circuit 65 reads the prediction coefficient stored in the prediction coefficient memory 61, reads the correction data stored in the correction data memory 62, supplies the correction data to the multiplexing unit 25, and ends the process.
[0146]
After that, waiting for the error information for the next frame to be supplied, the process according to the flowchart shown in FIG. 15 is repeated again.
[0147]
The correction circuit 32 can correct the compressed data for all the compressed data of one frame or only a part of the compressed data. In the case of performing correction only for a part of the compressed data, for example, the control circuit 65 can detect pixels having a strong influence on the error information and correct only the compressed data for such pixels. . A pixel having a strong influence on error information can be detected as follows, for example. That is, first, the error information is obtained by performing processing using the compressed data for the pixels remaining after thinning out as they are. Then, a control signal for performing a process of correcting the compressed data for the pixels remaining after the thinning out one by one by the same correction value Δ is output from the control circuit 65 to the correction circuit 32 and obtained as a result. The error information may be compared with the error information obtained when the compressed data is used as it is, and a pixel whose difference is a predetermined value or more may be detected as a pixel having a strong influence on the error information.
[0148]
As described above, the correction of the compressed data is repeated until the error information is made smaller (below) than the predetermined threshold ε, and the correction data when the error information becomes smaller than the predetermined threshold ε is the code of the image. Therefore, in the receiving device 4 (FIG. 1), the original pixel value of the pixels constituting the image after thinning is corrected from the correction data having the most appropriate value for restoring the original image. It is possible to obtain a decoded image that is the same (substantially the same) as the image.
[0149]
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.
[0150]
Next, FIG. 16 shows a configuration example of the receiving device 4 of FIG.
[0151]
In the receiver / reproducing apparatus 71, the encoded data recorded on the recording medium 2 is reproduced or the encoded data transmitted via the transmission path 3 is received and supplied to the separation unit 72. In the separation unit 72, the encoded data is separated into correction data and a prediction coefficient, the correction data is supplied to the class classification blocking circuit 73 and the linear interpolation circuit 78, and the prediction coefficient is supplied to the prediction circuit 76. .
[0152]
The class classification blocking circuit 73, the ADRC processing circuit 74, the class classification circuit 75, the predicted value calculation blocking circuit 77, or the linear interpolation circuit 78 are the class classification blocking circuit 41, the ADRC processing circuit 44 in FIG. The class classification circuit 45, the predicted value calculation blocking circuit 42, or the linear interpolation circuit 40 is configured in the same manner. Therefore, in these blocks, the same processing as in FIG. The predicted value calculating block 77 outputs a predicted value calculating block, and the class classification circuit 75 outputs class information. These prediction value calculation blocks and class information are supplied to the prediction circuit 76.
[0153]
The prediction circuit 76 uses the prediction coefficient corresponding to the class information and the interpolation data constituting the prediction value calculation block supplied from the prediction value calculation blocking circuit 77 to calculate the prediction value according to the equation (1). Then, an image of one frame composed of such predicted values is output as a decoded image. As described above, this decoded image is almost the same as the original image.
[0154]
On the receiving side, even if it is not the receiving device 4 as shown in FIG. 16, the decoding is performed by performing normal interpolation without using the prediction coefficient by the device that decodes the thinned image by simple interpolation. An image can be obtained. However, the decoded image obtained in this case has deteriorated image quality (resolution).
[0155]
By the way, in the local decoding unit 22 shown in FIG. 8, first, a prediction coefficient is obtained and a prediction value is calculated using this, but the local decoding unit 22 obtains a prediction coefficient in advance without obtaining a prediction coefficient. It is possible to calculate a prediction value using the obtained prediction coefficient.
[0156]
That is, FIG. 17 shows another configuration example of the local decoding unit 22 of FIG. In the figure, parts corresponding to those in FIG. 8 are denoted by the same reference numerals. That is, the local decoding unit 22 in FIG. 17 is configured in the same manner as in FIG. 8 except that a prediction coefficient ROM 81 and a prediction circuit 82 are provided instead of the adaptive processing circuit 46.
[0157]
The prediction coefficient ROM 81 stores a prediction coefficient for each class obtained in advance by learning (described later), receives the class information output from the class classification circuit 44, and is stored at an address corresponding to the class information. The prediction coefficient is read and supplied to the prediction circuit 82.
[0158]
The prediction circuit 82 uses the prediction value calculation block from the prediction value calculation blocking circuit 42 and the prediction coefficient from the prediction coefficient ROM 81, and uses Equation (1) (specifically, for example, Equation (8)). ) Is calculated, and thereby the predicted value of the original image is calculated.
[0159]
Therefore, according to the class classification adaptive processing circuit 43 of FIG. 17, the predicted value can be calculated without using the original image.
[0160]
Next, FIG. 18 shows a configuration example of an image processing apparatus that performs learning for obtaining a prediction coefficient stored in the prediction coefficient ROM 81 of FIG.
[0161]
The thinning circuit 91 and the teacher blocking circuit 92 are supplied with image data for learning (learning image) for obtaining prediction coefficients applicable to any image.
[0162]
The thinning circuit 91 generates compressed data by thinning the input image data to 1/9, for example, similarly to the thinning circuit 31 in FIG. 5, and sends the compressed data to the class classification blocking circuit 101 and the linear interpolation circuit 102. Supply.
[0163]
The class classification blocking circuit 101, the ADRC processing circuit 93, or the class classification circuit 94 performs the same processing as in the class classification blocking circuit 41, the ADRC processing circuit 44, or the class classification circuit 45 of FIG. The class information thus obtained is supplied from the class classification circuit 94 to the learning data memory 96 and the teacher data memory 98 via the terminal a of the switch 95.
[0164]
Further, the linear interpolation circuit 102 or the learning blocking circuit 103 performs the same processing as that in the linear interpolation circuit 40 or the prediction value calculation blocking circuit 42 in FIG. Constitutes a block similar to the prediction value calculation block output from the prediction value calculation block forming circuit 42 of FIG. 17, and supplies it to the learning data memory 96 as a learning block.
[0165]
On the other hand, the teacher blocking circuit 92 generates, for example, a block composed of 9 × 3 pixels from the input image data, and the block composed of 9 pixels is used as a teacher block as a teacher block. It is supplied to the data memory 98. That is, for example, in the learning blocking circuit 103, the pixel X shown by the dotted line in FIG.33When the same learning block as the predicted value calculation block having the pixel of interest is configured, the teacher block forming circuit 92 is configured by 3 × 3 9 pixels shown by a solid line in FIG. The teacher block is composed of an original image (learning image) and is supplied to the teacher data memory 98.
[0166]
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.
[0167]
Therefore, in the learning data memory 96, for example, if a block of 25 pixels (interpolation data) surrounded by a dotted line in FIG. 7 is stored as a learning block at a certain address, the teacher data memory 98 A block of 3 × 3 pixels (original image data) surrounded by a solid line in the figure is stored as a teacher block at the same address as the address.
[0168]
Thereafter, the same processing is repeated for all learning images prepared in advance, whereby the learning block and the local decoding unit 22 in FIG. 17 are the same as the 25 pixels constituting the learning block. The teacher data block 96, the teacher data memory 98, and the teacher block consisting of 9 pixels whose predicted values are obtained using the predicted value calculation block consisting of 25 interpolation data having a positional relationship, Are stored at the same address.
[0169]
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.
[0170]
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.
[0171]
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.
[0172]
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.
[0173]
That is, for example, the pixel values (interpolation data) 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.
[0174]
y = w1x1+ W2x2+ WThreexThree+ ...
[0175]
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).
[0176]
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.
[0177]
As described above, the memory 100 stores the optimum prediction coefficient for predicting the pixel of the block of the class at the address corresponding to each class.
[0178]
The prediction coefficient ROM 81 in FIG. 17 stores the prediction coefficient stored in the memory 100 as described above.
[0179]
Note that the prediction coefficient ROM 81 can store an average value of pixel values constituting a teacher block instead of storing a prediction coefficient at an address corresponding to each class. In this case, when class information is given, a pixel value corresponding to the class is output, and the local decoding unit 22 in FIG. 17 does not include the prediction value calculation blocking circuit 42 and the prediction circuit 82. It will be over.
[0180]
In the case where the local decoding unit 22 is configured as shown in FIG. 17, the receiving apparatus 4 shown in FIG. 16 has a subsequent stage of the receiver / reproducing apparatus 71 in the same manner as the local decoding unit 22 in FIG. What is necessary is just to comprise.
[0181]
The image processing apparatus to which the present invention is applied has been described above. Such an image processing apparatus, for example, encodes a standard system television signal such as the NTSC system, or so-called high-vision, which has a large amount of data. This is particularly effective when encoding a television signal of a system. The present invention can also be applied to so-called hierarchical encoding.
[0182]
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, the sum of the third power or more, and the like are used. It is possible to do so. Which one is used as error information can be determined based on, for example, its convergence.
[0183]
In the present embodiment, the correction of the compressed data is repeatedly performed until the error information is equal to or less than the predetermined threshold value ε. However, an upper limit may be provided for the number of times of correction of the compressed data. Is possible.
[0184]
Further, in the present embodiment, a block is configured from an image of one frame, but the block is configured from pixels at the same position in, for example, a plurality of consecutive frames in time series. Is also possible.
[0185]
In the present embodiment, the compression unit 21 simply thins out the image, that is, extracts the central pixel in a 3 × 3 pixel block and uses this as compressed data. In addition, for example, the average value of the nine pixels constituting the block is obtained, and the average value is set as the pixel value of the central pixel in the block, thereby reducing the number of pixels (decimation) and compressing this. It is also possible to use data.
[0186]
Furthermore, in the present embodiment, the interpolation data is obtained by linear interpolation, but the interpolation data can also be obtained by, for example, nonlinear interpolation.
[0187]
In the present embodiment, interpolation data is obtained by performing linear interpolation using correction data, and adaptive processing is performed on this interpolation data. However, adaptive processing is performed on correction data. It is also possible. However, the correction data is the pixel value in the pixel after thinning as indicated by the ● mark in FIG. On the other hand, the interpolation data is obtained by interpolating the pixel values of the pixels indicated by ◯ in FIG. 7 using the correction data, and is so dense. Therefore, components not included in the image constituted by the correction data are not included in the interpolation data obtained by performing linear interpolation using the correction data. However, since the interpolation data is dense, for example, the original image When the change in pixel value is relatively steep, the prediction value is obtained by applying the adaptive process to the dense interpolation data rather than the sparse correction data to obtain a smaller prediction error. be able to.
[0188]
Furthermore, in the present embodiment, the compressed data is corrected, correction data is obtained, interpolation data is obtained using the correction data, adaptive processing is performed, and correction is performed based on the prediction error of the prediction value obtained as a result. The amount of change is repeated to correct the compressed data. In addition, for example, the prediction value obtained by the adaptive processing is thinned out, and the data obtained by the thinning is calculated based on the prediction error of the prediction value. It is also possible to correct and use this as correction data.
[0189]
Further, in the present embodiment, as indicated by a dotted line in FIG. 7, a prediction value calculation block is configured by interpolation data of 25 pixels within a rhombus shape centered on the target pixel. However, as shown in FIG. 19, for example, the prediction value calculation block includes interpolation data of 5 pixels within a rhombus-shaped range centered on the target pixel, and 9 pixels within a square-shaped range. It is also possible to comprise the interpolation data of 13 pixels within the range of the rhombus shape, the interpolation data of 49 pixels within the range of the square shape, and the like.
[0190]
Furthermore, in the present embodiment, basically, the pixel corresponding to the correction data (the pixel after thinning) is set as the target pixel, but the pixel corresponding to the interpolation data other than the correction data (obtained by linear interpolation). Pixel) may be the target pixel.
[0191]
In this embodiment, a 1-bit ADRC process is performed on a class classification block including 9 pixels, and the processing result is 512 (= 2).9However, the classification can also be performed based on, for example, the activity of the classification block and the dynamic range.
[0192]
That is, for example, in the case where the class classification block is configured by 9 pixels corresponding to the correction data, which are indicated by ● in FIG. 20, the center pixel (target pixel) and each of the surrounding 8 pixels When the absolute value of the difference is defined as an activity, the direction in which the activity is largest in the class classification block is any one of the eight directions indicated by arrows in FIG. Therefore, in this case, if only the activity is used, the target pixel can be classified into any one of the eight classes. Further, the difference between the maximum value and the minimum value among the nine pixel values (correction data) constituting the class classification block is defined as the dynamic range DR of the class classification block. If the four cases are divided, the target pixel can be classified into one of the four classes. When classifying the class classification block based on both the activity and the dynamic range, the class classification block is classified into 32 (= 8 × 4) classes.
[0193]
In addition, as a method of dividing into cases by the dynamic range DR, for example, there is a method of nonlinearly quantizing the dynamic range DR. That is, for example, if the dynamic range DR is represented by 8 bits, it depends on whether the value is, for example, from 0 to less than 8, from 8 to less than 24, from 24 to less than 56, or from 56 to less than 255. Cases can be divided into four cases.
[0194]
The classification can be performed based on, for example, a combination of an edge detection result and a dynamic range, a combination of a correlation direction and a dynamic range, in addition to the above-described combination of activity and dynamic range.
[0195]
Further, in the present embodiment, error information Q that is the sum of prediction errors of one frame (more precisely, the sum of squares of prediction errors) is obtained, and one frame of compressed data is obtained corresponding to the error information Q. Although the correction is performed, the compressed data can be corrected for each pixel after thinning, instead of being performed for each frame as described above.
[0196]
That is, in this case, as shown in the flowchart of FIG. 21, first, the compression unit 21 compresses the image data in step S51 by thinning out the image data in the same manner as in step S1 of FIG. It outputs to the local decoding part 22 and the determination part 24, without performing correction | amendment. In the local decoding unit 22, in step S52, one of the pixels after thinning is extracted as a target pixel, and the process proceeds to step S53. In step S53, in the linear interpolation circuit 40 of the local decoding unit 22, correction data (initially an image is the pixel value of the pixel of interest indicated by ● in FIG. 22 and the surrounding eight pixels (pixels after thinning). By performing linear interpolation using compressed data obtained by simply decimating data), interpolation data is generated for the pixels necessary to configure the prediction value calculation block, and the process proceeds to step S54. In the adaptive processing circuit 43, using only the predicted value calculation block, predicted values for a total of nine pixels including the pixel of interest surrounded by a solid line in FIG. 22 and the surrounding eight pixels (pixels after linear interpolation). And a prediction coefficient is calculated.
[0197]
The prediction value or the prediction coefficient obtained in step S54 is output from the local decoding unit 22 to the error calculation unit 23 or the determination unit 24, respectively.
[0198]
When the error calculation unit 23 receives the prediction value for the nine pixels from the local decoding unit 22, the error calculation unit 23 calculates the prediction error of the prediction value for the nine pixels from the local decoding unit 22 with respect to the original image data in step S55. And supplied to the determination unit 24. When the determination unit 24 receives the prediction error for the nine pixels from the error calculation unit 23, the determination unit 24 detects, for example, the maximum value of the prediction errors for the nine pixels (hereinafter, referred to as the maximum prediction error as appropriate) in step S56. Whether the maximum prediction error is less than a predetermined threshold is determined.
[0199]
In step S56, when it is determined that the maximum prediction error is not less than the predetermined threshold value, the process proceeds to step S57, and the determination unit 24 controls the compression unit 21, whereby only the pixel of interest among the compressed data. To correct. The compression unit 21 corrects only the compressed data for the pixel of interest under the control of the determination unit 24, and outputs the correction data obtained as a result to the local decoding unit 22 and the determination unit 24. Then, the process returns to step S53, and the same processing is repeated thereafter.
[0200]
Accordingly, in this case, in step S53, linear interpolation is performed using the correction data for the corrected target pixel and the correction data for the surrounding eight pixels (pixels after thinning), which is the same as the previous process. As a result, the interpolation data for the pixels necessary to configure the prediction value calculation block is generated.
[0201]
On the other hand, when it is determined in step S56 that the maximum prediction error is less than the predetermined threshold, the determination unit 24 uses the correction data for the pixel of interest when the maximum prediction error less than the predetermined threshold is obtained, The optimum compressed data is output to the multiplexing unit 25 together with the prediction coefficient, and the process proceeds to step S58. In step S58, it is determined whether or not processing has been performed for all the pixels after thinning. If it is determined that processing has not been performed, the process returns to step S52, and pixels that have not yet been focused on (pixels after thinning) are determined. Then, the process from step S53 onward is repeated as a new pixel of interest.
[0202]
If it is determined in step S58 that all the pixels after thinning have been processed as the target pixel, the process proceeds to step S59, and the multiplexing unit 25 predicts the optimal compressed data output from the determination unit 24 so far and the prediction. The coefficients are multiplexed, the resulting encoded data is output, and the process ends.
[0203]
As described above, when correction of compressed data is performed in units of one pixel (target pixel unit), it is considered that the convergence of prediction errors is improved as compared with the case of performing correction in units of one frame.
[0204]
In the above-described case, the compressed data is corrected based on the maximum prediction error that is the maximum value of the prediction errors for the nine pixels. It is also possible to perform based on the sum of absolute values of prediction errors for each.
[0205]
【The invention's effect】
  According to the image encoding device according to claim 1 and the image encoding method according to claim 4, the compressed data obtained by compressing the original image is corrected, the corrected data is output, and the corrected data is Interpolation data is output when interpolation is performed, and the interpolation dataAnd a predetermined prediction coefficientBased on the original image, the prediction value is output, and the prediction error of the prediction value with respect to the original image is calculated. The correction data when the correction data becomes appropriate, for example, when the prediction error becomes a predetermined value or less, isTogether with a given prediction factorIt is output as the encoding result of the original image. Therefore, the correction dataAnd a predetermined prediction coefficientThus, it is possible to obtain a decoded image that is almost the same as the original image.
[0206]
  According to the image decoding device according to claim 5 and the image decoding method according to claim 6, the encoded data corrects the compressed data obtained by compressing the original image, and outputs the corrected data. The interpolation data is output by performing interpolation using the correction data, and the interpolation dataAnd a predetermined prediction coefficientA prediction image obtained by predicting an original image, outputting the prediction value, and calculating a prediction error of the prediction value for the original image until the prediction error becomes a predetermined value or less. Correction data when the error falls below the specified value, With a given prediction factorIn this case, interpolation data is obtained by performing interpolation using the encoded data, and the interpolation dataAnd a predetermined prediction coefficientBased on the above, the predicted value of the original image is calculated. Therefore, it is possible to obtain a decoded image that is almost the same as the original image.
[0208]
  Claim 7An image encoding device according to claim 1 andClaim 8According to the image encoding method described in the above, the compressed data obtained by compressing the original image is corrected, the corrected data is output, and the corrected dataAnd a predetermined prediction coefficientBased on the original image, the prediction value is output, and the prediction error of the prediction value with respect to the original image is calculated. In this case, the predicted value is the correction data for the pixels within a predetermined range including the predetermined target pixel.And a predetermined prediction coefficientThe compressed data for only a predetermined pixel of interest is corrected in accordance with the prediction error of the prediction value. Then, when the correction data is appropriate, for example, when the prediction error becomes a predetermined value or less, the correction data isWith a given prediction factorIt is output as the encoding result of the original image. Therefore, the correction dataAnd a predetermined prediction coefficientThus, it is possible to obtain a decoded image that is almost the same as the original image.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of an embodiment of an image processing apparatus to which the present invention is applied.
FIG. 2 is a block diagram illustrating a configuration example of the transmission device 1 of FIG.
3 is a block diagram illustrating a functional configuration example of the transmission device 1 of FIG. 2; FIG.
4 is a flowchart for explaining the operation of the transmission apparatus 1 of FIG. 3;
5 is a block diagram illustrating a configuration example of a compression unit 21 in FIG. 3. FIG.
6 is a flowchart for explaining the operation of the compression unit 21 in FIG. 5;
7 is a diagram for explaining processing of the thinning circuit 31 in FIG. 5; FIG.
8 is a block diagram illustrating a configuration example of a local decoding unit 22 in FIG. 3. FIG.
FIG. 9 is a diagram for explaining class classification processing;
FIG. 10 is a diagram for explaining ADRC processing;
11 is a flowchart for explaining the operation of the local decoding unit 22 in FIG. 8;
12 is a block diagram illustrating a configuration example of an error calculation unit 23 in FIG. 3;
13 is a flowchart for explaining an operation of an error calculation unit 23 of FIG. 12;
14 is a block diagram illustrating a configuration example of a determination unit 24 in FIG. 3;
15 is a flowchart for explaining the operation of a determination unit 24 in FIG. 14;
16 is a block diagram illustrating a configuration example of the reception device 4 in FIG. 1. FIG.
17 is a block diagram showing another configuration example of the local decoding unit 22 in FIG. 3;
18 is a block diagram illustrating a configuration of an embodiment of an image processing apparatus that calculates a prediction coefficient stored in a prediction coefficient ROM 81 of FIG.
FIG. 19 is a diagram for describing a configuration example of a prediction value calculation block;
FIG. 20 is a diagram for explaining a class classification method;
FIG. 21 is a flowchart for explaining processing when correction of compressed data is performed in units of pixels.
FIG. 22 is a diagram for explaining processing when correction of compressed data is performed in units of pixels.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 Transmitter, 2 Recording medium, 3 Transmission path, 4 Receiver, 11 I / F, 12 ROM, 13 RAM, 14 CPU, 15 External storage device, 16 Transmitter / recorder, 21 Compression part, 22 Local decoding part , 23 error calculation unit, 24 determination unit, 25 multiplexing unit, 30 down filter, 31 decimation circuit, 32 correction circuit, 40 linear interpolation circuit, 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 blocking circuit, 52 square error calculation circuit, 53, 54 computing unit, 55 accumulating unit, 56 memory, 61 prediction coefficient memory, 62 correction data memory, 63 error information memory, 4 comparison circuit, 65 control circuit, 71 receiver / reproducing device, 72 separation unit, 73 class classification blocking circuit, 74 ADRC processing circuit, 75 class classification circuit, 76 prediction circuit, 77 prediction value calculation blocking circuit, 78 linear interpolation circuit, 81 prediction coefficient ROM, 82 prediction circuit, 91 decimation 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 class classification block circuit, 102 linear interpolation circuit, 103 learning block circuit

Claims (8)

画像を符号化する画像符号化装置であって、
原画像を、その画素数を少なくすることにより圧縮する圧縮手段と、
前記原画像を圧縮することにより得られる圧縮データを補正し、補正データを出力する補正手段と、
前記補正データを用いて補間を行う補間手段と、
前記補間手段による補間の結果得られる補間データと所定の予測係数とに基づいて、前記原画像を予測し、その予測値を出力する予測手段と、
前記原画像に対する、前記予測値の予測誤差を算出する算出手段と、
前記予測誤差に基づいて、前記補正手段が出力する前記補正データの適正さを判定する判定手段と、
前記判定手段により前記補正データが適正でないと判定された場合、前記圧縮データを前記補正手段に再補正させ、再補正の結果得られる補正データの適正さを前記判定手段に再判定させる制御を行い、前記判定手段により前記補正データが適正であると判定された場合、前記補正データを、前記所定の予測係数とともに前記原画像の符号化結果として出力する出力手段と
を備えることを特徴とする画像符号化装置。
An image encoding device for encoding an image, comprising:
Compression means for compressing the original image by reducing the number of pixels;
Correction means for correcting compressed data obtained by compressing the original image and outputting correction data;
Interpolation means for performing interpolation using the correction data;
Prediction means for predicting the original image based on the interpolation data obtained as a result of interpolation by the interpolation means and a predetermined prediction coefficient, and outputting the prediction value;
Calculating means for calculating a prediction error of the predicted value with respect to the original image;
Determination means for determining the appropriateness of the correction data output by the correction means based on the prediction error;
When the determination unit determines that the correction data is not appropriate, control is performed to cause the correction unit to recorrect the compressed data, and to cause the determination unit to re-determine the appropriateness of the correction data obtained as a result of the recorrection. And an output means for outputting the correction data together with the predetermined prediction coefficient as an encoding result of the original image when the determination means determines that the correction data is appropriate. Encoding device.
前記判定手段は、前記予測誤差が所定値以下であるかどうかによって、前記補正データの適正さを判定し、
前記出力手段は、前記予測誤差が所定値を超えている間には前記制御を繰り返し行い、前記予測誤差が所定値以下になったとき、そのときにおける前記補正データを出力する
ことを特徴とする請求項1に記載の画像符号化装置。
The determination means determines the appropriateness of the correction data depending on whether the prediction error is a predetermined value or less,
The output means repeatedly performs the control while the prediction error exceeds a predetermined value , and outputs the correction data at that time when the prediction error becomes a predetermined value or less. The image encoding device according to claim 1.
前記予測手段は、所定の注目画素を含む所定の範囲内の画素についての前記補間データと前記所定の予測係数とに基づいて、前記予測値を算出し、
前記補正手段は、前記予測値の予測誤差に対応して、前記所定の注目画素のみについての前記圧縮データを補正する
ことを特徴とする請求項1に記載の画像符号化装置。
The prediction means calculates the prediction value based on the interpolation data and the predetermined prediction coefficient for pixels within a predetermined range including a predetermined pixel of interest,
The image encoding apparatus according to claim 1, wherein the correction unit corrects the compressed data for only the predetermined target pixel in response to a prediction error of the prediction value.
画像を符号化する画像符号化方法であって、
原画像を、その画素数を少なくすることにより圧縮し、
前記原画像を圧縮することにより得られる圧縮データを補正して、補正データを出力し、
前記補正データを用いて補間を行うことにより補間データを出力し、
前記補間データと所定の予測係数とに基づいて、前記原画像を予測して、その予測値を出力し、
前記原画像に対する、前記予測値の予測誤差を算出する
ことを、前記予測誤差が所定値以下になるまで繰り返し、
前記予測誤差が所定値以下になったときにおける前記補正データを、前記所定の予測係数とともに前記原画像の符号化結果として出力する
ことを特徴とする画像符号化方法。
An image encoding method for encoding an image, comprising:
Compress the original image by reducing the number of pixels,
Correct the compressed data obtained by compressing the original image, and output the corrected data;
Output interpolation data by performing interpolation using the correction data,
Based on the interpolation data and a predetermined prediction coefficient, predict the original image, and output the predicted value,
Calculating the prediction error of the prediction value for the original image is repeated until the prediction error falls below a predetermined value,
The image encoding method, wherein the correction data when the prediction error is equal to or less than a predetermined value is output as an encoding result of the original image together with the predetermined prediction coefficient .
画像を符号化した符号化データを復号化する画像復号化装置であって、
前記符号化データが、
原画像を、その画素数を少なくすることにより圧縮し、
前記原画像を圧縮することにより得られる圧縮データを補正して、補正データを出力し、
前記補正データを用いて補間を行うことにより補間データを出力し、
前記補間データと所定の予測係数とに基づいて、前記原画像を予測して、その予測値を出力し、
前記原画像に対する、前記予測値の予測誤差を算出する
ことを、前記予測誤差が所定値以下になるまで繰り返す
ことにより得られた、前記予測誤差が所定値以下になったときにおける前記補正データと、
前記所定の予測係数と
である場合、
前記符号化データを用いて補間を行う補間手段と、
前記補間手段による補間の結果得られる補間データと前記所定の予測係数とに基づいて、前記原画像の予測値を算出し、それを復号画像として出力する予測手段と
を備えることを特徴とする画像復号化装置。
An image decoding apparatus for decoding encoded data obtained by encoding an image,
The encoded data is
Compress the original image by reducing the number of pixels,
Correct the compressed data obtained by compressing the original image, and output the corrected data;
Output interpolation data by performing interpolation using the correction data,
Based on the interpolation data and a predetermined prediction coefficient, predict the original image, and output the predicted value,
With respect to the original image, calculating a prediction error of the prediction value, the prediction error was obtained by repeating until the predetermined value or less, and the correction data at the time when the prediction error is equal to or less than a predetermined value ,
If the predetermined prediction coefficient ,
Interpolation means for performing interpolation using the encoded data;
An image comprising: prediction means for calculating a prediction value of the original image based on interpolation data obtained as a result of interpolation by the interpolation means and the predetermined prediction coefficient, and outputting the calculated value as a decoded image. Decryption device.
画像を符号化した符号化データを復号化する画像復号化方法であって、
前記符号化データが、
原画像を、その画素数を少なくすることにより圧縮し、
前記原画像を圧縮することにより得られる圧縮データを補正して、補正データを出力し、
前記補正データを用いて補間を行うことにより補間データを出力し、
前記補間データと所定の予測係数とに基づいて、前記原画像を予測して、その予測値を出力し、
前記原画像に対する、前記予測値の予測誤差を算出する
ことを、前記予測誤差が所定値以下になるまで繰り返す
ことにより得られた、前記予測誤差が所定値以下になったときにおける前記補正データと、
前記所定の予測係数と
である場合、
前記符号化データを用いて補間を行うことにより補間データを求め、
前記補間データと前記所定の予測係数とに基づいて、前記原画像の予測値を算出し、それを復号画像として出力する
ことを特徴とする画像復号化方法。
An image decoding method for decoding encoded data obtained by encoding an image, comprising:
The encoded data is
Compress the original image by reducing the number of pixels,
Correct the compressed data obtained by compressing the original image, and output the corrected data;
Output interpolation data by performing interpolation using the correction data,
Based on the interpolation data and a predetermined prediction coefficient, predict the original image, and output the predicted value,
With respect to the original image, calculating a prediction error of the prediction value, the prediction error was obtained by repeating until the predetermined value or less, and the correction data at the time when the prediction error is equal to or less than a predetermined value ,
If the predetermined prediction coefficient ,
Interpolation is performed by performing interpolation using the encoded data,
An image decoding method, comprising: calculating a predicted value of the original image based on the interpolation data and the predetermined prediction coefficient, and outputting the calculated value as a decoded image .
画像を符号化する画像符号化装置であって、
原画像を、その画素数を少なくすることにより圧縮する圧縮手段と、
前記原画像を圧縮することにより得られる圧縮データを補正し、補正データを出力する補正手段と、
前記補正データと所定の予測係数とに基づいて、前記原画像を予測し、その予測値を出力する予測手段と、
前記原画像に対する、前記予測値の予測誤差を算出する算出手段と、
前記予測誤差に基づいて、前記補正手段が出力する前記補正データの適正さを判定する判定手段と、
前記判定手段により前記補正データが適正でないと判定された場合、前記圧縮データを前記補正手段に再補正させ、再補正の結果得られる補正データの適正さを前記判定手段に再判定させる制御を行い、前記判定手段により前記補正データが適正であると判定された場合、前記補正データを、前記所定の予測係数とともに前記原画像の符号化結果として出力する出力手段と
を備え、
前記予測手段は、所定の注目画素を含む所定の範囲内の画素についての前記補正データと前記所定の予測係数とに基づいて、前記予測値を算出し、
前記補正手段は、前記予測値の予測誤差に対応して、前記所定の注目画素のみについての圧縮データを補正する
ことを特徴とする画像符号化装置。
An image encoding device for encoding an image, comprising:
Compression means for compressing the original image by reducing the number of pixels;
Correction means for correcting compressed data obtained by compressing the original image and outputting correction data;
Prediction means for predicting the original image based on the correction data and a predetermined prediction coefficient, and outputting the predicted value;
Calculating means for calculating a prediction error of the predicted value with respect to the original image;
Determination means for determining the appropriateness of the correction data output by the correction means based on the prediction error;
When the determination unit determines that the correction data is not appropriate, control is performed to cause the correction unit to recorrect the compressed data, and to cause the determination unit to re-determine the appropriateness of the correction data obtained as a result of the recorrection. An output unit that outputs the correction data as an encoding result of the original image together with the predetermined prediction coefficient when the determination unit determines that the correction data is appropriate .
The prediction means calculates the prediction value based on the correction data and the predetermined prediction coefficient for pixels within a predetermined range including a predetermined pixel of interest,
The image encoding apparatus, wherein the correction unit corrects compressed data for only the predetermined pixel of interest in response to a prediction error of the prediction value.
原画像を、その画素数を少なくすることにより圧縮し、
前記原画像を圧縮することにより得られる圧縮データを補正して、補正データを出力し、
前記補正データと所定の予測係数とに基づいて、前記原画像を予測して、その予測値を出力し、
前記原画像に対する、前記予測値の予測誤差を算出する
ことを、前記予測誤差が所定値以下になるまで繰り返し、
前記予測誤差が所定値以下になったときにおける前記補正データを、前記所定の予測係数とともに前記原画像の符号化結果として出力する画像符号化方法であって、
前記予測値を、所定の注目画素を含む所定の範囲内の画素についての前記補正データと前記所定の予測係数とに基づいて算出し、
前記予測値の予測誤差に対応して、前記所定の注目画素のみについての圧縮データを補正する
ことを特徴とする画像符号化方法。
Compress the original image by reducing the number of pixels,
Correct the compressed data obtained by compressing the original image, and output the corrected data;
Based on the correction data and a predetermined prediction coefficient, predict the original image, and output the predicted value,
Calculating the prediction error of the prediction value for the original image is repeated until the prediction error falls below a predetermined value,
An image encoding method for outputting the correction data when the prediction error is equal to or less than a predetermined value as an encoding result of the original image together with the predetermined prediction coefficient ,
The prediction value is calculated based on the correction data and the predetermined prediction coefficient for pixels within a predetermined range including a predetermined target pixel,
An image encoding method, wherein compressed data for only the predetermined target pixel is corrected in correspondence with a prediction error of the prediction value.
JP34294496A 1996-12-24 1996-12-24 Image encoding device, image encoding method, image decoding device, and image decoding method Expired - Fee Related JP3747970B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34294496A JP3747970B2 (en) 1996-12-24 1996-12-24 Image encoding device, image encoding method, image decoding device, and image decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34294496A JP3747970B2 (en) 1996-12-24 1996-12-24 Image encoding device, image encoding method, image decoding device, and image decoding method

Publications (2)

Publication Number Publication Date
JPH10191353A JPH10191353A (en) 1998-07-21
JP3747970B2 true JP3747970B2 (en) 2006-02-22

Family

ID=18357731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34294496A Expired - Fee Related JP3747970B2 (en) 1996-12-24 1996-12-24 Image encoding device, image encoding method, image decoding device, and image decoding method

Country Status (1)

Country Link
JP (1) JP3747970B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1033884B1 (en) * 1998-09-18 2006-05-31 Sony Corporation Data converting device and method and recording medium
JP4752088B2 (en) * 2000-05-09 2011-08-17 ソニー株式会社 Data processing apparatus, data processing method, and recording medium
KR101648818B1 (en) * 2008-06-12 2016-08-17 톰슨 라이센싱 Methods and apparatus for locally adaptive filtering for motion compensation interpolation and reference picture filtering
EP2136565A1 (en) 2008-06-19 2009-12-23 Thomson Licensing Method for determining a filter for interpolating one or more pixels of a frame, method for encoding or reconstructing a frame and method for transmitting a frame
US9571857B2 (en) 2008-09-18 2017-02-14 Thomson Licensing Methods and apparatus for video imaging pruning
JP2021114636A (en) * 2018-04-26 2021-08-05 ソニーグループ株式会社 Coding device, coding method, decoding device, and decoding method

Also Published As

Publication number Publication date
JPH10191353A (en) 1998-07-21

Similar Documents

Publication Publication Date Title
EP0705035B1 (en) Encoding data represented as a multi-dimensional array
JP3748088B2 (en) Image processing apparatus and method, and learning apparatus and method
JP3912627B2 (en) Image coding apparatus, image coding method, and transmission method
JP4126709B2 (en) Image processing apparatus and image processing method
JP3915855B2 (en) Image coding apparatus, image coding method, learning apparatus, and learning method
EP0820198B1 (en) Apparatus and method for image coding and decoding
EP0825776B1 (en) Image coding using sub-sampling, classification of pixel blocks and association of mapping coefficients
JP3747970B2 (en) Image encoding device, image encoding method, image decoding device, 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
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
JP4534951B2 (en) Image coding apparatus, image coding method, image processing system, image processing method, transmission method, and recording medium
JP4582416B2 (en) Image coding apparatus and image coding method
JP3371159B2 (en) Digital image signal processing apparatus and processing method
JP3912629B2 (en) Image processing system, image encoding device, image encoding method, transmission method, and recording medium
JPH08307835A (en) Classification adaptive processing unit and its method
JP4496494B2 (en) Image coding apparatus and image coding method
JP3952326B2 (en) Image coding apparatus, image coding method, image processing system, image processing method, transmission method, and recording medium
JPH0888849A (en) Picture signal processing method and picture signal transmitter
EP1298934A1 (en) Apparatus and method for image coding and decoding
JP4487900B2 (en) Image processing system
KR100598754B1 (en) Device for coding original image data, device for decoding coded image data, method for coding original image data, method for decoding coded image data, method for transmitting image data, computer-readable storing media
JP2001339724A (en) Image encoding apparatus and method, and recording medium

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050822

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051018

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051122

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

Free format text: PAYMENT UNTIL: 20091209

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091209

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101209

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101209

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111209

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111209

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121209

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121209

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20131209

Year of fee payment: 8

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