(57)【要約】【課題】テレビの視聴履歴を正確に記録する。【解決手段】履歴記録装置は、放送受信装置と通信可能に接続され、検出部と、取得部と、判定部と、登録部とを有する。検出部は、放送受信装置の動作状態を検出する。取得部は、放送受信装置を操作する信号を取得する。判定部は、取得した信号が放送受信装置のチャンネル選択指示である場合、放送受信装置の動作状態が動作中であるか否かを判定する。登録部は、放送受信装置の動作状態が動作中であると判定された場合に、チャンネル選択指示に基づいて特定される視聴履歴情報を所定の記憶部に記録する。【選択図】図１
2017195548.tif 000002
【特許請求の範囲】
【請求項１】
放送受信装置と通信可能に接続される履歴記録装置において、
前記放送受信装置を操作する操作信号を取得する取得部と、
前記放送受信装置の動作状態を検出する検出部と、
取得した前記操作信号が前記放送受信装置のチャンネル選択指示である場合、検出された前記放送受信装置の動作状態が動作中であるか否かを判定する判定部と、
前記放送受信装置の動作状態が動作中であると判定された場合に、取得済みの前記チャンネル選択指示に基づいて特定される視聴履歴情報を所定の記憶部に記録する登録部と
を有することを特徴とする履歴記録装置。
【請求項２】
前記登録部は、前記チャンネル選択指示を取得してから、所定期間が経過するまでの間に新たなチャンネル選択指示を取得しない場合に、取得済みの前記チャンネル選択指示に基づいて特定される前記視聴履歴情報を前記記憶部に記録することを特徴とする請求項１に記載の履歴記録装置。
【請求項３】
前記検出部は、前記チャンネル選択指示が取得された場合に、前記放送受信装置に対して前記放送受信装置の動作状態の取得要求を送信して、前記放送受信装置の動作状態を示す情報を受信することを特徴とする請求項１又は２に記載の履歴記録装置。
【請求項４】
放送受信装置と通信可能に接続されるコンピュータに、
前記放送受信装置を操作する操作信号を取得する処理と、
前記放送受信装置の動作状態を検出する処理と、
取得した前記操作信号が前記放送受信装置のチャンネル選択指示である場合、検出された前記放送受信装置の動作状態が動作中であるか否かを判定する処理と、
前記放送受信装置の動作状態が動作中であると判定された場合に、取得済みの前記チャンネル選択指示に基づいて特定される視聴履歴情報を所定の記憶部に記録する処理と
を実行させることを特徴とする履歴記録プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、履歴記録装置及び履歴記録プログラムに関する。
【背景技術】
【０００２】
視聴者への番組のリコメンドなどのサービスを提供する際に用いられる嗜好情報として、視聴者によるテレビ受信装置（以下「テレビ」と表記する場合がある）における番組の視聴履歴情報を取得して蓄積する技術が知られている。
【０００３】
視聴履歴情報は、テレビ用リモコン信号（以下「リモコン信号」と表記する場合がある）を受信するテレビ本体において取得されることもあれば、外部の記録装置がリモコン信号を受信して取得されることもある。テレビとは独立した外部の記録装置がリモコン信号を受信する構成によれば、既存のテレビの構成を変更することなく、視聴履歴情報を記録することができる。例えば、外部の記録装置が、受信したリモコン信号から、電源のＯＮＮ／ＯＦＦの指示や選択されたチャンネル番号等を抽出し、チャンネル番号とテレビ番組情報とに基づいて特定される情報を、視聴履歴情報として記録する技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２４８２０１号公報
【特許文献２】特開２００８−１４１５０４号公報
【特許文献３】特開２０１１−１３０２８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記技術においては、テレビの視聴履歴を正確に記録することができない。例えば、上記技術における記録装置は、テレビにおける番組の受信状態とは無関係に視聴履歴情報を蓄積するので、テレビの電源がＯＦＦで、番組が受信されていない状態であっても、視聴履歴情報を蓄積する。
【０００６】
具体的には、テレビの電源が入っていない状態等においてテレビ用リモコンのチャンネル番号選択ボタンが誤操作された場合、テレビは、送信されたリモコン信号に対応する番組を受信することはない。このような場合においても、記録装置は、リモコン信号を受信するので、チャンネル番号等を抽出し、視聴履歴情報を記録する。このため、記録装置は、テレビにおいて実際に番組が受信されたか否かにかかわらず、選択されたチャンネル番号に対応する番組を視聴履歴情報として蓄積する場合がある。このような視聴履歴情報は、視聴者の嗜好に合致するとは限らないので、記録装置が、蓄積された視聴履歴情報に基づいて番組をリコメンドしても、視聴者の嗜好に合致しない番組がリコメンドされる。
【０００７】
一つの側面では、テレビの視聴履歴を正確に記録できる履歴記録装置及び履歴記録プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
一つの態様において、履歴記録装置は、放送受信装置と通信可能に接続され、検出部と、取得部と、判定部と、登録部とを有する。検出部は、放送受信装置の動作状態を検出する。取得部は、放送受信装置を操作する信号を取得する。判定部は、取得した信号が放送受信装置のチャンネル選択指示である場合、放送受信装置の動作状態が動作中であるか否かを判定する。登録部は、放送受信装置の動作状態が動作中であると判定された場合に、チャンネル選択指示に基づいて特定される視聴履歴情報を所定の記憶部に記録する。
【発明の効果】
【０００９】
一つの態様によれば、テレビの視聴履歴を正確に記録できるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、システムの全体構成の一例を示す図である。
【図２】図２は、履歴記録装置のハードウェア構成の一例を示す図である。
【図３】図３は、ソフトウェア構成の一例を示す図である。
【図４】図４は、機能構成の一例を示す図である。
【図５】図５は、視聴履歴ＤＢの一例を示す図である。
【図６】図６は、視聴情報の一例を示す図である。
【図７】図７は、ＩＲ信号の一例を示す図である。
【図８】図８は、全体処理の一例を示すフローチャートである。
【図９】図９は、チャンネルプリセット処理の一例を示すシーケンス図である。
【図１０】図１０は、視聴履歴記録処理の一例を示すシーケンス図である。
【図１１】図１１は、ＰＣアプリ制御部におけるチャンネルプリセット処理の一例を示すフローチャートである。
【図１２】図１２は、ＰＣアプリ制御部における視聴履歴記録処理の一例を示すフローチャートである。
【図１３】図１３は、ＩＲマイコン部における処理の一例を示すフローチャートである。
【図１４】図１４は、ＣＥＣマイコン部における処理の一例を示すフローチャートである。
【図１５】図１５は、ＣＥＣマイコン部における処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に、本願の開示する履歴記録装置及び履歴記録プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１２】
［システム構成］
まず、本実施例における履歴記録システムについて説明する。図１は、システムの全体構成の一例を示す図である。図１に示すように、履歴記録システム１は、履歴記録装置１００と、ＩＲ受信部２０１を有するテレビ２００と、テレビ２００に近接して設置されるＩＲ送受信器２１０とを含む。
【００１３】
履歴記録装置１００は、テレビ２００における視聴履歴を記録する装置である。履歴記録装置１００は、例えばパーソナルコンピュータ（ＰＣ）である。履歴記録装置１００は、テレビ２００と、例えばＵＳＢ（Universal  Serial  Bus）やＨＤＭＩ（登録商標）（High-Definition  Multimedia  Interface）を介して通信可能に接続される。また、履歴記録装置１００は、ＩＲ送受信器２１０と、例えばＵＳＢを介して通信可能に接続される。
【００１４】
テレビ２００は、選択されたチャンネル（以下「ＣＨ」と表記する場合がある）の放送信号を受信する受信装置である。テレビ２００は、例えば、受信した放送信号に基づく映像を画面上に表示するテレビ受信装置である。テレビ２００は、ＩＲ受信部２０１を用いて、例えば図示しない視聴者により操作されるリモコン９００から、テレビ用リモコン信号（以下「リモコン信号」と表記する場合がある）である赤外線（ＩＲ）信号を受信することにより、チャンネル選択指示を受信する。
【００１５】
ＩＲ送受信器２１０は、ＩＲ信号を送受信する。ＩＲ送受信器２１０は、例えばテレビ２００に近接する位置など、リモコン９００からテレビ２００に送信されるＩＲ信号を受信できる位置に設置される。ＩＲ送受信器２１０は、受信したＩＲ信号を履歴記録装置１００に出力する。また、ＩＲ送受信器２１０は、例えば履歴記録装置１００から入力されたＩＲ信号の送信指示に従い、ＩＲ信号を送信する。
【００１６】
本実施例において、履歴記録装置１００は、ＩＲ送受信器２１０を通じて、リモコン信号を取得し、リモコン９００において選択されたチャンネル番号等の情報を特定する。また、履歴記録装置１００は、テレビ２００から、テレビ２００の電源ＯＮ／ＯＦＦに関する情報を取得する。これにより、履歴記録装置１００は、テレビ２００の電源がＯＮである場合に限り、チャンネル番号等に基づき特定される視聴履歴を記録するので、誤った視聴履歴の記録を抑止できる。
【００１７】
［ハードウェア構成］
次に、図２を参照して、履歴記録装置１００のハードウェア構成を説明する。図２は、履歴記録装置のハードウェア構成の一例を示す図である。本実施例にかかる履歴記録装置１００は、ＣＰＵ（Central  Processing  Unit）１０１と、メモリ１０２と、ＨＤＤ（Hard  Disk  Drive）１０３と、無線ＬＡＮ（Local  Area  Network）１０４とを備える。また、履歴記録装置１００は、ＣＥＣ（Consumer  Electronics  Control）マイコン１０６と、ＨＤＭＩコネクタ１０７と、チップセット１１１と、ＩＲマイコン１１３と、電源１１４とをさらに備える。なお、メモリ１０２及びＨＤＤ１０３は、記憶部の一例である。チップセット１１１は、ＣＰＵ１０１と、ＣＥＣマイコン１０６と、ＨＤＭＩコネクタ１０７とを通信可能に接続する。
【００１８】
ＣＰＵ１０１は、履歴記録装置１００全体の処理を司る処理部であり、例えばプロセッサの一例である。このＣＰＵ１０１は、ＨＤＤ１０３に記憶されるプログラムをメモリ１０２に展開して各種プロセスを実行する。また、ＣＰＵ１０１は、無線ＬＡＮ１０４を介して図示しない他の装置とのデータの送受信を行う。また、ＣＰＵ１０１は、映像や音声などの情報（ＴＭＤＳ／ＤＤＣ等）を、チップセット１１１及びＨＤＭＩコネクタ１０７を介してテレビ２００との間で送受信する。
【００１９】
ＨＤＭＩコネクタ１０７は、ＨＤＭＩに対応した機器との接続端子である。本実施例では、テレビ２００と履歴記録装置１００とはこのＨＤＭＩコネクタ１０７を介して接続される。
【００２０】
ＣＥＣマイコン１０６は、ＣＰＵ１０１が出力したテレビ２００の制御命令（ＣＥＣ等）を、ＣＥＣの規格に変換してＨＤＭＩコネクタ１０７を介してテレビ２００へ出力する。また、ＣＥＣマイコン１０６は、テレビ２００からの制御信号（Hot  Plug  Detect信号等)を変換してＣＰＵ１０１へ出力する。また、ＣＥＣマイコン１０６は、電源１１４の状態を検出し、検出結果に基づいた処理を行う。ＣＥＣマイコン１０６は、図示しないプロセッサ、メモリ、Ｉ／Ｏ（Input／Output）ポート等を含む。
【００２１】
ＩＲマイコン１１３は、ＩＲ送受信器２１０が受信したＩＲ信号を、ＣＥＣマイコン１０６に出力する。また、ＩＲマイコン１１３は、ＣＥＣマイコン１０６から出力された指示に基づいて、ＩＲ送受信器２１０にＩＲ信号の送信を指示する。ＩＲマイコン１１３は、図示しないプロセッサ、メモリ、Ｉ／Ｏポート等を含む。
【００２２】
［ソフトウェア構成］
次に、図２に示すハードウェアにおいて実行されるソフトウェアの構成について、図３を用いて説明する。図３は、ソフトウェア構成の一例を示す図である。図３において、ソフトウェア群３００に示す各ソフトウェアはＣＰＵ１０１により実行され、ソフトウェア群４００に示す各ソフトウェアはＣＥＣマイコン１０６により実行される。ソフトウェア群３００のうち、「ＣＥＣ  Ｕｔｉｌｉｔｙ」（ＣＥＣユーティリティ）は、チャンネル選択指示を受信した場合にテレビ２００の電源状態を取得し、テレビ２００の電源がＯＮである場合に視聴履歴情報を記録するソフトウェアである。なお、本実施例において、電源状態を「電源ステート」と表記する場合がある。
【００２３】
［機能構成］
次に、図２に示すハードウェアにより実現される機能について、図４を用いて説明する。図４は、機能構成の一例を示す図である。図４に示すように、履歴記録装置１００は、記憶部１３０と、ＰＣアプリ制御部１４０と、ＣＥＣマイコン部１５０と、ＩＲマイコン部１７０とを有する。
【００２４】
記憶部１３０は、履歴記録装置１００が使用するプログラムやデータを記憶する。記憶部１３０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。そして、記憶部１３０は、ＰＣアプリ制御部１４０が行う各処理に用いられる情報を適宜記憶する。本実施例において、記憶部１３０は、例えば、メモリ１０２及びＨＤＤ１０３により実現される。
【００２５】
図４に示すように、記憶部１３０は、管理ＤＢ１３１と、視聴履歴ＤＢ１３２とを有する。管理ＤＢ１３１は、ＰＣアプリ制御部１４０における処理により取得又は生成された各種の情報を記憶する。管理ＤＢ１３１は、例えば、テレビ２００のメーカに関する情報を示すメーカコードを記憶する。
【００２６】
視聴履歴ＤＢ１３２は、ＰＣアプリ制御部１４０により取得された視聴履歴情報を記憶する。図５は、視聴履歴ＤＢの一例を示す図である。図５に示すように、視聴履歴ＤＢ１３２は、「曜日」と、「番組開始」と、「番組終了」と、「ＣＨ」と、「番組名」と、「視聴回数」とを含む。「曜日」、「番組開始」及び「番組終了」は、「番組名」に記憶される番組が、何曜日の何時から開始し、何時に終了するかを記憶する。「ＣＨ」は、当該番組が放送されるチャンネルを記憶する。「視聴回数」は、当該番組が視聴された回数を記憶する。例えば、視聴履歴ＤＢ１３２には、「モーニング○○○」という番組が、「水曜日」の「５：３０」に始まり、「８：００」に終了することが記憶される。また、視聴履歴ＤＢ１３２には、「モーニング○○○」という番組が、「１４」チャンネルにて放送され、これまでに「２３」回視聴されていることも記憶される。なお、視聴履歴ＤＢ１３２は、通算の視聴回数を記憶する構成であってもよく、例えば直近１年間の視聴回数を記憶する構成であってもよい。視聴履歴ＤＢ１３２は、所定の記憶部の一例である。
【００２７】
次に、ＰＣアプリ制御部１４０の各機能について説明する。ＰＣアプリ制御部１４０は、ＣＰＵやＭＰＵ（Micro  Processing  Unit）等によって、履歴記録装置１００内部の記憶装置に記憶されている各種プログラムがＲＡＭを作業領域として実行されることにより実現される。例えば、ＰＣアプリ制御部１４０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。本実施例において、ＰＣアプリ制御部１４０は、図２に示すＣＰＵ１０１によって、ＨＤＤ１０３に記憶されている各種プログラムがメモリ１０２を作業領域として実行されることにより実現される。ＰＣアプリ制御部１４０は、チャンネル解析部１４１と、番組解析部１４２と、ユーザ設定部１４５と、ＣＥＣマイコン通信部１４７と、ＣＥＣマイコン制御部１４８と、ＩＲマイコン制御部１４９とを有する。
【００２８】
チャンネル解析部１４１は、受信されたイベントに基づいて、チャンネルを解析する処理部である。チャンネル解析部１４１は、イベントを受信した場合、受信したイベントがチャンネル選択指示に関するものであるか否かを判定する。また、チャンネル解析部１４１は、受信したイベントがチャンネル選択指示に関するものである場合、管理ＤＢ１３１に記憶されたメーカコードを参照して、イベントに対応するチャンネル情報を特定する。
【００２９】
番組解析部１４２は、特定されたチャンネル情報に基づいて、受信される番組を特定する処理部である。例えば、番組解析部１４２は、図示しない番組表を参照して、チャンネル解析部１４１において特定されたチャンネル情報と、イベントが受信された日時とに基づいて、受信される番組を特定する。なお、番組解析部１４２が、図示しない無線通信部を通じて、履歴記録装置１００の外部のコンピュータに記憶された番組表にアクセスするような構成であってもよい。また、番組解析部１４２は、特定された番組に関する情報を、視聴履歴ＤＢ１３２に記憶する。番組解析部１４２は、登録部の一例である。
【００３０】
チャンネル解析部１４１及び番組解析部１４２により解析され、図５に示す視聴履歴ＤＢ１３２に記憶される視聴情報について、図６を用いて説明する。図６は、視聴情報の一例を示す図である。例えば、チャンネル解析部１４１は、視聴情報６０１に示すように、管理ＤＢ１３１に記憶された「Ｐｒｅｓｅｔ」情報を参照して、「６：１７」の時点で受信されたイベントが「１３ＣＨ」を選択するイベントであることを特定する。次に、番組解析部１４２は、図示しない番組表を参照し、当該日時及びチャンネルに対応する番組が「おはよう○○○」であることを特定する。そして、番組解析部１４２は、「おはよう○○○」が、「月曜日から金曜日」において、「６：００」に開始し、「８：００」に終了すること、「１３」チャンネルで放送されることを示すデータを視聴履歴ＤＢ１３２に設定する。
【００３１】
ユーザ設定部１４５は、ＰＣアプリ制御部１４０において実行される処理に対するユーザによる設定を受け付ける処理部である。例えば、ユーザ設定部１４５は、テレビ２００を起動させる日時や、視聴を希望する番組等の入力を受け付け、管理ＤＢ１３１又は視聴履歴ＤＢ１３２に記憶する。
【００３２】
ＣＥＣマイコン通信部１４７は、ＣＥＣマイコン部１５０との間で情報の送受信を行う処理部である。例えば、ＣＥＣマイコン通信部１４７は、ＣＥＣマイコン制御部１４８から出力される情報を、ＣＥＣマイコン部１５０に送信する。また、ＣＥＣマイコン通信部１４７は、ＣＥＣマイコン部１５０から受信した情報を、ＣＥＣマイコン制御部１４８に出力する。
【００３３】
ＣＥＣマイコン制御部１４８は、ＣＥＣマイコン部１５０に対する各種の制御を行うとともに、ＣＥＣマイコン部１５０から取得された情報に関する処理を行う処理部である。例えば、ＣＥＣマイコン制御部１４８は、履歴記録装置１００がディスプレイに表示する情報が更新されたことを示す「ＷＭ＿ＤＩＳＰＬＡＹＣＨＡＮＧＥ」信号を受け取った場合に、テレビ２００のメーカ情報を示す「ＶｅｎｄｏｒＩＤ」の取得を要求する。具体的には、ＣＥＣマイコン制御部１４８は、「ＧｅｔＶｅｎｄｏｒＩＤ」コマンドを、ＣＥＣマイコン通信部１４７を通じてＣＥＣマイコン部１５０に送信する。
【００３４】
また、ＣＥＣマイコン制御部１４８は、取得されたＶｅｎｄｏｒＩＤからメーカコードを判別する。ＣＥＣマイコン制御部１４８は、判別されたメーカコードを管理ＤＢ１３１に記憶する。また、ＣＥＣマイコン制御部１４８は、ＶｅｎｄｏｒＩＤをＣＥＣマイコン部１５０に設定する「ＳｅｔＶｅｎｄｏｒＩＤ」コマンドを、ＣＥＣマイコン通信部１４７を通じてＣＥＣマイコン部１５０に送信する。
【００３５】
ＩＲマイコン制御部１４９は、ＩＲマイコン部１７０の動作を制御する処理部である。例えば、ＩＲマイコン制御部１４９は、ＩＲマイコン部１７０に対し、動作の開始又は終了の指示を、ＣＥＣマイコン通信部１４７及びＣＥＣマイコン部１５０を経由して送信する。
【００３６】
次に、ＣＥＣマイコン部１５０について説明する。ＣＥＣマイコン部１５０は、ＣＰＵやＭＰＵ等によって、履歴記録装置１００内部の記憶装置に記憶されている各種プログラムがＲＡＭを作業領域として実行されることにより実現される。例えば、ＣＥＣマイコン部１５０は、ＡＳＩＣやＦＰＧＡ等の集積回路により実現される。本実施例において、ＣＥＣマイコン部１５０は、図２に示すＣＥＣマイコン１０６のプロセッサによって、ＣＥＣマイコン１０６内のメモリに記憶されている各種プログラムが当該メモリを作業領域として実行されることにより実現される。ＣＥＣマイコン部１５０は、管理ＤＢ１５１と、ＰＣアプリ通信部１６１と、制御部１６２と、ＣＥＣ情報送受信部１６３と、ＣＥＣ情報解析部１６４と、電源制御部１６６と、操作保存部１６７と、ＩＲマイコン通信部１６８と、ＩＲ情報解析部１６９とを有する。
【００３７】
管理ＤＢ１５１は、ＣＥＣマイコン部１５０における処理により取得又は生成された各種の情報を記憶する。例えば、管理ＤＢ１５１は、メーカコードや、ＩＲマイコン部１７０から受信された操作情報を記憶する。本実施例において、管理ＤＢ１５１は、ＣＥＣマイコン１０６が有する、図示しないメモリに記憶される。
【００３８】
ＰＣアプリ通信部１６１は、ＰＣアプリ制御部１４０との間で情報を送受信する処理部である。例えば、ＰＣアプリ通信部１６１は、制御部１６２から出力される情報を、ＰＣアプリ制御部１４０に送信する。また、ＰＣアプリ通信部１６１は、ＰＣアプリ制御部１４０から受信した情報を、制御部１６２に出力する。
【００３９】
制御部１６２は、ＣＥＣマイコン部１５０に関する各種の制御を行う処理部である。例えば、制御部１６２は、ＰＣアプリ通信部１６１を通じてＰＣアプリ制御部１４０から受信した情報を、ＣＥＣ情報送受信部１６３又はＩＲマイコン通信部１６８に出力し、又は管理ＤＢ１５１に記憶する。具体的には、制御部１６２は、「ＧｅｔＶｅｎｄｏｒＩＤ」コマンドがＰＣアプリ制御部１４０から受信された場合、受信された「ＧｅｔＶｅｎｄｏｒＩＤ」コマンドを、ＣＥＣ情報送受信部１６３を通じてテレビ２００に送信する。また、制御部１６２は、「ＳｅｔＶｅｎｄｏｒＩＤ」コマンドがＰＣアプリ制御部１４０から受信された場合、受信された「ＳｅｔＶｅｎｄｏｒＩＤ」コマンドを、ＩＲマイコン通信部１６８を通じてＩＲマイコン部１７０に送信する。さらに、制御部１６２は、「ＳｅｔＶｅｎｄｏｒＩＤ」コマンドにより受信されたＶｅｎｄｏｒＩＤから判別されるメーカコードを管理ＤＢ１５１に記憶する。
【００４０】
また、制御部１６２は、ＣＥＣ情報送受信部１６３、ＣＥＣ情報解析部１６４、ＩＲマイコン通信部１６８又はＩＲ情報解析部１６９から出力された情報を、ＰＣアプリ通信部１６１を通じてＰＣアプリ制御部１４０に送信する。具体的には、制御部１６２は、＜Ｄｅｖｉｃｅ  Ｖｅｎｄｏｒ  ＩＤ＞をＣＥＣ情報送受信部１６３を通じてテレビ２００から受信した場合、取得したＶｅｎｄｏｒＩＤを、ＰＣアプリ通信部１６１を通じてＰＣアプリ制御部１４０に送信する。
【００４１】
ＣＥＣ情報送受信部１６３は、テレビ２００との間で、ＣＥＣ信号を送受信する処理部である。例えば、ＣＥＣ情報送受信部１６３は、ＨＤＭＩ  Ｔｙｐｅ  Ａのコネクタの１３ピンにおいて送受信されるＣＥＣ信号を送受信する。具体的には、ＣＥＣ情報送受信部１６３は、テレビ２００の電源状態の情報を要求する＜Ｇｉｖｅ  Ｄｅｖｉｃｅ  Ｐｏｗｅｒ  Ｓｔａｔｕｓ＞コマンドを、テレビ２００に送信する。また、ＣＥＣ情報送受信部１６３は、テレビ２００から、電源ＯＮを示す＜ＯＮ＞、電源ＯＦＦを示す＜Ｓｔａｎｄｂｙ＞等の電源状態を示すＣＥＣ信号である＜Ｒｅｐｏｒｔ  Ｐｏｗｅｒ  Ｓｔａｔｕｓ＞を受信する。さらに、ＣＥＣ情報送受信部１６３が、テレビ２００の電源ＯＮ／ＯＦＦ等を指示するＣＥＣ信号を、テレビ２００に送信するような構成であってもよい。ＣＥＣ情報送受信部１６３は、検出部の一例である。
【００４２】
ＣＥＣ情報解析部１６４は、ＣＥＣ情報送受信部１６３が受信するＣＥＣ信号を解析する処理部である。例えば、＜Ｉｎ  Ｔｒａｎｓｉｔｉｏｎ  Ｏｎ  ｔｏ  Ｓｔａｎｄｂｙ＞というＣＥＣ信号＜Ｒｅｐｏｒｔ  Ｐｏｗｅｒ  Ｓｔａｔｕｓ＞が受信された場合、ＣＥＣ情報解析部１６４は、テレビ２００の電源がＯＮからＯＦＦに移行中であることを特定する。同様に、＜Ｉｎ  Ｔｒａｎｓｉｔｉｏｎ  Ｓｔａｎｄｂｙ  ｔｏ  Ｏｎ＞というＣＥＣ信号＜Ｒｅｐｏｒｔ  Ｐｏｗｅｒ  Ｓｔａｔｕｓ＞が受信された場合、ＣＥＣ情報解析部１６４は、テレビ２００の電源がＯＦＦからＯＮに移行中であることを特定する。ＣＥＣ情報解析部１６４は、判定部の一例である。
【００４３】
電源制御部１６６は、履歴記録装置１００の電源状態を取得する処理部である。例えば、電源制御部１６６は、図２に示す電源１１４において、履歴記録装置１００の電源状態が変化したことを検出した場合、制御部１６２に電源状態を示す信号を出力する。
【００４４】
操作保存部１６７は、ＩＲマイコン部１７０から受信された操作情報を記憶する処理部である。例えば、操作保存部１６７は、チャンネル選択指示等を示す操作情報が受信されると、管理ＤＢ１５１に選択されたチャンネル、指示を受け付けた日時等を記録する。
【００４５】
ＩＲマイコン通信部１６８は、ＩＲマイコン部１７０との間で情報を送受信する処理部である。例えば、ＩＲマイコン通信部１６８は、ＩＲマイコン部１７０からＩＲ信号を取得し、ＩＲ情報解析部１６９に出力する。また、ＩＲマイコン通信部１６８は、制御部１６２から出力された情報を、ＩＲマイコン部１７０に送信する。
【００４６】
ＩＲマイコン通信部１６８は、例えば図７に示すＩＲ信号を送受信する。図７は、ＩＲ信号の一例を示す図である。図７のＩＲ信号７０１は、ＩＲ信号の開始を示す「リーダーコード」信号と、ＩＲ信号の終了を示す「ストップビット」信号との間に、リモコン９００において選択されたボタンに対応する操作内容を示す「データコード」信号を含む。各信号は、それぞれＬＥＤのＯＮとＯＦＦとの組み合わせにより特定される。
【００４７】
ＩＲ情報解析部１６９は、ＩＲマイコン部１７０から取得されたＩＲ信号を解析する処理部である。例えば、ＩＲ情報解析部１６９は、図７のＩＲ信号７０１から「データコード」信号を抽出して、対応する操作内容を特定し、制御部１６２に出力する。
【００４８】
次に、ＩＲマイコン部１７０について説明する。ＩＲマイコン部１７０は、ＣＰＵやＭＰＵ等によって、履歴記録装置１００内部の記憶装置に記憶されている各種プログラムがＲＡＭを作業領域として実行されることにより実現される。ＩＲマイコン部１７０は、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現される。
【００４９】
本実施例において、ＩＲマイコン部１７０は、例えば、図２に示すＩＲマイコン１１３のプロセッサによって、ＩＲマイコン１１３内のメモリに記憶されている各種プログラムが当該メモリを作業領域として実行されることにより実現される。ＩＲマイコン部１７０は、プリセットＤＢ１７１と、ＣＥＣマイコン通信部１８１と、制御部１８２と、プリセット部１８３と、ＩＲ情報送受信部１８９とを有する。
【００５０】
プリセットＤＢ１７１は、テレビ２００のメーカ情報を記憶する。プリセットＤＢ１７１は、ＩＲマイコン１１３が有する、図示しないメモリに記憶される。
【００５１】
ＣＥＣマイコン通信部１８１は、ＣＥＣマイコン部１５０との間で情報を送受信する処理部である。例えば、ＣＥＣマイコン通信部１８１は、ＩＲ情報送受信部１８９から出力されたＩＲ信号を、ＣＥＣマイコン部１５０に送信する。また、ＣＥＣマイコン通信部１８１は、ＣＥＣマイコン部１５０から受信した「ＳｅｔＶｅｎｄｏｒＩＤ」コマンドを、プリセット部１８３に出力する。
【００５２】
制御部１８２は、ＩＲマイコン部１７０に関する各種の制御を行う処理部である。例えば、制御部１８２は、ＩＲ送受信器２１０を通じて受信したＩＲ信号が、プリセットベンダーのリモコンコードに該当するか否かを判定する。そして、制御部１８２は、判定結果に応じて、プリセットされたイベントの情報及びキーの情報、又はプリセットされていないイベントであることを示す情報及びデータコードを、ＣＥＣマイコン通信部１８１を通じてＣＥＣマイコン部１５０に送信する。
【００５３】
プリセット部１８３は、メーカコードを取得する処理部である。例えば、プリセット部１８３は、ＣＥＣマイコン通信部１８１を通じてＣＥＣマイコン部１５０から「ＳｅｔＶｅｎｄｏｒＩＤ」コマンドを受信すると、通知されたＶｅｎｄｏｒＩＤから判別されるメーカコードをプリセットＤＢ１７１に記憶する。
【００５４】
ＩＲ情報送受信部１８９は、ＩＲ信号を送受信する処理部である。例えば、ＩＲ情報送受信部１８９は、図７に示すＩＲ信号７０１を、ＩＲ送受信器２１０から受信し、ＣＥＣマイコン通信部１８１又は制御部１８２に出力する。また、ＩＲ情報送受信部１８９は、制御部１８２から出力されたＩＲ信号を、ＩＲ送受信器２１０に送信する。ＩＲ情報送受信部１８９は、取得部の一例である。
【００５５】
［処理の流れ］
次に、履歴記録装置１００により実行される処理の流れについて、図８乃至図１５を用いて説明する。まず、全体の処理の流れについて説明する。図８は、全体処理の一例を示すフローチャートである。まず、履歴記録装置１００は、ＩＲ送受信器２１０からチャンネル選択イベントを取得したか否かを判定する（ステップＳ１１）。チャンネル選択イベントを取得していない場合（ステップＳ１１：Ｎｏ）、履歴記録装置１００は、チャンネル選択イベントを取得するまで待機する。
【００５６】
一方、チャンネル選択イベントを取得した場合（ステップＳ１１：Ｙｅｓ）、履歴記録装置１００は、テレビ２００の電源がＯＮであるか否かを確認する（ステップＳ２１）。例えば、履歴記録装置１００は、テレビ２００に、＜Ｇｉｖｅ  Ｄｅｖｉｃｅ  Ｐｏｗｅｒ  Ｓｔａｔｕｓ＞コマンドを送信し、テレビ２００からの応答を待つ。
【００５７】
そして、履歴記録装置１００は、テレビ２００の電源がＯＮであるか否かを判定する（ステップＳ２３）。テレビ２００の電源がＯＮではない場合（ステップＳ２３：Ｎｏ）、処理を終了する。一方、テレビ２００の電源がＯＮである場合（ステップＳ２３：Ｙｅｓ）、履歴記録装置１００は、チャンネル選択イベントを取得してからタイムアウトが発生したか否かを確認する（ステップＳ３１）。具体的には、履歴記録装置１００は、チャンネル選択イベントを取得してから、所定の時間が経過するまでの間に、新たなチャンネル選択イベントを取得したか否かを判定する（ステップＳ３３）。
【００５８】
新たなチャンネル選択イベントを取得した場合（ステップＳ３３：Ｙｅｓ）、履歴記録装置１００は、ステップＳ３１に戻り、新たなチャンネル選択イベントを取得してからタイムアウトが発生したか否かを確認する。一方、新たなチャンネル選択イベントを取得していない場合（ステップＳ３３：Ｎｏ）、履歴記録装置１００は、取得済みのチャンネル選択イベントに基づいて特定される番組を、視聴履歴情報として記録する（ステップＳ４１）。
【００５９】
なお、当該全体処理に先立ち、履歴記録装置１００は、予めテレビ２００が受信するＩＲ信号に対応するチャンネル情報をプリセットする。チャンネル情報をプリセットする処理は、ＣＥＣユーティリティ（Ｕｔｉｌｉｔｙ）を実行するＰＣアプリ制御部１４０、ＣＥＣマイコン部１５０及びＩＲマイコン部１７０がそれぞれ共働することにより実行される。履歴記録装置１００におけるチャンネルプリセット処理について、図９を用いて説明する。図９は、チャンネルプリセット処理の一例を示すシーケンス図である。
【００６０】
まず、ＰＣアプリ制御部１４０のＣＥＣマイコン制御部１４８は、「ＷＭ＿ＤＩＳＰＬＡＹＣＨＡＮＧＥ」信号を受け取る（ステップＳ１０１）。次に、ＣＥＣマイコン制御部１４８は、ＶｅｎｄｏｒＩＤの取得を要求する「ＧｅｔＶｅｎｄｏｒＩＤ」コマンドを、ＣＥＣマイコン通信部１４７を通じてＣＥＣマイコン部１５０に送信する（ステップＳ１０３）。
【００６１】
ＣＥＣマイコン部１５０の制御部１６２は、ＰＣアプリ通信部１６１を通じて「ＧｅｔＶｅｎｄｏｒＩＤ」コマンドを受信する。そして、制御部１６２は、テレビ２００に対してＶｅｎｄｏｒＩＤの取得を要求する＜Ｇｉｖｅ  Ｄｅｖｉｃｅ  Ｖｅｎｄｏｒ  ＩＤ＞コマンドを、ＣＥＣ情報送受信部１６３を通じてテレビ２００に送信する（ステップＳ１１３）。なお、制御部１６２が、例えば、テレビ２００から＜Ｇｉｖｅ  Ｄｅｖｉｃｅ  Ｖｅｎｄｏｒ  ＩＤ＞コマンドに対する応答が得られない場合、応答が得られるまでコマンドを複数回再送するような構成であってもよい（ステップＳ１１５）。
【００６２】
次に、制御部１６２は、ＣＥＣ情報送受信部１６３を通じて、テレビ２００から＜Ｇｉｖｅ  Ｄｅｖｉｃｅ  Ｖｅｎｄｏｒ  ＩＤ＞コマンドに対する応答として、＜Ｄｅｖｉｃｅ  Ｖｅｎｄｏｒ  ＩＤ＞を受信する（ステップＳ１２３）。制御部１６２は、ＶｅｎｄｏｒＩＤを通知するコマンド「ＲｅｐｏｒｔＶｅｎｄｏｒＩＤ」を、ＰＣアプリ通信部１６１を通じてＰＣアプリ制御部１４０に送信する（ステップＳ１３３）。
【００６３】
ＰＣアプリ制御部１４０のＣＥＣマイコン制御部１４８は、ＣＥＣマイコン通信部１４７を通じて「ＲｅｐｏｒｔＶｅｎｄｏｒＩＤ」コマンドを受信すると、ＶｅｎｄｏｒＩＤに基づいてメーカコードを判別する。また、ＣＥＣマイコン制御部１４８は、判別されたメーカコードを管理ＤＢ１３１に記憶する（ステップＳ１４１）。さらに、ＣＥＣマイコン制御部１３８は、「ＳｅｔＶｅｎｄｏｒＩＤ」コマンドを、ＣＥＣマイコン通信部１４７を通じてＣＥＣマイコン部１５０に送信する（ステップＳ１４３）。
【００６４】
ＣＥＣマイコン部１５０の制御部１６２は、ＰＣアプリ通信部１６１を通じて「ＳｅｔＶｅｎｄｏｒＩＤ」コマンドを受信すると、通知されたＶｅｎｄｏｒＩＤから判別されるメーカコードを管理ＤＢ１５１に記憶する（ステップＳ１５１）。また、制御部１６２は、ＩＲマイコン通信部１６８を通じて、「ＳｅｔＶｅｎｄｏｒＩＤ」コマンドをＩＲマイコン部１７０に送信する（ステップＳ１５３）。
【００６５】
ＩＲマイコン部１７０のプリセット部１８３は、ＣＥＣマイコン通信部１８１を通じて「ＳｅｔＶｅｎｄｏｒＩＤ」コマンドを受信すると、通知されたＶｅｎｄｏｒＩＤから判別されるメーカコードをプリセットＤＢ１７１に記憶する（ステップＳ１７１）。また、制御部１６２は、メーカコードがプリセットＤＢ１７１に記憶されたことを示す結果を、ＣＥＣマイコン通信部１８１を通じてＣＥＣマイコン部１５０に送信する（ステップＳ１７３）。
【００６６】
次に、チャンネルプリセット処理においてプリセットされたチャンネル情報を用いた、視聴履歴記録処理について、図１０を用いて説明する。図１０は、視聴履歴記録処理の一例を示すシーケンス図である。まず、リモコン９００から赤外線（ＩＲ信号）が送信されると（ステップＳ２１１）、ＩＲマイコン部１７０はＩＲ送受信器２１０を通じてＩＲ信号を受信し、受信したＩＲ信号がプリセットベンダーのリモコンコードであるか否かを判定する（ステップＳ２２１）。
【００６７】
制御部１８２は、プリセットベンダーのリモコンコードである場合（ステップＳ２２１：Ｙｅｓ）、プリセットされたイベントの情報とキーの情報とを、ＣＥＣマイコン通信部１８１を通じてＣＥＣマイコン部１５０に送信する。一方、制御部１８２は、プリセットベンダーのリモコンコードではない場合（ステップＳ２２１：Ｎｏ）、プリセットされていないイベントであることを示す情報とデータコードとを、ＣＥＣマイコン通信部１８１を通じてＣＥＣマイコン部１５０に送信する。
【００６８】
ＣＥＣマイコン部１５０のＩＲ情報解析部１６９は、ＩＲマイコン通信部１６８を通じてイベントに関する情報を受信したか否かを判定する（ステップＳ２３１）。ＩＲ情報解析部１６９は、イベントに関する情報を受信しない場合（ステップＳ２３１：Ｎｏ）、イベントに関する情報を受信するまで待機する。
【００６９】
ＩＲ情報解析部１６９は、イベントに関する情報を受信した場合（ステップＳ２３１：Ｙｅｓ）、受信したイベントがプリセットされたイベントであるか否かを判定する（ステップＳ２３３）。ＩＲ情報解析部１６９は、プリセットされたイベントではない場合（ステップＳ２３３：Ｕｎｐｒｅｓｅｔ  Ｅｖｅｎｔ）、プリセットされていないイベントに関する情報をＰＣアプリ制御部１４０に送信する。
【００７０】
プリセットされたイベントである場合（ステップＳ２３３：Ｐｒｅｓｅｔ  Ｅｖｅｎｔ）、制御部１６２は、テレビ２００におけるＣＥＣが有効であるか否かを判定する（ステップＳ２４１）。ＣＥＣが有効ではない場合（ステップＳ２４１：Ｎｏ）、制御部１６２は、受信したプリセットされたイベントの情報を、ＰＣアプリ制御部１４０に送信する。
【００７１】
ＣＥＣが有効である場合（ステップＳ２４１：Ｙｅｓ）、制御部１６２は、＜Ｇｉｖｅ  Ｄｅｖｉｃｅ  Ｐｏｗｅｒ  Ｓｔａｔｕｓ＞コマンドを、ＣＥＣ情報送受信部１６３を通じてテレビ２００に送信する（ステップＳ２４３）。
【００７２】
テレビ２００は、＜Ｇｉｖｅ  Ｄｅｖｉｃｅ  Ｐｏｗｅｒ  Ｓｔａｔｕｓ＞コマンドを受信して、電源状態を履歴記録装置１００に送信する（ステップＳ２６１）。テレビ２００からＣＥＣ情報送受信部１６３を通じて電源状態を受信したＣＥＣ情報解析部１６４は、管理ＤＢ１５１を参照して、テレビ２００の電源がＯＮであるか否かを判定する（ステップＳ２７１）。テレビ２００の電源がＯＦＦである場合（ステップＳ２７１：Ｓｔａｎｄｂｙ）、制御部１６２は、ステップＳ２３１に戻って、イベントを受信するまで待機する。また、テレビ２００の電源がＯＮからＯＦＦへ、又はＯＦＦからＯＮへ移行中である場合（ステップＳ２７１：Ｏｔｈｅｒ）、制御部１６２は、ステップＳ２４１に戻って処理を繰り返す。
【００７３】
制御部１６２は、テレビ２００の電源がＯＮである場合（ステップＳ２７１：ＯＮ）、受信されたイベントに関する情報が、テレビ２００のチャンネル選択指示に関する情報であるか否かを判定する（ステップＳ２７３）。チャンネル選択指示に関する情報ではない場合（ステップＳ２７３：Ｎｏ）、制御部１６２は、受信されたイベントに関する情報を、ＣＥＣマイコン通信部１８１を通じてＣＥＣマイコン部１５０に送信する。一方、制御部１６２は、チャンネル選択指示に関する情報である場合（ステップＳ２７３：Ｙｅｓ）、イベントを受信してから、所定の時間（例えば３０秒）が経過するまで待機する（ステップＳ２８１）。そして、制御部１６２は、所定の時間が経過するまでに、ＩＲマイコン部１７０から新たなチャンネル選択指示に関する情報を受信したか否かを判定する（ステップＳ２８３）。所定の時間が経過するまでに新たなチャンネル選択指示に関する情報を受信した場合（ステップＳ２８３：Ｙｅｓ）、ステップＳ２８１に戻って処理を繰り返す。
【００７４】
所定の時間が経過するまでに新たなチャンネル選択指示に関する情報を受信しなかった場合（ステップＳ２８３：Ｎｏ）、制御部１６２は、チャンネルに関する情報をＰＣアプリ制御部１４０に送信する。具体的には、制御部１６２は、テレビ２００に関する情報と、チャンネルの情報と、情報を取得した日時とを、ＰＣアプリ通信部１６１を通じてＰＣアプリ制御部１４０に送信する。
【００７５】
ＰＣアプリ制御部１４０のチャンネル解析部１４１は、テレビ２００に関する情報と、チャンネルの情報と、情報を取得した日時とをＣＥＣマイコン通信部１４７を通じて受信すると、管理ＤＢ１３１を参照して、情報に該当するチャンネルを特定する。番組解析部１４２は、特定されたチャンネルと、受信した日時とに基づいて、図示しない番組表を参照し、該当する番組を特定する（ステップＳ３１１）。そして、番組解析部１４２は、特定された番組の放送開始時刻、放送終了時刻、チャンネル及び放送曜日を、視聴履歴ＤＢ１３２に記憶する（ステップＳ３１３）。また、番組解析部１４２は、特定された番組の放送開始時刻、放送終了時刻、チャンネル及び放送曜日を、ＣＥＣマイコン通信部１４７を通じてＣＥＣマイコン部１５０に送信する。
【００７６】
ＣＥＣマイコン部１５０の制御部１６２は、ＰＣアプリ通信部１６１を通じて受信した、特定された番組の放送開始時刻、放送終了時刻、チャンネル及び放送曜日を、管理ＤＢ１５１に送信する（ステップＳ３３１）。以上の処理により、テレビ２００の電源がＯＮである状態に受信されたチャンネル選択指示に限り、対応する視聴履歴情報が記録される。
【００７７】
次に、ＰＣアプリ制御部１４０、ＣＥＣマイコン部１５０及びＩＲマイコン部１７０のそれぞれにおいて実行される処理について説明する。まず、ＰＣアプリ制御部１４０における処理について、図１１及び図１２を用いて説明する。図１１は、ＰＣアプリ制御部におけるチャンネルプリセット処理の一例を示すフローチャートである。また、図１２は、ＰＣアプリ制御部における視聴履歴記録処理の一例を示すフローチャートである。
【００７８】
ＣＥＣユーティリティにおける処理は、例えば、履歴記録装置１００において、ＯＳ（Windows（登録商標）など）が起動したタイミングでスタートする。まず、ＰＣアプリ制御部１４０のＣＥＣマイコン通信部１４７は、ＣＥＣマイコン部１５０からイベントを受信したか否かを判定する（ステップＳ４０１）。ＣＥＣマイコン部１５０からイベントを受信した場合（ステップＳ４０１：Ｙｅｓ）、端子Ａを通じてＣＥＣユーティリティによる視聴履歴記録処理に移行する。
【００７９】
ＣＥＣマイコン部１５０からイベントを受信しない場合（ステップＳ４０１：Ｎｏ）、ＣＥＣマイコン制御部１４８は、ＣＥＣマイコン部１５０から、テレビ２００が接続されたことを示す信号を受信したか否かを判定する（ステップＳ４０３）。テレビ２００が接続されたことを示す信号を受信した場合（ステップＳ４０３：Ｙｅｓ）、ステップＳ４１２に移行する。
【００８０】
テレビ２００が接続されたことを示す信号を受信しない場合（ステップＳ４０３：Ｎｏ）、ＣＥＣマイコン制御部１４８は、「ＷＭ＿ＤＩＳＰＬＡＹＣＨＡＮＧＥ」が発行されたか否かを判定する（ステップＳ４１０）。「ＷＭ＿ＤＩＳＰＬＡＹＣＨＡＮＧＥ」が発行されない場合（ステップＳ４１０：Ｎｏ）、ステップＳ４０１に戻る。
【００８１】
「ＷＭ＿ＤＩＳＰＬＡＹＣＨＡＮＧＥ」が発行された場合（ステップＳ４１０：Ｙｅｓ）、ＣＥＣマイコン制御部１４８は、接続されているテレビ２００のＶｅｎｄｏｒＩＤを確認する（ステップＳ４１２）。具体的には、ＣＥＣマイコン制御部１４８は、「ＧｅｔＶｅｎｄｏｒＩＤ」コマンドを、ＣＥＣマイコン通信部１４７を通じてＣＥＣマイコン部１５０に送信する（ステップＳ４１４）。
【００８２】
次に、ＣＥＣマイコン制御部１４８は、ＣＥＣマイコン部１５０から「ＲｅｐｏｒｔＶｅｎｄｏｒＩＤ」コマンドを受信したか否かを判定する（ステップＳ４２１）。コマンドを受信しない場合（ステップＳ４２１：Ｎｏ）、ＣＥＣマイコン制御部１４８は、コマンドを受信するまで待機する。コマンドを受信した場合（ステップＳ４２１：Ｙｅｓ）、ＣＥＣマイコン制御部１４８は、受信したＶｅｎｄｏｒＩＤからメーカコードを判別する（ステップＳ４２９）。そして、ＣＥＣマイコン制御部１４８は、管理ＤＢ１３１にメーカコードを記憶する（ステップＳ４３１）。また、ＣＥＣマイコン制御部１４８は、ＣＥＣマイコン通信部１４７を通じて、ＣＥＣマイコン部１５０にＶｅｎｄｏｒＩＤを通知する（ステップＳ４３３）。具体的には、ＣＥＣマイコン制御部１４８は、「ＳｅｔＶｅｎｄｏｒＩＤ」コマンドをＣＥＣマイコン部１５０に送信する（ステップＳ４３５）。
【００８３】
次に、ＣＥＣユーティリティにおいて実行される視聴履歴記録処理について、図１２を用いて説明する。まず、ＣＥＣマイコン制御部１４８は、ＣＥＣマイコン通信部１４７を通じて、ＣＥＣマイコン部１５０からイベントを受信する（ステップＳ５０１）。次に、ＣＥＣマイコン制御部１４８は、受信したイベントが、ＩＲイベントか否かを判定する（ステップＳ５０３）。
【００８４】
受信したイベントがＩＲイベントではない場合（ステップＳ５０３：Ｎｏ）、ＣＥＣマイコン制御部１４８は、受信したイベントが、ＨＤＭＩ−ＣＥＣイベントであるか否かを判定する（ステップＳ５５１）。ＨＤＭＩ−ＣＥＣイベントではない場合（ステップＳ５５１：Ｎｏ）、端子Ｂを経由してステップＳ４０１に移行する。ＨＤＭＩ−ＣＥＣイベントである場合（ステップＳ５５１：Ｙｅｓ）、ＣＥＣマイコン制御部１４８は、受信したイベントに応じたＨＤＭＩ−ＣＥＣの処理を実行し（ステップＳ５５３）、その後端子Ｂを経由してステップＳ４０１に移行する。
【００８５】
受信したイベントがＩＲイベントである場合（ステップＳ５０３：Ｙｅｓ）、ＣＥＣマイコン制御部１４８は、イベントがプリセットされたイベントである（Ｐｒｅｓｅｔ  Ｅｖｅｎｔに該当する）か否かを判定する（ステップＳ５１１）。プリセットされたイベントではない場合（ステップＳ５１１：Ｕｎｐｒｅｓｅｔ  Ｅｖｅｎｔ）、ＣＥＣマイコン制御部１４８は、受信したイベントに対応する情報を管理ＤＢ１５１に記憶する。具体的には、ＣＥＣマイコン制御部１４８は、受信したイベントに対応するリモコン９００のボタン、テレビ２００のＶｅｎｄｏｒＩＤ及びイベントを受信した日時を、管理ＤＢ１５１に記憶する（ステップＳ５３１）。その後、端子Ｂを経由してステップＳ４０１に移行する。
【００８６】
一方、受信したイベントがプリセットされたイベントである場合（ステップＳ５１１：Ｐｒｅｓｅｔ  Ｅｖｅｎｔ）、チャンネル解析部１４１は、イベントがリモコン９００のチャンネル選択ボタンに関するものであるか否かを判定する（ステップＳ５１５）。チャンネル選択ボタンに関するものではない場合（ステップＳ５１５：Ｎｏ）、ステップＳ５３１に移行する。
【００８７】
チャンネル選択ボタンに関するものである場合（ステップＳ５１５：Ｙｅｓ）、チャンネル解析部１４１は、管理ＤＢ１３１を参照して、チャンネル選択ボタンに対応するチャンネルを特定する。また、番組解析部１４２は、特定されたチャンネルとイベントが受信された日時とに基づいて、図示しない番組表を参照して番組を検索する（ステップＳ５２１）。そして、番組解析部１４２は、検索された番組に関する時刻、チャンネル及び曜日を、視聴履歴ＤＢ１３２に記憶する（ステップＳ５２３）。また、ＣＥＣマイコン制御部１４８は、検索された番組に関する時刻、チャンネル及び曜日を、ＣＥＣマイコン通信部１４７を通じてＣＥＣマイコン部１５０に送信する（ステップＳ５２５）。以上の処理により、視聴履歴ＤＢ１３２に視聴履歴情報が記録される。
【００８８】
次に、ＩＲマイコン部１７０において実行される処理について、図１３を用いて説明する。図１３は、ＩＲマイコン部における処理の一例を示すフローチャートである。まず、ＩＲマイコン部１７０の制御部１８２は、ＩＲマイコン部１７０に電源が通電されると、ＩＲマイコン部１７０を初期化する（ステップＳ６０１）。次に、制御部１８２は、ＣＥＣマイコン通信部１８１を通じて、ＣＥＣマイコン部１５０から「ＳｅｔＶｅｎｄｏｒＩＤ」コマンドを受信したか否かを判定する（ステップＳ６１１）。コマンドを受信しない場合（ステップＳ６１１：Ｎｏ）、ステップＳ６２１に移行する。
【００８９】
コマンドを受信した場合（ステップＳ６１１：Ｙｅｓ）、プリセット部１８３は、受信したＶｅｎｄｏｒＩＤにより特定されるメーカコードを、プリセットベンダーとしてプリセットＤＢ１７１に記憶する（ステップＳ６１３）。次に、制御部１８２は、ＩＲ信号を、ＩＲ送受信器２１０からＩＲ情報送受信部１８９を通じて受信したか否かを判定する（ステップＳ６２１）。ＩＲ信号を受信しない場合（ステップＳ６２１：Ｎｏ）、ステップＳ６１１に戻って処理を繰り返す。
【００９０】
ＩＲ信号を受信した場合（ステップＳ６２１：Ｙｅｓ）、制御部１８２は、プリセットＤＢ１７１を参照し、プリセットベンダーが設定されているか否かを判定する（ステップＳ６２３）。プリセットベンダーが設定されていない場合（ステップＳ６２３：Ｎｏ）、プリセットされていないイベントであることを示す情報及びデータコードを、ＣＥＣマイコン通信部１８１を通じてＣＥＣマイコン部１５０に送信する（ステップＳ６４１）。その後、制御部１８２は、ステップＳ６２１に戻って処理を繰り返す。
【００９１】
一方、プリセットベンダーが設定されている場合（ステップＳ６２３：Ｙｅｓ）、制御部１８２は、ＩＲ信号により特定されるイベントが、プリセットＤＢ１７１に登録されているイベントであるか否かを判定する（ステップＳ６３１）。イベントがプリセットＤＢ１７１に登録されていない場合（ステップＳ６３１：Ｎｏ）、ステップＳ６１１に戻って処理を繰り返す。
【００９２】
一方、イベントがプリセットＤＢ１７１に登録されている場合（ステップＳ６３１：Ｙｅｓ）、プリセットされたイベントの情報とキーの情報とを、ＣＥＣマイコン通信部１８１を通じてＣＥＣマイコン部１５０に送信する（ステップＳ６３３）。その後、制御部１８２は、ステップＳ６２１に戻って処理を繰り返す。
【００９３】
次に、ＣＥＣマイコン部１５０において実行される処理について、図１４及び図１５を用いて説明する。図１４及び図１５は、ＣＥＣマイコン部における処理の一例を示すフローチャートである。まず、ＣＥＣマイコン部１５０の制御部１６２は、ＣＥＣ情報送受信部１６３を通じて、テレビ２００が接続されたか否かを判定する（ステップＳ７０１）。テレビ２００が接続されていない場合（ステップＳ７０１：Ｎｏ）、ステップＳ７２１に移行する。
【００９４】
テレビ２００が接続されている場合（ステップＳ７０１：Ｙｅｓ）、制御部１６２は、ＨＤＭＩ−ＣＥＣの初期化が完了しているか否かを判定する（ステップＳ７１１）。初期化が完了していない場合（ステップＳ７１１：Ｎｏ）、制御部１６２は、ＨＤＭＩ−ＣＥＣの初期化を実行する（ステップＳ７１３）。一方、初期化が完了している場合（ステップＳ７１１：Ｙｅｓ）、ステップＳ７２１に移行する。
【００９５】
次に、制御部１６２は、ＣＥＣ  Ｕｔｉｌｉｔｙからイベントを受信したか否かを判定する（ステップＳ７２１）。ＣＥＣ  Ｕｔｉｌｉｔｙからイベントを受信していない場合（ステップＳ７２１：Ｎｏ）、端子Ｃを通じてステップＳ８０１に移行する。
【００９６】
制御部１６２は、ＣＥＣ  Ｕｔｉｌｉｔｙからイベントを受信した場合（ステップＳ７２１：Ｙｅｓ）、ＣＥＣ  Ｕｔｉｌｉｔｙから受信したイベントが「ＧｅｔＶｅｎｄｏｒＩＤ」であるか否かを判定する（ステップＳ７３１）。受信したイベントが「ＧｅｔＶｅｎｄｏｒＩＤ」である場合（ステップＳ７３１：Ｙｅｓ）、制御部１６２は、＜Ｇｉｖｅ  Ｄｅｖｉｃｅ  Ｖｅｎｄｏｒ  ＩＤ＞コマンドを、ＣＥＣ情報送受信部１６３を通じてテレビ２００に送信する（ステップＳ７３３）。そして、制御部１６２は、テレビ２００から＜Ｄｅｖｉｃｅ  Ｖｅｎｄｏｒ  ＩＤ＞を受信したか否かを判定する（ステップＳ７４１）。＜Ｄｅｖｉｃｅ  Ｖｅｎｄｏｒ  ＩＤ＞を受信しない場合（ステップＳ７４１：Ｎｏ）、制御部１６２は、ステップＳ７３３に戻り、＜Ｇｉｖｅ  Ｄｅｖｉｃｅ  Ｖｅｎｄｏｒ  ＩＤ＞コマンドを再送する。
【００９７】
＜Ｄｅｖｉｃｅ  Ｖｅｎｄｏｒ  ＩＤ＞を受信した場合（ステップＳ７４１：Ｙｅｓ）、制御部１６２は、「ＲｅｐｏｒｔＶｅｎｄｏｒＩＤ」を、ＰＣアプリ通信部１６１を通じてＰＣアプリ制御部１４０に送信する（ステップＳ７４３）。その後、ステップＳ７０１に戻って処理を繰り返す。
【００９８】
ステップＳ７３１に戻って、受信したイベントが「ＧｅｔＶｅｎｄｏｒＩＤ」ではない場合（ステップＳ７３１：Ｎｏ）、制御部１６２は、受信したイベントが「ＳｅｔＶｅｎｄｏｒＩＤ」であるか否かを判定する（ステップＳ７５１）。制御部１６２は、受信したイベントが「ＳｅｔＶｅｎｄｏｒＩＤ」でもない場合（ステップＳ７５１：Ｎｏ）、受信したイベントに応じた処理を実行し（ステップＳ７６１）、その後ステップＳ７０１に戻って処理を繰り返す。
【００９９】
一方、制御部１６２は、受信したイベントが「ＳｅｔＶｅｎｄｏｒＩＤ」である場合（ステップＳ７５１：Ｙｅｓ）、受信したＶｅｎｄｏｒＩＤを管理ＤＢ１５１に記憶する（ステップＳ７５３）。次に、制御部１６２は、「ＳｅｔＶｅｎｄｏｒＩＤ」コマンドを、ＩＲマイコン通信部１６８を通じてＩＲマイコン部１７０に送信する（ステップＳ７５５）。そして、制御部１６２は、ＩＲマイコン部１７０から結果通知を受信すると（ステップＳ７５７）、その後ステップＳ７０１に戻って処理を繰り返す。
【０１００】
次に、端子Ｃを経由してステップＳ８０１に移行し、制御部１６２は、ＩＲマイコン部１７０からイベントを受信したか否かを判定する（ステップＳ８０１）。制御部１６２は、ＩＲマイコン部１７０からもイベントを受信していない場合（ステップＳ８０１：Ｎｏ）、テレビ２００からＣＥＣイベントを受信したか否かを判定する（ステップＳ８７１）。ＣＥＣイベントを受信していない場合（ステップＳ８７１：Ｎｏ）、制御部１６２は、端子Ｄを通じてステップＳ７０１に戻り、処理を繰り返す。
【０１０１】
一方、制御部１６２は、テレビ２００からＣＥＣイベントを受信した場合（ステップＳ８７１：Ｙｅｓ）、受信したＣＥＣイベントに対応するＨＤＭＩ−ＣＥＣの処理を実行する（ステップＳ８７３）。その後、制御部１６２は、端子Ｄを通じてステップＳ７０１に戻り、処理を繰り返す。
【０１０２】
ステップＳ８０１に戻って、ＩＲ情報解析部１６９は、ＩＲマイコン部１７０からイベントを受信した場合（ステップＳ８０１：Ｙｅｓ）、受信したイベントがプリセットされたイベントであるか否かを判定する（ステップＳ８１１）。ＩＲ情報解析部１６９は、プリセットされたイベントではない場合（ステップＳ８１１：Ｕｎｐｒｅｓｅｔ）、プリセットされていないイベントに関する情報をＰＣアプリ制御部１４０に送信する（ステップＳ８８１）。その後、制御部１６２は、端子Ｄを通じてステップＳ７０１に戻り、処理を繰り返す。
【０１０３】
一方、プリセットされたイベントである場合（ステップＳ８１１：Ｐｒｅｓｅｔ）、制御部１６２は、テレビ２００におけるＣＥＣが有効であるか否かを判定する（ステップＳ８２１）。ＣＥＣが有効ではない場合（ステップＳ８２１：Ｎｏ）、制御部１６２は、受信したプリセットされたイベントの情報を、ＰＣアプリ制御部１４０に送信する（ステップＳ８９１）。その後、制御部１６２は、端子Ｄを通じてステップＳ７０１に戻り、処理を繰り返す。
【０１０４】
ＣＥＣが有効である場合（ステップＳ８２１：Ｙｅｓ）、制御部１６２は、＜Ｇｉｖｅ  Ｄｅｖｉｃｅ  Ｐｏｗｅｒ  Ｓｔａｔｕｓ＞コマンドを、ＣＥＣ情報送受信部１６３を通じてテレビ２００に送信する（ステップＳ８２３）。そして、制御部１６２は、テレビ２００の電源がＯＮであるか否かを判定する（ステップＳ８３１）。テレビ２００の電源がＯＮ以外である場合（ステップＳ８３１：ＯＮ以外）、制御部１６２は、端子Ｄを通じてステップＳ７０１に戻り、処理を繰り返す。
【０１０５】
一方、制御部１６２は、テレビ２００の電源がＯＮである場合（ステップＳ８３１：ＯＮ）、受信されたイベントに関する情報が、テレビ２００のチャンネル選択指示に関する情報であるか否かを判定する（ステップＳ８４１）。チャンネル選択指示に関する情報ではない場合（ステップＳ８４１：Ｎｏ）、制御部１６２は、受信されたイベントに関する情報を、ＣＥＣマイコン通信部１８１を通じてＣＥＣマイコン部１５０に送信する（ステップＳ８９３）。その後、制御部１６２は、端子Ｄを通じてステップＳ７０１に戻り、処理を繰り返す。
【０１０６】
一方、制御部１６２は、チャンネル選択指示に関する情報である場合（ステップＳ８４１：Ｙｅｓ）、イベントを受信してから、所定の時間（例えば３０秒）が経過するまで待機する（ステップＳ８５１）。そして、制御部１６２は、所定の時間が経過するまでに、ＩＲマイコン部１７０から新たなチャンネル選択指示に関する情報を受信したか否かを判定する（ステップＳ８５３）。所定の時間が経過するまでに新たなチャンネル選択指示に関する情報を受信した場合（ステップＳ８５３：Ｙｅｓ）、ステップＳ８５１に戻って処理を繰り返す。
【０１０７】
所定の時間が経過するまでに新たなチャンネル選択指示に関する情報を受信しなかった場合（ステップＳ８５３：Ｎｏ）、制御部１６２は、チャンネルに関する情報を一時スタックに保存する（ステップＳ８５５）。次に、制御部１６２は、履歴記録装置１００の電源がＯＮであるか否かを判定する（ステップＳ８６１）。電源がＯＮではない場合（ステップＳ８６１：Ｎｏ）、制御部１６２は、端子Ｄを通じてステップＳ７０１に戻り、処理を繰り返す。
【０１０８】
一方、電源がＯＮである場合（ステップＳ８６１：Ｙｅｓ）、制御部１６２は、ＣＥＣＵｔｉｌｉｔｙにプリセットされたイベントを通知する（ステップＳ８６３）。具体的には、制御部１６２は、テレビ２００に関する情報と、チャンネルの情報と、情報を取得した日時とを、ＰＣアプリ通信部１６１を通じてＰＣアプリ制御部１４０に送信する。その後、制御部１６２は、一時スタックの情報をクリアし（ステップＳ８６５）、端子Ｄを通じてステップＳ７０１に戻り、処理を繰り返す。
【０１０９】
上述してきたように、本実施例によれば、受信されたリモコン信号のうち、テレビ２００の電源がＯＮである時点において受信されたリモコン信号にかかる視聴履歴情報だけが記録される。これにより、テレビ２００の電源が投入されていないときなど、テレビが放送を受信しない状態において誤ってリモコンが操作された場合に、当該操作により送信されたリモコン信号に基づいて誤った視聴履歴が記録されることを抑止することができる。
【０１１０】
また、本実施例によれば、チャンネル選択指示を取得してから、所定期間が経過するまでの間に新たなチャンネル選択指示を取得しない場合に、取得済みのチャンネル選択指示に基づいて特定される視聴履歴情報が記録される。これにより、例えばザッピングや誤操作によりチャンネルが選択された場合には視聴履歴情報が記録されないので、視聴されていない番組に関して誤った視聴履歴が記録されることを抑止することができる。
【０１１１】
さらに、本実施例によれば、履歴記録装置は、チャンネル選択指示が取得された場合に、放送受信装置に対して動作状態の取得要求を送信して、放送受信装置の動作状態を示す情報を受信する。これにより、チャンネル選択指示が取得されていない場合においては、放送受信装置の動作状態が取得されることがないので、履歴記録装置と放送受信装置との間における不要な情報の送受信を抑止することができる。
【実施例２】
【０１１２】
これまで開示の履歴記録装置に関する実施例について説明したが、開示の技術は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【０１１３】
例えば、履歴記録装置１００が、記録された視聴履歴情報を用いて番組のリコメンド情報を生成し、リコメンド情報に基づいてテレビ２００を制御するような構成であってもよい。例えば、ＰＣアプリ制御部１４０の図示しないリコメンド情報生成部は、視聴履歴ＤＢ１３２を参照し、図５に示す視聴履歴情報を用いてリコメンド情報を生成する。リコメンド情報生成部は、各時間帯における視聴履歴情報のうち、例えば視聴回数が最も多い番組をリコメンドするリコメンド情報を生成し、ＣＥＣマイコン部１５０に出力する。具体的には、図５に示す例において、「水曜日」の「６：００」においては、「おはよう○○○」が「３回」視聴されているのに対し、「モーニング○○○」は「２３回」視聴されているので、最も多く視聴されている「モーニング○○○」が特定される。
【０１１４】
リコメンド情報の入力を受けたＣＥＣ情報解析部１６４は、番組のリコメンド情報に対応する日時に対応するチャンネルの放送をテレビ２００に受信させるチャンネル選択指示を、ＣＥＣ情報送受信部１６３を通じて、テレビ２００に送信する。かかる処理により、テレビ２００において、正確に記録された視聴歴情報に基づいてリコメンドされた番組を受信させることができる。
【０１１５】
また、例えばテレビ２００から電源ＯＮを示す情報を受信した場合、すなわちテレビ２００の電源が投入された場合に、ＣＥＣ情報送受信部１６３がチャンネル選択指示をテレビ２００に送信するような構成であってもよい。また、電源制御部１６６がＰＣの電源が投入されたことを検出された時点で、ＣＥＣ情報送受信部１６３がチャンネル選択指示をテレビ２００に送信するような構成であってもよい。これらの構成によれば、履歴記録装置１００は、視聴者がＰＣ又はテレビ２００の電源が投入されたタイミングで、リコメンドされた番組を受信させることができる。なお、ＣＥＣマイコン１０６が図示しない人感センサに接続され、人感センサが視聴者を検出した時点で、ＣＥＣ情報送受信部１６３がチャンネル選択指示をテレビ２００に送信するような構成であってもよい。
【０１１６】
なお、以上の実施例においては、放送受信装置の一例として、テレビ２００について説明したが、これに限られず、ハードディスクレコーダー等、放送信号を受信するその他の装置であってもよい。
【０１１７】
なお、上記のプログラムは、公衆回線、インターネット、ＬＡＮ、ＷＡＮ（Wide  Area  Network）などを介して履歴記録装置１００に接続される他のコンピュータ（またはサーバ）などに記憶されるようにしても良い。この場合には、履歴記録装置１００が図２に示す無線ＬＡＮ１０４を介して他のコンピュータなどからプログラムを読み出して実行する。
【符号の説明】
【０１１８】
１      履歴記録システム
１００  履歴記録装置
２００  テレビ
２０１  ＩＲ受信部
２１０  ＩＲ送受信器
９００  リモコン
【図１】
2017195548.tif 000003
【図２】
2017195548.tif 000004
【図３】
2017195548.tif 000005
【図４】
2017195548.tif 000006
【図５】
2017195548.tif 000007
【図６】
2017195548.tif 000008
【図７】
2017195548.tif 000009
【図８】
2017195548.tif 000010
【図９】
2017195548.tif 000011
【図１０】
2017195548.tif 000012
【図１１】
2017195548.tif 000013
【図１２】
2017195548.tif 000014
【図１３】
2017195548.tif 000015
【図１４】
2017195548.tif 000016
【図１５】
2017195548.tif 000017