(57)【要約】      （修正有）【課題】容易にマルチメディアデータを作成できる処理装置を提供する。【解決手段】マルチメディア処理装置は、メディアデータが時系列的に記述される描画情報記述部分と、イベントとアクションとの対応付け、および実行条件とが時系列的に記述されるユーザナビゲート情報記述部分とからなるデータ構造のスクリプトを実行する。マルチメディア処理装置がこのスクリプトを実行することで、時系列的にメディアデータが再生され、それと同時に、時系列的に可能な操作を示すユーザインタフェースが出力される。そして、所定のタイミングでユーザインタフェースに従って操作することで、メディアデータの挿入などの、所定の処理を実行させることができる。【選択図】図８５
2007295552.tif 000002
【特許請求の範囲】
【請求項１】
テンプレートに含まれるスクリプトにしたがって、前記スクリプトから参照されるデータを再生するスクリプト実行手段と、
前記テンプレートに含まれるスクリプトにしたがって、当該マルチメディアデータ処理装置の機能を選択する機能選択手段と、
前記テンプレートに含まれるスクリプトにしたがって、前記選択された機能を用いて、前記スクリプトから参照されるデータに対してどのような処理を行なうかを決定するアクション決定手段と、
前記決定された処理を実行するアクション実行手段と、
前記スクリプトから参照されるデータを変更するデータ変更手段と、
前記スクリプトと前記変更されたデータとの少なくとも一方を出力するスクリプト・データ出力手段とを備える、マルチメディアデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はマルチメディアデータ処理装置に関し、特に、容易にマルチメディアコンテンツを作成できるマルチメディアデータ処理装置に関する。
【背景技術】
【０００２】
昨今の携帯電話等の通信機器の普及に伴って、作成したマルチメディアコンテンツを他のユーザに送信したり、他のユーザに対してマルチメディアコンテンツを作成させたりするようなコミュニケーションが広がっている。
【０００３】
しかし、マルチメディアコンテンツを作成する際には、煩雑な操作手順を踏む必要である場合が多く、操作に慣れていないユーザによっては作成が困難であることもある。
【０００４】
そこで、ユーザの操作を簡略化することを目指した手法が考えられている。
このようなコミュニケーションのツールとして、特許文献１は、スクリプトが添付されたメールを受信すると、メール開封と連動して添付スクリプトを抽出して実行する受信装置であって、さらに、受信装置において実行されたアクションを反映したスクリプトを生成して、メールの送信元に対して出力するように処理結果の出力を制御する受信装置について開示している。このような特許文献１に記載の受信装置を用いることにより、送り手側が所望したアクションを受け手側に実行させることができる。
【０００５】
さらに特許文献２には、マルチメディアデータが付加された電子メールを容易に作成するために、コンテンツのレイアウト情報を記述したメールテンプレートを用意し、そのテンプレートのレイアウト情報にしたがってマルチメディアを含むメールを作成する手法が記載されている。
【特許文献１】特開２００２−１４０２７０号公報
【特許文献２】特開２００２−３２４０３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の特許文献１に記載の受信装置でスクリプトの生成を実行させることでマルチメディアコンテンツの作成をさせる場合には、複雑なスクリプトを記述して受信装置に送信する必要があるという問題がある。また、実行されたスクリプトは受け手側の操作を誘導するものでないために、必ずしも送り手側が所望したアクションが得られない場合もあるという問題もあった。
【０００７】
さらに、メールなどのメッセージ作成者側でメールの作成を行なうことが容易ではないという問題もあった。すなわち、単にスクリプトとメッセージ作成者が用意したデータとを組合わせたメッセージを作成することは困難である。
【０００８】
マルチメディアデータを含むメッセージやメールの作成を容易にする技術として、特許文献２に開示されている、レイアウト情報が記載されたテンプレートを用いて、文字・静止画などの配置を容易にする技術は、ＰＣ（Personal Computer）で見る１枚の大きな画面の中に複数の画像やテキストが混在するメールを作成する場合には有効に働くものの、Ａのシーン、Ｂのシーン、Ｃのシーンというように、時間的にメール画面が不連続的に変化してコンテンツが切替わるメールを作成する場合については言及されておらず、特許文献２に開示されている技術を用いても、時間的に遷移するマルチメディアデータをユーザが作成するのは困難であるという問題があった。
【０００９】
さらに、従来のデータ処理装置である携帯電話や携帯端末などにおいて、端末固有に保有されるカメラ、マイク、および住所録など各種機能を利用して、メッセージの内容を書換えることはできないという問題もある。
【００１０】
さらに、従来のデータ処理装置である作成者側の端末では、マルチメディアコンテンツの作成に使用したスクリプトの一部を書換え、そのスクリプトが再生側で利用されることで、最小限のスクリプトの書換えで作成と再生とができるようにはなっていないという問題もある。
【００１１】
さらに、従来のデータ処理装置である作成者側の端末では、マルチメディアコンテンツの作成に利用したスクリプトコマンドもしくはタグのうち、送信相手が不要であるもの、もしくは標準手順に沿わないものを削除することができないという問題もあった。
【００１２】
本発明はこのような問題に鑑みてなされたものであって、容易にマルチメディアコンテンツを作成できるマルチメディアデータ処理装置を提供することを第１の目的とし、さらに、相手に所望のマルチメディアコンテンツの作成・編集操作を確実に行なわせることのできるマルチメディアデータ処理装置を提供することを第２の目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明のある局面に従うと、マルチメディアデータ処理装置は、テンプレートに含まれるスクリプトにしたがって、スクリプトから参照されるデータを再生するスクリプト実行手段と、テンプレートに含まれるスクリプトにしたがって、当該マルチメディアデータ処理装置の機能を選択する機能選択手段と、テンプレートに含まれるスクリプトにしたがって、選択された機能を用いて、スクリプトから参照されるデータに対してどのような処理を行なうかを決定するアクション決定手段と、決定された処理を実行するアクション実行手段と、スクリプトから参照されるデータを変更するデータ変更手段と、スクリプトと変更されたデータとの少なくとも一方を出力するスクリプト・データ出力手段とを備える。
【発明を実施するための最良の形態】
【００１４】
以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。
【００１５】
［第１の実施の形態］
図１は、第１の実施の形態におけるマルチメディアデータ処理装置を含むデータ通信システムの構成を示す図である。図１を参照して、本実施の形態におけるデータ通信システムは、スクリプト言語で記述されているテンプレートを提供するテンプレート提供サーバ（以下、単にサーバと言う）２と、提供されたテンプレートの再生および編集を行なう、マルチメディアデータ処理装置である再生・編集装置１とを含んで構成され、サーバ２と再生・編集装置１とは、インターネットあるいは公衆回線網あるいは放送網を介して通信を行なう。また、図１には示されていないものの、サーバ２と再生・編集装置１とはＬＡＮ（Local Area Network）等の専用回線を介して通信を行なってもよいし、無線通信を行なってもよい。なお、図１に示されるように、再生・編集装置１は携帯電話やＰＤＡ（Personal Digital Assistants）やパーソナルコンピュータ等が該当し、以下の説明においては、再生・編集装置１が携帯電話１であるものとして説明を行なう。
【００１６】
なお、マルチメディアデータ処理装置である再生・編集装置１としては、情報通信機器、映像・音響機器、家電機器、およびアミューズメント機器などが該当する。
【００１７】
また、情報通信機器としては、パーソナルコンピュータやホームサーバなどの情報機器や電話機などの通信機器、中でも特に、携帯電話やＰＤＡ（Personal Digital Assistants）やノート型、装着型コンピュータなどの携帯型情報通信機器が該当する。
【００１８】
また、映像・音響機器としては、画像記録機器であるデジタルスチルカメラ、映像記録機器であるデジタルビデオカメラやＨＤＤ（Hard Disk Drive）レコーダ、ＤＶＤ（Digital Versatile Disk）レコーダ、ビデオテープレコーダ、映像再生機器であるＤＶＤプレーヤやビデオプレーヤ、音声記録機器であるボイスレコーダ、音楽記録・再生機器であるシリコンオーディオレコーダまたはプレーヤ、ＭＤ（Mini Disk）レコーダまたはプレーヤ、ＣＤ（Compact Disk）レコーダまたはプレーヤ、放送データ受信、再生機器であるテレビジョン受像機やラジオなどが該当する。
【００１９】
また、家電機器としては、冷蔵庫、洗濯機、エアコンディショナ、掃除機、空気清浄機、および電子レンジなどの機器が該当する。
【００２０】
また、アミューズメント機器としては、家庭用もしくは携帯型ゲーム機器などが該当する。
【００２１】
また、マルチメディアデータ処理装置である再生・編集装置１としては、上記の情報処理、通信、画像記録・再生、映像記録・再生、音声記録・再生、音楽記録・再生、放送データ受信・再生といった機能の複数を有する機器であってもよく、その他、上記に挙げたもの以外であっても、マルチメディアデータの再生もしくは編集が可能な機器であればどのような形態であっても構わない。
【００２２】
本実施の形態においては、特に再生・編集装置１が携帯電話１である場合について詳説する。
【００２３】
なお、本実施の形態においてメディアデータとは、画像（静止画）データ、動画データ、音声データ、音楽データ、テキストデータ、およびアニメーションデータのいずれか、あるいは外部より受信するストリーミングデータや放送データ、もしくはそれらを統合してなる下記のマルチメディアデータを指す。
【００２４】
また、本実施の形態においてマルチメディアデータとは、１つ以上のメディアデータを統合してなるデータを指し、データの形式は人間に可読なテキスト形式で記述されてもよいし、人間が直接読めないバイナリ形式であってもよい。
【００２５】
また、本実施の形態においてスクリプトとは、上述のマルチメディアデータを表示、再生、および編集するために、マルチメディアデータが含む各メディアデータに対して画面上のレイアウト情報、時間軸上の再生開始、終了タイミングや、再生速度、音量などの属性を規定する記述形式を指す。また、外部アプリケーションの起動、装置内外からの情報取得、他のマルチメディアデータへのリンク遷移などの制御情報も、スクリプト中に記述することが可能である。
【００２６】
また、本実施の形態においてテンプレートとは、上述のスクリプトを含んで構成される、再生あるいは編集可能なマルチメディアデータであって、ユーザ操作などをきっかけとして、該スクリプト内のメディアデータを参照する部分の記述を書換えることにより、メディアデータの追加、変更、および削除を行なうことができるマルチメディアデータの一形態を指す。テンプレートには、スクリプトから参照されるメディアデータを１つ以上含んでもよい。
【００２７】
次に、図２に、本データ通信システムに含まれる再生・編集装置である携帯電話１のハードウェア構成について具体例を示す。
【００２８】
図２を参照して、本実施の形態のデータ通信システムに含まれる携帯電話１は、ユーザとのインタフェースである入出力部１４０と、ＣＰＵ（Central Processing Unit）等から構成されて、この携帯電話１の全体を制御する制御部１２０と、他の装置と通信するための通信部１１０と、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などから構成されて、制御部１２０において実行されるプログラムや、そのプログラムの中間データおよび他のコンピュータから受信したデータ等を記憶する記憶部１３０とを含んで構成される。
【００２９】
さらに上述の入出力部１４０は、「１」、「２」などの数字ボタンおよび「Ｒ」、「Ｌ」などの方向ボタンなどを含むキーコード入力デバイス１４２と、ユーザに情報を表示するＬＣＤ（Liquid Crystal Display）などのディスプレイ１４４と、音声を入力するマイクロフォン１４６と、音声を出力するスピーカ１４８と、画像を撮影して入力するカメラ１４９とを含む。
【００３０】
また、制御部１２０は、その内部にタイマを含む。
このような携帯電話１において、ユーザがサーバ２から得たテンプレートの再生および編集を行なう処理は、携帯電話１のハードウェア、記憶部１３０に記憶され制御部１２０により実行されるソフトウェアおよびテンプレートにより実現される。なお、図２に示した携帯電話１自体の動作は周知であるので、ここではその詳細な説明は省略する。
【００３１】
また、本データ通信システムに含まれるサーバ２は、一般的なパーソナルコンピュータ等で構築されるサーバであり、その構成についてここでの詳細な説明は行なわない。
【００３２】
次に、図３に、携帯電話１の記憶部１３０に記憶されるプログラムと、携帯電話１におけるデータ処理の流れとを示す。図３に示されるデータ処理の流れは、制御部１２０が記憶部１３０に記憶される各プログラムを実行することによって、携帯電話１において実現される。すなわち、通信部１１０でサーバ２から受信したテンプレートは、制御部１２０が記憶部１３０に記憶されるプログラムを実行することによって再生および編集処理がなされる。
【００３３】
具体的には、図３を参照して、始めに、制御部１２０は、再生・編集エンジンプログラム１３１を実行させることで、通信部１１０において受信したスクリプトとメディアデータとを含むテンプレートを処理する。なお、ここでの再生・編集エンジンプログラム１３１の機能構成については後述する。
【００３４】
次に、制御部１２０は、再生・編集エンジンプログラム１３１での処理結果に基づいて、ＵＩ（User Interface）内容表示プログラム１３２を実行させる。ＵＩ内容表示プログラム１３２を実行させてテンプレートを処理することで、テンプレートにおけるＵＩの内容をディスプレイ１４４に表示させる。
【００３５】
また、制御部１２０は、再生・編集エンジンプログラム１３１での処理結果に基づいて、画像撮影プログラム１３３を実行させ、カメラ１４９からの画像の入力とキーコード入力デバイス１４２からの各種指示とを受付ける。また、動画を撮影する際には、さらにマイクロフォン１４６からの音声の入力も受付ける。
【００３６】
また、制御部１２０は、再生・編集エンジンプログラム１３１での処理結果に基づいて、画像データ表示再生プログラム１３４を実行させ、テンプレートに含まれる画像データをディスプレイ１４４上で再生させる。また、その画像データに音声も含まれる場合には、その音声をスピーカ１４８で再生させる。
【００３７】
また、制御部１２０は、再生・編集エンジンプログラム１３１での処理結果に基づいて、音声データ再生プログラム１３５を実行させ、テンプレートに含まれる音声データをスピーカ１４８で再生させる。
【００３８】
また、制御部１２０は、再生・編集エンジンプログラム１３１での処理結果に基づいて、音声データ録音プログラム１３６を実行させ、マイクロフォン１４６からの音声の入力とキーコード入力デバイス１４２からの各種指示とを受付ける。
【００３９】
また、制御部１２０は、再生・編集エンジンプログラム１３１での処理結果に基づいて、アニメデータ表示再生プログラム１３７を実行させ、テンプレートに含まれるアニメデータをディスプレイ１４４上で再生させる。
【００４０】
また、制御部１２０は、再生・編集エンジンプログラム１３１での処理結果に基づいて、テキストデータ表示再生プログラム１３８を実行させ、テンプレートに含まれるテキストデータをディスプレイ１４４上で再生させる。
【００４１】
また、制御部１２０は、再生・編集エンジンプログラム１３１での処理結果に基づいて、テキスト編集プログラム１３９を実行させ、キーコード入力デバイス１４２からのテキスト情報と各種指示とを受付ける。
【００４２】
また、制御部１２０は、再生・編集エンジンプログラム１３１での処理結果に基づいて、ＷＷＷ（World Wide Web）ブラウザプログラム１５１を実行させ、ＷＷＷコンテンツを再生する。
【００４３】
また、制御部１２０は、再生・編集エンジンプログラム１３１での処理結果に基づいて、ＷＷＷブラウザプログラム１５１を実行させ、通信部１１０を介してサーバ２からデータを取得する。
【００４４】
また、制御部１２０は、再生・編集エンジンプログラム１３１での処理結果に基づいて、メールプログラム１５２を実行させ、キーコード入力デバイス１４２からのテキスト情報と各種指示と受付け、メールを送信させる。
【００４５】
また、制御部１２０は、再生・編集エンジンプログラム１３１での処理結果に基づいて、通話プログラム１５３を実行させ、通話を開始させる。
【００４６】
また、制御部１２０は、再生・編集エンジンプログラム１３１での処理結果に基づいて、位置取得プログラム１５４を実行させ、ＧＰＳ（Global Positioning System）１５０から当該端末の現在位置を取得する。
【００４７】
また、制御部１２０は、再生・編集エンジンプログラム１３１での処理結果に基づいて、アドレス帳プログラム１５５を実行させ、記憶部１３０に記憶されたメールアドレスや電話番号を取得する。
【００４８】
また、制御部１２０は、再生・編集エンジンプログラム１３１での処理結果に基づいて、ファイル取得プログラム１５６を実行させ、記憶部１３０に記憶された特定のメディア型のコンテンツデータを取得する。
【００４９】
また、制御部１２０は、上述の画像撮影プログラム１３２、音声データ録音プログラム１３６、テキスト編集プログラム１３９、ＷＷＷブラウザプログラム１５１、位置取得プログラム１５４、アドレス帳プログラム１５５、およびファイル取得プログラム１５６を実行させることによって受付けた情報に基づいて、再生・編集エンジンプログラム１３１を実行させ、スクリプトとメディアデータとを含むテンプレートを処理する。
【００５０】
さらに、上述の再生・編集エンジンプログラム１３１の機能構成について図４に示す。制御部１２０が記憶部１３０に記憶される再生・編集エンジンプログラム１３１を実行することで、図４に示される各機能が携帯電話１において実現される。
【００５１】
図４を参照して、始めに、スクリプト読込部１３１１は、通信部１１０において受信したテンプレートに含まれるスクリプトを読込む。そして、スクリプト読込部１３１１は、読込んだスクリプトを構文解析部１３１２に渡す。
【００５２】
次に、構文解析部１３１２は、スクリプト読込部１３１１から渡されたスクリプトの構文を解析する。そして、構文解析部１３１２は、解析結果を実行制御部１３１３と時間管理部１３１４とに渡す。
【００５３】
次に、時間管理部１３１４は、構文解析部１３１２から渡された解析結果に基づいて、タイムテーブルを作成する。そして、時間管理部１３１４は、作成したタイムテーブルを実行制御部１３１３に渡す。
【００５４】
また、イベント管理部１３１５は、イベントの発生を検出する。そして、イベント管理部１３１５は、検出結果を実行制御部１３１３に渡す。
【００５５】
次に、実行制御部１３１３は、時間管理部１３１４から渡されたタイムテーブルと、イベント管理部１３１５から渡されたイベント発生の検出結果と、構文解析部１３１２から渡された解析結果とに基づいて、スクリプトを実行する。また、実行制御部１３１３は、イベント管理部１３１５から渡されたイベント発生の検出結果に基づいて、スクリプト書出部１３１６にスクリプトの書換えを指示する。
【００５６】
スクリプト書出部１３１６は、実行制御部１３１３からの指示に基づいて、スクリプトを書換え、書換えたスクリプトを実行制御部１３１３に渡す。そして、書換えられたスクリプトは、実行制御部１３１３で実行される。
【００５７】
なお、本実施の形態においては、サーバ２から提供されたテンプレートを携帯電話１において処理する場合について説明するが、テンプレートに含まれるスクリプトおよびメディアデータの一部またはすべては携帯電話１の記憶部１３０に記憶されているものであってもよく、その場合、図３あるいは図４に示される各部は、記憶部１３０から読出して取得したスクリプトまたはメディアデータを処理する。
【００５８】
次に、サーバ２から携帯電話１に提供され、携帯電話１において処理されるテンプレートに含まれるスクリプトについて説明する。
【００５９】
図５は、スクリプトのデータ構造を模式的に示した図である。図５を参照して、本実施の形態における携帯電話１で処理されるスクリプトは、描画情報記述部分とユーザナビゲート情報記述部分とからなることを特徴とする。
【００６０】
描画情報記述部分には、画像（静止画）データや、動画データや、音声データや、音楽データや、テキストデータや、アニメーションデータや、ストリーミングデータや、放送データなどのメディアデータへの参照情報（ファイル名やＵＲＬ（Uniform Resource Locators）や放送局の周波数やチャネルなど）が記述される。
【００６１】
なお、ＲＦＣ２３９７で規定されているデータＵＲＬなどの記述形式を利用することによって、描画情報記述部分に、メディアデータへの参照情報ではなくメディアデータの実体そのものを記述してもよい。
【００６２】
また、ユーザナビゲート情報記述部分には、リンク移動やアプリケーションの起動やヘルプ表示などを実行させるスクリプト定義入力イベントと、アクション（動作）との対応付け、および実行条件とが記述される。
【００６３】
上記アクションの例としては、カメラ起動による動画あるいは静止画の撮像、テキストエディタ起動によるユーザ入力テキストデータの取得、ボイスレコーダ起動による音声データの取得、ファイル選択アプリケーション起動によるメディアデータファイルの取得、機器の内部または外部からの時刻情報、位置情報、アドレス帳、スケジュール情報、その他の情報の自動取得、ＷＷＷブラウザやメーラなど機器のアプリケーションの起動、電話発呼やメロディ再生やライト点灯などの機器固有機能の呼出し、あるいは他のスクリプト実行へのリンク遷移、あるいはテレビのチャンネル切替え、エアコンの温度設定など、他の機器を制御する制御信号の発信、などが挙げられる。
【００６４】
さらに、描画情報記述部分とユーザナビゲート情報記述部分との両方に、時系列的な記述を含むことを特徴とする。すなわち、描画情報記述部分には時系列的にメディアデータへの参照情報が記述され、ユーザナビゲート情報記述部分には時系列的にイベントが記述されることを特徴とする。
【００６５】
このような構成とすることで、スクリプトには、画像（静止画）データや、音楽データや、テキストデータや、アニメーションデータや、ストリーミングデータや、放送データなどのメディアデータが時系列的に次々に再生されるようなマルチメディアデータを記述することができる。
【００６６】
さらに、時系列的にイベントが記述できることにより、スクリプトを再生させながら、所定の時刻や時間帯において、たとえばカメラの起動などのイベントを実行させることができる。さらに、このようなカメラ起動イベントを、所定の画像と置換するアクションに対応付けるように記述することにより、上述の所定の画像が表示されるべき時間帯にユーザが所定のキーを押下すると、スクリプトの再生を一旦停止して直ちにカメラが起動され、ここで撮影操作を実行すると、スクリプトの再生に復帰し、今撮影された画像が所定の位置に表示される、というようなアプリケーションを実現できる。
【００６７】
以上のように、時系列に沿って起動するイベントとそれに対応するアクションとをスクリプト内で明示的に規定することによって、携帯端末などにおいてカメラやマイク、住所録などの機能を利用して複数のメディアデータが時系列に再生されるようなマルチメディアデータを作成する場合でも、操作手順を簡略化することができ、ユーザの利便性が高まる。
【００６８】
図６および図７に、具体的なスクリプトを示して説明する。
図６を参照して、始めに、スクリプトのヘッダ部分（第２行〜第１６行）の第１２行〜第１５行に、アクションの内容が定義されている。すなわち、図６を参照して、第１２行〜第１５行には、アクションの内容として、アクションごとの固有の識別情報（ａｃｔｉｏｎ  ｉｄ）と、そのアクションの実行形式（ｔｙｐｅ）と、アクション内容（ｄｅｓｔ）と、アクションの実行領域（Ｉｍａｇｅ）とが定義されている。
【００６９】
より具体的には、図６の第１２行には、識別情報ａｃｔ＿ｍｏｖｉｅであるアクションは、Ｉｍａｇｅ領域に表示されている情報と、ｍｏｖｉｅに格納されているファイルとを置換える（ｒｅｐｌａｃｅ）内容である旨が定義されている。
【００７０】
また、図６の第５行には、携帯電話１においてスクリプトをどのように使用するかについてのヒントが記述されている。すなわち、スクリプトは、コンテンツ編集操作をナビゲートするテンプレート（ｔｅｍｐｌａｔｅ）である旨が定義されている。このほかに、編集操作のナビゲートはせず閲覧専用のコンテンツ（ｃｏｎｔｅｎｔｓ）である旨を定義することができる。
【００７１】
次に、図７を参照して、スクリプトの本体（ボディ）部分（第１７行〜第４０行）の第１８行〜第３９行の段落には、並列に実行されるメディアデータやアクションが記述されている。さらに、第１９行および第３７行には、これらのメディアデータやアクションが時系列的に実行される旨が記述されている。さらに、第２０行〜第２５行、第２６行〜第３１行、および第３２行〜第３６行の各段落には、各々、０秒〜８秒目、８秒〜１５秒目、および１５秒〜１９秒目に実行されるメディアデータやアクションが記述されている。
【００７２】
より具体的には、図７の第２１行〜第２３行には、０秒〜８秒目に、各々、画像データ、テキストデータ、および音声データを再生させる旨が記述されており、第２４行には、「ムービー起動」のＵＩを表示させ、ｓｅｌｅｃｔキーが操作された場合に、識別情報ａｃｔ＿ｍｏｖｉｅであるアクションを実行させる旨が記述されている。第３０行には、「音声録音」のＵＩを表示させ、２秒後にタイマから通知を受け、識別情報ａｃｔ＿ｓｐｅｅｃｈであるアクションを実行させる旨が記述されている。なお、第２８行から第３０行において、「ｓｒｃ＝」に続いて記述される名前はイベントの発生元を表わすソースＩＤである。ＵＩの表示については、図７に示されるようにスクリプトに記述されていてもよいし、図８に示されるような、起動アプリケーションとそのときに表示させるＵＩとの対応を規定するテーブルが、予め携帯電話１の記憶部１３０に格納され、携帯電話１の制御部１２０が再生・編集エンジンプログラム１３１を実行する際に自動的に当該テーブルを読出して表示されるものであってもよい。
【００７３】
このように、本実施の形態における携帯電話１で処理されるスクリプトは、時系列的に実行される、描画情報とユーザナビゲート情報とを記述する描画情報記述部分とユーザナビゲート情報記述部分とから構成されることを特徴とする。
【００７４】
なお、本実施の形態においては、人間に可読なテキスト形式のスクリプトを携帯電話１において処理する場合について説明するが、スクリプトは人間が直接読めないバイナリ形式であってもよい。
【００７５】
また、本実施の形態においては、ひとまとまりのスクリプトを携帯電話１において処理する場合について説明するが、スクリプトをメディアデータへの参照情報を含む描画情報記述部とユーザナビゲート情報記述部とに分割して構成し、メディアデータを置換えまたは挿入する際には、メディアデータへの参照情報を含む描画情報記述部が記述されたスクリプトのみを編集する構成であってもよい。
【００７６】
具体的に、図７０および図７１に、描画情報記述部とユーザナビゲート情報記述部とに分割して構成された各スクリプトであって、描画情報記述部が記述されたスクリプトと、ユーザナビゲート情報記述部が記述されたスクリプトとを示す。
【００７７】
図７０に示される描画情報記述部が記述されたスクリプトには、具体的に、スクリプト実行開始０秒〜２秒の間は静止画ｔｏｐ．ｊｐｇとテキストｔｏｐ．ｔｘｔとが表示され、スクリプト実行開始２秒〜８秒の間は静止画ｉｍａｇｅ．ｊｐｇ、音楽データｂｇｍ．ａｍｒ、テキストｍｅｓｓａｇｅ．ｔｘｔとが再生されることが記述されている。
【００７８】
また、図７１に示されるユーザナビゲート情報記述部が記述されたスクリプトは、図７０に参照先として参照情報が記述されているメディアデータのうち、ｉｍａｇｅ．ｊｐｇとｍｅｓｓａｇｅ．ｔｘｔとを置換え、挿入する機能を実現するスクリプトである。
【００７９】
上述の図７０および図７１に示されるスクリプトを本実施の形態にかかる携帯電話１で構文解析して実行したときの画面表示の具体例を、図７２に示す。まず、図７２（Ａ）に示されるように、図７１の記述にしたがって、「ＳＥＬＥＣＴ  ＰＨＯＴＯ」の文字列と共に画像ファイル選択フォーム、および「ＥＮＴＥＲ  ＢＩＲＴＨＤＡＹ  ＭＥＳＳＡＧＥ」の文字列と共に文字列入力フォームが表示される。図７２（Ａ）に示される画面においてユーザが画像ファイルを選択し、テキストを入力した状況が図７２（Ｂ）に示される。図７２（Ｂ）に示される画面において「ｓｅｎｄ」ボタンが選択実行されると、今選択された画像ファイルがｉｍａｇｅ．ｊｐｇとして、入力されたテキストがｍｅｓｓａｇｅ．ｔｘｔとしてテンプレートに組込まれ、再生実行される。すなわち、当該スクリプトの再生開始から０秒〜２秒の間は、図７２（Ｃ）に示されるように静止画ｔｏｐ．ｊｐｇとテキストｔｏｐ．ｔｘｔとが表示され、続いて開始２秒〜８秒の間は、図７２（Ｄ）に示されるようにｉｍａｇｅ．ｊｐｇとｍｅｓｓａｇｅ．ｔｘｔとが表示されて、同時に音楽データｂｇｍ．ａｍｒが再生される。図７２（Ｄ）で表示されるｉｍａｇｅ．ｊｐｇはユーザが図７２（Ｂ）に示される画面で選択した画像であり、ｍｅｓｓａｇｅ．ｔｘｔは図７２（Ｂ）に示される画面で入力したテキストである。
【００８０】
このように、スクリプトを描画情報記述部とユーザナビゲート記述部とに分割して構成することで、後述するような、スクリプトからユーザナビゲート記述部を削除してメールに添付して送信する場合に、描画情報記述部のみを添付することにすればよく、スクリプトを解析しどの部分を削除すべきかを考慮する処理を省略できるというメリットがある。
【００８１】
なお、描画情報記述部を含むスクリプトとユーザナビゲート記述部を含むスクリプトとの関係は、たとえば図７３に示されるスクリプトのように、両スクリプトを結びつける記述部を含むスクリプトを別に用意し、これらのスクリプトと、描画情報記述部を含むスクリプトとから参照されるメディアデータ群とのセットをテンプレートとして扱うことにするのが好ましい。
【００８２】
また、描画情報記述部を含むスクリプト内に、対応するユーザナビゲート記述部を含むスクリプトへのリンクを記述することによって、描画情報記述部を含むスクリプトを再生させながら、所定のタイミングでユーザナビゲート記述部を含むスクリプトの実行へ移り、図７２（Ａ）のような入力画面へ遷移させることもできる。
【００８３】
次に、本実施の形態における携帯電話１での、スクリプトの再生および編集処理について図９のフローチャートを用いて説明する。図９のフローチャートに示される処理は、携帯電話１の制御部１２０が、図４に構成が示される再生・編集エンジンプログラム１３１を記憶部１３０から読出して実行することによって実現される。
【００８４】
図９を参照して、始めに、ステップＳ１１において初期化を実行した後、ステップＳ１２において、通信部１１０で、インターネットを介してサーバ２よりスクリプトを取得する。
【００８５】
次に、ステップＳ１３において、制御部１２０は、再生・編集エンジンプログラム１３１を実行し、スクリプト読込部１３１１で取得したスクリプトを読込む。
【００８６】
次に、ステップＳ１４において、構文解析部１３１２は、読込んだスクリプトを構文解析する。なお、ここでの構文解析の方法については、本発明において限定されるものでなく、一般的な構文解析方法であってよい。
【００８７】
次に、ステップＳ１５において、時間管理部１３１４は、構文解析結果に基づいて図１０〜図１２に示すようなタイムテーブルを作成する。図１０は、時間管理部１３１４が、図６および図７に示されるスクリプトの描画情報記述部分に基づいて作成したメディア描画処理のタイムテーブルの具体例を示す図であり、図１１および図１２は、図６および図７に示されるスクリプトのユーザナビゲート情報記述部分に基づいて作成したイベント処理タイムテーブルおよびＵＩ割当状況表示タイムテーブルの具体例である。すなわち、ステップＳ１５において、時間管理部１３１４は、ステップＳ１４で解析されたスクリプトに基づいて、スクリプト実行時間とそのとき再生されるメディアデータとの対応と、スクリプト実行時間とそのとき発生したイベントに応じた処理との対応と、スクリプト実行時間とそのときに操作されるＵＩの割当との対応とを、図１０〜図１２に示すようなタイムテーブル形式で作成する。
【００８８】
具体的には、図１０に示すメディア描画処理のタイムテーブルは、図６および図７に示されるスクリプトの描画情報記述部分に基づいて、スクリプト実行開始０秒〜８秒の間は、動画１（ＦｉｒｓｔＩｍａｇｅ．ｍｐｇ）と、テキスト１（ＦｉｒｓｔＴｅｘｔ．ｔｘｔ）と、音楽１（ＦｉｒｓｔＳｏｕｎｄ．ｓｍｆ）とが再生され、スクリプト実行開始８秒〜１５秒の間は、テキスト２（ＳｅｃｏｎｄＴｅｘｔ．ｔｘｔ）が再生され、スクリプト実行開始１５秒〜１９秒の間は、静止画３（ＴｈｉｒｄＩｍａｇｅ．ｊｐｇ）と、テキスト３（ＴｈｉｒｄＴｅｘｔ．ｔｘｔ）と、音楽３（ＴｈｉｒｄＳｏｕｎｄ．ｓｍｆ）とが再生されることを示すタイムテーブルである。
【００８９】
なお、スクリプトに含まれるテキストやユーザが入力するテキストが、他の画像や映像と同じ領域に重ねて表示される場合には、該テキストの視認性を高めるために、色やフォントなどの属性を自動的に調整されることが好ましい。このような自動調整の最も単純な実施は、具体的な色属性の表現がＲＧＢの３値の組による場合、テキストと背景との色属性の距離√（（ΔＲ）2＋（ΔＧ）2＋（ΔＢ）2）が所定のしきい値よりも小さい場合に
、背景色の色属性の補色（背景色のＲＧＢの各成分値の１の補数をＲＧＢ成分としてもつ色）をテキストの色属性とすることで得られる。
【００９０】
また、図１１に示すイベント処理タイムテーブルは、図６および図７に示されるスクリプトのユーザナビゲート情報記述部分に基づいて、スクリプト実行開始０秒〜８秒の間にＳｅｌｅｃｔキーが操作されると画像撮影プログラム１３３である動画撮影アプリケーションが起動し、スクリプト実行開始８秒〜１５秒の間にＳｅｌｅｃｔキーが操作されると、たとえば画像撮影プログラム１３３である動画撮影アプリケーションと、テキスト編集プログラム１３９である文字入力アプリケーションとの中から１つを選択させる画面をディスプレイ１４４に表示させ、そこで選択されたプログラムが起動し、スクリプト実行開始８秒〜１５秒の間にタイマにより音声データ録音プログラム１３６である音声入力アプリケーションを起動することを示すタイムテーブルである。
【００９１】
また、図１２に示すＵＩ割当状況表示タイムテーブルは、図６および図７に示されるスクリプトのユーザナビゲート情報記述部分に基づいて、スクリプト実行開始０秒〜８秒の間には、Ｓｅｌｅｃｔキーが操作されると画像プログラム１３３である動画撮影アプリケーションが起動することをユーザに示すために、ディスプレイ１４４にＳｅｌｅｃｔキーの説明として「ムービー撮影」と表示させ、スクリプト実行開始８秒〜１５秒の間には、Ｓｅｌｅｃｔキーが操作されると画像撮影プログラム１３３である動画撮影アプリケーションと、テキスト編集プログラム１３９である文字入力アプリケーションとのいずれかが起動することをユーザに示すために、ディスプレイ１４４にＳｅｌｅｃｔキーの説明として「カメラ撮影」、および「テキスト入力」などと表示させ、スクリプト実行開始８秒〜１５秒の間には、タイマにより音声データ録音プログラム１３６である音声入力アプリケーションを起動することをユーザに示すために、ディスプレイ１４４にタイマによる起動の説明として「録音」と表示させることを示すタイムテーブルである。
【００９２】
次に、ステップＳ１６において、実行制御部１３１３は、構文解析結果およびタイムテーブルに基づいて、スクリプトを実行する。また、スクリプト実行時には、実行制御部１３１３は、ＵＩ割当状況表示タイムテーブルに基づいて、スクリプト実行時間に伴って変化するＵＩをディスプレイ１４４に表示させるよう、ＵＩ内容表示プログラム１３２に指示する。なお、ここでのスクリプトの実行処理については、後に、図６および図７に示されるスクリプトに基づく具体例を挙げて説明する。
【００９３】
そして、ステップＳ１７において、イベント管理部１３１５がイベントの発生を検出すると（Ｓ１７でＹＥＳ）、ステップＳ１８において、実行制御部１３１３で、当該イベントに応じた処理を実行する。なお、ここでのイベントに応じた処理については、後にサブルーチンを挙げて説明する。
【００９４】
上述のステップＳ１７で検出されるイベントは、主に、スクリプトの実行が時系列に実行する際の実行点の終端に到達した終端到達イベントなどであるシステムイベントと、メニュー表示を指示するなどの固定的な処理を実行させる固定入力イベントと、リンク移動やアプリケーションの起動やヘルプの表示などを指示するスクリプト定義入力イベントとの３つに分けられる。具体的には、固定入力イベントとスクリプト定義入力イベントとは、スクリプト実行中の、キーコード入力デバイス１４２からのユーザの指示入力などが該当する。そのため、スクリプト実行中に、キーコード入力デバイス１４２から指示入力などの何らかのイベントが発生するまで、スクリプトの実行が継続される。
【００９５】
以上で、携帯電話１におけるスクリプトの再生および編集処理を終了する。
なお、上記再生および編集処理は、処理の途中で通話プログラムなどに割込まれたり、またユーザの都合や電池の消耗により中断されたりした場合、その時点での再生および編集時点と変更中のスクリプトとを記憶部１３０に保存して処理を中断し、後に再開する際には、記憶部１３０から保存された再生および編集時点と変更中のスクリプトとを読込んで中断前の再生および編集時点から、復帰できるように構成されていることが好ましい。
【００９６】
さらに、スクリプトがＳＭＩＬ（Synchronized Multimedia Integration Language）で記述されたものである場合の再生および編集処理について、具体的に図７９のフローチャートを用いて説明する。
【００９７】
図７９を参照して、始めに、携帯電話１において、テンプレートに含まれるＳＭＩＬで記述されたスクリプトが解析（parse）されてデータ構造に格納される（Ｓ２４０１）。
【００９８】
ステップＳ２４０１での解析結果を格納するデータ構造の具体例を図８０に示す。図８０（Ｂ）に示されるように、ステップＳ２４０１では、スクリプトに参照情報が記載されて参照されている各メディアデータについて、メディアの種別やファイル名、表示領域等の属性値を保持するＤｉｓｐｌａｙＣｏｎｔｅｎｔクラスのインスタンスが作成され、インスタンスの集合が図８０（Ａ）に示されるＤｉｓｐｌａｙＳｃｈｅｄｕｌｅｒに統合管理される。
【００９９】
さらに、ステップＳ２４０１でのスクリプトの解析結果を図８１に示す。図８１は具体的に図６および図７に示されるスクリプトの解析結果を示しており、スクリプトの解析結果として、ＤｉｓｐｌａｙＣｏｎｔｅｎｔクラスのインスタンスが１１個作られている。この数は、かかるスクリプトに最終的に記載される参照情報で参照されるメディアデータの個数である。
【０１００】
なお、かかる１１個のインスタンスのうち、インスタンス５，６，７に指定されるメディアデータのファイル（Ｍｅｄｉａｆｉｌｅ）は空であり、図６および図７に示される初期状態では、該当するメディアデータが参照されていない状態であることを示している。後に説明する編集処理においてメディアデータの指定を受付けることによって参照情報が記載され、メディアデータが参照される。または、所定のファイルを指定することで、ガイダンス表示を行なうこともできる。たとえば、インスタンス５を例に挙げると、アクション内容がカメラ起動による撮像および挿入であることが解析されているので、カメラのイラスト画像（Ｃａｍｅｒａ．ｊｐｇ）を指定することで、カメラのイラスト画像がガイダンス表示される。また、より簡単には、ＥｖＤｅｓｃの値（「カメラ起動」など）である文字列をガイダンス表示として画面の最下行に表示させてもよい。
【０１０１】
そして、図８０に示されたようなデータ構造をたどりながら、該スクリプトが再生される（Ｓ２４０２）。
【０１０２】
以降に説明するようなメディアデータの挿入や入替処理が行なわれた場合（Ｓ２４０３でＹＥＳ）、ステップＳ２４０１で解析結果を格納するデータ構造のうち、該当する値が更新される（Ｓ２４０４）。なお、メディアデータの挿入や入替処理などの書換処理については、後に詳細に説明する。
【０１０３】
ステップＳ２４０４で更新されたスクリプトの解析結果の具体例を図８２に示す。図８２に示される編集結果は、図８１に示された初期状態の図６および図７に示されたスクリプトに対して書換処理が施された結果である。より具体的には、上述の書換処理が実行されて、初期状態のスクリプトにメディアデータ「ＣａｍｅｒａＰｉｃｔ０１．ｊｐｇ」「ＥｄｉｔＴｅｘｔ０１．ｔｘｔ」「Ｖｏｉｃｅ０１．ａｍｒ」が追加された場合が示されており、それらの参照情報が、該当するインスタンス５，６，７に記述されている。なお、画像データ「ＦｉｒｓｔＩｍａｇｅ．ｍｐｇ」については、スクリプト側でファイル名が規定されているので、ムービー撮影の結果得られたムービーファイルもこの名前で保持される。すなわち、ファイル名が書換えられずにファイルの実体が上書き変更される。
【０１０４】
上述のステップＳ２４０２〜Ｓ２４０４の処理は該スクリプトの実行点の終端に到達するまで繰返し実行されて（Ｓ２４０５でＮＯ）、終端に到達すると（Ｓ２４０５でＹＥＳ）、スクリプトの再生処理を終了してメールに添付して送信するか否かが判定される（Ｓ２４０６）。
【０１０５】
メディアデータの挿入や入替処理などのスクリプトの編集が未完了である場合には（Ｓ２４０６でＮＯ）、処理をステップＳ２４０２に戻し、該スクリプトの実行点の先頭から再生される。
【０１０６】
一方、編集が完了し、メールに添付して送信する場合（Ｓ２４０６でＹＥＳ）、図８２に示されるデータ構造よりＳＭＩＬで記述されるスクリプトが生成される（Ｓ２４０７）。そして、ステップＳ２４０７で生成されたＳＭＩＬで記述されるスクリプトがメールに添付されて送信、または保存される（Ｓ２４０８）。なお、ステップＳ２４０８におけるメール添付処理についても、後に説明する。
【０１０７】
ステップＳ２４０８で送信されるスクリプトの具体例を図８３に示す。図８３に示されるスクリプトは、図６および図７に示される初期状態のスクリプトに対して画像データ、テキストデータ、および音声データであるメディアデータを追加する書換処理を施したスクリプトであって、より具体的には、図８３に下線を付して示された箇所が該書換処理によって挿入されたメディアデータの参照情報である。
【０１０８】
また、スクリプトを送信する際に、ユーザナビゲート情報記述部分である編集機能を削除して送信してもよい。編集機能が削除されたスクリプトの具体例を図８４に示す。図８４に示されるスクリプトは、図６および図７に示される初期状態のスクリプトに対して画像データ、テキストデータ、および音声データであるメディアデータを追加する書換処理を施した後に、さらに編集機能を削除したスクリプトであって、より具体的には、＜ａｃｔｉｏｎ  ｉｄ＝・・・＞で記述されたアクション内容の定義部分と、＜ｅｖｅｎｔ  ｒｅｆ  ＝・・・＞で記述されたイベントとアクションとの対応付け部分とが削除されている。それは、図８４において下線を付して示されている。
【０１０９】
なお、ステップＳ２４０７において図８２に示されるデータ構造からＳＭＩＬで記述されるスクリプトを書出して図８４に示されるスクリプトを生成する際、編集機能を削除する場合には、データ構造に含まれるＥｖｅｎｔおよびＡｃｔｉｏｎに関連する属性は無視する。または、編集機能も含めたスクリプトを書出す場合には、アクション内容として「挿入」が指定されているが（Act Type=“insert”）、すでに上述の処理によってメディアデータの参照情報が記述されているので、アクション内容を「置換」（Act Type=“replace”）に変更する。それは、図８３において下線を付して示されている。
【０１１０】
次に、上述のステップＳ１８で実行されるイベントに応じた処理について、図１３のフローチャートを用いて説明する。
【０１１１】
図１３を参照して、上述のステップＳ１７でイベント管理部１３１５からイベント発生の検出情報を受けると、ステップＳ２１において、実行制御部１３１２は、実行しているスクリプトを一時停止する。
【０１１２】
そして、ステップＳ１７で検出されたイベントが、スクリプトの実行が実行点の終端まで到達したことを示すイベントである場合には（Ｓ２２でＹＥＳ）、ステップＳ２３において、実行制御部１３１３は当該スクリプトの実行を終了し、処理を図９のステップＳ１６に戻して、再度スクリプトの実行を開始する。すなわち、再度、スクリプト実行を実行点の始端に戻し、始めからスクリプトの実行を繰返す。なお、本実施の形態においては、取得したテンプレートに含まれるスクリプトを繰返し実行するものとしているが、１回あるいは所定の回数実行して、スクリプトの実行を終了してもよい。あるいは、スクリプト実行を繰返すか終了するかの選択肢を画面に提示し、ボタン操作などのユーザ入力によってスクリプト実行の繰返しまたは終了を指示するようにしてもよい。
【０１１３】
ステップＳ１７で検出されたイベントが、スクリプトの実行が実行点の終端まで到達したことを示すイベント以外のイベントである場合には（Ｓ２２でＮＯ）、ステップＳ２４において、実行制御部１３１３は検出されたイベントに基づいて処理内容を決定し、ステップＳ２５〜Ｓ２７で、決定された処理を実行する。なお、ステップＳ２４における処理内容の決定処理、およびステップＳ２５〜Ｓ２７に示される各処理については、後に各々フローチャートを挙げて説明する。
【０１１４】
以上で、ステップＳ１８におけるイベントに応じた処理を終了し、処理を図９のフローチャートに示される再生・編集処理に戻す。
【０１１５】
次に、上述のステップＳ２４における処理内容の決定処理について、図１４のフローチャートを用いて説明する。
【０１１６】
図１４を参照して、上述のステップＳ１７でイベントの発生を検出すると、実行制御部１３１３は、そのときの時間パラメータ値（Ｓ３１）、すなわち、当該スクリプト実行時間を表わすパラメータと、ソースＩＤ（Ｓ３２）、すなわち、イベントの発生元の識別情報と、時間管理部１３１４が作成したイベント発生処理タイムテーブル（Ｓ３３）とを参照し、発生したイベントを判断する。さらに、判断されたイベントとイベント発生処理タイムテーブルとから、イベント発生時にそのイベントに対応付けられている処理内容を決定する。なお、決定された処理が複数である場合には（Ｓ３４でＹＥＳ）、ステップＳ３５において、実行制御部１３１３は、ディスプレイ１４４等に選択用の画面を表示して、その複数の処理の中から今から開始する処理の選択を受付ける。たとえば、図５４に示すように、選択用の画面に表示したリストに「Ｉｎｖｏｋｅ  Ｃａｍｅｒａ」と「Ｌｏｃａｌ  Ｆｏｌｄｅｒ」とを提示して、「Ｉｎｖｏｋｅ  Ｃａｍｅｒａ」が選択された場合にはカメラを起動し、「Ｌｏｃａｌ  Ｆｏｌｄｅｒ」が選択された場合にはデータフォルダにアクセスする。
【０１１７】
あるいは、ステップＳ３５において、実行制御部１３１３は決定された複数の処理を順に１つずつすべて実行する構成でもよい。その場合、当該処理に対応するイベントのスケジュール記述が出現する順序に処理を実行する。より具体的には、図７のスクリプトの８秒目から１５秒目の間を例にとると、ｓｅｌｅｃｔキーが押された場合に、記述の順序に従って２８行に記載される「カメラ起動」がまず実行され、その次に２９行に記載される「テキスト入力」が実行される。なお、スクリプトに複数の処理の実行優先順序を記述し、その順序に従って複数の処理を順に実行する構成でもよい。
【０１１８】
または、ステップＳ３５において、複数の処理それぞれを実行するためのショートカット手段がある場合には、ユーザにより指定されたショートカット手段に対応する処理を直接実行する構成でもよい。より具体的には、図７のスクリプトの８秒目から１５秒目の間を例にとると、カメラ起動用キーが押された場合に２８行に記載される「カメラ起動」が実行され、テキスト入力用キーが押された場合には２９行に記載される「テキスト入力」が実行されるような構成であってもよい。
【０１１９】
以上で、ステップＳ２４におけるイベントに応じた処理を終了し、処理を図１３のフローチャートに示されるイベント処理に戻す。
【０１２０】
さらに、上述のステップＳ３３におけるイベントタイムテーブル参照について、図２７のフローチャートを用いて説明する。
【０１２１】
図２７を参照して、参照したソースＩＤが“Ｔｉｍｅｒ”である場合（Ｓ１３１で「ソースＩＤ」＝Ｔｉｍｅｒ）、イベント処理タイムテーブルのＴｉｍｅｒの欄と時間パラメータ値とを参照して該当する処理を判断する（Ｓ１３２）。
【０１２２】
一方、参照したソースＩＤが“ＵＩ”である場合（Ｓ１３１で「ソースＩＤ」＝ＵＩ）、さらにイベント処理タイムテーブルのＵＩの欄と、タイプＩＤすなわちイベント発生時に操作されたキー固有の識別情報と、時間パラメータ値とを参照し（Ｓ１３３）、該当する処理を判断する（Ｓ１３４）。
【０１２３】
なお、イベント処理タイムテーブルおよびスクリプトに記述する上記キー固有の識別情報は、端末のハードウェアキーの識別情報を直接使用してもよいし、論理シンボルを使用し、図２８に示すような、論理シンボルとハードウェアキーとの対応を規定するテーブルを予め携帯電話１の記憶部１３０に格納し、実行制御部１３１３がイベントタイムテーブルを参照する際に当該テーブルを読出して、操作されたハードウェアキーから論理シンボルを参照してイベントを判断するようにしてもよい。
【０１２４】
以上でステップＳ３３におけるイベントタイムテーブル参照を終了し、処理を図１４のフローチャートに示される処理内容決定処理に戻す。
【０１２５】
上の処理で、ステップＳ１７で発生を検出したイベントが、メニュー処理を実行させるイベントであると決定された場合、ステップＳ２５において、図１５に示す処理を実行する。すなわち、図１５を参照して、始めに、ステップＳ４１で実行制御部１３１３は、図１６に示されるようなメニュー画面をディスプレイ１４４に表示し、ユーザからの選択を受付ける。具体的には、図１６を参照して、当該スクリプトのプレビュー処理、データフォルダへの保存処理、当該スクリプトから参照されるメディアデータを個別のメディアファイルに保存する処理、当該スクリプトおよびメディアデータをメールに添付する処理、当該スクリプトおよびメディアデータをＭＭＳ（Multimedia Messaging Service）で送信する処理、当該スクリプトの再生中のスライドを編集する処理、当該スクリプトのプロパティを表示する処理、およびアプリケーションを終了する処理などの選択を受付ける。そして、ステップＳ４２で、ユーザからの選択に応じた処理を実行する。なお、スライドとは、図７の２０行から２５行に記述されるような並列に実行されるスクリプトの一部分を表わす。すなわち、図７に示されるスクリプトは、逐次再生される、２０行〜２５行、２６行〜３１行、および３２行〜３６行の３つのスライドから構成される。
【０１２６】
さらに図１６に示されるようなメニュー画面において「スライド編集」が選択された場合、ステップＳ４１において実行制御部１３１３は、図３６に示されるようなスライドを編集するためのメニュー画面をディスプレイ１４４に表示し、スライド削除処理またはスライド書換え禁止処理の選択を受付ける。
【０１２７】
なお、スクリプトにスライド編集が許可されるか禁止されるかを記述しておき、禁止される場合には上記スライド編集の選択肢を提示せずに、スライド編集ができないようにする構成をとることもできる。
【０１２８】
より具体的に、そのようなスライド編集が許可されるか禁止されるかを記述したスクリプトの例を図６８に示し、ステップＳ４２でスライドの編集を実行する許可を判定する処理について図６９のフローチャートを用いて説明する。すなわち、図６９を参照して、スクリプトに図６８の４行に示されるような編集禁止のメタ記述（name="readOnly"）が記述されている場合（Ｓ２２０１でＹＥＳ）、禁止を記述する属性（content）を参照する。そして、その属性が“ｙｅｓ”である場合（Ｓ２２０２でＹＥＳ）、ステップＳ４２でのスライドの編集を禁止する。一方、その属性が“ｙｅｓ”でない場合には（Ｓ２２０２でＮＯ）、ステップＳ４２でのスライドの編集を許可する。また、そもそも当該スクリプトに編集禁止のメタ記述がない場合にも（Ｓ２２０１でＮＯ）、ステップＳ４２でのスライドの編集を許可する。
【０１２９】
以上で具体例に基づいたスライド編集許可判定の説明を終える。
また、上述のステップＳ４１で図３６に示されるようなスライド編集のメニュー画面においてスライド削除が選択された場合のステップＳ４２における処理について、図３５のフローチャートを用いて説明する。
【０１３０】
すなわち、図３５を参照して、上述のステップＳ４１で当該スクリプトの再生中のスライドを削除する処理が選択されると、実行制御部１３１３はそのときの時間パラメータ値、メディア描画処理タイムテーブル、およびイベント処理タイムテーブルを参照して（Ｓ１７１〜Ｓ１７３）、その時点で有効になっているメディア描画処理とイベント処理とを判断する。そして、その時点で有効になっていると判断されたメディア描画処理とイベント処理とのスケジュール記述部分をスクリプトから削除して、当該スクリプトを書換える（Ｓ１７４）。
【０１３１】
以上でスライドを削除する処理を実行する場合のステップＳ４２における処理を終了し、処理を図１５のフローチャートに示されるメニュー処理に戻す。
【０１３２】
また、上述のステップＳ４１で図３６に示されるようなスライド編集のメニュー画面においてスライド書換禁止が選択された場合のステップＳ４２における処理について、図３７のフローチャートを用いて説明する。
【０１３３】
すなわち、図３７を参照して、上述のステップＳ４１で当該スクリプトの再生中のスライドの書換禁止処理が選択されると、実行制御部１３１３はそのときの時間パラメータ値、およびイベント処理タイムテーブルを参照して（Ｓ１８１，Ｓ１８２）、その時点で有効になっているイベント処理を判断する。そして、その時点で有効になっていると判断されたイベント処理のスケジュール記述部分をスクリプトから削除して、当該スクリプトを書換える（Ｓ１８３）。
【０１３４】
以上でスライドの書換を禁止する場合のステップＳ４２における処理を終了し、処理を図１５のフローチャートに示されるメニュー処理に戻す。
【０１３５】
また、上の処理で、ステップＳ１７で発生を検出したイベントが、リンク移動処理を実行させるイベントであると決定された場合、ステップＳ２７において、図１７に示す処理を実行する。すなわち、図１７を参照して、始めに、ステップＳ５１で実行制御部１３１３は、スクリプトに含まれるリンク先を示すパラメータを参照して、ステップＳ５２で当該スクリプトの実行を中断する。そして、ステップＳ５３で、ステップＳ５１で参照したパラメータに基づいてリンク先のスクリプトを取得する。その後、処理を図９に示される処理のステップＳ１３に戻し、取得したスクリプトを読出して、同様に実行する。
【０１３６】
また、上の処理で、ステップＳ１７で発生を検出したイベントが、アプリケーション実行処理を実行させるイベントであると決定された場合、ステップＳ２６において、図１８に示す処理を実行する。すなわち、図１８を参照して、始めに、実行制御部１３１３は、アプリケーションを起動するか否かを選択させる画面をディスプレイ１４４に表示させる。アプリケーションの起動が選択された場合（Ｓ６１でＹＥＳ）、ステップＳ６２で実行制御部１３１３は、所定のアプリケーションを起動させる。次に、そのアプリケーションから所定のデータを取得する必要がある場合には（Ｓ６３でＹＥＳ）、ステップＳ６４で取得する。そして、実行している当該スクリプトの書換えが必要な場合（Ｓ６５でＹＥＳ）、ステップＳ６６で、スクリプト書出部１３１６がスクリプトの書換処理を実行する。
【０１３７】
さらに、実行制御部１３１３は、上述のスクリプト書換処理終了後、スクリプトの再生を再開する。スクリプトの再生は、スクリプトの再生開始時点から、またはその時点でのスクリプト再生時点から、または書換えられた区間の開始時点から始めることができる。上記いずれの構成をとってもよいし、またユーザに上記選択肢から選択させる構成をとってもよい。
【０１３８】
なお上記の再開時点は、当該端末に設定された所定のルールに従って動的に決定されてもよい。同様に、スクリプトの再生の時間や、終了時点などの再生に関する他の時間も決定されてもよい。以下に図６７のフローチャートを用いて、「スクリプトの残りの再生時間が１０秒以下だったらスクリプトの現在の再生位置から再開し、そうでない場合は、スクリプトの開始時点から再開する」というルールに従ってスクリプト再生の再開時点を決定する処理について具体的に説明する。
【０１３９】
図６７を参照して、始めに、実行制御部１３１３は、スクリプトの現在の再生位置を参照する（Ｓ２１０１）。この再生位置は、ステップＳ２１で一時停止を行なった時点での再生位置を示す。
【０１４０】
次に、実行制御部１３１３は、スクリプトの総再生時間を参照する（Ｓ２１０２）。スクリプトの総再生時間は、スクリプトのスケジュール記述部分から取得される。たとえば、スクリプトが図７に示されるものである場合、ステップＳ２１０２では、時系列に実行される、第２０行〜第２５行、第２６行〜第３１行、および第３２行〜第３６行の再生時間の総和を計算して、スクリプトの総再生時間を１９秒と取得する。
【０１４１】
次に、実行制御部１３１３は、ステップＳ２１０２で取得したスクリプトの総再生時間からスクリプトの現在の再生位置を減算して、スクリプトの残りの再生時間を計算する（Ｓ２１０３）。
【０１４２】
そして、ステップＳ２１０３で計算されたスクリプトの残りの再生時間が１０秒以下の場合（Ｓ２１０４でＮＯ）、実行制御部１３１３は、再生開始時点をスクリプトの現在の再生時点と設定する。そうでない場合（Ｓ２１０４でＹＥＳ）、実行制御部１３１３は、再生開始時点をスクリプトの開始時点と設定する。
【０１４３】
以上で具体的なスクリプト再生の再開時点を決定する処理の説明を終わる。
次に、上述のステップＳ６２におけるアプリケーション起動について、図２４のフローチャートを用いて説明する。
【０１４４】
図２４を参照して、実行制御部１３１３は、所定のアプリケーションが携帯電話１の記憶部１３０に登録されている場合には（Ｓ１０１でＹＥＳ）、スクリプトに記述された再生時間および領域のサイズなどを起動パラメータとして、起動する（Ｓ１０２）。所定のアプリケーションが携帯電話１の記憶部１３０に登録されていない場合（Ｓ１０１でＮＯ）、さらに当該スクリプトにおいてアプリケーションからのデータ取得が必要な場合には（Ｓ１０３でＹＥＳ）、ファイル取得プログラム１５６である、ローカルファイル取得アプリケーションを起動する（Ｓ１０４）。
【０１４５】
なお、上記ステップＳ１０１で所定のアプリケーションが携帯電話１の記憶部１３０に登録されていない場合に、通信部１１０を介してサーバ２から所定のアプリケーションをダウンロードして携帯電話１の記憶部１３０に記憶し、起動する構成をとってもよい。
【０１４６】
さらに以下に、上述のステップＳ１０２での動作について、起動するアプリケーションが画像撮影アプリケーションである場合を具体例として、図６６のフローチャートを用いて説明する。
【０１４７】
すなわち、図６６を参照して、始めに実行制御部１３１３は、置換えるメディアデータが表示される描画領域のサイズをスクリプトから取得する（Ｓ２００１）。描画領域のサイズは、一般的にスクリプトのヘッダ部分に記述されている。具体的に、スクリプトが図６であるものとすると、図６の８行の記述から描画領域の幅（ｗｉｄｔｈ）および高さ（ｈｅｉｇｈｔ）に指定される数値１７６および１２０が取得される。
【０１４８】
次に、実行制御部１３１３は、ステップＳ２００１で取得した描画領域のサイズに基づいて、当該画像撮影アプリケーションで当該描画領域を含むことができる最小の撮影サイズを判別する（Ｓ２００２）。具体的に画像撮影アプリケーションが、撮影サイズとして、幅６００×高さ４８０、幅１２０×高さ１６０、または幅１２０×高さ１２８を選択できるようになっている場合、ステップＳ２００２では、撮影サイズ幅６００×高さ４８０が、具体例にある幅１７６×高さ１２０の描画領域のサイズを含むことができるものと判別される。
【０１４９】
そして、実行制御部１３１３は、ステップＳ２００２での判別結果に基づいて、画像撮影アプリケーションでの撮影サイズを幅６００×高さ４８０に指定して、画像撮影アプリケーションを起動する（Ｓ２００３）。
【０１５０】
なお上述の処理と同様の処理を行なって、起動するアプリケーションが音声録音アプリケーションである場合、スクリプトに記述された時間だけ録音することができる。また、起動するアプリケーションがファイル取得アプリケーションである場合、メッセージのファイルサイズ総計が送信可能なサイズの上限を超えないように、利用できる残りサイズよりも大きなサイズのファイルを選択できないようにすることができる。また、起動するアプリケーションが動画を取得するファイル取得アプリケーションである場合、スクリプトに記述された再生時間よりも長い再生時間のファイルを選択できないようにすることができる。
【０１５１】
以上で、ステップＳ６２におけるアプリケーション起動を終了し、処理を図１８のフローチャートに示されるアプリケーション実行処理に戻す。
【０１５２】
次に、上述のステップＳ６４におけるデータ取得について、図２５のフローチャートを用いて説明する。
【０１５３】
図２５を参照して、始めに、実行制御部１３１３は、ステップＳ６２で起動したアプリケーションからデータを受取る（Ｓ１１１）。そして、その取得データが、スクリプトに記述された再生時間、および領域サイズに適合しない場合（Ｓ１１２でＮＯ）、実行制御部１３１３は、取得データをスクリプトの記述に適合するように変換する（Ｓ１１３）。
【０１５４】
なお、ステップＳ１１３において、予めスクリプトに記述された参照情報で参照されるメディアデータと取得データとを合成し、新たにスクリプトまたはメディアデータを生成してもよい。取得データが再生時間をもつメディアデータの場合において、この生成処理は図５６を用いて以下のように説明できる。
【０１５５】
すなわち図５６を参照して、図５６の左図に示されるように、本具体例において「元のメディアデータ」は５秒間の再生時間をもち、当初時刻ｔ１から再生されるように記述されている。また、「取得データ」は、ステップＳ３１で参照されるイベントの時間パラメータ値である時刻ｔ２（＝ｔ１＋３）から５秒間撮影した動画であるものとする。この場合、ユーザが、適当なユーザインタフェースにより、取得データを撮影していた時間に再生時間が該当している「元のメディアデータ」の部分を「取得データ」と置換えるように指示すると、「書換え後に再生されるデータ」の内容と再生時間とは図５６の左図の下に示されるデータになる。このような効果を得る処理の１つの実現方法は、実行制御部１３１３が指示することで、元のメディアデータの所定部分であって取得データの撮影時間と再生時間が重なる部分を、画像データ撮影・編集プログラム１３３によって書換えて保存することで得られる。他の実現方法は、元のメディアデータおよび取得データそれぞれの新たな開始時刻と再生時間とを表現するスクリプトを、実行制御部１３１３から指示を受けたスクリプト書出部１３１６が生成して書出すことである。後者の実現方法によると、上述の具体例においてスクリプト書出部１３１６で書出されるスクリプトは、図５６の右図に示すスクリプトとなる。なお、取得データのうちの、元のメディアデータと重ならない時刻ｔ３から時刻ｔ４の部分を生成されるデータに加えるかどうかは、適当なユーザインタフェースなどによって指示されることが好ましい。
【０１５６】
なお、ステップＳ１１３において、たとえば、動画データから音声データのみを取出す処理を行なうなどして取得データの一部を取出して、新たにメディアデータを生成してもよい。
【０１５７】
また、上記処理中のステップＳ１１２およびステップＳ１１３において、取得データが占めるメモリ領域のサイズが所定の値を超えている場合に、たとえば、画像データの減色や音声データのサンプリングレートの低減など、データサイズを削減する処理を行なってもよい。
【０１５８】
また、上記処理中のステップＳ１１２において、取得データがスクリプトの記述に適合しない場合に、取得データに替えて携帯電話１の記憶部１３０に記憶された所定のメディアデータ（デフォルトのデータ）を使用してもよい。
【０１５９】
以上で、ステップＳ６４におけるデータ取得を終了し、処理を図１８のフローチャートに示されるアプリケーション実行処理に戻す。
【０１６０】
次に、上述のステップＳ６６におけるスクリプト書換処理について、図２６のフローチャートを用いて説明する。
【０１６１】
図２６を参照して、実行制御部１３１３は、スクリプトに含まれるメディアデータと取得データとの合計が、記憶部１３０に記憶される規定値以下の場合（Ｓ１２１でＹＥＳ）、スクリプト書出部１３１６でスクリプト書換処理を実行させる（Ｓ１２２）。そうでない場合（Ｓ１２１でＮＯ）、実行制御部１３１３は、ディスプレイ１４４にスクリプト書換えができない旨を表示する（Ｓ１２３）。
【０１６２】
なお、上述のステップＳ１２２において、実行制御部１３１３は、ステップＳ３１で参照されるイベントの時間パラメータ値を利用して取得データを書込む時点を変更することもできる。たとえば、スクリプト書換処理として、図５７に示されるように、再生開始後４秒目にキー操作を行なって、カメラアプリケーションを起動してメディアデータを書換える処理を行なう場合、キー操作が行なわれた時刻（４秒目）から撮影を開始し、撮影終了後カメラアプリケーションから取得した動画２を、キー操作が行なわれた時刻（４秒目）から、元のメディアデータである動画１の再生終了時刻（８秒目）までの区間に書込む。なお、この例ではイベントの時間パラメータ値の時点にメディアデータを書込んでいるが、イベントの時間パラメータ値より後の時点または前の時点に書込むこともできる。
【０１６３】
以上で、ステップＳ６６におけるスクリプト書換処理を終了し、処理を図１８のフローチャートに示されるアプリケーション実行処理に戻す。
【０１６４】
以上で、本データ通信システムにおける携帯電話１でのスクリプトの再生および編集処理が終了する。
【０１６５】
より具体的に、本データ通信システムにおける携帯電話１で、図６および図７に示されるスクリプトの再生および編集処理を実行する場合について、図１９および図２０のフローチャートを用いて説明する。
【０１６６】
図１９を参照して、図７に示されるスクリプトの第２０行を実行するとき、始めに再生・編集エンジンプログラム１３１の構文解析部１３１２でスクリプトの解析を行なって、ステップＳ７１において、実行制御部１３１３は、画像データ表示再生プログラム１３４に対して、０秒〜８秒において、Ｉｍａｇｅ領域に動画像データ「Ｆｉｒｓｔ  Ｉｍａｇｅ．ｍｐｇ」を表示再生するように指示する。すると、ステップＳ７２において、画像データ表示再生プログラム１３４は、０秒〜８秒において、ディスプレイ１４４に動画像データ「Ｆｉｒｓｔ  Ｉｍａｇｅ．ｍｐｇ」を表示再生し、さらに、そのデータに音データが含まれる場合には、スピーカ１４８からその音データを再生する。
【０１６７】
次に、０秒〜８秒の間に、ユーザからｓｅｌｅｃｔキーを操作されるというイベントが発生した場合、図７に示されるスクリプトの第２４行に記述される処理である、図２０に示される処理を実行する。すなわち、図２０を参照して、イベント管理部１３１５がｓｅｌｅｃｔキーが操作されたというイベントの発生を検出すると、ステップＳ８１において、実行制御部１３１３は、図１１に具体例が示されるイベント処理タイムテーブルを参照して、対応する処理内容（アクション）を決定する。すなわち、イベント処理タイムテーブルを参照して、ステップＳ８２において、実行制御部１３１３は、対応するアプリケーションである画像撮影プログラム１３３と音声データ録音プログラム１３６とを起動させる。
【０１６８】
次に、ステップＳ８３において、画像撮影プログラム１３３は、画像撮影に必要なＵＩをディスプレイ１４４に表示し、カメラ１４９とキーコード入力デバイス１４２とを使用して画像データを生成する。また、それと同時に、音声データ録音プログラム１３６は、マイクロフォン１４６を使用して音声データを生成する。そして、図示されないデータ合成プログラムは、生成された画像データと音声データとを合成する。このようにして、ステップＳ８３において、新しいデータを取得する。
【０１６９】
上の処理が終了すると、ステップＳ８４において、実行制御部１３１３は、画像撮影プログラム１３３と音声データ録音プログラム１３６とを終了させる。
【０１７０】
そして、ステップＳ８５において、再生・編集エンジンプログラム１３１は、合成されたデータを受取り、そのデータが、Ｉｍａｇｅ領域に０秒〜８秒に表示されるように、スクリプト書出部１３１６がスクリプトを書換える。
【０１７１】
以上で、図６および図７に示されるスクリプトの第２４行の処理を終了し、新たに生成されたスクリプトの再生・編集処理の実行を行なう。
【０１７２】
本データ通信システムの携帯電話１で図６および図７に示されるスクリプトを再生および編集処理を実行する際には、上のような処理を１行ずつ実行する。
【０１７３】
このようなスクリプトの再生・編集処理について、図２１、図２２および図８５に示す具体的な表示画面の遷移を用いて説明する。図２１および図２２は具体的な表示画面の遷移を順に表わす図であり、図８５は、それらの表示画面の具体例を１つの図で示したものである。
【０１７４】
図２１（Ａ）は、使用可能なテンプレートの一覧を表示する画面の具体例である。図２１（Ａ）に示される画面では、テンプレート「今ここにきてる」「これ見て！」「かなりひま」および「これうまい！」の４つのテンプレートが選択可能に表示される。なお、この例ではテンプレートの名称のみ表示されているが、テンプレートを利用して作成できるメッセージの具体的なイメージがサムネイル画像として名称と共に表示されることがより好ましい。
【０１７５】
また、一覧表示されるテンプレートは、通常は端末内のメモリに保存されているテンプレートであるが、ネットワーク接続により外部機器やサーバからダウンロード可能であるものを表示してもよい。
【０１７６】
また、このテンプレート一覧画面では、取得済みまたは取得可能なテンプレートがすべて表示されてもよいし、一部のテンプレートのみが表示されてもよい。このような表示を行なう場合、どのテンプレートを表示するのかの選択方法については、ユーザ操作などにより、よく使用するテンプレートのみを厳選して表示する方法、最近使用したテンプレートのみを表示する方法、メッセージとして送信する場合において、予め送信相手が指定されていて、かつ送信相手端末の機能が判明する場合には、送信相手端末が解釈および実行可能であるテンプレートのみを表示する方法、などが考えられる。このように、送信相手端末の機能に応じてテンプレートを選択表示することにすれば、たとえば、送信相手端末がカメラを持たない携帯電話である場合に、カメラを起動することでその場で写真を撮影し送付してもらう目的のテンプレートは、一覧から除外しておくことができる。
【０１７７】
なお、上述の、一部のテンプレートのみ一覧表示する場合においても、所定のユーザ操作によって、他の取得済みまたは取得可能なテンプレートすべてを表示できることが好ましい。さらに、送信相手端末の機能が判明する場合には、記述されているすべての機能が相手端末にて解釈および実行できないと判明したテンプレートについては、色やフォントを区別して表示するか、選択されたときに警告画面を出すなどしてユーザに注意を促がすか、あるいは選択操作を無効にしておいてもよい。
【０１７８】
続いて、図２１（Ａ）に示される画面においてテンプレート「かなりひま」を選択し、再生処理を実行させる場合の処理について具体的に説明する。
【０１７９】
図２１を参照して、始めに所定のナビゲーションフレームであるスクリプト「かなりひま」を選択して、再生処理を実行させる。携帯電話１では、上の処理が実行されて該テンプレートに含まれるスクリプトが解析され、図２１（Ｂ）に示されるように、かかるスクリプトの実行が開始する。
【０１８０】
スクリプト実行に伴って時系列的に変化するＵＩ部品であって、ユーザをナビゲートするＵＩ部品が、図２１（Ｃ）以降の画面に示されるようにディスプレイ１４４に表示される。具体的には、図２１（Ｃ）に示される実行画面の２コマ目再生時に「カメラ起動」の文字列がディスプレイ１４４に表示される。この状態でユーザが何の操作も行なわなかった場合には、「カメラ起動」の文字列が所定時間表示された後スクリプトは図２１（Ｄ）の画面に示される終端まで実行され、自動的に始端である図２１（Ｂ）の画面に戻って再生を繰返す。
【０１８１】
なお、ＵＩ部品としてこの例では文字列が表示されるものとしているが、カメラなどのアイコン画像や動画が表示されたり、音声や音楽が再生されたりしてもよい。
【０１８２】
図２１（Ｃ）に示される「カメラ起動」の文字列がディスプレイ１４４に表示されているタイミングにユーザが所定のキー操作を行なうことで、画像撮影プログラム１３３が実行され、図２１（Ｅ）および図２１（Ｆ）に示されるようにカメラ１４９にて動画の撮影を行なうことができる。そして、図２１（Ｇ）に示されるように、テンプレート「かなりひま」は「カメラ起動」の文字列が表示される時間帯に撮影された動画データが再生されるように書替えられる。すなわち、ユーザがＵＩ部品のナビゲートにさたがって撮影を行なった後、スクリプトの始め、あるいは「カメラ起動」のＵＩ部品がディスプレイ１４４に表示される時点にスクリプトの実行を戻すと、図２２に示されるように、先にテンプレート「かなりひま」を実行したときに「カメラ起動」のＵＩ部品がディスプレイ１４４に表示された時間帯に、図２２（Ｂ）に示されるように撮影された動画が再生される。なお、その場合、スクリプト実行の際に、「カメラ起動」のＵＩ部品が表示される時間帯に動画データが登録されたことが判定されると、その時間帯には「カメラ起動」のＵＩ部品が表示されないようにされることが好ましい。あるいは、図２２（Ｂ）に示されるようにその時間帯には「撮り直し」のＵＩ部品が表示されるように変更されることが好ましい。
【０１８３】
以降、終了の操作を行なうまで、自動的に書換えられたスクリプトの実行が繰返される。
【０１８４】
次に、メニューから「プレビュー」を選択して、プレビュー実行する処理を実行する。プレビュー実行においては、図４０に示されるように編集後のスクリプトがＵＩ部品の表示および再生をすべて無効化された状態で再生される。すなわち、図２２（Ｂ）に示される「撮り直し」の文字列は表示されず、ユーザが所定のキー操作を行なっても、画像撮影プログラム１３３は実行されない。なおプレビュー処理については後に説明する。
【０１８５】
編集後のスクリプトの表示をプレビューで確認したのち、メニューから「メール添付」を選択して、スクリプトおよびメディアデータを他の携帯電話１に送信する。なおメール添付処理については、後に説明する。
【０１８６】
さらに、本実施の形態の他の具体例として、本データ通信システムにおける携帯電話１で、図２９および図３０に示されるスクリプトの再生を実行する場合について、図３１および図３２のフローチャートを用いて説明する。
【０１８７】
図３１を参照して、本実施の形態における携帯電話１で図３０に示されるスクリプトの第１９行を実行するとき、始めに再生・編集エンジンプログラム１３１の構文解析部１３１２でスクリプトの解析を行なって、実行制御部１３１３は、画像データ表示再生プログラム１３４に対して、０秒〜１０秒において、ｔｏｐ領域に画像データ「ＰｒｏｄｕｃｔＩｍａｇｅ．ｊｐｇ」を表示再生するように指示する（Ｓ１４１）。すると、画像データ表示再生プログラム１３４は、０秒〜１０秒において、ディスプレイ１４４に画像データ「ＰｒｏｄｕｃｔＩｍａｇｅ．ｊｐｇ」を表示再生する。
【０１８８】
次に、図３０に示されるスクリプトの第２０行を実行するとき、同様にしてステップＳ１４２において、実行制御部１３１３は、テキスト表示再生プログラム１３４に対して、０秒〜１０秒において、ｍｉｄｄｌｅ領域にテキストデータ「ＰｒｏｄｕｃｔＤｅｓｃ．ｔｘｔ」を表示再生するように指示する（Ｓ１４２）。すると、テキストデータ表示再生プログラム１３８は、０秒〜１０秒において、ディスプレイ１４４にテキストデータ「ＰｒｏｄｕｃｔＤｅｓｃ．ｔｘｔ」を表示再生する。
【０１８９】
次に、１秒〜４秒の間に、ユーザからｓｅｌｅｃｔキーを操作されるというイベントが発生した場合、図３０に示されるスクリプトの第２１行に記述される処理である、図３２に示される処理を実行する。すなわち、図３２を参照して、イベント管理部１３１５がｓｅｌｅｃｔキーが操作されたというイベントの発生を検出すると、実行制御部１３１３は、イベント処理タイムテーブルを参照して、対応する処理内容（アクション）を決定する（Ｓ１５１）。そして、実行制御部１３１３は、イベント処理タイムテーブルを参照して、対応するアプリケーションであるＷＷＷブラウザプログラム１５１を起動させる（Ｓ１５２）。
【０１９０】
次に、ＷＷＷブラウザプログラム１５１は、通信部１１０を介してＷＷＷコンテンツを取得し、ディスプレイ１４４に表示する（Ｓ１５３）。
【０１９１】
上の処理が終了すると、実行制御部１３１３は、ＷＷＷブラウザプログラム１５１を終了させる（Ｓ１５４）。
【０１９２】
以上で、図２９および図３０に示されるスクリプトの第２１行の処理を終了し、スクリプトの再生処理の実行を行なう。
【０１９３】
本データ通信システムの携帯電話１で図２９および図３０に示されるスクリプトの再生処理を実行する際には、上のような処理を１行ずつ実行する。このようなスクリプトの再生処理について、図３３に示す具体的な表示画面の遷移を用いて説明する。
【０１９４】
図３３を参照して、本データ通信システムの携帯電話１は、通信部１１０からスクリプトを取得して、再生処理を実行させる。携帯電話１では、上の処理を実行して、スクリプトを解析し、スクリプトの実行を開始する。
【０１９５】
スクリプトの実行が開始されると、スクリプトの実行に伴って時系列的に変化するＵＩ部品であって、ユーザをナビゲートするＵＩ部品が、図３３に示されるようにディスプレイ１４４に表示される。具体的には、図３３（Ｂ）に示される再生時に「ＷＷＷブラウザ」のアイコン画像がディスプレイ１４４に表示される。この状態でユーザが何の操作も行なわなかった場合には、自動的に図３３（Ｃ）に示される状態に遷移し、「通話」のアイコン画像がディスプレイ１４４に表示される。さらにこの状態でユーザが何の操作も行なわなかった場合には、自動的に図３３（Ｄ）に示される状態に遷移し、「メール送信」のアイコン画像がディスプレイ１４４に表示される。
【０１９６】
「ＷＷＷブラウザ」のアイコン画像がディスプレイ１４４に表示されている図３３（Ｂ）に示される時間帯にユーザが所定のキー操作を行なうことで、ＷＷＷブラウザプログラム１５１が実行され、通信部１１０を介して所定のＷＷＷコンテンツを取得してディスプレイ１４４に再生することができる。ＷＷＷコンテンツの閲覧後ＷＷＷブラウザプログラムを終了すると、以前の再生位置からスクリプトの再生を再開する。
【０１９７】
以降、終了の操作を行なうまで、スクリプトの再生が繰返される。
さらに、図１６に具体例が示されるメニュー画面に「プレビュー」が選択された場合の、携帯電話１におけるプレビュー処理について図２３のフローチャートを用いて説明する。すなわち、図２３を参照して、プレビュー処理は、図９に示されるスクリプトの再生および編集処理とほぼ同様であるが、プレビュー処理においては、ステップＳ９２での解析結果に基づいて、ステップＳ９３において、スクリプトの描画情報記述部分に基づいてメディアデータ描画処理のタイムテーブルのみ作成する。そして、ステップＳ９４で、スクリプトのユーザナビゲート情報記述部分に基づく部分は再生を実行せずに、描画情報記述部分に基づく部分を実行する。そして、イベント管理部１３１５がイベントの発生を検出すると（Ｓ９５でＹＥＳ）、実行制御部１３１３は、当該イベントに応じた処理を実行する（Ｓ９６）。なお、ここでのイベントに応じた処理については、後にサブルーチンを挙げて説明する。プレビュー処理の場合には、スクリプト定義入力イベントは無効であり、ステップＳ９６においてシステムイベントと固定入力イベントとのみが処理される。
【０１９８】
以上で、携帯電話１におけるスクリプトのプレビュー処理を終了する。
次に、上述のステップＳ９６で実行されるイベントに応じた処理について、図３８のフローチャートを用いて説明する。
【０１９９】
図３８を参照して、始めに、上述のステップＳ９５でイベント管理部１３１５からイベント発生の検出情報を受取ると、実行制御部１３１２は、実行しているスクリプトを一時停止する（Ｓ１９１）。
【０２００】
そして、ステップＳ９５で検出されたイベントが、スクリプトの実行が当該スクリプトの実行点の終端まで到達したことを示すイベントである場合には（Ｓ１９２でＹＥＳ）、実行制御部１３１３は、当該スクリプトの実行を終了し（Ｓ１９３）、処理を図２３のステップＳ９４に戻して、再度スクリプトの実行を開始する。すなわち、再度、スクリプト実行を実行点の始端に戻し、始めからスクリプトの実行を繰返す。
【０２０１】
一方、ステップＳ９５で検出されたイベントが、スクリプトの実行が実行点の終端まで到達したことを示すイベント以外のイベントである場合には（Ｓ１９２でＮＯ）、実行制御部１３１３は、検出されたイベントに基づいて処理内容を決定する（Ｓ１９４）。
【０２０２】
ステップＳ１９４で決定された処理内容が「メニュー」の場合（Ｓ１９４で「処理」＝メニュー）、実行制御部１３１２は、図１５に示すメニュー処理を実行する（Ｓ１９５）。メニュー処理の実行の手順は再生・編集処理を行なう場合と同様であるが、図３９に示されるようにプレビュー処理の替わりに編集処理が選択肢となるメニュー画面がディスプレイ１４４に提示される。編集処理が選択された場合、図９に示される再生編集処理が実行される。なお、メニューから再生編集処理を開始する場合、スクリプトの開始時点から開始してもよいし、プレビュー処理のその時点でのスクリプト実行時間から開始してもよい。
【０２０３】
一方、ステップＳ１９４で決定された処理内容が「スキップ」の場合（Ｓ１９４で「処理」＝スキップ）、実行制御部１３１２は、メディア描画処理タイムテーブルを参照して、次に実行されるメディア描画処理を判断し、当該メディア描画処理の開始時点にスクリプト実行点を更新する（Ｓ１９６）。
【０２０４】
ここで、スクリプト実行点の移動先としては、上述の、次に実行されるメディア描画処理の開始時点の他に、次の次以降に実行されるメディア描画処理の開始時点や、スキップ処理が選択されずそのままスクリプト実行を続けた場合に所定の時間が経過した時点での実行点などであってもよい。
【０２０５】
次に、図１６に具体例が示されるメニュー画面において、当該スクリプトおよびメディアデータをメールに添付する処理が選択された場合の、携帯電話１におけるメール添付処理について図３４のフローチャートを用いて説明する。
【０２０６】
図３４を参照して、始めに、実行制御部１３１３は、再生専用マルチメディアデータとして送信するか否かを選択する画面をディスプレイ１４４に表示させる。そして、当該画面において再生専用マルチメディアデータを添付するように選択されなかった場合（Ｓ１６１でＮＯ）、実行制御部１３１３は、マルチメディアデータを受信する他の携帯電話１においてマルチメディアデータをどのように使用するかについてのヒントを設定する（Ｓ１６５）。すなわち、ステップＳ１６５において、実行制御部１３１３は、当該マルチメディアデータに対して、コンテンツ編集操作をナビゲートするテンプレート（ｔｅｍｐｌａｔｅ）として使用すべきか、単に閲覧用のコンテンツ（ｃｏｎｔｅｎｔｓ）であるかを設定する。そして、処理をステップＳ１６３に進める。
【０２０７】
一方、再生専用マルチメディアデータとして送信するか否かを選択する画面において、再生専用マルチメディアデータを添付するように選択された場合には（Ｓ１６１でＹＥＳ）、実行制御部１３１３は、スクリプトのユーザナビゲート情報記述部分を削除する（Ｓ１６２）。
【０２０８】
次に、実行制御部１３１３は、記憶部１３０にスクリプトを書出す（Ｓ１６３）。そして、実行制御部１３１３は、添付ファイルとして前述のスクリプトおよびマルチメディアデータを設定して、メールプログラムを起動する（Ｓ１６４）。
【０２０９】
なお、上述のメール添付処理において、再生専用マルチメディアデータを添付するように選択された場合に（Ｓ１６１でＹＥＳ）、編集前のマルチメディアデータテンプレートを再生専用マルチメディアデータと共にメールに添付してもよい。また、上述のメール添付処理のステップＳ１６２において、受信する携帯電話１が処理できないと予め判明している記述部が存在する場合には、かかる記述部をスクリプトから削除してもよい。
【０２１０】
［第２の実施の形態］
次に、図面を参照しつつ、本発明の第２の実施の形態について説明する。
【０２１１】
本発明の第２の実施の形態におけるマルチメディアデータ処理装置を含むデータ通信システムの構成は、図１に示される第１の実施の形態の場合と同様であるため、ここでの説明を繰返さない。また第２の実施の形態における携帯電話１の構成および、携帯電話１の記憶部１３０に記憶されるプログラムとデータ処理の流れもまた、それぞれ図２、図３に示される第１の実施の形態の場合と同様であるため、ここでの説明を繰返さない。
【０２１２】
最初に、第２の実施の形態にかかるマルチメディアデータ処理装置である携帯電話１でメディアデータの再生順序情報を含んだスクリプトを再生し、メディアデータを書込んで変更して、メディアデータの再生順序情報を含んだスクリプトを作成する場合について説明する。
【０２１３】
図４１にテンプレートと当該テンプレートを用いてスクリプトを変更した場合の画面表示の具体例を示す。図４１に示されるテンプレートは、シーン１〜シーン３の３つのシーンで構成されている。これらのシーンの遷移は、テンプレート内のスクリプトに時間情報が記載されていてそれに従う場合、端末で設定された切替え時間に従う場合、シーン切替えをユーザが明示的に行なう場合などが考えられるが、本発明において特に規定されるものではない。本具体例では、図４１（Ｂ）に示されるシーン２の静止画、および図４１（Ｃ）に示されるシーン３のテキストを、それぞれ図４１（Ｅ）および図４１（Ｆ）に示されるようにユーザが入替えることで、修正を行なった場合を示す。
【０２１４】
さらに、図４１の画面表示を実現するためのスクリプトの具体例を図４７に示す。図４７に示されるスクリプトは、並行して再生されるメディアデータのまとまりを表わすシーンを、逐次に再生することを表しているスクリプトである。すなわち、図４７を参照して、第１５行〜第１７行、第１８行〜第２１行、および第２２行〜第２５行の記述は、各々シーン１〜シーン３を表わしている。
【０２１５】
より詳しくは、第１８行〜第２１行に記述されるシーン２において、第１９行には画像を再生することが記述され、第２０行にはテキストを再生することが記述されている。これら画像とテキストとは第１８行〜第２１行が記述するシーン２に属し、並行して再生される。
【０２１６】
さらに、スクリプト内に「ｄｕｒ＝」に引続いて表示されている時間は、対応するシーンの再生を行なう時間を表し、その時間が経過した後は、次のシーンの再生に切替わる。本実施の形態においてスクリプトはこのような記述方法を用いているものとして示されているが、本発明においてスクリプトの記述方法は限定されるものではなく、メディアを再生するシーケンス情報を記述できれば、どのような形式でも構わない。
【０２１７】
なお、シーケンスとは、マルチメディアデータ再生時の、時間的な順序関係を指す。シーケンスは、子要素として再生時間軸上の特定区間（具体的には「シーン」「スライド」、さらに具体的にはＳＭＩＬ言語で＜ｐａｒ＞タグや＜ｓｅｑ＞タグで囲まれることで定義される区間）を１つないし複数含む。時間軸上の各区間の順序関係を把握し、各区間（に含まれるメディアデータ）の再生開始、停止、メディアデータのロード、アンロードを行なう際の手がかりとされるデータ構造を作成、保持することで、シーケンスが管理され
る。具体的には、図１０〜１２のようなタイムテーブルを用いることでシーケンスが管理される。再生時間軸上において、各区間が開始、終了する時刻をシーケンスの変更点という。図７に示されるＵＩ割当状況表示タイムテーブルの具体例においては、０，８，１５，１９秒目がシーケンスの変更点に該当する。
【０２１８】
さらに、図４２に、本実施の形態にかかるマルチメディアデータ処理装置である携帯電話１の再生・編集エンジンプログラム１３１の機能構成についてブロック図に示す。制御部１２０が記憶部１３０に記憶される再生・編集エンジンプログラム１３１を実行することで、図４２に示される各機能が携帯電話１において実現される。
【０２１９】
図４２を参照して、本実施の形態における携帯電話１の再生・編集エンジンプログラム１３１の機能は、テンプレート記憶部１０００と、選択部１００１と、スクリプト・データ一時記憶部１００２と、スクリプト実行部１００３と、ユーザ変更データ判定部１００４と、端末機能選択部１００５と、端末機能実行部１００６と、データ変更部１００７と、スクリプト・データ変更確定部１００８と、スクリプト・データ出力部１００９と、出力スクリプト・データ記憶部１０１０と、データ埋込部１０１１とを含んで構成される。
【０２２０】
テンプレート記憶部１０００は、受信部１０１５で受信され渡された１つ以上のテンプレートを記憶する。テンプレート記憶部１０００に記憶されるテンプレートは、図４７に示されるようなスクリプトと、そのスクリプトが使用するサンプルメディアデータ（静止画やテキスト）との両方が含まれる場合が普通であるが、メディアデータだけがファイルなどの形態をとって別に管理されていたり、ネットワークで接続されたサーバに存在していたり、テンプレートを利用するときにアクセス可能であれば他の形態であってもよい。
【０２２１】
なお、テンプレートからテンプレートに含まれるメディアデータのみを取出し、別途転送あるいは保存などの操作を行なうことを、テンプレートに含まれるスクリプトの記述で禁止あるいは許可できることが好ましい。さらに、テンプレートは、通常端末に複数記憶されていて、ユーザが使いたいテンプレートはネットワークで接続したサーバやメモリカードなどから追加可能であることが好ましい。
【０２２２】
選択部１００１は、選択可能に表示されたテンプレートのリストにおいて、ユーザからのテンプレートの選択を受付ける。図２１のテンプレート選択画面が典型的な例である。
【０２２３】
スクリプト・データ一時記憶部１００２は、テンプレートに含まれるスクリプトとメディアデータとを一時記憶する。スクリプトは書換え可能な部分を含むため、通常、テンプレートをコピーしてこの一時記憶エリアであるスクリプト・データ一時記憶部１００２に記憶する。しかし、メディアデータについては、ファイル名の書換えなどメディアデータそのものに修正が加わらない場合には、特に複製を作る必要はない。
【０２２４】
スクリプト実行部１００３は、本発明のコアの部分である。本発明においてスクリプトは、シーンを切替えた表示を実現するためのものである。スクリプト実行部１００３は、スクリプト再生の際のシーンや時間については、あらかじめテーブルを作成することで管理することが好ましい。
【０２２５】
ユーザ変更データ判定部１００４は、テンプレートに含まれるメディアが変更可能であるかどうかを判定する。テンプレートに含まれるメディアは、その大部分は書換え不可であるが、そのうちのメディアファイル名などのメディアを参照する参照情報を書換えることによって、最終的にユーザが望むマルチメディアデータを生成することができる。
【０２２６】
テンプレートに含まれるメディアデータは、スクリプトにおいては通常ファイル名の形で指定されて記述される。ユーザ変更データ判定部１００４は、当該メディアデータが変更可能かどうかを判定する。たとえば図４１（Ｂ）に示されるシーン２の場合には静止画を入替えることが端末側で可能であるので、ユーザ変更データ判定部１００４は、静止画入替が可能と判定する。また、スクリプトに静止画ファイルが指定されている場合であっても、当該静止画ファイルはデータ変更が不可能であるということもあり得る。
【０２２７】
さらに、時間で管理されるスクリプトの場合には、そのメディアデータが再生されている時間をユーザ変更データ判定部１００４で選択して、再生時間そのものを書換えることや、３つあるシーンにさらに４つ目のシーンを追加というようなこともユーザ変更データ判定部１００４で判定して可能にすることが好ましい。
【０２２８】
端末機能選択部１００５は、当該携帯電話１の備える機能の中から、ユーザ変更データ判定部１００４で選択された部分を変更するのに必要な端末機能を選択する。たとえば、ユーザ変更データ判定部１００４で選択された部分が静止画である場合には、端末機能選択部１００５は、静止画を入替えるための機能を選択する。またたとえば、当該携帯電話１がカメラ付端末の場合には、端末機能選択部１００５は、カメラを起動する機能も選択できることが好ましい。
【０２２９】
端末機能実行部１００６は、端末機能選択部１００５で選択された端末機能を用いてメディアデータを取得する。そして、端末機能実行部１００６は、取得したメディアデータをデータ変更部１００７に出力する。
【０２３０】
データ変更部１００７は、端末機能実行部１００６から入力されたメディアデータをスクリプトから参照される元のメディアデータと入替える。このときに、テンプレートでは静止画であったものが変更後は動画やテキストなど別の種類のメディアデータになっても構わない。
【０２３１】
また、このとき、スクリプトにおいてメディアデータへの参照情報がファイル名で記述されている情報である場合には、変更後のメディアデータをファイルの形式で保持し、その名前をスクリプトに記述されているファイル名にする、または変更後のメディアデータがそもそもファイルの形式であって名前が付けられて管理されている場合には、スクリプト内の該メディアデータを指定する部分を、該ファイル名に書換える必要がある。
【０２３２】
スクリプト・データ変更確定部１００８は、スクリプトおよびメディアデータの変更がすべて終了したことの確定をユーザから受付ける。そして、スクリプト・データ変更確定部１００８は、スクリプトおよびメディアデータの変更が確定した旨を、スクリプト・データ出力部１００９に出力する。
【０２３３】
スクリプト・データ出力部１００９は、変更し確定されたスクリプトとメディアデータとを出力する。スクリプト・データ出力部１００９は、典型的にはＭＭＳ（Multimedia Messaging Service）など電子メールの形で他の端末やサーバに送信する。そして、スクリプト・データ出力部１００９は、他の端末などに出力したスクリプトとメディアデータとを出力スクリプト・データ記憶部１０１０とデータ埋込部１０１１とに出力する。
【０２３４】
出力スクリプト・データ記憶部１０１０は、スクリプト・データ出力部１００９から出力されたスクリプトとメディアデータとを保持する。また、データ埋込部１０１１は、出力されたスクリプトとメディアデータとからメディアデータを取出して、テンプレートに埋込む。
【０２３５】
次に、第２の実施の形態にかかるマルチメディアデータ処理装置である携帯電話１の再
生・編集エンジンプログラムにおける処理について図４３のフローチャートを用いて説明する。図４３のフローチャートに示される処理もまた、携帯電話１の制御部１２０が、図４２に構成が示される再生・編集エンジンプログラム１３１を記憶部１３０から読出して実行することによって実現される。
【０２３６】
図４３を参照して、始めに、選択部１００１は、テンプレート記憶部１０００に記憶されるテンプレート、あるいは他の装置から取得したテンプレートを読出して、選択可能にディスプレイ１４４にリスト表示を行ない、ユーザの選択を受付ける（Ｓ１１００）。ステップＳ１１００において選択部１００１は、各テンプレートについて、当該テンプレートの最初もしくは代表的な画面をサムネイルにして、当該テンプレートのタイトルと共に表示することが好ましい。
【０２３７】
次に、スクリプト実行部１００３は、ステップＳ１１００で選択されたテンプレートを再生しながら、ユーザの指示に応じて編集を行なう再生・編集処理を実行する（Ｓ１１０１）。なお、ステップＳ１１０１における再生・編集処理については、後に詳細を説明する。さらに、再生と編集とは、ユーザが切替え可能なモードがあることが一般的であるが、編集と再生とが同時にできることが好ましい。
【０２３８】
次に、スクリプト・データ変更確定部１００８は、ユーザによるスクリプトの変更が終了したかどうかを確認する（Ｓ１１０２）。そして、スクリプトの変更が終了していると（Ｓ１１０２でＹＥＳ）、スクリプト・データ出力部１００９は、確定されたスクリプトとデータとのいずれかもしくは両方を出力する（Ｓ１１０３）。
【０２３９】
以上で、本実施の形態におけるテンプレートの再生および編集処理を終了する。
次に、図４６のフローチャートを用いて、上述のステップＳ１１０１における再生・編集処理について説明する。
【０２４０】
図４６を参照して、始めに、スクリプト実行部１００３は、スクリプトの記述に従って、再生されるシーンの切替えを行なう（Ｓ１２００）。ステップＳ１２００における処理については本発明において限定されるものではないが、その典型的な処理方法としては、最初に時間テーブルもしくは図５８に示すような切替えテーブルを作成して、それに基づき次のシーンに移行する方法が挙げられる。
【０２４１】
図５８は、図４７に示すスクリプトを再生・編集する場合のメディア管理テーブルの具体例を示している。より具体的には図５８を参照して、「シーン１」では「静止画１」が（図５８（Ａ））、「シーン２」では「静止画２」と「テキスト２」とが（図５８（Ｂ））、「シーン３」では「静止画３」と「テキスト３」とが（図５８（Ｃ））再生されることを示している。ステップＳ１２００においてデータ変更部１００７は、このようなメディア管理テーブルを参照して、シーン単位で順々に再生・編集を行なう。
【０２４２】
次に、スクリプト・データ出力部１００９は、端末の機能を用いてデータを出力する（Ｓ１２０１）。ステップＳ１２０１において出力されるデータの形態は、静止画、動画、音楽、テキストその他、どのようなものでも構わない。なおステップＳ１２０１における出力処理については、サブルーチンを挙げて後に詳細に説明する。
【０２４３】
次に、スクリプト実行部１００３は、修正モードか再生モードかを判定する（Ｓ１２０２）。既存のテンプレートをベースにして新たなテンプレートを作成する場合には、修正モードを実行するだけで再生モードとの切替えが不要である場合もある。逆に、他の端末から送られてきたメールやメッセージを新しいテンプレートとして使用する場合には、通常は再生モードであるので、修正モードに変更できることが好ましい。
【０２４４】
ステップＳ１２０２において修正モードである場合（Ｓ１２０２でＹＥＳ）、さらにユーザから入力を取得し、ユーザ変更データ判定部１００４は、何の入力かを判定する（Ｓ１２０３）。
【０２４５】
ステップＳ１２０３における判定の結果、ユーザからの入力が前のシーンの再生を指示する入力であった場合には（Ｓ１２０３で「前シーン」）、スクリプト実行部１００３は、当該スクリプトの前のシーン表示の処理を行なう（Ｓ１２０４）。
【０２４６】
あるいは、ステップＳ１２０３における判定の結果、ユーザからの入力がスクリプトの変更処理を指示する入力であった場合には（Ｓ１２０３で「変更処理」）、データ変更部１００７は、具体的な変更作業を行なう（Ｓ１２０５）。なお、ステップＳ１２０５における変更作業については、サブルーチンを挙げて後に詳細に説明する。
【０２４７】
さらに、スクリプト・データ変更確定部１００８は、ステップＳ１２０５における変更後、ユーザからの入力を得て再度確認するかどうかを判定する（Ｓ１２０６）。ステップＳ１２０６における判定の結果、変更後のスクリプトを再度確認する場合には（Ｓ１２０６で「再出力」）、ステップＳ１２０１に処理を戻し、スクリプト・データ出力部１００９は、ステップＳ１２０１において同じシーンを変更後のデータを出力する。これは、静止画と音楽とが同時に出力される場合など、静止画変更だけではシーンが確認できないときなどに有効である。
【０２４８】
そして、ステップＳ１２０２において修正モードではなく（Ｓ１２０２でＮＯ）、さらに当該スクリプトの再生が終了した場合には（Ｓ１２０７でＹＥＳ）、本再生および編集処理を終了する。
【０２４９】
次に、上述のステップＳ１２０１におけるデータ出力処理について図４４のフローチャートを用いて詳細に説明する。
【０２５０】
図４４を参照して、始めに、ユーザ変更データ判定部１００４は、当該シーン内の変更データの有無を判定する（Ｓ１１１０）。ステップＳ１１１０での判定処理については後にサブルーチンを挙げて詳細に説明する。
【０２５１】
次に、端末機能選択部１００５は、ステップＳ１１１０で判定された変更データの変更手段を選択する（Ｓ１１１１）。たとえば、同じスクリプトであっても、図４９に示されるように端末によって再生に用いることのできる機能が異なる。図４９は端末に応じて、同じスクリプトであっても選択される機能が異なることを示す図である。この機能の選択は、端末のハードウェアだけでなく、端末のソフトウェアによる違いも考慮することが可能である。この場合、ステップＳ１１１１においては、静止画ファイル選択、動画カメラ選択など、端末に合わせて使用可能な機能が選択されることが好ましい。なお、ステップＳ１１１１での変更データの変更手段選択処理については後にサブルーチンを挙げて詳細に説明する。
【０２５２】
次に、データ変更部１００７は、操作ガイドとして、ディスプレイ１４４に変更のガイダンスを表示する（Ｓ１１１２）。ステップＳ１１１２で表示される変更ガイダンスとは、たとえば静止画を入替える場合に、入替えるファイルを選択するためのガイド機能であり、典型的には静止画ファイル選択ボタンの表示などを指す。ステップＳ１１１２においてデータ変更部１００７がこのようなガイダンスを動的に生成することで、ユーザにどうすれば変更可能かを容易に知らせることができる。
【０２５３】
次に、スクリプト実行部１００３は、ステップＳ１１１２で表示された変更のガイダンスと共に、シーンの出力を実行する（Ｓ１１１３）。
【０２５４】
そして、スクリプト・データ一時記憶部１００２は、変更データごとに、ステップＳ１１１１で選択された変更手段（アプリケーション）と、ステップＳ１１１２で生成された変更のガイダンスとに対応する入力イベントの組をシーンイベントテーブルに記憶する（Ｓ１１１４）。ステップＳ１１１４において、具体的には、スクリプト・データ一時記憶部１００２は、図６４のシーンイベントテーブルの具体例に示されるように、変更データ「静止画２」は、「Ｆ１」キーイベントで起動される「画像撮影」アプリケーションと、「Ｆ２」キーイベントで起動される「ファイル取得」アプリケーションとで変更でき、変更データ「テキスト２」は、「ｓｅｌｅｃｔ」キーイベントで起動される「ファイル取得」アプリケーションで変更できることを記憶する。
【０２５５】
次に、上述のステップＳ１２０５での変更処理について図６５のフローチャートを用いて説明する。
【０２５６】
図６５を参照して、始めに、データ変更部１００７は、シーンイベントテーブルを参照する（Ｓ１５０１）。シーンイベントテーブルに、ステップＳ１２０３で入力されたユーザ入力イベントが登録されていない場合（Ｓ１５０２でＮＯ）、当該処理を終了する。
【０２５７】
シーンイベントテーブルに、ステップＳ１２０３で入力されたユーザ入力イベントが登録されている場合（Ｓ１５０２でＹＥＳ）、スクリプト実行部１００３は、シーンイベントテーブルから対応するアプリケーションを判定して起動させる（Ｓ１５０３）。そして、データ変更部１００７は、シーンイベントテーブルから対応するユーザ変更データを判別し、起動したアプリケーションからメディアデータを取得して、当該ユーザ変更データを起動したアプリケーションから取得したメディアデータに書換える（Ｓ１５０４）。より具体的には、キー「Ｆ１」が押されると、ステップＳ１５０３において、「画像撮影」アプリケーションが起動される。また、ユーザが「画像撮影」アプリケーションで静止画を撮影し終了すると、ステップＳ１５０４においてユーザ変更データ「静止画２」が新たに撮影したデータで書換えられる。
【０２５８】
なお、上記の例において、画像、音声、映像、テキストなどのメディアデータをユーザが入力する操作を行なったときに、テンプレート内に入力されたメディアメディアを挿入することが可能な箇所が複数存在する場合には、２つ以上の箇所に該メディアデータを挿入しても構わない。あるいは、ユーザが入力したメディアデータを分割し、複数の箇所にその一部分を挿入しても構わない。
【０２５９】
また、音声、音楽、映像、アニメーションなどの時間軸をもったメディアデータをテンプレートに挿入する場合に、それぞれのメディアデータの再生時間が、予めテンプレートで規定された時間よりも長い場合には、そのメディアデータは挿入禁止にしてもよいし、規定の時間に合わせるべく各メディアデータの再生速度を上げてもよいし、規定の時間が経過したら途中で再生終了するのでもよいし、規定の時間に収まる一部分だけを再生するのでもよい。もしくは、各メディアデータが完全に再生されるようにテンプレートの時間規定を変更するのでも構わない。
【０２６０】
また、テキスト、静止画、動画、音声、音楽、アニメーションなどのメディアデータを挿入する際、上記の例では挿入されるメディアデータに応じたファイル選択、カメラなどのアプリケーション起動を行なっているが、ユーザが自由にメディアデータを選択し、そのメディアデータをテンプレートに収まるメディアデータに変換するようにしても構わない。たとえば、撮影した動画から音声のみ抽出してテンプレートに埋込む、動画の先頭フレームを静止画として抽出してテンプレートに埋込む、などを行なってもよい。
【０２６１】
なお、上記のテキスト入力の際に、機器内に保持している定型文やクリップボードに一時保存されているテキスト、あるいは機器内に保持されていてテキストデータとして取得可能な、アドレス帳やスケジュール、送受信したメールなどのデータを読込めることが好ましい。
【０２６２】
次に、上述のステップＳ１１１０での判定処理について図５９のフローチャートを用いて説明する。
【０２６３】
すなわち、図５９を参照して、ユーザ変更データ判定部１００４は、現在再生しているシーンと、メディア管理テーブルとを参照して（Ｓ１３０１，Ｓ１３０２）、当該シーンのメディアデータを判定する。たとえば、現在携帯電話１において図４７に示すスクリプトの「シーン２」を再生している場合、ユーザ変更データ判定部１００４は、図５８に示されるメディア管理テーブルを参照して、「静止画２」と「テキスト２」とを変更データとして判定する。
【０２６４】
次に、上述のステップＳ１１１１での変更データの変更手段選択処理について図６０を参照して説明する。図６０は、携帯電話１に格納されるデータ取得プログラムと携帯電話１がサポートするメディアタイプとの対応を記録するテーブルであって、携帯電話１の記憶部１３０に記憶されているテーブルである。より具体的には、図６０に示されるテーブルには、当該携帯電話１には「画像撮影」アプリケーションが登録され「静止画」と「動画」とが取得できること、「音声データ録音」アプリケーションが登録され「音声」が取得できること、「ファイル取得」アプリケーションが登録され「静止画」と「動画」と「テキスト」とが取得できることが記録されている。
【０２６５】
上述のステップＳ１１１１で端末機能選択部１００５は、上記テーブルを参照して、ステップＳ１１１０で判定された変更データのメディアタイプに基づいて、使用可能な変更手段を選択する。たとえば、変更データのメディアタイプが「静止画」の場合、「画像撮影」と「ファイル取得」とのアプリケーションを選択する。
【０２６６】
図５３に、携帯電話１においてスクリプトが実行される際の画面遷移の表示の具体例を示す。図５３を参照して、シーン２ではステップＳ１１１３の処理が実行されて静止画とテキストとが表示されると共に、ステップＳ１１１２での処理が実行されて変更のガイダンスが表示されている。すなわち、図５３のシーン２では「Ｙｏｕ  ｃａｎ  ａｔｔａｃｈ  ａ  ｐｉｃｔｕｒｅ  ｈｅｒｅ」という文字（ガイダンス）が表示され、対応するボタンを押すとデータフォルダの静止画のデータがサムネイルとなってリスト表示される。このリスト表示画面においては、ファイル名やデータサイズ情報などが併記されるとより好ましい。
【０２６７】
また、静止画と音楽となど２つ以上のメディアが同じシーンで出力される場合には、本携帯電話１は、「Ｙｏｕ  ｃａｎ  ａｔｔａｃｈ  ａ  ｐｉｃｔｕｒｅ  ｈｅｒｅ」と「Ｙｏｕ  ｃａｎ  ａｔｔａｃｈ  ａ  ｍｕｓｉｃ  ｈｅｒｅ」との修正のガイドを複数表示してショートカットキー押下などのユーザ操作により静止画データ入力または音楽データ入力のいずれかが選択される方法や、時間的に切替えて、最初「Ｙｏｕ  ｃａｎ  ａｔｔａｃｈ  ａ  ｐｉｃｔｕｒｅ  ｈｅｒｅ」のガイドを出し、次に「Ｙｏｕ  ｃａｎ  ａｔｔａｃｈ  ａ  ｍｕｓｉｃ  ｈｅｒｅ」のガイドを出す方法や、何らかのメディアデータを挿入可能であることを示す「Ｙｏｕ  ｃａｎ  ａｔｔａｃｈ  ｄａｔａ  ｈｅｒｅ」のガイドを表示し、対応するボタンを押すと次の画面へ遷移して、次の画面においては「Ａｔｔａｃｈ  ａ  ｐｉｃｔｕｒｅ」と「Ａｔｔａｃｈ  ａ  ｍｕｓｉｃ」とのメニューを選択可能に表示し、これをユーザが選択することによって静止画データ入力や音楽データ入力へ移行する方法など、いずれの方法を行なう構成であっても構わない。
【０２６８】
また、本携帯電話１は、修正可能なメディアデータと修正不可能なメディアデータとが区別できる場合には、そのシーンで修正可能なものを区別して、ユーザに示すことが好ましい。これはスクリプト中にメディアデータが変更可能かどうかを記載することでその判別を行なうことができる。
【０２６９】
さらに好ましくは、本携帯電話１は、シーンごとに次に飛ぶ、あるいは前に戻る機能を備える。通常の再生では、シーン１が８秒間表示される場合でも、「次シーン」機能を用いることで、１秒経ったところでユーザがボタンを押すと残りの７秒はスキップされるというように、効率的にメールの作成、確認が可能になる。
【０２７０】
さらに好ましくは、編集の意思をユーザが示した場合には、本携帯電話１は、その時点で再生を止める機能を備える。たとえば、図５３のシーン２で静止画を入替えているところでユーザがボタンを押すことで、静止画選択画面で静止画を選択するところで再生のタイマをストップすることが好ましい。なお、データの変更を終えて再生を再開する場合には、編集操作を行なうときに止めた再生時間からスタートする、全体の最初から再生する、あるいは当該シーンの最初の時間から再開するなどが考えられる。当該シーンの最初とは、シーン２を８秒目から１５秒目まで再生する予定であるところの１３秒のところで編集ボタンを押されてデータを入替えた場合に、シーン２の最初、つまり８秒目を指す。
【０２７１】
なお、上述のテンプレートの編集工程において、テキスト、静止画、動画、音声、音楽、およびアニメーションなどのメディアデータをテンプレートに１箇所以上挿入した時点で、ユーザが現在選択し編集中のテンプレートとは別のテンプレートの編集に変更したいと思う場合が考えられる。この場合、どのテンプレートへの変更に際しても、それまでに挿入したメディアデータは破棄してしまってもよいし、変更後のテンプレートに挿入するようにしてもよい。またこの場合、変更後のテンプレートには変更前に挿入したメディアデータを挿入することが不可能である場合が考えられるが、このときには、そのようなテンプレートへの変更は許可しないようにしてもよいし、挿入不可能なメディアデータは破棄し、挿入可能なメディアデータのみ挿入するようにしてもよい。また、変更前のテンプレートに挿入していたメディアデータが変更後のテンプレートの複数箇所に挿入可能である場合においては、複数箇所のうち１箇所に挿入するのでもよいし複数箇所に挿入するのでもよい。また、そもそも他のテンプレートへの変更を全面的に許可しないようにしてもよい。
【０２７２】
［変形例］
次に、メディアデータの再生順序情報とアクションの実行順序情報とを含んだスクリプトを再生し、アクションを実行して、メディアデータの再生順序情報を含んだスクリプトを作成する処理について説明する。
【０２７３】
図５０および図６１は、メディアデータの再生順序情報とアクションの実行順序情報とを含んだスクリプトの具体例を示している。図５０に示されるスクリプトの記述は、図６に示されるスクリプトの記述と同様にアクションと描画領域とを定義している。図６１に示されるスクリプトの記述は、第１７行〜第３３行において、メディアデータの再生とアクションの実行の順序情報とを定義している。また、第１８行〜第３２行は、第１９行〜第２１行、第２２行〜第２６行、および第２７行〜第３１行でそれぞれ定義されるシーン１〜シーン３を順番に実行することを示している。
【０２７４】
また、第２２行〜第２６行では、第２のシーンの実行を定義している。より詳しくは、第２３行において、“ＳｅｃｏｎｄＩｍａｇｅ．ｊｐｇ”で示される画像を“Ｉｍａｇｅ”領域に表示することを記述している。第２４行において“ＳｅｃｏｎｄＴｅｘｔ．ｔｘｔ”で示されるテキストを “Ｔｅｘｔ”領域に表示することを記述している。第２５行において“ＵＩ”の“ｓｅｌｅｃｔ”キーイベントが検出された場合に“ａｃｔ＿ｉｍａｇｅ”で参照されるアクションを実行することを記述している。
【０２７５】
さらに、図４８に、第２の実施の形態の変形例における携帯電話１の再生・編集エンジンプログラム１３１の機能構成についてブロック図に示す。図４８において図４２と同じ番号が付加されている構成要素は、図４２に示される構成要素と同様のものであるため、ここでの説明は繰返さない。すなわち、図４８を参照して、第２の実施の形態の変形例における携帯電話１の再生・編集エンジンプログラム１３１の機能は、テンプレート記憶部１０００と、選択部１００１と、スクリプト・データ一時記憶部１００２と、スクリプト実行部１００３と、端末機能選択部１０１２と、アクション決定部１０１３と、アクション実行部１０１４と、データ変更確定部１００８と、スクリプト・データ出力部１００９と、出力スクリプト・データ記憶部１０１０と、データ埋込部１０１１とを含んで構成される。なお、ここでは、図４２とは異なる構成要素について説明する。
【０２７６】
端末機能選択部１０１２は、スクリプトの記載に応じて端末機能を選択する。スクリプトには、たとえば図５０の第１２行〜第１５行のａｃｔｉｏｎ文中のｄｅｓｔというような形で端末機能が書かれている。そして、端末機能選択部１０１２は、その選択結果を、アクション実行部１０１４に出力する。
【０２７７】
アクション決定部１０１３は、スクリプトの記載に応じてアクションを決定する。アクション決定部１０１３におけるアクションの決定は、たとえば図５０に示されるスクリプトの第１２行〜第１５行のｔｙｐｅで記載されているところを解釈することで実現される。そして、アクション決定部１０１３は、その決定結果を、アクション実行部１０１４に出力する。
【０２７８】
アクション実行部１０１４は、端末機能選択部１０１２で選択された機能を用いて得られたデータを、アクション決定部１０１３で決められたアクションに基づいて処理を行なう。アクション実行部１０１４では、明示的に記載されたアクションを実行することで、単に挿入や置換だけでなく、画像の合成や、音楽のつなぎ合わせ、特殊効果など各種の処理が可能になる。
【０２７９】
なお、第２の実施の形態の変形例における携帯電話１の再生・編集エンジンプログラムにおける処理は、図４３に示される処理と同様であるため、ここでの説明を繰返さない。また、第２の実施の形態の変形例における携帯電話１での、スクリプトであるナビゲーションフレームの再生および編集処理も、図４６に示される処理とほぼ同様であるため、同様の処理についてはここでの説明を繰返さない。
【０２８０】
なお、本変形例では、図４６に示される処理において、最初に、図５８に示すようなメディア管理テーブルの他に、図６３に示すようなアクション管理テーブルを作成する。図６３は、図６１に示すスクリプトを再生・編集する場合のアクション管理テーブルの具体例を示す図である。より具体的には、図６３を参照して、「シーン１」では実行可能なアクションはなく（図６３（Ａ））、「シーン２」では「静止画埋込みアクション」が実行可能であり（図６３（Ｂ））、「シーン３」では「テキスト埋込みアクション」が実行可能である（図６３（Ｃ））ことを示している。変形例の携帯電話１は、このようなアクション管理テーブルを参照して、シーン単位で順々に再生・編集を行なう。
【０２８１】
次に、変形例における上述のステップ１２０１でのデータ出力処理について図６２のフローチャートを用いて詳細に説明する。
【０２８２】
図６２を参照して、始めに、アクション決定部１０１３は、アクション管理テーブルを参照して、当該シーンで実行可能なアクションを判定する（Ｓ１４０１）。次に、アクション決定部１０１３は、ディスプレイ１４４に、アクション実行のガイダンス表示を行なう（Ｓ１４０２）。アクション実行のガイダンスとは、アクションの実行を開始するための操作のガイド機能である。ステップＳ１４０２でのアクション実行のガイダンス表示処理については第１の実施の形態のステップＳ１１１２における変更ガイダンスの表示処理と同様であるので説明を繰返さない。そして、スクリプト実行部１００３は、ステップＳ１４０２で表示されたガイドと共に、シーンの出力を実行する（Ｓ１４０３）。
【０２８３】
図４５に、変形例における携帯電話１でスクリプトが実行される際の画面遷移の表示の具体例を示す。図４５を参照して、図４５（Ｂ）に示されるシーン２では、ステップＳ１１１３の処理が実行されて静止画が表示されると共に、ステップＳ１１１２の処理が実行されて変更のガイダンスが表示されている。すなわち、図４５（Ｂ）に示されるシーン２では「Ｙｏｕ  ｃａｎ  ａｔｔａｃｈ  ａ  ｐｉｃｔｕｒｅ  ｈｅｒｅ」という文字（ガイダンス）が表示され、対応するボタンを押すと図４５（Ｄ）に示されるようにカメラアプリケーションが起動される。
【０２８４】
なお、図４９のように使える機能が異なるそれぞれの端末専用の記述を、スクリプトにすべて記述し、テンプレート再生時に端末が使える機能についての記述のみを有効にするようにしてもよい。これら機能としては、たとえば３Ｄ液晶表示機能や、２画面以上のディスプレイ表示機能などが特に挙げられる。
【０２８５】
また、対象ユーザの属性ごとに異なる内容のメディアデータへの参照情報をスクリプトにすべて記述し、テンプレート使用時に、対象ユーザの属性に適したメディアデータのみを有効にする構成をとってもよい。この属性としては、たとえばユーザの使用する言語や住んでいる地域などが特に挙げられる。
【０２８６】
なお、上記の実施例においては、カメラを起動することを示すＵＩ部品を画面に表示し、所定のキー操作によってカメラを起動させる方法を説明したが、図５２に示すようにこの時間帯にカメラをインラインで起動し、撮影を実行することを示すＵＩ部品を所定時間表示して（図５２（Ｄ））、この時間帯に所定のキー操作がなされるとカメラによる撮影を行ない、その画像や映像を即座に再生させるようにしてもよい。なお、このとき撮影を行なわないまま「撮影」のＵＩ部品を表示させる所定の時間が経過した場合、該時間帯の次の再生処理を進めてもよい。あるいは、該時間帯の終端時刻において再生を一時停止し、「撮影」操作が行なわれるまで待機してもよい。あるいは、該時間帯の先頭へ戻って該時間帯の再生を繰返してもよい。この繰返し処理は「撮影」操作が行なわれないもしくは中断処理がない限り無限に行なってもよいし、所定の回数のみ繰返しを行ない、それが終われば「撮影」操作が済んでいなくても次へ進むようにしてもよい。
【０２８７】
なお、上記の実施例におけるメッセージの作成工程において、メッセージのデータサイズ総計が、送信可能なサイズの上限を超えてしまう場合が考えられる。この対策として、ユーザがメッセージの送信操作を行なった時点でサイズ超過の警告を出して送信を行なわないようにしてもよい。あるいは、ユーザがメディアデータを挿入するごとにサイズの合計を逐一調査し、もし制限を超えた場合にはその時点で警告を出してその挿入操作を無効にしてもよい。もしくは、予め挿入の候補となるメディアデータのサイズが判明しているのであれば、現在までのメッセージサイズの総計と該メディアデータのサイズとの合計が送信可能なサイズ上限を超えるかどうかを判別し、超える場合のメディアデータについては選択を許可しないようにしてもよい。
【０２８８】
なお、上述の図５０および図６１は、作成側のみで使われるスクリプトの具体例である。この第１２行〜第１５行は、メッセージを作成および送信する装置側のみで使われる。それ以外の部分は、メッセージを受信する装置側で再生する際にも必要である。このようなスクリプトをスクリプト・データ出力部１００９において出力する際には、スクリプト中に含まれる、受信装置では不要な表記や、通信手順の中で送信できないコマンドなどは最終的に削除もしくはコメントアウトして出力すべきである。このような場合には、スクリプト・データ出力部１００９においては削除すべき表記のルールを備えて、これらを削除することが好ましい。
【０２８９】
なお、メッセージ受信者が同じテンプレート利用して別のメッセージを作成するなどの目的で、受信側でテンプレートそのものをサーバからダウンロードする場合に便利なように、スクリプト・データ出力部１００９は、今使用したテンプレートのダウンロード元のアドレスを付加して送ることがさらに好ましい。
【０２９０】
さらに、スクリプト・データ処理部１００９でスクリプトをたとえばＨＴＭＬなどのフォーマットに変換し、元のスクリプトと共に変換したスクリプトも送信することが好ましい。このことで、受信側が全く元のスクリプトを処理できない場合でも、変換したスクリプトの処理が可能であれば、受信側で再生を行なうことが可能になる。
【０２９１】
さらに、テンプレートを元に編集し、送信済みのメッセージを再編集して送信する場合に便利なように、出力スクリプト・データ記憶部１０１０において、削除処理を施す前のスクリプトおよびメディアデータを記憶してもよい。また同様の目的で、図５５に示すように、送信したメッセージと使用したテンプレートとの対応を示すテーブルを保持し、たとえば、メッセージ「１２２１」を再編集したい場合に、上記テーブルを検索してテンプレート「かなりひま」を自動的に選択し、データ埋込み部１０１１でメッセージ「１２２１」に含まれるメディアデータをテンプレート「かなりひま」に埋込んでから編集するようにしてもよい。
【０２９２】
さらに編集を容易にするために、シーンごとにサムネイルを作ることが好ましい。図５１にその表示例を示す。これは、テンプレートに含まれるスクリプト全体を解釈して図１０のような全体のタイムテーブルもしくはシーケンステーブルを作成することで、容易に実現できる。このようなシーンごとのサムネイルを用意することで、スクリプトに基づいてサムネイルのリスト表示を行なって、ユーザ操作により任意のサムネイルを選択することをきっかけに該当シーンの再生実行点より再生開始できるようにすれば、スクリプトの書換えを行なう場合に、当該スクリプトの先頭からの再生を行なうことなく、所望のところのデータのみを書換えることが容易に可能になる。
【０２９３】
このようなスクリプトを携帯電話１で実行することによって容易にマルチメディアコンテンツを作成することができる。すなわち、本スクリプトを実行することによって時系列的に変化して表示されるガイダンス情報にしたがって所定の操作を行なうだけで、直感的な方法で、容易にマルチメディアコンテンツを作成することができる。また、すでにメディアデータが挿入されているテンプレートに対しても、そのスクリプトを実行することによって時系列的に変化して表示されるガイダンスにしたがって所定の操作を行なうだけで、容易にメディアデータを置換えることができ、ユーザの所望するマルチメディアコンテンツを容易に作成することができる。
【０２９４】
さらに、このようなテンプレートを他の携帯電話１に対して送信して返信を要求することで、送り手側の所望の操作を受け手側に行なわせることが可能である。たとえば、図２１に示されるようなテンプレート「かなりひま」に新たな動画の挿入を要求する旨のテキストメッセージを添えて他の携帯電話１に対して送信することで、該携帯電話１のユーザに対して、当該テンプレートに新たな動画データを挿入する編集作業の実施を指示することができる。
【０２９５】
［第３の実施の形態］
次に、マルチメディアデータ処理装置がテレビジョン受像機（以下、テレビと略する）である場合について、第３の実施の形態として説明する。すなわち、第３の実施の形態にかかるテンプレートには、テレビ画面のレイアウトおよび時間情報が記述されていて、メディアデータの１つとして、テレビ番組が取扱われる。
【０２９６】
図７４は、第３の実施の形態におけるマルチメディアデータ処理装置であるテレビを含むデータ通信システムの構成を示す図である。図７４を参照して、データ通信システムは、マルチメディアデータ処理装置であるテレビ６と、スクリプト言語で記述されているテンプレートを提供するテンプレート提供サーバ２と、テレビの番組情報および番組関連情報を提供するＥＰＧサーバ３と、インターネットコンテンツを提供するＷＷＷサーバ４と、放送波を介して番組をテレビ６へ提供する放送局５とを含んで構成される。
【０２９７】
テレビ６のマルチメディアデータ処理装置としての構成は、第１の実施の形態において図４に示される構成と同様であるため、ここでの説明を繰返さない。さらに、テレビ６は、その表示部に、メイン領域７４０１とサブ領域７４０２，７４０３とを含む。
【０２９８】
図７５、図７６、および図７７に、第３の実施の形態にかかるマルチメディアデータ処理装置であるテレビ６で取扱われるテンプレートに含まれるスクリプトの具体例を示す。図７５はメディアデータを参照する描画情報記述部を含むスクリプトを示す具体例であり、図７６は時間帯に応じた番組情報を記述する番組表情報記述部を含むスクリプトを示す具体例であり、図７７は図７５、図７６に示される両スクリプトを関係付ける記述を含むスクリプトを示す具体例である。なお、図７６に示されるスクリプトは、第１の実施の形態における、ユーザナビゲート情報記述部を含むスクリプトに相当するものであるが、本実施の形態においては、テレビ６を視聴するユーザの操作をナビゲートするのではなく、表示再生する番組を時間帯に応じて自動的に決定する役割を果たすスクリプトである。このスクリプトが解析されることによって、番組表情報が得られる。
【０２９９】
次に、テレビ６におけるデータ処理の流れを示す。スクリプトの読込みおよび実行処理、ならびにイベント処理に関しては、大まかな流れは図９に示された処理と同様であるため、図９を用いて説明する。
【０３００】
図９を参照して、まずテレビ６は、図７５、図７６、および図７７に示される各スクリプトを取得して（Ｓ１２）、これらのスクリプトを読込む（Ｓ１３）。さらに、読み込んだ各スクリプトの構文を解析し（Ｓ１４）、タイムテーブルを作成する（Ｓ１５）。その後、作成されたタイムテーブルにしたがって、該スクリプトを実行（Ｓ１６）する。
【０３０１】
より具体的には、図７５の１４行および１５行ではＷＷＷサーバ上の画像ファイルが指定されているので、上述のステップＳ１２ではかかる記載にしたがってＷＷＷサーバ４より該当ファイルが取得され、ステップＳ１６での実行時には領域「ｒｉｇｈｔ」および「ｌｅｆｔ」で指定される位置であるサブ領域７４０２，７４０３に表示される。
【０３０２】
また、図７５の１３行には、メイン領域７４０１（ｍａｉｎ）にビデオコンテンツ「ｔｖｃｏｎｔｅｎｔｓ」を再生表示することが記載されており、かかるビデオコンテンツ「ｔｖｃｏｎｔｅｎｔｓ」は、図７６に示されるスクリプトの記述にしたがって決定される、ムービーデータもしくはＴＶチャンネルである。図７６の５行の記述は、図７６に示されるスクリプトが、図７５に示されるスクリプトにおけるｉｄが「ｔｖｃｏｎｔｅｎｔｓ」である部分のメディアデータを指定するものであることを表わしている。
【０３０３】
次に、テレビ６において、このビデオコンテンツ「ｔｖｃｏｎｔｅｎｔｓ」を決定する決定処理の流れを、図７８のフローチャートを用いて説明する。
【０３０４】
図７８を参照して、まず、テレビ６においてスクリプトの描画情報記述部中に「ｖｉｄｅｏ  ｉｄ＝“ｔｖｃｏｎｔｅｎｔｓ”」と指定されていることが解析されると（Ｓ２３０１でＹＥＳ）、図７６に示されるスクリプトの解析結果である番組表情報を参照して、現在時刻に対応する番組情報を取得する（Ｓ２３０２）。
【０３０５】
図７６の第６行〜第１３行には０時から２時までの間はテレビのチャンネル番号４の番組が、第１４行〜第２１行には２時から４時までの間は第２０行に記述されているＵＲＬで指定されるインターネットコンテンツが、ビデオコンテンツ「ｔｖｃｏｎｔｅｎｔｓ」に該当する旨の記述がなされている。そこで、現在時刻が０時から２時までの間の時刻であれば、かかる記述よりビデオコンテンツ「ｔｖｃｏｎｔｅｎｔｓ」はチャンネル番号４のテレビ番組であると定まるので、ステップＳ２３０３においてその番組情報の種別（テレビ番組であること）が判別されて、その判別結果にしたがってテレビ６は放送局５より該当する放送波を受信して所定の位置に表示する（Ｓ２３０４）。
【０３０６】
一方、現在時刻が２時から４時までの間の時刻であれば、かかる記述よりビデオコンテンツ「ｔｖｃｏｎｔｅｎｔｓ」は図７６の第２０行に記述されるＵＲＬで指定されるインターネットコンテンツであると定まるので、ステップＳ２３０３においてその番組情報の種別（インターネットコンテンツであること）が判別されて、その判別結果にしたがってテレビ６はＷＷＷサーバ４より該コンテンツデータを取得して所定の位置に表示する（Ｓ２３０５）。
【０３０７】
なお、図７６に示されるスクリプトでは４時以降の番組記述部分については省略されているが、かかる時間についても同様の記述があり、現在時刻が上述の時刻以外であっても同様の処理が行なわれる。
【０３０８】
以上の処理により、テレビ６において、サブ領域７４０２，７４０３にはＷＷＷサーバ４より取得されたメディアデータが再生表示され、メイン領域７４０１には、図７６に示されるスクリプトを解析して得られる番組表情報に基づいて時間帯に応じて指定される、テレビ番組またはインターネットコンテンツが、放送局５またはＷＷＷサーバ４より取得されて再生表示される。
【０３０９】
また、本実施の形態では、サブ領域７４０２，７４０３にＷＷＷサーバより取得された静止画像データが表示されるものとしたが、かかる領域の表示に関しても、図７５の第１４行および第１５行の記述を第１３行と同様の記述にして図７６に示されるスクリプトの記述と組合わせることで、または、第１、２の実施の形態で説明したような時間に伴うメディアデータの切替えやイベントに関する記述を加えることによって、時間帯に応じてＥＰＧサーバ３、ＷＷＷサーバ４、および放送局５より放送波や番組関連情報などを取得して表示したり、ユーザ操作を受付けるＵＩコンポーネントを表示して該ＵＩコンポーネントに対してユーザ操作がなされた場合に対応するアクションを実行したりするようにしてもよい。
【０３１０】
さらに、かかるアクションとしては、テレビのチャンネル切替えや音量、輝度などの調整、「詳細情報」などのボタンを表示してユーザがこれを押すことによってメイン領域７４０１で再生されている番組に連動した情報を表示するＷＥＢコンテンツへリンク遷移する、あるいは、テレビ６が録画機能を具備しているか録画機器と接続されている場合には録画操作を行なう、画面のスクリーンショットを記録して他のユーザへメールなどにより送信する、電話機能と連動できる場合には所定の番号への発信を行なう、などが挙げられる。
【０３１１】
本実施の形態におけるマルチメディアデータ処理装置であるテレビ６を含んで構成されるデータ通信システムは上述の構成であることから、主にコンテンツ制作業者にとって、テレビ番組やインターネットコンテンツを組合わせたマルチメディアコンテンツデータを容易に作成できるようになるというメリットがある。
【０３１２】
なお、第１〜第３実施の形態、および第２の実施の形態に変形例においては、サーバ２から提供されるテンプレートを図２に構成の具体例が示される携帯電話１またはテレビ６において処理する場合について述べたが、テンプレートを処理する処理装置は携帯電話１のような各機能が一体に構成されてなる装置に限定されるものではない。すなわち、受信機などのテンプレートを取得する取得装置、画像を取得するカメラなどのメディアデータ入力装置、およびテレビジョン受像機などのメディアデータ出力装置など、携帯電話１やテレビ６を構成する各機能が各々独立した装置であってもよい。その場合であっても、相互に専用回線を介した通信あるいは無線通信などを行なってデータや制御信号をやり取りし、データ処理装置において、上述のスクリプトの再生および編集処理を実行して、取得装置で取得させたスクリプトを処理し、メディア入力装置で入力させたメディアデータなどを用いて、マルチメディアコンテンツの編集を行なうことができる。そして、メディアデータ出力装置で取得したテンプレート、あるいはテンプレートを編集したマルチメディアデータを再生させることができる。
【０３１３】
さらに、このようなスクリプトを実行するスクリプト実行方法を、プログラムとして提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）およびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【０３１４】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【０３１５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０３１６】
【図１】本実施の形態におけるデータ通信システムの構成を示す図である。
【図２】データ通信システムに含まれる再生・編集装置である携帯電話１のハードウェア構成の具体例を示すブロック図である。
【図３】携帯電話１の記憶部１３０に記憶されるプログラムと、携帯電話１におけるデータ処理の流れとを示す図である。
【図４】再生・編集エンジンプログラム１３１の機能構成を示すブロック図である。
【図５】スクリプトのデータ構造を模式的に示した図である。
【図６】スクリプトの具体例を示す図である。
【図７】スクリプトの具体例を示す図である。
【図８】起動アプリケーションとそのときに表示させるＵＩとの対応を規定するテーブルの具体例を示す図である。
【図９】携帯電話１における、スクリプトの再生および編集処理を示すフローチャートである。
【図１０】メディアデータ描画処理のタイムテーブルの具体例を示す図である。
【図１１】イベント処理タイムテーブルの具体例を示す図である。
【図１２】ＵＩ割当状況表示タイムテーブルの具体例を示す図である。
【図１３】ステップＳ１８で実行されるイベントに応じた処理を示すフローチャートである。
【図１４】ステップＳ２４における処理内容の決定処理を示すフローチャートである。
【図１５】ステップＳ２５におけるメニュー処理を示すフローチャートである。
【図１６】メニュー画面の具体例を示す図である。
【図１７】ステップＳ２７におけるリンク移動処理を示すフローチャートである。
【図１８】ステップＳ２６におけるアプリケーション実行処理を示すフローチャートである。
【図１９】図７に示されるスクリプトの第２０行を実行時の処理を示すフローチャートである。
【図２０】図７に示されるスクリプトの第２３行を実行時の処理を示すフローチャートである。
【図２１】スクリプト実行時の表示画面の遷移の具体例を示す図である。
【図２２】スクリプト実行時の表示画面の遷移の具体例を示す図である。
【図２３】携帯電話１における、スクリプトのプレビュー処理を示すフローチャートである。
【図２４】ステップＳ６２におけるアプリケーション起動処理を示すフローチャートである。
【図２５】ステップＳ６４におけるデータ取得処理を示すフローチャートである。
【図２６】ステップＳ６６におけるスクリプト書換処理を示すフローチャートである。
【図２７】ステップＳ３３におけるイベントタイムテーブル参照処理を示すフローチャートである。
【図２８】論理シンボルとハードウェアキーとの対応を規定するテーブルの具体例を示す図である。
【図２９】スクリプトの具体例を示す図である。
【図３０】スクリプトの具体例を示す図である。
【図３１】図３０に示されるスクリプトの第１９行を実行時の処理を示すフローチャートである。
【図３２】図３０に示されるスクリプトの第２１行を実行時の処理を示すフローチャートである。
【図３３】スクリプト実行時の表示画面の遷移の具体例を示す図である。
【図３４】携帯電話１における、スクリプトのメール添付処理を示すフローチャートである。
【図３５】携帯電話１における、スクリプトのスライド削除処理を示すフローチャートである。
【図３６】スライド削除処理時のメニュー画面の具体例を示す図である。
【図３７】携帯電話１における、スクリプトのスライド書換禁止処理を示すフローチャートである。
【図３８】ステップＳ９６におけるイベント処理を示すフローチャートである。
【図３９】プレビュー処理時のメニュー画面の具体例を示す図である。
【図４０】プレビュー処理時の画面遷移の具体例を示す図である。
【図４１】テンプレート書換前の表示画面と、テンプレートの書換後の画面遷移との具体例を示す図である。
【図４２】第２の実施例の形態における再生・編集エンジンプログラム１３１の機能構成を示すブロック図である。
【図４３】再生・編集エンジンプログラムにおける処理を示すフローチャートである。
【図４４】ステップＳ１２０１におけるデータ出力処理を示すフローチャートである。
【図４５】カメラ起動アプリケーションによる書換の画面遷移の具体例を示す図である。
【図４６】ステップＳ１１０１における再生・編集処理を示すフローチャートである。
【図４７】スクリプトの具体例を示す図である。
【図４８】第２の実施例の形態の変形例における再生・編集エンジンプログラム１３１の機能構成を示すブロック図である。
【図４９】端末に応じて同じスクリプトであっても選択される機能が異なることを模式的に示す図である。
【図５０】作成側の端末で使用されるスクリプトの具体例を示す図である。
【図５１】シーンごとのサムネイル表示の具体例を示す図である。
【図５２】インラインカメラアプリケーションおよびインラインテキスト入力アプリケーションによる書換の画面遷移の具体例を示す図である。
【図５３】ファイル取得アプリケーションによる書換の画面遷移の具体例を示す図である。
【図５４】複数の処理の中から今から開始する処理の選択を受付けるための選択用の画面の具体例を示す図である。
【図５５】送信したメッセージと、メッセージを作成するのに使用したテンプレートとの対応を保持するテーブルの具体例を示す図である。
【図５６】スクリプトの参照情報で参照されるメディアデータと取得データとをイベントの時間パラメータ値の時点で合成する例を示す図である。
【図５７】取得データをイベントの時間パラメータ値の時点に書込む例を示す図である。
【図５８】切替えテーブルの具体例を示す図である。
【図５９】ステップＳ１１１０での判定処理を示すフローチャートである。
【図６０】携帯電話１に格納されるデータ取得プログラムと携帯電話１がサポートするメディアタイプとの対応を記録するテーブルの具体例を示す図である。
【図６１】作成側の端末で使用されるスクリプトの具体例を示す図である。
【図６２】ステップＳ１２０１でのデータ出力処理を示すフローチャートである。
【図６３】アクション管理テーブルの具体例を示す図である。
【図６４】シーンイベントテーブルの具体例を示す図である。
【図６５】ステップＳ１２０５での変更処理を示すフローチャートである。
【図６６】ステップＳ１０２での画像撮影アプリケーション起動処理を示すフローチャートである。
【図６７】スクリプト再生の再開時点を決定する処理を示すフローチャートである。
【図６８】スライド編集が許可されるか禁止されるかを記述したスクリプトの具体例を示す図である。
【図６９】ステップＳ４２でスライドの編集を実行する許可を判定する処理を示すフローチャートである。
【図７０】スクリプトを描画情報記述部とユーザナビゲート記述部とに分割して構成する場合の、描画情報記述部を含むスクリプトの具体例を示す図である。
【図７１】スクリプトを描画情報記述部とユーザナビゲート記述部とに分割して構成する場合の、ユーザナビゲート記述部を含むスクリプトの具体例を示す図である。
【図７２】スクリプトを実行した際の画面遷移の具体例を示す図である。
【図７３】２つのスクリプトを関係付ける記述を含むスクリプトの具体例を示す図である。
【図７４】第３の実施の形態におけるマルチメディアデータ処理装置であるテレビを含んで構成されるデータ通信システムの構成を示す図である。
【図７５】第３の実施の形態における、描画情報を記述する描画情報記述部を含むスクリプトの具体例を示す図である。
【図７６】第３の実施の形態における、時間帯に応じた番組情報を記述する番組表情報記述部を含むスクリプトの具体例を示す図である。
【図７７】２つのスクリプトを関係付ける記述を含むスクリプトの具体例を示す図である。
【図７８】受信・再生すべきコンテンツの決定処理の流れを示すフローチャートである。
【図７９】スクリプトがＳＭＩＬで記述されたものである場合の再生および編集処理の流れを示すフローチャートである。
【図８０】スクリプトの解析結果を格納するデータ構造の具体例を示す図である。
【図８１】スクリプトの解析結果の具体例を示す図である。
【図８２】更新されたスクリプトの解析結果の具体例を示す図である。
【図８３】メディアデータを追加する書換処理を施したスクリプトの具体例を示す図である。
【図８４】メディアデータを追加する書換処理を施した後に、さらに編集機能を削除したスクリプトの具体例を示す図である。
【図８５】スクリプト実行時の表示画面の遷移の具体例を示す図である。
【符号の説明】
【０３１７】
１  携帯電話、２  ナビゲーションフレーム提供サーバ、３  ＥＰＧサーバ、４  ＷＷＷサーバ、５  放送局、６  テレビ、１１０  通信部、１２０  制御部、１３０  記憶部、１３１  再生・編集エンジンプログラム、１３２  ＵＩ内容表示プログラム、１３３  画像撮影プログラム、１３４  画像データ表示再生プログラム、１３５  音データ再生プログラム、１３６  音声データ録音プログラム、１３７  アニメデータ表示再生プログラム、１３８  テキストデータ表示再生プログラム、１３９  テキスト編集プログラム、１４０  入出力部、１４２  キーコード入力デバイス、１４４  ディスプレイ、１４６  マイクロフォン、１４８  スピーカ、１４９  カメラ、１５０  ＧＰＳ、１５１  ＷＷＷブラウザプログラム、１５２  メールプログラム、１５３  通話プログラム、１５４  位置取得プログラム、１５５  アドレス帳プログラム、１５６  ファイル取得プログラム、１０００  テンプレート記憶部、１００１  選択部、１００２  スクリプト・データ一時記憶部、１００３  スクリプト実行部、１００４  ユーザ変更データ判定、１００５，１０１２  端末機能選択部、１００６  端末機能実行部、１００７  データ変更部、１００８  スクリプト・データ変更確定部、１００９  スクリプト・データ出力部、１０１０  出力スクリプト・データ記憶部、１０１１  データ埋込部、１０１３  アクション決定部、１０１４  アクション実行部、１０１５  受信部、１３１１  スクリプト読込部、１３１２  構文解析部、１３１３  実行制御部、１３１４  時間管理部、１３１５  イベント管理部、１３１６  スクリプト書出部、７４０１  メイン領域、７４０２，７４０３  サブ領域。
【図１】
2007295552.tif 000003
【図２】
2007295552.tif 000004
【図３】
2007295552.tif 000005
【図４】
2007295552.tif 000006
【図５】
2007295552.tif 000007
【図６】
2007295552.tif 000008
【図７】
2007295552.tif 000009
【図８】
2007295552.tif 000010
【図９】
2007295552.tif 000011
【図１０】
2007295552.tif 000012
【図１１】
2007295552.tif 000013
【図１２】
2007295552.tif 000014
【図１３】
2007295552.tif 000015
【図１４】
2007295552.tif 000016
【図１５】
2007295552.tif 000017
【図１６】
2007295552.tif 000018
【図１７】
2007295552.tif 000019
【図１８】
2007295552.tif 000020
【図１９】
2007295552.tif 000021
【図２０】
2007295552.tif 000022
【図２１】
2007295552.tif 000023
【図２２】
2007295552.tif 000024
【図２３】
2007295552.tif 000025
【図２４】
2007295552.tif 000026
【図２５】
2007295552.tif 000027
【図２６】
2007295552.tif 000028
【図２７】
2007295552.tif 000029
【図２８】
2007295552.tif 000030
【図２９】
2007295552.tif 000031
【図３０】
2007295552.tif 000032
【図３１】
2007295552.tif 000033
【図３２】
2007295552.tif 000034
【図３３】
2007295552.tif 000035
【図３４】
2007295552.tif 000036
【図３５】
2007295552.tif 000037
【図３６】
2007295552.tif 000038
【図３７】
2007295552.tif 000039
【図３８】
2007295552.tif 000040
【図３９】
2007295552.tif 000041
【図４０】
2007295552.tif 000042
【図４１】
2007295552.tif 000043
【図４２】
2007295552.tif 000044
【図４３】
2007295552.tif 000045
【図４４】
2007295552.tif 000046
【図４５】
2007295552.tif 000047
【図４６】
2007295552.tif 000048
【図４７】
2007295552.tif 000049
【図４８】
2007295552.tif 000050
【図４９】
2007295552.tif 000051
【図５０】
2007295552.tif 000052
【図５１】
2007295552.tif 000053
【図５２】
2007295552.tif 000054
【図５３】
2007295552.tif 000055
【図５４】
2007295552.tif 000056
【図５５】
2007295552.tif 000057
【図５６】
2007295552.tif 000058
【図５７】
2007295552.tif 000059
【図５８】
2007295552.tif 000060
【図５９】
2007295552.tif 000061
【図６０】
2007295552.tif 000062
【図６１】
2007295552.tif 000063
【図６２】
2007295552.tif 000064
【図６３】
2007295552.tif 000065
【図６４】
2007295552.tif 000066
【図６５】
2007295552.tif 000067
【図６６】
2007295552.tif 000068
【図６７】
2007295552.tif 000069
【図６８】
2007295552.tif 000070
【図６９】
2007295552.tif 000071
【図７０】
2007295552.tif 000072
【図７１】
2007295552.tif 000073
【図７２】
2007295552.tif 000074
【図７３】
2007295552.tif 000075
【図７４】
2007295552.tif 000076
【図７５】
2007295552.tif 000077
【図７６】
2007295552.tif 000078
【図７７】
2007295552.tif 000079
【図７８】
2007295552.tif 000080
【図７９】
2007295552.tif 000081
【図８０】
2007295552.tif 000082
【図８１】
2007295552.tif 000083
【図８２】
2007295552.tif 000084
【図８３】
2007295552.tif 000085
【図８４】
2007295552.tif 000086
【図８５】
2007295552.tif 000087