デジタル放送受信装置及びデジタル放送表示方法
【課題】放送のコンテンツを表示するためのアプリケーションが使用する複数の記憶領域について、メモリの解放と取得の処理を適切に行うようにしたデジタル放送受信装置を提供する。
【解決手段】デジタル放送受信装置1のミドルウエア43は、表示プログラムが変更された場合に、各記憶領域について、その変更前のアプリケーションと変更後のアプリケーションとが同じであるか否かを判定し、判定の結果、変更後のアプリケーションが変更前のアプリケーションと異なるときは、変更前のアプリケーションが使用していた記憶領域について開放を行い、かつ変更後のアプリケーションに対して取得させ、変更後のアプリケーションが変更前のアプリケーションと同じときあるいは変更後に使用するアプリケーションが無いときは、変更前のアプリケーションプログラムが使用していた記憶領域について開放を行わないように制御する。
【解決手段】デジタル放送受信装置1のミドルウエア43は、表示プログラムが変更された場合に、各記憶領域について、その変更前のアプリケーションと変更後のアプリケーションとが同じであるか否かを判定し、判定の結果、変更後のアプリケーションが変更前のアプリケーションと異なるときは、変更前のアプリケーションが使用していた記憶領域について開放を行い、かつ変更後のアプリケーションに対して取得させ、変更後のアプリケーションが変更前のアプリケーションと同じときあるいは変更後に使用するアプリケーションが無いときは、変更前のアプリケーションプログラムが使用していた記憶領域について開放を行わないように制御する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタル放送受信装置及びデジタル放送表示方法に関し、特に、それぞれが画面表示に関わるプログラムである複数のアプリケーションプログラムを実行するデジタル放送受信装置及びデジタル放送表示方法に関する。
【背景技術】
【0002】
従来より、一般にオペレーティングシステム(以下、OSという)を搭載しているコンピュータでは、アプリケーションプログラム(以下、アプリケーションと称す)の実行は、OSの管理下で実行される。OSは、コンピュータの有している、有限のメモリ等のハードウェア資源を、アプリケーションに割り当て、資源すなわちリソースを有効に用いるよう動作している。
【0003】
同様に、近年のデジタルテレビジョン装置にも、多くのアプリケーションを実行するために、OSが搭載されている。これは、多くのアプリケーションを搭載しているデジタルテレビジョン装置においてもOSの種々の機能を利用してしなければ、ユーザに提供する機能を実現するためのアプリケーションを実行できないだけでなく、アプリケーションの開発も困難となってきているからである。
【0004】
従って、デジタルテレビジョン装置にはOSが搭載されているが、リソースの全てについてOSの機能を利用して管理しているわけではない。一部のリソース、例えばGUI(Graphical User Interface)を表示するために使用するメモリ等、については、OS上のミドルウエア(OSから見るとアプリケーションである)が、割り当て処理を行っている。ミドルウエアのさらに上位層には、例えばGUIを表示する各種アプリケーションが設けられている。その割り当て処理を行うミドルウエア(割当処理アプリケーション)が、リソースの割り当て処理を行う場合には、各アプリケーションの起動および終了をするたびにリソースの取得および開放を行っている。
【0005】
割当処理アプリケーションは、通常のメモリの割り当て動作では、アプリケーションが起動するときにメモリを取得し、アプリケーションの実行が終了するときにメモリを開放する。これは、アプリケーションの実行終了後は、メモリの割り当て状態を一旦開放することにより、割当処理アプリケーションにとってメモリの割り当て状況を把握しやすいからである。
【0006】
割当処理アプリケーションの行う処理が、割り当てるメモリのアドレス、使用するメモリサイズ等の情報だけの管理であれば、割り当て処理に係る時間も短時間となるので問題ない。しかし、割当処理アプリケーションの行う処理には、取得もしくは開放時にメモリ領域のクリア処理、すなわち、そのメモリ領域のデータをクリアにする処理が伴う場合がある。従って、メモリ取得および開放を頻繁に行うときに、クリア処理を行う対象の記憶領域のメモリサイズが大きい程、割当処理に掛かる時間が長くなってくるという問題が生じる。テレビジョン装置の場合、コンテンツ映像を表示するための各種アプリケーションが使用するメモリに対しては、クリア処理が要求される。
アプリケーションが使用するメモリを、アプリケーションが常駐型か一時型かを示す属性情報に基づいて、メモリの開放制御を行う技術の提案もある(例えば、特許文献1参照)。
【特許文献1】特開2003−15892号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかし、上述したようなテレビジョン受信機のようなメモリについてはなんら考慮されていない。すなわち、その提案では、テレビジョン受信機のような装置において、必要なメモリの開放及び取得を行いながら、必要なクリア処理を適切に行えるようにすることについては、何ら考慮されていない。
【0008】
本発明は、このような問題に鑑みて成されたものであって、放送のコンテンツを表示するためのアプリケーションが使用する複数の記憶領域について、メモリの解放と取得の処理を適切に行うようにしたデジタル放送受信装置及びデジタル放送表示方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の一態様によれば、受信した放送のコンテンツの表示のためのプログラムを含む複数のアプリケーションプログラムにより前記受信した放送を表示可能なデジタル放送受信装置であって、前記複数のアプリケーションプログラムが使用する複数の記憶領域と、前記表示のためのプログラムが変更された場合に、前記複数の記憶領域のそれぞれについて、その変更前のアプリケーションプログラムと変更後のアプリケーションプログラムとが同じであるか否かを判定し、該判定の結果、前記変更後のアプリケーションプログラムが前記変更前のアプリケーションプログラムが異なるときは、前記変更前のアプリケーションプログラムが使用していた記憶領域について開放を行い、かつ前記変更後のアプリケーションプログラムに対して取得させ、前記変更後のアプリケーションプログラムが前記変更前のアプリケーションプログラムと同じときあるいは前記変更後に使用するアプリケーションプログラムが無いときは、前記変更前のアプリケーションプログラムが使用していた記憶領域について開放を行わないように制御する記憶領域制御部と、を有するデジタル放送受信装置を提供することができる。
【0010】
本発明の一態様によれば、受信した放送のコンテンツの表示のためのプログラムを含む複数のアプリケーションプログラムにより前記受信した放送を表示する方法であって、前記複数のアプリケーションプログラムが使用する複数の記憶領域を設け、前記表示のためのプログラムが変更された場合に、前記複数の記憶領域のそれぞれについて、その変更前のアプリケーションプログラムと変更後のアプリケーションプログラムとが同じであるか否かを判定し、該判定の結果、前記変更後のアプリケーションプログラムが前記変更前のアプリケーションプログラムが異なるときは、前記変更前のアプリケーションプログラムが使用していた記憶領域について開放を行い、かつ前記変更後のアプリケーションプログラムに対して取得させ、前記変更後のアプリケーションプログラムが前記変更前のアプリケーションプログラムと同じときあるいは前記変更後に使用するアプリケーションプログラムが無いときは、前記変更前のアプリケーションプログラムが使用していた記憶領域について開放を行わないように制御することを特徴とするデジタル放送表示方法を提供することができる。
【発明の効果】
【0011】
本発明によれば、放送のコンテンツを表示するためのアプリケーションが使用する複数の記憶領域について、メモリの解放と取得の処理を適切に行うようにしたデジタル放送受信装置及びデジタル放送表示方法を提供することができる。
【発明を実施するための最良の形態】
【0012】
以下、図面を参照して本発明の実施の形態を説明する。
【0013】
(構成)
まず図1に基づき、本実施の形態に係わるデジタル放送受信装置の構成を説明する。図1は、本実施の形態に係わるデジタル放送受信装置1の構成を示す構成図である。本実施の形態に係るデジタル放送受信装置1は、デジタルテレビジョン受信機である。デジタル放送受信機1は、主として、チューナ11と、復調器12と、信号処理回路13と、グラフィック処理回路14と、映像処理回路15と、モニタ16と、音声処理回路17と、スピーカ18と、インターフェース(以下、I/Fと略す)回路19とを含む。チューナ11は、アンテナ21に接続される。I/F回路19は、ユーザが視聴したい番組の選択等を行うリモートコントローラ(以下、リモコンと略す)22からのコマンド信号を受信する回路である。
【0014】
信号処理回路13は、内部に、制御部であるCPU13aと、SDRAM13bと、ROM13cを含んで構成されている。ROM13cは、ここでは、ソフトウエアのバージョンアップが可能なように、電気的に書き換え可能なメモリである、フラッシュメモリすなわちフラッシュROMである。
【0015】
デジタルテレビジョン受信機であるデジタル放送受信装置1は、リモコン22からのコマンド信号に基づいて、ユーザに希望するチャンネルをチューナ11に選局させ、必要なグラフィック処理をグラフィック処理回路14において行って、モニタ16に番組の映像を表示する。よって、ユーザは、リモコン22を操作することによって、所望の番組を試聴することができる。
【0016】
また、ユーザは、画面の表示モードを切り換えて変更することができる。
図2から図5は、画面の表示モードを説明するための画面の表示例を示す図である。
図2は、1画面表示であって、かつデータ放送があるモードの表示状態を示す図である。図2に示すように、モニタ16の画面31は、映像を表示する映像表示部31Aと、データ放送用の表示部31Bを含む。以下、図2のような画面のモードを、1画面(a)モードという。
【0017】
図3は、1画面表示であって、かつデータ放送がないモードの表示状態を示す図である。図3に示すように、モニタ16の画面31は、映像を表示する映像表示部31Cを含む。以下、図3のような画面のモードを、1画面(b)モードという。
【0018】
図4は、2画面表示であって、かつデータ放送の提示すなわち出力を禁止し、かつ字幕があるモードの表示状態を示す図である。図4に示すように、モニタ16の画面31は、映像を表示する映像表示部31D、31Eと、字幕表示部31Fを含む。以下、図4のような画面のモードを、2画面(a)モードという。
【0019】
また、図示はしないが、2画面表示であって、かつデータ放送の提示すなわち出力を禁止し、かつ字幕がないモードもある。そのモードでは、図4において、モニタ16の画面31は、映像を表示する映像表示部31D、31Eを有するが、字幕表示部31Fは含まない。以下、このような画面のモードを、2画面(b)モードという。
【0020】
図5は、番組表を表示し、かつデータ放送の提示及び字幕表示を禁止するモードの表示状態を示す図である。図5に示すように、モニタ16の画面31は、各チャンネルの番組を、EPG(Electronic Program Guide)のデータに基づき表示する番組表表示部31Gを含む。以下、図5のような画面のモードを、番組表モードという。
従って、ユーザは、リモコン22を操作して、上述した表示モードを切り換えて選択することができる。
【0021】
また、デジタル放送受信装置1は、OSを搭載しており、OSの上で、各種アプリケーションが実行されるように構成されている。デジタル放送受信装置1の信号処理回路13が、その各種アプリケーションを実行する。その場合、CPU13aが、ROM13cに格納されたソフトウエアプログラム(以下、単にソフトウエア、あるいはプログラムともいう)を読み出してSDRAM13b上に展開して、そのプログラムを実行する。
【0022】
図6は、CPU13a上で実行されるソフトウエアの構造を説明するための図である。ソフトウエアは、OS41上には、ハードウエア及びソフトウエアを制御するドライバ群42が設けられている。ドライバ群42上には、ミドルウエア43が設けられている。ミドルウエア43は、各種アプリケーションの実行を管理する機能を含む。ミドルウエア43上には、各種アプリケーションが設けられている。これらのアプリケーション群44は、それぞれ、受信した放送のコンテンツの表示等のためのアプリケーションである。特に、ミドルウエア43は、後述するような各種アプリケーションが使用する記憶領域の割当処理を行う記憶領域制御部を構成する。
【0023】
デジタルテレビジョン受信機の機能として、映像を表示したり、音量を調整したり、上述したような字幕表示、データ放送の提示等の種々の機能がある。図6において、これらの各種機能を実現するための複数のソフトウエアモジュール、すなわちアプリケーション群44として、VRMモジュール(以下、単にVRMともいう)44a、OSDモジュール(以下、単にOSDともいう)44b、BUIモジュール(以下、単にBUIともいう)44c、KNKモジュール(以下、単にKNKともいう)44d、JCCモジュール(以下、単にJCCともいう)44eと、MDEモジュール(以下、単にMDEともいう)44fとが、ミドルウエア43上に設けられている。
【0024】
VRM44aは、映像の表示を制御するモジュール、すなわちビデオリソースマネジャーモジュールである。
OSD44bは、音量を制御するモジュール、すなわちオンスクリーンディスプレイモジュールである。
BUI44cは、電子番組表(以下、EPGと略す)や、グラフィカルユーザインターフェース(GUI)を制御するビルトインユーザインターフェースモジュールである。
KNK44dは、ユーザが文字入力を行うインターフェースを提供するモジュール、すなわちかな漢字モジュールである。
JCC44eは、字幕の提示を制御するモジュール、すなわちクローズドキャプションモジュールである。
MDE44fは、デジタル放送信号にあるデータ放送の提示を制御するモジュール、すなわち、データ放送表示モジュールである。
【0025】
上述したように、デジタル放送受信装置1は、モニタ16の画面状態として、1つのチャンネルを表示する「1画面」表示状態、2つのチャンネルを同時に表示する「2画面」表示状態、EPGを表示する「番組表」表示状態の表示状態を有する。デジタル放送受信装置1は、これらの表示状態とを含む、上述したような複数の表示モードで、コンテンツの表示が可能である。本実施の形態に係るデジタル放送受信装置1では、「2画面」表示状態のときは、データ放送を提示することを禁止し、「番組表」表示状態のときはデータ放送および字幕の提示を禁止しているが、これら以外の表示モードも可能である。
【0026】
図7は、モニタ16に表示される画面を構成する表示プレーンの構成を説明するための図である。
表示される画面は、本実施の形態では、2つのビデオプレーンV1,V2と、6つのグラフィックプレーンG1〜G6から構成される。8つのプレーンのそれぞれに画像データ及びグラフィックデータを表示し、8つのプレーンが重ね合わせられた1つの表示画面を、ユーザは、見ることになる。なお、各表示プレーンは、ユーザに見せるか否かを設定できるようになっていてもよい。
【0027】
これらの表示プレーンは、特に、実行中のアプリケーションにより、GUIや映像などの画面表示処理を行う用途で使われる。よって、表示プレーンをアプリケーションに割り当てるときは、表示プレーンのデータをクリアする処理を行う必要がある。
【0028】
図8は、各アプリケーションが使用するSDRAM13b内の複数の記憶領域の配置を示すメモリマップである。SDRAM13bは、各アプリケーションが実行時に使用する複数の記憶領域を有する。
具体的には、SDRAM13内には、各アプリケーションに割り当てることができる記憶領域51と、表示プレーンに割り当てることできる記憶領域52が設けられている。各アプリケーションに割り当てることができる記憶領域51は、それぞれが所定のバイト数のサイズを有する複数の(ここでは39個の)ブロック領域(以下、単にブロックともいう)からなる。すなわち、記憶領域51は、所定のバイト数のサイズで区切られた、複数のブロックからなる。各ブロックは、各アプリケーション実行時の作業領域に対応する記憶領域である。
【0029】
記憶領域52は、画像を表示するための2つのプレーンV1,V2のための記憶領域を含む。プレーンV1,V2は、それぞれ1920×1080ドットの画面を表示するためのサイズを有し、対応する記憶領域も、そのサイズの画面を表示できる記憶容量を有する。記憶領域52は、それぞれ文字と図形を表示するためのプレーンG1からG6のための複数の記憶領域を含む。プレーンプレーンG1からG6は、それぞれ960×540ドットの画面を表示するためのサイズを有し、対応する記憶領域も、そのサイズの画面を表示できる記憶容量を有する。各表示プレーンは、各アプリケーション実行時の画面表示用の記憶領域である。
【0030】
図9は、画面の表示モードと記憶領域51における各ブロックとの対応を説明するための図である。図9において、横軸は、ユーザ操作によって切り替わる画面モードを示し、縦軸は、各表示モードのときに起動しているアプリケーションに割り当てる記憶領域を示す。
【0031】
例えば、図9において、1画面(a)モードでは、VRM44aにはブロック0が割り当てられ、OSD44bにはブロック1が割り当てられ、BUI44cには、ブロック2〜5が割り当てられ、KNK44dには、ブロック6が割り当てられて、JCC44eには、ブロック7〜11が割り当てられ、MDE44fには、ブロック12〜39が割り当てられている。
【0032】
上述したように、1画面(a)モードは、1画面表示であって、かつデータ放送があるモードの表示状態のモードであるため、これらのアプリケーション44a〜44fが実行されるモードである。よって、図9の1画面(a)モードでは、ブロック0〜39までが各アプリケーションによって使用される。
【0033】
図9において、1画面(b)モードでは、VRM44aにはブロック0が割り当てられ、OSD44bにはブロック1が割り当てられ、BUI44cには、ブロック2〜5が割り当てられ、KNK44dには、ブロック6が割り当てられて、他のブロック7〜39は、使用されないので、何のアプリケーションも割り当てられていない。
【0034】
上述したように、1画面(b)モードは、1画面表示であって、かつデータ放送がないモードの表示状態のモードであるため、アプリケーション44a〜44dが実行されるモードであるので、図9の1画面(b)モードでは、ブロック0〜6までが各アプリケーションによって使用される。
【0035】
以下、同様に、図9に示すように、2画面(a)モードのときは、ブロック0〜5と、7〜11が、必要なアプリケーションであるVRM44a、OSD44b、BUI44c及びJCC44eによって使用されるべく、割り当てられ、その他のブロック6,12〜39は使用されない。
【0036】
また、2画面(b)モードのときは、ブロック0〜5が、必要なアプリケーションであるVRM44a、OSD44b及びBUI44cによって使用されるべく、割り当てられ、その他のブロック6〜39は使用されない。
【0037】
そして、番組表モードのときは、ブロック0〜17が、必要なアプリケーションであるVRM44a、OSD44b、BUI44c及びKNK44dによって使用されるべく、割り当てられ、その他のブロック18〜39は使用されない。
【0038】
図9に示すように、ユーザがリモコン22を用いて、表示モードを変更すると、ミドルウエア43は、リソース割当機能により、その指定された表示モードに対応する各アプリケーションが使用する1以上のブロックを、各アプリケーションに割り当てる処理を実行する。
【0039】
例えば、1画面(a)モードが指定されると、図9の1画面(a)モードに対応する記憶領域51の複数のブロックの割当が行われ、その1画面(a)モードから他の表示モード、例えば1画面(b)モードに変更されると、1画面(b)モードに対応する記憶領域51の複数のブロックの割当が行われ、さらに、その1画面(b)モードから他の表示モード、例えば2画面(a)モードに変更されると、2画面(a)モードに対応する記憶領域51の複数のブロックの割当が行われる。
【0040】
従って、ユーザの指定に応じて、ミドルウエア43は、表示モードに対応する各アプリケーションが使用する1以上のブロックを、各アプリケーションに割り当てる処理を実行する。
図10は、画面の表示モードと記憶領域52における各表示プレーンとの対応を説明するための図である。図10において、横軸は、ユーザ操作によって切り替わる画面モードを示し、縦軸は、各表示モードのときに起動しているアプリケーションに割り当てる表示プレーンの記憶領域を示す。
【0041】
例えば、図10において、1画面(a)モードでは、VRM44aには、プレーンV1,V2が割り当てられ、OSD44bにはプレーンG1が割り当てられ、BUI44cには、プレーンG2が割り当てられ、KNK44dには、プレーンG3が割り当てられて、JCC44eには、プレーンG4が割り当てられ、MDE44fには、プレーンG5,6が割り当てられている。
【0042】
1画面(b)モードでは、VRM44aにはプレーンV1,V2が割り当てられ、OSD44bにはプレーンG1が割り当てられ、BUI44cには、プレーンG2が割り当てられ、KNK44dには、プレーンG3が割り当てられて、他のプレーンG4〜G6は、使用されないので、何のアプリケーションも割り当てられていない。
【0043】
以下、同様に、図10に示すように、2画面(a)モードのときは、プレーンV1,V2,G1〜G4が、必要なアプリケーションであるVRM44a、OSD44b、BUI44c及びJCC44eによって使用されるべく、割り当てられ、その他のプレーンG5,6は使用されない。
【0044】
また、2画面(b)モードのときは、プレーンV1,V2,G1〜G3が、必要なアプリケーションであるVRM44a、OSD44b及びBUI44cによって使用されるべく、割り当てられ、その他のプレーンG4,5,6は使用されない。
【0045】
そして、番組表モードのときは、プレーンV1,V2,G1〜G3、G5が、必要なアプリケーションであるVRM44a、OSD44b、BUI44c及びKNK44dによって使用されるべく、割り当てられ、その他のプレーンG4,6は使用されない。
【0046】
図10に示すように、ユーザがリモコン22を用いて、表示モードを変更すると、ミドルウエア43は、リソース割当機能により、その指定された表示モードに対応する各アプリケーションが使用する1以上の表示プレーンを、各アプリケーションに割り当てる処理を実行する。
【0047】
例えば、1画面(a)モードが指定されると、図10の1画面(a)モードに対応する記憶領域52の複数の表示プレーンの割当が行われ、その1画面(a)モードから他の表示モード、例えば1画面(b)モードに変更されると、1画面(b)モードに対応する記憶領域52の複数の表示プレーンの割当が行われ、さらに、その1画面(b)モードから他の表示モード、例えば2画面(a)モードに変更されると、2画面(a)モードに対応する記憶領域52の複数の表示プレーンの割当が行われる。
【0048】
従って、ユーザの指定に応じて、ミドルウエア43は、表示モードに対応する各アプリケーションが使用する1以上の表示プレーンを、各アプリケーションに割り当てる処理を実行する。
なお、図9及び図10中の各アプリケーションを示すもの(例えば「VRM」等の表記)は、どの表示モードのときに何のアプリケーションにどこの記憶領域が割り当てられているかを示している。また、図9及び図10は、言い換えると、表示モード毎に、何のアプリケーションが起動されるかを示していると、いうことができる。
【0049】
さらになお、図9及び図10では、本実施の形態において、各アプリケーションに割り当てられる記憶領域が、画面の表示モードに変更があっても割り当てられる記憶領域の配置が極力変動がないように予め配置されている。これは、各アプリケーションの起動を速くするためのである。
【0050】
(動作)
次に、本実施の形態に係わるデジタル放送受信装置1における処理について説明する。
上述したように、デジタル放送受信装置1では、組み込まれているアプリケーションの内容と数が予め予測が立てられるので、各アプリケーションに割り当てる記憶領域の配置が工夫されている。また、ミドルウエア43は、次に起動するアプリケーションまたは終了するアプリケーションの組み合わせを判断して起動するアプリケーションの起動や終了時に、記憶領域の取得および開放を頻繁に行わないように処理を行う。さらに、記憶領域のクリア処理が必要な場合は、クリア処理の実施タイミングが調整される。
【0051】
具体的には、記憶領域の割当は、ミドルウエア43によって行われる。従って、表示モードを変更すると、記憶領域毎に、割り当てられるアプリケーションが変更されるので、どのように記憶領域の割当が変化するかを、まず、メモリマップを用いて説明する。
【0052】
はじめに、記憶領域51内の複数のブロックに対するアプリケーションの割り当てがどのように行われるかを説明する。
図11〜図13は、表示モードが時間経過(t)と共に変化した場合における、記憶領域51内の複数のブロックに対するアプリケーションの割り当ての変化の例を説明するための図である。
図11は、最初に、ユーザより1画面(a)モードが指定され、次に2画面(a)モードが指定され、さらにその後1画面(a)モードが指定された場合に、複数のブロック0〜39に割り当てられるアプリケーションが変化する様子を示す図である。
【0053】
従来であれば、1画面(a)モードから2画面(a)モードに、表示モードが変更されると、割当処理プログラムが、まず、タイミングDE1において、1画面(a)モードにおいて使用していたブロック0から39を開放し、次にタイミングDS1において2画面(a)モードにおいて使用するブロック0〜5、7〜11を取得する処理を行う。そして、2画面(a)モードでは、各アプリケーションは、取得された記憶領域の1以上のブロックを用いて処理を行う。
【0054】
さらに続いて、2画面(a)モードから1画面(a)モードに、表示モードが変更されると、割当処理プログラムが、まず、タイミングDE2において、2画面(a)モードにおいて使用していたブロック0〜5、7〜11を開放し、次にタイミングDS2において1画面(a)モードにおいて使用するブロック0〜39を取得する処理を行う。そして、1画面(a)モードでは、各アプリケーションは、取得された記憶領域の1以上のブロックを用いて処理を行う。
【0055】
しかし、図11に示すように、各アプリケーションに割り当てる記憶領域が極力変動しないように工夫して配置されているので、VRM44a、OSD44b、BUI44c及びJCC44eについては、表示モードの変更に基づく、対応する各ブロックの開放と取得は、無駄な処理ということができる。具体的には、BUI44cに注目すれば、1画面(a)モードから2画面(a)モードに切り替える場合に、BUI44cの実行を一旦終了する。このときに、ブロック2〜5に割り当てられているメモリを開放し、次に、2画面(a)モードのとしてアプリケーションとして、BUI44cを起動する。このときアプリケーションが動作するためにタイミングDS1において、ブロック2〜5を取得する。すなわち、1画面(a)と2画面(a)の両モードでは、BUI44cの動作に違いがあることは考えられるが、動作するために使用する記憶容量には違いがないため、1回分無駄な開放と取得操作を行っていると言うことができる。
【0056】
同様に、表示モードが、2画面(a)から1画面(a)への表示モードに切り換える場合にも、その切り換え時に、各ブロックの返却と取得が発生する。特に、ここでも、VRM44a、OSD44b、BUI44c及びJCC44eについては、無駄な開放と取得操作を行っていると言うことができる。
【0057】
これに対して、本実施の形態に係るミドルウエア43は、表示モードの切り換えにおいて、各ブロックについて、使用するアプリケーションが変更される場合には、変更される記憶領域について開放を行い、かつ次に使用するアプリケーションに取得させるように割当処理を制御するが、表示モードの変更の前後で使用するアプリケーションが変更されない場合には、その変更されない記憶領域については開放しないように割当処理を制御する。
【0058】
具体的には、各アプリケーションに割り当てる記憶領域が極力変動しないような配置にしてあるので、上述したVRM44a、OSD44b、BUI44c及びJCC44eについては、ミドルウエア43は、ユーザの表示モードの切り換えによる変更時に、対応する各ブロックの開放と取得の処理を行わない。すなわち、図11におけるDE1とDE2のタイミングにおける開放と、DS1とDS2のタイミングにおける取得の処理は、行われない、すなわち省略される。
【0059】
また、KNK44dとMDE44fについては、1画面(a)モードから2画面(a)モードに変更されたときに、それぞれの使用する1以上のブロックは、変更後の2画面(a)モードにおいては使用されていない。すなわち、変更後に、使用するアプリケーションが無いので、DE1のタイミングにおける開放は、行われない、すなわち省略される。
【0060】
すなわち、従来であれば、図11において、KNK44dとMDE44fについても、表示モードの変更に基づく、対応する各ブロックの開放は、無駄な処理ということができる。しかし、本実施の形態では、そのような開放は行われない。
【0061】
また、KNK44dとMDE44fについては、2画面(a)モードから1画面(a)モードに変更されたときには、それぞれの使用する1以上のブロックは、変更前の2画面(a)モードにおいては使用されていなかった。さらに、変更後の表示モード(1画面(a)モード)は、変更前の2画面(a)モードよりも前の表示モード(1画面(a)モード)と同じであるので、同じアプリケーションが、それらの1以上のブロックを使用することになる。従って、従来であれば、図11において、KNK44dとMDE44fについても、表示モードの変更に基づく、対応する各ブロックの取得は、無駄な処理ということができる。しかし、本実施の形態では、そのような取得は行われない。
【0062】
すなわち、本実施の形態に係るミドルウエア43は、表示モードの切り換えにおいて、各ブロックについて、変更後に使用するアプリケーションが無い場合には、開放を行わない。また、変更前に使用されていなかった記憶領域が、変更前よりも前のアプリケーションプログラムにより使用され、かつ、変更後のアプリケーションプログラムと前記変更前よりも前のアプリケーションプログラムが同じときは、変更前に使用されていなかった記憶領域について変更後のアプリケーションプログラムに対する取得を行わないように、ミドルウエア43は、制御する。
【0063】
図12は、最初に、ユーザより1画面(a)モードが指定され、次に1画面(b)モードが指定され、さらにその後1画面(a)モードが指定された場合に、複数のブロック0〜39に割り当てられるアプリケーションが変化する様子を示す図である。
【0064】
図12の場合も、ミドルウエア43は、ブロック0から6については、表示モードの変更の前後で、使用するアプリケーションが変更されないので、その変更されない記憶領域については開放も取得も行なわないように割当処理を行う。
【0065】
また、ブロック7〜39については、1画面(a)モードから1画面(b)モードへの変更後に、使用するアプリケーションが無いので、DE1のタイミングにおける開放は、省略される。
【0066】
また、1画面(b)モードから1画面(a)モードへの変更時、ブロック7〜39は、変更前に使用されていなかった記憶領域であるが、変更前よりも前のアプリケーション(1画面(a)モード)により使用されており、かつ、変更後のアプリケーション(1画面(a)モード)と変更前よりも前のアプリケーション(1画面(a)モード)とが同じである。よって、このような場合、ブロック7〜39の記憶領域については、DS2のタイミングにおける取得は、省略される。
【0067】
MDE44fについてみると、図12に示すように、ユーザの操作等で画面モードが切り換えられて、1画面(a)モードから1画面(b)モードに変更される場合に、MDE44fの処理は終了する。このときに、従来であれば、ブロック12〜39に割り当てられている記憶領域は開放される。しかしながら、1画面(b)モードでは、ブロック12〜39を使用するアプリケーションの起動はないので、先のMDE44fの実行は終了しているため、この段階では、ブロック12〜39を返却すなわち開放しなくても何ら問題はないにも拘わらず、1回分無駄な開放処理を行っていると言える。1画面(b)モード時には、ブロック7〜39は使用されないからである。
【0068】
しかし、本実施の形態によれば、ミドルウエア43は、この段階で、1画面(b)モードでは、ブロック12〜39を使用するアプリケーションが存在しないことを判別し、ブロック12〜39の記憶領域の返却処理を省略する。
【0069】
また、その後に、ユーザ操作で1画面(b)モードから1画面(a)モードに切り替えられた場合、MDE44fが動作するために使用する記憶領域は、前の前のモードである1画面(a)モードで使用していた記憶領域と同じ配置のため、前の1画面(b)モードになったときにで返却を保留しておいた記憶領域を継続して使うことが可能である。よって、ミドルウエア43は、1回分の記憶領域の取得処理を省略することが出来る。
【0070】
図13は、最初に、ユーザより1画面(a)モードが指定され、次に番組表モードが指定された場合に、複数のブロック0〜39に割り当てられるアプリケーションが変化する様子を示す図である。
【0071】
図13の場合も、ミドルウエア43は、ブロック0から5については、表示モードの変更の前後で、使用するアプリケーションが変更されないので、その変更されない記憶領域については開放も取得も行なわないように割当処理を制御する。
【0072】
また、ブロック6〜39については、1画面(a)モードから番組表モードへの変更後に使用するアプリケーションのために、DE1のタイミングにおいて開放され、かつ、変更後のアプリケーションのために、DS1のタイミングにおいて取得される。
【0073】
このとき、JCC44eとMDE44fは、番組表モードでは実行されないので、JCC44eとMDE44fの実行は終了する。
【0074】
従来であれば、ブロック7〜17は、BUI44cとKNK44dが処理のために使用するので、開放する必要があるが、ブロック18〜39については、表示モード変更後に使用するアプリケーションが無くても、開放されていた。しかし、ブロック18〜39を開放する処理には、時間が掛かっていた。
【0075】
そこで、本実施の形態では、ミドルウエア43は、表示モードが変更された場合の開放及び取得時に、これらの記憶領域(ブロック18〜39)については、その後にバックグラウンド処理で、任意のタイミングで開放処理を行う。
【0076】
MDE44fに注目すると、ユーザの操作等で表示モードが1画面(a)モードから番組表モードに切り換った場合に、ミドルウエア43は、MDE44fの実行を終了する。このときに、従来であれば、ブロック12〜39に割り当てられている記憶領域を開放する。特に、ブロック12〜17は、BUI44cとKNK44dが動作するために使用するので開放する必要がある。しかしながら、MDE44fが使用していた記憶領域の容量は大きいため、開放処理の完了までの時間が長くなっていた。
【0077】
本実施の形態では、ミドルウエア43は、番組表モードのときにブロック18〜39を使用するアプリケーションが存在しないことを判別し、記憶領域の返却処理と取得処理を、即時に必要とする領域(すなわち、変更後の番組表モードにおいて使用されるブロック12〜17)と、即時に必要としない領域(すなわち、変更後の番組表モードにおいて使用されないブロック18〜39)とに分割し、即時処理を必要としない記憶領域の開放処理を、その後のバックグラウンド処理において、図13ではDF1のタイミングで実行する。これによって、ユーザが番組表を見るなどの行為をしている間に、開放処理が完了させることができ、ユーザにとっての体感的な切り換え時の応答性の向上を図ることができる。
【0078】
次に、記憶領域52内の複数の表示プレーンに対するアプリケーションの割り当てがどのように行われるかを説明する。
図14は、表示モードが時間経過と共に変化した場合における、記憶領域52内の複数の表示プレーンに対するアプリケーションの割り当ての変化の例を説明するための図である。
図14は、最初に、ユーザより1画面(a)モードが指定され、次に2画面(a)モードが指定され、さらにその後1画面(a)モードが指定された場合に、複数の表示プレーンV1,V2,G1〜G6に割り当てられるアプリケーションが変化する様子を示す図である。
【0079】
図14に示すように、複数の表示プレーンV1,V2,G1〜G6についても、割り当てられる表示プレーンが極力変動しないような配置にされている。
【0080】
これらの表示プレーンについても、上述したブロック0〜39と同様に、ミドルウエア43は、各表示プレーンについて、その変更前のアプリケーションと変更後のアプリケーションとが同じであるか否かを判定する。ミドルウエア43は、その判定の結果、変更後のアプリケーションが変更前のアプリケーションと異なるときは、変更前のアプリケーションが使用していた表示プレーンの記憶領域について開放を行い、かつ変更後のアプリケーションに対して取得させる。さらに、ミドルウエア43は、変更後のアプリケーションが変更前のアプリケーションと同じとき、あるいは変更後に使用するアプリケーションが無いときは、変更前のアプリケーションが使用していた表示プレーンの記憶領域について開放を行わないように、記憶領域の割当制御を行う。
【0081】
さらに、ミドルウエア43は、変更前に使用されていなかった表示プレーンの記憶領域が、変更前よりも前のアプリケーションにより使用され、かつ、変更後のアプリケーションと変更前よりも前のアプリケーションが同じときは、変更前に使用されていなかった表示プレーンの記憶領域について、変更後のアプリケーションに対する取得を行わないように、記憶領域の割当制御を行う。
【0082】
例えば、BUI44cに注目すれば、従来であれば、ユーザの操作等で画面モードが切り換えられて、1画面(a)モードから2画面(a)モードに変更される場合に、BUI44cは一旦実行が終了される。その表示ブレーンG2もDE1のタイミングで開放される。続いて、2画面(a)モードのためのBUI44cが起動され、再び、表示ブレーンG2は、同じBUI44cの処理のためにDS1のタイミングで取得される。1画面(a)モードと2画面(a)モードでは、BUI44cの処理に違いがあることは考えられるが、表示をするために使用する表示プレーンには違いがない。そのため、従来では、1回分無駄な開放と取得処理が行われている。
【0083】
さらに、表示モードが、2画面(a)モードから1画面(a)モードに切り換えられた場合にも、同様な表示プレーンG2についての返却と取得が、それぞれDE2とDS2のタイミングで発生する。
【0084】
これに対して、本実施の形態では、表示プレーンG2については、1画面(a)モードと2画面(a)モードにおいて同じアプリケーションであるため、1画面(a)モードのために取得した表示プレーンG2は、2画面(a)モードにおいても継続して使うことが可能である。従って、表示プレーンG2についての、それぞれ1回分の開放と取得の処理が省略される。2画面(a)モードから1画面(a)モードへの切り換えの場合も、同様に開放と取得の処理が省略される。
【0085】
また、MDE44fについてみれば、表示プレーンG5,G6は、表示モードが1画面(a)モードから2画面(a)モードに変更された場合には、開放の処理が省略され、表示モードが2画面(a)モードから1画面(a)モードに変更された場合にも、変更後の表示モード(1画面(a)モード)が、変更前の表示モード(2画面(a)モード)の前の表示モード(1画面(a)モード)と同じであるので、取得の処理が省略される。
【0086】
因みに、表示プレーンV1,V2,G1,G4については、変更の前後でアプリケーションが同じであるので、表示モードのそれぞれの変更時において、開放と取得の処理は省略される。
また、表示プレーンG3については、変更の前後でアプリケーションが異なるので、表示モードのそれぞれの変更時において、開放と取得の処理が実行される。
【0087】
以上説明した動作を実行するミドルウエア43の割当処理について説明する。
図15は、ミドルウエア43の割当処理の流れの例を示すフローチャートである。図15の処理プログラムは、ROM13cに記憶されており、CPU13aがROM13cから読み出すことによって実行される。
まず、CPU13aは、表示モードの切り換えが有ったか否かを判定する(ステップS1)。この判定は、上述したように、ユーザがリモコン22等を操作して画面の表示モードを切り換えるコマンド信号が、I/F19を介して受信されたときに、行われる。
表示モードの切り換えが無ければ、処理は、ステップS1においてNOとなり、処理は終了する。
【0088】
表示モードの切り換えが有れば、CPU13aは、ブロック毎あるいは表示プレーン毎に、表示モードの変更の前後において、使用するアプリケーションが競合するか否かを判定する(ステップS2)。
【0089】
ブロック毎にあるいは表示プレーン毎に、使用するアプリケーションが競合する場合とは、表示モードの変更の前後で異なるアプリケーションにより、ブロックあるいは表示プレーンが使用される場合である。例えば、図13のブロック6や、図14の表示プレーンG3の場合である。
【0090】
なお、図11から図14には図示していないが、あるブロックあるいは表示プレーンは変更前には使用されていなかったが、そのブロックあるいは表示プレーンについて、変更後の表示モードにおいて使用するアプリケーションが、変更前より前の表示モードにおいて使用していたアプリケーションと異なる場合も、使用するアプリケーションが競合する場合である。
【0091】
そして、ブロック毎にあるいは表示プレーン毎に、使用するアプリケーションが競合しない場合とは、ブロックあるいは表示プレーンが、表示モードの変更の前後で同じアプリケーションにより使用される場合、あるいは表示モードの変更後にそのブロックあるいは表示プレーンが使用されない場合である。例えば、図12の1画面(a)モードから1画面(b)モードへの変更時のブロック0〜6、7〜11や、図14の1画面(a)モードから2画面(a)モードへの変更時の表示プレーンV1,V2,G5,G6、等の場合である。
【0092】
さらに、あるブロックあるいは表示プレーンは変更前には使用されていなかったが、そのブロックあるいは表示プレーンについて、変更後の表示モードにおいて使用するアプリケーションが、変更前より前の表示モードにおいて使用するアプリケーションと同じ場合も、使用するアプリケーションが競合しない場合である。例えば、図12の1画面(b)モードから1画面(a)モードへの変更時のブロック7〜11や、図14の2画面(a)モードから1画面(a)モードへの変更時の表示プレーンG5,G6の場合である。
【0093】
そして、ステップS2でYESの場合、すなわち、ブロック毎あるいは表示プレーン毎に、表示モードの変更の前後において、使用するアプリケーションが競合する場合は、その競合するブロックあるいは表示プレーンについて、開放又は取得の処理を、CPU13aは実行する(ステップS3)。
【0094】
そして、ステップS2でNOの場合、すなわち、ブロック毎あるいは表示プレーン毎に、表示モードの変更の前後において、使用するアプリケーションが競合するものが無い場合は、処理は、終了する。
また、表示プレーンについても、クリア処理を必要であれば、バックグラウンド処理で行うようにしてもよい。
【0095】
以上のように、複数のブロック及び複数の表示プレーンについて、所定の条件の下で、記憶領域を開放あるいは取得する処理を省略したので、各アプリケーションの起動を速くすることができる。その結果、従来の割当処理において生じていた無駄な処理時間を抑えることができ、アプリケーションの切り換えが早くなり、ユーザの操作感が向上する効果も期待することができる。また、即時処理の必要のない場合は、開放処理をバックグラウンド処理により行うように切り替えることによって、アプリケーションの切り換え時の応答速度も速くなる。
【0096】
従って、本実施の形態のデジタル放送受信装置によれば、放送のコンテンツを表示するためのアプリケーションが使用する複数の記憶領域について、メモリの解放と取得の処理を適切に行うようにすることができる。
本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
【図面の簡単な説明】
【0097】
【図1】本発明の実施の形態に係わるデジタル放送受信装置の構成を示す構成図である。
【図2】本発明の実施の形態に係わる、1画面表示であって、かつデータ放送があるモードの表示状態を示す図である。
【図3】本発明の実施の形態に係わる、1画面表示であって、かつデータ放送がないモードの表示状態を示す図である。
【図4】本発明の実施の形態に係わる、2画面表示であって、かつデータ放送の提示すなわち出力を禁止し、かつ字幕があるモードの表示状態を示す図である。
【図5】本発明の実施の形態に係わる、番組表を表示し、かつデータ放送の提示及び字幕表示を禁止するモードの表示状態を示す図である。
【図6】本発明の実施の形態に係わる、CPU上で実行されるソフトウエアの構造を説明するための図である。
【図7】本発明の実施の形態に係わる、モニタ16に表示される画面を構成する表示プレーンの構成を説明するための図である。
【図8】本発明の実施の形態に係わる、各アプリケーションが使用するSDRAM内の複数の記憶領域の配置を示すメモリマップである。
【図9】本発明の実施の形態に係わる、画面の表示モードと記憶領域における各ブロックとの対応を説明するための図である。
【図10】本発明の実施の形態に係わる、画面の表示モードと記憶領域における各表示プレーンとの対応を説明するための図である。
【図11】本発明の実施の形態に係わる、表示モードが時間経過と共に変化した場合における、記憶領域内の複数のブロックに対するアプリケーションの割り当ての変化の例を説明するための図である。
【図12】本発明の実施の形態に係わる、表示モードが時間経過と共に変化した場合における、記憶領域内の複数のブロックに対するアプリケーションの割り当ての変化の他の例を説明するための図である。
【図13】本発明の実施の形態に係わる、表示モードが時間経過と共に変化した場合における、記憶領域内の複数のブロックに対するアプリケーションの割り当ての変化のさらに他の例を説明するための図である。
【図14】本発明の実施の形態に係わる、表示モードが時間経過と共に変化した場合における、記憶領域内の複数の表示プレーンに対するアプリケーションの割り当ての変化の例を説明するための図である。
【図15】本発明の実施の形態に係わる、ミドルウエアの割当処理の流れの例を示すフローチャートである。
【符号の説明】
【0098】
1…デジタル放送受信装置、13…信号処理回路、21…アンテナ、22…リモートコントローラ、31…画面、44…アプリケーション群。
【技術分野】
【0001】
本発明は、デジタル放送受信装置及びデジタル放送表示方法に関し、特に、それぞれが画面表示に関わるプログラムである複数のアプリケーションプログラムを実行するデジタル放送受信装置及びデジタル放送表示方法に関する。
【背景技術】
【0002】
従来より、一般にオペレーティングシステム(以下、OSという)を搭載しているコンピュータでは、アプリケーションプログラム(以下、アプリケーションと称す)の実行は、OSの管理下で実行される。OSは、コンピュータの有している、有限のメモリ等のハードウェア資源を、アプリケーションに割り当て、資源すなわちリソースを有効に用いるよう動作している。
【0003】
同様に、近年のデジタルテレビジョン装置にも、多くのアプリケーションを実行するために、OSが搭載されている。これは、多くのアプリケーションを搭載しているデジタルテレビジョン装置においてもOSの種々の機能を利用してしなければ、ユーザに提供する機能を実現するためのアプリケーションを実行できないだけでなく、アプリケーションの開発も困難となってきているからである。
【0004】
従って、デジタルテレビジョン装置にはOSが搭載されているが、リソースの全てについてOSの機能を利用して管理しているわけではない。一部のリソース、例えばGUI(Graphical User Interface)を表示するために使用するメモリ等、については、OS上のミドルウエア(OSから見るとアプリケーションである)が、割り当て処理を行っている。ミドルウエアのさらに上位層には、例えばGUIを表示する各種アプリケーションが設けられている。その割り当て処理を行うミドルウエア(割当処理アプリケーション)が、リソースの割り当て処理を行う場合には、各アプリケーションの起動および終了をするたびにリソースの取得および開放を行っている。
【0005】
割当処理アプリケーションは、通常のメモリの割り当て動作では、アプリケーションが起動するときにメモリを取得し、アプリケーションの実行が終了するときにメモリを開放する。これは、アプリケーションの実行終了後は、メモリの割り当て状態を一旦開放することにより、割当処理アプリケーションにとってメモリの割り当て状況を把握しやすいからである。
【0006】
割当処理アプリケーションの行う処理が、割り当てるメモリのアドレス、使用するメモリサイズ等の情報だけの管理であれば、割り当て処理に係る時間も短時間となるので問題ない。しかし、割当処理アプリケーションの行う処理には、取得もしくは開放時にメモリ領域のクリア処理、すなわち、そのメモリ領域のデータをクリアにする処理が伴う場合がある。従って、メモリ取得および開放を頻繁に行うときに、クリア処理を行う対象の記憶領域のメモリサイズが大きい程、割当処理に掛かる時間が長くなってくるという問題が生じる。テレビジョン装置の場合、コンテンツ映像を表示するための各種アプリケーションが使用するメモリに対しては、クリア処理が要求される。
アプリケーションが使用するメモリを、アプリケーションが常駐型か一時型かを示す属性情報に基づいて、メモリの開放制御を行う技術の提案もある(例えば、特許文献1参照)。
【特許文献1】特開2003−15892号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかし、上述したようなテレビジョン受信機のようなメモリについてはなんら考慮されていない。すなわち、その提案では、テレビジョン受信機のような装置において、必要なメモリの開放及び取得を行いながら、必要なクリア処理を適切に行えるようにすることについては、何ら考慮されていない。
【0008】
本発明は、このような問題に鑑みて成されたものであって、放送のコンテンツを表示するためのアプリケーションが使用する複数の記憶領域について、メモリの解放と取得の処理を適切に行うようにしたデジタル放送受信装置及びデジタル放送表示方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の一態様によれば、受信した放送のコンテンツの表示のためのプログラムを含む複数のアプリケーションプログラムにより前記受信した放送を表示可能なデジタル放送受信装置であって、前記複数のアプリケーションプログラムが使用する複数の記憶領域と、前記表示のためのプログラムが変更された場合に、前記複数の記憶領域のそれぞれについて、その変更前のアプリケーションプログラムと変更後のアプリケーションプログラムとが同じであるか否かを判定し、該判定の結果、前記変更後のアプリケーションプログラムが前記変更前のアプリケーションプログラムが異なるときは、前記変更前のアプリケーションプログラムが使用していた記憶領域について開放を行い、かつ前記変更後のアプリケーションプログラムに対して取得させ、前記変更後のアプリケーションプログラムが前記変更前のアプリケーションプログラムと同じときあるいは前記変更後に使用するアプリケーションプログラムが無いときは、前記変更前のアプリケーションプログラムが使用していた記憶領域について開放を行わないように制御する記憶領域制御部と、を有するデジタル放送受信装置を提供することができる。
【0010】
本発明の一態様によれば、受信した放送のコンテンツの表示のためのプログラムを含む複数のアプリケーションプログラムにより前記受信した放送を表示する方法であって、前記複数のアプリケーションプログラムが使用する複数の記憶領域を設け、前記表示のためのプログラムが変更された場合に、前記複数の記憶領域のそれぞれについて、その変更前のアプリケーションプログラムと変更後のアプリケーションプログラムとが同じであるか否かを判定し、該判定の結果、前記変更後のアプリケーションプログラムが前記変更前のアプリケーションプログラムが異なるときは、前記変更前のアプリケーションプログラムが使用していた記憶領域について開放を行い、かつ前記変更後のアプリケーションプログラムに対して取得させ、前記変更後のアプリケーションプログラムが前記変更前のアプリケーションプログラムと同じときあるいは前記変更後に使用するアプリケーションプログラムが無いときは、前記変更前のアプリケーションプログラムが使用していた記憶領域について開放を行わないように制御することを特徴とするデジタル放送表示方法を提供することができる。
【発明の効果】
【0011】
本発明によれば、放送のコンテンツを表示するためのアプリケーションが使用する複数の記憶領域について、メモリの解放と取得の処理を適切に行うようにしたデジタル放送受信装置及びデジタル放送表示方法を提供することができる。
【発明を実施するための最良の形態】
【0012】
以下、図面を参照して本発明の実施の形態を説明する。
【0013】
(構成)
まず図1に基づき、本実施の形態に係わるデジタル放送受信装置の構成を説明する。図1は、本実施の形態に係わるデジタル放送受信装置1の構成を示す構成図である。本実施の形態に係るデジタル放送受信装置1は、デジタルテレビジョン受信機である。デジタル放送受信機1は、主として、チューナ11と、復調器12と、信号処理回路13と、グラフィック処理回路14と、映像処理回路15と、モニタ16と、音声処理回路17と、スピーカ18と、インターフェース(以下、I/Fと略す)回路19とを含む。チューナ11は、アンテナ21に接続される。I/F回路19は、ユーザが視聴したい番組の選択等を行うリモートコントローラ(以下、リモコンと略す)22からのコマンド信号を受信する回路である。
【0014】
信号処理回路13は、内部に、制御部であるCPU13aと、SDRAM13bと、ROM13cを含んで構成されている。ROM13cは、ここでは、ソフトウエアのバージョンアップが可能なように、電気的に書き換え可能なメモリである、フラッシュメモリすなわちフラッシュROMである。
【0015】
デジタルテレビジョン受信機であるデジタル放送受信装置1は、リモコン22からのコマンド信号に基づいて、ユーザに希望するチャンネルをチューナ11に選局させ、必要なグラフィック処理をグラフィック処理回路14において行って、モニタ16に番組の映像を表示する。よって、ユーザは、リモコン22を操作することによって、所望の番組を試聴することができる。
【0016】
また、ユーザは、画面の表示モードを切り換えて変更することができる。
図2から図5は、画面の表示モードを説明するための画面の表示例を示す図である。
図2は、1画面表示であって、かつデータ放送があるモードの表示状態を示す図である。図2に示すように、モニタ16の画面31は、映像を表示する映像表示部31Aと、データ放送用の表示部31Bを含む。以下、図2のような画面のモードを、1画面(a)モードという。
【0017】
図3は、1画面表示であって、かつデータ放送がないモードの表示状態を示す図である。図3に示すように、モニタ16の画面31は、映像を表示する映像表示部31Cを含む。以下、図3のような画面のモードを、1画面(b)モードという。
【0018】
図4は、2画面表示であって、かつデータ放送の提示すなわち出力を禁止し、かつ字幕があるモードの表示状態を示す図である。図4に示すように、モニタ16の画面31は、映像を表示する映像表示部31D、31Eと、字幕表示部31Fを含む。以下、図4のような画面のモードを、2画面(a)モードという。
【0019】
また、図示はしないが、2画面表示であって、かつデータ放送の提示すなわち出力を禁止し、かつ字幕がないモードもある。そのモードでは、図4において、モニタ16の画面31は、映像を表示する映像表示部31D、31Eを有するが、字幕表示部31Fは含まない。以下、このような画面のモードを、2画面(b)モードという。
【0020】
図5は、番組表を表示し、かつデータ放送の提示及び字幕表示を禁止するモードの表示状態を示す図である。図5に示すように、モニタ16の画面31は、各チャンネルの番組を、EPG(Electronic Program Guide)のデータに基づき表示する番組表表示部31Gを含む。以下、図5のような画面のモードを、番組表モードという。
従って、ユーザは、リモコン22を操作して、上述した表示モードを切り換えて選択することができる。
【0021】
また、デジタル放送受信装置1は、OSを搭載しており、OSの上で、各種アプリケーションが実行されるように構成されている。デジタル放送受信装置1の信号処理回路13が、その各種アプリケーションを実行する。その場合、CPU13aが、ROM13cに格納されたソフトウエアプログラム(以下、単にソフトウエア、あるいはプログラムともいう)を読み出してSDRAM13b上に展開して、そのプログラムを実行する。
【0022】
図6は、CPU13a上で実行されるソフトウエアの構造を説明するための図である。ソフトウエアは、OS41上には、ハードウエア及びソフトウエアを制御するドライバ群42が設けられている。ドライバ群42上には、ミドルウエア43が設けられている。ミドルウエア43は、各種アプリケーションの実行を管理する機能を含む。ミドルウエア43上には、各種アプリケーションが設けられている。これらのアプリケーション群44は、それぞれ、受信した放送のコンテンツの表示等のためのアプリケーションである。特に、ミドルウエア43は、後述するような各種アプリケーションが使用する記憶領域の割当処理を行う記憶領域制御部を構成する。
【0023】
デジタルテレビジョン受信機の機能として、映像を表示したり、音量を調整したり、上述したような字幕表示、データ放送の提示等の種々の機能がある。図6において、これらの各種機能を実現するための複数のソフトウエアモジュール、すなわちアプリケーション群44として、VRMモジュール(以下、単にVRMともいう)44a、OSDモジュール(以下、単にOSDともいう)44b、BUIモジュール(以下、単にBUIともいう)44c、KNKモジュール(以下、単にKNKともいう)44d、JCCモジュール(以下、単にJCCともいう)44eと、MDEモジュール(以下、単にMDEともいう)44fとが、ミドルウエア43上に設けられている。
【0024】
VRM44aは、映像の表示を制御するモジュール、すなわちビデオリソースマネジャーモジュールである。
OSD44bは、音量を制御するモジュール、すなわちオンスクリーンディスプレイモジュールである。
BUI44cは、電子番組表(以下、EPGと略す)や、グラフィカルユーザインターフェース(GUI)を制御するビルトインユーザインターフェースモジュールである。
KNK44dは、ユーザが文字入力を行うインターフェースを提供するモジュール、すなわちかな漢字モジュールである。
JCC44eは、字幕の提示を制御するモジュール、すなわちクローズドキャプションモジュールである。
MDE44fは、デジタル放送信号にあるデータ放送の提示を制御するモジュール、すなわち、データ放送表示モジュールである。
【0025】
上述したように、デジタル放送受信装置1は、モニタ16の画面状態として、1つのチャンネルを表示する「1画面」表示状態、2つのチャンネルを同時に表示する「2画面」表示状態、EPGを表示する「番組表」表示状態の表示状態を有する。デジタル放送受信装置1は、これらの表示状態とを含む、上述したような複数の表示モードで、コンテンツの表示が可能である。本実施の形態に係るデジタル放送受信装置1では、「2画面」表示状態のときは、データ放送を提示することを禁止し、「番組表」表示状態のときはデータ放送および字幕の提示を禁止しているが、これら以外の表示モードも可能である。
【0026】
図7は、モニタ16に表示される画面を構成する表示プレーンの構成を説明するための図である。
表示される画面は、本実施の形態では、2つのビデオプレーンV1,V2と、6つのグラフィックプレーンG1〜G6から構成される。8つのプレーンのそれぞれに画像データ及びグラフィックデータを表示し、8つのプレーンが重ね合わせられた1つの表示画面を、ユーザは、見ることになる。なお、各表示プレーンは、ユーザに見せるか否かを設定できるようになっていてもよい。
【0027】
これらの表示プレーンは、特に、実行中のアプリケーションにより、GUIや映像などの画面表示処理を行う用途で使われる。よって、表示プレーンをアプリケーションに割り当てるときは、表示プレーンのデータをクリアする処理を行う必要がある。
【0028】
図8は、各アプリケーションが使用するSDRAM13b内の複数の記憶領域の配置を示すメモリマップである。SDRAM13bは、各アプリケーションが実行時に使用する複数の記憶領域を有する。
具体的には、SDRAM13内には、各アプリケーションに割り当てることができる記憶領域51と、表示プレーンに割り当てることできる記憶領域52が設けられている。各アプリケーションに割り当てることができる記憶領域51は、それぞれが所定のバイト数のサイズを有する複数の(ここでは39個の)ブロック領域(以下、単にブロックともいう)からなる。すなわち、記憶領域51は、所定のバイト数のサイズで区切られた、複数のブロックからなる。各ブロックは、各アプリケーション実行時の作業領域に対応する記憶領域である。
【0029】
記憶領域52は、画像を表示するための2つのプレーンV1,V2のための記憶領域を含む。プレーンV1,V2は、それぞれ1920×1080ドットの画面を表示するためのサイズを有し、対応する記憶領域も、そのサイズの画面を表示できる記憶容量を有する。記憶領域52は、それぞれ文字と図形を表示するためのプレーンG1からG6のための複数の記憶領域を含む。プレーンプレーンG1からG6は、それぞれ960×540ドットの画面を表示するためのサイズを有し、対応する記憶領域も、そのサイズの画面を表示できる記憶容量を有する。各表示プレーンは、各アプリケーション実行時の画面表示用の記憶領域である。
【0030】
図9は、画面の表示モードと記憶領域51における各ブロックとの対応を説明するための図である。図9において、横軸は、ユーザ操作によって切り替わる画面モードを示し、縦軸は、各表示モードのときに起動しているアプリケーションに割り当てる記憶領域を示す。
【0031】
例えば、図9において、1画面(a)モードでは、VRM44aにはブロック0が割り当てられ、OSD44bにはブロック1が割り当てられ、BUI44cには、ブロック2〜5が割り当てられ、KNK44dには、ブロック6が割り当てられて、JCC44eには、ブロック7〜11が割り当てられ、MDE44fには、ブロック12〜39が割り当てられている。
【0032】
上述したように、1画面(a)モードは、1画面表示であって、かつデータ放送があるモードの表示状態のモードであるため、これらのアプリケーション44a〜44fが実行されるモードである。よって、図9の1画面(a)モードでは、ブロック0〜39までが各アプリケーションによって使用される。
【0033】
図9において、1画面(b)モードでは、VRM44aにはブロック0が割り当てられ、OSD44bにはブロック1が割り当てられ、BUI44cには、ブロック2〜5が割り当てられ、KNK44dには、ブロック6が割り当てられて、他のブロック7〜39は、使用されないので、何のアプリケーションも割り当てられていない。
【0034】
上述したように、1画面(b)モードは、1画面表示であって、かつデータ放送がないモードの表示状態のモードであるため、アプリケーション44a〜44dが実行されるモードであるので、図9の1画面(b)モードでは、ブロック0〜6までが各アプリケーションによって使用される。
【0035】
以下、同様に、図9に示すように、2画面(a)モードのときは、ブロック0〜5と、7〜11が、必要なアプリケーションであるVRM44a、OSD44b、BUI44c及びJCC44eによって使用されるべく、割り当てられ、その他のブロック6,12〜39は使用されない。
【0036】
また、2画面(b)モードのときは、ブロック0〜5が、必要なアプリケーションであるVRM44a、OSD44b及びBUI44cによって使用されるべく、割り当てられ、その他のブロック6〜39は使用されない。
【0037】
そして、番組表モードのときは、ブロック0〜17が、必要なアプリケーションであるVRM44a、OSD44b、BUI44c及びKNK44dによって使用されるべく、割り当てられ、その他のブロック18〜39は使用されない。
【0038】
図9に示すように、ユーザがリモコン22を用いて、表示モードを変更すると、ミドルウエア43は、リソース割当機能により、その指定された表示モードに対応する各アプリケーションが使用する1以上のブロックを、各アプリケーションに割り当てる処理を実行する。
【0039】
例えば、1画面(a)モードが指定されると、図9の1画面(a)モードに対応する記憶領域51の複数のブロックの割当が行われ、その1画面(a)モードから他の表示モード、例えば1画面(b)モードに変更されると、1画面(b)モードに対応する記憶領域51の複数のブロックの割当が行われ、さらに、その1画面(b)モードから他の表示モード、例えば2画面(a)モードに変更されると、2画面(a)モードに対応する記憶領域51の複数のブロックの割当が行われる。
【0040】
従って、ユーザの指定に応じて、ミドルウエア43は、表示モードに対応する各アプリケーションが使用する1以上のブロックを、各アプリケーションに割り当てる処理を実行する。
図10は、画面の表示モードと記憶領域52における各表示プレーンとの対応を説明するための図である。図10において、横軸は、ユーザ操作によって切り替わる画面モードを示し、縦軸は、各表示モードのときに起動しているアプリケーションに割り当てる表示プレーンの記憶領域を示す。
【0041】
例えば、図10において、1画面(a)モードでは、VRM44aには、プレーンV1,V2が割り当てられ、OSD44bにはプレーンG1が割り当てられ、BUI44cには、プレーンG2が割り当てられ、KNK44dには、プレーンG3が割り当てられて、JCC44eには、プレーンG4が割り当てられ、MDE44fには、プレーンG5,6が割り当てられている。
【0042】
1画面(b)モードでは、VRM44aにはプレーンV1,V2が割り当てられ、OSD44bにはプレーンG1が割り当てられ、BUI44cには、プレーンG2が割り当てられ、KNK44dには、プレーンG3が割り当てられて、他のプレーンG4〜G6は、使用されないので、何のアプリケーションも割り当てられていない。
【0043】
以下、同様に、図10に示すように、2画面(a)モードのときは、プレーンV1,V2,G1〜G4が、必要なアプリケーションであるVRM44a、OSD44b、BUI44c及びJCC44eによって使用されるべく、割り当てられ、その他のプレーンG5,6は使用されない。
【0044】
また、2画面(b)モードのときは、プレーンV1,V2,G1〜G3が、必要なアプリケーションであるVRM44a、OSD44b及びBUI44cによって使用されるべく、割り当てられ、その他のプレーンG4,5,6は使用されない。
【0045】
そして、番組表モードのときは、プレーンV1,V2,G1〜G3、G5が、必要なアプリケーションであるVRM44a、OSD44b、BUI44c及びKNK44dによって使用されるべく、割り当てられ、その他のプレーンG4,6は使用されない。
【0046】
図10に示すように、ユーザがリモコン22を用いて、表示モードを変更すると、ミドルウエア43は、リソース割当機能により、その指定された表示モードに対応する各アプリケーションが使用する1以上の表示プレーンを、各アプリケーションに割り当てる処理を実行する。
【0047】
例えば、1画面(a)モードが指定されると、図10の1画面(a)モードに対応する記憶領域52の複数の表示プレーンの割当が行われ、その1画面(a)モードから他の表示モード、例えば1画面(b)モードに変更されると、1画面(b)モードに対応する記憶領域52の複数の表示プレーンの割当が行われ、さらに、その1画面(b)モードから他の表示モード、例えば2画面(a)モードに変更されると、2画面(a)モードに対応する記憶領域52の複数の表示プレーンの割当が行われる。
【0048】
従って、ユーザの指定に応じて、ミドルウエア43は、表示モードに対応する各アプリケーションが使用する1以上の表示プレーンを、各アプリケーションに割り当てる処理を実行する。
なお、図9及び図10中の各アプリケーションを示すもの(例えば「VRM」等の表記)は、どの表示モードのときに何のアプリケーションにどこの記憶領域が割り当てられているかを示している。また、図9及び図10は、言い換えると、表示モード毎に、何のアプリケーションが起動されるかを示していると、いうことができる。
【0049】
さらになお、図9及び図10では、本実施の形態において、各アプリケーションに割り当てられる記憶領域が、画面の表示モードに変更があっても割り当てられる記憶領域の配置が極力変動がないように予め配置されている。これは、各アプリケーションの起動を速くするためのである。
【0050】
(動作)
次に、本実施の形態に係わるデジタル放送受信装置1における処理について説明する。
上述したように、デジタル放送受信装置1では、組み込まれているアプリケーションの内容と数が予め予測が立てられるので、各アプリケーションに割り当てる記憶領域の配置が工夫されている。また、ミドルウエア43は、次に起動するアプリケーションまたは終了するアプリケーションの組み合わせを判断して起動するアプリケーションの起動や終了時に、記憶領域の取得および開放を頻繁に行わないように処理を行う。さらに、記憶領域のクリア処理が必要な場合は、クリア処理の実施タイミングが調整される。
【0051】
具体的には、記憶領域の割当は、ミドルウエア43によって行われる。従って、表示モードを変更すると、記憶領域毎に、割り当てられるアプリケーションが変更されるので、どのように記憶領域の割当が変化するかを、まず、メモリマップを用いて説明する。
【0052】
はじめに、記憶領域51内の複数のブロックに対するアプリケーションの割り当てがどのように行われるかを説明する。
図11〜図13は、表示モードが時間経過(t)と共に変化した場合における、記憶領域51内の複数のブロックに対するアプリケーションの割り当ての変化の例を説明するための図である。
図11は、最初に、ユーザより1画面(a)モードが指定され、次に2画面(a)モードが指定され、さらにその後1画面(a)モードが指定された場合に、複数のブロック0〜39に割り当てられるアプリケーションが変化する様子を示す図である。
【0053】
従来であれば、1画面(a)モードから2画面(a)モードに、表示モードが変更されると、割当処理プログラムが、まず、タイミングDE1において、1画面(a)モードにおいて使用していたブロック0から39を開放し、次にタイミングDS1において2画面(a)モードにおいて使用するブロック0〜5、7〜11を取得する処理を行う。そして、2画面(a)モードでは、各アプリケーションは、取得された記憶領域の1以上のブロックを用いて処理を行う。
【0054】
さらに続いて、2画面(a)モードから1画面(a)モードに、表示モードが変更されると、割当処理プログラムが、まず、タイミングDE2において、2画面(a)モードにおいて使用していたブロック0〜5、7〜11を開放し、次にタイミングDS2において1画面(a)モードにおいて使用するブロック0〜39を取得する処理を行う。そして、1画面(a)モードでは、各アプリケーションは、取得された記憶領域の1以上のブロックを用いて処理を行う。
【0055】
しかし、図11に示すように、各アプリケーションに割り当てる記憶領域が極力変動しないように工夫して配置されているので、VRM44a、OSD44b、BUI44c及びJCC44eについては、表示モードの変更に基づく、対応する各ブロックの開放と取得は、無駄な処理ということができる。具体的には、BUI44cに注目すれば、1画面(a)モードから2画面(a)モードに切り替える場合に、BUI44cの実行を一旦終了する。このときに、ブロック2〜5に割り当てられているメモリを開放し、次に、2画面(a)モードのとしてアプリケーションとして、BUI44cを起動する。このときアプリケーションが動作するためにタイミングDS1において、ブロック2〜5を取得する。すなわち、1画面(a)と2画面(a)の両モードでは、BUI44cの動作に違いがあることは考えられるが、動作するために使用する記憶容量には違いがないため、1回分無駄な開放と取得操作を行っていると言うことができる。
【0056】
同様に、表示モードが、2画面(a)から1画面(a)への表示モードに切り換える場合にも、その切り換え時に、各ブロックの返却と取得が発生する。特に、ここでも、VRM44a、OSD44b、BUI44c及びJCC44eについては、無駄な開放と取得操作を行っていると言うことができる。
【0057】
これに対して、本実施の形態に係るミドルウエア43は、表示モードの切り換えにおいて、各ブロックについて、使用するアプリケーションが変更される場合には、変更される記憶領域について開放を行い、かつ次に使用するアプリケーションに取得させるように割当処理を制御するが、表示モードの変更の前後で使用するアプリケーションが変更されない場合には、その変更されない記憶領域については開放しないように割当処理を制御する。
【0058】
具体的には、各アプリケーションに割り当てる記憶領域が極力変動しないような配置にしてあるので、上述したVRM44a、OSD44b、BUI44c及びJCC44eについては、ミドルウエア43は、ユーザの表示モードの切り換えによる変更時に、対応する各ブロックの開放と取得の処理を行わない。すなわち、図11におけるDE1とDE2のタイミングにおける開放と、DS1とDS2のタイミングにおける取得の処理は、行われない、すなわち省略される。
【0059】
また、KNK44dとMDE44fについては、1画面(a)モードから2画面(a)モードに変更されたときに、それぞれの使用する1以上のブロックは、変更後の2画面(a)モードにおいては使用されていない。すなわち、変更後に、使用するアプリケーションが無いので、DE1のタイミングにおける開放は、行われない、すなわち省略される。
【0060】
すなわち、従来であれば、図11において、KNK44dとMDE44fについても、表示モードの変更に基づく、対応する各ブロックの開放は、無駄な処理ということができる。しかし、本実施の形態では、そのような開放は行われない。
【0061】
また、KNK44dとMDE44fについては、2画面(a)モードから1画面(a)モードに変更されたときには、それぞれの使用する1以上のブロックは、変更前の2画面(a)モードにおいては使用されていなかった。さらに、変更後の表示モード(1画面(a)モード)は、変更前の2画面(a)モードよりも前の表示モード(1画面(a)モード)と同じであるので、同じアプリケーションが、それらの1以上のブロックを使用することになる。従って、従来であれば、図11において、KNK44dとMDE44fについても、表示モードの変更に基づく、対応する各ブロックの取得は、無駄な処理ということができる。しかし、本実施の形態では、そのような取得は行われない。
【0062】
すなわち、本実施の形態に係るミドルウエア43は、表示モードの切り換えにおいて、各ブロックについて、変更後に使用するアプリケーションが無い場合には、開放を行わない。また、変更前に使用されていなかった記憶領域が、変更前よりも前のアプリケーションプログラムにより使用され、かつ、変更後のアプリケーションプログラムと前記変更前よりも前のアプリケーションプログラムが同じときは、変更前に使用されていなかった記憶領域について変更後のアプリケーションプログラムに対する取得を行わないように、ミドルウエア43は、制御する。
【0063】
図12は、最初に、ユーザより1画面(a)モードが指定され、次に1画面(b)モードが指定され、さらにその後1画面(a)モードが指定された場合に、複数のブロック0〜39に割り当てられるアプリケーションが変化する様子を示す図である。
【0064】
図12の場合も、ミドルウエア43は、ブロック0から6については、表示モードの変更の前後で、使用するアプリケーションが変更されないので、その変更されない記憶領域については開放も取得も行なわないように割当処理を行う。
【0065】
また、ブロック7〜39については、1画面(a)モードから1画面(b)モードへの変更後に、使用するアプリケーションが無いので、DE1のタイミングにおける開放は、省略される。
【0066】
また、1画面(b)モードから1画面(a)モードへの変更時、ブロック7〜39は、変更前に使用されていなかった記憶領域であるが、変更前よりも前のアプリケーション(1画面(a)モード)により使用されており、かつ、変更後のアプリケーション(1画面(a)モード)と変更前よりも前のアプリケーション(1画面(a)モード)とが同じである。よって、このような場合、ブロック7〜39の記憶領域については、DS2のタイミングにおける取得は、省略される。
【0067】
MDE44fについてみると、図12に示すように、ユーザの操作等で画面モードが切り換えられて、1画面(a)モードから1画面(b)モードに変更される場合に、MDE44fの処理は終了する。このときに、従来であれば、ブロック12〜39に割り当てられている記憶領域は開放される。しかしながら、1画面(b)モードでは、ブロック12〜39を使用するアプリケーションの起動はないので、先のMDE44fの実行は終了しているため、この段階では、ブロック12〜39を返却すなわち開放しなくても何ら問題はないにも拘わらず、1回分無駄な開放処理を行っていると言える。1画面(b)モード時には、ブロック7〜39は使用されないからである。
【0068】
しかし、本実施の形態によれば、ミドルウエア43は、この段階で、1画面(b)モードでは、ブロック12〜39を使用するアプリケーションが存在しないことを判別し、ブロック12〜39の記憶領域の返却処理を省略する。
【0069】
また、その後に、ユーザ操作で1画面(b)モードから1画面(a)モードに切り替えられた場合、MDE44fが動作するために使用する記憶領域は、前の前のモードである1画面(a)モードで使用していた記憶領域と同じ配置のため、前の1画面(b)モードになったときにで返却を保留しておいた記憶領域を継続して使うことが可能である。よって、ミドルウエア43は、1回分の記憶領域の取得処理を省略することが出来る。
【0070】
図13は、最初に、ユーザより1画面(a)モードが指定され、次に番組表モードが指定された場合に、複数のブロック0〜39に割り当てられるアプリケーションが変化する様子を示す図である。
【0071】
図13の場合も、ミドルウエア43は、ブロック0から5については、表示モードの変更の前後で、使用するアプリケーションが変更されないので、その変更されない記憶領域については開放も取得も行なわないように割当処理を制御する。
【0072】
また、ブロック6〜39については、1画面(a)モードから番組表モードへの変更後に使用するアプリケーションのために、DE1のタイミングにおいて開放され、かつ、変更後のアプリケーションのために、DS1のタイミングにおいて取得される。
【0073】
このとき、JCC44eとMDE44fは、番組表モードでは実行されないので、JCC44eとMDE44fの実行は終了する。
【0074】
従来であれば、ブロック7〜17は、BUI44cとKNK44dが処理のために使用するので、開放する必要があるが、ブロック18〜39については、表示モード変更後に使用するアプリケーションが無くても、開放されていた。しかし、ブロック18〜39を開放する処理には、時間が掛かっていた。
【0075】
そこで、本実施の形態では、ミドルウエア43は、表示モードが変更された場合の開放及び取得時に、これらの記憶領域(ブロック18〜39)については、その後にバックグラウンド処理で、任意のタイミングで開放処理を行う。
【0076】
MDE44fに注目すると、ユーザの操作等で表示モードが1画面(a)モードから番組表モードに切り換った場合に、ミドルウエア43は、MDE44fの実行を終了する。このときに、従来であれば、ブロック12〜39に割り当てられている記憶領域を開放する。特に、ブロック12〜17は、BUI44cとKNK44dが動作するために使用するので開放する必要がある。しかしながら、MDE44fが使用していた記憶領域の容量は大きいため、開放処理の完了までの時間が長くなっていた。
【0077】
本実施の形態では、ミドルウエア43は、番組表モードのときにブロック18〜39を使用するアプリケーションが存在しないことを判別し、記憶領域の返却処理と取得処理を、即時に必要とする領域(すなわち、変更後の番組表モードにおいて使用されるブロック12〜17)と、即時に必要としない領域(すなわち、変更後の番組表モードにおいて使用されないブロック18〜39)とに分割し、即時処理を必要としない記憶領域の開放処理を、その後のバックグラウンド処理において、図13ではDF1のタイミングで実行する。これによって、ユーザが番組表を見るなどの行為をしている間に、開放処理が完了させることができ、ユーザにとっての体感的な切り換え時の応答性の向上を図ることができる。
【0078】
次に、記憶領域52内の複数の表示プレーンに対するアプリケーションの割り当てがどのように行われるかを説明する。
図14は、表示モードが時間経過と共に変化した場合における、記憶領域52内の複数の表示プレーンに対するアプリケーションの割り当ての変化の例を説明するための図である。
図14は、最初に、ユーザより1画面(a)モードが指定され、次に2画面(a)モードが指定され、さらにその後1画面(a)モードが指定された場合に、複数の表示プレーンV1,V2,G1〜G6に割り当てられるアプリケーションが変化する様子を示す図である。
【0079】
図14に示すように、複数の表示プレーンV1,V2,G1〜G6についても、割り当てられる表示プレーンが極力変動しないような配置にされている。
【0080】
これらの表示プレーンについても、上述したブロック0〜39と同様に、ミドルウエア43は、各表示プレーンについて、その変更前のアプリケーションと変更後のアプリケーションとが同じであるか否かを判定する。ミドルウエア43は、その判定の結果、変更後のアプリケーションが変更前のアプリケーションと異なるときは、変更前のアプリケーションが使用していた表示プレーンの記憶領域について開放を行い、かつ変更後のアプリケーションに対して取得させる。さらに、ミドルウエア43は、変更後のアプリケーションが変更前のアプリケーションと同じとき、あるいは変更後に使用するアプリケーションが無いときは、変更前のアプリケーションが使用していた表示プレーンの記憶領域について開放を行わないように、記憶領域の割当制御を行う。
【0081】
さらに、ミドルウエア43は、変更前に使用されていなかった表示プレーンの記憶領域が、変更前よりも前のアプリケーションにより使用され、かつ、変更後のアプリケーションと変更前よりも前のアプリケーションが同じときは、変更前に使用されていなかった表示プレーンの記憶領域について、変更後のアプリケーションに対する取得を行わないように、記憶領域の割当制御を行う。
【0082】
例えば、BUI44cに注目すれば、従来であれば、ユーザの操作等で画面モードが切り換えられて、1画面(a)モードから2画面(a)モードに変更される場合に、BUI44cは一旦実行が終了される。その表示ブレーンG2もDE1のタイミングで開放される。続いて、2画面(a)モードのためのBUI44cが起動され、再び、表示ブレーンG2は、同じBUI44cの処理のためにDS1のタイミングで取得される。1画面(a)モードと2画面(a)モードでは、BUI44cの処理に違いがあることは考えられるが、表示をするために使用する表示プレーンには違いがない。そのため、従来では、1回分無駄な開放と取得処理が行われている。
【0083】
さらに、表示モードが、2画面(a)モードから1画面(a)モードに切り換えられた場合にも、同様な表示プレーンG2についての返却と取得が、それぞれDE2とDS2のタイミングで発生する。
【0084】
これに対して、本実施の形態では、表示プレーンG2については、1画面(a)モードと2画面(a)モードにおいて同じアプリケーションであるため、1画面(a)モードのために取得した表示プレーンG2は、2画面(a)モードにおいても継続して使うことが可能である。従って、表示プレーンG2についての、それぞれ1回分の開放と取得の処理が省略される。2画面(a)モードから1画面(a)モードへの切り換えの場合も、同様に開放と取得の処理が省略される。
【0085】
また、MDE44fについてみれば、表示プレーンG5,G6は、表示モードが1画面(a)モードから2画面(a)モードに変更された場合には、開放の処理が省略され、表示モードが2画面(a)モードから1画面(a)モードに変更された場合にも、変更後の表示モード(1画面(a)モード)が、変更前の表示モード(2画面(a)モード)の前の表示モード(1画面(a)モード)と同じであるので、取得の処理が省略される。
【0086】
因みに、表示プレーンV1,V2,G1,G4については、変更の前後でアプリケーションが同じであるので、表示モードのそれぞれの変更時において、開放と取得の処理は省略される。
また、表示プレーンG3については、変更の前後でアプリケーションが異なるので、表示モードのそれぞれの変更時において、開放と取得の処理が実行される。
【0087】
以上説明した動作を実行するミドルウエア43の割当処理について説明する。
図15は、ミドルウエア43の割当処理の流れの例を示すフローチャートである。図15の処理プログラムは、ROM13cに記憶されており、CPU13aがROM13cから読み出すことによって実行される。
まず、CPU13aは、表示モードの切り換えが有ったか否かを判定する(ステップS1)。この判定は、上述したように、ユーザがリモコン22等を操作して画面の表示モードを切り換えるコマンド信号が、I/F19を介して受信されたときに、行われる。
表示モードの切り換えが無ければ、処理は、ステップS1においてNOとなり、処理は終了する。
【0088】
表示モードの切り換えが有れば、CPU13aは、ブロック毎あるいは表示プレーン毎に、表示モードの変更の前後において、使用するアプリケーションが競合するか否かを判定する(ステップS2)。
【0089】
ブロック毎にあるいは表示プレーン毎に、使用するアプリケーションが競合する場合とは、表示モードの変更の前後で異なるアプリケーションにより、ブロックあるいは表示プレーンが使用される場合である。例えば、図13のブロック6や、図14の表示プレーンG3の場合である。
【0090】
なお、図11から図14には図示していないが、あるブロックあるいは表示プレーンは変更前には使用されていなかったが、そのブロックあるいは表示プレーンについて、変更後の表示モードにおいて使用するアプリケーションが、変更前より前の表示モードにおいて使用していたアプリケーションと異なる場合も、使用するアプリケーションが競合する場合である。
【0091】
そして、ブロック毎にあるいは表示プレーン毎に、使用するアプリケーションが競合しない場合とは、ブロックあるいは表示プレーンが、表示モードの変更の前後で同じアプリケーションにより使用される場合、あるいは表示モードの変更後にそのブロックあるいは表示プレーンが使用されない場合である。例えば、図12の1画面(a)モードから1画面(b)モードへの変更時のブロック0〜6、7〜11や、図14の1画面(a)モードから2画面(a)モードへの変更時の表示プレーンV1,V2,G5,G6、等の場合である。
【0092】
さらに、あるブロックあるいは表示プレーンは変更前には使用されていなかったが、そのブロックあるいは表示プレーンについて、変更後の表示モードにおいて使用するアプリケーションが、変更前より前の表示モードにおいて使用するアプリケーションと同じ場合も、使用するアプリケーションが競合しない場合である。例えば、図12の1画面(b)モードから1画面(a)モードへの変更時のブロック7〜11や、図14の2画面(a)モードから1画面(a)モードへの変更時の表示プレーンG5,G6の場合である。
【0093】
そして、ステップS2でYESの場合、すなわち、ブロック毎あるいは表示プレーン毎に、表示モードの変更の前後において、使用するアプリケーションが競合する場合は、その競合するブロックあるいは表示プレーンについて、開放又は取得の処理を、CPU13aは実行する(ステップS3)。
【0094】
そして、ステップS2でNOの場合、すなわち、ブロック毎あるいは表示プレーン毎に、表示モードの変更の前後において、使用するアプリケーションが競合するものが無い場合は、処理は、終了する。
また、表示プレーンについても、クリア処理を必要であれば、バックグラウンド処理で行うようにしてもよい。
【0095】
以上のように、複数のブロック及び複数の表示プレーンについて、所定の条件の下で、記憶領域を開放あるいは取得する処理を省略したので、各アプリケーションの起動を速くすることができる。その結果、従来の割当処理において生じていた無駄な処理時間を抑えることができ、アプリケーションの切り換えが早くなり、ユーザの操作感が向上する効果も期待することができる。また、即時処理の必要のない場合は、開放処理をバックグラウンド処理により行うように切り替えることによって、アプリケーションの切り換え時の応答速度も速くなる。
【0096】
従って、本実施の形態のデジタル放送受信装置によれば、放送のコンテンツを表示するためのアプリケーションが使用する複数の記憶領域について、メモリの解放と取得の処理を適切に行うようにすることができる。
本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
【図面の簡単な説明】
【0097】
【図1】本発明の実施の形態に係わるデジタル放送受信装置の構成を示す構成図である。
【図2】本発明の実施の形態に係わる、1画面表示であって、かつデータ放送があるモードの表示状態を示す図である。
【図3】本発明の実施の形態に係わる、1画面表示であって、かつデータ放送がないモードの表示状態を示す図である。
【図4】本発明の実施の形態に係わる、2画面表示であって、かつデータ放送の提示すなわち出力を禁止し、かつ字幕があるモードの表示状態を示す図である。
【図5】本発明の実施の形態に係わる、番組表を表示し、かつデータ放送の提示及び字幕表示を禁止するモードの表示状態を示す図である。
【図6】本発明の実施の形態に係わる、CPU上で実行されるソフトウエアの構造を説明するための図である。
【図7】本発明の実施の形態に係わる、モニタ16に表示される画面を構成する表示プレーンの構成を説明するための図である。
【図8】本発明の実施の形態に係わる、各アプリケーションが使用するSDRAM内の複数の記憶領域の配置を示すメモリマップである。
【図9】本発明の実施の形態に係わる、画面の表示モードと記憶領域における各ブロックとの対応を説明するための図である。
【図10】本発明の実施の形態に係わる、画面の表示モードと記憶領域における各表示プレーンとの対応を説明するための図である。
【図11】本発明の実施の形態に係わる、表示モードが時間経過と共に変化した場合における、記憶領域内の複数のブロックに対するアプリケーションの割り当ての変化の例を説明するための図である。
【図12】本発明の実施の形態に係わる、表示モードが時間経過と共に変化した場合における、記憶領域内の複数のブロックに対するアプリケーションの割り当ての変化の他の例を説明するための図である。
【図13】本発明の実施の形態に係わる、表示モードが時間経過と共に変化した場合における、記憶領域内の複数のブロックに対するアプリケーションの割り当ての変化のさらに他の例を説明するための図である。
【図14】本発明の実施の形態に係わる、表示モードが時間経過と共に変化した場合における、記憶領域内の複数の表示プレーンに対するアプリケーションの割り当ての変化の例を説明するための図である。
【図15】本発明の実施の形態に係わる、ミドルウエアの割当処理の流れの例を示すフローチャートである。
【符号の説明】
【0098】
1…デジタル放送受信装置、13…信号処理回路、21…アンテナ、22…リモートコントローラ、31…画面、44…アプリケーション群。
【特許請求の範囲】
【請求項1】
受信した放送のコンテンツの表示のためのプログラムを含む複数のアプリケーションプログラムにより前記受信した放送を表示可能なデジタル放送受信装置であって、
前記複数のアプリケーションプログラムが使用する複数の記憶領域と、
前記表示のためのプログラムが変更された場合に、前記複数の記憶領域のそれぞれについて、その変更前のアプリケーションプログラムと変更後のアプリケーションプログラムとが同じであるか否かを判定し、該判定の結果、前記変更後のアプリケーションプログラムが前記変更前のアプリケーションプログラムが異なるときは、前記変更前のアプリケーションプログラムが使用していた記憶領域について開放を行い、かつ前記変更後のアプリケーションプログラムに対して取得させ、前記変更後のアプリケーションプログラムが前記変更前のアプリケーションプログラムと同じときあるいは前記変更後に使用するアプリケーションプログラムが無いときは、前記変更前のアプリケーションプログラムが使用していた記憶領域について開放を行わないように制御する記憶領域制御部と、
を有することを特徴とするデジタル放送受信装置。
【請求項2】
さらに、前記記憶領域制御部は、前記表示のためのプログラムが変更された場合に、
前記変更前に使用されていなかった記憶領域が、前記変更前よりも前のアプリケーションプログラムにより使用され、前記変更後のアプリケーションプログラムと前記変更前よりも前のアプリケーションプログラムが同じときは、前記変更前に使用されていなかった記憶領域について前記変更後のアプリケーションプログラムに対する取得を行わないように制御することを特徴とする請求項1に記載のデジタル放送受信装置。
【請求項3】
さらに、前記記憶領域制御部は、前記表示のためのプログラムが変更された場合に、記憶領域のクリア処理を、変更後のバックグラウンド処理で行うことを特徴とする請求項1又は2に記載のデジタル放送受信装置。
【請求項4】
前記複数の記憶領域のそれぞれは、各アプリケーションプログラムの作業領域に対応する記憶領域を含むことを特徴とする請求項1、2又は3に記載のデジタル放送受信装置。
【請求項5】
前記複数の記憶領域のそれぞれは、各アプリケーションプログラムの画面表示用の複数のプレーンのそれぞれに対応する記憶領域を含むことを特徴とする請求項1乃至4のいずれか1つに記載のデジタル放送受信装置。
【請求項6】
受信した放送のコンテンツの表示のためのプログラムを含む複数のアプリケーションプログラムにより前記受信した放送を表示する方法であって、
前記複数のアプリケーションプログラムが使用する複数の記憶領域を設け、
前記表示のためのプログラムが変更された場合に、前記複数の記憶領域のそれぞれについて、その変更前のアプリケーションプログラムと変更後のアプリケーションプログラムとが同じであるか否かを判定し、
該判定の結果、前記変更後のアプリケーションプログラムが前記変更前のアプリケーションプログラムが異なるときは、前記変更前のアプリケーションプログラムが使用していた記憶領域について開放を行い、かつ前記変更後のアプリケーションプログラムに対して取得させ、前記変更後のアプリケーションプログラムが前記変更前のアプリケーションプログラムと同じときあるいは前記変更後に使用するアプリケーションプログラムが無いときは、前記変更前のアプリケーションプログラムが使用していた記憶領域について開放を行わないように制御することを特徴とするデジタル放送表示方法。
【請求項1】
受信した放送のコンテンツの表示のためのプログラムを含む複数のアプリケーションプログラムにより前記受信した放送を表示可能なデジタル放送受信装置であって、
前記複数のアプリケーションプログラムが使用する複数の記憶領域と、
前記表示のためのプログラムが変更された場合に、前記複数の記憶領域のそれぞれについて、その変更前のアプリケーションプログラムと変更後のアプリケーションプログラムとが同じであるか否かを判定し、該判定の結果、前記変更後のアプリケーションプログラムが前記変更前のアプリケーションプログラムが異なるときは、前記変更前のアプリケーションプログラムが使用していた記憶領域について開放を行い、かつ前記変更後のアプリケーションプログラムに対して取得させ、前記変更後のアプリケーションプログラムが前記変更前のアプリケーションプログラムと同じときあるいは前記変更後に使用するアプリケーションプログラムが無いときは、前記変更前のアプリケーションプログラムが使用していた記憶領域について開放を行わないように制御する記憶領域制御部と、
を有することを特徴とするデジタル放送受信装置。
【請求項2】
さらに、前記記憶領域制御部は、前記表示のためのプログラムが変更された場合に、
前記変更前に使用されていなかった記憶領域が、前記変更前よりも前のアプリケーションプログラムにより使用され、前記変更後のアプリケーションプログラムと前記変更前よりも前のアプリケーションプログラムが同じときは、前記変更前に使用されていなかった記憶領域について前記変更後のアプリケーションプログラムに対する取得を行わないように制御することを特徴とする請求項1に記載のデジタル放送受信装置。
【請求項3】
さらに、前記記憶領域制御部は、前記表示のためのプログラムが変更された場合に、記憶領域のクリア処理を、変更後のバックグラウンド処理で行うことを特徴とする請求項1又は2に記載のデジタル放送受信装置。
【請求項4】
前記複数の記憶領域のそれぞれは、各アプリケーションプログラムの作業領域に対応する記憶領域を含むことを特徴とする請求項1、2又は3に記載のデジタル放送受信装置。
【請求項5】
前記複数の記憶領域のそれぞれは、各アプリケーションプログラムの画面表示用の複数のプレーンのそれぞれに対応する記憶領域を含むことを特徴とする請求項1乃至4のいずれか1つに記載のデジタル放送受信装置。
【請求項6】
受信した放送のコンテンツの表示のためのプログラムを含む複数のアプリケーションプログラムにより前記受信した放送を表示する方法であって、
前記複数のアプリケーションプログラムが使用する複数の記憶領域を設け、
前記表示のためのプログラムが変更された場合に、前記複数の記憶領域のそれぞれについて、その変更前のアプリケーションプログラムと変更後のアプリケーションプログラムとが同じであるか否かを判定し、
該判定の結果、前記変更後のアプリケーションプログラムが前記変更前のアプリケーションプログラムが異なるときは、前記変更前のアプリケーションプログラムが使用していた記憶領域について開放を行い、かつ前記変更後のアプリケーションプログラムに対して取得させ、前記変更後のアプリケーションプログラムが前記変更前のアプリケーションプログラムと同じときあるいは前記変更後に使用するアプリケーションプログラムが無いときは、前記変更前のアプリケーションプログラムが使用していた記憶領域について開放を行わないように制御することを特徴とするデジタル放送表示方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2008−166868(P2008−166868A)
【公開日】平成20年7月17日(2008.7.17)
【国際特許分類】
【出願番号】特願2006−350650(P2006−350650)
【出願日】平成18年12月26日(2006.12.26)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成20年7月17日(2008.7.17)
【国際特許分類】
【出願日】平成18年12月26日(2006.12.26)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]