以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。
[第1の実施の形態]
図1は、第1の実施の形態におけるマルチメディアデータ処理装置を含むデータ通信システムの構成を示す図である。図1を参照して、本実施の形態におけるデータ通信システムは、スクリプト言語で記述されているテンプレートを提供するテンプレート提供サーバ(以下、単にサーバと言う)2と、提供されたテンプレートの再生および編集を行なう、マルチメディアデータ処理装置である再生・編集装置1とを含んで構成され、サーバ2と再生・編集装置1とは、インターネットあるいは公衆回線網あるいは放送網を介して通信を行なう。また、図1には示されていないものの、サーバ2と再生・編集装置1とはLAN(Local Area Network)等の専用回線を介して通信を行なってもよいし、無線通信を行なってもよい。なお、図1に示されるように、再生・編集装置1は携帯電話やPDA(Personal Digital Assistants)やパーソナルコンピュータ等が該当し、以下の説明においては、再生・編集装置1が携帯電話1であるものとして説明を行なう。
なお、マルチメディアデータ処理装置である再生・編集装置1としては、情報通信機器、映像・音響機器、家電機器、およびアミューズメント機器などが該当する。
また、情報通信機器としては、パーソナルコンピュータやホームサーバなどの情報機器や電話機などの通信機器、中でも特に、携帯電話やPDA(Personal Digital Assistants)やノート型、装着型コンピュータなどの携帯型情報通信機器が該当する。
また、映像・音響機器としては、画像記録機器であるデジタルスチルカメラ、映像記録機器であるデジタルビデオカメラやHDD(Hard Disk Drive)レコーダ、DVD(Digital Versatile Disk)レコーダ、ビデオテープレコーダ、映像再生機器であるDVDプレーヤやビデオプレーヤ、音声記録機器であるボイスレコーダ、音楽記録・再生機器であるシリコンオーディオレコーダまたはプレーヤ、MD(Mini Disk)レコーダまたはプレーヤ、CD(Compact Disk)レコーダまたはプレーヤ、放送データ受信、再生機器であるテレビジョン受像機やラジオなどが該当する。
また、家電機器としては、冷蔵庫、洗濯機、エアコンディショナ、掃除機、空気清浄機、および電子レンジなどの機器が該当する。
また、アミューズメント機器としては、家庭用もしくは携帯型ゲーム機器などが該当する。
また、マルチメディアデータ処理装置である再生・編集装置1としては、上記の情報処理、通信、画像記録・再生、映像記録・再生、音声記録・再生、音楽記録・再生、放送データ受信・再生といった機能の複数を有する機器であってもよく、その他、上記に挙げたもの以外であっても、マルチメディアデータの再生もしくは編集が可能な機器であればどのような形態であっても構わない。
本実施の形態においては、特に再生・編集装置1が携帯電話1である場合について詳説する。
なお、本実施の形態においてメディアデータとは、画像(静止画)データ、動画データ、音声データ、音楽データ、テキストデータ、およびアニメーションデータのいずれか、あるいは外部より受信するストリーミングデータや放送データ、もしくはそれらを統合してなる下記のマルチメディアデータを指す。
また、本実施の形態においてマルチメディアデータとは、1つ以上のメディアデータを統合してなるデータを指し、データの形式は人間に可読なテキスト形式で記述されてもよいし、人間が直接読めないバイナリ形式であってもよい。
また、本実施の形態においてスクリプトとは、上述のマルチメディアデータを表示、再生、および編集するために、マルチメディアデータが含む各メディアデータに対して画面上のレイアウト情報、時間軸上の再生開始、終了タイミングや、再生速度、音量などの属性を規定する記述形式を指す。また、外部アプリケーションの起動、装置内外からの情報取得、他のマルチメディアデータへのリンク遷移などの制御情報も、スクリプト中に記述することが可能である。
また、本実施の形態においてテンプレートとは、上述のスクリプトを含んで構成される、再生あるいは編集可能なマルチメディアデータであって、ユーザ操作などをきっかけとして、該スクリプト内のメディアデータを参照する部分の記述を書換えることにより、メディアデータの追加、変更、および削除を行なうことができるマルチメディアデータの一形態を指す。テンプレートには、スクリプトから参照されるメディアデータを1つ以上含んでもよい。
次に、図2に、本データ通信システムに含まれる再生・編集装置である携帯電話1のハードウェア構成について具体例を示す。
図2を参照して、本実施の形態のデータ通信システムに含まれる携帯電話1は、ユーザ
とのインタフェースである入出力部140と、CPU(Central Processing Unit)等から構成されて、この携帯電話1の全体を制御する制御部120と、他の装置と通信するための通信部110と、ROM(Read Only Memory)やRAM(Random Access Memory)などから構成されて、制御部120において実行されるプログラムや、そのプログラムの中間データおよび他のコンピュータから受信したデータ等を記憶する記憶部130とを含んで構成される。
さらに上述の入出力部140は、「1」、「2」などの数字ボタンおよび「R」、「L」などの方向ボタンなどを含むキーコード入力デバイス142と、ユーザに情報を表示するLCD(Liquid Crystal Display)などのディスプレイ144と、音声を入力するマイクロフォン146と、音声を出力するスピーカ148と、画像を撮影して入力するカメラ149とを含む。
また、制御部120は、その内部にタイマを含む。
このような携帯電話1において、ユーザがサーバ2から得たテンプレートの再生および編集を行なう処理は、携帯電話1のハードウェア、記憶部130に記憶され制御部120により実行されるソフトウェアおよびテンプレートにより実現される。なお、図2に示した携帯電話1自体の動作は周知であるので、ここではその詳細な説明は省略する。
また、本データ通信システムに含まれるサーバ2は、一般的なパーソナルコンピュータ等で構築されるサーバであり、その構成についてここでの詳細な説明は行なわない。
次に、図3に、携帯電話1の記憶部130に記憶されるプログラムと、携帯電話1におけるデータ処理の流れとを示す。図3に示されるデータ処理の流れは、制御部120が記憶部130に記憶される各プログラムを実行することによって、携帯電話1において実現される。すなわち、通信部110でサーバ2から受信したテンプレートは、制御部120が記憶部130に記憶されるプログラムを実行することによって再生および編集処理がなされる。
具体的には、図3を参照して、始めに、制御部120は、再生・編集エンジンプログラム131を実行させることで、通信部110において受信したスクリプトとメディアデータとを含むテンプレートを処理する。なお、ここでの再生・編集エンジンプログラム131の機能構成については後述する。
次に、制御部120は、再生・編集エンジンプログラム131での処理結果に基づいて、UI(User Interface)内容表示プログラム132を実行させる。UI内容表示プログラム132を実行させてテンプレートを処理することで、テンプレートにおけるUIの内容をディスプレイ144に表示させる。
また、制御部120は、再生・編集エンジンプログラム131での処理結果に基づいて、画像撮影プログラム133を実行させ、カメラ149からの画像の入力とキーコード入力デバイス142からの各種指示とを受付ける。また、動画を撮影する際には、さらにマイクロフォン146からの音声の入力も受付ける。
また、制御部120は、再生・編集エンジンプログラム131での処理結果に基づいて、画像データ表示再生プログラム134を実行させ、テンプレートに含まれる画像データをディスプレイ144上で再生させる。また、その画像データに音声も含まれる場合には、その音声をスピーカ148で再生させる。
また、制御部120は、再生・編集エンジンプログラム131での処理結果に基づいて、音声データ再生プログラム135を実行させ、テンプレートに含まれる音声データをスピーカ148で再生させる。
また、制御部120は、再生・編集エンジンプログラム131での処理結果に基づいて、音声データ録音プログラム136を実行させ、マイクロフォン146からの音声の入力とキーコード入力デバイス142からの各種指示とを受付ける。
また、制御部120は、再生・編集エンジンプログラム131での処理結果に基づいて、アニメデータ表示再生プログラム137を実行させ、テンプレートに含まれるアニメデータをディスプレイ144上で再生させる。
また、制御部120は、再生・編集エンジンプログラム131での処理結果に基づいて、テキストデータ表示再生プログラム138を実行させ、テンプレートに含まれるテキストデータをディスプレイ144上で再生させる。
また、制御部120は、再生・編集エンジンプログラム131での処理結果に基づいて、テキスト編集プログラム139を実行させ、キーコード入力デバイス142からのテキスト情報と各種指示とを受付ける。
また、制御部120は、再生・編集エンジンプログラム131での処理結果に基づいて、WWW(World Wide Web)ブラウザプログラム151を実行させ、WWWコンテンツを再生する。
また、制御部120は、再生・編集エンジンプログラム131での処理結果に基づいて、WWWブラウザプログラム151を実行させ、通信部110を介してサーバ2からデータを取得する。
また、制御部120は、再生・編集エンジンプログラム131での処理結果に基づいて、メールプログラム152を実行させ、キーコード入力デバイス142からのテキスト情報と各種指示と受付け、メールを送信させる。
また、制御部120は、再生・編集エンジンプログラム131での処理結果に基づいて、通話プログラム153を実行させ、通話を開始させる。
また、制御部120は、再生・編集エンジンプログラム131での処理結果に基づいて、位置取得プログラム154を実行させ、GPS(Global Positioning System)150から当該端末の現在位置を取得する。
また、制御部120は、再生・編集エンジンプログラム131での処理結果に基づいて、アドレス帳プログラム155を実行させ、記憶部130に記憶されたメールアドレスや電話番号を取得する。
また、制御部120は、再生・編集エンジンプログラム131での処理結果に基づいて、ファイル取得プログラム156を実行させ、記憶部130に記憶された特定のメディア型のコンテンツデータを取得する。
また、制御部120は、上述の画像撮影プログラム132、音声データ録音プログラム136、テキスト編集プログラム139、WWWブラウザプログラム151、位置取得プログラム154、アドレス帳プログラム155、およびファイル取得プログラム156を実行させることによって受付けた情報に基づいて、再生・編集エンジンプログラム131を実行させ、スクリプトとメディアデータとを含むテンプレートを処理する。
さらに、上述の再生・編集エンジンプログラム131の機能構成について図4に示す。制御部120が記憶部130に記憶される再生・編集エンジンプログラム131を実行することで、図4に示される各機能が携帯電話1において実現される。
図4を参照して、始めに、スクリプト読込部1311は、通信部110において受信したテンプレートに含まれるスクリプトを読込む。そして、スクリプト読込部1311は、読込んだスクリプトを構文解析部1312に渡す。
次に、構文解析部1312は、スクリプト読込部1311から渡されたスクリプトの構文を解析する。そして、構文解析部1312は、解析結果を実行制御部1313と時間管理部1314とに渡す。
次に、時間管理部1314は、構文解析部1312から渡された解析結果に基づいて、タイムテーブルを作成する。そして、時間管理部1314は、作成したタイムテーブルを実行制御部1313に渡す。
また、イベント管理部1315は、イベントの発生を検出する。そして、イベント管理部1315は、検出結果を実行制御部1313に渡す。
次に、実行制御部1313は、時間管理部1314から渡されたタイムテーブルと、イベント管理部1315から渡されたイベント発生の検出結果と、構文解析部1312から渡された解析結果とに基づいて、スクリプトを実行する。また、実行制御部1313は、イベント管理部1315から渡されたイベント発生の検出結果に基づいて、スクリプト書出部1316にスクリプトの書換えを指示する。
スクリプト書出部1316は、実行制御部1313からの指示に基づいて、スクリプトを書換え、書換えたスクリプトを実行制御部131に渡す。そして、書換えられたスクリプトは、実行制御部1313で実行される。
なお、本実施の形態においては、サーバ2から提供されたテンプレートを携帯電話1において処理する場合について説明するが、テンプレートに含まれるスクリプトおよびメディアデータの一部またはすべては携帯電話1の記憶部130に記憶されているものであってもよく、その場合、図3あるいは図4に示される各部は、記憶部130から読出して取得したスクリプトまたはメディアデータを処理する。
次に、サーバ2から携帯電話1に提供され、携帯電話1において処理されるテンプレートに含まれるスクリプトについて説明する。
図5は、スクリプトのデータ構造を模式的に示した図である。図5を参照して、本実施の形態における携帯電話1で処理されるスクリプトは、描画情報記述部分とユーザナビゲート情報記述部分とからなることを特徴とする。
描画情報記述部分には、画像(静止画)データや、動画データや、音声データや、音楽データや、テキストデータや、アニメーションデータや、ストリーミングデータや、放送データなどのメディアデータへの参照情報(ファイル名やURL(Uniform Resource Locators)や放送局の周波数やチャネルなど)が記述される。
なお、RFC2397で規定されているデータURLなどの記述形式を利用することによって、描画情報記述部分に、メディアデータへの参照情報ではなくメディアデータの実体そのものを記述してもよい。
また、ユーザナビゲート情報記述部分には、リンク移動やアプリケーションの起動やヘルプ表示などを実行させるスクリプト定義入力イベントと、アクション(動作)との対応付け、および実行条件とが記述される。
上記アクションの例としては、カメラ起動による動画あるいは静止画の撮像、テキストエディタ起動によるユーザ入力テキストデータの取得、ボイスレコーダ起動による音声データの取得、ファイル選択アプリケーション起動によるメディアデータファイルの取得、機器の内部または外部からの時刻情報、位置情報、アドレス帳、スケジュール情報、その他の情報の自動取得、WWWブラウザやメーラなど機器のアプリケーションの起動、電話発呼やメロディ再生やライト点灯などの機器固有機能の呼出し、あるいは他のスクリプト実行へのリンク遷移、あるいはテレビのチャンネル切替え、エアコンの温度設定など、他の機器を制御する制御信号の発信、などが挙げられる。
さらに、描画情報記述部分とユーザナビゲート情報記述部分との両方に、時系列的な記述を含むことを特徴とする。すなわち、描画情報記述部分には時系列的にメディアデータへの参照情報が記述され、ユーザナビゲート情報記述部分には時系列的にイベントが記述されることを特徴とする。
このような構成とすることで、スクリプトには、画像(静止画)データや、音楽データや、テキストデータや、アニメーションデータや、ストリーミングデータや、放送データなどのメディアデータが時系列的に次々に再生されるようなマルチメディアデータを記述することができる。
さらに、時系列的にイベントが記述できることにより、スクリプトを再生させながら、所定の時刻や時間帯において、たとえばカメラの起動などのイベントを実行させることができる。さらに、このようなカメラ起動イベントを、所定の画像と置換するアクションに対応付けるように記述することにより、上述の所定の画像が表示されるべき時間帯にユーザが所定のキーを押下すると、スクリプトの再生を一旦停止して直ちにカメラが起動され、ここで撮影操作を実行すると、スクリプトの再生に復帰し、今撮影された画像が所定の位置に表示される、というようなアプリケーションを実現できる。
以上のように、時系列に沿って起動するイベントとそれに対応するアクションとをスクリプト内で明示的に規定することによって、携帯端末などにおいてカメラやマイク、住所録などの機能を利用して複数のメディアデータが時系列に再生されるようなマルチメディアデータを作成する場合でも、操作手順を簡略化することができ、ユーザの利便性が高まる。
図6および図7に、具体的なスクリプトを示して説明する。
図6を参照して、始めに、スクリプトのヘッダ部分(第2行〜第16行)の第12行〜第15行に、アクションの内容が定義されている。すなわち、図6を参照して、第12行〜第15行には、アクションの内容として、アクションごとの固有の識別情報(action id)と、そのアクションの実行形式(type)と、アクション内容(dest)と、アクションの実行領域(Image)とが定義されている。
より具体的には、図6の第12行には、識別情報act_movieであるアクションは、Image領域に表示されている情報と、movieに格納されているファイルとを置換える(replace)内容である旨が定義されている。
また、図6の第5行には、携帯電話1においてスクリプトをどのように使用するかについてのヒントが記述されている。すなわち、スクリプトは、コンテンツ編集操作をナビゲートするテンプレート(template)である旨が定義されている。このほかに、編集操作のナビゲートはせず閲覧専用のコンテンツ(contents)である旨を定義することができる。
次に、図7を参照して、スクリプトの本体(ボディ)部分(第17行〜第40行)の第18行〜第39行の段落には、並列に実行されるメディアデータやアクションが記述されている。さらに、第19行および第37行には、これらのメディアデータやアクションが時系列的に実行される旨が記述されている。さらに、第20行〜第25行、第26行〜第31行、および第32行〜第36行の各段落には、各々、0秒〜8秒目、8秒〜15秒目、および15秒〜19秒目に実行されるメディアデータやアクションが記述されている。
より具体的には、図7の第21行〜第23行には、0秒〜8秒目に、各々、画像データ、テキストデータ、および音声データを再生させる旨が記述されており、第24行には、「ムービー起動」のUIを表示させ、selectキーが操作された場合に、識別情報act_movieであるアクションを実行させる旨が記述されている。第30行には、「音声録音」のUIを表示させ、2秒後にタイマから通知を受け、識別情報act_speechであるアクションを実行させる旨が記述されている。なお、第28行から第30行において、「src=」に続いて記述される名前はイベントの発生元を表わすソースIDである。UIの表示については、図7に示されるようにスクリプトに記述されていてもよいし、図8に示されるような、起動アプリケーションとそのときに表示させるUIとの対応を規定するテーブルが、予め携帯電話1の記憶部130に格納され、携帯電話1の制御部120が再生・編集エンジンプログラム131を実行する際に自動的に当該テーブルを読出して表示されるものであってもよい。
このように、本実施の形態における携帯電話1で処理されるスクリプトは、時系列的に実行される、描画情報とユーザナビゲート情報とを記述する描画情報記述部分とユーザナビゲート情報記述部分とから構成されることを特徴とする。
なお、本実施の形態においては、人間に可読なテキスト形式のスクリプトを携帯電話1において処理する場合について説明するが、スクリプトは人間が直接読めないバイナリ形式であってもよい。
また、本実施の形態においては、ひとまとまりのスクリプトを携帯電話1において処理する場合について説明するが、スクリプトをメディアデータへの参照情報を含む描画情報記述部とユーザナビゲート情報記述部とに分割して構成し、メディアデータを置換えまたは挿入する際には、メディアデータへの参照情報を含む描画情報記述部が記述されたスクリプトのみを編集する構成であってもよい。
具体的に、図70および図71に、描画情報記述部とユーザナビゲート情報記述部とに分割して構成された各スクリプトであって、描画情報記述部が記述されたスクリプトと、ユーザナビゲート情報記述部が記述されたスクリプトとを示す。
図70に示される描画情報記述部が記述されたスクリプトには、具体的に、スクリプト実行開始0秒〜2秒の間は静止画top.jpgとテキストtop.txtとが表示され、スクリプト実行開始2秒〜8秒の間は静止画image.jpg、音楽データbgm.amr、テキストmessage.txtとが再生されることが記述されている。
また、図71に示されるユーザナビゲート情報記述部が記述されたスクリプトは、図70に参照先として参照情報が記述されているメディアデータのうち、image.jpgとmessage.txtとを置換え、挿入する機能を実現するスクリプトである。
上述の図70および図71に示されるスクリプトを本実施の形態にかかる携帯電話1で構文解析して実行したときの画面表示の具体例を、図72に示す。まず、図72(A)に示されるように、図71の記述にしたがって、「SELECT PHOTO」の文字列と共に画像ファイル選択フォーム、および「ENTER BIRTHDAY MESSAGE」の文字列と共に文字列入力フォームが表示される。図72(A)に示される画面においてユーザが画像ファイルを選択し、テキストを入力した状況が図72(B)に示される。図72(B)に示される画面において「send」ボタンが選択実行されると、今選択された画像ファイルがimage.jpgとして、入力されたテキストがmessage.txtとしてテンプレートに組込まれ、再生実行される。すなわち、当該スクリプトの再生開始から0秒〜2秒の間は、図72(C)に示されるように静止画top.jpgとテキストtop.txtとが表示され、続いて開始2秒〜8秒の間は、図72(D)に示されるようにimage.jpgとmessage.txtとが表示されて、同時に音楽データbgm.amrが再生される。図72(D)で表示されるimage.jpgはユーザが図72(B)に示される画面で選択した画像であり、message.txtは図72(B)に示される画面で入力したテキストである。
このように、スクリプトを描画情報記述部とユーザナビゲート記述部とに分割して構成することで、後述するような、スクリプトからユーザナビゲート記述部を削除してメールに添付して送信する場合に、描画情報記述部のみを添付することにすればよく、スクリプトを解析しどの部分を削除すべきかを考慮する処理を省略できるというメリットがある。
なお、描画情報記述部を含むスクリプトとユーザナビゲート記述部を含むスクリプトとの関係は、たとえば図73に示されるスクリプトのように、両スクリプトを結びつける記述部を含むスクリプトを別に用意し、これらのスクリプトと、描画情報記述部を含むスクリプトとから参照されるメディアデータ群とのセットをテンプレートとして扱うことにするのが好ましい。
また、描画情報記述部を含むスクリプト内に、対応するユーザナビゲート記述部を含むスクリプトへのリンクを記述することによって、描画情報記述部を含むスクリプトを再生させながら、所定のタイミングでユーザナビゲート記述部を含むスクリプトの実行へ移り、図72(A)のような入力画面へ遷移させることもできる。
次に、本実施の形態における携帯電話1での、スクリプトの再生および編集処理について図9のフローチャートを用いて説明する。図9のフローチャートに示される処理は、携帯電話1の制御部120が、図4に構成が示される再生・編集エンジンプログラム131を記憶部130から読出して実行することによって実現される。
図9を参照して、始めに、ステップS11において初期化を実行した後、ステップS12において、通信部110で、インターネットを介してサーバ2よりスクリプトを取得する。
次に、ステップS13において、制御部120は、再生・編集エンジンプログラム131を実行し、スクリプト読込部1311で取得したスクリプトを読込む。
次に、ステップS14において、構文解析部1312は、読込んだスクリプトを構文解析する。なお、ここでの構文解析の方法については、本発明において限定されるものでなく、一般的な構文解析方法であってよい。
次に、ステップS15において、時間管理部1314は、構文解析結果に基づいて図10〜図12に示すようなタイムテーブルを作成する。図10は、時間管理部1314が、図6および図7に示されるスクリプトの描画情報記述部分に基づいて作成したメディア描画処理のタイムテーブルの具体例を示す図であり、図11および図12は、図6および図7に示されるスクリプトのユーザナビゲート情報記述部分に基づいて作成したイベント処理タイムテーブルおよびUI割当状況表示タイムテーブルの具体例である。すなわち、ステップS15において、時間管理部1314は、ステップS14で解析されたスクリプトに基づいて、スクリプト実行時間とそのとき再生されるメディアデータとの対応と、スクリプト実行時間とそのとき発生したイベントに応じた処理との対応と、スクリプト実行時間とそのときに操作されるUIの割当との対応とを、図10〜図12に示すようなタイムテーブル形式で作成する。
具体的には、図10に示すメディア描画処理のタイムテーブルは、図6および図7に示されるスクリプトの描画情報記述部分に基づいて、スクリプト実行開始0秒〜8秒の間は、動画1(FirstImage.mpg)と、テキスト1(FirstText.txt)と、音楽1(FirstSound.smf)とが再生され、スクリプト実行開始8秒〜15秒の間は、テキスト2(SecondText.txt)が再生され、スクリプト実行開始15秒〜19秒の間は、静止画3(ThirdImage.jpg)と、テキスト3(ThirdText.txt)と、音楽3(ThirdSound.smf)とが再生されることを示すタイムテーブルである。
なお、スクリプトに含まれるテキストやユーザが入力するテキストが、他の画像や映像と同じ領域に重ねて表示される場合には、該テキストの視認性を高めるために、色やフォントなどの属性を自動的に調整されることが好ましい。このような自動調整の最も単純な実施は、具体的な色属性の表現がRGBの3値の組による場合、テキストと背景との色属性の距離√((ΔR)2+(ΔG)2+(ΔB)2)が所定のしきい値よりも小さい場合に、背景色の色属性の補色(背景色のRGBの各成分値の1の補数をRGB成分としてもつ色)をテキストの色属性とすることで得られる。
また、図11に示すイベント処理タイムテーブルは、図6および図7に示されるスクリプトのユーザナビゲート情報記述部分に基づいて、スクリプト実行開始0秒〜8秒の間にSelectキーが操作されると画像撮影プログラム133である動画撮影アプリケーションが起動し、スクリプト実行開始8秒〜15秒の間にSelectキーが操作されると、たとえば画像撮影プログラム133である動画撮影アプリケーションと、テキスト編集プログラム139である文字入力アプリケーションとの中から1つを選択させる画面をディスプレイ144に表示させ、そこで選択されたプログラムが起動し、スクリプト実行開始8秒〜15秒の間にタイマにより音声データ録音プログラム136である音声入力アプリケーションを起動することを示すタイムテーブルである。
また、図12に示すUI割当状況表示タイムテーブルは、図6および図7に示されるスクリプトのユーザナビゲート情報記述部分に基づいて、スクリプト実行開始0秒〜8秒の間には、Selectキーが操作されると画像プログラム133である動画撮影アプリケーションが起動することをユーザに示すために、ディスプレイ144にSelectキーの説明として「ムービー撮影」と表示させ、スクリプト実行開始8秒〜15秒の間には、Selectキーが操作されると画像撮影プログラム133である動画撮影アプリケーションと、テキスト編集プログラム139である文字入力アプリケーションとのいずれかが起動することをユーザに示すために、ディスプレイ144にSelectキーの説明として「カメラ撮影」、および「テキスト入力」などと表示させ、スクリプト実行開始8秒〜15秒の間には、タイマにより音声データ録音プログラム136である音声入力アプリケーションを起動することをユーザに示すために、ディスプレイ144にタイマによる起動の説明として「録音」と表示させることを示すタイムテーブルである。
次に、ステップS16において、実行制御部1313は、構文解析結果およびタイムテーブルに基づいて、スクリプトを実行する。また、スクリプト実行時には、実行制御部1313は、UI割当状況表示タイムテーブルに基づいて、スクリプト実行時間に伴って変化するUIをディスプレイ144に表示させるよう、UI内容表示プログラム132に指示する。なお、ここでのスクリプトの実行処理については、後に、図6および図7に示されるスクリプトに基づく具体例を挙げて説明する。
そして、ステップS17において、イベント管理部1315がイベントの発生を検出すると(S17でYES)、ステップS18において、実行制御部1313で、当該イベントに応じた処理を実行する。なお、ここでのイベントに応じた処理については、後にサブルーチンを挙げて説明する。
上述のステップS17で検出されるイベントは、主に、スクリプトの実行が時系列に実行する際の実行点の終端に到達した終端到達イベントなどであるシステムイベントと、メニュー表示を指示するなどの固定的な処理を実行させる固定入力イベントと、リンク移動やアプリケーションの起動やヘルプの表示などを指示するスクリプト定義入力イベントとの3つに分けられる。具体的には、固定入力イベントとスクリプト定義入力イベントとは、スクリプト実行中の、キーコード入力デバイス142からのユーザの指示入力などが該当する。そのため、スクリプト実行中に、キーコード入力デバイス142から指示入力などの何らかのイベントが発生するまで、スクリプトの実行が継続される。
以上で、携帯電話1におけるスクリプトの再生および編集処理を終了する。
なお、上記再生および編集処理は、処理の途中で通話プログラムなどに割込まれたり、またユーザの都合や電池の消耗により中断されたりした場合、その時点での再生および編集時点と変更中のスクリプトとを記憶部130に保存して処理を中断し、後に再開する際には、記憶部130から保存された再生および編集時点と変更中のスクリプトとを読込んで中断前の再生および編集時点から、復帰できるように構成されていることが好ましい。
さらに、スクリプトがSMIL(Synchronized Multimedia Integration Language)で記述されたものである場合の再生および編集処理について、具体的に図79のフローチャートを用いて説明する。
図79を参照して、始めに、携帯電話1において、テンプレートに含まれるSMILで記述されたスクリプトが解析(parse)されてデータ構造に格納される(S2401)。
ステップS2401での解析結果を格納するデータ構造の具体例を図80に示す。図80(B)に示されるように、ステップS2401では、スクリプトに参照情報が記載されて参照されている各メディアデータについて、メディアの種別やファイル名、表示領域等の属性値を保持するDisplayContentクラスのインスタンスが作成され、インスタンスの集合が図80(A)に示されるDisplaySchedulerに統合管理される。
さらに、ステップS2401でのスクリプトの解析結果を図81に示す。図81は具体的に図6および図7に示されるスクリプトの解析結果を示しており、スクリプトの解析結果として、DisplayContentクラスのインスタンスが11個作られている。この数は、かかるスクリプトに最終的に記載される参照情報で参照されるメディアデータの個数である。
なお、かかる11個のインスタンスのうち、インスタンス5,6,7に指定されるメディアデータのファイル(Mediafile)は空であり、図6および図7に示される初期状態では、該当するメディアデータが参照されていない状態であることを示している。後に説明する編集処理においてメディアデータの指定を受付けることによって参照情報が記載され、メディアデータが参照される。または、所定のファイルを指定することで、ガイダンス表示を行なうこともできる。たとえば、インスタンス5を例に挙げると、アクション内容がカメラ起動による撮像および挿入であることが解析されているので、カメラのイラスト画像(Camera.jpg)を指定することで、カメラのイラスト画像がガイダンス表示される。また、より簡単には、EvDescの値(「カメラ起動」など)である文字列をガイダンス表示として画面の最下行に表示させてもよい。
そして、図80に示されたようなデータ構造をたどりながら、該スクリプトが再生される(S2402)。
以降に説明するようなメディアデータの挿入や入替処理が行なわれた場合(S2403でYES)、ステップS2401で解析結果を格納するデータ構造のうち、該当する値が更新される(S2404)。なお、メディアデータの挿入や入替処理などの書換処理については、後に詳細に説明する。
ステップS2404で更新されたスクリプトの解析結果の具体例を図82に示す。図82に示される編集結果は、図81に示された初期状態の図6および図7に示されたスクリプトに対して書換処理が施された結果である。より具体的には、上述の書換処理が実行されて、初期状態のスクリプトにメディアデータ「CameraPict01.jpg」「EditText01.txt」「Voice01.amr」が追加された場合が示されており、それらの参照情報が、該当するインスタンス5,6,7に記述されている。なお、画像データ「FirstImage.mpg」については、スクリプト側でファイル名が規定されているので、ムービー撮影の結果得られたムービーファイルもこの名前で保持される。すなわち、ファイル名が書換えられずにファイルの実体が上書き変更される。
上述のステップS2402〜S2404の処理は該スクリプトの実行点の終端に到達するまで繰返し実行されて(S2405でNO)、終端に到達すると(S2405でYES)、スクリプトの再生処理を終了してメールに添付して送信するか否かが判定される(S2406)。
メディアデータの挿入や入替処理などのスクリプトの編集が未完了である場合には(S2406でNO)、処理をステップS2402に戻し、該スクリプトの実行点の先頭から再生される。
一方、編集が完了し、メールに添付して送信する場合(S2406でYES)、図82に示されるデータ構造よりSMILで記述されるスクリプトが生成される(S2407)。そして、ステップS2407で生成されたSMILで記述されるスクリプトがメールに添付されて送信、または保存される(S2408)。なお、ステップS2408におけるメール添付処理についても、後に説明する。
ステップS2408で送信されるスクリプトの具体例を図83に示す。図83に示されるスクリプトは、図6および図7に示される初期状態のスクリプトに対して画像データ、テキストデータ、および音声データであるメディアデータを追加する書換処理を施したスクリプトであって、より具体的には、図83に下線を付して示された箇所が該書換処理によって挿入されたメディアデータの参照情報である。
また、スクリプトを送信する際に、ユーザナビゲート情報記述部分である編集機能を削除して送信してもよい。編集機能が削除されたスクリプトの具体例を図84に示す。図84に示されるスクリプトは、図6および図7に示される初期状態のスクリプトに対して画像データ、テキストデータ、および音声データであるメディアデータを追加する書換処理を施した後に、さらに編集機能を削除したスクリプトであって、より具体的には、<action id=・・・>で記述されたアクション内容の定義部分と、<event ref =・・・>で記述されたイベントとアクションとの対応付け部分とが削除されている。それは、図84において下線を付して示されている。
なお、ステップS2407において図82に示されるデータ構造からSMILで記述されるスクリプトを書出して図84に示されるスクリプトを生成する際、編集機能を削除する場合には、データ構造に含まれるEventおよびActionに関連する属性は無視する。または、編集機能も含めたスクリプトを書出す場合には、アクション内容として「挿入」が指定されているが(Act Type=“insert”)、すでに上述の処理によってメディアデータの参照情報が記述されているので、アクション内容を「置換」(Act Type=“replace”)に変更する。それは、図83において下線を付して示されている。
次に、上述のステップS18で実行されるイベントに応じた処理について、図13のフローチャートを用いて説明する。
図13を参照して、上述のステップS17でイベント管理部1315からイベント発生の検出情報を受けると、ステップS21において、実行制御部1312は、実行しているスクリプトを一時停止する。
そして、ステップS17で検出されたイベントが、スクリプトの実行が実行点の終端まで到達したことを示すイベントである場合には(S22でYES)、ステップS23において、実行制御部1313は当該スクリプトの実行を終了し、処理を図9のステップS16に戻して、再度スクリプトの実行を開始する。すなわち、再度、スクリプト実行を実行点の始端に戻し、始めからスクリプトの実行を繰返す。なお、本実施の形態においては、取得したテンプレートに含まれるスクリプトを繰返し実行するものとしているが、1回あるいは所定の回数実行して、スクリプトの実行を終了してもよい。あるいは、スクリプト実行を繰返すか終了するかの選択肢を画面に提示し、ボタン操作などのユーザ入力によってスクリプト実行の繰返しまたは終了を指示するようにしてもよい。
ステップS17で検出されたイベントが、スクリプトの実行が実行点の終端まで到達したことを示すイベント以外のイベントである場合には(S22でNO)、ステップS24において、実行制御部1313は検出されたイベントに基づいて処理内容を決定し、ステップS25〜S27で、決定された処理を実行する。なお、ステップS24における処理内容の決定処理、およびステップS25〜S27に示される各処理については、後に各々フローチャートを挙げて説明する。
以上で、ステップS18におけるイベントに応じた処理を終了し、処理を図9のフローチャートに示される再生・編集処理に戻す。
次に、上述のステップS24における処理内容の決定処理について、図14のフローチャートを用いて説明する。
図14を参照して、上述のステップS17でイベントの発生を検出すると、実行制御部1313は、そのときの時間パラメータ値(S31)、すなわち、当該スクリプト実行時間を表わすパラメータと、ソースID(S32)、すなわち、イベントの発生元の識別情報と、時間管理部1314が作成したイベント発生処理タイムテーブル(S33)とを参照し、発生したイベントを判断する。さらに、判断されたイベントとイベント発生処理タイムテーブルとから、イベント発生時にそのイベントに対応付けられている処理内容を決定する。なお、決定された処理が複数である場合には(S34でYES)、ステップS35において、実行制御部1313は、ディスプレイ144等に選択用の画面を表示して、その複数の処理の中から今から開始する処理の選択を受付ける。たとえば、図54に示すように、選択用の画面に表示したリストに「Invoke Camera」と「Local Folder」とを提示して、「Invoke Camera」が選択された場合にはカメラを起動し、「Local Folder」が選択された場合にはデータフォルダにアクセスする。
あるいは、ステップS35において、実行制御部1313は決定された複数の処理を順に1つずつすべて実行する構成でもよい。その場合、当該処理に対応するイベントのスケジュール記述が出現する順序に処理を実行する。より具体的には、図7のスクリプトの8秒目から15秒目の間を例にとると、selectキーが押された場合に、記述の順序に従って28行に記載される「カメラ起動」がまず実行され、その次に29行に記載される「テキスト入力」が実行される。なお、スクリプトに複数の処理の実行優先順序を記述し、その順序に従って複数の処理を順に実行する構成でもよい。
または、ステップS35において、複数の処理それぞれを実行するためのショートカット手段がある場合には、ユーザにより指定されたショートカット手段に対応する処理を直接実行する構成でもよい。より具体的には、図7のスクリプトの8秒目から15秒目の間を例にとると、カメラ起動用キーが押された場合に28行に記載される「カメラ起動」が実行され、テキスト入力用キーが押された場合には29行に記載される「テキスト入力」が実行されるような構成であってもよい。
以上で、ステップS24におけるイベントに応じた処理を終了し、処理を図13のフローチャートに示されるイベント処理に戻す。
さらに、上述のステップS33におけるイベントタイムテーブル参照について、図27のフローチャートを用いて説明する。
図27を参照して、参照したソースIDが“Timer”である場合(S131で「ソースID」=Timer)、イベント処理タイムテーブルのTimerの欄と時間パラメータ値とを参照して該当する処理を判断する(S132)。
一方、参照したソースIDが“UI”である場合(S131で「ソースID」=UI)、さらにイベント処理タイムテーブルのUIの欄と、タイプIDすなわちイベント発生時に操作されたキー固有の識別情報と、時間パラメータ値とを参照し(S133)、該当する処理を判断する(S134)。
なお、イベント処理タイムテーブルおよびスクリプトに記述する上記キー固有の識別情報は、端末のハードウェアキーの識別情報を直接使用してもよいし、論理シンボルを使用し、図28に示すような、論理シンボルとハードウェアキーとの対応を規定するテーブルを予め携帯電話1の記憶部130に格納し、実行制御部1313がイベントタイムテーブルを参照する際に当該テーブルを読出して、操作されたハードウェアキーから論理シンボルを参照してイベントを判断するようにしてもよい。
以上でステップS33におけるイベントタイムテーブル参照を終了し、処理を図14のフローチャートに示される処理内容決定処理に戻す。
上の処理で、ステップS17で発生を検出したイベントが、メニュー処理を実行させるイベントであると決定された場合、ステップS25において、図15に示す処理を実行する。すなわち、図15を参照して、始めに、ステップS41で実行制御部1313は、図16に示されるようなメニュー画面をディスプレイ144に表示し、ユーザからの選択を受付ける。具体的には、図16を参照して、当該スクリプトのプレビュー処理、データフォルダへの保存処理、当該スクリプトから参照されるメディアデータを個別のメディアファイルに保存する処理、当該スクリプトおよびメディアデータをメールに添付する処理、当該スクリプトおよびメディアデータをMMS(Multimedia Messaging Service)で送信する処理、当該スクリプトの再生中のスライドを編集する処理、当該スクリプトのプロパティを表示する処理、およびアプリケーションを終了する処理などの選択を受付ける。そして、ステップS42で、ユーザからの選択に応じた処理を実行する。なお、スライドとは、図7の20行から25行に記述されるような並列に実行されるスクリプトの一部分を表わす。すなわち、図7に示されるスクリプトは、逐次再生される、20行〜25行、26行〜31行、および32行〜36行の3つのスライドから構成される。
さらに図16に示されるようなメニュー画面において「スライド編集」が選択された場合、ステップS41において実行制御部1313は、図36に示されるようなスライドを編集するためのメニュー画面をディスプレイ144に表示し、スライド削除処理またはスライド書換え禁止処理の選択を受付ける。
なお、スクリプトにスライド編集が許可されるか禁止されるかを記述しておき、禁止される場合には上記スライド編集の選択肢を提示せずに、スライド編集ができないようにする構成をとることもできる。
より具体的に、そのようなスライド編集が許可されるか禁止されるかを記述したスクリプトの例を図68に示し、ステップS42でスライドの編集を実行する許可を判定する処理について図69のフローチャートを用いて説明する。すなわち、図69を参照して、スクリプトに図68の4行に示されるような編集禁止のメタ記述(name="readOnly")が記述されている場合(S2201でYES)、禁止を記述する属性(content)を参照する。そして、その属性が“yes”である場合(S2202でYES)、ステップS42でのスライドの編集を禁止する。一方、その属性が“yes”でない場合には(S2202でNO)、ステップS42でのスライドの編集を許可する。また、そもそも当該スクリプトに編集禁止のメタ記述がない場合にも(S2201でNO)、ステップS42でのスライドの編集を許可する。
以上で具体例に基づいたスライド編集許可判定の説明を終える。
また、上述のステップS41で図36に示されるようなスライド編集のメニュー画面においてスライド削除が選択された場合のステップS42における処理について、図35のフローチャートを用いて説明する。
すなわち、図35を参照して、上述のステップS41で当該スクリプトの再生中のスライドを削除する処理が選択されると、実行制御部1313はそのときの時間パラメータ値、メディア描画処理タイムテーブル、およびイベント処理タイムテーブルを参照して(S171〜S173)、その時点で有効になっているメディア描画処理とイベント処理とを判断する。そして、その時点で有効になっていると判断されたメディア描画処理とイベント処理とのスケジュール記述部分をスクリプトから削除して、当該スクリプトを書換える(S174)。
以上でスライドを削除する処理を実行する場合のステップS42における処理を終了し、処理を図15のフローチャートに示されるメニュー処理に戻す。
また、上述のステップS41で図36に示されるようなスライド編集のメニュー画面においてスライド書換禁止が選択された場合のステップS42における処理について、図37のフローチャートを用いて説明する。
すなわち、図37を参照して、上述のステップS41で当該スクリプトの再生中のスライドの書換禁止処理が選択されると、実行制御部1313はそのときの時間パラメータ値、およびイベント処理タイムテーブルを参照して(S181,S182)、その時点で有効になっているイベント処理を判断する。そして、その時点で有効になっていると判断されたイベント処理のスケジュール記述部分をスクリプトから削除して、当該スクリプトを書換える(S183)。
以上でスライドの書換を禁止する場合のステップS42における処理を終了し、処理を図15のフローチャートに示されるメニュー処理に戻す。
また、上の処理で、ステップS17で発生を検出したイベントが、リンク移動処理を実行させるイベントであると決定された場合、ステップS27において、図17に示す処理を実行する。すなわち、図17を参照して、始めに、ステップS51で実行制御部1313は、スクリプトに含まれるリンク先を示すパラメータを参照して、ステップS52で当該スクリプトの実行を中断する。そして、ステップS53で、ステップS51で参照したパラメータに基づいてリンク先のスクリプトを取得する。その後、処理を図9に示される処理のステップS13に戻し、取得したスクリプトを読出して、同様に実行する。
また、上の処理で、ステップS17で発生を検出したイベントが、アプリケーション実行処理を実行させるイベントであると決定された場合、ステップS26において、図18に示す処理を実行する。すなわち、図18を参照して、始めに、実行制御部1313は、アプリケーションを起動するか否かを選択させる画面をディスプレイ144に表示させる。アプリケーションの起動が選択された場合(S61でYES)、ステップS62で実行制御部1313は、所定のアプリケーションを起動させる。次に、そのアプリケーションから所定のデータを取得する必要がある場合には(S63でYES)、ステップS64で取得する。そして、実行している当該スクリプトの書換えが必要な場合(S65でYES)、ステップS66で、スクリプト書出部1316がスクリプトの書換処理を実行する。
さらに、実行制御部1313は、上述のスクリプト書換処理終了後、スクリプトの再生を再開する。スクリプトの再生は、スクリプトの再生開始時点から、またはその時点でのスクリプト再生時点から、または書換えられた区間の開始時点から始めることができる。上記いずれの構成をとってもよいし、またユーザに上記選択肢から選択させる構成をとってもよい。
なお上記の再開時点は、当該端末に設定された所定のルールに従って動的に決定されてもよい。同様に、スクリプトの再生の時間や、終了時点などの再生に関する他の時間も決定されてもよい。以下に図67のフローチャートを用いて、「スクリプトの残りの再生時間が10秒以下だったらスクリプトの現在の再生位置から再開し、そうでない場合は、スクリプトの開始時点から再開する」というルールに従ってスクリプト再生の再開時点を決定する処理について具体的に説明する。
図67を参照して、始めに、実行制御部1313は、スクリプトの現在の再生位置を参照する(S2101)。この再生位置は、ステップS21で一時停止を行なった時点での再生位置を示す。
次に、実行制御部1313は、スクリプトの総再生時間を参照する(S2102)。スクリプトの総再生時間は、スクリプトのスケジュール記述部分から取得される。たとえば、スクリプトが図7に示されるものである場合、ステップS2102では、時系列に実行される、第20行〜第25行、第26行〜第31行、および第32行〜第36行の再生時間の総和を計算して、スクリプトの総再生時間を19秒と取得する。
次に、実行制御部1313は、ステップS2102で取得したスクリプトの総再生時間からスクリプトの現在の再生位置を減算して、スクリプトの残りの再生時間を計算する(S2103)。
そして、ステップS2103で計算されたスクリプトの残りの再生時間が10秒以下の場合(S2104でNO)、実行制御部1313は、再生開始時点をスクリプトの現在の再生時点と設定する。そうでない場合(S2104でYES)、実行制御部1313は、再生開始時点をスクリプトの開始時点と設定する。
以上で具体的なスクリプト再生の再開時点を決定する処理の説明を終わる。
次に、上述のステップS62におけるアプリケーション起動について、図24のフローチャートを用いて説明する。
図24を参照して、実行制御部1313は、所定のアプリケーションが携帯電話1の記憶部130に登録されている場合には(S101でYES)、スクリプトに記述された再生時間および領域のサイズなどを起動パラメータとして、起動する(S102)。所定のアプリケーションが携帯電話1の記憶部130に登録されていない場合(S101でNO)、さらに当該スクリプトにおいてアプリケーションからのデータ取得が必要な場合には(S103でYES)、ファイル取得プログラム156である、ローカルファイル取得アプリケーションを起動する(S104)。
なお、上記ステップS101で所定のアプリケーションが携帯電話1の記憶部130に登録されていない場合に、通信部110を介してサーバ2から所定のアプリケーションをダウンロードして携帯電話1の記憶部130に記憶し、起動する構成をとってもよい。
さらに以下に、上述のステップS102での動作について、起動するアプリケーションが画像撮影アプリケーションである場合を具体例として、図66のフローチャートを用いて説明する。
すなわち、図66を参照して、始めに実行制御部1313は、置換えるメディアデータが表示される描画領域のサイズをスクリプトから取得する(S2001)。描画領域のサイズは、一般的にスクリプトのヘッダ部分に記述されている。具体的に、スクリプトが図6であるものとすると、図6の8行の記述から描画領域の幅(width)および高さ(height)に指定される数値176および120が取得される。
次に、実行制御部1313は、ステップS2001で取得した描画領域のサイズに基づいて、当該画像撮影アプリケーションで当該描画領域を含むことができる最小の撮影サイズを判別する(S2002)。具体的に画像撮影アプリケーションが、撮影サイズとして、幅600×高さ480、幅120×高さ160、または幅120×高さ128を選択できるようになっている場合、ステップS2002では、撮影サイズ幅600×高さ480が、具体例にある幅176×高さ120の描画領域のサイズを含むことができるものと判別される。
そして、実行制御部1313は、ステップS2002での判別結果に基づいて、画像撮影アプリケーションでの撮影サイズを幅600×高さ480に指定して、画像撮影アプリケーションを起動する(S2003)。
なお上述の処理と同様の処理を行なって、起動するアプリケーションが音声録音アプリケーションである場合、スクリプトに記述された時間だけ録音することができる。また、起動するアプリケーションがファイル取得アプリケーションである場合、メッセージのファイルサイズ総計が送信可能なサイズの上限を超えないように、利用できる残りサイズよりも大きなサイズのファイルを選択できないようにすることができる。また、起動するアプリケーションが動画を取得するファイル取得アプリケーションである場合、スクリプトに記述された再生時間よりも長い再生時間のファイルを選択できないようにすることができる。
以上で、ステップS62におけるアプリケーション起動を終了し、処理を図18のフローチャートに示されるアプリケーション実行処理に戻す。
次に、上述のステップS64におけるデータ取得について、図25のフローチャートを用いて説明する。
図25を参照して、始めに、実行制御部1313は、ステップS62で起動したアプリケーションからデータを受取る(S111)。そして、その取得データが、スクリプトに記述された再生時間、および領域サイズに適合しない場合(S112でNO)、実行制御部1313は、取得データをスクリプトの記述に適合するように変換する(S113)。
なお、ステップS113において、予めスクリプトに記述された参照情報で参照されるメディアデータと取得データとを合成し、新たにスクリプトまたはメディアデータを生成してもよい。取得データが再生時間をもつメディアデータの場合において、この生成処理は図56を用いて以下のように説明できる。
すなわち図56を参照して、図56の左図に示されるように、本具体例において「元のメディアデータ」は5秒間の再生時間をもち、当初時刻t1から再生されるように記述されている。また、「取得データ」は、ステップS31で参照されるイベントの時間パラメータ値である時刻t2(=t1+3)から5秒間撮影した動画であるものとする。この場合、ユーザが、適当なユーザインタフェースにより、取得データを撮影していた時間に再生時間が該当している「元のメディアデータ」の部分を「取得データ」と置換えるように指示すると、「書換え後に再生されるデータ」の内容と再生時間とは図56の左図の下に示されるデータになる。このような効果を得る処理の1つの実現方法は、実行制御部1313が指示することで、元のメディアデータの所定部分であって取得データの撮影時間と再生時間が重なる部分を、画像データ撮影・編集プログラム133によって書換えて保存することで得られる。他の実現方法は、元のメディアデータおよび取得データそれぞれの新たな開始時刻と再生時間とを表現するスクリプトを、実行制御部1313から指示を受けたスクリプト書出部1316が生成して書出すことである。後者の実現方法によると、上述の具体例においてスクリプト書出部1316で書出されるスクリプトは、図56の右図に示すスクリプトとなる。なお、取得データのうちの、元のメディアデータと重ならない時刻t3から時刻t4の部分を生成されるデータに加えるかどうかは、適当なユーザインタフェースなどによって指示されることが好ましい。
なお、ステップS113において、たとえば、動画データから音声データのみを取出す処理を行なうなどして取得データの一部を取出して、新たにメディアデータを生成してもよい。
また、上記処理中のステップS112およびステップS113において、取得データが占めるメモリ領域のサイズが所定の値を超えている場合に、たとえば、画像データの減色や音声データのサンプリングレートの低減など、データサイズを削減する処理を行なってもよい。
また、上記処理中のステップS112において、取得データがスクリプトの記述に適合しない場合に、取得データに替えて携帯電話1の記憶部130に記憶された所定のメディアデータ(デフォルトのデータ)を使用してもよい。
以上で、ステップS64におけるデータ取得を終了し、処理を図18のフローチャートに示されるアプリケーション実行処理に戻す。
次に、上述のステップS66におけるスクリプト書換処理について、図26のフローチャートを用いて説明する。
図26を参照して、実行制御部1313は、スクリプトに含まれるメディアデータと取得データとの合計が、記憶部130に記憶される規定値以下の場合(S121でYES)、スクリプト書出部1316でスクリプト書換処理を実行させる(S122)。そうでない場合(S121でNO)、実行制御部1313は、ディスプレイ144にスクリプト書換えができない旨を表示する(S123)。
なお、上述のステップS122において、実行制御部1313は、ステップS31で参照されるイベントの時間パラメータ値を利用して取得データを書込む時点を変更することもできる。たとえば、スクリプト書換処理として、図57に示されるように、再生開始後4秒目にキー操作を行なって、カメラアプリケーションを起動してメディアデータを書換える処理を行なう場合、キー操作が行なわれた時刻(4秒目)から撮影を開始し、撮影終了後カメラアプリケーションから取得した動画2を、キー操作が行なわれた時刻(4秒目)から、元のメディアデータである動画1の再生終了時刻(8秒目)までの区間に書込む。なお、この例ではイベントの時間パラメータ値の時点にメディアデータを書込んでいるが、イベントの時間パラメータ値より後の時点または前の時点に書込むこともできる。
以上で、ステップS66におけるスクリプト書換処理を終了し、処理を図18のフローチャートに示されるアプリケーション実行処理に戻す。
以上で、本データ通信システムにおける携帯電話1でのスクリプトの再生および編集処理が終了する。
より具体的に、本データ通信システムにおける携帯電話1で、図6および図7に示されるスクリプトの再生および編集処理を実行する場合について、図19および図20のフローチャートを用いて説明する。
図19を参照して、図7に示されるスクリプトの第20行を実行するとき、始めに再生・編集エンジンプログラム131の構文解析部1312でスクリプトの解析を行なって、ステップS71において、実行制御部1313は、画像データ表示再生プログラム134に対して、0秒〜8秒において、Image領域に動画像データ「First Image.mpg」を表示再生するように指示する。すると、ステップS72において、画像データ表示再生プログラム134は、0秒〜8秒において、ディスプレイ144に動画像データ「First Image.mpg」を表示再生し、さらに、そのデータに音データが含まれる場合には、スピーカ148からその音データを再生する。
次に、0秒〜8秒の間に、ユーザからselectキーを操作されるというイベントが発生した場合、図7に示されるスクリプトの第24行に記述される処理である、図20に示される処理を実行する。すなわち、図20を参照して、イベント管理部1315がselectキーが操作されたというイベントの発生を検出すると、ステップS81において、実行制御部1313は、図11に具体例が示されるイベント処理タイムテーブルを参照して、対応する処理内容(アクション)を決定する。すなわち、イベント処理タイムテーブルを参照して、ステップS82において、実行制御部1313は、対応するアプリケーションである画像撮影プログラム133と音声データ録音プログラム136とを起動させる。
次に、ステップS83において、画像撮影プログラム133は、画像撮影に必要なUIをディスプレイ144に表示し、カメラ149とキーコード入力デバイス142とを使用して画像データを生成する。また、それと同時に、音声データ録音プログラム136は、マイクロフォン146を使用して音声データを生成する。そして、図示されないデータ合成プログラムは、生成された画像データと音声データとを合成する。このようにして、ステップS83において、新しいデータを取得する。
上の処理が終了すると、ステップS84において、実行制御部1313は、画像撮影プログラム133と音声データ録音プログラム136とを終了させる。
そして、ステップS85において、再生・編集エンジンプログラム131は、合成されたデータを受取り、そのデータが、Image領域に0秒〜8秒に表示されるように、スクリプト書出部1316がスクリプトを書換える。
以上で、図6および図7に示されるスクリプトの第24行の処理を終了し、新たに生成されたスクリプトの再生・編集処理の実行を行なう。
本データ通信システムの携帯電話1で図6および図7に示されるスクリプトを再生および編集処理を実行する際には、上のような処理を1行ずつ実行する。
このようなスクリプトの再生・編集処理について、図21、図22および図85に示す具体的な表示画面の遷移を用いて説明する。図21および図22は具体的な表示画面の遷移を順に表わす図であり、図85は、それらの表示画面の具体例を1つの図で示したものである。
図21(A)は、使用可能なテンプレートの一覧を表示する画面の具体例である。図21(A)に示される画面では、テンプレート「今ここにきてる」「これ見て!」「かなりひま」および「これうまい!」の4つのテンプレートが選択可能に表示される。なお、この例ではテンプレートの名称のみ表示されているが、テンプレートを利用して作成できるメッセージの具体的なイメージがサムネイル画像として名称と共に表示されることがより好ましい。
また、一覧表示されるテンプレートは、通常は端末内のメモリに保存されているテンプレートであるが、ネットワーク接続により外部機器やサーバからダウンロード可能であるものを表示してもよい。
また、このテンプレート一覧画面では、取得済みまたは取得可能なテンプレートがすべて表示されてもよいし、一部のテンプレートのみが表示されてもよい。このような表示を行なう場合、どのテンプレートを表示するのかの選択方法については、ユーザ操作などにより、よく使用するテンプレートのみを厳選して表示する方法、最近使用したテンプレートのみを表示する方法、メッセージとして送信する場合において、予め送信相手が指定されていて、かつ送信相手端末の機能が判明する場合には、送信相手端末が解釈および実行可能であるテンプレートのみを表示する方法、などが考えられる。このように、送信相手端末の機能に応じてテンプレートを選択表示することにすれば、たとえば、送信相手端末がカメラを持たない携帯電話である場合に、カメラを起動することでその場で写真を撮影し送付してもらう目的のテンプレートは、一覧から除外しておくことができる。
なお、上述の、一部のテンプレートのみ一覧表示する場合においても、所定のユーザ操作によって、他の取得済みまたは取得可能なテンプレートすべてを表示できることが好ましい。さらに、送信相手端末の機能が判明する場合には、記述されているすべての機能が相手端末にて解釈および実行できないと判明したテンプレートについては、色やフォントを区別して表示するか、選択されたときに警告画面を出すなどしてユーザに注意を促がすか、あるいは選択操作を無効にしておいてもよい。
続いて、図21(A)に示される画面においてテンプレート「かなりひま」を選択し、再生処理を実行させる場合の処理について具体的に説明する。
図21を参照して、始めに所定のナビゲーションフレームであるスクリプト「かなりひま」を選択して、再生処理を実行させる。携帯電話1では、上の処理が実行されて該テンプレートに含まれるスクリプトが解析され、図21(B)に示されるように、かかるスクリプトの実行が開始する。
スクリプト実行に伴って時系列的に変化するUI部品であって、ユーザをナビゲートするUI部品が、図21(C)以降の画面に示されるようにディスプレイ144に表示される。具体的には、図21(C)に示される実行画面の2コマ目再生時に「カメラ起動」の文字列がディスプレイ144に表示される。この状態でユーザが何の操作も行なわなかった場合には、「カメラ起動」の文字列が所定時間表示された後スクリプトは図21(D)の画面に示される終端まで実行され、自動的に始端である図21(B)の画面に戻って再生を繰返す。
なお、UI部品としてこの例では文字列が表示されるものとしているが、カメラなどのアイコン画像や動画が表示されたり、音声や音楽が再生されてもよい。
図21(C)に示される「カメラ起動」の文字列がディスプレイ144に表示されているタイミングにユーザが所定のキー操作を行なうことで、画像撮影プログラム133が実行され、図21(E)および図21(F)に示されるようにカメラ149にて動画の撮影を行なうことができる。そして、図21(G)に示されるように、テンプレート「かなりひま」は「カメラ起動」の文字列が表示される時間帯に撮影された動画データが再生されるように書替えられる。すなわち、ユーザがUI部品のナビゲートにさたがって撮影を行なった後、スクリプトの始め、あるいは「カメラ起動」のUI部品がディスプレイ144に表示される時点にスクリプトの実行を戻すと、図22に示されるように、先にテンプレート「かなりひま」を実行したときに「カメラ起動」のUI部品がディスプレイ144に表示された時間帯に、図22(B)に示されるように撮影された動画が再生される。なお、その場合、スクリプト実行の際に、「カメラ起動」のUI部品が表示される時間帯に動画データが登録されたことが判定されると、その時間帯には「カメラ起動」のUI部品が表示されないようにされることが好ましい。あるいは、図22(B)に示されるようにその時間帯には「撮り直し」のUI部品が表示されるように変更されることが好ましい。
以降、終了の操作を行なうまで、自動的に書換えられたスクリプトの実行が繰返される。
次に、メニューから「プレビュー」を選択して、プレビュー実行する処理を実行する。プレビュー実行においては、図40に示されるように編集後のスクリプトがUI部品の表示および再生をすべて無効化された状態で再生される。すなわち、図22(B)に示される「撮り直し」の文字列は表示されず、ユーザが所定のキー操作を行なっても、画像撮影プログラム133は実行されない。なおプレビュー処理については後に説明する。
編集後のスクリプトの表示をプレビューで確認したのち、メニューから「メール添付」を選択して、スクリプトおよびメディアデータを他の携帯電話1に送信する。なおメール添付処理については、後に説明する。
さらに、本実施の形態の他の具体例として、本データ通信システムにおける携帯電話1で、図29および図30に示されるスクリプトの再生を実行する場合について、図31および図32のフローチャートを用いて説明する。
図31を参照して、本実施の形態における携帯電話1で図30に示されるスクリプトの第19行を実行するとき、始めに再生・編集エンジンプログラム131の構文解析部1312でスクリプトの解析を行なって、実行制御部1313は、画像データ表示再生プログラム134に対して、0秒〜10秒において、top領域に画像データ「ProductImage.jpg」を表示再生するように指示する(S141)。すると、画像データ表示再生プログラム134は、0秒〜10秒において、ディスプレイ144に画像データ「ProductImage.jpg」を表示再生する。
次に、図30に示されるスクリプトの第20行を実行するとき、同様にしてステップS142において、実行制御部1313は、テキスト表示再生プログラム134に対して、0秒〜10秒において、middle領域にテキストデータ「ProductDesc.txt」を表示再生するように指示する(S142)。すると、テキストデータ表示再生プログラム138は、0秒〜10秒において、ディスプレイ144にテキストデータ「ProductDesc.txt」を表示再生する。
次に、1秒〜4秒の間に、ユーザからselectキーを操作されるというイベントが発生した場合、図30に示されるスクリプトの第21行に記述される処理である、図32に示される処理を実行する。すなわち、図32を参照して、イベント管理部1315がselectキーが操作されたというイベントの発生を検出すると、実行制御部1313は、イベント処理タイムテーブルを参照して、対応する処理内容(アクション)を決定する(S151)。そして、実行制御部1313は、イベント処理タイムテーブルを参照して、対応するアプリケーションであるWWWブラウザプログラム151を起動させる(S152)。
次に、WWWブラウザプログラム151は、通信部110を介してWWWコンテンツを取得し、ディスプレイ144に表示する(S153)。
上の処理が終了すると、実行制御部1313は、WWWブラウザプログラム151を終了させる(S154)。
以上で、図29および図30に示されるスクリプトの第21行の処理を終了し、スクリプトの再生処理の実行を行なう。
本データ通信システムの携帯電話1で図29および図30に示されるスクリプトの再生処理を実行する際には、上のような処理を1行ずつ実行する。このようなスクリプトの再生処理について、図33に示す具体的な表示画面の遷移を用いて説明する。
図33を参照して、本データ通信システムの携帯電話1は、通信部110からスクリプトを取得して、再生処理を実行させる。携帯電話1では、上の処理を実行して、スクリプトを解析し、スクリプトの実行を開始する。
スクリプトの実行が開始されると、スクリプトの実行に伴って時系列的に変化するUI部品であって、ユーザをナビゲートするUI部品が、図33に示されるようにディスプレイ144に表示される。具体的には、図33(B)に示される再生時に「WWWブラウザ」のアイコン画像がディスプレイ144に表示される。この状態でユーザが何の操作も行なわなかった場合には、自動的に図33(C)に示される状態に遷移し、「通話」のアイコン画像がディスプレイ144に表示される。さらにこの状態でユーザが何の操作も行なわなかった場合には、自動的に図33(D)に示される状態に遷移し、「メール送信」のアイコン画像がディスプレイ144に表示される。
「WWWブラウザ」のアイコン画像がディスプレイ144に表示されている図33(B)に示される時間帯にユーザが所定のキー操作を行なうことで、WWWブラウザプログラム151が実行され、通信部110を介して所定のWWWコンテンツを取得してディスプレイ144に再生することができる。WWWコンテンツの閲覧後WWWブラウザプログラムを終了すると、以前の再生位置からスクリプトの再生を再開する。
以降、終了の操作を行なうまで、スクリプトの再生が繰返される。
さらに、図16に具体例が示されるメニュー画面に「プレビュー」が選択された場合の、携帯電話1におけるプレビュー処理について図23のフローチャートを用いて説明する。すなわち、図23を参照して、プレビュー処理は、図9に示されるスクリプトの再生および編集処理とほぼ同様であるが、プレビュー処理においては、ステップS92での解析結果に基づいて、ステップS93において、スクリプトの描画情報記述部分に基づいてメディアデータ描画処理のタイムテーブルのみ作成する。そして、ステップS94で、スクリプトのユーザナビゲート情報記述部分に基づく部分は再生を実行せずに、描画情報記述部分に基づく部分を実行する。そして、イベント管理部1315がイベントの発生を検出すると(S95でYES)、実行制御部1313は、当該イベントに応じた処理を実行する(S96)。なお、ここでのイベントに応じた処理については、後にサブルーチンを挙げて説明する。プレビュー処理の場合には、スクリプト定義入力イベントは無効であり、ステップS96においてシステムイベントと固定入力イベントとのみが処理される。
以上で、携帯電話1におけるスクリプトのプレビュー処理を終了する。
次に、上述のステップS96で実行されるイベントに応じた処理について、図38のフローチャートを用いて説明する。
図38を参照して、始めに、上述のステップS95でイベント管理部1315からイベント発生の検出情報を受取ると、実行制御部1312は、実行しているスクリプトを一時停止する(S191)。
そして、ステップS95で検出されたイベントが、スクリプトの実行が当該スクリプトの実行点の終端まで到達したことを示すイベントである場合には(S192でYES)、実行制御部1313は、当該スクリプトの実行を終了し(S193)、処理を図23のステップS94に戻して、再度スクリプトの実行を開始する。すなわち、再度、スクリプト実行を実行点の始端に戻し、始めからスクリプトの実行を繰返す。
一方、ステップS95で検出されたイベントが、スクリプトの実行が実行点の終端まで到達したことを示すイベント以外のイベントである場合には(S192でNO)、実行制御部1313は、検出されたイベントに基づいて処理内容を決定する(S194)。
ステップS194で決定された処理内容が「メニュー」の場合(S194で「処理」=メニュー)、実行制御部1312は、図15に示すメニュー処理を実行する(S195)。メニュー処理の実行の手順は再生・編集処理を行なう場合と同様であるが、図39に示されるようにプレビュー処理の替わりに編集処理が選択肢となるメニュー画面がディスプレイ144に提示される。編集処理が選択された場合、図9に示される再生編集処理が実行される。なお、メニューから再生編集処理を開始する場合、スクリプトの開始時点から開始してもよいし、プレビュー処理のその時点でのスクリプト実行時間から開始してもよい。
一方、ステップS194で決定された処理内容が「スキップ」の場合(S194で「処理」=スキップ)、実行制御部1312は、メディア描画処理タイムテーブルを参照して、次に実行されるメディア描画処理を判断し、当該メディア描画処理の開始時点にスクリプト実行点を更新する(S196)。
ここで、スクリプト実行点の移動先としては、上述の、次に実行されるメディア描画処理の開始時点の他に、次の次以降に実行されるメディア描画処理の開始時点や、スキップ処理が選択されずそのままスクリプト実行を続けた場合に所定の時間が経過した時点での実行点などであってもよい。
次に、図16に具体例が示されるメニュー画面において、当該スクリプトおよびメディアデータをメールに添付する処理が選択された場合の、携帯電話1におけるメール添付処理について図34のフローチャートを用いて説明する。
図34を参照して、始めに、実行制御部1313は、再生専用マルチメディアデータとして送信するか否かを選択する画面をディスプレイ144に表示させる。そして、当該画面において再生専用マルチメディアデータを添付するように選択されなかった場合(S161でNO)、実行制御部1313は、マルチメディアデータを受信する他の携帯電話1においてマルチメディアデータをどのように使用するかについてのヒントを設定する(S165)。すなわち、ステップS165において、実行制御部1313は、当該マルチメディアデータに対して、コンテンツ編集操作をナビゲートするテンプレート(template)として使用すべきか、単に閲覧用のコンテンツ(contents)であるかを設定する。そして、処理をステップS163に進める。
一方、再生専用マルチメディアデータとして送信するか否かを選択する画面において、再生専用マルチメディアデータを添付するように選択された場合には(S161でYES)、実行制御部1313は、スクリプトのユーザナビゲート情報記述部分を削除する(S162)。
次に、実行制御部1313は、記憶部130にスクリプトを書出す(S163)。そして、実行制御部1313は、添付ファイルとして前述のスクリプトおよびマルチメディアデータを設定して、メールプログラムを起動する(S164)。
なお、上述のメール添付処理において、再生専用マルチメディアデータを添付するように選択された場合に(S161でYES)、編集前のマルチメディアデータテンプレートを再生専用マルチメディアデータと共にメールに添付してもよい。また、上述のメール添付処理のステップS162において、受信する携帯電話1が処理できないと予め判明している記述部が存在する場合には、かかる記述部をスクリプトから削除してもよい。
[第2の実施の形態]
次に、図面を参照しつつ、本発明の第2の実施の形態について説明する。
本発明の第2の実施の形態におけるマルチメディアデータ処理装置を含むデータ通信システムの構成は、図1に示される第1の実施の形態の場合と同様であるため、ここでの説明を繰返さない。また第2の実施の形態における携帯電話1の構成および、携帯電話1の記憶部130に記憶されるプログラムとデータ処理の流れもまた、それぞれ図2、図3に示される第1の実施の形態の場合と同様であるため、ここでの説明を繰返さない。
最初に、第2の実施の形態にかかるマルチメディアデータ処理装置である携帯電話1でメディアデータの再生順序情報を含んだスクリプトを再生し、メディアデータを書込んで変更して、メディアデータの再生順序情報を含んだスクリプトを作成する場合について説明する。
図41にテンプレートと当該テンプレートを用いてスクリプトを変更した場合の画面表示の具体例を示す。図41に示されるテンプレートは、シーン1〜シーン3の3つのシーンで構成されている。これらのシーンの遷移は、テンプレート内のスクリプトに時間情報が記載されていてそれに従う場合、端末で設定された切替え時間に従う場合、シーン切替えをユーザが明示的に行なう場合などが考えられるが、本発明において特に規定されるものではない。本具体例では、図41(B)に示されるシーン2の静止画、および図41(C)に示されるシーン3のテキストを、それぞれ図41(E)および図41(F)に示されるようにユーザが入替えることで、修正を行なった場合を示す。
さらに、図41の画面表示を実現するためのスクリプトの具体例を図47に示す。図47に示されるスクリプトは、並行して再生されるメディアデータのまとまりを表わすシーンを、逐次に再生することを表しているスクリプトである。すなわち、図47を参照して、第15行〜第17行、第18行〜第21行、および第22行〜第25行の記述は、各々シーン1〜シーン3を表わしている。
より詳しくは、第18行〜第21行に記述されるシーン2において、第19行には画像を再生することが記述され、第20行にはテキストを再生することが記述されている。これら画像とテキストとは第18行〜第21行が記述するシーン2に属し、並行して再生される。
さらに、スクリプト内に「dur=」に引続いて表示されている時間は、対応するシーンの再生を行なう時間を表し、その時間が経過した後は、次のシーンの再生に切替わる。本実施の形態においてスクリプトはこのような記述方法を用いているものとして示されているが、本発明においてスクリプトの記述方法は限定されるものではなく、メディアを再生するシーケンス情報を記述できれば、どのような形式でも構わない。
なお、シーケンスとは、マルチメディアデータ再生時の、時間的な順序関係を指す。シーケンスは、子要素として再生時間軸上の特定区間(具体的には「シーン」「スライド」、さらに具体的にはSMIL言語で<par>タグや<seq>タグで囲まれることで定義される区間)を1つないし複数含む。時間軸上の各区間の順序関係を把握し、各区間(に含まれるメディアデータ)の再生開始、停止、メディアデータのロード、アンロードを行なう際の手がかりとされるデータ構造を作成、保持することで、シーケンスが管理される。具体的には、図10〜12のようなタイムテーブルを用いることでシーケンスが管理される。再生時間軸上において、各区間が開始、終了する時刻をシーケンスの変更点という。図7に示されるUI割当状況表示タイムテーブルの具体例においては、0,8,15,19秒目がシーケンスの変更点に該当する。
さらに、図42に、本実施の形態にかかるマルチメディアデータ処理装置である携帯電話1の再生・編集エンジンプログラム131の機能構成についてブロック図に示す。制御部120が記憶部130に記憶される再生・編集エンジンプログラム131を実行することで、図42に示される各機能が携帯電話1において実現される。
図42を参照して、本実施の形態における携帯電話1の再生・編集エンジンプログラム131の機能は、テンプレート記憶部1000と、選択部1001と、スクリプト・データ一時記憶部1002と、スクリプト実行部1003と、ユーザ変更データ判定部1004と、端末機能選択部1005と、端末機能実行部1006と、データ変更部1007と、スクリプト・データ変更確定部1008と、スクリプト・データ出力部1009と、出力スクリプト・データ記憶部1010と、データ埋込部1011とを含んで構成される。
テンプレート記憶部1000は、受信部1015で受信され渡された1つ以上のテンプレートを記憶する。テンプレート記憶部1000に記憶されるテンプレートは、図47に示されるようなスクリプトと、そのスクリプトが使用するサンプルメディアデータ(静止画やテキスト)との両方が含まれる場合が普通であるが、メディアデータだけがファイルなどの形態をとって別に管理されていたり、ネットワークで接続されたサーバに存在していたり、テンプレートを利用するときにアクセス可能であれば他の形態であってもよい。
なお、テンプレートからテンプレートに含まれるメディアデータのみを取出し、別途転送あるいは保存などの操作を行なうことを、テンプレートに含まれるスクリプトの記述で禁止あるいは許可できることが好ましい。さらに、テンプレートは、通常端末に複数記憶されていて、ユーザが使いたいテンプレートはネットワークで接続したサーバやメモリカードなどから追加可能であることが好ましい。
選択部1001は、選択可能に表示されたテンプレートのリストにおいて、ユーザからのテンプレートの選択を受付ける。図21のテンプレート選択画面が典型的な例である。
スクリプト・データ一時記憶部1002は、テンプレートに含まれるスクリプトとメディアデータとを一時記憶する。スクリプトは書換え可能な部分を含むため、通常、テンプレートをコピーしてこの一時記憶エリアであるスクリプト・データ一時記憶部1002に記憶する。しかし、メディアデータについては、ファイル名の書換えなどメディアデータそのものに修正が加わらない場合には、特に複製を作る必要はない。
スクリプト実行部1003は、本発明のコアの部分である。本発明においてスクリプトは、シーンを切替えた表示を実現するためのものである。スクリプト実行部1003は、スクリプト再生の際のシーンや時間については、あらかじめテーブルを作成することで管理することが好ましい。
ユーザ変更データ判定部1004は、テンプレートに含まれるメディアが変更可能であるかどうかを判定する。テンプレートに含まれるメディアは、その大部分は書換え不可であるが、そのうちのメディアファイル名などのメディアを参照する参照情報を書換えることによって、最終的にユーザが望むマルチメディアデータを生成することができる。
テンプレートに含まれるメディアデータは、スクリプトにおいては通常ファイル名の形で指定されて記述される。ユーザ変更データ判定部1004は、当該メディアデータが変更可能かどうかを判定する。たとえば図41(B)に示されるシーン2の場合には静止画を入替えることが端末側で可能であるので、ユーザ変更データ判定部1004は、静止画入替が可能と判定する。また、スクリプトに静止画ファイルが指定されている場合であっても、当該静止画ファイルはデータ変更が不可能であるということもあり得る。
さらに、時間で管理されるスクリプトの場合には、そのメディアデータが再生されている時間をユーザ変更データ判定部1004で選択して、再生時間そのものを書換えることや、3つあるシーンにさらに4つ目のシーンを追加というようなこともユーザ変更データ判定部1004で判定して可能にすることが好ましい。
端末機能選択部1005は、当該携帯電話1の備える機能の中から、ユーザ変更データ判定部1004で選択された部分を変更するのに必要な端末機能を選択する。たとえば、ユーザ変更データ判定部1004で選択された部分が静止画である場合には、端末機能選択部1005は、静止画を入替えるための機能を選択する。またたとえば、当該携帯電話1がカメラ付端末の場合には、端末機能選択部1005は、カメラを起動する機能も選択できることが好ましい。
端末機能実行部1006は、端末機能選択部1005で選択された端末機能を用いてメディアデータを取得する。そして、端末機能実行部1006は、取得したメディアデータをデータ変更部1007に出力する。
データ変更部1007は、端末機能実行部1006から入力されたメディアデータをスクリプトから参照される元のメディアデータと入替える。このときに、テンプレートでは静止画であったものが変更後は動画やテキストなど別の種類のメディアデータになっても構わない。
また、このとき、スクリプトにおいてメディアデータへの参照情報がファイル名で記述されている情報である場合には、変更後のメディアデータをファイルの形式で保持し、その名前をスクリプトに記述されているファイル名にする、または変更後のメディアデータがそもそもファイルの形式であって名前が付けられて管理されている場合には、スクリプト内の該メディアデータを指定する部分を、該ファイル名に書換える必要がある。
スクリプト・データ変更確定部1008は、スクリプトおよびメディアデータの変更がすべて終了したことの確定をユーザから受付ける。そして、スクリプト・データ変更確定部1008は、スクリプトおよびメディアデータの変更が確定した旨を、スクリプト・データ出力部1009に出力する。
スクリプト・データ出力部1009は、変更し確定されたスクリプトとメディアデータとを出力する。スクリプト・データ出力部1009は、典型的にはMMS(Multimedia Messaging Service)など電子メールの形で他の端末やサーバに送信する。そして、スクリプト・データ出力部1009は、他の端末などに出力したスクリプトとメディアデータとを出力スクリプト・データ記憶部1010とデータ埋込部1011とに出力する。
出力スクリプト・データ記憶部1010は、スクリプト・データ出力部1009から出力されたスクリプトとメディアデータとを保持する。また、データ埋込部1011は、出力されたスクリプトとメディアデータとからメディアデータを取出して、テンプレートに埋込む。
次に、第2の実施の形態にかかるマルチメディアデータ処理装置である携帯電話1の再生・編集エンジンプログラムにおける処理について図43のフローチャートを用いて説明する。図43のフローチャートに示される処理もまた、携帯電話1の制御部120が、図42に構成が示される再生・編集エンジンプログラム131を記憶部130から読出して実行することによって実現される。
図43を参照して、始めに、選択部1001は、テンプレート記憶部1000に記憶されるテンプレート、あるいは他の装置から取得したテンプレートを読出して、選択可能にディスプレイ144にリスト表示を行ない、ユーザの選択を受付ける(S1100)。ステップS1100において選択部1001は、各テンプレートについて、当該テンプレートの最初もしくは代表的な画面をサムネイルにして、当該テンプレートのタイトルと共に表示することが好ましい。
次に、スクリプト実行部1003は、ステップS1100で選択されたテンプレートを再生しながら、ユーザの指示に応じて編集を行なう再生・編集処理を実行する(S1101)。なお、ステップS1101における再生・編集処理については、後に詳細を説明する。さらに、再生と編集とは、ユーザが切替え可能なモードがあることが一般的であるが、編集と再生とが同時にできることが好ましい。
次に、スクリプト・データ変更確定部1008は、ユーザによるスクリプトの変更が終了したかどうかを確認する(S1102)。そして、スクリプトの変更が終了していると(S1102でYES)、スクリプト・データ出力部1009は、確定されたスクリプトとデータとのいずれかもしくは両方を出力する(S1103)。
以上で、本実施の形態におけるテンプレートの再生および編集処理を終了する。
次に、図46のフローチャートを用いて、上述のステップS1101における再生・編集処理について説明する。
図46を参照して、始めに、スクリプト実行部1003は、スクリプトの記述に従って、再生されるシーンの切替えを行なう(S1200)。ステップS1200における処理については本発明において限定されるものではないが、その典型的な処理方法としては、最初に時間テーブルもしくは図58に示すような切替えテーブルを作成して、それに基づき次のシーンに移行する方法が挙げられる。
図58は、図47に示すスクリプトを再生・編集する場合のメディア管理テーブルの具体例を示している。より具体的には図58を参照して、「シーン1」では「静止画1」が(図58(A))、「シーン2」では「静止画2」と「テキスト2」とが(図58(B))、「シーン3」では「静止画3」と「テキスト3」とが(図58(C))再生されることを示している。ステップS1200においてデータ変更部1007は、このようなメディア管理テーブルを参照して、シーン単位で順々に再生・編集を行なう。
次に、スクリプト・データ出力部1009は、端末の機能を用いてデータを出力する(S1201)。ステップS1201において出力されるデータの形態は、静止画、動画、音楽、テキストその他、どのようなものでも構わない。なおステップS1201における出力処理については、サブルーチンを挙げて後に詳細に説明する。
次に、スクリプト実行部1003は、修正モードか再生モードかを判定する(S1202)。既存のテンプレートをベースにして新たなテンプレートを作成する場合には、修正モードを実行するだけで再生モードとの切替えが不要である場合もある。逆に、他の端末から送られてきたメールやメッセージを新しいテンプレートとして使用する場合には、通常は再生モードであるので、修正モードに変更できることが好ましい。
ステップS1202において修正モードである場合(S1202でYES)、さらにユーザから入力を取得し、ユーザ変更データ判定部1004は、何の入力かを判定する(S1203)。
ステップS1203における判定の結果、ユーザからの入力が前のシーンの再生を指示する入力であった場合には(S1203で「前シーン」)、スクリプト実行部1003は、当該スクリプトの前のシーン表示の処理を行なう(S1204)。
あるいは、ステップS1203における判定の結果、ユーザからの入力がスクリプトの変更処理を指示する入力であった場合には(S1203で「変更処理」)、データ変更部1007は、具体的な変更作業を行なう(S1205)。なお、ステップS1205における変更作業については、サブルーチンを挙げて後に詳細に説明する。
さらに、スクリプト・データ変更確定部1008は、ステップS1205における変更後、ユーザからの入力を得て再度確認するかどうかを判定する(S1206)。ステップS1206における判定の結果、変更後のスクリプトを再度確認する場合には(S1206で「再出力」)、ステップS1201に処理を戻し、スクリプト・データ出力部1009は、ステップS1201において同じシーンを変更後のデータを出力する。これは、静止画と音楽とが同時に出力される場合など、静止画変更だけではシーンが確認できないときなどに有効である。
そして、ステップS1202において修正モードではなく(S1202でNO)、さらに当該スクリプトの再生が終了した場合には(S1207でYES)、本再生および編集処理を終了する。
次に、上述のステップS1201におけるデータ出力処理について図44のフローチャートを用いて詳細に説明する。
図44を参照して、始めに、ユーザ変更データ判定部1004は、当該シーン内の変更データの有無を判定する(S1110)。ステップS1110での判定処理については後にサブルーチンを挙げて詳細に説明する。
次に、端末機能選択部1005は、ステップS1110で判定された変更データの変更手段を選択する(S1111)。たとえば、同じスクリプトであっても、図49に示されるように端末によって再生に用いることのできる機能が異なる。図49は端末に応じて、同じスクリプトであっても選択される機能が異なることを示す図である。この機能の選択は、端末のハードウェアだけでなく、端末のソフトウェアによる違いも考慮することが可能である。この場合、ステップS1111においては、静止画ファイル選択、動画カメラ選択など、端末に合わせて使用可能な機能が選択されることが好ましい。なお、ステップS1111での変更データの変更手段選択処理については後にサブルーチンを挙げて詳細に説明する。
次に、データ変更部1007は、操作ガイドとして、ディスプレイ144に変更のガイダンスを表示する(S1112)。ステップS1112で表示される変更ガイダンスとは、たとえば静止画を入替える場合に、入替えるファイルを選択するためのガイド機能であり、典型的には静止画ファイル選択ボタンの表示などを指す。ステップS1112においてデータ変更部1007がこのようなガイダンスを動的に生成することで、ユーザにどうすれば変更可能かを容易に知らせることができる。
次に、スクリプト実行部1003は、ステップS1112で表示された変更のガイダンスと共に、シーンの出力を実行する(S1113)。
そして、スクリプト・データ一時記憶部1002は、変更データごとに、ステップS1111で選択された変更手段(アプリケーション)と、ステップS1112で生成された変更のガイダンスとに対応する入力イベントの組をシーンイベントテーブルに記憶する(S1114)。ステップS1114において、具体的には、スクリプト・データ一時記憶部1002は、図64のシーンイベントテーブルの具体例に示されるように、変更データ「静止画2」は、「F1」キーイベントで起動される「画像撮影」アプリケーションと、「F2」キーイベントで起動される「ファイル取得」アプリケーションとで変更でき、変更データ「テキスト2」は、「select」キーイベントで起動される「ファイル取得」アプリケーションで変更できることを記憶する。
次に、上述のステップS1205での変更処理について図65のフローチャートを用いて説明する。
図65を参照して、始めに、データ変更部1007は、シーンイベントテーブルを参照する(S1501)。シーンイベントテーブルに、ステップS1203で入力されたユーザ入力イベントが登録されていない場合(S1502でNO)、当該処理を終了する。
シーンイベントテーブルに、ステップS1203で入力されたユーザ入力イベントが登録されている場合(S1502でYES)、スクリプト実行部1003は、シーンイベントテーブルから対応するアプリケーションを判定して起動させる(S1503)。そして、データ変更部1007は、シーンイベントテーブルから対応するユーザ変更データを判別し、起動したアプリケーションからメディアデータを取得して、当該ユーザ変更データを起動したアプリケーションから取得したメディアデータに書換える(S1504)。より具体的には、キー「F1」が押されると、ステップS1503において、「画像撮影」アプリケーションが起動される。また、ユーザが「画像撮影」アプリケーションで静止画を撮影し終了すると、ステップS1504においてユーザ変更データ「静止画2」が新たに撮影したデータで書換えられる。
なお、上記の例において、画像、音声、映像、テキストなどのメディアデータをユーザが入力する操作を行なったときに、テンプレート内に入力されたメディアメディアを挿入することが可能な箇所が複数存在する場合には、2つ以上の箇所に該メディアデータを挿入しても構わない。あるいは、ユーザが入力したメディアデータを分割し、複数の箇所にその一部分を挿入しても構わない。
また、音声、音楽、映像、アニメーションなどの時間軸をもったメディアデータをテンプレートに挿入する場合に、それぞれのメディアデータの再生時間が、予めテンプレートで規定された時間よりも長い場合には、そのメディアデータは挿入禁止にしてもよいし、規定の時間に合わせるべく各メディアデータの再生速度を上げてもよいし、規定の時間が経過したら途中で再生終了するのでもよいし、規定の時間に収まる一部分だけを再生するのでもよい。もしくは、各メディアデータが完全に再生されるようにテンプレートの時間規定を変更するのでも構わない。
また、テキスト、静止画、動画、音声、音楽、アニメーションなどのメディアデータを挿入する際、上記の例では挿入されるメディアデータに応じたファイル選択、カメラなどのアプリケーション起動を行なっているが、ユーザが自由にメディアデータを選択し、そのメディアデータをテンプレートに収まるメディアデータに変換するようにしても構わない。たとえば、撮影した動画から音声のみ抽出してテンプレートに埋込む、動画の先頭フレームを静止画として抽出してテンプレートに埋込む、などを行なってもよい。
なお、上記のテキスト入力の際に、機器内に保持している定型文やクリップボードに一時保存されているテキスト、あるいは機器内に保持されていてテキストデータとして取得可能な、アドレス帳やスケジュール、送受信したメールなどのデータを読込めることが好ましい。
次に、上述のステップS1110での判定処理について図59のフローチャートを用いて説明する。
すなわち、図59を参照して、ユーザ変更データ判定部1004は、現在再生しているシーンと、メディア管理テーブルとを参照して(S1301,S1302)、当該シーンのメディアデータを判定する。たとえば、現在携帯電話1において図47に示すスクリプトの「シーン2」を再生している場合、ユーザ変更データ判定部1004は、図58に示されるメディア管理テーブルを参照して、「静止画2」と「テキスト2」とを変更データとして判定する。
次に、上述のステップS1111での変更データの変更手段選択処理について図60を参照して説明する。図60は、携帯電話1に格納されるデータ取得プログラムと携帯電話1がサポートするメディアタイプとの対応を記録するテーブルであって、携帯電話1の記憶部130に記憶されているテーブルである。より具体的には、図60に示されるテーブルには、当該携帯電話1には「画像撮影」アプリケーションが登録され「静止画」と「動画」とが取得できること、「音声データ録音」アプリケーションが登録され「音声」が取得できること、「ファイル取得」アプリケーションが登録され「静止画」と「動画」と「テキスト」とが取得できることが記録されている。
上述のステップS1111で端末機能選択部1005は、上記テーブルを参照して、ステップS1110で判定された変更データのメディアタイプに基づいて、使用可能な変更手段を選択する。たとえば、変更データのメディアタイプが「静止画」の場合、「画像撮影」と「ファイル取得」とのアプリケーションを選択する。
図53に、携帯電話1においてスクリプトが実行される際の画面遷移の表示の具体例を示す。図53を参照して、シーン2ではステップS1113の処理が実行されて静止画とテキストとが表示されると共に、ステップS1112での処理が実行されて変更のガイダンスが表示されている。すなわち、図53のシーン2では「You can attach a picture here」という文字(ガイダンス)が表示され、対応するボタンを押すとデータフォルダの静止画のデータがサムネイルとなってリスト表示される。このリスト表示画面においては、ファイル名やデータサイズ情報などが併記されるとより好ましい。
また、静止画と音楽となど2つ以上のメディアが同じシーンで出力される場合には、本携帯電話1は、「You can attach a picture here」と「You can attach a music here」との修正のガイドを複数表示してショートカットキー押下などのユーザ操作により静止画データ入力または音楽データ入力のいずれかが選択される方法や、時間的に切替えて、最初「You can attach a picture here」のガイドを出し、次に「You can attach a music here」のガイドを出す方法や、何らかのメディアデータを挿入可能であることを示す「You can attach data here」のガイドを表示し、対応するボタンを押すと次の画面へ遷移して、次の画面においては「Attach a picture」と「Attach a music」とのメニューを選択可能に表示し、これをユーザが選択することによって静止画データ入力や音楽データ入力へ移行する方法など、いずれの方法を行なう構成であっても構わない。
また、本携帯電話1は、修正可能なメディアデータと修正不可能なメディアデータとが区別できる場合には、そのシーンで修正可能なものを区別して、ユーザに示すことが好ましい。これはスクリプト中にメディアデータが変更可能かどうかを記載することでその判別を行なうことができる。
さらに好ましくは、本携帯電話1は、シーンごとに次に飛ぶ、あるいは前に戻る機能を備える。通常の再生では、シーン1が8秒間表示される場合でも、「次シーン」機能を用いることで、1秒経ったところでユーザがボタンを押すと残りの7秒はスキップされるというように、効率的にメールの作成、確認が可能になる。
さらに好ましくは、編集の意思をユーザが示した場合には、本携帯電話1は、その時点で再生を止める機能を備える。たとえば、図53のシーン2で静止画を入替えているところでユーザがボタンを押すことで、静止画選択画面で静止画を選択するところで再生のタイマをストップすることが好ましい。なお、データの変更を終えて再生を再開する場合には、編集操作を行なうときに止めた再生時間からスタートする、全体の最初から再生する、あるいは当該シーンの最初の時間から再開するなどが考えられる。当該シーンの最初とは、シーン2を8秒目から15秒目まで再生する予定であるところの13秒のところで編集ボタンを押されてデータを入替えた場合に、シーン2の最初、つまり8秒目を指す。
なお、上述のテンプレートの編集工程において、テキスト、静止画、動画、音声、音楽、およびアニメーションなどのメディアデータをテンプレートに1箇所以上挿入した時点で、ユーザが現在選択し編集中のテンプレートとは別のテンプレートの編集に変更したいと思う場合が考えられる。この場合、どのテンプレートへの変更に際しても、それまでに挿入したメディアデータは破棄してしまってもよいし、変更後のテンプレートに挿入するようにしてもよい。またこの場合、変更後のテンプレートには変更前に挿入したメディアデータを挿入することが不可能である場合が考えられるが、このときには、そのようなテンプレートへの変更は許可しないようにしてもよいし、挿入不可能なメディアデータは破棄し、挿入可能なメディアデータのみ挿入するようにしてもよい。また、変更前のテンプレートに挿入していたメディアデータが変更後のテンプレートの複数箇所に挿入可能である場合においては、複数箇所のうち1箇所に挿入するのでもよいし複数箇所に挿入するのでもよい。また、そもそも他のテンプレートへの変更を全面的に許可しないようにしてもよい。
[変形例]
次に、メディアデータの再生順序情報とアクションの実行順序情報とを含んだスクリプトを再生し、アクションを実行して、メディアデータの再生順序情報を含んだスクリプトを作成する処理について説明する。
図50および図61は、メディアデータの再生順序情報とアクションの実行順序情報とを含んだスクリプトの具体例を示している。図50に示されるスクリプトの記述は、図6に示されるスクリプトの記述と同様にアクションと描画領域とを定義している。図61に示されるスクリプトの記述は、第17行〜第33行において、メディアデータの再生とアクションの実行の順序情報とを定義している。また、第18行〜第32行は、第19行〜第21行、第22行〜第26行、および第27行〜第31行でそれぞれ定義されるシーン1〜シーン3を順番に実行することを示している。
また、第22行〜第26行では、第2のシーンの実行を定義している。より詳しくは、第23行において、“SecondImage.jpg”で示される画像を“Image”領域に表示することを記述している。第24行において“SecondText.txt”で示されるテキストを “Text”領域に表示することを記述している。第25行において“UI”の“select”キーイベントが検出された場合に“act_image”で参照されるアクションを実行することを記述している。
さらに、図48に、第2の実施の形態の変形例における携帯電話1の再生・編集エンジンプログラム131の機能構成についてブロック図に示す。図48において図42と同じ番号が付加されている構成要素は、図42に示される構成要素と同様のものであるため、ここでの説明は繰返さない。すなわち、図48を参照して、第2の実施の形態の変形例における携帯電話1の再生・編集エンジンプログラム131の機能は、テンプレート記憶部1000と、選択部1001と、スクリプト・データ一時記憶部1002と、スクリプト実行部1003と、端末機能選択部1012と、アクション決定部1013と、アクション実行部1014と、データ変更確定部1008と、スクリプト・データ出力部1009と、出力スクリプト・データ記憶部1010と、データ埋込部1011とを含んで構成される。なお、ここでは、図42とは異なる構成要素について説明する。
端末機能選択部1012は、スクリプトの記載に応じて端末機能を選択する。スクリプトには、たとえば図50の第12行〜第15行のaction文中のdestというような形で端末機能が書かれている。そして、端末機能選択部1012は、その選択結果を、アクション実行部1014に出力する。
アクション決定部1013は、スクリプトの記載に応じてアクションを決定する。アクション決定部1013におけるアクションの決定は、たとえば図50に示されるスクリプトの第12行〜第15行のtypeで記載されているところを解釈することで実現される。そして、アクション決定部1013は、その決定結果を、アクション実行部1014に出力する。
アクション実行部1014は、端末機能選択部1012で選択された機能を用いて得られたデータを、アクション決定部1013で決められたアクションに基づいて処理を行なう。アクション実行部1014では、明示的に記載されたアクションを実行することで、単に挿入や置換だけでなく、画像の合成や、音楽のつなぎ合わせ、特殊効果など各種の処理が可能になる。
なお、第2の実施の形態の変形例における携帯電話1の再生・編集エンジンプログラムにおける処理は、図43に示される処理と同様であるため、ここでの説明を繰返さない。また、第2の実施の形態の変形例における携帯電話1での、スクリプトであるナビゲーションフレームの再生および編集処理も、図46に示される処理とほぼ同様であるため、同様の処理についてはここでの説明を繰返さない。
なお、本変形例では、図46に示される処理において、最初に、図58に示すようなメディア管理テーブルの他に、図63に示すようなアクション管理テーブルを作成する。図63は、図61に示すスクリプトを再生・編集する場合のアクション管理テーブルの具体例を示す図である。より具体的には、図63を参照して、「シーン1」では実行可能なアクションはなく(図63(A))、「シーン2」では「静止画埋込みアクション」が実行可能であり(図63(B))、「シーン3」では「テキスト埋込みアクション」が実行可能である(図63(C))ことを示している。変形例の携帯電話1は、このようなアクション管理テーブルを参照して、シーン単位で順々に再生・編集を行なう。
次に、変形例における上述のステップ1201でのデータ出力処理について図62のフローチャートを用いて詳細に説明する。
図62を参照して、始めに、アクション決定部1013は、アクション管理テーブルを参照して、当該シーンで実行可能なアクションを判定する(S1401)。次に、アクション決定部1013は、ディスプレイ144に、アクション実行のガイダンス表示を行なう(S1402)。アクション実行のガイダンスとは、アクションの実行を開始するための操作のガイド機能である。ステップS1402でのアクション実行のガイダンス表示処理については第1の実施の形態のステップS1112における変更ガイダンスの表示処理と同様であるので説明を繰返さない。そして、スクリプト実行部1003は、ステップS1402で表示されたガイドと共に、シーンの出力を実行する(S1403)。
図45に、変形例における携帯電話1でスクリプトが実行される際の画面遷移の表示の具体例を示す。図45を参照して、図45(B)に示されるシーン2では、ステップS1113の処理が実行されて静止画が表示されると共に、ステップS1112の処理が実行されて変更のガイダンスが表示されている。すなわち、図45(B)に示されるシーン2では「You can attach a picture here」という文字(ガイダンス)が表示され、対応するボタンを押すと図45(D)に示されるようにカメラアプリケーションが起動される。
なお、図49のように使える機能が異なるそれぞれの端末専用の記述を、スクリプトにすべて記述し、テンプレート再生時に端末が使える機能についての記述のみを有効にするようにしてもよい。これら機能としては、たとえば3D液晶表示機能や、2画面以上のディスプレイ表示機能などが特に挙げられる。
また、対象ユーザの属性ごとに異なる内容のメディアデータへの参照情報をスクリプトにすべて記述し、テンプレート使用時に、対象ユーザの属性に適したメディアデータのみを有効にする構成をとってもよい。この属性としては、たとえばユーザの使用する言語や住んでいる地域などが特に挙げられる。
なお、上記の実施例においては、カメラを起動することを示すUI部品を画面に表示し、所定のキー操作によってカメラを起動させる方法を説明したが、図52に示すようにこの時間帯にカメラをインラインで起動し、撮影を実行することを示すUI部品を所定時間表示して(図52(D))、この時間帯に所定のキー操作がなされるとカメラによる撮影を行ない、その画像や映像を即座に再生させるようにしてもよい。なお、このとき撮影を行なわないまま「撮影」のUI部品を表示させる所定の時間が経過した場合、該時間帯の次の再生処理を進めてもよい。あるいは、該時間帯の終端時刻において再生を一時停止し、「撮影」操作が行なわれるまで待機してもよい。あるいは、該時間帯の先頭へ戻って該時間帯の再生を繰返してもよい。この繰返し処理は「撮影」操作が行なわれないもしくは中断処理がない限り無限に行なってもよいし、所定の回数のみ繰返しを行ない、それが終われば「撮影」操作が済んでいなくても次へ進むようにしてもよい。
なお、上記の実施例におけるメッセージの作成工程において、メッセージのデータサイズ総計が、送信可能なサイズの上限を超えてしまう場合が考えられる。この対策として、ユーザがメッセージの送信操作を行なった時点でサイズ超過の警告を出して送信を行なわないようにしてもよい。あるいは、ユーザがメディアデータを挿入するごとにサイズの合計を逐一調査し、もし制限を超えた場合にはその時点で警告を出してその挿入操作を無効にしてもよい。もしくは、予め挿入の候補となるメディアデータのサイズが判明しているのであれば、現在までのメッセージサイズの総計と該メディアデータのサイズとの合計が送信可能なサイズ上限を超えるかどうかを判別し、超える場合のメディアデータについては選択を許可しないようにしてもよい。
なお、上述の図50および図61は、作成側のみで使われるスクリプトの具体例である。この第12行〜第15行は、メッセージを作成および送信する装置側のみで使われる。それ以外の部分は、メッセージを受信する装置側で再生する際にも必要である。このようなスクリプトをスクリプト・データ出力部1009において出力する際には、スクリプト中に含まれる、受信装置では不要な表記や、通信手順の中で送信できないコマンドなどは最終的に削除もしくはコメントアウトして出力すべきである。このような場合には、スクリプト・データ出力部1009においては削除すべき表記のルールを備えて、これらを削除することが好ましい。
なお、メッセージ受信者が同じテンプレート利用して別のメッセージを作成するなどの目的で、受信側でテンプレートそのものをサーバからダウンロードする場合に便利なように、スクリプト・データ出力部1009は、今使用したテンプレートのダウンロード元のアドレスを付加して送ることがさらに好ましい。
さらに、スクリプト・データ処理部1009でスクリプトをたとえばHTMLなどのフォーマットに変換し、元のスクリプトと共に変換したスクリプトも送信することが好ましい。このことで、受信側が全く元のスクリプトを処理できない場合でも、変換したスクリプトの処理が可能であれば、受信側で再生を行なうことが可能になる。
さらに、テンプレートを元に編集し、送信済みのメッセージを再編集して送信する場合に便利なように、出力スクリプト・データ記憶部1010において、削除処理を施す前のスクリプトおよびメディアデータを記憶してもよい。また同様の目的で、図55に示すように、送信したメッセージと使用したテンプレートとの対応を示すテーブルを保持し、たとえば、メッセージ「1221」を再編集したい場合に、上記テーブルを検索してテンプレート「かなりひま」を自動的に選択し、データ埋込み部1011でメッセージ「1221」に含まれるメディアデータをテンプレート「かなりひま」に埋込んでから編集するようにしてもよい。
さらに編集を容易にするために、シーンごとにサムネイルを作ることが好ましい。図51にその表示例を示す。これは、テンプレートに含まれるスクリプト全体を解釈して図10のような全体のタイムテーブルもしくはシーケンステーブルを作成することで、容易に実現できる。このようなシーンごとのサムネイルを用意することで、スクリプトに基づいてサムネイルのリスト表示を行なって、ユーザ操作により任意のサムネイルを選択することをきっかけに該当シーンの再生実行点より再生開始できるようにすれば、スクリプトの書換えを行なう場合に、当該スクリプトの先頭からの再生を行なうことなく、所望のところのデータのみを書換えることが容易に可能になる。
このようなスクリプトを携帯電話1で実行することによって容易にマルチメディアコンテンツを作成することができる。すなわち、本スクリプトを実行することによって時系列的に変化して表示されるガイダンス情報にしたがって所定の操作を行なうだけで、直感的な方法で、容易にマルチメディアコンテンツを作成することができる。また、すでにメディアデータが挿入されているテンプレートに対しても、そのスクリプトを実行することによって時系列的に変化して表示されるガイダンスにしたがって所定の操作を行なうだけで、容易にメディアデータを置換えることができ、ユーザの所望するマルチメディアコンテンツを容易に作成することができる。
さらに、このようなテンプレートを他の携帯電話1に対して送信して返信を要求することで、送り手側の所望の操作を受け手側に行なわせることが可能である。たとえば、図21に示されるようなテンプレート「かなりひま」に新たな動画の挿入を要求する旨のテキストメッセージを添えて他の携帯電話1に対して送信することで、該携帯電話1のユーザに対して、当該テンプレートに新たな動画データを挿入する編集作業の実施を指示することができる。
[第3の実施の形態]
次に、マルチメディアデータ処理装置がテレビジョン受像機(以下、テレビと略する)である場合について、第3の実施の形態として説明する。すなわち、第3の実施の形態にかかるテンプレートには、テレビ画面のレイアウトおよび時間情報が記述されていて、メディアデータの1つとして、テレビ番組が取扱われる。
図74は、第3の実施の形態におけるマルチメディアデータ処理装置であるテレビを含むデータ通信システムの構成を示す図である。図74を参照して、データ通信システムは、マルチメディアデータ処理装置であるテレビ6と、スクリプト言語で記述されているテンプレートを提供するテンプレート提供サーバ2と、テレビの番組情報および番組関連情報を提供するEPGサーバ3と、インターネットコンテンツを提供するWWWサーバ4と、放送波を介して番組をテレビ6へ提供する放送局5とを含んで構成される。
テレビ6のマルチメディアデータ処理装置としての構成は、第1の実施の形態において図4に示される構成と同様であるため、ここでの説明を繰返さない。さらに、テレビ6は、その表示部に、メイン領域7401とサブ領域7402,7403とを含む。
図75、図76、および図77に、第3の実施の形態にかかるマルチメディアデータ処理装置であるテレビ6で取扱われるテンプレートに含まれるスクリプトの具体例を示す。図75はメディアデータを参照する描画情報記述部を含むスクリプトを示す具体例であり、図76は時間帯に応じた番組情報を記述する番組表情報記述部を含むスクリプトを示す具体例であり、図77は図75、図76に示される両スクリプトを関係付ける記述を含むスクリプトを示す具体例である。なお、図76に示されるスクリプトは、第1の実施の形態における、ユーザナビゲート情報記述部を含むスクリプトに相当するものであるが、本実施の形態においては、テレビ6を視聴するユーザの操作をナビゲートするのではなく、表示再生する番組を時間帯に応じて自動的に決定する役割を果たすスクリプトである。このスクリプトが解析されることによって、番組表情報が得られる。
次に、テレビ6におけるデータ処理の流れを示す。スクリプトの読込みおよび実行処理、ならびにイベント処理に関しては、大まかな流れは図9に示された処理と同様であるため、図9を用いて説明する。
図9を参照して、まずテレビ6は、図75、図76、および図77に示される各スクリプトを取得して(S12)、これらのスクリプトを読込む(S13)。さらに、読み込んだ各スクリプトの構文を解析し(S14)、タイムテーブルを作成する(S15)。その後、作成されたタイムテーブルにしたがって、該スクリプトを実行(S16)する。
より具体的には、図75の14行および15行ではWWWサーバ上の画像ファイルが指定されているので、上述のステップS12ではかかる記載にしたがってWWWサーバ4より該当ファイルが取得され、ステップS16での実行時には領域「right」および「left」で指定される位置であるサブ領域7402,7403に表示される。
また、図75の13行には、メイン領域7401(main)にビデオコンテンツ「tvcontents」を再生表示することが記載されており、かかるビデオコンテンツ「tvcontents」は、図76に示されるスクリプトの記述にしたがって決定される、ムービーデータもしくはTVチャンネルである。図76の5行の記述は、図76に示されるスクリプトが、図75に示されるスクリプトにおけるidが「tvcontents」である部分のメディアデータを指定するものであることを表わしている。
次に、テレビ6において、このビデオコンテンツ「tvcontents」を決定する決定処理の流れを、図78のフローチャートを用いて説明する。
図78を参照して、まず、テレビ6においてスクリプトの描画情報記述部中に「video id=“tvcontents”」と指定されていることが解析されると(S2301でYES)、図76に示されるスクリプトの解析結果である番組表情報を参照して、現在時刻に対応する番組情報を取得する(S2302)。
図76の第6行〜第13行には0時から2時までの間はテレビのチャンネル番号4の番組が、第14行〜第21行には2時から4時までの間は第20行に記述されているURLで指定されるインターネットコンテンツが、ビデオコンテンツ「tvcontents」に該当する旨の記述がなされている。そこで、現在時刻が0時から2時までの間の時刻であれば、かかる記述よりビデオコンテンツ「tvcontents」はチャンネル番号4のテレビ番組であると定まるので、ステップS2303においてその番組情報の種別(テレビ番組であること)が判別されて、その判別結果にしたがってテレビ6は放送局5より該当する放送波を受信して所定の位置に表示する(S2304)。
一方、現在時刻が2時から4時までの間の時刻であれば、かかる記述よりビデオコンテンツ「tvcontents」は図76の第20行に記述されるURLで指定されるインターネットコンテンツであると定まるので、ステップS2303においてその番組情報の種別(インターネットコンテンツであること)が判別されて、その判別結果にしたがってテレビ6はWWWサーバ4より該コンテンツデータを取得して所定の位置に表示する(S2305)。
なお、図76に示されるスクリプトでは4時以降の番組記述部分については省略されているが、かかる時間についても同様の記述があり、現在時刻が上述の時刻以外であっても同様の処理が行なわれる。
以上の処理により、テレビ6において、サブ領域7402,7403にはWWWサーバ4より取得されたメディアデータが再生表示され、メイン領域7401には、図76に示されるスクリプトを解析して得られる番組表情報に基づいて時間帯に応じて指定される、テレビ番組またはインターネットコンテンツが、放送局5またはWWWサーバ4より取得されて再生表示される。
また、本実施の形態では、サブ領域7402,7403にWWWサーバより取得された静止画像データが表示されるものとしたが、かかる領域の表示に関しても、図75の第14行および第15行の記述を第13行と同様の記述にして図76に示されるスクリプトの記述と組合わせることで、または、第1、2の実施の形態で説明したような時間に伴うメディアデータの切替えやイベントに関する記述を加えることによって、時間帯に応じてEPGサーバ3、WWWサーバ4、および放送局5より放送波や番組関連情報などを取得して表示したり、ユーザ操作を受付けるUIコンポーネントを表示して該UIコンポーネントに対してユーザ操作がなされた場合に対応するアクションを実行したりするようにしてもよい。
さらに、かかるアクションとしては、テレビのチャンネル切替えや音量、輝度などの調整、「詳細情報」などのボタンを表示してユーザがこれを押すことによってメイン領域7401で再生されている番組に連動した情報を表示するWEBコンテンツへリンク遷移する、あるいは、テレビ6が録画機能を具備しているか録画機器と接続されている場合には録画操作を行なう、画面のスクリーンショットを記録して他のユーザへメールなどにより送信する、電話機能と連動できる場合には所定の番号への発信を行なう、などが挙げられる。
本実施の形態におけるマルチメディアデータ処理装置であるテレビ6を含んで構成されるデータ通信システムは上述の構成であることから、主にコンテンツ制作業者にとって、テレビ番組やインターネットコンテンツを組合わせたマルチメディアコンテンツデータを容易に作成できるようになるというメリットがある。
なお、第1〜第3実施の形態、および第2の実施の形態に変形例においては、サーバ2から提供されるテンプレートを図2に構成の具体例が示される携帯電話1またはテレビ6において処理する場合について述べたが、テンプレートを処理する処理装置は携帯電話1のような各機能が一体に構成されてなる装置に限定されるものではない。すなわち、受信機などのテンプレートを取得する取得装置、画像を取得するカメラなどのメディアデータ入力装置、およびテレビジョン受像機などのメディアデータ出力装置など、携帯電話1やテレビ6を構成する各機能が各々独立した装置であってもよい。その場合であっても、相互に専用回線を介した通信あるいは無線通信などを行なってデータや制御信号をやり取りし、データ処理装置において、上述のスクリプトの再生および編集処理を実行して、取得装置で取得させたスクリプトを処理し、メディア入力装置で入力させたメディアデータなどを用いて、マルチメディアコンテンツの編集を行なうことができる。そして、メディアデータ出力装置で取得したテンプレート、あるいはテンプレートを編集したマルチメディアデータを再生させることができる。
さらに、このようなスクリプトを実行するスクリプト実行方法を、プログラムとして提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、CD−ROM(Compact Disk-Read Only Memory)、ROM(Read Only Memory)、RAM(Random Access Memory)およびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。