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