図1は、本実施例に係るデジタル放送受信機システムの構成を示すブロック図である。本実施例に係るデジタル放送受信機システムは、デジタル放送信号を受信し、コンテンツを表示することができる。デジタル放送信号からは、通常複数の表示画面が得られる。本実施例に係るデジタル放送受信機システムは、これらの表示画面のいくつかを同時に表示する、マルチ画面表示を行うことができる。デジタル放送受信機100は、アンテナ122からのデジタル放送信号を処理できる。そしてデジタル放送受信機100は、音声をスピーカ124へ、動画像及び静止画像を表示装置123へと出力できる。そしてデジタル放送受信機100の動作は、リモコン125を用いてユーザが制御することができる。
アンテナ122は、BS、CS、地上波などの放送波を受け取り、RF信号としてチューナ/復号部110へと送ることができる。チューナ/復号部110は、RF信号を所定の周波数でチューニングし、復調を行うことにより、トランスポートストリーム(TS)を生成する。チューナ/復号部110は、生成されたTSをデマルチプレクサ111へと送る。
デマルチプレクサ111は、入力されたTSを、映像ストリームデータ、音声ストリームデータ、データ放送コンテンツなどのセクションデータへと分離する。デマルチプレクサ111は、映像ストリームデータ及び音声ストリームデータを、AVデコーダ112へと送る。AVデコーダ112は、音声ストリームデータを音声デジタル信号へとデコードする。音声出力部115は音声デジタル信号をアナログ信号へと変換し、スピーカ124へと出力する。AVデコーダ112はさらに、映像ストリームデータを、映像データへとデコードし、映像出力部113へと送る。映像出力部113は、表示するサイズに合わせて映像データを変換する。そして映像出力部113は、変換された映像データを表示制御部114へと送る。
デマルチプレクサ111はまた、セクションデータを、データ取得部116へと送る。セクションデータは例えば、DSM−CCセクションデータであればよい。データ取得部116は、DSM−CCセクションデータを、BML文書データなどのコンテンツデータ、又はイベントメッセージへと変換する。そしてデータ取得部116は、変換されたデータを格納する。またデータ取得部116は、解析部117からの要求に従い、デマルチプレクサ111から必要なデータカルーセルのモジュールデータを取得することができる。データ取得部116は、取得されたモジュールデータをコンテンツデータに変換して格納することができる。データ取得部116は、取得されたコンテンツデータ又はイベントメッセージを、解析部117及びブラウザ118へと送ることができる。
解析部117は、データ取得部116から送られたコンテンツデータ、例えばBML文書、を解析する。解析結果に基づいて解析部117は、画面遷移リスト及び画面構成情報を生成する。また解析部117は、マルチ画面表示に関する情報を含むシステム情報を、装置制御部119を経由して、メモリ120から取得する。そして解析部117は、画面遷移リスト、画面構成情報、及びシステム情報から、候補リストと、マルチ画面情報とを生成する。
データ放送に含まれる表示画面から選択された、表示装置123に表示すべき表示画面を、候補リストは示す。また、マルチ画面情報は、表示装置123に表示される複数の表示画面について、表示位置と表示サイズとを規定する。解析部117はこの候補リストを用いて、データ取得部116及びブラウザ118に、どの表示画面を表示するのかを指示する。また解析部117は、装置制御部119を介して、表示制御部114へとマルチ画面情報を送信する。
ブラウザ118は、解析部117からの指示に基づいて、BML文書を解析し、及びコンテンツデータを処理することにより、表示画面(データ放送画面)を生成する。そしてブラウザ118は、生成された表示画面を表示制御部114へ送る。表示制御部114は、映像出力部113から得た映像データと、ブラウザ118から得た表示画面と、解析部117から得たマルチ画面情報とを用いて、表示装置123に表示させる表示データを生成する。そして表示制御部114は表示データを表示装置123へと出力する。表示装置123は、取得した表示データを表示する。
リモコン125は、ユーザの操作に応じて、リモコン信号をリモコン受光部121へと送る。リモコン信号は、ユーザが押したリモコン125のボタンを示すボタン情報を含む。リモコン受光部121(受信手段)は、取得したリモコン信号をリモコンコードへと変換する。そしてリモコン受光部121は、リモコンコードを装置制御部119へと送る。装置制御部119は、取得したリモコンコードに応じて、デジタル放送受信機100に機能を発揮させることができる(制御手段)。例えば装置制御部119は、取得したリモコンコードに応じて、表示装置123の表示を制御することができる。一例として、装置制御部119が解析部117に指示を送ることにより、表示装置123に表示される表示画面を変更すること及び大きさを変えることができる。
上述のデジタル放送受信機100の制御は、CPU及びシステムコントローラを有する装置制御部119が行う。メモリ120は、制御プログラム、システム情報、及び取得データを格納することができる。デジタル放送受信機100内の各部は、装置制御部119を経由して、メモリ120にアクセスすることができる。
メモリ120には、上述の画面遷移リスト、画面構成情報、及びマルチ画面情報が保持されることができる。以下で、これらのメモリ120に保持される情報について説明する。図2(A)は、本実施例においてメモリ120に保持される、マルチ画面情報の一例を示す。上述のように、表200に示されるマルチ画面情報は、表示装置123に表示される複数の表示画面について、表示位置と表示サイズとを規定する。
図2(A)において列201は、表示装置123に表示される表示画面(子画面)の番号を示す。図2(A)に示されるように、マルチ画面情報200は、表示装置123に、1番目の子画面から4番目の子画面までの4つの子画面が表示されることを示している。列202は、子画面の表示サイズと表示位置を示す。例えば、1番目の子画面の表示サイズが幅960×高さ540であることが示されている。また、1番目の子画面の表示位置が(x,y)=(0,0)であることも示されている。表示位置は例えば、子画面の左上の座標を示してもよい。表示装置123の画面の左上の座標が、(0,0)であってもよい。
列203は、子画面に示される情報の種類を示す。例えば、1番目の子画面には動画が表示されることが、示されている。また、2〜4番目の子画面にはデータ放送が表示されることが、示されている。マルチ画面情報200によれば、データ放送用の子画面の数は3つである。このように、マルチ画面情報200には、所定個数のデータ放送画面、すなわち所定個数のBML文書が表示されることが規定されている。本実施例のマルチ画面情報200によれば、3個のBML文書が表示される。マルチ画面情報は図2(A)の例に限られない。表示装置123に表示される子画面の数と、子画面の位置と、子画面の大きさと、データ放送用の子画面の数とが分かれば十分である。マルチ画面情報200は、予め決定されていてもよいし、ユーザによって決定されてもよいし、データ放送に含まれる制御情報によって決定されてもよい。
図3は、解析部117が生成する画面遷移リスト300の一例を示す。画面遷移リスト300は、データ放送により提供されるBML文書名と、その階層情報とを含む。本実施例ではデータ放送におけるトップ画面に係るBML文書の階層を「1」とする。ただし、解析部117がデータ放送により提供されるBML文書から1つを選択し、選択されたBML文書の階層を「1」としてもよい。例えば、表示装置123に表示されている表示画面に係るBML文書の階層を「1」としてもよい。
BML文書は、自ファイル以外の他ファイルを指定するリンク情報を有する。階層が「1」であるBML文書からリンクされているBML文書の階層は、「2」である。また、階層が「2」であるBML文書からリンクされており、かつその階層が「1」でも「2」でもないBML文書の階層は、「3」である。このように、階層が「1」であるBML文書からリンクを辿ることにより特定されるBML文書によって構成される、BML文書群(ファイル群)を抽出することができる。階層情報の決定方法については、後に詳しく説明する。
解析部117は、例えば本実施例に係るリスト300のような、階層が「1」「2」又は「3」であるBML文書のみが記載されたリストを生成してもよい(抽出手段)。また解析部117は、全てのBML文書が記載されたリストを生成してもよい。階層の最大値は、データ放送用の子画面の数から決められてもよい。列302には、各階層についてのBML文書名が記載されている。例えば階層「1」に属するBML文書名は、top.bmlである。画面遷移リスト300は、複数のBML文書間階層構造が分かるものであれば、どのようなものでもよい。
解析部117は、画面遷移リスト300に記載されたBML文書のそれぞれについて、合計優先度を決定する。合計優先度が高いBML文書は、優先して表示装置123に表示される。合計優先度を求めるために、解析部117は、第1〜第4の優先度を、画面遷移リスト300に記載されたBML文書のそれぞれについて求める。以下の図4〜図7では、この第1〜第4の優先度について説明する。本実施例では4つの優先度の合計を合計優先度とするが、より多い又はより少ない数の優先度の合計が、合計優先度として求められてもよい。
図4の表400は、本実施例において解析部117がBML文書毎に求める、第1の優先度(第1の値)を示す。本実施例においては、動画/画像モノメディアデータの画面上における表示領域を示す領域情報を参照することにより、第1の優先度が決定される(第1の判定手段)。領域情報としては、表示サイズ及び表示位置が用いられる。表示サイズ及び表示位置が階層「1」のBML文書とは異なるBML文書に対しては、高い優先度が与えられる。本実施例においては、top.bmlが階層「1」のBML文書である。したがって、top.bmlとは画面構成が異なるBML文書は、優先度が高くなる。
列401は、画面遷移リスト300に記載されたBML文書のそれぞれを示す。列402は、それぞれのBML文書に指定されている、動画/画像モノメディアデータの表示サイズ及び表示開始位置を示している。表示サイズは、(幅、高さ)で表記される。また表示開始位置は、(x、y)で表記される。列402においては、”(幅、高さ)、(x、y)”の形式で、表示サイズ及び表示開始位置が示されている。例えばtop.bmlにおいては、表示サイズは(480、270)であり、表示開始位置は(50,50)である。表示開始位置は、例えば画面の左上を(0,0)とするように定められることができる。
動画/画像モノメディアデータの表示サイズ及び表示開始位置は、BML文書における表示スタイル指定から抽出されることができる。1つのBML文書に複数の動画/画像モノメディアデータが含まれている場合、最も表示サイズが大きい動画/画像モノメディアデータの表示サイズ及び表示開始位置が抽出されてもよい。画像データよりも動画データが優先されてもよい。
列403は、それぞれのBML文書について解析部117が決定した第1の優先度を示す。BML文書において指定された動画/画像モノメディアデータの表示サイズ及び表示位置が、階層「1」のBML文書におけるものとは差異が大きいほど、そのBML文書に対してより高い優先度が割り当てられることが好ましい。例えば、第1の優先度が、表示サイズ及び表示位置の差異度を示せばよい。
本実施例では、BML文書において指定された動画/画像モノメディアデータの表示サイズが、top.bmlにおいて指定された表示サイズに一致する場合、優先度「1」が割り当てられる。また、BML文書において指定された動画/画像モノメディアデータの表示開始位置が、top.bmlにおいて指定された表示開始位置に一致する場合、優先度「1」が割り当てられる。表示サイズと表示開始位置とのいずれもが一致しない場合、優先度「2」が割り当てられる。表示サイズと表示開始位置との双方が一致する場合、優先度「0」が割り当てられる。
例えばprogram.bmlにおいては、表示サイズは(600、337)であり、表示開始位置は(30、30)である。top.bmlと比べると、表示サイズと表示開始位置とがともに異なることから、program.bmlについての第1の優先度は「2」となる。
本実施例における第1の優先度の決定方法は一例に過ぎず、他の方法を採用することも可能である。例えば、BML文書において指定された動画/画像モノメディアデータの表示開始位置と、top.bmlにおいて指定された表示開始位置との差が所定の閾値以内である場合には、表示開始位置が一致するものと判定されてもよい。また、BML文書において指定された動画/画像モノメディアデータの表示サイズと、top.bmlにおいて指定された表示サイズとの差が所定の閾値以内である場合には、表示サイズが一致するものと判定されてもよい。以降の説明においても、2つの値の差が所定の閾値以内にある場合には、その2つの値は一致するものと判定されてもよい。
図5の表500は、本実施例において解析部117がBML文書毎に求める、第2の優先度(第2の値)を示す。本実施例においては、背景情報が階層「1」のBML文書とは異なるBML文書に対しては、高い優先度が与えられる。本実施例においては、top.bmlが階層「1」のBML文書である。したがって、top.bmlとは画面構成が異なるBML文書は、優先度が高くなる。
列501は、画面遷移リスト300に記載されたBML文書のそれぞれを示す。列502は、それぞれのBML文書についての背景情報を示す。列502の情報は、解析部117がBML文書で指定されている背景情報を抽出することにより、得ることができる。本実施例では列502には、それぞれのBML文書についての背景色もしくは背景データファイルの情報を示している。背景色は、「background−color−index:index番号」として記述される。背景データファイルは、「データファイル名」として記述される。
例えばtop.bmlに関して、「background−color−index:5」と記述されている。したがって、top.bmlには背景色が指定されており、背景色のindex番号は5である。またprogram.bmlに関して、「bg_image.jpg」と記述されている。したがって、program.bmlには背景データファイルが指定されており、そのファイル名はbg_image.jpgである。BML文書において背景色と背景データファイルの双方が指定されている場合には、解析部117は一方、例えば背景データファイル、を抽出すればよい。
列503は、それぞれのBML文書について解析部117が決定した第2の優先度を示す。BML文書において指定された背景情報が、階層「1」のBML文書において指定された背景情報と大きく異なるほど、そのBML文書に対してより高い優先度が割り当てられることが好ましい。本実施例では、BML文書の背景情報が、top.bmlの背景情報とは異なる場合に、優先度「1」が割り当てられる。
例えば、program.bmlには、bg_image.jpgが背景データファイルとして指定されている。top.bmlには背景色としてbackground−color−index:5が指定されている。したがって、program.bmlとtop.bmlとの背景情報は一致しない。こうして、program.bmlには優先度「1」が割り当てられる。本実施例における第2の優先度の決定方法は一例に過ぎず、他の方法を採用することも可能である。例えば各BML文書が、階層「1」のBML文書が含むオブジェクトとは異なるオブジェクトを含む場合に、そのBML文書に対してより高い優先度が割り当てられてもよい(第2の判定手段)。例えば、第2の優先度が、オブジェクトを指定するオブジェクト情報の差異度を示せばよい。各BML文書が含むオブジェクトは、各BML文書においてオブジェクト情報として定義されている。ここで、背景もオブジェクトの一種であると考えられる。
図6の表600は、本実施例において解析部117がBML文書毎に求める、第3の優先度(第4の値)を示す。本実施例においては、階層がより浅いBML文書に対して、高い優先度が与えられる(第3の判定手段)。本実施例においては、top.bmlが階層「1」のBML文書である。したがって、BML文書からなるネットワークにおいて、top.bmlにより近いBML文書は、優先度が高くなる。top.bmlに近いBML文書は、データ放送に含まれるそれぞれのコンテンツの、トップページである可能性が高い。
列601は、画面遷移リスト300に記載されたBML文書のそれぞれを示す。列602は、それぞれのBML文書についての階層番号を示す。階層番号は図3の画面遷移リスト300に示されている。列603は、それぞれのBML文書について解析部117が決定した第3の優先度を示す。本実施例における第3の優先度は、画面遷移リスト300に示されている最大の階層数と、BML文書の階層番号との差として求められる。
例えば、news1.bmlについての優先度は1であり、これは最大の階層数(3)と階層番号(2)との差である。本実施例における第3の優先度の決定方法は一例に過ぎず、他の方法を採用することも可能である。たとえば、階層番号を第3の優先度とする場合、BML文書のネットワークにおいて、階層「1」のBML文書から到達するためには多くのリンク情報を辿る必要があるBML文書の優先度が高くなる。したがって、階層「1」のBML文書から移動するのに時間のかかるBML文書の優先度を上げることができる。このように、BML文書のネットワーク構造に基づいて、任意の方法で優先度を決定することができる。
図7の表700は、本実施例において解析部117がBML文書毎に求める、第4の優先度を示す。本実施例においては、階層「1」のBML文書から移動することができるBML文書に対して、高い優先度が与えられる。また、階層「1」のBML文書へと移動できるBML文書に対して、高い優先度が与えられる。本実施例においては、top.bmlが階層「1」のBML文書である。したがって、BML文書からなるネットワークにおいて、top.bmlにより近いBML文書は、優先度が高くなる。top.bmlに近いBML文書は、データ放送に含まれるそれぞれのコンテンツの、トップページである可能性が高い。
列701は、画面遷移リスト300に記載されたBML文書のそれぞれを示す。列702は、それぞれのBML文書を表示している際にリモコンキーに割り当てられる、移動先のBML文書を示している。例えば、top.bmlでの遷移リモコンキー情報は、(21、news1.bml)、(22、weather.bml)、(23、program.bml)である。これは、top.bmlを表示されている際に、リモコンキー「21」が押されると、news1.bmlが表示されることを示している。同様に、リモコンキー「22」が押されるとweather.bmlが表示される。また、リモコンキー「23」が押されるとprogram.bmlが表示される。
これらの、リモコンキーと移動先のBML文書との対応付けは、対応情報としてBML文書に記述されている。より一般的に、BML文書が表示されている時にリモコンキーが押されるとデジタル放送受信機100が発揮する機能を、そのBML文書が記述していてもよい。本実施例において、リモコンキーの番号はARIBの規定に従う。例えばリモコンキー「21」は、「青」のカラーキーに相当する。リモコンキー「18」及び「19」は、それぞれ「決定」および「戻る」キーに相当する。同様に、リモコンキー「22」「23」「24」は、「赤」「緑」「黄」のカラーキーにそれぞれ対応する。
本実施例においては、BML文書が表示されているときにリモコンキーを押すことによりtop.bmlに移動できる場合、そのBML文書に対して優先度「2」が与えられる。また、BML文書が表示されている際に、十字キーと決定キーとを用いて階層「1」のBML文書に移動できる場合に、そのBML文書に対して優先度「1」が与えられる。
例として、program.bmlについて説明する。program.bmlが表示されている場合にリモコンキー「19」を押すことにより、top.bmlへと移動可能である。したがって、program.bmlには優先度「2」が与えられる。また、表700には表されていないが、news2.bmlが表示されている際に、十字キーと決定キーとを用いることにより、top.bmlへと移動することができる。したがって、news2.bmlには優先度「1」が与えられる。
本実施例における第4の優先度の決定方法は一例に過ぎず、他の方法を採用することも可能である。たとえば、カラーキーを押すことにより階層「1」のBML文書に移動できる場合と、「進む」又は「戻る」キーを押すことにより階層「1」のBML文書に移動できる場合とで、優先度が異なっていてもよい。また、top.bmlが表示されているときにリモコンキーを押すことにより移動できるBML文書に対し、高い優先度が与えられてもよい。
また、以上の説明とは逆に、階層「1」のBML文書から直接リンクされていない文書の優先度が高くなるように、優先度が決められてもよい。この場合、階層「1」のBML文書から移動するのに時間のかかるBML文書の優先度を上げることができる。このように、BML文書のネットワーク構造に基づいて、任意の方法で優先度を決定することができる。
図8の表800は、本実施例において解析部117が合計優先度(第3の値)を求める際に用いる、重み付け情報を示す。重みAは、第1の優先度の重みを示す。同様に重みB,C,Dは、第2,第3,第4の優先度の重みをそれぞれ示す。重みA,B,C,Dを用いた重み付け加算によって、合計優先度は求められる。本実施例において合計優先度は、以下の式(1)のように求められる(計算手段)。
合計優先度 = A×第1の優先度 + B×第2の優先度 + C×第3の優先度 + D×第4の優先度 ・・・(1)
第1〜第4の優先度のそれぞれに対して異なる重みを設定することにより、合計優先度を決定する際に重視される要素を決めることができる。例えば、画面構成の違い(第1の優先度及び第2の優先度)を重視することもできる。また、BML文書間のリンク構造(第3の優先度及び第4の優先度)を重視することもできる。また、第1〜第4の優先度の全てを用いる必要はない。例えば、第1の優先度のみを用いることもできる。
図9の表900は、表800の重み付け情報と、第1〜第4の優先度とを用いて解析部117が求めた、それぞれのBML文書についての合計優先度を示す。例えばnews1.bmlについては、第1の優先度は「0」、第2の優先度は「0」、第3の優先度は「1」、第4の優先度は「2」である。したがって式(1)に従うと、news1.bmlについての合計優先度は「C+2D」となる。式(1)は一例に過ぎず、他の式を用いて合計優先度を求めることもできる。
図10の表1000は、解析部117が合計優先度にもとづいて生成した、候補リストの一例を示す。表900に示される合計優先度の大きい順に、BML文書のそれぞれが並べられている。本実施例では、A=1,B=1,C=0.9,D=0.9として、候補リスト1000が作成されている。合計優先度が等しいBML文書が存在する場合には、順序は任意の方法で決定されてよい。例えば、階層番号が小さいBML文書が優先されてもよいし、表900において上に位置するBML文書が優先されてもよい。
図11の表1100は、それぞれの子画面に表示されるBML文書を示す。表200によれば、2〜4番目の子画面には、データ放送が表示される。表1100は、この2〜4番目の子画面のそれぞれに表示されるBML文書を指定する。表1100は、2番目の子画面には最も優先度の高いBML文書が表示されることを示している。同様に、3番目及び4番目の子画面には、2番目及び3番目のBML文書がそれぞれ表示されることを示している。
本実施例では、合計優先度がより高いBML文書が子画面に表示される。しかしながらどのBML文書が表示されるのかは、ユーザによって決定されてもよいし、データ放送に含まれる制御情報によって決定されてもよい。その後表示制御部114は、マルチ画面情報200と、表1100と、候補リスト1000とを参照することにより、子画面に表示されるBML文書を決定する(選択手段)。
図12は、本実施例に係る処理の一例を示すフローチャートである。ステップS1201において解析部117は、マルチ画面情報200を取得する。マルチ画面情報200は、メモリ120に記録されていてもよい。また、マルチ画面情報200は、ユーザによって入力されてもよい。さらに、マルチ画面情報200はアンテナ122を介して、解析部117が受信してもよい。
ステップS1202において解析部117は、何番目の階層までBML文書の探索を行うかを決定する。これは、メモリ120に記録されていてもよいし、ユーザによって入力されてもよい。また、同時に表示できるデータ放送画面の数を、探索が行われる階層の数とすることもできる。同時に表示できるデータ放送画面の数は、マルチ画面情報200において定義されている。
ステップS1203において解析部117は、デジタル放送受信機100の電源が入れられたかどうか、及び選局が行われたかどうかを判定する。どちらかが行われた場合、処理はステップS1204へ進む。どちらも行われていない場合、処理はステップS1203へ戻る。
ステップS1204において解析部117は、候補リスト1000を作成する。ステップS1204の処理については後述する。ステップS1205において表示制御部114は、データ放送画面を表示するか否かを判定する。データ放送画面を表示する場合、処理はステップS1206に進む。データ放送画面を表示しない場合、処理はステップS1207へ進む。データ放送画面を表示するか否かは、ユーザの指示に基づいて決定することができる。また、データ放送画面を表示するか否かが、アンテナ122を介して取得された制御情報に基づいて決定されてもよい。
ステップS1206で表示制御部114は、テレビ放送と、データ放送とを、表示装置上(表示装置123上)に表示させる(表示手段)。テレビ放送画面とデータ放送画面との配置は、マルチ画面情報200によって決定される。表示されるデータ放送画面(BML文書)は、前述のように、候補リスト1000に基づいて決定され、BMLブラウザ118から取得できる。またテレビ放送画面は、前述のように映像出力部113から取得できる。
一方ステップS1207では、表示制御部114はデータ放送画面を表示せず、テレビ放送画面を表示する。ステップS1206又はステップS1207の後、処理はステップS1203へと戻る。以上の処理によって、データ放送をマルチ画面表示することができる。
図13は、ステップS1204における詳細な処理を示す。ステップS1204においては、階層番号が小さい順に、解析部117がBML文書の解析を行っていく。最初に解析が行われるBML文書は階層「1」のBML文書である。本実施例においては階層「1」のBML文書は、データ放送コンテンツのトップ画面のBML文書である。
ステップS1301において解析部117は、データ放送を受信しているか否かを判断する。データ放送が存在しない場合には、ステップS1204の処理は終了する。データ放送が存在する場合には、処理はステップS1302に進む。ステップS1302において解析部117は、以前に受信していたデータ放送と、内容が変わっているか否かを判断する。内容に変更がない場合には、ステップS1204の処理は終了する。内容が変更されている場合には、処理はステップS1303に進む。
ステップS1303において解析部117は、データ放送コンテンツのトップ画面のBML文書(1番目の階層のBML文書)を解析することにより、トップ画面にリンクされているBML文書を検出する。こうして、解析部117は、画面遷移リスト300を作成する。本実施例では解析部117は、top.bmlを階層「1」として登録する。また、top.bmlからリンクされているnews1.bml、weather.bml、及びprogram.bmlを、階層「2」として登録する。画面遷移リスト300は、例えばメモリ120に記録されてもよい。
ステップ1304では、解析が行われている現在の階層番号に1を加える。ステップS1303では階層「1」のBML文書が解析されたので、次は階層「2」のBML文書が解析される。ステップS1305で解析部117は、ステップS1304で計算された現在の階層番号が、ステップ1202で決定された最大の階層よりも大きいか否かを判定する。現在の階層番号の方が大きい場合、処理はステップS1310に進む。現在の階層番号の方が小さいか、現在の階層番号が最大の階層に等しい場合、処理はステップS1306に進む。
ステップS1306で解析部117は、画面遷移リスト300に、まだ解析が行われていないBML文書が存在するか否かを判定する。現在の階層の全てのBML文書について、解析が行われている場合、処理はステップS1304に戻る。そうではない場合、処理はステップS1307に進む。
ステップS1307で解析部117は、現在の階層にある、まだ解析されていないBML文書から1つを選択する。ステップS1308で解析部117は、ステップS1308で選択されたBML文書を解析する。具体的には解析部117は、ステップS1303と同様に、選択されたBML文書から移動できるBML文書を検出する。そして解析部117は、検出されたBML文書を画面遷移リストに登録する。
解析部117はさらに、選択されたBML文書を解析し、上述のように第1〜第4の優先度を決定する。決定された優先度は、表400、表500、表600、及び表700のように、BML文書と関連づけられて記録される。第1〜第4の優先度は、例えばメモリ120に記録されてもよい。
ステップS1303における解析方法について、図14のBML文書を参照しながら説明する。BML文書においては、画面を構成する複数の部品が、body要素として記述される。これらの部品は、テキストを示すp要素(L1404)、動画及び画像などのモノメディアデータを示すobject要素(L1403)、等の要素として記述される。object要素は、モノメディアデータの形式を示すtype属性や、データのURLを示すdata属性などを含む。これらの属性を指定することにより、モノメディアデータの形式を識別することが可能となる。
さらに、p要素、object要素、body要素などの要素に対して、表示スタイルを指定するstyle属性を指定することにより、表示を制御することができる。たとえばstyle属性を用いることにより、背景色、前景色、表示位置、表示サイズなどを指定することができる。例えばL1402のように、background−color−index(背景色)を指定することができる。また、L1405のように、style属性を用いることによりfont−family(フォントの種類)又はfont−size(フォントの大きさ)を指定することができる。
また、BML文書間のリンクを示すために、放送用の拡張関数であるlaunchDocument()関数が用いられる。また、BML文書間のリンクを示すためには、a要素のhref属性を用いることもできる。例えばL1401のようにlaunchdocument()関数を用いることにより、リモコンキー18が押されると”news.bml”へと画面が遷移することを指定することができる。BML文書からこれらの記述を抽出することにより、BML文書間の画面構成の違いを検出することができる。また、BML文書間のリンク構造を検出することもできる。
ステップS1309で解析部117は、ステップS1308で決定された第1〜第4の優先度と、表800に示される重み付けとを用いることにより、選択されたBML文書の合計優先度を求める。合計優先度の求め方については上述した。求められた合計優先度は、BML文書と関連づけられて、例えば表900のように記録されてもよい。合計優先度は、例えばメモリ120に記録されてもよい。そして処理はステップS1306に戻り、まだ解析されていないBML文書があればさらにそれが解析される。
ステップS1310において解析部117は、BML文書ごとに求められた合計優先度に基づいて、候補リスト1000を作成する。具体的には解析部117は、表900に登録されておりかつ合計優先度が定められているBML文書を、合計優先度が大きい順に並べることにより、候補リスト1000を作成することができる。このとき解析部117は、図10に示されているように、階層「1」のBML文書(本実施例においてはtop.bml)が1番目にくるように、候補リスト1000を作成してもよい。こうして、ステップS1205における候補リスト作成処理が終了する。
図2(B)は、本実施例におけるデジタル放送受信機システムにおいて、データ放送画面をマルチ画面表示した場合を表す。子画面1501は動画、子画面1502にはtop.bml、子画面1503にはprogram.bml、子画面1504にはweather.bmlが描画されている。
以上の処理によって、データ放送に含まれるBML文書の画面構成の違いとBML文書間のリンク構造との少なくとも一方を考慮して、表示されるBML文書を決定することができる。本実施例では、top.bmlとは画面構成が異なるBML文書が、優先的に表示される。top.bmlと画面構成が異なるBML文書は、top.bmlとは異なる情報を含んでいる可能性が高い。マルチ画面表示する際に、互いに異なる情報を含む複数のBML文書を表示すれば、ユーザが所望するBML文書が表示される可能性が高くなる。したがって、ユーザが所望するBML文書を選択することが容易となる。さらにはこの場合、1つのマルチ画面表示において、ユーザはより多くの情報を得ることができる。
本実施例においては、データ放送コンテンツのトップページを、階層「1」のBML文書とする場合について主に説明した。しかしながら、任意のBML文書(着目ファイル)を階層「1」のBML文書とすることができる。例えば、ユーザが見ているBML文書が、ユーザの所望するものとは全く違うことが考えられる。この場合、ユーザは現在表示されているBML文書とは関係のない他のBML文書を見ることを所望するかもしれない。
このとき、ユーザの指示に従って、現在表示されているBML文書を階層「1」のBML文書として上述の処理を行ってもよい。すると、現在表示されているBML文書とは画面構成が異なる、すなわち異なる情報を含むBML文書を表示することができる。こうして、ユーザが関心のあるBML文書を検索することが容易となる。本実施例では、階層「1」のBML文書が候補リスト1000の1番目に位置するように、候補リスト1000を作成した。しかしながらこの場合、階層「1」のBML文書が候補リスト1000には入らないように、候補リスト1000を作成することもできる。
[実施例2]
本実施例では、表示装置123が、様々なサイズの子画面を表示する場合について説明する。また本実施例では、表示されるBML文書を決定する際に、BML文書に含まれるテキスト及びボタンの、サイズ及び位置がさらに考慮される。実施例2に係る情報処理装置の構成及びその処理は実施例1と類似している。実施例2が実施例1とは異なる点について、以下で説明する。
図16(A)は、本実施例に係るマルチ画面情報1600の一例を示す。マルチ画面情報1600は、メモリ120に格納されていてもよい。実施例1に係るマルチ画面情報200とは異なり、それぞれの子画面は異なる表示サイズで表示される。マルチ画面情報1600に従う表示装置123上への表示が、図16(B)に示されている。実施例1においては第1〜第4の優先度を用いて表示されるBML文書が決定された。しかしながら本実施例においては、表示されるBML文書を決定する際に、さらに第5の優先度を用いる。
図18の表1800は、本実施例において解析部117がBML文書毎に求める、第5の優先度を示す。BML文書の構成が、階層「1」のBML文書の構成とは異なる場合に、そのBML文書にはより高い第5の優先度が与えられる。本実施例においては、BML文書に含まれるテキスト又はボタンの、表示サイズ及び表示位置を、階層「1」のBML文書と比較することにより、第5の優先度が決定される。
図18は、本発明の第2の実施形態において、図1の解析部117が生成する、データ放送文書毎の1要素の構成情報とその優先度の一例を示している。表1801には、BML文書毎に、BML文書が含むテキスト又はボタンの表示サイズ及び表示位置が示されている。表示サイズ及び表示位置は、図4と同様に示されている。また、テキスト又はボタンには、番号が付されている。以下で、テキストとボタンとをコンポーネントと呼ぶ。
例えば表1800から、top.bmlは1番目〜4番目のコンポーネントを含むことがわかる。1番目のコンポーネントの表示サイズは幅800、高さ130であり、その表示位置は(80,300)であることもわかる。2〜4番目のコンポーネントの表示サイズ及び表示位置も、同様に示されている。
1つのBML文書は通常、複数のテキスト及びボタンで構成されている。したがって、1つのBML文書からは複数のコンポーネントが検出される。さらに、それぞれのコンポーネントについての表示サイズ及び表示位置が検出される。これらの情報は、BML文書内の表示スタイル記述から検出することができる。例えば、上述のstyle属性を読み込むことによって、表示サイズ及び表示位置を検出することができる。
表1800にはさらに、解析部117がBML文書ごとに決定した第5の優先度が示されている。本実施例においては、top.bmlは4つのコンポーネントを含む。BML文書が、この4つのコンポーネントのうち1つと同じ表示サイズ及び同じ表示位置を持つコンポーネントを含む場合、第5の優先度は低くなる。
例えば、top.bmlが含む1番目のコンポーネントと、同じ表示サイズかつ同じ表示位置のコンポーネントを、BML文書が含むかどうかが判定される。同様に、top.bmlが含む2番目〜4番目のコンポーネントについても判定が行われる。そして、この4回の判定においてNoと判定された回数を、第5の優先度とすることができる。
表1800の例によれば、top.bmlが含む1,3,4番目のコンポーネントと、同じ表示サイズかつ同じ表示位置のコンポーネントを、news1.bmlは含まない。一方で、top.bmlが含む2番目のコンポーネントと、同じ表示サイズかつ同じ表示位置のコンポーネントを、news1.bmlは含む。したがって、news1.bmlについての第5の優先度は「3」となる。もっともこれは一例にすぎず、BML文書に含まれるコンポーネントが異なる場合に第5の優先度が高くなるような、別の方法を用いることも可能である。
図17の表1700は、本実施例において解析部117が合計優先度を求める際に用いる、重み付け情報を示す。表1700には、表800と比べて、第5の優先度の重みEが加えられている。重みA,B,C,D,Eを用いて、合計優先度は以下の式(2)のように求められる。
合計優先度 = A×第1の優先度 + B×第2の優先度 + C×第3の優先度 + D×第4の優先度 + E×第5の優先度 ・・・(2)
こうして求められた合計優先度を用いることにより、実施例1と同様に、解析部117は候補リスト1000を作成することができる。
本実施例に係る処理は、第1の実施例に係る処理と類似している。しかしながらステップS1303において、解析部117は、階層「1」のBML文書が含むコンポーネントの表示サイズ及び表示位置を、表1800のように記録しておく。表1800は、例えばメモリ120に記録されてもよい。また、ステップS1308において解析部117は、第1〜第4の優先度に加えて、選択されたBML文書についての第5の優先度を求める。
本実施例においては、テキスト及びボタンの、表示サイズ及び表示位置を考慮して、第5の優先度が決定された。しかしながら、テキスト及びボタン以外の他のコンポーネントを考慮して、第5の優先度を決定することもできる。さらには表示色のような、画面構成に係る他の要素が、第5の優先度を決定する際に考慮されることもできる。
[実施例3]
本実施例は実施例2に類似しているが、BML文書が含むコンポーネントを解析することにより、候補リスト1000を修正する処理が行われる。図15は、ステップS1204の直後に行われる処理を示すフローチャートである。ステップS2101で解析部117は、表示装置123に表示されるBML文書を選択する。表1100に従うと、1番目〜3番目のBML文書がデータ放送用の子画面に表示される。そして候補リスト1000によれば、1番目から3番目のBML文書、すなわちtop.bml、program.bml、及びweather.bmlが表示されることがわかる。解析部117は、これら3つのBML文書を選択する。
ステップ2102で解析部117は、BML文書の見やすさを判定する。本実施例においては、BML文書が含むテキスト及びボタンの数に基づいて、BML文書の見やすさが判定される。具体的には、テキスト及びボタン(コンポーネント)の数が少ないほど、BML文書はより見やすいものと判定される。表1800によれば、top.bml及びweather.bmlはコンポーネントを4つ含むが、program.bmlは5つ含む。したがって、program.bmlは他の2つのBML文書よりも見やすいものと判定される。
ステップS2103において解析部117は、ステップS2102における判定結果に従って、候補リスト1000を更新する。program.bmlはコンポーネントを3つしか含まないため、候補リストの1番上に登録される。top.bml及びweather.bmlはコンポーネントを4つ含むため、program.bmlの下に登録される。更新前の候補リスト1000における順序が反映される場合、top.bmlは2番目に登録され、weather.bmlは3番目に登録される。
以上のように、BML文書が含むコンポーネントを解析することにより、BML文書が表示される位置を変更することができる。本実施例においてはBML文書が含むコンポーネントの数に応じて、BML文書が表示される位置が変更された。しかしながら、他の方法を採用することも可能である。
例えば、表400に示した動画/画像モノメディアの表示サイズに応じて、候補リスト1000を修正してもよい。例えば、動画/画像モノメディアの表示サイズが大きいほど、BML文書はより見やすいものと判定されてもよい。さらには、子画面の表示サイズを考慮して候補リスト1000を修正してもよい。表1600によれば、2番目の子画面のサイズは480×270である。また、3番目の子画面のサイズは720×405であり、4番目の子画面のサイズは960×540である。
すなわち、4番目の子画面が最も大きく、3番目の子画面が2番目に大きく、2番目の子画面が最も小さい。この場合、小さい子画面に見やすいBML文書が表示され、大きい子画面に見にくいBML文書が表示されるようにすればよい。このようにすれば、ユーザにとって見にくい子画面が表示されることを防ぐことができるだろう。
[実施例4]
本実施例では、マルチ画面表示を行う際に、リモコンキーを用いて子画面間を移動することを可能とする。本実施例では例として、使用されていないリモコンキーが検出され、このリモコンキーに子画面を割り当てられる。本実施例では特に、カラーキーに子画面が割り当てられる。こうして、カラーキーを押すことにより、対応する子画面にフォーカスを移すことが可能となる。
本実施例に係る情報処理装置及び本実施例に係る処理は実施例1と類似している。以下では、実施例1との相違点について説明する。ステップS1303において解析部117は、階層「1」のBML文書を解析する。このとき解析部117は、階層「1」のBML文書を表示している際に使われないカラーキーを検出する。例えば解析部117は、移動先のBML文書が割り当てられていないカラーキーを検出する。これは、上述のようにBML文書のリモコンキー情報を解析することにより可能である。
ステップS1206で表示制御部114はマルチ画面表示を行う。このとき装置制御部119は、ステップS1303において検出された、使われないカラーキーに、子画面を割り当てる。例えば2つのカラーキーが使われない場合には、1つ目のカラーキーを1番目のBML文書に、2つ目のカラーキーを2番目のBML文書に、それぞれ割り当てればよい。
例えば表200、表1000、及び表1100に従う表示がなされているものとする。表701に示されているようにweather.bmlにおいては、「青」のカラーキーにはnews1.bmlが、「緑」のカラーキーにはprogram.bmlが、それぞれ割り当てられている。そして、「赤」及び「黄」のカラーキーには移動先のBML文書が割り当てられていない。したがって装置制御部119は表1100に従って、「赤」のカラーキーに、1番目のBML文書用の子画面(2番目の子画面)を割り当てる。同様に装置制御部119は表1100に従って、「黄」のカラーキーに、2番目のBML文書用の子画面(3番目の子画面)を割り当てる。
こうして、weather.bmlにフォーカスがある場合に、ユーザが「青」キーを押すと、weather.bmlが表示されている子画面が、又は画面全体が、news1.bmlに遷移する。一方で、weather.bmlにフォーカスがある場合に、ユーザが「赤」キーを押すと、2番目の子画面にフォーカスが移動する。
本実施例によれば、子画面間のフォーカス移動を容易とすることができる。本実施例においては、どのカラーキーを押すとどの子画面に移動するのかが、表示装置123にさらに表示されていても良い。また、例えば2番目の子画面にフォーカスがあるにもかかわらず、2番目の子画面にフォーカスを移すような命令が、装置制御部119によってカラーキーに割り当てられてしまう可能性がある。表1000及び表1100に従って、フォーカスされていない子画面へとフォーカスを移す命令のみがカラーキーに割り当てられるように、装置制御部119がさらに構成されることもできる。
本実施例においては、ユーザがカラーキーを押すことによって選択された子画面(BML文書)に対して、フォーカスが移動した。しかしながら、ユーザがカラーキーを押すことによって子画面(BML文書)を選択すると、選択された子画面(BML文書)が全画面表示されるように、装置制御部119がさらに構成されることもできる。
また本実施例では、子画面にフォーカスがある時にユーザがカラーキーを押すと、その子画面に表示されているBML文書の記述に従って画面が遷移するものとして説明した。しかしながら、どの子画面にフォーカスがある場合にも、階層「1」のBML文書の記述に従って画面が遷移するように、装置制御部119が構成されることもできる。例えば、top.bmlにおいて「黄」のカラーキーには子画面が割り当てられていない。この場合、どの子画面にフォーカスがある場合であっても、ユーザが「黄」のカラーキーを押すと、2番目の子画面にフォーカスが移動するように、装置制御部119を構成することもできる。
[その他の実施例]
上述の各実施例においては、デジタル放送受信機システムが、BML文書で構成されるデータ放送コンテンツを表示する方法について説明した。しかしながら上述の各実施例は他のシステムに応用することもできる。例えば、リンクによって結びつけられた文書群から、1以上の文書を自動的に選択してユーザに表示することもできる。リンクによって結びつけられた文書群としては、例えばインターネット上のHTML文書群がある。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。