(57)【特許請求の範囲】
【請求項１】
画像の境界を補正する方法であって、
（ａ）画像境界の一部を処理対象境界部として特定する工程と、
（ｂ）前記処理対象境界部を構成する複数の輪郭点を順次結んで形成される複数の線分のうちの、少なくとも一部の線分の始点と終点にある２つの輪郭点の間に当該線分上に無い新たな輪郭点を追加するフラクタル化処理を行なうことによって、補正された画像境界を求める工程と、
を備える画像境界の補正方法。
【請求項２】
画像の境界を補正する方法であって、
（ａ）画像境界の少なくとも一部を処理対象境界部として特定する工程と、
（ｂ）前記処理対象境界部に関してフラクタル化処理を行なうことによって、補正された画像境界を求める工程と、
を備え
前記フラクタル化処理は、１回の処理によって前記処理対象境界部をＭ倍に拡大する処理であり、
前記工程（ｂ）は、
前記処理対象境界部を１／ＭN 倍（Ｎは１以上の整数）に縮小する工程と、
縮小された前記処理対象境界部に関して前記フラクタル化処理をＮ回再帰的に繰返す工程と、
を備える画像境界の補正方法。
【請求項３】
請求項２記載の画像境界の補正方法であって、
前記Ｍの値は２である、画像境界の補正方法。
【請求項４】
請求項１ないし３のいずれかに記載の画像境界の補正方法であって、さらに、
フラクタル化された前記処理対象境界部を、元の画像境界と接続する工程、
を備える画像境界の補正方法。
【請求項５】
請求項１ないし４のいずれかに記載の画像境界の補正方法であって、さらに、
補正された画像境界を用いて、前記補正された画像境界を含む画像領域に関して所望の画像処理を実行する工程、
を備える画像境界の補正方法。
【請求項６】
画像の境界を補正する装置であって、
画像境界の一部を処理対象境界部として抽出する抽出手段と、
前記処理対象境界部を構成する複数の輪郭点を順次結んで形成される複数の線分のうちの、少なくとも一部の線分の始点と終点にある２つの輪郭点の間に当該線分上に無い新たな輪郭点を追加するフラクタル化処理を行なうことによって、補正された画像境界を求める境界補正手段と、
を備える画像境界の補正装置。
【請求項７】
画像の境界を補正する装置であって、
画像境界の少なくとも一部を処理対象境界部として抽出する抽出手段と、
前記処理対象境界部に関してフラクタル化処理を行なうことによって、補正された画像境界を求める境界補正手段と、
を備え、
前記フラクタル化処理は、１回の処理によって前記処理対象境界部をＭ倍に拡大する処理であり、
前記境界補正手段は、前記処理対象境界部を１／ＭN 倍（Ｎは１以上の整数）に縮小し、縮小された前記処理対象境界部に関して前記フラクタル化処理をＮ回再帰的に繰返す、画像境界の補正装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、コンピュータシステムを利用して画像の境界を補正する技術に関する。
【０００２】
【従来の技術】
画像の境界を補正する方法としては、従来から種々のものが知られている。例えば、特開平７−１４１５１１号公報には、境界付近の画像データにノイズを重畳する方法が開示されている。また、特公平１−３１２３２号公報や特公平７−１１３９６４号公報には、境界からの距離に応じて合成比率の値を変化させて、２つの画像データを境界付近で合成する方法が開示されている。
【０００３】
【発明が解決しようとする課題】
この発明は、上記のような従来技術とは異なる方法で、画像の境界を補正する技術を提供することを目的とする。
【０００４】
【課題を解決するための手段およびその作用・効果】
上述の課題の少なくとも一部を解決するため、第１の発明は、画像の境界を補正する方法であって、（ａ）画像境界の一部を処理対象境界部として特定する工程と、（ｂ）前記処理対象境界部に関してフラクタル化処理を行なうことによって、補正された画像境界を求める工程と、を備える。このフラクタル化処理は、処理対象境界部をを構成する複数の輪郭点を順次結んで形成される複数の線分のうちの、少なくとも一部の線分の始点と終点にある２つの輪郭点の間に当該線分上に無い新たな輪郭点を追加する処理であるものとしてもよい。
【０００５】
第１の発明によれば、処理対象境界部をフラクタル化することにより、画像境界を補正することができる。また、このフラクタル化処理によって、処理対象境界部の複雑性が増大するので、境界に自然なゆらぎを与えることができる。
【０００６】
上記第１の発明において、
前記フラクタル化処理は、１回の処理によって前記処理対象境界部をＭ倍に拡大する処理であり、
前記工程（ｂ）は、
前記処理対象境界部を１／ＭＮ  倍（Ｎは１以上の整数）に縮小する工程と、
縮小された前記処理対象境界部に関して前記フラクタル化処理をＮ回再帰的に繰返す工程と、を備えることが好ましい。
【０００７】
１回のフラクタル化処理によって処理対象境界部がＭ倍になるので、処理対象境界部を予め１／ＭＮ  倍に縮小しておけば、Ｎ回のフラクタル化処理を行なった後の処理対象境界部が、元の画像境界と同じサイズを有することになる。
【０００８】
なお、前記Ｍの値は例えば２である。
【０００９】
上記第１の発明は、さらに、
フラクタル化された前記処理対象境界部を、元の画像境界と接続する工程、を備えることが好ましい。
【００１０】
こうすれば、部分的にフラクタル化された画像境界を得ることができる。
【００１１】
また、上記第１の発明において、さらに、
補正された画像境界を用いて、前記補正された画像境界を含む画像領域に関して所望の画像処理を実行する工程、を備えることが好ましい。
【００１２】
第２の発明は、画像の境界を補正する装置であって、
画像境界の少なくとも一部を処理対象境界部として抽出する抽出手段と、
前記処理対象境界境界部に関してフラクタル化処理を行なうことによって、補正された画像境界を求める境界補正手段と、
を備える。
【００１３】
第３の発明は、コンピュータシステムのマイクロプロセッサによって実行されることによって、画像の境界を補正するソフトウェアプログラムを格納した記憶媒体であって、
画像境界の少なくとも一部を処理対象境界部として抽出する抽出手段と、
前記処理対象境界境界部に関してフラクタル化処理を行なうことによって、補正された画像境界を求める境界補正手段と、
を実現するソフトウェアプログラムを格納したものである。
【００１４】
第２または第３の発明によっても、上記第１の発明と同様な効果を得ることができる。
【００１５】
【発明の他の態様】
この発明は、以下のような他の態様も含んでいる。第１の態様は、上記第２または第３の発明において、
前記フラクタル化処理は、１回の処理によって前記処理対象境界部をＭ倍に拡大する処理であり、
前記境界補正手段は、
前記処理対象境界部を１／ＭＮ  倍（Ｎは１以上の整数）に縮小する疎視化手段と、
縮小された前記処理対象境界部に関して前記フラクタル化処理をＮ回再帰的に繰返すフラクタル化処理手段と、を備えるものである。
【００１６】
上記第１の態様は、さらに、
フラクタル化された前記処理対象境界部を、元の画像境界と接続する手段、を備えることが好ましい。
【００１７】
上記第１の態様は、さらに、
補正された画像境界を用いて、前記補正された画像境界を含む画像領域に関して所望の画像処理を実行する手段、を備えることが好ましい。
【００１８】
第２の態様は、
上記第１の発明において、前記処理対象境界部は、複数の座標軸のいずれかにそれぞれ平行な複数の線分で構成されるデジタル曲線であり、
前記フラクタル化処理は、
前記デジタル曲線を表わすデジタル曲線データを、右折、直進、および左折の３つの符号語で構成されるチェーン符号に符号化する工程と、
前記チェーン符号に含まれる各符号語を処理対象として、所定の変換規則に従って前記処理対象の符号語を複数の符号語で構成される符号語列に変換し、この際、前記処理対象の符号語で表わされるベクトル対の前半ベクトルと後半ベクトルのうちの所定の一方が、前記変換された符号語列で表わされるベクトル列の先頭ベクトルと後端ベクトルのうちの所定の一方と少なくとも部分的に重なるように前記変換を実行し、これによって、変換チェーン符号を生成する工程と、
前記変換チェーン符号を復号化することによって、前記デジタル曲線よりも高いフラクタル次元を有する変換デジタル曲線を表わす変換デジタル曲線データを生成する工程と、を備える。
【００１９】
第２の態様によれば、デジタル曲線をチェーン符号に置き換え、チェーン符号の各符号語を符号語列に変換することによって、フラクタル次元を増大させている。チェーン符号は、右折、直進、および左折の３つの符号語で構成されているので、チェーン符号で表わされる曲線はデジタル曲線である。従って、こうして変換された変換チェーン符号を復号化することによって、より高いフラクタル次元を有するデジタル曲線を得ることができる。
【００２０】
前記第２の態様において、前記変換規則は、チェーン符号に使用される３つの符号語のそれぞれを、右折、直進、および左折の３つの境界条件に応じて複数の符号語にそれぞれ置換する規則を含み、
前記変換チェーン符号の生成工程は、
（１）前記処理対象の符号語に関して前記３つの境界条件の１つを選択する工程と、
（２）前記選択された境界条件の下で、前記変換規則に従って前記処理対象の符号語を１つの符号語列に変換する工程と、を含むことが好ましい。
【００２１】
こうすれば、３つの境界条件に応じて各符号語が符号語列に変換されるので、１つの符号語から種々の符号語列に容易に変換することができる。
【００２２】
上記第２の態様は、さらに、前記３つの境界条件の１つを選択するための第１の選択確率をそれぞれ設定する工程を含み、
前記工程（２）は、
（ｉ）前記第１の選択確率に応じて前記３つの境界条件の１つを選択する工程を含む、ことが好ましい。
【００２３】
こうすれば、３つの境界条件が確率的に選択されるので、デジタル曲線のランダムな複雑さを増大させることができる。
【００２４】
上記第２の態様において、前記変換規則は、１つの境界条件に応じて１つの符号語から複数の符号語列に置換される規則を含み、
前記方法は、さらに、前記変換規則に従って１つの符号語が複数の符号語列に変換され得る場合に、前記複数の符号語列の１つを選択するための第２の選択確率を設定する工程を含むとともに、
前記工程（ｉ）は、前記処理対象の符号語が、前記選択された境界条件に応じて複数の符号語列に変換され得る場合には、前記第２の選択確率に応じて前記複数の符号語列の１つを選択する工程を含む、ことが好ましい。
【００２５】
こうすれば、変換の候補となる符号語列が複数存在する場合に、その中の１つを確率的に選択できる。従って、デジタル曲線のランダムな複雑さをさらに増大させることができる。
【００２６】
上記第２の態様において、前記変換チェーン符号生成工程は、
前記チェーン符号の先頭の符号語を無変換に保つ工程と、
前記変換チェーン符号列の後端に所定の符号語を付加する工程と、
を含むことが好ましい。
【００２７】
こうすれば、元のデジタル曲線を構成する輪郭点を通るように変換デジタル曲線を作成することができる。
【００２８】
上記第２の態様は、さらに、
前記変換チェーン符号生成工程を所望の回数再帰的に繰返す工程を備える、ことが好ましい。
【００２９】
変換チェーン符号生成工程における変換を再帰的に繰返すことによって、フラクタル次元を所望の値の付近にまで増大させることができる。
【００３０】
上記第２の態様は、さらに、
前記変換チェーン符号生成工程を所望の回数再帰的に繰返す工程と、
前記変換チェーン符号生成工程の繰り返し回数と、前記第１の選択確率と、前記第２の選択確率との組み合わせに応じて、所定の基本曲線に関して得られるフラクタル次元を予め測定し、前記繰り返し回数と前記第１と第２の選択確率と前記フラクタル次元との関係を記憶する工程と、
前記変換チェーン符号生成工程の前に、前記繰り返し回数と所望のフラクタル次元とを指定する工程と、
前記変換チェーン符号生成工程の前に、前記繰り返し回数と前記第１と第２の選択確率と前記フラクタル次元との関係に従って、指定された繰り返し回数で前記所望のフラクタル次元が得られるように前記第１と第２の選択確率を設定する工程と、
を備えることが好ましい。
【００３１】
こうすれば、所望のフラクタル次元を有するデジタル曲線を作成することができる。
【００３２】
第３の態様は、
上記第２の発明において、前記処理対象境界部は、複数の座標軸のいずれかにそれぞれ平行な複数の線分で構成されるデジタル曲線であり、
前記境界補正手段は、
前記デジタル曲線を表わすデジタル曲線データを、右折、直進、および左折の３つの符号語で構成されるチェーン符号に符号化する符号化手段と、
前記チェーン符号に含まれる各符号語を処理対象として、所定の変換規則に従って前記処理対象の符号語を複数の符号語で構成される符号語列に変換し、この際、前記処理対象の符号語で表わされるベクトル対の前半ベクトルと後半ベクトルのうちの所定の一方が、前記変換された符号語列で表わされるベクトル列の先頭ベクトルと後端ベクトルのうちの所定の一方と少なくとも部分的に重なるように前記変換を実行し、これによって、変換チェーン符号を生成する変換手段と、前記変換チェーン符号を復号化することによって、前記デジタル曲線よりも高いフラクタル次元を有する変換デジタル曲線を表わす変換デジタル曲線データを生成する復号化手段と、を備える。
【００３３】
第４の態様は、コンピュータシステムのマイクロプロセッサによって実行されることによって、上記の各発明の各工程または各手段を実現するソフトウェアプログラムを格納した携帯型記憶媒体である。
【００３４】
第５の態様は、コンピュータシステムのマイクロプロセッサによって実行されることによって、上記の各発明の各工程または各手段を実現するソフトウェアプログラムを通信回線を介して供給するプログラム供給装置である。
【００３５】
【発明の実施の形態】
Ａ．装置の構成：
次に、本発明の実施の形態を実施例に基づき説明する。図１は、この発明の実施例を適用する画像処理装置の構成を示すブロック図である。この画像処理装置は、演算部４０と、操作部４２と、画像出力部４４とを備える汎用コンピュータシステムとして構成されている。
【００３６】
演算部４０は、ＣＰＵ５０と、メインメモリとしてのＲＯＭ５２およびＲＡＭ５４と、外部記憶装置としてのハードディスク装置５６とを備えている。操作部４２は、キーボード６０と、マウス６２と、ディジタイザ６４とを備えている。また、画像出力部４４は、カラーＣＲＴ７０と、フルカラープリンタ７２とを備えている。
【００３７】
図２は、演算部４０によって実現される境界補正の機能を示す機能ブロック図である。すなわち、演算部４０は、曲線抽出部１００と、曲線疎視化部１０２と、フラクタル化処理部１０４と、曲線埋込部１０６と、の機能をそれぞれ実現する。これらの各部の機能によって、元の境界線ＲＢの少なくとも一部がフラクタル化されて、補正された境界線ＲＢ’が得られる。これらの各部の機能については後述する。
【００３８】
なお、図２の各部の機能を実現するソフトウェアプログラム（アプリケーションプログラム）は、フロッピディスクやＣＤ−ＲＯＭ等の携帯型記憶媒体（可搬型記憶媒体）からコンピュータシステムのメインメモリまたは外部記憶装置に転送される。あるいは、通信回線を介してプログラム供給装置からコンピュータシステムに供給するようにしてもよい。
【００３９】
Ｂ．処理の全体手順と処理内容：
図３は、実施例における処理の全体手順を示すフローチャートである。ステップＳ１では、図２の上部に示す元の境界線ＲＢを表わす境界線データが準備される。境界線データは、２つの画像領域の境界線を示すデータであればよく、種々のデータ形式を採用することができる。例えば、境界線の画素位置を示すビットマップデータや、境界線を構成するベクトル列を表わすベクトルデータ等のデータ形式を採用することができる。
【００４０】
なお、境界補正を行なう目的としては、いわゆるグラデーション画像（画像の濃度が一定間隔で徐々に変化していく画像）の等濃度領域相互の境界線を目立たなくすることや、２つの画像の溶かし込み合成を行なう際にその境界線を目立たなくすること等が考えられる。グラデーション画像を処理対象とする場合には、等濃度領域の境界線を示すデータが予めグラデーション画像データに含まれていることが多い。従って、この場合には、グラデーション画像データに含まれている等濃度境界線データを図３のステップＳ１においてそのまま使用する。また、２つの画像の境界線において溶かし込み合成する場合には、対象となる画像の一方の輪郭を示すマスクが用意されていることが多い。従って、この場合にはそのマスクを表わすマスクデータが図３のステップＳ１における境界線データとして利用される。もちろん、ステップＳ１において、ユーザがカラーＣＲＴ７０の画面上で境界線を指定することによって境界線データを作成するようにすることも可能である。
【００４１】
ステップＳ２では、フラクタル化処理において用いる処理パラメータとして、フラクタル次元Ｄと処理の繰り返し回数Ｎとをユーザが設定する。フラクタル次元Ｄとしては、１．０〜２．０の範囲の値を指定することが好ましい。これは、２次元の曲線のフラクタル次元の理論的な値が１．０〜２．０の範囲だからである。フラクタル次元については、以下で詳述する。フラクタル化処理は、複数回再帰的に行なわれるのが普通であり、フラクタル化処理の繰り返し回数Ｎが多いほど曲線が複雑になる。通常は、繰り返し回数Ｎを２〜３程度の値に設定することが好ましい。
【００４２】
フラクタル次元Ｄは、任意の曲線の複雑さを定量的に決定する指標である。フラクタル次元Ｄは、例えば図４に示すボックスカウンティング法によって測定することができる。図４（Ａ）のような任意の曲線Ｌに関するフラクタル次元を求める際には、まず、一辺の幅ｄの正方形を始点Ｙ０に配置する。そして、この正方形と曲線Ｌとの交点Ｙ１を求める。次に、この交点Ｙ１を正方形の中心に再設定して、正方形と曲線Ｌとの交点Ｙ２を再度求める。こうして、曲線Ｌを正方形によって順次覆って行くと、曲線Ｌの全体を覆うために必要な正方形の個数Ｎ（ｄ）が得られる。この個数Ｎ（ｄ）は、正方形の一辺の幅ｄの関数である。そして、一辺の幅ｄを変化させて、曲線Ｌを覆うために必要な正方形の個数Ｎ（ｄ）をそれぞれ求める。図４（Ｂ）は、正方形の個数Ｎ（ｄ）と一辺の幅ｄの関係を両対数にプロットしたものである。図４（Ｂ）に示されているように、フラクタル次元Ｄはこのグラフの傾きで定義される。
【００４３】
なお、フラクタル次元は、曲線Ｌのサイズに依存しない。例えば、曲線Ｌを単純にＭ倍に拡大すれば、図２４（Ｂ）の曲線が、ｌｎＭだけ上にシフトするだけである。従って、単純な拡大／縮小によってはフラクタル次元は変化しない。このように、フラクタル次元は、曲線のサイズに依存せずに、その複雑さを示す指標である。
【００４４】
なお、「フラクタル」という言葉は、曲線（図形）の一部を拡大してもその内部に同種の構造が埋め込まれているような状態を意味する。しかし、「フラクタル次元」は、図４で説明したように、上述のようなフラクタルな曲線のみに関する指標ではなく、あらゆる曲線に関してフラクタル次元を測定することができる。
【００４５】
一般に、曲線のフラクタル次元を増大させれば、曲線を拡大したり、曲線の解像度を増大させたりする場合に、自然なゆらぎを与えることができる。フラクタル次元が高いほど境界線が複雑になるので、２つの画像の境界線を目立たなくする効果も大きい。
【００４６】
図３のステップＳ３では、フラクタル化処理の対象とする曲線部分をユーザが指定し、これに応じて曲線抽出部１００がその曲線部分を切り出す（抽出する）処理を実行する。図５は、ステップＳ３の処理内容を示す説明図である。元の境界線ＲＢの一部を処理対象曲線部ＴＧとして切り出す際には、例えばユーザが元の境界線ＲＢ上の２点ＰＴ１，ＰＴ２の位置をマウス等のポインティングデバイスで指定する。曲線抽出部１００（図２）は、これら２点ＰＴ１，ＰＴ２の間の曲線部分を処理対象曲線部ＴＧとして抽出する。図５に示す白丸や黒丸は単に図示の便宜のために描いたものであり、実際の画面では表示されないものである。なお、実際の切り出し処理では、元の境界線ＲＢは境界線データによって表わされているので、画面上でユーザによって指定された処理対象曲線部ＴＧを表わすデータが、全体の境界線データから抽出される。
【００４７】
図３のステップＳ４では、処理対象曲線部ＴＧの疎視化が行なわれる。この疎視化は、次のステップＳ５において再帰的にフラクタル化処理された処理対象曲線部と、元の境界線ＲＢとがうまく接合できるようにするためである。後述するように、フラクタル化処理を１回行なうと、解像度が２倍に増大する。仮に、元の境界線ＲＢと１画素のサイズを等しく保った場合には、解像度を２倍に増大することは曲線を２倍に拡大することと同じである。従って、フラクタル化処理をＮ回繰返して行なうと、処理対象曲線部ＴＧが２Ｎ  倍の大きさになってしまう。そこで、ステップＳ４では、ステップＳ２で設定した繰り返し回数Ｎの分だけ予め処理対象曲線部ＴＧを疎視化（縮小）しておく。具体的には、１／２Ｎ  倍しておくことになる。図６は、ステップＳ４における疎視化処理の内容を示す説明図である。図６では図示の便宜上、元の境界線ＲＢの全体を疎視化する場合の例を示しているが、実際には処理対象曲線部ＴＧのみを疎視化すればよい。フラクタル処理の繰り返し回数Ｎが２の場合には、図６に示すように図形を１／２倍に縮小する疎視化を２回行なうか、あるいは、図形を１／４倍に縮小する疎視化を１回行なえば良い。
【００４８】
なお、１回のフラクタル化処理によって曲線がＭ倍（Ｍは正の数であり、通常は整数）になる場合には、ステップＳ４において、処理対象曲線部ＴＧを１／ＭＮ  倍しておけばよい。再帰的処理でないフラクタル化（例えばフーリエフィルタリング法による処理）を用いる場合には、ステップＳ４における疎視化処理は不要である。
【００４９】
ステップＳ５では、処理対象曲線部ＴＧに関してフラクタル化処理を行なう。図７は、中点変位法によるフラクタル化処理の概要を示す説明図である。ここでは、２つの点Ｖ１，Ｖ２の間の直線Ｌ１２をフラクタル化する場合について説明する。図７（Ａ）に示す１回目の変換では、まず、直線Ｌ１２の中点ＭＶの座標（ｘｍ  ，ｙｍ  ）を次の数式１に従って求める。
【００５０】
【数１】
0003597637.tif 000002
【００５１】
そして、この中点ＭＶから、直線Ｌ１２に垂直な方向に点Ｖ３を取る。ここで、直線Ｌ１２に直交する方向（すなわち中点ＭＶから点Ｖ３に向かう方向）の単位ベクトルは、次の数式２で与えられる。
【００５２】
【数２】
0003597637.tif 000003
【００５３】
中点変位法では、点Ｖ３の座標（ｘ３  ，ｙ３  ）が次の数式３で与えられる。
【００５４】
【数３】
0003597637.tif 000004
【００５５】
ここで、Ｒｇは平均値が０で標準偏差が１のガウス乱数（値の頻度分布がガウス分布に従う乱数）であり、Ｄはフラクタル次元である。数式３の形式から解るように、数式３の右辺第２項は、中点ＭＶから点Ｖ３までの間の座標の差分に相当する。この差分を以下では「中点の変位」と呼ぶ。中点の変位は、フラクタル次元Ｄに依存していることが解る。
【００５６】
図７（Ｂ）に示す２回目の変換では、点Ｖ１と点Ｖ３との間の直線、および、点Ｖ３と点Ｖ２との間の直線がそれぞれフラクタル化される。すなわち、点Ｖ１と点Ｖ３との間に新たな点Ｖ４が設定され、点Ｖ３と点Ｖ２との間に新たな点Ｖ５が設定される。但し、点Ｖ４と点Ｖ５の位置は、３つの点Ｖ１，Ｖ３，Ｖ２を通る直線列の進行方向（例えば点Ｖ１から点Ｖ２に向かう方向）にそって逆向きになるように設定される。図７（Ｃ）は、３回目の変換を示している。
【００５７】
一般に、ｋ番目の分割において生成される点の座標（ｘｋ＋１  ，ｙｋ＋１  ）は、次の数式４で与えられる。
【００５８】
【数４】
0003597637.tif 000005
【００５９】
ここで、（ｘｓ  ，ｙｓ  ），（ｘｅ  ，ｙｅ  ）は、ｋ番目の分割がなされる前の直線部分の両端点の座標である（図７（Ｃ）の例を参照）。数式４の右辺第２項（中点の変位を示す項）は２−ｋＤ  を含むので、分割の回数ｋが増すに従って、中点における変位が小さくなっていく（すなわち曲線が細かくなっていく）ことが解る。この分割は、分割区間が所定の制限値（ε＞０）より小さくなるまで、もしくは、決められた回数だけ、繰返される。
【００６０】
このように、再帰的に中点変位法によるフラクタル化処理を実行することによって、フラクタル次元を増大させることができる。すなわち、比較的単純な曲線を、より複雑な曲線に変換することができる。なお、この明細書では、「曲線」という言葉は、直線も含む広義の用語として使用されている。
【００６１】
なお、フラクタル化処理によって曲線の複雑さを増加させることは、曲線の解像度を増加させることとも考えることができる。例えば、図７（Ａ）において３つの点Ｖ１，Ｖ３，Ｖ２で構成される曲線は、元の直線Ｌ１２の解像度を２倍に増加させたものと見ることができる。このように、曲線の全体的なサイズを同一に保ったままで曲線のフラクタル次元を増加させる処理は、曲線の解像度を増大させることに対応する。この場合には、曲線の全体的なサイズはフラクタル化処理によって変化しないので、図３のステップＳ４における疎視化処理は不要である。
【００６２】
一方、隣接する座標格子点同士の距離を同一に保ったままで曲線のフラクタル化処理を行なうと、曲線が拡大される。すなわち、フラクタル化処理では、曲線を構成する点の数が増加するので、各点の距離（これ画素サイズに相当する）を一定に保つと、曲線全体が拡大されることになる。このような条件で中点変位法によるフラクタル化処理を１回行なうと、曲線が２倍に拡大される。従って、Ｎ回のフラクタル化処理を再帰的に繰返すと、曲線が２Ｎ  倍に拡大されることになる。例えば、３回のフラクタル化処理で得られた図７（Ｃ）の曲線は、図７（Ａ）の直線の８倍に拡大される。前述したように、処理対象曲線部ＴＧは、図３のステップＳ４において、予め１／２Ｎ  倍に縮小されている。従って、Ｎ回のフラクタル化処理を行なって得られた処理済みの曲線は、元の境界線ＲＢから切り出された曲線部ＴＧ（図５）と同じサイズを有することになる。
【００６３】
図３のステップＳ６では、曲線埋込部１０６が、フラクタル化された処理対象曲線部（処理済曲線）を、元の境界線ＲＢに埋め込む。図８は、ステップＳ６における埋込処理の内容を示す説明図である。処理済曲線ＴＧ’は、境界線ＲＢの元の位置（点ＰＴ１，ＰＴ２の間）に埋め込まれる。実際の処理では、処理済曲線ＴＧ’を表わすデータが、元の境界線ＲＢを表わす境界線データの点ＰＴ１，ＰＴ２の間に挿入される。この結果、処理済曲線ＴＧ’の部分のみがフラクタル化された補正済みの境界線を作成することができる。
【００６４】
図３のステップＳ７では、境界線ＲＢに関するフラクタル化処理がすべて終了したか否かが判断され、終了していなければステップＳ３に戻る。こうして、境界線ＲＢの中の複数の曲線部分を対象としてフラクタル化処理を行なうことができる。なお、各処理対象曲線部のフラクタル化処理の際に、フラクタル次元Ｄとフラクタル化処理の繰り返し回数Ｎを変更してもよい。この場合には、ステップＳ７からステップＳ２に戻るようにすればよい。
【００６５】
図９は、２つの境界線部分ＴＧ１，ＴＧ２においてフラクタル次元を変えて処理を行なって得られた境界線ＲＢ’を示す説明図である。第１の曲線部ＴＧ１ではフラクタル次元が比較的高く設定され、第２の曲線部ＴＧ２ではフラクタル次元が比較的低く設定されている。この結果、第１の曲線部ＴＧ１の方が、より複雑になっていることが解る。このような補正済みの境界線ＲＢ’の両側の画像同士を合成することを考えると、より複雑な第１の曲線部ＴＧ１では２つの画像のなじませ度（境界線の目立ち難さ）が大きく、より単純な第２の曲線部ＴＧ２では２つの画像のなじませ度が小さいことになる。
【００６６】
図３のステップＳ８では、こうして得られた処理済みの境界線（マスク）を用いて、所望の画像処理を実行する。ここで行なわれる画像処理としては、例えばグラデーション画像を作成する処理や、２つの画像の合成処理等が考えられる。
【００６７】
図１０は、グラデーション画像の作成処理の手順を示すフローチャートである。また、図１１は、グラデーション画像の作成処理の内容を示す説明図である。ここでは、図１１（Ａ）に示す画像枠ＦＲの内部に、３つの等濃度境界線ＴＧ１０〜ＴＧ１２を有するグラデーション画像を作成することを考える。これらの３つの等濃度境界線ＴＧ１０〜ＴＧ１２は、図３に示す手順によってそれぞれフラクタル化されている。
【００６８】
図１０のステップＳ１１では、以下の処理で使用する濃度値Ｄｎをグラデーション開始濃度に設定する。ここで、グラデーション開始濃度とは、グラデーション画像の開始部分における濃度である。例えば、図１１（Ａ）に示すように、グラデーション画像の濃度値Ｄｎの範囲が１０〜４０％である場合には、グラデーション開始濃度は１０％（または４０％）である。
【００６９】
ステップＳ１２では、現在の濃度値Ｄｎに対応する境界線（「対象境界線」と呼ぶ）が自動的に選択される。例えば、図１１（Ａ）の場合において、濃度値Ｄｎ＝１０に対応する境界線は、画像枠ＦＲと第１の濃度境界線ＴＧ１０である。また、濃度値Ｄｎ＝２０に対応する境界線は、画像枠ＦＲと２つの濃度境界線ＴＧ１０，ＴＧ１１である。
【００７０】
ステップＳ１３では、グラデーション対象領域（画像枠ＦＲで囲まれた領域）から画素を１つ選択する。ステップＳ１４では、選択された画素が、対象境界線の内部か否かが判断される。対象境界線の内部であれば、ステップ１５において、その画素の画素値が現在の濃度値Ｄｎに等しく設定される。一方、選択された画素が対象境界線の内部でなければ、ステップＳ１５は省略され、ステップＳ１６に移行する。
【００７１】
ステップＳ１６では、グラデーション対象領域の全画素についてステップＳ１３〜Ｓ１５の処理が終了したか否かが判断され、終了していなければステップＳ１３に戻って次の画素を選択する。こうして、ステップＳ１３〜Ｓ１６を繰返すことにより、１つの等濃度領域が現在の濃度値Ｄｎ＝１０で塗りつぶされる。
【００７２】
ステップＳ１７では、すべての濃度値についてステップＳ１２〜Ｓ１６の塗りつぶし処理が終了したか否かが判断される。終了していなければステップＳ１８において濃度値Ｄｎを１ステップ分上昇させる。すなわち、現在の濃度値Ｄｎが、次の領域の濃度値（図１１（Ａ）の場合にはＤｎ＝２０）に変更される。
【００７３】
こうして、ステップＳ１２〜Ｓ１８を繰返すことによって、画像枠ＦＲで囲まれたグラデーション対象領域に含まれる各等濃度領域がそれぞれの濃度値Ｄｎで塗りつぶされる。図１１（Ｂ）は、こうして得られたグラデーション画像を示している。３つの等濃度境界線ＴＧ１０〜ＴＧ１２は予めフラクタル化されているので、肉眼では目立ち難くなっている。なお、図１０の手順において、濃度値Ｄｎを図１１の例とは異なる値に設定すれば、同じ画像枠と等濃度境界線とを用いて、異なる濃度変化を有するグラデーション画像を容易に作成することができる。このように、この実施例では、境界自体の形状をフラクタル化処理によって補正しているので、従来のノイズの重畳による方法等と異なり、補正された境界を利用して種々の画像処理を何度も実行することができる。
【００７４】
図１２は、画像合成処理の手順を示すフローチャートである。ここでは、背景画像の中に図９に示した補正済みの境界線ＲＢ’を設定し、この境界線ＲＢ’の内側に他の画像（「埋込画像」と呼ぶ）を合成する処理を考える。ステップＳ２１では、処理対象となる画像領域から画素を１つ選択する。ここで、処理対象となる画像領域とは、図９の境界線ＲＢ’を含むやや広い領域を意味する。図１２のステップＳ２２では、選択された画素が境界線ＲＢ’の内部か否かが判断される。境界線ＲＢ’の内部であれば、その画素に所定の画像処理（ここでは埋込画像の画素値をその画素に割り当てる処理）を行なう。一方、選択された画素が境界線ＲＢ’の内部でなければ、ステップＳ２３は省略されてステップＳ２４に移行する。ステップＳ２４では、全画素についてステップＳ２１〜Ｓ２３の処理が終了したか否かが判断され、終了していなければステップＳ２１に戻ってステップＳ２１〜Ｓ２３の処理を繰返す。
【００７５】
こうして得られた合成画像では、図９に示す境界線ＲＢ’の一部ＴＧ１，ＴＧ２が予めフラクタル化されているので、これらの境界部分において特に２つの画像の境界が目立ち難くなっている。なお、図１２のステップＳ２３における画像処理としては、画像合成以外の他の種類の画像処理（例えば色変更等）を行なうことも可能である。図１２のステップＳ２３における画像処理のパラメータや画像処理の内容を変更すれば、同じ境界線ＲＢ’を用いて、種々の異なる画像を容易に作成することができる。
【００７６】
この実施例では、境界線自体を予めフラクタル化しておき、その後に各種の画像処理を行なうので、それらの画像処理のパラメータ等を変更して再度実行することが容易である。ところで、境界線付近の画像データにノイズを重畳する従来の境界補正方法では、画像処理自体を再度実行した場合に、ノイズの重畳処理も再度行なう必要があった。これに対して、この実施例の境界方法によれば、境界線の補正を再度行なう必要がない、という利点がある。また、境界線からの距離に応じて変化する合成比率を用いて２つの画像を合成する従来の境界補正方法では、合成処理の度に合成比率を計算しなければならず、かなりの処理時間を要していた。これに対して、この実施例の境界補正方法によれば、合成比率を算出しなくても済むので、合成処理の処理時間を短縮できるという利点もある。
【００７７】
Ｃ．フラクタル化処理の他の実施例：
Ｃ−１．フラクタル化処理部１０４の構成：
フラクタル化処理としては、図７で説明した中点変位法以外の処理も適用可能である。なお、以下の説明では、フラクタル化処理を「フラクタル次元変換」とも呼んでいる。
【００７８】
図１３は、フラクタル化処理部１０４によって実現される他のフラクタル化処理の機能を示す機能ブロック図である。この、フラクタル化処理部１０４は、デジタル曲線記憶部８０と、チェーン符号化部８２と、符号メモリ８４と、チェーン符号拡大部８６と、コードブック記憶部８８と、復号化部９０と、処理済デジタル曲線記憶部９２と、の機能をそれぞれ実現する。
【００７９】
デジタル曲線記憶部８０は、処理前のデジタル曲線を表わすデジタル曲線データを記憶する。チェーン符号化部８２は、デジタル曲線データを、３つの符号語「ｒ」，「ｓ」，「ｌ」で構成されるチェーン符号に変換する。第１の符号語「ｒ」は右折を表わし、第２の符号語「ｓ」は直進を、また、第３の符号語「ｌ」は左折を表わす。なお、チェーン符号の符号語と符号化方法の詳細については後述する。符号メモリ８４は、チェーン符号を記憶する。
【００８０】
チェーン符号拡大部８６は、チェーン符号に含まれる各符号語を、複数の符号語を含む符号語列にそれぞれ変換することによって、デジタル曲線のフラクタル次元を増大させる。チェーン符号拡大部８６の機能の詳細については後述する。コードブック記憶部８８は、チェーン符号拡大部８６に使用されるコードブック（後述する）を記憶する。
【００８１】
復号化部９０は、変換後のチェーン符号を復号化することによって、高フラクタル次元のデジタル曲線データ（変換デジタル曲線データ）を生成する。処理済デジタル曲線記憶部９２は、変換デジタル曲線データを記憶する。
【００８２】
なお、チェーン符号化部８２は、本発明における符号化手段に相当する。また、チェーン符号拡大部８６は本発明における変換手段に相当し、復号化部９０は復号化手段に相当する。また、コードブック記憶部８８に記憶されているコードブックは、本発明における変換規則に相当する。
【００８３】
図１３の各部の機能を実現するソフトウェアプログラム（アプリケーションプログラム）は、フロッピディスクやＣＤ−ＲＯＭ等の携帯型記憶媒体（可搬型記憶媒体）からコンピュータシステムのメインメモリ（すなわちＲＡＭ５４）または外部記憶装置（すなわちハードディスク装置５６）に転送される。あるいは、通信回線を介してプログラム供給装置からコンピュータシステムに供給するようにしてもよい。
【００８４】
Ｃ−２．フラクタル化処理の手順と処理内容：
この実施例では、疎視化を終了した境界線が既にデジタル曲線化されているものとする。図１４は、チェーン符号を用いたフラクタル化処理の全体手順を示すフローチャートである。ステップＳ３１では、チェーン符号化部８２がデジタル曲線のチェーン符号化を行なう。
【００８５】
図１５は、チェーン符号の符号語ｒ，ｓ，ｌの意味を示す説明図である。デジタル曲線（以下、「線図形」とも呼ぶ）は単位長さのベクトルが順次連結されたベクトル列であると考えることができる。図１５（ａ）に示すように、ある入力ベクトルの次の単位ベクトルは、入力ベクトルから右折、左折、直進のいずれかの方向を有している。チェーン符号は、隣接する２つの単位ベクトルの関係を、右折「ｒ」、直進「ｓ」、および、左折「ｌ」の３つの符号語で符号化したものである。なお、チェーン符号は、ｒｌｓ符号とも呼ばれる。図１５（Ｂ）に示されているように、デジタル曲線を符号化する際には、始点Ｐ０の座標と、始点Ｐ０に向かうダミー初期ベクトルＤＩＶが設定される。チェーン符号は、このダミー初期ベクトルＤＩＶに続く単位ベクトル列を表わす符号語で構成される。
【００８６】
図１６は、デジタル曲線を構成する単位ベクトルの向きと方向値との関係、および、方向値の変化とチェーン符号の符号語との関係を示す説明図である。「方向値」とは、デジタル曲線の方向を示すために使用している値である。この実施例では、図１６（Ａ）に示すように、左手系の直交ｘ−ｙ座標系において、ｘ方向に方向値「０」を、ｙ方向に方向値「１」を、−ｘ方向に方向値「２」を、−ｙ方向に方向値「３」をそれぞれ割り当てている。図１６（Ｂ）に示すように、右折ｒは、方向値に１を加算する演算に対応する（キャリは無視する）。また、直進ｓは方向値が変化しない演算に対応し、左折は方向値から１を減算する演算に対応する（ボローは無視する）。なお、図１６（Ｂ）の右側において、「ｍｏｄ４」と記載されているのは、整数を４で割った余りである０〜３の値のみを採用すること、すなわち、２ビットの演算においてキャリーやボローを無視することを意味している。
【００８７】
図１７は、チェーン符号化の例を示している。始点Ｐ０は、デジタル曲線の端部に存在する輪郭点である。デジタル曲線が閉曲線である場合には、任意の輪郭点を始点Ｐ０として指定することができる。ダミー初期ベクトルＤＩＶは、予め決定された一定の向きを有している。図１７（Ａ）の例では、ダミー初期ベクトルＤＩＶは右向きであるが、任意の向きを取ることが可能である。図１７（Ｂ）の中央の２つの欄には、各点Ｐ０〜Ｐ７における入力ベクトルと出力ベクトルの向きが方向値で表わされている。各点における入力ベクトルと出力ベクトルの方向値の変化は、図１６（Ｂ）に示す規則に従ってチェーン符号の符号語に変換される。変換されたチェーン符号は、符号メモリ８４に記憶される。なお、チェーン符号化の詳細な手順については後述する。
【００８８】
こうして、図１４のステップＳ３１において、デジタル曲線がチェーン符号化されると、ステップＳ３２において、フラクタル次元変換の処理回数（「変換回数」とも呼ぶ）をユーザが指定する。ステップＳ３３では、フラクタル次元変換に使用する２つの制御パラメータＰｓ，Ｐｆをユーザが指定する。これらのパラメータＰｓ，Ｐｆについては後述する。
【００８９】
ステップＳ３４では、チェーン符号拡大部８６がフラクタル次元変換を１回実行する。このフラクタル次元変換は、チェーン符号の各符号語を、ほぼ等価な符号語列にそれぞれ置換することによって、デジタル曲線のフラクタル次元を増大させる処理である。
【００９０】
図１８は、フラクタル次元を増大させた時の座標格子の格子点の増加と、チェーン符号に対応する入力ベクトルおよび出力ベクトルの変化とを示す説明図である。図１８の例では、フラクタル次元の増大に伴って、隣接する座標格子点の間隔を１／２に縮小している。この場合には、フラクタル次元の増大は解像度の増大を意味する。
【００９１】
図１８（Ａ１）の９つの黒丸は元の格子点を示しており、図１８（Ａ２）の８つの白丸は解像度を増大させた時に図１８（Ａ１）の中央の格子点Ｐｃｅｎｔの周囲に設けられる新たな格子点を示している。この８つの新たな格子点と元の格子点Ｐｃｅｎｔで構成される矩形を「セルＣＬ」と呼ぶ。
【００９２】
図１８に示すフラクタル次元の増大では、元の各格子点の間に新たな格子点が追加されるので、解像度は２倍に増大する。なお、このように解像度を２倍に増大することは、１つの格子点Ｐｃｅｎｔを、１つのセルＣＬに変換することと等価である。
【００９３】
解像度の増大に伴って、各符号語で表わされる入力ベクトルと出力ベクトルも変換される。図１８（Ａ１）に示すように、元の格子点Ｐｃｅｎｔを通るような右折を示す符号語ｒは、格子点Ｐｃｅｎｔに入る入力ベクトルＶｉｎと、格子点Ｐｃｅｎｔから出る出力ベクトルＶｏｕｔ  の向きの変化を表わしている。この符号語ｒの解像度を増大して得られる符号語列は、図１８（Ａ２）に示すように、セルＣＬに入る入力ベクトルＶｉｎ’  と、セルＣＬの中心の格子点Ｐｃｅｎｔからセル端部の格子点に至る出力ベクトルＶｏｕｔ’とを含むベクトル列を表わす。但し、新たな入力ベクトルＶｉｎ’  と出力ベクトルＶｏｕｔ’の間を連結するベクトルについては任意性があるので、図１８では図示を省略している。この実施例では、ベクトル列がセルＣＬに入る始点Ｑｉｎと、ベクトル列がセルＣＬから出る終点Ｑｏｕｔ  の位置は、セルＣＬのいずれかの辺の中央に限定される。
【００９４】
なお、セルＣＬへの入力ベクトルＶｉｎ’  は、１つ手前のセルの出力ベクトルと同じなので、１つ手前のセルの符号語列によって規定されている。従って、変換後の符号語列で表わされるベクトル列は、この入力ベクトルＶｉｎ’  から順次連結されて行き、出力ベクトルＶｏｕｔ’まで至るベクトル列である。セルＣＬ内におけるベクトル列にはある程度の任意性があり、以下で説明するコードブックに含まれているものの中から選択される。
【００９５】
図１８で注意すべきことは、変換後の出力ベクトルＶｏｕｔ’が、セルＣＬの中心の格子点Ｐｃｅｎｔを通り、かつ、変換前の出力ベクトルＶｏｕｔ  と同じ方向を有するように設定されている点である。換言すれば、変換後の出力ベクトルＶｏｕｔ’は、変換前の出力ベクトルＶｏｕｔ  に部分的に（厳密には１／２だけ）重なるように決められている。こうすることによって、セルＣＬ内のベクトル列の連なり方に係わらず、解像度変換前のベクトル列と解像度変換後のベクトル列とがほぼ等価なものになる。換言すれば、曲線の通り方を大きく変えること無く、その解像度を向上させるようにすることができる。
【００９６】
図１９は、フラクタル次元の増大によって曲線を拡大した時の座標格子の格子点を示す説明図であり、図１８（Ａ１），（Ａ２）に対応するものである。図１８（Ａ１），（Ａ２）と、図１９（Ａ１），（Ａ２）とを比較すれば解るように、解像度の増大は、黒丸で示される元の格子点のピッチをそのまま保ち、白丸で示す格子点をそれらの中間に追加することによって、格子点のピッチを元の１／２にしつつ格子点数を増加させる処理である。一方、曲線の拡大は、黒丸で示される元の格子点のピッチを２倍にし、白丸で示す格子点をそれらの中間に追加することによって、格子点のピッチを元と同じに保ちつつ曲線のサイズを２倍にする処理である。このように、解像度の増大と曲線の拡大は、処理語の格子点のピッチ（すなわち画素ピッチ）を元の１／２にするか、元と同じに保つかの違いだけであり、フラクタル次元の増大としては実質的に等価な処理である。
【００９７】
図１９に示される曲線の拡大処理においても、変換後の出力ベクトルＶｏｕｔ’が、セルＣＬの中心の格子点Ｐｃｅｎｔを通り、かつ、変換前の出力ベクトルＶｏｕｔ  と同じ方向を有するように設定されている点に注意すべきである。換言すれば、変換後の出力ベクトルＶｏｕｔ’は、変換前の出力ベクトルＶｏｕｔ  に重なるように（一致するように）決められている。
【００９８】
図２０は、セルＣＬ内のベクトル列の通り方の例を示す説明図である。図２０は、直進を示す符号語ｓの場合を示している。セルＣＬの始点Ｑｉｎから、セルＣＬの終点Ｑｏｕｔ  までを順次接続するベクトル列としては、図２０（Ａ）〜（Ｃ）に示すものの他にも多数のものが考えられる。そこで、この実施例では、セルＣＬ内のベクトル列の連結の仕方に、以下のような制限を設けることによって、いくつかのベクトル列のみを許容している。
【００９９】
［制限１］：セルの終点Ｑｏｕｔ  に至る出力ベクトルＶｏｕｔ’が、セル中心の格子点Ｐｃｅｎｔを通り、かつ、その向きが変換前の出力ベクトルＶｏｕｔ  の向きに等しいこと。
［制限２］：セル内のベクトル列がセルの始点Ｑｉｎを通るような自己交差を起こさないこと。
【０１００】
上記制限１は、図１８においてすでに説明した事項である。この制限１から、図２０（Ｂ），（Ｃ）のベクトル列は許容されないことになる。なお、この制限１は、「変換後の出力ベクトルＶｏｕｔ’が、変換前の出力ベクトルＶｏｕｔ  と少なくとも部分的に重なること」と言い換えることもできる。
【０１０１】
制限２の「自己交差」とは、図２０（Ｂ）の左下の部分に示すように、ベクトル列がループを描くことを意味している。制限２は、「セルの始点Ｑｉｎを通るような自己交差」を禁止しているので、セルの始点Ｑｉｎを通らないような自己交差は許される。図２０（Ｂ）に示すベクトル列は、「セルの始点Ｑｉｎを通るような自己交差」を含んでいるので、制限１のみでなく、制限２からも禁止される。
【０１０２】
自己交差を禁止する理由は、自己交差を有するように曲線を変換してしまうと、元のベクトル列で定義されていた塗りつぶし領域に間違い生じてしまう、などの不具合が発生する可能性があるからである。この意味では、上記制限２の代わりに、「セル内のベクトル列が自己交差を起こさないこと」という制限を使用することが好ましい場合もある。なお、自己交差を起こしても不具合が生じない場合には、自己交差に関する制限を省略することも可能である。
【０１０３】
また、上記制限１の代わりに、セルの始点におけるベクトルを制限事項とすることも可能である。このような制限は、「セルの始点Ｑｉｎから出る入力ベクトルＶｉｎ’  が、セル中心の格子点Ｐｃｅｎｔを通り、かつ、その向きが変換前の入力ベクトルＶｉｎの向きに等しいこと」、または、「変換後の入力ベクトルＶｉｎ’  が、変換前の入力ベクトルＶｉｎと少なくとも部分的に重なること」となる。
【０１０４】
この実施例では、上記の制限１，２によって許容されるセル内のベクトル列を予めコードブックとして作成し、コードブック記憶部８８（図１３）に登録しておく。図２１〜図２３は、フラクタル次元変換における変換規則を記述したコードブックの登録内容を示す説明図である。例えば、図２１の左端の欄は変換前の符号語（右折の符号語ｒ）を示し、２番目の欄は境界条件を、３番目の欄は変換後の符号語列（「置換符号語列」とも呼ぶ）を、４番目の欄は置換符号語列で表わされるベクトル列を、５番目の欄はその置換符号語列の採否をそれぞれ示している。図２２，図２３も同様である。
【０１０５】
境界条件は、置換符号語列の最初の符号語として右折、直進、左折のいずれを使用するかを示す条件である。すなわち、境界条件には、右折「Ｒ」、直進「Ｓ」、左折「Ｌ」の３つの境界条件がある。ここで、大文字のＲ，Ｓ，Ｌを用いているのは、符号語と区別するための便宜のためである。採否の欄において「○」が付されている置換符号語列はコードブックに含まれるもの（すなわち許容されるもの）を示しており、「×」が付されている置換符号語列はコードブックに含まれないもの（すなわち許容されないもの）を示している。
【０１０６】
３つの境界条件Ｒ，Ｓ，Ｌのいずれを選択するかは、後述するように、境界条件を選択する際の選択確率を表わす制御パラメータＰｓに従って決定される。また、同じ元の符号語から同じ境界条件で複数の符号語列に変換し得る場合もある（例えば図２１の境界条件「Ｓ」の場合）。このような場合には、これらの複数の候補の中から１つを選択する際の選択確率を表わす制御パラメータＰｆに従って選択が行なわれる。この処理についても後述する。
【０１０７】
図２４は、図２１〜図２３に示すコードブックを用いて各符号語を符号語列に変換した例を示す説明図である。図２４（Ａ）に示すように、変換前の符号語列は［ｓｌｒｌ］である。図２４（Ｂ）は、変換後の符号語列の一例と、変換前の各符号語との対応を示している。図２４（Ｂ）の下部に示す符号語の変換は、図２１〜図２３に示すコードブックにおいて許容されているものである。
【０１０８】
図２５は、図１４のステップＳ３４におけるチェーン符号のフラクタル次元変換の詳細手順を示すフローチャートである。ステップＳ４１では、元の符号語列から処理対象となる符号語を１つ取出す。ステップＳ４２では、３つの境界条件から１つを選択するための乱数を発生させる。図２６（Ａ）は、境界条件の選択方法を示している。図１４のステップＳ３３において設定された第１の制御パラメータＰｓは、３つの境界条件Ｓ，Ｒ，Ｌの中から直進を示す境界条件Ｓを選択する選択確率を示している。この実施例では、右折を示す境界条件Ｒと左折を示す境界条件Ｌの選択確率は、（１−Ｐｓ）／２で互い等しく設定されている。従って、３つの境界条件Ｓ，Ｒ，Ｌの選択確率の合計は１である。図２５のステップＳ４２においては、０〜１の範囲の乱数を発生させる。その乱数の値に応じて図２６（Ａ）に示すように境界条件が１つ選択される。
【０１０９】
ステップＳ４３では、同じ境界条件の下で選択の候補となる複数の符号語列から１つを選択する際に使用する選別用乱数を発生させる。図２６（Ｂ）は、同じ境界条件の下で選択の候補となる２つの符号語列の選択方法を示している。図１４のステップＳ３３において設定された第２の制御パラメータＰｆは、候補となる２つの符号語列（長符号語列と短符号語列）の中から長符号語列を選択する選択確率を示している。２つの符号語列の選択確率の合計は１である。なお図２６（Ｂ）のように、選択の候補となる符号語列を２つにしているのは、図２１ないし図２３に示されているコードブックにおいて、処理対象の符号語から同じ境界条件の下で選択の候補となる符号語列が２つ以下だからである。図２５のステップＳ４３においては、０〜１の範囲の乱数を発生させる。その乱数の値に応じて図２６（Ｂ）に示すように長符号語列と短符号語列のいずれかを選択するかが決定される。なお、選択の候補となる複数の符号語列のいずれを選択するか、を以下では「符号語列選別条件」と呼ぶ。
【０１１０】
なお、コードブックにおいて、処理対象の符号語から同じ境界条件の下で選択の候補となる符号語列が３つ以上存在する場合には、その個数の選択確率を設定するようにすればよい。
【０１１１】
図２５のステップＳ４４は、処理対象の符号語と、ステップＳ４２で決定された境界条件と、ステップＳ４３で決定された符号語列選別条件とに応じて、図２１〜図２３に示すコードブックを参照し、符号語列を１つ選択する。なお、ステップＳ４２において選択された境界条件に対応する置換符号語列がコードブック中に存在しない場合（例えば図２１の境界条件Ｒの場合）には、ステップＳ４４において再度乱数を発生させて、許容される置換符号語列が存在するまでステップＳ４２と同じ処理を実行する。
【０１１２】
ここで、ステップＳ４２〜Ｓ４４において使用された２つの制御パラメータＰｓ，Ｐｆの役割を考察する。図２６（Ａ），（Ｂ）に示したように、処理対象の符号語を置換符号語列に変換する際には、乱数を用いてある程度確率的に変換を行なっている。この際、２つの制御パラメータＰｓ，Ｐｆを用いることによって、変換後の曲線のフラクタル次元を所望の値に制御することができる。フラクタル次元とは、前述のように、曲線の複雑さを表わす指標である。すなわち、フラクタル次元が高いと曲線に微妙な凹凸が多く、フラクタル次元が低いと微妙な凹凸が少ない。２つの制御パラメータＰｓ，Ｐｆがフラクタル次元を制御するパラメータとなることは、以下の考察から理解できる。第１の制御パラメータＰｓは、図２６（Ａ）に示すように、直進の境界条件Ｓを選択する確率である。従って、第１の制御パラメータＰｓは直進性を示すことになり、直進性の制御パラメータＰｓが大きいとフラクタル次元が低くなり、逆に、直進性の制御パラメータＰｓが小さいとフラクタル次元が高くなる。第２の制御パラメータＰｆは、図２６（Ｂ）に示すように、複数の候補符号語列から、より複雑な符号語列を選択する確率である。従って、第２のパラメータＰｆは複雑性を示すことになり、複雑性の制御パラメータＰｆが大きいとフラクタル次元が高くなり、逆に、複雑性の制御パラメータＰｆが小さいとフラクタル次元が低くなる。
【０１１３】
図２７は、直進性の制御パラメータＰｓを１に設定し、複雑性の制御パラメータＰｆを０に設定した場合の処理結果を示す説明図である。Ｐｓ＝１では境界条件として常に直進Ｓが選択される。また、Ｐｆ＝０では２つの候補符号語列の内の短い方が常に選択される。このような場合には、図２１〜図２３に示されるコードブックを参照すれば理解できるように、解像度を増大しても元の曲線のままであり（図２７（Ａ））、また、曲線を拡大すると元の形状のまま単純に２倍に拡大される（図２７（Ｂ））。
【０１１４】
このように、直進性の制御パラメータＰｓと複雑性の制御パラメータＰｆとの値を調整することによって、曲線の複雑さ、すなわちフラクタル次元を制御することができる。なお、直進性のパラメータＰｓで規定される３つの境界条件Ｒ，Ｓ，Ｌの選択確率（図２６（Ａ））は、本発明における第１の選択確率に相当する。また、複雑性のパラメータＰｆで規定される選択確率（図２６（Ｂ））は、本発明における第２の選択確率に相当する。但し、第１の選択確率としては、直進性を示す１つの制御パラメータＰｓの代わりに、３つの境界条件Ｒ，Ｓ，Ｌのそれぞれの選択確率を設定するようにすることも可能である。同様に、第２の選択確率としては、３つ以上の符号語列から１つを選択する際の選択確率をそれぞれ設定することも可能である。但し、直進性を示す１つの制御パラメータＰｓと複雑性を示す１つの制御パラメータＰｆとを用いれば、フラクタル次元変換後のデジタル曲線のフラクタル次元を、２つの制御パラメータＰｓ，Ｐｆで容易に制御することができるという利点がある。
【０１１５】
こうして処理対象の符号語が符号語列に変換されると、図２５のステップＳ４５において、選択された置換符号語列を拡大符号語列に追加する。ここで、「拡大符号語列」とは、フラクタル次元変換の結果として得られるチェーン符号を意味しており、本発明における変換チェーン符号に相当する。拡大符号語列は、符号メモリ８４に格納される。
【０１１６】
ステップＳ４６では、元の符号語列に含まれている各符号語についての変換処理がすべて終了したか否かが判断される。終了していなければ、ステップＳ４１に戻り、上述したステップＳ４１〜Ｓ４５の処理を繰返す。この結果、元のチェーン符号で表わされるデジタル曲線のフラクタル次元を増大した高フラクタル次元チェーン符号が生成される。
【０１１７】
こうして、図２５に示すステップＳ３４の処理が終了すると、図１４のステップＳ３５において、指定された変換回数Ｎの処理が終了したか否かが判断される。すなわち、ステップＳ３４の処理は、指定された変換回数Ｎだけ繰り返し実行する。この結果、元のデジタル曲線のフラクタル次元を増大した高フラクタル次元デジタル曲線を表わすような変換チェーン符号が得られる。例えば、フラクタル次元の増大によって解像度を増大させた場合には、元のデジタル曲線の解像度を２のＮ乗倍した解像度を有する高解像度デジタル曲線を表わすような変換チェーン符号が得られる。
【０１１８】
ステップＳ３６では、変換チェーン符号を復号化することによって、高フラクタル次元デジタル曲線を表わすデジタル曲線データを生成する。図２８は、チェーン符号の復号化の例を示す説明図である。ここでは、説明の便宜上、図１７に示したデジタル曲線のチェーン符号［ｓｌｒｌｒｓｒ］を復号化することを考える。図２８（Ａ）の左端から１番目の欄の点番号Ｐ０〜Ｐ６と、２番目の欄の符号語は、図１７に示すものと同じである。チェーン符号の復号化には、もちろん、図１６（Ｂ）に示したもとの同じチェーン符号化／復号化規則が使用される（図２８（Ｂ））。ところで、図１７（Ａ）に示したように、チェーン符号化を行なう際には、始点Ｐ０の座標を設定するとともに、始点Ｐ０に至るダミー初期ベクトルＤＩＶを初期条件として設定していた。従って、復号化においても、始点Ｐ０の座標と、始点Ｐ０に至るダミー初期ベクトルＤＩＶ’を初期条件として設定する（図２８（Ｃ））。
【０１１９】
この初期条件から、図２８（Ｂ）に示すチェーン符号化／復号化規則に従ってチェーン符号を復号化する。この結果、図２８（Ａ）に示すように、各符号語が入力ベクトルと出力ベクトルに変換される。入力ベクトルと出力ベクトルは単位ベクトルなので、これらのベクトルに従って始点Ｐ０の座標（１，５）から各点Ｐ１〜Ｐ６の座標を順次求めることができる。例えば、最初の符号語ｓからは、始点（１，５）への入力ベクトル（ダミー初期ベクトルＤＩＶ’）と同じ方向（方向値０）に単位長さだけ直進する出力ベクトルが得られるので、座標（２，５）が２番目の点Ｐ１の座標値として出力される（図２８（Ａ）の右端の欄）。２番目の点Ｐ１への入力ベクトルは、始点Ｐ０の出力ベクトルと同じである。従って、点Ｐ１から点Ｐ２に向かう出力ベクトルの向きは、点Ｐ１に関する符号語ｌで決定できる。こうして、符号語列に従って、図２８（Ｃ）に示すように、各点の座標値を順次決定していくことができる。
【０１２０】
なお、図２８（Ｃ）の例では、連続する３つの点Ｐ４〜Ｐ６が一直線上に並んでいる。このような場合には、その両端の点Ｐ４，Ｐ６のみをデジタル曲線を構成する輪郭点として出力するようにしてもよい。
【０１２１】
ところで、元のデジタル曲線が閉曲線である場合に、復号化された高フラクタル次元デジタル曲線が閉曲線にならない可能性もある。このような場合には、復号化された高フラクタル次元デジタル曲線の始点と終点を連結するように、曲線を修正すればよい。
【０１２２】
あるいは、チェーン符号のフラクタル次元変換を以下のように工夫すれば、復号化された高フラクタル次元デジタル曲線の始点と終点を一致させることもできる。図２９は、このようなフラクタル次元変換の他の実施例を示す説明図であり、前述した図２４に対応するものである。図２９は、フラクタル次元変換によって解像度を増大した例である。
【０１２３】
図２９（Ａ）に示す元の符号語列は図２４（Ａ）に示すものと同じである。図２９（Ｂ）に示す変換後の符号語列では、元の符号語列の最初の符号語ｓは無変換でそのままに保たれており、また、変換後の符号語列の後端には、直進を表わす符号語ｓが付加されている。なお、無変換に保たれる最初の符号語は直進を表わす符号語ｓでなくてもよく、任意であるが、最後に付加される符号語は直進を表わす符号語ｓが使用される。図２９（Ｂ）に示すように、このようにして変換された符号語列で表わされるベクトル列は、必ず元の点Ｐ０〜Ｐ４を通過する。従って、復号化の際に、変換前と同じダミー初期ベクトルＤＩＶ’と始点Ｐ０の座標とを設定すれば、デジタル曲線の始点Ｐ０と終点Ｐ４が元の位置に保たれる。元のデジタル曲線が閉曲線の場合には、変換された高フラクタル次元デジタル曲線も閉曲線となる。
【０１２４】
図３０は、図２９のフラクタル次元変換方法に従ってデジタル曲線を拡大した場合の例を示す説明図である。図３０（Ａ）に示す元のデジタル曲線を表わすチェーン符号は［ｓｒｒｒ］である。これを１回拡大すると、図３０（Ｂ）に示すデジタル曲線を表わすチェーン符号が得られる。この時、先頭の符号語ｓは無変換であり、また、符号列の後端には直進を表わす符号語ｓが付加されている。図３０（Ｂ）の曲線を再度拡大すると、図３０（Ｃ）に示すデジタル曲線を表わすチェーン符号が得られる。この際にも、先頭の符号語が無変換に保たれており、また、符号列の後端には直進を表わす符号語ｓが付加される。このように、１回の拡大処理（フラクタル次元変換処理）のたびに、符号列の先頭の符号語を無変換に保つとともに、符号列の後端に直進を表わす符号語ｓを付加することによって、閉曲線のフラクタル次元を変換した後にも閉曲線を保つことができる。
【０１２５】
なお、図３０（Ｃ）のベクトル列には、同じ線分上を逆向きのベクトルが通っている部分ＦＰ１，ＦＰ２（「重複ベクトル部」と呼ぶ）が存在する。チェーン符号の復号化の際には、このような重複ベクトル部ＦＰ１，ＦＰ２を削除（省略）するとともに、各重複ベクトル部ＦＰ１，ＦＰ２に付属している閉曲線（「局所閉曲線」と呼ぶ）を削除するようにしてもよい。すなわち、第１の重複ベクトル部ＦＰ１の削除に伴って、図３０（Ｄ）に示す第１の局所閉曲線ＬＣ１を削除し、第２の重複ベクトル部ＦＰ２の削除に伴って、第２の局所閉曲線ＬＣ２を削除する。こうして得られる曲線には、過度に入り組んだ曲線部分が無くなるので、好ましい場合がある。もちろん、図３０（Ｄ）のように重複ベクトル部とその局所閉曲線とを削除せずに、図３０（Ｃ）に示すデジタル曲線を使用することも可能である。また、局所閉曲線を残し、重複ベクトル部のみ削除してもよい。
【０１２６】
図１４のステップＳ３７では、こうして得られた処理済みのデジタル曲線が、処理済デジタル曲線記憶部９２（図１３）から出力される。デジタル曲線の出力の形態としては、カラーＣＲＴ７０による表示や、フルカラープリンタ７２によるプリントアウト等がある。
【０１２７】
図３１は、実施例でフラクタル次元変換を行なって得られた各種の図形のフラクタル次元を測定した結果を示している。なお、フラクタル次元の測定は、前述の図４で説明したボックスカウンティング法を用いた。また、各図形のフラクタル次元変換としては、複雑性の制御パラメータＰｆの値を０．９一定に設定するとともに、変換回数Ｎをそれぞれ３回に固定し、直進性の制御パラメータＰｓを変えた８種類の変換を各図形について行なった。図３１（Ａ）の左端の欄は、直進性のパラメータＰｓの設定値を示し、左端から２番目の欄は水平直線についてフラクタル次元変換を行なった場合のフラクタル次元を示している。また、左端から３番目の欄は正方形、右端の欄は斜め４５°の直線ついてそれぞれフラクタル次元変換を行なった場合のフラクタル次元を示している。図３１（Ｂ）は、図３１（Ａ）の結果を示すグラフである。
【０１２８】
図３１（Ｂ）から容易に解るように、直進性の制御パラメータＰｓと、フラクタル次元との間には、ほぼ直線的な強い負の相関があることが解る。複雑性の制御パラメータＰｆは、逆に、フラクタル次元との間にほぼ直線的な強い正の相関がある。従って、２つの制御パラメータＰｓ，Ｐｆによって、フラクタル次元を制御できることが解る。また、こうして得られるフラクタル次元の値としては１．０〜１．８程度のかなり高い値が得られる。平面上の２次元曲線におけるフラクタル次元の理論的な限界値は２．０である。従って、上記のフラクタル次元の測定値は、理論的な限界値に近く、かなり高いことがわかる。すなわち、この実施例では、デジタル曲線のフラクタル次元をかなり高い値に設定できるという利点がある。
【０１２９】
ところで、フラクタル次元変換の変換回数Ｎ（すなわち変換処理の再帰的な繰り返し回数）と２つの制御パラメータＰｓ，Ｐｆの値の組み合わせ毎に、典型的な曲線に関してフラクタル次元を測定しておくことができる。この測定データに基づき、変換回数Ｎと２つの制御パラメータＰｓ，Ｐｆとに従って、変換後の曲線のフラクタル次元がどの程度になるかを予測することができる。例えば、変換回数を決めれば、図３１（Ｂ）に示すような関係（２つの制御パラメータＰｓ，Ｐｆとフラクタル次元との関係）から、所望のフラクタル次元を達成するような２つの制御パラメータＰｓ，Ｐｆの値を決定することができる。
【０１３０】
フラクタル次元を測定する対象となる典型的な曲線（基本曲線）としては、方向が異なる２種類の直線を少なくとも採用すればよい。例えば、水平直線と斜め４５°の直線の２種類を典型的な曲線として採用することができる。こうすれば、任意のデジタル曲線を、これらの典型的な曲線の組み合わせと考えて、その変換後のフラクタル次元を予測することができる。
【０１３１】
図３２は、フラクタル次元の予測結果の例を示す説明図である。元のデジタル曲線としては、斜め４５°に傾けた正方形を用いている。図３２（Ｂ１）〜（Ｂ３）に示すデジタル曲線は、それぞれ直進性の制御パラメータＰｓを０．８８５，０．６３５，０．３７５に設定した場合に得られる図形である。図３２（Ａ）の下部には、フラクタル次元Ｆｄｉｍ  の予想値と実測値とが示されている。これから解るように、この実施例で得られたフラクタル次元Ｆｄｉｍ  の予想値と実測値は極めてよく一致する。
【０１３２】
以上のように、この実施例においては、デジタル曲線をｒｌｓ符号化した後に、その各符号語をこれとほぼ等価な符号語列に変換することによって、デジタル曲線のフラクタル次元を高める。従って、デジタル曲線の解像度増大やデジタル曲線の拡大を行なう際に、自然なゆらぎを与えることができる。特に、各符号語を符号語列に変換する際に、予め準備されたコードブックを利用するようにしたので、複雑な演算を行なうことなく高速に変換を行なうことができるという利点がある。また、２つの制御パラメータＰｓ，Ｐｆを調整することによって、所望のフラクタル次元を有するデジタル曲線を作成することができるという利点もある。
【０１３３】
Ｃ−３．曲線のチェーン符号化の詳細手順：
図３３は、図１４のステップＳ３１におけるデジタル曲線のチェーン符号化の詳細手順を示すフローチャートである。なお、以下の説明では、デジタル曲線を構成する点列の点数をｎとし、点列の個々の点を「角点」と呼ぶ。図３３で使用されている記号は、それぞれ以下の意味を有している。
【０１３４】
ｋｐ［ｉ］（ｉ＝０〜ｎ−１）：デジタル曲線を構成するｎ個の角点の座標。
ｐ＿ｎｏｗ：現在の点の座標。
ｐ＿ｎｅｘｔ  ：現在の点ｐ＿ｎｏｗから単位長だけ進んだ次の点の座標。
ｐｒｅｖ＿ｄｉｒ  ：現在の点に入る入力ベクトルの向きを示す方向値。
ｎｅｘｔ＿ｄｉｒ  ：現在の点から出る出力ベクトルの向きを示す方向値。
【０１３５】
なお、辺の向きと方向値ｐｒｅｖ＿ｄｉｒ，ｎｅｘｔ＿ｄｉｒとの関係は、前述した図１６（Ａ）に示されているものを使用する。
【０１３６】
ステップＳ５１では、初期の符号語として直進を示す符号語ｓに設定し、また、角点を示す添字ｉを１に設定する。ステップＳ５２では、始点座標ｋｐ［０］  と次の点の座標ｋｐ［１］  から、方向値ｐｒｅｖ＿ｄｉｒを算出する。これは、座標の差分（ｋｐ［１］−ｋｐ［０］  ）＝（△ｘ，△ｙ）のｘ成分△ｘとｙ成分△ｙの値から判断できる。デジタル曲線では、各線分がｘ軸またはｙ軸に平行なので、△ｘと△ｙの一方は０である。従って、座標値の差分△ｘ，△ｙの中で０でない方の値の正負の符号によって、始点から次の点に向かう方向の方向値ｐｒｅｖ＿ｄｉｒが決定される。例えば、△ｘ＝０，△０＜ｙの場合にはｐｒｅｖ＿ｄｉｒ＝１  、△ｘ＝０，０＞△ｙの場合にはｐｒｅｖ＿ｄｉｒ＝３  となる。
【０１３７】
ステップＳ５３では、始点座標ｋｐ［０］  から方向値ｐｒｅｖ＿ｄｉｒの方向に単位長さだけ進んだ点の座標を現在の点座標ｐ＿ｎｏｗ  とする。ステップＳ５４では、現在の点の座標ｐ＿ｎｏｗ  が、２番目の角点の座標ｋｐ［１］  と等しいか否かを判断し、等しい場合には角点を示す添字ｉを２に設定しておく。これは、以下の示す処理では、現在の点ｐ＿ｎｏｗ  と次の角点ｋｐ［ｉ］  とを利用して演算を行なうからである。
【０１３８】
ステップＳ５６では、現在の点ｐ＿ｎｏｗ  が、終点ｋｐ［ｎ−１］  と一致しているか否かを判断し、一致していれば処理を終了する。なお、処理対象の元のデジタル曲線が閉曲線の場合には、終点と始点が同じなので、ステップＳ５６において現在の点ｐ＿ｎｏｗ  が始点ｋｐ［０］  と一致しているか否かを判断する。
【０１３９】
ステップＳ５６において、現在の点が終点に一致していなければ、ステップＳ５７において、現在の点ｐ＿ｎｏｗ  と次の角点ｋｐ［ｉ］  とに基づいて、現在の点ｐ＿ｎｏｗ  から次の角点ｋｐ［ｉ］  の方向に単位長だけ進んだ次の点ｐ＿ｎｅｘｔを求める。図３４は、現在の点ｐ＿ｎｏｗ  から次の点ｐ＿ｎｅｘｔを求める様子を示す説明図である。角点ｋｐ［ｉ］  はデジタル曲線の輪郭点なので、角点ｋｐ［ｉ］  同士を結ぶ線分は水平方向または垂直方向を向いている。現在の点ｐ＿ｎｏｗ  と次の点ｐ＿ｎｅｘｔは、２つの隣接する角点ｋｐ［ｉ−１］，ｋｐ［ｉ］を結ぶ線分上に取られるので、これらは水平方向または垂直方向に並んでいる。
【０１４０】
ステップＳ５８では、現在の点ｐ＿ｎｏｗ  から次の点ｐ＿ｎｅｘｔに向かう出力ベクトルの向き（すなわち方向値）ｎｅｘｔ＿ｄｉｒを算出する。この方向値ｎｅｘｔ＿ｄｉｒは、次の点の座標値ｐ＿ｎｅｘｔと現在の点の座標値ｐ＿ｎｏｗ  との差分から、前述したステップＳ５２の処理と同様にして決定される。ステップＳ５９では、現在の点ｐ＿ｎｏｗ  に向かう入力ベクトルの方向値ｐｒｅｖ＿ｄｉｒと、現在の点ｐ＿ｎｏｗ  から出る出力ベクトルの方向値ｎｅｘｔ＿ｄｉｒから、図１６（Ｂ）に示す規則に従ってチェーン符号を求め、これを符号メモリ８４に格納する。
【０１４１】
ステップＳ６０では、次の点ｐ＿ｎｅｘｔが次の角点ｋｐ［ｉ］  と一致しているか否かを調べる。一致していれば、ステップＳ６１で角点の順番を示す添字ｉを１つ増加する。ステップＳ６２では、現在の点ｐ＿ｎｏｗ  の座標値を次の点ｐ＿ｎｅｘｔの座標値で置換するとともに、現在の点に向かう入力ベクトルの方向値ｐｒｅｖ＿ｄｉｒを現在の点から出る出力ベクトルの方向値ｎｅｘｔ＿ｄｉｒで置き換える。これによって、処理対象の点が１つ進められる。この後、ステップＳ６２からステップＳ５６に戻り、ステップＳ５６〜Ｓ６２の処理を最後の角点ｋｐ［ｎ−１］  まで繰返す。この結果、角点ｋｐ［ｉ］  で構成されていたデジタル曲線が、チェーン符号に符号化される。
【０１４２】
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能である。
【図面の簡単な説明】
【図１】この発明の実施例を適用する画像処理装置の構成を示すブロック図。
【図２】演算部４０によって実現される種々の機能を示す機能ブロック図。
【図３】実施例における処理の全体手順を示すフローチャート。
【図４】フラクタル次元の測定方法を示す説明図。
【図５】ステップＳ３の処理内容を示す説明図。
【図６】ステップＳ４における疎視化処理の内容を示す説明図。
【図７】中点変位法によるフラクタル化処理の概要を示す説明図。
【図８】ステップＳ６における埋込処理の内容を示す説明図。
【図９】２つの境界線部分ＴＧ１，ＴＧ２においてフラクタル次元を変えて処理を行なって得られた境界線ＲＢ’を示す説明図。
【図１０】グラデーション画像の作成処理の手順を示すフローチャート。
【図１１】グラデーション画像の作成処理の内容を示す説明図。
【図１２】画像合成処理の手順を示すフローチャート。
【図１３】フラクタル化処理部１０４によって実現される種々の機能を示す機能ブロック図。
【図１４】チェーン符号を用いたフラクタル化処理の全体手順を示すフローチャート。
【図１５】チェーン符号の各符号語ｒ，ｓ，ｌの意味を示す説明図。
【図１６】デジタル曲線を構成する単位ベクトルの向きと、チェーン符号の符号語との関係を示す説明図。
【図１７】チェーン符号化の例を示す説明図。
【図１８】フラクタル次元変換によってに解像度を増大させた時の座標格子の格子点の増加と、チェーン符号に対応する入力ベクトルおよび出力ベクトルの変化とを示す説明図。
【図１９】フラクタル次元変換によって曲線を拡大した時の座標格子の格子点を示す説明図。
【図２０】セルＣＬ内のベクトル列の通り方の例を示す説明図。
【図２１】フラクタル次元変換の変換規則を記述したコードブックの登録内容を示す説明図。
【図２２】フラクタル次元変換の変換規則を記述したコードブックの登録内容を示す説明図。
【図２３】フラクタル次元変換の変換規則を記述したコードブックの登録内容を示す説明図。
【図２４】コードブックを用いて各符号語を解像度変換した例を示す説明図。
【図２５】図１４のステップＳ３４におけるチェーン符号のフラクタル次元変換の詳細手順を示すフローチャート。
【図２６】境界条件の選択方法および複数の符号語列から１つを選択する方法を示す説明図。
【図２７】直進性のパラメータＰｓを１に設定し、複雑性のパラメータＰｆを０に設定した場合の処理結果を示す説明図。
【図２８】チェーン符号の復号化の例を示す説明図。
【図２９】符号語の解像度変換の他の実施例を示す説明図。
【図３０】図２９の方法に従ってデジタル曲線を拡大した場合の例を示す説明図。
【図３１】実施例で処理された各種の図形のフラクタル次元を測定した結果を示す説明図。
【図３２】フラクタル次元の予測結果の例を示す説明図。
【図３３】図１４のステップＳ３１におけるデジタル曲線のチェーン符号化の詳細手順を示すフローチャート。
【図３４】現在の点ｐ＿ｎｏｗ  から次の点ｐ＿ｎｅｘｔを求める様子を示す説明図。
【符号の説明】
４０…演算部
４２…操作部
４４…画像出力部
５０…ＣＰＵ
５２…ＲＯＭ
５４…ＲＡＭ
５６…ハードディスク装置
６０…キーボード
６２…マウス
６４…ディジタイザ
７０…カラーＣＲＴ
７２…フルカラープリンタ
８０…デジタル曲線記憶部
８２…チェーン符号化部
８４…符号メモリ
８６…チェーン符号拡大部
８８…コードブック記憶部
９０…復号化部
９２…処理済デジタル曲線記憶部
１００…曲線抽出部
１０２…曲線疎視化部
１０４…フラクタル化処理部
１０６…曲線埋込部
【図１】
0003597637.tif 000006
【図２】
0003597637.tif 000007
【図３】
0003597637.tif 000008
【図４】
0003597637.tif 000009
【図５】
0003597637.tif 000010
【図６】
0003597637.tif 000011
【図７】
0003597637.tif 000012
【図８】
0003597637.tif 000013
【図９】
0003597637.tif 000014
【図１０】
0003597637.tif 000015
【図１１】
0003597637.tif 000016
【図１２】
0003597637.tif 000017
【図１３】
0003597637.tif 000018
【図１４】
0003597637.tif 000019
【図１５】
0003597637.tif 000020
【図１６】
0003597637.tif 000021
【図１７】
0003597637.tif 000022
【図１８】
0003597637.tif 000023
【図１９】
0003597637.tif 000024
【図２０】
0003597637.tif 000025
【図２１】
0003597637.tif 000026
【図２２】
0003597637.tif 000027
【図２３】
0003597637.tif 000028
【図２４】
0003597637.tif 000029
【図２５】
0003597637.tif 000030
【図２６】
0003597637.tif 000031
【図２７】
0003597637.tif 000032
【図２８】
0003597637.tif 000033
【図２９】
0003597637.tif 000034
【図３０】
0003597637.tif 000035
【図３１】
0003597637.tif 000036
【図３２】
0003597637.tif 000037
【図３３】
0003597637.tif 000038
【図３４】
0003597637.tif 000039