(57)【要約】Ｗｅｂブラウザ上で３Ｄ画像をスムースに表示できるＷｅｂ３Ｄ画像表示システムを提供する。サーバーから３Ｄ画像ファイルをダウンロードし、Ｗｅｂブラウザで３Ｄ画像を表示するコンピュータシステムであって、ＶＲＭＬファイル等からの３Ｄシーン情報を基に編集・生成した３Ｄ圧縮ファイルと３Ｄシーンを表示するための３Ｄアプレットとを保持するサーバーと、３Ｄシーンを表示するＷｅｂブラウザとを備え、Ｗｅｂブラウザにより、サーバーに３Ｄアプレットを要求してダウンロードし、３Ｄアプレットを実行して３Ｄ圧縮ファイルを要求し、ダウンロードを完了して全ての情報を受け取った後、Ｗｅｂブラウザ単独で３Ｄアプレットを実行してリアルタイム３Ｄレンダリング及びモーションアルゴリズムをＷｅｂブラウザ単独で実行し、継続してインタラクティブな３Ｄシーンの表示を行うものである。
2003034345.tif 000002
【特許請求の範囲】
【請求項１】
サーバーから３Ｄ画像ファイルをダウンロードし、Ｗｅｂブラウザ上で３Ｄ画像を表示するコンピュータシステムであって、
ＶＲＭＬ等の標準的なＷｅｂ用３Ｄグラフィックス記述言語で記述されたＷｅｂ３Ｄファイルから取出された３Ｄシーン情報を基に編集・生成し、編集・生成して得られた３Ｄシーン情報の３Ｄ圧縮ファイルとリアルタイム３Ｄレンダリング及びモーションアルゴリズムを実行して該３Ｄシーンを表示するための３Ｄアプレットとを保持するサーバーと、
前記３Ｄシーンを表示するための前記３Ｄアプレット及び前記３Ｄ圧縮ファイルをダウンロードして該３Ｄシーンを表示するＷｅｂブラウザとを備え、
前記Ｗｅｂブラウザは、前記サーバーとのコミュニケーションにより該サーバーに前記３Ｄアプレットを要求してダウンロードする３Ｄアプレット要求手段と、
前記３Ｄアプレットを実行して前記サーバーに前記３Ｄ圧縮ファイルを要求しダウンロードする３Ｄ圧縮ファイル要求手段と、
シーン・バックグラウンド・イメージ、シェイプ・テクスチャ及びアプレット・ツールバー等のオプション情報を前記サーバーに要求してダウンロードするオプション情報要求手段と、
ダウンロードを完了して全ての情報を受け取った後、前記サーバーを介さずにＷｅｂブラウザ単独で前記３Ｄアプレットを実行する３Ｄアプレット実行手段と、
前記３Ｄアプレット実行手段によりリアルタイム３Ｄレンダリング及びモーションアルゴリズムをＷｅｂブラウザ単独で実行し継続して３Ｄシーンの表示を行う３Ｄシーン表示手段と、
前記３Ｄシーンを表示すると共に、利用者とのインタラクティビィティを可能にするインタラクティブ表示処理手段とを有することを特徴とするＷｅｂ３Ｄ画像表示システム。
【請求項２】
記憶装置に保存された３Ｄ画像ファイルをロードし、Ｗｅｂブラウザ上で３Ｄ画像を表示するコンピュータシステムであって、
各種の３Ｄモデリングソフトウェアプログラムを使用して３Ｄオブジェクトを生成し、生成されたオブジェクトまたは３Ｄシーン全体をＶＲＭＬ等の標準的なＷｅｂ用３Ｄグラフィックス記述言語で記述されたファイルフォーマットに変換するＷｅｂ３Ｄファイル作成手段と、
作成された前記Ｗｅｂ３Ｄファイルを基に３Ｄシーンのカスタマイズを行い、前記Ｗｅｂブラウザ上で３Ｄシーンを表示するための情報を付与する３Ｄシーンカスタマイズ手段と、
前記３Ｄシーンカスタマイズ手段で得られた３Ｄシーン情報を圧縮して３Ｄ圧縮ファイルを生成する３Ｄ圧縮ファイル生成手段と、
前記３Ｄ圧縮ファイルの３Ｄシーン情報を基に前記Ｗｅｂブラウザ上でリアルタイム３Ｄレンダリング及びモーションアルゴリズムを実行して３Ｄシーンを表示するための３Ｄアプレットを生成する３Ｄアプレット生成手段と、
前記３Ｄアプレットを呼び出すアプレット・タグが含まれるハイパーテキストのＷｅｂページを作成するＷｅｂページ作成手段と、
３Ｄシーンの表示に必要な前記３Ｄ圧縮ファイル、前記３Ｄアプレット、前記Ｗｅｂページ、テクスチャ・ファイル、及びオプションのツールバー・ファイルを記憶装置に保存する３Ｄ情報保存手段と、
Ｗｅｂブラウザによって、前記記憶装置に保存された前記３Ｄアプレットを要求し、該記憶装置に保存された３Ｄ情報ファイルをロードして該３Ｄアプレットを実行する３Ｄアプレット実行手段と、
前記３Ｄアプレットの実行により利用者とのインタラクティブな３Ｄシーンの表示を行うインタラクティブ表示処理手段とを備えることを特徴とするＷｅｂ３Ｄ画像表示システム。
【請求項３】
前記インタラクティブ表示処理手段は、ロード済みのツールバー及びシーンオブジェクトの移動・変更の操作を行うためのキーボード・マウス等によるユーザーイベント入力を前記３Ｄアプレットに受け渡して実行することにより、Ｗｅｂブラウザ単独で３Ｄシーンの編集・加工操作を可能にすることを特徴とする請求の範囲第１項または第２項に記載のＷｅｂ３Ｄ画像表示システム。
【請求項４】
前記Ｗｅｂブラウザが前記サーバーから前記３Ｄアプレットをダウンロードして３Ｄシーンを表示する際に、前記サーバー自身のドメインと前記３Ｄアプレットに埋込まれたドメイン情報とを照合するライセンス情報処理手段を備えたことを特徴とする請求の範囲第１項に記載のＷｅｂ３Ｄ画像表示システム。
【請求項５】
前記２つのドメインを照合し、ドメインが異なる場合は３Ｄシーンの描画領域内にライセンスマークを表示して警告するようにしたことを特徴とする請求の範囲第４項に記載のＷｅｂ３Ｄ画像表示システム。
【請求項６】
前記３Ｄアプレットは、複数のアプレット・クラスで構成され、少なくとも形状、座標変換、ライト、カメラを含むシーン要素の各クラスと、ワイヤフレーム、フラット・シェーディング、グーロー・シェーディングを含むシェーダー・クラスと、３Ｄ画像を表示するための各種コア・クラスとから成る各クラス内から前記３Ｄシーンの表示に必要な当該クラスが選択され一つの圧縮ファイルとして保存されることを特徴とする請求の範囲第１項または第２項に記載のＷｅｂ３Ｄ画像表示システム。
【請求項７】
前記３Ｄアプレットは、ＷｅｂページのＪａｖａ（Ｒ）スクリプト・コードによって利用者とのインタラクティブ操作を可能にする独自のＪａｖａ（Ｒ）スクリプト・インターフェイスを有することを特徴とする請求の範囲第１項または第２項に記載のＷｅｂ３Ｄ画像表示システム。
【請求項８】
前記Ｊａｖａ（Ｒ）スクリプト・インターフェイスは、利用者とのインタラクティブ操作が可能な３Ｄ画像を表示するために、少なくともオブジェクト、形状、座標、カメラ、アニメーション、画像表示、及びユーザーインターフェイスに関する情報を含むことを特徴とする請求の範囲第７項に記載のＷｅｂ３Ｄ画像表示システム。
【請求項９】
前記３Ｄ圧縮ファイルは、前記３Ｄアプレットから呼び出される少なくとも形状、座標変換、ライト、カメラの情報を含む３Ｄシーン情報から成り、バイナリデータとして一つのファイルに保存されることを特徴とする請求の範囲第１項または第２項に記載のＷｅｂ３Ｄ画像表示システム。
【発明の詳細な説明】
技術分野
本発明は、Ｗｅｂブラウザによる双方向型のリアルタイム３Ｄ画像の表示システムに関し、特に、Ｗｅｂブラウザが特別なビューアをプラグインする必要が無く、また、サーバーからＷｅｂブラウザへダウンロードされる３Ｄ画像ファイルを小さくすることで、ブローバンドに頼る必要が無く、通常のインターネット回線でも伝送が可能なインタラクティブな操作を可能とするＷｅｂ３Ｄ画像表示システムに関するものである。
背景技術
従来のＷｅｂを介した３Ｄ（三次元）画像表示システムとしては、ＶＲＭＬブラウザが知られている。ＶＲＭＬ（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）は、Ｗｅｂ用に作られた３次元グラフィックス記述言語で、通常のテキストファイルファイルである。ＶＲＭＬブラウザは、このＶＲＭＬファイルを直接読込み表示するように構成したＷｅｂブラウザで、Ｌｉｖｅ３Ｄ（商品名）などといった特別な３Ｄビューアをプラグインすることで３Ｄ画像表示をするようにしたものである。
しかし、ＶＲＭＬブラウザは、特別な３Ｄビューアをプラグインする必要があり、ユーザー自身の操作によって提供サイトからプラグインをダウンロードしなければならないという利便性の問題だけでなく、ＶＲＭＬブラウザにおいてユーザーとのインタラクティビティを実現する３Ｄシーンのファイルを作成する場合も、非常に多くの煩雑な手作業を必要とし、作業効率が著しく悪いという問題があった。
この煩雑な作業を改善するものとして、国際公開第９８／３３１５０号（ＷＯ９８／３３１５０）が開示されている。ＷＯ９８／３３１５０は、インタラクティブな３Ｄワールドを実現するために、ＶＲＭＬとＪａｖａ（Ｒ）言語とを結び付けるためのエキスパートツールである。
しかし、ＷＯ９８／３３１５０は、インタラクティブな３Ｄワールドを実現するための開発ツールを提供するものではあるが、ＶＲＭＬブラウザの使用を前提としたものであり、ＶＲＭＬブラウザは３Ｄシーン情報をダウンロードする際に、サーバーから３Ｄ画像ファイル等をそのままダウンロードしていることには変わらず、ダウンロードに膨大な時間を要し、ブロードバンドを利用しても完全にユーザーの満足が得られる伝送スピードは難しく、このような背景がインターネット画像の３Ｄ化を阻害していたという問題があった。
そこで、本発明は、Ｗｅｂブラウザには特別な３Ｄビューアをインストールする必要が無く、様々な装置に装着されたＷｅｂブラウザに対応し、サーバーから３Ｄ画像ファイルを高速にダウンロードして、Ｗｅｂブラウザ上でインタラクティブな３Ｄ画像表示を可能にするＷｅｂ３Ｄ画像表示システムを提供することを目的としている。
発明の開示
上記目的を達成するため、請求の範囲第１項に記載の発明は、サーバーから３Ｄ画像ファイルをダウンロードし、Ｗｅｂブラウザ上で３Ｄ画像を表示するコンピュータシステムであって、ＶＲＭＬ等の標準的なＷｅｂ用３Ｄグラフィックス記述言語で記述されたＷｅｂ３Ｄファイルから取出された３Ｄシーン情報を基に編集・生成し、編集・生成して得られた３Ｄシーン情報の３Ｄ圧縮ファイルとリアルタイム３Ｄレンダリング及びモーションアルゴリズムを実行して該３Ｄシーンを表示するための３Ｄアプレットとを保持するサーバーと、前記３Ｄシーンを表示するための前記３Ｄアプレット及び前記３Ｄ圧縮ファイルをダウンロードして該３Ｄシーンを表示するＷｅｂブラウザとを備え、前記Ｗｅｂブラウザは、前記サーバーとのコミュニケーションにより該サーバーに前記３Ｄアプレットを要求してダウンロードする３Ｄアプレット要求手段と、前記３Ｄアプレットを実行して前記サーバーに前記３Ｄ圧縮ファイルを要求しダウンロードする３Ｄ圧縮ファイル要求手段と、シーン・バックグラウンド・イメージ、シェイプ・テクスチャ及びアプレット・ツールバー等のオプション情報を前記サーバーに要求してダウンロードするオプション情報要求手段と、ダウンロードを完了して全ての情報を受け取った後、前記サーバーを介さずにＷｅｂブラウザ単独で前記３Ｄアプレットを実行する３Ｄアプレット実行手段と、前記３Ｄアプレット実行手段によりリアルタイム３Ｄレンダリング及びモーションアルゴリズムをＷｅｂブラウザ単独で実行し継続して３Ｄシーンの表示を行う３Ｄシーン表示手段と、前記３Ｄシーンを表示すると共に、利用者とのインタラクティビィティを可能にするインタラクティブ表示処理手段とを有することを特徴としている。
また、請求の範囲第２項に記載の発明は、記憶装置に保存された３Ｄ画像ファイルをロードし、Ｗｅｂブラウザ上で３Ｄ画像を表示するコンピュータシステムであって、各種の３Ｄモデリングソフトウェアプログラムを使用して３Ｄオブジェクトを生成し、生成されたオブジェクトまたは３Ｄシーン全体をＶＲＭＬ等の標準的なＷｅｂ用３Ｄグラフィックス記述言語で記述されたファイルフォーマットに変換するＷｅｂ３Ｄファイル作成手段と、作成された前記Ｗｅｂ３Ｄファイルを基に３Ｄシーンのカスタマイズを行い、前記Ｗｅｂブラウザ上で３Ｄシーンを表示するための情報を付与する３Ｄシーンカスタマイズ手段と、前記３Ｄシーンカスタマイズ手段で得られた３Ｄシーン情報を圧縮して３Ｄ圧縮ファイルを生成する３Ｄ圧縮ファイル生成手段と、前記３Ｄ圧縮ファイルの３Ｄシーン情報を基に前記Ｗｅｂブラウザ上でリアルタイム３Ｄレンダリング及びモーションアルゴリズムを実行して３Ｄシーンを表示するための３Ｄアプレットを生成する３Ｄアプレット生成手段と、前記３Ｄアプレットを呼び出すアプレット・タグが含まれるハイパーテキストのＷｅｂページを作成するＷｅｂページ作成手段と、３Ｄシーンの表示に必要な前記３Ｄ圧縮ファイル、前記３Ｄアプレット、前記Ｗｅｂページ、テクスチャ・ファイル、及びオプションのツールバー・ファイルを記憶装置に保存する３Ｄ情報保存手段と、Ｗｅｂブラウザによって、前記記憶装置に保存された前記３Ｄアプレットを要求し、該記憶装置に保存された３Ｄ情報ファイルをロードして該３Ｄアプレットを実行する３Ｄアプレット実行手段と、前記３Ｄアプレットの実行により利用者とのインタラクティブな３Ｄシーンの表示を行うインタラクティブ表示処理手段とを備えることを特徴としている。
また、請求の範囲第３項に記載の発明は、前記インタラクティブ表示処理手段が、ロード済みのツールバー及びシーンオブジェクトの移動・変更の操作を行うためのキーボード・マウス等によるユーザーイベント入力を前記３Ｄアプレットに受け渡して実行することにより、Ｗｅｂブラウザ単独で３Ｄシーンの編集・加工操作を可能にすることを特徴としている。
また、請求の範囲第４項に記載の発明は、前記Ｗｅｂブラウザが前記サーバーから前記３Ｄアプレットをダウンロードして３Ｄシーンを表示する際に、前記サーバー自身のドメインと前記３Ｄアプレットに埋込まれたドメイン情報とを照合するライセンス情報処理手段を備えたことを特徴としている。
また、請求の範囲第５項に記載の発明は、前記２つのドメインを照合し、ドメインが異なる場合は３Ｄシーンの描画領域内にライセンスマークを表示して警告するようにしたことを特徴としている。
また、請求の範囲第６項に記載の発明は、前記３Ｄアプレットが、複数のアプレット・クラスで構成され、少なくとも形状、座標変換、ライト、カメラを含むシーン要素の各クラスと、ワイヤフレーム、フラット・シェーディング、グーロー・シェーディングを含むシェーダー・クラスと、３Ｄ画像を表示するための各種コア・クラスとから成る各クラス内から前記３Ｄシーンの表示に必要な当該クラスが選択され一つの圧縮ファイルとして保存されることを特徴としている。
また、請求の範囲第７項に記載の発明は、前記３Ｄアプレットが、ＷｅｂページのＪａｖａ（Ｒ）スクリプト・コードによって利用者とのインタラクティブ操作を可能にする独自のＪａｖａ（Ｒ）スクリプト・インターフェイスを有することを特徴としている。
また、請求の範囲第８項に記載の発明は、前記Ｊａｖａ（Ｒ）スクリプト・インターフェイスが、利用者とのインタラクティブ操作が可能な３Ｄ画像を表示するために、少なくともオブジェクト、形状、座標、カメラ、アニメーション、画像表示、及びユーザーインターフェイスに関する情報を含むことを特徴としている。
また、請求の範囲第９項に記載の発明は、前記３Ｄ圧縮ファイルが、前記３Ｄアプレットから呼び出される少なくとも形状、座標変換、ライト、カメラの情報を含む３Ｄシーン情報から成り、バイナリデータとして一つのファイルに保存されることを特徴としている。
発明を実施するための最良の形態
以下、本発明の実施の形態について図を参照して説明する。
第１図は、本発明の、第１の実施の形態に係るＷｅｂ３Ｄ画像表示システムの伝送手順を示す図である。
第１図において、６は特別な３Ｄサーバーでは無い標準的な通常のＷｅｂサーバーであり、２は特別な３Ｄビューアをプラグインしなくても３Ｄ表示ができる通常のＷｅｂブラウザである。
なお、Ｗｅｂサーバー６及びＷｅｂブラウザ２は市販のＰＣ（パーソナルコンピュータ）やワークステーションに実装されて動作するもので、ＰＣやワークステーションは、ＣＰＵ（中央制御装置）、メモリやハードディスク等の記憶装置、画像やテキスト等を表示する表示装置、キーボードやマウス等の入力装置、及び通信回線との入出力装置等を備えた一般的に知られているコンピュータ装置であり、これらの構成図面及び説明は省略する。
Ｗｅｂサーバー６は３Ｄ圧縮ファイルである３ＤＡファイルと、コントロール用の３ＤＡアプレットを保持している。ここで、３ＤＡの「Ａ」はＡｎｙｗｈｅｒｅの頭文字を取ったもので、「特別」のに対して「通常の何処にでもある」という意味を持たせたもので、本発明の３Ｄ圧縮ファイルと３Ｄアプレットには３Ｄの後にＡを付して「３ＤＡ」と記述するものとする。
また、３ＤＡ（３Ｄ圧縮）ファイルは、３Ｄグラフィック記述言語の記述フォーマットであるＶＲＭＬファイル（Ｗｅｂ３Ｄファイル）を入力ツールとして使用し、ＶＲＭＬファイルの３Ｄワールド、３Ｄシェイプ（形状定義）に関する記述を用いて、３ＤＡアプレットがインタラクティブ（双方向性）３Ｄシーンを表示するために必要な情報を有する独自のファイルとして作成するものである。
ＶＲＭＬファイルは圧縮ファイルでは無く、通常のテキストファイルであり、３Ｄシーンの表示には場合によっては必要が無い情報を含み、逆に、インタラクティブな３Ｄシーンを実現するためには追加したい情報が不足しているので、単に３Ｄシーン情報をインポートするためにのみ使用して３ＤＡファイルを作成している。この本発明の３ＤＡファイルには３ＤＡアプレットによって３Ｄシーンを表示するために必要な情報だけが収納されていて、３ＤＡファイル及び３ＤＡアプレット等のファイルは、通常のＺＩＰ圧縮により圧縮されてＷｅｂサーバー６に保持される。
一方、後述するように、３ＤＡアプレットは、リアルタイム３Ｄレンダリングやモーションアルゴリズムを実行する小さなＪａｖａ（Ｒ）アプリケーションの集まりであって、３ＤＡアプレット・タグを含むＷｅｂページをＷｅｂブラウザ２から見た時、Ｗｅｂブラウザ２の条件によって、必要なアプレットが自動的にダウンロードされる。これはＪａｖａ（Ｒ）が使用可能な状態になっているＷｅｂブラウザ２であれば自動的に行われるもので、こうして一度ダウンロードされれば３ＤＡアプレットはＷｅｂブラウザ２で実行されて、Ｗｅｂサーバー６に３ＤＡファイルの全シーンの情報を要求し、３Ｄシーンを描写（レンダリング）し動かすためのグラフィック・アルゴリズムが使用される。これは、一度、Ｗｅｂブラウザ２の３ＤＡアプレットが全てのシーンのデータを受け取ってしまえば、もうＷｅｂサーバー６とのやり取りは必要ないということを意味している。
このように、グラフィックの全ての動きや、ユーザーとのインタラクティブ・レスポンスは、Ｗｅｂブラウザ２側でのみ行われるために、３Ｄ画像データの伝送にブロードバンドを使用する必要は無くなってしまう。これを可能にしたのは、３ＤＡファイルや３ＤＡアプレットのサイズが最小限に抑えられていて、３ＤＡアプレット自体はＪａｖａ（Ｒ）クラスファイルで圧縮され、Ｗｅｂブラウザ２によって自動的に開かれるようになっており、そのサイズは略１００ｋＢ（バイト）以下に抑えられ、３ＤＡファイルのサイズについても可能な限りシーン情報を圧縮し、最小限の情報伝送レートで済むようにしていることによるものである。ちなみに、平均的なアニメーションファイルでは優に１ＭＢを超えてしまうようなデータ量でも、３ＤＡファイルに圧縮されたデータ量は１００ｋＢ程度にしかならず、そのサイズは約１／１０で済む。
次に、第１図に示すシステムのリアルタイム３Ｄ画像表示処理について説明する。
第１図は、Ｗｅｂブラウザ２（クライアント）とＷｅｂサーバー６の間のＨＴＴＰコミュニケーションを通じて行われる伝送手順（インタラクション）を示した図であり、３ＤＡアプレットの実行前、実行後におけるブラウザ・サーバー間のコミュニケーションを表したものである。
先ず、３ＤＡ処理プログラムに従って、初期化段階を経て（Ｓ１００）、３ＤＡ処理プグラムを実行する（Ｓ１０１）ために、Ｗｅｂサーバー６とＷｅｂブラウザ２間のＨＴＴＰコミュニケーションが開始される（Ｓ１０２）。
Ｗｅｂブラウザ２から、３ＤＡアプレットを含むＷｅｂサーバー６のＷｅｂページがロードされて３ＤＡアプレットの要求を行う（Ｓ１０３）。
３ＤＡアプレットがＷｅｂブラウザ２側にダウンロードされる（Ｓ１０４）。
続いて、Ｗｅｂブラウザ２側で３ＤＡアプレットが実行され、３ＤＡファイルの要求が行われる（Ｓ１０５）。
Ｗｅｂサーバー６よりＷｅｂブラウザ２へ、３ＤＡファイルがダウンロードされる（Ｓ１０６）。続いて、オプションとして、シーン・バックグラウンド・イメージ、シェイプ・テクスチャ、アプレット・ツールバー等の編集ツールを要求する（Ｓ１０７）。ここで、シーン・バックグラウンド・イメージは、シーンの背景色であり、例えば、この明暗変更や、シェイプ・テクスチャによる３Ｄオブジェクトの質感の貼り替え、アプレット・ツールバーに収容されたツール・ボタの移動、回転、拡大・縮小による３Ｄオブジェクトのシーンのレンダリング（描写）、レンダリング・タイプの選択、と言ったユーザーが操作できる編集ツールバー・メニューが用意されている。
オプションのバック・グラウンド・イメージ、シェイプ・テクスチャ、アプレット・ツールバーがＷｅｂブラウザ２にダウンロードされる（Ｓ１０８）。
更に、オプションとして、この他に置換え用の３ＤＡファイルや、他の３ＤＡファイルからのシェイプの要求があり、それぞれに対するダウンロード・レスポンスは、Ｗｅｂブラウザ２のコンピュータで実行されるＨＴＭＬファイルに記述されたＪａｖａ（Ｒ）スクリプト・コードに則して行われる（Ｓ１０９）。
次に、３ＤＡアプレット、３ＤＡファイル、オプション等のダウンロードが完了したら、Ｗｅｂブラウザ２は後述する３ＤＡアプレット内から必要なアプレット・クラスを引き出し実行することによって、リアルタイム３Ｄレンダリング及びモーションアルゴリズムが実行される（Ｓ１１０）。
これによって３ＤＡアプレットによる３Ｄシーンの表示が行われ、ユーザーとのインタラクティビティを可能にする（Ｓ１１１）。ユーザーは、バック・グラウンド・イメージ、シェイブ・テクスチャ等を、アプレット・ツールバーなどのインタラクティブ表示処理手段により、ラスター表示の３Ｄ画像を作成し、自由に３Ｄシーンのインタラクティブな編集・加工操作を行うことができる。
このように、３Ｄシーンの表示に必要な３ＤＡファイル等のダウンロードが完了すると、全ての情報がＷｅｂブラウザ２側に移り、３ＤＡアプレットはＷｅｂサーバー６を必要とせずにＷｅｂブラウザ２上で実行を継続できる（Ｓ１１２）。
第２図は、本発明の、第２の実施の形態に係るＷｅｂ３Ｄ画像表示システムの処理手順を示す図である。
第２図に示す第２の実施の形態は、第１の実施の形態がサーバー・ブラウザ間のコミュニケーションを基に構成されているものであるのに対し、３ＤＡファイルや３ＤＡアプレットの生成手段である開発ツール（３ＤＡデザイナーと呼称する）をコンピュータ内に実装し、同一コンピュータ内に実装されている記憶装置から３ＤＡファイルや３ＤＡアプレットを呼び出しＷｅｂブラウザで実行するものである。
なお、Ｗｅｂブラウザ２や３ＤＡデザイナー（図示せず）は市販のＰＣ（パーソナルコンピュータ）やワークステーションに実装されて動作するもので、ＰＣやワークステーションを構成するＣＰＵ（中央制御装置）、メモリやハードディスク等の記憶装置、画像やテキスト等を表示する表示装置、キーボードやマウス等の入力装置、及びその他の入出力装置等に関する説明及びその構成図面は省略する。
また、第２の実施の形態では市販されている既存のモデリングソフトウェアプログラム、例えば、「３ｄｓ（商品名）」などを使用して３Ｄオブジェクトを作成し、ＶＲＭＬファイルに変換した後３ＤＡファイルを生成して、３Ｄ表示を行う方法を示しているが、本発明は、「３ｄｓ」に限らず他の３Ｄソフトウェアプログラムによる作成したオブジェクトも吸収可能である。
次に、第２図を参照して３ＤＡデザイナーの動作とＷｅｂブラウザ２での表示処理について説明する。
先ず、市販されている既存のモデリングソフトウェアプログラムを使用して、３Ｄオブジェクトが作成される（Ｓ２００）。
例えば、「３ｄｓ」を用い、生成した３Ｄオブジェクトに対し、モーション、カメラ、ライティング、マテリアル等のモディファイ処理を行う。
ここでは、既存のモデリングソフトウェアで生成した３Ｄオブジェクトから、オブジェクトまたはシーン全体がＶＲＭＬフォーマットにエクスポートされる（Ｓ２０１）。
このＶＲＭＬファイルが３ＤＡデザイナーへインポートされて（Ｓ２０２）、３Ｄシーンのカスタマイズが行われ、Ｗｅｂページ上での３Ｄシーンの表示方法に関する情報（３ＤＡアプレット対応情報）が付与される（Ｓ２０４）。
ＶＲＭＬファイルからは、ポリゴンの頂点列、面情報、色情報、及び各面に貼り付ける画像情報等のオブジェクトの情報と、カメラ、ライト等のシーン情報と、各オブジェクトのアニメーション情報などが３ＤＡデザイナーに取り込まれる。
３Ｄシーンのカスタマイズとしては、シェーディング（陰影付け）等のオブジェクトの情報と、カメラ、ライトの位置等のシーン情報と、各オブジェクトのアニメーションの編集、名前付け等のアニメーション情報と、背景画像、画面サイズ、その他シーン属性等の表示情報等の設定が可能である。
３Ｄシーンの表示に必要な各３Ｄシーン情報はバイナリデータ形式にされ、これら全ての３Ｄシーン情報は圧縮処理（ＺＩＰ等）されて、一つの圧縮３ＤＡフアィルとして記憶装置（図示せず）に保存される（Ｓ２０５）。
３ＤＡデザイナーは、Ｗｅｂブラウザ２上のインタラクティブな３Ｄシーン表示のためのツールバー・ファイルを生成し、３ＤＡアプレットを呼び出すアプレット・タグが含まれている新規Ｗｅｂページ（ＨＴＭＬ文書）を自動的に生成する（Ｓ２０６）。
更に、そのＨＴＭＬ文書に３ＤＡアプレットにアクセスするための後述するＪａｖａ（Ｒ）スクリプト・コードを追加して動的な３ＤＡシーンの変更を可能にし、オペレション及びインタラクティビティの向上を図ることも可能である（Ｓ２０８）。
Ｊａｖａ（Ｒ）アプレットだけでも、インタラクティブな操作は可能であるが、Ｊａｖａ（Ｒ）スクリプト・コードにより、ほぼ全てのオブジェクト、シーンアニメーション、表示情報の属性の変更・再定義が可能となっており、ＨＴＭＬコントロールとの連携情報を記述することで、より複雑なインタラクティブ操作を実現するＷｅｂページを作成することが可能である。
このようにして作成された３Ｄシーンの表示に必要な全てのファイルを、記憶装置に保存する（Ｓ２０９）。それらのファイルに含まれるものは、３ＤＡアプレットを呼び出すアプレット・タグを持つＷｅｂページ（ＨＴＭＬ文書）、オプションのツールバー・ファイル、テクスチャ・イメージ、３ＤＡシーンファイル、及び３ＤＡアプレット自身である。
３ＤＡアプレットは、３Ｄシーンのカスタマイズの際に設定された各種の３Ｄシーン情報を呼び出しアプレット処理するために必要な各種のアプレット・クラス・ファイルをひとまとめにしたもので、一つの３ＤＡアプレットファイルとして通常のＺＩＰ圧縮により圧縮して記憶装置に保存される。
このようにして記憶装置に保存された３ＤＡアプレット・タグを含むＨＴＭＬ文書は、Ｗｅｂブラウザ２によって呼び出され、Ｗｅｂブラウザ２上に３ＤＡアプレットがロードされ実行される（Ｓ２１０）。
３ＤＡアプレットが実行されると、インタラクティブ３Ｄシーンが表示され、３Ｄシーンの表示処理が継続される（Ｓ２１１）。
次に、本発明の３ＤＡアプレットの具体的な構造について、第４図を参照して説明する。
第４図に示すように、３ＤＡアプレットは、３Ｄオブジェクトの描写（レンダリング）と動きで構成されるシーン情報を表しており、３Ｄシーンをコントロールする各コア・クラスを有している。全てのシーン情報は常に、ＩｄＯｂｊｅｃｔ３０クラスに継承する全てのシーン要素を含んだＣＳｃｅｎｅ３６オブジェクトの中に保存されており、３Ｄシーンの描写はＣＳｃｅｎｅ３６の描写方法によって遂行される。
また、キーボード、マウス等による全てのユーザーイベントは、ＣＣｏｎｔｒｏｌｌｅｒ５９クラスへと導かれる。例えば、３ＤＡアプレットが既に実行されている時に、ユーザーイベントの使用により情報が３ＤＡアプレットへ受け渡され、その時ＣＣｏｎｔｒｏｌｌｅｒ５９クラスは、現在選択されているＩｄＯｂｊｅｃｔ３０の属性を変化させる。例えば、マウスの動きが回転にセットされている場合にマウスを動かすと、現在選択されているＣＴｒａｎｓｆｏｒｍ３２クラスのＯｒｉｅｎｔａｔｉｏｎ属性を変化させるという処理となる。
また、ＣＳｈａｐｅ３１クラスは３Ｄシーン上の実際の３Ｄオブジェクトを表し、その属性にはスクリーン上に３Ｄオブジェクトを描くために必要な全ての情報が含まれている。そして全てのＣＳｈａｐｅ３１クラスは、隣のＣＴｒａｎｓｆｏｒｍ３２へのリファレンスを含んでいる。
ＣＴｒａｎｓｆｏｒｍ３２はＣＳｈａｐｅ３１クラスの位置情報を持ち、ＣＳｈａｐｅ３１クラスを３Ｄシーン上で位置付けるのに使用される。このような１シーンの中の各オブジェクト情報とその位置情報を基にレンダリング（描写）が行われるが、シェイプ（形状）を描く時にはそのクラスをレンダリングするためにＩ３ｄＯｂｊｅｃｔ３０クラスが使用される。１３ｄＯｂｊｅｃｔ３０インターフェイスを実現する全てのクラス（例えば、ＣＴｅｘｔｕｒｅＭａｐ４５クラス＝質感の実現等）は、スクリーン上で描写することができる。
また、Ｃｌｉｐｐｅｒ５７クラスは、あるシェイプをスクリーン上にラスター表示するために、シェーダー・クラスＩ３ｄＯｂｊｅｃｔ４０クラスと共に使用される。
ツールバー中のツール・ボタンに関する情報は、アプレットモジュールの中に保存されている。
ちなみにツールバー情報は、例えば、オブジェクトを選択、オブジェクトを移動、オブジェクトを回転、オブジェクトを拡大・縮小、シーンをレンダリングする、レンダリング・タイプを選択する、…、等と言った通常メニューと考えれば良い。
次に、第４図のアプレット・クラスの構造に関して（ａ）〜（ｃ）の各セクションに分けて説明する。
第４図（ａ）のセクションのＩｄＯｂｊｅｃｔ３０はシーン要素を表現している。
全てのシーン要素は固有のｉｄを有しており、これはＩｄＯｂｊｅｃｔ３０クラスによって表現される共通の特徴であり、従って全てのシーン要素はこのクラスに継承される（「継承」はオブジェクト指向の特色であり、Ｊａｖａ（Ｒ）はオブジェクト指向のプログラム言語である）。３Ｄシーンは要素の階層により表現されており、固有のｉｄは、３ＤＡファイルからのシーン情報のロード中に使用されてこの階層を形成している。階層はＣＴｒａｎｓｆｏｒｍ３２オブジェクト（この場合オブジェクトはクラスと同義語）により形成されており、各ＣＴｒａｎｓｆｏｒｍ３２オブジェクトは、ライト（ＣＬｉｇｈｔ３４オブジェクト）、シェイプ（ＣＳｈａｐｅ３１オブジェクト）、別のＣＴｒａｎｓｆｏｒｍ３２オブジェクト等の、幾つかの異なるタイプのシーン要素を含んでいてもよい。
全てのシーン要素を含んでいるルート・トランスフォームが常にあり、この特別のトランスフォームはシーン・トランスフォームと呼ばれ、主要なアプレット・クラス（Ａｐｐｌｅｔ３ｄａ５６）内に含まれる一つのＣＳｃｅｎｅ３６オブジェクトによって表現されている。階層構造の情報はシーンの３Ｄ表示には重要である。各ＣＴｒａｎｓｆｏｒｍ３２オブジェクトは３Ｄワールドにおける位置を表現しており、格納されている全ての要素はこの位置を基準に移動（座標変換）し表示される。
次に、第４図（ａ）の各シーン要素クラスについて説明する。
Ｉｎｔｅｒｐｏｌａｔｏｒ３３は、シーン画像要素内の、一組の値間の書き込みに関する情報を含んでいる。インターポレーター・クラスはこれらの値の間をスライドして、次第にシーン要素のプロパティを変化させる方法を含んでいる。インターポレーターを含んでいるシーン要素はＣＳｈａｐｅ３１及びＣＴｒａｎｓｆｏｒｍ３２である。シェイプ（形状）はインターポレーターを使用して、モーフィングを行う。トランスフォーム（座標変換）はインターポレーターを使用して、移動回転を行う。このようにしてアプレット・エンジンは３Ｄアニメーションを実行する。アニメーションの再生中、インターポレーターは一組の値間を「スライド」して、シーン要素のプロパティ（移動を行うためのトランスフォームのポジション・プロパティまたはシェイプ・モーフィングを行うためのシェイプ座標等）を変更する。アニメーションがシーン内で再生されている時は、ＣＳｃｅｎｅ３６オブジェクトに含まれる動作中のインターポレーターのリストによって各フレームが進められシーン内の変化、すなわちアニメーション効果を起こす。インターポレーターは時間の経過を把握しており、値を進めるためにどれだけの時間が必要かを把握している。このようにして、アニメーションの長さ（アニメーション時間）が制御されている。
ＣＬｉｇｈｔ３４は、シーン・シェイプのライティングを定義するために使用されている。ライトは光の色及び輝度を定義するカラー・プロパティを含んでいる。位置情報を含むオムニライトと、方向情報を含むスポットライトの２種類のライトがある。ライトはＣＴｒａｎｓｆｏｒｍ３２オブジェクト内にある。ライト要素を含むトランスフォームを移動すると、ライトもまた移動して、シーン・シェイプの照明方法が変化する。ＣＳｈａｐｅ３１オブジェクトがシェーダー・オブジェクト（Ｉ３ｄＯｂｊｅｃｔ４０クラス）を使用して画面上に描写されると、シェーダー・オブジェクトは全てのシーン・ライトの位置、方向及び色を確認して、正確なライティングでシェイプを描写することが可能になる。
ＣＣａｍｅｒａ３５は視点を定義しており、各ＣＣａｍｅｒａ３５オブジェクトは位置及び方向情報を含んでいる。カメラが中にあるトランスフォームの位置と組み合わされたこの情報は、３Ｄシーンを描写して見ることができる視点を示す。ＣＣｏｎｔｒｏｌｌｅｒ５９オブジェクトが動作中のカメラへの参照を含んでおり、これがシーンの視点として現在使用されているカメラである。シーン・イメージが描写される毎に、全ての３Ｄ情報が動作中のカメラの座標空間に変更されて動作中のカメラがワールド座標の原点（０，０，０）にあるようになる。これは、ＣＳｃｅｎｅ３６オブジェクトによって行われる。その後、座標変更されたシーンが描写されて、３Ｄシーンがカメラの視点からどのように見えるかが明らかになる。
第４図（ｂ）のセクションの全てのクラスはシェーダーと呼ばれ、３Ｄオブジェクトの陰影付けに関するオブジェクト（アプレット・クラス）である。全てのシェーダーはＩ３ｄＯｂｊｅｃｔ４０クラスで表現される共通の特色を有しており、また、全てのシェーダーはこのクラスを継承している。シェーダーはＣＳｈａｐｅ３１オブジェクトが所有している。シェーダーは所有しているＣＳｈａｐｅ３１のラスター化（２Ｄビットマップ画像の作成）を行う役割を担っている。各シェーダーはシェーダーが所有しているシェイプ（形状）を異なるように描写する。シェーダーはシーン・ライト、シェイプ・カラー情報、シェイプ・テクスチャ情報等を考慮して、その形をラスター化するために必要な動作を行う。この情報を使用する各シェーダーは異なる方法を用いるか、あるいは、この情報のいくつかを無視してもよい。シェイプのシェーダーは３Ｄシーンの製作者によって定義された「シェードタイプ」プロパティによって定義されている。例えば、テクスチャ・シェイプを作成するシェーダーもあれば、スムースな影付のシェイプを作成するシェーダーもある。
次に、第４図（ｂ）の各シェーダー・クラスについて説明する。
ＣＷｉｒｅ４１は、他のシェーダーと異なり、このシェーダー・クラスはシェイプからなるポリゴンを埋めることによりシェイプを表示しない。このシェーダーはシェイプのワイヤフレームを描く。これはポリゴンが描かれるシェイプの全ての点を結合し、シェイプのワイヤフレームを作成する線という意味である。このシェーダーを所有しているＣＳｈａｐｅ３１の色情報がワイヤフレーム用の色として使用される。
ＣＦｌａｔ４２はフラット・シェードによるシェイプを描写している。フラット・シェーディングは各シェイプのポリゴンがシェイプの色及びシーン内のライトによる一定の色を受け取るアルゴリズムである。
ＣＧｏｕｒａｕｄ４３はグーロー・シェードによるシェイプを描写している。グーロー・シェーディングはシェイプの各ポリゴンの３点における色がシェイプの色及びシーン内のライトに従って計算されるアルゴリズムである。その後、これらの色はポリゴンに沿って直線的に補間されて、シェイプがスムースにシェーディングされる。
ＣＥｎｖｉｒｏｎｍｅｎｔ４４はテクスチャ・マップのシェイプを描画している。テクスチャ・マッピング・アルゴリズムは、描写されるＣＳｈａｐｅ３１を含むＣＴｒａｎｓｆｏｒｍ３２オブジェクトの方向性によりマップ情報を生成する。このシェーダーによって使用されたアルゴリズムは、マップ情報源を除いてＣＴｅｘｔｕｒｅＭａｐ４５シェーダーによって使用されるアルゴリズムと同一である。マップ情報がここでシェイプの方向に依存しているので、回転するシェイプが周囲または光源を反映しているかのように見える。このイリュージョンはリアルな外見への反映及び単純なテクスチャ・マッピング・アルゴリズムを使用したライティングを実現するために使用することが可能である。
ＣＴｅｘｔｕｒｅＭａｐ４５はテクスチャ・マップのシェイプを描写している。テクスチャ・マッピング・アルゴリズムはシェーダー・オブジェクトを所有しているＣＳｈａｐｅ３１オブジェクトに格納されたマップ情報を使用して、シェイプ上にテクスチャ・ビットマップをマッピングする。このことにより、あるテクスチャまたは描かれた画像を有しているかのようにシェイプが描写される。
ＣＴｅｘｔｕｒｅＧｕｒ４６はグーロー・シェーディング（ＣＧｏｕｒａｕｄ４３等）及びテクスチャ・マッピング（ＣＴｅｘｔｕｒｅＭａｐ４５等）の両方を行って、シェイプのポリゴンを描写している。このことにより、テクスチャ・マッピング及びスムースなシェードがされたオブジェクトが得られる。
ＣＴｅｘｔｕｒｅＥｎｖ４７は２つの異なるテクスチャ・イメージと異なる組のマッピング座標を有する２つのテクスチャ・マッピング操作を行い、その後混合アルゴリズムを使用してイメージを組み合わせている。実行された２つのマッピング操作はＣＴｅｘｔｕｒｅＭａｐ４５の描写アルゴリズムを遂行して、その結果をＣＥｎｖｉｒｏｎｍｅｎｔ４４の描写アルゴリズムと組み合わせることと同じである。このシェーダーはシェイプにテクスチャ・イメージと反射／照明効果を付与するために使用される。
第４図（ｃ）のセクションは３ＤＡデザイナーのＪａｖａ（Ｒ）エンジンにより使用されるその他のコア・クラスを含んでいる。これらのクラスは３Ｄエンジンに必要な情報を含んでおり、この情報に関する機能を遂行している。例えば、Ｃｌｉｐｐｅｒ５７がラスター化を手伝い、ＭｙＰｉｘｅｌＧｒａｂｂｅｒ５１が画像ファイルのロードを手伝い、ＣＣｏｎｔｒｏｌｌｅｒ５９がユーザー入力に従ってシーン情報を変更する役割を担っている、…等である。
次に、第４図（ｃ）の各コア・クラスについて説明する。
コア・クラスとして考える必要のあるこのＹＯＥ３ｔｙｐｅｓ５０クラスは、単にＣＳｃｅｎｅ３６クラスによって使用される定数を含んでいるもので、いかなるファンクションも実行せず、またいかなるデータも格納しない。
３ＤＡシーンファイルをロードする場合、シーンファイルの構造はシーン要素を表現するノードまたは一般的なシーンファイルを含むようになっている。各ノードはサブノード及びデータ・フィールドを含んでいる。異なるノードタイプ及びデータ・フィールドタイプは、ファイル内でこれらの前にあるｉｄ番号によって特定される。このクラスは様々な可能性のあるデータ・ノード及びノード・フィールドのｉｄを示す定数を含んでいる。シーン・ローダー（ＣＳｃｅｎｅ３６クラスで実行される）がこのクラス内に存在しないｉｄに出会った場合、ノードまたはこのノードに属するデータ・フィールドをスキップする。
ＭｙＰｉｘｅｌＧｒａｂｂｅｒ５１は、アプレットで使用されて、シーン（シェイプ・テクスチャ、背景画像等）内で使用されるイメージをロードする。また、ＭｙＩｍａｇｅＯｂｓｅｒｖｅｒ５２インターフェイスを実行するクラスと合わせて使用される。イメージのロードを終了すると、ＭｙＰｉｘｅｌＧｒａｂｂｅｒ５１オブジェクトはそのオブザーバー・オブジェクトを呼び戻して、イメージが準備されたことを知らせる。実際の例は、ＭｙＩｍａｇｅＯｂｓｅｒｖｅｒ５２クラスの説明に記載する。
ＭｙＩｍａｇｅＯｂｓｅｒｖｅｒ５２は、イメージがロードを終了すると呼び出されるファンクションのためのインターフェイスを定義している。幾つかのクラスはＭｙＩｍａｇｅＯｂｓｅｒｖｅｒ５２インターフェイスを実行して、ロードを要求したイメージがロードを終えると通知する。アプレットによるイメージの実際のロードはＭｙＰｉｘｅｌＧｒａｂｂｅｒ５１オブジェクトを使用して行われる。ＭｙＰｉｘｅｌＧｒａｂｂｅｒ５１オブジェクトがイメージのロードを終了すると、ＭｙＩｍａｇｅＯｂｓｅｒｖｅｒ５２オブジェクトにこれを引き渡す。このような場合の例は、アプレットが新しい背景画像をロードする時である。Ａｐｐｌｅｔ３ｄａ５６クラスはＹｏｅ３ｄ５３クラス内のメソッド（オブジェクトの動作を定義する手続き）を呼び出して、新しい背景画像をセットする。ＭｙＩｍａｇｅＯｂｓｅｒｖｅｒ５２インターフェイスを実行するＹｏｅ３ｄ５３はイメージをロードしてその後オブザーバー（この場合Ｙｏｅ３ｄ５３）内のファンクション（機能）を呼び出すＭｙＰｉｘｅｌＧｒａｂｂｅｒ５１オブジェクト作成する。Ｙｏｅ３ｄ５３はロードされたイメージデータを含み、それを使用してアプレットの背景を設定する。
Ｙｏｅ３ｄ５３は３Ｄ幾何学的作用、画像処理及び混合作用、ラスター化作用等を遂行するために使用される様々なファンクションを含んでいる。例えば、シェーダー・クラスが画面上に２Ｄポリゴンを描く前に、各シェイプのポリゴンの３Ｄ座標を、透視投影アルゴリズムを使用して２Ｄ座標値に変換しなければならない。この変換を行うファンクションはＹｏｅ３ｄ５３で実行される。また、このクラスは３Ｄシーンのラスター化中に使用される変数を含んでいる。例えば、重なっている３Ｄオブジェクトを正確に表示するために、Ｚ−Ｂｕｆｆｅｒｉｎｇと呼ばれるアルゴリズムが、表示されるビットマップ・イメージ内に各２Ｄポリゴンを埋め込んでいる最中にシェーダー・クラスによって遂行される。Ｚ−Ｂｕｆｆｅｒｉｎｇアルゴリズムには、各描写ピクセルの視点情報からの距離を埋めるために使用される大きなメモリバッファーが必要である。このメモリバッファーはＹｏｅ３ｄ５３クラス内にある。アプレットはＡｐｐｌｅｔ３ｄａ５６オブジェクト内にある一つの包括的なＹｏｅ３ｄ５３オブジェクトを含んでいる。
Ａｐｐｌｅｔ３ｄａ５６クラスの親であるＩ３ｄａＰａｉｎｔｅｒ５４は、ＳｕｐｅｒＢａｓｅ５５クラスの親クラスである。Ｉ３ｄａＰａｉｎｔｅｒ５４は単なるインターフェイスであって、実際の実行を含んでおらず、Ｉ３ｄａＰａｉｎｔｅｒ５４を実行するその他のクラスは別のクラスを継承している。このようなことは、Ｊａｖａ（Ｒ）が可能ないかなるシステム上でも利用可能な標準的Ｊａｖａ（Ｒ）ライブラリ・クラスであるアプレット・クラスを継承しているＳｕｐｅｒＢａｓｅ５５の場合もそうである。
Ｉ３ｄａＰａｉｎｔｅｒ５４はシーン内のイベントを処理するインターフェイスを含んでいる。このようなイベントは例えば、シェイプ上またはツールバーボタン上のクリックを含んでいる。これらのイベントはその後それぞれに応じて処理される。Ａｐｐｌｅｔ３ｄａ５６の場合、これらのイベントは、アプレットをホスティングしているＨＴＭＬページの作者によって書かれた外部のＪａｖａ（Ｒ）スクリプト・ファンクションからの呼び出しにより発生する。
ＳｕｐｅｒＢａｓｅ５５はいかなるＪａｖａ（Ｒ）が可能なシステムにも用意されている標準的Ｊａｖａ（Ｒ）ライブラリ・クラスであるアプレット・クラスを継承している。このクラスの基本機能はＡｐｐｌｅｔ３ｄ５６クラスの説明に記載するとおりである。
次に、Ａｐｐｌｅｔ３ｄａ５６クラスについて詳述する。
Ａｐｐｌｅｔ３ｄａ５６は主要アプレット・クラスであり、Ｊａｖａ（Ｒ）アプレット・スーパークラスを継承している。アプレット・クラスは、アプレットとその環境間のＪａｖａ（Ｒ）が動作する全てのＷｅｂブラウザで利用可能な標準インターフェイスを提供し、標準Ｊａｖａ（Ｒ）クラスライブラリの一部として実行される。Ｗｅｂページ上に表示される全てのＪａｖａ（Ｒ）アプレットは、アプレット・クラスを継承して重要なインターフェイスを実行するクラスでなければならない。このインターフェイスは、マウス及びキーボード等のイベントを介したアプレット領域を利用する方法、ユーザー入力をアプレットに対して処理する方法、クラス中で実行される一般機能を、ブラウザによって実行されるＪａｖａスクリプトによって呼び出されるように、エクスポートする方法を含んでいる。
アプレット・クラスを更に分類することによって、新しい種類のアプレットを定義したのが３ＤＡアプレットである。Ａｐｐｌｅｔ３ｄａ５６はアプレット・クラスを直接に継承しているわけではない。その代わり、アプレット・クラスから継承したＳｕｐｅｒＢａｓｅ５５クラスを継承している。
Ａｐｐｌｅｔ３ｄａクラスがＷｅｂブラウザ６によってロードされると、Ｗｅｂブラウザ６は、Ａｐｐｌｅｔ３ｄａ５６によって実行される標準アプレット・インターフェイス機能を呼び出す。
１）  まず、ｉｎｉｔファンクション（機能）が呼び出される。このファンクションはＡｐｐｌｅｔ３ｄａ５６の内部データを初期化してシーン情報をＡｐｐｌｅｔ３ｄａ５６の内部データ構成の中にロードする。
２）  その後、ｓｔａｒｔファンクションがブラウザによって呼び出される。このことにより、Ａｐｐｌｅｔ３ｄａ５６は、アプレットが受けたマウス移動及びキー入力等のイベントを処理する。これらのイベントは、Ａｐｐｌｅｔ３ｄａ５６に含まれるＣＣｏｎｔｒｏｌｌｅｒ５９オブジェクトによって処理される。Ａｐｐｌｅｔ３ｄａ５６は、３Ｄシーンを描写する理由があるかどうか（最後に描写されてから何か変更されたかどうか）を確認するループを入力する。もしそうであれば、シーンを描写する。受け取ったイベント、ブラウザにより呼び出されたＡＰＩ機能により起こった変更、実行中のアニメーション及びオブジェクト移動によって、その後ＣＣｏｎｔｒｏｌｌｅｒ５９を呼び出し、シーン情報を更新する。このプロセスはアプレットが閉じるまでループで行われる。このループは以下の通りである。
（ａ）  最終フレームからの変更？
（ｂ）  シーン情報を更新するためにコントローラを呼び出す。
（ｃ）  全ワールドの３Ｄ変換を現視点に対して行う。（Ａｐｐｌｅｔ３ｄａ５６の中に格納されたＣＳｃｅｎｅ３６オブジェクトにアクセスすることによって行われる）
（ｄ）  シーン・イメージを描写する。ループして（ａ）に戻る。
３）  Ｗｅｂブラウザ６がアプレットを閉じると、Ａｐｐｌｅｔ３ｄａ５６の中に作成・格納されたシーン情報を公開したＡｐｐｌｅｔ３ｄａ５６のｓｔｏｐ／ｄｅｓｔｒｏｙファンクションを呼び出す。
ＷｅｂブラウザによってロードされたＨＴＭＬファイル内のアプレット・タグによって特定されているので、Ｗｅｂブラウザ６は、Ａｐｐｌｅｔ３ｄａ５６を実行することを理解している。
アプレット・タグは、第５図の２０１〜２０６に示すように、
2003034345.tif 000003
のように記述される。
アプレット・タグの「ｃｏｄｅ＝」部分がＡｐｐｌｅｔ３ｄａ５６クラスファイルを特定している。これはアプレットがＨＴＭＬページに挿入されている標準的な方法である。
第５図の２０２〜２０５に示したアプレット・タグのパラメータとしては、第６図に示すように、背景色、アスペクト、テクスチャ等のロード方法、アンチエリアス等の表示に関するＤｉｓｐｌａｙ６１と、ツールバー、マウス操作カメラコントロール、３Ｄオブジェクトの回転軸操作、座標移動、形状等の操作に関するＭｏｕｓｅ  ＆  ＵＩ（６２）と、カメラの移動速度、移動座標、シェイプ選択、３Ｄオブジェクト等の初期状態を設定するＤｅｆａｕｌｔ  ｓｅｌｅｃｔｉｏｎｓ（６３）と、その他、イベント機能の選択やマウスイベントの無効／有効などを指定するＭｉｓｃｅｌｌｅｏｕｓ部分等が用意されている。
第７図は、３ＤＡアプレット内に含まれるＪａｖａ（Ｒ）スクリプト・ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）の機能の項目を示しており、ユーザーとのインタラクティブな３Ｄ画像表示を実現するためにＨＴＭＬページ内に記述するインタラクティブ３Ｄシーン表示のための独自のＪａｖａ（Ｒ）スクリプトとのインターフェイス部分の説明図である。  Ｊａｖａ（Ｒ）スクリプト・コードは、第５図の３０１〜３０５に示したように記述される。この一例では、３０２のＭｙ３ｄａＥｖｅｎｔＦｕｎｃｔｉｏｎ（ｉｔｙｐｅ，Ｐａｒａｍ１，Ｐａｒａｍ２）により、選択されたトランスフォーム（ｉｔｙｐｅ＝２のとき）が変化するとイベントが発生するというものである。
Ｊａｖａスクリプト・ＡＰＩには、第７図に示すように、Ｓｈａｐｅ７１（形状）、Ｓｈａｐｅプロパティ７２（属性）、Ｔｒａｎｓｆｏｒｍ７３（座標変換）、Ｔｒａｎｓｆｏｒｍプロパティ７４、Ｏｂｊｅｃｔ７５（オブジェクト）、Ｃａｍｅｒａ７６（カメラ）、Ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ７７（ユーザーインターフェイス）、Ｄｉｓｐｌａｙ７８（画面表示）、Ａｎｉｍａｔｉｏｎ７９（アニメーション）、及びＭｉｓｃｅｌｌａｎｅｏｕｓ８０（その他）等がある。
各機能に関する説明は、上述の３ＤＡアプレットに関する説明、及び以下に記載する説明の通りである、
次にＪａｖａス（Ｒ）スクリプト・ＡＰＩについて詳述する。
Ｊａｖａ（Ｒ）スクリプト・ＡＰＩ・ファンクション（機能）は、全てＡｐｐｌｅｔ３ｄａ５６クラス又はＳｕｐｅｒＢａｓｅ５５クラスにおいて実行されるパブリック・ファンクションである。各３ＤＡアプレットはＡｐｐｌｅｔ３ｄａ５６クラスのインスタンス（実体化：クラスから出来上がったオブジェクトを意味する）を一つずつ含んでいる。このインスタンスは全てのＪａｖａ（Ｒ）アプレットがＷｅｂブラウザにより実行される方法であり、Ｗｅｂブラウザによりロード・実行される主要なアプレット・クラスである。ＳｕｐｅｒＢａｓｅ５５クラスには実インスタンス（実体）がなく、Ａｐｐｌｅｔ３ｄａ５６がＳｕｐｅｒＢａｓｅ５５クラスを継承しているので、全てのＪａｖａ（Ｒ）スクリプト・ＡＰＩ・ファンクションがＡｐｐｌｅｔ３ｄａ５６内で実行されているように見える。
ＡＰＩ・ファンクションはＡｐｐｌｅｔ３ｄａ５６ファンクションの一部分にアクセスしてアプレット中で種々の作業を行う。以下はその例である（図示せず）。
１）  ｓｅｔＢＧＣｏｌｏｒ（  ）ファンクションはＳｕｐｅｒＢａｓｅ５５クラスの“ｙｏｅ３ｄ．ｍ＿ｇｂＣｏｌｏｒ”部分にアクセスしてその値をセットする。この値はアプレットの背景色として使用されている。その後、Ａｐｐｌｅｔ３ｄａ５６のＲｅｄｒａｗＡｆｔｅｒＡｃｔ（  ）メソッドを呼び出してアプレットを塗り換える。
２）  ｓｅｔＰｏｓ（  ）ファンクションは３Ｄシーン中のトランスフォームの位置をセットするために使用される。これは、コントローラ・オブジェクト、すなわちＳｕｐｅｒＢａｓｅ５５クラスの一部分にアクセスして特定の３Ｄトランスフォームが現在選択されているかどうかを確認することによって行われる。その後、コントローラ・クラスのメソッドを使用して、その機能に渡された位置を、選択されたトランスフォームがある座標系に変換する。そうした後に、選択された「翻訳」可変部分が新しい位置にセットされ、アプレットを塗り替えるためのＡｐｐｌｅｔ３ｄａ５６のＲｅｄｒａｗＡｆｔｅｒＡｃｔ（  ）メソッドを使用してアプレットを塗り替える。
上記の例では、Ａｐｐｌｅｔ３ｄａ５６クラスがアプレットの異なる面を管理する部分オブジェクトを含むことを示している。（コントローラは選択されたシーン要素に関する情報を含んでおり、ｙｏｅ３ｄ５３はアプレット背景色等の一般情報を含んでいる。）これらのオブジェクトは異なるＡＰＩ・ファンクションによってアクセスされて、その後アプレット・シーンが描写されてこのアクセスの効果を示す。これらのオブジェクトはＡＰＩ・ファンクションがアクセスするためだけに存在しているのではないということを理解することが重要である。これらはシーン情報を含んでいて、シーンを描写するために使用されるオブジェクトである。例えば、アプレットとのユーザー対話によりイベントが起こる。これらのイベントはまたＡｐｐｌｅｔ３ｄａ５６クラスにおいて処理されて、イベントの処理によりオブジェクトにアクセスする。
３ＤＡアプレットにより取出される３Ｄシーン情報は、第８図に示すようなファイル内容となっており、Ｈｅａｄｅｒ８１（ヘッダー）、Ｓｈａｐｅ８２（形状）、Ｔｒａｎｓｆｏｒｍ８３（座標変換）、Ｌｉｇｈｔ８４（ライト）、Ｃａｍｅｒａ８５（カメラ）等で構成され、バイナリデータとして一つのファイルに保存されている。各３Ｄシーン情報の説明は上述した通りである。
第９図は、ライセンス情報の管理をする構成を示す概略図である。
第１図の、第１の実施の形態に示したように、サーバーから３ＤＡアプレット等をダウンロードしてユーザーのＷｅｂブラウザ上で３Ｄ画像表示をする場合に、ライセンス情報を表示するようにしたもので、不正使用を防止する役割を果たす。
先ず、第２の実施の形態に示した第２図のＳ２０９において３ＤＡアプレットを保存する際に、３Ｄアプレットのデータ内にドメインｗｗｗ．×××．ｃｏｍ、等のドメイン情報を埋込む。この処理が第３図に示す（Ａ）の部分のＳ３００の処理である。
なお、第２の実施の形態はローカルな記憶装置に保存した場合を示しているが、３ＤＡファイルも、第２図のＳ２０５の保存処理に代えて該当するサーバーに保存するものとする。
次に、Ｗｅｂブラウザで３Ｄシーン画像を表示する場合、第２図に示す３ＤＡアプレットをロードする処理Ｓ２１０、及び表示する処理Ｓ２１１に代えて、第３図に示す（Ｂ）のＳ３０１以降の処理に移る。
Ｗｅｂサーバーから３ＤＡアプレット等をダウンロードして３ＤＡアプレットを実行し（Ｓ３０１）、３ＤＡアプレットの実行によりライセンス情報に伴う処理を行う。
これは（Ａ）で３ＤＡアプレットのデータ内に埋込まれたドメインと、実際のドメインの照合により実施される（Ｓ３０２）。
両ドメインが一致した場合は、ライセンスマーク１１０を表示させずに正常の３Ｄ表示処理を行う（Ｓ３０３）
ドメインが一致しない場合は、ライセンスマーク１１０を表示し警告する（Ｓ３０４）。ユーザーはロゴ表示を確認したら、ライセンスマーク１１０をクリックしてライセンスを管理する会社のホームページにアクセスしライセンスの取得手続を得る（Ｓ３０５）。
具体的には、第９図に示すように、Ｗｅｂブラウザ２は、Ｗｅｂサーバー６からダウンロード（１）した３ＤＡアプレット・データに埋込まれているドメインと、実際のダウンロード元のドメインを取得し（２）、双方を照合して（３）、双方のドメインが異なる場合は、Ｗｅｂブラウザ２の３Ｄシーンの描画エリア内にライセンスマーク１１０を表示して警告する。
Ｗｅｂブラウザ２の閲覧者は、ライセンスマーク１１０をクリックしてライセンスを管理する会社のホームページへジャンプし、ライセンスの取得方法や、手続き方法などの表示に従ってライセンスを取得して３ＤＡシーンの表示を行う。
この処理によって、３ＤＡアプレットのデータを頒布する場合に、アプレット・データが不正にコピーされ、複数のドメインに掲載されることを防止することができる。
最後に、第３の実施の形態によるＷｅｂ３Ｄ画像表示システムを、第１０図を参照して説明する。
第１０図のＷｅｂ３Ｄ画像表示システムは、上述した機能及び構成を一つのビジネスモデルとして構成したもので、システムセンター１に３ＤＡデザイナーによる開発ツールと３ＤＡデザイナーによって生成した３ＤＡファイル等の各３ＤＡ情報のファイルをデータベース化し、ユーザー（クライアント２）によってシステムセンター１のＷｅｂサーバー６から３ＤＡ情報をダウンロードして、クライアント２のＷｅｂブラウザによってインタラクティブな３Ｄ画像を表示するようにしたものである。
なお、システムセンター１内のＷｅｂサーバー６や３ＤＡデザイナー、及びクライアント２のＷｅｂブラウザは市販のＰＣ（パーソナルコンピュータ）やワークステーションに実装されて動作するもので、ＰＣやワークステーションを構成するＣＰＵ（中央制御装置）、メモリやハードディスク等の記憶装置、画像やテキスト等を表示する表示装置、キーボードやマウス等の入力装置、及び通信回線との入出力装置等に関する説明及びその構成図面は省略する。
また、上述した処理手順等の重複する説明は省略する。
第１０図において、１はシステムセンターであり、２はＷｅｂブラウザ（クライアントＡ）である。３はインターネットであり、４は他のクライアントＢであり、５はその他の、不特定多数のクライアントｎである。
６はシステムセンター１内のＷｅｂサーバーで、クライアントＡ、Ｂ…ｎ、に３ＤＡファイル等を、インターネット３を介して配信する。７は３ＤＡファイル等の転送を管理するＦＴＰサーバーで、システムセンターに外部からアクセスする場合に使用するものであるが、ここではそのアプリケーションについては触れない。８はデータベースのアクセスを管理するデータベース・サーバーである。９はライセンス情報付加手段で、Ｗｅｂブラウザ２において３Ｄ画像表示の際にドメイン照合によるライセンス情報の表示を行う。
１０は３Ｄオブジェクト作成手段で「３ｄｓ」等の各種３Ｄソフトによる３Ｄオブジェクト生成が行われる。１１はＶＲＭＬファイル作成手段で、生成された３ＤオブジェクトファイルをＶＲＭＬフォーマットに変換する。
１２は３ＤＡカスタマイズ手段、１３が３ＤＡファイル生成手段であり、３ＤＡデザイナーにより、ＶＲＭＬファイルからシーン情報を取出し、カスタマイズ情報を付加して必要なシーン情報を一つの圧縮ファイルとして３ＤＡファイルを作成し保存する。１４は３ＤＡデザイナーによってインタラクティブな３Ｄ画像表示を行うための３ＤＡアプレットを生成する３ＤＡアプレット生成手段である。３Ｄシーンを表示するために必要な各アプレット・クラスは一つの圧縮ファイルとして保存される。
１５はＨＴＭＬファイル作成手段で、３ＤＡデザイナーにより、アプレット・タグが含まれるＷｅｂページ用のＨＴＭＬファイルが自動生成され、生成されたＨＴＭＬファイルにＪａｖａ（Ｒ）スクリプト・コードを追加し、オプション要求のための追加手続きを行い、ＨＴＭＬファイルを編集・作成する。１７は３Ｄデータベースであり、３Ｄ部品から３Ｄ画像ファイルまで各種３Ｄデータを格納している。
一方、各Ｗｅｂブラウザは、ＨＴＭＬ、Ｊａｖａ（Ｒ）アプレット、Ｊａｖａ（Ｒ）スクリプトの処理機能を有し、２１は３ＤＡアプレット要求手段で、Ｗｅｂサーバー６へ３ＤＡアプレットのダウンロードを要求する。２２は３ＤＡファイル要求手段で、ダウンロードされた３ＤＡアプレットによって行われる。２３は３ＤＡアプレット実行手段で３ＤＡファイルをダウンロードして３Ｄ画像表示を行う。２４はインタラクティブ表示処理手段で、Ｗｅｂブラウザ単独で３Ｄ表示画面の編集操作を行うことが可能である。２５はライセンス情報処理手段で、ドメインを照合してライセンス情報に関する処理を行う。
このように、本発明によれば、既製の３Ｄソフトによる出力されたＶＲＭＬファイルを使用する場合に、従来Ｗｅｂブラウザは特別のビューアをプラグインしないと３Ｄシーンの表示ができなかったものが、本発明の３ＤＡシステムにより、通常のＷｅｂブラウザを使用して、プラグイン無しにインタラクティビティな３Ｄシーンの表示が可能になった。
また、３ＤＡアプレットによる３Ｄシーンの表示方式と、３ＤＡファイルの圧縮処理によって、平均的なアニメーションファイルの１／１０程度の伝送レートにまで下げられたので、ブロードバンドを使用しなくても通常のインターネットで３Ｄ画像表示をスムースに展開することができる。
また、Ｗｅｂブラウザ２側で３ＤＡファイル、３ＤＡアプレット、オプションをダウンロードした後は、サーバー無しでインタラクティブな表示が可能になるので、Ｗｅｂブラウザから編集・加工処理をサーバーに依頼し、サーバー側のサーバーサイド・プログラムにより３Ｄオブジェクトの編集・加工処理をしていた従来の方式などに比較すれば、遥かに迅速でインラクティブな３Ｄシーンの表示処理が可能になった。
また、本発明をｅ−コマース等に利用すれば、自動車のカタログを３Ｄ画像でＷｅｂブラウザ上に表示し、ユーザーはマウスで自由に車体を回転させて下側機構部分、車内のシートの状態や色などを現実と同じような感覚で見ることもできるし、自分で車体の色を塗り替えて色指定して転送・発注するようなことも可能になる。また、不動産業等でモデルルームを３Ｄ画像展示するような場合に、ユーザーはマウスで自由に家具の位置を移動させたり、色を塗り替えて色指定して注文したりすることも、居ながらにしてできるようになる。
その他、オンラインゲームを創作したりすることにも使用できるし、それ以外のあらゆる画像表示に利用できる。
産業上の利用可能性
以上説明したように、本発明によれば、Ｗｅｂブラウザにより３Ｄ画像を表示する双方向型の３Ｄ画像表示システムにおいて、各種既存の３Ｄモデリングソフトウェアプログラムにより生成されたＶＲＭＬ等の標準のＷｅｂ３Ｄファイルから３Ｄシーン情報を取出し、３Ｄ圧縮ファイルを編集・加工・生成してＷｅｂサーバーに保存し、Ｗｅｂサーバーから３Ｄアプレットと３Ｄ圧縮ファイルをダウンロードしてＷｅｂブラウザのＪａｖａ（Ｒ）ＶＭ（仮想マシン）上で３Ｄシーンを表示するもので、全ての情報を受け取った後、Ｗｅｂサーバーを介さずにＷｅｂブラウザ単独で３Ｄアプレット実行し継続して３Ｄシーンの表示を行い、ユーザーとのインタラクティビィティを可能にしているので、特別のビューアをプラグインする必要が無く、ブロードバンド回線を使用しなくても３Ｄシーンのスムースな表示ができ、Ｗｅｂブラウザ単独で３Ｄシーンの編集・加工操作が可能になるという効果がある。さらに、ライセンスマークの表示により不正使用に対する抑止効果が期待できる。
【図面の簡単な説明】
第１図は、本発明の第１の実施の形態に係るＷｅｂ３Ｄ画像表示システムの伝送手順を示す図であり、第２図は本発明の、第２の実施の形態に係るＷｅｂ３Ｄ画像表示システムの処理手順を示す図であり、第３図は、第２図の処理にセキュリティ機能を加える場合の処理手順を示す図であり、第４図は、アプレットのコア・クラスと階層構造を示す図であり、（ａ）はシーン要素を、（ｂ）はシェーダー・クラスを、（ｃ）はコア・クラスを示しており、第５図は、アプレットとＪａｖａ（Ｒ）スクリプトのＨＴＭＬソースの一例を示す図であり、第６図は、アプレット・タグのパラメータの種類を示す説明図であり、第７図は、Ｊａｖａスクリプト・ＡＰＩの内容を示す説明図であり、第８図は、３Ｄシーンの圧縮ファイルを示す説明図であり、第９図は、ライセンス情報の管理をする構成を示す概略図であり、第１０図は、本発明の、第３の実施の形態に係るＷｅｂ３Ｄ画像表示システムを示す概略図である。
符号の説明
１  システムセンター
２  クライアント（Ａ）
３  インターネット
４  クライアントＢ
５  クライアントＣ
６  Ｗｅｂサーバー
７  ＦＴＰサーバー
８  データベースサーバー
９  ライセンス情報付加手段
１０  ３Ｄオブジェクト作成手段
１１  ＶＲＭＬファイル作成手段
１２  ３ＤＡシーンカスタマイズ手段
１３  ３ＤＡファイル生成手段
１４  ３ＤＡアプレット生成手段
１５  ＨＴＭＬファイル生成手段
１６  ３Ｄ情報保存手段
１７  ３Ｄデータベース
２１  ３ＤＡアプレット要求手段
２２  ３ＤＡファイル要求手段
２３  ３ＤＡアプレット実行手段
２４  インタラクティブ表示処理手段
２５  ライセンス情報処理手段
【図１】
2003034345.tif 000004
【図２】
2003034345.tif 000005
【図３】
2003034345.tif 000006
【図４】
2003034345.tif 000007
【図５】
2003034345.tif 000008
【図６】
2003034345.tif 000009
【図７】
2003034345.tif 000010
【図８】
2003034345.tif 000011
【図９】
2003034345.tif 000012
【図１０】
2003034345.tif 000013
【国際調査報告】
2003034345.tif 000014
2003034345.tif 000015