(57)【要約】【課題】符号化処理によって間引いた画素の情報を高精度に復元可能な仕組みを提供する。【解決手段】入力画像を符号化して情報量を削減する画像符号化装置１００において、間引きパターンを設定する間引きパターン設定部１３０と、間引きパターンに従って入力画像を間引く間引き部１２０と、入力画像の注目画素とその近傍の画素との相関を示す相関テーブルを生成する相関テーブル生成部１４０とを備え、相関テーブル生成部１４０は、間引き部１２０で用いる間引きパターンで間引かれない近傍の画素の値に応じて、注目画素が零又は水平相関となる割合を演算する演算手段を含む。【選択図】図４
2012109880.tif 000002
【特許請求の範囲】
【請求項１】
間引きパターンを設定する間引きパターン設定ステップと、
前記間引きパターンに従って入力画像を間引く間引きステップと、
前記入力画像の注目画素とその近傍の画素との相関を示す相関テーブルを生成する相関テーブル生成ステップと
を含み、
前記相関テーブル生成ステップは、前記間引きステップで用いる間引きパターンで間引かれない前記近傍の画素の値に応じて、前記注目画素が零又は水平相関となる割合を演算する演算ステップを含む事を特徴とする画像符号化方法。
【請求項２】
前記相関テーブル生成ステップは、前記間引きパターンと局所的に同形状の画素群を選択する画素群選択ステップと、前記画素群の前記間引かれない前記近傍の画素の値に応じて、前記注目画素の値のヒストグラムを作成するヒストグラム作成ステップとを含む事を特徴とする請求項１に記載の画像符号化方法。
【請求項３】
前記相関テーブル生成ステップは、前記画素群の画素値を所定の順序で連結する事で前記ヒストグラムを保持する領域のアドレスを生成するアドレス生成ステップを含む事を特徴とする請求項２に記載の画像符号化方法。
【請求項４】
前記相関テーブル生成ステップは、前記画素群における所定の画素値の差分を量子化する量子化ステップと、前記量子化された差分を連結する事で前記ヒストグラムを保持する領域のアドレスを生成するアドレス生成ステップとを含む事を特徴とする請求項２に記載の画像符号化方法。
【請求項５】
前記入力画像を複数のバンド領域に分割する分割ステップを更に含み、
前記相関テーブル生成ステップは、前記相関テーブルを前記バンド領域ごとに生成する事を特徴とする請求項１乃至４のいずれか１項に記載の画像符号化方法。
【請求項６】
前記間引きパターン設定ステップは、複数の間引きパターンを設定するものであり、
前記入力画像を解析する解析ステップと、前記複数の間引きパターンから１つの間引きパターンを選択する間引きパターン選択ステップとを更に含む事を特徴とする請求項１乃至５のいずれか１項に記載の画像符号化方法。
【請求項７】
前記解析ステップは、前記入力画像の所定のブロック領域ごとに解析を行う事を特徴とする請求項６に記載の画像符号化方法。
【請求項８】
入力画像を符号化して情報量を削減する画像符号化装置であって、
間引きパターンを設定する間引きパターン設定手段と、
前記間引きパターンに従って前記入力画像を間引く間引き手段と、
前記入力画像の注目画素とその近傍の画素との相関を示す相関テーブルを生成する相関テーブル生成手段と
を含み、
前記相関テーブル生成手段は、前記間引き手段で用いる間引きパターンで間引かれない前記近傍の画素の値に応じて、前記注目画素が零又は水平相関となる割合を演算する演算手段を含む事を特徴とする画像符号化装置。
【請求項９】
請求項１乃至７のいずれか１項に記載の画像符号化方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項１０】
間引かれなかった入力画像の画素における画素値と、前記入力画像の注目画素とその近傍の画素との相関を示す相関テーブルとを含む画像符号化データを復号して画像を得る画像復号方法であって、
前記画素値を用いてアドレスを生成するアドレス生成ステップと、
前記アドレスにより前記相関テーブルを引いてエントリ値を読み出す読み出しステップと、
前記エントリ値を用いて前記注目画素の画素値を推測する推測ステップと
を含む事を特徴とする画像復号方法。
【請求項１１】
前記推測ステップは、前記エントリ値に従って複数の画素値をブレンドするブレンドステップを含む事を特徴とする請求項１０に記載の画像復号方法。
【請求項１２】
前記復号の際に、符号化時に用いた間引きパターンと同様の間引きパターンを設定する間引きパターン設定ステップを更に含む事を特徴とする請求項１０又は１１に記載の画像復号方法。
【請求項１３】
間引かれなかった入力画像の画素における画素値と、前記入力画像の注目画素とその近傍の画素との相関を示す相関テーブルとを含む画像符号化データを復号して画像を得る画像復号装置であって、
前記画素値を用いてアドレスを生成するアドレス生成手段と、
前記アドレスにより前記相関テーブルを引いてエントリ値を読み出す読み出し手段と、
前記エントリ値を用いて前記注目画素の画素値を推測する推測手段と
を含む事を特徴とする画像復号装置。
【請求項１４】
請求項１０乃至１２のいずれか１項に記載の画像復号方法の各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の符号化及び復号を行う際の技術に関する。
【背景技術】
【０００２】
従来、ビットマップ画像は、情報量が多い事からメモリ容量や通信帯域の節約を目的として、ＪＰＥＧを始めとする種々の符号化手法が提案されてきた。これらの多くは、画像の自己相関性を利用している。即ち、ある画素の画素値は、近傍の画素の画素値と類似しているという性質を利用したものである。例えば、文書をスキャンして得られた二値画像などは一般的に白地部が多いため、極めて自己相関性が高い。よって符号化する事により、大幅な情報量の削減が可能である。二値画像の符号化方法としては、例えばランレングス符号化やＭＭＲ符号化を利用した手法（下記の特許文献１を参照）やＪＢＩＧ２（下記の非特許文献１を参照）などが知られている。
【０００３】
ランレングス符号化では、例えば、ラスタ順に同じ値が連続する画素の数を所定の符号語に置き換える。これにより、文書の余白部などでは、白画素が連続するため高い圧縮率で符号化できる。
【０００４】
また、ＭＭＲ符号化では、更に二次元的な相関を利用して符号化する。これにより、ラスタ順に走査したのでは推測し得ない縦線なども効率的に符号化できる。例えば、帳票などは。水平方向及び垂直方向の直線が多いため有効である。
【０００５】
また、ＪＢＩＧ２では、ブロックごとのパターンマッチングを用いて符号化する。例えば、英文で書かれた文書などは出現する文字の種類が少ないため、同じようなパターンが多い。これにより、大幅な情報量の削減が可能である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３７３３８２６号明細書
【非特許文献】
【０００７】
【非特許文献１】JBIG2規格書 http://www.jpeg.org/public/fcd14492.pdf
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記手法は、いずれも可変長符号化である。そのため、符号化された画像データに対して画像の回転処理を行うためには画像データを復号してから処理するのが一般的である。これは、各符号化単位の符号長が一定でないため、画像の座標とメモリアドレスとの対応を取るのが困難であるからである。即ち、上記手法にて符号化された画像データは、符号化した順序とは違う順序で画像データにアクセスするのは難しい。
【０００９】
一方、各符号化単位の符号長を一定とした場合、メモリ上に置かれた画像データの座標とメモリアドレスとの関係は線形となる。したがって、任意の画像の座標のメモリアドレスを容易に演算できるため、任意の座標の画像を読み出す事ができる。これにより、省メモリかつ少ない演算量で画像回転などの編集処理が実現できる。
【００１０】
各符号化単位の符号長を一定としたうえで情報量を削減する手法に、画素を一定の割合で間引く方法がある。例えば、図１のように千鳥格子状に半分の画素を間引けば、画像に依らず情報量を半分にする事ができる。
図１は、画像の間引き処理を説明する模式図である。
図１（ａ）は間引き前の二値画像、図１（ｂ）は間引き後の画像を示している。図１（ｂ）の図中、×が描かれている画素は、間引かれた画素である。
【００１１】
間引かれた画素の画素値は、画像の自己相関性を利用する事で推測する事ができる。前述したように千鳥格子状に画素を間引く場合、間引かれた画素の四近傍の画素は、間引かれない。これらを利用して、例えば、四近傍の画素の画素値がいずれも"０"であれば、削減画素の画素値は"０"であると推測される。四近傍のうち３つが"０"で１つが"１"の場合であっても、削減画素の画素値は"０"である可能性が高い。
【００１２】
しかしながら、このような手法では、水平方向や垂直方向の直線など単純な形状の推測が容易だが、文字など複雑なパターンを含む画像では推測が難しい。例えば、和文と英文とでも特性が異なるし、フォントの大きさによっても特性が異なる。したがって、単純に近傍の画素のみを参照して推測すると、誤推測が多発し得る。このため、誤推測による大きな画質劣化を招きかねない。
【００１３】
本発明は、このような問題点に鑑みてなされたものであり、符号化処理によって間引いた画素の情報を高精度に復元可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の画像符号化方法は、間引きパターンを設定する間引きパターン設定ステップと、前記間引きパターンに従って入力画像を間引く間引きステップと、前記入力画像の注目画素とその近傍の画素との相関を示す相関テーブルを生成する相関テーブル生成ステップとを含み、前記相関テーブル生成ステップは、前記間引きステップで用いる間引きパターンで間引かれない前記近傍の画素の値に応じて、前記注目画素が零又は水平相関となる割合を演算する演算ステップを含む事を特徴とする。
また、本発明は、上述した画像符号化方法を実行する画像符号化装置、画像復号方法、当該画像復号方法を実行する画像復号装置を含む。また、本発明は、画像符号化方法及び画像復号方法をコンピュータに実行させるためのプログラムを含む。
【発明の効果】
【００１５】
本発明によれば、符号化処理によって間引いた画素の情報を高精度に復元可能な仕組みを提供することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】画像の間引き処理を説明する模式図である。
【図２】画像の相関の指向性を説明する模式図である。
【図３】第１の実施形態を示し、相関テーブルの一例を示す模式図である。
【図４】第１の実施形態に係る画像符号化装置の概略構成の一例を示す模式図である。
【図５】第１の実施形態を示し、間引きパターンの一例を示す模式図である。
【図６】第１の実施形態を示し、相関テーブル生成部の概略構成の一例を示す模式図である。
【図７】第１の実施形態を示し、画像ブロック（画素群）の走査方法の一例を示す模式図である。
【図８】第１の実施形態を示し、ディザマトリクスの一例を示す模式図である。
【図９】第１の実施形態に係る画像復号装置の概略構成の一例を示す模式図である。
【図１０】第１の実施形態を示し、間引きパターンの一例を示す模式図である。
【図１１】第１の実施形態を示し、画像ブロック（画素群）の走査方法の一例を示す模式図である。
【図１２】第１の実施形態を示し、間引きパターンの一例を示す模式図である。
【図１３】画像ブロックの一例を示す模式図である。
【図１４】第２の実施形態に係る画像符号化装置の概略構成の一例を示す模式図である。
【図１５】第２の実施形態を示し、相関テーブル生成部の概略構成の一例を示す模式図である。
【図１６】第３の実施形態を示し、バンド分割の一例を示す模式図である。
【図１７】第３の実施形態を示し、各バンド領域の処理シーケンスの流れの一例を示す模式図である。
【図１８】第４の実施形態を示し、零割合とブレンド率との関係を示した関数の一例を示す模式図である。
【図１９】第４の実施形態に係る画像復号装置の概略構成の一例を示す模式図である。
【図２０】第５の実施形態を示し、相関テーブル生成部４００の概略構成の一例を示す模式図である。
【発明を実施するための形態】
【００１７】
以下に、図面を参照しながら、本発明を実施するための形態（実施形態）について説明する。
【００１８】
（第１の実施形態）
本実施形態では、入力された二値画像中の半分の画素を間引く事によって情報量をおよそ半分に削減する。また、間引き時に相関の指向性を示す辞書データ（「相関テーブル」と呼ぶ。）を画像ごとに作成する。即ち、符号化後の画像データは、画素数が半分となった画像と相関テーブルとによって構成される。また、復号時には、上記相関テーブルと間引かれていない画素とを参照する事で、高精度に間引かれた画素を推測できるようにする。なお以降では、符号化時に間引かれる画素を「間引き画素」、間引かれない画素を「保存画素」と呼ぶ。
【００１９】
図２は、画像の相関の指向性を説明する模式図である。
ここで、画像の相関の指向性を用いて間引き画素の画素値を推測する方法について、図２（ａ）を用いて説明する。図２（ａ）中、中央の画素７００は、間引き画素であり、推測対象の画素を示している。画素７００に隣接する画素７０１、７０２、７０３、７０４は保存画素であり、復号時に参照可能であるとする。ここで、上と下の保存画素７０２、７０４の画素値は"０"（図中、黒）であり、左と右の保存画素７０１、７０３の画素値は"１"（図中、白）であるとする。この時、水平方向の相関が強ければ、左右と同じ"１"と推測した方が、推測が当たる可能性が高い。一方、垂直方向の相関が強ければ、上下と同じ"０"と推測した方が、推測が当たる可能性が高い。そこで、本実施形態では、保存画素の局所的パターンごとに原画像から相関の指向性を学習し、学習結果を相関テーブルに格納する。これを参照して間引き画素の画素値を推測する事で画質劣化の少ない間引きを実現する。
【００２０】
そこで、上記学習について概説する。
図２（ａ）の例の場合、原画像中から、図２（ｂ）および図２（ｃ）に示すパターンの出現回数について統計（ヒストグラム）をとる。例えば、図２（ｂ）のパターンが５００回、図２（ｃ）のパターンが１００回であるとする。これは、上下が"０"で左右が"１"の場合には、垂直方向の相関が強い画像である事を意味する。よって、画素７００の推測値を"０"とすれば、高確率で復元できる事になる。即ち、相関テーブルは、近傍の保存画素（図２（ａ）の例では画素７０１、７０２、７０３、７０４）の画素値を引数として、上記学習結果が引けるような構成とする。
【００２１】
学習結果は、注目画素（推測対象となる間引き画素）が"０"である割合（以降では「零割合」と呼ぶ）として表す。上記の例では、"０"の場合が５００回、"１"の場合が１００回なので零割合は５００／６００＝８３％である。相関テーブルは、取り得る保存画素のパターン全てに対応する必要がある。
【００２２】
図３は、第１の実施形態にかかる相関テーブルの一例を示す模式図である。
ここでは、図３に示すような相関テーブルを間引き前の画像から作成する事となる。図３中、第１列７５０は、画素パターンを示している。上下左右４画素を参照するのであれば、２4＝１６パターンとなる。即ち、相関テーブルを作成する際には、画素パターンを設定する（画素パターン設定ステップ）。第２列７６０は、各画素パターン７５０において、注目画素が"０"の場合の出現回数である。第３列７７０は、各画素パターン７５０において注目画素が"１"の場合の出現回数である。第４列７８０は、零割合であり、即ち第２列と第３列の和と、第２列との比である。処理の流れとしては、第２列７６０と第３列７７０を画像からカウントし、１枚の画像の処理が終了すると、これらの値から各画素パターン７５０の零割合７８０を求める。以上のようにして、画素パターン７５０をアドレス、零割合７８０をエントリ値とした相関テーブルを作成する。ここで、入力画像の取り得る値の数をＮ１、相関テーブルの各エントリの取り得る値の数をＮ２とした時、Ｎ１≦Ｎ２である。
【００２３】
以降では、まず、本実施形態に係る画像符号化装置の構成例を説明する。
図４は、第１の実施形態に係る画像符号化装置の概略構成の一例を示す模式図である。
この画像符号化装置１００は、入力ポート１１０、間引き部１２０、間引きパターン設定部１３０、相関テーブル生成部１４０、出力ポート１５０及び１６０を有して構成されている。画像符号化装置１００は、入力画像を符号化して情報量を削減する。
【００２４】
ここで、本実施形態の画像符号化装置１００で処理される画像は、二値画像とする。なお、本実施形態での二値画像とは、白黒画像に限定せず、二値で表された二次元状の情報であれば適用できる。例えば"０"が赤、"１"が青を表す画像であっても良い。
【００２５】
画像は１６画素×１６画素（即ち画素数２５６）のブロックごとに分割され、ブロック単位で入力ポート１１０から入力されるものとする。また、出力ポート１５０からは、半分に間引かれた画素数が１２８のブロックが出力される。また、出力ポート１６０からは、全ブロック処理後に相関テーブルが出力される。なお、相関テーブル生成時の参照範囲は５画素×５画素とする。
【００２６】
間引きパターン設定部１３０は、入力画像をどのように間引くかを示す間引きパターンを、間引き部１２０及び相関テーブル生成部１４０に設定する。
図５は、第１の実施形態を示し、間引きパターンの一例を示す模式図である。
ここで、図５（ａ）は間引きパターンの一例を示しており、以降ではこの例を用いて説明する。図の斜線部は間引き画素を示している。
【００２７】
間引き部１２０では、間引きパターン設定部１３０によって指定された間引きパターンに基づいて、ブロック内の所定の座標の画素を間引く処理を行う。ここで、ブロック内における座標系（Ｘ，Ｙ）を用いて説明する。図５（ａ）の場合、間引き部１２０では、（Ｘ＋Ｙ）が奇数である画素を間引くものとする。これにより、入力ポート１１０からの入力が２５６画素（即ち２５６ビット）であるのに対し、出力ポート１５０への出力は１２８画素（即ち１２８ビット）となる。
【００２８】
図６は、図４に示す相関テーブル生成部１４０の概略構成の一例を示す模式図である。
この相関テーブル生成部１４０は、画像の入力ポート２１０、間引きパターンの入力ポート２２０、ブロックメモリ制御部２３０、ブロックメモリ２４０、アドレス生成部２５０、統計用メモリ制御部２６０、統計用メモリ２７０−Ａ及び２７０−Ｂ、零割合演算部２８０、相関テーブルの出力ポート２９０を有する。
【００２９】
相関テーブル生成部１４０は、画像１ブロックをブロックメモリ２４０に保持し、間引きパターンと（局所的に）同形状の画素群を選択して（画素群選択ステップ）、順次読み出す。そして、相関テーブル生成部１４０は、読み出した画素群のパターンのヒストグラムを統計用メモリ２７０に蓄積する。そして、相関テーブル生成部１４０は、全ブロック処理後に、統計用メモリ２７０に蓄積された上記ヒストグラムを読み出して作成し（ヒストグラム作成ステップ）、零割合演算部２８０において零割合を算出する事で相関テーブルを作成する。
【００３０】
図５（ａ）に示したように、間引き部１２０において、画素を間引く場合、間引きパターン設定部１３０によって設定された間引きパターンは、例えば、図５（ｂ）に示すデータである。
これは、図５（ａ）のある間引き画素を中心とした局所的な５画素×５画素の領域と同様である。図５（ｂ）の中央の画素８００が注目画素、斜線部の画素が間引き画素、その他の画素が保存画素をそれぞれ示している。相関テーブル生成部１４０は、間引き部１２０で用いる間引きパターンと同様のパターンを用いる事で、間引きパターンに即した相関テーブルを生成する。
【００３１】
図６のブロックメモリ制御部２３０は、図５（ｂ）に示した間引きパターンにおける注目画素８００及び保存画素８１０〜８１３、８２０〜８２７に該当する画素群をブロックメモリ２４０から読み出し、アドレス生成部２５０へ送る。
【００３２】
図７は、画像ブロック（画素群）の走査方法の一例を示す模式図である。
まず、ブロックメモリ制御部２３０は、中心画素の座標を（２，２）として、図７（ａ）の網目で示した１３個の画素のデータ（即ち１３ビット）を出力する。次にＸ方向へ１つずらし、図７（ｂ）の網目で示した１３個の画素のデータを出力する。このように順にＸ方向へ走査する。そして、中心画素の座標が（１３，２）まで行くとＹ方向へ１つずらして、中心画素の座標を（２，３）として出力する。以降、同様にＸ方向へ走査する。以上を繰り返して中心画素の座標が（２，２）から（１３，１３）までの１４４パターンを順次走査する。なお、目的は統計の取得であるので、走査方法は上記に示した方法に限らない。１画素おきに中心画素を選択しても良いし、ランダムにいくつかの中心画素を選択しても良い。
【００３３】
図６のアドレス生成部２５０では、ブロックメモリ制御部２３０からの情報を基に統計用メモリ２７０のアドレスを生成する。この際、アドレスは、画素値を所定の順序で連結する事で生成する。これを図５（ｂ）を用いて説明する。例えば、アドレス生成部２５０は、ＭＳＢから、８２７、８２６、８２５、８２４、８２３、８２２、８２１、８２０、８１３、８１２、８１１、８１０の順で連結することで、アドレスを生成する。画素値は各１ビットであるから、１２ビットのアドレスとなる。これにより、アドレスは、注目画素８００近傍の画素パターンと同義である。なお、注目画素８００の画素値は、統計用メモリ制御部２６０へそのまま送り、統計用メモリ２７０−Ａ及び統計用メモリ２７０−Ｂの切り替えに用いる。
【００３４】
図６の統計用メモリ制御部２６０では、アドレス生成部２５０から送られてきたアドレスに格納されている値を統計用メモリ２７０から読み出し、それに"１"を足して同じアドレスに書き込む。この時、注目画素８００の画素値が"０"であれば統計用メモリ２７０−Ａにアクセスし、注目画素８００の値が"１"であれば統計用メモリ２７０−Ｂにアクセスする。即ち、統計用メモリ２７０−Ａは、図３の第２列７６０に相当し、統計用メモリ２７０−Ｂは、図３の第３列７７０に相当する。
【００３５】
統計用メモリ２７０は、それぞれ、例えば、エントリ数４０９６（アドレス幅１２ビット）のＳＲＡＭである。ここで、処理開始時に全てのエントリが"０"で初期化されているとする。これにより、全ブロックの処理終了時には、近傍の画素パターンと注目画素との対応関係の発生頻度（ヒストグラム）が統計用メモリ２７０に蓄積されている事になる。統計用メモリ制御部２６０は、全ブロックの処理が終了すると、各統計用メモリ２７０のアドレス０から順に全てのエントリを読み出して、零割合演算部２８０へ送る。以降では、統計用メモリ２７０−Ａのアドレスｘに格納されている値をＡ［ｘ］、統計用メモリ２７０−Ｂのアドレスｘに格納されている値をＢ［ｘ］と記す。また、相関テーブルのアドレスｘの値をＴ［ｘ］と記す。
【００３６】
零割合演算部２８０では、出力する相関テーブルの値を決定する。例として、Ａ［０］およびＢ［０］を考える。アドレス０は、近傍の保存画素が全て"０"というパターンを示している。即ち、Ａ［０］は近傍の保存画素が全て"０"の場合に、注目画素が"０"であった画素の数を示している。同様にＢ［０］は近傍の保存画素が全て"０"の場合に、注目画素が"１"であった画素の数を示している。よって、Ａ［０］とＢ［０］の比が零割合である。例えば、全ブロック処理後にＡ［０］＝"９９０"、Ｂ［０］＝"１０"であれば、零割合は９９％となる。同様に、Ｎ＝０,１,...,４０９５においてＴ［Ｎ］＝Ａ［Ｎ］／（Ａ［Ｎ］＋Ｂ［Ｎ］）として零割合を近傍画素の画素値全パターン（４０９６パターン）について求める。ただし、Ａ［Ｎ］及びＢ［Ｎ］がともに"０"の場合は、零割合は５０％とする。もしくはアドレスが近いエントリの零割合を代用しても良い。なお、零割合は、例えば８ビットの固定小数点で表現する。
【００３７】
以上のように生成した相関テーブルと、保存画素とで符号化データを構成する。
以降では、復号について説明する。
【００３８】
復号側では、間引き画素の画素値を、近傍の保存画素の画素値と相関テーブルとから推測する。相関テーブルを引いて得られた零割合が１００％であれば、"０"と推測すれば良い。９０％の場合でも"０"と推測すれば、高い確率で元通りに推測できる。一方、５０％程度の場合は"０"とすべきか"１"とすべきか推測が難しい。ここで、推測を誤ると、例えば線が途切れるなどの画質劣化を生じ得る。そこで、零割合をディザマトリクスを用いて二値化する。これにより、見かけ上グレーになるので、上記画質劣化を低減できる。
【００３９】
図８は、第１の実施形態を示し、ディザマトリクスの一例を示す模式図である。図８中の百分率は、二値化閾値を示している。ブロック内を座標（Ｘ，Ｙ）とした時、例えばＸを４で割った余りが０、Ｙを４で割った余りが１の時、閾値は５５％である。これは、零割合が５５％よりも大きければ"０"と推測し、小さければ"１"と推測する事を意味している。なお、図中の"−"は保存画素に該当するので参照されない。
【００４０】
次に、本実施形態における画像復号装置について説明する。
図９は、第１の実施形態に係る画像復号装置の概略構成の一例を示す模式図である。
この画像復号装置３００は、入力ポート３１０、間引きパターン設定部３２０、ブロックメモリ制御部３３０、ブロックメモリ３４０、アドレス生成部３５０、相関テーブル制御部３６０、相関テーブルメモリ３７０、二値化部３８０、出力ポート３９０を有する。
画像復号装置３００は、画像符号化装置（１００）で間引かれなかった入力画像の画素における画素値と、入力画像の注目画素とその近傍の画素との相関を示す相関テーブルとを含む画像符号化データを復号して画像を得るものである。また、画像符号化データに含まれる画素値の取り得る値の数をＭ１、復号して得られる画像中の画素値の取り得る値の数をＭ２とした時、Ｍ１≦Ｍ２である。
【００４１】
符号化データのうち、画像は、入力ポート３１０からブロック単位で順次入力し、相関テーブルは、相関テーブルメモリ３７０に予めセットしておく。これらを基に、画像復号装置３００は、出力ポート３９０から間引き画素が補間された画像ブロックを出力する。
【００４２】
入力ポート３１０から入力された画像（保存画素のみ）は、ブロックメモリ制御部３３０を介して、ブロックごとにブロックメモリ３４０に格納される。
図１０は、本発明の第１の実施形態を示し、間引きパターンの一例を示す模式図である。入力されるブロックは、図１０（ａ）に示すように、１６画素×１６画素のブロックに、周囲の参照画素を含めた２０画素×２０画素の領域内の保存画素（図中の斜線部）である。例えば、座標（０，０）の間引き画素の画素値の推測には、近傍の５画素×５画素の領域の画素値を参照するので、（−２，−１）などブロック周囲の画素が必要になる。
【００４３】
図９のブロックメモリ制御部３３０は、所定の画素群をブロックメモリ３４０から順次読み出す。この時、間引きパターン設定部３２０が設定した間引きパターンに従って画素群を選択する。上記間引きパターンは、符号化時と同様のパターンを用いる。
【００４４】
図１１は、第１の実施形態を示し、画像ブロック（画素群）の走査方法の一例を示す模式図である。
まず、図１１（ａ）の網目で示したように、座標（０，０）を中心とした保存画素を選択する。復号では、間引き画素のみを中心画素とするので、この次に送る画素は、図１１（ｂ）に示すようにＸ方向に２画素ずらした領域となる。同様に、ブロックメモリ制御部３３０は、図５（ａ）で示した全ての間引き画素（１２８画素）が中心画素となるようにブロック全体を走査して、これをアドレス生成部３５０へと送る。
【００４５】
図９の、上記画素群を受け取るアドレス生成部３５０では、画素値を所定の順番で連結して相関テーブルメモリ３７０のアドレスを生成する。よって、アドレスは、近傍の保存画素のパターンを示す。連結の順番は、ＭＳＢから図１０（ｂ）の８４０、８４１、８４２、８４３、８４４、８４５、８４６、８４７、８３０、８３１、８３２、８３３の順である。これは、符号化時の順番と同様である。
【００４６】
図９の相関テーブル制御部３６０では、アドレス生成部３５０から送られてきたアドレスを用いて相関テーブルメモリ３７０から値を読み出す。これは、近傍の保存画素パターンに該当する、注目画素の零割合である。結果は、ブロックメモリ制御部３３０を介してブロックメモリ３４０へ書き込む。
【００４７】
図９の二値化部３８０では、ブロックメモリ制御部３３０を介してブロックメモリ３４０からブロック内の零割合をラスタ順に読み出し、図８のディザマトリクスに従って二値化処理する。二値化処理の結果は、出力ポート３９０からブロックごとに出力される。
【００４８】
以上説明したように、本実施形態では、原画像から相関の指向性を学習する事で相関テーブルを作成した。これを参照する事で、間引かれた画素を高精度に推測することができる。
【００４９】
本実施形態は他の間引きパターンにも適用可能である。
図１２は、間引きパターンの一例を示す模式図である。例えば、図１２（ａ）、図１２（ｂ）、図１２（ｃ）に示したような間引きパターンを用いても良い。図１２中の斜線部は、間引き画素を示している。この時、相関テーブル生成部１４０へ設定する間引きパターンは、図１２（ｄ）、図１２（ｅ）、図１２（ｆ）のようになる。図１２（ｄ）〜図１２（ｆ）の８５０、８６０、８７０が、それぞれ、注目画素である。これらの間引きパターンを用いても、参照する画素は、図５と同様に１２画素なので、同じメモリ量で処理できる。
【００５０】
一般に参照する画素の画素数がＭの場合、統計用メモリ２７０−Ａ及びＢ、並びに、相関テーブルに必要なエントリ数は、それぞれ（２M）必要となる。図１２（ａ）、図１２（ｂ）の場合は、間引き画素の割合が５０％なので、図５と同様の圧縮率となる。一方、図１２（ｃ）の場合は、間引き画素の割合が２５％となり、保存画素が多いので画質劣化は低い。このように、間引き画素の割合を変える事によって、任意の圧縮率を実現することができる。
【００５１】
また、符号化データは、更に他の手法で再符号化しても良い。保存画素は、ブロック単位でまとまっているので、例えば、二次元的に予測符号化する事で情報量を更に削減できる可能性がある。相関テーブルに関しては、アドレスが近いエントリは、零割合の値も近い事が多いので、例えば差分符号化などを適用しても良い。
【００５２】
上記第１の実施形態では、符号化側で零割合を求め、復号側でそれを二値化したが、符号化側で零割合の二値化を行っても良い。この場合の構成例は、図６の零割合演算部２８０の後段で零割合を二値化処理し、これを相関テーブルのエントリ値として格納する。また、この場合、図９の二値化部３８０は不要となる。
【００５３】
本実施形態によれば、符号化処理によって間引いた画素の情報を画像の特性に応じて、少ない演算量で高精度に復元することができる。復元された画像は、例えば図１（ｃ）のように、解像度が一部低下し得るが、視覚的に目立ちにくい。
また、間引きパターンを変える事で任意の割合で情報量を削減することができる。また、符号化単位の符号長を一定にできるので、メモリに置かれた画像を任意の順序でアクセスできる。
また、本実施形態で符号化されたデータは、間引かれていない画素同士の相関性を利用して、ランレングス符号化などで更に圧縮する事も可能である。これは画像伝送時の通信帯域に上限がある場合における、帯域保証などにも有効である。
【００５４】
（第２の実施形態）
上述した第１の実施形態における間引きパターンで画像を間引く時、場合によっては視覚的に重要なドットが消失する可能性がある。
例えば、図１３は、画像ブロックの一例を示す模式図であるが、図１３のようにドットが４５度方向につながっている場合、全てのドットが消えてしまう可能性がある。このような場合、間引きによる画質劣化が顕著になる。そこで、本実施形態では、複数の間引きパターンを適応的に使い分ける。各パターンごとにヒストグラムを取得し、複数の相関テーブルを生成する。また、前処理として間引きパターンを選択するために画像解析を行う（解析ステップ）。
【００５５】
図１４は、第２の実施形態に係る画像符号化装置の概略構成の一例を示す模式図である。
この画像符号化装置５００は、入力ポート５１０、間引き部５２０、間引きパターン設定部５３０、相関テーブル生成部５４０、出力ポート５５０及び５６０、解析部５７０を有して構成されている。
【００５６】
即ち、入出力は、図４で示した上記第１の実施形態と同様である。入力ポート５１０から二値画像をブロック領域ごとに入力し、間引かれた画像を出力ポート５５０から出力する。また、出力ポート５６０から相関テーブルを出力する。
【００５７】
間引きパターン設定部５３０は、間引きパターンを、間引き部５２０及び相関テーブル生成部５４０へ設定する。ここでは、間引きパターンは３種とし、それぞれ図５（ａ）、図１２（ａ）、図１２（ｂ）とする。
【００５８】
そして、上記複数の間引きパターンを使い分けるため、解析部５７０でどの間引きパターンを用いるかをブロック領域ごとに決定する。即ち、複数の間引きパターンから１つの間引きパターンをブロックごとに選択する（間引きパターン選択ステップ）。図１２（ａ）を用いた場合、水平方向の解像度は１／２になり、垂直方向の解像度は保存される。即ち、水平方向の相関が強いブロック領域に適している。一方、図１２（ｂ）を用いた場合、垂直方向の解像度は１／２になり、水平方向の解像度は保存される。即ち、垂直方向の相関が強いブロック領域に適している。図５（ａ）を用いた場合は、垂直方向、水平方向の解像度は同等であるため、上記２つの間引きパターンのいずれにも適さない場合は、図５（ａ）を用いる。そこで解析部５７０では以下の式（１）及び式（２）を計算する。
Sx＝Σ|P(x,y)−P(x-1,y)|(x＝1,2,...,15, y＝0,1,...,15)  ・・・（１）
Sy＝Σ|P(x,y)−P(x,y-1)|(x＝0,1,...,15, y＝1,2,...,15)  ・・・（２）
【００５９】
ここで、P(x,y)は、ブロック内の座標（x,y）における画素の画素値（"０"もしくは"１"）である。SxはＸ方向の差異の和であるから、この値が小さい時、水平方向の相関が強い事を意味する。SyはＹ方向の差異の和であるから、この値が小さい時、垂直方向の相関が強い事を意味する。
【００６０】
そのため、Sx≦SyかつSx≦Ｈ（Ｈは所定の閾値）の時、図１２（ａ）の間引きパターンを用いる。また、Sy＜SxかつSy≦Ｈ（Ｈは所定の閾値）の時、図１２（ｂ）の間引きパターンを用いる。上記のいずれでも無い場合は、図５（ａ）の間引きパターンを用いる。以上の解析部５７０による解析結果５８０は、間引き部５２０及び相関テーブル生成部５４０へ送られ、間引きパターンの切り替えに用いる。
【００６１】
間引き部５２０は、第１の実施形態の間引き部１２０と同様に、ブロック内の画素を間引きパターンにしたがって間引く処理を行う。この時、解析結果５８０に応じて選択された間引きパターンを用いる。いずれの間引きパターンでも半分の画素が間引かれるので、出力は１ブロック領域が１２８画素となる。また、ブロック領域ごとにどの間引きパターンを用いたかを示すフラグを付与する。上記フラグは、間引かれた画素を推測する際に、参照する相関テーブルを選択するのに必要となる。
【００６２】
図１５は、図１４に示す相関テーブル生成部５４０の概略構成の一例を示す模式図である。
相関テーブル生成部５４０は、入力ポート６１０及び６２０、ブロックメモリ制御部６３０、ブロックメモリ６４０、アドレス生成部６５０、統計用メモリ制御部６６０、統計用メモリ６７０−Ａ〜６７０−Ｆ、零割合演算部６８０、出力ポート６９０を有する。
【００６３】
この相関テーブル生成部５４０では、入力ポート６１０から画像、入力ポート６２０から３つの間引きパターン、また、入力ポート（５８０）から解析部５７０による解析結果が入力される。相関テーブル生成部５４０では、これらを用いて全ブロック処理後に、出力ポート６９０から３つの相関テーブルを出力する。第１の実施形態では、統計用メモリを２バンク（図６）で構成したが、本実施形態では６バンクで構成する。これら６バンクを、間引きパターンごとに２バンクずつ使用する。
【００６４】
ここで、図１５の相関テーブル生成部５４０の動作について詳説する。
ブロックメモリ６４０は、第１の実施形態のブロックメモリ（図６の２４０）と同様に、１ブロック分の画素値を保持する。
【００６５】
ブロックメモリ制御部６３０は、解析結果５８０によって選択された間引きパターンにしたがってブロックメモリ６４０から画素群を読み出し、アドレス生成部６５０へ送る。ここで、中心画素は、図７と同様に走査するが、近傍画素のパターンは、図５（ｂ）、図１２（ｄ）、図１２（ｅ）のいずれかである。
【００６６】
アドレス生成部６５０は、第１の実施形態のアドレス生成部（図６の２５０）と同様に、画素値を連結する。生成したアドレスは、統計用メモリ制御部６６０へ送られる。
【００６７】
統計用メモリ制御部６６０は、解析結果５８０にしたがって、統計用メモリ６７０のバンクを選択して、所定のアドレスに格納されている値をインクリメントする。バンクは、解析結果５８０及び注目画素（図５の８００）の値によって切り替える。解析結果５８０は３種あり、注目画素８００の値は２種あるので、計６バンク（統計用メモリ６７０−Ａ〜Ｆ）必要になる。それぞれのバンクは、第１の実施形態と同様であり、４０９６エントリである。そして、統計用メモリ制御部６６０は、全ブロック処理後に、各統計用メモリ６７０を順に全て読み出して零割合演算部６８０へ送る。
【００６８】
零割合演算部６８０は、第１の実施形態の零割合演算部（図６の２８０）と同様である。即ち、例えばＡ［ｘ］とＢ［ｘ］との比から、水平相関が強い場合の相関テーブルを作成する。また、Ｃ［ｘ］とＤ［ｘ］との比から、垂直相関が強い場合の相関テーブルを作成する。また、Ｅ［ｘ］とＦ［ｘ］との比から、垂直相関及び水平相関のどちらも強くない場合の相関テーブルを作成する。
【００６９】
以上説明したように、本実施形態では、複数の間引きパターンを使い分ける事で、画質劣化の低減を実現するものである。
【００７０】
（第３の実施形態）
上述した第１の実施形態では、相関テーブルを画像ごとに作成した。この場合、画像全体の符号化が終了しないと画像の復号を始めることができない。即ち、符号化から復号までに画像１枚分の遅延が生じる。そこで、本実施形態では、入力画像をバンド領域に分割し、相関テーブルをバンド単位で更新する。
【００７１】
図１６は、第３の実施形態を示し、バンド分割の一例を示す模式図である。
図１６に示したように、主走査方向と平行に横長の領域へバンド分割する。各バンド領域の大きさは、第１の実施形態で説明したブロック領域の整数倍（即ち、主走査方向及び副走査方向の画素数が１６の倍数）であるとする。各バンド領域は、更に、第１の実施形態と同様のブロック領域に分割されて処理される。
【００７２】
各バンド領域は、ｂａｎｄ１から順に処理される。
図１７は、第３の実施形態を示し、各バンド領域の処理シーケンスの流れの一例を示す模式図である。符号化側において、ｂａｎｄ１内の全ブロックの間引き・統計処理が終了すると、その時点での統計用メモリ内のデータを用いて相関テーブルを作成し、出力する。したがって復号側では、画像全体の符号化の終了を待たずに、ｂａｎｄ１の復号処理を開始する事ができる。
【００７３】
ｂａｎｄ２の処理開始時には、統計用メモリ（例えば図６の２７０）をリセットせずにそのまま継続して当該統計用メモリを更新する。これにより、バンド領域の処理を進めるたびに統計情報の精度を高めていく事ができる。同様に、符号化側においては、ｂａｎｄ２、ｂａｎｄ３、ｂａｎｄ４の処理終了後にそれぞれ相関テーブルを作成し、出力する。以上のような処理シーケンスにより、遅延は１バンド分となる。なお、遅延が１バンド以上に許容される場合は、より最新の相関テーブルを用いて復号する。これにより、できるだけ第１の実施形態に近い画質を得る事ができる。
【００７４】
以上説明したように、本実施形態では、バンドごとに相関テーブルを作成する事で、符号化から復号までの遅延低減を実現した。
【００７５】
なお、バンド領域ごとに画像の特質が変わるような場合には、各バンド処理開始時に統計用メモリ（例えば図６の２７０）を全て０にリセットしても良い。これにより、特質に応じた相関テーブルを作成できる。この場合は、バンド領域ごとに異なる間引きパターンを用いても良い。
【００７６】
或いは、前のバンド領域の結果を次のバンド領域の処理に用いるようにしても良い。この場合には、ページ先頭のバンド処理時にのみ、解析のための遅延が生じるが、以降の処理では解析のための遅延は生じない。
【００７７】
（第４の実施形態）
上述した第１の実施形態では、復号結果は二値であったが、本実施形態では、復号後の画素値が多値となる事が許される場合について言及する。符号化側では、入力の原画像は二値であり、第１の実施形態と同様の符号化処理を行う。復号側では、零割合を基に画素値Ｐの値域が０≦Ｐ≦２５５となった画像を出力する。原画像中の画素値"０"は、復号後の画像中の画素値"０"に相当し、原画像中の画素値"１"は、復号後の画像中の画素値"２５５"に相当するとして説明する。
【００７８】
例えば、零割合が５０％程度の場合、"０"だと仮定した場合の画素値Ｐ０（＝０）と、"１"だと仮定した場合の画素値Ｐ１（＝２５５）とを半分ずつブレンドする事により画素値を算出する。このように玉虫色の中間値とする事で、誤推測による画質劣化を防止する。
【００７９】
これを実現するため、Ｐ０とＰ１とをブレンドする比率（「ブレンド率」と呼ぶ。）を零割合から決定する。例えば、図１８に示したような関数を用いる。
図１８は、第４の実施形態を示し、零割合とブレンド率との関係を示した関数の一例を示す模式図である。
【００８０】
この図１８に示す関数をＦ（ｘ）とした時、F（Ｔ［Ｎ］）（ここで、Ｔ［Ｎ］は相関テーブルを引いて得られた値）によりブレンド率を求める。
【００８１】
図１８において、零割合が８０％であれば、ブレンド率はＦ（８０％）＝１００％と求まる。この場合は、Ｐ０を１００％、Ｐ１を０％でブレンドするので、"０"と推測する事になる。零割合が４０％であれば、ブレンド率はＦ（４０％）＝３７.５％と求まる。この場合は、Ｐ０を３７.５％、Ｐ１を６２.５％でブレンドするので、およそ"１６０"と推測する事になる。このように零割合が多値であるため、ブレンド率は、多値となり得て、推測された画素値もまた多値となり得る。符号化前の原画像は二値であるが、復号後の画像は、前述した玉虫色を含む多値画像となる。
【００８２】
次に、本実施形態における画像復号装置について説明する。
図１９は、第４の実施形態に係る画像復号装置の概略構成の一例を示す模式図である。
この画像復号装置９００は、入力ポート９１０、間引きパターン設定部９２０、ブロックメモリ制御部９３０、ブロックメモリ９４０、アドレス生成部９５０、相関テーブル制御部９６０、相関テーブルメモリ９７０、ブレンド率決定部９８０、ブレンド部９９０、出力ポート９９１を有する。
【００８３】
符号化データのうち、画像（２値）は、入力ポート９１０からブロック単位で順次入力し、相関テーブルは、相関テーブルメモリ９７０に予めセットしておく。これらを基に、出力ポート９９１から間引き画素が補間された多値画像をブロック単位で出力する。
【００８４】
間引きパターン設定部９２０、ブロックメモリ制御部９３０、ブロックメモリ９４０、アドレス生成部９５０、相関テーブル制御部９６０、相関テーブルメモリ９７０は、第１の実施形態と同様である。相関テーブルメモリ９７０を引いて得られた零割合は、ブロックメモリ９４０に格納される。
【００８５】
ブレンド率決定部９８０では、ブロックメモリ９４０からブロック内の零割合をラスタ順に読み出し、図１８に示した関数により、ブレンド率を決定する。なお、保存画素に関しては、画素値が"０"であればブレンド率１００％、"１"であればブレンド率０％とする。これらは順にブレンド部９９０へ送られる。
【００８６】
ブレンド部９９０では、ブレンド率に従って画素値を推測する。ブレンド率をＵとすれば、Ｕ＊Ｐ０＋（１−Ｕ）＊Ｐ１を演算する。この演算結果は、出力ポート９９１からブロックごとに出力される。
【００８７】
以上説明したように、本実施形態では、復号後の画像が多値となる場合について説明した。符号化データ自体は第１の実施形態と同一であるため、復号側の要件に応じて、二値画像として復号する事も多値画像として復号する事もできる事を意味している。
【００８８】
なお、上述した本実施形態では、符号化側で零割合を求め、復号側でそれをブレンド率に変換したが、符号化側でブレンド率の変換までを行っても良い。この場合の構成例としては、図１９のブレンド率決定部９８０を削除し、図６の零割合演算部２８０の後段に付加したような構成となる。
【００８９】
（第５の実施形態）
本実施形態では、符号化前の入力画像は多値、復号後の出力画像は多値の場合について説明する。入力、出力ともに画素値Ｐの値域は０≦Ｐ≦２５５とする。
【００９０】
本実施形態での入力画像の画素値は、８ビットとなる。第１の実施形態と同様の方法で相関テーブルを作成する事を考えると、周辺１２個の画素値を連結する事でアドレスを生成するので、アドレスのビット幅は８×１２＝９６となる。即ち、膨大な容量のメモリが必要になる。そこで本実施形態では、メモリ容量の増大を抑制するため、注目画素近傍の保存画素の差分を量子化し、それを連結する事でアドレスを生成する。これにより、注目画素近傍の相関の指向性（どの方向に相関が強いか）をアドレスで表すようにする。
【００９１】
本実施形態での統計の取り方について概説する。
第１の実施形態では、注目画素の画素値が"０"の場合と"１"の場合とを、それぞれカウントした。同様に注目画素の画素値が"０"から"２５５"の場合を全てカウントするとすれば、２５６バンク必要になる。そこで、本実施形態では、水平方向の相関の強さと垂直方向の相関の強さとを、それぞれ１バンクずつ用いて統計を取る。これを用いて復号時には、水平方向の相関を利用して推測した場合の画素値と、垂直方向の相関を利用して推測した場合の画素値とでブレンドする。本実施形態でのブレンド率は、上記２つをブレンドする割合である。
【００９２】
本実施形態における画像符号化装置の構成例は、第１の実施形態と同様であり、図４に示す通りである。間引き部１２０では、間引きパターン設定部１３０が設定した間引きパターンにしたがって画素を間引く処理を行う。相関テーブル生成部（後述する図２０の４００）では、間引きパターン設定部１３０が設定した間引きパターンにしたがって相関テーブルを生成する。ただし、入力ポート１１０から入力される画像、および出力ポート１５０から出力される保存画素は多値データである。
【００９３】
図２０は、第５の実施形態を示し、相関テーブル生成部４００の概略構成の一例を示す模式図である。
この相関テーブル生成部４００は、入力ポート４１０及び４２０、ブロックメモリ制御部４３０、ブロックメモリ４４０、アドレス生成部４５０、統計用メモリ制御部４６０、統計用メモリ４７０−Ａ及び４７０−Ｂ、水平相関割合演算部４８０、出力ポート４９０を有して構成されている。
【００９４】
第１の実施形態と同様に、ブロック状の画像及び間引きパターンをそれぞれ入力ポート４１０及び４２０から入力し、出力ポート４９０から相関テーブルを出力する。
【００９５】
ブロックメモリ４４０は、１６×１６の画素を保持し、ブロックメモリ制御部４３０は、図７の通りに画素を読み出してアドレス生成部４５０へ送る。ただし、第１の実施形態とは異なり、このデータは８ビット×１３画素で１０４ビットとなる。本実施形態のアドレス生成部４５０では、これを所定のビット幅へと変換し、統計用メモリ４７０のアドレスを生成する。そして、全ブロック処理後、これらの統計用メモリ４７０−Ａと統計用メモリ４７０−Ｂとの比を決定する。
【００９６】
次に、本実施形態におけるアドレス生成部４５０での処理を説明する。
アドレス生成部４５０では、ブロックメモリ制御部４３０から受け取る１３画素の画素値である１０４ビットを１２ビットのアドレスへと変換する。また、統計用メモリ４７０に累積するための相関値（後で詳述）を演算する。この変換方法について、図５（ｂ）を用いて説明する。
【００９７】
以下の式中において、画素８１０の画素値をP(810)などと記す。アドレスのＬＳＢから数えてＮビット目とＭビット目の間をAddr[N:M]と記す。例えば１０ビット目から８ビット目までの３ビットはAddr[10:8]で表す。ＬＳＢ（０ビット目）はAddr[0:0]で表す。
【００９８】
Addr[1:0]は、以下の式（３）の値を２ビットに量子化する事で求める。量子化は、所定の閾値と比較する事で量子化する（以下同様）。これは、注目画素の左右に隣接する保存画素の差異なので、注目画素近傍の水平方向の相関の強さを意味する。
|P(810)−P(812)|  ・・・（３）
【００９９】
Addr[3:2]は、以下の式（４）の値を２ビットに量子化する事で求める。これは、注目画素の上下に隣接する保存画素の差異なので、注目画素近傍の垂直方向の相関の強さを意味する。
|P(811)−P(813)|  ・・・（４）
【０１００】
Addr[5:4]は、以下の式（５）の値を２ビットに量子化する事で求める。これは、注目画素近傍の斜め右下方向の相関の強さを意味する。
|P(810)−P(813)|＋|P(811)−P(812)|  ・・・（５）
【０１０１】
Addr[7:6]は、以下の式（６）の値を２ビットに量子化する事で求める。これは、注目画素近傍の斜め右上方向の相関の強さを意味する。
|P(810)−P(811)|＋|P(813)−P(812)|  ・・・（６）
【０１０２】
Addr[8:8]は、以下の式（７）の値を１ビットに量子化する事で求める。これは、注目画素近傍から左上方向への相関が強いか否かを示す。
|P(810)−P(820)|＋|P(811)−P(821)|  ・・・（７）
【０１０３】
Addr[9:9]は、以下の式（８）の値を１ビットに量子化する事で求める。これは、注目画素近傍から右上方向への相関が強いか否かを示す。
|P(811)−P(822)|＋|P(812)−P(823)|  ・・・（８）
【０１０４】
Addr[10:10]は、以下の式（９）の値を１ビットに量子化する事で求める。これは、注目画素近傍から右下方向への相関が強いか否かを示す。
|P(812)−P(824)|＋|P(813)−P(825)|  ・・・（９）
【０１０５】
Addr[11:11]は、以下の式（１０）の値を１ビットに量子化する事で求める。これは、注目画素近傍から右下方向への相関が強いか否かを示す。
|P(810)−P(827)|＋|P(813)−P(826)|  ・・・（１０）
【０１０６】
以上により、アドレス１２ビットを算出する。即ち、アドレスの各ビットは、注目画素近傍の相関の指向性を示している。
【０１０７】
次に相関値の演算について説明する。
アドレス生成部４５０において、水平相関値及び垂直相関値の２種を、それぞれ、以下の式（１１）及び式（１２）により演算する。
|P(800)−P(810)|＋|P(800)−P(812)|  ・・・（１１）
|P(800)−P(811)|＋|P(800)−P(813)|  ・・・（１２）
【０１０８】
式（１１）の水平相関値が小さい時、画素８００の推測時に左右に隣接する画素８１０及び画素８１２の画素値を用いて推測すれば、高精度に復元できる事を意味している。また、式（１２）の垂直相関値が小さい時、画素８００の推測時に上下に隣接する画素８１１及び画素８１３の画素値を用いて推測すれば、高精度に復元できる事を意味している。
【０１０９】
統計用メモリ制御部４６０では、アドレス生成部４５０が生成したアドレスを用いて、統計用メモリ４７０−Ａ及び統計用メモリ４７０−Ｂの値をそれぞれ読み出す。これら読み出した値に対し、統計用メモリ４７０−Ａに対しては、式（１１）で示した水平相関値を加算する。一方、統計用メモリ４７０−Ｂに対しては、式（１２）で示した垂直相関値を加算する。そして、加算した値は、それぞれ同じアドレスに書き戻す。
【０１１０】
以上により、統計用メモリ４７０の注目画素近傍の指向性のパターンをアドレスとして、水平方向の相関の強弱が統計用メモリ４７０−Ａに蓄積され、垂直方向の相関の強弱が統計用メモリ４７０−Ｂに蓄積される。そして、統計用メモリ制御部４６０は、所定のブロック処理後に、これらの値を順次読み出して水平相関割合演算部４８０へ送る。
【０１１１】
水平相関割合演算部４８０では、第１の実施形態の零割合演算部（図６の２８０）と同様に、統計用メモリ４７０−Ａの値Ａ［Ｎ］と統計用メモリ４７０−Ｂの値Ｂ［Ｎ］との比を計算する。第１の実施形態ではこれを零割合と呼んだが、本実施形態では「水平相関割合」と呼ぶ事とする。
【０１１２】
次に、復号について説明する。
上述したように、本実施形態は、垂直方向の相関を利用して推測した場合の画素値と、水平方向の相関を利用して推測した場合の画素値とをブレンド率に応じてブレンドする。推測対象の画素近傍の保存画素から上記と同様の方法でアドレスを生成し、相関テーブルを参照する事で、水平相関割合を求める。これを、第４の実施形態と同様にブレンド率に変換する。画素値の推測には、図５（ｃ）の画素８１０、８１１、８１２、８１３の値を用いる。具体的には、P(810)とP(812)の平均値（水平方向の相関を利用した推測）、及びP(811)とP(813)の平均値（垂直方向の相関を利用した推測）をブレンドする事で、P(800)を推測する。即ち、ブレンド率がＵの場合、以下の式（１３）の通りである。
P(800)＝Ｕ＊(P(810)＋P(812))／2＋(1−Ｕ)＊(P(811)＋P(813))／2
・・・（１３）
【０１１３】
以上説明したように、本実施形態では、入力が多値画像の場合についても、同様に本発明が適用できる事を示した。この場合、膨大なメモリ容量が必要になるので、近傍画素同士の差分を量子化する事によりアドレスを生成し、メモリ容量の削減を実現するようにした。
【０１１４】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
このプログラム及び当該プログラムを記憶したコンピュータ読み取り可能な記録媒体は、本発明に含まれる。
【符号の説明】
【０１１５】
１００  画像符号化装置、１１０  入力ポート、１２０  間引き部、１３０  間引きパターン設定部、１４０  相関テーブル生成部、１５０及び１６０  出力ポート
【図１】
2012109880.tif 000003
【図２】
2012109880.tif 000004
【図３】
2012109880.tif 000005
【図４】
2012109880.tif 000006
【図５】
2012109880.tif 000007
【図６】
2012109880.tif 000008
【図７】
2012109880.tif 000009
【図８】
2012109880.tif 000010
【図９】
2012109880.tif 000011
【図１０】
2012109880.tif 000012
【図１１】
2012109880.tif 000013
【図１２】
2012109880.tif 000014
【図１３】
2012109880.tif 000015
【図１４】
2012109880.tif 000016
【図１５】
2012109880.tif 000017
【図１６】
2012109880.tif 000018
【図１７】
2012109880.tif 000019
【図１８】
2012109880.tif 000020
【図１９】
2012109880.tif 000021
【図２０】
2012109880.tif 000022