本発明によるアナログ・デジタル放送受信機の実施形態の一例を、以下に図面に基づいて説明する。
図1に、本発明によるアナログ・デジタル放送受信機の一実施形態例である機能ブロック図を示している。図1に示すアナログ・デジタル放送受信機20において、1はリモコンを、2はリモコン受光部などのインターフェース(以下、I/Oと称す)を、3は放送による受信データや受信機固有のデータを電源オフの状態でも保持するための書き換え可能な不揮発性メモリ(以下、NVRAMと称す:Non−Versatile RAM)を、4は当該アナログ・デジタル放送受信機20全体の動作を制御するマイクロプロセッサ(以下、CPUと称す)を、5は当該アナログ・デジタル放送受信機20の制御用のプログラムを動作させるためのワークメモリ及び各種データを保管、読み出すためのRAMメモリ(以下、主メモリと称す)を、6はCPU4を動作させるための制御用のプログラムを格納するためのプログラムメモリを、7はシステムバスを示している。
更に、図1に示すアナログ・デジタル放送受信機20において、7はモデムを、8は受信したデジタル電波(デジタルRF)信号を復調するためのデジタルチューナを、9はデジタル電波(デジタルRF)信号として多重化して伝送されてきたトランスポートストリーム(TS:Transport Stream)をデコードして指定した番組のそれぞれの映像、音声、番組情報、付加データ(Closed Captionデータ(以下では、CCデータと略して記述している場合もある)を含む)などの信号に分離して抽出するための分離回路(以下、DEMUXと称す)を、10は前記付加データを受け、デジタル放送用のEIA−708規格準拠のClosed Captionデータをデコード処理するEIA−708規格準拠のデコーダ(以下、EIA−708CCデコーダと称す)を、11はメニューやClosed CaptionデータなどをOSDIC(On Screen Display IC:オンスクリーンディスプレイIC)などによりオンスクリーン画面表示するための提示装置即ち表示装置(以下、OSDと称す)を示している。
更に、図1に示すアナログ・デジタル放送受信機20において、12は受信したアナログ電波(アナログRF)信号を復調するためのアナログチューナを、13はアナログチューナ12から出力されるNTSC信号の垂直帰線期間(VBI)の21ライン目にあるEIA−608規格準拠のClosed Captionデータを取り出すVBIスライサを、14はアナログ放送用のEIA−608規格準拠のClosed Captionデータをデコード処理するEIA−608規格準拠のデコーダ(以下、EIA−608CCデコーダと称す)を示している。
以下、図1に示すアナログ・デジタル放送受信機20の動作について説明する。前述のように、CPU4は制御用のプログラムを動作させてアナログ・デジタル放送受信機20の全体の制御をしており、CPU4で実行するプログラムはプログラムメモリ6に格納されている。また、NVRAM3は書き換え可能な不揮発性メモリであり、電源オフ状態であってもデータを保持することが可能なデータ保持用として使用される。NVRAM3は、例えばデジタルチューナ8やアナログチューナ12のチャンネル情報などのように、電源オフにされても保持する必要のあるデータを記憶している。
ユーザの操作結果として、リモコン1から赤外線が発せられると、該赤外線はI/O2にて受光されて、CPU4にシステムバス7を介してユーザからの指示情報として伝えられる。そして、以降、リモコン1のボタンをユーザが押すことにより、例えばデジタル放送とアナログ放送との切り替えや選局の指示が行われることになる。
デジタル放送の視聴時は、受信されたデジタルRF信号がデジタルチューナ8にて復調され、復調されたトランスポートストリーム(TS)の信号はDEMUX9にて映像、音声、番組情報、付加データなどのストリームに分離される。そして、その中から、EIA−708Closed Captionのデータが、EIA−708CCデコーダ10に渡される。また、デジタル信号には、EIA−608Closed Captionのデータも含まれている場合があるので、その場合には、EIA−608Closed CaptionのデータはEIA−608CCデコーダ14に渡される。EIA−708CCデコーダ10によりEIA−708Closed Captionのデータがデコードされて、受信コマンドに基づいて生成されたウィンドウ枠と該ウィンドウ枠内に埋め込まれたテキストとがOSD11に引き渡されて、OSD11によりオンスクリーン画面表示される。
また、アナログ放送の視聴時は、受信されたアナログRF信号がアナログチューナ12にて復調され、VBIスライサ13にて復調されたNTSC信号の垂直帰線期間の21ライン目からEIA−608Closed Captionのデータが取り出され、EIA−608CCデコーダ14に渡される。EIA−608CCデコーダ14によりEIA−608Closed Captionのデータがデコードされて、受信コマンドに基づいて生成されたウィンドウ枠と該ウィンドウ枠内に埋め込まれたテキストとがOSD11に引き渡されて、OSD11によりオンスクリーン画面表示される。
次に、デジタル放送用のEIA−708CCデコーダ10内の処理概略例について図2を用いて説明する。図2は、図1に示したEIA−708CCデコーダ10内のブロック構成の一例を示す機能ブロック図である。
まず、図2に示すEIA−708CCデコーダ10において、デコード部101にてユーザにより選択されたサービスが抜き出され、実行すべきコマンド列が取り出される。取り出されたそれぞれのコマンドが順番にコマンド実行部102に渡され、コマンドが順番に実行されることにより、Closed Captionデータを画面表示するウィンドウ形式を管理するウィンドウ管理部103の管理状態(表示文字フォントや文字サイズやウィンドウサイズやウィンドウ背景色など)が変更される。
即ち、ウィンドウ管理部103は、デコードしたEIA−708データをウィンドウ表示する表示データとして生成して管理するウィンドウ管理手段を提供している。そして、描画処理部104にて、ウィンドウの変更された管理状態に応じて描画されたウィンドウ枠にClosed Captionデータの文字列が描画され、OSD出力として、図1に示すOSD11に対して出力され、オンスクリーン画面表示される。
例えば、ウィンドウ1を定義するDF1(Define Window1)コマンドの後に表示すべき文字列となるテキスト“This is a pen.”が続く場合、まず、デコード部101においてDF1及び該テキストが抜き出される。そして、それらが、コマンド実行部102へ渡される。コマンド実行部102では、図6に例示しているように、EIA−708CC用ウィンドウの画面表示状態を予め登録しているウィンドウ管理部103の内部状態表(ウィンドウ枠表示の有無・開始位置・高さ・幅・背景色など)を参照して、ウィンドウ1の定義をしているDF1コマンドにより、ウィンドウの管理状態を変更する。
即ち、ウィンドウ1の場合、ウィンドウ枠を表示し、ウィンドウ枠の開始位置を座標(50,200)ドットとし、ウィンドウ枠の高さを200ドット、ウィンドウ幅を400ドット、ウィンドウの背景色を黒に設定する状態に変更して、ウィンドウ1の作成を行う。ここに、図6は、EIA−708CCウィンドウの内部状態表の一例を示す構成図であり、例えば、EIA−708CCデータを表示するウィンドウの定義として、ウィンドウ0、ウィンドウ1、…、ウィンドウ7が用意されていて、それぞれのウィンドウについて、ウィンドウ枠表示の有無・開始位置・高さ・幅・背景色などが予め設定登録されている。
しかる後に、ウィンドウ管理部103においては、コマンド実行部102の実行により変更して設定されたEIA−708CC用のウィンドウ1の中に、後続しているテキスト“This is a pen.”を埋め込む。更に、描画処理部104において、ウィンドウ管理部103でDF1コマンド及びテキストにより状態を変更して生成されたウィンドウ1と該ウィンドウ1内に表示文字列として埋め込まれたテキストとを画面表示用の表示データとして描画して、OSD11にOSD出力する。OSD11では、例えば、図12の画面に示すように、ウィンドウ表示領域にオンスクリーン描画させる。図12は、ウィンドウ画面の表示構成例を示す模式図であり、DF1コマンドで定義された図6に示すようなウィンドウ1枠に、後続するテキスト“This is a pen.”が、例えば、白抜きで画面表示されている。
一方、アナログ放送の視聴時においては、前述した説明においては、EIA−608CCデコーダ14によりデコードされて生成されたウィンドウ枠と該ウィンドウ枠内に埋め込まれたテキストとがOSD11に引き渡される場合について示した。しかしながら、場合によっては、EIA−608CCデコーダ14によりデコードされて生成されたウィンドウ枠と該ウィンドウ枠内に埋め込まれたテキストとを、OSD11に直接引き渡すのではなく、EIA−708CCデコーダ10に一旦引き渡すようにしても良い。
ここで、EIA−708CCデコーダ10では、ウィンドウ枠と該ウィンドウ枠内に埋め込まれたテキストとを、図2に示すウィンドウ管理部103に入力し、ウィンドウ管理部103にてウィンドウ管理状態をデジタル放送用のウィンドウ表示形式に調整した後(即ち、ウィンドウ管理部103に備えた調整変換機能を用いて、EIA−708CCのウィンドウ表示形式に調整した表示データに変更した後)、OSD11によりオンスクリーン画面表示させるようにしても良い。この場合、少なくとも、EIA−608CCデコーダ14とEIA−708CCデコーダ16(ウィンドウ管理部103も含まれている)を一つの回路ブロックに纏めて、例えば1つのICとして構成しても良い。
次に、本発明によるアナログ・デジタル放送受信機の他の実施形態の一例について、図3を用いて説明する。
図3は、本発明によるアナログ・デジタル放送受信機の他の実施形態例を示す機能ブロック図であり、図3に示すアナログ・デジタル放送受信機30においては、図1のアナログ・デジタル放送受信機20の構成と異なり、EIA−608CCデコーダ14の代わりに、本発明によるEIA−608→EIA−708CCコンバータ16を搭載して構成されている。即ち、図3に示すアナログ・デジタル放送受信機30は、符号1から13、及び、15は、図1のアナログ・デジタル放送受信機20と同じ回路からなっているが、EIA−608CCデコーダ14に代わって、EIA−608→EIA−708CCコンバータ16が備えられている。
図1のアナログ・デジタル放送受信機20においては、アナログ放送用のEIA−608Closed Caption(EIA−608CC)のデータを、EIA−608CCデコーダ14において、デコード処理を施して(更に、場合によっては、ウィンドウ管理状態をデジタル放送用のEIA−708規格準拠のウィンドウ表示形式に調整して)、OSD11に対するOSD出力を生成している。一方、図3のアナログ・デジタル放送受信機30においては、EIA−608→EIA−708CCコンバータ16により、アナログ放送用のEIA−608Closed Captionのデータをデジタル放送用のEIA−708Closed Caption(EIA−708CC)のコードに変換して、EIA−708CCデコーダ10側へ送り、EIA−708CCデコーダ10に備えた変換デコード機能において、送られてきたEIA−708Closed Captionのコードに変換したEIA−608Closed Captionのデータをデコード処理して、OSD11に対するOSD出力を生成するようにしている。
図4を用いて、この変換処理について更に詳しく説明する。図4は、EIA−608→EIA−708CCコンバータ及びEIA−708CCデコーダ内のそれぞれのブロック構成の一例を示す機能ブロック図である。
図4(A)は、EIA−708CCデータをデコードするデコード手段であり、当然、EIA−708CCのコードへ変換されたEIA−608CCデータもデコードする。図4(B)は、EIA−608CCデータをEIA−708CCのコードへ変換する変換手段であるEIA−608→EIA−708CCコンバータ16を示している。
図4(B)に示すEIA−608→EIA−708CCコンバータ16においては、デコード部161とコマンド実行部162とは、EIA−608CCの独自処理として、図1に示すEIA−608CCデコーダ14と同様の動作をした後、コマンド実行部162からEIA−708コマンド変換部163が呼ばれる。ここで、EIA−708コマンド変換部163では、EIA−608Closed CaptionのデータをEIA−708Closed Captionのコードに変換する変換手段を提供しており、EIA−708Closed Captionのコードにコード変換したEIA−608Closed CaptionのデータをEIA−708CCデコーダ10へ渡すようにしている。ここで、EIA−708コマンド変換部163は、EIA−708Closed Captionのコードに変換する際に、コマンド・文字変換テーブル164を参照して、コードを変換する。
より詳しい変換内容を図7及び図8を用いて説明する。図7は、EIA−608→EIA−708文字コードの変換表の一例を示す構成図であり、図8は、EIA−608→EIA−708色データの変換表の一例を示す構成図である。
例えば、「a」の上部にアクセントがついた「a」+「´」の合成文字の文字コードは、図7に示すように、EIA−608規格では、16進数コードの「2A」で表されるが、EIA−708規格では「E1」で表される。かくのごとく、他の文字についても、図7のような文字コードの変換表を参照して、EIA−608の文字コードがEIA−708の文字コードに変換される。また、EIA−608規格において文字色を変更するようなコマンドが現れた場合の処理として、EIA−708規格においては、図8に示すように、16進数コードで「91」(コマンド名「SPC」)から始まる3バイトのコードに変換される。EIA−708規格では、第2バイト目が文字色を示し、第3バイト目が文字の背景色を示しており、第2、第3バイト目の文字色、背景色は、図8のEIA−608規格を示す右側のテーブルからそれぞれ取り出されて、図8の例では、第2バイト目の文字色が「3F」即ち白であり、第3バイト目の背景色が「00」即ち黒となるように設定される。
以上のようにして、EIA−608Closed Caption(EIA−608CC)のデータが、EIA−708Closed Caption(EIA−708CC)のコードへ変換され、あたかも、元々、デジタル放送用のEIA−708Closed Captionのデータが送られてきたかのように処理されることとなる。
また、図3のアナログ・デジタル放送受信機30においては、EIA−708CCデコーダ10(EIA−708CCのコードに変換したEIA−608CCのデータをデコードする変換デコード機能を含む)とEIA−608→EIA−708CCコンバータ16(EIA−608CCのデコード部161やEIA−708コマンド変換部163を少なくとも含む)とが異なる別々のブロックとして表現されているが、これらの両者のブロックをそれぞれ1つずつのICと考えても良い。また、EIA−708CCデコーダ10とEIA−608→EIA−708CCコンバータ16との2つのブロックを1つの回路ブロックに纏めて1つのICと考えても良い。
更に、EIA−708CCデコーダ10とEIA−608→EIA−708CCコンバータ16との2つのブロックを1つに纏めて、例えばEIA−608のデータをEIA−708CCのコードに変換する機能をEIA−708CCデコーダに内蔵させて構成しても良く、少なくとも、EIA−608CCのデコード部161とEIA−708コマンド変換部163とEIA−708CCデコーダ10(前記変換デコード機能とウィンドウ管理部103とを含む)とを1つの回路ブロックとして構成するようにしても良い。また、EIA−708CCデコーダ10とEIA−608→EIA−708CCコンバータ16との機能を、それぞれソフトウェアによって構成し、ソフトウェアの処理ブロックとして構成しても良い。
EIA−708規格の方が、EIA−608規格よりも豊富な機能を持つため、EIA−608→EIA−708CCコンバータ16においては、一般的に、両者の間のデータ変換について、基本的なコマンドによるデータに関しては完全にコンバートすることは可能であるが、厳密には、すべてのコマンドをカバーすることができず、すべてのデータについて正確なコンバートをすることは難しい。そこで、EIA−708規格で使われていないコードを利用して、EIA−608→EIA−708CCコンバータ16及びEIA−708CCデコーダ10に対して、図9に示すようなデータ変換用の拡張追加コマンドを新たに追加し、より厳密にEIA−608Closed Captionのデータのデコードが可能なように対応することも出来る。ここで、図9は、EIA−608→EIA−708CCコンバータ16とEIA−708CCデコーダ10とに追加した拡張追加コマンドの一例を示す構成図である。
例えば、EIA−608Closed Captionのデータにおいて「17 22」及び「1F 22」の16進数コードは、EIA−608規格の「TO2」コマンドを示すコマンドであり、カーソルを右へ2文字分ずらす文字送りコマンドであるが、EIA−708規格のコマンドには、カーソルを指定した相対位置にずらすことが指定出来る文字送りコマンドは存在していない。
このため、図9において、カーソルを1文字分右へずらす文字送りコマンドとしてコマンド名「TO」を、16進数の「01」のコードからなる追加拡張コマンドとして新たに追加し、EIA−608規格の「TO2」コマンドを、EIA−708規格側のコマンドに変換する際に、新たに追加した追加拡張コマンド「TO」を示すコマンド即ち16進数のコード「01」を2回連続して発行するコマンドに変換することにより、同じ動作をさせることが出来る。即ち、追加した追加拡張コマンド「TO」は、EIA−708CCのコードへ変換したEIA−608CCデータについて文字位置を右方向に1文字分ずつずらす文字送りコマンド機能を実現している。
また、図9の拡張追加コマンドとして、EIA−608Closed Captionに存在しているコマンドのうち、更に、行末までの文字列を削除する「DER」(削除)コマンド(16進数コード「02」)、指定した任意の行数だけ行を挿入する「IROW」(行挿入)コマンド(16進数コード「11」)、指定した任意の行数分の行を削除する「DROW」(行削除)コマンド(16進数コード「12」)などを、追加して登録している例を示している。
ここで、EIA−708CCのコードへ変換したEIA−608CCデータをデコードするための変換用のコマンドとして新たに追加する拡張追加コマンドは、図9に示す例に拘ることなく定義しても良いし、更に、必要なコマンドを追加することにしても良い。
また、図5のように、例えば図1に示すアナログ・デジタル放送受信機20のEIA−608CCデコーダ14とEIA−708CCデコーダ10とを統合して、EIA−608CCデコーダ14とEIA−708CCデコーダ10との機能を共用するEIA−608/EIA−708CC共用デコーダ17として構成しても良い。図5は、EIA−608/EIA−708CC共用デコーダ17内のブロック構成の一例を示す機能ブロック図である。
前述したように、図1のアナログ・デジタル放送受信機20の場合においても、EIA−608CCデコーダ14によりデコードされて生成されたウィンドウ枠と該ウィンドウ枠内に埋め込まれたテキストとを、OSD11に直接引き渡すのではなく、EIA−708CCデコーダ10に一旦引き渡して、図2に示すウィンドウ管理部103に入力し、ウィンドウ管理部103にてウィンドウ管理状態をデジタル放送用のEIA−708CCウィンドウ表示形式に調整した後、OSD11によりオンスクリーン画面表示させるようにしても良い旨を示した。一方、図5のEIA−608/EIA−708CC共用デコーダ17は、図1とは異なる形態の実施例を示している。
図5に示すEIA−608/EIA−708CC共用デコーダ17は、かかる場合において、EIA−608CCデコーダ14とEIA−708CCデコーダ10との機能を共用するように構成しているものであり、該EIA−608/EIA−708CC共用デコーダ17を、1つの回路ブロックとして纏めて、例えば、1つのICとして構成するようにしても良い。
図5に示すEIA−608/EIA−708CC共用デコーダ17において、EIA−708CC側にはEIA−708CCデコード部171及びEIA−708CCコマンド実行部172が、EIA−608CC側にはEIA−608CCデコード部173及びEIA−608CCコマンド実行部174が、それぞれ配置され、独立してそれぞれのClosed Captionデータが処理されるが、ウィンドウ管理部175と描画処理部176とは、両者のデータに対して共通に処理される。
ここで、ウィンドウ管理部175は、EIA−708CCデコード部171及びEIA−708CCコマンド実行部172により処理されたEIA−708CCデータをウィンドウ表示するための表示データとして生成して管理するのみならず、EIA−608CCデコード部173によりデコードされ、EIA−608CCコマンド実行部174によりコマンド処理されたEIA−608CCデータをEIA−708CCのウィンドウ表示形式に調整した表示データに変換する調整変換手段としても機能するものである。また、描画処理部176は、ウィンドウ管理部175からの表示データをEIA−708CCのウィンドウ表示形式としてオンスクリーン画面表示するような描画データを生成して、OSD出力として出力する。
更に、図5に示すEIA−608/EIA−708CC共用デコーダ17には、EIA−608とEIA−708とのデータを切り替え制御するための608/708切り替え制御部177が備えられており、608/708切り替え制御部177にて、EIA−708CCデコード部171及びEIA−708CCコマンド実行部172と、EIA−608CCデコード部173及びEIA−608CCコマンド実行部174とのデータ処理の有効又は無効、ウィンドウ管理部175の動作設定がそれぞれ切り替えられ、同時には、いずれか一方しか動作しないように制御される。
EIA−608/EIA−708CC共用デコーダ17における内部処理は、次の通りである。前述の図4(B)のEIA−608→EIA−708CCコンバータ16の実施例においては、図7の文字コード及び図8の色データの変換表を用いて、EIA708コマンド変換部163の文字コード及び文字色の設定をEIA−708規格に可能な限り正確にコンバートする変換例を説明した。しかし、図5のEIA−608/EIA−708CC共用デコーダ17の場合は、図7の文字コード及び図8の色データの変換表によりコンバートすることなく、ウィンドウ管理部175のウィンドウの管理状態を示す管理データを変更することにより、ウィンドウ管理部175にてウィンドウ管理状態を、デジタル放送用のEIA−708規格準拠のウィンドウ表示形式に調整するようにし、より忠実にEIA−608CC用のデータを表示可能とすると共に、より単純に処理することも可能としている。
更に、ウィンドウ管理部175の内部処理として、EIA−708CCデコード部171及びEIA−708CCコマンド実行部172にて処理されているデータと等価に扱うことを可能とするために、EIA−708規格の機能である、例えば、文字の大きさ、文字種、文字色、文字透明度、背景色、背景透明度、縁取り、その他イタリック体による装飾など、ユーザによる変更をも有効にするウィンドウ管理状態に調整することも可能している。即ち、ウィンドウ管理部175の内部処理として、EIA−608CC用のデータのデコード時においても、ユーザによるウィンドウ管理状態の変更を有効にすることにより、それらの設定をユーザが任意に変更することが出来る。この結果、EIA−608CC用のデータとEIA−708CC用のデータとのいずれも、EIA−708CC規格準拠のウィンドウ表示形式として扱うことが可能となり、画面表示も類似した表示に揃えることが出来る。
なお、ユーザによる変更の処理としては、EIA−708CCのデータのデコード処理の場合と同一のものであり、ここでは詳しく言及しないが、例えば、図10のように、ユーザが任意に変更設定が可能なペン属性(文字属性)のテーブルをウィンドウ管理部175に持ち、図12のような文字列の表示を、図13のように、ユーザにより変更設定されたウィンドウ管理状態に応じた装飾した文字に変更することも可能となる。
ここに、図10は、EIA−608CC用のデータについても、ユーザによる設定変更可能な文字属性表の一例を示す構成図であり、文字の大きさ、文字種、文字色、文字透明度などをユーザがペン属性(文字属性)として任意に変更して設定した内容が登録されている。また、図12は、前述した図6の内部状態表を使って図2のEIA−708CCデコーダの動作により“This is a pen.”の文字列がウィンドウ枠1内に表示されている表示例である。また、図13は、ユーザによって設定を変えられたウィンドウ画面の表示構成例を示す模式図であり、図10の文字属性表にユーザが変更設定したペン属性(文字属性)によって、図12の文字表示が、文字の大きさが“Large”であり、文字種が“筆記体”であるなど、装飾した文字に変更されて表示されている。
かくのごとく、図12のようにウィンドウ表示されるEIA−708CCのデータと同じデータが、EIA−608CCのデータとして、EIA−608CCデコード部173及びEIA−608CCコマンド実行部174から、ウィンドウ管理部175に引き渡されてくる場合であっても、608/708切り替え制御部177の制御により、ウィンドウ管理部175は、ウィンドウ管理状態をデジタル放送用のEIA−708規格準拠のウィンドウ表示形式に調整され、図10の文字属性表によりユーザが変更設定したペン属性(文字属性)によって、図13のように変更して表示させることが出来る。即ち、図10のようにユーザにより任意に設定変更が可能なペン属性(文字属性)を登録する文字属性表を備えて、EIA−608CCデータ及びEIA−708CCデータのいずれでも、図10の文字属性表に基づいて、文字属性を変換してウィンドウ画面表示することが出来る。
ここで、ユーザにより任意に設定変更が可能なペン属性(文字属性)を登録する文字属性としては、少なくとも、文字の種類を示す文字種、文字の大きさを示す文字サイズ、文字の色を示す文字色を含むものであり、その他に、図10の文字属性表に例示するように、文字透明度、背景色、背景透明度、…、縁取り、イタリック体などを含むようにしても良い。
また、図10の文字属性表の代わりに、図11のように、1文字ずつ、別個に、文字コード、フォント幅、フォント高さ、描画幅(プロポーショナルフォントでは描画される文字幅はフォント幅とは異なる)、…、文字色などの文字属性をユーザにより設定変更可能な状態で登録するようにしても良い。即ち、図11は、1文字ごとの文字属性を設定登録した文字属性表の一例を示す構成図であり、図11では、文字コード“A”の場合について、フォント幅(文字幅)が「45」ドット、フォント高さ(文字高さ)が「45」ドット、文字種が「明朝体」、描画幅が「32」ドット、…、文字色が「白」にユーザにより設定されている場合を例示している。
例えば、EIA−608CCのデータについてユーザにより変更設定されている図11の文字属性表を用いる場合には、図14及び図15のフローチャートに示すような処理手順で、ウィンドウ管理部175にて1文字ずつ文字の変換を行うことになる。ここに、図14は、1行の文字列を描画する行幅に応じて描画する文字列の調整処理を行う一例を示すフローチャートであり、1行の文字列を描画する行幅に応じて、文字のフォント幅を小さくする例を示すフローチャートである。また、図15は、行幅を計算する処理の一例を示すフローチャートである。
図14のフローチャートにおいて、まず、1行に表示すべき文字列を1行の先頭から順番に1文字ずつ表示していく際に、図11の文字属性表を参照して、該当する各文字の描画幅を取り出して、該文字列の行幅を図15に示すフローチャートを用いて取得する(ステップS1)。該文字列の表示領域が画面1行に収まっているか否かを判定して(ステップS2)、収まっていない場合は(ステップS2のNO)、文字列のフォント幅(描画幅)を少し小さな値(例えば、図11の文字属性表の描画幅を“1”減算した値)に再設定して、再度、ステップS1の処理を行う。
一方、該文字列の表示領域が1行収まっている場合には(ステップS2のYES)、行幅の調整が終了して、ウィンドウとして指定されているウィンドウ枠を表示/非表示してその中に1行分の文字列をオンスクリーン画面表示する。即ち、ステップS1乃至S3は、描画する文字サイズを大きくする変更がなされることを検出するサイズ変更検出手段と、文字サイズを大きくした際に、描画すべき文字が画面からはみ出すことを検出する表示領域検出手段と、はみ出さないように文字のフォント幅を調整する文字幅調整手段とを提供していることになる。
一方、図15に示す行幅計算処理のフローチャートにおいては、まず、行幅の計算位置の初期値として、「計算位置」を行の先頭に設定した後(ステップS11)、「行幅」を初期値の“0”に設定する(ステップS12)。ここで、1行に表示すべき文字列の終わりになったか否かを確認し(ステップS13)、まだ終わりになっていない場合は(ステップS13のNO)、文字列の中から当該「計算位置」に表示する1文字の描画幅を図11の文字属性表から取得して(ステップS14)、取得した描画幅を「行幅」に加える(ステップS15)。次に、当該1文字分の描画幅だけ「計算位置」を右方向にずらした後、ステップS13に戻り、1行に表示すべき文字列の終わりになっているか否かを判定する。1行に表示すべき文字列の終わりに至った場合(ステップS13のYES)、その時点の「行幅」を呼び出した相手に返す処理を行う。
また、図14のフローチャートに示す処理の代わりに、図16のフローチャートに示すように処理しても良い。図16は、1行の文字列を描画する行幅に応じて描画する文字列の調整処理を行う他の例を示すフローチャートであり、描画する文字のフォント幅を小さくする代わりに空白の幅を小さく調整するものである。即ち、ステップS21、S22は、図14のステップS1、S2と同様の処理を行うが、ステップS23においては、図14のステップS3のフォントを小さくする処理の代わりに、空白の幅を小さく再設定して(ステップS23)、ステップS21に戻って、行幅の再計算を繰り返し、1行が表示領域に収まるようにするものである。
ここで、ステップS21乃至S23は、描画する文字サイズを大きくする変更がなされることを検出するサイズ変更検出手段と、文字サイズを大きくした際に、描画すべき文字が画面からはみ出すことを検出する表示領域検出手段と、はみ出さないように空白の幅を調整する空白幅調整手段とを提供している。
また、図16の処理と図14の処理との2つの処理を組み合わせて、図17のフローチャートに示すように処理しても良い。図17は、1行の文字列を描画する行幅に応じて描画する文字列の調整処理を行う更に異なる例を示すフローチャートであり、文字列の行幅に応じて描画する空白の幅及びフォント幅を調整する行幅調整フローチャートである。
最初のステップS31乃至S33では、図16のステップS21乃至S23と同様に、空白の幅を少し小さく再設定して行幅の再計算を行い、それでも1行に収まらない場合には(ステップS33のYES)、ステップS34に移行し、次に、ステップS34乃至S36において、図14のステップS1乃至S3と同様に、フォントの幅を少し小さくして、行幅の再計算を繰り返す処理を行い、文字列を1行が収まるようにする。
即ち、ステップS31乃至S36は、描画する文字サイズを大きくする変更がなされることを検出するサイズ変更検出手段と、文字サイズを大きくした際に、描画すべき文字が画面からはみ出すことを検出する表示領域検出手段と、空白の幅を調整する空白幅調整手段と、空白の幅を調整した結果として、描画すべき文字が画面からはみ出すことを検出した場合に、はみ出さないように文字のフォント幅を調整する文字幅調整手段とを提供している。
また、EIA−608規格は、画面は15行構成になっており、EIA−608CCのデータの文字についてユーザによりフォントサイズを大きくする変更がなされた場合には、基本的に、表示領域が画面をはみ出してしまう場合が発生する。更に、EIA−608規格には、ポップオンとペイントオンとロールアップという3つの表示モードがあり、図18の構成図に示すように、合計6つのコマンドを用いて表示モードを判別することが可能とされている。図18は、表示モードを設定登録しているコマンドテーブルの構成の一例を示す構成図である。
EIA−608規格としては、下位行で1文字ずつ順次表示していき、CR(Carrige Return)コードにより上方向に1行スクロールする表示モードであるロールアップは、最大4行しか表示しないので、たとえ、フォントを大きくする変更をしても、通常、表示領域が画面からはみ出ることはないが、1文字ずつ上の行から順次表示していく表示モードであるポップオン、及び、所定のコードの受信により表示メモリと非表示メモリとの切り替えを行う表示モードであるペイントオンは、15行構成の任意の位置に最大4行表示することが可能になっているため、単純には処理することができない。
そこで、EIA−608規格準拠の表示モードを検出するモード検出手段により、描画すべきデータの表示モードを検出して、例えば、ポップオン又はペイントオンのいずれかの表示モードのときのみ、ユーザのフォントサイズを大きくする変更の指定がされている場合においては、文字の高さ及び/又は表示位置を任意の状態に調整する表示領域調整手段を備えることにより、例えば文字高さを標準サイズの高さに変更して、表示領域を画面内に収めるようにしても良い。あるいは、表示領域が最大でも4行であるので、文字高さを標準サイズに変更する代わりに、該表示領域調整手段を用いて表示位置を画面内に収まる位置に変更することにより、表示領域を画面内に収めるようにしても良いし、文字高さと表示位置との双方を変更することにより、描画すべき文字列が画面からはみ出さないように表示領域を調整するようにしても良い。
実際の放送では、ポップオン又はペイントオンのいずれかの表示モードの場合、映像用の画面を余り隠さないように、最上段の1から4行目までか、又は、最下段の12から15行目までが使われることが多いので、フォントサイズを大きくする場合において、前記表示領域調整手段を用いて表示位置を調整する場合は、図19のような変換テーブルを用意し、基本的にはこの変換テーブルにしたがって描画行の位置を変更するようにしても良い。
ここで、例えば、図19の描画行が5行目や6行目などを含む場合のように、変換行が同一の5行目に重なってしまう場合は、描画する変換行の位置を空いている上下の行にずらしても良い。図19は、文字サイズを大きくした場合に描画行を変換する一例を示す構成図である。図19には、描画行が11行目以降に指定されている場合は、文字サイズを大きくした場合に画面内に収まらない場合が生じるので、最下位行であっても第10行目までとなるように、各行位置のバランスを取って、それぞれ、行位置を変換する変換行が設定登録されている一例を示している。
また、同様に、文字サイズ(フォントサイズ)が小さくする変更がなされる場合には、前記表示領域調整手段と同様の手段を用いて、単純に、表示位置をそのままにして、文字サイズの変更に応じて文字の高さだけを変えるようにしても良いが、文字サイズが小さくなった分だけ、図20に示すように、表示位置を画面の中心へずらすようにしても良いし、あるいは、文字の高さと表示位置との双方を文字サイズが小さくなった分に応じて変更するようにしても良い。図20は、文字サイズを小さくした場合に表示位置を変換する一例を示す模式図である。図20には、文字サイズを小さくした場合に、間延びしたりしないように、文字サイズを小さくした分に応じて、表示位置を画面の中央に寄せるようにして、文字配列のバランスを取るようにしている一例を示している。
ここで、文字サイズを小さくする場合においても、文字サイズを大きくする場合と同様に、表示モードに応じて、前記表示領域調整手段と同様の手段により、文字の高さ及び/又は表示位置を調整することとし、該表示モードがポップオン又はペイントオンのいずれかの場合にのみ、文字の高さ及び/又は表示位置を調整するようにしても良い。
また、文字サイズ(フォントサイズ)が標準サイズ以外に設定された場合で、指定されている表示モードがEIA−608規格準拠のロールアップモードの時には、標準ウィンドウサイズ時のロールアップウィンドウの中心座標位置を予め計算しておき、計算された該中心座標位置を中心にして、標準ウィンドウサイズ時のウィンドウサイズを変更して、ロールアップウィンドウを表示するようにしても良い。
例えば、ロールアップ表示として2行であり、そのベースラインが14行になっており、Closed Captionのデータが13行と14行との2行で表示されるような場合であれば、図21に示すように、中心座標位置の計算結果として、13行と14行との中間位置に、標準文字サイズ時のロールアップウィンドウの中心座標位置Oが存在している。図21は、標準文字サイズにおけるロールアップウィンドウの中心座標位置の計算例を示す模式図である。そして、この中心座標位置Oを中心にして、文字サイズが標準サイズから例えば大きいサイズに設定された場合のロールアップウィンドウは、文字サイズの大きさに応じて拡大されて、図22のようなロールアップウィンドウサイズに調整されて表示される。図22は、標準文字サイズよりも大きい文字サイズに変更した場合におけるロールアップウィンドウのサイズの調整例を示す模式図である。図22に示すように、ウィンドウ変更手段として、変更された文字サイズの大きさに応じてロールアップウィンドウのサイズが変更されると共に、サイズが変更されたロールアップウィンドウの中心座標位置は、標準文字サイズ時に計算されていた中心座標位置Oのまま維持されて表示される。
なお、EIA−708規格においては、ウィンドウの背景と文字背景とのそれぞれの設定を別々に行うことが出来る。一方、通常、EIA−608規格準拠のTextサービスの表示は、ウィンドウの背景が黒色のみとされている。従って、図13に例示したように、ユーザによって描画する文字の文字背景が変更されたときは、EIA−608規格のTextサービスの場合であっても、例えば図10の文字属性表に示すように、単に、変換設定する対象を文字サイズや文字種などのみに限定することなく、ウィンドウの背景も、同様に、文字背景の変更に応じて、黒色からユーザが指定した任意の色に変更させることを可能とすることにより、ユーザへの自由度を向上させるようにしても良い。
1…リモコン、2…I/O(インターフェース)、3…NVRAM、4…CPU(マイクロプロセッサ)、5…主メモリ(RAM)、6…プログラムメモリ、7…システムバス、8…デジタルチューナ、9…DEMUX(TSデコーダ)、10…EIA−708CCデコーダ、11…OSD(提示装置)、12…アナログチューナ、13…VBIスライサ、14…EIA−608CCデコーダ、16…EIA−608→EIA−708CCコンバータ、17…EIA−608/EIA−708CC共用デコーダ、20,30…アナログ・デジタル放送受信機、101…デコード部、102…コマンド実行部、103…ウィンドウ管理部、104…描画処理部、161…デコード部、162…コマンド実行部、163…EIA−708コマンド変換部、164…コマンド・文字変換テーブル、171…EIA−708CCデコード、172…EIA−708CCコマンド実行部、173…EIA−608CCデコード部、174…EIA−608CCコマンド実行部、175…ウィンドウ管理部、176…描画処理部、177…ウィンドウ管理部。