(57)【要約】【課題】番組情報が用意されたメモリより多くなった場合にも、システムを破綻させることなく最適な状態で情報を管理することができる番組情報データベース及び番組記録再生装置を提供する。【解決手段】ＥＰＧデータベースは、番組情報を記憶するメモリ領域１０を一定のサイズに分割する複数のセル１と、複数のセル１をリスト状に接続するリスト構造を有し、番組情報２を登録する際、番組情報２を優先順位を付けた情報（番組名３，番組内容４，契約情報５）に分け、この優先順位を付けた番組名３，番組内容４及び契約情報５を、セル１に順次割り当てて格納する。【選択図】  図１
2004201238.tif 000002
【特許請求の範囲】
【請求項１】
番組情報をメモリ領域に記憶し、該メモリ領域の内容を管理する番組情報データベースであって、
前記メモリ領域は、該メモリ領域を一定のサイズに分割する複数のセルと、該セルをリスト状に接続するリスト構造を有し、
番組情報を登録する際、前記番組情報を優先順位を付けた情報に分け、
前記優先順位を付けた情報を、前記セルに順次割り当てて格納することを特徴とする番組情報データベース。
【請求項２】
前記番組情報は、番組名、番組内容、又は契約情報の少なくともいずれか１つを含んで構成されることを特徴とする請求項１記載の番組情報データベース。
【請求項３】
前記優先順位は、番組名、番組内容、契約情報の順であることを特徴とする請求項１記載の番組情報データベース。
【請求項４】
前記番組情報を格納するセルの数を可変とすることを特徴とする請求項１記載の番組情報データベース。
【請求項５】
前記複数のセルに格納された番組情報をリスト状に接続することを特徴とする請求項１記載の番組情報データベース。
【請求項６】
前記セルは、次のセルの位置情報を記憶する次セル位置記憶手段を備え、任意のセルが次のセルを指すことで番組情報をリスト状に接続することを特徴とする請求項１又は５に記載の番組情報データベース。
【請求項７】
前記次セル位置記憶手段は、
第１の番組情報を格納するセルの、終端のセルの次セル位置情報に、第２の番組情報を格納するセルの、先頭のセルの位置情報を記憶することを特徴とする請求項６記載の番組情報データベース。
【請求項８】
前記番組情報を時間順に並べ替え、該並べ替えた時間順に前記セルに格納することを特徴とする請求項１記載の番組情報データベース。
【請求項９】
前記次セル位置記憶手段は、先頭のセル以外のセルの位置情報を記憶することを特徴とする請求項６記載の番組情報データベース。
【請求項１０】
さらに、先頭のセルの位置情報を管理する先頭セル管理手段を備えることを特徴とする請求項１記載の番組情報データベース。
【請求項１１】
前記番組情報は、サービス番号を含んでおり、
前記サービス番号に基づいて前記セルに格納される番組情報を管理するサービス番号管理手段をさらに備えることを特徴とする請求項１記載の番組情報データベース。
【請求項１２】
前記サービス番号管理手段は、前記サービス番号順に番組情報を並べ替え、該並べ替えた順に前記セルに格納することを特徴とする請求項１１記載の番組情報データベース。
【請求項１３】
前記次セル位置記憶手段は、前記サービス番号毎の番組情報の先頭のセルの位置情報を記憶することを特徴とする請求項６又は１１に記載の番組情報データベース。
【請求項１４】
前記番組情報は、イベント番号を含んでおり、
前記イベント番号に基づいて前記セルに格納される番組情報を管理するイベント番号管理手段をさらに備えることを特徴とする請求項１記載の番組情報データベース。
【請求項１５】
前記イベント番号管理手段は、前記イベント番号順に番組情報を並べ替え、該並べ替えた順に前記セルに格納することを特徴とする請求項１４記載の番組情報データベース。
【請求項１６】
前記次セル位置記憶手段は、前記イベント番号毎の番組情報の先頭以外のセルの位置情報を記憶することを特徴とする請求項６又は１４に記載の番組情報データベース。
【請求項１７】
番組情報をセルに追加登録する際、メモリが確保できない場合に、セルを削除することを特徴とする請求項１記載の番組情報データベース。
【請求項１８】
番組情報をセルに追加登録する際、前記優先順位の上位の情報を優先してセルに追加し、又は前記優先順位のより下位の情報を格納するセルから削除することを特徴とする請求項１記載の番組情報データベース。
【請求項１９】
前記優先順位の最上位の情報は、番組基本情報と番組名であり、前記番組基本情報と番組名は、最優先でセルに追加するとともに、前記番組基本情報と番組名を格納するセルの削除は最後にすることを特徴とする請求項１記載の番組情報データベース。
【請求項２０】
さらに、番組情報に使用されていないセルの空リストを作成し、前記空リストを用いて番組情報をセルに格納することを特徴とする請求項１記載の番組情報データベース。
【請求項２１】
前記複数のセルに格納された番組情報をリスト状に接続するリスト構造は、双方向に検索可能であることを特徴とする請求項１記載の番組情報データベース。
【請求項２２】
前記情報の検索は、セル毎、又はイベント毎に行うことを特徴とする請求項２１記載の番組情報データベース。
【請求項２３】
前記イベント毎に行う情報の検索は、２分探索であることを特徴とする請求項２１又は２２に記載の番組情報データベース。
【請求項２４】
時間検索、イベント番号検索、双方向検索、２分探索等の複数の検索手段を有し、使用条件により検索手段を選択することを特徴とする請求項１記載の番組情報データベース。
【請求項２５】
番組の放送を受信する受信手段と、受信した放送信号から番組情報とストリームデータを分離する番組情報分離手段と、前記分離した番組情報を記録する番組情報データベースと、前記分離したストリームデータを記録・再生する記録再生手段とを備える番組記録再生装置において、
前記番組情報データベースは、請求項１乃至２４のいずれか一項に記載の番組情報データベースであることを特徴とする番組記録再生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、テレビジョン放送の番組情報等を管理する番組情報データベース及び番組記録再生装置に関する。
【０００２】
【従来の技術】
近年、テレビジョン放送もアナログ放送からデジタル放送に急速に移行している。このデジタル放送では、アナログ放送に比べて多チャンネル化が図られると同時に、受信機での番組選択に必要な情報（番組情報）をサービス情報として番組と共に伝送している。ユーザは、この番組情報を受信機の表示画面に表示し、放送番組の確認、視聴予約、録画予約等に利用することができる。
【０００３】
番組情報又は番組表データ送出手段を持つ放送においては、番組の放送信号に多重化されて番組付帯情報が放送される。送出される番組表・番組情報提示用の番組付帯情報は、現在時刻以降の数日分（ＢＳ／ＣＳデジタル放送では１週間分）の番組情報であり、番組表を表示する場合、現在時刻を開始点として数日分の番組情報を番組表として表示することができる。そのため、従来の放送番組記録再生装置においては、現在時刻から数日分先の番組情報を番組表によって確認することができた。
【０００４】
また、デジタル放送受信機において、デジタル放送開始当初は１ネットワークの放送のみを受信していたため番組情報を格納する不揮発性メモリを含むメモリ領域には十分な余地があった。現在、デジタル放送にかかわらず番組情報を受信機で閲覧可能になっており、衛星デジタル放送受信機においてもＢＳのみではなくＣＳ１、ＣＳ２の複数ネットワークの番組情報を受信することが可能となっている。
【０００５】
これに伴い番組情報として管理する番組数も大幅に増え、受信機によっては当初予定していた情報量を超え、搭載しているメモリではすべての番組を記憶できないといった事態を引き起こしている。
【０００６】
また、特許文献１には、セルと呼ぶ一定サイズのメモリの塊をリスト状に接続していることを基本とし、メッセージを削除するために、削除したいメッセージが存在するかどうかを確認する際に、個々のセルに使用フラグを持たせ削除したいセルのみ確認することで、セルの空リストに全検索をかけずに、そのセルにメッセージが存在するかどうかを判定するメッセージバッファ領域管理装置が開示されている。
【０００７】
【特許文献１】
特開平３−２３８５４４号公報（図１）
【０００８】
【発明が解決しようとする課題】
しかしながら、このような従来のデータ領域管理装置にあっては、番組情報が全て入ると予想されるサイズのメモリ領域を確保することで情報の管理を行っている構成であったため、番組情報が予想されたメモリ領域より多い場合は、このシステムでは情報の欠損や、システムの破壊を引き起こしてしまう可能性がある。このメモリ不足を解消するアプローチとして、メモリ利用の効率化を行う必要がある。
【０００９】
本発明は、このような課題に鑑みてなされたものであって、番組情報が用意されたメモリより多くなった場合にも、システムを破綻させることなく最適な状態で情報を管理することができる番組情報データベース及び番組記録再生装置を提供することを目的としている。
【００１０】
また、本発明は、メモリ不足を解消するアプローチとして、メモリ利用の効率化を図ることが可能な番組情報データベース及び番組記録再生装置を提供することを目的としている。
【００１１】
【課題を解決するための手段】
本発明の番組情報データベースは、番組情報をメモリ領域に記憶し、該メモリ領域の内容を管理する番組情報データベースであって、前記メモリ領域は、該メモリ領域を一定のサイズに分割する複数のセルと、該セルをリスト状に接続するリスト構造を有し、番組情報を登録する際、前記番組情報を優先順位を付けた情報に分け、前記優先順位を付けた情報を、前記セルに順次割り当てて格納することを特徴としている。
【００１２】
前記番組情報は、番組名、番組内容、又は契約情報の少なくともいずれか１つを含んで構成されるものであってもよく、前記優先順位は、番組名、番組内容、契約情報の順であることが好ましい。
【００１３】
このように構成された本発明の番組情報データベースによって、番組情報の優先順位を付けた追加や削除が可能になる。これにより、メモリが不足した状態で番組情報を追加する際に、追加したい番組情報よりも未来の番組であったり、既に放送が終了していたりといった、新規に登録したい番組情報より優先順位が低い情報を優先的に削除するシステムを構築することができる。また、追加する情報においても、優先順位の低い番組の登録を抑制することができる。
【００１４】
また、番組情報を登録する際にセルと称する一定のメモリサイズを持つ領域に分割することで、セルのサイズを番組情報の最大値で設定した場合は、１番組の情報を減らすこと無く登録することが可能というメリットを生む。逆に、セルのサイズを小さく取れば１番組の情報量が少なければ使用するセル数も少なくなるので消費するメモリ量も少なくなり、登録可能な番組数が増加することとなる。
【００１５】
また、前記番組情報を格納するセルの数を可変とするので、例えば１番組を構成するセル数を可変とすることで、メモリに余裕がある場合は番組情報を全て格納できるだけのセル数を番組毎に割り当てておき、メモリに余裕が無くなってきた場合は１番組に使用するセル数を減らすことが可能になり、セル数を固定にした時より登録可能な番組数を増やすことができる。
【００１６】
また、前記複数のセルに格納された番組情報をリスト状に接続する。一例を挙げれば、前記セルは、次のセルの位置情報を記憶する次セル位置記憶手段を備え、任意のセルが次のセルを指すことで番組情報をリスト状に接続する構成としている。すなわち、セルがリスト状に接続されていなければ、１番組の情報を複数のセルで構成した場合、１番組の分割されたセルを隣接したメモリに配置する、もしくはセルの場所を記録しておく領域を設定する等の手段を取らないと同一番組を構成するセルであることを示すことができない。本発明の番組情報データベースは、セルをリスト状に並べることで、１番組の情報を格納したセルが必ずしも隣接していなくても同一番組の構成セルであることを知ることが可能になり、検索の際にも先頭のセルさえ指定できればその後に続く全ての番組情報を見つけることができる。
【００１７】
また、前記次セル位置記憶手段は、第１の番組情報を格納するセルの、終端のセルの次セル位置情報に、第２の番組情報を格納するセルの、先頭のセルの位置情報を記憶することで、複数のセルで構成された番組情報をリスト状に追加したり削除したりする場合の検索効率を高めることができる。すなわち、番組情報を複数のセルで構成しリスト状に接続したとしても、各々の番組情報を取得するためには番組毎の先頭のセルを探し出す際に、全てのメモリを検索することになりかねない。本発明の番組情報データベースは、各々の番組をリスト状に接続し、先頭の番組情報から検索をかけていけば、番組情報が登録されている部分でのみ検索を行うことが可能となるため検索の効率が上がる。
【００１８】
また、前記番組情報を時間順に並べ替え、該並べ替えた時間順に前記セルに格納することで、番組情報がリスト状に接続されている場合において、目的の番組を探し出す場合に時間順に並んでいれば、目的の時間の番組情報がデータベースに存在しない場合も、リスト内の番組情報の時間が、目的の時間より未来の時間のものであれば、それ以降のリストには目的の番組情報が存在しないことが自明であるため、無駄な検索を行う必要が無くなる。
【００１９】
また、前記次セル位置記憶手段は、先頭のセル以外のセルの位置情報を記憶する。一例を挙げると、先頭のセルの位置情報を管理する先頭セル管理手段を備える構成としてもよい。本発明の番組情報データベースは、複数のセルのリストで構成されている番組情報を時間順にリスト状に接続する際に、リストの先頭以外のセルの登録位置情報を登録しておくことで、リストの検索をその位置から始めることが可能になる。検索したい番組の時間が判っている場合は、先頭以外に登録してあるセルの情報と比較し、そのセルより未来の情報であれば先頭以外のセルから検索を行うことで高速な検索が可能になる。
【００２０】
また、前記番組情報は、サービス番号を含んでおり、前記サービス番号に基づいて前記セルに格納される番組情報を管理するサービス番号管理手段をさらに備えることで、番組情報を検索する際にはサービスとイベント、もしくはサービスと時間を特定する必要がある場合、番組情報がリスト状に並んだだけでは全番組情報を検索しなくてはならないが、サービス毎に並んでいれば目的のサービスのリストを検索すれば良いため検索時間の短縮に繋がる。
【００２１】
また、前記サービス番号管理手段は、前記サービス番号順に番組情報を並べ替え、該並べ替えた順に前記セルに格納することで、特定のイベントを探し出すために番組情報を検索する際に、サービス毎に並んでいれば目的のサービスのリストのみを検索すれば良い。ここで目的のサービスが存在しない場合、サービスがサービス番号順に並んでいれば、目的のサービスより番号が大きいサービスのリストは検索する必要が無くなり検索時間の短縮に繋がる。
【００２２】
また、前記次セル位置記憶手段は、前記サービス番号毎の番組情報の先頭のセルの位置情報を記憶することで、特定のイベントを探し出すために番組情報を検索する際に、目的のサービスに番組情報の先頭セルが登録されているかどうかを確認し、登録されていればそこから番組情報の検索を始めれば良い。また、サービス毎の登録がサービス番号順に並んでいれば、目的のサービスより番号が大きいサービスのリストは検索する必要が無くなり、さらなる検索時間の短縮に繋がる。
【００２３】
また、前記番組情報は、イベント番号を含んでおり、前記イベント番号に基づいて前記セルに格納される番組情報を管理するイベント番号管理手段をさらに備える。一例を挙げると、前記イベント番号管理手段は、前記イベント番号順に番組情報を並べ替え、該並べ替えた順に前記セルに格納するこで、イベントを検索する場合はサービス番号とイベント番号で検索するが、イベントが登録されているサービスが存在し、そのサービス内の番組情報を検索する場合に、イベント番号で並べておけば、目的のイベントよりもイベント番号が大きいイベントの検索をする必要が無くなり、検索に無駄が無くなる。
【００２４】
また、前記次セル位置記憶手段は、前記イベント番号毎の番組情報の先頭以外のセルの位置情報を記憶することで、リストの検索をその位置から始めることが可能になる。検索したい番組のイベント番号が判っている場合は、先頭以外に登録してあるセルの情報と比較し、そのセルよりイベント番号が大きい情報であれば先頭以外のセルから検索を行うことで高速な検索が可能になる。
【００２５】
また、番組情報をセルに追加登録する際、メモリが確保できない場合に、セルを削除することで、新規のイベントを追加登録する際にメモリに追加登録可能な空き領域が存在しない場合に、セルを削除することでメモリを確保することができる。番組情報をデータベースに追加していけば、いつかはメモリが不足する。メモリが不足した状態で番組情報を追加しようとしても番組情報は追加できないが、セルで構成された番組情報リストからセルを削除することによって、新規の情報を登録するメモリを確保することができる。
【００２６】
また、番組情報をセルに追加登録する際、前記優先順位の上位の情報を優先してセルに追加し、又は前記優先順位のより下位の情報を格納するセルから削除することで、メモリが不足した状態で番組情報のセルを追加する際に、追加したい番組情報よりも未来の番組であったり、既に放送が終了していたりといった、新規に登録したい番組情報より優先順位が低い情報を優先的に削除することができる。また追加する情報についても、番組情報中に優先度の低い情報が含まれている場合は、番組情報中からそのセルのみを取り除いた形で追加することで優先順位の低い番組の登録を抑制することができる。
【００２７】
また、前記優先順位の最上位の情報は、番組基本情報と番組名であり、前記番組基本情報と番組名は、最優先でセルに追加するとともに、前記番組基本情報と番組名を格納するセルの削除は最後にする。すなわち、セル毎の優先順位を付けた追加や削除を行う際に、ネットワークＩＤ、サービスＩＤ、イベントＩＤ、番組開始終了時間等の番組の基本となる情報と、番組名の優先順位を高くする、つまり番組の基本となる情報と番組名だけは最低でも情報として参照できるようにする。番組情報中に優先度の低い情報が含まれている場合は、番組情報中からそのセルのみを取り除いた形で追加するが、その際に番組情報内から番組基本情報と番組名は削除されることはない。
【００２８】
さらに、番組情報に使用されていないセルの空リストを作成し、前記空リストを用いて番組情報をセルに格納することで、全メモリ領域をリスト化することを特徴とする。番組情報を格納するために利用可能なメモリのうち、番組情報が登録されていない部分に関してもセルとし空リストを作成する。これにより番組情報が一切登録されていない初期状態では、全ての領域が一本の空リストとなる。場組を登録する際にこの空リストからセルを切り取り番組情報を登録し、番組情報を削除する際には空リストに番組情報のセルを登録することで、登録時にメモリの空き領域を探す手間を省くことができ、さらにメモリの効率の良い利用が可能になる。
【００２９】
また、前記複数のセルに格納された番組情報をリスト状に接続するリスト構造は、双方向に検索可能であることで、片方向のみの検索しかできないリストの場合は、常に先頭から検索する必要があるが、双方向の検索が可能なリストの場合は、リストの途中であっても双方向に移動が可能であるため、番組情報の登録を行う際に毎回先頭から検索する必要が無くなる。
【００３０】
また、前記情報の検索は、セル毎、又はイベント毎に行うことで、セルのリストは基本的にはセル単位で検索を行うが、番組情報を登録してあるセルのリストにおいてイベント単位での検索を可能とすることで高速に検索を行うことが可能になる。
【００３１】
また、前記イベント毎に行う情報の検索は、２分探索であることで、検索の際に２分探索を行うことでリストが長くなればなるほど、先頭からリスト内の情報を検索していくのに対し計算量が減る。
【００３２】
また、時間検索、イベント番号検索、双方向検索、２分探索等の複数の検索手段を有し、使用条件により検索手段を選択することで、番組情報の検索は様々な条件で行われるため、検索方法自体を時間検索、イベント番号検索、双方向検索、２分探索等の検索を複数準備しておくことで、条件により最適な検索を行うことが可能になる。
【００３３】
本発明の番組記録再生装置は、番組の放送を受信する受信手段と、受信した放送信号から番組情報とストリームデータを分離する番組情報分離手段と、前記分離した番組情報を記録する番組情報データベースと、前記分離したストリームデータを記録・再生する記録再生手段とを備える番組記録再生装置において、前記番組情報データベースは、請求項１乃至２４のいずれか一項に記載の番組情報データベースであることを特徴としている。
【００３４】
【発明の実施の形態】
以下、添付図面を参照しながら本発明の好適な番組情報データベース及び、番組情報データベースを用いた番組記録再生装置の実施の形態について詳細に説明する。
【００３５】
第１の実施の形態
図１は、本発明の第１の実施の形態のＥＰＧ（Electrical Program Guide：電子番組ガイド）データベースのリスト構造を示す図である。
図１において、１０は番組情報を記憶するＥＰＧデータベース（番組情報データベース）のメモリ領域であり、メモリ領域を一定のサイズで分割した複数のセル１をリスト状に接続したリスト構造により番組情報２を記憶する。
【００３６】
本実施の形態では、複数（ここでは６個）のセル１をリスト状に接続したリスト構造のメモリ領域に対して１つの番組情報２が記憶される。また、１つの番組情報２は、番組名３、番組内容４及び契約情報５に分割されてそれぞれ複数（ここでは２個ずつ）のセル１に記憶される。
【００３７】
図中のセル１内の左端の数値（[]で表す）は、説明のための便宜上記した通し番号であり、セル１毎にこのような数値が付されているのではない（以下の説明においてセル内の左端の[]で表す数値についてはすべて同様）。
【００３８】
ところで、現在ＢＳデジタル放送、１１０度ＣＳデジタル放送において、ＥＰＧを表示するための番組情報がイベント情報テーブル（Event Infomation Table、以後ＥＩＴと称する）という番組配列情報（Service Infomation、以後ＳＩと称する）で伝送されている。放送受信装置では、このＥＩＴを解析し番組情報を管理することで各種番組に対する情報表示等を行う。本ＥＰＧデータベースを備える放送受信装置の適用例については、図１２により後述する。
【００３９】
ここでは１つの番組に対する番組情報２が図１に示すように、番組名３、番組内容４及び契約情報５で構成されているものとする。この番組情報２をセル１と呼ばれる一定サイズのメモリ領域に分割して格納する。図１では、番組情報２の番組名３がセル[１１]及び[１２]、番組内容４がセル[１３]及び[１４]、契約情報５がセル[１５]及び[１６]にそれぞれ分割して格納される。
【００４０】
このように、１つの番組情報２が各情報（番組名３、番組内容４及び契約情報５）に分割され、分割された情報が複数のセル１に分割格納されるので、番組情報２を割り当てるメモリ領域の情報量を減らすことが可能になり、限られたメモリにより多くの情報を格納することができる。また逆に、１つの番組に対する番組情報２のＳＩ情報を全て格納できるようにすれば、限られたメモリでより詳細な番組情報を提供することが可能となる。このセル１はメモリ上では必ずしも隣り合って配置されている必要は無いため、空いているメモリ領域を有効に利用することが可能である。
【００４１】
以上のように、本実施の形態のＥＰＧデータベースは、番組情報を記憶するメモリ領域１０を一定のサイズに分割する複数のセル１と、複数のセル１をリスト状に接続するリスト構造を有し、番組情報２を登録する際、番組情報２を優先順位を付けた情報（番組名３，番組内容４，契約情報５）に分け、この優先順位を付けた番組名３，番組内容４及び契約情報５を、セル１に順次割り当てて格納するので、メモリ利用の効率化を図ることによって番組情報が用意されたメモリより多くなった場合にも、システムを破綻させることなく最適な状態で情報を管理することができる。
【００４２】
すなわち、従来の衛星デジタル放送受信機において、開始当初はＢＳデジタル放送のみを受信していたため番組情報を格納する不揮発性メモリを含むメモリ領域には十分な余地があった。現在、デジタル放送にかかわらず番組情報を受信機で閲覧可能になっており、衛星デジタル放送受信機においてもＢＳのみではなくＣＳ１、ＣＳ２の複数ネットワークの番組情報を受信することが可能となっている。これに伴い番組情報として管理する番組数も大幅に増え、受信機によってはメモリ不足の事態を引き起こしている。従来の技術では、番組情報が全て入ると予想されるサイズのメモリ領域を確保することで情報の管理を行っていた。しかし、番組情報が予想されたメモリ領域より多い場合は、このシステムでは情報の欠損や、システムの破壊を引き起こしてしまう可能性がある。このメモリ不足を解消するアプローチとして、メモリ利用の効率化を行う必要がある。
【００４３】
本発明の番組情報データベースにおいて、優先順位を付けた番組情報の追加や削除が可能であるので、メモリが不足した状態で番組情報を追加する際に、追加したい番組情報よりも未来の番組であったり、既に放送が終了していたりといった、新規に登録したい番組情報より優先順位が低い情報を優先的に削除するシステムを構築することができる。また追加する情報においても、番組情報の優先度が低い情報である場合は、データベースに登録しないことで優先順位の低い番組の登録を抑制することができる。
【００４４】
また、番組情報を登録する際にセルと称する一定のメモリサイズを持つ領域に分割することで、セルのサイズを番組情報の最大値で設定した場合は、１番組の情報を減らすこと無く登録することが可能というメリットを生む。逆にセルのサイズを小さく取れば１番組の情報量が少なければ使用するセル数も少なくなるので消費するメモリ量も少なくなり、登録可能な番組数が増加する効果を得ることができる。
【００４５】
なお、特許文献１に記載の装置は、メッセージバッファの技術であり、番組情報のためのデータベースではない。また、特許文献１に記載の装置は、メッセージを削除するために、削除したいメッセージが存在するかどうかを確認する際に、個々のセルに使用フラグを持たせ削除したいセルのみ確認することで、セルの空リストに全検索をかけずに、そのセルにメッセージが存在するかどうかを判定するもので、特定のメッセージに対するセルが特定されている場合にのみ有効である。これに対し、本発明の番組情報データベースは、メモリの有効利用を前提としたシステムであるため、番組情報の格納場所のセルを特定しない。
【００４６】
第２の実施の形態
図２は、本発明の第２の実施の形態のＥＰＧデータベースのリスト構造を示す図であり、図１と同一構成部分には同一符号を付している。図２（ａ）は、図１と同一である。
【００４７】
ＥＩＴの内容は番組によって様々である。１つの番組に対する番組情報２は図２（ａ）に示すように、番組名３が２セル、番組内容４が２セル、契約情報５が２セルで構成されている場合もあれば、図２（ｂ）に示すように番組名３が１セル、番組内容４が２セル、契約情報は無しで構成されている場合もある。
【００４８】
このように、番組情報２の各情報を複数のセル１に記憶することで、１つの番組情報を固定のメモリ領域に割り当てた場合と比べて、番組毎に使用するセルの数を変更することが可能になり、メモリを使用する量を適切に変更することができる。したがって、無駄なメモリ領域が発生しにくいため、同じメモリ量でより多くの番組情報を格納することが可能となる。
【００４９】
第３の実施の形態
第１及び第２の実施の形態において、番組情報２を複数のセル１で構成した場合、そのセルがどの番組に対する番組情報を格納しているのかを判別可能にする必要がある。例えば、１つの番組の番組情報を構成するセルを、最初は番組名、次は番組内容、最後は契約情報といったように決まった順番と決まったセル数で隣り合わせに置いておけば、ある番組に属しているセルを判定することは可能である。しかし、番組を構成するセルの数を可変にした場合は、ある番組を配置しておいた場所に、別の番組を配置する際に必ずしも番組を構成する全セルが格納可能であるとは限らない。一例を挙げると、連続した領域で４セルを使用している番組情報を削除し、同じ領域に番組情報を追加しようと思った場合、４セル以上の番組情報は登録できない可能性が出てくる。また、別の手法として番組毎のセルの場所を登録しておくという方法も考えられるが、その情報を確保する場所が必要である上に、番組毎のセルの場所を管理するシステムが必要となる。さらに、セル毎に番組情報を一意に判定可能な番組番号や等の情報を登録しておくという方法も採れるが、全セルに番組番号を登録する必要がありメモリの無駄であるばかりか、全メモリ領域を検索しないと番組情報が揃わないというデメリットを持つ。
本実施の形態では、番組情報を構成するセルをリスト状に接続する場合、セルがどの番組情報を格納しているのか判別できるようにする例である。
【００５０】
図３は、本発明の第３の実施の形態のＥＰＧデータベースのリスト構造を示す図であり、番組情報＜１＞と番組情報＜２＞を登録する場合の、セルのリスト構造とメモリ配置の例を示す。
【００５１】
図３（ａ）（ｂ）において、１はメモリ領域を一定のサイズで分割した複数のセル、２は複数（ここでは６個）のセル１をリスト状に接続したリスト構造のメモリ領域に記憶される番組情報＜１＞及び番組情報＜２＞である。番組情報＜１＞の番組名がセル[１１]及び[１２]、番組内容がセル[１３]及び[１４]、契約情報がセル[１５]及び[１６]にそれぞれ分割して格納され、番組情報＜２＞の番組名がセル[２１]及び[２２]、番組内容がセル[２３]及び[２４]、契約情報がセル[２５]及び[２６]にそれぞれ分割して格納される。
【００５２】
さらに、セル１は、次セルの位置を指し示す次セル位置情報を記憶する。次セル位置は、アルファベットと数字の組み合わせ（Ｅ２，Ｃ３，Ｊ４，…）により図３（ｃ）に示すメモリ内配置６に記憶されたセル位置を指定する。
【００５３】
図３（ｃ）に示すメモリ内配置６は、セル位置の数値を記憶するメモリであり、ここではＡ〜Ｋと番号１〜５により番組情報＜１＞及び番組情報＜２＞のセル１の位置を記憶する。
【００５４】
図３では、番組情報＜１＞の先頭のセル[１１]をＡ１とし、Ａ１のセルが次のセル[１２]の位置情報Ｅ２を指し、次のセル[１２]が同様にセル[１３]を指すことでリストを形成する。最終のセル[１６]は自分自身の位置Ｅ４を指すことで自分自身が終端のセルであることを示す。また、番組情報＜２＞は、先頭のセル[２１]をＢ４に格納し、先頭のセル[２１]が次のセル[２２]の位置情報Ｇ１を指し、次のセル[２２]が同様にセル[２３]を指すことでリストを形成する。最終のセル[２６]は自分自身の位置Ｆ５を指すことで自分自身が終端のセルであることを示す。
【００５５】
本実施の形態では、セル１に、アルファベットと数字の組み合わせ（Ｅ２，Ｃ３，Ｊ４，…）による次セル位置情報を設ける例を示したが、これは説明の便宜上であって実際には、セル１に、前記次セル位置情報として物理的なアドレス（又は配列に分けたメモリアドレス）が記憶される。セル１の個数は、１０万個以上になる可能性があることを想定している。したがって、図３（ｃ）に示すメモリ内配置６は、メモリの物理的な配置を示しており、この図３（ｃ）に示すようなメモリの物理アドレスで指定されるセル毎の記憶領域に、番組情報を優先順位により分けた情報が所定サイズで記憶されることになる。また、図３（ｃ）に示すように、メモリ領域を有効に利用できるような次セル位置情報のアドレスを指定することが好ましい。
【００５６】
このように番組情報＜１＞＜２＞をセル１のリストに記憶した場合、番組毎の先頭のセルからリストを辿っていけば、自ずと番組毎のセルが一塊で存在するので、全体に検索をかけて情報を取得するよりも効率の良い情報検索が行える。また、別途先頭のセルの場所を登録しておくことで、検索の際にその領域だけを検索すればよくなる。終端セルも自分自身を指すことで終端のセルであることを表現するだけでなく、終端のセルであることを示す数値ＦＦ等を記述することで終端セルを表現することも考えられる。また、先頭セルの前にダミーヘッド、終端セルの次にダミーテイルと呼ばれる、番組情報とは関係の無い、先頭セルと終端セルを示すためのセルを挿入する方法も考えられる。さらに、番組情報にその番組が何セルで構成されているのかを登録しておくことでも番組情報を構成することが可能である。
【００５７】
図３（ｃ）のメモリ内配置６に示すように、１つの番組を構成するセルが隣り合っている必要は無いため、番組を再配置する際にセルを登録する場所が無いために登録ができないという不具合は、メモリ領域が足りなくなった場合にしか発生しない。このため、効率の良いメモリの利用が見込める効果がある。
【００５８】
このように、本実施の形態によれば、１番組を構成するセル数を可変とすることで、メモリに余裕がある場合は番組情報を全て格納できるだけのセル数を番組毎に割り当てておき、メモリに余裕が無くなってきた場合は１番組に使用するセル数を減らすことを可能にすることで、セル数を固定にした時より登録可能な番組数を増やすことができる。
【００５９】
第４の実施の形態
第３の実施の形態で説明したように、１つの番組の情報を構成するセルをリスト状に並べるシステムを検索する場合も、目的の番組情報の先頭セルが登録されていない場合には、メモリの使用率にかかわらずメモリ全体の検索を行わないと目的の番組が登録されていないことを確認できない。これは、番組情報をセルで構成しない時も同様である。本実施の形態は、メモリ全体の検索を行うことなく番組情報が登録されている部分で検索を行うことができるようにする例である。
【００６０】
図４は、本発明の第４の実施の形態のＥＰＧデータベースのリスト構造を示す図であり、番組情報＜１＞と番組情報＜２＞を登録する場合の、セルのリスト構造とメモリ配置の例を示す。図３と同一構成部分には、同一符号を付している。
本実施の形態では、図４に示すように、番組情報自体もリスト化して追加、もしくは削除可能にする。
【００６１】
例えば、番組情報＜１＞の後に番組情報＜２＞を追加する場合は、番組情報＜１＞の最後のセル[１６]が番組情報＜２＞の先頭セル[２１]を指し示すように、番組情報＜１＞の最後のセル[１６]の次セル位置にＢ４を登録する（図４（ｃ）Ｂ４参照）。ここでは最初の番組情報の先頭セルをＡ１から始めることとする。番組情報の追加は、追加したい番組の直線の番組情報の最終セルの次セル位置情報に、追加したい番組の先頭セル位置を登録し、追加したい番組の最終セルの次セル位置情報に前の番組情報の最終セルの次セル位置情報に登録されていたセル位置情報を登録することで可能となる。また、削除する場合には、削除したい番組の直前の番組情報の最終セルの次セル位置情報に、削除したい番組の最終セルの次セル位置情報を登録するだけで良い。この例では先頭のセルをＡ１としているが、別途先頭のセルの場所を登録することで、先頭セルの位置を固定ではなく運用することも考えられる。終端セルも自分自身を指すことで終端のセルであることを表現するだけでなく、終端のセルであることを示す数値ＦＦ等を記述することで終端セルを表現することも考えられる。また、先頭セルの前にダミーヘッド、終端セルの次にダミーテイルと呼ばれる、番組情報とは関係の無い、先頭セルと終端セルを示すためのセルを挿入する方法も考えられる。図４に示すように先頭のセルから検索を行えば登録している全セルを検索することになる。
これにより番組情報が実際に入っている部分しか検索しないので、番組情報が存在しなくても、リストのみを検索すれば良いことになり、計算量が少なくなる。
【００６２】
このように、本実施の形態によれば、セルをリスト状に並べることで、１番組の情報を格納したセルが必ずしも隣接していなくても同一番組の構成セルであることを知ることが可能になり、検索の際にも先頭のセルさえ指定できればその後に続く全ての番組情報を見つけることができる。
【００６３】
第５の実施の形態
第４の実施の形態では、番組情報自体もリスト状に並べることで、番組情報が登録されていない部分を検索することはなくなるが、目的の時間の番組情報がデータベースに存在しない場合は、リストを最後まで検索しないと番組情報が存在しないことが判らない。本実施の形態は、目的の時間の番組情報がデータベースに存在しない場合であってもメモリ全体の検索を行うことがないようにする例である。
【００６４】
図５は、本発明の第５の実施の形態のＥＰＧデータベースのリスト構造を示す図であり、番組情報＜１＞〜＜３＞を登録する場合の、セルのリスト構造とメモリ配置の例を示す。図４と同一構成部分には、同一符号を付している。
【００６５】
番組情報を時間順に並べる場合を考える。図５に示すように、番組情報＜１＞（２００２年７月２８日１９時３０分〜２００２年７月２８日２０時００分）、番組情報＜２＞（２００２年７月２８日２０時００分〜２００２年７月２８日２０時５４分）、番組情報＜３＞（２００２年７月２９日００時３０分〜２００２年７月２９日４時３０）の順に並べる。番組情報の検索を行う場合に、例えば２００２年７月２８日２０時３０分に放送されている番組の情報を取得するとすると、当然番組情報＜２＞を取得することとなる。別の番組情報、例えば２００２年７月２８日２２時３０分に放送されている番組の情報を取得するとすると、番組情報＜２＞は指定の時間より前の番組であり、番組情報＜３＞は指定の時間より後の番組である。時間順に並んでいることが保証されているので、希望する番組情報は番組情報＜２＞と番組情報＜３＞の間の番組であり、リストには登録されていないということが判る。
【００６６】
このように番組情報を時間順に並べることで、番組情報がリストに登録されていない状態でもリストの最後まで検索を行う必要がなくなる。すなわち、番組情報を複数のセルで構成しリスト状に接続したとしても、各々の番組情報を取得するためには番組毎の先頭のセルを探し出す際に、全てのメモリを検索することになりかねない。本実施の形態では、各々の番組をリスト状に接続し、先頭の番組情報から検索をかけていけば、番組情報が登録されている部分でのみ検索を行うことが可能となるため検索の効率を上げることができる。
【００６７】
第６の実施の形態
第５の実施の形態は、時間順に番組情報を並べることで無駄な検索をかなり削減できるが、このシステムにおいてもリスト自体が長い場合にはやはり検索に時間がかかってしまう。そこで、本実施の形態では、リストの先頭以外の情報を登録することでリストの途中から検索を始めることができるようにする。
【００６８】
図６は、本発明の第６の実施の形態のＥＰＧデータベースのリスト構造を示す図であり、番組情報＜１＞〜＜３＞を登録する場合の、セルのリスト構造とメモリ配置の例を示す。図５と同一構成部分には、同一符号を付している。
【００６９】
図６（ｅ）に示すように、日にち毎の先頭セル管理領域８を用意し、ここに日にち毎の先頭セルを登録する。ここでは１日目（２００２年７月２８日）の先頭に番組情報＜１＞（２００２年７月２８日１９時３０分〜２００２年７月２８日２０時００分）のセル位置情報Ａ１、２日目（２００２年７月２９日）の先頭に番組情報＜３＞（２００２年７月２９日００時３０分〜２００２年７月２９日４時３０）のセル位置情報Ｋ１を登録している。３日目（２００２年７月３０日）には番組情報が存在していないので、なにも情報が登録されていない。
【００７０】
検索を行う際には、取得したい番組情報の時間を見てそれが何日目の番組情報なのかを判別し、そこにセル位置情報が登録されていればそこから検索を始める。例えば、前記図５と同様に２００２年７月２９日８時３０分に放送されている番組の情報を取得しようとする場合、この番組は２日目にあたるので、２日目の先頭セルから検索を始める。２日目の先頭セルの位置は日にち毎の先頭セル管理領域８よりＫ１であることが判明するので、この場所のセルから検索を行う。ここではＫ１のセルが番組情報＜３＞（２００２年７月２９日００時３０分〜２００２年７月２９日４時３０）を指しており、ここから検索を開始する。番組情報＜３＞は２００２年７月２９日８時３０分よりも前の番組であるため、次の番組を探すことになるが番組情報＜３＞は最終番組であるため検索の番組が存在しないことが判る。同様の検索を、先頭から辿っていく場合には３番組情報分のリンクを辿る必要があるが、この手法だと１番組を検索するだけで終了している。また、２００２年７月３０日１２時００分の番組を検索する際には３日目の先頭のセルを取得するが、ここには情報が入っていないため検索を行わないで終了する。
このように、本実施の形態では登録されていない番組を検索する際にも有効なシステムである。
【００７１】
例えば、番組情報がリスト状に接続されている場合において、目的の番組を探し出す場合に時間順に並んでいれば、目的の時間の番組情報がデータベースに存在しない場合も、リスト内の番組情報の時間が、目的の時間より未来の時間のものであれば、それ以降のリストには目的の番組情報が存在しないことが自明であるため、無駄な検索を行う必要が無くなる効果を得ることができる。
【００７２】
第７の実施の形態
番組情報をリスト状に並べることで、番組情報が登録されていない部分を検索することはなくなる。ところで、目的の番組情報には通常サービス番号が付随する。つまり、検索する時には、サービス番号と番組放送時間で検索を行うのが一般的である。異なるサービスで同一の時間に放送されている番組もある。そこで、本実施の形態では、リストの検索をリストの先頭位置以外から始めることを可能にする。
【００７３】
図７は、本発明の第７の実施の形態のＥＰＧデータベースのリスト構造を示す図であり、番組情報＜１＞〜＜３＞を登録する場合の、セルのリスト構造とメモリ配置の例を示す。図５及び図６と同一構成部分には、同一符号を付している。
【００７４】
図７に示すように、番組情報をサービス番号９毎の塊で構成する。図７では、番組情報＜１＞がサービス毎の塊であるサービス番号「１０１」で登録され、同様に、番組情報＜２＞がサービス番号「１０１」で登録され、番組情報＜３＞がサービス番号「１９１」で登録されている。これにより、同一時間の番組も重なることなくリストに登録することが可能となる。
【００７５】
また、サービス毎の塊で登録する際にもサービス番号９順に登録することで、検索の際にそのサービス番号より大きいサービス番号９の番組まで検索が進んだ時点で、該当番組が無かったと判定することが可能となり、無駄な検索がなくなる。さらに、サービス毎の番組情報リストも前記図６に示すような番組放送時間７順のリストで構成することで、検索時に該当サービス内の検索が検索条件の時刻より先の時刻になった時点で、該当番組が無かったと判定することが可能となり、さらに無駄な検索がなくなる。これにより、計算量を削減することが可能となる。
【００７６】
例えば、先頭以外のセルの位置情報を登録しておくことで、リストの検索をその位置から始めることが可能になる。検索したい番組の時間が判っている場合は、先頭以外に登録してあるセルの情報と比較し、そのセルより未来の情報であれば先頭以外のセルから検索を行うことで高速な検索を実現することができる。
【００７７】
第８の実施の形態
第７の実施の形態では、サービス番号順、放送時間順にリストを構成することによって効率の良い検索を行うことが可能となる。しかし多数のサービスが存在する場合、目的のサービス以外のリストを検索することは無駄な計算となる場合が多い。そこで本実施の形態では、目的のサービス以外のリストを検索する場合に適した実施例を説明する。
【００７８】
図８及び図９は、本発明の第８の実施の形態のＥＰＧデータベースのリスト構造を示す図であり、番組情報＜１＞〜＜３＞を登録する場合の、セルのリスト構造とメモリ配置の例を示す。図６及び図７と同一構成部分には、同一符号を付している。
【００７９】
図８（ｅ）に示すように、サービス毎の先頭位置をサービス毎の先頭セル管理領域１０Ａに登録する。図８では、サービス番号１０１に先頭セルＫ１、サービス番号１８１は先頭セル無し、サービス番号１９１に先頭セルＡ１を登録している。例えば、サービス番号１０１の番号を検索するには、サービス毎の先頭セル管理領域１０Ａに登録されているＫ１からリストの検索を始めることで、他のサービスを検索することはなくなり効率の良い検索を行うことが可能となる。また、サービス毎の先頭セル管理領域１０Ａのサービス番号１８１のように、リストが存在しないサービスに関しては、セル情報位置を登録しない、もしくはリストが存在しないことを示す番号を登録しておくことで、検索の際に番組情報の存在しないサービスを検索することがなくなる。
このように、目的のサービス以外のリストを検索しなくて済むので高速な検索が可能になる。
【００８０】
また、サービス毎の先頭セル管理領域１０Ａをサービス番号順に構築することで、サービス番号を検索する際に、検索するサービス番号より大きいサービス番号が出てきた時点で、サービスが存在しないことが判定できる。さらに、図９に示すように、第６の実施の形態で説明した時間毎のセル位置情報をサービス毎に持つことで、例えばサービス番号１９１の２日目の番組を検索したい場合は、サービス毎、日にち毎の先頭セル管理領域４０から登録情報を取得することで、該当サービスの該当日のみを検索可能となり検索効率の良いシステム構築することが可能である。
【００８１】
番組情報を検索する際にはサービスとイベント、もしくはサービスと時間を特定する必要がある。番組情報がリスト状に並んだだけでは全番組情報を検索しなくてはならないが、本実施の形態では、サービス毎に並んでいれば目的のサービスのリストを検索すれば良いため検索時間の短縮に繋がる。
【００８２】
第９の実施の形態
デジタル放送において番組は、ネットワーク番号、サービス番号、イベント番号で一意に決定付けられる。ＥＰＧ用のデータベースを作成する際には同一の番組が複数登録されないように、ネットワーク番号、サービス番号、イベント番号が一致する番組は１つしか登録しないようにする。よって番組情報一つ一つに対してその番組と一致する番組がデータベースに登録されているかどうかの確認が必要になる。このとき第６乃至第８の実施の形態で説明したように、番組が時間順のリストになっていると、番組の検索を行うためにはリストに登録してある全番組の検索が必要となり、非常に効率が悪い。
【００８３】
図１０は、本発明の第９の実施の形態のＥＰＧデータベースのリスト構造を示す図であり、番組情報＜１＞〜＜３＞を登録する場合の、セルのリスト構造とメモリ配置の例を示す。図６乃至図９と同一構成部分には、同一符号を付している。
【００８４】
そこで、本実施の形態では、図１０に示すイベント番号順のリストを作成する。すなわち、本実施の形態では、第６乃至第８の実施の形態で時間順のリストに対して適用したように、リストの先頭以外の情報の登録を可能にするとともに、番組情報をサービス番号毎の塊でサービス番号順に構成し、サービス毎の先頭位置をサービス毎の先頭セル管理領域１０Ａに登録している。これにより、時間順のリストと同様のメリットを持った検索をイベント番号で行うことが可能となる。例えば、特定のイベントを探し出すために番組情報を検索する際に、サービス毎に並んでいれば目的のサービスのリストのみを検索すれば良い。ここで目的のサービスが存在しない場合、サービスがサービス番号順に並んでいれば、目的のサービスより番号が大きいサービスのリストは検索する必要が無くなり検索時間の短縮に繋がる。
【００８５】
第１０の実施の形態
第９の実施の形態では、サービス番号順、イベント番号順にリストを構成することによって効率の良い検索を行うことが可能となった。本実施の形態では、さらにサービス毎の先頭位置を管理することで目的のサービス以外のリストを検索しなくて済むようにする。
【００８６】
図１１は、本発明の第１０の実施の形態のＥＰＧデータベースのリスト構造を示す図であり、番組情報＜１＞〜＜３＞を登録する場合の、セルのリスト構造とメモリ配置の例を示す。図６乃至図１０と同一構成部分には、同一符号を付している。
【００８７】
本実施の形態は、さらに、先頭以外のセル位置情報をサービス毎に持つようにするため、図１１（ｅ）に示すようにサービス毎、イベント番号毎の先頭セル管理領域４２を用意する。例えば、図１１に示すようにサービス毎にイベント番号〔０ｘ００００〕〜〔０ｘ０９９９〕までの中で一番イベント番号が小さい番組のセル位置情報（ここではサービス番号１９１のセル位置Ａ１）を登録し、イベント番号〔０ｘ１０００〕〜〔０ｘ１９９９〕までの中で一番イベント番号が小さい番組のセル位置情報（ここではサービス番号１０１のセル位置Ｋ１）を登録する、というように１０００番毎に登録する管理領域を設定することで、さらに検索効率の良いシステムを構築することが可能である。
【００８８】
例えば、特定のイベントを探し出すために番組情報を検索する際に、目的のサービスに番組情報の先頭セルが登録されているかどうかを確認し、登録されていればそこから番組情報の検索を始めれば良い。また、サービス毎の登録がサービス番号順に並んでいれば、目的のサービスより番号が大きいサービスのリストは検索する必要が無くなり、さらなる検索時間の短縮に繋がる。
【００８９】
また、サービス毎の先頭の番組情報の先頭のセルの位置を登録することで、特定のイベントを探し出すために番組情報を検索する際に、目的のサービスに番組情報の先頭セルが登録されているかどうかを確認し、登録されていればそこから番組情報の検索を始めれば良い。また、サービス毎の登録がサービス番号順に並んでいれば、目的のサービスより番号が大きいサービスのリストは検索する必要が無くなり、さらなる検索時間の短縮に繋がる。
【００９０】
また、イベント番号順にリストを作成することで、イベントを検索する場合はサービス番号とイベント番号で検索するが、イベントが登録されているサービスが存在し、そのサービス内の番組情報を検索する場合に、イベント番号で並べておけば、目的のイベントよりもイベント番号が大きいイベントの検索をする必要が無くなり、検索に無駄が無くなる。
【００９１】
さらに、セルのリストで構成されている番組情報をイベント番号順にリスト状に接続する際に、リストの先頭以外のセルの登録位置情報を登録しておくことで、先頭以外のセルの位置情報を登録しておくことで、リストの検索をその位置から始めることが可能になる。検索したい番組のイベント番号が判っている場合は、先頭以外に登録してあるセルの情報と比較し、そのセルよりイベント番号が大きい情報であれば先頭以外のセルから検索を行うことで高速な検索を実現することができる。
【００９２】
第１１の実施の形態
本実施の形態は、前記各実施の形態のＥＰＧデータベースを用いた番組記録再生装置の構成と番組情報の登録の一例を示すものである。
【００９３】
図１２は、本発明の第１１の実施の形態のＥＰＧデータベースを用いた番組記録再生装置の構成を示す図である。本実施の形態に係る番組記録再生装置は、デジタル放送の電波を受信可能なデジタル放送受信機能を備えたテレビジョン受信機に適用した例である。
【００９４】
図１２において、番組記録再生装置１００は、選局されている番組の放送を受信する受信部１０１（受信手段）と、受信した放送信号に多重化されている番組付帯情報を分離する番組情報分離部１０２（番組情報分離手段）と、前記図１乃至図１１のリスト構造を持つメモリ領域１０を有し、受信した番組情報をメモリ領域１０に記憶・保持するＥＰＧデータベース１１０（番組情報データベース）と、ＥＰＧデータベース１１０に番組情報を登録するデータ構築処理を行うＥＰＧ構築部１０３と、構築された番組表構成内容データから表示すべき番組表表示データを作成し表示するＥＰＧ表示部１０４と、ストリームデータの記録デバイスへの書込み及び記録デバイスからの読み出しを行う記録再生部１０５（記録再生手段）と、ストリームデータのデコード処理を行うデコード部１０６と、デコードされた映像信号と番組表表示とを重ね合わせて表示する多重化部１０７とを備えて構成される。
以下、上述のように構成された番組記録再生装置の動作を説明する。
【００９５】
本番組記録再生装置では、地上波やケーブル、ＢＳ、ＣＳ等の放送のテレビ番組が受信される。放送されたテレビ放送番組は、入力端子より受信放送番組を含む信号として受信装置で受信され、その受信データは本番組記録再生装置に入力される。
【００９６】
受信部１０１は、放送信号を受信し、特定の１つ又は複数の番組放送を選択し次処理にて利用可能な放送ストリームとする処理部であり、放送を受信するアンテナ及び受信信号を選択するチューナ及び番組を前処理するデスクランブラ等により構成される。
【００９７】
番組情報分離部１０２は、受信した放送信号に多重化されている番組付帯情報を分離し、分離した番組付帯情報をＥＰＧ構築部１０３に送るとともに、記録ストリームを記録再生部１０５に送る。
【００９８】
ＥＰＧデータベース１１０は、各実施の形態で説明したリスト構造を持つメモリ領域に番組情報を記憶・保持する。ＥＰＧデータベース１１０のリスト構造の具体例については図１４及び図１５により後述する。
【００９９】
ＥＰＧ構築部１０３は、番組情報から番組表構成内容データを構築し、ＥＰＧデータベース１１０に記録・保持する。
ＥＰＧ表示部１０４は、ＥＰＧ構築部１０３から番組表構成内容データを取得し、番組表を表示用に構成する。
記録再生部１０５は、記録デバイスへの記録を行う。
【０１００】
デコード部１０６は、受信した再生ストリームを復号処理して映像データを作成する。この映像データは多重化部１０７により他表示と多重化され映像出力として出力される。
ＥＰＧ表示部１０４は、ＥＰＧ構築部１０３から番組表構成内容データを取得し、番組表を表示用に構成する。
次に、番組情報を番組記録再生装置１００のＥＰＧデータベース１１０に登録する処理の具体例について詳細に説明する。
【０１０１】
図１３は、番組情報をＥＰＧデータベースに登録する番組情報登録処理のフローチャートである。図中、Ｓはフローの各ステップを示す。
ステップＳ１で番組情報を登録するプログラムが起動すると、ステップＳ２でその番組と同一の番組が登録されているか否かを確認する。同一番組の判定は、ネットワークＩＤ、サービスＩＤ、イベントＩＤ等の番組情報を一意に決定付けるＩＤを組み合わせることで行う。この時、ＥＰＧデータベース１１０が、サービスＩＤ毎にイベントＩＤ番号順にリスト化されていれば同一番組の検索を高速に行うことが可能である。また、この時の検索において、リスト化されたセルを辿っていくのではなく、番組情報毎に次のイベントの先頭セルを記述しておき、これを辿って検索を行う双方向検索を可能にすることで、リストを移動する速度が上昇する。以上のような手段で登録したい番組と一致する番組が登録されている否かの検索を行う。
【０１０２】
同一の番組がＥＰＧデータベース１１０上に存在した場合、ステップＳ３で登録済みの情報と登録したい番組情報が一致するか否か番組内容の一致判定を行う。番組情報が一致する場合には、登録の必要がないため、ステップＳ４で登録不要として本フローを処理を終了する。
【０１０３】
上記ステップＳ３で同一の番組にもかかわらず番組情報の内容が一致しない場合には、ステップＳ５でＥＰＧデータベース１１０に登録されている番組情報をリストから削除してステップＳ６に進む。ここで、番組情報を削除する際には、リストから切り離すだけでなく、利用していないセルをリストにした空リストと呼ばれるリストに登録する。空リストを作成することによって、番組情報を登録する際にメモリ上の空き領域を探す必要がなくなり、空リストに登録されているセルをそのまま利用すれば良くなる。また、番組情報を登録するメモリの有無を判定する際にも空リストにセルがいくつ残っているかを判定するだけで良くなりメモリ管理が容易になる。
【０１０４】
上記ステップＳ２で同一の番組が登録されていない、もしくは上記ステップＳ５で同一番組の情報が異なっていたため削除した場合には、ステップＳ６で番組時間の一致判定を行う。同一サービスに登録したい番組（ステップＳ１の番組）と重なる番組は存在できないので、重なった時間の情報を判定する。時間が重なった番組情報を探すためには、登録したい番組（ステップＳ１の番組）の開始時間より終了時間が遅く、登録したい番組の終了時間よりも開始時間が早い番組を検索する必要がある。ＥＰＧデータベース１１０に登録された番組情報を全て検索すればチェックは可能であるが、第５乃至第８の実施の形態で述べたように時間順にリスト化されていれば全検索をかける必要はなくなる。また、このような検索方法を、１つのＥＰＧデータベース１１０で複数持つことで、複数条件での検索時に常に最適な検索を行うことが可能となる。検索方法は、具体的には最初に登録したい番組（ステップＳ１の番組）の開始時間より終了時間が遅い番組を探す。見つからない場合は登録したい番組はリストの末尾に登録することが判定できる。次に登録したい番組（ステップＳ１の番組）の終了時間よりも開始時間が早い番組を検索する。見つからない場合は登録したい番組はリストの先頭に登録することが判定できる。
【０１０５】
図１４及び図１５は、ＥＰＧデータベース１１０のリスト構造を示す図である。
図１４に示すように、ＥＰＧデータベース１１０が時間順のリストになっている場合は、上記の２つの検索を別々に先頭から行う必要はなく、登録したい番組２０１の開始時間１０時００分より終了時間が遅い番組２０３を発見すると、その番組２０３から引き続き登録したい番組２０１の終了時間よりも開始時間が早い番組の検索を行う。終了時間よりも開始時間が早い全ての番組をリスト状に検索するためには、終了時間よりも開始時間が遅い番組２０６を見つけるまで検索を行い、その一つ前の番組２０５までを重複した番組として判定しなくてはならない。この手法を使えば、図１５に示すような時間的に間が開いているリストでも、時間が重複した番組を検出することが可能である。
【０１０６】
以上の手順で番組の検索が可能であるが、終了時間よりも開始時間が遅い番組２０６を見つけた後に、その一つ前の番組２０５に戻るためにはリストが先頭方向からしか辿れない片方向のリストである場合、２回先頭からのリストを辿ることになる。そこで、リストを双方向に検索可能な双方向リストを実装すると、番組の検索でリストを１度辿り、終了時間よりも開始時間が遅い番組２０６を見つけた後に、その一つ前の番組２０５に戻ることが可能になるため、２回目のリスト検索を行う必要がなくなる。
【０１０７】
図１３のフローに戻って、ステップＳ６では、番組時間の一致を確認し、時間的に重複した番組を見つけた場合は、ステップＳ７で重複した番組情報の削除を行い、空リストに追加してステップＳ７に進む。時間的に重複した番組が見つからない場合はそのままステップＳ８に進む。
【０１０８】
ステップＳ８では、次に登録したい番組情報（ステップＳ１の番組）が登録可能なメモリが存在するかどうかの確認、つまり登録したい番組情報のセル数と、空リストに登録してあるセル数の比較を行う。ここで、残りのセル数が足りていれば空リストからセルを確保し、ステップＳ９で番組情報の登録を行うことで、番組情報の登録は完了する。残りのセル数が足りない場合は、まず、すでに終了してしまった番組が無いかどうかを確認し、終了してしまった番組がＥＰＧデータベース１１０に登録されている場合は、ステップＳ１０でこの番組の削除を行う。ここでの削除は時間が重複した番組の削除と同様に、現在時刻までの番組を削除する。すでに終了してしまった番組情報を空リストに登録した後、ステップＳ１１で再度空リストに登録されているセル数を確認する。ここで登録したい番組情報が格納可能な数のセルが確保できれば、ステップＳ９で登録処理を行い、セル数が確保できなければ、ステップＳ１２で番組内容のセルの削除を行った後、ステップＳ１３で再度空リストに登録されているセル数を確認する。ここでの番組内容のセル削除とは、登録したい番組情報中の情報に優先順位を付け、優先度の低い情報のセルのみを削除するということである。例えば、番組情報が番組名、番組内容、契約情報で構成されているとする（前記図１参照）。この時、番組情報中の優先順位は番組名、番組内容、契約情報の順とする。つまり、登録可能なセルが確保できなければ、まず契約情報を登録しないようにし、それでも登録可能なセルが確保できなければ番組内容も登録しない。このとき登録したい番組情報は番組名のみで構成されることとなる。それでも登録できない場合は、ＥＰＧデータベース１１０に登録されている情報に対しても、契約情報、番組内容の順にセルを削除していくこととなる。
【０１０９】
以上の手順で番組情報のセルを減らしていき、空リストに番組情報を登録可能になった時点で番組情報の登録を行う（ステップＳ９）。以上の処理を行っても番組情報の登録が不可能な場合がある（ステップＳ１３のＮＧ）。この場合は、ステップＳ１４で優先順位を付けた番組情報の削除を行った後、ステップＳ１５で再度空リストに登録されているセル数を確認する。番組情報中の番組名は最後まで優先的に残すため、この時点でＥＰＧデータベース１１０上の全ての番組情報は番組基本情報と番組名のみで構成されている。また、登録したい番組情報も番組基本情報と番組名のみとなっている。登録したい番組情報をＥＰＧデータベース１１０に登録するには他の番組情報を削除する必要がある。このとき、番組情報の優先順位を付けた追加や削除を、登録したい番組情報と現在登録されている番組情報の優先順位を比較して番組情報の削除を行う。優先順位の例としては、登録したい番組情報のネットワークと違うネットワークの情報を優先的に削除するといった方法や、登録したい番組情報より未来の番組情報を優先的に削除、つまり現在時間に近い番組を優先的に残すといった方法や、メディア別にテレビ、ラジオ、データの順に優先順位を付け、データの番組情報を優先的に削除するといった方法が考えられる。
【０１１０】
この優先順位の判定で、登録したい番組情報よりも優先順位の低い削除すべき番組情報がＥＰＧデータベース１１０上に無い場合は、番組情報の削除が行われない。優先順位を付けた番組内容の削除が完了してもセル数が足りなければ（ステップＳ１５のＮＧ）、ステップＳ１６で登録不可能として登録処理を終了する。登録が可能であれば、ステップＳ９で登録処理を行って本フローを終了する。
【０１１１】
このように、本実施の形態によれば、新規のイベントを追加登録する際にメモリに追加登録可能な空き領域が存在しない場合に、セルを削除することで新規の情報を登録するメモリを確保することができる。
【０１１２】
この場合、メモリが不足した状態で番組情報のセルを追加する際に、追加したい番組情報よりも未来の番組であったり、既に放送が終了していたりといった、新規に登録したい番組情報より優先順位が低い情報を優先的に削除することができ、また追加する情報においても、番組情報中に優先度の低い情報が含まれている場合は、番組情報中からそのセルのみを取り除いた形で追加することで優先順位の低い番組の登録を抑制することができる。
【０１１３】
ここで、ＥＰＧデータベース１１０は、セル毎の優先順位を付けた追加や削除を行う際に、ネットワークＩＤ、サービスＩＤ、イベントＩＤ、番組開始終了時間等の番組の基本となる情報と、番組名の優先順位を高くする、つまり番組の基本となる情報と番組名だけは最低でも情報として参照できるようにすることで、番組情報中に優先度の低い情報が含まれている場合は、番組情報中からそのセルのみを取り除いた形で追加するが、その際に番組情報内から番組基本情報と番組名は削除されることはない。
【０１１４】
また、番組情報として利用されていないメモリ領域をセルのリストとした空リストを作成することで、全メモリ領域をリスト化することを特徴とする。番組情報を格納するために利用可能なメモリのうち、番組情報が登録されていない部分に関してもセルとし空リストを作成する。これにより番組情報が一切登録されていない初期状態では、全ての領域が一本の空リストとなる。場組を登録する際にこの空リストからセルを切り取り番組情報を登録し、番組情報を削除する際には空リストに番組情報のセルを登録することで、登録時にメモリの空き領域を探す手間を省くことができ、さらにメモリの効率の良い利用が可能になる。
【０１１５】
さらに、リストを双方向に検索可能とすることで、片方向のみの検索しかできないリストの場合には、常に先頭から検索する必要があるが、双方向の検索を可能なリストの場合は、リストの途中であっても双方向に移動が可能であるため、番組情報の登録を行う際に毎回先頭から検索する必要が無くなる。
【０１１６】
また、番組の検索をセル毎ではなくイベント毎に行うことも可能である。セルのリストは基本的にはセル単位で検索を行うが、番組情報を登録してあるセルのリストにおいてイベント単位での検索を可能にすることで高速に検索を行うことができる。
【０１１７】
第１２の実施の形態
リストが長くなれば長くなるほど、検索にかかるコストは大きくなる。そこで本実施の形態では、番組情報のＥＰＧデータベース１１０において、イベント単位で検索をかける場合、情報の検索を先頭からの検索ではなく２分探索とすることによって、検索速度を上げるものである。
【０１１８】
例えば、１日９６イベントの番組情報が８日分登録されている場合、通常のリスト検索であれば最終イベントに到達するためには７６８ステップの比較が必要である。２分探索を実装した場合、最初に半分の位置にあるイベント内容を比較する。この場合は、３８４番目のイベントで比較を行い、比較対照が３８４番目のイベントよりリストの後ろに位置するか、前に位置するかの判定を行う。次のステップでは半分の半分の位置にある番組情報と比較を行う。
【０１１９】
この判定で比較対照が３８４番目のイベントよりリストの後ろにあればさらに１９２イベント進んだ５７６番目の位置の番組情報と比較し、前に位置するのであれば１９２イベント戻った１９２番目の位置の番組情報との比較を行う。次のステップではさらに半分の量を移動する。このような手順を繰り返すと、最終の番組に辿り着くには、３８４番目→５７６番目→６７２番目→７２０番目→７４４番目→７５６番目→７６２番目→７６５番目→７６７番目→７６８番目の比較を行う必要がある。つまり最悪でも１０回の比較で済むため、リストを順番に辿る際の７６８回の比較に比べればかなり高速な検索が行える。
【０１２０】
このように、本実施の形態では、番組情報のリスト検索をセル毎ではなくイベント毎に行うシステムにおいて、２分探索を行うことで、検索の際に２分探索を行うことでリストが長くなればなるほど、先頭からリスト内の情報を検索していくのに対し計算量が減る効果を得ることができる。
【０１２１】
また、番組情報の検索は様々な条件で行われるため、検索方法自体を時間検索、イベント番号検索、双方向検索、２分探索等の検索を複数準備しておくようにすれば、条件により最適な検索を行うことが可能となる。
【０１２２】
なお、上記各実施の形態に係るＥＰＧデータベース１１０及び番組記録再生装置１００を、上述したようなデジタル放送の電波を受信可能なデジタル放送受信機能を備えたテレビジョン受信機に適用することもできるが、記録する番組は何でもよく、現行テレビ放送番組や、ラジオ放送番組等の音声番組であってもよい。
【０１２３】
また、ＥＰＧデータベース及び番組記録再生装置という名称を用いたが、これには限定されず、ＥＰＧ情報記憶装置、ＥＰＧデータ管理装置、番組予約装置等であってもよいことは勿論である。
【０１２４】
また、記録装置の種類や記録方法等は限定されず、全ての装置に適用可能である。例えば、記録装置として、ＶＴＲ（Video Tape Recorder）のほか、ＨＤＤやＤＶＤ（Digital Versatile Disk）に記録するものでもよい。特に、データ転送速度やランダム・アクセス性能が高く、高速アクセスが可能なＨＤＤを記録媒体に用いれば、長時間記録した番組の中から所望の番組を瞬時に検索し、直ぐに利用することが可能になる。また、光磁気ディスク等ＨＤＤ以外の記録装置を用いてもよく、同様の効果を得ることができる。
【０１２５】
さらに、上記ＥＰＧデータベース及び番組記録再生装置を構成する各回路部、例えば記憶部、番組記録再生等の種類、数及び接続方法などは前述した実施の形態に限られない。
【０１２６】
また、以上説明した番組記録再生装置は、この番組記録再生装置を機能させるためのプログラムでも実現される。このプログラムはコンピュータで読み取り可能な記録媒体に格納されている。本発明では、この記録媒体として、図１２に示されているＥＰＧ構築部１０３のメインメモリそのものがプログラムメディアであってもよいし、また外部記憶装置としてＣＤ−ＲＯＭドライブ等のプログラム読み取り装置が設けられ、そこに記録媒体を挿入することで読み取り可能なＣＤ−ＲＯＭ等のプログラムメディアであってもよい。いずれの場合でも、格納されているプログラムはＥＰＧ構築部１０３のＣＰＵがアクセスして実行させる構成であってもよいし、あるいはいずれの場合もプログラムを読み出し、読み出されたプログラムは、図示されていないプログラム記憶エリアにダウンロードされて、そのプログラムが実行される方式であってもよい。このダウンロード用のプログラムは予め各装置に格納されているものとする。
【０１２７】
ここで、上記プログラムメディアは、通信端末装置又は情報処理装置と分離可能に構成される記録媒体であり、磁気テープやカセットテープ等の磁気ディスクやＣＤ−ＲＯＭ、ＣＤ−Ｒ／ＲＷ、ＭＯ、ＭＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ等の光ディスクのディスク系、ＰＣカード、コンパクトフラッシュカード、スマートメディア、ＩＣカード、ＳＤカード、メモリースティック等のカード系、あるいはマスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＲＯＭ等による半導体メモリを含めた固定的にプログラムを担持する媒体であってもよい。
【０１２８】
さらに、インターネット接続プロバイダ又は携帯メールサービス等の外部の通信ネットワークとの接続が可能な通信接続手段を介して通信ネットワークからプログラムをダウンロードするように、流動的にプログラムを担持する媒体であってもよい。なお、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用プログラムは予め格納しておくか、あるいは別な記録楳体からインストールされるものであってもよい。なお、記録媒体に格納されている内容としてはプログラムに限定されず、データであってもよい。
【０１２９】
【発明の効果】
以上、詳述したように、本発明によれば、メモリ利用の効率化を図ることができ、番組情報が用意されたメモリより多くなった場合にも、システムを破綻させることなく最適な状態で情報を管理することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態のＥＰＧデータベースのリスト構造を示す図である。
【図２】本発明の第２の実施の形態のＥＰＧデータベースのリスト構造を示す図である。
【図３】本発明の第３の実施の形態のＥＰＧデータベースのリスト構造を示す図である。
【図４】本発明の第４の実施の形態のＥＰＧデータベースのリスト構造を示す図である。
【図５】本発明の第５の実施の形態のＥＰＧデータベースのリスト構造を示す図である。
【図６】本発明の第６の実施の形態のＥＰＧデータベースのリスト構造を示す図である。
【図７】本発明の第７の実施の形態のＥＰＧデータベースのリスト構造を示す図である。
【図８】本発明の第８の実施の形態のＥＰＧデータベースのリスト構造を示す図である。
【図９】本実施の形態のＥＰＧデータベースのリスト構造を示す図である。
【図１０】本発明の第９の実施の形態のＥＰＧデータベースのリスト構造を示す図である。
【図１１】本発明の第１０の実施の形態のＥＰＧデータベースのリスト構造を示す図である。
【図１２】本発明の第１１の実施の形態のＥＰＧデータベースを用いた番組記録再生装置の構成を示す図である。
【図１３】本実施の形態の番組情報をＥＰＧデータベースに登録する番組情報登録処理のフローチャートである。
【図１４】本実施の形態のＥＰＧデータベースのリスト構造を示す図である。
【図１５】本実施の形態のＥＰＧデータベースのリスト構造を示す図である。
【符号の説明】
１  セル
２  番組情報
３  番組名
４  番組内容
５  契約情報
６  メモリ内配置
７  番組時刻
８  日にち毎の先頭セル管理領域
９  サービス番号
１０  メモリ領域
１０Ａ  サービス毎の先頭セル管理領域
４０  サービス毎、日にち毎の先頭セル管理領域
４１  イベント番号
４２  サービス毎、イベント番号毎の先頭セル管理領域
１００  番組記録再生装置
１０１  受信部（受信手段）
１０２  番組情報分離部（番組情報分離手段）
１０３  ＥＰＧ構築部
１０４  ＥＰＧ表示部
１０５  記録再生部（記録再生手段）
１０６  デコード部
１０７  多重化部
１１０  ＥＰＧデータベース（番組情報データベース）
２０１，３０１  登録したい番組情報（１０：００〜１１：００）
２０２，３０２  時間順に並んだ番組情報（９：００〜９：５０）
２０３，３０３  時間順に並んだ番組情報（９：５０〜１０：１５）
２０４，３０４  時間順に並んだ番組情報（１０：１５〜１０：５０）
２０５，３０５  時間順に並んだ番組情報（１０：５０〜１１：３０）
２０６，３０６  時間順に並んだ番組情報（１１：３０〜１２：００）
[１１]〜[１６]，[２１]〜[２６]，[３１]〜[３６]  説明のためのセル番号
【図１】
2004201238.tif 000003
【図２】
2004201238.tif 000004
【図３】
2004201238.tif 000005
【図４】
2004201238.tif 000006
【図５】
2004201238.tif 000007
【図６】
2004201238.tif 000008
【図７】
2004201238.tif 000009
【図８】
2004201238.tif 000010
【図９】
2004201238.tif 000011
【図１０】
2004201238.tif 000012
【図１１】
2004201238.tif 000013
【図１２】
2004201238.tif 000014
【図１３】
2004201238.tif 000015
【図１４】
2004201238.tif 000016
【図１５】
2004201238.tif 000017