JP2006155090A - アプリケーション実行装置 - Google Patents

アプリケーション実行装置 Download PDF

Info

Publication number
JP2006155090A
JP2006155090A JP2004342954A JP2004342954A JP2006155090A JP 2006155090 A JP2006155090 A JP 2006155090A JP 2004342954 A JP2004342954 A JP 2004342954A JP 2004342954 A JP2004342954 A JP 2004342954A JP 2006155090 A JP2006155090 A JP 2006155090A
Authority
JP
Japan
Prior art keywords
thread
application
termination
execution
handler
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004342954A
Other languages
English (en)
Inventor
Yasuhiro Yoshida
康浩 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004342954A priority Critical patent/JP2006155090A/ja
Publication of JP2006155090A publication Critical patent/JP2006155090A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】 アプリケーションプログラムの処理の負荷を軽減し、そのアプリケーションプログラムの作成や設計を容易にするアプリケーション実行装置を提供する。
【解決手段】 アプリケーション506のターゲットスレッド612の終了要求を受け付けるスレッド終了受付部623と、ターゲットスレッド612を実行するとともに、受け付けられた終了要求に基づいて、ターゲットスレッド612の実行を終了させるように処理するスレッド実行部622と、ハンドラアドレス704をアプリケーション506から取得して登録するスレッド終了通知ハンドラ登録部624と、スレッド実行部622による終了の処理が完了するときに、登録されたハンドラアドレス704に基づいてスレッド終了通知ハンドラ613を呼び出すことで、その完了をアプリケーション506に通知するスレッド終了通知部625とを備える。
【選択図】 図6

Description

本発明は、アプリケーションプログラムをダウンロードして実行するアプリケーション実行装置に関し、特にJava(登録商標)をベースとしたシステムにおいてスレッドを実行するアプリケーション実行装置に関する。
デジタルテレビ端末に代表されるアプリケーションプログラムをダウンロードして実行するアプリケーション実行装置の動作方法のうち、特にJava(登録商標)が動作するシステムにおける実行中のスレッドを終了する方法の従来の技術(例えば、特許文献1参照)を述べる。
アプリケーションプログラムをダウンロードして実行するデジタルテレビ受信機上でJava)が動作するシステムに関する技術は、欧州のデジタルテレビ標準規格であるDVB−MHP規格(ETSI TS 101 812 DVB−MHP仕様V1.0.2)等に定められており、公知の技術である。DVB−MHP規格は、デジタルテレビ向けにJava規格を拡張して枠組みやAPI(Application Program Interface)を規定している。詳細はDVB−MHP規格を参照されたい。
ここで、スレッドとは、CPUの資源を抽象化したものであり、Javaプログラムにおける基本実行単位である。つまり、Javaプログラムはスレッドの内部で動作する。
また、スレッドは、Javaプログラムの起動時にはシステムから与えられるが、Javaプログラム自身が、スレッドを生成させて、複数のスレッドを同時実行させることも可能である。また、生成したスレッドを終了させることも可能である。なお、スレッドの終了とは、スレッドの動作を停止させ、スレッド自身が用いたメモリ領域などのリソースを解放する処理を行うことを意味する。スレッドの内容の詳細などは、書籍「 Language Specification(ISBN 0−201−63451−1)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
以下、Javaベースのシステムにおいて従来行われているスレッドを終了する方法について概説する。
図14は、アプリケーション実行装置が有する、スレッドを終了するための機能を概念的に示すブロック図である。
アプリケーション実行装置は、ダウンロードされたアプリケーションプログラム(以下、アプリケーションという)1310と、Javaシステム内部のスレッド管理部1340とを有する。
ダウンロードされたアプリケーション1310は、初期スレッド1311を実行するためのプログラムと、ターゲットスレッド1312を実行するためのプログラムと、終了待ちスレッド1313を実行するためのプログラムとを備え、CPU等の資源を用いて各プログラムの内容が実行されることにより初期スレッド1311、ターゲットスレッド1312、終了待ちスレッド1313となる。
初期スレッド1311は、ダウンロードされたアプリケーション1310の起動時にシステムから与えられるスレッドである。起動時はこの初期スレッド5061に基づく動作が実行される。
ターゲットスレッド1312は、初期スレッド1311によりスレッド管理部1340を用いて生成されたスレッドである。
一方、スレッド管理部1340は、システム内部にあってスレッドを管理するモジュールであり、スレッド生成部1341、スレッド実行部1342、及びスレッド終了受付部1343を有する。なお、このようなスレッド管理部1340は、Javaのクラスであるjava.lang.Threadクラスとして実現されている。
スレッド生成部1341は、スレッド(Threadクラスのインスタンス)を生成する。
スレッド実行部1342は、アプリケーション1310からのスレッドの実行要求を受けてそのスレッドの実行を開始する。このようなスレッド実行部1342は、Thread.startメソッドに相当する。
スレッド終了受付部1343は、アプリケーション1310からのスレッドの終了要求を受けて終了処理を開始する。このようなスレッド終了受付部1343は、Thread.stopメソッドに相当する。
以下、アプリケーション実行装置のスレッド管理部1340がターゲットスレッド1312を終了させる際の動作について説明する。
図15は、スレッド管理部1340がターゲットスレッド1312を終了させる動作の概略を示すタイムチャートである。
予め、アプリケーション1310は以下のようにターゲットスレッド1312を実行しているものとする。
すなわち、アプリケーション1310は、初期スレッド1311において、スレッド生成部1341に指示して、ターゲットスレッド1312を取得する。また、スレッド実行部1342に対し、ターゲットスレッド1312の実行を指示する。これにより、スレッド実行部1342は時刻1410からターゲットスレッド1312の処理を開始する。
以下、ターゲットスレッド1312の終了処理を説明する。
初期スレッド1311は、時刻1420に終了待ちスレッド1313を生成する。
終了待ちスレッド1313は、時刻1430にスレッド終了受付部1343に対してターゲットスレッド1312の終了要求を行う。その結果、スレッド終了受付部1343はスレッド実行部1342に対してターゲットスレッド1312の終了処理を要求する。スレッド実行部1342は終了処理を開始する。なお、図15中、ターゲットスレッド1312の破線の矢印は終了処理中を示す。
次に、終了待ちスレッド1313は、時刻1440にスレッド実行部1342に対してスレッドの終了待ち要求する。
スレッド実行部1342は、図15中の点線で示すように、ターゲットスレッド1312の終了処理を行い、時刻1450に終了処理が完了すると、時刻1460に終了待ちスレッド1313に通知する。
これを受けて、終了待ちスレッド1313は、初期スレッド1311に、ターゲットスレッド1312の終了を通知する。
特開平8−123700号公報
しかしながら、上記従来のアプリケーション実行装置が行うスレッドの終了方法では、アプリケーションプログラムの処理負担が大きく、そのアプリケーションプログラムの作成や設計に対しても負担が大きくなるという問題がある。
即ち、従来の技術では、Javaベースのシステム上のアプリケーションプログラムが対象となるスレッド(ターゲットスレッド)を終了させるためには、さらに別のスレッド(終了待ちスレッド)を生成して、システム内部で行われるスレッドの終了処理の完了を待機する必要があった。言い換えれば、アプリケーションプログラムは、スレッドを終了させるために別のスレッドをわざわざ生成し、生成したスレッドをプログラム実行部にて実行させるようにプログラムを組む必要があり、その生成処理だけ処理負担が大きくなるばかりか、そのような生成処理を行うようにアプリケーションプログラムを作成するには、プログラム作成者にとって手間がかかってしまうのである。
そこで、本発明は、かかる問題に鑑みてなされたものであって、アプリケーションプログラムの処理の負荷を軽減し、そのアプリケーションプログラムの作成や設計を容易にするアプリケーション実行装置を提供することを目的とする。
上記目的を達成するために、本発明に係るアプリケーション実行装置は、オブジェクト指向型のアプリケーションプログラムをダウンロードして実行するアプリケーション実行装置であって、前記アプリケーションプログラムのスレッドを実行するスレッド実行手段と、前記スレッドの実行を終了させるように求める終了要求を受け付ける終了要求受付手段と、前記終了要求受付手段により受け付けられた終了要求に基づいて、前記スレッドの実行を終了させるように処理する終了処理手段と、前記アプリケーションプログラムのオブジェクトたるハンドラを呼び出すための呼び出し情報を前記アプリケーションプログラムから取得して登録する登録手段と、前記終了処理手段による終了の処理が完了するときに、前記登録手段により登録された呼び出し情報に基づいて前記ハンドラを呼び出すことで、前記完了を前記アプリケーションプログラムに通知する完了通知手段とを備えることを特徴とする。例えば、前記登録手段は、前記ハンドラの所在を示すアドレスを前記呼び出し情報として取得する。また、前記登録手段は、前記スレッドに関連付けて前記アドレスを登録する。
これにより、アプリケーションプログラムにオブジェクトとしてのハンドラを設定しておけば、スレッドの終了処理の完了時には、そのハンドラが呼び出されることでその完了がアプリケーションプログラムに通知されるため、スレッドの終了処理の完了をアプリケーションプログラムに通知するために、実行中のスレッドに対応する別のスレッドをアプリケーションプログラムにわざわざ生成させる必要がなく、アプリケーションプログラムの処理の負担を軽減することができる。また、ハンドラはオブジェクトであるため、ハンドラをアプリケーションプログラムに1つだけ設定しておけば、どのようなスレッドが実行中であっても、アプリケーションプログラムはそのスレッドの終了処理の完了の通知を得ることができ、アプリケーションプログラムの作成や設計を容易にすることができる。
また、前記登録手段は、前記終了要求受付手段により終了要求が受け付けられるときに、前記呼び出し情報を取得して登録することを特徴としても良い。
これにより、終了処理の受け付けと、呼び出し情報の取得及び登録とがそれぞれ同時に行われるため、アプリケーションプログラムの処理負担をさらに軽減することができる。
なお、本発明は、このようなアプリケーション実行装置として実現することができるだけでなく、その方法やプログラム、そのプログラムを格納する記憶媒体としても実現することができる。
本発明のアプリケーション実行装置は、アプリケーションプログラムがスレッドを終了させるために別のスレッドを自ら生成することがないので、終了処理の負荷を軽減し、そのアプリケーションプログラムの作成や設計を容易にすることができるという作用効果を奏する。
(実施の形態1)
本発明に係る第1の実施の形態におけるケーブルテレビシステムについて図面を参照しながら説明する。
図1は、本発明に係る第1の実施の形態におけるケーブルテレビシステムの構成を示す構成図である。
このケーブルテレビシステムは、ヘッドエンド101と、3個のアプリケーション実行装置たる端末装置A111、端末装置B112、及び端末装置C113とを備えている。本実施の形態では、1つのヘッドエンド101に対して3つの端末装置が結合されているが、任意の数の端末装置をヘッドエンド101に結合しても、本発明は実施可能である。
ヘッドエンド101は、複数の端末装置に対して映像・音声・データ等の放送信号を送信するとともに、端末装置からのデータ送信を受信する。本発明は主として端末装置に関わるので、ヘッドエンドに関する詳細な説明は省略する。
端末装置A111、端末装置B112、端末装置C113は、ヘッドエンド101からの放送信号を受信し再生する。また、ヘッドエンド101に対して、各端末装置固有のデータを送信する。3つの端末装置は本実施の形態では全て同じ構成を取る。
図2は、端末装置のハードウエア構成を表すブロック図である。なお、図2では、端末装置A111、端末装置B112、及び端末装置C113のうちの何れか1つを端末装置200として示す。
端末装置200は、QAM復調部201、QPSK復調部202、QPSK変調部203、TSデコーダ205、オーディオデコーダ206、スピーカ207、ビデオデコーダ208、ビデオプレーン209、スチルプレーン210、OSDプレーン211、ディスプレイ212、2次記憶部213、1次記憶部214、ROM215、入力部216、及びCPU217を備えている。また端末装置200には、CableCard204が着脱できる。
図3は、端末装置200の外観の一例を示す外観図である。
この端末装置200は、薄型テレビとして構成されており、CableCard204を除く上記各構成要素と、それらの構成要素を収納する筐体301とを備える。
ディスプレイ302は、図2におけるディスプレイ212に相当する。複数のボタンで構成されるフロントパネル部303は、図2の入力部216に相当する。信号入力端子304には、ヘッドエンド101との信号の送受信を行うためのケーブル線が接続される。この信号入力端子304は、図2のQAM復調部201、QPSK復調部202、及びQPSK変調部203と接続されている。
CableCard305は、図2のCableCard204に相当する。CableCard204は、図3のCableCard305のように、端末装置200とは独立した形態を取り、端末装置200に着脱可能となっている。CableCard204の詳細は後述する。挿入スロット306にはCableCard305が挿入される。
図2を参照して、QAM復調部201は、CPU217から指定された周波数を含むチューニング情報で、ヘッドエンド101でQAM変調され送信されてきた信号を復調し、CableCard204に引き渡す。
QPSK復調部202は、CPU217から指定された周波数を含むチューニング情報で、ヘッドエンド101でQPSK変調され送信されてきた信号を復調し、CableCard204に引き渡す。
QPSK変調部203は、CPU217から指定された周波数を含む変調情報で、CableCard204から渡された信号をQPSK変調し、ヘッドエンド101に送信する。
CableCard204は、図3のように端末装置200から着脱可能な形態をしている。端末本体200とCableCard204の接続インターフェースは、OpenCable(登録商標) HOST−POD Interface Specification(OC−SP−HOSTPOD−IF−I12−030210)及び、この仕様書から参照されている仕様書で定義されている。ここでは、詳細は省略する。
TSデコーダ205は、CableCard204から受け取った信号のフィルタリングを実施し、必要なデータをオーディオデコーダ206、ビデオデコーダ208、及びCPU217に引き渡す。ここで、CableCard204から来る信号はMPEG2トランスポートストリームである。MPEG2トランスポートストリームの詳細はMPEG規格書 ISO/IEC13818−1に記載されており、本実施の形態では詳細は省略する。MPEG2トランスポートストリームは、複数の固定長パケットで構成され、各パケットには、パケットIDが振られている。このパケットIDに応じて必要なパケットだけを取り出す処理が、TSデコーダ205が行うフィルタリングである。TSデコーダ205はCPU217から指示された複数のフィルタリングを同時に実行することができる。
オーディオデコーダ206は、TSデコーダ205から与えられたMPEG2トランスポートストリームのパケットに埋め込まれたオーディオデータを連結し、デジタル−アナログ変換を行いスピーカ207に出力する。
スピーカ207は、オーディオデコーダ206から与えられた信号を音声出力する。
ビデオデコーダ208は、TSデコーダ205から与えられたMPEG2トランスポートストリームのパケットに埋め込まれたビデオデータを連結し、デジタル−アナログ変換を行うことでビデオイメージを生成し、ビデオプレーン209に記憶させる。ここで、ビデオデコーダ208は、複数のビデオを同時に再生し、ビデオプレーン209に記憶させることもできる。また、CPU217から与えられたMPEG−Iデータをデコードし、スチルプレーン210に記憶させる。
ビデオプレーン209は、ビデオデコーダ208がデコードしたビデオイメージを記憶するためのものであって、メモリーなどで構成される。ここで、ビデオプレーン209は、複数の記憶領域を持つ。ビデオデコーダ208が複数のビデオを同時に再生した場合、デコードされた複数のビデオは、それぞれに対応するビデオプレーン内の記憶領域にそれぞれ記憶される。
スチルプレーン210は、ビデオデコーダ208がデコードしたビMPEG−Iイメージや、CPU217が描画したイメージを記憶するためのものであって、メモリーなどで構成される。スチルプレーン210が記憶するイメージは、主に背景画像として使用される。ここで、スチルプレーン210は、複数の記憶領域を持つ。
OSDプレーン211は、CPU217によって描画されグラフィックスコンテンツを記憶するためのものであって、メモリーなどで構成される。グラフィックスコンテンツとは、点や、線、四角形等の基本図形、文字、JPEG規格やPNG規格などで定められた画像データをデコードしたイメージデータなどである。ここで、OSDプレーン211は、複数の記憶領域を持つ。
ディスプレイ212は、ビデオプレーン209、スチルプレーン210、及びOSDプレーン211が記憶しているイメージを合成して出力するものであって、イメージ合成回路とブラウン管や液晶等で構成される。
2次記憶部213は、具体的には、フラッシュメモリーやハードディスク等で構成され、CPU217から指示されたデータやプログラムを保存したり削除したりする。また、保存されているデータやプログラムはCPU217に参照される。保存されているデータやプログラムは、端末装置200の電源が切断された状態でも保存されつづける。
1次記憶部214は、具体的には、RAM等で構成され、CPU217から指示されたデータやプログラムを一次的に保存したり削除したりする。また、保存されているデータやプログラムはCPU217に参照される。保存されているデータやプログラムは、端末装置200の電源が切断された際に、抹消される。
ROM215は、書き換え不可能なメモリーデバイスであり、具体的にはROMやCD−ROM、DVDなどで構成される。ROM215は、CPU217が実行するプログラムが格納されている。
入力部216は、具体的には、フロントパネルやリモコンで構成され、ユーザーからの入力を受け付ける。
図4は、フロントパネルとして構成された入力部216の外観の一例を示す図である。この入力部216(フロントパネル400)は、図3のフロントパネル部303に相当する。フロントパネル400は、7つのボタン、すなわち上カーソルボタン401、下カーソルボタン402、左カーソルボタン403、右カーソルボタン404、OKボタン405、取消ボタン406、及びEPGボタン407を備えている。ユーザーがボタンを押下すると、押下されたボタンの識別子が、CPU217に通知される。
CPU217は、ROM215が記憶するプログラムを実行する。CPU217は、実行するプログラムの指示に従い、QAM復調部201、QPSK復調部202、QPSK変調部203、CableCard204、TSデコーダ205、ビデオでコーダ208、ディスプレイ212、2次記憶部213、1次記憶部214、及びROM215を制御する。
図5は、ROM215に記憶され、CPU217によって実行されるプログラムと、ダウンロードされて1次記憶部214に記憶された、CPU217によって実行されるアプリケーションプログラムとを示す概念図である。
プログラム500は、ROM215に記憶されており、複数のサブプログラムで構成される。具体的に、プログラム500は、OS501、JavaVM502、EPG503、サービスマネージャ504、及びJavaライブラリ505で構成される。
OS501は、端末装置200の電源が投入されると、CPU217が起動するためのサブプログラムである。OSという表記は、オペレーティングシステムの略であり、OS501の一例としてLinu13等が挙げられる。OS501は、他のサブプログラムを平行して実行するカーネル501a及びライブラリ501bで構成される公知の技術であり、詳細な説明は省略する。本実施の形態においては、OS501のカーネル501aは、JavaVM502をサブプログラムとして実行する。また、ライブラリ501bは、これらサブプログラムに対して、端末装置200が保持する構成要素を制御するための複数の機能を提供する。
ライブラリ501bの機能の一例として、チューニング機能を紹介する。チューニング機能は、他のサブプログラムから周波数を含むチューニング情報を受け取り、それをQAM復調部201に引き渡す。QAM復調部201は与えられたチューニング情報に基づき復調処理を行い、復調したデータをCableCard204に引き渡すことができる。この結果、他のサブプログラムはライブラリ501bを通してQAM復調部201を制御することができる。
JavaVM502は、Java(登録商標)言語で記述されたプログラムを解析して実行するバーチャルマシンである。この言語で記述されたプログラムはバイトコードと呼ばれる、ハードウエアに依存しない中間コードにコンパイルされる。バーチャルマシン(JavaVM502)は、このバイトコードを実行するインタープリタである。また、一部のバーチャルマシンは、バイトコードをCPU217が理解可能な実行形式に翻訳してから、CPU217に引渡し、実行することも行う。JavaVM502は、カーネル501aから、実行するプログラムを指定されることにより起動する。本実施の形態では、カーネル501aは、実行するプログラムとしてナビゲータ503を指定する。言語の詳細は、書籍「 Language Specification(ISBN 0−201−63451−1)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。また、VM自体の詳細な動作などは、「 Virtual Machine Specification(ISBN 0−201−6345133)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
ナビゲータ503は、Java言語で書かれたJavaプログラムであり、JavaVM502によって起動され、逐次実行される。ユーザーに対して、チャンネル一覧を表示したり、入力部216でユーザーが入力したチャンネル選択の指示を、CPU217を通して受け取り、チャンネル選択を行う。
サービスマネージャ504は、Java言語で書かれたJavaプログラムであり、ナビゲータ503からチャンネル選択の指示を受け付け、JavaVM502によって逐次実行される。サービスマネージャ504は、ユーザーによって指定されたチャンネルの番組を選択する。具体的には、指定された番組の制御を行うアプリケーションプログラム(以下、アプリケーションという)506をダウンロードして起動するまでの処理を行う。アプリケーション506がダウンロードされたあとの処理は、そのアプリケーション506が中心に行う。ここでダウンロードとは、MPEG2トランスポートストリーム中のパケットからファイルシステム等のデータを取り出し1次記憶部214等の記憶手段に保存することである。
以下、サービスマネージャ504がアプリケーション506をダウンロードして起動するまでの手順について簡単に説明する。ここではその詳細は本発明には関係ないのでその詳細の説明は省略する。
サービスマネージャ504は、最初にJavaライブラリ505の中にあるTuner505cに、チューニングを依頼する。Tuner505cは、2次記憶部213が記憶するチャンネル情報を参照し、ユーザーが選択したチャンネルに対応するチューニング情報を獲得する。次に、Javaライブラリ505の中にあるCA505dにデスクランブルを依頼する。CA505dは、OS501のライブラリ501bを通して復号に必要な情報をCableCard204に与える。CableCard204は、与えられた情報を元に、QAM復調部201から与えられた信号を復号してTSデコーダ205に引き渡す。次に、TSデコーダ205は、Javaライブラリ505の中にあるAM505bに、指定されたチャンネルが提供するアプリケーション506の実行を依頼する。AM505bは、チャンネルに含まれているAIT(Application information Table)を取り出し、チャンネルに含まれるアプリケーション506に関する情報を取り出す。AITは、DVB−MHP規格書に規定されている。AM505bは、取り出したアプリケーション506に関する情報に従って、Javaライブラリ505の中にあるDSMCC505aに、指定されたチャンネルが保持するディレクトリやファイルで構成されるファイルシステムのダウンロードを依頼する。MPEG2トランスポートストリームにファイルシステム等のデータを埋め込んだりそれを取り出したりする方法は、MPEG規格書 ISO/IEC13818−6に記述されたDSMCCという方式を用いる。AM505bは、1次記憶部214にダウンロードしたファイルシステム中から実行すべきアプリケーション506を実行する。
Javaライブラリ505は、ROM215に格納されている複数のJavaライブラリの集合である。Javaライブラリは、端末装置200の機能をアプリケーション506が使用できるように、JavaのAPIをアプリケーション506に対して提供している。本実施の形態では、Javaライブラリ505は、スレッド管理部505a、AM505b、Tuner505c,CA505d、JMF505e,及びAWT505f等を含んでいる。
スレッド管理部505aは、スレッドを管理する。ここでスレッドとは、Javaにおける基本実行単位であり、プログラムの実行に不可欠なものである。スレッドの内容の詳細は、書籍「 Language Specification(ISBN 0−201−63451−1)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
AM505bは,ライブラリ501bを通してTSデコーダ205を制御し、MPEG2トランスポートストリームの中に多重化されているAIT(Application information Table)を取り出し、チャンネルに含まれるアプリケーション506に関する情報を取り出す。AITは、DVB−MHP規格書に規定されている。AM505bは、取り出したアプリケーション506に関する情報に従って、Javaライブラリ505の中にあるDSMCCに、指定されたチャンネルが保持するディレクトリやファイルで構成されるファイルシステムのダウンロードを依頼する。AM505bは、1次記憶部214にダウンロードされたファイルシステム中からAITで指定された実行すべきアプリケーション506を起動する。
Tuner505cは、ライブラリ501bを通してQAM復調部201を制御し、指定された周波数にチューニングするための機能を提供する。
CA505dは、OS501のライブラリ501bを通して復号に必要な情報をCableCard204に与えることによって、CableCard204がスクランブルされたMPEG2トランスポートストリームをデスクランブルできるようにする機能を提供する。
JMF505eは,ライブラリ501bを通してTSデコーダ205、オーディオデコーダ206、及びビデオデコーダ208を制御し、オーディオの再生及びビデオの再生を行う。
AWT505fは、アプリケーション506が描画を行い、入力部216からのキー入力通知を受け取るためのJava APIを提供する。
ダウンロードされたアプリケーション506は、Java言語で書かれたJavaプログラムであり、JavaVM502によって逐次実行される。
以下、このように構成されたシステムにおいて、本発明の主要な機能である、スレッドの終了方法の一実施の形態を、詳細に説明する。
図6は、本実施の形態におけるアプリケーション実行装置のスレッド管理部及びアプリケーションの各機能構成を示す構成図である。
ダウンロードされたアプリケーション506は、初期スレッド611を実行するためのプログラムと、ターゲットスレッド612を実行するためのプログラムと、スレッド終了通知ハンドラ613を実行するためのプログラムとを備え、CPU等の端末装置(またはアプリケーション実行装置)内の資源を用いて各プログラムの内容が解釈され、それぞれ初期スレッド611、ターゲットスレッド612、スレッド終了通知ハンドラ613が生成される。
初期スレッド611は、ダウンロードされたアプリケーション506に対して、起動時にシステム(プログラム500)からの起動要求によりアプリケーション506の初期スレッド611を実行するためのプログラムの内容をスレッド生成部621が解釈し生成したスレッドである。従って起動時はこの初期スレッド611に基づく動作が行われる。
ターゲットスレッド612は、初期スレッド611からの要求によりスレッド生成部621を用いてアプリケーション506のターゲットスレッド612を実行するためのプログラムの内容が解釈され生成されたスレッドである。例えば、ターゲットスレッド612は、ファイルの読み出しや、アプリケーション実行装置の各種設定定数の変更又は設定などの処理を行う。
スレッド終了通知ハンドラ613は、スレッドの終了処理が完了した際に、システム(スレッド管理部505a)から通知を受けるためのメソッドが定義されたハンドラである。Javaではリスナーという名称のインターフェースとして定義されているものである。
一方、スレッド管理部505aは、システム内部にあってスレッドを管理するモジュールであり、スレッド生成部621、スレッド実行部622、スレッド終了受付部623、スレッド終了通知ハンドラ登録部624、スレッド終了通知部625、及びスレッド終了通知ハンドラテーブル626で構成される。
スレッド生成部621は、ダウンロードされたアプリケーション506のプログラムを解釈し、スレッド(Threadクラスのインスタンス)を生成する。
スレッド実行部622は、スレッドの実行要求を受けてスレッド生成部621にて生成したスレッドの実行を開始する。Thread.startメソッドに相当する。
スレッド終了受付部623は、アプリケーション506からのスレッドの終了要求を受けて終了処理を開始する。Thread.stopメソッドに相当する。
スレッド終了通知ハンドラ登録部624は、終了の対象となるスレッド(ターゲットスレッド)とスレッド終了通知ハンドラの登録要求とを受けるものである。スレッド終了通知ハンドラ登録部624は、ターゲットスレッドとスレッド終了通知ハンドラの登録要求を受け、スレッド終了通知ハンドラテーブル626に後述するスレッド特定情報とハンドラアドレスを登録する。
スレッド終了通知部625は、スレッド終了通知ハンドラテーブル626から、終了したスレッドに対応して登録されたスレッド終了通知ハンドラを取得し、そのスレッド終了通知ハンドラに定義されたメソッドを呼び出す。
スレッド終了通知ハンドラテーブル626は、スレッド終了通知ハンドラと終了の対象となるスレッドの組を格納するためのテーブルである。
図7(a)は、スレッド終了通知ハンドラテーブル626に格納されるデータの一例を説明するための説明図である。
例えば、スレッド終了通知ハンドラテーブル626は、終了の対象となるターゲットスレッドを特定するためのスレッド特定情報701(例えばターゲットスレッドを実行するとき、ターゲットスレッドに一意に割り当てられる文字列、IDなど)と、そのターゲットスレッドの終了を通知するためのスレッド終了通知ハンドラの所在を示すハンドラアドレス702(呼び出し情報)とを関連付けて、これらを1つの組711として格納している。
図7(b)は、スレッド終了通知ハンドラテーブル626に格納されるデータの他の例を説明するための説明図である。
スレッド終了通知ハンドラテーブル626は、図7(a)に示す状態から、さらに他のスレッド特定情報703とハンドラアドレス704とが登録されると、これらを組711とは異なる別の組712として格納する。
図8は、スレッド管理部505aがターゲットスレッド612を終了させる動作の概略を示すタイムチャートである。
ここで、初期状態として、スレッド終了通知ハンドラテーブル626には、図7(a)に示すように、スレッド特定情報701とハンドラアドレス702とが格納されているものとする。
アプリケーション506はターゲットスレッド612を予め実行している。すなわち、アプリケーション506の初期スレッド611は、スレッド生成部621にターゲットスレッド612を生成させて、そのターゲットスレッド612を取得する。さらに、初期スレッド611は、時刻810からスレッド実行部622に対してターゲットスレッド612を実行させる。
以下、このように実行されているターゲットスレッド612をアプリケーション506が終了させる際の動作を説明する。
初期スレッド611は、ダウンロードされたアプリケーション506のスレッド終了通知ハンドラ613を実行するためのプログラムをJavaVM502により解釈させて、スレッド終了通知ハンドラ613を生成する。JavaVM502により生成されたスレッド終了通知ハンドラ613はオブジェクトデータ(以下オブジェクトと称す)である。初期スレッド611は、時刻820にスレッド終了通知ハンドラ登録部624に対して、ターゲットスレッド612を特定するためのスレッド特定情報703と、生成されたスレッド終了通知ハンドラ613の所在を示すハンドラアドレス704とを通知する。これを受けて、スレッド終了通知ハンドラ登録部624は、通知されたスレッド特定情報703とハンドラアドレス704とを組712として、図7(b)に示すようにスレッド終了通知ハンドラテーブル626に格納する。
さらに、アプリケーション506の初期スレッド611は、時刻830にスレッド終了受付部623に対して、ターゲットスレッド612の終了を要求する。これを受けて、スレッド終了受付部623は、スレッド実行部622に対して、ターゲットスレッド612の終了を要求する。スレッド実行部622は、ターゲットスレッド612の終了処理を行う。なお、図8中、ターゲットスレッド612の破線の矢印は終了処理中を示す。スレッド実行部622は、ターゲットスレッド612の終了処理が完了する直前、つまり時刻840に、その完了をスレッド終了通知部625に通知する。
スレッド終了通知部625は、スレッド終了通知ハンドラテーブル626を参照し、ターゲットスレッド612に対応するハンドラアドレス704を取り出す。つまり、図7(b)に示すスレッド終了通知ハンドラテーブル626において、ターゲットスレッド612を特定するためのスレッド特定情報703がハンドラアドレス704に関連付けられているので、スレッド終了通知部625はそのハンドラアドレス704を取得する。そしてスレッド終了通知部625は、時刻850にそのハンドラアドレス704からスレッド終了通知ハンドラ613の内部に定義されたメソッドを呼び出す。このように呼び出されたメソッドを実行させて、例えばスレッド終了通知ハンドラ613にターゲットスレッド612の終了時刻が書き込まれることにより、そのターゲットスレッド612の終了が通知される。
その後、スレッド終了通知部625は、スレッド特定情報703とハンドラアドレス704とをスレッド終了通知ハンドラテーブル626から削除して、そのスレッド終了通知ハンドラテーブル626を図7(a)の状態に戻す。
以上により、アプリケーション506は、スレッド終了通知ハンドラ613に定義されたメソッドがスレッド終了通知部625により呼び出された結果、ターゲットスレッド612の終了が通知されるので、従来例のようにアプリケーション506が自らターゲットスレッドとは別のスレッドを生成することなく、ターゲットスレッド612の終了処理の完了を知ることができる。したがって、アプリケーション506のターゲットスレッドの終了処理に起因するアプリケーション506側の処理負担を軽減することができる。これはアプリケーションに組み入れるべき終了動作に係るプログラムが軽減されるため、アプリケーションプログラムの作成者にとってはより容易にプログラムの作成/設計ができることを意味する。
また、スレッド終了通知ハンドラ613はオブジェクトであるため、スレッド終了通知ハンドラ613をアプリケーション506に1つだけ設定しておけば、どのようなスレッドが実行中であっても、アプリケーション506はそのスレッドの終了処理の完了の通知を得ることができ、アプリケーション506の作成や設計を容易にすることができる。
なお、AM505bなど他のJavaライブラリ内部においても、スレッドの生成や終了処理を行うことがあるが、本実施の形態で述べたダウンロードアプリケーションにおける処理内容がそのまま適用できる。
図9は、初期スレッド611の処理動作を示すフローチャートである。
まず、初期スレッド611は、スレッド生成部621を用いてターゲットスレッド612を生成する(ステップS901)。初期スレッド611は、スレッド実行部622を用いてターゲットスレッド612を実行する(ステップS902)。初期スレッド611は、スレッド終了処理ハンドラ登録部624に対してスレッド終了通知ハンドラ613、つまりスレッド特定情報及びハンドラアドレスの登録を要求する(ステップS903)。初期スレッド611は、スレッド終了受付部623に対してターゲットスレッドの終了を要求する(ステップS904)。
図10は、スレッド終了通知部625の処理動作を示すフローチャートである。
まず、スレッド終了通知部625は、スレッド実行部622から、ターゲットスレッド612の終了処理完了の通知を受ける(ステップS905)。次に、スレッド終了通知部625は、スレッド終了通知ハンドラテーブル626を参照して、そのターゲットスレッド612に対応するハンドラアドレスを取得する(ステップS906)。そして、スレッド終了通知部625は、そのハンドラアドレスに対応するスレッド終了通知ハンドラのメソッドを呼び出す(ステップS907)。
(実施の形態2)
本実施の形態におけるケーブルテレビシステムの各端末装置(アプリケーション実行装置)は、実施の形態1の端末装置とは異なる方法によりスレッドを終了させる。
なお、本実施の形態におけるケーブルシステムは、実施の形態1の図1に示すケーブルテレビシステムと同一のシステム構成を有する。また、本実施の形態におけるケーブルシステムの端末装置は、実施の形態1の図2〜図5に示す端末装置の構成と同一の構成を有する。
図11は、本発明に係る第2の実施の形態におけるアプリケーション実行装置のスレッド管理部及びアプリケーションの各機能構成を示す構成図である。
本実施の形態におけるスレッド管理部505sは、実施の形態1のスレッド管理部505aが備える構成要素の他に、登録終了受付部1001を備えている。
なお、本実施の形態において、実施の形態1の各構成要素に付された符号と同一の符号を付して示す構成要素は、実施の形態1の構成要素と同一の機能及び構成を有するため、これらの詳細な説明は省略する。
登録終了受付部1001は、スレッド特定情報及びハンドラアドレスの登録要求とターゲットスレッドの終了要求とを同時に受け付ける。そして登録終了受付部1001は、スレッド終了通知ハンドラ登録部624を呼び出して上記登録を実行させるとともに、スレッド終了受付部623を呼び出して上記終了要求を受け付けさせる。
図12は、ターゲットスレッド612を終了させる動作の概略を示すタイムチャートである。
ここで、初期状態として、スレッド終了通知ハンドラテーブル626には、図7(a)に示すように、スレッド特定情報701とハンドラアドレス702とが格納されているものとする。
初期スレッド611はターゲットスレッド612を予め実行している。すなわち、アプリケーション506の初期スレッド611は、スレッド生成部621にターゲットスレッド612を生成させて、そのターゲットスレッド612を取得する。さらに、初期スレッド611は、時刻1110からスレッド実行部622に対してターゲットスレッド612を実行させる。
以下、このように実行されているターゲットスレッド612をアプリケーション506が終了させる際の動作を説明する。
初期スレッド611は、スレッド終了通知ハンドラ613を生成する。生成されたスレッド終了通知ハンドラ613は、時刻1120に登録終了受付部1001に対して、ターゲットスレッド612を特定するためのスレッド特定情報と、スレッド終了通知ハンドラ613の所在を示すハンドラアドレスとを通知する。即ち、スレッド終了通知ハンドラ613は、スレッド特定情報及びハンドラアドレスの登録を要求する。これと同時に、アプリケーション506の初期スレッド611は、登録終了受付部1001に対して、ターゲットスレッド612の終了を要求する。
これらの要求を受けた登録終了受付部1001は、時刻1130にスレッド終了通知ハンドラ登録部624を呼び出して、上記登録の要求をそのスレッド終了通知ハンドラ登録部624に依頼する。さらに、登録終了受付部1001は、時刻1140にスレッド終了受付部623を呼び出して、上記終了の要求をそのスレッド終了受付部623に依頼する。
スレッド終了通知ハンドラ登録部624は、登録終了受付部1001から依頼されて与えられたスレッド特定情報及びハンドラアドレスの組を、スレッド終了通知ハンドラテーブル626に格納する。
また、スレッド終了受付部623は、登録終了受付部1001からの依頼に基づき、スレッド実行部622に対して、ターゲットスレッド612の終了を要求する。スレッド実行部622は、ターゲットスレッド612の終了処理を行う。なお、図12中、ターゲットスレッド612の破線の矢印は終了処理中を示す。スレッド実行部622は、ターゲットスレッド612の終了処理が完了する直前、つまり時刻1150に、その完了をスレッド終了通知部625に通知する。
スレッド終了通知部625は、スレッド終了通知ハンドラテーブル626を参照し、ターゲットスレッド612に対応するハンドラアドレス704を取り出す。つまり、図7(b)に示すスレッド終了通知ハンドラテーブル626において、ターゲットスレッド612を特定するためのスレッド特定情報703がハンドラアドレス704に関連付けられているので、スレッド終了通知部625はそのハンドラアドレス704を取得する。そしてスレッド終了通知部625は、時刻1160にそのハンドラアドレス704からスレッド終了通知ハンドラ613の内部に定義されたメソッドを呼び出す。このように呼び出されたメソッドを実行させて、例えばスレッド終了通知ハンドラ613にターゲットスレッド612の終了時刻が書き込まれることにより、そのターゲットスレッド612の終了が通知される。
その後、スレッド終了通知部625は、スレッド特定情報703とハンドラアドレス704とをスレッド終了通知ハンドラテーブル626から削除して、そのスレッド終了通知ハンドラテーブル626を図7(a)の状態に戻す。
以上により、アプリケーション506は、スレッド終了通知ハンドラ613にて定義されたメソッドが呼び出されるので、従来例のように自ら別のスレッドを生成することなく、ターゲットスレッド612の終了処理の完了を知ることができる。
なお、AM505bなど他のJavaライブラリにおいても、スレッドの生成や終了処理を行うことがあるが、本実施の形態で述べたダウンロードアプリケーションにおける処理内容がそのまま適用できる。
図13は、初期スレッド611の処理動作を示すフローチャートである。
まず、初期スレッド611は、スレッド生成部621を用いてターゲットスレッド612を生成する(ステップS1201)。初期スレッド611は、スレッド実行部622を用いてターゲットスレッド612を実行する(ステップS1202)。初期スレッド611は、登録終了受付部1001に対して、スレッド特定情報及びハンドラアドレスの登録と、ターゲットスレッドの終了とを同時に要求する(ステップS1203)。
また、本実施の形態におけるスレッド終了通知部625は、実施の形態1と同様、即ち図10に示す動作と同様の動作を実行する。
このような本実施の形態では、実施の形態1と同様の効果が得られるとともに、初期スレッド611からスレッド管理部505sへの呼び出し回数を3回から2回に減少することができ、処理動作の効率を向上することができるというメリットがある。言い換えれば、本実施の形態のアプリケーション実行装置は、実施の形態1と比べて、アプリケーション506の処理負担をさらに軽減することができる。
なお、本実施の形態では、登録終了受付部1001を備えたが、全く同様にして、スレッド特定情報及びハンドラアドレスの登録の要求とターゲットスレッドの生成の要求を受け付ける登録生成部、あるいは、スレッド特定情報及びハンドラアドレスの登録の要求とターゲットスレッドの実行の要求を受け付ける登録実行部を備えても良い。
本発明のアプリケーション実行装置は、アプリケーションプログラムの処理の負荷を軽減し、そのアプリケーションプログラムの作成や設計を容易にすることができるという効果を奏し、例えばアプリケーションプログラムをダウンロードして実行及び終了させるパーソナルコンピュータや携帯電話などの情報機器として適応することができる。
本発明に係る第1の実施の形態におけるケーブルテレビシステムの構成を示す構成図である。 同上の端末装置のハードウエア構成を表すブロック図である。 同上の端末装置の外観の一例を示す外観図である。 同上のフロントパネルとして構成された入力部の外観の一例を示す図である。 同上のプログラムとアプリケーションプログラムとを示す概念図である。 同上のアプリケーション実行装置のスレッド管理部とアプリケーションプログラムの各機能構成を示す構成図である。 (a),(b)は、同上のスレッド終了通知ハンドラテーブルに格納されるデータの一例を説明するための説明図である。 同上のスレッド管理部がターゲットスレッドを終了させる動作の概略を示すタイムチャートである。 同上の初期スレッドの処理動作を示すフローチャートである。 同上のスレッド終了通知部の処理動作を示すフローチャートである。 本発明に係る第2の実施の形態におけるアプリケーション実行装置のスレッド管理部及びアプリケーションプログラムの各機能構成を示す構成図である。 同上のターゲットスレッドを終了させる動作の概略を示すタイムチャートである。 同上の初期スレッドの処理動作を示すフローチャートである。 従来のアプリケーション実行装置が有する、スレッドを終了するための機能を概念的に示すブロック図である。 同上のスレッド管理部がターゲットスレッドを終了させる動作の概略を示すタイムチャートである。
符号の説明
101 ヘッドエンド
111 端末装置A
112 端末装置B
113 端末装置C
505a,505s スレッド管理部
506 アプリケーション
611 初期スレッド
612 ターゲットスレッド
613 スレッド終了通知ハンドラ
621 スレッド生成部
622 スレッド実行部
623 スレッド終了受付部
624 スレッド終了通知ハンドラ登録部
625 スレッド終了通知部
626 スレッド終了通知ハンドラテーブル

Claims (6)

  1. オブジェクト指向型のアプリケーションプログラムをダウンロードして実行するアプリケーション実行装置であって、
    前記アプリケーションプログラムのスレッドを実行するスレッド実行手段と、
    前記スレッドの実行を終了させるように求める終了要求を受け付ける終了要求受付手段と、
    前記終了要求受付手段により受け付けられた終了要求に基づいて、前記スレッドの実行を終了させるように処理する終了処理手段と、
    前記アプリケーションプログラムのオブジェクトたるハンドラを呼び出すための呼び出し情報を前記アプリケーションプログラムから取得して登録する登録手段と、
    前記終了処理手段による終了の処理が完了するときに、前記登録手段により登録された呼び出し情報に基づいて前記ハンドラを呼び出すことで、前記完了を前記アプリケーションプログラムに通知する完了通知手段と
    を備えることを特徴とするアプリケーション実行装置。
  2. 前記登録手段は、前記ハンドラの所在を示すアドレスを前記呼び出し情報として取得する
    ことを特徴とする請求項1記載のアプリケーション実行装置。
  3. 前記登録手段は、前記スレッドに関連付けて前記アドレスを登録する
    ことを特徴とする請求項1又は2記載のアプリケーション実行装置。
  4. 前記登録手段は、前記終了要求受付手段により終了要求が受け付けられるときに、前記呼び出し情報を取得して登録する
    ことを特徴とする請求項1〜3の何れか1項に記載のアプリケーション実行装置。
  5. オブジェクト指向型のアプリケーションプログラムのスレッドの実行を終了させるスレッド終了方法であって、
    前記スレッドの実行を終了させるように求める終了要求を受け付ける終了要求受付ステップと、
    前記終了要求受付ステップで受け付けられた終了要求に基づいて、前記スレッドの実行を終了させるように処理する終了処理ステップと、
    前記アプリケーションプログラムのオブジェクトたるハンドラを呼び出すための呼び出し情報を前記アプリケーションプログラムから取得して登録する登録ステップと、
    前記終了処理ステップで終了の処理が完了するときに、前記登録ステップで登録された呼び出し情報に基づいて前記ハンドラを呼び出すことで、前記完了を前記アプリケーションプログラムに通知する完了通知ステップと
    を含むことを特徴とするスレッド終了方法。
  6. オブジェクト指向型のアプリケーションプログラムのスレッドの実行を終了させるためのプログラムを格納する記憶媒体であって、
    前記プログラムは、
    前記スレッドの実行を終了させるように求める終了要求を受け付ける終了要求受付ステップと、
    前記終了要求受付ステップで受け付けられた終了要求に基づいて、前記スレッドの実行を終了させるように処理する終了処理ステップと、
    前記アプリケーションプログラムのオブジェクトたるハンドラを呼び出すための呼び出し情報を前記アプリケーションプログラムから取得して登録する登録ステップと、
    前記終了処理ステップで終了の処理が完了するときに、前記登録ステップで登録された呼び出し情報に基づいて前記ハンドラを呼び出すことで、前記完了を前記アプリケーションプログラムに通知する完了通知ステップと
    をコンピュータに実行させることを特徴とする記憶媒体。
JP2004342954A 2004-11-26 2004-11-26 アプリケーション実行装置 Pending JP2006155090A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004342954A JP2006155090A (ja) 2004-11-26 2004-11-26 アプリケーション実行装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004342954A JP2006155090A (ja) 2004-11-26 2004-11-26 アプリケーション実行装置

Publications (1)

Publication Number Publication Date
JP2006155090A true JP2006155090A (ja) 2006-06-15

Family

ID=36633338

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004342954A Pending JP2006155090A (ja) 2004-11-26 2004-11-26 アプリケーション実行装置

Country Status (1)

Country Link
JP (1) JP2006155090A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180060140A (ko) * 2016-11-28 2018-06-07 (주) 세인트 시큐리티 자기 보호 기능이 있는 악성 코드의 치료 및 삭제 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180060140A (ko) * 2016-11-28 2018-06-07 (주) 세인트 시큐리티 자기 보호 기능이 있는 악성 코드의 치료 및 삭제 방법
KR101895836B1 (ko) * 2016-11-28 2018-09-06 (주) 세인트 시큐리티 자기 보호 기능이 있는 악성 코드의 치료 및 삭제 방법

Similar Documents

Publication Publication Date Title
US8212842B2 (en) Display processing device
CA2746844C (en) Receiver, reception method, transmitter, transmission method, program and broadcasting system
US9264757B2 (en) Service executing apparatus
KR101312902B1 (ko) 트리거를 사용하지 않는 양방향 텔레비전
US20060168639A1 (en) Interactive television system with partial character set generator
US7089554B2 (en) Program executing apparatus
KR20140007907A (ko) 송신 장치, 송신 방법, 수신 장치, 수신 방법, 프로그램 및 방송 시스템
CN112367543A (zh) 显示设备、移动终端、投屏方法及投屏系统
WO2005109865A1 (en) A method for realizing embedded digital television service platform
CN111601142B (zh) 一种字幕的显示方法及显示设备
JPWO2004034698A1 (ja) 情報処理装置
CN112040309A (zh) 一种频道切换方法及显示设备
JP2006155090A (ja) アプリケーション実行装置
JP2005073239A (ja) サービス実行装置
JP4617350B2 (ja) 放送受信装置、その制御方法
CN112291600B (zh) 一种缓存方法及显示设备
CN109640192B (zh) 视频播放器优化方法、装置、播放终端及存储介质
CN112153395A (zh) 流媒体数据播放方法和显示设备
KR20050014619A (ko) 어플리케이션을 저장하고 실행하는 디지털 방송 수신 장치및 그 방법
CN115119030A (zh) 一种字幕的处理方法及装置
CN112231088A (zh) 一种浏览器进程优化方法及显示设备
KR101559587B1 (ko) 데이터 방송 수신 방법
JP2008187333A (ja) プログラム実行装置
KR20100086763A (ko) 폰트 정보 제공 방법 및 방송 수신기
JP2009055434A (ja) デジタル放送受信装置、その制御方法