(57)【要約】【課題】小容量のメモリを用いて、ユーザーの嗜好の適切に把握する上で必要な視聴履歴を確実に蓄積することができる視聴履歴蓄積装置、視聴履歴蓄積方法及びデジタル放送受信装置を提供すること。【解決手段】視聴履歴蓄積装置は、デジタル放送受信ユニットと、時刻情報取得手段としてのタイマーと、操作部と、視聴履歴を一時蓄積する視聴履歴一時蓄積メモリと、視聴履歴を恒久的に保持可能な視聴履歴蓄積不揮発メモリとを備える。制御部は、視聴履歴をある時間で区切られたエリア毎に管理し、さらに、視聴履歴蓄積不揮発メモリに、エリア内でユーザーの視聴していたチャンネルと当該チャンネルの視聴時間とを含む視聴履歴情報を蓄積する。【選択図】図１
2007288298.tif 000002
【特許請求の範囲】
【請求項１】
デジタル放送波を受信して映像及び音声に変換するデジタル放送受信ユニットと、
チャンネル切替のために操作される操作部と、
前記チャンネル切替時の時刻情報を取得する時刻情報取得手段と、
視聴履歴を一時蓄積する視聴履歴一時蓄積メモリと、
視聴履歴を恒久的に保持可能な視聴履歴蓄積不揮発メモリと、
前記視聴履歴一時蓄積メモリを用いて、ある時間で区切られたエリア毎に視聴履歴を管理し、さらに、前記視聴履歴蓄積不揮発メモリに、前記エリア内においてユーザーが視聴したチャンネルと当該チャンネルの視聴時間とを含む視聴履歴情報を蓄積する制御を行う制御部と
を備えたことを特徴とする視聴履歴蓄積装置。
【請求項２】
前記エリアは、曜日毎に、且つ一定時間毎に区分されていることを特徴とする請求項１に記載の視聴履歴蓄積装置。
【請求項３】
前記制御部は、前記エリアをさらに分割した時間間隔を単位として時間計測を行い、同一のチャンネルについての視聴時間の累積を前記視聴履歴蓄積不揮発メモリに蓄積することを特徴とする請求項１又は２に記載の視聴履歴蓄積装置。
【請求項４】
放送の種類を識別するためのネットワークＩＤと、サービスを識別するためのサービスＩＤと、これらに対応付けられた論理チャンネルとを含むチャンネルリストを有することを特徴とする請求項１から３までのいずれか１項に記載の視聴履歴蓄積装置。
【請求項５】
前記視聴履歴蓄積不揮発メモリには、論理チャンネルと、論理チャンネル毎の視聴時間の累積とを含む、複数週分の視聴履歴情報が保持されていることを特徴とする請求項４に記載の視聴履歴蓄積装置。
【請求項６】
前記制御部は、前記視聴履歴蓄積不揮発メモリに、論理チャンネルと視聴時間の累積とを含む最新の視聴履歴情報を書き込む際には、既に蓄積されている視聴履歴情報をシフトさせた上で前記最新の視聴履歴情報を書き込み、また、既に蓄積されている最も古い視聴履歴情報について、所定の期間が経過していれば消去することを特徴とする請求項５に記載の視聴履歴蓄積装置。
【請求項７】
前記時刻情報取得手段は、前記エリアの区切り毎に時刻通知を出力し、
前記制御部は、前記時刻通知が出力される毎に、前記視聴履歴蓄積不揮発メモリへの視聴履歴情報の書き込みを行うことを特徴とする請求項１から６までのいずれか１項に記載の視聴履歴蓄積装置。
【請求項８】
前記制御部は、前記視聴履歴蓄積不揮発メモリに、さらに、前記エリア内でユーザーが視聴した番組に関する番組情報と、当該番組の視聴時間とを蓄積する
ことを特徴とする請求項１から７までのいずれか１項に記載の視聴履歴蓄積装置。
【請求項９】
前記制御部は、前記エリアをさらに分割した時間間隔を単位として時間計測を行い、同種の番組情報に対応する視聴時間の累積を前記視聴履歴蓄積不揮発メモリに蓄積することを特徴とする請求項８に記載の視聴履歴蓄積装置。
【請求項１０】
アナログ放送波を受信して映像及び音声に変換するアナログ放送受信ユニット、及び、外部入力を受信して映像及び音声に変換する外部入力受信ユニットの少なくとも一方と、
アナログ放送及び外部入力の少なくとも一方とデジタル放送のうち、いずれを選択するかを切り替える切り替え部と
をさらに備え、
前記制御部は、前記切り替え部によりデジタル放送が選択されていないときには、前記視聴履歴蓄積不揮発メモリへの視聴履歴情報の蓄積を停止し、前記切り替え部によりデジタル放送が選択されたときに、前記視聴履歴蓄積不揮発メモリへの視聴履歴情報の蓄積を開始することを特徴とする請求項１から９までのいずれか１項に記載の視聴履歴蓄積装置。
【請求項１１】
前記制御部は、前記チャンネルリストに登録された論理チャンネルに対応するネットワークＩＤとサービスＩＤのうち、受信不可能となっているネットワークＩＤ及びサービスＩＤについて、受信不可能であることを示すＩＤに論理チャンネルを変更することを特徴とする請求項４から６までのいずれか１項に記載の視聴履歴蓄積装置。
【請求項１２】
前記制御部は、前記視聴履歴蓄積不揮発メモリに蓄積された視聴履歴情報を読み出し、又は、前記視聴履歴蓄積不揮発メモリに最新の視聴履歴情報を書き込む際に、視聴履歴情報の最終更新日時を判断し、当該最終更新日時から一週間を超えた期間が経過している場合には、視聴履歴情報を当該経過期間に対応する期間分だけシフトさせることを特徴とする請求項１から６までのいずれか１項に記載の視聴履歴蓄積装置。
【請求項１３】
前記制御部は、ユーザーにより所定の操作が行われた場合、又は、前記視聴履歴蓄積不揮発メモリに蓄積された視聴履歴情報の破損が確認された場合に、蓄積された視聴履歴情報を削除することを特徴とする請求項１から６までのいずれか１項に記載の視聴履歴蓄積装置。
【請求項１４】
放送の種類を識別するためのネットワークＩＤと、サービスを識別するためのサービスＩＤと、これらに対応付けられた論理チャンネルとを含むチャンネルリストを有し、
前記制御部は、ユーザーにより所定の操作が行われた場合、又は、前記視聴履歴蓄積不揮発メモリに蓄積された視聴履歴情報の破損が確認された場合に、蓄積された視聴履歴情報に加えて、前記チャンネルリストを削除することを特徴とする請求項１３に記載の視聴履歴蓄積装置。
【請求項１５】
前記時刻情報は、前記チャンネル切替時における日付、曜日又は時間を含むことを特徴とする請求項１から１４までのいずれか１項に記載の視聴履歴蓄積装置。
【請求項１６】
デジタル放送波を受信して映像及び音声に変換するデジタル放送受信手段と、
チャンネル切替を行うための操作手段と、
前記チャンネル切替時の時刻情報を取得する時刻情報取得手段と、
視聴履歴を記憶する記憶手段と、
前記記憶手段に蓄積された前記視聴履歴に基づいて、ユーザーが視聴したチャンネルと当該チャンネルの視聴時間とを含む視聴履歴情報を、ある時間毎に生成する視聴履歴情報生成手段と
を備えたことを特徴とする視聴履歴蓄積装置。
【請求項１７】
請求項１から１６までのいずれか１項に記載の視聴履歴蓄積装置を備えたことを特徴とするデジタル放送受信装置。
【請求項１８】
デジタル放送波を受信して映像及び音声に変換し、
前記デジタル放送波に含まれるチャンネルの切替を行い、
前記チャンネルを切り替えた際の時刻情報を取得し、
ユーザーの視聴履歴を視聴履歴一時蓄積メモリに一時蓄積することにより、ある時間で区切られたエリア毎に視聴履歴を管理し、
視聴履歴を恒久的に保持可能な視聴履歴蓄積不揮発メモリに、前記エリア内においてユーザーが視聴したチャンネルと当該チャンネルの視聴時間とを含む視聴履歴情報を蓄積すること
を含む視聴履歴蓄積方法。
【請求項１９】
デジタル放送波を受信して映像及び音声に変換し、
前記デジタル放送波に含まれるチャンネルの切替を行い、
前記チャンネルを切り替えた際の時刻情報を取得し、
ユーザーの視聴履歴を記憶手段に記憶し、
前記記憶手段に蓄積された前記視聴履歴に基づいて、ユーザーが視聴したチャンネルと当該チャンネルの視聴時間とを含む視聴履歴情報を、ある時間毎に生成すること
を含む視聴履歴蓄積方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル放送受信機に関し、特に、ユーザー（視聴者）の嗜好に合った番組を自動で判断することを目的として過去の視聴履歴を蓄積する視聴履歴蓄積装置に関する。
【背景技術】
【０００２】
従来より、小容量のメモリを用いて、ユーザーによる番組の視聴履歴情報を取得し、この視聴履歴情報に基づいてユーザーの好みの番組を判定し、当該好みの番組の今後の放送予定をユーザーに告知し、あるいは選局制御を行う装置が提案されている（例えば、特許文献１）。
【０００３】
【特許文献１】特開２００５−８６３２４号公報（段落０００７参照）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載された従来技術では、先週と今週とで視聴を開始した時間が一致したときに、ユーザーの好みの番組と判定される（特許文献１の段落０００７）。しかしながら、電源投入により視聴を開始する場合、あるいはチャンネル変更により視聴を開始する場合において、先週と今週とで視聴開始時間が一致することは稀であり、好みの番組の判定を適切に行うことが難しいという問題がある。
【０００５】
また、特許文献１に記載された従来技術では、ユーザーが今週選局したチャンネルと先週選局したチャンネルとが一致する場合には視聴回数を１増やし、異なる場合には１減らすようにして視聴の履歴を蓄積している。すなわち、ユーザーが毎週同じ時間に同じ番組を見ていれば、視聴回数を示す数字が大きくなる。ところが、例えば番組改変により毎週同じ時間に放送される番組の内容が大幅に変更された場合、番組改編後は全く視聴しなくなった曜日・時間の番組についても、視聴回数を表す数値がなかなか減少しないため、好みの番組を適切に判断できるようになるまでに長い期間を要するという問題がある。
【０００６】
本発明は上述の課題を解決するためになされたものであり、小容量のメモリを用いて、ユーザーの嗜好の把握する上で有効な視聴履歴を確実に蓄積することができる視聴履歴蓄積装置を提供することを目的とする。本発明は、また、番組編成の変更及びユーザーの嗜好の変化といった条件の変化にも柔軟に対応することが可能な視聴履歴蓄積装置、視聴履歴蓄積方法及びデジタル放送受信装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る視聴履歴蓄積装置は、デジタル放送波を受信して映像及び音声に変換するデジタル放送受信ユニットと、チャンネル切替のために操作される操作部と、チャンネル切替時の時刻情報を取得する時刻情報取得手段と、視聴履歴を一時蓄積する視聴履歴一時蓄積メモリと、視聴履歴を恒久的に保持可能な視聴履歴蓄積不揮発メモリとを備える。本発明に係る視聴履歴蓄積装置は、さらに、視聴履歴一時蓄積メモリを用いて、ある時間で区切られたエリア毎に視聴履歴を管理し、さらに、視聴履歴蓄積不揮発メモリに、エリア内においてユーザーが視聴したチャンネルと当該チャンネルの視聴時間とを含む視聴履歴情報を蓄積する制御を行う制御部を備える。
【発明の効果】
【０００８】
本発明によれば、小容量のメモリを用いて、ユーザーの嗜好を把握する上で有効な視聴履歴情報を確実に蓄積することが可能になる。この視聴履歴情報を利用することで、ユーザーが好む番組を、簡単且つ正確に判断することが可能になる。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
図１は、この発明の実施の形態１に係る視聴履歴蓄積装置を含むデジタル放送受信機の構成を示すブロック図である。図１に示すように、デジタル放送受信機は、デジタル放送信号を受信するアンテナ１と、アンテナ１により受信された放送信号のうち選択されたチャンネルに対応する放送信号を映像・音声に変換するデジタル放送受信ユニット２と、デジタル放送受信ユニット２により出力された映像及び音声を出力する表示装置３とを備えている。デジタル放送受信機は、また、時刻情報（日付、曜日、時間）を取得するタイマー（時刻情報取得手段）４と、デジタル放送受信機全体の制御とユーザーの視聴履歴の作成とを行うチャンネル制御部（制御部、視聴履歴情報生成手段）５と、視聴履歴を一時蓄積する視聴履歴一時蓄積メモリ（記憶手段）６と、視聴履歴を恒久的に保持可能な視聴履歴蓄積不揮発メモリ９と、ユーザーがチャンネル切り替えを行うためのリモコン（操作部、操作手段）８と、リモコン８の赤外線信号を受光するリモコン受光部７とを備えている。
【００１０】
ユーザーがリモコン８の電源ボタンを押すと、電源オン指示がリモコン受光部７を介してチャンネル制御部５に送られる。チャンネル制御部５は、電源オン指示を受信すると、デジタル放送受信ユニット２の電源を投入して、動作可能とする。ユーザーがリモコン８のデジタル放送のチャンネル切り替えボタンを押すと、受信チャンネル指示命令がリモコン受光部７及びチャンネル制御部５を介してデジタル放送受信ユニット２に送られる。デジタル放送受信ユニット２は、受信チャンネル指示命令に応じて受信チャンネルを設定し、アンテナ１からデジタル放送波を受信する。デジタル放送受信ユニット２は、さらに、受信したデジタル放送波を映像及び音声に変換し、表示装置３に出力する。チャンネル制御部５は、受信チャンネル指示命令を受信する毎に、タイマー４を参照し、受信チャンネルが変更された日付、曜日、時間のデータを取得する。チャンネル制御部５は、以下に説明する処理により、ユーザーの視聴履歴を視聴履歴蓄積メモリ６に蓄積する。
【００１１】
チャンネル制御部５は、図２に示したように、視聴履歴を、曜日毎に所定の時間間隔に区切った時間枠によって管理する。すなわち、横軸に示すように月曜日から日曜日までの各曜日について、縦軸に示すように１日（２４時間）を例えば１０分毎に区切った時間枠（エリア）を設定する。チャンネル制御部５は、視聴が開始された時間がどの曜日のどの時間枠に属するかを判定する。たとえば、現在が火曜日の０時１２分であった場合、図２に示すテーブルの「火曜日」の行において、現在時刻が含まれる０時１０分〜０時２０分の時間枠が選択される。その後、それぞれの時間枠において後述する各処理が行われる。
【００１２】
図３は、ある曜日の８時００分から８時１０分までの時間枠において、ユーザーが２つのチャンネルを選択した場合の視聴履歴を示す図である。この視聴履歴１１は、８時００分から８時８分まで４チャンネルが選択されており、８時８分から８時１０分まで２チャンネルが選択されていたことを表している。
【００１３】
図４は、ある曜日の８時００分から８時１０分まで時間枠において、ユーザーが３つのチャンネルを選択した場合の視聴履歴を示す図である。この視聴履歴１２は、８時００分から８時０３分まで３チャンネルが選択されており、８時０３分から８時０８分まで５チャンネルが選択され、８時０８分から８時１０分まで２チャンネルが選択されていたことを表している。
【００１４】
図３及び図４に示したような視聴履歴を、開始時間やチャンネル番号として保持しようとすると、使用するメモリ容量が大きくなってしまう。そこで、各時間枠内でどのチャンネルが何分視聴されたかを計算し、その情報を蓄積する。例えば、図３に示した視聴履歴１１は、「４チャンネルで８分、２チャンネルで２分」という情報として蓄積し、図４に示した視聴状態１２は、「３チャンネルで３分、５チャンネルで５分、２チャンネルで２分」という情報として蓄積する。
【００１５】
一般に、デジタル放送では、ＢＳ衛星放送、１１０度ＣＳ衛星放送、地上波デジタル放送といった放送の種類を識別するために、ネットワークＩＤ（network  ID）が与えられている。また、サービスを識別するために、サービスＩＤ（service  ID）が与えられている。この実施の形態では、選局されたチャンネルを判別するために、図５に示すデータ構造を有するチャンネルリストを保持している。
【００１６】
図５に示すチャンネルリストでは、２バイトのネットワークＩＤ及び２バイトのサービスＩＤの組に対し、１，２，３…２９９の論理チャンネルが割り当てられている。まだ何も番組を視聴していない初期状態では、チャンネルリストにはデータは何も保持されていない。一方、例えば地上波デジタル放送４１チャンネル（サービスＩＤは４１）とＢＳ衛星放送１０３チャンネル（サービスＩＤは１０３）を視聴した後では、チャンネルリストに図５に示すデータが保持される。この場合、地上波デジタル放送（ＴＲ）のサービスＩＤ４１には論理チャンネル１番が割り当てられ、ＢＳ衛星放送のサービスＩＤ１０３には論理チャンネル２番が割り当てられる。このように割り当てられる論理チャンネルの番号を、チャンネルＩＤと呼ぶ。
【００１７】
このようにチャンネルＩＤとネットワークＩＤとサービスＩＤとを対応づけたチャンネルリストは、不揮発メモリ（例えば、視聴履歴蓄積不揮発メモリ９と同一の不揮発ＲＡＭに設けた別のメモリ領域）に保持されている。視聴履歴を蓄積する際には、チャンネルリストで定めた論理チャンネル（チャンネルＩＤ）を使用することにより、使用するメモリを低減することができる。
【００１８】
視聴履歴蓄積不揮発メモリ９は、図２に示した時間枠のそれぞれについて、図６に示すような、各チャンネルＩＤについての視聴時間の積算値を７週前まで保持している。１つの時間枠について４ビットのデータがあれば１つのチャンネルにつき最大１０分を表現できるので、７週分記憶したとしても、１チャンネル当たり４ビット×７＝２８ビット（３バイト）あればよい。これにより、ユーザーの好みの番組を自動で判断することを目的として、少ないメモリ量で過去の視聴履歴情報を蓄積することができる。このように、各チャンネルＩＤについての視聴時間の積算値のリストを、視聴リストと呼ぶ。
【００１９】
図６に例示したデータ構造を有する視聴リストは、図２に示した時間枠毎に１つずつ作成されるが、全く視聴されない時間枠では視聴リストは作成されない。各時間枠を１０分とすると、１日で１４４枠となり、これを曜日毎（図２参照）に保持すると最大で１４４×７＝１００８枠となる。
【００２０】
チャンネル制御部５は、まず視聴履歴一時蓄積メモリ６上に、図３及び図４で例示したような１０分間の時間枠における詳細データを作成する。そして、当該時間枠から次の時間枠に移る時点で、視聴履歴蓄積不揮発メモリ９に、当該時間枠内におけるチャンネル毎の視聴時間の積算値を蓄積する。
【００２１】
このように構成することで、視聴履歴一時蓄積メモリ６には１０分間の詳細データのみを残しておけばよく、これを処理してチャンネル毎の視聴時間の積算値を視聴履歴蓄積不揮発メモリ９に書き込んだ後は、視聴履歴一時蓄積メモリ６の領域を開放して、次の時間枠の詳細データの保持に使用する。その結果、視聴履歴一時蓄積メモリ６及び視聴履歴蓄積不揮発メモリ９のそれぞれのメモリ使用量を少なくすることができる。
【００２２】
図７乃至図１０は、チャンネル制御部５上で動作するソフトウエアにより実行される視聴履歴蓄積処理を示すフローチャートである。
【００２３】
図７は、チャンネル制御部５による視聴履歴蓄積処理の全体を示すフローチャートである。この視聴履歴蓄積処理は、タイマー通知受信処理（ステップＳ１０３）と、チャンネル変更通知受信処理（ステップＳ１０４）という２つのタスクで構成されており、リモコン８からの指示又はタイマー４からの通知をメッセージ（message）という形式で受信し、タスクを実行する。
【００２４】
チャンネル制御部５は、まず、メッセージ、すなわちリモコン８からの指示又はタイマー４からの通知を待つ（ステップＳ１００）。メッセージを受信すると、このメッセージが視聴履歴に関するものか否かを判断し（ステップＳ１０１）、視聴履歴に関するものである場合、メッセージの種別、すなわちチャンネル変更通知かタイマー通知かを判断する（ステップＳ１０２）。
【００２５】
「タイマー通知」は、タイマー４から１０分毎に送信されるメッセージであって、「チャンネル変更通知」は、ユーザーがリモコン８のチャンネル切り替えボタンを操作することにより送信されるメッセージである。メッセージがタイマー通知であった場合には、次の時間枠に移行するタイマー通知受信処理（ステップＳ１０３）を実行する。メッセージがチャンネル変更通知であった場合には、後述するチャンネル変更通知受信処理（ステップＳ１０４）を実行する。
【００２６】
ステップＳ１０３又はＳ１０４を実行した後、ステップＳ１００に戻って次のメッセージを待つ。なお、上記のステップＳ１００で受信したメッセージが、リモコンによる電源オフ操作等により発せられる終了通知であった場合には（ステップＳ１０７）、視聴履歴蓄積処理を終了する。
【００２７】
図８は、チャンネル変更通知受信処理（図７のステップＳ１０４）の詳細を示すフローチャートである。チャンネル変更通知受信処理では、チャンネル変更通知を受信した時間枠をタイマー４を参照して算出し（ステップＳ１１０）、その時間枠が現在設定されている時間枠か否かを判断する（ステップＳ１１１）。現在設定されている時間枠の場合には、チャンネル変更通知により通知されたサービスＩＤがそれまで視聴していたチャンネルのサービスＩＤ（last  service_id）と同じか否かを判断する（ステップＳ１１２）。チャンネル変更通知により通知されたサービスＩＤが、last  service_idと同じであった場合には、チャンネル変更がなかったものと判断して、ステップＳ１１３〜Ｓ１１６を実行せずに、次のメッセージを待つ（図７のステップＳ１００）。チャンネル変更通知により通知されたサービスＩＤが、last  service_idと異なる場合には、チャンネル変更が行われたと判断して、それまでのチャンネルを視聴していた時間（last  service継続時間）が１分以上か否かを判断する（ステップＳ１１３）。１分以上の場合には、以下の更新処理（ステップＳ１１４）を実行する。
【００２８】
更新処理（ステップＳ１１４）では、１０分間分のチャンネル変更履歴を保持するための「更新サービスリスト」に、サービスＩＤ（service  ID）とその視聴時間とを保持する。更新サービスリストに既にサービスＩＤが存在する場合には、last  service継続時間を、更新サービスリストに保持されている視聴時間（duration）に加算する。一方、更新サービスリストにサービスＩＤが存在しない場合には、更新サービスリストに項目を追加し、サービスＩＤとして上記のlast  serviceIDを保持し、視聴時間（duration）として上記のlast  service継続時間を保持する。
【００２９】
この更新処理について、図１１に具体例を挙げて説明する。図１１（Ａ）に示すように、８時００分から８時０３分までＢＳ衛星放送の１０３チャンネル（サービスＩＤは１０３）を受信し、８時０３分から８時０６分までＣＳ衛星放送の８０チャンネル（サービスＩＤは８０）を受信し、８時０６分から８時０８分まで地上波放送の４１チャンネル（サービスＩＤは４１）を受信しており、さらに８時０８分にチャンネル切り替えが行われたとする。現在が８時０８分であるとすると、このチャンネル切り替えの際の更新処理では、図１１（Ｂ）に示す更新サービスリストにおいて、サービスＩＤが４１（ネットワークＩＤはＴＲ）の項目が追加される。なお、ネットワークＩＤは、ここでは簡単のためＢＳ，ＣＳ，ＴＲと表すが、実際には４，６，７ＦＦＦといった数値で表される。
【００３０】
また、図１１（Ｃ）に示すように、８時００分から８時０３分までＢＳ衛星放送の１０３チャンネルを受信し、８時０３分から８時０６分までＣＳ衛星放送の８０チャンネルを受信し、８時０６分から８時０８分まで再びＢＳ衛星放送の１０３チャンネルを受信しており、さらに８時０８分にチャンネル切り替えが行われたとする。現在が８時０８分であるとすると、このチャンネル切り替えの際の更新処理では、図１１（Ｄ）に示すように、サービスＩＤ１０３の視聴時間（３分）に、last  service継続時間である２分を加算する。
【００３１】
なお、上述した図８のステップＳ１１３において、last  service継続時間が１分未満と判断された場合には、ユーザーが番組を探すために高速でチャンネルを切り替える、いわゆるザッピングを行っていると判断し、更新処理（ステップＳ１１４）を実行せずに、ステップＳ１１６の処理に移る。
【００３２】
ステップＳ１１６では、それまで視聴していたチャンネルのサービスＩＤ（last  service_id）の値を、チャンネル変更通知で通知されたサービスＩＤ（new  service_id）に変更する。さらに、前回チャンネル変更が行われた時間（最終更新時間：last  update）を、チャンネル変更が行われた現在時間（new  time）に変更定する。例えば、図１１（Ａ）の８時０８分の切り替え時であれば、last  service_idの値を４１から１５１に変更し、最終更新時間であるlast  updateを８時０６分から８時０８分に変更する。
【００３３】
なお、上述したステップＳ１１１において、チャンネル変更通知を受信した時間枠が現在設定されている時間枠と異なる場合には、チャンネル変更通知を受信した時間枠の時間枠番号として、算出した値を設定し（ステップＳ１１５）、上述したステップＳ１１６に移る。時間枠は、上述したように１０分毎に区切られたもので、１日で１４４の時間枠があり、それぞれ独立の番号（時間枠番号）が設定されている。ステップＳ１１６は、通常は実行されないステップであるが、初めて視聴履歴蓄積処理を実行する場合など、まだ時間枠番号が設定されていない場合には、このステップＳ１１６で時間枠番号を算出して設定する。また、何らかの不具合でシステム時計が狂った場合にも、ステップＳ１１６を実行することで、それ以後の処理における不具合の発生を防止することができる。
【００３４】
図９は、１０分毎のタイマー通知メッセージを受け取った時に実行されるタイマー通知受信処理（図７のステップＳ１０３）の詳細を示すフローチャートである。タイマー通知受信処理では、まず、最終更新時間（last  update）からの経過時間が１分以上か否かを判断する（ステップＳ１３０）。１分以上であった場合には、更新サービスリストに、前回のチャンネル変更時から視聴していたチャンネルのlast  service_idとその視聴時間を書き込む（ステップＳ１３１）。例えば、図１１（Ｃ）の８時１０分のタイマー通知時には、図１１（Ｅ）に示すように、更新サービスリストに、サービスＩＤ１５１の項目を追加し、視聴時間（duration）の欄に、last  service  継続時間（２分）を保持する。また、図示は省略するが、サービスＩＤ１５１が既に更新サービスリストに存在する場合には継続時間を加算する。
【００３５】
次いで、これまでの時間枠における更新サービスリスト（例えば図１１（Ｅ））を、視聴履歴蓄積不揮発メモリ９に書き込むため、以下で説明するファイル更新処理を実行する（ステップＳ１３２）。さらに、次の時間枠の処理に移行するため、更新サービスＩＤ数を０にし、更新サービスリストをクリアする（ステップＳ１３３）。次に、最終更新時間であるlast  updateの値を、現在時刻（new  time）に変更する（ステップＳ１３４）。例えば図１１（Ｃ）の８時１０分のタイマー通知時であれば、last  updateに８時１０分を設定する。ステップＳ１３４の後、図７のステップＳ１００に戻り、メッセージを待つ。
【００３６】
図１０は、ファイル更新処理（図９のステップＳ１３２）の詳細を示すフローチャートである。ファイル更新処理は、更新サービスリスト（例えば図１１（Ｅ））のデータを処理し、視聴履歴蓄積不揮発メモリ９に保持した視聴リスト（図６）の「１週前」の枠に書き込む処理である。
【００３７】
チャンネル制御部５は、まず、更新サービスリストのファイルを一時メモリ（例えば、視聴履歴一時蓄積メモリ６と同一のＲＡＭ上に設けた別のメモリ領域）に読み込む（Ｓ１４０）。次いで、チャンネルリスト（図５）を参照して、各チャンネルＩＤに対応するサービスＩＤが更新サービスリストに含まれるかどうかを判断する（ステップＳ１４１）。チャンネルＩＤに対応するサービスＩＤが更新サービスリストになかった場合には、当該チャンネルＩＤが視聴されなかったと判断し、当該チャンネルＩＤに対応する現在時間枠に０（分）を書き込む（ステップＳ１４３）。チャンネルＩＤに対応するサービスＩＤが更新サービスリストに存在する場合は、そのサービスＩＤの視聴時間を、当該チャンネルＩＤに対応する現在時間枠に書き込む（ステップＳ１４２）。
【００３８】
図１１（Ｅ）の更新サービスリストを例に説明する。図５のチャンネルリストから、チャンネルＩＤ１に対応するサービスＩＤは４１であり、チャンネルＩＤ２に対応するサービスＩＤは１０３である。図１１（Ｅ）の更新サービスリストには、サービスＩＤ４１は存在しないが、サービスＩＤ１０３は存在し、その視聴時間は５分である。この場合、チャンネルＩＤ１の現在時間枠には０を書き込み、チャンネルＩＤ２の現在時間枠には５を書き込む。
【００３９】
その後、チャンネル制御部５は、各チャンネルＩＤに対応する現在時間枠のデータ（すなわち最新の視聴履歴情報）を、視聴履歴蓄積不揮発メモリ９に保持した視聴リストのテーブル（図６）に書き込む（ステップＳ１４４）。このとき、図６に示した１週前から７週前までの視聴履歴情報のうち、最も古い７週前の視聴履歴情報を消去し、１週前から６週前までの視聴履歴情報をそれぞれ右に１週分シフトして、現在時間枠のデータを１週前の視聴履歴情報として書き込む。最後に、読み込み／書き込み処理を行ったファイル数が処理すべきファイル数と一致するか否かを判断し（ステップＳ１４５）、一致しなければ次のファイル読み込みを行い、一致すればファイル更新処理を終了する。
【００４０】
図１２は、実施の形態１に係る視聴履歴蓄積装置を含むデジタル放送受信機のハードウェア構成例を示すブロック図である。上記の図１では、実施の形態１に係る視聴履歴蓄積装置を含むデジタル放送受信機を機能毎のブロックに分けて説明したが、ここでは、具体的なハードウェア構成例について説明する。
【００４１】
図１２に示すように、実施の形態１に係る視聴履歴蓄積装置を含むデジタル放送受信機は、リモコンボタン１０９、入出力部（Ｉ／Ｏ）１１０、不揮発性ＲＡＭ（ＮＶＲＡＭ：Nonvolatile  RAM）１１１、ＲＯＭ１１２、ＲＡＭ（主メモリ）１１３、ＣＰＵ１１４、アンテナ１０８、チューナ１０１、復調装置１０２、ＴＳデコード処理装置１０３、音声デコード処理装置１０４、映像デコード装置１０５、グラフィックス処理装置１０７、及び提示処理装置１０６を備えて構成されている。
【００４２】
図１２において、入出力部１１０で受信したリモコンボタン１０９からの入力は、バスを介してＣＰＵ１１４に送られる。ＣＰＵ１１４は、受信した入力を解析する。リモコンのチャンネルボタンが押された場合、ＣＰＵ１１４からチューナ１０１にチャンネル変更処理命令が送られ、チューナ１０１は指定されたチャンネルを受信するよう受信波を切り替える。アンテナ１を介して受信された放送波は、復調装置１０２で復調されたのち、ＴＳデコード装置１０３で音声信号と映像信号とに分解される。分解された信号は、それぞれ音声デコード装置１０４及び映像デコード装置１０５でデコードされる。音声は音声出力装置に出力され、映像は、提示処理装置１０６においてグラフィックス処理装置１０７から出力されたグラフィックスと重ね合わされたのち、映像出力装置に出力される。
【００４３】
以上の放送波受信処理及び出力処理と並行して、ＣＰＵ１１４は、ＲＡＭ１１３にチャンネル切り替え前のチャンネルと、そのチャンネルの視聴継続時間を保持する。ＣＰＵ１１４は、内部にタイマーを有し、このタイマーは１０分毎にタイマー通知を出力する。タイマー通知が出力される毎に、ＣＰＵ１１４は、ＲＡＭ１１３に保持していたチャンネルと視聴継続時間を不揮発性ＲＡＭ１１１に書き込む。
【００４４】
以上説明したように、実施の形態１によれば、視聴履歴を時間枠（エリア）で管理すると共に、視聴履歴蓄積不揮発メモリ９に、各時間枠においてユーザーが視聴していたチャンネルと当該チャンネルの視聴時間とを含む視聴履歴情報を蓄積するようにしたので、例えば先週と今週とで視聴開始時間が一致しない場合であっても、適切に視聴履歴情報を蓄積することができる。
【００４５】
また、実施の形態１においては、視聴履歴が、曜日毎に一定の時間で区切られて管理されているので、曜日と時間に応じて放送される番組に対するユーザーの嗜好を把握することができる。
【００４６】
また、実施の形態１においては、上記の時間枠をさらに分割した時間間隔を単位として時間計測を行い、同一のチャンネルについての視聴時間の累積を蓄積するようにしたので、視聴履歴蓄積不揮発メモリ９の使用容量を少なく抑えることができる。
【００４７】
また、実施の形態１においては、ネットワークＩＤ、サービスＩＤ及び論理チャンネルを対応づけたチャンネルリストを使用するようにしたので、視聴履歴蓄積不揮発メモリにネットワークＩＤ及びサービスＩＤを記憶する必要がなく、視聴履歴蓄積不揮発メモリの容量を更に少なく抑えることができる。さらに、論理チャンネル毎に、複数週分の視聴履歴情報を保持するようにしたので、ユーザーの嗜好をより的確に把握することができる。
【００４８】
また、実施の形態１においては、視聴履歴蓄積不揮発メモリに最新の視聴履歴情報を書き込む際には、最も古い（７週前の）資料履歴情報を消去し、他の視聴履歴情報を１週分ずつ右にシフトするようにしたので、視聴履歴蓄積不揮発メモリ９の使用容量を増加させずに、複数週分の視聴履歴情報を蓄積することができる。
【００４９】
また、実施の形態１においては、タイマー通知を受信する毎に、視聴履歴蓄積不揮発メモリ９に視聴履歴を書き込むようにしたので、視聴履歴一時蓄積メモリ６を適宜クリアして次の視聴履歴の蓄積に備えることができ、視聴履歴一時蓄積メモリ６の使用容量を少なく抑えることができる。
【００５０】
実施の形態２．
実施の形態２では、視聴履歴情報として、視聴チャンネル以外の情報、例えば視聴番組に関する情報を蓄積する。このように視聴チャンネルの履歴に加えて、視聴番組に関する情報の履歴を蓄積することで、より高度にユーザーの嗜好を反映させた番組検索等を行うことが可能となる。
【００５１】
視聴番組に関する情報（番組情報とする。）としては、番組のジャンル、タイトル、出演者、番組内容、コピー制御情報、ストリームタイプ、シリーズで放送される番組であるか特別番組であるか、再放送であるか新番組であるか、最終回であるか等、多様な情報が含まれる。ここでは、番組情報として、番組のジャンルの情報を蓄積する場合について説明する。番組のジャンルの情報は、デジタル放送における番組配列情報のコンテント記述子におけるジャンル指定によって取得する。以下、ジャンル指定から得られる情報をジャンルコードと呼ぶ。
【００５２】
図１３は、ある曜日の８時００分から８時１０分までの時間枠において、ユーザーがジャンルの異なる２つの番組を視聴した場合を示す図である。視聴中の番組が切り替わるのは、ユーザーがリモコン等でチャンネルを変更する場合、又は、同じチャンネルを連続して視聴している間に番組が切り替わる場合である。図１３に示した例では、８時００分から８時８分まではジャンルコード３の番組を視聴し、８時８分にジャンルコード１の番組に変更して、そのまま８時１０分までジャンルコード１の番組を視聴している。
【００５３】
図１４は、ある曜日の８時００分から８時１０分までの時間枠において、ユーザーがジャンルの異なる３つの番組を視聴した場合を示す図である。図１４に示した例では、８時００分から８時３分までジャンルコード３の番組を視聴し、８時３分にジャンルコード１の番組に変更し、更に８時８分にジャンルコード２の番組に変更して、そのまま８時１０分までジャンルコード２の番組を視聴している。
【００５４】
図１５は、ジャンルコードを視聴履歴情報として蓄積する際のデータ構造を示す。図１５に示すように、各時間枠について、どのジャンルコードの番組を何分間視聴していたかを積算したデータを７週前まで保持する。
【００５５】
図１５に示したデータ構造においては、ジャンルコードを、そのジャンルコードが格納される配列の行番号に一致させる。このようにすれば、７週分の視聴時間のみを保持するだけでよいため、データ量を更に少なくすることができる。図６に示した視聴履歴と同様、１つの時間枠について４ビットのデータがあれば１つのジャンルにつき最大１０分を表現できるので、７週分記憶したとしても、１ジャンルあたり４ビット×７＝２８ビット（３バイト）あればよい。
【００５６】
図１５に例示した視聴ジャンルリストは、図２を参照して説明したエリア毎に１つずつ作成されるが、全く視聴されないエリアでは視聴リストは作成されない。
【００５７】
図１６及び図１７は、実施の形態２のチャンネル制御部５（図７）で動作するソフトウエアにより実行される視聴履歴蓄積処理を示すフローチャートである。
【００５８】
図１６は、実施の形態２における視聴履歴蓄積処理の全体を示す。図１６に示すように、実施の形態２における視聴履歴蓄積処理は、タイマー通知受信処理（ステップＳ１５３）、チャンネル変更通知受信処理（ステップＳ１５４）、及びジャンル変更通知受信処理（ステップＳ１５５）という３つのタスクで構成されており、リモコン８からの指示等をメッセージ（message）という形式で受信し、タスクを実行する。
【００５９】
実施の形態２における視聴履歴蓄積処理では、まず、メッセージ、すなわちリモコン８からの指示、タイマー４からの通知、又はジャンル変更通知を待つ（ステップＳ１５０）。メッセージを受信すると、このメッセージが視聴履歴に関するものか否かを判断し（ステップＳ１５１）、視聴履歴に関するものである場合、チャンネル変更通知、タイマー通知、ジャンル変更通知の何れかを判断する（ステップＳ１５２）。
【００６０】
「ジャンル変更通知」は、ユーザーが視聴番組を変更するためにチャンネルを変更することによりジャンルが変更された場合、又は、連続して同じチャンネルを視聴している間に番組が変わってジャンルが変更された場合に発行されるメッセージである。
【００６１】
メッセージがジャンル変更通知であった場合には、以下で説明するジャンル変更通知受信処理（ステップＳ１５５）を実行する。また、メッセージがチャンネル変更通知であった場合には、実施の形態１で説明したチャンネル変更通知受信処理（ステップＳ１５４）を実行し、タイマー通知であった場合には、実施の形態１で説明したタイマー通知受信処理（ステップＳ１５３）を実行する。
【００６２】
ステップＳ１５３，Ｓ１５４又はＳ１５５を実行した後、メッセージ受信待ち処理（ステップＳ１５０）に戻り、次のメッセージを待つ。なお、上記のステップＳ１５０で受信したメッセージが、リモコンによる電源オフ操作等により発せられる終了通知であった場合には（ステップＳ１５７）、視聴履歴蓄積処理を終了する。
【００６３】
チャンネル変更通知受信処理及びタイマー通知受信処理の内容については実施の形態１で説明したため、ここではジャンル変更通知受信処理（ステップＳ１５５）の内容について説明する。
【００６４】
図１７は、ジャンル変更通知受信処理（図１６のステップＳ１５５）の詳細を示すフローチャートである。チャンネル制御部５は、まず、ジャンルが変更されたと判断すると、ジャンルが変更された時間枠を算出し（ステップＳ１６０）、その時間枠が現在設定されている時間枠か否かを判断する（ステップＳ１６１）。時間枠が、現在設定されている時間枠の場合には、ジャンル変更通知により通知されたジャンルがそれまで視聴していたジャンルコード（last  genre）であるか否かを判断する（ステップＳ１６２）。ジャンル変更通知により通知されたジャンルコードが、last  genreと同じであった場合には、ジャンル変更がなかったものと判断して、ステップＳ１６３〜Ｓ１６６を実行せずに、次のメッセージを待つ（図１６のステップＳ１５０）。ジャンル変更通知により通知されたジャンルコードが、last  genreと異なる場合には、ジャンル変更が行われたと判断して、変更前のジャンルを視聴していた時間（last  genre継続時間）が１分以上か否かを判断する（ステップＳ１６３）。継続時間が１分以上の場合には、以下の更新処理（ステップＳ１６４）を実行する。
【００６５】
更新処理（ステップＳ１６４）では、１０分間のジャンル変更履歴を保持するための「更新ジャンルリスト」に、それまで視聴していた番組のジャンルコード（last  genre）とその視聴時間（last  genre継続時間）とを保持する。更新ジャンルリストに、追加しようとするジャンルコード（last  genre）が既に存在する場合には、last  genre継続時間を、更新ジャンルリストに書き込まれている継続時間（duration）に加算する。更新ジャンルリストに、追加しようとするジャンルコードが存在しない場合には、更新ジャンルリストに新たなジャンルの項目を作成し、ジャンルコードとlast  genre継続時間を保持する。
【００６６】
なお、上述したステップＳ１６３において、last  genre継続時間が１分未満と判断された場合には、ユーザーが番組を探すために高速でチャンネルを切り替えている（いわゆるザッピング）と判断し、更新処理（ステップＳ１６４）を実行せずに、ステップＳ１６６の処理に移る。
【００６７】
ステップＳ１６６では、それまで視聴していた番組のジャンルコードであるlast  genreの値を、ジャンル変更通知で通知された新しいジャンルコードに変更する。さらに、前回ジャンル変更が行われた時間（最終ジャンル更新時間：last  update）を、ジャンル変更が行われた現在時間（new  time）に変更する。
【００６８】
上述したステップＳ１６１において、現在の時間枠がこれまで処理してきた時間枠と異なる場合は、現在の時間枠に設定される時間枠番号として、算出した値を設定し（ステップＳ１６５）、上述したステップＳ１６６に移る。実施の形態１（図８のステップＳ１１５）でも説明したように、初めて視聴履歴蓄積処理を開始する場合など、まだ時間枠番号がない場合があるため、このステップＳ１６５で時間枠番号を設定する処理を行う。また、何らかの不具合でシステム時計が狂った場合にも、ステップＳ１６５の処理を実行することで、それ以後の処理における不具合の発生を防止することができる。
【００６９】
図１７に示したジャンル変更通知受信処理によって視聴履歴一時蓄積メモリ６に保持されたジャンルコードと視聴時間との組は、図９及び図１０を参照して説明した実施の形態１と同様のタイマー受信処理によって、視聴履歴蓄積不揮発メモリ９にジャンル履歴情報として保存される。視聴履歴蓄積不揮発メモリにジャンル履歴情報が保存されたのち、視聴履歴一時蓄積メモリ６はクリアされ、次の時間枠のジャンル履歴の保存のための領域を確保する。
【００７０】
以上説明したように、実施の形態２によれば、視聴したチャンネルの履歴に加えて、ジャンル等の番組情報とその視聴時間とを蓄積するようにしたので、より高度にユーザーの嗜好を反映させた番組検索等を行うことが可能となる。
【００７１】
また、実施の形態２においては、時間枠をさらに分割した時間間隔を単位として時間計測を行い、同じ番組情報（ジャンル等）に対応する視聴時間の累積を蓄積するようにしたので、視聴履歴蓄積不揮発メモリの使用容量を少なく抑えることができる。
【００７２】
実施の形態３．
図１８は、本発明の実施の形態３に係る視聴履歴蓄積装置を含むデジタル放送受信機の構成を示すブロック図である。図１８に示すように、実施の形態３におけるデジタル放送受信機は、実施の形態１で説明したデジタル放送受信機（図１）に加えて、アナログ放送受信用のアンテナ６３と、アナログ放送波を受信して映像及び音声として出力するアナログ放送受信ユニット６４と、外部入力を受信して映像及び音声として出力する外部入力受信ユニット６５と、デジタル放送・アナログ放送・外部入力のいずれかを選択して表示装置３に表示させるために出力を切り替える表示切替制御部６６とを備えている。
【００７３】
表示切替制御部６６は、チャンネル制御部５に接続され、チャンネル制御部５との間で表示切替命令及び表示切替通知の送受信を行う。
【００７４】
ユーザーがリモコン８の電源ボタンを押すと、電源オン指示がリモコン受光部７を介してチャンネル制御部５に送信される。チャンネル制御部５は、電源オン指示を受信すると、デジタル放送受信ユニット２、アナログ放送受信ユニット６４及び外部入力ユニット６５に電源を投入して、動作可能とする。次に、ユーザーがリモコン８のデジタル放送のチャンネル切り替えボタンを押すと、受信チャンネル指示命令がリモコン受光部７及びチャンネル制御部５を経てデジタル放送受信ユニット２に伝達される。デジタル放送受信ユニット２は、受信チャンネルを設定してアンテナ１からデジタル放送波を受信し、音声及び映像に変換して表示装置３に出力する。このとき、チャンネル制御部５は、表示切替制御部６６に対して、デジタル放送映像を表示装置３に出力するよう指示命令を送信し、さらに、実施の形態１及び２と同様にしてユーザーの視聴履歴を蓄積する。
【００７５】
一方、ユーザーがリモコン８のアナログ放送チャンネル又は外部入力の切り替えボタンを押すと、デジタル放送以外の受信チャンネル指示命令がリモコン受光部７を経てチャンネル制御部５に送信される。アナログ放送受信ユニット６４は、チャンネル制御部５を介してアナログ放送の受信チャンネル指示命令を受信すると、アンテナ６３からアナログ放送波を受信し、音声及び映像に変換して出力する。外部入力ユニット６５は、チャンネル制御部５を介して外部入力の受信チャンネル指示命令を受信すると、外部入力信号を受信し、音声及び映像に変換して出力する。
【００７６】
チャンネル制御部５は、また、表示切替制御部６６に対し、アナログ放送受信ユニット６４又は外部入力受信ユニット６５からの音声及び映像を表示装置３に出力するよう指示命令を送信する。表示切替制御部６６は、チャンネル制御部５からの指示命令に従い、表示部３にアナログ放送又は外部入力を出力するよう切り替えを行い、さらに、デジタル放送の視聴を停止したことをチャンネル制御部５に通知する。
【００７７】
チャンネル制御部５は、表示切替制御部６６からデジタル放送の出力が停止されたとの通知を受けると、視聴履歴の蓄積を停止する。チャンネル制御部５は、また、表示切替制御部６６からデジタル放送の視聴が開始されたとの通知を受けると、視聴履歴の蓄積を開始する。
【００７８】
なお、図１８には、アナログ放送受信ユニット６４及び外部入力受信ユニット６５の両方を設けた構成例を示したが、いずれか一方のみを備えた構成であってもよい。この場合も、チャンネル制御部５は、デジタル放送の出力が停止されたとの通知を受けると視聴履歴の蓄積を停止し、デジタル放送の視聴が開始されたとの通知を受けると視聴履歴の蓄積を開始する。また、視聴履歴蓄積の停止及び開始を、デジタル放送視聴中か否かの情報以外の情報（例えば、デジタル放送視聴予約実行中であるか否か、デジタル放送録画中であるか否か、デジタル放送録画予約実行中であるか否か）に基づいて行ってもよい。
【００７９】
図１９及び図２０は、実施の形態３のチャンネル制御部５（図７）で動作するソフトウエアで実行される視聴履歴蓄積処理を示すフローチャートである。
【００８０】
図１９は、実施の形態３における視聴履歴蓄積処理の全体を示す。図１９に示すように、視聴履歴蓄積処理は、タイマー通知受信処理（ステップＳ１８３）、チャンネル変更通知受信処理（ステップＳ１８４）、及びデジタル視聴開始／停止通知受信処理（ステップＳ１８５）の３つのタスクで構成されており、リモコン８からの指示等をメッセージ（message）という形式で受信し、タスクを実行する。
【００８１】
実施の形態３における視聴履歴蓄積処理では、メッセージ、すなわちリモコン８からの指示、タイマー４からの通知、又はデジタル視聴開始／停止通知を待つ（ステップＳ１８０）。メッセージを受信すると、このメッセージが視聴履歴に関するものか否かを判断し（ステップＳ１８１）、視聴履歴に関するものである場合、チャンネル変更、タイマー通知、デジタル視聴開始／停止通知の何れかを判断する（ステップＳ１８２）。
【００８２】
「デジタル視聴停止通知」は、ユーザーのリモコン操作によりデジタル放送からアナログ放送又は外部入力に表示状態が変更された場合に、表示切替制御部６６からチャンネル制御部５に送信されるものである。「デジタル視聴開始通知」は、ユーザーのリモコン操作によりアナログ放送又は外部入力からデジタル放送に表示状態が変更された場合に、表示切替制御部６６からチャンネル制御部５に送信されるものである。これらデジタル視聴開始・停止通知は、アナログ放送及び外部入力等の表示切替に限らず、例えば、リモコンによる電源オン／オフや、予約による録画実行などによって送信されるようにしてもよい。
【００８３】
メッセージがデジタル視聴開始／停止通知であった場合には、以下で説明するデジタル視聴開始／停止処理（ステップＳ１８５）を実行する。また、メッセージがチャンネル変更通知であった場合には、実施の形態１で説明したチャンネル変更通知受信処理（ステップＳ１８４）を実行し、タイマー通知であった場合には、実施の形態１で説明したタイマー通知受信処理（ステップＳ１８３）を実行する。
【００８４】
ステップＳ１８３，Ｓ１８４又はＳ１８５を実行した後、メッセージ受信待ち処理（ステップＳ１８０）に戻り、次のメッセージを待つ。なお、上記のステップＳ１８０で受信したメッセージが、リモコンによる電源オフ操作等により発せられる終了通知であった場合には（ステップＳ１８７）、視聴履歴蓄積処理を終了する。
【００８５】
図２０は、デジタル視聴開始／停止受信処理（図１９のステップＳ１８５）の詳細を示すフローチャートである。デジタル視聴開始／停止受信処理では、まず、表示切替制御部６６からの通知がデジタル視聴開始通知かデジタル視聴停止通知かを判断する（ステップＳ１９０）。デジタル視聴開始通知であった場合、視聴履歴蓄積停止フラグをリセットし（ステップＳ１９１）、次のメッセージを待つ（図１９のステップＳ１８０）。
【００８６】
表示切替制御部６６からの通知がデジタル視聴停止通知であった場合、更新サービスリストに、最後にチャンネル変更があってから視聴中であったチャンネルのlast  service_  idとその視聴時間を保持する（ステップ１９２）。続いて、これまでの時間枠内の更新サービスリスト（例えば図１１（Ｅ））のデータを、視聴履歴情報として、視聴履歴蓄積不揮発メモリ９に書き込むファイル更新処理を実行する（ステップＳ１９３）。さらに、次の時間枠の処理に移行するため、更新サービスＩＤ数を０にし、更新サービスリストをクリアする（ステップＳ１９４）。次に、最終更新時を表すlast  updateに初期値を設定し、直前のサービスＩＤを表すlast  service_idにも初期値を設定する（ステップＳ１９５）。そののち、視聴履歴蓄積停止フラグをセットし（ステップＳ１９６）、次のメッセージを待つ（ステップＳ１９７）。
【００８７】
以上説明したように、実施の形態３によれば、あらかじめ設定した条件（例えば、デジタル放送視聴中であるか否か）に基づいて自動的に視聴履歴の蓄積を停止・開始することによって、より正確にユーザーの嗜好を反映した視聴履歴の蓄積を行うことができる。
【００８８】
実施の形態４．
デジタル放送において受信可能なチャンネルは、放送局のチャンネル編成の変更により増減する場合がある。また、地域によって受信可能なチャンネルが異なるため、移動によりチャンネル編成が変更する場合がある。本発明の実施の形態４は、このような場合にチャンネルリストを更新するものである。
【００８９】
図２１及び図２２は、実施の形態４のチャンネル制御部５上で動作するソフトウエアにより実行される視聴履歴蓄積処理を示すフローチャートである。図２１は、チャンネルリスト更新処理の全体を示す。
【００９０】
図２１は、実施の形態４における視聴履歴蓄積処理の全体を示す。実施の形態４における視聴履歴蓄積処理は、タイマー通知受信処理（ステップＳ２０３）と、チャンネル変更通知受信処理（ステップＳ２０４）と、チャンネルリスト更新処理（ステップＳ２０５）という３つのタスクで構成されており、リモコン８からの指示又はタイマー４からの通知をメッセージ（message）という形式で受信し、タスクを実行する。
【００９１】
図２１に示すように、視聴履歴蓄積処理では、メッセージ、すなわちリモコン８からの指示、タイマー４からの通知、又はチャンネルリスト更新通知を待つ（ステップＳ２００）。メッセージを受信すると、このメッセージが視聴履歴に関するものか否かを判断し（ステップＳ２０１）、視聴履歴に関するものである場合、チャンネル変更通知、タイマー通知、チャンネルリスト更新通知の何れかを判断する（ステップＳ２０２）。
【００９２】
「チャンネルリスト更新通知」は、リモコン８の所定のボタンが押された場合に送信されるものである。メッセージがチャンネルリスト更新通知であった場合には、以下で説明するチャンネルリスト更新通知受信処理（ステップＳ２０５）を実行する。また、メッセージがチャンネル変更通知であった場合には、実施の形態１で説明したチャンネル変更通知受信処理（ステップＳ２０４）を実行し、タイマー通知であった場合には、実施の形態１で説明したタイマー通知受信処理（ステップＳ２０３）を実行する。
【００９３】
ステップＳ２０３，Ｓ２０４又はＳ２０５を実行した後、メッセージ受信待ち処理（ステップＳ２００）に戻り、次のメッセージを待つ。なお、上記のステップＳ２００で受信したメッセージが、リモコンによる電源オフ操作等により発せられる終了通知であった場合には（ステップＳ２０７）、視聴履歴蓄積処理を終了する。
【００９４】
図２２は、チャンネルリスト更新通知受信処理（図２１のステップＳ２０５）の詳細を示すフローチャートである。チャンネルリスト更新受信処理では、チャンネル制御部５は、放送局のチャンネル編成を記憶したメモリ領域（図示せず）から、受信可能な全てのチャンネルを検索し（ステップＳ２１０）、さらに図５に例示したチャンネルリストのサービスＩＤ（service  ID）及びネットワークＩＤ（network  ID）と比較する（ステップＳ２１０）。チャンネルリストに、受信可能なサービスＩＤ，ネットワークＩＤのどの組とも一致しないチャンネルがある場合、当該チャンネルのチャンネルＩＤを０とする（ステップＳ２１２）。一方、チャンネルリストにおいて、受信可能なサービスＩＤ，ネットワークＩＤの組と一致するチャンネルについては、チャンネルＩＤをそのまま保持する。次いで、チャンネルリストに含まれる全てのチャンネルＩＤについてサービスＩＤ，ネットワークＩＤの比較が完了したか否かを判断し（ステップＳ２１３）、次のメッセージを待つ（図２１のステップＳ２００）。
【００９５】
以上のようなチャンネルリスト更新処理を定期的に行うことで、チャンネル編成に変更があった場合、又は移動により受信可能であったチャンネルが受信不可となった場合等、受信可能なサービスチャンネルに変更があった場合に、既に蓄積されている視聴履歴を直接変更することなく、最新のチャンネル編成に容易に対応することができる。
【００９６】
図２３は、実施の形態４によるチャンネルリスト更新処理の例を説明するための図である。上述したように、受信可能なチャンネルは、放送局のチャンネル編成変更等により増減する場合がある。上述した実施の形態１〜３の視聴履歴蓄積処理においても、新しいチャンネルが視聴されると、チャンネルリストには該当するチャンネルのサービスＩＤ，ネットワークＩＤと共にチャンネルＩＤが追加されるが、この実施の形態４では、更に、なくなったチャンネルに対応するチャンネルＩＤを０とする。
【００９７】
図２３（Ａ）に示した例では、チャンネルリストに登録されたチャンネルのうち、サービスＩＤが８０、ネットワークＩＤがＣＳという組に対応するチャンネルが、受信可能なチャンネルの中に存在していないものとする。これは、例えばＣＳ衛星放送の８０チャンネルが消滅した場合などに生じる。この場合、図２３（Ｂ）に示すように、サービスＩＤが８０、ネットワークＩＤがＣＳというチャンネルに対応するチャンネルＩＤを０とする。
【００９８】
さらに、チャンネルリストに追加すべきチャンネルがある場合、チャンネルリストのサイズがその許容される最大値を超えていなければ、その時点でのチャンネルＩＤの最大値に１を加算して新しいチャンネルＩＤとし、追加すべきチャンネルのサービスＩＤ，ネットワークＩＤに新しいチャンネルＩＤを割り当てる。一方、チャンネルリストのサイズが許容される最大値に達している場合には、チャンネルリストの中で、チャンネルＩＤが０であるものを検索する。図２３（Ｃ）に示すように、チャンネルＩＤが０であるものがあった場合、そのチャンネルＩＤを、その時点でのチャンネルＩＤの最大値に１加算した値とし、サービスＩＤとネットワークＩＤとをを追加すべきチャンネルのサービスＩＤ，ネットワークＩＤに書き換える。
【００９９】
以上のように、この実施の形態４によれば、チャンネルリストのチャンネルの削除及び追加を行うことで、チャンネル編成又は移動により消滅したチャンネルに使用されていたメモリを有効に活用することが可能になり、また、視聴履歴を変更することなく、チャンネルリストに依存して作成された視聴履歴との整合性を保持することが可能となる。
【０１００】
実施の形態５．
上述した各実施の形態においては、視聴履歴は、時間枠毎に視聴履歴蓄積不揮発メモリ９に蓄積されるが、視聴履歴情報の更新が１週間を超えて行なわれなかった場合（すなわち１週間を超えてデジタル放送が視聴されなかった場合）には、２週間前の視聴データを１週間前として扱う可能性がある。そこで、この実施の形態５では、１週間を超えて視聴履歴情報の更新が行われなかった場合には、新たに視聴履歴情報を更新する際、又は視聴履歴情報の読み出しを行う際に、当該１週間を超えた期間分のデータをシフトさせる。
【０１０１】
図２４は、実施の形態５のチャンネル制御部５上で動作するソフトウエアにより実行される視聴履歴のファイル属性チェック処理を示すフローチャートである。
【０１０２】
ファイル属性チェック処理では、まず、視聴履歴情報のファイル属性を取得する（ステップＳ２２０）。ファイル属性に基づくファイルの最終更新日時を、現在の時刻と比較し、１週間を超えて視聴履歴情報の更新がなかったか否かを判断する（ステップＳ２２０）。ファイル最終更新日時が、現在時刻から１週間以内であった場合には、図１０に示したファイル更新処理を行う（ステップＳ２２３）。このファイル更新処理では、最新の視聴履歴情報を１週前のデータ（図６）として書き込む。
【０１０３】
ファイル最終更新日時から現在までの間に、１週間を越えた期間が経過していた場合には、蓄積した視聴履歴情報（図６）を当該１週間を超えた期間（週）分だけシフトさせ、シフトさせた期間分の視聴履歴情報の時間データに０を書き込んだのち（ステップＳ２２２）、ファイル更新処理を実行する（ステップＳ２２３）。ファイル更新処理では、最新の視聴履歴情報を１週前のデータ（図６）として書き込む。
【０１０４】
そののち、全ファイル（視聴チャンネルの履歴情報、番組情報など）について、ファイル属性のチェックが完了したか否かを判断し（ステップＳ２２４）、完了した場合にはファイル属性チェック処理を終了する。
【０１０５】
この実施の形態５では、ファイル属性チェックを実行することで、例えば１ヶ月前からデジタル放送が視聴されなかったような場合に、古いデータに基づいてユーザーの嗜好を判断することを防ぐことができる。
【０１０６】
なお、図２４に示したファイル属性チェック処理は、ファイル更新（すなわち視聴履歴情報の更新）の前に実行しているが、蓄積された視聴履歴情報のデータを読み出して利用する前に実行してもよい。
【０１０７】
実施の形態６．
本発明の実施の形態６では、同一ユーザーで嗜好に変化があった場合、番組の大幅な変更に伴って今までの視聴履歴がユーザーの嗜好を反映しなくなった場合、又はデジタル放送受信機の譲渡などに伴ってユーザーが変化した場合において、最新のユーザーの嗜好を正しく視聴履歴に反映させるため、それまでの視聴履歴を、ユーザーの意思によって削除できるようにしたものである。
【０１０８】
図２５は、実施の形態６のチャンネル制御部５上で動作するソフトウェアが実行する視聴履歴の削除処理を示すフローチャートである。視聴履歴削除処理において削除対象となるのは、全ての視聴履歴情報とチャンネルリストである。
【０１０９】
図２５に示した視聴履歴削除処理では、まずチャンネルリストを削除し（ステップＳ２３０）、次いで全ての視聴履歴情報を削除する（ステップＳ２３１，２３２）。更に、視聴履歴一時蓄積メモリ６上に保持されている更新サービスリストをクリアし（ステップＳ２３３）、視聴履歴一時蓄積メモリ６上に読み出していたチャンネルリストもクリアする（ステップＳ２３４）。
【０１１０】
この実施の形態６における視聴履歴削除処理は、ユーザーにより所定の操作（例えばリモコン８の所定のボタン操作）がなされた場合に実行されるが、内部データの破損が確認された場合に実行されるようにしてもよい。
【０１１１】
この実施の形態６によれば、最新のユーザーの嗜好を正しく視聴履歴に反映させることが可能になる。加えて、ユーザーが変わった場合、元のユーザーのプライベート情報を保護することが可能となる。また、チャンネルリストに復旧不可能な破損が発生した場合、チャンネルリストに依存して作成された視聴履歴も全て削除し、新たに作り直しすることで、チャンネルリストと視聴履歴の整合性を確保することができる。
【産業上の利用可能性】
【０１１２】
本発明は、例えば、デジタル放送の視聴履歴を蓄積して、今後ユーザーが視聴しそうな番組を推薦することができる装置に適用できる。
【図面の簡単な説明】
【０１１３】
【図１】この発明の実施の形態１に係る視聴履歴蓄積装置を含むデジタル放送受信機の構成を示すブロック図である。
【図２】この発明の実施の形態１においてエリア毎に管理される視聴履歴を示す図である。
【図３】この発明の実施の形態１における視聴履歴の一例を示す図である。
【図４】この発明の実施の形態１における視聴履歴の別の例を示す図である。
【図５】この発明の実施の形態１におけるチャンネルリストのデータ構造の一例を示す図である。
【図６】この発明の実施の形態１において蓄積される視聴履歴のデータ構造の一例を示す図である。
【図７】この発明の実施の形態１における視聴履歴蓄積処理の全体を示すフローチャートである。
【図８】この発明の実施の形態１におけるチャンネル変更通知受信処理を示すフローチャートである。
【図９】この発明の実施の形態１におけるタイマー通知受信処理を示すフローチャートである。
【図１０】この発明の実施の形態１におけるファイル更新処理を示すフローチャートである。
【図１１】この発明の実施の形態１における更新サービスリストの更新処理の例を示す図である。
【図１２】この発明の実施の形態１における視聴履歴蓄積装置のハードウェア構成例を示す図である。
【図１３】この発明の実施の形態２におけるジャンル視聴履歴の一例を示す図である。
【図１４】この発明の実施の形態２におけるジャンル視聴履歴の一例を示す図である。
【図１５】この発明の実施の形態２におけるジャンル視聴履歴のデータ構造の一例を示す図である。
【図１６】この発明の実施の形態２における視聴履歴蓄積処理の全体を示すフローチャートである。
【図１７】この発明の実施の形態２におけるジャンル変更通知受信処理を示すフローチャートである。
【図１８】この発明の実施の形態３に係る視聴履歴蓄積装置を含むデジタル放送受信機を示すブロック図である。
【図１９】この発明の実施の形態３における視聴履歴蓄積処理の全体を示すフローチャートである。
【図２０】この発明の実施の形態３におけるデジタル視聴開始／停止処理を示すフローチャートである。
【図２１】この発明の実施の形態４における視聴履歴蓄積処理の全体を示すフローチャートである。
【図２２】この発明の実施の形態４におけるチャンネルリスト更新通知受信処理を示すフローチャートである。
【図２３】この発明の実施の形態４におけるチャンネルリスト更新の一例を示す図である。
【図２４】この発明の実施の形態５におけるファイルの属性チェック処理を示すフローチャートである。
【図２５】この発明の実施の形態６における視聴履歴削除処理を示すフローチャートである。
【符号の説明】
【０１１４】
１  アンテナ、  ２  デジタル放送受信ユニット、  ３  表示装置、  ４  タイマー、  ５  チャンネル制御部、  ６  視聴履歴一時蓄積メモリ、  ７  リモコン受光部、  ８  リモコン、  ９  視聴履歴蓄積不揮発メモリ、  １０  分割された時間枠、  ６３  アンテナ、  ６４  アナログ放送受信ユニット、  ６５  外部入力受信ユニット。
【図１】
2007288298.tif 000003
【図２】
2007288298.tif 000004
【図３】
2007288298.tif 000005
【図４】
2007288298.tif 000006
【図５】
2007288298.tif 000007
【図６】
2007288298.tif 000008
【図７】
2007288298.tif 000009
【図８】
2007288298.tif 000010
【図９】
2007288298.tif 000011
【図１０】
2007288298.tif 000012
【図１１】
2007288298.tif 000013
【図１２】
2007288298.tif 000014
【図１３】
2007288298.tif 000015
【図１４】
2007288298.tif 000016
【図１５】
2007288298.tif 000017
【図１６】
2007288298.tif 000018
【図１７】
2007288298.tif 000019
【図１８】
2007288298.tif 000020
【図１９】
2007288298.tif 000021
【図２０】
2007288298.tif 000022
【図２１】
2007288298.tif 000023
【図２２】
2007288298.tif 000024
【図２３】
2007288298.tif 000025
【図２４】
2007288298.tif 000026
【図２５】
2007288298.tif 000027