(57)【要約】【課題】  放送局により配信されるデジタル放送コンテンツに基づいて、ネットワーク内に接続された通信可能な機器との連動を前提としたサービスを提供する。【解決手段】  BML文書を取得し、BML文書内に記述された外部機器制御関数を解釈して所定の外部機器制御関数の記述があった場合には、この関数の記載に基づいてUPnPに規定されたある通信プロトコルが実行されるよう読み替えた後、外部の制御対象となる機器と通信するようにする。【選択図】  図４
2006197358.tif 000002
【特許請求の範囲】
【請求項１】
デジタル放送に含めて配信可能なBML文書を取得する取得手段と、
前記BML文書内に記述された外部機器制御関数を解釈するBML解釈手段と、
外部の制御対象となる機器と通信する通信手段と、
前記解釈手段の解釈の結果に基づいて前記通信手段に前記機器と通信することを指示するBML処理手段と
を備えることを特徴とする機器制御装置。
【請求項２】
デジタル放送に含めて配信可能なBML文書を取得する取得手段と、
前記BML文書内に記述された、ある外部の制御対象となる機器からの割り込みを検出するための記述を解釈するBML解釈手段と、
外部の制御対象となる機器と通信する通信手段と、
前記解釈手段の解釈の結果に基づいて、前記機器から割り込みがされるよう該機器に要求すること、およびこの要求に基づいて得られた割り込みを検出することを前記通信手段に対して指示するBML処理手段と
を備えることを特徴とする機器制御装置。
【請求項３】
前記通信手段はUPnPに従って通信し、前記BML解釈部が解釈した所定のBML文書の解釈結果に基づきUPnPに規定されたある通信プロトコルが実行されるよう読み替えることを特徴とする請求項１または２に記載の機器制御装置。
【請求項４】
前記通信手段は、BML文書内に所定の外部機器制御関数が記述されていた場合、UPnPに規定された機器検出のためのプロトコルを実行することを特徴とする請求項３に記載の機器制御装置。
【請求項５】
前記通信手段は、BML文書内に所定の外部機器制御関数が記述されていた場合、UPnPに規定された機器制御のためのプロトコルを実行することを特徴とする請求項３に記載の機器制御装置。
【請求項６】
前記通信手段は、BML文書内に所定の割り込み検出のための記述がされていた場合、UPnPによる割り込み依頼の要求および割り込み検出のためのプロトコルを実行することを特徴とする請求項３に記載の機器制御装置。
【請求項７】
前記取得手段は、デジタル放送、衛星通信、インターネット、ホームネットワークおよび読み出し可能な記憶装置のうちいずれかを介してBML文書を取得することを特徴とする請求項１または２に記載の機器制御装置。
【請求項８】
デジタル放送に含めて配信可能なBML文書を取得し、
前記BML文書内に記述された外部機器制御関数を解釈し、
解釈の結果、所定の外部機器制御関数であった場合にはこの関数の記載に基づいてUPnPに規定されたある通信プロトコルが実行されるよう読み替え、
読み替えた後の通信プロトコルにより外部の制御対象となる機器と通信することを特徴とする機器制御方法。
【請求項９】
デジタル放送に含めて配信可能なBML文書を取得し、
前記BML文書内に記述された、ある外部の制御対象となる機器からの割り込みを検出するための記述を解釈し、
解釈の結果、所定の記述がされていた場合にはこの記述に基づいてUPnPに規定された割り込み依頼の要求および割り込み検出のためのプロトコルが実行されるよう読み替え、
読み替えた後の通信プロトコルにより外部の制御対象となる機器と通信することを特徴とする機器制御方法。
【請求項１０】
デジタル放送に含めて配信可能なBML文書を取得するステップと、
前記BML文書内に記述された外部機器制御関数を解釈するステップと、
解釈の結果、所定の外部機器制御関数であった場合にはこの関数の記載に基づいてUPnPに規定されたある通信プロトコルが実行されるよう読み替えるステップと、
読み替えた後の通信プロトコルにより外部の制御対象となる機器と通信するステップと
を有することを特徴とする制御プログラム。
【請求項１１】
デジタル放送に含めて配信可能なBML文書を取得するステップと、
前記BML文書内に記述された、ある外部の制御対象となる機器からの割り込みを検出するための記述を解釈するステップと、
解釈の結果、所定の記述がされていた場合にはこの記述に基づいてUPnPに規定された割り込み依頼の要求および割り込み検出のためのプロトコルが実行されるよう読み替えるステップと、
読み替えた後の通信プロトコルにより外部の制御対象となる機器と通信するステップと
を有することを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、放送コンテンツを構成する情報に基づいて、ネットワークに接続された機器を制御するための機器制御装置、機器制御方法およびプログラムに関する。
【背景技術】
【０００２】
テレビジョンのデジタル放送化に伴い、デジタル放送対応テレビ（以降、デジタルテレビと呼ぶ）の普及が進んでいる。デジタル放送では通常の映像コンテンツのみならず静止画や音声、文字情報など種々のマルチメディアデータを含めることができる。たとえばユーザからリモコン入力などのインタラクションを画面に反映させるコンテンツや、そのインタラクションに基づいて機器を制御するサービスが放送局から提供される。
【０００３】
たとえば特許文献１では、放送波に放送番組の番組データとともに番組の内容に応じた宅内の機器を動作させるための動作制御信号を配信し、番組のあるシーンの放送タイミングに合わせ宅内機器に制御信号を送信することで、たとえば暑いシーンが放送される場面ではエアコンの温度を上げるといった付加的なサービスを実現するシステムを提案している。
【０００４】
特許文献２では、デジタル放送受信装置に外部接続された機器を制御する手段として制御用のパラメータが指定されたXML文書を送受信することにより実現する方法を提案している。
【特許文献１】特開２００１−３３３０３０公報
【特許文献２】特開２００２−２０８８９９公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
デジタル放送によれば限られた範囲ではあるが番組と宅内機器との連携動作が実現可能である。しかしながら特許文献１のような番組データと制御信号とが独立している形態では、ユーザ操作時任意のタイミングで制御命令を発行したり制御命令の実行結果や通知内容に応じて表示を変更するといったサービスは実現できない。また、特許文献２に関しては、この発明の前提とする仕様によれば特許文献２で開示する機器の制御に用いる記述手段は、その記述内容をどのように解釈してどのような通信手段で宅内機器を制御するかは定義されておらず、実用上運用しないとされている。すなわちこれら宅内機器の制御及び機器からの割り込み検出の動作を実現するためには制御対象となる機器毎の独自仕様、独自実装に応じた対応範囲の制御しかできず、たとえばデジタルテレビと通信可能な機器の一覧を取得するといった動作を実現することは事実上不可能である。
【０００６】
本発明はこれらの問題に鑑みて成されたものであり、放送局により配信されるデジタル放送コンテンツに基づいて、各家庭に敷設されたネットワーク内に接続された機器との連動を前提としたサービスを提供するコンテンツの記述手段を実装した機器制御装置を提供することを課題とする。
【課題を解決するための手段】
【０００７】
本発明の機器制御装置によれば、デジタル放送に含めて配信可能なBML文書を取得する取得手段と、前記BML文書内に記述された外部機器制御関数を解釈するBML解釈手段と、外部の制御対象となる機器と通信する通信手段と、前記解釈手段の解釈の結果に基づいて前記通信手段に前記機器と通信することを指示するBML処理手段とを備えることを特徴とする機器制御装置が提供される。
【０００８】
また別の態様として、デジタル放送に含めて配信可能なBML文書を取得する取得手段と、前記BML文書内に記述された、ある外部の制御対象となる機器からの割り込みを検出するための記述を解釈するBML解釈手段と、外部の制御対象となる機器と通信する通信手段と、前記解釈手段の解釈の結果に基づいて、前記機器から割り込みがされるよう該機器に要求すること、およびこの要求に基づいて得られた割り込みを検出することを前記通信手段に対して指示するBML処理手段とを備えることを特徴とする機器制御装置が提供される。
【０００９】
さらに上記機器制御装置を実現するための機器制御方法、制御プログラムが提供される。
【発明の効果】
【００１０】
本発明によれば、機器の制御信号を配信するデジタル放送において、ネットワーク内に接続された通信可能な機器同士の連動が可能なサービスを提供することができる。
【発明を実施するための最良の形態】
【００１１】
デジタル放送では、コンテンツの構築のためにARIB（Association of Radio Industries and Businesses：電波産業会）により標準規格として策定された、BML（Broadcast Markup Language）と呼ばれる記述言語が用いられている。BMLはXML（Extensible Markup Language）をもとに策定されたデジタル放送向けコンテンツ記述言語であり、マルチメディアデータの配置位置の指定機能やJava（Ｒ）Scriptの標準規格であるECMAScriptによるスクリプト実行機能、DOM（Document Object Model）によるXMLの操作機能などを備える。さらにECMAScriptから利用可能な関数を備え、録画予約実行などの放送用拡張機能を備えている。
【００１２】
デジタルテレビにはBMLブラウザが搭載されており、このBMLブラウザが放送波を介して配信された放送局が作成したBML文書を解釈することでBML文書中のタグに従ったコンテンツの表示やECMAScriptによるサービスが実行される。
【００１３】
一方、近年AV機器や白物家電といった宅内機器のネットワーク化が進んでいる。ネットワークを介してこれらを制御するためにUPnP（Universal Plug and Play）などのプロトコルが標準として使われている。UPnPは機器検出、制御、通知といった機構を備える宅内に敷設されるようなホームネットワークで用いられる機器制御プロトコルの１つになると考えられる。
【００１４】
（第１の実施形態）
以下に本発明にかかる機器制御装置の一例を、図を参照しながら説明する。
【００１５】
図１は本実施形態における機器制御システムの一例を示す図である。図１には、BML文書を含むコンテンツを配信する放送局１００、各制御情報が記述されたBML文書を格納するBML文書DB１０１、デジタル放送を配信する放送波１０２、放送波１０２の配信を受ける加入者１０３、デジタルテレビ１０４、ホームネットワーク１０５、及びホームネットワーク１０５に接続された電子レンジＡ１０６、Ｂ１０７が記載されている。
【００１６】
放送局１００は、放送波１０２を通じて加入者１０３宛てにデジタル放送を配信する。このとき放送局１００は必要に応じてBML文書DB１０１に格納されたBML文書をコンテンツの１つとして配信することができる。
【００１７】
BML文書DB１０１は、放送波１０２によって配信されるBML文書を格納している。BML文書には、デジタルテレビ１０４の画面上における配信したコンテンツの配置位置などの通常想定されたBML記述に加え、電子レンジＡ１０６のようなホームネットワーク上のある機器を制御するための記述がされている。
【００１８】
放送波１０２は、加入者１０３に配信されるデジタル放送の電波を指す。
【００１９】
加入者１０３は、放送波１０２を受信するユーザであり配信を受けるに際し有料、無料に関わらず放送波１０２を受信可能な権利とそれに必要な設備を所有する者である。
【００２０】
デジタルテレビ１０４は、放送波１０２により配信されるデジタル放送を受信し、またホームネットワーク１０５を介して電子レンジＡ１０６、Ｂ１０７と通信可能なテレビである。
【００２１】
ホームネットワーク１０５は、加入者１０３の宅内に敷設されたネットワークである。たとえばIEEE802.3で規定されるような有線LAN、IEEE802.11xで規定されるような無線LANいずれであっても構わない。宅内に設置された機器同士が通信可能な通信媒体であれば利用可能である。
【００２２】
電子レンジＡ１０６及び電子レンジＢ１０７は、ホームネットワーク１０５を介して他の機器と通信可能な機能を備えた電子レンジである。
【００２３】
図２は本実施形態におけるデジタルテレビ１０４のブロック図の一例を示す図である。図２には、テレビ受信部２００、BML処理部２０１及びUPnP通信部２０２が示されている。
【００２４】
テレビ受信部２００は、放送局１００から配信されたデジタル放送の放送波１０２を受信しそれに含まれる映像信号を自身が備えるブラウン管などの表示装置に表示するとともに、放送波１０２に含まれるBML文書を分離してBML処理部２０１に受け渡す機能を有する。デジタル放送のデータはBML文書や映像、音声などが混合されて配信されるため、テレビ受信部２００にはデジタル放送のデータの受信機能、これら情報の分離機能、映像信号の復号機能及び再生機能などが必要である。しかしながらこれらの機能は既知の技術として実現されているものであるからここでは細説しない。
【００２５】
BML処理部２０１は、受信したBML文書を解釈しBML文書中のタグの解析やECMAScriptにより記述されたスクリプトを実行する機能を有する。さらにBML処理部２０１は、BML文書中にUPnPに対応する機器を対象としてBML文書で規定された外部機器制御関数の記述または外部機器からの割り込み検出機構の記述が存在した場合、これらの記述に対して与えられている引数の値などのUPnPによる通信に必要な情報を抽出する。そしてこれらの値を必要に応じて変換し、UPnP通信部２０２に受け渡す。またUPnP通信部２０２が他のUPnPに対応する機器からメッセージを受け取った場合には、制御の成否結果といった通信内容を抽出しECMAScriptの関数の戻り値などとしてBML文書として扱うことができる形式に変換する機能を有する。本実施形態ではBML処理部２０１は、外部機器制御関数としてBMLに規定されているenumPeripheripherals()を用いると共に、UPnP通信部２０２にとってのコントローラとして機能している。
【００２６】
UPnP通信部２０２は、BML処理部２０１の指示に従ってUPnPに準拠したプロトコルによりホームネットワーク１０５を介して、たとえば電子レンジＡ１０６と通信する機能を有する。UPnPにより実現される機能として、機器の検索要求メッセージに対してホームネットワーク１０５上に自身が存在することを応答する機能や、たとえば調理レシピセットの制御メッセージをやり取りし応答する機能及び調理が完了したことを通知する調理完了メッセージを送信する機能を有する。本実施形態ではホームネットワーク１０５に接続された機器とUPnPに準拠したプロトコルを用いて通信することとしているが、BML処理部２０１からの指示に基づいてこれら各機器と通信できるものであればどのようなプロトコルであってもかまわない。
【００２７】
図３に本実施形態における機器制御システムの機器検出のためのフロー図の一例を示す。最初に放送局１００から外部機器制御関数（enumPeripherals()）を含んだBML文書３００が放送波３０１として配信される。デジタルテレビ１０４がこれを受信すると、テレビ受信部２００が放送波３０１からBML文書３００を分離しBML文書情報３０２としてBML処理部２０１に受け渡す。
【００２８】
BML処理部２０１は受け取ったBML文書情報３０２に記載されたタグに応じた画面を表示しあるいはECMAScriptを実行する。ここでBML処理部２０１は、BML文書情報３０２に外部機器制御関数が記述されていた場合に、UPnP通信部２０２に対してこの関数の記載に応じたコマンド３０３を発行する。
【００２９】
UPnP通信部２０２は、コマンド３０３を受け取るとこの内容に基づいてSSDP（Simple Service Discovery Protocol）によるsearch request３０４を作成しホームネットワーク１０５上にマルチキャスト送信する。
【００３０】
UPnPに対応した機器である電子レンジＡ１０６や電子レンジＢ１０７はsearch request３０４に応えて、各自のLOCATIONやUSN（Unique Service Name）をsearch response３０５または３０６として応答する。これを受信したUPnP通信部２０２は、受け取った情報を外部機器制御関数（enumPeripherals()）の実行結果３０７としてBML処理部２０１に返す。UPnP機器はUPnPの仕様として自身の機器名や提供するデバイス、サービスなどの情報が示されたdescriptionと呼ばれるXML文書を持つとされており、LOCATIONとはこのXML文書の所在を示すURL（Uniform Resource Location）である。
【００３１】
次からはさらに上記フローでやり取りされる情報の詳細について説明する。
【００３２】
まず本実施形態では外部機器制御関数enumPeripherals()の入出力仕様を次のように定義する。
【００３３】
機能：現在UPnP通信可能なUPnPに対応した機器を列挙する
文法：Array enumPeripherals(input String ST)
引数：ST URI で表された検索対象（search target）
戻り値：Locationを各要素に格納したArrayオブジェクト：成功
null：失敗
説明：引数STにて与えられたターゲット名に対応したUSN（Unique Service Name）を持つデバイス、サービスをSSDPにて検索する。STは以下のような文字列を指定することができる。
【００３４】
ssdp:all
upnp:rootdevice
uuid:device-UUID（device-UUIDは任意）
urn:schemas-upnp-org:device:deviceType:v（deviceType:vは任意）
urn:schemas-upnp-org:service:serviceType:v（serviceType:vは任意）
戻り値は検出されたデバイス、サービスの個数分の要素を持つArrayオブジェクトであり、各要素は文字列として、検出された各機器のdescriptionが格納されているURLを持つ。
【００３５】
図４は本実施形態における機器制御システムの機器検出のためのBML文書３００の一例を示した図である。なお実際のBML文書では、xml宣言、DTD宣言bml宣言やスタイルシートの指定などが必要であるが、ここでは簡略化のために省略している。またenumPeripherals()の実行結果の戻り値として想定する値の例を/*…*/の記号を用いてコメント文の形で記載している。もちろんコメント文はスクリプトの実行にはなんら影響を与えるものではなく実際のBML文書に記載する必要はない。
【００３６】
BML処理部２０１は、BML文書３００のenumPeripherals()の引数の記載を解釈してUPnP通信部２０２にコマンド３０３を発行する。またこのコマンド３０３に対するUPnP通信部２０２からの応答である実行結果３０７を受信して、この結果をresultに格納する。ここではホームネットワーク１０５上にUPnPに対応した機器が電子レンジＡ１０６およびＢ１０７の２台であるから、それぞれresult[0]、result[1]の２つが戻り値として格納される。
【００３７】
図５はコマンド３０３を受けたUPnP通信部２０２が送信するsearch request３０４の一例を示した図である。本実施形態ではSSDPの検索においてサービス検索対象を指定し、SSDP/HTTPMUにてネットワーク内にサービス検索要求のメッセージ（search request）を送信する。そしてサービス検索要求を受信したUPnPに対応した機器は検索対象に一致する場合はSSDP/HTTPMUでの応答を返すものとする。図中、ST:upnp:rootdeviceの“upnp:rootdevice”の部分は図４に示したenumPeripherals()の引数と同じものが格納される。HOSTは固定値として定められたUPnP用マルチキャストアドレス、MANは機器検出を示す固定値“ssdp:discover”、MXは応答を待つための時間（固定値）がUPnP通信部２０２によって与えられる
図６はsearch request３０４を受けたUPnPに対応する機器が返すsearch response３０５及び３０６の一例を示す図である。本実施形態のデジタルテレビ１０４では、search response３０５の“LOCATION:http://192.168.0.100:10000/rangeA.xml”の部分及びsearch response３０６の“LOCATION:http://192.168.0.200:20000/rangeB.xml”の部分が検出したUPnPに対応する機器であると解釈され、enumPeripherals()のresultに格納される。
【００３８】
すなわち図４の関数search()を呼び出すことでenumPeripherals()が実行され現在通信可能なUPnPに対応する機器のLOCATION情報の一覧を取得することがBML文書において記述可能になる。BMLの規定ではDOMによるXMLの操作機能として指定URLからXML文書を取得する手段やXML文書を解析し各要素を抽出するといった手段を提供している。この機能を使用することにより、LOCATION情報が分かればXML文書として記述されているdescriptionを取得し、これを解析することで検出した機器の機器名などの詳細な情報を得ることができる。
【００３９】
このように構成することにより、機器の制御信号を配信するデジタル放送において、各家庭に敷設されたネットワーク内に接続された機器に共通のデバイス、サービス検出方法を提供することができる。
【００４０】
（第２の実施形態）
本実施形態は放送局１００から配信されたBML文書７００を受信したデジタルテレビ１０４が、ホームネットワーク１０５上のUPnPに対応した機器に対し制御命令を送る一例である。
【００４１】
以下に本発明にかかる機器制御装置の一例を、図を参照しながら説明する。
【００４２】
図１は本実施形態における機器制御システムの一例を示す図である。また図２は本実施形態におけるデジタルテレビ１０４のブロック図の一例を示す図である。本実施形態と第１の実施形態との相違は、BML処理部２０１が外部機器制御関数としてBMLに規定されているgetArrayFromPeripheral()を用いている点である。その他の点については第１の実施形態の場合と同様であるから省略する。
【００４３】
図７は本実施形態における機器制御システムの機器制御のためのフロー図の一例を示す。
【００４４】
最初に放送局１００から外部機器制御関数（getArrayFromPeripheral()）を含んだBML文書７００が放送波７０１として配信される。デジタルテレビ１０４がこれを受信すると、テレビ受信部２００が放送波７０１からBML文書７００を分離しBML文書情報７０２としてBML処理部２０１に受け渡す。
【００４５】
BML処理部２０１は受け取ったBML文書情報７０２に記載されたタグに応じた画面を表示しあるいはECMAScriptを実行する。ここでBML処理部２０１は、BML文書情報７０２に外部機器制御関数が記述されていた場合に、UPnP通信部２０２に対してこの関数の記載に応じたコマンド７０３を発行する。
【００４６】
UPnP通信部２０２は、コマンド７０３を受け取るとこの内容に基づいてSOAP（Simple Object Access Protocol）によるcontrol request７０４を作成しホームネットワーク１０５上の制御対象であるたとえば電子レンジＡ１０６に対して送信する。
【００４７】
UPnPに対応した機器である電子レンジＡ１０６はcontrol request７０４の制御要求の結果等を含んだcontrol response７０５を送信する。これを受信したUPnP通信部２０２は、受け取った情報を外部機器制御関数（getArrayFromPeripheral()）の実行結果７０６としてBML処理部２０１に返す。
【００４８】
ここでいうSOAPとはUPnPで規定される制御機構であり、分散環境でRPC（Remote Procedure Call）を実行するための仕様であって、通信にはHTTP（Hyper Text Transfer Protocol）、引数にXML形式の文字列を用いるものを指す。
【００４９】
次からはさらに上記フローでやり取りされる情報の詳細について説明する。
【００５０】
まず本実施形態では外部機器制御関数getArrayFromPeripheral()の入出力仕様を次のように定義する。
【００５１】
機能：UPnPに対応する機器に対して制御メッセージを送受信する
文法：Array getArrayFromPeripheral(
input String controlURL,
input String method,
input Number timeout
[,inout Array deta]
)
引数：controlURL  制御対象のIPアドレス、ポート番号、サービスを特定するUPnPにおけるcontrolURL
method  アクション名
timeout  タイムアウトとみなす時間の指定（ミリ秒単位）
data[0]  サービスタイプ
data[i],data[i+1](i>=1)  引数の名前、引数の値
戻り値：Array[0]  結果コードを表す数値
1  成功
-1  制御対象機器への接続に失敗
-2  サポートされていないmethodが与えられた
-3  タイムアウトが発生した
400〜  UPnPのControlに対するerrorCode
NaN  その他の要因による失敗
Array[1]  応答メッセージのBody部のXML形式の文字列
説明：引数controlURLで指定されるURLに対し、サービスタイプ、アクション名、引数の名前と値とを用いてSOAPによる制御を行う。戻り値は配列要素であり、最初の要素の制御の結果が次の要素に応答メッセージの内容が格納される。
【００５２】
図８は本実施形態における機器制御システムの機器制御のためのBML文書７００の一例を示した図である。なお実際のBML文書では、xml宣言、DTD宣言bml宣言やスタイルシートの指定などが必要であるが、ここでは簡略化のために省略している。またgetArrayFromPeripheral()の実行結果の戻り値として想定する値の例を/*…*/の記号を用いてコメント文の形で記載している。もちろんコメント文はスクリプトの実行にはなんら影響を与えるものではなく実際のBML文書に記載する必要はない。
【００５３】
BML処理部２０１は、BML文書７００のgetArrayFromPeripheral()の引数の記載（"http://192.168.0.100:10000/upnp/control"など）を解釈してUPnP通信部２０２にコマンド７０３を発行する。またこのコマンド７０３に対するUPnP通信部２０２からの応答である実行結果７０６を受信して、この結果をresultに格納する。ここでは制御対象の機器がIPアドレス192.168.0.100、ポート番号10000を持つものとする。
【００５４】
図９はコマンド７０３を受けたUPnP通信部２０２が送信するcontrol request７０４の一例を示した図である。本実施形態ではUPnP通信部２０２から電子レンジＡ１０６への通信にはHTTPのmethod：POSTにて制御要求のメッセージ（control request）を作成して送信する。図８に示す"http://192.168.0.100:10000/upnp/control"の部分は、図中の１行目“POST /upnp/control”と２行目のHOSTヘッダ“HOST:192.168.0.100:10000”に相当している。図８に示すdata[0]の内容及びgetArrayFromPeripheral()の引数“Set”は、４行目のサービスタイプ“urn:schemas-upnp-org:service:control:1”と、４行目のアクション名“Set”に相当する。またこれらの値はメッセージBody部（<SOAP-ENV:BODY>）の「<M:SET M=“URN:SCHEMAS-UPNP-ORG:SERVICE:CONTROL:1”>」にも反映される。さらに図８に示す引数の名前とその値であるdata[1]、data[2]の内容はメッセージBody部に記載の“<DATA>0x1234</DATA>”のように表現される。なお、図８のBML文書７００においてdata[i]、data[i+1]のような引数の組みがさらに指定されている場合には、control request７０４作成時にその個数分の組み合わせからなるタグ生成が行われる。
【００５５】
図１０はcontrol request７０４を受けたUPnPに対応する機器が返すcontrol response７０５の一例を示す図である。本実施形態のデジタルテレビ１０４では、control response７０５の“<S.ENVELOPE …>…</S.ENVELOPE>”の部分をgetArrayFromPeripheral()の戻り値として扱う。具体的には、BML処理部２０１は図１０のcontrol response７０５に示すような実行結果７０６が得られた場合には図８に示すresult[0]に“1”を格納し、result[1]にはcontrol response７０５の“<S.ENVELOPE…>…</S.ENVELOPE>”というXML形式の文字列を格納する。
【００５６】
このとき電子レンジＡ１０６においてcontrol request７０４で要求した制御が正常に完了しなかった場合には、UPnPではたとえば図１１のようなcontrol response７０５が返される。この場合にはcontrol response７０５に記載された“<ERRORCODE>402</ERRORCODE>”の部分が解析されて、図８に示すresult[0]にエラーコードとしての“402“なる値が格納される。
【００５７】
また図７に示すcontrol request７０８のように、制御対象である電子レンジＡ１０６との通信自体が失敗するような場合には、UPnP通信部２０２がエラーコード“-1”を実行結果７０９として返すことで図８に示すresult[0]には“-1”が格納される。通信ができたとしてもタイムアウトで設定した時間内に応答がなかった場合にも同様に通信が失敗したと判断する。
【００５８】
すなわち図８の関数control ()を呼び出すことでgetArrayFromPeripheral()が実行されUPnPによる制御対象となる機器への制御メッセージを送信し、その結果をXML形式の文字列として得ることが可能となる。機器の状態を取得するときはBML文書のDOMのXML操作機能により、戻り値のXML形式文字列を解析することでその内容を調べることができる。
【００５９】
なおUPnPによる機器への制御メッセージの送信および応答メッセージの受信処理では、Action（主に制御に使用）とQuery for variable（主に状態取得に使用）の二つの方式が存在する。ActionとQuery for variableとの通信手順は同じであるため、ここではBML文書中のgetArrayFromPeripheral()に対応するUPnP通信としてAction方式で行う例を示しているが、Query for variable方式への対応も容易に可能である。
【００６０】
このように構成することにより、機器の制御信号を配信するデジタル放送において、各家庭に敷設されたネットワーク内に接続された機器の共通の制御方法を提供することができる。
【００６１】
（第３の実施形態）
本実施形態は放送局１００から配信されたBML文書１２００を受信したデジタルテレビ１０４が、ホームネットワーク１０５上のUPnPに対応した機器に対し制御命令を送り、この制御命令が完了した際にはデジタルテレビ１０４宛に完了した旨を通知してもらう一例である。
【００６２】
以下に本発明にかかる機器制御装置の一例を、図を参照しながら説明する。
【００６３】
図１は本実施形態における機器制御システムの一例を示す図である。また図２は本実施形態におけるデジタルテレビ１０４のブロック図の一例を示す図である。本実施形態と第２の実施形態との相違は、UPnP通信部２０２がUPnPを用いた通知の機構としてのGENA（Generic Event Notification Architecture）と、BML処理部２０１がBMLを用いた割り込み事象を扱うための拡張機構とを連携して用いて実現している点である。その他の点については第１の実施形態の場合と同様であるから省略する。
【００６４】
ここでいうGENAとはUPnPで規定された、デバイスのサービス状態が変化したことを通知する方法を定義したものである。
【００６５】
GENAではまずサブスクライバ（通知する先のデバイス）がパブリッシャ（状態変化するサービスを持つデバイス）に対してSUBSCRIBEメソッドにより通知先や通知して欲しいサービス対象などを含んだ要求メッセージを送信しておく。この通知依頼は有効期限が定められており、サブスクライバが有効期限後も引き続き通知を受けたい場合は定期的に通知依頼を繰り返す必要がある。
【００６６】
その後パブリッシャ側で通知すべき状態変化があると、パブリッシャはサブスクライバにNOTIFYメソッドによりサービスの状態が変化したことをイベントメッセージとして送信する。
【００６７】
通知依頼に際しては、その引数としてパブリッシャのIPアドレス、ポート番号、パブリッシャの通知して欲しいサービスを特定するパス名、イベントメッセージを受け取るサブスクライバ自身のURLが必要となる。通知依頼に対してはパブリッシャ側からの戻り値としてSID（Service Identifier）が与えられる。サブスクライバが引き続き通知を受けたい旨の通知依頼をする際には、引数としてこのSIDが必要となる。
【００６８】
図１２は本実施形態における機器制御システムの機器制御及び完了通知を受けるためのフロー図の一例を示す。
【００６９】
最初に放送局１００から「<BEITEM TYPE=“PERIPHERALEVENTOCCURRED”…>」を含んだBML文書１２００が放送波１２０１として配信される。デジタルテレビ１０４がこれを受信すると、テレビ受信部２００が放送波１２０１からBML文書１２００を分離しBML文書情報１２０２としてBML処理部２０１に受け渡す。
【００７０】
BML処理部２０１は受け取ったBML文書情報１２０２に記載されたタグに応じた画面を表示しあるいはECMAScriptを実行する。ここでBML処理部２０１は、BML文書情報１２０２にUPnPに対応した機器を対象とした「<BEITEM TYPE=“PERIPHERALEVENTOCCURRED”…>」が記述されていた場合に、UPnP通信部２０２に対してこの関数の記載に応じたコマンド１２０３を発行する。
【００７１】
UPnP通信部２０２は、コマンド１２０３を受け取るとこの内容に基づいてGENAによるsubscribe request１２０４を作成しホームネットワーク１０５上の制御対象であるたとえば電子レンジＡ１０６に対して送信する。
【００７２】
UPnPに対応した機器である電子レンジＡ１０６はsubscribe request１２０４の制御要求の結果等を含んだsubscribe response１２０５を送信する。これを受信したUPnP通信部２０２は、BML処理部２０１が終了する、あるいはBML文書１２００が別のページに遷移する、あるいはBML文書中で明示的に通知依頼のキャンセルを行う、といった処理をしない限り、UPnP通信部２０２は通知依頼の有効期限が満了しない程度の頻度で繰り返しsubscribe request１２０６を送信する。
【００７３】
電子レンジＡ１０６に対してたとえば調理の完了を通知するように依頼しておいた場合、電子レンジＡ１０６が調理を終了したときにはデジタルテレビ１０４に対して電子レンジＡ１０６からイベントメッセージ１２０８が送信される。UPnP通信部２０２はこのイベントメッセージ１２０８を受け取ると、その内容を実行結果１２０９としてBML処理部２０１に返す。
【００７４】
次からはさらに上記フローでやり取りされる情報の詳細について説明する。
【００７５】
まず本実施形態ではBMLで規定されているbeitem要素のtype属性の値に“PeripheralEventOccurred”を指定する場合の仕様を次のように定義する。
【００７６】
・beitem要素：UPnP通知機構用として以下にbeitem要素の属性を定義する
・id属性（必須）  beitem要素の識別子
・onoccur属性（必須）  割り込み事象が発生したときに実行されるECMAScriptの関数名を特定する文字列を記述する
・subscribe属性（必須）  “subscribe”または“unsubscribe”
・type属性（必須）  割り込み事象の種類を指定する。ここでは“PeripheralEventOccurred”のみ有効とする
・peripheral_ref属性（必須）  パブリッシャのIPアドレス、ポート番号、サービスを特定する、UPnPにおけるeventSubURLを指定する
イベントメッセージの通知、もしくは通知依頼の失敗によりonoccur属性で特定された関数名を持つ関数が呼び出されたとした場合、本実施形態のデジタルテレビ１０４では呼び出される関数は必ずArrayオブジェクトを引数に持つこととし、呼び出された際にはその引数の中身には次のような値が格納されていると定義する。
【００７７】
引数：Array[0]  関数が呼び出されたステータス
1  イベントメッセージの通知による関数呼び出し
-1  通知依頼の失敗による関数呼び出し（制御対象機器との通信に失敗）
400〜  通知依頼の失敗に伴う関数呼び出し
subscribe response１２０５のヘッダに記載のステータスと同じ
NaN  その他の要因による失敗
Array[1]  イベントメッセージが通知された際の、そのBody部に記載されたXML形式の文字列
図１３は本実施形態における機器制御システムの機器制御および完了通知を受けるためのBML文書１２００の一例を示した図である。なお実際のBML文書では、xml宣言、DTD宣言bml宣言やスタイルシートの指定などが必要であるが、ここでは簡略化のために省略している。また関数eventing()の実行結果の戻り値として想定する値の例を/*…*/の記号を用いてコメント文の形で記載している。もちろんコメント文はスクリプトの実行にはなんら影響を与えるものではなく実際のBML文書に記載する必要はない。
【００７８】
BML文書１２００ではbeitem要素のonoccur属性に与える関数の値として、関数を特定するための文字列“eventing()”を指定している。またscript要素におけるECMAScript関数としてArrayオブジェクトの引数を持つeventing(data)を定義している。
【００７９】
onoccur属性に与える値としては、“eventing()”のようにあくまで関数名だけを指定し、引数などの指定はしないものとする。
【００８０】
BML処理部２０１は、BML文書１２００のperipheral_ref属性の値に指定されている"http://192.168.0.100:10000/upnp/event"（eventSubURLに相当）をもとに制御対象である電子レンジＡ１０６のIPアドレス192.168.0.100、ポート番号10000を得ることができる。この情報はコマンド１２０３としてUPnP通信部２０２に送られ電子レンジＡ１０６との通信に使われる。
【００８１】
図１４はコマンド１２０３を受けたUPnP通信部２０２が送受信するメッセージ１２０４、１２０５、１２０６の一例を示した図である。図１３に示す「peripheral_ref=”http://192.169.0.100:10000/upnp/event」の部分は、図中の１行目“SUBSCRIBE /upnp/event HTTP/1.1”の“/upnp/event”と５行目のHOSTヘッダ“HOST:192.168.0.100:10000”に相当している。その他の、固定の文字列NT、通知を受け取るデジタルテレビ１０４内の呼び出し先のURLを示すCALLBACK、通知依頼の有効期限を示すTIMEOUT（図１４では１８００秒）などはUPnP通信部２０２が所定値を設定する。
【００８２】
UPnP通信部２０２は電子レンジＡ１０６から正常に処理できた旨のsubscribe response１２０５を受け取った場合は、subscribe response１２０５の４行目に記載のSIDヘッダの値“uuid:13ce8400-1dd2-11b2-0000-000d0b17bc3c”を記憶しておく。以後、タイムアウト近くになっても通知がない場合には、subscribe request１２０４のNT及びCALLBACKの部分を、この記憶したSIDに変えたsubscribe request１２０６を作成し繰り返し電子レンジＡ１０６に有効期限の延長を依頼する。このように構成すると、UPnPに対応する機器から継続して完了通知を得られる状態を維持することができる。
【００８３】
図１５はsubscribe request１２０４で依頼した状態変化が電子レンジＡ１０６で発生した場合の、電子レンジＡ１０６がデジタルテレビ１０４に送信するイベントメッセージ１２０８の一例を示している。
【００８４】
本実施形態のデジタルテレビ１０４では、イベントメッセージ１２０８の“<E.PROPERTYSET …>…</E.PROPERTYSET>”の部分をeventing ()の戻り値として扱う。具体的には、BML処理部２０１は図１５のイベントメッセージ１２０８に示すような実行結果１２０９が得られた場合には図１３に示すresult[0]に“1”を格納し、result[1]にはイベントメッセージ１２０８の“<E.PROPERTYSET…>…</E.PROPERTYSET>”というXML形式の文字列を格納する。その後、onoccur属性で指定した関数eventing()を起動する。
【００８５】
すなわち制御対象となる機器の完了を知ることができると共に、依頼した制御命令が正しく通知されたかを図１３の関数eventing ()内で判断し、その結果をXML形式の文字列として得るという機能をBMLとして記述することが可能となる。機器の状態を取得するときはBML文書のDOMのXML操作機能により、戻り値のXML形式文字列を解析することでその内容を調べることができる。
【００８６】
通知依頼の明示的なキャンセルに関しては、BML文書中のbeitem要素のsubscribe属性の値を、ECMAScriptの機能にて“subscribe”から“unsubscribe”に動的に変化させることで行う。このときはUPnP通信部２０２は電子レンジＡ１０６対し、UNSUBSCRIBEメソッドによる通知依頼キャンセルのメッセージを送信する。
【００８７】
このとき電子レンジＡ１０６においてsubscribe requestが正常に完了しなかった場合を説明する。図１６に示した放送波１６０７、BML文書情報１６０８、コマンド１６０９及びsubscribe request１６１０は上述した正常な場合と同様である。仮に電子レンジＡ１０６がsubscribe request１６０１を処理しようとしたときに異常を検出した場合、電子レンジＡ１０６は要求がエラーした旨を図１７に示すようなsubscribe response１６０５として送信する。この場合にはsubscribe response１６０５の１行目に記載されたHTTPレスポンスコード“500”を、図１８に示すようにdata[0]にエラーコードとして “500“なる値が格納される。
【００８８】
また図１６に示すsubscribe request１６１０のように、制御対象である電子レンジＡ１０６との通信自体が失敗するような場合には、UPnP通信部２０２がエラーコード“-1”を実行結果１６１１として返すことで図１８に示すdata[0]には“-1”が格納される。通信ができたとしてもタイムアウトで設定した時間内に応答がなかった場合にも同様に通信が失敗したと判断する。あるいはBML文書を受信した最初の通知依頼の時点だけでなく、定期的にsubscribe request１２０６を送信している際のエラーについても同様の判断がされる。
【００８９】
このように構成することにより、機器の制御信号を配信するデジタル放送において、各家庭に敷設されたネットワーク内に接続された機器に共通の完了通知方法を提供することができる。
【００９０】
（第１−第３の実施形態を組み合わせた変形例）
本組み合わせ例は、第１、第２及び第３の実施形態を組み合わせた機器制御システムの一例である。よって本変形例にかかる装置は第１〜第３の実施形態で説明した機能を備えているものとする。
【００９１】
デジタルテレビ１０４はホームネットワーク１０５に接続された機器の制御に先立って、放送局１００よりBML文書を含む放送波１０２を受信する。本変形例では、開始ページであるStartup.bml、電子レンジＡ１０６用のコンテンツであるrangeA1.bml、rangeA2.bml、rangeA3.bml、rangeAX.bml、電子レンジＢ１０７用のコンテンツであるrangeB1.bml、一般用のコンテンツであるnorange.bmlが配信されているものとする。
【００９２】
図１９は本変形例における機器制御フローの一例を示す図である。デジタルテレビ１０４はBML文書の配信を受けると、BML処理部２０１によって開始ページであるStartup.bmlの解釈を始める。ここでホームネットワーク１０５に接続されたUPnPに対応する機器の検出がされ、見つかった機器に応じた処理がされる（ステップＳ０１）。電子レンジＡ１０６が見つかった場合にはステップＳ０３に分岐する。電子レンジＢ１０７が見つかった場合にはステップＳ１０に分岐する。どちらも見つからなかった場合にはステップＳ０２に分岐する。
【００９３】
電子レンジＡ１０６が見つかった場合、rangeA1.bmlを実行することによりデジタルテレビ１０４の表示画像がたとえば電子レンジＡ１０６にて調理可能な料理番組を映すように切り替わる。このときデジタルテレビ１０４の画面上にも「電子レンジＡに調理レシピデータをセットする」というボタンを表示させる。
【００９４】
デジタルテレビ１０４のリモコン操作により、表示されているボタンを選択、決定すると（ステップＳ０３）、放送中の料理に対応したレシピデータがUPnP通信部２０２を介して電子レンジＡ１０６に送信される（ステップＳ０４）。
【００９５】
正常にレシピデータの送信ができたか否かを判断し（ステップＳ０５）、失敗したと判断した場合には「制御に失敗しました」といったメッセージをデジタルテレビ１０４の画面に表示するためのrangeAX.bmlを実行する（ステップＳ０６）。
【００９６】
正常に送信ができたときは、続けて電子レンジＡ１０６の調理完了イベントのUPnPによる通知依頼を送信する（ステップＳ０７）。
【００９７】
正常に通知依頼ができたか否かを判断し（ステップＳ０８）、失敗したと判断した場合には「制御に失敗しました」といったメッセージをデジタルテレビ１０４の画面に表示するためのrangeAX.bmlを実行する（ステップＳ０６）。
【００９８】
デジタルテレビ１０４は電子レンジＡ１０６の調理の完了を通知されるまで待機し、通知があった場合には（ステップＳ０９）、rangeA3.bmlを実行することで「調理が完了しました」というメッセージを画面に表示し、ユーザに調理の完了を知らせる。
【００９９】
次からはさらに上記フローでやり取りされる情報の詳細について説明する。
【０１００】
図２０は本変形例における機器制御システムの最初に実行されるBML文書Startup.bmlを示した図である。このBML文書では、関数search()を呼び出して外部機器制御関数enumPeripherals()による機器の検出と、関数getName()によりその検出した機器の機器名とURLBaseの取得とを行っている。URLBaseの情報はcontrolURLや通知依頼の際に必要となるeventSubURLの生成に使用する情報である。
【０１０１】
関数search()はbody要素のonload属性に指定されることにより、Startup.bmlの読み込み時に実行される。ここでは外部機器制御関数enumPeripherals()の引数として“root:device”を指定することでUPnPにより通信可能なすべての機器を検出しようとしている。
【０１０２】
関数getName()は、検出された機器ごとに関数search()から呼び出される。戻り値で得られるURLから、BMLのDOM機能を用いてXML文書形式のdescriptionを取得（xmldoc.read(location))する。descriptionには、機器名を表すfriendlyName要素と、その機器のIPアドレス、ポート番号などを表すURLBase要素といった情報が記述されている。URLBaseの値は実行するBML文書が変わっても保存しておくことが可能な領域（Ureg[0]）に格納しておく。
【０１０３】
FriendlyName要素の値が“rangeA”であった場合、BML標準の機能である関数launchDocument()によりrangeA1.bmlを実行する。
【０１０４】
図２１は本変形例における電子レンジＡ１０６を制御するためのBML文書rangeA1.bmlを示した図である。このBML文書では、関数control()で外部機器制御関数getArrayFromPeripheral()を呼び出すことにより電子レンジＡ１０６を制御する。
【０１０５】
関数control()はp要素のonkeydown属性に指定されることによりユーザがデジタルテレビ１０４に表示された「調理レシピデータのセット」のボタンを選択し、リモコンボタンを押下げた際に実行される。関数control()では、電子レンジＡ１０６が電子レンジＡという機種であることが判明していることから、図２１のように予め電子レンジＡ１０６用の引数を直接記述しておくことができる。controlURLの値はIPアドレスやポート番号を含むため可変でなければならないが、図２０に示すようなStartup.bmlでURLBaseをUreg[0]に格納しておけばこの値を読み出すことで対応できる。戻り値result[0]が“1”以外の場合、制御対象の機器が制御できていないことを意味しているため、関数launchDocument()によりrangeAX.bmlを実行する。戻り値が“1”の場合にはここまでは正常に処理ができていることを意味するので、次のBML文書であるrangeA2.bmlを実行する。
【０１０６】
図２２は本変形例における電子レンジＡ１０６を制御するためのBML文書rangeA2.bmlを示した図である。このBML文書ではbeitem要素によるUPnPに対応する機器からの通知の検出をする。beitemの指定では、peripheral_ref属性の値としてeventSubURLの指定が必要である。EventSubURLは図２０で取得したURLBaseの値をもとにこのBML文書読み込み時に実行される関数init()で生成する。これをBMLのDOM機能を用いてperopheral_ref属性の値としている（setAttribute(“peripheral_ref”,…)の部分）。なお、ここでは通常のECMAScriptによる操作が完了した後にUPnPによる通知依頼がされる。
【０１０７】
通知もしくは通知依頼が失敗した場合に呼び出される関数eventing()で、この関数が呼び出されたときに引数data[0]の値が“1”以外であったときは通知依頼に失敗しているので関数launchDocument()によりrangeAX.bmlを実行する。戻り値が“1”の場合にはここまでは正常に処理ができていることを意味するので、調理完了をデジタルテレビ１０４に表示するためのBML文書rangeA3.bmlを実行する。
【０１０８】
上記したように機器検出するためのBML文書（たとえばStartup.bml）を用意することで、検出された機器の名前や種別に対応した番組を放送あるいは選択することができるようになる。また、その機器や番組内容に応じた適切なパラメータを受け渡すBML文書（たとえばrangeA1.bml）を用意することで、ある機器を番組と連携して制御することができる。さらには通知依頼及び通知があったことを検出するBML文書（たとえばrangeA2.bml）を用意すると、制御対象の機器からの通知に合せて通知された情報を画面上に表示しタイムリーにユーザに知らしめることが可能となる。
【０１０９】
本変形例では、controlURL、eventSubURLを生成するためにURLBaseの値を用いている。しかしながらURLBaseの値がdescription中に存在しなかった場合などにはLOCATION情報のIPアドレス、ポート番号を利用する、またはdescription中のcontrolURLの値を直接利用するようにしても良い。このような処理はBMLが標準で備えている文字列操作機能、XML操作機能を用いて容易に実現できる。
【０１１０】
また本変形例ではUPnPを用いた機器の検出や、制御対象となる機器の制御結果に応じて複数のBML文書を段階的に実行しなおしている。他方の手法として、表示用の汎用BML文書を予め用意しておき、制御結果に応じてこのBML文書の所定のタグの内容を、たとえば「調理中です」から「調理が完了しました」などのようにDOM機能を用いて直接書き換えるように構成してもかまわない。このように構成すると配信するBML文書の数を削減することができる。
【０１１１】
BML文書の取得に関して、本変形例では放送局１００から配信される放送波を介して配信されるとしているが、BML文書の一部をホームネットワーク１０５やインターネットを介して取得するようにしても良い。さらには放送コンテンツを番組の動画だけでなくBML文書も含めて家庭内に設置されたデジタル放送対応ハードディスクレコーダなどに保存し、その保存したBML文書を用いるようにすることも可能である。移動体向けのデジタル放送を介してBML文書を配信すれば、カーナビゲーションシステムといった車載した機器をBML文書によって制御するように構成することも可能である。
【０１１２】
外部から機器の制御が可能になるとセキュリティを考慮しなければならない。たとえば悪意を持って作成された放送コンテンツの配信を受けることにより、ユーザの意図しない動作をする場合が考えられる。しかしながら本発明の想定するデジタル放送の性質上、機器制御を伴うコンテンツは常に限られた事業体である放送局１００のみが作成し配信すると考えられる。よって第三者の介入が容易なインターネットなどとは異なり、不正な動作をする悪意のあるコンテンツの配信を受けるという可能性は低いと考えられることから、セキュリティ面での危険は最小限に抑えられると思われる。またインターネット上からBML文書を取得することに関しても、BMLの規格上、放送コンテンツの製作元である放送局１００が指定したURLから取得するようになるので第三者の介入は難しいといえる。
【０１１３】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【０１１４】
【図１】第１の実施形態における機器制御システムの一例を示す図である。
【図２】第１の実施形態におけるデジタルテレビのブロック図の一例を示す図である。
【図３】第１の実施形態における機器制御システムの機器検出のためのフロー図の一例を示す図である。
【図４】第１の実施形態におけるBML文書の一例を示す図である。
【図５】第１の実施形態におけるUPnPによるsearch requestの一例を示す図である。
【図６】第１の実施形態におけるUPnPによるsearch responseの一例を示す図である。
【図７】第２の実施形態における機器制御システムの機器制御のためのフロー図の一例を示す図である。
【図８】第２の実施形態におけるBML文書の一例を示す図である。
【図９】第２の実施形態におけるUPnPによるcontrol requestの一例を示す図である。
【図１０】第２の実施形態におけるUPnPによるcontrol responseの一例を示す図である。
【図１１】第２の実施形態におけるUPnPによるcontrol responseの別の一例を示す図である。
【図１２】第３の実施形態における機器制御システムの機器制御及び完了通知を受けるためのフロー図の一例を示す図である。
【図１３】第３の実施形態におけるBML文書の一例を示す図である。
【図１４】第３の実施形態におけるUPnPによるsubscribe request及びsubscribe responseの一例を示す図である。
【図１５】第３の実施形態におけるUPnPによるイベントメッセージの一例を示す図である。
【図１６】第３の実施形態における機器制御システムの機器制御及び完了通知を受けるためのフロー図の別の一例を示す図である。
【図１７】第３の実施形態におけるUPnPによるsubscribe request及びsubscribe responseの別の一例を示す図である。
【図１８】第３の実施形態におけるBML文書の別の一例を示す図である。
【図１９】本願実施形態の変形例における機器制御フローの一例を示す図である。
【図２０】本願実施形態の変形例におけるBML文書の一例を示す図である。
【図２１】本願実施形態の変形例におけるBML文書の別の一例を示す図である。
【図２２】本願実施形態の変形例におけるBML文書の別の一例を示す図である。
【図２３】本願実施形態の変形例におけるBML文書の別の一例を示す図である。
【符号の説明】
【０１１５】
１００：放送局
１０１：BML文書DB
１０４：デジタル放送対応テレビ（デジタルテレビ）
２００：テレビ受信部
２０１：BML処理部
２０２：UPnP通信部
【図１】
2006197358.tif 000003
【図２】
2006197358.tif 000004
【図３】
2006197358.tif 000005
【図４】
2006197358.tif 000006
【図５】
2006197358.tif 000007
【図６】
2006197358.tif 000008
【図７】
2006197358.tif 000009
【図８】
2006197358.tif 000010
【図９】
2006197358.tif 000011
【図１０】
2006197358.tif 000012
【図１１】
2006197358.tif 000013
【図１２】
2006197358.tif 000014
【図１３】
2006197358.tif 000015
【図１４】
2006197358.tif 000016
【図１５】
2006197358.tif 000017
【図１６】
2006197358.tif 000018
【図１７】
2006197358.tif 000019
【図１８】
2006197358.tif 000020
【図１９】
2006197358.tif 000021
【図２０】
2006197358.tif 000022
【図２１】
2006197358.tif 000023
【図２２】
2006197358.tif 000024
【図２３】
2006197358.tif 000025