(57)【要約】【課題】デジタルケーブルシステムで動作するアプリケーションを開発する際、ヘッドエンド及びＣａｂｌｅＣａｒｄを必要とするため、実運用に近い設備を用意する必要がある。ヘッドエンドには複数の端末との接続を保証するための機器等も含まれており非常に高価な上、この環境の構築に多大な労力が必要である。【解決手段】アプリケーションを実行する実行手段と、前記ヘッドエンドがＯＯＢを介して送信する第１のデータ形式と異なる第２のデータ形式を出力するＯＯＢサーバから出力されたデータを受信する第１受信手段と、前記第１受信手段が受信した前記第２のデータ形式のデータを、前記第１の形式に変換する変換手段と、前記変換手段によって変換されたデータを前記アプリケーションに提供するライブラリとを備えた。【選択図】図４
2005236741.tif 000002
【特許請求の範囲】
【請求項１】
ケーブルテレビシステムにおけるヘッドエンドからＯＯＢを介してデータを送受信できるケーブルテレビ受信端末において、
アプリケーションを実行する実行手段と、
前記ヘッドエンドがＯＯＢを介して送信する第１のデータ形式と異なる第２のデータ形式を出力するＯＯＢサーバから出力されたデータを受信する第１受信手段と、
前記第１受信手段が受信した前記第２のデータ形式のデータを、前記第１のデータ形式に変換する変換手段と、
前記変換手段によって変換されたデータを前記アプリケーションに提供するライブラリと
を備えたことを特徴とするケーブルテレビ受信端末。
【請求項２】
前記ケーブルテレビ受信端末は、更に、
前記ヘッドエンドが前記ＯＯＢを介して送信したデータを受信する第２受信手段と、
前記第１受信手段と前記第２受信手段を切り替えて前記ライブラリと接続する切り替え手段と
を備えたことを特徴とする請求項１記載のケーブルテレビ受信端末。
【請求項３】
前記ケーブルテレビ受信端末は、更に、
前記第１受信手段が前記ケーブルテレビ受信端末とは分離可能な形状とし、前記ケーブルテレビ受信端末は、前記第１受信手段を接続する接続手段と
を備えたことを特徴とする請求項１記載のケーブルテレビ受信端末。
【請求項４】
前記ケーブルテレビ受信端末は、更に、
前記第１のデータ形式はＭＰＥＧセクションデータであり、
前記第２のデータ形式はＩＰデータであり、
前記変換手段は、前記ＩＰデータの受信を行い、前記ＩＰデータから前記ＭＰＥＧセクションデータに変換する
ことを特徴とする請求項１記載のケーブルテレビ受信端末。
【請求項５】
前記ケーブルテレビ受信端末は、更に、
前記第１のデータ形式はＭＰＥＧセクションデータまたは第１のＩＰデータであり、
前記第２のデータ形式は第２のＩＰデータであり、更に、前記第２のＩＰデータには変換前のデータの形式を識別するデータ形式識別子を含み、
前記変換手段は、前記第２のＩＰデータの受信を行い、前記データ形式識別子に基づいて、前記第２のＩＰデータから前記前記ＭＰＥＧセクションデータまたは前記第１のＩＰデータに変換する
ことを特徴とする請求項１記載のケーブルテレビ受信端末。
【請求項６】
前記ケーブルテレビ受信端末は、更に、
前記ＯＯＢサーバとの接続を確立する初期化手段を
備えることを特徴とする請求項１記載のケーブルテレビ受信端末。
【請求項７】
前記ケーブルテレビ受信端末は、更に、
前記第２のデータ形式に基づいて第２のデータ形式のデータを生成する送信データ生成手段と、
前記送信データ生成手段が生成した第２のデータ形式のデータを前記ＯＯＢサーバに送信する送信手段を
備えることを特徴とする請求項１記載のケーブルテレビ受信端末。
【請求項８】
ケーブルテレビシステムにおけるヘッドエンドからＯＯＢを介してデータを送受信できるケーブルテレビ受信端末に対して、
前記ヘッドエンドがＯＯＢを介して送信する第１のデータ形式に変換可能な第２のデータ形式を生成するデータ生成手段と、
前記データ生成手段が生成したデータを前記ケーブルテレビ受信端末に送信する送信手段
を備えたことを特徴とするＯＯＢサーバ。
【請求項９】
前記ＯＯＢサーバは、更に、
前記ケーブルテレビ受信端末との接続を確立する初期化手段
を備えたことを特徴とする請求項８記載のＯＯＢサーバ。
【請求項１０】
前記ＯＯＢサーバは、更に、
前記第１のデータ形式を前記第２のデータ形式に変換する変換手段
を備えたことを特徴とする請求項８記載のＯＯＢサーバ。
【請求項１１】
前記ＯＯＢサーバは、更に、
前記第１のデータ形式はＭＰＥＧセクションデータであり、
前記第２のデータ形式はＩＰデータであり、
前記変換手段は、前記ＭＰＥＧセクションデータを受け取り、前記ＭＰＥＧセクションデータから前記ＩＰデータに変換する
ことを特徴とする請求項１０記載のＯＯＢサーバ。
【請求項１２】
前記ＯＯＢサーバは、更に、
前記第１のデータ形式は第１のＩＰデータであり、
前記第２のデータ形式は第２のＩＰデータであり、
前記変換手段は、前記第１のＩＰデータを受け取り、前記第１のＩＰデータから前記第２のＩＰデータに変換する
ことを特徴とする請求項１０記載のＯＯＢサーバ。
【請求項１３】
前記ＯＯＢサーバは、更に、
前記第２のデータ形式のデータを受信する受信手段と、
前記受信手段が受信したデータを前記第１のデータ形式に変換する逆変換手段を
備えることを特徴とする請求項８記載のＯＯＢサーバ。
【請求項１４】
コンピュータ読み取り可能な記録媒体であって、
ケーブルテレビシステムにおけるヘッドエンドからＯＯＢを介してデータを送受信できるケーブルテレビ受信端末において、
アプリケーションを実行する実行手段と、
前記ヘッドエンドがＯＯＢを介して送信する第１のデータ形式と異なる第２のデータ形式を出力するＯＯＢサーバから出力されたデータを受信する第１受信手段と、
前記第１受信手段が受信した前記第２のデータ形式のデータを、前記第１のデータ形式に変換する変換手段と、
前記変換手段によって変換されたデータを前記アプリケーションに提供するライブラリの
各機能を発揮するプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１５】
コンピュータ読み取り可能な記録媒体であって、
ケーブルテレビシステムにおけるヘッドエンドからＯＯＢを介してデータを送受信できるケーブルテレビ受信端末に対して、
前記ヘッドエンドがＯＯＢを介して送信する第１のデータ形式に変換可能な第２のデータ形式を生成するデータ生成手段と、
前記データ生成手段が生成したデータを前記ケーブルテレビ受信端末に送信する送信手段の
各機能を発揮するプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルケーブルテレビにおいて実行されるアプリケーションに対して提供される機能をエミュレーションの開発環境に関する。
【背景技術】
【０００２】
従来のデジタルケーブルテレビにおけるアプリケーション実行及びアプリケーションの開発環境について説明する。
【０００３】
図１９は、ケーブルシステムを構成する装置の関係を表したブロック図であり、ヘッドエンド１９０１及び３個の端末装置Ａ１９１１、端末装置Ｂ１９１２、端末装置Ｃ１９１３で構成される。ヘッドエンド１９０１は、複数の端末装置に対して映像・音声・データ及びアプリケーション等を含む放送信号を送信するとともに、端末装置からのデータ送信を受信する。
【０００４】
これを実現するため、ヘッドエンド１９０１と端末装置Ａ１９１１、端末装置Ｂ１９１２、端末装置Ｃ１９１３間の伝送に用いられる周波数帯域は、分割して用いられる。図２０は、周波数帯域の分割の一例を示す表である。周波数帯域は、Ｏｕｔ  Ｏｆ  Ｂａｎｄ（略称ＯＯＢ）とＩｎ−Ｂａｎｄの２種類に大別される。５〜１３０ＭＨｚがＯＯＢに割り当てられ、主にヘッドエンド１９０１と端末装置Ａ１９１１、端末装置Ｂ１９１２、端末装置Ｃ１９１３間のデータのやり取りに使用される。１３０ＭＨｚ〜８６４ＭＨｚはＩｎ−Ｂａｎｄに割り当てられ、主として、映像・音声を含む放送チャンネルに使用される。ＯＯＢではＱＰＳＫ変調方式が、Ｉｎ−ＢａｎｄはＱＡＭ６４変調方式が使用される。図２１は、ＯＯＢ周波数帯域の更に詳細な使用の一例である。７０ＭＨｚ〜７４ＭＨｚはヘッドエンド１９０１からのデータ送信に使用され、全ての端末装置Ａ１９１１、端末装置Ｂ１９１２、端末装置Ｃ１９１３が、ヘッドエンド１９０１から同じデータを受け取ることになる。一方、１０．０ＭＨｚ〜１０．１ＭＨｚは端末装置Ａ１９１１からヘッドエンド１９０１へのデータ送信に使用され、１０．１ＭＨｚ〜１０．２ＭＨｚは端末装置Ｂ１９１２からヘッドエンド１９０１へのデータ送信に使用され、１０．２ＭＨｚ〜１０．３ＭＨｚは端末装置Ｃ１９１３からヘッドエンド１９０１へのデータ送信に使用される。これにより、各端末装置固有のデータを各端末装置Ａ１９１１、端末装置Ｂ１９１２、端末装置Ｃ１９１３からヘッドエンド１９０１に送信することができる。図２２は、Ｉｎ−Ｂａｎｄの周波数帯に対する使用の一例である。１５０〜１５６ＭＨｚと１５６〜１６２ＭＨｚはそれぞれテレビチャンネル１とテレビチャンネル２に割り当てられ、以降、６ＭＨｚ間隔でテレビチャンネルが割り当てられている。３１０ＭＨｚ以降は、１ＭＨｚ単位でラジオチャンネルに割り当てられている。これらの各チャンネルはアナログ放送として使用してもデジタル放送として使用してもよい。デジタル放送の場合は、ＭＰＥＧ２仕様に基づいたトラスポートパケット形式で伝送され、音声や映像に加え、アプリケーションも送信することができる。
【０００５】
端末装置Ａ１９１１、端末装置Ｂ１９１２、端末装置Ｃ１９１３は、ヘッドエンド１９０１からのＯＯＢ及びＩｎ−ｂａｎｄからの放送信号を受信し、映像・音声の再生及び、アプリケーションをダウンロードして実行する。
【０００６】
図２３は、端末装置のハードウエア構成を表すブロック図である。２３００は端末装置であり、ＱＡＭ復調部２３０１、ＱＰＳＫ復調部２３０２、ＱＰＳＫ変調部２３０３、ＴＳデコーダ２３０５、オーディオデコーダ２３０６、スピーカ２３０７、ビデオデコーダ２３０８、ディスプレイ２３０９、２次記憶部２３１０、１次記憶部２３１１、入力部２３１３、ＣＰＵ２３１４で構成される。また端末装置２３００には、ＣａｂｌｅＣａｒｄ（Ｒ）２３０４が着脱できる。
【０００７】
図２４は、端末装置２３００の外観の一例である薄型テレビである。
【０００８】
２４０１は、薄型テレビの筐体であり、ＣａｂｌｅＣａｒｄ（Ｒ）２３０４を除く、端末装置２３００の構成要素をすべてを内蔵している。
【０００９】
２４０２はディスプレイであり、図２３におけるディスプレイ２３０９に相当する。
【００１０】
２４０４は信号入力端子であり、ヘッドエンド１９０１との信号の送受信を行うためにケーブル線を接続する。信号入力端子は、図２３のＱＡＭ復調部２３０１、ＱＰＳＫ復調部２３０２、ＱＰＳＫ変調部２３０３と接続されている。
【００１１】
２４０５は、図２３のＣａｂｌｅＣａｒｄ（Ｒ）２３０４に相当するＣａｂｌｅＣａｒｄ（Ｒ）である。ＣａｂｌｅＣａｒｄ（Ｒ）２３０４は、図２４のＣａｂｌｅＣａｒｄ（Ｒ）２４０５のように、端末装置２３００とは独立した形態を取り、端末装置２３００に着脱可能となっている。ＣａｂｌｅＣａｒｄ（Ｒ）２３０４の詳細は後述する。
【００１２】
２４０６はＣａｂｌｅＣａｒｄ（Ｒ）２４０５を挿入する挿入スロットである。
【００１３】
図２３を参照して、端末２３００が映像・音声の再生を行う仕組みを説明する。ＱＡＭ復調部２３０１は、ＣＰＵ２３１４の指示によりヘッドエンド１９０１からＩｎ−ｂａｎｄを用いてＱＡＭ変調され送信されてきた信号を復調し、ＣａｂｌｅＣａｒｄ（Ｒ）２３０４に引き渡す。ここで、復調された信号はスクランブルされたＭＰＥＧ２トランスポートストリームである。
【００１４】
ＣａｂｌｅＣａｒｄ（Ｒ）２３０４は、受け取った信号をデスクランブルし、ＴＳデコーダ２３０５に引き渡す。なお、ＣａｂｌｅＣａｒｄ（Ｒ）２３０４の接続インターフェースは、ＯｐｅｎＣａｂｌｅ（Ｒ）  ＣａｂｌｅＣａｒｄ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＯＣ−ＳＰ−ＣＣ−ＩＦ−Ｉ１５−０３１１２１）及び、この仕様書から参照されている仕様書で定義されている。
【００１５】
ＴＳデコーダ２３０５はＣＰＵ２３１４に指示に基づき、ＣａｂｌｅＣａｒｄ（Ｒ）がデスクランブルしたＭＰＥＧ２トランスポートストリームから音声パケットを抜き出し、オーディオデコーダ２３０６に引渡す。オーディオデコーダ２３０６は受け取った音声パケットをデジタルアナログ変換し、スピーカ２３０７を用いて再生する。また、ＴＳデコーダ２３０５は同時に、映像パケットを抜き出し、ビデオデコーダ２３０８に引き渡す。ビデオデコーダ２３０８は受け取った映像パケットをデジタルアナログ変換し、ディスプレイ２３０９を用いて再生する。
【００１６】
図２３を参照して、端末２３００がヘッドエンド１９０１と通信及び、ヘッドエンド１９０１からチャンネル情報を獲得する仕組みを説明する。
【００１７】
ＱＰＳＫ復調部２３０２は、ＣＰＵ２３１４の指示を受け、ヘッドエンド１９０１からＯＯＢを用いてＱＰＳＫ変調され送信されてきた信号を復調し、ＣａｂｌｅＣａｒｄ（Ｒ）２３０４に引き渡す。
【００１８】
ＣａｂｌｅＣａｒｄ（Ｒ）２３０４は、受け取った信号をＯｐｅｎＣａｂｌｅ（Ｒ）  ＣａｂｌｅＣａｒｄ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＯＣ−ＳＰ−ＣＣ−ＩＦ−Ｉ１５−０３１１２１）に従い、適切なフォーマットのデータに変換し、ＣＰＵ２３１４に引き渡す。ここで、適切なデータとは、ＭＰＥＧセクションデータとＩＰデータの２種類が規定されている。ＭＰＥＧセクションデータは、主として、ヘッドエンド１９０１が端末２３００に、Ｉｎ−ｂａｎｄで送信しているチャンネル情報（周波数とチャンネル名の関係等）を通知するために用いられる一方向通信に用いられる。ＩＰデータは、ヘッドエンド１９０１と端末２３００が双方向通信を行うために用いられる。ＱＰＳＫ復調部２３０２を通して得られるＩＰデータは、ヘッドエンド１９０１から端末２３００方向へのデータである。一方、端末２３００から、ヘッドエンド１９０１にＩＰデータを行う場合は、ＣＰＵ２３１４は、送信するＩＰデータをＣａｂｌｅＣａｒｄ（Ｒ）２３０４に引き渡す。ＣａｂｌｅＣａｒｄ（Ｒ）２３０４は、受け取ったＩＰデータをスクランブルする等して、適切なデータに変換し、ＱＰＳＫ変調部２３０３に引き渡す。ＱＰＳＫ変調部２３０３は、受け取ったデータを変調しヘッドエンド１９０１に引き渡す。
【００１９】
ここで、ＣａｂｌｅＣａｒｄ（Ｒ）とヘッドエンド１９０１間は、独自の通信方式やスクランブル・デスクランブル方式を使用することができ、ヘッドエンドメーカーがこの両方を提供する。端末２３００とＣａｂｌｅＣａｒｄ（Ｒ）間のインタ―フェースは前述のとおり標準仕様が策定されており、ＣａｂｌｅＣａｒｄ（Ｒ）を介する事で、端末２３００は異なる伝送方式を採用している複数種類のヘッドエンド１９０１と接続することができる。
【００２０】
上記、映像・音声の再生やヘッドエンド１９０１との通信の制御はＣＰＵ２３１４が行っている。この制御は、ＣＰＵ２３１４が２次記憶部２３１０及び１次記憶部２３１１に格納されている内蔵プログラム及びアプリケーションを動作させることで実現している。図２５は、内蔵プログラム及びアプリケーションの構成を示すブロック図である。ＯＳ２５０１は、ＣＰＵ２３１４によって最初に起動される内蔵プログラムであり、２次記憶部２３１０に格納されている。ＯＳ２５０１は、ＣＰＵ２３１４が動作させる内蔵プログラム及びアプリケーションの実行を制御する基本ソフトウエアである。ザッパー２５０２は、ＯＳ２５０１によって起動され、入力部２３１３からユーザーの入力を受け付け、チャンネル変更などを行う内蔵プログラムである。Ｊａｖａ（Ｒ）２５０３は、ダウンロードされたアプリケーション２５０４を動作させるミドルウエアであり、ＯＳ２５０１によって起動される。具体的には、ＯｐｅｎＣａｂｌｅ（Ｒ）  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｌａｔｆｏｒｍ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）で規定される機能を実現する。これら機能はアプリケーション２５０４ができる。機能には、ディスプレイ２３０９上にグラフィックスを描画する機能や、端末２３００がヘッドエンド１９０１から受信したチャンネル情報を受け取る機能、ヘッドエンド１９０１との双方向通信を行う機能などが含まれる。
【００２１】
アプリケーション２５０４は、Ｊａｖａ（Ｒ）２５０３によってダウンロードされ１次記憶部２３１１に格納される。ダウンロードは、ヘッドエンド１９０１からＩｎ−ｂａｎｄを使って送信される信号の中から抜き出すことによって実現され、詳細な仕様については、ＯｐｅｎＣａｂｌｅ（Ｒ）  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｌａｔｆｏｒｍ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）で規定されている。
【００２２】
上記に記述したデジタルケーブルシステムにおいて、アプリケーション２５０４を開発するには、図１９に示されるケーブルテレビシステム装置を全て用意して、そのシステムの中で動作を確認する必要がある。とくに、アプリケーションがヘッドエンド１９０１からチャンネル情報取得や、ヘッドエンド１９０１と双方向通信を行う場合、これらデータは、ＣａｂｌｅＣａｒｄ（Ｒ）２３０４を通して行われるため、ヘッドエンド１９０１とＣａｂｌｅＣａｒｄ（Ｒ）２３０４を使用することが必須である。
【００２３】
一方、特開２００３−６９５２４号公報では、多チャンネルの地上波デジタル放送波を擬似的に生成することによって、安価でかつ実際の運用に近い形のテスト実行環境を構築する技術を示している。一般に、多チャンネルの地上デジタルは放送波を擬似的に生成するためには、３つの方法がある。（１）地上デジタル放送変調器を複数用意する。（２）１台の地上デジタル放送変調器の出力を複数の周波数コンバータによってそれぞれ設定チャンネルの周波数に変換して出力する。（３）実際に東京パイロット実験協議会が、発射している地上デジタル放送を受信し、複数の周波数コンバータで複数の周波数に変換して出力する。
【００２４】
方法（１）は、最も理想的であるが、実際の放送用変調器を複数代使用するので非常に高価である。方法（２）は、１台の地上デジタル放送変調器の出力を複数の周波数コンバータによって周波数変換するので、出力信号は、同期した同一のスペクトルの信号になってしまい、実際の電波発射状況と異なってしまい、実際の状況に即した試験ができない。方法(３)は、空中に発射された電波を受信するので、場所によって安定度やＣ／Ｎ比（Ｃａｒｒｉｅｒ  ｔｏ  Ｎｏｉｓｅ  ｒａｔｉｏ）が異なる等の問題がある。特開２００３−６９５２４号公報は、デジタル放送の仕様に準拠したＯＦＤＭ信号を発生し、ＩＦ周波数の信号に変換して出力する複数のＯＦＤＭ信号発生部と、前記各ＯＦＤＭ信号発生部から出力されるＩＦ周波数の信号をそれぞれ設定チャンネルの周波数に変換して出力する複数のＲＦコンバータと、前記ＲＦコンバータから出力される多チャンネルのＯＦＤＭ信号を混合して１つの出力端子より出力するＲＦ混合器とを具備することにより解決している。
【００２５】
また、特開平７−２００４３４号公報は、ＴＣＰ／ＩＰ及びＯＳＩという異なる通信プロトコル上に構築されたアプリケーションを、ＯＳＩプロトコル上で動作させる技術を開示している。ＯＳＩプロトコル上で、ＴＣＰ／ＩＰを擬似的に実現するライブラリを用意することにより、ＯＳＩプロトコル環境上でＴＣＰ／ＩＰ環境を擬似的に実現し、ＴＣＰ／ＩＰを使用するアプリケーションを動作させることができる。この特許の概要を、図２６を用いて説明する。図２６（１）は従来のＴＣＰ／ＩＰライブラリを用いるアプリケーションの例をあらわしている。図２６（１）において、２６０１はＴＣＰ／ＩＰライブラリを利用するアプリケーション、２６０２はソケット、２６０３はＴＣＰ／ＩＰライブラリを示す。ＴＣＰ／ＩＰを用いた通信はソケットを用いて実現される。したがって、アプリケーション２６０１は、ソケット２６０２をもちいる。ソケット２６０２はＴＣＰ／ＩＰライブラリ２６０３を用いてネットワーク通信を行う。（２）はこの特許の概要である。２６０４はＯＳＩライブラリである。他は（１）で説明したものと同じなので、省略する。この特許では、従来、ソケット内で、ＴＣＰ／ＩＰのライブラリを利用していた部分をＯＳＩライブラリを利用するようにマッピングを変換することによって実現する。その結果、アプリケーションは、ＯＳＩライブラリを意識せずに、また、ＯＳＩライブラリ用に書き換えることなくネットワーク通信が行える。
【００２６】
この技術では、本来実行環境がサポートしていないプロトコルを使用するアプリケーションを、実行可能としている。
【特許文献１】特開２００３−６９５２４号公報
【特許文献２】特開平７−２００４３４号公報
【発明の開示】
【発明が解決しようとする課題】
【００２７】
しかしながら、従来の技術においては、デジタルケーブルシステムで動作するアプリケーションを開発する際、ヘッドエンド及びＣａｂｌｅＣａｒｄを必要とするため、実運用に近い設備を用意する必要がある。ヘッドエンドには複数の端末との接続を保証するための機器等も含まれており非常に高価な上、この環境の構築に多大な労力が必要である。特開２００３−６９５２４号公報に示されるような、実システム環境を擬似的に再現する試みが必要である。
【００２８】
本発明は、ヘッドエンド及びＣａｂｌｅＣａｒｄ（Ｒ）の擬似環境を安価でかつ少ない労力で実現することを可能にする擬似ヘッドエンドおよびＡＤＫカードを提供することを目的とする。この環境を用いることで、アプリケーション開発者は、安価でかつ少ない労力でアプリケーション開発環境を構築し、アプリケーションを開発することができる。
【課題を解決するための手段】
【００２９】
前記従来の課題を解決するために、ケーブルテレビシステムにおけるヘッドエンドからＯＯＢを介してデータを送受信できるケーブルテレビ受信端末において、アプリケーションを実行する実行手段と、前記ヘッドエンドがＯＯＢを介して送信する第１のデータ形式と異なる第２のデータ形式を出力するＯＯＢサーバから出力されたデータを受信する第１受信手段と、前記第１受信手段が受信した前記第２のデータ形式のデータを、前記第１のデータ形式に変換する変換手段と、前記変換手段によって変換されたデータを前記アプリケーションに提供するライブラリとを備えることとしている。
【発明の効果】
【００３０】
本発明によれば、ケーブルテレビシステムにおけるヘッドエンドからＯＯＢを介してデータを送受信できるケーブルテレビ受信端末において、アプリケーションを実行する実行手段と、前記ヘッドエンドがＯＯＢを介して送信する第１のデータ形式と異なる第２のデータ形式を出力するＯＯＢサーバから出力されたデータを受信する第１受信手段と、前記第１受信手段が受信した前記第２のデータ形式のデータを、前記第１のデータ形式に変換する変換手段と、前記変換手段によって変換されたデータを前記アプリケーションに提供するライブラリとを備えることにより、ケーブルテレビ受信端末は、ヘッドエンドをエミュレートしたＯＯＢサーバから擬似的に送られてきたデータを受け取り変換することで、ケーブルテレビ受信端末上で動作するアプリケーションに、ヘッドエンドから送られてきたデータと同様のデータを提供することができる。
【００３１】
また、前記ケーブルテレビ受信端末は、更に、前記ヘッドエンドが前記ＯＯＢを介して送信したデータを受信する第２受信手段と、前記第１受信手段と前記第２受信手段を切り替えて前記ライブラリと接続する切り替え手段とを備えることにより、ケーブルテレビ受信端末はＯＯＢサーバと実放送におけるヘッドエンドの両方に接続可能とすることができる。
【００３２】
また、前記ケーブルテレビ受信端末は、更に、前記第１受信手段が前記ケーブルテレビ受信端末とは分離可能な形状とし、前記ケーブルテレビ受信端末は、前記第１受信手段を接続する接続手段とを備えることにより、ケーブルテレビ受信端末がＣａｂｌｅＣａｒｄ（Ｒ）挿入用スロットあるいは類似のスロットを有している際に、そのスロットに前記第１受信手段を差し込むことで、ヘッドエンドをエミュレートしたＯＯＢサーバから擬似的に送られてきたデータを受け取り変換することで、ケーブルテレビ受信端末上で動作するアプリケーションに、ヘッドエンドから送られてきたデータと同様のデータを提供することができる。これは、大量生産されるケーブルテレビ受信端末の機能を容易に拡張することを実現する。
【００３３】
また、前記ケーブルテレビ受信端末は、更に、前記第１のデータ形式はＭＰＥＧセクションデータであり、前記第２のデータ形式はＩＰデータであり、前記変換手段は、前記ＩＰデータの受信を行い、前記ＩＰデータから前記ＭＰＥＧセクションデータに変換することを特徴とすることにより、本来はヘッドエンドが送信しているＭＰＥＧセクションデータを簡易な方法で受信することができる。
【００３４】
また、前記ケーブルテレビ受信端末は、更に、前記第１のデータ形式はＭＰＥＧセクションデータまたは第１のＩＰデータであり、前記第２のデータ形式は第２のＩＰデータであり、更に、前記第２のＩＰデータには変換前のデータの形式を識別するデータ形式識別子を含み、前記変換手段は、前記第２のＩＰデータの受信を行い、前記データ形式識別子に基づいて、前記第２のＩＰデータから前記前記ＭＰＥＧセクションデータまたは前記第１のＩＰデータに変換することにより、本来はヘッドエンドが送信しているＭＰＥＧセクションデータ及びＩＰデータを簡易な方法で受信することができる。
【００３５】
また、前記ケーブルテレビ受信端末は、更に、前記ＯＯＢサーバとの接続を確立する初期化手段を備えることにより、特定のＯＯＢサーバと接続することができる。これは複数のＯＯＢサーバ及びケーブルテレビ受信端末がネットワークに接続している環境下で、所望のＯＯＢサーバとのデータ送受信を可能にする。
【００３６】
また、前記ケーブルテレビ受信端末は、更に、前記第２のデータ形式に基づいて第２の形式のデータを生成する送信データ生成手段と、前記送信データ生成手段が生成した第２のデータ形式のデータを前記ＯＯＢサーバに送信する送信手段を備えることにより、本来はヘッドエンドに送るべきＩＰデータをＯＯＢサーバに送信することができる。
【００３７】
更に、ケーブルテレビシステムにおけるヘッドエンドからＯＯＢを介してデータを送受信できるケーブルテレビ受信端末に対して、前記ヘッドエンドがＯＯＢを介して送信する第１のデータ形式に変換可能な第２のデータ形式を生成するデータ生成手段と、前記データ生成手段が生成したデータを前記ケーブルテレビ受信端末に送信する送信手段を備えることにより、実放送環境におけるヘッドエンドを使用することなく簡易な方法で擬似的により簡便なヘッドエンドが送信すべきデータをケーブルテレビ受信端末に送信することができる。具体的には、実放送環境では、変調器を必要とするが、ＴＣＰ／ＩＰネットワークを代用することで変調器及びそれに伴なう設備を不用とすることから、安価で容易に実放送環境をエミュレートできる。
【００３８】
また、前記ＯＯＢサーバは、更に、前記ケーブルテレビ受信端末との接続を確立する初期化手段を備えることにより、特定のケーブルテレビ受信端末と接続することができる。これは複数のＯＯＢサーバ及びケーブルテレビ受信端末がネットワークに接続している環境下で、所望のケーブルテレビ受信端末へのデータ送信を可能にする。
【００３９】
また、前記ＯＯＢサーバは、更に、前記第１のデータ形式を前記第２のデータ形式に変換する変換手段を備えることにより、実放送環境でヘッドエンドに与えるデータをそのまま擬似的に、より簡便な設備でケーブルテレビ受信端末へ送信することを可能にする。
【００４０】
また、前記ＯＯＢサーバは、更に、前記第１のデータ形式はＭＰＥＧセクションデータであり、前記第２のデータ形式はＩＰデータであり、前記変換手段は、前記ＭＰＥＧセクションデータを受け取り、前記ＭＰＥＧセクションデータから前記ＩＰデータに変換することにより、実放送環境でヘッドエンドに与えるＭＰＥＧセクションデータをそのまま擬似的に、より簡便な設備でケーブルテレビ受信端末へ送信することを可能にする。
【００４１】
また、前記ＯＯＢサーバは、更に、前記第１のデータ形式は第１のＩＰデータであり、前記第２のデータ形式は第２のＩＰデータであり、前記変換手段は、前記第１のＩＰデータを受け取り、前記第１のＩＰデータから前記第２のＩＰデータに変換することにより、実放送環境でヘッドエンドに与えるＩＰデータをそのまま擬似的に、より簡便な設備でケーブルテレビ受信端末へ送信することを可能にする。
【００４２】
また、前記ＯＯＢサーバは、更に、前記第２のデータ形式のデータを受信する受信手段と、前記受信手段が受信したデータを前記第１のデータ形式に変換する逆変換手段を備えることにより、ケーブルテレビ受信端末から送信されたデータを受信することができる。
【００４３】
また、コンピュータ読み取り可能な記録媒体であって、ケーブルテレビシステムにおけるヘッドエンドからＯＯＢを介してデータを送受信できるケーブルテレビ受信端末において、アプリケーションを実行する実行手段と、前記ヘッドエンドがＯＯＢを介して送信する第１のデータ形式と異なる第２のデータ形式を出力するＯＯＢサーバから出力されたデータを受信する第１受信手段と、前記第１受信手段が受信した前記第２のデータ形式のデータを、前記第１のデータ形式に変換する変換手段と、前記変換手段によって変換されたデータを前記アプリケーションに提供するライブラリの各機能を発揮するプログラムを記録したコンピュータ読み取り可能な記録媒体とすることにより可搬性を高めることができる。
【００４４】
また、コンピュータ読み取り可能な記録媒体であって、ケーブルテレビシステムにおけるヘッドエンドからＯＯＢを介してデータを送受信できるケーブルテレビ受信端末に対して、前記ヘッドエンドがＯＯＢを介して送信する第１のデータ形式に変換可能な第２のデータ形式を生成するデータ生成手段と、前記データ生成手段が生成したデータを前記ケーブルテレビ受信端末に送信する送信手段の各機能を発揮するプログラムを記録したコンピュータ読み取り可能な記録媒体とすることにより、可搬性を高めることができる。
【発明を実施するための最良の形態】
【００４５】
（実施の形態１）
本発明に係るアプリケーション開発環境の形態を、図面を参照しながら説明する。図１は、アプリケーション開発環境を構成する装置を示した模式図である。図１を参照して、アプリケーション開発環境は、ＳＴＢ(端末装置)１０１、テレビ１０２、ＡＤＫカード１０３、ＯＯＢサーバ１０４、シリアル端末１０５、ＭＰＥＧサーバ１０６で構成される。
【００４６】
ＳＴＢはＳｅｔ  Ｔｏｐ  Ｂｏｘの略であり、テレビ受信機チューナである。ＳＴＢ自体の内部ハードウエア構成は、公知の技術であるので詳細は省略し、本発明に関する部位のみ概略を示す。本ＳＴＢは、米国デジタルケーブルＴＶ標準規格ＯｐｅｎＣａｂｌｅ（Ｒ）  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｌａｔｆｏｒｍ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）準拠のＳＴＢとする。本規格の特徴は、ＳＴＢが図中１０１ａで示されるＣａｂｌｅＣａｒｄ（Ｒ）挿入スロットを備えていることである。ＣａｂｌｅＣａｒｄ（Ｒ）は、ＰＣＭＣＩＡインターフェース準拠のカードであり、ＳＴＢが受信したスクランブルされた映像をデスクランブルする等の機能を有する公知の技術である。ＣａｂｌｅＣａｒｄ（Ｒ）とＳＴＢ本体のインターフェースは、ＯｐｅｎＣａｂｌｅ（Ｒ）  ＣａｂｌｅＣａｒｄ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＯＣ−ＳＰ−ＣＣ−ＩＦ−Ｉ１５−０３１１２１）及び、この仕様書から参照されている仕様書で定義されている。なお、ＳＴＢ１０１上で動作するソフトウエアに関する詳細は後述する。
【００４７】
テレビ１０２は、具体的には、ブラウン管や液晶で構成され、ＳＴＢ１０１から伝送された映像を表示する。
【００４８】
ＡＤＫカード１０３は、ＳＴＢ１０１にＥｔｈｅｒポート１０３ａ、シリアルポート１０３ｂ、ＬＶＤＳポート１０３ｃの機能拡張を行うためのカードである。ここで、ＬＶＤＳとは、Ｌｏｗ  Ｖｏｌｔａｇｅ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｓｉｇｎａｌｉｎｇの略であり、高速かつ低消費電力で（１対１で）データを転送する公知の方式である。また、ＡＤＫは、Ａｐｐｌｉｃａｔｉｏｎ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｋｉｔの略である。アプリケーション開発環境においては、ＣａｂｌｅＣａｒｄ（Ｒ）挿入スロット１０１ａに、ＣａｂｌｅＣａｒｄ（Ｒ）の代わりに同じインターフェースを持つＡＤＫカード１０３を挿入し、ＳＴＢの機能拡張を行う。図２は、ＡＤＫカードの外観の一例である。２００はＡＤＫカードを表し、２０１はＬＶＤＳポート、２０２はシリアルポート、２０３はＥｔｈｅｒポート、２０４はＣａｂｌｅＣａｒｄ（Ｒ）挿入スロットに挿入するＰＣＭＣＩＡインターフェースコネクタである。
【００４９】
ＡＤＫカード１０３上のＥｔｈｅｒポート１０３ａ、シリアルポート１０３ｂ、ＬＶＤＳポート１０３ｃは、複数のピンで構成され、それぞれのピンには仕様で決められた信号が流れる。各ピンが受け取った信号は、対応するＰＣＭＣＩＡカードインターフェースのピンに流れ、ＳＴＢ１０１へと信号を伝達する。また、逆にＳＴＢ１０１がＡＤＫカード１０３上のＥｔｈｅｒポート１０３ａ、シリアルポート１０３ｂを使用して外部に信号を伝達する場合は、ＳＴＢ１０１は、Ｅｔｈｅｒポート１０３ａ、シリアルポート１０３ｂの各ピンに対応するＰＣＭＣＩＡカードインターフェースのピンに必要な信号を流す。ここで、Ｅｔｈｅｒポート１０３ａ、シリアルポート１０３ｂ、ＬＶＤＳポート１０３ｃのピンとＰＣＭＣＩＡカードインターフェースのピンの対応は実装依存であり、任意の組み合わせが可能である。但し、３つのポートの信号が混合しないようにピンのマッピングを行う、または、同じピンを共有する場合は、時間による排他制御などを行う等して、信号が混合してしまわないように実装される。
【００５０】
ＯＯＢサーバ１０４は、デジタルケーブルＴＶシステムにおけるヘッドエンド（局側システム）のＯＯＢ通信をエミュレートするためのサーバであり、ＴＣＰ／ＩＰ通信機能をサポートするネットワークインタ―フェースを備えたパーソナルコンピュータ等で構成される。ＯＯＢサーバ１０４上で動作するソフトウエアの詳細は後述する。
【００５１】
シリアル端末１０５は、シリアル入出力インターフェース（ＲＳ−２３２Ｃ形式）を備えたパーソナルコンピュータ等で構成される。シリアル端末１０５は、ＳＴＢ１０１上で動作するアプリケーションが出力するデバッグ用の文字列情報をシリアル入出力インターフェースを通して受け取り、シリアル端末１０５が備えるディスプレイなどに表示する。シリアル端末１０５を用いることで、ＳＴＢ１０１上で動作するアプリケーションのデバッグを行うことができる。
【００５２】
ＭＰＥＧサーバ１０６は、デジタルケーブルＴＶシステムにおけるヘッドエンドのＩｎ−ｂａｎｄによる送信をエミュレートする。具体的には与えられたＭＰＥＧ２トランスポートストリームをＬＶＤＳ形式に従って送信する。ＳＴＢ１０１は、ＭＰＥＧサーバ１０６が出力する信号をＡＤＫカード１０３を通して受け取ることにより、通常、チューナで復調した信号と同等の信号を受け取ることができる。
【００５３】
次に本発明の中心となるＳＴＢ１０１とＯＯＢサーバ１０４上で動作するソフトウエアについて説明する。
【００５４】
図３は、ＳＴＢ１０１上で動作するソフトウエアの構成を示すブロック図である。図３を参照してソフトウエアは、ＯＳ３０１、ザッパー３０２、Ｊａｖａ（Ｒ）３０３、アプリケーション３０４で構成される。
【００５５】
ＯＳ３０１は、ＳＴＢ１０１起動時、最初に起動される内蔵プログラムでり、他の内蔵プログラム及びアプリケーションの実行を制御する基本ソフトウエアである。ＬｉｎｕｘなどがＯＳの一例である。ＯＳ３０１は、他のプログラム・アプリケーションの実行を制御するカーネル３０１ａと、内蔵プログラム及びアプリケーションに各種機能を提供するライブラリ３０１ｂから構成される。
【００５６】
ザッパー３０２は、ＯＳ３０１によって起動され、ユーザーの指示に従いチャンネル変更などを行う内蔵プログラムであり、公知の技術である。
【００５７】
Ｊａｖａ（Ｒ）３０３は、アプリケーション３０４を動作させるミドルウエアであり、ＯＳ３０１によって起動される公知の技術である。具体的には、ＯｐｅｎＣａｂｌｅ（Ｒ）  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｌａｔｆｏｒｍ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）で規定される機能を実現する。これら機能はアプリケーション３０４が利用できる。機能には、グラフィックスを描画する機能や、ＳＴＢ１０１がヘッドエンドから受信したチャンネル情報を受け取る機能、ヘッドエンドとの双方向通信を行う機能などが含まれる。本実施の形態におけるアプリケーション開発環境においては、アプリケーション３０４は、ヘッドエンドの代わりにＡＤＫカード１０３を通してＯＯＢサーバ１０４から、チャンネル情報を受け取り、ＯＯＢサーバ１０４と双方向通信を行うことになる。
【００５８】
アプリケーション３０４は、Ｊａｖａ（Ｒ）３０３によってダウンロードされＳＴＢ１０１に格納される。ダウンロードは、ヘッドエンドから送信される信号の中から抜き出すことによって実現され、詳細な仕様については、ＯｐｅｎＣａｂｌｅ（Ｒ）  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｌａｔｆｏｒｍ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）で規定されている。本実施の形態におけるアプリケーション開発環境においては、ＳＴＢ１０１は、ヘッドエンドの代わりにＭＰＥＧサーバ１０６から送出されＭＰＥＧ２トランスポートストリームの中からアプリケーション３０４をダウンロードする。
【００５９】
本実施の形態におけるソフト構成の中で、ザッパー３０２、Ｊａｖａ（Ｒ）３０３は、実放送環境で使用されるものとまったく同じであり、アプリケーション開発環境を構成するための変更は施されない。一方、ＯＳ３０１のライブラリ３０１ｂは、アプリケーション開発環境を構成するために、実放送環境の状態から変更が施されている。
【００６０】
図４は、ライブラリ３０１ｂの中でアプリケーション開発環境を構成するために追加されたプログラム構成要素及び関連するプログラム構成要素の関係を表す模式図である。
【００６１】
４０１は、カードライブラリであり、実放送環境において、ＣａｂｌｅＣａｒｄ（Ｒ）がＣａｂｌｅＣａｒｄ（Ｒ）挿入スロットに挿入されているとき、ＣａｂｌｅＣａｒｄ（Ｒ）の制御及びデータのやり取りを行うためのライブラリである。カードライブラリ４０１の主要な機能は、実放送環境においては、ＣａｂｌｅＣａｒｄを通してヘッドエンドとのデータの送受信を行うことである。カードライブラリ４０１の動作は、ＯｐｅｎＣａｂｌｅ（Ｒ）  ＣａｂｌｅＣａｒｄ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＯＣ−ＳＰ−ＣＣ−ＩＦ−Ｉ１５−０３１１２１）及び、この仕様書から参照されている仕様書で定義されている端末側の動作を実現している。
【００６２】
４０２は、エミュレーションライブラリであり、アプリケーション開発環境において、ＡＤＫカード１０３がＣａｂｌｅＣａｒｄ（Ｒ）挿入スロットに挿入されているとき、ＡＤＫカード１０３を通して送られてきたＯＯＢサーバからのデータの受け渡しを行うためのライブラリである。図５にエミュレーションライブラリの構成を示す。図５を参照して、５０１はＩＰデータ受信部、５０２はセクションデータ受信部、５０３はＩＰデータ送信部、５０４はパケットデコーダ、５０５は、パケットエンコーダ、５０６はＴＣＰ／ＩＰライブラリ、５０７は初期化部を表す。
【００６３】
ＩＰデータ受信部５０１は、パケットデコーダ５０４からＩＰパケットを受け取り上位層のソフトウエアにＩＰデータを引き渡すインターフェースである。ここで、上位のソフトウエアは図４を参照してソケットインターフェース４０５である。
【００６４】
セクションデータ受信部５０２は、パケットデコーダ５０４からＭＰＥＧセクションデータを受け取り上位層のソフトウエアにＭＰＥＧセクションデータを引き渡すインターフェースである。ここで、上位のソフトウエアは図４を参照してＯＯＢ  ＳＩライブラリ４０４である。
【００６５】
パケットデコーダ５０４は、ＴＣＰ／ＩＰライブラリ５０６から受け取ったＩＰパケットのペイロードから、ＩＰデータあるいはＭＰＥＧセクションデータを抽出し、ＩＰデータ受信部５０１あるいはセクションデータ受信部５０２に引き渡す。図６は、エミュレーションライブラリ４０２が送受信するＩＰパケットデータの形式を示す。図６（１）は、ＩＰパケットと、ＯＯＢパケットの関係を示す。ＩＰパケット６１０は、ヘッダー６１１とペイロード６１２から構成される公知のフォーマットである。よって、ヘッダー６１１の詳細について説明を省略する。ＯＯＢパケット６２０は、ＩＰパケット６１０のペイロードに埋め込まれたデータであり、パケットヘッダー６２１と、ペイロード６２２で構成される。図６（２）はパケットヘッダー６２１の一構成例を表す表である。列６３１は構成要素名、列６３２は構成要素を格納するデータの長さ、列６３３は、構成要素の意味を記述している。行６４１は、構成要素名「ｆｌａｇ」の構成要素であり、１ビットが割り当てられている。ｆｌａｇはペイロード６２２に含まれるデータの種別を表現する。具体的には、値が「０」の場合はペイロードにＩＰデータが格納されていることを表し、値が「１」の場合はペイロードにＭＰＥＧセクションデータが格納されていることを表す。行６４２は、構成要素名「ｌｅｎｇｔｈ」の構成要素であり１５ビットが割り当てられている、ペイロードに格納されているデータの長さを格納する。なお、パケットヘッダー６２１の構成は、他の形態も可能であるが、少なくともＯＯＢパケット６２０に格納されているデータがＩＰデータかＭＰＥＧセクションデータかを識別するフラグは必要である。
【００６６】
図６を参照して、パケットデコーダ５０４の動作を説明する。図７は、パケットデコーダ５０４の動作を表すフローチャートである。まず、ＴＣＰ／ＩＰライブラリ５０６からＩＰパケットを受け取る（ステップＳ７０１）。受け取ったＩＰパケット６１０のペイロード６１２から、ＯＯＢデータ６２０を抽出する（ステップＳ７０２）。ＯＯＢデータ６２０のパケットヘッダー６２１中に含まれるペイロードの情報識別子ｆｌａｇを参照し（ステップＳ７０３）、ＩＰデータの時はペイロード６２２の情報をＩＰデータ受信部５０１に引き渡す（ステップＳ７０４）。また、ＭＰＥＧセクションデータの時はペイロード６２２の情報をセクションデータ受信部５０２に引き渡す（ステップＳ７０５）。
【００６７】
パケットエンコーダ５０５は、ＩＰデータ送信部５０３から受け取ったＩＰデータを用いてＩＰパケットを作成し、ＴＣＰ／ＩＰライブラリ５０６に引き渡すことでＩＰデータをＯＯＢサーバ１０４に送信する。
【００６８】
パケットエンコーダ５０５が生成するＩＰパケットの形式はパケットデコーダ５０４が取り扱うＩＰパケットの形式と同じであり、その例は図６を用いて説明した通りである。図６を参照して、パケットエンコーダＩＰパケットを生成する動作を説明する。図８は、パケットエンコーダ５０５がＩＰパケットを生成する動作を表すフローチャートである。図８を参照して、パケットエンコーダ５０５はＩＰデータをＩＰデータ送信部５０３から受け取る（ステップＳ８０１）。受け取ったＩＰデータをペイロード６２２に埋め込み（ステップＳ８０２）、ペイロード６２２のデータ種別がＩＰデータであることを示すパケットヘッダー６２１を作成してＯＯＢパケット６２０を作成する（ステップＳ８０３）。次にＯＯＢパケット６２０をペイロード６１０に格納し（ステップ８０４）、必要なパケットヘッダー６１１を生成してＩＰパケットデータ６１０を作成する（ステップＳ８０５）。最後に作成したＩＰパケット６１０をＴＣＰ／ＩＰライブラリ５０６に引渡しＩＰデータを送信する（ステップＳ８０６）。
【００６９】
ＴＣＰ／ＩＰライブラリ５０６は、ＯＯＢサーバ１０４から送信されたＩＰパケットをパケットデコーダ５０４に引渡し、パケットエンコーダ５０５から引き渡されたＩＰデータをＯＯＢサーバ１０４に送信する。また、初期化部５０７によって、ＯＯＢサーバ１０４との通信路を確立する。ＴＣＰ／ＩＰライブラリ５０６は、ＩＰデータのＴＣＰ／ＩＰを用いて行う。ＴＣＰ／ＩＰはＩＰデータを送受信するための公知の技術であるので、ここではＩＰデータの送受信に関する説明を省略する。
【００７０】
初期化部５０７は、ＴＣＰ／ＩＰライブラリ５０６を用いて、ＯＯＢサーバ１０４との通信路を確立する。初期化部５０７は、ＯＯＢサーバのＩＰアドレス及びポート番号を知っており、これら情報をＴＣＰ／ＩＰライブラリ５０６に与えて、ＯＯＢサーバとのＩＰデータの送受信の初期化処理を行う。
【００７１】
４０３は、スイッチャであり、カードライブラリ４０１及びエミュレーションライブラリ４０２に切り替えを行う。例えば、ＳＴＢ１０１にＣａｂｌｅＣａｒｄ（Ｒ）が挿入されている実放送環境では、スイッチャ４０３は、ソケットインターフェース４０５及びＯＯＢ  ＳＩライブラリ４０４を、カードライブラリ４０１と接続する。その結果、ＳＴＢ１０１とヘッドエンドとのデータのやり取りを実現する。また、ＳＴＢ１０１にＡＤＫカードが挿入されているアプリケーション開発環境では、スイッチャ４０３は、ソケットインターフェース４０５及びＯＯＢ  ＳＩライブラリ４０４を、エミューレーションライブラリ４０２と接続する。その結果、ＳＴＢ１０１とＯＯＢサーバ１０４とのデータのやり取りを実現する。
【００７２】
４０５は、ソケットインターフェースであり、カードライブラリ４０１を介してヘッドエンドと、あるいはエミュレーションライブラリ４０２を介してＯＯＢサーバ１０４とＴＣＰ／ＩＰ通信を行うためのインターフェースである。図３を参照して、ソケットインターフェース４０５は、Ｊａｖａ（Ｒ）３０３に対してＴＣＰ／ＩＰ通信機能を提供している。
【００７３】
４０４は、ＯＯＢ  ＳＩライブラリであり、カードライブラリ４０１を介してヘッドエンドから送信された、あるいはエミュレーションライブラリ４０２を介してＯＯＢサーバから送信されたＭＰＥＧセクションデータを受け取る。受け取ったＭＰＥＧセクションデータからＯＯＢ  ＳＩと呼ばれるチャンネル情報を組み立てる。ここで、チャンネル情報とは、各チャンネルのチャンネル番号やチャンネル名、周波数などの情報であり、ＳＴＢが選局を行うにために必要な情報である。図３を参照して、ＯＯＢ  ＳＩライブラリ４０４は、Ｊａｖａ（Ｒ）３０３に対してＯＯＢ  ＳＩ情報を提供する。ＯＯＢ  ＳＩ情報を提供するＡＰＩ及びデータフォーマット等は、いかなる形式であっても本発明は実施可能である。
【００７４】
次に、ＯＯＢサーバ１０４上で動作するソフトウエアについて説明する。図９は、ＯＯＢサーバ１０４上で動作するＯＯＢサーバソフトウエアの構成を示す模式図である。図９において、ＯＯＢサーバ１０４上で動作するソフトウエアはＯＳ９１０、ＯＯＢサーバライブラリ９２０、サーバーアプリケーション９３０で構成される。
【００７５】
ＯＳ９１０はＯＯＢサーバ上で動作するオペレーティングシステムであり、ＯＯＢサーバ上でアプリケーションや内蔵プログラムを動作させる基本ソフトウエアである。ＬｉｎｕｘやＭｉｃｒｏＳｏｆｔ  Ｗｉｎｄｏｗｓ（Ｒ）などがその一例である。ＯＳ９１０は、内部にＴＣＰ／ＩＰライブラリ９１１を備える。ＴＣＰ／ＩＰライブラリ９１１は、ＯＳ９１０上で動作する内蔵プログラムやアプリケーションにＴＣＰ／ＩＰによる通信機能を提供する。
【００７６】
ＯＯＢサーバライブラリ９２０は、ＩＰデータ受信部９２１、ＩＰデータ送信部９２２、ＯＯＢ  ＳＩ送信部９２３、パケットデコーダ９２４、パケットエンコーダ９２５、初期化部９２６で構成され、ＳＴＢ１０１へのＭＰＥＧセクションデータの送信とＳＴＢ１０１とのＩＰデータの送受信機能を実現する。
【００７７】
ＩＰデータ受信部９２１は、ＴＣＰ／ＩＰライブラリ９１１が受信したＩＰデータを、パケットデコーダ９２４を介して受け取り、サーバーアプリケーション９３０に通知するためのインターフェースである。
【００７８】
ＩＰデータ送信部９２２は、サーバーアプリケーション９３０がＩＰデータをＳＴＢ１０１に送信するための機能を提供するインターフェースである。サーバーアプリケーション９３０から受け取ったＩＰデータを、パケットエンコーダ９２５を介してＴＣＰ／ＩＰライブラリ９１１に送る。
【００７９】
ＯＯＢ  ＳＩ送信部９２３は、サーバーアプリケーション９３０からの指示により、パケットエンコーダ９２５及びＴＣＰ／ＩＰライブラリ９１１を介してＳＴＢ１０１にＭＰＥＧセクションデータを送信する。具体的には、ＯＯＢ  ＳＩ送信部９２３は、ＭＰＥＧセクションデータそのものをサーバーアプリケーション９３０から受け取り、そのデータをパケットエンコーダ９２５に引き渡す。あるいは、ＯＯＢ  ＳＩデータを表現するＸＭＬ形式のテキストデータを受け取り、その内容を解析してＭＰＥＧセクションデータに変換し、パケットエンコーダ９２５に引き渡してもよい。
【００８０】
パケットデコーダ９２４は、ＴＣＰ／ＩＰライブラリ９１１からＩＰパケットを受け取り、ペイロードの中に埋め込まれたＩＰデータを抽出し、ＩＰデータ受信部９２１に引き渡す。ここで、パケットデコーダ９２４が取り扱うＩＰパケットの形式は前述の図６で示されるものである。図１０は、パケットデコーダ９２４の動作を表すフローチャートである。図６及び図１０を参照して、パケットデコーダ９２４は、ＩＰパケットをＴＣＰ／ＩＰライブラリ９１１から受け取る（ステップＳ１００１）。ペイロード６１２からＯＯＢパケット６２０を抽出する（ステップＳ１００２）。パケットヘッダー６２１のデータ種別がＩＰデータであることを確認する（ステップＳ１００３）。データ種別がＩＰデータであれば、ＯＯＢパケット６２０のペイロード６２２に格納されているＩＰデータを取り出し（ステップＳ１００４）、ＩＰデータ受信部９２１に引き渡す（ステップＳ１００５）。
【００８１】
パケットエンコーダ９２５は、ＩＰデータ送信部９２２とＯＯＢ  ＳＩ送信部９２３から受け取ったデータからＩＰパケットを生成し、ＴＣＰ／ＩＰライブラリ９１１を用いてＳＴＢ１０１に送信する。パケットデコーダ９２４同様、パケットエンコーダ９２５が生成するＩＰパケットの形式は前述の図６で示されるものである。
【００８２】
図１１は、パケットエンコーダ９２５がＩＰデータ送信部９２２からＩＰデータを受け取った時の動作を表すフローチャートである。図６と図１１を参照して、パケットエンコーダ９２５は、ＩＰデータ送信部９２２からＩＰデータを受け取る（ステップＳ１１０１）。次に受け取ったＩＰデータをペイロード６２２に格納する（ステップＳ１１０２）。データ種別がＩＰデータであることを示すパケットヘッダー６２１を生成し、ＯＯＢパケット６２０を生成する（ステップＳ１１０３）。ＯＯＢパケット６２０をペイロード６１２に格納する（ステップＳ１１０４）。次にＳＴＢ１０１に送信するために必要なパケットヘッダー６１１を生成し、ＩＰパケット６１０を生成する（ステップＳ１１０５）。最後にＴＣＰ／ＩＰライブラリ９１１を用いて生成したＩＰデータをＳＴＢ１０１に送信する（ステップＳ１１０６）。
【００８３】
図１２は、パケットエンコーダ９２５がＯＯＢ  ＳＩ送信部９２３からＭＰＥＧセクションデータを受け取った時の動作を表すフローチャートである。なお、図１１と同じ番号のステップは、図１１と同じ動作であるので説明は省略する。パケットエンコーダ９２５は、ＯＯＢ  ＳＩ送信部９２３からＭＰＥＧセクションデータを受け取る（ステップＳ１２０１）と、受け取ったＭＰＥＧセクションデータをペイロード６２２に格納する（ステップＳ１２０２）。データ種別がＭＰＥＧセクションデータであることを示すパケットヘッダー６２１を生成し、ＯＯＢパケット６２０を生成する（ステップＳ１２０３）。
【００８４】
初期化部９２６は、ＴＣＰ／ＩＰライブラリ９１１を用いて、ＳＴＢ１０１内のエミュレーションライブラリ４０２との通信路を確立する。初期化部９２６は、ＳＴＢ１０１のＩＰアドレス及びポート番号を知っており、これら情報をＴＣＰ／ＩＰライブラリ９１１に与えて、ＳＴＢ１０１内のエミュレーションライブラリ４０２とのＩＰデータの送受信の初期化処理を行う。
【００８５】
サーバーアプリケーション９３０は、実放送環境におけるヘッドエンドの役割を果たし、ＳＴＢ１０１内のエミュレーションライブラリ４０２へのチャンネル情報送信指示、データ送受信指示等を行う。また、エミュレーションライブラリ４０２に送信するＯＯＢデータを保持する。
【００８６】
図１３、図１４、図１５は、ＳＴＢ１０１のエミュレーションライブラリ４０２とＯＯＢサーバ１０４のＯＯＢサーバライブラリ９２０が協調して動作する一例を表すフローチャートである。２つのライブラリは、それぞれ異なる装置上で動作するので、同時に異なる動作を行うことが可能である。
【００８７】
まず、ＳＴＢ１０１が起動し、エミュレーションライブラリ４０２が起動される（ステップＳ１３０１）。同様にＯＯＢサーバ１０４も起動され、ＯＯＢサーバライブラリ９２０も起動される（ステップＳ１３０２）。２つの装置が起動されると、それぞれのライブラリの初期化部５０７及び初期化部９２７が２つの装置の通信路を確立するための初期化を行う（ステップＳ１３０３）。
【００８８】
ここで、ＯＯＢサーバライブラリ９２０がサーバーアプリケーション９３０からＭＰＥＧセクションデータを受け取ると（ステップＳ１３０４）、図１２で示された動作によりＩＰデータが生成されＳＴＢ１０１に送信される（ステップＳ１３０５）。エミュレーションライブラリ４０２は、このＩＰデータを受け取ると（ステップＳ１３０６）、図７で示された動作によりＭＰＥＧセクションデータをＩＰデータから抽出する（ステップＳ１３０７）。
【００８９】
また、ＯＯＢサーバライブラリ９２０がサーバーアプリケーション９３０からＩＰデータを受け取ると（ステップＳ１４０１）、図１１で示された動作によりＩＰデータが生成されＳＴＢ１０１に送信される（ステップＳ１４０２）。エミュレーションライブラリ４０２は、このＩＰデータを受け取ると（ステップＳ１４０３）、図７で示された動作によりＩＰデータを抽出する（ステップＳ１４０４）。
【００９０】
また、エミュレーションライブラリ４０２がＩＰデータを受け取ると（ステップＳ１５０１）、図８で示された動作によりＩＰデータが生成されＯＯＢサーバ１０４に送信される（ステップＳ１５０２）。ＯＯＢサーバライブラリ９２０は、このＩＰデータを受け取ると（ステップＳ１５０３）、図１０で示された動作によりＩＰデータを抽出し（ステップＳ１５０４）、サーバーアプリケーション９３０に引き渡す。
【００９１】
なお、図４のスイッチャ４０３は無くても実施可能である。この場合、ソフトウエアのコンパイル・リンク時に、必要となるカードライブラリ４０１またはエミュレーションライブラリ４０２のいずれか１つを直接リンクし、リンクしたものだけが動作する構成とすることも可能である。
【００９２】
（実施の形態２）
実施の形態１においては、ＳＴＢ１０１とＯＯＢサーバ１０４でやり取りされるＩＰデータは、更にＩＰデータのペイロードに格納するという方法を用いていた。実施の形態２では、ＳＴＢ１０１とＯＯＢサーバ１０４の通信路を２つ確保することで、ＩＰデータはそのまま送信する。
【００９３】
以下、実施の形態１と異なる部分についてのみ説明する。
【００９４】
図１６は、実施の形態２におけるＳＴＢ１０１のエミュレーションライブラリ４０２の構成を表すブロック図である。図中、実施の形態１の図５と同じ番号の構成要素は、図５の構成要素と同じなので説明は省略する。
【００９５】
ＴＣＰ／ＩＰライブラリ１６０１は、初期化部５０７によって確立された通信路で送られてきたＩＰデータのみをパケットデコーダ１６０２に引き渡す。更に、初期化部５０７以外からも、ＯＯＢサーバ１０４との通信路の確保を受け付ける。確立された通信路毎に、受け取ったＩＰデータを通信路の確立を要求したソフトウエアに配信する。ＳＴＢ１０１上のアプリケーション３０４がＯＯＢサーバ１０４とＴＣＰ／ＩＰの通信を行う場合は、Ｊａｖａ（Ｒ）３０３を通して直接ＴＣＰ／ＩＰライブラリ１６０１に通信路の確立を依頼する。
【００９６】
パケットデコーダ１６０２は、ＴＣＰ／ＩＰライブラリ１６０１から受け取ったＩＰパケットのペイロードから、ＭＰＥＧセクションデータを抽出し、セクションデータ受信部５０２に引き渡す。ここで、取り扱うＩＰデータの形式は前述の図６に示される形式とする。図１７は、パケットデコーダ１６０２の動作を表すフローチャートである。図中、図７と同じ番号のステップは、図７の動作と同じなので説明を省略する。異なるのは図７のステップＳ７０３と図１７のステップＳ１７０１である。図１７を参照して、パケットデコーダ１６０２は、パケットヘッダーのデータ種別を参照し、ＭＰＥＧセクションデータ以外の場合は、処理を終了する。
【００９７】
図１８は、実施の形態２におけるＯＯＢサーバ１０４上で動作するソフトウエアの構成を表すブロック図である。図中、実施の形態１の図９と同じ番号の構成要素は、図９の構成要素と同じなので説明は省略する。
【００９８】
ＴＣＰ／ＩＰライブラリ１８０１は、初期化部９２６以外からも、ＳＴＢ１０１との通信路の確保を受け付ける。ＴＣＰ／ＩＰライブラリ１８０１は、確立された通信路毎に、受け取ったＩＰデータを通信路の確立を要求したソフトウエアに配信する。
【００９９】
サーバーアプリケーション１８０２とサーバーアプリケーション９３０の違いは、ＳＴＢ１０１とＴＣＰ／ＩＰ通信を行う場合、サーバーアプリケーション１８０２は直接ＴＣＰ／ＩＰライブラリ１８０１に通信路の確立を依頼する。
【０１００】
なお、実施の形態２においては取り扱うＩＰデータの形式にペイロードの種別を含めなくても実施可能である。これはペイロードに格納されるデータがＭＰＥＧセクションデータのみだからである。この場合、パケットデコーダ１６０２の動作フローチャートを表す図１６において、ステップＳ１７０１の処理は省略される。また、パケットエンコーダ９２５の動作フローチャートを表す図１２において、ステップＳ１２０３の処理は、変更されたパケットヘッダー形式に併せたパケットヘッダーを生成する。
【０１０１】
上記実施の形態１、２を通して、ＡＤＫカード１０３上にＥｔｈｅｒポート１０３ａ、シリアルポート１０３ｂ、ＬＶＤＳポート１０３ｃが搭載されていると記述してきたが、ＳＴＢ１０１本体に搭載されていても実施可能である。この場合、ＳＴＢ１０１上のＴＣＰ／ＩＰライブラリは、ＳＴＢ１０１上のＥｔｈｅｒポートを制御する。
【０１０２】
また、上記実施の形態１、２を通して、ＯＯＢサーバ１０４とシリアル端末は１０５は、１つのパーソナルコンピュータで実現しても実施可能である。さらに、ＭＰＥＧサーバ１０６の機能も兼ね備えても良い。
【０１０３】
更に、上記実施の形態１、２を通して本発明は、ＳＴＢ１０１上のアプリケーションはＪａｖａ（Ｒ）３０３によって実行されるものであったが、ＯＳ３０１で直接実行されるアプリケーションにも同様に有効である。
【０１０４】
また、上記実施の形態１、２を通して、ＯＯＢパケットデータはＩＰデータに格納され、ＴＣＰ／ＩＰを用いて送受信していたが、ＵＤＰ／ＩＰを用いても実施可能である。また、ＩＰ以外のデータ送受信形式に埋め込むことができれば実施可能である。更に、ｅｔｈｅｒｎｅｔ以外にも、シリアルケーブルを用いても良い。
【０１０５】
また、上記実施の形態１、２を通して、ＡＤＫカード１０３は、ＳＴＢ１０１から分離されていたが、内蔵されていても実施可能である。
【産業上の利用可能性】
【０１０６】
本発明は、デジタルケーブルテレビに限らず、端末が特定の外部の信号変換モジュールを接続し、その信号変換モジュールを介してサーバーと通信を行うシステムにおいて、実行されるアプリケーションの開発環境に適用できる。
【図面の簡単な説明】
【０１０７】
【図１】本発明に係るケーブルテレビ受信端末の実施の形態１の構成図
【図２】本発明に係るＡＤＫカードの概観の一例を示す図
【図３】本発明に係るケーブルテレビシステム上で動作するソフトウェアの構成を示すブロック図
【図４】本発明に係るアプリケーション開発環境を構成するために追加されたプログラム構成要素、および、関連するプログラム構成要素の関係を示す模式図
【図５】本発明に係るエミュレーションライブラリを構成するプログラム構成要素、および、関連するプログラム構成要素の関係を示す模式図
【図６】本発明に係るＡＤＫカード−ＯＯＢサーバ間で用いられるデータ形式を示す図
【図７】パケットデコーダの動作を表すフローチャート
【図８】パケットエンコーダの動作を表すフローチャート
【図９】ＯＯＢサーバ上で動作するソフトウエアの構成図
【図１０】パケットデコーダの動作を表すフローチャート
【図１１】パケットエンコーダの動作を表すフローチャート
【図１２】パケットエンコーダの動作を表すフローチャート
【図１３】エミュレーションライブラリ４０２とＯＯＢサーバライブラリ９２０の動作を表すフローチャート
【図１４】エミュレーションライブラリ４０２とＯＯＢサーバライブラリ９２０の動作を表すフローチャート
【図１５】エミュレーションライブラリ４０２とＯＯＢサーバライブラリ９２０の動作を表すフローチャート
【図１６】本発明に係るエミュレーションライブラリを構成するプログラム構成要素、および、関連するプログラム構成要素の関係を示す模式図
【図１７】パケットデコーダの動作を表すフローチャート
【図１８】ＯＯＢサーバ上で動作するソフトウエアの構成図
【図１９】本発明に係るケーブルテレビシステムの構成図
【図２０】本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図
【図２１】本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図
【図２２】本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図
【図２３】本発明に係るケーブルテレビシステムにおいて端末装置の構成図
【図２４】本発明に係るケーブルテレビシステムにおいて端末装置の外観の一例を示す図
【図２５】本発明に係るケーブルテレビシステムにおける内蔵プログラム及びアプリケーションの構成を示すブロック図
【図２６】従来のＴＣＰ／ＩＰライブラリを用いるアプリケーションの一例を示す図
【符号の説明】
【０１０８】
４０１    カードライブラリ
４０２    エミュレーションライブラリ
４０３    スイッチャ
４０４    ＯＯＢ  ＳＩライブラリ
４０５    ソケットインターフェース
【図１】
2005236741.tif 000003
【図２】
2005236741.tif 000004
【図３】
2005236741.tif 000005
【図４】
2005236741.tif 000006
【図５】
2005236741.tif 000007
【図６】
2005236741.tif 000008
【図７】
2005236741.tif 000009
【図８】
2005236741.tif 000010
【図９】
2005236741.tif 000011
【図１０】
2005236741.tif 000012
【図１１】
2005236741.tif 000013
【図１２】
2005236741.tif 000014
【図１３】
2005236741.tif 000015
【図１４】
2005236741.tif 000016
【図１５】
2005236741.tif 000017
【図１６】
2005236741.tif 000018
【図１７】
2005236741.tif 000019
【図１８】
2005236741.tif 000020
【図１９】
2005236741.tif 000021
【図２０】
2005236741.tif 000022
【図２１】
2005236741.tif 000023
【図２２】
2005236741.tif 000024
【図２３】
2005236741.tif 000025
【図２４】
2005236741.tif 000026
【図２５】
2005236741.tif 000027
【図２６】
2005236741.tif 000028