JP2004241873A - Story continuous reproduction program - Google Patents

Story continuous reproduction program Download PDF

Info

Publication number
JP2004241873A
JP2004241873A JP2003026618A JP2003026618A JP2004241873A JP 2004241873 A JP2004241873 A JP 2004241873A JP 2003026618 A JP2003026618 A JP 2003026618A JP 2003026618 A JP2003026618 A JP 2003026618A JP 2004241873 A JP2004241873 A JP 2004241873A
Authority
JP
Japan
Prior art keywords
scene
time
story
time point
reproduction
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.)
Pending
Application number
JP2003026618A
Other languages
Japanese (ja)
Inventor
Nobuyuki Yamamoto
信幸 山本
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.)
BENEDEIKUTO KK
Original Assignee
BENEDEIKUTO KK
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 BENEDEIKUTO KK filed Critical BENEDEIKUTO KK
Priority to JP2003026618A priority Critical patent/JP2004241873A/en
Publication of JP2004241873A publication Critical patent/JP2004241873A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Television Signal Processing For Recording (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a story continuous reproduction program that enables a story to be continuously reproduced in terms of time by using media data of 3D graphics, a moving picture, a sound, still pictures, texts, etc., only by describing a summary and enables a reproduction position to be moved to an arbitrary point of time in the story. <P>SOLUTION: Behavior of an object constituting a story world can directly be described and a scenario is described with a macro instruction which do not require specifications regarding presentation output of media data. On the basis of the scenario, an internal state in the story is generated and the media data are presented and outputted according to the internal state. A method of restoring a scene file wherein the internal state of the story is recorded and a method of carrying out the macro instruction are carried out in combination to move the reproduction position to an arbitrary point of time in the story. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明が属する技術分野】
本発明は、歴史、時事、物語のような複雑なストーリーを、コンピュータを用いて再生する技術に関する。さらに詳しくは、ユーザーが筋書きを記述するだけで、ストーリーを、3Dグラフィック、動画、音声、静止画、テキストなどのメディアデータを用いて、時間的に連続して再生することが可能で、しかも、再生位置をストーリー上の任意の時点に移動することができるストーリー連続再生プログラムに関するものである。
【0002】
【従来の技術】
歴史、時事、物語などのストーリーを表現または再生する技術としては、古くは、書物、漫画、ラジオ、テレビ、映画などがある。しかし、これらの技術は、使用できるメディアデータが限定されるため、表現力に乏しく、また、所望する部分へのランダム・アクセスが難しいという問題もあった。そこで、3Dグラフィク、動画、音声、静止画、テキストなどの異なるメディアデータをデジタル化し、マルチメディアとして一元管理する技術が実現された。このマルチメディア技術を用いて、予め記述されたシナリオに基づいて、ストーリーを再生するシステムとして、ビジネス分野ではマルチメディア再生装置、アミューズメント分野ではコンピュータゲームがある。
【0003】
しかしながら、前述した従来の技術のマルチメディア再生装置や、コンピュータゲームには以下のような問題がある。先ず、第1の問題点として、歴史、時事、物語のような複雑なストーリーにおいて、プログラミング知識がないユーザーがシナリオを記述することが困難であり、さらに、シナリオを記述するだけで、ストーリーを、3Dグラフィック、動画、音声、静止画、テキストなどのメディアデータを用いて、時間的に連続して再生することが困難なことである。
【0004】
このため、シナリオの記述を容易にするための装置が、例えば、特開平5−88963号公報「記録媒体及びマルチメデイア再生装置」に開示されている。この例では、シナリオを記述する命令が、再生装置による使用言語に依存せず、メディアデータを出力するための直接的な命令で構成されている。例えば、マクロ命令「Display a,b,c」は、aは表示される画像、bは水平方向の表示位置、cは垂直方向の表示位置を意味する。また、マクロ命令「Audio−play d,e,f」は音声データdを、eの位置から、f秒間発音させることを意味する。このようなマクロ命令であれば、プログラミングの知識はなくても、シナリオは容易に記述できる。
【0005】
しかしながら、前記の特開平5−88963号公報「記録媒体及びマルチメデイア再生装置」には、次のような問題点がある。シナリオを記述するための命令と、それを実行するための仕組みが、メディアデータを提示出力するタイミングや位置など、提示出力方法に限られていることである。そのため、物語としての筋書きを、すべてメディアデータの提示出力方法に置き換えながら、シナリオを記述しなければならない。例えば、「ローマでシーザーが皇帝になった」という簡単なイベントも、ローマ市を表示するために、ローマ市の画像と表示位置を指定する命令と、シーザーを表示するために、シーザーの画像と表示位置を指定する命令と、イベントを知らせるための音声データと音声データの位置と発音する時間を指定する命令を、それぞれシナリオとして記述する必要がある。そのため、ストーリーが複雑になるほど、シナリオを記述する効率は、著しく低下する。例えば、長大な歴史年表をこの方法でシナリオ化することが、現実的ではないことは明らかである。
【0006】
これは、ストーリーの本質であるストーリー世界を構成する登場オブジェクトとその振る舞いを、シナリオとして直接記述できないことに起因している。例えば「任官、皇帝、シーザー、ローマ」と記述できればシナリオを簡単に記述することができる。
【0007】
また、前述した従来の技術のコンピュータゲームにおいては、シナリオとメディアデータと再生プログラムは一体化しており、プログラミング知識なくしてシナリオを記述することそのものが困難である。一部、登場オブジェクトの能力値や、マップの地形などの単純な初期値をシナリオとして記述できるものもあるが、複雑なストーリーの筋書きを記述できるものはない。これには、次のような事情がある。
【0008】
プログラミング知識がなくても、シナリオを記述できるようにするためには、シナリオを記述するマクロ的な命令が、筋書き固有の情報だけを含み、コンピュータの内部情報を含まないことが必要である。例えば前述した特開平5−88963号公報「記録媒体及びマルチメデイア再生装置」の「Display a,b,c」においてa、b、cがコンピュータの内部情報にあたる。また前述した「任官、皇帝、シーザー、ローマ」の記述には、コンピュータ内部情報は含まれず、すべて筋書き固有の情報である。しかし、この後者の方法では、筋書き固有の情報を、コンピュータの内部情報に変換するためのオーバーヘッドが発生し、処理速度を低下させてしまう。
【0009】
コンピュータゲームにおいて、処理速度の低下は、大きな障害になる。近年のコンピュータゲームは、3D化されたオブジェクトをリアルタイムで表示する3Dゲームが主流である。この手法で、滑らかな画像を得るためには、1秒間30フレームから60フレームの画面を更新しなければならない。例えば、秒間30フレームを実現するためには、1/30秒、すなわち約33ミリ秒の間に、内部データを更新し、1画面分のすべての表示処理を完了しなければならない。この処理が遅れると、表示画面がぎくしゃくし、ユーザーに違和感を与えてしまう。この33ミリ秒という時間は、現在のCPU、メモリ、グラフィックチップの能力では、決して、余裕のあるものではない。そのため、制作現場では、同時に表示する3Dオブジェクトの数を減らしたり、3Dオブジェクトのポリゴン数を減らしたり、様々な工夫を凝らしている。
【0010】
これらの事情から、少しでも処理速度を上げるため、シナリオ毎にプログラムが最適化され、シナリオとメディアデータと再生プログラムが一体化する傾向にある。
【0011】
また、第2の問題点は、ストーリーの筋書きであるシナリオと、その表現形態であるメディアデータを、それぞれ単独に再利用することが困難なことである。これは、シナリオとメディアデータにおいて、どちらか片方を変更すれば、もう片方も変更しなければならないことを意味する。
【0012】
例えば前述した特開平5−88963号公報「記録媒体及びマルチメデイア再生装置」では、メディアデータを変更せずに、シナリオだけを変更することはできない。なぜなら、シナリオのマクロ命令「Display a,b,c」を「Displayd,b,c」に変更した場合、画像dを新たに追加しなければならないからである。これは、ストーリーの本質であるべきシナリオのマクロ命令の中に、その表現形態に過ぎないメディアデータの提示出力方法を含んでいるからである。言い換えると、ストーリーの本質であるシナリオと、その表現形態に過ぎないメディアデータが、完全に分離されていないことに起因する。
【0013】
さらに、第3の問題点は、再生位置をストーリー上の任意の時点に移動することが困難なことである。
【0014】
このため、再生位置を任意の位置に移動する方法が、例えば、特開平9−26868号公報「マルチメディアタイトル再生装置」に開示されている。この例では、タイトルの任意の位置における、オブジェクトの提示状態情報データを生成・保持し、このデータを利用することでタイトルの任意の位置の状態が復元できることを利用している。前述した従来の技術の他のマルチメディア再生装置やコンピュータゲームにおいても、再生位置を任意の位置に移動する場合は、本質的に同じ技術を用いている。すなわち、再生位置における内部情報の記録と復元にのみ頼るという技術である。
【0015】
しかしながら、このような従来の技術には、次のような問題点がある。再生位置をストーリー上の任意の時点に移動するためには、ストーリー時間軸上のすべての時点におけるストーリー内部の時点情報を記録しておかなければならない。これは無限の時点情報が必要なことを意味する。なぜなら、時間は始まりと終わりを特定しても、その間に無限の時点が存在するからである。従って、このような方法を採ることは現実には不可能である。
【0016】
【発明が解決しようとする課題】
本発明は上記の点に鑑みてなされたものであり、その第1の目的は、歴史、時事、物語のような複雑なストーリーにおいて、プログラミング知識がないユーザーでも容易にシナリオを記述することができ、さらに、シナリオを記述するだけで、ストーリーを、3Dグラフィック、動画、音声、静止画、テキストなどのメディアデータを用いて、時間的に連続して再生することができるストーリー連続再生プログラムを提供することにある。
【0017】
また、本発明の第2の目的は、ストーリーの筋書きであるシナリオと、その表現形態であるメディアデータを、それぞれ単独に再利用することができるストーリー連続再生プログラムを提供することにある。
【0018】
さらに、本発明の第3の目的は、再生位置をストーリー上の任意の時点に移動することができるストーリー連続再生プログラムを提供することにある。
【0019】
【課題を解決するための手段】
本発明は、上記の課題を解決するためのものであり、請求項1の発明は、シナリオに基づき、ストーリーを、マルチメディアを用いて、時間的に連続して再生するためにコンピュータを、ユーザーからの再生の指示を受け取るための再生指示入力手段、3Dグラフィック、動画、音声、静止画、テキストなどを含むメディアデータとその各データを識別するメディアデータIDとを記憶しているメディアデータ記録手段、ストーリー時間軸上の再生位置を示す再生時点に、更新単位時間を加算することにより、再生時点を更新する再生時点更新手段、ストーリーのシナリオを記述する命令であって、該命令が実行されるストーリー時間軸上の実行時点を指定する実行時点パラメータと、ストーリー世界を構成する登場オブジェクトの生成、削除、変更を指定するオブジェクトパラメータを有し、前記メディアデータの提示出力方法に関するパラメータを含まないマクロ命令が、前記実行時点に従って時系列的に配列されたシナリオを記録しているシナリオ記録手段、前記再生時点におけるストーリー世界を構成するすべての登場オブジェクトの情報を含むシーンデータを記録しているシーンデータ記録手段、前記シナリオを参照し、前記実行時点パラメータの実行時点が前記再生時点と一致するマクロ命令を選択して実行することにより、前記再生時点における前記シーンデータを生成するシーンデータ生成手段、前記シーンデータ記録手段からシーンデータを参照し、該シーンデータが含む登場オブジェクトの情報に応じて、前記メディアデータIDを選択し、該メディアデータIDに対応するメディアデータを前記メディアデータ記録手段から読み出し、提示出力するシーンデータ提示手段、一定周期ごとに、前記再生時点更新手段と前記シーンデータ生成手段と前記シーンデータ提示手段とを起動することによって、ストーリーを時間的に連続して再生する連続再生手段、として機能させるためのストーリー連続再生プログラムである。
【0020】
請求項2の発明は、請求項1の発明のストーリー連続再生プログラムにおいて、再生位置を移動するために、ユーザーからストーリー時間軸上の移動先時点を受け取るための移動先時点入力手段、ストーリー時間軸上の1時点におけるストーリー世界を構成するすべての登場オブジェクトの情報を含むシーンファイルを複数と、各シーンファイルの該時点がシーンファイル時点として登録されているシーンファイル時点リストとを記録しているシーンファイル記録手段、前記シーンファイル記録手段からシーンファイル読み出し、該シーンファイルに含まれる登場オブジェクトの情報を基に、前記シーンデータ記録手段のシーンデータを生成し、該シーンファイルに対応するシーンファイル時点を新たな再生時点とすることによって、再生位置を該シーンファイル時点に移動するシーン復元手段、前記再生時点が前記移動先時点に一致するまで、前記再生時点更新手段と前記シーンデータ生成手段を繰り返し実行することにより、移動先時点におけるシーンデータを生成し、再生位置を移動先時点に移動するシーン早送り手段、前記シーン復元手段と前記シーン早送り手段とを組み合わせ実行することにより、再生位置をストーリー上の任意の時点に移動する再生位置移動手段を、さらに備えたものである。
【0021】
請求項3の発明は、請求項2の発明のストーリー連続再生プログラムにおいて、
前記再生位置移動手段は、前記移動先時点が、再生位置移動の開始時点である移動元時点より過去の場合には、前記シーンファイル記録手段のシーンファイル時点リストを検索し、前記移動先時点よりも過去に位置し、なおかつ前記移動先時点に最も近いシーンファイル時点を選択し、前記シーン復元手段によって該シーンファイル時点まで再生位置を移動した後、前記シーン早送り手段によって前記移動先時点まで再生位置を移動し、前記移動先時点が、前記移動元時点より未来の場合には、前記シーンファイル記録手段のシーンファイル時点リストを検索し、前記移動元時点と前記移動先時点の間にシーンファイル時点が登録されているかを調べ、登録されていない場合は、前記シーン早送り手段によって前記移動元時点から前記移動先時点まで再生位置を移動し、シーンファイル時点が登録されている場合は、前記シーン復元手段によって該シーンファイル時点まで再生位置を移動した後、前記シーン早送り手段によって、前記移動先時点まで再生位置を移動する方法と、前記シーン早送り手段だけにより前記移動元時点から前記移動先時点まで再生位置を移動する方法とを比較し、処理時間がより短い方法により再生位置を移動することを特徴とする。
【0022】
請求項4の発明は、請求項2または3の発明のストーリー連続再生プログラムにおいて、前記シーンファイル記録手段は、シーンファイル時点リストに登録されているシーンファイル時点が、時系列的に配列されていて、隣り合うシーンファイル時点間の時間間隔が一定値以内であることを特徴とする。
【0023】
請求項5の発明は、請求項2乃至4の発明のストーリー連続再生プログラムにおいて、前記シナリオ記録手段のシナリオに記述されているマクロ命令は、該マクロ命令のストーリー上のイベント名を指定するイベント名パラメータをさらに備え、前記移動先時点入力手段は、前記イベント名パラメータが有効なマクロ命令だけを前記シナリオから抽出し、抽出されたマクロ命令の実行時点パラメータの実行時点及び前記イベント名パラメータのイベント名から成るレコードのリストを表示し、ユーザーにレコードを選択させることにより前記移動先時点を入力することを特徴とする。
【0024】
請求項6の発明は、請求項5の発明のストーリー連続再生プログラムにおいて、前記シーンファイル記録手段は、前記シナリオに記述されているマクロ命令の中で、イベント名パラメータが有効なマクロ命令の実行時点パラメータに指定された実行時点のすべてが、シーンファイル時点としてシーンファイル時点リストに登録されていることを特徴とする。
【0025】
【発明の実施の形態】
以下、図面を参照して本発明の各実施の形態について説明する。ここで、本発明によるストーリー連続再生プログラムは、パーソナルコンピュータのようなごく一般的なコンピュータ上で実現することが可能である。
【0026】
(実施の形態1)先ず、本発明の請求項1に対応する第1の実施の形態について説明する。図1は、本発明の第1の実施の形態におけるストーリー連続再生プログラムの構成を示すブロック図である。
【0027】
図1において、データ処理装置100は、CPU、メモリ、各種コントローラからなり、本発明のストーリー連続再生プログラムを実行する。
【0028】
入力装置101は、マウス、キーボードなどの入力機器により構成され、ユーザーからの入力を受け取る。表示装置110は、グラフィック・ディスプレイ装置であり、ストーリー世界を表示する。音声出力装置111は、音声合成装置やスピーカーを備えた出力装置で、音声、効果音、音楽を出力する。外部記憶装置112は、磁気ディスク、光ディスク、光磁気ディスク等のランダムアクセス可能な大容量記憶装置であり、本発明のストーリー連続再生プログラムを実行するために必要なプログラムコードやデータを記録している。
【0029】
再生指示入力手段102は、入力装置101から受け取ったユーザーからの入力を解釈し、ストーリーの再生/停止の指令として、後述する連続再生手段103に通知する。
【0030】
再生時点更新手段104は、ストーリー時間軸上の再生位置を示す再生時点を更新する。
【0031】
ストーリー時間軸は、ストーリー世界における時点を管理するための1次元の時間軸である。このストーリー時間軸上の時点は、日付または時間の少なくともいずれかを含んで構成されるが、構成の内容は、実施の形態によって決められる。例えば、シナリオが、年表程度の歴史であれば、時点の構成は年・月・日、現代の時事のように詳細な時点を表現する場合は年・月・日・時・分というように、シナリオの内容に応じて設定する。
【0032】
再生時点は、このストーリー時間軸上の時点であり、特に、表示装置110や音声出力装置111で再生中の時点を示し、現実世界における現在時点に相当する。
【0033】
再生時点の更新は、再生時点に、更新単位時間を加算することにより行われる。そのため、再生時点は、更新単位時間ごとに更新される。更新単位時間の値は、前述したストーリー時間軸上の時点の最小単位に合わせて決定される。例えば、時点が年・月・日で構成される場合は、更新単位時間は1日となる。仮に、更新単位時間を2日にすれば、再生時点が2日おきでしか表現できなくなり、整合性がとれなくなるからである。
【0034】
シナリオ記録手段107は、ストーリーの筋書きが記述されたシナリオが記録されている。このシナリオは、ストーリー世界の構成要素である登場オブジェクトの振る舞いを記述したものであって、メディアデータの提示出力方法は含まない。そのため、シナリオを記述するためのマクロ命令は、実施の形態に固有な形態のマクロ的な命令ではあるが、下記のような特徴を有する。
【0035】
先ず、第1に、すべてのマクロ命令は、その命令が実行されるストーリー時間軸上の時点を指定する実行時点パラメータを備えている。以後、実行時点パラメータで指定される時点を実行時点とよぶ。
【0036】
第2に、マクロ命令は、ストーリー世界を構成する登場オブジェクトの生成、削除、変更を指定するオブジェクトパラメータを備え、前述したメディアデータの提示出力方法に関するパラメータは含まない。これは、メディアデータの提示出力処理は、後述するシーンデータ提示手段106によって、自動的に処理されるため、シナリオとして記述する必要がないからである。
【0037】
第3に、マクロ命令は、前述した実行時点パラメータに指定された実行時点に従って、シナリオ上で時系列的に配列されている。これは、ストーリーの進行処理において、マクロ命令が実行時点の順に実行されるため、時点順に配列されている方が処理の効率が良いからである。
【0038】
ここで、シナリオ上で、マクロ命令そのものを実行時点の順に配列する方法の他に、マクロ命令に固有のインデックスを割り当て、このインデックスをマクロ命令の実行時点の順に配列したインデックステーブルを用いる方法もある。後者の場合は、マクロ命令そのものは、実行時点の順に配列されている必要はない。
【0039】
ここで、シナリオのフォーマット例を図11に示し、マクロ命令を詳しく説明する。このフォーマットは、シナリオを歴史とし、ストーリー時間軸上の時点の構成を、年・月・日、更新単位時間は、前述した理由により1日とする。図11から、実行時点パラメータは、年・月・日で指定されていることが分かる。また、この例では、登場オブジェクトの生成、削除、変更を指定するオブジェクトパラメータは、複数のパラメータから構成されている。命令語は、それに続くオブジェクトパラメータの意味を判別するために使われる。補助1、補助2は命令語を補助するために使われる。数値、名称はぞれぞれ、数値と名称を指定するために使われる。人物、国(国1、2)、位置の各パラメータは、それぞれ、人物、国、位置を指定するために使われる。IDはシナリオ上のマクロ命令を識別するための固有の番号である。また、図中のシナリオは、歴史上の正確さを保証するもではない。
【0040】
以下、マクロ命令ごとに、具体的に説明する。図11のID7のマクロ命令は「1857年5月10日に、セポイの乱が、デリーで発生」を意味している。この命令の実行時点パラメータは「1857年5月10日」なので、この命令は、前述した再生時点更新手段104によって更新された再生時点が1857年5月10日に一致したとき、後述するシーンデータ生成手段105によって実行される。実行される内容は、命令語が「反乱」で、補助1が「発生」なので、新たに反乱の登場オブジェクトを生成する。マクロ命令で、反乱名が「セポイの乱」、位置が「デリー」と指定されているので、新たに生成される反乱の登場オブジェクトの反乱名は「セポイの乱」、位置は「デリー」となる。ここで、位置は、地点名で表されている。
【0041】
本実施の形態では、ストーリー世界における位置は、地点によって管理される。地点も、登場オブジェクトであり、位置情報である地球上の緯度・経度と、名称である地点名とから成るレコードとして、地点データ・テーブルで管理されている。そのため、地点名をキーワードに、地点データ・テーブルから、緯度・経度を特定できる。
【0042】
図11のID8のマクロ命令は、ID7のマクロ命令で発生させた反乱を終了させる命令で「1857年9月1日に、デリーで、セポイの乱が終了」を意味している。このマクロ命令は、再生時点更新手段104によって更新された再生時点が「1857年9月1日」に一致したとき実行され、その結果、名称が「セポイの乱」である反乱の登場オブジェクトが削除される。
【0043】
次に、図11のその他のマクロ命令を簡単に説明する。ID4のマクロ命令は「1853年1月1日、セシル・ローズが、男性として、イギリス国籍で、ロンドンに誕生」を意味している。このマクロ命令は、再生時点が「1853年1月1日」に一致したとき実行され、その結果、性別を「男性」、姓名を「セシル・ローズ」、国籍を「イギリス」、位置を「ロンドン」とする人物の登場オブジェクトが生成される。
【0044】
ID11のマクロ命令は、ID4のマクロ命令で誕生したセシル・ローズの身分を設定する命令で「1881年1月1日、セシル・ローズが、ケープで、デ・ビアスの社長になる」を意味している。このマクロ命令は、再生時点が「1881年1月1日」に一致したとき実行され、その結果、姓名が「セシル・ローズ」である人物の登場オブジェクトの身分が「デ・ビアス社長」に、位置が「ケープ」にそれぞれ変更される。
【0045】
ID5のマクロ命令は「1856年9月1日、広州で、アロー戦争が、フランスと清国の間で発生」を意味している。このマクロ命令は、再生時点が「1856年9月1日」に一致したとき実行され、その結果、戦争名を「アロー戦争」、戦争国を「フランス」と「清国」、位置を「広州」とする戦争の登場オブジェクトが生成される。
【0046】
ID10のマクロ命令は、ID5のマクロ命令で発生させたアロー戦争を終了させる命令で、「1860年1月1日、アロー戦争が終了」を意味している。このマクロ命令は、再生時点が「1860年1月1日」に一致したとき実行され、その結果、戦争名が「アロー戦争」である戦争の登場オブジェクトが削除される。
【0047】
ID6のマクロ命令は「1857年1月1日、飢饉が、広州で発生し、70000人の犠牲者が出た」を意味している。このマクロ命令は、実行時点が「1857年1月1日」に一致したとき実行され、その結果、災害の種類を「飢饉」、犠牲者数を「70000」、位置を「広州」とする災害の登場オブジェクトが生成される。
【0048】
ID9のマクロ命令は「1858年1月2日、デンバーで、金が特産品となる」を意味している。このマクロ命令は、実行時点が「1858年1月2日」に一致したとき実行され、その結果、特産品の品目を「金」、位置を「デンバー」とする特産品の登場オブジェクトが生成される。
【0049】
このように、ストーリー世界を構成する登場オブジェクトの振る舞いを記述するだけで、画面表示のための表示タイミングや表示位置など、メディアデータの提示出力方法を指定する必要がない。そのため、プログラミング知識がないユーザーでも容易にシナリオを記述することができる。
【0050】
図1のシーンデータ記録手段108は、ストーリー時間軸上の再生位置を示す再生時点におけるストーリーの内部状態を、シーンデータとして記録している。このシーンデータは、再生時点におけるストーリー世界を構成するすべての登場オブジェクトの情報を含んでいる。本実施の形態では、これらの登場オブジェクトの情報は、登場オブジェクトのタイプ別に作成されたデータ・テーブルに記録、管理される。このデータ・テーブルは、レコードを登場オブジェクトとし、フィールド(項目)を登場オブジェクトの構成要素としている。
【0051】
このデータ・テーブルのレコード(登場オブジェクト)は、前述したマクロ命令が指定する登場オブジェクトの生成、削除、変更に従い、それぞれ、データ・テーブル上で生成、削除、変更される。
【0052】
このデータ・テーブルの例を図14に示す。図の反乱データ・テーブルは、「反乱」の登場オブジェクトを記録していて、レコードの項目は、反乱名、位置である。IDはレコード番号である。ID0のレコードは、反乱名を「セポイの乱」、位置を「デリー」とする反乱の登場オブジェクトである。
【0053】
人物データ・テーブルは、「人物」の登場オブジェクトを記録していて、レコードの項目は、性別、姓名、身分、国籍、位置である。ID0のレコードは、性別を「男性」、姓名を「セシル・ローズ」、身分を「デ・ビアス社長」、国籍を「イギリス」、位置を「ケープ」とする人物の登場オブジェクトである。
【0054】
戦争データ・テーブルは、「戦争」の登場オブジェクトを記録していて、レコードの項目は、戦争名、戦争国1、戦争国2、位置である。
【0055】
災害データ・テーブルは、「災害」の登場オブジェクトを記録していて、レコードの項目は、種類(災害の)、犠牲者数、位置である。
【0056】
特産品データ・テーブルは、「特産品」の登場オブジェクトを記録していて、レコードの項目は、品目、位置である。
【0057】
地点データ・テーブルは、「地点」の登場オブジェクトを記録していて、レコードの項目は、地点名、緯度、経度である。
【0058】
このように、登場オブジェクトの情報は、反乱、人物、戦争、災害、特産品、地点のように登場オブジェクトのタイプ別に作成されたデータ・テーブルに記録、管理されている。
【0059】
図1のシーンデータ生成手段105は、シナリオ記録手段107のシナリオを参照し、実行時点パラメータの実行時点が前述した再生時点と一致するマクロ命令を選択して実行することにより、再生時点におけるシーンデータを生成し、シーンデータ記録手段108に記録する。
【0060】
シーンデータ生成手段105は、内部に、マクロ命令ポインタを備えている。このマクロ命令ポインタは、シーンデータ生成手段105が次に処理するマクロ命令へのポインタが格納されている。
【0061】
図5は、シーンデータ生成手段105の動作を示すフローチャートである。この図を用いて、シーンデータ生成手段105の動作を説明する。先ず、マクロ命令ポインタが指し示すマクロ命令を、シナリオ記録手段107のシナリオから取得する(ステップ501)。次に、読み出されたマクロ命令がシナリオ最後の命令かを判定し(ステップ502)、最後の命令ならば(ステップ502:Yes)、処理を終了し、最後の命令でなければ(ステップ502:No)、次の処理に進む。
【0062】
シナリオ最後の命令の判定方法としては、予めマクロ命令にEND命令を定義しておき、マクロ命令がEND命令に一致するかで判定する方法や、マクロ命令ポインタが、シナリオの最後のマクロ命令の位置を指しているかで判定する方法がある。
【0063】
次に、読み出されたマクロ命令の実行時点パラメータに指定された実行時点と、前述した再生位置を示す再生時点を比較し(ステップ503)、一致しない場合は(ステップ503:No)、処理を終了し、一致する場合は(ステップ503:Yes)、このマクロ命令を実行する(ステップ504)。
【0064】
このマクロ命令の実行を、図11のシナリオのフォーマット例と、図14のデータ・テーブル例を用いて、具体的に説明する。先ず、図11のID7のマクロ命令を説明する。ID7のマクロ命令は、前述したように、名称を「セポイの乱」、位置を「デリー」とする反乱の登場オブジェクトを生成することを指示している。そのため、このマクロ命令が実行されると、図14の反乱データ・テーブルに、反乱名を「セポイの乱」、位置を「デリー」とするレコード(ID0)が新しく生成される。
【0065】
また、図11のID8のマクロ命令は、前述したように、名称が「セポイの乱」である反乱の登場オブジェクトを削除することを指示している。そのため、このマクロ命令が実行されると、図14の反乱データ・テーブルにおいて、反乱名が「セポイの乱」に一致するレコード(ID0)が削除される。
【0066】
また、図11のID11のマクロ命令は、前述したように、姓名が「セシル・ローズ」である人物の登場オブジェクトの身分を「デ・ビアス社長」に、位置を「ケープ」に変更することを指示している。そのため、このマクロ命令が実行されると、図14の人物データ・テーブルにおいて、姓名が「セシル・ローズ」に一致するレコード(ID0)の身分が「デ・ビアス社長」、位置が「ケープ」に変更される(図14は変更された後の状態である)。
【0067】
このように、登場オブジェクトを記録するデータ・テーブルのレコード(登場オブジェクト)は、前述したマクロ命令が指定する登場オブジェクトの生成、削除、変更に従い、それぞれ、生成、削除、変更される。
【0068】
次に、マクロ命令ポインタをインクリメントし(ステップ505)、ステップ501に戻る。
【0069】
このように実行時点パラメータの実行時点が再生時点と一致するマクロ命令をすべて実行するまで、ステップ501からステップ505のループ処理を繰り返していく。これにより、再生時点で発生するストーリー上のすべてのイベントは、マクロ命令として実行され、再生時点におけるシーンデータ(ストーリーの内部状態)が生成される。
【0070】
図1のメディアデータ記録手段109は、3Dグラフィック、動画、音声、静止画、テキストなどのメディアデータとその各データを識別するメディアデータIDを記録している。
【0071】
ここでいう3Dグラフィックは、コンピュータグラフィックにより作成された複数の連続したベタ画像を、連続的に表示再生する動画とは異なる。すなわち、画面に登場する物体を、物体の3次元形状の情報と、物体の表面画像情報や色情報をベースに構成し、物体の動きや変化は、3次元形状の情報そのものを移動あるいは変形させて行うものをいう。
【0072】
このような3Dグラフィックの標準フォーマットとして、例えばMicrosoft社のXファイル形式がある。Xファイル形式では、物体の3次元形状の情報としてポリゴン、物体の表面画像の情報としてテクスチャーを用いて構成される。ここではXファイル形式を前提に話を進めるが、特定のフォーマットに限定するものではない。
【0073】
メディアデータIDは、メディアデータを識別するための識別子である。図10に、メディアデータIDの一例を示す。この図を用いて、メディアデータIDの構造と、メディアデータの提示出力との関係を説明する。この例では、メディアデータIDは、メディアタイプを識別するメディアIDと、データを識別するデータIDから構成されている。
【0074】
ここで、メディアIDが4、データIDが9として具体的に説明する。先ず、メディアIDは4なので、同図のメディアIDテーブルから、このメディアタイプはXファイル形式であることが分かる。そこで、同図のXファイル・アドレステーブルを参照して、データIDが9のデータアドレスを取得する。このデータアドレスは、反乱を表現するXファイル形式のメディアデータが格納されているメモリのアドレスを示している。
【0075】
次に、このメディアタイプはXファイル形式であることが分かっているので、Xファイル形式を提示出力する専用のプログラムに、取得したデータアドレスを渡し、実行させる。これにより、反乱を表現するXファイル形式のメディアデータが提示出力される。
【0076】
この例では、メディアタイプを、動画としてMPEG形式、静止画としてBMP形式、テキストとしてテキスト形式、音声としてWAVE形式、3DグラフィックとしてXファイル形式としているが、それぞれ形式を限定するものではない。
【0077】
また、図10から分かるように、Xファイル・アドレステーブルと同様に、他のメディアタイプも、データIDとデータアドレスを関連づけるそれぞれのアドレステーブルを保持している。
【0078】
図1のシーンデータ提示手段106は、シーンデータ記録手段108のシーンデータに含まれている登場オブジェクトの情報に応じて、メディアデータIDを選択し、選択されたメディアデータIDに対応するメディアデータを、メディアデータ記録手段109から参照し、表示装置110や音声出力装置111に、提示出力する。
【0079】
図6は、シーンデータ提示手段106の動作を示すフローチャートである。この図を用いて、シーンデータ提示手段106の動作を説明する。先ず、シーンデータ記録手段108のシーンデータの中から、これから処理する登場オブジェクトを選択する(ステップ601)。具体的には、前述したように、登場オブジェクトは、タイプ別に作成されたデータ・テーブルに記録されているので、これらのデータ・デーブルの中から、レコードを順次選択していく。
【0080】
ここで、例として、選択された登場オブジェクトが、図14の反乱データ・テーブルのID0の「セポイの乱−デリー」として説明を進める。先ず、この登場オブジェクトが画面の表示範囲に入っているか判別する(ステップ602)。具体的には、表示画面の左上点と右下点に対応するストーリー空間上の緯度・経度を、それぞれ保持していて、この位置情報と、登場オブジェクトのストーリー空間上の緯度・経度とを比較することにより判別する。この例の場合、登場オブジェクトは、図14の反乱データ・テーブルのID0なので、位置は「デリー」である。そこで、地点名「デリー」をキーワードとして、図14の地点データ・テーブルから緯度が28.40度、経度が77.14度と特定できる。ここで、緯度・経度データは、北緯と東経をプラス符号で、南緯と西経はマイナス符号で表している。これらの位置情報を比較し、選択された登場オブジェクトが画面の表示範囲に入っているかを判別し、表示範囲外であれば(ステップ602:No)、提示出力する必要がないのでステップ601に戻る。
【0081】
表示範囲内であれば(ステップ602:Yes)、登場オブジェクトの情報に応じて、対応するメディアデータIDを選択する(ステップ603)。ここでは、処理対象の登場オブジェクトが、図14の反乱データ・テーブルのID0の「セポイの乱−デリー」としているので、反乱を表現するXファイル形式のメディアデータを選択する。図10より、このメディアデータIDは、「00040009」と分かる。このように、データ・テーブルのレコード(登場オブジェクトの情報)とメディアデータIDの関連づけは、シーンデータ提示手段106の中で、予め決められている。
【0082】
次に、メディアデータIDのメディアIDから、メディアデータを提示出力するメディア提示出力プログラムを特定する(ステップ604)。この例の場合、メディアIDが4(Xファイル形式)なので、Xファイル形式の提示出力プログラムとなる。
【0083】
さらに、このメディアID4に対応するアドレステーブル(Xファイル・アドレステーブル)とデータID9からメディアデータが格納されているデータアドレスを獲得する(ステップ605)。図10より、このデータアドレスは、反乱を表現するXファイル形式のメディアデータが格納されているメモリのアドレスを示している。
【0084】
ここで、選択されたメディア提示出力プログラムは、獲得されたデータアドレスが示すメディアデータを、表示画面上の該当する位置に、提示出力する(ステップ606)。この例では、Xファイル形式の提示出力プログラムが、Xファイル形式の反乱メディアデータを、表示画面に提示出力する。
【0085】
この表示画面上の位置は、前述した表示画面の左上点と右下点の位置に対応する緯度・経度と、登場オブジェクトの緯度・経度から、登場オブジェクトの画面上の相対的位置を算出して求められる。
【0086】
また、メディア提示出力プログラムは、3Dグラフィック、動画、静止画、テキストを表示装置110に、音声、効果音、音楽を音声出力装置111に、それぞれ出力する。
【0087】
次に、すべての登場オブジェクトが処理されたかを確認し(ステップ607)、処理されていれば(ステップ607:Yes)、処理を終了し、未処理の登場オブジェクトが残っていれば(ステップ607:No)、ステップ601に戻る。
【0088】
このように、すべての登場オブジェクトが処理されるまで、ステップ601からステップ607のループ処理を繰り返す。すなわち、登場オブジェクトを記録しているすべてのデータ・テーブル、すべてのレコードに対して、このループ処理が実行される。これにより、ストーリー世界の状態が、メディアデータを用いて表現される。
【0089】
以上のように、シナリオは、登場オブジェクトの情報だけを更新し、メディアデータは、登場オブジェクトの情報だけを基に提示出力される。そのため、シナリオを変更しても、登場オブジェクトの情報が変わるだけで、それに応じてメディアデータは提示出力され、正常に動作する。よって、シナリオを変更しても、メディアデータを変更する必要はない。また逆に、メディアデータを変更しても、対応する登場オブジェクトの表現形態が変えて提示出力されるだけで、正常動作する。そのため、メディアデータを変更しても、シナリオを変更する必要はない。これらのことから、シナリオとメディアデータを、それぞれ単独に再利用することができる。これにより、コンテンツ制作における作業効率を大幅に向上させることができる。
【0090】
図1の連続再生手段103は、再生指示入力手段102から再生の通知を受けて起動された後、タイマを用い、一定周期で、再生時点更新手段104、シーンデータ生成手段105、シーンデータ提示手段106を起動し、実行するため、時間的に連続したストーリーの再生が保証される。
【0091】
図7は、連続再生手段103の動作を示すフローチャートである。概略として、ステップ702からステップ708までは連続再生におけるループを形成している。このループ1回の処理で、1つの再生時点におけるシーンデータの生成と提示出力を実行する。この1ループ処理に要する現実の時間をタイムスライスとする。そのため、このタイムスライスの値を変えることによって、再生速度を変えることができる。例えば、タイムスライスの値を小さくすれば、1ループの時間が小さくなるので、再生速度は速くなる。
【0092】
次に処理を詳細に説明する。先ず、タイムスライスをセットする(ステップ701)。次に、タイマから、タイマカウントの値を読み出し、タイマカウンタ1に格納する(ステップ702)。このタイマカウント値は、ステップ702を処理している時点における現実の時間を表している。ここでタイマは、コンピュータ内蔵のタイマを用いているが、計時できれば手段は問わない。
【0093】
次に、再生時点更新手段104によって再生時点が更新される(ステップ703)。次に、シーンデータ生成手段105によって、シーンデータ記録手段108のシーンデータが、再生時点の状態に更新される(ステップ704)。このステップ704は、図5のシーンデータ生成手段105のフローチャートに対応している。次に、シーンデータ提示手段106によって、シーンデータを基に、ストーリー内部の状態が、表示装置110と音声出力装置111に提示出力される(ステップ705)。このステップ705は、図6のシーンデータ提示手段106のフローチャートに対応している。次に、新しく再生指示入力があったかを判定し(ステップ706)、入力があれば(ステップ706:Yes)、再生指示入力処理のため、この処理を終了し、入力がなければ(ステップ706:No)、次に進む。
【0094】
次に、時間的に連続した再生を実現するために、再生速度を一定に保つ処理を行う。先ず、タイマからタイマカウントの値を読み出し、タイマカウンタ2に格納する(ステップ707)。ステップ702における現実の時間はタイマカウンタ1に格納されているので、ステップ702からステップ707までに経過した現実の時間は(タイマカウンタ2−タイマカウンタ1)で表される。ここで、(タイマカウンタ2−タイマカウンタ1≧タイムスライス)を満たすまで、ステップ707からステップ708のループを繰り返す。これにより、ステップ702からステップ708までの処理時間はタイムスライスに等しくなり、再生速度は一定に保たれ、時間的に連続した再生が可能になる。
【0095】
次に、プログラム全体の処理の流れを説明する。図3は、全体の処理の流れを示すフローチャートである。本発明のストーリー連続再生プログラムが起動されると、まずシステムの初期化のために、下記の処理を行う。外部記憶装置112から、シナリオ・ファイルを読み出し、シナリオ記録手段107にシナリオを格納する(ステップ301)。外部記憶装置112から、メディアデータ・ファイルを読み出し、メディアデータ記録手段109にメディアデータとメディアデータIDを格納する(ステップ302)。外部記憶装置112から、シナリオ開始時点におけるシーンデータ・ファイルを読み出し、シーンデータ記録手段108にシーンデータを格納する(ステップ303)。
【0096】
次に入力装置101から、ユーザーの入力指示があった場合に、入力イベントが発生し(ステップ304)、各イベントに対応する処理が実行される。入力イベントが再生ならば連続再生を実行し(ステップ305)、停止ならば停止イベントを発生し(ステップ306)、再生を停止し、終了ならば、プログラムを終了する。ここで、ステップ305の連続再生は、図7の連続再生手段103のフローチャートに対応している。
【0097】
(実施の形態2)次に、本発明の請求項2及び3に対応する第2の実施の形態について説明する。本発明の第2の実施の形態は、第1の実施の形態に、再生位置をストーリー上の任意の時点に移動する機能を追加したものである。
【0098】
この任意の時点は、ストーリー時間軸上の時点であって、シナリオの最初のマクロ命令の実行時点パラメータに指定された実行時点以後の時点を指す。また、この再生位置の移動は、再生中であっても実行できる。
【0099】
図2は、本発明の第2の実施の形態におけるストーリー連続再生プログラムの構成を示すブロック図である。本実施の形態におけるストーリー連続再生プログラムは、図1に示した第1の実施の形態のストーリー連続再生プログラムの構成に、移動先時点入力手段201、再生位置移動手段202、シーン早送り手段203、シーン復元手段204、シーンファイル記録手段205を付加するようにしたものである。なお、その他の手段等は図1に示した第1の実施の形態のストーリー連続再生プログラムと同様なので、対応する手段等には同一符号を付してそれらの詳しい説明は割愛する。
【0100】
図2において、移動先時点入力手段201は、再生位置を移動するために、ストーリー時間軸上の移動先を示す移動先時点を、入力装置101を通して受け取る。
【0101】
シーン早送り手段203は、再生位置移動手段202によって起動され、再生時点が移動先時点に達するまで、再生時点更新手段104とシーンデータ生成手段105を繰り返し実行することにより、移動先時点におけるシーンデータを生成する。この結果、再生位置は移動先時点に移動する。
【0102】
ここで、シーン早送り手段203の動作を詳述する。図8は、シーン早送り手段203の動作を示すフローチャートである。先ず、シーンデータ生成手段105により、再生時点におけるシーンデータを生成する(ステップ801)。このステップ801は、図5のシーンデータ生成手段105のフローチャートに対応している。次に、再生時点更新手段104により、再生時点を更新する(ステップ802)。更新された再生時点が移動先時点と一致するならば(ステップ803:Yes)、処理を終了し、一致しなければ(ステップ803:No)、ステップ801に戻る。
【0103】
このように再生時点が移動先時点に一致するまで、ステップ801からステップ803のループ処理を繰り返してゆく。これにより、再生位置移動の開始時点から、移動先時点までのシナリオ中のすべてのマクロ命令が実行され、移動先時点におけるシーンデータ(ストーリーの内部状態)が生成される。その結果、再生位置は、移動先時点に移動したことになる。
【0104】
ここで、このシーン早送り手段203は、シナリオさえあれば、そのマクロ命令を実行することにより、すべての時点に移動できるというメリットがある。
【0105】
逆にデメリットとして、再生位置移動の開始時点と移動先時点との間に存在するマクロ命令の数が多いほど、再生位置移動に時間がかかることが挙げられる。すなわち、再生位置移動に要する時間は、移動先時点に依ってばらつきがある。
【0106】
図2のシーンファイル記録手段205は、複数のシーンファイルと、各シーンファイルのシーンファイル時点をすべて登録したシーンファイル時点リストとを記録している。シーンファイルは、ストーリー時間軸上の1時点においてストーリー世界を構成するすべての登場オブジェクトの情報を含んでいる。また、シーンファイル時点は、シーンファイルのストーリー時間軸上の時点を示す。
【0107】
本実施の形態において、これらのシーンファイルは、データ量が大きいため、本発明によるストーリー連続再生プログラムが起動された後、メモリ上ではなく、外部記憶装置112に格納されている。そのため以後、シーンファイル記録手段205からシーンファイルを読み込むという表現は、ハードウェア上、外部記憶装置112からメモリへの読み込みを意味する。もちろん、メモリ容量が十分であれば、本発明によるストーリー連続再生プログラムの起動時に、一旦、すべてのシーンファイルを外部記憶装置112からメモリに読み込んで利用する方法もある。
【0108】
シーンファイルは、シナリオの最初のマクロ命令から、このシーンファイルのストーリー時間軸上での時点であるシーンファイル時点に至るまでのすべてのマクロ命令を、実行時点順に実行した結果が記録されている。言い換えれば、シナリオの最初のイベントからシーンファイル時点までのすべてのイベントを実行した因果の累積が過不足なく記録されている。そのため、シーンファイルを復元すれば、対応するシーンファイル時点におけるストーリーの内部状態を直接生成できる。これにより、再生位置をシーンファイル時点に瞬間に移動できる。この機能は、後述するシーン復元手段204によって実現されている。
【0109】
また、シーンファイル時点リストから、ストーリー時間軸上のどの時点にシーンファイルが存在するかを参照できる。本実施の形態では、シーンファイル時点リストの中で、シーンファイル時点は、時点順に配列されている。
【0110】
シーン復元手段204は、再生位置移動手段202によって起動され、シーンファイル記録手段205のシーンファイルを読み込みことにより、シーンデータ記録手段108のシーンデータを直接生成し、再生位置を移動する。
【0111】
具体的には、再生位置移動手段202から受け取った移動先時点を、シーンファイル記録手段205のシーンファイル時点リストから捜し出し、対応するシーンファイルをシーンファイル記録手段205から読み込み、このデータを基に、シーンデータ記録手段108のシーンデータを生成する。さらに、この移動先時点を新たな再生時点とすることにより、再生位置は移動先時点へ移動する。
【0112】
このシーン復元手段204による再生位置の移動は、移動先時点がシーンファイル時点リストに登録されていなければ実行できないというデメリットがある。
【0113】
逆にメリットとして、再生位置移動に要する時間は、シーンファイルの読み込み時間、すなわち外部記憶装置112のハードウェア上の読み込み時間にほぼ等しいことから、前述したシーン早送り手段203のような移動先時点に依るばらつきはなく、一定である。
【0114】
再生位置移動手段202は、移動先時点入力手段201から移動先時点を受け取り、シーン早送り手段203と、シーン復元手段204を組み合わせ実行することにより、再生位置を移動先時点に移動する。
【0115】
図15は、再生位置の移動における概念図である。この図を用いて、再生位置の移動を詳述する。時点t1〜t14は、ストーリー時間軸上の時点を表す。
【0116】
シーンファイル1〜5は、シーンファイル記録手段205に記録されているシーンファイルである。但しこのシーンファイルの配置は、本実施の形態を説明するための一例に過ぎない。この図から分かるように、シーンファイル1のシーンファイル時点はt1、シーンファイル2のシーンファイル時点はt2、シーンファイル3のシーンファイル時点はt9、シーンファイル4のシーンファイル時点はt10、シーンファイル5のシーンファイル時点はt13となる。従って、このシーンファイル記録手段205のシーンファイル時点リストには、シーンファイル時点として、t1とt2とt9とt10とt13とが登録されている。
【0117】
また、図の移動パターン1、2、3は、再生位置移動のパターンであり、すべての再生位置移動は、この3つのパターンのいずれかに該当する。パターンを示している。図から、各移動パターンの移動先時点は、移動パターン1はt4、移動パターン2はt8、移動パターン3はt11であり、また、現在時点(再生位置移動の開始時点)はt6であることが分かる。
【0118】
先ず、移動パターン1を説明する。図から分かるように、t6からt4へ、過去への移動となるので、直接シーン早送り手段203による移動はできない。そこで、シーン復元手段204によりシーンファイル2を復元することにより、t2に再生位置を移動した後、シーン早送り手段203によって、t2からt4まで再生位置を移動する。ここで、シーンファイル2の代わりにシーンファイル1を復元する方法もあるが、シーン早送り手段203による移動がt1からt4となり、より処理時間がかかることから、シーンファイル2を選択する。
【0119】
次に、移動パターン2を説明する。図から分かるように、t6からt8へ、未来への移動となる。t6からt8の間にシーンファイルが存在しないので、シーン復元手段204は使えない。そこで、シーン早送り手段203によって、t6からt8まで再生位置を移動する。
【0120】
次に、移動パターン3を説明する。図から分かるように、t6からt11へ、未来への移動となる。移動パターン2と同様に、シーン早送り手段203によって、t6からt11まで再生位置を移動する方法がある。これを方法1と呼ぶ。
【0121】
しかし、図から分かるように、t6とt11の間に、t9にシーンファイル3、t10にシーンファイル4が存在する。そこで、シーン復元手段204により、t10のシーンファイル4を復元することで、t10に再生位置を移動した後、シーン早送り手段203によってt10からt11まで再生位置を移動する方法もある。これを方法2と呼ぶ。この方法2で、t9のシーンファイル3を復元する方法もあるが、シーン早送り手段203による移動がt9からt11となり、より処理時間がかかることから、シーンファイル4を選択する。
【0122】
このように移動パターン3には、前述した方法1と方法2があるので、より高速に処理できる方を選択する。ここで、その選択方法を説明する。先ず、シーン復元手段204による再生位置移動に要する時間を、tLとする。前述したように、tLは、シーンファイルの読み込み時間、すなわち外部記憶装置112のハードウェア上の読み込み時間にほぼ等しいことから、移動先時点に依らず一定である。
【0123】
次に、シーン早送り手段203の1再生時点あたりの処理時間をtFとする。tFは、更新された再生時点において、シーンデータ記録手段108のシーデータを生成するのに要する時間で、図8のフローチャートのステップ801からステップ803の処理時間である。
【0124】
ここで、方法1による再生位置移動の処理時間をtP1とすると、tP1はシーン早送り手段203だけの処理になるので、
tP1=tF*(t11−t6) ・・・・・(1)
となる。一方、方法2による再生位置移動の処理時間をtP2とすると、tP2は、シーン復元手段204によってt10まで移動し、さらに、シーン早送り手段203によってt10からt11まで移動する合計時間になるので、
tP2=tF*(t11−t10)+tL ・・・・・(2)
となる。 ここで、
tP1<tP2 ・・・・・(3)
として、(3)式に(1)式と(2)式を代入して変形すると
tF*(t10−t6)<tL ・・・・・(4)
となる。
【0125】
すなわち(4)式が成り立つとき、方法1が方法2より処理時間が少なくて済むので、方法1を選択する。逆に(4)式が成り立たないときには方法2を選択すればよい。
【0126】
tF、tLは、本発明のストーリー連続再生プログラムが起動された後、プログラムの実行時にタイマを用いて実測する。最初に実測した値を定数として用いる方法、都度最新の値を実測して用いる方法、都度最新の値を実測し、それまでの値と平均値を求め用いる方法がある。
【0127】
ここで、以上の動作をフローチャートに沿って簡単に説明する。図9は、再生位置移動手段202の動作を示すフローチャートである。先ず、移動先である移動先時点が、現在時点(再生位置移動の開始時点)より過去か未来かを判別する(ステップ901)。もし、移動先時点が、現在時点より過去の場合は(ステップ901:Yes)、ステップ904に進み、未来の場合は(ステップ901:No)、シーンファイル記録手段205のシーンファイル時点リストを検索して、現在時点と移動先時点の間にシーンファイル時点が登録されているかを判別する(ステップ902)。該当するシーンファイル時点が登録されていない場合は(ステップ902:No)、ステップ907に移動する。該当するシーンファイル時点が登録されている場合は(ステップ902:Yes)、シーン復元手段204を用いるかどうかを、前述した(4)式から判定し(ステップ903)、シーン復元手段204を用いる場合は(ステップ903:Yes)、移動先時点より過去で、かつ移動先時点に最も近いシーンファイル時点を選択し(ステップ904)、シーン復元手段204により、このシーンファイル時点まで移動する(ステップ905)。また、シーン復元手段204を用いない場合は(ステップ903:No)、ステップ907に移動する。
【0128】
シーン復元手段204の処理後、再生時点が移動先時点と一致するか判定し(ステップ906)、一致しない場合は(ステップ906:No)、シーン早送り手段203で、移動先時点まで移動する。また、一致する場合は(ステップ906:Yes)、再生位置が移動先時点に達したことになるので、処理を終了する。
【0129】
なお、上記のステップ903で、前述した方法1と方法2で、より高速な方を選択しているが、方法2に固定することもできる。方法2に固定すれば、総合的処理速度の面で劣るが、選択処理であるステップ903を省くことができる。
【0130】
図4は、本実施の形態における全体の処理の流れを示すフローチャートである。図3の第1の実施の形態における全体のフローチャートに、再生位置を移動する処理が追加されているのが分かる。この追加された再生位置の移動の処理を説明する。再生位置を移動するために、移動先時点の入力イベントが発生したとき(ステップ304)、移動先時点入力手段201により移動先時点をユーザーから受け取り(ステップ402)、再生位置移動手段202により、再生位置を移動先時点に移動する(ステップ401)。ステップ401は、図9の再生位置移動手段202のフローチャートに対応している。
【0131】
(実施の形態3)次に、本発明の請求項4、5及び6に対応する第3の実施の形態について説明する。本発明の第3の実施の形態におけるストーリー連続再生プログラムの構成を示すブロック図は、第2の実施の形態におけるブロック図と同一で、図2に示されている。
【0132】
本実施の形態におけるシーンファイル記録手段205において、シーンファイル時点リストに登録されているシーンファイル時点は、時系列的に配列されていて、隣り合うシーンファイル時点間の時間間隔が一定値以内である。この一定値をtWとおくと、ストーリー時間軸上にシーンファイルが少なくともtW間隔には存在していることを意味する。
【0133】
ここで、このシーンファイル記録手段205を用いた再生位置の移動を説明する。実施の形態2の再生位置の移動で説明した方法1は、シーンファイルを用いないので、方法2で説明する。シーン復元手段204により復元されるシーンファイルのシーンファイル時点をtSとし、移動先時点をtGとすると、再生位置移動の処理時間tP2は、(2)式から、
tP2=tF*(tG−tS)+tL ・・・・・(5)
となる。ここでシーンファイルが少なくともtW間隔で配置されているので、シーン早送り手段203による移動区間(tG−tS)は
tG−tS < tW ・・・・・(6)
が成り立つ。 ここで(5)式、(6)式より
tP2 < tF*tW+tL ・・・・・(7)
が成り立つ。
【0134】
(5)式から分かるように、本来、tP2は、tGとtSによって大きく変動する。しかし、シーンファイルを少なくとも一定間隔tWで配置することにより(7)式が成り立ち、tP2は、tGとtSに依らず、(tF*tW+tL)以内に抑えられる。これにより、再生位置移動の処理時間は、移動先時点に依らず、(tF*tW+tL)以内になり、ユーザーの待ち時間を、最小限に抑えることができる。
【0135】
本実施の形態におけるシナリオ記録手段107のシナリオに記述されるマクロ命令は、第1の実施の形態及び第2の実施の形態におけるマクロ命令に、ストーリー上のイベント名を指定するイベント名パラメータをさらに付加している。図12は、イベント名パラメータが付加されたマクロ命令によるシナリオのフォーマット例である。図11のシナリオのフォーマット例と比較すると、オブジェクトパラメータに新たにイベント名の項目が追加されているのが分かる。また、図12の、ID5、6、7、10のマクロ命令のイベント名パラメータ(オブジェクトパラメータのイベント名)に、それぞれイベント名が指定されている。このイベント名パラメータは、1文字以上の文字列が指定されていれば有効とし、空白ならば無効として扱う。
【0136】
本実施の形態における移動先時点入力手段201は、シナリオ記録手段107のシナリオからイベント名パラメータが有効なマクロ命令だけ抽出し、抽出されたマクロ命令の実行時点パラメータの実行時点及びイベント名パラメータのイベント名から成るレコードのリストを表示し、ユーザーにレコードを選択させることにより移動先時点を入力する。この時の表示画面を図13に示す。この図から、移動先時点の候補としてリスト表示されている各レコードは、図12でイベント名パラメータが有効なマクロ命令(ID5、6、7、10)に対応していることが分かる。
【0137】
また、カーソルが「1857年1月1日−広州で飢饉発生!」のレコードを指しているが、ここで確定の入力操作を行えば(例えば入力機器がマウスなら左クリック)、移動先時点として「1857年1月1日」が入力される。このように、煩雑な時点による入力に代わり、レコードの選択入力になるため、移動先時点の入力操作が非常に容易になる。
【0138】
また、上記の移動先時点入力手段201で、レコードが選択されたタイミングで、選択された時点を再表示し、そこで直接数値入力による修正できるようにする。このようにすれば、先ず、第一段階として大まかな時点をレコード選択で入力し、次の段階として必要があれば、時点を直接修正できるので、入力の操作性と自由度が同時に実現できる。
【0139】
本実施の形態におけるシーンファイル記録手段205のシーンファイル時点リストは、シナリオ記録手段107のシナリオでイベント名パラメータが有効なマクロ命令の実行時点パラメータに指定された実行時点のすべてを、シーンファイル時点として含んでいる。すわなち、これらの実行時点におけるシーンファイルが必ず存在する。そのため、再生位置を、イベント名パラメータが有効なマクロ命令の実行時点へ移動する場合は、シーン復元手段204だけの処理になり、その処理時間は、移動先時点に依らず、一定時間以内になる。
【0140】
以上のことから、シナリオを記述する際に、再生位置移動の移動先になる可能性の高いイベントを選択し、対応するマクロ命令のイベント名パラメータにイベント名を指定しておく。そうすれば、前述した理由により、再生位置を、これらのイベントの発生時点に移動する場合には、移動先時点の入力が簡単なレコード選択で済むとともに、再生位置移動は、移動先時点に依らず、一定時間以内に処理される。
【0141】
このように、操作性と処理速度を、シナリオの記述だけでコントロールできるため、コンテンツの調整が非常に容易になる。
【0142】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内で、種々、変更・応用が可能である。
【0143】
【発明の効果】
請求項1の発明によれば、ストーリー世界を構成する登場オブジェクトの振る舞いを、シナリオとして直接記述できるので、プログラミング知識がないユーザーでも容易にシナリオを記述することができる。
【0144】
また、ストーリーはタイマに同期して進行し、シナリオによって更新される登場オブジェクトの情報に応じて、メディアデータが自動的に提示出力されるので、前述したシナリオを記述するだけで、ストーリーを、3Dグラフィック、動画、音声、静止画、テキストなどのメディアデータを用いて、時間的に連続して再生することができる。
【0145】
これにより、ストーリーの制作者(シナリオ作成者)だけで、コンテンツを制作することができる。例えば、教育現場において教師が歴史コンテンツを、放送現場においてニュース制作者が時事コンテンツを、ゲーム制作現場においてシナリオ制作者がゲームコンテンツを、それぞれ制作することができる。
【0146】
また、シナリオは、登場オブジェクトの情報だけを更新し、メディアデータは、登場オブジェクトの情報だけを基に提示出力されるので、ストーリーの筋書きであるシナリオと、その表現形態であるメディアデータを、それぞれ単独に再利用することができる。これにより、コンテンツ制作における作業効率を大幅に向上させることができる。
【0147】
例えば、歴史のシナリオを1本記述し、メディアデータだけを小学生向け、中高生向け、大人向けにそれぞれ変えて制作すれば、1本のシナリオで3種類のコンテンツが制作できる。逆に、同じメディアデータを用いて、世界史シナリオ、日本史シナリオ、探検史シナリオを記述すれば、シナリオを記述するだけで3本のコンテンツを制作できる。
【0148】
また、請求項2、3の発明によれば、すべてのマクロ命令は、その命令が実行されるストーリー時間軸上の実行時点を有するため、ストーリーの内部状態を記録するシーンファイルを復元することによりストーリーの内部状態を生成する方法と、マクロ命令を実行することによりストーリーの内部状態を生成する方法とを、組み合わせ実行することにより、再生位置をストーリー上の任意の時点に移動することができる。
【0149】
例えば、シナリオが歴史であれば、見たい時代を、年・月・日を指定するだけで、画面上にその時代を再生できる。これは、仮想的な「見るタイムマシン」であり、歴史の補助教材として、また、楽しみながら歴史を学ぶ教養コンテンツとして利用できる。
【0150】
さらに、再生位置をストーリー上の任意の時点に移動できることは、ストーリーのランダム・アクセスを意味し、時系列的に配列された発生時点とその時点で発生するイベントから構成されるストーリー型データを、保存、検索、再生できるデータベースが実現できる。これにより、歴史データベース、時事ニュースデータベースが容易に構築できる。
【0151】
また、請求項4の発明によれば、シーンファイルがストーリー時間軸上で、一定の時間間隔以内に配置されているため、再生位置を移動する際に、シーン復元手段による処理が、一定の時間間隔以内で見込める。そのため、シーンファイルが無秩序に配置された場合に比べ、再生位置移動の処理時間は、より短くなり、ユーザーの待ち時間を最小限に抑えることができる。
【0152】
また、請求項5の発明によれば、再生位置の移動において、移動先時点の入力を、イベント名パラメータが有効なマクロ命令のイベント名と実行時点とを含むレコードのリストから選択できるようにした。そのため、予め、再生位置移動の移動先時点の候補を選定し、この時点に対応するマクロ命令のイベント名パラメータを有効にしておけば、この移動先時点の入力は、煩雑な数値入力ではなく、レコード選択になり、入力操作が非常に容易になる。
【0153】
また同時に、操作性が、シナリオの記述だけでコントロールできるため、コンテンツの調整が容易になる。
【0154】
また、請求項6の発明によれば、イベント名パラメータが有効なマクロ命令の実行時点に対応するシーンファイルが必ず存在する。そこで、予め、再生位置移動の移動先時点の候補を選定し、この時点に対応するマクロ命令のイベント名パラメータを有効にしておけば、この時点への再生位置移動は、シーン復元手段のみで実行されるため、再生位置移動の処理時間は、移動先時点に依らず一定時間以内に抑えられ、ユーザーの待ち時間のばらつきはなくなる。
【0155】
また同時に、処理速度をシナリオの記述だけでコントロールできるため、コンテンツの調整が容易になる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態におけるストーリー連続再生プログラムの構成を示すブロック図である。
【図2】本発明の第2及び第3の実施の形態におけるストーリー連続再生プログラムの構成を示すブロック図である。
【図3】本発明の第1の実施の形態における全体の処理の流れを示すフローチャートである。
【図4】本発明の第2及び第3の実施の形態における全体の処理の流れを示すフローチャートである。
【図5】本発明の実施の形態におけるシーンデータ生成手段の動作を示すフローチャートである。
【図6】本発明の実施の形態におけるシーンデータ提示手段の動作を示すフローチャートである。
【図7】本発明の実施の形態における連続再生手段の動作を示すフローチャートである。
【図8】本発明の第2及び第3の実施の形態におけるシーン早送り手段の動作を示すフローチャートである。
【図9】本発明の第2及び第3の実施の形態における再生位置移動手段の動作を示すフローチャートである。
【図10】本発明の実施の形態におけるメディアデータIDのデータ構造の例を示す図である。
【図11】本発明の第1及び第2の実施の形態におけるシナリオのフォーマット例を示す図である。
【図12】本発明の第3の実施の形態におけるシナリオのフォーマット例を示す図である。
【図13】本発明の第3の実施の形態における移動先時点入力のインタフェース画面の例を示す図である。
【図14】本発明の実施の形態における登場オブジェクトを管理するデータ・テーブルの例を示す図である。
【図15】本発明の第2及び第3の実施の形態における再生位置の移動の概念図である。
【符号の説明】
100 データ処理装置
101 入力装置
102 再生指示入力手段
103 連続再生手段
104 再生時点更新手段
105 シーンデータ生成手段
106 シーンデータ提示手段
107 シナリオ記録手段
108 シーンデータ記録手段
109 メディアデータ記録手段
110 表示装置
111 音声出力装置
112 外部記憶装置
201 移動先時点入力手段
202 再生位置移動手段
203 シーン早送り手段
204 シーン復元手段
205 シーンファイル記録手段
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a technique for reproducing a complex story such as a history, a current affair, or a story using a computer. In more detail, a story can be played back continuously in time using media data such as 3D graphics, moving images, audio, still images, and text simply by writing a scenario by a user. The present invention relates to a story continuous playback program that can move a playback position to an arbitrary point in a story.
[0002]
[Prior art]
Techniques for expressing or reproducing stories such as history, current affairs, and stories include books, comics, radio, television, and movies in the old days. However, these techniques have a problem in that since the usable media data is limited, the expressive power is poor, and random access to a desired portion is difficult. Thus, a technology has been realized in which different media data such as 3D graphics, moving images, audio, still images, and texts are digitized and centrally managed as multimedia. As a system for reproducing a story based on a scenario described in advance using this multimedia technology, there are a multimedia reproducing device in the business field and a computer game in the amusement field.
[0003]
However, the above-described conventional multimedia reproducing apparatus and computer game have the following problems. First, as a first problem, it is difficult for a user without programming knowledge to describe a scenario in a complicated story such as history, current affairs, and narrative. It is difficult to continuously reproduce temporally using media data such as 3D graphics, moving images, audio, still images, and text.
[0004]
For this reason, an apparatus for facilitating the description of a scenario is disclosed in, for example, Japanese Patent Application Laid-Open No. 5-88963, “Recording Medium and Multimedia Reproduction Apparatus”. In this example, the instructions describing the scenario are constituted by direct instructions for outputting media data without depending on the language used by the playback device. For example, in the macro command “Display a, b, c”, a indicates an image to be displayed, b indicates a display position in a horizontal direction, and c indicates a display position in a vertical direction. Also, the macro instruction “Audio-play d, e, f” means that the sound data d is sounded for f seconds from the position of e. With such a macro instruction, a scenario can be easily described without any knowledge of programming.
[0005]
However, the above-mentioned Japanese Patent Application Laid-Open No. 5-88963 "Recording medium and multimedia reproducing apparatus" has the following problems. An instruction for describing a scenario and a mechanism for executing the instruction are limited to a presentation output method such as a timing and a position for presenting and outputting media data. Therefore, the scenario must be described while replacing the scenario as a story with a media data presentation output method. For example, a simple event such as "Caesar has become emperor in Rome" can also be done with a command to specify the image of the city of Rome and the display position to display the city of Rome, and an image of Caesar to display the city of Caesar. It is necessary to describe, as a scenario, a command for designating a display position, a command for designating an audio data for notifying an event, a position of the speech data, and a sound generation time. Therefore, as the story becomes more complex, the efficiency of describing the scenario decreases significantly. For example, it is clear that it is not practical to scenario a long history chart in this way.
[0006]
This is due to the fact that the appearance objects and their behavior, which constitute the story world, which is the essence of the story, cannot be directly described as a scenario. For example, if you can write "Commissioner, Emperor, Caesar, Rome", you can easily describe the scenario.
[0007]
Further, in the above-described conventional computer game, the scenario, the media data, and the reproduction program are integrated, and it is difficult to describe the scenario without programming knowledge. In some cases, simple initial values such as the ability values of appearing objects and map terrain can be described as scenarios, but none can describe the storyline of a complicated story. This is for the following reasons.
[0008]
In order to be able to describe a scenario without programming knowledge, it is necessary that a macro-like instruction for describing the scenario includes only information unique to the scenario and does not include internal information of the computer. For example, in "Display a, b, c" of JP-A-5-88963 "Recording Medium and Multimedia Reproducing Apparatus", a, b, and c correspond to internal information of the computer. Also, the above-mentioned description of "commission, emperor, Caesar, Rome" does not include information inside the computer, and is all information unique to the scenario. However, in the latter method, an overhead for converting the information unique to the scenario into the internal information of the computer is generated, and the processing speed is reduced.
[0009]
In computer games, a reduction in processing speed is a major obstacle. In recent computer games, 3D games that display 3D objects in real time are mainly used. In order to obtain a smooth image by this method, it is necessary to update the screen of 30 to 60 frames per second. For example, in order to realize 30 frames per second, the internal data must be updated within 1/30 second, that is, about 33 milliseconds, and all display processing for one screen must be completed. If this processing is delayed, the display screen becomes jerky, giving the user a sense of discomfort. This time of 33 milliseconds is by no means affordable with current CPU, memory, and graphics chip capabilities. Therefore, at the production site, various measures are taken, such as reducing the number of 3D objects to be displayed at the same time, reducing the number of polygons of the 3D object, and the like.
[0010]
Under these circumstances, in order to increase the processing speed even a little, the program is optimized for each scenario, and the scenario, the media data, and the reproduction program tend to be integrated.
[0011]
The second problem is that it is difficult to independently reuse a scenario, which is a story scenario, and media data, which is an expression form thereof. This means that if one of the scenario and the media data is changed, the other must also be changed.
[0012]
For example, in the above-mentioned Japanese Patent Application Laid-Open No. 5-88963, "Recording Medium and Multimedia Reproducing Apparatus", it is not possible to change only the scenario without changing the media data. This is because when the macro instruction “Display a, b, c” of the scenario is changed to “Display, b, c”, the image d must be newly added. This is because the macro instruction of the scenario, which should be the essence of the story, includes a method of presenting and outputting the media data, which is merely an expression form. In other words, this is because the scenario, which is the essence of the story, and the media data, which is merely an expression form, are not completely separated.
[0013]
Further, a third problem is that it is difficult to move the reproduction position to an arbitrary point in the story.
[0014]
For this reason, a method of moving the reproduction position to an arbitrary position is disclosed in, for example, Japanese Patent Application Laid-Open No. 9-26868 “Multimedia title reproduction device”. In this example, the presentation state information data of the object at an arbitrary position of the title is generated and held, and the state of the arbitrary position of the title can be restored by using this data. In other multimedia playback apparatuses and computer games of the prior art described above, essentially the same technique is used when the playback position is moved to an arbitrary position. That is, it is a technique that relies only on recording and restoration of internal information at a reproduction position.
[0015]
However, such a conventional technique has the following problems. In order to move the playback position to an arbitrary point on the story, the time information inside the story at all points on the story time axis must be recorded. This means that infinite time information is needed. Because time specifies the beginning and end, there is infinite time between them. Therefore, it is actually impossible to adopt such a method.
[0016]
[Problems to be solved by the invention]
The present invention has been made in view of the above points, and a first object of the present invention is to allow a user who has no programming knowledge to easily describe a scenario in a complicated story such as history, current affairs, and a story. Further, a story continuous reproduction program is provided, which can reproduce a story temporally continuously using media data such as 3D graphics, moving images, audio, still images, and text simply by describing a scenario. It is in.
[0017]
It is a second object of the present invention to provide a continuous story reproducing program that can independently reuse a scenario, which is a scenario of a story, and media data, which is an expression form thereof.
[0018]
Further, a third object of the present invention is to provide a story continuous reproduction program that can move a reproduction position to an arbitrary point in a story.
[0019]
[Means for Solving the Problems]
An object of the present invention is to solve the above-mentioned problem. The invention according to claim 1 uses a computer to reproduce a story continuously in time using multimedia based on a scenario. Instruction input means for receiving an instruction for reproduction from a user, media data recording means for storing media data including 3D graphics, moving images, audio, still images, texts, and the like, and a media data ID for identifying each data. A reproduction time point updating means for updating a reproduction time point by adding an update unit time to a reproduction time point indicating a reproduction position on the story time axis, and a command for describing a story scenario, wherein the command is executed. The execution time point parameter that specifies the execution time point on the story time axis, and the creation and deletion of the appearance objects that make up the story world Scenario recording means for recording a scenario in which a macro instruction having an object parameter designating a change and not including a parameter relating to the method of presenting and outputting media data is arranged in chronological order according to the execution time; Scene data recording means for recording scene data including information of all the appearing objects constituting the story world at the time, referring to the scenario, and executing a macro instruction whose execution time of the execution time parameter matches the reproduction time. The scene data is generated by selecting and executing the scene data at the time of the reproduction. The scene data is referred to from the scene data recording means. Select the data ID and select the media data Reading the media data corresponding to D from the media data recording means, and presenting and outputting the scene data; activating the reproduction time updating means, the scene data generating means, and the scene data presenting means at regular intervals. This is a story continuous playback program for functioning as continuous playback means for playing back stories continuously in time.
[0020]
According to a second aspect of the present invention, in the continuous story reproducing program of the first aspect, a destination time point input means for receiving a destination time point on a story time axis from a user in order to move a reproduction position, and a story time axis. A scene in which a plurality of scene files including information of all the appearing objects constituting the story world at one time point above and a scene file time point list in which the time point of each scene file is registered as a scene file time point File recording means, reading a scene file from the scene file recording means, generating scene data of the scene data recording means based on information of the appearing objects included in the scene file, and determining a scene file time point corresponding to the scene file. By setting a new playback point, Scene restoration means for moving the scene data to the scene file time point, and repeatedly executing the reproduction time point updating means and the scene data generation means until the reproduction time point coincides with the movement destination time point, so that the scene data at the movement destination time point is obtained. The reproduction position moving means for moving the reproduction position to an arbitrary time point in the story by generating and executing the scene fast forward means for moving the reproduction position to the movement destination time point, the scene restoring means and the scene fast forward means in combination. , And more.
[0021]
According to a third aspect of the present invention, in the story continuous reproduction program according to the second aspect,
The playback position moving means searches the scene file time list of the scene file recording means when the movement destination time point is earlier than the movement source time point at which the movement of the playback position is started. Also selects a scene file time point that is located in the past and is closest to the movement destination time point, and moves the playback position to the scene file time point by the scene restoring means. If the destination time is later than the source time, a scene file time list of the scene file recording means is searched, and the scene file time is moved between the source time and the destination time. It is checked whether or not the destination is registered. If not registered, the scene fast-forward means starts moving from the source to the destination. If the playback position is moved to a point and the scene file time point is registered, the scene restoration means moves the playback position to the scene file time point, and the scene fast forward means moves the playback position to the movement destination time point. A moving method is compared with a method of moving a reproduction position from the movement source time point to the movement destination time point only by the scene fast-forward means, and the reproduction position is moved by a method with a shorter processing time.
[0022]
According to a fourth aspect of the present invention, in the story continuous reproduction program according to the second or third aspect, the scene file recording means is arranged such that scene file points registered in a scene file point list are arranged in chronological order. The time interval between adjacent scene file times is within a certain value.
[0023]
According to a fifth aspect of the present invention, in the continuous story reproducing program according to the second to fourth aspects, the macro instruction described in the scenario of the scenario recording means is an event name designating an event name in the story of the macro instruction. Further comprising a parameter, wherein the destination time point input means extracts only the macro instruction in which the event name parameter is valid from the scenario, and executes the execution time point parameter of the extracted macro instruction and the event name of the event name parameter. And displaying the list of records, and allowing the user to select a record to input the destination time point.
[0024]
According to a sixth aspect of the present invention, in the program for continuously reproducing stories according to the fifth aspect of the present invention, the scene file recording means executes a macro instruction in which an event name parameter is valid among macro instructions described in the scenario. All of the execution points specified in the parameters are registered in the scene file point list as scene file points.
[0025]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings. Here, the story continuous reproduction program according to the present invention can be realized on a very common computer such as a personal computer.
[0026]
(Embodiment 1) First, a first embodiment corresponding to claim 1 of the present invention will be described. FIG. 1 is a block diagram showing a configuration of a story continuous reproduction program according to the first embodiment of the present invention.
[0027]
In FIG. 1, a data processing device 100 includes a CPU, a memory, and various controllers, and executes a story continuous reproduction program of the present invention.
[0028]
The input device 101 includes input devices such as a mouse and a keyboard, and receives an input from a user. The display device 110 is a graphic display device and displays a story world. The audio output device 111 is an output device including a voice synthesis device and a speaker, and outputs audio, sound effects, and music. The external storage device 112 is a randomly accessible large-capacity storage device such as a magnetic disk, an optical disk, and a magneto-optical disk, and records program codes and data necessary for executing the story continuous reproduction program of the present invention. .
[0029]
The reproduction instruction input means 102 interprets the input from the user received from the input device 101 and notifies the continuous reproduction means 103 described later as a story reproduction / stop command.
[0030]
The reproduction point updating means 104 updates the reproduction point indicating the reproduction position on the story time axis.
[0031]
The story time axis is a one-dimensional time axis for managing points in the story world. The time point on the story time axis is configured to include at least one of a date and a time, and the content of the configuration is determined by the embodiment. For example, if the scenario is about the history of a chronology, the composition of the time points is year / month / day, and if the detailed time point is expressed like a modern affair, it is year / month / day / hour / minute. , Set according to the content of the scenario.
[0032]
The playback time point is a time point on the story time axis, and particularly indicates a time point during playback on the display device 110 or the audio output device 111, and corresponds to the current time point in the real world.
[0033]
The update of the reproduction time is performed by adding the update unit time to the reproduction time. Therefore, the reproduction point is updated every update unit time. The value of the update unit time is determined according to the minimum unit of the time point on the story time axis described above. For example, when the time point is composed of year / month / day, the update unit time is one day. This is because if the update unit time is two days, the reproduction time point can be expressed only every two days, and the consistency cannot be obtained.
[0034]
The scenario recording unit 107 records a scenario in which a story scenario is described. This scenario describes the behavior of an appearing object that is a component of the story world, and does not include the method of presenting and outputting media data. Therefore, the macro instruction for describing the scenario is a macro instruction unique to the embodiment, but has the following features.
[0035]
First, all macro instructions have an execution time point parameter that specifies a time point on the story time axis at which the instruction is executed. Hereinafter, the time point designated by the execution time point parameter is referred to as the execution time point.
[0036]
Second, the macro instruction includes object parameters for designating creation, deletion, and modification of the appearing objects that make up the story world, and does not include the above-described parameters related to the media data presentation output method. This is because the presentation output processing of the media data is automatically processed by a scene data presentation unit 106 to be described later, and thus does not need to be described as a scenario.
[0037]
Third, the macro instructions are arranged in a time series on the scenario according to the execution time specified in the above-mentioned execution time parameter. This is because, in the story progress processing, the macro instructions are executed in the order of the execution time points, so that the processing efficiency is better if the macro instructions are arranged in the time order.
[0038]
Here, in the scenario, in addition to the method of arranging the macro instructions themselves in the order of execution time, there is also a method of assigning a unique index to the macro instruction and using an index table in which the indexes are arranged in the order of execution time of the macro instruction. . In the latter case, the macro instructions do not need to be arranged in the order of execution.
[0039]
Here, a format example of the scenario is shown in FIG. 11, and the macro instruction will be described in detail. In this format, the scenario is history, and the configuration of the time point on the story time axis is year, month, day, and the update unit time is one day for the above-described reason. From FIG. 11, it can be seen that the execution time point parameter is specified by year / month / day. Further, in this example, the object parameter for designating creation, deletion, and change of the appearing object is composed of a plurality of parameters. The command is used to determine the meaning of the following object parameter. Aux 1 and Aux 2 are used to assist the command word. The numerical value and name are used to specify the numerical value and name, respectively. The parameters of the person, the country (countries 1 and 2), and the position are used to specify the person, the country, and the position, respectively. The ID is a unique number for identifying a macro instruction on a scenario. Also, the scenarios in the figure do not guarantee historical accuracy.
[0040]
Hereinafter, each macro instruction will be specifically described. The macro instruction of ID7 in FIG. 11 means “On May 10, 1857, a Sepoi disturbance occurred in Delhi”. Since the execution time parameter of this command is “May 10, 1857”, this command is used when the playback time updated by the playback time update means 104 described above matches May 10, 1857. This is executed by the generation unit 105. The content to be executed is that the instruction word is “rebellion” and the auxiliary 1 is “occurrence”, so that a new revolt appearance object is generated. In the macro instruction, the rebellion name is specified as "Sepoi's Rebellion" and the position is "Delhi", so the revolt name of the newly created rebellion appearing object is "Sepoi's Revolt" and the position is "Delhi" Become. Here, the position is represented by a point name.
[0041]
In the present embodiment, positions in the story world are managed by points. A point is also an appearing object, and is managed in a point data table as a record including latitude / longitude on the earth as position information and a point name as a name. Therefore, the latitude and longitude can be specified from the point data table using the point name as a keyword.
[0042]
The macro instruction of ID8 in FIG. 11 is an instruction to end the rebellion generated by the macro instruction of ID7, and means "the Sepoi revolt ends in Delhi on September 1, 1857". This macro instruction is executed when the reproduction time point updated by the reproduction time point update means 104 matches “September 1, 1857”, and as a result, the object of the rebellion whose name is “Sepoi turbulence” is deleted. Is done.
[0043]
Next, other macro instructions in FIG. 11 will be briefly described. The macro instruction of ID4 means "On January 1, 1853, Cecil Rose was born in London as a male citizen of London." This macro instruction is executed when the playback time matches "January 1, 1853". As a result, the gender is "male", the first and last names are "Cecil Rose", the nationality is "UK", and the position is "London". Is generated.
[0044]
The macro instruction of ID11 is an instruction to set the status of Cecil Rose, which was born by the macro instruction of ID4, and means "On January 1, 1881, Cecil Rose becomes President of De Beers in Cape". ing. This macro instruction is executed when the playback time coincides with “January 1, 1881”, and as a result, the status of the appearing object of the person whose first and last name is “Cecil Rose” is changed to “President De Beers”, The position is changed to "Cape" respectively.
[0045]
The macro instruction of ID5 means "September 1, 1856, in Guangzhou, an arrow war occurs between France and the Qing country". This macro instruction is executed when the playback time coincides with "September 1, 1856", and as a result, the war name is "Arrow War", the warring countries are "France" and "Qingdom", and the location is "Guangzhou". The war appearance object is generated.
[0046]
The macro instruction of ID10 is an instruction to end the arrow war generated by the macro instruction of ID5, and means "January 1, 1860, the arrow war is over". This macro instruction is executed when the reproduction time coincides with “January 1, 1860”, and as a result, the war entry object whose war name is “Arrow War” is deleted.
[0047]
The macro instruction of ID6 means "On January 1, 1857, a famine occurred in Guangzhou, killing 70,000 people." This macro instruction is executed when the execution time coincides with “January 1, 1857”, and as a result, the disaster with the type of disaster “famine”, the number of victims “70000”, and the location “Guangzhou” Is generated.
[0048]
The macro instruction of ID9 means "Gold will be a special product in Denver on January 2, 1858." This macro instruction is executed when the execution time coincides with "January 2, 1858", and as a result, a special product appearance object with the special product item "Gold" and the position "Denver" is generated. You.
[0049]
Thus, it is only necessary to describe the behavior of the appearing objects constituting the story world, and it is not necessary to specify the presentation output method of the media data, such as the display timing and display position for screen display. Therefore, even a user without programming knowledge can easily describe a scenario.
[0050]
The scene data recording means 108 in FIG. 1 records the internal state of the story at the time of reproduction indicating the reproduction position on the story time axis as scene data. This scene data includes information on all the appearing objects constituting the story world at the time of reproduction. In the present embodiment, the information of these appearing objects is recorded and managed in a data table created for each type of appearing object. This data table has records as appearance objects and fields (items) as components of the appearance objects.
[0051]
The records (appearing objects) of the data table are generated, deleted, and changed on the data table in accordance with the generation, deletion, and change of the appearing object specified by the above-described macro instruction.
[0052]
FIG. 14 shows an example of this data table. The rebel data table shown in the figure records objects appearing as "rebel", and the items of the record are the rebel name and the position. ID is a record number. The record of ID0 is a revolt appearance object whose rebellion name is “Sepoi's Rebellion” and whose position is “Delhi”.
[0053]
The person data table records the appearance objects of "person", and the items of the record are gender, first and last name, status, nationality, and position. The record of ID0 is an appearance object of a person whose gender is "male", whose first and last name is "Cecil Rose", whose status is "President De Beers", whose nationality is "UK", and whose position is "cape".
[0054]
The war data table records the appearance objects of "war", and the items of the record are the war name, the war country 1, the war country 2, and the position.
[0055]
The disaster data table records the appearance objects of “disaster”, and the items of the record are the type (of disaster), the number of victims, and the position.
[0056]
The special product data table records appearance objects of "special product", and the items of the record are items and positions.
[0057]
The point data table records the appearance objects of "point", and the items of the record are the point name, latitude, and longitude.
[0058]
In this way, information on the appearing objects is recorded and managed in a data table created for each type of appearing object, such as rebellion, person, war, disaster, specialty product, and spot.
[0059]
The scene data generating means 105 of FIG. 1 refers to the scenario of the scenario recording means 107, selects and executes a macro instruction whose execution time parameter coincides with the above-mentioned reproduction time, thereby obtaining the scene data at the reproduction time. Is generated and recorded in the scene data recording unit 108.
[0060]
The scene data generating means 105 has a macro instruction pointer inside. The macro instruction pointer stores a pointer to a macro instruction to be processed next by the scene data generation unit 105.
[0061]
FIG. 5 is a flowchart showing the operation of the scene data generating means 105. The operation of the scene data generating means 105 will be described with reference to FIG. First, the macro instruction pointed to by the macro instruction pointer is obtained from the scenario of the scenario recording unit 107 (step 501). Next, it is determined whether the read macro instruction is the last instruction in the scenario (step 502). If the last instruction is the last instruction (step 502: Yes), the processing is terminated. If not, the processing is not the last instruction (step 502: No), proceed to the next process.
[0062]
As the method of determining the last instruction of the scenario, an END instruction is defined in advance as a macro instruction, and it is determined whether or not the macro instruction matches the END instruction. There is a method to judge by pointing to.
[0063]
Next, the execution time specified in the execution time parameter of the read macro instruction is compared with the reproduction time indicating the above-described reproduction position (step 503). If they do not match (step 503: No), the processing is performed. When the macro instruction ends and matches (step 503: Yes), the macro instruction is executed (step 504).
[0064]
The execution of this macro instruction will be specifically described using a format example of the scenario in FIG. 11 and a data table example in FIG. First, the macro instruction of ID7 in FIG. 11 will be described. As described above, the macro instruction of ID7 instructs to generate a revolt appearance object whose name is “Sepoi's Rebellion” and the position is “Delhi”. Therefore, when this macroinstruction is executed, a record (ID0) is newly generated in the revolt data table of FIG.
[0065]
Also, as described above, the macro instruction of ID8 in FIG. 11 instructs to delete the object of the rebellion whose name is “Sepoi's Rebellion”. Therefore, when this macroinstruction is executed, the record (ID0) whose rebel name matches “Sepoi's Rebellion” is deleted from the rebel data table of FIG.
[0066]
As described above, the macro instruction of ID11 in FIG. 11 changes the status of the appearing object of the person whose first and last name is "Cecil Rose" to "De Beers President" and changes the position to "Cape". Instructed. Therefore, when this macro instruction is executed, in the person data table of FIG. 14, the name of the record (ID0) whose first and last name matches "Cecil Rose" is "President De Beers" and the position is "Cape". It is changed (FIG. 14 shows the state after the change).
[0067]
As described above, the record (appearing object) of the data table that records the appearing object is generated, deleted, and changed according to the generation, deletion, and change of the appearing object specified by the macro instruction.
[0068]
Next, the macro instruction pointer is incremented (step 505), and the process returns to step 501.
[0069]
As described above, the loop processing from step 501 to step 505 is repeated until all the macro instructions whose execution time point coincides with the reproduction time point are executed. As a result, all events on the story that occur at the time of playback are executed as macro instructions, and scene data (internal state of the story) at the time of playback is generated.
[0070]
The media data recording unit 109 in FIG. 1 records media data such as 3D graphics, moving images, audio, still images, and text, and media data IDs for identifying the respective data.
[0071]
Here, the 3D graphic is different from a moving image in which a plurality of continuous solid images created by computer graphics are continuously displayed and reproduced. That is, the objects appearing on the screen are configured based on the information of the three-dimensional shape of the object and the surface image information and color information of the object, and the movement or change of the object moves or deforms the information of the three-dimensional shape itself. To do.
[0072]
As a standard format of such 3D graphics, for example, there is an X file format of Microsoft Corporation. The X file format is configured using polygons as information of the three-dimensional shape of the object and textures as information of the surface image of the object. Here, the description will proceed on the premise of the X file format, but the present invention is not limited to a specific format.
[0073]
The media data ID is an identifier for identifying the media data. FIG. 10 shows an example of the media data ID. The relationship between the structure of the media data ID and the presentation output of the media data will be described with reference to FIG. In this example, the media data ID includes a media ID for identifying a media type and a data ID for identifying data.
[0074]
Here, a specific description will be given assuming that the media ID is 4 and the data ID is 9. First, since the media ID is 4, it can be seen from the media ID table in the figure that the media type is the X file format. Therefore, the data address of data ID 9 is acquired with reference to the X file address table of FIG. This data address indicates the address of the memory in which the media data of the X file format expressing the rebellion is stored.
[0075]
Next, since the media type is known to be in the X file format, the obtained data address is passed to a dedicated program for presenting and outputting the X file format, and is executed. Thereby, the media data of the X file format expressing the rebellion is presented and output.
[0076]
In this example, the media types are MPEG format for moving images, BMP format for still images, text format for text, WAVE format for audio, and X file format for 3D graphics, but the formats are not limited to these.
[0077]
Also, as can be seen from FIG. 10, similarly to the X file address table, other media types also hold respective address tables that associate data IDs with data addresses.
[0078]
The scene data presentation unit 106 in FIG. 1 selects a media data ID according to the information of the appearing object included in the scene data of the scene data recording unit 108, and replaces the media data corresponding to the selected media data ID. The data is referred to from the media data recording means 109 and is presented to the display device 110 and the audio output device 111 for presentation.
[0079]
FIG. 6 is a flowchart showing the operation of the scene data presentation means 106. The operation of the scene data presentation means 106 will be described with reference to FIG. First, an appearance object to be processed is selected from scene data of the scene data recording means 108 (step 601). More specifically, as described above, since the appearing objects are recorded in the data tables created for each type, records are sequentially selected from these data tables.
[0080]
Here, as an example, the description will be given assuming that the selected appearing object is ID0 “Sepoi's turbulence-Delhi” in the rebellion data table of FIG. First, it is determined whether this appearing object is within the display range of the screen (step 602). Specifically, it holds the latitude and longitude in the story space corresponding to the upper left and lower right points of the display screen, respectively, and compares this positional information with the latitude and longitude of the appearing object in the story space. Is determined. In this example, since the appearing object is ID0 in the rebel data table of FIG. 14, the position is “Delhi”. Thus, using the location name "Delhi" as a keyword, the latitude can be specified as 28.40 degrees and the longitude as 77.14 degrees from the location data table of FIG. Here, the latitude / longitude data represents the north latitude and the east longitude with a plus sign, and the south latitude and the west longitude with a minus sign. By comparing these pieces of position information, it is determined whether the selected appearing object is within the display range of the screen. If it is out of the display range (step 602: No), there is no need to present and output, so the process returns to step 601. .
[0081]
If it is within the display range (Step 602: Yes), the corresponding media data ID is selected according to the information of the appearing object (Step 603). Here, since the appearing object to be processed is “Sepoi's turbulence-Delhi” of ID0 in the rebellion data table in FIG. 14, the X-file format media data expressing the revolt is selected. From FIG. 10, it can be seen that the media data ID is “00040009”. As described above, the association between the record of the data table (information of the appearing object) and the media data ID is predetermined in the scene data presentation means 106.
[0082]
Next, a media presentation output program for presenting and outputting the media data is specified from the media ID of the media data ID (step 604). In this example, since the media ID is 4 (X file format), the presentation output program is in the X file format.
[0083]
Further, the data address at which the media data is stored is obtained from the address table (X file address table) corresponding to the media ID 4 and the data ID 9 (step 605). From FIG. 10, this data address indicates the address of the memory where the media data in the X file format expressing the rebellion is stored.
[0084]
Here, the selected media presentation output program presents and outputs the media data indicated by the acquired data address to a corresponding position on the display screen (step 606). In this example, the X-file format presentation output program presents and outputs the X-file format rebel media data on the display screen.
[0085]
The position on this display screen is calculated by calculating the relative position of the appearing object on the screen from the latitude and longitude corresponding to the positions of the upper left and lower right points of the display screen described above, and the latitude and longitude of the appearing object. Desired.
[0086]
Further, the media presentation output program outputs 3D graphics, moving images, still images, and text to the display device 110, and outputs audio, sound effects, and music to the audio output device 111, respectively.
[0087]
Next, it is confirmed whether or not all the appearing objects have been processed (step 607). If the objects have been processed (step 607: Yes), the process is terminated, and if there are unprocessed appearing objects (step 607: No), returning to step 601;
[0088]
In this way, the loop processing from step 601 to step 607 is repeated until all the appearing objects have been processed. That is, this loop processing is executed for all data tables and all records in which appearing objects are recorded. Thus, the state of the story world is expressed using the media data.
[0089]
As described above, in the scenario, only the information of the appearing object is updated, and the media data is presented and output based only on the information of the appearing object. Therefore, even if the scenario is changed, only the information of the appearing object changes, and the media data is presented and output in accordance with the change, and operates normally. Therefore, even if the scenario is changed, there is no need to change the media data. Conversely, even if the media data is changed, the normal operation is performed only by changing the expression form of the corresponding appearing object and presenting and outputting it. Therefore, even if the media data is changed, there is no need to change the scenario. For these reasons, the scenario and the media data can be reused independently. As a result, work efficiency in content production can be significantly improved.
[0090]
The continuous playback unit 103 shown in FIG. 1 is started up in response to a playback notification from the playback instruction input unit 102, and then uses a timer to perform a playback time update unit 104, a scene data generation unit 105, and a scene data presentation unit at regular intervals using a timer. In order to activate and execute 106, playback of a temporally continuous story is guaranteed.
[0091]
FIG. 7 is a flowchart showing the operation of the continuous reproduction means 103. As a rough outline, steps 702 to 708 form a loop in continuous reproduction. In one process of this loop, generation and presentation output of scene data at one reproduction time point are executed. The actual time required for this one loop process is defined as a time slice. Therefore, the playback speed can be changed by changing the value of the time slice. For example, if the value of the time slice is reduced, the time of one loop is reduced, so that the reproduction speed is increased.
[0092]
Next, the processing will be described in detail. First, a time slice is set (step 701). Next, a timer count value is read from the timer and stored in the timer counter 1 (step 702). This timer count value represents the actual time at the time when step 702 is being processed. Here, a timer built in a computer is used as the timer, but any means can be used as long as it can measure time.
[0093]
Next, the reproduction time point is updated by the reproduction time point updating means 104 (step 703). Next, the scene data generation means 105 updates the scene data of the scene data recording means 108 to the state at the time of reproduction (step 704). This step 704 corresponds to the flowchart of the scene data generating means 105 in FIG. Next, the state inside the story is presented and output to the display device 110 and the audio output device 111 based on the scene data by the scene data presenting means 106 (step 705). This step 705 corresponds to the flowchart of the scene data presentation means 106 in FIG. Next, it is determined whether or not a new reproduction instruction input has been made (step 706). If there is an input (step 706: Yes), this processing ends for reproduction instruction input processing, and if there is no input (step 706: No) ), Go to the next.
[0094]
Next, in order to realize temporally continuous reproduction, processing for maintaining a constant reproduction speed is performed. First, the value of the timer count is read from the timer and stored in the timer counter 2 (step 707). Since the actual time in step 702 is stored in the timer counter 1, the actual time elapsed from step 702 to step 707 is represented by (timer counter 2−timer counter 1). Here, the loop from step 707 to step 708 is repeated until (timer counter 2−timer counter 1 ≧ time slice) is satisfied. As a result, the processing time from step 702 to step 708 becomes equal to the time slice, the reproduction speed is kept constant, and temporally continuous reproduction becomes possible.
[0095]
Next, the flow of processing of the entire program will be described. FIG. 3 is a flowchart showing the flow of the entire process. When the story continuous reproduction program of the present invention is started, first, the following processing is performed to initialize the system. The scenario file is read from the external storage device 112, and the scenario is stored in the scenario recording means 107 (step 301). The media data file is read from the external storage device 112, and the media data and the media data ID are stored in the media data recording means 109 (step 302). The scene data file at the start of the scenario is read from the external storage device 112, and the scene data is stored in the scene data recording means 108 (step 303).
[0096]
Next, when a user inputs an instruction from the input device 101, an input event occurs (step 304), and processing corresponding to each event is executed. If the input event is reproduction, continuous reproduction is executed (step 305). If it is stopped, a stop event is generated (step 306). Reproduction is stopped. Here, the continuous reproduction in step 305 corresponds to the flowchart of the continuous reproduction means 103 in FIG.
[0097]
(Embodiment 2) Next, a second embodiment according to claims 2 and 3 of the present invention will be described. The second embodiment of the present invention is obtained by adding a function of moving the reproduction position to an arbitrary point in the story to the first embodiment.
[0098]
This arbitrary time point is a time point on the story time axis, and indicates a time point after the execution time point specified in the execution time point parameter of the first macro instruction of the scenario. The movement of the reproduction position can be executed even during reproduction.
[0099]
FIG. 2 is a block diagram illustrating a configuration of a story continuous playback program according to the second embodiment of the present invention. The story continuous reproduction program according to the present embodiment includes a destination time point input means 201, a reproduction position moving means 202, a scene fast forward means 203, and a scene added to the structure of the story continuous reproduction program according to the first embodiment shown in FIG. A restoring unit 204 and a scene file recording unit 205 are added. Since other means are the same as those of the story continuous reproduction program according to the first embodiment shown in FIG. 1, the corresponding means and the like are denoted by the same reference numerals and their detailed description is omitted.
[0100]
In FIG. 2, a destination time point input unit 201 receives, via the input device 101, a destination time point indicating a destination on the story time axis in order to move the playback position.
[0101]
The scene fast-forward means 203 is activated by the playback position moving means 202, and repeatedly executes the playback time updating means 104 and the scene data generating means 105 until the playback time reaches the movement destination time. Generate. As a result, the playback position moves to the destination time point.
[0102]
Here, the operation of the scene fast-forward means 203 will be described in detail. FIG. 8 is a flowchart showing the operation of the scene fast-forward means 203. First, the scene data generation means 105 generates scene data at the time of reproduction (step 801). This step 801 corresponds to the flowchart of the scene data generating means 105 in FIG. Next, the reproduction time point is updated by the reproduction time point updating means 104 (step 802). If the updated playback time coincides with the movement destination time (Step 803: Yes), the process is terminated. If not (Step 803: No), the process returns to Step 801.
[0103]
As described above, the loop processing from step 801 to step 803 is repeated until the reproduction time coincides with the movement destination time. As a result, all the macro commands in the scenario from the start of the movement of the playback position to the destination are executed, and scene data (internal state of the story) at the destination is generated. As a result, the playback position has moved to the movement destination time point.
[0104]
Here, there is a merit that the scene fast-forward means 203 can move to all points by executing the macro instruction if there is a scenario.
[0105]
On the other hand, as a disadvantage, the more the number of macro commands existing between the start time of the movement of the reproduction position and the movement destination time, the longer it takes to move the reproduction position. In other words, the time required for moving the reproduction position varies depending on the destination point.
[0106]
The scene file recording unit 205 in FIG. 2 records a plurality of scene files and a scene file time point list in which all scene file time points of each scene file are registered. The scene file contains information on all the appearing objects constituting the story world at one point on the story time axis. The scene file time point indicates a time point on the story time axis of the scene file.
[0107]
In this embodiment, since these scene files have a large data amount, they are stored not in the memory but in the external storage device 112 after the continuous story reproducing program according to the present invention is started. Therefore, hereinafter, the expression of reading a scene file from the scene file recording unit 205 means reading from the external storage device 112 to the memory on the hardware. Of course, if the memory capacity is sufficient, there is a method in which all the scene files are temporarily read from the external storage device 112 to the memory and used when the continuous story reproducing program according to the present invention is started.
[0108]
The scene file records the result of executing all the macro commands from the first macro command of the scenario to the scene file time point on the story time axis of the scene file in the order of execution time. In other words, the accumulation of the cause and effect of executing all the events from the first event of the scenario to the time of the scene file is recorded without excess or deficiency. Therefore, when the scene file is restored, the internal state of the story at the time of the corresponding scene file can be directly generated. Thus, the playback position can be instantaneously moved to the scene file. This function is realized by a scene restoration unit 204 described later.
[0109]
From the scene file time point list, it is possible to refer to which point on the story time axis the scene file exists. In the present embodiment, the scene file time points are arranged in the order of the time points in the scene file time point list.
[0110]
The scene restoring means 204 is activated by the reproduction position moving means 202, reads the scene file of the scene file recording means 205, directly generates the scene data of the scene data recording means 108, and moves the reproduction position.
[0111]
Specifically, the destination point received from the playback position moving unit 202 is searched for from the scene file time point list of the scene file recording unit 205, the corresponding scene file is read from the scene file recording unit 205, and based on this data, The scene data of the scene data recording means 108 is generated. Further, by setting the movement destination time point as a new reproduction time point, the reproduction position moves to the movement destination time point.
[0112]
There is a disadvantage that the movement of the reproduction position by the scene restoration means 204 cannot be executed unless the movement destination time point is registered in the scene file time point list.
[0113]
On the contrary, as a merit, the time required for moving the playback position is substantially equal to the time required for reading the scene file, that is, the time required for reading the hardware of the external storage device 112. There is no variation due to this, and it is constant.
[0114]
The playback position moving means 202 receives the movement destination time from the movement destination time input means 201 and moves the playback position to the movement destination time by executing a combination of the scene fast forward means 203 and the scene restoration means 204.
[0115]
FIG. 15 is a conceptual diagram in moving the reproduction position. The movement of the reproduction position will be described in detail with reference to FIG. Time points t1 to t14 represent time points on the story time axis.
[0116]
The scene files 1 to 5 are scene files recorded in the scene file recording unit 205. However, the arrangement of the scene files is merely an example for describing the present embodiment. As can be seen from this figure, the scene file time of the scene file 1 is t1, the scene file time of the scene file 2 is t2, the scene file time of the scene file 3 is t9, the scene file time of the scene file 4 is t10, and the scene file 5 Is a scene file at time t13. Accordingly, in the scene file time point list of the scene file recording means 205, t1, t2, t9, t10, and t13 are registered as scene file time points.
[0117]
Further, the movement patterns 1, 2, and 3 in the figure are reproduction position movement patterns, and all reproduction position movements correspond to any of these three patterns. Shows a pattern. As can be seen from the figure, the destination point of each movement pattern is t4 for movement pattern 1, t8 for movement pattern 2, t11 for movement pattern 3, and the current time (start time of movement of the playback position) is t6. I understand.
[0118]
First, the movement pattern 1 will be described. As can be seen from the figure, since the movement from t6 to t4 is a movement to the past, the movement cannot be directly performed by the scene fast forward means 203. Then, the playback position is moved to t2 by restoring the scene file 2 by the scene restoration means 204, and then the playback position is moved from t2 to t4 by the scene fast forward means 203. Here, there is a method of restoring the scene file 1 instead of the scene file 2. However, since the movement by the scene fast-forward means 203 changes from t1 to t4 and it takes more processing time, the scene file 2 is selected.
[0119]
Next, the movement pattern 2 will be described. As can be seen from the figure, the movement from t6 to t8 is a movement to the future. Since there is no scene file between t6 and t8, the scene restoration means 204 cannot be used. Therefore, the playback position is moved from t6 to t8 by the scene fast forward means 203.
[0120]
Next, the movement pattern 3 will be described. As can be seen from the figure, the movement from t6 to t11 is a movement to the future. Similarly to the movement pattern 2, there is a method of moving the reproduction position from t6 to t11 by the scene fast-forward means 203. This is called method 1.
[0121]
However, as can be seen from the figure, between t6 and t11, a scene file 3 exists at t9 and a scene file 4 exists at t10. Therefore, there is also a method of restoring the scene file 4 at t10 by the scene restoring means 204 to move the playback position at t10, and then moving the playback position from t10 to t11 by the scene fast forward means 203. This is called method 2. Although there is a method of restoring the scene file 3 at t9 in this method 2, the scene file 4 is selected because the movement by the scene fast-forward means 203 is changed from t9 to t11 and it takes more processing time.
[0122]
As described above, the movement pattern 3 includes the method 1 and the method 2 described above, and therefore, the one that can process at higher speed is selected. Here, the selection method will be described. First, the time required for moving the reproduction position by the scene restoration means 204 is represented by tL. As described above, since tL is substantially equal to the reading time of the scene file, that is, the reading time of the external storage device 112 on the hardware, it is constant regardless of the movement destination time.
[0123]
Next, the processing time per one reproduction time of the scene fast-forward means 203 is set to tF. tF is the time required to generate the sea data of the scene data recording unit 108 at the updated reproduction time, and is the processing time of steps 801 to 803 in the flowchart of FIG.
[0124]
Here, assuming that the processing time of the reproduction position movement by the method 1 is tP1, tP1 is processing only by the scene fast forward means 203.
tP1 = tF * (t11−t6) (1)
It becomes. On the other hand, assuming that the processing time of moving the reproduction position by the method 2 is tP2, tP2 is the total time of moving from t10 to t11 by the scene restoring means 204 and moving from t10 to t11 by the scene fast forward means 203.
tP2 = tF * (t11−t10) + tL (2)
It becomes. here,
tP1 <tP2 (3)
Substituting equations (1) and (2) into equation (3) and transforming
tF * (t10−t6) <tL (4)
It becomes.
[0125]
That is, when the formula (4) is satisfied, the method 1 requires less processing time than the method 2, and thus the method 1 is selected. Conversely, when the equation (4) does not hold, the method 2 may be selected.
[0126]
After the story continuous reproduction program of the present invention is started, tF and tL are measured using a timer when the program is executed. There are a method of using the first measured value as a constant, a method of actually measuring and using the latest value each time, and a method of actually measuring the latest value each time and calculating the previous value and the average value.
[0127]
Here, the above operation will be briefly described with reference to a flowchart. FIG. 9 is a flowchart showing the operation of the reproduction position moving means 202. First, it is determined whether the movement destination time point, which is the movement destination, is past or future from the current time point (start time point of the movement of the reproduction position) (step 901). If the destination time point is earlier than the current time point (step 901: Yes), the process proceeds to step 904, and if it is future time (step 901: No), the scene file time list of the scene file recording unit 205 is searched. Then, it is determined whether a scene file time point is registered between the current time point and the movement destination time point (step 902). If the corresponding scene file point is not registered (step 902: No), the process moves to step 907. If the corresponding scene file time point has been registered (step 902: Yes), it is determined from the above-described equation (4) whether or not to use the scene restoration means 204 (step 903). (Step 903: Yes), selects a scene file time point that is earlier than the movement destination time point and is closest to the movement destination time point (Step 904), and moves to the scene file time point by the scene restoration means 204 (Step 905). . If the scene restoring unit 204 is not used (Step 903: No), the process moves to Step 907.
[0128]
After the processing by the scene restoring means 204, it is determined whether or not the reproduction time coincides with the movement destination time (step 906). If not (step 906: No), the scene fast forward means 203 moves to the movement destination time. If they match (step 906: Yes), it means that the playback position has reached the movement destination time point, and the process ends.
[0129]
In step 903, the faster method is selected in the method 1 and the method 2 described above, but may be fixed to the method 2. If the method is fixed to the method 2, although the overall processing speed is inferior, the step 903 which is the selection processing can be omitted.
[0130]
FIG. 4 is a flowchart showing the flow of the entire processing in the present embodiment. It can be seen that the processing for moving the playback position is added to the overall flowchart in the first embodiment of FIG. The process of moving the added reproduction position will be described. When an input event at the movement destination time point occurs to move the reproduction position (step 304), the movement time point is received from the user by the movement time point input means 201 (step 402), and the reproduction position is moved by the reproduction position movement means 202. The position is moved to the destination (step 401). Step 401 corresponds to the flowchart of the reproduction position moving means 202 in FIG.
[0131]
(Embodiment 3) Next, a third embodiment of the invention will be described. The block diagram showing the configuration of the story continuous reproduction program according to the third embodiment of the present invention is the same as the block diagram according to the second embodiment, and is shown in FIG.
[0132]
In the scene file recording unit 205 according to the present embodiment, the scene file points registered in the scene file point list are arranged in chronological order, and the time interval between adjacent scene file points is within a certain value. . If this constant value is set to tW, it means that a scene file exists at least at tW intervals on the story time axis.
[0133]
Here, the movement of the reproduction position using the scene file recording means 205 will be described. Method 1 described in the second embodiment for moving the reproduction position does not use a scene file, and thus will be described in Method 2. Assuming that the scene file time point of the scene file restored by the scene restoring means 204 is tS and the movement destination time point is tG, the processing time tP2 for moving the reproduction position is expressed by the following equation (2).
tP2 = tF * (tG-tS) + tL (5)
It becomes. Here, since the scene files are arranged at least at tW intervals, the moving section (tG-tS) by the scene fast-forward means 203 is
tG−tS <tW (6)
Holds. Here, from equations (5) and (6)
tP2 <tF * tW + tL (7)
Holds.
[0134]
As can be seen from equation (5), tP2 originally fluctuates greatly depending on tG and tS. However, by arranging the scene files at least at the constant interval tW, the expression (7) is established, and tP2 is suppressed to within (tF * tW + tL) regardless of tG and tS. As a result, the processing time for moving the playback position is within (tF * tW + tL) irrespective of the destination time, and the waiting time of the user can be minimized.
[0135]
The macro instruction described in the scenario of the scenario recording unit 107 in the present embodiment is such that the macro instruction in the first embodiment and the second embodiment further includes an event name parameter for specifying an event name in a story. Has been added. FIG. 12 is a format example of a scenario by a macro instruction to which an event name parameter is added. Comparing with the example of the format of the scenario in FIG. 11, it can be seen that a new event name item is added to the object parameter. In FIG. 12, event names are specified in event name parameters (event names of object parameters) of macro instructions of IDs 5, 6, 7, and 10, respectively. This event name parameter is treated as valid if a character string of one or more characters is specified, and treated as invalid if it is blank.
[0136]
The movement destination time point input means 201 in the present embodiment extracts only the macro instruction in which the event name parameter is valid from the scenario of the scenario recording means 107, and executes the execution time point of the extracted macro instruction and the event of the event name parameter. Display a list of records consisting of first names and enter the destination point by letting the user select a record. FIG. 13 shows a display screen at this time. From this figure, it can be seen that each record listed as a candidate at the destination corresponds to a macro instruction (ID 5, 6, 7, 10) in which the event name parameter is valid in FIG.
[0137]
In addition, the cursor points to the record of “January 1, 1857-famine occurred in Guangzhou!”, But if the input operation for confirmation is performed here (for example, left-click if the input device is a mouse), the cursor becomes the destination point. "January 1, 1857" is input. In this way, instead of the complicated point-in-time input, a record selection input is performed, so that the input operation at the destination point becomes very easy.
[0138]
Further, at the time when the record is selected by the destination time point input means 201, the selected time point is re-displayed, so that the numerical value can be corrected directly by inputting the value. In this way, first, a rough time point is input by record selection as the first step, and if necessary as the next step, the time point can be directly corrected, so that input operability and flexibility can be realized at the same time.
[0139]
In the present embodiment, the scene file time list of the scene file recording means 205 is such that all of the execution times specified in the execution time parameter of the macro instruction whose event name parameter is valid in the scenario of the scenario recording means 107 are set as scene file times. Contains. That is, the scene file at the time of these executions always exists. Therefore, when the playback position is moved to the execution point of the macro instruction in which the event name parameter is valid, only the processing of the scene restoring means 204 is performed, and the processing time is within a certain time regardless of the movement destination time point. .
[0140]
From the above, when describing a scenario, an event that is likely to be the destination of the movement of the playback position is selected, and the event name is specified in the event name parameter of the corresponding macro instruction. Then, when the playback position is moved to the time of occurrence of these events for the above-described reason, the input of the movement destination time can be performed by simple record selection, and the movement of the playback position depends on the movement time. Processing within a certain period of time.
[0141]
As described above, since the operability and the processing speed can be controlled only by describing the scenario, the adjustment of the content becomes very easy.
[0142]
It should be noted that the present invention is not limited to the above-described embodiment, and various modifications and applications are possible within the scope of the claims.
[0143]
【The invention's effect】
According to the first aspect of the present invention, the behavior of the appearing objects constituting the story world can be directly described as a scenario, so that even a user without programming knowledge can easily describe the scenario.
[0144]
Also, the story progresses in synchronization with the timer, and the media data is automatically presented and output according to the information of the appearing object updated by the scenario. Using media data such as graphics, moving images, audio, still images, and text, it is possible to continuously reproduce the data temporally.
[0145]
Thus, the content can be produced only by the story creator (scenario creator). For example, a teacher can create historical content at an educational site, a news creator at a broadcast site, and a scenario creator at a game site.
[0146]
Also, the scenario updates only the information of the appearing object, and the media data is presented and output based only on the information of the appearing object. Can be reused alone. As a result, work efficiency in content production can be significantly improved.
[0147]
For example, if one history scenario is described, and only media data is changed for elementary school students, junior high school students, and adults, three types of content can be created with one scenario. Conversely, if the same media data is used to describe a world history scenario, a Japanese history scenario, and an exploration history scenario, three contents can be produced simply by describing the scenario.
[0148]
According to the second and third aspects of the present invention, all macro instructions have an execution point on the story time axis at which the instruction is executed. Therefore, by restoring a scene file that records the internal state of the story, By executing a combination of the method of generating the internal state of the story and the method of generating the internal state of the story by executing the macro instruction, the playback position can be moved to an arbitrary point in the story.
[0149]
For example, if the scenario is history, it is possible to reproduce the era on the screen simply by specifying the year, month, and day to be viewed. This is a virtual “watching time machine” that can be used as a supplementary educational material for history, or as an educational content for learning history while having fun.
[0150]
Furthermore, the ability to move the playback position to any point in the story means random access to the story, and story-type data consisting of time-series occurrences and events that occur at that time, A database that can be saved, searched, and played back can be realized. As a result, a history database and a current news database can be easily constructed.
[0151]
According to the fourth aspect of the present invention, since the scene files are arranged within a certain time interval on the story time axis, when the playback position is moved, the processing by the scene restoring means is performed for a certain time. Can be expected within the interval. Therefore, as compared with the case where the scene files are randomly arranged, the processing time for moving the reproduction position is shorter, and the waiting time of the user can be minimized.
[0152]
According to the fifth aspect of the present invention, when moving the reproduction position, the input of the movement destination time point can be selected from a list of records including the event name and the execution time point of the macro instruction whose event name parameter is valid. . Therefore, if a candidate for the destination point of the reproduction position movement is selected in advance and the event name parameter of the macro instruction corresponding to this point is enabled, the input of the destination point is not a complicated numerical input, It becomes record selection, and input operation becomes very easy.
[0153]
At the same time, the operability can be controlled only by the description of the scenario, thereby facilitating content adjustment.
[0154]
According to the invention of claim 6, there is always a scene file corresponding to the execution point of the macro instruction in which the event name parameter is valid. Therefore, if a candidate for the movement destination time point of the movement of the playback position is selected in advance and the event name parameter of the macro instruction corresponding to this time point is enabled, the movement of the playback position to this time point is executed only by the scene restoration means. Therefore, the processing time for moving the playback position is kept within a certain time irrespective of the destination time point, and there is no variation in the user's waiting time.
[0155]
At the same time, the processing speed can be controlled only by the description of the scenario, which makes it easy to adjust the content.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a story continuous reproduction program according to a first embodiment of the present invention.
FIG. 2 is a block diagram showing a configuration of a story continuous reproduction program according to second and third embodiments of the present invention.
FIG. 3 is a flowchart illustrating a flow of an entire process according to the first embodiment of the present invention.
FIG. 4 is a flowchart showing a flow of overall processing according to the second and third embodiments of the present invention.
FIG. 5 is a flowchart illustrating an operation of a scene data generation unit according to the embodiment of the present invention.
FIG. 6 is a flowchart illustrating an operation of a scene data presentation unit according to the embodiment of the present invention.
FIG. 7 is a flowchart showing an operation of a continuous reproduction unit according to the embodiment of the present invention.
FIG. 8 is a flowchart showing an operation of a scene fast-forward unit according to the second and third embodiments of the present invention.
FIG. 9 is a flowchart illustrating an operation of a reproduction position moving unit according to the second and third embodiments of the present invention.
FIG. 10 is a diagram showing an example of a data structure of a media data ID according to the embodiment of the present invention.
FIG. 11 is a diagram showing a format example of a scenario in the first and second embodiments of the present invention.
FIG. 12 is a diagram illustrating a format example of a scenario according to the third embodiment of the present invention.
FIG. 13 is a diagram illustrating an example of an interface screen for inputting a destination point in the third embodiment of the present invention.
FIG. 14 is a diagram showing an example of a data table for managing appearing objects according to the embodiment of the present invention.
FIG. 15 is a conceptual diagram of movement of a reproduction position according to the second and third embodiments of the present invention.
[Explanation of symbols]
100 Data processing device
101 Input device
102 Playback instruction input means
103 Continuous playback means
104 Reproduction point updating means
105 Scene Data Generation Means
106 Scene Data Presentation Means
107 Scenario recording means
108 scene data recording means
109 media data recording means
110 Display device
111 audio output device
112 External storage device
201 Destination time point input means
202 Playback position moving means
203 scene fast forward
204 scene restoration means
205 Scene File Recording Means

Claims (6)

シナリオに基づき、ストーリーを、マルチメディアを用いて、時間的に連続して再生するためにコンピュータを、ユーザーからの再生の指示を受け取るための再生指示入力手段、3Dグラフィック、動画、音声、静止画、テキストなどを含むメディアデータとその各データを識別するメディアデータIDとを記憶しているメディアデータ記録手段、ストーリー時間軸上の再生位置を示す再生時点に、更新単位時間を加算することにより、再生時点を更新する再生時点更新手段、ストーリーのシナリオを記述する命令であって、該命令が実行されるストーリー時間軸上の実行時点を指定する実行時点パラメータと、ストーリー世界を構成する登場オブジェクトの生成、削除、変更を指定するオブジェクトパラメータを有し、前記メディアデータの提示出力方法に関するパラメータを含まないマクロ命令が、前記実行時点に従って時系列的に配列されたシナリオを記録しているシナリオ記録手段、前記再生時点におけるストーリー世界を構成するすべての登場オブジェクトの情報を含むシーンデータを記録しているシーンデータ記録手段、前記シナリオを参照し、前記実行時点パラメータの実行時点が前記再生時点と一致するマクロ命令を選択して実行することにより、前記再生時点における前記シーンデータを生成するシーンデータ生成手段、前記シーンデータ記録手段からシーンデータを参照し、該シーンデータが含む登場オブジェクトの情報に応じて、前記メディアデータIDを選択し、該メディアデータIDに対応するメディアデータを前記メディアデータ記録手段から読み出し、提示出力するシーンデータ提示手段、一定周期ごとに、前記再生時点更新手段と前記シーンデータ生成手段と前記シーンデータ提示手段とを起動することによって、ストーリーを時間的に連続して再生する連続再生手段、として機能させるためのストーリー連続再生プログラム。Based on the scenario, the computer is used to continuously reproduce the story in time using multimedia, and a reproduction instruction input means for receiving a reproduction instruction from a user, 3D graphic, moving image, audio, still image Media data recording means storing media data including text and the like and media data ID for identifying each data, by adding an update unit time to a playback time point indicating a playback position on a story time axis, A reproduction time point updating means for updating a reproduction time point, an instruction describing a story scenario, an execution time point parameter specifying an execution time point on a story time axis in which the instruction is executed, and an appearance object An object parameter for specifying creation, deletion, and modification; A macro instruction that does not include a parameter related to a presentation output method includes scenario recording means that records a scenario arranged in chronological order according to the execution time, and includes information on all appearing objects constituting a story world at the reproduction time. Scene data recording means for recording scene data, referring to the scenario, selecting and executing a macro instruction whose execution time of the execution time parameter coincides with the reproduction time to execute the scene data at the reproduction time A scene data generating unit for generating the media data ID, selecting the media data ID in accordance with information of an appearance object included in the scene data, and selecting media data corresponding to the media data ID. From the media data recording means. , A scene data presenting means for presenting and outputting, a continuous reproduction for reproducing the story temporally continuously by activating the reproduction time updating means, the scene data generating means, and the scene data presenting means at regular intervals. A continuous story playback program to function as a means. 再生位置を移動するために、ユーザーからストーリー時間軸上の移動先時点を受け取るための移動先時点入力手段、ストーリー時間軸上の1時点におけるストーリー世界を構成するすべての登場オブジェクトの情報を含むシーンファイルを複数と、各シーンファイルの該時点がシーンファイル時点として登録されているシーンファイル時点リストとを記録しているシーンファイル記録手段、前記シーンファイル記録手段からシーンファイル読み出し、該シーンファイルに含まれる登場オブジェクトの情報を基に、前記シーンデータ記録手段のシーンデータを生成し、該シーンファイルに対応するシーンファイル時点を新たな再生時点とすることによって、再生位置を該シーンファイル時点に移動するシーン復元手段、前記再生時点が前記移動先時点に一致するまで、前記再生時点更新手段と前記シーンデータ生成手段を繰り返し実行することにより、移動先時点におけるシーンデータを生成し、再生位置を移動先時点に移動するシーン早送り手段、前記シーン復元手段と前記シーン早送り手段とを組み合わせ実行することにより、再生位置をストーリー上の任意の時点に移動する再生位置移動手段、をさらに備えてなる請求項1記載のストーリー連続再生プログラム。Destination time point input means for receiving a movement time point on the story time axis from the user to move the playback position, a scene including information on all the appearing objects constituting the story world at one time point on the story time axis Scene file recording means for recording a plurality of files and a scene file time point list in which the time point of each scene file is registered as a scene file time point; a scene file read out from the scene file recording means; The reproduction position is moved to the scene file time point by generating scene data of the scene data recording means based on the information of the appearing object to be reproduced and setting a scene file time point corresponding to the scene file as a new reproduction time point. Scene restoring means, the reproduction time is shifted A scene fast forward means for generating scene data at a movement destination time point and moving a playback position to a movement destination time point by repeatedly executing the reproduction time point updating means and the scene data generation means until the time point coincides with the time, 2. The story continuous reproduction program according to claim 1, further comprising: a reproduction position moving means for moving a reproduction position to an arbitrary point on the story by executing the combination of the means and the scene fast-forward means. 前記再生位置移動手段は、前記移動先時点が、再生位置移動の開始時点である移動元時点より過去の場合には、前記シーンファイル記録手段のシーンファイル時点リストを検索し、前記移動先時点よりも過去に位置し、なおかつ前記移動先時点に最も近いシーンファイル時点を選択し、前記シーン復元手段によって該シーンファイル時点まで再生位置を移動した後、前記シーン早送り手段によって前記移動先時点まで再生位置を移動し、前記移動先時点が、前記移動元時点より未来の場合には、前記シーンファイル記録手段のシーンファイル時点リストを検索し、前記移動元時点と前記移動先時点の間にシーンファイル時点が登録されているかを調べ、登録されていない場合は、前記シーン早送り手段によって前記移動元時点から前記移動先時点まで再生位置を移動し、シーンファイル時点が登録されている場合は、前記シーン復元手段によって該シーンファイル時点まで再生位置を移動した後、前記シーン早送り手段によって、前記移動先時点まで再生位置を移動する方法と、前記シーン早送り手段だけにより前記移動元時点から前記移動先時点まで再生位置を移動する方法とを比較し、処理時間がより短い方法により再生位置を移動することを特徴とする請求項2記載のストーリー連続再生プログラム。The playback position moving means searches the scene file time list of the scene file recording means when the movement destination time point is earlier than the movement source time point at which the movement of the playback position is started. Also selects a scene file time point that is located in the past and is closest to the movement destination time point, and moves the playback position to the scene file time point by the scene restoring means. If the destination time is later than the source time, a scene file time list of the scene file recording means is searched, and the scene file time is moved between the source time and the destination time. It is checked whether or not the destination has been registered. If the destination has not been registered, the scene fast-forward means starts moving from the source to the destination. If the playback position is moved to a point and the scene file time point is registered, the scene restoration means moves the playback position to the scene file time point, and the scene fast forward means moves the playback position to the movement destination time point. A method of comparing a moving method with a method of moving a reproduction position from the movement source time point to the movement destination time point only by the scene fast-forward means, and moving the reproduction position by a method with a shorter processing time. Item 2. A continuous story reproduction program according to Item 2. 前記シーンファイル記録手段は、シーンファイル時点リストに登録されているシーンファイル時点が、時系列的に配列されていて、隣り合うシーンファイル時点間の時間間隔が一定値以内であることを特徴とする請求項2また3記載のストーリー連続再生プログラム。The scene file recording means is characterized in that scene file points registered in the scene file point list are arranged in chronological order, and a time interval between adjacent scene file points is within a certain value. The program for continuously reproducing stories according to claim 2 or 3. 前記シナリオ記録手段のシナリオに記述されているマクロ命令は、該マクロ命令のストーリー上のイベント名を指定するイベント名パラメータをさらに備え、前記移動先時点入力手段は、前記イベント名パラメータが有効なマクロ命令だけを前記シナリオから抽出し、抽出されたマクロ命令の実行時点パラメータの実行時点及び前記イベント名パラメータのイベント名から成るレコードのリストを表示し、ユーザーにレコードを選択させることにより前記移動先時点を入力することを特徴とする請求項2乃至4のいずれかに記載のストーリー連続再生プログラム。The macro instruction described in the scenario of the scenario recording means further includes an event name parameter for designating an event name in the story of the macro instruction, and the destination time point input means includes a macro in which the event name parameter is valid. Only the instruction is extracted from the scenario, and a list of records including the execution time of the extracted macro instruction and the event name of the event name parameter is displayed. The continuous story playback program according to any one of claims 2 to 4, further comprising: 前記シーンファイル記録手段は、前記シナリオに記述されているマクロ命令の中で、イベント名パラメータが有効なマクロ命令の実行時点パラメータに指定された実行時点のすべてが、シーンファイル時点としてシーンファイル時点リストに登録されていることを特徴とする請求項5記載のストーリー連続再生プログラム。The scene file recording means includes, among the macro instructions described in the scenario, all of the execution times specified in the execution time parameter of the macro instruction whose event name parameter is valid, as a scene file time, 6. The story continuous reproduction program according to claim 5, wherein the program is registered in the program.
JP2003026618A 2003-02-04 2003-02-04 Story continuous reproduction program Pending JP2004241873A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003026618A JP2004241873A (en) 2003-02-04 2003-02-04 Story continuous reproduction program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003026618A JP2004241873A (en) 2003-02-04 2003-02-04 Story continuous reproduction program

Publications (1)

Publication Number Publication Date
JP2004241873A true JP2004241873A (en) 2004-08-26

Family

ID=32954562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003026618A Pending JP2004241873A (en) 2003-02-04 2003-02-04 Story continuous reproduction program

Country Status (1)

Country Link
JP (1) JP2004241873A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8373723B2 (en) 2007-10-18 2013-02-12 Samsung Electronics Co., Ltd. Method and apparatus to provide plot data of contents

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8373723B2 (en) 2007-10-18 2013-02-12 Samsung Electronics Co., Ltd. Method and apparatus to provide plot data of contents

Similar Documents

Publication Publication Date Title
US8644683B2 (en) Moving image data processing apparatus and method
Davenport et al. ConText towards the evolving documentary
Allen Speaking of soap operas
Rada Interactive media
JP3378759B2 (en) Method and system for multimedia application development sequence editor using spacer tool
JPH10145762A (en) Method for synchronizing presentation of static and dynamic components for interactive multimedia document
JP2011210285A (en) Creation assisting method and apparatus, and recorded medium
TW201303723A (en) System and method for online editing and exchanging interactive three dimension multimedia, and computer-readable storage medium thereof
JP2895064B2 (en) Still image file method, still image reproducing device, still image file storage medium system, and still image file device
JP2009015958A (en) Reproducing device, reproducing method, and program
JPH0789267B2 (en) Data editing / presentation method and device
JP2004241873A (en) Story continuous reproduction program
JP2565045B2 (en) Scenario editing / presentation method and apparatus
JP4306429B2 (en) Content-linked comment display method and system, server device, client device, comment display program, and computer-readable storage medium storing comment display program
KR20200093295A (en) The method for providing exhibition contents based on virtual reality
JP2003157268A (en) Electronic equipment and electronic equipment control program
JP2002344849A (en) Moving picture processing unit, moving picture processing method, recording medium, and control program
CN114979743A (en) Method, device, equipment and medium for displaying audiovisual works
JP2005167822A (en) Information reproducing device and information reproduction method
JP2017084235A (en) Content data management device, program, and content data management method
JP6638281B2 (en) Information processing device and program
JP2001045428A (en) Moving picture processing unit, moving picture processing method and storage medium
CN112734940B (en) VR content playing modification method, device, computer equipment and storage medium
JP2008299493A (en) Content creation support system and computer program
KR102150846B1 (en) Moving picture reproducing apparatus, moving picture reproducing method, and program