JP2004201238A - Program information database and program recording and reproducing apparatus - Google Patents

Program information database and program recording and reproducing apparatus Download PDF

Info

Publication number
JP2004201238A
JP2004201238A JP2002370548A JP2002370548A JP2004201238A JP 2004201238 A JP2004201238 A JP 2004201238A JP 2002370548 A JP2002370548 A JP 2002370548A JP 2002370548 A JP2002370548 A JP 2002370548A JP 2004201238 A JP2004201238 A JP 2004201238A
Authority
JP
Japan
Prior art keywords
program
program information
cell
information
search
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002370548A
Other languages
Japanese (ja)
Other versions
JP4551615B2 (en
Inventor
Shoko Kawaguchi
将顧 川口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2002370548A priority Critical patent/JP4551615B2/en
Publication of JP2004201238A publication Critical patent/JP2004201238A/en
Application granted granted Critical
Publication of JP4551615B2 publication Critical patent/JP4551615B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Television Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a program information database and a program recording and reproducing apparatus in which information can be managed in the optimal state without system down even when program information becomes much more than the capacity of prepared memories. <P>SOLUTION: An EPG database has a plurality of cells 1 for dividing a memory region 10 for storing program information into a fixed size and a list structure for connecting the plurality of cells 1 in the form of list, and when registering program information 2, the program information is divided into information with the order of priority (program name 3, program contents 4 and contract information 5). Then, the program name 3, the program contents 4 and the contract information 5 with the order of priority are successively assigned and stored into the cells 1. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、テレビジョン放送の番組情報等を管理する番組情報データベース及び番組記録再生装置に関する。
【0002】
【従来の技術】
近年、テレビジョン放送もアナログ放送からデジタル放送に急速に移行している。このデジタル放送では、アナログ放送に比べて多チャンネル化が図られると同時に、受信機での番組選択に必要な情報(番組情報)をサービス情報として番組と共に伝送している。ユーザは、この番組情報を受信機の表示画面に表示し、放送番組の確認、視聴予約、録画予約等に利用することができる。
【0003】
番組情報又は番組表データ送出手段を持つ放送においては、番組の放送信号に多重化されて番組付帯情報が放送される。送出される番組表・番組情報提示用の番組付帯情報は、現在時刻以降の数日分(BS/CSデジタル放送では1週間分)の番組情報であり、番組表を表示する場合、現在時刻を開始点として数日分の番組情報を番組表として表示することができる。そのため、従来の放送番組記録再生装置においては、現在時刻から数日分先の番組情報を番組表によって確認することができた。
【0004】
また、デジタル放送受信機において、デジタル放送開始当初は1ネットワークの放送のみを受信していたため番組情報を格納する不揮発性メモリを含むメモリ領域には十分な余地があった。現在、デジタル放送にかかわらず番組情報を受信機で閲覧可能になっており、衛星デジタル放送受信機においてもBSのみではなくCS1、CS2の複数ネットワークの番組情報を受信することが可能となっている。
【0005】
これに伴い番組情報として管理する番組数も大幅に増え、受信機によっては当初予定していた情報量を超え、搭載しているメモリではすべての番組を記憶できないといった事態を引き起こしている。
【0006】
また、特許文献1には、セルと呼ぶ一定サイズのメモリの塊をリスト状に接続していることを基本とし、メッセージを削除するために、削除したいメッセージが存在するかどうかを確認する際に、個々のセルに使用フラグを持たせ削除したいセルのみ確認することで、セルの空リストに全検索をかけずに、そのセルにメッセージが存在するかどうかを判定するメッセージバッファ領域管理装置が開示されている。
【0007】
【特許文献1】
特開平3−238544号公報(図1)
【0008】
【発明が解決しようとする課題】
しかしながら、このような従来のデータ領域管理装置にあっては、番組情報が全て入ると予想されるサイズのメモリ領域を確保することで情報の管理を行っている構成であったため、番組情報が予想されたメモリ領域より多い場合は、このシステムでは情報の欠損や、システムの破壊を引き起こしてしまう可能性がある。このメモリ不足を解消するアプローチとして、メモリ利用の効率化を行う必要がある。
【0009】
本発明は、このような課題に鑑みてなされたものであって、番組情報が用意されたメモリより多くなった場合にも、システムを破綻させることなく最適な状態で情報を管理することができる番組情報データベース及び番組記録再生装置を提供することを目的としている。
【0010】
また、本発明は、メモリ不足を解消するアプローチとして、メモリ利用の効率化を図ることが可能な番組情報データベース及び番組記録再生装置を提供することを目的としている。
【0011】
【課題を解決するための手段】
本発明の番組情報データベースは、番組情報をメモリ領域に記憶し、該メモリ領域の内容を管理する番組情報データベースであって、前記メモリ領域は、該メモリ領域を一定のサイズに分割する複数のセルと、該セルをリスト状に接続するリスト構造を有し、番組情報を登録する際、前記番組情報を優先順位を付けた情報に分け、前記優先順位を付けた情報を、前記セルに順次割り当てて格納することを特徴としている。
【0012】
前記番組情報は、番組名、番組内容、又は契約情報の少なくともいずれか1つを含んで構成されるものであってもよく、前記優先順位は、番組名、番組内容、契約情報の順であることが好ましい。
【0013】
このように構成された本発明の番組情報データベースによって、番組情報の優先順位を付けた追加や削除が可能になる。これにより、メモリが不足した状態で番組情報を追加する際に、追加したい番組情報よりも未来の番組であったり、既に放送が終了していたりといった、新規に登録したい番組情報より優先順位が低い情報を優先的に削除するシステムを構築することができる。また、追加する情報においても、優先順位の低い番組の登録を抑制することができる。
【0014】
また、番組情報を登録する際にセルと称する一定のメモリサイズを持つ領域に分割することで、セルのサイズを番組情報の最大値で設定した場合は、1番組の情報を減らすこと無く登録することが可能というメリットを生む。逆に、セルのサイズを小さく取れば1番組の情報量が少なければ使用するセル数も少なくなるので消費するメモリ量も少なくなり、登録可能な番組数が増加することとなる。
【0015】
また、前記番組情報を格納するセルの数を可変とするので、例えば1番組を構成するセル数を可変とすることで、メモリに余裕がある場合は番組情報を全て格納できるだけのセル数を番組毎に割り当てておき、メモリに余裕が無くなってきた場合は1番組に使用するセル数を減らすことが可能になり、セル数を固定にした時より登録可能な番組数を増やすことができる。
【0016】
また、前記複数のセルに格納された番組情報をリスト状に接続する。一例を挙げれば、前記セルは、次のセルの位置情報を記憶する次セル位置記憶手段を備え、任意のセルが次のセルを指すことで番組情報をリスト状に接続する構成としている。すなわち、セルがリスト状に接続されていなければ、1番組の情報を複数のセルで構成した場合、1番組の分割されたセルを隣接したメモリに配置する、もしくはセルの場所を記録しておく領域を設定する等の手段を取らないと同一番組を構成するセルであることを示すことができない。本発明の番組情報データベースは、セルをリスト状に並べることで、1番組の情報を格納したセルが必ずしも隣接していなくても同一番組の構成セルであることを知ることが可能になり、検索の際にも先頭のセルさえ指定できればその後に続く全ての番組情報を見つけることができる。
【0017】
また、前記次セル位置記憶手段は、第1の番組情報を格納するセルの、終端のセルの次セル位置情報に、第2の番組情報を格納するセルの、先頭のセルの位置情報を記憶することで、複数のセルで構成された番組情報をリスト状に追加したり削除したりする場合の検索効率を高めることができる。すなわち、番組情報を複数のセルで構成しリスト状に接続したとしても、各々の番組情報を取得するためには番組毎の先頭のセルを探し出す際に、全てのメモリを検索することになりかねない。本発明の番組情報データベースは、各々の番組をリスト状に接続し、先頭の番組情報から検索をかけていけば、番組情報が登録されている部分でのみ検索を行うことが可能となるため検索の効率が上がる。
【0018】
また、前記番組情報を時間順に並べ替え、該並べ替えた時間順に前記セルに格納することで、番組情報がリスト状に接続されている場合において、目的の番組を探し出す場合に時間順に並んでいれば、目的の時間の番組情報がデータベースに存在しない場合も、リスト内の番組情報の時間が、目的の時間より未来の時間のものであれば、それ以降のリストには目的の番組情報が存在しないことが自明であるため、無駄な検索を行う必要が無くなる。
【0019】
また、前記次セル位置記憶手段は、先頭のセル以外のセルの位置情報を記憶する。一例を挙げると、先頭のセルの位置情報を管理する先頭セル管理手段を備える構成としてもよい。本発明の番組情報データベースは、複数のセルのリストで構成されている番組情報を時間順にリスト状に接続する際に、リストの先頭以外のセルの登録位置情報を登録しておくことで、リストの検索をその位置から始めることが可能になる。検索したい番組の時間が判っている場合は、先頭以外に登録してあるセルの情報と比較し、そのセルより未来の情報であれば先頭以外のセルから検索を行うことで高速な検索が可能になる。
【0020】
また、前記番組情報は、サービス番号を含んでおり、前記サービス番号に基づいて前記セルに格納される番組情報を管理するサービス番号管理手段をさらに備えることで、番組情報を検索する際にはサービスとイベント、もしくはサービスと時間を特定する必要がある場合、番組情報がリスト状に並んだだけでは全番組情報を検索しなくてはならないが、サービス毎に並んでいれば目的のサービスのリストを検索すれば良いため検索時間の短縮に繋がる。
【0021】
また、前記サービス番号管理手段は、前記サービス番号順に番組情報を並べ替え、該並べ替えた順に前記セルに格納することで、特定のイベントを探し出すために番組情報を検索する際に、サービス毎に並んでいれば目的のサービスのリストのみを検索すれば良い。ここで目的のサービスが存在しない場合、サービスがサービス番号順に並んでいれば、目的のサービスより番号が大きいサービスのリストは検索する必要が無くなり検索時間の短縮に繋がる。
【0022】
また、前記次セル位置記憶手段は、前記サービス番号毎の番組情報の先頭のセルの位置情報を記憶することで、特定のイベントを探し出すために番組情報を検索する際に、目的のサービスに番組情報の先頭セルが登録されているかどうかを確認し、登録されていればそこから番組情報の検索を始めれば良い。また、サービス毎の登録がサービス番号順に並んでいれば、目的のサービスより番号が大きいサービスのリストは検索する必要が無くなり、さらなる検索時間の短縮に繋がる。
【0023】
また、前記番組情報は、イベント番号を含んでおり、前記イベント番号に基づいて前記セルに格納される番組情報を管理するイベント番号管理手段をさらに備える。一例を挙げると、前記イベント番号管理手段は、前記イベント番号順に番組情報を並べ替え、該並べ替えた順に前記セルに格納するこで、イベントを検索する場合はサービス番号とイベント番号で検索するが、イベントが登録されているサービスが存在し、そのサービス内の番組情報を検索する場合に、イベント番号で並べておけば、目的のイベントよりもイベント番号が大きいイベントの検索をする必要が無くなり、検索に無駄が無くなる。
【0024】
また、前記次セル位置記憶手段は、前記イベント番号毎の番組情報の先頭以外のセルの位置情報を記憶することで、リストの検索をその位置から始めることが可能になる。検索したい番組のイベント番号が判っている場合は、先頭以外に登録してあるセルの情報と比較し、そのセルよりイベント番号が大きい情報であれば先頭以外のセルから検索を行うことで高速な検索が可能になる。
【0025】
また、番組情報をセルに追加登録する際、メモリが確保できない場合に、セルを削除することで、新規のイベントを追加登録する際にメモリに追加登録可能な空き領域が存在しない場合に、セルを削除することでメモリを確保することができる。番組情報をデータベースに追加していけば、いつかはメモリが不足する。メモリが不足した状態で番組情報を追加しようとしても番組情報は追加できないが、セルで構成された番組情報リストからセルを削除することによって、新規の情報を登録するメモリを確保することができる。
【0026】
また、番組情報をセルに追加登録する際、前記優先順位の上位の情報を優先してセルに追加し、又は前記優先順位のより下位の情報を格納するセルから削除することで、メモリが不足した状態で番組情報のセルを追加する際に、追加したい番組情報よりも未来の番組であったり、既に放送が終了していたりといった、新規に登録したい番組情報より優先順位が低い情報を優先的に削除することができる。また追加する情報についても、番組情報中に優先度の低い情報が含まれている場合は、番組情報中からそのセルのみを取り除いた形で追加することで優先順位の低い番組の登録を抑制することができる。
【0027】
また、前記優先順位の最上位の情報は、番組基本情報と番組名であり、前記番組基本情報と番組名は、最優先でセルに追加するとともに、前記番組基本情報と番組名を格納するセルの削除は最後にする。すなわち、セル毎の優先順位を付けた追加や削除を行う際に、ネットワークID、サービスID、イベントID、番組開始終了時間等の番組の基本となる情報と、番組名の優先順位を高くする、つまり番組の基本となる情報と番組名だけは最低でも情報として参照できるようにする。番組情報中に優先度の低い情報が含まれている場合は、番組情報中からそのセルのみを取り除いた形で追加するが、その際に番組情報内から番組基本情報と番組名は削除されることはない。
【0028】
さらに、番組情報に使用されていないセルの空リストを作成し、前記空リストを用いて番組情報をセルに格納することで、全メモリ領域をリスト化することを特徴とする。番組情報を格納するために利用可能なメモリのうち、番組情報が登録されていない部分に関してもセルとし空リストを作成する。これにより番組情報が一切登録されていない初期状態では、全ての領域が一本の空リストとなる。場組を登録する際にこの空リストからセルを切り取り番組情報を登録し、番組情報を削除する際には空リストに番組情報のセルを登録することで、登録時にメモリの空き領域を探す手間を省くことができ、さらにメモリの効率の良い利用が可能になる。
【0029】
また、前記複数のセルに格納された番組情報をリスト状に接続するリスト構造は、双方向に検索可能であることで、片方向のみの検索しかできないリストの場合は、常に先頭から検索する必要があるが、双方向の検索が可能なリストの場合は、リストの途中であっても双方向に移動が可能であるため、番組情報の登録を行う際に毎回先頭から検索する必要が無くなる。
【0030】
また、前記情報の検索は、セル毎、又はイベント毎に行うことで、セルのリストは基本的にはセル単位で検索を行うが、番組情報を登録してあるセルのリストにおいてイベント単位での検索を可能とすることで高速に検索を行うことが可能になる。
【0031】
また、前記イベント毎に行う情報の検索は、2分探索であることで、検索の際に2分探索を行うことでリストが長くなればなるほど、先頭からリスト内の情報を検索していくのに対し計算量が減る。
【0032】
また、時間検索、イベント番号検索、双方向検索、2分探索等の複数の検索手段を有し、使用条件により検索手段を選択することで、番組情報の検索は様々な条件で行われるため、検索方法自体を時間検索、イベント番号検索、双方向検索、2分探索等の検索を複数準備しておくことで、条件により最適な検索を行うことが可能になる。
【0033】
本発明の番組記録再生装置は、番組の放送を受信する受信手段と、受信した放送信号から番組情報とストリームデータを分離する番組情報分離手段と、前記分離した番組情報を記録する番組情報データベースと、前記分離したストリームデータを記録・再生する記録再生手段とを備える番組記録再生装置において、前記番組情報データベースは、請求項1乃至24のいずれか一項に記載の番組情報データベースであることを特徴としている。
【0034】
【発明の実施の形態】
以下、添付図面を参照しながら本発明の好適な番組情報データベース及び、番組情報データベースを用いた番組記録再生装置の実施の形態について詳細に説明する。
【0035】
第1の実施の形態
図1は、本発明の第1の実施の形態のEPG(Electrical Program Guide:電子番組ガイド)データベースのリスト構造を示す図である。
図1において、10は番組情報を記憶するEPGデータベース(番組情報データベース)のメモリ領域であり、メモリ領域を一定のサイズで分割した複数のセル1をリスト状に接続したリスト構造により番組情報2を記憶する。
【0036】
本実施の形態では、複数(ここでは6個)のセル1をリスト状に接続したリスト構造のメモリ領域に対して1つの番組情報2が記憶される。また、1つの番組情報2は、番組名3、番組内容4及び契約情報5に分割されてそれぞれ複数(ここでは2個ずつ)のセル1に記憶される。
【0037】
図中のセル1内の左端の数値([]で表す)は、説明のための便宜上記した通し番号であり、セル1毎にこのような数値が付されているのではない(以下の説明においてセル内の左端の[]で表す数値についてはすべて同様)。
【0038】
ところで、現在BSデジタル放送、110度CSデジタル放送において、EPGを表示するための番組情報がイベント情報テーブル(Event Infomation Table、以後EITと称する)という番組配列情報(Service Infomation、以後SIと称する)で伝送されている。放送受信装置では、このEITを解析し番組情報を管理することで各種番組に対する情報表示等を行う。本EPGデータベースを備える放送受信装置の適用例については、図12により後述する。
【0039】
ここでは1つの番組に対する番組情報2が図1に示すように、番組名3、番組内容4及び契約情報5で構成されているものとする。この番組情報2をセル1と呼ばれる一定サイズのメモリ領域に分割して格納する。図1では、番組情報2の番組名3がセル[11]及び[12]、番組内容4がセル[13]及び[14]、契約情報5がセル[15]及び[16]にそれぞれ分割して格納される。
【0040】
このように、1つの番組情報2が各情報(番組名3、番組内容4及び契約情報5)に分割され、分割された情報が複数のセル1に分割格納されるので、番組情報2を割り当てるメモリ領域の情報量を減らすことが可能になり、限られたメモリにより多くの情報を格納することができる。また逆に、1つの番組に対する番組情報2のSI情報を全て格納できるようにすれば、限られたメモリでより詳細な番組情報を提供することが可能となる。このセル1はメモリ上では必ずしも隣り合って配置されている必要は無いため、空いているメモリ領域を有効に利用することが可能である。
【0041】
以上のように、本実施の形態のEPGデータベースは、番組情報を記憶するメモリ領域10を一定のサイズに分割する複数のセル1と、複数のセル1をリスト状に接続するリスト構造を有し、番組情報2を登録する際、番組情報2を優先順位を付けた情報(番組名3,番組内容4,契約情報5)に分け、この優先順位を付けた番組名3,番組内容4及び契約情報5を、セル1に順次割り当てて格納するので、メモリ利用の効率化を図ることによって番組情報が用意されたメモリより多くなった場合にも、システムを破綻させることなく最適な状態で情報を管理することができる。
【0042】
すなわち、従来の衛星デジタル放送受信機において、開始当初はBSデジタル放送のみを受信していたため番組情報を格納する不揮発性メモリを含むメモリ領域には十分な余地があった。現在、デジタル放送にかかわらず番組情報を受信機で閲覧可能になっており、衛星デジタル放送受信機においてもBSのみではなくCS1、CS2の複数ネットワークの番組情報を受信することが可能となっている。これに伴い番組情報として管理する番組数も大幅に増え、受信機によってはメモリ不足の事態を引き起こしている。従来の技術では、番組情報が全て入ると予想されるサイズのメモリ領域を確保することで情報の管理を行っていた。しかし、番組情報が予想されたメモリ領域より多い場合は、このシステムでは情報の欠損や、システムの破壊を引き起こしてしまう可能性がある。このメモリ不足を解消するアプローチとして、メモリ利用の効率化を行う必要がある。
【0043】
本発明の番組情報データベースにおいて、優先順位を付けた番組情報の追加や削除が可能であるので、メモリが不足した状態で番組情報を追加する際に、追加したい番組情報よりも未来の番組であったり、既に放送が終了していたりといった、新規に登録したい番組情報より優先順位が低い情報を優先的に削除するシステムを構築することができる。また追加する情報においても、番組情報の優先度が低い情報である場合は、データベースに登録しないことで優先順位の低い番組の登録を抑制することができる。
【0044】
また、番組情報を登録する際にセルと称する一定のメモリサイズを持つ領域に分割することで、セルのサイズを番組情報の最大値で設定した場合は、1番組の情報を減らすこと無く登録することが可能というメリットを生む。逆にセルのサイズを小さく取れば1番組の情報量が少なければ使用するセル数も少なくなるので消費するメモリ量も少なくなり、登録可能な番組数が増加する効果を得ることができる。
【0045】
なお、特許文献1に記載の装置は、メッセージバッファの技術であり、番組情報のためのデータベースではない。また、特許文献1に記載の装置は、メッセージを削除するために、削除したいメッセージが存在するかどうかを確認する際に、個々のセルに使用フラグを持たせ削除したいセルのみ確認することで、セルの空リストに全検索をかけずに、そのセルにメッセージが存在するかどうかを判定するもので、特定のメッセージに対するセルが特定されている場合にのみ有効である。これに対し、本発明の番組情報データベースは、メモリの有効利用を前提としたシステムであるため、番組情報の格納場所のセルを特定しない。
【0046】
第2の実施の形態
図2は、本発明の第2の実施の形態のEPGデータベースのリスト構造を示す図であり、図1と同一構成部分には同一符号を付している。図2(a)は、図1と同一である。
【0047】
EITの内容は番組によって様々である。1つの番組に対する番組情報2は図2(a)に示すように、番組名3が2セル、番組内容4が2セル、契約情報5が2セルで構成されている場合もあれば、図2(b)に示すように番組名3が1セル、番組内容4が2セル、契約情報は無しで構成されている場合もある。
【0048】
このように、番組情報2の各情報を複数のセル1に記憶することで、1つの番組情報を固定のメモリ領域に割り当てた場合と比べて、番組毎に使用するセルの数を変更することが可能になり、メモリを使用する量を適切に変更することができる。したがって、無駄なメモリ領域が発生しにくいため、同じメモリ量でより多くの番組情報を格納することが可能となる。
【0049】
第3の実施の形態
第1及び第2の実施の形態において、番組情報2を複数のセル1で構成した場合、そのセルがどの番組に対する番組情報を格納しているのかを判別可能にする必要がある。例えば、1つの番組の番組情報を構成するセルを、最初は番組名、次は番組内容、最後は契約情報といったように決まった順番と決まったセル数で隣り合わせに置いておけば、ある番組に属しているセルを判定することは可能である。しかし、番組を構成するセルの数を可変にした場合は、ある番組を配置しておいた場所に、別の番組を配置する際に必ずしも番組を構成する全セルが格納可能であるとは限らない。一例を挙げると、連続した領域で4セルを使用している番組情報を削除し、同じ領域に番組情報を追加しようと思った場合、4セル以上の番組情報は登録できない可能性が出てくる。また、別の手法として番組毎のセルの場所を登録しておくという方法も考えられるが、その情報を確保する場所が必要である上に、番組毎のセルの場所を管理するシステムが必要となる。さらに、セル毎に番組情報を一意に判定可能な番組番号や等の情報を登録しておくという方法も採れるが、全セルに番組番号を登録する必要がありメモリの無駄であるばかりか、全メモリ領域を検索しないと番組情報が揃わないというデメリットを持つ。
本実施の形態では、番組情報を構成するセルをリスト状に接続する場合、セルがどの番組情報を格納しているのか判別できるようにする例である。
【0050】
図3は、本発明の第3の実施の形態のEPGデータベースのリスト構造を示す図であり、番組情報<1>と番組情報<2>を登録する場合の、セルのリスト構造とメモリ配置の例を示す。
【0051】
図3(a)(b)において、1はメモリ領域を一定のサイズで分割した複数のセル、2は複数(ここでは6個)のセル1をリスト状に接続したリスト構造のメモリ領域に記憶される番組情報<1>及び番組情報<2>である。番組情報<1>の番組名がセル[11]及び[12]、番組内容がセル[13]及び[14]、契約情報がセル[15]及び[16]にそれぞれ分割して格納され、番組情報<2>の番組名がセル[21]及び[22]、番組内容がセル[23]及び[24]、契約情報がセル[25]及び[26]にそれぞれ分割して格納される。
【0052】
さらに、セル1は、次セルの位置を指し示す次セル位置情報を記憶する。次セル位置は、アルファベットと数字の組み合わせ(E2,C3,J4,…)により図3(c)に示すメモリ内配置6に記憶されたセル位置を指定する。
【0053】
図3(c)に示すメモリ内配置6は、セル位置の数値を記憶するメモリであり、ここではA〜Kと番号1〜5により番組情報<1>及び番組情報<2>のセル1の位置を記憶する。
【0054】
図3では、番組情報<1>の先頭のセル[11]をA1とし、A1のセルが次のセル[12]の位置情報E2を指し、次のセル[12]が同様にセル[13]を指すことでリストを形成する。最終のセル[16]は自分自身の位置E4を指すことで自分自身が終端のセルであることを示す。また、番組情報<2>は、先頭のセル[21]をB4に格納し、先頭のセル[21]が次のセル[22]の位置情報G1を指し、次のセル[22]が同様にセル[23]を指すことでリストを形成する。最終のセル[26]は自分自身の位置F5を指すことで自分自身が終端のセルであることを示す。
【0055】
本実施の形態では、セル1に、アルファベットと数字の組み合わせ(E2,C3,J4,…)による次セル位置情報を設ける例を示したが、これは説明の便宜上であって実際には、セル1に、前記次セル位置情報として物理的なアドレス(又は配列に分けたメモリアドレス)が記憶される。セル1の個数は、10万個以上になる可能性があることを想定している。したがって、図3(c)に示すメモリ内配置6は、メモリの物理的な配置を示しており、この図3(c)に示すようなメモリの物理アドレスで指定されるセル毎の記憶領域に、番組情報を優先順位により分けた情報が所定サイズで記憶されることになる。また、図3(c)に示すように、メモリ領域を有効に利用できるような次セル位置情報のアドレスを指定することが好ましい。
【0056】
このように番組情報<1><2>をセル1のリストに記憶した場合、番組毎の先頭のセルからリストを辿っていけば、自ずと番組毎のセルが一塊で存在するので、全体に検索をかけて情報を取得するよりも効率の良い情報検索が行える。また、別途先頭のセルの場所を登録しておくことで、検索の際にその領域だけを検索すればよくなる。終端セルも自分自身を指すことで終端のセルであることを表現するだけでなく、終端のセルであることを示す数値FF等を記述することで終端セルを表現することも考えられる。また、先頭セルの前にダミーヘッド、終端セルの次にダミーテイルと呼ばれる、番組情報とは関係の無い、先頭セルと終端セルを示すためのセルを挿入する方法も考えられる。さらに、番組情報にその番組が何セルで構成されているのかを登録しておくことでも番組情報を構成することが可能である。
【0057】
図3(c)のメモリ内配置6に示すように、1つの番組を構成するセルが隣り合っている必要は無いため、番組を再配置する際にセルを登録する場所が無いために登録ができないという不具合は、メモリ領域が足りなくなった場合にしか発生しない。このため、効率の良いメモリの利用が見込める効果がある。
【0058】
このように、本実施の形態によれば、1番組を構成するセル数を可変とすることで、メモリに余裕がある場合は番組情報を全て格納できるだけのセル数を番組毎に割り当てておき、メモリに余裕が無くなってきた場合は1番組に使用するセル数を減らすことを可能にすることで、セル数を固定にした時より登録可能な番組数を増やすことができる。
【0059】
第4の実施の形態
第3の実施の形態で説明したように、1つの番組の情報を構成するセルをリスト状に並べるシステムを検索する場合も、目的の番組情報の先頭セルが登録されていない場合には、メモリの使用率にかかわらずメモリ全体の検索を行わないと目的の番組が登録されていないことを確認できない。これは、番組情報をセルで構成しない時も同様である。本実施の形態は、メモリ全体の検索を行うことなく番組情報が登録されている部分で検索を行うことができるようにする例である。
【0060】
図4は、本発明の第4の実施の形態のEPGデータベースのリスト構造を示す図であり、番組情報<1>と番組情報<2>を登録する場合の、セルのリスト構造とメモリ配置の例を示す。図3と同一構成部分には、同一符号を付している。
本実施の形態では、図4に示すように、番組情報自体もリスト化して追加、もしくは削除可能にする。
【0061】
例えば、番組情報<1>の後に番組情報<2>を追加する場合は、番組情報<1>の最後のセル[16]が番組情報<2>の先頭セル[21]を指し示すように、番組情報<1>の最後のセル[16]の次セル位置にB4を登録する(図4(c)B4参照)。ここでは最初の番組情報の先頭セルをA1から始めることとする。番組情報の追加は、追加したい番組の直線の番組情報の最終セルの次セル位置情報に、追加したい番組の先頭セル位置を登録し、追加したい番組の最終セルの次セル位置情報に前の番組情報の最終セルの次セル位置情報に登録されていたセル位置情報を登録することで可能となる。また、削除する場合には、削除したい番組の直前の番組情報の最終セルの次セル位置情報に、削除したい番組の最終セルの次セル位置情報を登録するだけで良い。この例では先頭のセルをA1としているが、別途先頭のセルの場所を登録することで、先頭セルの位置を固定ではなく運用することも考えられる。終端セルも自分自身を指すことで終端のセルであることを表現するだけでなく、終端のセルであることを示す数値FF等を記述することで終端セルを表現することも考えられる。また、先頭セルの前にダミーヘッド、終端セルの次にダミーテイルと呼ばれる、番組情報とは関係の無い、先頭セルと終端セルを示すためのセルを挿入する方法も考えられる。図4に示すように先頭のセルから検索を行えば登録している全セルを検索することになる。
これにより番組情報が実際に入っている部分しか検索しないので、番組情報が存在しなくても、リストのみを検索すれば良いことになり、計算量が少なくなる。
【0062】
このように、本実施の形態によれば、セルをリスト状に並べることで、1番組の情報を格納したセルが必ずしも隣接していなくても同一番組の構成セルであることを知ることが可能になり、検索の際にも先頭のセルさえ指定できればその後に続く全ての番組情報を見つけることができる。
【0063】
第5の実施の形態
第4の実施の形態では、番組情報自体もリスト状に並べることで、番組情報が登録されていない部分を検索することはなくなるが、目的の時間の番組情報がデータベースに存在しない場合は、リストを最後まで検索しないと番組情報が存在しないことが判らない。本実施の形態は、目的の時間の番組情報がデータベースに存在しない場合であってもメモリ全体の検索を行うことがないようにする例である。
【0064】
図5は、本発明の第5の実施の形態のEPGデータベースのリスト構造を示す図であり、番組情報<1>〜<3>を登録する場合の、セルのリスト構造とメモリ配置の例を示す。図4と同一構成部分には、同一符号を付している。
【0065】
番組情報を時間順に並べる場合を考える。図5に示すように、番組情報<1>(2002年7月28日19時30分〜2002年7月28日20時00分)、番組情報<2>(2002年7月28日20時00分〜2002年7月28日20時54分)、番組情報<3>(2002年7月29日00時30分〜2002年7月29日4時30)の順に並べる。番組情報の検索を行う場合に、例えば2002年7月28日20時30分に放送されている番組の情報を取得するとすると、当然番組情報<2>を取得することとなる。別の番組情報、例えば2002年7月28日22時30分に放送されている番組の情報を取得するとすると、番組情報<2>は指定の時間より前の番組であり、番組情報<3>は指定の時間より後の番組である。時間順に並んでいることが保証されているので、希望する番組情報は番組情報<2>と番組情報<3>の間の番組であり、リストには登録されていないということが判る。
【0066】
このように番組情報を時間順に並べることで、番組情報がリストに登録されていない状態でもリストの最後まで検索を行う必要がなくなる。すなわち、番組情報を複数のセルで構成しリスト状に接続したとしても、各々の番組情報を取得するためには番組毎の先頭のセルを探し出す際に、全てのメモリを検索することになりかねない。本実施の形態では、各々の番組をリスト状に接続し、先頭の番組情報から検索をかけていけば、番組情報が登録されている部分でのみ検索を行うことが可能となるため検索の効率を上げることができる。
【0067】
第6の実施の形態
第5の実施の形態は、時間順に番組情報を並べることで無駄な検索をかなり削減できるが、このシステムにおいてもリスト自体が長い場合にはやはり検索に時間がかかってしまう。そこで、本実施の形態では、リストの先頭以外の情報を登録することでリストの途中から検索を始めることができるようにする。
【0068】
図6は、本発明の第6の実施の形態のEPGデータベースのリスト構造を示す図であり、番組情報<1>〜<3>を登録する場合の、セルのリスト構造とメモリ配置の例を示す。図5と同一構成部分には、同一符号を付している。
【0069】
図6(e)に示すように、日にち毎の先頭セル管理領域8を用意し、ここに日にち毎の先頭セルを登録する。ここでは1日目(2002年7月28日)の先頭に番組情報<1>(2002年7月28日19時30分〜2002年7月28日20時00分)のセル位置情報A1、2日目(2002年7月29日)の先頭に番組情報<3>(2002年7月29日00時30分〜2002年7月29日4時30)のセル位置情報K1を登録している。3日目(2002年7月30日)には番組情報が存在していないので、なにも情報が登録されていない。
【0070】
検索を行う際には、取得したい番組情報の時間を見てそれが何日目の番組情報なのかを判別し、そこにセル位置情報が登録されていればそこから検索を始める。例えば、前記図5と同様に2002年7月29日8時30分に放送されている番組の情報を取得しようとする場合、この番組は2日目にあたるので、2日目の先頭セルから検索を始める。2日目の先頭セルの位置は日にち毎の先頭セル管理領域8よりK1であることが判明するので、この場所のセルから検索を行う。ここではK1のセルが番組情報<3>(2002年7月29日00時30分〜2002年7月29日4時30)を指しており、ここから検索を開始する。番組情報<3>は2002年7月29日8時30分よりも前の番組であるため、次の番組を探すことになるが番組情報<3>は最終番組であるため検索の番組が存在しないことが判る。同様の検索を、先頭から辿っていく場合には3番組情報分のリンクを辿る必要があるが、この手法だと1番組を検索するだけで終了している。また、2002年7月30日12時00分の番組を検索する際には3日目の先頭のセルを取得するが、ここには情報が入っていないため検索を行わないで終了する。
このように、本実施の形態では登録されていない番組を検索する際にも有効なシステムである。
【0071】
例えば、番組情報がリスト状に接続されている場合において、目的の番組を探し出す場合に時間順に並んでいれば、目的の時間の番組情報がデータベースに存在しない場合も、リスト内の番組情報の時間が、目的の時間より未来の時間のものであれば、それ以降のリストには目的の番組情報が存在しないことが自明であるため、無駄な検索を行う必要が無くなる効果を得ることができる。
【0072】
第7の実施の形態
番組情報をリスト状に並べることで、番組情報が登録されていない部分を検索することはなくなる。ところで、目的の番組情報には通常サービス番号が付随する。つまり、検索する時には、サービス番号と番組放送時間で検索を行うのが一般的である。異なるサービスで同一の時間に放送されている番組もある。そこで、本実施の形態では、リストの検索をリストの先頭位置以外から始めることを可能にする。
【0073】
図7は、本発明の第7の実施の形態のEPGデータベースのリスト構造を示す図であり、番組情報<1>〜<3>を登録する場合の、セルのリスト構造とメモリ配置の例を示す。図5及び図6と同一構成部分には、同一符号を付している。
【0074】
図7に示すように、番組情報をサービス番号9毎の塊で構成する。図7では、番組情報<1>がサービス毎の塊であるサービス番号「101」で登録され、同様に、番組情報<2>がサービス番号「101」で登録され、番組情報<3>がサービス番号「191」で登録されている。これにより、同一時間の番組も重なることなくリストに登録することが可能となる。
【0075】
また、サービス毎の塊で登録する際にもサービス番号9順に登録することで、検索の際にそのサービス番号より大きいサービス番号9の番組まで検索が進んだ時点で、該当番組が無かったと判定することが可能となり、無駄な検索がなくなる。さらに、サービス毎の番組情報リストも前記図6に示すような番組放送時間7順のリストで構成することで、検索時に該当サービス内の検索が検索条件の時刻より先の時刻になった時点で、該当番組が無かったと判定することが可能となり、さらに無駄な検索がなくなる。これにより、計算量を削減することが可能となる。
【0076】
例えば、先頭以外のセルの位置情報を登録しておくことで、リストの検索をその位置から始めることが可能になる。検索したい番組の時間が判っている場合は、先頭以外に登録してあるセルの情報と比較し、そのセルより未来の情報であれば先頭以外のセルから検索を行うことで高速な検索を実現することができる。
【0077】
第8の実施の形態
第7の実施の形態では、サービス番号順、放送時間順にリストを構成することによって効率の良い検索を行うことが可能となる。しかし多数のサービスが存在する場合、目的のサービス以外のリストを検索することは無駄な計算となる場合が多い。そこで本実施の形態では、目的のサービス以外のリストを検索する場合に適した実施例を説明する。
【0078】
図8及び図9は、本発明の第8の実施の形態のEPGデータベースのリスト構造を示す図であり、番組情報<1>〜<3>を登録する場合の、セルのリスト構造とメモリ配置の例を示す。図6及び図7と同一構成部分には、同一符号を付している。
【0079】
図8(e)に示すように、サービス毎の先頭位置をサービス毎の先頭セル管理領域10Aに登録する。図8では、サービス番号101に先頭セルK1、サービス番号181は先頭セル無し、サービス番号191に先頭セルA1を登録している。例えば、サービス番号101の番号を検索するには、サービス毎の先頭セル管理領域10Aに登録されているK1からリストの検索を始めることで、他のサービスを検索することはなくなり効率の良い検索を行うことが可能となる。また、サービス毎の先頭セル管理領域10Aのサービス番号181のように、リストが存在しないサービスに関しては、セル情報位置を登録しない、もしくはリストが存在しないことを示す番号を登録しておくことで、検索の際に番組情報の存在しないサービスを検索することがなくなる。
このように、目的のサービス以外のリストを検索しなくて済むので高速な検索が可能になる。
【0080】
また、サービス毎の先頭セル管理領域10Aをサービス番号順に構築することで、サービス番号を検索する際に、検索するサービス番号より大きいサービス番号が出てきた時点で、サービスが存在しないことが判定できる。さらに、図9に示すように、第6の実施の形態で説明した時間毎のセル位置情報をサービス毎に持つことで、例えばサービス番号191の2日目の番組を検索したい場合は、サービス毎、日にち毎の先頭セル管理領域40から登録情報を取得することで、該当サービスの該当日のみを検索可能となり検索効率の良いシステム構築することが可能である。
【0081】
番組情報を検索する際にはサービスとイベント、もしくはサービスと時間を特定する必要がある。番組情報がリスト状に並んだだけでは全番組情報を検索しなくてはならないが、本実施の形態では、サービス毎に並んでいれば目的のサービスのリストを検索すれば良いため検索時間の短縮に繋がる。
【0082】
第9の実施の形態
デジタル放送において番組は、ネットワーク番号、サービス番号、イベント番号で一意に決定付けられる。EPG用のデータベースを作成する際には同一の番組が複数登録されないように、ネットワーク番号、サービス番号、イベント番号が一致する番組は1つしか登録しないようにする。よって番組情報一つ一つに対してその番組と一致する番組がデータベースに登録されているかどうかの確認が必要になる。このとき第6乃至第8の実施の形態で説明したように、番組が時間順のリストになっていると、番組の検索を行うためにはリストに登録してある全番組の検索が必要となり、非常に効率が悪い。
【0083】
図10は、本発明の第9の実施の形態のEPGデータベースのリスト構造を示す図であり、番組情報<1>〜<3>を登録する場合の、セルのリスト構造とメモリ配置の例を示す。図6乃至図9と同一構成部分には、同一符号を付している。
【0084】
そこで、本実施の形態では、図10に示すイベント番号順のリストを作成する。すなわち、本実施の形態では、第6乃至第8の実施の形態で時間順のリストに対して適用したように、リストの先頭以外の情報の登録を可能にするとともに、番組情報をサービス番号毎の塊でサービス番号順に構成し、サービス毎の先頭位置をサービス毎の先頭セル管理領域10Aに登録している。これにより、時間順のリストと同様のメリットを持った検索をイベント番号で行うことが可能となる。例えば、特定のイベントを探し出すために番組情報を検索する際に、サービス毎に並んでいれば目的のサービスのリストのみを検索すれば良い。ここで目的のサービスが存在しない場合、サービスがサービス番号順に並んでいれば、目的のサービスより番号が大きいサービスのリストは検索する必要が無くなり検索時間の短縮に繋がる。
【0085】
第10の実施の形態
第9の実施の形態では、サービス番号順、イベント番号順にリストを構成することによって効率の良い検索を行うことが可能となった。本実施の形態では、さらにサービス毎の先頭位置を管理することで目的のサービス以外のリストを検索しなくて済むようにする。
【0086】
図11は、本発明の第10の実施の形態のEPGデータベースのリスト構造を示す図であり、番組情報<1>〜<3>を登録する場合の、セルのリスト構造とメモリ配置の例を示す。図6乃至図10と同一構成部分には、同一符号を付している。
【0087】
本実施の形態は、さらに、先頭以外のセル位置情報をサービス毎に持つようにするため、図11(e)に示すようにサービス毎、イベント番号毎の先頭セル管理領域42を用意する。例えば、図11に示すようにサービス毎にイベント番号〔0x0000〕〜〔0x0999〕までの中で一番イベント番号が小さい番組のセル位置情報(ここではサービス番号191のセル位置A1)を登録し、イベント番号〔0x1000〕〜〔0x1999〕までの中で一番イベント番号が小さい番組のセル位置情報(ここではサービス番号101のセル位置K1)を登録する、というように1000番毎に登録する管理領域を設定することで、さらに検索効率の良いシステムを構築することが可能である。
【0088】
例えば、特定のイベントを探し出すために番組情報を検索する際に、目的のサービスに番組情報の先頭セルが登録されているかどうかを確認し、登録されていればそこから番組情報の検索を始めれば良い。また、サービス毎の登録がサービス番号順に並んでいれば、目的のサービスより番号が大きいサービスのリストは検索する必要が無くなり、さらなる検索時間の短縮に繋がる。
【0089】
また、サービス毎の先頭の番組情報の先頭のセルの位置を登録することで、特定のイベントを探し出すために番組情報を検索する際に、目的のサービスに番組情報の先頭セルが登録されているかどうかを確認し、登録されていればそこから番組情報の検索を始めれば良い。また、サービス毎の登録がサービス番号順に並んでいれば、目的のサービスより番号が大きいサービスのリストは検索する必要が無くなり、さらなる検索時間の短縮に繋がる。
【0090】
また、イベント番号順にリストを作成することで、イベントを検索する場合はサービス番号とイベント番号で検索するが、イベントが登録されているサービスが存在し、そのサービス内の番組情報を検索する場合に、イベント番号で並べておけば、目的のイベントよりもイベント番号が大きいイベントの検索をする必要が無くなり、検索に無駄が無くなる。
【0091】
さらに、セルのリストで構成されている番組情報をイベント番号順にリスト状に接続する際に、リストの先頭以外のセルの登録位置情報を登録しておくことで、先頭以外のセルの位置情報を登録しておくことで、リストの検索をその位置から始めることが可能になる。検索したい番組のイベント番号が判っている場合は、先頭以外に登録してあるセルの情報と比較し、そのセルよりイベント番号が大きい情報であれば先頭以外のセルから検索を行うことで高速な検索を実現することができる。
【0092】
第11の実施の形態
本実施の形態は、前記各実施の形態のEPGデータベースを用いた番組記録再生装置の構成と番組情報の登録の一例を示すものである。
【0093】
図12は、本発明の第11の実施の形態のEPGデータベースを用いた番組記録再生装置の構成を示す図である。本実施の形態に係る番組記録再生装置は、デジタル放送の電波を受信可能なデジタル放送受信機能を備えたテレビジョン受信機に適用した例である。
【0094】
図12において、番組記録再生装置100は、選局されている番組の放送を受信する受信部101(受信手段)と、受信した放送信号に多重化されている番組付帯情報を分離する番組情報分離部102(番組情報分離手段)と、前記図1乃至図11のリスト構造を持つメモリ領域10を有し、受信した番組情報をメモリ領域10に記憶・保持するEPGデータベース110(番組情報データベース)と、EPGデータベース110に番組情報を登録するデータ構築処理を行うEPG構築部103と、構築された番組表構成内容データから表示すべき番組表表示データを作成し表示するEPG表示部104と、ストリームデータの記録デバイスへの書込み及び記録デバイスからの読み出しを行う記録再生部105(記録再生手段)と、ストリームデータのデコード処理を行うデコード部106と、デコードされた映像信号と番組表表示とを重ね合わせて表示する多重化部107とを備えて構成される。
以下、上述のように構成された番組記録再生装置の動作を説明する。
【0095】
本番組記録再生装置では、地上波やケーブル、BS、CS等の放送のテレビ番組が受信される。放送されたテレビ放送番組は、入力端子より受信放送番組を含む信号として受信装置で受信され、その受信データは本番組記録再生装置に入力される。
【0096】
受信部101は、放送信号を受信し、特定の1つ又は複数の番組放送を選択し次処理にて利用可能な放送ストリームとする処理部であり、放送を受信するアンテナ及び受信信号を選択するチューナ及び番組を前処理するデスクランブラ等により構成される。
【0097】
番組情報分離部102は、受信した放送信号に多重化されている番組付帯情報を分離し、分離した番組付帯情報をEPG構築部103に送るとともに、記録ストリームを記録再生部105に送る。
【0098】
EPGデータベース110は、各実施の形態で説明したリスト構造を持つメモリ領域に番組情報を記憶・保持する。EPGデータベース110のリスト構造の具体例については図14及び図15により後述する。
【0099】
EPG構築部103は、番組情報から番組表構成内容データを構築し、EPGデータベース110に記録・保持する。
EPG表示部104は、EPG構築部103から番組表構成内容データを取得し、番組表を表示用に構成する。
記録再生部105は、記録デバイスへの記録を行う。
【0100】
デコード部106は、受信した再生ストリームを復号処理して映像データを作成する。この映像データは多重化部107により他表示と多重化され映像出力として出力される。
EPG表示部104は、EPG構築部103から番組表構成内容データを取得し、番組表を表示用に構成する。
次に、番組情報を番組記録再生装置100のEPGデータベース110に登録する処理の具体例について詳細に説明する。
【0101】
図13は、番組情報をEPGデータベースに登録する番組情報登録処理のフローチャートである。図中、Sはフローの各ステップを示す。
ステップS1で番組情報を登録するプログラムが起動すると、ステップS2でその番組と同一の番組が登録されているか否かを確認する。同一番組の判定は、ネットワークID、サービスID、イベントID等の番組情報を一意に決定付けるIDを組み合わせることで行う。この時、EPGデータベース110が、サービスID毎にイベントID番号順にリスト化されていれば同一番組の検索を高速に行うことが可能である。また、この時の検索において、リスト化されたセルを辿っていくのではなく、番組情報毎に次のイベントの先頭セルを記述しておき、これを辿って検索を行う双方向検索を可能にすることで、リストを移動する速度が上昇する。以上のような手段で登録したい番組と一致する番組が登録されている否かの検索を行う。
【0102】
同一の番組がEPGデータベース110上に存在した場合、ステップS3で登録済みの情報と登録したい番組情報が一致するか否か番組内容の一致判定を行う。番組情報が一致する場合には、登録の必要がないため、ステップS4で登録不要として本フローを処理を終了する。
【0103】
上記ステップS3で同一の番組にもかかわらず番組情報の内容が一致しない場合には、ステップS5でEPGデータベース110に登録されている番組情報をリストから削除してステップS6に進む。ここで、番組情報を削除する際には、リストから切り離すだけでなく、利用していないセルをリストにした空リストと呼ばれるリストに登録する。空リストを作成することによって、番組情報を登録する際にメモリ上の空き領域を探す必要がなくなり、空リストに登録されているセルをそのまま利用すれば良くなる。また、番組情報を登録するメモリの有無を判定する際にも空リストにセルがいくつ残っているかを判定するだけで良くなりメモリ管理が容易になる。
【0104】
上記ステップS2で同一の番組が登録されていない、もしくは上記ステップS5で同一番組の情報が異なっていたため削除した場合には、ステップS6で番組時間の一致判定を行う。同一サービスに登録したい番組(ステップS1の番組)と重なる番組は存在できないので、重なった時間の情報を判定する。時間が重なった番組情報を探すためには、登録したい番組(ステップS1の番組)の開始時間より終了時間が遅く、登録したい番組の終了時間よりも開始時間が早い番組を検索する必要がある。EPGデータベース110に登録された番組情報を全て検索すればチェックは可能であるが、第5乃至第8の実施の形態で述べたように時間順にリスト化されていれば全検索をかける必要はなくなる。また、このような検索方法を、1つのEPGデータベース110で複数持つことで、複数条件での検索時に常に最適な検索を行うことが可能となる。検索方法は、具体的には最初に登録したい番組(ステップS1の番組)の開始時間より終了時間が遅い番組を探す。見つからない場合は登録したい番組はリストの末尾に登録することが判定できる。次に登録したい番組(ステップS1の番組)の終了時間よりも開始時間が早い番組を検索する。見つからない場合は登録したい番組はリストの先頭に登録することが判定できる。
【0105】
図14及び図15は、EPGデータベース110のリスト構造を示す図である。
図14に示すように、EPGデータベース110が時間順のリストになっている場合は、上記の2つの検索を別々に先頭から行う必要はなく、登録したい番組201の開始時間10時00分より終了時間が遅い番組203を発見すると、その番組203から引き続き登録したい番組201の終了時間よりも開始時間が早い番組の検索を行う。終了時間よりも開始時間が早い全ての番組をリスト状に検索するためには、終了時間よりも開始時間が遅い番組206を見つけるまで検索を行い、その一つ前の番組205までを重複した番組として判定しなくてはならない。この手法を使えば、図15に示すような時間的に間が開いているリストでも、時間が重複した番組を検出することが可能である。
【0106】
以上の手順で番組の検索が可能であるが、終了時間よりも開始時間が遅い番組206を見つけた後に、その一つ前の番組205に戻るためにはリストが先頭方向からしか辿れない片方向のリストである場合、2回先頭からのリストを辿ることになる。そこで、リストを双方向に検索可能な双方向リストを実装すると、番組の検索でリストを1度辿り、終了時間よりも開始時間が遅い番組206を見つけた後に、その一つ前の番組205に戻ることが可能になるため、2回目のリスト検索を行う必要がなくなる。
【0107】
図13のフローに戻って、ステップS6では、番組時間の一致を確認し、時間的に重複した番組を見つけた場合は、ステップS7で重複した番組情報の削除を行い、空リストに追加してステップS7に進む。時間的に重複した番組が見つからない場合はそのままステップS8に進む。
【0108】
ステップS8では、次に登録したい番組情報(ステップS1の番組)が登録可能なメモリが存在するかどうかの確認、つまり登録したい番組情報のセル数と、空リストに登録してあるセル数の比較を行う。ここで、残りのセル数が足りていれば空リストからセルを確保し、ステップS9で番組情報の登録を行うことで、番組情報の登録は完了する。残りのセル数が足りない場合は、まず、すでに終了してしまった番組が無いかどうかを確認し、終了してしまった番組がEPGデータベース110に登録されている場合は、ステップS10でこの番組の削除を行う。ここでの削除は時間が重複した番組の削除と同様に、現在時刻までの番組を削除する。すでに終了してしまった番組情報を空リストに登録した後、ステップS11で再度空リストに登録されているセル数を確認する。ここで登録したい番組情報が格納可能な数のセルが確保できれば、ステップS9で登録処理を行い、セル数が確保できなければ、ステップS12で番組内容のセルの削除を行った後、ステップS13で再度空リストに登録されているセル数を確認する。ここでの番組内容のセル削除とは、登録したい番組情報中の情報に優先順位を付け、優先度の低い情報のセルのみを削除するということである。例えば、番組情報が番組名、番組内容、契約情報で構成されているとする(前記図1参照)。この時、番組情報中の優先順位は番組名、番組内容、契約情報の順とする。つまり、登録可能なセルが確保できなければ、まず契約情報を登録しないようにし、それでも登録可能なセルが確保できなければ番組内容も登録しない。このとき登録したい番組情報は番組名のみで構成されることとなる。それでも登録できない場合は、EPGデータベース110に登録されている情報に対しても、契約情報、番組内容の順にセルを削除していくこととなる。
【0109】
以上の手順で番組情報のセルを減らしていき、空リストに番組情報を登録可能になった時点で番組情報の登録を行う(ステップS9)。以上の処理を行っても番組情報の登録が不可能な場合がある(ステップS13のNG)。この場合は、ステップS14で優先順位を付けた番組情報の削除を行った後、ステップS15で再度空リストに登録されているセル数を確認する。番組情報中の番組名は最後まで優先的に残すため、この時点でEPGデータベース110上の全ての番組情報は番組基本情報と番組名のみで構成されている。また、登録したい番組情報も番組基本情報と番組名のみとなっている。登録したい番組情報をEPGデータベース110に登録するには他の番組情報を削除する必要がある。このとき、番組情報の優先順位を付けた追加や削除を、登録したい番組情報と現在登録されている番組情報の優先順位を比較して番組情報の削除を行う。優先順位の例としては、登録したい番組情報のネットワークと違うネットワークの情報を優先的に削除するといった方法や、登録したい番組情報より未来の番組情報を優先的に削除、つまり現在時間に近い番組を優先的に残すといった方法や、メディア別にテレビ、ラジオ、データの順に優先順位を付け、データの番組情報を優先的に削除するといった方法が考えられる。
【0110】
この優先順位の判定で、登録したい番組情報よりも優先順位の低い削除すべき番組情報がEPGデータベース110上に無い場合は、番組情報の削除が行われない。優先順位を付けた番組内容の削除が完了してもセル数が足りなければ(ステップS15のNG)、ステップS16で登録不可能として登録処理を終了する。登録が可能であれば、ステップS9で登録処理を行って本フローを終了する。
【0111】
このように、本実施の形態によれば、新規のイベントを追加登録する際にメモリに追加登録可能な空き領域が存在しない場合に、セルを削除することで新規の情報を登録するメモリを確保することができる。
【0112】
この場合、メモリが不足した状態で番組情報のセルを追加する際に、追加したい番組情報よりも未来の番組であったり、既に放送が終了していたりといった、新規に登録したい番組情報より優先順位が低い情報を優先的に削除することができ、また追加する情報においても、番組情報中に優先度の低い情報が含まれている場合は、番組情報中からそのセルのみを取り除いた形で追加することで優先順位の低い番組の登録を抑制することができる。
【0113】
ここで、EPGデータベース110は、セル毎の優先順位を付けた追加や削除を行う際に、ネットワークID、サービスID、イベントID、番組開始終了時間等の番組の基本となる情報と、番組名の優先順位を高くする、つまり番組の基本となる情報と番組名だけは最低でも情報として参照できるようにすることで、番組情報中に優先度の低い情報が含まれている場合は、番組情報中からそのセルのみを取り除いた形で追加するが、その際に番組情報内から番組基本情報と番組名は削除されることはない。
【0114】
また、番組情報として利用されていないメモリ領域をセルのリストとした空リストを作成することで、全メモリ領域をリスト化することを特徴とする。番組情報を格納するために利用可能なメモリのうち、番組情報が登録されていない部分に関してもセルとし空リストを作成する。これにより番組情報が一切登録されていない初期状態では、全ての領域が一本の空リストとなる。場組を登録する際にこの空リストからセルを切り取り番組情報を登録し、番組情報を削除する際には空リストに番組情報のセルを登録することで、登録時にメモリの空き領域を探す手間を省くことができ、さらにメモリの効率の良い利用が可能になる。
【0115】
さらに、リストを双方向に検索可能とすることで、片方向のみの検索しかできないリストの場合には、常に先頭から検索する必要があるが、双方向の検索を可能なリストの場合は、リストの途中であっても双方向に移動が可能であるため、番組情報の登録を行う際に毎回先頭から検索する必要が無くなる。
【0116】
また、番組の検索をセル毎ではなくイベント毎に行うことも可能である。セルのリストは基本的にはセル単位で検索を行うが、番組情報を登録してあるセルのリストにおいてイベント単位での検索を可能にすることで高速に検索を行うことができる。
【0117】
第12の実施の形態
リストが長くなれば長くなるほど、検索にかかるコストは大きくなる。そこで本実施の形態では、番組情報のEPGデータベース110において、イベント単位で検索をかける場合、情報の検索を先頭からの検索ではなく2分探索とすることによって、検索速度を上げるものである。
【0118】
例えば、1日96イベントの番組情報が8日分登録されている場合、通常のリスト検索であれば最終イベントに到達するためには768ステップの比較が必要である。2分探索を実装した場合、最初に半分の位置にあるイベント内容を比較する。この場合は、384番目のイベントで比較を行い、比較対照が384番目のイベントよりリストの後ろに位置するか、前に位置するかの判定を行う。次のステップでは半分の半分の位置にある番組情報と比較を行う。
【0119】
この判定で比較対照が384番目のイベントよりリストの後ろにあればさらに192イベント進んだ576番目の位置の番組情報と比較し、前に位置するのであれば192イベント戻った192番目の位置の番組情報との比較を行う。次のステップではさらに半分の量を移動する。このような手順を繰り返すと、最終の番組に辿り着くには、384番目→576番目→672番目→720番目→744番目→756番目→762番目→765番目→767番目→768番目の比較を行う必要がある。つまり最悪でも10回の比較で済むため、リストを順番に辿る際の768回の比較に比べればかなり高速な検索が行える。
【0120】
このように、本実施の形態では、番組情報のリスト検索をセル毎ではなくイベント毎に行うシステムにおいて、2分探索を行うことで、検索の際に2分探索を行うことでリストが長くなればなるほど、先頭からリスト内の情報を検索していくのに対し計算量が減る効果を得ることができる。
【0121】
また、番組情報の検索は様々な条件で行われるため、検索方法自体を時間検索、イベント番号検索、双方向検索、2分探索等の検索を複数準備しておくようにすれば、条件により最適な検索を行うことが可能となる。
【0122】
なお、上記各実施の形態に係るEPGデータベース110及び番組記録再生装置100を、上述したようなデジタル放送の電波を受信可能なデジタル放送受信機能を備えたテレビジョン受信機に適用することもできるが、記録する番組は何でもよく、現行テレビ放送番組や、ラジオ放送番組等の音声番組であってもよい。
【0123】
また、EPGデータベース及び番組記録再生装置という名称を用いたが、これには限定されず、EPG情報記憶装置、EPGデータ管理装置、番組予約装置等であってもよいことは勿論である。
【0124】
また、記録装置の種類や記録方法等は限定されず、全ての装置に適用可能である。例えば、記録装置として、VTR(Video Tape Recorder)のほか、HDDやDVD(Digital Versatile Disk)に記録するものでもよい。特に、データ転送速度やランダム・アクセス性能が高く、高速アクセスが可能なHDDを記録媒体に用いれば、長時間記録した番組の中から所望の番組を瞬時に検索し、直ぐに利用することが可能になる。また、光磁気ディスク等HDD以外の記録装置を用いてもよく、同様の効果を得ることができる。
【0125】
さらに、上記EPGデータベース及び番組記録再生装置を構成する各回路部、例えば記憶部、番組記録再生等の種類、数及び接続方法などは前述した実施の形態に限られない。
【0126】
また、以上説明した番組記録再生装置は、この番組記録再生装置を機能させるためのプログラムでも実現される。このプログラムはコンピュータで読み取り可能な記録媒体に格納されている。本発明では、この記録媒体として、図12に示されているEPG構築部103のメインメモリそのものがプログラムメディアであってもよいし、また外部記憶装置としてCD−ROMドライブ等のプログラム読み取り装置が設けられ、そこに記録媒体を挿入することで読み取り可能なCD−ROM等のプログラムメディアであってもよい。いずれの場合でも、格納されているプログラムはEPG構築部103のCPUがアクセスして実行させる構成であってもよいし、あるいはいずれの場合もプログラムを読み出し、読み出されたプログラムは、図示されていないプログラム記憶エリアにダウンロードされて、そのプログラムが実行される方式であってもよい。このダウンロード用のプログラムは予め各装置に格納されているものとする。
【0127】
ここで、上記プログラムメディアは、通信端末装置又は情報処理装置と分離可能に構成される記録媒体であり、磁気テープやカセットテープ等の磁気ディスクやCD−ROM、CD−R/RW、MO、MD、DVD−ROM、DVD−RAM、DVD−RW等の光ディスクのディスク系、PCカード、コンパクトフラッシュカード、スマートメディア、ICカード、SDカード、メモリースティック等のカード系、あるいはマスクROM、EPROM、EEPROM、フラッシュROM等による半導体メモリを含めた固定的にプログラムを担持する媒体であってもよい。
【0128】
さらに、インターネット接続プロバイダ又は携帯メールサービス等の外部の通信ネットワークとの接続が可能な通信接続手段を介して通信ネットワークからプログラムをダウンロードするように、流動的にプログラムを担持する媒体であってもよい。なお、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用プログラムは予め格納しておくか、あるいは別な記録楳体からインストールされるものであってもよい。なお、記録媒体に格納されている内容としてはプログラムに限定されず、データであってもよい。
【0129】
【発明の効果】
以上、詳述したように、本発明によれば、メモリ利用の効率化を図ることができ、番組情報が用意されたメモリより多くなった場合にも、システムを破綻させることなく最適な状態で情報を管理することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態のEPGデータベースのリスト構造を示す図である。
【図2】本発明の第2の実施の形態のEPGデータベースのリスト構造を示す図である。
【図3】本発明の第3の実施の形態のEPGデータベースのリスト構造を示す図である。
【図4】本発明の第4の実施の形態のEPGデータベースのリスト構造を示す図である。
【図5】本発明の第5の実施の形態のEPGデータベースのリスト構造を示す図である。
【図6】本発明の第6の実施の形態のEPGデータベースのリスト構造を示す図である。
【図7】本発明の第7の実施の形態のEPGデータベースのリスト構造を示す図である。
【図8】本発明の第8の実施の形態のEPGデータベースのリスト構造を示す図である。
【図9】本実施の形態のEPGデータベースのリスト構造を示す図である。
【図10】本発明の第9の実施の形態のEPGデータベースのリスト構造を示す図である。
【図11】本発明の第10の実施の形態のEPGデータベースのリスト構造を示す図である。
【図12】本発明の第11の実施の形態のEPGデータベースを用いた番組記録再生装置の構成を示す図である。
【図13】本実施の形態の番組情報をEPGデータベースに登録する番組情報登録処理のフローチャートである。
【図14】本実施の形態のEPGデータベースのリスト構造を示す図である。
【図15】本実施の形態のEPGデータベースのリスト構造を示す図である。
【符号の説明】
1 セル
2 番組情報
3 番組名
4 番組内容
5 契約情報
6 メモリ内配置
7 番組時刻
8 日にち毎の先頭セル管理領域
9 サービス番号
10 メモリ領域
10A サービス毎の先頭セル管理領域
40 サービス毎、日にち毎の先頭セル管理領域
41 イベント番号
42 サービス毎、イベント番号毎の先頭セル管理領域
100 番組記録再生装置
101 受信部(受信手段)
102 番組情報分離部(番組情報分離手段)
103 EPG構築部
104 EPG表示部
105 記録再生部(記録再生手段)
106 デコード部
107 多重化部
110 EPGデータベース(番組情報データベース)
201,301 登録したい番組情報(10:00〜11:00)
202,302 時間順に並んだ番組情報(9:00〜9:50)
203,303 時間順に並んだ番組情報(9:50〜10:15)
204,304 時間順に並んだ番組情報(10:15〜10:50)
205,305 時間順に並んだ番組情報(10:50〜11:30)
206,306 時間順に並んだ番組情報(11:30〜12:00)
[11]〜[16],[21]〜[26],[31]〜[36] 説明のためのセル番号
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a program information database for managing program information and the like of television broadcasting and a program recording / reproducing apparatus.
[0002]
[Prior art]
In recent years, television broadcasting has rapidly shifted from analog broadcasting to digital broadcasting. In this digital broadcasting, the number of channels is increased as compared with the analog broadcasting, and at the same time, information (program information) necessary for program selection by a receiver is transmitted together with the program as service information. The user can display this program information on the display screen of the receiver and use it for confirmation of broadcast programs, viewing reservation, recording reservation, and the like.
[0003]
In a broadcast having program information or program guide data transmitting means, program supplementary information is multiplexed with a broadcast signal of a program and broadcast. The transmitted program supplementary information for presenting the program guide / program information is program information for several days after the current time (one week for BS / CS digital broadcasting). As a starting point, program information for several days can be displayed as a program table. Therefore, in the conventional broadcast program recording / reproducing apparatus, the program information several days ahead of the current time could be confirmed by the program table.
[0004]
Also, in the digital broadcast receiver, only digital broadcasts were received at the beginning of the digital broadcast, so there was sufficient room in the memory area including the nonvolatile memory for storing program information. At present, program information can be browsed by a receiver regardless of digital broadcasting, and a satellite digital broadcast receiver can receive program information of not only BS but also a plurality of networks of CS1 and CS2. .
[0005]
As a result, the number of programs managed as program information has greatly increased, and the amount of information exceeds the originally planned amount depending on the receiver, and a situation in which all the programs cannot be stored in the mounted memory is caused.
[0006]
Japanese Patent Laid-Open Publication No. 2003-163,086 discloses that a block of memory of a fixed size called a cell is connected in a list, and in order to delete a message, it is necessary to check whether a message to be deleted exists. A message buffer area management device that determines whether a message is present in a cell without giving a use flag to each cell and checking only the cell to be deleted without performing a full search on an empty list of cells is disclosed. Have been.
[0007]
[Patent Document 1]
JP-A-3-238544 (FIG. 1)
[0008]
[Problems to be solved by the invention]
However, in such a conventional data area management device, the information is managed by securing a memory area of a size expected to contain all the program information. If the memory area is larger than the specified memory area, there is a possibility that information is lost or the system is destroyed in this system. As an approach to solving this memory shortage, it is necessary to improve the efficiency of memory use.
[0009]
The present invention has been made in view of such a problem, and it is possible to manage information in an optimal state without breaking down the system even when the program information becomes larger than the prepared memory. It is an object to provide a program information database and a program recording / reproducing device.
[0010]
Another object of the present invention is to provide a program information database and a program recording / reproducing apparatus that can improve the efficiency of memory use as an approach for solving a memory shortage.
[0011]
[Means for Solving the Problems]
A program information database of the present invention is a program information database that stores program information in a memory area and manages the contents of the memory area, wherein the memory area includes a plurality of cells that divide the memory area into a certain size. Has a list structure for connecting the cells in a list, and when registering the program information, divides the program information into information with priorities and sequentially assigns the information with priorities to the cells. Is stored.
[0012]
The program information may include at least one of a program name, program contents, and contract information, and the priority order is a program name, program contents, and contract information in this order. Is preferred.
[0013]
With the program information database of the present invention configured as described above, it is possible to add or delete program information with priorities. Accordingly, when program information is added in a state where the memory is insufficient, the priority is lower than the program information to be newly registered, such as a program in the future than the program information to be added or a program that has already finished broadcasting. It is possible to construct a system for deleting information preferentially. Also, the registration of a program with a low priority can be suppressed in the information to be added.
[0014]
When registering the program information, the program information is divided into areas having a fixed memory size called cells, and when the cell size is set to the maximum value of the program information, the registration is performed without reducing the information of one program. Creates the advantage of being able to Conversely, if the cell size is small, the number of cells to be used will be small if the information amount of one program is small, so the amount of memory consumed will be small, and the number of programs that can be registered will increase.
[0015]
In addition, since the number of cells for storing the program information is variable, for example, by making the number of cells constituting one program variable, if there is room in the memory, the number of cells enough to store all the program information is increased. When the memory is running out of space, the number of cells used for one program can be reduced, and the number of programs that can be registered can be increased as compared with the case where the number of cells is fixed.
[0016]
The program information stored in the plurality of cells is connected in a list. For example, the cell includes a next cell position storage unit that stores the position information of the next cell, and is configured to connect the program information in a list by pointing an arbitrary cell to the next cell. That is, if the cells are not connected in a list, when the information of one program is composed of a plurality of cells, the divided cells of one program are arranged in an adjacent memory, or the location of the cell is recorded. Unless measures such as setting an area are taken, it cannot be shown that the cells constitute the same program. By arranging cells in a list, the program information database of the present invention makes it possible to know that cells storing information of one program are constituent cells of the same program even if they are not necessarily adjacent. In this case, if only the first cell can be designated, all subsequent program information can be found.
[0017]
The next cell position storage means stores the position information of the first cell of the cell storing the second program information in the next cell position information of the last cell of the cell storing the first program information. By doing so, it is possible to enhance the search efficiency when program information composed of a plurality of cells is added or deleted in a list. That is, even if the program information is composed of a plurality of cells and connected in a list, it may not be necessary to search all the memories when searching for the first cell for each program in order to obtain each program information. Absent. In the program information database of the present invention, if each program is connected in a list form and a search is performed from the first program information, it is possible to perform a search only in a portion where the program information is registered. Efficiency is increased.
[0018]
Also, the program information is rearranged in time order and stored in the cell in the rearranged time order, so that when the program information is connected in a list form, the program information can be arranged in time order when searching for a target program. For example, even if the program information of the target time does not exist in the database, if the time of the program information in the list is a time later than the target time, the target program information exists in the subsequent lists. Since it is obvious that the search is not performed, it is not necessary to perform useless search.
[0019]
Further, the next cell position storage means stores position information of cells other than the head cell. As an example, a configuration may be provided that includes a head cell management unit that manages the position information of the head cell. The program information database of the present invention, when connecting the program information composed of a list of a plurality of cells in the form of a list in chronological order, by registering the registration position information of the cells other than the head of the list, From that position. If you know the time of the program you want to search, compare it with the information of the registered cells other than the head, and if the information is future than that cell, search from the cells other than the head, you can search at high speed become.
[0020]
In addition, the program information includes a service number, and further includes a service number management unit that manages program information stored in the cell based on the service number. When it is necessary to specify the event or service and time, it is necessary to search for all program information just by listing the program information in a list. Since the search can be performed, the search time can be reduced.
[0021]
Further, the service number management unit rearranges the program information in the order of the service number and stores the program information in the cell in the rearranged order, so that when searching for program information to search for a specific event, If they are lined up, you only need to search the list of services you want. Here, when the target service does not exist, if the services are arranged in order of the service number, it is not necessary to search a list of services having a number higher than the target service, which leads to a reduction in search time.
[0022]
The next cell position storage means stores the position information of the first cell of the program information for each service number, so that when searching for program information to search for a specific event, It is checked whether or not the head cell of the information is registered, and if it is registered, the search for the program information can be started from there. Further, if the registration for each service is arranged in the order of the service number, it is not necessary to search for a service list having a higher number than the target service, which leads to a further reduction in search time.
[0023]
In addition, the program information includes an event number, and further includes an event number management unit that manages program information stored in the cell based on the event number. As an example, the event number management unit sorts the program information in the order of the event numbers and stores the program information in the cells in the sorted order. When searching for an event, the event number is searched by the service number and the event number. If a service in which an event is registered exists and program information in the service is searched, if the events are arranged by event number, it is not necessary to search for an event whose event number is higher than the target event. No waste.
[0024]
Further, the next cell position storage means stores the position information of the cells other than the head of the program information for each event number, so that the search of the list can be started from that position. If the event number of the program you want to search is known, it is compared with the information of the cell registered other than the head, and if the event number is higher than that cell, the search is performed from the cells other than the head, and high-speed search is performed. Search becomes possible.
[0025]
In addition, when memory cannot be secured when additional program information is registered in a cell, by deleting the cell, when there is no free area that can be additionally registered in the memory when additionally registering a new event, the cell is deleted. Can be secured by deleting. If program information is added to the database, memory will eventually run out. Even if an attempt is made to add program information while the memory is insufficient, the program information cannot be added. However, by deleting a cell from the program information list composed of cells, a memory for registering new information can be secured.
[0026]
In addition, when program information is additionally registered in a cell, the information with a higher priority is preferentially added to the cell, or deleted from a cell that stores information with a lower priority, so that memory is insufficient. When adding a cell of program information in a state where the program information to be added is lower in priority than the program information to be newly registered, such as a future program or a broadcast that has already ended, Can be deleted. Regarding the information to be added, when low-priority information is included in the program information, the registration of the low-priority program is suppressed by adding only the cell from the program information in a removed form. be able to.
[0027]
The highest priority information is the program basic information and the program name, and the program basic information and the program name are added to the cell with the highest priority, and the cell storing the program basic information and the program name is stored in the cell. Delete last. That is, when performing addition or deletion with a priority order for each cell, the basic information of the program such as the network ID, the service ID, the event ID, the program start / end time, and the priority of the program name are increased. That is, only the basic information and the program name of the program can be referred to as information at least. When low priority information is included in the program information, only the cell is removed from the program information, and the program information is added. At this time, the basic program information and the program name are deleted from the program information. Never.
[0028]
Furthermore, an empty list of cells not used for the program information is created, and the program information is stored in the cells using the empty list, thereby listing all memory areas. Of the memories that can be used to store the program information, an empty list is created as a cell for a part where the program information is not registered. As a result, in the initial state where no program information is registered, all areas become one empty list. When registering a group, cut cells from this empty list and register the program information.When deleting program information, register the program information cells in the empty list, so that there is no need to search for an empty area in memory at the time of registration. Can be omitted, and the memory can be used more efficiently.
[0029]
In addition, the list structure for connecting the program information stored in the plurality of cells in a list form is bidirectionally searchable. If the list can be searched only in one direction, it is necessary to always search from the beginning. However, in the case of a list that can be searched in both directions, the list can be moved in both directions even in the middle of the list, so that it is not necessary to search from the top every time when registering the program information.
[0030]
In addition, the search for the information is performed for each cell or for each event, so that the cell list is basically searched for each cell. By enabling the search, the search can be performed at high speed.
[0031]
In addition, since the search for the information performed for each event is a binary search, the longer the list becomes by performing the binary search during the search, the more the information in the list is searched from the beginning. The amount of calculation is reduced.
[0032]
In addition, a plurality of search means such as a time search, an event number search, a bidirectional search, and a binary search are provided. By selecting a search means according to use conditions, program information is searched under various conditions. By preparing a plurality of searches, such as a time search, an event number search, a bidirectional search, and a binary search, as the search method itself, it becomes possible to perform an optimum search according to conditions.
[0033]
A program recording / reproducing apparatus according to the present invention includes: a receiving unit that receives a broadcast of a program; a program information separating unit that separates program information and stream data from a received broadcast signal; and a program information database that records the separated program information. 25. A program recording / reproducing apparatus comprising: a recording / reproducing means for recording / reproducing the separated stream data, wherein the program information database is the program information database according to any one of claims 1 to 24. And
[0034]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, preferred embodiments of a program information database according to the present invention and a program recording / reproducing apparatus using the program information database will be described in detail with reference to the accompanying drawings.
[0035]
First embodiment
FIG. 1 is a diagram showing a list structure of an EPG (Electrical Program Guide) database according to the first embodiment of the present invention.
In FIG. 1, reference numeral 10 denotes a memory area of an EPG database (program information database) for storing program information. The program information 2 has a list structure in which a plurality of cells 1 obtained by dividing the memory area into a certain size are connected in a list. Remember.
[0036]
In the present embodiment, one program information 2 is stored in a memory area having a list structure in which a plurality of (here, six) cells 1 are connected in a list. One piece of program information 2 is divided into a program name 3, a program content 4, and contract information 5, and each of them is stored in a plurality (here, two) of cells 1.
[0037]
Numerical values at the left end (represented by []) in cell 1 in the figure are the serial numbers described above for convenience of description, and such numerical values are not assigned to each cell 1 (in the following description, The same is true for the value indicated by the leftmost [] in the cell.)
[0038]
By the way, in current BS digital broadcasting and 110-degree CS digital broadcasting, program information for displaying an EPG is program arrangement information (Service Information, hereinafter referred to as SI) called an event information table (Event Information Table, hereinafter referred to as EIT). Has been transmitted. The broadcast receiving apparatus analyzes the EIT and manages the program information to display information on various programs. An application example of the broadcast receiving apparatus including the EPG database will be described later with reference to FIG.
[0039]
Here, it is assumed that the program information 2 for one program is composed of a program name 3, program contents 4, and contract information 5, as shown in FIG. The program information 2 is divided and stored in a memory area of a certain size called a cell 1. In FIG. 1, the program name 3 of the program information 2 is divided into cells [11] and [12], the program content 4 is divided into cells [13] and [14], and the contract information 5 is divided into cells [15] and [16]. Stored.
[0040]
As described above, one piece of program information 2 is divided into pieces of information (program name 3, program contents 4, and contract information 5), and the divided information is divided and stored in a plurality of cells 1, so that the program information 2 is allocated. The amount of information in the memory area can be reduced, and more information can be stored in the limited memory. Conversely, if all the SI information of the program information 2 for one program can be stored, more detailed program information can be provided with a limited memory. Since the cells 1 do not necessarily need to be arranged adjacent to each other on the memory, an empty memory area can be effectively used.
[0041]
As described above, the EPG database according to the present embodiment has a plurality of cells 1 for dividing the memory area 10 for storing program information into a certain size, and a list structure for connecting the plurality of cells 1 in a list. When registering the program information 2, the program information 2 is divided into information (program name 3, program content 4, contract information 5) with priority, and the program name 3, program content 4 and contract Since the information 5 is sequentially allocated to the cell 1 and stored, even if the program information becomes larger than the prepared memory by increasing the efficiency of the memory use, the information can be stored in an optimum state without breaking down the system. Can be managed.
[0042]
That is, in the conventional satellite digital broadcast receiver, at the beginning, only the BS digital broadcast is received, so that there is sufficient room in the memory area including the nonvolatile memory for storing the program information. At present, program information can be browsed by a receiver regardless of digital broadcasting, and a satellite digital broadcast receiver can receive program information of not only BS but also a plurality of networks of CS1 and CS2. . As a result, the number of programs managed as program information has significantly increased, and some receivers have run out of memory. In the related art, information is managed by securing a memory area of a size expected to contain all program information. However, if the program information is larger than the expected memory area, the information may be lost or the system may be destroyed in this system. As an approach to solving this memory shortage, it is necessary to improve the efficiency of memory use.
[0043]
In the program information database according to the present invention, it is possible to add or delete program information with a priority order. Therefore, when program information is added in a state where the memory is insufficient, a program that is more future than the program information to be added is not available. It is possible to construct a system that preferentially deletes information having a lower priority than program information to be newly registered, such as a program that has already been broadcast or has already ended. Also, in the case of information to be added, if the priority of the program information is low, registration of a program with low priority can be suppressed by not registering the information in the database.
[0044]
When registering the program information, the program information is divided into areas having a fixed memory size called cells, and when the cell size is set to the maximum value of the program information, the registration is performed without reducing the information of one program. Creates the advantage of being able to Conversely, if the cell size is small, if the amount of information of one program is small, the number of cells to be used will be small, so that the amount of memory consumed will be small and the effect of increasing the number of programs that can be registered can be obtained.
[0045]
The device described in Patent Literature 1 is a technology of a message buffer, and is not a database for program information. Further, the device described in Patent Literature 1 has a use flag for each cell and checks only the cell to be deleted when checking whether or not there is a message to be deleted in order to delete the message. It determines whether a message exists in the cell without performing a full search on the empty list of cells, and is effective only when a cell for a specific message is specified. On the other hand, the program information database of the present invention does not specify the cell where the program information is stored because the system is based on the premise that the memory is effectively used.
[0046]
Second embodiment
FIG. 2 is a diagram showing a list structure of an EPG database according to the second embodiment of the present invention, and the same components as those in FIG. 1 are denoted by the same reference numerals. FIG. 2A is the same as FIG.
[0047]
The content of the EIT varies depending on the program. As shown in FIG. 2 (a), program information 2 for one program may be composed of two cells for program name 3, two cells for program contents 4, and two cells for contract information 5 in some cases. As shown in (b), the program name 3 may be composed of one cell, the program content 4 is composed of two cells, and there is no contract information.
[0048]
By storing each piece of information of the program information 2 in a plurality of cells 1 as described above, the number of cells used for each program can be changed as compared with the case where one piece of program information is allocated to a fixed memory area. And the amount of memory used can be changed appropriately. Therefore, since a useless memory area is unlikely to occur, more program information can be stored with the same memory amount.
[0049]
Third embodiment
In the first and second embodiments, when the program information 2 includes a plurality of cells 1, it is necessary to be able to determine which program stores the program information for which cell. For example, if the cells that constitute the program information of one program are placed next to each other in a fixed order and a fixed number of cells, such as the program name first, the program contents next, and the contract information last, a certain program It is possible to determine the cell to which it belongs. However, when the number of cells constituting a program is made variable, it is not always possible to store all the cells constituting a program in a place where a certain program is placed when another program is placed. Absent. As an example, if program information using 4 cells in a continuous area is deleted and program information is added to the same area, there is a possibility that program information of 4 cells or more cannot be registered. . As another method, a method of registering a cell location for each program can be considered, but a place for securing the information is required, and a system for managing the cell location for each program is required. Become. Furthermore, a method of registering information such as a program number or the like that can uniquely determine program information for each cell can be adopted. However, it is necessary to register a program number in all cells, which is not only wasteful of memory, but also a waste of memory. There is a demerit that program information cannot be collected unless a memory area is searched.
The present embodiment is an example in which, when the cells constituting the program information are connected in a list, it is possible to determine which program information the cell stores.
[0050]
FIG. 3 is a diagram showing a list structure of an EPG database according to the third embodiment of the present invention. In the case where program information <1> and program information <2> are registered, a cell list structure and a memory arrangement are shown. Here is an example.
[0051]
In FIGS. 3A and 3B, reference numeral 1 denotes a plurality of cells obtained by dividing a memory area into a predetermined size, and 2 denotes a plurality of (here, six) cells 1 stored in a list-structured memory area in which the cells 1 are connected in a list. Program information <1> and program information <2>. The program name of the program information <1> is divided into cells [11] and [12], the program content is divided into cells [13] and [14], and the contract information is divided into cells [15] and [16]. The program name of the information <2> is divided into cells [21] and [22], the program content is divided into cells [23] and [24], and the contract information is divided and stored into cells [25] and [26].
[0052]
Further, the cell 1 stores next cell position information indicating the position of the next cell. The next cell position specifies the cell position stored in the in-memory arrangement 6 shown in FIG. 3C by a combination of alphabets and numbers (E2, C3, J4,...).
[0053]
The memory arrangement 6 shown in FIG. 3C is a memory for storing a numerical value of a cell position. In this case, A to K and numbers 1 to 5 are used to store cells 1 of program information <1> and program information <2>. Remember the position.
[0054]
In FIG. 3, the first cell [11] of the program information <1> is A1, the cell of A1 points to the position information E2 of the next cell [12], and the next cell [12] is similarly the cell [13]. To form a list. The last cell [16] points to its own position E4, indicating that it is the last cell. In the program information <2>, the first cell [21] is stored in B4, the first cell [21] indicates the position information G1 of the next cell [22], and the next cell [22] is similarly stored. A list is formed by pointing to cell [23]. The last cell [26] indicates that it is the last cell by pointing to its own position F5.
[0055]
In the present embodiment, an example has been shown in which the next cell position information is provided in the cell 1 by a combination of alphabets and numbers (E2, C3, J4,...). 1, a physical address (or a memory address divided into an array) is stored as the next cell position information. It is assumed that the number of cells 1 may be 100,000 or more. Therefore, the in-memory arrangement 6 shown in FIG. 3 (c) indicates the physical arrangement of the memory, and is stored in the storage area for each cell specified by the physical address of the memory as shown in FIG. 3 (c). The information obtained by dividing the program information according to the priority order is stored in a predetermined size. Also, as shown in FIG. 3C, it is preferable to specify the address of the next cell position information so that the memory area can be used effectively.
[0056]
When the program information <1> and <2> are stored in the cell 1 list in this manner, if the list is traced from the first cell for each program, the cells for each program naturally exist in a lump, so that the entire cell is searched. , Information retrieval can be performed more efficiently than acquiring information. Also, by registering the location of the first cell separately, it is sufficient to search only that area when searching. In addition to expressing the end cell by pointing to itself, the end cell may be expressed by describing a numerical value FF or the like indicating the end cell. A method of inserting a cell called a dummy head before the head cell and a dummy tail after the end cell and indicating the start cell and the end cell, which is not related to the program information, is also conceivable. Furthermore, it is also possible to configure the program information by registering how many cells the program is composed in in the program information.
[0057]
As shown in the in-memory arrangement 6 in FIG. 3 (c), the cells constituting one program do not need to be adjacent to each other, and there is no place to register the cell when rearranging the program. The inability to do so occurs only when the memory area runs out. Therefore, there is an effect that efficient use of the memory can be expected.
[0058]
As described above, according to the present embodiment, by making the number of cells constituting one program variable, if there is room in the memory, the number of cells enough to store all the program information is allocated to each program, When there is no more room in the memory, the number of cells used for one program can be reduced, so that the number of programs that can be registered can be increased as compared with the case where the number of cells is fixed.
[0059]
Fourth embodiment
As described in the third embodiment, when searching for a system in which cells constituting information of one program are arranged in a list, when a head cell of target program information is not registered, Regardless of the usage rate, it is not possible to confirm that the target program is not registered unless the entire memory is searched. This is the same when the program information is not composed of cells. The present embodiment is an example in which a search can be performed in a part where program information is registered without searching the entire memory.
[0060]
FIG. 4 is a diagram showing a list structure of an EPG database according to the fourth embodiment of the present invention. In the case where program information <1> and program information <2> are registered, a cell list structure and a memory arrangement are shown. Here is an example. The same components as those in FIG. 3 are denoted by the same reference numerals.
In the present embodiment, as shown in FIG. 4, the program information itself is also made into a list and can be added or deleted.
[0061]
For example, when the program information <2> is added after the program information <1>, the program information is set such that the last cell [16] of the program information <1> indicates the first cell [21] of the program information <2>. B4 is registered at the cell position next to the last cell [16] of the information <1> (see B4 in FIG. 4C). Here, it is assumed that the head cell of the first program information starts from A1. To add program information, register the start cell position of the program to be added in the next cell position information of the last cell of the straight program information of the program to be added, and add the previous program to the next cell position information of the last cell of the program to be added. This becomes possible by registering the cell position information registered in the next cell position information of the last cell of the information. In the case of deletion, it is only necessary to register the next cell position information of the last cell of the program to be deleted in the next cell position information of the last cell of the program information immediately before the program to be deleted. In this example, the first cell is set to A1, but it is also conceivable that the position of the first cell is not fixed but operated by registering the location of the first cell separately. In addition to expressing the end cell by pointing to itself, the end cell may be expressed by describing a numerical value FF or the like indicating the end cell. A method of inserting a cell called a dummy head before the head cell and a dummy tail after the end cell and indicating the start cell and the end cell, which is not related to the program information, is also conceivable. If the search is performed from the first cell as shown in FIG. 4, all registered cells are searched.
As a result, only the part where the program information is actually included is searched, so that even if no program information exists, only the list needs to be searched, and the amount of calculation is reduced.
[0062]
Thus, according to the present embodiment, by arranging cells in a list, it is possible to know that cells storing information of one program are constituent cells of the same program even if they are not necessarily adjacent. When searching, if only the first cell can be specified, all subsequent program information can be found.
[0063]
Fifth embodiment
In the fourth embodiment, by arranging the program information itself in the form of a list, it is not necessary to search for a part in which the program information is not registered. Unless the search is completed, it cannot be determined that the program information does not exist. The present embodiment is an example in which even when program information of a target time does not exist in the database, the entire memory is not searched.
[0064]
FIG. 5 is a diagram showing a list structure of an EPG database according to the fifth embodiment of the present invention. FIG. 5 shows an example of a cell list structure and a memory arrangement when registering program information <1> to <3>. Show. The same components as those in FIG. 4 are denoted by the same reference numerals.
[0065]
Consider a case in which program information is arranged in chronological order. As shown in FIG. 5, program information <1> (19:30 on July 28, 2002 to 20:00 on July 28, 2002), program information <2> (20:00 on July 28, 2002) 00:20:54 on July 28, 2002) and program information <3> (00:30 on July 29, 2002 to 4:30 on July 29, 2002). In the case of searching for program information, for example, if information of a program broadcast at 20:30 on July 28, 2002 is acquired, the program information <2> is naturally acquired. Assuming that another program information, for example, information of a program broadcasted at 22:30 on July 28, 2002 is acquired, the program information <2> is a program before the designated time and the program information <3> Is the program after the specified time. Since it is guaranteed that they are arranged in the order of time, it can be seen that the desired program information is a program between the program information <2> and the program information <3> and is not registered in the list.
[0066]
By arranging the program information in chronological order in this way, it is not necessary to search until the end of the list even when the program information is not registered in the list. That is, even if the program information is composed of a plurality of cells and connected in a list, it may not be necessary to search all the memories when searching for the first cell for each program in order to obtain each program information. Absent. In this embodiment, if each program is connected in the form of a list and a search is performed from the first program information, it is possible to search only in a portion where the program information is registered. Can be raised.
[0067]
Sixth embodiment
In the fifth embodiment, useless search can be considerably reduced by arranging the program information in chronological order. However, even in this system, when the list itself is long, the search also takes time. Therefore, in the present embodiment, a search can be started from the middle of the list by registering information other than the head of the list.
[0068]
FIG. 6 is a diagram showing a list structure of an EPG database according to the sixth embodiment of the present invention. FIG. 6 shows an example of a cell list structure and a memory arrangement when registering program information <1> to <3>. Show. The same components as those in FIG. 5 are denoted by the same reference numerals.
[0069]
As shown in FIG. 6E, a head cell management area 8 for each date is prepared, and a head cell for each date is registered here. Here, at the beginning of the first day (July 28, 2002), cell position information A1 of program information <1> (19:30, July 28, 2002 to 20:00, July 28, 2002), At the beginning of the second day (July 29, 2002), the cell position information K1 of the program information <3> (00:30 on July 29, 2002 to 4:30 on July 29, 2002) is registered. I have. On the third day (July 30, 2002), no program information exists, and no information is registered.
[0070]
When performing a search, the time of the program information to be acquired is checked to determine which day the program information is. If cell position information is registered therein, the search is started from there. For example, when trying to acquire information on a program broadcast on July 29, 2002 at 8:30 in the same manner as in FIG. 5, this program falls on the second day. Start. Since the position of the first cell on the second day is found to be K1 from the first cell management area 8 for each date, a search is performed from the cell at this position. Here, the cell K1 points to the program information <3> (00:30 on July 29, 2002 to 4:30 on July 29, 2002), and the search is started from here. Since the program information <3> is a program before 8:30 on July 29, 2002, the next program is searched. However, since the program information <3> is the last program, there is a search program. It turns out not. When a similar search is to be performed from the beginning, it is necessary to follow links for three pieces of program information, but this method ends the search only for one program. Also, when searching for a program at 12:00 on July 30, 2002, the first cell on the third day is obtained, but since no information is contained therein, the search ends without searching.
As described above, the present embodiment is an effective system for searching for a program that is not registered.
[0071]
For example, when the program information is connected in a list, if the target programs are arranged in chronological order when searching for the target program, even if the program information of the target time does not exist in the database, the time of the program information in the list is However, if the time is later than the target time, it is obvious that the target program information does not exist in the list after that time, so that it is possible to obtain an effect that there is no need to perform useless search.
[0072]
Seventh embodiment
By arranging the program information in a list, it is not necessary to search for a part where the program information is not registered. Incidentally, the target program information is usually accompanied by a service number. That is, when searching, it is common to search by service number and program broadcast time. Some programs are broadcast at the same time by different services. Therefore, in the present embodiment, it is possible to start searching the list from a position other than the head position of the list.
[0073]
FIG. 7 is a diagram showing a list structure of an EPG database according to the seventh embodiment of the present invention. FIG. 7 shows an example of a cell list structure and a memory arrangement when registering program information <1> to <3>. Show. The same components as those in FIGS. 5 and 6 are denoted by the same reference numerals.
[0074]
As shown in FIG. 7, the program information is constituted by a block for each service number 9. In FIG. 7, program information <1> is registered with a service number “101” which is a block for each service, similarly, program information <2> is registered with a service number “101”, and program information <3> is registered with a service. It is registered with the number “191”. As a result, it is possible to register programs of the same time in the list without overlapping.
[0075]
In addition, when registering in a lump for each service, the programs are registered in the order of the service number 9 so that it is determined that there is no corresponding program when the search has been performed up to the program with the service number 9 larger than the service number. And unnecessary search is eliminated. Further, the program information list for each service is also composed of a list of program broadcast times in the order of seven as shown in FIG. 6, so that when a search in the service becomes a time earlier than the time of the search condition at the time of the search. , It can be determined that there is no corresponding program, and further unnecessary search is eliminated. This makes it possible to reduce the amount of calculation.
[0076]
For example, by registering the position information of a cell other than the head, it becomes possible to start searching the list from that position. If the time of the program you want to search is known, high-speed search is realized by comparing the information of the cell registered at other than the head and searching from the cell other than the head if the information is future than that cell can do.
[0077]
Eighth embodiment
In the seventh embodiment, an efficient search can be performed by forming the list in the order of the service number and the broadcast time. However, when a large number of services are present, searching a list other than the target service is often a wasteful calculation. Therefore, in the present embodiment, an example suitable for searching a list other than the target service will be described.
[0078]
FIGS. 8 and 9 are diagrams showing a list structure of an EPG database according to the eighth embodiment of the present invention. In the case where program information <1> to <3> is registered, a cell list structure and a memory arrangement are shown. Here is an example. 6 and 7 are denoted by the same reference numerals.
[0079]
As shown in FIG. 8E, the head position for each service is registered in the head cell management area 10A for each service. In FIG. 8, the first cell K1 is registered in the service number 101, the first cell is not registered in the service number 181 and the first cell A1 is registered in the service number 191. For example, in order to search for the number of the service number 101, the search of the list is started from K1 registered in the head cell management area 10A for each service. It is possible to do. For services for which there is no list, such as the service number 181 of the head cell management area 10A for each service, the cell information position is not registered or a number indicating that no list exists is registered. When searching, it is not necessary to search for a service having no program information.
As described above, since it is not necessary to search the list other than the target service, high-speed search can be performed.
[0080]
In addition, by constructing the head cell management area 10A for each service in the order of the service number, when searching for a service number, it is possible to determine that no service exists when a service number larger than the service number to be searched comes out. . Further, as shown in FIG. 9, by having the cell position information for each time described in the sixth embodiment for each service, for example, if it is desired to search for the program on the second day of the service number 191, By obtaining the registration information from the head cell management area 40 for each date, only the corresponding day of the corresponding service can be searched, and a system with high search efficiency can be constructed.
[0081]
When searching for program information, it is necessary to specify a service and an event, or a service and a time. Although it is necessary to search for all program information just by listing program information in the form of a list, in this embodiment, if the service information is arranged for each service, it is sufficient to search for the list of target services, so the search time is reduced. Leads to.
[0082]
Ninth embodiment
In digital broadcasting, a program is uniquely determined by a network number, a service number, and an event number. When creating a database for EPG, only one program having the same network number, service number, and event number is registered so that a plurality of identical programs are not registered. Therefore, it is necessary to confirm whether a program that matches the program is registered in the database for each piece of program information. At this time, as described in the sixth to eighth embodiments, if the programs are listed in order of time, it is necessary to search all programs registered in the list in order to search for programs. , Very inefficient.
[0083]
FIG. 10 is a diagram showing a list structure of an EPG database according to the ninth embodiment of the present invention. FIG. 10 shows an example of a cell list structure and memory arrangement when registering program information <1> to <3>. Show. 6 to 9 are denoted by the same reference numerals.
[0084]
Therefore, in the present embodiment, a list in the order of event numbers shown in FIG. 10 is created. That is, in this embodiment, as applied to the chronological list in the sixth to eighth embodiments, information other than the head of the list can be registered, and the program information is stored for each service number. Are arranged in the order of service number, and the head position for each service is registered in the head cell management area 10A for each service. As a result, a search having the same advantages as the time-ordered list can be performed using the event number. For example, when searching for program information in order to search for a specific event, it is sufficient to search only a list of target services if they are arranged for each service. Here, when the target service does not exist, if the services are arranged in order of the service number, it is not necessary to search a list of services having a number higher than the target service, which leads to a reduction in search time.
[0085]
Tenth embodiment
In the ninth embodiment, it is possible to perform an efficient search by forming the list in the order of the service number and the event number. In the present embodiment, by managing the head position for each service, it is not necessary to search a list other than the target service.
[0086]
FIG. 11 is a diagram showing a list structure of an EPG database according to the tenth embodiment of the present invention. FIG. 11 shows an example of a cell list structure and a memory arrangement when registering program information <1> to <3>. Show. 6 to 10 are denoted by the same reference numerals.
[0087]
In the present embodiment, a head cell management area 42 for each service and for each event number is prepared as shown in FIG. For example, as shown in FIG. 11, the cell position information (here, the cell position A1 of the service number 191) of the program having the smallest event number among the event numbers [0x0000] to [0x0999] is registered for each service, A management area in which the cell position information of the program having the smallest event number among the event numbers [0x1000] to [0x1999] (here, the cell position K1 of the service number 101) is registered. By setting, it is possible to construct a system with higher search efficiency.
[0088]
For example, when searching for program information to find a specific event, check if the first cell of the program information is registered in the target service, and if it is registered, start searching for program information from there good. Further, if the registration for each service is arranged in the order of the service number, it is not necessary to search for a service list having a higher number than the target service, which leads to a further reduction in search time.
[0089]
In addition, by registering the position of the first cell of the first program information for each service, when searching for program information to search for a specific event, whether the first cell of the program information is registered in the target service It is sufficient to check whether the program information has been registered and to start searching for program information therefrom. Further, if the registration for each service is arranged in the order of the service number, it is not necessary to search for a service list having a higher number than the target service, which leads to a further reduction in search time.
[0090]
Also, by creating a list in the order of event number, when searching for events, search by service number and event number, but if there is a service where the event is registered and you want to search for program information in that service By arranging by event number, there is no need to search for an event whose event number is higher than the target event, and the search is not wasted.
[0091]
Further, when connecting the program information composed of the cell list in the form of a list in the order of the event number, by registering the registration position information of the cells other than the head of the list, the position information of the cells other than the head is registered. By registering, it becomes possible to start searching the list from that position. If the event number of the program you want to search is known, it is compared with the information of the cell registered other than the head, and if the event number is higher than that cell, the search is performed from the cells other than the head, and high-speed search is performed. Search can be realized.
[0092]
Eleventh embodiment
This embodiment shows an example of the configuration of a program recording / reproducing apparatus using the EPG database of each of the above embodiments and registration of program information.
[0093]
FIG. 12 is a diagram showing a configuration of a program recording and reproducing apparatus using an EPG database according to an eleventh embodiment of the present invention. The program recording / reproducing apparatus according to the present embodiment is an example applied to a television receiver having a digital broadcast receiving function capable of receiving radio waves of digital broadcast.
[0094]
12, a program recording / reproducing apparatus 100 includes a receiving unit 101 (receiving means) for receiving a broadcast of a selected program, and a program information separating unit for separating program incidental information multiplexed into a received broadcast signal. An EPG database 110 (program information database) having a memory area 10 having the list structure of FIGS. 1 to 11 and storing and holding received program information in the memory area 10; , An EPG construction unit 103 for performing a data construction process of registering program information in the EPG database 110, an EPG display unit 104 for creating and displaying program table display data to be displayed from the constructed program table configuration content data, A recording / reproducing unit 105 (recording / reproducing means) for writing data to a recording device and reading data from the recording device; A decoding unit 106 for decoding the data, and includes a multiplexing unit 107 for displaying by superimposing the decoded video signal and the program guide display.
Hereinafter, the operation of the program recording / reproducing apparatus configured as described above will be described.
[0095]
The program recording / reproducing apparatus receives a broadcast television program such as a terrestrial wave, cable, BS, or CS. The broadcasted television broadcast program is received by the receiving device as a signal including the received broadcast program from the input terminal, and the received data is input to the present program recording / reproducing device.
[0096]
The receiving unit 101 is a processing unit that receives a broadcast signal, selects one or a plurality of specific program broadcasts, and makes the broadcast stream usable in the next process, and selects an antenna for receiving the broadcast and a received signal. It comprises a tuner and a descrambler for pre-processing the program.
[0097]
The program information separating unit 102 separates the program accompanying information multiplexed in the received broadcast signal, sends the separated program accompanying information to the EPG constructing unit 103, and sends the recording stream to the recording / reproducing unit 105.
[0098]
The EPG database 110 stores and holds the program information in the memory area having the list structure described in each embodiment. A specific example of the list structure of the EPG database 110 will be described later with reference to FIGS.
[0099]
The EPG constructing unit 103 constructs program guide configuration content data from the program information, and records and holds the data in the EPG database 110.
The EPG display unit 104 acquires the program guide configuration content data from the EPG construction unit 103 and configures the program guide for display.
The recording / reproducing unit 105 performs recording on a recording device.
[0100]
The decoding unit 106 decodes the received reproduction stream to create video data. The video data is multiplexed with other displays by the multiplexing unit 107 and output as a video output.
The EPG display unit 104 acquires the program guide configuration content data from the EPG construction unit 103 and configures the program guide for display.
Next, a specific example of a process of registering program information in the EPG database 110 of the program recording / reproducing apparatus 100 will be described in detail.
[0101]
FIG. 13 is a flowchart of a program information registration process for registering program information in the EPG database. In the figure, S indicates each step of the flow.
When a program for registering program information is started in step S1, it is checked in step S2 whether the same program as the program is registered. The determination of the same program is performed by combining IDs that uniquely determine program information such as a network ID, a service ID, and an event ID. At this time, if the EPG database 110 is listed in the order of the event ID number for each service ID, the same program can be searched at high speed. Also, in the search at this time, instead of following the listed cells, the first cell of the next event is described for each program information, and a bidirectional search in which the search is performed by following this is enabled. Doing so increases the speed at which you move through the list. A search is made as to whether a program that matches the program to be registered is registered by the means described above.
[0102]
If the same program exists on the EPG database 110, it is determined in step S3 whether or not the registered information matches the program information to be registered. If the program information matches, there is no need for registration, so that registration is not required in step S4, and the flow is terminated.
[0103]
If the contents of the program information do not match in spite of the same program in step S3, the program information registered in the EPG database 110 is deleted from the list in step S5, and the process proceeds to step S6. Here, when deleting the program information, the program information is not only separated from the list but also registered in a list called an empty list in which unused cells are listed. By creating the empty list, it is not necessary to search for an empty area in the memory when registering the program information, and the cells registered in the empty list can be used as they are. Also, when determining whether or not there is a memory for registering program information, it is only necessary to determine how many cells remain in the empty list, which facilitates memory management.
[0104]
If the same program is not registered in step S2 or the information of the same program is different in step S5 and thus deleted, the program time coincidence is determined in step S6. Since there is no program that overlaps with the program to be registered in the same service (the program in step S1), the information on the overlapping time is determined. In order to search for program information with overlapping times, it is necessary to search for a program whose end time is later than the start time of the program to be registered (the program of step S1) and earlier than the end time of the program to be registered. The check can be performed by searching all the program information registered in the EPG database 110. However, as described in the fifth to eighth embodiments, if the list is arranged in chronological order, it is not necessary to perform a full search. . Also, by providing a plurality of such search methods in one EPG database 110, it is possible to always perform an optimal search when searching under a plurality of conditions. The search method specifically searches for a program whose end time is later than the start time of the program to be registered first (the program of step S1). If not found, it can be determined that the program to be registered is registered at the end of the list. Next, a program whose start time is earlier than the end time of the program to be registered (the program of step S1) is searched. If not found, it can be determined that the program to be registered is registered at the top of the list.
[0105]
14 and 15 are diagrams showing a list structure of the EPG database 110. FIG.
As shown in FIG. 14, when the EPG database 110 is listed in time order, it is not necessary to separately perform the above two searches from the beginning, and the program 201 to be registered ends at a start time of 10:00. When a program 203 whose time is late is found, a search is made for a program whose start time is earlier than the end time of the program 201 to be subsequently registered from the program 203. In order to search all programs in the form of a list whose start time is earlier than the end time, a search is performed until a program 206 whose start time is later than the end time is found, and the program up to the previous program 205 is repeated. Must be determined as If this method is used, it is possible to detect a program whose time is duplicated even in a list whose time is open as shown in FIG.
[0106]
Although the program can be searched by the above procedure, after finding the program 206 whose start time is later than the end time, in order to return to the previous program 205, the list can be traced only from the head direction. In this case, the list from the top is traced twice. Therefore, if a bidirectional list that allows bidirectional search of the list is implemented, the program is searched once, and after traversing the list once, finding the program 206 whose start time is later than the end time, the program 205 Since it is possible to return, there is no need to perform the second list search.
[0107]
Returning to the flow of FIG. 13, in step S6, it is confirmed that the program times match, and if a program that is temporally duplicated is found, the duplicated program information is deleted in step S7 and added to the empty list. Proceed to step S7. If no temporally duplicated program is found, the process proceeds directly to step S8.
[0108]
In step S8, it is checked whether there is a memory in which the program information to be registered next (the program in step S1) can be registered, that is, the number of cells of the program information to be registered is compared with the number of cells registered in the empty list. I do. Here, if the remaining cell number is sufficient, a cell is secured from the empty list, and the registration of the program information is completed by registering the program information in step S9. If the number of remaining cells is not enough, it is first checked whether there is any program that has already ended. If the program that has ended is registered in the EPG database 110, this program is checked in step S10. To delete. The deletion here deletes the program up to the current time, similarly to the deletion of the program whose time is overlapped. After registering the already-terminated program information in the empty list, the number of cells registered in the empty list is checked again in step S11. Here, if the number of cells that can store the program information to be registered can be secured, the registration process is performed in step S9. If the number of cells cannot be secured, the cell of the program content is deleted in step S12, and then the process proceeds to step S13. Check the number of cells registered in the empty list again. Here, the cell deletion of the program content means that the information in the program information to be registered is prioritized, and only the cell of the information having the lower priority is deleted. For example, it is assumed that the program information includes a program name, program contents, and contract information (see FIG. 1). At this time, the priorities in the program information are in the order of the program name, the program contents, and the contract information. That is, if a registrable cell cannot be secured, first, the contract information is not registered. If the registrable cell cannot be secured, the program content is not registered. At this time, the program information to be registered includes only the program name. If registration is still not possible, the cells are deleted in the order of the contract information and the program contents for the information registered in the EPG database 110 as well.
[0109]
The cells of the program information are reduced by the above procedure, and the program information is registered when the program information can be registered in the empty list (step S9). In some cases, the program information cannot be registered even after performing the above processing (NG in step S13). In this case, after the program information with the priority order is deleted in step S14, the number of cells registered in the empty list is confirmed again in step S15. Since the program name in the program information is preferentially left to the end, all the program information on the EPG database 110 at this time is composed of only the program basic information and the program name. Also, the program information to be registered is only the program basic information and the program name. In order to register the program information to be registered in the EPG database 110, it is necessary to delete other program information. At this time, the program information to be added or deleted with the priority order of the program information is compared with the priority order of the currently registered program information to delete the program information. Examples of priorities include a method of preferentially deleting information on a network different from the network of the program information to be registered, and a method of preferentially deleting program information in the future from the program information to be registered, that is, selecting a program close to the current time. A method of preferentially retaining the information, or a method of prioritizing the television, radio, and data for each medium in order of the data and preferentially deleting the program information of the data can be considered.
[0110]
In this priority determination, if there is no program information to be deleted having a lower priority than the program information to be registered on the EPG database 110, the program information is not deleted. If the number of cells is not enough even after the deletion of the program contents with the priorities is completed (NG in step S15), registration is determined to be impossible in step S16, and the registration process ends. If registration is possible, registration processing is performed in step S9, and this flow ends.
[0111]
As described above, according to the present embodiment, when there is no free area that can be additionally registered in a memory when a new event is additionally registered, a memory for registering new information is secured by deleting a cell. can do.
[0112]
In this case, when a cell of program information is added in a state where memory is insufficient, priority is given to program information to be newly registered, such as a program that is more future than the program information to be added or that has already finished broadcasting. Information with low priority can be deleted preferentially, and when information to be added includes low-priority information in the program information, only that cell is removed from the program information and added. By doing so, it is possible to suppress registration of programs with low priorities.
[0113]
Here, the EPG database 110 stores basic information of a program, such as a network ID, a service ID, an event ID, and a program start / end time, when adding or deleting a cell in a priority order. By increasing the priority order, that is, by allowing at least the basic information of the program and the program name to be referred to as information, if the program information contains low-priority information, , But only the cell is removed from the program information, but the program basic information and the program name are not deleted from the program information.
[0114]
Also, by creating an empty list in which a memory area not used as program information is a list of cells, all memory areas are listed. Of the memories that can be used to store the program information, an empty list is created as a cell for a part where the program information is not registered. As a result, in the initial state where no program information is registered, all areas become one empty list. When registering a group, cut cells from this empty list and register the program information.When deleting program information, register the program information cells in the empty list, so that there is no need to search for an empty area in memory at the time of registration. Can be omitted, and the memory can be used more efficiently.
[0115]
Furthermore, by making the list searchable in both directions, if the list can be searched only in one direction, it is necessary to always search from the beginning, but if the list can be searched in both directions, the list It is possible to move in both directions even in the middle of the process, so that it is not necessary to search from the top every time when registering the program information.
[0116]
It is also possible to search for a program for each event instead of for each cell. The cell list is basically searched in units of cells, but the search can be performed at high speed by enabling the search in units of events in the cell list in which the program information is registered.
[0117]
Twelfth embodiment
The longer the list, the higher the search cost. Therefore, in the present embodiment, when a search is performed on an EPG database 110 of program information on an event basis, a search speed is increased by performing a binary search instead of a search from the beginning.
[0118]
For example, if program information of 96 events per day is registered for 8 days, a normal list search requires 768 steps of comparison to reach the final event. When the binary search is implemented, the contents of the event at the half position are compared first. In this case, the comparison is performed at the 384th event, and it is determined whether the comparison control is located after or before the 384th event in the list. In the next step, a comparison is made with the program information at half the position.
[0119]
If the comparison is later than the 384th event in the list, the program information is compared with the program information at the 576th position further advanced by 192 events. Compare with information. The next step is to move another half. By repeating such a procedure, in order to reach the final program, the comparison of 384th → 576th → 672nd → 720th → 744th → 756th → 762th → 765th → 767th → 768th is performed. There is a need. In other words, at least 10 comparisons are required at the worst, so that a considerably faster search can be performed as compared with 768 comparisons when traversing the list in order.
[0120]
As described above, in the present embodiment, in a system in which the program information list search is performed not for each cell but for each event, the binary search is performed, and the search is performed by the binary search, so that the list can be lengthened. The more the information is searched in the list from the beginning, the more the amount of calculation can be reduced.
[0121]
In addition, since program information search is performed under various conditions, if a plurality of searches such as a time search, an event number search, a bidirectional search, and a binary search are prepared as the search method itself, the search condition is optimized according to the conditions. Search can be performed.
[0122]
The EPG database 110 and the program recording / reproducing device 100 according to each of the above embodiments can be applied to a television receiver having a digital broadcast receiving function capable of receiving the digital broadcast radio waves as described above. The program to be recorded may be anything, and may be an audio program such as a current television broadcast program or a radio broadcast program.
[0123]
In addition, although the names of the EPG database and the program recording / reproducing device are used, the present invention is not limited to this, and may be an EPG information storage device, an EPG data management device, a program reservation device, or the like.
[0124]
Further, the type of the recording device, the recording method, and the like are not limited, and can be applied to all devices. For example, in addition to a VTR (Video Tape Recorder), a recording device such as an HDD or a DVD (Digital Versatile Disk) may be used as a recording device. In particular, if an HDD that has high data transfer speed and random access performance and allows high-speed access is used as a recording medium, it is possible to instantly search for a desired program from programs recorded for a long time and use it immediately. Become. Further, a recording device other than the HDD, such as a magneto-optical disk, may be used, and the same effect can be obtained.
[0125]
Further, the types, numbers, connection methods, and the like of the EPG database and the respective circuit units constituting the program recording / reproducing device, for example, the storage unit, program recording / reproducing, etc., are not limited to the above-described embodiments.
[0126]
Further, the program recording / reproducing apparatus described above is also realized by a program for causing the program recording / reproducing apparatus to function. This program is stored in a computer-readable recording medium. In the present invention, as the recording medium, the main memory itself of the EPG construction unit 103 shown in FIG. 12 may be a program medium, or a program reading device such as a CD-ROM drive may be provided as an external storage device. It may be a program medium such as a CD-ROM which can be read by inserting a recording medium therein. In any case, the stored program may be configured to be accessed and executed by the CPU of the EPG construction unit 103, or in any case, the program may be read, and the read program may not be shown. The program may be downloaded to a non-program storage area, and the program may be executed. This download program is stored in advance in each device.
[0127]
Here, the program medium is a recording medium configured to be separable from the communication terminal device or the information processing device, and is a magnetic disk such as a magnetic tape or a cassette tape, a CD-ROM, a CD-R / RW, an MO, an MD. , DVD-ROM, DVD-RAM, DVD-RW and other optical disc systems, PC cards, compact flash cards, smart media, IC cards, SD cards, memory sticks, etc., or mask ROMs, EPROMs, EEPROMs, flashes It may be a medium that carries a fixed program including a semiconductor memory such as a ROM.
[0128]
Further, the medium may carry a program in a fluid manner such that the program is downloaded from a communication network through a communication connection unit capable of connecting to an external communication network such as an Internet connection provider or a mobile mail service. . When the program is downloaded from the communication network as described above, the download program may be stored in advance, or may be installed from another storage medium. The content stored in the recording medium is not limited to a program, but may be data.
[0129]
【The invention's effect】
As described in detail above, according to the present invention, it is possible to improve the efficiency of memory use, and to optimize the system without breaking down the system even when the program information becomes larger than the prepared memory. Information can be managed.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a list structure of an EPG database according to a first embodiment of this invention.
FIG. 2 is a diagram illustrating a list structure of an EPG database according to a second embodiment of this invention.
FIG. 3 is a diagram showing a list structure of an EPG database according to a third embodiment of the present invention.
FIG. 4 is a diagram showing a list structure of an EPG database according to a fourth embodiment of the present invention.
FIG. 5 is a diagram showing a list structure of an EPG database according to a fifth embodiment of the present invention.
FIG. 6 is a diagram illustrating a list structure of an EPG database according to a sixth embodiment of the present invention.
FIG. 7 is a diagram showing a list structure of an EPG database according to a seventh embodiment of the present invention.
FIG. 8 is a diagram showing a list structure of an EPG database according to an eighth embodiment of the present invention.
FIG. 9 is a diagram showing a list structure of an EPG database according to the present embodiment.
FIG. 10 is a diagram showing a list structure of an EPG database according to a ninth embodiment of the present invention.
FIG. 11 is a diagram showing a list structure of an EPG database according to a tenth embodiment of the present invention.
FIG. 12 is a diagram showing a configuration of a program recording / reproducing apparatus using an EPG database according to an eleventh embodiment of the present invention.
FIG. 13 is a flowchart of a program information registration process for registering program information in an EPG database according to the present embodiment.
FIG. 14 is a diagram showing a list structure of an EPG database according to the present embodiment.
FIG. 15 is a diagram showing a list structure of an EPG database according to the present embodiment.
[Explanation of symbols]
1 cell
2 Program information
3 Program name
4 Program contents
5 Contract information
6 Allocation in memory
7 Program time
Start cell management area for every 8 days
9 service numbers
10 Memory area
10A Start cell management area for each service
40 First cell management area for each service and date
41 Event number
42 First cell management area for each service and event number
100 program recording and playback device
101 receiving unit (receiving means)
102 Program information separation unit (program information separation means)
103 EPG Construction Unit
104 EPG display
105 Recording / reproducing unit (recording / reproducing means)
106 decoding unit
107 Multiplexer
110 EPG database (program information database)
201, 301 Program information to be registered (10:00 to 11:00)
202, 302 Program information arranged in time order (9:00 to 9:50)
203,303 Program information arranged in time order (9: 50-10: 15)
204, 304 Program information arranged in time order (10:15 to 10:50)
205, 305 Program information arranged in order of time (10: 50-11: 30)
206, 306 Program information arranged in time order (11:30 to 12:00)
[11]-[16], [21]-[26], [31]-[36] Cell numbers for explanation

Claims (25)

番組情報をメモリ領域に記憶し、該メモリ領域の内容を管理する番組情報データベースであって、
前記メモリ領域は、該メモリ領域を一定のサイズに分割する複数のセルと、該セルをリスト状に接続するリスト構造を有し、
番組情報を登録する際、前記番組情報を優先順位を付けた情報に分け、
前記優先順位を付けた情報を、前記セルに順次割り当てて格納することを特徴とする番組情報データベース。
A program information database for storing program information in a memory area and managing the contents of the memory area,
The memory area has a plurality of cells that divide the memory area into a predetermined size, and a list structure that connects the cells in a list.
When registering program information, the program information is divided into prioritized information,
A program information database, wherein the information with the priorities is sequentially assigned to the cells and stored.
前記番組情報は、番組名、番組内容、又は契約情報の少なくともいずれか1つを含んで構成されることを特徴とする請求項1記載の番組情報データベース。2. The program information database according to claim 1, wherein the program information includes at least one of a program name, program contents, and contract information. 前記優先順位は、番組名、番組内容、契約情報の順であることを特徴とする請求項1記載の番組情報データベース。2. The program information database according to claim 1, wherein the priorities are in the order of a program name, program contents, and contract information. 前記番組情報を格納するセルの数を可変とすることを特徴とする請求項1記載の番組情報データベース。2. The program information database according to claim 1, wherein the number of cells storing the program information is variable. 前記複数のセルに格納された番組情報をリスト状に接続することを特徴とする請求項1記載の番組情報データベース。2. The program information database according to claim 1, wherein the program information stored in the plurality of cells is connected in a list. 前記セルは、次のセルの位置情報を記憶する次セル位置記憶手段を備え、任意のセルが次のセルを指すことで番組情報をリスト状に接続することを特徴とする請求項1又は5に記載の番組情報データベース。6. The cell according to claim 1, wherein the cell includes next cell position storage means for storing position information of the next cell, and the program information is connected in a list form by pointing an arbitrary cell to the next cell. The program information database described in. 前記次セル位置記憶手段は、
第1の番組情報を格納するセルの、終端のセルの次セル位置情報に、第2の番組情報を格納するセルの、先頭のセルの位置情報を記憶することを特徴とする請求項6記載の番組情報データベース。
The next cell position storage means,
7. The position information of the first cell of the cell storing the second program information is stored in the next cell position information of the cell at the end of the cell storing the first program information. Program information database.
前記番組情報を時間順に並べ替え、該並べ替えた時間順に前記セルに格納することを特徴とする請求項1記載の番組情報データベース。2. The program information database according to claim 1, wherein the program information is rearranged in chronological order, and stored in the cell in chronological order. 前記次セル位置記憶手段は、先頭のセル以外のセルの位置情報を記憶することを特徴とする請求項6記載の番組情報データベース。7. The program information database according to claim 6, wherein said next cell position storage means stores position information of cells other than the head cell. さらに、先頭のセルの位置情報を管理する先頭セル管理手段を備えることを特徴とする請求項1記載の番組情報データベース。2. The program information database according to claim 1, further comprising a head cell management unit that manages position information of a head cell. 前記番組情報は、サービス番号を含んでおり、
前記サービス番号に基づいて前記セルに格納される番組情報を管理するサービス番号管理手段をさらに備えることを特徴とする請求項1記載の番組情報データベース。
The program information includes a service number,
2. The program information database according to claim 1, further comprising service number management means for managing program information stored in said cell based on said service number.
前記サービス番号管理手段は、前記サービス番号順に番組情報を並べ替え、該並べ替えた順に前記セルに格納することを特徴とする請求項11記載の番組情報データベース。12. The program information database according to claim 11, wherein the service number management unit rearranges the program information in the order of the service numbers and stores the program information in the cell in the rearranged order. 前記次セル位置記憶手段は、前記サービス番号毎の番組情報の先頭のセルの位置情報を記憶することを特徴とする請求項6又は11に記載の番組情報データベース。12. The program information database according to claim 6, wherein the next cell position storage means stores position information of a head cell of the program information for each service number. 前記番組情報は、イベント番号を含んでおり、
前記イベント番号に基づいて前記セルに格納される番組情報を管理するイベント番号管理手段をさらに備えることを特徴とする請求項1記載の番組情報データベース。
The program information includes an event number,
2. The program information database according to claim 1, further comprising an event number management unit that manages program information stored in the cell based on the event number.
前記イベント番号管理手段は、前記イベント番号順に番組情報を並べ替え、該並べ替えた順に前記セルに格納することを特徴とする請求項14記載の番組情報データベース。15. The program information database according to claim 14, wherein the event number management unit rearranges the program information in the order of the event number and stores the program information in the cell in the rearranged order. 前記次セル位置記憶手段は、前記イベント番号毎の番組情報の先頭以外のセルの位置情報を記憶することを特徴とする請求項6又は14に記載の番組情報データベース。15. The program information database according to claim 6, wherein the next cell position storage unit stores position information of a cell other than the head of the program information for each event number. 番組情報をセルに追加登録する際、メモリが確保できない場合に、セルを削除することを特徴とする請求項1記載の番組情報データベース。2. The program information database according to claim 1, wherein, when program information is additionally registered in a cell, if a memory cannot be secured, the cell is deleted. 番組情報をセルに追加登録する際、前記優先順位の上位の情報を優先してセルに追加し、又は前記優先順位のより下位の情報を格納するセルから削除することを特徴とする請求項1記載の番組情報データベース。2. The method according to claim 1, wherein when the program information is additionally registered in the cell, the information having the higher priority is added to the cell with priority, or the information having the lower priority is deleted from the cell storing the information having the lower priority. Described program information database. 前記優先順位の最上位の情報は、番組基本情報と番組名であり、前記番組基本情報と番組名は、最優先でセルに追加するとともに、前記番組基本情報と番組名を格納するセルの削除は最後にすることを特徴とする請求項1記載の番組情報データベース。The highest priority information is the basic program information and the program name. The basic program information and the program name are added to the cell with the highest priority, and the cell storing the basic program information and the program name is deleted. 2. The program information database according to claim 1, wherein the last is the last. さらに、番組情報に使用されていないセルの空リストを作成し、前記空リストを用いて番組情報をセルに格納することを特徴とする請求項1記載の番組情報データベース。2. The program information database according to claim 1, further comprising: creating an empty list of cells not used for the program information, and storing the program information in the cells using the empty list. 前記複数のセルに格納された番組情報をリスト状に接続するリスト構造は、双方向に検索可能であることを特徴とする請求項1記載の番組情報データベース。2. The program information database according to claim 1, wherein the list structure for connecting the program information stored in the plurality of cells in a list form is bidirectionally searchable. 前記情報の検索は、セル毎、又はイベント毎に行うことを特徴とする請求項21記載の番組情報データベース。22. The program information database according to claim 21, wherein the information search is performed for each cell or for each event. 前記イベント毎に行う情報の検索は、2分探索であることを特徴とする請求項21又は22に記載の番組情報データベース。23. The program information database according to claim 21, wherein the information search performed for each event is a binary search. 時間検索、イベント番号検索、双方向検索、2分探索等の複数の検索手段を有し、使用条件により検索手段を選択することを特徴とする請求項1記載の番組情報データベース。2. The program information database according to claim 1, further comprising a plurality of search means such as a time search, an event number search, a bidirectional search, and a binary search, wherein the search means is selected according to use conditions. 番組の放送を受信する受信手段と、受信した放送信号から番組情報とストリームデータを分離する番組情報分離手段と、前記分離した番組情報を記録する番組情報データベースと、前記分離したストリームデータを記録・再生する記録再生手段とを備える番組記録再生装置において、
前記番組情報データベースは、請求項1乃至24のいずれか一項に記載の番組情報データベースであることを特徴とする番組記録再生装置。
Receiving means for receiving a broadcast of a program, program information separating means for separating program information and stream data from a received broadcast signal, a program information database for recording the separated program information, and recording / separating the separated stream data. A program recording / reproducing apparatus comprising a recording / reproducing means for reproducing.
25. A program recording / reproducing apparatus, wherein the program information database is the program information database according to any one of claims 1 to 24.
JP2002370548A 2002-12-20 2002-12-20 Program information database and program recording / playback apparatus Expired - Fee Related JP4551615B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002370548A JP4551615B2 (en) 2002-12-20 2002-12-20 Program information database and program recording / playback apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002370548A JP4551615B2 (en) 2002-12-20 2002-12-20 Program information database and program recording / playback apparatus

Publications (2)

Publication Number Publication Date
JP2004201238A true JP2004201238A (en) 2004-07-15
JP4551615B2 JP4551615B2 (en) 2010-09-29

Family

ID=32766436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002370548A Expired - Fee Related JP4551615B2 (en) 2002-12-20 2002-12-20 Program information database and program recording / playback apparatus

Country Status (1)

Country Link
JP (1) JP4551615B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007329699A (en) * 2006-06-08 2007-12-20 Sony Corp Video signal processor, video display apparatus and video display method
JP2011217186A (en) * 2010-03-31 2011-10-27 Toshiba Corp Broadcast receiving apparatus and broadcast receiving method
JP2013225922A (en) * 2009-06-01 2013-10-31 Sharp Corp Receiver and control method for receiver

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007329699A (en) * 2006-06-08 2007-12-20 Sony Corp Video signal processor, video display apparatus and video display method
US8111328B2 (en) 2006-06-08 2012-02-07 Sony Corporation Image signal processing apparatus, image display, and image display method
JP2013225922A (en) * 2009-06-01 2013-10-31 Sharp Corp Receiver and control method for receiver
JP2011217186A (en) * 2010-03-31 2011-10-27 Toshiba Corp Broadcast receiving apparatus and broadcast receiving method

Also Published As

Publication number Publication date
JP4551615B2 (en) 2010-09-29

Similar Documents

Publication Publication Date Title
CN1161977C (en) Apparatus for receiving programs
US20020184457A1 (en) Receiving apparatus that receives and accumulates broadcast contents and makes contents available according to user requests
US20020124256A1 (en) Program guide display and recording/reproducing apparatus
JP2002320186A (en) Method for optimizing usage, method for optimizing availability and intelligent record managing system
CN102948159A (en) File delivery over broadcast network using file system abstraction, broadcast schedule messages and selective reception
JPH1098508A (en) Receiver of cyclic packet data transmission system
JP2004128779A (en) Broadcast system, recording apparatus, recording method, program, and record medium
WO2001026375A1 (en) Trick play signal generation for a digital video recorder
US20070300253A1 (en) Selecting equipment for audio-visual content
JP2004328477A (en) Video recorder and its control method
JP2003046921A (en) Program reservation-recording method and apparatus thereof, and program therefor
JP2000278601A (en) Information processor
JP2006033708A (en) Television program recording reproducing program, and television program recording reproducing device
CN101047816B (en) Mobile terminal and method of managing broadcasting service information using digital broadcast reception function
JP4378780B2 (en) Receiving apparatus and receiving method
CN104041013A (en) Managing time-shift data
JP2001101797A (en) Digital broadcast recording and reproducing device
JP4551615B2 (en) Program information database and program recording / playback apparatus
CN1491387B (en) Device and method for managing access to storage medium
EP1248461A2 (en) Data broadcasting schedule system and apparatus, method, recoding medium, or program thereabout
KR100582499B1 (en) How to display the playlist screen
JP3671017B2 (en) Digital broadcast receiving method and apparatus
JP2000295586A (en) Information processor and information processing method for broadcast
US9282373B2 (en) System, method, and apparatus for managing timeshift and permanent recording in a storage device on a video broadcast receiver
KR20000032627A (en) Method for recording digital data stream and method for recording management information production

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050525

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070903

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071002

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071203

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071213

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080912

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100712

R150 Certificate of patent or registration of utility model

Ref document number: 4551615

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130716

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees