[I]以下に、本発明にかかる画像処理用ディジタルフィルタ、ディジタルフィルタ作成方法、および、プログラム、ならびに、当該FIRフィルタを一例として用いる、画像生成装置、スーパーハイブリッド画像生成装置、画像生成方法、スーパーハイブリッド画像生成方法、印刷媒体製造方法、電子媒体製造方法、および、プログラムの実施の形態を図面に基づいて詳細に説明する。なお、以下の実施の形態においては、画像処理用ディジタルフィルタ、画像生成装置、画像生成方法、ディジタルフィルタ作成方法、および、プログラム、ならびに、スーパーハイブリッド画像生成装置、スーパーハイブリッド画像生成方法、印刷媒体製造方法、電子媒体製造方法、および、プログラムを、コンピュータ等の画像処理装置に実装した例について説明するが、この実施の形態により発明が限定されるものではない。例えば、後述する実施の形態の処理の全部または一部は、コンピュータにより行われてもよく人により実施されてもよいものである。
[画像処理装置の構成]
次に、本画像処理装置の構成について図1を参照して説明する。図1は、本実施の形態が適用される本画像処理装置の構成の一例を示すブロック図であり、該構成のうち本実施の形態に関係する部分のみを概念的に示している。
本実施形態において、画像処理装置400は、方位性のない近似フィルタ、および、各方位性をもった複数の詳細フィルタの集合である、かざぐるまフレームレット等による多重解像度分解を画像データに対して行い、サブバンド信号を取得し、分解ステップにて取得されたサブバンド信号を足し合わせることにより画像を再構成して、再構成画像データを取得する際に、複数のフィルタのうち、所定の周波数特性および/または所定の方位性をもつフィルタの少なくとも一つに対応するサブバンド信号を、減衰または増幅させることにより、再構成画像データを生成する等の機能を有する。なお、画像処理装置400の一部または全部の機能が、ディジタルフィルタとして機能してもよく、後述する画像処理装置400の記憶部406に、ディジタルフィルタの関数等を記憶しておき画像処理装置400がフィルタ処理を実行してもよい。
図1において画像処理装置400は、概略的に、制御部402と通信制御インターフェース部404と入出力制御インターフェース部408と記憶部406を備える。ここで、制御部402は、画像処理装置400の全体を統括的に制御するCPU等である。入出力制御インターフェース部408は、入力装置412や出力装置414に接続されるインターフェースである。また、記憶部406は、各種のデータベースやテーブルなどを格納する装置である。これら画像処理装置400の各部は任意の通信路を介して通信可能に接続されている。
記憶部406に格納される各種のファイル(フィルタファイル406aおよび画像データファイル406b)は、固定ディスク装置等のストレージ手段である。例えば、記憶部406は、各種処理に用いる各種のプログラム、テーブル、ファイル、データベース、および、ウェブページ等を格納する。
これら記憶部406の各構成要素のうち、フィルタファイル406aは、方位性のない近似フィルタ、および、各方位性をもった複数の詳細フィルタの集合である、方位選択性ウェーブレット・フレームまたは方位選択性フィルタ・バンクを記憶するフィルタ記憶手段である。なお、本実施の形態において、「ウェーブレット」とは、古典的なウェーブレットや、狭義のウェーブレット等に限られず、広義のウェーブレットをも含む。例えば、ウェーブレットは、有限長波形、もしくは、0から増幅して速やかに0に収束するような振幅を伴う波様の振動であり、一例として、ガボール・フィルタや、カーブレットのようなウェーブレット擬きを含む。
ここで、本実施形態では、打ち切りを伴わずに作成することができ、多様な周波数特性や方位性を有する、コンパクトな台をもつ微分可能な関数として表現することができるFIRフィルタとして、かざぐるまフレームレット(pinwheel framelet)(後述する項目[かざぐるまフレームレット]参照)を用いる場合があるが、これに限られず、例えば、単純かざぐるまフレームレット(simple pinwheel framelet)(非特許文献6参照)や、かざぐるまフレームレットの定義式(例えば、項目[かざぐるまフレームレット]にて後述する、式F1 k,l(θ1,θ2)または式F2 k,l(θ1,θ2))を構成する項の係数、および/または、指数を変更して得られるフレームレット、単純かざぐるまフレームレットのフィルタの周波数応答関数を構成する項([非特許文献6])の係数を変更して得られるフレームレット等を用いてもよい。これら、および(上述した狭義の)かざぐるまフレームレットを総称して広義かざぐるまフレームレットと呼ぶ。ここで、「広義かざぐるまフレームレット」は、方位性のない近似フィルタ、および、各方位性をもった複数の詳細フィルタの集合であって、次数を有するフィルタ・バンクである。すなわち、広義かざぐるまフレームレットは、方位選択性のある2次元フレームレットである。また、広義がざぐるまフレームレットは、多重解像度分解ができ、多様な方位選択性をもち、有限長のフィルタからなるフィルタ・バンクであるという性質がある。この広義かざぐるまフレームレットを用いて、様々な周波数領域を持ち、様々な方位選択性があり、FIRの、ディジタルフィルタを作成することができる。
一例として、かざぐるまフレームレットは、ヒトの視覚皮質の単純細胞を数理モデル化したものである。この分解は、ヒトの脳内で単純細胞により分解される信号の数理的なモデルである。かざぐるまフレームレットには、次数があり、次数は3以上の奇数で、次数が大きくなるほど、それだけ多くの方位を検出できるゆえ、多様なフィルタ作成が可能となる。なお、その分、フィルタの枚数は多くなり、計算時間も増すという性質がある。また、一例として、次数nのかざぐるまフレームレットのフィルタ数は、(n+1)2+(n−1)2となる。このうち、一つのフィルタが、近似フィルタであり、残りのフィルタが詳細フィルタである。ここで、図2は、次数5のレベル3の最大重複かざぐるまフレームレット・フィルタに次数5のレベル1とレベル2の最大重複かざぐるまフレームレット・近似フィルタを循環相関積して得られるフィルタである(循環相関積について、例えば、新井仁之著「線形代数 基礎と応用」株式会社日本評論社(2006年)を参照)。なお、かざぐるまフレームレットは、単純かざぐるまフレームレットに比べて、神経科学的に、より大脳皮質V1野の単純細胞に近いモデルになっている。
このかざぐるまフレームレットは、次数5であるので、たとえば図2に示すように、各レベルについて左側の6×6個のフィルタと、右側の4×4個のフィルタを合わせて、合計で52枚のフィルタの集合からなっている。このうち、図の中央上部の黒い矩形で囲んだ1枚が、レベル1からレベル3までの近似フィルタの循環相関積により得られるフィルタであり、その他の51枚が、レベル3の詳細フィルタにレベル1から2までの近似フィルタを循環相関積して得られるフィルタである。詳細フィルタから作られる上記フィルタの方位性は、近似フィルタのみから作られるフィルタを中心として、およそ風車の回転する向きに並べている。なお、後に詳述するように、各次数のかざぐるまフレームレットによる最大重複多重解像度分解には、レベルがあり、レベル1はもっとも細かい部分(高周波部分)を検出する。図2は、レベル3のかざぐるまフレームレットであり、レベル2,3・・・と大きくなるにつれ、大まかな部分(低周波部分)が検出される。なお、フィルタファイル406aは、かざぐるまフレームレット等の広義かざぐるまフレームレットを、関数の形式(フレームレット・フィルタの周波数応答関数等)で記憶してもよい。関数の具体例については後述する。
なお、上記に限られず、本実施の形態において様々なウェーブレットを用いてもよい。ここで、ウェーブレットは、古典的なウェーブレットや、狭義のウェーブレット等に限られず、広義のウェーブレットをも含む。例えば、ウェーブレットは、有限長波形、もしくは、0から増幅して速やかに0に収束するような振幅を伴う波様の振動であり、一例として、ガボール・フィルタや、カーブレットのようなウェーブレット擬きを含む。また、フィルタファイル406aは、方位選択性ウェーブレット・フレームのようなフレームに限らず、方位選択性フィルタ・バンク等のフィルタ群や方位性のあるフィルタを記憶してもよい。ただし、本実施の形態において、打ち切りを伴わずに多様な周波数特性や方位性を有するFIRフィルタをコンパクトな台をもつ微分可能な関数として実現するために、好適には広義かざぐるまフレームレットを用いる。
ここで、フィルタファイル406aに記憶されるフィルタは、かざぐるまフレームレット等の方位選択性ウェーブレット・フレームや方位選択性フィルタ・バンクそのものに限らず、これらから作成された、所定の周波数特性および/または所定の方位性をもつフィルタであってもよい。一例として、フィルタファイル406aに記憶されるフィルタは、単位インパルス信号の単位インパルス応答であってもよく、このようなディジタルフィルタは、画像データと同じ画素数の単位インパルス信号に広義かざぐるまフレームレットによる多重解像度分解を行って取得したサブバンド信号を足し合わせることにより再構成する際に、複数のフィルタのうち、所定の周波数特性および/または所定の方位性をもつフィルタの少なくとも一つに対応するサブバンド信号を、減衰または増幅させることにより得られる単位インパルス信号の単位インパルス応答である。このような、単位インパルス応答は、目的の原画像の画像データを高速計算するために用いられる。なお、高速計算方法の詳細は後述する。
また、他の例として、フィルタファイル406aに記憶されるフィルタは、広義かざぐるまフレームレットの各フィルタに対する周波数応答関数において、所定の重みを付けて、それらを所定の方法で乗算、加算してフィルタ係数を計算することにより作成される画像処理用ディジタルフィルタであってもよく、その所定の重みは、複数のフィルタのうち、所定の周波数特性および/または所定の方位性をもつフィルタの少なくとも一つに対応するサブバンド信号を、減衰または増幅させる重みであってもよい。なお、所定の周波数特性および/または所定の方位性をもつフィルタの例や重み付けの例については後述する。
また、画像データファイル406bは、画像データを記憶する画像データ記憶手段である。一例として、画像データファイル406bに記憶される画像データは、入力装置412を介して入力された画像データでもよく、外部システム200等からネットワーク300を介して受信した画像データでもよい。また、画像データは、カラー画像のイメージデータであってもよく、グレースケールのイメージデータであってもよい。なお、かざぐるまフレームレット等の方位選択性ウェーブレット・フレームにより多重解像度分解される前の元の画像(データ)を原画像(データ)と呼び、サブバンド信号に基づき再構成された後の画像(データ)を再構成画像(データ)と呼ぶ。なお、所定の周波数特性および/または所定の方位性について重み付けされた画像を特に処理画像と呼ぶ場合がある。ここで、画像データファイル406bは、目的の原画像の画像データと同一の画像サイズ(画素数)の単位インパルス信号を画像データとして記憶してもよい。画像データファイル406bに記憶された単位インパルス信号は、画像データとして同様にフィルタファイル406aに記憶されたフィルタ・バンクに入力され、出力された単位インパルス応答は、上述のように、目的の原画像の画像データを高速計算するために用いられる(高速計算方法の詳細は後述)。
再び図1に戻り、入出力制御インターフェース部408は、入力装置412や出力装置414の制御を行う。ここで、出力装置414としては、モニタ(家庭用テレビを含む)等の表示装置や、プリンタ等の印刷装置等を用いることができる。また、入力装置412としては、カメラ等の撮像装置、外部記憶媒体に接続される入力装置等の他、キーボード、マウス、およびマイク等を用いることができる。
また、図1において、制御部402は、OS(Operating System)等の制御プログラムや、各種の処理手順等を規定したプログラム、および、所要データを格納するための内部メモリを有する。そして、制御部402は、これらのプログラム等により、種々の処理を実行するための情報処理を行う。制御部402は、機能概念的に、フィルタ処理部402a、色空間変換部402f、処理画像出力部402g、および、ハイブリッド生成部402hを備える。ここで、フィルタ処理部402aは、分解部402b、および、再構成部402cを備え、再構成部402cは、更に重み付け部402dを備える。
このうち、フィルタ処理部402aは、方位性のない近似フィルタ、および、各方位性をもった複数の詳細フィルタの集合である、方位選択性ウェーブレット・フレームまたは方位選択性フィルタ・バンクによる多重解像度分解を行い、サブバンド信号を取得し、取得されたサブバンド信号を適切な重みを付けて足し合わせることにより画像を再構成するフィルタ処理手段である。なお、フィルタ処理部402aは、ディジタルフィルタとして機能する回路等として構成されてもよい。本実施の形態において、フィルタ処理部402aは、以下に示すように、分解部402bおよび再構成部402cを備える。
分解部402bは、画像データに対して、フィルタファイル406aに記憶された、かざぐるまフレームレット等の方位選択性ウェーブレット・フレームによる多重解像度分解を行い、サブバンド信号を取得する分解手段である。ここで、「多重解像度分解」は、最大重複多重解像度分解、最大間引き多重解像度分解、および、一部間引き一部重複多重解像度分解を含む(最大重複多重解像度分解について、例えば、新井仁之著「ウェーブレット」共立出版株式会社(2010年)参照)。なお、分解部402bにより多重解像度分解を計算する際に、循環相関積、循環畳み込み積が使われるが、それらは高速フーリエ変換を用いる公知の高速計算方法により計算してもよい。上述のように、かざぐるまフレームレット等の方位選択性ウェーブレット・フレームによる多重解像度分解には、レベルがある。ここで、図3および図4は、かざぐるまフレームレットのレベルによる違いを示すための図であり、図3は、レベル2(高周波数側)の最大重複かざぐるまフレームレット・フィルタにレベル1の最大重複かざぐるまフレームレット・近似フィルタを循環相関積したフィルタを示し、図4は、レベル3(低周波数側)の最大重複フレームレット・フィルタにレベル1とレベル2の最大重複かざぐるまフレームレット・近似フィルタを循環相関積したフィルタを示している。なお、いずれも次数は7であるので、(7+1)2+(7−1)2=100個のフィルタがある。
一例として、分解部402bは、まず、レベル1のかざぐるまフレームレットによる最大重複多重解像度分解により、もっとも細かい部分(高周波部分)を検出し、レベル2,3・・・と大きくなるにつれ、大まかな部分(低周波部分)を検出する。
かざぐるまフレームレットによる多重解像度分解には、分解フェーズと合成フェーズがある。各フェーズは、近似フィルタと詳細フィルタの配列(アレイ)からなるフィルタ・バンクにより構成されている。分解部402bは、分解フェーズおよび合成フェーズにおける画像処理を実行後、最終的に、原画像データを「フィルタ数×レベル」個の画像信号(すなわち、サブバンド信号)に分解する。
例えば、次数7のかざぐるまフレームレットによるレベル5の最大重複多重解像度分解の場合、あるレベルk(k=1から5)のサブバンド信号には、1枚の近似フィルタにより得られる1つの近似部分と、99枚の詳細フィルタにより得られる99個の詳細部分がある。ここで、図5は、次数7、レベルkのかざぐるまフレームレットにおいて、近似部分をakで表し、詳細部分をdk(1)〜dk(99)の記号(番号)で表した図である。なお、記号(番号)の位置は、図3(k=2)または図4(k=3)における各フィルタの位置と対応づけられている。すなわち、akおよびdk(1)〜dk(99)は、図3または図4における対応する位置のフィルタから取得されたサブバンド信号を表している。このように、かざぐるまフレームレットによる多重解像度分解には、分解フェーズと合成フェーズがあり、合成フェーズ後、「フィルタ数×レベル」個の信号が得られるが、これらの信号を「サブバンド信号」と呼ぶ。
また、再構成部402cは、分解部402bにより取得されたサブバンド信号を足し合わせることにより画像を再構成して、再構成画像データを取得する再構成手段である。例えば、再構成部402cは、上述した最大レベルの近似フィルタにより得られた近似部分のサブバンド信号と、すべての詳細フィルタにより得られた詳細部分のサブバンド信号を足し合わせることによって、画像を再構成して再構成画像データを取得する。このとき、かざぐるまフレームレットが完全再構成性であって、後述する重み付け部402dによる処理を行わなければ、再構成部402cは、原画像と同じ画像を再現する。換言すれば、再構成部402cは、重み付け部402dによる処理により特定のサブバンド信号を減衰(削除)したり増幅(強調)したりしてから、足し合わせることによって、原画像とは異なる再構成画像データ、すなわち処理画像データを取得する。
ここで、上述した記号(番号)を用いて、完全再構成性と重み付け処理(画像処理)の関係について説明する。原画像の入力信号(原信号)をxとすると、最大重複多重解像度分解の完全再構成性は以下の式で表される。
x=a5+(d5(1)+・・・+d5(99))+・・・+(d1(1)+・・・+d1(99))
ここで、近似部分と各詳細部分に対して適当な実数の係数を与えて、a5,1、b5,1、・・・、b5,99、・・・、b1,1、・・・、b1,99とする。ここで、図6は、図5の各フィルタの配列に対応付けて付与した係数を表す図である。この場合、再構成画像(信号)は以下の式で表される。
y=a5,1a5+(b5,1d5(1)+・・・+b5,99d5(99))+・・・+(b1,1d1(1)+・・・+b1,99d1(99))
このとき、各係数 a5,1=b5,1=・・・=b5,99=・・・=b1,1=・・・=b1,99=1の場合は、明らかにx=y(原画像と再構成画像が同一)であり、完全再構成となる。本実施の形態において、一例として、重み付け部402dは、所定の周波数特性および/または所定の方位性をもつフィルタに対応するサブバンド信号の係数a5,1、b5,1、・・・、b5,99、・・・、b1,1、・・・、b1,99に、1ではない数値を設定することにより、原画像と同一ではない再構成画像(すなわち処理画像)を生成する。
ここで、詳細フィルタの分類について説明する。詳細フィルタは、その方位性に基づいて、5種類に分類することができる。すなわち、ある方向(例えば、錯視により浮遊させたい浮遊方向)に直交する軸を「直交軸」と呼ぶとすると、(1)直交軸と同方向の方位性をもつ詳細フィルタ、(2)直交軸に垂直方向の方位性をもつ詳細フィルタ、(3)直交軸に対し正の角度の方位性をもつ詳細フィルタ、(4)直交軸に対し負の角度の方位性をもつ詳細フィルタ、(5)方位分離されていない詳細フィルタ、の5つに分類することができる。ここで、直交軸に対する角度θは、反時計回りを正とし、−90°<θ≦+90°で表される。なお、直交軸に対して水平または垂直な方位性(θ=0°,90°)をもつ詳細フィルタは、(1)または(2)に分類するので、(3)または(4)には分類しない。また、「(5)方位分離されていない詳細フィルタ」では、直交軸に対する角度の絶対値が同一である正の角度と負の角度の両方の方位性を含んでいるので、(3)または(4)に分類しない。
例えば、ある方向(浮遊方向等)を縦方向とした場合、図5の例では、「(1)直交軸と同方向の方位性をもつ詳細フィルタ」に対応するサブバンド信号は、dk(15)、dk(23)、dk(31)、dk(39)、dk(47)、dk(55)、dk(63)となる。また、「(2)直交軸と垂直方向の方位性をもつ詳細フィルタ」に対応するサブバンド信号は、dk(1)〜dk(7)となる。また、「(3)直交軸に対し正の角度の方位性をもつ詳細フィルタ」に対応するサブバンド信号は、dk(64)〜dk(99)となる。また、「(4)直交軸に対し負の角度の方位性をもつ詳細フィルタ」に対応するサブバンド信号は、dk(9)〜dk(14)、dk(17)〜dk(22)、dk(25)〜dk(30)、dk(33)〜dk(38)、dk(41)〜dk(46)、dk(49)〜dk(54)となる。また、「(5)方位分離されていない詳細フィルタ」に対応するサブバンド信号は、dk(8)、dk(16)、dk(24)、dk(32)、dk(40)、dk(48)、dk(56)〜dk(62)となる。
また、詳細フィルタは、その周波数特性によっても特徴付けることができる。すなわち、かざぐるまフレームレットの近似フィルタを中心に、近似部分から同心円状に広がる詳細フィルタは、中心から遠ざかるほど高周波成分を通過させ、中心に近づくほど低周波成分を通過させるという特徴を有する。換言すると、かざぐるまフレームレットのフィルタ配置において近似フィルタから遠い側の詳細フィルタは、高周波成分のサブバンド信号を取得し、フィルタ配置において近似フィルタから近い側の詳細フィルタは、低周波成分のサブバンド信号を取得する。
図5の例では、最も低周波側の周波数特性をもつ詳細フィルタに対応するサブバンド信号は、dk(7)、dk(14)、dk(15)、dk(64)となる。次に低周波側の周波数特性をもつ詳細フィルタに対応するサブバンド信号は、dk(6)、dk(13)、dk(21)〜dk(23)、dk(65)、dk(70)、dk(71)となる。そして、次に低周波側の周波数特性をもつ詳細フィルタに対応するサブバンド信号は、dk(5)、dk(12)、dk(20)、dk(28)〜dk(31)、dk(66)、dk(72)、dk(76)〜dk(78)となる。次に低周波側の(比較的中周波の)周波数特性をもつ詳細フィルタに対応するサブバンド信号は、dk(4)、dk(11)、dk(19)、dk(27)、dk(35)〜dk(39)、dk(67)、dk(73)、dk(79)、dk(82)〜dk(85)となる。そして、次に低周波側の(比較的高周波側の)周波数特性をもつ詳細フィルタに対応するサブバンド信号は、dk(3)、dk(10)、dk(18)、dk(26)、dk(34)、dk(42)〜dk(47)、dk(68)、dk(74)、dk(80)、dk(86)、dk(88)〜dk(92)となる。そして、次に低周波側の(比較的高周波側の)周波数特性をもつ詳細フィルタに対応するサブバンド信号は、dk(2)、dk(9)、dk(17)、dk(25)、dk(33)、dk(41)、dk(49)〜dk(55)、dk(69)、dk(75)、dk(81)、dk(87)、dk(93)、dk(94)〜dk(99)となる。そして、次に低周波側の(最も高周波側の)周波数特性をもつ詳細フィルタに対応するサブバンド信号は、dk(1)、dk(8)、dk(16)、dk(24)、dk(32)、dk(40)、dk(48)、dk(56)〜dk(63)となる。
以上が、詳細フィルタの分類についての説明である。
重み付け部402dは、所定の周波数特性(定めるところの特定の周波数特性)および/または所定の方位性(定めるところの特定の方位性)をもつフィルタに対応するサブバンド信号を減衰または増幅させる重み付け手段である。重み付け部402dは、分解部402bにより取得されたサブバンド信号に重み係数を付けして足し合わせることにより重み付けしてもよく、関数形式で記憶されたフレームレット・フィルタの周波数応答関数に重み付けを行ってもよく、その後各フィルタ係数を導き出してもよく、あるいは重み付けした各周波数応答関数を所定の方法で乗算、加算し、フィルタ係数を求めてフィルタファイル406aに格納しておくことにより、高速に再構成画像データを得られるようにしてもよい。また分解フェーズおよび/または合成フェーズにおけるフィルタに重み付けしてもよい。なお、重み付け部402dによる重み付け処理の下、フィルタ処理部402aが、画像データと同じ画素数の単位インパルス信号に対して単位インパルス応答を予め取得してフィルタファイル406aに格納しておくことにより、単位インパルス応答を用いて高速に再構成画像データを得られるようにしてもよい。すなわち、フィルタ処理部402aは、新たな画像データに対して単位インパルス応答を用いた循環畳み込み積を求めることにより高速に処理画像データを得ることができる。
本実施の形態において、重み付け部402dは、一例として、かざぐるまフレームレットの各レベルでの方位に基づく所定のフィルタ配置における位置、および/または、多重解像度分解におけるレベルにより、所定の周波数特性を指定することにより、所定の周波数成分が得られるように重み付けしてもよい。例えば、重み付け部402dは、多重解像度分解における所定レベルで近似フィルタに対応するサブバンド信号を相対的に減衰させる重み付けを行うことにより、低周波成分を除去して高周波成分を得られるように画像処理を行ってもよい。なお、この処理のため、分解部402bは、所定レベルまでの多重解像度分解を行うこととして、重み付け部402dは、最大レベルの近似フィルタにより得られた近似部分のサブバンド信号を相対的に減衰させる重み付け(例えば、最大レベルである所定レベルの近似部分の係数ak,1を0に設定)を行ってもよい。これに限らず、分解部402bは、所定レベルより大きなレベルまで多重解像度分解を行う場合に、重み付け部402dは、所定レベルより大きなレベルの詳細部分および最大レベルの近似部分を相対的に減衰させる重み付けを行ってもよい。
また、重み付け部402dは、複数のフィルタのうち、フィルタ配置において近似フィルタから遠い側の詳細フィルタに対応するサブバンド信号を相対的に増幅させ、フィルタ配置において近似フィルタと近似フィルタから近い側の詳細フィルタに対応するサブバンド信号を相対的に減衰させる重み付けを行うことにより、低周波成分に比較して高周波成分を得られるように画像処理を行ってもよい。より具体的には、上述したかざぐるまフレームレットの近似フィルタに対応するサブバンド信号と近似フィルタに近い位置にある低周波側の周波数特性をもつ詳細フィルタに対応するサブバンド信号の係数を0に近い値とし、近似フィルタから遠い位置にある高周波側の周波数特性をもつ詳細フィルタに対応するサブバンド信号の係数を1に近い値に設定してもよい。これとは反対に、重み付け部402dは、高周波成分に比較して低周波成分を得られるように画像処理を行ってもよい。すなわち、重み付け部402dは、複数の詳細フィルタのうち、フィルタ配置において近似フィルタから遠い側の詳細フィルタに対応するサブバンド信号を相対的に減衰させ、近似フィルタと、フィルタ配置において近似フィルタから近い側の詳細フィルタに対応するサブバンド信号を相対的に増幅させる重み付けを行うことにより、高周波成分に比較して低周波成分を得られるように画像処理を行ってもよい。より具体的には、上述したかざぐるまフレームレットの近似フィルタに対応するサブバンド信号と近似フィルタに近い位置にある低周波側の周波数特性をもつ詳細フィルタに対応するサブバンド信号の係数を1に近い値とし、近似フィルタから遠い位置にある高周波側の周波数特性をもつ詳細フィルタに対応するサブバンド信号の係数を0に近い値に設定してもよい。
また、重み付け部402dは、複数のフィルタのうち、高周波の周波数特性をもつフィルタおよび低周波の周波数特性をもつフィルタに対応するサブバンド信号を相対的に減衰させ、比較的高周波、比較的低周波など中周波の周波数特性をもつフィルタに対応するサブバンド信号を相対的に増幅させる重み付けを行うことにより、高周波成分および低周波成分に比較して中周波成分を得られるように画像処理を行ってもよい。より具体的には、上述したかざぐるまフレームレットの高周波の周波数特性をもつフィルタおよび低周波の周波数特性をもつフィルタに対応するサブバンド信号の係数を0に近い値とし、中周波の周波数特性をもつ詳細フィルタに対応するサブバンド信号の係数を1に近い値に設定してもよい。
また、重み付け部402dは、所定の方位性をもつ詳細フィルタに対応するサブバンド信号を減衰または増幅させる重み付けを行うことにより、所定の方位性成分が増減されるように画像処理を行ってもよい。例えば、上述したかざぐるまフレームレットの所定の角度θ(−90°<θ≦+90°)の方位性を有する詳細フィルタに対応するサブバンド信号の係数を1に近い値とし、それ以外を0に近い値に設定することにより、原画像から当該所定の角度θの方位性をもつ成分を抽出することができる。
本実施の形態において、一例として、重み付け部402dは、遠近に応じて見え方の異なるハイブリッド画像が生成されるように重み付けを行ってもよい。例えば、2枚の原画像を合成して一枚のハイブリッド画像を生成する場合、分解部402bは、広義かざぐるまフレームレットによる多重解像度分解を2種類の画像データに対して行い、再構成部402cは、重み付け部402dの処理により、2種類の画像データのうち、一方の画像データについては、高周波側の周波数特性をもつ詳細フィルタの少なくとも一つに対応するサブバンド信号を相対的に増幅させ、他方の画像データについては、低周波側の周波数特性をもつフィルタの少なくとも一つに対応するサブバンド信号を相対的に増幅させることにより、それぞれ再構成画像データを生成する。このように、重み付け部402dにより2種類の原画像について異なる周波数成分をもつように画像処理された2種類の再構成画像データは、後述するハイブリッド生成部402hの処理により、一枚の画像となるように重畳されることにより、ハイブリッド画像データとなる。
ここで、3枚の原画像を合成して一枚のスーパーハイブリッド画像を生成することも可能である。その場合、分解部402bは、方位性のない近似フィルタ、および、各方位性をもった複数の詳細フィルタの集合である、方位選択性ウェーブレット・フレームまたは方位選択性フィルタ・バンクによる多重解像度分解を3種類の画像データに対して行い、サブバンド信号を取得し、再構成部402cは、分解部402bにより取得されたサブバンド信号を足し合わせることにより画像を再構成する際に、重み付け部402dの処理により、複数のフィルタのうち、所定の周波数特性をもつフィルタの少なくとも一つに対応するサブバンド信号を、減衰または増幅させることにより、再構成画像データを取得する。より具体的には、重み付け部402dは、3種類の画像データのうち、第一の画像データについては、高周波側の周波数特性をもつ詳細フィルタの少なくとも一つに対応するサブバンド信号を相対的に増幅させ、第二の上記画像データについては、中周波側の周波数特性をもつ詳細フィルタの少なくとも一つに対応するサブバンド信号を相対的に増幅させ、第三の画像データについては、低周波側の周波数特性をもつフィルタの少なくとも一つに対応するサブバンド信号を相対的に増幅させることにより、それぞれ再構成画像データを生成する。さらに、重み付け部402dは、第一の上記画像データおよび/または第二の上記画像データについて、さらに低周波側の上記周波数特性をもつ上記フィルタの少なくとも一つに対応するサブバンド信号を相対的に増幅させることにより、それぞれ上記再構成画像データを生成してもよい。そして、このように、重み付け部402dにより3種類の原画像について異なる周波数成分をもつように画像処理された3種類の再構成画像データは、後述するハイブリッド生成部402hの処理により、一枚の画像となるように重畳されることにより、スーパーハイブリッド画像データとなる。なお、上述した所定の周波数特性は、かざぐるまフレームレットの各レベルでの方位に基づく所定のフィルタ配置における位置、および/または、多重解像度分解におけるレベルにより指定されてもよく、重み付け部402dは、周波数特性が高周波であるほど、フィルタ配置において近似フィルタから遠い側および/または低いレベルの成分を含むように画像処理を行い、周波数特性が低周波であるほど、フィルタ配置において近似フィルタから近い側および/または高いレベルの成分を含むように画像処理を行ってもよい。
本実施の形態において、一例として、重み付け部402dは、浮遊錯視が発生するように重み付けを行ってもよい。例えば、重み付け部402dは、複数の詳細フィルタのうち、錯視により浮遊させたい浮遊方向に直交する方位性をもつ詳細フィルタに対応するサブバンド信号を減衰させることにより、浮遊錯視を発生させる再構成画像データを生成してもよい。すなわち、重み付け部402dは、上記分類の「(1)直交軸と同方向の方位性をもつ詳細フィルタ」に対応するサブバンド信号を減衰させてもよい。例えば、図5において、錯視により縦方向(図5の上下方向)に浮遊させたい場合、重み付け部402dは、dk(15)、dk(23)、dk(31)、dk(39)、dk(47)、dk(55)、dk(63)のサブバンド信号を減衰させる。より具体的には、重み付け部402dは、bk,15、bk,23、bk,31、bk,39、bk,47、bk,55、bk,63の係数を0以上1未満の数値に設定する(図6参照)。なお、原画像データから分解部402bにより生成されたサブバンド信号について、「(3)直交軸に対し正の角度の方位性をもつ詳細フィルタ」に対応するサブバンド信号と、「(4)直交軸に対し負の角度の方位性をもつ詳細フィルタ」に対応するサブバンド信号との間で、信号強度の偏りが少なかった場合、この方法による重み付け部402dの信号減衰では発生する浮遊錯視が弱いことがあるが、更に、以下の方法1または2でサブバンド信号を減衰または増幅させることで、信号強度の偏りを増幅させ浮遊錯視を増強させることができる。
(方法1:2群のうち一方の群のサブバンド信号減衰)
方法1では、「(3)直交軸に対し正の角度の方位性をもつ詳細フィルタ」のなす群と、「(4)直交軸に対し負の角度の方位性をもつ詳細フィルタ」のなす群との2群のうち、一方の群に属する詳細フィルタの少なくとも一つに対応するサブバンド信号を減衰させる。すなわち、重み付け部402dは、複数の詳細フィルタのうち、浮遊方向の直交軸に対して水平または垂直でなく、かつ、直交軸に対して負の角度の方位性を持つ詳細フィルタのなす群と、直交軸に対して正の角度の方位性を持つ詳細フィルタのなす群との2群のうち、一方の群に属する詳細フィルタの少なくとも一つに対応するサブバンド信号を更に減衰させてもよい。より具体的には、「(4)直交軸に対し負の角度の方位性をもつ詳細フィルタ」のなす群を「一方の群」とする場合、重み付け部402dは、当該一方の群に対応するbk,9〜bk,14、bk,17〜bk,22、bk,25〜bk,30、bk,33〜bk,38、bk,41〜bk,46、bk,49〜bk,54のうち少なくとも一つの係数を0以上1未満の数値に設定する。
減衰させるサブバンド信号の範囲をより限定すると、一方の群に属する詳細フィルタのうち、直交軸に対する角度の絶対値が0度より大きく45度以内の傾きの方位性をもつ詳細フィルタの少なくとも一つに対応するサブバンド信号を減衰させてもよい。より具体的には、「(4)直交軸に対し負の角度の方位性をもつ詳細フィルタ」のなす群を「一方の群」とした場合、重み付け部402dは、bk,14、bk,21、bk,22、bk,28〜bk,30、bk,35〜bk,38、bk,42〜bk,46、bk,49〜bk,54のうち少なくとも一つの係数を0以上1未満の数値に設定する。
更に減衰させるサブバンド信号の範囲を限定すると、直交軸に対する角度の絶対値が0度より大きく45度以内の傾きの方位性をもつ詳細フィルタのうち、当該0度に近づくほど高次数までの、当該45度に近づくほど低次数までの、詳細フィルタの少なくとも一つに対応するサブバンド信号を減衰させてもよい。より具体的には、「(4)直交軸に対し負の角度の方位性をもつ詳細フィルタ」のなす群を「一方の群」とした場合、重み付け部402dは、bk,14、bk,21、bk,22、bk,28〜bk,30、bk,36〜bk,38、bk,45、bk,46、bk,54のうち少なくとも一つの係数を0以上1未満の数値に設定する。ここで、上述のように、一方の群に属する詳細フィルタの少なくとも一つに対応するサブバンド信号を減衰させる場合は、浮遊方向と直交する方位性をもつ詳細フィルタに対応するサブバンド信号の必ずしも全てを減衰させなくともよい。
(方法2:2群のうち他方の群のサブバンド信号増幅)
方法2では、「(3)直交軸に対し正の角度の方位性をもつ詳細フィルタ」のなす群と、「(4)直交軸に対し負の角度の方位性をもつ詳細フィルタ」のなす群との2群のうち、他方の群(方法1の一方の群とは異なる群)に属する詳細フィルタの少なくとも一つに対応するサブバンド信号を増幅させる。例えば、重み付け部402dは、2群のうち他方の群に属し、当該浮遊方向の直交軸に対し45度の傾きの方位性をもつ詳細フィルタに対応するサブバンド信号を増幅させる。より具体的には、「(3)直交軸に対し正の角度の方位性をもつ詳細フィルタ」のなす群を「他方の群」とした場合、重み付け部402dは、dk(64)、dk(71)、dk(78)、dk(85)、dk(92)、dk(99)の詳細フィルタに対応するサブバンド信号を増幅させるために、bk,64、bk,71、bk,78、bk,85、bk,92、bk,99の係数を1より大きな数値に設定する。
以上が、重み付け部402dにより減衰または増幅されるサブバンド信号のパターンの例である。なお、上述した図5を参照した記号(番号)と係数の例では、浮遊方向を縦方向とした例について説明したが、横方向に浮遊させたい場合は、45°の軸を中心に反転させたパターンの詳細フィルタのサブバンド信号を同様に減衰または増幅させればよい(例は後述する)。また、上述の例では、「(4)直交軸に対し負の角度の方位性をもつ詳細フィルタ」のなす群を「一方の群」とし、「(3)直交軸に対し正の角度の方位性をもつ詳細フィルタ」のなす群を「他方の群」とした例について説明したが、両群を入れ替えて、左右反転させたパターンの詳細フィルタのサブバンド信号を同様に減衰または増幅させてもよい。このとき、浮遊方向は同軸だが逆向きになる。このことを利用して、隣接する2つの画像領域において、それぞれが互いに逆向きの方向に浮遊するように、浮遊錯視を強調させることができる。
すなわち、重み付け部402dは、サブバンド信号を減衰または増幅させる詳細フィルタの方位性が、再構成画像データの互いに隣接する画像領域において、浮遊方向が互いに逆方向になるように制御してもよい。換言すると、「(3)直交軸に対し正の角度の方位性をもつ詳細フィルタ」と「(4)直交軸に対し負の角度の方位性をもつ詳細フィルタ」との間には、互いに角度の絶対値が同一の詳細フィルタが存在するので、隣接する2つの画像領域間において、減衰・増幅させる対象の詳細フィルタの方位性の角度を正負入れ替えればよい。例えば、一方の画像領域において、上述の例のごとく、dk(64)、dk(71)、dk(78)、dk(85)、dk(92)、dk(99)のサブバンド信号を増幅させる場合、重み付け部402dは、これと隣接する他方の画像領域において、dk(14)、dk(21)、dk(28)、dk(35)、dk(42)、dk(49)の詳細フィルタに対応するサブバンド信号を増幅させる。なお、重み付け部402dは、原画像データを2以上の画像領域に分割してからそれぞれに対して上記該当のサブバンド信号を増幅または減衰させてもよく、また、同一または別々の2以上の原画像データについてそれぞれに対して上記該当のサブバンド信号を増幅または減衰させてから画像を結合させてもよい。
再び図1に戻り、色空間変換部402fは、色空間の変換や色成分の分解・合成等を行う色空間変換手段である。例えば、色空間変換部402fは、画像データファイル406bに記憶された画像データがカラー画像の場合、分解部402bによる処理を行う前に、CIELAB色空間に変換する。これにより、画像は、L*(輝度)、a*(赤−緑)、b*(黄−青)の三つの色成分に分解される。なお、色空間変換部402fは、CIELAB色空間以外の他の色空間に変換してもよい。CIELAB色空間を使用する利点は、輝度情報のみを分解部402bの入力信号とすることができる点である。なお、画像データがグレースケールの場合は、色空間変換部402fは、色空間に関する処理は行わなくてよい。
また、処理画像出力部402gは、重み付け部402dによりサブバンド信号の減衰または増幅を行いながら再構成部402cにより再構成された再構成画像データ(すなわち処理画像データ)を、必要ならば色空間変換部402fで色成分の合成や、色空間の変換、輝度・色のスケール変換等を行ってから、出力装置414に出力する。
本実施の形態による再構成画像である処理画像は、原画像を構成する、各方位性のあるフィルタによって抽出された周波数成分および/または方位成分のうち、所定の成分が、減衰または増幅されていることを特徴とする。例えば、上述したスーパーハイブリッド画像は、3種類の原画像のうち、第一の画像データについては、高周波側の周波数特性をもつ詳細フィルタの少なくとも一つに対応するサブバンド信号が相対的に増幅され、第二の画像データについては、中周波側の周波数特性をもつ詳細フィルタの少なくとも一つに対応するサブバンド信号が相対的に増幅され、第三の画像データについては、低周波側の上記周波数特性をもつフィルタの少なくとも一つに対応するサブバンド信号が相対的に増幅されている。また、上述したハイブリッド画像は、2種類の画像データのうち、一方の画像データについては、高周波側の周波数特性をもつ詳細フィルタの少なくとも一つに対応するサブバンド信号が相対的に増幅され、他方の画像データについては、低周波側の周波数特性をもつフィルタの少なくとも一つに対応するサブバンド信号を相対的に増幅されている。
このようなハイブリッド画像およびスーパーハイブリッド画像は、一例として、画像もしくは視認者が近づいたり遠ざかったりすることによって、異なる画像として知覚されるものであり、画像が、明暗(輝度)、色調、或いは色の濃淡により形成される領域を有することでデザイン(意匠)、写真、及び/又は、文字として形成される画像である。なお、原画像は、一例として、デザイン(意匠)、写真、文字等を表す、任意の画像であってもよい。
ここで、処理画像出力部402gは、モニタ等の表示装置に再構成画像を表示出力してもよく、プリンタ等の印刷装置に再構成画像を印刷出力して印刷媒体を製造してもよい。印刷対象の媒体としては、例えば、紙、OHPシート等であってもよく、例えば、チラシやうちわ、カード、絵本、年賀状、クリスマスカード、名刺等の形態であってもよい。なお、出力する形態に応じて、処理画像出力部402gは、用途に応じたデザイン変更(例えば、はがきサイズ等に変更)を行ってもよい。また、処理画像出力部402gは、再構成画像データを、ネットワーク300を介して外部システム200に送信してもよい。
また、ハイブリッド生成部402hは、複数の画像データについて得られた再構成画像データを重畳させることにより、ハイブリッド画像データを生成するハイブリッド生成手段および/あるいはスーパーハイブリッド画像データを生成するスーパーハイブリッド生成手段である。すなわち、ハイブリッド生成部402hは、2種類の画像データについてハイブリッド画像データを生成する場合にはハイブリッド生成手段として機能し、3種類の画像データについてスーパーハイブリッド画像データを生成する場合にはスーパーハイブリッド生成手段として機能する。例えば、2種類の原画像からハイブリッド画像を生成する場合、ハイブリッド生成部402hは、2種類の画像データについて得られた再構成画像データを重畳させることにより、ハイブリッド画像データを生成する。また、3種類の原画像からスーパーハイブリッド画像を生成する場合、ハイブリッド生成部402hは、3種類の画像データについて得られた再構成画像データを重畳させることにより、スーパーハイブリッド画像データを生成する。
画像処理装置400は、ルータ等の通信装置および専用線等の有線または無線の通信回線を介して、ネットワーク300に通信可能に接続されてもよい。図1において、通信制御インターフェース部404は、画像処理装置400とネットワーク300(またはルータ等の通信装置)との間における通信制御を行う。すなわち、通信制御インターフェース部404は、通信回線等に接続されるルータ等の通信装置(図示せず)に接続されるインターフェースであり、他の端末と通信回線を介してデータを通信する機能を有する。図1において、ネットワーク300は、画像処理装置400と外部システム200とを相互に接続する機能を有し、例えば、インターネット等である。
図1において、外部システム200は、ネットワーク300を介して、画像処理装置400と相互に接続され、画像データや広義かざぐるまフレームレットに関する外部データベースや、コンピュータを画像処理装置として機能させるためのプログラムを提供する機能を備えてもよい。ここで、外部システム200は、WEBサーバやASPサーバ等として構成していてもよい。また、外部システム200のハードウェア構成は、一般に市販されるワークステーション、パーソナルコンピュータ等の情報処理装置およびその付属装置により構成していてもよい。また、外部システム200の各機能は、外部システム200のハードウェア構成中のCPU、ディスク装置、メモリ装置、入力装置、出力装置、通信制御装置等およびそれらを制御するプログラム等により実現される。
以上で、本実施の形態における画像処理装置400の構成の説明を終える。なお、上述の説明では、画像処理装置400は、原画像に対して処理画像を生成する機能について主に説明したが、これに限られず、画像処理装置400は、本願発明にかかるフィルタを作成する機能を実現するコンピュータ等であってもよい。例えば、画像処理装置400は、原画像データに対して画像処理を行って処理画像を生成する処理と同様の処理を、画像データと同じ画素数の単位インパルス信号に対して行い、得られた単位インパルス信号の単位インパルス応答をフィルタとして作成してもよい。同様に、広義かざぐるまフレームレットが関数形式で規定されている場合に、画像処理装置400は、広義かざぐるまフレームレットの各フィルタに対する周波数応答関数において、原画像に対する処理と同様の所定の重みを付けて、それらを所定の方法で乗算、加算してフィルタ係数を計算することにより画像処理用ディジタルフィルタを作成してもよい。なお、画像処理装置400は、このように作成したディジタルフィルタをフィルタファイル406aに格納し、原画像データに対して、作成したディジタルフィルタを用いて画像処理を行ってもよい。
[画像処理装置400の処理]
次に、このように構成された本実施の形態における本画像処理装置400の処理の一例について、以下に図7〜図75を参照して詳細に説明する。
[基本処理]
まず、画像処理装置400の基本処理について図7および図8を参照して説明する。図7は、本実施の形態における画像処理装置400の基本処理の一例を示すフローチャートである。
まず、分解部402bは、画像データファイル406bに記憶された画像データに対して、フィルタファイル406aに記憶されたかざぐるまフレームレットによる最大重複多重解像度分解を行い、サブバンド信号を取得する(ステップSA−1)。ここで、図8は、最大重複多重解像度分解の分解フェーズおよび合成フェーズのフィルタ・バンクの一例を示す図である。図中の数字は、レベルを表している。PWは、詳細フィルタであり、次数7の場合、各レベルに99枚存在する。Aは、近似フィルタであり、同じく次数7の場合、各レベルに1枚存在する。
図8に示すように、まず、分解部402bは、レベル1のかざぐるまフレームレットを用いて、原画像を入力信号として、99枚の詳細フィルタを通過する信号と、1枚の近似フィルタを通過する信号に分解する。次に、分解部402bは、レベル1の近似フィルタを通過した信号を、レベル2のかざぐるまフレームレットを用いて、99枚の(レベル2の)詳細フィルタを通過する信号と、1枚の(レベル2の)近似フィルタを通過する信号に分解する。分解部402bは、この処理を、最大レベル(図示の場合、レベル5)まで繰り返し行う。そして、分解部402bは、分解フェーズで得られた信号を合成フェーズのフィルタ・バンクにかけ、最終的に、99×5のサブバンド信号(詳細部分)と、1のサブバンド信号(近似部分)を取得する。
再び図7に戻り、再構成部402cは、以上のように分解部402bにより取得されたサブバンド信号を単純に足し合わせて完全再構成とするのではなく、重み付け部402dの処理により、特定の詳細フィルタからのサブバンド信号を減衰または増幅させることで重み付けを行う(ステップSA−2)。
ここで、重み付けについて、本実施の形態では、図8に示すように、重み付け部402dは、分解部402bにより出力されたサブバンド信号に対し係数をかけることで、サブバンド情報の処理を行う。なお、サブバンド信号を減衰または増幅させるフィルタのパターンの具体例(すなわち重み付けの具体例)については、次項で詳述する。
そして、再構成部402cは、以上のように重み付け部402dにより処理されたサブバンド信号を足し合わせることにより、画像を再構成する(ステップSA−3)。なお、ハイブリッド画像およびスーパーハイブリッド画像等を作成する場合には、ハイブリッド生成部402hが、複数の画像データについて得られた再構成画像データを重畳させることにより、最終的な処理画像データとしてハイブリッド画像データあるいはスーパーハイブリッド画像データを生成する。
これにて、画像処理装置400の基本処理が終了する。
[具体化処理]
次に、画像処理装置400の基本処理を更に具体化した処理の詳細について図9〜図75を参照して説明する。図9は、本実施の形態における画像処理装置400の具体化処理の一例を示すフローチャートである。この具体化処理においては、上記の基本処理の具体例に加えて、カラー画像に対して必要な色空間の変換処理および色成分の分解・合成処理、再構成データに対して用途に応じたデザインの加工処理、ならびに、完成品とするための印刷処理等について説明する。
(ステップSB−1)
まず、利用者は、錯視により浮遊させたい原画像(文字列、イラスト、写真等)を準備し、入力装置412等を介して画像データファイル406bに記憶させる。
画像処理装置400は、記憶された画像データがカラー画像の場合、色空間変換部402fの処理により、CIELAB色空間に変換する。これにより、画像は、L*(輝度)、a*(赤−緑)、b*(黄−青)の三つの色成分に分解される。なお、画像データがグレースケールの場合は、色空間変換部402fは、色空間に関する処理を行わない。
(ステップSB−2)
そして、分解部402bは、原画像の各色成分(グレースケールの場合一色)を入力信号として、かざぐるまフレームレットによる最大重複多重解像度分解を行う。ここでは、次数7のかざぐるまフレームレットを用いて説明するが、他の次数や、他の方位選択性のあるウェーブレット・フレームを用いても、同様の画像処理を行うことができる。他の例として、単純かざぐるまフレームレット(simple pinwheel framelet)を用いてもよい(非特許文献6参照)。また、かざぐるまウェーブレット・フレーム(pinwheel wavelet frame)を用いることも可能である(非特許文献7参照)。また、最大重複多重解像度分解に限らず、最大間引き多重解像度分解、または、一部間引き一部重複多重解像度分解などの多重解像度分解を行ってもよい。
(ステップSB−3)
そして、再構成部402cは、分解部402bによる最大重複多重解像度分解で得られたサブバンド信号をすべて足し合わせるのではなく、重み付け部402dの処理により、あるサブバンド信号は削除し、あるサブバンド信号はそのまま加え、そしてあるサブバンド信号は増幅して加えるという重み付け加工を行う。この加工方法によって原画像を処理した画像を配列することにより処理画像が得られる。以下では加工方法の例をいくつかのケースに分けて説明する。以下の例では、重み付け部402dが、図6に示した係数bk,nを設定することにより、サブバンド信号を増減させる。なお、近似部分の係数akにも操作を加えてもよい(0≦ak=A≦1)。
(ステップSB−4)
そして、カラー画像の場合、色空間変換部402fは、処理画像出力部402gにより表示出力あるいは印刷出力する前に、処理した各色成分(例えばL*,a*,b*)の画像信号を合成し、カラー画像に戻す。なお、出力形態等の必要に応じて色空間sRGB等への変換を行ってもよい。なお、ステップSB−4において、処理後の輝度の数値が0から255の範囲を超えている場合に、0以下の数値は0とし、255以上の数値は255に置き換えるという閾値を用いた処理を行ってもよく、輝度および色のスケールを適切に変換してもよい。
(ステップSB−5)
画像処理装置400は、必要に応じて、用途に応じてデザインを付加してもよい。例えば、再構成部402cは、浮遊錯視を発生させるため、重み付け部402dの処理により、方位性の角度が正負入れ替わる重み付けを行い作成した2枚の処理画像を奇数行と偶数行に交互に並べて結合させてもよい。このように、隣接した画像領域において、錯視による浮遊方向が反対方向となるように並べることにより浮遊錯視が強調される。なお、配列方法は、これに限られず様々なバリエーションが考えられ、例えば、奇数行と偶数行の画像が片方を1/2シフトさせて配列してもよい。また、隣接した画像領域において、錯視による浮遊方向が反対方向とは限らない互いに異なる方向となるように並べることにより浮遊錯視を強調してもよい。また、並列に配列することに限らず、円形に配列してもよい。
以上で、画像処理装置400の具体化処理の説明を終える。
[高速計算方法の例]
図9を参照して上述した具体化処理の例では、画像を入力する毎にステップSB−2およびSB−3の処理を計算するため、多くのフィルタリング計算をしなければならず比較的時間を要する。本例では、このフィルタリング計算時間を短縮させる高速計算方法の例について説明する。
まず、フィルタ処理部402a(分解部402bおよび再構成部402c等)は、画像信号の代わりに、上記画像信号と同一画像サイズ(画素数)の単位インパルス信号を、用いるフィルタ・バンク(例えば、図8に上述したフィルタ・バンク)に入力し、出力された信号Fを、フィルタファイル406a等の記憶部406に予め格納しておく。例えば、単位インパルス信号は、画像信号のうち、左上端の値が1で、残り全てが0の信号である。
そして、浮遊錯視を作成する際、フィルタ処理部402aは、図9を参照して説明したステップSB−1の処理がなされた画像xに対して、Fとの循環畳み込み積x*F(巡回畳み込み積ともいう)を計算する(循環畳み込み積について、例えば、新井仁之著「フーリエ解析学」朝倉書店(2003年)参照)。ここで、計算されたx*Fは、図9を参照して上述した具体化処理にて計算されるような再構成画像yと同じものになる。
このように、予め計算しておいたインパルス応答と原画像との畳み込み積を計算する高速計算方法を用いることで、同一画像サイズ(画素数)で同一加工方法による処理画像を、複数の原画像について作成する場合において、大幅に時間と計算量を節約することができる。より具体的には、図9を参照して説明した具体化処理の例では、一原画像あたり浮遊錯視を作成するために25秒かかっていたところ、本高速計算方法を用いれば、予めインパルス応答Fを計算しておくことによって(Fの算出には23秒かかるが)、一原画像あたり2秒で処理画像(錯視画像等)を作成することができる。
以下に、各種の重み付けを付したフィルタの実施例として、1.方位選択性のない、高域通過フィルタ、低域通過フィルタ、帯域通過フィルタ、および、帯域阻止フィルタ、ならびに、2.方位選択性のある、帯域通過フィルタ、および、帯域阻止フィルタの各作成方法と応用例について説明する。なお、以下の本項目では、記述を簡便にするために、画像データあるいはフィルタのデータを離散フーリエ変換し、各成分の絶対値をとり、零周波数成分が中央に位置するように周期的なシフトをし(Matlabのfftshift)、さらにグラフが連続的な曲面として表示できるよう点の間を補間したものを、この画像あるいはフィルタの「周波数特性のグラフ」と呼んでいる。
[1.方位選択性のない、高域通過フィルタ、低域通過フィルタ、帯域通過フィルタ、および、帯域阻止フィルタ]
方位選択性のないフィルタの各種作成方法と、フィルタの応用例(画像の周波数解析、ハイブリッド画像・スーパーハイブリッド画像の作成)について説明する。
[1.1高域通過フィルタ]
512×512画素の画像に対する高域通過フィルタの作成例について説明する。
まず、0からなる512×512の配列を作成し、左上の1点のみ1とする単位インパルスを準備し、画像処理装置400は、フィルタ処理部402aの処理により、この単位インパルスに対して、かざぐるまフレームレットを用いて最大重複多重解像度分解を行う。
一例として、単位インパルスに対して、3次のかざぐるまフレームレットを用いて多重解像度分解を行い、レベル1のすべての詳細部分のサブバンド信号を足し合わせて単位インパルス応答を求めると、高域通過フィルタが得られる(なお、3次のかざぐるまフレームレットについては図72を用いて後述する)。図10は、本実施例の高域通過フィルタの作成方法を、3次のかざぐるまフレームレットの多重解像度分解の配置を表わすテーブルで表した図である。なお、数字の位置は多重解像度分解のサブバンド信号の配置に対応しており、配置方法は図2〜図6等と同様である(なお、以下に示す他のテーブルについても同様の配置方法である)。また、テーブルの数値は、各詳細部分と近似部分に対する重み係数を示しており、そのフィルタに対応する単位インパルスを入力したときのサブバンド信号に対する重みを表わしている。つまり、各サブバンド信号にテーブルの数値をかけて足し合わせたものがフィルタとなる。
図10に示すように、重み付け部402dは、低周波成分を除去して高周波成分を得られるように、レベル1の近似フィルタに対応するサブバンド信号を減衰させる重み付けを行う。レベル1より高いレベルまで計算した場合には、重み付け部402dは、レベル1より大きなレベルの詳細部分の係数と最大レベルの近似部分の係数を0に設定している。ここで、図11は、図10に示した重み付け方法により得られた高域通過フィルタの周波数特性のグラフを示す図である。
フィルタ処理部402aにより、この高域通過フィルタを用いて原画像に対して循環畳込み積を行うと、原画像から処理画像を得られる(循環畳込み積について新井仁之『線形代数 基礎と応用』(日本評論社)参照)。ここで、図12は、本実施例で用いた原画像を示す図であり、図13は、図10の重み付け方法により得られた高域通過フィルタを原画像に適用した結果得られた処理画像である。
図13に示すように、図10の重み付け方法により得られた高域通過フィルタを適用することにより、原画像のうちの高周波部分のみを取り出すことができた。なお、図13の高周波部分の画像の縁には歪みが見られるが、本実施例において、原画像を周期拡張したからであり、フィルタ処理部402aは、この部分を対称拡張などの適切な方法で拡張してから処理し、処理画像を原画像の大きさに切り取ることで画像の縁の歪みを除去してもよい。
つづいて、図14および図15は、高周波部分を取り出すための他の重み付け方法の一例を示す図である。上述した図10の例では、レベル1の詳細部分のみを用いてフィルタを作成したが、この例では、図14および図15に示すように、レベル1の詳細部分に加えてレベル2の詳細部分を用いてフィルタを作成した。図16は、図14および図15に示した重み付け方法により得られたフィルタの周波数特性のグラフを示す図である。また、図17は、図14および図15に示した重み付け方法により得られたフィルタを原画像(図12)に適用することにより得られた処理画像を示す図である。
図16に示すように、レベル1の詳細部分のみを用いたフィルタに比べて、レベル2の詳細部分も用いた高域通過フィルタでは、周波数の通過域がやや低周波方向に広がっており、図17に示すように処理画像にもやや低周波が含まれていることがわかった。
ここで、従来の通常のウェーブレットでも、あるレベルまでの詳細部分のサブバンド信号すべてを足し合わせて、画像から高周波部分を取り出す画像処理は行われてきたが(非特許文献5参照)、従来の通常のウェーブレットでは限られた種類の高域通過フィルタしか作成することができなかった。これに対して、かざぐるまフレームレットには次数があるため、多くの種類の高域通過フィルタを作成することができ、取り出したい周波数によってフィルタを選ぶことができる。例えば、以下の方法で別の次数のかざぐるまフレームレットを用いると、異なった周波数特性の高域通過フィルタを作成することができる。
ここで、図18は、次数7のかざぐるまフレームレットにおいてレベル1の詳細部分を用いてフィルタを作成する重み付け方法を示す図である。なお、上述したように、テーブルの数字の位置は多重解像度分解のサブバンド信号の配置に対応している(次数7のかざぐるまフレームレットの配置について図74を参照)。図19は、図18の重み付け方法にて作成されたフィルタの周波数特性のグラフを示す図である。また、図20は、図18に示した重み付け方法により得られたフィルタを原画像(図12)に適用することにより得られた処理画像を示す図である。
図20に示すように、高い次数のかざぐるまフレームレットを用いてフィルタを作成することにより、細やかな各方位に対応した高周波部分を得ることができる。また、図19と図11が示すように同じレベル1の詳細部分を用いて作成したフィルタでも、次数が高い方が周波数の通過域が低周波方向に広がっていることがわかる。
次数7のかざぐるまフレームレットにおいても、レベル1の詳細部分のみならずレベル2の詳細部分を用いることにより更に多様な高域通過フィルタを作成することも可能である。図21および図22は、高周波部分を取り出すための他の重み付け方法の一例を示す図である。図23は、図21および図22に示した重み付け方法により得られたフィルタの周波数特性のグラフを示す図である。また、図24は、図21および図22に示した重み付け方法により得られたフィルタを原画像(図12)に適用することにより得られた処理画像を示す図である。
図23および図24に示すように、レベル1とレベル2の詳細部分を用いたフィルタにおいても、次数の違いにより周波数の通過域が異なることがわかり、次数の違いにより、多様なフィルタを作成できることがわかった。
ここで、上述の例では、重み付け部402dは、多重解像度分解における所定のレベルの詳細部分を全て足し合わせることによりフィルタを作成していたが、これに限られず、かざぐるまフレームレットのフィルタ配置において近似フィルタから遠い側を相対的に増強したりフィルタ配置において近似フィルタから近い側を相対的に減衰させる等により更に多様なフィルタを作成することができる。より具体的には、詳細部分のサブバンド信号を全て足すのではなく、近似部分を中心に近似部分から遠い方から順に同心円状に選んで足し合わせることにより、さらに多くの種類の高域通過フィルタを作成することができる。ここで、図25は、かざぐるまフレームレットのフィルタ配置において近似フィルタから遠い側の詳細部分を用いてフィルタを作成する重み付け方法の一例を示す図である。
図25に示すように、次数7のかざぐるまフレームレットにおいて、より高周波成分を取り出すために、重み付け部402dは、上述した図18において、低域の部分(近似部分の周辺)の係数を0に設定する。図26は、図25に示した重み付け方法により得られたフィルタの周波数特性のグラフを示す図である。また、図27は、図25に示した重み付け方法により得られたフィルタを原画像(図12)に適用することにより得られた処理画像を示す図である。
図27に示すように、かざぐるまフレームレットにおいてフィルタ配置において近似フィルタから遠い側の詳細部分のみを足し合わせて高域通過フィルタを作成することにより、より高周波部分を取り出すことができるフィルタを作成できることがわかった。
[1.2 低域通過フィルタ]
上記においては、高域通過フィルタの作成例について説明したが、これに限られず、同様の方法を用いて低周波側に適用することで、低域通過フィルタを作成することも可能である。なお、高域通過フィルタでの処理結果を原画像から引いたり、高域通過フィルタの離散フーリエ変換を定数関数1から引くことによりフィルタを作成しても同様の結果が得られる。ここで、図28は、7次のかざぐるまフレームレットを用いて低域通過フィルタを作成するための重み付けの一例を示す図である。
図28に示すように、重み付け部402dは、図25の重み付け方法とは反対に、フィルタ配置において近似フィルタから遠い側の詳細部分の係数を0に設定することにより、高周波成分を除去して低周波部分を取り出すことができる重み付けを行う。より具体的には、図28に示すように、かざぐるまフレームレットの近似フィルタに対応するサブバンド信号とフィルタ配置において近似フィルタに近い位置にある低周波側の周波数特性をもつ詳細フィルタに対応するサブバンド信号の係数を1に設定し、近似フィルタから遠い位置にある高周波側の周波数特性をもつ詳細フィルタに対応するサブバンド信号の係数を0に設定する。
図29は、図28に示した重み付け方法により得られた低域通過フィルタの周波数特性のグラフを示す図である。また、図30は、図28に示した重み付け方法により得られた低域通過フィルタを原画像(図12)に適用することにより得られた処理画像を示す図である。
図30に示すように、かざぐるまフレームレットにおいてフィルタ配置において近似フィルタから近い側の詳細部分と近似部分を足し合わせて低域通過フィルタを作成することにより、低周波部分を取り出すことができるフィルタを作成できることがわかった。
[1.3 帯域通過フィルタ・帯域阻止フィルタ]
高域通過フィルタ・低域通過フィルタについて上述したように、近似部分を中心に同心円状に詳細部分のサブバンド信号を足し合わせると帯域通過フィルタを作成することができる。なお、帯域通過フィルタでの処理結果を原画像から引いたり、帯域通過フィルタの離散フーリエ変換を定数関数1から引くことによりフィルタを作成すれば帯域阻止フィルタを得ることもできる。ここで、図31は、7次のかざぐるまフレームレットを用いて帯域通過フィルタを作成するための重み付けの一例を示す図である。
図31に示すように、重み付け部402dは、図28の重み付け方法において、更に近似部分の係数を0に設定することにより、高周波と低周波の中間の帯域成分を取り出すことができる重み付けを行う。より具体的には、図28に示すように、かざぐるまフレームレットの近似フィルタに対応するサブバンド信号の係数を0に設定し、フィルタ配置において近似フィルタに近い位置にある低周波側の周波数特性をもつ詳細フィルタに対応するサブバンド信号の係数を1に設定し、フィルタ配置において近似フィルタから遠い位置にある高周波側の周波数特性をもつ詳細フィルタに対応するサブバンド信号の係数を0に設定する。ただし、フィルタ処理部402aは、詳細部分のサブバンド信号を足し合わせたのち、その離散フーリエ変換の値の絶対値の最大値が1になるようにスケーリングする。
図32は、図31に示した重み付け方法により得られた帯域通過フィルタの周波数特性のグラフを示す図である。上述したように最大値が1になるようにスケーリングしてある。また、図33は、図31に示した重み付け方法により得られた帯域通過フィルタを原画像(図12)に適用することにより得られた処理画像を示す図である。
図33に示すように、かざぐるまフレームレットにおいて近似部分を除いてフィルタ配置において近似フィルタから近い側の詳細部分のみを足し合わせて帯域通過フィルタを作成することにより、高周波と低周波の中間の帯域成分を取り出すことができる帯域通過フィルタを作成できることがわかった。
なお、図31の例では、レベル1の詳細部分のみを用いてフィルタを作成したが、これに限られず、他のレベル(例えばレベル2)の詳細部分を用いて多様な帯域通過フィルタを作成することも可能である。図34は、7次のかざぐるまフレームレットを用いて多重解像度分解のレベル2の詳細部分を用いて帯域通過フィルタを作成するための重み付けの一例を示す図である。
図34に示すように、重み付け部402dは、図31の重み付け方法において、レベル1に代えてレベル2のフィルタ配置において近似フィルタから近い側の詳細部分を用いることにより、高周波と低周波の中間の帯域成分を取り出すことができる重み付けを行う。ただし、フィルタ処理部402aは、詳細部分のサブバンド信号を足し合わせたのち、その離散フーリエ変換の値の絶対値の最大値が1になるようにスケーリングする。
図35は、図34に示した重み付け方法により得られた帯域通過フィルタの周波数特性のグラフを示す図である。また、図36は、図34に示した重み付け方法により得られた帯域通過フィルタを原画像(図12)に適用することにより得られた処理画像を示す図である。
図36に示すように、レベル1の詳細部分を用いた帯域通過フィルタに比べて、レベル2の詳細部分を用いた帯域通過フィルタでは、周波数の通過域がやや低周波側の成分の処理画像が得られることがわかった。
[1.4 応用例]
ここで、上述したフィルタを、ハイブリッド画像・スーパーハイブリッド画像の作成に用いた応用例について説明する。
ハイブリッド画像は、2006年にOliva, Torralba and Schynsによって、「遠く」からみたときと、「近く」から見たときとで、一つの画像に異なったものが現れる2層の画像として発表された(A.Oliva, A.Torralba, P.G.Schyns,“Hybrid images” ACM Transactions on Graphics (TOG), 2006参照)。
本実施の形態によるフィルタによっても2層ハイブリッド画像を作成することができ、さらには、本実施の形態によれば、従来の2層のハイブリッド画像を超えて、「遠く」から見たとき、「やや遠くから」見たとき、「近く」から見たときで、三つの異なる画像が現れる3層のハイブリッド画像の作成をすることもできる。なお、本実施の形態により可能になった3層のハイブリッド画像を、特に「スーパーハイブリッド画像」と呼んでいる。以下の実施例においては、まず本実施の形態のフィルタによる2層のハイブリッド画像の作成例について説明し、その後、スーパーハイブリッド画像の作成例について説明する。
7次のかざぐるまフレームレットを用いてカラーハイブリッド画像を作成する例について説明する。まず、ハイブリッド画像に用いたい2個の原画像を選ぶ。本実施の形態では、図37および図38を原画像として用いた例について説明する。図37は、一方の原画像として用いた画像1を示す図であり、図38は、他方の原画像として用いた画像2を示す図である。
ここで、画像1と画像2はカラー画像であるので必要に応じて、色空間変換部402fは、CIELAB色空間に変換する。そして、フィルタ処理部402aは、画像1に高域通過フィルタを適用し、画像2に低域通過フィルタを適用する。ここで、図39は、本実施例で画像1に適用した高域通過フィルタの重み付け方法を示す図である。
図39に示すように、重み付け部402dは、7次のかざぐるまフレームレットにおいて、レベル1の詳細部分とレベル2の詳細部分を足し合わせて高域通過フィルタを作成した。図40は、図39に示した重み付け方法により得られた高域通過フィルタの周波数特性のグラフを示す図である。画像1に適用した高域通過フィルタに対して、図41は、本実施例で画像2に適用した低域通過フィルタの重み付け方法を示す図である。ただし、図41のように図示されているレベルより小さいレベルの重み係数の表記がない場合は、それらはすべて0であるものとする。以下に示すテーブルについても、特にことわらない限り、同様である。
図41に示すように、重み付け部402dは、レベル4のフィルタ配置において近似フィルタから遠い側の詳細部分の係数を0とする設定のもとでレベル4のフィルタを用いることにより、高周波成分を除去して低周波部分を取り出すことができる重み付けを行う。より具体的には、図41に示すように、多重解像度分解のレベル4において、かざぐるまフレームレットのフィルタ配置において近似フィルタに近い位置にある低周波側の詳細部分と近似部分の係数を1/3に設定し、フィルタ配置において近似フィルタから遠い位置にある高周波側の詳細部分の係数を0に設定する。図42は、図41に示した重み付け方法により得られた低域通過フィルタの周波数特性のグラフを示す図である。
そして、フィルタ処理部402aは、画像1に上述の高域通過フィルタを適用し、画像2に上述の低域通過フィルタを適用した結果、それぞれ以下の処理画像を得ることができた。図43は、図39に示した重み付け方法により得られた高域通過フィルタを画像1(図37)に適用することにより得られた処理画像を示す図である。また、図44は、図41に示した重み付け方法により得られた低域通過フィルタを画像2(図38)に適用することにより得られた処理画像を示す図である。ここでは、L*,a*,b*について同じテーブルを用いたが、それぞれ違うテーブルを用いてもよい。
ハイブリッド生成部402hは、二つの処理結果を足し合わせ、Lを0から100になるようにスケーリングし、色空間変換部402fの処理により必要に応じて色空間の変換を行うことにより、次のハイブリッド画像を得た。図45は、本実施例によって得られたハイブリッド画像を示す図である。
図45に示すように、これは遠くから見ると睡蓮の花に見え、近くから見ると紅葉と池に見える。人の視覚は、遠くから見ると高周波部分が見えにくくなり、近くから見ると低周波部分が見えにくくなるので、本実施の形態による高域通過フィルタと低域通過フィルタの組み合わせによっても、人の視覚を利用したハイブリッド画像を形成させることができることが確かめられた。
つづいて、9次のかざぐるまフレームレットを用いたスーパーハイブリッド画像の作成例について説明する。まず、スーパーハイブリッド画像にしたい原画像を三つ用意する。本実施の形態では、図46〜図48をスーパーハイブリッド画像の原画像(グレースケール)として用いた例について説明する。図46は、第一の原画像として用いた画像1を示す図であり、図47は、第二の原画像として用いた画像2を示す図であり、図48は、第三の原画像として用いた画像3を示す図である。
そして、フィルタ処理部402aは、画像1用フィルタを画像1に適用し、画像2用フィルタを画像2に適用し、画像3用フィルタを画像3に適用する。ここで、図49および図50は、本実施例で画像1に適用した画像1用フィルタの重み付け方法を示す図である。なお、テーブルの数字の位置は、上記と同様に、多重解像度分解のサブバンド信号の配置に対応している(9次のかざぐるまフレームレットの配置について後述の図75を参照)。
重み付け部402dは、9次のかざぐるまフレームレットにおいて、図49に示すように、レベル1の詳細部分の係数に0.4を設定するとともに、図50に示すように、レベル5の近似部分の係数に1を設定して重み付けを行い、フィルタを作成した。ただしレベル2からレベル4の重み係数はすべて0に設定している。図51は、図49および図50に示した重み付け方法により得られた画像1用フィルタの周波数特性のグラフを示す図である。画像1用フィルタでは、高周波成分のみならず、極めて低周波の成分も入るようにしている。図52および図53は、本実施例で画像2に適用した画像2用フィルタの重み付け方法を示す図である。
図52および図53に示すように、重み付け部402dは、9次のかざぐるまフレームレットにおいて、近似部分の係数を0に設定して、高周波と低周波の中間の帯域成分を取り出すことができる重み付けを行う。より具体的には、図52に示すように、多重解像度分解のレベル3において、かざぐるまフレームレットの近似フィルタに対応するサブバンド信号の係数を0に設定するとともに、フィルタ配置において近似フィルタに近い位置にある低周波側の周波数特性をもつ詳細フィルタに対応するサブバンド信号の係数を0.2に設定し、フィルタ配置において近似フィルタに遠い位置にある高周波側の周波数特性をもつ詳細フィルタに対応するサブバンド信号の係数を0に設定する。加えて、図53に示すように、レベル4において、かざぐるまフレームレットの近似フィルタに対応するサブバンド信号の係数を0に設定するとともに、詳細フィルタに対応するサブバンド信号の係数を0.6に設定する。
図54は、図52および図53に示した重み付け方法により得られた帯域通過フィルタの周波数特性のグラフを示す図である。図示のように、高周波と低周波の中間の帯域成分を取り出すことができる帯域通過フィルタを作成できた。ここで、図55は、本実施例で画像3に適用した画像3用フィルタの重み付け方法を示す図である。
図55に示すように、重み付け部402dは、9次のかざぐるまフレームレットを用いた多重解像度分解のレベル4において、近似部分のみ係数を1に設定して、低周波成分を取り出すことができる重み付けを行う。より具体的には、図55に示すように、多重解像度分解のレベル4において、かざぐるまフレームレットの近似フィルタに対応するサブバンド信号の係数を1に設定するとともに、詳細フィルタに対応するサブバンド信号の係数を0に設定する。
図56は、図55に示した重み付け方法により得られた低域通過フィルタの周波数特性のグラフを示す図である。図示のように、低周波成分を取り出すことができる帯域通過フィルタが作成できた。
上述のように、画像処理装置400は、画像1用に高域通過であり、かつ極めて低域通過でもあるフィルタを作成し、画像2用に帯域通過フィルタを作成し、画像3用に低域通過フィルタを作成し、フィルタ処理部402aの処理により、それぞれの原画像に対して適用する。そして、ハイブリッド生成部402hは、これらのフィルタで画像1〜3をそれぞれ処理した結果を足し合わせたのち正規化した画像をスーパーハイブリッド画像として生成する。図57は、本実施例により作成されたスーパーハイブリッド画像を示す図である。
図57に示すように、本実施例により作成されたスーパーハイブリッド画像は、遠くから見ると「と」(低域通過フィルタを適用した画像3に対応)、少し近づくと「ま」(帯域通過フィルタを適用した画像2に対応)、近くで見ると「れ」(高域通過であり、かつ極めて低域通過でもあるフィルタを適用した画像1に対応)に見える。ここで、画像1の「れ」は、高周波だけでなく極めて低周波も含むように処理することにより、エッジだけにならずに読みやすくなっている。また、「れ」に含まれる低周波は、遠くから見て高周波が見えないときには、形がわからなくなるので、他の字には影響を与えないという効果もある。また、図58は、同じハイブリッド画像(図57)の大きさを変更して配置した図である。図58に示すように、距離をとる代わりに、画像の大きさを変更しても、3種類の見え方が異なることが確認できた。
[1.5 先行技術との比較]
従来、方位選択性のないフィルタ(高域通過フィルタ・低域通過フィルタ・帯域通過フィルタ・帯域阻止フィルタ等)は、様々な方法で作成されてきた。その他に、周波数領域を単純に1と0で分けて作成したフィルタ、Butterworthフィルタ、ガウス関数を用いたGaussianフィルタなどが知られている(非特許文献4参照)。作りやすさという点ではこれらが優れている点もあるが、FIRフィルタではなくIIRフィルタである。これに対して、本実施の形態のように、かざぐるまフレームレットを用いてフィルタを作成すれば、FIRフィルタを得ることができる。また、例示のように、フィルタとしての性能も優れている。
[2.方位選択性を有する、帯域通過フィルタ、帯域阻止フィルタ]
方位選択性のあるフィルタの各種作成方法と、フィルタの応用例(周期ノイズ(periodic noise)の低減、浮遊錯視の作成、文字列傾斜錯視の解析)について説明する。
かざぐるまフレームレットは、方位選択性があるため、特定の方位選択性を持つ帯域通過フィルタを作成することができるという特徴がある。なお、帯域通過フィルタでの処理結果を原画像から引いたり、帯域通過フィルタの離散フーリエ変換を定数関数1から引くことによりフィルタを作成すると、同様に、方位性を持つ帯域阻止フィルタが得られる。そして、本実施の形態によれば、高域通過フィルタや低域通過フィルタにも方位性を持たせることができる。本実施例では、これらも方位選択性帯域通過フィルタに含めて説明し、高域・低域両方を通過する方位選択性のあるフィルタも同様に含める。
[2.1 作成方法]
7次のかざぐるまフレームレットを用いた方位選択性帯域通過フィルタの作成例について説明する。作成したいフィルタの方位性に合わせて適切な部分のサブバンド信号を選択して、選択したサブバンド信号に重みを付けて足し合わせた後、その離散フーリエ変換の値の絶対値の最大値が1になるようにスケーリングすることにより、方位選択性のあるフィルタを作成することができる。ここで、図59は、本実施例における方位選択性のあるフィルタを作成するための重み付け方法の一例を示す図である。
図59に示すように、重み付け部402dは、かざぐるまフレームレットにおける所定の方位性をもつ詳細フィルタに対応するサブバンド信号を増幅させ、それ以外のサブバンド信号を減衰させる重み付けを行う。より具体的には、図59に示すように、重み付け部402dは、7次のかざぐるまフレームレットを用いた多重解像度分解のレベル2において、直交軸に対し正の所定の角度の方位性をもつ詳細フィルタに対応するサブバンド信号の重み係数s(1/サブバンド信号の離散フーリエ変換の値の絶対値の最大値)を設定し、それ以外の詳細部分と近似部分の係数を0に設定する。ただし、フィルタ処理部402aは、詳細部分のサブバンド信号を足し合わせたのち、その離散フーリエ変換の値の絶対値の最大値が1になるようにスケーリングする。ここで、図60は、図59に示した重み付け方法により得られた方位選択性フィルタの周波数特性のグラフを示す図である。
ここで、当該フィルタの離散フーリエ変換を定数関数1から引くことにより、方位選択性帯域阻止フィルタを作成することもできる。図61は、定数関数1から引くことにより作成した方位選択性帯域阻止フィルタの周波数特性関数のグラフを示す図である。
[2.2 ノイズ低減への応用]
上述のように作成した方位選択性フィルタを用いて、周期ノイズ(periodic noise)の低減を行う応用例について以下に説明する。
ここで、フィルタのノイズ軽減機能の検証のために用いる画像を、図12の原画像に周期ノイズを加えることにより用意する(周期ノイズを加える方法については非特許文献5McAndrew参照)。図62は、原画像(図12)に周期ノイズを混入させた画像を示す図である。
図62に示すノイズの入った画像を、周波数特性のグラフと同じ方法で計算し、2次元濃淡プロットを作成する。図63は、周期ノイズ混入画像(図62)の周波数特性の2次元プロットを示す図である。なお、図63では、見やすいようにスケーリングして表示している。
上述した図59の重み付け方法によるフィルタの離散フーリエ変換を定数関数1から引くことにより作成した方位選択性帯域阻止フィルタは、この画像のノイズ低減に適するように周波数特性を対応付けて作成したものである。
フィルタ処理部402aの処理により、図62の周期ノイズ混入画像に対して方位選択性帯域阻止フィルタを適用すると、処理画像が得られる。図64は、周期ノイズ混入画像(図62)に対して方位選択性帯域阻止フィルタを適用して得られた処理画像を示す図である。
ここで、図64に示すノイズ除去後の画像を、周波数特性のグラフと同じ方法で計算し、2次元濃淡プロットを作成する。図65は、処理画像(図64)の周波数特性の2次元プロットを示す図である。なお、図65でも、見やすいようにスケーリングして表示している。
図65に示すように、図63と比べて、特徴的な方位性成分が大きく減衰している。ただし、図64に示すように、このままでは画像の縁に歪みが残っているので、フィルタ処理部402aの処理により、周辺部分をカットした。図66は、比較のため周辺部分をカットした原画像(図12)を示す図であり、図67は、周辺部分をカットした処理画像(図64)を示す図である。
図66および図64に示すように、本実施例にて作成した方位選択性帯域阻止フィルタを用いることにより、周期ノイズをほぼ完全に除去することができた。従来、ノイズ低減のためのフィルタでは、周波数領域を単純に1と0で分けて作成したフィルタや、Butterworthフィルタなどが知られているが、いずれもIIRフィルタであってFIRフィルタではなかった(非特許文献5(McAndrew)および非特許文献4(Gonzalez and Woods)参照)。これに対して、本実施の形態のかざぐるまフレームレットを用いて方位選択性フィルタを作成することによりFIRフィルタを得ることが可能となる。
[2.3 浮遊錯視画像の作成]
本実施の形態のかざぐるまフレームレットを用いて方位選択性フィルタを作成し、浮遊錯視画像の作成に用いる応用例について説明する。ここで、図68は、浮遊錯視画像を作成するために用いた原画像を示す図である。また、図69および図70は、浮遊錯視を発生させる方位選択性帯域通過フィルタを作成するための重み付け方法の一例を示す図である。なお、このテーブルの数値0,1,2について、0は対応するサブバンド信号を0倍、すなわち削除するということであり、1は対応するサブバンド信号を1倍、すなわち加工は加えない、そして2は対応するサブバンド信号を2倍に増幅することを意味する。
図69および図70に示すように、重み付け部402dは、かざぐるまフレームレットにおける所定の方位性をもつ詳細フィルタに対応するサブバンド信号を増幅させる一方で、所定の方位性のサブバンド信号を減衰させる重み付けを行う。より具体的には、図69および図70に示すように、重み付け部402dは、7次のかざぐるまフレームレットを用いた多重解像度分解のレベル1〜4において、たとえば、二つの浮遊方向のうち、縦方向に対する直交軸と同方向および垂直方向の方位性をもつ詳細フィルタのサブバンド信号の係数を0に設定し、直交軸に対し負の角度の方位性をもつ詳細フィルタに対応するサブバンド信号の係数を1または2に設定し、直交軸に対し正の角度の方位性をもつ詳細フィルタに対応するサブバンド信号の係数を0に設定する。なお、重み付け部402dは、図70に示すように、更に最大レベル(レベル5)の近似部分の係数を1に設定する。
画像処理装置400は、このように浮遊錯視の作成のための計算に用いる方位選択性帯域通過フィルタを作成し、フィルタ処理部402aの処理により原画像(図68)にフィルタを適用する。図71は、本実施例にて作成した方位選択性帯域通過フィルタを原画像(図68)に対して適用した結果得られた処理画像を並べて作成した浮遊錯視を示す図である。
図71に示すように、本実施例にて作成した方位選択性帯域通過フィルタを用いることにより、縦に動かすと横に揺れ、かつ、横に動かすと縦に揺れる、浮遊錯視画像を作成できることが確かめられた。
[かざぐるまフレームレット]
上述した実施例で用いた次数3,5,7,9のかざぐるまフレームレットのフィルタ配置について以下に図72〜図75を用いて説明する。ここで、図72は、単位インパルスの3次最大重複かざぐるまフレームレットで単位インパルスを処理して得られた際のレベル2の多重解像度分解を行った結果を示す図であり、図73は、単位インパルスの5次最大重複かざぐるまフレームレットで単位インパルスを処理して得られた際のレベル2の多重解像度分解を行った結果を示す図である。また、図74は、単位インパルスの7次最大重複かざぐるまフレームレットで単位インパルスを処理して得られた際のレベル2の多重解像度分解を行った結果を示す図であり、図75は、単位インパルスの9次最大重複かざぐるまフレームレットで単位インパルスを処理して得られた際のレベル2の多重解像度分解を行った結果を示す図である。
なお、各フィルタは、単位インパルスをかざぐるまフレームレットで多重解像度分解したサブバンド信号(単位インパルス応答)を表している。なお、変化している部分が中央にくる方にシフトしており、すべてレベル2におけるサブバンド信号である。
また、テーブルの数値の位置は、これらのサブバンド信号の位置に対応しており、図示の画像は、中央の64×64画素分を抜き出して表示している。
以上で、本発明にかかる画像処理用ディジタルフィルタ、ディジタルフィルタ作成方法、および、プログラム、ならびに、当該FIRフィルタを一例として用いる、画像生成装置、スーパーハイブリッド画像生成装置、画像生成方法、スーパーハイブリッド画像生成方法、印刷媒体製造方法、電子媒体製造方法、および、プログラムの実施の形態についての説明を終える。なお、本実施の形態のかざぐるまフレームレットを含む広義かざぐるまフレームレットを用いて方位選択性フィルタを作成すれば、以下に示すように、文字列傾斜錯視の生成のための「文字配列方向付近に方位選択性のあるフィルタ」としても用いることができる。
[II]以下に、本発明にかかる文字列傾斜錯視生成装置、文字列傾斜錯視生成方法、印刷媒体製造方法、電子媒体製造方法、および、プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
[文字列傾斜錯視生成装置の構成]
文字列傾斜錯視生成装置の構成について図76を参照して説明する。図76は、本実施の形態が適用される文字列傾斜錯視生成装置の構成の一例を示すブロック図であり、該構成のうち本実施の形態に関係する部分のみを概念的に示している。
図76において文字列傾斜錯視生成装置100は、概略的に、制御部102と通信制御インターフェース部104と入出力制御インターフェース部108と記憶部106を備える。ここで、制御部102は、文字列傾斜錯視生成装置100の全体を統括的に制御するCPU等である。入出力制御インターフェース部108は、入力装置112や出力装置114に接続されるインターフェースである。また、記憶部106は、各種のデータベースやテーブルなどを格納する装置である。これら文字列傾斜錯視生成装置100の各部は任意の通信路を介して通信可能に接続されている。
記憶部106に格納される各種のファイル(フレームレットファイル106a、文字画像ファイル106b、テスト画像ファイル106c、および、数値データファイル106d)は、固定ディスク装置等のストレージ手段である。例えば、記憶部106は、各種処理に用いる各種のプログラム、テーブル、ファイル、データベース、および、ウェブページ等を格納する。
これら記憶部106の各構成要素のうち、フレームレットファイル106aは、文字配列方向付近に方位選択性のあるフィルタ(帯域制限フィルタ等)を記憶するフィルタ記憶手段である。ここで、「文字配列方向」は、本実施の形態により文字列を作成する所望の配列方向をいい、その文字で通常使用される文字配列方向に限らない。例えば、その言語では文字を横書きに表して、縦書きで表さない場合であっても、文字配列方向は縦方向としてもよいものである。
文字列を横組みで作成したい場合、フレームレットファイル106aは、横方向付近の方位選択性のあるフィルタを記憶する。なお、文字配列方向が予め定まっていない場合等に備えて、フレームレットファイル106aは、各方位性の複数のフィルタを記憶してもよく、一例として、方位性のない近似フィルタ、および、各方位性をもった複数の詳細フィルタの集合である、方位選択性ウェーブレット・フレームまたは方位選択性フィルタ・バンクを記憶してもよい。ここで、方位選択性ウェーブレット・フレームとして、かざぐるまフレームレット(pinwheel framelet)を用いてもよく、これに限らず、例えば、単純かざぐるまフレームレット(simple pinwheel framelet)や、かざぐるまウェーブレット・フレーム等を用いてもよい(新井仁之著 「錯視図版集」三秀舎 2007年、および、非特許文献6、非特許文献7参照)。なお、かざぐるまウェーブレット・フレームは、構成するフィルタの長さが原画像の画素数に応じて変化するのに対して、かざぐるまフレームレットおよび単純かざぐるまフレームレットは、フィルタの長さが画素数に関係しない、という性質がある。例えば、かざぐるまフレームレットは、方位選択性のある2次元フレームレットであり、マルチウェーブレット・フレームの一種である。一例として、かざぐるまフレームレットは、ヒトの視覚皮質の単純細胞を数理モデル化したものである。この分解は、ヒトの脳内で単純細胞により分解される信号の数理的なモデルである。なお、かざぐるまフレームレットは、単純かざぐるまフレームレットに比べて、神経科学的に、より大脳皮質V1野の単純細胞に近いモデルになっている。一例として、かざぐるまフレームレットには、次数があり、次数は3以上の奇数で、次数が大きくなるほど、それだけ多くの方位を検出できるようになる。なお、その分、フィルタの枚数は多くなり、計算時間も増すという性質がある。また、一例として、次数nのかざぐるまフレームレットのフィルタ数は、(n+1)2+(n−1)2となる。このうち、一つのフィルタが、近似フィルタであり、残りのフィルタが詳細フィルタである。ここで、図77は、次数7のレベル2の最大重複かざぐるまフレームレット・フィルタに次数7のレベル1の最大重複かざぐるまフレームレット・近似フィルタを循環相関積して得られるフィルタを示す図である(循環相関積について、例えば、新井仁之著「線形代数 基礎と応用」株式会社日本評論社(2006年)を参照)。ここで、図77の左欄の数字は行番号を表し、上欄の数字は列番号を表し、上欄のアルファベットは互いに対称な方位性の違いを表す。なお、フィルタの名称は、(行番号−列番号−レベル a,b)で表し、例えば、図77の最左上の1枚のフィルタは、(1−8−2a)と表す。
図77のかざぐるまフレームレットは、次数7であるので、たとえば図77に示すように、各レベルについて左側の8×8個のフィルタと、右側の6×6個のフィルタを合わせて、合計で100枚のフィルタの集合からなっている。このうち、図の中央上部の1枚のフィルタ(1−1−2a)が、レベル1とレベル2の近似フィルタの循環相関積により得られるフィルタであり、その他の99枚が、レベル2の詳細フィルタにレベル1の近似フィルタを循環相関積して得られるフィルタである。詳細フィルタから作られるフィルタの方位性は、近似フィルタのみから作られるフィルタを中心として、およそ風車の回転する向きに並べている。このうち、文字配置方向が横方向の場合、フレームレットファイル106aは、横方向付近の方位性をもつフィルタ群、たとえば(2−1−2a),(3−1−2a),(4−1−2a),(5−1−2a),(6−1−2a),(7−1−2a),(8−1−2a),(2−2−2a),(3−2−2a),(4−2−2a),(5−2−2a),(6−2−2a),(7−2−2a),(2−2−2b),(3−2−2b),(4−2−2b),(5−2−2b),(6−2−2b),(7−2−2b)のうちの一つのフィルタを用いてもよい。一方、文字配置方向が縦方向の場合、フレームレットファイル106aは、縦方向付近の方位性をもつフィルタ群(1−8−2a),(1−7−2a),(1−6−2a),(1−5−2a),(1−4−2a),(1−3−2a),(1−2−2a),(2−7−2a),(2−6−2a),(2−5−2a),(2−4−2a),(2−3−2a),(2−2−2a),(2−7−2b),(2−6−2b),(2−5−2b),(2−4−2b),(2−3−2b),(2−2−2b)のうちの一つのフィルタを用いてもよい。なお、各次数のかざぐるまフレームレットによる最大重複多重解像度分解には、レベルがあり、レベル1はもっとも細かい部分(高周波部分)を検出する。図77は、レベル2のかざぐるまフレームレットであり、レベル2、3・・・と大きくなるにつれ、大まかな部分(低周波部分)が検出される。
なお、フレームレットファイル106aは、かざぐるまフレームレット等の方位選択性ウェーブレット・フレームを、関数の形式(フレームレット・フィルタの周波数応答関数等)で記憶してもよい。また、上記に限られず、本実施の形態において様々なウェーブレットを用いてもよい。ここで、ウェーブレットは、古典的なウェーブレットや、狭義のウェーブレット等に限られず、広義のウェーブレットをも含む。例えば、ウェーブレットは、有限長波形、もしくは、0から増幅して速やかに0に収束するような振幅を伴う波様の振動であり、一例として、ガボール・フィルタや、カーブレットのようなウェーブレット擬きを含む。また、フレームレットファイル106aは、方位選択性ウェーブレット・フレームのようなフレームに限らず、方位選択性フィルタ・バンク等のフィルタ群や方位性のあるフィルタを記憶してもよい。
また、文字画像ファイル106bは、複数の文字の文字画像を記憶する文字画像記憶手段である。文字画像は文字毎に記憶してもよく、また複数の文字をまとめて記憶し、必要に応じて一文字ずつ取り出してもよい。一例として、文字画像ファイル106bに記憶される文字画像データは、フォント、すなわち同じサイズで同じ書体の文字セットのデータである。なお、文字画像ファイル106bに記憶される文字画像のデータ形式は、ビットマップフォント等のビットマップ形式であってもよく、スケーラブルフォント等のベクタ形式であってもよい。ここで、図78は、文字画像ファイル106bに記憶されるフォントの一例を示す図である。この例では、文字画像ファイル106bは、MSゴシックで12ptのフォントを記憶し、一文字は16×16ピクセルとなっている。なお、「・」は、そのコードに該当する文字がないことを示す。また、言語は日本語である必要はなく、例えば中国語や韓国語等のさまざまな言語のフォントを用いてもよい。
また、テスト画像ファイル106cは、テスト画像を記憶するテスト画像記憶手段である。ここで、テスト画像は、文字配列方向の線分あるいは線分に形状の近い図形を一文字単位として、線分あるいは図形を一つ以上文字配列方向に並べた画像である。このテスト画像は文字配列方向と垂直な方向にずらしたものが複数記憶されてもよい。例えば、文字配列方向が横方向の場合、線分あるいはそれに形状の近い図形は、ホリゾンタルバー(horizontal bar)やダッシュ(dash)などの横棒状の記号(例「―」)であってもよい。また、文字配列方向が縦方向の場合、バーティカルバー(Vertical bar)や縦線などの縦棒状の記号(例「|」)であってもよい。なお、線分あるいはそれに形状の近い図形と文字は同じ一文字単位である。ここで、図79は、テスト画像ファイル106cに記憶される複数のテスト画像の一例を示す図である。なお、図79では、1〜16の合計16個のテスト画像が表されている(なお、図形を囲む矩形はテスト画像に含まれない。)。
一例として図79に示すように、1つのテスト画像は、一文字単位で階段状に並べられた複数の水平バーから構成されている。この例では、一文字単位は、16×16ピクセルであり、テスト画像は、横組み3文字分の16×48ピクセルで構成されている。そして、中央のバーは、左右のバーと1ピクセルずつ高さをずらして階段状に配置されている。このように、テスト画像は、文字配列方向のバーを一文字単位として、バー同士を階段状の段差を設けながら、当該文字配列方向に並べた複数のバーから構成されてもよい。ここで、図79に示すように、テスト画像ファイル106cは、1つのテスト画像におけるバーの位置が、文字配列方向の垂直方向に一定距離ずつ互いに異なる複数のテスト画像を記憶してもよい。図79の例では、テスト画像jとテスト画像j+1は、バーの位置が互いに1ピクセルずつ異なっており、一文字単位の高さが16ピクセルあるので、合計16個のテスト画像から構成されている。なお、このバー位置の差異の連続性は、方位成分の極小値を求めるため、あるいは、文字列における文字の割り当ての際に重要になるので、テスト画像ファイル106cは、テスト画像1〜16のように番号等に対応付けてテスト画像を記憶してもよい。
再び図76に戻り、入出力制御インターフェース部108は、入力装置112や出力装置114の制御を行う。ここで、出力装置114としては、モニタ(家庭用テレビを含む)、携帯端末や携帯電話の画面等の表示装置や、プリンタ等の印刷装置、USBメモリ等の電子媒体にデータを記録するデータ記録装置等を用いることができる。また、入力装置112としては、キーボード、マウス、およびマイク等の他、カメラ等の撮像装置、外部記憶媒体に接続される入力装置等を用いることができる。
また、図76において、制御部102は、OS(Operating System)等の制御プログラムや、各種の処理手順等を規定したプログラム、および、所要データを格納するための内部メモリを有する。そして、制御部102は、これらのプログラム等により、種々の処理を実行するための情報処理を行う。制御部102は、機能概念的に、文字テスト画像生成部102a、方位差算出部102b、文字列作成部102c、文字列出力部102g、および、文字選択部102hを備える。なお、文字列作成部102cは、更に、グループ化部102d、基準判定部102f、および、文字列錯視評価値付加部102eを備える。
このうち、文字テスト画像生成部102aは、テスト画像ファイル106cに記憶されたテスト画像上の一文字単位に相当する線分、あるいは、線分に形状の近い図形(例えば略線分)を、文字画像ファイル106bに記憶された一つの文字の文字画像で置き換えることにより、文字テスト画像を生成する文字テスト画像生成手段である。ここで、上述のようにテスト画像ファイル106cに連続性のある複数のテスト画像が記憶される場合、文字テスト画像生成部102aは、これら複数のテスト画像において、同順位の一文字単位に相当する線分あるいは線分に形状の近い図形(例えば、全テスト画像に共通して2文字目の線分あるいは線分に形状の近い図形)を、一つの文字の文字画像で置き換えることにより、文字テスト画像を生成してもよい。
また、方位差算出部102bは、フレームレットファイル106aに記憶された、文字配列方向付近に方位選択性のあるフィルタを用いて、ある文字についての文字テスト画像の方位成分と、当該文字に置き換える前のテスト画像の方位成分との差を算出する方位差算出手段である。本実施形態において、ある画像の方位成分とは、画像のうちの所定の方位性をもつ成分からなる画像である。例えば、方位差算出部102bは、文字テスト画像とテスト画像を、それぞれ文字配列方向付近の方位性をもつフィルタでフィルタリングし、フィルタ出力された方位成分データを比較することによって差を算出してもよい。この際、複数のフィルタを用いてそれぞれ差を算出してもよい。なお、文字テスト画像とテスト画像が複数セットある場合には、方位差算出部102bは、それぞれについて方位成分の差を算出する。更に、方位差算出部102bは、算出した方位成分の差を数値データファイル106dに記憶させてもよい。なお、フィルタリング方法の例として、方位差算出部102bは、文字テスト画像およびテスト画像の画像データに対して、フレームレットファイル106aに記憶された、かざぐるまフレームレット等の方位選択性ウェーブレット・フレームによる多重解像度分解を行い、各方位成分のうち文字配列方向付近の方位成分の画像信号(サブバンド信号)を取得してもよい。ここで、「多重解像度分解」は、最大重複多重解像度分解、最大間引き多重解像度分解、および、一部間引き一部重複多重解像度分解を含む(最大重複多重解像度分解について、例えば、新井仁之著「ウェーブレット」共立出版株式会社(2010年)参照)。上述のように、かざぐるまフレームレット等の方位選択性ウェーブレット・フレームによる多重解像度分解には、レベルがある。一例として、方位差算出部102bは、まず、レベル1のかざぐるまフレームレットによる最大重複多重解像度分解により、もっとも細かい部分(高周波部分)を検出し、レベル2,3・・と大きくなるにつれ、大まかな部分(低周波部分)を検出する。
方位成分の差の算出方法の一例として、方位差算出部102bは、以下の式を用いて、画像をフィルタリングしたデータの差xのノルムを算出してもよい。ここで、一文字単位は、N1×N2ピクセルあり、x[j,k]は、縦j番目横k番目のピクセルにおける2画像間の階調差(ベクトル)である。なお、これに限らず、方位差算出部102bは、2画像間の類似性を評価する公知の画像間類似度算出方法を用いて、文字テスト画像の方位成分とテスト画像の方位成分との差を算出してもよい。
また、文字列作成部102cは、所定の基準で、対応する文字を一文字単位に割り当てることにより、文字列傾斜錯視を発生させる文字列を作成する文字列作成手段である。例えば、文字列作成部102cは、方位差算出部102bにより算出された方位成分の差が小さいことを基準(数値化した基準を「指標A」と呼ぶ)として、文字を割り当ててもよい。ここで、連続性のある複数のテスト画像を用いた場合、文字列作成部102cのグループ化部102dは、方位差算出部102bにより文字についてテスト画像毎に算出された方位成分の差が、複数のテスト画像において極小となる一または複数のテスト画像に当該文字をグループ化してもよい。そして、文字列作成部102cは、極小値が小さいことを基準(指標A)として文字を割り当ててもよい。ここで、極小値は、複数のテスト画像全体における最小値ではなく、複数のテスト画像における局所的な最小値であるため、一つの文字について複数存在する場合がある。この場合、グループ化部102dは、それぞれの極小値に対応する複数のテスト画像に当該文字をグループ化することとなる。なお、文字列作成部102cは、複数のテスト画像の連続性に従って各グループの中から一つずつ順番に文字を割り当てることによって、文字列傾斜錯視を発生させる文字列を作成してもよい。
また、文字列作成部102cは、方位成分の差の極小値が小さいこと(指標A)に加えて、当該極小値の近傍における最大値と最小値の差が大きいことを基準(数値化した基準を「指標B」と呼ぶ)として、文字を割り当ててもよい。すなわち、前者(指標A)は、テスト画像の方位成分に対する類似の程度の指標であって、後者(指標B)は、特定のテスト画像のみに類似していることの特異性の程度の指標と考えてもよい。以下に、図を参照して指標Aと指標Bの違いを説明する。ここで、図80および図81は、テスト画像番号を横軸に方位成分の差のノルム|x|を縦軸にとったグラフである。
図80に示す文字では、方位成分の差は、どのテスト画像と比べても総じて低い。すなわち、どのテスト画像とも比較的類似しており特異性がないといえる。一方、図81に示す文字では、方位成分の差は、テスト画像間で大きく上下している。すなわち、あるテスト画像では類似しているが、他のテスト画像では類似しないものがあり、特異的であるといえる。方位成分の差の極小値(テスト画像jのときの|x|の値)だけで両者を比べた場合、図80の文字の方が極小値は小さい。そのため、指標Aのみを基準にして順位付けした場合は、図81の文字よりも図80の文字の方が上位に順位付けされ、文字列の割り当て対象となりやすい。しかしながら、図80のように極小値も他の値も総じて低い文字では、文字列傾斜錯視が発生しにくいこともある。そこで、これを避けるために、極小値が小さいこと(指標A)に加えて、極小値の近傍における最大値と最小値の差が大きいこと(指標B)を基準とする。例えば、図80および図81に示すように、極小値を示すテスト画像jの近傍内において、最大値と最小値の差Δ|x|を求め、値が大きいことを基準として順位付けする。そうすると、指標Bの観点では、図80の文字よりも図81の文字の方が、極小値近傍の最大値と最小値の差Δ|x|が大きいので上位に順位付けされる。
なお、この指標Aと指標Bの間で、文字列作成部102cは、任意の方法で、文字群を順位付けしてもよい。例えば、指標Aをグループ化部102dによるグループ化にのみ用いて、基準判定部102fは順位付け手段を備えており、指標Bのみを基準にグループ内の文字群を順位付けしてもよい。他の例として、基準判定部102fは、以下の方法にて、指標Aと指標Bの複合指標を算出して、グループ内の文字群を順位付けしてもよい。ここで、図82は、指標Aと指標Bの複合指標の算出方法の一例を説明するためのグラフである。横軸は指標A(−|x|)を表し、縦軸は指標B(Δ|x|)を表している。なお、この例では、数値が大きい方が評価が高くなるように、上述した方位成分の差のノルム|x|に−1を乗じて指標Aとしている。
図82に示すように、まず、評価基準線(図中の実線)を作成する。評価基準線は、一例として、高く評価する文字(記号)の座標と、低く評価する文字(記号)の座標を結ぶ線であってもよい。たとえば図79に示したテスト画像を用いた場合、バーは、文字列傾斜錯視を発生させる理想的な文字(記号)である。そこで、バー自身(「−」など)で文字テスト画像を作成して指標Aと指標Bを求め、評価基準の一端としてプロットする。バー自身に置き換えた文字テスト画像とテスト画像は、特定のバー位置で完全に一致すると考えられるので、指標A(−|x|)はほぼ0であり、指標B(Δ|x|)は大きい(図中の実線上の右上の端点)。一方、低く評価する文字の例として、空白スペース「 」で文字テスト画像を作成して指標Aと指標Bを求め、評価基準の他端としてプロットする。空白スペースに置き換えた文字テスト画像とテスト画像は、どのバーの位置でも同様に大きく異なるので、指標A(−|x|)は小さく、指標B(Δ|x|)はほぼ0となる(図中の実線上の左下の端点)。
したがって、図82の例では、評価基準線に沿って、右上に行くほど評価が高く、反対に左下に行くほど評価が低くなる。このことを数値化するために、以下の算出方法を採ってもよい。すなわち、ある文字について座標(指標A,指標B)=[a,b]となるとき、その点から評価基準線に垂線(図中の破線)を下ろし、その垂線の足から更にx軸に対して垂線(図中の一点鎖線)を下ろす。そのときのx軸との交点(c,0)の値cを複合指標としてもよい。なお、複合指標の算出方法はこれに限られず、基準判定部102fは、公知の複合指標算出方法により、指標Aと指標Bの複合指標を算出して、順位付けを行ってもよい。このほか、グループ内の順位付けは、一般に多次元空間に文字の指標値をプロットして、ある直線へ直交射影をとるなど、いろいろな方法を用いることができる。
順位付け手段を備えた基準判定部102fは、指標や複合指標を数値データファイル106dに記憶させてもよい。
ここで、グループ化部102dの処理により、複数のテスト画像に共通してグループ化された文字を再グループ化する例について説明する。ただし以下では図79に示したテスト画像を例として用いる。多くの文字は、複数のテスト画像に対して極小値をとる。ここで、図83は、ある文字について、横軸をテスト画像番号として、縦軸を方位成分の差のノルム|x|としたグラフである。
図83に示すように、この文字では、極小値がjとkの2箇所で現れる。この場合、グループ化部102dは、この文字を、グループjだけではなくグループkにも分類する。ここで、グループ化部102dは、複数のテスト画像のうち互いにバーの位置が所定の間隔で異なる二つのテスト画像に共通してグループ化された文字を再グループ化してもよい。このことは、テスト画像番号がバー位置の連続性を表している場合には、グループ化部102dは、テスト画像番号が所定数nはなれた2つのグループm,m+n(mod 16)に共通して分類された文字を再グループ化することに等しい。ここで、上述のようにテスト画像番号が1〜16までありグループm=1〜16である場合の再グループ化の例を以下に示す。なお、ここでは、n=6とした。
(グループ1)∩(グループ7)=(新グループ1)
(グループ2)∩(グループ8)=(新グループ2)
(グループ3)∩(グループ9)=(新グループ3)
(グループ4)∩(グループ10)=(新グループ4)
(グループ5)∩(グループ11)=(新グループ5)
(グループ6)∩(グループ12)=(新グループ6)
(グループ7)∩(グループ13)=(新グループ7)
(グループ8)∩(グループ14)=(新グループ8)
(グループ9)∩(グループ15)=(新グループ9)
(グループ10)∩(グループ16)=(新グループ10)
(グループ11)∩(グループ1)=(新グループ11)
(グループ12)∩(グループ2)=(新グループ12)
(グループ13)∩(グループ3)=(新グループ13)
(グループ14)∩(グループ4)=(新グループ14)
(グループ15)∩(グループ5)=(新グループ15)
(グループ16)∩(グループ6)=(新グループ16)
そして、再グループ化された文字をグループ番号(テスト画像番号)が昇順または降順になるように順に文字を配列すれば、一般に、より滑らかに傾いて見える文字列傾斜錯視を生成できる。なお、一定間隔の2つのグループに共通して分類される場合に再グループ化することに限られず、グループ化部102dは、同じ原理で、3つ以上のグループに共通して分類される場合に再グループ化してもよい。このほか、いくつかの条件を考えて、例えば複数のフィルタを用いて、グループ分け、順位付けすれば、より視認しやすい文字列傾斜錯視ができる。なお、共通とするグループの数の増加に従って、再グループ内に残る文字数は減少する。
文字列錯視評価値付加部102eは、文字列作成部102cにより作成された文字列傾斜錯視を発生させる文字列に対して評価値を付加する文字列錯視評価値付加手段である。たとえば、文字列錯視評価値付加部102eは文字列の各文字に対して得られている方位成分の差、指標値、または複合指標値を用いて文字列に総合的な評価値を付加する。たとえば、総合的な評価値には加算値や平均値を用いてもよいが、それに限るものではない。また文字列錯視評価値付加部102eは数値データファイル106dに記憶された値を必要に応じて呼び出して用いてもよい。
また、文字列出力部102gは、文字列作成部102cにより作成された文字列を、出力装置114に出力する文字列出力手段である。例えば、文字列出力部102gは、モニタ等の表示装置に文字列を表示出力してもよく、プリンタ等の印刷装置に文字列を印刷出力して印刷媒体を製造してもよく、電子的なデータなど電子媒体を製造してもよい。印刷対象の媒体としては、例えば、紙やOHPシート等のように文字列を一時的ではなく表示する媒体である。一例として、印刷媒体は、チラシやうちわ、カード、絵本、年賀状、クリスマスカード、名刺等の形態であってもよい。電子媒体としては、たとえばウェブページや電子メール、電子的な記録媒体である。なお、出力する形態に応じて、文字列出力部102gは、用途に応じたデザイン変更(例えば、はがきサイズ等に変更)を行ってもよい。また、文字列出力部102gは、文字列傾斜錯視に関する各種データをネットワーク300を介して外部システム200に送信してもよい。
また、文字選択部102hは、文字画像ファイル106bに文字画像が記憶された複数の文字のうちの任意の数の文字を、キーボード等の入力装置112を介して利用者に選択させる文字選択手段である。なお、文字選択部102hにより文字群が選択された場合、文字列作成部102cは、文字選択部102hにより選択された文字を割り当て対象とする。なお、文字テスト画像生成部102a等の制御部102は、文字画像ファイル106bに記憶された文字画像の全ての文字について処理を行った後に、文字列作成部102cは、そのうちで文字選択部102hにより選択された文字のみを対象にして文字列を作成してもよく、反対に、最初から文字選択部102hにより選択された文字のみを対象にして処理を行ってもよい。
また、この文字列傾斜錯視生成装置100は、ルータ等の通信装置および専用線等の有線または無線の通信回線を介して、ネットワーク300に通信可能に接続されてもよい。図76において、通信制御インターフェース部104は、文字列傾斜錯視生成装置100とネットワーク300(またはルータ等の通信装置)との間における通信制御を行う。すなわち、通信制御インターフェース部104は、通信回線等に接続されるルータ等の通信装置(図示せず)に接続されるインターフェースであり、他の端末と通信回線を介してデータを通信する機能を有する。図76において、ネットワーク300は、文字列傾斜錯視生成装置100と外部システム200とを相互に接続する機能を有し、例えば、インターネット等である。
図76において、外部システム200は、ネットワーク300を介して、文字列傾斜錯視生成装置100と相互に接続され、デジタルフォントや画像データやかざぐるまフレームレットに関する外部データベースや、コンピュータを文字列傾斜錯視生成装置として機能させるためのプログラムを提供する機能を備えてもよい。ここで、外部システム200は、WEBサーバやASPサーバ等として構成していてもよい。また、外部システム200のハードウェア構成は、一般に市販されるワークステーション、パーソナルコンピュータ等の情報処理装置およびその付属装置により構成していてもよい。また、外部システム200の各機能は、外部システム200のハードウェア構成中のCPU、ディスク装置、メモリ装置、入力装置、出力装置、通信制御装置等およびそれらを制御するプログラム等により実現される。
以上で、本実施の形態における文字列傾斜錯視生成装置100の構成の説明を終える。
[文字列傾斜錯視生成装置100の処理]
次に、このように構成された本実施の形態における文字列傾斜錯視生成装置100の処理の一例について、以下に図84〜図89を参照して詳細に説明する。図84は、本実施の形態における文字列傾斜錯視生成装置100の処理の一例を示すフローチャートである。なお、以下の処理(特に、ステップSA−1〜SA−4)においては、ある一つの文字について処理を行うように説明することがあるが、これらの処理は、対象とする複数の文字(文字画像ファイル106bに記憶された文字画像の複数の文字、または、文字選択部102hにより選択された文字集合)について、並列に又は繰り返し実行される。また、以下の例では、文字配列方向が横向きの場合について説明するが、本実施の形態はこれに限られない。また、テスト画像としては図79に示したものを使った場合について説明するが、本実施の形態はこれに限られない。
図84に示すように、まず、文字テスト画像生成部102aは、テスト画像ファイル106cに記憶されたテスト画像上の一文字単位に相当するバーを、文字画像ファイル106bに記憶された一つの文字の文字画像で置き換えることにより、文字テスト画像を生成する(ステップSA−1)。ここで、図85は、文字テスト画像の一例を示す図である。
図85に示すように、この例では、上述した図79のテスト画像2において、2文字目のバーが「あ」に置き換えられている。なお、文字テスト画像生成部102aは、テスト画像上の2文字目のみならず、その他の1文字目や3文字目のバーと文字「あ」を置き換えて、以降の処理で、作成した3つの文字テスト画像のうち、何文字目と置き換えた場合に最もテスト画像と類似するかを判定してもよい。また、図79にて上述のように、テスト画像ファイル106cに連続性のある複数のテスト画像が記憶される場合には、文字テスト画像生成部102aは、これら複数のテスト画像1〜16において共通して、所定番目のバー(例えば、全テスト画像に共通して2文字目のバー)を、一つの文字の文字画像で置き換えて文字テスト画像を生成してもよい。
再び図84に戻り、方位差算出部102bは、フレームレットファイル106aに記憶された、文字配列方向付近に方位選択性のあるフィルタを用いて、ステップSA−1にて作成した文字テスト画像および元のテスト画像をそれぞれフィルタリングして、方位成分のデータを取得する(ステップSA−2)。この例では、文字配列方向は横方向であるので、方位差算出部102bに用いられるフィルタは、水平方向付近に方位性があるフィルタであり、一例として、次数7のかざぐるまフレームレットのフィルタ(4−1−1a)や、フィルタ(7−1−2a),フィルタ(5−1−2a)を用いてもよい(図77参照)。なお、これらのフィルタは、それぞれ比較的、高域、中域、低域の帯域通過フィルタであり、高域通過フィルタで作成した文字列は近くから見た方が文字列傾斜錯視が強く、反対に、低域通過フィルタで作成した文字列は遠くから見た方が文字列傾斜錯視が強いという傾向がある。
そして、方位差算出部102bは、ステップSA−2にてフィルタリングした文字テスト画像の方位成分と元のテスト画像の方位成分との差を算出する(ステップSA−3)。例えば、方位差算出部102bは、両画像をフィルタリングしたデータの差xのノルムを算出してもよい。上述した図85の例において、もし文字「あ」にテスト画像2の中央のバーのもつ水平成分に近い水平成分があれば、図85のフィルタリングデータとテスト画像2のフィルタリングデータの差のノルムは小さくなる。このように、方位差算出部102bは、テスト画像j(j=1,2,…15,16)に対して、文字テスト画像との方位成分の差のノルムをそれぞれ算出して、16個の数値を得る。なお、これに限らず、方位差算出部102bは、2画像間の類似性を評価する公知の画像間類似度算出方法を用いて、文字テスト画像の方位成分と元のテスト画像の方位成分との差を算出してもよい。また、方位算出部102bは算出した方位成分の差を数値データファイル106dに記憶させてもよい。
そして、文字列作成部102cの基準判定部102fは、文字の基準判定を行う(ステップSA−4)。例えば、基準判定部102fは、複数の文字のうちで、どの文字がその箇所にふさわしいかを順位付けることにより、基準判定を行ってもよい。例えば、基準判定部102fは、方位差算出部102bにより算出された方位成分の差が小さい順に順位付けを行ってもよい。なお、バー位置に連続性のある複数のテスト画像を用いて処理を行った場合、文字列作成部102cのグループ化部102dは、方位差算出部102bによりテスト画像毎に算出された方位成分の差が、複数のテスト画像において極小となる一または複数のテスト画像に当該文字をグループ化してもよい。例えば、文字「あ」がテスト画像1〜16の中でjとkにおいて極小値をとる場合、グループ化部102dは、文字「あ」をグループjとグループ「k」に分類する。この操作を対象となる全ての文字について行い、全角空白「 」を除いて、グループ1〜16の少なくとも一つに分類する。グループ内においては、基準判定部102fは、指標Aとして極小値の小さい順に順位付けを行ってもよく、指標Bとして極小値近傍の最大値と最小値の差が大きい順に順位付けを行ってもよく、あるいは、指標Aと指標Bの複合指標で順位付けを行ってもよい。なお、これに限られず、グループ化部102dは、複数のテスト画像のうち互いにバーの位置が所定の間隔で異なる二つのテスト画像に共通してグループ化された文字を再グループ化してもよい。また、これらの処理を複数の適切なフィルタを用いて行ってもよい。また、基準判定部102fは算出した指標や複合指標を数値データファイル106dに記憶させてもよい。
そして、文字列作成部102cは、基準判定部102fの処理よる順位付けに従った優先順位で、文字を割り当てて文字列傾斜錯視を発生させる文字列を作成する(ステップSA−5)。なお、文字選択部102hにより文字群が選択されている場合は、文字列作成部102cは、文字群の中でその箇所において最も上位の文字を割り当ててもよい。ここで、グループ化部102dによりグループ化されている場合は、文字列作成部102cは、複数のテスト画像の連続性に従って各グループの中から一つずつ順番に文字列上に文字を割り当てることによって文字列を作成してもよい。例えば、文字列作成部102cは、文字列においてグループ番号(テスト画像番号)が昇順または降順になるように、文字列に文字を割り当ててもよい。より具体的には、文字列作成部102cは、グループ1の中から上位の文字を1文字目に割り当て、グループ2の中から上位の文字を2文字目に割り当て、グループ3の中から上位の文字を3文字目に割り当て、・・・という処理を繰り返すことにより、文字列を作成してもよい。なお、高順位のものを割り当てた方が文字列傾斜錯視は強くなる。図86〜図88は、本実施の形態の文字列傾斜錯視生成装置100により作成された文字列を示す図である。これらの図では区分的に降順になるように作成された文字列を繰り返すことにより錯視が強調されている。また、昇順と降順を区分的に組み合わせることにより、複雑な傾きを持つ文字列傾斜錯視(例えば、上下或いは左右にウェーブする文字列傾斜錯視等)を生成することができる。
グループ化部102dにより再グループ化されている場合は、文字列作成部102cは、再グループ化された文字の中から文字を割り当ててもよい。図89は、再グループ化を用いて、本実施の形態の文字列傾斜錯視生成装置100により作成された文字列を示す図である。このように、再グループ化された文字をグループ番号(テスト画像番号)がたとえば昇順または降順になるように文字列に割り当てれば、それらの文字列ではより滑らかに傾いて見える文字列傾斜錯視になる。
文字列錯視評価値付加部102eは、文字列作成部102cにより文字列傾斜錯視が生成される際(ステップSA−5)、錯視量を評価する評価値を付加してもよい。これにより作成された文字列傾斜錯視の錯視量を数値で量ることができる。
これにて、文字列傾斜錯視生成装置100の処理の一例の説明を終了する。
[任意の文字集合からの自動文字列生成例]
以下に、具体的な文字集合が与えられた場合に、当該任意の文字集合から本実施の形態の文字列傾斜錯視生成装置100の処理により実施した自動文字列生成例について説明する。すなわち、この実施例では、文字選択部102hにより選択された文字集合から、文字列傾斜錯視を発生させる文字列を自動的に作成させた例について説明する。なお、この例では、利用者に文字集合が選択される前に、文字列傾斜錯視生成装置100は、事前に、文字画像ファイル106bに記憶された文字画像のフォントに対して、上述したSA−1〜SA−4の処理を実行して、グループ化や指標の点数化(順位付け)が既に行われていることを前提とする。
ここで、(1)与えられた文字集合の全ての文字を使用して文字列を作成する場合と、(2)与えられた文字集合の一部の文字を使用して文字列を作成する場合とがあるが、(1)は(2)の特別な場合であるから、ここでは(2)について説明する。また、ここでは、MSゴシック全角12ptの文字を例に述べるが、文字種はこれに限るものではない。
文字選択部102hは、利用者にキーボード等の入力装置112を介して、MSゴシック全角12ptの中からN個の文字を任意に選択させる。そして、文字列傾斜錯視生成装置100の制御部102は、以下に示すように、この中からM個の文字を使って文字列傾斜錯視を起こす文字列(文字の組み合わせと配列)を求める。
<ステップ1>
まず、フレームレットファイル106aに記憶された、かざぐるまフレームレットを構成するフィルタの中から、1個以上のフィルタを選択する。ここで、フィルタの数をLとして、フィルタをW_1、…、W_Lと表す。一例として、L=2であり、W_1が7次のかざぐるまフレームレットのフィルタ(2−1−1a)、W_2が7次のかざぐるまフレームレットのフィルタ(5−1−2a)とする(図77参照)。
各W_iに対して、MSゴシック全角12ptの各文字(16×16ピクセル)は、グループ1〜16のいずれかのグループに属している。その文字があるグループjに属している場合は、その点数を記録し、そうでない場合には、何らかの符号(たとえば「#」)を付けておく。ここで、点数は、上述した指標Aと指標Bの複合指標である。
以下の表に示すように、一つの文字に対して、16グループについての16個の点数あるいは#が付与される。なお、MSゴシック全角12ptは、合計7327文字あるので、16×7327個の点数あるいは符号(#)が表に表される。なお、表1はW_2に対するものである。
そして、以下の表に示すように、#以外の点数を、0と1の間に入るように正規化する。なお、正規化の後、#が付されているところには0を付す。このように、正規化された0と1の間の点数が一つの文字に対して16個付される。以後、この正規化された点数を改めて単に点数ということにする。
文字列傾斜錯視生成装置100の制御部102は、以上の処理を予め実行し、上記の表の内容を数値データファイル106dにデータベース化しておく。
<ステップ2>
つづいて、文字選択部102hは、N個の文字を与える。ここでは、「タチツテトナニ」の文字集合(N=7)が利用者に選択されたと仮定する。
<ステップ3>
そして、文字列作成部102cは、N文字の中からM文字を選んで並べる、すべての配列を記録する。ただし、巡回的なシフトにより得られるものは数えない。例えば、M=4のとき、「タチツテ」であれば、「タチツテ」、「チツテタ」、「ツテタチ」、「テタチツ」は同一と数える。その配列全体からなる集合をCPと表す。例えば、N=7、M=4の場合は、210通りの配列があるから、CPは、以下の表のように、210個の4文字の配列からなる。
<ステップ4>
そして、文字列作成部102cの文字列傾斜錯視評価値付加部102eは、CPに属する配列がどのくらいの錯視量の文字列傾斜錯視になっているのか、その評価値を定める。この評価値の定め方は次のようなアイデアで行う。
右下がりの文字列傾斜錯視を考える場合、配列中のある文字の点数がグループjに対して0点よりも大きい場合は、文字列傾斜錯視になるためには、その次の文字がグループj+1(あるいはそれより番号が大きいjの近傍)に対して0点よりも大きいことが望ましい(ただし、j+1が16に近い場合はmod16で考え、1に近い番号も該当するものとしてもよい)。このような場合にあてはまれば、その配列は文字列傾斜錯視を起こす可能性が高くなっているので、文字列傾斜錯視評価値付加部102eは、その配列の評価値を高くする。逆に、グループj−1(あるいはそれよりも小さいjの近傍)に対して0より大きい場合は、右下がりの文字列傾斜錯視がおきにくい状況である(j−1が1に近い場合は、mod16で考えてもよい)。このような場合にあてはまれば、文字列傾斜錯視評価値付加部102eは、その配列の評価値を低くする。
<評価値の定め方の例>
文字列傾斜錯視評価値付加部102eによる評価値の定め方の一例を以下に説明する。評価値を実現するために、中心を軸に前方が中心の値よりも低い値、後方が中心の値よりも高くなるようなフィルタ、たとえば以下の表のようなフィルタを与え、それをfと表す。
CPに属する配列について、ステップ1で定めた点数を16個並べると、16×Mの配列X_1ができる(W_2,「テトニナ」の場合、下表参照)。
X_1の成分が0より大きいものは1とした配列をX_2とおく(下表参照)。
X_2とfのたたみ込み積をとり、得られた結果をX_3とする。下表に示すように、X_3も16×Mの配列となるようにする。
X_3の列を右に巡回的にシフトした配列をX_4とする(下表参照)。
X_1とX_4のアダマール積(新井『線形代数、基礎と応用』、日本評論社参照)をとったものをX_5とする(下表参照)。評価している配列がもし文字列傾斜錯視としてよいものであれば、X_5のすべての値の総和は大きくなるはずである。そこで、このX_5のすべての値の総和の値を、この配列の評価値とする。以上、表で示した「テトニナ」の場合、評価値は、2.336179となる。ここで述べた評価値の定め方は一例であって、上記アイデアに基づいて計算するものであれば、計算方法はこれに限らない。
<ステップ5>
CPに属する文字の配列の総数をK、CPに属する文字の配列をCP(1)、…、CP(K)とおく。なお、上述のN=7,M=4の場合、K=210となる。フィルタW_i(i=1,…,L)に対するCP(k)の評価値をE(i,k)とおく。CP(k)の総合評価値として、たとえば、E(1,k)、…、E(L,k)の平均値をとり、これをMean(k)とおく(下表参照)。
そして、Mean(k)を大きい順に並べ、このうち上位の配列が文字列傾斜錯視の錯視量が、与えられた文字列の中では大きいものである。その結果、上述したW_1では、文字集合「タチツテトナニ」の例の場合、評価値の高いものとして以下の文字列が得られた。
また、W_2では、文字集合「タチツテトナニ」の例の場合、評価値の高いものとして以下の文字列が得られた。
また、平均値では、評価値の高いものとして以下の文字列が得られた。
ここでW_1は、低域と比較的多くの高域を幅広く通過させるフィルタであり、W_2はW_1に比べて比較的低域のみを通過させるフィルタである。このため、表11〜表13のように、W_1で評価した文字列は近くから見た方が文字列傾斜錯視が強く、反対に、W_2で評価した文字列は遠くから見た方が文字列傾斜錯視が強いという結果が得られた。なお、総合評価値として平均値をとった場合には、上位の定義は総合評価値だけでなく、個々のフィルタに関する評価値の最大のもので、総合評価値が高いものを上位としてもよい。また、評価値、総合評価値を利用したこのほかの順位付けを行ってもよい。なお、同様の手法を用いれば、図90に示すように、文字列自体に意味のある文字列傾斜錯視を作成することも可能である。以上で、任意の文字集合からの自動文字列生成例の説明を終える。
このように、本発明の実施形態によれば、任意の文字集合から、文字列傾斜錯視を引き起こす文字列を自動的に作成することができる、文字列傾斜錯視生成装置、文字列傾斜錯視生成方法、印刷媒体製造方法、電子媒体製造方法、プログラム、および、記録媒体を提供することができる。より具体的には、本発明の実施形態により、例えば、社名や製品名等の文字や記号等を文字列傾斜錯視化したものを、チラシやうちわ、カード等に印刷して配布すれば、企業等による宣伝効果を挙げることができ、広告産業等の分野で有用である。また、絵本等の娯楽品として提供することもでき、年賀状やクリスマスカード、名刺などで、あいさつの言葉や名前等を傾斜させて楽しむことができ、玩具や印刷関連等の分野において極めて有用である。また、スマートフォン等の携帯電話やタッチパネル式のパーソナルコンピュータ等において、利用者が、好きな文字集合を、タイプしたり画面上に書いたりすると、その文字集合を文字列傾斜錯視が起こる文字列に変換したり、当該文字列を電子メールに挿入したり、印刷することができるアプリケーションとして提供できるので、ソフトウェア関連分野等において極めて有用である。また、文字列傾斜錯視が起こる文字列をスクリーン、ディスプレーに表示することで、歩行者がその画像が傾斜するよう視認することもできる。また、本発明によれば、文字列傾斜錯視を起こす文字列の評価値も得ることができるので、それを用いたゲームの各種アプリケーション・ソフトを作成することも可能であり、ゲーム産業にも有用である。そのほか、本発明は、評価値を用いることにより、さまざまな錯視量をもつ文字列傾斜錯視を作ることができため、それを基にした心理実験機器を作成し、実験機器でも有用である。また、文字列自体に意味のある文字列傾斜錯視(図90)も作成可能なので、文字の内容と傾きを合わせた新しい表現手段としてさまざまな利用が可能である。
[かざぐるまフレームレット]
本実施の形態で、例として用いているかざぐるまフレームレットは、上述したように公知の単純かざぐるまフレームレットあるいはかざぐるまウェーブレット・フレームなどの方位選択性ウェーブレット・フレーム、或いは方位選択性をもつフィルタ・バンクでもよい。ここで、かざぐるまフレームレットについて以下に説明する。
次数をn≧3,奇数として、A=(Ak,l):(n+1)×(n+1)対称行列で、s=0,1・・・,[n/2],t=s,・・・,[n/2]に対して、As,t=An−s,t=As,n−t=An−s,n−t=sを満たす行列をみつける。ただし[]はガウス記号を表す。
n=7の場合、条件を満たす行列は以下である。
B=(Bk,l):(n+1)×(n+1)行列とすると、以下の条件(P)を満たす行列である。
ここで、Mは、方形格子、五の目格子、あるいは六角格子のサンプリング行列である。
補題2(H.&S.Arai,2008) Pnが方形格子,五の目格子,六角格子に関するフレームレット・フィルタであるための必要十分条件は、B=(Bk,l)が以下の条件をみたすことである。
<上記条件を満たすB=(Bk,l)の求め方>
{(k,l):k=0,1,・・・,n0,l=s,・・・,n0,}を次のように順序付ける。
μ=(k,l),ν=(k´,l´)
定理3(H.&S.Arai,2008)以上で得たB=(Bk,l)は補題2を満たす。したがって、Pnは方形格子,五の目格子,六角格子に関するフレームレット・フィルタになっている。Pnを、次数nのかざぐるまフレームレット(pinwheel framelet of degree n)とよぶ。図91は、レベル2における最大重複かざぐるまフレームレット・フィルタ(maximal overlap pinwheel framelet filters at level 2)にレベル1の近似フィルタを循環相関積して得たフィルタを示す図である。また、図92は、いろいろな方向の線分からなる画像に対し、かざぐるまフレームレットによりレベル2の最大重複多重解像度分解(2nd stage of maximal overlap MRA decomposition by pinwheel framelet)を行った結果の各サブバンド信号を示す図である。
以上で、本実施の形態の説明を終える。
[他の実施の形態]
さて、これまで本発明の実施の形態について説明したが、本発明は、上述した実施の形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施の形態にて実施されてよいものである。
例えば、文字列傾斜錯視生成装置100あるいは画像処理装置400がスタンドアローンの形態で処理を行う場合を一例に説明したが、文字列傾斜錯視生成装置100あるいは画像処理装置400は、クライアント端末(文字列傾斜錯視生成装置100あるいは画像処理装置400とは別筐体)からの要求に応じて処理を行い、その処理結果を当該クライアント端末に返却するようにしてもよい。例えば、文字列傾斜錯視生成装置100は、ASPサーバとして構成され、ユーザ端末からネットワーク300を介して送信された文字集合のデータを受信し、この文字集合の中から作成した文字列データを、ユーザ端末に返信してもよい。あるいは、画像処理装置400は、ASPサーバとして構成され、ユーザ端末からネットワーク300を介して送信された原画像としての画像データを受信し、この画像データに基づいて処理を行った処理画像データを、ユーザ端末に返信してもよい。
また、実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
このほか、上記文献中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。
また、文字列傾斜錯視生成装置100あるいは画像処理装置400に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
例えば、文字列傾斜錯視生成装置100あるいは画像処理装置400の各装置が備える処理機能、特に制御部102,402にて行われる各処理機能については、その全部または任意の一部を、CPU(Central Processing Unit)および当該CPUにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。なお、プログラムは、後述する記録媒体に記録されており、必要に応じて文字列傾斜錯視生成装置100あるいは画像処理装置400に機械的に読み取られる。すなわち、ROMまたはHDDなどの記憶部106,406などには、OS(Operating System)として協働してCPUに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、RAMにロードされることによって実行され、CPUと協働して制御部を構成する。
また、このコンピュータプログラムは、文字列傾斜錯視生成装置100あるいは画像処理装置400に対して任意のネットワーク300を介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。
また、本発明に係るプログラムを、コンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、USBメモリ、SDカード、フレキシブルディスク、光磁気ディスク、ROM、EPROM、EEPROM、CD−ROM、MO、DVD、および、Blu−ray Disc等の任意の「可搬用の物理媒体」を含むものとする。
また、「プログラム」とは、任意の言語や記述方法にて記述されたデータ処理方法であり、ソースコードやバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、OS(Operating System)に代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施の形態に示した各装置において記録媒体を読み取るための具体的な構成、読み取り手順、あるいは、読み取り後のインストール手順等については、周知の構成や手順を用いることができる。
記憶部106,406に格納される各種のデータベース等(フレームレットファイル106a〜数値データファイル106d,フィルタファイル406aおよび画像データファイル406b)は、RAM、ROM等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、および、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、および、ウェブページ用ファイル等を格納する。
また、文字列傾斜錯視生成装置100あるいは画像処理装置400は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置として構成してもよく、また、該情報処理装置に任意の周辺装置を接続して構成してもよい。また、文字列傾斜錯視生成装置100あるいは画像処理装置400は、該情報処理装置に本発明の方法を実現させるソフトウェア(プログラム、データ等を含む)を実装することにより実現してもよい。
更に、装置の分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じて、または、機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。