(57)【要約】【課題】プレゼンテーションエンジン及びアプリケーションエンジンを同時に動作させ、各々動作しているプログラムを連携させて画面表示するデータ表示装置を提供することにある。【解決手段】第１の放送データを受信する第１の受信手段と、前記第１の受信手段により受信された第１の放送データに基づき表示処理を行う第１の表示処理手段と、前記第１の放送データとは異なる第２の放送データを受信する第２の受信手段と、前記第２の受信手段により受信された第２の放送データに基づき表示処理を行う第２の表示処理手段と、前記第１の表示処理手段による表示画面サイズ及び／または表示位置を前記第２の放送データに基づいて変更する制御手段とを備えたデータ表示装置。【選択図】      図２
2005020279.tif 000002
【特許請求の範囲】
【請求項１】
第１の放送データを受信する第１の受信手段と、
前記第１の受信手段により受信された第１の放送データに基づき表示処理を行う第１の表示処理手段と、
前記第１の放送データとは異なる第２の放送データを受信する第２の受信手段と、
前記第２の受信手段により受信された第２の放送データに基づき表示処理を行う第２の表示処理手段と、
前記第１の表示処理手段による表示画面サイズ及び／または表示位置を前記第２の放送データに基づいて変更する制御手段と、
を備えたことを特徴とするデータ表示装置。
【請求項２】
第１の放送データを受信する第１の受信手段と、
前記第１の受信手段により受信された第１の放送データに基づき表示処理を行う第１の表示処理手段と、
前記第１の放送データとは異なる第２の放送データを受信する第２の受信手段と、
前記第２の受信手段により受信された第２の放送データに基づき表示処理を行う第２の表示処理手段と、
前記第１及び第２の表示処理手段をリモコン操作にしたがって制御する制御手段とを備え、
前記制御手段は、前記リモコン操作の履歴に基づいて、前記第１の放送データの表示と前記第２の放送データの表示を重ね合わせて表示することを特徴とするデータ表示装置。
【請求項３】
第１の放送データを受信する第１の受信手段と、
前記第１の放送データとは異なる第２の放送データを受信する第２の受信手段と、
前記第１の受信手段によって受信された前記第１の放送データの表示処理を行う第１の表示処理手段と、
前記第２の受信手段によって受信された前記第２の放送データの表示処理を行う第２の表示処理手段と、
前記第１及び第２の表示処理手段を制御し、前記第２の放送データに基づいて前記第１放送データの表示処理を変更するとともに、当該変更された表示と前記第２の放送データの表示とを重ね合わせて表示する制御手段と、
を備えたことを特徴とするデータ表示装置。
【請求項４】
第１の放送データを受信する第１の受信手段と、
前記第１の受信手段によって受信された前記第１の放送データに基づいて表示処理を行う第１の表示処理手段と、
前記第１の放送データとは異なる第２の放送データを受信する第２の受信手段と、
前記第２の受信手段によって受信された前記第２の放送データに基づいて表示処理を行う第２の表示処理手段と、
前記第２の放送データに含まれる音声データをデコードするデコード手段と、
前記第２の放送データに基づいて前記第１の放送データの表示の拡大もしくは縮小処理を行うとともに前記デコード手段より出力された前記第２のデータ放送中の音声データを出力する制御手段と、
を備えたことを特徴とするデータ表示装置。
【請求項５】
前記第１の放送データがＢＭＬ記述言語で記述されたデータであり、第２の放送データがアプリケーションプログラムであることを特徴とする請求項１乃至４のいずれかに記載のデータ表示装置。
【請求項６】
前記第２の放送データにはデータ表示を行う位置基準データと、データ表示サイズデータと、表示画面の解像度データが格納されており、前記制御手段は前記各データに基づいて前記第１の放送データ表示の拡大／縮小比と拡大／縮小を行う基準点を算出し、前記第１の放送データの拡大／縮小処理を実行することを特徴とする請求項１乃至４のいずれかに記載のデータ表示装置。
【請求項７】
第１の表示処理手段がＢＭＬブラウザであり、第２の表示処理手段がＪａｖａ（登録商標）仮想マシンであることを特徴とする請求項１乃至４のいずれかに記載のデータ表示装置。
【請求項８】
前記第１の放送データに格納されたトリミングを行うための画面座標データと表示装置の画面解像度データに基づき、前記第１の放送データの表示の拡大もしくは縮小比を計算する手段を有し、当該計算結果に基づいて前記第１の放送データの表示の拡大、縮小を行う請求項１乃至４のいずれかに記載のデータ表示装置。
【請求項９】
第１の放送データを受信する第１の受信手段と、
前記第１の受信手段により受信された第１の放送データに基づいて表示処理を行う第１の表示処理手段と、
前記第１の放送データとは異なる第２の放送データを受信する第２の受信手段と、
前記第２の受信手段により受信された第２の放送データに基づいて表示処理を行う第２の表示処理手段と、
前記第２の受信手段によって受信された前記第２の放送データがあるか否かの検出を行う検出手段と、
その検出結果に応じて、前記第１の表示処理手段による表示処理の変更を行うか否かを決定する制御手段と、
を備えたことを特徴とするデータ表示装置。
【請求項１０】
第１の放送データを受信する第１の受信手段と、
前記第１の受信手段によって受信された前記第１の放送データに基づいて表示処理を行う第１の表示処理手段と、
前記第１の表示処理手段をリモコン操作により制御するリモコン制御手段と、
前記第１の放送データとは異なる第２の放送データを受信する第２の受信手段、
第２の放送データを表示処理する第２の表示処理手段と、
前記第２の放送データにより前記リモコン制御手段の制御を行う制御手段と、を備えたことを特徴とするデータ表示装置。
【請求項１１】
前記第２の放送データによりリモコン制御処理が制御されていることをユーザに認識させるための画面表示を行うこと特徴とする請求項１０に記載のデータ表示装置。
【請求項１２】
前記リモコンは、前記第２の放送データによるリモコン制御処理をユーザの制御に戻すための操作ボタンを備えていることを特徴とするデータ表示装置。
【請求項１３】
ユーザが操作するリモコン操作アクションのアクション間隔を計測する手段と、ユーザが無効なキーを入力した回数を計測する手段とを有し、それらの計測結果に応じてリモコン制御処理の制御元を変更するように構成したことを特徴とする請求項１０に記載のデータ表示装置。
【請求項１４】
ユーザが操作するリモコン操作アクションのアクション間隔を計測する手段、ユーザが無効なキーを入力した回数を計測する手段を有し、計測結果に応じて第一のデータ放送データ表示処理を変更することを特徴とするデータ表示装置。
【請求項１５】
第１の放送データを受信する手段と、
前記第１の受信手段により受信された第１の放送データに基づき表示処理を行う第１の表示処理手段と、
前記第１の放送データとは異なる第２の放送データを受信する第２の受信手段と、前記第２の放送データを表示処理する第２の表示処理手段と、
前記第２のデータ表示処理手段からの問い合わせにしたがって、前記第１のデータ表示処理手段から現在フォーカスされているデータ放送コンテンツの情報を読み出し可能な制御手段と、
を備えたことを特徴とするデータ表示装置。
【請求項１６】
前記第１の放送データは、テレビジョン放送またはインターネットを介して受信されるデータ放送のデータであることを特徴とする請求項１乃至１５のいずれかに記載のデータ表示装置。
【請求項１７】
前記データ表示装置は、テレビジョン受信機あるいはパーソナルコンピュータによって実現されることを特徴とする請求項１乃至１５のいずれかに記載のデータ表示装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク、放送システムを介して受信した放送データを表示するデータ表示装置に関する。
【０００２】
【従来の技術】
近年、デジタル映像、デジタル音声とデータ放送情報を重畳させて送信し、映像、音声と同期させてデータを表示させることが可能なデジタル放送システムが実現してきた。
【０００３】
たとえば日本のＢＳデジタル放送では、ＭＰＥＧ２のトランスポートストリーム内に圧縮したデジタル映像、音声のストリームをパケット化し放送している。さらにデータ放送表示用のデータは、ＢＭＬ（Ｂｒｏａｄｃａｓｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）呼ばれる放送用記述言語で記述されており、記述言語内に各種データ（ＪＰＥＧ，ＰＮＧ，ＭＮＧ）をマルチパート化してカルーセル方式にて繰り返し送信している。
【０００４】
テレビジョン受信機は、それらパケット化された各データを映像、音声、データにそれぞれ分離し、映像、音声データはデコード（ＭＰＥＧ２）され表示し、音声を再生する。
【０００５】
またデータは、ＢＭＬファイルの構造を解析し、必要な各種データ（ＸＨＴＭＬ，ＪＰＥＧ，ＰＮＧ，ＭＮＧ）は、データに応じて、解析され、デコードし、表示を行う。さらにデータ内には、リモコンの操作に応じてデータ内のスクリプト言語を用いて表示画面を切り替えたりすることも可能になっている。
【０００６】
このように視聴者のリモコン操作のアクションイベントや、内蔵タイマーイベントに応じてデータ放送画面を表示可能なデジタルテレビをプレゼンテーションエンジン（ＢＭＬブラウザ）搭載型のデジタルテレビと呼ぶことにする。
【０００７】
一方、アニメーション等の表示を行う場合や、リアルタイムに変化するデータを用いて表示制御を行うといった高度な制御を行う場合は、上述した視聴者のリモコンイベントやタイマーイベントに応じて表示切り替えを行うと、動きがぎこちなくなったりする。そこで、このような表示を行うために、別途アプリケーションプログラムを使って表示処理を行う試みが出てきている。このようなデジタルテレビをアプリケーションエンジン（一例を挙げるとＪａｖａ（登録商標）仮想マシン）搭載型デジタルテレビと呼ぶ。
【０００８】
これら二つの手法は、一長一短があり、両方のエンジンを搭載することが望まれているが、従来のデジタルテレビジョンにおいては、上述したような２つのエンジンを同時に使用し、各エンジンで各々動作しているプログラムを連携させて画面表示するデータ放送サービスへの対応を行うことができない。
【０００９】
例えばＢＭＬベースのデータ放送とその動作説明をアニメーション、音声でアシストするサービス等が行えなくなっている。このため視聴者は、既存のデータ放送（ＢＭＬベース）を一度中止してからアプリケーションベース（Ｊａｖａ（登録商標）仮想マシンを使用）のプログラムを起動しなければならなくなり、２つがスムースに連携したサービスを受けることができない。
【００１０】
またこれらの２つのエンジンを使用した画面表示を交互に実行する場合に、それらを制御するリモコンの操作が現在どちらのものであるのかがわからず、視聴者を混乱させてしまう問題がある。このような技術を開示するものとして、たとえば特開平１０−３０１７４７号公報によれば、アプリケーションソフトに付随する属性の使用頻度に基づきアプリケーション起動を制御する方式が提案されている。
【００１１】
また通常プレゼンテーションエンジン（ＢＭＬブラウザ）用のプログラムからアプリケーションエンジン用プログラムに移行する際には、プレゼンテーションエンジン用のプログラム中にアプリケーションエンジンへの移行を示唆する画面表示ボタン等が必要であるが、プレゼンテーションエンジンしか有していないデジタルテレビで受信する際に、アプリケーションエンジンへの移行を示唆するデータが表示されると視聴者をさらに混乱させてしまう問題もある。
【００１２】
【特許文献１】
特開平１０−３０１７４７号公報
【００１３】
【発明が解決しようとする課題】
そこで、本発明の課題は、上記した問題を解決し、プレゼンテーションエンジンのみが搭載されているデジタルテレビでも、プレゼンテーションエンジン及びアプリケーションエンジンが搭載されているデジタルテレビにおいても違和感なくデータ放送サービスが受けられる仕組みを提供すること、すなわち２つのエンジンを同時に動作させ、各々動作しているプログラムを連携させて画面表示するデータ放送サービスへの対応の可能なデータ表示システムを提供することにある。
【００１４】
【課題を解決するための手段】
上記課題を解決するために本願における請求項１に記載の発明によれば、第１の放送データを受信する第１の受信手段と、前記第１の受信手段により受信された第１の放送データに基づき表示処理を行う第１の表示処理手段と、前記第１の放送データとは異なる第２の放送データを受信する第２の受信手段と、前記第２の受信手段により受信された第２の放送データに基づき表示処理を行う第２の表示処理手段と、前記第１の表示処理手段による表示画面サイズ及び／または表示位置を前記第２の放送データに基づいて変更する制御手段とを備えたデータ表示装置を特徴とする。
【００１５】
また本願における請求項２に記載の発明によれば、第１の放送データを受信する第１の受信手段と、前記第１の受信手段により受信された第１の放送データに基づき表示処理を行う第１の表示処理手段と、前記第１の放送データとは異なる第２の放送データを受信する第２の受信手段と、前記第２の受信手段により受信された第２の放送データに基づき表示処理を行う第２の表示処理手段と、前記第１及び第２の表示処理手段をリモコン操作にしたがって制御する制御手段とを備え、前記制御手段は、前記リモコン操作の履歴に基づいて、前記第１の放送データの表示と前記第２の放送データの表示を重ね合わせて表示するようにしたデータ表示装置を特徴とする。
【００１６】
また本願における請求項３に記載の発明によれば、第１の放送データを受信する第１の受信手段と、前記第１の放送データとは異なる第２の放送データを受信する第２の受信手段と、前記第１の受信手段によって受信された前記第１の放送データの表示処理を行う第１の表示処理手段と、前記第２の受信手段によって受信された前記第２の放送データの表示処理を行う第２の表示処理手段と、前記第１及び第２の表示処理手段を制御し、前記第２の放送データに基づいて前記第１放送データの表示処理を変更するとともに、当該変更された表示と前記第２の放送データの表示とを重ね合わせて表示する制御手段とを備えたデータ表示装置を特徴とする。
【００１７】
また本願における請求項４に記載の発明によれば、第１の放送データを受信する第１の受信手段と、前記第１の受信手段によって受信された前記第１の放送データに基づいて表示処理を行う第１の表示処理手段と、前記第１の放送データとは異なる第２の放送データを受信する第２の受信手段と、前記第２の受信手段によって受信された前記第２の放送データに基づいて表示処理を行う第２の表示処理手段と、前記第２の放送データに含まれる音声データをデコードするデコード手段と、前記第２の放送データに基づいて前記第１の放送データの表示の拡大もしくは縮小処理を行うとともに前記デコード手段より出力された前記第２のデータ放送中の音声データを出力する制御手段とを備えたデータ表示装置を特徴とする。
【００１８】
また本願における請求項９に記載の発明によれば、第１の放送データを受信する第１の受信手段と、前記第１の受信手段により受信された第１の放送データに基づいて表示処理を行う第１の表示処理手段と、前記第１の放送データとは異なる第２の放送データを受信する第２の受信手段と、前記第２の受信手段により受信された第２の放送データに基づいて表示処理を行う第２の表示処理手段と、前記第２の受信手段によって受信された前記第２の放送データがあるか否かの検出を行う検出手段と、その検出結果に応じて、前記第１の表示処理手段による表示処理の変更を行うか否かを決定する制御手段とを備えたデータ表示装置を特徴とする。
【００１９】
また本願における請求項１０に記載の発明によれば、第１の放送データを受信する第１の受信手段と、前記第１の受信手段によって受信された前記第１の放送データに基づいて表示処理を行う第１の表示処理手段と、前記第１の表示処理手段をリモコン操作により制御するリモコン制御手段と、前記第１の放送データとは異なる第２の放送データを受信する第２の受信手段、第２の放送データを表示処理する第２の表示処理手段と、前記第２の放送データにより前記リモコン制御手段の制御を行う制御手段とを備えたデータ表示装置を特徴とする。
【００２０】
また本願における請求項１５に記載の発明によれば、第１の放送データを受信する手段と、前記第１の受信手段により受信された第１の放送データに基づき表示処理を行う第１の表示処理手段と、前記第１の放送データとは異なる第２の放送データを受信する第２の受信手段と、前記第２の放送データを表示処理する第２の表示処理手段と、前記第２のデータ表示処理手段からの問い合わせにしたがって、前記第１のデータ表示処理手段から現在フォーカスされているデータ放送コンテンツの情報を読み出し可能な制御手段とを備えたデータ表示装置を特徴とする。
【００２１】
【発明の実施の形態】
以下、各図を参照しながら本発明におけるデータ表示装置をデジタルテレビジョン受信機に適用した場合について詳述する。
【００２２】
（第１の実施例）
図１は本発明をデジタルテレビジョンに適用した場合の構成を示すブロック図である。本発明のデジタルテレビジョン受信機は、パーソナルコンピュータによっても実現することができる。
【００２３】
同図において、１００はデジタルテレビ受信機（またはパーソナルコンピュータ）、１はデジタルテレビジョン受信機１００に入力される放送電波を受信するための衛星放送もしくは、地上波のテレビ信号のアンテナ、２はアンテナ１で受信したテレビ信号をデジタル信号に変換し、変調された圧縮映像、音声を復調しＭＰＥＧ２のトランスポートストリーム（圧縮された映像、音声、データ等が複数本パケット化され混在しているストリーム）に変換するチューナーである。
【００２４】
３は受信したトランスポートストリームの中から、圧縮映像、圧縮音声、データ放送の各パケットを分離させる部分であるデマルチプレクサである。
【００２５】
４はデマルチプレクサ３で分離された圧縮映像信号のＭＰＥＧ２ストリームをデコードしたり、圧縮された音声データを音声データにデコードするＡＶデコーダである。
【００２６】
５はＡＶデコーダ４からの映像データの表示フォーマット（画素数、フレーム周波数、走査方式）を変換したり、ＣＰＵ８からバスを介して転送されるデータ放送をプレーン管理して描画し、ＡＶデコーダ４からの映像データとの重ね合わせを行うグラフィックコントローラである。
【００２７】
６は表示デバイス７に表示する映像データやデータ放送データを格納するためのビデオメモリである。また表示デバイス７は映像データを表示し、テレビ放送音声を出力するスピーカーを有している。
【００２８】
８はデジタルテレビジョン受信機１００全体を制御するＣＰＵ、９はＣＰＵ８を制御するエンジンプログラムの格納やリモコン操作履歴、表示デバイス７の画面解像度、アプリケーションプログラムの有無を示すフラグ等を保持するＲＡＭ、１０はＣＰＵ８において実行されるシステムプログラムを格納するＲＯＭである。
【００２９】
１１はリモコン１２より送信された赤外線データを受信して電気信号コードに変換するリモコン受光部である。またリモコン１２は表示デバイス７を見ながら視聴者がグラフィカルな表示ボタンを選択したり、テレビのチャンネル選択を行うことによって各種操作を行うことができるようになっている。
【００３０】
１３はインターネット（模式したもの）１４からデジタルテレビジョン受像機（パーソナルコンピュータ）１００内にデータを送受信するためのモデムである。このモデムはインターネットに接続するインフラの種類によって変化する。たとえば、ケーブルであればケーブルモデムであり、電話回線を利用したＡＤＳＬであればＡＤＳＬモデムとなる。
【００３１】
次にシステムの動作について説明する。アンテナ１で受信されたデータ放送、映像データ、音声データは、チューナー２にて復調され、各データがパケット化されたトランスポートストリームに変換される。
【００３２】
トランスポートストリームはデマルチプレクサ３に送られ、データ放送と映像、音声に分離される。
【００３３】
図９はトランスポートストリームの例を示している。トランスポートストリームは、複数のデータ放送、映像データ、音声データがＰＩＤ（Ｐａｃｋｅｔ  Ｉｄｅｎｔｉｆｉｅｒ）と言う識別信号をヘッダーにもつパケットに細かく分割されたビットストリーム列である。このトランスポートストリームから所望のデータを抽出するためには、図９にあるようにトランスポートストリームのなかにあるＰＭＴ（Ｐｒｏｇｒａｍ  ＭＡＰ  Ｔａｂｌｅ）を参照し、そこに記載されている各コンテンツに応じたＰＩＤを取得する。そしてそのＰＩＤにマッチするパケットを選択し、結合させて所望のコンテンツを生成する。
【００３４】
本実施例では、ＢＭＬデータ放送（上述したプレゼンテーションエンジン（ＢＭＬブラウザ）で動作するデータ）とアプリケーションプログラム（上述したアプリケーションエンジン（Ｊａｖａ（登録商標）仮想エンジン）で動作するデータ）を抽出するため、ＰＭＴにかかれているＰＩＤ  １１と識別信号１３をもつパケットのみを選択、結合させ、ＲＡＭ９に格納する。これらの制御はＣＰＵ８が行う。
【００３５】
またＣＰＵ８は、ＰＩＤ１３のＪａｖａ（登録商標）アプリケーションプログラムが格納されているパケットをすべて抽出、結合した時点で、ＲＡＭ９内にその抽出したことを示すフラグを記憶する。
【００３６】
一方、トランスポートストリームは、そのストリーム中に映像、音声も多重されているため、それらの識別信号を有するパケットは、ＡＶデコーダ４に送られる。なお上述したＰＭＴもパケット化されているため、ＰＭＴがどこにあるかを示す、ＰＡＴ（Ｐｒｏｇｒａｍ  Ａｓｓｏｃｉａｔｉｏｎ  Ｔａｂｌｅ）パケットを最初に抜き出す。
【００３７】
このパケットは、ＰＩＤ＝０ｘ００００と定められている。ＣＰＵ８はこのＰＩＤ情報０ｘ００００をデマルチプレクサ３に送り、そのＰＩＤを持つパケットを読み込み、ＰＭＴとしてＲＡＭ９に格納する。
【００３８】
ＣＰＵ８はそのパケットの情報（ＰＭＴ）から、データ放送、映像、音声がどのＰＩＤ情報に属しているかを認識する。
【００３９】
ＡＶデコーダ４でデコードされた映像データは、グラフックコントローラ５を介してビデオメモリ６に格納され、適当なタイミングで表示デバイス７に送られ表示される。
【００４０】
次に、ＢＭＬデータ放送とＪａｖａ（登録商標）アプリケーションプログラムとの切り換え動作に関して説明する。
【００４１】
本実施例では、たとえ図２に切り換えのフローチャート例を示す。まずＣＰＵ８はテレビ視聴者がリモコン１２を使って、ＢＭＬデータ放送の受信を要求したか否かを検出する（２００）。通常これらデータ放送のデータは、ＢＭＬと呼ばれる記述言語で記述されており、その記述ファイルは、図９で説明したように、パケット化されたものを結合し、ＲＡＭ９に蓄えられる。
【００４２】
一方このファイルを解読し、グラフィックコントローラに転送するプレゼンテーションエンジン（ＢＭＬブラウザ）はＲＯＭに格納されており、ＣＰＵ８によって実行される。
【００４３】
また後述するＪａｖａ（登録商標）アプリケーションプログラムを実行するＪａｖａ（登録商標）仮想マシンもＲＯＭ１０に格納されている。
【００４４】
ＣＰＵ８はＢＭＬデータ放送表示要求があった場合はＲＡＭ９からデータ放送ファイル（ＢＭＬ）を読み出し、ＲＯＭ１０に格納されたプレゼンテーションエンジン（ＢＭＬブラウザ）で処理し、ビットマップデータとしてビデオメモリ６に格納する。そして視聴者からのリモコン操作に応じて、対応する表示データをビデオメモリに次々に展開する（２０４）。
【００４５】
この操作を行っているときに、アプリケーション起動準備ルーチン（２０１）が実行される。そしてデータ放送視聴を中止するまでこの作業が続く。
【００４６】
次に何らかの要因でアプリケーションプログラムを視聴者が要求したり、放送局側がアプリケーションを起動するように要求した場合は、アプリケーションプログラムが存在することを確認した後、そのプログラムを実行する（２０２，２０３）。
【００４７】
アプリケーションプログラムの存在の有無は、図９の説明で説明した様に、ＲＡＭ９に格納されているフラグをＣＰＵ８が読み出すことにより実施する。
【００４８】
アプリケーションプログラムが存在していない場合は、通常のＢＭＬブラウズ処理を継続する。これら指示はＲＯＭ１０に格納されているシステムプログラムによって実行される。
【００４９】
図４は、図２のフローチャートにおけるアプリケーション起動準備ルーチン２０１の具体的処理を示すフローチャートであり、アプリケーションプログラムを起動する前の段階、つまりデータ放送を表示しているときに行う処理を示す。また図１４に各処理エンジン、ファイル、リモコン処理等の関連図を示す。
【００５０】
まずＣＰＵ８は、システムプログラム７０４において、ＢＭＬデータ放送を表示しながら、視聴者からのリモコンによるデータ放送表示終了要求を監視する（３００）。
【００５１】
またＢＭＬデータ放送表示が始まってから有効なリモコンコードが送られて来ているかを検出する（３０１）。ＣＰＵ８の内部カウンタを利用し、ある一定時間ｔの間入力が無ければ、現在表示しているＢＭＬデータ放送のＵＲＬをＲＡＭ９に記憶し（３０９）、図２のフローチャートにおけるアプリケーション表示ルーチン２０３に進む。これは視聴者がデータ放送（本実施例では、たとえばＴＶショッピング）の使い方がわからないため先に進めない場合を想定した処理である。
【００５２】
また、アプリケーション起動準備ルーチンでは、視聴者が入力したリモコンキーの操作履歴をＲＡＭ９に蓄積していく（３０３，３０５）。これは視聴者がデータ放送の操作に混乱した場合に、一つ一つ操作をさかのぼり、後でアプリケーションプログラムが使用方法説明を実施するためである。ここではデータ放送の入力で重要な矢印キーとカラーキーの操作履歴をＲＡＭ９に蓄積する。
【００５３】
図８に矢印キー６０１、カラーキー６０２の例を示す。さらに視聴者が表示されているＢＭＬデータ放送と無関係なリモコンキー入力があった場合は、その回数を無効入力キーカウンタでカウントする（３０６）。
【００５４】
そして、ある値Ｍを超えた場合は、そのときのＢＭＬデータ表示のＵＲＬをＲＡＭ９に記憶し（３０９）、アプリケーション表示ルーチン２０３を実行する。この動作は視聴者がＢＭＬデータ放送の利用において混乱を起こしているかどうかを検出するためである。
【００５５】
上述した動作を図１４で説明すると、システムプログラム７０４はリモコン制御処理７０５からの操作情報に応じて、プレゼンテーションエンジン７０２を起動する。プレゼンテーションエンジンは、リモコン制御処理７０５からの操作情報によりＲＡＭ９に格納されているデータ放送ファイル７０１を読み出し、描画処理７０６に必要な描画処理を指示する。
【００５６】
システムプログラム７０４は、リモコン制御処理７０５からのリモコン操作情報に応じてアプリケーションエンジン７０３を起動する。
【００５７】
次に図２のフローチャートにおけるアプリケーション表示ルーチン２０３の処理をフローチャートを図５に示す。
【００５８】
同図において、まずＣＰＵ８はアプリケーションプログラム（上述したように放送局からのパケットデータとして送られてきたもの）をＲＡＭ９から読みだして実行する。起動はシステムプログラムからアプリケーションエンジン７０３に指示を出し行う。
【００５９】
アプリケーション表示ルーチンを実行する場合、まずアプリケーションエンジン７０３は、アプリケーションプログラムファイル７００に応じて実行していく。まずアプリケーションプログラム中で最初に実行することは、プレゼンテーションエンジン７０２に入力されていた視聴者からのリモコンキー入力を無効にすることである。
【００６０】
そしてアプリケーションエンジン７０３がプレゼンテーションエンジン７０２に対してリモコンコードを入力するようにする（４０２）。
【００６１】
図１４で説明すると、アプリケーションエンジン７０３は、アプリケーションプログラム７００に応じて、リモコン制御処理切り替えフラグをリモコン制御処理７０５に送る。リモコン制御処理７０５は、このフラグが送られると、プレゼンテーションエンジン７０２に対しては、リモコン１１２からのリモコンコードではなく、アプリケーションエンジン７０３からの擬似リモコンコードを送るようになる。
【００６２】
このことにより、既存のプレゼンテーションエンジン７０２、データ放送ファイル７０１を変更することなく、プレゼンテーションエンジン７０２は、あたかも通常にリモコンキー入力が行われているように動作する。
【００６３】
このことは、アプリケーションエンジンを有しないデジタルテレビに、後からアプリケーションエンジンを追加する場合においてもプレゼンテーションエンジン、データ放送ファイルはそのまま使用できるため有効である。
【００６４】
また、視聴者にリモコンキー制御がアプリケーションエンジン７０３に移行されたことを示す表示をアプリケーションプログラム７００にある指示に従い行う。表示例を図３の（ロ）２１１に示す（４０３）。
【００６５】
次にアプリケーションエンジン７０３は、アプリケーションプログラム７００が指定する、拡大、縮小指示及び、アプリ描画基準に基づき、データ放送画面の拡大、縮小をグラフィックコントローラ５に指示する（詳細は後で説明する）。このとき、ＢＭＬデータ放送画面を拡大・縮小する基準は、アプリ描画基準に基づき決定されても良いし、アプリプログラムに基づいて決定しても良い。
【００６６】
本実施例では、アプリ描画基準に基づいて決定することにする。アプリ描画基準は、アプリケーションエンジン７０３が描画する表示エリアがどの基準（画面四隅）に近いかを示したものである。
【００６７】
例えば、図１０の図で説明すると、アプリケーションエンジン７０３が描画する人物は、画面左下に近く表示されるため、アプリケーションプログラム７００内で、アプリ描画基準は、（１，０）“左下”と明記される（ｘ＝１，ｙ＝０）。
【００６８】
この場合、アプリケーションエンジン７０３は、ｘ，ｙのＮＯＴを取り、拡大・縮小基準を（０，１）とし、図１０では“右上”が拡大・縮小基準となる。ここでは、（０，０）＝左上、（１，０）＝左下、（０，１）＝右上、（１，１）＝右下と定義しておく。
【００６９】
また、アプリケーションプログラム中に明記した、ＢＭＬデータ放送の拡大・縮小基準を直接指定しても良い。またアプリケーションエンジン７０３は、ＢＭＬデータ放送画面の拡大・縮小比を、ＲＯＭ１０．に格納されている画面解像度を読み込むことによって算出する。
【００７０】
そしてこの基準値と拡大縮小値をグラフィックコントローラ５に設定する（４０５）。
【００７１】
アプリケーションエンジン７０３は、グラフィックコントローラ５から拡大・縮小設定が終了した割り込み信号を受けた後、ＢＭＬデータ放送画面で現在フォーカスがあたっているデータ（ボタン等）が何であるかをプレゼンテーションエンジン７０２に要求する（４０７）。
【００７２】
そして、フォーカスがあたっているコンテンツ情報に関連したアプリケーションプログラム７００を呼び出し、アプリ描画基準に基づき描画する。
【００７３】
例えば、本実施例では、視聴者が、ＴＶショッピングで紹介している物品を購入するボタンにフォーカスがあたっていたので、購入ボタンに関する説明をする人物とその内容を、文字と、音声で出力するプログラムが動き出す。
【００７４】
一連のプログラムが終了した時点で、アプリケーションエンジン７０３は、視聴者が、従来のＢＭＬデータ放送に戻りたいか否かの判断をするためにリモコンの戻りキーが押されているか否かの判断をし、押されていなければ、アプリケーション起動準備ルーチンで記録した、リモコン操作履歴データをＲＡＭ９から呼び出し、そのリモコンデータ（矢印キーまたはカラーキー入力）を擬似リモコンコードとしてプレゼンテーションエンジン７０２に入力する。そして上述したようにその時のフォーカス状況に応じたアプリケーションの動作が行われる。
【００７５】
このときにアプリケーション描画位置に変化がおきた場合は、アプリ描画基準から再度拡大・縮小基準を計算し、その値をグラフィックコントローラ５に設定しなおす。
【００７６】
このようにして、アプリケーションプログラムとＢＭＬデータ放送が連動して表示される。このアプリケーションプログラムを起動するたびごとにアプリケーションエンジン７０３は、リモコンからの戻るキーを検出し、検出された場合は、プレゼンテーションエンジン７０２へのリモコンキーの入力は、アプリケーションエンジン７０３ではなく、視聴者が操作するリモコンからのキーコード入力に変更する（リモコン制御処理７０５にて行う）。
【００７７】
そして、データ放送画面の拡大・縮小をもとのサイズに戻す。
【００７８】
そして、アプリケーションプログラムが占有するＲＡＭ領域を消去して、アプリケーションプログラムを終了させる。
【００７９】
図３の（ロ）にＢＭＬデータ放送画面を縮小表示し、その外側にアプリケーションプログラムに応じた表示をしている例を示す。
【００８０】
次に、データ放送画面の拡大・縮小方法に関して説明する。図７に拡大・縮小を行うグラフックコントローラ５の内部ブロック図を示す。１０３はビデオデータを拡大・縮小する部分。１０４はデータ放送のデータを拡大・縮小する部分。１０５はデータ放送画面、アプリケーション画面ビデオデータを合成する合成部。１０６はビデオメモリＡの読み出し制御部。１０７はビデオメモリＢの読みだし制御部。１０８はビデオメモリＡ，Ｂに対する読み書きするタイミングを調停するメモリバス調停部、１０９はアプリケーションソフトからの音声をデコードする音声デコード部、１１０はアプリケーションプログラムによる音声出力とＡＶデコーダ４からの音声出力を切り替える切り替え部である。
【００８１】
まずアプリケーションエンジン７０３はアプリケーションプログラム７００が指定するアプリ描画基準とアプリサイズをプログラム内から検出する。そしてその対角にあたるポイントを算出する。
【００８２】
図６の例では、アプリ描画基準は、画面左下（ｘ，ｙ＝（０，１））なので、拡大縮小基準ｘ，ｙは、（１，０）となり、画面上右上ということになる。そしてアプリケーションエンジン７０３は、画面解像度をデジタルＴＶのＲＯＭ１０から読み出す。そしてそこから自分のアプリサイズを減算し、残りの表示サイズ（縮小後のサイズ）を算出する。図６の例でアプリサイズを６４０、水平方向の画面解像度を、９６０とすると、残りサイズ（縮小後のサイズ）は、３２０（＝９６０−６４０）となる。アプリケーションエンジン７０３は、データ放送画面９６０を３２０にするための縮小比を算出する。本例では、残りサイズ（縮小後のサイズ）は３２０，元々のデータ放送画面サイズは９６０なので、縮小後のサイズ÷元々のデータ放送画面サイズ＝１／３になり、水平方向に１／３にデータ放送画面を縮小すればよいことが分かる。垂直方向は、元々の画面サイズと同じアスペクト比を維持するように、アプリケーションエンジン７０３が計算する。アプリケーションエンジン７０３は、この拡大縮小基準と、水平垂直の縮小比をビデオ拡大縮小部１０３とデータ拡大縮小部１０４にセットする。
【００８３】
アプリケーションプログラムがあらかじめ決められたデータ放送画面の画面解像度を前提に書かれている場合は、あらかじめ計算された各拡大縮小比データもアプリケーションプログラム内に設定してあるため、その値を１０４に設定すれば良い。
【００８４】
次に、メモリバス調停部１０８は、ビデオ拡大縮小部１０３からの縮小されたビデオデータをビデオメモリＢ１０２に書き込む。
【００８５】
一方データ拡大縮小部１０４からの縮小されたデータ放送データは、ビデオメモリＡ１０１に書き込まれる。そしてアプリケーションエンジン７０３が描画するアニメーションのようなアプリケーション描画は、メモリバス調停部１０８を介してビデオメモリＡ１０１に書かれる。それぞれのビデオメモリに書かれた画像データは、ビデオメモリＡ読み出し制御１０６とビデオメモリＢ読み出し制御１０７の制御タイミングとメモリバス調停部１０８のタイミングにより読み出され、画面合成１０５で合成表示される。このときビデオメモリＢ読み出し制御１０７．からの出力が優先され出力される。
【００８６】
上述した、アプリケーションエンジン、プレゼンテーションエンジン、システムプログラムは、ＣＰＵ８．内で、タイムシェアリングもしくは切り換えて動作している。もしくは、複数のＣＰＵで別々に動作しても良い。
【００８７】
（第２の実施例）
上述した実施例は、データ放送の画面を縮小する実施例であったが、本実施例は、データ放送の一部を拡大しながら縮小する実施例について説明する。
【００８８】
図１１は第２の実施例における画面例を示す。また図１２にデータ放送の一部を拡大しながら縮小する処理を行う場合のグラフィックコントローラ５のブロック図を示す。
【００８９】
まずアプリケーションエンジン７０３は、アプリケーションプログラム７００が指定するアプリ描画基準とアプリサイズをプログラム内から検出する。
【００９０】
そして、その対角にあたるポイントを算出する。図１１の例では、アプリ描画基準は、画面左下（ｘ，ｙ＝（０，１））なので、拡大縮小基準ｘ，ｙは、（１，０）となり、画面上右上ということになる。そしてアプリケーションエンジン７０３は、画面解像度をデジタルＴＶのＲＯＭ１０から読み出す。そしてそこから自分のアプリサイズを減算し、残りの表示サイズ（縮小後のサイズ）を算出する。
【００９１】
図１１の例でアプリサイズを６４０、水平方向の画面解像度を９６０とすると、残りサイズ（縮小後のサイズ）は、３２０（＝９６０−６４０）となる。ここまでは、単純に縮小した場合と同じである。
【００９２】
データ放送画面の一部を拡大してその画面についてアプリケーションエンジン７０３が説明を行う場合は、ＢＭＬデータ放送画面の中の一部に対してトリミングを行う。
【００９３】
図１２のブロック中に、ビデオトリミング部１１１とデータトリミング部１１２がその部分である。データ放送画面は、データ拡大縮小部１０４に入力される前に、データトリミング部において画像の一部を切り取る。この切り取る座標は、アプリケーションプログラムが、そのプログラムの中で定義しておく。図１１では、（ｘ０，ｙ０），（ｘ０，ｙ１），（ｘ１，ｙ０），（ｘ１，ｙ１）のデータが定義されており、この４つの座標で囲まれた部分をトリミングする。そして、データ放送画面を縮小するデータの元サイズは、この座標内でしめされたものとなる。水平方向のサイズは、（ｘ１−ｘ０）で表される。
【００９４】
次にアプリケーションエンジン７０３は、データ放送画面（ｘ１−ｘ０）を３２０にするための縮小比を算出する。本例では、残りサイズ（縮小後のサイズ）は３２０，元々のデータ放送画面サイズ（トリミング後のサイズ）は（ｘ１−ｘ０）なので、縮小後のサイズ÷元々のデータ放送画面サイズ＝  ３２０／（ｘ１−ｘ０）になり、水平方向に３２０／（ｘ１−ｘ０）にデータ放送画面を縮小すればよいことが分かる。垂直方向は、元々の画面サイズと同じアスペクト比を維持するように、アプリケーションエンジン７０３が計算する。
【００９５】
アプリケーションエンジン７０３は、この拡大縮小基準と、水平垂直の拡大・縮小比をビデオ拡大縮小部１０３とデータ拡大縮小部１０４にセットする。
【００９６】
また、トリミングを行う座標は、データトリミング部１１２に設定される。ビデオデータ部分をトリミングする場合は、データ放送トリミングと同様にその領域をアプリケーションプログラム中に定義しておく。そしてその領域に応じて、縮小比を決定し、合成表示を行う。
【００９７】
トリミングを行う座標データは、ビデオトリミング部１１１にアプリケーションエンジン７０３（物理的にはＣＰＵ８が行う）が設定を行う。
【００９８】
アプリケーションプログラムがあらかじめ決められたデータ放送画面の画面解像度を前提に書かれている場合は、あらかじめ計算された各拡大縮小比データもアプリケーションプログラム内に設定してあるため、その値を１０３，１０４に設定すれば良い。
【００９９】
（第３の実施例）
上述した実施例は、データ放送の画面を縮小する実施例であったが、第３の実施例として、データ放送を拡大する実施例について説明する。
【０１００】
本実施例では、アプリケーションエンジン７０３は、画面に表示するのではなく、音声を使ってデータ放送画面の補助を行う。
【０１０１】
図１３に拡大画面例を示す。また図１２に拡大する場合のグラフィックコントローラ５のブロック図を示す。
【０１０２】
まず、アプリケーションエンジン７０３は、アプリケーションプログラム７００内のアプリ描画基準を読みとる。本実施例では、アプリケーションエンジン７０３はビデオメモリに描画しないため、アプリ描画基準は無効であるＮＵＬＬコードが定義されている。
【０１０３】
このＮＵＬＬコードの場合は、アプリケーションエンジン７０３は、拡大・縮小基準の計算を行わない。
【０１０４】
さらにデータ放送画面の一部を拡大してその画面についてアプリケーションエンジン７０３が説明を行う場合は、ＢＭＬデータ放送画面の中の一部に対してトリミングを行う。
【０１０５】
図１２のブロック中に、ビデオトリミング部１１１とデータトリミング部１１２がその部分である。ＢＭＬデータ放送画面は、データ拡大縮小部１０４に入力される前に、データトリミング部において画像の一部を切り取る。この切り取る座標は、アプリケーションプログラムが、そのプログラムの中で定義しておく。
【０１０６】
図１３では（ｘ０，ｙ０），（ｘ０，ｙ１），（ｘ１，ｙ０），（ｘ１，ｙ１）のデータが定義されており、この４つの座標で囲まれた部分をトリミングする。
【０１０７】
ＣＰＵ８は、水平方向のサイズは、（ｘ１−ｘ０）を計算し、画面解像度をＲＯＭ１０から読み出し、その縮小比を求める。アプリサイズは０であるため、本例では、残りサイズ（縮小後のサイズ）は９６０，元々のデータ放送画面サイズ（トリミング後のサイズ）は（ｘ１−ｘ０）なので、縮小後のサイズ÷元々のデータ放送画面サイズ＝９６０／（ｘ１−ｘ０）になり、水平方向に９６０／（ｘ１−ｘ０）にデータ放送画面を縮小すればよいことが分かる。
【０１０８】
本実施例では、分子の方が、分母より大きくなり為、拡大処理となる。垂直方向は、元々の画面サイズと同じアスペクト比を維持するように、アプリケーションエンジン７０３が計算する。アプリケーションエンジン７０３は、この水平垂直の縮小拡大比をデータ拡大縮小部１０４．にセットする。
【０１０９】
また、トリミングを行う座標は、データトリミング部１１２に設定される。アプリケーションプログラムがあらかじめ決められたデータ放送画面の画面解像度を前提に書かれている場合は、あらかじめ計算された各拡大縮小比データもアプリケーションプログラム内に設定してあるため、その値を１０３，１０４に設定すれば良い。
【０１１０】
また、アプリケーションエンジン７０３は、音声出力処理７０７に対し音声デコード処理を指示する。
【０１１１】
この指示により、音声デコード１０９はデコードを開始し、セレクタ１１０は音声デコード１０９からの音声を表示デバイスに出力する。
【０１１２】
【発明の効果】
以上述べたように、本発明によれば、２つのエンジンを同時に使用し、それら２つのエンジンで各々動作しているプログラムを連携させて画面表示するデータ放送サービスへの対応が可能になり、視聴者はより表現力がある充実したデータ放送サービスを受けることができる。
【０１１３】
また、これら２つのエンジンを使用し、プログラムファイルを交互に実行する場合にそれらを制御するリモコンの操作優先度が明確になり、視聴者の混乱を未然に防止することができる。
【図面の簡単な説明】
【図１】本発明の基本的な構成図。
【図２】本発明の基本的なフローチャート図。
【図３】第１の実施例の画面表示例図。
【図４】アプリケーション起動準備ルーチンのフローチャート図。
【図５】アプリケーション表示ルーチンのフローチャート図。
【図６】データ放送縮小の手順図。
【図７】第１の実施例のグラフィックコントローラブロック図。
【図８】リモコン操作ボタン図。
【図９】トランスポートストリーム説明図。
【図１０】拡大・縮小基準の説明図。
【図１１】第２の実施例のデータ放送画面縮小手順図。
【図１２】第２、第３の実施例のグラフィックコントローラブロック図。
【図１３】第３の実施例のデータ放送画面拡大手順図。
【図１４】アプリケーションエンジンとプレゼンテーションエンジン関係図。
【図１】
2005020279.tif 000003
【図２】
2005020279.tif 000004
【図３】
2005020279.tif 000005
【図４】
2005020279.tif 000006
【図５】
2005020279.tif 000007
【図６】
2005020279.tif 000008
【図７】
2005020279.tif 000009
【図８】
2005020279.tif 000010
【図９】
2005020279.tif 000011
【図１０】
2005020279.tif 000012
【図１１】
2005020279.tif 000013
【図１２】
2005020279.tif 000014
【図１３】
2005020279.tif 000015
【図１４】
2005020279.tif 000016