(57)【要約】【課題】永続的外部記憶をコンパクトにするとともに、従って多くのスペースを必要とし、その結果読出しに長時間を必要とするオブジェクトコードの記憶を防止するようにしたシステムを提供する。【解決手段】ユーザ情報の対話式プレゼンテーション用マルチメディアシステムは対話式ユーザプログラムを記憶するとともにマス記憶エレメントを選択的にアクセスする着脱自在の単位マス記憶エレメントを受ける物理的インターフェースを有する。このマルチメディアシステムは処理結果を表示するためにエレメンタリーユーザのレベルで、特定のユーザアクションに応答してユーザプログラムをアクセスするとともに機能的に処理する。特にこの処理によって記憶手段から読取ったマシン型汎用マルチ命令ブロックのオブジェクトコードをマシン型絶対オブジェクトコードブロックにブロック状に変換して処理用オブジェクトコードの次の選択アクセスに供し得るようにする。【選択図】図１
2006318493.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ情報の対話式プレゼンテーション用のマルチメディアシステムであって、
対話式ユーザプログラムを含む大容量記憶手段をアクセスするアクセス手段（３０）と、
前記ユーザプログラムのランタイム実行の間に、前記大容量記憶手段から読取られた前記ユーザプログラムのマシン型汎用マルチ命令ブロックを、マシン型特定オブジェクトコードブロックにブロック状に変換して、局部的に記憶する変換および記憶手段（３２）と、
前記マシン型特定オブジェクトコードを前記変換および記憶手段（３２）からアクセスする二次アクセス手段（４０）と、
前記二次アクセス手段に接続され前記マシン型特定オブジェクトコードを処理する処理手段（３４）とを具えることを特徴とするマルチメディアシステム。
【請求項２】
ユーザ操作が、大容量記憶手段のアクセスおよびブロック状変換をトリガする、請求項１記載のマルチメディアシステム。
【請求項３】
ユーザの要求または操作に応じて、前記アクセス手段および前記処理手段を制御するユーザ操作手段をさらに具える、請求項１に記載のマルチメディアシステム。
【請求項４】
前記ブロック状の変換は、前記ユーザプログラムのランタイム実行の間に、前記大容量記憶手段からアクセスされなければならないときに行われる、請求項１に記載のマルチメディアシステム。
【請求項５】
前記マシン型汎用マルチ命令ブロックは、種々のマシン型に共通の基本命令を有する、請求項１に記載のマルチメディアプログラム。
【請求項６】
前記種々のマシン型は、命令セット，Ｉ／Ｏデバイス，ドライバ，ビデオハードウェア，タイマ，およびまたはマウスによって異なる、請求項５に記載のマルチメディアシステム。
【請求項７】
翻訳結果が拡長されている、請求項１に記載のマルチメディアシステム。
【請求項８】
前記マシン型汎用マルチ命令ブロックは、前記処理手段の実際のレジスタ構成に従うレジスタレベルで実際の動作を特定しない基本命令を有する、請求項１に記載のマルチメディアシステム。
【請求項９】
対話式ユーザプログラムを含む前記大容量記憶手段（２０）を可逆的にインタフェースするインタフェース手段をさらに具える、請求項１に記載のマルチメディアシステム。
【請求項１０】
前記処理手段により供給され、処理結果を表示する表示手段をさらに具える、請求項１に記載のマルチメディアシステム。
【請求項１１】
ブロック状のアクセス可能性は、
・関連アドレス
・ラベル
・セクタリング
・各プログラムアイテムのカテゴリ
・論理構成
の少なくとも１つによって実現される、請求項１に記載のマルチメディアシステム。
【請求項１２】
前記ユーザプログラムは、ロケーションの程度を示すスコープルールを有する、請求項１に記載のマルチメディアシステム。
【請求項１３】
前記スコープルールは、変数，モジュール，サブルーチンの少なくとも１つのキャラクタを定める追加の情報を与える、請求項１２に記載のマルチメディアシステム。
【請求項１４】
前記スコープルールは、変換の間に与えられる、請求項１３に記載のマルチメディアシステム。
【請求項１５】
前記マシン型汎用命令は、ほぼすべての命令コードおよびデータエレメントを単一キャラクタとして特定することを特徴とする請求項１に記載のマルチメディアシステム。
【請求項１６】
前記大容量記憶手段は、単一形状であり、前記インターフェース手段は、前記大容量記憶手段を着脱可能に配置する収納手段を具える、請求項１または２に記載のマルチメディアシステム。
【請求項１７】
前記大容量記憶手段は、固体状である請求項３に記載のマルチメディアシステム。
【請求項１８】
ユーザ情報の対話式プレゼンテーション方法であって、
対話式ユーザプログラムを含む大容量記憶手段をアクセスするステップと、
前記ユーザプログラムのランタイムの実行の間に、前記大容量記憶手段から読取られた前記ユーザプログラムのマシン型汎用マルチ命令ブロックを、マシン型特定オブジェクトコードブロックにブロック状に変換するステップと、
前記マシン型特定オブジェクトコードブロックを局部的に記憶するステップと、
前記マシン型特定オブジェクトコードをアクセスするステップと、
前記マシン型特定オブジェクトコードを処理するステップとを含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ情報の対話式プレゼンテーション用マルチメディアシステムに関するものである。
【背景技術】
【０００２】
マルチメディアは、少なくともテキスト、静止グラフィック表示およびアニメーションまたは通常のビデオにおける動画の組合せを意味する。追加のまたは他の特徴は、他の可視表示型および音声その他のオーディオ表示、動きその他知覚通信カテゴリにある。記憶手段は、ディスク、ボックス、カード等のような有限またはローカルオブジェクトを見るおよび／または感ずる点で、単一とするのが有利である。この場合、物理的なアクセス手段には、マシンまたはシステムにあるいはこれに隣接して記憶手段を再現可能に配置するある種の収納手段を設ける。この収納手段は、アクセス手段の機械的なフォーマットおよび／または物理的な対話性に従って寸法を決めるようにする。種々のかかる収納手段のフォーマットは、共通に用いられている。他方、記憶手段は共通のデータベースによって表わすことができ、特にローカルユーザから離れているプログラムベースを含む。代表的には、ローカルエリアネットワークへの接続が規則的でないにもかかわらず、マシンは孤立している。かかるシステムの代表的な例は、現在広く市販されている既知のコンパクトディスクインタラクティブ（ＣＤ−Ｉ）システムであるが、本発明はかかるＣＤ−Ｉシステムとともに使用する、またはこれに使用することに限定されるものではない。
【０００３】
上述した一般的なカテゴリのシステムにおいて、ユーザは再生、停止、早送り／早巻戻し、飛越し等のような標準レコーダ機能をも呈しながら、マシンにより行う質問を返答し、メニューアイテムを選択し、特に表示されたフリースタイルのエレメントにアクセスして特定のマシン応答を機能させ、図を描くか、または表示および／または記憶用の他の情報の組合せを合成し、あるいは連続記録プログラムを可視／可聴可能とする。ユーザの種々のカテゴリに対し、およびユーザの要求または動作の応答に対する対話および動作速度の種々のレベルに対し、ＣＤ−Ｉシステムが広範囲のアプリケーションについて意図される限りにおいては、種々の異なる製造業者から供給される記憶ユニットおよびプレーヤ間の両立性を保持しながら、外部記憶手段の記憶を編成レベルで簡潔とする必要がある。代表的なかかるマシンとしては（現在市販されているまたは将来市販される）標準ＣＤ−対話式プレーヤ、ＸＴ／ＡＴパーソナルコンピュータ並びにその付属品およびマッキントッシュのような特定のマシンその他である。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
外部記憶手段からマシンに情報をロードするためには、記憶手段に含まれているデータを常時解釈する。データは操作用オブジェクトとして用いられる情報エレメントである。他方、かかる外部記憶手段からロードされたプログラムは、解釈されるかまたはコンパイルされる。プログラムは、操作自体を決定するために用いられる情報エレメントで形成される。最後にマシンまたはシステムにおける記憶は、オブジェクトコードに基づくものである。その理由は、実行が瞬時であり、且つ他の作動を行う必要がないからである。
【０００５】
本発明の目的は、永続的外部記憶をコンパクトにするとともに、従って多くのスペースを必要とし、その結果読出しに長時間を必要とするオブジェクトコードの記憶を防止するようにしたシステムを提供することにある。
【０００６】
さらに、プレーヤ内の記憶容量がしばしば制限されるため、プログラムの長さが長い場合には、外部情報をしばしばアクセスする必要がある。これがため外部記憶を明白に編成して正しいアドレスを容易に見いだし得るようにすることが要求される。しかし、一般にオブジェクトコードはかかる正しいアドレスを容易に見いだし得ることはできない。特に、ディスク、テープ等が遭遇する機械的な遅延のため、外部記憶媒体が低速となる場合には、総合速度がさらに許容し得ない程度に低下する。
【０００７】
他方、動作速度を保持する目的は、ソースコードの命令／データを外部記憶手段に永続的に記憶するのを阻害する。その理由は、ソースコード命令は断片的に解釈する必要があり、これは実際上著しい処理時間を必要とするからである。
【課題を解決するための手段】
【０００８】
本発明は、ユーザ情報の対話式プレゼンテーション用のマルチメディアシステムであって、対話式ユーザプログラムを含む大容量記憶手段をアクセスするアクセス手段と、前記ユーザプログラムのランタイム実行の間に、前記大容量記憶手段から読取られた前記ユーザプログラムのマシン型汎用マルチ命令ブロックを、マシン型特定オブジェクトコードブロックにブロック状に変換して、局部的に記憶する変換および記憶手段と、前記マシン型特定オブジェクトコードを前記変換および記憶手段からアクセスする二次アクセス手段と、前記二次アクセス手段に接続され前記マシン型特定オブジェクトコードを処理する処理手段とを具えることを特徴とする。
【０００９】
ここに云う“マシン型汎用−”とは上述した汎用命令の多くが上述したマシン型の種々のものに共通であることを意味し、“マシン型特定−”とは互いに“継続”ものとして市販されている特定シリーズの部分を形成するマシンのようなマシンの単一型またはこれに近い型のものがかかるプログラムを直接実行し得るものを意味する。
【００１０】
マシン型汎用命令は容易に構成されるフォーマットであり、そのアクセスが外部的に容易となるように記憶可能とするのが有効である。任意の適用レベルでは、アクセスはセグメンティングによりブロック状とするが、これに限定されるものではない。これは、プログラム自体がその論理構造を経て各プログラムアイテムの記憶位置を正確に知ることを意味する。情報はかかるプログラムアイテムのカテゴリに従って識別することもできる。
【００１１】
また、本発明は上述したシステムとともに使用する単位大容量記憶手段に関するものである。物理的には、かかる記憶手段はコンパクトディスク、磁気テープ、消費型記憶カッセット、電子モジュール等の形態とすることができる。
【実施例】
【００１２】
図面につき本発明の実施例を説明する。
図１は、ユーザ情報の対話式プレゼンテーション用マルチメディアシステムを種々に実現する態様を示すブロック図である。ブロック２０はＣＤ−Ｉディスク、磁気テープ／テープカセット、固体メモリのような大容量記憶媒体その他の遠隔プログラム／データベースの形態の媒体を示す。記憶手段が単一の場合には、このブロックはＣＤレコードの場合のように通常着脱自在とし、記憶モジュール等を適宜のスリッドその他の収納箇所に可逆挿入し得るようにする。上側のチャネルは、記憶手段への第１のアクセス経路を示す。説明の便宜上、電子機械／光学サブシステムは詳細に示さない。最初の実現化では、記憶されたプログラムは、ニューモニックその他の型の表記法を用いる高水準言語、即ち、通常人間が直接読取り得る表現を含む。２次的な利点として、記憶されたプログラムはしばしば完全にコンパクトである。ブロック２２は、命令順次ベースで記憶手段にアクセスし、読出すアクセス機構を示す。次いで、このようにして読出された命令をブロック２４で解読して、何れの操作を実行すべきであるかを識別するとともに、何れのオブジェクトに対して識別し得るかを解読する。この解読はハードウエ−独立操作コード、即ち、オプコードに基づき行う。インタープリタによって、オプコードおよび互いに整合するかまたは整合しないオペランドを読出すとともに、マシン内でデータを修正する。実際上、インタープリタはソフトウエアプロセッサのようにふるまう。一般に、かかる高水準プログラムは、オプコード、オペランド、ソース／デスティネーションアドレス、フラグ、その他種々のエレメントを含み得る種々の異なる種類の命令フォーマットを有する。
【００１３】
また、記憶手段は一般に各々が単位マシン動作またはデータユニットを表わす一連の数より成るオブジェクトコードを記憶することができる。一般にオブジェクトコードは、人間が読取ることはできない。オブジェクトコードの形状は、実際の命令セットに依存するが、市販のレジスタ、チャネル、ポート、その他ハードウエア素子に依存する。適用可能な場合には、ソースコード命令の解読あるいはオブジェクトコード命令の実行は、プロセッサまたはプロセッサ部分２６で行われる。かかる処理の結果は矢印２８で示されるあるユーザ表示変化であり、しかもアクセス機構２２を再び作動させる矢印３８で示される他の命令にアクセスし得るようにする。このシステムは低速に作動する。その理由は、ブロック２４の解読に充分時間がかかるか、あるいはまたオブジェクトコードの記憶媒体へのアクセスが低速となるからである。
【００１４】
下側のチャネルは、特に本発明による記憶装置をアクセスする第２または他の方法を表わす。この場合、記憶媒体は正確に同一の物理的形状を有するが、その編成の実現は相違し、従って図１は媒体特性に対する２つの異なる実現を有効に示す。記憶装置はマシン型汎用フォーマットにおけるブロック状に編成された命令を含み、即ち、これら命令は、その内容が単一的であるにもかかわらず、レジスタレベルでの実際の作動を特定しない。これは、フォーマットが実際のレジスタ構造とは無関係であり、従って命令が種々の異なるハードウエアマシン型で実行し得ることを意味する。特に、ハードウエア、命令セット、およびＩ／Ｏ装置、ドライバ、ビデオハードウエア、タイマ、マウス等のような種々の他の設備および機能特性は、ある汎用特性がこれらエレメントの一部分または全部に対し共通である場合でも充分な変形を示すことができる。従ってブロック状のアクセス可能性は、関連するアドレス、ラベル、セクター化等によって実現することができる。ブロックレベルでのアクセスは、ハードウエアマシンブロック３０で実行される。ハードウエアブロック３２では、このようにして読出した命令のブロックを当該マシンに対しマシン特定であるオブジェクトコードに翻訳または変換する。したがって、他の型のマシンはこの特定の翻訳の結果を実行しない。また、この翻訳は拡張される。次いで、現在得られる命令は、上述したブロック２６に大部分対応する処理エレメント３４によって選択的に実行される。この表示を矢印３６で再び示す。しかし、ブロック２６に対する状況に対比し、遡及結合は矢印４０で示す翻訳された命令の同一ブロックに対し重要になる。能動アクセス手段３０を活性化するアウト−オブ−ブロック規準の比較的稀な発生は説明の便宜上省略する。ブロック３２の垂直破線は、翻訳および記憶の双方の二重機能を示す。
【００１５】
図２はマシン型の特定コードを示す。ブロック５０はソースコード命令を示す。この命令は、一般に、ニューモニック、個別のレジスタ識別子等を使用することにより、人間が直接読取ることができる。構文レベルでは、これらソースコードより成るプログラムは、これが余分なまたは誤った括弧のようなある量の誤りを含む場合でも実行することができる。ブロック５２はマシン型汎用命令を表わす。これは何ら人間が読取り得る必要はないが、プログラムの公式化は完全に補正する必要がある。ブロック５４は特定のマシン型でのみ実行される２つの異なるマシン−特定命令を表わす。図２に示す矢印は種々の型の命令間の相互関係を示す。
【００１６】
図３は変換処理を示すフローチャートである。一般に、マシン型汎用コードからマシン型特定コードへの翻訳は高水準プログラム言語からマシン型特定コードへの慣例のコンパイル処理と同様とする。しかし、マシン型汎用コード表記法が後述するように注意深く設計される場合には、この処理は極めて最適とすることができる。コンパイル処理としては４つの順次のステージが知られている。図３において、ブロック６０は起動を示し、これにより記憶および処理容量のような充分な量の機能を呈せしめるようにする。ブロック６２ではマシン型汎用コードをロードする。マシン型汎用コードは８ビットキャラクタより成り、各々が８ビットの大きさのトークンまたはシンボルのシーケンスにスキャナによりマップする。即ち、トークンストリームの発生はブロック６４への遷移によって記号化する。マシン型汎用コードの特定の構造のため、これは殆どキャラクタベースで１対１のマッピングとなる。例えば、各分離アイテム、各括弧および任意のニューモニックは単一のかかるキャラクタにマップされる。記号の小さなカテゴリは適用範囲を有する整数のような１つ以上のキャラクタを必要とする。これに反し、高水準言語をコンパイルするためにはキャラクタストリームをトークンストリームに翻訳するために著しい処理が必要となる。ブロック６６への遷移が生じると、トークンストリームはストリームベースでデータ構造に変換され、この変換はパーサ、即ち、構文アナライザーによって実行する。特にマシン型汎用コードの構造によって単一のキャラクタによりそれぞれ例えば種々の宣言、オペレーション、ラベル等を表わす。ＭＧＣプログラムに対し簡単な構造を選択することにより変換処理は簡単に処理され、従って効率的となる。ブロック６８に遷移すると、この構造のマシン型特定コードへの翻訳はコード発生器によって実行する。マシン型特定コードが（マシン型汎用コードに対し）低水準キャラクタを有するため、マシン型特定コードへの変換ステップは比較的簡単となり、従って有効となる。ブロック７０では、上述したようにして発生した新たなコードをロードしないで処理を終了する。
【００１７】
一般に、マシン型汎用コードトランスレータは高水準言語トランスレータよりも一層効率的となる。その理由はマシン型汎用コードがかかる効率が得られるように特に設計されているからである。
【００１８】
図４は高水準言語Ｃでリストされる特定のプログラムを示し、かかるプログラムはプログラマにより慣例のように考えられる。説明の便宜上、著しく簡単な例として、後述するように寸法を特定の間隔に規定した２つのアレイｘ，ｙで作動する関数を計算するものとする。この際特に４つの異なる−ｆｏｒ−ステートメントを使用することは明らかである。ある量のルーピングおよび中間変数ｓ，ｔ，ｉの宣言を含むため、このプログラムによって各々が特定の８ビットキャラクタとして示される２７７キャラクタを計数する。人間がプログラムの意味および全構造を容易に把握し得るが、マシンは実行を行うことはできない。その理由はマシンが種々のキャラクタの意味が何であるかを知っていないからである。さらに、得られるハードウエアへのマッピングが特定されておらず、しかも容易に明らかとならないからである。このため、公式化はハードウエアとは無関係となる。
【００１９】
図５および６は特定のマシン、例えばＳＰＡＲＣ(scalable processor architecture）ベースマシンに対するアセンブリ言語にリストされた拡張最適化後の同様のプログラムを示し、ＳＰＡＲＣはＳＵＮコーポレーションの商標である。かかるプログラムはマシンインタープリタによって発生させることができ、このインタープリタによってその適宜のプログラム文脈で図４の種々のリストされたエレメントを処理し、構文エラーをチェックし、ハードウエア設備に得られるエラーをマップし、且つ一般にプログラマの外部有効ツールとしてマップする。このリストは図４のリストよりも一層簡潔である。その理由は全てのオプコード、レジスタ、データ経路、メモリアドレス等を通常簡単なキャラクタのみによって明瞭に特定し得るからである。実際上、ハードウエアに詳細に関連するように、リストには図４よりも多数の情報が含まれている。しかし、マッピングのため、プログラムの終結式長さは図１に示すものよりも幾分短く、単に２２４キャラクタのみである。後に詳細に示すように、特定の変数、モジュール、サブルーチン等の多少大域キャラクタを規定して関連する発呼可能性に影響を及ぼすスコープルールを適用する場合には追加の情報が必要であることは明らかである。かかるスコープルールは互いに発呼されたモジュールを示し、これは全プログラムに適用し得ることを示す。しかし、プログラムの変換後これらテーブルは再び不適切となる。従って、これらは余分のスペースを必要とすることなく排除することができる。
【００２０】
図７は最適化後リストされ、本発明によるマシンコンパイラにより発生し図４のソースコードから出発する本発明マシン型汎用言語の同一プログラムを示す。図４から図５および６への遷移時にマシンコンパイラによって正しいソースプログラムをチェックするがこれはハードウエアにマップせず、最少量のハードウエアが存在するものとして、リアル実行時に多少のハードウエア（レジスタ、データ経路幅、個別の乗算器等）の使用可能性は最終的な処理速度に著しく影響を与えるようになる。このリストにおいて、各ワード、オペランド、孤立文字または括弧は単一８ビットキャラクタの形状に変換し、従って１３６キャラクタのみで充分であり、これは図４および６における場合よりも著しく少ない。次の特定の手段は図４の高水準言語リストから出発する際にフォーマットを減少するようになる。まず第１に、リアル、整数、アレイ等の間を識別する全ての型の情報を抑圧する。即ち、これは実行時に容易に実現できる。第２に、変数の全ての名前を抑圧する。第３に、再び全てのキーワードおよび標準シンボルを各単一のキャラクタにマップする。このリストは著しく簡潔であり、しかも迅速に処理できる。その理由はいわゆるスコープルール（scope rule）を適用する必要がないからである。これらは、特定の変数がローカル適用性のみを有するか、またはその宣言を経てプログラムの構造で特定の高水準に属するかのようなローカル化の程度を示す。この後者の特徴はこの特に簡単なプログラムには存在せず、入れ子型プログラム構造において広い用途を見いだすものである。さらにこの文脈では括弧も抑圧される。
【００２１】
次に示すものは図４に示すマシン型汎用プログラムのエレメントおよびその意味並びに機能のリストを上から順番に示す。
Ｆｆはプログラムの名前ｆの“関数”を規定する。
Ｌ４は４つのローカル変数の使用を特定する。
Ｃ２・・はそれぞれ変数２、３、１のクリアを命令する。
１：はラベルである。
＝４・・は変数４への割当てであり、パラメータ（＄）１の値はローカル変数（＃）１でインデックス
2006318493.tif 000003
される。
Ｚ４  ２：は変数４が零に等しい場合にラベル２にジャンプすることを示す。
２＃４は変数４の値を変数２に加算することを示す。
Ｉ１：は変数１をインクレメントすることを示す。
Ｇ１：はｇｏｔｏラベル１（これは第１の対話式ループの終了）を示す。
次は変数１および同様のラベル３（パラメータ２を使用するだけ）のクリアに続く。
Ｌ・・は変数２が変数３以下の場合にｇｏｔｏラベル５であることを示す。
７：，９：は各々が２つの割当てを有する他の２つのループであることを示す。＝４＃はローカル変数４への割当てであり、パラメータの値はループ“１”で特定することを示す。
＝＄１・・は変数４の値を値１でインデックスされたパラメータ１に割当てることを示す。
Ｅ：は終了を示す。
【図面の簡単な説明】
【００２２】
【図１】ユーザ情報の対話式プレゼンテーションのマルチメディアシステムに対する種々の実現例を示す説明図である。
【図２】マシン型汎用コード対マシン型特定コードの記号化を示す説明図である。
【図３】変換処理を説明するフローチャートである。
【図４】Ｃ言語でリストされた特定のプログラムである。
【図５】アセンブリ言語でリストされた特定のプログラムである。
【図６】アセンブリ言語でリストされた特定のプログラムである。
【図７】本発明によるレーシン(lachine)汎用言語でリストされた特定のプログラムである。
【符号の説明】
【００２３】
２０  マス記憶媒体
２２  アクセス機構
２４  インタープリタ
２６  プロセッサ部分
２８  矢印
３０  能動アクセス手段（ハードウエアマシンブロック）
３２  ハードウエアブロック
３６  処理エレメント
３８  矢印
４０  矢印
５０  ソースコード命令
５２  マシン型汎用命令
５４  マシン型特定命令
【図１】
2006318493.tif 000004
【図２】
2006318493.tif 000005
【図３】
2006318493.tif 000006
【図４】
2006318493.tif 000007
【図５】
2006318493.tif 000008
【図６】
2006318493.tif 000009
【図７】
2006318493.tif 000010