図1は、第1の実施形態にかかるログ収集システムの全体構成図の一例を示した図である。
第1の実施形態にかかるログを収集するためのシステムは、大きく2つの部分から構成される。1つは電子機器100であり、もう1つはログ分析装置400である。
電子機器100は、2つの機能を有する。1つ目の機能は、接続されている1つまたは複数の外部接続機器がもつ映像データあるいは電子機器100が有するテレビチューナーからテレビ用放送波の映像データのいずれかを電子機器100の表示部109に表示するための状態(以降モードと呼ぶ)の切替状況のログを取得する機能である。2つ目の機能は、1つまたは複数の外部接続機器の接続状態を検出して、外部接続機器との接続状況のログを取得する機能である。
例えば電子機器100を、HDMI(登録商標)インターフェースを持つテレビ受像機とした場合、DVDプレーヤーやセットトップボックス等の複数の外部接続機器を、HDMIインターフェースの複数の接続端子を介してテレビ受像機に接続している場合がある。この場合ユーザは、接続されている複数の外部接続機器のうち、どれか1つの外部接続機器を選択し、その外部接続機器がもつ映像データをテレビ受像機内の表示画面に表示して視聴するというユースケースが考えられる。
このようなユースケースにおいて、外部接続機器が接続しているテレビ受像機のHDMIインターフェースの端子をユーザがメニュー画面から選択すると、テレビ受像機は、テレビ用放送波を表示するモードから選択されたHDMIインターフェースの端子に接続された外部接続機器が持つ映像データを表示するモードに切り替える。このように電子機器100において、テレビ用放送波あるいは外部接続機器が持つ映像データのいずれかを表示部109に表示するために切り替えたモードの内容とそのモードの使用時間を含む情報であるモード切替状況のログを取得する機能が、1つめの機能である。テレビ受像機は、選択可能な端子をHDMIインターフェースによる外部接続機器との接続検出により認識することができる。
またテレビ受像機は、外部接続機器を接続すると、HDMIインターフェースによる外部接続機器との接続検出により、DVDプレーヤーやセットトップボックス等の外部接続機器との接続を検出することができる。このように電子機器100において、外部接続機器との接続の状態を検出し、検出した接続状況のログを取得する機能が、2つめの機能である。
ログ分析装置400は、大きく1つの機能からなる。この機能は、ネットワーク300を介して電子機器100から送信されてきたモード切替情報のログと外部接続機器との接続状態情報のログとを用いて、外部接続機器の使用状況を把握する機能である。
なお、電子機器100は、ログ分析装置400の機能であるモード切替情報のログと外部接続機器との接続状態情報のログとを用いて外部接続機器の使用状況を把握する機能を、電子機器100の3つめの機能として持っていてもよい。この場合システムとしては、3つめの機能を持つ電子機器100単体だけが存在していてもよいし、3つめの機能を持つ電子機器100とログ分析装置400から構成されていてもよい。あるいは、電子機器100の機能であるモード切替情報の蓄積の管理と接続状態情報の蓄積の管理は、ログ分析装置400の2つめ、3つめの機能として、ログ分析装置400が持っていてもよい。
電子機器100は、通信インターフェース101、内部信号処理部102、機器操作部103、入力制御部104、入力切替ログ記憶部105、接続機器識別情報取得部106、接続機器識別ログ記憶部107、ログ送信部108、表示部109および音声出力部110を有する。電子機器100は、具体的にはパソコンやテレビ受像機等である。あるいはモニター装置でもよい。
通信インターフェース101は、電子機器100に接続された外部接続機器200−1との通信を行うモジュールであり、例えばDVI(Digital Visual Interface)規格やHDMI(High−Definition multimedia interface)規格に対応したモジュールが該当する。また、通信インターフェース101は、MHL(High−DefinitionLink)やMiracast、AirPlay、WirelessDisplayでもよい。なお、通信インターフェース101を介して電子機器100に接続される外部接続機器は、図1に示す外部接続機器200−2から外部接続機器200−n(nは2以上の整数)のように複数あっても良い。
通信インターフェース101は、1つまたは複数の外部接続機器200−kとの接続の開始および接続の終了、ならびに外部接続機器の識別情報を認識することができる。
通信インターフェース101は、外部接続機器200−kが通信インターフェースを介して電子機器100と接続を開始あるいは接続を終了すると、外部接続機器の接続状況の情報として[入力ラベル、接続機器識別情報、接続開始時刻、接続終了時刻]の組み合わせで表現される接続状態情報を取得する。
入力ラベルについては後述するが、表示部109に映像を表示したり音声出力部110に音声出力したりする映像データ/音声データの送信元を特定するものである。
接続機器識別情報は、外部接続機器200−kが識別できればどのような情報であってもよく(外部接続機器200−kの識別情報と呼ぶ)、例えばHDMI規格の場合、機器制御プロトコルのHDMI−CEC(High―Definition Multimedia Interface−Consumer Electronics Control)で定義されるVendor idやOSD Nameなどでもよい。また、これに限らず、外部接続機器を特定できる識別情報が他にあれば、それを用いてもよい。
接続開始時刻は、通信インターフェース101が、現在接続している外部接続機器200−kと異なる新たな外部接続機器200−mとの接続を認識したときの時刻を表している。
また接続終了時刻は、通信インターフェース101が、現在接続を認識している外部接続機器200−kとの接続の終了を認識したときの時刻を表している。
通信インターフェース101が外部接続機器との接続の開始を認識する時刻は、どのような方法で認識されてもよく、例えば通信インターフェース101がHDMI規格の場合、外部接続機器に接続されたHDMIケーブルが、電子機器100のHDMI端子に挿入された時刻でもよい。あるいは定期的に電子機器100と外部接続機器の接続状態を検知することとして、外部接続機器に接続されたHDMIケーブルが電子機器100のHDMI端子に挿入された以降の時刻の近傍において、入力制御部104が、HDMIケーブルの挿入を認識出来たタイミングでもよい。
同様に、通信インターフェース101が外部接続機器との接続の終了を認識する時刻は、どのような方法で認識されてもよく、例えば通信インターフェース101がHDMI規格の場合、外部接続機器に接続されたHDMIケーブルが、電子機器100のHDMI端子から抜かれた時刻でもよい。あるいは定期的に電子機器100と外部接続機器の接続状態を検知することとして、外部接続機器に接続されたHDMIケーブルが電子機器100のHDMI端子から抜かれた以降の時刻の近傍において、入力制御部104が、HDMIケーブルの抜かれたことを認識出来たタイミングでもよい。
なお、接続状態情報は、[入力ラベル、接続機器識別情報、接続開始時刻、接続終了時刻]の組み合わせで表現される情報に限らず、外部接続機器200−mの他の属性情報や視聴装置100の他の情報を含んでもよい。
また、通信インターフェース101は、入力制御部104の指示に基づいて、電子機器100に接続している1つまたは複数の外部接続機器200−kから選択されたいずれかの外部接続機器がもつ映像データを、表示部109に表示できるように映像データの流れを制御する。
内部信号処理部102は、外部接続機器200−k以外から取得した映像データ(音声データを含む)を入力制御部104に送るモジュールである。例えば電子機器100がテレビ受像機の場合、内部信号処理部102は、テレビ受像機がアンテナ(図示しない)を経由して受信したテレビ用放送波から映像データや音声データを出力するテレビチューナーなどが該当する。
入力制御部104は、通信インターフェース101と連携して、接続されている外部接続機器200−nがもつ映像データあるいは内部信号処理部104から出力された映像データを、表示部109に表示するように、映像データの流れの経路であるデータパスを切替えるモジュールである。通信インターフェース101と入力制御部104を合わせて、入力部と呼ぶ。
入力制御部104が行うデータパスの切替は、機器操作部103から送られてくるモード切替の指示により行われる。例えば電子機器100がテレビ受像機の場合、ユーザが番組のチャンネル選局を行うと、機器操作部103は内部信号処理部102から出力された映像データあるいは音声データを、表示部109に表示したり音声出力部110に出力したりすることができるようにモードを切替えることを、入力制御部104に対して指示する。また例えばユーザが外部接続機器200−kとの接続端子をメニュー画面から選択すると、機器操作部103は選択された接続端子により通信インターフェース101を経由して外部より入力された映像データあるいは音声データを、表示部109に表示したり音声出力部に出力したりするようにモードを切り替えることを、入力制御部104に対して指示する。このように、接続されている1つまたは複数の外部接続機器がもつ映像データあるいはテレビ用放送波の映像データのいずれかを電子機器100の表示部109に表示するモードを切替えるように、機器操作部103が入力制御部104に出す指示をモード切替指示と呼ぶ。モード切替指示を受けた入力制御部104は、通信インターフェース101と連携して、データパスを切替える。
入力制御部104は、モード切替指示に従ってデータパスを切替える際にモードの切替状況の情報として[入力ラベル、切替開始時刻、切替終了時刻]の組み合わせで表現されるモード切替情報を取得する。入力制御部104は、取得したモード切替情報を任意のタイミングで入力切替ログ記憶部105にログとして蓄積する。入力制御部104は、モード切替情報を入力切替ログ記憶部105に蓄積する際に電子機器100の識別子である電子機器IDを付与して蓄積する。
入力ラベルは、表示部109に映像を表示したり音声出力部110に音声出力したりする映像データ/音声データの送信元を特定するものである。例えば入力ラベルは、ポート番号である「ポート01」「ポート02」でもよい。例えば通信インターフェース101がHDMI規格の場合は、ポート番号の代わりに外部機器が接続されているHDMI端子「HDMI1」「HDMI2」などを入力ラベルとしてもよい。また内部信号処理部102から出力される映像データ/音声データの場合、入力ラベルを「テレビ」「地上波」などとしてもよい。また図2に示すように、電子機器100に接続される外部接続装置200−kは、さらに別の外部接続機器201−kが接続されていてもよい。この場合、通信インターフェース101を介して電子機器100と直接接続されているのは外部接続装置200−1であるが、映像データ/音声データの送信元は、外部接続機器201−1である。この点を考慮して入力ラベルは、電子機器100に接続される外部接続機器の例えばMACアドレスのように機器がもつ固有のアドレスを用いてもよい。
切替開始時刻は、機器操作部103からのモード切替指示を受信したこにより入力制御部104が、今までの使用していたデータパスから新たなデータパスに切り替えたときの、新たなデータパスの開始時刻を表している。
また切替終了時刻は、機器操作部103からのモード切替指示を受信したこにより入力制御部104が、今までの使用していたデータパスから新たなデータパスに切り替えたときの、今までのデータパスの終了時刻を表している。
なお、モード切替情報は、[入力ラベル、切替開始時刻、切替終了時刻]の組み合わせで表現される情報に限らず、外部接続機器200−kの他の属性情報や電子機器100の他の情報を含んでもよい。例えば入力制御部104は、外部接続機器が電子機器100に映像データを送信する際に、その映像データと合わせて送信してきた番組の内容に関する情報やその番組のチャンネル情報を受信し、1以上のチャンネル及び1以上の時間帯における番組の内容やチャンネルに関する情報もモード切替情報として取り込むことも出来る。また、入力制御部104は、テレビ用放送の映像データを表示部109に表示する場合は、当該番組の内容やチャンネルに関する情報もモード切替情報として取り込むことも出来る。
接続機器識別情報取得部106は、通信インターフェース101から通知される接続状態情報を管理するモジュールである。接続機器識別情報取得部106は、通知された接続状態情報を任意のタイミングで接続機器識別ログ記憶部107にログとして蓄積する。接続機器識別情報取得部106は、接続状態情報を接続機器識別ログ記憶部107に蓄積する際に電子機器100の識別子である電子機器IDを付与して蓄積する。
なお、入力切替ログ記憶部105と接続機器識別ログ記憶部107は、異なるメモリのエリアであっても、同一メモリ内の異なる領域であってもよい。
ログ送信部108は、入力切替ログ記憶部105に蓄積されているモード切替情報、および接続機器識別ログ記憶部107に蓄積されている接続状態情報を、ネットワーク300を介して電子機器100の外部にあるログ分析装置400に転送するモジュールである。 ログ送信部108が入力切替ログ記憶部105に蓄積されているモード切替情報および接続機器識別ログ記憶部107に蓄積されている接続状態情報をログ分析装置400に送信するタイミングは、特定の時間ごとや電子機器100の電源OFF時、入力切替ログ記憶部105または接続機器識別ログ記憶部107に蓄積されたログの量がある一定量に達した時、等でもよい。またログ送信部108が入力切替ログ記憶部105に蓄積されているモード切替情報および接続機器識別ログ記憶部107に蓄積されている接続状態情報をログ分析装置400に送信するタイミングは、必ずしも同期している必要はなく、各々のログを独立したタイミングで送信してもよい。
ログ分析装置400は、電子機器ログ記憶部402に保存されているモード切替情報と接続状態情報を用いて、外部接続機器の使用時間を算出する装置である。ログ分析装置400は、図3に示すように複数の電子機器と接続することが可能であり、各々の電子機器から送られてくるモード切替情報と接続状態情報をログ受信部401で受信し、受信したログを電子機器ログ記憶部402に保存する。
さらにログ分析装置400は、ログの解析依頼を外部から受け付ける入力部406を持つ。入力部406は、ログの解析依頼を外部から受け付けると、分析要求受信部404に対してログ分析要求を送信する。ログ分析要求を受信した分析要求受信部404は、外部接続機器情報分析部403に対してログの分析を指示する。外部接続機器情報分析部403は、分析要求受信部404からのログの分析の指示を受信すると、電子機器ログ記憶部402からモード切替情報と接続状態情報を読み出し、読み出したモード切替情報と接続状態情報を分析することで外部接続機器200−kあるい201−kの接続時間を算出する。外部接続機器情報分析部403は、算出した結果を出力部405より出力する。
なお、先に説明したように、外部接続機器情報分析部403が行うモード切替情報と接続状態情報の分析は、電子機器100の中でも行うことが可能である。
ログ分析装置400が行う外部接続機器200−kあるい201−kの接続時間を算出する処理フローは、後で説明する。
図2は、先に説明したように、電子機器100に接続している外部接続装置200−1に、さらに外部接続装置201−2が接続されている例である。
なお、ログ分析装置400には、ネットワーク300を経由して複数の電子機器が接続するこも可能である。
図3は、1つのログ分析装置400に対して2つの電子機器がネットワーク300を経由して接続している例である。ログ分析装置400には、電子機器100−1および電子機器100−2が接続されている。図3に示すように、電子機器100−1に接続している外部接続機器と電子機器100−2に接続している外部接続機器は、それぞれ異なるものでも良く、また接続している外部接続機器の数が異なってもよい。ここでmは2以上の任意の整数である。
図4A、図5Aは、それぞれ電子機器ログ記憶部402に保存されているモード切替情報と接続状態情報の一例を示している。なお電子機器100の電子機器IDは、TH100−1とする。
モード切替情報T100は、[電子機器ID、入力ラベル、切替開始時刻、切替終了時刻]の組み合わせからなる。電子機器IDは、ログ送信部108が、モード切替情報を送信するタイミングで付与する電子機器100の固有の値である。入力ラベル、切替開始時刻および切替終了時刻は、入力切替ログ記憶部105に蓄積されていたモード切替情報の、入力ラベル、切替開始時刻、切替終了時刻である。
また、接続状態情報T101は、[電子機器ID、入力ラベル、接続機器識別情報、接続開始時刻、接続終了時刻]の組み合わせからなる。電子機器IDは、ログ送信部108が、接続状態情報を送信するタイミングで付与する電子機器100の固有の値である電子機器IDである。入力ラベル、接続機器識別情報、接続開始時刻および接続終了時刻は、接続機器識別ログ記憶部107に蓄積されていた接続状態情報の、入力ラベル、接続機器識別情報、接続開始時刻、接続終了時刻である。
モード切替情報T100の[電子機器ID、入力ラベル、切替開始時刻、切替終了時刻]の組み合わせの1つ1つ、また接続状態情報T101の[電子機器ID、入力ラベル、接続機器識別情報、接続開始時刻、接続終了時刻]の組み合わせの1つ1つをエントリと呼ぶ。
図4A、図5Aは、電子機器100に対する外部接続機器として「ゲーム機A」、「ゲーム機B」「レコーダA」、「パソコン」、「セットトップボックス」の5つが接続されている例である。図5Aの接続状態情報は、この3つの外部接続機器およびそのデータパスが「2016―08−25 12:00:00」に電子機器100との接続が開始されたことを意味している。また、図4Aのモード切替情報は、図5Aに記載の接続中のデータパスの中から、外部接続機器がもつ映像データを電子機器100の表示部109に表示させて視聴するために選択されたデータパスが、時刻「2016―08−25 12:00:00」から時刻「2016―08−25 12:31:00」の間は「ポート01」のデータパス、時刻「2016―08−25 12:31:00」から時刻「2016―08−25 12:46:00」の間が「ポート03」のデータパス、時刻「2016―08−25 12:46:00」から時刻「2016―08−25 13:16:00」の間が「ポート02」のデータパス、時刻「2016―08−25 13:16:00」から時刻「2016―08−25 14:11:00」の間が「ポート01」のデータパス、時刻「2016―08−25 14:11:00」から時刻「2016―08−25 15:00:00」の間が「ポート03」のデータパス、であること意味している。
図6Aは、図4Aのモード切替情報T100と図5Aの接続状態情報T101とを、同じ時間軸上に表現した一例である。モード切替情報の時系列U100を見ると、「2016−08−25 12:00:00」から「2016−08−25 12:31:00」の間に「ポート01」の入力ラベルが選択されており、この期間において接続状態情報の「ポート01」に対応する時系列U101を見ると「ゲーム機A」が接続されている(U104の期間)のが分かる。従って電子機器100においては、「2016−08−25 12:00:00」から「2016−08−25 12:31:00」の31分間は「ゲーム機A」のコンテンツが視聴されていたと推測することができる。他の期間についても同様に、外部接続機器の接続状況を推定することができる。
図6Bは、図4Bのモード切替情報T100と図5Bの接続状態情報T101とを、同じ時間軸上に表現した別の例である。図4Bは、エントリの1つに入力ラベル=「地上波」がある例である。この場合、図4Bのモード切替情報を取得する電子機器100は、テレビ受像機を想定している。このように入力制御部104は、テレビ用放送波として受信した映像データあるいは音声データを表示部109あるいは音声出力部110に出力するようにデータパスの切替えたログも取得することができる。
次に、図4A、図5Aに示すモード切替情報T100と接続状態情報T101を例にして、外部接続機器200−kあるい201−kの接続時間を算出する処理フローについて説明する。
図7は、電子機器100と外部接続機器200−kあるい201−kとの接続時間を算出する処理フローの一例である。
外部接続機器情報分析部403は、電子機器ログ記憶部402に保存されているモード切替情報T100を参照し、外部接続機器との接続時間の算出が未処理のエントリを1つ選択する。外部接続機器情報分析部403は、選択したエントリの入力ラベル、切替開始時刻、切替終了時刻を読み出す。外部接続機器情報分析部403は、読み出した切替開始時刻から切替終了時刻の間の時間において、選択したモード切替情報T100のエントリの入力ラベルと同一の入力ラベルを有するエントリを、接続状態情報T101の中から抽出する(S100)。
外部接続機器情報分析部403は次に、S100で抽出した接続状態情報T101のエントリのうち未処理のエントリを1つ選択する(S101)。
外部接続機器情報分析部403は、S101で選択した接続状態情報T101のエントリの接続開始時刻から接続終了時刻の間の時間T2と、S100で選択したモード切替情報T100のエントリの切替開始時刻から切替終了時刻の間の時間T1とが重複する時間の時間T3が、S101で選択したエントリの接続機器識別情報に記載の外部接続機器を使用していた時間である、として使用開始時刻T3−Sおよび使用終了時刻T3−Eを算出する(S102)。
外部接続機器情報分析部403は、S102で算出した使用開始時刻T3−Sと使用終了時刻T3−Eを、S101で選択した接続状態情報T101のエントリの「電子機器ID」の電子機器が、「接続機器識別情報」に記載の外部接続機器と接続していた「使用開始時刻」と「使用終了時刻」であると決定し、決定した内容を[電子機器ID、使用開始時刻、使用終了時刻、接続機器識別情報]の組み合わせとして、外部接続機器使用時間データに追加する(S103)。
以上S101からS103の処理を、S100において抽出した接続状態情報T101のすべてのエントリに対する処理が終了するまで繰り返す(S104)。S100において抽出した接続状態情報T101のすべてのエントリに対する処理が終了したら、S100で実施したモード切替情報T100を読み出すための読み出しポインタを更新し、モード切替情報T100の中から新たな未処理のエントリを読み出し、再びS101からS103の処理を繰り返す。読み出しポインタの更新はモード切替情報T100の未処理のエントリがなくなるまで繰り返し、読み出しポインタの更新ごとにS101からS104の処理を繰り返す(S105)。
以上の処理の流れを、図4Aに示すモード切替情報T100と図5Aに示す接続状態情報T01の例を用いて、具体的に説明する。
前提として、図4Aに図示されているモード切替情報T100のエントリのうち、切替開始時刻が図4Aの例に記載されている「2016−08−25 12:46:00」以前のエントリは、全て外部接続機器200−kの接続時間の算出が完了しているとする。また、切替開始時刻が、図4Aの例に記載されている最新の時刻である「2016−08−25 14:11:00」より後のエントリは、存在していないものとする。この場合外部接続機器情報分析部403は、電子機器ログ記憶部402に保存されているモード切替情報T100の読み出しポインタを、接続時間の算出が未処理のエントリのうち切替開始時刻が最旧のエントリである入力ラベル=「ポート1」、切替開始時刻=「2016−08−25 13:16:00」、切替終了時刻=「2016−08−25 14:11:00」のエントリが保存されているエリアの先頭に設定する。外部接続機器情報分析部403は、読み出しポインタの設定が完了すると、該当するエントリの読み出しを行い、入力ラベル=「ポート01」、切替開始時刻=「2016−08−25 13:16:00」、切替終了時刻=「2016−08−25 14:11:00」、の各々の情報を取得する。続いて外部接続機器情報分析部403は、取得した切替開始時刻=「2016−08−25 13:16:00」と切替終了時刻=「2016−08−25 14:11:00」の間の時間において、入力ラベル=「ポート01」であるエントリを、接続状態情報T101の中から抽出する(S100)。
図5Aの例では、「2016−08−25 13:16:00」と「2016−08−25 14:11:00」の間における接続状態情報T01のうち、入力ラベル=「ポート01」であるエントリは、入力ラベル=「ポート01」、接続機器識別情報=「ゲーム機A」、接続開始時刻=「2016−08−25 12:00:00」、接続終了時刻=「2016−08−25 13:26:00」のエントリであるエントリ1と、入力ラベル=「ポート01」、接続機器識別情報=「パソコンA」、接続開始時刻=「2016−08−25 13:46:00」、接続終了時刻=「2016−08−25 15:00:00」であるエントリのエントリ2の2つのエントリである。外部接続機器情報分析部403は、モード切替情報T100から読み出した入力ラベル=「ポート01」、切替開始時刻=「2016−08−25 13:16:00」、切替終了時刻=「2016−08−25 14:11:00」の各々の情報を用いて、接続状態情報T101の中から該当するエントリであるエントリ1およびエントリ2を抽出する(S100)。
なお上記説明では、モード切替情報T100に対する読み出しポインタの設定は、モード切替情報の未処理のエントリのうち切替開始時刻が最旧のエントリのエリアに設定したが、モード切替情報の、外部接続機器との接続時間の算出が未処理のエントリのうち切替開始時刻が最新のエントリのエリアに設定してもよい。また、モード切替情報の未処理のエントリのうち切替終了時刻が最旧のエントリのエリアに設定してもよいし、切替終了時刻が最新のエントリのエリアに設定してもよい。また、あるルールに従って順に読み出しポインタを設定してもよい。
次に外部接続機器情報分析部403は、S100で抽出したエントリ1とエントリ2のうちの1つのエントリを選択する(S101)。ここでは、外部接続機器情報分析部403は、エントリ1を選択するものとする。
エントリ1は、入力ラベル=「ポート01」、接続機器識別情報=「ゲーム機A」、接続開始時刻=「2016−08−25 12:00:00」、接続終了時刻=「2016−08−25 13:26:00」であり、このエントリ1の接続時間は、接続開始時刻=「2016−08−25 12:00:00」から接続終了時刻=「2016−08−25 13:26:00」までの間が時間T2(図6Aに示すU111の区間)である。また、S100で選択したモード切替情報T100のエントリは、入力ラベル=「ポート1」、切替開始時刻=「2016−08−25 13:16:00」、切替終了時刻=「2016−08−25 14:11:00」であり、このエントリの切替時刻は、切替開始時刻=「2016−08−25 13:16:00」から切替終了時刻=「2016−08−25 14:11:00」までの間の時間がT1(図6Aに示すU110の区間)である。外部接続機器情報分析部403は、このT1とT2とが重複する時間である時間T3(図6Aに示すU107の区間)が、S101で選択したエントリであるエントリ2の接続機器識別情報に記載の「ゲーム機A」が、電子機器100と接続して使われていた時間として、使用開始時刻と使用終了時刻を算出する(S102)。この例では、使用開始時刻は「2016−08−25 13:16:00」であり、使用終了時刻は「2016−08−25 13:26:00」である。
次に外部接続機器情報分析部403は、S102で算出した使用開始時刻と使用終了時刻が、S101で選択した接続状態情報T101のエントリの「電子機器ID」=「電子機器100−1」の電子機器が、「接続機器識別情報」=「ゲーム機A」の外部接続機器と接続していた「使用開始時刻」=「2016−08−25 13:16:00」と「使用終了時刻」=「2016−08−25 13:26:00」であると決定し、決定した内容を[電子機器ID、使用開始時刻、使用終了時刻、接続機器識別情報]=[100−1、2016−08−25 13:16:00、2016−08−25 13:26:00、ゲーム機A]の組み合わせとして、外部接続機器使用時間データに追加する(S103)。
以上S101からS103の処理を、S100において抽出した接続状態情報T101のエントリ2に対しても同様に実施する(S104)。S100において抽出したエントリ2に対する処理が終了したら、S100で実施したモード切替情報T100を読み出すための読み出しポインタを更新し、モード切替情報T100の中から新たな未処理のエントリを読み出し、再びS101からS103の同様の処理を繰り返す。(S105)。
以上の処理により、外部接続機器情報分析部403は、「2016−08−25 13:16:00」から「2016−08−25 13:26:00」までの時間にゲーム機Aが電子機器100と接続して使用され、「2016−08−25 13:46:00」から「2016−08−25 14:11:00」までの時間にパソコンAが電子機器100と接続して使用されていたと判断する。
この判断結果は、外部接続機器情報分析部403により外部接続機器使用時間データT102に[100−1、2016−08−25 13:16:00、2016−08−25 13:26:00、ゲーム機A]、[100−1、2016−08−25 13:46:00、2016−08−25 14:11:00、パソコンA]として追加される(S106)。
図8Aは、モード切替情報が図4Aに示すモード切替情報T100および接続状態情報が図5Aに示す接続状態情報T101の場合の図7に示す処理フローにより算出された外部接続機器の使用時間を表示した、外部接続機器使用時間データの一覧の例である。この例では、すべてのエントリにおいて電子機器IDがすべて同一であるが、電子機器IDが異なるエントリが混在していてもかまわない。また、「2016−08−25 13:26:00」から「2016−08−25 13:46:00」の間(U108の区間)は、モード切替情報は存在しているが接続状態情報は存在していない。このような区間は、外部接続機器は接続されているが、電子機器100の表示部109には映像データが出力されていないことを意味している。
図8Bは、同様にモード切替情報が図4Bに示すモード切替情報T100および接続状態情報が図5Bに示す接続状態情報T101の場合の図7に示す処理フローにより算出された外部接続機器の使用時間を表示した、外部接続機器使用時間データの一覧の他の例である。電子機器100が、テレビ用放送波の表示部109に表示している例が含まれている。この場合は、外部接続機器200−kの電子機器100への接続状況に関わらず、テレビ用放送波が表示部109に表示される。
以上のように、本実施形態によれば、ユーザが意図的に切り替えた外部接続機器とその選択時間を算出することができ、それらを外部接続機器の使用時間データとして取得することができる。
次に、通信インターフェース101を介して外部接続機器の制御信号(コマンドとも呼ぶ)の送受信が行われる場合について、第1の実施形態で示したような外部接続機器の使用時間だけでなく、内部状態の遷移を推測する方法を説明する。
図9は、第2の実施形態にかかるログ収集システムの全体構成図の一例を示した図である。図9に示すシステム全体構成図は、図1に示すログ収集システムの全体構成図に対して、大きく次の2つの機能が異なる。
1つ目の機能は、電子機器120に外部接続機器を制御するログを取得する機能が追加されている点である。2つ目の機能は、ネットワーク300を介して電子機器120から送信されてきた外部接続機器を制御するログを用いて、外部接続機器の内部の状況を推定する機能である。
接続機器制御部109は、外部接続機器200を制御するための制御信号を、機器操作部103から受け取り、通信インターフェース101を通じて外部接続機器200に送信する処理を行う部分である。例えば、通信インターフェース11がHDMI規格の場合、制御信号としてはHDMI−CECにより送信されるCECコマンドなどが考えられる。また、接続機器制御部109は、制御信号のログ情報として[入力ラベル、制御信号、制御時刻]の組み合わせで表現される接続機器制御情報を、接続機器制御ログ記憶部110に蓄積する。
制御時刻は、制御信号を制御した時刻であり、例えば外部接続機器200が接続機器制御部109から受信した制御信号に基づいて制御を行った時刻でもよく、あるいは接続機器制御部109が制御信号を送信した時刻でもよい。
ログ送信部108は、接続機器制御ログ記憶部110に蓄積される接続機器制御情報を外部のログ分析装置500に送信する際に、モード切替情報や接続状態情報と同様に電子機器120固有の値である電子機器IDを付与して送信する。
ログ送信部108が接続機器制御ログ記憶部110に蓄積されている接続機器制御情報をログ分析装置500に送信するタイミングは、特定の時間ごとや電子機器120の電源OFF時、接続機器制御ログ記憶部110に蓄積されたログの量がある一定量に達した時、等でもよい。またログ送信部108が接続機器制御ログ記憶部110に蓄積されている接続機器制御情報をログ分析装置500に送信するタイミングは、必ずしもモード切替情報あるいは接続状態情報と同期している必要はなく、独立のタイミングで送信してもよい。
ログ分析装置500は、電子機器ログ記憶部502に保存されているモード切替情報と接続状態情報と接続機器制御情報とを用いて、外部接続機器の内部状態を推定する装置である。ログ分析装置500は、図3に示す第1の実施形態の場合と同様に複数の電子機器と接続することが可能であり、各々の電子機器から送られてくるモード切替情報と接続状態情報と接続機器制御情報とをログ受信部501で受信し、受信したログを電子機器ログ記憶部502に保存する。
さらにログ分析装置500は、ログの解析依頼を外部から受け付ける入力部506を持つ。入力部506は、ログの解析依頼を外部から受け付けると、分析要求受信部504に対してログの分析要求を送信する。ログの分析要求を受信した分析要求受信部504は、外部接続機器情報分析部503に対してログの分析を指示する。外部接続機器情報分析部503は、分析要求受信部504からのログの分析の指示を受信すると、電子機器ログ記憶部502から分析対象のログを読み出し、読み出したモード切替情報と接続状態情報とを分析することで外部接続機器200−kあるい201−kの内部状態の遷移を推測し、その結果を出力部405に出力する。
ログ分析装置500が行う外部接続機器200−mあるい201−mの内部状態の遷移を推測する処理フローは、後で説明する。
図10、図11は、それぞれ電子機器ログ記憶部502の保存されている接続機器制御情報T200と状態遷移表T201の一例を示している。なお電子機器120の電子機器IDは、TH200とする。
接続機器制御情報T200は、[電子機器ID、制御信号、制御時刻]の組み合わせからなる。電子機器IDは、ログ送信部108が、接続機器制御情報を送信するタイミングで付与する電子機器200固有の値である。制御信号および制御時刻は、接続機器制御ログ記憶部110に蓄積されていた制御信号のログ情報である、制御信号、制御時刻である。
状態遷移表T201は、外部接続機器の制御信号と内部状態遷移を対応させた表である。
図12は、図11に示す状態遷移表T201を、現在の状態と遷移先の状態を矢印で結び、その矢印の方向に内部の状態が遷移するトリガとなる制御信号を矢印とともに記載したものである。図中の「○」は、状態を示しており、各状態を結ぶ矢印は、矢印元の状態が「現在の状態」、矢印先が「遷移先の状態」であることを示している。また、矢印の下の記載されている内容は、矢印の方向に内部の状態を遷移をするトリガとなる制御信号を示している。例えば、図11示す接続機器制御情報T201のエントリT201−1の内容は、図12の点線1201で囲まれた状態遷移で示される。つまり図11のエントリT201−1が示す「現在の状態」=「待機状態」が図12の待機状態V200であり、図11のエントリT201−1が示す「遷移先の状態」=「コンテンツ選択状態」が図12のコンテンツ選択状態V201であり、図11のエントリT201−1が示す「制御信号」=「録画リスト」が図12の待機状態V200からコンテンツ選択状態V201に向かう矢印の下に書かれている「録画リスト」である。
図13は、モード切替情報T100、接続状態情報T101に加え、図11の接続機器制御情報T200と図12の状態遷移表T201とを、同じ時間軸上に表現した一例である。U200がモード切替情報を示しており、U201が接続状態情報を示しており、U202が接続機器制御情報を示している。
モード切替情報T100の時系列U200を見ると、「2016−08−25 12:46:00」から「2016−08−25 13:16:00」の間に「ポート02」の入力ラベルが選択されており、この期間において接続状態情報の「ポート02」に対応する時系列U201を見ると「レコーダA」が接続されている(U210の期間)のが分かる。さらに同じ期間「2016−08−25 12:46:00」から「2016−08−25 13:16:00」において接続機器制御情報の時系列U202を見ると、U203からU209に示す「録画リスト」「カーソル」「カーソル」「決定」「早送り」「再生」「停止」の7つの制御信号が送信されていたことが分かる。
ここで、モード切替情報T100の時系列U200が示す「ポート02」に切り替わった時刻である「2016−08−25 12:46:00」から、接続機器制御情報T200の時系列U202が示す「録画リスト」の制御信号を制御した時刻である「2016−08−25 12:46:05」までのU210の期間の外部接続機器の状態を「初期状態」と定義する。この「初期状態」を、外部接続機器の具体的な「状態A」と仮定し、その「状態A」と接続機器制御情報T200の制御信号(U203からU209)および状態遷移表T201を用いることで、外部接続機器情報分析部503は、外部接続機器200−mの内部の状態に関して、「状態A」からの状態遷移を推定することができる。
例えば、U210の期間における「レコーダA」の「初期状態」を「待機状態V200」であると仮定すると、「2016−08−25 12:46:05」に制御信号=「録画リスト」を制御した外部接続機器は、内部状態を「コンテンツ選択状態」V201に遷移した(U211の期間の状態)、と推定できる。
なお初期状態としては、例えば対象となる外部接続機器の動作仕様として、モード切替情報T100に切替ログが残るデータパスの切替動作を行った後は内部状態を必ず「待機状態」に遷移させる、というようにある動作に伴い内部状態を一意に遷移させる動作仕様の場合は、その遷移した状態を初期状態としてもよい。また外部接続機器の電源をONにしたあとの定常状態を初期状態としてもよい。また、接続機器制御情報T200の時系列順U202と状態遷移表T201から初期状態を定義していもよい。
次に、モード切替情報、接続状態情報、接続機器制御情報および状態遷移表を分析することで外部接続機器200−mあるいは201−mの内部状態を推定する処理フローについて説明する。
図14は、電子機器120に接続する外部接続機器200−kあるい201−kの内部状態を推定する処理フローの一例である。
第1の実施形態と同様に外部接続機器情報分析部503は、電子機器ログ記憶部502に保存されているモード切替情報T100を参照し、外部接続機器の内部状態の推定が未処理のエントリを1つ選択する。外部接続機器情報分析部503は、選択したエントリの入力ラベル、切替開始時刻、切替終了時刻を読み出す。外部接続機器情報分析部503は、読み出した切替開始時刻から切替終了時刻の間の時間において、選択したモード切替情報T100のエントリから読み出した入力ラベルと同一の入力ラベルを有するエントリを、接続状態情報T101の中から抽出する(S200)。
外部接続機器情報分析部503は次に、S200で抽出した接続状態情報のエントリのうち未処理のエントリを1つ選択する(S201)。
外部接続機器情報分析部503は、S201で選択した接続状態情報のエントリの接続開始時刻から接続終了時刻の間の時間T2と、S200で選択したモード切替情報のエントリの切替開始時刻から切替終了時刻の間の時間T1とが重複する時間の時間T3が、S201で選択したエントリの接続機器識別情報に記載の外部接続機器を使用していた時間である、として使用開始時刻T3−Sおよび使用終了時刻T3−Eを算出する(S202)。
外部接続機器情報分析部503は、S202で算出した使用開始時刻T3−Sおよび使用終了時刻T3−Eの間の時間T3に「制御時刻」を持つ接続機器制御情報のエントリを抽出する(S203)。
外部接続機器情報分析部503は、S203で抽出した時間T3に「制御時刻」を持つ接続機器制御情報のエントリを時系列に並べ、「制御時刻」により時間T3を分割する。先にも説明したように、外部接続機器がもつ状態は、制御信号により遷移する。つまり、制御信号を制御した時刻である「制御時刻」が、外部接続機器が持つ「ある状態」の開始時刻であり、その「制御時刻」以前が「1つ前の状態」の終了時刻である。このように「制御時刻」に対応する形で、「ある状態」の開始時刻を状態開始時刻として「ある状態」の終了時刻を状態終了時刻として算出する(S204)。なお、最新の「制御信号」に対応する状態終了時刻が算出できない場合は、接続終了時刻を以て状態終了時刻とする。
外部接続機器情報分析部503は、次にS201で選択した接続状態情報のエントリの接続機器種別情報に記載されている外部接続機器の初期状態を仮定する(S205)。
外部接続機器情報分析部503は、S204で算出した「制御信号」に対応する形で算出した状態開始時刻および状態終了時刻と、S205で仮定した「初期状態」の状態と、状態遷移表T201とを用いて、状態開始時刻の最旧から順に内部状態を割り当てる(S206)。
外部接続機器情報分析部503は、S206で割り当てた内部状態を用いて、[電子機器ID,状態開始時刻、状態終了時刻、接続機器識別情報、内部状態]の組み合わせを外部接続機器内部状態データに加える(S207)。
以上の処理を、図7の場合と同様にS200で抽出した接続状態情報T101のすべてのエントリに対する処理が終了するまで繰り返す(S208)。S200において抽出した接続状態情報101のすべてのエントリに対する処理が終了したら、S200で実施したモード切替情報T100を読み出すための読み出しポインタを更新し、モード切替情報T100の中から新たな未処理のエントリを読み出し、再びS201からS207の処理を繰り返す。読み出しポインタの更新は、モード切替情報T100の未処理のエントリがなくなるまで繰り返し、読み出しポインタの更新ごとにS201からS208の処理を繰り返す(S209)。
以上の処理の流れを、図10に示す接続機器制御情報T200、図13に示すモード切替情報、接続状態情報、接続状態情報、及び状態遷移表との関係を同じ時間軸で表現した例を用いて、具体的に説明する。
S200からS202までの処理は、S100からS102までの処理と同一である。なお、S202で算出された時間T3は、図13の例では「2016−08−25 12:46:00」から「2016−08−25 13:16:00」(U210の期間)が相当する。
S203において外部接続機器情報分析部503は、時間T3である「2016−08−25 12:46:00」から「2016−08−25 13:16:00」の時間に「制御時刻」を持つ接続状態情報のエントリを抽出する。この抽出されたエントリは、図10に示す接続機器制御情報T200である。
S204において外部接続機器情報分析部503は、時間T3である「2016−08−25 12:46:00」から「2016−08−25 13:16:00」の時間を「制御時刻」により分割し、状態開始時刻と状態終了時刻を算出する。図13の接続状態情報T200の時系列U202に示すように、時間T3の間には「録画リスト」「カーソル」「カーソル」「決定」「早送り」「再生」「停止」の7つの「制御信号」が存在している。外部接続機器情報分析部503は、「制御時刻」を用いて時間T3の間を、「制御時刻」=「2016−08−25 12:46:05」に対応して状態開始時刻1=「2016−08−25 12:46:05」および状態終了時刻1=「2016−08−25 12:46:15」とする状態1の期間U211、「制御時刻」=「2016−08−25 12:46:15」に対応して状態開始時刻2=「2016−08−25 12:46:15」および状態終了時刻2=「2016−08−25 12:46:16」とする状態2の期間U212、「制御時刻」=「2016−08−25 12:46:16」に対応して状態開始時刻3=「2016−08−25 12:46:16」および状態終了時刻3=「2016−08−25 12:46:20」とする状態3の期間U213、「制御時刻」=「2016−08−25 12:46:20」に対応して状態開始時刻4=「2016−08−25 12:46:20」および状態終了時刻4=「2016−08−25 12:55:00」とする状態4の期間U214、「制御時刻」=「2016−08−25 12:55:00」に対応して状態開始時刻5=「2016−08−25 12:55:00」および状態終了時刻5=「2016−08−25 12:55:05」とする状態5の期間U215、「制御時刻」=「2016−08−25 12:55:05」に対応して状態開始時刻6=「2016−08−25 12:55:05」および状態終了時刻6=「2016−08−25 13:15:45」とする状態6の期間U216、「制御時刻」=「2016−08−25 13:15:45」に対応して状態開始時刻7=「2016−08−25 13:15:45」および状態終了時刻7=「2016−08−25 13:16:00」とする状態7の期間U217に分割する。なお、「制御時刻」=「2016−08−25 13:15:45」の次の「制御時刻」が存在しないため、制御時刻を用いて状態7の状態終了時刻7を算出することはできないが、先に説明したようにこの場合は「接続終了時刻」=「2016−08−25 13:16:00」を以て「状態終了時刻」とする。
以上により、時間T3の間において、「制御信号」に対応する形ですべての状態における状態開始時刻および状態終了時刻が算出される(S204)。
次に外部接続機器情報分析部503、初期状態の仮定を行う(S205)。初期状態は、図13の例ではU210の期間における状態である。図13の例は、初期状態を「待機状態」と仮定した場合である。
外部接続機器情報分析部503は、S205で仮定した初期状態=「待機状態」と、S204で決定した各状態の状態開始時刻および状態遷移表T201を用いて、S204の状態1から状態7に対して、状態遷移表T201で定義されている外部接続機器の具体的な状態の割り当てを行う。具体的には、初期状態を「待機状態」と仮定したので、この「待機状態」に対して、状態開始時刻1=「2016−08−25 12:46:05」に外部接続機器が「制御信号」=「録画リスト」により「状態1」に遷移したと見なし、「状態1」の具体的な状態を図11に示す状態遷移表T201より特定する。図11に示す例では「現在の状態」=「コンテンツ選択状態」、「制御信号」=「録画リスト」のエントリの内容から「遷移先の状態」=「コンテンツ選択状態」を特定する。これにより状態1は「コンテンツ選択状態」と決定される。外部接続機器情報分析部503は、状態2から状態7までに関しても同様の処理を行い、全ての状態に対して、状態遷移表T201で定義されている具体的な状態の割り当てを行う(S206)。
図15は、図14に示す処理フローにより推定された外部接続機器の内部状態を表示した、外部接続機器内部状態データの一覧の例である。この例では、1種類の電子機器における外部接続機器使用時間データが記載されているが、複数種類の電子機器における外部接続機器使用時間データが混在していても構わない。
以上のように本実施形態によれば、外部接続機器において内部の状態遷移のログをとることなく、外部接続機器が接続している電子機器を用いて、その外部接続機器の内部状態の遷移を推測することができ、その推測結果を外部接続機器の内部状態データとして取得することができる。これにより、電子機器側の動作に基づいて、外部接続機器の使用状況を把握することができる。また電子機器に接続している複数の外部接続機器の使用状況を1つの時系列で把握することができるため、電子機器の利用者単位で使用している複数の外部接続機器のトータルな使用状況を容易に把握することが可能となる。
第1の実施形態では機器操作部103は、ユーザ操作に基づきモード切替を入力制御部104に指示すると説明したが、これに限らず、例えば通信インターフェース101が外部接続機器との接続の開始を認識したら、その接続を開始した外部接続機器とのデータパスに切り替えるように入力制御部104にモード切替の指示を出してもよい。あるいは、接続を開始を認識した外部接続機器のうち、優先度が高い外部接続機器の場合のみ、その接続を開始した外部接続機器とのデータパスに切り替えるように入力制御部104に指示を出してもよい。
第2の実施形態は、電子機器120に接続する外部接続機器の内部状態の遷移を、電子機器が推測する機能に関して説明したが、電子機器120はさらに第1の実施形態で説明した外部接続機器の接続時間を算出する機能を有してもよい。この場合は、電子機器120がS204からS207の処理を行わず、代わりにS103に相当する処理を行えばよい。また電子機器120は、両方の機能をどちらか一方だけを切り替えて使用できるようにしてもよい。
図11に示す状態遷移表の内容が、外部接続機器の動作内容に即していない場合がある。このような場合は、外部接続機器のバージョンが新しく外部接続機器情報分析部503に保存されている状態遷移表のバージョンが古いことによることがある。例えば図11に示す「現在の状態」に対して、図11の状態遷移表の組み合わせとして存在しない「制御信号」が接続機器制御部109より外部接続機器に送信されたする。具体的には、接続機器制御部109が、「現在の状態」=「一時停止状態」に対して「制御信号」=「早送り」を送信したとする。このような接続機器制御部109の動作に対して、外部接続機器情報分析部503は、接続機器制御情報として「接続信号」=「早送り」、制御時刻=「yyyy−mm−dd hh:mm:ss」のエントリを受信する。外部接続機器情報分析部503が、制御時刻=「yyyy−mm−dd hh:mm:ss」の直前の状態を「一時停止状態」と推定しているとすると、「一時停止状態」に対する「制御信号」=「早送り」に対応した「遷移後の状態」が図11の状態遷移表の中に定義されておらず、分析エラーとなる。このように分析エラーが発生した場合、外部接続機器情報分析部503は、分析エラーの要因とともに分析エラーが発生している旨を出力部505に出力してもよい。
またログ分析装置500は、外部接続機器200−mが電子機器120に送る映像データに関する情報、例えば番組情報等を予めネットワーク300経由で入手してもよい。これにより、外部接続機器200−mの内部状態を推定するのに、入手した番組情報の内容を加味することで、より詳細な内部状態を推定が可能となる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
なお、本発明は以下の実施形態においても実施可能である。
電子機器と、前記電子機器に接続する外部接続機器の動作のログを解析するサーバーとからなるシステムにおいて、
前記電子機器は、
1つまたは複数の前記外部接続機器と接続が可能で、少なくとも映像データを含むデータのやり取りを行うためのインターフェースと、
前記インターフェースを介して、前記外部接続機器から送られてきた映像データを表示する表示部と、
前記インターフェースにより前記外部接続機器の1つである第1の外部接続機器との接続の開始を認識した第1の接続において、前記第1の接続を開始した時刻である接続開始時刻、前記第1の外部接続機器の識別子および前記第1の外部接続機器から送られてくる映像データを前記表示部に表示可能とするようにデータをやり取りする経路である第1のデータパスの識別子とを少なくとも含む第1のログ、ならびに前記第1の接続を終了した時刻である接続終了時刻、前記第1の外部接続機器識別子および前記第1のデータパスの識別子とを少なくとも含む第2のログ、からなる接続機器識別情報ログを取得する接続機器識別情報取得部と、
前記インターフェースにより接続中であることを認識した1つまたは複数の前記外部接続機器とデータのやり取りをするための1つまたは複数のデータパスの中から、第2の外部接続機器とデータのやり取りをするための第2のデータパスを選択する選択部と、
前記選択部により選択された前記第2のデータパスを、前記第2の外部接続機器から送られてくる映像データを前記表示部に表示するために設定した時刻である切替開始時刻および前記第2のデータパスの識別子とを少なくとも含む第3のログ、ならびに前記第2の外部接続機器から送られてくる映像データを前記表示部に表示することを終了するために前記第2のデータパスを解除した時刻である切替終了時刻および前記第2のデータパスの識別子とを少なくとも含む第4のログ、からなる切替ログを取得する入力制御部と、
前記接続機器識別情報ログと前記切替ログとを前記サーバーに送信する送信部と、
を具備し、
前記サーバーは、受信した前記接続機器識別情報ログと前記切替ログとを用いて、前記第1の外部接続機器と前記電子機器とがデータのやり取りをしていた時間を算出する外部接続機器情報分析部
を具備するシステム。