以下、本発明を図示する実施形態に基づいて説明する。
<<< §1. 本発明に係るプリンタの基本構成 >>>
図1は、本発明に係る疑似立体プリンタの基本構成を示すブロック図である。このプリンタは、三次元構造をもった立体原画像10(ここでは、人物の顔の例を示す)を、プリント対象となる媒体20の二次元表面上に疑似的にプリントする機能を有している。
図示のとおり、このプリンタは、大別して、データ入力ユニット100、データ処理ユニット200、プリント処理ユニット300によって構成されている。これらの各ユニットは、従来の一般的な顔写真シール作成機とほぼ同じ大きさの装置筐体に組み込むことが可能であり、従来の顔写真シール作成機と同様に、利用者の顔写真をその場で撮影し、撮影した顔写真を即座にプリントして提供する機能を有している。したがって、遊技施設、観光施設、街頭などに設置して、利用に供することができる。しかも、利用者に提供される顔写真は、媒体の二次元表面上に形成されているにもかかわらず、疑似的に立体効果が得られる画像になる。
図1にブロックとして示すデータ入力ユニット100は、立体原画像10を示す三次元形状データを取り込む作業を行うユニットである。ここに示す実施形態の場合、データ入力ユニット100は、人物の顔から三次元形状データを取り込む機能を有しており、立体カメラや三次元スキャナによって構成されている。
また、データ処理ユニット200は、データ入力ユニット100によって取り込まれた三次元形状データに基づいて、二次元画像データを作成する処理を行うユニットであり、実際には、コンピュータに専用のプログラムを組み込むことによって実現される。通常、三次元形状データを二次元画像データに変換する処理は、立体構造体を所定の投影面に投影する幾何学的な演算処理によって行われるが、本発明の場合、非常にユニークな方法で二次元画像を生成する処理が行われる。その具体的なアルゴリズムについては、後に詳述する。
一方、プリント処理ユニット300は、データ処理ユニット200で作成された二次元画像データに基づいて、媒体20上に二次元画像の印刷を行うユニットである。ただ、ここで行われる印刷は、インキを用いた一般的な二次元画像の印刷ではなく、回折格子パターンが形成された転写シートを転写することによって行われる。このように、本発明に係るプリンタは、媒体20上に回折格子パターンが形成された転写シートを転写することにより、疑似的に立体効果が得られる画像を媒体20上にプリントすることができる。
図2は、図1に示す疑似立体プリンタによって作成された印刷物、すなわち、回折格子パターンが記録された媒体20の拡大表面図である。図示のとおり、この印刷物上には多数の画素が配列されており、個々の画素内には、それぞれ所定方向を向いた格子線からなる回折格子が配置されている。
なお、図2では、説明の便宜上、個々の格子線を肉眼観察可能な線として描いているが、実際には、これら格子線のピッチは、回折格子を形成することが可能な寸法値(この例の場合は1μmに設定している)に設定されており、個々の格子線は肉眼では観察できない。回折格子を形成するためには、通常、格子線ピッチを0.5μm〜10μm程度にする必要がある。一方、図に正方形で示す個々の画素の寸法も、肉眼観察したときに粒状感が生じない程度の微小寸法(この例の場合は48μm)に設定されている。また、図2には、画素間の境界が線で示されているが、これらの境界線は概念的に定義された画素を示すために便宜上描いたものである。
結局、図1に示す装置は、立体原画像10となる利用者の顔から三次元形状データを入力し、この三次元形状データに基づいて二次元画像データを生成し、この二次元画像データに基づいて、媒体20の表面上に二次元画像を印刷する機能を有している。そして、印刷後に得られる媒体20の表面には、図2に示すように、個々の画素に対応する単位領域ごとに、それぞれ所定の配置角度をもった格子線からなる回折格子が形成され、これらの回折格子によって、立体原画像10の立体感が疑似的に再現されることになる。
図2に示す媒体20は、個々の画素に、3通りの格子線配置角度をもった回折格子のいずれかを転写した例である。すなわち、この媒体20上には、配置角度−45°をもった格子線(左上から右下へ向かう格子線)を有する回折格子が配置された画素G1、配置角度0°をもった格子線(水平な格子線)を有する回折格子が配置された画素G2、配置角度+45°をもった格子線(右上から左下へ向かう格子線)を有する回折格子が配置された画素G3、の集合体により二次元画像が形成されている。
このように表面に回折格子が形成された媒体20は、観察時に生じる照明光の回折現象により、疑似的な立体視効果が得られることが知られている。もっとも、図2に示す例は、3通りの格子線配置角度をもった回折格子を用いた例であるため、それほど大きな立体視効果を得ることはできない。したがって、実用上は、後述する実施例のように、10通り程度の格子線配置角度をもった回折格子を用いるのが好ましい。
<<< §2. 本発明の基本的な実施形態に係るプリンタ >>>
続いて、本発明の基本的な実施形態に係る疑似立体プリンタの構成を、図3のブロック図に基づいて説明する。図3において、一点鎖線で囲った構成要素100,200,300は、それぞれ図1に示したデータ入力ユニット100,データ処理ユニット200,プリント処理ユニット300である。なお、図3に示す実線の矢印は電気信号の流れを示し、破線の矢印はその他の関連を示している。
前述したとおり、データ入力ユニット100は、立体原画像10を示す三次元形状データを取り込む作業を行うユニットであり、原画像入力部110によって構成されている。ここに示す実施形態の場合、原画像入力部110は、複数のカメラを用いた撮影システムによって様々な角度から利用者の顔(立体原画像10)を撮影し、これら撮影画像に基づいて、利用者の顔の表面を示す三次元形状データを生成する装置によって構成されている。このように、実在の三次元被写体を様々な方向から撮影し、当該物体の三次元形状データを生成する装置は、既に実用化された公知の装置であるため、ここでは、この原画像入力部110の具体的な構成についての説明は省略する。
もちろん、原画像入力部110は、必ずしも複数のカメラを用いた撮影システムによって構成する必要はない。実在の三次元被写体から三次元形状データを取り込む装置としては、レンジスキャナ装置など、様々な三次元スキャナも利用されており、これらの装置を原画像入力部110として利用してもかまわない。すなわち、原画像入力部110は、実在の三次元被写体を撮影もしくはスキャンすることにより、当該三次元被写体の表面形状を三次元形状データとして入力する機能をもった任意の装置によって構成することができる。
また、ここで述べる基本的な実施形態は、利用者の顔から取り込んだ三次元形状データに基づいて、直ちにプリントを行う機能を有する装置を意図したものであるため、原画像入力部110として、利用者の顔を撮影したりスキャンしたりする機能をもった装置を用いているが、原画像入力部110は、必ずしも、撮影やスキャンを行う機能を有している必要はない。
たとえば、利用者が別なシステムで作成した三次元形状データを既に保有している場合は、当該三次元形状データをCD−RやUSBメモリなどのデータ記録媒体に記録して持ち込むようにすれば、本発明に係るプリンタを利用することができる。この場合、利用者の顔を撮影したりスキャンしたりして三次元形状データを取り込む代わりに、利用者が持ち込んだCD−RやUSBメモリなどのデータ記録媒体から三次元形状データを読み込む処理を行うことができればよいので、原画像入力部110は、CDドライブ装置や、USBメモリ読み込み装置などによって構成することができる。
もちろん、利用者は、インターネットなどのネットワークを通じて、三次元形状データを送信することもできる。この場合、原画像入力部110は、送信されてきた三次元形状データを受信する機能を果たすだけでよいので、通信機能を備えたデータ受信装置によって構成することができる。
また、ここで述べる基本的な実施形態では、「利用者の顔」という実在の物体を立体原画像10として利用しているが、本発明で利用する立体原画像10は、必ずしも実在の物体の画像である必要はない。たとえば、CGなどで立体原画像10を人為的に作成することも可能である。立体原画像10を人為的に作成した場合は、既に三次元形状データが用意されているわけであるから、原画像入力部110は、単に、当該三次元形状データを入力する機能を有していれば足りる。
要するに、本発明における原画像入力部110は、実在の物体であるか、CGなどで作成された仮想物体であるかを問わず、何らかの立体原画像10の三次元形状データを何らかの方法で入力する機能を有していれば、どのような装置によって構成してもかまわない。
一方、データ処理ユニット200は、こうして取り込まれた三次元形状データに基づいて、二次元画像データを作成する処理を行うユニットであり、実際には、コンピュータに専用のプログラムを組み込むことによって実現される構成要素である。図3に示すとおり、このデータ処理ユニット200は、原画像格納部210、交点演算部220、法線ベクトル演算部230、交差角演算部240、画素値演算部250、二次元画像格納部260によって構成されている。以下、これら各構成要素の機能を説明する。
まず、原画像格納部210は、原画像入力部110が入力した三次元形状データD1を格納する構成要素であり、コンピュータ用のハードディスクなどの記憶装置によって構成される。三次元形状データD1は、前述したとおり、実在もしくは仮想の立体原画像10を表現するためのデータであり、通常、XYZ三次元座標系上で三次元構造体の表面形状を定義するデータとして与えられる。具体的には、立体原画像10の表面を多数のポリゴンに置き換え、個々のポリゴンの頂点座標を示す座標データとして三次元形状データD1を用意する方法や、立体原画像10の表面を数式で表現可能なパラメトリック曲面に置き換え、個々のパラメトリック曲面を規定するパラメータを示すデータとして三次元形状データD1を用意する方法が知られている。
このデータ処理ユニット200によるデータ処理の目的は、原画像格納部210内に格納されている三次元形状データD1に基づいて、二次元画像データD2を作成することにある。交点演算部220、法線ベクトル演算部230、交差角演算部240、画素値演算部250は、この二次元画像データD2を作成するための処理を行う構成要素であり、実際には、この処理は、コンピュータに組み込まれた専用プログラムによって実行されることになる。二次元画像データD2を構成する個々の画素値を決定する具体的な手法については、§3で詳述する。一方、二次元画像格納部260は、こうして作成された二次元画像データD2を格納する構成要素であり、コンピュータ用のハードディスクなどの記憶装置によって構成される。
ここで作成される二次元画像データD2は、一般的な二次元画像データと同様に、それぞれ所定の画素値を有する多数の画素の配列からなるデータであるが、立体原画像10の単なる二次元投影画像を示すものではなく、立体原画像10を構成する個々の微小表面に立てた法線の向きを示すものになる。
図3に示す二次元画像格納部260内には、6行8列の画素配列からなる二次元画像データD2が例示され、第i行第j列目の画素G(i,j)が例示されているが、実際には、より多数の画素が定義されることになる。ただ、以下の説明では、便宜上、6行8列の画素配列からなる二次元画像データD2を用いた説明を行うことにする。この二次元画像データD2として定義される画素配列は、図2に示す媒体20上に形成される画素配列(単位領域配列)に対応する。
媒体20上の画素(単位領域)内には、回折格子が転写されることになるので、個々の画素は、回折格子(回折現象を生じさせることができる格子線の集合体)を形成するのに十分な大きさを有するセルである必要があり、そのためには、一辺の寸法が10μm以上の正方形もしくはこれに準じた大きさをもつ任意形状のセルとする必要がある。ただ、画素の大きさがあまり大きくなると、肉眼で観察したときの解像度が低下し、滑らかな表現を行うことができなくなるので、実用上は、各画素を、一辺の寸法が500μm以下の正方形もしくはこれに準じた大きさをもつ任意形状のセルとするのが好ましい。
結局、媒体20上の個々の画素(単位領域)は、一辺の寸法が10μm〜500μmの正方形もしくはこれに準じた大きさをもつ任意形状のセルによって構成するのが好ましい。なお、ここでは、正方形のセルによって1つの画素を形成した例を述べるが、もちろん、個々の画素の形状は、正方形に限定されるものではなく、その他の四角形や円などの任意形状のものであってかまわない。ただ、回折格子は個々の画素内部にしか形成されないので、回折効率を高め、より明るい再生像を得るためには、隣接画素間に空隙が生じない矩形の画素を用いるのが好ましい。
このように、二次元画像格納部260内に得られる二次元画像データD2は、「二次元平面上に定義された画素配列を示すデータである」という点では、一般的な二次元画像データと何ら変わりはない。ただ、個々の画素のもつ画素値の意味合いが、一般的な二次元画像データと若干異なっている。すなわち、一般的な二次元画像データの場合、個々の画素のもつ画素値は、当該画素位置における画像の階調値を示すものであるが、本発明の場合、個々の画素のもつ画素値は、プリント処理ユニット300によるプリント処理(転写処理)で用いられる転写シートの番号を示す値ということになる。
たとえば、図2に示す例は、前述したとおり、3通りの回折格子を用いてプリントを行った例である。このようなプリントを行うためには、画素G1には画素値「1」を与え、画素G2には画素値「2」を与え、画素G3には画素値「3」を与えた二次元画像データD2を作成しておき、画素値「1」をもつ画素内には第1番目の転写シート(配置角度−45°をもった回折格子パターンを有するシート)を転写し、画素値「2」をもつ画素内には第2番目の転写シート(配置角度0°をもった回折格子パターンを有するシート)を転写し、画素値「3」をもつ画素内には第3番目の転写シート(配置角度+45°をもった回折格子パターンを有するシート)を転写すればよい。
プリント処理ユニット300は、二次元画像格納部260内に格納されている二次元画像データD2に基づいて、媒体20上に転写シートを転写する処理を行う機能を有し、図示のとおり、転写シート供給部310、転写処理部320、媒体供給部330によって構成されている。
転写シート供給部310は、それぞれ所定の回折格子パターンを有する第1番目〜第n番目までの合計n種類の転写シートを供給する構成要素である。具体的な転写シートの構造は§5で詳述する。図3には、転写シート供給部310が、T1〜Tnまでのn種類の転写シートを保持しており、その中から第k番目の転写シートTkを供給した状態が示されている。
一方、媒体供給部330は、プリント対象となる媒体20を供給する構成要素である。ここでは、媒体20としてシール用紙を用いた例を説明する。このシール用紙は、用紙本体の裏面に、粘着層を介して台紙が貼り付けられた紙であり、用紙本体の表面に印刷(回折格子パターンを有する転写シートの転写)が行われた後、裏面の台紙を剥がすことにより、用紙本体を任意の物体に貼り付けることができる。このようなシール用紙は、従来の一般的な顔写真シール作成機で用いられているものである。
もちろん、媒体供給部330によって供給される媒体20は、どのような媒体であってもかまわない。材質も紙に限定されるものではなく、合成樹脂や布などを媒体20として用いることもできる。また、媒体20の表面は必ずしも平面である必要はなく、曲面であってもかまわない。たとえば、飲料用マグカップなどを媒体20として用いるのであれば、媒体供給部330は、このマグカップを供給する機能を果たし、マグカップの表面に転写シールが転写されることになる。
転写処理部320は、媒体供給部330から供給された媒体20の表面上に、二次元画像データD2によって示される二次元画像を構成する画素配列に対応する単位領域配列を定義し、第k番目の画素値k(k=1〜n)が与えられた画素に対応する単位領域に、第k番目の転写シートTkを転写する処理を行う。具体的な転写処理方法については§5で詳述する。
たとえば、図2に示すような印刷物を得るためには、n=3に設定し、転写シート供給部310内に、3種類の転写シートT1(格子線配置角度−45°)、T2(格子線配置角度0°)、T3(格子線配置角度+45°)を用意しておけばよい。そして、まず、転写シート供給部310から第1番目の転写シートT1を供給し、転写処理部320による転写処理を行う。すなわち、二次元画像データD2を参照して、画素値「1」をもつ画素G1に対応する媒体20上の単位領域に対してのみ、転写シートT1の転写を行う。続いて、転写シート供給部310から第2番目の転写シートT2を供給し、転写処理部320による転写処理を行う。今度は、画素値「2」をもつ画素G2に対応する媒体20上の単位領域に対してのみ、転写シートT2の転写を行うことになる。最後に、転写シート供給部310から第3番目の転写シートT3を供給し、転写処理部320による転写処理を行う。これにより、画素値「3」をもつ画素G3に対応する媒体20上の単位領域に対してのみ、転写シートT3の転写が行われる。
<<< §3. 画素値の決定アルゴリズム >>>
既に述べたとおり、図3に示す二次元画像格納部260内に格納される二次元画像データD2は、個々の画素G(i,j)の画素値を示すデータであり、この画素値は、交点演算部220、法線ベクトル演算部230、交差角演算部240、画素値演算部250によって決定される。ここで、この画素値は、立体原画像10を構成する個々の微小表面に立てた法線の向きを示すものであり、プリント処理ユニット300によるプリント処理(転写処理)で用いられる転写シートの番号を示す値として用いられる。以下、この画素値の決定処理のアルゴリズムを説明するとともに、立体原画像10の三次元構造が、回折格子パターンが転写された印刷物上で疑似的に表現される理由を述べる。
図4は、図3に示す疑似立体プリンタにおける二次元画像の画素値決定処理の基本原理を示す斜視図である。ここでは、説明の便宜上、図示のとおり、XYZ三次元直交座標系を定義し、XY平面上に記録面Sxyを定義し、YZ平面上に投影面Syzを定義し、Z軸上に基準軸A(基準軸Aの向きは、便宜上、Z軸とは逆方向にする)を定義する。
記録面Sxyは、媒体20の印刷面に対応する面であり、図示のとおり、この記録面Sxy上に画素G(i,j)からなる二次元画素配列が定義される。前述したとおり、実際の媒体20上には、この二次元画素配列に対応した画素(単位領域)の配列が定義される。図4には、説明の便宜上、6行8列の単純な画素配列を定義した例を示すが、実際には、立体原画像10を表現するのに十分な解像度をもった画素配列の定義が行われる。
図示のとおり、記録面Sxyの隣接位置には、立体原画像10が配置される。既に述べたとおり、立体原画像10は、三次元形状データD1として原画像格納部210に取り込まれており、この三次元形状データD1を、XYZ三次元座標系内で形状を定義できる形式のデータによって構成しておけば、記録面Sxyの隣接位置に立体原画像10を定義することができる。記録面Sxy上に定義された二次元画素配列の第i行第j列目の画素G(i,j)の画素値は、この立体原画像10の表面の情報を利用して、次のような方法で決定される。
まず、画素G(i,j)について代表点Pを定める。代表点Pは、画素G(i,j)内の点(画素の輪郭線上の点でもよい)であれば、どの位置に定めてもかまわない。たとえば、各画素の左上隅点を代表点Pに定めてもかまわないが、ここで述べる実施形態では、各画素の中心点を代表点Pに定めることにする。図4に示す代表点Pは、画素G(i,j)の中心点である。
続いて、代表点Pの位置に記録面Sxyに直交する参照線Rを引く。ここに示す実施形態の場合、記録面SxyはXY平面上に定義された面であるから、参照線Rは、図に一点鎖線で示すとおり、Z軸に平行な線になる。そして、この参照線Rと立体原画像10の表面との交点Qを求め、更に、この交点Qについて、立体原画像10の表面に関する法線ベクトルNを求める(図では、矢印で示してある)。この法線ベクトルNは、交点Qを始点として、交点Qを含む立体原画像10の微小表面に対して垂直外方へ向かう単位ベクトルであり、交点Qの位置における立体原画像10の表面の向きを示す情報をもっている。
なお、立体原画像10の形状によっては、1本の参照線Rについて複数の交点が求まる場合もある。たとえば、図5は、代表点Pから伸びた参照線Rについて、4個の交点Q1〜Q4が求まる例を示す側面図である。この場合、個々の交点Q1〜Q4のそれぞれについて、図示のとおり、法線ベクトルN1〜N4が得られるが、その中で、記録面Sxyに最も近い交点Q1および法線ベクトルN1を、当該代表点Pについての交点Qおよび法線ベクトルNとして採用すればよい。これは、記録面Sxy側から立体原画像10を観察した場合、交点Q2〜Q4は隠面上の点となるので、法線ベクトルN2〜N4の情報を記録面Sxy上に記録する必要はないからである。
また、図5に示す代表点P′のように、参照線R′を伸ばしても、立体原画像10と交差しない場合もある。このような代表点P′をもつ画素については、交点が定義されず、法線ベクトルも定義されないので、画素値の定義もなされないことになる。このように画素値が定義されない画素については、最終的に、プリント処理ユニット300による回折格子パターンの転写が行われないことになるが、もともと立体原画像10が存在しない背景部分に相当する領域なので、回折格子パターンの転写が行われなくても問題はない。
ただ、このような背景部分についても、何らかの回折格子パターンを転写した方が好ましい場合には、図5に例示するように、立体原画像10の後方に背景面11(立体原画像の一部として取り扱えばよい)を定義すればよい。図示の例の場合、背景面11として、記録面Sxyに平行な面を定義している。この場合、代表点P′をもつ画素については、交点Q′が求まり、基準軸Aに平行な法線ベクトルN′が求まることになる。
次に、こうして求められた法線ベクトルNを投影面Syzへ投影した正射影として、投影ベクトルN*が求められる。すなわち、図4に示すように、法線ベクトルNをX軸方向へ投影したときに、投影面Syz(YZ平面)に得られる投影像が投影ベクトルN*になる。なお、ここに示す実施形態の場合、投影面Syzを記録面Sxyに直交する面として定義しているが、投影面は必ずしも記録面に直交する面にする必要はない。また、投影ベクトルN*は、必ずしも法線ベクトルNの正射影像とする必要はなく、任意の方向への投影像としてもかまわない。ただ、立体原画像10の三次元構造をできるだけ忠実に再現できるようにするため、実用上は、ここに述べる実施形態のように、記録面Sxyに直交する投影面Syzを定義し、法線ベクトルNの正射影像を投影ベクトルN*とするのが好ましい。
続いて、投影ベクトルN*もしくはその延長線と基準軸Aとの交差角ξを求める。ここに示す実施形態では、基準軸AをZ軸上にとっているため、投影ベクトルN*もしくはその延長線とZ軸とのなす角として、交差角ξが求められる。図4では、説明の便宜上、交点Qの投影面Syz上の投影像を投影点Q*とし、この投影点Q*を始点とする投影ベクトルN*と、基準軸Aを平行移動して得られる軸A*とのなす角として、交差角ξを定義した例が示されているが、これは投影ベクトルN*もしくはその延長線と基準軸Aとのなす角を交差角ξとすることと等価である。
ここに示す実施形態の場合、基準軸Aの向きを、Z軸とは逆方向に定義しているため、交差角ξは、図6(a) に示すように、−90°〜+90°の範囲内の鋭角として定義される。なお、図5に示す法線ベクトルN2,N4については、交差角ξが鈍角となるが、これらは隠面に位置する交点Q2,Q4についての法線であるため、前述したとおり、採用されることはない。もっとも、基準軸Aは、必ずしもZ軸に平行な軸に設定する必要はなく、投影面Syzに含まれる軸であれば、どのような向きの軸を基準軸に設定してもかまわない。たとえば、Y軸に平行な軸を基準軸に設定すれば、交差角ξは0°〜180°の範囲内の角として定義されることになる。
こうして得られた交差角ξは、交点Qの位置における立体原画像10の微小表面のY軸方向(図4における上下方向)に関するの傾斜度を示す値ということになる。すなわち、基準軸Aの向きをZ軸とは逆方向に定義した場合、交差角ξ=0°が得られた交点Qの近傍面は、XY平面に平行な微小表面であり、交差角ξが+90°へ向かって増加してゆくと、当該微小表面はY軸正方向(図4における上方)へと傾斜してゆき、交差角ξが−90°へ向かって減少してゆくと、当該微小表面はY軸負方向(図4における下方)へと傾斜してゆくことになる。
本発明の基本概念は、このような立体原画像10を構成する個々の微小表面の傾斜の情報を、媒体20上に形成された回折格子パターンの格子線の配置角度のバリエーションとして表現することにある。そのためには、交差角ξに対して単調増加もしくは単調減少するような配置角度θを定義し、交差角ξが得られた画素に対応する媒体20上の単位領域には、当該交差角ξに対応する配置角度θをもった回折格子パターンを転写するようにすればよい。
たとえば、−45°〜+45°の範囲に分布する配置角度θをもったn通りの回折格子パターンを利用する場合、図6(a) に示す交差角ξを図6(b) に示す配置角度θに対応づければよい。図6(a) に示す交差角ξは、上述したとおり、−90°〜+90°の範囲に分布する角度であるのに対して、図6(b) に示す配置角度θは、−45°〜+45°の範囲に分布する角度であるので、たとえば、θ=ξ/2のような線形関係式を定義すれば、交差角ξに基づいて配置角度θを一義的に決定することができる。なお、格子線Lの配置角度θは、媒体20上に定義された所定の角度基準線B(たとえば、図2に示す媒体20の水平方向の輪郭線)に対する格子線Lのなす角度として定義されている。
ただ、実際には、回折格子パターンの格子線配置角度θは任意の連続量として定義できる値ではなく、n通りのいずれかをとる離散的な値として定義せざるを得ない。たとえば、図2に示す例は、n=3の場合の例であり、媒体20上の各画素(単位領域)には、配置角度−45°,0°,+45°の3通りのいずれかの回折格子パターンを選択的に転写する必要がある。したがって、実際には、θ=ξ/2のような線形関係式に基づいて配置角度θを算出したとしても、当該算出値に最も近い配置角度をもった回折格子パターンを選択して転写することになる。
たとえば、−90°≦ξ<−30°の範囲内の交差角ξが得られた画素に対応する単位領域には、配置角度θ=−45°で格子線Lが配置された回折格子パターンを転写し、−30°≦ξ≦+30°の範囲内の交差角ξが得られた画素に対応する単位領域には、配置角度θ=0°で格子線Lが配置された回折格子パターンを転写し、+30°<ξ≦+90°の範囲内の交差角ξが得られた画素に対応する単位領域には、配置角度θ=+45°で格子線Lが配置された回折格子パターンを転写する、というような選択規則を定めておけばよい。
もっとも、図2に示す例のように、3通りの格子線配置角度をもった回折格子を用いた場合は、実用上、十分な立体視効果を得ることはできない。そこで、以下、−45°〜+45°の範囲に分布する10通りの格子線配置角度をもった回折格子を用いた具体例(n=10の例)を述べることにする。
図7は、図3に示す疑似立体プリンタに用いられる10通りの転写シートT1〜T10の平面図である。これらの転写シートT1〜T10は、いずれも媒体20と同じサイズの矩形状のシートであり、それぞれ異なる配置角度θで格子線Lが形成されている。もちろん、実際には、各格子線Lは回折格子を構成する格子線であるから、そのピッチは光の波長に近いオーダーであり、肉眼観察することはできない。図に示す格子線Lは、説明の便宜のために描いたものである。ここでは、各シートの下辺を角度基準線Bとしたときに、格子線Lと角度基準線Bとのなす角を符号付きの鋭角で示した値を配置角度θと定めることにする。
図示のとおり、第1番目の転写シートT1には、配置角度θ=−45°をもった格子線Lが形成されており、第2番目の転写シートT2には、配置角度θ=−35°をもった格子線Lが形成されている。以下、第3番目の転写シートT3,第4番目の転写シートT4,...,第10番目の転写シートT10に形成されている格子線Lの配置角度θは、順番に10°ずつ増加してゆく。図6(a) に示すように、−90°≦ξ≦+90°の範囲内の交差角ξが得られた画素に対応する単位領域に転写する回折格子の配置角度は、この10通りの配置角度の中から、ξ/2に最も近い値を選択すればよい。
もちろん、回折格子パターンのバリエーションは10通りに限定されるものではなく、nは任意の値に設定することができる。また、配置角度θのとるべき範囲も、上述の例のように、−45°〜+45°の範囲に限定されるものではない。そもそも配置角度θの定義は、角度基準線Bの定義によっても変わるものであり、角度の分布レンジも90°に限定されるものではない。ただ、角度の分布レンジは90°を超えないようにするのが好ましい。たとえば、角度基準線Bを各転写シートの右辺にとり、−15°〜+70°の範囲に分布するn通りの角度として、配置角度θを設定することも可能である。
配置角度θを等間隔に分布するn通りの角度として定義するのであれば、第k番目の配置角度θkは、図8に示すように、
θk=α・(k−1)/(n−1)+β 式(1)
で表すことができる。ここで、αは分布範囲を示す角度値であり、βはオフセットを示す角度値である。たとえば、α=90°、β=−45°、n=10に設定した場合、この式(1)は、図8に示すように、
θk=10°・(k−1)−45° 式(2)
のようになる。図7に示す10種類の転写シートT1〜T10に形成されている格子線Lの各配置角度−45°,−35°,−25°,...,+45°は、上記式(2)に、k=1,2,3,...,10を代入することにより得られる。
このように、本発明において、n通りの格子線配置角度θは、任意の角度範囲に分布する任意の角度として設定することができる。ただ、本発明で重要な点は、交差角ξに対して、配置角度θが単調増加もしくは単調減少するような関係を定義する点である。上述した例の場合、交差角ξが−90°から+90°へ増加してゆくと、これに対応する配置角度θも、−45°から+45°へ単調増加してゆくことになる。もちろん交差角ξが−90°から+90°へ増加してゆくと、これに対応する配置角度θが、+45°から−45°へ単調減少してゆくような対応関係を定義してもかまわない。
図4に示す方法によって、特定の画素G(i,j)についての交差角ξ(i,j)が求まったら、当該画素G(i,j)に対応する媒体20上の単位領域U(i,j)には、上記対応関係によって交差角ξ(i,j)に対応づけられた配置角度θをもった回折格子パターンが転写されることになる。こうして、個々の画素に対応する単位領域に、それぞれ個々の画素について求められた交差角ξに応じた配置角度θをもつ回折格子パターンを転写すると、立体視効果をもった立体原画像10が観察できるのである。
もちろん、本発明に係る疑似立体プリンタでプリントされた媒体20上には、立体原画像10がホログラムとして記録されているわけではないので、観察される像は、本来の三次元画像ではない。しかしながら、視覚的に立体感を生じさせる疑似的な立体画像の観察が可能になる。このような疑似的な立体視が生じる現象の理論的な解析は、現時点では十分になされていないが、本願発明者は、立体原画像10の表面各部の傾斜分布(Y軸方向に関する傾斜分布)の情報が、媒体20上に形成された回折格子の格子線の配置角度分布として表現されているためであろうと考えている。交差角ξの変化に対して、配置角度θが単調増加もしくは単調減少するような対応関係の定義が必要になるのも、このような理由と密接に関連するものである。
なお、図4に示す方法で決定された交差角ξには、立体原画像10の表面各部のY軸方向に関する傾斜分布の情報しか含まれていない。これは、投影面SyzをYZ平面上に定義したためである。そのため、媒体20を観察したときに得られる立体視は、立体原画像10の上下方向に関する奥行き変化のみとなる。もし、立体原画像10の左右方向に関する奥行き変化を感じさせる立体視を生じさせたい場合には、投影面をXZ平面上に定義すればよい。
以上述べたとおり、本発明では、各画素について求まった交差角ξに基づいて、特定の格子線配置角度θを決定することが重要である。但し、格子線配置角度θは、n通りの離散値をとるため、このn通りの配置角度θの中から1つを選択する処理は、結局、転写シート供給部310内に用意されているn通りの転写シートT1〜Tnの中から1つを選択する処理と等価になる。そこで、二次元画像格納部260内に用意される二次元画像データD2を構成する個々の画素の画素値としては、当該画素に転写すべき回折格子の格子線配置角度θを示す値を用いることもできるが、ここに示す実施形態では、その代わりに、当該画素に転写すべき転写シートの番号を示す値を用いるようにしている。
具体的には、図7に示す第1の転写シートT1(配置角度θ=−45°をもった格子線Lが形成された回折格子パターン)を転写すべき画素については画素値「1」が与えられ、第2の転写シートT2(配置角度θ=−35°をもった格子線Lが形成された回折格子パターン)を転写すべき画素については画素値「2」が与えられ、...、第10の転写シートT10(配置角度θ=+45°をもった格子線Lが形成された回折格子パターン)を転写すべき画素については画素値「10」が与えられることになる。
交差角ξに基づいて、各画素(単位領域)に転写すべき転写シートの番号を示す画素値を決定するには、交差角ξの関数として画素値f(ξ)の式を定義しておけばよい。図9は、このような式の一例を示す図である。すなわち、画素値f(ξ)は、
f(ξ)=Int((ξ+90°)/(180°/n))+1 式(3)
(但し、f(ξ)>nの場合はf(ξ)=nとする)
なる式で定義される。ここで、Int(x)はxの整数部を示す関数である。図4に示す実施形態の場合、−90°≦ξ≦+90°となるので、上記式(3)で定義される画素値f(ξ)は、1〜nの全n通りの整数のいずれかをとる関数になる。したがって、個々の画素について求められた交差角ξに対する関数値f(ξ)を、当該画素の画素値とすれば、この画素値は、転写シート供給部310内に用意されているn通りの転写シートT1〜Tnの中の1つを示す値になる。
たとえば、n=10の場合、転写シート供給部310内には、図7に示すような10通りの転写シートT1〜T10が用意されることになるが、上記式(3)は、
f(ξ)=Int((ξ+90°)/18°)+1 式(4)
(但し、f(ξ)>10の場合はf(ξ)=10とする)
のようになる。交差角ξは、図6(a) に示すように、−90°〜+90°の範囲内の値をとり、式(4)によれば、ξ=−90°の場合はf(ξ)=1、ξ=+90°の場合はf(ξ)=10になるので、結局、交差角ξが−90°〜+90°へと増加すると、画素値f(ξ)は1〜10へと単調増加することになる。
図10は、図9に示す式(4)で定義された関数f(ξ)のグラフである。横軸に示す交差角ξが−90°から+90°へと増加すると、関数f(ξ)の値が1から10へとステップ状に単調増加してゆく様子が明瞭に示されている。なお、グラフ右側の縦軸には、関数f(ξ)の値に対応する格子線の配置角度θの値が示されている。交差角ξが−90°から+90°へと増加すると、配置角度θは−45°から+45°へと単調増加することになる。
なお、逆に、交差角ξが−90°から+90°へと増加すると、画素値f(ξ)が10から1へと(配置角度θが+45°から−45°へと)単調減少する関数を用いてもかまわない。このような単調減少関数f(ξ)を用いた場合も、立体原画像10の表面各部の傾斜分布の情報を、媒体20上に形成された回折格子の格子線の配置角度分布として表現することができるので、疑似的な立体視を生じさせることができる。
要するに、画素値f(ξ)を定める関数としては、交差角ξに対して単調増加もしくは単調減少し、1〜nの全n通りの整数のいずれかをとる関数を定義すればよい。§2で述べたとおり、転写処理部320は、媒体20の表面上に、二次元画像を構成する画素配列に対応する単位領域配列を定義し、画素値k(k=1〜n)が与えられた画素に対応する単位領域には、第k番目の転写シートを転写する処理を行うことになる。そこで、転写シート供給部310内に用意されたn種類の転写シートに形成されている回折格子パターンの格子線の配置角度が、第1番目〜第n番目の転写シートの順に単調増加もしくは単調減少するように設定しておけば、結局、交差角ξの変化に対して、配置角度θが単調増加もしくは単調減少するような対応関係が得られ、視覚的に立体感を生じさせる疑似的な立体画像の観察が可能になる。
<<< §4. 画素値決定を行う構成要素 >>>
§3では、二次元画像データD2を構成する個々の画素G(i,j)の画素値を決定する基本的なアルゴリズムを述べた。この画素値決定の処理は、実際には、図3に示す交点演算部220、法線ベクトル演算部230、交差角演算部240、画素値演算部250によって実行されることになる。以下、これら各構成要素の具体的な機能を説明する。
図3に示すとおり、二次元画像格納部260に格納されている二次元画像データD2によって、画素G(i,j)の集合体からなる二次元画像が定義されているが、この時点では、まだ個々の画素G(i,j)は画素値を有しておらず、二次元画像データD2は、いわば空のデータの状態である。ここで述べる画素値決定の処理は、個々の画素G(i,j)について、それぞれ画素値を与える処理ということになる。
二次元画像を構成する個々の画素G(i,j)の縦横の寸法は、立体原画像10を記録する際の解像度を考慮して、適当な値に設定すればよい。また、二次元画素配列の大きさ(縦横の画素数)は、XYZ三次元座標系上に配置された立体原画像10の全体にわたって交点Qを定義するのに十分な大きさに設定すればよい。なお、この二次元画像を構成する個々の画素G(i,j)の縦横の寸法と、媒体20上の単位領域の縦横の寸法とは、必ずしも一致させる必要はないので、立体原画像10を任意の倍率で媒体20上にプリントすることが可能である。
まず、交点演算部220は、この二次元画像を構成する個々の画素G(i,j)についてそれぞれ代表点Pを定める。前述したように、ここで述べる例の場合、個々の画素G(i,j)は正方形状のセルによって構成され、その中心点を代表点Pとして定めている。代表点Pは、当該画素を代表する点であるので、画素を構成するセルの輪郭線を含めたセル内部の点であれば、どの位置に定めてもかまわない。各画素の代表点Pの位置は、画素のX軸およびY軸方向のピッチに基づく演算によって容易に算出することができ、XYZ三次元座標系上の座標値P(x,y,0)として与えられる。
交点演算部220は、続いて、図4に示すように、各画素G(i,j)の代表点Pの位置にそれぞれ記録面Sxyに直交する参照線Rを引き、記録面Sxyの隣接位置に立体原画像10を配置したときの各参照線Rと立体原画像10の表面との交点Qを求める処理を行う。ここで述べる例の場合、記録面SxyはXY平面上に定義されているので、参照線RはZ軸に平行な線になる。立体原画像10の情報は、原画像格納部210内に三次元形状データD1として既に用意されているので、交点演算部220は、この三次元形状データD1を参照することにより、参照線Rとの交点Qの座標値Q(x,y,z)を求めることができる。
次に、法線ベクトル演算部230によって、各交点Qについて、それぞれ立体原画像10の表面に関する法線ベクトルNが求められる。法線ベクトルNは、交点Qを始点として、交点Qを含む立体原画像10の微小表面に対して垂直外方へ向かう単位ベクトルであり、やはり原画像格納部210内の三次元形状データD1を参照することによって求めることができる。このような法線ベクトルNの算出方法は、CGの分野において広く知られている方法であるので、ここではその具体的な方法の説明は省略する。
続いて、交差角演算部240によって、法線ベクトルNの投影面Syzへの正射影として得られる投影ベクトルN*が求められる。すなわち、法線ベクトルNをX軸方向に投影することによりYZ平面上に投影ベクトルN*が求められる。この投影ベクトルN*は、投影面Syz上の投影点Q*を始点とする投影面Syz上のベクトルになる。ここで、投影点Q*は、座標値Q*(0,y,z)で示される点になる。そして、投影面Syzに含まれる任意の基準軸A(この実施例では、Z軸上に位置し、Z軸とは逆向きの軸)を定め、求めた投影ベクトルN*もしくはその延長線と基準軸Aとの交差角ξを求める処理が行われる。このような処理も、公知の幾何学的な演算によって行うことができる。
最後に、画素値演算部250によって、二次元画像を構成する個々の画素について求められた交差角ξに対する関数値f(ξ)を当該画素の画素値として二次元画像格納部260に格納する処理が行われる。ここで、関数f(ξ)は、既に述べたとおり、交差角ξに対して単調増加もしくは単調減少し、1〜nの全n通りの整数のいずれかをとる関数である。具体的には、たとえば、§3で述べたように、
f(ξ)=Int((ξ+90°)/(180°/n))+1 式(3)
(但し、f(ξ)>nの場合はf(ξ)=nとする)
なる関数f(ξ)を定義しておけばよい。
<<< §5. 転写プロセスの具体的手順 >>>
続いて、本発明に係る疑似立体プリンタによる転写プロセスの具体的な手順を説明する。ここでは、一例として、図3に示す疑似立体プリンタにおける転写シート供給部310が、図7に示すように、10通りの転写シートT1〜T10を供給する機能を有しており、二次元画像格納部260内に、図11に示すような二次元画像データD2が用意されている場合に、転写処理部320によって実行される転写プロセスの具体的な手順を説明しよう。
既に述べたとおり、二次元画像データD2によって示される各画素の画素値は、媒体20上において当該画素に対応する単位領域内に転写すべき転写シートの番号を示すものであり、図11に示す画素配列において、i行j列目の画素G(i,j)のもつ画素値「1〜10」は、それぞれ転写シート「T1〜T10」に対応している。したがって、たとえば、1行1列目の画素G(1,1)(図11の左上の画素)に対応する単位領域U(1,1)には、画素値「1」に対応する第1番目の転写シートT1を転写すればよいし、6行8列目の画素G(6,8)(図11の右下の画素)に対応する単位領域U(6,8)には、画素値「6」に対応する第6番目の転写シートT6を転写すればよい。
図12(a) は、媒体20の表面上に定義された6行8列からなる単位領域配列(画素配列に対応する配列)に対して、第1番目の転写シートT1の転写を行った状態を示す平面図である。単位領域内の斜線は、転写された回折格子パターンを示している。図12(a) に示す例では、単位領域U(1,1),U(1,2),U(2,1)の3箇所に転写シートT1の転写が行われている。これは、図11に示す画素配列において、3つの画素G(1,1),G(1,2),G(2,1)が、画素値「1」をもつ画素であるためである。
図12(b) は、図12(a) に示す状態に続けて、第2番目の転写シートT2の転写を行った状態を示す平面図であり、新たに、単位領域U(1,3),U(1,8),U(2,2),U(3,1)の4箇所に転写シートT2の転写が行われている。これは、図11に示す画素配列において、4つの画素G(1,3),G(1,8),G(2,2),G(3,1)が、画素値「2」をもつ画素であるためである。
図12(c) は、図12(b) に示す状態に続けて、第3番目の転写シートT3の転写を行った状態を示す平面図であり、新たに、単位領域U(1,4),U(1,7),U(2,3),U(2,8),U(3,2),U(4,1),U(5,1)の7箇所に転写シートT3の転写が行われている。これは、図11に示す画素配列において、7つの画素G(1,4),G(1,7),G(2,3),G(2,8),G(3,2),G(4,1),G(5,1)が、画素値「3」をもつ画素であるためである。
以下、同様にして、第4番目の転写シートT4〜第10番目の転写シートT10までの転写を順次行ってゆく。図13は、こうして、10種類の転写シートT1〜T10についての転写をすべて完了した状態、すなわち、図11に例示する二次元画像データD2に基づいてプリントを完了した状態を示す平面図である。すべての単位領域に、転写シートT1〜T10のいずれかが転写されていることになる。
なお、図5に示す代表点P′のように、参照線R′を伸ばしても、立体原画像10と交差しない場合には、代表点P′をもつ画素については、画素値が定義されない。このように、画素値が定義されていない画素に対応する単位領域については、転写シートの転写は行われない。このような単位領域からは、観察時に回折光は生じないので、暗い背景部分として認識されることになる。このような背景部分についても、何らかの回折光を生じさせた方が好ましい場合には、図5の説明で述べたように、立体原画像10の後方に背景面11を定義し、画素配列を構成するすべての画素に何らかの画素値を定義するようにすればよい。
以上、単位シートT1〜T10の順に転写プロセスを行う例を説明したが、もちろん、転写プロセスの順序は、必ずしも単位シートT1〜T10の順に行う必要はなく、任意の順序で転写を行うことが可能である。本発明において重要な点は、各画素について求められた交差角ξに対して単調増加もしくは単調減少するような配置角度θを定義し、交差角ξが得られた画素に対応する媒体20上の単位領域には、当該交差角ξに対応する配置角度θをもった回折格子パターンを転写することにある。
転写シート供給部310にn通りの転写シートT1〜Tnを用意し、これらの転写シートに形成する回折格子の格子線配置角度θとして、等間隔に分布するn通りの角度を定義するのであれば、第k番目の配置角度θkは、既に述べたとおり、
θk=α・(k−1)/(n−1)+β 式(1)
で表すことができる。ここで、αは分布範囲を示す角度値であり、βはオフセットを示す角度値である。このような設定を行えば、n種類の転写シートT1〜Tnに形成されている回折格子パターンの格子線の配置角度θは、第1番目〜第n番目の転写シートT1〜Tnの順に単調増加するので(αを負の値に設定し、単調減少するようにしてもよい)、転写処理部320は、画素値k(k=1〜n)が与えられた画素に対応する単位領域に、第k番目の転写シートTnを転写する処理を行えばよい。そうすれば、交差角ξに対して単調増加もしくは単調減少するような配置角度θをもった回折格子パターンを転写することができる。
媒体上に回折格子パターンを転写する方法としては、様々な方法が知られているが、本願発明を実施する上で最も実用的と思われる方法は、回折格子が形成された熱転写シートを利用する方法である。
図14は、図3に示す疑似立体プリンタのプリント処理ユニット300の具体的な構成例を示す側断面図である(ハッチングは断面を示す)。図において、媒体20は、媒体供給部330から供給された媒体(例えば、紙)であり、転写シート30は、転写シート供給部310から供給された転写シート(T1〜Tnのうちのいずれか)である。一方、サーマルヘッド40(内部構造の図示は省略する)は、転写処理部320の一構成要素であり、必要に応じて、転写シート30に熱を加える機能を有する。
ここに示す例の場合、転写シート30は、台紙31、接着剤層32、アルミニウム層33、支持担体層34、接着剤層35を図示のとおり積層した構造を有している。台紙31は、この転写シート30全体の支持層として機能する。接着剤層32および35は、いずれも熱可塑性樹脂から構成されており、室温では固化状態を維持するが、サーマルヘッド40から熱が加えられると溶融する性質を有している。支持担体層34は、紫外線硬化型樹脂からなり、その上面には凹凸構造が形成されている。アルミニウム層33は、この凹凸構造の表面に形成された反射層である。
この転写シート30において、実際に媒体20側へと転写される部分は、アルミニウム層33,支持担体層34,接着剤層35の3層部分である。すなわち、媒体20の上面に転写シート30を接触させて配置し、この転写シート30の上面にサーマルヘッド40を接触させて図の下方に押圧した状態にし、サーマルヘッド40への通電によって加熱を行うと、熱可塑性を有する接着剤層32,35が溶融状態となる。ここで、接着剤層32の台紙31に対する粘着力に比べて、接着剤層35の媒体20に対する粘着力の方が大きくなるようにしておけば、加熱および押圧によって、アルミニウム層33,支持担体層34,接着剤層35の3層部分が、媒体20側へと転写されることになる。台紙31および接着剤層32は、媒体20側に転写されずに残る。したがって、本願発明における本来の「転写シート」は、アルミニウム層33,支持担体層34,接着剤層35の3層部分ということになるが、ここでは便宜上、図示された5層構造体30についても、「転写シート」と呼ぶことにする。
支持担体層34に形成された凹凸構造により、アルミニウム層33には凸部33aと凹部33bとが形成される。この凸部33aと凹部33bとは、上面から見ると回折格子を構成する位置に配置されている。支持担体層34は、紫外線硬化型樹脂から構成されているため、硬化前に支持担体層34の上面に必要な凹凸構造を形成し、紫外線を照射して硬化させ、その上面にアルミニウムを蒸着等の方法で付着させれば、回折格子の格子線を構成する凹凸構造をもったアルミニウム層33を得ることができる。図14の側断面図は、この回折格子の格子線に直交する断面を示すものであり、各格子線は、図の紙面に垂直な方向に伸びている。
図14には、1種類の転写シート30についての構造が示されているが、転写シート供給部310に用意されたn通りの転写シートT1〜Tnの基本構造は、いずれも図14に示す構造をなす。ただ、格子線の配置角度θは、個々の転写シートごとに異なっている。
図15は、図14に示すプリント処理ユニット300による転写処理を示す斜視図である。図において、媒体20は、媒体供給部330から供給された紙などの媒体であり、転写シート30は、転写シート供給部310から供給された転写シート(T1〜Tnのうちのいずれか)である。ここに示す実施例では、図示のとおり、媒体20の幅と転写シート30の幅はほぼ等しいが、媒体20の長さに比べて転写シート30の長さは極めて長くなっている。これは、転写シート30が、転写リボンの形態をとり、図示されていないリボンカセット内に巻き取り状態で収容されているためである。転写シート供給部310は、このようなリボンカセットから、転写シート30を図の搬送方向Cに向かって引き出し、媒体20の上面に接触する位置に保持する機能を有している。
一方、サーマルヘッド40の下端部には、搬送方向Cとは直交する方向に、多数の発熱素子が一列に並んでいる。個々の発熱素子の配置ピッチは、媒体20上に定義された単位領域のピッチに対応する。また、転写処理部320には、このサーマルヘッド40を、その下端部を転写シート30の上面に接触させ、当該接触部分を媒体20へ向けて押圧しながら、図の搬送方向Cに向かって媒体20の長さに相当する距離だけ走査する走査機構(図示省略)が備わっている。この走査ピッチも、媒体20上に定義された単位領域のピッチに対応している。
したがって、サーマルヘッド40を図の搬送方向Cへ走査する過程で、走査ピッチごとの各位置において、サーマルヘッド40の下端部に形成された任意の発熱素子に対して通電を行い、通電された発熱素子により転写シート30に対して加熱を行えば、加熱部分についてのみ、回折格子の転写を行うことができる。個々の発熱素子の大きさや発熱量を、1単位領域分の回折格子の転写に適したものに設定しておけば、1単位領域ごと(すなわち、二次元画像においる1画素ごと)に、転写/非転写の制御を行うことができる。
結局、転写シート30として、図7に示す転写シートT1を供給し、図11に示す二次元画像において画素値「1」をもつ画素に対応する単位領域にのみ転写が行われるように、サーマルヘッド40の通電制御を行えば、サーマルヘッド40を図の搬送方向Cへ1回走査するプロセスによって、媒体20上には、図12(a) に示すような回折格子の転写が行われることになる。続いて、サーマルヘッド40を元の走査開始位置まで戻し、供給する転写シートを図7に示す転写シートT2に切り替え、同様の走査プロセスを行えば、媒体20上には、図12(b) に示すような回折格子の転写が行われることになる。このような走査プロセスを10回繰り返して行えば、媒体20上には、図13に示すような回折格子の転写が行われることになり、プリント処理は完了する。
ここに示す実施例では、転写シート30として、長尺状の転写リボンを用いているため、1枚の媒体20についてのプリントが完了したら、転写シート30を図の搬送方向Cへ、媒体20の長さに相当する分だけ送るようにすれば、2枚目の媒体20についてのプリントに利用することができる。本発明では、1枚の媒体20についてのプリント処理を行うために、n種類の転写シートT1〜Tnを用いた合計n回の転写処理が必要になる。したがって、転写シートとして長尺状の転写リボンを用いるのであれば、転写シート供給部310内に、図16に示すように、n個のリボンカセットRC1〜RCnを用意しておき、各リボンカセットからそれぞれリボン状の転写シートT1〜Tnを引き出して供給すればよい。
もっとも、このようにn個のリボンカセットRC1〜RCnを用意するためには、それだけ収容スペースが必要になり、また、同一の媒体20に対して、各リボンカセットRC1〜RCnから引き出した転写シートT1〜Tnを順次切り替えて接触させる機構が必要になる。このような機構を省き、構成を単純化するためには、図17に示すように、転写シートT1〜Tnを順に繰り返し繋ぎ合わせた転写リボンを収容した単一のリボンカセットRCを用いるようにすればよい。図17に示す転写リボンは、リボンカセットRCから図の搬送方向Cに向かって引き出して利用される。図に示す転写シートT1,T2,…,Tnは、それぞれこの1本の転写リボンの一領域を構成しており、個々の領域は、プリント対象となる媒体20の面積にほぼ等しく設定されている。
図15において、転写シート30として、図17に示すリボンカセットRCから引き出された転写リボンを用いるのであれば、まず、この転写リボンの中の転写シートT1を構成する領域を媒体20に接触させ、サーマルヘッド40による1回目の走査を行い、画素値「1」を有する画素に対応する単位領域への転写を行う。続いて、サーマルヘッド40を走査開始位置まで戻すとともに、転写リボンを搬送方向Cへ送り、転写シートT2を構成する領域を媒体20に接触させ、サーマルヘッド40による2回目の走査を行い、画素値「2」を有する画素に対応する単位領域への転写を行う。このような処理を合計n回繰り返して実行すれば、1枚の媒体20に対するプリントは完了である。その後、再び、転写リボンを搬送方向Cへ送り、新たな転写シートT1の領域を媒体20に接触させれば、2枚目の媒体20に対するプリントを行うことができる。
なお、媒体20に対する転写/非転写の制御は、前述したとおり、個々の発熱素子への通電/非通電によって制御することが可能であるが、実際には、予め設定した単位領域の各位置に対する正確な転写/非転写の制御を行うことは困難である。これは、合計n回の転写プロセスを繰り返し実行する際に、位置ずれが生じるためである。サーマルヘッド40は合計n回の走査を行うことになるが、各回の走査位置を正確に一致させることは困難であり、多少なりとも位置ずれが発生することは避けられない。このような位置ずれが生じると、隣接する単位領域との境界部分において、転写層が部分的に重なり合って転写される可能性があり、この部分から転写不良を起こすなどの弊害があり、好ましくない。
そこで、実用上は、転写処理部320による転写処理を行う際に、互いに異なる画素値を有する隣接画素に対応する隣接単位領域については、当該隣接単位領域の転写層間に空隙を確保した転写が行われるようにするのが好ましい。図18は、このように転写層間に空隙を確保する実施例を示す平面図であり、図11に示す二次元画像データD2に基づいて、媒体上の各単位領域U(i,j)に回折格子を有する転写層を転写した状態を示している。
図18の各単位領域内の数字は、当該単位領域に転写された転写シートの番号(1〜10)を示すものであり、図11に示す二次元画像の各画素値に一致する。また、各単位領域の境界線のうち、太線で描かれた部分は、隣接する単位領域に転写された転写層間に空隙が確保されていることを示している。これに対して、細線で描かれた境界線は、概念的な単位領域の境界を示すものであり、実際には、この細線を跨いで物理的に連続した転写層が形成されている。
たとえば、図の左上隅に位置する3つの単位領域U(1,1),U(1,2),U(2,1)には、実際には、L字型をした物理的に連続した1枚の転写層(転写シートT1によって形成された転写層)が転写されており、図に細線で示された境界線、すなわち、単位領域U(1,1)とU(1,2)との境界線および単位領域U(1,1)とU(2,1)との境界線は、転写層を分断する物理的な境界線にはなっていない。これに対して、たとえば、単位領域U(2,2)は、その四辺が太線で描かれており、その上下左右に配置された隣接する単位領域との間には、転写層(転写シートT2によって形成された転写層)を分断する物理的な境界線が形成されている。
要するに、互いに同じ画素値を有する隣接画素に対応する隣接単位領域については、境界線を跨いで物理的に単一の転写層が転写され、互いに異なる画素値を有する隣接画素に対応する隣接単位領域については、物理的に異なる別々の転写層が所定の空隙を確保した状態で転写されるようにすればよい。そうすれば、n枚の転写シートT1〜Tnを順次転写するプロセスにおいて、位置ずれが生じた場合でも、異なる転写シートから転写された隣接転写層の間には、物理的な空隙が確保されるので、隣接する転写層が部分的に重なり合い、転写不良の要因になることを防ぐことができる。
このように、互いに異なる画素値を有する隣接画素に対応する隣接単位領域間に物理的な空隙を確保するためには、たとえば、該当画素に対応する発熱素子についての通電時間を短くし、与える熱量を少なくすればよい。1つの画素のドットの大きさは、転写プロセスで与える熱量を増減することにより、10〜20%程度大きくしたり小さくしたりすることができる。そこで、境界領域の画素を所定の画像処理で抽出し、これらの画素についての通電量を低減させれば、境界線を後退させることができる。
続いて、転写処理部320によって行われる転写処理の別な方法を説明しよう。この方法の特徴は、n種類の転写シートT1〜Tnのうちの特定の1つを背景転写シートと定め、この背景転写シートについての転写処理を最初に実行し、かつ、画素値に関わらず全画素に対応する単位領域にこの背景転写シートを転写する処理を行い、続いて、残りの転写シートを用いた転写処理を、背景転写シートによる転写層の上面に積層して行うようにする点にある。
たとえば、図7に示すような10通りの転写シートT1〜T10が用意されている場合に、第6番目の転写シートT6を背景転写シートに定めた場合を考えてみよう。この場合、まず、媒体20上の全単位領域に背景転写シートT6の転写が行われる。図19は、こうして背景転写シートT6の転写を行った状態を示す平面図である(斜線は格子線Lを示す)。続いて、残りの転写シートT1〜T5,T7〜T10についての転写処理を順次行うが、これらの転写処理は、図19に示すように、背景転写シートT6の転写が完了した後の転写層の上面に対して積層して行うことになる。
図20は、背景転写シートT6による転写層t6の上面に、転写シートT1による転写層t1,転写シートT2による転写層t2,転写シートT3による転写層t3を転写した状態を示す側断面図である(ハッチングは断面を示す)。図示のとおり、媒体20の上面全面に背景転写シートT6による転写層t6が下層として形成されており、その上に積層して、転写層t1,t2,t3が上層として形成されている。下層となる転写層t6は、全単位領域に形成されているものの、その後の転写処理により、徐々に転写層t1,t2,t3等の上層によって覆われた状態になり、結局、他のすべての転写シートについての転写処理が完了した時点で、他の転写層(上層)によって覆われていない露出部分のみが観察時に観察されることになる。したがって、たとえば、図11に示す二次元画像データD2に基づいてプリントを行った場合、画素値「6」を有する画素に対応する単位領域についてのみ、転写層t6が露出した状態になり、最終的に得られる結果は、前述した通常の転写処理方法を実行した場合と同じになる。
このように、1枚の転写シートを背景転写シートとして用いる実施例の利点は、上層側の転写層間に空間を確保しやすくなる点である。たとえば、図20に示す例を見ると、上層を構成する転写層t1,t2,t3は、相互に直接的には隣接していない。すなわち、転写層t6を露出させるべき単位領域には、上層となる転写層が存在しないため、上層に関しては、この部分に空間が確保できることになる。このため、位置ずれが生じた場合でも、隣接する転写層が部分的に重なって、転写不良の要因になることを防ぐことができる。
もちろん、上層となる転写層間には、常に空間が確保されるわけではないので、上層となる転写層が直接的に隣接状態になる部分も生じるが、出現頻度の高い画素値に対応する転写シートを背景シートに設定すれば、上層部分により多くの空間を確保することが可能になり、位置ずれに起因する弊害を抑制する効果が得られることになる。
<<< §6. 疑似的プリント方法の基本手順 >>>
以上、本発明に係る疑似立体プリンタの構成および動作を、図示する実施形態に基づいて説明したが、ここでは、本発明の基本的な実施形態に係る疑似的プリント方法の手順を、図21の流れ図を参照して説明する。
図21の流れ図において、ステップS10〜S60までの手順は、実際には、コンピュータによって実行される手順である。まず、ステップS10の原画像入力段階において、プリント対象となる立体原画像の三次元形状データがコンピュータに入力され、格納される。図3に示す実施形態の場合、原画像格納部210内に、三次元形状データD1が格納されることになる。続くステップS20の二次元画像格納場所準備段階では、所定の記録面上に定義された画素配列からなる二次元画像の画素値の格納場所が確保される。図3に示す実施形態の場合、二次元画像格納部260内に、二次元画像の画素値の格納場所が確保されている。
次に、ステップS30の交点演算段階では、この二次元画像を構成する個々の画素についてそれぞれ代表点Pを定め、各代表点Pの位置にそれぞれ記録面に直交する参照線Rを引き、記録面の隣接位置に立体原画像を配置したときの各参照線Rと立体原画像の表面との交点Qを求める処理が行われる。この処理の具体的な内容は、交点演算部220の機能として既に述べたとおりである。
そして、ステップS40の法線ベクトル演算段階では、交点演算段階によって求められた各交点Qについて、それぞれ立体原画像の表面に関する法線ベクトルNを求める処理が行われる。この処理の具体的な内容は、法線ベクトル演算部230の機能として既に述べたとおりである。
続いて、ステップS50の交差角演算段階では、基準軸Aを含む所定の投影面を定義し、各法線ベクトルNの投影面への正射影として得られる投影ベクトルN*を求め、求めた各投影ベクトルN*と基準軸Aとの交差角ξを求める処理が行われる。この処理の具体的な内容は、交差角演算部240の機能として既に述べたとおりである。
更に、ステップS60の画素値演算段階では、交差角ξに対して単調増加もしくは単調減少し、1〜nの全n通りの整数のいずれかをとる関数f(ξ)に基づいて、二次元画像を構成する個々の画素について求められた交差角ξに対する関数の値f(ξ)を当該画素の画素値として求め、ステップS20で準備した格納場所に格納する処理が行われる。この処理の具体的な内容は、画素値演算部250の機能として既に述べたとおりである。
最後に、ステップS70の転写処理段階が行われる。この転写処理段階では、プリント対象となる媒体の表面上に、二次元画像を構成する画素配列に対応する単位領域配列を定義し、各単位領域に、所定の回折格子パターンを有する転写シートを転写する処理が行われる。その結果、各単位領域には、それぞれ対応する画素の画素値k(k=1〜n)に応じて単調増加もしくは単調減少する「格子線の配置角度」をもった回折格子パターンが転写されることになる。この転写処理の具体的な方法は、§5で述べたとおりである。
かくして、このプリント方法によれば、三次元構造をもった立体原画像を、プリント対象となる媒体の二次元表面上に疑似的にプリントすることができる。すなわち、立体原画像の表面各部の向きの情報が法線ベクトルNとして抽出され、媒体上の各単位領域に、法線ベクトルNの向きに応じた格子線配置角度をもった回折格子パターンが転写されるため、任意の立体原画像に基づいて、即座にプリントを行うことができ、かつ、観察時に立体効果が得られる画像を媒体上にプリントすることができる。
<<< §7. 変形例 >>>
最後に、本発明の変形例を述べる。図22は、この変形例に係る疑似立体プリンタの構成を示すブロック図である。この変形例は、図3に示す基本的実施形態に係る疑似立体プリンタに、更に、撮影画像入力部120、ディザ処理部270、撮影画像印刷部340を付加したものである。
撮影画像入力部120は、立体原画像10を撮影して得られる二次元撮影画像データD3を入力し、これを原画像格納部210に格納する機能を果たす。実際には、デジタルカメラやビデオカメラなどによって撮影画像入力部120を構成することができる。結局、この変形例の場合、データ入力ユニット100は、原画像入力部110と撮影画像入力部120とによって構成される。
原画像入力部110も、撮影画像入力部120も、立体原画像10に基づいてデータを入力する機能を果たすが、原画像入力部110によって入力されるデータが、立体原画像10の三次元形状を示す三次元形状データD1であるのに対して、撮影画像入力部120によって入力されるデータは、立体原画像10を二次元平面上に撮影することにより得られる二次元撮影画像データD3である。
二次元撮影画像データD3は、原画像格納部210に格納された後、撮影画像印刷部340で利用される。撮影画像印刷部340は、プリント処理ユニット300内に追加された構成要素であり、プリント対象となる媒体20の表面上に、二次元撮影画像を印刷する機能を果たす。この撮影画像印刷部340は、媒体20の二次元表面上に二次元画像を印刷するいわゆる一般的なプリンタである。したがって、従来から利用されている一般的なプリンタ(たとえば、インクジェット式プリンタ)をそのまま撮影画像印刷部340として利用することができる。
具体的には、撮影画像入力部120によって、立体原画像10をRGBの3原色からなるカラー画像として取り込んだ後、当該カラー画像を印刷に適したCMYKの4色からなるカラー画像に変換し、撮影画像印刷部340によって、C,M,Y,Kの4色のインクを用いた印刷を行えばよい。
この変形例に係る疑似立体プリンタでは、媒体供給部330から供給される媒体20の表面に対して、撮影画像印刷部340による印刷が行われた後、この二次元撮影画像が印刷された後の媒体20の印刷面に対して、転写処理部320による転写処理が行われる。したがって、媒体20の表面に印刷された二次元撮影画像は、転写処理が完了したときに、転写層によって被覆された状態となる。
このように被覆された状態になっても、二次元撮影画像が観察できるようにするため、転写シート供給部310が供給する転写シートとして、透明な転写層を有する転写シートを用いるようにする。具体的には、図14に示すような構造をもった転写シート30を利用する場合、アルミニウム層33は除去し、支持担体層34および接着剤層35に透明な材料を用いるようにする。そうすれば、観察者は、透明な転写層(層34,35)を通して、媒体20上に印刷された二次元撮影画像を観察するとともに、この転写層の表面に形成された回折格子による回折光を同時に観察することができる。もちろん、アルミニウム層33を除去したため、回折光の強度は低下するが、支持担体層34の上面の凹凸構造により、依然として回折現象は生じる。
結局、この変形例では、二次元撮影画像の印刷と、回折格子パターンの転写とを、同一の媒体上に重ねて行うことになる。もちろん、この場合、二次元撮影画像によって示される立体原画像10の各部と、回折格子によって示される立体原画像10の各部とが、媒体20上の同一位置にくるような位置合わせが行われるようにする。そうすれば、二次元撮影画像の印刷面と、回折格子パターンの転写層とが相補的な役割を果たし、立体感をもった鮮明な像が観察できるようになる。すなわち、回折格子パターンの転写層は、疑似的に立体感を提示することはできるが、回折格子の集合体であるため、立体原画像10を示す鮮明な画像を提示することはできない。これに対し、二次元撮影画像の印刷面は、立体効果を与えることはできないが、立体原画像10の特徴を正確に表現した鮮明な像を提示することができる。
図23は、この変形例に係る疑似的プリント方法の手順を示す流れ図である。図21に示す基本的な実施形態の手順との相違は、新たに、撮影画像入力段階S15と撮影画像印刷段階S65とを付加した点である。撮影画像入力段階S15は、立体原画像を撮影して得られる二次元撮影画像データを入力する処理を行う段階であり、撮影画像印刷段階65は、プリント対象となる媒体の表面上に、この二次元撮影画像を印刷する段階である。また、転写処理段階S70では、二次元撮影画像の印刷面上に、透明な転写シートの転写を行うことになる。
この変形例のもうひとつの特徴は、図22に示すデータ処理ユニット200内に、ディザ処理部270が付加されている点である。このディザ処理部270は、原画像格納部260に格納されている二次元画像に対してディザ処理を施すことにある。ディザ処理は、DTPの分野で広く利用されている画像処理であり、画素値が空間的に急激に変化するような部分に対して、この急激な変化をより緩慢な変化に修正する機能を果たす。一般的な網点印刷では、黒の細かい点の集まりで擬似的にグレーを表現するために利用されているが、画素内に回折格子パターンを形成する技術にも応用することが可能である。
たとえば、特開2007−240838号公報には、回折格子による異方性反射の移り変わりを滑らかに認識させるために、二次元画像データに対してディザ処理を施す技術が開示されている。縦横に画素を配置してなる一般的な二次元画素配列からなる画像データに対するディザ処理の手法は、様々な方法が公知であるため、ここでは詳しい説明は省略する。
この変形例に係る疑似立体プリンタでは、画素値演算部250によって個々の画素に画素値が与えられ、二次元画像格納部260内に二次元画像データD2が得られたら、ディザ処理部270により、この二次元画像データD2に対してディザ処理が実行される。そして、転写処理部320は、このディザ処理後の二次元画像の画素値に基づいて、転写処理を行うことになる。
本来、立体原画像10の微小表面の傾斜(すなわち、法線ベクトルNの角度)は、連続的に変化する値である。ところが、本発明では、この微小表面の傾斜を、媒体20上に形成するn通りの回折格子によって疑似的に表現することになるので、連続量である微小表面の傾斜の情報が、無理やりn段階に量子化されてしまうことになる。このような量子化を行うと、本来は存在しないはずの疑似輪郭が観察される可能性がある。上述したディザ処理は、このような弊害を抑制する効果を有し、ディザ処理を付加することにより、より滑らかな立体感をもった像が観察できるようになる。
また、これまで述べた実施形態では、格子線の配置角度θをn通りに変えることによって、複数n通りの転写シートT1〜Tnを用意したが、本願発明者が行った実験によると、格子線の配置角度θをn通りに変える代わりに、格子線の配置ピッチをn通りに変えることにより、複数n通りの転写シートT1〜Tnを用意しても、ほぼ同様の効果が得られることが確認できた。
たとえば、図7に示す例の場合、10通りの転写シートT1〜T10は、格子線の配置角度θを、θ=−45°〜+45°の範囲で徐々に変えたものである。この場合、格子線のピッチは、いずれの転写シートT1〜T10についても、共通の値(たとえば、1μm)に設定してあった。これに対して、格子線の配置ピッチを変えることにより、10通りの転写シートを用意することも可能である。もっとも、回折格子を形成するためには、通常、格子線ピッチを0.5μm〜10μmの範囲にする必要があるので、格子線の配置ピッチのバリエーションは、上記範囲内に収まるように設定する。たとえば、0.8μm,0.9μm,1.0μm,...,1.7μmというように、0.1μm刻みで10通りの配置ピッチを設定すれば、10通りの転写シートT1〜T10を用意することができる。この場合、いずれの転写シートT1〜T10についても、格子線の配置角度θは共通の値(たとえば、0°)に設定しておけばよい。
一般に、n種類の転写シートを用意する場合、このn種類の転写シートに形成されている回折格子パターンの格子線の配置ピッチが、第1番目〜第n番目の転写シートの順に単調増加もしくは単調減少するように設定しておけばよい。