以下、本発明の実施の形態を図面に基づき説明する。
図1は、本発明の一実施形態に係るビデオレコーダ1の構成を示した図である。このビデオレコーダ1は、設定された録画予約に従ってテレビジョン番組を受信して録画することが可能である。また、ビデオレコーダ1は、ユーザの操作に対応して録画したテレビジョン番組を再生し、その結果得られる映像信号及び音声信号をテレビジョン受像機等(図示せず)に出力する。更に、ビデオレコーダ1は、録画予約済番組の放送時刻の変更を検出し、その検出結果に基づいて録画予約データを変更する処理(以下、録画予約番組追跡処理という)や、録画予約番組に代わる新番組を検出してその検出結果に基づいて録画予約データを変更する処理(以下、新番組検出処理という)及び新番組検出処理で漏れた番組を時間枠に基づいて検出してその検出結果に基づいて録画予約データを変更する処理(以下、時間枠検出処理)を実行する。
図1に示すように、ビデオレコーダ1において、アナログチューナ11は、アナログの放送信号(例えば、地上アナログ放送信号、BSアナログ放送信号等)を受信し、その結果得られるテレビジョン番組の映像信号及び音声信号をアナログ・デジタル変換部(A/D)12に出力する。また、アナログチューナ11は、アナログの放送信号に含まれるEPGデータを受信し、バス16を介して制御部22に出力する。アナログ・デジタル変換部12は、アナログチューナ11から入力された映像信号及び音声信号を、デジタル信号に変換してCODEC14に出力する。
デジタルチューナ13は、デジタルの放送信号(例えば、地上デジタル放送信号、BSデジタル放送信号、CSデジタル放送信号等)を受信し、その結果得られるテレビジョン番組の映像及び音声を再生可能な符号化データをCODEC14、またはバス16を介して記憶部17に出力する。また、デジタルチューナ13は、デジタルの放送信号に含まれるEPGデータを受信し、バス16を介して制御部22に出力する。
CODEC14は、録画時において、アナログ・デジタル変換部12から入力されるデジタルの映像信号及び音声信号を、例えばMPEG2方式等に従って符号化し、その結果得られる符号化データを、バス16を介して記憶部17に出力する。また、CODEC14は、再生時において、記憶部17から読み出され、バス16を介して入力される符号化データをデコードし、その結果得られた映像信号及び音声信号を信号処理部15に出力する。なお、CODEC14は、アナログ・デジタル変換部12から入力されるデジタルの映像信号及び音声信号をそのまま信号処理部15に出力したり、デジタルチューナ13から入力される符号化データをデコードし、その結果得られた映像信号及び音声信号を信号処理部15に出力したりすることも可能である。
信号処理部15は、CODEC14から入力される映像信号及び音声信号に、所定の信号処理を施してテレビジョン受像機等のモニタ(図示せず)に出力する。また、信号処理部15は、OSD(On-Screen Display)18から入力される設定画面の映像信号に所定の信号処理を施し、テレビジョン受像機等に出力する。記憶部17は、例えばハードディスクやDVD、BD等の記録媒体に対してデータを記録し、また読み出すドライブから成り、CODEC14からバス16を介して入力される符号化データを記憶する。また、記憶した符号化データを読み出し、バス16を介してCODEC14に出力する。OSD18は、電子番組表等の録画予約を設定するための設定画面の映像信号を生成し、バス16を介して信号処理部15に出力する。
通信部19は、インターネット等のネットワーク(図示せず)を介して所定のサーバに接続し、EPGデータを取得する。操作入力部20は、例えばリモートコントローラや本体に設けられたボタン等からなり、ユーザからの操作に対応して操作信号を発生し、バス16を介して制御部22に出力する。制御部22は、記録媒体21に記録されている制御用プログラムに従い、操作入力部20からバス16を介して入力される操作信号に対応して、ビデオレコーダ1の各部を制御する。なお、制御部22には、アナログチューナ11またはデジタルチューナ13によって受信されたEPGデータ、あるいは通信部19によって取得されたEPGデータが保持されている。
図2は、制御部22の詳細な構成例を示した図である。録画予約設定部31は、例えば、EPGデータに基づいて上記モニタに表示される電子番組表を用いたユーザの操作に対応する操作信号に従い、テレビジョン番組の録画予約に関する録画予約データを生成して録画予約データ保持部32に出力する。なお、録画予約データには、録画する番組の放送チャンネル、放送日、放送開始時刻、放送終了時刻、番組長、番組タイトル等が含まれている。録画予約データに含まれる番組タイトルは、EPGデータから抽出したり、操作入力部20からユーザによって入力されたりしたものであり、ユーザが編集可能である。また、例えば、ユーザが放送チャンネルと放送開始時時刻と録画時間だけを入力して録画予約を設定したりした場合においては、当該録画予約に対応する番組タイトルが取得済のEPGデータから検出されて、録画予約データに追加される。
なお、EPGデータに記述されている番組タイトルは、必ずしも番組の正式な名称であるわけではなく、略称であったり、適宜短縮されたものであったりすることが多い。また、同一の番組であっても、ある時には正式名称で記載され、またある時には第1の略称で記載され、またあるときには第2の略称で記載される等、EPGデータが更新される毎に番組タイトルが変更されていることがある。本実施形態においてはこのような変更に対応することとしている。
録画予約設定部31は、録画予約変更部41からの要求に基づき、録画予約データ保持部32に保持されている録画予約データを変更する。
録画予約データ保持部32は、録画予約設定部31によって生成された録画予約データを保持する。録画制御部33は、録画予約データ保持部32に保持されている録画予約データに従ってテレビジョン番組の録画が実行されるように、ビデオレコーダ1の各部を制御する。また、録画制御部33は、録画が終了したときに、録画済みのテレビジョン番組に関する録画済データを生成して録画済データ保持部34に出力する。録画済データには、録画予約データと同様に、録画された番組の放送チャンネル、放送日、放送開始時刻、放送終了時刻、番組長、番組タイトル等が含まれている。録画済データ保持部34は、録画制御部33によって生成された録画済データを保持する。
タイトル取得部35は、後述する録画予約番組追跡処理において、録画予約データから番組タイトルを抽出して、番組検出部40のタイトル類似度算出部37に出力する。EPGデータ保持部36は、放送信号やネットワークを介して取得された最新のEPGデータを保持しており、タイトル類似度算出部37からの要求に対応して、テレビジョン番組の番組データ(番組タイトル、放送チャンネル、放送開始時刻、放送終了時刻、番組長等)を供給する。
番組検出部40は、上記タイトル類似度算出部37、新番組検出部38及び時間枠検出部39から構成される。
タイトル類似度算出部37は、最新のEPGデータから録画予約済番組に関する最新の情報(正確な放送時刻等)を取得するための、タイトル取得部35によって取得された録画予約済番組の番組タイトルと、EPGデータ保持部36から供給される、所定の条件(後述)を満たす番組の番組タイトルとの類似度を算出して、その算出結果を番組データと共に録画予約変更部41に出力する。また、タイトル類似度算出部37は、上記類似度算出の結果、類似の番組タイトルが検出されなかった場合に、類似度の算出に用いたEPGデータ中の番組データを新番組検出部38へ出力する。
新番組検出部38は、上記新番組検出処理において、上記番組データを基に、録画予約済番組に代わって放送される新番組を所定の条件(後述)の基に検出し、その検出結果を録画予約変更部41に出力する。また、新番組検出部38は、新番組が検出されなかった場合に、当該検出処理に用いた番組データを時間枠検出部39へ出力する。
時間枠検出部39は、上記新番組検出部38の補助的な役割を果たし、上記時間枠検出処理において、上記番組データを用いて、時間枠に関する所定の条件(後述)を基に、新番組検出部38による検出処理で漏れてしまった番組を検出し、検出結果を録画予約変更部41に出力する。
録画予約変更部41は、タイトル類似度算出部37、新番組検出部38及び時間枠検出部39からそれぞれ入力される算出結果及び検出結果と番組データに基づき、録画予約済番組の放送時刻の変更を検出し、録画予約設定部31に対して録画予約の変更を要求する。統制部42は、録画予約設定部31乃至録画予約変更部41を統括する。
次に、タイトル類似度算出部37における、タイトル取得部35によって抽出された番組タイトルと、EPGデータから取得される番組タイトルとの類似度の算出について説明する。当該類似度は、2つの番組タイトルのLCS(Longest Common Subsequence)の長さに基づき、LCS長が長いものほど類似度が高くなるように算出される。LCSとは、2つの番組タイトル間で1文字以上の文字列が同じ順序で出現した共通部分列をさす。
例えば、図3Aに示される番組タイトル「ABB」と図3Bに示される番組タイトル「AAB」とのLCS長を算出する場合、2つのタイトルを対応付けるパターンは図示するように4通り存在する。左側の第1のパターンでは、共通部分列Aと共通部分列Bが存在すると見なして、LCS長は2(=1+1)となる。その右隣の第2のパターンでも、共通部分列Aと共通部分列Bが存在すると見なして、LCS長は2(=1+1)となる。その右隣の第3のパターンでは、共通部分列ABが存在するとみなして、LCS長は2となる。その右隣の第4のパターンでは、共通部分列Aと共通部分列Bが存在すると見なして、LCS長は2(=1+1)となる。
このように、2つの番組タイトルの共通部分列を対応付けるパターンは複数存在することがあるが、そのLCS長は一意に定まることが知られている。ただし、2つの番組タイトルの類似度にLCS長をそのまま用いてしまうと以下のような問題が生ずる。
例えば、図4に示すように、異なる番組をそれぞれ指す番組タイトル「スズメ蜂の巣」と「今夜スタート 青の空」の共通部分列は「ス」と「の」であるので、LCS長は2(=1+1)となる。また例えば、図5に示すように、同一番組のタイトルである「水色定期便」と「水色」の共通部分列は「水色」であるので、LCS長は2となる。
図4と図5を比較して明らかなように、2つの番組タイトルの共通部分列が短く、特にLCS長が2程度となる場合、2つの番組が異なる場合(図4の場合)もあるし、同一番組である場合もある。このことは、即ち、2つの番組タイトルが同一の番組のものであるか否かの判定基準である類似度にLCS長を採用してしまうと、2つの番組タイトルの共通部分列が短くLCS長が2程度となる場合、2つの番組タイトルが同一の番組のものであるか否かの判断ができなくなってしまうという問題がある。
そこで、本実施形態においては、共通部分列が長いほど類似度が大きくなるように、類似度として共通部分列の長さの2乗和を採用することにする。以下、類似度を類似度LCS_sqとも記述する。この算出方法によれば、図4に示された、異なる番組をそれぞれ示す番組タイトル「スズメ蜂の巣」と「今夜スタート 青の空」の共通部分列は「ス」と「の」であるので、類似度LCS_sqは2(=12+12)となる。また、図5に示された同一番組のタイトルである「水色天国」と「水色」の共通部分列は「水色」であるので、類似度LCS_sqは4(=22)となる。このように、本発明に採用する類似度LCS_sqの算出方法によれば、例えば、図4の場合と図5の場合のように、LCS長が同じ値であっても、両者を差別化することができる。
ただし、単に、類似度として共通部分列の長さの2乗和を採用してしまうと、番組タイトル中のどこを共通部分列と見なすかによって類似度の値が変換してしまうので、類似度が一意に定まるように、番組タイトルの先頭側の共通部分列が最長となるパターンを採用し、類似度LCS_sqを算出することにする。例えば、図6に示すように同一番組を示すタイトル「中山正広の水曜スポーツ天国」とタイトル「中山正広のスポてん」では、共通部分列が「中山正広の」と「スポ」であるので、類似度LCS_sqは29(=52+22)となる。
なお、2つの番組タイトルの共通部分列の組み合わせの全てのパターンについて、共通部分列の長さの2乗和を算出し、その最大値を当該2つの番組タイトルの類似度LCS_sqとするようにしてもよい。
次に、以上のように構成されたビデオレコーダ1の動作について説明する。図7は、録画予約番組追跡処理、新番組検出処理及び時間枠検出処理の概要を示している。
例えば、同図(a)に示すように、毎週月曜日の21時から22時まで放送されるドラマXを録画予約していたとする。しかしながら、同図(b)に示すように、例えば、その3週間後のドラマXの放送が最終回であったりする場合、放送開始時刻が早められたり、番組長が延長されたりすることがある。このような放送時刻の変更等は、放送日までの日数に余裕がある場合(同図においては3週間)、その時点のEPGデータに反映されていないことがある。そして、放送日が近くなるほどより正確にEPGデータに反映されているはずである。
そこで、録画予約番組追跡処理では、録画予約番組の情報がEPGデータに正確に反映されていると思われる、録画予約番組放送日の直前(例えば1日前)になったとき、録画予約番組のタイトルを最新のEPGデータから検出し、録画予約に設定されている放送開始時刻等と、最新のEPGデータに記載されている放送開始時刻等とを比較し、その比較結果に基づいて録画予約データを変更するようにしている。
また、同図(c)に示すように、上記ドラマXの最終回の次週以降は、通常、ドラマXの毎週放送(クールA)が終了して、新番組であるドラマYの毎週放送(クールB)の初回が放送される。この場合、ドラマYのタイトルはドラマXのタイトルとは異なるタイトルが付されている。しかし、上述したように、上記録画予約番組追跡処理では録画予約番組のタイトルを最新のEPGデータから検出して録画予約データを変更しているため、ドラマXは追跡できても、ドラマYは追跡できない。
そこで、新番組検出処理及び時間枠検出処理では、当該新番組を検出して、当該新番組を録画するよう録画予約データを変更するようにしている。また、同図(c)に示すように、ドラマYのような新番組の初回も、上記ドラマXの最終回と同様に、通常の放送時間帯に比べて時間長が延長されたり、放送開始時刻や放送終了時刻がずれて放送されたりする場合がある。よって新番組検出処理及び時間枠検出処理においては、このような時間長や放送開始時刻等の変更にも対応して録画予約データを変更できるようにしている。
なお、ビデオレコーダ1において上記録画予約番組追跡処理、新番組検出処理及び時間枠検出処理を実行するか否かは、ユーザが操作入力部20を介して例えば各処理のオン/オフを選択することで設定することが可能となっている。
以下、録画予約番組追跡処理、新番組検出処理及び時間枠検出処理についてより詳細に説明する。図8は、ビデオレコーダ1の動作の大まかな流れを示したフローチャートである。なお、本処理を開始するトリガとしては、例えば、ユーザにより予約録画情報の登録及び修正が行われたとき、ビデオレコーダ1が新しいEPGデータを受信したとき、特定の時刻(例えば0:00AM)になったとき、録画予約番組追跡処理又は新番組検出処理の実行のオン/オフをユーザが変更したとき等、ユーザ操作や制御部22に対する所定の通知があった場合が挙げられる。
同図に示すように、ビデオレコーダ1の制御部22は、まず録画予約番組追跡処理を実行し(ステップ51)、当該処理において番組が検出できた場合(ステップ51のYES)には、制御部22は、当該検出結果に基づいて、録画予約変更部41により録画予約データを変更して終了する(ステップ57)。
録画予約番組追跡処理において番組が検出(追跡)できなかった場合(ステップ51のNO)、制御部22は、新番組検出処理に移る(ステップ53)。当該新番組検出処理において新番組が検出できた場合(ステップ54のYES)、制御部22は、当該検出結果に基づいて、上記録画予約変更部41により録画予約データを変更して終了する(ステップ57)。
このとき、制御部22の新番組検出部38は、新番組の初回分の放送のみならず、2話目以降の放送も定期的に録画するように録画予約データを変更させるために、録画予約変更部41を介して録画予約設定部31に設定させることも可能である。この変更以降は、上記録画予約番組追跡処理により、2話目以降の放送開始時刻や時間長等が変更されることがあっても、安定して新番組の録画を行うことができる。新番組の定期録画予約を行うか否かは、新番組が検出されたタイミングで、操作入力部20を介してユーザに選択させるようにしても構わない。
新番組検出処理において新番組が検出できなかった場合(ステップ54のNO)、制御部22は、時間枠検出処理へ移る(ステップ55)。詳細は後述するが、本処理においては、制御部22は、録画予約番組の録画開始/終了時刻が同一、もしくは僅かにずれている番組の検出を行う。本処理において新番組が検出できた場合(ステップ56のYES)、制御部22は、上記検出結果に基づいて、録画予約変更部41により録画予約データを変更して終了する(ステップ57)。
上記録画予約番組追跡処理、新番組追跡処理及び時間枠検出処理のいずれの処理によっても番組が検出できなかった場合(ステップ56のNO)には、録画予約データの変更は行わずに終了する。この場合、当初の録画予約通りに録画が行われる。しかし、この場合、制御部22は、ユーザが希望する場合(操作入力部20から入力があった場合)には、検出されなかったこの回の録画のみ行わない(スキップする)ように録画予約データを変更しても構わない。スキップした回の次回の放送予定日以降は、上記録画予約番組追跡処理、新番組検出処理及び時間枠検出処理が行われる。これにより、ユーザの意図しない番組が無駄に録画されてしまうことを防ぐことができる。
以下、上記録画予約番組追跡処理、新番組検出処理及び時間枠検出処理の各処理を詳細に説明する。まず、上記録画予約番組追跡処理の詳細について説明する。図9は、当該録画予約番組追跡処理の流れを示したフローチャートである。
同図に示すように、まず、タイトル類似度算出部37は、EPGデータ保持部36から、処理対象の録画予約データに記載されている放送日、チャンネルがそれぞれ同じであって、録画予約データに記載されている録画開始時刻の所定の時間(例えば、1時間)前から、録画予約データに記載されている録画終了時刻の所定の時間(例えば、1時間)後までの範囲に放送される全ての番組の番組データを取得する(ステップ61)。
続いて、統制部42は、ステップ61の処理で取得された全ての番組データに注目したか否かを判定する(ステップ62)。全ての番組データに注目していないと判定された場合(ステップ62のNO)、統制部42は、ステップ61の処理で取得された全ての番組データのうち、未注目の1つの番組データに注目する(ステップ63)。
次に、タイトル類似度算出部37は、注目した番組データに記載されている番組長が処理対象の録画予約データに記載された番組長の所定の閾値T(例えば、25%)以下であるか否かを判定する(ステップ64)。所定の閾値T以下であると判定された場合(ステップ64のYES)、ステップ62に戻り、それ以降の処理が繰り返される。
ステップ64において、所定の閾値T以下ではないと判定された場合(NO)、タイトル類似度算出部37は、処理対象の録画予約データに記載されている番組タイトルと、注目されている番組データに記載されている番組タイトルにタイトル前処理を行う(ステップ65)。なお、処理対象の録画予約データに記載されている番組タイトルに対して既にタイトル前処理を行っている場合にはそれを省略する。
ここで、タイトル前処理とは、外字の除去、特殊文字の除去、特殊外字の変換、およびサブタイトルの除去からなる。
外字の除去では、番組タイトルから、EPGデータが更新される毎に変更されたり省略されたりしやすく、番組を特定する上で意味の薄い文字、例えば、"新"、"終"などを除去する。
特殊文字の除去では、番組を特定する上で意味の薄い特殊文字、例えば、"!"、"1"などを除去する。
特殊外字の変換では、番組を特定する上で意味のある特殊外字、例えば、"[映]"を、それぞれ、外字ではない通常の文字"映"に変換する。
サブタイトルの除去では、例えば、番組タイトル"金曜日サスペンス「温泉殺人事件」"のうち、"「温泉殺人事件」"のように、放送回ごとに異なる可能性が高いサブタイトルを除去する。
ステップ66において、タイトル類似度算出部37は、タイトル前処理が施された、処理対象の録画予約データに記載されている番組タイトルと、注目されている番組データに記載されている番組タイトルとの類似度LCS_sqを算出する。続いてステップ67において、タイトル類似度算出部37は、算出した類似度LCS_sqが所定の閾値M(例えば、4)以上であるか否かを判定する。算出した類似度LCS_sqが所定の閾値M以上ではないと判定された場合(ステップ67のNO)、ステップ62に戻り、それ以降の処理が繰り返される。
ステップ67において算出した類似度LCS_sqが所定の閾値M以上であると判定された場合(YES)、処理はステップ68に進む。ステップ68において、タイトル類似度算出部37は、算出した類似度LCS_sqを注目されている番組データとともに録画予約変更部41に出力する。録画予約変更部41は、タイトル類似度算出部37から入力された番組データが、上位2傑として現在保持している番組データ(TMP1,2)よりも、上位2傑に適しているか否かを判定し、上位2傑に適していると判定した場合、タイトル類似度算出部37から入力される番組データで上位2傑の一方を更新する。反対に、上位2傑に適していないと判定された場合、タイトル類似度算出部37から入力される番組データは破棄される。
ここで、当該上位2傑の選択処理について詳細に説明する。図10は、上位2傑の選択処理の流れを示したフローチャートである。
同図に示すように、まず、録画予約変更部41は、タイトル類似度算出部37から入力された注目されている番組データの類似度LCS_sqと、現在の最上位として保持されている番組データTMP1の類似度LCS_sqとを比較する(ステップ81)。ステップ81において、タイトル類似度算出部37から入力された注目されている番組データの類似度LCS_sqが、現在の最上位として保持されている番組データTMP1の類似度LCS_sqよりも大きいと判定された場合(YES)、処理はステップ84へ進む。
ステップ84において、録画予約変更部41は、タイトル類似度算出部37から入力された注目されている番組データを新たに最上位の番組データTMP1にし、現在の最上位として保持されている番組データを2番目の番組データTMP2に降格して、この上位2傑選択処理を終了する。
ステップ81において、タイトル類似度算出部37から入力された注目されている番組データの類似度LCS_sqが、現在の最上位として保持されている番組データTMP1の類似度LCS_sqと等しいと判定された場合(Same)、ステップ82の処理へ進む。
ステップ82において、録画予約変更部41は、処理対象の録画予約データに記載された放送開始時刻とタイトル類似度算出部37から入力された注目されている番組データに記載された放送開始時刻との差と、処理対象の録画予約データに記載された放送開始時刻と現在の最上位として保持されている番組データTMP1に記載された放送開始時刻との差を比較する。
ステップ82において、処理対象の録画予約データに記載された放送開始時刻とタイトル類似度算出部37から入力された注目されている番組データに記載された放送開始時刻との差が、処理対象の録画予約データに記載された放送開始時刻と現在の最上位として保持されている番組データTMP1に記載された放送開始時刻との差よりも小さいと判定された場合(YES)、上記ステップ34の処理が行われる。
ステップ82において、処理対象の録画予約データに記載された放送開始時刻とタイトル類似度算出部37から入力された注目されている番組データに記載された放送開始時刻との差が、処理対象の録画予約データに記載された放送開始時刻と現在の最上位として保持されている番組データTMP1に記載された放送開始時刻との差と等しいと判定された場合(Same)、処理はステップ83に進む。
ステップ83において、録画予約変更部41は、処理対象の録画予約データに記載された番組長とタイトル類似度算出部37から入力された注目されている番組データに記載された番組長との差と、処理対象の録画予約データに記載された番組長と現在の最上位として保持されている番組データTMP1に記載された番組長との差を比較する。なお、番組長が記載されていない場合には、放送開始時刻と放送終了時刻から番組長が算出される。以降の説明においても同様とする。処理対象の録画予約データに記載された番組長とタイトル類似度算出部37から入力された注目されている番組データに記載された番組長との差が、処理対象の録画予約データに記載された番組長と現在の最上位として保持されている番組データTMP1に記載された番組長との差よりも小さいと判定された場合、上記ステップ84の処理が行われる。
ステップ83において、処理対象の録画予約データに記載された番組長とタイトル類似度算出部37から入力された注目されている番組データに記載された番組長との差が、処理対象の録画予約データに記載された番組長と現在の最上位として保持されている番組データTMP1に記載された番組長との差よりも小さくないと判定された場合、処理はステップ85に進む。なお、ステップ82の処理において放送開始時刻に着目し、ステップ83の処理において番組長に着目しているように、放送開始時刻の変更の少なさを番組長の変更の少なさよりも優先しているのは、例えば、番組の最終回等において放送開始時刻が変更されることは少なく、番組長が変更されることが多いことに起因する。
ステップ81において、タイトル類似度算出部37から入力された注目されている番組データの類似度LCS_sqが、現在の最上位として保持されている番組データTMP1の類似度LCS_sqよりも小さいと判定された場合、あるいは、ステップ82において、処理対象の録画予約データに記載された放送開始時刻とタイトル類似度算出部37から入力された注目されている番組データに記載された放送開始時刻との差が、処理対象の録画予約データに記載された放送開始時刻と現在の最上位として保持されている番組データTMP1に記載された放送開始時刻との差よりも大きいと判定された場合にも、処理はステップ85に進む。
ステップ85において、録画予約変更部41は、タイトル類似度算出部37から入力された注目されている番組データの類似度LCS_sqと、現在の最上位から2番目として保持されている番組データTMP2の類似度LCS_sqとを比較する。タイトル類似度算出部37から入力された注目されている番組データの類似度LCS_sqが、現在の最上位から2番目の番組データTMP2の類似度LCS_sqよりも大きいと判定された場合、処理はステップ88に進む。
ステップ88において、録画予約変更部41は、タイトル類似度算出部37から入力された注目されている番組データを新しい最上位から2番目の番組データTMP2として、この上位2傑選択処理を終了する。
ステップ85において、タイトル類似度算出部37から入力された注目されている番組データの類似度LCS_sqが、現在の最上位から2番目の番組データTMP2の類似度LCS_sqと等しいと判定された場合、処理はステップ86に進む。
ステップ86において、録画予約変更部41は、処理対象の録画予約データに記載された放送開始時刻とタイトル類似度算出部37から入力された注目されている番組データに記載された放送開始時刻との差と、処理対象の録画予約データに記載された放送開始時刻と現在の最上位から2番目の番組データTMP2に記載された放送開始時刻との差を比較する。処理対象の録画予約データに記載された放送開始時刻とタイトル類似度算出部37から入力された注目されている番組データに記載された放送開始時刻との差が、処理対象の録画予約データに記載された放送開始時刻と現在の最上位から2番目の番組データTMP2に記載された放送開始時刻との差よりも小さいと判定された場合、ステップ88の処理が行われる。
ステップ86において、処理対象の録画予約データに記載された放送開始時刻とタイトル類似度算出部37から入力された注目されている番組データに記載された放送開始時刻との差が、処理対象の録画予約データに記載された放送開始時刻と現在の最上位から2番目の番組データTMP2に記載された放送開始時刻との差と等しいと判定された場合、処理はステップ87に進む。
ステップ87において、録画予約変更部41は、処理対象の録画予約データに記載された番組長とタイトル類似度算出部37から入力された注目されている番組データに記載された番組長との差と、処理対象の録画予約データに記載された番組長と現在の最上位から2番目の番組データTMP2に記載された番組長との差を比較する。処理対象の録画予約データに記載された番組長とタイトル類似度算出部37から入力された注目されている番組データに記載された番組長との差が、処理対象の録画予約データに記載された番組長と現在の最上位から2番目の番組データTMP2に記載された番組長との差よりも小さいと判定された場合、ステップ88の処理が行われる。
ステップ87において、処理対象の録画予約データに記載された番組長とタイトル類似度算出部37から入力された注目されている番組データに記載された番組長との差が、処理対象の録画予約データに記載された番組長と現在の最上位から2番目の番組データTMP2に記載された番組長との差よりも小さくないと判定された場合、この上位2傑選択処理は終了される。
なお、ステップ85において、タイトル類似度算出部37から入力された注目されている番組データの類似度LCS_sqが、現在の最上位から2番目の番組データTMP2の類似度LCS_sqよりも小さいと判定された場合、あるいは、ステップ86において、処理対象の録画予約データに記載された放送開始時刻とタイトル類似度算出部37から入力された注目されている番組データに記載された放送開始時刻との差が、処理対象の録画予約データに記載された放送開始時刻と現在の最上位から2番目の番組データTMP2に記載された放送開始時刻との差よりも大きいと判定された場合にも、この上位2傑選択処理は終了される。
なお、上述した上位2傑選択処理と同様の処理により、上位N傑を選択することも可能であり、上位2傑選択処理の代わり上位N傑選択処理を適用するようにしてもよい。
図9の説明に戻り、上記ステップ68における上位2傑選択処理の後、処理はステップ62に戻り、それ以降の処理が繰り返される。そしてステップ62において、全ての番組データに注目したと判定された場合、処理はステップ69に進む。
なお、上位2傑選択処理では、番組データの上位2傑TMP1,2(最上位の番組データTMP1、および2番目の番組データTMP2)が選択されるが、ステップ67の処理で算出された類似度LCS_sqが所定の閾値TH4よりも小さい場合、上位2傑TMP1,2が選択されない、あるいは、最上位の番組データTMP1だけしか選択されていないことも起こり得る。
そこで、ステップ69において、録画予約変更部41は、上位2傑TMP1,2が存在するか否か、すなわち、ステップ68の上位2傑選択処理で上位2傑TMP1,2が選択されたか否かを判定する。上位2傑TMP1,2が存在しないと判定された場合、ステップ70に進み、上位1傑TMP1が存在するか否かが判定される。ステップ70において、上位1傑TMP1が存在しないと判定された場合、モード2の処理は終了される。すなわち、処理対象の録画予約データは変更されない。
ステップ70において、上位1傑TMP1が存在すると判定された場合、処理はステップ71に進む。ステップ71において、録画予約変更部41は、上位1傑TMP1に基づいて処理対象の録画予約データを変更する。以上で録画予約番組追跡処理は終了される。
ステップ69において、上位2傑TMP1,2が存在すると判定された場合、処理はステップ72に進む。ステップ72において、録画予約変更部41は、処理対象の録画予約データに記載された放送開始時刻と最上位の番組データTMP1に記載された放送開始時刻との差と、処理対象の録画予約データに記載された放送開始時刻と2番目の番組データTMP2に記載された放送開始時刻との差を比較する。処理対象の録画予約データに記載された放送開始時刻と最上位の番組データに記載された放送開始時刻との差が、処理対象の録画予約データに記載された放送開始時刻と2番目の番組データTMP2に記載された放送開始時刻との差よりも小さいと判定された場合、ステップ71の処理が行われる。
ステップ72において、処理対象の録画予約データに記載された放送開始時刻と最上位の番組データTMP1に記載された放送開始時刻との差が、処理対象の録画予約データに記載された放送開始時刻と2番目の番組データTMP2に記載された放送開始時刻との差と等しいと判定された場合、処理はステップ73に進む。
ステップ73において、録画予約変更部41は、処理対象の録画予約データに記載された番組長と最上位の番組データTMP1に記載された番組長との差と、処理対象の録画予約データに記載された番組長と2番目の番組データTMP2に記載された番組長との差を比較する。処理対象の録画予約データに記載された番組長と最上位の番組データに記載された番組長との差が、処理対象の録画予約データに記載された番組長と2番目の番組データTMP2に記載された番組長との差よりも小さいと判定された場合、ステップ71の処理が行われる。
ステップ73において、処理対象の録画予約データに記載された番組長と最上位の番組データTMP1に記載された番組長との差が、処理対象の録画予約データに記載された番組長と2番目の番組データTMP2に記載された番組長との差よりも小さくないと判定された場合、処理はステップ74に進む。ステップ74において、録画予約変更部41は、2番目の番組データTMP2に基づいて処理対象の録画予約データを変更する。以上で録画予約番組追跡処理は終了される。
なお、ステップ72において、処理対象の録画予約データに記載された放送開始時刻と最上位の番組データTMP1に記載された放送開始時刻との差が、処理対象の録画予約データに記載された放送開始時刻と2番目の番組データTMP2に記載された放送開始時刻との差よりも大きいと判定された場合、ステップ73はスキップされ、ステップ74の処理が行われる。
次に、新番組検出処理の詳細について説明する。上述したように、当該新番組検出処理は、上記録画予約番組追跡処理において録画予約番組が検出されなかった場合に行われる処理である。図11は、当該新番組検出処理の流れを示したフローチャートである。
同図に示すように、まず、新番組検出部38は、EPGデータ保持部36から、処理対象の録画予約データに記載されている放送日、チャンネルがそれぞれ同じであって、録画予約データに記載されている録画開始時刻の所定の時間(例えば、1時間)前から、録画予約データに記載されている録画終了時刻の所定の時間(例えば、1時間)後までの範囲に放送される全ての番組の番組データを取得する(ステップ91)。
続いて、統制部42は、ステップ91の処理で取得された全ての番組データに注目したか否かを判定する(ステップ92)。ステップ92において、全ての番組データに注目していないと判定された場合(NO)、統制部42は、ステップ91の処理で取得された全ての番組データのうち、未注目の1つの番組データに注目する(ステップ93)。
ステップ94において、新番組検出部38は、注目した番組データに記載されている番組長が処理対象の録画予約データに記載された番組長の所定の閾値(例えば、25%)以下であるか否かを判定する。ステップ94において所定の閾値以下であると判定された場合(YES)、ステップ92に戻り、それ以降の処理が繰り返される。すなわち、注目した番組の番組長が、録画予約番組の番組長よりも極端に短い場合には、新番組の検出対象から除外する。なお、新番組の放送長が録画予約番組の放送長に比べて長くなることは大いにありえるため、そのような場合には検出対象から除外することはしない。
ステップ94において、所定の閾値以下ではないと判定された場合(NO)、ステップ95において、新番組検出部38は、注目した番組データに記載されているタイトル中に、新番組を示すキーワード(以下、新番組キーワードという)が含まれているか否かを判定する。ここで新番組キーワードとは、例えば、EPGデータ中にいわゆる外字として含まれる、<新>、(新)、[新]等の文字列が挙げられる。なお、ここで単純に"新"という一文字を検出するだけでは、例えば"新しい""新井"等の文字を含む番組等、新番組とはいえない意図しない番組を検出してしまうおそれがあるため、あくまで括弧記号等を含めた文字列の形で検索を行う。ステップ95において新番組キーワードが含まれない場合(NO)には、新番組の検出対象から除外し、ステップ92へ戻ってそれ以降の処理が繰り返される。
ステップ94において新番組キーワードが含まれている場合(YES)、ステップ96において、新番組検出部38は、注目した番組データに記載されているジャンル情報が、処理対象の録画予約データに記載されたジャンル情報と類似しているか否かを判定する。
ここでジャンル情報の類似判定には、さまざまな基準を用いることができる。通常、番組に付与されるジャンルは、例えばドラマ番組であれば、「ドラマ・国内ドラマ」、「ドラマ・海外ドラマ」等、メインジャンル+サブジャンルの形式となる。またスポーツ番組であれば、「スポーツ・サッカー」、「スポーツ・野球」といった形式となる。また、サブジャンルは1つだけに限られず、例えば「スポーツ・サッカー・海外サッカー」等、2つ以上のサブジャンルが存在する場合もある。新番組検出部38は、メインジャンルが一致していれば両者は「類似」とみなすようにしてもよいし、最下位のサブジャンルまで完全に一致する場合のみ「類似」とみなすようにしてもよい。更に、スポーツニュース番組のように、スポーツとニュースという2つのジャンルを有する番組も存在する。このような番組についても、1つでも一致するジャンルがあれば「類似」とみなすようにしてもよいし、全てのジャンルが完全に一致する場合にのみ「類似」とみなすようにしてもよい。また、これらの類似判定基準をユーザにより選択させるようにしても構わない。
更に、ジャンルを限定することで、新番組の検出対象とする番組を制限することもできる。例えば、クール放送となる番組はドラマやアニメ等のジャンルの番組が多いため、これらのジャンルに限定することで、誤検出を防ぐこともできる。対象とするジャンルはユーザによって選択させるようにしてもよい。
ステップ96においてジャンル情報が類似していた場合(YES)、新番組検出部38は、ステップ97において当該注目番組をTMP候補に追加して、ステップ92以降の処理を繰り返す。一方ステップ96においてジャンル情報が類似しない場合(NO)には、新番組の検出対象から除外し、ステップ92へ戻ってそれ以降の処理が繰り返される。
上記処理を繰り返し、ステップ92において、統制部42が、全ての番組に注目したと判定した場合(YES)には、ステップ98に進む。ステップ98において、新番組検出部38は、TMP候補の数を調べる。
ステップ98において、TMP候補番組が1個であると判定された場合、新番組検出部38は、当該1個のTMP候補番組を新番組として検出して(ステップ100)新番組検出処理を終了する。またステップ98において、TMP候補番組が0個であると判定された場合には、新番組検出部38は、新番組を検出せずに終了する。
ステップ98において、TMP候補番組が2個以上あると判定された場合には、時間制約ルールによりTMP候補番組の絞り込みを行い(ステップ99)、ステップ100に進んで当該絞り込んだ1個のTMP候補番組を新番組と検出して終了する。
ここで、当該時間制約ルールによる絞込み処理の詳細について説明する。図12は、当該時間制約ルールによる絞込み処理の流れを示したフローチャートである。
同図に示すように、まず、新番組検出部38は、上記2個以上のTMP候補番組の中から、暫定として一のTMP候補番組を取り出して最優先番組とし、残りのTMP候補番組について一つずつ注目していく(ステップ101)。
続いて、統制部42は、ステップ101の処理で取得された全てのTMP候補番組に注目したか否かを判定する(ステップ102)。ステップ102において、全てのTMP候補番組に注目していないと判定された場合(NO)、統制部42は、ステップ101の処理で取得された全てのTMP候補番組のうち、未注目の1つのTMP候補番組に注目し(ステップ103)、ステップ104に進む。ステップ102において、全てのTMP候補番組に注目したと判定された場合には、その時点における最優位番組を新番組として検出して(ステップ109)、終了する。
ステップ104において、新番組検出部38は、注目したTMP候補番組の放送開始時刻と、録画予約データ中の録画予約番組の録画開始時刻との時間差(以下、時間差Aという)を算出する。続いて新番組検出部38は、ステップ105において、上記最優位番組の放送開始時刻と録画予約番組の録画開始時刻との時間差(以下、時間差Bという)を算出し、上記時間差Aが時間差Bに比べて小さいか否かを判定する。
ステップ105において、時間差Aが時間差Bよりも小さいと判定された場合(YES)、新番組検出部38は、当該注目したTMP候補番組を現状の最優位番組に代えて最優位番組として(ステップ108)、ステップ102の処理へ戻り、以降の処理を繰り返す。
ステップ105において、時間差Aが時間差Bよりも大きいと判定された場合(NO)、新番組検出部38は、当該注目されたTMP候補番組は検出対象から除外して、ステップ102の処理へ戻り、以降の処理を繰り返す。
ステップ105において、時間差Aが時間差Bと同じであると判定された場合(Same)、新番組検出部38は、ステップ106において、注目したTMP候補番組の放送長と、録画予約データ中の録画予約番組の放送長との時間差(以下、時間差Cという)を算出する。続いて新番組検出部38は、ステップ107において、上記最優位番組の放送長と録画予約番組の放送長との時間差(以下、時間差Dという)を算出し、上記時間差Cが時間差Dに比べて小さいか否かを判定する。
ステップ107において、時間差Cが時間差Dよりも小さいと判定された場合(YES)、新番組検出部38は、当該注目したTMP候補番組を現状の最優位番組に代えて最優位番組として(ステップ108)、ステップ102の処理へ戻り、以降の処理が繰り返される。
ステップ107において、時間差Cが時間差Dよりも大きいと判定された場合(NO)、新番組検出部38は、当該注目されたTMP候補番組は検出対象から除外して、ステップ102の処理へ戻り、以降の処理を繰り返す。
ステップ107において、時間差Cが時間差Dと同じであると判定された場合(Same)、新番組検出部38は、ステップ110へ進み、注目されたTMP候補番組の放送開始時刻が最優位番組の放送開始時刻よりも早いか否かを判定する。
ステップ110においてTMP候補番組の方が、放送開始時刻が早いと判定された場合(YES)、新番組検出部38は、当該注目したTMP候補番組を現状の最優位番組に代えて最優位番組として(ステップ108)、ステップ102の処理へ戻り、以降の処理を繰り返す。一方、ステップ110において、最優位番組の方が、放送開始時刻が早いと判定された場合(NO)、新番組検出部38は、最優位番組を更新せず、ステップ102の処理へ戻り、以降の処理を繰り返す。
この時間制約ルールによる絞込み処理により、録画予約番組に開始時刻が近い番組が新番組として検出され、また開始時刻の近さが同じ番組が複数存在する場合には、その中でも放送長が録画予約番組に近い番組ものが新番組として検出され、更に、放送長が同じ番組が存在する場合には、その中でも先に放送される番組が新番組として検出される。
以上の新番組検出処理により新番組が検出された場合には、当該検出結果に基づいて、録画予約変更部41により上記最新のEPGデータを基に当該新番組を録画するように録画予約データが変更される。
次に、時間枠検出処理の詳細について説明する。上述したように、この時間枠検出処理は、上記新番組検出処理において新番組が検出されなかった場合に行われる処理である。図13は、当該時間枠検出処理の流れを示したフローチャートである。
同図に示すように、まず、時間枠検出部39は、EPGデータ保持部36から、処理対象の録画予約データに記載されている放送日、チャンネルがそれぞれ同じであって、録画予約データに記載されている録画開始時刻の所定の時間(例えば、1時間)前から、録画予約データに記載されている録画終了時刻の所定の時間(例えば、1時間)後までの範囲に放送される全ての番組の番組データを取得する(ステップ111)。
続いて、統制部42は、ステップ111の処理で取得された全ての番組データに注目したか否かを判定する(ステップ112)。ステップ112において、全ての番組データに注目していないと判定された場合(NO)、統制部42は、ステップ111の処理で取得された全ての番組データのうち、未注目の1つの番組データに注目する(ステップ113)。なお、当該注目は、放送開始時刻が早い番組順に行われる。
ステップ114において、時間枠検出部39は、注目した番組データに記載されている放送開始時刻と、録画予約番組の放送開始時刻との時間差(以下、時間差Eという)を算出し、当該時間差Eが所定の閾値N分以内(ちょうどN分の場合も含む)であるか否かを判定する。
ここで閾値Nは、録画予約番組の放送長の1/2または固定値S(分)のうち小さい値が選択される。例えば固定値S=5分、録画予約番組の放送開始時刻が10:00〜10:05(放送長=5分)であれば、閾値Nは2.5分となる。また、固定値S=5分、録画予約番組の放送開始時刻が10:00〜11:00(放送長=1時間)であれば、閾値Nは5分となる。
ステップ114において、時間差Eが閾値N分以内でない場合(NO)には、時間枠検出部39は、注目番組を検出対象から除外し、ステップ112の処理へ戻り、以降の処理を繰り返す。
ステップ114において、時間差Eが閾値N分以内である場合(YES)には、時間枠検出部39は、更にステップ115において、注目した番組データに記載されている放送終了時刻と、録画予約番組の放送終了時刻との時間差(以下、時間差Fという)を算出し、当該時間差Fが上記閾値N分以内(ちょうどN分の場合も含む)であるか否かを判定する。閾値Nの決定方法は上記ステップ114の場合と同様である。
ステップ115において、時間差Eが閾値N分以内でない場合(NO)には、時間枠検出部39は、注目番組を検出対象から除外し、ステップ112の処理へ戻り、以降の処理を繰り返す。
ステップ115において、時間差Eが閾値N分以内である場合(YES)には、当該注目番組を新番組として検出して(ステップ116)終了する。
以上の時間枠検出処理により、上記新番組検出処理において検出から漏れた新番組が検出され、当該検出結果に基づいて録画予約データが変更される。
以上説明したように、本実施形態によれば、上記録画予約番組追跡処理により、定期録画対象の番組の放送時刻等の変更に対応して記録予約時刻を変更可能であるとともに、上記新番組検出処理及び時間枠検出処理により、定期録画対象の番組が終了して新番組が放送された場合においても、当該新番組を漏れなく記録するよう予約することが可能となる。
なお、本発明は上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
上述の実施形態においては、定期録画対象の番組が終了した場合に、新番組を検出して当該新番組を録画予約するようにしていた。しかし、図14に示すように、ドラマXのクール放送が終了した後に、すぐに次のドラマYのクール放送が開始されずに、ドラマXの最終回とドラマYの初回との間の週にスペシャル番組が放送されることがある。そこで、上記番組検出部40は、新番組のみならず当該スペシャル番組も検出して録画予約するようにしても構わない。この場合、上記番組検出部40は、例えば、上記時間枠検出処理において、検出対象から漏れた番組をスペシャル番組として検出して、録画予約変更部41を介して当該スペシャル番組を録画予約するように録画予約設定部31に設定させればよい。
またこのとき、録画予約番組のチャンネルと異なるチャンネルにおいて、録画予約番組の放送時間帯以降の時間帯に録画予約が入っている場合が考えられる。この場合、無制限にスペシャル番組を録画してしまうと、当該他の録画予約に基づく録画を阻害してしまうおそれがある。そこで、番組検出部40は、上記録画予約番組の時間帯以降の所定の時間帯(例えば半日)に、他のチャンネルにおいて録画予約番組があるか否かを検出して、他のチャンネルにおいて録画予約番組がない場合には上記スペシャル番組を放送終了まで録画するよう録画予約データを変更しても構わない。
上述の実施形態においては、本発明をビデオレコーダに適用した例を説明したが、例えばPC等の他の機器にも同様に適用することができる。また、上記記憶部17のような記録手段を有さずに、受信した番組をビデオレコーダやPCへ転送することが可能なネットワーク機器(チューナ装置)に対して本発明を適用することも可能である。
また、上述の実施形態においては、番組はデジタル放送またはアナログ放送の放送波を介して放送されるものであったが、放送波を介さず、例えばIPTVサービスにおける番組のように、インターネット等のネットワークを介して送信されるものであっても構わない。