(57)【要約】【課題】以前に撮影した写真と同じ位置及びカメラアングルでユーザが写真撮影することを支援するシステム及び方法。【解決手段】このシステムによれば、カメラ姿勢が算出され、被写体（８０１）に対する所望のカメラアングルを示す表示が描画される。錐図形８００は被写体点Ｐからカメラ位置Ｃへの所望の方向をユーザに指示する。被写体点Ｐを中心とし半径ｄの球図形８０１は、ユーザに関心領域の位置及びサイズを提示する。この表示によりユーザは繰り返し撮影のための同じカメラアングルにガイドされる。写真を３Ｄモデル上に３Ｄ描画技術を利用して仮想的に投影し、これを調整して写真間の整合を改善すると共に、２つの写真間の差異を検出してハイライト表示する。検出された差異をハイライト表示することにより、ユーザが差異を認識することを支援する。【選択図】図８
2011239361.tif 000002
【特許請求の範囲】
【請求項１】
被写体を撮影した第１の写真ならびに被写体に関するアングル及び位置に関する情報を格納する写真データベースと、
映像を取得し、第２の写真を撮影するカメラと、
被写体に対する前記映像を撮影しているアングル及び位置を決定する決定手段と、表示装置に表示される前記映像上に、前記被写体に関するアングルを示す第１の指示表示、及び、前記被写体の位置を示す第２の指示表示をオーバレイ表示し、前記映像を撮影している前記アングル及び前記位置が前記第１の写真の前記被写体に関するアングル及び位置の所定許容範囲内にある場合に第３の指示表示を提供するガイド手段と、
を備える、システム。
【請求項２】
前記データベースは、前記第１の写真の被写体に関する仮想３Ｄモデルを更に格納する、請求項１に記載のシステム。
【請求項３】
前記ガイド手段は、前記映像に対して相対的に前記仮想３Ｄモデルを使用して、前記第１の指示表示及び第２の指示表示を利用して、前記被写体を撮影しているアングル及び位置を示す、請求項２に記載のシステム。
【請求項４】
前記映像に含まれる前記第２の写真と、前記写真データベースから選択された前記第１の写真との視覚上の差異を分析してハイライト表示する比較手段を更に備える、請求項２又は３に記載のシステム。
【請求項５】
前記比較手段は、前記仮想３Ｄモデルの幾何形状を利用して前記差異の検出を支援し、前記第２の写真は前記第１の写真の被写体に関するアングル及び位置の所定許容範囲内にある、請求項４に記載のシステム。
【請求項６】
前記映像の位置が前記被写体を撮影しているアングル及び位置に対して所定許容範囲内にある場合に、前記第３の指示表示は、前記第１の指示表示及び前記第２の指示表示の色を変化させる、請求項１〜５のいずれか１項に記載のシステム。
【請求項７】
前記被写体と前記所定許容範囲とに関連するベクトルが計算される、請求項１〜６のいずれか１項に記載のシステム。
【請求項８】
前記比較手段は、前記仮想３Ｄモデルに対して前記第２の写真を分析し、前記仮想３Ｄモデル表面上の未撮影領域を判定する、請求項４〜７のいずれか１項に記載のシステム。
【請求項９】
前記比較手段が、前記視覚上の差異をハイライト表示する場合に、前記未撮影領域に対する判定を行わない、請求項８に記載のシステム。
【請求項１０】
前記第２の写真から画像領域が抽出され、前記抽出された画像領域は前記仮想３Ｄモデル上に投影され、前記投影された画像領域は前記差異の一部として利用される、請求項４〜９のいずれか１項に記載のシステム。
【請求項１１】
前記カメラを第１の写真のカメラアングル及び位置に揃うようにナビゲートする音声ガイダンスを生成する音声ナビゲーション手段を更に備える、請求項１〜１０のいずれか１項に記載のシステム。
【請求項１２】
前記ガイド手段が、被写体からの距離と、前記カメラのパン及びチルト角と、前記カメラの上方向角度とのうちの少なくとも１つを示す追加の指示表示を、前記映像上にオーバレイ表示する、請求項２〜１１のいずれか１項に記載のシステム。
【請求項１３】
前記第１の指示表示は錐形で表示される、請求項１〜１２のいずれか１項に記載のシステム。
【請求項１４】
前記第２の指示表示は球形で表示される、請求項１〜１３のいずれか１項に記載のシステム。
【請求項１５】
前記第１の指示表示及び第２の指示表示が筒形で表示され、前記筒形の半径は所定の許容誤差を表し、前記筒形の軸は前記被写体に関するアングルに関する算出ベクトルを表す、請求項７〜１４のいずれか１項に記載のシステム。
【請求項１６】
以前に撮影した写真と同じアングル及び位置でスナップ写真を撮るためカメラをナビゲートする方法であって、
決定手段が、仮想３Ｄモデルに基づいて以前に撮影した写真のアングル及び位置を決定し、
前記決定手段が、前記仮想３Ｄモデルに対する、カメラにより取得される映像のカメラアングル及び位置を決定し、
ガイド手段が、前記決定された映像のカメラアングル及び位置に対する相対的な前記決定された写真のアングル及び位置に基づいて、表示装置に表示される前記カメラの映像上に指示表示をオーバレイ表示する、
ことを含む、方法。
【請求項１７】
前記ガイド手段が、前記決定された映像のアングル及び位置が、前記決定された写真のアングル及び位置の所定の許容範囲内にある場合に、追加の指示表示を提供することを更に含む、請求項１６に記載の方法。
【請求項１８】
以前に撮影した写真と同じアングル及び位置でスナップ写真を撮るためカメラをナビゲートする方法であって、
受信手段が、以前に撮影した写真に関する情報を入力として受信し、
決定手段が、前記入力に基づいて、前記以前に撮影した写真のカメラアングル及び位置を算出し、
決定手段が、カメラにより取得される映像のアングル及び位置を決定し、
ガイド手段が、前記決定された映像のアングル及び位置に対する相対的な前記算出された写真のアングル及び位置に基づいて、表示装置に表示される前記カメラの映像上に指示表示をオーバレイ表示する、
ことを含む、方法。
【請求項１９】
前記ガイド手段が、前記決定された映像のアングル及び位置が、前記算出された写真のアングル及び位置の所定の許容範囲内にある場合に、追加の指示表示を提供することを更に含む、請求項１８に記載の方法。
【請求項２０】
以前に撮影した写真と同じアングル及び位置でスナップ写真を撮るためカメラをナビゲートするための処理をコンピュータに実行させるためのプログラムであって、前記処理は、
仮想３Ｄモデルに基づいて以前に撮影した写真のアングル及び位置を決定し、
前記仮想３Ｄモデルに対する、カメラにより取得される映像のカメラアングル及び位置を決定し、
前記決定された映像のカメラアングル及び位置に対する相対的な前記決定された写真のアングル及び位置に基づいて、表示装置に表示される前記カメラの映像上に指示表示をオーバレイ表示する、
ことを含む、プログラム。
【請求項２１】
前記処理は、前記決定された映像のアングル及び位置が、前記決定された写真のアングル及び位置の所定の許容範囲内にある場合に、追加の指示表示を提供することを更に含む、請求項２０に記載のプログラム。
【請求項２２】
以前に撮影した写真と同じアングル及び位置でのスナップ写真を撮るためカメラをナビゲートするための処理をコンピュータに実行させるためのプログラムであって、前記処理は、
以前に撮影した写真に関する情報を入力として受信し、
前記入力に基づいて、前記以前に撮影した写真のカメラアングル及び位置を算出し、
カメラにより取得される映像のアングル及び位置を決定し、
前記決定された映像のアングル及び位置に対する相対的な前記算出された写真のアングル及び位置に基づいて、表示装置に表示される前記カメラの前記映像上に指示表示をオーバレイ表示する、
ことを含む、プログラム。
【請求項２３】
前記処理は、前記決定された映像のアングル及び位置が、前記算出された写真のアングル及び位置の所定の許容範囲内にある場合に、追加の指示表示を提供することを更に含む、請求項２２に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にカメラを含むシステム、方法及びプログラムに関し、特に、カメラのナビゲーション支援や写真の差異抽出の提供に関する。
【背景技術】
【０００２】
対象物や景色の変化を観察するために、繰り返し撮影されることがある。「繰り返し撮影」即ち「リフォトグラフィ（rephotography）」の分野での最も有名な例としては、歴史的建造物又は自然風景の経時変化を示すためのものがある。例えばリフォトグラフィ写真家は、ＵＳＧＳ繰り返し撮影プロジェクト及びＶＥＲＴＩＧＯに見られるように、何年も前に取られた写真と同じカメラアングル及び位置で山や建物の写真を撮る。製造分野においても、繰り返し撮影は検査に実用化されている。例えば一方に問題がありもう一方は正しく機能する２つの工業部品を比較するために、両方の部品の写真を撮ってその差を比較することが行われる。しかし、手持ちカメラを利用する場合、同じカメラアングルから１つの被写体を２度写真撮影することは容易ではない。
【０００３】
同一のカメラアングルで写真を撮るためには、被写体とカメラとの幾何学的位置関係を算出しなければならない。カメラ姿勢を算出し、被写体の写真をその３Ｄモデルに合わせるための手法は多くある。Ｖｉｅｗｆｉｎｄｅｒプロジェクト及びＭａｒｍｏｔａプロジェクトでは、風景写真をグーグルアースの対応３Ｄモデルに合わせる（非特許文献１）。またカメラ姿勢を、３Ｄ  ＣＡＤモデルを利用して被写体から算出することもできる（非特許文献２）。また、マーカーをトラッキングすることで撮影時のカメラのアングルや写真の位置を推定する方法が知られている（非特許文献３）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ジョン・ドミング（Ｊｏｈｎ  Ｄｏｍｉｎｇｕｅ）、ディエテル・フェンセル（Ｄｉｅｔｅｒ  Ｆｅｎｓｅｌ）及びパオロ・トラヴェルソ（Ｐａｏｌｏ  Ｔｒａｖｅｒｓｏ）、「環境関係コンテンツの作成と“未来のインターネット”における可視化（Ｅｎｖｉｒｏｎｍｅｎｔａｌ  Ｃｏｎｔｅｎｔ  Ｃｒｅａｔｉｏｎ  ａｎｄ  Ｖｉｓｕａｌｉｓａｔｉｏｎ  ｉｎ  ｔｈｅ  ‘Ｆｕｔｕｒｅ  Ｉｎｔｅｒｎｅｔ’）」、エフアイエス２００８（ＦＩＳ２００８）、２００８年
【非特許文献２】ハラルド・ウエスト（Ｈａｒａｌｄ  Ｗｕｅｓｔ）及びディディエル・ストリッカー（Ｄｉｄｉｅｒ  Ｓｔｒｉｃｋｅｒ）、「ＣＡＤモデルを利用した工業用被写体の追跡（Ｔｒａｃｋｉｎｇ  ｏｆ  Ｉｎｄｕｓｔｒｉａｌ  Ｏｂｊｅｃｔｓ  ｂｙ  ｕｓｉｎｇ  ＣＡＤ  ｍｏｄｅｌｓ）」、ジャーナル  オブ  ヴァーチャルリアリティー  アンド  ブロードキャスティング（Ｊｏｕｒｎａｌ  ｏｆ  Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ  ａｎｄ  Ｂｒｏａｄｃａｓｔｉｎｇ）、４巻、１号、２００７年
【非特許文献３】カトウ  ヒロカズ(Kato, H)、マーク ビリングハースト（Billinghurst, M.）、「ビデオベース拡張現実会議システムのためのマーカートラッキングとＨＭＤキャリブレーション」（Ｍａｒｋｅｒ Ｔｒａｃｋｉｎｇ ａｎｄ ＨＭＤ Ｃａｌｉｂｒａｔｉｏｎ ｆｏｒ ａ ｖｉｄｅｏ−ｂａｓｅｄ Ａｕｇｍｅｎｔｅｄ Ｒｅａｌｉｔｙ Ｃｏｎｆｅｒｅｎｃｉｎｇ Ｓｙｓｔｅｍ）、第２回国際仮想現実ワークショップ予稿集( Ｉｎ Ｐｒｏｃｅｅｄｉｎｇｓ ｏｆ ｔｈｅ ２ｎｄ Ｉｎｔｅｒｎａｔｉｏｎａｌ Ｗｏｒｋｓｈｏｐ ｏｎ Ａｕｇｍｅｎｔｅｄ Ｒｅａｌｉｔｙ)、１９９９年
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以前撮った写真と同じカメラ位置及びアングルにリアルタイムでユーザをガイドできるシステム、方法、及びプログラムが望まれている。
【課題を解決するための手段】
【０００６】
本発明の第１の態様によれば、被写体を撮影した第１の写真ならびに被写体に関するアングル及び位置に関する情報を格納する写真データベースと、映像を取得し、第２の写真を撮影するカメラと、被写体に対する前記映像を撮影しているアングル及び位置を決定する決定手段と、表示装置に表示される前記映像上に、前記被写体に関するアングルを示す第１の指示表示、及び、前記被写体の位置を示す第２の指示表示をオーバレイ表示し、前記映像を撮影している前記アングル及び前記位置が前記第１の写真の前記被写体に関するアングル及び位置の所定許容範囲内にある場合に第３の指示表示を提供するガイド手段と、を備える、システムが提供される。
【０００７】
本発明の第２の態様によれば、第１の態様において、前記データベースは、前記第１の写真の被写体に関する仮想３Ｄモデルを更に格納してもよい。
【０００８】
本発明の第３の態様によれば、第２の態様において、前記ガイド手段は、前記映像に対して相対的に前記仮想３Ｄモデルを使用して、前記第１の指示表示及び第２の指示表示を利用して、前記被写体を撮影しているアングル及び位置を示してもよい。
【０００９】
本発明の第４の態様によれば、第２又は３の態様において、前記映像に含まれる前記第２の写真と、前記写真データベースから選択された前記第１の写真との視覚上の差異を分析してハイライト表示する比較手段を更に備えてもよい。
【００１０】
本発明の第５の態様によれば、第４の態様において、前記比較手段は、前記仮想３Ｄモデルの幾何形状を利用して前記差異の検出を支援してもよく、前記第２の写真は前記第１の写真の被写体に関するアングル及び位置の所定許容範囲内にあってもよい。
【００１１】
本発明の第６の態様によれば、第１〜５のいずれかの態様において、前記映像の位置が前記被写体を撮影しているアングル及び位置に対して所定許容範囲内にある場合に、前記第３の指示表示は、前記第１の指示表示及び前記第２の指示表示の色を変化させてもよい。
【００１２】
本発明の第７の態様によれば、第１〜６のいずれかの態様において、前記被写体と前記所定許容範囲とに関連するベクトルが計算されてもよい。
【００１３】
本発明の第８の態様によれば、第４〜７のいずれかの態様において、前記比較手段は、前記仮想３Ｄモデルに対して前記第２の写真を分析し、前記仮想３Ｄモデル表面上の未撮影領域を判定してもよい。
【００１４】
本発明の第９の態様によれば、第８の態様において、前記比較手段が、前記視覚上の差異をハイライト表示する場合に、前記未撮影領域に対する判定を行わなくてもよい。
【００１５】
本発明の第１０の態様によれば、第４〜９のいずれかの態様において、前記第２の写真から画像領域が抽出され、前記抽出された画像領域は前記仮想３Ｄモデル上に投影され、前記投影された画像領域は前記差異の一部として利用されてもよい。
【００１６】
本発明の第１１の態様によれば、第１〜１０のいずれかの態様において、前記カメラを第１の写真のカメラアングル及び位置に揃うようにナビゲートする音声ガイダンスを生成する音声ナビゲーション手段を更に備えてもよい。
【００１７】
本発明の第１２の態様によれば、第２〜１１のいずれかの態様において、前記ガイド手段が、被写体からの距離と、前記カメラのパン及びチルト角と、前記カメラの上方向角度とのうちの少なくとも１つを示す追加の指示表示を、前記映像上にオーバレイ表示してもよい。
【００１８】
本発明の第１３の態様によれば、第１〜１２のいずれかの態様において、前記第１の指示表示は錐形で表示されてもよい。
【００１９】
本発明の第１４の態様によれば、第１〜１３のいずれかの態様において、前記第２の指示表示は球形で表示されてもよい。
【００２０】
本発明の第１５の態様によれば、第７〜１４のいずれかの態様において、前記第１の指示表示及び第２の指示表示が筒形で表示され、前記筒形の半径は所定の許容誤差を表し、前記筒形の軸は前記被写体に関するアングルに関する算出ベクトルを表してもよい。
【００２１】
本発明の第１６の態様によれば、以前に撮影した写真と同じアングル及び位置でスナップ写真を撮るためカメラをナビゲートする方法であって、決定手段が、仮想３Ｄモデルに基づいて以前に撮影した写真のアングル及び位置を決定し、前記決定手段が、前記仮想３Ｄモデルに対する、カメラにより取得される映像のカメラアングル及び位置を決定し、ガイド手段が、前記決定された映像のカメラアングル及び位置に対する相対的な前記決定された写真のアングル及び位置に基づいて、表示装置に表示される前記カメラの映像上に指示表示をオーバレイ表示する、ことを含む、方法が提供される。
【００２２】
本発明の第１７の態様によれば、第１６の態様において、前記ガイド手段が、前記決定された映像のアングル及び位置が、前記決定された写真のアングル及び位置の所定の許容範囲内にある場合に、追加の指示表示を提供することを更に含んでもよい。
【００２３】
本発明の第１８の態様によれば、以前に撮影した写真と同じアングル及び位置でスナップ写真を撮るためカメラをナビゲートする方法であって、受信手段が、以前に撮影した写真に関する情報を入力として受信し、決定手段が、前記入力に基づいて、前記以前に撮影した写真のカメラアングル及び位置を算出し、決定手段が、カメラにより取得される映像のアングル及び位置を決定し、ガイド手段が、前記決定された映像のアングル及び位置に対する相対的な前記算出された写真のアングル及び位置に基づいて、表示装置に表示される前記カメラの映像上に指示表示をオーバレイ表示する、ことを含む、方法が提供される。
【００２４】
本発明の第１９の態様によれば、第１８の態様において、前記ガイド手段が、前記決定された映像のアングル及び位置が、前記算出された写真のアングル及び位置の所定の許容範囲内にある場合に、追加の指示表示を提供することを更に含んでもよい。
【００２５】
本発明の第２０の態様によれば、以前に撮影した写真と同じアングル及び位置でスナップ写真を撮るためカメラをナビゲートするための処理をコンピュータに実行させるためのプログラムであって、前記処理は、仮想３Ｄモデルに基づいて以前に撮影した写真のアングル及び位置を決定し、前記仮想３Ｄモデルに対する、カメラにより取得される映像のカメラアングル及び位置を決定し、前記決定された映像のカメラアングル及び位置に対する相対的な前記決定された写真のアングル及び位置に基づいて、表示装置に表示される前記カメラの映像上に指示表示をオーバレイ表示する、ことを含む、プログラムが提供される。
【００２６】
本発明の第２１の態様によれば、第２０の態様において、前記処理は、前記決定された映像のアングル及び位置が、前記決定された写真のアングル及び位置の所定の許容範囲内にある場合に、追加の指示表示を提供することを更に含んでもよい。
【００２７】
本発明の第２２の態様によれば、以前に撮影した写真と同じアングル及び位置でのスナップ写真を撮るためカメラをナビゲートするための処理をコンピュータに実行させるためのプログラムであって、前記処理は、以前に撮影した写真に関する情報を入力として受信し、前記入力に基づいて、前記以前に撮影した写真のカメラアングル及び位置を算出し、カメラにより取得される映像のアングル及び位置を決定し、前記決定された映像のアングル及び位置に対する相対的な前記算出された写真のアングル及び位置に基づいて、表示装置に表示される前記カメラの前記映像上に指示表示をオーバレイ表示する、ことを含む、プログラムが提供される。
【００２８】
本発明の第２３の態様によれば、第２２の態様において、前記処理は、前記決定された映像のアングル及び位置が、前記算出された写真のアングル及び位置の所定の許容範囲内にある場合に、追加の指示表示を提供することを更に含んでもよい。
【００２９】
本発明に関するその他の態様は、以下の記載で部分的に説明され、また記載から部分的に明白であり、又は本発明の実行により習得することができる。本発明の態様は、以下の詳細な記載及び添付の特許請求の範囲において特に指摘された要素、及び種々の要素と態様との組合せによって、実現及び達成することができる。
【００３０】
上記及び以下の記載はいずれも、単に例示及び説明を目的とするものであり、特許請求の範囲に記載の発明もしくはその出願をいかなる形であれ限定することは全く意図されていないことを理解されたい。
【発明の効果】
【００３１】
以前撮った写真のカメラ位置及びアングルにユーザをガイドするシステム、方法、及びプログラムが提供される。
【図面の簡単な説明】
【００３２】
本明細書に組み込まれ、本明細書の一部をなす添付の図面が、本発明の実施形態を例示し、記載と相俟って、本発明技術の原理の説明及び例示に供する。
【図１】ディスプレイが付属したカメラを備える本発明の一実施形態を示す図である。
【図２Ａ】テーブル上のＡＲマーカの例を示す図である。
【図２Ｂ】テーブル上のＡＲマーカの例を示す図である。
【図３】写真撮影のフローチャートの例を示す図である。
【図４】関心領域を示す円の例を示す図である。
【図５】目標被写体とカメラとの幾何学的相対関係の例を示す図である。
【図６】写真グループ用のデータ構造の例を示す図である。
【図７】ナビゲーション支援によりユーザの第２の写真の撮影をガイドするフローチャート例を示す図である。
【図８】本発明システムにおいて使用されるナビゲーション用円錐図形及び球図形を決定する量及び幾何学的関係を示す図である。
【図９】写真グループのデータから生成した円錐図形及び球図形の例を示す図である。
【図１０Ａ】円錐図形及び球図形を含む、異なるカメラ位置でのＡＲビューの例を示す図である。
【図１０Ｂ】円錐図形及び球図形を含む、異なるカメラ位置でのＡＲビューの例を示す図である。
【図１１】写真グループ１に第２の写真を追加した後の格納データの例を示す図である。
【図１２】本発明のシステムで利用できるガイド円図形、上方向矢印等の追加図形を示す図である。
【図１３】円筒図形を決定する量及び幾何学的関係を示す図である。
【図１４】写真間の差異を示すフローチャートの例を示す図である。
【図１５】差異検出の例を示す図である。
【図１６】遮蔽領域の処理例を示す図である。
【図１７Ａ】３Ｄモデル上に投影された差異検出例を示す図である。
【図１７Ｂ】３Ｄモデル上に投影された差異検出例を示す図である。
【図１８】本発明の実施形態が実装されるコンピュータシステムの機能図の例を示す図である。
【図１９】コンピュータシステムにより利用される方法のフローチャートの例を示す図である。
【図２０】本発明のシステムを実装するコンピュータプラットフォームの例示的実施形態を示す図である。
【発明を実施するための形態】
【００３３】
以下の詳細な記載においては添付の図面を参照する。ここで、同一の機能的要素は同様の符号で示される。前述の添付図面は、本発明の原理に合致する特定の実施形態及び実装形態を限定としてではなく、例示として示す。これらの実装形態は、当業者が本発明を実行できるように十分詳細に説明される。また、本発明の範囲及び趣旨を逸脱することなしに、他の実装形態が利用されてもよいこと、及び様々な要素の構造上の変更及び／又は代用が行われてもよいことを理解されたい。従って、以下の詳細な記載は本発明を制限するものとして解釈されるべきではない。更に、記載される本発明の様々な実施形態は、汎用コンピュータ上で実行されるソフトウェア、専用ハードウェア、あるいはソフトウェアとハードウェアの組合せのいずれの形態において実施されてもよい。
【００３４】
本発明の様々な実施形態においては、拡張現実（Augmented Reality（ＡＲ））システムの変形を利用して、ユーザが以前と同じ位置、同じカメラアングルで写真を撮ることを支援する。また、このシステムは、写真間の差異を自動的に抽出する。なお、撮影時のカメラのアングルや写真の位置は、例えば非引用文献３に記載されたような、公知のマーカートラッキング法を使って推定することができる。
【００３５】
カメラ姿勢を算出するのには既存の方法を利用する。既知の位置にある目標被写体のＣＡＤモデル等の３Ｄモデルが利用されてもよい。カメラ姿勢が与えられると、１つまたは複数の図形がカメラスクリーン上に描画され、以前撮影した写真のカメラアングルを指示表示する。描画された図形により、ユーザは繰り返し撮影のための同一カメラアングルへガイドされる。
【００３６】
ＡＲナビゲーションはユーザが正しいアングルで撮影するよう支援するが、第２の写真（２枚目の写真）の姿勢は必ずしも第１の写真（以前撮影した写真）と同一の撮影条件ではない。本システムは、３Ｄの描画手法を利用して、これらの写真を３Ｄモデル上に仮想的に投影して調整し、これにより２つの写真の差異が検出され、ハイライト表示される。検出された差異をハイライト表示することは、ユーザが差異を認識するのに役立つ。差異は３Ｄモデル上に再投影することができ、ユーザは３Ｄモデルに照らして差異を精査することができる。
【００３７】
不一致検査は、対象物とその３Ｄ  ＣＡＤモデルとを比較して、対象物が正確に製造されていることを確認する作業である。アプリケーションによっては、対応する写真上に３Ｄ  ＣＡＤモデルをオーバレイすることができる。このようなアプリケーションは、３Ｄ  ＣＡＤモデルと対象物との間の形状を比較するのに有効である。ここで焦点となるのは、写真からしか観察できない傷や表面のシミなどの対象物の外観における差異を検出することである。
【００３８】
第２の写真が撮影されると、そのカメラ位置から３Ｄモデル上に２つの写真が投影され、カメラ姿勢の差異を補正するために必要な微調整が可能となる。写真を３Ｄモデル上に投影することは、３Ｄグラフィックスにおいて写真に現実的な質感を付与するのに用いられる常套手段であるが、これまでカメラ姿勢の差異の補正に用いられたことはなかった。画像ベースレンダリングは２つ以上の画像からの新しいビューを生成する。画像ベースレンダリングはカメラ姿勢の調整に適用できるが、デプスマップ（depth map）を生成するためには画像対応点を見つける必要があり、画像特徴点が少なすぎてデプスマップを生成できないことがある。
【００３９】
このように本願のシステムはユーザが以前の写真と同様の姿勢から被写体の写真を撮り、写真の比較を行えるようにすることを支援する。その方法の１つは以下の通りである。
【００４０】
ステップ１：ユーザが目標被写体の写真を撮影する。
【００４１】
ステップ２：ユーザが第１の写真と同じアングルでもう１枚写真を撮ろうとする場合、ＡＲナビゲーションがユーザを同一のカメラアングルへガイドする。
【００４２】
ステップ３：２つの写真の差異が検出され表示される。
【００４３】
設備と背景
【００４４】
本システムは拡張現実（ＡＲ）手法の一変形に基づいている。図１は付属ディスプレイ１０１を備えるカメラ１００を有する本発明の一実施形態を示す図である。このシステムは３次元の位置及び姿勢を算出する。次に図２Ａに示すように、ＡＲマーカがテーブル上に配置される。撮影された画像中のＡＲマーカから、カメラ姿勢がリアルタイムで算出される。被写体周辺等に向けているカメラが取得している映像（ライブフィード、live feed）により検出されるカメラの姿勢を利用して、３Ｄグラフィックスが描画され映像上にオーバレイされる。目標被写体の３Ｄモデル及びその位置が既知の場合には、算出されたカメラ姿勢を利用して３Ｄモデルが写真と比較され、次に図２Ｂに示すように合体される。目標被写体の３Ｄモデルは、３Ｄ  ＣＡＤモデルほど正確でないかもしれない。例えば、シェイプフロムモーション（shape from motion）法のような、コンピュータビジョン技術により復元される概略のＶＲＭＬモデルであってもよい。
【００４５】
光学的画像中心、焦点距離、レンズのひずみ等のカメラの内部パラメータはキャリブレーションによって既知であることに注意されたい。
【００４６】
ステップ１：第１の写真の撮影
【００４７】
このステップにおいてユーザはカメラを用いて目標被写体の写真を撮り、その写真をカメラ姿勢情報と共に格納する。
【００４８】
図３はこのステップのフローチャートを示す。ユーザはカメラを用いて目標被写体の映像を撮影する（３００）。前に述べたように、カメラの３Ｄ姿勢がリアルタイムで算出される（３０１）。ユーザがカメラのシャッタボタンを押す（３０３）と、静止写真画像が撮影され、表示される（３０４）。カメラが関心領域についての入力を受信する（３０５）と、モデル上の対応被写体点が計算され（３０６）、画像、姿勢、及び被写体点がデータベースに格納される（３０７）。
【００４９】
モデル上の被写体点は以下のように決定される。ユーザは写真画像上に円４００を描いて（図４）、関心領域を特定する。目標被写体の３Ｄモデルが写真画像に合わせられ、円に対応する３Ｄ領域が次のように決められる。図５は、目標領域、画像、及びカメラの間の幾何学的な関係を示す。カメラ位置Ｃ５００と、３Ｄ空間５０５中に位置する画像中の円の中心Ｔ５０１とが、画像に対して算出されたカメラ姿勢とカメラ内部パラメータとから決定される。そして、ベクトルＴ−Ｃとモデル中に表示された目標被写体面５０３との交点から、対応する被写体点Ｐ５０２が計算される。描かれた円の半径ｒは、点Ｐに中心を持つ３Ｄ球の半径ｄになる。
【数１】
2011239361.tif 000003
【００５０】
図６に写真グループ用のデータ構造の例を示す。写真及び算出されたパラメータは、データベースに保存される。第１の写真が保存されると、新しい写真グループテーブル６００が生成される。写真グループテーブルには、被写体点Ｐ、被写体点からカメラまでのベクトルＣ−Ｐ、半径ｄが保存される。写真とそのカメラ位置Ｃ及び回転Ｒは、生成された写真グループテーブルの中に写真１としてセーブされる（６０１）。この写真をガイドとして将来撮られる写真は、この写真グループの中に格納される。
【００５１】
更に、パラメータを決定する幾つかの選択肢がある。例えば、描画した円の一部が画像からはみ出してしまった場合、ｒが大きくなりすぎることを防ぐために、円の中心と写真の縁との間の最小距離ｒ’を利用することができる。対応する被写体点Ｐを１点だけ決めるのではなく、円の内部の画像点に対応する被写体上の複数の点をピックアップしてその平均座標を用いてもよい。関心領域を特定するのに、円ではなく矩形を用いてもよい。ユーザが画像領域を特定しない場合には、システムは写真全体を画像領域として使うことが可能であるし、又は、前景抽出等の画像処理技術を用いて画像領域を自動的に決定することも可能である。
【００５２】
これまでに挙げた実施例では、第１の写真は実際のカメラで撮影される。これに代わって、第１の「写真」が仮想カメラで撮影された３Ｄビューア中の３Ｄモデル画像であってもよい。ユーザは３Ｄモデルに対して仮想カメラを操作し、この仮想カメラ姿勢を「第１の写真」の姿勢として操作する。これは同じ視点からの実被写体の写真を得るためのナビゲーションガイドとして使われる。ユーザが、３Ｄ  ＣＡＤビューア中に３Ｄモデルのビューと同一のアングルで写真を撮ろうとする場合に、この機能は有効である。
【００５３】
目標モデルの３Ｄモデルとその位置がない場合には、被写体点Ｐと半径ｄは上記のようには計算できない。この場合には、目標被写体とカメラとの間の距離をユーザが特定すれば、被写体点Ｐと半径ｄは計算可能となる。距離が特定されない場合には、この２つのパラメータは計算できないし、データベースに保存することもできない。
【００５４】
ステップ２：ＡＲナビゲーションを用いて第２の写真を撮影
【００５５】
このステップでは、ＡＲナビゲーションシステムを用いて、ユーザが第１の写真と同じような姿勢から写真を撮れるように支援する。
【００５６】
図７はこのステップのフローチャートを示す。先ず、ユーザが次の写真を撮るためのガイドとして利用したい写真グループを選択する（７００）。ユーザが１つの写真グループを選択すると、ＡＲビューアにナビゲーション図形が生成され（７０１）、選択された写真グループの写真１が表示される（７０２）。次に、（ライブフィードあるいはその他のソースからの）画像（映像）が取得され（７０３）、この画像に基づいてカメラ姿勢が算出され、カメラで取得されている画像（ライブフィード）がナビゲーション図形にオーバレイされてユーザに対して表示され（７０５）、選択された写真に対する現在の撮影画像の位置が示される。カメラ姿勢が写真の姿勢に十分近ければ（７０６）、システムはユーザに対して現在のカメラ姿勢がカメラチェックをパスしたことを示す（７０７）。ユーザがシャッタを押すと（７０８）、カメラ画像がカメラ姿勢と共に写真グループ７００の追加として格納される（７１０）。
【００５７】
カメラ姿勢は継続的に算出される。算出されたカメラ姿勢と共に、同一視点からのナビゲーション図形が、ＡＲ技術を利用してカメラの表示画面上に表示された映像画像にオーバレイされて描画される。図１０Ａ、１０Ｂは異なるカメラ位置からのＡＲビューアを示す。ユーザはＡＲビューアを見ることにより所望のカメラ位置を理解できる。
【００５８】
カメラ位置のチェック７０６がバスした場合、任意選択で、イベントを自動的に始動させてもよい。そのようなイベントの例としては、自動シャッタがある。これは図７の７０７と７０８のステップにおいてユーザが手動でシャッタ操作を行うことの代わりに行われる。別の例としては、チェックをパスした場合、新しい情報がＡＲビューアに表示されてもよい。例えば、被写体を見る方向(視点)の順番の指示に用いられる。この場合、カメラ位置のチェックをパスし、写真が撮影されると、ＡＲビューアは、次の順番の視点に対する図形を自動的に示し、ユーザは指示された視点にカメラを向ける。この機能もまた、繰り返し撮影以外でも有用なものである。例えば、作業者が、ボルトを抜いてハッチを開けるというようないくつかのステップを被写体に対して行うことが必要な場合がある。ＡＲビューアが作業指示と共に図形を含んでいて、次に操作しなければならない被写体部分の操作方法を表示してユーザをガイドしてもよい。
【００５９】
利用されるナビゲーション図の実施例は、図８に示すように、円錐図形８００と球図形８０１とを含んでおり、これらは写真グループのパラメータから生成される。
【００６０】
円錐図形
【００６１】
円錐図形は被写体点Ｐからカメラ位置Ｃへの所望の方向をユーザに指示するために使用される。繰り返し撮影においては方向が重要である。方向が異なる場合には、遮蔽が発生し易く、１つの写真には撮影されるが他の写真には撮影されない画像領域が多数生成される。その一方で、被写体点Ｐとカメラ位置Ｃとの間の距離、及びカメラのロール角は、同一写真を撮るのにあまり重要な因子ではない。現在のカメラは十分な解像度を有し、差異はデジタルズームと画像回転とで簡単に補正することができる。このような点を考慮すると、円錐図形は被写体点Ｐから同一方向をユーザにガイドするための優れた図形である。ユーザが円錐図形の内部にカメラを持ち込むと、被写体からのカメラの相対方向は、写真１と殆ど同一になる。
【００６２】
円錐図形は被写体点Ｐと、カメラから被写体点Ｐへ向かう方向Ｃ−Ｐとから生成される。円錐図形の頂点はＰにあり、その軸がベクトルＣ−Ｐに一致する。頂角ａは一定値である。
【００６３】
任意選択で、頂角ａを動的に変化させることができる。頂角ａは、方向の差がどの程度まで許容されるかを示す。被写体面がほぼ平坦であれば、複雑な形状に対する場合に比べて、方向角の違いによる変化は小さい。ポイントＰの周りの被写体表面の３Ｄモデルからの相違、又は、単純に第１の写真の画像周波数を利用して、システムは角度ａを決定する。
【００６４】
球図形
【００６５】
カメラのパン角、チルト角と所望姿勢との相違は、繰り返し撮影においては目標被写体の関心領域を確実に視野内に確保することに比べるとそれほど重要ではない。球図形が描画され、ユーザに関心領域の位置及びサイズを知らせる。システムは、被写体点Ｐの位置に半径ｄの球図形の中心を置く。球図形が画像中に現れるとき、その関心領域が写真中に撮影されることになる。安全のためにシステムは球図形の半径をｄより大きくしてもよい。
【００６６】
図９は円錐図形９００及び球図形９０１の例を示す。これらは写真グループのデータから生成される。
【００６７】
現在のカメラ姿勢が円錐図形の内部にあり、球図形もカメラ視野の内部にある場合には、現在のカメラ姿勢はカメラ姿勢チェックをパスし、システムは、カメラ姿勢が写真撮影に適していることを図形的に示す。例えば、ナビゲーション図形が赤に変わり、シャッタボタンが有効となる。ユーザがシャッタボタンを押せば、写真とそのカメラ位置データとが、同じ写真グループの下に保存される。図１１は、写真２（１１０１）が写真グループ１（１１００）に追加された後の格納データの例である。
【００６８】
現在のカメラ姿勢がチェックをパスしても、カメラ姿勢にはまだいくらかの自由度がある。この自由度を制限するために、追加図形を使用することができる（図１２）。
【００６９】
被写体とカメラとの距離
カメラが被写体点Ｐに近づくにつれ、球図形が大きくなる。ＡＲビューア内に固定サイズの円を表示することにより、球図形がどれだけ大きくなったかをユーザに判断させることができる。あるいはその代わりに、カメラが近づきすぎた場合に、「前進」、「後退」等のサインを示すこともできる。
【００７０】
被写体点Ｐの画像位置
円図形１２００を第１の写真の場合と同一の位置に配置できる。球図形の位置が円図形と同じになると、被写体位置Ｐは第１の写真と同一の画像姿勢で撮影される。
【００７１】
カメラのロール角
カメラの上方向１２０１がＡＲビューア内に矢印図形で表示される。矢印図形が垂直になると、カメラのロール角が第１の写真の場合と同一になる。
【００７２】
目標被写体に３Ｄモデルがなく、データベース中に被写体点Ｐ及び半径ｄが見つからない場合には、他の３Ｄグラフィックスが利用される。図１３は、円筒図形１３００を示す。ここで、軸はベクトルＴ−Ｃに一致している。円筒図形の半径ｔは予め設定された値である。現在のカメラ位置５００が円筒図形の内部にあり、且つ、現在のカメラの光学的方向がベクトルＴ−Ｃに一致している場合、現在のカメラ姿勢は位置チェックをパスする。
【００７３】
これまでの実施形態ではＡＲ３Ｄグラフィックスを利用してカメラ姿勢をガイドしたが、この代わりに、あるいはこれに加えて、音声ナビゲーションを利用することもできる。「右へ進め」、「上を狙え」というような音声命令は、ユーザを第１のカメラ位置及びアングルにガイドするのに利用できる。
【００７４】
ステップ３：異なる姿勢で撮影された２つの写真の比較
【００７５】
本発明の実施形態では、同じアングルから写真を撮った後に写真間の相違を検出する。ナビゲーション図形は、ユーザが同じカメラアングルで写真を撮ることを支援するが、ナビゲーションによって完全な一致が約束されるわけではない。すべての写真は、そのカメラ姿勢情報を有し、目標被写体モデルに整列している。本発明の実施形態は３Ｄグラフィックス技術を利用して、写真をより正確に比較できるように調節する。
【００７６】
テキスチャ投影技術を利用して、写真のテキスチャをカメラ位置から３Ｄモデル上に投影することができる。これらの幾何学的配列は登録されているので、テキスチャは正確に投影される。
【００７７】
図１４はステップ３のフローチャートを示す。ユーザが同一の写真グループから写真Ａと写真Ｂとをソース画像として選択する（１４００）。デフォルト設定では、写真ＡおよびＢ各々は、写真１（第１の写真）及び最新写真である。写真Ａを、写真Ｂの視点から撮られたもののように見るために、３Ｄビューア内に仮想カメラディスプレイが写真Ｂの姿勢で設定され（１４０１）、写真Ａが、写真Ａのカメラ姿勢からモデル上に投影される（１４０２）。そして、写真Ｂの視点からの写真Ａのコンテンツを有する画像が取得される（１４０３）。次に、写真Ｂのカメラ姿勢から写真Ｂが投影され（１４０４）、第２の画像が取得される（１４０５）。これら２つの投影及び画像取得が終了すると、システムが画像間の差異を計算できる（１４０６）。
【００７８】
図１５に差異検出の例を示す。２つのソース写真１５００及び１５０１は殆ど同じであるが、カメラアングルが異なる。３Ｄグラフィックスエンジンでは、仮想カメラは写真Ｂのカメラ位置に整列され（１５０１）、内部パラメータは元のカメラと同じに設定される。写真Ａのテキスチャ１５００は写真Ａのカメラ位置から投影され、描画された図形は投影画像Ａ’１５０２として取得される。こうして、投影画像Ａ’を写真Ｂと同じカメラアングルで見ることとができる。次に、システムは投影画像Ｂ’１５０３を生成し、取得できる。画像差分法を利用して、２つの投影画像間の差異が検出される（１５０４）。
【００７９】
投影画像を取得する際に、被写体表面のうちカメラで取得されないところがある。それらがカメラの視野内になかったり、何かで遮蔽されていたりする場合に、このようなことが起きる。図１６に一例を示す。これらの領域は差異分析では考慮されない。システムが採り得る方法の一つは、撮影されなかった被写体表面部分１６００を黒色で塗りつぶすことである。これらの領域は次の差異検出では除外される。
【００８０】
検出された画像の差異はハイライト表示され、ユーザにその領域が示される。あるいは、検出された画像領域は切り取られて３Ｄモデル上に投影されてユーザに示される。ユーザは図１７Ａ、１７Ｂに示すように３Ｄコンテキストを利用して３Ｄモデルを操作し、差異をよりはっきりと理解することができる。
【００８１】
図１８に本発明の実施形態が実装されるコンピュータシステムの機能図の例を示す。目標被写体１８０１の映像（ライブフィード）を取得するカメラ１８００は、映像をコンピュータシステム１８０２に転送する。比較手段１８０７が映像を処理し、映像に含まれる画像を、目標被写体に関する姿勢情報を有する写真のデータベース１８０４と比較する。次いで、決定手段１８０５が、撮影対象の被写体に関するカメラアングル及びカメラ位置を決定する。決定手段は、撮影対象の被写体に対する、映像のアングル及び位置も決定してよい。ガイド手段１８０３が、映像に対する、撮影対象の被写体のアングルを示す第１の指示表示(ガイド表示)を提供し、映像に対する、撮影対象の被写体の位置を示す第２の指示表示を提供する。映像のアングル及び位置が、撮影対象の被写体のアングル及び位置に対して特定の許容範囲内の場合に、第３の指示表示が与えられてもよい。
【００８２】
図１９にコンピュータシステムにより利用される方法のフローチャートの例を示す。第１に、被写体の仮想３Ｄモデル及び以前に撮影された写真（以前の写真）が、ＡＲマーカ等の視覚特徴点を利用して並べる（１９００）。次に、仮想３Ｄモデルに基づいて以前の写真のアングル及び位置を決定する（１９０１）。そして、仮想３Ｄモデルに関して、映像（ライブフィード）のアングル及び位置を決定する（１９０２）。映像の角度及び位置に対する以前の写真の角度及び位置に基づいて、カメラが取得している映像画像上に指示表示がオーバレイする（１９０３）。
【００８３】
図２０に本発明のシステムを実装するコンピュータプラットフォームの例示的実施形態を示す。
【００８４】
図２０は、本発明による方法の実施形態を実装することが可能なコンピュータ／サーバシステム２０００の実施形態を示すブロック図である。システム２０００は、コンピュータ／サーバプラットフォーム２００１と、周辺装置２００２と、ネットワークリソース２００３とを含む。
【００８５】
コンピュータプラットフォーム２００１は、このコンピュータプラットフォーム２００１の全体に亘って、あるいはその様々な部分間で、情報をやり取りするためのデータバス２００４または他の通信機構と、情報を処理し他の計算タスク及び制御タスクを実行するためにバス２００１に接続されたプロセッサ２００５と、を含んでもよい。また、コンピュータプラットフォーム２００１は、プロセッサ２００５で実行される命令及び様々な情報を格納するためにバス２００４に接続された、ランダムアクセスメモリ（ＲＡＭ）や他の動的記憶装置のような揮発性記憶装置２００６も含む。また揮発性記憶装置２００６は、プロセッサ２００５による命令の実行中に、一時変数又は他の中間情報の格納にも利用可能である。コンピュータプラットフォーム２００１は、基本入出力システム（ＢＩＯＳ）や種々のシステム構成パラメータなどのような、プロセッサ２００５のための静的情報及び命令を格納するために、バス２００４に接続された読み取り専用メモリ（ＲＯＭあるいはＥＰＲＯＭ）２００７や、その他の静的記憶装置を更に含むことができる。情報及び命令を格納するために、磁気ディスク、光ディスク、ソリッドステートフラッシュメモリデバイスなどの持続性記憶装置２００８が設けられ、バス２００４に接続されている。
【００８６】
コンピュータプラットフォーム２００１は、コンピュータプラットフォーム２００１のシステム管理者あるいはユーザに対して情報を表示するために、バス２００４を介して、陰極線管（ＣＲＴ）、プラズマディスプレイ、液晶ディスプレイ（ＬＣＤ）のようなディスプレイ２００９に接続される。英数字キー及び他のキーを含む入力デバイス２０１０が、情報及びコマンド選択をプロセッサ２００５に通信するためにバス２００４に接続されている。別のタイプのユーザ入力デバイスとして、マウスやトラックボールやカーソル方向キーのようなカーソル制御デバイス２０１１があり、方向情報及びコマンド選択をプロセッサ２００５に通信し、またディスプレイ２００９上のカーソルの動きを制御する。この入力デバイスは一般的に、第１の軸（たとえばｘ）及び第２の軸（例えばｙ）の２つ軸における自由度２を有しており、これにより平面上の位置を特定できる。
【００８７】
コンピュータプラットフォーム２００１に付加的又はリムーバブルな記憶容量を提供するために、外部記憶装置２０１２がバス２００４を介してコンピュータプラットフォーム２００１に接続されてもよい。コンピュータシステム２０００のある実施形態においては、他のコンピュータシステムとのデータ交換を容易にするために外部のリムーバブル記憶装置２０１２が使用されてもよい。
【００８８】
本発明は、本明細書に記載の技術を実装するためのコンピュータシステム２０００の利用に関する。ある実施形態では、コンピュータプラットフォーム２００１のようなマシンに本発明のシステムが備わっている。本発明の一実施形態によれば、本明細書に記載の技術は、揮発性メモリ２００６に含まれる１つ又は複数の命令の１つ又は複数のシーケンスを、プロセッサ２００５が実行するのに応答して、コンピュータシステム２０００で実行される。このような命令は、持続性記憶装置２００８などの別のコンピュータ可読媒体から揮発性メモリ２００６に読み込まれてもよい。揮発性メモリ２００６に含まれる命令のシーケンスを実行することにより、プロセッサ２００５が本明細書に記載のプロセスステップを実行する。他の実施形態では、本発明を実装するのに、ソフトウェアによる命令に替えて、あるいはソフトウェアによる命令と組み合わせて、配線による回路が使用されてもよい。従って、本発明の実施形態は、ハードウェア回路とソフトウェアのいかなる特定の組み合わせにも限定されるものではない。
【００８９】
本明細書で使用される「コンピュータ可読媒体」という用語は、プロセッサ２００５に実行命令を与えることに関与する任意の媒体を指す。コンピュータ可読媒体は、機械可読媒体の単なる一例であり、本明細書に記載の任意の方法及び／又は技術を実装するための命令を伝える。このような媒体は多くの形態を取ることができ、不揮発性媒体及び揮発性媒体が含まれるが、これに限定されない。例えば、不揮発性媒体は、記憶装置２００８などの光ディスク又は磁気ディスクを含む。揮発性媒体は、揮発性記憶装置２００６などのダイナミックメモリを含む。
【００９０】
コンピュータ可読媒体の一般的形態には、例えば、フロッピディスク（登録商標）、フレキシブルディスク、ハードディスク、磁気テープ、又は他の任意の磁気媒体、ＣＤ−ＲＯＭ、他の任意の光学媒体、パンチカード、紙テープ、その他の孔パターンを有する任意の物理媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、フラッシュドライブ、メモリカード、その他の任意のメモリチップ又はメモリカートリッジ、あるいはコンピュータが読み出し可能な他の任意の媒体が含まれる。
【００９１】
様々な形態のコンピュータ可読媒体が、プロセッサ２００５での実行のために、１つまたは複数の命令の１つまたは複数のシーケンスの搬送に関与し得る。例えば、最初は命令がリモートコンピュータから磁気ディスクで搬送されてもよい。又は、リモートコンピュータが命令をダイナミックメモリに書込み、モデムを利用して電話線で命令を送信することもできる。コンピュータシステムのローカルモデムが電話線上でデータを受信し、赤外線送信機を使用してそのデータを赤外線信号に変換することができる。赤外線検出器が赤外線信号で搬送されるデータを受信し、適切な回路によってそのデータをデータバス２００５に乗せることができる。バス２００４がデータを揮発性記憶装置２００６に搬送し、そこからプロセッサ２００５が命令を取り出して、実行する。揮発性メモリ２００６によって受信された命令は、プロセッサ２００５での実行の前後のいずれかに所望により、持続性記憶装置２００８上に格納されてもよい。この命令は、当技術分野で周知の様々なネットワークデータ通信プロトコルを利用して、インターネットを介してコンピュータプラットフォーム２００１にダウンロードされてもよい。
【００９２】
コンピュータプラットフォーム２００１は、データバス２００４に接続されたネットワークインタフェースカード２０１３のような、通信インタフェースも含む。通信インタフェース２０１３は、ローカルネットワーク２０１５に接続されたネットワークリンク２０１４に接続する双方向のデータ通信を提供する。例えば、通信インタフェース２０１３が、対応する型式の電話線とのデータ通信接続を提供する総合デジタル通信網（ＩＳＤＮ）カードあるいはモデムであってもよい。別の例としては、通信インタフェース２０１３が、互換性のあるＬＡＮとのデータ通信接続を提供するローカルエリアネットワークインタフェースカード（ＬＡＮ  ＮＩＣ）であってもよい。よく知られている８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ及びブルートゥース（Ｂｌｕｅｔｏｏｔｈ（登録商標））などの無線リンクもネットワーク実装に利用することができる。これらのいずれの実装においても、通信インタフェース２０１３は、各種タイプの情報を表すデジタルデータストリームを搬送する電気信号、電磁信号、あるいは光学信号を送受信する。
【００９３】
ネットワークリンク２０１４が、一般的に１つ又は複数のネットワークを介して他のネットワークリソースへのデータ通信を提供する。例えば、ネットワークリンク２０１４が、ローカルネットワーク２０１５を介してホストコンピュータ２０１６又はネットワークストレージ／サーバ２０１７への接続を提供してもよい。これに加えて、もしくはこれに代わって、ネットワークリンク２０１４はゲートウェイ／ファイアウォール２０１７を介して、インターネットなどの広域ネットワーク又はグローバルネットワーク２０１８へ接続してもよい。このようにしてコンピュータプラットフォーム２００１が、リモートネットワークストレージ／サーバ２０１９のような、インターネット２０１８上の任意の場所にあるネットワークリソースへアクセスすることができる。その一方で、コンピュータプラットフォーム２００１も、ローカルエリアネットワーク２０１５及び又はインターネット２０１８上の任意の場所にいるクライアントからアクセスされうる。ネットワーククライアント２０２０及び２０２１自体が、プラットフォーム２００１と同様のコンピュータプラットフォームに基づいて実装されてもよい。
【００９４】
ローカルネットワーク２０１５及びインターネット２０１８はいずれも、デジタルデータストリームを搬送する電気信号、電磁信号あるいは光学信号を利用する。コンピュータプラットフォーム２００１へ向けて又はコンピュータプラットフォーム２００１からデジタルデータを搬送する、さまざまなネットワークを介する信号、及びネットワークリンク２０１４上にあって通信インタフェース２０１３を介する信号が、情報を転送するキャリア波の例示的な形態である。
【００９５】
コンピュータプラットフォーム２００１が、インターネット２０１８とＬＡＮ２０１５を含む様々なネットワーク、及びネットワークリンク２０１４、及び通信インタフェース２０１３を介して、メッセージを送信し、プログラムコードを含むデータを受信することができる。インターネットの例では、システム２００１がネットワークサーバとして作用する場合に、システムは、クライアント２０２０及び／又は２０２１上で動作するアプリケーションプログラム用に要求されるコードあるいはデータを、インターネット２０１８、ゲートウェイ／ファイアウォール２０１７、ローカルエリアネットワーク２０１５及び通信インタフェース２０１３を介して送信する。同様に、システムは他のネットワークリソースからコードを受信することができる。
【００９６】
受信されたコードは受信と同時にプロセッサ２００５で実行されてもよいし、及び／又は、後での実行に備えて持続性記憶装置２００８あるいは揮発性記憶装置２００６、あるいはその他の不揮発性記憶装置に格納されてもよい。
【００９７】
本発明は特定のファイアウォールシステムには限定されないことに注意されたい。本発明の方針に基づくコンテンツ処理システムは、３つのファイアウォール動作モード、具体的にはＮＡＴモード、ルートモード、透過モードのいずれにおいても利用可能である。
【００９８】
最後に、本明細書中に記載されたプロセス及び技術は特定の装置に本質的に関係するものではなく、構成要素の任意の適切な組み合わせによって実装可能であることを理解されたい。更に、種々のタイプの汎用デバイスを、本明細書に記載の教示にしたがって使用することが可能である。本明細書に記載された方法のステップを実行するための専用装置を構築することが有利であることも判明するであろう。本発明を特定の例に関連して記載したが、これらは全ての点において限定的ではなく説明的であることを意図している。ハードウェア、ソフトウェア、及びファームウェアの多くの異なる組み合わせが本発明の実行に適することが、当業者には理解されるであろう。例えば、前述のソフトウェアは、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）、などの広範なプログラム言語あるいはスクリプト言語によって実装することが可能である。
【００９９】
更に、ここに開示した本発明の明細書を考察し、本発明を実施すれば、本発明の他の実装が当業者には明らかとなるであろう。前述の実施態様の様々な態様及び／又は構成要素は、繰り返し撮影と差異抽出用のＡＲナビゲーションシステムに、単独もしくは任意の組み合わせで使用することが可能である。明細書及び実施例は例示としてのみ理解されるべきであり、本発明の真の範囲と精神は添付の特許請求の範囲によって示されるものとする。
【図１】
2011239361.tif 000004
【図２Ａ】
2011239361.tif 000005
【図２Ｂ】
2011239361.tif 000006
【図３】
2011239361.tif 000007
【図４】
2011239361.tif 000008
【図５】
2011239361.tif 000009
【図６】
2011239361.tif 000010
【図７】
2011239361.tif 000011
【図８】
2011239361.tif 000012
【図９】
2011239361.tif 000013
【図１０Ａ】
2011239361.tif 000014
【図１０Ｂ】
2011239361.tif 000015
【図１１】
2011239361.tif 000016
【図１２】
2011239361.tif 000017
【図１３】
2011239361.tif 000018
【図１４】
2011239361.tif 000019
【図１５】
2011239361.tif 000020
【図１６】
2011239361.tif 000021
【図１７Ａ】
2011239361.tif 000022
【図１７Ｂ】
2011239361.tif 000023
【図１８】
2011239361.tif 000024
【図１９】
2011239361.tif 000025
【図２０】
2011239361.tif 000026