(57)【要約】【課題】交流成分予測における画像の予測精度の一層の向上を図る。【解決手段】領域特定部３１は、対象ブロックＳの参照領域として、ブロックＴ，Ｌ，Ｂ，Ｒ，ＢＢ，ＲＲを特定する。処理済ブロックＴ，Ｌは、順次シフトによる処理が既に行われたブロックである。未処理ブロックＢ，Ｒは、順次シフトによる処理が未だ行われておらず、かつ、対象ブロックＳと隣接したブロックである。未処理ブロックＢＢ，ＲＲは、順次シフトによる処理が未だ行われたおらず、かつ、対象ブロックＳから未処理ブロックＢ，Ｒに至る方向において未処理ブロックＢ，Ｒと隣接したブロックである。予測処理部３２は、対象ブロックＳの平均画素値と、処理済ブロックＴ，Ｌ内に存在する処理済サブブロックの平均画素値と、未処理ブロックＢ，Ｒの平均画素値と、未処理ブロックＢＢ，ＲＲの平均画素値とを用いた交流成分予測によって、対象ブロックＳ内に存在するそれぞれの対象サブブロックの予測画素値を算出する。【選択図】図５
2011049942.tif 000002
【特許請求の範囲】
【請求項１】
画像平面上に所定サイズのブロックを複数設定するとともに、処理対象となるブロックを所定方向に順次シフトさせながら、ブロックを細分化した複数のサブブロックの交流成分予測を行う画像処理システムにおいて、
今回の処理で処理対象となる対象ブロックの参照領域のうち、順次シフトによる処理が既に行われた少なくとも１つの処理済ブロックと、順次シフトによる処理が未だ行われておらず、かつ、前記対象ブロックと隣接した少なくとも１つの第１の未処理ブロックと、順次シフトによる処理が未だ行われたおらず、かつ、前記対象ブロックから前記第１の未処理ブロックに至る方向において前記第１の未処理ブロックと隣接した少なくとも１つの第２の未処理ブロックとを特定する領域特定部と、
前記対象ブロックに関する第１の平均画素値と、前記処理済ブロック内に存在する処理済サブブロックに関する従前の処理で算出された第２の平均画素値と、前記第１の未処理ブロックに関する第３の平均画素値と、前記第２の未処理ブロックに関する第４の平均画素値とを用いた交流成分予測によって、前記対象ブロック内に存在するそれぞれの対象サブブロックの予測画素値を算出する予測処理部と
を有することを特徴とする画像処理システム。
【請求項２】
前記交流成分予測は、前記対象ブロックと前記処理済サブブロックとの間の中心間距離と同じ中心間距離を有し、少なくとも、前記第３の平均画素値と前記第４の平均画素値とに基づいて予測された予測値を用いて行われることを特徴とする請求項１に記載された画像処理システム。
【請求項３】
前記予測処理部によって算出された前記予測画素値に、真の画素値との差分に相当する予測残差を加算することによって、前記対象サブブロックの平均画素値を算出する加算器をさらに有し、
前記加算器によって算出された前記対象サブブロックの平均画素値は、以後の処理で必要となる前記参照領域の情報として、前記予測処理部にフィードバックされることを特徴とする請求項１または２に記載された画像処理システム。
【請求項４】
階層が下位になるにしたがって、前記ブロックのサイズが段階的に小さくなる階層構造において、
上位階層において算出された前記サブブロックの平均画素値は、当該上位階層の直下に位置する下位階層における前記ブロックの平均画素値として、当該下位階層に供給されることを特徴とする請求項３に記載された画像処理システム。
【請求項５】
前記画像処理システムは、画像を圧縮するエンコーダであって、
前記予測処理部によって算出された前記予測画素値と、真の画素値との差分を予測残差として算出する減算器と、
前記減算器によって算出された前記予測残差に対して、非可逆変換を施す非可逆変換部と、
前記非可逆変換が施された予測残差に対して、エントロピー符号化を施すことによって、圧縮データの一部としての画像の交流成分を生成するエントロピー符号化部と、
前記非可逆変換が施された前記予測残差に対して、当該非可逆変換の逆処理を行うことによって、前記加算器に供給すべき前記予測残差を生成する逆変換部と
をさらに有することを特徴とする請求項３または４に記載された画像処理システム。
【請求項６】
前記画像処理システムは、画像を伸張するデコーダであって、
画像の圧縮データに対して、画像圧縮時に施された非可逆変換およびエントロピー符号化の逆処理を行うことによって、前記加算器に供給すべき前記予測残差を復元する逆変換部をさらに有することを特徴とする請求項３または４に記載された画像処理システム。
【請求項７】
画像平面上に所定サイズのブロックを複数設定するとともに、処理対象となるブロックを所定方向に順次シフトさせながら、ブロックを細分化した複数のサブブロックの交流成分予測を行う画像処理プログラムにおいて、
今回の処理で処理対象となる対象ブロックの参照領域のうち、順次シフトによる処理が既に行われた少なくとも１つの処理済ブロックと、順次シフトによる処理が未だ行われておらず、かつ、前記対象ブロックと隣接した少なくとも１つの第１の未処理ブロックと、順次シフトによる処理が未だ行われたおらず、かつ、前記対象ブロックから前記第１の未処理ブロックに至る方向において前記第１の未処理ブロックと隣接した少なくとも１つの第２の未処理ブロックとを特定する第１のステップと、
前記対象ブロックに関する第１の平均画素値と、前記処理済ブロック内に存在する処理済サブブロックに関する従前の処理で算出された第２の平均画素値と、前記第１の未処理ブロックに関する第３の平均画素値と、前記第２の未処理ブロックに関する第４の平均画素値とを用いた交流成分予測によって、前記対象ブロック内に存在するそれぞれの対象サブブロックの予測画素値を算出する第２のステップと
を有することを特徴とする画像処理方法をコンピュータに実行させる画像処理プログラム。
【請求項８】
前記交流成分予測は、前記対象ブロックと前記処理済サブブロックとの間の中心間距離と同じ中心間距離を有し、少なくとも、前記第３の平均画素値と前記第４の平均画素値とに基づいて予測された予測値を用いて行われることを特徴とする請求項７に記載された画像処理プログラム。
【請求項９】
前記予測画素値に、真の画素値との差分に相当する予測残差を加算することによって、前記対象サブブロックの平均画素値を算出する第４のステップをさらに有し、
前記第４のステップで算出された前記対象サブブロックの平均画素値は、以後の処理で必要となる前記参照領域の情報としてフィードバックするために記憶部に格納され、以後の処理において前記記憶部から随時読み出されることを特徴とする請求項７または８に記載された画像処理プログラム。
【請求項１０】
階層が下位になるにしたがって、前記ブロックのサイズが段階的に小さくなる階層構造において、前記画像処理方法が再帰的に実行され、
上位階層において算出された前記サブブロックの平均画素値は、当該上位階層の直下に位置する下位階層における前記ブロックの平均画素値として、当該下位階層に供給されることを特徴とする請求項９に記載された画像処理プログラム。
【請求項１１】
前記画像処理プログラムは、画像を圧縮するエンコードプログラムであって、
前記対象サブブロックの予測画素値と、真の画素値との差分を予測残差として算出する第５のステップと、
前記算出された予測残差に対して、非可逆変換を施す第６のステップと、
前記非可逆変換が施された予測残差に対して、エントロピー符号化を施すことによって、圧縮データの一部としての画像の交流成分を生成する第７のステップと、
前記非可逆変換が施された前記予測残差に対して、当該非可逆変換の逆処理を行うことによって、前記加算器に供給すべき前記予測残差を生成する第８のステップと
をさらに有することを特徴とする請求項９または１０に記載された画像処理プログラム。
【請求項１２】
前記画像処理プログラムは、画像を伸張するデコードプログラムであって、
画像の圧縮データに対して、画像圧縮時に施された非可逆変換およびエントロピー符号化の逆処理を行うことによって、前記対象サブブロックの平均画素値の算出に用いられる前記予測残差を復元する第９のステップをさらに有することを特徴とする請求項９または１０に記載された画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理システムおよび画像処理プログラムに係り、特に、交流成分予測（ＡＣＰ：ＡＣ Component Prediction）に関する。
【背景技術】
【０００２】
従来より、交流成分予測（ＡＣＰ）と呼ばれる画像処理手法が知られている。交流成分予測とは、処理対象となる画素ブロックの周辺領域の情報を参照して、その画素ブロックを細分化した小領域の情報を求める手法をいい、周辺領域との空間的な相関性を利用したものである。例えば、特許文献１〜３には、処理対象となるブロックを順次細分化し、画像データを階層的に符号化する再帰的交流成分予測符号化が開示されている。具体的には、まず、画像平面上において、処理対象となるブロックを所定方向に順次シフトさせながら、これを細分化したサブブロックの予測画素値を順次算出する。この予測画素値は、処理対象の周辺領域を参照した交流成分予測によって算出される。つぎに、予測画素値と本来の画素値（真値）との差分を予測残差として算出する。そして、この予測残差に対して、非可逆変換およびエントロピー符号化を施すことによって、圧縮データの一部となる画像の交流成分が生成される。以上のような処理が、例えば、８×８画素のブロック（最上位階層）、４×４画素のブロック（第２位階層）、２×２画素のブロック(第３位階層）および１×１画素のブロック（最下位階層）よりなる階層構造において、再帰的に繰り返される。
【０００３】
特に、特許文献１には、予測精度の向上を図るために、交流成分予測で参照される参照領域（周辺領域）のうち、上記順次シフトで既に処理が終了した領域については、より相関性の高いサブブロックの情報を参照する手法が開示されている。例えば、４×４画素のブロックを水平方向に線順次走査的に処理していく場合、処理対象となるブロックの上および左に隣接したブロックが処理済となる。この場合、処理済のブロックに関しては、このブロック自体の平均画素値ではなく、これを４つに細分化した２×２画素のサブブロックのうち、処理対象と隣接した２つのサブブロックの平均画素値を参照する。そして、２つの平均画素値の平均を８×８画素のブロックの「中心画素値」と仮定し、これを前提に交流成分予測を行う。ここで、「中心画素値」とは、無限解像度における画素ブロックの中心位置の真の画素値をいう。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４０００１５７号公報
【特許文献２】特許第３７７４２０１号公報
【特許文献３】特許３７００９７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
周知のように、交流成分予測による画像の予測精度は高い方が好ましい。予測精度が高いほど、予測画素値の集合としての予測画像と本来の画像との相関性が高まり、両者の差分に相当する予測残差が小さくなるからである。予測残差の低減は、統計的に見た予測残差の出現頻度が０近傍に偏る傾向が高まることを意味する。したがって、例えば、予測残差にエントロピー符号化を施してデータ圧縮する場合、予測残差の低減によって、圧縮率を高めることができる。この点に関して、上述した特許文献１の手法では、予測精度の改善を図る余地が依然として残されている。なぜなら、参照領域のうち、順次シフトによる処理が終了した処理済領域に関しては、小さなサブブロックが用いられるが、順次シフトによる処理が未だ終了していない未処理領域に関しては、大きなブロックがそのまま用いられるからである。処理済領域と同様、未処理領域に関しても、サブブロック相当の分解能で取り扱うことができれば、予測精度の一層の向上が期待できる。
【０００６】
本発明は、このような点に鑑みなされたもので、その目的は、交流成分予測における画像の予測精度の一層の向上を図ることである。
【課題を解決するための手段】
【０００７】
かかる課題を解決すべく、第１の発明は、領域特定部と、予測処理部とを有し、画像平面上に所定サイズのブロックを複数設定するとともに、処理対象となるブロックを所定方向に順次シフトさせながら、ブロックを細分化した複数のサブブロックの交流成分予測を行う画像処理システムを提供する。領域特定部は、今回の処理で処理対象となる対象ブロックの参照領域として、少なくとも１つの処理済ブロックと、少なくとも１つの第１の未処理ブロックと、少なくとも１つの第２の未処理ブロックとを特定する。ここで、処理済ブロックは、順次シフトによる処理が既に行われたブロックである。第１の未処理ブロックは、順次シフトによる処理が未だ行われておらず、かつ、対象ブロックと隣接したブロックである。第２の未処理ブロックは、順次シフトによる処理が未だ行われたおらず、かつ、対象ブロックから第１の未処理ブロックに至る方向において第１の未処理ブロックと隣接したブロックである。予測処理部は、対象ブロックに関する第１の平均画素値と、処理済ブロック内に存在する処理済サブブロックに関する従前の処理で算出された第２の平均画素値と、第１の未処理ブロックに関する第３の平均画素値と、第２の未処理ブロックに関する第４の平均画素値とを用いた交流成分予測によって、対象ブロック内に存在するそれぞれの対象サブブロックの予測画素値を算出する。
【０００８】
ここで、第１の発明において、交流成分予測は、対象ブロックと処理済サブブロックとの間の中心間距離と同じ中心間距離を有し、少なくとも、第３の平均画素値と第４の平均画素値とに基づいて予測された予測値を用いて行われることが好ましい。
【０００９】
第１の発明において、上記予測処理部によって算出された予測画素値に、真の画素値との差分に相当する予測残差を加算することによって、対象サブブロックの平均画素値を算出する加算器をさらに設けてもよい。この場合、加算器によって算出された対象サブブロックの平均画素値は、以後の処理で必要となる参照領域の情報として、予測処理部にフィードバックされることが好ましい。
【００１０】
第１の発明において、階層が下位になるにしたがって、ブロックのサイズが段階的に小さくなる階層構造を有していてもよい。この場合、上位階層において算出されたサブブロックの平均画素値は、この上位階層の直下に位置する下位階層におけるブロックの平均画素値として、この下位階層に供給される。
【００１１】
第１の発明において、上記画像処理システムは、画像を圧縮するエンコーダであってもよい。この場合、予測処理部によって算出された予測画素値と、真の画素値との差分を予測残差として算出する減算器と、減算器によって算出された予測残差に対して、非可逆変換を施す非可逆変換部と、非可逆変換が施された予測残差に対して、エントロピー符号化を施すことによって、圧縮データの一部としての画像の交流成分を生成するエントロピー符号化部と、非可逆変換が施された予測残差に対して、非可逆変換の逆処理を行うことによって、加算器に供給すべき予測残差を生成する逆変換部とをさらに設けることが好ましい。
【００１２】
第１の発明において、上記画像処理システムは、画像を伸張するデコーダであってもよい。この場合、画像の圧縮データに対して、画像圧縮時に施された非可逆変換およびエントロピー符号化の逆処理を行うことによって、加算器に供給すべき予測残差を復元する逆変換部をさらに設けることが好ましい。
【００１３】
第２の発明は、画像平面上に所定サイズのブロックを複数設定するとともに、処理対象となるブロックを所定方向に順次シフトさせながら、ブロックを細分化した複数のサブブロックの交流成分予測を行う画像処理プログラムを提供する。この画像処理プログラムは、今回の処理で処理対象となる対象ブロックの参照領域のうち、順次シフトによる処理が既に行われた少なくとも１つの処理済ブロックと、順次シフトによる処理が未だ行われておらず、かつ、対象ブロックと隣接した少なくとも１つの第１の未処理ブロックと、順次シフトによる処理が未だ行われたおらず、かつ、対象ブロックから第１の未処理ブロックに至る方向において第１の未処理ブロックと隣接した少なくとも１つの第２の未処理ブロックとを特定する第１のステップと、対象ブロックに関する第１の平均画素値と、処理済ブロック内に存在する処理済サブブロックに関する従前の処理で算出された第２の平均画素値と、第１の未処理ブロックに関する第３の平均画素値と、第２の未処理ブロックに関する第４の平均画素値とを用いた交流成分予測によって、対象ブロック内に存在するそれぞれの対象サブブロックの予測画素値を算出する第２のステップとを有する画像処理方法をコンピュータに実行させる。
【００１４】
ここで、第２の発明において、上記交流成分予測は、対象ブロックと処理済サブブロックとの間の中心間距離と同じ中心間距離を有し、少なくとも、第３の平均画素値と第４の平均画素値とに基づいて予測された予測値を用いて行われることが好ましい。
【００１５】
第２の発明において、予測画素値に、真の画素値との差分に相当する予測残差を加算することによって、対象サブブロックの平均画素値を算出する第４のステップをさらに設けてもよい。この場合、第４のステップで算出された対象サブブロックの平均画素値は、以後の処理で必要となる参照領域の情報としてフィードバックするために記憶部に格納され、以後の処理において記憶部から随時読み出される。
【００１６】
第２の発明において、階層が下位になるにしたがって、ブロックのサイズが段階的に小さくなる階層構造で上記画像処理方法を再帰的に実行するようにしてもよい。この場合、上位階層において算出されたサブブロックの平均画素値は、この上位階層の直下に位置する下位階層におけるブロックの平均画素値として、この下位階層に供給される。
【００１７】
第２の発明において、上記画像処理プログラムは、画像を圧縮するエンコードプログラムであってもよい。この場合、対象サブブロックの予測画素値と、真の画素値との差分を予測残差として算出する第５のステップと、算出された予測残差に対して、非可逆変換を施す第６のステップと、非可逆変換が施された予測残差に対して、エントロピー符号化を施すことによって、圧縮データの一部としての画像の交流成分を生成する第７のステップと、非可逆変換が施された予測残差に対して、非可逆変換の逆処理を行うことによって、加算器に供給すべき予測残差を生成する第８のステップとをさらに設けることが好ましい。
【００１８】
第２の発明において、上記画像処理プログラムは、画像を伸張するデコードプログラムであってもよい。この場合、画像の圧縮データに対して、画像圧縮時に施された非可逆変換およびエントロピー符号化の逆処理を行うことによって、対象サブブロックの平均画素値の算出に用いられる予測残差を復元する第９のステップをさらに設けることが好ましい。
【発明の効果】
【００１９】
交流成分予測では、参照領域との空間的な相関性を利用して、対象ブロックを細分化した対象サブブロックの予測画素値が算出される。参照領域のうちの未処理領域に関する情報として、第１の未処理ブロックの情報（第３の平均画素値）のみならず、これと隣接した第２の未処理ブロックの情報（第４の平均画素値）も考慮した上で、交流成分予測を行う。これにより、上記未処理領域に関する情報として、第１の未処理ブロックの情報のみを用いる交流成分予測と比較して、画像の予測精度の一層の向上を図ることが可能になる。
【図面の簡単な説明】
【００２０】
【図１】ＲＡＣＰエンコーダの全体構成図
【図２】画像平面上に設定されるブロックの説明図
【図３】並行処理における動作タイミングチャート
【図４】逐次処理における動作タイミングチャート
【図５】階層処理部の構成図
【図６】対象ブロック周辺の中心間距離の説明図
【図７】一例としての線形予測による予測値算出の説明図
【図８】他の例としての線形予測による予測値算出の説明図
【図９】ＲＡＣＰエンコードプログラムのフローチャート
【図１０】ＲＡＣＰデコーダの全体構成図
【図１１】階層処理部の構成図
【図１２】ＲＡＣＰデコードプログラムのフローチャート
【発明を実施するための最良の形態】
【００２１】
以下、本発明に係る交流成分予測を適用した実施形態として、再帰的交流成分予測符号化（ＲＡＣＰ：Recursive ＡＣＰ）を例に説明する。
【００２２】
（ＲＡＣＰエンコーダ）
図１は、ＲＡＣＰエンコーダの全体構成図である。このエンコーダは、ＤＣ算出部１と、ＤＣ符号化部２と、階層処理部３ａ〜３ｃとを有し、本実施形態では、４階層によって構成されている。これらのユニット１，２，３ａ〜３ｃより出力されたデータＴＤＣn，ＤＣn（n=0,1,2,3）は、図示しないバッファ（記憶部）に一時的に随時格納される。
【００２３】
ＤＣ算出部１は、圧縮対象となる入力画像を予め設定されたサイズのブロックに分割し、それぞれのブロックの平均画素値、すなわち、ブロック内に含まれる画素の平均値をＴＤＣ0〜ＴＤＣ3として出力する。ここで、ＴＤＣ0は８×８画素のブロック（以下「８×８ブロック」という）の平均画素値、ＴＤＣ1は４×４画素のブロック（以下「４×４ブロック」という）の平均画素値、ＴＤＣ2は２×２画素のブロック（以下「２×２ブロック」という）の平均画素値である。また、ＴＤＣ3は１×１画素のブロック（以下「１×１ブロック」という）の平均画素値、すなわち、画像の最小単位である画素の画素値そのものである。なお、入力画像から直接算出される平均画素値ＴＤＣ0〜ＴＤＣ3（真の値）は、ユニット２，３ａ〜３ｃ内での処理を経て復元される平均画素値ＤＣ0〜ＤＣ3（復元値）とは区別される点に留意されたい。両者の値は、符号化の過程で非可逆変換をともなうので、厳密には一致しない。
【００２４】
ＤＣ符号化部２および階層処理部３ａ〜３ｃは、８×８ブロック（最上位階層）、４×４ブロック（第２位階層）、２×２ブロック（第３位階層）、１×１ブロック（最下位階層）よりなる４階層構造において、自己に割り当てられた階層処理を行う。
【００２５】
最上位階層のＤＣ符号化部２は、バッファから読み出された８×８ブロック毎の平均画素値ＴＤＣ0に対して、差分パルス符号変調（ＤＰＣＭ：Differential Pulse Code Modulation）およびエントロピー符号化を施す。差分パルス符号変調によって、画像平面上において互いに隣接したブロックに関する平均画素値ＴＤＣ0の差分が符号化される。そして、この符号化された差分に対して、量子化後、ハフマン符号化や算術符号化といったエントロピー符号化が施される。このような処理を経たデータは、圧縮データの一部となる画像の直流成分ＤＣ0として出力されるとともに、直下位の階層の階層処理部３ａに供給すべく、８×８ブロックの平均画素値を復元（逆量子化）した値ＤＣ0として出力される。
【００２６】
３つの階層処理部３ａ〜３ｃは、ＤＣ算出部１によって生成された平均画素値ＴＤＣn（n=1,2,3、以下同様）と、直上位の階層によって生成された平均画素値ＤＣn-1とを入力とした交流成分予測を含む処理によって、圧縮データの一部としての画像の交流成分ＡＣnを出力する。それとともに、階層処理部３ａ〜３ｃは、交流成分ＡＣnより平均画素値ＤＣnを復元する。復元された平均画素値ＤＣnは、同一階層にフィードバックするために、および、必要に応じて直下位の階層に供給するために出力される。
【００２７】
具体的には、第２位階層の階層処理部３ａは、８×８ブロックを処理対象とした交流成分予測および予測残差の算出といった処理を経て、４×４ブロックの交流成分ＡＣ1と、４×４ブロックの平均画素値ＤＣ1とを出力する。この階層では、交流成分予測で参照すべき情報として、最上位階層で生成された８×８ブロックの平均画素値ＤＣ0と、同一階層でフィードバックされた４×４ブロックの平均画素値ＤＣ1とが用いられる。それとともに、予測残差を算出するために、ＤＣ算出部１によって算出された４×４ブロックの平均画素値ＴＤＣ1が入力される。第３位階層の階層処理部３ｂは、４×４ブロックを処理対象とした交流成分予測等の処理を経て、２×２ブロックの交流成分ＡＣ2と、２×２ブロックの平均画素値ＤＣ2とを出力する。この階層では、交流成分予測の参照情報として、第２位階層で生成された４×４ブロックの平均画素値ＤＣ1と、同一階層でフィードバックされた２×２ブロックの平均画素値ＤＣ2とが用いられる。それとともに、予測残差を算出するために、ＤＣ算出部１によって算出された２×２ブロックの平均画素値ＴＤＣ2が入力される。最下位階層の階層処理部３ｃは、２×２ブロックを処理対象とした交流成分予測等の処理を経て、１×１ブロックの交流成分ＡＣ3と、１×１ブロックの平均画素値ＤＣ3とを出力する。この階層では、交流成分予測の参照情報として、第３位階層で生成された２×２ブロックの平均画素値ＤＣ2と、同一階層でフィードバックされた１×１ブロックの平均画素値ＤＣ3とが用いられる。それとともに、予測残差を算出するために、ＤＣ算出部１によって算出された１×１ブロックの平均画素値ＴＤＣ3が用いられる。
【００２８】
このように、処理対象となるブロックのサイズが異なる多階層構造において、ＤＣ符号化部２および階層処理部３ａ〜３ｃが互いに連係することによって、交流成分予測を主体とした画像処理が再帰的に実行される。これによって、圧縮データとして、画像の直流成分ＤＣ0と、その交流成分ＡＣ1〜ＡＣ3とが出力される。なお、圧縮データには、これら以外にもハフマンテーブル等の付随情報も含まれる。
【００２９】
図２は、画像平面上に設定されるブロックの説明図である。ブロックは、圧縮対象となる画像（１フレームの画像またはその部分画像）を縦横に分割することで、画像平面上に複数設定され、ブロック単位で処理される。ブロックのサイズは、階層が下位になるにしたがって段階的に小さくなるように設定されている。ある階層で処理対象となるブロックのサイズは、その直上位に位置する階層で細分化されたサブブロックのサイズと一致する。逆にいえば、上位階層のサブブロックのサイズは、その直下に位置する下位階層のブロックのサイズと一致する。ある階層における画像全体の処理は、処理対象となるブロックを画面上で順次シフトさせながら処理を繰り返し、画像中の全ブロックを処理することによって達成される。このシフト方向（スキャン方向）は、図示したように、水平方向に沿った線順次走査的なものであってもよいが、垂直方向に沿ったものも含めて任意に設定してよい。また、それぞれの階層におけるシフトの方向は、必ずしも同一である必要もない。図示したシフト方向の場合、処理対象となるブロックをＳとすると、この対象ブロックＳが属する水平ラインよりも上側が処理済領域となり、これよりも下側が未処理領域となる。また、対象ブロックＳの水平ラインについては、対象ブロックＳの左側が処理済領域となり、その右側が未処理領域となる。本実施形態では、対象ブロックＳの交流成分予測において参照される参照領域として、ブロックＴ，Ｌ，Ｂ，ＢＢ，Ｒ，ＲＲが用いられる。これらよりなる参照領域のうち、順次シフトによる処理が既に行われたブロックＴ，Ｌを「処理済ブロック」と定義する。処理済ブロックＴは、対象ブロックＳの上方に隣接しており、処理済ブロックＬは、対象ブロックＳの左方に隣接している。これらの処理済ブロックＴ，Ｌに関しては、同一階層内での順次シフトによる従前処理によって、これを４つに分割したサブブロックの平均画素値（予測画素値）が算出済みである。以下、あるブロックを細分化したサブブロックについては、ブロックの左上”00”，右上を”01”，右下を”11”，左下を”10”の添字を以て識別する。一方、上記参照領域のうち、順次シフトによる処理が未だ行われていないブロックＢ，Ｒ，ＢＢ，ＲＲを「未処理ブロック」と定義する。未処理ブロックＢは、対象ブロックＳの下方に隣接しており、未処理ブロックＲは、対象ブロックＳの右方に隣接している。未処理ブロックＢＢは、対象ブロックＳから未処理ブロックＢに至る方向（下方）において、未処理ブロックＢと隣接している。未処理ブロックＲＲは、対象ブロックＳから未処理ブロックＲに至る方向（右方）において、未処理ブロックＲと隣接している。本実施形態の特徴の一つは、対象ブロックＳの参照領域として、これと直接隣接したブロックＢ，Ｒのみならず、これからブロック１つ分離れたブロックＢＢ，ＲＲも併用している点である。これらの未処理ブロックＢ，Ｒ，ＢＢ，ＲＲに関しては、これを細分化したサブブロックの平均画素値（予測画素値）が未だ算出されておらず、直上位の階層で算出されたブロックＢ，Ｒ，ＢＢ，ＲＲの全体的な平均画素値のみが既知となっている。
【００３０】
なお、本実施形態では、対象ブロックＳの参照領域として、６つのブロックＴ，Ｌ，Ｂ，Ｒ，ＢＢ，ＲＲを用いているが、これは一例に過ぎず、これ以外の設定の仕方にしてもよい。例えば、これらの一部のみ、或いは、それ以外の追加（斜め方向、１つ飛び等）といった如くである。
【００３１】
ＲＡＣＰエンコーダの処理は、並行処理および逐次処理のどちらであってもよい。図３は、並行処理における動作タイミングチャートである。まず、ＤＣ算出部１が動作して、平均画素値ＴＤＣ0〜ＴＤＣ3を生成する。そして、すべての平均画素値ＴＤＣ0〜ＴＤＣ3の生成が終了したことを以て、ＤＣ符号化部２および階層処理部３ａ〜３ｃが並行して動作する。ただし、これらの動作が開始するタイミングは同じではなく、階層が下位になるほど開始タイミングが遅くなる。この遅延は、上位階層の順次シフトによる処理遅延に起因したものである。図２を参照すると、ある階層でブロックＳの処理を行う場合、その参照領域Ｔ，Ｌ，Ｂ，Ｒ，ＢＢ，ＲＲの処理が直上位の階層で終了していることが条件（階層処理開始条件）となる。換言すれば、上位階層において、順次シフトが進行してブロックＢＢまでの処理が終了しない限り、下位階層におけるブロックＳの処理が開始できない。これが下位階層における動作遅延が生じる所以である。ただし、図４に示すような逐次処理と比較すると、図３に示したパイプライン的な並行処理の方が高速である。一方、図４の逐次処理では、ある階層の処理が全て終了した時点で、直下位の階層の処理が開始される。したがって、逐次処理においても、上記階層処理開始条件を当然に満たす。
【００３２】
図５は、ＲＡＣＰエンコーダにおける階層処理部３（３ａ〜３ｃの総称）の構成図である。それぞれの階層における階層処理部３は、取り扱うブロックサイズが異なる点を除けば、構成および処理の流れは同一である。階層処理部３は、領域特定部３１と、予測処理部３２と、減算器３３と、非可逆変換部３４と、エントロピー符号化部３５と、逆変換部３６と、加算器３７とを有する。
【００３３】
領域特定部３１は、今回の処理対象となる対象ブロックＳと、その参照領域となるブロックＴ（ｔ10，ｔ11），Ｌ（ｌ01，ｌ11），Ｂ，Ｒ，ＢＢ，ＲＲとを特定する。図２に示したように、対象ブロックＳの上方および左方のブロックＴ，Ｌが処理済ブロックとなり、対象ブロックＳの下方および右方のブロックＢ，Ｒ，ＢＢ，ＲＲが未処理ブロックとなる。処理済／未処理の判別は、ブロックのサイズ（例えば８×８画素）、画面のサイズ（例えば1024×768画素）、および、シフト方向（例えば水平ラインに沿った線順次走査）が既知であることを前提に、対象ブロックＳのブロック番号ＢＮより行うことができる。対象ブロックＳに関しては、そのブロック（例えば８×８ブロック）の平均画素値ＤＣn-1がバッファから読み出される。また、処理済ブロックＴ，Ｌに関しては、これを細分化した処理済サブブロックｔ，ｌ（例えば４×４ブロック）の平均画素値ＤＣnがバッファから読み出される。これらの平均画素値ＤＣnは、同一階層における順次シフトの従前処理によって既に算出されており、バッファを介してフィードバックされる。すべてのサブブロックｔ，ｌの平均画素値ＤＣnを読み出す必要はなく、対象ブロックＳと位置的に隣り合ったもののみが読み出せば足りる。具体的には、上ブロックＴを構成する４つのサブブロックｔ00〜ｔ11のうち、対象ブロックＳと直接隣接した下２つのサブブロックｔ10，ｔ11の平均画素値ＤＣnのみ読み出される。画像の空間的な相関性から、これらのサブブロックｔ10，ｔ11は、上ブロックＴよりも対象ブロックＳの特性を色濃く反映している傾向がある。したがって、対象ブロックＳの交流成分予測にあたっては、上ブロックＴ全体ではなく、その要部ｔ10，ｔ11を参照する方が予測精度を高める上で有利である。同様に、左ブロックＬに関しては、これを構成する４つのサブブロックｌ00〜ｌ11のうち、対象ブロックＳと隣接した右２つのサブブロックｌ01，ｌ11の平均画素値ＤＣnのみが読み出される。一方、未処理ブロックＢ，Ｒ，ＢＢ，ＲＲに関しては、現時点では、それぞれのサブブロックの情報は未だ生成されていないため、直上位の階層で算出済みの平均画素値ＤＣn-1がバッファから読み出される。バッファから読み出された平均画素値ＤＣn-1，ＤＣnは、予測処理部３２に供給される。
【００３４】
予測処理部３２は、対象ブロックＳの平均画素値ＤＣn-1と、処理済ブロックＴ，Ｌ内に存在する処理済サブブロックｔ10，ｔ11，ｌ01，ｌ11の各平均画素値ＤＣnと、未処理ブロックＢ，Ｒ，ＢＢ，ＲＲの各平均画素値ＤＣn-1とを用いて、対象ブロックＳの交流成分予測を行う。これにより、対象ブロックＳを細分化したサブブロックｓ00〜ｓ11の予測画素値が算出される。本実施形態の特徴の一つは、参照領域の未処理部分の情報に関して、大きなブロックの平均画素値ＤＣn-1そのものではなく、これよりも小さなサブブロック相当の予測値を周囲から予測し、この予測値を用いる点にある。ただし、このサブブロック相当の予測値は、今回の対象ブロックＳの交流成分予測のためだけに用いられ、それ自体がサブブロックの平均画素値ＤＣnになるわけではない（ＤＣnは同一階層内の以後の処理で別途生成される）。
【００３５】
予測処理部３２は、以下の数式１，２に基づいて、対象ブロックＳを細分化した対象サブブロックｓ00〜ｓ11の予測画素値Ｃ（＝ｃ00〜ｃ11）、すなわち予測画像を算出する。同数式および以下の説明において、Ｓ，Ｔ，Ｌ，Ｂ，Ｒ、ＢＢ，ＲＲは、ブロックそのものを指すのではなく、平均画素値を示す。ｔ10，ｔ11，ｌ01，ｌ11についても同様である。算出された予測画素値Ｃ＝｛ｃ00，ｃ01，ｃ10，ｃ11｝は、減算器３３および加算器３７に供給される。
【００３６】
（数式１）
ｃ00 ＝ Ｓ＋３×（Ｔ−Ｂ’＋Ｌ−Ｒ’）／１６
ｃ01 ＝ Ｓ＋３×（Ｔ−Ｂ’−Ｌ＋Ｒ’）／１６
ｃ10 ＝ Ｓ＋３×（−Ｔ＋Ｂ’＋Ｌ−Ｒ’）／１６
ｃ11 ＝ Ｓ＋３×（−Ｔ＋Ｂ’−Ｌ＋Ｒ’）／１６
【００３７】
（数式２）
Ｔ = （ｔ10＋ｔ11）／２
Ｌ ＝ （ｌ01＋ｌ11）／２
Ｂ’ ＝ （８×Ｂ−ＢＢ＋Ｓ）／８
Ｒ’ ＝ （８×Ｒ−ＲＲ＋Ｓ）／８
【００３８】
Ｂ’，Ｒ’は、平均画素値そのものではなく、後述する所定の中心間距離におけるサブブロック相当の予測値である。図６は、対象ブロックＳ周辺の中心間距離の説明図である。ブロックの中心位置における中心画素値は、そのブロック自体の平均画素値ＤＣn-1と仮定するとともに、サブブロックの中心位置における中心画素値は、そのサブブロック自体の平均画素値ＤＣnと仮定する。ブロックを４分割したときの正方形の１辺の長さを２とし、サブブロックを更に４分割したときの正方形の１辺の長さを１とする。この場合、隣接したブロック間の中心間距離は４、隣接したサブブロック間の中心間距離は２、隣接したブロックおよびサブブロック間の中心間距離は３となる。まず、対象ブロックの上方に位置する中心画素値Ｔは、対象ブロックから中心間距離３の位置に存在し、上ブロック内に含まれる２つサブブロックの平均画素値ｔ10，ｔ11（中心画素値）を中心間距離１：１で按分した値（ｔ10＋ｔ11）／２となる。中心間距離３で左方に存在する中心画素値Ｌも同様の考え方に基づく。つぎに、対象ブロックの右方に位置する予測値Ｒ’は、横方向に並んだ３つのブロック（３点）の中心間距離を考慮しつつ、これらのブロックの中心画素値Ｓ，Ｒ，ＲＲの線形予測によって算出される。具体的には、図７に示すように、対象ブロックと第２の右ブロックの間の中心画素値Ｓ，ＲＲの変化量（Ｓ−ＲＲ）を、Ｓ，ＲＲ間の中心間距離８と、Ｒ，Ｒ’間の中心間距離１とに基づいて比例配分し、これを中心画素値Ｒに加算することによって、予測値Ｒ’が算出される。この考え方は、対象ブロックの下方に位置する予測値Ｂ’についても同様である。これにより、対象ブロックの上方／左方と同様、対象ブロックからの中心間距離がすべて３で共通化された予測値Ｂ’，Ｒ’が下方／右方において算出される。画像の空間的な相関性から、これらの予測値Ｂ’，Ｒ’は、下方／右方のブロックの中心画素値Ｂ，Ｒよりも対象ブロックの特性を色濃く反映している傾向があり、より真値に近いと考えることができる。したがって、このような予測値Ｂ’，Ｒ’を用いることで、より予測精度の高い交流成分予測を行うことが可能になる。なお、画像平面上の縁部のように周辺領域の一部が欠落している場合、予測処理部３２は、例外的に、処理対象となるブロックＳの平均画素値ＤＣn-1をその部分の情報として用いる。また、上記数式１，２は、両者をマージして、単一式で表現してもよい。
【００３９】
本予測手法は、処理済領域のみならず未処理領域も含めて、すべての参照領域の情報をサブブロック相当の中心画素値を入力として予測する点に特徴がある。ただし、処理済領域とは異なり、未処理領域については、サブブロックの中心画素値が未だ特定されていないので、大きなブロックの情報をベースに予測された予測値を小さなサブブロックの中心画素値として用いる。未処理領域に関しても、サブブロック相当の分解能を有する値（予測値）を用いることで、処理済領域におけるサブブロックの値をそのまま、すなわち、大きい方のブロックの中心画素値の予測による変換なしに利用できる。これにより、予測誤差の影響を低減でき、より高精度な予測が可能になる。また、処理対象となる画素と参照画素との中心間距離が近づくため、両者の相関が高くなることが期待でき、これによる予測精度の向上も可能になる。当然、処理済でない未知の画素に対しては、サブブロックの中心画素値を予測する際に予測誤差の影響を受けることになる。しかしながら、そもそも従来手法では、サブブロックの単純平均値をサブブロックの中心画素値として予測しており、予測誤差の影響を既に受けているため、本予測手法のような別の予測を採用しても、予測誤差の影響の度合いに大きな差はないといえる。
【００４０】
また、上述した数式２に代えて、以下のような数式３によって、予測値Ｂ’，Ｒ’を算出してもよい。
【００４１】
（数式３）
Ｂ’ ＝ （５×Ｂ−ＢＢ）／４
Ｒ’ ＝ （５×Ｒ−ＲＲ）／４
【００４２】
この場合、図８に示すように、第１および第２の右ブロック（２点）の間の中心画素値Ｒ，ＲＲの変化量（Ｒ−ＲＲ）を、Ｒ，ＲＲ間の中心間距離４と、Ｒ，Ｒ’間の中心間距離１とに基づいて比例配分し、これを中心画素値Ｒに加算することによって、対象ブロックからの中心間距離が３となる予測値Ｒ’が算出される（予測値Ｂ’についても同様）。数式３の予測手法は、数式２のそれと比較して、予測精度はやや劣るが、サンプル数が少ない分だけ計算量が少なくて済むという利点がある。
【００４３】
予測値Ｂ’，Ｒ’の算出式は、上述した２つの例に限定されるものではなく様々なものが考えられる。しかしながら、いずれの場合であっても、有効な予測精度を確保するためには、図６に示した第１および第２の右ブロックといった如く、対象ブロックから一方向上（一次元方向）に存在する中心画素値Ｒ，ＲＲを少なくとも用いるべきである。この点について詳述すると、上述した数式１をアダマール変換すると、以下のような数式４になる。
【００４４】
（数式４）
α ＝ ｃ00−ｃ01＋ｃ10−ｃ11 ＝ １２×（Ｌ−Ｒ’）／１６
β ＝ ｃ00+ｃ01−ｃ10−ｃ11 ＝ １２×（Ｔ−Ｂ’）／１６
【００４５】
数式４からわかるように、Ｌ，Ｒ’は水平方向の傾きαにしか、Ｔ，Ｂ’は垂直方向の傾きβにしかそれぞれ関与しない。したがって、Ｒ’の算出は、ＲＲのように右側の一次元方向に存在する値を主体に行うべきであり、この水平方向とは独立した垂直方向の成分のみで行った場合には、予測精度の著しい低下を招く（ただし、斜め方向を含めて垂直成分の加味を排除するものではない）。同様に、Ｂ’の算出は、ＢＢのように下側の一次元方向に存在する値を主体に行うべきであり、この垂直方向とは独立した水平方向の成分のみで行った場合には、予測精度の著しい低下を招く（ただし、斜め方向を含めて水平成分の加味を排除するものではない）。
【００４６】
予測精度の観点でいえば、３点予測（数式２）の方が２点予測（数式３）よりも優れている。上述したように、例えばＲ’の予測は、Ｒ点での傾きを距離に応じて除算した値をＲに加算することによって行われる。この傾きは、差分法によって算出することができ、その具体的な計算手法としては、計算の簡単さを重視した前進差分（Δｕ（ｎ）＝ｕ（ｎ＋１）−ｕ（ｎ））と、傾きの精度を重視した中央差分（Δｕ（ｎ）＝（ｕ（ｎ＋１）−ｕ（ｎ−１））／２）とがある。これらの計算手法は、１次の差分であってもよいが、より高精度な傾きを算出すべく、２次以降の差分としてもよい。
【００４７】
再び図５を参照すると、減算器３３は、予測処理部３２によって算出された予測画素値Ｃ（例えば４×４ブロック単位）と、これに対応する平均画素値ＴＤＣn（例えば４×４ブロック単位）、すなわち、入力画像に基づいて算出された真の画素値との差分を予測残差ＰＲとして算出する。交流成分予測によって生成された予測画像（予測画素値ｃ00〜ｃ11の集合）が本来の画像（予測画素値ｃ00〜ｃ11に対応する真の画素値）に近いほど、予測残差ＰＲが小さくなる。予測残差ＰＲが小さくなるほど、統計的に見た予測残差の出現頻度が０近傍に偏る傾向が高まるので、エントロピー符号化を施す上で有利になる。
【００４８】
非可逆変換部３４は、減算器３３によって算出された予測残差ＰＲに対して、例えばアダマール変換および量子化といった非可逆変換を施す。エントロピー符号化部３５は、非可逆変換が施された予測残差ＰＲに対して、ハフマン符号化や算術符号化といったエントロピー符号化を施すことによって、例えば４×４ブロック単位での交流成分ＡＣn（圧縮データ））を生成する。逆変換部３６は、非可逆変換が施された予測残差ＰＲに対して、この非可逆変換の逆処理を施すことによって予測残差ＰＲ’を算出する。この予測残差ＰＲ'は、本来の予測残差ＰＲを復元したものだが、非可逆変換（元の値を完全に復元することはできない））が施されている関係上、本来の予測残差ＰＲとは僅かに相違している。加算器３７は、予測処理部３２によって算出された予測画素値Ｃに、予測残差ＰＲ’を加算することによって、サブブロック（例えば４×４ブロック）の平均画素値ＤＣnを算出する。加算器３７の入力として本来の予測残差ＰＲではなく、復元された予測残差ＰＲ’を用いる理由は、デコード時の繰り返し処理によって誤差の累積することを防止し、伸張画像の再現性を担保するためである。加算器３７より出力された平均画素値ＤＣnは、順次シフトにおける以後の処理で必要となる処理済周辺領域の情報として、バッファに一時的に格納される。バッファの格納された平均画素値ＤＣnは、領域特定部３１によって適宜読み出され、同一階層における予測処理部３２にフィードバックされる。それとともに、直下位の階層における処理対象および未処理周辺領域となるブロック（例えば４×４ブロック）の平均画素値として、直下位の階層における予測処理部３２にも供給される。
【００４９】
このように、本実施形態に係るＲＡＣＰエンコーダによれば、参照領域のうちの未処理部分に関する情報として、対象ブロックに直接隣接した未処理ブロックと、同方向に更に隣接した未処理ブロックとを少なくとも用いて、対象ブロックからの中心間距離がより近い予測値を算出する。これにより、処理済ブロックと同様、未処理ブロックに関しても、サブブロック相当の分解能で取り扱うことができる。また、対象ブロックとの相関がより高い予測値を用いた交流成分予測を行うことで、画像の予測精度の一層の向上を図ることが可能になる。その結果、真の画素値との差分である予測残差ＰＲを低減できるので、圧縮効率の一層の向上が期待できる。特に、図３に示したようなパイプライン的な並行処理を行えば、全体的な処理時間の短縮を図ることができる。
【００５０】
（ＲＡＣＰエンコードプログラム）
つぎに、ハードウェアとして実現されるＲＡＣＰエンコーダと同等の処理を、コンピュータのソフトウェア処理によって実現するためのＲＡＣＰエンコードプログラムについて説明する。なお、ハードウェア処理とソフトウェア処理との間には本質的な相違はないので、ここでは概略的な説明に留め、その詳細は上述した記載に譲るものとする。
【００５１】
図９は、ＲＡＣＰエンコードプログラムのフローチャートである。コンピュータによるソフトウェア処理では、図４に示したような逐次処理が基本となる。まず、ステップ１において、入力画像の画像平面上にブロック（４タイプ）を複数設定し、それぞれのブロックの平均画素値ＴＤＣ0〜ＴＤＣ3が算出される。算出された平均画素値ＴＤＣ0〜3は、バッファに随時格納される。すべてのブロックの処理が終了するとステップ２に進む。
【００５２】
ステップ２において、８×８ブロックの平均画素値ＴＤＣ0に対して、ＤＣ符号化、すなわち、差分パルス幅変調とエントロピー符号化とが施され、これによって、圧縮データの一部となる画像の直流成分ＤＣ0が生成・出力される。また、その復元値がＤＣ0としてバッファに格納される。
【００５３】
ステップ３において、階層番号ＬＮが１（初期値）にセットされる。ＬＮ＝１は、処理を行うべき階層が最上位階層であることを示す。そして、１つの階層処理が終了する毎に１ずつインクリメントされ（ステップ１４）、下位の階層へと順番に推移していく。そして、ＬＮ＝３、すなわち最下位階層の処理が終わった時点で、全ての処理が終了する（ステップ１３）。
【００５４】
ステップ４において、ブロック番号ＢＮが１（初期値）にセットされる。先のステップ３における階層番号ＬＮの設定にともない、その階層で処理対象となるブロックのサイズは一義的に特定され、全体のブロック数に応じた終了ブロック番号ＢＮendも特定される。同一階層内におけるブロックの処理が終了する毎にブロック番号ＢＮが１ずつインクリメントされ（ステップ１２）、処理対象が所定の方向に順次シフトしていく。そして、終了ブロック番号ＢＮendに相当するブロックの処理が終了した時点で、その階層における処理が終了する（ステップ１１）。
【００５５】
ステップ５において、ブロック番号ＢＮによって指定されたブロックＳに関して、例えば数式２に基づいて画素値Ｔ，Ｌ，Ｂ’，Ｒ’が算出される。
【００５６】
ステップ６において、ブロック番号ＢＮによって指定されたブロックＳに関して、数式１に基づいて交流成分予測が行われ、これによって、ブロックＳを細分化したサブブロックｓ00〜ｓ11の予測画素値Ｃ（＝ｃ00〜ｃ11）が算出される。そして、これに続くステップ７において、先のステップ６で算出された予測画素値Ｃと真の画素値ＴＤＣnとの差分が予測残差ＰＲとして算出される。
【００５７】
ステップ８において、先のステップ７で算出された予測残差ＰＲに対して、非可逆変換およびエントロピー符号化を施す。これによって、圧縮データの一部としての画像の交流成分ＡＣnが生成される。これに続くステップ９において、非可逆変換が施された予測誤差ＰＲに対して、その逆処理を行い、本来の予測誤差ＰＲを復元した予測誤差ＰＲ’（復元値）が算出される。そして、ステップ１０において、ステップ６で算出された予測画素値Ｃに、予測残差ＰＲ’を加算することによって、サブブロックの平均画素値ＤＣnが算出され、バッファに格納される。
【００５８】
ステップ１１において、ブロック番号ＢＮが終了ブロック番号ＢＮendに到達したか否かが判断される。終了ブロック番号ＢＮendに到達するまでは、ステップ１２においてブロック番号ＢＮが１ずつインクリメントされていき、ステップ５〜１１の処理が繰り返される。そして、終了ブロック番号ＢＮendに到達した場合、すなわち、画像平面内の全ブロックの処理が終了した場合には、ループを抜けてステップ１３に進む。
【００５９】
ステップ１３において、階層番号ＬＮが３（最下位階層）に到達したか否かが判断される。３に到達するまでは、ステップ１４において階層番号ＬＮが１ずつインクリメントされていき、ステップ５〜１２のループが繰り返される。これにより、階層が下位になるにしたがって、処理対象となるブロックＳのサイズが段階的に小さくなっていき、上述した一連の処理が再帰的に実行される。上位階層側において算出されたサブブロックの平均画素値ＤＣn（出力）は、下位階層側の処理対象および未処理周辺領域となるブロックの平均画素値ＤＣn-1（入力）として用いられる。そして、ブロック番号ＢＮが３に到達した場合、すなわち、最下位階層の処理が終了した場合には、ステップ１１の判断結果よりループを抜け、これによって、本プログラムの処理が終了する。
【００６０】
本実施形態に係るＲＡＣＰエンコードプログラムによれば、上述したＲＡＣＰエンコーダと同様、交流成分予測における画像の予測精度の一層の向上を図ることができ、圧縮効率の向上が期待できる。
【００６１】
（ＲＡＣＰデコーダ）
図１０は、上述したＲＡＣＰエンコーダまたはＲＡＣＰエンコードプログラムによって生成された圧縮データを伸張するＲＡＣＰデコーダの全体構成図である。このデコーダは、ＤＣ復号化５と、３つの階層処理部６ａ〜６ｃとを主体に構成されている。これらのユニット５，６ａ〜６ｃより出力されたデータＤＣn（n=0,1,2,3）は、図示しないバッファ（記憶部）に一時的に格納される。
【００６２】
ＤＣ復号化５および階層処理部６ａ〜６ｃは、８×８ブロック（最上位階層）、４×４ブロック（第２位階層）、２×２ブロック（第３位階層）、１×１ブロック（最下位階層）の階層構造において、自己に割り当てられた階層処理を行う。最上位階層のＤＣ復号化部５は、画像の直流成分ＤＣ0に関する圧縮データに対して、画像圧縮時に施された処理の逆処理を行うことによって、８×８ブロックの平均画素値ＤＣ0を生成し、これを第２位階層の階層処理部６ａに供給する。
【００６３】
ＲＡＣＰデコーダの階層構造自体は、ＲＡＣＰエンコーダのそれとほぼ同様であるが、エンコーダにおける階層処理部３ａ〜３ｃの出力となる交流成分ＡＣ1〜ＡＣ3が、デコーダにおける階層処理部６ａ〜６ｃの入力となる点が相違する。これらの階層処理部６ａ〜６ｃは、画像の交流成分ＡＣ1〜ＡＣ3に関する圧縮データと、直上位の階層より供給された平均画素値ＤＣn-1とに基づいて、平均画素値ＤＣnを復元する。復元された平均画素値ＤＣnは、同一階層にフィードバックするために、および、必要に応じて直下位の階層に供給するために出力され、バッファに格納される。そして、最下位階層の階層処理部６ｃによって算出された１×１ブロックの平均画素値ＤＣ3の集合が最終的な伸張画像となる。なお、デコーダにおける順次シフトの方向は、エンコーダのそれに準じるものとする。また、デコーダの処理は、並列処理および逐次処理のどちらであってもよい。
【００６４】
図１１は、ＲＡＣＰデコーダにおける階層処理部６（６ａ〜６ｃの総称）の構成図である。それぞれの階層における階層処理部６は、取り扱うブロックのサイズが異なる点を除けば、基本構成および動作は同一である。階層処理部６は、領域特定部６１と、予測処理部６２と、加算器６３と、逆変換部６４とを有する。
【００６５】
領域特定部６１は、ＲＡＣＰエンコーダと同様、今回の処理対象となる対象ブロックＳと、その参照領域となるブロックＴ（ｔ10，ｔ11），Ｌ（ｌ01，ｌ11），Ｂ，Ｒ，ＢＢ，ＲＲとを特定する。すなわち、図２に示したように、ブロックＳ，Ｂ，Ｒ，ＢＢ，ＲＲに関しては、そのブロック自体（例えば８×８ブロック）の平均画素値ＤＣn-1がバッファから読み出される。これらの平均画素値ＤＣn-1は、直上位の階層において既に算出されており、直上位の階層よりバッファを介して供給される。一方、ブロックＴ，Ｌに関しては、これを細分化したサブブロックｔ，ｌ（例えば４×４ブロック）の平均画素値ＤＣnがバッファから読み出される。これらの平均画素値ＤＣnは、同一階層におけるシフト順序での従前処理によって既に算出されており、バッファを介してフィードバックされる。読み出す必要があるデータは、上ブロックＴを構成する４つのサブブロックｔに関しては、ブロックＳと隣り合った下２つのサブブロックｔ10，ｔ11の平均画素値ＤＣnであり、左ブロックＬを構成する４つのサブブロックｌに関しては、ブロックＳと隣り合った右２つのサブブロックｌ01，ｌ11の平均画素値ＤＣnである。そして、これらの読み出された平均画素値ＤＣn-1，ＤＣnが予測処理部６２に供給される。
【００６６】
予測処理部６２は、対象ブロックＳの平均画素値ＤＣn-1と、処理済ブロックＴ，Ｌ内に存在する処理済サブブロックｔ10，ｔ11，ｌ01，ｌ11の各平均画素値ＤＣnと、未処理ブロックＢ，Ｒ，ＢＢ，ＲＲの各平均画素値ＤＣn-1とを用いて、対象ブロックＳの交流成分予測を行う。これによって、対象ブロックＳを細分化した対象サブブロックｓ00〜ｓ11の予測画素値Ｃ（＝ｃ00〜ｃ11）、すなわち予測画像が算出される。算出された予測画素値Ｃは、加算器６３に供給される。なお、画像平面上の縁部のように周辺領域の一部が欠落している場合には、デコーダとの間で予め取り決められた規則にしたがって処理される。例えば、処理対象となるブロックＳの平均画素値ＤＣn-1をその部分の情報として補うといった如くである。
【００６７】
逆変換部６４は、例えば４×４ブロックの交流成分ＡＣnの圧縮データに対して、画像圧縮時に施された非可逆変換およびエントロピー符号化の逆処理を行うことによって、加算器６３に供給すべき予測残差ＰＲ’を復元する。加算器６３は、予測処理部６２によって算出された予測画素値Ｃに、逆変換部６４によって復元された予測残差ＰＲ’を加算することによって、サブブロック（例えば４×４ブロック）の平均画素値ＤＣnを算出する。加算器６３より出力された平均画素値ＤＣnは、順次シフトにおける以後の処理で必要となる処理済周辺領域の情報として、バッファに一時的に格納される。バッファの格納された平均画素値ＤＣnは、領域特定部６１によって適宜読み出され、同一階層における予測処理部６２にフィードバックされる。それとともに、直下位の階層における処理対象および未処理周辺領域となるブロック（例えば４×４ブロック）の平均画素値として、直下位の階層における予測処理部６２にも供給される。
【００６８】
このように、本実施形態に係るＲＡＣＰデコーダによれば、上述したＲＡＣＰデコーダまたはＲＡＣＰエンコードプログラムによって生成された圧縮データを適切に伸張することができる。それとともに、未処理周辺領域におけるブロックＢ，Ｒの中心画素値として、従来技術よりも信頼性の高い値を算出することができるので、高い予測精度を活かした画像の伸張が可能になる。特に、図３に示したようなパイプライン的な並行処理を行えば、全体的な処理時間の短縮を図ることができる。
【００６９】
（ＲＡＣＰデコードプログラム）
つぎに、ハードウェアとして実現されるＲＡＣＰデコーダと同等の処理を、コンピュータのソフトウェア処理によって実現するためのＲＡＣＰデコードプログラムについて説明する。なお、ハードウェア処理とソフトウェア処理との間には本質的な相違はないので、ここでは概略的な説明に留め、その詳細は上述した記載を参照するものとする。
【００７０】
図１２は、ＲＡＣＰデコードプログラムのフローチャートである。コンピュータによるソフトウェア処理では、図４に示したような逐次処理が基本となる。まず、ステップ２１において、画像の直流成分ＤＣ0の圧縮データに対して、ＤＣ復号化、すなわち、データ圧縮時に施された符号化処理の逆処理が施され、これによって、８×８ブロックの平均画素値ＤＣ0が復元され、これがバッファに格納される。
【００７１】
ステップ２２，２３において、ＲＡＣＰエンコードプログラムと同様に、階層番号ＬＮが１（初期値）、ブロック番号ＢＮが１（初期値）にそれぞれセットされる。
【００７２】
ステップ２４において、ブロック番号ＢＮによって指定されたブロックＳに関して、例えば数式２に基づいて、画素値Ｔ，Ｌ，Ｂ’，Ｒ’が算出される。
【００７３】
ステップ２５において、ブロック番号ＢＮによって指定されたブロックＳに関して、上述した数式１に基づき交流成分予測が行われ、これによって、ブロックＳを細分化したサブブロックｓ00〜ｓ11の予測画素値Ｃ（＝ｃ00〜ｃ11）が算出される。そして、これに続くステップ２６において、画像の交流成分ＡＣnの圧縮データが伸張され、これによって、予測残差ＰＲ’が復元される。そして、ステップ２７において、ステップ２５で算出された予測画素値Ｃに、ステップ２７で算出された予測残差ＰＲ’を加算することによって、サブブロックの平均画素値ＤＣnが算出され、バッファに格納される。
【００７４】
ステップ２８において、ブロック番号ＢＮが終了ブロック番号ＢＮendに到達したか否かが判断される。終了ブロック番号ＢＮendに到達するまでは、ステップ２９においてブロック番号ＢＮが１ずつインクリメントされていき、ステップ２４〜２７の処理が繰り返される。そして、終了ブロック番号ＢＮendに到達した場合、すなわち、画像平面内の全ブロックの処理が終了した場合には、ステップ２８の判断結果よりループを抜け、ステップ３０に進む。
【００７５】
ステップ３０において、階層番号ＬＮが３（最下位階層）に到達したか否かが判断される。３に到達するまでは、ステップ３１において階層番号ＬＮが１ずつインクリメントされていき、ステップ２３〜２９のループが繰り返される。これにより、階層が下位になるにしたがって、処理対象となるブロックＳのサイズが段階的に小さくなっていき、上述した一連の処理が再帰的に実行される。上位階層側において算出されたサブブロックの平均画素値ＤＣn（出力）は、下位階層側の処理対象および未処理周辺領域となるブロックの平均画素値ＤＣn-1（入力）として用いられる。そして、ブロック番号ＢＮが３に到達した場合、すなわち、最下位階層の処理が終了した場合には、ループを抜け、これによって、本プログラムの処理が終了する。
【００７６】
本実施形態に係るＲＡＣＰデコードプログラムによれば、上述したＲＡＣＰデコーダと同様の効果を奏する。
【００７７】
なお、上述した実施形態では、交流成分予測符号化、特に、再帰的交流成分予測符号化について説明したが、本発明はこれに限定されるものではなく、交流成分予測を用いて解像度の高い画像を生成する画像処理にも適用可能である。
【符号の説明】
【００７８】
１  ＤＣ算出部
２  ＤＣ符号化部
３（３ａ〜３ｃ）  階層処理部
５  ＤＣ復号化部
６（６ａ〜６ｃ）  階層処理部
３１，６１  領域特定部
３２，６２  予測処理部
３３  減算器
３４  非可逆変換部
３５  エントロピー符号化部
３６，６４  逆変換部
３７，６３  加算器
【図１】
2011049942.tif 000003
【図２】
2011049942.tif 000004
【図３】
2011049942.tif 000005
【図４】
2011049942.tif 000006
【図５】
2011049942.tif 000007
【図６】
2011049942.tif 000008
【図７】
2011049942.tif 000009
【図８】
2011049942.tif 000010
【図９】
2011049942.tif 000011
【図１０】
2011049942.tif 000012
【図１１】
2011049942.tif 000013
【図１２】
2011049942.tif 000014