(57)【特許請求の範囲】
【請求項１】
放送を受信する受信装置であって、
放送を受信する受信手段と、
受信した前記放送に含まれるサービスを出力する出力手段と、
受信した前記放送に含まれるアプリケーションプログラムを実行する実行手段と、
受信した前記放送に含まれるサービス情報から、そのサービスに対応するフォントデータを識別するための情報であるフォント識別子を抽出する抽出手段と、
出力中のサービスが切り替わったことを検出する切替検出手段と、
前記切替検出手段により切り替えが検出された前記出力中のサービスに対応するフォント識別子によって識別されるフォントデータを前記アプリケーションプログラムが使用するフォントデータとする接続手段と、
前記切替検出手段により切り替えが検出された後、前記出力中のサービスに対応するフォント識別子を記録する記録媒体と、
前記アプリケーションプログラムが使用するフォントデータを描画する描画手段と
を備え、
前記切替検出手段は、前記記録媒体に記録されたフォント識別子と、前記抽出手段により抽出されたフォント識別子とを比較し、前記出力中のサービスの切り替えを検出するように構成したことを特徴とする受信装置。
【請求項２】
前記アプリケーションプログラムは、実体のないＦｏｎｔＯｂｊｅｃｔである仮ＦｏｎｔＯｂｊｅｃｔを生成し、
前記接続手段は、前記フォント識別子によって識別されるフォントデータを前記仮ＦｏｎｔＯｂｊｅｃｔに接続することによって、前記フォント識別子によって識別されるフォントデータを前記アプリケーションプログラムが使用するフォントデータとする
ことを特徴とする請求項１に記載の受信装置。
【請求項３】
前記抽出手段は、受信した前記放送に含まれるＰＭＴ（Program Map Table）、ＳＤＴ（Service Description Table）、またはＥＩＴ（Event Information Table）から、前記フォント識別子を抽出することを特徴とする請求項１に記載の受信装置。
【請求項４】
前記受信装置はさらに、受信した前記放送に含まれるＰＭＴ、ＳＤＴ、またはＥＩＴをキャッシュする記録手段を備え、
前記抽出手段は、キャッシュしているＰＭＴ、ＳＤＴ、またはＥＩＴから、前記フォント識別子を抽出することを特徴とする請求項１に記載の受信装置。
【請求項５】
前記アプリケーションプログラムは、サービス切替時またはフォント描画時、前記仮ＦｏｎｔＯｂｊｅｃｔを生成することを特徴とする請求項２に記載の受信装置。
【請求項６】
前記接続手段は、サービス切替時またはフォント描画時、前記フォント識別子によって識別されるフォントデータを前記アプリケーションプログラムが使用するフォントデータとすることを特徴とする請求項１に記載の受信装置。
【請求項７】
タイトルを出力する出力装置であって、
第１の情報記録媒体を読み取る読み取り手段と、
読み取った前記第１の情報記録媒体に含まれるタイトルを出力する出力手段と、
読み取った前記第１の情報記録媒体に含まれるアプリケーションプログラムを実行する実行手段と、
読み取った前記第１の情報記録媒体に含まれるタイトル情報から、そのタイトルに対応するフォントデータを識別するための情報であるフォント識別子を抽出する抽出手段と、
出力中のタイトルが切り替わったことを検出する切替検出手段と、
前記切替検出手段により切り替えが検出された前記出力中のタイトルに対応するフォント識別子によって識別されるフォントデータを前記アプリケーションプログラムが使用するフォントデータとする接続手段と、
前記切替検出手段により切り替えが検出された後、前記出力中のタイトルに対応するフォント識別子を記録する第２の情報記録媒体と、
前記アプリケーションプログラムが使用するフォントデータを描画する描画手段と
を備え、
前記切替検出手段は、前記第２の情報記録媒体に記録されたフォント識別子と、前記抽出手段により抽出されたフォント識別子とを比較し、前記出力中のタイトルの切り替えを検出するように構成した
ことを特徴とする出力装置。
【請求項８】
放送を受信する受信方法であって、
放送を受信する受信ステップと、
受信した前記放送に含まれるサービスを出力する出力ステップと、
受信した前記放送に含まれるアプリケーションプログラムを実行する実行ステップと、
受信した前記放送に含まれるサービス情報から、そのサービスに対応するフォントデータを識別するための情報であるフォント識別子を抽出する抽出ステップと、
出力中のサービスが切り替わったことを検出する切替検出ステップと、
前記切替検出ステップにて切り替えが検出された前記出力中のサービスに対応するフォント識別子によって識別されるフォントデータを前記アプリケーションプログラムが使用するフォントデータとする接続ステップと、
前記切替検出ステップにて切り替えが検出された後、前記出力中のサービスに対応するフォント識別子を記録する記録ステップと、
前記アプリケーションプログラムが使用するフォントデータを描画する描画ステップとを有し、
前記切替検出ステップでは、前記記録ステップにて記録されたフォント識別子と、前記抽出ステップにて抽出されたフォント識別子とを比較し、前記出力中のサービスの切り替えを検出するようにしたことを特徴とする受信方法。
【請求項９】
放送を受信するためのプログラムであって、
放送を受信する受信ステップと、
受信した前記放送に含まれるサービスを出力する出力ステップと、
受信した前記放送に含まれるアプリケーションプログラムを実行する実行ステップと、
受信した前記放送に含まれるサービス情報から、そのサービスに対応するフォントデータを識別するための情報であるフォント識別子を抽出する抽出ステップと、
出力中のサービスが切り替わったことを検出する切替検出ステップと、
前記切替検出ステップにて切り替えが検出された前記出力中のサービスに対応するフォント識別子によって識別されるフォントデータを前記アプリケーションプログラムが使用するフォントデータとする接続ステップと、
前記切替検出ステップにて切り替えが検出された後、前記出力中のサービスに対応するフォント識別子を記録する記録ステップと、
前記アプリケーションプログラムが使用するフォントデータを描画する描画ステップとをコンピュータに実行させ、
前記切替検出ステップでは、前記記録ステップにて記録されたフォント識別子と、前記抽出ステップにて抽出されたフォント識別子とを比較し、前記出力中のサービスの切り替えを検出するようにしたことを特徴とするプログラム。
【請求項１０】
放送を受信するためのプログラムを記録した記録媒体であって、
放送を受信する受信ステップと、
受信した前記放送に含まれるサービスを出力する出力ステップと、
受信した前記放送に含まれるアプリケーションプログラムを実行する実行ステップと、
受信した前記放送に含まれるサービス情報から、そのサービスに対応するフォントデータを識別するための情報であるフォント識別子を抽出する抽出ステップと、
出力中のサービスが切り替わったことを検出する切替検出ステップと、
前記切替検出ステップにて切り替えが検出された前記出力中のサービスに対応するフォント識別子によって識別されるフォントデータを前記アプリケーションプログラムが使用するフォントデータとする接続ステップと、
前記切替検出ステップにて切り替えが検出された後、前記出力中のサービスに対応するフォント識別子を記録する記録ステップと、
前記アプリケーションプログラムが使用するフォントデータを描画する描画ステップとをコンピュータに実行させるためのプログラムを記録し、
前記切替検出ステップでは、前記記録ステップにて記録されたフォント識別子と、前記抽出ステップにて抽出されたフォント識別子とを比較し、前記出力中のサービスの切り替えを検出するようにしたことを特徴とする記録媒体。
【請求項１１】
放送を送出する送出装置と、放送を受信する受信装置とを備えるデジタル放送システムであって、
前記送出装置は、
サービスに対応するフォントデータを識別するための情報であるフォント識別子が含まれるサービス情報を生成する生成手段と、
生成した前記サービス情報とサービスとアプリケーションプログラムとが含まれる放送を送出する送出手段とを有し、
前記受信装置は、
放送を受信する受信手段と、
受信した前記放送に含まれるサービスを出力する出力手段と、
受信した前記放送に含まれるアプリケーションプログラムを実行する実行手段と、
受信した前記放送に含まれるサービス情報から、そのサービスに対応するフォントデータを識別するための情報であるフォント識別子を抽出する抽出手段と、
出力中のサービスが切り替わったことを検出する切替検出手段と、
前記切替検出手段により切り替えが検出された前記出力中のサービスに対応するフォント識別子によって識別されるフォントデータを前記アプリケーションプログラムが使用するフォントデータとする接続手段と、
前記切替検出手段により切り替えが検出された後、前記出力中のサービスに対応するフォント識別子を記録する記録媒体と、
前記アプリケーションプログラムが使用するフォントデータを描画する描画手段とを備え、
前記切替検出手段は、前記記録媒体に記録されたフォント識別子と、前記抽出手段により抽出されたフォント識別子とを比較し、前記出力中のサービスの切り替えを検出するように構成したことを特徴とする放送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、放送を受信する受信装置に関し、特に、放送に含まれるアプリケーションプログラムを受信装置において実行する際、そのアプリケーションプログラムが使用するフォントをサービス等によって変更する機構に関する。
【背景技術】
【０００２】
従来、アプリケーションプログラムをダウンロードして実行するデジタル放送システムにおいて、アプリケーションプログラムが使用するフォントをサービスによって変更する技術がある。たとえば、現在時刻を表示するアプリケーションプログラムを実行した場合は、図１(Ａ)(Ｂ)に示されるように、サービス（チャンネル）Ｓを変更すると、そのサービスＳに応じたフォントで現在時刻Ｔが表示される。
【０００３】
アプリケーションプログラムをダウンロードして実行するデジタル放送システムに関する技術は、欧州のデジタルテレビ標準規格であるＤＶＢ−ＭＨＰ規格（非特許文献１参照）に定められており、公知の技術である。ＤＶＢ−ＭＨＰ規格は、端末に予め組み込まれたフォントを利用するＡＰＩとして、Ｊａｖａ（登録商標）クラスライブラリであるＡＷＴ（Abstract Window Toolkit）を採用している。加えて、端末に予め組み込まれていないフォントを利用するためのＡＰＩをも規定している。詳細はＤＶＢ−ＭＨＰ規格を参照されたい。
【０００４】
以下、端末に予め組み込まれていないフォントを利用するための機構について概説する。ここでは、ＤＶＢ−ＭＨＰ規格に規定されている内容を説明する。
【０００５】
＜大まかな機能構成＞
図２は、ＤＶＢ−ＭＨＰ規格に準拠した典型的な端末の大まかな機能構成を示すブロック図である。
【０００６】
ＴＳ信号１０１上のデータは、ＴＳ処理部１０２によってデコードされる。デコードされたデータは夫々のデータの種類に応じて専用のメモリに記録される。フォントデータおよびＸｌｅｔはファイルシステム記録メモリ１０３に、サービス情報はサービス情報記録メモリ１０４に、ＡＶデータはＡＶ記録メモリ１０５に夫々記録される。Ｘｌｅｔは、Ｊａｖａ（登録商標）のバイトコードで表現されたプログラムである。
【０００７】
サービス情報処理部１０８は、サービス情報記録メモリ１０４に記録されたサービス情報を処理し、プレゼンテーション処理部１０９に対してＡＶデータの再生（出力）を指示し、プログラム処理部１０７に対してＸｌｅｔの起動を指示する。
【０００８】
プレゼンテーション処理部１０９は、映像、音声、字幕夫々に対応するデコーダをもち、サービス情報処理部１０８からの指示に従い、ＡＶ記録メモリ１０５に記録されたＡＶデータをデコードしてビデオプレーン１１３へ出力する。
【０００９】
プログラム処理部１０７は、Ｊａｖａ（登録商標）の仮想マシンを含み、ファイルシステム記録メモリ１０３に記録されたＸｌｅｔを実行する。このＸｌｅｔには、端末に予め組み込まれていないフォントを生成及び利用するバイトコードが含まれる。具体的には、ＤＶＢ−ＭＨＰ規格において規定されているｏｒｇ．ｄｖｂ．ｕｉ．ＦｏｎｔＦａｃｔｏｒｙクラスによる、フォント生成機構を用いる。プログラム処理部１０７は、前記Ｘｌｅｔのバイトコードを読み取り、端末に予め組み込まれていないフォントを利用可能とするために、ＦｏｎｔＯｂｊｅｃｔ生成部１０６にＦｏｎｔＯｂｊｅｃｔの生成を指示し、結果として生成されたＦｏｎｔＯｂｊｅｃｔをＦｏｎｔＯｂｊｅｃｔ生成部１０６から受取る。更にプログラム処理部１０７は、前記ＦｏｎｔＯｂｊｅｃｔの描画をフォント処理部１１１に指示する。
【００１０】
ＦｏｎｔＯｂｊｅｃｔ生成部１０６は、プログラム処理部１０７からの指示に従い、ファイルシステム記録メモリ１０３に記録されたフォントデータから、ＡＷＴのｊａｖａ．ａｗｔ．Ｆｏｎｔ互換のＦｏｎｔＯｂｊｅｃｔと前記ＦｏｎｔＯｂｊｅｃｔの描画情報であるフォントフェースとを生成し、これらを対にしてＦｏｎｔＯｂｊｅｃｔ記録メモリ１１０に記録する。ＦｏｎｔＯｂｊｅｃｔ記録メモリ１１０のうち、少なくともＦｏｎｔＯｂｊｅｃｔが記録される領域は、Ｊａｖａ（登録商標）仮想マシンのヒープ領域である。
【００１１】
フォント処理部１１１は、プログラム処理部１０７からのＦｏｎｔＯｂｊｅｃｔの描画指示に従い、前記ＦｏｎｔＯｂｊｅｃｔと対になったフォントフェースをＦｏｎｔＯｂｊｅｃｔ記録メモリ１１０から取得してグラフィックスプレーン１１２へ出力する。
【００１２】
グラフィックスプレーン１１２とビデオプレーン１１３とは、合成処理部１１４によって合成され、テレビ受像機などへ出力される。
【００１３】
＜使用するフォントをサービスによって変更する機構＞
次に、前記した端末が使用するフォントをサービスによって変更する機構を説明する。
【００１４】
プログラム処理部１０７によって実行されるＸｌｅｔには、サービスとフォント情報との対応情報が含まれる。また、Ｘｌｅｔには、再生サービスが変化すれば利用するフォントを変更するバイトコードが含まれる。
【００１５】
図３は、サービスとフォント情報との前記対応情報の一例を示す図である。この図に示されるように、対応情報は、サービスＩＤとフォントファイル名とを対応付けた情報である。このような対応情報を用いることにより、再生サービスが決まれば利用するフォントを特定することが可能となる。
【００１６】
プログラム処理部１０７は、前記Ｘｌｅｔのバイトコードを読み取り、現在再生中のサービスＩＤをサービス情報処理部１０８から取得し、利用するフォントを前記対応情報に基づいて決定した後、ＦｏｎｔＯｂｊｅｃｔの生成をＦｏｎｔＯｂｊｅｃｔ生成部１０６に指示する。すなわち、再生サービスが変化すると、プログラム処理部１０７は、変化後の再生サービスのサービスＩＤをサービス情報処理部１０８から取得し、利用するフォントを前記対応情報に基づいて決定し、ＦｏｎｔＯｂｊｅｃｔの生成をＦｏｎｔＯｂｊｅｃｔ生成部１０６に指示する。
【非特許文献１】ＥＴＳＩ  ＴＳ  １０１  ８１２  ＤＶＢ−ＭＨＰ仕様Ｖ１．０．３
【発明の開示】
【発明が解決しようとする課題】
【００１７】
従来の技術では、再生サービスが変化したときにＦｏｎｔＯｂｊｅｃｔを新規に作るバイトコードをＸｌｅｔが含んでいる。つまりＸｌｅｔの記述が複雑になる。
【００１８】
また、従来の技術では、サービスとフォント情報との対応情報をＸｌｅｔが含んでいる。したがって、対応情報に記載されていないサービスでは、利用するフォントを特定することが出来ない。換言すれば、新しいサービスで利用するフォントを特定できるようにするためには、Ｘｌｅｔに修正を加える必要がある。
【００１９】
本発明は、上記課題に鑑みてなされた発明であって、再生サービスが変化したときにＦｏｎｔＯｂｊｅｃｔを新規に作るバイトコードをＸｌｅｔが含まなくとも、またＸｌｅｔがサービスとフォント情報との対応情報を含まなくとも、使用するフォントをサービスによって変更する機構を提供することを目的とする。
【課題を解決するための手段】
【００２０】
前記従来の課題を解決するために、本発明の受信装置は、放送を受信する受信装置であって、放送を受信する受信手段と、受信した前記放送に含まれるサービスを出力する出力手段と、受信した前記放送に含まれるアプリケーションプログラムを実行する実行手段と、受信した前記放送に含まれるサービス情報から、そのサービスに対応するフォントデータを識別するための情報であるフォント識別子を抽出する抽出手段と、出力中のサービスが切り替わったことを検出する切替検出手段と、前記切替検出手段により切り替えが検出された前記出力中のサービスに対応するフォント識別子によって識別されるフォントデータを前記アプリケーションプログラムが使用するフォントデータとする接続手段と、前記切替検出手段により切り替えが検出された後、前記出力中のサービスに対応するフォント識別子を記録する記録媒体と、前記アプリケーションプログラムが使用するフォントデータを描画する描画手段を備え、前記切替検出手段は、前記記録媒体に記録されたフォント識別子と、前記抽出手段により抽出されたフォント識別子とを比較し、前記出力中のサービスの切り替えを検出するように構成したことを特徴とする。これにより、アプリケーションプログラムは、視聴単位ごとにフォントデータを処理する処理コード（具体的には、ＦｏｎｔＯｂｊｅｃｔを生成する処理コードや、フォントファイルを指定する処理コード）を含まなくても、使用するフォントデータを視聴単位ごとに変更することが可能となる。
【００２１】
ここで、前記アプリケーションプログラムは、実体のないＦｏｎｔＯｂｊｅｃｔである仮ＦｏｎｔＯｂｊｅｃｔを生成し、前記接続手段は、前記フォント識別子によって識別されるフォントデータを前記仮ＦｏｎｔＯｂｊｅｃｔに接続することによって、前記フォント識別子によって識別されるフォントデータを前記アプリケーションプログラムが使用するフォントデータとしてもよい。これにより、アプリケーションプログラムは、仮ＦｏｎｔＯｂｊｅｃｔを生成するという簡便な処理コードを含むだけで、使用するフォントデータを視聴単位ごとに変更することが可能となる。
【００２２】
また、前記抽出手段は、受信した前記放送に含まれるＰＭＴ（Program Map Table）、ＳＤＴ（Service Description Table）、またはＥＩＴ（Event Information Table）から、前記フォント識別子を抽出してもよい。これらテーブルからフォント識別子を抽出すると、そのフォント識別子によって識別されるフォントデータを前記アプリケーションプログラムが使用することが可能となる。
【００２３】
また、前記受信装置はさらに、受信した前記放送に含まれるＰＭＴ、ＳＤＴ、またはＥＩＴをキャッシュする記録手段を備え、前記抽出手段は、キャッシュしているＰＭＴ、ＳＤＴ、またはＥＩＴから、前記フォント識別子を抽出してもよい。このようにＰＭＴ等をキャッシュしておけば、サービスを切り替えてからフォントが切り替わるまでの遅延を抑えることが可能となる。
【００２４】
また、前記アプリケーションプログラムは、サービス切替時またはフォント描画時、前記仮ＦｏｎｔＯｂｊｅｃｔを生成してもよい。仮ＦｏｎｔＯｂｊｅｃｔを生成するタイミングは、サービス切替時またはフォント描画時であっても同様の効果を得ることができる。
【００２５】
また、前記接続手段は、サービス切替時またはフォント描画時、前記フォント識別子によって識別されるフォントデータを前記アプリケーションプログラムが使用するフォントデータとしてもよい。前記フォント識別子によって識別されるフォントデータを前記アプリケーションプログラムが使用するフォントデータとするタイミングは、サービス切替時であってもフォント描画時であっても同様の効果を得ることができる。
【００２６】
なお、本発明は、このような受信装置として実現することができるだけでなく、このような受信装置が備える特徴的な手段を備える出力装置として実現したり、このような受信装置が備える特徴的な手段をステップとする受信方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【発明の効果】
【００２７】
以上のように、本発明によれば、アプリケーションプログラムは、視聴単位ごとにフォントデータを処理する処理コード（具体的には、ＦｏｎｔＯｂｊｅｃｔを生成する処理コードや、フォントファイルを指定する処理コード）を含まなくても、使用するフォントデータを視聴単位ごとに変更することが可能となる。したがって、従来に比べてアプリケーションプログラムの記述が単純になる。また、サービスとフォント情報との対応情報をアプリケーションプログラムに含める構成を採用していないので、新しいサービスを利用する場合でもアプリケーションプログラムに修正を加える必要がない。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の実施の形態を、図面を参照しながら説明する。
【００２９】
（実施の形態１）
まず、最初に、本発明の第１の実施の形態について説明する。
【００３０】
図４は、本発明に係る実施の形態１におけるデジタル放送システムの構成を示す図である。このデジタル放送システムには、送出装置３０１、３個の受信装置Ａ３０２、受信装置Ｂ３０３、受信装置Ｃ３０４、および伝送路３０５が含まれる。本実施の形態では、１つの送出装置に対して３個の受信装置が結合されているが、１つの送出装置に対して任意の数の受信装置を結合してもよい。
【００３１】
＜ＭＰＥＧトランスポートストリームの構成＞
送出装置３０１は、複数の受信装置に対して、映像・音声・データ等の放送信号としてＭＰＥＧトランスポートストリームを送出する。図５は、送出装置３０１によって送出されるＭＰＥＧトランスポートストリームの模式図である。このＭＰＥＧトランスポートストリームには、Ｓｅｒｖｉｃｅ−ＡとＳｅｒｖｉｃｅ−Ｂの２つのＤＶＢサービスが含まれる。本模式図は、ＤＶＢ−ＭＨＰ規格におけるＭＰＥＧトランスポートストリームの模式図と等しい。Ｓｅｒｖｉｃｅ−ＡはＰＭＴ−ａ１で表される。このＰＭＴ−ａ１によって、映像ＤａｔａＤｖ−ａ１と、音声ＤａｔａＤａ−ａ１と、ＡＩＴ−ａ１と、ＤＳＭ−ＣＣＤａｔａＦＳ−ａ１とがＳｅｒｖｉｃｅ−Ａの構成要素として指定される。ＤＳＭ−ＣＣＤａｔａＦＳ−ａ１は、ＤＳＭ−ＣＣのファイルシステムを構築するためのデータである。ＤＳＭ−ＣＣＤａｔａＦＳ−ａ１には、Ｊａｖａ（登録商標）のバイトコードで表現されるアプリケーションプログラムＡｐｐ−ａｂ１．ｃｌａｓｓと、フォントデータＣｏｍｉｃＳａｎｓ．ｐｆｒと、フォントデータＭｏｖｉｅＳｅｒｉｆ．ｐｆｒとが含まれる。Ｓｅｒｖｉｃｅ−ＢはＰＭＴ−ｂ１で表される。このＰＭＴ−ｂ１によって、映像ＤａｔａＤｖ−ｂ１と、音声ＤａｔａＤａ−ｂ１と、ＡＩＴ−ａ１と、ＤＳＭ−ＣＣＤａｔａＦＳ−ａ１とがＳｅｒｖｉｃｅ−Ｂの構成要素として指定される。ＤＳＭ−ＣＣＤａｔａＦＳ−ａ１は、ＤＳＭ−ＣＣのファイルシステムを構築するためのデータである。ここで、ＡＩＴ−ａ１は、Ｓｅｒｖｉｃｅ−ＡおよびＳｅｒｖｉｃｅ−Ｂの両方で共通である。
【００３２】
図６は、本発明に係るＰＭＴのデータ構造を示す図である。
【００３３】
ＰＭＴ（Program Map Table）には、プログラム情報が記載されている。ＰＭＴのパケットＩＤはＰＡＴで示され、テーブルＩＤは0x02である。ＰＭＴには、プログラム毎に、そのプログラムを構成する映像・音声・アプリケーション・その他付加データなどを伝播するＥＳ（エレメンタリ・ストリーム）のパケットＩＤなどが記載されている。バージョン番号は、テーブルの内容が更新される都度加算される。カレント・ネクスト・インディケータは、現バージョンと次のバージョンとを同時に伝送する際の識別に用いられる。ＰＭＴにフォント識別子を含める場合、フォント識別子はディスクリプタ（Descriptor）として記述される。ＰＭＴの構造や取得方法は、当業者には周知である。
【００３４】
図７は、本発明に係るＰＭＴのデータ構造を示す模式図である。
【００３５】
ＰＭＴ−ａ１には、図７（Ａ）に示されるように、バージョン番号“６”およびフォント識別子“ＣｏｍｉｃＳａｎｓ．ｐｆｒ”が含まれる。フォント識別子“ＣｏｍｉｃＳａｎｓ．ｐｆｒ”は、ＰＭＴ−ａ１再生中に使用するフォントデータを識別するための情報である。加えて、構成要素である映像ＤａｔａＤｖ−ａ１、音声ＤａｔａＤａ−ａ１、ＡＩＴ−ａ１、およびＤＳＭ−ＣＣＤａｔａＦＳ−ａ１のパケットＩＤが含まれる。
【００３６】
同様に、ＰＭＴ−ｂ１には、図７（Ｂ）に示されるように、バージョン番号“１７”およびフォント識別子“ＭｏｖｉｅＳｅｒｉｆ．ｐｆｒ”が含まれる。フォント識別子“ＭｏｖｉｅＳｅｒｉｆ．ｐｆｒ” は、ＰＭＴ−ｂ１再生中に使用するフォントデータを識別するための情報である。加えて、構成要素である映像ＤａｔａＤｖ−ｂ１、音声ＤａｔａＤａ−ｂ１、ＡＩＴ−ａ１、およびＤＳＭ−ＣＣＤａｔａＦＳ−ａ１のパケットＩＤが含まれる。
【００３７】
図８は、フォント識別子のディスクリプタの例を示す図である。
【００３８】
ここでは、フォントファイル名を記述するDescriptorについて例示する。デジタル放送で使用されるDescriptorは、例えば“Digital Video Broadcasting (DVB);Specification for Service Information(SI) in DVB systems”(EN 300 468)などで解説されており、当業者には周知である。基本的な規則として、先頭２つにはdescriptor＿tagとdescritptor＿lengthが配置される。descriptor＿tagには、Descritpor毎に割り振られた値が記述される。descriptor＿lengthには、当該Descritporのバイト数が記述される。この基本的な規則により、受信機は未知のDescriptorに遭遇したときに、当該Descriptorの処理を割愛し、次のDescriptorの処理を行うことが可能となる。フォント識別子のDescriptorのdescritpor＿tagには、例えば 0x80などの８ビット値を与えるが、当該放送システムで使用する他のDescriptorのdescriptor＿tagとして使用していない値であれば、他の８ビット値であっても構わない。
【００３９】
＜受信装置の構成＞
図９は、実施の形態１における受信装置の大まかな機能構成を示したブロック図である。
【００４０】
受信装置は、送出装置３０１から送出されるＭＰＥＧトランスポートストリームを受信し、ＭＰＥＧトランスポートストリームに含まれるアプリケーションプログラムを実行する。
【００４１】
ＴＳ処理部６０２は、本発明に係る受信手段に相当する。すなわち、ＴＳ処理部６０２は、ＴＳ信号６０１上のデータをデコードする。デコードされたデータは、夫々のデータの種類に応じて専用のメモリに記録される。フォントデータおよびアプリケーションプログラムはファイルシステム記録メモリ６０３に、ＰＭＴなどのサービス情報はサービス情報記録メモリ６０４に、映像や音声などのＡＶデータはＡＶ記録メモリ６０５に夫々記録される。アプリケーションプログラムは、Ｊａｖａ（登録商標）のバイトコードで表現されたアプリケーションプログラムである（以下、同様）。
【００４２】
サービス情報処理部６０９は、本発明に係る抽出手段に相当する。すなわち、サービス情報処理部６０９は、サービス情報記録メモリ６０４に記録されたサービス情報を処理し、プレゼンテーション処理部６１１に対してＡＶデータの再生（出力）を指示し、プログラム処理部６０８に対してアプリケーションプログラムの起動を指示し、サービス情報からフォント識別子を抽出してサービス切替検出部６１０に通知する。
【００４３】
ＴＳ処理部６０２の一般的な動作は従来と同じである。また、サービス情報処理部６０９が処理すべきサービス情報を特定する情報（具体的にはＭＰＥＧプログラムナンバーなど）は従来と同じである。また、処理すべきサービス情報を特定する情報をサービス情報処理部６０９に与える手段（具体的にはリモコンからの指示を入力するリモコン入力部など）は従来と同じである。
【００４４】
プレゼンテーション処理部６１１は、本発明に係る出力手段に相当する。すなわち、プレゼンテーション処理部６１１は、映像、音声、字幕夫々に対応するデコーダをもち、サービス情報処理部６０９からの指示に従い、ＡＶ記録メモリ６０５に記録されたＡＶデータをデコードしてビデオプレーン６１５へ出力する。
【００４５】
プログラム処理部６０８は、本発明に係る実行手段に相当する。すなわち、プログラム処理部６０８は、Ｊａｖａ（登録商標）の仮想マシンを含み、ファイルシステム記録メモリ６０３に記録されたアプリケーションプログラムを実行する。このアプリケーションプログラムには、サービス情報に含まれるフォント識別子によって識別されるフォントデータを使用して文字列の描画を行うために、ＡＷＴのｊａｖａ．ａｗｔ．Ｆｏｎｔ互換のＦｏｎｔＯｂｊｅｃｔの生成を指示するバイトコード、および前記ＦｏｎｔＯｂｊｅｃｔを用いて文字列の描画を指示するバイトコードが含まれる。以下、アプリケーションプログラムが生成するＦｏｎｔＯｂｊｅｃｔ（アプリケーションプログラムの機能によって生成されるＦｏｎｔＯｂｊｅｃｔ）を「仮ＦｏｎｔＯｂｊｅｃｔ」という場合がある。仮ＦｏｎｔＯｂｊｅｃｔとは、実体のないＦｏｎｔＯｂｊｅｃｔであり、具体的には、描画に使用するためのフォントフェースがメモリ上に読み込まれていないＦｏｎｔＯｂｊｅｃｔである。再生中のサービスが切り替わったとき、そのサービスに対応するフォントファイルが仮ＦｏｎｔＯｂｊｅｃｔに接続されることになるが、この点については後述する。
【００４６】
プログラム処理部６０８は、前記ＦｏｎｔＯｂｊｅｃｔの生成を指示するバイトコードを前記アプリケーションプログラムから読み取り、ＦｏｎｔＯｂｊｅｃｔ生成部６０７に前記ＦｏｎｔＯｂｊｅｃｔの生成を指示し、結果として生成されたＦｏｎｔＯｂｊｅｃｔをＦｏｎｔＯｂｊｅｃｔ生成部６０７から受取る。更にプログラム処理部６０８は、文字列の描画を指示するバイトコードを前記アプリケーションプログラムから読み取り、前記ＦｏｎｔＯｂｊｅｃｔの描画をフォント描画部６１２に指示する。
【００４７】
サービス切替検出部６１０は、本発明に係る切替検出手段に相当する。すなわち、サービス切替検出部６１０は、サービス情報処理部６０９からフォント識別子の通知を受取ると、フォント識別子記録メモリ６１７に記録されているフォント識別子と、サービス情報処理部６０９から受取ったフォント識別子とを比較する。比較の結果、２つのフォント識別子が同じであれば何もしない。比較の結果、２つのフォント識別子が異なれば、サービス情報処理部６０９から受取ったフォント識別子をフォント識別子記録メモリ６１７に格納するとともにリンク切替部６０６に通知する。
【００４８】
リンク切替部６０６は、本発明に係る接続手段に相当する。すなわち、リンク切替部６０６は、サービス切替検出部６１０からフォント識別子の通知を受取ると、そのフォント識別子によって識別されるフォントデータをファイルシステム記録メモリ６０３から取得する。そして、前記ＦｏｎｔＯｂｊｅｃｔの描画情報であるフォントフェースを生成し、ＦｏｎｔＯｂｊｅｃｔ記録メモリ６１３に記録する。
【００４９】
ＦｏｎｔＯｂｊｅｃｔ記録メモリ６１３は、ＦｏｎｔＯｂｊｅｃｔ生成部６０７が生成したＦｏｎｔＯｂｊｅｃｔと、リンク切替部６０６が生成したフォントフェースとを対にして格納する。ＦｏｎｔＯｂｊｅｃｔ記録メモリ６１３のうち、少なくとも、前記ＦｏｎｔＯｂｊｅｃｔが記録される領域はＪａｖａ（登録商標）仮想マシンのヒープ領域である。
【００５０】
このように、リンク切替部６０６は、サービス切替検出部６１０からフォント識別子の通知を受取ると、そのフォント識別子によって識別されるフォントデータを仮ＦｏｎｔＯｂｊｅｃｔに接続する。これによって、前記フォント識別子によって識別されるフォントデータは、アプリケーションプログラムによって使用されることになる。
【００５１】
ＦｏｎｔＯｂｊｅｃｔ生成部６０７は、プログラム処理部６０８からＦｏｎｔＯｂｊｅｃｔ生成指示を受けると、ＡＷＴのｊａｖａ．ａｗｔ．Ｆｏｎｔ互換のＦｏｎｔＯｂｊｅｃｔを生成し、ＦｏｎｔＯｂｊｅｃｔ記録メモリ６１３に記録する。なお、ｊａｖａ．ａｗｔ．Ｆｏｎｔ互換とは、ｊａｖａ．ａｗｔ．Ｆｏｎｔに定義されたメソッドがＦｏｎｔＯｂｊｅｃｔにおいても利用可能であり、また、ｊａｖａ．ａｗｔ．Ｆｏｎｔのインスタンスを引数に与えることができるメソッドにおいてはＦｏｎｔＯｂｊｅｃｔを引数に与えることができることを示す。
【００５２】
フォント描画部６１２は、本発明に係る描画手段に相当する。すなわち、フォント描画部６１２は、プログラム処理部６０８からＦｏｎｔＯｂｊｅｃｔの描画指示を受けると、前記ＦｏｎｔＯｂｊｅｃｔと対になったフォントフェースをＦｏｎｔＯｂｊｅｃｔ記録メモリ６１３から取得し、取得したフォントフェースをラスタライズしてグラフィックスプレーン６１４へ出力する。
【００５３】
グラフィックスプレーン６１４とビデオプレーン６１５とは、合成処理部６１６によって合成され、テレビ受像機などへ出力される。
【００５４】
アプリケーションプログラムを実行するプログラム処理部６０８、フォントフェースをラスタライズするフォント描画部６１２、グラフィックスプレーン６１４、ビデオプレーン６１５、合成処理部６１６の機能は、従来の一般的な機能であり、当業者には周知である。
【００５５】
＜受信装置の動作＞
以下、図１０〜図１４に示すフローチャートを参照しながら、前記のように構成された受信装置が視聴単位ごとに使用するフォントデータを切替える動作について説明する。この動作は、本実施の形態の特徴的な動作である。
【００５６】
図１０は、サービス再生時におけるサービス情報処理部６０９の動作を示すフローチャートである。
【００５７】
（ステップＳ６０１）サービス情報処理部６０９は、サービス情報を特定可能な情報を与えられるまで待つ。
【００５８】
（ステップＳ６０２）サービス情報処理部６０９は、ステップＳ６０１で与えられた情報によって特定されるサービス情報をサービス情報記録メモリ６０４から取得する。
【００５９】
（ステップＳ６０３）サービス情報処理部６０９は、ステップＳ６０２で取得したサービス情報に含まれる“ＡＶデータを識別するパケットＩＤ”を与え、ＡＶデータの再生をプレゼンテーション処理部６１１に指示する。
【００６０】
（ステップＳ６０４）サービス情報処理部６０９は、ステップＳ６０２で取得したサービス情報にＡＩＴが含まれるか否か判断する。ＡＩＴが含まれる場合はステップＳ６０５へ進み、ＡＩＴが含まれない場合はステップＳ６０６へ進む。
【００６１】
（ステップＳ６０５）サービス情報処理部６０９は、ステップＳ６０２で取得したサービス情報に含まれる“ＡＩＴを識別するパケットＩＤ”を与え、アプリケーションプログラムの実行をプログラム処理部６０８に指示する。
【００６２】
（ステップＳ６０６）サービス情報処理部６０９は、ステップＳ６０２で取得したサービス情報にフォント識別子が含まれるか否か判断する。フォント識別子が含まれる場合はステップＳ６０７へ進み、フォント識別子が含まれない場合はステップＳ６０８へ進む。
【００６３】
（ステップＳ６０７）サービス情報処理部６０９は、ステップＳ６０２で取得したサービス情報に含まれるフォント識別子をサービス切替検出部６１０に通知する。
【００６４】
（ステップＳ６０８）ステップＳ６０１へ戻る。
【００６５】
図１１は、サービス切替検出時におけるサービス切替検出部６１０の動作を示すフローチャートである。
【００６６】
（ステップＳ６１１）サービス切替検出部６１０は、フォント識別子を与えられるまで待つ。
【００６７】
（ステップＳ６１２）サービス切替検出部６１０は、フォント識別子記録メモリ６１７に記録されているフォント識別子と、ステップＳ６１１で与えられたフォント識別子とが等しいか否か判断する。２つのフォント識別子が等しい場合はステップＳ６１５へ進み、等しくない場合はステップＳ６１３へ進む。
【００６８】
（ステップＳ６１３）サービス切替検出部６１０は、ステップＳ６１１で与えられたフォント識別子をリンク切替部６０６に通知する。
【００６９】
（ステップＳ６１４）サービス切替検出部６１０は、ステップＳ６１１で与えられたフォント識別子をフォント識別子記録メモリ６１７に記録する。
【００７０】
（ステップＳ６１５）ステップＳ６１１へ戻る。
【００７１】
図１２は、ＦｏｎｔＯｂｊｅｃｔ生成時におけるプログラム処理部６０８およびＦｏｎｔＯｊｂｅｃｔ生成部６０７の動作を示すフローチャートである。
【００７２】
（ステップＳ６２１）プログラム処理部６０８は、アプリケーションプログラムを実行する。
【００７３】
（ステップＳ６２２）プログラム処理部６０８は、ＦｏｎｔＯｂｊｅｃｔ生成の命令が出現したか否か判断する。ＦｏｎｔＯｂｊｅｃｔ生成の命令が出現した場合はステップＳ６２３へ進み、出現しない場合はステップＳ６２１へ戻る。
【００７４】
（ステップＳ６２３）プログラム処理部６０８は、ＦｏｎｔＯｂｊｅｃｔ生成部６０７にＦｏｎｔＯｂｊｅｃｔの生成を指示する。
【００７５】
（ステップＳ６２４）ＦｏｎｔＯｂｊｅｃｔ生成部６０７は、ＡＷＴのｊａｖａ．ａｗｔ．Ｆｏｎｔ互換のＦｏｎｔＯｂｊｅｃｔを生成する。言い換えると、実体のないＦｏｎｔＯｂｊｅｃｔである仮ＦｏｎｔＯｂｊｅｃｔを生成する。既に説明した通り、この段階では、描画に使用するためのフォントフェースはメモリ上に読み込まれていない。フォントデータを仮ＦｏｎｔＯｂｊｅｃｔに接続するための準備をしただけである。
【００７６】
（ステップＳ６２５）ＦｏｎｔＯｂｊｅｃｔ生成部６０７は、ステップＳ６２４で生成したＦｏｎｔＯｂｊｅｃｔをＦｏｎｔＯｂｊｅｃｔ記録メモリ６１３に記録する。
【００７７】
（ステップＳ６２６）ＦｏｎｔＯｂｊｅｃｔ生成部６０７は、ステップＳ６２４で生成したＦｏｎｔＯｂｊｅｃｔをプログラム処理部６０８に戻す。
【００７８】
図１３は、フォントフェース生成時におけるリンク切替部６０６の動作を示すフローチャートである。
【００７９】
（ステップＳ６３１）リンク切替部６０６は、フォント識別子を与えられるまで待つ。
【００８０】
（ステップＳ６３２）リンク切替部６０６は、ステップＳ６３１で与えられたフォント識別子によって識別されるフォントデータをファイルシステム記録メモリ６０３から取得する。
【００８１】
（ステップＳ６３３）リンク切替部６０６は、ステップＳ６３２で取得したフォントデータから、描画可能な形式、すなわち描画情報であるフォントフェースを生成する。
【００８２】
（ステップＳ６３４）リンク切替部６０６は、ステップＳ６３３で生成したフォントフェースをＦｏｎｔＯｂｊｅｃｔ記録メモリ６１３に記録する。これによって、前記フォント識別子によって識別されるフォントデータが仮ＦｏｎｔＯｂｊｅｃｔに接続されたことになる。すなわち、描画に使用するためのフォントフェースがメモリ上に読み込まれたことになる。
【００８３】
図１４は、文字および文字列描画時におけるプログラム処理部６０８およびフォント描画部６１２の動作を示すフローチャートである。
【００８４】
（ステップＳ６４１）プログラム処理部６０８は、アプリケーションプログラムを実行する。
【００８５】
（ステップＳ６４２）プログラム処理部６０８は、文字列描画の命令が出現したか否か判断する。文字列描画の命令が出現した場合はステップＳ６４３へ進み、出現しない場合はステップＳ６４１へ戻る。
【００８６】
（ステップＳ６４３）プログラム処理部６０８は、使用するフォントとしてＦｏｎｔＯｂｊｅｃｔが指定されているか否か判断する。ＦｏｎｔＯｂｊｅｃｔが指定されている場合はステップＳ６４４へ進み、指定されていない場合はステップＳ６４１へ戻る。
【００８７】
（ステップＳ６４４）プログラム処理部６０８は、ＦｏｎｔＯｂｊｅｃｔを使ってフォント描画部６１２に文字列描画を指示する。
【００８８】
（ステップＳ６４５）フォント描画部６１２は、ＦｏｎｔＯｂｊｅｃｔと対となっているフォントフェースがＦｏｎｔＯｂｊｅｃｔ記録メモリ６１３に格納されているか否か判断する。フォントフェースが格納されている場合はステップＳ６４６へ進み、格納されていない場合はステップＳ６４１へ戻る。
【００８９】
（ステップＳ６４６）フォント描画部６１２は、ＦｏｎｔＯｂｊｅｃｔと対となっているフォントフェースをＦｏｎｔＯｂｊｅｃｔ記録メモリ６１３から取得する。
【００９０】
（ステップＳ６４７）フォント描画部６１２は、ステップＳ６４６で取得したフォントフェースをラスタライズし、ステップＳ６４４で指示された文字列のイメージを生成する。
【００９１】
（ステップＳ６４８）フォント描画部６１２は、ステップＳ６４７で生成した文字列のイメージをグラフィックスプレーン６１４に出力する。
【００９２】
ところで、フォント識別子がセットされたＰＭＴはチャネル単位のデータであり、番組によってフォント識別子を変える場合はＰＭＴのバージョンアップデータを処理しなければならない。以下、ＰＭＴのバージョンアップデータを処理する手法を説明する。
【００９３】
図１５は、ＰＭＴのバージョンアップ時におけるサービス情報処理部６０９の動作を示すフローチャートである。
（ステップＳ１００１）サービス情報処理部６０９は、ステップＳ６０２で取得した“フォント識別子を含むサービス情報”の更新を監視する。
（ステップＳ１００２）サービス情報処理部６０９は、ステップＳ１００１で監視したサービス情報が更新されたか否か判断する。サービス情報が更新された場合はステップＳ１００３へ進み、サービス情報が更新されていない場合はステップＳ１００１へ戻る。
（ステップＳ１００３）サービス情報処理部６０９は、サービス情報をサービス情報記録メモリ６０４から取得する。
（ステップＳ１００４）サービス情報処理部６０９は、ステップＳ１００３で取得したサービス情報に含まれるフォント識別子をサービス切替検出部６１０に通知する。
（ステップＳ１００５）ステップＳ１００１へ戻る。
【００９４】
つぎに、前記動作の具体例を説明する。
【００９５】
図５に示されるようなＭＰＥＧトランスポートストリームがＴＳ信号６０１として与えられている。このＭＰＥＧトランスポートストリームには、視聴単位を識別するテーブルであるＰＭＴ−ａ１と、同じく視聴単位を識別するテーブルであるＰＭＴ−ｂ１と、映像ＤａｔａＤＶ−ａ１と、音声ＤａｔａＤａ−ａ１と、映像ＤａｔａＤｖ−ｂ１と、音声ＤａｔａＤａ−ｂ１と、アプリケーションプログラムを起動させる情報が記録されたＡＩＴ−ａ１と、ファイルシステムＤＳＭ−ＣＣＤａｔａＦＳ−ａ１とが含まれる。
【００９６】
図７（Ａ）に示されるように、前記ＰＭＴ−ａ１には、前記映像ＤａｔａＤＶ−ａ１のパケットＩＤと、前記音声ＤａｔａＤａ−ａ１のパケットＩＤと、前記ＡＩＴ−ａ１のパケットＩＤと、前記ファイルシステムＤＳＭ−ＣＣＤａｔａＦＳ−ａ１のパケットＩＤと、フォント識別子“ＣｏｍｉｃＳａｎｓ．ｐｆｒ”とが含まれる。映像ＤａｔａＤＶ−ａ１のパケットＩＤは、ＡＶデータおよびアプリケーションプログラムを特定可能な情報である。フォント識別子“ＣｏｍｉｃＳａｎｓ．ｐｆｒ”は、ファイルシステムＤＳＭ−ＣＣＤａｔａＦＳ−ａ１に含まれるフォントデータを識別する情報である。
【００９７】
図７（Ｂ）に示されるように、前記ＰＭＴ−ｂ１には、前記映像ＤａｔａＤＶ−ｂ１のパケットＩＤと、前記音声ＤａｔａＤａ−ｂ１のパケットＩＤと、前記ＡＩＴ−ａ１のパケットＩＤと、前記ファイルシステムＤＳＭ−ＣＣＤａｔａＦＳ−ａ１のパケットＩＤと、フォント識別子“ＭｏｖｉｅＳｅｒｉｆ．ｐｆｒ”とが含まれる。映像ＤａｔａＤＶ−ｂ１のパケットＩＤは、ＡＶデータおよびアプリケーションプログラムを特定可能な情報である。フォント識別子“ＭｏｖｉｅＳｅｒｉｆ．ｐｆｒ”は、ファイルシステムＤＳＭ−ＣＣＤａｔａＦＳ−ａ１に含まれるフォントデータを識別する情報である。
【００９８】
図１６は、前記ＡＩＴ−ａ１のデータ構造を示す模式図である。この図に示されるように、ＡＩＴ−ａ１には、アプリケーション情報が１つ格納されており、格納されているアプリケーション情報は、起動クラスが“Ａｐｐ−ａｂ１．ｃｌａｓｓ”、起動タイプが“ＡＵＴＯＳＴＡＲＴ”、バウンドタイプが“サービスアンバウンド”である。
【００９９】
前記ファイルシステムＤＳＭ−ＣＣＤａｔａＦＳ−ａ１には、アプリケーションプログラムであるファイルＡｐｐ−ａｂ１．ｃｌａｓｓと、フォントデータであるファイルＣｏｍｉｃＳａｎｓ．ｐｆｒと、フォントデータであるファイルＭｏｖｉｅＳｅｒｉｆ．ｐｆｒとが格納されている。
【０１００】
ＴＳ処理部６０２は、前記ＭＰＥＧトランスポートストリームをデコードする。デコードされたデータは、夫々のデータの種類に応じて専用のメモリに格納される。前記ファイルＡｐｐ−ａｂ１．ｃｌａｓｓと、前記ファイルＣｏｍｉｃＳａｎｓ．ｐｆｒと、前記ファイルＭｏｖｉｅＳｅｒｉｆ．ｐｆｒとは、ファイルシステム記録メモリ６０３に格納される。前記ＰＭＴ−ａ１と、前記ＰＭＴ−ｂ１と、前記ＡＩＴ−ａ１とは、サービス情報記録メモリ６０４に記録される。前記映像ＤａｔａＤＶ−ａ１と、前記映像ＤａｔａＤＶ−ｂ１と、前記音声ＤａｔａＤａ−ａ１と、前記音声ＤａｔａＤａ−ｂ１とは、ＡＶ記録メモリ６０５に記録される。
【０１０１】
サービス情報処理部６０９には、前記ＰＭＴ−ａ１を視聴対象とする指示が与えられる。フォント識別子記録メモリ６１７は、初期状態として、ヌル文字列をフォント識別子として格納している。アプリケーションプログラムであるファイルＡｐｐ−ａｂ１．ｃｌａｓｓには、Ｊａｖａ（登録商標）のバイトコードが格納されている。このバイトコードは、ＤＶＢ−ＭＨＰ規格に基づいて作成されたソースコード（図１７参照）をコンパイルしたものである。
【０１０２】
まず、視聴単位として前記ＰＭＴ−ａ１が選択されたときの挙動について説明する。
【０１０３】
サービス情報処理部６０９は、前記ＰＭＴ−ａ１を前記サービス情報記録メモリ６０４から取得する。サービス情報処理部６０９は、前記ＰＭＴ−ａ１に含まれる映像ＤａｔａＤｖ−ａ１のパケットＩＤと音声ＤａｔａＤａ−ａ１のパケットＩＤとを与え、ＡＶデータの再生をプレゼンテーション処理部６１１に指示する。サービス情報処理部６０９は、前記ＰＭＴ−ａ１に前記ＡＩＴ−ａ１のパケットＩＤが含まれることを判断する。サービス情報処理部６０９は、前記ＡＩＴ−ａ１をサービス情報記録メモリ６０４から取得する。サービス情報処理部６０９は、前記ＡＩＴ−ａ１を与え、アプリケーションプログラムの起動をプログラム処理部６０８に指示する。サービス情報処理部６０９は、前記ＰＭＴ−ａ１にフォント識別子“ＣｏｍｉｃＳａｎｓ．ｐｆｒ”が含まれることを判断し、サービス切替検出部６１０にフォント識別子“ＣｏｍｉｃＳａｎｓ．ｐｆｒ”を通知する。
【０１０４】
サービス切替検出部６１０は、サービス情報処理部６０９からフォント識別子“ＣｏｍｉｃＳａｎｓ．ｐｆｒ”を通知される。サービス切替検出部６１０は、フォント識別子記録メモリ６１７に記録されているヌル文字列と、フォント識別子“ＣｏｍｉｃＳａｎｓ．ｐｆｒ”とが等しくないことを判断し、リンク切替部６０６にフォント識別子“ＣｏｍｉｃＳａｎｓ．ｐｆｒ”を通知し、フォント識別子記録メモリ６１７にフォント識別子“ＣｏｍｉｃＳａｎｓ．ｐｆｒ”を記録する。
【０１０５】
プログラム処理部６０８は、サービス情報処理部６０９から前記ＡＩＴ−ａ１を与えられ、アプリケーションプログラムの起動を指示される。プログラム処理部６０８は、前記ＡＩＴ−ａ１に格納されているアプリケーション情報の起動タイプが“ＡＵＴＯＳＴＡＲＴ”であることから、Ｊａｖａ（登録商標）バイトコードを格納したファイル“Ａｐｐ−ａｂ１．ｃｌａｓｓ”をファイルシステム記録メモリ６０３から取得し、実行する。プログラム処理部６０８は、フォント名に“ＤＥＦ”が指定されたｊａｖａ．ａｗｔ．Ｆｏｎｔクラスのインスタンス生成のバイトコード、より具体的には、図１７に示されるソースコードの１０行目‘ｎｅｗ  Ｆｏｎｔ（“ＤＥＦ”，ＦＯＮＴ．ＰＬＡＩＮ，３２）’に対応するバイトコードが出現すると、ＦｏｎｔＯｂｊｅｃｔ生成部６０７にＦｏｎｔＯｂｊｅｃｔ生成を指示する。
【０１０６】
ＦｏｎｔＯｂｊｅｃｔ生成部６０７は、プログラム処理部６０８からＦｏｎｔＯｂｊｅｃｔ生成の指示を受けると、ｊａｖａ．ａｗｔ．Ｆｏｎｔクラスのインスタンスを生成し、ＦｏｎｔＯｂｊｅｃｔ記録メモリ６１３に記録し、そのインスタンスをプログラム処理部６０８に戻す。
【０１０７】
ＦｏｎｔＯｂｊｅｃｔ記録メモリ６１３は、ＪａｖａＨｅａｐ領域内に配置され、ｊａｖａ．ａｗｔ．Ｆｏｎｔクラスのインスタンスを格納する領域と、フォントファイルを格納する領域とを有する。
【０１０８】
リンク切替部６０６は、サービス切替検出部６１０からフォント識別子“ＣｏｍｉｃＳａｎｓ．ｐｆｒ”を通知されると、そのフォント識別子“ＣｏｍｉｃＳａｎｓ．ｐｆｒ”によって識別されるフォントファイル、具体的にはファイル“ＣｏｍｉｃＳａｎｓ．ｐｆｒ”をファイルシステム記録メモリ６０３から取得し、ＦｏｎｔＯｂｊｅｃｔ記録メモリ６１３に記録する。
【０１０９】
プログラム処理部６０８は、前記ＦｏｎｔＯｂｊｅｃｔを指定した文字列描画命令のバイトコード、より具体的には、図１７に示されるソースコードの３１行目‘ｇ．ｄｒａｗＳｔｒｉｎｇ（“Ｈｅｌｌｏ  Ｗｏｒｌｄ．￥ｎ”）；’に対応するバイトコードが出現すると、前記ＦｏｎｔＯｂｊｅｃｔを与えて文字列“Ｈｅｌｌｏ  Ｗｏｒｌｄ．￥ｎ”の描画をフォント描画部６１２に指示する。
【０１１０】
フォント描画部６１２は、前記ＦｏｎｔＯｂｊｅｃｔを与えて文字列“Ｈｅｌｌｏ  Ｗｏｒｌｄ．￥ｎ”の描画をプログラム処理部６０８から指示されると、ＦｏｎｔＯｂｊｅｃｔ記録メモリ６１３に記録されているフォントファイル“ＣｏｍｉｃＳａｎｓ．ｐｆｒ”を使用して、文字列“Ｈｅｌｌｏ  Ｗｏｒｌｄ．￥ｎ”のイメージを生成する。
【０１１１】
この状態で、続けて、視聴単位として前記ＰＭＴ−ｂ１が選択されたときの挙動について説明する。
【０１１２】
サービス情報処理部６０９は、前記ＰＭＴ−ｂ１を前記サービス情報記録メモリ６０４から取得する。サービス情報処理部６０９は、前記ＰＭＴ−ｂ１に含まれる“ＡＶデータを特定する映像ＤａｔａＤｖ−ｂ１のパケットＩＤ”と、音声ＤａｔａＤａ−ｂ１のパケットＩＤとを与え、ＡＶデータの再生をプレゼンテーション処理部６１１に指示する。サービス情報処理部６０９は、前記ＰＭＴ−ｂ１に前記ＡＩＴ−ａ１のパケットＩＤが含まれることを判断する。サービス情報処理部６０９は、前記ＡＩＴ−ａ１をサービス情報記録メモリ６０４から取得する。サービス情報処理部６０９は、前記ＡＩＴ−ａ１を与えて、アプリケーションプログラムの起動をプログラム処理部６０８に指示する。サービス情報処理部６０９は、前記ＰＭＴ−ｂ１にフォント識別子“ＭｏｖｉｅＳｅｒｉｆ．ｐｆｒ”が含まれることを判断し、サービス切替検出部６１０にフォント識別子“ＭｏｖｉｅＳｅｒｉｆ．ｐｆｒ”を通知する。
【０１１３】
サービス切替検出部６１０は、サービス情報処理部６０９からフォント識別子“ＭｏｖｉｅＳｅｒｉｆ．ｐｆｒ”を通知される。サービス切替検出部６１０は、フォント識別子記録メモリ６１７に記録されているフォント識別子“ＣｏｍｉｃＳａｎｓ．ｐｆｒ”と、フォント識別子“ＭｏｖｉｅＳｅｒｉｆ．ｐｆｒ”とが等しくないことを判断し、リンク切替部６０６にフォント識別子“ＭｏｖｉｅＳｅｒｉｆ．ｐｆｒ”を通知し、フォント識別子記録メモリ６１７にフォント識別子“ＭｏｖｉｅＳｅｒｉｆ．ｐｆｒ”を記録する。
【０１１４】
リンク切替部６０６は、サービス切替検出部６１０からフォント識別子“ＭｏｖｉｅＳｅｒｉｆ．ｐｆｒ”を通知されると、ＦｏｎｔＯｂｊｅｃｔ記録メモリ６１３に記録されているファイル“ＣｏｍｉｃＳａｎｓ．ｐｆｒ”を破棄し、前記フォント識別子“ＭｏｖｉｅＳｅｒｉｆ．ｐｆｒ”によって識別されるフォントファイル、具体的にはファイル“ＭｏｖｉｅＳｅｒｉｆ．ｐｆｒ”をファイルシステム記録メモリ６０３から取得し、ＦｏｎｔＯｂｊｅｃｔ記録メモリ６１３に記録する。
【０１１５】
プログラム処理部６０８は、前記ＦｏｎｔＯｂｊｅｃｔを指定した文字列描画命令のバイトコード、より具体的には、図１７に示されるソースコードの３１行目‘ｇ．ｄｒａｗＳｔｒｉｎｇ（“Ｈｅｌｌｏ  Ｗｏｒｌｄ．￥ｎ”）；’に対応するバイトコードが出現すると、前記ＦｏｎｔＯｂｊｅｃｔを与えて文字列“Ｈｅｌｌｏ  Ｗｏｒｌｄ．￥ｎ”の描画をフォント描画部６１２に指示する。
【０１１６】
フォント描画部６１２は、前記ＦｏｎｔＯｂｊｅｃｔを与えて文字列“Ｈｅｌｌｏ  Ｗｏｒｌｄ．￥ｎ”の描画をプログラム処理部６０８から指示されると、ＦｏｎｔＯｂｊｅｃｔ記録メモリ６１３に記録されているフォントファイル“ＭｏｖｉｅＳｅｒｉｆ．ｐｆｒ”を使用して、文字列“Ｈｅｌｌｏ  Ｗｏｒｌｄ．￥ｎ”のイメージを生成する。
【０１１７】
＜送出装置の構成＞
図１８は、実施の形態１における送出装置３０１の大まかな機能構成を示したブロック図である。この送出装置３０１は、ＭＰＥＧトランスポートストリームを送出する装置であって、サービススケジュール情報記憶部３１１と、ファイルシステム記憶部３１２と、ＡＶコンテンツ記憶部３１３と、サービス情報生成部３１４と、送信制御部３１５と、時刻生成部３１６と、多重化部３１７と、送信部３１８とを備えている。
【０１１８】
ＡＶコンテンツ記憶部３１３は、ハードディスクや光ディスクなどの記憶部材からなり、予めデジタル化された映像データと音声データとを記憶している。これらの各データは、ファイル名などにより固有の識別番号が付与されている。本実施の形態では、これらの各データをプレゼンテーション情報とよび、各プレゼンテーション情報に付与されている前記識別番号をプレゼンテーションＩＤとよぶ。
【０１１９】
ファイルシステム記憶部３１２は、ハードディスクや光ディスクなどの記憶部材からなり、フォントデータとアプリケーションプログラムとを記憶している。
【０１２０】
時刻生成部３１６は、現在の時刻を生成する。
【０１２１】
サービススケジュール情報記憶部３１１は、ハードディスクや光ディスクなどの記憶部材からなり、サービススケジュール情報を記録している。サービススケジュール情報には、サービスの構成要素である、プレゼンテーション情報を識別するプレゼンテーションＩＤと、Javaアプリケーションを識別するJavaアプリケーションファイル名と、フォントを識別するフォントファイ名とが含まれる。加えて、サービススケジュール情報には、これらの情報で構成されるサービスの送出開始時刻および継続時間と、サービスを特定するための original＿network＿ID、transport＿stream＿ID、service＿IDとが含まれる。これらはＤＶＢ規格で定義されている。プレゼンテーションＩＤとしては、複数のＩＤが記述されうる。送出開始時刻は、放送経路での遅延などを考慮し、放送開始時刻よりも通常0.1秒から数秒早い時刻である。
【０１２２】
図１９は、サービススケジュール情報の一例を示す図である。本実施の形態では、ファイルシステム記憶部３１２が記憶しているデータをファイル名により識別しているが、ファイルを特定できる情報であれば他の情報、例えばファイルシステムのi-nodeなどにより識別しても構わない。本実施の形態では、サービスを特定するための情報として、ＤＶＢ規格で定義されているoriginal＿network＿ID、transport＿stream＿ID、service＿IDを使用しているが、サービスを特定可能であれば他の情報、例えばＯＣＡＰ規格でのsource＿IDなどを使用しても構わない。この図１９では、original＿network＿ID、transport＿stream＿ID、service＿IDがそれぞれ 0x01、0x02、0x22によって識別されるサービス情報を例示している。このサービス情報は、８：００から３０分間は、プレゼンテーションIDが11および21によって識別されるプレゼンテーション情報と、App-ab1.classによって識別されるJavaアプリケーションファイルと、ComicSans.pfrによって識別されるフォントファイルとを当該サービスに含めて送出することを示している。
【０１２３】
サービス情報生成部３１４は、時刻生成部３１６からの時刻に基づいてサービススケジュール情報をサービススケジュール情報記憶部３１１から取得し、サービス情報であるPMT/SDT/EITなどを生成して送信制御部３１５に通知する。
【０１２４】
送信制御部３１５は、サービス情報生成部３１４から通知されたサービス情報を参照し、ＡＶコンテンツ記憶部３１３に記憶されているプレゼンテーション情報と、ファイルシステム記憶部３１２に記憶されているファイルとを読み出して多重化部３１７に通知する。
【０１２５】
多重化部３１７および送信部３１８の処理は、当業者には周知である。
【０１２６】
以下、サービス情報生成部３１４の処理を更に詳しく説明する。
【０１２７】
サービス情報生成部３１４は、サービススケジュール情報記憶部３１１が記憶しているサービススケジュール情報から、時刻生成部３１６からの時刻に適合するサービス情報を検索する。例えば、時刻生成部３１６からの時刻が“８：２０”であるならば、開始時刻が“８：００”であり継続時間が“３０分”であるスケジュールＮｏ“１”のサービス情報を検索する。この場合、スケジュールＮｏ“１”のサービス情報から、図２０（Ａ）に示されるＰＭＴを生成する。このとき、バージョン番号として“０”を付与しているが、最初のバージョン番号は“０”〜“３１”の範囲の値であれば他の値でも構わない。
【０１２８】
次に、サービス情報生成部３１４は、時刻生成部３１６からの時刻が“８：３０”になったとき、開始時刻が“８：３０”であり継続時間が“３０分”であるスケジュールＮｏ“２”のサービス情報を検索する。この場合、スケジュールＮｏ“２”のサービス情報から、図２０（Ｂ）に示されるＰＭＴを生成する。このとき、バージョン番号の値を前のスケジュールＮｏ“１”で作成したＰＭＴに付与したバージョン番号から１増加させ、バージョン番号として“１”を付与する。
【０１２９】
以降、サービス情報生成部３１４は、時刻生成部３１６からの時刻が変化することによって新たなサービス情報を検索する都度、ＰＭＴのバージョン番号を１増加させる。バージョン番号を増加させた結果、バージョン番号に割り振られたビット数５ビットで表現可能な数値の最大値３１を超えたときは、バージョン番号を０に戻す。よって、バージョン番号の遷移は、０→１→２→３→…→２９→３０→３１→０→１→２→…となる。
【０１３０】
なお、ここでは、バージョン番号を１ずつ増加させたが、増加させる単位は２以上であっても構わない。ただし、前述の通りバージョン番号に割り振られたビット数は５ビットであることから、バージョン番号は１ずつ増加させることが好ましい。
【０１３１】
以上のように、本実施の形態１によれば、アプリケーションプログラムは、視聴単位ごとにフォントデータを処理する処理コード（具体的には、ＦｏｎｔＯｂｊｅｃｔを生成する処理コードや、フォントファイルを指定する処理コード）を含まなくても、使用するフォントデータを視聴単位ごとに変更することが可能となる。
【０１３２】
すなわち、本実施の形態１におけるアプリケーションプログラムは、図２１に示されるように、実体のないＦｏｎｔＯｂｊｅｃｔである仮ＦｏｎｔＯｂｊｅｃｔを生成する。そして、再生中のサービスが切り替わったとき、そのサービスに対応するフォントファイルが仮ＦｏｎｔＯｂｊｅｃｔに接続される。
【０１３３】
このように、本実施の形態１におけるアプリケーションプログラムは、図２２の網掛け部分に示される範囲の機能を備えていればよく、従来のようにサービス切替を検知する等の機能を備えている必要がない。すなわち、本実施の形態１によれば、従来はアプリケーションプログラムが実行していた処理を受信装置（ミドルウェア）に実行させることが可能となる。
【０１３４】
尚、本実施の形態１においては、フォント名に“ＤＥＦ”が指定されたｊａｖａ．ａｗｔ．Ｆｏｎｔクラスのインスタンス生成のバイトコードが出現したときに、ＦｏｎｔＯｂｊｅｃｔ生成部６０７にＦｏｎｔＯｂｊｅｃｔ生成を指示しているが、フォント名は“ＤＥＦ”でなくとも、他の特定の文字列であっても実施可能である。
【０１３５】
尚、本実施の形態１においては、フォント名に“ＤＥＦ”が指定されたｊａｖａ．ａｗｔ．Ｆｏｎｔクラスのインスタンス生成のバイトコードが出現したときに、ＦｏｎｔＯｂｊｅｃｔ生成部６０７にＦｏｎｔＯｂｊｅｃｔ生成を指示しているが、ｊａｖａ．ａｗｔ．Ｆｏｎｔクラスのインスタンス生成のバイトコードでなくとも、ｊａｖａ．ａｗｔ．Ｆｏｎｔクラスまたはそのサブクラスのインスタンス生成のバイトコード、あるいは、ｊａｖａ．ａｗｔ．Ｆｏｎｔクラスまたはそのサブクラスを戻り値とするメソッドのバイトコードであっても実施可能である。
【０１３６】
尚、本実施の形態１においては、アプリケーションプログラムは、Ｊａｖａ（登録商標）のバイトコードで表現されたものを示したが、他の形式で表現されたものであっても実施可能である。
【０１３７】
尚、本実施の形態１においては、視聴単位としてＤＶＢサービスを示したが、ＭＰＥＧプログラム、ＯＣＡＰサービス、あるいはその他の視聴単位であっても実施可能である。
【０１３８】
尚、本実施の形態１においては、送出装置から送出されたＭＰＥＧトランスポートストリームを取得していたが、情報記録媒体から取得したのであっても実施可能である。
【０１３９】
尚、本実施の形態１においては、フォントファイルをフォントフェースとしたが、ラスタライズ可能なデータであれば、フォントファイルを他の形式に変換したものであっても実施可能である。
【０１４０】
尚、本実施の形態１においては、フォントフェースを格納する領域をＪａｖａＨｅａｐ領域内に配置したが、ラスタライズ可能な領域であれば、他の領域であっても実施可能である。
【０１４１】
尚、本実施の形態１においては、ＰＭＴの取得完了後にフォントを切り替えることとしているが、ＰＭＴをキャッシュしておけば、ＰＭＴの取得完了を待つことなくフォントを切り替えることができる。すなわち、サービス情報記録メモリ６０４等の記録手段にＰＭＴをキャッシュしておけば、サービスを切り替えてからフォントが切り替わるまでの遅延を抑えることが可能となる。
【０１４２】
尚、本実施の形態１においては、実体のないFontObjectとフォントファイルを接続するタイミングはサービス切替時としているが、この接続タイミングはフォント描画時であってもよい。同様に、実体のないFontObjectを生成するタイミングはサービス切替時であるとしているが、この生成タイミングはフォント描画時であってもよい。
【０１４３】
尚、本実施の形態１においては、フォント識別子をＰＭＴに含めるものを示したが、視聴単位ごとにフォント識別子を指定可能であれば、ＤＶＢにおけるＳＤＴ、ＥＩＴ、あるいはその他のテーブルであっても実施可能である。
【０１４４】
図２３は、本発明に係るＳＤＴのデータ構造を示す図である。
【０１４５】
ＳＤＴ（Service Description Table）には、サービス情報が記載されている。「サービス」は「プログラム」や「チャンネル」と同義である。ＳＤＴのパケットＩＤは0x0011固定である。テーブルＩＤは、当該ネットワークが0x42、他のネットワークが0x46である。バージョン番号は、テーブルの内容が更新される都度加算される。カレント・ネクスト・インディケータは、現バージョンと次のバージョンとを同時に伝送する際の識別に用いられる。ＳＤＴには、トランスポートストリーム中に多重化されているサービスに関するスクランブルの有無が記載されている。ディスクリプタには、フォント識別子のほか、当該サービスのサービス名・サービス内容・サービスタイプなどが記述されている。ＰＭＴとの対応付けは、ＳＤＴのサービスＩＤとＰＭＴのプログラム番号とを同じ値にすることで行なわれる。ＳＤＴの構造や取得方法は、当業者には周知である。
【０１４６】
図２４は、ＳＤＴを含むＭＰＥＧトランスポートストリームの模式図である。このＭＰＥＧトランスポートストリームには、サービスＩＤが0x22と0x23の２つのＤＶＢサービスが含まれる。サービスＩＤ0x22はＰＭＴ−ａ１と対応しており、サービスＩＤ0x23はＰＭＴ−ｂ１と対応している。ＰＭＴ−ａ１によって映像ＤａｔａＤｖ−ａ１と音声ＤａｔａＤａ−ａ１とＡＩＴ−ａ１とＤＳＭ−ＣＣＤａｔａＦＳ−ａ１とがＳｅｒｖｉｃｅ−Ａの構成要素として指定され、ＰＭＴ−ｂ１によって映像ＤａｔａＤｖ−ｂ１と音声ＤａｔａＤａ−ｂ１とＡＩＴ−ａ１とＤＳＭ−ＣＣＤａｔａＦＳ−ａ１とがＳｅｒｖｉｃｅ−Ｂの構成要素として指定される点は既に説明した通りである。
【０１４７】
図２５は、本発明に係るＥＩＴのデータ構造を示す図である。
【０１４８】
ＥＩＴ（Event Information Table）には、イベント情報が記載されている。「イベント」は「番組」と同義である。ＥＩＴのパケットＩＤは0x0012固定である。テーブルＩＤは、当該ネットワークが0x4E、他のネットワークが0x4Fである。バージョン番号は、テーブルの内容が更新される都度加算される。カレント・ネクスト・インディケータは、現バージョンと次のバージョンとを同時に伝送する際の識別に用いられる。ＥＩＴには、１つのサービスを構成するイベント情報について、そのイベントの開始時間、継続時間、スクランブルの有無などが記載されている。ディスクリプタには、フォント識別子のほか、当該イベントの番組名やあらすじなどが記載されている。ＰＭＴとの対応付けは、ＥＩＴのサービスＩＤとＰＭＴのプログラム番号とを同じ値にすることで行なわれる。ＥＩＴの構造や取得方法は、当業者には周知である。
【０１４９】
図２６は、ＥＩＴを含むＭＰＥＧトランスポートストリームの模式図である。このＭＰＥＧトランスポートストリームには、サービスＩＤが0x22と0x23の２つのＤＶＢサービスが含まれる。サービスＩＤ0x22はＰＭＴ−ａ１と対応しており、サービスＩＤ0x23はＰＭＴ−ｂ１と対応している。ＰＭＴ−ａ１によって映像ＤａｔａＤｖ−ａ１と音声ＤａｔａＤａ−ａ１とＡＩＴ−ａ１とＤＳＭ−ＣＣＤａｔａＦＳ−ａ１とがＳｅｒｖｉｃｅ−Ａの構成要素として指定され、ＰＭＴ−ｂ１によって映像ＤａｔａＤｖ−ｂ１と音声ＤａｔａＤａ−ｂ１とＡＩＴ−ａ１とＤＳＭ−ＣＣＤａｔａＦＳ−ａ１とがＳｅｒｖｉｃｅ−Ｂの構成要素として指定される点は既に説明した通りである。
【０１５０】
このように、ＳＤＴやＥＩＴでも視聴単位ごとにフォント識別子を指定することができるので、ＰＭＴを用いた場合と同様の効果を得ることが可能である。なお、ＳＤＴやＥＩＴのバージョンアップデータを処理する手法は、ＰＭＴのバージョンアップデータを処理する手法と同様であるため、ここでは説明を省略する。
【０１５１】
（実施の形態２）
つぎに、本発明の第２の実施の形態について説明する。
【０１５２】
第１の実施の形態においては、フォントデータと、アプリケーションプログラムと、前記アプリケーションプログラムが使用するフォントデータを識別するためのフォント識別子とがＭＰＥＧトランスポートストリームに含まれていたが、第２の実施の形態では、フォントデータと、アプリケーションプログラムと、前記アプリケーションプログラムが使用するフォントデータを識別するためのフォント識別子とがファイルシステムに含まれる情報記録媒体を読み込む形態を示す。
【０１５３】
＜記録媒体の構成＞
図２７は、第２の実施の形態における情報記録媒体のデータ記録方法を示す模式図である。本形態では、ＤＶＤの記録方法をベースとし、ファイルシステムにディレクトリＢＤＪＯを追加している。前記ディレクトリＢＤＪＯには、視聴単位を識別するためのテーブルである０００１．ｂｄｊｏと０００２．ｂｄｊｏとが格納されている。
【０１５４】
図２８は、０００１．ｂｄｊｏと０００２．ｂｄｊｏの模式図である。視聴単位「漫画対戦」は、０００１．ｂｄｊｏで表される。０００１．ｂｄｊｏには、再生するＡＶデータの情報「ＶＩＤＥＯ＿ＴＳ．ｔｓ」、起動アプリケーションの情報「Ａｐｐ−ａｂ１．ｃｌａｓｓ」、視聴単位「漫画対戦」においてアプリケーションプログラムが利用するフォントデータを示すフォント識別子「ＣｏｍｉｃＳａｎｓ．ｐｆｒ」などが含まれる。視聴単位「映画評論」は、０００２．ｂｄｊｏで表される。０００２．ｂｄｊｏには、再生するＡＶデータの情報「ＶＩＤＥＯ＿ＴＳ−２．ｔｓ」、起動アプリケーションの情報「Ａｐｐ−ａｂ１．ｃｌａｓｓ」、視聴単位「映画評論」においてアプリケーションプログラムが利用するフォントデータを示すフォント識別子「ＭｏｖｉｅＳｅｒｉｆ．ｐｆｒ」などが含まれる。ディレクトリＢＭＪＯを追加した点以外は、ＤＶＤの記録方法であり、当業者には周知である。
【０１５５】
＜再生装置の構成＞
図２９は、実施の形態２における再生装置の大まかな機能構成を示したブロック図である。ここでいう再生装置は、本発明に係る出力装置に相当する。
【０１５６】
情報記録媒体１４０１のファイルシステムには、フォントデータと、アプリケーションプログラムと、前記アプリケーションプログラムが使用するフォントデータを識別するためのフォント識別子と、ＭＰＥＧトランスポートストリームとしてのＡＶデータとが記録されている。
【０１５７】
読取部１４０２は、本発明に係る読み取り手段に相当する。すなわち、読取部１４０２は、情報記録媒体１４０１上のデータを読み取る。読み取られたデータは、夫々のデータの種類に応じて専用のメモリに記録される。フォントデータおよびアプリケーションプログラムはファイルシステム記録メモリ６０３に、視聴単位を識別するためのテーブルである０００１．ｂｄｊｏなどのサービス情報はサービス情報記録メモリ６０４に、映像や音声などのＡＶデータはＡＶ記録メモリ６０５に夫々記録される。
【０１５８】
サービス情報処理部６０９やプレゼンテーション処理部６１１の構成および各処理部間の対話は、実施の形態１と同様である。
【０１５９】
以上のように、本実施の形態２は、ＭＰＥＧトランスポートストリームを受信するのではなく情報記録媒体を読み込むという点で実施の形態１と異なるものの、その他の点については実施の形態１と同様である。したがって、アプリケーションプログラムは、視聴単位ごとにフォントデータを処理する処理コードを含まなくても、使用するフォントデータを視聴単位ごとに変更することが可能となる。
【０１６０】
すなわち、従来のアプリケーションプログラムは、図３０に示されるように、描画に用いるフォントをＦｏｎｔＯｂｊｅｃｔに対応させて予め生成・保持しておかなければならなかった。それに対して、本実施の形態２におけるアプリケーションプログラムは、図３１に示されるように、仮ＦｏｎｔＯｂｊｅｃｔを生成する。そして、タイトル（サービス）が切り替わったとき、そのタイトルに対応するフォントファイルが仮ＦｏｎｔＯｂｊｅｃｔに接続される（図３１中のタイトル選択部は、本発明に係る切替検出手段に相当する）。このように、本実施の形態２によっても、前記実施の形態１と同様、従来はアプリケーションプログラムが実行していた処理を受信装置（ミドルウェア）に実行させることが可能となる。
【０１６１】
尚、本実施の形態２においては、記録媒体に記録される記録方法のベースとしてＤＶＤを用いたが、視聴単位が含まれ、視聴単位ごとに使用するフォントデータを識別可能なフォント識別子を格納可能であれば、他の記録方法がベースであっても実施可能である。
【０１６２】
尚、本実施の形態２においては、アプリケーションプログラムは、Ｊａｖａ（登録商標）のバイトコードで表現されたものを示したが、他の形式で表現されたものであっても実施可能である。
【０１６３】
尚、本実施の形態２においては、視聴単位を識別するテーブルにフォント識別子が格納されているものを示したが、視聴単位ごとにフォント識別子を指定可能であれば、フォント識別子が他のテーブルに格納されていても実施可能である。
【産業上の利用可能性】
【０１６４】
本発明は、視聴単位ごとに描画に使用するフォントデータを切替える技術として有用である。この切替え技術は、デジタル放送システム、デジタルＴＶ受信機、デジタルコンテンツ再生機器に限らず、パーソナルコンピュータや携帯電話などソフトウェアによって制御される情報機器においても適用することができる。
【図面の簡単な説明】
【０１６５】
【図１】図１（Ａ）（Ｂ）は、画面に現在時刻が表示されている様子を示す図である。
【図２】図２は、従来の受信装置の概略ブロック図である。
【図３】図３は、サービスとフォント情報との対応情報の一例を示す図である。
【図４】図４は、デジタル放送システムの構成図である。
【図５】図５は、ＭＰＥＧトランスポートストリームの模式図である。
【図６】図６は、ＰＭＴのデータ構造を示す図である。
【図７】図７（Ａ）（Ｂ）は、ＰＭＴのデータ構造を示す模式図である。
【図８】図８は、フォント識別子のディスクリプタの例を示す図である。
【図９】図９は、実施の形態１における受信装置のブロック図である。
【図１０】図１０は、サービス再生時のフローチャートである。
【図１１】図１１は、サービス切替検出時のフローチャートである。
【図１２】図１２は、ＦｏｎｔＯｂｊｅｃｔ生成時のフローチャートである。
【図１３】図１３は、フォントフェース生成時のフローチャートである。
【図１４】図１４は、文字および文字列描画時のフローチャートである。
【図１５】図１５は、ＰＭＴのバージョンアップ時のフローチャートである。
【図１６】図１６は、ＡＩＴ−ａ１のデータ構造を示す概念図である。
【図１７】図１７は、アプリケーションプログラムのソースコードである。
【図１８】図１８は、実施の形態１における送出装置のブロック図である。
【図１９】図１９は、サービススケジュール情報の一例を示す図である。
【図２０】図２０（Ａ）（Ｂ）は、ＰＭＴのデータ構造を示す図である。
【図２１】図２１は、実施の形態１の概要を示す図である。
【図２２】図２２は、アプリケーションプログラムと受信装置とで分担する機能を示す図である。
【図２３】図２３は、ＳＤＴのデータ構造を示す図である。
【図２４】図２４は、ＳＤＴを含むＭＰＥＧトランスポートストリームの模式図である。
【図２５】図２５は、ＥＩＴのデータ構造を示す図である。
【図２６】図２６は、ＥＩＴを含むＭＰＥＧトランスポートストリームの模式図である。
【図２７】図２７は、実施の形態２における記録方式の模式図である。
【図２８】図２８（Ａ）（Ｂ）は、視聴単位を識別するテーブルのデータ構造を示す図である。
【図２９】図２９は、実施の形態２における再生装置のブロック図である。
【図３０】図３０は、従来の概要を示す図である。
【図３１】図３１は、実施の形態２の概要を示す図である。
【符号の説明】
【０１６６】
１０１      ＴＳ信号
１０２      ＴＳ処理部
１０３      ファイルシステム記録メモリ
１０４      サービス情報記録メモリ
１０５      ＡＶ記録メモリ
１０６      ＦｏｎｔＯｂｊｅｃｔ生成部
１０７      プログラム処理部
１０８      サービス情報処理部
１０９      プレゼンテーション処理部
１１０      ＦｏｎｔＯｂｊｅｃｔ記録メモリ
１１１      フォント処理部
１１２      グラフィックスプレーン
１１３      ビデオプレーン
１１４      合成処理部
３０１      送出装置
３０２      受信装置Ａ
３０３      受信装置Ｂ
３０４      受信装置Ｃ
３０５      伝送路
６０１      ＴＳ信号
６０２      ＴＳ処理部
６０３      ファイルシステム記録メモリ
６０４      サービス情報記録メモリ
６０５      ＡＶ記録メモリ
６０６      リンク切替部
６０７      ＦｏｎｔＯｂｊｅｃｔ生成部
６０８      プログラム処理部
６０９      サービス情報処理部
６１０      サービス切替検出部
６１１      プレゼンテーション処理部
６１２      フォント描画部
６１３      ＦｏｎｔＯｂｊｅｃｔ記録メモリ
６１４      グラフィックスプレーン
６１５      ビデオプレーン
６１６      合成処理部
６１７      フォント識別子記録メモリ
１４０１      情報記録媒体
１４０２      読取部
【図１】
0004790725.tif 000002
【図２】
0004790725.tif 000003
【図３】
0004790725.tif 000004
【図４】
0004790725.tif 000005
【図５】
0004790725.tif 000006
【図６】
0004790725.tif 000007
【図７】
0004790725.tif 000008
【図８】
0004790725.tif 000009
【図９】
0004790725.tif 000010
【図１０】
0004790725.tif 000011
【図１１】
0004790725.tif 000012
【図１２】
0004790725.tif 000013
【図１３】
0004790725.tif 000014
【図１４】
0004790725.tif 000015
【図１５】
0004790725.tif 000016
【図１６】
0004790725.tif 000017
【図１７】
0004790725.tif 000018
【図１８】
0004790725.tif 000019
【図１９】
0004790725.tif 000020
【図２０】
0004790725.tif 000021
【図２１】
0004790725.tif 000022
【図２２】
0004790725.tif 000023
【図２３】
0004790725.tif 000024
【図２４】
0004790725.tif 000025
【図２５】
0004790725.tif 000026
【図２６】
0004790725.tif 000027
【図２７】
0004790725.tif 000028
【図２８】
0004790725.tif 000029
【図２９】
0004790725.tif 000030
【図３０】
0004790725.tif 000031
【図３１】
0004790725.tif 000032