AR(拡張現実)システムを構成するコンポーネント
ARには、実装方法によってさまざまなものがありますが、一般にARは次のようなハードウェアコンポーネントとソフトウェアコンポーネントで構成されています。
以下のハードウェアコンポーネントは、ARを支える基盤です。スマートフォンを使ったARの体験では、以下のコンポーネントの一部がすでにサポートされていることがあります(次のセクションで詳しく触れます)。
- プロセッサ – 拡張現実では、必要な画像を生成し、適切な場所に配置して現実の環境に存在しているように見せるために高い処理能力が必要とされます。プロセッサはモバイルハンドセットや、ウェアラブルデバイスに組み込まれていることがあります(この次の項目で詳しく触れます)。
- ディスプレイ – ARでは、画像が生成され、何らかの形態のディスプレイに表示されます。具体的な用途によって利用できるディスプレイの形態はいくつか考えられますが、代表的なものを以下に挙げます。
- 携帯機器 – スマートフォンやタブレットの画面は、ARのホログラム画像を見る最も一般的な方法と言っていいでしょう。ユーザーが関心のあるものに自分のスマートフォンのカメラを向けると、カメラのレンズによって生成されたライブホログラム映像にARの情報がオーバーレイされます。
- ウェアラブルデバイス – Google Glass、Vuzix Blade、Solos Smart Glassesなどのスマートグラスは、いずれも普通の眼鏡でありながら、身につけている人にだけ見えるスマートディスプレイを備えた設計となっています。拡張現実ヘッドセットを身につけた人は、透明なレンズを通してまっすぐ見ることで現実の世界を見ることができ、そこに内蔵ディスプレイによって情報がオーバーレイされます。一方、VRヘッドセットは内蔵スクリーンが透明ではなく、着用者が現実の世界を直接見ることはできないため、AR環境ではあまり使用されません。VRヘッドセットで現実の世界を確認できるようにするには、現実の世界を映像で再構築して内蔵スクリーンに表示する必要があります。
- 車のヘッドアップディスプレイ(HUD) – HUDは、車のフロントガラスをスクリーンとして使用するシステムです。ダッシュボードからフロントガラスに向かってスピード、方向などの画像がデバイスによって映し出されます。運転者は、鏡のようにガラスに当たって跳ね返ったこの画像の反射を見ます。
- その他 — 今後は、スマートコンタクトレンズなどのデバイスや、網膜に画像を直接投影できるシステムといった革新的なものが実用化されていく可能性があります。
- カメラ – ARを機能させるために必要な基本的なセンサーとして、カメラはライブの映像をプロセッサに提供します。映像を受け取ったプロセッサは環境の重要な様相を検知し、その上にARデータがオーバーレイされます。カメラ自体は、デジタル情報を一切処理せず、映像を提供する役割のみを果たします。
- その他のセンサー – ARの多くは動きを実現するように設計されるため、稼働させるにはカメラ以外の種類のセンサーが必要になります。たとえば、カメラが向いている方向を示す加速度計やデジタルコンパスなどの空間センサー、ユーザーの位置情報を追跡するGPSセンサー、シミュレーションに音声データを組み込むマイク、レーザーを使用して正確な距離を測定するLiDaRなどがあります。
- 入力デバイス – 動いている人は、多くの場合、コンピューターにコマンドを自由に入力できません。このため、ARシステムは多様な種類の入力テクノロジーに対応するように考えられてきました。最も多用されているのはモバイルデバイスのタッチスクリーンで、スマートフォンやタブレットが利用できる場面では、ARシステムとの自然なやり取りを実現できます。その他の入力テクノロジーには、ユーザーが音声でシステムをコントロールできる音声認識テクノロジーや、一般に手の動きをコマンドに変換するジェスチャー認識システムなどがあります。
ARを実現するには、数種類のソフトウェアアルゴリズムが必要です。大まかには、次のようなアルゴリズムが挙げられます。
画像レジストレーション – 人の周りの状況を極めて写実的に描写し、その情報を使用して現実の世界のさまざまな座標やその中にあるオブジェクトを判断するソフトウェアです。画像レジストレーションは現実の世界をマッピングし、前面と背面に何があるか、あるオブジェクトがどこで終わって、別のオブジェクトがどこから始まっているか、人の関心がどこに向いているかといった情報を判断します。
3Dレンダリング – 現実の世界のマッピングとカテゴリ分けができたら、次にその上に拡張現実情報をオーバーレイする必要があります。3Dレンダリングソフトウェアは仮想オブジェクトを生成し、ライブ画像内の適切な場所に配置します。Augmented Reality Markup Language (ARML)は、仮想オブジェクトの場所と外観を設定するための現時点で標準となっているプログラミング言語です。
コンテンツ管理 – コンテンツ管理は、仮想オブジェクトや3Dモデルのデータベースを保持するシステムが組み込まれた、バックエンドのテクノロジーです。
インターフェイス – ビデオゲームであれ、技術管理ツールであれ、インターフェイスは映像で表現された拡張現実の世界とユーザーとを仲介します。
開発ツールキット – さまざまなオープンソーステクノロジーや独自テクノロジーによってARプログラマー向けのフレームワークが提供されており、プログラマーはこうしたフレームワークを活用して、選択したプラットフォームでARアプリケーションを構築できます。