(57)【要約】【課題】  映像解像度が変更された場合、テレビ受信端末で表示素材が同様な品質で同様な大きさで見せることが可能であっても、アプリケーション表示のレイアウトまで考慮されない。【解決手段】  映像解像度が変更された場合、テレビ受信端末がアプリケーションのタイプによって、アプリケーションが希望するグラフィックス解像度を優先して選択、又はビデオフォーマットの解像度に合わせてグラフィックス解像度を選択することで、映像解像度が切り替わっても、グラフィックスの表示が歪まずに綺麗な表示を行うことができる。【選択図】  図３１
2005039794.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションからグラフィックスの解像度変更要求を受け付けるグラフィックス解像度変更要求受付ステップと、
前記解像度変更要求を受けて、前記グラフィックスの解像度を変更するグラフィックス解像度変更ステップと、
前記グラフィックス解像度変更ステップにおいて前記解像度が変更されたグラフィックスと合成するために、受信するビデオを拡大または縮小するビデオ拡大／縮小ステップと、
前記グラフィックスと前記ビデオを合成出力する合成出力ステップを有する表示処理方法であって、
前記受信するビデオの解像度が変更された場合、
前記ビデオ拡大／縮小ステップは、前記変更された解像度のビデオと、前記グラフィックス解像度変更ステップにおいて前記解像度が変更されたグラフィックスを合成するために、前記受信するビデオの解像度の変化に応じて、前記受信するビデオを拡大または縮小するかを決定し、前記決定に応じて前記受信するビデオを拡大または縮小し、
前記合成出力ステップは、前記グラフィックスと前記ビデオ拡大／縮小ステップにて拡大または縮小されたビデオを合成出力することを特徴とする表示処理方法。
【請求項２】
前記グラフィックスの解像度の変更を要求するアプリケーションに対し、前記解像度の変更の許可を与えるグラフィックス解像度変更許可ステップを備え、
前記グラフィックス解像度変更要求受付ステップは、前記許可を与えられたアプリケーションからの前記グラフィックスの解像度の変更の要求を受け付けるようにしたことを特徴とする請求項１記載の表示処理方法。
【請求項３】
前記グラフィックス解像度変更許可ステップは、前記グラフィックスの解像度の変更の許可が与えられたアプリケーションとは別のアプリケーションから前記グラフィックスの解像度の変更の要求を受け付けたとき、いずれか一方のアプリケーションにのみ前記グラフィックスの解像度の変更の許可を与えるようにした請求項２記載の表示処理方法。
【請求項４】
前記グラフィックス解像度変更許可ステップは、アプリケーションに予め与えられた優先度に応じて前記グラフィックスの解像度の変更の許可を与えるようにしたことを特徴とする請求項３記載の表示処理方法。
【請求項５】
前記グラフィックス解像度変更ステップにおいて前記解像度が変更されたグラフィックスと合成できるように、前記アプリケーションから与えたフレームデータに基づくスチルを拡大または縮小するステップを備え、
前記合成出力ステップは、前記グラフィックスと前記ビデオと前記スチルを合成出力することを特徴とする請求項１記載の表示処理方法。
【請求項６】
アプリケーションからグラフィックスの解像度変更要求を受け付けるグラフィックス解像度変更要求受付手段と、
前記グラフィックスの解像度を、前記解像度変更要求受付手段が受け付けた前記グラフィックスの解像度に変更するグラフィックス解像度変更手段と、
受信したビデオをデコードするビデオデコード手段と、
前記グラフィックス解像度変更手段がグラフィックスの解像度を変更した時、または、前記ビデオデコード手段が受信しているビデオの解像度が変化した時、前記グラフィックスと合成できるように前記受信するビデオを拡大または縮小するかを決定するビデオ拡大／縮小決定手段と、
前記ビデオ拡大／縮小決定手段の決定に応じて前記ビデオデコード手段がデコードしたビデオの拡大または縮小を行うビデオ拡大縮小手段と、
前記グラフィックスと前記解像度変更手段が解像度を変更したグラフィックスと、前記ビデオ拡大縮小手段が拡大縮小したビデオを合成する合成手段を備えた表示処理装置。
【請求項７】
アプリケーションを実行するアプリケーション実行手段と、
前記アプリケーションに、前記グラフィックスの解像度の変更の許可を与えるグラフィックス解像度変更許可手段を備え、
前記グラフィックス解像度変更要求受付手段は、前記グラフィックス解像度変更許可手段が許可を与えたアプリケーションからのグラフィックス解像度変更要求を受け付けることを特徴とする請求項６記載の表示処理装置。
【請求項８】
前記グラフィックス解像度変更許可手段は、前記グラフィックスの解像度の変更の許可が与えられたアプリケーションとは別のアプリケーションから前記グラフィックスの解像度の変更の要求を受け付けたとき、いずれか一方のアプリケーションにのみ前記グラフィックスの解像度の変更の許可を与えるようにした請求項７記載の表示処理装置。
【請求項９】
前記グラフィックス解像度変更許可手段は、アプリケーションに予め与えられた優先度に応じて前記グラフィックスの解像度の変更の許可を与えるようにしたことを特徴とする請求項８記載の表示処理装置。
【請求項１０】
前記グラフィックス解像度変更ステップにおいて前記解像度が変更されたグラフィックスと合成できるように、前記アプリケーションから与えたフレームデータに基づくスチルを拡大または縮小するスチル拡大／縮小手段を備え、
前記合成出力手段は、前記グラフィックスと前記ビデオと前記スチルを合成出力することを特徴とする請求項６記載の表示処理装置。
【請求項１１】
グラフィックス解像度が与えられたグラフィックスデータ格納手段にアプリケーションから指示されたグラフィックスデータを格納するグラフィックスデータ格納ステップと、
受信したビデオをデコードするビデオデコードステップと、
ビデオ解像度が与えられたビデオデータ格納手段に前記ビデオデコードステップにてデコードしたビデオデータを格納するビデオデータ格納ステップと、
前記グラフィックスデータ格納手段が格納するグラフィックスデータと前記ビデオ格納手段が格納するビデオデータを合成する合成出力ステップを備えた表示処理方法であって、
前記アプリケーションから、前記グラフィックスデータ格納手段に与えられているグラフィックス解像度を変更するためのグラフィックス解像度を受け付けるグラフィックス解像度変更受付ステップと、
前記グラフィックスデータ格納手段に与えられているグラフィックス解像度を、前記グラフィックス解像度変更受付ステップにて受け付けたグラフィックス解像度に変更するグラフィックス解像度変更ステップと、
前記グラフィックス解像度変更受付ステップにて前記グラフィックスデータ格納手段に与えられているグラフィックス解像度を変更した時、または、前記ビデオデコードステップにて受信しているビデオのビデオ解像度が変化した時、
前記グラフィックスデータ格納手段に与えられているグラフィックス解像度に応じて、前記ビデオデータ格納手段に与えるビデオ解像度を決定するビデオ解像度決定ステップと、
前記ビデオ格納手段に与えられているビデオ解像度を、前記ビデオ解像度決定ステップにて決定したビデオ解像度に変更するビデオ解像度変更ステップと、
を備えた表示処理方法。
【請求項１２】
前記アプリケーションに、前記グラフィックスの解像度の変更の許可を与えるグラフィックス解像度変更許可ステップを備え、
前記グラフィックス解像度変更受付ステップは、前記グラフィックス解像度変更許可ステップにて許可を与えたアプリケーションからのグラフィックス解像度変更要求を受け付けることを特徴とする請求項１１記載の表示処理方法。
【請求項１３】
前記グラフィックス解像度変更許可ステップは、前記グラフィックスの解像度の変更の許可が与えられたアプリケーションとは別のアプリケーションから前記グラフィックスの解像度の変更の要求を受け付けたとき、いずれか一方のアプリケーションにのみ前記グラフィックスの解像度の変更の許可を与えるようにした請求項１２記載の表示処理方法。
【請求項１４】
前記グラフィックス解像度変更許可ステップは、アプリケーションに予め与えられた優先度に応じて前記グラフィックスの解像度の変更の許可を与えるようにしたことを特徴とする請求項１３記載の表示処理方法。
【請求項１５】
スチル解像度が与えられたスチル格納手段にスチルイメージを格納するスチル格納ステップと、
前記グラフィックス解像度変更受付ステップにて前記グラフィックスデータ格納手段に与えられているグラフィックス解像度を変更した時、または、前記ビデオデコードステップにて受信しているビデオのビデオ解像度が変化した時、
前記グラフィックスデータ格納手段に与えられているグラフィックス解像度に応じて、前記スチル格納手段に与えるスチル解像度を決定するスチル解像度決定ステップと、
前記スチル格納手段に与えるスチル解像度を、前記スチル解像度決定手段が決定したスチル解像度に変更するスチル解像度変更ステップとを備え、
前記合成手段は、前記グラフィックス格納手段が格納するグラフィックスデータと前記ビデオ格納手段が格納するビデオデータと前記スチル格納手段が格納するスチルイメージとを合成することを特徴とする請求項１１記載の表示処理方法。
【請求項１６】
与えられたグラフィックス解像度で、アプリケーションから指示されたグラフィックスデータを格納するグラフィックスデータ格納手段と
受信したビデオをデコードするビデオデコード手段と、
与えられたビデオ解像度で、前記ビデオデコード手段がデコードしたビデオデータを格納するビデオデータ格納手段と、
前記グラフィックスデータ格納手段が格納するグラフィックスデータと前記ビデオ格納手段が格納するビデオデータを合成する合成手段とを備えた表示装置であって、
前記アプリケーションから、前記グラフィックスデータ格納手段に与えられているグラフィックス解像度を変更するグラフィックス解像度変更要求を受け付けるグラフィックス解像度変更要求受付手段と、
前記グラフィックスデータ格納手段に与えられているグラフィックス解像度を、前記グラフィックス解像度変更要求受付手段が受け付けたグラフィックス解像度に変更するグラフィックス解像度変更手段と、
前記グラフィックス解像度変更手段が前記グラフィックスデータ格納手段に与えるグラフィックス解像度を変更した時、または、前記ビデオデコード手段が受信しているビデオのビデオ解像度が変化した時、
前記グラフィックスデータ格納手段に与えられているグラフィックス解像度に応じて、前記ビデオデータ格納手段に与えるビデオ解像度を決定するビデオ解像度決定手段と、
前記ビデオ格納手段に与えられているビデオ解像度を、前記ビデオ解像度決定手段が決定したビデオ解像度に変更するビデオ解像度変更手段と、
を備えた表示処理装置。
【請求項１７】
アプリケーションを実行するアプリケーション実行手段と、
前記アプリケーションに、前記グラフィックスの解像度の変更の許可を与えるグラフィックス解像度変更許可手段を備え、
前記グラフィックス解像度変更要求受付手段は、前記グラフィックス解像度変更許可手段が許可を与えたアプリケーションからのグラフィックス解像度変更要求を受け付けることを特徴とする請求項１６記載の表示処理装置。
【請求項１８】
前記グラフィックス解像度変更許可手段は、前記グラフィックスの解像度の変更の許可が与えられたアプリケーションとは別のアプリケーションから前記グラフィックスの解像度の変更の要求を受け付けたとき、いずれか一方のアプリケーションにのみ前記グラフィックスの解像度の変更の許可を与えるようにした請求項１７記載の表示処理装置。
【請求項１９】
前記グラフィックス解像度変更許可手段は、アプリケーションに予め与えられた優先度に応じて前記グラフィックスの解像度の変更の許可を与えるようにしたことを特徴とする請求項１７記載の表示処理装置。
【請求項２０】
与えられたスチル解像度で、スチルイメージを格納するスチル格納手段と、
前記グラフィックス解像度変更手段がグラフィックスの解像度を変更した時、または、前記ビデオデコード手段が受信しているビデオの解像度が変化した時、
前記グラフィックスに与えられているグラフィックス解像度に応じて、前記スチル格納手段に与えるスチル解像度を決定するスチル解像度決定手段とを備え、
前記スチル記憶手段に与えるスチル解像度を、前記スチル解像度決定手段が決定したスチル解像度に変更する、スチル解像度変更手段と、
前記合成手段は、前記グラフィックス格納手段が格納するグラフィックスデータと前記ビデオ格納手段が格納するビデオデータと前記スチル格納手段が格納するスチルイメージとを合成することを特徴とする請求項１６記載の表示処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオやグラフィックスを表示するときの処理方法等に関し、特に、デジタル放送においてインタラクティブ番組を受信するテレビ受信端末等における映像解像度の切り替え時の制御に係わる。
【背景技術】
【０００２】
近年、デジタル放送の技術の応用として、インタラクティブ番組と呼ばれる番組が放送されている。インタラクティブ番組では、番組内にＪａｖａ（登録商標）やＨＴＭＬ等で記述されたアプリケーションを含めて放送する。そして、このアプリケーションが、グラフィックスやテキストを用いて映像に情報を重畳表示することで、ひとつのコンテンツを形成する。アプリケーションは、番組を搬送するデジタル波に乗せて、あるいはインターネット等の別搬送経路を通して、テレビ受信端末に届けられて実行される。この機能は、アプリケーションのダウンロード、あるいはアップロードと呼ばれている。
【０００３】
また、番組やコンテンツとは無関係に広告等を画面の片隅に表示するようなアプリケーションも考えられる。このようなアプリケーションは、コンテンツ用のアプリケーションを作成したメーカとは異なるメーカが作成し、コンテンツとは独立してダウンロードされてテレビ受信端末上で実行される。
【０００４】
一般的に、このようなインタラクティブ放送においては、アプリケーションは映像解像度に応じたグラフィックス解像度で表示することが好ましい。これは、映像と異なるグラフィックス解像度を使用した場合には、表示装置に出力する際に、双方の解像度を統一するためのスケーリング処理を行うため、ピクセルのディザリング等が発生し、美しい表示を保つことが困難なためである。
【０００５】
ところで、デジタル映像の圧縮技術、例えばＭＰＥＧ技術では、映像解像度が異なると、転送に必要な帯域幅が大幅に異なる。そのため、デジタル放送においては、転送帯域の節約の観点から、番組内容に応じた適切な映像解像度で放送することが要求される。
【０００６】
ここで、映像解像度とグラフィックス解像度の組み合わせが問題となる。
すなわち、それまで選択されていたチャンネルの映像解像度が、新規に選択されたチャンネルの映像解像度と異なる場合、それぞれの映像解像度に応じたグラフィックス解像度でグラフィックス表示しないと美しい映像が望めない。
【０００７】
最も好ましい選択は、映像解像度に等しいグラフィックス解像度を使用することである。しかし、テレビ受信端末によっては、価格等の理由により、そのようなグラフィックス解像度を使用できない場合もある。その場合は、できる限り美しく表示できるグラフィックス解像度を選択することになる。
【０００８】
グラフィックス解像度の選択を実現するための従来技術としては、ＨＡＶｉ仕様がある。ＨＡＶｉ（ｈｔｔｐ：／／ｗｗｗ．ｈａｖｉ．ｏｒｇ／）とはＨｏｍｅ  Ａｕｄｉｏ  Ｖｉｄｅｏ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙの略であり、テレビ受像機上で動作するアプリケーションがグラフィックス解像度や映像解像度を制御することを可能にする仕様を規定している。ＨＡＶｉ仕様では、ＨＧｒａｐｈｉｃｓＤｅｖｉｃｅというクラスにグラフィックス解像度を制御するＡＰＩが提供されている。アプリケーションが使用したい理想のグラフィックス解像度を指定すると、テレビ受信端末が用意しているグラフィックス解像度の中からそれに最も近いものが提供され、使用することができる。
【０００９】
一方、特許文献１等では、画像フォーマットに応じた解像度のグラフィックス表示素材を予め用意しておき、映像解像度が変更された場合、映像パケットからから画像フォーマットを判断し、その画像フォーマットに応じたグラフィックス表示素材を表示させることで、常に同様な品質で同様な大きさの表示素材を見せることできる。
【特許文献１】特開２０００―２３０６１号公報
【特許文献２】特開２００２―２４７４６５号公報
【特許文献３】特開平１０―１２４０２１号公報
【特許文献４】特許第３３１５５５７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、ＨＡＶｉ仕様では、テレビ受信端末が単に提供可能なグラフィックス解像度の中から、希望に最も近いものを選択するものであり、現在受信している映像解像度との理想的な組み合わせを考慮しているものではない。
【００１１】
本発明は、テレビ受信端末等が現在受信している映像解像度との理想的な組み合わせを考慮して、適切なグラフィックス解像度を自動的に選択し、アプリケーションに通知、提供することで、映像解像度が切り替わっても、グラフィックスの表示が歪まずに綺麗な表示を行うことができる表示処理方法等を提供することを目的とする。
【００１２】
一方、特許文献１等では、映像解像度が変更された場合、テレビ受信端末で表示素材が同様な品質で同様な大きさで見せることが可能であっても、アプリケーション表示のレイアウトまで考慮されない。
【００１３】
本発明は、映像解像度が変更された場合、テレビ受信端末等がアプリケーションのタイプによって、アプリケーションが希望するグラフィックス解像度を優先して選択、又はビデオフォーマットの解像度に合わせてグラフィックス解像度を選択することで、映像解像度が切り替わっても、グラフィックスの表示が歪まずに綺麗な表示を行うことができる表示処理方法等を提供することを目的とする。
【課題を解決するための手段】
【００１４】
前記従来の課題を解決するために、本発明は、アプリケーションからグラフィックスの解像度変更要求を受け付けるグラフィックス解像度変更要求受付ステップと、前記解像度変更要求を受けて、前記グラフィックスの解像度を変更するグラフィックス解像度変更ステップと、前記グラフィックス解像度変更ステップにおいて前記解像度が変更されたグラフィックスと合成するために、受信するビデオを拡大または縮小するビデオ拡大／縮小ステップと、前記グラフィックスと前記ビデオを合成出力する合成出力ステップを有する表示処理方法であって、前記受信するビデオの解像度が変更された場合、前記ビデオ拡大／縮小ステップは、前記変更された解像度のビデオと、前記グラフィックス解像度変更ステップにおいて前記解像度が変更されたグラフィックスを合成するために、前記受信するビデオの解像度の変化に応じて、前記受信するビデオを拡大または縮小するかを決定し、前記決定に応じて前記受信するビデオを拡大または縮小し、前記合成出力ステップは、前記グラフィックスと前記ビデオ拡大／縮小ステップにて拡大または縮小されたビデオを合成出力することを特徴とする。
【発明の効果】
【００１５】
本発明は、アプリケーションからグラフィックスの解像度変更要求を受け付けるグラフィックス解像度変更要求受付ステップと、前記解像度変更要求を受けて、前記グラフィックスの解像度を変更するグラフィックス解像度変更ステップと、前記グラフィックス解像度変更ステップにおいて前記解像度が変更されたグラフィックスと合成するために、前記受信するビデオを拡大または縮小するビデオ拡大／縮小ステップと、前記グラフィックスと前記ビデオを合成出力する合成出力ステップを有する表示処理方法であって、前記受信するビデオの解像度が変更された場合、前記ビデオ拡大／縮小ステップは、前記変更された解像度のビデオと、前記グラフィックス解像度変更ステップにおいて前記解像度が変更されたグラフィックスを合成するために、前記受信するビデオの解像度の変化に応じて、前記受信するビデオを拡大または縮小するかを決定し、前記決定に応じて前記受信するビデオを拡大または縮小し、前記合成出力ステップは、前記グラフィックスと前記ビデオ拡大／縮小ステップにて拡大または縮小されたビデオを合成出力することを特徴とする。これによって、アプリケーションからグラフィックスの解像度の変更要求が出された場合、受信するビデオの解像度が変更された場合において、グラフィックスの解像度を基準にして受信するビデオを拡大または縮小を行うので、アプリケーションから要求されるグラフィックスの解像度を変更することなく、グラフィックスとビデオが合成できるようになり、グラフィックスの品質を維持した美しい表示が可能となる。
【００１６】
ここで、前記グラフィックスの解像度の変更を要求するアプリケーションに対し、前記解像度の変更の許可を与えるグラフィックス解像度変更許可ステップを備え、前記グラフィックス解像度変更要求受付ステップは、前記許可を与えられたアプリケーションからの前記グラフィックスの解像度の変更の要求を受け付けるようにしてもよい。これによって、許可を与えられていないアプリケーションからのグラフィックスの変更要求を受けつけることがないため、適切なアプリケーションがグラフィックスの解像度を変更できるようになる。
【００１７】
また、前記グラフィックス解像度変更許可ステップは、前記グラフィックスの解像度の変更の許可が与えられたアプリケーションとは別のアプリケーションから前記グラフィックスの解像度の変更の要求を受け付けたとき、いずれか一方のアプリケーションにのみ前記グラフィックスの解像度の変更の許可を与えるようにしてもよい。これによって、異なるアプリケーションが異なるグラフィックスの解像度の変更要求を出した場合に適切な処理ができなくなることを防止することができる。
【００１８】
また、前記グラフィックス解像度変更許可ステップは、アプリケーションに予め与えられた優先度に応じて前記グラフィックスの解像度の変更の許可を与えるようにしてもよい。これによって、最適なアプリケーションにグラフィックスの解像度の変更の許可を与えることが可能となる。
【００１９】
また、前記グラフィックス解像度変更ステップにおいて前記解像度が変更されたグラフィックスと合成できるように、前記アプリケーションから与えたフレームデータに基づくスチルを拡大または縮小するステップを備え、前記合成出力ステップは、前記グラフィックスと前記ビデオと前記スチルを合成出力してもよい。これによって、アプリケーションから要求されるグラフィックスの解像度を変更することなく、グラフィックスとビデオとスチルが合成できるようになり、グラフィックスの品質を維持した美しい表示が可能となる。
【００２０】
また、本発明は、グラフィックス解像度が与えられたグラフィックスデータ格納手段にアプリケーションから指示されたグラフィックスデータを格納するグラフィックスデータ格納ステップと、受信したビデオをデコードするビデオデコードステップと、ビデオ解像度が与えられたビデオデータ格納手段に前記ビデオデコードステップにてデコードしたビデオデータを格納するビデオデータ格納ステップと、前記グラフィックスデータ格納手段が格納するグラフィックスデータと前記ビデオ格納手段が格納するビデオデータを合成する合成出力ステップを備えた表示処理方法であって、前記アプリケーションから、前記グラフィックスデータ格納手段に与えられているグラフィックス解像度を変更するためのグラフィックス解像度を受け付けるグラフィックス解像度変更受付ステップと、前記グラフィックスデータ格納手段に与えられているグラフィックス解像度を、前記グラフィックス解像度変更受付ステップにて受け付けたグラフィックス解像度に変更するグラフィックス解像度変更ステップと、前記グラフィックス解像度変更受付ステップにて前記グラフィックスデータ格納手段に与えられているグラフィックス解像度を変更した時、または、前記ビデオデコードステップにて受信しているビデオのビデオ解像度が変化した時、前記グラフィックスデータ格納手段に与えられているグラフィックス解像度に応じて、前記ビデオデータ格納手段に与えるビデオ解像度を決定するビデオ解像度決定ステップと、前記ビデオ格納手段に与えられているビデオ解像度を、前記ビデオ解像度決定ステップにて決定したビデオ解像度に変更するビデオ解像度変更ステップとを備える。これによって、アプリケーションからグラフィックスデータのグラフィックス解像度の変更要求が出された場合、受信するビデオデータのビデオ解像度が変更された場合において、グラフィックス解像度を基準にして受信するビデオのビデオ解像度を決定するので、アプリケーションから要求されるグラフィックス解像度を変更することなく、グラフィックスデータとビデオデータが合成できるようになり、グラフィックスデータの品質を維持した美しい表示が可能となる。
【００２１】
ここで、スチル解像度が与えられたスチル格納手段にスチルイメージを格納するスチル格納ステップと、前記グラフィックス解像度変更受付ステップにて前記グラフィックスデータ格納手段に与えられているグラフィックス解像度を変更した時、または、前記ビデオデコードステップにて受信しているビデオのビデオ解像度が変化した時、前記グラフィックスデータ格納手段に与えられているグラフィックス解像度に応じて、前記スチル格納手段に与えるスチル解像度を決定するスチル解像度決定ステップと、前記スチル格納手段に与えるスチル解像度を、前記スチル解像度決定手段が決定したスチル解像度に変更するスチル解像度変更ステップとを備え、前記合成手段は、前記グラフィックス格納手段が格納するグラフィックスデータと前記ビデオ格納手段が格納するビデオデータと前記スチル格納手段が格納するスチルイメージとを合成してもよい。これによって、アプリケーションから要求されるグラフィックス解像度を変更することなく、グラフィックスデータとビデオデータとスチルイメージが合成できるようになり、美しい表示を行うことができる。
【００２２】
本発明の解像度切替装置によれば、グラフィックスを生成するグラフィックス生成手段と、受信したビデオ映像を出力する映像生成手段と、前記受信したビデオ映像の解像度を検出する映像解像度検出手段と、前記グラフィックスの解像度と前記ビデオ映像の解像度を組とした解像度組を記憶する解像度組記憶手段と、前記解像度検出手段が検出した映像の解像度に基づいて解像度組を解像度組記憶手段から選択する解像度組選択手段と、前記解像度組選択手段が選択した解像度組に基づき、前記グラフィックスと前記受信したビデオ映像を合成して出力する合成手段備えることにより、ビデオ映像とグラフィックスを合成して表示することができる。
【００２３】
また、前記解像度切替装置は更に、前記受信したビデオ映像の解像度の変化を検出する映像解像度変化検出手段を備え、前記解像度組選択手段は、前記映像解像度変化検出手段が前記受信したビデオ映像の解像度の変化を検出した際に、解像度組を選択することにより、解像度の決定処理を随時行うことなくなり、処理量を軽減することができる。
【００２４】
また、前記解像度切替装置は更に、前記解像度組記憶手段は、前記合成手段が合成可能な解像度組のみを記憶することにより、合成ができないという自体を回避尾することができる。
【００２５】
また、前記解像度切替装置は更に、前記解像度組選択手段は、前記解像度検出手段が検出した映像の解像度を含む解像度組を解像度組記憶手段から選択することにより、ビデオ映像をそのまま表示することで、美しく表示することができる。
【００２６】
また、前記解像度切替装置は更に、前記解像度組選択手段は、前記グラフィックスの解像度が変化しない解像度組を選択することにより、グラフィックスが解像度の変化により縮小して見えにくくなったり、縦横比の変化で歪むなどを避けることが出来、美しいグラフィックス表示を継続することができる。
【００２７】
また、前記解像度切替装置は更に、アプリケーションを実行するアプリケーション実行手段と、前記アプリケーションからの描画指示を受け付ける描画実行受付手段を備え、前記グラフィックス生成手段は、前記描画実行受付手段が受け付けた描画指示に従ってグラフィックスを生成することにより、アプリケーションが生成したグラフィックスとビデオ映像を合成して出力することができる。
【００２８】
また、前記解像度切替装置は更に、前記解像度組選択手段が前記解像度を選択した際、前記アプリケーションに解像度組が変化したことを通知する解像度組変更通知手段を備えることにより、アプリケーションは解像度の変化を知ることができるので、解像度に応じたグラフィックスを表示し直すことが可能である。
【００２９】
また、前記解像度切替装置は更に、前記解像度組選択手段が前記解像度を選択した際、グラフィックスの解像度が変化した際に、前記アプリケーションにグラフィックスの解像度が変化したことを通知するグラフィックス解像度変更通知手段を備えることにより、アプリケーションはグラフィックスの解像度の変化のみを知ることができるので、解像度に応じたグラフィックスを効率的に表示し直すことが可能である。
【００３０】
また、前記解像度切替装置は更に、前記解像度組選択手段が前記解像度を選択した際、ビデオ映像の解像度が変化した際に、前記アプリケーションにビデオ映像の解像度が変化したことを通知するビデオ映像解像度変更通知手段を備えることにより、アプリケーションはＪａｖａクラスライブラリを使用して拡大縮小しているビデオ映像をより美しく表示する等の処理を行うことができる。
【００３１】
また、前記解像度切替装置は更に、前記アプリケーションから前記グラフィックスの解像度の変更要求を受け付けるグラフィックス解像度変更要求受付手段を備え、前記解像度組選択手段は、グラフィックス解像度変更要求受付手段が受け付けたグラフィックスの解像度に基づいて、前記解像度組を選択することにより、アプリケーションが所望するグラフィックス解像度で表示を行うことができる。
【００３２】
また、前記解像度切替装置は更に、前記解像度組選択手段は、グラフィックス解像度変更要求受付手段が受け付けたグラフィックスの解像度を含む前記解像度組を選択することにより、アプリケーションが所望するグラフィックス解像度で表示を行うことができる。
【００３３】
また、前記解像度切替装置は更に、前記アプリケーションから前記ビデオ映像の解像度の変更要求を受け付けるビデオ映像解像度変更要求受付手段を備え、前記解像度組選択手段は、ビデオ映像解像度変更要求受付手段が受け付けたビデオ映像の解像度に基づいて、前記解像度組を選択することによりアプリケーションは所望の解像度でビデオ映像を表示することができる。
【００３４】
また、前記解像度切替装置は更に、前記解像度組選択手段は、ビデオ映像解像度変更要求受付手段が受け付けたビデオ映像の解像度を含む前記解像度組を選択することによりアプリケーションは所望の解像度でビデオ映像を表示することができる。
【００３５】
また、前記解像度切替装置は更に、前記グラフィックス生成手段が生成したグラフィックスを拡大または縮小するグラフィックス拡大縮小手段と、前記映像生成手段が出力したビデオ映像を、拡大または縮小する映像拡大縮小手段とを備え、前記合成手段は、前記グラフィックス拡大縮小手段と前記映像拡大縮小手段が拡大または縮小したグラフィックス及びビデオ映像を合成することにより、グラフィックスとビデオ映像を同じ解像度にし美しく合成し表示することができる。
【００３６】
また、前記解像度切替装置は更に、前記グラフィックス拡大縮小手段と前記映像拡大縮小手段が拡大または縮小を行い生成するグラフィックスとビデオ映像の解像度を指定する拡大縮小解像度指定手段を備えることによりグラフィックスとビデオ映像を所望の解像度に変換した後、美しく合成し表示することができる。
【００３７】
また、前記解像度切替装置は更に、前記解像度組記憶手段は前記解像度組に対応付けて、前記グラフィックス拡大縮小手段と前記映像拡大縮小手段が拡大または縮小し実現する解像度を保持することにより、返還前の解像度と変換後の解像度を明示的に指定することができる。この結果、整数倍の拡大縮小など、劣化が少ない拡大縮小を行い美しく合成し表示することができる。
【００３８】
また、前記解像度切替装置は更に、前記グラフィックス及び前記ビデオ映像の好ましい組み合わせである優先解像度組を記憶する優先解像度組記憶手段を備え、前記優先度組選択手段は、前記優先解像度組記憶手段が記憶する優先解像度組に基づいて前記解像度組を選択することにより、より美しく表示可能な解像度の組み合わせを優先的に採用し、表示することができる。
【００３９】
また、前記解像度切替装置は更に、前記グラフィックス及び前記ビデオ映像の好ましい組み合わせである優先解像度組を記憶する優先解像度組記憶手段を備え、前記解像度組選択手段は、前記解像度検出手段が検出した映像の解像度を含む解像度組を解像度組記憶手段から選択出来なかった場合、前記優先解像度組記憶手段が記憶する優先解像度組に基づいて前記解像度組を選択することにより、ビデオ映像の解像度を維持したいのだけれども、それが出来ない場合は、バックアップとして登録しておいた解像度の組み合わせを用いることにより、美しい表示を行うことができる。
【００４０】
また、前記解像度切替装置は更に、前記グラフィックス及び前記ビデオ映像の好ましい組み合わせである優先解像度組を記憶する優先解像度組記憶手段を備え、前記解像度組選択手段は、前記グラフィックスの解像度が変化しない解像度組を選択出来なかった場合、前記優先解像度組記憶手段が記憶する優先解像度組に基づいて前記解像度組を選択することにより、グラフィックスの解像度を維持したいのだけれども、それが出来ない場合は、バックアップとして登録しておいた解像度の組み合わせを用いることにより、美しい表示を行うことができる。
【００４１】
また、前記解像度切替装置は更に、前記受信したビデオ映像の解像度の変化を検出する映像解像度変化検出手段を備え、前記解像度組選択手段は、前記映像解像度変化検出手段が前記受信したビデオ映像の解像度の変化を検出したとき、前記グラフィックス解像度変更要求受付手段が直前に受け付けたグラフィックスの解像度を含む前記解像度組を選択することにより、以前にアプリケーションが指定したグラフィックスの解像度を維持することができ、アプリケーションのグラフィックス表示を自動的に維持することができる。
【００４２】
また、前記解像度切替装置は更に、前記受信したビデオ映像の解像度の変化を検出する映像解像度変化検出手段を備え、前記解像度組選択手段は、前記映像解像度変化検出手段が前記受信したビデオ映像の解像度の変化を検出し、前記グラフィックス解像度変更要求受付手段がグラフィックスの解像度の変更要求を受け付けていない時、前記受信したビデオ映像の解像度を含む前記解像度組を選択することにより、アプリケーションはグラフィックスの解像度を指定していないことから、ビデオ映像の解像度を優先していると考え、入力されたビデオ映像の解像度でビデオ映像を出力することにより、自動的に美しく表示することができる。
【００４３】
また、グラフィックスを生成するグラフィックス生成手段と、受信したビデオ映像を出力する映像生成手段と、静止画を出力するスチル生成手段と、前記受信したビデオ映像の解像度を検出する映像解像度検出手段と、前記グラフィックスの解像度と前記ビデオ映像の解像度と前記静止画の解像度を組とした解像度組を記憶する解像度組記憶手段と、前記解像度検出手段が検出した映像の解像度に基づいて解像度組を解像度組記憶手段から選択する解像度組選択手段と、前記解像度組選択手段が選択した解像度組に基づき、前記グラフィックスと前記受信したビデオ映像と前記静止画を合成して出力する合成手段備えることにより、ビデオ映像とグラフィックスと静止画を合成して表示することができる。
【００４４】
また、前記解像度切替装置は更に、前記グラフィックスと前記ビデオ映像と前記静止画のいずれかを指定するプレーン指定手段と、前記解像度選択手段は、前記プレーン指定手段が記憶する前記グラフィックスまたは前記ビデオ映像または前記静止画の解像度を維持しつつ、解像度組を解像度組記憶手段から選択することにより、表示の主体となるプレーンの解像度を維持することができ、美しい表示を維持することができる。
【００４５】
また、前記解像度切替装置は更に、アプリケーションを実行するアプリケーション実行手段と、前記アプリケーションからの描画指示を受け付ける描画実行受付手段を備え、前記グラフィックス生成手段は、前記描画実行受付手段が受け付けた描画指示に従ってグラフィックスを生成することにより、アプリケーションが生成したグラフィックスとビデオ映像と静止画を合成して出力することができる。
【００４６】
また、前記解像度切替装置は更に、前記アプリケーションから前記静止画の解像度の変更要求を受け付ける静止画解像度変更要求受付手段を備え、前記解像度組選択手段は、前記静止画解像度変更要求受付手段が受け付けた静止画の解像度に基づいて、前記解像度組を選択することにより静止画の解像度を維持し、静止画を美しく表示しつづけることができる。
【００４７】
また、前記解像度切替装置は更に、前記解像度組選択手段は、前記静止画解像度変更要求受付手段が受け付けた静止画の解像度を含む前記解像度組を選択することにより静止画の解像度を維持し、静止画を美しく表示しつづけることができる。
【００４８】
また、前記解像度切替装置は更に、静止画の解像度の変更要求の許可を行う静止画変更要求許可手段を備え、前記静止画解像度変更要求受付手段は、前記静止画変更要求許可手段から変更要求の許可を受けたアプリケーションからの前記静止画の解像度の変更要求のみを受け付けることにより、複数のアプリケーションからの要求受付の排他制御を行うことができ、複数アプリケーションによる静止画の解像度の頻繁な切り替えによる表示画面のちらつきを避けることができる。
【００４９】
また、前記解像度切替装置は更に、グラフィックスの解像度の変更要求の許可を行うグラフィックス変更要求許可手段を備え、前記グラフィックス解像度変更要求受付手段は、前記グラフィックス変更要求許可手段から変更要求の許可を受けたアプリケーションからの前記グラフィックスの解像度の変更要求のみを受け付けることにより、複数アプリケーションによるグラフィックスの解像度の頻繁な切り替えによる表示画面のちらつきを避けることができる。
【００５０】
また、前記解像度切替装置は更に、ビデオ映像の解像度の変更要求の許可を行うビデオ映像変更要求許可手段を備え、前記ビデオ映像解像度変更要求受付手段は、前記ビデオ映像変更要求許可手段から変更要求の許可を受けたアプリケーションからの前記ビデオ映像の解像度の変更要求のみを受け付けることにより、複数アプリケーションによるビデオ映像の解像度の頻繁な切り替えによる表示画面のちらつきを避けることができる。
【００５１】
また、コンピュータ読み取り可能な記録媒体であって、グラフィックスを生成するグラフィックス生成手段と、受信したビデオ映像を出力する映像生成手段と、
前記受信したビデオ映像の解像度を検出する映像解像度検出手段と、前記グラフィックスの解像度と前記ビデオ映像の解像度を組とした解像度組を記憶する解像度組記憶手段と、前記解像度検出手段が検出した映像の解像度に基づいて解像度組を解像度組記憶手段から選択する解像度組選択手段と、前記解像度組選択手段が選択した解像度組に基づき、前記グラフィックスと前記受信したビデオ映像を合成して出力する合成手段の各機能を発揮するプログラムを記録したコンピュータ読み取り可能な記録媒体とすることにより、可搬性を高めることができる。
【発明を実施するための最良の形態】
【００５２】
（実施の形態１）
本発明に係るケーブルテレビシステムの実施の形態を、図面を参照しながら説明する。図１は、ケーブルシステムを構成する装置の関係を表したブロック図であり、ヘッドエンド１０１及び３個の端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３で構成される。本実施の形態では、１つのヘッドエンドに対して３つの端末装置が結合されているが、任意の数の端末装置をヘッドエンドに結合しても、本発明は実施可能である。
【００５３】
ヘッドエンド１０１は、複数の端末装置に対して映像・音声・データ等の放送信号を送信するとともに、端末装置からのデータ送信を受信する。これを実現するため、ヘッドエンド１０１と端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３間の伝送に用いられる周波数帯域は、分割して用いられる。図２は、周波数帯域の分割の一例を示す表である。周波数帯域は、Ｏｕｔ  Ｏｆ  Ｂａｎｄ（略称ＯＯＢ）とＩｎ−Ｂａｎｄの２種類に大別される。５〜１３０ＭＨｚがＯＯＢに割り当てられ、主にヘッドエンド１０１と端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３間のデータのやり取りに使用される。１３０ＭＨｚ〜８６４ＭＨｚはＩｎ−Ｂａｎｄに割り当てられ、主として、映像・音声を含む放送チャンネルに使用される。ＯＯＢではＱＰＳＫ変調方式が、Ｉｎ−ＢａｎｄはＱＡＭ６４変調方式が使用される。変調方式技術については、本発明に関与が薄い公知技術であるので、詳細な説明は省略する。図３は、ＯＯＢ周波数帯域の更に詳細な使用の一例である。７０ＭＨｚ〜７４ＭＨｚはヘッドエンド１０１からのデータ送信に使用され、全ての端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３が、ヘッドエンド１０１から同じデータを受け取ることになる。一方、１０．０ＭＨｚ〜１０．１ＭＨｚは端末装置Ａ１１１からヘッドエンド１０１へのデータ送信に使用され、１０．１ＭＨｚ〜１０．２ＭＨｚは端末装置Ｂ１１２からヘッドエンド１０１へのデータ送信に使用され、１０．２ＭＨｚ〜１０．３ＭＨｚは端末装置Ｃ１１３からヘッドエンド１０１へのデータ送信に使用される。これにより、各端末装置固有のデータを各端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３からヘッドエンド１０１に送信することができる。図４は、Ｉｎ−Ｂａｎｄの周波数帯に対する使用の一例である。１５０〜１５６ＭＨｚと１５６〜１６２ＭＨｚはそれぞれテレビチャンネル１とテレビチャンネル２に割り当てられ、以降、６ＭＨｚ間隔でテレビチャンネルが割り当てられている。３１０ＭＨｚ以降は、１ＭＨｚ単位でラジオチャンネルに割り当てられている。これらの各チャンネルはアナログ放送として使用してもデジタル放送として使用してもよい。デジタル放送の場合は、ＭＰＥＧ２仕様に基づいたトラスポートパケット形式で伝送され、音声や映像に加え、各種データ放送用データも送信することができる。
【００５４】
ヘッドエンド１０１は、これらの周波数帯域に適切な放送信号を送信するため、ＱＰＳＫ変調部やＱＡＭ変調部等を有する。また、端末装置からのデータを受信するため、ＱＰＳＫ復調器を有する。また、ヘッドエンド１０１は、これら変調部及び復調部に関連する様々な機器を有すると考えられる。しかし、本発明は主として端末装置に関わるので、詳細な説明は省略する。
【００５５】
端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３は、ヘッドエンド１０１からの放送信号を受信し再生する。また、ヘッドエンド１０１に対して、各端末装置固有のデータを送信する。３つの、端末装置は本実施の形態では同じ構成を取る。
【００５６】
図５は、端末装置のハードウエア構成を表すブロック図である。５００は端末装置であり、ＱＡＭ復調部５０１、ＱＰＳＫ復調部５０２、ＱＰＳＫ変調部５０３、ＴＳデコーダ５０５、オーディオデコーダ５０６、スピーカ５０７、ビデオデコーダ５０８、ディスプレイ５０９、２次記憶部５１０、１次記憶部５１１、ＲＯＭ５１２、入力部５１３、ＣＰＵ５１４、スチルデコーダ５１５、ＯＳＤ制御部５１６、ビデオバッファ５１７、スチルバッファ５１８、ＯＳＤバッファ５１９、ビデオ拡縮部５２０、スチル拡縮部５２１、ＯＳＤ拡縮部５２２、合成部５２３で構成される。また端末装置５００には、ＰＯＤ５０４が着脱できる。
【００５７】
図６は、端末装置５００の外観の一例である薄型テレビである。
６０１は、薄型テレビの筐体であり、ＰＯＤ５０４を除く、端末装置５００の構成要素をすべてを内蔵している。
【００５８】
６０２はディスプレイであり、図５におけるディスプレイ５０９に相当する。
６０３は複数のボタンで構成されるフロントパネル部であり、図５の入力部５１３に相当する。
【００５９】
６０４は信号入力端子であり、ヘッドエンド１０１との信号の送受信を行うためにケーブル線を接続する。信号入力端子は、図５のＱＡＭ復調部５０１、ＱＰＳＫ復調部５０２、ＱＰＳＫ変調部５０３と接続されている。
【００６０】
６０５は、図５のＰＯＤ５０４に相当するＰＯＤカードである。ＰＯＤ５０４は、図６のＰＯＤカード６０５のように、端末装置５００とは独立した形態を取り、端末装置５００に着脱可能となっている。ＰＯＤ５０４の詳細は後述する。
【００６１】
６０６はＰＯＤカード６０５を挿入する挿入スロットである。
図５を参照して、ＱＡＭ復調部５０１は、ＣＰＵ５１４から指定された周波数を含むチューニング情報で、ヘッドエンド１０１でＱＡＭ変調され送信されてきた信号を復調し、ＰＯＤ５０４に引き渡す。
【００６２】
ＱＰＳＫ復調部５０２は、ＣＰＵ５１４から指定された周波数を含むチューニング情報で、ヘッドエンド１０１でＱＰＳＫ変調され送信されてきた信号を復調し、ＰＯＤ５０４に引き渡す。
【００６３】
ＱＰＳＫ変調部５０３は、ＣＰＵ５１４から指定された周波数を含む変調情報で、ＰＯＤ５０４から渡された信号をＱＰＳＫ変調し、ヘッドエンド１０１に送信する。
ＰＯＤ５０４は、図６のように端末装置本体５００から着脱可能な形態をしている。端末本体５００とＰＯＤ５０４の接続インターフェースは、ＯｐｅｎＣａｂｌｅ（ＴＭ）  ＨＯＳＴ−ＰＯＤ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＯＣ−ＳＰ−ＨＯＳＴＰＯＤ−ＩＦ−Ｉ１２−０３０２１０）及び、この仕様書から参照されている仕様書で定義されている。ここでは、詳細は省略し、本発明に関する部分のみを解説する。
【００６４】
図７は、ＰＯＤ５０４の内部構成を表すブロック図である。ＰＯＤ５０４は、第１デスクランブラ部７０１、第２デスクランブラ部７０２、スクランブラ部７０３、第１記憶部７０４、第２記憶部７０５、ＣＰＵ７０６で構成される。
【００６５】
第１デスクランブラ部７０１は、ＣＰＵ７０６からの指示により、端末装置５００のＱＡＭ復調部５０１から暗号化された信号を受け取り、復号を行う。そして、復号された信号を端末装置５００のＴＳデコーダ５０５に送る。デコードに必要な鍵などの情報はＣＰＵ７０６から適宜与えられる。具体的には、ヘッドエンド１０１はいくつかの有料チャンネルを放送している。ユーザーが、この有料チャンネルを購買すると、第１デスクランブラ部７０１は、ＣＰＵ７０６から鍵等の必要な情報を受け取りデスクランブルすることで、ユーザーは有料チャンネルを閲覧することができる。鍵などの必要な情報が与えられない場合は、第１デスクランブラ部７０１は、デスクランブルを行わず、受け取った信号をそのまま、ＴＳデコーダ５０５に送る。
【００６６】
第２デスクランブラ部７０２は、ＣＰＵ７０６からの指示により、端末装置５００のＱＰＳＫ復調部５０２から暗号化された信号を受け取り、復号を行う。そして、復号されたデータをＣＰＵ７０６に引き渡す。
【００６７】
スクランブラ部７０３は、ＣＰＵ７０６からの指示により、ＣＰＵ７０６から受け取ったデータを暗号化し、端末装置５００のＱＰＳＫ変調部５０３に送る。
第１記憶部７０４は、具体的にはＲＡＭ等の一次記憶メモリーで構成され、ＣＰＵ７０６が処理を行う際、一時的にデータを保存するために使用される。
【００６８】
第２記憶部７０５は、具体的にはフラッシュＲＯＭ等の２次記憶メモリーで構成され、ＣＰＵ７０６が実行するプログラムを格納し、また、電源ＯＦＦになっても消去されては困るデータの保存に使用される。
【００６９】
ＣＰＵ７０６は、第２記憶部７０５が記憶するプログラムを実行する。プログラムは複数のサブプログラムで構成される。図８は、第２記憶部７０５が記憶するプログラムの一例である。図８では、プログラム８００は、メインプログラム８０１、初期化サブプログラム８０２、ネットワークサブプログラム８０３、再生サブプログラム８０４、ＰＰＶサブプログラム８０５等複数のサブプログラムで構成されている。
【００７０】
ここでＰＰＶとはＰａｙ  Ｐｅｒ  Ｖｉｅｗの略であり、映画など特定の番組を有料で視聴できるようにするサービスである。ユーザーが暗証番号を入力すると、購入したことがヘッドエンド１０１に通知され、スクランブルが解除され、視聴することが出来る。この視聴により、ユーザーは後日、購入代金を支払うものである。
【００７１】
メインプログラム８０１は、ＣＰＵ７０６が電源投入時に最初に起動するサブプログラムであり、他のサブプログラムの制御を行う。
初期化サブプログラム８０２は、電源投入時にメインプログラム８０１によって起動され、端末装置５００との情報交換等を行い、初期化処理を行う。初期化処理の詳細は、ＯｐｅｎＣａｂｌｅ（ＴＭ）  ＨＯＳＴ−ＰＯＤ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＯＣ−ＳＰ−ＨＯＳＴＰＯＤ−ＩＦ−Ｉ１２−０３０２１０）及び、この仕様書から参照されている仕様書で定義されている。また、仕様書に定義されていない初期化処理も行う。ここでは、その一部を紹介する。電源が投入されると、初期化サブプログラム８０２は、第２記憶部７０５が記憶する第１の周波数を端末装置５００のＣＰＵ５１４を通して、ＱＰＳＫ復調部５０２に通知する。ＱＰＳＫ復調部５０２は、与えられた第１の周波数でチューニングを行い、信号を第２デスクランブラ部７０２に送る。また、初期化サブプログラム８０２は、第２記憶部７０５が記憶する第１の鍵等の復号情報を第２デスクランブラ部７０２に与える。その結果、第２デスクランブラ部７０２は、デスクランブルを行い、初期化サブプログラム８０２を実行するＣＰＵ７０６に引き渡す。よって、初期化サブプログラム８０２は情報を受け取ることができる。本実施の形態では、初期化サブプログラム８０２はネットワークサブプログラム８０３を通して情報を受け取ることとする。詳細は後述する。
【００７２】
また、初期化サブプログラム８０２は、第２記憶部７０５が記憶する第２の周波数を端末装置５００のＣＰＵ５１４を通して、ＱＰＳＫ変調部５０３に通知する。初期化サブプログラム８０２は第２記憶部７０５が記憶する暗号化情報をスクランブラ部７０３に与える。初期化サブプログラム８０２が送信したい情報を、ネットワークサブプログラム８０３を介して、スクランブラ部７０３に与えると、スクランブラ部７０３は、与えられた暗号化情報を用いて、データを暗号化し、端末装置５００のＱＰＳＫ変調部５０３に与える。ＱＰＳＫ変調部５０３は、与えられた暗号化された情報を変調し、ヘッドエンド１０１に送信する。
【００７３】
この結果、初期化サブプログラム８０２は、端末装置５００、第２デスクランブラ部７０２、スクランブラ部７０３、ネットワークサブプログラム８０３を通して、ヘッドエンド１０１と双方向通信を行うことができる。
【００７４】
ネットワークサブプログラム８０３は、メインプログラム８０１、初期化サブプログラム８０２等の複数のサブプログラムから使用される、ヘッドエンド１０１との双方向通信を行うためのサブプログラムである。具体的には、ネットワークサブプログラム８０３を使用する他のサブプログラムに対して、ＴＣＰ／ＩＰによって、ヘッドエンド１０１と双方向通信を行っているように振舞う。ＴＣＰ／ＩＰは、複数の装置間で情報交換を行うためのプロトコルを規定した公知の技術であり、詳細な説明は省略する。ネットワークサブプログラム８０３は、電源投入時に初期化サブプログラム８０２に起動されると、予め第２記憶部７０５が記憶しているＰＯＤ５０４を識別する識別子であるＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌアドレスの略）を、端末装置５００を通してヘッドエンド１０１に通知し、ＩＰアドレスの取得を要求する。ヘッドエンド１０１は、端末装置５００を介してＰＯＤ５０４にＩＰアドレスを通知し、ネットワークサブプログラム８０３は、ＩＰアドレスを第１記憶部７０４に記憶する。以降、ヘッドエンド１０１とＰＯＤ５０４は、このＩＰアドレスを、ＰＯＤ５０４の識別子として使用し、通信を行う。
【００７５】
再生サブプログラム８０４は、第２記憶部７０５が記憶する第２の鍵等の復号情報や、端末装置５００から与えられる第３の鍵等の復号情報を第１デスクランブラ部７０１に与えて、デスクランブルを可能にする。また、ネットワークサブプログラム８０３を通して、第１デスクランブラ部７０１に入力されている信号が、ＰＰＶチャンネルであることの情報を受け取る。ＰＰＶチャンネルと知ったときは、ＰＰＶサブプログラム８０５を起動する。
【００７６】
ＰＰＶサブプログラム８０５は、起動されると、端末装置５００に番組の購入を促すメッセージを表示し、ユーザーの入力を受け取る。具体的には、端末装置５００のＣＰＵ５１４に画面に表示したい情報を送ると、端末装置５００のＣＰＵ５１４上で動作するプログラムが、端末装置５００のディスプレイ５０９上にメッセージを表示する。ユーザーは、端末装置５００の入力部５１３を通して暗証番号を入力すると、端末装置５００のＣＰＵ５１４が、それを受け取り、ＰＯＤ５０４のＣＰＵ７０６上で動作するＰＰＶサブプログラム８０５に通知する。ＰＰＶサブプログラム８０５は、受け取った暗証番号をネットワークサブプログラム８０３を通してヘッドエンド１０１に送信する。ヘッドエンド１０１は、暗証番号が正しければ、復号に必要な第４の鍵などの復号化情報をネットワークサブプログラム８０３を介して、ＰＰＶサブプログラム８０５に通知する。ＰＰＶサブプログラム８０５は受け取った第４の鍵などの復号化情報を第１デスクランブラ部７０１に与え、第１デスクランブラ部７０１は、入力されている信号をデスクランブルする。
【００７７】
図５を参照して、ＴＳデコーダ５０５は、ＰＯＤ５０４から受け取った信号のフィルタリングを実施し、必要なデータをオーディオデコーダ５０６及びビデオデコーダ５０８、ＣＰＵ５１４に引き渡す。ここで、ＰＯＤ５０４から来る信号はＭＰＥＧ２トランスポートストリームである。ＭＰＥＧ２トランスポートストリームの詳細はＭＰＥＧ規格書  ＩＳＯ／ＩＥＣ１３８１８−１に記載されており、本実施の形態では詳細は省略する。ＭＰＥＧ２トランスポートストリームは、複数の固定長パケットで構成され、各パケットには、パケットＩＤが振られている。図９はパケットの構成図である。９００はパケットであり、固定長の１８８バイトで構成される。先頭４バイトがヘッダー９０１で、パケットの識別情報を格納しており、残り１８４バイトがペイロード９０２で、送信したい情報を含んでいる。９０３は、ヘッダー９０１の内訳である。先頭から１２ビット目〜２４ビット目までの１３ビットにパケットＩＤが含まれている。図１０は送られてくる複数のパケットの列を表現した模式図である。パケット１００１は、ヘッダーにパケットＩＤ「１」を持ち、ペイロードには映像Ａの１番目の情報が入っている。パケット１００２は、ヘッダーにパケットＩＤ「２」を持ち、ペイロードには音声Ａの１番目の情報が入っている。パケット１００３は、ヘッダーにパケットＩＤ「３」を持ち、ペイロードには音声Ｂの１番目の情報が入っている。
【００７８】
パケット１００４は、ヘッダーにパケットＩＤ「１」を持ち、ペイロードには映像Ａの２番目の情報が入っており、これはパケット１００１の続きになっている。同様にパケット１００５、１０２６、１０２７も他のパケットの後続データを格納している。このように、同じパケットＩＤを持つ、パケットのペイロードの内容を連結すると、連続した映像や音声を再現することができる。
【００７９】
図１０を参照して、ＣＰＵ５１４がパケットＩＤ「１」と出力先として「ビデオデコーダ５０８」をＴＳデコーダ５０５に指示すると、ＴＳデコーダ５０５はＰＯＤ５０４から受け取ったＭＰＥＧ２トランスポートストリームからパケットＩＤ「１」のパケットを抽出し、ビデオデコーダ５０８に引き渡す。図１０においては、映像データのみをビデオデコーダ５０８に引き渡すことになる。同時に、ＣＰＵ５１４がパケットＩＤ「２」と「オーディオデコーダ５０６」をＴＳデコーダ５０５に指示すると、ＴＳデコーダ５０５はＰＯＤ５０４から受け取ったＭＰＥＧ２トランスポートストリームからパケットＩＤ「２」のパケットを抽出し、オーディオデコーダ５０６に引き渡す。図１０においては、音声データのみをオーディオデコーダ５０６に引き渡すことになる。
【００８０】
このパケットＩＤに応じて必要なパケットだけを取り出す処理が、ＴＳデコーダ５０５が行うフィルタリングである。ＴＳデコーダ５０５はＣＰＵ５１４から指示された複数のフィルタリングを同時に実行することができる。
【００８１】
図５を参照して、オーディオデコーダ５０６は、ＴＳデコーダ５０５から与えられたＭＰＥＧ２トランスポートストリームのパケットに埋め込まれたオーディオデータを連結し、デジタル−アナログ変換を行いスピーカ５０７に出力する。
【００８２】
スピーカ５０７は、オーディオデコーダ５０６から与えられた信号を音声出力する。
ビデオデコーダ５０８は、ＴＳデコーダ５０５から与えられたＭＰＥＧ２トランスポートストリームのパケットに埋め込まれたビデオデータを、ビデオバッファ５１７に展開する。また、同時にビデオのデータの解像度や４：３や１６：９等の映像の縦横比などの映像情報を読み取り、映像情報に変化を検知する。検知した情報は、後述するビデオフォーマット解像度変更検知部３１０４に通知される。
【００８３】
スチルデコーダ５１５は、ＣＰＵ５１４から指示されたＭＰＥＧ−Ｉフレームデータを、スチルバッファ５１８に展開する。ＭＰＥＧ２−Ｉフレームの詳細はＭＰＥＧ規格書  ＩＳＯ／ＩＥＣ１３８１８−２に記載されており、本実施の形態では詳細は省略する。
【００８４】
ＯＳＤ制御部５１６は、ＣＰＵ５１４からの指示されたグラフィックスデータを、ＯＳＤバッファ５１９に展開する。
ビデオ拡縮部５２０は、ＣＰＵ５１４から指示された拡大縮小命令により、ビデオバッファ５１７に展開されているデータを拡大縮小して合成部５２３へ渡す。
【００８５】
スチル拡縮部５２１は、ＣＰＵ５１４から指示された拡大縮小命令により、スチルバッファ５１８に展開されているデータを拡大縮小して合成部５２３へ渡す。
ＯＳＤ拡縮部５２２は、ＣＰＵ５１４から指示された拡大縮小命令により、ＯＳＤバッファ５１９に展開されているデータを拡大縮小して合成部５２３へ渡す。
【００８６】
合成部５２３は、ＣＰＵ５１４から指示された各プレーンのＺオーダーに従い、ビデオ拡縮部５２０から渡されたデータとスチル拡縮部５２１から渡されたデータとＯＳＤ拡縮部５２２から渡されたデータを重畳して、ディスプレイ５０９に出力する。ＣＰＵ５１４から指示される各プレーンのＺオーダーに関して説明すると、一般的なテレビ受信端末は、文字図形を表示するＯＳＤプレーン、ビデオを表示するビデオプレーン、静止画を表示するスチルプレーンの３層構造を持っており、その重畳の順番をＺオーダーと呼ぶ。例えば、図２２で説明すると、２２０１が視聴者からみて前面に見える第１プレーン、２２０２が２２０１の背面である第２プレーン、２２０３が最背面である第３プレーンとすると、図２３のように６パターンの組合せが存在することになる。
【００８７】
ディスプレイ５０９は、具体的にはブラウン管や液晶等で構成され、ビデオデコーダ５０８から与えられたビデオ信号を出力したり、ＣＰＵ５１４から指示されたメッセージを表示したりする。
【００８８】
２次記憶部５１０は、具体的には、フラッシュメモリーやハードディスク等で構成され、ＣＰＵ５１４から指示されたデータやプログラムを保存したり削除したりする。また、保存されているデータやプログラムはＣＰＵ５１４に参照される。保存されているデータやプログラムは、端末装置５００の電源が切断された状態でも保存しつづける。
【００８９】
１次記憶部５１１は、具体的には、ＲＡＭ等で構成され、ＣＰＵ５１４から指示されたデータやプログラムを一次的に保存したり削除したりする。また、保存されているデータやプログラムはＣＰＵ５１４に参照される。保存されているデータやプログラムは、端末装置５００の電源が切断された際に、抹消される。
【００９０】
ＲＯＭ５１２は、書き換え不可能なメモリーデバイスであり、具体的にはＲＯＭやＣＤ−ＲＯＭ、ＤＶＤなどで構成される。ＲＯＭ５１２は、ＣＰＵ５１４が実行するプログラムが格納されている。
【００９１】
入力部５１３は、具体的には、フロントパネルやリモコンで構成され、ユーザーからの入力を受け付ける。図１１は、フロントパネルで入力部５１３を構成した場合の一例である。１１００はフロントパネルであり、図６のフロントパネル部６０３に相当する。フロントパネル１１００は７つのボタン、上カーソルボタン１１０１、下カーソルボタン１１０２、左カーソルボタン１１０３、右カーソルボタン１１０４、ＯＫボタン１１０５、取消ボタン１１０６、ＥＰＧボタン１１０７を備えている。ユーザーがボタンを押下すると、押下されたボタンの識別子が、ＣＰＵ５１４に通知される。
【００９２】
ＣＰＵ５１４は、ＲＯＭ５１２が記憶するプログラムを実行する。実行するプログラムの指示に従い、ＱＡＭ復調部５０１、ＱＰＳＫ復調部５０２、ＱＰＳＫ変調部５０３、ＰＯＤ５０４、ＴＳデコーダ５０５、ディスプレイ５０９、２次記憶部５１０、１次記憶部５１１、ＲＯＭ５１２を制御する。
【００９３】
図１２は、ＲＯＭ５１２に記憶され、ＣＰＵ５１４に実行されるプログラムの構成図の一例である。
プログラム１２００は、複数のサブプログラムで構成され、具体的にはＯＳ１２０１、ＥＰＧ１２０２、ＪａｖａＶＭ１２０３、サービスマネージャ１２０４、Ｊａｖａライブラリ１２０５で構成される。
【００９４】
ＯＳ１２０１は、端末装置５００の電源が投入されると、ＣＰＵ５１４が起動するサブプログラムである。ＯＳ１２０１は、オペレーティングシステムの略であり、Ｌｉｎｕｘ等が一例である。ＯＳ１２０１は、他のサブプログラムを平行して実行するカーネル１２０１ａ及びライブラリ１２０１ｂで構成される公知の技術の総称であり、詳細な説明は省略する。本実施の形態においては、ＯＳ１２０１のカーネル１２０１ａは、ＥＰＧ１２０２とＪａｖａＶＭ１２０３をサブプログラムとして実行する。また、ライブラリ１２０１ｂは、これらサブプログラムに対して、端末装置５００が保持する構成要素を制御するための複数の機能を提供する。
【００９５】
機能の一例として、チューニング機能を紹介する。チューニング機能は、他のサブプログラムから周波数を含むチューニング情報を受け取り、それをＱＡＭ復調部５０１に引き渡す。ＱＡＭ復調部５０１は与えられたチューニング情報に基づき復調処理を行い、復調したデータをＰＯＤ５０４に引き渡すことができる。この結果、他のサブプログラムはライブラリ１２０１ｂを通してＱＡＭ復調器を制御することができる。
【００９６】
ＥＰＧ１２０２は、ユーザーに番組一覧を表示及び、ユーザーからの入力を受け付ける番組表示部１２０２ａと、チャンネル選局を行う再生部１２０２ｂで構成される。ここで、ＥＰＧはＥｌｅｃｔｒｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅの略である。ＥＰＧ１２０２は、端末装置５００の電源が投入されると、カーネル１２０１ａによって起動される、起動されたＥＰＧ１２０２の内部では、番組表示部１２０２ａが端末装置５００の入力部５１３を通して、ユーザーからの入力を待つ。ここで、入力部５１３が図１１で示されるフロントパネルで構成されている場合、ユーザーが、入力部５１３のＥＰＧボタン１１０７を押下すると、ＥＰＧボタンの識別子がＣＰＵ５１４に通知される。ＣＰＵ５１４上で動作するサブプログラムであるＥＰＧ１２０２の番組表示部１２０２ａは、この識別子を受け取り、番組情報をディスプレイ５０９に表示する。図１３（１）及び（２）は、ディスプレイ５０９に表示された番組表の一例である。図１３（１）を参照して、ディスプレイ５０９には、格子状に番組情報が表示されている。列１３０１には、時刻情報が表示されている。列１３０２には、チャンネル名「チャンネル１」と、列１３０１の時刻に対応する時間帯に放映される番組が表示されている。「チャンネル１」では、９：００〜１０：３０に番組「ニュース９」が放映され、１０：３０〜１２：００は「映画ＡＡＡ」が放映されることを表す。列１３０３も列１３０２同様、チャンネル名「チャンネル２」と、列１３０１の時刻に対応する時間帯に放映される番組が表示されている。９：００〜１１：００に番組「映画ＢＢＢ」が放映され、１１：００〜１２：００は「ニュース１１」が放映される。１３３０は、カーソルである。カーソル１３３０は、フロントパネル１１００の左カーソル１１０３と右カーソル１１０４を押下すると移動する。図１３（１）の状態で、右カーソル１１０４を押下すると、カーソル１３３０は右に移動し、図１３（２）のようになる。また、図１３（２）の状態で、左カーソル１１０３を押下すると、カーソル１３３０は左に移動し、図１３（１）のようになる。
【００９７】
図１３（１）の状態で、フロントパネル１１００のＯＫボタン１１０５が押下されると、番組表示部１２０２ａは、「チャンネル１」の識別子を再生部１２０２ｂに通知する。図１３（２）の状態で、フロントパネル１１００のＯＫボタン１１０５が押下されると、番組表示部１２０２ａは、「チャンネル２」の識別子を再生部１２０２ｂに通知する。
【００９８】
また、番組表示部１２０２ａは、表示する番組情報を、ＰＯＤ５０４を通してヘッドエンド１０１から定期的に、１次記憶部５１１に記憶しておく。一般的に、ヘッドエンドからの番組情報の取得は時間が掛かる。入力部５１３のＥＰＧボタン１１０７が押下された時、１次記憶部５１１に予め保存された番組情報を表示することで、素早く番組表を表示することができる。
【００９９】
再生部１２０２ｂは、受け取ったチャンネルの識別子を用いて、チャンネルを再生する。チャンネルの識別子とチャンネルの関係は、チャンネル情報として、２次記憶部５１０に予め格納されている。図１４は２次記憶部５１０に格納されているチャンネル情報の一例である。チャンネル情報は表形式で格納されている。列１４０１は、チャンネルの識別子である。列１４０２は、チャンネル名である。列１４０３はチューニング情報である。ここで、チューニング情報は周波数や転送レート、符号化率などを含み、ＱＡＭ復調部５０１に与える値である。列１４０４はプログラムナンバーである。プログラムナンバーとは、ＭＰＥＧ２規格で規定されているＰＭＴを識別するための番号である。ＰＭＴに関しては、後述する。行１４１１〜１４１４の各行は、各チャンネルの識別子、チャンネル名、チューニング情報の組となる。行１４１１は識別子が「１」、チャンネル名が「チャンネル１」、チューニング情報に周波数「１５０ＭＨｚ」、プログラムナンバーが「１０１」を含む組となっている。再生部１２０２ｂは、チャンネルの再生を行うため、受け取ったチャンネルの識別子をそのままサービスマネージャに引き渡す。
【０１００】
また、再生部１２０２ｂは、再生中に、ユーザーがフロントパネル１１００の上カーソル１１０１と下カーソル１１０２を押下すると、入力部５１３からＣＰＵ５１４を通して、押下された通知を受け取り、再生しているチャンネルを変更する。まず、再生部１２０２ｂは、１次記憶部５１１に現在再生中のチャンネルの識別子を記憶する。図１５（１）（２）及び（３）は、１次記憶部５１１に保存しているチャンネルの識別子の例である。図１５（１）では識別子「３」が記憶されており、図１４を参照し、チャンネル名「ＴＶ  ３」のチャンネルが再生中であることを示す。図１５（１）の状態で、ユーザーが上カーソル１１０１を押下すると再生部１２０２ｂは、図１４のチャンネル情報を参照し、表中の前のチャンネルであるチャンネル名「チャンネル２」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「チャンネル２」の識別子「２」を引き渡す。同時に、１次記憶部５１１に記憶されているチャンネル識別子「２」に書き換える。図１５（２）は、チャンネル識別子が書き換えられた状態を表す。また、図１５（１）の状態で、ユーザーが下カーソル１１０２を押下すると再生部１２０２ｂは、図１４のチャンネル情報を参照し、表中の次のチャンネルであるチャンネル名「ＴＶ  Ｊａｐａｎ」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「ＴＶ  Ｊａｐａｎ」の識別子「４」を引き渡す。同時に、１次記憶部５１１に記憶されているチャンネル識別子「４」に書き換える。図１５（３）は、チャンネル識別子が書き換えられた状態を表す。
【０１０１】
ＪａｖａＶＭ１２０３は、Ｊａｖａ（ＴＭ）言語で記述されたプログラムを逐次解析し実行するＪａｖａバーチャルマシンである。Ｊａｖａ言語で記述されたプログラムはバイトコードと呼ばれる、ハードウエアに依存しない中間コードにコンパイルされる。Ｊａｖａバーチャルマシンは、このバイトコードを実行するインタープリタである。また、一部のＪａｖａバーチャルマシンは、バイトコードをＣＰＵ５１４が理解可能な実行形式に翻訳してから、ＣＰＵ５１４に引渡し、実行することも行う。ＪａｖａＶＭ１２０３は、カーネル１２０１ａに実行するＪａｖａプログラムを指定され起動される。本実施の形態では、カーネル１２０１ａは、実行するＪａｖａプログラムとしてサービスマネージャ１２０４を指定する。Ｊａｖａ言語の詳細は、書籍「Ｊａｖａ  Ｌａｎｇｕａｇｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＩＳＢＮ  ０−２０１−６３４５１−１）」等の多くの書籍で解説されている。ここでは、その詳細を省略する。また、ＪａｖａＶＭ自体の詳細な動作などは、「Ｊａｖａ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＩＳＢＮ  ０−２０１−６３４５１―Ｘ）」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
【０１０２】
サービスマネージャ１２０４は、Ｊａｖａ言語で書かれたＪａｖａプログラムであり、ＪａｖａＶＭ１２０３によって逐次実行される。サービスマネージャ１２０４は、ＪＮＩ（Ｊａｖａ  Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ）を通して、Ｊａｖａ言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。ＪＮＩに関しても、書籍「Ｊａｖａ  Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
【０１０３】
サービスマネージャ１２０４は、ＪＮＩを通して、再生部１２０２ｂよりチャンネルの識別子を受け取る。
サービスマネージャ１２０４は、最初にＪａｖａライブラリ１２０５の中にあるＴｕｎｅｒ１２０５ｃに、チャンネルの識別子を引き渡し、チューニングを依頼する。Ｔｕｎｅｒ１２０５ｃは、２次記憶部５１０が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サービスマネージャ１２０４がチャンネルの識別子「２」をＴｕｎｅｒ１２０５ｃに引き渡すと、Ｔｕｎｅｒ１２０５ｃは、図１４の行１４１２を参照して、対応するチューニング情報「１５６ＭＨｚ，」を獲得する。Ｔｕｎｅｒ１２０５ｃは、ＯＳ１２０１のライブラリ１２０１ｂを通して、ＱＡＭ復調部５０１にチューニング情報を引き渡す。ＱＡＭ復調部５０１は与えられたチューニング情報に従ってヘッドエンド１０１から送信されてきた信号を復調し、ＰＯＤ５０４に引き渡す。
【０１０４】
次にサービスマネージャ１２０４は、Ｊａｖａライブラリ１２０５の中にあるＣＡ１２０５ｄにデスクランブルを依頼する。ＣＡ１２０５ｄは、ＯＳ１２０１のライブラリ１２０１ｂを通して復号に必要な情報をＰＯＤ５０４に与える。ＰＯＤ５０４は、与えられた情報を元に、ＱＡＭ復調部５０１から与えられた信号を復号しＴＳデコーダ５０５に引き渡す。
【０１０５】
次にサービスマネージャ１２０４は、Ｊａｖａライブラリ１２０５の中にあるＪＭＦ１２０５ａにチャンネルの識別子を与え、映像・音声の再生を依頼する。
まず、最初にＪＭＦ１２０５ａは、再生すべき映像と音声を特定するためのパケットＩＤをＰＡＴ、ＰＭＴから取得する。ＰＡＴやＰＭＴはＭＰＥＧ２規格で規定されている、ＭＰＥＧ２トランスポートストリーム内の番組構成を表現するテーブルであり、ＭＰＥＧ２トランスポートストリームに含まれるパケットのペイロードに埋め込まれて、音声や映像と共に送信されるものである。詳細は規格書を参照されたい。ここでは、概略のみ説明する。ＰＡＴは、Ｐｒｏｇｒａｍ  Ａｓｓｏｃｉａｔｉｏｎ  Ｔａｂｌｅの略で、パケットＩＤ「０」のパケットに格納され送信されている。ＪＭＦ１２０５ａは、ＰＡＴを取得するため、ＯＳ１２０１のライブラリ１２０１ｂを通して、ＴＳデコーダ５０５にパケットＩＤ「０」とＣＰＵ５１４を指定する。ＴＳデコーダ５０５がパケットＩＤ「０」でフィルタリングを行い、ＣＰＵ５１４に引き渡すことでＪＭＦ１２０５ａは、ＰＡＴのパケットを収集する。図１６は、収集したＰＡＴの情報の一例を模式的に表した表である。列１６０１は、プログラムナンバーである。列１６０２は、パケットＩＤである。列１６０２のパケットＩＤはＰＭＴを取得するために用いられる。行１６１１〜１６１３は、チャンネルのプログラムナンバーと対応するパケットＩＤの組である。ここでは、３つのチャンネルが定義されている。行１６１１はプログラムナンバー「１０１」とパケットＩＤ「５０１」の組が定義されている。今、ＪＭＦ１２０５ａに与えられたチャンネルの識別子が「２」とすると、ＪＭＦ１２０５ａは、図１４の行１４１２を参照して、対応するプログラムナンバー「１０２」を獲得し、次に、図１６のＰＡＴの行１６１２を参照し、プログラムナンバー「１０２」に対応するパケットＩＤ「５０２」を獲得する。ＰＭＴは、Ｐｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅの略で、ＰＡＴで規定されたパケットＩＤのパケットに格納され送信されている。ＪＭＦ１２０５ａは、ＰＭＴを取得するため、ＯＳ１２０１のライブラリ１２０１ｂを通して、ＴＳデコーダ５０５にパケットＩＤとＣＰＵ５１４を指定する。ここで、指定するパケットＩＤは「５０２」とする。ＴＳデコーダ５０５がパケットＩＤ「５０２」でフィルタリングを行い、ＣＰＵ５１４に引き渡すことでＪＭＦ１２０５ａは、ＰＭＴのパケットを収集する。図１７は、収集したＰＭＴの情報の一例を模式的に表した表である。列１７０１は、ストリーム種別であり。列１７０２は、パケットＩＤである。列１７０２で指定されるパケットＩＤのパケットには、ストリーム種別で指定された情報がペイロードに格納され送信されている。列１７０３は補足情報である。行１７１１〜１７１４はエレメンタリ−ストリームと呼ばれる、パケットＩＤと送信している情報の種別の組である。行１７１１は、ストリーム種別「音声」とパケットＩＤ「５０１１」の組であり、パケットＩＤ「５０１１」のペイロードには音声が格納されていることを表す。ＪＭＦ１２０５ａは、ＰＭＴから再生する映像と音声のパケットＩＤを獲得する。図１７を参照して、ＪＭＦ１２０５ａは、行１７１１から音声のパケットＩＤ「５０１１」を、行１７１２から映像のパケットＩＤ「５０１２」を獲得する。
【０１０６】
次に、ＪＭＦ１２０５ａは、ＯＳ１２０１のライブラリ１２０１ｂを通して、獲得した音声のパケットＩＤと出力先としてオーディオデコーダ５０６、映像のパケットＩＤと出力先としてビデオデコーダ５０８の組を、ＴＳデコーダ５０５に与える。ＴＳデコーダ５０５は与えられたパケットＩＤと出力先に基づいて、フィルタリングを行う。ここではパケットＩＤ「５０１１」のパケットをオーディオデコーダ５０６に、パケットＩＤ「５０１２」のパケットをビデオデコーダ５０８に引き渡す。オーディオデコーダ５０６は、与えられたパケットのデジタル−アナログ変換を行いスピーカ５０７を通して音声を再生する。ビデオデコーダ５０８は、ＴＳデコーダ５０５から与えられたＭＰＥＧ２トランスポートストリームのパケットに埋め込まれたビデオデータを、ビデオバッファ５１７に展開する。
【０１０７】
ビデオ拡縮部５２０は、ＣＰＵ５１４から指示された拡大縮小命令により、ビデオバッファ５１７に展開されているデータを拡大縮小して合成部５２３へ渡す。
合成部５２３は、ＣＰＵ５１４から指示されたＺオーダーに従い、ビデオ拡縮部５２０から渡されたデータとスチル拡縮部５２１から渡されたデータとＯＳＤ拡縮部５２２から渡されたデータを重畳して、ディスプレイ５０９に出力する。
【０１０８】
最後にサービスマネージャ１２０４は、Ｊａｖａライブラリ１２０５の中にあるＡＭ１２０５ｂにチャンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生とは、ＭＰＥＧ２トランスポートストリームに含まれるＪａｖａプログラムを抽出し、ＪａｖａＶＭ１２０３に実行させることである。ＭＰＥＧ２トランスポートストリームにＪａｖａプログラムを埋め込む方法は、ＭＰＥＧ規格書  ＩＳＯ／ＩＥＣ１３８１８−６に記述されたＤＳＭＣＣという方式を用いる。ここではＤＳＭＣＣの詳細な説明は省略する。ＤＳＭＣＣ方式は、ＭＰＥＧ２トランスポートストリームのパケットの中に、コンピュータで使用されているディレクトリやファイルで構成されるファイルシステムをエンコードする方法を規定している。また、実行するＪａｖａプログラムの情報はＡＩＴと呼ばれる形式で、ＭＰＥＧ２トランスポートストリームのパケットの中に埋め込まれ送信されている。ＡＩＴは、ＤＶＢ−ＭＨＰ規格（正式には、ＥＴＳＩ  ＴＳ  １０１  ８１２  ＤＶＢ−ＭＨＰ仕様Ｖ１．０．２）の１０章に定義されている、Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅの略である。
【０１０９】
ＡＭ１２０５ｂは、まず、ＡＩＴを獲得するため、ＪＭＦ１２０５ａ同様ＰＡＴ、ＰＭＴを取得し、ＡＩＴが格納されているパケットのパケットＩＤを獲得する。今、与えられたチャンネルの識別子が「２」で、図１６のＰＡＴ、図１７のＰＭＴが送信されていると、ＪＭＦ１２０５ａと同様の手順で、図１７のＰＭＴを獲得する。ＡＭ１２０５ｂは、ＰＭＴからストリーム種別が「データ」で補足情報として「ＡＩＴ」を持つエレメンタリ−ストリームからパケットＩＤを抽出する。図１７を参照して、行１７１３のエレメンタリ−ストリームが該当し、パケットＩＤ「５０１３」を獲得する。
【０１１０】
ＡＭ１２０５ｂは、ＯＳ１２０１のライブラリ１２０１ｂを通してＴＳデコーダ５０５にＡＩＴのパケットＩＤと出力先ＣＰＵ５１４を与える。ＴＳデコーダ５０５、与えられたパケットＩＤでフィルタリングを行い、ＣＰＵ５１４に引き渡す。この結果、ＡＭ１２０５ｂは、ＡＩＴのパケットを収集することができる。図１８は、収集したＡＩＴの情報の一例を模式的に表した表である。列１８０１はＪａｖａプログラムの識別子である。列１８０２はＪａｖａプログラムの制御情報である。制御情報には「ａｕｔｏｓｔａｒｔ」「ｐｒｅｓｅｎｔ」「ｋｉｌｌ」などがあり、「ａｕｔｏｓｔａｒｔ」は即時に端末装置５００がこのプログラムを自動的に実行することを意味し、「ｐｒｅｓｅｎｔ」は自動実行しないことを意味し、「ｋｉｌｌ」はプログラムを停止することを意味する。列１８０３は、ＤＳＭＣＣ方式でＪａｖａプログラムを含んでいるパケットＩＤを抽出するためのとＤＳＭＣＣ識別子である。列１８０４はＪａｖａプログラムのプログラム名である。行１８１１と１８１２は、Ｊａｖａプログラムの情報の組である。行１８１１で定義されるＪａｖａプログラムは、識別子「３０１」、制御情報「ａｕｔｏｓｔａｒｔ」、ＤＳＭＣＣ識別子「１」、プログラム名「ａ／ＴｏｐＸｌｅｔ」の組である。行１８１２で定義されるＪａｖａプログラムは、識別子「３０２」、制御情報「ｐｒｅｓｅｎｔ」、ＤＳＭＣＣ識別子「１」、プログラム名「ｂ／ＧａｍｅＸｌｅｔ」の組である。ここで２つのＪａｖａプログラムは同じＤＳＭＣＣ識別子を持つが、これは１つのＤＳＭＣＣ方式でエンコードされたファイルシステム内に２つのＪａｖａプログラムが含まれていることを表す。ここでは、Ｊａｖａプログラムに対して４つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はＤＶＢ−ＭＨＰ規格を参照されたい。
【０１１１】
ＡＭ１２０５ｂは、ＡＩＴの中から「ａｕｔｏｓｔａｒｔ」のＪａｖａプログラムを見つけ出し、対応するＤＳＭＣＣ識別子及びＪａｖａプログラム名を抽出する。図１８を参照して、ＡＭ１２０５ｂは行１８１１のＪａｖａプログラムを抽出し、ＤＳＭＣＣ識別子「１」及びＪａｖａプログラム名「ａ／ＴｏｐＸｌｅｔ」を獲得する。
【０１１２】
次にＡＭ１２０５ｂは、ＡＩＴから取得したＤＳＭＣＣ識別子を用いて、ＪａｖａプログラムをＤＳＭＣＣ方式で格納しているパケットのパケットＩＤをＰＭＴから獲得する。具体的には、ＰＭＴの中でストリーム種別が「データ」で、補足情報のＤＳＭＣＣ識別子が合致するエレメンタリ−ストリームのパケットＩＤを取得する。
【０１１３】
今、ＤＳＭＣＣ識別子が「１」であり、ＰＭＴが図１７とすると、行１７１４のエレメンタリ−ストリームが合致し、パケットＩＤ「５０１４」を取り出す。
ＡＭ１２０５ｂは、ＯＳ１２０１のライブラリ１２０１ｂを通してＴＳデコーダ５０５にＤＳＭＣＣ方式でデータが埋めこめられたパケットのパケットＩＤと出力先としてＣＰＵ５１４を指定する。ここでは、パケットＩＤ「５０１４」を与える。ＴＳデコーダ５０５、与えられたパケットＩＤでフィルタリングを行い、ＣＰＵ５１４に引き渡す。この結果、ＡＭ１２０５ｂは、必要なパケットを収集することができる。ＡＭ１２０５ｂは、収集したパケットから、ＤＳＭＣＣ方式に従ってファイルシステムを復元し、１次記憶部５１１に保存する。ＭＰＥＧ２トランスポートストリーム中のパケットからファイルシステム等のデータを取り出し１次記憶部５１１等の記憶手段に保存すことを以降、ダウンロードと呼ぶ。
【０１１４】
図１９は、ダウンロードしたファイルシステムの一例である。図中、丸はディレクトリを四角はファイルを表し、１９０１はルートディレクトリ、１９０２はディレクトリ「ａ」，１９０３はディレクトリ「ｂ」，１９０４はファイル「ＴｏｐＸｌｅｔ．ｃｌａｓｓ」、１９０５はファイル「ＧａｍｅＸｌｅｔ．ｃｌａｓｓ」である。
【０１１５】
次にＡＭ１２０５ｂは、１次記憶部５１１にダウンロードしたファイルシステム中から実行するＪａｖａプログラムをＪａｖａＶＭ１２０３に引き渡す。今、実行するＪａｖａプログラム名が「ａ／ＴｏｐＸｌｅｔ」とすると、Ｊａｖａプログラム名の最後に「．ｃｌａｓｓ」を付加したファイル「ａ／ＴｏｐＸｌｅｔ．ｃｌａｓｓ」が実行すべきファイルとなる。「／」はディレクトリやファイル名の区切りであり、図１９を参照して、ファイル１９０４が実行すべきＪａｖａプログラムである。次にＡＭ１２０５ｂは、ファイル１９０４をＪａｖａＶＭ１２０３に引き渡す。
【０１１６】
ＪａｖａＶＭ１２０３は、引き渡されたＪａｖａプログラムを実行する。
サービスマネージャ１２０４は、他のチャンネルの識別子を受け取ると、Ｊａｖａライブラリ１２０５に含まれる各ライブラリを通して再生している映像・音声及びＪａｖａプログラムの実行を、同じくＪａｖａライブラリ１２０５に含まれる各ライブラリを通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像・音声の再生及びＪａｖａプログラムの実行を行う。
【０１１７】
Ｊａｖａライブラリ１２０５は、ＲＯＭ５１２に格納されている複数のＪａｖａライブラリの集合である。本実施の形態では、ここでは、Ｊａｖａライブラリ１２０５は、ＪＭＦ１２０５ａ，ＡＭ１２０５ｂ，Ｔｕｎｅｒ１２０５ｃ，ＣＡ１２０５ｄ、ＰＯＤ  Ｌｉｂ１２０５ｅ、解像度切替部１２０５ｆ、ＡＷＴ１２０５ｇ、ＳＴＬ１２０５ｈ等を含んでいる。
【０１１８】
ＰＯＤ  Ｌｉｂ１２０５ｅは、ライブラリ１２０１ｂ及びＣＰＵ５１４を通してＰＯＤ５０４からの情報取得やＰＯＤ５０４の制御行う機能を提供する。
解像度切替部１２０５ｆは、ＣＰＵ５１４を通して、ビデオデコーダ５０８、ビデオ拡縮部５２０、スチルデコーダ５１５、スチル拡縮部５２１、ＯＳＤ制御部５１６、ＯＳＤ拡縮部５２２を制御する機能を提供する。詳細は後述する。
【０１１９】
ＡＷＴ１２０５ｇは、Ｊａｖａプログラムからの描画指示を受け付ける。受け付けた指示に基づき、必要な情報をＯＳＤ制御部５１６に送ることで、ＯＳＤバッファに文字図形を描画する。具体的な描画処理の例は、線を引いたり四角を書くなどであり、Ｊａｖａ．ａｗｔパッケージに規定されているクラス及びインターフェース仕様で実現される公知の技術である。よって、詳細は省略する。
【０１２０】
ＳＴＬ１２０５ｈは、Ｊａｖａプログラムからの表示するＭＰＥＧ−Ｉフレームデータとその表示位置を受け付ける。ＳＴＬ１２０５ｈは、受け付けたＭＰＥＧ−Ｉフレームデータと表示位置を、スチルデコーダ５１５に引き渡す。スチルデコーダ５１５は、与えられた表示位置にＭＰＥＧ−Ｉフレームデータをデコードし、スチルバッファ５１８に展開する。これによりＪａｖａプログラムは、スチルバッファへの描画を行うことができる。
【０１２１】
図２４は、ビデオの表示処理に関するフローチャートである。ＴＳデコーダ５０５はビデオデータをビデオデコーダ５０８に転送する（Ｓ２４０１）。ビデオデコーダ５０８は、転送されたビデオデータをデコードし、その結果をビデオバッファ５１７に展開する（Ｓ２４０２）。ＣＰＵ５１４からビデオの表示に関して拡大縮小の指示があるか判断する（Ｓ２４０３）。拡大縮小の指示がある場合は、ビデオ拡縮部５２０はビデオバッファ５１７に展開されているデータに対して拡大縮小処理を行い（Ｓ２４０４）、合成部５２３に転送する（Ｓ２４０５）。拡大縮小の指示がない場合は、ビデオ拡縮部５２０はビデオバッファ５１７に展開されているデータを合成部５２３に転送する（Ｓ２４０５）。
【０１２２】
図２５は、スチルの表示処理に関するフローチャートである。ＣＰＵ５１４からスチルデコーダ５１５へＭＰＥＧ２−Ｉフレームデータが渡される（Ｓ２５０１）。スチルデコーダ５１５は、渡されたＭＰＥＧ２−Ｉフレームデータをデコードし、その結果をスチルバッファ５１８に展開する（Ｓ２５０２）。ＣＰＵ５１４からスチルの表示に関して拡大縮小の指示があるか判断する（Ｓ２５０３）。拡大縮小の指示がある場合は、スチル拡縮部５２１はスチルバッファ５１８に展開されているデータに対して拡大縮小処理を行い（Ｓ２５０４）、合成部５２３に転送する（Ｓ２５０５）。拡大縮小の指示がない場合は、スチル拡縮部５２１はスチルバッファ５１８に展開されているデータを合成部５２３に転送する。
【０１２３】
図２６は、ＯＳＤの表示処理に関するフローチャートである。ＣＰＵ５１４からＯＳＤ制御部５１６へ文字や図形データが渡される（Ｓ２６０１）。ＯＳＤ制御部５１６は、渡された文字や図形データに基づき、ＯＳＤバッファ５１９にイメージを構成する（Ｓ２６０２）。ＣＰＵ５１４からＯＳＤの表示に関して拡大縮小の指示があるか判断する（Ｓ２６０３）。拡大縮小の指示がある場合は、ＯＳＤ拡縮部５２２はＯＳＤバッファ５１９に展開されているデータに対して拡大縮小処理を行い（Ｓ２６０４）、合成部５２３に転送する（Ｓ２６０５）。拡大縮小の指示がない場合は、ＯＳＤ拡縮部５２２はＯＳＤバッファ５１９に展開されているデータを合成部５２３に転送する。
【０１２４】
ここで、拡大縮小のイメージを、例を示して説明すると、図２８の２８０１のように、幅７２０ピクセル、高さ４８０ピクセルのデータを、幅９６０ピクセル、高さ５４０に拡大すると図２８の２８０２のようになる。
【０１２５】
図２７は、図２４で示されるフローチャートで生成されるビデオと図２５で示されるフローチャートで生成されるスチルと図２６で示されるフローチャートで生成されるＯＳＤの合成処理に関するフローチャートである。合成部５２３は、ＣＰＵ５１４からＺオーダーの変更指示があるか判断し（Ｓ２７０１）、変更指示がある場合は、変更指示に従い、第１プレーン２２０１、第２プレーン２２０２、第３プレーン２２０３に、ビデオプレーン、スチルプレーン、ＯＳＤプレーンのどのプレーンが該当するかを決定する（Ｓ２７０２）。ここで、ビデオプレーンとは、図２４で示されるフローチャートで生成されるビデオを意味し、スチルプレーンとは、図２５で示されるフローチャートで生成されるスチルを意味し、ＯＳＤプレーンとは、図２６で示されるフローチャートで生成されるＯＳＤを意味する。変更指示がない場合は、以前のＺオーダーに従う。Ｚオーダーの組合せは、図２３のように６パターンの組合せのいずれかである。次に合成部５２３は、最背面である第３プレーンに該当するプレーンが、ビデオプレーン、スチルプレーン、ＯＳＤプレーンのどのプレーンが該当するか判断し（Ｓ２７０３）、そのプレーンが、ビデオプレーンの場合は合成部５２３でビデオデータを合成し（Ｓ２７０４）、スチルプレーンの場合は合成部５２３でスチルデータを合成し（Ｓ２７０５）、ＯＳＤプレーンの場合は合成部５２３でＯＳＤデータを合成する（Ｓ２７０６）。例えば、合成するデータのイメージが図２９の２９０１の場合、合成した後のイメージを示すと、図３０の３００１のようになる。次に合成部５２３は、第２プレーンに該当するプレーンが、ビデオプレーン、スチルプレーン、ＯＳＤプレーンのどのプレーンが該当するか判断し（Ｓ２７０７）、そのプレーンが、ビデオプレーンの場合は合成部５２３でビデオデータを合成し（Ｓ２７０８）、スチルプレーンの場合は合成部５２３でスチルデータを合成し（Ｓ２７０９）、ＯＳＤプレーンの場合は合成部５２３でＯＳＤデータを合成する（Ｓ２７１０）。例えば、合成するデータのイメージが図２９の２９０２の場合、合成した後のイメージを示すと、図３０の３００２のようになる。次に合成部５２３は、最前面である第１プレーンに該当するプレーンが、ビデオプレーン、スチルプレーン、ＯＳＤプレーンのどのプレーンが該当するか判断し（Ｓ２７１１）、そのプレーンが、ビデオプレーンの場合は合成部５２３でビデオデータを合成し（Ｓ２７１２）、スチルプレーンの場合は合成部５２３でスチルデータを合成し（Ｓ２７１３）、ＯＳＤプレーンの場合は合成部５２３でＯＳＤデータを合成する（Ｓ２７１４）。例えば、合成するデータのイメージが図２９の２９０３の場合、合成した後のイメージを示すと、図３０の３００３のようになる。最後に合成結果をディスプレイ５０９に出力して表示される（Ｓ２７１５）。
【０１２６】
次に、Ｊａｖａプログラムのダウンロード・保存及び、Ｊａｖａプログラムの表示動作について説明する。
サービスマネージャ１２０４は、Ｊａｖａライブラリ１２０５に含まれるＰＯＤ  Ｌｉｂ１２０５ｅを通してヘッドエンド１０１と双方向通信を行う。この双方向通信は、ＰＯＤ  Ｌｉｂ１２０５ｅはＯＳ１２０１のライブラリ１２０１ｂ及び、ＰＯＤ５０４を介して、ＱＰＳＫ復調部５０２、ＱＰＳＫ変調部５０３を使用して実現される。
【０１２７】
サービスマネージャ１２０４は、この通信を用いてヘッドエンド１０１から、端末装置５００が２次記憶部５１０に保存すべきＪａｖａプログラムの情報を受け取る。この情報をＸＡＩＴ情報と呼ぶ。ＸＡＩＴ情報は、ヘッドエンド１０１とＰＯＤ５０４間で、任意の形式で送信される。どのような送信形式を採用しても、ＸＡＩＴに必要とする情報が含まれていれば、本発明は実施可能である。
【０１２８】
図２０は、ヘッドエンド１０１から取得したＸＡＩＴの情報の一例を模式的に表した表である。列２００１はＪａｖａプログラムの識別子である。列２００２はＪａｖａプログラムの制御情報である。制御情報には「ａｕｔｏｓｅｌｅｃｔ」「ｐｒｅｓｅｎｔ」などがあり、「ａｕｔｏｓｅｌｅｃｔ」は端末装置５００が電源投入時にこのプログラムを自動的に実行することを意味し、「ｐｒｅｓｅｎｔ」は自動実行しないことを意味する。列２００３は、ＤＳＭＣＣ方式でＪａｖａプログラムを含んでいるパケットＩＤを抽出するためのＤＳＭＣＣ識別子である。列２００４はＪａｖａプログラムのプログラム名である。列２００５は、Ｊａｖａプログラムの優先度である。行２０１１と２０１２は、Ｊａｖａプログラムの情報の組である。行２０１１で定義されるＪａｖａプログラムは、識別子「７０１」、制御情報「ａｕｔｏｓｅｌｅｃｔ」、ＤＳＭＣＣ識別子「１」、プログラム名「ａ／Ｂａｎｎｅｒ１Ｘｌｅｔ」の組である。ここでは、Ｊａｖａプログラムに対して５つの情報しか規定しないが、より多くの情報が定義されていても本発明は実施可能である。
【０１２９】
サービスマネージャ１２０４は、ＸＡＩＴ情報を受け取ると、ＡＩＴ情報からＪａｖａプログラムをダウンロードした手順と同じ手順で、ＭＰＥＧ２トランスポートストリームからファイルシステムを１次記憶部５１１に保存する。その後、保存したファイルシステムを２次記憶部５１０に複写する。なお、１次記憶部５１１を介さず、直接２次記憶部５１０にダウンロードすることも実施可能である。次に、サービスマネージャ１２０４は、ＸＡＩＴ情報にダウンロードしたファイルシステムの格納位置を対応つけて２次記憶部５１０に保存する。図２１は、２次記憶部５１０がＸＡＩＴ情報とダウンロードしたファイルシステムが対応つけられて保存されている一例を表す。図２１の中で、図２０と同じ番号の要素は図２０と同じなので、説明は省略する。列２１０１は対応するダウンロードしたファイルシステムの保存位置を格納する。図中、保存位置は矢印で示している。２１１０はダウンロードしたファイルシステムであり、内部にトップディレクトリ２１１１、ディレクトリ「ａ」２１１２、ディレクトリ「ｂ」２１１３、ファイル「Ｂａｎｎｅｒ１Ｘｌｅｔ．ｃｌａｓｓ」２１１４、ファイル「Ｂａｎｎｅｒ２Ｘｌｅｔ．ｃｌａｓｓ」２１１５を保持する。
【０１３０】
ここで、ＸＡＩＴ情報は、Ｊａｖａプログラムを保存してから保存しているが、Ｊａｖａプログラムを保存する前に保存することも実施可能である。
端末装置５００に電源が投入後、ＯＳ１２０１が、サービスマネージャ１２０４をＪａｖａＶＭ１２０３に指定し、ＪａｖａＶＭ１２０３がサービスマネージャ１２０４を起動した後、サービスマネージャ１２０４は、最初に２次記憶部５１０に保存されたＸＡＩＴ情報を参照する。ここで各Ｊａｖａプログラムの制御情報を参照し「ａｕｔｏｓｅｌｅｃｔ」のプログラムをＪａｖａＶＭ１２０３に引き渡し、起動する。図２１を参照して、行２０１１で定義されるＪａｖａプログラム「Ｂａｎｎｅｒ１Ｘｌｅｔ」が起動される。
【０１３１】
Ｊａｖａプログラム「Ｂａｎｎｅｒ１Ｘｌｅｔ」が起動されると、Ｊａｖａプログラム「Ｂａｎｎｅｒ１Ｘｌｅｔ」が文字や図形を表示する場合、Ｊａｖａプログラム「Ｂａｎｎｅｒ１Ｘｌｅｔ」はＣＰＵ５１４に対してＯＳＤの表示を指示する。ＣＰＵ５１４はＯＳＤ制御部５１６へ文字や図形データを渡し、ＯＳＤ表示処理が行われ、最終的に合成部５２３でＯＳＤプレーンはビデオプレーンとスチルプレーンと合成され、ディスプレイ５０９に表示される。
【０１３２】
次に、本発明の主要機能である映像解像度切替機能について説明する。図３１は、映像解像度切替機能の構成図である。
アプリケーションプログラム３１００は、例えば、Ｊａｖａプログラム「Ｂａｎｎｅｒ１Ｘｌｅｔ」のようなアプリケーションである。
【０１３３】
解像度切替部１２０５ｆは、ＯＳＤ解像度管理部３１０１、ビデオ解像度管理部３１０２、スチル解像度管理部３１０３、ビデオフォーマット解像度変更検知部３１０４、解像度選択判断部３１０５を含み、映像解像度切替機能を担う。
【０１３４】
ＯＳＤ解像度管理部３１０１は、ＯＳＤプレーンの解像度を管理する。ＯＳＤ解像度管理部３１０１は、アプリケーションプログラム３１００から現在のＯＳＤプレーンの解像度の変更要求を受け付ける機能と、アプリケーションプログラム３１００にＯＳＤプレーンの解像度が変更されたことを通知する機能を有する。ＯＳＤプレーンの解像度の変更要求を受け付けた場合、解像度選択判断部３１０５に通知する。
【０１３５】
ビデオ解像度管理部３１０２は、ビデオプレーンの解像度を管理する。ビデオ解像度管理部３１０２は、アプリケーションプログラム３１００から現在のビデオプレーンの解像度の変更要求を受け付ける機能と、アプリケーションプログラム３１００にビデオプレーンの解像度が変更されたことを通知する機能を有する。ビデオプレーンの解像度の変更要求を受け付けた場合、解像度選択判断部３１０５に通知する。
【０１３６】
スチル解像度管理部３１０３は、スチルプレーンの解像度を管理する。スチル解像度管理部３１０３は、アプリケーションプログラム３１００から現在のスチルプレーンの解像度の変更要求を受け付ける機能と、アプリケーションプログラム３１００にスチルプレーンの解像度が変更されたことを通知する機能を有する。スチルプレーンの解像度の変更要求を受け付けた場合、解像度選択判断部３１０５に通知する。
【０１３７】
ビデオフォーマット解像度変更検知部３１０４は、ビデオデコーダ５０８で受信したビデオフォーマットの解像度が以前デコードしていたビデオフォーマットの解像度と異なる場合、解像度選択判断部３１０５に通知する。
【０１３８】
解像度選択判断部３１０５は、ＯＳＤ解像度管理部３１０１に現在のＯＳＤプレーンの解像度変更要求があった場合と、ビデオ解像度管理部３１０２に現在のビデオプレーンの解像度変更要求があった場合と、スチル解像度管理部３１０３に現在のスチルプレーンの解像度変更要求があった場合と、ビデオフォーマット解像度変更検知部３１０４からビデオフォーマットの解像度の変更通知があった場合に、テレビ受信端末の各プレーン間の表示可能な組合せを考慮して、各プレーンの解像度を選択する。ここで、表示可能な組合せを説明すると、テレビ受信端末は、文字図形を表示するＯＳＤプレーン、ビデオを表示するビデオプレーン、静止画を表示するスチルプレーンの３層構造を持っており、各プレーン間では表示可能な組合せを持っている。例えば、図３２のような組合せである。テレビ受信端末が図３２に示す組合せ１（３２０１）で各プレーンを表示している時に、ビデオデコーダ５０８で受信したビデオフォーマットが、画像解像度が横９６０ピクセル縦５４０ピクセル及び画面縦横比が１６：９に変更された場合、ビデオフォーマットに合わせて、組合せ３（３２０３）で各プレーンの解像度を変更する場合がある。この図３２に示される各プレーンの組み合わせは、２次記憶部５１０または、1次記憶部５１１、または、ＲＯＭ５１２に記憶されている。今、各プレーンの組み合わせがＲＯＭ５１２に格納されているとすると、解像度選択判断部３１０５は、表示可能な組み合わせを考慮する時、ＲＯＭ５１２を参照し、可能な組み合わせの中から特定の規則に従って、最適な１つの組み合わせを選択することを意味する。
【０１３９】
図３３は、ＯＳＤ解像度管理部３１０１に現在のＯＳＤプレーンの解像度変更要求があった場合の解像度選択判断部３１０５のフローチャートである。ＯＳＤ解像度管理部３１０１は解像度選択判断部３１０５にＯＳＤ解像度を渡し変更要求を行う（Ｓ３３０１）。解像度選択判断部３１０５は変更要求されたＯＳＤ解像度を１次記憶部５１１に記憶しておく（Ｓ３３０２）。変更要求されたＯＳＤ解像度に合わせて表示可能な組合せの選択を試みる（Ｓ３３０３）。結果として、要求したＯＳＤ解像度に変更できたか判断し（Ｓ３３０４）、変更できた場合、ＯＳＤ解像度管理部３１０１にＯＳＤ解像度変更通知が行われる（Ｓ３３０５）。このＯＳＤ解像度変更に伴い、ビデオ解像度も変更されたかを判断し（Ｓ３３０６）、変更された場合、ビデオ解像度管理部３１０２にビデオ解像度変更通知が行われる（Ｓ３３０７）。このＯＳＤ解像度変更に伴い、スチル解像度も変更されたかを判断し（Ｓ３３０８）、変更された場合、スチル解像度管理部３１０３にスチル解像度変更通知が行われる（Ｓ３３０９）。
【０１４０】
図３４は、ビデオ解像度管理部３１０２に現在のビデオプレーンの解像度変更要求があった場合の解像度選択判断部３１０５のフローチャートである。ビデオ解像度管理部３１０２は解像度選択判断部３１０５にビデオ解像度を渡し変更要求を行う（Ｓ３４０１）。解像度選択判断部３１０５は変更要求されたビデオ解像度を１次記憶部５１１に記憶しておく（Ｓ３４０２）。変更要求されたビデオ解像度に合わせて表示可能な組合せの選択を試みる（Ｓ３４０３）。結果として、要求したビデオ解像度に変更できたか判断し（Ｓ３４０４）、変更できた場合、ビデオ解像度管理部３１０２にビデオ解像度変更通知が行われる（Ｓ３４０５）。このビデオ解像度変更に伴い、ＯＳＤ解像度も変更されたかを判断し（Ｓ３４０６）、変更された場合、ＯＳＤ解像度管理部３１０１にＯＳＤ解像度変更通知が行われる（Ｓ３４０７）。このビデオ解像度変更に伴い、スチル解像度も変更されたかを判断し（Ｓ３４０８）、変更された場合、スチル解像度管理部３１０３にスチル解像度変更通知が行われる（Ｓ３４０９）。
【０１４１】
ここで、選択されたビデオプレーンの解像度とビデオデコーダ５０８がデコードしたビデオ映像の解像度が異なる場合、ビデオ拡縮部５２０は、ビデオバッファ５１７に展開されたビデオ映像を、選択されたビデオプレーンの解像度に拡大又は縮小することにより、選択されたビデオプレーンの解像度を実現する。
【０１４２】
また、表示可能なビデオプレーン、スチルプレーン、ＯＳＤプレーンの解像度の組み合わせには、ビデオプレーン、スチルプレーン、ＯＳＤプレーンの拡大・縮小を前提にした組み合わせも含まれる。例えば、図３２の生み合わせ「４」３２０４の場合、ＯＳＤプレーンの解像度は９６０＊５４０であり、ビデオプレーンとスチルプレーンの解像度は１９２０＊１０８０である。この場合、ＯＳＤ拡縮部５２２は、ＯＳＤバッファ５１９に展開されている文字図形描画を縦横２倍に拡大して出力することで、合成部５２３は、３つのプレーンの合成を行うことができる。このように、表示可能なビデオプレーン、スチルプレーン、ＯＳＤプレーンの解像度の組み合わせは、ビデオ拡縮部５２０、スチル拡縮部５２１、ＯＳＤ拡縮部５２２の動作を規定する拡大縮小情報を内包している。あるいは、表示可能なビデオプレーン、スチルプレーン、ＯＳＤプレーンの解像度の組み合わせと対応付けて、明示的に拡大縮小情報を２次記憶部５１０、1次記憶部５１１、ＲＯＭ５１２に等に記憶してもよい。ここで、拡大縮小情報は具体的に、ビデオ拡縮部５２０、スチル拡縮部５２１、ＯＳＤ拡縮部５２２各々に対して定義されていてもよいし、ビデオ拡縮部５２０、スチル拡縮部５２１、ＯＳＤ拡縮部５２２共通で合成部５２３に出力すべき解像度として規定されていでもよい。また、この共通の解像度を指定する共通解像度指定部を付加することにより、合成部５２３に出力するビデオ、ＯＳＤ，スチルの解像度を容易に変更できるようにしてもよい。ここで、共通解像度指定部はアプリケーションプログラムから解像度を指定されてもよいし、解像度選択判定部３１０５が解像度を指定されてもよい。
【０１４３】
また、解像度選択判断部３１０５は、ビデオ拡縮部５２０、スチル拡縮部５２１、ＯＳＤ拡縮部５２２に対して、拡大縮小の指示も行う。
図３５は、スチル解像度管理部３１０３に現在のスチルプレーンの解像度変更要求があった場合の解像度選択判断部３１０５のフローチャートである。スチル解像度管理部３１０３は解像度選択判断部３１０５にスチル解像度を渡し変更要求を行う（Ｓ３５０１）。解像度選択判断部３１０５は変更要求されたスチル解像度を１次記憶部５１１に記憶しておく（Ｓ３５０２）。変更要求されたスチル解像度に合わせて表示可能な組合せの選択を試みる（Ｓ３５０３）。結果として、要求したスチル解像度に変更できたか判断し（Ｓ３５０４）、変更できた場合、スチル解像度管理部３１０３にスチル解像度変更通知が行われる（Ｓ３５０５）。このスチル解像度変更に伴い、ビデオ解像度も変更されたかを判断し（Ｓ３５０６）、変更された場合、ビデオ解像度管理部３１０２にビデオ解像度変更通知が行われる（Ｓ３５０７）。このスチル解像度変更に伴い、ＯＳＤ解像度も変更されたかを判断し（Ｓ３５０８）、変更された場合、ＯＳＤ解像度管理部３１０１にＯＳＤ解像度変更通知が行われる（Ｓ３５０９）。
【０１４４】
図３６、図３７は、ビデオデコーダ５０８で受信したビデオフォーマットの解像度が以前デコードしていたビデオフォーマットの解像度と異なる場合の解像度選択判断部３１０５のフローチャートである。ビデオフォーマット解像度変更検知部３１０４は解像度選択判断部３１０５にビデオフォーマット解像度変更を通知する（Ｓ３６０１）。ビデオフォーマット解像度と１次記憶部５１１に記憶されている変更要求ＯＳＤ解像度及び変更要求スチル解像度に合わせて表示可能な組合せの選択を試みる（Ｓ３６０２）。その結果、表示可能な組合せが存在しない場合（Ｓ３６０３）、ビデオフォーマット解像度と１次記憶部５１１に記憶されている変更要求ＯＳＤ解像度に合わせて表示可能な組合せの選択を試みる（Ｓ３６０４）。その結果、表示可能な組合せが存在しない場合（Ｓ３６０５）、ビデオフォーマット解像度と合わせて表示可能な組合せの選択を試みる（Ｓ３６０６）。その結果、ＯＳＤ解像度が変更されたかを判断し（Ｓ３７０１）、変更された場合、ＯＳＤ解像度管理部３１０１にＯＳＤ解像度変更通知が行われる（Ｓ３７０２）。ビデオ解像度が変更されたかを判断し（Ｓ３７０３）、変更された場合、ビデオ解像度管理部３１０２にビデオ解像度変更通知が行われる（Ｓ３７０４）。スチル解像度が変更されたかを判断し（Ｓ３７０５）、変更された場合、スチル解像度管理部３１０３にスチル解像度変更通知が行われる（Ｓ３７０６）。
【０１４５】
例えば、アプリケーションプログラム３１００が番組やコンテンツの内容とは無関係に番組の内容やチャンネル名、広告等をＯＳＤプレーンを使用して、画面の片隅に表示するようなアプリケーションだとする。この場合、図３８のように表示画面３８００上ではビデオ表示エリア３８０２が大部分を占め、アプリケーションの表示であるＯＳＤ表示エリア３８０１が小さい。この時にビデオフォーマットが変更された場合は、解像度選択判断部３１０５はビデオフォーマットに合わせて、表示可能な組合せに変更するのが望ましい。ここで、ビデオプレーン及びＯＳＤプレーン共に７２０＊４８０の解像度で表示している時、ビデオの解像度が１９２０＊１０８０に変わったとする。この時、ＯＳＤプレーンの解像度を優先すると、ビデオ拡縮部５２０はビデオバッファ５１７に展開された１９２０＊１０８０のビデオ映像を７２０＊４８０に縮小することが必要となる。これは、明らかに画質が劣化する。本アプリケーションの目的は補足情報を表示することである。その補足情報表示のために主要情報であるビデオ映像を劣化させることは望ましくない。従って、アプリケーションプログラム３１００が、明示的に、ＯＳＤ解像度管理部３１０１に対してＯＳＤ解像度の変更要求を出さない、又は、スチル解像度管理部３１０２に対してスチル解像度の変更要求を出さなければ、ビデオフォーマット変更が優先されることになる。そして、アプリケーションプログラム３１００は、ＯＳＤプレーンの解像度が変更されたことを知り、ＯＳＤ解像度に適した文字図形描画を再描画する。これにより美しい画面表示が可能になる。
【０１４６】
一方、アプリケーションプログラム３１００がビデオ表示を小さく行い、アプリケーションの表示を全面で行っているようなアプリケーションだとする。具体的には、ＪＭＦ１２０５ａは、ビデオ映像の拡大縮小や表示位置を指定する機能を提供し、アプリケーションプログラム３１００は、これら機能を利用する。この場合、図３９のように表示画面３９００上ではアプリケーションの表示であるＯＳＤ表示エリア３９０１が大部分を占め、ビデオ表示エリア３９０２が小さい。ビデオ表示エリア３９０２は、ＪＭＦ１２０５ａが提供する機能によりサイズ及び表意位置が決定されている。この時にビデオフォーマットが変更された場合は、解像度選択判断部３１０５は現在表示しているＯＳＤ解像度に合わせて、表示可能な組合せに変更するのが望ましい。なぜならば、アプリケーションにおいては、既にビデオ映像は縮小表示されており、画質は明らかに劣化している。ビデオプレーンの解像度の変化に応じてＯＳＤプレーンの解像度を変化させても、ビデオ映像の画質の劣化は回避できない。一方、ＯＳＤプレーンの解像度を変化に伴ないアプリケーションプログラム３１００は、ＯＳＤ表示エリア３９０１を差描画する必要がある。大きな表示エリアに対する描画処理は一般に時間がかかる。また、ＯＳＤプレーンの解像度に応じた文字図形情報を複数用意する必要があり、多くのメモリーを必要とする。そして、煩雑な処理をアプリケーションプログラム３１００に実装しなければならない。従って、アプリケーションプログラム３１００が、明示的に、ＯＳＤ解像度管理部３１０１に対して希望のＯＳＤ解像度の変更要求を出せば、ＯＳＤ解像度が優先されることになる。この結果、アプリケーションプログラム３１００の複雑さや、余分な文字図形データの保持が表となる。また、ＯＳＤプレーンの解像度が優先されると、ビデオ拡縮部５２０は、ビデオバッファ５１７に展開されたビデオ映像を維持された解像度に合致するよう、拡大縮小することになる。
【０１４７】
（実施の形態２）
実施の形態１においては、アプリケーションプログラム３１００が、ＯＳＤ解像度管理部３１０１に対してＯＳＤ解像度の変更要求を出している状態で、ビデオフォーマットが変更された場合、ＯＳＤの解像度が優先されるため、アプリケーションプログラム３１００にはビデオフォーマットの解像度変更通知が行われない場合がある。
【０１４８】
よって、本実施の形態においては、図４０に示す映像解像度切替機能の構成図のように、ビデオフォーマット解像度変更検知部４００１は、ビデオフォーマット解像度変更検知部３１０４の機能に加え、ビデオデコーダ５０８で受信したビデオフォーマットの解像度が以前デコードしていたビデオフォーマットの解像度と異なる場合、アプリケーションプログラム３１００にも通知する機能も備える。解像度切替部１２０５ｆに含まれる他のＯＳＤ解像度管理部３１０１、ビデオ解像度管理部３１０２、スチル解像度管理部３１０３、解像度選択判断部３１０５の機能は実施の形態１と同じであるので、説明を省略する。
【０１４９】
これにより、アプリケーションプログラム３１００は、ビデオフォーマットの解像度変更を知ることができ、ビデオ解像度管理部３１０２に対して、通知されたビデオフォーマットの解像度で変更要求を出すことでビデオをビデオフォーマットの解像度で表示させることが可能となる。
【０１５０】
（実施の形態３）
実施の形態２においては、アプリケーションプログラム３１００が、解像度切替部１２０５ｆに対して、アプリケーション自身の表示が最適に表示できるＯＳＤ解像度を、ある時点において１つしか指定できない。
【０１５１】
よって、本実施の形態においては、図４１に示す映像解像度切替機能の構成図のように、アプリケーションプログラム３１００が、アプリケーション自身の表示が最適に表示できるＯＳＤ解像度を、予め登録可能な最適解像度管理部４１０６を含む構成とする。
【０１５２】
解像度切替部１２０５ｆは、ＯＳＤ解像度管理部４１０１、ビデオ解像度管理部４１０２、スチル解像度管理部４１０３、ビデオフォーマット解像度変更検知部４１０４、解像度選択判断部４１０５、最適解像度管理部４１０６を含み、映像解像度切替機能を担う。ＯＳＤ解像度管理部４１０１は、ＯＳＤプレーンの解像度を管理する。ＯＳＤ解像度管理部４１０１は、アプリケーションプログラム３１００から現在のＯＳＤプレーンの解像度の変更要求を受け付ける機能と、アプリケーションプログラム３１００にＯＳＤプレーンの解像度が変更されたことを通知する機能を有する。ＯＳＤプレーンの解像度の変更要求を受け付けた場合、解像度選択判断部４１０５に通知する。
【０１５３】
ビデオ解像度管理部４１０２は、ビデオプレーンの解像度を管理する。ビデオ解像度管理部４１０２は、アプリケーションプログラム３１００から現在のビデオプレーンの解像度の変更要求を受け付ける機能と、アプリケーションプログラム３１００にビデオプレーンの解像度が変更されたことを通知する機能を有する。ビデオプレーンの解像度の変更要求を受け付けた場合、解像度選択判断部４１０５に通知する。
【０１５４】
スチル解像度管理部４１０３は、スチルプレーンの解像度を管理する。スチル解像度管理部４１０３は、アプリケーションプログラム３１００から現在のスチルプレーンの解像度の変更要求を受け付ける機能と、アプリケーションプログラム３１００にスチルプレーンの解像度が変更されたことを通知する機能を有する。スチルプレーンの解像度の変更要求を受け付けた場合、解像度選択判断部４１０５に通知する。
【０１５５】
ビデオフォーマット解像度変更検知部４１０４は、ビデオデコーダ５０８で受信したビデオフォーマットの解像度が以前デコードしていたビデオフォーマットの解像度と異なる場合、解像度選択判断部４１０５及びアプリケーションプログラム３１００通知にする。
【０１５６】
最適解像度管理部４１０６は、アプリケーションプログラム３１００がアプリケーション自身の表示が最適に表示できるＯＳＤ解像度を登録及び削除する機能を有する。尚、アプリケーションプログラム３１００が登録するＯＳＤ解像度は複数登録可能とする。
【０１５７】
図４２は、アプリケーションプログラム３１００が、最適ＯＳＤ解像度を登録する場合の最適解像度管理部４１０６のフローチャートである。アプリケーションプログラム３１００は、登録する最適ＯＳＤ解像度を最適解像度管理部４１０６に登録要求する（Ｓ４２０１）。最適解像度管理部４１０６は登録要求された最適ＯＳＤ解像度を１次記憶部５１１に記憶する（Ｓ４２０２）。
【０１５８】
図４３は、アプリケーションプログラム３１００が、最適ＯＳＤ解像度を削除する場合の最適解像度管理部４１０６のフローチャートである。アプリケーションプログラム３１００は、削除する最適ＯＳＤ解像度を最適解像度管理部４１０６に削除要求する（Ｓ４３０１）。最適解像度管理部４１０６は削除要求された最適ＯＳＤ解像度を１次記憶部５１１から削除する（Ｓ４３０２）。
【０１５９】
解像度選択判断部４１０５は、ＯＳＤ解像度管理部４１０１に現在のＯＳＤプレーンの解像度変更要求があった場合と、ビデオ解像度管理部４１０２に現在のビデオプレーンの解像度変更要求があった場合と、スチル解像度管理部４１０３に現在のスチルプレーンの解像度変更要求があった場合と、ビデオフォーマット解像度変更検知部４１０４からビデオフォーマットの解像度の変更通知があった場合に、テレビ受信端末の各プレーン間の表示可能な組合せを考慮して、各プレーンの解像度を選択する。
【０１６０】
図４４は、ＯＳＤ解像度管理部４１０１に現在のＯＳＤプレーンの解像度変更要求があった場合の解像度選択判断部４１０５のフローチャートである。ＯＳＤ解像度管理部４１０１は解像度選択判断部４１０５にＯＳＤ解像度を渡し変更要求を行う（Ｓ４４０１）。変更要求されたＯＳＤ解像度に合わせて表示可能な組合せの選択を試みる（Ｓ４４０２）。結果として、要求したＯＳＤ解像度に変更できたか判断し（Ｓ４４０３）、変更できた場合、ＯＳＤ解像度管理部４１０１にＯＳＤ解像度変更通知が行われる（Ｓ４４０４）。このＯＳＤ解像度変更に伴い、ビデオ解像度も変更されたかを判断し（Ｓ４４０５）、変更された場合、ビデオ解像度管理部４１０２にビデオ解像度変更通知が行われる（Ｓ４４０６）。このＯＳＤ解像度変更に伴い、スチル解像度も変更されたかを判断し（Ｓ４４０７）、変更された場合、スチル解像度管理部４１０３にスチル解像度変更通知が行われる（Ｓ４４０８）。
【０１６１】
図４５は、ビデオ解像度管理部４１０２に現在のビデオプレーンの解像度変更要求があった場合の解像度選択判断部４１０５のフローチャートである。ビデオ解像度管理部４１０２は解像度選択判断部４１０５にビデオ解像度を渡し変更要求を行う（Ｓ４５０１）。変更要求されたビデオ解像度に合わせて表示可能な組合せの選択を試みる（Ｓ４５０２）。結果として、要求したビデオ解像度に変更できたか判断し（Ｓ４５０３）、変更できた場合、ビデオ解像度管理部４１０２にビデオ解像度変更通知が行われる（Ｓ４５０４）。このビデオ解像度変更に伴い、ＯＳＤ解像度も変更されたかを判断し（Ｓ４５０５）、変更された場合、ＯＳＤ解像度管理部４１０１にＯＳＤ解像度変更通知が行われる（Ｓ４５０６）。このビデオ解像度変更に伴い、スチル解像度も変更されたかを判断し（Ｓ４５０７）、変更された場合、スチル解像度管理部４１０３にスチル解像度変更通知が行われる（Ｓ４５０８）。
【０１６２】
図４６は、スチル解像度管理部４１０３に現在のスチルプレーンの解像度変更要求があった場合の解像度選択判断部４１０５のフローチャートである。スチル解像度管理部４１０３は解像度選択判断部４１０５にスチル解像度を渡し変更要求を行う（Ｓ４６０１）。変更要求されたスチル解像度に合わせて表示可能な組合せの選択を試みる（Ｓ４６０２）。結果として、要求したスチル解像度に変更できたか判断し（Ｓ４６０３）、変更できた場合、スチル解像度管理部４１０３にスチル解像度変更通知が行われる（Ｓ４６０４）。このスチル解像度変更に伴い、ビデオ解像度も変更されたかを判断し（Ｓ４６０５）、変更された場合、ビデオ解像度管理部４１０２にビデオ解像度変更通知が行われる（Ｓ４６０６）。このスチル解像度変更に伴い、ＯＳＤ解像度も変更されたかを判断し（Ｓ４６０７）、変更された場合、ＯＳＤ解像度管理部４１０１にＯＳＤ解像度変更通知が行われる（Ｓ４６０８）。
【０１６３】
図４７、図４８は、ビデオデコーダ５０８で受信したビデオフォーマットの解像度が以前デコードしていたビデオフォーマットの解像度と異なる場合の解像度選択判断部４１０５のフローチャートである。ビデオフォーマット解像度変更検知部４１０４は解像度選択判断部４１０５にビデオフォーマット解像度変更を通知する（Ｓ４７０１）。１次記憶部５１１に記憶されている最適ＯＳＤ解像度を順に取得する（Ｓ４７０２）。最適ＯＳＤ解像度が取得できたか判断する（Ｓ４７０３）。Ｓ４７０３にて取得できた場合には、ビデオフォーマット解像度と取得した最適ＯＳＤ解像度に合わせて表示可能な組合せの選択を試みる（Ｓ４７０４）。その結果、表示可能な組合せが存在するか判断する（Ｓ４７０５）。Ｓ４７０５にて存在する場合は、Ｓ４８０１に行く。Ｓ４７０５にて存在しない場合は、Ｓ４７０２に戻る。Ｓ４７０３にて、最適ＯＳＤ解像度が取得できない、すなわち順に最適ＯＳＤ解像度の取得することが終了した場合、ビデオフォーマット解像度と合わせて表示可能な組合せの選択を試みる（Ｓ４７０６）。Ｓ４７０４又はＳ４７０６の結果として、ＯＳＤ解像度が変更されたかを判断し（Ｓ４８０１）、変更された場合、ＯＳＤ解像度管理部４１０１にＯＳＤ解像度変更通知が行われる（Ｓ４８０２）。ビデオ解像度が変更されたかを判断し（Ｓ４８０３）、変更された場合、ビデオ解像度管理部４１０２にビデオ解像度変更通知が行われる（Ｓ４８０４）。スチル解像度が変更されたかを判断し（Ｓ４８０５）、変更された場合、スチル解像度管理部４１０３にスチル解像度変更通知が行われる（Ｓ４８０６）。
【０１６４】
これにより、アプリケーションプログラム３１００は、解像度切替部１２０５ｆに対して、アプリケーション自身の表示が最適に表示できるＯＳＤ解像度を、複数登録することが可能となる。アプリケーションプログラム３１００が、複数の解像度に対応可能である場合、ビデオフォーマット解像度の変更に合わせて、より多くの機会で、ビデオの表示とアプリケーションの表示に関して歪まず表示させることが可能となる。
【０１６５】
（実施の形態４）
実施の形態３においては、アプリケーションプログラム３１００のようなアプリケーションが複数存在して表示されている場合に、どのアプリケーションプラグラムが登録した最適ＯＳＤ解像度に合わせて表示可能な組合せを判断するか不確定になる場合がある。
【０１６６】
よって、本実施の形態においては、図４９に示すように、最適解像度管理部４１０６において、アプリケーションプログラムを識別するＪａｖａプログラム識別子４９００と最適ＯＳＤ解像度の組（４９０１、４９０２、４９０３等）で登録するものとし、解像度選択判断部４１０５において、登録されているＪａｖａプログラム識別子と最適ＯＳＤ解像度の組（４９０１、４９０２、４９０３等）のＪａｖａプログラム識別子４９００より、図２０に示される優先度２００５を取得し、表示可能な組合せの判断時に優先度２００５を利用して判断するものとする。解像度切替部１２０５ｆに含まれる他のＯＳＤ解像度管理部４１０１、ビデオ解像度管理部４１０２、スチル解像度管理部４１０３、ビデオフォーマット解像度変更検知部４１０４の機能は変わらないものとする。
【０１６７】
以下に、機能が変わる最適解像度管理部４１０６と解像度選択判断部４１０５の処理について説明する。
図５０は、アプリケーションプログラム３１００が、最適ＯＳＤ解像度を登録する場合の最適解像度管理部４１０６のフローチャートである。アプリケーションプログラム３１００は、登録する最適ＯＳＤ解像度を最適解像度管理部４１０６に登録要求する（Ｓ５００１）。最適解像度管理部４１０６は登録要求したアプリケーションプログラムのＪａｖａプログラム識別子を取得する（Ｓ５００２）。最適解像度管理部４１０６は、取得したＪａｖａプログラム識別子と登録要求された最適ＯＳＤ解像度の組を１次記憶部５１１に記憶する（Ｓ５００３）。
【０１６８】
図５１は、アプリケーションプログラム３１００が、最適ＯＳＤ解像度を削除する場合の最適解像度管理部４１０６のフローチャートである。アプリケーションプログラム３１００は、削除する最適ＯＳＤ解像度を最適解像度管理部４１０６に登録要求する（Ｓ５１０１）。最適解像度管理部４１０６は削除要求したアプリケーションプログラムのＪａｖａプログラム識別子を取得する（Ｓ５１０２）。最適解像度管理部４１０６は、取得したＪａｖａプログラム識別子と削除要求された最適ＯＳＤ解像度の組を１次記憶部５１１から削除する（Ｓ５１０３）。
【０１６９】
図５２、図５３、図５４は、ビデオデコーダ５０８で受信したビデオフォーマットの解像度が以前デコードしていたビデオフォーマットの解像度と異なる場合の解像度選択判断部４１０５のフローチャートである。ビデオフォーマット解像度変更検知部４１０４は解像度選択判断部４１０５にビデオフォーマット解像度変更を通知する（Ｓ５２０１）。１次記憶部５１１に記憶されているＪａｖａプログラム識別子と最適ＯＳＤ解像度の組を順に取得する（Ｓ５２０２）。Ｊａｖａプログラム識別子と最適ＯＳＤ解像度の組が取得できたか判断する（Ｓ５２０３）。Ｓ５２０３にて取得できた場合、ビデオフォーマット解像度と取得した組の最適ＯＳＤ解像度に合わせて表示可能な組合せの選択を試みる（Ｓ５２０４）。Ｓ５２０４の結果、表示可能な組合せが存在するか判断する（Ｓ５２０５）。Ｓ５２０５にて存在した場合は、表示可能な組合せとＪａｖａプログラム識別子の組を全て、維持記憶部５１１に記憶し（Ｓ５２０６）、Ｓ５２０２に戻る。Ｓ５２０５にて存在しない場合は、Ｓ５２０２に戻る。Ｓ５２０３にて、Ｊａｖａプログラム識別子と最適ＯＳＤ解像度の組が取得できない、すなわち順に最適ＯＳＤ解像度の取得することが終了した場合、Ｓ５２０６にて記憶したＪａｖａプログラム識別子と最適ＯＳＤ解像度の組が存在するか判断する（Ｓ５３０１）。Ｓ５３０１にて記憶した組が存在する場合、１次記憶部５１１から表示可能な組合せとＪａｖａプログラムの識別子の組を順に取得し（Ｓ５３０２）、２次記憶部５１０からそれぞれの組のＪａｖａプログラムの識別子に対応する優先度を取得し比較することにより、一番優先度の高い表示可能な組合せを抽出する（Ｓ５３０３）。Ｓ５３０１にて記憶した組が存在しない場合、ビデオフォーマット解像度と合わせて表示可能な組合せの選択を試みる（Ｓ５３０４）。Ｓ５３０３又はＳ５３０４の結果として、ＯＳＤ解像度が変更されたかを判断し（Ｓ５４０１）、変更された場合、ＯＳＤ解像度管理部４１０１にＯＳＤ解像度変更通知が行われる（Ｓ５４０２）。ビデオ解像度が変更されたかを判断し（Ｓ５４０３）、変更された場合、ビデオ解像度管理部４１０２にビデオ解像度変更通知が行われる（Ｓ５４０４）。スチル解像度が変更されたかを判断し（Ｓ５４０５）、変更された場合、スチル解像度管理部４１０３にスチル解像度変更通知が行われる（Ｓ５４０６）。
【０１７０】
これにより、アプリケーションプログラムが複数存在して表示されている場合にも、それぞれのアプリケーションプログラムが登録した最適ＯＳＤ解像度全てを考慮して表示可能な組合せの映像解像度を判断することが可能となる。
【０１７１】
（実施の形態５）
実施の形態２において、解像度選択判断部３１０５の動作を図５５及び図３７とすることが実施可能である。ビデオフォーマット解像度変更検知部４００１は解像度選択判断部３１０５にビデオフォーマット解像度変更を通知する（Ｓ３６０１）。ビデオフォーマット解像度と現状のＯＳＤ解像度及びスチル解像度に合わせて表示可能な組合せの選択を試みる（Ｓ５５０２）。その結果、表示可能な組合せが存在しない場合（Ｓ３６０３）、現状のＯＳＤプレーンの解像度が維持できる表示可能な組合せの選択を試みる（Ｓ５５０４）。その結果、表示可能な組合せが存在しない場合（Ｓ３６０５）、ビデオフォーマット解像度に合わせて表示可能な組合せの選択を試みる（Ｓ３６０６）。その結果、ＯＳＤ解像度が変更されたかを判断し（Ｓ３７０１）、変更された場合、ＯＳＤ解像度管理部３１０１にＯＳＤ解像度変更通知が行われる（Ｓ３７０２）。ビデオ解像度が変更されたかを判断し（Ｓ３７０３）、変更された場合、ビデオ解像度管理部３１０２にビデオ解像度変更通知が行われる（Ｓ３７０４）。スチル解像度が変更されたかを判断し（Ｓ３７０５）、変更された場合、スチル解像度管理部３１０３にスチル解像度変更通知が行われる（Ｓ３７０６）。
【０１７２】
この動作とすることにより、ＯＳＤプレーンの解像度が優先的に維持される。実施の形態1における、図３９で示されるような、ＯＳＤプレーンの解像度を一手に保ちたいアプリケーションの実装が容易になる。実施の形態1では、この主のアプリケーションは、明示的に、ＯＳＤ解像度管理部３１０１に対して希望のＯＳＤ解像度の変更要求を出す必要があった。しかし、本実施の形態では、その必要は無い。一方、本実施の形態において、図３８に示されるようなビデオプレーンの解像度を優先したいアプリケーションにおいては、解像度選択判断部３１０５から、ビデオデコーダ５０８が展開したビデオ映像のフォーマットが変更されたことを通知された際、そのフォーマットに合わせて、ＯＳＤ解像度管理部３１０１にＯＳＤプレーンの解像度の変更要求を出すことによって、ビデオプレーンの解像度を優先することができる。
【０１７３】
なお、本実施の形態においては、ＯＳＤプレーンの解像度を優先することとしているが、図５５のフローチャートにおいて、ステップＳ５５０４を「変更通知されたビデオフォーマット解像度を維持できる、表示可能な組み合わせの選択を試みる」としてもよい。これにより、アプリケーションがＯＳＤプレーンの解像度の指定を行っても、ビデオプレーンの解像度が優先され、図３８に示されるようなビデオプレーンの解像度を優先したいアプリケーションの実装が容易になる。
【０１７４】
また、本実施の形態においては、ＯＳＤプレーンの解像度を優先することとしているが、図５５のフローチャートにおいて、ステップＳ５５０４を「現状のスチル解像度を維持できる、表示可能な組み合わせの選択を試みる」としてもよい。これにより、アプリケーションがＯＳＤプレーンの解像度の指定を行っても、スチルプレーンの解像度が優先され、スチルプレーンの解像度を優先したいアプリケーションの実装が容易になる。
【０１７５】
また、本実施の形態において、優先すべきプレーンの指定を受け付ける優先プレーン受付部を付加することも実施可能である。アプリケーションプログラム３１００は、優先したいプレーンを優先プレーン受付部に指定する。このとき、優先プレーン受付部は、受け付けたプレーンを1次記憶部５１１に記憶する。解像度選択判断部３１０５は、図５５のフローチャートのステップＳ５５０４を「1次記憶部５１１が保持するプレーンの解像度を維持できる、表示可能な組み合わせの選択を試みる」とする。
【０１７６】
この結果、アプリケーションは解像度を維持したいプレーンを指定することができ、実装が容易になる。
更に、優先プレーン受付部は第１優先プレーン、第２優先プレーンを受け付けることも実施可能である。アプリケーションプログラム３１００は、第1優先プレーン及び第２優先プレーンを優先プレーン受付部に指定する。このとき、優先プレーン受付部は、受け付けた第1優先プレーン及び第２優先プレーンを1次記憶部５１１に記憶する。解像度選択判断部３１０５は、図５５のフローチャートのステップＳ５５０４を「1次記憶部５１１が保持する第1優先プレーン及び第２優先プレーンの解像度を維持できる、表示可能な組み合わせの選択を試みる。両立しない場合は、第1優先プレーンの解像度を維持できる、表示可能な組み合わせの選択を試みる。」とする。
【０１７７】
（実施の形態６）
実施の形態１において、図３８、図３９に示される２つのアプリケーションが同時に実行されている場合、どちらのアプリケーションを優先するかを決める必要がある。本実施の形態においては、第1の実施の形態において、解像度切替部１２０５ｆの構成を図５６とする。図３１と同じ番号の構成要素は同じ働きを行うため、説明を書略する。変更許可部５６０１は、アプリケーションプログラム３１００の変更要求の許可を行う。アプリケーションプログラム３１００は、ＯＳＤ解像度管理部５６０２、ビデオ解像度管理部５６０３、スチル解像度管理部５６０４に解像度の変更要求を行う前に、変更許可部５６０１に変更許可を得る。許可を得た後、必要な変更要求を行い、変更要求が必要なくなれば、変更許可部５６０１に許可が不要になったことを通知する。変更許可部５６０１は、既に許可を発行後に他のアプリケーションが許可を求めてきた際、２つのアプリケーションの優先度を比較して、どちらに許可を与えるか決定する、アプリケーションの優先度は、実施の形態1における図２０の例のようにアプリヶ―ションに予め割り当てられた優先度を変更許可部５６０１が参照してもよいし、アプリケーションプログラム３１００が変更許可部５６０１に明示的に与えても良い。ＯＳＤ解像度管理部５６０２、ビデオ解像度管理部５６０３、スチル解像度管理部５６０４は、ＯＳＤ解像度管理部３１０１、ビデオ解像度管理部３１０２、スチル解像度管理部３１０３の機能に加え、変更許可部５６０１に許可を得ていないアプリケーションプログラム３１００からの要求を受け付けない。  本実施の形態を実現することにより、複数のアプリケーションの要求を受け付けるかを明確にすることができるため、複数のアプリケーションの同時実行が可能になる。
【０１７８】
（実施の形態７）
本発明に係るケーブルテレビシステムの実施の形態を、図面を参照しながら説明する。図１は、ケーブルシステムを構成する装置の関係を表したブロック図であり、ヘッドエンド１０１及び３個の端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３で構成される。本実施の形態では、１つのヘッドエンドに対して３つの端末装置が結合されているが、任意の数の端末装置をヘッドエンドに結合しても、本発明は実施可能である。
【０１７９】
ヘッドエンド１０１は、複数の端末装置に対して映像・音声・データ等の放送信号を送信するとともに、端末装置からのデータ送信を受信する。これを実現するため、ヘッドエンド１０１と端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３間の伝送に用いられる周波数帯域は、分割して用いられる。図２は、周波数帯域の分割の一例を示す表である。周波数帯域は、Ｏｕｔ  Ｏｆ  Ｂａｎｄ（略称ＯＯＢ）とＩｎ−Ｂａｎｄの２種類に大別される。５〜１３０ＭＨｚがＯＯＢに割り当てられ、主にヘッドエンド１０１と端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３間のデータのやり取りに使用される。１３０ＭＨｚ〜８６４ＭＨｚはＩｎ−Ｂａｎｄに割り当てられ、主として、映像・音声を含む放送チャンネルに使用される。ＯＯＢではＱＰＳＫ変調方式が、Ｉｎ−ＢａｎｄはＱＡＭ６４変調方式が使用される。変調方式技術については、本発明に関与が薄い公知技術であるので、詳細な説明は省略する。図３は、ＯＯＢ周波数帯域の更に詳細な使用の一例である。７０ＭＨｚ〜７４ＭＨｚはヘッドエンド１０１からのデータ送信に使用され、全ての端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３が、ヘッドエンド１０１から同じデータを受け取ることになる。一方、１０．０ＭＨｚ〜１０．１ＭＨｚは端末装置Ａ１１１からヘッドエンド１０１へのデータ送信に使用され、１０．１ＭＨｚ〜１０．２ＭＨｚは端末装置Ｂ１１２からヘッドエンド１０１へのデータ送信に使用され、１０．２ＭＨｚ〜１０．３ＭＨｚは端末装置Ｃ１１３からヘッドエンド１０１へのデータ送信に使用される。これにより、各端末装置固有のデータを各端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３からヘッドエンド１０１に送信することができる。図４は、Ｉｎ−Ｂａｎｄの周波数帯に対する使用の一例である。１５０〜１５６ＭＨｚと１５６〜１６２ＭＨｚはそれぞれテレビチャンネル１とテレビチャンネル２に割り当てられ、以降、６ＭＨｚ間隔でテレビチャンネルが割り当てられている。３１０ＭＨｚ以降は、１ＭＨｚ単位でラジオチャンネルに割り当てられている。これらの各チャンネルはアナログ放送として使用してもデジタル放送として使用してもよい。デジタル放送の場合は、ＭＰＥＧ２仕様に基づいたトラスポートパケット形式で伝送され、音声や映像に加え、各種データ放送用データも送信することができる。
【０１８０】
ヘッドエンド１０１は、これらの周波数帯域に適切な放送信号を送信するため、ＱＰＳＫ変調部やＱＡＭ変調部等を有する。また、端末装置からのデータを受信するため、ＱＰＳＫ復調器を有する。また、ヘッドエンド１０１は、これら変調部及び復調部に関連する様々な機器を有すると考えられる。しかし、本発明は主として端末装置に関わるので、詳細な説明は省略する。
【０１８１】
端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３は、ヘッドエンド１０１からの放送信号を受信し再生する。また、ヘッドエンド１０１に対して、各端末装置固有のデータを送信する。３つの、端末装置は本実施の形態では同じ構成を取る。
【０１８２】
図５は、端末装置のハードウエア構成を表すブロック図である。５００は端末装置であり、ＱＡＭ復調部５０１、ＱＰＳＫ復調部５０２、ＱＰＳＫ変調部５０３、ＴＳデコーダ５０５、オーディオデコーダ５０６、スピーカ５０７、ビデオデコーダ５０８、ディスプレイ５０９、２次記憶部５１０、１次記憶部５１１、ＲＯＭ５１２、入力部５１３、ＣＰＵ５１４、スチルデコーダ５１５、ＯＳＤ制御部５１６、ビデオバッファ５１７、スチルバッファ５１８、ＯＳＤバッファ５１９、ビデオ拡縮部５２０、スチル拡縮部５２１、ＯＳＤ拡縮部５２２、合成部５２３で構成される。また端末装置５００には、ＰＯＤ５０４が着脱できる。
【０１８３】
図６は、端末装置５００の外観の一例である薄型テレビである。
６０１は、薄型テレビの筐体であり、ＰＯＤ５０４を除く、端末装置５００の構成要素をすべてを内蔵している。
【０１８４】
６０２はディスプレイであり、図５におけるディスプレイ５０９に相当する。
６０３は複数のボタンで構成されるフロントパネル部であり、図５の入力部５１３に相当する。
【０１８５】
６０４は信号入力端子であり、ヘッドエンド１０１との信号の送受信を行うためにケーブル線を接続する。信号入力端子は、図５のＱＡＭ復調部５０１、ＱＰＳＫ復調部５０２、ＱＰＳＫ変調部５０３と接続されている。
【０１８６】
６０５は、図５のＰＯＤ５０４に相当するＰＯＤカードである。ＰＯＤ５０４は、図６のＰＯＤカード６０５のように、端末装置５００とは独立した形態を取り、端末装置５００に着脱可能となっている。ＰＯＤ５０４の詳細は後述する。
【０１８７】
６０６はＰＯＤカード６０５を挿入する挿入スロットである。
図５を参照して、ＱＡＭ復調部５０１は、ＣＰＵ５１４から指定された周波数を含むチューニング情報で、ヘッドエンド１０１でＱＡＭ変調され送信されてきた信号を復調し、ＰＯＤ５０４に引き渡す。
【０１８８】
ＱＰＳＫ復調部５０２は、ＣＰＵ５１４から指定された周波数を含むチューニング情報で、ヘッドエンド１０１でＱＰＳＫ変調され送信されてきた信号を復調し、ＰＯＤ５０４に引き渡す。
【０１８９】
ＱＰＳＫ変調部５０３は、ＣＰＵ５１４から指定された周波数を含む変調情報で、ＰＯＤ５０４から渡された信号をＱＰＳＫ変調し、ヘッドエンド１０１に送信する。
ＰＯＤ５０４は、図６のように端末装置本体５００から着脱可能な形態をしている。端末本体５００とＰＯＤ５０４の接続インターフェースは、ＯｐｅｎＣａｂｌｅ（ＴＭ）  ＨＯＳＴ−ＰＯＤ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＯＣ−ＳＰ−ＨＯＳＴＰＯＤ−ＩＦ−Ｉ１２−０３０２１０）及び、この仕様書から参照されている仕様書で定義されている。ここでは、詳細は省略し、本発明に関する部分のみを解説する。
【０１９０】
図７は、ＰＯＤ５０４の内部構成を表すブロック図である。ＰＯＤ５０４は、第１デスクランブラ部７０１、第２デスクランブラ部７０２、スクランブラ部７０３、第１記憶部７０４、第２記憶部７０５、ＣＰＵ７０６で構成される。
【０１９１】
第１デスクランブラ部７０１は、ＣＰＵ７０６からの指示により、端末装置５００のＱＡＭ復調部５０１から暗号化された信号を受け取り、復号を行う。そして、復号された信号を端末装置５００のＴＳデコーダ５０５に送る。デコードに必要な鍵などの情報はＣＰＵ７０６から適宜与えられる。具体的には、ヘッドエンド１０１はいくつかの有料チャンネルを放送している。ユーザーが、この有料チャンネルを購買すると、第１デスクランブラ部７０１は、ＣＰＵ７０６から鍵等の必要な情報を受け取りデスクランブルすることで、ユーザーは有料チャンネルを閲覧することができる。鍵などの必要な情報が与えられない場合は、第１デスクランブラ部７０１は、デスクランブルを行わず、受け取った信号をそのまま、ＴＳデコーダ５０５に送る。
【０１９２】
第２デスクランブラ部７０２は、ＣＰＵ７０６からの指示により、端末装置５００のＱＰＳＫ復調部５０２から暗号化された信号を受け取り、復号を行う。そして、復号されたデータをＣＰＵ７０６に引き渡す。
【０１９３】
スクランブラ部７０３は、ＣＰＵ７０６からの指示により、ＣＰＵ７０６から受け取ったデータを暗号化し、端末装置５００のＱＰＳＫ変調部５０３に送る。
第１記憶部７０４は、具体的にはＲＡＭ等の一次記憶メモリーで構成され、ＣＰＵ７０６が処理を行う際、一時的にデータを保存するために使用される。
【０１９４】
第２記憶部７０５は、具体的にはフラッシュＲＯＭ等の２次記憶メモリーで構成され、ＣＰＵ７０６が実行するプログラムを格納し、また、電源ＯＦＦになっても消去されては困るデータの保存に使用される。
【０１９５】
ＣＰＵ７０６は、第２記憶部７０５が記憶するプログラムを実行する。プログラムは複数のサブプログラムで構成される。図８は、第２記憶部７０５が記憶するプログラムの一例である。図８では、プログラム８００は、メインプログラム８０１、初期化サブプログラム８０２、ネットワークサブプログラム８０３、再生サブプログラム８０４、ＰＰＶサブプログラム８０５等複数のサブプログラムで構成されている。
【０１９６】
ここでＰＰＶとはＰａｙ  Ｐｅｒ  Ｖｉｅｗの略であり、映画など特定の番組を有料で視聴できるようにするサービスである。ユーザーが暗証番号を入力すると、購入したことがヘッドエンド１０１に通知され、スクランブルが解除され、視聴することが出来る。この視聴により、ユーザーは後日、購入代金を支払うものである。
【０１９７】
メインプログラム８０１は、ＣＰＵ７０６が電源投入時に最初に起動するサブプログラムであり、他のサブプログラムの制御を行う。
初期化サブプログラム８０２は、電源投入時にメインプログラム８０１によって起動され、端末装置５００との情報交換等を行い、初期化処理を行う。初期化処理の詳細は、ＯｐｅｎＣａｂｌｅ（ＴＭ）  ＨＯＳＴ−ＰＯＤ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＯＣ−ＳＰ−ＨＯＳＴＰＯＤ−ＩＦ−Ｉ１２−０３０２１０）及び、この仕様書から参照されている仕様書で定義されている。また、仕様書に定義されていない初期化処理も行う。ここでは、その一部を紹介する。電源が投入されると、初期化サブプログラム８０２は、第２記憶部７０５が記憶する第１の周波数を端末装置５００のＣＰＵ５１４を通して、ＱＰＳＫ復調部５０２に通知する。ＱＰＳＫ復調部５０２は、与えられた第１の周波数でチューニングを行い、信号を第２デスクランブラ部７０２に送る。また、初期化サブプログラム８０２は、第２記憶部７０５が記憶する第１の鍵等の復号情報を第２デスクランブラ部７０２に与える。その結果、第２デスクランブラ部７０２は、デスクランブルを行い、初期化サブプログラム８０２を実行するＣＰＵ７０６に引き渡す。よって、初期化サブプログラム８０２は情報を受け取ることができる。本実施の形態では、初期化サブプログラム８０２はネットワークサブプログラム８０３を通して情報を受け取ることとする。詳細は後述する。
【０１９８】
また、初期化サブプログラム８０２は、第２記憶部７０５が記憶する第２の周波数を端末装置５００のＣＰＵ５１４を通して、ＱＰＳＫ変調部５０３に通知する。初期化サブプログラム８０２は第２記憶部７０５が記憶する暗号化情報をスクランブラ部７０３に与える。初期化サブプログラム８０２が送信したい情報を、ネットワークサブプログラム８０３を介して、スクランブラ部７０３に与えると、スクランブラ部７０３は、与えられた暗号化情報を用いて、データを暗号化し、端末装置５００のＱＰＳＫ変調部５０３に与える。ＱＰＳＫ変調部５０３は、与えられた暗号化された情報を変調し、ヘッドエンド１０１に送信する。
【０１９９】
この結果、初期化サブプログラム８０２は、端末装置５００、第２デスクランブラ部７０２、スクランブラ部７０３、ネットワークサブプログラム８０３を通して、ヘッドエンド１０１と双方向通信を行うことができる。
【０２００】
ネットワークサブプログラム８０３は、メインプログラム８０１、初期化サブプログラム８０２等の複数のサブプログラムから使用される、ヘッドエンド１０１との双方向通信を行うためのサブプログラムである。具体的には、ネットワークサブプログラム８０３を使用する他のサブプログラムに対して、ＴＣＰ／ＩＰによって、ヘッドエンド１０１と双方向通信を行っているように振舞う。ＴＣＰ／ＩＰは、複数の装置間で情報交換を行うためのプロトコルを規定した公知の技術であり、詳細な説明は省略する。ネットワークサブプログラム８０３は、電源投入時に初期化サブプログラム８０２に起動されると、予め第２記憶部７０５が記憶しているＰＯＤ５０４を識別する識別子であるＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌアドレスの略）を、端末装置５００を通してヘッドエンド１０１に通知し、ＩＰアドレスの取得を要求する。ヘッドエンド１０１は、端末装置５００を介してＰＯＤ５０４にＩＰアドレスを通知し、ネットワークサブプログラム８０３は、ＩＰアドレスを第１記憶部７０４に記憶する。以降、ヘッドエンド１０１とＰＯＤ５０４は、このＩＰアドレスを、ＰＯＤ５０４の識別子として使用し、通信を行う。
【０２０１】
再生サブプログラム８０４は、第２記憶部７０５が記憶する第２の鍵等の復号情報や、端末装置５００から与えられる第３の鍵等の復号情報を第１デスクランブラ部７０１に与えて、デスクランブルを可能にする。また、ネットワークサブプログラム８０３を通して、第１デスクランブラ部７０１に入力されている信号が、ＰＰＶチャンネルであることの情報を受け取る。ＰＰＶチャンネルと知ったときは、ＰＰＶサブプログラム８０５を起動する。
【０２０２】
ＰＰＶサブプログラム８０５は、起動されると、端末装置５００に番組の購入を促すメッセージを表示し、ユーザーの入力を受け取る。具体的には、端末装置５００のＣＰＵ５１４に画面に表示したい情報を送ると、端末装置５００のＣＰＵ５１４上で動作するプログラムが、端末装置５００のディスプレイ５０９上にメッセージを表示する。ユーザーは、端末装置５００の入力部５１３を通して暗証番号を入力すると、端末装置５００のＣＰＵ５１４が、それを受け取り、ＰＯＤ５０４のＣＰＵ７０６上で動作するＰＰＶサブプログラム８０５に通知する。ＰＰＶサブプログラム８０５は、受け取った暗証番号をネットワークサブプログラム８０３を通してヘッドエンド１０１に送信する。ヘッドエンド１０１は、暗証番号が正しければ、復号に必要な第４の鍵などの復号化情報をネットワークサブプログラム８０３を介して、ＰＰＶサブプログラム８０５に通知する。ＰＰＶサブプログラム８０５は受け取った第４の鍵などの復号化情報を第１デスクランブラ部７０１に与え、第１デスクランブラ部７０１は、入力されている信号をデスクランブルする。
【０２０３】
図５を参照して、ＴＳデコーダ５０５は、ＰＯＤ５０４から受け取った信号のフィルタリングを実施し、必要なデータをオーディオデコーダ５０６及びビデオデコーダ５０８、ＣＰＵ５１４に引き渡す。ここで、ＰＯＤ５０４から来る信号はＭＰＥＧ２トランスポートストリームである。ＭＰＥＧ２トランスポートストリームの詳細はＭＰＥＧ規格書  ＩＳＯ／ＩＥＣ１３８１８−１に記載されており、本実施の形態では詳細は省略する。ＭＰＥＧ２トランスポートストリームは、複数の固定長パケットで構成され、各パケットには、パケットＩＤが振られている。図９はパケットの構成図である。９００はパケットであり、固定長の１８８バイトで構成される。先頭４バイトがヘッダー９０１で、パケットの識別情報を格納しており、残り１８４バイトがペイロード９０２で、送信したい情報を含んでいる。９０３は、ヘッダー９０１の内訳である。先頭から１２ビット目〜２４ビット目までの１３ビットにパケットＩＤが含まれている。図１０は送られてくる複数のパケットの列を表現した模式図である。パケット１００１は、ヘッダーにパケットＩＤ「１」を持ち、ペイロードには映像Ａの１番目の情報が入っている。パケット１００２は、ヘッダーにパケットＩＤ「２」を持ち、ペイロードには音声Ａの１番目の情報が入っている。パケット１００３は、ヘッダーにパケットＩＤ「３」を持ち、ペイロードには音声Ｂの１番目の情報が入っている。
【０２０４】
パケット１００４は、ヘッダーにパケットＩＤ「１」を持ち、ペイロードには映像Ａの２番目の情報が入っており、これはパケット１００１の続きになっている。同様にパケット１００５、１０２６、１０２７も他のパケットの後続データを格納している。このように、同じパケットＩＤを持つ、パケットのペイロードの内容を連結すると、連続した映像や音声を再現することができる。
【０２０５】
図１０を参照して、ＣＰＵ５１４がパケットＩＤ「１」と出力先として「ビデオデコーダ５０８」をＴＳデコーダ５０５に指示すると、ＴＳデコーダ５０５はＰＯＤ５０４から受け取ったＭＰＥＧ２トランスポートストリームからパケットＩＤ「１」のパケットを抽出し、ビデオデコーダ５０８に引き渡す。図１０においては、映像データのみをビデオデコーダ５０８に引き渡すことになる。同時に、ＣＰＵ５１４がパケットＩＤ「２」と「オーディオデコーダ５０６」をＴＳデコーダ５０５に指示すると、ＴＳデコーダ５０５はＰＯＤ５０４から受け取ったＭＰＥＧ２トランスポートストリームからパケットＩＤ「２」のパケットを抽出し、オーディオデコーダ５０６に引き渡す。図１０においては、音声データのみをオーディオデコーダ５０６に引き渡すことになる。
【０２０６】
このパケットＩＤに応じて必要なパケットだけを取り出す処理が、ＴＳデコーダ５０５が行うフィルタリングである。ＴＳデコーダ５０５はＣＰＵ５１４から指示された複数のフィルタリングを同時に実行することができる。
【０２０７】
図５を参照して、オーディオデコーダ５０６は、ＴＳデコーダ５０５から与えられたＭＰＥＧ２トランスポートストリームのパケットに埋め込まれたオーディオデータを連結し、デジタル−アナログ変換を行いスピーカ５０７に出力する。
【０２０８】
スピーカ５０７は、オーディオデコーダ５０６から与えられた信号を音声出力する。
ビデオデコーダ５０８は、ＴＳデコーダ５０５から与えられたＭＰＥＧ２トランスポートストリームのパケットに埋め込まれたビデオデータを与えられたビデオ解像度でデコードし、デコードしたビデオデータをビデオバッファ５１７に格納する。ここで、与えられたビデオ解像度は、後述するビデオ解像度管理部３１０２からビデオデコーダ５０８に渡され、ビデオデコーダ５０８はビデオ解像度をビデオバッファ５１７に格納する。
【０２０９】
また、ビデオデコーダ５０８にビデオ解像度が渡されていない場合、デフォルトのビデオ解像度が使用される。
また、ビデオ解像度管理部３１０２がビデオバッファ５１７にビデオ解像度を格納し、デコードの際、ビデオデコーダ５０８がビデオバッファ５１７に格納されているビデオ解像度を参照してデコードするでもよい。
【０２１０】
また、同時にビデオのデータの解像度や４：３や１６：９等の映像の縦横比などの映像情報を読み取り、映像情報に変化を検知する。検知した情報は、後述するビデオフォーマット解像度変更検知部３１０４に通知される。
【０２１１】
スチルデコーダ５１５は、ＣＰＵ５１４から指示されたＭＰＥＧ−Ｉフレームデータ（またはスチルデータともいう）を与えられたスチル解像度でデコードし、デコードしたスチルデータをスチルバッファ５１８に格納する。ここで、与えられたスチル解像度は、後述するスチル解像度管理部３１０３からスチルデコーダ５１５に渡され、スチルデコーダ５１５はスチル解像度をスチルバッファ５１８に格納する。スチルデコーダ５１５にスチル解像度が渡されていない場合、デフォルトのスチル解像度が使用される。
【０２１２】
また、スチル解像度管理部３１０３がスチルバッファ５１８にスチル解像度を格納し、デコードの際、スチルデコーダ５１５がスチルバッファ５１８に格納されているスチル解像度を参照してデコードするでもよい。ＭＰＥＧ２−Ｉフレームの詳細はＭＰＥＧ規格書  ＩＳＯ／ＩＥＣ１３８１８−２に記載されており、本実施の形態では詳細は省略する。
【０２１３】
ＯＳＤ制御部５１６は、与えられたＯＳＤ解像度でＣＰＵ５１４からの指示されたＯＳＤデータ(グラフィックスデータともいう)をＯＳＤバッファ５１９に格納する。あるいは、文字図形が描画されている１次記憶部５１１のオフスクリーンバッファの内容をＯＳＤバッファ５１９にアルファブレンド処理を行いながら高速転送する。アルファブレンド処理に関しては、詳細はＤＶＢ−ＭＨＰ規格書を参照されたい。ここで、与えられたＯＳＤ解像度は、後述するＯＳＤ解像度管理部３１０１からＯＳＤ制御部５１６に渡され、ＯＳＤ制御部５１６はＯＳＤ解像度をＯＳＤバッファ５１９に格納する。ＯＳＤ制御部５１６にＯＳＤ解像度が渡されていない場合、デフォルトのＯＳＤ解像度を使用する。
【０２１４】
また、ＯＳＤ解像度管理部３１０１がＯＳＤバッファ５１９にＯＳＤ解像度を格納するでもよい。
また、ＯＳＤ制御部５１６の構成要素はソフトウェアとして実現し、ハードウェアとしての構成要素としては削除してもよい。
【０２１５】
ビデオバッファ５１７は、ビデオデコーダ５０８に与えられるビデオ解像度とビデオデコーダ５０８がデコードしたビデオデータを格納するバッファであり、具体的にはメモリなどで構成される。尚、ビデオ解像度は、後述するビデオ解像度管理部３１０２から与えられてもよい。
【０２１６】
スチルバッファ５１８は、スチルデコーダ５１５から与えられるスチル解像度とスチルコーダ５１５がデコードしたスチルデータを格納するバッファであり、具体的にはメモリなどで構成される。尚、スチル解像度は、後述するスチル解像度管理部３１０３から与えられてもよい。
【０２１７】
ＯＳＤバッファ５１９は、ＯＳＤ制御部５１６から与えられるＯＳＤ解像度とＯＳＤ制御部５１６から転送されたＯＳＤデータを格納するバッファであり、具体的にはメモリなどで構成される。尚、ＯＳＤ解像度は、後述するＯＳＤ解像度管理部３１０１から与えられてもよい。
【０２１８】
ビデオ拡縮部５２０は、与えられた拡大縮小比率により、ビデオバッファ５１７に格納されているビデオデータを拡大縮小して合成部５２３へ渡す。ここで、与えられた拡大縮小比率は、後述するビデオ解像度管理部３１０２から渡される。また、拡大縮小比率が渡されていない場合、デフォルトの拡大縮小比率を使用する。
【０２１９】
スチル拡縮部５２１は、与えられた拡大縮小比率により、スチルバッファ５１８に格納されているスチルデータを拡大縮小して合成部５２３へ渡す。ここで、与えられた拡大縮小比率は、後述するスチル解像度管理部３１０３から渡される。また、拡大縮小比率が渡されていない場合、デフォルトの拡大縮小比率を使用する。
【０２２０】
ＯＳＤ拡縮部５２２は、与えられた拡大縮小比率により、ＯＳＤバッファ５１９に格納されているＯＳＤデータを拡大縮小して合成部５２３へ渡す。ここで、与えられた拡大縮小比率は、後述するＯＳＤ解像度管理部３１０１から渡される。また、拡大縮小比率が渡されていない場合、デフォルトの拡大縮小比率を使用する。
【０２２１】
合成部５２３は、ＣＰＵ５１４から指示された各バッファのＺオーダーに従い、ビデオ拡縮部５２０から渡されたビデオデータとスチル拡縮部５２１から渡されたスチルデータとＯＳＤ拡縮部５２２から渡されたＯＳＤデータを重畳して、ディスプレイ５０９に出力する。ＣＰＵ５１４から指示される各バッファのＺオーダーに関して説明すると、一般的なテレビ受信端末は、文字図形を表示するＯＳＤバッファ、ビデオを表示するビデオバッファ、静止画を表示するスチルバッファの３層構造を持っており、その重畳の順番をＺオーダーと呼ぶ。例えば、図５７で説明すると、５７０１が視聴者からみて前面に見える第１バッファ、５７０２が５７０１の背面である第２バッファ、５７０３が最背面である第３バッファとすると、図５８のように６パターンの組合せが存在することになる。
【０２２２】
ディスプレイ５０９は、具体的にはブラウン管や液晶等で構成され、ビデオデコーダ５０８から与えられたビデオ信号を出力したり、ＣＰＵ５１４から指示されたメッセージを表示したりする。
【０２２３】
２次記憶部５１０は、具体的には、フラッシュメモリーやハードディスク等で構成され、ＣＰＵ５１４から指示されたデータやプログラムを保存したり削除したりする。また、保存されているデータやプログラムはＣＰＵ５１４に参照される。保存されているデータやプログラムは、端末装置５００の電源が切断された状態でも保存しつづける。
【０２２４】
１次記憶部５１１は、具体的には、ＲＡＭ等で構成され、ＣＰＵ５１４から指示されたデータやプログラムを一次的に保存したり削除したりする。また、保存されているデータやプログラムはＣＰＵ５１４に参照される。保存されているデータやプログラムは、端末装置５００の電源が切断された際に、抹消される。
【０２２５】
ＲＯＭ５１２は、書き換え不可能なメモリーデバイスであり、具体的にはＲＯＭやＣＤ−ＲＯＭ、ＤＶＤなどで構成される。ＲＯＭ５１２は、ＣＰＵ５１４が実行するプログラムが格納されている。
【０２２６】
入力部５１３は、具体的には、フロントパネルやリモコンで構成され、ユーザーからの入力を受け付ける。図１１は、フロントパネルで入力部５１３を構成した場合の一例である。１１００はフロントパネルであり、図６のフロントパネル部６０３に相当する。フロントパネル１１００は７つのボタン、上カーソルボタン１１０１、下カーソルボタン１１０２、左カーソルボタン１１０３、右カーソルボタン１１０４、ＯＫボタン１１０５、取消ボタン１１０６、ＥＰＧボタン１１０７を備えている。ユーザーがボタンを押下すると、押下されたボタンの識別子が、ＣＰＵ５１４に通知される。
【０２２７】
ＣＰＵ５１４は、ＲＯＭ５１２が記憶するプログラムを実行する。実行するプログラムの指示に従い、ＱＡＭ復調部５０１、ＱＰＳＫ復調部５０２、ＱＰＳＫ変調部５０３、ＰＯＤ５０４、ＴＳデコーダ５０５、ディスプレイ５０９、２次記憶部５１０、１次記憶部５１１、ＲＯＭ５１２を制御する。
【０２２８】
図１２は、ＲＯＭ５１２に記憶され、ＣＰＵ５１４に実行されるプログラムの構成図の一例である。
プログラム１２００は、複数のサブプログラムで構成され、具体的にはＯＳ１２０１、ＥＰＧ１２０２、ＪａｖａＶＭ１２０３、サービスマネージャ１２０４、Ｊａｖａライブラリ１２０５で構成される。
【０２２９】
ＯＳ１２０１は、端末装置５００の電源が投入されると、ＣＰＵ５１４が起動するサブプログラムである。ＯＳ１２０１は、オペレーティングシステムの略であり、Ｌｉｎｕｘ等が一例である。ＯＳ１２０１は、他のサブプログラムを平行して実行するカーネル１２０１ａ及びライブラリ１２０１ｂで構成される公知の技術の総称であり、詳細な説明は省略する。本実施の形態においては、ＯＳ１２０１のカーネル１２０１ａは、ＥＰＧ１２０２とＪａｖａＶＭ１２０３をサブプログラムとして実行する。また、ライブラリ１２０１ｂは、これらサブプログラムに対して、端末装置５００が保持する構成要素を制御するための複数の機能を提供する。
【０２３０】
機能の一例として、チューニング機能を紹介する。チューニング機能は、他のサブプログラムから周波数を含むチューニング情報を受け取り、それをＱＡＭ復調部５０１に引き渡す。ＱＡＭ復調部５０１は与えられたチューニング情報に基づき復調処理を行い、復調したデータをＰＯＤ５０４に引き渡すことができる。この結果、他のサブプログラムはライブラリ１２０１ｂを通してＱＡＭ復調器を制御することができる。
【０２３１】
ＥＰＧ１２０２は、ユーザーに番組一覧を表示及び、ユーザーからの入力を受け付ける番組表示部１２０２ａと、チャンネル選局を行う再生部１２０２ｂで構成される。ここで、ＥＰＧはＥｌｅｃｔｒｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅの略である。ＥＰＧ１２０２は、端末装置５００の電源が投入されると、カーネル１２０１ａによって起動される、起動されたＥＰＧ１２０２の内部では、番組表示部１２０２ａが端末装置５００の入力部５１３を通して、ユーザーからの入力を待つ。ここで、入力部５１３が図１１で示されるフロントパネルで構成されている場合、ユーザーが、入力部５１３のＥＰＧボタン１１０７を押下すると、ＥＰＧボタンの識別子がＣＰＵ５１４に通知される。ＣＰＵ５１４上で動作するサブプログラムであるＥＰＧ１２０２の番組表示部１２０２ａは、この識別子を受け取り、番組情報をディスプレイ５０９に表示する。図１３（１）及び（２）は、ディスプレイ５０９に表示された番組表の一例である。図１３（１）を参照して、ディスプレイ５０９には、格子状に番組情報が表示されている。列１３０１には、時刻情報が表示されている。列１３０２には、チャンネル名「チャンネル１」と、列１３０１の時刻に対応する時間帯に放映される番組が表示されている。「チャンネル１」では、９：００〜１０：３０に番組「ニュース９」が放映され、１０：３０〜１２：００は「映画ＡＡＡ」が放映されることを表す。列１３０３も列１３０２同様、チャンネル名「チャンネル２」と、列１３０１の時刻に対応する時間帯に放映される番組が表示されている。９：００〜１１：００に番組「映画ＢＢＢ」が放映され、１１：００〜１２：００は「ニュース１１」が放映される。１３３０は、カーソルである。カーソル１３３０は、フロントパネル１１００の左カーソル１１０３と右カーソル１１０４を押下すると移動する。図１３（１）の状態で、右カーソル１１０４を押下すると、カーソル１３３０は右に移動し、図１３（２）のようになる。また、図１３（２）の状態で、左カーソル１１０３を押下すると、カーソル１３３０は左に移動し、図１３（１）のようになる。
【０２３２】
図１３（１）の状態で、フロントパネル１１００のＯＫボタン１１０５が押下されると、番組表示部１２０２ａは、「チャンネル１」の識別子を再生部１２０２ｂに通知する。図１３（２）の状態で、フロントパネル１１００のＯＫボタン１１０５が押下されると、番組表示部１２０２ａは、「チャンネル２」の識別子を再生部１２０２ｂに通知する。
【０２３３】
また、番組表示部１２０２ａは、表示する番組情報を、ＰＯＤ５０４を通してヘッドエンド１０１から定期的に、１次記憶部５１１に記憶しておく。一般的に、ヘッドエンドからの番組情報の取得は時間が掛かる。入力部５１３のＥＰＧボタン１１０７が押下された時、１次記憶部５１１に予め保存された番組情報を表示することで、素早く番組表を表示することができる。
【０２３４】
再生部１２０２ｂは、受け取ったチャンネルの識別子を用いて、チャンネルを再生する。チャンネルの識別子とチャンネルの関係は、チャンネル情報として、２次記憶部５１０に予め格納されている。図１４は２次記憶部５１０に格納されているチャンネル情報の一例である。チャンネル情報は表形式で格納されている。列１４０１は、チャンネルの識別子である。列１４０２は、チャンネル名である。列１４０３はチューニング情報である。ここで、チューニング情報は周波数や転送レート、符号化率などを含み、ＱＡＭ復調部５０１に与える値である。列１４０４はプログラムナンバーである。プログラムナンバーとは、ＭＰＥＧ２規格で規定されているＰＭＴを識別するための番号である。ＰＭＴに関しては、後述する。行１４１１〜１４１４の各行は、各チャンネルの識別子、チャンネル名、チューニング情報の組となる。行１４１１は識別子が「１」、チャンネル名が「チャンネル１」、チューニング情報に周波数「１５０ＭＨｚ」、プログラムナンバーが「１０１」を含む組となっている。再生部１２０２ｂは、チャンネルの再生を行うため、受け取ったチャンネルの識別子をそのままサービスマネージャに引き渡す。
【０２３５】
また、再生部１２０２ｂは、再生中に、ユーザーがフロントパネル１１００の上カーソル１１０１と下カーソル１１０２を押下すると、入力部５１３からＣＰＵ５１４を通して、押下された通知を受け取り、再生しているチャンネルを変更する。まず、再生部１２０２ｂは、１次記憶部５１１に現在再生中のチャンネルの識別子を記憶する。図１５（１）（２）及び（３）は、１次記憶部５１１に保存しているチャンネルの識別子の例である。図１５（１）では識別子「３」が記憶されており、図１４を参照し、チャンネル名「ＴＶ  ３」のチャンネルが再生中であることを示す。図１５（１）の状態で、ユーザーが上カーソル１１０１を押下すると再生部１２０２ｂは、図１４のチャンネル情報を参照し、表中の前のチャンネルであるチャンネル名「チャンネル２」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「チャンネル２」の識別子「２」を引き渡す。同時に、１次記憶部５１１に記憶されているチャンネル識別子「２」に書き換える。図１５（２）は、チャンネル識別子が書き換えられた状態を表す。また、図１５（１）の状態で、ユーザーが下カーソル１１０２を押下すると再生部１２０２ｂは、図１４のチャンネル情報を参照し、表中の次のチャンネルであるチャンネル名「ＴＶ  Ｊａｐａｎ」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「ＴＶ  Ｊａｐａｎ」の識別子「４」を引き渡す。同時に、１次記憶部５１１に記憶されているチャンネル識別子「４」に書き換える。図１５（３）は、チャンネル識別子が書き換えられた状態を表す。
【０２３６】
ＪａｖａＶＭ１２０３は、Ｊａｖａ（ＴＭ）言語で記述されたプログラムを逐次解析し実行するＪａｖａバーチャルマシンである。Ｊａｖａ言語で記述されたプログラムはバイトコードと呼ばれる、ハードウエアに依存しない中間コードにコンパイルされる。Ｊａｖａバーチャルマシンは、このバイトコードを実行するインタープリタである。また、一部のＪａｖａバーチャルマシンは、バイトコードをＣＰＵ５１４が理解可能な実行形式に翻訳してから、ＣＰＵ５１４に引渡し、実行することも行う。ＪａｖａＶＭ１２０３は、カーネル１２０１ａに実行するＪａｖａプログラムを指定され起動される。本実施の形態では、カーネル１２０１ａは、実行するＪａｖａプログラムとしてサービスマネージャ１２０４を指定する。Ｊａｖａ言語の詳細は、書籍「Ｊａｖａ  Ｌａｎｇｕａｇｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＩＳＢＮ  ０−２０１−６３４５１−１）」等の多くの書籍で解説されている。ここでは、その詳細を省略する。また、ＪａｖａＶＭ自体の詳細な動作などは、「Ｊａｖａ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＩＳＢＮ  ０−２０１−６３４５１―Ｘ）」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
【０２３７】
サービスマネージャ１２０４は、Ｊａｖａ言語で書かれたＪａｖａプログラムであり、ＪａｖａＶＭ１２０３によって逐次実行される。サービスマネージャ１２０４は、ＪＮＩ（Ｊａｖａ  Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ）を通して、Ｊａｖａ言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。ＪＮＩに関しても、書籍「Ｊａｖａ  Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
【０２３８】
サービスマネージャ１２０４は、ＪＮＩを通して、再生部１２０２ｂよりチャンネルの識別子を受け取る。
サービスマネージャ１２０４は、最初にＪａｖａライブラリ１２０５の中にあるＴｕｎｅｒ１２０５ｃに、チャンネルの識別子を引き渡し、チューニングを依頼する。Ｔｕｎｅｒ１２０５ｃは、２次記憶部５１０が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サービスマネージャ１２０４がチャンネルの識別子「２」をＴｕｎｅｒ１２０５ｃに引き渡すと、Ｔｕｎｅｒ１２０５ｃは、図１４の行１４１２を参照して、対応するチューニング情報「１５６ＭＨｚ，」を獲得する。Ｔｕｎｅｒ１２０５ｃは、ＯＳ１２０１のライブラリ１２０１ｂを通して、ＱＡＭ復調部５０１にチューニング情報を引き渡す。ＱＡＭ復調部５０１は与えられたチューニング情報に従ってヘッドエンド１０１から送信されてきた信号を復調し、ＰＯＤ５０４に引き渡す。
【０２３９】
次にサービスマネージャ１２０４は、Ｊａｖａライブラリ１２０５の中にあるＣＡ１２０５ｄにデスクランブルを依頼する。ＣＡ１２０５ｄは、ＯＳ１２０１のライブラリ１２０１ｂを通して復号に必要な情報をＰＯＤ５０４に与える。ＰＯＤ５０４は、与えられた情報を元に、ＱＡＭ復調部５０１から与えられた信号を復号しＴＳデコーダ５０５に引き渡す。
【０２４０】
次にサービスマネージャ１２０４は、Ｊａｖａライブラリ１２０５の中にあるＪＭＦ１２０５ａにチャンネルの識別子を与え、映像・音声の再生を依頼する。
まず、最初にＪＭＦ１２０５ａは、再生すべき映像と音声を特定するためのパケットＩＤをＰＡＴ、ＰＭＴから取得する。ＰＡＴやＰＭＴはＭＰＥＧ２規格で規定されている、ＭＰＥＧ２トランスポートストリーム内の番組構成を表現するテーブルであり、ＭＰＥＧ２トランスポートストリームに含まれるパケットのペイロードに埋め込まれて、音声や映像と共に送信されるものである。詳細は規格書を参照されたい。ここでは、概略のみ説明する。ＰＡＴは、Ｐｒｏｇｒａｍ  Ａｓｓｏｃｉａｔｉｏｎ  Ｔａｂｌｅの略で、パケットＩＤ「０」のパケットに格納され送信されている。ＪＭＦ１２０５ａは、ＰＡＴを取得するため、ＯＳ１２０１のライブラリ１２０１ｂを通して、ＴＳデコーダ５０５にパケットＩＤ「０」とＣＰＵ５１４を指定する。ＴＳデコーダ５０５がパケットＩＤ「０」でフィルタリングを行い、ＣＰＵ５１４に引き渡すことでＪＭＦ１２０５ａは、ＰＡＴのパケットを収集する。図１６は、収集したＰＡＴの情報の一例を模式的に表した表である。列１６０１は、プログラムナンバーである。列１６０２は、パケットＩＤである。列１６０２のパケットＩＤはＰＭＴを取得するために用いられる。行１６１１〜１６１３は、チャンネルのプログラムナンバーと対応するパケットＩＤの組である。ここでは、３つのチャンネルが定義されている。行１６１１はプログラムナンバー「１０１」とパケットＩＤ「５０１」の組が定義されている。今、ＪＭＦ１２０５ａに与えられたチャンネルの識別子が「２」とすると、ＪＭＦ１２０５ａは、図１４の行１４１２を参照して、対応するプログラムナンバー「１０２」を獲得し、次に、図１６のＰＡＴの行１６１２を参照し、プログラムナンバー「１０２」に対応するパケットＩＤ「５０２」を獲得する。ＰＭＴは、Ｐｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅの略で、ＰＡＴで規定されたパケットＩＤのパケットに格納され送信されている。ＪＭＦ１２０５ａは、ＰＭＴを取得するため、ＯＳ１２０１のライブラリ１２０１ｂを通して、ＴＳデコーダ５０５にパケットＩＤとＣＰＵ５１４を指定する。ここで、指定するパケットＩＤは「５０２」とする。ＴＳデコーダ５０５がパケットＩＤ「５０２」でフィルタリングを行い、ＣＰＵ５１４に引き渡すことでＪＭＦ１２０５ａは、ＰＭＴのパケットを収集する。図１７は、収集したＰＭＴの情報の一例を模式的に表した表である。列１７０１は、ストリーム種別であり。列１７０２は、パケットＩＤである。列１７０２で指定されるパケットＩＤのパケットには、ストリーム種別で指定された情報がペイロードに格納され送信されている。列１７０３は補足情報である。行１７１１〜１７１４はエレメンタリ−ストリームと呼ばれる、パケットＩＤと送信している情報の種別の組である。行１７１１は、ストリーム種別「音声」とパケットＩＤ「５０１１」の組であり、パケットＩＤ「５０１１」のペイロードには音声が格納されていることを表す。ＪＭＦ１２０５ａは、ＰＭＴから再生する映像と音声のパケットＩＤを獲得する。図１７を参照して、ＪＭＦ１２０５ａは、行１７１１から音声のパケットＩＤ「５０１１」を、行１７１２から映像のパケットＩＤ「５０１２」を獲得する。
【０２４１】
次に、ＪＭＦ１２０５ａは、ＯＳ１２０１のライブラリ１２０１ｂを通して、獲得した音声のパケットＩＤと出力先としてオーディオデコーダ５０６、映像のパケットＩＤと出力先としてビデオデコーダ５０８の組を、ＴＳデコーダ５０５に与える。ＴＳデコーダ５０５は与えられたパケットＩＤと出力先に基づいて、フィルタリングを行う。ここではパケットＩＤ「５０１１」のパケットをオーディオデコーダ５０６に、パケットＩＤ「５０１２」のパケットをビデオデコーダ５０８に引き渡す。オーディオデコーダ５０６は、与えられたパケットのデジタル−アナログ変換を行いスピーカ５０７を通して音声を再生する。ビデオデコーダ５０８は、ＴＳデコーダ５０５から与えられたＭＰＥＧ２トランスポートストリームのパケットに埋め込まれたビデオデータを、ビデオバッファ５１７に格納する。
【０２４２】
ビデオ拡縮部５２０は、ＣＰＵ５１４から指示された拡大縮小命令により、ビデオバッファ５１７に格納されているデータを拡大縮小して合成部５２３へ渡す。
合成部５２３は、ＣＰＵ５１４から指示されたＺオーダーに従い、ビデオ拡縮部５２０から渡されたデータとスチル拡縮部５２１から渡されたデータとＯＳＤ拡縮部５２２から渡されたデータを重畳して、ディスプレイ５０９に出力する。
【０２４３】
最後にサービスマネージャ１２０４は、Ｊａｖａライブラリ１２０５の中にあるＡＭ１２０５ｂにチャンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生とは、ＭＰＥＧ２トランスポートストリームに含まれるＪａｖａプログラムを抽出し、ＪａｖａＶＭ１２０３に実行させることである。ＭＰＥＧ２トランスポートストリームにＪａｖａプログラムを埋め込む方法は、ＭＰＥＧ規格書  ＩＳＯ／ＩＥＣ１３８１８−６に記述されたＤＳＭＣＣという方式を用いる。ここではＤＳＭＣＣの詳細な説明は省略する。ＤＳＭＣＣ方式は、ＭＰＥＧ２トランスポートストリームのパケットの中に、コンピュータで使用されているディレクトリやファイルで構成されるファイルシステムをエンコードする方法を規定している。また、実行するＪａｖａプログラムの情報はＡＩＴと呼ばれる形式で、ＭＰＥＧ２トランスポートストリームのパケットの中に埋め込まれ送信されている。ＡＩＴは、ＤＶＢ−ＭＨＰ規格（正式には、ＥＴＳＩ  ＴＳ  １０１  ８１２  ＤＶＢ−ＭＨＰ仕様Ｖ１．０．２）の１０章に定義されている、Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅの略である。
【０２４４】
ＡＭ１２０５ｂは、まず、ＡＩＴを獲得するため、ＪＭＦ１２０５ａ同様ＰＡＴ、ＰＭＴを取得し、ＡＩＴが格納されているパケットのパケットＩＤを獲得する。今、与えられたチャンネルの識別子が「２」で、図１６のＰＡＴ、図１７のＰＭＴが送信されていると、ＪＭＦ１２０５ａと同様の手順で、図１７のＰＭＴを獲得する。ＡＭ１２０５ｂは、ＰＭＴからストリーム種別が「データ」で補足情報として「ＡＩＴ」を持つエレメンタリ−ストリームからパケットＩＤを抽出する。図１７を参照して、行１７１３のエレメンタリ−ストリームが該当し、パケットＩＤ「５０１３」を獲得する。
【０２４５】
ＡＭ１２０５ｂは、ＯＳ１２０１のライブラリ１２０１ｂを通してＴＳデコーダ５０５にＡＩＴのパケットＩＤと出力先ＣＰＵ５１４を与える。ＴＳデコーダ５０５、与えられたパケットＩＤでフィルタリングを行い、ＣＰＵ５１４に引き渡す。この結果、ＡＭ１２０５ｂは、ＡＩＴのパケットを収集することができる。図１８は、収集したＡＩＴの情報の一例を模式的に表した表である。列１８０１はＪａｖａプログラムの識別子である。列１８０２はＪａｖａプログラムの制御情報である。制御情報には「ａｕｔｏｓｔａｒｔ」「ｐｒｅｓｅｎｔ」「ｋｉｌｌ」などがあり、「ａｕｔｏｓｔａｒｔ」は即時に端末装置５００がこのプログラムを自動的に実行することを意味し、「ｐｒｅｓｅｎｔ」は自動実行しないことを意味し、「ｋｉｌｌ」はプログラムを停止することを意味する。列１８０３は、ＤＳＭＣＣ方式でＪａｖａプログラムを含んでいるパケットＩＤを抽出するためのＤＳＭＣＣ識別子である。列１８０４はＪａｖａプログラムのプログラム名である。行１８１１と１８１２は、Ｊａｖａプログラムの情報の組である。行１８１１で定義されるＪａｖａプログラムは、識別子「３０１」、制御情報「ａｕｔｏｓｔａｒｔ」、ＤＳＭＣＣ識別子「１」、プログラム名「ａ／ＴｏｐＸｌｅｔ」の組である。行１８１２で定義されるＪａｖａプログラムは、識別子「３０２」、制御情報「ｐｒｅｓｅｎｔ」、ＤＳＭＣＣ識別子「１」、プログラム名「ｂ／ＧａｍｅＸｌｅｔ」の組である。ここで２つのＪａｖａプログラムは同じＤＳＭＣＣ識別子を持つが、これは１つのＤＳＭＣＣ方式でエンコードされたファイルシステム内に２つのＪａｖａプログラムが含まれていることを表す。ここでは、Ｊａｖａプログラムに対して４つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はＤＶＢ−ＭＨＰ規格を参照されたい。
【０２４６】
ＡＭ１２０５ｂは、ＡＩＴの中から「ａｕｔｏｓｔａｒｔ」のＪａｖａプログラムを見つけ出し、対応するＤＳＭＣＣ識別子及びＪａｖａプログラム名を抽出する。図１８を参照して、ＡＭ１２０５ｂは行１８１１のＪａｖａプログラムを抽出し、ＤＳＭＣＣ識別子「１」及びＪａｖａプログラム名「ａ／ＴｏｐＸｌｅｔ」を獲得する。
【０２４７】
次にＡＭ１２０５ｂは、ＡＩＴから取得したＤＳＭＣＣ識別子を用いて、ＪａｖａプログラムをＤＳＭＣＣ方式で格納しているパケットのパケットＩＤをＰＭＴから獲得する。具体的には、ＰＭＴの中でストリーム種別が「データ」で、補足情報のＤＳＭＣＣ識別子が合致するエレメンタリ−ストリームのパケットＩＤを取得する。
【０２４８】
今、ＤＳＭＣＣ識別子が「１」であり、ＰＭＴが図１７とすると、行１７１４のエレメンタリ−ストリームが合致し、パケットＩＤ「５０１４」を取り出す。
ＡＭ１２０５ｂは、ＯＳ１２０１のライブラリ１２０１ｂを通してＴＳデコーダ５０５にＤＳＭＣＣ方式でデータが埋めこめられたパケットのパケットＩＤと出力先としてＣＰＵ５１４を指定する。ここでは、パケットＩＤ「５０１４」を与える。ＴＳデコーダ５０５、与えられたパケットＩＤでフィルタリングを行い、ＣＰＵ５１４に引き渡す。この結果、ＡＭ１２０５ｂは、必要なパケットを収集することができる。ＡＭ１２０５ｂは、収集したパケットから、ＤＳＭＣＣ方式に従ってファイルシステムを復元し、１次記憶部５１１に保存する。ＭＰＥＧ２トランスポートストリーム中のパケットからファイルシステム等のデータを取り出し１次記憶部５１１等の記憶手段に保存すことを以降、ダウンロードと呼ぶ。
【０２４９】
図１９は、ダウンロードしたファイルシステムの一例である。図中、丸はディレクトリを四角はファイルを表し、１９０１はルートディレクトリ、１９０２はディレクトリ「ａ」，１９０３はディレクトリ「ｂ」，１９０４はファイル「ＴｏｐＸｌｅｔ．ｃｌａｓｓ」、１９０５はファイル「ＧａｍｅＸｌｅｔ．ｃｌａｓｓ」である。
【０２５０】
次にＡＭ１２０５ｂは、１次記憶部５１１にダウンロードしたファイルシステム中から実行するＪａｖａプログラムをＪａｖａＶＭ１２０３に引き渡す。今、実行するＪａｖａプログラム名が「ａ／ＴｏｐＸｌｅｔ」とすると、Ｊａｖａプログラム名の最後に「．ｃｌａｓｓ」を付加したファイル「ａ／ＴｏｐＸｌｅｔ．ｃｌａｓｓ」が実行すべきファイルとなる。「／」はディレクトリやファイル名の区切りであり、図１９を参照して、ファイル１９０４が実行すべきＪａｖａプログラムである。次にＡＭ１２０５ｂは、ファイル１９０４をＪａｖａＶＭ１２０３に引き渡す。
【０２５１】
ＪａｖａＶＭ１２０３は、引き渡されたＪａｖａプログラムを実行する。
サービスマネージャ１２０４は、他のチャンネルの識別子を受け取ると、Ｊａｖａライブラリ１２０５に含まれる各ライブラリを通して再生している映像・音声及びＪａｖａプログラムの実行を、同じくＪａｖａライブラリ１２０５に含まれる各ライブラリを通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像・音声の再生及びＪａｖａプログラムの実行を行う。
【０２５２】
Ｊａｖａライブラリ１２０５は、ＲＯＭ５１２に格納されている複数のＪａｖａライブラリの集合である。本実施の形態では、ここでは、Ｊａｖａライブラリ１２０５は、ＪＭＦ１２０５ａ，ＡＭ１２０５ｂ，Ｔｕｎｅｒ１２０５ｃ，ＣＡ１２０５ｄ、ＰＯＤ  Ｌｉｂ１２０５ｅ、解像度切替部１２０５ｆ、ＡＷＴ１２０５ｇ、ＳＴＬ１２０５ｈ等を含んでいる。
【０２５３】
ＰＯＤ  Ｌｉｂ１２０５ｅは、ライブラリ１２０１ｂ及びＣＰＵ５１４を通してＰＯＤ５０４からの情報取得やＰＯＤ５０４の制御行う機能を提供する。
解像度切替部１２０５ｆは、ＣＰＵ５１４を通して、ビデオデコーダ５０８、ビデオ拡縮部５２０、スチルデコーダ５１５、スチル拡縮部５２１、ＯＳＤ制御部５１６、ＯＳＤ拡縮部５２２を制御する機能を提供する。詳細は後述する。
【０２５４】
ＡＷＴ１２０５ｇは、Ｊａｖａプログラムからの描画指示を受け付ける。受け付けた指示に基づき、必要な情報をＯＳＤ制御部５１６に送ることで、ＯＳＤバッファに文字図形を描画する。具体的な描画処理の例は、線を引いたり四角を書くなどであり、Ｊａｖａ．ａｗｔパッケージに規定されているクラス及びインターフェース仕様で実現される公知の技術である。よって、詳細は省略する。尚、文字図形描画を行う際、一旦、１次記憶部５１１からオフスクリーン用のメモリを獲得し、獲得したオフスクリーンバッファに文字図形描画した後、オフスクリーンの内容をＯＳＤ制御部５１６に転送してもよい。
【０２５５】
ＳＴＬ１２０５ｈは、Ｊａｖａプログラムからの表示するＭＰＥＧ−Ｉフレームデータとその表示位置を受け付ける。ＳＴＬ１２０５ｈは、受け付けたＭＰＥＧ−Ｉフレームデータと表示位置を、スチルデコーダ５１５に引き渡す。スチルデコーダ５１５は、与えられた表示位置にＭＰＥＧ−Ｉフレームデータをデコードし、スチルバッファ５１８に格納する。これによりＪａｖａプログラムは、スチルバッファへの描画を行うことができる。
【０２５６】
図２４は、ビデオの表示処理に関するフローチャートである。ＴＳデコーダ５０５はビデオデータをビデオデコーダ５０８に転送する（Ｓ２４０１）。ビデオデコーダ５０８は、転送されたビデオデータをデコードし、その結果をビデオバッファ５１７に格納する（Ｓ２４０２）。ＣＰＵ５１４からビデオの表示に関して拡大縮小の指示があるか判断する（Ｓ２４０３）。拡大縮小の指示がある場合は、ビデオ拡縮部５２０はビデオバッファ５１７に格納されているデータに対して拡大縮小処理を行い（Ｓ２４０４）、合成部５２３に転送する（Ｓ２４０５）。拡大縮小の指示がない場合は、ビデオ拡縮部５２０はビデオバッファ５１７に格納されているデータを合成部５２３に転送する（Ｓ２４０５）。
【０２５７】
図２５は、スチルの表示処理に関するフローチャートである。ＣＰＵ５１４からスチルデコーダ５１５へＭＰＥＧ２−Ｉフレームデータが渡される（Ｓ２５０１）。スチルデコーダ５１５は、渡されたＭＰＥＧ２−Ｉフレームデータをデコードし、その結果をスチルバッファ５１８に格納する（Ｓ２５０２）。ＣＰＵ５１４からスチルの表示に関して拡大縮小の指示があるか判断する（Ｓ２５０３）。拡大縮小の指示がある場合は、スチル拡縮部５２１はスチルバッファ５１８に格納されているデータに対して拡大縮小処理を行い（Ｓ２５０４）、合成部５２３に転送する（Ｓ２５０５）。拡大縮小の指示がない場合は、スチル拡縮部５２１はスチルバッファ５１８に格納されているデータを合成部５２３に転送する。
【０２５８】
図２６は、ＯＳＤの表示処理に関するフローチャートである。ＣＰＵ５１４からＯＳＤ制御部５１６へ文字や図形データが渡される（Ｓ２６０１）。ＯＳＤ制御部５１６は、渡された文字や図形データに基づき、ＯＳＤバッファ５１９にイメージを構成する（Ｓ２６０２）。ＣＰＵ５１４からＯＳＤの表示に関して拡大縮小の指示があるか判断する（Ｓ２６０３）。拡大縮小の指示がある場合は、ＯＳＤ拡縮部５２２はＯＳＤバッファ５１９に格納されているデータに対して拡大縮小処理を行い（Ｓ２６０４）、合成部５２３に転送する（Ｓ２６０５）。拡大縮小の指示がない場合は、ＯＳＤ拡縮部５２２はＯＳＤバッファ５１９に格納されているデータを合成部５２３に転送する。
【０２５９】
ここで、拡大縮小のイメージを、例を示して説明すると、図２８の２８０１のように、幅７２０ピクセル、高さ４８０ピクセルのデータを、幅９６０ピクセル、高さ５４０に拡大すると図２８の２８０２のようになる。
【０２６０】
図５９は、図２４で示されるフローチャートで生成されるビデオと図２５で示されるフローチャートで生成されるスチルと図２６で示されるフローチャートで生成されるＯＳＤの合成処理に関するフローチャートである。合成部５２３は、ＣＰＵ５１４からＺオーダーの変更指示があるか判断し（Ｓ５９０１）、変更指示がある場合は、変更指示に従い、第１バッファ５７０１、第２バッファ５７０２、第３バッファ５７０３に、ビデオバッファ５１７、スチルバッファ５１８、ＯＳＤバッファ５１９のどのバッファが該当するかを決定する（Ｓ５９０２）。変更指示がない場合は、以前のＺオーダーに従う。Ｚオーダーの組合せは、図５８のように６パターンの組合せのいずれかである。次に合成部５２３は、最背面である第３バッファ５７０３に該当するバッファが、ビデオバッファ５１７、スチルバッファ５１８、ＯＳＤバッファ５１９のどのバッファが該当するか判断し（Ｓ５９０３）、そのバッファが、ビデオバッファ５１７の場合は合成部５２３でビデオデータを合成し（Ｓ５９０４）、スチルバッファ５１８の場合は合成部５２３でスチルデータを合成し（Ｓ５９０５）、ＯＳＤバッファ５１９の場合は合成部５２３でＯＳＤデータを合成する（Ｓ５９０６）。例えば、合成するデータのイメージが図２９の２９０１の場合、合成した後のイメージを示すと、図３０の３００１のようになる。次に合成部５２３は、第２バッファ５７０２に該当するバッファが、ビデオバッファ５１７、スチルバッファ５１８、ＯＳＤバッファのどのバッファ５１９が該当するか判断し（Ｓ５９０７）、そのバッファが、ビデオバッファ５１７の場合は合成部５２３でビデオデータを合成し（Ｓ５９０８）、スチルバッファ５１８の場合は合成部５２３でスチルデータを合成し（Ｓ５９０９）、ＯＳＤバッファ５１９の場合は合成部５２３でＯＳＤデータを合成する（Ｓ５９１０）。例えば、合成するデータのイメージが図２９の２９０２の場合、合成した後のイメージを示すと、図３０の３００２のようになる。次に合成部５２３は、最前面である第１バッファ５７０１に該当するバッファが、ビデオバッファ５１７、スチルバッファ５１８、ＯＳＤバッファ５１９のどのバッファが該当するか判断し（Ｓ５９１１）、そのバッファが、ビデオバッファ５１７の場合は合成部５２３でビデオデータを合成し（Ｓ５９１２）、スチルバッファ５１８の場合は合成部５２３でスチルデータを合成し（Ｓ５９１３）、ＯＳＤバッファ５１９の場合は合成部５２３でＯＳＤデータを合成する（Ｓ５９１４）。例えば、合成するデータのイメージが図２９の２９０３の場合、合成した後のイメージを示すと、図３０の３００３のようになる。最後に合成結果をディスプレイ５０９に出力して表示される（Ｓ５９１５）。
【０２６１】
次に、Ｊａｖａプログラムのダウンロード・保存及び、Ｊａｖａプログラムの表示動作について説明する。
サービスマネージャ１２０４は、Ｊａｖａライブラリ１２０５に含まれるＰＯＤ  Ｌｉｂ１２０５ｅを通してヘッドエンド１０１と双方向通信を行う。この双方向通信は、ＰＯＤ  Ｌｉｂ１２０５ｅはＯＳ１２０１のライブラリ１２０１ｂ及び、ＰＯＤ５０４を介して、ＱＰＳＫ復調部５０２、ＱＰＳＫ変調部５０３を使用して実現される。
【０２６２】
サービスマネージャ１２０４は、この通信を用いてヘッドエンド１０１から、端末装置５００が２次記憶部５１０に保存すべきＪａｖａプログラムの情報を受け取る。この情報をＸＡＩＴ情報と呼ぶ。ＸＡＩＴ情報は、ヘッドエンド１０１とＰＯＤ５０４間で、任意の形式で送信される。どのような送信形式を採用しても、ＸＡＩＴに必要とする情報が含まれていれば、本発明は実施可能である。
【０２６３】
図２０は、ヘッドエンド１０１から取得したＸＡＩＴの情報の一例を模式的に表した表である。列２００１はＪａｖａプログラムの識別子である。列２００２はＪａｖａプログラムの制御情報である。制御情報には「ａｕｔｏｓｅｌｅｃｔ」「ｐｒｅｓｅｎｔ」などがあり、「ａｕｔｏｓｅｌｅｃｔ」は端末装置５００が電源投入時にこのプログラムを自動的に実行することを意味し、「ｐｒｅｓｅｎｔ」は自動実行しないことを意味する。列２００３は、ＤＳＭＣＣ方式でＪａｖａプログラムを含んでいるパケットＩＤを抽出するためのＤＳＭＣＣ識別子である。列２００４はＪａｖａプログラムのプログラム名である。列２００５は、Ｊａｖａプログラムの優先度である。行２０１１と２０１２は、Ｊａｖａプログラムの情報の組である。行２０１１で定義されるＪａｖａプログラムは、識別子「７０１」、制御情報「ａｕｔｏｓｅｌｅｃｔ」、ＤＳＭＣＣ識別子「１」、プログラム名「ａ／Ｂａｎｎｅｒ１Ｘｌｅｔ」の組である。ここでは、Ｊａｖａプログラムに対して５つの情報しか規定しないが、より多くの情報が定義されていても本発明は実施可能である。
【０２６４】
サービスマネージャ１２０４は、ＸＡＩＴ情報を受け取ると、ＡＩＴ情報からＪａｖａプログラムをダウンロードした手順と同じ手順で、ＭＰＥＧ２トランスポートストリームからファイルシステムを１次記憶部５１１に保存する。その後、保存したファイルシステムを２次記憶部５１０に複写する。なお、１次記憶部５１１を介さず、直接２次記憶部５１０にダウンロードすることも実施可能である。次に、サービスマネージャ１２０４は、ＸＡＩＴ情報にダウンロードしたファイルシステムの格納位置を対応つけて２次記憶部５１０に保存する。図２１は、２次記憶部５１０がＸＡＩＴ情報とダウンロードしたファイルシステムが対応つけられて保存されている一例を表す。図２１の中で、図２０と同じ番号の要素は図２０と同じなので、説明は省略する。列２１０１は対応するダウンロードしたファイルシステムの保存位置を格納する。図中、保存位置は矢印で示している。２１１０はダウンロードしたファイルシステムであり、内部にトップディレクトリ２１１１、ディレクトリ「ａ」２１１２、ディレクトリ「ｂ」２１１３、ファイル「Ｂａｎｎｅｒ１Ｘｌｅｔ．ｃｌａｓｓ」２１１４、ファイル「Ｂａｎｎｅｒ２Ｘｌｅｔ．ｃｌａｓｓ」２１１５を保持する。
【０２６５】
ここで、ＸＡＩＴ情報は、Ｊａｖａプログラムを保存してから保存しているが、Ｊａｖａプログラムを保存する前に保存することも実施可能である。
端末装置５００に電源が投入後、ＯＳ１２０１が、サービスマネージャ１２０４をＪａｖａＶＭ１２０３に指定し、ＪａｖａＶＭ１２０３がサービスマネージャ１２０４を起動した後、サービスマネージャ１２０４は、最初に２次記憶部５１０に保存されたＸＡＩＴ情報を参照する。ここで各Ｊａｖａプログラムの制御情報を参照し「ａｕｔｏｓｅｌｅｃｔ」のプログラムをＪａｖａＶＭ１２０３に引き渡し、起動する。図２１を参照して、行２０１１で定義されるＪａｖａプログラム「Ｂａｎｎｅｒ１Ｘｌｅｔ」が起動される。
【０２６６】
Ｊａｖａプログラム「Ｂａｎｎｅｒ１Ｘｌｅｔ」が起動されると、Ｊａｖａプログラム「Ｂａｎｎｅｒ１Ｘｌｅｔ」が文字や図形を表示する場合、Ｊａｖａプログラム「Ｂａｎｎｅｒ１Ｘｌｅｔ」はＣＰＵ５１４に対してＯＳＤの表示を指示する。ＣＰＵ５１４はＯＳＤ制御部５１６へ文字や図形データを渡し、ＯＳＤ表示処理が行われ、最終的に合成部５２３でＯＳＤバッファ５１９はビデオバッファ５１７とスチルバッファ５１８と合成され、ディスプレイ５０９に表示される。
【０２６７】
次に、本発明の主要機能である映像解像度切替機能について説明する。図３１は、映像解像度切替機能の構成図である。
アプリケーションプログラム３１００は、例えば、Ｊａｖａプログラム「Ｂａｎｎｅｒ１Ｘｌｅｔ」のようなアプリケーションである。
【０２６８】
解像度切替部１２０５ｆは、ＯＳＤ解像度管理部３１０１、ビデオ解像度管理部３１０２、スチル解像度管理部３１０３、ビデオフォーマット解像度変更検知部３１０４、解像度選択判断部３１０５を含み、映像解像度切替機能を担う。
【０２６９】
ＯＳＤ解像度管理部３１０１は、ＯＳＤバッファ５１９の解像度を管理する。ＯＳＤ解像度管理部３１０１は、アプリケーションプログラム３１００から現在のＯＳＤバッファ５１９の解像度の変更要求を受け付ける機能と、アプリケーションプログラム３１００にＯＳＤバッファ５１９の解像度が変更されたことを通知する機能を有する。ＯＳＤバッファ５１９の解像度の変更要求を受け付けた場合、解像度選択判断部３１０５に通知する。
【０２７０】
ビデオ解像度管理部３１０２は、ビデオバッファ５１７の解像度を管理する。ビデオ解像度管理部３１０２は、アプリケーションプログラム３１００から現在のビデオバッファ５１７の解像度の変更要求を受け付ける機能と、アプリケーションプログラム３１００にビデオバッファ５１７の解像度が変更されたことを通知する機能を有する。ビデオバッファ５１７の解像度の変更要求を受け付けた場合、解像度選択判断部３１０５に通知する。
【０２７１】
スチル解像度管理部３１０３は、スチルバッファ５１８の解像度を管理する。スチル解像度管理部３１０３は、アプリケーションプログラム３１００から現在のスチルバッファ５１８の解像度の変更要求を受け付ける機能と、アプリケーションプログラム３１００にスチルバッファ５１８の解像度が変更されたことを通知する機能を有する。スチルバッファ５１８の解像度の変更要求を受け付けた場合、解像度選択判断部３１０５に通知する。
【０２７２】
ビデオフォーマット解像度変更検知部３１０４は、ビデオデコーダ５０８で受信したビデオフォーマットの解像度が以前デコードしていたビデオフォーマットの解像度と異なる場合、解像度選択判断部３１０５に通知する。
【０２７３】
解像度選択判断部３１０５は、ＯＳＤ解像度管理部３１０１に現在のＯＳＤバッファ５１９の解像度変更要求があった場合と、ビデオ解像度管理部３１０２に現在のビデオバッファ５１７の解像度変更要求があった場合と、スチル解像度管理部３１０３に現在のスチルバッファ５１８の解像度変更要求があった場合と、ビデオフォーマット解像度変更検知部３１０４からビデオフォーマットの解像度の変更通知があった場合に、テレビ受信端末の各バッファ間の表示可能な組合せを考慮して、各バッファの解像度を選択する。ここで、表示可能な組合せを説明すると、テレビ受信端末は、文字図形を表示するＯＳＤバッファ５１９、ビデオを表示するビデオバッファ５１７、静止画を表示するスチルバッファ５１８の３層構造を持っており、各バッファ間では表示可能な組合せを持っている。例えば、図６０、図６１のような組合せである。テレビ受信端末が図６０に示す組合せ２（６００２）で各バッファを表示している時に、ビデオデコーダ５０８で受信したビデオフォーマットが、画像解像度が横１９２０ピクセル縦１０８０ピクセル及び画面縦横比が１６：９に変更された場合、ビデオフォーマットに合わせて、組合せ４（６００４）で各バッファの解像度を変更する場合がある。この図６０、図６１に示される各バッファの組み合わせは、２次記憶部５１０または、1次記憶部５１１、または、ＲＯＭ５１２に記憶されている。今、各バッファの組み合わせがＲＯＭ５１２に格納されているとすると、解像度選択判断部３１０５は、表示可能な組み合わせを考慮する時、ＲＯＭ５１２を参照し、可能な組み合わせの中から特定の規則に従って、最適な１つの組み合わせを選択することを意味する。
【０２７４】
図６２、図６３は、ＯＳＤ解像度管理部３１０１に現在のＯＳＤバッファ５１９の解像度変更要求があった場合の解像度選択判断部３１０５のフローチャートである。ＯＳＤ解像度管理部３１０１は解像度選択判断部３１０５にＯＳＤ解像度を渡し変更要求を行う（Ｓ６２０１）。解像度選択判断部３１０５は変更要求されたＯＳＤ解像度を１次記憶部５１１に記憶しておく（Ｓ６２０２）。次に、ビデオ解像度管理部３１０２に現在のビデオ解像度を問い合わせて取得する（Ｓ６２０３）。次に、図６０、図６１に示される複数のＯＳＤバッファの解像度とビデオバッファの解像度の組合せから、変更要求されたＯＳＤ解像度と現在のビデオ解像度の組合せと一致しているものの選択を試みる（Ｓ６２０４）。次に、Ｓ６２０４の結果において、選択可能か判断する（Ｓ６２０５）。
【０２７５】
Ｓ６２０５で選択可能であった場合、ＯＳＤ解像度管理部３１０１にＯＳＤ解像度変更通知が行われる（Ｓ６３０４）。
また、Ｓ６２０５で選択可能でなかった場合、図６０、図６１の組合せの中からＯＳＤバッファの解像度と変更要求されたＯＳＤ解像度が一致している組合せの選択を試みる（Ｓ６２０６）。次に、選択した組合せのビデオの解像度と現在のビデオの解像度が一致しているか比較し、ビデオの解像度が変更されるかどうかを判断する（Ｓ６２０７）。Ｓ６２０７の結果、変更される場合のみ、ビデオ解像度管理部３１０２にビデオ解像度変更通知が行われる（Ｓ６２０８）。次に、スチル解像度管理部３１０３に現在のスチル解像度を問い合わせて取得する（Ｓ６３０１）。選択した組合せのスチルの解像度と現在のスチルの解像度が一致しているか比較し、スチルの解像度が変更されるかどうかを判断する（Ｓ６３０２）。Ｓ６３０１の結果、変更される場合のみ、スチル解像度管理部３１０３にスチル解像度変更通知が行われる（Ｓ６３０３）。次に、ＯＳＤ解像度管理部３１０１にＯＳＤ解像度変更通知が行われる（Ｓ６３０４）。
【０２７６】
ここで、変更されたビデオバッファ５１７の解像度とビデオデコーダ５０８がデコードしたビデオ映像の解像度が異なる場合、ビデオデコーダ５０８はビデオ映像の解像度を変更されたビデオバッファ５１７の解像度に合わせて、拡大又は縮小してビデオバッファ５１７に格納する。
【０２７７】
ビデオ拡縮部５２０はビデオバッファ５１７に格納されたビデオデータをＯＳＤバッファの解像度に合わせて、拡大又は縮小する。例えば、変更された解像度の組合せが図６２の組合せ８（６２０４）であると仮定して説明すると、ＯＳＤバッファ５１９の解像度は９６０＊５４０であり、ビデオバッファ５１７の解像度とスチルバッファ５１８の解像度は１９２０＊１０８０であるので、ビデオ拡縮部５２０は、ビデオバッファ５１７に格納されたビデオデータを１９２０＊１０８０から９６０＊５４０に縮小し、スチル拡縮部５２１は、スチルバッファ５１８に格納されたスチルデータを１９２０＊１０８０から９６０＊５４０に縮小することで、ビデオ、スチル、ＯＳＤの解像度が同一になり、合成部５２３は合成を行うことができる。
【０２７８】
尚、上記の例では、ビデオ拡縮部５２０、スチル拡縮部５２１がＯＳＤバッファ５１９の解像度に合わせて拡大又は縮小しているが、スチル拡縮部５２１、ＯＳＤ拡縮部５２２がビデオバッファ５１７の解像度に合わせて拡大又は縮小する、又は、ビデオ拡縮部５２０、ＯＳＤ拡縮部５２２がスチルバッファ５１８の解像度に合わせて拡大又は縮小することとしてもよい。
【０２７９】
このように、表示可能なビデオバッファ５１７、スチルバッファ５１８、ＯＳＤバッファ５１９の解像度の組み合わせは、ビデオ拡縮部５２０、スチル拡縮部５２１、ＯＳＤ拡縮部５２２の動作を規定する拡大縮小情報を内包している。あるいは、表示可能なビデオバッファ５１７、スチルバッファ５１８、ＯＳＤバッファ５１９の解像度の組み合わせと対応付けて、明示的に拡大縮小情報を２次記憶部５１０、1次記憶部５１１、ＲＯＭ５１２に等に記憶してもよい。ここで、拡大縮小情報は具体的に、ビデオ拡縮部５２０、スチル拡縮部５２１、ＯＳＤ拡縮部５２２各々に対して定義されていてもよいし、ビデオ拡縮部５２０、スチル拡縮部５２１、ＯＳＤ拡縮部５２２共通で合成部５２３に出力すべき解像度として規定されていでもよい。また、この共通の解像度を指定する共通解像度指定部を付加することにより、合成部５２３に出力するビデオ、ＯＳＤ，スチルの解像度を容易に変更できるようにしてもよい。ここで、共通解像度指定部はアプリケーションプログラムから解像度を指定されてもよいし、解像度選択判定部３１０５が解像度を指定されてもよい。
【０２８０】
また、解像度選択判断部３１０５は、ビデオ拡縮部５２０、スチル拡縮部５２１、ＯＳＤ拡縮部５２２に対して、拡大縮小の指示も行う。
図６４、図６５は、ビデオデコーダ５０８で受信したビデオフォーマットの解像度が以前デコードしていたビデオフォーマットの解像度と異なる場合の解像度選択判断部３１０５のフローチャートである。ビデオフォーマット解像度変更検知部３１０４は解像度選択判断部３１０５にビデオフォーマット解像度変更を通知する（Ｓ６４０１）。
【０２８１】
解像度選択判断部３１０５は、図６０、図６１に示される複数のＯＳＤバッファの解像度とビデオバッファの解像度の組合せから、通知されたビデオフォーマット解像度と１次記憶部５１１に記憶されている変更要求ＯＳＤ解像度の組合せと一致しているものの選択を試みる（Ｓ６４０２）。Ｓ６４０２の結果、選択可能か判断し（Ｓ６４０３）、Ｓ６４０３で選択が可能でない場合のみ、
図６０、図６１の組合せの中からＯＳＤバッファの解像度と１次記憶部５１１に記憶されている変更要求ＯＳＤ解像度が一致している組合せの選択を試みる（Ｓ６４０４）。
【０２８２】
次に、ビデオ解像度管理部３１０２に現在のビデオ解像度を問い合わせて取得する（Ｓ６４０５）。次に、選択した組合せのビデオの解像度と現在のビデオの解像度が一致しているか比較し、ビデオの解像度が変更されるかどうかを判断し（Ｓ６４０６）、Ｓ６４０６の結果、変更される場合のみ、ビデオ解像度管理部３１０２にビデオ解像度変更通知が行われる（Ｓ６４０７）。
【０２８３】
次に、スチル解像度管理部３１０３に現在のスチル解像度を問い合わせて取得する（Ｓ６５０１）。次に、選択した組合せのスチルの解像度と現在のスチルの解像度が一致しているか比較し、スチルの解像度が変更されるかどうかを判断し（Ｓ６５０２）、Ｓ６５０２の結果、変更される場合のみ、スチル解像度管理部３１０３にスチル解像度変更通知が行われる（Ｓ６５０３）。
【０２８４】
また、ビデオデコーダ５０８で受信したビデオフォーマットの解像度が以前デコードしていたビデオフォーマットの解像度と異なる場合の解像度選択判断部３１０５は、図６６、図６７に示すフローチャートの内容でも良いものとする。
【０２８５】
ビデオフォーマット解像度変更検知部３１０４は解像度選択判断部３１０５にビデオフォーマット解像度変更を通知する（Ｓ６６０１）。
解像度選択判断部３１０５は、ＯＳＤ解像度管理部３１０１に現在のＯＳＤ解像度を問い合わせて取得する（Ｓ６６０２）。次に、図６０、図６１に示される複数のビデオバッファの解像度とＯＳＤバッファの解像度の組合せから、通知されたビデオフォーマット解像度と現在のＯＳＤ解像度の組合せと一致しているものの選択を試みる（Ｓ６６０３）。次に、Ｓ６６０３の結果、選択可能か判断する（Ｓ６６０４）。
【０２８６】
Ｓ６６０４で選択が可能な場合、ビデオ解像度管理部３１０２に現在のビデオ解像度を問い合わせて取得する（Ｓ６６０５）。次に選択した組合せのビデオの解像度と現在のビデオの解像度が一致しているか比較し、ビデオの解像度が変更されるかどうかを判断し（Ｓ６６０６）、Ｓ６６０６の結果、変更される場合のみ、ビデオ解像度管理部３１０２にビデオ解像度変更通知が行われる（Ｓ６６０７）。次に、スチル解像度管理部３１０３に現在のスチル解像度を問い合わせて取得する（Ｓ６７０１）。次に、選択した組合せのスチルの解像度と現在のスチルの解像度が一致しているか比較し、スチルの解像度が変更されるかどうかを判断し（Ｓ６７０２）、Ｓ６７０２の結果、変更される場合のみ、スチル解像度管理部３１０３にスチル解像度変更通知が行われる（Ｓ６７０３）。
【０２８７】
図６８は、ＯＳＤ解像度管理部３１０１が解像度変更通知を受け取った場合のフローチャートである。ＯＳＤ解像度管理部３１０１は解像度変更通知を受け取る（Ｓ６８０１）と、ＯＳＤ解像度管理部３１０１はＯＳＤ制御部５１６に変更されたＯＳＤ解像度を渡し（Ｓ６８０２）、ＯＳＤ制御部５１６は変更されたＯＳＤ解像度をＯＳＤバッファ５１９に格納し、ＯＳＤデータをＯＳＤバッファ５１９に転送し格納する（Ｓ６８０３）。ＯＳＤ解像度管理部３１０１は、ＯＳＤバッファ５１９とビデオバッファ５１７とスチルバッファ５１８を合成するためにＯＳＤ拡縮部５２１に拡大縮小比率を渡す（Ｓ６８０４）。ＯＳＤ拡縮部５２１はＯＳＤバッファ５１９に格納されたＯＳＤデータを渡された拡大縮小比率で拡大又は縮小を行う（Ｓ６８０５）。尚、ＯＳＤ解像度管理部３１０１が変更されたＯＳＤ解像度をＯＳＤバッファ５１９に格納し、ＯＳＤ制御部５１６はＯＳＤバッファ５１９に格納されたＯＳＤ解像度を参照し転送するでもよい。
【０２８８】
図６９は、ビデオ解像度管理部３１０２が解像度変更通知を受け取った場合のフローチャートである。ビデオ解像度管理部３１０２は解像度変更通知を受け取る（Ｓ６９０１）と、ビデオ解像度管理部３１０２はビデオデコーダ５０８に変更されたビデオ解像度を渡し（Ｓ６９０２）、ビデオデコーダ５０８は変更されたビデオ解像度と変更されたビデオ解像度でデコードしたビデオデータをビデオバッファ５１７に格納する（Ｓ６９０３）。ビデオ解像度管理部３１０２は、ＯＳＤバッファ５１９とビデオバッファ５１７とスチルバッファ５１８を合成するためにビデオ拡縮部５２０に拡大縮小比率を渡す（Ｓ６９０４）。ビデオ拡縮部５２０はビデオバッファ５１７に格納されたビデオデータを渡された拡大縮小比率で拡大又は縮小を行う（Ｓ６９０５）。尚、ビデオ解像度管理部３１０２が変更されたビデオ解像度をビデオバッファ５１７に格納し、ビデオデコーダ５０８はビデオバッファ５１７に格納されたビデオ解像度を参照してデコードするでもよい。
【０２８９】
図７０は、スチル解像度管理部３１０が解像度変更通知を受け取った場合のフローチャートである。スチル解像度管理部３１０３は解像度変更通知を受け取る（Ｓ７００１）と、スチル解像度管理部３１０３はスチルデコーダ５１５に変更されたスチル解像度を渡し（Ｓ７００２）、スチルデコーダ５１５は変更されたスチル解像度と変更されたスチル解像度でスチルデータをデコードしスチルバッファ５１８に格納する（Ｓ７００３）。スチル解像度管理部３１０３は、ＯＳＤバッファ５１９とビデオバッファ５１７とスチルバッファ５１８を合成するためにスチル拡縮部５２１に拡大縮小比率を渡す（Ｓ７００４）。スチル拡縮部５２１はスチルバッファ５１８に格納されたスチルデータを渡された拡大縮小比率で拡大又は縮小を行う（Ｓ７００５）。尚、スチル解像度管理部３１０３が変更されたスチル解像度をスチルバッファ５１８に格納し、スチルデコーダ５１５はスチルバッファ５１８に格納されたスチル解像度を参照してデコードするでもよい。
【０２９０】
例えば、アプリケーションプログラム３１００がビデオ表示を小さく行い、アプリケーションの表示を全面で行っているようなアプリケーションだとする。具体的には、ＪＭＦ１２０５ａは、ビデオ映像の拡大縮小や表示位置を指定する機能を提供し、アプリケーションプログラム３１００は、これら機能を利用する。この場合、図３９のように表示画面３９００上ではアプリケーションの表示であるＯＳＤ表示エリア３９０１が大部分を占め、ビデオ表示エリア３９０２が小さい。ビデオ表示エリア３９０２は、ＪＭＦ１２０５ａが提供する機能によりサイズ及び表意位置が決定されている。この時にビデオフォーマットが変更された場合は、解像度選択判断部３１０５は現在表示しているＯＳＤ解像度に合わせて、表示可能な組合せに変更するのが望ましい。なぜならば、アプリケーションにおいては、既にビデオ映像は縮小表示されており、画質は明らかに劣化している。ビデオプレーンの解像度の変化に応じてＯＳＤバッファ５１９の解像度を変化させても、ビデオ映像の画質の劣化は回避できない。一方、ＯＳＤバッファ５１９の解像度を変化に伴ないアプリケーションプログラム３１００は、ＯＳＤ表示エリア３９０１を差描画する必要がある。大きな表示エリアに対する描画処理は一般に時間がかかる。また、ＯＳＤバッファ５１９の解像度に応じた文字図形情報を複数用意する必要があり、多くのメモリーを必要とする。そして、煩雑な処理をアプリケーションプログラム３１００に実装しなければならない。従って、アプリケーションプログラム３１００が、明示的に、ＯＳＤ解像度管理部３１０１に対して希望のＯＳＤ解像度の変更要求を出せば、ＯＳＤ解像度が優先されることになる。この結果、アプリケーションプログラム３１００の複雑さや、余分な文字図形データの保持が表となる。また、ＯＳＤバッファ５１９の解像度が優先されると、ビデオ拡縮部５２０は、ビデオバッファ５１７に格納されたビデオ映像を維持された解像度に合致するよう、拡大縮小することになる。
【０２９１】
（実施の形態８）
実施の形態７において、図３８、図３９に示される２つのアプリケーションが同時に実行されている場合、どちらのアプリケーションを優先するかを決める必要がある。本実施の形態においては、解像度切替部１２０５ｆの構成を図５６とする。図３１と同じ番号の構成要素は同じ働きを行うため、説明を書略する。変更許可部５６０１は、アプリケーションプログラム３１００の変更要求の許可を行う。アプリケーションプログラム３１００は、ＯＳＤ解像度管理部５６０２、ビデオ解像度管理部５６０３、スチル解像度管理部５６０４に解像度の変更要求を行う前に、変更許可部５６０１に変更許可を得る。許可を得た後、必要な変更要求を行い、変更要求が必要なくなれば、変更許可部５６０１に許可が不要になったことを通知する。変更許可部５６０１は、既に許可を発行後に他のアプリケーションが許可を求めてきた際、２つのアプリケーションの優先度を比較して、どちらに許可を与えるか決定する、アプリケーションの優先度は、実施の形態７における図２０の例のようにアプリヶ―ションに予め割り当てられた優先度を変更許可部５６０１が参照してもよいし、アプリケーションプログラム３１００が変更許可部５６０１に明示的に与えても良い。ＯＳＤ解像度管理部５６０２、ビデオ解像度管理部５６０３、スチル解像度管理部５６０４は、ＯＳＤ解像度管理部３１０１、ビデオ解像度管理部３１０２、スチル解像度管理部３１０３の機能に加え、変更許可部５６０１に許可を得ていないアプリケーションプログラム３１００からの要求を受け付けない。  本実施の形態を実現することにより、どのアプリケーションの要求を受け付けるかを明確にすることができるため、複数のアプリケーションの同時実行が可能になる。
なお、実施の形態１、２、３、４、５、６、７、８を通して、以下の応用が可能である。
【０２９２】
本発明は、パーソナルコンピュータや携帯電話などの情報機器であれば、適応可能である。
また、ＰＯＤ５０４は着脱可能な形態としているが、内蔵していても実施可能である。なお、内蔵した場合、ＰＯＤ５０４のＣＰＵ７０６を取り外し、ＣＰＵ５１４がＣＰＵ７０６の動作も行うことも実施可能である。
【０２９３】
ＰＯＤ  Ｌｉｂ１２０５ｅに登録されるＪａｖａプログラムは、ダウンロードされたＪａｖａプログラムだけでなく、予め内蔵されているＪａｖａプログラムでも実施可能である。また、ＳＤメモリーカードなどの着脱可能な記憶媒体を着脱するとスロット部を取り付け、そこからＪａｖａプログラムを取り込むことも可能である。また、ネットワークに接続するネットワーク部を取り付け、インターネットからＪａｖａプログラムを取り出すことも可能である。
【０２９４】
また、ＲＯＭ５１２が保存する内容を２次記憶部５１０が保存することで、ＲＯＭ５１２を削除することも実施可能である。また、２次記憶部５１０は、複数のサブ２次記憶部で構成し、個々のサブ２次記憶部が異なる情報を保存しても実施可能である。例えば、１つのサブ２次記憶部はチューニング情報のみを保存し、別のサブ２次記憶部は、ＯＳ１２０１のライブラリ１２０１ｂを保存し、更に別のサブ２次記憶部は、ダウンロードしたＪａｖａプログラムを保存するなど、詳細に分割することが可能である。
【０２９５】
また、登録されたＪａｖａプログラムを２次記憶部５１０に保存していたが、１次記憶部５１１に保存することも実施可能である。１次記憶部５１１に保存する場合、電源ＯＦＦ時に、保存された情報は全て消える。
【０２９６】
また、ビデオ拡縮部５２０、スチル拡縮部５２１、ＯＳＤ拡縮部５２２は、拡大縮小を行った結果をそのまま合成部５２３に引き渡すこととしているが、第２ビデオバッファ、第２スチルバッファ、第２ＯＳＤバッファを付加し、ビデオ拡縮部５２０、スチル拡縮部５２１、ＯＳＤ拡縮部５２２は、拡大縮小を行った結果を第２ビデオバッファ、第２スチルバッファ、第２ＯＳＤバッファに格納し、合成部５２３は、第２ビデオバッファ、第２スチルバッファ、第２ＯＳＤバッファの内容を読み取り合成することとしてもよい。
【産業上の利用可能性】
【０２９７】
本発明は、映像とグラフィックスとを表示する装置等として、例えば、デジタル放送においてインタラクティブ番組を受信するテレビ受信端末等として、特に、映像とグラフィックスと静止画について解像度を切り替えて表示する装置等として利用することができる。
【図面の簡単な説明】
【０２９８】
【図１】本発明に係るケーブルテレビシステムの実施の形態１の構成図である。
【図２】本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例である。
【図３】本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例である。
【図４】本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例である。
【図５】本発明に係るケーブルテレビシステムにおいて端末装置の構成図である。
【図６】本発明に係るケーブルテレビシステムにおいて端末装置の外観の知例である。
【図７】本発明に係るＰＯＤ５０４のハードウエア構成の構成図である。
【図８】本発明に係るＰＯＤ５０４が保存するプログラム構成の構成図である。
【図９】ＭＰＥＧ規格で定義されているパケットの構成図である。
【図１０】ＭＰＥＧ２トランスポートストリームの一例である。
【図１１】入力部５１３をフロントパネルで構成した場合の外観の一例である。
【図１２】本発明に係る端末装置５００が保存するプログラム構成の構成図である。
【図１３】（１）本発明に係るディスプレイ５０９の表示の一例である。（２）本発明に係るディスプレイ５０９の表示の一例である。
【図１４】本発明に係る２次記憶部５１０が保存する情報の一例である。
【図１５】本発明に係る１次記憶部５１１が保存する情報の一例である。
【図１６】本発明に係るＭＰＥＧ２規格が規定するＰＡＴの内容を表す模式図である。
【図１７】本発明に係るＭＰＥＧ２規格が規定するＰＭＴの内容を表す模式図である。
【図１８】本発明に係るＤＶＢ−ＭＨＰ規格が規定するＡＩＴの内容を表す模式図である。
【図１９】本発明に係るＤＳＭＣＣ方式で送信されるファイルシステムを表す模式図である。
【図２０】本発明に係るＸＡＩＴの内容を表す模式図である。
【図２１】本発明に係る２次記憶部５１０が保存する情報の一例である。
【図２２】本発明に係るプレーンのＺオーダーの一例である。
【図２３】本発明に係るプレーンのＺオーダーの組合せの一例である。
【図２４】本発明に係るビデオの表示処理に関するフローチャートの一例である。
【図２５】本発明に係るスチルの表示処理に関するフローチャートの一例である。
【図２６】本発明に係るＯＳＤの表示処理に関するフローチャートの一例である。
【図２７】本発明に係るビデオとスチルとＯＳＤの合成処理に関するフローチャートの一例である。
【図２８】本発明に係る拡大縮小の表示イメージの一例である。
【図２９】本発明に係る合成前の表示イメージの一例である。
【図３０】本発明に係る合成後の表示イメージの一例である。
【図３１】本発明に係る解像度切替部１２０５ｆの構成図の一例である。
【図３２】本発明に係る各プレーン間では表示可能な組合せの一例である。
【図３３】本発明に係るＯＳＤプレーンの解像度変更要求があった場合の解像度選択判断部３１０５の処理フローチャートの一例である。
【図３４】本発明に係るビデオプレーンの解像度変更要求があった場合の解像度選択判断部３１０５の処理フローチャートの一例である。
【図３５】本発明に係るスチルプレーンの解像度変更要求があった場合の解像度選択判断部３１０５のフローチャートの一例である。
【図３６】本発明に係る以前デコードしていたビデオフォーマットの解像度と異なる場合の解像度選択判断部３１０５のフローチャートの一例である。
【図３７】本発明に係る以前デコードしていたビデオフォーマットの解像度と異なる場合の解像度選択判断部３１０５のフローチャートの一例である。
【図３８】本発明に係るビデオフォーマット変更が優先されるアプリケーションプログラムの画面の一例である。
【図３９】本発明に係るＯＳＤ解像度が優先されるアプリケーションプログラムの画面の一例である。
【図４０】本発明に係る解像度切替部１２０５ｆの構成図の一例である。
【図４１】本発明に係る解像度切替部１２０５ｆの構成図の一例である。
【図４２】本発明に係る最適ＯＳＤ解像度を登録する場合の最適解像度管理部４１０６のフローチャートの一例である。
【図４３】本発明に係る最適ＯＳＤ解像度を削除する場合の最適解像度管理部４１０６のフローチャートの一例である。
【図４４】本発明に係るＯＳＤプレーンの解像度変更要求があった場合の解像度選択判断部４１０５のフローチャートの一例である。
【図４５】本発明に係るビデオプレーンの解像度変更要求があった場合の解像度選択判断部４１０５のフローチャートの一例である。
【図４６】本発明に係るスチルプレーンの解像度変更要求があった場合の解像度選択判断部４１０５のフローチャートの一例である。
【図４７】本発明に係る以前デコードしていたビデオフォーマットの解像度と異なる場合の解像度選択判断部４１０５のフローチャートの一例である。
【図４８】本発明に係る以前デコードしていたビデオフォーマットの解像度と異なる場合の解像度選択判断部４１０５のフローチャートの一例である。
【図４９】本発明に係るＪａｖａプログラム識別子と最適ＯＳＤ解像度の組の一例である。
【図５０】本発明に係る最適ＯＳＤ解像度を登録する場合の最適解像度管理部４１０６のフローチャートの一例である。
【図５１】本発明に係る最適ＯＳＤ解像度を削除する場合の最適解像度管理部４１０６のフローチャートの一例である。
【図５２】本発明に係る以前デコードしていたビデオフォーマットの解像度と異なる場合の解像度選択判断部４１０５のフローチャートの一例である。
【図５３】本発明に係る以前デコードしていたビデオフォーマットの解像度と異なる場合の解像度選択判断部４１０５のフローチャートの一例である。
【図５４】本発明に係る以前デコードしていたビデオフォーマットの解像度と異なる場合の解像度選択判断部４１０５のフローチャートの一例である。
【図５５】本発明に係る以前デコードしていたビデオフォーマットの解像度と異なる場合の解像度選択判断部３１０５のフローチャートの一例である。
【図５６】本発明に係る解像度切替部１２０５ｆの構成図の一例である。
【図５７】第１〜第３バッファの位置関係を示す図である。
【図５８】第１〜第３バッファのＺオーダーに関する組み合わせパターンの一例を示す図である。
【図５９】図２４で示されるフローチャートで生成されるビデオと図２５で示されるフローチャートで生成されるスチルと図２６で示されるフローチャートで生成されるＯＳＤの合成処理に関するフローチャートである。
【図６０】３種類のバッファの解像度に関する表示可能な組合せの一例を示す図である。
【図６１】３種類のバッファの解像度に関する表示可能な組合せの一例を示す図（図６０の続き）である。
【図６２】ＯＳＤ解像度管理部に現在のＯＳＤバッファの解像度変更要求があった場合の解像度選択判断部の処理を示すフローチャートである。
【図６３】ＯＳＤ解像度管理部に現在のＯＳＤバッファの解像度変更要求があった場合の解像度選択判断部のフローチャート（図６２の続き）である。
【図６４】ビデオデコーダで受信したビデオフォーマットの解像度が以前デコードしていたビデオフォーマットの解像度と異なる場合の解像度選択判断部の処理を示すフローチャートである。
【図６５】ビデオデコーダで受信したビデオフォーマットの解像度が以前デコードしていたビデオフォーマットの解像度と異なる場合の解像度選択判断部の示すフローチャートである（図６４の続き）。
【図６６】ビデオデコーダで受信したビデオフォーマットの解像度が以前デコードしていたビデオフォーマットの解像度と異なる場合の解像度選択判断部の処理を示す他のフローチャートである。
【図６７】ビデオデコーダで受信したビデオフォーマットの解像度が以前デコードしていたビデオフォーマットの解像度と異なる場合の解像度選択判断部の処理を示す他のフローチャートである（図６６の続き）。
【図６８】ＯＳＤ解像度管理部が解像度変更通知を受け取った場合のフローチャートである。
【図６９】ビデオ解像度管理部が解像度変更通知を受け取った場合のフローチャートである。
【図７０】スチル解像度管理部が解像度変更通知を受け取った場合のフローチャートである。
【符号の説明】
【０２９９】
１２００  プログラム
１２０１  ＯＳ
１２０１ａ  カーネル
１２０１ｂ  ライブラリ
１２０２  ＥＰＧ
１２０２ａ  番組表示部
１２０２ｂ  再生部
１２０３  ＪａｖａＶＭ
１２０４  サービスマネージャ
１２０５  Ｊａｖａライブラリ
１２０５ａ  ＪＭＦ
１２０５ｂ  ＡＭ
１２０５ｃ  Ｔｕｎｅｒ
１２０５ｄ  ＣＡ
１２０５ｅ  ＰＯＤ  Ｌｉｂ
１２０５ｆ  解像度切替部
１２０５ｇ  ＡＷＴ
１２０５ｈ  ＳＴＬ
【図１】
2005039794.tif 000003
【図２】
2005039794.tif 000004
【図３】
2005039794.tif 000005
【図４】
2005039794.tif 000006
【図５】
2005039794.tif 000007
【図６】
2005039794.tif 000008
【図７】
2005039794.tif 000009
【図８】
2005039794.tif 000010
【図９】
2005039794.tif 000011
【図１０】
2005039794.tif 000012
【図１１】
2005039794.tif 000013
【図１２】
2005039794.tif 000014
【図１３】
2005039794.tif 000015
【図１４】
2005039794.tif 000016
【図１５】
2005039794.tif 000017
【図１６】
2005039794.tif 000018
【図１７】
2005039794.tif 000019
【図１８】
2005039794.tif 000020
【図１９】
2005039794.tif 000021
【図２０】
2005039794.tif 000022
【図２１】
2005039794.tif 000023
【図２２】
2005039794.tif 000024
【図２３】
2005039794.tif 000025
【図２４】
2005039794.tif 000026
【図２５】
2005039794.tif 000027
【図２６】
2005039794.tif 000028
【図２７】
2005039794.tif 000029
【図２８】
2005039794.tif 000030
【図２９】
2005039794.tif 000031
【図３０】
2005039794.tif 000032
【図３１】
2005039794.tif 000033
【図３２】
2005039794.tif 000034
【図３３】
2005039794.tif 000035
【図３４】
2005039794.tif 000036
【図３５】
2005039794.tif 000037
【図３６】
2005039794.tif 000038
【図３７】
2005039794.tif 000039
【図３８】
2005039794.tif 000040
【図３９】
2005039794.tif 000041
【図４０】
2005039794.tif 000042
【図４１】
2005039794.tif 000043
【図４２】
2005039794.tif 000044
【図４３】
2005039794.tif 000045
【図４４】
2005039794.tif 000046
【図４５】
2005039794.tif 000047
【図４６】
2005039794.tif 000048
【図４７】
2005039794.tif 000049
【図４８】
2005039794.tif 000050
【図４９】
2005039794.tif 000051
【図５０】
2005039794.tif 000052
【図５１】
2005039794.tif 000053
【図５２】
2005039794.tif 000054
【図５３】
2005039794.tif 000055
【図５４】
2005039794.tif 000056
【図５５】
2005039794.tif 000057
【図５６】
2005039794.tif 000058
【図５７】
2005039794.tif 000059
【図５８】
2005039794.tif 000060
【図５９】
2005039794.tif 000061
【図６０】
2005039794.tif 000062
【図６１】
2005039794.tif 000063
【図６２】
2005039794.tif 000064
【図６３】
2005039794.tif 000065
【図６４】
2005039794.tif 000066
【図６５】
2005039794.tif 000067
【図６６】
2005039794.tif 000068
【図６７】
2005039794.tif 000069
【図６８】
2005039794.tif 000070
【図６９】
2005039794.tif 000071
【図７０】
2005039794.tif 000072