JP4322819B2 - 機器制御装置、機器制御方法及び制御プログラム - Google Patents

機器制御装置、機器制御方法及び制御プログラム Download PDF

Info

Publication number
JP4322819B2
JP4322819B2 JP2005007922A JP2005007922A JP4322819B2 JP 4322819 B2 JP4322819 B2 JP 4322819B2 JP 2005007922 A JP2005007922 A JP 2005007922A JP 2005007922 A JP2005007922 A JP 2005007922A JP 4322819 B2 JP4322819 B2 JP 4322819B2
Authority
JP
Japan
Prior art keywords
bml
upnp
interpretation
document
device control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005007922A
Other languages
English (en)
Other versions
JP2006197358A (ja
Inventor
芳樹 寺島
圭一 寺本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005007922A priority Critical patent/JP4322819B2/ja
Priority to US11/319,180 priority patent/US7657328B2/en
Publication of JP2006197358A publication Critical patent/JP2006197358A/ja
Application granted granted Critical
Publication of JP4322819B2 publication Critical patent/JP4322819B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/86Arrangements characterised by the broadcast information itself
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/68Systems specially adapted for using specific information, e.g. geographical or meteorological information
    • H04H60/73Systems specially adapted for using specific information, e.g. geographical or meteorological information using meta-information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/76Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet
    • H04H60/78Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by source locations or destination locations
    • H04H60/80Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by source locations or destination locations characterised by transmission among terminal devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4131Peripherals receiving signals from specially adapted client devices home appliance, e.g. lighting, air conditioning system, metering devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4227Providing Remote input by a user located remotely from the client device, e.g. at work
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6543Transmission by server directed to the client for forcing some client operations, e.g. recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8126Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、放送コンテンツを構成する情報に基づいて、ネットワークに接続された機器を制御するための機器制御装置、機器制御方法およびプログラムに関する。
テレビジョンのデジタル放送化に伴い、デジタル放送対応テレビ(以降、デジタルテレビと呼ぶ)の普及が進んでいる。デジタル放送では通常の映像コンテンツのみならず静止画や音声、文字情報など種々のマルチメディアデータを含めることができる。たとえばユーザからリモコン入力などのインタラクションを画面に反映させるコンテンツや、そのインタラクションに基づいて機器を制御するサービスが放送局から提供される。
たとえば特許文献1では、放送波に放送番組の番組データとともに番組の内容に応じた宅内の機器を動作させるための動作制御信号を配信し、番組のあるシーンの放送タイミングに合わせ宅内機器に制御信号を送信することで、たとえば暑いシーンが放送される場面ではエアコンの温度を上げるといった付加的なサービスを実現するシステムを提案している。
特許文献2では、デジタル放送受信装置に外部接続された機器を制御する手段として制御用のパラメータが指定されたXML文書を送受信することにより実現する方法を提案している。
特開2001−333030公報 特開2002−208899公報
デジタル放送によれば限られた範囲ではあるが番組と宅内機器との連携動作が実現可能である。しかしながら特許文献1のような番組データと制御信号とが独立している形態では、ユーザ操作時任意のタイミングで制御命令を発行したり制御命令の実行結果や通知内容に応じて表示を変更するといったサービスは実現できない。また、特許文献2に関しては、この発明の前提とする仕様によれば特許文献2で開示する機器の制御に用いる記述手段は、その記述内容をどのように解釈してどのような通信手段で宅内機器を制御するかは定義されておらず、実用上運用しないとされている。すなわちこれら宅内機器の制御及び機器からの割り込み検出の動作を実現するためには制御対象となる機器毎の独自仕様、独自実装に応じた対応範囲の制御しかできず、たとえばデジタルテレビと通信可能な機器の一覧を取得するといった動作を実現することは事実上不可能である。
本発明はこれらの問題に鑑みて成されたものであり、放送局により配信されるデジタル放送コンテンツに基づいて、各家庭に敷設されたネットワーク内に接続された機器との連動を前提としたサービスを提供するコンテンツの記述手段を実装した機器制御装置を提供することを課題とする。
本発明の機器制御装置によれば、表示画面と、デジタル放送に含めて配信可能なBML文書を取得する取得手段と、前記BML文書内に記述された外部機器制御関数を解釈するBML解釈手段と、前記BML解釈手段解釈結果UPnPに規定されかつ前記解釈結果に基づく通信プロトコルのメッセージに読み替えて、UPnPに従って外部の制御対象となる機器と通信する通信手段と、前記BML解釈手段の解釈の結果に基づいて前記通信手段に前記機器と通信することを指示するBML処理手段とを備え、前記通信手段は、BML文書内に所定の外部機器制御関数が記述されていた場合、UPnPに規定された機器検出のためのプロトコルを実行し、前記BML処理手段は、前記機器検出により、検出された機器に対応した表示画像を前記表示画面に表示させることを特徴とする機器制御装置が提供される。
また別の態様として、表示画面と、デジタル放送に含めて配信可能なBML文書を取得する取得手段と、前記BML文書内に記述された、ある外部の制御対象となる機器からの割り込みを検出するための記述を解釈するBML解釈手段と、前記BML解釈手段の解釈結果UPnPに規定されかつ前記解釈結果に基づく通信プロトコルのメッセージに読み替えて、UPnPに従って外部の制御対象となる機器と通信する通信手段と、前記BML解釈手段の解釈の結果に基づいて、前記機器から割り込みがされるよう該機器に要求すること、およびこの要求に基づいて得られた割り込みを検出することを前記通信手段に対して指示するBML処理手段とを備え、前記通信手段は、BML文書内に所定の割り込み検出のための記述がされていた場合、UPnPによる割り込み依頼の要求および割り込み検出のためのプロトコルを実行し、前記BML処理手段は、前記割り込み要求、又は割り込み検出の実行結果を前記表示画面に表示させることを特徴とする機器制御装置が提供される。
また別の態様として、表示画面と、デジタル放送に含めて配信可能なBML文書を取得する取得手段と、前記BML文書内に記述された外部機器制御関数を解釈するBML解釈手段と、前記BML解釈手段の解釈結果UPnPに規定されかつ前記解釈結果に基づく通信プロトコルのメッセージに読み替えて、UPnPに従って外部の制御対象となる機器と通信する通信手段と、前記BML解釈手段の解釈の結果に基づいて前記通信手段に前記機器と通信することを指示するBML処理手段とを備え、前記通信手段は、BML文書内に所定の外部機器制御関数が記述されていた場合、UPnPに規定された機器制御のためのプロトコルを実行し、前記BML処理手段は、前記機器制御の実行結果を前記表示画面に表示させることを特徴とする機器制御装置が提供される。

さらに上記機器制御装置を実現するための機器制御方法、制御プログラムが提供される。
本発明によれば、機器の制御信号を配信するデジタル放送において、ネットワーク内に接続された通信可能な機器同士の連動が可能なサービスを提供することができる。
デジタル放送では、コンテンツの構築のためにARIB(Association of Radio Industries and Businesses:電波産業会)により標準規格として策定された、BML(Broadcast Markup Language)と呼ばれる記述言語が用いられている。BMLはXML(Extensible Markup Language)をもとに策定されたデジタル放送向けコンテンツ記述言語であり、マルチメディアデータの配置位置の指定機能やJava(R)Scriptの標準規格であるECMAScriptによるスクリプト実行機能、DOM(Document Object Model)によるXMLの操作機能などを備える。さらにECMAScriptから利用可能な関数を備え、録画予約実行などの放送用拡張機能を備えている。
デジタルテレビにはBMLブラウザが搭載されており、このBMLブラウザが放送波を介して配信された放送局が作成したBML文書を解釈することでBML文書中のタグに従ったコンテンツの表示やECMAScriptによるサービスが実行される。
一方、近年AV機器や白物家電といった宅内機器のネットワーク化が進んでいる。ネットワークを介してこれらを制御するためにUPnP(Universal Plug and Play)などのプロトコルが標準として使われている。UPnPは機器検出、制御、通知といった機構を備える宅内に敷設されるようなホームネットワークで用いられる機器制御プロトコルの1つになると考えられる。
(第1の実施形態)
以下に本発明にかかる機器制御装置の一例を、図を参照しながら説明する。
図1は本実施形態における機器制御システムの一例を示す図である。図1には、BML文書を含むコンテンツを配信する放送局100、各制御情報が記述されたBML文書を格納するBML文書DB101、デジタル放送を配信する放送波102、放送波102の配信を受ける加入者103、デジタルテレビ104、ホームネットワーク105、及びホームネットワーク105に接続された電子レンジA106、B107が記載されている。
放送局100は、放送波102を通じて加入者103宛てにデジタル放送を配信する。このとき放送局100は必要に応じてBML文書DB101に格納されたBML文書をコンテンツの1つとして配信することができる。
BML文書DB101は、放送波102によって配信されるBML文書を格納している。BML文書には、デジタルテレビ104の画面上における配信したコンテンツの配置位置などの通常想定されたBML記述に加え、電子レンジA106のようなホームネットワーク上のある機器を制御するための記述がされている。
放送波102は、加入者103に配信されるデジタル放送の電波を指す。
加入者103は、放送波102を受信するユーザであり配信を受けるに際し有料、無料に関わらず放送波102を受信可能な権利とそれに必要な設備を所有する者である。
デジタルテレビ104は、放送波102により配信されるデジタル放送を受信し、またホームネットワーク105を介して電子レンジA106、B107と通信可能なテレビである。
ホームネットワーク105は、加入者103の宅内に敷設されたネットワークである。たとえばIEEE802.3で規定されるような有線LAN、IEEE802.11xで規定されるような無線LANいずれであっても構わない。宅内に設置された機器同士が通信可能な通信媒体であれば利用可能である。
電子レンジA106及び電子レンジB107は、ホームネットワーク105を介して他の機器と通信可能な機能を備えた電子レンジである。
図2は本実施形態におけるデジタルテレビ104のブロック図の一例を示す図である。図2には、テレビ受信部200、BML処理部201及びUPnP通信部202が示されている。
テレビ受信部200は、放送局100から配信されたデジタル放送の放送波102を受信しそれに含まれる映像信号を自身が備えるブラウン管などの表示装置に表示するとともに、放送波102に含まれるBML文書を分離してBML処理部201に受け渡す機能を有する。デジタル放送のデータはBML文書や映像、音声などが混合されて配信されるため、テレビ受信部200にはデジタル放送のデータの受信機能、これら情報の分離機能、映像信号の復号機能及び再生機能などが必要である。しかしながらこれらの機能は既知の技術として実現されているものであるからここでは細説しない。
BML処理部201は、受信したBML文書を解釈しBML文書中のタグの解析やECMAScriptにより記述されたスクリプトを実行する機能を有する。さらにBML処理部201は、BML文書中にUPnPに対応する機器を対象としてBML文書で規定された外部機器制御関数の記述または外部機器からの割り込み検出機構の記述が存在した場合、これらの記述に対して与えられている引数の値などのUPnPによる通信に必要な情報を抽出する。そしてこれらの値を必要に応じて変換し、UPnP通信部202に受け渡す。またUPnP通信部202が他のUPnPに対応する機器からメッセージを受け取った場合には、制御の成否結果といった通信内容を抽出しECMAScriptの関数の戻り値などとしてBML文書として扱うことができる形式に変換する機能を有する。本実施形態ではBML処理部201は、外部機器制御関数としてBMLに規定されているenumPeripheripherals()を用いると共に、UPnP通信部202にとってのコントローラとして機能している。
UPnP通信部202は、BML処理部201の指示に従ってUPnPに準拠したプロトコルによりホームネットワーク105を介して、たとえば電子レンジA106と通信する機能を有する。UPnPにより実現される機能として、機器の検索要求メッセージに対してホームネットワーク105上に自身が存在することを応答する機能や、たとえば調理レシピセットの制御メッセージをやり取りし応答する機能及び調理が完了したことを通知する調理完了メッセージを送信する機能を有する。本実施形態ではホームネットワーク105に接続された機器とUPnPに準拠したプロトコルを用いて通信することとしているが、BML処理部201からの指示に基づいてこれら各機器と通信できるものであればどのようなプロトコルであってもかまわない。
図3に本実施形態における機器制御システムの機器検出のためのフロー図の一例を示す。最初に放送局100から外部機器制御関数(enumPeripherals())を含んだBML文書300が放送波301として配信される。デジタルテレビ104がこれを受信すると、テレビ受信部200が放送波301からBML文書300を分離しBML文書情報302としてBML処理部201に受け渡す。
BML処理部201は受け取ったBML文書情報302に記載されたタグに応じた画面を表示しあるいはECMAScriptを実行する。ここでBML処理部201は、BML文書情報302に外部機器制御関数が記述されていた場合に、UPnP通信部202に対してこの関数の記載に応じたコマンド303を発行する。
UPnP通信部202は、コマンド303を受け取るとこの内容に基づいてSSDP(Simple Service Discovery Protocol)によるsearch request304を作成しホームネットワーク105上にマルチキャスト送信する。
UPnPに対応した機器である電子レンジA106や電子レンジB107はsearch request304に応えて、各自のLOCATIONやUSN(Unique Service Name)をsearch response305または306として応答する。これを受信したUPnP通信部202は、受け取った情報を外部機器制御関数(enumPeripherals())の実行結果307としてBML処理部201に返す。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を持つ。
図4は本実施形態における機器制御システムの機器検出のためのBML文書300の一例を示した図である。なお実際のBML文書では、xml宣言、DTD宣言bml宣言やスタイルシートの指定などが必要であるが、ここでは簡略化のために省略している。またenumPeripherals()の実行結果の戻り値として想定する値の例を/*…*/の記号を用いてコメント文の形で記載している。もちろんコメント文はスクリプトの実行にはなんら影響を与えるものではなく実際のBML文書に記載する必要はない。
BML処理部201は、BML文書300のenumPeripherals()の引数の記載を解釈してUPnP通信部202にコマンド303を発行する。またこのコマンド303に対するUPnP通信部202からの応答である実行結果307を受信して、この結果をresultに格納する。ここではホームネットワーク105上にUPnPに対応した機器が電子レンジA106およびB107の2台であるから、それぞれresult[0]、result[1]の2つが戻り値として格納される。
図5はコマンド303を受けたUPnP通信部202が送信するsearch request304の一例を示した図である。本実施形態ではSSDPの検索においてサービス検索対象を指定し、SSDP/HTTPMUにてネットワーク内にサービス検索要求のメッセージ(search request)を送信する。そしてサービス検索要求を受信したUPnPに対応した機器は検索対象に一致する場合はSSDP/HTTPMUでの応答を返すものとする。図中、ST:upnp:rootdeviceの“upnp:rootdevice”の部分は図4に示したenumPeripherals()の引数と同じものが格納される。HOSTは固定値として定められたUPnP用マルチキャストアドレス、MANは機器検出を示す固定値“ssdp:discover”、MXは応答を待つための時間(固定値)がUPnP通信部202によって与えられる
図6はsearch request304を受けたUPnPに対応する機器が返すsearch response305及び306の一例を示す図である。本実施形態のデジタルテレビ104では、search response305の“LOCATION:http://192.168.0.100:10000/rangeA.xml”の部分及びsearch response306の“LOCATION:http://192.168.0.200:20000/rangeB.xml”の部分が検出したUPnPに対応する機器であると解釈され、enumPeripherals()のresultに格納される。
すなわち図4の関数search()を呼び出すことでenumPeripherals()が実行され現在通信可能なUPnPに対応する機器のLOCATION情報の一覧を取得することがBML文書において記述可能になる。BMLの規定ではDOMによるXMLの操作機能として指定URLからXML文書を取得する手段やXML文書を解析し各要素を抽出するといった手段を提供している。この機能を使用することにより、LOCATION情報が分かればXML文書として記述されているdescriptionを取得し、これを解析することで検出した機器の機器名などの詳細な情報を得ることができる。
このように構成することにより、機器の制御信号を配信するデジタル放送において、各家庭に敷設されたネットワーク内に接続された機器に共通のデバイス、サービス検出方法を提供することができる。
(第2の実施形態)
本実施形態は放送局100から配信されたBML文書700を受信したデジタルテレビ104が、ホームネットワーク105上のUPnPに対応した機器に対し制御命令を送る一例である。
以下に本発明にかかる機器制御装置の一例を、図を参照しながら説明する。
図1は本実施形態における機器制御システムの一例を示す図である。また図2は本実施形態におけるデジタルテレビ104のブロック図の一例を示す図である。本実施形態と第1の実施形態との相違は、BML処理部201が外部機器制御関数としてBMLに規定されているgetArrayFromPeripheral()を用いている点である。その他の点については第1の実施形態の場合と同様であるから省略する。
図7は本実施形態における機器制御システムの機器制御のためのフロー図の一例を示す。
最初に放送局100から外部機器制御関数(getArrayFromPeripheral())を含んだBML文書700が放送波701として配信される。デジタルテレビ104がこれを受信すると、テレビ受信部200が放送波701からBML文書700を分離しBML文書情報702としてBML処理部201に受け渡す。
BML処理部201は受け取ったBML文書情報702に記載されたタグに応じた画面を表示しあるいはECMAScriptを実行する。ここでBML処理部201は、BML文書情報702に外部機器制御関数が記述されていた場合に、UPnP通信部202に対してこの関数の記載に応じたコマンド703を発行する。
UPnP通信部202は、コマンド703を受け取るとこの内容に基づいてSOAP(Simple Object Access Protocol)によるcontrol request704を作成しホームネットワーク105上の制御対象であるたとえば電子レンジA106に対して送信する。
UPnPに対応した機器である電子レンジA106はcontrol request704の制御要求の結果等を含んだcontrol response705を送信する。これを受信したUPnP通信部202は、受け取った情報を外部機器制御関数(getArrayFromPeripheral())の実行結果706としてBML処理部201に返す。
ここでいう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による制御を行う。戻り値は配列要素であり、最初の要素の制御の結果が次の要素に応答メッセージの内容が格納される。
図8は本実施形態における機器制御システムの機器制御のためのBML文書700の一例を示した図である。なお実際のBML文書では、xml宣言、DTD宣言bml宣言やスタイルシートの指定などが必要であるが、ここでは簡略化のために省略している。またgetArrayFromPeripheral()の実行結果の戻り値として想定する値の例を/*…*/の記号を用いてコメント文の形で記載している。もちろんコメント文はスクリプトの実行にはなんら影響を与えるものではなく実際のBML文書に記載する必要はない。
BML処理部201は、BML文書700のgetArrayFromPeripheral()の引数の記載("http://192.168.0.100:10000/upnp/control"など)を解釈してUPnP通信部202にコマンド703を発行する。またこのコマンド703に対するUPnP通信部202からの応答である実行結果706を受信して、この結果をresultに格納する。ここでは制御対象の機器がIPアドレス192.168.0.100、ポート番号10000を持つものとする。
図9はコマンド703を受けたUPnP通信部202が送信するcontrol request704の一例を示した図である。本実施形態ではUPnP通信部202から電子レンジA106への通信にはHTTPのmethod:POSTにて制御要求のメッセージ(control request)を作成して送信する。図8に示す"http://192.168.0.100:10000/upnp/control"の部分は、図中の1行目“POST /upnp/control”と2行目のHOSTヘッダ“HOST:192.168.0.100:10000”に相当している。図8に示すdata[0]の内容及びgetArrayFromPeripheral()の引数“Set”は、4行目のサービスタイプ“urn:schemas-upnp-org:service:control:1”と、4行目のアクション名“Set”に相当する。またこれらの値はメッセージBody部(<SOAP-ENV:BODY>)の「<M:SET M=“URN:SCHEMAS-UPNP-ORG:SERVICE:CONTROL:1”>」にも反映される。さらに図8に示す引数の名前とその値であるdata[1]、data[2]の内容はメッセージBody部に記載の“<DATA>0x1234</DATA>”のように表現される。なお、図8のBML文書700においてdata[i]、data[i+1]のような引数の組みがさらに指定されている場合には、control request704作成時にその個数分の組み合わせからなるタグ生成が行われる。
図10はcontrol request704を受けたUPnPに対応する機器が返すcontrol response705の一例を示す図である。本実施形態のデジタルテレビ104では、control response705の“<S.ENVELOPE …>…</S.ENVELOPE>”の部分をgetArrayFromPeripheral()の戻り値として扱う。具体的には、BML処理部201は図10のcontrol response705に示すような実行結果706が得られた場合には図8に示すresult[0]に“1”を格納し、result[1]にはcontrol response705の“<S.ENVELOPE…>…</S.ENVELOPE>”というXML形式の文字列を格納する。
このとき電子レンジA106においてcontrol request704で要求した制御が正常に完了しなかった場合には、UPnPではたとえば図11のようなcontrol response705が返される。この場合にはcontrol response705に記載された“<ERRORCODE>402</ERRORCODE>”の部分が解析されて、図8に示すresult[0]にエラーコードとしての“402“なる値が格納される。
また図7に示すcontrol request708のように、制御対象である電子レンジA106との通信自体が失敗するような場合には、UPnP通信部202がエラーコード“-1”を実行結果709として返すことで図8に示すresult[0]には“-1”が格納される。通信ができたとしてもタイムアウトで設定した時間内に応答がなかった場合にも同様に通信が失敗したと判断する。
すなわち図8の関数control ()を呼び出すことでgetArrayFromPeripheral()が実行されUPnPによる制御対象となる機器への制御メッセージを送信し、その結果をXML形式の文字列として得ることが可能となる。機器の状態を取得するときはBML文書のDOMのXML操作機能により、戻り値のXML形式文字列を解析することでその内容を調べることができる。
なおUPnPによる機器への制御メッセージの送信および応答メッセージの受信処理では、Action(主に制御に使用)とQuery for variable(主に状態取得に使用)の二つの方式が存在する。ActionとQuery for variableとの通信手順は同じであるため、ここではBML文書中のgetArrayFromPeripheral()に対応するUPnP通信としてAction方式で行う例を示しているが、Query for variable方式への対応も容易に可能である。
このように構成することにより、機器の制御信号を配信するデジタル放送において、各家庭に敷設されたネットワーク内に接続された機器の共通の制御方法を提供することができる。
(第3の実施形態)
本実施形態は放送局100から配信されたBML文書1200を受信したデジタルテレビ104が、ホームネットワーク105上のUPnPに対応した機器に対し制御命令を送り、この制御命令が完了した際にはデジタルテレビ104宛に完了した旨を通知してもらう一例である。
以下に本発明にかかる機器制御装置の一例を、図を参照しながら説明する。
図1は本実施形態における機器制御システムの一例を示す図である。また図2は本実施形態におけるデジタルテレビ104のブロック図の一例を示す図である。本実施形態と第2の実施形態との相違は、UPnP通信部202がUPnPを用いた通知の機構としてのGENA(Generic Event Notification Architecture)と、BML処理部201がBMLを用いた割り込み事象を扱うための拡張機構とを連携して用いて実現している点である。その他の点については第1の実施形態の場合と同様であるから省略する。
ここでいうGENAとはUPnPで規定された、デバイスのサービス状態が変化したことを通知する方法を定義したものである。
GENAではまずサブスクライバ(通知する先のデバイス)がパブリッシャ(状態変化するサービスを持つデバイス)に対してSUBSCRIBEメソッドにより通知先や通知して欲しいサービス対象などを含んだ要求メッセージを送信しておく。この通知依頼は有効期限が定められており、サブスクライバが有効期限後も引き続き通知を受けたい場合は定期的に通知依頼を繰り返す必要がある。
その後パブリッシャ側で通知すべき状態変化があると、パブリッシャはサブスクライバにNOTIFYメソッドによりサービスの状態が変化したことをイベントメッセージとして送信する。
通知依頼に際しては、その引数としてパブリッシャのIPアドレス、ポート番号、パブリッシャの通知して欲しいサービスを特定するパス名、イベントメッセージを受け取るサブスクライバ自身のURLが必要となる。通知依頼に対してはパブリッシャ側からの戻り値としてSID(Service Identifier)が与えられる。サブスクライバが引き続き通知を受けたい旨の通知依頼をする際には、引数としてこのSIDが必要となる。
図12は本実施形態における機器制御システムの機器制御及び完了通知を受けるためのフロー図の一例を示す。
最初に放送局100から「<BEITEM TYPE=“PERIPHERALEVENTOCCURRED”…>」を含んだBML文書1200が放送波1201として配信される。デジタルテレビ104がこれを受信すると、テレビ受信部200が放送波1201からBML文書1200を分離しBML文書情報1202としてBML処理部201に受け渡す。
BML処理部201は受け取ったBML文書情報1202に記載されたタグに応じた画面を表示しあるいはECMAScriptを実行する。ここでBML処理部201は、BML文書情報1202にUPnPに対応した機器を対象とした「<BEITEM TYPE=“PERIPHERALEVENTOCCURRED”…>」が記述されていた場合に、UPnP通信部202に対してこの関数の記載に応じたコマンド1203を発行する。
UPnP通信部202は、コマンド1203を受け取るとこの内容に基づいてGENAによるsubscribe request1204を作成しホームネットワーク105上の制御対象であるたとえば電子レンジA106に対して送信する。
UPnPに対応した機器である電子レンジA106はsubscribe request1204の制御要求の結果等を含んだsubscribe response1205を送信する。これを受信したUPnP通信部202は、BML処理部201が終了する、あるいはBML文書1200が別のページに遷移する、あるいはBML文書中で明示的に通知依頼のキャンセルを行う、といった処理をしない限り、UPnP通信部202は通知依頼の有効期限が満了しない程度の頻度で繰り返しsubscribe request1206を送信する。
電子レンジA106に対してたとえば調理の完了を通知するように依頼しておいた場合、電子レンジA106が調理を終了したときにはデジタルテレビ104に対して電子レンジA106からイベントメッセージ1208が送信される。UPnP通信部202はこのイベントメッセージ1208を受け取ると、その内容を実行結果1209としてBML処理部201に返す。
次からはさらに上記フローでやり取りされる情報の詳細について説明する。
まず本実施形態ではBMLで規定されているbeitem要素のtype属性の値に“PeripheralEventOccurred”を指定する場合の仕様を次のように定義する。
・beitem要素:UPnP通知機構用として以下にbeitem要素の属性を定義する
・id属性(必須) beitem要素の識別子
・onoccur属性(必須) 割り込み事象が発生したときに実行されるECMAScriptの関数名を特定する文字列を記述する
・subscribe属性(必須) “subscribe”または“unsubscribe”
・type属性(必須) 割り込み事象の種類を指定する。ここでは“PeripheralEventOccurred”のみ有効とする
・peripheral_ref属性(必須) パブリッシャのIPアドレス、ポート番号、サービスを特定する、UPnPにおけるeventSubURLを指定する
イベントメッセージの通知、もしくは通知依頼の失敗によりonoccur属性で特定された関数名を持つ関数が呼び出されたとした場合、本実施形態のデジタルテレビ104では呼び出される関数は必ずArrayオブジェクトを引数に持つこととし、呼び出された際にはその引数の中身には次のような値が格納されていると定義する。
引数:Array[0] 関数が呼び出されたステータス
1 イベントメッセージの通知による関数呼び出し
-1 通知依頼の失敗による関数呼び出し(制御対象機器との通信に失敗)
400〜 通知依頼の失敗に伴う関数呼び出し
subscribe response1205のヘッダに記載のステータスと同じ
NaN その他の要因による失敗
Array[1] イベントメッセージが通知された際の、そのBody部に記載されたXML形式の文字列
図13は本実施形態における機器制御システムの機器制御および完了通知を受けるためのBML文書1200の一例を示した図である。なお実際のBML文書では、xml宣言、DTD宣言bml宣言やスタイルシートの指定などが必要であるが、ここでは簡略化のために省略している。また関数eventing()の実行結果の戻り値として想定する値の例を/*…*/の記号を用いてコメント文の形で記載している。もちろんコメント文はスクリプトの実行にはなんら影響を与えるものではなく実際のBML文書に記載する必要はない。
BML文書1200ではbeitem要素のonoccur属性に与える関数の値として、関数を特定するための文字列“eventing()”を指定している。またscript要素におけるECMAScript関数としてArrayオブジェクトの引数を持つeventing(data)を定義している。
onoccur属性に与える値としては、“eventing()”のようにあくまで関数名だけを指定し、引数などの指定はしないものとする。
BML処理部201は、BML文書1200のperipheral_ref属性の値に指定されている"http://192.168.0.100:10000/upnp/event"(eventSubURLに相当)をもとに制御対象である電子レンジA106のIPアドレス192.168.0.100、ポート番号10000を得ることができる。この情報はコマンド1203としてUPnP通信部202に送られ電子レンジA106との通信に使われる。
図14はコマンド1203を受けたUPnP通信部202が送受信するメッセージ1204、1205、1206の一例を示した図である。図13に示す「peripheral_ref=”http://192.169.0.100:10000/upnp/event」の部分は、図中の1行目“SUBSCRIBE /upnp/event HTTP/1.1”の“/upnp/event”と5行目のHOSTヘッダ“HOST:192.168.0.100:10000”に相当している。その他の、固定の文字列NT、通知を受け取るデジタルテレビ104内の呼び出し先のURLを示すCALLBACK、通知依頼の有効期限を示すTIMEOUT(図14では1800秒)などはUPnP通信部202が所定値を設定する。
UPnP通信部202は電子レンジA106から正常に処理できた旨のsubscribe response1205を受け取った場合は、subscribe response1205の4行目に記載のSIDヘッダの値“uuid:13ce8400-1dd2-11b2-0000-000d0b17bc3c”を記憶しておく。以後、タイムアウト近くになっても通知がない場合には、subscribe request1204のNT及びCALLBACKの部分を、この記憶したSIDに変えたsubscribe request1206を作成し繰り返し電子レンジA106に有効期限の延長を依頼する。このように構成すると、UPnPに対応する機器から継続して完了通知を得られる状態を維持することができる。
図15はsubscribe request1204で依頼した状態変化が電子レンジA106で発生した場合の、電子レンジA106がデジタルテレビ104に送信するイベントメッセージ1208の一例を示している。
本実施形態のデジタルテレビ104では、イベントメッセージ1208の“<E.PROPERTYSET …>…</E.PROPERTYSET>”の部分をeventing ()の戻り値として扱う。具体的には、BML処理部201は図15のイベントメッセージ1208に示すような実行結果1209が得られた場合には図13に示すresult[0]に“1”を格納し、result[1]にはイベントメッセージ1208の“<E.PROPERTYSET…>…</E.PROPERTYSET>”というXML形式の文字列を格納する。その後、onoccur属性で指定した関数eventing()を起動する。
すなわち制御対象となる機器の完了を知ることができると共に、依頼した制御命令が正しく通知されたかを図13の関数eventing ()内で判断し、その結果をXML形式の文字列として得るという機能をBMLとして記述することが可能となる。機器の状態を取得するときはBML文書のDOMのXML操作機能により、戻り値のXML形式文字列を解析することでその内容を調べることができる。
通知依頼の明示的なキャンセルに関しては、BML文書中のbeitem要素のsubscribe属性の値を、ECMAScriptの機能にて“subscribe”から“unsubscribe”に動的に変化させることで行う。このときはUPnP通信部202は電子レンジA106対し、UNSUBSCRIBEメソッドによる通知依頼キャンセルのメッセージを送信する。
このとき電子レンジA106においてsubscribe requestが正常に完了しなかった場合を説明する。図16に示した放送波1607、BML文書情報1608、コマンド1609及びsubscribe request1610は上述した正常な場合と同様である。仮に電子レンジA106がsubscribe request1601を処理しようとしたときに異常を検出した場合、電子レンジA106は要求がエラーした旨を図17に示すようなsubscribe response1605として送信する。この場合にはsubscribe response1605の1行目に記載されたHTTPレスポンスコード“500”を、図18に示すようにdata[0]にエラーコードとして “500“なる値が格納される。
また図16に示すsubscribe request1610のように、制御対象である電子レンジA106との通信自体が失敗するような場合には、UPnP通信部202がエラーコード“-1”を実行結果1611として返すことで図18に示すdata[0]には“-1”が格納される。通信ができたとしてもタイムアウトで設定した時間内に応答がなかった場合にも同様に通信が失敗したと判断する。あるいはBML文書を受信した最初の通知依頼の時点だけでなく、定期的にsubscribe request1206を送信している際のエラーについても同様の判断がされる。
このように構成することにより、機器の制御信号を配信するデジタル放送において、各家庭に敷設されたネットワーク内に接続された機器に共通の完了通知方法を提供することができる。
(第1−第3の実施形態を組み合わせた変形例)
本組み合わせ例は、第1、第2及び第3の実施形態を組み合わせた機器制御システムの一例である。よって本変形例にかかる装置は第1〜第3の実施形態で説明した機能を備えているものとする。
デジタルテレビ104はホームネットワーク105に接続された機器の制御に先立って、放送局100よりBML文書を含む放送波102を受信する。本変形例では、開始ページであるStartup.bml、電子レンジA106用のコンテンツであるrangeA1.bml、rangeA2.bml、rangeA3.bml、rangeAX.bml、電子レンジB107用のコンテンツであるrangeB1.bml、一般用のコンテンツであるnorange.bmlが配信されているものとする。
図19は本変形例における機器制御フローの一例を示す図である。デジタルテレビ104はBML文書の配信を受けると、BML処理部201によって開始ページであるStartup.bmlの解釈を始める。ここでホームネットワーク105に接続されたUPnPに対応する機器の検出がされ、見つかった機器に応じた処理がされる(ステップS01)。電子レンジA106が見つかった場合にはステップS03に分岐する。電子レンジB107が見つかった場合にはステップS10に分岐する。どちらも見つからなかった場合にはステップS02に分岐する。
電子レンジA106が見つかった場合、rangeA1.bmlを実行することによりデジタルテレビ104の表示画像がたとえば電子レンジA106にて調理可能な料理番組を映すように切り替わる。このときデジタルテレビ104の画面上にも「電子レンジAに調理レシピデータをセットする」というボタンを表示させる。
デジタルテレビ104のリモコン操作により、表示されているボタンを選択、決定すると(ステップS03)、放送中の料理に対応したレシピデータがUPnP通信部202を介して電子レンジA106に送信される(ステップS04)。
正常にレシピデータの送信ができたか否かを判断し(ステップS05)、失敗したと判断した場合には「制御に失敗しました」といったメッセージをデジタルテレビ104の画面に表示するためのrangeAX.bmlを実行する(ステップS06)。
正常に送信ができたときは、続けて電子レンジA106の調理完了イベントのUPnPによる通知依頼を送信する(ステップS07)。
正常に通知依頼ができたか否かを判断し(ステップS08)、失敗したと判断した場合には「制御に失敗しました」といったメッセージをデジタルテレビ104の画面に表示するためのrangeAX.bmlを実行する(ステップS06)。
デジタルテレビ104は電子レンジA106の調理の完了を通知されるまで待機し、通知があった場合には(ステップS09)、rangeA3.bmlを実行することで「調理が完了しました」というメッセージを画面に表示し、ユーザに調理の完了を知らせる。
次からはさらに上記フローでやり取りされる情報の詳細について説明する。
図20は本変形例における機器制御システムの最初に実行される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を実行する。
図21は本変形例における電子レンジA106を制御するためのBML文書rangeA1.bmlを示した図である。このBML文書では、関数control()で外部機器制御関数getArrayFromPeripheral()を呼び出すことにより電子レンジA106を制御する。
関数control()はp要素のonkeydown属性に指定されることによりユーザがデジタルテレビ104に表示された「調理レシピデータのセット」のボタンを選択し、リモコンボタンを押下げた際に実行される。関数control()では、電子レンジA106が電子レンジAという機種であることが判明していることから、図21のように予め電子レンジA106用の引数を直接記述しておくことができる。controlURLの値はIPアドレスやポート番号を含むため可変でなければならないが、図20に示すようなStartup.bmlでURLBaseをUreg[0]に格納しておけばこの値を読み出すことで対応できる。戻り値result[0]が“1”以外の場合、制御対象の機器が制御できていないことを意味しているため、関数launchDocument()によりrangeAX.bmlを実行する。戻り値が“1”の場合にはここまでは正常に処理ができていることを意味するので、次のBML文書であるrangeA2.bmlを実行する。
図22は本変形例における電子レンジA106を制御するためのBML文書rangeA2.bmlを示した図である。このBML文書ではbeitem要素によるUPnPに対応する機器からの通知の検出をする。beitemの指定では、peripheral_ref属性の値としてeventSubURLの指定が必要である。EventSubURLは図20で取得したURLBaseの値をもとにこのBML文書読み込み時に実行される関数init()で生成する。これをBMLのDOM機能を用いてperopheral_ref属性の値としている(setAttribute(“peripheral_ref”,…)の部分)。なお、ここでは通常のECMAScriptによる操作が完了した後にUPnPによる通知依頼がされる。
通知もしくは通知依頼が失敗した場合に呼び出される関数eventing()で、この関数が呼び出されたときに引数data[0]の値が“1”以外であったときは通知依頼に失敗しているので関数launchDocument()によりrangeAX.bmlを実行する。戻り値が“1”の場合にはここまでは正常に処理ができていることを意味するので、調理完了をデジタルテレビ104に表示するための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文書の取得に関して、本変形例では放送局100から配信される放送波を介して配信されるとしているが、BML文書の一部をホームネットワーク105やインターネットを介して取得するようにしても良い。さらには放送コンテンツを番組の動画だけでなくBML文書も含めて家庭内に設置されたデジタル放送対応ハードディスクレコーダなどに保存し、その保存したBML文書を用いるようにすることも可能である。移動体向けのデジタル放送を介してBML文書を配信すれば、カーナビゲーションシステムといった車載した機器をBML文書によって制御するように構成することも可能である。
外部から機器の制御が可能になるとセキュリティを考慮しなければならない。たとえば悪意を持って作成された放送コンテンツの配信を受けることにより、ユーザの意図しない動作をする場合が考えられる。しかしながら本発明の想定するデジタル放送の性質上、機器制御を伴うコンテンツは常に限られた事業体である放送局100のみが作成し配信すると考えられる。よって第三者の介入が容易なインターネットなどとは異なり、不正な動作をする悪意のあるコンテンツの配信を受けるという可能性は低いと考えられることから、セキュリティ面での危険は最小限に抑えられると思われる。またインターネット上からBML文書を取得することに関しても、BMLの規格上、放送コンテンツの製作元である放送局100が指定したURLから取得するようになるので第三者の介入は難しいといえる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
第1の実施形態における機器制御システムの一例を示す図である。 第1の実施形態におけるデジタルテレビのブロック図の一例を示す図である。 第1の実施形態における機器制御システムの機器検出のためのフロー図の一例を示す図である。 第1の実施形態におけるBML文書の一例を示す図である。 第1の実施形態におけるUPnPによるsearch requestの一例を示す図である。 第1の実施形態におけるUPnPによるsearch responseの一例を示す図である。 第2の実施形態における機器制御システムの機器制御のためのフロー図の一例を示す図である。 第2の実施形態におけるBML文書の一例を示す図である。 第2の実施形態におけるUPnPによるcontrol requestの一例を示す図である。 第2の実施形態におけるUPnPによるcontrol responseの一例を示す図である。 第2の実施形態におけるUPnPによるcontrol responseの別の一例を示す図である。 第3の実施形態における機器制御システムの機器制御及び完了通知を受けるためのフロー図の一例を示す図である。 第3の実施形態におけるBML文書の一例を示す図である。 第3の実施形態におけるUPnPによるsubscribe request及びsubscribe responseの一例を示す図である。 第3の実施形態におけるUPnPによるイベントメッセージの一例を示す図である。 第3の実施形態における機器制御システムの機器制御及び完了通知を受けるためのフロー図の別の一例を示す図である。 第3の実施形態におけるUPnPによるsubscribe request及びsubscribe responseの別の一例を示す図である。 第3の実施形態におけるBML文書の別の一例を示す図である。 本願実施形態の変形例における機器制御フローの一例を示す図である。 本願実施形態の変形例におけるBML文書の一例を示す図である。 本願実施形態の変形例におけるBML文書の別の一例を示す図である。 本願実施形態の変形例におけるBML文書の別の一例を示す図である。 本願実施形態の変形例におけるBML文書の別の一例を示す図である。
符号の説明
100:放送局
101:BML文書DB
104:デジタル放送対応テレビ(デジタルテレビ)
200:テレビ受信部
201:BML処理部
202:UPnP通信部

Claims (10)

  1. 表示画面と、
    デジタル放送に含めて配信可能なBML文書を取得する取得手段と、
    前記BML文書内に記述された外部機器制御関数を解釈するBML解釈手段と、
    前記BML解釈手段解釈結果UPnPに規定されかつ前記解釈結果に基づく通信プロトコルのメッセージに読み替えて、UPnPに従って外部の制御対象となる機器と通信する通信手段と、
    前記BML解釈手段の解釈の結果に基づいて前記通信手段に前記機器と通信することを指示するBML処理手段とを備え、
    前記通信手段は、BML文書内に所定の外部機器制御関数が記述されていた場合、UPnPに規定された機器検出のためのプロトコルを実行し、
    前記BML処理手段は、前記機器検出により、検出された機器に対応した表示画像を前記表示画面に表示させる
    ことを特徴とする機器制御装置。
  2. 表示画面と、
    デジタル放送に含めて配信可能なBML文書を取得する取得手段と、
    前記BML文書内に記述された、ある外部の制御対象となる機器からの割り込みを検出するための記述を解釈するBML解釈手段と、
    前記BML解釈手段の解釈結果UPnPに規定されかつ前記解釈結果に基づく通信プロトコルのメッセージに読み替えて、UPnPに従って外部の制御対象となる機器と通信する通信手段と、
    前記BML解釈手段の解釈の結果に基づいて、前記機器から割り込みがされるよう該機器に要求すること、およびこの要求に基づいて得られた割り込みを検出することを前記通信手段に対して指示するBML処理手段とを備え、
    前記通信手段は、BML文書内に所定の割り込み検出のための記述がされていた場合、UPnPによる割り込み依頼の要求および割り込み検出のためのプロトコルを実行し、
    前記BML処理手段は、前記割り込み要求、又は割り込み検出の実行結果を前記表示画面に表示させる
    ことを特徴とする機器制御装置。
  3. 表示画面と、
    デジタル放送に含めて配信可能なBML文書を取得する取得手段と、
    前記BML文書内に記述された外部機器制御関数を解釈するBML解釈手段と、
    前記BML解釈手段の解釈結果UPnPに規定されかつ前記解釈結果に基づく通信プロトコルのメッセージに読み替えて、UPnPに従って外部の制御対象となる機器と通信する通信手段と、
    前記BML解釈手段の解釈の結果に基づいて前記通信手段に前記機器と通信することを指示するBML処理手段とを備え、
    前記通信手段は、BML文書内に所定の外部機器制御関数が記述されていた場合、UPnPに規定された機器制御のためのプロトコルを実行し、
    前記BML処理手段は、前記機器制御の実行結果を前記表示画面に表示させる
    ことを特徴とする機器制御装置。
  4. 前記取得手段は、デジタル放送、衛星通信、インターネット、ホームネットワークおよび読み出し可能な記憶装置のうちいずれかを介してBML文書を取得することを特徴とする請求項1乃至請求項3いずれか1項記載の機器制御装置。
  5. 表示画面と、取得手段と、BML解釈手段と、通信手段と、BML処理手段とを備える機器制御装置の制御方法であって、
    前記取得手段が、デジタル放送に含めて配信可能なBML文書を取得し、
    前記BML解釈手段が、前記BML文書内に記述された外部機器制御関数を解釈し、
    前記通信手段が、前記解釈の結果、前記BML文書内に所定の外部機器制御関数が記述されていた場合、前記解釈結果をUPnPに規定されたある機器検出のためのプロトコルのメッセージに読み替え、
    前記通信手段が、前記UPnPに規定されたある機器検出のためのプロトコルにより外部の制御対象となる機器と通信し、
    前記BML処理手段が、前記機器検出により、検出された機器に対応した表示画像を前記表示画面に表示させる
    ことを特徴とする機器制御方法。
  6. 表示画面と、取得手段と、BML解釈手段と、通信手段と、BML処理手段とを備える機器制御装置の制御方法であって、
    前記取得手段が、デジタル放送に含めて配信可能なBML文書を取得し、
    前記BML解釈手段が、前記BML文書内に記述された外部機器制御関数を解釈し、
    前記通信手段が、前記解釈の結果、前記BML文書内に所定の外部機器制御関数が記述されていた場合、前記解釈結果をUPnPに規定されたある機器制御のためのプロトコルのメッセージに読み替え、
    前記通信手段が、前記UPnPに規定されたある機器制御のためのプロトコルにより外部の制御対象となる機器と通信し、
    前記BML処理手段が、前記機器制御の実行結果を表示画面に表示させる
    ことを特徴とする機器制御方法。
  7. 表示画面と、取得手段と、BML解釈手段と、通信手段と、BML処理手段とを備える
    機器制御装置の制御方法であって、
    前記取得手段が、デジタル放送に含めて配信可能なBML文書を取得し、
    前記BML解釈手段が、前記BML文書内に記述されたある外部の制御対象となる機器
    からの割り込みを検出するための記述を解釈し、
    前記通信手段が、前記解釈の結果、前記BML文書内に所定のある外部の制御対象となる機器からの割り込みを検出するための記述がされていた場合、前記解釈結果をUPnPに規定された割り込み依頼の要求および割り込み検出のためのプロトコルのメッセージに読み替え、
    前記通信手段が、前記UPnPに規定された割り込み依頼の要求および割り込み検出のためのプロトコルにより外部の制御対象となる機器と通信し、
    前記BML処理手段は、前記割り込み要求、又は割り込み検出の実行結果を表示画面に表示させる
    ことを特徴とする機器制御方法。
  8. 機器制御装置の制御プログラムであって、
    前記機器制御装置のコンピュータに、
    デジタル放送に含めて配信可能なBML文書を取得するステップと、
    前記BML文書内に記述された外部機器制御関数を解釈するステップと、
    前記解釈の結果、前記BML文書内に所定の外部機器制御関数が記述されていた場合、前記解釈結果をUPnPに規定された機器検出のためのプロトコルのメッセージに読み替えるステップと、
    前記UPnPに規定された機器検出のためのプロトコルにより外部の制御対象となる機器と通信するステップと、
    前記機器検出により、検出された機器対応した表示画像を前記表示画面に表示させるステップとを実行させるための制御プログラム。
  9. 機器制御装置の制御プログラムであって、
    前記機器制御装置のコンピュータに、
    デジタル放送に含めて配信可能なBML文書を取得するステップと、
    前記BML文書内に記述された外部機器制御関数を解釈するステップと、
    前記解釈の結果、前記BML文書内に所定の外部機器制御関数が記述されていた場合、前記解釈結果をUPnPに規定された機器制御のためのプロトコルのメッセージに読み替えるステップと、
    前記UPnPに規定された機器制御のためのプロトコルにより外部の制御対象となる機器と通信するステップと、
    前記機器制御の実行結果を表示画面に表示させるステップと
    を実行させるための制御プログラム。
  10. 機器制御装置の制御プログラムであって、
    前記機器制御装置のコンピュータに、
    デジタル放送に含めて配信可能なBML文書を取得するステップと、
    前記BML文書内に記述された、ある外部の制御対象となる機器からの割り込みを検出するための記述を解釈するステップと、
    前記解釈の結果、前記BML文書内に所定のある外部の制御対象となる機器からの割り込みを検出するための記述がされていた場合には、前記解釈結果をUPnPに規定された割り込み依頼の要求および割り込み検出のためのプロトコルのメッセージに読み替えるステップと、
    前記UPnPに規定された割り込み依頼の要求および割り込み検出のためのプロトコルにより外部の制御対象となる機器と通信するステップと、
    前記割り込み要求、又は割り込み検出の実行結果を表示画面に表示させるステップとを実行させるための制御プログラム。
JP2005007922A 2005-01-14 2005-01-14 機器制御装置、機器制御方法及び制御プログラム Expired - Fee Related JP4322819B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005007922A JP4322819B2 (ja) 2005-01-14 2005-01-14 機器制御装置、機器制御方法及び制御プログラム
US11/319,180 US7657328B2 (en) 2005-01-14 2005-12-28 Device control system, device control method, and control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005007922A JP4322819B2 (ja) 2005-01-14 2005-01-14 機器制御装置、機器制御方法及び制御プログラム

Publications (2)

Publication Number Publication Date
JP2006197358A JP2006197358A (ja) 2006-07-27
JP4322819B2 true JP4322819B2 (ja) 2009-09-02

Family

ID=36698582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005007922A Expired - Fee Related JP4322819B2 (ja) 2005-01-14 2005-01-14 機器制御装置、機器制御方法及び制御プログラム

Country Status (2)

Country Link
US (1) US7657328B2 (ja)
JP (1) JP4322819B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7342488B2 (en) * 2004-10-13 2008-03-11 Innvision Networks, Llc System and method for providing home awareness
US8667076B2 (en) 2006-07-28 2014-03-04 Microsoft Corporation Mapping universal plug and play discovered items to an SMB location
US8719861B2 (en) * 2006-10-02 2014-05-06 At&T Intellectual Property I, Lp System and method for distributing dynamic event data in an internet protocol television system
US8037179B2 (en) * 2006-11-02 2011-10-11 Storz Endoskop Produktions Gmbh Device control system employing extensible markup language for defining information resources
JP5084404B2 (ja) * 2007-09-04 2012-11-28 京セラドキュメントソリューションズ株式会社 情報処理装置
US20090249426A1 (en) * 2008-03-27 2009-10-01 Microsoft Corporation Supplementing broadcast service with network content
CN101820499B (zh) * 2010-05-18 2014-01-01 中兴通讯股份有限公司 一种实现机顶盒与家庭网关自动交互的方法及系统
US9179198B2 (en) 2010-10-01 2015-11-03 Sony Corporation Receiving apparatus, receiving method, and program
WO2012063395A1 (ja) 2010-11-12 2012-05-18 パナソニック株式会社 サーバ、通信端末、およびそれらを備えた機器連携システム
JP5783402B2 (ja) * 2011-01-25 2015-09-24 ソニー株式会社 受信装置、受信方法、供給装置、供給方法、プログラム、および放送システム
IN2013MU03243A (ja) * 2013-10-15 2015-07-17 Tata Consultancy Services Ltd

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001333030A (ja) 2000-05-19 2001-11-30 Minolta Co Ltd 放送番組送受信システム、これに使用される放送装置及び受信装置、放送番組送受信方法、並びに、記録媒体再生システム、これに使用される記録媒体再生装置及び記録媒体
JP4521123B2 (ja) 2001-01-04 2010-08-11 株式会社東芝 データ放送システム及びデータ放送受信装置
JP4052556B2 (ja) 2002-05-07 2008-02-27 日本放送協会 外部機器連動型コンテンツ生成装置、その方法及びそのプログラム
US20030227645A1 (en) * 2002-06-06 2003-12-11 Kenji Hisatomi Receiving apparatus for signals containing printing data and a printing apparatus for printing data received by the receiving apparatus
JP2005005749A (ja) 2003-06-09 2005-01-06 Victor Co Of Japan Ltd リモコン装置
JP2005004916A (ja) 2003-06-13 2005-01-06 Matsushita Electric Ind Co Ltd ホームネットワーク管理装置
EP1644803A4 (en) 2003-07-02 2011-11-09 Rovi Solutions Corp NETWORK DIGITAL MAGNETOSCOPE SYSTEM
CN101088291A (zh) * 2004-12-24 2007-12-12 松下电器产业株式会社 数字广播记录再现装置
US20070035668A1 (en) * 2005-08-11 2007-02-15 Sony Corporation Method of routing an audio/video signal from a television's internal tuner to a remote device

Also Published As

Publication number Publication date
JP2006197358A (ja) 2006-07-27
US7657328B2 (en) 2010-02-02
US20060168635A1 (en) 2006-07-27

Similar Documents

Publication Publication Date Title
JP4322819B2 (ja) 機器制御装置、機器制御方法及び制御プログラム
US9281959B2 (en) Method for controlling home network device using universal web application and apparatus thereof
KR101411322B1 (ko) 홈 네트워크 기기 제어 서비스 및 인터넷 서비스 방법과 그 장치
US9158395B2 (en) Method and system for controlling other devices using a remote user interface
US8402108B2 (en) System for providing web page having home network function and method of controlling home network devices
EP1804459B1 (en) Method and apparatus for provisioning a device to access services in a universal plug and play (upnp) network
KR100846800B1 (ko) 네트워크에 연결된 장치들에서의 검색을 위한 사용자인터페이스 방법 및 시스템
US7904550B2 (en) Information processing control apparatus, method of delivering information through network, and program for it
JP4737250B2 (ja) 情報処理装置及び情報処理方法
JP2002055896A (ja) 通信システムと装置
KR101612553B1 (ko) 리모트 사용자 인터페이스 서버와 리모트 사용자 인터페이스 클라이언트간의 인터페이스를 위한 장치 및 방법
KR100643296B1 (ko) 웹 서비스 기술을 지원하는 a/v 네트워크에서 컨텐츠서비스 제공 방법 및 장치
JP4605273B2 (ja) 情報処理装置及び機能拡張方法
US10164788B2 (en) Remote control method and system using control user interface
JP5937005B2 (ja) 近距離ネットワークにおける遠隔制御のための装置及び方法とこれをサポートするシステム
JP2002073310A (ja) 通信システムとその方法及び記憶媒体
KR101682243B1 (ko) 메시지 제공 방법 및 이를 위한 단말 장치
KR100754221B1 (ko) 네트워크 디바이스간의 서비스 요청 방법 및 그 방법을수행할 수 있는 네트워크 디바이스와 저장 매체
EP2507936B1 (en) Method and apparatus for acquiring rui-based specialized control user interface
WO2012017897A1 (ja) 制御装置、制御システム、及び制御方法
US20100053472A1 (en) Image content transmitting server, image display apparatus, image content transmitting method, and image displaying method
US20110292425A1 (en) Method and apparatus for forming an image
JP2009141856A (ja) 代理アクセス装置、代理アクセスシステム、映像装置
US20120131649A1 (en) Apparatus registration method and server device
CN111654753A (zh) 一种应用程序启动方法及显示设备

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090416

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090512

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090603

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120612

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120612

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130612

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees