(57)【特許請求の範囲】
【請求項１】
フレームレートの異なる動画、静止画あるいはテキストを含む映像オブジェクトを表示記述言語に従って画面上で同期合成して表示する映像表示装置において、
前記表示記述言語を解読処理する表示記述言語処理手段と、
この手段で処理された表示記述内容に基づいてシステムのフレームレートを設定するフレームレート設定手段と、
前記表示記述言語処理手段で処理された表示記述に示される動画のフレームが表示されるべき時間と前記フレームレート設定手段で得られるシステムの表示フレームの表示時間とを比較して、動画の表示時間の近傍に存在するシステムの表示フレームを求める動画表示フレーム検出手段と、
この手段で求められたシステムフレームに動画のフレームを合わせ、前記静止画あるいはテキストと共に前記フレームレート設定手段で設定されたレートで合成表示する表示手段とを具備する映像表示装置。
【請求項２】
前記表示記述言語処理手段は、表示記述内容から前記動画、静止画、テキストの位置を含む属性情報と共に、処理結果を表示する時間を解読することを特徴とする請求項１記載の映像表示装置。
【請求項３】
前記表示記述言語処理手段は、記述されている表示時間がシステムのフレームレートによる表示タイミングと異なる場合に、表示時間の近傍に存在するシステムフレームを求める表示フレーム検出手段と、この手段で求められたシステムフレームに前記映像オブジェクトを表示するように指示する表示指示手段とを備えることを特徴とする請求項２記載の映像表示装置。
【請求項４】
前記表示記述言語処理手段は、複数の記述を個別に実行する手段と、この記述を実行した結果得られる各々の画面の合成を指示する合成指示手段とを備えることを特徴とする請求項１記載の映像表示装置。
【請求項５】
前記表示記述言語処理手段は、時間をジャンプする記述がある場合、その差分のオフセットを表示時間設定用の時間カウンタに加算して実行することを特徴とする請求項１記載の映像表示装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、可変フレームレートの動画を静止画、テキスト等のオブジェクトと合成して表示する映像表示装置に関する。
【０００２】
【従来の技術】
従来のテレビジョン放送における映像表示装置にあっては、動画は固定レートであるため、文字などを合成して表示する場合は、動画のフレームレートに応じた同期信号に合わせるようにしている。
【０００３】
これに対し、近時、ＭＰＥＧ４（Moving Picture Experts Group phase4 ）によるオブジェクト処理が開発され、オブジェクト単位に伝送し、表示記述言語によりオブジェクト単位にその属性値や伝送レートや内容を定めることができるようになる。また、送出側に工夫を加えて、オブジェクト単位に伝送レートや内容を自由に変更できるようになる。
【０００４】
しかしながら、この方式では、動画のフレームレートが可変となるため、これらの動画を複数表示したり、静止画及びテキストを表示時間が記述された表示記述言語に基づいて動画と合成するような場合、動画を更新もしくは静止画を移動・更新するたびに描画を行わなければならない。これは非常にシステムに負担がかかり、パフォーマンスを落とす原因となる。
【０００５】
また、表示時間が記述された表示記述言語では、時間と共にシーケンスが流れていくが、部分的にスクロールさせるなど、ループするような記述を行いたい場合、さらに番組の中心となる他の静止画やテキストとは時間記述通りに平行して再生させる必要があり、システムに過大な負担がかかってしまう。
【０００６】
【発明が解決しようとする課題】
以上述べたように、フレームレートの異なる動画や静止画、テキストなどのオブジェクトを表示記述言語に従って画面上で合成表示する場合には、システムに過大な負担がかかり、パフォーマンスを低下させる原因となる。
【０００７】
本発明は、上記の問題を解決し、システムに過大な負担をかけずに、表示時間が記述された表示記述言語に従って、フレームレートの異なる動画や静止画、テキストなどのオブジェクトを画面上で合成表示することのできる映像表示装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記の目的を達成するために本発明に係る映像表示装置は、以下のように構成される。
（１）フレームレートの異なる動画、静止画あるいはテキストを含む映像オブジェクトを表示記述言語に従って画面上で同期合成して表示する映像表示装置において、
前記表示記述言語を解読処理する表示記述言語処理手段と、
この手段で処理された表示記述内容に基づいてシステムのフレームレートを設定するフレームレート設定手段と、
前記表示記述言語処理手段で処理された表示記述に示される動画のフレームが表示されるべき時間と前記フレームレート設定手段で得られるシステムの表示フレームの表示時間とを比較して、動画の表示時間の近傍に存在するシステムの表示フレームを求める動画表示フレーム検出手段と、
この手段で求められたシステムフレームに動画のフレームを合わせ、前記静止画あるいはテキストと共に前記フレームレート設定手段で設定されたレートで合成表示する表示手段とを具備する。
【０００９】
（２）前記表示記述言語処理手段は、表示記述内容から前記動画、静止画、テキストの位置を含む属性情報と共に、処理結果を表示する時間を解読する。
（３）前記表示記述言語処理手段は、記述されている表示時間がシステムのフレームレートによる表示タイミングと異なる場合に、表示時間の近傍に存在するシステムフレームを求める表示フレーム検出手段と、この手段で求められたシステムフレームに前記映像オブジェクトを表示するように指示する表示指示手段とを備える。
【００１０】
（４）前記表示記述言語処理手段は、複数の記述を個別に実行する手段と、この記述を実行した結果得られる各々の画面の合成を指示する合成指示手段とを備える。
【００１１】
（５）前記表示記述言語処理手段は、時間をジャンプする記述がある場合、その差分のオフセットを表示時間設定用の時間カウンタに加算して実行する。
すなわち、上記発明の構成による映像表示装置では、システムレートを設定し、表示はこのレートで行うものとする。このレートに可変レートの動画を時間的に合わせ込むことで表示を行う。表示記述言語の場合も、同様に、指定表示時間がシステムレートと合わなければ、システムレートに合うように表示の時間を合わせ込む。
【００１２】
ループを可能にするために、複数の表示記述言語がある場合、他の表示記述言語を起動できるようにする。この場合、各表示記述言語に記述されている時間と現在の記述を実行する時間が合わなくなるが、この場合には、カウンタを用いてオフセットを加えるようにすればよい。さらに、局所的なループを実現する場合、カウンタによってオフセットを加えることで、ジャンプ先の時間に修正することができる。このようにすることで、フレキシブルでかつシステムに負担のかからない映像表示装置を実現することができるようになる。
【００１３】
具体的には、動画、静止画、テキストを混在して表示する場合に、システムの表示レート（例えば３０フレーム／ｓ）を設定してこれに動画のフレームレート（例えば２０、２５フレーム／ｓ、または完全に可変）を合わせ込む。この前提で、静止画、テキストの位置を表示記述言語で時間指定してスクロールのように場所を徐々に移動させる場合、動画のレートで無理矢理表示すると、時間間隔が合わなくなり、スクロールがスムーズに動作しなくなる。
【００１４】
そこで、本発明では、動画のフレームをシステムのフレームに合わせ、システムフレームとの時間同期する表示記述言語によって静止画、テキスト、動画の位置を制御する。これによれば、スクロールなどをスムーズに実現できる。但し、動画は時間的な位置が多少ずれるが、ほとんど不自然さは感じない程度である。また、表示記述言語が複数与えられた場合でも、この基本概念を崩すことなくシステムを構成することができ、表示の自由度を拡張することができる。
【００１５】
【発明の実施の形態】
以下、本発明の実施の形態を説明するに先立ち、図１及び図２を参照して本発明に係る映像表示装置の概要について簡単に説明する。
図１はシステムレートを設定したとき、例えば２０フレーム／秒（以下、ｆ／ｓ）、２５ｆ／ｓの動画がどのようにシステムレートに合わせ込まれるかを図示している。この図では、説明を簡単にするため、動画が固定のレートをとる場合を示しているが、実際には可変レートであり、図に示すような定まった間隔ではなく、その近傍で与えられる。
【００１６】
図２は表示記述言語の動画コーディックから与えられる表示時間をどのシステムレートに合わせるかを計算するフローチャートである。基本的には、コーディックから得られる表示時間と次のシステムフレームの先頭タイミングとの差を計算し、システムレートの半分より大きいか小さいかで前後のフレームに振り分ける方法をとっている。
【００１７】
すなわち、図２において、動画コーディックから次の１画面と表示時間ｔｃを受け取り（Ｓ１）、次のシステムフレーム（図１の例では静止画またはテキスト）の表示時間ｔｓを求めた後（Ｓ２）、｜ｔｃ−ｔｓ｜＜ｔｒ／２（ｔｒはシステムレートの間隔）を満足するか否かを判断し（Ｓ３）、満足するまでステップＳ２の処理を繰り返す。上式を満足した場合、次のシステムフレームの先頭位置がくるまで待機し（Ｓ４）、システムフレームの先頭位置で表示を行う（Ｓ５）。
【００１８】
この図では、動画表示が時間的に前のフレームで行われる場合があるが、この計算は直前のシステムフレーム間で行われるので矛盾はない。
図３は表示時間が記述された表示記述言語の例である。この例では、一番左のカラムで時間、次のカラムで何の要素に作用するのかを示すオブジェクトＩＤ、一番右のカラムでコマンドを与えている。さらに、１行目にシステムレートの設定を行い（set ）、２行目ではテキストの位置設定（point ）、３行目では動画の位置設定（point ）、４行目では静止画の位置設定（point ）、５行目ではテキストの位置設定（point ）を行う。
【００１９】
本発明では、先に述べたシステムレートと整合性を取る手段と、上記のような表示記述言語を実行する手段を有することで、動画、静止画、テキストの合成を少ない負荷で行えるようにしている。
【００２０】
図４は本発明に係る実施の形態として、上記の処理を実現するデジタル放送システムの全体構成を示すブロック図である。
このシステムは、放送局に設置され、番組を制作、送信する放送番組作成装置１１と、一般家庭に設置され、放送局からの番組を受信表示する映像表示装置１２とで構成される。尚、ここでは説明を簡単にするため、伝送系については簡略して図示し、その説明は省略する。
【００２１】
放送番組作成装置１１では、オーサリング装置１１１により素材格納部１１２に予め格納された素材の中から任意の静止画、テキスト、動画を選び出し、これらの組み合わせ、表示タイミングや動作を表示記述言語によって指定する。ここで作成された表示記述言語及び選出された静止画、テキスト、動画の各素材はそれぞれ該当するデータベース１１３〜１１６に格納される。
【００２２】
放送時刻になると、各データベース１１４〜１１６に格納された素材はエンコード部１１７〜１１９によりエンコードされた後、多重部１１１０によりデータベース１１３からの表示記述言語と合わせて合成され、１本のビット列となって、１つの番組として映像表示装置１２に送られる。
【００２３】
映像表示装置１２では、分離部１２１により受信番組のビット列から表示記述言語と各素材毎に分離される。このうち、静止画及びテキストはデコード部１２２〜１２３でデコードされた後、描画処理部１２４に送られる。
【００２４】
一方、動画はデコード部１２５でデコードされた後、いったん表示バッファ１２６に保持される。また、デコード部１２５で得られる動画表示タイミングは表示判定部１２７に入力される。この表示判定部１２７は、システムフレーム発生部１２８により設定される次の表示時間とデコード部１２５からの動画表示タイミングとを比較して、図２に示した処理により、どのシステムフレームで表示をするのか判定を行う。表示バッファ１２６に保持された動画は、その判定結果に基づいて、表示されるべきシステムフレームタイミングで描画処理部１２４に送られる。
【００２５】
また、分離部１２１で分離された表示記述言語は言語処理部１２９に入力される。この言語処理部１２９は、システムクロック発生器１２１０からのクロックに基づいて各テキスト、静止画、動画の位置情報やシステムフレームレートを解読するもので、その位置情報は描画処理部１２４に与えられ、システムフレームレートはシステムフレーム発生部１２８に与えられる。
【００２６】
システムフレーム発生部１２８は、システムクロック発生器１２１０からのシステムクロックに基づいて、言語処理部１２９から与えられたシステムフレームレートでシステムフレームの表示時間を決定し、その時間情報を言語処理部１２９及び表示判定部１２７に送り、その表示時間に描画処理部１２４に表示指示を送る。描画処理部１２４は、表示指示された時間に言語処理部１２９からの表示記述言語解読結果に基づいて静止画、テキスト、動画を合成し、表示装置１２１１に表示させる。
【００２７】
以上の構成による映像表示装置によれば、表示バッファ１２６に一時的に格納された可変フレームレートの動画を表示記述言語によって設定されるシステムフレームレートに合わせて描画処理部１２４に送り、静止画及びテキストと共に合成するようにしているので、描画処理にかかる負担を軽減しつつ効率よく合成し、それを表示させることが可能となる。
【００２８】
ところで、上記映像表示装置にあっては、表示記述言語の時間にシステムフレームとのずれが生じる場合がある。その例を図５に示す。図５において、記述の６行目に実際のシステムレート間隔には合わない時間記述がある。これでは、本システム上では表示が不可能であり、この記述は飛ばされてしまうことになる。本発明では、この問題を上記の実施の形態と同様に、システムフレームに合わせ込み実行することで解決する。
【００２９】
図６は図４の言語処理部１２９を、この問題を解決するように構成したものである。表示記述言語は表示記述バッファ１２９１に順次蓄積され、１行抽出分解部１２９２によって１行ずつ切り出され、表示時間部分と描画対象及びコマンドとに分解される。この後、表示時間部分は表示時間抽出部１２９３によって抽出され、表示判定部１２９４に与えられる。
【００３０】
表示判定部１２９４は、時間カウンタ１２９５にてシステムクロックをカウントすることによって選られるシステムレートと、システムフレーム発生部１２８から与えられる次の表示時間とを入力し、システムレートに合わせて描画対象を描画するかどうかを決定する。
【００３１】
具体的には、図７に示す処理フローを実行するロジック回路で実現される。すなわち、この表示判定部１２９４では、表示記述言語から抽出された１行の記述の中の表示時間ｔｄを取り込む（Ｓ１１）と共に、システムの次の表示時間ｔｓを取り込み（Ｓ１２）、｜ｔｄ−ｔｓ｜＜ｔｒ／２（ｔｒはシステムレートの間隔）を満足するか否かを判断し（Ｓ１３）、満足するまでステップＳ１２の処理を繰り返す。上式を満足した場合、描画処理部１２４に描画指示を出す（Ｓ１４）。
【００３２】
一方、描画対象とコマンドは、オブジェクトコマンド解釈部１２９６に渡され、どの素材をどこに描画するかが解釈される。この結果、位置情報として描画処理部１２４に与えられる。描画自体はシステムレートによって行われる。このため、描画処理部１２４は、表示判定部１２９４とオブジェクトコマンド解釈部１２９６の指示に応じて描画対象を描画するようになる。
【００３３】
したがって、上記のように言語処理部１２９を構成することにより、表示記述言語の時間にシステムフレームとのずれが生じる場合であっても、素材の描画指示をシステムフレームに合わせ込むようにしているので、上記のずれを補償することができる。
【００３４】
ところで、上記の実施の形態では、表示記述言語を１行ずつ処理する場合について説明したが、複数の表示記述を同時に実行できるようにすれば、より高度な処理が可能となる。
【００３５】
図８は複数の表示記述を同時に実行する場合の記述例である。シーン（Scene ）１では６行目でシーン２を呼び出すようになっている。記述の便宜上、ＧＯＳＵＢを用いているが、いわゆるサブルーチンではなく、自分はそのまま存在し、他のコンテキスト／タスクを起動するような意味である。シーン２がシーン３を６行目で呼び出す場合も同様である。この場合、表示記述が複数起動された際にシステムフレームレートも同時に生成される。これを利用することで、時間同期を保持しながら複数の表示記述について実行することができる。
【００３６】
図９はその構成を示すブロック図である。尚、図９において、図４及び図６と同一部分には同一符号を付して示し、ここでは異なる部分について説明する。また、本システムにあっては、送信側において、新ストリームに切り替わるとき、新ストリームに移行するための新ストリーム生成／削除信号が表示記述言語及び各番組素材に多重しているものとする。また、表示記述言語は最大３系統に分離できるものとする。
【００３７】
図９において、新しい表示記述が与えられると、分離部１２１から与えられる新ストリーム生成／削除信号によって言語処理生成削除処理部１２１２が起動され、処理スレッド１２１３を起動する。処理スレッド１２１３は、それぞれ３系統の表示記述言語処理部Ａ１〜Ａ３及び時間カウンタＢ１〜Ｂ３を備え、言語処理生成削除処理部１２１２からの要求に応じた系統が起動するようになっている。各系統の処理は全て同等である。また、各系統の表示記述言語処理部Ａ１〜Ａ３の構成は、時間カウンタを除き、図６に示した言語処理部１２９の構成と同じである。
【００３８】
例として、図８に示した表示記述言語が入力された場合、分離部１２１は例えばシーン１、シーン２、シーン３を分離する。これらは互いに異なる系統の表示記述言語処理部Ａ１〜Ａ３に送られる。時間カウンタＢ１〜Ｂ３はシステムクロック発生部１２１０からのクロックをカウントすることで表示時間を生成し、対応する表示記述言語処理部Ａ１〜Ａ３に出力するものであるが、それぞれ生成する際に０にリセットされている。このため、各表示記述言語処理部Ａ１〜Ａ３において、それぞれの表示記述は時間カウンタＢ１〜Ｂ３で生成した時間から処理される。この結果は、先に述べたように描画指示となり、描画処理部１２４に入力され、描画処理に供される。ストリームが削除されると、言語処理生成削除処理部１２１２により処理スレッド１２１３に削除命令が発生され、当該処理が削除される。
【００３９】
図１０に言語処理生成削除処理部１２１２の処理フローを示す。まず、分離部１２１を通じて送信側から新ストリーム生成／削除信号を受け取って、新ストリームの生成指示を監視し（Ｓ２１）、生成の指示があった場合には、処理スレッド１２１３を起動する（Ｓ２２）。続いて、新ストリームの削除指示を監視し（Ｓ２３）、削除の指示があった場合には、処理スレッド１２１３の処理を削除する（Ｓ２４）。
【００４０】
図１１に処理スレッド１２１３における起動時の処理フローを示す。まず、言語処理生成削除部１２１２からの起動指示に応じて新ストリームの処理スレッドを起動し（Ｓ３１）、時間カウンタＢ１〜Ｂ３をリセットする。
【００４１】
以上の構成により、時間同期を保持しながら複数の表示記述について実行することができるようになる。
また、表示記述が時間的にジャンプする場合も考えられる。図１２にその表示記述例を示す。この例では、シーン３の３行目にジャンプ先のラベルが貼られており、５行目のジャンプ（Jump）命令でこのラベルに飛ぶことを示している。４行目のコマンドとしてはAddXがあるが、これはＸ方向に３ドットずらして表示する命令を表している。したがって、この命令を繰り返し実行すると文字要素Text0 がスクロールしていくことを示している。
【００４２】
図１３はその構成を示すブロック図である。尚、図１３において、図９と同一部分には同一符号を付して示し、この構成の説明は省略する。すなわち、この場合の映像表示装置は、機能の概要としては図９と同様であるが、各時間カウンタＢ１〜Ｂ３に対してそれぞれカウンタ設定部Ｃ１〜Ｃ３が追加されている。本実施形態ではシーン３を実行する言語処理ブロックとして表示記述言語処理部Ａ３を仮定する。表示記述言語処理部Ａ３は、ジャンプ命令を実行するとラベル先にある時間に戻すため、ジャンプ先時間をパラメータとしてカウンタ設定部Ｃ３を設定する。この後は、前述のように描画される。
【００４３】
図１４に表示記述言語処理部Ａ３とカウンタ設定部Ｃ３の動作フローを示す。まず、表示記述言語の中のジャンプ命令を監視し（Ｓ４１）、なければ他の処理を実行する（Ｓ４２）。ジャンプ命令があった場合には、１行戻り（Ｓ４３）、ラベルと飛び先が一致する個所を検索する（Ｓ４４）。一致する個所が検出された場合には、飛び先の時間をカウンタ設定部Ｃ３により時間カウンタＢ３にセットする。以上の処理により、ジャンプ命令を有効にすることができる。
【００４４】
以上のように、本発明を適用することにより、システムに負担をかけることなく、フレームレートの異なる動画、静止画、文字などのオブジェクトを合成して表示することが可能となる。また、時間同期する複数の表示記述を扱って合成表示が可能になるため、番組制作の際に広告などを別部品として制作しておき、送出時に合成し、メインの表示記述から呼び出すといったフレキシブルな運用が可能となる。
【００４５】
【発明の効果】
以上のように本発明によれば、システムに過大な負担をかけずに、表示時間が記述された表示記述言語に従って、フレームレートの異なる動画や静止画、テキストなどのオブジェクトを画面上で合成表示することのできる映像表示装置を提供することができる。
【図面の簡単な説明】
【図１】本発明に係る映像表示装置の概要を説明するためのタイミング図。
【図２】本発明において、表示記述言語の動画コーディックから与えられる表示時間をどのシステムレートに合わせるかを計算するフローチャート。
【図３】本発明において、表示時間が記述された表示記述言語の例を示す図。
【図４】本発明に係る実施の形態として、上記の処理を実現するデジタル放送システムの全体構成を示すブロック図。
【図５】同実施の形態において、表示記述言語の時間にシステムフレームとのずれが生じる場合の例を示す図。
【図６】同実施の形態の言語処理部の具体的な構成を示すブロック図。
【図７】同実施の形態の表示判定部の具体的な処理内容を示すフローチャート。
【図８】同実施の形態において、複数の表示記述を同時に実行する場合の記述例を示す図。
【図９】図８の処理を実現するための映像表示装置の具体的な構成を示すブロック図。
【図１０】図９の言語処理生成削除処理部の処理内容を示すフローチャート。
【図１１】図９の処理スレッドにおける起動時の処理内容を示すフローチャート。
【図１２】同実施の形態において、表示記述が時間的にジャンプする場合の例を示す図。
【図１３】図１２の処理を実現するための映像表示装置の具体的な構成を示すブロック図。
【図１４】図１３の表示記述言語処理部とカウンタ設定部の動作内容を示すフローチャート。
【符号の説明】
１１…放送番組作成装置
１１１…オーサリング装置
１１２…素材格納部
１１３〜１１６…データベース
１１７〜１１９…エンコード部
１１１０…多重部
１２…映像表示装置
１２１…分離部
１２２〜１２３…デコード部
１２４…描画処理部
１２５…デコード部
１２６…表示バッファ
１２７…表示判定部
１２８…システムフレーム発生部
１２９…言語処理部
１２９１…表示記述バッファ
１２９２…１行抽出分離部
１２９３…表示時間抽出部
１２９４…表示判定部
１２９５…時間カウンタ
１２９６…オブジェクトコマンド解釈部
１２１０…システムクロック発生器
１２１１…表示装置
１２１２…言語処理生成削除処理部
１２１３…処理スレッド
Ａ１〜Ａ３…表示記述言語処理部
Ｂ１〜Ｂ３…時間カウンタ
Ｃ１〜Ｃ３…カウンタ設定部
【図１】
0003961693.tif 000002
【図２】
0003961693.tif 000003
【図３】
0003961693.tif 000004
【図４】
0003961693.tif 000005
【図５】
0003961693.tif 000006
【図６】
0003961693.tif 000007
【図７】
0003961693.tif 000008
【図８】
0003961693.tif 000009
【図９】
0003961693.tif 000010
【図１０】
0003961693.tif 000011
【図１１】
0003961693.tif 000012
【図１２】
0003961693.tif 000013
【図１３】
0003961693.tif 000014
【図１４】
0003961693.tif 000015