(57)【特許請求の範囲】
【請求項１】
画像情報をその画像の性質により領域単位で分割し、該分割された各領域（ブロック）毎に、相関分析により注目画素との相関強度が強い順に参照画素を探索して最適なテンプレートを作成し、前記ブロック情報、テンプレート情報及び圧縮データとで伝送用圧縮符号化済みデータを合成する適応型予測符号化方法において、上記探索により、その相関強度の大きさの順に参照画素として選択された画素が、既に参照画素と選択されている画素に隣接する場合、当該画素の注目画素との相関強度の大きさを強制的に減少させて上記参照画素選択の順番を変更させることにより上記テンプレートの参照画素配置を分散させることを特徴とする適応型予測符号化方法。
【請求項２】
前記最適なテンプレートを決定するために、注目画素と該注目画素から所定距離以上離れて該注目画素との相関強度が最も強い画素(p1)とを結ぶ線分の傾きを持ち、前記線分の長さを格子間距離とする正方格子の格子点に相当する場所に位置する画素集合から、該注目画素までの距離が短い順に所定個数の画素をテンプレートを構成する参照画素として採用し、該画素集合に含まれる画素数が所定個数に満たない場合は、該画素集合に含まれる全ての参照画素をテンプレートを構成する参照画素として採用した後、所定個数までの不足分を埋めるために、該注目画素近傍で相関強度の強い画素を１つ参照画素として採用し、次に、該画素集合に含まれる画素から注目画素までの距離が短い順に選んで、その近傍画素のうちで最も相関強度の強い画素を１つ参照画素として採用する処理を、所定個数に達するまで繰り返して、テンプレートを構成する参照画素位置を決定することを特徴とする前記請求項１記載の適応型予測符号化方法。
【請求項３】
前記最適なテンプレートを探索するために、枚挙法、遺伝的アルゴリズム、進化戦略、山登り法、焼き鈍し法のいずれか１つ、あるいはこれらを組み合わせた最適化方法を用いることを特徴とする前記請求項１または２記載の適応型予測符号化方法。
【請求項４】
前記テンプレートは、符号化圧縮率ないしエントロピのいずれか若しくは両者を評価関数とする最適化方法によって探索されることを特徴とする前記請求項３記載の適応型予測符号化方法。
【請求項５】
前記画像情報が網点画像であることを特徴とする前記請求項１〜４の内、いずれか１記載に適応型予測符号化方法。
【請求項６】
画像情報をその画像の性質により領域単位で分割し、該分割された各領域（ブロック）毎に、相関分析により注目画素との相関強度が強い順に参照画素を探索して最適なテンプレートを作成し、前記ブロック情報、テンプレート情報及び圧縮データとで伝送用圧縮符号化済みデータを合成する適応型予測符号化装置において、上記探索により、その相関強度の大きさの順に参照画素として選択された画素が、既に参照画素と選択されている画素に隣接する場合、当該画素の注目画素との相関強度の大きさを強制的に減少させて上記参照画素選択の順番を変更させることにより上記テンプレートの参照画素配置を分散させることを特徴とする適応型予測符号化装置。
【請求項７】
前記最適なテンプレートを決定するために、注目画素と該注目画素から所定距離以上離れて該注目画素との相関強度が最も強い画素(p1)とを結ぶ線分の傾きを持ち、前記線分の長さを格子間距離とする正方格子の格子点に相当する場所に位置する画素集合から、該注目画素までの距離が短い順に所定個数の画素をテンプレートを構成する参照画素として採用し、該画素集合に含まれる画素数が所定個数に満たない場合は、該画素集合に含まれる全ての参照画素をテンプレートを構成する参照画素として採用した後、所定個数までの不足分を埋めるために、該注目画素近傍で相関強度の強い画素を１つ参照画素として採用し、次に、該画素集合に含まれる画素から注目画素までの距離が短い順に選んで、その近傍画素のうちで最も相関強度の強い画素を１つ参照画素として採用する処理を、所定個数に達するまで繰り返して、テンプレートを構成する参照画素位置を決定することを特徴とする前記請求項６記載の適応型予測符号化装置。
【請求項８】
前記最適なテンプレートを探索するために、枚挙法、遺伝的アルゴリズム、進化戦略、山登り法、焼き鈍し法のいずれか１つ、あるいはこれらを組み合わせた最適化方法を用いることを特徴とする前記請求項６または７記載の適応型予測符号化装置。
【請求項９】
前記テンプレートは、符号化圧縮率ないしエントロピのいずれか若しくは両者を評価関数とする最適化方法によって探索されることを特徴とする前記請求項８記載の適応型予測符号化装置。
【請求項１０】
前記画像情報が網点画像であることを特徴とする前記請求項６〜９の内、いずれか１記載に適応型予測符号化装置。
【請求項１１】
画像情報をその画像の性質により領域単位で分割し、該分割された各領域（ブロック）毎に、相関分析により注目画素との相関強度が強い順に参照画素を探索して最適なテンプレートを作成し、前記ブロック情報、テンプレート情報及び圧縮データとで伝送用圧縮符号化済みデータを合成する適応型予測符号化処理において、圧縮すべき画像データを読み込む手順と、ヘッダを生成し、出力する手順と、上記探索により、その相関強度の大きさの順に参照画素として各画素を選択する手順と、該選択された画素が、既に参照画素と選択されている画素に隣接する場合、当該画素の注目画素との相関強度の大きさを強制的に減少させて上記参照画素選択の順番を変更させるにより上記テンプレートの参照画素配置を分散させる手順と、上記領域（ブロック）内の全ての画素に対して、走査方向に順にコンテクストを発生する手順と、該領域（ブロック）内の全ての画素と生成された画素に対応するコンテクストを用いて圧縮符号化データを生成する手順と、これまでの手順で得られたブロック情報、テンプレート情報、圧縮データを合成して、圧縮符号化済みデータ生成し、出力する手順とを実行させることを特徴とする適応型予測符号化プログラムを記録した記録媒体。
【請求項１２】
前記請求項１１記載の記録媒体に記録されたプログラムにより生成された圧縮符号化済みデータを読み込む手順と、該圧縮符号化済みデータを解析して、ブロック分割された各領域（ブロック）に対応するテンプレートと圧縮情報とを分離し、各領域（ブロック）を圧縮する際に使用したテンプレートと圧縮符号化データを取り出す手順と、圧縮符号化データの先頭から画像データのコンテクストを逐次生成するための手順と、コンテクストを用いて圧縮符号化データから伸張データを生成する手順と、各ブロックに対応する伸張データを合成して、１つの画像データを生成する手順とを実行させることを特徴とする復号化プログラムを記憶した記録媒体。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は予測符号化方式において、情報圧縮効果を向上させるために、参照する周囲画素の位置パターンを高速に精度よく最適化するための技術に関する。
【０００２】
【従来技術および発明が解決しようとする課題】
画像情報の各画素のとる値を周囲画素の状態により予測し、その予測結果に基づいて画像情報を符号化する予測符号化方式において、各画素のとる値の予測精度が高いほど情報圧縮効果が向上する。予測精度は、参照画素数を増やすことにより向上する。また、参照する画素の位置パターンを最適化することにより、予測精度を高めることができる。以下、参照する周囲画素のことを参照画素と呼ぶ。
【０００３】
図１（ａ）〜（ｃ）は参照画素位置パターンの既知例を示す。以下では、このような参照画素位置パターンのことをテンプレートと呼ぶ。同図において、ハッチングを施した四角が注目画素、白い空白の四角が参照画素を示す。図示の3種類のテンプレートは、いずれも１０画素を参照する場合の例である。
【０００４】
一般に、文字や図形のような画像を圧縮符号化処理する場合、図１（ａ）のように、全参照画素が注目画素の近くに密集配置されているテンプレートが予測精度向上に有効である。自然画や写真などの場合には、同図（ｂ）や（ｃ）のように、参照画素を分散配置させた方が高い予測精度を得られることが多い。ただし、どのように分散配置すべきかということは画像の性質に大きく依存する。
【０００５】
図２は、２値画像符号化の国際標準であるＪＢＩＧ（Ｊｏｉｎｔ  Ｂｉ−ｌｅｖｅｌ  Ｉｍａｇｅ  ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）方式のテンプレートを示す。同図において、ハッチングを施した四角は注目画素、ｘ１〜ｘ９とＡで示される四角は参照画素を示す。全１０個の参照画素のうち、Ａで示す画素はＡＴ（Ａｄａｐｔｉｖｅ  Ｔｅｍｐｌａｔｅ）画素と呼ばれ、画像の性質に応じて、図中に示すほぼ２５６×２５６画素の領域内において任意の位置に動くことが許されている。
【０００６】
しかし、このように広大な領域から最適な位置を発見するのは非常に困難で、大きな計算コストを要するために、ＪＢＩＧ方式を実装した多くのシステムでは、ＡＴ画素が同図中の×印で示す８画素の範囲でしか動かないように制限している。  なお、ＪＢＩＧ方式の規格において、相関強度の最も強い周囲画素を選択する後述の方法が、ＡＴ画素位置を決定する方式として推奨されている。
【０００７】
ところで、画像の種類には前述のような文字や図形，自然画，写真の他に、印刷用の網点構造を有する画像（網点画像）がある。網点画像とは、色の濃淡をほぼ規則的に配した点列における点（網点）の大きさで表現する印刷用画像である。この網点は、さらに細かい点の集合により表現され、これはデジタルデータにおける画素に対応する。
【０００８】
図３は網点構造の模式図で、同図（ａ）の空白の正方形はハーフトーンセルと呼ばれる。色の濃い領域のハーフトーンセルには大きな網点、薄い領域には小さな網点が１つずつ配置される。同図（ｂ）はハーフトーンセルが画素から構成されていることを示す。  単位長さ当たりのハーフトーンセルの個数を線数、単位長さあたりの画素数を解像度といい、通常は単位長さとしてインチを用いる。図３の場合、線数が６  ｌｐｉ（Ｌｉｎｅｓ  Ｐｅｒ  Ｉｎｃｈ）、解像度が３６
ｄｐｉ（Ｄｏｔｓ  Ｐｅｒ  ｉｎｃｈ）となる。
【０００９】
網点画像の例を図４（ａ）〜（ｃ）に示す。同図（ａ）がサンプル画像の全体図で、（ｂ）が一部を拡大した図、（ｃ）はそれをさらに拡大した図である。同図（ｃ）において、色の薄い右上の領域では小さな網点が、色の濃い左下の領域では大きな網点が、それぞれ画素の密集度合により構成されている様子がわかる。印刷機やプリンタ，ファックス，複写機などでは、同図（ｃ）のような画像データの黒い画素に対応する位置にインクをのせることで、紙などの媒体上に同じ絵柄を再現することになる。ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ：いわゆるブラウン管）など、媒体がディスプレイの場合は、同図（ｃ）における白い画素に対応する位置を発色させることで、画像を再現し、出力可能である。
【００１０】
カラー印刷物では、シアン（Ｃｙａｎ）、マゼンタ（Ｍａｇｅｎｔａ）、黄（Ｙｅｌｌｏｗ）、黒（Ｂｌａｃｋ）の４色（ＣＭＹＫ）に対応する４つ網点画像を重ね刷りすることで、色調や濃淡を表現している。さらに精細な画質を再現したい場合は要素色を４色から６色に増やしたり、金や銀などの特殊色のために網点画像を用意する場合もあるが、複数の網点画像を重ね刷りすることで色調や濃淡を表現することに変わりはない。
【００１１】
このように重ね刷りするとき、複数の網点画像を単純に重ね刷りしただけでは、紙などの媒体上の同一の位置に異なるインクがのってしまい、その位置は黒くなるだけで、色調を表現することができなくなる。そこで、網点画像を少しずつ傾けて重ね刷ることが行われる。図５は、４つの網点画像をそれぞれ０°，１５°，４５°，７５°に重ね合わせた状態を示す模式図である。このとき、網点列の傾き角度のことをスクリーン角度という。
【００１２】
スクリーン角度が０°の場合、網点を構成する画素の座標値は整数で表現することが可能であるため、網点の中心間隔は常に一定となる。しかし、網点画像を傾けてしまうと、画素の座標値を整数で表現できなくなるため、座標値を整数で丸めるための操作が必要となる。そして、このときの丸め誤差などの影響により、網点の中心間隔が必ずしも一定でない場合もある。
【００１３】
以上が網点構造を有する画像の性質についての説明で、次にＪＢＩＧ方式のような予測符号化を適用することを考える。
白黒の２値画像における予測符号化は、色の濃い領域では黒い画素が密集し、薄い領域には白い画素が密集する傾向がある、という性質を利用している。一方、網点画像の性質はその網点構造によって決定されるので、網点画像の画素値予測を高精度に行うには、複数の網点の状態を観測し、これを画素値予測に際し参照する必要がある。
【００１４】
ところが、図１（ａ）に示すテンプレートを図４のサンプル画像に適用しても、テンプレートは高々１つの網点しか観測することができない。図２のＪＢＩＧ方式でＡＴ画素を動かしても高々２つの網点しか参照できないため、十分な予測精度を得ることは難しい。そこで、予測精度を高めるためには、位置を変えることのできる参照画素（ＡＴ画素）の数を増やすことが必要となる。
【００１５】
しかし、浮動参照画素の数が増えると、取りえるテンプレートの数は指数関数的に増大する。ＪＢＩＧ方式のようにＡＴ画素（浮動参照画素）の移動可能範囲（参照可能範囲）をほぼ２５６×２５６画素とし、そこから１０個の参照画素を自由に選べるものとすると、取りえるテンプレートの数は１０の４７乗通り以上となり、全ての場合を調べあげることは現実的には不可能である（１秒間に１億通りのテンプレートを調べられるとしても１０の３１乗年かかる）。つまり、単純に浮動参照画素数を増やすだけでは予測精度を高めることができなず、テンプレートを最適化するためのメカニズムが重要となる。
【００１６】
そのための方法として、たとえば、宇都宮大学の加藤らの方式（電子情報通信学会論文誌，ｖｏｌ．Ｊ７０−Ｂ，ｎｏ．7，第798〜804頁，1987.7）や、米国特許５０２３６１１号明細書（ＡＴＴベル研究所）では、２値画像中で周囲画素のとる値が注目画素のとる値と同一であった回数を数え上げ、圧縮の最中にその値が一定条件を満たした場合、値の大きい周囲画素から順に参照画素としてテンプレートに組入れる方法を採用している。
【００１７】
また、特開平６−９０３６３号公報（株式会社リコー）では、上記のように逐次的にテンプレートを変更する方式の他に、圧縮する前に画面全体にわたって周囲画素の相関の強さを予め求めておき、それに基づいてテンプレートを決定する方法や、予め用意したテンプレートから画像情報に適したものを選択する方式について言及している。
【００１８】
しかし、上記３方式のように、注目画素との相関の強さだけに基づく方式では、網点画像において最適なテンプレートを決定することができない。なぜなら、１つの網点内における画素同士の相関が強いため、単純に相関強度だけに基づいて参照画素を選び出すと、図１（ａ）のように密集したテンプレートとなってしまうためである。
【００１９】
これに対し、特開平５−３０３６２号公報（富士通株式会社）では、注目画素までのラン（同一ライン上で同一の画素値が連続する領域）と直前の同一色のランの距離差を網点の周期性として用いる方法が記されている。しかし、この方式でも最適なテンプレートを得ることは難しい。
【００２０】
その原因として、隣接するランの長さからだけでは正しく周期性を推定することができないことが上げられる。その上、何らかの方式で仮に周期性を正しく推定できたとしても、それだけでは最適なテンプレートを求めることはできない。網点の周期性は隣接する網点同士の位置関係しか現しておらず、周囲の網点の大きさの関係までは表現できないためである。ここで、隣接する網点の大きさの関係というのは、網点画像の表現する絵柄に関する情報に他ならない。すなわち、網点画像における最適なテンプレートは、網点構造の周期性のほか、画像の絵柄によっても変化する。
【００２１】
特開平１１−２４３４９１号公報（三菱重工業株式会社ほか）では、テンプレートの最適化のために、重回帰分析と、圧縮率を評価関数とした遺伝的アルゴリズムを用いて、網点構造と画像が表現する絵柄に起因する性質の両方への対応を図っている。遺伝的アルゴリズムは、自然界にみられる生物の進化や適応をモデル化した計算方式で、人工知能の強力な探索手法である。これにより膨大な可能性の中から、適切なテンプレートを選び出すことが可能となる。
【００２２】
しかし、この方式には、処理速度が極めて遅いという問題点がある。その理由は、遺伝的アルゴリズムの実装方法にある。遺伝的アルゴリズムは、複数の解候補からなる集団を用意し、それぞれを評価し、評価に基づいて新しい解候補集団を生成するというプロセスを１世代とし、停止条件が満たされるまで何世代も繰り返すという計算手続きをとる。すなわち、１回の試行につき［個体集団サイズ］×［世代数］回の評価を要する。
【００２３】
一方、特開平１１−２４３４９１号公報の方式では、評価方法として圧縮率の計算を使っているために、１回の評価を行うために圧縮対象である画像データを１度符号化して、圧縮率を求なければならない。つまり、同方式でテンプレートを最適化するためには、テンプレートの最適化を行わない場合と比較して、［個体集団サイズ］×［世代数］倍の計算時間が必要となる。たとえば、個体集団サイズを３０、世代数を１００とすると、最適化されたテンプレートを得るためには、遺伝的アルゴリズムを使用しない場合よりも３０００倍長い計算時間が必要となる。
【００２４】
ファクシミリ装置のような画像伝送システムへの適用を鑑みた場合、このように膨大な時間をかけて遺伝的アルゴリズムでテンプレートの最適化をしている間に、無圧縮のデータ転送が完了してしまう。また、印刷用画像データのように数百ギガバイトの画像の圧縮を完了するためには莫大な計算時間が必要となり、とても現実的ではない。
【００２５】
本発明は、予測符号化における上記の問題を解決し、各種画像情報に対して常に高いデータ圧縮効率を得るための、テンプレート（参照画素位置パターン）の高速な適応的調整方法、装置及びそれを動作させるプログラムを記憶した記録媒体を提供することを目的とする。
【００２６】
【課題を解決するための手段およびその作用・効果】
このために、本発明は、（Ａ）入力された画像情報に対してその局所的な類似度に基づいて画像分割を行い、（Ｂ）分割された領域ごとに周期性推定を行って高速にテンプレート決定し、その後に、（Ｃ）高速化機構を有する遺伝的アルゴリズム等を用いたテンプレート最適化により予測精度を高め、常にデータ圧縮効率の高い適応型予測符号を得ることを特徴とする。また、テンプレート最適化処理では、計算速度と予測精度向上のどちらを優先させるか任意に制御するために、画素情報の間引きや部分領域の切り出しなどを行う。
【００２７】
入力された画像情報を適切に分割するということは、同一の領域内では均質で、隣り合う領域同士では異なる性質を持つ領域単位で画像を切り分けることである。こうすることで、同一領域内では無条件に同じテンプレートを用いることができるようになる。さらに、適切に画像分割することで、木目細かなテンプレートの最適化を行えるようになり、分割画像ブロック内での画素値予測の精度が向上するため、結果として全体の圧縮効率が向上する。
【００２８】
また、従来手法のように単純な相関強度に基づく参照画素選択ではなく、画像の大局的な特性を取り出すことのできる分析法によって、高速かつ精度の高いテンプレートを決定することを可能とする。さらに、遺伝的アルゴリズム等の強力な最適化能力を利用して、適応的に調整することによって、より高い予測精度に寄与するテンプレートを高速に得ることができる。
【００２９】
分割された画像ブロック毎に最適化されたテンプレートによって作成された画像データの圧縮符号は、画像分割情報、テンプレートとともに伝送され、受信された予測符号はテンプレートによって復号化されるとともに画像分割情報によって分割された画像は一画像に再合成される。
【００３０】
【実施例】
以下、添付図面を参照しながら、本発明の実施例を詳細に説明する。
図６は、本発明の一実施例に係る画像伝送装置の送信側の構成図を示している。同図において、画像バッファ３は、画像データ入力線２から入力される画像データ１を一時保存しておくためのものである。保存された画像データ１は、後述するブロック判定器６からのブロック情報に基づいて、ブロック判定器６、コンテキスト生成器５、テンプレート発生器８、圧縮符号化器１１（いずれも後述）へと、画像データ信号線４を通して出力される。
【００３１】
ブロック判定器６は、入力される画像データ１を、１つ以上の特徴的なブロック単位に分割し、以降の処理をブロックごとに行わせることで、圧縮符号化効率を高めるためのものである。ブロック判定器６へは、画像データ信号線４を介して画像データ１が入力され、これを基にブロック分割の仕方が決定され、ブロック情報（各ブロックの大きさと位置）がブロック情報信号線７を通して出力される。
【００３２】
なお、ブロック分割の仕方は、ブロック判定器制御信号線１７を通してブロック判定器制御信号を入力することにより、外部から決定・制御することも可能である。また、ブロック判定機は、画像データが最初に入力された時点で画像の大きさを読み取り、これを圧縮符号化済みデータのヘッダ情報に含めるために、後述する圧縮符号化済みデータ合成器へブロック情報信号線を介して送信する。
【００３３】
なお、本発明の実施例において「圧縮符号化済みデータ」という語は、後述する圧縮符号化器が出力する「圧縮データ」と明確に区別するために用いる。具体的には、図２２の例示を用いて後述するように、ヘッダ（圧縮対象である画像データの大きさ、解像度，線数，スクリーン角度，画像データを生成したシステム名とバージョン，画像データの作成日時など）と、ブロック分割された画像データの各ブロックに対する圧縮情報とを連結したものである。
【００３４】
テンプレート発生器８は、入力される画像ブロックに対して最適なテンプレートを決定し、圧縮率を最大化するためのものである。ここへは、画像データ信号線を通して画像データ１と、圧縮データ信号線１２を介して圧縮データが入力される。圧縮データは、テンプレート発生器８が出力したテンプレートの良さを示す指標として利用される。なお、テンプレート発生器制御信号線１６を通して、外部からテンプレートを強制的に指定し、圧縮符号化を行わせることも可能である。
【００３５】
コンテクスト生成器５は、テンプレート信号線９を介して入力されるテンプレートを用いて、画像データ信号線を介して入力される画像データ１における参照画素のとる値のパターン（コンテクスト）を取得するためのものである。
【００３６】
圧縮符号化器１１は、コンテクスト信号線を介して入力されるコンテクストを用いて、画像データ信号線を介して入力される画像データ１を圧縮符号化し、圧縮データを生成するためのものである。
【００３７】
圧縮符号化済みデータ合成器１３は、圧縮符号化済みデータのヘッダ情報を生成し、圧縮データに対して、それを生成するために使用したテンプレートと、圧縮データの元となったブロック情報を付加して、圧縮符号化済みデータを生成するためのものである。ここへは、ブロック情報信号線を介してブロック情報、テンプレート信号線を介してテンプレート、圧縮データ信号線を介して圧縮データが入力される。
【００３８】
また、当該システムの外部から、画像データに関する属性情報（画像データの解像度，線数，スクリーン角度，画像データを生成したシステム名とバージョン，画像データの作成日時など）を属性データ入力線を介して圧縮符号化済みデータ合成器１３に入力し、圧縮符号化済みデータのヘッダに記録することもできる。
【００３９】
図６を参照して、画像データの圧縮および圧縮符号化済みデータの出力までの手順を簡単に説明する。
まず、当該システムの外部から、画像データに関する属性情報（画像データ１の解像度，線数，スクリーン角度，画像データを生成したシステム名とバージョン，画像データ１の作成日時など）が属性データ入力線を介して圧縮符号化済みデータ合成器に入力され、圧縮符号化済みデータのヘッダに記録される。この属性情報はなくても構わない。
【００４０】
続いて、圧縮対象となる画像データ１が画像データ入力線２を通して画像バッファ３へと入力される。このデータは画像データ信号線４を通してブロック判定器６へと送られる。このとき、画像データ１の大きさ（縦横サイズ）が判明するので、ブロック情報信号線７を介して圧縮符号化済みデータ合成器１３に送られ、圧縮符号化済みデータのヘッダに記録される。
【００４１】
ブロック判定器６では画像に対するブロック分割の仕方が計算される。なお、たとえば新聞の紙面のように文字領域や写真領域の位置が紙面編集の段階で確定しているような場合には、ブロック判定器６で最適なブロック分割の仕方を計算する必要はなく、これを行わないことで処理速度を向上させることができる。そこで、画像データ１の最適な分割の仕方であるブロック分割情報があらかじめ判明しているような場合は、当該システムの外部から人間のオペレータや別のシステムが、ブロック判定器制御信号線１７を通して、ブロック分割の仕方を制御するための信号をブロック判定器６に入力することで、ブロック判定器６によるブロック分割情報を計算する処理を省略することが可能である。
【００４２】
上記の手順で決定されたブロック分割情報は、画像バッファ３へと送られ、画像バッファ３からはブロック単位で画像データ１がテンプレート発生器８へと送られる。テンプレート発生器８では、図８のフローチャートに示す手順に基づいて、ブロック毎に最適なテンプレートが計算される。なお、フォントサイズの小さな文字領域については、図１（ａ）のように注目画素の周囲に参照画素が密集した形状のテンプレートが有効に機能することが知られているため（電子情報通信学会論文誌，ｖｏｌ．Ｊ７０−Ｂ，ｎｏ．７に掲載された加藤らの論文である“参照画素のダイナミック選択による２値画像の適応マルコフモデル符号化”）、テンプレート最適化を必ずしも行う必要はない。
【００４３】
そこで、このように特定のブロックに対する最適なテンプレートがあらかじめ判明している場合には、当該システムの外部から人間のオペレータや別のシステムが、テンプレート発生器制御信号線１６を通してテンプレートをテンプレート発生器８に入力することで、テンプレート発生器８におけるテンプレート最適化処理を省略することが可能である。
【００４４】
コンテクスト生成器５では、テンプレート発生器８で計算されたテンプレートを用いて、画像バッファ３から画像データ信号線４を通して送られてくるブロック分割された画像データ１を走査しながら、各画素毎にコンテクストを抽出する。ここでコンテクストとはテンプレートにより指定された位置にある画素のとる値を取り出して並べたベクトルのことである。たとえば図１４（ａ）のようなテンプレートでは、ハッチングを施した四角が注目画素、ｐ１〜ｐ４が参照画素の位置を示すもとのすると、同図（ｄ）においてｐ１〜ｐ４に対応する画素の持つ値を並べた＜０１００＞がコンテクストとなる。
【００４５】
圧縮符号化器１１では、画像バッファ３から画像データ信号線４を通して送られてくるブロック分割された画像データ１の各画素と、上記の手順で得られたコンテクストを用いて圧縮データを生成する。得られた圧縮データは圧縮データ信号線１２を通して圧縮符号化済みデータ合成器１３へと送られ、ブロック判定器６からブロック情報信号線７を通して送られてくるブロック情報と、テンプレート発生器８からテンプレート信号線９を通して送られてくるテンプレートと合成され、各ブロックに関する圧縮情報単位で連結され、圧縮符号化済みデータとして圧縮符号化済みデータ出力線１４を通して受信側へと送信される。
【００４６】
なお、圧縮符号化器１１から生成される圧縮データはテンプレート発生器８におけるテンプレート最適化処理において圧縮率の計算に使用されるため、圧縮データ信号線を通してテンプレート発生器８へも送られる。このテンプレート最適化処理については図１１のフローチャートを用いて後述する。
【００４７】
図７は、本発明の一実施例に係る画像伝送装置の受信側の構成図を示している。
同図において、データ解析器２２は、圧縮符号化済みデータ入力線２１から入力される圧縮符号化済みデータ２０から、ヘッダと、ブロックごとに圧縮された各ブロックに関する圧縮情報（テンプレート，ブロック情報，圧縮データ）を分離し、ブロック情報に基づいてテンプレートと圧縮データを出力するためのものである。
【００４８】
コンテクスト生成器２７は、テンプレート信号線２５を介して入力されるテンプレートを用いて、復号データ信号線２９を介して入力される復号データにおける参照画素のとる値のパターン（コンテクスト）を取得するためのものである。
【００４９】
圧縮符号復号化器２５は、コンテクスト信号線２８を介して入力されるコンテクストを用いて、圧縮データ信号線２３を介して入力される圧縮データを復号化し、復号データを生成するためのものである。
【００５０】
圧縮符号復号化器２６からは、ブロック分割された復号データがパッチワークのように断片的に出力されるため、これらを正しく配列しなければ原画像を復元することはできない。そこで、伸張データ合成器３０は、圧縮符号復号化器２６から復号データ信号線２９を通して入力される復号データを受け取り、データ解析器２２からブロック情報信号線２３を通して受け取るブロック情報に基づいて、復号データを配置しながら蓄えることで伸張データ３２を合成し、伸張データ出力線３１を通して外部へと出力する。
【００５１】
図７を参照して，圧縮データの復号および伸張データの出力までの手順を簡単に説明する。まず、圧縮符号化済みデータ入力線２１を介してデータ解析器２２へと圧縮符号化済みデータ２０が入力される。圧縮符号化済みデータ２０のフォーマットは図２４を用いて後述する。
【００５２】
データ解析器２２は、圧縮符号化済みデータを解析し、ヘッダと、各ブロックに関する圧縮情報（ブロック情報，テンプレート，圧縮データ）を分離して取り出す。ヘッダに記録されていた情報は、伸張データ合成器３０へと送られ、伸張画像データのヘッダに記憶される。また、ヘッダには必ず原画像データの大きさ（縦横サイズ）が記録されており、伸張データ合成器３０はこの情報を用いて、復号データから伸張データの復元を行う。
【００５３】
圧縮データは圧縮データ信号線２４を通して圧縮符号復号化器２６へと送られ、これに対応するテンプレートがテンプレート信号線２５を介してコンテクスト生成器２７へと送られる。圧縮符号復号化器２６では、コンテクスト生成器２７からコンテクスト信号線２８を介してコンテクストを受け取り、これを用いて圧縮データを復号化して、復号データ信号線２９を介して出力する。出力された復号データはコンテクスト生成器２７へと送られ、テンプレートを用いてコンテクストを生成するために使用される。
【００５４】
ところで、圧縮符号復号化器２６から出力される復号データは、パッチワークのようにブロック分割されたデータであり、断片化された画像データに過ぎない。そこで、元の画像を復元するためには、復号データを適切に再配置し直して伸張データ３２を合成する必要がある。この作業を行うのが伸張データ合成器３０である。
【００５５】
伸張データ合成器３０は、圧縮符号復号化器２６から復号データ信号線２９を介して入力される伸張データと、データ解析器２２からブロック情報信号線２３を介して入力されるブロック情報とを用いて、断片化された画像データとしての復号データの再配置が行われ、伸張データ３２を合成する。伸張データ３２は伸張データ出力線３１を介して外部へと出力される。
【００５６】
以上の構成で、次に本発明の実施例における適応型テンプレート調整方法について説明する。なお、図６における各要素のうち、この適応型テンプレート調整方法に係るのはテンプレート発生器８とブロック判定器だけで、残りの要素は、特開平６−９０３６３号公報や特開平１１−２４３４９１号公報に記載されているような、他の一般の予測符号化方式において同等の機能を有する要素と同じ手順で動作するものである。
【００５７】
例えば、コロナ社が１９９８年に出版した、小野文孝ら著「国際標準画像符号化の基礎技術」の第１１頁目記載にみられるように、画像データの圧縮は一般に、情報源符号化（モデル化）とエントロピ符号化という２段階の処理で行われる。本発明の実施例で言うところの予測符号化は情報源符号化のための一方式であり、本発明の実施例における圧縮符号化器はエントロピ符号化のような一般的な意味のエントロピ符号化を行う要素である。
【００５８】
本発明のテンプレートの最適処理方法を図８のフローを参照して説明する。入力画像データに対して、はじめに、性質の似通った領域単位で別々に圧縮処理を行うために画像分割処理（ステップＳ１）を行う。これ以降の処理は、分割されたブロック毎にテンプレートを決定するための処理である。
【００５９】
まず、第１番目のブロックに対して画像解析処理（ステップＳ２）が行われ、初期テンプレートが生成される。この初期テンプレートは、後述するテンプレート最適化処理（ステップＳ４）において用いられることで、探索手続きの高速化と高精度化に大きく寄与する。
【００６０】
次に、ステップＳ３において、テンプレート最適化処理（ステップＳ４）を行うか否かを決定する。行うか行わないかの判断基準は任意で、当該システムの外部から、人間のオペレータあるいは別のシステムからの入力により、どちらが選ばれるのかを制御するのは可能である。一般的な傾向としては、保存目的でデータ圧縮を行う場合や時間的な余裕がある場合には、テンプレート最適化を行った方がよい。最適なテンプレートの形状は画像の絵柄毎に異なるため、この処理により、できるだけ優れたテンプレートを求めておいた方が高い圧縮率を得られるためである。
【００６１】
一方、もともとの画像データのサイズが小さい場合、データ圧縮の目的がデータ保存ではない場合などには、テンプレート最適化に要する時間的コストに対して圧縮効果がそれほど得られないこともあり、そのような場合では、テンプレート最適化を行わない方がよい。
【００６２】
ステップＳ３でテンプレート最適化を行わないと選択した場合は、ステップＳ５において、当該ブロックが圧縮データにおける最終ブロックであるか否かを調べる。ここで当該ブロックが最終ブロックである場合は処理を完了し、そうでない場合はステップＳ２に戻る。ステップＳ３においてテンプレート最適化を行うと判断されたときは、テンプレート最適化処理（ステップＳ４）により、画像解析処理（ステップＳ２）で得られた初期テンプレートを利用して、さらに高い予測精度に寄与するテンプレートの探索を行う。
【００６３】
前述のように、ステップＳ５において、当該ブロックが圧縮データにおける最終ブロックであるか否かを調べ、処理を完了するか、ステップ２に戻るかの、どちらかが選ばれる。
【００６４】
以下に、図８における各処理について順に説明する。なお、画像分割の方法としては、図１３のように、水平方向のみ、垂直方向のみ、水平および垂直方向の３通りが考えられるが、ここでは（ａ）の水平方向のみの分割について説明する。ここで、入力された画像データは、同一ラインにおいては左から右へ、さらに上方のラインからから下方のラインへと走査されるものとする。他の分割方法は、画像データの走査方向を変えることにより容易に実現可能である。
【００６５】
また本実施例では、あらかじめ入力画像を全て読み込んでから、画像分割を行い、テンプレート決定を行う手順を想定して説明を進めるが、入力画像を読み込みながら、並列処理で画像分割とテンプレート決定を行うことも可能である。
【００６６】
図９は、図８の画像分割処理（ステップＳ１）を示すフローチャートであるが、全体の流れについて概説してから、個々の処理要素について詳述する。
はじめに、ステップＳ１０１において先頭ブロックの開始位置を記録し、ステップＳ１０２において、注目しているラインが画像末端でないことを確認する。ここで画像末端である場合には、ステップＳ１０６を実行して、画像分割処理を完了する。
【００６７】
画像末端でない場合は、Ｓ１０３で注目ラインの特徴量を計算し、その特徴量と前ラインの特徴量をステップＳ１０４において比較する。ここで両者の差異が大きいとステップＳ１０５で判定された場合、これは注目しているラインは前ラインと異なるブロックに属するべきであることを示しており、ステップＳ１０１に戻って、注目ラインから新しいブロックが始まることを記録する。逆に、差異が小さいということは、注目ラインは前ラインと同じブロックに属するということであるため、次のラインを調べるためにステップＳ１０２に戻る。
【００６８】
以下、図９の各要素を順に詳述する。新ブロック定義処理（ステップＳ１０１）では、新ブロックの開始画素位置を記録する。ここでは、まだ新ブロックは１つも定義されておらず、画像の左上端（０，０）の位置にある画素が新ブロックの開始点になるので、（０，０）が記録される。
【００６９】
次に画像末端か否かの判断処理（ステップＳ１０２）では、当該ラインが画像末端であるかどうかを調べる。画像末端ラインである場合は処理を完了する。画像末端でない場合は、ステップＳ１０３において当該ラインを走査し、走査したラインの特徴量を抽出する。ここでは特徴量として、参照可能範囲内にある全ての画素に関して、注目画素と同じ値を持つ確率、すなわち同時確率密度を採用する。
【００７０】
図１４を参照してこの同時確率密度を説明する。同図（ａ）において、ｐ１〜ｐ４の４画素を参照可能範囲にある全ての画素、ハッチングを施した四角が注目画素であるものとする。また、同図（ｂ）の第２ライン目が、現在着目しているラインであるものとする。同時確率密度を求めるためには同図（ｃ）〜（ｅ）のように注目ラインを走査して、各参照画素が注目画素と同じ値を取る確率を計算する。同図（ｃ）では、参照画素ｐ１とｐ４がデータの定義域の外に出てしまっているが、この場合は０であるものとすると、ｐ３以外が着目画素と同じ値を持つ。
【００７１】
同様に同図（ｄ）ではｐ２だけ、同図（ｅ）ではｐ１だけが着目画素と同じ値を持ち、同図（ｃ）〜（ｅ）まで１ラインを走査すると、ｐ１〜ｐ４が着目画素と同じ値であった回数は、それぞれ５，５，３，３となり、それぞれの注目画素に対する相関強度を意味する。そして、これを正規化して得られる５／１６，５／１６，３／１６，３／１６が同時確率密度であり、当該ラインの特徴量となる。
【００７２】
図９の特徴量比較処理（ステップＳ１０４）では、前ラインの特徴量と当該ラインの特徴量の比較を行う。ここでは比較を行ううえでの規範として、ＫＬ（Ｋｕｌｌｂａｃｋ−Ｌｅｉｂｌｅｒ）情報量を用いる。すなわち、Ｘｉを当該ラインの特徴量、Ｙｉを前ラインの特徴量であるとすると、ＫＬ情報量であるＫＬＤは次式で計算される。
ＫＬＤ ＝ ＫＬ（Ｘ） ＋ ＫＬ（Ｘ）
ただし、ここで
ＫＬ（Ｘ） ＝ Σ｛Ｘｉ×ｌｏｇ（Ｘｉ／Ｙｉ）｝
ＫＬ（Ｙ） ＝ Σ｛Ｙｉ×ｌｏｇ（Ｙｉ／Ｘｉ）｝
であるものとする。
【００７３】
なお、特徴量の比較を行う際に、前ラインだけの特徴量ではなく、当該ブロックにおける前ラインまでの全てのラインに関する特徴量を計算しておき、これを当該ラインの特徴量と比較することによりより精度の高い特徴量比較を行うことができる。
【００７４】
また、特徴量比較における規範として、ＫＬ情報量の他にＭＤＬ（Ｍｉｎｉｍｕｍ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌｅｎｇｔｈ）基準、ＡＩＣ（Ａｋａｉｋｅ’ｓ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｃｒｉｔｅｒｉｏｎ）、ベクトル間の距離などを使用してもよい。
【００７５】
さらに、特徴量を求める際に、参照可能範囲内にある全ての画素に関して計算をするのではなく、直前のブロックで使用したテンプレートに含まれる参照画素だけに関して計算を行うことで、高速化を図ることができる。
【００７６】
閾値を超えた否かの判断（ステップＳ１０５）では隣り合うライン同士が同じブロックに属するかどうかを検査する。すなわち、ステップＳ１０５では、ステップＳ１０４で計算した特徴量の差もしくは比があらかじめ定めておいた閾値以上であるかどうか調べる。閾値以下であるということは、前ラインと当該ラインが非常に近い性質を持つということであるため、前ラインと当該ラインが同じブロックに属することに決定し、ステップＳ１０２に戻って、次ラインが当該ブロックに含まれるかどうかを調べる。特徴量が閾値以上である場合は、当該ラインから新しいブロックを始めるためにステップＳ１０１に戻る。
【００７７】
つづいて、図８における画像解析処理（ステップＳ２）について述べる。
画像解析処理（ステップＳ２）の目的は初期テンプレートを生成することであり、その処理手順は図１０の通りであるが、全体の流れについて概説してから、各処理要素について詳述する。
【００７８】
なお、この全ての処理は、画像分割で得られた分割画像ブロックの全てに対して行われる。また、計算速度を向上させるため、全ての分割画像ブロックではなく、一部の分割画像ブロックを代表例として処理し、その結果を単純に他の分割ブロックに適用するということも可能である。
【００７９】
まず、入力パラメータ処理（ステップＳ２０１）にて、画像解析処理に必要なパラメータを取得する。ステップＳ２０２において、解像度，線数及びスクリーン角度の３パラメータがステップＳ２０１で入力されているかどうかを確認する。
【００８０】
３パラメータのうちどれかが欠けている場合には、相関分析処理（ステップＳ２０６）により初期テンプレートを決定し、画像解析手続きを完了する。相関分析処理（ステップＳ２０３）では、まず、参照可能範囲にある全ての画素について、注目画素との相関を計算する。そして、テンプレートがｎ画素から構成される場合、ステップＳ２０４において、相関の強い順にｎ個の画素を選び出して初期テンプレートに採用し、画像解析手続きを完了する。
【００８１】
なお、相関強度を計算する際、通常は分割画像ブロックを構成する全ての画素を走査するが、計算を省略することで高速化することが可能である。すなわち、数画素おき、数ラインおきに走査すること、あるいは一部の領域内だけを走査することにより計算速度を向上させられる。
【００８２】
ところで、網点画像において、１つのハーフトーンセルを構成する画素数が非常に多い場合、単純に相関強度の大きさに基づく選択基準では、図１（ａ）のように、注目画素周囲に参照画素が密集してしまう。このようなテンプレートは文字領域では有効であるものの、網点画像には不適切である。なぜならば、隣接するハーフトーンセルに配置された網点の状態を参照することができないためである。このような場合、相関の強い画素から単純に選び出す方法だけでなく、選び出された画素に隣接する画素の相関強度を強制的に減少させ、より参照画素の配置を広く分散させることも必要となる。
【００８３】
相関強度に基づきながら参照画素配置を広く分散させる方法の一例を、図１５（ａ）を用いて説明する。同図中、ハッチングを施した四角は注目画素、空白の四角は相関強度が０の画素、数字が入力された四角はその数字を相関強度として持つ画素である。この例では、テンプレートは３つの参照画素から構成されるものとする。ここで、参照画素が単純に相関強度の大きさだけを基準として選び出させる場合には、相関強度が１００， ９０， ８０の画素がテンプレートを構成することになる。しかし、参照画素として選び出された画素の隣接画素の相関強度を強制的に減少させることにより、異なるテンプレートが生成される。
【００８４】
すなわち、参照画素として選び出された画素の隣接画素の相関強度を、そのたびに９０％に減少させるものとすると、相関強度が１００， ９０の２つの画素が選び出された後の状態は図１５（ｂ）のようになる。図１５（ａ）で相関強度が８０であった画素は、相関強度１００， ９０の2画素が選び出されることにより、その相関強度は８０×０．９×０．９＝６４．８にまで減少する。したがって、この場合の３つ目の参照画素としては、相関強度が７０の画素が選ばれることになる。
【００８５】
図１０の判断ステップＳ２０２の条件分岐において３パラメータともに入力されている場合は、ステップＳ２０５において相関分析と周期性推定のどちらで初期テンプレートを生成するのかを選択する。この選択基準は全くの任意で、当該システムの外部から、人間のオペレータあるいは別のシステムから指定されることで、どちらが優先的に選択するのかが決定される。
【００８６】
相関分析処理を実行する場合は前述のようにステップＳ２０３を実行する。周期性推定を選択した場合は、周期性推定処理（ステップＳ２０６）を実行し、この結果を用いて初期テンプレートを決定し（ステップＳ２０７）、画像解析手続きを完了する。
【００８７】
周期性推定処理（ステップＳ２０６）では、まず相関分析と同様に、参照可能範囲にある全ての画素について、注目画素との相関を計算する。次に、注目画素から一定距離以上離れている周囲画素のうち、最も相関の強い画素を一つ選び出す。
【００８８】
符号化対象の画像が網点構造を有している場合、各網点は一定角度傾き（スクリーン角度）、特定の辺の長さを持つ正方形の頂点に配置されるため、注目画素から選び出された画素までの距離と方向は、図１６（ａ）の関係性を満たしている蓋然性が高い。同図において、ハッチングを施した四角は注目画素、×印の四角は注目画素から一定距離以上離れた画素のうちで最も大きな相関強度を持つ画素、空白の四角はこれらの関係性から強い相関を持つと推定される画素を示す（以下、これらを理想配置画素と呼ぶ）。そこで、理想配置画素の中から参照画素を選択することで、単純な相関強度に基づく参照画素の選択方法よりも精度よくテンプレートを決定することが可能となる。
【００８９】
参照可能範囲に存在する理想配置画素数ｍが、テンプレートを構成する参照画素数ｎよりも多い場合、注目画素からの距離が小さい順にｎ個の理想配置画素を選択し、初期テンプレートの構成参照画素として採用する。例えば図１６（ａ）のような理想配置画素かつ参照画素数ｎ＝１０の場合、ｐ１〜ｐ１０までの理想配置画素が参照画素として選択される。
【００９０】
逆に、参照可能範囲に存在する理想配置画素数ｎがテンプレートを構成する参照画素数ｍよりも少ない場合は、注目画素の隣接画素と、理想配置画素の隣接画素の中から、注目画素からの距離が小さい順に参照画素を選択する。例えば図１６（ａ）のような理想配置画素かつ参照画素数ｎ＝１６の場合、ｐ１〜ｐ１３までの理想配置画素をテンプレートに採用し、なお不足する参照画素を補充するため、相関強度の強い順に３つの参照画素を選択する。
【００９１】
ところが、参照可能範囲が狭すぎて十分な数の理想配置画素数を包含できない場合、あるいは参照可能範囲に対する理想配置画素間の距離が極めて大きい場合、一般に相関強度の強い画素は注目画素近傍に集まりやすいため、理想配置画素以外の参照画素は全て注目画素近傍から選ばれることになる可能性が高い。
【００９２】
図１６（ｂ）は参照可能範囲が狭すぎる場合の例である。ここで参照画素数ｎ＝１６とすると、理想配置画素ｐ１〜ｐ５以外の１１個の参照画素は全て注目画素近傍から選ばれる可能性が高い。同図（ｂ）中では、注目画素近傍の添え字のない空白の四角で示される画素が、不足分を補充するための参照画素として選択されている。
【００９３】
このような場合、相関分析処理（ステップＳ２０６）によって決定されるテンプレートとの差異が小さくなってしまうため、以下に説明するような方式でテンプレートを決定する。すなわち、まず、注目画素に隣接する画素のうちで注目画素との相関が最も強い画素を参照画素として採用する。次に、注目画素から近い順に理想配置画素を選び、それと隣接する画素のうちで注目画素との相関が最も強い画素を参照画素として採用する。
【００９４】
図１６（ｂ）の例の場合、ここまでの手順で、注目画素と１つの隣接画素、５個の理想配置画素とそれぞれ１つずつの隣接画素の、合計１２個の参照画素が決定される。これでもまだ総参照画素数よりも少ない場合は、注目画素に隣接する画素から２つ目の参照画素を採用し、さらに理想配置画素に隣接する画素からもそれぞれ２つめの参照画素を採用するプロセスを、採用した参照画素数がテンプレートを構成する総参照画素数に達するまで繰り返す。ここまでが、図８における画像解析処理（ステップＳ２）の動作説明に関する説明である。
【００９５】
つづいて、テンプレート最適化処理（ステップＳ４）について、図１１のフローチャート例を参照して説明する。この例では最適化処理は２段階の処理からなる。第１段階では、画像解析処理（ステップＳ２）で得られた初期テンプレートを用いて遺伝的アルゴリズム（ステップＳ３０１）を実行し、テンプレートの最適化を行う。その後、第２段階で、得られたテンプレートを局所探索処理（ステップＳ３０２）にてさらに調整し、処理を完了する。
【００９６】
ここで、遺伝的アルゴリズム（ステップＳ３０１）について説明する。
遺伝的アルゴリズムの参考文献としては、例えば、出版社ＡＤＤＩＳＯＮ−ＷＥＳＬＥＹ  ＰＵＢＬＩＳＨＩＮＧ  ＣＯＭＰＡＮＹ、ＩＮＣ．が１９８９年に出版した、Ｄａｖｉｄ  Ｅ．Ｇｏｌｄｂｅｒｇ著の「Ｇｅｎｅｔｉｃ  Ａｌｇｏｒｉｔｈｍｓ  ｉｎ  Ｓｅａｒｃｈ、Ｏｐｔｉｍｉｚａｔｉｏｎ、ａｎｄ  Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ」がある。
【００９７】
一般的な遺伝的アルゴリズムでは、まず遺伝子を持つ仮想的な生物の集団を設定し、あらかじめ定めた環境に適応している個体が、その適応度の高さに応じて生存し、子孫を残す確率が増えるようにする。そして、遺伝的操作と呼ばれる手順で親の遺伝子を子に継承させる。このような世代交代を実行し、遺伝子および生物集団を進化させることにより、高い適応度を持つ個体が生物集団の大勢を占めるようになる。そしてその際の遺伝的操作としては、実際の生物の生殖においても生じる、遺伝子の交叉、および突然変異等が用いられる。
【００９８】
図１２は、かかる遺伝的アルゴリズムの概略手順を示すフローチャートであり、ここでは、初めにステップＳ４０１で、個体の染色体を決定する。すなわち、世代交代の際に親の個体から子孫の個体に、どのような内容のデータをどのような形式で伝えるかを定める。
【００９９】
図１７に染色体を例示する。ここでは、対象とする最適化問題の変数ベクトルｘを、Ｍ個の記号Ａｉ（ｉ＝１，２，…，Ｍ）の列で表わすことにし、これをＭ個の遺伝子からなる染色体とみなす。図１７中、Ｃｈは染色体、Ｇｓは遺伝子を示し、遺伝子の個数Ｍは５である。遺伝子の値Ａｉとしては、ある整数の組、ある範囲の実数値、単なる記号の列などを問題に応じて定める。図１７の例では、ａ〜ｅのアルファベットが遺伝子である。このようにして記号化された遺伝子の集合が個体の染色体である。
【０１００】
上記ステップＳ４０１では次に、各個体が環境にどの程度適応しているかを表わす適応度の計算方法を決定する。その際、対象とする最適化問題の評価関数の値がより高い変数あるいはより低い変数ほど、それに対応する個体の適応度が高くなるように設計する。またその後に行う世代交代では、適応度の高い個体ほど、生き残る確率あるいは子孫を作る確率が他の適応度の低い個体よりも高くなるようにする。逆に、適応度の低い個体は、環境にうまく適応していない個体とみなして、消滅させる。これは、進化論における自然淘汰の原理を反映したものである。すなわち適応度は、生存の可能性という面から見て各個体がどの程度優れているかを表わす尺度となる。
【０１０１】
遺伝的アルゴリズムでは、探索開始時においては、対象とする問題は一般にまったくのブラックボックスであり、どのような個体が望ましいかはまったく不明である。このため通常、初期の生物集団は乱数を用いてランダムに発生させる。従ってここにおける手順でも、ステップＳ４０２で処理を開始した後のステップＳ４０３では、初期の生物集団は乱数を用いてランダムに発生させる。なお、探索空間に対して何らかの予備知識がある場合は、評価値が高いと思われる部分を中心にして生物集団を発生させるなどの処理を行うこともある。ここで、発生させる個体の総数を、集団の個体数という。
【０１０２】
次にステップＳ４０４で、生物集団中の各個体の適応度を、先にステップＳ４０１で決めた計算方法に基づいて計算する。各個体について適応度が求めた後、次にステップＳ４０５で、次の世代の個体の基となる個体を集団から選択淘汰する。しかしながら選択淘汰を行うだけでは、現時点で最も高い適応度を持つ個体が生物集団中に占める割合が高くなるだけで、新しい探索点が生じないことになる。このため、次に述べる交叉と突然変異と呼ばれる操作を行う。
【０１０３】
すなわち、次のステップＳ４０６では、選択淘汰によって生成された次世代の個体の中から、所定の発生頻度で二つの個体のペアをランダムに選択し、染色体を組み変えて子の染色体を作る（交叉）。ここで、交叉が発生する確率を、交叉率と呼ぶ。交叉によって生成された子孫の個体は、親にあたる個体のそれぞれから形質を継承した個体である。この交叉の処理によって、個体の染色体の多様性が高まり進化が生じる。
【０１０４】
交叉処理後は、次のステップＳ４０７で、個体の遺伝子を一定の確率で変化させる（突然変異）。ここで、突然変異が発生する確率を突然変異率と呼ぶ。遺伝子の内容が低い確率で書き換えられるという現象は、実際の生物の遺伝子においても見られる現象である。ただし、突然変異率を大きくしすぎると、交叉による親の形質の遺伝の特徴が失われ、探索空間中をランダムに探索することと同様になるので注意を必要とする。
【０１０５】
以上の処理によって次世代の集団が決定され、ここでは次に、ステップＳ４０８で、生成された次世代の生物集団が探索を終了するための評価基準を満たしているか否かを調べる。この評価基準は、問題に依存するが、代表的なものとして次のようなものがある。
・生物集団中の最大の適応度が、ある閾値より大きくなった。
・生物集団全体の平均の適応度が、ある閾値より大きくなった。
・生物集団の適応度の増加率が、ある閾値以下の世代が一定の期間以上続いた。・世代交代の回数が、あらかじめ定めた回数に到達した。
【０１０６】
上述の如き終了条件の何れかが満たされた場合は、探索を終了し、その時点での生物集団中で最も適応度の高い個体を、求める最適化問題の解とする。終了条件が満たされない場合は、ステップＳ４０４の各個体の適応度の計算の処理に戻って探索を続ける。このような世代交代の繰り返しによって、集団の個体数を一定に保ちつつ、個体の適応度を高めることが出来る。以上が一般的な遺伝的アルゴリズムの概略である。
【０１０７】
上で述べた遺伝的アルゴリズムの枠組みは、実際のプログラミングの詳細を規定しない緩やかなものとなっており、個々の問題に対する詳細なアルゴリズムを規定するものではない。このため、遺伝的アルゴリズムを本実施例のテンプレート最適化に用いるには、以下の項目をテンプレート最適化用に実現する必要がある。
（ａ） 染色体の表現方法
（ｂ） 初期個体集団の発生方法
（ｃ） 個体の評価関数
（ｄ） 選択淘汰方法
（ｅ） 交叉方法
（ｆ） 突然変異方法
（ｇ） 探索終了条件
図２０は、本発明の実施例における染色体の表現方法を示す。同図は、テンプレートを構成する参照画素数をｎ個、参照可能範囲を２５６×２５６画素の領域とした場合の例である。ただし、本実施例における参照可能範囲の広さは任意であり、あらかじめ定めておけば、どのような参照可能範囲でもよい。このとき、染色体は、それぞれが１つの参照画素に対応するｎ個の部分に分けられる。また各部分はさらに２つに分けられ、参照画素のｘ座標とｙ座標位置を特定することとなる。図の例では、参照可能範囲の大きさはｘ方向，ｙ方向ともに２５６であるため、それぞれ８ビットの２進数表現される。
【０１０８】
なお、染色体における参照画素の座標位置を２進数ではなくグレイコードで表現することも可能である。またさらに、｛０，１｝の２値で染色体を表現するのではなく、参照画素位置の座標を示す整数で染色体を構成することも可能である。つまり、この場合には同図（ｂ）におけるｘ座標値とｙ座標値がともに｛０，…，２５５｝の値をとる。
【０１０９】
本実施例では、図８における画像解析処理（ステップＳ２）において、分割画像ブロックごとに、分析的・解析的な手法を用いて初期テンプレートを決定している。そこで、この初期テンプレートを個体集団に埋め込んで、遺伝的アルゴリズムにおける初期個体集団を生成する。
【０１１０】
図２４は、６つの染色体から構成される個体集団への、初期テンプレートの埋めこみ方の例を示す模式図である。同図（ａ）は、全ての染色体をランダムに初期化する方法であり、通常の遺伝的アルゴリズムと同じである。同図（ｂ）は、初期テンプレートを染色体表現に変換したものをマスター染色体とし、これを個体集団の第１染色体にコピーして、残る５つの染色体をランダムに初期化する方法である。マスター染色体を第１染色体だけでなく、個体集団内の任意の個数の染色体にコピーしてもよい。
【０１１１】
図２４（ｂ）の方法で個体集団を初期化する場合、マスター染色体を個体集団にコピーする数が多いほど探索速度が向上するが、反面、個体集団の多様性が小さくなるために、最適なテンプレートを発見する以前に進化が止まってしまう可能性が高くなる。このような場合、数多くのマスター染色体を個体集団にコピーするのではなく、マスター染色体に突然変異を施した染色体をにコピーすることで、個体集団の多様性を維持することができる。
【０１１２】
同図（ｃ）は上記の方法の一例を示す模式図である。ここでは、マスター染色体を突然変異させた染色体を３つ生成し、個体集団の第１染色体にはマスター染色体をコピーし、第２〜第４染色体にはマスター染色体を突然変異させて得られた３つの染色体をそれぞれコピーし、残る２つの染色体だけをランダムに初期化する方法である。個体集団内の複数の染色体にマスター染色体をコピーしてもよく、マスター染色体を突然変異させて得られる染色体の個数も任意であり、どちらもパラメータで制御可能としておく。
【０１１３】
本実施例で使用する遺伝的アルゴリズムにおける個体の評価関数Ｆとしては、個体が特定するテンプレートを用いて入力画像を圧縮符号化して得られる圧縮データの大きさの逆数であるものとする。すなわち、遺伝的アルゴリズムにおける各個体はテンプレートを表現するので、評価の際には、個体集団は、それぞれが表現するテンプレートを用いて、対象である画像データを圧縮符号化し、その結果得られる圧縮データの大きさの逆数を各個体の適応度とする。
【０１１４】
例えば、圧縮データの大きさが１ＫＢｙｔｅとなった場合、適応度の値は１／（１×１０２４）とする。遺伝的アルゴリズムは、評価関数Ｆを最大化するように振る舞うため、圧縮データの大きさの逆数が最大化されることにより、圧縮データの大きさを最小化するテンプレートを表現する個体が探索されることとなる。
【０１１５】
なお、染色体の適応度を示す指標は、圧縮データの大きさの逆数だけでなく、圧縮データが小さくなるほど大きくなるという性質をもつものであれば何でもよい。たとえばある特定の値から圧縮データの大きさを差し引いて得られる値を適応度として用いることもできる。
【０１１６】
なお、適応度を計算するために圧縮データの大きさを用いるということは、大きな計算コストを必要とするため、入力画像全てを適応度計算のために圧縮する代わりに、数画素おき、数ラインおきに間引いた縮小画像を圧縮することもできる。入力画像の一部を切り出して、切り出し領域だけを圧縮して、適応度を計算してもよい。このような間引きや切り出しにより評価関数の精度は落ちるものの、計算時間を大きく節約することが可能となる。
【０１１７】
また、圧縮データの大きさの代わりに、エントロピを使用することもできる。情報理論的には、エントロピを最小化することと圧縮データの大きさを最小化することは等価であるため、理想状態において両者は区別されない。なお、エントロピ計算においても、上記のような間引きや切り出しを用いてもよい。
【０１１８】
選択処理においては、集団から適応度に比例した確率で個体を選び出す作業を、集団の個体数分だけ行う（ルーレット選択）。これにより、新しい個体集団が生成される。ルーレット選択のほか、トーナメント選択やランク選択と呼ばれる手法を用いてもよい。
【０１１９】
交叉処理では、集団からランダムに選ばれた２つの親個体Ａ，Ｂに対して、図１９（ａ）の説明図に示す方法を用いる。これは染色体をランダムな位置で座標値を一塊として部分的に入れ替える操作であり、一点交叉と呼ばれる手法である。図１９（ａ）では、Ｃｈ１およびＣｈ２が親個体Ａ，Ｂの染色体であり、ここにおける交叉処理では、これらの染色体を、ランダムに選んだ交叉位置ＣＰで切断する。図１９（ａ）の例では、左から２番目の遺伝子と３番目の遺伝子の間を交叉位置としている。そして、切断した部分的な遺伝子型を入れ替えることによって、染色体Ｃｈ３およびＣｈ４をそれぞれ持つ子個体Ａ’，Ｂ’を生成する。なお、一点交叉のかわりに、二点交叉や一様交叉と呼ばれる手法を用いてもよい。
【０１２０】
交叉に引続いて実行する突然変異は、全染色体の全遺伝子の値を突然変異率に従って反転させる操作とした。図１９（ｂ）に突然変異の例を示す。この図では、染色体Ｃｈ５において、２番目の遺伝子の値が突然変異率に基づく確率で反転している。
【０１２１】
なお、｛０，１｝の２値ではなく、整数で染色体を表現している場合はビット反転できないため、染色体の各遺伝子にガウス分布Ｎ（０，σ）に従って発生させた正規乱数を加算する操作を行う。ガウス分布以外のコーシー分布などの他の分布を用いてもよい。
【０１２２】
また、テンプレート最適化のために、遺伝的アルゴリズムの代わりに、枚挙法や進化戦略，山登り法，焼きなまし法などの所謂ブラインドサーチ手法を適用することもできる。特に山登り法と焼きなまし法は遺伝的アルゴリズムほどの高い探索能力を持たないが、処理が高速というメリットがある。なお、上記ブラインドサーチ方式において、評価関数として圧縮データの大きさとエントロピどちらを用いてもよい。また、参照可能範囲が小さく、テンプレートを構成する画素数も少ない場合には、取り得る全てのテンプレートを枚挙法（Ｅｎｕｍｅｒａｔｉｏｎ）によって調べあげることにより、確実なテンプレートを発見することも可能である。
【０１２３】
なお、進化戦略の参考文献としては、例えば、出版社Ｊｏｈｎ  Ｗｉｌｅｙ  ＆Ｓｏｎｓが１９９５年に出版した、Ｈ．Ｐ．Ｓｃｈｗｅｆｅｌ著の「Ｅｖｏｌｕｔｉｏｎ  ａｎｄ  Ｏｐｔｉｍｕｍ  Ｓｅｅｋｉｎｇ」がある。
【０１２４】
また焼きなまし方の詳細は、例えば、出版社Ｊｏｈｎ  Ｗｉｌｅｙ  ＆  Ｓｏｎｓが１９９５年に出版した、Ｅ．Ａａｒｔｓ  ａｎｄ  Ｊ．Ｋｏｒｓｔ著の「Ｓｉｍｕｌａｔｅｄ  Ａｎｎｅａｌｉｎｇ  ａｎｄ  Ｂｏｌｔｚｍａｎｎ  Ｍａｃｈｉｎｅｓ」を参照されたい。
【０１２５】
つづいて、図１１における局所探索処理（ステップＳ３０２）の説明を行う。遺伝的アルゴリズムは、非常に強力な探索手法であるが、探索手続きの終盤で、最適解あるいは局所解近傍において探索速度が低下するという問題がある。すなわち、図２０に例示するように、探索の序盤から中盤にかけて、世代数が進むごとに適応度の増加率が低下してゆき、終盤では殆ど適応度が改善されなくなる。そこで、本実施例では、遺伝的アルゴリズムによる探索で得られた最良のテンプレートに対して、山登り方を用いて最終調整を行う。この処理を導入することにより、遺伝的アルゴリズムにおける終盤の無駄な探索を行わずに済むため、全体として探索速度が向上する。ここまでが、図８のテンプレート最適化処理（ステップＳ４）に関する説明である。
【０１２６】
これまでに述べた実施例による適応型予測符号化および復号化方法をコンピュータによって実行するためのプログラムを、ハードディスク，フレキシブルディスク，ＣＤ−ＲＯＭまたはＤＶＤ−ＲＯＭ等の記録媒体に記録しておけば、このような記録媒体をコンピュータに読み込ませることにより、コンピュータを利用して、この実施例による適応型予測符号化および復号化方法を簡単に実施することができる。
【０１２７】
このような適応型予測符号化処理プログラムは図２１に示されるような
（１）圧縮すべき画像データを読み込む手順（ステップＳ６０１）と、
（２）圧縮符号化済みデータのヘッダを生成し、出力する手順（ステップＳ６０２）と、
（３）入力された画像データを、特徴的なブロック単位に分割する手順（ステップＳ６０３）と、
（４）ブロック毎に最適なテンプレートを生成する手順（ステップＳ６０４）と、
（５）ブロック内の全ての画素に対して、走査方向順にコンテクストを発生する手順（ステップＳ６０５）と、
（６）ブロック内の全ての画素と、ステップＳ６０５で生成されたその画素に対応するコンテクストを用いて圧縮データを生成する手順（ステップＳ６０６）と、
（７）これまでの手順で得られたブロック情報，テンプレート情報，圧縮データを合成して、圧縮符号化済みデータを生成および出力する手順（ステップＳ６０７）とを実行するものである。
【０１２８】
なお、図２１のプログラムのように、画像データを全て読み込んでからブロック分割を行い、ブロック毎に圧縮符号化処理を行うのではなく、ブロック分割を行いながら当該ブロックに属する画像データだけを読み込んで圧縮符号化処理を行うことにより、コンピュータの使用メモリサイズを小さく抑えることが可能である。
【０１２９】
図２２（ａ）は、圧縮対象である画像データが、ｎ個のブロックに分割された場合における、圧縮符号化済みデータのフォーマットの一例を示す模式図で、ヘッダと、ｎ個の画像ブロックに対応する圧縮情報から構成される。ヘッダには、圧縮対象である画像データの大きさ（縦横サイズ）と、解像度，線数，スクリーン角度，画像生成システム名とそのバージョン等が記録される。
【０１３０】
同図（ｂ）は、第ｉ番目の画像ブロックに対応する圧縮情報の構成例を示す模式図で、各ブロックの大きさと位置（ブロック情報）が記録されるブロックヘッダと、対応する画像ブロックの圧縮符号化に用いたテンプレートと、圧縮データと、第ｉ番目の圧縮情報の終端を示す終端記号から構成される。
【０１３１】
本発明が使用する予測適応型符号の復号化プログラムは、図２３に示されるように、
（１）圧縮符号化済みデータを読み込む手順（ステップＳ７０１）と、
（２）圧縮符号化済みデータを解析して、伸張画像全体の大きさ（縦横サイズ）と、ブロック分割された各ブロックに対応する圧縮情報とに分離し、各ブロックを圧縮する際に使用したテンプレートと圧縮データを取り出す手順（ステップＳ７０２）と、
（３）伸張された画像ブロックの先頭からコンテクストを逐次生成するための手順（ステップＳ７０３）と、
（４）コンテクストを用いて圧縮データから復号データを生成する手順（ステップＳ７０４）と、
（５）各ブロックに対応する復号データを合成して、１つの伸張画像データを生成する手順（ステップＳ７０５）とを実行するものである。
【０１３２】
なお、本発明は網点画像だけでなく、通常の２値画像（文字画像，線画像，ディザ法や誤差拡散法などで２値化された画像，これらの混在画像など）の全てに対して適用可能である。さらに、多値画像についても、ビットスライス処理や画像幅の拡大処理を行って複数の２値画像に分解することで適用可能である。
【０１３３】
ここでビットスライス処理とは、たとえば図２５（ａ）の場合、各画素は８ビットで表現されるので、第１番目のビットだけで構成した２値画像から、第８番目のビットだけで構成した２値画像までの、８つの２値画像に、１つの８ビット画像を分解する処理である。  画像幅の拡大処理とは、例えば図２５（ｂ）の場合、上述の例と同じく２５６階調（８ビット）画像の場合、画像幅を仮想的に８倍にし、画素を構成するビットを分解してそのまま同一ライン上に並べるだけの処理である。
【０１３４】
以上、図示例に基づき説明したが、この発明は上述の例に限定されるものではなく、特許請求の範囲内で当業者が容易に改変し得る他の構成や方法をも含むものである。
【図面の簡単な説明】
【図１】既知の各種テンプレートを示す説明図である。
【図２】ＪＢＩＧ方式で用いられるテンプレートを示す説明図である。
【図３】ハーフトーンセルと画素の関係を示す模式図である。
【図４】網点構造を持つ画像例の拡大図である。
【図５】スクリーン角度の異なる４つの網点画像を重ね合わせた様子を示す図である。
【図６】本発明の一実施例に係る画像伝送装置の送信側のブロック構成図である。
【図７】本発明の一実施例に係る画像伝送装置の受信側のブロック構成図である。
【図８】本発明の一実施例に係るテンプレート最適化方法の処理フローチャートである。
【図９】本発明の一実施例に係る画像分割処理のフローチャートである。
【図１０】本発明の一実施例に係る画像解析処理のフローチャートである。
【図１１】本発明の一実施例に係るテンプレート最適化処理のフローチャートである。
【図１２】遺伝的アルゴリズムの処理フローチャートである。
【図１３】画像のブロック分割方法を示す模式図である。
【図１４】同時確率密度の計算方法を示す模式図である。
【図１５】画像解析処理で行う相関分析の動作原理を示す説明図である。
【図１６】画像解析方式で行う周期性推定処理の原理を示す説明図である。
【図１７】染色体と遺伝子との関係を示す模式図である。
【図１８】遺伝的アルゴリズムにおける染色体表現の説明図である。
【図１９】遺伝的アルゴリズムにおける交叉と突然変異の処理原理を示すの説明図である。
【図２０】遺伝的アルゴリズムの一般的な学習曲線の例である。
【図２１】符号化プログラムの動作手順を示すフローチャートである。
【図２２】圧縮符号化済みデータのフォーマット例を示す模式図である。
【図２３】復号化プログラムの動作手順を示すフローチャートである。
【図２４】遺伝的アルゴリズムにおける個体集団の初期化方法例を示す模式図である。
【図２５】本発明を多値画像に適用可能とするための方法例を示す模式図である。
【符号の説明】
３        画像バッファ
５，２７  コンテクスト生成器
６        ブロック判定機
８        テンプレート発生器
１１      圧縮符号化器
１３      圧縮符号化済みデータ合成器
２２      データ解析器
２６      圧縮符号復号化器
２９      復号データ信号線
３０      伸長データ合成器
ｐ        参照画素
Ｘ        注目画素
【図１】
0003675429.tif 000002
【図２】
0003675429.tif 000003
【図３】
0003675429.tif 000004
【図４】
0003675429.tif 000005
【図５】
0003675429.tif 000006
【図６】
0003675429.tif 000007
【図７】
0003675429.tif 000008
【図８】
0003675429.tif 000009
【図９】
0003675429.tif 000010
【図１０】
0003675429.tif 000011
【図１１】
0003675429.tif 000012
【図１２】
0003675429.tif 000013
【図１３】
0003675429.tif 000014
【図１４】
0003675429.tif 000015
【図１５】
0003675429.tif 000016
【図１６】
0003675429.tif 000017
【図１７】
0003675429.tif 000018
【図１８】
0003675429.tif 000019
【図１９】
0003675429.tif 000020
【図２０】
0003675429.tif 000021
【図２１】
0003675429.tif 000022
【図２２】
0003675429.tif 000023
【図２３】
0003675429.tif 000024
【図２４】
0003675429.tif 000025
【図２５】
0003675429.tif 000026