JPH06214690A - 情報同期制御方法、情報伝送装置および情報出力装置 - Google Patents

情報同期制御方法、情報伝送装置および情報出力装置

Info

Publication number
JPH06214690A
JPH06214690A JP5021728A JP2172893A JPH06214690A JP H06214690 A JPH06214690 A JP H06214690A JP 5021728 A JP5021728 A JP 5021728A JP 2172893 A JP2172893 A JP 2172893A JP H06214690 A JPH06214690 A JP H06214690A
Authority
JP
Japan
Prior art keywords
state
information
class
event
script
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP5021728A
Other languages
English (en)
Other versions
JP3590639B2 (ja
Inventor
Yasuaki Yamagishi
靖明 山岸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP02172893A priority Critical patent/JP3590639B2/ja
Publication of JPH06214690A publication Critical patent/JPH06214690A/ja
Application granted granted Critical
Publication of JP3590639B2 publication Critical patent/JP3590639B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 マルチメディアオブジェクトのより細かな同
期制御を可能とする。 【構成】 基本クラスAにおける状態1は、状態番号
1.0,1.1および1.2の状態により構成される。
このうち、例えば基本クラスAの導出クラスBにおける
基本クラスAの状態番号nの状態を細分化した状態の集
合は、状態番号n.0,n.1,n.mの状態により構
成される。同様に、導出クラスBの導出クラスCは、導
出クラスBの状態番号n.mの状態を細分化した状態の
集合3で表され、この集合3は、状態番号n.m.0,
n.m.1,n.m.2およびm.m.kの状態により
構成される。このように、クラスが階層的に定義され
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マルチメディア情報を
表示/再生する情報処理装置において、情報要素間の同
期関係を制御する情報同期制御方法、情報伝送装置およ
び情報出力装置に関する。
【0002】
【従来の技術】ワークステーション、記憶装置、通信装
置などの発展に伴い、テキストデータや静止画像ばかり
でなく、サウンドシークエンス、オーディオビジュアル
等の新しい表現メディア(相互交換されるデータの種
類、符号化された形式で記述される情報そのもの)を利
用したアプリケーションプログラムが普及しつつある。
【0003】この表現メディアの多様化により、各々の
メディアを組み合わせた使い方、すなわち、マルチメデ
ィア(複数種類の表現メディア)を扱う要求が増加し、
それとともに、マルチメディア情報を異なるプラットフ
ォーム間で共有するための標準的な情報の交換形式の規
定が望まれている。
【0004】その1つの例が、情報要素(単一の表現メ
ディアによって表される塊、以下、メディアオブジェク
トととも記す)間の表示/再生における同期制御方式
(時間依存関係の制御方式)の規定である。
【0005】マルチメディア同期制御の制御方式には、
大きく分けて、ビット/パケットレベル、オブジェクト
(1つの意味のまとまり単位)レベルの2つの段階が考
えられる。前者の例にはCCITT勧告H.221等が
あり、後者の例にはISO/IEC/DIS10744
(HyTime)が挙げられる。
【0006】HyTime等、従来のオブジェクトレベ
ルの同期制御方式においては、個々のメディアオブジェ
クトの出現位置/領域が、空間および時間軸上にアドレ
ッシングされている。つまり、表示/再生位置が静的に
スケジュールされている。
【0007】
【発明が解決しようとする課題】マルチメディア情報を
表示/再生する際の情報要素間の同期関係を制御する方
式のうち、オブジェクトレベルの同期制御方式において
は、表示/再生位置を静的にスケジュールする方法が一
般的である。
【0008】しかしながら、このような静的なスケジュ
ーリングのみをサポートする制御方式は、ユーザからの
対話のタイミングによる同期を制御する能力が貧弱であ
る課題を有している。
【0009】例えば、いま、ここに、マルチメディア情
報表示/再生装置があり、この装置は同期関係を記述し
たスクリプト(情報要素間の表示/再生制御のシナリオ
を記述したプログラム)を読み込み、それを実行するこ
とが可能であるものとする。そして、そのスクリプトに
は、ディスプレイ装置の画面上にボタンと動画表示領域
を配置し、ユーザが画面上のボタンを押すと、動画の再
生が行なわれるというように記述されているものとす
る。
【0010】ただし、そのスクリプトは、静的なスケジ
ューリングのみをサポートする同期制御記述方式で記述
されている。ここでいう、静的にスケジューリングする
とは、”ボタンが押された場合には、動画をそのデータ
の最初から再生する。”というような記述の仕方のこと
をいう。
【0011】従って、この場合、動画の再生途中にボタ
ンを押したとき、動画が再生途中であるか否かにかかわ
らず、動画の最初から再生が行なわれ、再生をそのまま
続けるか、最初から再生し直すかの選択ができない。つ
まり、ボタンを押したときの動画の表示状態により、再
生の仕方を細かく制御することができないという問題点
がある。
【0012】従って、ユーザとの対話管理を含めた、マ
ルチメディアオブジェクトの同期制御を効果的に記述す
るためには、スクリプトに、現在表示中のメディアオブ
ジェクトの表示の状態に依存した同期制御を記述する能
力(動的なスケジューリングの能力)が求められる。
【0013】さらに、メディアが異なると、その状態の
種類が異なるため、すべてのメディアに共通な状態とい
うものを定義することができるとともに、個々のメディ
アの特性に依存する状態を定義することができる能力を
有することが望ましい。
【0014】例えば、静止画と動画を例に取ると、静止
画は時間に依存しないデータ(離散メディア)であるた
め、それがもつ表示の状態は大きく分けると、”表示
中”、または”表示されていない”、という2つの状態
のいずれかである。これに対して、動画の場合は、それ
が時間に依存するデータ(連続メディア)であるた
め、”表示中”、または”表示されていない”、という
2つの状態に区分される他、”表示中”はさらに、”通
常の速度での再生”と、”倍速再生”に区分される。
【0015】本発明は、以上のような問題点に鑑みてな
されたものであり、マルチメディア情報の同期制御を行
なうに際し、マルチメディアオブジェクトの表示中のマ
ルチメディア情報要素の状態に依存した細かな同期制御
を可能とすることを目的としている。
【0016】
【課題を解決するための手段】請求項1に記載の情報同
期制御方法は、複数のメディアからの情報を出力する際
の各情報間の同期関係を制御する情報同期制御方法にお
いて、各情報のメディアからの出力状態と、出力状態の
遷移を階層的に定義し、出力状態とその遷移を利用した
スクリプトをもとに、各情報の出力状態の同期を制御す
ることを特徴とする。
【0017】各情報のメディアからの出力状態と、その
遷移は、基本クラス、基本クラスの下位の導出クラス、
または他の導出クラスの下位の導出クラスにより定義す
ることができる。
【0018】また、基本クラスと導出クラスは、メディ
アの状態を定義するステートと、状態の遷移を表わすイ
ベントにより定義することができる。
【0019】請求項4に記載の情報伝送装置は、情報の
メディアからの出力状態とその遷移を階層的に定義する
とともに、出力状態とその遷移を利用したスクリプトを
作成する第1の作成手段としてのクラス定義スクリプト
作成部11と、メディアのオブジェクトデータを作成す
る第2の作成手段としてのメディアオブジェクトデータ
作成部12と、クラス定義スクリプト作成部11とメデ
ィアオブジェクトデータ作成部12の出力を合成して伝
送する伝送手段としての転送制御部13とを備えること
を特徴とする。
【0020】請求項5に記載の情報出力装置は、入力信
号から、階層的に定義された情報のメディアからの出力
状態とその遷移を利用したスクリプトと、メディアのオ
ブジェクトデータとを分離する分離手段としての転送制
御部16と、転送制御部16により分離されたスクリプ
トを解釈する解釈手段としてのスクリプト解釈実行部1
7と、スクリプト解釈実行部17の出力に対応して、転
送制御部16により分離されたオブジェクトデータを処
理する処理手段としての表示制御部18とを備えること
を特徴とする。
【0021】
【作用】本発明の情報同期制御方法、情報伝送装置およ
び情報出力装置においては、各情報のメディアからの出
力状態と、出力状態の遷移を階層的に定義し、出力状態
とその遷移を利用したスクリプトをもとに、各情報の出
力状態の同期が制御される。従って、マルチメディアオ
ブジェクトのより細かな同期制御が可能となる。
【0022】
【実施例】以下に実施例について説明する。本実施例に
おいては、メディアがクラスとして定義され、クラスに
おいて、メディアの状態遷移がイベントとして定義され
る。クラスは、さらに基本クラスと導出クラスとに区分
される。
【0023】 基本クラスのシンタクスは、以下のように定義される。 class <クラス名(文字列)> { state: [<状態番号(正の整数)> : <状態名(文字列)>;]* event: [<イベント番号(正の整数)> : <イベント名(文字列)> : <状態番号(正の整数)> → <状態番号(正の整数)>;]* }
【0024】”state”の項には、状態番号と対応
する状態名の組を記述する。状態番号は、この”sta
te”の項内で一意な整数である。”event”の項
には、”<状態番号(正の整数)>→<状態番号(正の
整数)>”で示される<状態番号(正の整数)>→<状
態番号(正の整数)>の状態遷移を引き起こすイベント
の名前とイベント番号が組にして列挙される。イベント
番号は、この”event”の項内で一意な整数であ
る。なお、”[...]*”は、...が1つ以上出現
することを表す。なお、後述するように、状態番号”
0”として設定された状態は、初期状態とされる。
【0025】導出クラスのシンタクスは、以下のように
定義される。 class <クラス名(文字列)> : <基本クラス名または導出クラス名(文字列)> { state: [<状態番号(正の整数列)> : <状態名(文字列)>;]* event: [<イベント番号(正の整数)> : <イベント名(文字列)> : <状態番号(正の整数列)> → <状態番号(正の整数列)>;]* }
【0026】この”クラス名”で識別される導出クラス
は、親クラスである”基本クラス名”または”導出クラ
ス名”で識別されるクラスの状態遷移と、それを引き起
こすイベントを継承する。この場合、”状態番号”のフ
ォーマットは、”.”で区切られた2つ以上の正の整数
列で表わされ、最も右側の整数の左に隣接する整数は、
1つ上位の親クラスの状態番号を表わす(後述の例を参
照のこと)。すなわち、導出クラスの記述は、親のクラ
ス(基本クラスまたは導出クラス)のある状態を、さら
に細分化した状態を定義することになる。
【0027】例えば、ある基本クラスにおいて、状態番
号n(nは正の整数)が定義される場合、その導出クラ
ス(子クラス)において、親クラスの状態番号nに対応
する状態をさらに細分化して定義するときは、状態番号
をn.m(n、mは正の整数)とする。
【0028】さらに、その導出クラス(子クラス)の導
出クラス(孫クラス)において、子クラスの状態番号
n.mに対応する状態をさらに細分化して定義する場合
は、状態番号をn.m.k(n、m、kは正の整数)と
する。
【0029】以上のことを、図1を参照してさらに説明
する。図1において、1は、基本クラスAにおける状態
の集合を表し、1.0は状態番号0の状態を表し、1.
1は状態番号1の状態を表し、1.2は状態番号nの状
態を表している。また、2は、基本クラスAの導出クラ
スBにおける、Aの状態番号nの状態1.2を細分化し
た状態の集合を表し、2.0は状態番号n.0の状態を
表し、2.1は状態番号n.1の状態を表し、2.2は
状態番号n.mの状態を表している。同様に、3は、導
出クラスBの導出クラスCにおける、Bの状態番号n.
mの状態2.2を細分化した状態の集合を表し、3.0
は状態番号n.m.0の状態を表し、3.1は状態番号
n.m.1の状態を表し、3.2は状態番号n.m.k
の状態を表している。
【0030】上述のクラス定義に記述された状態遷移に
従うオブジェクトの宣言と、それらの表示制御手続きが
スクリプトに記述される。スクリプトのシンタクスは以
下のようになされる。
【0031】オブジェクト定義部は、次のように規定さ
れる。 <オブジェクト定義部> = [<オブジェクト変数> = new <クラス名>(<内容部識別子>);]*
【0032】オブジェクト定義部は、このスクリプトで
記述の対象となるオブジェクトを定義する部分である。
オブジェクト変数は、指定されたクラスのインスタンス
を特定する識別子となる。
【0033】内容識別子は、次式で表わされるように、
そのオブジェクトの表現メディアそのもののデータを特
定する識別子である。 <内容識別子> = content_identifier = <正の整数>
【0034】イニシャルメッセージパッシング記述部
は、次式で表わされ、そのスクリプトが起動されたと
き、一番最初に実行される部分である。 <イニシャルメッセージパッシング記述部> = <メッセージパッシング記述部>
【0035】メッセージパッシング記述部は次式で表わ
される。 <メッセージパッシング記述部> = do {[<イベント名> → <オブジェクト変数>;]*}
【0036】この式により、オブジェクト変数で特定さ
れるオブジェクトに対してイベント名で特定されるイベ
ントが送られる。その結果、対象オブジェクトの状態遷
移が起こる。このイベント名は、対象のオブジェクトの
クラス定義において定義されていなければならない。
【0037】イベントメッセージパッシング記述部は次
式で表わされる。 <イベントメッセージパッシング記述部> = [switch (<イベント判定部>) { [case (<状態判定部>) <メッセージパッシング記述部>]* }]*
【0038】イベント転送の検出(後述)が起こったと
き、すべてのswitch文のイベント判定部に指定さ
れている条件のテストが行なわれ、それが成立した場
合、case文の状態判定部に指定されている条件のテ
ストが行なわれる。テストした条件が成立した場合、メ
ッセージパッシング記述部に記述されているメッセージ
パッシングが行なわれる。
【0039】case文の状態判定部はなくてもよく、
その場合には、ただちにメッセージパッシングが行なわ
れる。
【0040】イベント判定部は次式で表わされる。 <イベント判定部> = <オブジェクト変数> . <イベント判定メソッド>
【0041】オブジェクト変数で特定される対象オブジ
ェクトにおいて当該イベントが起こったか否かをテスト
する。起こっていれば、このイベント判定部が成立する
こととなる。
【0042】イベント判定メソッドは次式で表わされ
る。 <イベント判定メソッド> = isSelected()、または、getMessage(<イベント名>)
【0043】isSelected()メソッドは、対
象オブジェクトに対して”ユーザの選択”(後述)が起
こったか否かをテストするものであり、getMess
age()メソッドは、引き数<イベント名>で特定さ
れるイベントが対象オブジェクトにおいて起こったか否
かをテストするものである。
【0044】状態判定部は次式で表わされる。 <状態判定部> = <オブジェクト変数> . <状態判定メソッド> [<論理演算子> <オブジェクト変数> . <状態判定メソッ
ド>]*
【0045】これは、オブジェクト変数で特定される対
象オブジェクトにおける状態をテストするものであり、
対象オブジェクトが下記の状態判定メソッドの引き数<
状態番号>で特定される状態にあるか否かをテストす
る。 <状態判定メソッド> = testState(<状態番号>)
【0046】なお、<論理演算子> はC言語の論理演
算子(&&(および),||(または))と同じ意味で
ある。
【0047】上述のクラス定義の表記構文と、スクリプ
トの表記構文にもとづいて、具体的なクラス定義とスク
リプトの例を送り側で記述し、それらを伝送媒体を介し
て受け側のマルチメディア情報表示/再生情報処理装置
に伝送し、受け側において、送り側で意図したシナリオ
にもとづいて、マルチメディア情報を同期制御する方法
を以下に説明する。
【0048】最初に、メディア(Media)クラスを
定義する。このクラスに属するオブジェクトのとりえる
状態として、例えば、次の2つの状態を定義する。 あ)表示待機中(WAIT) い)表示中(RUN)
【0049】このオブジェクトが生成されたときの初期
状態は”表示待機中(WAIT)”とする。
【0050】また、イベントとして、次の2つを定義す
る。 ア)run イ)stop
【0051】以上のメディアの定義をまとめると、次の
ようになる。
【0052】図2に示すように、このオブジェクトが状
態”WAIT”の時に、”run”というメッセージを
受けると、このオブジェクトの状態が、”RUN”に遷
移する。また、オブジェクトが状態”RUN”の時
に、”stop”というメッセージを受けると、このオ
ブジェクトの状態が”WAIT”に遷移する。この状態
遷移を表にまとめると、表1に示すようになる。
【0053】
【表1】
【0054】次に、上述のメディアクラスから導出され
る連続メディア(Continuous Media:
再生状態が時間に依存するメディア)クラスを定義す
る。この連続メディアクラスは上述のメディアクラスの
導出クラスであるから、上記2つの状態”WAIT”
と”RUN”を有する。
【0055】さらに、”RUN”の状態を あ)通常再生(PLAY) い)早送り再生(FAST_PLAY) の2つの状態に分ける。このうち、”通常再生(PLA
Y)”を初期状態とする(状態番号を0として設定した
方が初期状態とされる)。
【0056】このようなContinuousMedi
aクラスのクラス定義は次のようになる。
【0057】ここで、”:Media”は、”Cont
inuousMedia”クラスが導出される親クラス
を示す。また、状態番号が”n.m(n,mは正の整
数)”となっているのは、状態”n.m: ...”
が、親クラスの状態”n: ...”に含まれることを
意味する。すなわち、状態”1.0:PLAY”と”
1.1:FAST_PLAY”は、ともに親クラス”M
edia”の状態”1:RUN”の中に含まれる。
【0058】ただし、この場合、状態”1.0:PLA
Y”が初期状態(状態番号が0となっているため)とな
る。つまり、状態”WAIT”のときにイベント”ru
n”を受け取ると、状態”PLAY”に遷移する。ま
た、状態”PLAY”または”FAST_PLAY”の
ときにイベント”stop”を受け取ると、状態”WA
IT”に遷移する。このように、子のクラス(下位のク
ラス)を定義する場合に、親のクラス(上位のクラス)
に定義されている状態遷移を継承させることができる。
【0059】また、以上のContinuousMed
iaクラスの状態遷移を図と表に表わすと、図3と表2
に示すようになる。
【0060】
【表2】
【0061】次に、上述の各クラス(MediaとCo
ntinuousMedia)を用いて、所定のオブジ
ェクトの表示状態を制御するために、例えば、下記のよ
うなスクリプト(スクリプト名”sample”)を定
義する。 script sample { a = new Media(content_identifier = 1); b = new ContinuousMedia(content_identifier = 2); c = new ContinuousMedia(content_identifier = 3); do {run→a;} switch (a.getMessage(run)) { do {run→c;} } switch (a.isSelected()) { case ((b.testState(0)) && (c.testState(0))) do {run→b;} case ((b.testState(1.0)) && (c.testState(0))) do {playFast→b; run→c;} case ((b.testState(0)) && (c.testState(1.0))) do {run→b; playFast→c;} } switch (c.getMessage(stop)) { case ((a.testState(1) && b.testState(0)) do {stop→a;} } }
【0062】即ち、この実施例においては、オブジェク
トaがクラスMediaとして規定され、オブジェクト
bとcがクラスContinuousMediaとして
規定される。そして、それぞれはID(content
_identifier)1,2または3として識別さ
れるようになされている。
【0063】do {run→a;} は、オブジェクトaにイベントrunを転送することを
意味している。 は、aというオブジェクトがrunというメッセージを
受けたとき、cというオブジェクトにrunというイベ
ントを転送することを意味している。
【0064】 switch (a.isSelected()) { case ((b.testState(0)) && (c.testState(0))) do {run→b;} case ((b.testState(1.0)) && (c.testState(0))) do {playFast→b; run→c;} case ((b.testState(0)) && (c.testState(1.0))) do {run→b; playFast→c;} } は、オブジェクトaが選択されたとき、各caseの条
件が充足されるか否かを順次判定するものである。この
うち、例えば case ((b.testState(0)) && (c.testState(0))) do {run→b;} は、オブジェクトbの状態が0(WAIT)であり、か
つ、オブジェクトcの状態も0(WAIT)であると
き、オブジェクトbに対して、runのイベントを転送
することを意味している。
【0065】図4に、上述のクラス定義とスクリプトを
交換するマルチメディア情報表示/再生装置(情報伝送
装置または情報出力装置)の構成例を示す。この実施例
においては、図中左側が、クラス定義とスクリプトの作
成を行う送り側31とされ、図中右側が、表示制御を行
なう受け側32とされている。
【0066】上述したクラス定義部のファイルとスクリ
プトのファイルが、送り側31のクラス定義/スクリプ
ト作成部11において作成される。さらに、スクリプト
におけるcontent_identifier1,
2,3に対応する表現メディアのオブジェクトが、メデ
ィアオブジェクトデータ作成部12において作成され
る。例えば、content_identifier1
のデータとして、符号化方式Aで符号化された静止画の
データが含まれているファイルが作成され、conte
nt_identifier2のデータとして、符号化
方式Bで符号化された音声のデータが含まれているファ
イルが作成され、さらに、content_ident
ifier3のデータとして、符号化方式Cで符号化さ
れた動画のデータが含まれているファイルが作成され
る。
【0067】この例においては、スクリプトから判るよ
うに、content_identifier1に対応
するオブジェクトはMediaクラスのオブジェクトで
あり、content_identifier2,3に
対応するオブジェクトはContinuousMedi
aクラスのオブジェクトであり、符号化方式にそれぞれ
A,B,Cを選んでいるが、他の符号化方式を用いるこ
とができるのは勿論である。すなわち、スクリプトその
ものは、表現メディアの符号化方式に依存しないため、
受け側32の能力に合わせた符号化方式を選択すること
ができる。
【0068】それぞれの表現メディアオブジェクトファ
イルのデータ構造には、content_identi
fierを記述するレコード、符号化方式を記述するレ
コード、表示属性を記述するレコード、および符号化さ
れたデータが格納されるレコードがある。
【0069】クラス定義スクリプト作成部11により作
成したクラス定義部とスクリプトのファイル、並びに、
メディアオブジェクトデータ作成部12により作成され
たメディアオブジェクトのファイルは、転送制御部13
に入力され、合成される。転送制御部13より出力され
たデータは、通信制御装置14において所定の方式で変
調され、伝送媒体10に伝送される。
【0070】伝送媒体10と転送制御プロトコルには、
例えば、EthernetとTCP/IPを用いること
ができる。勿論、その他の組合せを用いることも可能で
ある。
【0071】受け側32においては、伝送媒体10を介
して伝送されてきたデータを通信制御装置15が受信、
復調し、これを転送制御部16に供給する。転送制御部
16は、受け取ったファイルを分離し、クラス定義部と
スクリプトのファイルをスクリプト解釈/実行部17に
供給し、残りの表現メディアオブジェクトのファイルを
表示制御部18に供給する。
【0072】スクリプト解釈/実行部17においてクラ
ス定義またはスクリプトが解釈される以前に、送り側3
1と受け側32の間で(具体的には送り側31のクラス
定義/スクリプト作成部11と、受け側32のスクリプ
ト解釈/実行部17の間で)、各クラスの状態の表示上
の意味について合意がなされている必要がある。例え
ば、この実施例では、Mediaクラスの状態WAIT
とRUNや、CoutinuousMediaクラスの
状態PLAYとFAST_PLAYの違いについて合意
がなされている必要がある。
【0073】本実施例においては、状態を識別したり、
状態間の遷移を定義することは可能であるが、個々の状
態の表示上の意味については定義されていない。従っ
て、スクリプトの交換(伝送)に先立ち、予め各クラス
の状態の意味について合意を行なうという過程が必要と
なるのである。
【0074】以上のような合意が予めなされている状態
で、最初にスクリプト解釈/実行部17において、クラ
ス定義部の解釈が行なわれ、次にスクリプトの<オブジ
ェクト定義部>が解釈され、オブジェクトa,b,cの
状態情報を記憶する領域が確保される。状態情報を記憶
する領域には、オブジェクトa,b,cの各々の状態番
号が記憶される。クラス定義から、オブジェクトaは1
桁の状態番号を持ち、オブジェクトb,cは2桁の状態
番号を持つことが判るので、表3に示すように、各々の
オブジェクトに対して2つの整数のフィールド1,2を
持つレコードが定義される。
【0075】
【表3】
【0076】スクリプト解釈/実行部17では、すべて
のオブジェクトを初期状態にセットする。すなわちオブ
ジェクトa,b,cのいずれも状態”WAIT”にな
り、すべてのフィールドは”0”で初期化される(表4
の状態no.1参照)。
【0077】
【表4】
【0078】このとき、スクリプト解釈/実行部17に
おいて、スクリプトの<イニシャルメッセージパッシン
グ記述部>が解釈され、”run”という名前のイベン
トがオブジェクトaに送られる。
【0079】オブジェクトaは、上述したように、次の
ような文により、Mediaクラスのオブジェクトと宣
言されている。 a = new Media(content_identifier = 1); このため、Mediaクラスの定義により、イベント”
run”を受け取ると、状態が0から1、すなわち状
態”WAIT”から状態”RUN”に遷移することにな
る。従って、オブジェクトaの状態情報を記憶する領域
の第1フィールドには状態番号”1”が記憶される(表
4における状態no.2参照)。
【0080】このときまた、スクリプト解釈/実行部1
7は、表示制御部18に対して、オブジェクトaの内容
部を表示するよう要求する。これにより、表示制御部1
8は、content_identifier=1に対
応する表現メディアオブジェクトのデータ(符号化方式
Aにて符号化されている)を、内蔵する復号器(符号化
方式Aに対応する、例えばMR(modified r
ead)復号器)により復号化し、内蔵するディスプレ
イに表示させる。
【0081】このように、あるイベントがあるオブジェ
クトに送られ、その対象オブジェクトの状態遷移が起こ
る事象を、”イベントの転送が検出される”という。ス
クリプト解釈/実行部17は、表示制御部18によりイ
ベント転送が検出された場合、スクリプトの<イベント
メッセージパッシング記述部>の<イベント判定部>を
1つずつテストする。
【0082】いまの場合、最初の文 の<イベント判定部>に該当するイベントが起こったこ
とになるため、do以降の<メッセージパッシング記述
部> do {run→c;} が実行される。すなわち、”run”という名前のイベ
ントがオブジェクトcに送られる。
【0083】オブジェクトcは文 c = new ContinuousMedia(content_identifier = 3); により、ContinuousMediaクラスのオブ
ジェクトと宣言されているが、ContinuousM
ediaクラスの定義には、イベント”run”を受け
取った場合の状態遷移の定義がなされていない。しかし
ながら、このContinuousMediaクラスの
親クラスがMediaクラスであるので、Mediaク
ラスに定義されているイベント”run”を受け取った
場合の状態遷移定義に従い、オブジェクトcの状態が状
態”RUN”、すなわち状態”PLAY”になる。なぜ
なら、ContinuousMediaクラスの定義に
より、親クラスの状態”RUN”の初期状態が状態”P
LAY”になると宣言されているためである。
【0084】そして、オブジェクトcの状態情報を記憶
する領域の第1フィールドに状態番号1が、第2フィー
ルドに状態番号0が記憶される。すなわち、状態番号”
1.0”が記憶されることになる(表4の状態no.3
参照)。このとき、スクリプト解釈/実行部17は、表
示制御部18に対して、オブジェクトcの内容部、すな
わち、content_identifier=3に対
応する表現メディアオブジェクトを表示するよう要求す
る。表示制御部18は、この要求に対応して、符号化方
式Cの復号器により動画データを復号し、ディスプレイ
に表示させる。
【0085】ここで、オブジェクトcの動画の内容が再
生されている途中で、ユーザがディスプレイ上で、例え
ばマウス等の表示制御部18の管理下の指示装置によ
り、オブジェクトaを指示したとすると、オブジェクト
スクリプト解釈/実行部17にイベント転送の検出が通
知(この場合のイベントは表示状態の遷移を起こさない
特別なものである。つまり、オブジェクトaの表示領域
内においてユーザの指示が起こったという事象のみが通
知)され、スクリプトの<イベントメッセージパッシン
グ記述部>の<イベント判定部>がテストされる。
【0086】このとき、このイベントが、 switch (a.isSelected()) { } に該当するイベントであることが判るため、このswi
tch文の中の各case文の<状態判定部>がテスト
される。
【0087】いまの場合、 case ((b.testState(0)) && (c.testState(1.0))) do {playFast→c;} に該当するので(オブジェクトbが状態”WAIT”で
あり、かつ、オブジェクトcが状態”PLAY”である
ので)、 <メッセージパッシング記述部> do {playFast→c;} が実行され、”playFast”という名前のイベン
トがオブジェクトcに送られる。
【0088】これにより、オブジェクトcは状態が、”
PLAY”から”FAST_PLAY”に遷移する。従
って、オブジェクトcの状態情報を記憶する領域に、状
態番号”1.1”が記憶される(表4の状態no.4参
照)。またこのとき、オブジェクトcの動画の再生速度
を早くする指令が、スクリプト解釈/実行部17から表
示制御部18に通知され、表示制御部18において、オ
ブジェクトcの動画が高速再生される。
【0089】この後、オブジェクトcの再生が終了する
(データの最後まで再生してしまう)と、オブジェクト
cに対して”stop”というイベントが送られ、オブ
ジェクトcの状態が状態”WAIT”に遷移し、状態番
号が”0”に設定される(表4の状態no.5参照)。
【0090】この”stop”イベントの転送は、スク
リプトそのものには記述されていない特別なもので、時
間に依存する連続メディアの再生が終了したときに限
り、表示制御部18が”stop”イベントの転送が起
こったとものとみなし、スクリプト解釈/実行部17に
対してイベント転送の検出を通知する。
【0091】このとき、スクリプトの<イベントメッセ
ージパッシング記述部>の<イベント判定部>がテスト
され、このイベントが、 switch (c.getMessage(stop)) { } に該当するイベントであることが判るため、このswi
tch文の中の各case文の<状態判定部>がテスト
される。
【0092】いまの場合、オブジェクトaが状態”PL
AY”であり、かつ、オブジェクトbが状態”WAI
T”であるから、 case ((a.testState(1) && b.testState(0)) do {stop→a;} の<メッセージパッシング記述部> do {stop→a;} が実行され、オブジェクトaの表示がディスプレイから
消えて、状態が状態”WAIT”に遷移する(表4の状
態no.6参照)。
【0093】上述の表4の状態no.3において、オブ
ジェクトcの再生が終了してしまった後に、ユーザがデ
ィスプレイ上でオブジェクトaを指示した場合の表示の
流れは、表5に示すようになる。
【0094】
【表5】
【0095】オブジェクトcの再生が終了した場合、オ
ブジェクトcに対して”stop”というイベントが送
られたものとみなされ、オブジェクトcの状態が”WA
IT”に遷移し、状態番号が”0”に設定される(表5
の状態no.4参照)。スクリプト解釈/実行部17に
イベント転送の検出が通知され、オブジェクトaの内容
がディスプレイから消えて、状態が”WAIT”に遷移
する(表5の状態no.5参照)。
【0096】従って、以後は、ユーザがディスプレイ上
でマウス等の指示装置により、オブジェクトaを指示す
ることができないため、オブジェクトの状態遷移の表4
の場合と異なる状態の流れとなる。
【0097】以上の処理をフローチャートに表すと、図
5および図6に示すようになる。即ち、図5に示すよう
に、最初にステップS1において、クラス定義部の解釈
を行い、次にステップS2において、スクリプトの解釈
/実行を行う。
【0098】このステップS2におけるスクリプトの解
釈/実行の処理の詳細は、図6に示されている。
【0099】即ち、最初にステップS11において、オ
ブジェクト定義部の解釈が実行される。次にステップS
12に進み、ステップS11におけるオブジェクト定義
部の解釈に対応して、オブジェクト状態領域の確保が実
行される。さらにステップS13においては、ステップ
S12において確保したオブジェクト状態記憶領域が初
期化される。
【0100】次にステップS14において、イニシャル
メッセージパッシング記述部が実行され、そしてステッ
プS15において、オブジェクト状態が更新される。
【0101】ステップS16においては、event_
check_counterが1にセットされる。そし
て、次にステップS17に進み、event_chec
k_counter番目(いまの場合、この値は、ステ
ップS16において1に設定されている)のイベント判
定部のテストが実行される。テストの結果が正しいと
き、ステップS18に進み、state_check_
counterに1が設定される。
【0102】次にステップS19に進み、state_
check_counter番目(いまの場合、この値
は、ステップS18において1に設定されている)の状
態判定部のテストが実行される。このテストの結果が正
しいとき、ステップS20に進み、state_che
ck_counter番目のメッセージパッシング記述
部が実行される。
【0103】ステップS20における処理の後、ステッ
プS21に進み、state_check_count
erの値が1だけインクリメントされる。ステップS1
9において、state_check_counter
番目の状態判定部のテストの結果が誤りであると判定さ
れた場合においては、ステップS20の処理はスキップ
され(そのメッセージパッシング記述部は実行され
ず)、ステップS21の処理が実行される。
【0104】次にステップS22に進み、state_
check_counterの値が1つのswitch
文における状態判定部の総数と等しいか否かが判定され
る。ステップS22における判定がNOである場合にお
いては、ステップS19に戻り、それ以降の処理が繰り
返される。ステップS22における判定がYESである
場合においては、ステップS23に進み、event_
check_counterを1だけインクリメントす
る。ステップS17において、event_check
_counter番目のイベント判定部のテストの結果
が誤りであると判定された場合においては、ステップS
18乃至S22における処理がスキップされ、ステップ
S23の処理が実行される。
【0105】ステップS23の次にステップS24に進
み、ステップS23でインクリメントしたevent_
check_counterの値がイベント判定部の総
数と等しいか否かが判定される。ステップS24の判定
がNOである場合においては、ステップS17に戻り、
それ以降の処理が繰り返し実行される。ステップS24
の判定がYESである場合においては、ステップS25
に進み、イベント転送の検出待ちの状態となる。そし
て、イベント転送が検出されたとき、ステップS25か
らステップS15に戻り、それ以降の処理が繰り返し実
行される。
【0106】以上においては、送り側31から受け側3
2に対して、伝送媒体10を介してクラス定義とスクリ
プトを伝送するようにしたが、例えば図7に示すよう
に、蓄積媒体20を介して送り側31から受け側32に
対して、これらのデータを伝送することが可能である。
この場合においては、図4の実施例における通信制御装
置14,15が、蓄積媒体制御装置21,22に変更さ
れる。蓄積媒体制御装置21は、転送制御部13より供
給されるデータを蓄積媒体20に記録し、蓄積媒体制御
装置22は、蓄積媒体20に記録されたデータを再生
し、転送制御部16に出力する。
【0107】以上においては、クラス定義/スクリプト
の交換に先立ち、予め各クラスの状態の表示上の意味に
ついて、送り側と受け側の間で、合意がなされていなけ
ればならないことを述べたが、これは、例えば、標準化
機関等において、クラス定義の登録手続きを規定し、ク
ラス名により一意に参照可能なクラス定義と、そこで記
述されている状態の表示上の意味を記述したドキュメン
トを登録することにより実現することができる。
【0108】このようにすれば、クラス定義の部分を広
範囲の異なるシステムにおいて共有することができる。
また、スクリプトの汎用性(さまざまなベンダーからの
システム/プラットフォーム上でのスクリプトの互換
性)が保証されることとなる。
【0109】
【発明の効果】以上の如く、本発明の情報同期制御方
法、情報伝送装置または情報出力装置によれば、各情報
のメディアからの出力状態と、出力状態の遷移を階層的
に定義し、出力状態とその遷移を利用したスクリプトを
もとに、各情報の出力状態の同期を制御するようにした
ので、マルチメディアオブジェクトのより細かな同期制
御が可能となる。
【図面の簡単な説明】
【図1】クラスの階層的定義による状態遷移の承継を説
明する図である。
【図2】メディアクラスの状態遷移を説明する図であ
る。
【図3】連続メディアクラスの状態遷移を説明する図で
ある。
【図4】本発明の情報伝送装置および情報出力装置の一
実施例の構成を示すブロック図である。
【図5】図4の実施例の動作を説明するフローチャート
である。
【図6】図5のステップS2のより詳細な処理を説明す
るフローチャートである。
【図7】本発明の情報伝送装置および情報出力装置の他
の実施例の構成を示すブロック図である。
【符号の説明】
11 クラス定義スクリプト作成部 12 メディアオブジェクトデータ作成部 13 転送制御部 14,15 通信制御装置 16 転送制御部 17 スクリプト解釈/実行部 18 表示制御部 20 蓄積媒体 21,22 蓄積媒体制御装置

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 複数のメディアからの情報を出力する際
    の各情報間の同期関係を制御する情報同期制御方法にお
    いて、 各情報のメディアからの出力状態と、前記出力状態の遷
    移を階層的に定義し、前記出力状態とその遷移を利用し
    たスクリプトをもとに、各情報の出力状態の同期を制御
    することを特徴とする情報同期制御方法。
  2. 【請求項2】 前記各情報のメディアからの出力状態
    と、その遷移は、基本クラス、前記基本クラスの下位の
    導出クラス、または他の導出クラスの下位の導出クラス
    により定義されることを特徴とする請求項1に記載の情
    報同期制御方法。
  3. 【請求項3】 前記基本クラスと導出クラスは、前記メ
    ディアの状態を定義するステートと、前記状態の遷移を
    表わすイベントにより定義されることを特徴とする請求
    項2に記載の情報同期制御方法。
  4. 【請求項4】 情報のメディアからの出力状態とその遷
    移を階層的に定義するとともに、前記出力状態とその遷
    移を利用したスクリプトを作成する第1の作成手段と、 前記メディアのオブジェクトデータを作成する第2の作
    成手段と、 前記第1の作成手段と第2の作成手段の出力を合成して
    伝送する伝送手段とを備えることを特徴とする情報伝送
    装置。
  5. 【請求項5】 入力信号から、階層的に定義された情報
    のメディアからの出力状態とその遷移を利用したスクリ
    プトと、メディアのオブジェクトデータとを分離する分
    離手段と、 前記分離手段により分離されたスクリプトを解釈する解
    釈手段と、 前記解釈手段の出力に対応して、前記分離手段により分
    離された前記オブジェクトデータを処理する処理手段と
    を備えることを特徴とする情報出力装置。
JP02172893A 1993-01-14 1993-01-14 情報同期制御方法、情報伝送装置および情報出力装置 Expired - Fee Related JP3590639B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02172893A JP3590639B2 (ja) 1993-01-14 1993-01-14 情報同期制御方法、情報伝送装置および情報出力装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02172893A JP3590639B2 (ja) 1993-01-14 1993-01-14 情報同期制御方法、情報伝送装置および情報出力装置

Publications (2)

Publication Number Publication Date
JPH06214690A true JPH06214690A (ja) 1994-08-05
JP3590639B2 JP3590639B2 (ja) 2004-11-17

Family

ID=12063140

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02172893A Expired - Fee Related JP3590639B2 (ja) 1993-01-14 1993-01-14 情報同期制御方法、情報伝送装置および情報出力装置

Country Status (1)

Country Link
JP (1) JP3590639B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08511891A (ja) * 1993-03-31 1996-12-10 カレイダ ラブズ インコーポレイテッド 同期クロック及びメディアプレーヤー
JP2008539516A (ja) * 2005-04-29 2008-11-13 マイクロソフト コーポレーション アプリケーションフレームワークのフェージングモデル

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60140473A (ja) * 1983-12-28 1985-07-25 Hitachi Ltd 生長モデル表示装置
JPH02216588A (ja) * 1989-02-17 1990-08-29 Hitachi Ltd 対話型スクリプト・アニメーション生成方法
JPH04282775A (ja) * 1991-03-12 1992-10-07 Fujitsu Ltd 説明画面制御処理装置
JPH0581406A (ja) * 1991-01-29 1993-04-02 Fujitsu Ltd 動画表示処理装置
JPH05242208A (ja) * 1992-03-03 1993-09-21 Nippon Telegr & Teleph Corp <Ntt> マルチメディアシナリオ編集装置およびその方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60140473A (ja) * 1983-12-28 1985-07-25 Hitachi Ltd 生長モデル表示装置
JPH02216588A (ja) * 1989-02-17 1990-08-29 Hitachi Ltd 対話型スクリプト・アニメーション生成方法
JPH0581406A (ja) * 1991-01-29 1993-04-02 Fujitsu Ltd 動画表示処理装置
JPH04282775A (ja) * 1991-03-12 1992-10-07 Fujitsu Ltd 説明画面制御処理装置
JPH05242208A (ja) * 1992-03-03 1993-09-21 Nippon Telegr & Teleph Corp <Ntt> マルチメディアシナリオ編集装置およびその方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08511891A (ja) * 1993-03-31 1996-12-10 カレイダ ラブズ インコーポレイテッド 同期クロック及びメディアプレーヤー
JP2008539516A (ja) * 2005-04-29 2008-11-13 マイクロソフト コーポレーション アプリケーションフレームワークのフェージングモデル

Also Published As

Publication number Publication date
JP3590639B2 (ja) 2004-11-17

Similar Documents

Publication Publication Date Title
EP2109109B1 (en) Rendering of text-based subtitle data including user selectable style information
RU2453908C2 (ru) Интерфейсы для обработки цифровых мультимедийных данных
US7500175B2 (en) Aspects of media content rendering
JP4694813B2 (ja) イベント発生情報が記録された情報保存媒体、その再生装置及び再生方法
JP5444221B2 (ja) メタデータのエンコーディング/デコーディング方法及び装置
US9460753B2 (en) Media scrubbing using a media processor
EP2062259B1 (en) Timing aspects of media content rendering
RU2292584C2 (ru) Способ и устройство для синхронизации интерактивного содержимого
US20070006065A1 (en) Conditional event timing for interactive multimedia presentations
EP1908072A2 (en) State-based timing for interactive multimedia presentations
JP2010238356A (ja) インタラクティブグラフィックストリームを記録した情報記録媒体、その再生装置及び方法
KR20040086877A (ko) 동영상 데이터 및 부가 데이터를 저장한 정보 저장 매체,그 재생 장치 및 방법
KR100258119B1 (ko) 대화형 멀티미디어시스템에 있어서 유저정보 편집 및 편집된정보 재생방법
JPH06214690A (ja) 情報同期制御方法、情報伝送装置および情報出力装置
KR20050037089A (ko) 모드 정보가 포함된 동영상 데이터가 기록된 저장 매체,재생 장치 및 재생 방법
KR20050041833A (ko) 프로그램 관리 정보가 기록된 저장 매체, 이를 재생하기위한 방법 및 그 장치
TWI779848B (zh) 切換裝置及其切換方法
KR20050033408A (ko) 프리로드 정보가 기록된 정보저장매체, 그 재생장치 및재생방법
RU2351002C2 (ru) Программный интерфейс приложения демультиплексора
MXPA06005153A (en) Storage medium storing text-based subtitle data including style information, and apparatus and method of playing back the storage medium
KR20060134732A (ko) 제한된 자원을 가진 시스템에서 복수의 멀티미디어스트림을 처리하는 방법 및 장치

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040716

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040823

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080827

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090827

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100827

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110827

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120827

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees