(57)【特許請求の範囲】
【請求項１】
マルチモーダル・レンダラで音響プレゼンテーションと視覚プレゼンテーションとを同期させるためにコンピュータで実施される方法であって、
音響成分用のタグと視覚成分用のタグとを含むブラウザ・マークアップ言語コードを含む文書を受信するステップと、
前記コードに含まれる各々のタグに対応するモデル要素を含むモデル・ツリーを構築するために受信した前記文書のテキストを構文解析するステップと、
音響ビュー及び視覚ビューを構築するために前記モデル・ツリーをトラバースするステップと、
ある音響成分用のタグを示す音響ビューアイテムに基づいて前記テキストに関連付けられた音響成分を生成するステップと、
生成された前記音響成分の再生中に、ある視覚成分用のタグを示す視覚ビューアイテムに基づいて前記テキストを表示するステップと
を含み、
前記トラバースするステップにおいて、前記音響ビュー及び前記視覚ビューを構築するために使用されるが、前記音響ビュー及び前記視覚ビューが構築された後は、前記音響ビュー及び前記視覚ビューの同期を担当しない前記モデル・ツリー内のモデル要素を削除するステップを
含む方法。
【請求項２】
生成され再生された前記音響成分に対応する、表示された前記テキストの部分を視覚的に強調表示するステップ
をさらに含む、請求項１に記載の方法。
【請求項３】
表示された前記テキストと生成され再生された前記音響成分との間の対応関係を維持するために、表示された前記テキストを自動スクロールするステップをさらに含む、請求項２に記載の方法。
【請求項４】
前記音響成分が前記テキストに逐語的に対応する、請求項１ないし３のいずれかに記載の方法。
【請求項５】
前記音響成分は前記テキストに関係付けられるが、逐語的には対応しない請求項１ないし３のいずれかに記載の方法。
【請求項６】
前記音響成分が事前に記録されたクリップである、請求項１ないし３のいずれかに記載の方法。
【請求項７】
前記文書がネットワークから受信される、請求項１ないし６のいずれかに記載の方法。
【請求項８】
前記マルチモーダル・レンダラがネットワーク・ブラウザである、請求項７に記載の方法。
【請求項９】
現在の記事をスキップするために表示されたテキストを先に進めるか、または前の記事に戻すボタンを表示するステップをさらに含む、請求項１ないし８のいずれかに記載の方法。
【請求項１０】
ユーザによる選択を容易にするために、表示された前記ボタンを強調表示するステップをさらに含む、請求項９に記載の方法。
【請求項１１】
マルチモーダル・レンダラで音響プレゼンテーションと視覚プレゼンテーションを同期させるためのコンピュータ・システムであって、
音響成分用のタグと視覚成分用のタグとを含むブラウザ・マークアップ言語コードを含む文書を受信するための入力デバイスと、
前記コードに含まれる各々のタグに対応するモデル要素を含むモデル・ツリーを構築するために受信した前記文書のテキストを構文解析する手段と、
音響ビュー及び視覚ビューを構築するために前記モデル・ツリーをトラバースする手段と、
ある音響成分用のタグを示す音響ビューアイテムに基づいて前記テキストに関連付けられた音響成分を生成する手段と、
生成された前記音響成分の再生中に、ある視覚成分用のタグを示す視覚ビューアイテムに基づいて前記テキストを表示するディスプレイと
を含み、
前記トラバースする手段は、前記音響ビュー及び前記視覚ビューを構築するために使用されるが、前記音響ビュー及び前記視覚ビューが構築された後は、前記音響ビュー及び前記視覚ビューの同期を担当しない前記モデル・ツリー内のモデル要素を削除する手段
を含むコンピュータ・システム。
【請求項１２】
コンテンツ・レンダラ内の音響成分と視覚成分を同期するためにコンピュータを制御するためのコンピュータ・プログラムであって、
実行されることで前記コンピュータに、
音響成分用のタグと視覚成分用のタグとを含むブラウザ・マークアップ言語コードを含む文書を受信するステップと、
前記コードに含まれる各々のタグに対応するモデル要素を含むモデル・ツリーを構築するために受信した前記文書のテキストを構文解析するステップと、
音響ビュー及び視覚ビューを構築するために前記モデル・ツリーをトラバースするステップと、
ある音響成分用のタグを示す音響ビューアイテムに基づいて前記テキストに関連付けられた音響成分を生成するステップと、
生成された前記音響成分の再生中に、ある視覚成分用のタグを示す視覚ビューアイテムに基づいて前記テキストを表示するステップと
を実行させ,
前記トラバースするステップにおいて、前記音響ビュー及び前記視覚ビューを構築するために使用されるが、前記音響ビュー及び前記視覚ビューが構築された後は、前記音響ビュー及び前記視覚ビューの同期を担当しない前記モデル・ツリー内のモデル要素を削除するステップ
を実行させるコンピュータ・プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般に、マルチモーダル・オーディオビジュアル・コンテンツ・レンダラに関し、より詳細には、同期方式で視覚的および言語的にコンテンツを同時にレンダリングするマルチモーダル・コンテンツ・レンダラに関する。
【０００２】
【従来の技術】
現在の技術では、コンテンツ・レンダラ（例えばウェブ・ブラウザ）は関連素材の音響プレゼンテーションと視覚プレゼンテーションを直接的には同期せず、多くの場合、これらは互いに排他的である。標準的なブラウザ（例えばNetscapeまたはInternet Explorer）上におけるハイパーテキスト・マークアップ言語（ＨＴＭＬ）符号化コンテンツのプレゼンテーションは、本来、視覚的なものである。このプレゼンテーション全体にわたる経過の速度および方法は、ユーザの制御下にある。ユーザは、レンダリングされたコンテンツがスクロール可能な場合は（すなわち、視覚コンテンツがプレゼンテーション・ウィンドウの境界線を超えて拡張する場合は）必要に応じてこれをスクロールし、始めから終わりまでコンテンツ全体を読み通すことができる。ユーザは、例えば、始めと終わりの部分だけを読み、コンテンツをサンプリングまたはスキャンすることもできる。基本的に、書籍、新聞または他の印刷物に目を通すために使用可能な方法はすべて標準的なブラウザのユーザに使用可能である。
【０００３】
音響コンテンツのプレゼンテーションはより連続的になる傾向がある。通常の会話で話される内容は始めから中間を通って終わりまで進行するものであり、ユーザはこの経過に関して直接的な制御を有しない。これは記録された媒体ではインデックス付けおよび高速サーチによってある程度までは克服されることができるが、印刷物において可能なランダム・アクセスと同等の容易さを達成することは難しい。音声制御ブラウザは、一般に、ブラウザ入力の音声制御または、音響出力中にＨＴＭＬリンクを音響的に識別する様々な方法に関する。周知の従来技術によるブラウザは、音響成分と視覚成分の間の一般的な同期の問題には関係しない。
【０００４】
ある人物が特定の主題の同期された音響プレゼンテーションと視覚プレゼンテーションを同時に受信することに関心を持つ可能性のある場合がいくつかある。例えば、自動車の設定では、運転手または乗客あるいはその両方がデバイスと対話する場合がある。運転中、運転手は情報が表示されている画面またはモニタを視覚的に読むことは明らかに不可能である。しかし、運転手はどの情報をそのブラウザに音響的に提示させたいかについて選択肢を選ぶことができる。一方、乗客はその音響部分が読み上げられている間、その音響に従って画面を読むことを希望する場合がある。
【０００５】
同様に、文盲または半文盲の成人の場合を想定する。そのような人物は、ブラウザがテキストを読み上げている間その音響に従い、またこれを利用して新しい単語の読み方と見分け方を学習することができる。このようなブラウザは、子供に読み方を学習させることを目的としたコンテンツではなく成人用のコンテンツを提供することによって成人が読み方を学習するのを支援することもできる。最後に、ブラウザとの対話を希望する視覚障害者は、強調表示されたテキストを実際に読むことはできなくても、その強調表示されたテキストを「見て」それを知ることができる。
【０００６】
【発明が解決しようとする課題】
音響モードとビデオ・モードの間でコンテンツを同時にプレゼンテーションするにはいくつかの課題がある。主な課題の１つは２つのプレゼンテーションを同期させることである。例えば、長いコンテンツが複数のページに視覚的にレンダリングされる場合がある。
【０００７】
さらに複雑なのは、視覚的なプレゼンテーションと音響的なプレゼンテーションを１対１でマッピングすることができないということである。アプリケーションによっては、コンテンツのある部分を読み上げずに視覚的にのみレンダリングすることを希望する場合がある。また、アプリケーションによっては、コンテンツを視覚的にレンダリングせずに読み上げることを要求する場合がある。これらの中間にはこれら以外の事例がさらに存在する。例えば、あるアプリケーションは、人物のフルネームを読み上げてニックネームを視覚的に表示する場合がある。
【０００８】
Dvorakによる「Audio Interface for Document Based on Information Resource Navigation and Method Therefor」という名称の米国特許出願第5,884,266号は、音響上独特な音または別の音声などの音声特性を使用してマークアップ・リンクをユーザに提示し、それによってユーザがそのリンクを非リンク・マークアップと識別することができるようにするという概念を実施している。
【０００９】
Brown他による「System and Method for Voice Controlled Video Screen Display」という名称の米国特許出願第5,890,123号は、コンテンツがレンダリングされると、ブラウザを操作するための言語的コマンドに関する。この特許は、コンテンツが表示される際にそのコンテンツを要約すること、および予想される言語的な対話を増大させるためにこの要約を使用することに主に焦点を合わせている。
【００１０】
Ramanによる「Multimodal Information Presentation System」という名称の米国特許出願第5,748,186号は、情報を獲得すること、その情報を共通の中間表現にモデリングすること、およびそのデータに複数の方法またはビューを提供することに関する。しかし、このRamanの特許はその同期がどのように実行されるかについては開示していない。
【００１１】
【課題を解決するための手段】
したがって、本発明の目的は、同期した方法でコンテンツを視覚的および言語的に同時にレンダリングするマルチモーダル・レンダラを提供することである。
【００１２】
本発明の別の目的は、拡張可能なマークアップ言語（ＸＭＬ）ベースのマークアップ・タグ・セットを使用して符号化されたコンテンツがユーザに音響的に読み上げられることを可能にするマルチモーダル・レンダラを提供することである。
【００１３】
本発明は、同期をとる方法でコンテンツを視覚的および言語的に同時にレンダリングするシステムおよび方法を提供する。本発明は、ユーザに対して文書を視覚的かつ音響的にレンダリングする。コンテンツ・レンダラに望まれる動作は、そのコンテンツのあるセクションをユーザが聞いているときに、そのセクションが画面上で視覚化されることであり、さらに音響的にレンダリングされている特定の視覚コンテンツ（例えば単語または語句）が視覚的に強調表示されることである。加えて、本発明は、マルチモーダル入力（触覚入力または音声入力）にも反応する。本発明は、また、埋め込みブラウザ・マークアップ言語（ＥＢＭＬ；Embedded Browser Markup Language）コードがユーザに対して音響的に読み上げられるようにこれをレンダラに処理させることによって、視覚的な手段ではなく音響手段によってアプリケーションまたはサーバをある人物がアクセスすることを可能にする。ＥＢＭＬステートメントは、ユーザに対して音響的に読み上げられる内容が視覚テキストに関係付けはされるが、これと全く同一ではないように結合されることもできる。本発明は、アプリケーション・コードの変更によってではなくマークアップ言語の変更によって変化するコンテンツの音響プレゼンテーションおよび視覚プレゼンテーションを同期させる問題をも解決する。
【００１４】
ＥＢＭＬマークアップ言語は、主としてインターネットのワールド・ワイド・ウェブ（ＷＷＷ）部分に関連付けて使用されるマークアップ・タグの周知の集合であるハイパーテキスト・マークアップ言語（ＨＴＭＬ）のサブセットである。ＥＢＭＬは、また、異なるタグ・セットであるＪａｖａ（Ｒ）スピーチ・マークアップ言語（ＪＳＭＬ；Java Speech Markup Language）のいくつかのタグをも統合している。ＪＳＭＬは、音響レンダリングを制御するタグを含んでいる。本発明のマークアップ言語は、ウェブ・ページの視覚成分と言語成分を同期し、調整するためのタグを提供する。例えば、<SILENT>タグと</SILENT>タグの間にあるテキストは画面上には表示されるが音響的にはレンダリングされない。<INVISIBLE>タグと</INVISIBLE>タグの間にあるテキストは読み上げられるが表示はされない。JSMLから適応された<SAYAS>タグは、視覚的にレンダリングされるコンテンツとは異なるテキスト（またはMicrosoft Windows（Ｒ）オペレーティング・システムで使用されるネイティブ・デジタル音響形式であるＷＡＶファイルなどの記録された音響）を読み上げる（または再生させる）ことを可能にする。
【００１５】
マルチモーダル・ブラウザで音響プレゼンテーションと視覚プレゼンテーションを同期させる方法は、コンピュータ・ネットワークを介して文書を受信するステップと、その文書のテキストを構文解析するステップと、そのテキストに関連付けられた音響成分を提供するステップと、そのテキストとその音響成分を出力するために同時に送信するステップとを含む。
【００１６】
本発明の好ましい実施形態は、コンテンツのあるセクションをユーザが聞いているときにそのセクションが画面上に視覚化され、さらに音響的にレンダリングされている特定の視覚コンテンツ（例えば単語または語句）がなんらかの形で視覚的に強調表示されるような方法およびシステムを提供する。これは音響プレゼンテーションの進行に伴う自動スクローリングが一語一語の強調表示と同じであることを意味する。
【００１７】
上記および他の目的、態様および利点は、図面を参照して以下の本発明の好ましい実施形態の詳細な説明を読むことによってよりよく理解されよう。
【００１８】
【発明の実施の形態】
次に図面、より詳細には図１を参照すると、本発明の方法を示す論理流れ図が示されている。機能ブロック１００では、文書が入力されるか、またはコンピュータ・ネットワークを介して受信される。機能ブロック１０２では、文書はＥＢＭＬタグからテキストを分離して構文解析される。機能ブロック１０４では、構文解析された文書はＥＢＭＬレンダラに渡される。次いで、レンダリングすべき文書がさらにあるかどうかを判定するために決定ブロック１０６でテストが行われる。レンダリングすべき文書がない場合、処理は１０８で終了する。レンダリングすべき文書がある場合、副文書のテキストを逐語的に読み上げるかどうかを判定するために決定ブロック１１２でテストが行われる。読み上げない場合、機能ブロック１１４で視覚成分が表示され、その視覚成分に逐語的に対応しない音響部分が読み上げられる。決定ブロック１１２でテキストが逐語的に読み上げられるべきであると判定される場合、機能ブロック１１６で視覚成分が表示され、その視覚成分に逐語的に対応する音響部分が読み上げられる。機能ブロック１１４と１１６の操作のどちらかが実行された後に、処理は、これ以上行うべきレンダリングはないと判定されるまで決定ブロック１０６にループバックする。
【００１９】
図２は、タッチャブル成分でレンダリングしたページの一例である。ユーザは、このページのテキストが読み上げられる際にこのページでそのテキストを視覚的に読むことができる。一語一語がユーザに音響的に読み上げられると同時に強調表示されるので、読み上げられたばかりの単語（または読み上げられたばかりの単語の近く）をより早く、より容易に識別し、それに触れることができる。さらに、読者が次の画面に進み、あるいは前の画面に戻ることを容易にするボタン２０２および２０４がそれぞれ表示されている。ＥＢＭＬを正確に生成することによって、アプリケーションは全ての記事を順を追って読むことができるが、例えば画面上のボタン２０２を押した場合は現在の記事を飛ばすことができる。したがって、例えば、自動車の運転手は、視覚的には道路に集中し、記事のトピック／タイトルを聞き、その記事に関心がない場合はタッチ・スクリーン上の前進ボタン２０２を素早く見つけることができる。好ましい実施形態では、ブラウザは、例えば「この記事を飛ばす場合は次の画面に進むボタンを押してください」と発話することによって次の画面に進むようユーザに音響で指示する。さらに、このボタンは、点滅するかまたはボタンを識別し易くする色を使用するか、あるいはこれらの両方によってそのボタンだけを画面から浮き上がって見えるようにすることができる。ユーザが現在の記事を飛ばすためにボタン２０２を押したり、前の記事に戻るためにボタン２０４を押したりできる容易さは、ラジオのスイッチを入れたり別のラジオのチャンネルを選択する容易さに相当する。
【００２０】
図３は、本発明を実施することができるシステムのブロック図である。ＥＢＭＬブラウザ３００はネットワーク１００からＥＢＭＬ埋め込みコンテンツを受け取る。ブラウザ３００はそのコンテンツをＥＢＭＬ言語パーサ３０２に渡し、そのＥＢＭＬ言語パーサ３０２は受け取ったコンテンツのＥＢＭＬ言語を構文解析する。次いでパーサ３０２はレンダリングされるべきコンテンツをオーディオ・ビデオ・シンクロナイザ３０４に提供し、そのオーディオ・ビデオ・シンクロナイザ３０４は元のＥＢＭＬの音響部分とビデオ部分のそれぞれの出力を同期する。ディスプレイ・モジュール３０６と音声合成（ＴＴＳ）モジュール３０８はどちらもオーディオ・ビデオ・シンクロナイザ３０４からの出力を受信する。ＴＴＳモジュール３０８は読み上げられるべきＥＢＭＬページの音響部分を準備し、ディスプレイ・モジュール３０６は視覚部分がＴＴＳモジュール３０８からの音響部分と同期されるようにその視覚部分を表示する。
【００２１】
本発明の好ましい実施形態では、ＥＢＭＬの構文解析とレンダリング完了の間には３つの段階があり、これらの段階によってコンテンツの同期をとった聴覚的レンダリングと視覚的レンダリングを可能にし、実行する。３つの段階とはａ）モデルの構築、ｂ）モデルのビューの構成、およびｃ）レンダリングである。
【００２２】
次に、音響成分と視覚成分とを同期する本発明のモデル構築段階を見ると、マークアップ言語がパーサ３０２によって構文解析されると、マークアップ言語のタグごとのモデル要素を含んでいるモデル・ツリーが構築される。ネストにされたタグの要素はモデル・ツリーの親要素の下に位置する。例えば、次のコードは、図４に示すモデル・ツリーを生じさせる。
0004769407.tif 000002
具体的には、Ｐ要素４５６（パラグラフ用）はSayas要素４５４の下に位置する。Sayas要素４５４はBody要素４５２の下に位置する。最後に、Body要素４５２はEBML要素４５０の子である。テキスト自体（例えば、「このテキストは視覚化されます」）は、ツリーの底の特別なテキスト要素４５８に含まれている。
【００２３】
次に、本発明のビュー構成段階を見ると、図５に示すように、提供されたソース・コードに従ってモデル・ツリー４２４が構築されると、そのモデル・ツリーはモデルの別個の音響ビュー４０２と視覚ビュー４１６を作成するようにトラバースされる。音響ビュー４０２は、いわゆる音声合成音声エンジン３０４またはある種のメディア・プレイヤによって読み上げられるアイテム、または音響の流れ（例えば、音響キューの分岐、停止、等）の制御を可能にするアイテムを表現するオブジェクトである音響要素（４０４、４０６、４０８、４１０、４１２、および４１４）のキューを含んでいる。視覚ビュー４１６は、成分（４１８、４２０、４２２）の視覚レンダリングのためのある種のウィンドウ・システム４４０によって使用可能なコンテンツの表現を含んでいる。
【００２４】
モデル・ツリー４２４の各要素（４２６、４３４、４２８、４３０、４３２、４４０、４４２、４３８、４３６）がトラバースされると、その視覚ビュー４１６および音響ビュー４０２を構築するように指示される。所与のタグのテキストの視覚的レンダリングまたは聴覚的レンダリングは、そのタグがモデル・ツリー４２４のどこに位置するかによって異なる。一般に、要素はその視覚属性と聴覚属性とをモデル・ツリー４２４のその親要素から獲得する。モデル・ツリー４２４をトラバースすることによって、親要素がそれの子の前に処理されることが保証され、例えば、<SILENT>タグにネストされた要素ならどの要素でも、それがどれだけ深くても、サイレント属性を得ることが保証される。トラバースは当業者には広範に周知の技術であり、これ以上の説明を要しない。
【００２５】
次いで、現在の要素はその独自の動作を反映するように属性を変更し、したがってツリーでその下に位置する任意のノードを生じさせる。例えば、Silent要素は音響属性を「偽」にセットする。ツリーの<SILENT>ノードの下に位置するノードはどのノードでも（すなわち、<SILENT>EBML構成内に含まれるもの）は、その子孫によって確立されるものと一貫している音響属性を採用する。要素はビューを変更することもできる。例えば、好ましい実施形態では、Sayas要素はSilent要素と同様に、任意の含まれるテキストではなく何か別のものが発話されると、音響属性を「偽」にセットする。しかしさらに、それは、タグ属性に含まれる代用コンテンツを読み上げるために音響ビュー４０２上の１つ以上のオブジェクトを紹介する（ＳＵＢ＝”このテキストは読み上げられます”）。
【００２６】
最後に、含まれるタグとテキスト（すなわち、子要素）が処理される。ツリー４２４でその下に位置するどのノードに対しても、ノードは親とみなされる。したがって、例えば、モデル・ツリー４２４のノード４３４および４３６はノード４２６の子ノードであり、ノード４２６はノード４３４および４３６の親ノードである。音響出力要素（図５の４０４、４０６、４０８、４１０、４１２および４１４）の生成を受け持つノードに加え、これらは視覚プレゼンス（図５の４１８、４２０および４２２）を生成する必要もある。
【００２７】
含まれるタグ要素（例えば、４３４および４３６）に関しては、それら独自のビューを構築することが要求されるだけである（すなわち、ツリーのトラバースが続行される）。含まれるテキスト要素に関しては、テキストはすべての蓄積された属性に関連付けて処理される。したがって、例えば、属性が音響コンテンツではあるが視覚コンテンツではないことを示している場合、音響ビュー４０２は変更されるが視覚ビュー４１６には何も追加されない。好ましい実施形態では、テキストの処理方法に関する情報の大部分はテキスト属性に蓄積されるので、大部分の要素はそれ自体が含んでいるテキストの処理を取り扱う必要はない。それらはむしろ、テキストの処理方法を有する要素を求めてモデル・ツリー４２４を検索する。視覚プレゼンテーションおよび音響プレゼンテーションの同期を維持することに後で関わる要素だけがテキストを処理する方法を有している（例えば、要素４３２）。SayAs要素などのこれらの要素は、発話コンテンツと視覚コンテンツとの間のリンクを提供する。これらの要素は、単語が読み上げられあるいはオーディオ・クリップが再生されると通知を受け、対応する視覚ビュー成分への参照を維持するように、音響キュー４０２上のオブジェクトにそれら自体を登録する。したがって、発話および強調表示に関して独自の動作を有する要素だけがテキストを処理する独自の方法を有する必要がある。例えば、SayAs要素は、完全に異なる音響コンテンツがＴＴＳシンセサイザまたは事前に記録されたオーディオ・クリップのどちらかによってレンダリングされている間に、１ブロックのテキストを強調表示する必要があるという事を管理しなければならない。このような管理すべき特殊な動作を有せず、またツリーで特殊な動作を有する他の要素の下に位置しない大部分の要素は、結局は通常の一語一語の強調表示に集中する単一ルートのＥＢＭＬ要素によって提供されるデフォルト・テキスト処理を使用することになる。
【００２８】
選択要素だけが音響ビューと視覚ビューの間のリンクを維持するためにモデル・ツリー４２４内で使用されるので、それらはビュー構成のフェーズを超えてコンテンツのレンダリングのフェーズに入ることを持続する必要がある。ビュー構成のこの方法の一つの利点は、ツリー内のすべての他の要素（通常は大部分）は、フェーズのレンダリング中はもはや必要とされず、削除されることができるということである。これらの消耗可能な要素（４３４、４３６、４３８、４４０、４４２）を図５に破線で示す。この利点によって記憶域は劇的に節約されることになる。マークアップの典型的なページでは、数百のタグと構築中のテキスト・ノードが生じる場合がある。音響ビューと視覚ビューが構築されると、ビューのプレゼンテーション中に発話イベントを処理するために（また、ビュー間の同期を維持するために）これらのノードのほんの少数だけが残る場合がある。
【００２９】
コンテンツのレンダリング中に、レンダラは音響ビュー４０２全体を反復する。ここで音響ビュー４０２は、以下のものを含む音響経過を指定し制御する一連のオブジェクトから構成される。
読み上げられるべきテキストを含んでいるオブジェクト
要素への入口／出口をマーキングするオブジェクト
音響プレゼンテーションに対する割り込み可能停止を要求するオブジェクト
音響ビュー４０２の再位置付けを要求するオブジェクト（ループバックしてその音響キューの部分を反復する機能を含む）
イベントが処理されると、モデル・ツリー４２４内の適切な保存された要素（４２６、４２８、４３０、４３２）が通知される。モデル・ツリー４２４は、対応する視覚成分（４１８、４２０、４２２）に適切な強調表示の動作を通知し、それらを視覚化することを要求する（すなわち、それらが含んでいるウィンドウに必要に応じて自動スクロールをするよう伝えることを要求する）。
【００３０】
文書を構築／レンダリングするために必要なステップをさらに理解するために、以下の簡単なＥＢＭＬ文書を想定する。
0004769407.tif 000003
【００３１】
パーサ３０２は、図６に記載のモデル・ツリーを作成する。<EBML>５０２と<SAYAS>５０４のノードは、それらの派生ツリーのそれらに関するテキストを処理するように設計されているので太線の楕円で示されている（このカテゴリには他のタグもあるが、この例では２つのタグとした）。音響／視覚ビューへの実際のテキストの追加を行うのはこれら２つのノードである。非テキスト・ノード（５０６、５０８、５１０、５１２、５１４）はタグ名を含む楕円で示される。ブラウザは、音響ビューおよび視覚ビューの構成中にこのモデル・ツリー５２４を使用する。ターミナル・ノード（５１６、５１８、５２０、５２２）は多角形で示されていることに留意されたい。これらのノードは文書の実際のテキストを含んでいる。このツリーの下に続くノードは、どのノードがその要求を処理するかに関わらず、そのツリー上方に向けて構築要求を渡すだけである。
【００３２】
文書の構文解析が完了すると、ブラウザはモデル・ツリー５２４をトラバースし、様々な要求されたビューの構成を開始する。各ノードの構築ルーチンに達すると、このルーチンはいくつかのことを実行することができる。まず、現在のテキスト属性オブジェクトを変更することができるが、これはそのツリーの下に位置するものによってテキストのプレゼンテーションに影響を与える。例えば、<FONT>タグに達すると、<FONT>タグ・ノードは、後続の視覚ビュー構築要求は任意の含まれるテキストに対して特定のフォントを使用するべきであることを示すようにテキスト属性オブジェクトを変更する。下に位置するこれらのノードは、それらがそれぞれに作業を開始する前に属性オブジェクトのその親コピーを獲得するのでこの属性に従う。次に、構築ルーチンは、その祖先までモデル・ツリー５２４を呼び出し、テキストの特定セグメントが処理されるように要求することができる。これはテキスト・ノードに対するデフォルトの動作である。最後に、構築ルーチンはビューに直接的に影響を与えることができる。例えば、<P>タグ・ノードは現在の視覚ビューに改行オブジェクトをプッシュすることができ、したがって、テキストの視覚的流れは割り込みを受けることになる。同様に、タグは音響キューに音響ブレーク・オブジェクトをプッシュすることができ、したがって音響出力に短期間の停止を与えることになる。
【００３３】
ノードは、テキストが処理されるように要求する先祖のツリーを呼び出すと、この機能（この例では<EBML>および<SAYAS>）を実施するノードは、音響／視覚ビューの構築、およびプレゼンテーション中に要求されたいかなる同期の調整をも担当する。
【００３４】
図７は、構築完了後のこの例のＥＢＭＬに対するビューとモデルの間の関係を示している。音響キュー４０２が構築されると、音響／視覚ビューの同期を担当するノードに参照が維持される。例えば、音響ビュー４０２のアイテム６０２はSAYASタグ５０４を指し、音響キュー・アイテム６０４、６０６および６０８はEBMLタグ５０２を指している。これによって、オーディオ・ビデオ・シンクロナイザ３０４によって発行されたイベントは正確なノードに導かれる。モデルは、視覚プレゼンテーションの適切な成分への参照を維持する。これによって、モデル・ノードは、テキストの聴覚的な提示中に必要とされるいかなる同期の動作でも実施することができる。この例では、<SAYAS>ノード５０４は、異なる音響プレゼンテーションと視覚プレゼンテーションのアイテム６０２および５２６の同期を処理する。<EBML>５０２ノードは、要素６０４、６０６、６０８および要素５２８、５３０、５３２によってそれぞれに示されるように音響プレゼンテーションと視覚プレゼンテーションとが同一であるデフォルトの動作を提供する。
【００３５】
ビューが構築されると、モデルはツリーに保持される任意の参照を取り消すように指示される。例えば、Ｊａｖａ（Ｒ）プログラミング言語によって、Java（Ｒ） Virtual Machineの「ゴミ収集」はプレゼンテーション中に同期を提供する必要のないノードを収集することができる。自動的にノードを再生させるために他の「ゴミ収集」システムを使用することもできる。同期に必要なこれらのノードは音響ビュー４０２によって固定され、したがって収集されることが防止される。
【００３６】
図８は、参照が取り消されたツリーを示す。ゴミ収集されることが可能なノードは破線で示される（５０６、５０８、５１０、５１２、５１４、５１６、５１８、５２０および５２２）。
【図面の簡単な説明】
【図１】  本発明の方法を示す論理流れ図である。
【図２】  タッチャブル成分でレンダリングしたページの一例を示す図である。
【図３】  本発明を実施することができるシステムのブロック図である。
【図４】  モデル・ツリーの一例を示す図面である。
【図５】  モデル・ツリーと音響／視覚ビューの間の関係の全体像を示す図である。
【図６】  ビュー構築中に生成された構文解析ツリーの一例を示す図である。
【図７】  ビュー／モデルの相互関係の一例を示す図である。
【図８】  不要なノードを破棄した後の調整されたビュー／モデルの相互関係の一例を示す図である。
【図１】
0004769407.tif 000004
【図２】
0004769407.tif 000005
【図３】
0004769407.tif 000006
【図４】
0004769407.tif 000007
【図５】
0004769407.tif 000008
【図６】
0004769407.tif 000009
【図７】
0004769407.tif 000010
【図８】
0004769407.tif 000011