JPWO2018123067A1 - コマンドデータ送信装置、ローカルエリア装置、機器制御システム、コマンドデータ送信装置の制御方法、ローカルエリア装置の制御方法、機器制御方法、及びプログラム - Google Patents

コマンドデータ送信装置、ローカルエリア装置、機器制御システム、コマンドデータ送信装置の制御方法、ローカルエリア装置の制御方法、機器制御方法、及びプログラム Download PDF

Info

Publication number
JPWO2018123067A1
JPWO2018123067A1 JP2018558642A JP2018558642A JPWO2018123067A1 JP WO2018123067 A1 JPWO2018123067 A1 JP WO2018123067A1 JP 2018558642 A JP2018558642 A JP 2018558642A JP 2018558642 A JP2018558642 A JP 2018558642A JP WO2018123067 A1 JPWO2018123067 A1 JP WO2018123067A1
Authority
JP
Japan
Prior art keywords
command data
command
local area
operation instruction
transmitting
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.)
Granted
Application number
JP2018558642A
Other languages
English (en)
Other versions
JP6725008B2 (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.)
Yamaha Corp
Original Assignee
Yamaha 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 Yamaha Corp filed Critical Yamaha Corp
Publication of JPWO2018123067A1 publication Critical patent/JPWO2018123067A1/ja
Application granted granted Critical
Publication of JP6725008B2 publication Critical patent/JP6725008B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/283Processing of data at an internetworking point of a home automation network
    • H04L12/2836Protocol conversion between an external network and a home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Automation & Control Theory (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Selective Calling Equipment (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

動作指示受付部(110)は、ローカルエリアに設置される機器に対する動作指示を受け付ける。コマンドデータ生成部(120)は、動作指示に応じた動作を行わせるために機器に対して送信すべきコマンドと、当該コマンドをローカルエリア内での伝送手段を介して機器に送信する際の宛先とを示すコマンドデータを生成する。コマンドデータ送信部(130)は、ローカルエリアに設置されるローカルエリア装置に対して、コマンドデータ生成部(120)によって生成されたコマンドデータを、ワイドエリアネットワークを介して送信する。

Description

本発明はコマンドデータ送信装置、ローカルエリア装置、機器制御システム、コマンドデータ送信装置の制御方法、ローカルエリア装置の制御方法、機器制御方法、及びプログラムに関する。
ローカルエリアネットワーク(LAN)を介して送信されるコマンドを受信して当該コマンドに対応する動作を行う機器が知られている(特許文献1)。このような機器に関してはLANを介して制御できる。
特開2015−100085号公報
一般的に、上記のような機器に対してはローカルエリア内でのみ有効なプライベートIPアドレスが設定されることが多い。プライベートIPアドレスが設定された機器に対しては、インターネット(ワイドエリアネットワーク)を介してコマンドを直接送信できないため、上記コマンドを使用して、インターネットを介して機器を制御することができなかった。
本発明は上記課題に鑑みてなされたものであって、その目的は、ローカルエリアで使用されるコマンドを使用しつつ、インターネット等のワイドエリアネットワークを介して機器を制御することが可能なコマンドデータ送信装置、ローカルエリア装置、機器制御システム、コマンドデータ送信装置の制御方法、ローカルエリア装置の制御方法、機器制御方法、及びプログラムを提供することにある。
上記課題を解決するために、本発明に係るコマンドデータ送信装置は、ローカルエリアに設置される機器に対する動作指示を受け付ける動作指示受付手段と、前記動作指示に応じた動作を行わせるために前記機器に対して送信すべきコマンドと、当該コマンドを前記ローカルエリア内での伝送手段を介して前記機器に送信する際の宛先とを示すコマンドデータを生成するコマンドデータ生成手段と、前記ローカルエリアに設置されるローカルエリア装置に対して、前記コマンドデータ生成手段によって生成されたコマンドデータを、ワイドエリアネットワークを介して送信するコマンドデータ送信手段と、を含む。
また、本発明に係るローカルエリア装置は、ローカルエリアでの伝送手段を介してコマンドを送信すべき宛先と、前記伝送手段を介して当該宛先に送信すべきコマンドとを示すコマンドデータをワイドエリアネットワークを介して受信するコマンドデータ受信手段と、前記コマンドデータに基づいて、前記伝送手段を介して前記宛先に前記コマンドを送信するコマンド送信手段と、を含む。
また、本発明に係る機器制御システムは、ワイドエリアネットワークを介してコマンドデータを送信可能なコマンドデータ送信装置であって、ローカルエリアに設置される機器に対する動作指示を受け付ける動作指示受付手段と、前記動作指示に基づいて、当該動作指示に応じた動作を行わせるために前記機器に対して送信すべきコマンドと、当該コマンドを前記ローカルエリア内での伝送手段を介して前記機器に送信する際の宛先とを示すコマンドデータを生成するコマンドデータ生成手段と、前記ローカルエリアに設置されるローカルエリア装置に対して、前記コマンドデータ生成手段によって生成されたコマンドデータを、ワイドエリアネットワークを介して送信するコマンドデータ送信手段と、を含むコマンドデータ送信装置と、前記ローカルエリア装置であって、前記コマンドデータを前記ワイドエリアネットワークを介して受信するコマンドデータ受信手段と、前記コマンドデータに基づいて、前記伝送手段を介して前記宛先に前記コマンドを送信するコマンド送信手段と、を含む前記ローカルエリア装置と、を含む。
また、本発明に係るコマンドデータ送信装置の制御方法は、ローカルエリアに設置される機器に対する動作指示を受け付ける動作指示受付ステップと、前記動作指示に基づいて、当該動作指示に応じた動作を行わせるために前記機器に対して送信すべきコマンドと、当該コマンドを前記ローカルエリア内での伝送手段を介して前記機器に送信する際の宛先とを示すコマンドデータを生成するコマンドデータ生成ステップと、前記ローカルエリアに設置されるローカルエリア装置に対して、前記コマンドデータ生成ステップによって生成されたコマンドデータを、ワイドエリアネットワークを介して送信するコマンドデータ送信ステップと、を含む。
また、本発明に係るローカルエリア装置の制御方法は、ローカルエリアでの伝送手段を介してコマンドを送信すべき宛先と、前記伝送手段を介して当該宛先に送信すべきコマンドとを示すコマンドデータをワイドエリアネットワークを介して受信するコマンドデータ受信ステップと、前記コマンドデータに基づいて、前記伝送手段を介して前記宛先に前記コマンドを送信するコマンド送信ステップと、を含む。
また、本発明に係るローカルエリア装置の制御方法は、コマンドデータ送信装置が、ローカルエリアに設置される機器に対する動作指示を受け付ける動作指示受付ステップと、前記コマンドデータ送信装置が、前記動作指示に基づいて、当該動作指示に応じた動作を行わせるために前記機器に対して送信すべきコマンドと、当該コマンドを前記ローカルエリア内での伝送手段を介して前記機器に送信する際の宛先とを示すコマンドデータを生成するコマンドデータ生成ステップと、前記コマンドデータ送信装置が、前記ローカルエリアに設置されるローカルエリア装置に対して、前記コマンドデータ生成手段によって生成されたコマンドデータを、ワイドエリアネットワークを介して送信するコマンドデータ送信ステップと、前記ローカルエリア装置が、前記コマンドデータを前記ワイドエリアネットワークを介して受信するコマンドデータ受信ステップと、前記ローカルエリア装置が、前記コマンドデータに基づいて、前記伝送手段を介して前記宛先に前記コマンドを送信するコマンド送信ステップと、を含む。
また、本発明に係るプログラムは、ローカルエリアに設置される機器に対する動作指示を受け付ける動作指示受付手段、前記動作指示に基づいて、当該動作指示に応じた動作を行わせるために前記機器に対して送信すべきコマンドと、当該コマンドを前記ローカルエリア内での伝送手段を介して前記機器に送信する際の宛先とを示すコマンドデータを生成するコマンドデータ生成手段、及び、前記ローカルエリアに設置されるローカルエリア装置に対して、前記コマンドデータ生成手段によって生成されたコマンドデータを、ワイドエリアネットワークを介して送信するコマンドデータ送信手段、としてコンピュータとして機能させるためのプログラムである。また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
また、本発明に係るプログラムは、ローカルエリアでの伝送手段を介してコマンドを送信すべき宛先と、前記伝送手段を介して当該宛先に送信すべきコマンドとを示すコマンドデータをワイドエリアネットワークを介して受信するコマンドデータ受信手段、及び、前記コマンドデータに基づいて、前記伝送手段を介して前記宛先に前記コマンドを送信するコマンド送信手段、としてコンピュータを機能させるためのプログラムである。また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
本発明によれば、ローカルエリアで使用されるコマンドを使用しつつ、インターネット等のワイドエリアネットワークを介して機器を制御することが可能になる。
本発明の実施形態に係る機器制御システムの構成を示す図である。 コマンドの例を示す図である。 機器テーブルの一例を示す図である。 機器制御システムの機能ブロック図である。 コマンドデータの例を示す図である。 MQTTサーバについて説明するための図である。 アレイコマンドデータの一例を示す図である。 コマンドデータ及び応答データの一例を示す図である。 キーワードコマンドテーブルの一例を示す図である。 機器制御システムで実行される処理を示す図である。 機器制御システムで実行される他の処理を示す図である。 機器制御システムで実行される他の処理を示す図である。 機器制御システムで実行される他の処理を示す図である。 機器制御システムで実行される他の処理を示す図である。
以下、本発明の実施形態の例を図面に基づいて説明する。
[1.システム構成]図1は、本発明の実施形態に係る機器制御システムの構成を示す。図1に示すように、機器制御システム1は、第1機器20−1、第2機器20−2、第3機器20−3、第4機器20−4、音声入力装置30、音声認識装置40、及びコマンド処理システム50を含む。以下では、第1機器20−1、第2機器20−2、第3機器20−3、及び第4機器20−4を総称して「機器20」と記載する場合がある。
機器20及び音声入力装置30はローカルエリアに設置され、LAN2に接続される。LAN2は有線LANであってもよいし、無線LANであってもよい。LAN2はルータ4を介してインターネット6(ワイドエリアネットワーク)に接続される。音声認識装置40及びコマンド処理システム50はローカルエリア外に設置される。すなわち、機器20及び音声入力装置30から見て、音声認識装置40及びコマンド処理システム50はインターネット6側に設置される。なお、「ローカルエリア」とは、LAN2を介した通信が可能な限られた範囲のエリアである。一方、「ワイドエリア」とは、ローカルエリア外も含むエリアであり、インターネット6を介した通信が可能な範囲のエリアである。
機器20は機器制御システム1による制御の対象となる機器である。図1では、4台の機器20のみが示されているが、5台以上の機器20が含まれていてもよいし、3台以下の機器20のみが含まれていてもよい。
例えば、機器20はオーディオ機器又はオーディオビジュアル機器である。具体的には、機器20は、AVレシーバ、AVアンプ、スピーカ、光ディスク再生機器(ブルーレイディスク(登録商標)プレーヤ又はDVD(登録商標)プレーヤ等)、又はテレビジョン受像機である。また例えば、機器20は楽器(電子楽器又は電気楽器等)であってもよい。なお、機器20はこれら以外の機器であってもよい。
以下では、第1機器20−1がAVレシーバであり、第2機器20−2が自動演奏機能(データに基づいて鍵盤やペダルの動きを再現して自動的に演奏を行う機能)を備えた電子ピアノであり、第3機器20−3がテレビジョン受像機であり、第4機器20−4がブルーレイディスクプレーヤである例を想定する。第2機器20−2はオーディオケーブルを介して第1機器20−1の外部入力端子に接続され、第3機器20−3はHDMI(High-Definition Multimedia Interface:登録商標)ケーブルを介して第1機器20−1の第1のHDMI端子(HDMI1)に接続され、第4機器20−4はHDMIケーブルを介して第1機器20−1の第2のHDMI端子(HDMI2)に接続されている。また、第1機器20−1のMACアドレスは「aa:bb:cc:dd:ee:11」であり、プライベートIPアドレス「192.168.0.2」が第1機器20−1に対して設定されている。第2機器20−2のMACアドレスは「aa:bb:cc:dd:ee:22」であり、プライベートIPアドレス「192.168.0.3」が第2機器20−2に対して設定されている。第3機器20−3のMACアドレスは「aa:bb:cc:dd:ee:33」であり、プライベートIPアドレス「192.168.0.4」が第3機器20−3に対して設定されている。第4機器20−4のMACアドレスは「aa:bb:cc:dd:ee:44」であり、プライベートIPアドレス「192.168.0.5」が第4機器20−4に対して設定されている。
図1に示すように、第1機器20−1は制御部21、記憶部22、及び通信部23を含む。制御部21は少なくとも一つのマイクロプロセッサ(CPU)を含み、記憶部22に記憶されたプログラムに従って処理を実行する。記憶部22は、主記憶部(例えばRAM)及び補助記憶部(例えば、不揮発性の半導体メモリ、ハードディスクドライブ、又はソリッドステートドライブ)を含む。記憶部22はプログラムやデータを記憶するためのものである。通信部23は他の装置との間でデータを送受信するためのものである。図1では省略されているが、第2機器20−2、第3機器20−3、及び第4機器20−4も制御部21、記憶部22、及び通信部23を含む。
なお、機器20は、情報記憶媒体(例えば光ディスク又はメモリカード等)に記憶されたプログラムやデータを読み取るための構成要素(例えば光ディスクドライブ又はメモリーカードスロット等)を備えてもよい。そして、プログラムが情報記憶媒体を介して機器20に供給されてもよい。プログラムはインターネット6を介して機器20に供給されてもよい。
機器20は、LAN2(ローカルエリア内での伝送手段の一例)を介して送信されるコマンドを受信して当該コマンドに対応する動作を行う。このため、LAN2を介して機器20を制御できる。すなわち、スマートフォン又はタブレット型コンピュータ等の端末からLAN2を介してコマンドを機器20に送信することによって、当該コマンドに応じた動作を機器20に行わせることができる。
図2はコマンドの例を示す。図2に示すコマンドC1〜C4は第1機器20−1(AVレシーバ)に対するコマンドの例であり、コマンドC5〜C7は第2機器20−2(電子ピアノ)に対するコマンドの例である。
図2に示すコマンドはHTTPプロトコルを使用したものになっており、コマンドとしてURLが設定されている。図2に示す例の場合、コマンドがHTTPリクエストの形で第1機器20−1又は第2機器20−2に対して送信される。第1機器20−1又は第2機器20−2ではHTTPデーモンが起動されており、HTTPデーモンによってHTTPリクエストが受け付けられ、当該HTTPリクエストに応じた処理が実行される。そして、その処理結果を示すHTTPレスポンスがコマンドの送信元に返信される。なお、第3機器20−3及び第4機器20−4に対しても、HTTPプロトコルを使用したコマンドを送信することが可能である。
コマンドC1は第1機器20−1をスタンバイ状態(非起動状態)から起動するコマンドである。「スタンバイ状態」とは消費電力が通常状態(起動状態)よりも低減された状態である。すなわち、スタンバイ状態は完全に電源がオフになった状態ではなく、スタンバイ状態でもネットワーク通信機能等は有効になっており、コマンドデータを受信したり、コマンドを実行(送信)したり、コマンドを受け付けたりすることが可能である。
コマンドC2は第1機器20−1の入力を外部入力に切り替えるコマンドである。例えば、第1機器20−1(AVレシーバ)は複数の入力端子(例えばHDMI端子や外部入力端子等)を備え、第2機器20−2を含む複数の機器20がそれら複数の入力端子に接続される。また、第1機器20−1にはスピーカ(放音手段の一例)が接続され、第1機器20−1はいずれかの入力端子から入力される音声信号をスピーカから放音させる。コマンドC2は、スピーカに供給する音声信号を外部入力端子から入力される音声信号に切り替えるコマンドである。
コマンドC3は出力音量を設定するコマンドである。コマンドC4は第1機器20−1の機器情報を要求するコマンドである。コマンドC4が実行された場合、第1機器20−1の機器情報(機種名又は現在状態情報等)がコマンドC4の送信元に返信される。
コマンドC5は第2機器20−2をスタンバイ状態から起動するコマンドである。コマンドC6は第2機器20−2(電子ピアノ)の自動演奏を開始させるコマンドである。コマンドC7は第2機器20−2の機器情報を要求するコマンドである。なお、第2機器20−2と第1機器20−1とでコマンドの形式は同じであってもよいし、異なっていてもよい。第1機器20−1、第2機器20−2、第3機器20−3、及び第4機器20−4の間でもコマンドの形式は同じであってもよいし、異なっていてもよい。
音声入力装置30はマイクロフォンを含み、音声入力を受け付ける。本実施形態では、ユーザが機器20への動作指示を音声入力するために音声入力装置30が使用される。例えば、X社製の電子ピアノに自動演奏させたい場合、ユーザは「X piano play」等を音声入力装置30に入力する。また例えば、居間に設置されているX社製のオーディオシステムに音楽を再生させたい場合、ユーザは「X play in living room」等を音声入力装置30に入力する。
音声入力装置30に入力された音声(動作指示)を示す音声データはユーザIDとともにインターネット6を介して音声認識装置40に送信される。音声認識装置40は例えばサーバコンピュータによって実現される。音声認識装置40は音声認識処理を実行することによって、音声データを、プログラム(コマンド処理システム50)によって理解しやす形式のデータに変換する。例えば、音声データを所定形式のテキストデータに変換する。そして、テキストデータに変換された動作指示はユーザIDとともにコマンド処理システム50に送信される。なお、ユーザIDは、音声データがコマンド処理システム50に送信されるまでの間に、いずれかのインターネット側の装置(処理)によって付与されてもよい。
なお、機器20の製造元ごとに異なるコマンド処理システム50が用意されている場合であれば、X社製の機器20に対する動作指示は、X社製の機器20用のコマンド処理システム50に送信される。また、コマンドの形式ごとに異なるコマンド処理システム50が用意されている場合であれば、機器20に対する動作指示は、当該機器20で採用されているコマンドの形式用のコマンド処理システム50に送信される。
図1に示すように、コマンド処理システム50は、コマンドデータ送信装置10、データベース60、及びMQTT(Message Queueing Telemetry Transport)サーバ70を含む。
データベース60は各種データを記憶する。例えば、データベース60は各ユーザの所有している機器20の情報を記憶する。図3はデータベース60に記憶される機器テーブルの一例を示す。機器テーブルT1はユーザごとに(ユーザIDと関連付けて)記憶される。なお、コマンド処理システム50(データベース60)で使用されるユーザIDは、音声入力装置30及び音声認識装置40で使用されるユーザIDと異なっていてもよいし、同じであってもよい。ただし、これらのユーザIDが異なる場合には、それらのユーザIDを変換するための対応関係データがコマンド処理システム50又は音声認識装置40に記憶されている必要がある。
図3に示すように、機器テーブルT1は「ID」、「名称」、「機種」、「MACアドレス」、「IPアドレス」、「コマンド種類」、「端子」、「音量範囲」、「接続先」、「受信可否」、「代替機器」フィールドを含む。
「ID」フィールドは、ユーザの所有している各機器20を一意に識別する情報を示す。図3では、第1機器20−1が機器ID「1」に相当し、第2機器20−2が機器ID「2」に相当する。
「名称」フィールドは機器20の名称を示す。この名称はユーザが動作指示の対象の機器20を指定するために使用される。名称としては、ユーザによって設定された任意の名称が使用されるようにしてもよいし、機器20の製造元等によって設定された名称が使用されるようにしてもよい。「機種」フィールドは機器20の機種名(型名)を示す。
「MACアドレス」及び「IPアドレス」フィールドは、機器20が備えている有線又は無線ネットワークインタフェースカードに対して設定されたMACアドレス及びIPアドレスを示す。「コマンド種類」フィールドは、機器20で使用されているコマンドの種類(体系)を示す。なお、機種ごとにコマンドの種類が定められる場合には、機種とコマンドの種類とを関連付けてなるテーブルを別途設けておき、その代わりに、「コマンド種類」フィールドを機器テーブルT1に設けないようにしてもよい。「端子」フィールドは、機器20が備えている入力端子のリストを示す。「音量範囲」フィールドは、機器20で設定可能な音量の範囲を示す。「接続先」フィールドは、機器20が他の機器20の入力端子に接続されて、機器20から出力される音声が他の機器20に入力される場合に、機器20が接続された他の機器20の入力端子を示す。
「受信可否」フィールドは、インターネット6を介してコマンドデータを受信可能であるか否かを示す。コマンドデータについては後述する。例えば、「0」又は「1」が「受信可否」フィールドに登録される。「0」は、インターネット6を介してコマンドデータを受信できないことを示し、「1」は、インターネット6を介してコマンドデータを受信できることを示す。「代替機器」フィールドは、機器20がインターネット6を介してコマンドデータを受信できない場合に、当該機器20の代わりにコマンドデータを受信する機器20(代替機器)を示す。
例えば、機器テーブルT1は各ユーザによって登録される。ユーザは端末からコマンドデータ送信装置10にアクセスすることによって、自らの所有する機器20の情報を機器テーブルT1に登録できる。機器20をLAN2に接続して起動した際に、機器20の情報がユーザIDとともにコマンド処理システム50(コマンドデータ送信装置10)に送信されて機器テーブルT1に登録されるようにしてもよい。
なお、データベース60には機器テーブルT1以外のデータも記憶される。例えば、動作指示とコマンドとの対応関係を示すデータ(言い換えれば、動作指示をコマンドに変換するためのデータ)がデータベース60に記憶される。このデータはコマンドの種類(体系)ごとに記憶される。
コマンドデータ送信装置10は例えばサーバコンピュータによって実現される。図1に示すように、コマンドデータ送信装置10は制御部11、記憶部12、及び通信部13を含む。制御部11、記憶部12、及び通信部13は制御部21、記憶部22、及び通信部23と同様である。なお、コマンドデータ送信装置10は、情報記憶媒体(例えば光ディスク又はメモリカード等)に記憶されたプログラムやデータを読み取るための構成要素(例えば光ディスクドライブ又はメモリーカードスロット等)を備えてもよい。そして、プログラムが情報記憶媒体を介してコマンドデータ送信装置10に供給されてもよい。プログラムはインターネット6を介してコマンドデータ送信装置10に供給されてもよい。
コマンドデータ送信装置10はデータベース60にアクセス可能である。コマンドデータ送信装置10とデータベース60とは一つのサーバコンピュータによって実現されてもよいし、別のサーバコンピュータによって実現されてもよい。
コマンドデータ送信装置10は、機器20に対する動作指示を受け付け、当該動作指示に基づいてコマンドデータを生成し、当該コマンドデータを当該機器20又は他の機器20(代替機器)に送信する。後述するように、コマンドデータはMQTTサーバ70を介して機器20又は他の機器20(代替機器)に送信される。MQTTサーバ70は、MQTTプロトコルを使用してデータを送受信するためのものである。コマンドデータ送信装置10とMQTTサーバ70とは一つのサーバコンピュータによって実現されてもよいし、別のサーバコンピュータによって実現されてもよい。
[2.機能ブロック]図4は、コマンドデータ送信装置10及び機器20で実現される機能ブロックの一例を示す。
図4に示すように、コマンドデータ送信装置10は動作指示受付部110、コマンドデータ生成部120、コマンドデータ送信部130、機器情報取得部140、判定部150、通知部160、及びキーワードコマンド登録部170を含む。これらの機能ブロックは例えば制御部11によって実現される。
また図4に示すように、機器20はコマンドデータ受信部210、コマンド送信部220、及び機器情報送信部230を含む。これらの機能ブロックは例えば制御部21によって実現される。
[2−1]まず、動作指示受付部110、コマンドデータ生成部120、コマンドデータ送信部130、コマンドデータ受信部210、及びコマンド送信部220について説明する。
動作指示受付部110は、第1機器20−1又は第2機器20−2に対する動作指示を受け付ける。例えば、動作指示受付部110は、音声認識装置40によってテキストデータ等のプログラムにとって理解しやすい形式のデータに変換された動作指示を音声認識装置40から受信する。
コマンドデータ生成部120は、動作指示に応じた動作を行わせるために第1機器20−1又は第2機器20−2に対して送信すべきコマンドと、当該コマンドをLAN2を介して第1機器20−1又は第2機器20−2に送信する際の宛先とを示すコマンドデータを生成する。
図5はコマンドデータの例を示す。図5に示すコマンドデータD1は、第1機器20−1をスタンバイ状態から起動する旨の動作指示が受け付けられた場合に生成されるコマンドデータの一例を示す。すなわち、コマンドデータD1は、図2に示したコマンドC1を第1機器20−1に対して実行したい場合に生成されるコマンドデータの一例を示す。
コマンドデータD1は項目「type」,「id」,「command」を含む。項目「type」はデータの種別を示す。図5に示す例では「cmd」が項目「type」に設定されている。これはデータがコマンドデータであることを示している。項目「id」はデータ(コマンドデータ)を一意に識別する識別情報を示す。項目「command」はコマンドデータの内容を示す。項目「command」は項目「ip」,「path」,「method」を含む。項目「ip」はコマンドの宛先を示す。第1機器20−1のIPアドレスが項目「ip」に設定されている。項目「path」はコマンド本体に相当する。項目「ip」はコマンドC1のうちのIPアドレス部分に相当し、項目「path」はコマンドC1のうちのIPアドレス以降の部分に相当する。項目「method」は、使用されるHTTPプロトコルのメソッドを示す。
図5に示すコマンドデータD2は、第2機器20−2をスタンバイ状態から起動する旨の動作指示が受け付けられた場合に生成されるデータの一例を示す。すなわち、コマンドデータD2は、図2に示したコマンドC5を第2機器20−2に対して実行したい場合に生成されるコマンドデータの一例を示す。コマンドデータD1と同様、コマンドデータD2も項目「type」,「id」,「command」を含む。コマンドデータD2では、第2機器20−2のIPアドレスが項目「ip」に設定されている。コマンドデータD2では、項目「ip」がコマンドC5のうちのIPアドレス部分に相当し、項目「path」はコマンドC5のうちのIPアドレス以降の部分に相当する。
なお、コマンドデータD1,D2では、HTTPプロトコルのGETメソッドを使用する場合について示していたが、POSTメソッドを使用するようにしてもよい。図5のコマンドデータD3に示すように、POSTメソッドを使用する場合には、POSTメソッドによって送信される内容を示す項目「body」を含む。なお、HTTPヘッダ情報によって送信される内容を示す項目「headers」をコマンドデータに含めてもよい。例えば、“headers”:[“X−HEADER1:INFO1”,“X−HEADER2:INFO2”]のような項目「headers」をコマンドデータに含め、コマンド送信時に当該内容をHTTPヘッダに追加して送信するようにしてもよい。
コマンドデータ送信部130は、コマンドデータ生成部120によって生成されたコマンドデータをインターネット6を介してローカルエリア装置に送信する。「ローカルエリア装置」とは、ローカルエリアに設置される装置であり、インターネット6を介してデータを受信可能な装置であり、LAN2を介してコマンドを宛先に送信可能な装置である。
例えば、第1機器20−1はインターネット6を介して送信されるデータを受信可能である(図3参照)。このため、第1機器20−1に対するコマンドを示すコマンドデータが生成された場合、コマンドデータ送信部130は当該コマンドデータをインターネット6を介して第1機器20−1(ローカルエリア装置)に送信する。
一方、第2機器20−2はインターネット6を介して送信されるデータを受信可能でない(図3参照)。このため、第2機器20−2に対するコマンドを示すコマンドデータがて生成された場合、コマンドデータ送信部130は当該コマンドデータを、インターネット6を介して、代替機器として登録されている第1機器20−1(ローカルエリア装置)に送信する。
コマンドデータはMQTTプロトコルを使用してローカルエリア装置に送信される。すなわち、コマンドデータ送信部130はMQTTサーバ70を介してコマンドデータをローカルエリア装置に送信する。図6はMQTTサーバ70について説明するための図である。なお、図6ではローカルエリア装置が第1機器20−1である場合を想定している。
図6に示すように、MQTTサーバ70には第1トピックTP1が設定される。第1トピックTP1は、コマンドデータ送信装置10から第1機器20−1へデータを送信するためのトピックである。第1トピックTP1の識別情報(名称)は第1機器20−1の識別情報に基づいて設定される。例えば、第1機器20−1の識別情報であるMACアドレスと、第1機器20−1へデータを送信するためのトピックであることを示す「SEND」の文字列とを組み合わせてなる「aabbccddee11_SEND」という識別情報が第1トピックTP1に対して設定される。
また図6に示すように、MQTTサーバ70には第2トピックTP2も設定される。第2トピックTP2は、第1機器20−1からコマンドデータ送信装置10へデータ(応答)を送信するためのトピックである。第2トピックTP2の識別情報(名称)も第1機器20−1の識別情報に基づいて設定される。例えば、第1機器20−1の識別情報であるMACアドレスと、コマンドデータ送信装置10へ応答を送信するためのトピックであることを示す「RESPOND」の文字列とを組み合わせてなる「aabbccddee11_RESPOND」という識別情報が第2トピックTP2に対して設定される。
コマンドデータを第1機器20−1に送信する場合、コマンドデータ送信部130はコマンドデータを第1トピックTP1にパブリッシュする。第1トピックTP1には第1機器20−1がサブスクライバとして登録されており、第1トピックTP1にパブリッシュされたコマンドデータは、第1トピックTP1をサブスクライブしている第1機器20−1にパブリッシュされる。すなわち、第1トピックTP1にパブリッシュされたコマンドデータは第1機器20−1に送信される。このようにして、コマンドデータは第1トピックTP1を介して第1機器20−1に送信される。なお、第2トピックTP2を設ける意義については後述する。
ここで、電子ピアノに自動演奏が行わせる旨の動作指示が動作指示受付部110によって受け付けられた場合を想定する。なお、当該動作指示はユーザU1(ユーザIDが「U1」であるユーザ)によってなされたものとする。
この場合、コマンドデータ生成部120はユーザU1の機器テーブルT1を参照し、電子ピアノが第2機器20−2であることを特定し、第2機器20−2の情報を取得する。
コマンドデータ生成部120は、第2機器20−2に自動演奏を行わせる際に動作させる必要のある他の機器20を特定する。第2機器20−2は第1機器20−1の外部入力端子に接続され、第2機器20−2から出力される音声が第1機器20−1を介してスピーカから放音されるため(「接続先」フィールド参照)、コマンドデータ生成部120は、第2機器20−2に自動演奏を行わせる際に動作させる必要のある他の機器20として第1機器20−1を特定する。このため、コマンドデータ生成部120は、第2機器20−2に対するコマンドを示すコマンドデータだけでなく、第1機器20−1に対するコマンドを示すコマンドデータも生成する。
また、コマンドデータ生成部120は、第1機器20−1及び第2機器20−2で使用されるコマンドの種類(体系)を把握し(「コマンド種類」又は「機種」フィールド参照)、どのような種類(体系)のコマンドのコマンドデータを生成すればよいのかを把握する。さらに、コマンドデータ生成部120は、第2機器20−2がインターネット6を介してデータを受信できないことや、第2機器20−2の代替機器が第1機器20−1であることを把握する(「受信可否」及び「代替機器」フィールド参照)。
そして、コマンドデータ生成部120は、第1機器20−1に対するコマンドを示すコマンドデータと、第2機器20−2に対するコマンドを示すコマンドデータとを一つにまとめたデータを生成し、コマンドデータ送信部130は当該データをMQTTサーバ70を介して第1機器20−1に送信する。なお以下では、複数のコマンドデータを一つにまとめたデータのことを「アレイコマンドデータ」と呼ぶ。
図7はアレイコマンドデータの一例を示す。図7に示すアレイコマンドデータD4は複数のコマンドデータを含む。図7に示すアレイコマンドデータD4では項目「type」に「array」が設定されている。これはこのデータがアレイコマンドデータであり、複数のコマンドデータを含むことを示す。この場合、複数のコマンドデータを格納するための項目「array」がアレイコマンドデータD4に含まれる。
図7に示す例では、要素データD41、要素データD42、要素データD43、及び要素データD44が項目「array」に含まれている。要素データD41は第1機器20−1をスタンバイ状態から起動するためのコマンドデータである。先述の通り、第2機器20−2は第1機器20−1に接続されているため、第2機器20−2の自動演奏をスピーカから放音するためには第1機器20−1をスタンバイ状態から起動する必要がある。このため、第1機器20−1を起動するためのコマンドデータが要素データD41として含まれる。要素データD41は図5に示すコマンドデータD1と同様である。
要素データD42は待ち時間(ディレイ時間)を設けることを示す待ち時間データである。第1機器20−1の起動には時間がかかるため、第1機器20−1を起動した後で次のコマンドを第1機器20−1に対して実行する場合には、第1機器20−1の起動が完了するのを待って次のコマンドを実行する必要がある。このため、第1機器20−1の起動が完了するのを待つべく、待ち時間データが要素データD42として含まれる。要素データD42では項目「type」に「delay」が設定されている。これは要素データD42が待ち時間データであることを示す。要素データD42は項目「time」を含む。項目「time」は待ち時間を示す。図7に示す例では500ミリ秒が項目「time」に設定されている。なお、500ミリ秒よりも長い時間(例えば2秒)を待ち時間として設定してもよいし、500ミリ秒よりも短い時間を待ち時間として設定してもよい。第1機器20−1の起動に要する時間を考慮して待ち時間を設定すればよい。
要素データD43は第1機器20−1の入力を外部入力に切り替えるためのコマンドデータである。第2機器20−2の自動演奏をスピーカから放音するためには、第1機器20−1の入力を、第2機器20−2が接続された外部入力に切り替える必要がある。このため、第1機器20−1の入力を外部入力に切り替えるためのコマンドデータが要素データD43として含まれる。要素データD43では、図2に示したコマンドC2のうちのIPアドレス部分が項目「ip」に設定され、コマンドC2のうちのIPアドレス以降の部分が項目「path」に設定されている。
要素データD44は、第2機器20−2に自動演奏を開始させるためのコマンドデータである。要素データD44では、図2に示したコマンドC6のうちのIPアドレス部分が項目「ip」に設定され、コマンドC6のうちのIPアドレス以降の部分が項目「path」に設定されている。要素データD44を送信する際には、自動演奏する楽曲を指定するためのコマンドデータも一緒に送信してもよい。このコマンドデータを送信しない場合には、所定の楽曲を自動演奏の対象として自動的に設定すればよい。例えば、お気に入り登録された楽曲のうちのいずれかや、過去に自動演奏されたことのある楽曲のいずれかを自動演奏の対象として自動的に設定すればよい。
図7では省略しているが、実際には、要素データD43と要素データD44との間には、第2機器20−2をスタンバイ状態から起動するためのコマンドデータや、第2機器20−2の起動が完了するの待つための待ち時間データが要素データとして含まれる。
コマンドデータ送信部130はアレイコマンドデータD4をMQTTサーバ70の第1トピックTP1にパブリッシュする。先述の通り、第1トピックTP1にパブリッシュされたアレイコマンドデータD4は、第1トピックTP1にサブスクライブした第1機器20−1にパブリッシュされる。すなわち、アレイコマンドデータD4が第1機器20−1に送信される。
コマンドデータ受信部210はコマンドデータをインターネット6を介して受信する。コマンド送信部220は、コマンドデータに基づいて、LAN2を介して宛先にコマンドを送信する。
ここで、アレイコマンドデータD4が第1機器20−1のコマンドデータ受信部210によって受信された場合を想定する。この場合、コマンド送信部220はアレイコマンドデータD4に含まれるコマンドデータを先頭から順番に実行していく。
まず、コマンド送信部220は要素データD41に基づいてコマンドを第1機器20−1に対して実行する。すなわち、要素データD41の項目「ip」及び「path」に基づき、コマンド送信部220は図2に示したコマンドC1を取得する。そして、コマンド送信部220はコマンドC1として設定されたURLにアクセスする。この場合、HTTPリクエストが第1機器20−1に送信される。要素データD41の項目「ip」には第1機器20−1自身のIPアドレスが設定されているため、第1機器20−1自身のHTTPデーモンに対してHTTPリクエストが送信される。その結果、第1機器20−1がスタンバイ状態から起動される。
その後、要素データD42に基づき、コマンド送信部220は待ち時間(500ミリ秒)が経過するのを待つ。待ち時間が経過したら、コマンド送信部220は要素データD43に基づいてコマンドを第1機器20−1に対して実行する。すなわち、要素データD43の項目「ip」及び「path」に基づき、コマンド送信部220は図2に示したコマンドC2を取得する。そして、コマンド送信部220はコマンドC2として設定されたURLにアクセスする。この場合、第1機器20−1の入力が外部入力に切り替えられる。
さらに、その後、図7で省略されているコマンドデータに基づき、コマンド送信部220は図2に示したコマンドC5を取得し、コマンドC5として設定されたURLにアクセスする。この場合、第2機器20−2がスタンバイ状態から起動される。また、図7で省略されている待ち時間データに基づき、コマンド送信部220は待ち時間(例えば500ミリ秒)が経過するのを待つ。待ち時間が経過したら、コマンド送信部220は要素データD44に基づいてコマンドを第2機器20−2に対して実行する。すなわち、要素データD44の項目「ip」及び「path」に基づき、コマンド送信部220は図2に示したコマンドC6を取得する。そして、コマンド送信部220はコマンドC6として設定されたURLにアクセスする。この場合、HTTPリクエストが第2機器20−2に送信され、その結果、第2機器20−2による自動演奏が開始される。
[2−2]次に、機器情報取得部140及び機器情報送信部230について説明する。
機器情報取得部140は機器20の機器情報を取得する。機器情報取得部140は、機器20に対して当該機器20の機器情報を返信させるためのコマンドと、当該コマンドをLAN2を介して機器20に送信する際の宛先とを示すコマンドデータを生成し、当該コマンドデータをインターネット6を介してローカルエリア装置に送信する。なお、このコマンドデータの生成及び送信もコマンドデータ生成部120及びコマンドデータ送信部130を介して実行されてもよい。
例えば、第1機器20−1の機器情報を取得する場合、機器情報取得部140は図8に示すコマンドデータD5をインターネット6を介して第1機器20−1に送信する。コマンドデータD5では、図2に示したコマンドC4のうちのIPアドレス部分が項目「ip」に設定され、コマンドC4のうちのIPアドレス以降の部分が項目「path」に設定されている。
機器情報取得部140はコマンドデータD5をMQTTサーバ70の第1トピックTP1にパブリッシュする。コマンドデータD5は第1機器20−1に送信される。
機器情報送信部230は機器20の機器情報をインターネット6を介してコマンドデータ送信装置10に返信する。
例えば、コマンドデータD5が第1機器20−1で受信された場合、コマンドデータD5に基づき、機器情報送信部230は図2に示したコマンドC4を取得する。そして、機器情報送信部230はコマンドC4として設定されたURLにアクセスする。この場合、HTTPリクエストが第1機器20−1に送信され、第1機器20−1の機器情報がHTTPレスポンスとして返信される。この場合の機器情報は、第1機器20−1の機種を示す機種情報や、第1機器20−1の現在の状態を示す現在情報情報等を含む。
機器情報送信部230は、取得された機種情報を示す応答データを生成し、当該応答データをインターネット6を介してコマンドデータ送信装置10に返信する。
例えば図8に示す応答データD6が生成される。応答データD6では項目「type」に「response」が設定されている。これはこのデータが応答データであることを示す。応答データD6の項目「id」には、コマンドデータD5の項目「id」に設定されたID「10」と同じIDが設定される。これはこのデータがコマンドデータD5に対する応答データであることを示す。
さらに、応答データD6には項目「response」が含まれている。項目「response」には機器情報が格納される。項目「response」は項目「code」や「model」を含む。項目「response_code」には、機器情報を正常に取得できたか否かを示すフラグ情報が設定される。例えば、「0」又は「1」が項目「code」に設定される。「0」は、機器情報を正常に取得できたことを示し、「1」は、機器情報を正常に取得できなかったことを示す。項目「model」には、機器情報の一部として取得された機種情報が設定される。図8では省略されているが、機種情報以外を格納するための要素も項目「response」に含まれる。
機器情報送信部230は応答データD6をMQTTサーバ70の第2トピックTP2にパブリッシュする。第2トピックTP2にはコマンドデータ送信装置10がサブスクライバとして登録されており、第2トピックTP2にパブリッシュされた応答データD6は、第2トピックTP2をサブスクライブしている第1機器20−1にパブリッシュされる。すなわち、第2トピックTP2にパブリッシュされた応答データD6は第1機器20−1に送信される。機器情報取得部140は応答データD6を受信して取得する。このようにして機器情報取得部140は第1機器20−1の機器情報を取得する。ここでは、第1機器20−1の機器情報を取得する場合について説明したが、第2機器20−2、第3機器20−3、又は第4機器20−4の機器情報も同様にして取得できる。またここでは、機種情報を取得する場合について記載したが、機種情報以外の情報を第2トピックTP2を介してコマンドデータ送信装置10に送信してもよい。例えば、第1機器20−1が通常のコマンド(起動コマンド等)を実行した場合に当該コマンドの実行結果がHTTPレスポンスとしてとして第1機器20−1に返信されるような場合には、当該実行結果を第2トピックTP2を介して応答としてコマンドデータ送信装置10に返信してもよい。
[2−3]次に、判定部150及び通知部160について説明する。
[2−3−1]例えば、判定部150は、機器20の現在の状態を示す現在状態情報に基づいて、機器20が所定の第1状態であるか否かを判定する。そして、機器20が第1状態である場合に、コマンドデータ生成部120が、機器20を第1状態から所定の第2状態に変えるためのコマンドを示すコマンドデータを生成し、コマンドデータ送信部130が当該コマンドデータを送信してもよい。具体的には、例えば、判定部150は、現在状態情報に基づいて、機器20がスタンバイ状態(第1状態の一例)であるか否か(機器20が起動状態であるか否か)を判定する。そして、機器20がスタンバイ状態である場合(機器20が起動状態でない場合)に、コマンドデータ生成部120は、機器20をスタンバイ状態から起動するコマンド(機器20をスタンバイ状態から起動状態(第2状態の一例)に変えるコマンド)を示すコマンドデータを生成し、コマンドデータ送信部130が当該コマンドデータを送信してもよい。
例えばアレイコマンドデータD4を生成する際、判定部150は、第1機器20−1の現在の状態を示す現在状態情報に基づいて、第1機器20−1が起動状態であるか否かを判定してもよい。そして、第1機器20−1が起動状態でない場合に、コマンドデータ生成部120は、第1機器20−1を起動するためのコマンドデータを要素データD41としてアレイコマンドデータD4に含めてもよい。一方、第1機器20−1が起動状態である場合に、コマンドデータ生成部120は、第1機器20−1を起動するためのコマンドデータをアレイコマンドデータD4に含めなくてもよい。なお、第1機器20−1を起動するためのコマンドデータを含める場合には、次のコマンドを実行(送信)するまでの待ち時間を示す待ち時間データを上記コマンドデータの後に含めてもよい。
同様に、判定部150は、第2機器20−2の現在の状態を示す現在状態情報に基づいて、第2機器20−2が起動状態であるか否かを判定してもよい。そして、第2機器20−2が起動状態でない場合に、コマンドデータ生成部120は、第2機器20−2を起動するためのコマンドデータをアレイコマンドデータD4に含めてもよい。一方、第2機器20−2が起動状態である場合に、コマンドデータ生成部120は、第2機器20−2を起動するためのコマンドデータをアレイコマンドデータD4に含めなくてもよい。なお、第2機器20−2を起動するためのコマンドデータを含める場合には、次のコマンドを実行(送信)するまでの待ち時間を示す待ち時間データを上記コマンドデータの後に含めてもよい。
[2−3−2]また例えば、動作指示がスピーカから放音される音量に関する指示を含む場合に、判定部150は指示音量が基準音量よりも大きいか否かを判定してもよい。そして、指示音量が基準音量よりも大きい場合に通知部160はユーザに通知してもよい。すなわち、通知部160は指示音量が基準音量よりも大きいことをユーザに通知し、指示音量に誤りがないか否かをユーザに問い合わせてもよい。例えば、通知部160は、音声認識装置40を介して(又は音声認識装置40を介さずに)、指示音量に誤りがないか否かをユーザに問い合わせるための通知を表示又は音声出力するように音声入力装置30に要求する。この場合、ユーザは問いに対する回答を音声入力する。指示音量に誤りがない場合にはその旨が音声入力され、指示音量に誤りがある場合には正しい音量が改めて音声入力される。回答は音声認識装置40を介してコマンドデータ送信装置10に供給される。回答に基づいて、コマンドデータ生成部120は音量を設定するためのコマンドデータを生成し、コマンドデータ送信部130は当該コマンドデータを送信する。
指示音量が音声入力された場合には指示音量が誤って認識されるおそれがある。例えば、ユーザが指示音量として「18」を音声入力したにもかかわらず、英語の発音が「18」と類似する「80」が指示音量として認識されるおそれがある。この場合、ユーザの意図している音量よりもかなり大きい音量に設定されてしまう。この点、上記のような判定部150を設け、基準音量を例えば「50」に設定しておくことによって、ユーザの意図していない大音量で放音されてしまうことを防ぐことができる。
[2−3−3]また例えば、動作指示の対象の機器20が特定されていない場合に、判定部150は1つの機器20のみがLAN2に設置されているか否かを判定してもよい。すなわち、判定部150はユーザの機器テーブルT1を参照し、1つの機器20のみが機器テーブルT1に登録されているか否かを判定してもよい。1つの機器20のみがLAN2に設置されている場合、コマンドデータ生成部120は当該1つの機器20が動作指示の対象であるとみなしてもよい。一方、複数の機器20がLAN2に設置されている場合、通知部160は動作指示の対象の機器20が特定されていない旨をユーザに通知し、動作指示の対象の機器20をユーザに問い合わせてもよい。例えば、通知部160は、音声認識装置40を介して(又は音声認識装置40を介さずに)、動作指示の対象の機器20が特定されていない旨をユーザに通知し、動作指示の対象の機器20をユーザに問い合わせるように音声入力装置30に要求してもよい。
[2−4]次に、キーワードコマンド登録部170について説明する。
キーワードコマンド登録部170は、ユーザからの登録要求に応じて、複数のコマンド情報を一つの識別情報と関連付けてデータベース60(記憶手段の一例)に登録する。
例えば、ユーザは、スマートフォン又はタブレット型コンピュータ等の端末の画面に表示される複数のコマンド情報のうちから、ディナーシーン等の特定の場面用の複数のコマンド情報を選択する。具体的には、ユーザは、ディナーシーン用の複数のコマンド情報として、(1)AVレシーバをスタンバイ状態から起動するためのコマンド情報、(2)次のコマンドの実行まで500ミリ秒待機させるための待機情報、(3)AVレシーバの入力を第1のHDMI端子(HDMI1)に切り替えるためのコマンド情報、(4)AVレシーバからの出力音量を「40」に設定するためのコマンド情報、(5)テレビジョン受像機をスタンバイ状態から起動するためのコマンド情報、(6)次のコマンドの実行まで500ミリ秒待機させるための待機情報、(7)テレビジョン受像機のチャンネルを特定のチャンネルに変更するためのコマンド情報を選択する。または、ユーザは、ディナーシーン用の複数のコマンド情報として、(1)AVレシーバをスタンバイ状態から起動するためのコマンド情報、(2)次のコマンドの実行まで500ミリ秒待機させるための待機情報、(3)AVレシーバの入力を外部入力に切り替えるためのコマンド情報、(4)電子ピアノをスタンバイ状態から起動するためのコマンド情報、(5)次のコマンドの実行まで500ミリ秒待機させるための待機情報、(6)電子ピアノの演奏曲を特定の楽曲(ディナーシーンに適した楽曲)に設定するためのコマンド情報、(7)電子ピアノの自動演奏を開始させるためのコマンド情報を選択する。なお、上記の待機情報は、ユーザによる選択に応じて挿入されてもよいし、機器制御システム1によって自動的に挿入されてもよい。
また、ユーザは、選択した複数のコマンド情報に対して、例えば「Dinner」等の場面を示すキーワード(識別情報)を設定する。この場合、選択された複数のコマンド情報とキーワードとを示す登録要求が端末からコマンドデータ送信装置10に送信される。キーワードコマンド登録部170は、選択された複数のコマンド情報をキーワードと関連付けてデータベース60に登録する。
図9はデータベース60に記憶されるキーワードコマンドテーブルの一例を示す。キーワードコマンドテーブルT2はユーザごとに(ユーザIDと関連付けて)記憶される。キーワードコマンドテーブルT2には、ユーザによって選択された複数のコマンド情報がユーザによって設定されたキーワードと関連付けて記憶される。図9に示す例では、個々のコマンド情報として、順番と、コマンドの対象となる対象機器と、コマンドの内容とを示す情報が登録されている。なお、コマンド情報はコマンドデータを取得するための情報である。コマンドデータを生成する際の基礎となる情報がコマンド情報として記憶されてもよいし、コマンドデータ自体がコマンド情報として記憶されてもよい。
この場合、ユーザがキーワード「Dinner」を音声入力装置30に音声入力すると、音声入力されたキーワード「Dinner」が音声認識装置40を介してコマンドデータ送信装置10に供給される。そして、コマンドデータ生成部120はキーワードコマンドテーブルT2を参照し、キーワード「Dinner」と関連付けられた複数のコマンド情報を取得する。そして、コマンドデータ生成部120はそれら複数のコマンド情報に基づいてコマンドデータを取得(生成)し、コマンドデータ送信部130は当該コマンドデータをMQTTサーバ70を介して機器20に送信する。この場合、コマンドデータ生成部120は複数のコマンドデータを取得し、コマンドデータ送信部130はそれら複数のコマンドデータを一つずつ送信してもよいし、コマンドデータ生成部120は複数のコマンドデータを一つにまとめてなるアレイコマンドデータを生成し、コマンドデータ送信部130はアレイコマンドデータを送信してもよい。
[3.処理]機器制御システム1で実行される処理について説明する。
[3−1]図10は、テキストデータに変換された動作指示がユーザIDとともにコマンドデータ送信装置10に送信された場合に実行される処理の一例を示す。制御部11がプログラムに従って図10に示す処理を実行することによって、制御部11が動作指示受付部110、コマンドデータ生成部120、及びコマンドデータ送信部130として機能する。以下では、電子ピアノの自動演奏を指示する動作指示がユーザID「U1」とともに受信された場合を想定して、図10に示す処理を説明する。
図10に示すように、まず、制御部11は動作指示を受信する(S100)。そして、制御部11は対象機器を特定する(S102)。すなわち、制御部11はユーザU1の機器テーブルT1を参照し、動作指示の対象となる機器20を特定する。例えば、電子ピアノは第2機器20−2であるため、制御部11は第2機器20−2が対象機器であると判断する。
また、制御部11は関連機器を特定する(S104)。すなわち、制御部11はユーザU1の機器テーブルT1を参照し、対象機器が動作指示に応じた動作を行う際に動作させる必要のある他の機器20を特定する。例えば、第2機器20−2は第1機器20−1の外部入力端子に接続され、第2機器20−2から出力される音が第1機器20−1を介してスピーカから放音されるため、制御部11は第1機器20−1を関連機器として特定する。
その後、制御部11は対象機器及び関連機器を制御するためのコマンドデータを生成する(S106)。
例えば、制御部11は、第2機器20−2が自動演奏を行う際に第1機器20−1が行う必要のある動作を第1機器20−1に行わせるためのコマンドデータを生成する。具体的には、制御部11は、第1機器20−1をスタンバイ状態から起動するためのコマンドデータ(要素データD41)や、第1機器20−1の入力を外部入力に切り替えるためのコマンドデータ(要素データD43)を生成する。なお、第1機器20−1を起動するためのコマンドデータのように、待ち時間を設定する必要のあるものに関しては、待ち時間データ(要素データD42)が挿入される。また、この際、第1機器20−1がスタンバイ状態であるか否かを判定し、第1機器20−1がスタンバイ状態である場合にのみ、第1機器20−1をスタンバイ状態から起動するためのコマンドデータ(要素データD41)や待ち時間データ(要素データD42)を生成するようにしてもよい。
また、制御部11は、第2機器20−2に自動演奏を行わせるためのコマンドデータを生成する。具体的には、制御部11は、第2機器20−2をスタンバイ状態から起動するためのコマンドデータ、待ち時間を設定するための待ち時間データや、第2機器20−2に自動演奏を開始させるためのコマンドデータ(要素データD44)を生成する。なお、この際、第2機器20−2がスタンバイ状態であるか否かを判定し、第2機器20−2がスタンバイ状態である場合にのみ、第2機器20−2をスタンバイ状態から起動するためのコマンドデータや待ち時間データを生成するようにしてもよい。
その後、制御部11はコマンドデータを送信する(S108)。
例えば、制御部11はユーザU1の機器テーブルT1を参照し、対象機器がインターネット6を介してデータを受信可能な状態であるか否かを判定する。対象機器がインターネット6を介してデータを受信可能な状態である場合、制御部11は、対象機器のためのコマンドデータをMQTTサーバ70を介して対象機器に送信する。すなわち、制御部11はコマンドデータを対象機器への送信用のトピックにパブリッシュする。
一方、対象機器がインターネット6を介してデータを受信可能な状態でない場合、制御部11はユーザU1の機器テーブルT1を参照し、対象機器の代替機器を特定し、対象機器のためのコマンドデータをMQTTサーバ70を介して代替機器に送信する。すなわち、制御部11はコマンドデータを代替機器への送信用のトピックにパブリッシュする。なお、代替機器が関連機器と同一である場合、制御部11は、対象機器のためのコマンドデータと関連機器のためのコマンドデータとを一つのデータ(アレイコマンドデータ)にまとめて上記トピックにパブリッシュする。代替機器が関連機器と同一であったとしても、制御部11は、対象機器のためのコマンドデータと関連機器のためのコマンドデータとを一つのデータ(アレイコマンドデータ)にまとめずに、個別に上記トピックにパブリッシュしてもよい。
また例えば、制御部11はユーザU1の機器テーブルT1を参照し、関連機器がインターネット6を介してデータを受信可能な状態であるか否かを判定する。関連機器がインターネット6を介してデータを受信可能な状態である場合、制御部11は、関連機器のためのコマンドデータをMQTTサーバ70を介して関連機器に送信する。すなわち、制御部11はコマンドデータを関連機器への送信用のトピックにパブリッシュする。
一方、関連機器がインターネット6を介してデータを受信可能な状態でない場合、制御部11はユーザU1の機器テーブルT1を参照し、関連機器の代替機器を特定し、関連機器のためのコマンドデータをMQTTサーバ70を介して代替機器に送信する。すなわち、制御部11はコマンドデータを代替機器への送信用のトピックにパブリッシュする。なお、代替機器が対象機器と同一である場合、制御部11は、対象機器のためのコマンドデータと関連機器のためのコマンドデータとを一つのデータ(アレイコマンドデータ)にまとめて上記トピックにパブリッシュする。代替機器が対象機器と同一であったとしても、制御部11は、対象機器のためのコマンドデータと関連機器のためのコマンドデータとを一つのデータ(アレイコマンドデータ)にまとめずに、個別に上記トピックにパブリッシュしてもよい。
[3−2]図11は、コマンドデータが機器20に送信された場合に実行される処理の一例を示す。制御部21がプログラムに従って図11に示す処理を実行することによって、制御部21がコマンドデータ受信部210及びコマンド送信部220として機能する。
図11に示すように、まず、制御部21はコマンドデータを受信する(S200)。そして、制御部21は受信されたコマンドデータがアレイコマンドデータであるか否かを判定する(S202)。受信されたコマンドデータがアレイコマンドデータでない場合、すなわち、一つのコマンドデータのみが受信された場合、制御部21は、当該コマンドデータの項目「ip」及び「path」に基づいてコマンドを取得し(S220)、当該コマンドを送信する(S222)。すなわち、制御部21はコマンドとして取得されたURLにアクセスする。そして、制御部21は本処理を終了する。
一方、受信されたコマンドデータがアレイコマンドデータである場合、制御部21は先頭の要素データをアレイコマンドデータから読み出す(S204)。そして、制御部21は当該要素データがコマンドデータであるか否かを判定する(S206)。要素データがコマンドデータである場合、制御部11は当該コマンドデータの項目「ip」及び「path」に基づいてコマンドを取得し(S208)、当該コマンドを送信する(S210)。すなわち、制御部21はコマンドとして生成されたURLにアクセスする。その後、制御部21は次の要素データがアレイコマンドデータに存在するか否かを判定し(S212)。次の要素データがアレイコマンドデータに存在する場合、制御部21は当該要素データを読み出し(S214)、ステップS206を実行する。
一方、要素データがコマンドデータでない場合、例えば、要素データが待ち時間データである場合、制御部21は当該待ち時間データの項目「time」に基づいて待ち時間を設定する(S216)。そして、制御部21は待ち時間が経過したか否かを監視する(S218)。待ち時間が経過した場合、制御部21はステップS212を実行する。
ステップS212において、次の要素データがアレイコマンドデータに存在しないと判定された場合、制御部21は本処理を終了する。なお、以上に説明した処理(S206,S216)では、アレイコマンドデータに含まれる要素データがコマンドデータ及び待機時間データのいずれかである(すなわち、要素データの項目「type」に「cmd」及び「time」のいずれかが設定される)ことが前提となっているが、要素データはコマンドデータ及び待機時間データ以外のデータであってもよい。すなわち、要素データの項目「type」に「cmd」及び「time」以外を設定して、別の処理が実行されるようにしてもよい。同様に、以上に説明した処理(S200,S202,S220)では、コマンドデータ又はアレイコマンドデータが機器20で受信される(すなわち、データの項目「type」に「cmd」及び「array」のいずれかが設定される)ことが前提となっているが、データの項目「type」に「cmd」及び「array」以外を設定して、別の処理が実行されるようにしてもよい。
[3−3]図12は、機器20の機器情報を取得する場合に実行される処理の一例を示す。制御部11,21がプログラムに従って図12に示す処理を実行することによって、制御部11が機器情報取得部140として機能し、制御部21が機器情報送信部230として機能する。
図12に示すように、まず、コマンドデータ送信装置10の制御部11が対象機器の機器情報を取得するためのコマンドデータを生成する(S110)。例えば図8に示したようなコマンドデータD5が生成される。そして、制御部11はコマンドデータを送信する(S112)。この処理はステップS108と同様にして実行される。
コマンドデータが機器20(対象機器又は代替機器)で受信された場合、機器20の制御部21は、当該コマンドデータの項目「ip」及び「path」に基づいてコマンドを取得し(S230)、当該コマンドを送信する(S232)。すなわち、制御部21はコマンドとして取得されたURLにアクセスする。この場合、対象機器に対してHTTPリクエストが送信され、対象機器では機器情報を返信するための処理が実行され、機器情報がHTTPレスポンスとして返信される。その結果、制御部21は機器情報を取得し(S234)、当該機器情報に基づいて応答データを生成する(S236)。例えば図8に示したような応答データD6が生成される。
そして、制御部21は応答データをMQTTサーバ70を介してコマンドデータ送信装置10に送信する(S238)。すなわち、制御部21は応答データをコマンドデータ送信装置10への送信用のトピックにパブリッシュする。パブリッシュされた応答データはコマンドデータ送信装置10に送信される。
応答データがコマンドデータ送信装置10で受信された場合、制御部11は対象機器の機器情報を応答データから取得する(S114)。例えば、取得された機種情報はデータベース60(ユーザU1の機器テーブルT1)に登録される。
[3−4]図13は、キーワードコマンドの登録要求がユーザの端末からコマンドデータ送信装置10に送信された場合に実行される処理の一例を示す。制御部11がプログラムに従って図13に示す処理を実行することによって、制御部11がキーワードコマンド登録部170として機能する。
図13に示すように、まず、制御部11はキーワードコマンドの登録要求を受信する(S120)。この登録要求はユーザIDとともに受信される。この登録要求には、ユーザによって設定されたキーワード情報と、ユーザによって選択された複数のコマンド情報とが含まれる。
上記の登録要求が受信された場合、制御部11はユーザのキーワードコマンドテーブルT2にアクセスし、ユーザによって選択された複数のコマンド情報を、ユーザによって設定されたキーワードと関連付けてキーワードコマンドテーブルT2に登録する(S122)。
[3−5]図14は、キーワードを含む動作指示がユーザIDとともにコマンドデータ送信装置10に送信された場合に実行される処理の一例を示す。
図14に示すように、まず、制御部11はユーザのキーワードコマンドテーブルT2を参照し、キーワードに関連付けられた複数のコマンド情報を読み出す(S130)。そして、制御部11はそれら複数のコマンド情報に基づいて複数のコマンドデータを取得し、当該複数のコマンドデータを送信する(S132)。このコマンドデータの送信処理はステップS108と同様にして実行される。
[4.まとめ]以上に説明した機器制御システム1によれば、プライベートIPアドレスが設定された機器20をインターネット6を介して制御できる。その結果、例えば、ユーザがインターネット6で提供されるサービス(音声認識サービス等)を使用して機器20に対する動作指示を行うことができる。
また、機器制御システム1によれば、LAN2を介して機器20を制御するために元々使用していたコマンドを、インターネット6を介して機器20を制御する際にも流用できる。その結果、別個にコマンドを定義する必要がない。
また、機器制御システム1では、すべての機器20がコマンドデータ送信装置10からコマンドデータを受信可能な状態になっていなくてもよい。少なくとも一つの機器20がコマンドデータ送信装置10からコマンドデータを受信可能な状態になっていれば、当該機器20(代替機器)を介して、他の機器20に対してもコマンドを送信できる。
また、機器制御システム1によれば、一つの機器20に対する複数のコマンドデータや、複数の機器20に対する複数のコマンドデータを一つのデータ(パケット)にまとめて送信できる(図7参照)。その結果、一つの機器20に対する複数の制御を一度に送信したり、複数の機器20に対する制御を同時に行ったりできる。また、複数のコマンドデータを速く送受信したり、パケット量を削減したりできる。
また、機器制御システム1によれば、待ち時間データを挿入することによって、あるコマンドが実行されてから次のコマンドが実行されるまでの時間を調整できる。例えば、機器20をスタンバイ状態から起動するコマンドを実行した場合に、機器20の起動が完了するのを待って、次のコマンドを実行することができる。
また、機器制御システム1によれば、MQTTサーバ70に第1トピックTP1と第2トピックTP2との2つのトピックを設け、これらを使い分けることによって、コマンドデータ送信装置10から機器20へのデータ送信と、機器20からコマンドデータ送信装置10へのデータ送信とを行うことができる。その結果、例えば、コマンドデータ送信装置10は機器20の機器情報を取得できる。
[5.変形例]本発明は以上に説明した実施形態に限定されるものではない。
[5−1]以上では、主に、第1機器20−1、第2機器20−2、第3機器20−3、及び第4機器20−4がAVレシーバ、電子ピアノ、テレビジョン受像機、又はブルーレイディスクプレーヤである場合を想定して説明したが、機器制御システム1による制御の対象となる機器20はこれらに限られない。機器20は、AVレシーバ、テレビジョン受像機、及びブルーレイディスクプレーヤ以外のオーディオ機器又はオーディオビジュアル機器であってもよいし、電子ピアノ以外の楽器(電子オルガン又はギター等のネットワーク機能を有する楽器)であってもよい。ネットワーク通信機能を有するオーディオ機器、オーディオビジュアル機器、又は楽器は機器制御システム1による制御の対象となり得る。また、機器20は、オーディオ機器、オーディオビジュアル機器、及び楽器以外の機器であってもよい。ネットワーク通信機能を有する機器は機器制御システム1による制御の対象となり得る。
また、コマンドデータ送信装置10からコマンドデータを受信するローカルエリア装置は、機器制御システム1による制御の対象となる機器20以外の装置であってもよい。例えば、ローカルエリア装置は、ルータ、スイッチ、無線通信アクセスポイント等のネットワーク機器であってもよい。
[5−2]音声入力装置30はインターネット6に接続していればよく、機器20と同じLAN2に接続されていなくてもよい。
[5−3]以上に説明した実施形態では、ユーザが機器20の動作指示を音声入力装置30に入力するようになっていたが、動作指示は音声入力されなくてもよい。例えば、ユーザが端末の画面に表示されるボタンを選択することによって動作指示を入力できるようにしてもよい。
[5−4]第1機器20−1に対するコマンドを示すコマンドデータを第1機器20−1に送信する場合には、項目「ip」の指定を省略してもよい。項目「ip」が省略されている場合、第1機器20−1は自らのIPアドレス(192.168.0.2)又は127.0.0.1を使用すればよい。
[5−5]LAN2が有線LANと無線LANとの両方を含む場合、コマンドの送信先の機器20に応じて、いずれかを優先的に使用してもよい。
[5−6]以上に説明した実施形態では、コマンドがLAN2を介して送信されていたが、コマンドはLAN2以外の伝送手段を介して送信されてもよい。例えば、コマンドは、Bluetooth(登録商標)等の、無線LAN以外の無線通信を介して送信されてもよいし、HDMIケーブル等の、LANケーブル以外のケーブルを介して送信されてもよい。この場合、「ローカルエリア」とは、無線通信又はケーブルを介して通信可能なエリアである。
また、コマンドは以上に説明した形式(図2参照)に限られず、他の形式であってもよい。コマンドデータも以上に説明した形式(図5,7,8参照)に限られず、他の形式であってもよい。つまり、コマンドはHTTPプロトコルを使用したものでなくてもよい。
[5−6−1]例えば、コマンドはWake On LANを使用したものであってもよい。例えば、第2機器20−2がWake On LAN機能に対応している場合には、第2機器20−2のMACアドレスを16回繰り返してなるマジックパケット(コマンドに相当)を第1機器20−1から第2機器20−2に対して送信することによって、第2機器20−2を第1機器20−1から起動するようにしてもよい。第3機器20−3又は第4機器20−4を第1機器20−1から起動する場合も同様である。なお、この場合、機器テーブルT1には、Wake On LAN機能に対応しているか否かを示すフィールドを設けることによって、各機器20がWake On LAN機能に対応しているか否かを特定できるようにすればよい。
[5−6−2]また例えば、第3機器20−3(テレビジョン受像機)や第4機器20−4(ブルーレイディスクプレーヤ)は第1機器20−1(AVレシーバ)とHDMIケーブルを介して接続されているため、第3機器20−3又は第4機器20−4に対するコマンドがHDMIケーブルを介して送信されてもよい。具体的には、HDMI規格で定められたCEC(Consumer Electronics Control)機能を使用して、第3機器20−3又は第4機器20−4に対するコマンドが送信されてもよい。
ここで、X社製のテレビジョン受像機でテレビジョン放送を見る旨の動作指示「X watch TV」が音声入力装置30に入力された場合を想定する。この場合、第3機器20−3(テレビジョン受像機)を起動するためのコマンドデータが第1機器20−1(第3機器20−3の代替機器:図3参照)に送信され、第1機器20−1から第3機器20−3に対して、第3機器20−3を起動するためのコマンドが実行される。この場合、CEC機能に則ったONコマンド(起動コマンド)がHDMIケーブルを介して送信されてもよい。すなわち、第1機器20−1のコマンド送信部220は、上記コマンドを、第3機器20−3が接続された第1のHDMI端子(HDMI1)に対して出力してもよい。なお、テレビジョン受像機に関する他の動作指示が音声入力装置30に入力された場合にも、同様にして、第1機器20−1から第3機器20−3に対して、CEC機能に則ったコマンドがHDMIケーブルを介して送信されてもよい。例えば、テレビジョン受像機をOFFにする(スタンバイ状態にする)旨の動作指示「X turn off TV」が音声入力装置30に入力された場合には、第1機器20−1から第3機器20−3に対して、CEC機能に則ったOFFコマンドがHDMIケーブルを介して送信されてもよい。
また、X社製のブルーレイディスクプレーヤで再生される映像を見る旨の動作指示「X watch BD」が音声入力装置30に入力された場合を想定する。この場合、第4機器20−4(ブルーレイディスクプレーヤ)にコンテンツの再生を行わせるためのコマンドデータが第1機器20−1(第4機器20−4の代替機器:図3参照)に送信され、第1機器20−1から第4機器20−4に対して、コンテンツの再生を行わせるためのコマンドが実行される。この場合、CEC機能に則ったPLAYコマンド(再生コマンド)がHDMIケーブルを介して送信されてもよい。すなわち、第1機器20−1のコマンド送信部220は、上記コマンドを、第4機器20−4が接続された第4のHDMI端子(HDMI2)に対して出力してもよい。なお、ブルーレイディスクプレーヤに関する他の動作指示(起動、終了、停止、スキップ等)が音声入力装置30に入力された場合にも、同様にして、第1機器20−1から第4機器20−4に対して、CEC機能に則ったコマンド(ON,OFF,STOP,SKIP等)がHDMIケーブルを介して送信されてもよい。
なお、上記の場合、機器テーブルT1には、制御タイプを示す「制御タイプ」フィールドを設けることによって、各機器20をLAN2又はHDMIケーブルのいずれを介して制御するのかを特定できるようにすればよい。例えば、HDMIケーブルを介して制御するテレビジョン受像機やブルーレイディスクプレーヤに関しては「CEC_TV」や「CEC_BD」等を「制御タイプ」フィールドに登録することによって、これらの機器20がCEC機能に則ったコマンドで制御されることを特定できるようにすればよい。また、LAN2を介して機器20を制御するために元々使用されていたコマンドに対して、CEC機能に則ったコマンドの実行指示を追加するようにしてもよい。例えば、CEC機能に則ったONコマンドを第1のHDMI端子(HDMI1)に対して出力する動作を第1機器20−1に行わせる場合には、「http://192.168.0.2/ctrl?CEC_ON:HDMI1」のようなコマンドを実行するようにしてもよい。
[5−6−3]また例えば、リモートコントローラで制御可能な機器20に関しては、リモートコントローラから赤外線通信を介して送信されるコードを含むコマンドデータを生成し送信してもよい。ここで、X社製のテレビジョン受像機でテレビジョン放送を見る旨の動作指示「X watch TV」が音声入力装置30に入力された場合を想定する。この場合、リモートコントローラから第3機器20−3(テレビジョン受像機)を起動する場合に送信されるコードを含むコマンドデータが第1機器20−1(第3機器20−3の代替機器:図3参照)に送信され、第1機器20−1から第3機器20−3に対して、第3機器20−3を起動するためのコマンドが実行される。この場合、第1機器20−1は上記コードをLAN2又は赤外線通信等を介して送信するようにしてもよい。
[5−7]以上に説明した実施形態では、第2機器20−2に対するコマンドを示すコマンドデータ(例えばコマンドデータD2)を第2機器20−2が受信せずに、第1機器20−1が代わりに受信するようになっていたが、第2機器20−2がインターネット6に接続されている場合には第2機器20−2自身がコマンドデータD2を受信してもよい。この場合、コマンドデータD2の送信先を第1機器20−1から第2機器20−2へと変えるだけでよく、コマンドデータD2の内容を変える必要がない。またこの場合、第1機器20−1用のトピックである第1トピックTP1及び第2トピックTP2とは別に、第2機器20−2用の2つのトピック(例えば、第2機器20−2のMACアドレスに基づく名称のトピック)をMQTTサーバ70に設定しておき、第2機器20−2は、当該トピックのうちの一方を介してコマンドデータをコマンドデータ送信装置10から受信したり、当該トピックのうちの他方を介して機器情報等をコマンドデータ送信装置10に送信したりすればよい。第3機器20−3又は第4機器20−4に関しても同様である。
[5−8]機器20が起動されてネットワーク接続されたことを示すブート情報、機器20がシャットダウンされてネットワーク接続が切断されたことをシャットダウン情報や、機器20のネットワーク接続にエラーが発生したことを示すエラー情報をMQTTサーバ70を介して機器20からコマンド処理システム50(コマンドデータ送信装置10)に送信してもよい。コマンド処理システム50(コマンドデータ送信装置10)は、上記情報に基づいて、機器20の状態を管理するようにしてもよい。
[5−9]以上に説明した実施形態では、MQTTプロトコルを使用した方法でコマンドデータを送信していたが、他の手法を採用してもよい。例えば、コマンドデータをサーバに登録しておき、機器20がサーバにアクセスすることによって、サーバに登録されたコマンドデータをダウンロードするようにしてもよい。
1 機器制御システム、2 LAN、4 ルータ、6 インターネット、10 コマンドデータ送信装置、11 制御部、12 記憶部、13 通信部、20−1 第1機器、20−2 第2機器、20−3 第3機器、20−4 第4機器、21 制御部、22 記憶部、23 通信部、30 音声入力装置、40 音声認識装置、50 コマンド処理システム、60 データベース、70 MQTTサーバ、110 動作指示受付部、120 コマンドデータ生成部、130 コマンドデータ送信部、140 機器情報取得部、150 判定部、160 通知部、170 キーワードコマンド登録部、210 コマンドデータ受信部、220 コマンド送信部、230 機器情報送信部、C1〜C7 コマンド、D1〜D3 コマンドデータ、D4 アレイコマンドデータ、D41〜D44 要素データ、D5 コマンドデータ、D6 応答データ、T1 機器テーブル、T2 キーワードコマンドテーブル、TP1 第1トピック、TP2 第2トピック。

Claims (32)

  1. ローカルエリアに設置される機器に対する動作指示を受け付ける動作指示受付手段と、
    前記動作指示に応じた動作を行わせるために前記機器に対して送信すべきコマンドと、当該コマンドを前記ローカルエリア内での伝送手段を介して前記機器に送信する際の宛先とを示すコマンドデータを生成するコマンドデータ生成手段と、
    前記ローカルエリアに設置されるローカルエリア装置に対して、前記コマンドデータ生成手段によって生成されたコマンドデータを、ワイドエリアネットワークを介して送信するコマンドデータ送信手段と、
    を含むコマンドデータ送信装置。
  2. 請求項1に記載のコマンドデータ送信装置において、
    前記動作指示の対象の機器に関する情報に基づいて、当該機器が前記ワイドエリアネットワークを介してデータを受信可能であるかを判定する手段を含み、
    前記動作指示の対象の機器が前記ワイドエリアネットワークを介して情報を受信可能である場合に、前記コマンドデータ送信手段は、前記動作指示の対象の機器を前記ローカルエリア装置として、前記ワイドエリアネットワークを介して前記コマンドデータを前記動作指示の対象の機器に送信する、
    コマンドデータ送信装置。
  3. 請求項2に記載のコマンドデータ送信装置において、
    前記動作指示の対象の機器に関する情報は、当該機器の代わりに、前記ワイドエリアネットワークを介してデータを受信する代替機器に関する代替機器情報を含み、
    前記動作指示の対象の機器が前記ワイドエリアネットワークを介してデータを受信可能でない場合に、前記コマンドデータ送信手段は、前記代替機器を前記ローカルエリア装置として、前記ワイドエリアネットワークを介して前記コマンドデータを前記代替機器に送信する、
    コマンドデータ送信装置。
  4. 請求項1乃至3のいずれかに記載のコマンドデータ送信装置において、
    前記コマンドデータ生成手段は、前記動作指示に基づいて、複数のコマンドデータを生成する、
    コマンドデータ送信装置。
  5. 請求項4に記載のコマンドデータ送信装置において、
    前記コマンドデータ送信手段は、前記複数のコマンドデータを一つのデータにまとめて送信する、
    コマンドデータ送信装置。
  6. 請求項4又は5に記載のコマンドデータ送信装置において、
    前記コマンドデータ生成手段は、
    第1のコマンドを示す第1のコマンドデータと、
    前記第1のコマンドが送信されてから第2のコマンドが送信されるまでに設けられるべき待ち時間を示す待ち時間データと、
    前記第2のコマンドを示す第2のコマンドデータとを生成する、
    コマンドデータ送信装置。
  7. 請求項4乃至6のいずれかに記載のコマンドデータ送信装置において、
    前記複数のコマンドデータは、前記動作指示に応じた動作を行わせるために一つの機器に対して送信すべき複数のコマンドを示す、
    コマンドデータ送信装置。
  8. 請求項7に記載のコマンドデータ送信装置において、
    前記動作指示は、特定動作を行うことを指示するものであり、
    前記複数のコマンドデータは、
    前記機器を起動させるコマンドを示すコマンドデータと、
    前記機器に対して前記特定動作を行わせるコマンドを示すコマンドデータと、を含む、
    コマンドデータ送信装置。
  9. 請求項8に記載のコマンドデータ送信装置において、
    前記機器の現在の状態を示す現在状態情報に基づいて、前記機器が起動状態であるか否かを判定する手段を含み、
    前記コマンドデータ生成手段は、前記機器が起動状態でない場合に、前記機器を起動させるコマンドを示すコマンドデータを前記複数のコマンドデータに含める、
    コマンドデータ送信装置。
  10. 請求項4乃至6のいずれかに記載のコマンドデータ送信装置において、
    前記複数のコマンドデータは、前記動作指示に応じた動作を行わせるために複数の機器の各々に対して送信すべきコマンドと、当該コマンドを前記伝送手段を介して前記複数の機器の各々に送信する際の宛先とを示す、
    コマンドデータ送信装置。
  11. 請求項10に記載のコマンドデータ送信装置において、
    前記動作指示が第1の機器に対するものである場合に、当該動作指示に応じた動作を前記第1の機器に行わせる際に動作させる必要のある第2の機器を特定する手段を含み、
    前記複数のコマンドデータは、
    前記第1の機器に対して送信すべきコマンドと、当該コマンドを前記伝送手段を介して前記第1の機器に送信する際の宛先とを示すコマンドデータと、
    前記第2の機器に対して送信すべきコマンドと、当該コマンドを前記伝送手段を介して前記第2の機器に送信する際の宛先とを示すコマンドデータと、を含む、
    コマンドデータ送信装置。
  12. 請求項11に記載のコマンドデータ送信装置において、
    前記動作指示は、前記第1の機器から出力される音信号を放音手段から放音させることを指示するものであり、
    前記第2の機器は、複数の機器と接続されて当該複数の機器の各々から入力される音信号を前記放音手段から放音させるための機器であり、
    前記複数のコマンドデータは、
    前記第2の機器に対して、前記放音手段から放音させる音信号を前記第1の機器から入力される音信号に切り替えさせるコマンドを示すコマンドデータと、
    前記第1の機器に対して、前記音信号の出力を開始させるコマンドを示すコマンドデータと、を含む、
    コマンドデータ送信装置。
  13. 請求項1乃至12のいずれかに記載のコマンドデータ送信装置において、
    前記機器の現在の状態を示す現在状態情報に基づいて、前記機器が第1状態であるか否かを判定する手段を含み、
    前記コマンドデータ送信手段は、前記機器が前記第1状態である場合に、前記機器を前記第1状態から第2状態に変えるためのコマンドを示すコマンドデータを送信する、
    コマンドデータ送信装置。
  14. 請求項1乃至13のいずれかに記載のコマンドデータ送信装置において、
    前記機器の現在の状態を示す現在状態情報を取得する現在状態情報取得手段を含み、
    前記現在状態情報取得手段は、
    前記機器に対して前記現在状態情報を返信させるためのコマンドと、当該コマンドを前記伝送手段を介して前記機器に送信する際の宛先とを示すコマンドデータを生成し、当該コマンドデータを前記ワイドエリアネットワークを介して前記ローカルエリア装置に送信する手段と、
    前記ローカルエリア装置が前記伝送手段を介して前記宛先に前記コマンドを送信することによって前記ローカルエリア装置に返信される前記現在状態情報を、前記ワイドエリアネットワークを介して、前記ローカルエリア装置から受信する手段、を含む、
    コマンドデータ送信装置。
  15. 請求項1乃至14のいずれかに記載のコマンドデータ送信装置において、
    前記コマンドデータ送信手段は、MQTT(Message Queueing Telemetry Transport)プロトコルを使用して、前記コマンドデータを前記ローカルエリア装置に送信する、
    コマンドデータ送信装置。
  16. 請求項14に従属する請求項15に記載のコマンドデータ送信装置において、
    前記コマンドデータ送信手段は、前記MQTTプロトコルに則った第1のトピックを使用して、前記コマンドデータを前記ローカルエリア装置に送信し、
    前記現在状態情報取得手段は、前記MQTTプロトコルに則った、第1のトピックとは別の第2のトピックを使用して、前記現在状態情報を前記ローカルエリア装置から受信する、
    コマンドデータ送信装置。
  17. 請求項1乃至16のいずれかに記載のコマンドデータ送信装置において、
    前記コマンドデータ生成手段は、前記動作指示の対象の機器が特定されていない場合において、前記ローカルエリアに1つの機器のみが設置されている場合に、当該1つの機器が前記動作指示の対象であるとみなし、
    前記コマンドデータ送信装置は、前記動作指示の対象の機器が特定されていない場合において、前記ローカルエリアに複数の機器が設置されている場合に、前記動作指示の対象の機器をユーザに問い合わせる手段を含む、
    コマンドデータ送信装置。
  18. 請求項1乃至17のいずれかに記載のコマンドデータ送信装置において、
    前記動作指示は、音声入力装置を介して入力された音声に基づいて生成される、
    コマンドデータ送信装置。
  19. 請求項18に記載のコマンドデータ送信装置において、
    前記動作指示が放音手段から放音される音量に関する指示を含む場合に、指示された音量が基準音量よりも大きいか否かを判定する手段と、
    前記指示された音量が前記基準音量よりも大きい場合にユーザに通知する手段と、を含む、
    コマンドデータ送信装置。
  20. 請求項1乃至19のいずれかに記載のコマンドデータ送信装置において、
    前記機器は、リモートコントローラから送信されるコードに応じた動作を行い、
    前記コマンドデータ生成手段は、前記コードを含むコマンドと、当該コマンドを前記伝送手段を介して前記機器に送信する際の宛先とを示すコマンドデータを生成する、
    コマンドデータ送信装置。
  21. 請求項1乃至20のいずれかに記載のコマンドデータ送信装置において、
    ユーザからの登録要求に応じて、複数のコマンド情報を一つの識別情報と関連付けて記憶手段に登録する登録手段を含み、
    前記コマンドデータ生成手段は、前記識別情報を含む動作指示が受信された場合に、当該識別情報と関連付けられた前記複数のコマンド情報に基づいて、複数のコマンドデータを取得する、
    コマンドデータ送信装置。
  22. 請求項1乃至21のいずれかに記載のコマンドデータ送信装置において、
    前記機器は、前記伝送手段を介して送信されるコマンドを受信して当該コマンドに対応する動作を行い、
    前記ローカルエリア機器は、前記ワイドエリアネットワークを介してデータを受信可能な装置であって、前記伝送手段を介して前記宛先に前記コマンドを送信可能な装置である、
    コマンドデータ送信装置。
  23. ローカルエリアでの伝送手段を介してコマンドを送信すべき宛先と、前記伝送手段を介して当該宛先に送信すべきコマンドとを示すコマンドデータをワイドエリアネットワークを介して受信するコマンドデータ受信手段と、
    前記コマンドデータに基づいて、前記伝送手段を介して前記宛先に前記コマンドを送信するコマンド送信手段と、
    を含むローカルエリア装置。
  24. 請求項23に記載のローカルエリア装置において、
    前記宛先は前記ローカルエリア装置である、
    ローカルエリア装置。
  25. 請求項23又は24に記載のローカルエリア装置において、
    前記ローカルエリア装置はオーディオ機器である、
    ローカルエリア装置。
  26. 請求項23又は24に記載のローカルエリア装置において、
    前記ローカルエリア装置は、自動演奏機能を備えたピアノである、
    ローカルエリア装置。
  27. ワイドエリアネットワークを介してコマンドデータを送信可能なコマンドデータ送信装置であって、
    ローカルエリアに設置される機器に対する動作指示を受け付ける動作指示受付手段と、
    前記動作指示に基づいて、当該動作指示に応じた動作を行わせるために前記機器に対して送信すべきコマンドと、当該コマンドを前記ローカルエリア内での伝送手段を介して前記機器に送信する際の宛先とを示すコマンドデータを生成するコマンドデータ生成手段と、
    前記ローカルエリアに設置されるローカルエリア装置に対して、前記コマンドデータ生成手段によって生成されたコマンドデータを、前記ワイドエリアネットワークを介して送信するコマンドデータ送信手段と、を含むコマンドデータ送信装置と、
    前記ローカルエリア装置であって、
    前記コマンドデータを前記ワイドエリアネットワークを介して受信するコマンドデータ受信手段と、
    前記コマンドデータに基づいて、前記伝送手段を介して前記宛先に前記コマンドを送信するコマンド送信手段と、を含む前記ローカルエリア装置と、
    を含む機器制御システム。
  28. ローカルエリアに設置される機器に対する動作指示を受け付ける動作指示受付ステップと、
    前記動作指示に基づいて、当該動作指示に応じた動作を行わせるために前記機器に対して送信すべきコマンドと、当該コマンドを前記ローカルエリア内での伝送手段を介して前記機器に送信する際の宛先とを示すコマンドデータを生成するコマンドデータ生成ステップと、
    前記ローカルエリアに設置されるローカルエリア装置に対して、前記コマンドデータ生成ステップによって生成されたコマンドデータを、ワイドエリアネットワークを介して送信するコマンドデータ送信ステップと、
    を含むコマンドデータ送信装置の制御方法。
  29. ローカルエリアでの伝送手段を介してコマンドを送信すべき宛先と、前記伝送手段を介して当該宛先に送信すべきコマンドとを示すコマンドデータをワイドエリアネットワークを介して受信するコマンドデータ受信ステップと、
    前記コマンドデータに基づいて、前記伝送手段を介して前記宛先に前記コマンドを送信するコマンド送信ステップと、
    を含むローカルエリア装置の制御方法。
  30. コマンドデータ送信装置が、ローカルエリアに設置される機器に対する動作指示を受け付ける動作指示受付ステップと、
    前記コマンドデータ送信装置が、前記動作指示に基づいて、当該動作指示に応じた動作を行わせるために前記機器に対して送信すべきコマンドと、当該コマンドを前記ローカルエリア内での伝送手段を介して前記機器に送信する際の宛先とを示すコマンドデータを生成するコマンドデータ生成ステップと、
    前記コマンドデータ送信装置が、前記ローカルエリアに設置されるローカルエリア装置に対して、前記コマンドデータ生成手段によって生成されたコマンドデータを、ワイドエリアネットワークを介して送信するコマンドデータ送信ステップと、
    前記ローカルエリア装置が、前記コマンドデータを前記ワイドエリアネットワークを介して受信するコマンドデータ受信ステップと、
    前記ローカルエリア装置が、前記コマンドデータに基づいて、前記伝送手段を介して前記宛先に前記コマンドを送信するコマンド送信ステップと、
    を含む機器制御方法。
  31. ローカルエリアに設置される機器に対する動作指示を受け付ける動作指示受付手段、
    前記動作指示に基づいて、当該動作指示に応じた動作を行わせるために前記機器に対して送信すべきコマンドと、当該コマンドを前記ローカルエリア内での伝送手段を介して前記機器に送信する際の宛先とを示すコマンドデータを生成するコマンドデータ生成手段、及び、
    前記ローカルエリアに設置されるローカルエリア装置に対して、前記コマンドデータ生成手段によって生成されたコマンドデータを、ワイドエリアネットワークを介して送信するコマンドデータ送信手段、
    としてコンピュータとして機能させるためのプログラム。
  32. ローカルエリアでの伝送手段を介してコマンドを送信すべき宛先と、前記伝送手段を介して当該宛先に送信すべきコマンドとを示すコマンドデータをワイドエリアネットワークを介して受信するコマンドデータ受信手段、及び、
    前記コマンドデータに基づいて、前記伝送手段を介して前記宛先に前記コマンドを送信するコマンド送信手段、
    としてコンピュータを機能させるためのプログラム。
JP2018558642A 2016-12-29 2016-12-29 コマンドデータ送信装置、ローカルエリア装置、機器制御システム、コマンドデータ送信装置の制御方法、ローカルエリア装置の制御方法、機器制御方法、及びプログラム Active JP6725008B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/089215 WO2018123067A1 (ja) 2016-12-29 2016-12-29 コマンドデータ送信装置、ローカルエリア装置、機器制御システム、コマンドデータ送信装置の制御方法、ローカルエリア装置の制御方法、機器制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2018123067A1 true JPWO2018123067A1 (ja) 2019-06-27
JP6725008B2 JP6725008B2 (ja) 2020-07-15

Family

ID=62708590

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018558642A Active JP6725008B2 (ja) 2016-12-29 2016-12-29 コマンドデータ送信装置、ローカルエリア装置、機器制御システム、コマンドデータ送信装置の制御方法、ローカルエリア装置の制御方法、機器制御方法、及びプログラム

Country Status (3)

Country Link
US (1) US10498695B2 (ja)
JP (1) JP6725008B2 (ja)
WO (1) WO2018123067A1 (ja)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US20120311585A1 (en) 2011-06-03 2012-12-06 Apple Inc. Organizing task items that represent tasks to perform
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
DE212014000045U1 (de) 2013-02-07 2015-09-24 Apple Inc. Sprach-Trigger für einen digitalen Assistenten
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
EP3149728B1 (en) 2014-05-30 2019-01-16 Apple Inc. Multi-command single utterance input method
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10586535B2 (en) * 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
JP6962158B2 (ja) 2017-12-01 2021-11-05 ヤマハ株式会社 機器制御システム、機器制御方法、及びプログラム
JP7192208B2 (ja) * 2017-12-01 2022-12-20 ヤマハ株式会社 機器制御システム、デバイス、プログラム、及び機器制御方法
JP7067082B2 (ja) 2018-01-24 2022-05-16 ヤマハ株式会社 機器制御システム、機器制御方法、及びプログラム
JP6928842B2 (ja) * 2018-02-14 2021-09-01 パナソニックIpマネジメント株式会社 制御情報取得システム、及び、制御情報取得方法
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US20220084491A1 (en) * 2018-12-28 2022-03-17 Roland Corporation Control device, electronic musical instrument system, and control method
JP2020136920A (ja) * 2019-02-20 2020-08-31 パナソニックIpマネジメント株式会社 音声制御システム及び音声制御方法
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
JP7038294B2 (ja) * 2019-03-28 2022-03-18 パナソニックIpマネジメント株式会社 制御システム、制御方法、及び、プログラム
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK201970510A1 (en) 2019-05-31 2021-02-11 Apple Inc Voice identification in digital assistant systems
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11038934B1 (en) 2020-05-11 2021-06-15 Apple Inc. Digital assistant hardware abstraction
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001128262A (ja) * 1999-10-28 2001-05-11 Yokogawa Electric Corp リモートコントロールシステム
JP2004015627A (ja) * 2002-06-10 2004-01-15 Sharp Corp Av機器の遠隔制御システム
JP2005109763A (ja) * 2003-09-29 2005-04-21 Nec Corp ネットワークシステム,wol装置,ネットワークtvチューナ,及び情報装置起動方法
JP2015106358A (ja) * 2013-12-02 2015-06-08 日立アプライアンス株式会社 リモートアクセスシステムおよび宅内機器制御装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120032644A (ko) * 2010-09-29 2012-04-06 주식회사 팬택 이동 단말기 및 이동 단말기를 이용한 제어 방법
JP6213181B2 (ja) 2013-11-20 2017-10-18 ヤマハ株式会社 同期再生システム及び同期再生方法
US10038941B2 (en) * 2015-12-07 2018-07-31 Caavo Inc Network-based control of a media device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001128262A (ja) * 1999-10-28 2001-05-11 Yokogawa Electric Corp リモートコントロールシステム
JP2004015627A (ja) * 2002-06-10 2004-01-15 Sharp Corp Av機器の遠隔制御システム
JP2005109763A (ja) * 2003-09-29 2005-04-21 Nec Corp ネットワークシステム,wol装置,ネットワークtvチューナ,及び情報装置起動方法
JP2015106358A (ja) * 2013-12-02 2015-06-08 日立アプライアンス株式会社 リモートアクセスシステムおよび宅内機器制御装置

Also Published As

Publication number Publication date
WO2018123067A1 (ja) 2018-07-05
US10498695B2 (en) 2019-12-03
US20180191670A1 (en) 2018-07-05
JP6725008B2 (ja) 2020-07-15

Similar Documents

Publication Publication Date Title
JP6725008B2 (ja) コマンドデータ送信装置、ローカルエリア装置、機器制御システム、コマンドデータ送信装置の制御方法、ローカルエリア装置の制御方法、機器制御方法、及びプログラム
US9853830B2 (en) Information-provision control method, information reproduction system, information-provision apparatus, information reproduction apparatus and information-presentation control program
US10326662B2 (en) System and method for managing playback of streaming digital content
US8619803B2 (en) Sparse mode system
US11755303B2 (en) System and method for managing playback of streaming digital content
US10938595B2 (en) Device control system, device control method, and non-transitory computer readable storage medium
US8928553B2 (en) Method and apparatus for accessing device based on intuitive selection
WO2005010765A1 (ja) コンテンツ提供システム、情報処理装置および方法、出力装置および方法、並びにプログラム
US9363550B2 (en) Information processing apparatus, television receiver, information processing method, program, and information processing system
US11050579B2 (en) Distribution destination specifying device and distribution destination specifying method
US20130079909A1 (en) Audio outputting apparatus and program of the same
EP3780641B1 (en) Information processing device, information processing method, transmission device and transmission method
US8380813B2 (en) Network terminal apparatus and method of requesting distribution
JP2019101254A (ja) コマンドデータ生成システム及びコマンド生成方法
JP4787798B2 (ja) データ出力装置、形式変換装置、データ提供装置およびそれらのプログラム
KR20220053795A (ko) 인공지능 비서 서비스 제공 시스템 및 방법
JP2015142205A (ja) コンテンツ再生システム、サーバ装置、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200508

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: 20200526

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200608

R151 Written notification of patent or utility model registration

Ref document number: 6725008

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151