(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024004042
(43)【公開日】2024-01-16
(54)【発明の名称】シミュレーション装置、データ送信装置、モデル生成装置、事前データ生成装置、画像生成装置、シミュレーション方法、及びシミュレーションプログラム
(51)【国際特許分類】
A61B 3/10 20060101AFI20240109BHJP
G02C 13/00 20060101ALI20240109BHJP
【FI】
A61B3/10
G02C13/00
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2022103479
(22)【出願日】2022-06-28
(71)【出願人】
【識別番号】300035870
【氏名又は名称】株式会社ニコン・エシロール
(74)【代理人】
【識別番号】100107836
【弁理士】
【氏名又は名称】西 和哉
(72)【発明者】
【氏名】岸本 武士
【テーマコード(参考)】
2H006
4C316
【Fターム(参考)】
2H006DA01
2H006DA05
4C316AA13
4C316AA21
4C316AA24
4C316AA25
4C316AA28
4C316AB09
4C316FB12
4C316FB21
4C316FB22
4C316FC21
(57)【要約】
【課題】例えば、眼鏡レンズを通して利用者が見る特定のシーンの見え方を再現するシミュレーションの精度を向上させること。
【解決手段】本開示の第1の態様に従えば、眼鏡レンズを通して利用者が見る特定のシーンの見え方を再現するシミュレーション装置が提供される。シミュレーション装置は、少なくとも、利用者の眼球に関する眼球情報と眼鏡レンズの設計情報とに基づいて、シーンの見え方を示すシミュレーション画像を生成する処理部と、処理部によって生成されたシミュレーション画像を表示装置に出力する出力部と、を備える
【選択図】
図17
【特許請求の範囲】
【請求項1】
眼鏡レンズを通して利用者が見る特定のシーンの見え方を再現するシミュレーション装置であって、
少なくとも、前記利用者の眼球に関する眼球情報と前記眼鏡レンズの設計情報とに基づいて、前記シーンの見え方を示すシミュレーション画像を生成する処理部と、
前記処理部によって生成された前記シミュレーション画像を表示装置に出力する出力部と、
を備えるシミュレーション装置。
【請求項2】
前記処理部は、
前記眼球情報を含む情報に基づいて前記利用者の眼球をモデル化した眼球モデルを生成するデータ生成部と、
前記眼鏡レンズを通して前記眼球モデルから見える前記シーンの見え方を表したシーン画像を前記シミュレーション画像として生成する画像生成部と、
を備える、請求項1に記載のシミュレーション装置。
【請求項3】
前記データ生成部は、個人毎に異なる前記眼球モデルと、前記眼鏡レンズをモデル化した眼鏡レンズモデルとを有する光学系を仮想空間に構築し、
前記画像生成部は、コンピュータグラフィックスによって生成した前記シーン画像に対して、前記光学系において前記眼球モデルの内部から前記眼鏡レンズモデルに向かう光線を追跡する後方光線追跡によって得られる情報に基づいて加工することで前記シミュレーション画像を生成する、
請求項2に記載のシミュレーション装置。
【請求項4】
前記データ生成部は、前記後方光線追跡によって前記眼鏡レンズによって生じる視線方向の歪み変位量と前記眼鏡レンズの前面での波面収差とを算出し、前記波面収差から点像広がり関数を計算し、
前記画像生成部は、前記歪み変位量に応じて前記シーン画像を変形させる歪み処理と、前記点像広がり関数を含む情報に基づいて前記シーン画像にボケ処理とを行うことで前記シミュレーション画像を生成する、
請求項3に記載のシミュレーション装置。
【請求項5】
前記データ生成部は、フーリエ変換を用いて前記波面収差から前記点像広がり関数を算出する、
請求項4に記載のシミュレーション装置。
【請求項6】
前記画像生成部は、前記点像広がり関数に基づいて、前記ボケ処理を行うための画像処理フィルタを生成し、前記歪み処理が行われた後の前記シーン画像に対して前記画像処理フィルタを含む情報に基づいて前記ボケ処理を行う、
請求項5に記載のシミュレーション装置。
【請求項7】
前記画像生成部は、
前記画像生成部は、前記歪み変位量と、前記シーン画像の各画素の距離データとに基づいて前記歪み処理を行い、前記画像処理フィルタと前記距離データとに基づいて、前記歪み処理が行われた後の前記シーンの画像に対して前記ボケ処理を行う、
請求項6に記載のシミュレーション装置。
【請求項8】
前記処理部は、視線追跡装置から前記利用者の視線方向と瞳孔径との少なくともいずれかの情報を取得し、当該情報をさらに用いて前記シミュレーション画像を生成する、
請求項1に記載のシミュレーション装置。
【請求項9】
前記シミュレーション画像は、動画のフレームであり、
前記出力部は、前記フレームごとに生成された前記シミュレーション画像を前記表示装置に出力することで前記表示装置に対して前記シーンの見え方を動画として出力させる、
請求項1から8のいずれか一項に記載のシミュレーション装置。
【請求項10】
利用者の眼球情報を取得する取得部と、
前記取得部で取得した前記眼球情報を、個人毎に異なる眼球モデルを生成するモデル生成装置に対して送信する送信部と、
を備えるデータ送信装置。
【請求項11】
眼鏡レンズを通して利用者が見る特定のシーンの見え方を再現するための眼球モデルを生成するモデル生成装置であって、
前記利用者の眼球情報を含む情報に基づいて前記利用者の眼球をモデル化することで、個人毎に異なる前記眼球モデルを生成するモデル生成装置。
【請求項12】
眼鏡レンズを通して利用者が見る特定のシーンの見え方を再現したシミュレーション画像を生成するための事前データを生成する事前データ生成装置であって、
前記利用者の眼球情報を用いてモデル化された前記利用者の眼球モデルと、前記眼鏡レンズをモデル化した眼鏡レンズモデルと、を有する光学系を用いて前記事前データを生成する、
事前データ生成装置。
【請求項13】
前記眼球モデルの内部から前記眼鏡レンズモデルに向かう光線を追跡する後方光線追跡を行うことで、点像広がり関数と、前記眼鏡レンズによって生じる視線方向の歪み変位量と、を前記事前データとして生成する、
請求項12に記載の事前データ生成装置。
【請求項14】
眼鏡レンズを通して利用者が見る特定のシーンの見え方を示すシミュレーション画像を生成する画像生成装置であって、
前記利用者の眼球に関する眼球情報と前記眼鏡レンズの設計情報とに基づいて生成された事前データに基づいて、前記シミュレーション画像を生成し、生成した前記シミュレーション画像を表示装置に表示させる画像生成装置。
【請求項15】
眼鏡レンズを通して利用者が見る特定のシーンの見え方を再現するシミュレーション方法であって、
少なくとも、前記利用者の眼球に関する眼球情報と前記眼鏡レンズの設計情報とに基づいて、前記シーンの見え方を示すシミュレーション画像を生成することと、
生成した前記シミュレーション画像を表示装置に出力することと、
を含むシミュレーション方法。
【請求項16】
眼鏡レンズを通して利用者が見る特定のシーンの見え方を再現するためのシミュレーション装置として、コンピュータを機能させるシミュレーションプログラムであって、
前記コンピュータを、
少なくとも、前記利用者の眼球に関する眼球情報と前記眼鏡レンズの設計情報とに基づいて、前記シーンの見え方を示すシミュレーション画像を生成する処理部と、
前記処理部によって生成された前記シミュレーション画像を表示装置に出力する出力部
として機能させるシミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、シミュレーション装置、データ送信装置、モデル生成装置、事前データ生成装置、画像生成装置、シミュレーション方法、及びシミュレーションプログラムに関する。
【背景技術】
【0002】
特許文献1には、眼鏡レンズを通した見え方のシミュレーションを行うシミュレーション装置が記載されている。シミュレーション装置において、シミュレーションの精度を向上させることが求められている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【課題を解決するための手段】
【0004】
本開示の第1の態様に従えば、眼鏡レンズを通して利用者が見る特定のシーンの見え方を再現するシミュレーション装置が提供される。シミュレーション装置は、少なくとも、利用者の眼球に関する眼球情報と眼鏡レンズの設計情報とに基づいて、シーンの見え方を示すシミュレーション画像を生成する処理部と、処理部によって生成されたシミュレーション画像を表示装置に出力する出力部と、を備える。
【0005】
本開示の第2の態様に従えば、利用者の眼球情報を取得する取得部と、取得部で取得した眼球情報を、個人毎に異なる眼球モデルを生成するモデル生成装置に対して送信する送信部と、を備えるデータ送信装置が提供される。
【0006】
本開示の第3の態様に従えば、眼鏡レンズを通して利用者が見る特定のシーンの見え方を再現するための眼球モデルを生成するモデル生成装置が提供される。モデル生成装置は、利用者の眼球情報を含む情報に基づいて利用者の眼球をモデル化することで、個人毎に異なる眼球モデルを生成する。
【0007】
本開示の第4の態様に従えば、眼鏡レンズを通して利用者が見る特定のシーンの見え方を再現したシミュレーション画像を生成するための事前データを生成する事前データ生成装置が提供される。事前データ生成装置は、利用者の眼球情報を用いてモデル化された利用者の眼球モデルと、眼鏡レンズをモデル化した眼鏡レンズモデルと、を有する光学系を用いて事前データを生成する。
【0008】
本開示の第5の態様に従えば、眼鏡レンズを通して利用者が見る特定のシーンの見え方を示すシミュレーション画像を生成する画像生成装置が提供される。画像生成装置は、利用者の眼球に関する眼球情報と眼鏡レンズの設計情報とに基づいて生成された事前データに基づいて、シミュレーション画像を生成し、生成したシミュレーション画像を表示装置に表示させる。
【0009】
本開示の第6の態様に従えば、眼鏡レンズを通して利用者が見る特定のシーンの見え方を再現するシミュレーション方法が提供される。シミュレーション方法は、少なくとも、利用者の眼球に関する眼球情報と眼鏡レンズの設計情報とに基づいて、シーンの見え方を示すシミュレーション画像を生成することと、生成したシミュレーション画像を表示装置に出力することと、を含む。
【0010】
本開示の第7の態様に従えば、眼鏡レンズを通して利用者が見る特定のシーンの見え方を再現するためのシミュレーション装置として、コンピュータを機能させるシミュレーションプログラムが提供される。シミュレーションプログラムは、コンピュータを、少なくとも、利用者の眼球に関する眼球情報と眼鏡レンズの設計情報とに基づいて、シーンの見え方を示すシミュレーション画像を生成する処理部と、処理部によって生成されたシミュレーション画像を表示装置に出力する出力部として機能させる。
【図面の簡単な説明】
【0011】
【
図1】本実施形態に係るシミュレーションシステムの一例を示す図である。
【
図2】本実施形態に係るプロセッサの機能ブロック図である。
【
図3】本実施形態に係る眼球モデルの角膜後面を自由曲面で置き換える方法を説明する図である。
【
図5】本実施形態に係るデータ計算部の概略構成図である。
【
図6】本実施形態に係る視錐台の一例を示す図である。
【
図7】本実施形態に係る歪み変位量の算出方法を説明する図である。
【
図8】本実施形態に係る歪みベクトル配列データの一例を示す図である。
【
図9】実施形態に係る錯乱楕円の計算方法を説明する図である。
【
図10】本実施形態に係る画像生成部の概略構成図である。
【
図11】本実施形態に係る特定シーン画像を説明する図である。
【
図12】本実施形態に係る画像処理フィルタの模式図である
【
図13】本実施形態に係る画像処理フィルタの作成方法を説明する図である。
【
図14】本実施形態に係る画像処理フィルタを説明する図である。
【
図15】本実施形態に係る歪み処理を説明する図である。
【
図16】本実施形態に係るボケ処理を説明する図である。
【
図17】本実施形態に係る個別眼球モデルの作成処理の流れのフロー図である。
【
図18】本実施形態に係る事前データ作成処理の流れのフロー図である。
【
図19】本実施形態に係るリアルタイム処理の流れのフロー図である。
【
図20】本実施形態に係るシミュレーションシステム1の構成例を示す図である。
【発明を実施するための形態】
【0012】
以下、発明の実施形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0013】
特許文献1に記載のシミュレーション装置では、眼鏡レンズを通した見え方のシミュレーションを行うにあたって、瞳孔径、眼軸長、及び角膜面形状などの利用者の眼球に関する眼球情報は考慮されていない。すなわち、個人毎の眼球情報の違いは、上記見え方のシミュレーションには考慮されない。本実施形態に係るシミュレーション装置2は、利用者の眼球に関する眼球情報を考慮して、眼鏡レンズを通して利用者が見る特定のシーンの見え方をシミュレート(再現)することで、その個人毎の眼球に応じた上記見え方のシミュレーションを行うことができ、シミュレーションの精度を向上させることが可能となる。以下に、本開示の実施形態に係るシミュレーション装置2を有するシミュレーションシステム1について、具体的に説明する。
【0014】
図1は、本実施形態に係るシミュレーションシステムの一例を示す図である。
図1に示すように、シミュレーションシステム1は、シミュレーション装置2と、表示装置3とを備える。
【0015】
シミュレーション装置2は、表示装置3に対して無線又は有線で接続されている。シミュレーション装置2は、眼鏡レンズを通して利用者が見る特定のシーンの見え方のシミュレーション(以下、「見え方シミュレーション」という。)を行う。シミュレーション装置2は、見え方シミュレーションの結果を表示装置3に出力する。
【0016】
見え方シミュレーションは、例えば、利用者が眼鏡レンズを購入するにあたって実施される。例えば、利用者は、眼鏡レンズを購入するにあたって、購入希望の眼鏡レンズを通した見え方を、購入前に確認したい場合がある。このような場合に、利用者の眼球に関する情報と、利用者が選択した眼鏡レンズの情報とが、事前にシミュレーション装置2に対して直接的又は間接的に入力されることで、利用者は、本実施形態の見え方シミュレーションの結果、すなわち眼鏡レンズを通した見え方(静止画像又は動画)を、当該眼鏡レンズの購入前に確認することができる。なお、利用者の眼球に関する情報がシミュレーション装置2に対して間接的に入力されることは、例えば、施設(例えば、眼鏡店や病院)に設置している波面収差測定装置で利用者の眼球に関するデータが測定され、その測定されたデータが、通信ネットワークを介してシミュレーション装置2に入力されることを含む。
【0017】
シミュレーション装置2は、見え方シミュレーションの処理(以下、「見え方シミュレーション処理」という。)に用いられるデータ(以下、「事前データ」という。)を生成するデータ生成処理を、見え方シミュレーション処理を行う前に実施する。そして、シミュレーション装置2は、事前に生成した事前データを用いて、見え方シミュレーション処理を実施する。
【0018】
シミュレーション装置2は、例えばコンピュータである。シミュレーション装置2は、眼鏡店又は病院などの施設に設置されてもよい。例えば、シミュレーション装置2は、波面収差測定装置などの眼球の情報を計測する装置が設置されている施設に設けられてもよいし、当該装置が設置されていない施設に設けられてもよい。シミュレーション装置2は、インターネット上又はクラウド上に配置されてもよい。シミュレーション装置2は、少なくとも1つの物理サーバを備えてもよい。シミュレーション装置2として構成される複数の物理サーバは、通信ネットワークを介して互いに接続されていることにより、互いに通信可能である。上記した物理サーバは、少なくとも一つの仮想サーバを備えてもよい。仮想サーバは、クラウドシステム上のサーバ(クラウドサーバ)であってもよい。
【0019】
シミュレーション装置2は、例えば、記憶装置4、入力装置5、出力装置6及びプロセッサ7を備える。プロセッサ7は、処理部の一例である。出力装置6は、出力部の一例である。
【0020】
記憶装置4には、例えば、見え方シミュレーションを実行するためのプログラム(ソフトウェア)、及びこのプログラムで処理されるデータ等が格納される。また、記憶装置4には、見え方シミュレーションに必要な情報が格納される。
【0021】
記憶装置4は、例えば、ROM(Read Only Memory)等の不揮発性メモリ、HDD(Hard Disk Drive)及びSSD(Solid State Drive)を含む。上記したプログラムは、コンピュータで読み取り可能な記憶媒体によって提供されてもよいし、通信ネットワークにより外部装置から提供されてもよい。提供されたプログラムは、記憶装置4に格納され、プロセッサ7によって実行される。
【0022】
入力装置5は、外部からの情報を記憶装置4に対して入力する。入力装置5は、例えば、外部装置と通信するための通信インタフェースである。通信インタフェースが外部装置と通信する通信ネットワークは、有線通信の伝送路であってよいし、無線通信の伝送路(例えば、無線LAN)であってもよいし、有線通信の伝送路及び無線通信の伝送路の組み合わせであってもよい。
【0023】
入力装置5は、利用者からの入力操作を受け付ける操作装置であってもよい。例えば、操作装置は、利用者からの入力操作を受け付けると、その受け付けた入力操作に応じた情報を記憶装置4に格納してもよい。例えば、操作装置は、タッチパネル、タッチパッド、マウス等のポインティングデバイス、ボタン、スイッチ、モーションセンシティブコントローラ、キーボード、マウス、ジェスチャー入力デバイス、又は音声入力デバイス(例えば、マイクロフォン)などである。なお、入力装置5は、上記通信インタフェースと上記操作装置とのいずれか又は両方を含んでもよい。
【0024】
出力装置6は、表示装置3に対して無線又は有線で接続されており、見え方シミュレーションの結果を表示装置3に出力する。
【0025】
表示装置3は、様々な情報を表示する。例えば、表示装置3は、パーソナルコンピュータ用のモニタである。ただし、これに限定されず、表示装置3は、携帯電話、スマートフォン、タブレット型端末などの携帯機器の表示デバイス(ディスプレイ)であってもよい。また、表示装置3は、VRヘッドセットのディスプレイであってもよい。例えば、表示装置3は、眼鏡店などの施設に設置されてもよいし、利用者の自宅に設置されてもよい。表示装置3とシミュレーション装置2とは、それぞれ別の施設に設置されてもよい。
【0026】
プロセッサ7は、データ生成処理及び見え方シミュレーション処理を実行することで、特定のシーンの見え方を示すシミュレーション画像を生成する。プロセッサ7は、記憶装置4内に格納されたプログラムを実行し、プログラムによって記述された動作、すなわちデータ生成処理及び見え方シミュレーション処理を実行するように動作可能である。一例として、プロセッサ7は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)及びGPU(Graphics Processing Unit)の少なくとも1つ以上を含む。
【0027】
上記プログラムは、コンピュータ可読記憶媒体によって提供されてもよい。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置4にインストールされ、プロセッサ7によって実行される。上記プログラムは、通信ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【0028】
コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(RTM)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0029】
本実施形態のプロセッサ7の機能部について、
図2を用いて説明する。
図2は、本実施形態に係るプロセッサ7の機能ブロック図である。プロセッサ7は、
図2に示すように、データ生成部10と、画像生成部20とを備える。データ生成部10及び画像生成部20とは、プロセッサ7が記憶装置4内に格納された上記プログラムを実行することにより実現される。
【0030】
データ生成部10は、データ生成処理を実行する。データ生成部10は、例えば、モデル構築部11と、データ計算部12とを備える。
【0031】
モデル構築部11は、利用者の眼球に関する眼球情報を取得する。眼球情報は、入力装置5の一例である操作装置が操作されることでシミュレーション装置2に入力されてもよいし、入力装置5の一例である通信インタフェースを介して外部装置からシミュレーション装置2に入力されてもよい。眼球情報は、例えば、波面収差測定装置の測定データ、裸眼処方、及び眼鏡処方のうち、1つ以上を含む。眼球情報は、利用者ごとに異なる。換言すれば、眼球情報は、個人毎の眼球に応じた情報である。
【0032】
測定データは、例えば、少なくとも角膜前面の形状データ及び角膜中心厚を含む。角膜前面の形状データとは、例えば、角膜の前面(トーリック面)の形状を表すための各種データ(以下、「角膜前面トーリックデータ」という。)と、角膜前面の自由曲面の形状データと、角膜前面の波面データとを含む。裸眼処方は、利用者の裸眼の検査によって得られるデータであって、例えば、球面度数S1、乱視度数C1、乱視方向Ax1を含む。眼鏡処方は、利用者が眼鏡を装着した状態での眼の検査によって得られるデータであって、例えば、球面度数S2、乱視度数C2、乱視方向Ax2を含む。
【0033】
モデル構築部11は、利用者の眼球情報を含む情報に基づいて、当該利用者の眼球をモデル化した眼球モデル(以下、「個別眼球モデル」という。)を構築する。この個別眼球モデルは、利用者ごとに異なる。個別眼球モデルは、例えば三次元モデルである。モデル構築部11は、例えば、個別眼球モデルの構築にあたって、まず、三次元の標準眼球モデルを生成する。標準眼球モデルは、各種の眼球のパラメータが標準的な値である眼球モデルである。例えば、標準眼球モデルは、Gullstrand(グルストランド)の模型眼である。一例として、モデル構築部11は、標準眼球モデルの構築として、グルストランドの模型眼などの正視状態の眼球モデルの3次元構造及び媒体データを構築する。
【0034】
モデル構築部11は、標準眼球モデルを生成した後に、利用者の眼球情報に基づいて標準眼球モデルを更新して当該利用者の眼球になるべく近い眼球モデル(以下、「個別眼球モデル」という。)を構築する。例えば、モデル構築部11は、眼球情報の中に標準眼球モデルに適用できる情報があれば、その情報を標準眼球モデルに適用する。そして、モデル構築部11は、裸眼処方又は眼鏡処方に一致するように標準眼球モデルにおける1つ以上のパラメータを調整することで利用者の眼球情報に応じた個別眼球モデルを構築する。以下に、個別眼球モデルの生成方法について説明する。
【0035】
例えば、モデル構築部11は、標準眼球モデルを生成した後に、標準眼球モデルに対して眼球情報を適用することで、標準眼球モデルの各種パラメータが眼球情報によって更新された更新眼球モデルを生成する。
【0036】
例えば、モデル構築部11は、眼球情報に測定データが含まれていれば、その測定データである角膜前面の形状データと角膜中心厚とを標準眼球モデルに適用する。なお、測定データが適用された標準眼球モデルを、「第1眼球モデル」と称する。モデル構築部11は、裸眼処方に基づいて、第1眼球モデルの眼軸長と角膜後面トーリックパラメータとを決定する。角膜後面トーリックパラメータは、角膜の後面(トーリック面)の形状を表すための各種パラメータである。角膜後面トーリックパラメータは、例えば、主方向、主方向曲率半径である。眼軸長と角膜後面トーリックパラメータとが決定された第1眼球モデルを、「第2眼球モデル」と称する。
【0037】
モデル構築部11は、例えば、眼軸長を決定する場合には、眼軸長を第1可変パラメータとして設定する。そして、モデル構築部11は、第1可変パラメータを変えながら、第1眼球モデルの網膜中心窩から水晶体、瞳孔、角膜の順番に公知の近軸光線追跡を行い、第1眼球モデルの平均屈折率が、裸眼処方の平均屈折力P1tに一致するまで反復計算を行う。モデル構築部11は、第1眼球モデルの平均屈折率が、平均屈折力P1tに一致したときの第1可変パラメータを、第1眼球モデルの眼軸長として決定する。なお、平均屈折力P1tは、例えば、裸眼処方の乱視度数C1に2を除算した値を、裸眼処方の球面度数S1に対して加算した値(=S1+(C1/2))である。
【0038】
モデル構築部11は、例えば、角膜後面トーリックパラメータを決定する場合には、角膜の各経線方向の断面経路ごとに、角膜後面トーリックパラメータの一例である角膜後面の経線方向の曲率半径を第2可変パラメータとして設定する。モデル構築部11は、第1眼球モデルの網膜中心窩から水晶体、瞳孔、角膜の順番に公知の近軸光線追跡を行い、各経線方向の屈折力が、各経線方向の目標屈折力P1mに一致するまで反復計算を行う。モデル構築部11は、第1眼球モデルの屈折力が、目標屈折力P1mに一致したときの第2可変パラメータを、角膜後面トーリックパラメータとして決定する。なお、目標屈折力P1mは、例えば、裸眼処方の乱視度数C1にsin2θを除算した値を、球面度数S1に対して加算した値(=S1+C1・sin2θ)である。θは、X軸からの角度である。
【0039】
モデル構築部11は、第2眼球モデルにおける角膜の前面と後面とを非球面化する。例えば、モデル構築部11は、角膜前面自由曲面の形状データを第2眼球モデルに適用することで、角膜の前面を非球面化する。一例として、角膜前面自由曲面の形状データは、X方向、Y方向及びZ方向の3次元位置データである。モデル構築部11は、この3次元位置データからスプライン面を構築して、第2眼球モデルの角膜前面を、自由曲面の一例であるトーリック面と置き換える。
【0040】
また、モデル構築部11は、第2眼球モデルの角膜後面が、測定データの1つである角膜後面の波面データとなるように第2眼球モデルの角膜後面を自由曲面で置き換える。これにより、モデル構築部11は、第2眼球モデルにおける角膜の後面を非球面化する。非球面化が行われた第2眼球モデルは、「更新眼球モデル」の一例である。以下に、第2眼球モデルの角膜後面を自由曲面で置き換える方法を、
図3を用いて説明する。
図3は、第2眼球モデルの角膜後面を自由曲面で置き換える方法の一例を説明する図である。DOPは、角膜であり、眼球光学系に含まれる。
【0041】
まず、モデル構築部11は、例えば、網膜中心窩から円錐状に多数の光線を射出させ、主光線B1の光学的距離OPL1と、その他の光線群の各光線B2の光学的距離OPL2との差分ΔOPLを求める(
図3(a))。光学的距離OPL1は、射出された主光線B1が計測面MP(交点位置Po1)まで進んだ光路長である。光学的距離OPL2は、射出された光線B2が計測面MP(交点位置Po2)まで進んだ光路長である。なお、
図3(a)では、光学的距離OPL2<光学的距離OPL1である。
【0042】
モデル構築部11は、光学的距離OPL2が光学的距離OPL1と同じになるように、光線B2と計測面MPとの交点位置を、交点位置Po2から差分ΔOPLだけ光線方向(+Z方向)に移動させた交点位置Po3に移動させる(
図3(b))。すなわち、モデル構築部11は、光学的距離OPL2が光学的距離OPL1と同じになるように、同一の光学的距離の集合である波面W
cal(以下、「計算波面」という。)を構築する。計算波面W
calは、光学的距離OPL1と同じ光学的距離を持つ点の集合体である。
【0043】
モデル構築部11は、計算波面W
calを構築すると、測定データの1つである角膜前面頂点位置の波面データW
targetと、計算波面W
calとの差分ΔWを計算する(
図3(c))。モデル構築部11は、光学的距離OPL2を差分ΔWだけ増加させる角膜後面のサグ移動量Δdを計算する(
図3(d))。サグ移動量Δdは、例えば、次式で表される。なお、経路の数は、眼球モデルによって変化する。ここで、nは屈折率を示す。dは光が進む距離である。具体的には、n
0は網膜中心と水晶体皮質との間の屈折率であり、d
0は網膜中心と水晶体皮質(点P1)との間の距離である。n
1は網膜側の水晶体皮質の屈折率であり、d
1は光線B2が網膜側の水晶体皮質を進む距離(点P1と点P2との間の距離)である。n
2は水晶体核の屈折率であり、d
2は光線B2が水晶体核を進む距離(点P2と点P3との間の距離)である。n
3は角膜側の水晶体皮質の屈折率であり、d
3は光線B2が角膜側の水晶体皮質を進む距離(点P3と点P4との間の距離)である。n
4は水晶体(LS)と角膜(DOP)との間の屈折率であり、d
4は光線B2が水晶体(LS)と角膜(DOP)との間を進む距離である。n
5は角膜(DOP)の屈折率であり、d
5は光線B2が角膜(DOP)を進む距離(点P5と点P6との間の距離)である。n
6は角膜(DOP)の外側の屈折率であり、d
6は光線B2が角膜(DOP)と計算波面W
calとの間を進む距離(点P6と交点位置Po3との間の距離)である。
【0044】
【0045】
モデル構築部11は、サグ移動量Δdに基づいて角膜後面の形状を変更することにより計算波面W
calを角膜前面頂点位置の波面データW
targetに近づける。モデル構築部11は、
図3(a)から
図3(d)で説明した処理を、差分Δwが許容誤差未満になるまで反復する。
【0046】
このように、モデル構築部11は、眼球情報に測定データが含まれている場合には、測定データを標準眼球モデルに適用し、最終的に、第2眼球モデルの角膜後面を自由曲面で置き換えて更新眼球モデルを生成する。ただし、眼球情報に測定データが含まれていない場合がある。この場合には、モデル構築部11は、眼鏡処方を参照して標準眼球モデルの眼軸長及び角膜前面トーリックパラメータを更新する。すなわち、眼球情報に測定データが含まれていない場合には、モデル構築部11は、眼鏡処方に基づいて、標準眼球モデルの眼軸長と角膜前面トーリックパラメータとのそれぞれを可変パラメータとして調整することで更新眼球モデルを生成する。
【0047】
例えば、モデル構築部11は、測定データが含まれていない場合において眼軸長を決定する場合には、眼軸長を第3可変パラメータとして設定し、第3可変パラメータを変えながら、標準眼球モデルの網膜中心窩から水晶体、瞳孔、角膜、角膜から前方にある参照位置の順番に公知の近軸光線追跡を行い、標準眼球モデルの平均屈折率が、眼鏡処方の平均屈折力P2tに一致するまで反復計算を行う。参照位置は、例えば、角膜から前方に12mmの位置である。モデル構築部11は、標準眼球モデルの平均屈折率が、平均屈折力P2tに一致したときの第3可変パラメータを、標準眼球モデルの眼軸長として決定する。なお、平均屈折力P2tは、例えば、眼鏡処方の乱視度数C2に2を除算した値を、眼鏡処方の球面度数S2に対して加算した値(=S2+(C2/2))である。
【0048】
モデル構築部11は、例えば、角膜前面トーリックパラメータを決定する場合には、角膜の各経線方向の断面経路ごとに、角膜前面の経線方向の曲率半径を第4可変パラメータとして設定する。モデル構築部11は、標準眼球モデルを網膜中心窩から水晶体、瞳孔、角膜、参照位置の順番に公知の近軸光線追跡を行い、各経線方向の屈折力が、各経線方向の目標屈折力P2mに一致するまで反復計算を行う。モデル構築部11は、標準眼球モデルの屈折力が、目標屈折力P2mに一致したときの第4可変パラメータを、角膜後面トーリックパラメータとして決定する。なお、目標屈折力P2mは、例えば、眼鏡処方の乱視度数C2にsin2θを除算した値を、球面度数S2に対して加算した値(=S2+C2・sin2θ)である。
【0049】
モデル構築部11は、更新眼球モデルの調節力が目標値になるように、第3眼球モデルの水晶体のパラメータ(以下、「水晶体パラメータ」という。)を可変パラメータとして調整することで個別眼球モデルを構築する。水晶体パラメータは、例えば、水晶体の曲率(例えば、水晶体の前面及び後面の曲率)と水晶体の頂点位置(例えば、水晶体の前面及び後面の頂点位置)である。ここで、調節力の目標値は、1つではなく複数である。例えば、弛緩時の調節力(最小調節力)Pmin=0[D(ディオプトリー)]から、予め設定された最大の調節力Pmax[D]までの範囲において、離散的に複数のレベル(以下、「調節レベル」という。)が割当てられている。すなわち、Pmin以上かつPmax以下の範囲で、複数の調節レベルが割り当てられている。調節レベルは、例えば、0.00D(Pmin),1.00D,2.00D,…,10.00Dである。調節レベルは、調節力の目標値に相当する。
【0050】
モデル構築部11は、更新眼球モデルの調節力が調節レベルになるように、更新眼球モデルの水晶体パラメータを調整する処理を調節レベルごとに行うことで、調節レベルごとの個別眼球モデルを作成する。この調節レベルごとの個別眼球モデルは、記憶装置4に格納される。従って、10個の調節レベルが設定されている場合には、利用者ごとに10個の個別眼球モデルが作成される。一例として、調節レベルごとの個別眼球モデルは、記憶装置4において、データベースとして格納される。
【0051】
データ計算部12は、利用者の個別眼球モデルMeと眼鏡レンズモデルMgとを仮想空間に配置して光学系100を構築する。
図4は、本実施形態に係る光学系100の模式図である。眼鏡レンズモデルMgは、眼鏡レンズ前後の2つの自由曲面と、そのレンズ中心厚と、媒体屈折率とを定義して構築される。そして、データ計算部12は、構築した光学系100を用いて事前データを生成する。
図5は、本実施形態に係るデータ計算部12の概略構成図である。
図5に示すように、データ計算部12は、例えば、歪みデータ計算部30と、波面計算部31と、錯乱楕円計算部32と、波面収差計算部33と、点像広がり関数(PSF)計算部34とを備える。
【0052】
歪みデータ計算部30は、眼鏡レンズによる歪み(以下、「歪み変位量」という。)を算出する。例えば、眼鏡レンズがない場合、すなわち裸眼の場合において視線方向にある点(例えば、格子点)が、眼鏡レンズを通して見ると光線が屈折することによって当該格子点の位置に変位する。この位置の変位量は、上記の歪み変位量に相当する。
【0053】
例えば、歪みデータ計算部30は、歪み変位量を求めるにあたって、まず仮想空間上において、光学系100を含む視錐台110の領域を設定する。
図6は、本実施形態に係る視錐台110の一例を示す図である。歪みデータ計算部30は、例えば、個別眼球モデルMeに所定の視点を置き、その視点から見える範囲を視錐台110として設定する。歪みデータ計算部30は、その視錐台110に対して格子点を生成する。視錐台110は、四角錐を近方面と遠方面で切り取って形成した領域である。
【0054】
歪みデータ計算部30は、
図7(a)に示すように、眼鏡レンズモデルがない場合において、ある特定の格子点(以下、「特定格子点」という。)SPを見たときの視線方向u
0を初期値として設定する。視線方向u
0は、以下のように表される。Pgは特定格子点の位置座標である。Rrcは眼球の回旋中心の位置座標である。
【0055】
【0056】
次に、歪みデータ計算部30は、
図7(a)に示すように、眼鏡レンズを考慮して、すなわち眼鏡レンズによる屈折がある状態で後方光線追跡を行い、特定格子点SPが存在するXY平面との交点IP1の座標(交点座標)Peを計算する。後方光線追跡は、眼球モデルの内部(例えば、中心窩)から眼鏡レンズモデル側(
図7に示す+Z方向側)に向けて発せられる光線を追跡する処理である。歪みデータ計算部30は、交点座標Peと特定格子点SPの位置座標Pgとの差分を基に、視線方向u
0を補正する反復処理により、特定格子点SPに向かう主光線経路を確定する。なお、補正された視線方向u
0を視線方向u´と称する場合がある。視線方向u´は、主光線経路の確定によって特定される。
【0057】
歪みデータ計算部30は、眼鏡レンズがある状態での光線が特定格子点SPに向かうときの視線方向u´において、眼鏡レンズがない場合のXY平面の交点IP2の座標Pvと、特定格子点SPの位置座標Pgとの差分ΔPを歪み変位量として計算する。この歪み変位量の計算は、複数の格子点のそれぞれを特定格子点SPとして設定することで、格子点ごとに実施される。換言すれば、歪み変位量のデータは、格子点ごとに格納されている。
図8(a)は、ある測定距離(Z方向の距離)におけるXY平面のN×Mの格子点と、その格子点の座標とを示す。
図8(b)は、ある測定距離(Z方向の距離)におけるXY平面の各格子点に格納される歪み変位量データの一例を示す。
図8に示すように、格子点の座標(x,y)、変位後の格子点の座標(x′,y′)、及びその変位量(歪み量)Δx,Δyが格子点ごとに記憶装置4に格納される。座標及び歪み量の添え字は、各格子点を区別するものである。これらの格子点ごとの歪み変位量データを、総称して「歪みベクトル配列データ」と表記する場合がある。
【0058】
波面計算部31は、光学系100を用いて、眼鏡レンズモデルMgの前面での波面を計算する。例えば、波面計算部31は、個別眼球モデルMeの網膜中心窩から円錐状に多数の光線を射出させる。波面計算部31は、射出させた多数の光線と、個別眼球モデルMeの角膜前面又は眼鏡レンズモデルMgのレンズ前面との交点位置において、それぞれの光線の光学的距離(OPL)が主光線のOPLとなる点の分布をゼルニケ(Zernike)多項式面でフィッティングして求めることで眼鏡レンズモデルMgの前面での波面を計算する。
【0059】
錯乱楕円計算部32は、光学系100の錯乱楕円を計算する錯乱楕円計算を実行する。錯乱楕円計算部32は、波面計算部31による波面計算によって計算された波面と、特定格子点が存在する平面との交差領域(錯乱楕円)を計算する。
図9は、錯乱楕円の計算方法を説明する図である。波面計算により角膜頂点又は眼鏡レンズ前面における2つの主経線方向(Tξ,Tη)とその方向の曲率(Kξ,Kη)が求まる(
図9(a))。錯乱楕円計算部32は、波面の進行方向(ベクトルN)の平面格子位置での楕円錐の形状を相似計算による求める。錯乱楕円計算部32は、この楕円形状をベクトルNがZ軸と一致するように回転して交差領域を求めることで、特定格子点における錯乱楕円の形状データ(以下、「錯乱楕円データ」という。)を求める。錯乱楕円データは、例えば、
図9(b)に例示するように、主経線1方向半径aξ、主経線2方向半径aη、主経線1方向角度θξ、及び主経線2方向角度θηを含む。錯乱楕円データは、格子点ごと、調節レベルごと、及び瞳孔径レベルごとに記憶装置4に格納される。例えば、錯乱楕円計算部32は、予め設定された複数の瞳孔径ごとに錯乱楕円データを算出する処理を調節レベルごとに実施する。そして、錯乱楕円計算部32は、この調節レベルごとの処理を、格子点ごとに実施する。
【0060】
波面収差計算部33は、波面計算部31による波面計算によって求められた波面と、理想波面との差分面を波面収差として計算する。理想波面は、すべての光線が1点に収束する波面で、物体位置を中心として物体距離(後述する)を半径とする球面である。換言すれば、理想波面は、波面の位置と格子点間の距離を半径とする球面である。波面収差計算部33は、物体距離によって理想波面が異なるので、格子点ごとに変化する物体距離ごとに波面収差を計算する。
【0061】
PSF計算部34は、波面収差計算部33によって計算された波面収差に基づいて、点像広がり関数(Point spread function:PSF)を計算する。例えば、PSF計算部34は、波面収差計算部33によって計算された波面収差をフーリエ変換してPSFを計算する。PSF計算部34は、計算したPSFを記憶装置4に格納する。フーリエ変換においては、特定シーン画像の最小画素幅以下でサンプリングして、画素レベルの影響を反映できるように設定されている。
【0062】
具体的には、PSF計算部34は、ます、波面収差W(x,y)を瞳関数P(x,y)に変換し、その瞳関数P(x,y)をフーリエ変換することでPSFを求めることができる。例えば、瞳関数P(x,y)は、以下の式で算出される。
【0063】
【0064】
PSF計算部34は、瞳関数P(x,y)をフーリエ変換する場合には、そのフーリエ変換に関するパラメータを決定する。瞳関数P(x,y)のサンプリング間隔Δと瞳関数P(x,y)の領域幅Lの関係は、Δ=L/rである。なお、rはサンプリング数である。
【0065】
点像広がり関数の基本空間周波数Vbaseと瞳関数の領域幅Lの関係は、Vbase=1/Lとなる。基本空間周波数Vbaseが特定シーン画像の最小画素幅以下となるように2のべき乗となるサンプリング数rを決定する。瞳関数P(x,y)をフーリエ変換した結果は複素値である。そのため、PSF計算部34は、複素振幅量の2乗値(実数)をPSFデータとして記憶装置4に格納する。
【0066】
ここで、PSFのデータは、格子点ごと、調節レベルごと、及び瞳孔径レベルごとに準備されている。例えば、波面計算、波面収差計算、及び点像広がり関数計算を一連の処理とし、予め設定された複数の瞳孔径ごとに一連の処理が実行される。この複数の瞳孔径ごとの一連の処理は、調節レベルごとに実施される。そのため、10の調節レベルが設定されている場合には、複数の瞳孔径ごとの一連の処理は、10の調節レベルそれぞれにおいて実施され、合計10回実行される。さらに、この調節レベルごとの処理は、格子点ごとに実施される。すなわち、ある任意の格子点を特定格子点として設定して点像広がり関数を求める処理(以下、「格子点処理」という。)が実行される。格子点処理は、格子点ごとに実施される。また、格子点処理は、複数の瞳孔径のそれぞれに対応する上記の一連の処理を調節レベルごとに実行する。
【0067】
画像生成部20は、見え方シミュレーション処理を実行する。
図10は、本実施形態に係る画像生成部の概略構成図である。
図10に示すように、画像生成部20は、例えば、シーン画像取得部40、情報取得部41、画像フィルタ生成部42と、画像処理部43とを備える。
【0068】
シーン画像取得部40は、特定シーン画像を取得する。この特定シーン画像は、コンピュータグラフィックスによって作成される。
図11は、特定シーン画像を説明する図である。特定シーン画像には、例えば、1つ以上の物体を含む。例えば、シーン画像取得部40は、コンピュータグラフィックスによる描画処理を実行することで、3次元のシーンを透視投影した正視状態の2次元画像を特定シーン画像として作成する。また、シーン画像取得部40は、その特定シーン画像の各画素の距離データを取得する。各画素の距離データは、深度バッファと呼ばれるメモリ領域に記録されている深度値のデータ(以下、「深度データ」という。)に相当する。換言すれば、シーン画像取得部40は、理想カメラにより3次元シーン(例えば、カラー画像)のCGレンダリングを行い、CGレンダリングした投影画像とその画像の各画素の深度データとを保持する。
【0069】
情報取得部41は、利用者の視線方向と瞳孔径とを取得する。例えば、利用者は、視線追跡装置を装着している。情報取得部41は、利用者が装着している視線追跡装置から、当該利用者の視線方向と瞳孔径とを取得する。なお、情報取得部41は、視線追跡装置以外から利用者の視線方向と瞳孔径とを取得してもよい。例えば、情報取得部41は、視線方向を真正面として取得してもよい。すなわち、利用者の視線方向が真正面として予め設定されてもよい。また、利用者の瞳孔径は、固定値として予め所定の値が設定されてもよい。また、情報取得部41は、利用者の瞳孔径を固定値とはせずに、特定シーンの明るさ又は凝視物体との距離に応じて瞳孔径を変化させてもよい。すなわち、情報取得部41は、特定シーンの明るさ又は凝視物体との距離に応じた瞳孔径の値を求めることで、利用者の瞳孔径を取得してもよい。
【0070】
情報取得部41は、利用者の視線方向における物体距離を取得する。物体距離とは、個別眼球モデルMeの基準位置からシーン画像内の特定画素に対応する空間位置までの距離である。例えば、情報取得部41は、個別眼球モデルMeの眼球の基準位置から視線方向に向けて光線を射出する。情報取得部41は、その光線と特定シーン画像内の物体との衝突判定により、その光線と物体との最短の交点を求める。情報取得部41は、光線と物体との交点を求めると、その交点と眼球の基準位置との長さを求めることで物体距離を求める。
【0071】
画像フィルタ生成部42は、記憶装置4に格納されているPSFデータを含む情報に基づいて、画像処理フィルタを生成する。例えば、画像フィルタ生成部42は、連続量の点像広がり関数から特定シーン画像の画素幅に合わせた離散値の画像処理フィルタを生成する。
図12は、画像処理フィルタの模式図である。
図12の画像処理フィルタは、20mm×20mm領域のPSFデータから光線広がり範囲2.852mm×2.852mmを抽出し、物理画素幅が0.051855mmとなるように55×55個の数値行列の画像処理フィルタを作成した例である。以下に、画像フィルタ生成部42における画像処理フィルタの作成方法の一例について説明する。
図13は、画像処理フィルタの作成方法を説明する図である。
【0072】
画像フィルタ生成部42は、画像処理フィルタを作成するにあたって、複数の調節レベルから1つの調節レベルを決定する。例えば、画像フィルタ生成部42は、情報取得部41で取得された物体距離にある物体を個別眼球モデルMeで見るのに必要な調節力(以下、「必要調節力」という。)Paccomを求める。Paccomは、次式で算出される。dobjは、物体距離である。
【0073】
【0074】
この必要調節力Paccomが最大調節力以上の場合は、必要調節力Paccomを最大調節力とする。必要調節力Paccomと調節レベルが一致しない場合は、必要調節力Paccomを囲む調節レベルのデータを線形補間してデータを利用する。
【0075】
例えば、PSFデータが格子点ごと、調節レベルごと、及び瞳孔径レベルごとに準備されている。この場合において、画像フィルタ生成部42は、
図13(a)に示す物体位置Pobjを囲む8点のPSFデータを作成する。以下の式に示すように、この8点には、それぞれ調節レベル数をq、瞳孔径数をmとしてq×m要素のPSFデータ行列[Ii](i=0,1,…,7)が割当てられている。iは各格子点の位置を区別するものである。ここで、数(5)のa
0~a
qが各調整レベルを示し、b
0~b
mが各瞳孔径レベルを示す。例えば、調整レベルaの添え字は、各調整レベルを区別するものであって、例えば、調整レベルの低い順から数えて何番目の調整レベルであるかを表している。例えば、瞳孔径レベルbの添え字は、各瞳孔径レベルを区別するものであって、例えば、瞳孔径レベルの低い順から数えて何番目の瞳孔径レベルであるかを表している。
【0076】
【0077】
画像フィルタ生成部42は、上記に示すPSFデータ行列[Ii]から、現在の調節レベルのPSFデータ配列[I´i]を作成する。PSFデータ配列[I´i]は、例えば、次式で表される。
【0078】
【0079】
PSFデータ配列[I´i]の各要素は、調節レベルa0,a1,…,aqから現在の調節量acurを含む区間[ak・ak+1]を得て、Ii(ak,bj)とIi(ak+1,bj)からIi(acur,bj)を補間により計算される。線形補間の場合には、t=(acur-ak)/(ak+1-ak)として以下の式で計算する。kは1~qのいずれかの数である。jは、1からmのいずれかの数である。
【0080】
【0081】
なお、現在の調節量acurが、最大調節量以上の場合は、以下の式に示すように、調節レベルaqのPSFデータをそのまま利用する。
【0082】
【0083】
例えば、眼前300mmに物体がある場合には、3.33Dの調節量が必要となる。最大調節量4.00Dで調節量0.00D,2.00D,4.00Dに対する点像広がり関数データが、a0,a1,a2として保持されている場合には、画像フィルタ生成部42は、2.00Dと4.00Dに対応するa1,a2のPSFデータを補間して取得する。一例として、2.00DのPSFデータをIi(a1,bj)、4.00DのPSFデータをIi(a2,bj)とすると、t=(3.33-2)/(4.00-2.00)=1.33/2=0.665として、現在の調節量に対応するPSFデータは、以下の式で表される。
【0084】
【0085】
最大調節量1.50Dで調節量0.00D,1.00D,1.50DのPSFデータがa0,a1,a2として保持されている場合には、a2のPSFデータを次式に示すようにそのまま利用する。
【0086】
【0087】
次に、画像フィルタ生成部42は、現在の調節レベルのPSFデータ配列[I´i]から、現在の瞳孔径bcurに対応するPSFデータIi(acur,bcur)を取得する。例えば、瞳孔径レベルb0,b1,…, bmから現在の瞳孔径bcurを含む区間[bk.bk+1]を得て、Ii(acur,bk)とIi(acur,bk+1)から、PSFデータIi(acur,bcur)を補間により計算する。この線形補間の場合には、t=(bcur-bk)/(bk+1-bk)として以下の式で計算する。
【0088】
【0089】
現在の瞳孔径bcurが最大瞳孔径以上の場合は、以下の式に示すように、瞳孔径レベルbmのPSFデータをそのまま利用する。
【0090】
【0091】
なお、瞳孔径0.0mmに対応する瞳孔径レベルb0のPSFデータは、中心部のみ値をもつ点結像のデータを保持してもよい。
【0092】
画像フィルタ生成部42は、PSFデータIi(acur,bcur)から畳み込み演算用の画像処理フィルタを作成する。物体距離dobj、視野角θh、θvで表示面のピクセルサイズをW(width)×H(height)とした場合の、1画素の物理サイズは、X方向の長さΔpx、Y方向の長さΔpyとした場合に、以下の式で表される。
【0093】
【0094】
画素は正方形(pΔx=pΔy)となるように視野角θh、θvで調整されると仮定する。PSFデータIは、連続量の分布である。そのため、画像フィルタ生成部42は、PSFデータの分布から画素サイズの領域を積分して、その積分値を画像処理フィルタのカーネル値とする。光線の広がり範囲である画像処理フィルタのカーネル物理サイズは、錯乱楕円計算にて事前に計算した錯乱楕円の外接正方形サイズとする。このとき、画像フィルタ生成部42は、対象画素空間位置を囲む8つの格子点のデータ群から、線形補間して錯乱楕円データを取得する。
【0095】
画像フィルタ生成部42は、外接する正方形サイズQEoCと1画素サイズpΔxとから以下に示す式を用いて、画像処理フィルタの画素数nを算出する。
【0096】
【0097】
画像フィルタ生成部42は、画像処理フィルタの画素数nが偶数の場合には、その画素数nに1を加えて奇数にする。画像フィルタ生成部42は、画像処理フィルタの画素数n×n内の各領域を面積分してフィルタ値を設定することで画像処理フィルタFijを生成する。
図14は、画像処理フィルタFijを説明する図である。
【0098】
【0099】
画像処理部43は、歪み変位量に合わせて特定シーン画像を歪ませる歪み処理を行う。画像処理部43は、歪み変位量を含む情報に基づいて、特定シーン画像(
図15(a))に対して歪み処理を行う。例えば、画像処理部43は、歪み変位量のベクトル配列データと、特定シーン画像の距離データとを用いて、特定シーン画像とその距離データとに対して歪み処理を行う。
図15は、本実施形態に係る歪み処理を説明する図である。例えば、画像処理部43は、
図15に示すように、歪み変位量を適用することで、特定シーン画像の画素データCz(u-Δx,v-Δy)を歪み先の画素データCz´(u,v)に置き換える。すなわち、画像処理部43は、特定シーン画像の歪み先の画素の色をサンプリングする。これにより、歪み処理が適用された特定シーン画像(
図15(b))が生成される。
【0100】
また、画像処理部43は、歪み変位量を適用することで、距離データz(u-Δx,v-Δy)も歪み先の距離z´(u,v)に置き換える。なお、歪み変位量は、物体距離によって変化する。そのため、画像処理部43は、単位距離での歪み変位量に物体距離をかけて適用する。これより、歪み画像における距離データにおいても歪み変位量が適用される。
【0101】
画像処理部43は、画像処理フィルタを含む情報に基づいて、歪み処理を加えた特定シーン画像にボケ処理を行う。これにより、シミュレーション画像が生成される。
図16は、本実施形態に係るボケ処理を説明する図である。
図16に示すように、例えば、画像処理部43は、歪み処理が行われた特定シーン画像に対して、距離データに応じた画像処理フィルタを用いて畳み込み演算を行うことによりシミュレーション画像を生成する。次式は、畳み込み演算を用いたボケ処理の一例を示す式である。なお、Sは、予め設定された数であり、例えば16である。Rは、歪み処理が行われた特定シーン画像の画素データを示す。
【0102】
【0103】
画像処理部43によって生成されたシミュレーション画像は、出力装置6によって表示装置3に静止画又は動画として表示される。動画として表示される場合には、動画のフレームごとにシミュレーション画像を生成して表示装置3に表示する処理を行うことで、眼鏡レンズを通した見え方を動画として表示装置3に表示することができる。シミュレーション画像は、動画のフレームである。これにより、注視点を移動した場合などの見え方を再現できる。
【0104】
以下に、本実施形態に係る見え方シミュレーションの流れについて説明する。このシミュレーションには、大別して、個別眼球モデルの作成処理と、事前データ作成処理と、リアルタイム処理との3つの処理がある。まず、
図17を参照して、個別眼球モデルの作成処理の流れの一例について説明する。
【0105】
モデル構築部11は、標準眼球モデルを生成する(ステップS101)。モデル構築部11は、利用者の眼球に関する眼球情報を外部から取得すると、その取得した眼球情報の中に、測定データが含まれているか否かを判定する(ステップS102)。モデル構築部11は、眼球情報の中に、測定データが含まれている場合には、その測定データを標準眼球モデルに適用する(ステップS103)。モデル構築部11は、ステップS103の処理を行った後、裸眼処方に基づいて、測定データが適用された標準眼球モデル(第1眼球モデル)の眼軸長を決定する(ステップS104)。また、モデル構築部11は、第1眼球モデルの眼軸長を決定した後に、裸眼処方に基づいて、角膜後面トーリックパラメータを設定する(ステップS105)。
【0106】
モデル構築部11は、眼軸長及び角膜後面トーリックパラメータが設定された第1眼球モデル(第2眼球モデル)に対して、角膜前面自由曲面の形状データを適用することで、角膜の前面を非球面化する(ステップS106)。また、モデル構築部11は、第2眼球モデルの角膜後面を自由曲面形状として調整することにより、測定データの1つである角膜前面頂点位置での波面データと一致するように置き換える(ステップS107)。これにより、モデル構築部11は、第2眼球モデルにおける角膜の後面を非球面化する。
【0107】
ステップS102において、モデル構築部11は、眼球情報の中に、測定データが含まれていない場合には、眼軸長を優先するか否かを判定する(ステップS108)。なお、例えば、眼軸長を優先するか否かは、予め設定されており、シミュレーション装置2の管理者などによって切り替え可能である。また、ステップS108の処理は、省略可能である。モデル構築部11は、眼軸長を優先すると判定した場合には、眼軸長さを第3可変パラメータに設定し、標準眼球モデルの平均屈折率が、眼鏡処方から求められる平均屈折力に一致するように第3可変パラメータを調整する(ステップS109)。ステップS109を実行すると、ステップS110に移行する。モデル構築部11は、眼軸長を優先しないと判定した場合には、ステップS110に移行する。ステップS110において、モデル構築部11は、角膜前面トーリックパラメータを第4可変パラメータに設定し、標準眼球モデルの各経線方向の屈折力が、眼鏡処方から求められる各経線方向の目標屈折力に一致するように角膜前面トーリックパラメータを調整する(ステップS110)。
【0108】
モデル構築部11は、ステップS109において、標準眼球モデルの平均屈折率が、眼鏡処方から求められる平均屈折力に一致したか否かを判定する(ステップS111)。モデル構築部11は、標準眼球モデルの平均屈折率が、眼鏡処方から求められる平均屈折力に一致したと判定した場合には、そのときの第3可変パラメータを眼軸長に決定する。モデル構築部11は、標準眼球モデルの平均屈折率が、眼鏡処方から求められる平均屈折力に一致していないと判定した場合には、ステップS109に移行する。
【0109】
また、モデル構築部11は、ステップS111において、標準眼球モデルの各経線方向の屈折力が、眼鏡処方から求められる各経線方向の目標屈折力に一致したか否かを判定する。モデル構築部11は、ステップS111において、標準眼球モデルの各経線方向の屈折力が、眼鏡処方から求められる各経線方向の目標屈折力に一致した場合には、そのときの第4可変パラメータを角膜前面トーリックパラメータに決定する。モデル構築部11は、ステップS111において、標準眼球モデルの各経線方向の屈折力が、眼鏡処方から求められる各経線方向の目標屈折力に一致していないと判定した場合には、ステップS109に移行する。
【0110】
モデル構築部11は、ステップS113からステップS115までのループ処理Aを、複数の調節レベルのそれぞれにおいて終了するまで繰り返す(ステップS112~ステップS116)。ステップS112において、モデル構築部11は、瞳孔中心を通る光線についての後方光線追跡を行う。ステップS113において、モデル構築部11は、水晶体の曲率と水晶体の頂点位置とを可変パラメータとして、後方光線追跡によって得られる角膜の頂点位置での平均パワーが目標の調節力に一致するまで当該可変パラメータを調整する。これにより、水晶体のパラメータが更新され、個別眼球モデルMeが構築される。ステップS114において、モデル構築部11は、各調節力に対応した個別眼球モデルMeを、データベースとして記憶装置4に格納する。
【0111】
次に、
図18を参照して、事前データ作成処理の流れの一例について説明する。事前データ作成処理は、個別眼球モデルの作成処理の後に実行される。データ計算部12は、仮想空間上において視錐台110の領域を設定し、その視錐台110内に複数の格子点を生成する(ステップS201)。そして、データ計算部12は、ステップS203からステップS212までのループ処理Bを、すべての格子点のそれぞれにおいて終了するまで繰り返す(ステップS202~ステップS213)。すなわち、すべての格子点のそれぞれを順番に特定格子点として設定し、ループ処理Bを実行する。
【0112】
ステップS203において、データ計算部12は、眼鏡レンズがある状態での光線が特定格子点に向かうときの視線方向を決定し、その視線方向において、眼鏡レンズがない状態での光線光路を決定する(ステップS203)。そして、データ計算部12は、眼鏡レンズがない状態での光線光路とXY平面との交点と、特定格子点との差分を歪み変位量として計算する(ステップS204)。これにより、格子点のそれぞれにおいて、歪み変位量が割り当てられる。
【0113】
データ計算部12は、ステップS206からステップS211までのループ処理Cを、すべての調節レベルのそれぞれにおいて終了するまで繰り返す(ステップS205~ステップS212)。
【0114】
ステップS206において、データ計算部12は、ステップS207からステップS210までのループ処理Dを、すべての瞳孔径レベルのそれぞれにおいて終了するまで繰り返す。
【0115】
ステップS207において、データ計算部12は、個別眼球モデルMeの網膜中心窩から射出させた多数の光線と、個別眼球モデルMeの角膜前面又は眼鏡レンズモデルMgのレンズ前面との交点位置において、それぞれの光線のOPLが主光線のOPLとなる点の分布をゼルニケ多項式面でフィッティングして求めることで眼鏡レンズモデルMgの前面での波面を計算する。
【0116】
ステップS208において、データ計算部12は、ステップS207の波面計算によって計算された波面と、特定格子点が位置する平面との交差領域(錯乱楕円)を計算することで、錯乱楕円の形状データを求める。これにより、格子点のそれぞれにおいて、調節レベルごと且つ瞳孔径ごとの錯乱楕円の形状データが割り当てられる。
【0117】
ステップS209において、データ計算部12は、特定格子点において、ステップS207の波面計算によって求められた波面と、理想波面との差分面を波面収差として計算する。ステップS210において、データ計算部12は、ステップS209によって計算された波面収差に基づいて、点像広がり関数を計算する。これにより、格子点のそれぞれにおいて、調節レベルごと且つ瞳孔径ごとの点像広がり関数が割り当てられる。
【0118】
次に、
図19を参照して、リアルタイム処理の流れの一例について説明する。リアルタイム処理は、事前データ作成処理の後に実行される。このリアルタイム処理では、例えば、利用者に装着された視線追跡装置からの視線方向又は瞳孔径に応じてリアルタイムでシミュレーション画像を表示装置3に表示させる。ここで、リアルタイムとは、視線追跡装置とシミュレーション装置2との通信時間及びシミュレーション装置2の処理時間を含んでもよい。例えば、利用者の視線や瞳孔径に応じてシミュレーション画像を変化させるにあたって、利用者の視線や瞳孔径の変化と、シミュレーション画像の変化との間は、同一の時間である必要はなく、上記通信時間及び上記処理時間に相当する時間の遅れを含んでもよい。
【0119】
画像処理部43は、ステップS302からステップS306までのループ処理Eを、動画のフレームごとに繰り返す(ステップS301~ステップS316)。
【0120】
ステップS302において、画像処理部43は、コンピュータグラフィックスによって特定シーン画像を取得する。ステップS303において、画像処理部43は、利用者が装着している視線追跡装置から、当該利用者の視線方向と瞳孔径とを取得する。
【0121】
ステップS304において、画像処理部43は、ステップS303で取得した視線方向にある特定シーン画像内の物体と、眼球の基準位置との長さである物体距離を求める。ステップS305において、画像処理部43は、複数の調節レベルの中から、ステップS304で求めた物体距離にある物体を個別眼球モデルMeで見るのに必要な調節力に相当する調節レベルを決定する。
【0122】
ステップS306において、画像処理部43は、ステップS305で決定した調節レベルに対応する点像広がり関数に基づいて、ボケ処理を行うための画像処理フィルタを生成する。ステップS307において、画像処理部43は、特定シーン画像と同じサイズの画像格納領域を確保し、この同じサイズの特定シーン画像の画素ごとに、ステップS308からステップS309までのループ処理Fを実行する。
【0123】
ステップS308において、画像処理部43は、深度バッファから、対象となる画素の距離データを取得する。ステップS309において、画像処理部43は、ステップS308で取得した距離データと、歪みベクトル配列データとを用いて、特定シーン画像及び距離データに対して歪み処理を行う。
【0124】
ステップS311において、画像処理部43は、特定シーン画像の画素ごとに、ステップS312からステップS313までのループ処理Gを実行する(ステップS311~ステップS314)。
【0125】
ステップS312において、画像処理部43は、深度バッファから、対象となる画素の距離データを取得する。ステップS313において、画像処理部43は、ステップS312で取得した距離データと、画像処理フィルタとを用いて、歪み処理が行われた特定シーン画像に対してボケ処理を行う。ステップS315において、出力装置6は、ボケ処理が行われた特定シーン画像をシミュレーション画像として表示装置3に出力する。
【0126】
以上、本実施形態に係るシミュレーション装置2は、眼鏡レンズを通して利用者が見る特定のシーンの見え方を再現する。シミュレーション装置2は、少なくとも、利用者の眼球に関する眼球情報と眼鏡レンズの設計情報とに基づいて、特定のシーンの見え方を示すシミュレーション画像を生成する。シミュレーション装置2は、生成したシミュレーション画像を表示装置3に出力する。従って、シミュレーションの精度が向上する。
【0127】
また、見え方のシミュレーションにおいて、光線追跡によって眼球と補正眼鏡レンズの収差を考慮して計算する場合が考えられる。しかしながら、光線追跡の計算量は膨大である場合が考えられ、リアルタイム処理において光線追跡を用いることは遅延の増大を引き起こしてしまう。本実施形態に係るシミュレーション装置2では、リアルタイム処理に光線追跡を用いていないため、リアルタイム処理の遅延を抑制することができる。
【0128】
シミュレーション装置2は、眼球情報を含む情報に基づいて利用者の眼球をモデル化した個別眼球モデルMeを生成し、記眼鏡レンズを通して個別眼球モデルMeから見えるシーンの見え方を表した画像をシミュレーション画像として生成してもよい。
【0129】
シミュレーション装置2は、個人毎に異なる個別眼球モデルMeと、眼鏡レンズをモデル化した眼鏡レンズモデルMgとを有する光学系100を仮想空間に構築してもよい。この場合には、シミュレーション装置2は、コンピュータグラフィックスによって生成した特定シーン画像に対して、光学系100において個別眼球モデルMeの内部から眼鏡レンズモデルMgに向かう光線を追跡する後方光線追跡によって得られる情報に基づいて加工することでシミュレーション画像を生成してもよい。歪み処理は、加工の一例である。ボケ処理は、加工の一例である。
【0130】
シミュレーション装置2は、後方光線追跡によって眼鏡レンズによって生じる視線方向の歪み変位量と眼鏡レンズの前面での波面収差とを算出し、波面収差からPSFを計算してもよい。シミュレーション装置2は、歪み変位量に応じた歪み処理と、PSFを含む情報に基づいたボケ処理とを特定シーン画像に対して行ってもよい。
【0131】
シミュレーション装置2は、フーリエ変換を用いて波面収差からPSFを算出してもよい。また、シミュレーション装置2は、PSFに基づいて、ボケ処理を行うための画像処理フィルタを生成し、歪み処理が行われた後の特定シーン画像に対して画像処理フィルタを含む情報に基づいてボケ処理を行ってもよい。
【0132】
シミュレーション装置2は、歪み変位量と、シーン画像の各画素の距離データとに基づいて歪み処理を行い、画像処理フィルタとその距離データとに基づいて、歪み処理が行われた後の特定シーン画像に対してボケ処理を行ってもよい。
【0133】
シミュレーション装置2は、視線追跡装置から利用者の視線方向と瞳孔径との少なくともいずれかの情報を取得し、当該情報をさらに用いてシミュレーション画像を生成してもよい。
【0134】
シミュレーション装置2は、フレームごとに生成されたシミュレーション画像を表示装置3に出力することで表示装置3に対して特定のシーンの見え方を動画として出力させてもよい。
【0135】
以上、本発明を、実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0136】
上記実施形態において、シミュレーション装置2は、1つの装置として構成されているが、これに限定されない。例えば、シミュレーション装置2は、複数の装置から構成されてもよい。例えば、データ生成部10と、画像生成部20とは、それぞれ異なる装置であってもよい。すなわち、例えば、個別眼球モデルを作成する処理と、事前データ作成処理とが第1装置で実行され、リアルタイム処理が第1装置とは異なる第2装置で実行されてもよい。この場合には、第1装置と第2装置との間のネットワークは、有線でもよいし、無線でもよいし、その両方であってもよい。また、個別眼球モデルを作成する処理と、事前データ作成処理とがそれぞれ別の装置で実施されてもよい。
【0137】
図20は、本実施形態に係るシミュレーションシステム1Aの構成例を示す図である。シミュレーションシステム1Aは、データ送信装置200と、モデル生成装置300と、記憶装置400と、事前データ生成装置500と、画像生成装置600と、表示装置3とを備える。
【0138】
例えば、眼鏡店ESには、データ送信装置200が設けられている。データ送信装置200は、例えば、取得部210と、送信部220とを備える。取得部210は、例えば、眼鏡店ESに設置している波面収差測定装置などの測定装置から利用者の眼球情報を取得する。取得部210は、眼鏡店ESに設置されている又は眼鏡店ESが管理しているサーバなどの記憶媒体から利用者の眼球情報を取得してもよい。送信部220は、取得部210で取得した眼球情報を、個人毎に異なる眼球モデルを生成するモデル生成装置300に対して送信する。ここで、送信部220は、眼球情報をモデル生成装置300に送信するにあたって、利用者を識別する識別情報を、眼球情報に付加して送信してもよい。この識別情報は、個人を特定できれば特に限定されないが、例えば、名前やID番号などである。送信部220は、モデル生成装置300に対して、通信ネットワークNWを介して接続されている。通信ネットワークNWは、有線でもよいし、無線でもよいし、その両方であってもよい。
【0139】
モデル生成装置300は、例えば、眼鏡メーカEMによって管理されている。モデル生成装置300は、上述したモデル構築部11の機能を有しており、
図17に例示した個別眼球モデルMeの作成処理を実行する。モデル生成装置300は、眼鏡レンズを通して利用者が見る特定のシーンの見え方を再現するための個別眼球モデルMeを生成する。モデル生成装置300は、利用者の眼球情報を含む情報に基づいて利用者の眼球をモデル化することで、個人毎に異なる個別眼球モデルMeを生成する。モデル生成装置300は、生成した個別眼球モデルMeを記憶装置400に格納する。なお、記憶装置400は、モデル生成装置300内に設けられてもよいし、事前データ生成装置500に設けられてもよいし、その他の装置に設けられてもよい。また、記憶装置400は、2つ以上の記憶媒体から構成されてもよい。なお、モデル生成装置300が作成した個別眼球モデルMeは、利用者の識別情報ごとに記憶装置400に格納されてもよい。すなわち、個別眼球モデルMeが利用者の識別情報に関連付けられて記憶装置400に格納されてもよい。
【0140】
事前データ生成装置500は、例えば、眼鏡メーカEMによって管理されている。事前データ生成装置500は、通信ネットワークNWに接続されている。事前データ生成装置500は、眼鏡レンズを通して利用者が見る特定のシーンの見え方を再現したシミュレーション画像を生成するための事前データを生成する。具体的には、事前データ生成装置500は、利用者の眼球情報を用いてモデル化された利用者の個別眼球モデルMeと、眼鏡レンズをモデル化した眼鏡レンズモデルMgと、を有する光学系100を用いて事前データを生成する。例えば、事前データ生成装置500は、利用者の個別眼球モデルMeを記憶装置400から読み込む。利用者の情報は、外部から事前データ生成装置500に入力されてもよい。事前データ生成装置500には、例えば、眼鏡レンズの識別情報が入力される。事前データ生成装置500は、入力された眼鏡レンズの識別情報から、当該眼鏡レンズの設計情報を事前データ生成装置500の記憶装置又は外部の記憶装置から抽出し、抽出した設計情報に基づいて、眼鏡レンズモデルMgを生成する。事前データ生成装置500は、データ計算部12の機能を有している。事前データ生成装置500は、生成した個別眼球モデルMeと眼鏡レンズモデルMgとに基づいて、
図18に例示した事前データ作成処理を実行することで事前データを生成する。なお、事前データ生成装置500は、必ずしも眼鏡レンズモデルMgを生成する必要はなく、外部装置から眼鏡レンズモデルMgを取得してもよい。事前データは、記憶装置400に格納されてもよいし、後述する画像生成装置600に送信されてもよい。また、事前データは、利用者の識別情報に関連づけられて記憶装置400に格納されてもよい。
【0141】
画像生成装置600は、通信ネットワークNWに接続されている。画像生成装置600は、眼鏡店ESに設けられてもよいし、眼鏡メーカEMが管理してもよい。画像生成装置600は、眼鏡レンズを通して利用者が見る特定のシーンの見え方を示すシミュレーション画像を生成する。例えば、画像生成装置600は、記憶装置400に格納されている利用者の事前データを読み込み、読み込んだ事前データに基づいて、シミュレーション画像を生成し、生成したシミュレーション画像を表示装置3に表示させる。なお、画像生成装置600は、記憶装置400に格納されている利用者の事前データを読み込むのではなく、事前データ生成装置500から直接送信されてもよい。画像生成装置600は、画像生成部20の機能を有しており、事前データに基づいて、
図19に例示したリアルタイム処理を実行する。例えば、画像生成装置600は、利用者の識別情報が入力されると、入力された識別情報に関連付けられた事前データを、記憶装置400から読み込み、読み込んだ事前データに基づいてリアルタイム処理を実行してもよい。
【0142】
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム及び方法における動作、手順、ステップ及び段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示していない。また、各処理の実行順序は、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現し得ることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0143】
1,1A シミュレーションシステム
2 シミュレーション装置
3 表示装置
4 記憶装置
5 入力装置
6 出力装置
7 プロセッサ
10 データ生成部
11 モデル構築部
12 データ計算部
20 画像生成部
100 光学系
200 データ送信装置
300 モデル生成装置
400 記憶装置
500 事前データ生成装置
600 画像生成装置
Me 眼球モデル
Mg 眼鏡レンズモデル