======================================================================
NyARToolkit
 version 3.0.0
======================================================================

Copyright (C)2008-2010 Ryo Iizuka

http://nyatla.jp/nyartoolkit/
airmail(at)ebony.plala.or.jp
wm(at)nyatla.jp

----------------------------------------------------------------------
 About NyARToolkit
----------------------------------------------------------------------
 * NyARToolkitは、ARToolKit 2.72.1を基盤としたARアプリケーション向けの
   クラスライブラリです。
 * J2SE5.0以上に対応しています。
 * ARToolKitの基本機能と、NyARToolKitオリジナルの拡張機能、フレームワーク
   で構成しています。
 * ライブラリは3部構成です。環境依存の少ないlibモジュール、環境依存性のある
   utilsモジュール、アプリケーションサンプルを実装したsampleモジュールです。
 * libモジュールは、J2ME規格(ファイルIOのみJ2SE)での実装です。
 * utilsモジュールは、カメラ制御、3Dシステム制御等、外部モジュール毎に
   接続の為のヘルパークラスを提供します。
 * sampleモジュールは、最低限の機能を持つ、ARアプリケーションです。


 ARToolKitについては、下記のURLをご覧ください。
 http://www.hitl.washington.edu/artoolkit/


----------------------------------------------------------------------
NyARToolkitの特徴
----------------------------------------------------------------------
NyARToolkitの特徴を紹介します。

 * 多くの入力画像を使用できます。(BufferedImage,JMF出力,バイナリ入力,他)
 * リファクタリングにより、ARToolkitと比較して再利用性が向上しています。
 * ARToolKitと比較して、2～4倍ほど高速です。
 * 次の項目について、高速な機能が利用できます。(ラべリング、姿勢最適化、
   画像処理、行列計算、方程式計算)
 * NyId規格のIDマーカが使用できます。
 * RealityPlatform(マーカ状態管理システム)が利用できます。


----------------------------------------------------------------------
 NyARToolkit License
----------------------------------------------------------------------


NyARToolkitは、商用ライセンスとGPLv3以降のデュアルライセンスを採用して
います。

GPLv3を承諾された場合には、商用、非商用にかかわらず、無償でご利用にな
れます。GPLv3を承諾できない場合には、商用ライセンスの購入をご検討くだ
さい。


 * GPLv3
   GPLv3については、LICENCE.txtをお読みください。

 * 商用ライセンス(日本国)
   株式会社 エム・ソフトにお問い合わせください。
   http://www.msoft.co.jp/pressrelease/press090928-1.html

 * 商用ライセンス(その他の国)
   商用ライセンスについては、ARToolWorks社に管理を委託しております。
   http://www.artoolworks.com/Home.html



----------------------------------------------------------------------
 インストール
----------------------------------------------------------------------
Eclipse環境に、NyARToolkit開発環境をインストールする方法を説明します。


 1.Eclipseで空のワークスペースを作成します。

 2.lib,sample,utilsディレクトリをワークスペースにインポートします。

 3.インポートしたプロジェクトのエラーを修正します。多くの場合、エラーは
   文字コードの不一致と外部JARファイルの参照ミスです。文字コードの不一致
   は、プロジェクトの文字コードをUTF8に変更することで解決します。
   外部JARファイルの参照ミスについては、外部ライブラリの章を参考にして
   下さい。

----------------------------------------------------------------------
 外部ライブラリ
----------------------------------------------------------------------
NyARToolkitの使用する外部ライブラリは、以下の通りです。
新しいバージョンのものがあれば、そちらを使用してください。


 1. JMF JavaTM Media Framework 2.1.1e
    utils.jmf,sample.joglの実行に必要です。
    website: http://java.sun.com/products/java-media/jmf/index.jsp

 2. QuickTime 7.5
    utils.qtの実行に必要です。
    http://www.apple.com/quicktime/qtjava/

 3. Jogl
    utils.jogl,sample.joglの実行に必要です。
    website: https://jogl.dev.java.net/
    file   : jogl-1.1.1-pre-20080328-xxxx-i586.zip

 4. java3d
    utils.java3d,sample.java3dの実行に必要です。
    website: https://java3d.dev.java.net/binary-builds.html
    file:    java3d-1_5_1-xxxx-i586.exe


実行するプロジェクトによっては、全ての外部ライブラリを揃える必要は
ありません。必要なものだけをインストールしてください。




----------------------------------------------------------------------
 プロジェクトの概要
----------------------------------------------------------------------
Eclipseプロジェクトの概要です。

 * NyARToolkit
   NyARToolkitライブラリの本体です。基本的はJ2ME規格のコードです。
   (一部、J2SE規格のコードが混じっています。)
   2つのソースフォルダがあります。srcには画像処理、数値計算クラス群が
   あります。src.rpfには、RealityPlatformを構成するクラス群があります。
   依存する外部ライブラリはありません。

 * NyARToolkit.sample.java3d
   Java3dを出力先とするサンプルアプリケーションです。1個のサンプル
   プログラムがあります。外部ライブラリは、Java3DとJMFに依存しています。

 * NyARToolkit.sample.jogl
   OpenGLを出力先とするサンプルアプリケーションです。2つのソースフォル
   ダがあります。srcには従来形式のサンプルプログラムが5個、src.rpfには、
   RealityPlatformを使ったサンプルプログラムが5個あります。

 * NyARToolkit.sandbox
   お砂場です。実験プログラムや作りかけのコードなどを埋蔵しています。
   品質は未保証です（不具合等が多く放置されています）。
   testソースフォルダにあるサンプルプログラムは、RealityPlatformの試験
   に役立つかもしれません。

 * NyARToolkit.utils.j2se
   JavaSEに依存したヘルパークラス群と、テストプログラムがあります。
   BufferedImageをそのままNyARToolkitへ入力するためのクラスなどが
   あります。

 * NyARToolkit.utils.java3d
   Java3Dに依存したヘルパークラス群と、テストプログラムがあります。
   NyARToolkitの出力値のJava3dへの入力を支援します。

 * NyARToolkit.utils.jogl
   Joglに依存したヘルパークラス群と、テストプログラムがあります。
   NyARToolkitの出力値のJoglへの入力を支援します。

 * NyARToolkit.utils.qt
   QTJavaに依存したヘルパークラス群と、テストプログラムがあります。
   QuickTimeからのキャプチャを支援します。

----------------------------------------------------------------------
 NyARToolkitのパフォーマンス
----------------------------------------------------------------------

NyARToolkitは、ARToolKitの処理系のいくつかを差し替え、高速化を図ってい
ます。1マーカ検出時の性能では、アルゴリズムレベルで4倍、単純な速度比で
約2倍程度高速です。

3.0.0から追加されたRPF(RealityPlatform)を使用した場合、さらに1.5倍程度
の高速化が可能です。RealityPlatformについては別資料の公開をお待ち下さい。

----------------------------------------------------------------------
 FAQ
----------------------------------------------------------------------
 *Q1.Windows7でJMFの設定が保存できません。
   >JMFRegistryを、管理者権限で実行することで、保存ができるようになります。

 *Q2.2.5.3以前のNyARToolkitとそのまま差し替えできません。
   >いくつかの関数で、引数が変更になりました。サンプルファイルを参考に、
    関数コールを修正してください。

 *Q3.RealityPlatform(RPF)とは何ですか。使い方が判りません。
  >RPFは、マーカ系ARアプリケーションの為の、フレームワークです。これを
   使うと、未知のマーカを認識したり、マーカの環境プロパティに簡単に
   アクセスできるようになります。また、軽度のマーカのはみ出しや、部分破壊
   にも対応できます。
   概念や説明書は今から書きますので、しばらくお待ちください。
----------------------------------------------------------------------
 既知の不具合
----------------------------------------------------------------------
 1.RPFの姿勢フィードバックが未実装。
 2.RPFの輪郭線抽出系のノイズ処理が最小二乗法の為、遅延が大きい。
 3.RPFの輪郭線抽出系のアルゴリズム不備で、輪郭線のドリフト現象が発生する。
 4.RPFの二次元系の移動検出性能が低い。
 5.RPFのエッジ抽出が、ブラーに弱い。
 6.RPFの初期検出性能が、旧NyARToolkit系と比較して低い。
 
----------------------------------------------------------------------
 お問い合わせ
----------------------------------------------------------------------
NyARToolkitに関するお問い合わせは、wm(at)nyatla.jp までご連絡ください。
状況により、お返事が遅れることもあります。ご了承ください。

----------------------------------------------------------------------
 Special thanks
----------------------------------------------------------------------
加藤博一先生 (Hirokazu Kato, Ph. D.)
 http://www.hitl.washington.edu/artoolkit/

Prof. Mark Billinghurst
 http://www.hitlabnz.org/

arc@dmzさん
 http://digitalmuseum.jp/
