JPH11232487A - 情報処理装置および方法、並びに提供媒体 - Google Patents

情報処理装置および方法、並びに提供媒体

Info

Publication number
JPH11232487A
JPH11232487A JP10030794A JP3079498A JPH11232487A JP H11232487 A JPH11232487 A JP H11232487A JP 10030794 A JP10030794 A JP 10030794A JP 3079498 A JP3079498 A JP 3079498A JP H11232487 A JPH11232487 A JP H11232487A
Authority
JP
Japan
Prior art keywords
node
sound
event
data
sony
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP10030794A
Other languages
English (en)
Inventor
Teruhisa Gamachi
輝尚 蒲地
Hiroyuki Yasuga
広幸 安賀
Hiroki Tsukahara
広樹 束原
Junichi Nagahara
潤一 永原
Hideaki Karasawa
英了 唐澤
Emi Arakawa
恵美 荒川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP10030794A priority Critical patent/JPH11232487A/ja
Priority to US09/246,397 priority patent/US6626954B1/en
Publication of JPH11232487A publication Critical patent/JPH11232487A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/2053D [Three Dimensional] animation driven by audio data
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • G10H1/0058Transmission between separate instruments or between individual components of a musical system
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/011Files or data streams containing coded musical information, e.g. for transmission
    • G10H2240/046File format, i.e. specific or non-standard musical file format used in or adapted for electrophonic musical instruments, e.g. in wavetables
    • G10H2240/056MIDI or other note-oriented file format
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/201Physical layer or hardware aspects of transmission to or from an electrophonic musical instrument, e.g. voltage levels, bit streams, code words or symbols over a physical link connecting network nodes or instruments
    • G10H2240/241Telephone transmission, i.e. using twisted pair telephone lines or any type of telephone network
    • G10H2240/245ISDN [Integrated Services Digital Network]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/295Packet switched network, e.g. token ring
    • G10H2240/305Internet or TCP/IP protocol use for any electrophonic musical instrument data or musical parameter transmission purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

(57)【要約】 【課題】 3次元仮想現実空間における画像を音に同期
させる。 【解決手段】 ブラウザによりMIDIのファイルmusic.mi
dに記録されているトラック0の音が発音される。Sony_
AudioClipノードは、ファイルmusic.midのデータをイベ
ントとして受け取り、そのmusicDataフィールドから、S
ony_MusicNoteInterpolatorノードのmusicDataフィール
ドに出力する。このSony_MusicNoteInterpolatorノード
は、keyValueフィールドに規定された低い音の値と高い
音の値の間の値を補間し、value_changedから出力す
る。PositionInterpolatorノードのPositionIP.value_c
hangedフィールドは、Sony_MusicNoteInterpolatorノー
ドから供給された音高データに対応する位置データをCO
NE_OBJ TransformノードのCONE_OBJ.set_tramslationフ
ィールドに出力する。これにより、オブジェクトの位置
が音に同期して変化される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報処理装置およ
び方法、並びに提供媒体に関し、特に、VRMLで表現され
た3次元仮想現実空間において、音と画像を同期させる
ことができるようにした、情報処理装置および方法、並
びに提供媒体に関する。
【0002】
【従来の技術】世界的規模で構築されたコンピュータネ
ットワークであるインターネット(TheInternet)におい
て、様々な情報を提供するWWW(World Wide Web)の枠組
みを利用して3次元的な情報を統一的に扱うことができ
る記述言語として、VRML(Virtual Reality Modeling La
nguage)が知られている。
【0003】インターネットで利用できる情報提供シス
テムとして、スイスのCERN(European Center for Nucl
ear Research:欧州核物理学研究所)が開発したWWWが
知られている。このWWWは、テキスト、画像、または音
声などの情報を、ハイパーテキスト形式で閲覧できるよ
うにしたもので、HTTP(Hyper Text Transfer Protoco
l:ハイパーテキスト転送プロトコル)と呼ばれるプロト
コルに基づいて、WWWサーバに格納された情報をパーソ
ナルコンピュータなどの端末に非同期転送するものであ
る。
【0004】WWWサーバは、HTTP、デーモン(daemon)
と呼ばれるサーバソフトウエア、および、ハイパーテキ
スト情報が格納されるHTMLファイルにより構成される。
なお、デーモンとは、UNIX上で作業を行う場合におい
て、バックグラウンドで管理や処理を実行するプログラ
ムである。ハイパーテキスト情報は、HTML(HyperTextM
arkup Language:ハイパーテキスト記述言語)と呼ばれ
る記述言語を用いて表現される。HTMLによるハイパーテ
キストの記述は、「<」と「>」で囲まれたタグと呼ば
れる書式指定によって文章の論理的な構造が表現され
る。他の情報とのリンクについての記述は、アンカーと
呼ばれるリンク情報を用いて行われる。このアンカーを
用いて、情報が存在する場所を指定する際には、URL(Un
iform Resource Locator)と呼ばれる文字列が用いられ
る。
【0005】HTMLで記述されたファイルを、ネットワー
ク上において転送するためのプロトコルがHTTPである。
クライアントからの、情報の要求をWWWサーバに伝え、H
TMLファイルのハイパーテキスト情報をクライアントに
転送する機能をもっている。
【0006】WWWを利用する環境として多く利用されて
いるのが、WWWブラウザ(ブラウザとは閲覧するという
意味)と呼ばれる。このWWWブラウザは、例えば、Netsc
ape Navigator(米国Netscape Communications社の商
標)をはじめとするクライアントソフトウエアである。
このWWWブラウザを用いて、URLに対応する世界規模で広
がるインターネット上のWWWサーバ上のファイル、いわ
ゆるホームページを閲覧することができ、いわゆるネッ
トサーフィンと呼ばれるように、リンクが張られたホー
ムページを次々と辿って、多種多様なWWWの情報ソース
にアクセスすることができる。
【0007】近年、このWWWをさらに拡張し、3次元仮想
空間の記述や、3次元グラフィックスで描画されたオブ
ジェクトに対してハイパーテキストのリンクの設定を可
能とし、これらのリンクをたどりながらWWWサーバを次
々とアクセスできるようにした、VRMLと呼ばれる3次元
グラフィックス記述言語の仕様が策定され、このVRMLの
仕様に基づいて記述された3次元空間を表示するための
VRMLブラウザが開発されている。
【0008】このVRMLの詳細は、例えば、「VRMLを知
る:3次元電脳空間の構築とブラウジング〔マーク・ペ
ッシ著,松田晃一・蒲地輝尚・竹内彰一・本田康晃・暦
本純一・石川真之・宮下健・原和弘訳,1996年3月
25日初版発行,プレンティスホール出版ISBN4-931356
-37-0〕(原著;VRML:Browsing & Building Cyberspac
e,Mark Pesce, 1995 New Readers Publishing ISBN 1-5
6205-498-8))」、または「VRMLの最新動向とCyberPas
sage〔松田晃一・本田康晃著、bit(共立出版)/1996
Vol.28 No.7 pp29 〜pp36, No.8 pp57 〜pp65, No.9 pp
29 〜pp36, No.10 pp49〜pp58〕」等の文献に記載され
ている。
【0009】また、 「The Virtual Reality Modeling
Language Version 2.0, ISO/IEC CD 14772」の公式か
つ完全な仕様書は、「http://www.vrml.org/Specificat
ions/VRML2.0/FINAL/spec/index.html」で公開されてお
り、その日本語版は、「http://www.webcity.co.jp/inf
o/andoh/VRML/vrml2.0/spec-jp/index.html」で公開さ
れている。
【0010】さらに、VRML2.0用ブラウザおよび共有サ
ーバ用ソフトウェアとしては、例えば、本出願人である
ソニー株式会社が「Community Place(商標) Browser /
Bureau」として開発し、製品化しており、そのβ版(試
供版)を、インターネット上のホームページ「http://v
s.sony co.jp」からダウンロードすることが可能とされ
ている。
【0011】このようなVRML2.0においては、3次元的
な仮想空間内におけるオブジェクトの自律的な振る舞い
(Behavior)を記述し、表現することが可能とされてい
る。このVRML2.0を用いて、3次元的な仮想空間内でオ
ブジェクトが動的に動き回るVRMLコンテンツを作成しよ
うとする場合、以下の様な作業行程を経ることになる。
なお、以下において、1つの仮想空間内で一連のオブジ
ェクトの振る舞いを実現するためのVRMLファイルや、ス
クリプト(Script)ファイル等の集合体をVRMLコンテン
ツと呼ぶことにする。
【0012】以下において、このVRMLコンテンツを作成
するための一連の作業について説明する。
【0013】モデル作成作業は、仮想空間内に配置する
オブジェクト(モデル)の形状や位置等をVRML2.0に基
づいて記述し、基本的なVRMLファイルを作成する作業で
ある。
【0014】センサノードの記述は、仮想空間内の各オ
ブジェクトに対して、マウスによるクリック操作(ポイ
ンティング操作)がされた場合にイベントを発生するTo
uchSensorや、予め設定された時刻になるとイベントを
発生するTimeSensor等のセンサノードの記述をVRMLファ
イルへ追加する作業である。
【0015】ルーティング(Routing)の編集作業は、
センサノードが付加されたオブジェクトに対するポイン
ティング操作等に応じて発生したイベントを伝達するた
めのルーティングの記述をVRMLファイルへ追加する作業
である。
【0016】スクリプトノードの記述は、ルーティング
によって伝達されたイベントを外部スクリプトへ受け渡
すためのスクリプトノードに関する記述を、VRMLファイ
ルへ追加する作業である。
【0017】スクリプトファイルの作成は、スクリプト
ノードを介して伝達されたイベントに基づいて、仮想空
間内の各オブジェクトに対して予め設定された振る舞い
を実現するためのJava言語(Javaは、米国Sun Microsys
tems社の商標)等によるスクリプトを記述(プログラミ
ング)する作業である。
【0018】以上の各種作業を経て、所望のVRMLコンテ
ンツが作成される。
【0019】VRML2.0に基づいて、仮想空間内でのオブ
ジェクトの自律的な挙動を伴うVRMLコンテンツを作成し
ようとする場合、既存のモデラーと呼ばれるオーサリン
グソフトウェア(例えば、3D Studio Max(商標)等)
を用いて、オブジェクトの形状やアニメーションを作成
し、作成したものを、VRML2.0の形式のファイルとして
出力する。仮に、モデラーがVRML2.0形式をサポートし
ていない場合、コンバータ等を用いて、作成したファイ
ルをVRML2.0形式に変換する必要がある。
【0020】次に、VRML2.0によって規定されている各
種センサ・ノード等の記述を、テキストエディタを用い
てVRMLファイルに追加したり、テキストエディタを用い
てJava言語によるスクリプトの作成や、これに対応する
スクリプトノードの追加、ルート文の追加等の作業を繰
り返す。そして、最後に、実際の動作確認に当たって
は、VRML2.0対応のVRMLブラウザを起動し、マウスによ
るクリック操作等により、オブジェクトの振る舞いを確
認する。
【0021】また、VRML2.0では、ユーザが、新しいノ
ード型を定義し、拡張することができ、また、定義した
ノードを、あたかも既存の組み込みノードのように使用
することができるようになされている。このように、ユ
ーザが新しいノードを定義する方法を、プロトタイプ
(ProtoType)と称する。このプロトタイプを定義する
場合、PROTOと称するキーワードが用いられる。
【0022】
【発明が解決しようとする課題】ところで、VRML2.0に
おいては、画像データの処理時間について、特に規定が
なされていない。例えば、図21に示すように、3次元
仮想現実空間におけるモデル(オブジェクト)としての
アバタを地点P1から地点P2まで移動表示させるのに、
その処理を所定の時間内に処理しなければならないとい
ったような規定が存在しない。このため、そのようなプ
ログラムを実行する各情報処理装置の性能によって、ア
バタが地点P1から地点P2に移動するまでの時間が変化
する。
【0023】これに対して、3次元仮想現実空間におい
て音声を発音するようにした場合、一旦発音された音声
は、以下、実時間に沿って発音されるため、例えば、所
定の曲を発音した場合、その曲の始めから終わりまでに
要する時間は、どの情報処理装置においても同一とな
る。
【0024】その結果、例えば、図21に示す表示例に
おいて、地点P1からアバタが移動を開始するのに同期
して、所定の曲の発音を開始させ、アバタが地点P2
到着したタイミングにおいて、ちょうど、その曲の発音
が終了するように、所定の情報処理装置で3次元仮想現
実空間を設計した場合、その情報処理装置で、そのプロ
グラムを実行すれば、アバタが地点P2に到着するタイ
ミングで、その曲の発音が終了されるが、例えばCPUの
クロック周波数が異なったり、画像処理の性能が異なる
他の情報処理装置で、そのプログラムを実行すると、そ
の曲の発音が終了した時点において、アバタは必ずしも
地点P2には到達していなかったり、その前に、既に到
達していることになる。
【0025】このように、従来のVRML2.0は、画像と音
声を同期させることができない課題があった。
【0026】本発明は、このような状況に鑑みてなされ
たものであり、画像と音声を同期させることができるよ
うにするものである。
【0027】
【課題を解決するための手段】請求項1に記載の情報処
理装置は、音源を指定する指定手段と、指定手段により
指定された音源のデータをイベントとして出力する出力
手段と、所定のオブジェクトの画像を表示させる表示制
御手段と、出力手段より出力されたイベントに関連し
て、オブジェクトの画像を変化させる変化手段とを備え
ることを特徴とする。
【0028】請求項2に記載の情報処理方法は、音源を
指定する指定ステップと、指定ステップで指定された音
源のデータをイベントとして出力する出力ステップと、
所定のオブジェクトの画像を表示させる表示制御ステッ
プと、出力ステップで出力されたイベントに関連して、
オブジェクトの画像を変化させる変化ステップとを備え
ることを特徴とする。
【0029】請求項3に記載の提供媒体は、音源を指定
する指定ステップと、指定ステップで指定された音源の
データをイベントとして出力する出力ステップと、所定
のオブジェクトの画像を表示させる表示制御ステップ
と、出力ステップで出力されたイベントに関連して、オ
ブジェクトの画像を変化させる変化ステップとを備える
コンピュータプログラムを提供することを特徴とする。
【0030】請求項1に記載の情報処理装置、請求項2
に記載の情報処理方法、および請求項3に記載の提供媒
体においては、音源のデータがイベントとして出力され
ると、その出力されたイベントに関連して、オブジェク
トの画像が変化される。
【0031】
【発明の実施の形態】以下に本発明の実施の形態を説明
するが、特許請求の範囲に記載の発明の各手段と以下の
実施の形態との対応関係を明らかにするために、各手段
の後の括弧内に、対応する実施の形態(但し一例)を付
加して本発明の特徴を記述すると、次のようになる。但
し勿論この記載は、各手段を記載したものに限定するこ
とを意味するものではない。
【0032】請求項1に記載の情報処理装置は、音源を
指定する指定手段(例えば、図15のeventTracksフィ
ールド)と、指定手段により指定された音源のデータを
イベントとして出力する出力手段(例えば、図15のmu
sicDataフィールド)と、所定のオブジェクトの画像を
表示させる表示制御手段(例えば、図15のdiffuseCol
orフィールド)と、出力手段より出力されたイベントに
関連して、オブジェクトの画像を変化させる変化手段
(例えば、図15のfraction_changedフィールド)とを
備えることを特徴とする。
【0033】図1は、本発明の情報処理装置を適用し
た、3次元仮想空間を統一的に扱うネットワークシステ
ムの構成を示す図である。この例において、ネットワー
クシステムは、主に、企業内ネットワーク1、インター
ネット2、プロバイダ3、ISDN(integrated services d
igital network) 4、およびクライアント端末5が相互
に接続されて構成される。なお、実際には、企業内ネッ
トワーク1、インターネット2、プロバイダ3、および
クライアント端末5は、それぞれ複数存在しうるが、図
示の簡略化のために、この図においては、それぞれ1つ
ずつとしてある。この例においては、企業内ネットワー
ク1のLAN(local area network)13、インターネット
2のデジタル通信回線22、プロバイダ3、およびISDN
4により、企業内ネットワーク1のサーバ12とクライ
アント端末5との間のデータ通信が実現されるようにな
されている。
【0034】企業内ネットワーク1は、ハードディスク
11を有するサーバ12、LAN13およびゲートウェイ
サーバ14により構成される。サーバ12は、例えば、
本出願人がインターネット上(http://vs.sony.co.jp
/)で提供するCommunity Place(商標)用のサーバであ
って、ユーザがコンテンツ作成用ツール50(図3を用
いて後述する)により作成したコンテンツ、つまり、ユ
ーザがVRML2.0で記述した3次元的な物体(モデル)の
形状および位置等を示す図形データ(VRMLファイル)、
および、ユーザがJava言語等のプログラム言語により記
述し、モデルに対する操作に応じて起動するスクリプト
(ファイル等からなるVRMLコンテンツ)をネットワーク
等を介して取得し、さらにローカルのハードディスク1
1に記憶し、管理するようになされている。
【0035】また、サーバ12は、クライアント端末5
からの転送要求に応じて、ハードディスク11に記憶し
た3次元的な仮想空間のコンテンツを、LAN13、イン
ターネット2、プロバイダ3、およびISDN4(以下、ネ
ットワークシステム内のこれらの通信ノードを総称し
て、適宜、単にネットワークと表記する)を介して、要
求元のクライアント端末5に転送し、さらにまた、コン
テンツ作成用のプログラム(図3を用いて後述するコン
テンツ作成用ツール50)を、ネットワーク介して、も
しくは、例えばフロッピーディスク等の記録媒体6を介
して、クライアント端末5に転送する。
【0036】インターネット2は、ルータ21,23お
よびディジタル通信回線22により構成される。
【0037】図2は、図1のクライアント端末5の構成
例を示すブロック図である。この例において、クライア
ント端末5は、CPU31を備え、このCPU31は、ROM3
2に記録されているプログラムに従って各種の処理を実
行するようになされている。RAM33には、CPU31が各
種の処理を実行する上において必要なデータまたはプロ
グラム等が適宜記録されるようになされている。通信装
置34は、ISDN4を介して、データを授受するようにな
されている。
【0038】表示装置35は、例えば、CRTやLCD等を備
え、CG(コンピュータグラフィック)の3次元画像等を
表示することができるようになされている。スピーカ3
6は、音声信号を出力するようになされている。入力装
置38のキーボード38aは、所定の文字や記号等を入
力するとき操作される。マウス38bは、所定の位置
(例えば、モデル)をポインティングするとき操作され
るようになされている。例えば、ハードディスク、光デ
ィスク、MOディスク、またはフロッピーディスク等よ
りなる記憶装置39は、コンテンツ作成用ツール50
や、各種のデータを記憶するようになされている。イン
タフェース37は、表示装置35、スピーカ36、入力
装置38、および記憶装置39に対するデータのインタ
フェースを構成している。
【0039】クライアント端末5は、図1のサーバ12
からネットワークを介してダウンロードされてきたVRML
コンテンツを、通信装置34を介して受信し、表示装置
35に表示させる。
【0040】また、クライアント端末5は、サーバ12
からネットワークあるいは記録媒体6を介して供給され
るコンテンツ作成用ツール50を記憶装置39にインス
トールし、また、これをユーザの操作に応じて起動し
て、3次元仮想空間のコンテンツを作成し、作成したVR
MLコンテンツを、ネットワークあるいは記録媒体6を介
してサーバ12にアップロードするようになされてい
る。
【0041】さらに、クライアント端末5は、表示した
モデルに対する、ユーザによる入力装置38を用いたポ
インティング操作等に応じて、例えば、ポインティング
されたモデルの色を変更したり、モデルを移動させる等
のスクリプトを起動し、3次元仮想空間の表示内容を変
更する。
【0042】つまり、3次元仮想空間上のモデルに対す
るユーザの操作に応じてインタラクティブに表示内容を
変更することにより、クライアント端末5は、ユーザ
に、あたかも実際に3次元仮想空間内において、ユーザ
自身が移動したり、モデルに触れて操作し、移動させた
り音を出したりしているかのような感覚を生じさせる。
【0043】図3は、図1および図2に示したクライア
ント端末5において動作するコンテンツ作成用ツール5
0の構成例を示す図である。この例において、コンテン
ツ作成用ツール50は、ユーザインタフェース部(GU
I:Graphical User Interface)51、編集ツール5
2、シーングラフデータベース53、作業ツール54、
スクリプト作成部56、およびブラウザ57により構成
される。
【0044】編集ツール52は、モデル編集ツール52
1、ルーティング編集ツール522、シーングラフ編集
ツール523、テキストエディタ524、テンプレート
作成ツール525、およびキーフレーム編集ツール52
6により構成され、作業ツール54は、ブラウザエミュ
レータ541、ファイル入出力部542、ファイルスコ
ープマネジメント部543、およびバックアップレスト
ア部544から構成される。また、スクリプト作成部5
6は、Javaコンパイラ561、Javaエミュレータ56
2、およびJavaデバッガ563により構成されている。
【0045】コンテンツ作成用ツール50は、図2のク
ライアント端末5において、記憶装置39にインストー
ルされて用いられるソフトウェアであって、ネットワー
クあるいは記録媒体6を介して配付され、モデル作成作
業とインタラクション作成作業を統合的に関連付けて、
コンテンツの作成を行うようになされている。
【0046】以下、コンテンツ作成用ツール50の構成
部分を説明する。
【0047】ユーザインタフェース部51は、3次元仮
想空間のコンテンツ作成に用いられる各種データの入力
に用いられる画像を、図2の表示装置35に、ウィンド
ウ形式を用いて表示するようになされている。また、ユ
ーザインタフェース部51は、ユーザが、表示装置35
に表示されたウィンドウ内の各種ボタンを入力装置38
のマウス38bを用いて操作することにより入力される
操作入力データ、または、キーボード38aから入力さ
れる操作入力データを受け入れ、必要なデータを編集ツ
ール52の各ツールまたはシーングラフデータベース5
3に供給する。つまり、ユーザインタフェース部51
は、ユーザに対して、GUI環境を提供するようになされ
ている。
【0048】そして、ユーザインタフェース部51は、
編集ツール52またはシーングラフデータベース53か
ら表示出力データを受け、表示装置35の所定のウィン
ドウ内に表示する。なお、編集ツール52、シーングラ
フデータベース53、および作業ツール54の各構成部
分は、ユーザインタフェース部51に入力される操作入
力データに応じて起動され、ユーザインタフェース部5
1により供給された操作入力データに基づいて処理を行
うようになされている。
【0049】編集ツール52は、3次元仮想空間内のモ
デルの図形データおよびインタラクションプログラムの
作成に必要な機能をユーザに提供する。編集ツール52
において、モデル編集ツール521は、表示装置35に
表示されたモデル編集用ウィンドウに対するユーザの操
作により入力されるモデル作成用のデータを用いて、モ
デルの大きさ、色(形状)、位置、または動作等の属性
を示す図形データを作成する。また、モデル編集ツール
521は、作成した図形データ(モデルの属性)を、シ
ーングラフデータベース53に出力する。さらに、モデ
ル編集ツール521は、ユーザインタフェース部51を
介して、表示装置35上のモデル編集用ウィンドウの所
定の位置に、作成された図形データを3次元的または2
次元的に表示する。
【0050】なお、モデル編集ツール521は、記憶装
置39に記憶されている図形データ、記録媒体6から読
み出された図形データ、または、ネットワークを介して
提供されてきた図形データを編集することも可能であ
る。
【0051】ルーティング編集ツール522は、スコー
プ(編集対象となっているVRMLファイル)内で名前が付
されたモデルの図形データとスクリプト等の各ノードと
を対応付けるルーティング編集を行う。なお、ルーティ
ングの際には、ルーティング元とルーティング先のノー
ドの属性(フィールド)の型、例えばSFBool(単一の理
論値を含むフィールド)等を合わせる必要がある。
【0052】VRMLにおいては、各ノードを階層的に配置
することが可能である。シーングラフ編集ツール523
は、モデルの階層構造、および、目に見えないノード
(スクリプトノード等)を編集するようになされてい
る。ノードの階層構造としては、例えば、葉を示すVRML
ファイルF1、枝を示すVRMLファイルF2、幹を示すVR
MLファイルF3、および根を示すVRMLファイルF4を、
木を示すVRMLファイルF5の下の階層として作成する構
造を具体例として挙げることができる。
【0053】ユーザが、現在の編集対象として所定のVR
MLファイルを選択すると、シーングラフ編集ツール52
3は、選択されているVRMLファイルが参照しているノー
ドを、シーングラフウィンドウ76(図4参照)内に、
ツリー形式(シーングラフ)で表示する。このように、
編集対象のVRMLファイルにより参照されているノードの
集合を、ファイルスコープ(またはカレントスコープ)
と称する。シーングラフ編集ツール523は、ルーティ
ング、キーフレーム、またはスクリプト作成等の編集の
対象となるノードを、シーングラフウィンドウ76に表
示されているファイルスコープに限定するようになされ
ている。また、ファイルスコープの内容、および、編集
対象となるノードは、ユーザによる編集対象のVRMLファ
イルの変更に対応して、変更後のVRMLが参照しているノ
ードに変更される。
【0054】テキストエディタ524は、Java言語等の
スクリプトの作成に適したプログラミング言語のエディ
タ機能を有し、スクリプトのソースプログラムの作成を
行うとともに、スクリプトノードに対する編集作業に連
携して、変数の追加、削除および変更を自動的に行うよ
うになされている。
【0055】テンプレート作成ツール525は、ユーザ
の便宜を図るために用いられるツールであって、テキス
トエディタ524と連携して動作し、表示装置35に表
示された「Script Expert」と呼ばれるウィンドウに対
するユーザの操作に応じて、スクリプトの原型となるプ
ログラム(テンプレート)を対話形式で作成してテキス
トエディタ524に対して出力する。このテンプレート
作成ツール525により、ユーザは、テンプレート作成
ツール525が提供し、既にある程度でき上がっている
ソースプログラム(スクリプトのひな型)に、必要に応
じて変更を加えることにより、容易にスクリプトを作成
することができる。
【0056】キーフレーム編集ツール526は、モデル
編集ツール521で編集されたモデルの状態(例えば、
モデルの座標)が、画面上で変化するようなアニメーシ
ョンを作成するようになされている。
【0057】シーングラフデータベース53は、編集ツ
ール52の各ツールが作成したデータを、図2ののRAM
33に記憶し、管理して、編集ツール52および作業ツ
ール54の各構成部分の要求に応じて、記憶したデータ
を、高速にそれらに提供する。
【0058】作業ツール54は、作成したコンテンツの
確認、スクリプトの動作確認、および、データの記録お
よび再生等のコンテンツ作成作業に必要な機能をユーザ
に提供する。
【0059】作業ツール54において、ブラウザエミュ
レータ541は、作成したコンテンツの動作をユーザが
確認するため等の用途に用いられ、表示装置35に表示
される入力用画像に設けられた「Play」ボタンが操作さ
れることにより起動され、シーングラフデータベース5
3に記憶されたコンテンツを、表示装置35の画面のモ
デリングウィンドウに表示し、さらに、ユーザの操作に
応じて表示内容を変更する。
【0060】つまり、ブラウザエミュレータ541は、
ブラウザ57の動作をエミュレートし、ブラウザ57を
用いた場合と同じコンテンツをユーザに示す。なお、ブ
ラウザエミュレータ541は、入力用画像等に設けられ
た「Stop」ボタンが操作されることにより、動作を停止
し、これに対応して、ユーザインタフェース部51は、
元の入力用画像を表示するようになされている。
【0061】ファイル入出力部542は、シーングラフ
データベース53に記憶されたコンテンツの図形データ
〔VRMLファイル(拡張子.wrl)〕、スクリプト(拡張
子.java)、テクスチャファイル(拡張子.bmp,.jpg,.
gif)、またはサウンドファイル(拡張子.wav,.mod)
を、記憶装置39または記録媒体6に記録する。また反
対に、ファイル入出力部542は、記憶装置39等によ
り読み出された上記コンテンツの各種データをシーング
ラフデータベース53に対して出力する。
【0062】VRMLにおいては、図形データのファイル
(拡張子.wrl)ごとに1つのスコープ(ノードに付され
た名前およびルーティングが有効な範囲)が与えられ、
ノード名およびルーティングの管理はスコープを単位と
して行われる。ファイルスコープマネジメント部543
は、シーングラフデータベース53におけるノード名の
管理、ノード名の自動作成、および、ノードの検索を行
うとともに、ノードが同一の図形データファイルを複
数、参照する場合に、図形データファイルに対する変更
を、参照するノード全てに伝播させる。
【0063】ブラウザエミュレータ541がインタラク
ティブ操作可能なシーンを表示すると、ユーザによる操
作に応じてノードの状態が変化し、何らの手当てもしな
ければ、元のシーンの表示ができなくなる。このため、
バックアップレストア部544は、ブラウザエミュレー
タ541が、Playボタンの操作に応じて起動された際
に、モデリングウィンドウに最初に表示したシーン(VR
MLファイルから生成された3次元仮想空間)の各ノード
の初期状態を、シーングラフデータベース53から受け
て記憶する。
【0064】また、ブラウザエミュレータ541は、ブ
ラウザエミュレータ541がStopボタンの押下に応じて
動作を停止した場合に、記憶した各ノードの状態をシー
ングラフデータベース53に対して出力する。なお、ユ
ーザインタフェース部51は、シーングラフデータベー
ス53に入力された各ノードの初期状態に基づいて、モ
デリングウィンドウ内に3次元仮想空間を表示する。
【0065】スクリプト作成部56は、ユーザがテキス
トエディタ524を用いて作成したスクリプトのコンパ
イル、動作確認、およびデバッグ機能を有する。
【0066】スクリプト作成部56において、Javaコン
パイラ561は、シーングラフデータベース53に記憶
されたJava言語によるスクリプトのソースプログラムを
コンパイルしてオブジェクトプログラムを作成し、シー
ングラフデータベース53に対して出力する。
【0067】Javaエミュレータ562およびJavaデバッ
ガ563は、Java言語で記述されたプログラムのインタ
プリタとして動作し、ユーザがスクリプトプログラムの
動作確認およびデバッグを行うために用いられる。つま
り、Javaエミュレータ562は、シーングラフデータベ
ース53に記憶されたスクリプトのオブジェクトプログ
ラムの動作をエミュレートし、Javaデバッガ563は、
Javaエミュレータ562のエミュレート動作時の状態、
および、発生したエラーをシーングラフデータベース5
3に対して出力する。
【0068】ブラウザ57は、例えば、通常のWWWを見
るために用いられるブラウザを、3次元仮想空間の表示
に適するように改良したものであって、記憶装置39か
ら読み出された3次元仮想空間のコンテンツ、あるい
は、図1のサーバ12からネットワークを介して送信さ
れる3次元仮想空間のコンテンツを、表示装置35に表
示させるほか、ユーザインタフェース部51乃至作業ツ
ール54の各構成部分の動作と連動したヘルプファイル
の表示を行う。なお、ブラウザ57としては、本出願人
が提供する「Community Place(商標)Browser」を用い
ることができる。
【0069】以下、コンテンツ作成用ツール50の特徴
的な機能を説明する。ユーザが、表示装置35の画面内
のウィンドウに表示されたPlayボタン(図5を参照して
後述する)をマウス38bで押下すると、ブラウザエミ
ュレータ541は、その時点までに作成されたコンテン
ツを実行し、表示する(動作確認機能)。この機能によ
り、作成したコンテンツを、一度保存してからブラウザ
57を起動して動作確認を行う手間が不要で、しかも、
ユーザは、コンテンツ作成作業中の任意のタイミング
で、それまでの作業により作成したコンテンツの動作を
確認することができる。
【0070】動作確認のために、ユーザがPlayボタンを
押下すると、Javaコンパイラ561がスクリプトのソー
スプログラム(例えば、拡張子として「.java」を有す
るファイル)を自動的にコンパイルし、オブジェクトプ
ログラムを作成するようになされている(MAKE機能)。
【0071】動作確認開始時のコンテンツの状態、およ
び、ユーザの視点をバックアップレストア部544が保
存し、ユーザが、表示装置35の画面内のウィンドウに
表示されたStopボタンをマウス38bで押下することに
より、ブラウザエミュレータ541がコンテンツの実行
を停止した際に、コンテンツを動作確認開始時の状態に
戻し、モデルの表示内容、および、ユーザの視点を、動
作確認開始時の状態に戻す(バックアップレストア機
能)。
【0072】ユーザは、テキストエディタ524を用い
て、Java言語等のスクリプト作成に適したプログラム言
語でスクリプトのソースプログラムを作成し、Javaコン
パイラ561を用いて作成したソースプログラムをコン
パイルし、オブジェクトプログラムを作成することがで
きる(スクリプトプログラムの作成)。このオブジェク
トプログラムは、ブラウザ57でコンテンツを動作させ
る場合の他、ブラウザエミュレータ541により動作確
認を行う場合にも実行される。さらに、ソースプログラ
ムにデバッグコードを追加し、Javaエミュレータ562
で実行すると、Javaデバッガ563がスクリプトの入出
力の値等を表示し、スクリプトのデバッグ作業が可能に
なる(デバッグ機能)。
【0073】ユーザが、スクリプトノードの入出力の値
を対話形式で設定すると、テンプレート作成ツール52
5は、この設定に適合したスクリプトのソースプログラ
ムのひな型(テンプレート)を作成する(テンプレート
自動作成機能)。ユーザは、テキストエディタ524を
用いてテンプレートに必要な変更を加えることにより、
所望のイベントを実現するスクリプトのソースプログラ
ムを作成することができる。この機能により、ユーザ
は、スクリプトのソースプログラムを全てエディタで作
成する手間を省くことができ、しかも、単純なコーディ
ングミスの発生を防ぐことができる。
【0074】図4は、コンテンツ作成用ツール50のユ
ーザインタフェース部51が表示装置35(図2)に表
示するメニュー画面を示す図である。この例において
は、全てのウィンドウが表示されている状態とされてい
るが、勿論、必要なウィンドウだけを表示するようにす
ることもできる。
【0075】コンダクタウィンドウ70は、コンテンツ
作成用ツール50の全体的な管理を行うウィンドウであ
り、新規作成、読み込み、保存、作成したコンテンツの
確認動作の実行、または確認動作の停止を行うことがで
きる。また、マウスモードの切り替え、モデルの追加、
またはモデルの削除等を行うこともできる。
【0076】3Dビュウウィンドウ71には、作成され
た図形データに対応する物体の3次元透視投影図(3D pe
rspective view) が表示される。この3Dビュウウィン
ドウ71により、モデルの動作モード(回転、移動、ま
たは視点移動)を変更し、あるいは、選択されたモデル
を回転あるいは移動させた画像を表示させることができ
るようになされている。
【0077】パラレルビュウウィンドウ72には、3D
ビュウウィンドウ71に表示されているモデルの、側面
図(SideView)、上面図(Top View)、あるいはワイヤ
フレームによる図(Wireframe)が、2次元表示される
ようになされている。
【0078】ルートウィンドウ73は、イベントのルー
ティングを編集するときに用いられる(図6を用いて後
述する)。
【0079】アトリビュートウィンドウ74は、ルーテ
ィングを行うノードの属性と、そのノード名(DEF名)
を設定するときに用いられる。なお、DEF名の設定は、
シーングラフウィンドウ76とルートウィンドウ73を
用いて設定することも可能とされている。
【0080】リソースライブラリウィンドウ75では、
動画(Video)、図形の形状(Shape)、音声(Soun
d)、およびテクスチャ(Texture)の、4つのライブラ
リの管理を行うようになされている。
【0081】シーングラフウィンドウ76には、カレン
トスコープの各ノードが、階層的に配置されて表示され
るようになされている。
【0082】ワールドインフォメーションウィンドウ7
7は、バックグラウンド(Background)ノード、ワール
ドインフォメーション(WorldInfo)ノード、またはナ
ビゲーションインフォメーション(NavigationInfo)ノ
ードの、3つのノードの設定を行うとき用いられる。ワ
ールドインフォメーションウィンドウ77において、バ
ックグラウンドノードの設定では、背景のテクスチャと
背景色を設定することができ、ワールドインフォメーシ
ョンの設定では、VRMLファイルに、タイトル、作者名、
または作成日等を設定することができ、また、ナビゲー
ションモードの設定では、ナビゲーション時の動作を設
定することができる。
【0083】アピアランスウィンドウ78は、モデルの
色(Material)、または、モデルに貼付するテクスチャ
の設定を行うときに用いられる。
【0084】スクリプトエディタ79は、VRMLファイル
や、Javaファイルを編集するときに用いられ、また、Ja
vaプログラムをコンパイルすることもできるようになさ
れている。
【0085】図5は、図4のコンダクタウィンドウ70
の構成例を示す図である。ボタン(Fileボタン)701
−1は、例えば、記憶装置39にファイルとして記憶さ
れているコンテンツを読み込むとき操作される。ボタン
(Playボタン)701−2は、作成したコンテンツの確
認動作(シミュレーションモード)を実行するとき操作
される。ボタン(Saveボタン)701−3は、コンテン
ツを、例えば、記憶装置39に保存するとき操作され
る。ボタン(Pauseボタン)701−4は、実行されて
いる確認動作を一時的に停止させるとき操作される。ボ
タン(Animeボタン)701−5は、アニメーションを
作成するためのキーフレームエディタ(KeyFrame Edito
r)を起動するとき、または、起動されているキーフレ
ームエディタを終了するとき、操作される。ボタン(ス
トップボタン)701−6は、実行されている確認動作
を停止させるとき操作される。
【0086】ボタン702−1乃至702−4は、マウ
スモードを設定することができる。ボタン(Navigateボ
タン)702−1は、パラレルビュウウィンドウ72内
または3Dビュウウィンドウ71内の視点を移動するモ
ードに設定するとき操作される。ボタン(Rotateボタ
ン)702−2は、モデルを回転させるモードに設定す
るとき操作される。ボタン(Moveボタン)702−3
は、モデルを移動させるモードに設定するとき操作され
る。ボタン(Scaleボタン)702−4は、モデルのス
ケールを設定するとき操作される。
【0087】プリミティブバー703は、幾何(Geomet
ry)ノード、センサ(Sensor)ノード、コモン(Commo
n)ノード、バインダブル(Bindable)ノード、または
グループ(Group)ノードを選択して追加することがで
きるようになされている。
【0088】図6は、3Dビュウウィンドウ71、ルー
トウィンドウ73、およびシーングラフウィンドウ76
を並べて配置した場合の表示例を示している。この例に
おいては、シーングラフウィンドウ76には、カレント
スコープとして、モデル(Box)に、ユーザ(ビュー
ア)が近づいたときに、Boxが回転するというワールド
が表示されている状態とされている。このワールドに
は、主に、近接度のセンサノードであるProximitySenso
rノード(ProximitySensor_00:DEF名)、時刻に関する
センサノードであるTimeSensorノード(TimeSensor_0
0:DEF名)、および方向に対する内挿ノードであるOrie
ntationInterpolatorノード(OrientationInterp_00:D
EF名)が用いられており、ルートウィンドウ73では、
ProximitySensor_00ノードからTimeSensor_00ノード
へ、TimeSensorノードからOrientationInterpolatorノ
ードへ、また、OrientationInterpolatorノードからTra
nsformノードへ、それぞれルートが生成されている。な
お、このワールドは、特に階層構造を考慮して作成され
ていないので、いまの場合、TimeSensorノードとOrient
ationInterpolatorノードは、図示するように、シーン
グラフウィンドウ76に表示されているシーングラフの
最上位におかれている。
【0089】次に、画像を音声に同期させるための手法
について説明する。この目的のため、この発明の実施の
形態においては、3次元グラフィックスを実現するため
のコードであるノードとして、Sony_AudioClip(ソニー
オーディオクリップ(Sonyは商標である))、Sony_Tra
ckControl(ソニートラックコントロール)、Sony_Musi
cFilter(ソニーミュージックフィルタ)、およびSony_
MusicNoteInterpolator(ソニーミュージックノートイ
ンターポレータ)を新たに規定している。
【0090】Sony_AudioClipノードは、拡張モジュール
ミュージックファイルの再生と、そのファイルの指定し
たトラックの情報をイベントとして出力することができ
るノードである。出力された音楽情報は、Scriptノード
で受けたり、Sony_MusicNoteInterpolatorなどを経由し
て、他のインターポレータへ伝搬させることができるよ
うになされている。
【0091】このノードの仕様は、次のようになってい
る。
【0092】このSony_AudioClipにおいて、従来のAudi
oClipより拡張されたフィールドは、eventTrack(イベ
ントトラック)と、musicData(ミュージックデータ)
である。上記仕様におけるMFInt32 eventTrackフィール
ドは、イベントとして取得したいトラック番号をMFInt3
2(32ビットのlong型整数の複数値)で指定する。MFI
nt32 musicDataフィールドは、eventTrackで指定したノ
ートデータを発行する。また、Sony_AudioClipのfield
MFNode trackControl[]は、音源のトラック毎のコント
ロールを行うフィールドである。
【0093】図7は、ノートデータのフォーマットを表
している。このノートデータは、図7に示すように、カ
ウント、サイズ、および1以上の音データにより構成さ
れている。カウント(COUNTS)は、そのノートデータに
含まれる音データの数を表している。サイズ(SIZE)
は、1つの音データのサイズ(個数)を示している。各
音データは、音の高さを表すNOTE、トラック番号を表す
TRACK、楽器(インストルメント)の番号を表すINSTRUM
ENT、パターン番号を示すPATTERN、必要に応じて利用さ
れるフィールドであるEffect Commandを表すCOMMAND、
必要に応じて利用されるフィールドであるEffect Comma
nd Parameter1を表すPARAMETER1、および必要に応じて
利用されるフィールドであるEffect Command Parameter
2を表すPARAMETER2により構成されている。
【0094】また、field MFInt32 eventTrackで指定さ
れるトラック番号としては、MIDI(Musical Instrument
Digital Interface)ファイルのトラックを指定すること
ができる。
【0095】即ち、MIDIファイルは、図8に示すよう
に、ヘッダとトラックから構成されており、トラック
は、任意の数のトラックイベントで構成されており、ト
ラックイベントは、経過時間とイベントで構成されてい
る。経過時間は、前のイベントが発生してから対応する
イベントが発生するまでの経過時間を表している。
【0096】従って、例えば、図9に示すように、所定
のトラックイベントに、経過時間N、イベント「ド」と
規定されており、それに続くトラックイベントに経過時
間が2N、イベントが「レ」、その次のトラックイベン
トに経過時間がN、イベントが「ミ」として規定されて
いるとすると、所定のイベントが発生した後、時間Nが
経過したタイミングにおいて、イベント「ド」が発生さ
れ、そのときから時間2Nが経過したタイミングにおい
て、イベント「レ」が発生され、そのときからさらに時
間Nが経過したタイミングにおいて、イベント「ミ」が
発生される。
【0097】なお、経過時間は1つの四分音符の長さの
1/Nを単位として計測される。このNは可変であり、
分解能を表すことになる。即ち、経過時間Nで、四分音
符1個分の時間が経過することになる。さらに、1つの
四分音符の長さをミリ秒単位で表現する「テンポ」と組
み合わせることにより、MIDIファイル中の経過時間を次
式に従って、実世界の経過時間に変換することができ
る。 実時間=経過時間×分解能×テンポ
【0098】MIDIでのデータの送受は、メッセージ単位
で行われる。MIDIメッセージは、メッセージの種類を表
すステータスバイトと、実データを有するデータバイト
から構成されている。ステータスバイトは、図10に示
すように、そのMSBが1とされ、データバイトは、そのM
SBが0とされている。
【0099】図11は、メッセージの種類と、それに対
応するステータス、並びにデータバイトの内容を表して
いる。
【0100】MIDIメッセージは、MIDIチャンネル毎に独
立した演奏情報を伝えるためのチャンネルメッセージ
と、MIDI接続されたシステム全体をコントロールするた
めのシステムメッセージに大別することができる。チャ
ンネルメッセージは、ステータスバイトの下位4ビット
を使用して、1乃至16までのMIDIチャンネルを指定
し、最大16までの異なる演奏パートの情報を伝えるこ
とができる。また、その上位4ビットでメッセージの種
類が表される。
【0101】チャンネルメッセージは、さらに受信側の
発音(ボイス)をコントロールするボイスメッセージ
と、受信側でどのようにボイスメッセージを受信するか
を指定するモードメッセージに区分される。
【0102】システムメッセージは、エクスクルーシブ
メッセージ、コモンメッセージ、およびリアルタイムメ
ッセージに分類される。コモンメッセージは、MIDIシス
テムに接続された機器全てに有効であり、リアルタイム
メッセージは、シーケンサなどの演奏のスタートやスト
ップ、または同期に関するメッセージを含んでいる。エ
クスクルーシブメッセージは、主に、音色、セッティン
グデータの転送などに利用され、ステータスバイトに続
き、メーカー毎のID、さらに任意長のデータバイトで構
成される。このエクスクルーシブメッセージは、エンド
オブエクスクルーシブで終了する。
【0103】エクスクルーシブメッセージのIDに続く任
意長のデータのフォーマットは、それぞれIDを有するメ
ーカーが規定している。
【0104】図7に示すノートデータのノートとして、
例えば、このMIDIファイルのノート(音高情報)を指定
することができる。
【0105】Sony_AudioClipを利用して、ファイルfil
e.xmに規定されている音を再生して、トラック1番とト
ラック2番からイベントを発生させる例を示すと次のよ
うになる。
【0106】Sony_AudioClipから発生するイベントに反
応するScriptノードは、次のように記述することができ
る。 public void processEvent(Event e){ if( e.getName().equals(″musicData″)){ ConstMFInt32 mfi32 = (ConstMFInt32) e.getValue(); //イベント取得 int nData = mfi32.getSize(); int aNotes[] = new int [nData]; mfi32.getValue(aNotes); int track = 0; int note = 0; int nCounts = aNotes[0]; int nSize = aNotes[1]; for( int i = 2 ; i < nCounts ; i += nSize){ note = aNotes[i+0]; // note 取得 track = aNotes[i+1]; // track 番号取得 switch( track ){ : (実処理) :
【0107】Sony_TrackControlノー
ドは、Sony_AudioClipノードが再生する音源のトラック
毎のコントロール(音量/パンなど)を行うためのノー
ドである。その仕様は、次のように規定される。
【0108】このノードにおけるfield MFInt32 tracks
フィールドは、このノードで制御したいトラック番号を
指定する。exposedField SFFloat intensityフィールド
は、値域[0.0-1.0]指定したトラックの音量を与える。e
xposedField SFInt32 panフィールドは、値域[0.0-1.0]
指定したトラックのパンを与える。0.5で中央が指定さ
れる。
【0109】このSony_TrackControlを利用して、SC(Sc
riptノード)のintensity_changedからのイベントを受
けてトラック1番の音量を変化させる例を示すと、次の
ようになる。
【0110】Sony_MusicFilterノードは、拡張モジュー
ルミュージックファイルが指定されたSony_AudioClipノ
ードから、特定のトラックを抜き出し、そのトラックに
対して音量などの操作を他のトラックと独立に行うこと
ができる。AudioClipと同様にSoundノードの音源として
利用できる。その仕様は、次のように規定されている。
【0111】このノードにおけるfield SFNode audioCl
ipフィールドは、Sony_MusicFilterが処理対象とするSo
ny_AudioClipを指定する。field MFInt32 tracks []フ
ィールドは、このフィルタで制御する(鳴らす)トラッ
クを指定する。exposedField SFFloat intensityフィー
ルドは、値域[0.0 - 1.0]対象トラックの音量を設定す
る。exposedField SFFloat panフィールドは、値域[0.0
- 1.0]対象トラックのパンを設定する。
【0112】このSony_MusicFilterを利用して、最初の
Soundノードでは、ファイルfile.xmのトラック2番と3
番のみを鳴らし、2つめのSoundノードでは、ファイルf
ile.xmのトラック0番のみを鳴らす例を示すと、次のよ
うになる。
【0113】Sony_MusicNoteInterpolatorノードは、So
ny_AudioClipが生成するeventOut MFInt32 musicData形
式のイベントを受け入れて、指定したトラックの音の高
さをSFFloatの値のマッピングする。その仕様は、次の
ように規定されている。 PROTO Sony_MusicNoteInterpolator [ eventIn MFInt32 musicData exposedField SFInt32 track -1 exposedField MFInt32 key [] # Noteの範囲 exposedField MFFloat keyValue [] # 割り付ける数値 eventOut SFFloat value_changed ] { }
【0114】このノードにおけるeventIn MFInt32 musi
cDataフィールドは、Sony_AudioClipが出力する形式の
イベントの入力を受ける。exposedField SFInt32 track
フィールドは、着目するトラックの番号を指定する。ex
posedField MFInt32 keyフィールドは、反応する高さを
指定する。exposedField MFFloat keyValueフィールド
は、割り付ける数値を指定する。eventOut SFFloat fra
ction_changedフィールドは、musicDataをマッピングし
た結果を出力する。
【0115】このSony_MusicInterpolatorを利用して、
音階に反応して色が変化する例を示すと次のようにな
る。 DEF S_AC Sony_AudioClip { eventTrack [ 0 2 ] } DEF S_MNI Sony_MusicNoteInterpolator { track 2 key [ 0 12 ] keyValue [ 0.0 1.0 ] } DEF ColorIP ColorInterplator { key [ 0.0 1.0 ] keyValue [ 1.0 0.0 0.0, 0.0 0.0 1.0 ] } : appearance Appearance { material DEF CONE_MATERIAL { } } : ROUTE S_AC.musicData TO S_MNI.musicData ROUTE S_MNI.value_changed TO ColorIP.set_fraction ROUTE ColorIP.value_changed TO CONE_MATERIAL.set_diffuseColor
【0116】次に、図12乃至図14を参照して、表示
されているボックスB1乃至B3に対して、音源のトラッ
ク8乃至トラック10を対応させ、それぞれ対応するト
ラック8乃至トラック10の音(例えばドラムの音)が
発生されたとき、その音に同期して、対応するボックス
の位置と色を変化させる場合の例について説明する。図
12は、音が発生する前の状態を表しており、図13
は、トラック9とトラック10の音が発生され、それに
同期して、ボックスB2とボックス3の位置が変化した状
態を表し、図14は、全てがクリックされ、トラック8
乃至トラック10の音が再生され、それに同期して、ボ
ックスB1乃至ボックスB3の位置と色が変化した状態を
示している。
【0117】このような処理を実行する場合のプログラ
ムの例を、次に示す。 #VRML V2.0 utf8 # Sony_AudioClipから、イベントを発生させて、 # BOXの位置と色を音に合わせて変化させる。 ## Sony_AudioClipの定義 PROTO Sony_AudioClip [ exposedField SFString description ″″ exposedField SFBool loop FALSE exposedField SFFloat pitch 1.0 exposedField SFTime startTime 0 exposedField SFTime stopTime 0 exposedField MFString url [] eventOut SFTime duration_changed eventOut SFBool isActive field MFInt32 eventTracks [] # イベントをとりだすトラックを指定する フィールド eventOut MFInt32 musicData # イベントが発生するフィールド field MFNode trackControls []# トラック毎の制御を行うためのフィール ド ]{ AudioClip { description IS description loop IS loop pitch IS pitch startTime IS startTime stopTime IS stopTime url IS url duration_changted IS duration_changed isActive IS isActive } } ### # Sony_AudioClipから発生したイベントを # VRMLのシーンに変換するイベントに変換する # Scriptノード url ″Nineth.class″ eventIn MFInt32 musicData # Sony_AudioClipの出力を受け取るフィールド eventOut SFTime track8 # 変換されたイベントが発生するフィールド eventOut SFTime track9 # 変換されたイベントが発生するフィールド eventOut SFTime track10 # 変換されたイベントが発生するフィールド } # インターポレータをコントロールするためのタイムセンサ # この使用例では、音データに応じて生成されるイベントによって # これらのタイムセンサが起動される。 DEF TS_8 TimeSensor { cycleInterval 0.5 loop FALSE } DEF TS_9 TimeSensor { cycleInterval 0.5 loop FALSE } DEF TS_10 TimeSensor { cycleInterval 0.5 loop FALSE } # 色を変化させるインターポレータ DEF CI_8 ColorInterpolator { key [0 0.5 1] keyValue [ 0.5 0.5 0.5, 1 0 0, 0.5 0.5 0.5 ] } DEF CI_9 ColorInterpolator { key [0 0.5 1] keyValue [ 0.5 0.5 0.5, 0 1 0, 0.5 0.5 0.5 ] } DEF CI_10 ColorInterpolator { key [0 0.5 1] keyValue [ 0.5 0.5 0.5, 0 0 1, 0.5 0.5 0.5 ] } # 位置を変化させるインターポレータ DEF PI_8 PositionInterpolator { key [0 0.2 1] keyValue [ -1 0 1, -1 4 1, -1 0 1] } DEF PI_9 PositionInterpolator { key [0 0.2 1] keyValue [ 0 0 1, 0 4 1, 0 0 1] } DEF PI_10 PositionInterpolator { key [0 0.2 1] keyValue [ 1 0 1, 1 4 1, 1 0 1] } #-------------------------------------------------------------------- Transform { children[ Sound{ source DEF SAC_AudioClip { # music.midファイルの、トラック8,トラック9,トラック10 # をイベント取得対象トラックとして指定する。 eventTracks [ 8 9 10 ] # event用のトラック指定 loop TRUE URL ″music.mid″ } } # Track8に対応して変化するBOX DEF POS_8 Transform { translation -1 0 1 children [ Shape { appearance Appearance { material DEF OBJ_8 Material{ diffuseColor 1 1 1 } } geometry Box { size 0.5 0.5 0.5 } } ] } # Track9に対応して変化するBOX DEF POS_9 Transform { translation 0 0 1 children [ Shape { appearance Appearance { material DEF OBJ_9 Material{ diffuseColor 1 1 1 } } geometry Box { size 0.5 0.5 0.5 } } ] } # Track10に対応して変化するBOX DEF POS_10 Transform { translation 1 0 1 children [ Shape { appearance Appearance { material DEF OBJ_10 Material{ diffuseColor 1 1 1 } } geometry Box { size 0.5 0.5 0.5 } } ] } ] } # Sony_AudioClipから、Scriptノードにデータを受け渡す。 ROUTE SAC.musicData TO SC.musicData # Scriptノードがtrack8の成分を元にイベントを発行し、 # それに伴って起動されたタイムセンサがボックスを変化させる。 ROUTE SC.track8 TO TS_8.startTime ROUTE TS_8.fraction_changed TO CI_8.set_fraction ROUTE CI_8.value_changed To OBJ_8.diffuseColor ROUTE TS_8.fraction_changed TO PI_8.set_fraction ROUTE PI_8.value_changed To POS_8.taranslation # Scriptノードがtrack9の成分を元にイベントを発行し、 # それに伴って起動されたタイムセンサがボックスを変化させる。 ROUTE SC.track9 TO TS_9.startTime ROUTE TS_9.fraction_changed TO CI_9.set_fraction ROUTE CI_9.value_changed To OBJ_9.diffuseColor ROUTE TS_9.fraction_changed TO PI_9.set_fraction ROUTE PI_9.value_changed To POS_9.taranslation # Scriptノードがtrack10の成分を元にイベントを発行し、 # それに伴って起動されたタイムセンサがボックスを変化させる。 ROUTE SC.track10 TO TS_10.startTime ROUTE TS_10.fraction_changed TO CI_10.set_fraction ROUTE CI_10.value_changed TO OBJ_10.diffuseColor ROUTE TS_10.fraction_changed TO PI_10.set_fraction ROUTE PI_10.value_changed TO POS_10.taranslation ## 以上
【0118】図15は、以上の音に同期してボックスの
位置と色を変化させる例における各ノードの関係を表し
ている。Sony_AudioClipノードのMFInt32 eventTracks
フィールドは、music.midファイルのトラックのうちの
トラック8乃至トラック10のデータをイベントとして
取り込むように指定している。これにより、Sony_Audio
Clipノードは、トラック8乃至トラック10の音が、い
つ発音されるかを知ることができる。これらのトラック
8乃至トラック10に記憶されているMIDIデータに対応
する発音処理そのものは、ブラウザ57がmusic.midフ
ァイルのデータを読み出して実行する。
【0119】Sony_AudioClipノードのMFInt32 musicDat
aフィールドは、トラック8乃至トラック10のイベン
ト(ノートデータ)をまとめて、ScriptノードのmusicD
ataフィールドに供給する。Scriptノードは、これらの
トラック8乃至トラック10のデータを分解する。そし
て、例えば、TimeSensorノードにおけるTS_8 Time Sens
orを、そのTS_8.startTimeフィールドに、現在時刻を設
定することで起動させる。TS_8 TimeSensorノードは、
起動されると予め設定してある所定の時間だけ動作す
る。TS_8.fraction_changedフィールドは、例えば、動
作開始時刻を0とし、動作終了時刻を1とするとき、そ
の間の経過時間に対応する値(0乃至1の間の値)を、
ColorInterpolatorノードにおけるCI_8 ColorInterpola
torのCI_8.set_fractionフィールドと、PositionInterp
olatorノードにおけるPI_8 PositionInterpolatorノー
ドのPI_8.set_fractionフィールドに出力する。
【0120】CI_8 ColorInterpolatorは、入力された値
0に対応する色と、入力された値1に対応する色を予め
規定しており、さらに、0と1の間の数値に対応する色
も、予め規定している。CI_8.value_changedフィールド
は、TS_8.fraction_changedフィールドから供給された
数値(0乃至1の間の値)に対応する色のデータを出力
する。この色のデータは、POS_8 TransformノードのOBJ
_8.diffuseColorフィールドに供給される。このフィー
ルドは、ボックスB1の色を、指定された色に設定す
る。
【0121】以上の処理は、ブラウザ57によりトラッ
ク8の音が発音されるタイミングに間に合うように、そ
の前に行われる。これにより、ブラウザ57が、music.
midファイルのトラック8を再生して出力する音に同期
して、ボックスB1の色が図12乃至図14に示すよう
に変化することになる。
【0122】同様に、PI_8 PositionInterpolatorノー
ドは、入力された値0に対応する位置と、値1に対応す
る位置を予め規定しており、さらに、0と1の間の数値
に対応する位置も予め規定している。PI_8.value_chang
edは、TS_8.fraction_changedフィールドより入力され
た数値に対応する位置データを、POS_8 Transformノー
ドのtranslationフィールドに出力する。このフィール
ドは、入力された位置にボックスB1を表示させる。こ
れにより、ブラウザ57が発音させるmusic.midファイ
ルのトラック8の音に同期して、ボックスB1の位置
が、図12乃至図14に示すように変化することにな
る。
【0123】以上においては、ボックスB1について説
明したが、同様に、トラック9またはトラック10の音
に合わせて、ボックスB2またはボックスB3の色と位置
が変化することになる。
【0124】図16乃至図18は、音に同期して画像を
変化させる他の例を示している。この例においては、図
16に示すように、マーカD1とマーカD2が、それぞれ
所定の位置に配置されている。そして、物体Eが、図1
6に示すように、マーカD1に位置するとき、C4の音
(低い方の「ド」)が発音され、時間の経過とともに、
音がC4から次第に高い音に移行するのにともない、物
体Eが、マーカD1の位置からマーカD2の方向に移動
し、図18に示すように、物体Eが、マーカD2の位置
に到達したとき、C5の音(高い「ド」の音)が発音さ
れる例を示している。この例を実現するプログラムは、
次のようになる。
【0125】 #VRML V2.0 utf8 PROTO Sony_AudioClip [ exposedField SFString descriptiton ″″ exposedField SFBool loop FALSE exposedField SFFloat pitch 1.0 exposedField SFTime startTime 0 exposedField SFTime stopTime 0 exposedField MFString url [] eventOut SFTime duration_changed eventOut SFBool isActive field MFInt32 eventTracks [] eventOut MFInt32 musicData field MFNode trackControls [] ]{ AudioClip { description IS description loop IS loop pitch IS pitch startTime IS startTime stopTime IS stopTime url IS url duration_changed IS duration_changed isActive IS isActive } } # Sony_AudioClipノードが発行するイベントを # キーデータとして受け取り、指定したトラックの # データのみを抽出するノード PROTO Sony_MusicNoteInterpolator [ eventIn MFInt32 musicData # Sony_AudioClipのデータを受け取る フィールド exposedField SFInt32 track -1 # 着目するトラックを指定するフィー ルド exposedField MFInt32 key [] # 音データの範囲を指定するフィール ド exposedField MFloat keyValue [] # 音データを射影する領域を指定する フィールド eventOut SFFloat value_changed # 出力データが発行されるフィールド ] { } #################################################3 DEF S_MNI_POS Sony_MusicNoteInterpolator { track 0 # 0番トラックのデータを抽出し、 key [ 48 60 ] # (C4,C5)の音の範囲を keyValue [ 0 1 ] # 0から1の間の位置にマッピングする } DEF PositionIP PositionInterpolator { key [ 0 1 ] # 0から1の間の値を、 keyValue [ -4 0 0, 4 0 0 ] # (-4,0,0)から(4,0,0)の間の位置にマッピ ングする } # C4 の音が鳴った場合に、物体が配置される場所を示すマーカ DEF SCALE_LOW Transform { translation -4 0 0 children [ Shape { geometry Cone { } appearance Appearance { material Material { diffuseColor 1 0 0 } } } ] } # C5 の音が鳴った場合に、物体が配置される場所を示すマーカ DEF SCALE_HIGH Transform { translation 4 0 0 children [ Shape { geometry Cone { } appearance Appearance { material Material { diffuseColor 0 1 0 } } } ] } # ここで示すオブジェクトが、上記の2つのマーカの間を # 音に合わせて移動する。 DEF CONE_OBJ Transform { children [ Sound { source DEF S_AC Sony_AudioClip { loop TRUE url ″music.mid″ eventTracks [ 0 ] # 0 番のトラックに着目する } } Transform { translation 0 .5 0 children [ Shape { geometry Sphere { radius 0.5 } appearance Appearance { material Material { diffuseColor 0.5 0 0 } } } ] } Transform { translation 0 0 0 children [ Shape { geometry Cone { bottomRadius 0.5 } appearance Appearance { material DEF CONE_MATERIAL Material { } } } ] } # Sony_AudioClip から発行された音のデータを、 # Sony_MusicNoteInterpolator に渡す。 ROUTE S_AC.musicData TO S_NI_POS.musicData # Sony_MusicNoteInterpolator が、指示通りに # 音データを位置データに変換する。 ROUTE S_MNI_POS.value_changed TO PositionIP.set_fraction # 物体の位置を変化させる。 ROUTE PositionIP.value_changed TO CONE_OBJ.set_translation # 以上
【0126】図19は、上記例における各ノードの関係
を表している。この例においては、ブラウザ57が、mu
sic.midファイルに記録されているトラック0を再生さ
せる。このトラック0には、上述したように、C4の音
からC5の音までが記録されており、これが発音され
る。
【0127】Sony_AudioClipノードは、MFFInt32 event
Tracksフィールドにおいて、music.midファイルのトラ
ック0を音源として指定し、そのデータをイベントして
取り込む。これにより、Sony_AudioClipノードは、C4
からC5までの音が発音されるタイミングを知ることが
できる。そして、その発音に間に合うタイミングで、以
下の処理が行われる。
【0128】すなわち、MFInt32 musicDataフィールド
からeventTracksで指定されているトラックのデータ
が、Sony_MusicNoteInterpolatorノードのMFInt32 musi
cDataフィールドに出力される。Sony_MusicNoteIntrpol
atorノードは、そのSFInt32 trackフィールドでしてい
る1つの注目トラック(いまの場合トラック0)のデー
タを、入力された複数のトラックのデータの中から抽出
する。
【0129】MFInt32 keyフィールドには、この例の場
合、C4(低い「ド」)と、C5(高い「ド」)が記憶
される。そして、MFFloat keyValueフィールドには、C
4の音とC5の音それぞれの値が保持される。そして、
SFFloat value_changedフィールドは、C4の音に対応
する値とC5の音に対応する値の間の音高の値を補間
し、PositionInterpolatorノードのPositionIP.set_fra
ctionフィールドに出力する。このノードのkeyフィール
ドには、C4の音に対応する位置のデータとC5の音に
対応する位置のデータが保持され、keyValueフィールド
には、C4の音に対応する位置とC5の音に対応する位
置の数値が保持される。PositionIP.value_changedフィ
ールドは、C4の音に対応する位置とC5の音に対応す
る位置の間の位置データを、CONE_OBJ Tranformノード
のCONE_OBJ.set_translationフィールドに出力する。CO
NE_OBJ Tranformノードは、入力された位置に物体Eを
表示させる。
【0130】なお、SCALE_LAW Tranformノードは、マー
カD1を所定の位置に配置させ、SCALE_HIGE Transform
ノードは、マーカD2を所定の位置に配置させる。
【0131】以上のようにして、ブラウザ57がC4か
らC5の音を発音するタイミングに同期して、物体Eが
マーカD1の位置からマーカD2の位置に、図16乃至図
18に示すように、順次移動する。
【0132】図20は、音に画像を同期させる他の例を
表している。この例においては、ブラウザ57が発音す
る音に同期して、各アバタが踊るようになされている。
このような音と画像の同期も、上述したSony_AudioClip
ノードを使って、容易に実現することができる。
【0133】このように3次元オブジェクトは、VRMLフ
ァイルに基づいてイベントドリブンで描画されるので、
予め算出されたその描画処理時間を考慮して、タイムド
リブンで処理される楽音発生タイミングよりも所定時間
だけ前の時点で、Sony_AudioClipノードから楽音のイベ
ントを発生させることで、3次元オブジェクトの挙動
を、楽音に同期させることができる。
【0134】なお、上記各種の処理を行うコンピュータ
プログラムは、CD−R、CD−ROM、またはフロッ
ピーディスクなどの記録媒体を介してユーザに提供した
り、ネットワークなどの提供媒体を介してユーザに提供
し、必要に応じて内蔵するRAMやハードディスクなどに
記録して利用させるようにしてもよい。
【0135】
【発明の効果】以上の如く、請求項1に記載の情報処理
装置、請求項2に記載の情報処理方法、および請求項3
に記載の提供媒体によれば、音源のデータをイベントと
して出力し、その出力されたイベントに関連して、オブ
ジェクトの画像を変化させるようにしたので、音に画像
を同期させることが可能となる。。
【図面の簡単な説明】
【図1】3次元仮想空間を表す情報を統一的に扱うネッ
トワークシステムの構成例を示す図である。
【図2】図1のクライアント端末5の構成例を示すブロ
ック図である。
【図3】図1および図2に示したクライアント端末5に
おいて動作するコンテンツ作成用ツール50の構成を例
示する図である。
【図4】図3に示したコンテンツ作成用ツール50が表
示装置35に表示するメニュー画面の例を示す図であ
る。
【図5】図4のコンダクタウィンドウ70を表示装置3
5に表示した例を示す図である。
【図6】3Dビュウウィンドウ71、ルートウィンドウ
73、およびシーングラフウィンドウ76を並べて表示
装置35に表示した例を示す図である。
【図7】ノートデータのフォーマットを説明する図であ
る。
【図8】MIDIファイルを説明する図である。
【図9】MIDIファイルにおける経過時間を説明する図で
ある。
【図10】MIDIメッセージのステータスバイトとデータ
バイトを説明する図である。
【図11】MIDIメッセージの種類を説明する図である。
【図12】音に同期してボックスの位置と色を変化させ
る例を示す図である。
【図13】音に同期してボックスの位置と色を変化させ
る例を示す図である。
【図14】音に同期してボックスの位置と色を変化させ
る例を示す図である。
【図15】図12乃至14の例を実現するノードのイベ
ントの授受を説明する図である。
【図16】音に同期して物体が移動する例を示す図であ
る。
【図17】音に同期して物体が移動する例を示す図であ
る。
【図18】音に同期して物体が移動する例を示す図であ
る。
【図19】図16乃至図18に示す例を実現するノード
のイベントの授受を説明する図である。
【図20】音に同期してアバタが踊る例を示す図であ
る。
【図21】従来の音と画像の同期を説明する図である。
【符号の説明】
1 企業内ネットワーク, 2 インターネット, 3
プロバイダ, 4ISDN, 5 クライアント端末,
31 CPU, 32 ROM, 33 RAM,34 通信装
置, 35 表示装置, 36 スピーカ, 37 イ
ンタフェース, 38 入力装置, 38a キーボー
ド, 38b マウス, 39 記憶装置, 51 ユ
ーザインタフェース部, 52 編集ツール, 53
シーングラフデータベース, 54 作業ツール, 5
6 スクリプト作成部, 57 ブラウザ, 521
モデル編集ツール, 522 ルーティング編集ツー
ル, 523 シーングラフ編集ツール, 524 テ
キストエディタ, 525 テンプレート作成ツール,
526 キーフレーム編集ツール
───────────────────────────────────────────────────── フロントページの続き (72)発明者 永原 潤一 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内 (72)発明者 唐澤 英了 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内 (72)発明者 荒川 恵美 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 VRMLで表現された3次元仮想現実空間を
    提供する情報処理装置において、 音源を指定する指定手段と、 前記指定手段により指定された音源のデータをイベント
    として出力する出力手段と、 所定のオブジェクトの画像を表示させる表示制御手段
    と、 前記出力手段より出力されたイベントに関連して、前記
    オブジェクトの画像を変化させる変化手段とを備えるこ
    とを特徴とする情報処理装置。
  2. 【請求項2】 VRMLで表現された3次元仮想現実空間を
    提供する情報処理装置の情報処理方法において、 音源を指定する指定ステップと、 前記指定ステップで指定された音源のデータをイベント
    として出力する出力ステップと、 所定のオブジェクトの画像を表示させる表示制御ステッ
    プと、 前記出力ステップで出力されたイベントに関連して、前
    記オブジェクトの画像を変化させる変化ステップとを備
    えることを特徴とする情報処理方法。
  3. 【請求項3】 VRMLで表現された3次元仮想現実空間を
    提供する情報処理装置に用いるコンピュータプログラム
    であって、 音源を指定する指定ステップと、 前記指定ステップで指定された音源のデータをイベント
    として出力する出力ステップと、 所定のオブジェクトの画像を表示させる表示制御ステッ
    プと、 前記出力ステップで出力されたイベントに関連して、前
    記オブジェクトの画像を変化させる変化ステップとを備
    えるコンピュータプログラムを提供することを特徴とす
    る提供媒体。
JP10030794A 1998-02-13 1998-02-13 情報処理装置および方法、並びに提供媒体 Withdrawn JPH11232487A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10030794A JPH11232487A (ja) 1998-02-13 1998-02-13 情報処理装置および方法、並びに提供媒体
US09/246,397 US6626954B1 (en) 1998-02-13 1999-02-09 Information processing apparatus/method and presentation medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10030794A JPH11232487A (ja) 1998-02-13 1998-02-13 情報処理装置および方法、並びに提供媒体

Publications (1)

Publication Number Publication Date
JPH11232487A true JPH11232487A (ja) 1999-08-27

Family

ID=12313599

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10030794A Withdrawn JPH11232487A (ja) 1998-02-13 1998-02-13 情報処理装置および方法、並びに提供媒体

Country Status (2)

Country Link
US (1) US6626954B1 (ja)
JP (1) JPH11232487A (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3417917B2 (ja) * 2000-10-31 2003-06-16 コナミ株式会社 3次元画像処理方法、その装置、3次元画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体及びビデオゲーム装置
US8006186B2 (en) * 2000-12-22 2011-08-23 Muvee Technologies Pte. Ltd. System and method for media production
US6957392B2 (en) * 2002-01-16 2005-10-18 Laszlo Systems, Inc. Interface engine providing a continuous user interface
USRE48596E1 (en) * 2002-01-16 2021-06-15 Intel Corporation Interface engine providing a continuous user interface
US8751950B2 (en) * 2004-08-17 2014-06-10 Ice Edge Business Solutions Ltd. Capturing a user's intent in design software
WO2009111885A1 (en) 2008-03-11 2009-09-17 Dirtt Environmental Solutions, Ltd. Automatically creating and modifying furniture layouts in design software
US8204856B2 (en) * 2007-03-15 2012-06-19 Google Inc. Database replication
US20090024590A1 (en) * 2007-03-15 2009-01-22 Sturge Timothy User contributed knowledge database
US20100121839A1 (en) * 2007-03-15 2010-05-13 Scott Meyer Query optimization
US20100174692A1 (en) * 2007-03-15 2010-07-08 Scott Meyer Graph store
EP2136356A1 (en) * 2008-06-16 2009-12-23 Yamaha Corporation Electronic music apparatus and tone control method
US20090315897A1 (en) * 2008-06-24 2009-12-24 Microsoft Corporation Animation platform
US8612485B2 (en) * 2008-08-11 2013-12-17 Sony Corporation Deferred 3-D scenegraph processing
US20110093500A1 (en) * 2009-01-21 2011-04-21 Google Inc. Query Optimization
US20130057536A1 (en) * 2011-09-02 2013-03-07 Xiaoyun Li Method for relieving eye strain using animation
US10223637B1 (en) 2013-05-30 2019-03-05 Google Llc Predicting accuracy of submitted data
CN106782458B (zh) * 2016-12-01 2021-05-14 山东大学 基于三维定位原理的空间演奏方法及装置
USD942506S1 (en) * 2017-10-17 2022-02-01 Adobe Inc. Display screen or portion thereof with icon

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261041A (en) * 1990-12-28 1993-11-09 Apple Computer, Inc. Computer controlled animation system based on definitional animated objects and methods of manipulating same
US5812688A (en) 1992-04-27 1998-09-22 Gibson; David A. Method and apparatus for using visual images to mix sound
US6142913A (en) 1995-10-11 2000-11-07 Ewert; Bruce Dynamic real time exercise video apparatus and method
JPH1063470A (ja) 1996-06-12 1998-03-06 Nintendo Co Ltd 画像表示に連動する音響発生装置
US6437777B1 (en) * 1996-09-30 2002-08-20 Sony Corporation Three-dimensional virtual reality space display processing apparatus, a three-dimensional virtual reality space display processing method, and an information providing medium
JP2970558B2 (ja) * 1996-10-25 1999-11-02 日本電気株式会社 オーディオ/ビデオ/コンピュータグラフィクス同期再生合成方式及び方法
US5884029A (en) 1996-11-14 1999-03-16 International Business Machines Corporation User interaction with intelligent virtual objects, avatars, which interact with other avatars controlled by different users
US20010044725A1 (en) * 1996-11-19 2001-11-22 Koichi Matsuda Information processing apparatus, an information processing method, and a medium for use in a three-dimensional virtual reality space sharing system
US6234901B1 (en) 1996-11-22 2001-05-22 Kabushiki Kaisha Sega Enterprises Game device, picture data and flare forming method
US6466239B2 (en) * 1997-01-24 2002-10-15 Sony Corporation Method and apparatus for editing data used in creating a three-dimensional virtual reality environment
US6052123A (en) 1997-05-14 2000-04-18 International Business Machines Corporation Animation reuse in three dimensional virtual reality
GB9721664D0 (en) * 1997-10-14 1997-12-10 Philips Electronics Nv Data management within a virtual environment browser
US6007338A (en) 1997-11-17 1999-12-28 Disney Enterprises, Inc. Roller coaster simulator
US6049805A (en) * 1998-02-24 2000-04-11 Microsoft Corporation Dynamic event mechanism for objects with associational relationships
US6362817B1 (en) * 1998-05-18 2002-03-26 In3D Corporation System for creating and viewing 3D environments using symbolic descriptors

Also Published As

Publication number Publication date
US6626954B1 (en) 2003-09-30

Similar Documents

Publication Publication Date Title
JPH11232487A (ja) 情報処理装置および方法、並びに提供媒体
US6493001B1 (en) Method, apparatus and medium for describing a virtual shared space using virtual reality modeling language
US6466239B2 (en) Method and apparatus for editing data used in creating a three-dimensional virtual reality environment
US6262734B1 (en) Graphic data generating apparatus, graphic data generation method, and medium of the same
US6518989B1 (en) Graphic data generating apparatus, graphic data generation method, and medium of the same
US6552721B1 (en) Graphic data generating apparatus, graphic data generation method, and medium of the same
US6401237B1 (en) Method and apparatus for editing data used in creating a three-dimensional virtual reality environment
US6483508B1 (en) Information processing apparatus and method, and providing medium
US6281900B1 (en) Information processing apparatus and method, and providing medium
WO1998033147A1 (fr) Generateur de donnees de formes, procede de generation de donnees de formes et son support
Akanksha et al. Reusing motions and models in animations
Yuan et al. Virtual reality platform based on open sourced graphics toolkit openscenegraph
JPH11175754A (ja) 情報処理装置および方法、並びに提供媒体
KR100817506B1 (ko) 지능형 콘텐츠 생성방법
KR20150094300A (ko) 3d 디지털 캐릭터 생성을 위한 복합 편집 시스템 및 방법
EP0895196A1 (en) Pattern data generator, pattern data generating method, and its medium
Whyte et al. Visualization and information: a building design perspective
Jin et al. Adorning VRML worlds with environmental aspects
Belfore et al. An interactive land use VRML application (ILUVA) with servlet assist
Qi Virtual interior design based on VRML and JAVA
Gerhard et al. Exploration of the correspondence between visual and acoustic parameter spaces
Chen et al. 3D graphics formats and conversions
Hren Web-based environment for mechanism simulation integrated with CAD system
Pomaska Implementation of Web 3D tools for creating interactive walkthrough environments from building documentations
Balaguer et al. 3D user interfaces for general-purpose 3D animation

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050510