(57)【要約】【課題】交流成分予測における画像の予測精度の一層の向上を図る。【解決手段】領域特定部３１は、処理対象の周辺に位置する周辺領域のうち、順次シフトによる処理が未だ行われていない領域を未処理周辺領域と、その処理が既に行われた領域を処理済周辺領域とを特定する。予測処理部３２は、処理対象となるブロックＳの平均画素値と、処理済周辺領域におけるブロックＴ，Ｌの中心画素値と、未処理周辺領域におけるブロックＢ，Ｒの平均画素値とを用いた交流成分予測によって、ブロックＳを細分化したサブブロックｓ00〜ｓ11の予測画素値を算出する。ここで、中心画素値は、処理済周辺領域におけるサブブロックｔ10，ｔ11，ｌ01，ｌ11の平均画素値と、ブロックＳの平均画素値とを用い、かつ、ブロックおよびサブブロックの中心間距離に基づいた線形予測値である。【選択図】図５
2010087673.tif 000002
【特許請求の範囲】
【請求項１】
画像平面上に第１のブロックを複数設定するとともに、処理対象となる第１のブロックを所定の方向に順次シフトさせながら交流成分予測を行う画像処理システムにおいて、
前記処理対象の周辺に位置する周辺領域のうち、順次シフトによる処理が未だ行われていない領域を未処理周辺領域として特定するとともに、順次シフトによる処理が既に行われた領域を処理済周辺領域として特定する領域特定部と、
前記処理対象となる第１のブロックの平均画素値と、前記処理済周辺領域における第１のブロックの中心画素値と、前記未処理周辺領域における第１のブロックの平均画素値とを用いた交流成分予測によって、前記処理対象となる第１のブロックを細分化した第２のブロックの予測画素値を算出する予測処理部とを有し、
前記中心画素値は、前記処理済周辺領域における第２のブロックの平均画素値と、前記処理対象となる第１のブロックの平均画素値とを用い、かつ、第１のブロックおよび第２のブロックの中心間距離に基づいた線形予測値であることを特徴とする画像処理システム。
【請求項２】
前記処理済周辺領域における第２のブロックとして、前記処理対象と位置的に隣接した第２のブロックが用いられることを特徴とする請求項１に記載された画像処理システム。
【請求項３】
前記予測処理部によって算出された予測画素値に、真の画素値との差分に相当する予測残差を加算することによって、第２のブロックの平均画素値を算出する加算器をさらに有し、
前記加算器によって算出されたの第２のブロックの平均画素値は、以後の処理で必要となる前記処理済周辺領域の情報として、前記予測処理部にフィードバックされることを特徴とする請求項１または２に記載された画像処理システム。
【請求項４】
階層が下位になるにしたがって、前記処理対象となる第１のブロックのサイズが段階的に小さくなる複数の階層処理部を有し、
前記階層処理部のそれぞれは、前記領域特定部と、前記予測処理部と、前記加算器とを有し、
上位階層側の前記加算器によって算出された第２のブロックの平均画素値は、下位階層側の前記処理対象および前記未処理周辺領域となる第１のブロックの平均画素値として、下位階層側の前記予測処理部に供給されることを特徴とする請求項３に記載された画像処理システム。
【請求項５】
前記画像処理システムは、画像を圧縮するエンコーダであって、
前記予測処理部によって算出された予測画素値と真の画素値との差分を予測残差として算出する減算器と、
前記減算器によって算出された予測残差に対して、非可逆変換を施す非可逆変換部と、
前記非可逆変換が施された予測残差に対して、エントロピー符号化を施すことによって、圧縮データの一部としての画像の交流成分を生成するエントロピー符号化部と、
前記非可逆変換が施された予測残差に対して、当該非可逆変換の逆処理を施すことによって、前記加算器に供給すべき前記予測残差を生成する逆変換部と
をさらに有することを特徴とする請求項３または４に記載された画像処理システム。
【請求項６】
前記画像処理システムは、画像を伸張するデコーダであって、
画像の圧縮データに対して、画像圧縮時に施された非可逆変換およびエントロピー符号化の逆処理を行うことによって、前記加算器に供給すべき前記予測残差を復元する逆変換部をさらに有することを特徴とする請求項３または４に記載された画像処理システム。
【請求項７】
画像平面上に第１のブロックを複数設定するとともに、処理対象となる第１のブロックを所定の方向に順次シフトさせながら交流成分予測を行う画像処理プログラムにおいて、
前記処理対象の周辺に位置する周辺領域のうち、順次シフトによる処理が未だ行われていない領域を未処理周辺領域として特定する第１のステップと、
前記周辺領域のうち、順次シフトによる処理が既に行われた領域を処理済周辺領域として特定する第２のステップと、
前記処理対象となる第１のブロックの平均画素値と、前記処理済周辺領域における第１のブロックの中心画素値と、前記未処理周辺領域における第１のブロックの平均画素値とを用いた交流成分予測によって、前記処理対象となる第１のブロックを細分化した第２のブロックの予測画素値を算出する第３のステップとを有する画像処理をコンピュータに実行させ、
前記中心画素値は、前記処理済周辺領域における第２のブロックの平均画素値と、前記処理対象となる第１のブロックの平均画素値とを用い、かつ、第１のブロックおよび第２のブロックの中心間距離に基づいた線形予測値であることを特徴とする画像処理プログラム。
【請求項８】
前記処理済周辺領域における第２のブロックとして、前記処理対象と位置的に隣接した第２のブロックが用いられることを特徴とする請求項７に記載された画像処理システム。
【請求項９】
前記算出された予測画素値に、真の画素値との差分に相当する予測残差を加算することによって、第２のブロックの平均画素値を算出する第４のステップをさらに有し、
前記算出された第２のブロックの平均画素値は、以後の処理における処理済周辺領域の情報として用いられることを特徴とする請求項７または８に記載された画像処理プログラム。
【請求項１０】
階層が下位になるにしたがって、前記処理対象となるブロックのサイズが段階的に小さくなる階層構造において、前記画像処理が再帰的に実行され、
上位階層側において算出された第２のブロックの平均画素値は、下位階層側の前記処理対象および前記未処理周辺領域となる第１のブロックの平均画素値として用いられることを特徴とする請求項９に記載された画像処理プログラム。
【請求項１１】
前記画像処理プログラムは、画像を圧縮するエンコードプログラムであって、
前記算出された第２のブロックの予測画素値と真の画素値との差分を予測残差として算出する第５のステップと、
前記算出された予測残差に対して、非可逆変換を施す第６のステップと、
前記非可逆変換が施された予測残差に対して、エントロピー符号化を施すことによって、圧縮データの一部としての画像の交流成分を生成する第７のステップと、
前記非可逆変換が施された予測残差に対して、当該非可逆変換の逆処理を施すことによって、第２のブロックの平均画素値の算出に用いられる前記予測残差を生成する第８のステップと
をさらに有することを特徴とする請求項９または１０に記載された画像処理プログラム。
【請求項１２】
前記画像処理プログラムは、画像を伸張するデコードプログラムであって、
画像の圧縮データに対して、画像圧縮時に施された非可逆変換およびエントロピー符号化の逆処理を行うことによって、第２のブロックの平均画素値の算出に用いられる前記予測残差を復元する第９のステップをさらに有することを特徴とする請求項９または１０に記載された画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理システムおよび画像処理プログラムに係り、特に、交流成分予測（ＡＣＰ：ＡＣ Componet 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の生成が終了したことを以て、ＤＣ符号化部２および階層処理部３ａ〜３ｃが並行して動作する。ただし、これらの動作が開始するタイミングは同じではなく、階層が下位になるほど開始タイミングが遅くなる。この遅延は、上位階層の順次シフトによる処理遅延に起因したものである。図２を参照すると、ある階層でブロックＳの処理を行う場合、その上下左右に位置する周辺領域Ｔ，Ｂ，Ｌ，Ｒの処理が直上位の階層で終了していることが条件（階層処理開始条件）となる。換言すれば、上位階層において、順次シフトが進行してブロックＢの処理が終了しない限り、下位階層におけるブロックＳの処理が開始できない。これが下位階層における動作遅延が生じる所以である。ただし、図４に示すような逐次処理と比較すると、図３に示したパイプライン的な並行処理の方が高速である。なお、図４の逐次処理では、ある階層の処理が全て終了した時点で、直下位の階層の処理が開始される。したがって、逐次処理においても、上記階層処理開始条件を当然に満たすことになる。
【００３１】
図５は、ＲＡＣＰエンコーダにおける階層処理部３（３ａ〜３ｃの総称）の構成図である。それぞれの階層における階層処理部３は、取り扱うブロックサイズが異なる点を除けば、構成および処理の流れは同一である。階層処理部３は、領域特定部３１と、予測処理部３２と、減算器３３と、非可逆変換部３４と、エントロピー符号化部３５と、逆変換部３６と、加算器３７とを有する。
【００３２】
領域特定部３１は、今回の処理対象に関する未処理周辺領域および処理済周辺領域とを特定する。図２に示したように、処理対象となるブロックをＳとすると、下ブロックＢおよ右ブロックＲが未処理周辺領域となり、上ブロックＴおよび左ブロックＬが処理済周辺領域となる。これらの領域の判別（処理済／未処理）は、処理対象となるブロックのサイズ（例えば８×８画素）、画面のサイズ（例えば1024×768画素）、および、シフト方向（例えば水平ラインに沿った線順次走査）が既知であることを前提に、現在、処理対象となっているブロックの番号（以下「ブロック番号ＢＮ」という）から一義的に特定される。そして、処理対象および未処理周辺領域となるブロックＳ，Ｂ，Ｒに関しては、そのブロック（例えば８×８ブロック）の平均画素値ＤＣn-1がバッファから読み出される。これらの平均画素値ＤＣn-1は、直上位の階層において既に算出されており、直上位の階層よりバッファを介して供給される。一方、処理済周辺領域となるブロックＴ，Ｌに関しては、これを細分化したサブブロックｔ，ｌ（例えば４×４ブロック）の平均画素値ＤＣnがバッファから読み出される。これらの平均画素値ＤＣnは、同一階層における順次シフトの従前処理によって既に算出されており、バッファを介してフィードバックされる。すべてのサブブロックｔ，ｌの平均画素値ＤＣnを読み出す必要はなく、ブロックＳと位置的に隣り合ったものが読み出される。具体的には、上ブロックＴを構成する４つのサブブロックｔのうち、ブロックＳと隣接した下２つのサブブロックｔ10，ｔ11の平均画素値ＤＣnである。画像の空間的な相関性から、これらのサブブロックｔ10，ｔ11は、上ブロックＴよりもブロックＳの特性を色濃く反映している傾向がある。したがって、ブロックＳの交流成分予測にあたっては、上ブロックＴ全体ではなく、その要部ｔ10，ｔ11を参照する方が予測精度を高める上で有利である。同様に、左ブロックＬに関しては、これを構成する４つのサブブロックｌのうち、ブロックＳと隣接した右２つのサブブロックｌ01，ｌ11の平均画素値ＤＣnである。そして、これらの読み出された平均画素値ＤＣn-1，ＤＣnが予測処理部３２に供給される。
【００３３】
予測処理部３は、処理対象となるブロックＳの平均画素値ＤＣn-1と、処理済周辺領域におけるブロックＴ，Ｌの中心画素値ＣL，ＣTと、未処理周辺領域におけるブロックＲ，Ｂの平均画素値ＤＣn-1とを用いた交流成分予測によって、ブロックＳを細分化したサブブロックｓ00〜ｓ11の予測画素値を算出する。図９に示すように、中心画素値ＣL（またはＣT）は、サブブロックｌ01，ｌ11（またはｔ10，ｔ11）の平均画素値ＤＣnと、ブロックＳの平均画素値ＤＣn-1とを用いる。
【００３４】
中心画素値ＣL，ＣTは、複数種のブロック（例えば、８×８ブロックおよび４×４ブロック）の中心間距離を考慮した線形予測値に相当する。図６は、左ブロックＬに着目したブロックの中心間距離の説明図であり、図７は、線形予測による中央画素値ＣLの算出説明図である。ブロックＳの中心位置における中心画素値ＣSは、それ自体の平均画素値ＤＣn-１と仮定する。また、サブブロックｌ01の中心位置における中止画素値Ｃｌ01は、それ自体の平均画素値ＤＣn、サブブロックｌ11の中心位置における中止画素値Ｃｌ11は、それ自体の平均画素値ＤＣnとそれぞれ仮定する。ここで、サブブロックｌ01,11を更に４分割したときの正方形の１辺の長さを１とすると、サブブロックｌ01，ｌ11の中心間距離は２となる。また、サブブロックｌ01，ｌ11間の距離を１：１に按分する中間点の画素値をｐ0とすると、ｐ0は（Ｃl01＋Ｃl11）／２となる。この中間点は、ブロックＳ，Ｌの中心間距離を１：３に按分するので、ブロックＬの中心画素値ＣLは、（４ｐ0−ＣS）／３となる。なお、以上の算出手法は、ブロックＳの中心位置およびサブブロックｌ01の中心位置を結ぶ直線の延長線上にある中間点の画素値ｐ1と、ブロックＳの中心位置およびサブブロックｌ11を結ぶ直線の延長線上にある中間点の画素値ｐ2とをそれぞれ算出し、これらの画素値ｐ1，ｐ2の平均をとることと等価である。本手法によれば、図８に示すような従来の手法、すなわち、中間点の画素値ｐ0をそのままブロックＬの中心画素値ＣLとして取り扱う手法と比較して、より真値に近い中心画素値ＣLを算出することができる。なお、以上の説明は、上ブロックＳについても同様である。
【００３５】
再び図５を参照すると、予測処理部３２は、中心値予測部３２ａと、交流成分予測部３２ｂとによって構成されている。中心値予測部３２ａは、以下の数式１に基づいて、上および左の各ブロックの中心画素値Ｔ，Ｌを算出する。なお、数式の表記に限り、Ｓ，Ｔ，Ｌ，ｔ10，ｔ11，ｌ01，ｌ11は、ブロック、サブブロックそのものを指すのではなく、その中心画素値を示すものとする。
【００３６】
（数式１）
Ｔ＝（２×（ｔ10＋ｔ11）−Ｓ）／３
Ｌ＝（２×（ｌ01＋ｌ11）−Ｓ）／３
【００３７】
また、交流成分予測部３２ｂは、以下の数式２に基づいて、処理対象となるブロックＳを細分化したサブブロックｓ00〜ｓ11の予測画素値Ｃ（＝ｃ00〜ｃ11）、すなわち予測画像を算出する。なお、数式２の表記に限り、Ｓ，Ｔ，Ｂ，Ｌ，Ｒは、ブロックそのものを指すのではなく、Ｓ，Ｒ，Ｂは平均画素値、Ｔ，Ｌは上述した中心画素値を示すものとする。算出された予測画素値Ｃは、減算器３３および加算器３７に供給される。
【００３８】
（数式２）
ｃ00＝Ｓ＋（Ｔ−Ｂ＋ＬーＲ）／８
ｃ01＝Ｓ＋（Ｔ−Ｂ−Ｌ＋Ｒ）／８
ｃ10＝Ｓ＋（−Ｔ＋Ｂ＋Ｌ−Ｒ）／８
ｃ11＝Ｓ＋（−Ｔ＋Ｂ−Ｌ＋Ｒ）／８
【００３９】
なお、画像平面上の縁部のように周辺領域の一部が欠落している場合には、例外的に、処理対象となるブロックＳの平均画素値ＤＣn-1がその部分の情報として用いられる。また、処理負荷を軽減すべく、上記数式１，２を統合して、１つの演算で予測画素値Ｃを算出することも可能である。
【００４０】
減算器３３は、予測処理部３２ａによって算出された予測画素値Ｃ（例えば４×４ブロック単位）と、これに対応する平均画素値ＴＤＣn（例えば４×４ブロック単位）、すなわち、入力画像に基づいて算出された真の画素値との差分を予測残差ＰＲとして算出する。図９に示したように、交流成分予測によって生成された予測画像（予測画素値ｃ00〜ｃ11の集合）が本来の画像（予測画素値ｃ00〜ｃ11に対応する真の画素値）に近いほど、予測残差ＰＲが小さくなる。予測残差ＰＲが小さくなるほど、統計的に見た予測残差の出現頻度が０近傍に偏る傾向が高まるので、エントロピー符号化を施す上で有利になる。
【００４１】
非可逆変換部３４は、減算器３３によって算出された予測残差ＰＲに対して、例えばアダマール変換および量子化といった非可逆変換を施す。エントロピー符号化部３５は、非可逆変換が施された予測残差ＰＲに対して、ハフマン符号化や算術符号化といったエントロピー符号化を施すことによって、例えば４×４ブロック単位での交流成分ＡＣn（圧縮データ））を生成する。逆変換部３６は、非可逆変換が施された予測残差ＰＲに対して、この非可逆変換の逆処理を施すことによって予測残差ＰＲ’を算出する。この予測残差ＰＲ'は、本来の予測残差ＰＲを復元したものだが、非可逆変換（元の値を完全に復元することはできない））が施されている関係上、本来の予測残差ＰＲとは僅かに相違している。加算器３７は、予測処理部３２によって算出された予測画素値Ｃに、予測残差ＰＲ’を加算することによって、サブブロック（例えば４×４ブロック）の平均画素値ＤＣnを算出する。加算器３７の入力として本来の予測残差ＰＲではなく、復元された予測残差ＰＲ’を用いる理由は、デコード時の繰り返し処理によって誤差の累積することを防止し、伸張画像の再現性を担保するためである。加算器３７より出力された平均画素値ＤＣnは、順次シフトにおける以後の処理で必要となる処理済周辺領域の情報として、バッファに一時的に格納される。バッファの格納された平均画素値ＤＣnは、領域特定部３１によって適宜読み出され、同一階層における予測処理部３２にフィードバックされる。それとともに、直下位の階層における処理対象および未処理周辺領域となるブロック（例えば４×４ブロック）の平均画素値として、直下位の階層における予測処理部３２にも供給される。
【００４２】
このように、本実施形態に係るＲＡＣＰエンコーダによれば、処理済周辺領域におけるブロックＴ，Ｌの中心画素値として、処理済周辺領域におけるサブブロックｔ10，ｔ11，ｌ01，ｌ11の平均画素値と、処理対象となるブロックＳの平均画素値とを用いた線形予測値が用いられる。この線形予測値の算出にあたっては、ブロックおよびサブブロックの中心間距離が考慮される。したがって、処理済周辺領域におけるブロックＴ，Ｌの中心画素値として、従来技術よりも信頼性の高い値を算出することができるので、画像の予測精度の一層の向上を図ることができる。その結果、真の画素値との差分である予測残差ＰＲを低減できるので、圧縮効率の一層の向上が期待できる。特に、図３に示したようなパイプライン的な並行処理を行えば、全体的な処理時間の短縮を図ることができる。
【００４３】
（ＲＡＣＰエンコードプログラム）
つぎに、ハードウェアとして実現されるＲＡＣＰエンコーダと同等の処理を、コンピュータのソフトウェア処理によって実現するためのＲＡＣＰエンコードプログラムについて説明する。なお、ハードウェア処理とソフトウェア処理との間には本質的な相違はないので、ここでは概略的な説明に留め、その詳細は上述した記載を参照するものとする。
【００４４】
図１０は、ＲＡＣＰエンコードプログラムのフローチャートである。コンピュータによるソフトウェア処理では、図４に示したような逐次処理が基本となる。まず、ステップ１において、入力画像の画像平面上にブロック（４タイプ）を複数設定し、それぞれのブロックの平均画素値ＴＤＣ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の集合が最終的な伸張画像となる。なお、デコーダにおける順次シフトの方向は、エンコーダのそれに準じるものとする。また、デコーダの処理は、並列処理および逐次処理のどちらであってもよい。
【００５７】
図１２は、ＲＡＣＰデコーダにおける階層処理部６（６ａ〜６ｃの総称）の構成図である。それぞれの階層における階層処理部６は、取り扱うブロックのサイズが異なる点を除けば、基本構成および動作は同一である。階層処理部６は、領域特定部６１と、予測処理部６２と、加算器６３と、逆変換部６４とを有する。
【００５８】
領域特定部６１は、ＲＡＣＰエンコーダと同様の手法で、今回の処理対象に関する未処理周辺領域および処理済周辺領域とを特定する。すなわち、図２に示したように、処理対象および未処理周辺領域となるブロックＳ，Ｂ，Ｒに関しては、そのブロック自体（例えば８×８ブロック）の平均画素値ＤＣn-1がバッファから読み出される。これらの平均画素値ＤＣn-1は、直上位の階層において既に算出されており、直上位の階層よりバッファを介して供給される。一方、処理済周辺領域となるブロックＴ，Ｌに関しては、これを細分化したサブブロックｔ，ｌ（例えば４×４ブロック）の平均画素値ＤＣnがバッファから読み出される。これらの平均画素値ＤＣnは、同一階層におけるシフト順序での従前処理によって既に算出されており、バッファを介してフィードバックされる。読み出す必要があるデータは、上ブロックＴを構成する４つのサブブロックｔに関しては、ブロックＳと隣り合った下２つのサブブロックｔ10，ｔ11の平均画素値ＤＣnであり、左ブロックＬを構成する４つのサブブロックｌに関しては、ブロックＳと隣り合った右２つのサブブロックｌ01，ｌ11の平均画素値ＤＣnである。そして、これらの読み出された平均画素値ＤＣn-1，ＤＣnが予測処理部６２に供給される。
予測処理部６２は、処理対象となるブロックＳの平均画素値ＤＣn-1と、処理済周辺領域におけるブロックＴ，Ｌの中心画素値ＣL，ＣTと、未処理周辺領域におけるブロックＲ，Ｂの平均画素値ＤＣn-1とを用いた交流成分予測によって、ブロックＳを細分化したサブブロックｓ00〜ｓ11の予測画素値を算出する。図１３に示すように、中心画素値ＣL（またはＣT）は、サブブロックｌ01，ｌ11（またはｔ10，ｔ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（入力）として用いられる。そして、ブロック番号ＢＮが３に到達した場合、すなわち、最下位階層の処理が終了した場合には、ループを抜け、これによって、本プログラムの処理が終了する。
【００６９】
本実施形態に係るＲＡＣＰデコードプログラムによれば、上述したＲＡＣＰデコーダと同様の効果を奏する。
【００７０】
以上の説明から明らかなように、本実施形態によれば、処理対象の周辺に位置する周辺領域の空間的な相関性を利用して、ブロックＳを細分化したサブブロックｓ00〜ｓ11の予測画素値Ｃ（＝ｃ00〜ｃ11）が算出される。その際、参照すべき周辺領域のうち、順次シフトによる処理が既に行われた処理済周辺領域に関しては、ブロックＴ，Ｌの平均画素値ＤＣn-1ではなく、その中心画素値ＣT，ＣLが用いられる。中心画素値ＣT，ＣLは、サイズの異なるブロックおよびサブブロックの中心間距離を考慮した上で、処理済周辺領域におけるサブブロックｔ01，ｔ11，ｌ10，ｌ11の平均画素値ＤＣnと、ブロックＳの平均画素値ＤＣn-1とに基づいた線形予測値として特定される。したがって、小ブロックの平均画素値の平均を大ブロックの中心画素値と仮定するといった従来の手法と比較して、より真値に近い中心画素値ＣT，ＣLが算出できるので、画像の予測精度の一層の向上を図ることができる。
【００７１】
なお、上述した実施形態では、交流成分予測符号化、特に、再帰的交流成分予測符号化について説明したが、本発明はこれに限定されるものではなく、交流成分予測を用いて解像度の高い画像を生成する画像処理にも適用可能である。
【図面の簡単な説明】
【００７２】
【図１】ＲＡＣＰエンコーダの全体構成図
【図２】画像平面上に設定されるブロックの説明図
【図３】並行処理における動作タイミングチャート
【図４】逐次処理における動作タイミングチャート
【図５】階層処理部の構成図
【図６】ブロックの中心間距離の説明図
【図７】線形予測による中央画素値の算出説明図
【図８】従来の手法による中央画素値の算出説明図
【図９】本実施形態における交流成分予測符号化の説明図
【図１０】ＲＡＣＰエンコードプログラムのフローチャート
【図１１】ＲＡＣＰデコーダの全体構成図
【図１２】階層処理部の構成図
【図１３】交流成分予測復号化の説明図
【図１４】ＲＡＣＰデコードプログラムのフローチャート
【符号の説明】
【００７３】
１  ＤＣ算出部
２  ＤＣ符号化部
３（３ａ〜３ｃ）  階層処理部
５  ＤＣ復号化部
６（６ａ〜６ｃ）  階層処理部
３１，６１  領域特定部
３２，６２  予測処理部
３２ａ，６２ａ  中心値予測部
３２ｂ，６２ｂ  交流成分予測部
３３  減算器
３４  非可逆変換部
３５  エントロピー符号化部
３６，６４  逆変換部
３７，６３  加算器
【図１】
2010087673.tif 000003
【図２】
2010087673.tif 000004
【図３】
2010087673.tif 000005
【図４】
2010087673.tif 000006
【図５】
2010087673.tif 000007
【図６】
2010087673.tif 000008
【図７】
2010087673.tif 000009
【図８】
2010087673.tif 000010
【図９】
2010087673.tif 000011
【図１０】
2010087673.tif 000012
【図１１】
2010087673.tif 000013
【図１２】
2010087673.tif 000014
【図１３】
2010087673.tif 000015
【図１４】
2010087673.tif 000016