(57)【特許請求の範囲】
【請求項１】
入力されたストリームを構成する画像をブロック化し、所定の大きさのブロックごとの直交変換係数を抽出する係数抽出手段と、
前記ストリームをデコードするデコード手段と、
前記ストリームに含まれる、各ブロックの直交変換のタイプを抽出する抽出手段と、
前記デコード手段によりデコードされた画像を構成する前記ブロックの境界における画素値と、そのブロックに隣接するブロックである隣接ブロックの境界における画素値との差分に対応する差分情報を、前記抽出手段により抽出された前記直交変換のタイプを参照し、隣接する画素間の差分を求めるようにして生成する差分情報演算手段と、
前記デコード手段によりデコードされた画像を構成する前記ブロックのアクティビティを検出するアクティビティ検出手段と、
前記差分情報と、前記アクティビティ検出手段により検出されたアクティビティに基づいて、前記ブロックのアクティビティと隣接ブロックのアクティビティが等しい場合には、前記ブロックの画素のうちの前記隣接ブロックと隣接する画素である境界画素の画素値と、前記境界画素と隣接する前記隣接ブロックの画素の画素値とを中間の画素値に近づけるような補正値を算出し、前記ブロックのアクティビティと隣接ブロックのアクティビティに所定の差がある場合には、前記ブロックの前記境界画素の画素値と、前記境界画素と隣接する前記隣接ブロックの画素の画素値のうちの、アクティビティが大きい方のブロックの画素値を、アクティビティが小さい方の画素値に近づけるような補正値を算出する補正値算出手段と、
前記補正値算出手段により算出された、画素値の差分として表される補正値に直交変換処理を施す直交変換手段と、
前記直交変換手段により直交変換処理が施されることによって求められた直交変換係数を修正する修正手段と、
前記修正手段により修正された直交変換係数を、前記係数抽出手段により抽出された直交変換係数に対して加算または減算することにより、補正直交変換係数を得る補正手段と、
前記補正直交変換係数を逆直交変換し、画素値に変換する逆直交変換手段と、
逆直交変換結果と、所定の参照画像を動き補償することによって前記デコード手段により得られた予測画像とを用いて、画像を作成する画像作成手段と
を備え、
前記画像作成手段により作成された画像が、前記ストリームをデコードするための参照画像として前記デコード手段により用いられる
画像処理装置。
【請求項２】
前記修正手段は、高周波数成分を低減することにより、直交変換係数を修正する
請求項１に記載の画像処理装置。
【請求項３】
前記修正手段は、高次のものを０とすることにより、直交変換係数を修正する
請求項１に記載の画像処理装置。
【請求項４】
前記修正手段は、前記アクティビティに基づいて、直交変換係数のうち、０とするものを決定する
請求項１に記載の画像処理装置。
【請求項５】
前記ブロックの直交変換係数が量子化されている場合において、
前記修正手段は、前記ブロックの直交変換係数を量子化するときに用いられた量子化スケールに基づいて、直交変換係数のうち、０とするものを決定する
請求項１に記載の画像処理装置。
【請求項６】
前記修正手段は、所定の重み付けを行うことにより、直交変換係数を修正する
請求項１に記載の画像処理装置。
【請求項７】
前記修正手段は、直交変換係数に対して、その直交変換係数の次数に基づく重み付けを行う
請求項１に記載の画像処理装置。
【請求項８】
前記ブロックの直交変換係数が量子化されている場合において、
前記修正手段は、直交変換係数に対して、前記ブロックの直交変換係数を量子化するときに用いられた量子化テーブルに基づく重み付けを行う
請求項１に記載の画像処理装置。
【請求項９】
入力されたストリームを構成する画像をブロック化し、所定の大きさのブロックごとの直交変換係数を抽出し、
前記ストリームをデコード手段によってデコードし、
前記ストリームに含まれる、各ブロックの直交変換のタイプを抽出し、
デコードした画像を構成する前記ブロックの境界における画素値と、そのブロックに隣接するブロックである隣接ブロックの境界における画素値との差分に対応する差分情報を、抽出した前記直交変換のタイプを参照し、隣接する画素間の差分を求めるようにして生成し、
デコードした画像を構成する前記ブロックのアクティビティを検出し、
前記差分情報と、検出したアクティビティに基づいて、前記ブロックのアクティビティと隣接ブロックのアクティビティが等しい場合には、前記ブロックの画素のうちの前記隣接ブロックと隣接する画素である境界画素の画素値と、前記境界画素と隣接する前記隣接ブロックの画素の画素値とを中間の画素値に近づけるような補正値を算出し、前記ブロックのアクティビティと隣接ブロックのアクティビティに所定の差がある場合には、前記ブロックの前記境界画素の画素値と、前記境界画素と隣接する前記隣接ブロックの画素の画素値のうちの、アクティビティが大きい方のブロックの画素値を、アクティビティが小さい方の画素値に近づけるような補正値を算出し、
算出した、画素値の差分として表される補正値に直交変換処理を施し、
直交変換処理を施すことによって求められた直交変換係数を修正し、
修正した直交変換係数を、抽出した直交変換係数に対して加算または減算することにより、補正直交変換係数を取得し、
前記補正直交変換係数を逆直交変換し、画素値に変換し、
逆直交変換結果と、所定の参照画像を動き補償することによって前記デコード手段により得られた予測画像とを用いて、画像を作成する
ステップを含み、
作成した画像が、前記ストリームをデコードするための参照画像として前記デコード手段により用いられる
画像処理方法。
【請求項１０】
入力されたストリームを構成する画像をブロック化し、所定の大きさのブロックごとの直交変換係数を抽出し、
前記ストリームをデコード手段によってデコードし、
前記ストリームに含まれる、各ブロックの直交変換のタイプを抽出し、
デコードした画像を構成する前記ブロックの境界における画素値と、そのブロックに隣接するブロックである隣接ブロックの境界における画素値との差分に対応する差分情報を、抽出した前記直交変換のタイプを参照し、隣接する画素間の差分を求めるようにして生成し、
デコードした画像を構成する前記ブロックのアクティビティを検出し、
前記差分情報と、検出したアクティビティに基づいて、前記ブロックのアクティビティと隣接ブロックのアクティビティが等しい場合には、前記ブロックの画素のうちの前記隣接ブロックと隣接する画素である境界画素の画素値と、前記境界画素と隣接する前記隣接ブロックの画素の画素値とを中間の画素値に近づけるような補正値を算出し、前記ブロックのアクティビティと隣接ブロックのアクティビティに所定の差がある場合には、前記ブロックの前記境界画素の画素値と、前記境界画素と隣接する前記隣接ブロックの画素の画素値のうちの、アクティビティが大きい方のブロックの画素値を、アクティビティが小さい方の画素値に近づけるような補正値を算出し、
算出した、画素値の差分として表される補正値に直交変換処理を施し、
直交変換処理を施すことによって求められた直交変換係数を修正し、
修正した直交変換係数を、抽出した直交変換係数に対して加算または減算することにより、補正直交変換係数を取得し、
前記補正直交変換係数を逆直交変換し、画素値に変換し、
逆直交変換結果と、所定の参照画像を動き補償することによって前記デコード手段により得られた予測画像とを用いて、画像を作成する
ステップを含み、
作成した画像が、前記ストリームをデコードするための参照画像として前記デコード手段により用いられる
処理をコンピュータに実行させるプログラムが記録されている記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置および画像処理方法、並びに記録媒体に関し、特に、例えば、ＭＰＥＧ(Moving Picture Experts Group)符号化された画像に生じる歪みを、容易に低減することができるようにする画像処理装置および画像処理方法、並びに記録媒体に関する。
【０００２】
【従来の技術】
例えば、ＭＰＥＧ１や２等の規格に基づいてエンコード（ＭＰＥＧエンコード）された画像データをＭＰＥＧデコードして得られる復号画像には、ＭＰＥＧエンコードの際に、ＤＣＴ(Discrete Cosine Transform)係数が量子化されることに起因して、ブロック歪み等の各種の歪みが発生する。
【０００３】
即ち、ＤＣＴ係数を量子化すると、その一部が失われ、ＤＣＴ処理を施す単位であるブロックのパターンが単純化し、隣接するブロックにおいて、画素値が大きく異なる値となることによる不連続な段差が現れるが、これは、ブロック歪みと呼ばれる。
【０００４】
ブロック歪みは、ブロック単位の画素をＤＣＴ処理して量子化するというＭＰＥＧ方式のエンコードでは避けられないものであり、ＭＰＥＧエンコードされたビデオストリームを、ＭＰＥＧの規格に準拠してデコードする限り、少なからず発生する。なお、ブロック歪みは、平坦な画像において特に目立ち、また、圧縮率を高くすると（量子化スケールを大きくすると）、顕著に現れる。
【０００５】
そこで、例えば、再公表特許ＷＯ９８／５４８９２等には、ＭＰＥＧデコードして得られる復号画像について、ブロックの境界の位置を判定し、その境界で発生している画素値の段差を検出して、その段差を、ブロック境界付近の画素値を操作することで低減する方法が開示されている。
【０００６】
【発明が解決しようとする課題】
しかしながら、ＭＰＥＧエンコーダでは、Ｐ（前方向予測符号化）ピクチャやＢ（両方向予測符号化）ピクチャについては、既にエンコードされてローカルデコードされた画像を参照画像として、その参照画像に動き補償を施すことにより得られる予測画像との差分（予測残差）がＤＣＴ処理されて量子化される。従って、ＭＰＥＧデコーダでも、ＰピクチャやＢピクチャは、既にデコードされた画像を参照画像として、その参照画像に動き補償を施すことにより得られる予測画像と、その予測残差とが加算されることによりデコードされるが、上述の方法では、予測画像を得るときに行われる動き補償によって移動する参照画像のブロックの境界を、その参照画像について動き検出を行うことにより追跡する必要があり、面倒であった。
【０００７】
さらに、その動き検出においては、ＭＰＥＧエンコーダで検出された動きベクトルと同一の動きベクトルを得る必要があるが、参照画像、即ち、ＭＰＥＧデコーダでデコードされた画像を用いて動き検出を行っても、ＭＰＥＧエンコーダで検出されたのと同一の動きベクトルを検出することができるとは限らず、この場合、参照画像に生じているブロック歪みが、その参照画像に動き補償を施すことにより得られる予測画像を用いてデコードされる画像に現れることとなる。
【０００８】
本発明は、このような状況に鑑みてなされたものであり、ＭＰＥＧエンコードされた画像等に生じる歪みを、容易に低減し、これにより、高画質の復号画像を得ることができるようにするものである。
【０００９】
【課題を解決するための手段】
本発明の画像処理装置は、入力されたストリームを構成する画像をブロック化し、所定の大きさのブロックごとの直交変換係数を抽出する係数抽出手段と、前記ストリームをデコードするデコード手段と、前記ストリームに含まれる、各ブロックの直交変換のタイプを抽出する抽出手段と、前記デコード手段によりデコードされた画像を構成する前記ブロックの境界における画素値と、そのブロックに隣接するブロックである隣接ブロックの境界における画素値との差分に対応する差分情報を、前記抽出手段により抽出された前記直交変換のタイプを参照し、隣接する画素間の差分を求めるようにして生成する差分情報演算手段と、前記デコード手段によりデコードされた画像を構成する前記ブロックのアクティビティを検出するアクティビティ検出手段と、前記差分情報と、前記アクティビティ検出手段により検出されたアクティビティに基づいて、前記ブロックのアクティビティと隣接ブロックのアクティビティが等しい場合には、前記ブロックの画素のうちの前記隣接ブロックと隣接する画素である境界画素の画素値と、前記境界画素と隣接する前記隣接ブロックの画素の画素値とを中間の画素値に近づけるような補正値を算出し、前記ブロックのアクティビティと隣接ブロックのアクティビティに所定の差がある場合には、前記ブロックの前記境界画素の画素値と、前記境界画素と隣接する前記隣接ブロックの画素の画素値のうちの、アクティビティが大きい方のブロックの画素値を、アクティビティが小さい方の画素値に近づけるような補正値を算出する補正値算出手段と、前記補正値算出手段により算出された、画素値の差分として表される補正値に直交変換処理を施す直交変換手段と、前記直交変換手段により直交変換処理が施されることによって求められた直交変換係数を修正する修正手段と、前記修正手段により修正された直交変換係数を、前記係数抽出手段により抽出された直交変換係数に対して加算または減算することにより、補正直交変換係数を得る補正手段と、前記補正直交変換係数を逆直交変換し、画素値に変換する逆直交変換手段と、逆直交変換結果と、所定の参照画像を動き補償することによって前記デコード手段により得られた予測画像とを用いて、画像を作成する画像作成手段とを備え、前記画像作成手段により作成された画像が、前記ストリームをデコードするための参照画像として前記デコード手段により用いられる。
【００１０】
本発明の画像処理方法は、入力されたストリームを構成する画像をブロック化し、所定の大きさのブロックごとの直交変換係数を抽出し、前記ストリームをデコード手段によってデコードし、前記ストリームに含まれる、各ブロックの直交変換のタイプを抽出し、デコードした画像を構成する前記ブロックの境界における画素値と、そのブロックに隣接するブロックである隣接ブロックの境界における画素値との差分に対応する差分情報を、抽出した前記直交変換のタイプを参照し、隣接する画素間の差分を求めるようにして生成し、デコードした画像を構成する前記ブロックのアクティビティを検出し、前記差分情報と、検出したアクティビティに基づいて、前記ブロックのアクティビティと隣接ブロックのアクティビティが等しい場合には、前記ブロックの画素のうちの前記隣接ブロックと隣接する画素である境界画素の画素値と、前記境界画素と隣接する前記隣接ブロックの画素の画素値とを中間の画素値に近づけるような補正値を算出し、前記ブロックのアクティビティと隣接ブロックのアクティビティに所定の差がある場合には、前記ブロックの前記境界画素の画素値と、前記境界画素と隣接する前記隣接ブロックの画素の画素値のうちの、アクティビティが大きい方のブロックの画素値を、アクティビティが小さい方の画素値に近づけるような補正値を算出し、算出した、画素値の差分として表される補正値に直交変換処理を施し、直交変換処理を施すことによって求められた直交変換係数を修正し、修正した直交変換係数を、抽出した直交変換係数に対して加算または減算することにより、補正直交変換係数を取得し、前記補正直交変換係数を逆直交変換し、画素値に変換し、逆直交変換結果と、所定の参照画像を動き補償することによって前記デコード手段により得られた予測画像とを用いて、画像を作成するステップを含み、作成した画像が、前記ストリームをデコードするための参照画像として前記デコード手段により用いられる。
【００１１】
本発明の記録媒体は、入力されたストリームを構成する画像をブロック化し、所定の大きさのブロックごとの直交変換係数を抽出し、前記ストリームをデコード手段によってデコードし、前記ストリームに含まれる、各ブロックの直交変換のタイプを抽出し、デコードした画像を構成する前記ブロックの境界における画素値と、そのブロックに隣接するブロックである隣接ブロックの境界における画素値との差分に対応する差分情報を、抽出した前記直交変換のタイプを参照し、隣接する画素間の差分を求めるようにして生成し、デコードした画像を構成する前記ブロックのアクティビティを検出し、前記差分情報と、検出したアクティビティに基づいて、前記ブロックのアクティビティと隣接ブロックのアクティビティが等しい場合には、前記ブロックの画素のうちの前記隣接ブロックと隣接する画素である境界画素の画素値と、前記境界画素と隣接する前記隣接ブロックの画素の画素値とを中間の画素値に近づけるような補正値を算出し、前記ブロックのアクティビティと隣接ブロックのアクティビティに所定の差がある場合には、前記ブロックの前記境界画素の画素値と、前記境界画素と隣接する前記隣接ブロックの画素の画素値のうちの、アクティビティが大きい方のブロックの画素値を、アクティビティが小さい方の画素値に近づけるような補正値を算出し、算出した、画素値の差分として表される補正値に直交変換処理を施し、直交変換処理を施すことによって求められた直交変換係数を修正し、修正した直交変換係数を、抽出した直交変換係数に対して加算または減算することにより、補正直交変換係数を取得し、前記補正直交変換係数を逆直交変換し、画素値に変換し、逆直交変換結果と、所定の参照画像を動き補償することによって前記デコード手段により得られた予測画像とを用いて、画像を作成するステップを含み、作成した画像が、前記ストリームをデコードするための参照画像として前記デコード手段により用いられる処理をコンピュータに実行させるプログラムが記録されている。
【００１２】
本発明の画像処理装置および画像処理方法、並びに記録媒体においては、入力されたストリームを構成する画像がブロック化され、所定の大きさのブロックごとの直交変換係数が抽出され、前記ストリームがデコード手段によってデコードされ、前記ストリームに含まれる、各ブロックの直交変換のタイプが抽出される。また、デコードした画像を構成する前記ブロックの境界における画素値と、そのブロックに隣接するブロックである隣接ブロックの境界における画素値との差分に対応する差分情報が、抽出した前記直交変換のタイプを参照し、隣接する画素間の差分を求めるようにして生成される。デコードされた画像を構成する前記ブロックのアクティビティが検出され、前記差分情報と、検出されたアクティビティに基づいて、前記ブロックのアクティビティと隣接ブロックのアクティビティが等しい場合には、前記ブロックの画素のうちの前記隣接ブロックと隣接する画素である境界画素の画素値と、前記境界画素と隣接する前記隣接ブロックの画素の画素値とを中間の画素値に近づけるような補正値が算出され、前記ブロックのアクティビティと隣接ブロックのアクティビティに所定の差がある場合には、前記ブロックの前記境界画素の画素値と、前記境界画素と隣接する前記隣接ブロックの画素の画素値のうちの、アクティビティが大きい方のブロックの画素値を、アクティビティが小さい方の画素値に近づけるような補正値が算出される。算出された、画素値の差分として表される補正値に直交変換処理が施され、直交変換処理を施すことによって求められた直交変換係数が修正され、修正された直交変換係数が、抽出された直交変換係数に対して加算または減算されることにより、補正直交変換係数が取得され、前記補正直交変換係数が逆直交変換され、画素値に変換され、逆直交変換結果と、所定の参照画像を動き補償することによって前記デコード手段により得られた予測画像とを用いて、画像が作成される。また、作成された画像が、前記ストリームをデコードするための参照画像として前記デコード手段により用いられる。
【００１３】
【発明の実施の形態】
図１は、本発明を適用した画像処理装置の一実施の形態の構成例を示している。
【００１４】
この画像処理装置は、入力画像分析部１、歪補正値算出部２、および画像再構成部３で構成され、例えば、ＭＰＥＧ１や２等の規格に準拠してエンコードされた画像データをデコードするようになっている。
【００１５】
入力画像分析部１は、ＭＰＥＧデコード部１１、ＤＣＴ係数抽出／逆量子化部１２、およびサイドインフォメーション(side information)抽出部１３で構成されており、そこには、画像データをＭＰＥＧエンコードすることにより得られたビデオストリーム（以下、適宜、ＭＰＥＧビデオストリームという）が入力されるようになっている。
【００１６】
ＭＰＥＧデコード部１１には、入力画像分析部１に入力されるＭＰＥＧビデオストリームの他、画像再構成部３の画像メモリ３４に記憶された、歪みの低減された復号画像が、参照画像として供給されるようになっている。ＭＰＥＧデコード部１１は、そこに供給されるＭＰＥＧビデオストリームをＭＰＥＧデコードし、その結果得られる復号画像を、歪補正値算出部２のブロック境界段差検出部２１およびアクティビティ算出部２２に供給する。また、ＭＰＥＧデコード部１１は、Ｉ（イントラ符号化）ピクチャ、Ｐピクチャ、Ｂピクチャのうちの、ＰピクチャとＢピクチャの復号に用いられる予測画像（既に復号された画像を参照画像として、その参照画像に、動きベクトルにしたがって動き補償を施すことにより得られる画像）を、画像再構成部３の出力画像作成部３３に供給する。
【００１７】
なお、ＭＰＥＧデコード部１１は、その内部で得られる復号画像ではなく、上述のようにして画像メモリ３４から供給される、歪みの低減された復号画像を参照画像として用い、その参照画像に対して、ＭＰＥＧビデオストリームに含まれる動きベクトルにしたがって動き補償を施すことにより、予測画像を得るようになっている。
【００１８】
従って、ＭＰＥＧデコード部１１における動き補償は、歪みの低減された復号画像を参照画像として用いて行われるため、参照画像に生じているブロック歪みが、その参照画像に動き補償を施すことにより得られる予測画像を用いてデコードされる画像に現れることを防止することができる。即ち、ＭＰＥＧデコード部１１において、そこでＭＰＥＧデコードされたＩまたはＰピクチャを参照画像として動き補償により予測画像を生成する場合には、その参照画像とするＩまたはＰピクチャにおいて生じているブロック歪みが、動き補償により移動する。さらに、その動き補償により得られる予測画像には、ＰまたはＢピクチャの予測残差が加算されて、そのＰまたはＢピクチャが復号されるが、その復号されたＰまたはＢピクチャには、予測画像における歪みに加えて、予測残差における歪みも現れ、歪み自体の検出が困難となる。これに対して、ＭＰＥＧデコード部１１は、上述のようにして画像メモリ３４から供給される、歪みの低減された復号画像を参照画像として用い、その参照画像に対して、ＭＰＥＧビデオストリームに含まれる動きベクトルにしたがって動き補償を施すので、上述のような歪み検出の問題は生じない。
【００１９】
ＤＣＴ係数抽出／逆量子化部１２には、入力画像分析部１に入力されるＭＰＥＧビデオストリームが供給されるようになっている。ＤＣＴ係数抽出／逆量子化部１２は、そこに供給されるＭＰＥＧビデオストリームから、量子化されたＤＣＴ係数を抽出して逆量子化し、その結果得られる８×８画素のブロックごとのＤＣＴ係数を、画像再構成部３の補正値加算部３１に供給する。
【００２０】
サイドインフォメーション抽出部１３には、入力画像分析部１に入力されるＭＰＥＧビデオストリームが供給されるようになっている。サイドインフォメーション抽出部１３は、そこに供給されるＭＰＥＧビデオストリームに含まれる、例えば、量子化スケールや量子化テーブル、ＤＣＴタイプ等のサイドインフォメーションを抽出し、歪補正値算出部２および画像再構成部３に供給する。即ち、例えば、量子化スケールは、画像再構成部３の補正値加算部３１に供給され、ＤＣＴタイプは、歪補正値算出部２のブロック境界段差検出部２１およびアクティビティ算出部２２、並びに画像再構成部３の補正値加算部３１に供給される。
【００２１】
歪補正値算出部２は、ブロック段差検出部２１、アクティビティ算出部２２、補正値算出部２３、ＤＣＴ変換部２４、および高域低減部２５から構成され、入力画像分析部１のＤＣＴ係数抽出／逆量子化部１２が出力する、逆量子化されたＤＣＴ係数の補正に用いる補正値を算出する。
【００２２】
即ち、ブロック境界段差検出部２１は、ＭＰＥＧデコード部１１からのブロック単位の復号画像について、各ブロックを順次、注目ブロックとし、注目ブロックの境界を構成する画素値と、その注目ブロックに隣接するブロックの境界を構成する画素値との差分を、サイドインフォメーション部１３から供給されるＤＣＴタイプを参照することで演算し、注目ブロックの境界の差分情報として、補正値算出部２３に供給する。
【００２３】
アクティビティ算出部２２は、ＭＰＥＧデコード部１１からのブロック単位の復号画像について、注目ブロックのアクティビティを演算するとともに、その注目ブロックに隣接するブロックのアクティビティを、サイドインフォメーション部１３から供給されるＤＣＴタイプを参照することで演算し、補正値算出部２３および高域低減部２５に供給する。
【００２４】
補正値算出部２３は、ブロック境界段差検出部２１からのブロックの境界の差分情報に対して、アクティビティ算出部２２からのアクティビティに基づく重み付けを行い、その重み付け結果を、ＤＣＴ係数抽出／逆量子化部１２が出力する、逆量子化されたＤＣＴ係数の補正に用いる補正値として、ＤＣＴ変換部２４に供給する。
【００２５】
ＤＣＴ変換部２４は、補正値算出部２３からの補正値にＤＣＴ処理を施し、高域低減部２５に供給する。即ち、図１において、補正値算出部２３が出力する補正値は、空間領域の値（画素値の差分）となっているので、ＤＣＴ変換部２４は、その空間領域の補正値をＤＣＴ処理することで、周波数領域の補正値としてのＤＣＴ係数に変換し、高域低減部２５に供給する。
【００２６】
高域低減部２５は、ＤＣＴ変換部２４からの補正値としてのＤＣＴ係数を、アクティビティ算出部２２からのアクティビティに基づいて修正し、その修正後の補正値を、画像再構成部３の補正値加算部３１に供給する。
【００２７】
画像再構成部３は、補正値加算部３１、逆ＤＣＴ変換部３２、出力画像作成部３３、画像メモリ３４、およびピクチャ選択部３５で構成され、入力画像分析部１のＤＣＴ係数抽出／逆量子化部１２が出力するブロック単位のＤＣＴ係数に対して、歪補正値算出部２が出力する補正値に基づく補正を施し、その補正後のＤＣＴ係数を用いて、画像を復号する。
【００２８】
即ち、補正値加算部３１は、ＤＣＴ係数抽出／逆量子化部１２が出力するブロックのＤＣＴ係数と、高域低減部２５が出力する補正値としてのＤＣＴ係数とを加算（減算）し、これにより、ブロックのＤＣＴ係数を補正して、逆ＤＣＴ変換部３２に供給する。
【００２９】
逆ＤＣＴ変換部３２は、補正値加算部３１が出力するブロックの、補正されたＤＣＴ係数を逆ＤＣＴ処理し、画素値のブロックを復号して、出力画像作成部３３に供給する。
【００３０】
出力画像作成部３３は、必要に応じて、逆ＤＣＴ変換部３２からの画素値のブロックに対して、ＭＰＥＧデコード部１１が出力する予測画像を、サイドインフォメーション部１３が出力するＤＣＴタイプを参照することで加算することにより、復号画像のブロックを得る。さらに、出力画像作成部３３は、その復号画像のブロックを、ピクチャ選択部３５に供給するとともに、必要に応じて、画像メモリ３４に供給する。
【００３１】
画像メモリ３４は、出力画像作成部３３が出力する復号画像のうち、ＰまたはＢピクチャの予測画像を作成するための参照画像となるものを記憶する。そして、画像メモリ３４に記憶された画像は、必要に応じて読み出され、ＭＰＥＧデコード部１１に参照画像として供給されるとともに、ピクチャ選択部３５に供給される。なお、ＭＰＥＧ１や２において、予測画像の作成に用いられる参照画像となるのは、Ｉピクチャか、Ｐピクチャなので、本実施の形態では、画像メモリ３４に記憶されるのは、ＩピクチャとＰピクチャだけで、Ｂピクチャは記憶されない。
【００３２】
ピクチャ選択部３５は、出力画像作成部３３が出力する画像、または画像メモリ３４から読み出される画像のうちのいずれか一方を、必要に応じて選択して出力する。即ち、ＭＰＥＧでは、画像のデコード（エンコード）順序と、表示順序とが一致していないため、ピクチャ選択部３５は、出力画像作成部３３が出力する画像、または画像メモリ３４に記憶された画像のうちの、いま表示すべき方を選択して出力する。
【００３３】
なお、図１の画像処理装置（後述する図２２の画像処理装置においても同様）においては、実際には、各ブロックにおける遅延に対処するのに、タイミング調整用のメモリと同期信号が必要となるが、図が煩雑になるのを避けるため、その図示は省略してある。
【００３４】
次に、図２のフローチャートを参照して、図１の画像処理装置による画像の復号処理について説明する。
【００３５】
入力画像分析部１に対して、ＭＰＥＧビデオストリームが供給されると、入力画像分析部１は、ステップＳ１において、いま復号対象となっているのがＩピクチャであるかどうかを判定する。
【００３６】
ステップＳ１において、いま復号対象となっているのがＩピクチャであると判定された場合、ステップＳ２に進み、ＭＰＥＧデコード部１１は、そのＩピクチャをＭＰＥＧデコードし、ブロック境界段差検出部２１およびアクティビティ算出部２２に供給する。さらに、ステップＳ２では、ＤＣＴ係数抽出／逆量子化部１２が、ＭＰＥＧビデオストリームから、ＭＰＥＧデコード部１１で復号されたＩピクチャの、量子化されたＤＣＴ係数を抽出して逆量子化し、補正値加算部３１に供給するとともに、サイドインフォメーション部１３が、ＭＰＥＧビデオストリームから、ＭＰＥＧデコード部１１で復号されたＩピクチャについての量子化スケールおよびＤＣＴタイプを抽出する。量子化スケールは、補正値加算部３１に供給され、ＤＣＴタイプは、ブロック境界段差検出部２１、アクティビティ算出部２２、および補正値加算部３１に供給される。
【００３７】
一方、ステップＳ１において、いま復号対象となっているのがＩピクチャでないと判定された場合、即ち、復号対象がＰまたはＢピクチャである場合、ステップＳ３に進み、ＭＰＥＧデコード部１１は、画像メモリ３４から参照画像を読み出して動き補償を施すことにより、いま復号対象となっているＰまたはＢピクチャの予測画像を作成して、出力画像作成部３３に供給し、ステップＳ４に進む。
【００３８】
ステップＳ４では、ＭＰＥＧデコード部１１は、いま復号対象となっているＰまたはＢピクチャの、量子化されたＤＣＴ係数を逆量子化および逆ＤＣＴ処理し、その結果得られる画素値の予測残差に、ステップＳ３で得た予測画像を加算することで、いま復号対象となっているＰまたはＢピクチャを復号する。そして、ＭＰＥＧデコード部１１は、このＰまたはＢピクチャの復号結果を、ブロック段差検出部３１およびアクティビティ算出部２２に供給する。さらに、ステップＳ４では、ＤＣＴ係数抽出／逆量子化部１２が、ＭＰＥＧビデオストリームから、ＭＰＥＧデコード部１１で復号されたＰまたはＢピクチャの、量子化されたＤＣＴ係数を抽出して逆量子化し、補正値加算部３１に供給するとともに、サイドインフォメーション部１３が、ＭＰＥＧビデオストリームから、ＭＰＥＧデコード部１１で復号されたＰまたはＢピクチャについての量子化スケールおよびＤＣＴタイプを抽出する。量子化スケールは、補正値加算部３１に供給され、ＤＣＴタイプは、ブロック境界段差検出部２１、アクティビティ算出部２２、および補正値加算部３１に供給される。
【００３９】
ステップＳ２またはＳ４の処理後は、いずれも、ステップＳ５に進み、ブロック境界段差検出部２１は、ＭＰＥＧデコード部１１からの復号画像のブロックを、順次、注目ブロックとし、注目ブロックの境界を構成する画素値と、その注目ブロックに隣接するブロックの境界を構成する画素値との差分を、サイドインフォメーション部１３から供給されるＤＣＴタイプを参照しながら演算し、注目ブロックの境界の差分情報として、補正値算出部２３に供給して、ステップＳ６に進む。
【００４０】
ステップＳ６では、アクティビティ算出部２２は、ＭＰＥＧデコード部１１からの復号画像における注目ブロックのアクティビティと、その注目ブロックに隣接するブロックのアクティビティとを、サイドインフォメーション部１３から供給されるＤＣＴタイプを参照しながら演算し、補正値算出部２３および高域低減部２５に供給して、ステップＳ７に進む。
【００４１】
ステップＳ７では、補正値算出部２３は、ブロック境界段差検出部２１からのブロックの境界の差分情報に対して、アクティビティ算出部２２からのアクティビティに基づく重みを付し、その重み付け結果を、補正値として、ＤＣＴ変換部２４に供給して、ステップＳ８に進む。ステップＳ８では、ＤＣＴ変換部２４は、補正値算出部２３からの補正値にＤＣＴ処理を施し、高域低減部２５に供給して、ステップＳ９に進む。ステップＳ９では、高域低減部２５は、ＤＣＴ変換部２４からの補正値としてのＤＣＴ係数のうちの高次のものを、アクティビティ算出部２２からのアクティビティに基づいて修正し、その修正後の補正値を、補正値加算部３１に供給して、ステップＳ１０に進む。
【００４２】
ステップＳ１０では、画像再構成部３が、いま復号対象となっているのがＩピクチャであるかどうかを判定し、Ｉピクチャであると判定した場合、ステップＳ１１に進み、補正値加算部３１は、ＤＣＴ係数抽出／逆量子化部１２が出力するブロックのＤＣＴ係数と、高域低減部２５が出力する補正値としてのＤＣＴ係数とを加算し、即ち、ここでは、ＤＣＴ係数抽出／逆量子化部１２が出力するブロックのＤＣＴ係数から、高域低減部２５が出力する補正値としてのＤＣＴ係数を減算し、これにより、ブロックのＤＣＴ係数を補正して、逆ＤＣＴ変換部３２に供給する。
【００４３】
逆ＤＣＴ変換部３２は、ステップＳ１２において、補正値加算部３１が出力するブロックの、補正されたＤＣＴ係数を逆ＤＣＴ処理し、画素値のブロックを復号して、出力画像作成部３３に供給する。
【００４４】
一方、ステップＳ１０において、いま復号対象となっているのがＩピクチャでないと判定された場合、即ち、復号対象がＰまたはＢピクチャである場合、ステップＳ１３に進み、補正値加算部３１は、ステップＳ１１における場合と同様に、ＤＣＴ係数抽出／逆量子化部１２が出力するブロックのＤＣＴ係数（いまの場合、このＤＣＴ係数は、ＰまたはＢピクチャと予測画像との差分である予測残差をＤＣＴ処理して得られるもの（残差ＤＣＴ係数）である）と、高域低減部２５が出力する補正値としてのＤＣＴ係数とを加算し、これにより、ブロックのＤＣＴ係数を補正して、逆ＤＣＴ変換部３２に供給する。
【００４５】
逆ＤＣＴ変換部３２は、ステップＳ１４において、ステップＳ１２における場合と同様に、補正値加算部３１が出力するブロックの、補正されたＤＣＴ係数を逆ＤＣＴ処理し、画素値（予測残差）のブロックを復号して、出力画像作成部３３に供給し、ステップＳ１５に進む。
【００４６】
ステップＳ１５では、出力画像作成部３３は、逆ＤＣＴ変換部３２からの予測残差のブロックに、ＭＰＥＧデコード部１１から供給される予測画像を加算することで、復号画像を得る。即ち、いまの場合、復号対象が、予測画像との差分値である予測残差がエンコードされたＰまたはＢピクチャの画像であるため、逆ＤＣＴ変換部３２からのブロックは、予測残差のブロックとなっている。そこで、ステップＳ１５では、その予測残差に、予測画像が加算されることにより、ＰまたはＢピクチャの画像が復号される。
【００４７】
ステップＳ１２またはＳ１５の処理の後は、いずれも、ステップＳ１６に進み、出力画像作成部３３は、いま復号された画像がＢピクチャであるかどうかを判定する。
【００４８】
ステップＳ１６において、復号された画像がＢピクチャでないと判定された場合、即ち、復号された画像が、参照画像となり得るＩまたはＰピクチャである場合、ステップＳ１７に進み、出力画像作成部３３は、その復号されたＩまたはＰピクチャを、画像メモリ３４に供給して記憶させ、ステップＳ１８に進む。ステップＳ１８では、ピクチャ選択部３５が、画像メモリ３４に記憶された、前回復号されたＩまたはＰピクチャを選択して出力する。そして、ステップＳ１に戻り、以下、同様の処理を繰り返す。
【００４９】
また、ステップＳ１６において、復号された画像が、参照画像とされないＢピクチャであると判定された場合、出力画像作成部３３は、その復号されたＢピクチャを、ピクチャ選択部３５に供給して、ステップＳ１９に進む。ステップＳ１９では、ピクチャ選択部３５が、出力画像作成部３３が出力するＢピクチャを選択して出力する。そして、ステップＳ１に戻り、以下、同様の処理を繰り返す。
【００５０】
次に、図１の歪補正値算出部２および画像再構成部３における処理について、詳述する。
【００５１】
歪補正算出部２を構成するブロック境界段差検出部２１は、上述したように、注目ブロックの境界を構成する画素値と、その注目ブロックに隣接するブロックの境界を構成する画素値との差分を演算し、注目ブロックの境界の差分情報として出力する。
【００５２】
即ち、ブロック境界段差検出部２１は、図３に示すように、注目ブロックの境界を構成する２８の画素値と、その注目ブロックの上下左右それぞれに隣接するブロックの境界を構成する画素値との差分を演算する。なお、注目ブロックの、例えば、最も左上の画素値は、注目ブロックの上のブロックと、その左のブロックとの両方に隣接するが、このような場合は、それぞれのブロックとの差分が演算される。即ち、最も左上の画素値については、上に隣接するブロックの画素値との差分と、左に隣接するブロックの画素値との差分の、２つの差分が演算される。注目ブロックの右上、左下、右下の画素についても同様である。従って、ブロック境界段差検出部２１では、注目ブロックの境界を構成する画素について、３２（＝８×４）個の差分値が演算される。
【００５３】
ここで、ＭＰＥＧでは、画像が１６×１６画素のマクロブロックに分割され、さらに、そのマクロブロックが８×８画素のブロックに分割され、ブロック単位でＤＣＴ処理および量子化処理が施されるが、マクロブロックをブロック分割してＤＣＴ処理を施すモードとしては、フレームＤＣＴモードとフィールドＤＣＴモードとが用意されている。
【００５４】
即ち、例えば、いま図４（Ａ）に示すように、１６×１６画素のマクロブロックの最上行のラインを第１ラインとすると、フレームＤＣＴモードでは、輝度信号に注目した場合、マクロブロックが、図４（Ｂ）に示すように、奇数ラインと偶数ラインとが交互に並んだフレームで構成されるような４個のブロックに分割される。これに対して、フィールドＤＣＴモードでは、輝度信号に注目した場合、マクロブロックが、図４（Ｃ）に示すように、奇数ラインだけと偶数ラインだけとからなるフィールドで構成されるような４個のブロックに分割される。
【００５５】
フレームＤＣＴモードとフィールドＤＣＴモードとは、マクロブロック単位で切り替えることが可能であり、いずれのモードを用いてＭＰＥＧエンコードされたかは、ＭＰＥＧビデオストリームに含まれるサイドインフォメーションの１つであるＤＣＴタイプを参照することで認識することができる。
【００５６】
従って、注目ブロックが属するマクロブロック（以下、適宜、注目マクロブロックという）と、その注目マクロブロックに隣接するマクロブロックにおけるＤＣＴタイプが同一である場合には、問題はないが、ＤＣＴタイプが異なる場合には、注目ブロックの境界を構成する画素（以下、適宜、境界画素という）に隣接するブロックの画素が、本来隣接する画素でないこと（最終的に１フレームの画像の画像の状態で、隣接しない画素であること）がある。
【００５７】
そこで、ブロック境界段差検出部２１は、境界画素と本来隣接する画素との差分を演算するために、上述のように、サイドインフォメーション部１３から供給されるＤＣＴタイプを参照し、これにより、注目マクロブロックと、それに隣接するマクロブロックが、フレームＤＣＴモードまたはフィールドＤＣＴモードのいずれでＭＰＥＧエンコードされたものであるかを認識して、例えば、以下のように、注目ブロックの境界画素との差分を演算するようになっている。
【００５８】
即ち、いま、図５に示すように、注目マクロブロックをＭＢNと表すとともに、その上、下、左に隣接するマクロブロックを、それぞれＭＢU，ＭＢD，ＭＢLと表す。さらに、例えば、マクロブロックＭＢNを構成する４個のブロックのうち、ラスタスキャン順で、ｉ番目のブロックを、ＢN-iと表すこととする。さらに、注目マクロブロックＭＢNを構成する４つのブロックＢN-1，ＢN-2，ＢN-3，ＢN-4のうち、例えば、その左上のブロックＢN-1が注目ブロックであるとする。
【００５９】
そして、いま、例えば、図５に示すように、注目マクロブロックＭＢN、マクロブロックＭＢU，ＭＢD，ＭＢLが、いずれもフレームＤＣＴモードである場合には、注目ブロックＢN-1の上、下、左、右それぞれの境界画素については、その上、下、左、右に隣接する画素との差分がとられる。
【００６０】
即ち、注目ブロックＢN-1の上の境界画素それぞれについては、注目マクロブロックＭＢNの上に隣接するマクロブロックＭＢUの左下のブロックＢU-3の第８ラインの画素それぞれとの差分がとられる。また、下の境界画素については、注目マクロブロックＭＢNの左下のブロックＢN-3の第１ラインの画素それぞれとの差分がとられる。さらに、左の境界画素については、注目マクロブロックＭＢNの左に隣接するマクロブロックＭＢLの右上のブロックＢL-2の第１乃至第８ラインの最後（第８列）の画素それぞれとの差分がとられる。また、右の境界画素については、注目マクロブロックＭＢNの右上のブロックＢN-2の第１乃至第８ラインの先頭（第１列）の画素それぞれとの差分がとられる。
【００６１】
次に、例えば、図６に示すように、注目マクロブロックＭＢNがフィールドＤＣＴモードであり、マクロブロックＭＢU，ＭＢD，ＭＢLが、いずれもフレームＤＣＴモードである場合には、まず、注目ブロックＢN-1の右に隣接するブロックＢN-2は、注目マクロブロックＭＢNを構成するブロックであり、従って、注目ブロックＢN-1と、その右に隣接するブロックＢN-2とは同一のライン構造を有するから、注目ブロックＢN-1の右の境界画素については、その右隣の画素との差分がとられる。即ち、右の境界画素については、注目マクロブロックＭＢNの右上のブロックＢN-2の第１乃至第８ラインの先頭の画素それぞれとの差分がとられる。
【００６２】
また、注目ブロックＢN-1の上の境界画素それぞれについては、その上に隣接する画素、即ち、注目マクロブロックＭＢNの上に隣接するマクロブロックＭＢUの左下のブロックＢU-3の第７ラインの画素それぞれとの差分がとられる。
【００６３】
さらに、注目ブロックＢN-1の左の境界画素に関しては、その第１乃至第４ラインの境界画素それぞれについては、注目マクロブロックＭＢNの左隣のマクロブロックＭＢLを構成する右上のブロックＢL-2の第１，３，５，７ラインの最後の画素それぞれとの差分がとられ、第５乃至第８ラインの境界画素それぞれについては、注目マクロブロックＭＢNの左隣のマクロブロックＭＢLを構成する右下のブロックＢL-4の第１，３，５，７ラインの最後の画素それぞれとの差分がとられる。
【００６４】
また、注目ブロックＢN-1の下の境界画素それぞれについては、注目マクロブロックＭＢNの下に隣接するマクロブロックＭＢDを構成する左上のブロックＢD-1の第１ラインを構成する画素それぞれとの差分がとられる。
【００６５】
次に、例えば、図７に示すように、注目マクロブロックＭＢNがフレームＤＣＴモードであり、マクロブロックＭＢU，ＭＢD，ＭＢLが、いずれもフィールドＤＣＴモードである場合には、図６における場合と同様に、注目ブロックＢN-1と、その右に隣接するブロックＢN-2とは同一のライン構造を有するから、注目ブロックＢN-1の右の境界画素については、その右隣の画素との差分がとられる。即ち、右の境界画素については、注目マクロブロックＭＢNの右上のブロックＢN-2の第１乃至第８ラインの先頭の画素それぞれとの差分がとられる。
【００６６】
また、注目ブロックＢN-1の下の境界画素それぞれについては、その下に隣接する画素、即ち、注目マクロブロックＭＢNの左下のブロックＢN-3の第１ラインの画素それぞれとの差分がとられる。
【００６７】
さらに、注目ブロックＢN-1の左の境界画素に関しては、その第１，３，５，７ラインの境界画素それぞれについては、注目マクロブロックＭＢNの左隣のマクロブロックＭＢLを構成する右上のブロックＢL-2の第１乃至４ラインの最後の画素それぞれとの差分がとられ、第２，４，６，８ラインの境界画素それぞれについては、注目マクロブロックＭＢNの左隣のマクロブロックＭＢLを構成する右下のブロックＢL-4の第１乃至４ラインの先頭の画素それぞれとの差分がとられる。
【００６８】
また、注目ブロックＢN-1の上の境界画素それぞれについては、注目マクロブロックＭＢNの上に隣接するマクロブロックＭＢUを構成する左下のブロックＢU-3の第８ラインを構成する画素それぞれとの差分がとられる。
【００６９】
次に、例えば、図８に示すように、注目マクロブロックＭＢNと、マクロブロックＭＢU，ＭＢD，ＭＢLが、いずれもフィールドＤＣＴモードである場合には、図６における場合と同様に、注目ブロックＢN-1と、その右に隣接するブロックＢN-2とは同一のライン構造を有するから、注目ブロックＢN-1の右の境界画素については、その右隣の画素との差分がとられる。即ち、右の境界画素については、注目マクロブロックＭＢNの右上のブロックＢN-2の第１乃至第８ラインの先頭の画素それぞれとの差分がとられる。
【００７０】
また、注目ブロックＢN-1の上の境界画素それぞれについては、その上に隣接する画素、即ち、注目マクロブロックＭＢNの上に隣接するマクロブロックＭＢUの左下のブロックＢU-1の第８ラインの画素それぞれとの差分がとられる。
【００７１】
さらに、注目ブロックＢN-1の左の境界画素それぞれについては、注目マクロブロックＭＢNの左隣のマクロブロックＭＢLを構成する右上のブロックＢL-2の第１乃至第８ラインの最後の画素それぞれとの差分がとられる。
【００７２】
なお、ＭＢU，ＭＢL，ＭＢOがそれぞれ異なるＤＣＴタイプである場合、図５と７、または図６と８の組み合わせとなる。
【００７３】
また、注目ブロックＢN-1の下の境界画素それぞれについては、注目マクロブロックＭＢNの下に隣接するマクロブロックＭＢDを構成する左上のブロックＢD-1の第１ラインを構成する画素それぞれとの差分がとられる。
【００７４】
以上のように、ブロック境界段差検出部２１は、サイドインフォメーション部１３から供給されるＤＣＴタイプを参照することにより注目マクロブロックと、それに隣接するマクロブロックを構成するブロックのライン構造を認識し、注目ブロックの境界画素について、その境界画素と本来隣接する画素との差分を演算し、差分情報を得る。
【００７５】
次に、図１の歪補正値算出部２を構成するアクティビティ算出部２２の処理について説明する。
【００７６】
アクティビティ算出部２２は、ＭＰＥＧコード部１１から供給される画素値のブロックについて、そのアクティビティを計算する。即ち、いま、ブロックの第ｉ行第ｊ列の画素値を、ｐ（ｉ，ｊ）と表すと、アクティビティ算出部２２は、ブロックのアクティビティＶactを、例えば、次式にしたがって計算する。
【００７７】
0004419287.tif 000002
但し、式（１）において、Σは、ｉ，ｊを、１からＩ，Ｊまでに変えてのサメーションを表し、ＩとＪは、ブロックを構成する画素のライン数と列数を、それぞれ表す。従って、本実施の形態では、Ｉ，Ｊは、ともに８である。
【００７８】
なお、アクティビティ算出部２２は、注目ブロックについてアクティビティを計算するとともに、その注目ブロックの上下左右にそれぞれ隣接するブロックのアクティビティも計算する。但し、アクティビティ算出部２２は、注目ブロックの上下左右にそれぞれ隣接するブロックに関しては、サイドインフォメーション抽出部１３から供給されるＤＣＴタイプを参照することにより、そのブロックを構成するライン構造を認識し、注目ブロックと同一構成のライン構造のブロックについて、アクティビティを計算する。
【００７９】
即ち、例えば、図５に示したように、注目マクロブロックＭＢNと、マクロブロックＭＢU，ＭＢD，ＭＢLが、いずれもフレームＤＣＴモードである場合には、アクティビティ算出部２２は、注目ブロックＢN-1の上下左右に隣接するブロックのアクティビティを、それぞれ、注目ブロックＢN-1の上に隣接するブロックＢU-3の第１乃至第８ライン、下に隣接するブロックＢN-3の第１乃至第８ライン、左に隣接するブロックＢL-2の第１乃至第８ライン、右に隣接するブロックＢN-2の第１乃至第８ラインから、式（１）にしたがって演算する。
【００８０】
また、例えば、図６に示したように、注目マクロブロックＭＢNがフィールドＤＣＴモードであり、マクロブロックＭＢU，ＭＢD，ＭＢLが、いずれもフレームＤＣＴモードである場合には、アクティビティ算出部２２は、注目ブロックＢN-1の上下左右に隣接するブロックのアクティビティを、それぞれ、注目ブロックＢN-1の上に隣接するマクロブロックＭＢUのブロックＢU-1の４つの奇数ラインおよびブロックＢU-3の４つの奇数ライン、下に隣接するマクロブロックＭＢDのブロックＢD-1の４つの奇数ラインおよびブロックＢD-3の４つの奇数ライン、左に隣接するマクロブロックＭＢLのブロックＢL-2の４つの奇数ラインおよびブロックＢL-4の４つの奇数ライン、右に隣接するブロックＢN-2の第１乃至第８ラインから、式（１）にしたがって演算する。
【００８１】
さらに、例えば、図７に示したように、注目マクロブロックＭＢNがフレームＤＣＴモードであり、マクロブロックＭＢU，ＭＢD，ＭＢLが、いずれもフィールドＤＣＴモードである場合には、アクティビティ算出部２２は、注目ブロックＢN-1の上下左右に隣接するブロックのアクティビティを、それぞれ、注目ブロックＢN-1の上に隣接するマクロブロックＭＢUのブロックＢU-1の第５乃至第８ラインおよびブロックＢU-3の第５乃至第８ライン、下に隣接するブロックＢN-3の第１乃至第８ライン、左に隣接するマクロブロックＭＢLのブロックＢL-2の第１乃至第４ラインおよびブロックＢL-4の第１乃至第４ライン、右に隣接するブロックＢN-2の第１乃至第８ラインから、式（１）にしたがって演算する。
【００８２】
また、例えば、図８に示したように、注目マクロブロックＭＢN、マクロブロックＭＢU，ＭＢD，ＭＢLが、いずれもフィールドＤＣＴモードである場合には、アクティビティ算出部２２は、注目ブロックＢN-1の上下左右に隣接するブロックのアクティビティを、それぞれ、注目ブロックＢN-1の上に隣接するマクロブロックＭＢUのブロックＢU-1の第１乃至第８ライン、下に隣接するマクロブロックＭＢDのブロックＢD-1の第１乃至第８ライン、左に隣接するブロックＢL-2の第１乃至第８ライン、右に隣接するブロックＢN-2の第１乃至第８ラインから、式（１）にしたがって演算する。
【００８３】
次に、図１の歪補正値算出部２を構成する補正値算出部２３の処理について説明する。
【００８４】
補正値算出部２３は、ブロック境界段差検出部２１から供給される注目ブロックの境界の差分情報を、アクティビティ算出部２２からの注目ブロックおよびその上下左右に隣接するブロックのアクティビティに基づいて処理することにより、補正値を算出する。
【００８５】
即ち、補正値算出部２３は、注目ブロックと、それに隣接するブロック（以下、適宜、隣接ブロックという）とのアクティビティがほぼ等しい場合には、その注目ブロックの境界画素の画素値と、その境界画素に隣接する隣接ブロックの画素値とを、それらの２つの画素値の中間値に近づけるような補正値を求める。
【００８６】
具体的には、例えば、いま差分情報として用いている、注目ブロックの境界画素の画素値と、その境界画素に隣接する隣接ブロックの画素値との差分を、差分画素値というものとすると、補正値算出部２３は、例えば、図９（Ａ）に示すように、ブロック歪みを低減するために、注目ブロックの境界画素の画素値を、差分画素値の７／１６だけ、その境界画素に隣接する隣接ブロックの画素値に近づけるような補正値を求める。
【００８７】
なお、境界画素に隣接する隣接ブロックの画素値については、その隣接ブロックが注目ブロックとなった場合に、上述の場合と同様にして、差分画素値の７／１６だけ画素値を補正するような補正値が求められる。また、この場合、注目ブロックの境界画素の画素値と、その境界画素に隣接する隣接ブロックの画素値とが、互いに、差分画素値の７／１６だけ近づくように補正されることとなり、従って、それらの２つの補正後の画素値の間には、差分画素値の１／８（＝２／１６）だけの差が生じるが、これは、隣接するブロックの境界画素どうしの間に、ある程度の差がある方が、そのブロックどうしが滑らかに繋がり、自然に見えるからである。
【００８８】
一方、補正値算出部２３は、注目ブロックと、隣接ブロックとのアクティビティに、ある程度の差がある場合には、その注目ブロックの境界画素の画素値、またはその境界画素に隣接する隣接ブロックの画素値のうちの、アクティビティが大きい方のブロックの画素値を、アクティビティが小さい方のブロックの画素値に近づけるような補正値を求める。
【００８９】
即ち、注目ブロックと、隣接ブロックとのアクティビティに、ある程度の差がある場合には、そのうちのアクティビティの大きい方のブロックがモスキートノイズを含んでいる可能性が高いため、そのモスキートノイズが、他方のブロック（アクティビティが小さい方のブロック）に伝搬（影響）することを防止する必要がある。
【００９０】
そこで、補正値算出部２３は、注目ブロックと隣接ブロックとのアクティビティに、ある程度の差がある場合において、そのうちの注目ブロックのアクティビティの方が大きいときには、例えば、図９（Ｂ）に示すように、注目ブロックの境界画素の画素値を、差分画素値の分だけ、その境界画素に隣接する隣接ブロックの画素値に近づけるような補正値、即ち、注目ブロックの境界画素の画素値を、その境界画素に隣接する隣接ブロックの画素値に一致させるような補正値を求める。
【００９１】
補正値算出部２３は、以上のような補正値を、ブロック境界段差検出部２１からの差分画素値である差分情報と、アクティビティ算出部２２からのアクティビティを用いて、例えば、次のようにして求める。
【００９２】
即ち、例えば、いま、図１０に示すように、注目ブロックのアクティビティをＣで表すとともに、その上下左右に隣接するブロックのアクティビティを、それぞれＡ，Ｅ，Ｂ，Ｄでそれぞれ表すとすると、補正値算出部２３は、注目ブロックの上下左右の境界の差分情報としての差分画素値それぞれに対して付す重みＧｕ，Ｇｄ，Ｇｌ，Ｇｒを、次式にしたがって演算する。
【００９３】
0004419287.tif 000003
【００９４】
そして、補正値算出部２３は、図１１に示すように、注目ブロックの上下左右の境界それぞれの差分情報としての差分画素値を、Ｇｕ，Ｇｄ，Ｇｌ，Ｇｒ倍して補正値を得る。
【００９５】
なお、補正値算出部２３は、差分情報のうちの、例えば、最も左上の差分画素値については、重みＧｕとＧｌとの平均値を重みとして付す。同様に、補正値算出部２３は、最も右上の差分画素値については、重みＧｕとＧｒとの平均値を、最も左下の差分画素値については、重みＧｌとＧｄとの平均値を、最も右下の差分画素値については、重みＧｒとＧｄとの平均値を、それぞれ重みとして付す。
【００９６】
従って、補正値算出部２３では、境界部分に、重みが付された差分画素値が配置され、残りの部分に、０が配置されている８×８のブロックの補正値が得られる。
【００９７】
また、上述の場合には、差分情報に対して、アクティビティにのみ基づく重みを付して補正値を求めるようにしたが、補正値は、その他、例えば、注目ブロックに隣接する隣接ブロックが、注目マクロブロックではないマクロブロックに属し、かつ、注目ブロックと隣接ブロックとの量子化スケールが異なるときには、差分情報に対して、アクティビティと量子化スケールとに基づく重みを付して求めるようにすること等が可能である。
【００９８】
次に、図１の歪補正値算出部２を構成する高域低減部２５の処理について説明する。
【００９９】
高域低減部２５には、補正値算出部２３において得られる空間領域の８×８のブロックの補正値が、ＤＣＴ変換部２４において、図１２（Ａ）に示すようにＤＣＴ処理され、８×８個の周波数領域のＤＣＴ係数とされたものが供給される。
【０１００】
高域低減部２５は、そこに供給される補正値としてのＤＣＴ係数のうちの高次のものを低減することにより、即ち、例えば、図１２（Ｂ）に示すように、補正値としての８×８個のＤＣＴ係数のうちの第５行乃至第８行、および第５列乃至第８列のものを０とすること等により、その補正値を修正し、補正値加算部３１に供給する。
【０１０１】
即ち、ＤＣＴ変換部２４が出力する補正値を、そのまま、ＤＣＴ係数抽出／逆量子化部１２が出力するブロックのＤＣＴ係数の補正に用いると、そのブロックの境界付近の画素値しか補正されず、その結果、例えば、図１３（Ａ）に示すような急峻な段差のあるブロックの境界部分の画素値は、図１３（Ｂ）に示すように補正される。従って、ブロックの境界は、補正前よりも目立たなくはなるが、それでも、ブロックの境界部分の段差が、まだ急峻であるため、復号画像にブロック構造が現れる。
【０１０２】
そこで、高域低減部２５は、補正値としてのＤＣＴ係数の高次のものを低減することにより、その補正値を修正する。このような修正後の補正値を、ＤＣＴ係数抽出／逆量子化部１２が出力するブロックのＤＣＴ係数の補正に用いた場合には、そのブロックの境界付近だけでなく、その内部の画素値も補正され、その結果、例えば、図１３（Ａ）に示すような急峻な段差のあるブロックの境界部分の画素値は、図１３（Ｃ）に示すように補正される。従って、ブロックの境界部分の段差が滑らかになるため、復号画像にブロック構造が現れることを、十分低減することができる。
【０１０３】
次に、高域低減部２５において、補正値としてのＤＣＴ係数の高次のものを低減するように、補正値を修正する方法としては、図１２（Ｂ）に示したような、高次のＤＣＴ係数を０とする方法以外の方法を採用することが可能である。
【０１０４】
即ち、例えば、図１４（Ａ）に示すように、補正値は、第５行乃至第８行、および第５列乃至第８列のものを０に修正するのではなく、任意の第ｉ行以上、および第ｉ列以上のものを０に修正するようにすることができる。そして、この場合、変数ｉは、注目ブロックのアクティビティや、注目ブロックの量子化に用いられた量子化スケール等に基づいて決定することができる。即ち、例えば、注目ブロックのアクティビティが大きい場合には、より高次のＤＣＴ係数だけを０に修正するようにし、そのアクティビティが小さい場合には、より低次のＤＣＴ係数も０に修正するようにすることができる。また、例えば、注目ブロックの量子化スケールが小さい場合には、より高次のＤＣＴ係数だけを０に修正するようにし、その量子化スケールが大きい場合には、より低次のＤＣＴ係数も０に修正するようにすることができる。
【０１０５】
なお、注目ブロックのアクティビティや量子化スケール等に基づいて、０に修正するＤＣＴ係数の次数を決定する場合には、その次数の下限値を設定しておくようにすることができる。即ち、例えば、第４行以下および第４列以下のＤＣＴ係数は、０に修正しないような設定をしておくことが可能である。この場合、０に修正するＤＣＴ係数は、第５行乃至第８行、および第５列乃至第８列の範囲で変化することになる。
【０１０６】
また、補正値は、図１４（Ａ）に示したように、８×８のＤＣＴ係数のうち、同一の行と列以上のものを０に修正する他、０に修正する行と列を、独立に決定することも可能である。
【０１０７】
即ち、例えば、図１４（Ｂ）に示すように、注目ブロックの左と右にそれぞれ隣接するブロックのアクティビティが大きい場合には、水平方向の、より高次のＤＣＴ係数だけを０に修正するようにし、その左右に隣接するブロックのアクティビティが小さい場合には、水平方向の、より低次のＤＣＴ係数も０に修正するようにすることができる。また、例えば、注目ブロックの上と下にそれぞれ隣接するブロックのアクティビティが大きい場合には、垂直方向の、より高次のＤＣＴ係数だけを０に修正するようにし、上下に隣接するブロックのアクティビティが小さい場合には、垂直方向の、より低次のＤＣＴ係数も０に修正するようにすることができる。
【０１０８】
さらに、例えば、注目ブロックの左と右にそれぞれ隣接するブロックの量子化スケールが小さい場合には、水平方向の、より高次のＤＣＴ係数だけを０に修正するようにし、その左右に隣接するブロックの量子化スケールが大きい場合には、水平方向の、より低次のＤＣＴ係数も０に修正するようにすることができる。また、例えば、注目ブロックの上と下にそれぞれ隣接するブロックの量子化スケールが小さい場合には、垂直方向の、より高次のＤＣＴ係数だけを０に修正するようにし、その上下に隣接するブロックの量子化スケールが大きい場合には、垂直方向の、より低次のＤＣＴ係数も０に修正するようにすることができる。
【０１０９】
さらに、図１４（Ａ）や図１４（Ｂ）に示した場合においては、注目ブロックと、その上下に隣接するブロックや左右に隣接するブロックとのアクティビティの和等に基づいて、０に修正するＤＣＴ係数の次数を決定することも可能である。
【０１１０】
また、補正値としてのＤＣＴ係数は、例えば、そのＤＣＴ係数に、所定の重み付けを行うことにより修正することも可能である。
【０１１１】
即ち、例えば、図１４（Ｃ）に示すように、補正値としての８×８のＤＣＴ係数のうち、第ｖ行第ｕ列のＤＣＴ係数を、Ｆ（ｕ，ｖ）と表すとともに、修正後の補正値としてのＤＣＴ係数を、Ｆ’（ｕ，ｖ）と表すこととすると、補正値としてのＤＣＴ係数は、例えば、次の２つの式のいずれかにしたがって修正することが可能である。
【０１１２】
0004419287.tif 000004
但し、式（３）において、ａ，ｂ，ｃは、注目ブロックや、その上下左右に隣接するブロックのアクティビティ、あるいは量子化スケール等に基づいて設定される定数を表す。
【０１１３】
また、補正値としてのＤＣＴ係数は、例えば、注目ブロックの量子化に用いられた量子化テーブルに基づく重み付けを行うことにより修正することも可能である。
【０１１４】
即ち、注目ブロックの量子化に用いられた量子化テーブルｑが、例えば、図１４（Ｄ）に示すようなものであった場合において、その量子化テーブルｑの第ｖ行第ｕ列の値をｑ（ｕ，ｖ）と表すと、補正値としてのＤＣＴ係数は、例えば、次式にしたがって修正することが可能である。
【０１１５】
0004419287.tif 000005
但し、式（４）において、ａは、式（３）における場合と同様に、注目ブロック等のアクティビティ等に基づいて設定される定数を表す。
【０１１６】
次に、図１の画像再構成部３を構成する補正値加算部３１の処理について説明する。
【０１１７】
補正値加算部３１は、図１５（Ａ）に示すように、ＤＣＴ係数抽出／逆量子化部１２から供給される、ビデオストリームから抽出された注目ブロックのＤＣＴ係数から、高域低減部２５から供給される、注目ブロックに対応する補正値としてのＤＣＴ係数を減算することで、注目ブロックのＤＣＴ係数を補正し、逆ＤＣＴ変換部３２に供給する。逆ＤＣＴ変換部３２では、このようにして補正値加算部３１から供給される補正後の注目ブロックのＤＣＴ係数が逆ＤＣＴ処理され、これにより、図１５（Ｂ）に示すような空間領域の８×８画素のブロックが得られる。
【０１１８】
なお、Ｐ，Ｂピクチャについては、ＭＰＥＧエンコードの際、元の画像と、その予測画像との差分（予測残差）がＤＣＴ処理され、さらに量子化されるから、その量子化の結果得られるＤＣＴ係数は、すべて０となることがあり、この場合、ビデオストリームに、ＤＣＴ係数は含められない。このような場合には、補正値加算部３１は、ブロックのＤＣＴ係数が、すべて０であるとして、その０から、補正値を減算して、補正後のＤＣＴ係数を得る。
【０１１９】
また、上述の場合には、補正値加算部３１において、注目ブロックのＤＣＴ係数を、補正値によって必ず補正するようにしたが、注目ブロックのＤＣＴ係数によって十分な画質が得られる場合（ブロック歪み等が目立たない場合等）には、補正を行わないようにすることが可能である。
【０１２０】
即ち、補正値加算部３１では、例えば、マクロブロック単位で、そのマクロブロックを構成するブロックの補正を行うかどうかを、サイドインフォメーション抽出部１３から供給される量子化スケール等に基づいて判定するようにすることが可能である。具体的には、例えば、ブロックの量子化スケールが所定の閾値以下（未満）の場合（量子化が細かい場合）には、ブロックの補正を行わず、ブロックの量子化スケールが所定の閾値より大（以上）の場合（量子化が粗い）には、ブロックの補正を行うようにすることが可能である。
【０１２１】
次に、図１６および図１７は、本件発明者が行ったシミュレーション結果を示している。なお、図１６および図１７の左側に四角形で囲んである部分は、それぞれの画像の一部分を拡大したものである。
【０１２２】
図１６は、従来のＭＰＥＧ方式によりエンコードした画像を、従来のＭＰＥＧ方式によりデコードしたデコード結果を示している。図１６の左側に示した拡大部分から明らかなように、顕著に、ブロック歪みが現れている。
【０１２３】
図１７は、従来のＭＰＥＧ方式によりエンコードした画像を、図１の画像処理装置によりデコードしたデコード結果を示している。図１７の左側に示した拡大部分から明らかなように、図１６においてモザイク状に現れているブロック歪みが十分に低減されていることが分かる。
【０１２４】
なお、ＭＰＥＧでは、Ｐ，Ｂピクチャにおいて、スキップマクロブロックが生じると、スキップマクロブロックには、ＤＣＴタイプが付加されないため、ブロック境界段差検出部２１やアクティビティ算出部２２等において、ブロックのライン構造が、フレームＤＣＴモードまたはフィールドＤＣＴモードのうちのいずれであるのか認識することができなくなる。このことは、ＭＰＥＧデコード部１１において得られたＩピクチャに動き補償を施して予測画像を得る場合に問題となるが、図１で説明したように、出力画像作成部３３で得られたＩピクチャに動き補償を施して予測画像を得る場合には、スキップマクロブロックについては、特に処理を行わずにスキップするだけで良いので、特に問題は生じない。
【０１２５】
以上のように、ブロックの境界部分の差分情報に、アクティビティに基づく重みを付すことにより補正値を得て、その補正値によって、ブロックのＤＣＴ係数を補正するようにしたので、特に平坦な部分で生じやすいブロック歪みを十分に低減した高画質の復号画像を得ることができる。
【０１２６】
さらに、エッジを含むブロック（アクティビティの高いブロック）で発生するモスキートノイズが、平坦なブロックに伝搬することを防止することができる。
【０１２７】
また、モスキートノイズが生じているブロック（アクティビティの高いブロック）の画素値は、図９（Ｂ）で説明したように、平坦なブロック（アクティビティの低いブロック）の画素値に近づくように補正されるため、モスキートノイズが生じているブロックの、そのモスキートノイズを目立たなくすることができる。
【０１２８】
さらに、図１の画像処理装置は、ブロック歪み等を除去するための補正値としてのＤＣＴ係数を求め、その補正値によって、ブロックのＤＣＴ係数を補正するため、逆ＤＣＴ処理を行うＭＰＥＧデコード処理との親和性が高く、ＭＰＥＧデコーダに組み込んで、リアルタイムで処理を行うようにすることが可能である。
【０１２９】
また、補正値は、ブロックの境界部分の差分情報、即ち、いわばブロック境界における歪みそのものから生成されるため、その補正値による補正の効果は、基本的に、ＭＰＥＧエンコード時における圧縮率の影響をほとんど受けない。
【０１３０】
さらに、高域低減部２５における補正値の修正や、補正値加算部３１におけるブロックの補正においては、量子化スケールその他のサイドインフォメーションを利用することで、適応的な歪み除去を行うことができる。即ち、例えば、補正値加算部３１では、上述したように、マクロブロックの量子化スケールを参照することにより、量子化誤差による画質の劣化の程度を推測して、その劣化の程度によって、ブロックの補正を行ったり、または行わないようにすることができる。
【０１３１】
次に、図１の画像処理装置では、逆ＤＣＴ変換部３２において、ＤＣＴ係数に対して逆ＤＣＴ処理を施すことにより、そのＤＣＴ係数を画素値に変換するようにしたが、ＤＣＴ係数から画素値への変換は、その他、例えば、本件出願人が先に提案したクラス分類適応処理を利用して行うことも可能である。
【０１３２】
クラス分類適応処理は、クラス分類処理と適応処理とからなり、クラス分類処理によって、データを、その性質に基づいてクラス分けし、各クラスごとに適応処理を施すものであり、適応処理は、以下のような手法のものである。
【０１３３】
即ち、適応処理では、例えば、ＤＣＴ係数と、所定のタップ係数との線形結合により、そのＤＣＴ係数に対応する元の画素値の予測値を求めることで、ＤＣＴ係数が、元の画素値に復号される。
【０１３４】
具体的には、例えば、いま、ある画像を教師データとするとともに、その画像を、ブロック単位でＤＣＴ処理して得られるＤＣＴ係数を生徒データとして、教師データである画素の画素値ｙの予測値Ｅ［ｙ］を、幾つかのＤＣＴ係数ｘ1，ｘ2，・・・の集合と、所定のタップ係数ｗ1，ｗ2，・・・の線形結合により規定される線形１次結合モデルにより求めることを考える。この場合、予測値Ｅ［ｙ］は、次式で表すことができる。
【０１３５】
0004419287.tif 000006
【０１３６】
式（５）を一般化するために、タップ係数ｗjの集合でなる行列Ｗ、生徒データｘijの集合でなる行列Ｘ、および予測値Ｅ［ｙj］の集合でなる行列Ｙ’を、
【数１】
0004419287.tif 000007
で定義すると、次のような観測方程式が成立する。
【０１３７】
0004419287.tif 000008
ここで、行列Ｘの成分ｘijは、ｉ件目の生徒データの集合（ｉ件目の教師データｙiの予測に用いる生徒データの集合）の中のｊ番目の生徒データを意味し、行列Ｗの成分ｗjは、生徒データの集合の中のｊ番目の生徒データとの積が演算されるタップ係数を表す。また、ｙiは、ｉ件目の教師データを表し、従って、Ｅ［ｙi］は、ｉ件目の教師データの予測値を表す。なお、式（５）の左辺におけるｙは、行列Ｙの成分ｙiのサフィックスｉを省略したものであり、また、式（５）の右辺におけるｘ1，ｘ2，・・・も、行列Ｘの成分ｘijのサフィックスｉを省略したものである。
【０１３８】
そして、この観測方程式に最小自乗法を適用して、元の画素値ｙに近い予測値Ｅ［ｙ］を求めることを考える。この場合、教師データとなる真の画素値ｙの集合でなる行列Ｙ、および画素値ｙに対する予測値Ｅ［ｙ］の残差ｅの集合でなる行列Ｅを、
【数２】
0004419287.tif 000009
で定義すると、式（６）から、次のような残差方程式が成立する。
【０１３９】
0004419287.tif 000010
【０１４０】
この場合、元の画素値ｙに近い予測値Ｅ［ｙ］を求めるためのタップ係数ｗjは、自乗誤差
【数３】
0004419287.tif 000011
を最小にすることで求めることができる。
【０１４１】
従って、上述の自乗誤差をタップ係数ｗjで微分したものが０になる場合、即ち、次式を満たすタップ係数ｗjが、元の画素値ｙに近い予測値Ｅ［ｙ］を求めるため最適値ということになる。
【０１４２】
【数４】
0004419287.tif 000012
・・・（８）
【０１４３】
そこで、まず、式（７）を、タップ係数ｗjで微分することにより、次式が成立する。
【０１４４】
【数５】
0004419287.tif 000013
・・・（９）
【０１４５】
式（８）および（９）より、式（１０）が得られる。
【０１４６】
【数６】
0004419287.tif 000014
・・・（１０）
【０１４７】
さらに、式（７）の残差方程式における生徒データｘij、タップ係数ｗj、教師データｙi、および残差ｅiの関係を考慮すると、式（１０）から、次のような正規方程式を得ることができる。
【０１４８】
【数７】
0004419287.tif 000015
・・・（１１）
【０１４９】
なお、式（１１）に示した正規方程式は、行列（共分散行列）Ａおよびベクトルｖを、
【数８】
0004419287.tif 000016
で定義するとともに、ベクトルＷを、数１で示したように定義すると、式
0004419287.tif 000017
で表すことができる。
【０１５０】
式（１１）における各正規方程式は、生徒データｘijおよび教師データｙiのセットを、ある程度の数だけ用意することで、求めるべきタップ係数ｗjの数Ｊと同じ数だけたてることができ、従って、式（１２）を、ベクトルＷについて解くことで（但し、式（１２）を解くには、式（１２）における行列Ａが正則である必要がある）、最適なタップ係数（ここでは、自乗誤差を最小にするタップ係数）ｗjを求めることができる。なお、式（１２）を解くにあたっては、例えば、掃き出し法（Gauss-Jordanの消去法）などを用いることが可能である。
【０１５１】
以上のようにして、最適なタップ係数ｗjを求めておく学習処理を行い、さらに、そのタップ係数ｗjを用い、式（５）により、元の画素値ｙに近い予測値Ｅ［ｙ］を求める予測処理を行うのが適応処理である。
【０１５２】
図１８は、以上のようなクラス分類適応処理により、ＤＣＴ係数を画素値に復号する、逆ＤＣＴ変換部３２の構成例を示している。
【０１５３】
補正値加算部３１が出力する８×８のブロックごとのＤＣＴ係数は、予測タップ抽出回路４１およびクラスタップ抽出回路４２に供給されるようになっている。
【０１５４】
予測タップ抽出回路４１は、そこに供給されるＤＣＴ係数のブロック（以下、適宜、ＤＣＴブロックという）に対応する画素値のブロック（この画素値のブロックは、現段階では存在しないが、仮想的に想定される）（以下、適宜、画素ブロックという）を、順次、注目画素ブロックとし、さらに、その注目画素ブロックを構成する各画素を、例えば、いわゆるラスタスキャン順に、順次、注目画素とする。さらに、予測タップ抽出回路４１は、注目画素の画素値を予測するのに用いるＤＣＴ係数を抽出し、予測タップとする。
【０１５５】
即ち、予測タップ抽出回路４１は、例えば、注目画素が属する画素ブロックに対応するＤＣＴブロックのすべてのＤＣＴ係数、即ち、８×８の６４個のＤＣＴ係数を、予測タップとして抽出する。従って、本実施の形態では、ある画素ブロックのすべての画素について、同一の予測タップが構成される。但し、予測タップは、注目画素ごとに、異なるＤＣＴ係数で構成することが可能である。
【０１５６】
予測タップ抽出回路４１において得られる、画素ブロックを構成する各画素についての予測タップ、即ち、６４画素それぞれについての６４セットの予測タップは、積和演算回路４５に供給される。但し、本実施の形態では、上述したように、画素ブロックのすべての画素について、同一の予測タップが構成されるので、実際には、１つの画素ブロックに対して、１セットの予測タップを、積和演算回路４５に供給すれば良い。
【０１５７】
クラスタップ抽出回路４２は、注目画素を、幾つかのクラスのうちのいずれかに分類するためのクラス分類に用いるＤＣＴ係数を抽出して、クラスタップとする。
【０１５８】
なお、ＭＰＥＧエンコードでは、画像が、画素ブロックごとにＤＣＴ処理されることから、ある画素ブロックに属する画素は、例えば、すべて同一のクラスにクラス分類することとする。従って、クラスタップ抽出回路４２は、ある画素ブロックの各画素については、同一のクラスタップを構成する。即ち、クラスタップ抽出回路４２は、例えば、予測タップ抽出回路４１における場合と同様に、注目画素が属する画素ブロックに対応するＤＣＴブロックの８×８個のすべてのＤＣＴ係数を、クラスタップとして抽出する。
【０１５９】
ここで、画素ブロックに属する各画素を、すべて同一のクラスにクラス分類するということは、その画素ブロックをクラス分類することと等価である。従って、クラスタップ抽出回路４２には、注目画素ブロックを構成する６４画素それぞれをクラス分類するための６４セットのクラスタップではなく、注目画素ブロックをクラス分類するための１セットのクラスタップを構成させれば良く、このため、クラスタップ抽出回路４２は、画素ブロックごとに、その画素ブロックをクラス分類するために、その画素ブロックに対応するＤＣＴブロックの６４個のＤＣＴ係数を抽出して、クラスタップとするようになっている。
【０１６０】
なお、予測タップやクラスタップを構成するＤＣＴ係数は、上述したパターンのものに限定されるものではない。
【０１６１】
クラスタップ抽出回路４２において得られる、注目画素ブロックのクラスタップは、クラス分類回路４３に供給されるようになっており、クラス分類回路４３は、クラスタップ抽出回路４２からのクラスタップに基づき、注目画素ブロックをクラス分類し、その結果得られるクラスに対応するクラスコードを出力する。
【０１６２】
ここで、クラス分類を行う方法としては、例えば、ADRC(Adaptive Dynamic Range Coding)等を採用することができる。
【０１６３】
ADRCを用いる方法では、クラスタップを構成するＤＣＴ係数が、ADRC処理され、その結果得られるADRCコードにしたがって、注目画素ブロックのクラスが決定される。
【０１６４】
なお、KビットADRCにおいては、例えば、クラスタップを構成するＤＣＴ係数の最大値MAXと最小値MINが検出され、DR=MAX-MINを、集合の局所的なダイナミックレンジとし、このダイナミックレンジDRに基づいて、クラスタップを構成するＤＣＴ係数がKビットに再量子化される。即ち、クラスタップを構成するＤＣＴ係数の中から、最小値MINが減算され、その減算値がDR/2Kで除算（量子化）される。そして、以上のようにして得られる、クラスタップを構成するKビットの各ＤＣＴ係数を、所定の順番で並べたビット列が、ADRCコードとして出力される。従って、クラスタップが、例えば、１ビットADRC処理された場合には、そのクラスタップを構成する各ＤＣＴ係数は、最小値MINが減算された後に、最大値MAXと最小値MINとの平均値で除算され、これにより、各ＤＣＴ係数が１ビットとされる（２値化される）。そして、その１ビットのＤＣＴ係数を所定の順番で並べたビット列が、ADRCコードとして出力される。
【０１６５】
なお、クラス分類回路４３には、例えば、クラスタップを構成するＤＣＴ係数のレベル分布のパターンを、そのままクラスコードとして出力させることも可能であるが、この場合、クラスタップが、Ｎ個のＤＣＴ係数で構成され、各ＤＣＴ係数に、Ｋビットが割り当てられているとすると、クラス分類回路４３が出力するクラスコードの場合の数は、（２N）K通りとなり、ＤＣＴ係数のビット数Ｋに指数的に比例した膨大な数となる。
【０１６６】
従って、クラス分類回路４３においては、クラスタップの情報量を、上述のADRC処理や、あるいはベクトル量子化等によって圧縮してから、クラス分類を行うのが好ましい。
【０１６７】
ところで、本実施の形態では、クラスタップは、上述したように、６４個のＤＣＴ係数で構成される。従って、例えば、仮に、クラスタップを１ビットADRC処理することにより、クラス分類を行うこととしても、クラスコードの場合の数は、２64通りという大きな値となる。
【０１６８】
そこで、本実施の形態では、クラス分類回路４３において、クラスタップを構成するＤＣＴ係数から、重要性の高い特徴量を抽出し、その特徴量に基づいてクラス分類を行うことで、クラス数を低減するようになっている。
【０１６９】
即ち、図１９は、図１８のクラス分類回路４３の構成例を示している。
【０１７０】
クラスタップは、電力演算回路５１に供給されるようになっており、電力演算回路５１は、クラスタップを構成するＤＣＴ係数を、幾つかの空間周波数帯域のものに分け、各周波数帯域の電力を演算する。
【０１７１】
即ち、電力演算回路５１は、クラスタップを構成する８×８個のＤＣＴ係数を、例えば、図２０に示すような４つの空間周波数帯域Ｓ0，Ｓ1，Ｓ2，Ｓ3に分割する。
【０１７２】
さらに、電力演算回路５１は、空間周波数帯域Ｓ0，Ｓ1，Ｓ2，Ｓ3それぞれについて、ＤＣＴ係数のＡＣ成分の電力（ＡＣ成分の２乗和）Ｐ0，Ｐ1，Ｐ2，Ｐ3を演算し、クラスコード生成回路５２に出力する。
【０１７３】
クラスコード生成回路５２は、電力演算回路５１からの電力Ｐ0，Ｐ1，Ｐ2，Ｐ3を、閾値テーブル記憶部５３に記憶された、対応する閾値ＴＨ０，ＴＨ１，ＴＨ２，ＴＨ３とそれぞれ比較し、それぞれの大小関係に基づいて、クラスコードを出力する。即ち、クラスコード生成回路５２は、電力Ｐ0と閾値ＴＨ０とを比較し、その大小関係を表す１ビットのコードを得る。同様に、クラスコード生成回路５２は、電力Ｐ1と閾値ＴＨ１、電力Ｐ2と閾値ＴＨ２、電力Ｐ3と閾値ＴＨ３を、それぞれ比較することにより、それぞれについて、１ビットのコードを得る。そして、クラスコード生成回路５２は、以上のようにして得られる４つの１ビットのコードを、例えば、所定の順番で並べることにより得られる４ビットのコード（従って、０乃至１５のうちのいずれかの値）を、注目画素ブロックのクラスを表すクラスコードとして出力する。従って、本実施の形態では、注目画素ブロックは、２4（＝１６）個のクラスのうちのいずれかにクラス分類されることになる。
【０１７４】
閾値テーブル記憶部５３は、空間周波数帯域Ｓ0乃至Ｓ3の電力Ｐ0乃至Ｐ3とそれぞれ比較する閾値ＴＨ０乃至ＴＨ３を記憶している。
【０１７５】
なお、上述の場合には、クラス分類処理に、ＤＣＴ係数のＤＣ成分が用いられないが、このＤＣ成分をも用いてクラス分類処理を行うことも可能である。
【０１７６】
図１８に戻り、以上のようなクラス分類回路４３が出力するクラスコードは、係数テーブル記憶部４４に、アドレスとして与えられる。
【０１７７】
係数テーブル記憶部４４は、上述したような教師データと生徒データとを用いた学習処理が行われることにより得られるタップ係数が登録された係数テーブルを記憶しており、クラス分類回路４３が出力するクラスコードに対応するアドレスに記憶されているタップ係数を積和演算回路４５に出力する。
【０１７８】
ここで、本実施の形態では、画素ブロックがクラス分類されるから、注目画素ブロックについて、１つのクラスコードが得られる。一方、画素ブロックは、本実施の形態では、８×８画素の６４画素で構成されるから、注目画素ブロックについて、それを構成する６４画素それぞれを復号するための６４セットのタップ係数が必要である。従って、係数テーブル記憶部４４には、１つのクラスコードに対応するアドレスに対して、６４セットのタップ係数が記憶されている。
【０１７９】
積和演算回路４５は、予測タップ抽出回路４１が出力する予測タップと、係数テーブル記憶部４４が出力するタップ係数とを取得し、その予測タップとタップ係数とを用いて、式（５）に示した線形予測演算（積和演算）を行い、その結果得られる注目画素ブロックの８×８画素の画素値を、対応するＤＣＴブロックの復号結果（逆ＤＣＴ結果）として、出力画像作成部３３（図１）に出力する。
【０１８０】
ここで、予測タップ抽出回路４１においては、上述したように、注目画素ブロックの各画素が、順次、注目画素とされるが、積和演算回路４５は、注目画素ブロックの、注目画素となっている画素の位置に対応した動作モード（以下、適宜、画素位置モードという）となって、処理を行う。
【０１８１】
即ち、例えば、注目画素ブロックの画素のうち、ラスタスキャン順で、ｉ番目の画素を、ｐiと表し、画素ｐiが、注目画素となっている場合、積和演算回路４５は、画素位置モード＃ｉの処理を行う。
【０１８２】
具体的には、上述したように、係数テーブル記憶部４４は、注目画素ブロックを構成する６４画素それぞれを復号するための６４セットのタップ係数を出力するが、そのうちの画素ｐiを復号するためのタップ係数のセットをＷiと表すと、積和演算回路４５は、動作モードが、画素位置モード＃ｉのときには、予測タップと、６４セットのタップ係数のうちのセットＷiとを用いて、式（５）の積和演算を行い、その積和演算結果を、画素ｐiの復号結果とする。
【０１８３】
次に、図２１のフローチャートを参照して、図１８の逆ＤＣＴ変換部３２の処理について説明する。
【０１８４】
補正値加算部３１（図１）が出力するブロックごとのＤＣＴ係数は、予測タップ抽出回路４１およびクラスタップ抽出回路４２において順次受信され、予測タップ抽出回路４１は、そこに供給されるＤＣＴ係数のブロック（ＤＣＴブロック）に対応する画素ブロックを、順次、注目画素ブロックとする。
【０１８５】
そして、クラスタップ抽出回路４２は、ステップＳ２１において、そこで受信したＤＣＴ係数の中から、注目画素ブロックをクラス分類するのに用いるものを抽出して、クラスタップを構成し、クラス分類回路４３に供給する。
【０１８６】
クラス分類回路４３は、ステップＳ２２において、クラスタップ抽出回路４２からのクラスタップを用いて、注目画素ブロックをクラス分類し、その結果得られるクラスコードを、係数テーブル記憶部４４に出力する。
【０１８７】
即ち、ステップＳ２２では、クラス分類回路４３（図１９）の電力演算回路５１が、クラスタップを構成する８×８個のＤＣＴ係数を、図２０に示した４つの空間周波数帯域Ｓ0乃至Ｓ3に分割し、それぞれの電力Ｐ0乃至Ｐ3を演算する。この電力Ｐ0乃至Ｐ3は、電力演算回路５１からクラスコード生成回路５２に出力される。
【０１８８】
クラスコード生成回路５２は、閾値テーブル記憶部５３から閾値ＴＨ０乃至ＴＨ３を読み出し、電力演算回路５１からの電力Ｐ0乃至Ｐ3それぞれと、閾値ＴＨ０乃至ＴＨ３それぞれとを比較し、それぞれの大小関係に基づいたクラスコードを生成する。
【０１８９】
以上のようにして得られるクラスコードは、クラス分類回路４３から係数テーブル記憶部４４に対して、アドレスとして与えられる。
【０１９０】
係数テーブル記憶部４４は、クラス分類回路４３からのアドレスとしてのクラスコードを受信すると、ステップＳ２３において、そのアドレスに記憶されている６４セットのタップ係数を読み出し、積和演算回路４５に出力する。
【０１９１】
そして、ステップＳ２４に進み、予測タップ抽出回路４１は、注目画素ブロックの画素のうち、ラスタスキャン順で、まだ、注目画素とされていない画素を、注目画素として、その注目画素の画素値を予測するのに用いるＤＣＴ係数を抽出し、予測タップとして構成する。この予測タップは、予測タップ抽出回路４１から積和演算回路４５に供給される。
【０１９２】
ここで、本実施の形態では、各画素ブロックごとに、その画素ブロックのすべての画素について、同一の予測タップが構成されるので、実際には、ステップＳ２４の処理は、注目画素ブロックについて、最初に注目画素とされる画素に対してだけ行えば、残りの６３画素に対しては、行う必要がない。
【０１９３】
積和演算回路４５は、ステップＳ２５において、ステップＳ２３で係数テーブル記憶部４４が出力する６４セットのタップ係数のうち、注目画素に対する画素位置モードに対応するタップ係数のセットを取得し、そのタップ係数のセットと、ステップＳ２４で予測タップ抽出回路４１から供給される予測タップとを用いて、式（５）に示した積和演算を行い、注目画素の画素値の復号値を得る。
【０１９４】
そして、ステップＳ２６に進み、予測タップ抽出回路４１は、注目画素ブロックのすべての画素を、注目画素として処理を行ったかどうかを判定する。ステップＳ２６において、注目画素ブロックのすべての画素を、注目画素として、まだ処理を行っていないと判定された場合、ステップＳ２４に戻り、予測タップ抽出回路４１は、注目画素ブロックの画素のうち、ラスタスキャン順で、まだ、注目画素とされていない画素を、新たに注目画素として、以下、同様の処理を繰り返す。
【０１９５】
また、ステップＳ２６において、注目画素ブロックのすべての画素を、注目画素として処理を行ったと判定された場合、即ち、注目画素ブロックのすべての画素の復号値が得られた場合、積和演算回路４５は、その復号値で構成される画素ブロック（復号ブロック）を、出力画像作成部３３（図１）に出力し、処理を終了する。
【０１９６】
なお、係数テーブル記憶部４４には、ある画像を教師データとするとともに、その画像をＭＰＥＧエンコードしたものを図１の画像処理装置の入力とした場合の補正値加算部３１の出力を生徒データとして、学習処理を行うことにより得られるタップ係数を記憶させておく必要がある。
【０１９７】
また、上述の場合には、ＤＣＴブロックのＤＣＴ係数のみを用いてクラス分類を行うようにしたが、クラス分類は、ＤＣＴ係数の他、例えば、そのＤＣＴブロックのアクティビティや、量子化スケール、Ｉ，Ｐ，Ｂピクチャの別等をも用いて行うことが可能である。この場合、学習処理においても、ＤＣＴ係数、アクティビティ、量子化スケール、Ｉ，Ｐ，Ｂピクチャの別等を用いてクラス分類を行う必要があるから、タップ係数が、ＤＣＴ係数、アクティビティ、量子化スケール、Ｉ，Ｐ，Ｂピクチャの別等に応じて求められることとなる。従って、そのようなタップ係数を用いて、ＤＣＴ係数を画素値に変換する場合には、その画素値で構成される画像の高画質化を図ることが可能となる。
【０１９８】
さらに、クラス分類適応処理は、ＤＣＴ係数を画素値に変換する場合の他、その逆に、画素値をＤＣＴ係数に変換する場合にも利用することができる。即ち、例えば、図１のＤＣＴ変換部２４でも、クラス分類適応処理を利用して、補正値算出部２３の出力をＤＣＴ係数に変換することが可能である。但し、この場合には、補正値算出部２３の出力を生徒データとするとともに、その出力をＤＣＴ処理して得られるＤＣＴ係数を教師データとして学習処理を行い、タップ係数を求めておく必要がある。
【０１９９】
次に、図２２は、本発明を適用した画像処理装置の他の実施の形態の構成例を示している。なお、図中、図１における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図２２の画像処理装置は、第１に、演算器４が新たに設けられ、第２に、入力画像分析部１にＤＣＴ変換部１４が新たに設けられ、第３に、歪補正値算出部２のブロック段差検出部２１またはアクティビティ算出部２２に替えて、ブロック段差検出部２６またはアクティビティ算出部２７がそれぞれ設けられている他は、図１における場合と同様に構成されている。
【０２００】
図１の画像処理装置では、ブロックの境界部分の差分情報、およびブロックのアクティビティを、いずれも、ＭＰＥＧデコード部１１が出力する画素値から求めるようになっていたが、図２２の画像処理装置では、差分情報およびアクティビティを、ＤＣＴ係数から求めるようになっている。
【０２０１】
即ち、ＤＣＴ変換部１４は、ＭＰＥＧデコード部１１で得られる画素値のブロックをＤＣＴ処理し、ＤＣＴ係数のブロックとして、演算器４に供給する。
【０２０２】
なお、ＤＣＴ変換部１４においても、上述したクラス分類適応処理を利用して、画素値をＤＣＴ係数に変換することが可能である。
【０２０３】
演算器４には、ＤＣＴ変換部１４が出力するＤＣＴ係数のブロックの他、ＤＣＴ係数抽出／逆量子化部１２が出力するＤＣＴ係数のブロックも供給されるようになっており、演算器４は、それらの２つのＤＣＴ係数のブロックを、必要に応じて加算して、ブロック境界段差検出部２６、アクティビティ算出部２７、および補正値加算部３１に供給する。
【０２０４】
即ち、Ｉピクチャについては、ＤＣＴ係数抽出／逆量子化部１２が出力するＤＣＴ係数のブロックは、元の画像の画素値のブロックをＤＣＴ処理したものであり、そのＤＣＴ係数を逆ＤＣＴ処理することにより、元の画像の画素値を得ることができるから、演算器４は、ＤＣＴ係数抽出／逆量子化部１２が出力するＤＣＴ係数のブロックを、そのまま、ブロック境界段差検出部２６、アクティビティ算出部２７、および補正値加算部３１に供給する。
【０２０５】
一方、ＰおよびＢピクチャについては、ＤＣＴ係数抽出／逆量子化部１２が出力するＤＣＴ係数のブロックは、元の画像の画素値のブロックと予測画像との差分（予測残差）をＤＣＴ処理したものであり、従って、そのＤＣＴ係数を逆ＤＣＴ処理したのでは、元の画像の画素値を得ることができない。即ち、ＰおよびＢピクチャについては、ＤＣＴ係数抽出／逆量子化部１２が出力するＤＣＴ係数のブロックと、予測画像をＤＣＴ処理して得られるＤＣＴ係数とを加算して得られるＤＣＴ係数を逆ＤＣＴ処理することにより、元の画像の画素値を得ることができる。そこで、この場合、ＤＣＴ変換部１４は、ＭＰＥＧデコード部１１で得られる予測画像をＤＣＴ処理し、その結果得られるＤＣＴ係数を、演算器４に供給する。そして、演算器４は、ＤＣＴ係数抽出／逆量子化部１２が出力するＤＣＴ係数のブロックと、ＤＣＴ変換部１４が出力するＤＣＴ係数とを加算し、その結果得られるＤＣＴ係数のブロックを、ブロック境界段差検出部２６、アクティビティ算出部２７、および補正値加算部３１に供給する。
【０２０６】
従って、演算器４が出力するＤＣＴ係数のブロックは、そのピクチャタイプによらず（Ｉ，Ｐ，Ｂピクチャのいずれであっても）、逆ＤＣＴ処理することにより、元の画像の画素値のブロックが得られるものとなっている。
【０２０７】
ここで、以上から、図２２では、ＭＰＥＧデコード部１１は、ＭＰＥＧデコード処理全体を行うものである必要はない。即ち、図２２のＭＰＥＧデコード部１１は、画像メモリ３４に記憶された参照画像を用いて動き補償を行うことにより、予測画像を生成することができるものであれば良い。
【０２０８】
ブロック境界段差検出部２６は、演算器４が出力するＤＣＴ係数のブロックについて、図１のブロック境界段差検出部２１における場合と同様にして、差分情報を求める。従って、ブロック境界段差検出部２６で求められる差分情報は、画素値の差分ではなく、ＤＣＴ係数の差分となっている。
【０２０９】
アクティビティ算出部２７は、演算器４が出力するＤＣＴ係数のブロックから、そのブロックのアクティビティを算出する。即ち、ブロックのアクティビティは、そのブロックのＤＣＴ係数のうちのＡＣ成分の２乗和との間に高い相関を有する。そこで、アクティビティ算出部２７は、演算器４が出力するＤＣＴ係数のブロックのＡＣ成分の２乗和を求め、そのブロックのアクティビティとして、補正値算出部２３および高域低減部２５に出力する。
【０２１０】
以下、図２２の画像処理装置では、図１における場合と同様にして、ブロック歪み等を低減した画像が復号される。
【０２１１】
但し、演算器４が補正値加算部３１に出力するＤＣＴ係数のブロックは、上述したように、そのピクチャタイプによらず、逆ＤＣＴ処理することにより、元の画像の画素値のブロックが得られるものとなっているため、Ｉピクチャのみならず、ＰピクチャやＢピクチャであっても、出力画像作成部３３において、予測画像を加算する必要はない。
【０２１２】
次に、図２３は、本発明を適用した伝送システムの一実施の形態の構成例を示している。
【０２１３】
この伝送システムは、送信装置６１および受信装置６２から構成され、送信装置６１から、ＭＰＥＧエンコードされた画像データが、例えば、公衆網や、インターネット、ＣＡＴＶ網、衛星回線等のネットワーク６３を介して、受信装置６２に伝送されるようになっている。
【０２１４】
送信装置６１には、画像データが入力されるようになっており、この画像データは、ＭＰＥＧエンコード部７１に供給される。ＭＰＥＧエンコード部７１は、そこに供給される画像データをＭＰＥＧエンコードし、その結果得られる符号化データを、入力画像分析部７２と、ＭＵＸ（マルチプレクサ）７４に供給する。
【０２１５】
入力画像分析部７２は、ＭＰＥＧエンコード部７１からの符号化データに対して、例えば、図１の入力画像分析部１と同様の処理を施し、その処理結果を、歪補正値算出部７３に供給する。歪補正値算出部７３は、入力画像分析部７２の出力を用いて、例えば、図１の歪補正値算出部２と同様の処理を行い、図１の画像再構成部３に出力されるのと同様の補正値を得て、ＭＵＸ７４に供給する。
【０２１６】
ＭＵＸ７４は、ＭＰＥＧエンコード部７１からの符号化データと、歪補正値算出部７３からの補正値とを多重化し、その結果得られる多重化データを、通信Ｉ／Ｆ(Interface)７５に供給する。通信Ｉ／Ｆ７５は、ＭＵＸ７４からの多重化データを、ネットワーク６３を介して、受信装置６２に伝送する。
【０２１７】
受信装置６２では、通信Ｉ／Ｆ８１が、上述のようにして、ネットワーク６３を介して、送信装置６１から伝送されてくる多重化データを受信し、ＤＭＵＸ（デマルチプレクサ）８２に供給する。ＤＭＵＸ８２は、通信Ｉ／Ｆ８１からの多重化データを、符号化データと補正値とに分離し、符号化データを入力画像分析部８３に、補正値を画像再構成部８４に、それぞれ供給する。
【０２１８】
入力画像分析部８３は、ＤＭＵＸ８２からの符号化データに対して、例えば、図１の入力画像分析部１と同様の処理を施し、その処理結果を、画像再構成部８４に供給する。
【０２１９】
画像再構成部８４は、操作部８５の操作にしたがい、入力画像分析部８３の出力を、ＤＭＵＸ８２からの補正値によって補正し、あるいは補正せずに処理し、復号画像を得て出力する。
【０２２０】
即ち、ユーザが、操作部８５を、高画質の画像を要求するように操作しなかった場合には、画像再構成部８４は、入力画像分析部８３の出力を、ＤＭＵＸ８２からの補正値によって補正せずに処理し、復号画像を得て出力する。従って、この場合、ユーザには、画像のアクティビティ、あるいは送信装置６１のＭＰＥＧエンコード部７１における画像の圧縮率等によっては、ブロック歪み等の目立つ復号画像が提供される。
【０２２１】
一方、ユーザが、操作部８５を、高画質の画像を要求するように操作した場合には、画像再構成部８４は、入力画像分析部８３の出力を、ＤＭＵＸ８２からの補正値によって補正して処理し、復号画像を得て出力する。従って、この場合、ユーザには、ブロック歪み等の低減された高画質の復号画像が提供される。
【０２２２】
さらに、この場合、画像再構成部８４は、補正値による補正を行った高画質の画像を提供した旨のメッセージ（以下、適宜、高画質画像提供メッセージという）を、通信Ｉ／Ｆ８１に供給する。通信Ｉ／Ｆ８１は、その高画質画像提供メッセージを、受信装置６２にあらかじめ付されている受信装置ＩＤ(Identification)とともに、ネットワーク６３を介して、送信装置６１に伝送する。
【０２２３】
送信装置６１では、通信Ｉ／Ｆ７５が、受信装置６２からの高画質画像提供メッセージおよび受信装置ＩＤを受信し、課金処理部７６に供給する。課金処理部７６は、受信装置ＩＤと、その受信装置ＩＤに対応するユーザに対する課金情報とを対応付けて管理しており、高画質画像提供メッセージおよび受信装置ＩＤを受信すると、その受信装置ＩＤに対応するユーザに対する課金処理を行い、課金情報を更新する。ユーザに対しては、この課金情報に基づいて、高画質の画像の提供に対する対価としての料金請求が行われる。
【０２２４】
なお、上述の場合には、操作部８５の操作に対応して、補正値による補正を行った高画質の画像を提供し、その後、課金処理を行うようにしたが、その他、例えば、ユーザから、あらかじめ料金を徴収しておき、料金を支払ったユーザにのみ、補正値の利用を許可して、その補正値による補正を行った高画質の画像を提供するようにすることも可能である。さらに、補正値による補正を行った高画質の画像の提供は、料金の徴収なしで行うことも可能である。また、補正値は、送信装置６１で生成するのではなく、受信装置６２で生成することも可能である。
【０２２５】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０２２６】
そこで、図２４は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０２２７】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク１０５やＲＯＭ１０３に予め記録しておくことができる。
【０２２８】
あるいはまた、プログラムは、フロッピーディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体１１１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体１１１は、いわゆるパッケージソフトウエアとして提供することができる。
【０２２９】
なお、プログラムは、上述したようなリムーバブル記録媒体１１１からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部１０８で受信し、内蔵するハードディスク１０５にインストールすることができる。
【０２３０】
コンピュータは、CPU(Central Processing Unit)１０２を内蔵している。CPU１０２には、バス１０１を介して、入出力インタフェース１１０が接続されており、CPU１０２は、入出力インタフェース１１０を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部１０７が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)１０３に格納されているプログラムを実行する。あるいは、また、CPU１０２は、ハードディスク１０５に格納されているプログラム、衛星若しくはネットワークから転送され、通信部１０８で受信されてハードディスク１０５にインストールされたプログラム、またはドライブ１０９に装着されたリムーバブル記録媒体１１１から読み出されてハードディスク１０５にインストールされたプログラムを、RAM(Random Access Memory)１０４にロードして実行する。これにより、CPU１０２は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU１０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース１１０を介して、LCD(Liquid CryStal Display)やスピーカ等で構成される出力部１０６から出力、あるいは、通信部１０８から送信、さらには、ハードディスク１０５に記録等させる。
【０２３１】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０２３２】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０２３３】
なお、本実施の形態では、ＭＰＥＧエンコードされた画像を復号する場合を対象としたが、本発明は、その他、ブロック単位で直交変換することによりエンコードされた画像を復号する場合に適応可能である。
【０２３４】
【発明の効果】
以上の如く、本発明によれば、ブロック歪み等を、容易に低減し、高画質の復号画像を得ることが可能となる。
【図面の簡単な説明】
【図１】本発明を適用した画像処理装置の第１実施の形態の構成例を示すブロック図である。
【図２】図１の画像処理装置の処理を説明するフローチャートである。
【図３】ブロック境界段差検出部２１の処理を説明するための図である。
【図４】ＭＰＥＧにおけるフレームＤＣＴモードとフィールドＤＣＴモードのマクロブロックを示す図である。
【図５】ブロック境界段差検出部２１の処理を説明するための図である。
【図６】ブロック境界段差検出部２１の処理を説明するための図である。
【図７】ブロック境界段差検出部２１の処理を説明するための図である。
【図８】ブロック境界段差検出部２１の処理を説明するための図である。
【図９】補正値算出部２３の処理を説明するための図である。
【図１０】補正値算出部２３の処理を説明するための図である。
【図１１】補正値算出部２３の処理を説明するための図である。
【図１２】高域低減部２５の処理を説明するための図である。
【図１３】高域低減部２５の処理による効果を説明するための図である。
【図１４】高域低減部２５の処理を説明するための図である。
【図１５】補正値加算部３１の処理を説明するための図である。
【図１６】本件発明者によるシミュレーション結果を示すディスプレイ上に表示された中間階調の写真である。
【図１７】本件発明者によるシミュレーション結果を示すディスプレイ上に表示された中間階調の写真である。
【図１８】逆ＤＣＴ変換部３２の構成例を示すブロック図である。
【図１９】クラス分類回路４３の構成例を示すブロック図である。
【図２０】電力演算回路５１の処理を説明するための図である。
【図２１】図１８の逆ＤＣＴ変換部３２の処理を説明するフローチャートである。
【図２２】本発明を適用した画像処理装置の第２実施の形態の構成例を示すブロック図である。
【図２３】本発明を適用した伝送システムの一実施の形態の構成例を示すブロック図である。
【図２４】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
１  入力画像分析部，  ２  歪補正値算出部，  ３  画像再構成部，  ４  演算器，  １１  ＭＰＥＧデコード部，  １２  ＤＣＴ係数抽出／逆量子化部，  １３  サイドインフォメーション抽出部，  １４  ＤＣＴ変換部，  ２１  ブロック境界段差検出部，  ２２  アクティビティ算出部，  ２３  補正値算出部，２４  ＤＣＴ変換部，  ２５  高域低減部，  ２６  ブロック境界段差検出部，  ２７  アクティビティ算出部，  ３１  補正値加算部，  ３２  逆ＤＣＴ変換部，  ３３  出力画像作成部，  ３４  画像メモリ，  ３５  ピクチャ選択部，  ４１  予測タップ抽出回路，  ４２  クラスタップ抽出回路，  ４３クラス分類回路，  ４４  係数テーブル記憶部，  ４５積和演算回路，  ５１電力演算回路，  ５２  クラスコード生成回路，  ５３  閾値テーブル記憶部，  ６１  送信装置，  ６２  受信装置，  ６３  ネットワーク，  ７１  ＭＰＥＧエンコード部，  ７２  入力画像分析部，  ７３  歪補正値算出部，  ７４ＭＵＸ，  ７５  通信Ｉ／Ｆ，  ７６  課金処理部，  ８１  通信Ｉ／Ｆ，  ８２  ＤＭＵＸ，  ８３  入力画像分析部，  ８４  画像再構成部，  ８５  操作部，  １０１  バス，  １０２  CPU，  １０３  ROM，  １０４  RAM，  １０５  ハードディスク，  １０６  出力部，  １０７  入力部，  １０８  通信部，  １０９  ドライブ，  １１０  入出力インタフェース，  １１１  リムーバブル記録媒体
【図１】
0004419287.tif 000018
【図２】
0004419287.tif 000019
【図３】
0004419287.tif 000020
【図４】
0004419287.tif 000021
【図５】
0004419287.tif 000022
【図６】
0004419287.tif 000023
【図７】
0004419287.tif 000024
【図８】
0004419287.tif 000025
【図９】
0004419287.tif 000026
【図１０】
0004419287.tif 000027
【図１１】
0004419287.tif 000028
【図１２】
0004419287.tif 000029
【図１３】
0004419287.tif 000030
【図１４】
0004419287.tif 000031
【図１５】
0004419287.tif 000032
【図１６】
0004419287.tif 000033
【図１７】
0004419287.tif 000034
【図１８】
0004419287.tif 000035
【図１９】
0004419287.tif 000036
【図２０】
0004419287.tif 000037
【図２１】
0004419287.tif 000038
【図２２】
0004419287.tif 000039
【図２３】
0004419287.tif 000040
【図２４】
0004419287.tif 000041