JP4721112B2 - 分散評価装置、配置決定装置及びそのプログラム - Google Patents

分散評価装置、配置決定装置及びそのプログラム Download PDF

Info

Publication number
JP4721112B2
JP4721112B2 JP2006054910A JP2006054910A JP4721112B2 JP 4721112 B2 JP4721112 B2 JP 4721112B2 JP 2006054910 A JP2006054910 A JP 2006054910A JP 2006054910 A JP2006054910 A JP 2006054910A JP 4721112 B2 JP4721112 B2 JP 4721112B2
Authority
JP
Japan
Prior art keywords
arrangement
evaluation
function
space
evaluation value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006054910A
Other languages
English (en)
Other versions
JP2006295899A (ja
Inventor
敢也 石坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2006054910A priority Critical patent/JP4721112B2/ja
Publication of JP2006295899A publication Critical patent/JP2006295899A/ja
Application granted granted Critical
Publication of JP4721112B2 publication Critical patent/JP4721112B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Facsimile Image Signal Circuits (AREA)

Description

本発明は、既定の空間に配置された配置物の分散性を評価する分散評価装置、及び分散性の評価を用いて配置物の配置を決定する配置決定装置に関する。
例えば、特許文献1は、エネルギー関数としてガウス関数を用いる形態を開示する。
また、特許文献2は、エネルギー関数として人間の視覚特性を近似した関数を用いる形態を開示する。
また、特許文献3は、エネルギー関数としてユークリッド距離関数を用いる形態を開示する。
また、特許文献4は、物理学のモデルに従った斥力緩和法による点分散の方法を開示する。
特開2000−059626号公報 特開2002−337401号公報 特開2004−272195号公報 特開2003−066208号公報 R.Ulichney、"The void−and−cluster method for dither array generation" in Hum.Vision, Visual Process., Digital Disp.IV,Proc.SPIE、1913,332−343(1993).
本発明は、所定の空間に配置された配置物の分散性を適切に評価することができる分散評価装置を提供することを目的とする。
[分散評価装置]
上記目的を達成するために、本発明にかかる分散評価装置は、複数の配置物の分散性を評価する分散評価装置であって、1次元周期空間に配置された複数の点を評価する場合にこれら複数の点が略均等に配置されたときの評価値が最小となる評価関数、もしくは、2次元周期空間に配置された複数の点を評価する場合にこれら複数の点が略均等に配置されたときの評価値が局所最小となる評価関数を用いて、任意の空間内に配置された複数の配置物について、評価値を算出する評価値算出手段を有する。
好適には、前記評価関数は、2点間の分散性を評価する部分評価関数を含み、この部分評価関数は、2つの配置物の間の距離が限界値を超える場合に、評価値が0となり、かつ、この限界値以内の距離については単調減少な凸関数であり、この部分評価関数の導関数は、2つの配置物の間の距離の平方根に対して、凹関数となる。
好適には、前記評価関数は、2点間の分散性を評価する部分評価関数を含み、この部分評価関数は、2つの配置物の間の距離に対して、2階偏微分可能であり、かつ、この部分評価関数の偏微分係数は、連続である。
好適には、前記評価関数は、2点間の分散性を評価する部分評価関数frを含み、この部分評価関数frは、2つの配置物の間の距離が限界値rを超える場合に、評価値が0となり、かつ、この限界値r以内の距離については単調減少な凸関数であり、この部分評価関数の2階導関数fr''は、(fr''(√x)/√x)が凸関数であるという条件を満たす。
好適には、前記部分評価関数は、図16に示す条件(1)及び条件(2)を満たす。
[配置決定装置]
また、本発明にかかる配置決定装置は、2点間の分散性を評価する部分評価関数に基づいて、所定の配置空間内に配置された複数の配置物に関する評価値を算出する評価値算出手段と、前記複数の配置物のいずれかの仮配置を更新する配置更新手段と、前記配置更新手段により仮配置が更新された複数の配置物について、前記評価値算出手段に評価値を算出させて、算出された評価値に基づいて、適用すべき配置を決定する配置決定手段とを有し、前記部分評価関数は、複数の配置物の分散性を評価する評価関数の一部であり、この評価関数は、1次元周期空間に配置された複数の点を評価する場合にこれら複数の点が略均等に配置されたときの評価値が最小となる関数であるか、2次元周期空間に配置された複数の点を評価する場合にこれら複数の点が略均等に配置されたときの評価値が局所最小となる関数である
また、本発明にかかる配置決定装置は、2点間の分散性を評価する部分評価関数に基づいて、所定の配置空間内に配置された複数の配置物それぞれを注目配置物として、それぞれの注目配置物と、他の配置物との間の評価値を算出する評価値算出手段と、前記評価値算出手段によりそれぞれの注目配置物について算出された評価値に基づいて、前記配置空間から削除すべき配置物の配置またはその周囲の配置物を決定する配置決定手段とを有し、前記部分評価関数は、複数の配置物の分散性を評価する評価関数の一部であり、この評価関数は、1次元周期空間に配置された複数の点を評価する場合にこれら複数の点が略均等に配置されたときの評価値が最小となる関数であるか、2次元周期空間に配置された複数の点を評価する場合にこれら複数の点が略均等に配置されたときの評価値が局所最小となる関数である。
また、本発明にかかる配置決定装置は、2点間の分散性を評価する部分評価関数に基づいて、所定の配置空間内に配置された複数の配置物と、新たに追加される配置物の追加候補位置との間の評価値を算出する評価値算出手段と、前記評価値算出手段によりそれぞれの追加候補位置について算出された評価値に基づいて、前記配置空間に配置物を追加すべき配置またはその周囲の配置物の配置を決定する配置決定手段とを有し、前記部分評価関数は、複数の配置物の分散性を評価する評価関数の一部であり、この評価関数は、1次元周期空間に配置された複数の点を評価する場合にこれら複数の点が略均等に配置されたときの評価値が最小となる関数であるか、2次元周期空間に配置された複数の点を評価する場合にこれら複数の点が略均等に配置されたときの評価値が局所最小となる関数である。
好適には、前記評価値算出手段は、前記配置空間の補空間に配置された仮想配置物と、この配置空間に配置された配置物とを対象として、前記評価値を算出し、前記配置決定手段は、前記仮想配置物及び前記配置物を対象として算出された評価値に基づいて、配置を決定する。
好適には、前記補空間は、この補空間及び前記配置空間からなる空間全体がこの配置空間よりも高い対称性を有するように構成されている。
好適には、前記評価値算出手段は、前記配置空間の補空間に配置された仮想配置物と、この配置空間に配置された配置物とを対象として、前記評価値を算出し、前記配置更新手段は、前記配置物の仮配置を前記配置空間内で変更し、前記仮想配置物の仮配置を前記補空間内で変更し、前記配置決定手段は、前記配置更新手段により仮配置が変更された前記配置物及び前記仮想配置物について、前記評価値算出手段に評価値を算出させて、算出された評価値に基づいて、適用すべき配置を決定する。
好適には、前記部分評価関数は、前記配置空間の境界近傍において、他の領域とは異なる評価値が得られるように補正されている。
[分散評価方法]
また、本発明にかかる分散評価方法は、複数の配置物の分散を評価する分散評価方法であって、1次元周期空間に配置された複数の点を評価する場合にこれら複数の点が略均等に配置されたときの評価値が最小となる評価関数、もしくは2次元周期空間に配置された複数の点を評価する場合にこれら複数の点が略均等に配置されたときの評価値が局所最小となる評価関数を用いて、任意の空間内に配置された配置物の分散性を評価する。
[配置決定方法]
また、本発明にかかる配置決定方法は、所定の配置空間に配置された複数の配置物について、いずれかの配置物の仮配置を変更し、1次元周期空間に配置された複数の点を評価する場合にこれら複数の点が略均等に配置されたときの評価値が最小となる評価関数、もしくは2次元周期空間に配置された複数の点を評価する場合にこれら複数の点が略均等に配置されたときの評価値が局所最小となる評価関数の少なくとも一部を用いて、少なくとも1つの配置物の仮配置が更新された配置空間について、評価値を算出し、算出された評価値に基づいて、適用すべき配置を決定する。
[プログラム]
また、本発明にかかるプログラムは、複数の配置物の分散を評価するコンピュータにおいて、1次元周期空間に配置された複数の点を評価する場合にこれら複数の点が略均等に配置されたときの評価値が最小となる評価関数、もしくは2次元周期空間に配置された複数の点を評価する場合にこれら複数の点が略均等に配置されたときの評価値が局所最小となる評価関数の少なくとも一部を用いて、任意の空間内に配置された配置物の分散性を評価する、または配置物の配置を決定するステップを前記コンピュータに実行させる。
本発明の分散評価装置または配置決定装置によれば、所定の空間に配置された配置物の分散性を適切に評価する、または配置物の配置を適切に決定することができる。
[背景]
まず、本発明の理解を助けるために、その背景及び概略を説明する。
n次元(n≧1)の有界な空間内にm個の点を分散させる、という問題は、単に数学的な問題に留まらず、各種の分野で必要とされている。
一例を挙げると、例えばデジタル画像処理におけるデジタルスクリーニング技術(2値化技術)では、白と黒の2値画像によって擬似的に中間調を表現したり、複数の2値画像を重ねることで例えばCMYKなどの擬似カラー画像を作成している。この2値画像が小さな黒点を分散させることによって作成されている場合には、その画質は、黒点の分散性の良さに左右され、できるだけ分散性の良い点分散画像を得る必要がある。ここで、分散性の良いとは、対象が均一で偏りがないことを意味する。
また、別の例として、例えば、ある都市内に複数の店舗を配置するような場合、どの地域からもいずれかの店舗に近くなるように、効率的な店舗配置が求められる場合がある。
さらに別の例として、例えば、単位立方体内に電子あるいは分子を均等に分散させた状態を用意し、各種の物理実験のシミュレートを行うような場合がある。
あるいはこれらの応用として、既に存在している点分散から複数の点を取り除くか、逆に複数の点を追加するかして、分散性の良い点分散を得るという問題もある。
上述のデジタルスクリーニング技術では、閾値マトリックスによる閾値処理を行って2値画像を得る場合があるが、この閾値マトリックスは、通常、0から255までの閾値がマトリックス全体に渡って均一に分散されたものとなっている。このような閾値を設定する際に、例えば、閾値0の配置を決めた後は、閾値1の配置を設定する場合には、既に決められた閾値0の配置は固定のままで、閾値0及び1の全点の分散性が高くなるように閾値1の配置を設定する必要がある。
あるいは閾値0から閾値127までの配置が決まっている場合、閾値127は、これらの決められた配置から閾値127の部分を取り除いた全点の分散性が高いように設定する必要がある。
また、別の例として、上述の店舗配置の例では、都市内に複数の店舗が既に配置されている場合に、更に新しく複数の店舗を配置したり、あるいは既に配置されている複数の店舗のうちの、全てではないいくつかの店舗に特別なサービスを導入し、いずれも地域的な効率性を求められる場合がある。
このように有界な空間内に有限個の点を均等に配置する問題(あるいは各点の間の最小距離を最大化する問題)は、各所で必要とされている。しかしながら、この均等点配置の問題は数学的に解決されていない要素が多く、任意の条件のもとで最適な均等点配置を得ることは一般には数学上の未解決の問題となっている。数学的な歴史や背景、近年得られた新しい結果に関しては、例えば、「幾何学における未解決問題集」(秋山仁訳、シュプリンガーフェアラーク)に記載されている。
しかしながら、上記したような実際の応用を考えた場合、数学的な厳密さを欠いたとしても、結果に不都合がなければよい場合の方が多い。そのため、有界な空間に有限個の点を分散させるための方法として、これまで各種の方法が提案されている。
一例を上げると、前述したデジタル画像処理におけるデジタルハーフトーニング技術では、非特許文献1に述べられているような、注目した点xから一定の範囲以内にある全ての他の点yとの間でexp(|x−y|/(2σ))なるエネルギーを測定し、この値をエネルギーと見てエネルギーをより小さくすることでより良い点分散を得る方法が開示されている。
この方法を使った場合、目視または周波数解析を行うことによってパラメータσの値を調整してからエネルギー降下処理を行うことによって、点分散をより好ましい状態に変えていくことができる。
しかしながら、上述の方法の場合、関数exp(|x−y|/2σ)はパラメータを含んでおり、空間が変わる毎に、実際にσを各種変動させて点分散が良い状態になることを確認して決めなければならない。また、この関数自体が凸でも凹でもなく、幾何学的な保証もない。
さらには、点を収束させるアルゴリズムによっては、局所的な極小解に陥って止まってしまう場合もある。
このように、非特許文献1に開示された方法の場合、使用するのに複数の問題があり、必ずしも最適な方法ではない。
なお、デジタルハーフトーニング技術においては、上述の非特許文献1に開示された関数による方法の他、点分散の評価関数を利用した処理に付随して、多くの関数が提示されている。
例えば、特許文献1ではエネルギー関数として物理学で使用される斥力ポテンシャルであるガウス関数が開示されている。
また、特許文献2では、エネルギー関数として人間の視覚特性を近似した関数が開示されている。
また、特許文献3では、エネルギー関数としてユークリッド距離関数が使用されている。
また、特許文献4では、関数のみならず、物理学のモデルに従った斥力緩和法による点分散の方法が詳細に述べられている。
これら従来の技術における関数は、いずれも何らかのモデルを利用しての方法である。
しかしながら、これらのモデルにおいても、いずれも幾何学的な考察が行われていないため、場合によってはパラメータ設定を行うなどして使用する必要があり、上述した関数を使用した場合と同様の問題が起こる場合があった。
そこで、本実施形態における配置決定装置2は、n次元(n≧1)の有界な空間E(n)内において分散したm個の点に対して、点分散の良さをエネルギー関数によって評価し、この評価結果を用いて、より分散性の良い配置を決定する。
より具体的には、このエネルギー関数は、有界な空間をXとしたときに、この空間Xに含まれる各点x、y(なお、小文字で表記された点x、yは、それぞれの点の位置ベクトルであり、空間Xに配置される点x(y)を、「x∈X(y∈X)」と表記する)の間で生じる相互エネルギーfr(|x−y|)の各点もしくは全点の平均値で定義され、この相互エネルギーfrは、2階偏微分可能かつ各偏微分係数が連続で、fr(x)=0(x≧r)、0<r<1/2・diam(E(n))を満たし、更にfr(x)が凸関数であり、frの導関数fr'についてfr'(√x)が凹関数であるものとすることができる。
なお、この条件を満たすエネルギー関数は、1次元周期的空間において、点が均等に分散したときにエネルギーが最小になることが数学的に保証された関数である。任意の点分散に対して、各点もしくは全点の相互エネルギーfrを測定し、測定した値が小さいほど、エネルギーが小さいものとみなし、点分散の分散性の良さとすることができる。
更に、相互エネルギーfrは、frの2階導関数fr''について、(fr''(√x)/√x)が凸関数であるものとすることもできる。
なお、この条件を満たすエネルギー関数は、2次元周期的空間において、点が均等に分散(三角格子状分散)したときにエネルギーが局所最小になることが数学的に保証された関数である。
さらに、本配置決定装置2は、任意の点分散のエネルギー値を減少させるように、各点もしくは全点を移動させて、よりエネルギーの小さい、すなわち分散性の良い点分散に収束させることができる。
さらに、本配置決定装置2は、エネルギー値が減少する、ないしはエネルギーの増加性を抑えつつ点の数を増減させることによって、均等性を保った点分散を得ることができる。
[ハードウェア構成]
次に、本実施形態における配置決定装置2のハードウェア構成を説明する。
図1は、本発明にかかる分散評価方法及び配置決定方法が適応される配置決定装置2のハードウェア構成を、制御装置20を中心に例示する図である。
図1に例示するように、配置決定装置2は、CPU202及びメモリ204などを含む制御装置20、通信装置22、HDD・CD装置などの記録装置24、並びに、LCD表示装置あるいはCRT表示装置及びキーボード・タッチパネルなどを含むユーザインターフェース装置(UI装置)26から構成される。
配置決定装置2は、例えば、配置決定プログラム5(後述)がインストールされた汎用コンピュータであり、通信装置22又は記録装置24などを介して、空間上に配置すべき配置物に関する情報(例えば、配置物の数など)、及び、これらの配置物が配置される配置空間に関する情報(例えば、配置空間の形状、大きさなど)を取得し、取得された情報に基づいて、配置物の配置を決定する。
また、配置決定装置2は、配置物の位置情報、及び、配置空間に関する情報を取得し、取得されたこれらの情報に基づいて、配置物の分散性を評価する。
[配置決定プログラム]
図2は、制御装置20(図1)により実行され、本発明にかかる配置決定方法を実現する分散化プログラム5の機能構成を例示する図である。
図2に例示するように、配置決定プログラム5は、データ入力部500、記憶部510、分散評価部520、配置更新部530、判定部540及びデータ出力部550有する。
なお、配置決定プログラム5の全部又は一部をASICなどのハードウェアで実現してもよい。
配置決定プログラム5において、データ入力部500は、通信装置22(図1)又は記憶装置24(図1)を介して、配置空間上に配置すべき配置物に関する情報(例えば、配置物の数など)、及び、この配置空間に関する情報(例えば、配置空間の形状、大きさなど)を点分散データとして取得し、取得された点分散データを記憶部510に出力する。
記憶部510は、データ入力部500から入力された点分散データを記憶する。
また、記憶部510は、分散評価部520、配置更新部530及び判定部540に対して、ワークエリアを提供する。例えば、記憶部510は、データ入力部500から入力された点分散データに加えて、分散性改善後の点分散データ、並びに、点分散評価に用いられる各種の途中演算結果及び処理パラメータなどを保持する。
分散評価部520は、記憶部510に記憶されている点分散データに基づいて、エネルギー値の評価を行う。
より具体的には、分散評価部520は、記憶部510に保持された点分散データの分散性の良さを、エネルギー関数によって評価する。このエネルギー関数I(X,fr)は、例えば、以下の式で表される。
I(X,fr)=1/|X|・Σx∈XI(X,x,fr)・・・(式1)
ここで、n次元空間内の有界な配置空間をE(n)とし、入力されたn次元配置空間E(n)における点分散全体がX⊂E(n)である。
また、frは、配置物の集合Xに含まれる各点(x、y∈X)の間で生じる相互エネルギーfr(|x−y|)である。そして、Iは、この相互エネルギーfrの各点の平均値I(X,x,fr)である。
各点の平均値I(X,x,fr)は、例えば、以下の式で表される。
I(X,x,fr)=1/|X|・Σy∈Xfr(|x−y|)・・・(式2)
この相互エネルギーfrの関数は、2階偏微分可能かつ各偏微分係数が連続で、fr(x)=0(x≧r)、0<r<1/2・diam(E(n))を満たし、更にfr(x)が凸関数であるものとする。更に、frの導関数fr'についてfr'(√x)が凹関数であるか、または、frの2階導関数fr''について、(fr''(√x)/√x)が凸関数であるものとする。
なお、ここで、「n次元空間」とは、より高次元のユークリッド空間に埋め込めるn次元空間全てを対象とする。
また、|X|は、Xの点の総数とする。
また、|x−y|は、E(n)空間における点xとyとの距離を意味する。例えば、E(n)がn次元ユークリッド空間の部分集合の場合には、|x−y|は、ユークリッド距離で定義できる。また、diam(E(n))はE(n)の直径、すなわちsup{|x−y|:x、y∈E(n)}とする。ここで、supは上限値を意味する。
なお、上記エネルギー関数の一般的な定義自体は、ポテンシャル理論の分野に属している。ポテンシャル理論では、例えば、エネルギーI(X)は、sを実数として以下の式で定義される。
I(X)=∫∫|x−y|dμ(x)dμ(y)・・・(式3)
本例では、この|x−y|の部分をfr(|x−y|)とし、更にfrがfr(x)=0(x≧r)、0<r<1/2・diam(E(n))を満たし、更にfr(x)が凸関数である。また、frの導関数fr'について、fr'(√x)が凹関数であるか、または、frの2階導関数fr''について、(fr''(√x)/√x)が凸関数である。
また、本例では、有限の点分散を扱うため、積分ではなく和の形で定義されている。なお、frが凸でありfr'(√x)が凹であるという条件を満たす関数frは、1次元周期的空間において、点が均等に分散したときにエネルギーが最小になることが数学的に保証された関数である。また、frが凸であり(fr''(√x)/√x)が凸関数であるという条件を満たす関数frは、2次元周期空間において、各点が理想的な均等分散状態である三角格子状の分散配置をした際にエネルギーが局所最小になることが数学的に保証された関数であり、このときには1次元周期空間における上記条件、frが凸でありfr'(√x)が凹であるという条件を同時に満たす。なお、2次元平面で各点が最も均等に分散配置した状態が三角格子配置であるという事実は良く知られている。また、ここで局所最小とは、注目点x∈Xを少しでも動かすとエネルギーI(X,x,fr)及びI(X,fr)が増大するという性質を意味している。局所最小性を考察する際には、空間の周期性は本質的ではなく、本実施例でいえば2次元周期空間ではなく単に2次元空間(平面)で局所最小性を考察するとみなしてよい。
なお、本例の相互エネルギーfr又は各点エネルギーI(X,x,fr)は、本発明にかかる部分評価関数の具体例であり、全点エネルギーI(X,fr)は、本発明にかかる評価関数の一例である。
配置更新部530は、記憶部510に記憶されている点分散データに対して、いずれかの配置物の仮配置位置を変更する配置更新処理を行う。
より具体的には、配置更新部530は、分散評価値520により算出されるXのエネルギー値を降下させるように、入力された点分散Xの各点もしくは全点を移動させる。
判定部540(配置決定手段)は、分散評価部520による評価結果に基づいて、適用すべき点分散データを選択する。
また、判定部540は、分散性の評価のみを行う場合に、配置更新部530による点分散データの更新(配置物の移動)を禁止する。
また、判定部540は、分散性のよい配置を決定する場合に、配置更新部530に各配置物または全配置物を移動させ、必要に応じて分散評価部520に再びエネルギー算出を行わせる。あるいは、判定部540は、エネルギー値が既定の条件を満たすまで、分散評価部520による評価、及び、配置更新部530による配置更新処理を交互に繰り返させてもよい。
すなわち、分散評価部520、配置更新部530及び判定部540は、互いに協働して、点分散性の改善処理を行う。
データ出力部550は、分散評価部520による評価結果(算出されたエネルギー値もしくはエネルギー降下すなわち分散性が改善された点分散データ)を、通信装置22又は記憶装置24に出力する。
以下、配置決定プログラム5による分散評価処理及び配置決定処理をそれぞれ説明する。なお、入力される点分散データが離散空間内で定義される場合を具体例として説明するが、これに限定されるものではなく、例えば、本配置決定プログラム5は、連続空間で定義された点分散データに関しても、密なメッシュで離散化することによって擬似的に取り扱うことができる。
[分散評価処理]
まず、分散評価処理を説明する。以下では、離散的な空間256×256ピクセル内に分散したm個の点の点分散の分散性を評価する例について説明する。
図3は、配置決定プログラム5(図2)による分散評価処理(S10)のフローチャートである。
図3に示すように、ステップ100(S100)において、データ入力部500は、通信装置22(図1)又は記憶装置24(図1)を介して、配置空間の形状及び大きさ、並びに、この配置空間における各配置物の位置を点分散データとして取得し、取得された点分散データを記憶部510に出力する。
分散評価部520は、データ入力部500から入力された点分散データに応じて、n次元配置空間内の有限集合E(n)に含まれる点分散集合Xを準備する。本例では、E(n)は、図4に例示するように、256×256のピクセル全体とする。また、配置物の集合Xは、このE(n)の内部に定義されたm個の点の集合とする。
なお、本例では、説明の便宜のために、256×256の2値画像を具体例として説明するが、画像でなく一般の256×256の離散空間に置き換えてもよい。
ステップ110(S110)において、判定部540は、分散評価処理を行うか配置決定処理を行うかを判定し、分散評価部520及び配置更新部530に対して、判定結果に応じた制御を行う。本例では、分散評価処理を行うため、判定部540は、分散評価処理を実施させるべく、配置更新部530に対して配置更新処理を禁止し、分散評価部520に対して分散評価処理を行うよう指示する。
分散評価部520は、入力された点分散データに基づいて、各点(すなわち、各配置物)のエネルギーI(X,x,fr)(以下、各点エネルギー)を算出する。
より具体的には、分散評価部520は、注目点xに関して、他の点y(x、y∈X)との間で生じる相互エネルギーfr(|x−y|)をそれぞれ算出する。そして、分散評価部520は、集合Xに含まれる他の点y全てについて算出された相互エネルギーfrを合算して、この合算値を、この集合Xに含まれる配置物の数|X|(すなわち、m)で除算して、各点エネルギーI(X,x,fr)を算出する。
すなわち、各注目点xの各点エネルギーI(X,x,fr)は、以下の式で表される。
I(X,x,fr)=1/|X|・Σy∈Xfr(|x−y|)
換言すると、各点エネルギーI(X,x,fr)は、点x∈Xに対して各点y∈Xとの間に生じる相互エネルギーの平均値として算出される。
ここでfrは、fr(x)=0(x≧r)、0<r<1/2・diam(E(n))を満たし、更にfr(x)が凸関数であり、frの導関数fr'について、fr'(√x)が凹関数であるか、または、frの2階導関数fr''について、(fr''(√x)/√x)が凸関数であるものとする。
各点エネルギーI(X,x,fr)は、関数frの性質によって、図5に示すように、注目点x(x∈X)を中心とする半径rの領域内にある全ての点y(y∈X)について、fr(|x−y|)を計算してその和を取った値を、配置物の数|X|(すなわち、m)で除算した値として算出される。
半径rよりも外側の点(白抜きの丸)は、fr(x)=0(x≧r)の条件に基づいて無視される。
ステップ120(S120)において、分散評価部520は、算出された各点(注目点x)の各点エネルギーI(X,x,fr)に基づいて、配置空間全体のエネルギーI(X,fr)(以下、全点エネルギー)を算出する。
より具体的には、分散評価部520は、各点エネルギーを合算し、この合算値を、集合Xに含まれる点の数(|X|=m)で除算して、全点エネルギーI(X,fr)を算出する。
すなわち、対象となる配置空間の全点エネルギーI(X,fr)は、以下の式で表される。
I(X,fr)=1/|X|・Σx∈XI(X,x,fr)
換言すると、全点エネルギーI(X,fr)は、全配置物(すなわち、全てのx∈X)に対する各点エネルギーの平均値として算出される。
ステップ130(S130)において、データ出力部550は、分散評価部520により算出された全点エネルギーI(X,fr)を、点分散性の評価値として出力する。
なお、データ出力部550は、全点エネルギーI(X,fr)に加えて、各点のエネルギーI(X,x,fr)を、分散性の評価値として出力してもよい。
このように、配置決定プログラム5(図2)は、配置物間の距離に基づいて、各点エネルギーI(X,x,fr)及び全点エネルギーI(X,fr)を算出し、分散性の評価値として出力する。
[境界条件について]
配置空間に応じた2点間(注目点xと対象点y)の距離|x−y|の取り方を説明する。
本実施形態で算出される各点エネルギーI(X,x,fr)は、注目した点xとその他の点y全てとの間で生じるエネルギー値の平均値として定義されている。
このような場合、考察する配置空間に対象性がない場合、つまり境界領域が存在する場合に、取り扱いに面倒が生じる。
図6は、配置空間における境界領域を例示する図である。
図6に例示するように、配置空間E(n)は、主走査方向及び副走査方向に256ピクセルの2次元空間である。図6中のハッチングで示した領域は、配置空間E(n)の周縁部から、限界距離rまでの領域である。ここで、限界距離rとは、相互エネルギーfrが有意な値(0以外の値)をとりうる範囲を示す値である。限界距離rよりも離れた点間では、相互エネルギーfrの値が0となる。換言すると、注目点xとの距離が限界距離rよりも遠い他の点y(対象点y)は、この注目点xのエネルギーに影響を与えない。
図6に示すハッチング領域内にある任意の注目点x(x∈X)を考えた場合に、注目点xを中心として半径rの範囲を考察すると、図6に示すように256×256の外周の外側にはみ出てしまい、正しい計算ができない場合がある。このような場合には、予め256×256を含むより大きな空間Yの一部として256×256を入力して、注目点xとしてはXの点全体を動かし、対象点yとしてはYの点全てを対象とするようにしてもよい。あるいは、図6に示すように、配置空間からはみ出した領域には点がないものとして処理してもよい。もちろん外周部分の不具合によって評価結果に不都合が生じるような場合もあるが、そのような場合には、対象とする空間をより大きく(例えば1024×1024など)選択することによって、その不都合が減少し、より分散性の良い点分散がエネルギーが低いと判定することができる。
あるいは、入力された256×256の配置空間が周期境界条件を持っているものとみなして処理を行ってもよい。
図7は、配置空間の周期境界条件を説明する図である。
図7に例示するように、分散評価値520は、256×256の配置空間に対して、この外周に接するように8個の仮想空間1〜8を配置する。それぞれの仮想空間1〜8は、配置空間と同じ大きさ及び形状(本例では、256×256空間)であり、それぞれの仮想空間1〜8は、配置空間と同じ位置に、同じ点集合Xを含む。
そして、分散評価値520は、配置空間に含まれる注目点xから限界距離rまでに存在する対象点(配置空間に存在する他の点、及び、仮想空間に存在する点を含む)について、相互エネルギーfrを算出する。
すなわち、分散評価値520は、点x,y∈X間の距離|x−y|を、以下の数式を用いて再定義する。
|x−y|=min{|x−y+e|:ex、ey=−1,0,1}
つまり、図7に示したように、注目点xに対して、配置した9個の仮想空間(256×256空間)内の同じ位置に対象点yを全て配置し、xとの距離の最小値を、注目点xと対象点yとの距離|x−y|として採用する。このようにして2点間の距離を定義すると、対象空間の左辺と右辺とを同一視し、更に上辺と下辺とを同一視することと等価となる。
これは、図8に示す2次元トーラス空間(ドーナツの表面)と同じ位相構造となり、対象とする空間を、境界のない閉じた空間にすることができる。なお、本例におけるr値の範囲は、0<r<1/2・diam(E(n))としているが、これは、このような周期境界を持った空間で処理を行う場合に、注目点xを中心とする半径rの領域(限界円)内の異なる部分に同じ点が2度現れるのを避けるためである。なお、実際には配置空間E(n)を256×256の周期境界空間とした場合には、1/2・diam(E(n))=128√2であるが、このような理由から0<r<128√2ではなく0<r<128とする。
[分散評価の適用例]
ところで、上記例は点分散の評価を行う例であるが、このような評価を行う場合、複数の点分散を準備しておき、それぞれの点分散を評価して優劣を決めるような場合が多い。
図9は、分散評価処理の対象を例示する図である。
図9に例示するように、配置物(図中の点)の配置が異なる3種類の点分散データが入力された場合に、本例の配置決定プログラム5は、入力された3種類の点分散データそれぞれについて、点分散を評価し、それぞれの評価値を出力する。本例では、図9の(a)、(b)、(c)の順で分散性が良いと判定される。
このように、本配置決定プログラム5は、上記のように分散評価処理を行うことにより、例えば、複数の点が分散する画像の画質評価などに用いることができる。
[相互エネルギーfrについて]
分散評価部520により適用されるエネルギー関数frは、frと同様の性質を持ち、[0,1]閉区間で定義された関数h(x)を用いて、
Figure 0004721112
と表すことができる。なお、このようにして[0,1]閉区間で定義された関数h(x)を与えてfr(x)を定義すると、rを含まない一般の関数h(x)を使ってfr(x)を構成できるという利点がある。図10(A)に実線で示したグラフは、エネルギー関数frを構成する関数h(x)の一例であり、h(x)=(2/3―x+1/3xのグラフである。
分散評価部520により適用される関数fr(相互エネルギーを求める関数)の条件として、fr(x)=0(x≧r)、0<r<1/2・diam(E(n))、fr(x)が凸関数であり、frの導関数fr'について、fr'(√x)が凹関数か、または、frの2階導関数fr''について、(fr''(√x)/√x)が凸関数であり、更にfr(x)はx及びrに対して2階偏微分可能かつ各偏微分係数が連続としていた。ここで、fr(x)を上記のようにh(x)による合成関数として定義すると、fr(x)が上記各条件を満たすためには、上記の各条件におけるfrをhに置き換えて条件が満たされれば良いということがわかる。
図10(A)に例示するエネルギー関数h(x)も、上記条件の全てを満たすことを確認することができる。実際に、図10(A)に実線で示すとおり、h(x)は凸形をしている(更にh(x)の導関数h'(√x)が凹形となり、hの2階導関数h''について、(h''(√x)/√x)が凸形となる。)。そして、上述したようにこの性質は合成関数であるfr(x)についても成立する。
本実施形態における分散評価部520は、上記条件を満たしさえすればどのような関数を使ってもよいことが大きな特徴であるが、本例では、図10に例示するエネルギー関数h(x)を、関数frを実現する具体例として用いる。なお上記条件を満たす関数はその他にも数多くあるが、一例としては、h(x)=(1−x)(但しp≧2)があげられる。
一方、上述した従来の関数の一例であるexp(x/(2σ))は、同じく図10(A)に点線で示したグラフであり、凸性や凹性を持っていない。なお、この従来の関数(点線)は、その形態がh(x)に近くなるように、パラメータσの値を調整したものであり、σの調整を行っていない場合には、更にh(x)と異なる形態を有することになる。なお上述したように、従来例では、この関数に限らず関数に数学的な保証がないために、このようなパラメータ調整が必要となる場合が多い。
なお、図10(B)に実線で例示するエネルギー関数h(x)=(2/3―x+1/3xは、1次元条件、すなわちfr(x)が凸関数であり、frの導関数fr'についてfr'(√x)が凹関数であるという条件を満たすが、2次元条件、すなわちfrが凸であり、frの2階導関数fr''に対して(fr''(√x)/√x)が凸関数である、という条件を満たしていない。一方、同じく図10(B)に破線で例示するエネルギー関数h(x)=(2/3―x+1/3x1.25は、該1次元条件と2次元条件を共に満たしている。1次元空間での分散を取り扱う場合には、前者のように1次元で保証を与える関数を使用すれば良いが、2次元での分散を取り扱う場合には、後者のように2次元で保証を与える(従って1次元でも保証を与える)関数を使用する方がより確実である。
[配置決定処理]
次に、配置決定処理を説明する。本例では、配置空間が離散的な256×256ピクセルの2次元空間であり、この配置空間内に分散したm個の点について、より分散性の良い配置を決定する形態を具体例として説明する。
図11は、配置決定プログラム5(図2)による配置決定処理(S20)のフローチャートである。なお、本例では、「局所振動法」を用いた形態を具体例として説明するが、これに限定されるものではなく、分散評価部520により算出されるエネルギー値が降下する方法であれば、どのような方法でもよい。
図11に示すように、ステップ200(S200)において、データ入力部500は、通信装置22(図1)又は記憶装置24(図1)を介して、配置空間の形状及び大きさ、並びに、この配置空間における各配置物の位置を点分散データとして取得し、取得された点分散データを記憶部510に出力する。
分散評価部520は、データ入力部500から入力された点分散データに応じて、n次元配置空間内の有限集合E(n)に含まれる点分散集合Xを準備する。本例では、図4に例示するように、n=2として、E(n)を256×256のピクセル全体とする。また、配置物の集合Xは、このE(n)の内部に定義されたm個の点の集合であり、初期配置データして設定される。
ステップ202(S202)において、判定部540は、配置決定処理を行うべく、配置更新部530に仮配置更新処理を指示する。
配置更新部530は、対象物の点分散集合Xの中から、処理対象となる注目点xを設定し、この注目点xを既定の位置に仮変位させる。注目点xを仮変位させる既定位置は、例えば、注目点xを中心とした3×3ピクセルのいずれかである。
ステップ204(S204)において、判定部540は、この仮変位後の注目点xについて、各点エネルギーI(X,x,fr)を算出するよう分散評価部520に指示する。
分散評価部520は、判定部540の指示に応じて、仮変位後の注目点xについて、各点エネルギーI(X,x,fr)を算出する。
なお、本ステップにおけるエネルギーIの算出は、図3に示したS110と実質的に同一である。
ステップ206(S206)において、判定部540は、この注目点xを全ての既定位置(注目点xを中心とした9ピクセル)で仮変位させ、それぞれの仮変位後に各点エネルギーを算出したか否かを判定し、全ての仮変位点で各点エネルギーが算出された場合に、S208の処理に移行し、これ以外の場合に、S202の処理に戻って、次の変位点について各点エネルギーを算出する。
ステップ208(S208)において、判定部540は、この注目点xについて算出された各点エネルギーの中から、各点エネルギーが最も小さい仮変位位置を配置更新部530に通知する。
配置更新部530は、判定部540からの通知に応じて、最も各点エネルギーの小さい仮変位位置に、この注目点xを配置する。
ステップ210(S210)において、判定部540は、点分散集合Xに含まれる全ての点xについて、S202〜S208の処理を行ったか否かを判定し、未処理の点xが存在する場合に、S202の処理に戻って、未処理の点xを注目点としてS202〜S208の処理を行い、全ての点xについて処理が終了した場合に、S212の処理に移行する。
ステップ212(S212)において、判定部540は、S202〜S208の処理が施された点集合X'と、初期配置データ(すなわち、S202〜S208の処理が施される前の点集合X)とを比較して、これらの点集合が一致するか否かを判定し、一致する場合に、S216の処理に移行し、一致しない場合に、S214の処理に移行する。
すなわち、配置決定プログラム5は、S202〜S208の処理が施された点集合X'が初期配置データと一致する場合に、各点が収束して最適な地点に移動し終えたと判断する。
ステップ214(S214)において、判定部540は、S202〜S208の処理が施された点集合X'を、初期配置データに設定して、S202の処理に戻る。
すなわち、配置決定プログラム5は、処理後のX'が初期配置データ(すなわち、点集合X)と一致しない場合に、各点が収束し終えていないと判断し、この処理後の点集合X'を初期状態として、S202〜S212の処理を繰り返す。
ステップ216(S216)において、判定部540は、初期配置データ(収束するまで更新が繰り返された点集合Xの配置)を、最適な配置として出力するようデータ出力部550に指示する。
データ出力部550は、初期配置データを、決定された配置データとして出力する。なお、データ出力部550は、決定された配置データと共に、算出された各点エネルギーI(X,x,fr)及び全点エネルギーI(X,fr)を、この配置データの評価値として出力してもよい。
このように、配置決定プログラム5は、分散の評価を行いながら、エネルギーを降下させることにより、点集合Xの最適な配置を決定する。
なお、S212の判定においては、複数回処理を反復すると周期解に陥ってX=X'とならない場合があるので、所定回数(例えば100回)だけS212を経由したらS216に進むようにしてもよい。
なお、本例で適用されるエネルギー関数は、fr(x)を、x及びrに対して2階偏微分可能かつ各偏微分係数が連続であるという条件を満たすように選択すると、エネルギー関数自体が、点xの局所的な移動に対して微分可能となる。従って、このように図11に示すような局所振動によるエネルギー降下アルゴリズムを行っても、極小解に陥りにくいという性質を持っている。
なお、図11の局所振動によるエネルギー降下においては、注目点xをエネルギーの高い順に選択したり、注目点xを変位し終えた直後、すなわちS208の処理直後に、変位した点xの周囲にある他の点y∈Xについて再びS202からS208の処理を行うようにしても良い。あるいは、void−and−cluster法(非特許文献1)と呼ばれる方法を用いたり、更には図11の方式とvoid−and−cluster法とを組み合わせた方式を用いることもできる。これらの変化形方式の中には、エネルギー降下をより効率的に行うことができるものもあり、結果として演算処理速度を向上させることもできる。しかし、本発明が提示するエネルギー値を適切に降下させる処理を行えば、いずれの方式を用いるにしても、入力された点分散データXは、より分散性の良い点分散データX'に修正されて出力される。
図12は、図11で説明した配置決定処理(S20)により改善された点分散集合を例示する図であり、図12(a)は、入力された点分散集合Xを例示し、図12(b)は、出力された点分散集合X'(改善後)を例示する。なお、本例は、図8に例示した2次元トーラス(ユークリッド距離)上で分散を評価して配置を最適化した例となっている。
このようにして作成された点分散X'は、周期境界の条件から、タイル状に複数並べられた場合にも、全体としてもよい点分散となっている。
また、いずれの例もr値を固定しており、点の数が増減しても、収束に全く問題を生じない。なお、実際には、離散空間の制約上、点の数が増大するにつれて、点の配置に大きな制約が掛かる。この場合、r値を小さく取ると、エネルギー値に及ぼす各点の比率が高くなり、誤差が大きくなる恐れがあるので、r値は基本的には初めから大きく取る方が好ましい。
なお、r(<1/2・diam(E(n)))値を大きく取るということは、計算時間が増大するだけで、点分散の評価または修正における不具合は何一つ生じない。
[変形例1]
次に、上記実施形態の第1の変形例として、離散的な空間256×256ピクセル内に分散したm個の点からp個の点を得る方法について説明する。
ここで、pは、m=pの場合には上記実施形態と実質的に同一となるか、あるいは単に点を効率的に増減させるという観点からは処理の必要がない。また、p<mの場合には、入力データのm個の点が減らされてp個の点となる形態に相当し、p>mの場合には、入力データのm個の点が増やされてp個の点となる形態に相当する。
ここにおいて、仮に、一旦m個の点がp個に増大、ないしは減少させられた場合、必要ならばあとはp個の点に対して、上記実施形態の配置決定処理(S20)を行えば分散性の良い点集合を得ることができる。従って、本変形例で本質的な部分は、m個の点から単純に複数の点を取り除いて分散性の良いp個の点のみを残す、もしくはm個の点に単純に複数の点を追加して分散性の良いp個の点を得る、という部分のみである。なお、実用上は、m個の配置物がp個に増加、ないしは減少させられた場合には、すでに存在している配置物は移動できない場合があるため、このように配置物の移動を禁じて純粋に増減だけした際にも、分散性の良いp個の配置物を得るという必要がしばしば生じる。そこで、以下にこの方法について説明する。
まず、p<mの場合を説明する。この場合、m個の点から(m−p)個の点を取り除いてp個の点のみを残し、なおかつ分散性の良い点集合を得る必要がある。
この場合には、例えば配置決定装置2は、m個の点x(x∈X)の全てに対してエネルギーI(X,x,fr)を算出し、最もエネルギー値が大きい点から順番に、Xから1点づつ点を取り除いてゆき、m−p個の点が取り除かれれば目的のp個の点集合を得ることができる。
次に、p>mの場合を説明する。この場合には、m個の点にp−m個の点を加えてp個の点とし、なおかつ分散性の良い点集合を得る必要がある。なお、この際には、上述したように、既に配置されているm個の点は動かせないものとする。
この場合には、例えば配置決定装置2は、256×256のピクセル内でXの点でない部分、つまりE(n)\X(点集合Xの補集合)から全ての点zを選び出し、I(X∪{z},z,fr)を算出し、最もエネルギー値の低い点にm+1個目の点を配置し、点集合Xに加える。この処理を、|X|=pとなるまで反復することで目的のp個の点集合を得ることができる。
図13は、上記変形例により、元のm個の点から複数の点を取り除く、もしくは複数の点を加え、共に良い分散性を保たせた点集合を例示する図であり、図13(a)は、入力された点集合(元の点集合)を例示し、図13(b)は、元の点集合から複数の点を取り除いた点集合を例示し、図13(c)は、元の点集合に複数の点を加えた点集合を例示する。
図13に例示するように、入力された点集合(元の点集合)が全体に均一に分散していない場合(最適な分散状態ではないという意味)においても、本変形例により、削除又は追加する点の位置を決定することにより、分散性を向上させることができる。
なお、点の移動、点の削除、又は点の追加といった処理において、256×256全ての空間を候補とせずに、特定の範囲に限定してもよい。
例えば、点を新たに追加する場合に、配置決定装置2は、256×256内全ての点を対象とせずに、一部の点だけに限定させることも可能である。実際、図13(a)に例示する点集合に、点を追加して、図13(c)に例示する点集合を得る場合に、追加される点の配置可能な位置(配置候補)は、格子点に限定している。このような限定は、例えばデジタルスクリーニング技術における閾値マトリックスの作成において必要となるものである。
[変形例2]
次に、上記実施形態の第2の変形例を説明する。
本変形例の配置決定装置2は、多様な形状を有する配置空間(n次元)について、分散評価処理及び配置決定処理を行う。
図14は、多様な形状の配置空間に対する配置決定処理を説明する図である。なお、本図に示された配置空間D及び包含空間Eは共に離散空間であるが、連続空間は、細かく離散化して近似できるので、離散空間で検討することで足りる。
まず、本変形例における判定部540は、n次元の配置空間Dに対して、図14に例示するように、この配置空間Dを包含する包含空間Eを設定する。包含空間Eは、n次元平行体であることが望ましい。n次元平行体であれば、空間の両端(2次元空間の場合に、上端と下端、又は、右端の左端)で、周期境界条件を設定できるからである。また、配置空間Dが3次元空間である場合に、包含空間Eは、例えば、この配置空間Dを包含する立方体又は直方体であり、配置空間Dが2次元空間である場合に、包含空間Eは、例えば、平行四辺形(長方形及び正方形を含む)である。領域Eを取る。
次に、判定部540は、入力された初期配置データに基づいて、図14(b)に例示するように、配置空間Dの中に、配置物(m点集合X)を配置する。
次に、判定部540は、図14(c)に例示するように、配置空間Dの補空間E\Dに、この補空間E\Dの大きさと配置空間Dの大きさとの比率に応じた数の仮想配置物を配置する。ここで、配置空間Dの補空間とは、包含空間Eに含まれ、かつ、配置空間Dに含まれない空間E\Dである。n次元空間の配置空間Dと補空間E\Dとの比率は、例えば、n次元ルベーグ測度により算出される。
配置空間Dが2次元空間である場合には、判定部540は、例えば配置空間Dの総ピクセル数dと、配置空間Dの補空間E\Dの総ピクセル数gとの比(g/d)を算出し、算出された比(g/d)と、配置物の数(m)との積int(mg/d)を、補空間E\Dに配置すべき仮想配置物の数とする。なお、2次元での面積比は、このようにピクセル数比で計算できる。int(mg/d)個の仮想配置物の点集合をYと置く。
これにより、配置空間Dとその補空間E\Dのそれぞれの領域の大きさと含まれる点の数との比が一致する。なお、補空間E\Dには、図7及び8で説明したような周期境界の条件を課しておく。
次に、判定部540は、配置空間Dとその補空間E\Dとの間の点の移動を禁止した状態で、配置決定処理(S20)を行うよう分散評価部520及び配置更新部530を制御する。
配置更新部530は、判定部540の制御に応じて、配置空間D内の点(配置物に相当)を、この配置空間D内で移動させ、補空間E\D内の点(仮想配置物に相当)を、この補空間E\D内で移動させて、エネルギー降下を行う。なお、エネルギーの降下方法は、配置空間D内の点と補空間E\D内の点の相互移動を禁止するという制限のもので、例えば実施例1の方法を適用することができる。
分散評価部520は、包含空間Eに含まれる点(すなわち、配置空間D内の配置物に相当する点集合X、及び、補空間E\D内の仮想配置物に相当する点集合Y)を対象として、これらの分散を評価する。本例の分散評価部520は、X∪Yに含まれる点を、注目点x又は対象点yとして、各点エネルギーI(X∪Y,x,fr)を算出する。ここで、配置空間D内の点と補空間E\D内の点の相互移動は禁止されているが、相互エネルギーは働いていることに注意する。つまり、各点x∈X∪YのエネルギーはE内のすべての点X∪Yを対象として算出する。
以上により、例えば、図11で説明した方法により収束させると、図14(d)に例示するように、エネルギーが降下して各点の配置が最適化される(点が均等に分散する)。
データ出力部550は、このように最適化された包含空間Eの中から、配置空間Dを抽出し、抽出された配置空間Dにおける配置を最適な配置として出力する。
なお、包含空間Eの端部には、上述したように周期境界条件が設定されることが望ましく、この周期境界条件は本例においては特に好都合に働いているといえる。
このように、本変形例の配置決定装置2は、配置空間Dを包含する包含空間Eを設定し、配置空間Dに必要数m個の配置物を配置すると共に、その補空間に対して、この補空間の大きさに応じた数の仮想配置物を配置し、これらの配置物及び仮想配置物の配置を最適化する。この場合に、配置物及び仮想配置物は、それぞれ配置空間D及びその補空間の範囲で移動が制限される。
このように配置物及び仮想配置物の配置をエネルギー降下によって最適化することにより、本配置決定装置2は、多様な形状の配置空間Dにおいて、任意の数の配置物の最適な配置(より分散性の良い配置)を決定することができる。なおDが複数の領域からなる場合にも、D全体を含むようにEを選択すればよく、本例の適用範囲はきわめて広い。
また、配置決定装置2は、配置空間Dの境界近傍に、既定のポテンシャルを適用し、包含空間Eを設定せずに、多様な形状の配置空間Dにおいて、配置物の最適な配置を決定してもよい。
図15は、配置空間Dの境界付近にポテンシャルpを設定した場合の最適配置を例示する図であり、図15(a)は、ポテンシャルpが0である場合の最適化後の配置を例示し、図15(b)は、ポテンシャルpが0.05である場合の最適化後の配置を例示し、図15(c)は、ポテンシャルpが0.2である場合の最適化後の配置を例示する。
図15(a)に例示するように、配置空間D内のみでエネルギー最小化すると(すなわち、境界付近にポテンシャルを設定しないと)、配置空間Dの境界付近に点が集まってくる。これは、配置空間Dの外部に点が存在しないため、必然的に境界付近でエネルギーが低くなるからである。
そこで、配置決定装置2は、配置空間Dの境界近傍にポテンシャルを設定し、包含空間Eを設定せずに、境界近傍の点に対するエネルギー値を補正して、配置空間D内に均等に点を分散することもできる。
より具体的には、判定部540は、配置空間Dの境界近傍にポテンシャルp(n)を設定し、分散評価部520は、判定部540により設定されたポテンシャルp(n)を加味した擬エネルギー関数J(X,x)を用いて、配置空間Dにおける分散性を評価する。
J(X,x)=I(X,x)+a(B(x,r)\D)*p(n)
この擬エネルギー関数J(X,x)は、注目点xから距離r以上離れた部分が配置空間Dの外に出た割合に応じてエネルギー補正量を加算する関数である。ここで、B(x,r)は、注目点xを中心とする半径rの円盤であり、rは、関数frを定義するrである。また、aはn次元ルベーグ速度で定義される。なお、n=2の場合には、aは面積値となるが、ピクセル数で代用してもよい。
これによって、配置空間Dの境界付近のエネルギーを意図的に増減させることができる。ここで、p(n)の値は、配置される点の数nに応じて変化させることが望ましい。
図15に示す配置例は、配置数nが500である場合に、ポテンシャルp(n)の値を変化させて定義した場合の擬エネルギー降下(収束)結果である。
ポテンシャルp(n)の値に応じて境界付近の点(配置物)の集まり具合が変わることが分かる。例えば、学校の配置を決定するときには、配置領域の境界付近に配置しない場合も多い。このような場合に、境界近傍にポテンシャルを設定して、境界近傍の配置を制御する本方式は好適である。
また、ポテンシャルp(n)の値を適切に設定することにより、包含空間E(図14)を用いた形態とほぼ同様の結果を得ることができる。ポテンシャルp(n)を設定する本方式は、境界形状が非常に複雑な場合には不具合となる場合もあるが、多少の凹凸ならば問題なく適用できる。
[その他の変形例]
上記実施形態において、各点エネルギーのエネルギー関数は、以下のように定義されている。
I(X,x,fr)=1/|X|・Σy∈Xfr(|x−y|)
これは、対象点yが注目点xと一致する場合(すなわち、y=xの場合)の値(すなわち、1/|X|・fr(0))が加算されることになっている。
しかしながら、各点においてfr(0)を加算するということは、またfr(0)=∞となるような関数が使用できなくなる。そこで、y=xでのエネルギー値を計算しないようなエネルギー関数を使ってもよい。
例えば、分散評価部520は、以下のエネルギー関数(式4)を用いて、各点エネルギーを算出してもよい。
Ix(X,x,fr)=1/|X−1|・Σy∈X\{x}fr(|x−y|)・・・(式4)
さらに、分散評価値520は、この各点エネルギーIx(X,x,fr)に基づいて、全点エネルギーIx(X,fr)を算出する。
Ix(X,fr)=1/|X|・Σx∈XIx(X,x,fr)
このようにすることで、分散評価処理(S10)及び配置決定処理(S20)のいずれにおいても、fr(0)=∞となるような関数を使用することができる。
なお、fr(0)<∞であれば、上記実施形態で説明した各点エネルギーI(X,x,fr)及び全点エネルギーI(X,fr)を使用する方がエネルギーの概念に照らし合わせても好ましい。
実際、図10に例示した関数h(x)によって定義される関数frは、fr(0)<∞であるから、I(X,x,fr)及びI(X,fr)を使用できる。
また、上記実施形態の関数frによるエネルギーは、1次元周期空間における均等分散配置のエネルギー最小性、及び2次元周期空間での均等分散(三角格子状分散)配置のエネルギー局所最小性が保証された関数である。
なお、2次元周期空間でのエネルギー局所最小性は、図16に示す2条件によって保証するようにしてもよい。
すなわち、配置決定装置2は、図16に示す条件(1)と条件(2)とを、相互エネルギーfrの条件とすることで、三角格子配置時に局所的なエネルギー安定性を直接保証できる。なお、図10に実線で例示した関数fr(すなわち、h(x)によって定義される関数fr)は、図16に示す2条件をも満たしている。なお、実際には2次元周期空間においては、frが凸関数であり、部分評価関数の2階導関数fr''に対して、(fr''(√x)/√x)が凸関数であれば、図16に示す2条件を満たす。(従って、図16の2条件は、(fr''(√x)/√x)が凸関数であるという条件よりも緩い条件となっている。)また、2次元周期空間での条件、「fr(x)が凸関数で(fr''(√x)/√x)が凸関数」を満たす場合には、前述したように1次元周期空間での条件、「fr(x)が凸関数でfr'(√x)が凹関数」を満たす。
本発明にかかる分散評価方法及び配置決定方法が適応される配置決定装置2のハードウェア構成を、制御装置20を中心に例示する図である。 制御装置20(図1)により実行され、本発明にかかる配置決定方法を実現する分散化プログラム5の機能構成を例示する図である。 配置決定プログラム5(図2)による分散評価処理(S10)のフローチャートである。 256×256ピクセルの配置空間と、この配置空間に配置されたm個の配置物とを例示する図である。 相互エネルギーfrに対して設定された限界距離rを説明する図である。 配置空間における境界領域を例示する図である。 配置空間の周期境界条件を説明する図である。 2次元トーラス空間を説明する図である。 分散評価処理の対象を例示する図である。 分散評価部520により適用されるエネルギー関数frを関数h(x)によって定義した際のグラフと、従来例での関数とを例示する図である。 配置決定プログラム5(図2)による配置決定処理(S20)のフローチャートである。 図11で説明した配置決定処理(S20)により改善された点分散集合を例示する図である。 元のm個の点から複数の点を取り除く、もしくは複数の点を加え、共に良い分散性を保たせた点集合を例示する図である。 多様な形状の配置空間に対する配置決定処理を説明する図である。 配置空間Dの境界付近にポテンシャルpを設定した場合の最適配置を例示する図である。 2次元空間に関する部分解に対応するエネルギー関数の条件を示す図である。
符号の説明
2・・・配置決定装置
5・・・配置決定プログラム
500・・・データ入力部
510・・・記憶部
520・・・分散評価部
530・・・配置更新部
540・・・判定部
550・・・データ出力部

Claims (12)

  1. 演算装置および記憶装置を有し、複数の配置物の分散性を評価する分散評価装置であって、
    2点間の分散性を評価する部分評価関数に基づいて、所定の配置空間内に配置された複数の配置物の分散性に関する評価値を算出する評価値算出手段
    を有し、
    前記評価値算出手段は、
    前記所定の配置空間における各配置物の位置を示す点分散データを取得し、
    前記取得した点分散データと、2点間の距離から2点間の分散性を評価する部分評価関数とに基づいて、各点評価値を算出し、
    前記各点評価値の平均をとることにより、配置空間全体の分散性に関する評価値を算出し、
    前記部分評価関数は、2つの配置物の間の距離が限界値を超える場合に、評価値が0となり、かつ、この限界値以内の距離については単調減少な凸関数であり、この部分評価関数の導関数は、2つの配置物の間の距離の平方根に対して、凹関数となる
    分散評価装置。
  2. 前記部分評価関数は、2つの配置物の間の距離に対して、2階偏微分可能であり、かつ、この部分評価関数の偏微分係数は、連続である
    請求項1に記載の分散評価装置。
  3. 演算装置および記憶装置を有し、複数の配置物の分散性を評価する分散評価装置であって、
    2点間の分散性を評価する部分評価関数に基づいて、所定の配置空間内に配置された複数の配置物の分散性に関する評価値を算出する評価値算出手段
    を有し、
    前記評価値算出手段は、
    前記所定の配置空間における各配置物の位置を示す点分散データを取得し、
    前記取得した点分散データと、2点間の距離から2点間の分散性を評価する部分評価関数とに基づいて、各点評価値を算出し、
    前記各点評価値の平均をとることにより、配置空間全体の分散性に関する評価値を算出し、
    前記部分評価関数は、2つの配置物の間の距離が限界値rを超える場合に評価値が0となり、かつ、この限界値r以内の距離については単調減少な凸関数であり、この部分評価関数の2階導関数fr''は、(fr''(√x)/√x)が凸関数である、という条件を満たす
    散評価装置。
  4. 前記部分評価関数は、有界な空間Xに配置される点が三角格子状に配置される場合に、下記第1の条件
    Figure 0004721112

    、及び、第2の条件
    Figure 0004721112

    を満たす
    請求項3に記載の分散評価装置。
  5. 演算装置および記憶装置を有する配置決定装置であって、
    2点間の分散性を評価する部分評価関数に基づいて、所定の配置空間内に配置された複数の配置物に関する評価値を算出する評価値算出手段と、
    前記複数の配置物のいずれかの仮配置を更新する配置更新手段と、
    前記配置更新手段により仮配置が更新された複数の配置物について、前記評価値算出手段に評価値を算出させて、算出された評価値に基づいて、適用すべき配置を決定する配置決定手段と
    を有し、
    前記評価値算出手段は、
    前記所定の配置空間における各配置物の位置を示す点分散データを取得し、
    前記取得した点分散データと、2点間の距離から2点間の分散性を評価する部分評価関数とに基づいて、各点評価値を算出し、
    前記各点評価値の平均をとることにより、配置空間全体の分散性に関する評価値を算出し、
    前記部分評価関数は、複数の配置物の分散性を評価する評価関数の一部であり、
    前記部分評価関数は、2つの配置物の間の距離が限界値を超える場合に、評価値が0となり、かつ、この限界値以内の距離については単調減少な凸関数であり、この部分評価関数の導関数は、2つの配置物の間の距離の平方根に対して、凹関数となるか、または、この部分評価関数の2階導関数fr''は、(fr''(√x)/√x)が凸関数である、という条件を満たす
    配置決定装置。
  6. 演算装置および記憶装置を有する配置決定装置であって、
    2点間の分散性を評価する部分評価関数に基づいて、所定の配置空間内に配置された複数の配置物それぞれを注目配置物として、それぞれの注目配置物と、他の配置物との間の評価値を算出する評価値算出手段と、
    前記評価値算出手段によりそれぞれの注目配置物について算出された評価値に基づいて、前記配置空間から削除すべき配置物またはその周囲の配置物の配置を決定する配置決定手段と
    を有し、
    前記評価値算出手段は、
    前記所定の配置空間における各配置物の位置を示す点分散データを取得し、
    前記取得した点分散データと、2点間の距離から2点間の分散性を評価する部分評価関数とに基づいて、各点評価値を算出し、
    前記各点評価値の平均をとることにより、配置空間全体の分散性に関する評価値を算出し、
    前記部分評価関数は、複数の配置物の分散性を評価する評価関数の一部であり、
    前記部分評価関数は、2つの配置物の間の距離が限界値を超える場合に、評価値が0となり、かつ、この限界値以内の距離については単調減少な凸関数であり、この部分評価関数の導関数は、2つの配置物の間の距離の平方根に対して、凹関数となるか、または、この部分評価関数の2階導関数fr''は、(fr''(√x)/√x)が凸関数である、という条件を満たす
    配置決定装置。
  7. 演算装置および記憶装置を有する配置決定装置であって、
    2点間の分散性を評価する部分評価関数に基づいて、所定の配置空間内に配置された複数の配置物と、新たに追加される配置物の追加候補位置との間の評価値を算出する評価値算出手段と、
    前記評価値算出手段によりそれぞれの追加候補位置について算出された評価値に基づいて、前記配置空間に配置物を追加すべき配置またはその周囲の配置物の配置を決定する配置決定手段と
    を有し、
    前記評価値算出手段は、
    前記所定の配置空間における各配置物の位置を示す点分散データを取得し、
    前記取得した点分散データと、2点間の距離から2点間の分散性を評価する部分評価関数とに基づいて、各点評価値を算出し、
    前記各点評価値の平均をとることにより、配置空間全体の分散性に関する評価値を算出し、
    前記部分評価関数は、複数の配置物の分散性を評価する評価関数の一部であり、
    前記部分評価関数は、2つの配置物の間の距離が限界値を超える場合に、評価値が0となり、かつ、この限界値以内の距離については単調減少な凸関数であり、この部分評価関数の導関数は、2つの配置物の間の距離の平方根に対して、凹関数となるか、または、この部分評価関数の2階導関数fr''は、(fr''(√x)/√x)が凸関数である、という条件を満たす
    配置決定装置。
  8. 前記評価値算出手段は、前記配置空間の補空間に配置された仮想配置物と、この配置空間に配置された配置物とを対象として、前記評価値を算出し、
    前記配置決定手段は、前記仮想配置物及び前記配置物を対象として算出された評価値に基づいて、配置を決定する
    請求項5〜7のいずれかに記載の配置決定装置。
  9. 前記補空間は、この補空間及び前記配置空間からなる空間全体がこの配置空間よりも高い対称性を有するように構成されている
    請求項8に記載の配置決定装置。
  10. 前記評価値算出手段は、前記配置空間の補空間に配置された仮想配置物と、この配置空間に配置された配置物とを対象として、前記評価値を算出し、
    前記配置更新手段は、前記配置物の配置を前記配置空間内で変更し、前記仮想配置物の配置を前記補空間内で変更し、
    前記配置決定手段は、前記配置更新手段により仮配置が変更された前記配置物及び前記仮想配置物について、前記評価値算出手段に評価値を算出させて、算出された評価値に基づいて、適用すべき配置を決定する
    請求項5に記載の配置決定装置。
  11. 前記部分評価関数は、前記配置空間の境界近傍において、他の領域とは異なる評価値が得られるように補正されている
    請求項5〜7のいずれかに記載の配置決定装置。
  12. 演算装置および記憶装置を有し、複数の配置物の分散を評価するコンピュータにおいて、
    2点間の分散性を評価する部分評価関数に基づいて、所定の配置空間内に配置された複数の配置物の分散性に関する評価値を算出する評価値算出ステップ
    を前記コンピュータに実行させ、
    前記評価値算出ステップは、
    前記所定の配置空間における各配置物の位置を示す点分散データを取得し、
    前記取得した点分散データと、2点間の距離から2点間の分散性を評価する部分評価関数とに基づいて、各点評価値を算出し、
    前記各点評価値の平均をとることにより、配置空間全体の分散性に関する評価値を算出し、
    前記部分評価関数は、2つの配置物の間の距離が限界値を超える場合に、評価値が0となり、かつ、この限界値以内の距離については単調減少な凸関数であり、この部分評価関数の導関数は、2つの配置物の間の距離の平方根に対して、凹関数となるか、または、この部分評価関数の2階導関数fr''は、(fr''(√x)/√x)が凸関数である、という条件を満たす
    プログラム。
JP2006054910A 2005-03-18 2006-03-01 分散評価装置、配置決定装置及びそのプログラム Active JP4721112B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006054910A JP4721112B2 (ja) 2005-03-18 2006-03-01 分散評価装置、配置決定装置及びそのプログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005079614 2005-03-18
JP2005079614 2005-03-18
JP2006054910A JP4721112B2 (ja) 2005-03-18 2006-03-01 分散評価装置、配置決定装置及びそのプログラム

Publications (2)

Publication Number Publication Date
JP2006295899A JP2006295899A (ja) 2006-10-26
JP4721112B2 true JP4721112B2 (ja) 2011-07-13

Family

ID=37415907

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006054910A Active JP4721112B2 (ja) 2005-03-18 2006-03-01 分散評価装置、配置決定装置及びそのプログラム

Country Status (1)

Country Link
JP (1) JP4721112B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5326670B2 (ja) * 2009-03-05 2013-10-30 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000059626A (ja) * 1998-06-03 2000-02-25 Canon Inc 閾値マトリックス、及びそれを使用した階調再現方法とその装置
JP2002027249A (ja) * 2000-07-13 2002-01-25 Dainippon Printing Co Ltd ハーフトーン処理装置およびその処理手順を記録した媒体
JP2003018404A (ja) * 2001-07-04 2003-01-17 Canon Inc 閾値マトリックス、およびそれを利用した階調再現方法とその装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5696602A (en) * 1995-08-31 1997-12-09 Lexmark International, Inc. Method for halftoning using stochastic dithering with minimum density variance

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000059626A (ja) * 1998-06-03 2000-02-25 Canon Inc 閾値マトリックス、及びそれを使用した階調再現方法とその装置
JP2002027249A (ja) * 2000-07-13 2002-01-25 Dainippon Printing Co Ltd ハーフトーン処理装置およびその処理手順を記録した媒体
JP2003018404A (ja) * 2001-07-04 2003-01-17 Canon Inc 閾値マトリックス、およびそれを利用した階調再現方法とその装置

Also Published As

Publication number Publication date
JP2006295899A (ja) 2006-10-26

Similar Documents

Publication Publication Date Title
JP4721112B2 (ja) 分散評価装置、配置決定装置及びそのプログラム
JP2006072490A (ja) 四面体メッシュ生成方法およびプログラム
JP4196274B2 (ja) 画像信号処理装置および方法、プログラム、並びに記録媒体
JP5141050B2 (ja) 設計方法及びプログラム
JP2020014042A (ja) 画質評価装置、学習装置及びプログラム
JP2012070269A (ja) 画像処理装置および画像処理方法
Fung et al. Tone-dependent error diffusion based on an updated blue-noise model
JP5743187B2 (ja) 像域分離方法、それを実行させるためのプログラム及び像域分離装置
Belussi et al. Snap rounding with restore: An algorithm for producing robust geometric datasets
JP2009134350A (ja) 画像の高品質化方法及び装置
CN109087308A (zh) 一种基于数学形态学的岩石颗粒分割方法
JP4108517B2 (ja) ハーフトーン化処理方法及びハーフトーン化処理システム
JP4666223B2 (ja) 分散評価装置、配置決定装置、画像処理装置、分散評価方法、配置決定方法、画像処理方法、及びそのプログラム
JP5478200B2 (ja) 画像処理装置、画像処理方法、および画像処理プログラム
JP2015197818A (ja) 画像処理装置およびその方法
JP2007208639A (ja) 画像処理方法、画像処理装置、画像記録装置、プログラムおよび記録媒体
JP5896207B2 (ja) 分布評価装置、分布決定装置、画像処理装置およびプログラム
US10009509B2 (en) Image processing device, image processing method, and printing system
JP2005216219A (ja) アダプティブ・スムージング・フィルタリング装置及びフィルタリング方法
JP4645918B2 (ja) 画像信号処理装置および方法
JP6596543B2 (ja) データの変換方法、データ変換装置、プログラム、セルオートマトンの構成方法
JP6190152B2 (ja) 画像処理装置及び画像処理方法
US8922802B2 (en) Method and system for halftoning using energy minimization
JP5744461B2 (ja) 画像処理装置およびその方法
JP6472226B2 (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100601

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110222

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110311

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110324

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150