(57)【特許請求の範囲】
【請求項１】
放送番組ごとの、放送番組の開始時刻に関する情報と、放送番組の放送時間の長さである放送時間長に関する情報と、放送番組の書誌的な情報とを含む番組関連情報を取得する番組関連情報取得部と、
前記番組関連情報のうちの、前記番組関連情報を表示するセルである番組表示枠に表示する情報を全て表示するために必要な前記番組表示枠の時間軸方向のサイズである内部コンテンツサイズを、前記番組関連情報に基づいて算出すると共に、前記放送時間長に基づいて前記番組表示枠の時間軸方向のサイズである時間基準サイズを算出する番組表示枠サイズ算出部と、
前記時間基準サイズに従って、前記番組表示枠のレイアウトデータを作成する番組表作成部と、
入力装置を介して入力される操作入力によって、番組表示枠が選択されると、その選択された番組表示枠のサイズを、前記内部コンテンツサイズへと変更する表示更新部と
を備え、
前記表示更新部は、選択された状態である前記番組表示枠が第１の番組表示枠から第２の番組表示枠へと変更されたとき、前記第１の番組表示枠の前記内部コンテンツサイズと前記時間基準サイズとの差分値が前記第２の番組表示枠の前記内部コンテンツサイズよりも大きい場合は、前記第２の番組表示枠のサイズを、前記差分値より所定値だけ大きくしたサイズへと変更することを特徴とする番組表作成装置。
【請求項２】
前記表示更新部は、番組表示枠が、選択されている状態から選択されていない状態へと変更されると、その操作入力によって選択されていない状態へと変更された番組表示枠のサイズを、前記時間基準サイズへと変更することを特徴とする請求項１に記載の番組表作成装置。
【請求項３】
前記表示更新部は、
前記第２の番組表示枠の前記内部コンテンツサイズと前記時間基準サイズとを比較して、前記内部コンテンツサイズの方が大きい場合であって、かつ、前記第１の番組表示枠の前記内部コンテンツサイズと前記時間基準サイズとの差分値が前記第２の番組表示枠の前記内部コンテンツサイズ以下の場合に、前記第２の番組表示枠のサイズを、前記内部コンテンツサイズへと変更することを特徴とする、請求項１又は２のいずれか１項に記載の番組表作成装置。
【請求項４】
放送番組ごとの、放送番組の開始時刻に関する情報と、放送番組の放送時間の長さである放送時間長に関する情報と、放送番組の書誌的な情報とを含む番組関連情報を取得する番組関連情報取得ステップと、
前記番組関連情報のうちの、前記番組関連情報を表示するセルである番組表示枠に表示する情報を全て表示するために必要な前記番組表示枠の時間軸方向のサイズである内部コンテンツサイズを、前記番組関連情報に基づいて算出すると共に、前記放送時間長に基づいて前記番組表示枠の時間軸方向のサイズである時間基準サイズを算出する番組表示枠サイズ算出ステップと、
前記時間基準サイズに従って、前記番組表示枠のレイアウトデータを作成する番組表作成ステップと、
入力装置を介して入力される操作入力によって、番組表示枠が選択されると、その選択された番組表示枠のサイズを、前記内部コンテンツサイズへと変更する表示更新ステップと
を備え、
前記表示更新ステップは、選択された状態である前記番組表示枠が第１の番組表示枠から第２の番組表示枠へと変更されたとき、前記第１の番組表示枠の前記内部コンテンツサイズと前記時間基準サイズとの差分値が前記第２の番組表示枠の前記内部コンテンツサイズよりも大きい場合は、前記第２の番組表示枠のサイズを、前記差分値より所定値大きくしたサイズへと変更することを特徴とする番組表作成方法。
【請求項５】
コンピュータに、
放送番組ごとの、放送番組の開始時刻に関する情報と、放送番組の放送時間の長さである放送時間長に関する情報と、放送番組の書誌的な情報とを含む番組関連情報を取得する番組関連情報取得ステップと、
前記番組関連情報のうちの、前記番組関連情報を表示するセルである番組表示枠に表示する情報を全て表示するために必要な前記番組表示枠の時間軸方向のサイズである内部コンテンツサイズを、前記番組関連情報に基づいて算出すると共に、前記放送時間長に基づいて前記番組表示枠の時間軸方向のサイズである時間基準サイズを算出する番組表示枠サイズ算出ステップと、
前記時間基準サイズに従って、前記番組表示枠のレイアウトデータを作成する番組表作成ステップと、
入力装置を介して入力される操作入力によって、番組表示枠が選択されると、その選択された番組表示枠のサイズを、前記内部コンテンツサイズへと変更する表示更新ステップと
を備え、
前記表示更新ステップは、選択された状態である前記番組表示枠が第１の番組表示枠から第２の番組表示枠へと変更されたとき、前記第１の番組表示枠の前記内部コンテンツサイズと前記時間基準サイズとの差分値が前記第２の番組表示枠の前記内部コンテンツサイズよりも大きい場合は、前記第２の番組表示枠のサイズを、前記差分値より所定値大きくしたサイズへと変更することを特徴とする番組表作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、放送番組に関連する情報である番組関連情報を基に、電子番組表を作成する番組表作成装置、番組表作成方法、及び番組表作成プログラムに関するものである。
【背景技術】
【０００２】
近年、放送番組や、レコーダなどに記録された映像コンテンツを探す場合に、電子番組表をテレビ画面に表示して、所望の映像コンテンツを検索することが広くに利用されるようになってきており、このような技術が例えば特開２００６−２１０９６５号公報（特許文献１）に記載されている。このような電子番組表のレイアウトは、縦方向に時刻、横方向に放送局を配置し、時刻と放送局とが一致する位置に、その放送局によってその時刻に放送される番組の番組情報を配置する、グリッドレイアウトによって表示されることが多い。このレイアウトは、電子番組表が登場する以前から、新聞や雑誌などの紙媒体の番組表でよく利用されるラテ（ラジオ・テレビ）欄と呼ばれる形式を模したものであるため、ユーザにとって馴染み易く、操作が理解しやすいという利点がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２１０９６５
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、このラテ欄形式の番組表では、番組の情報を表示するセルの位置を、その番組の放送時間に一致する時刻のグリッドに合わせる必要がある。例えば、０時から１時まで放送される番組の場合、番組表の時間軸上の０時を示す位置に番組情報を表示するセルの上辺を合わせ、番組表の時間軸上の１時を示す位置に番組情報のセルの下辺を合わせる。この０時から１時までのセルサイズの中に、その番組の情報を記述するが、セルのサイズや番組情報の量によっては、番組の情報を全て表示しきれない問題がある。特に、電子番組表は、機械的に作成するものであるため、人手で作成される紙媒体での番組表のように、柔軟なレイアウトで配置することは困難である。そこで、電子番組表を作成する場合には、下記の（１）及び（２）のようなレイアウトで作成することが多い。
（１）セルのサイズを放送時間から決まる長さで固定し、番組の情報は表示できる分だけ表示するレイアウト
（２）セルのサイズを番組の情報に合わせて拡張するレイアウト
【０００５】
上述の（１）及び（２）のレイアウトは、それぞれ長所と短所が存在する。（１）のレイアウトでは、番組数の多寡や、番組情報の量に関わらず、時間軸方向のサイズが一定となるため、１画面に表示できる番組の数は、（２）のレイアウトと比較して多く表示できる。また、番組表下部の番組を表示したいといった場合に要する画面送り操作の手間も、最小限度に留めることができる。しかしながら、放送時間が短い番組の場合、情報が表示できない問題があり、場合によっては、１文字も表示できないほどセルサイズが小さくなることがある。
【０００６】
一方、（２）のレイアウトでは、番組の情報に合わせてセルのサイズを拡大するため、全ての番組の情報を確認できる。しかしながら、番組表の時間軸方向のサイズが伸びてしまうため、１画面に表示される番組数が少なくなる問題がある。また、時間軸方向のサイズが大きくなることで、番組表下部の番組を表示したいといった場合に、画面送りの操作を何度も行わなければならない。
また、（１）のレイアウトの応用例として、番組の情報を表示するための領域を番組表以外の領域に設ける方法も用いられているが、その領域は、常に画面に表示していなければならないため、番組表を表示できる領域が必然的に小さくなってしまう問題がある。また、（１）のカスタムレイアウトとして、セルサイズの最小値を定めておく方法も用いられている。しかしながら、この方法も、番組の情報を一部分しか表示しきれない問題がある。また、最小値を大きく取ると、（２）と同様の問題が発生する。
【０００７】
そこで、本発明は、番組情報を省略することなしに表示することができ、かつ、視認性が高くコンパクトな番組表を作成する番組表作成装置、番組表作成方法、及び番組表作成プログラムを提供する。
【課題を解決するための手段】
【０００８】
本発明は上述した従来の技術の課題を解決するため、放送番組ごとの、放送番組の開始時刻に関する情報と、放送番組の放送時間の長さである放送時間長に関する情報と、放送番組の書誌的な情報とを含む番組関連情報を取得する番組関連情報取得部と、前記番組関連情報のうちの、前記番組関連情報を表示するセルである番組表示枠に表示する情報を全て表示するために必要な前記番組表示枠の時間軸方向のサイズである内部コンテンツサイズを、前記番組関連情報に基づいて算出すると共に、前記放送時間長に基づいて前記番組表示枠の時間軸方向のサイズである時間基準サイズを算出する番組表示枠サイズ算出部と、前記時間基準サイズに従って、前記番組表示枠のレイアウトデータを作成する番組表作成部と、入力装置を介して入力される操作入力によって、番組表示枠が選択されると、その選択された番組表示枠のサイズを、前記内部コンテンツサイズへと変更する表示更新部とを備え、前記表示更新部は、選択された状態である前記番組表示枠が第１の番組表示枠から第２の番組表示枠へと変更されたとき、前記第１の番組表示枠の前記内部コンテンツサイズと前記時間基準サイズとの差分値が前記第２の番組表示枠の前記内部コンテンツサイズよりも大きい場合は、前記第２の番組表示枠のサイズを、前記差分値より所定値大きくしたサイズへと変更することを特徴とする番組表作成装置を提供する。
また、本発明は上述した従来の技術の課題を解決するため、放送番組ごとの、放送番組の開始時刻に関する情報と、放送番組の放送時間の長さである放送時間長に関する情報と、放送番組の書誌的な情報とを含む番組関連情報を取得する番組関連情報取得ステップと、前記番組関連情報のうちの、前記番組関連情報を表示するセルである番組表示枠に表示する情報を全て表示するために必要な前記番組表示枠の時間軸方向のサイズである内部コンテンツサイズを、前記番組関連情報に基づいて算出すると共に、前記放送時間長に基づいて前記番組表示枠の時間軸方向のサイズである時間基準サイズを算出する番組表示枠サイズ算出ステップと、前記時間基準サイズに従って、前記番組表示枠のレイアウトデータを作成する番組表作成ステップと、入力装置を介して入力される操作入力によって、番組表示枠が選択されると、その選択された番組表示枠のサイズを、前記内部コンテンツサイズへと変更する表示更新ステップとを備え、前記表示更新ステップは、選択された状態である前記番組表示枠が第１の番組表示枠から第２の番組表示枠へと変更されたとき、前記第１の番組表示枠の前記内部コンテンツサイズと前記時間基準サイズとの差分値が前記第２の番組表示枠の前記内部コンテンツサイズよりも大きい場合は、前記第２の番組表示枠のサイズを、前記差分値より所定値大きくしたサイズへと変更することを特徴とする番組表作成方法を提供する。
また、本発明は上述した従来の技術の課題を解決するため、コンピュータに、放送番組ごとの、放送番組の開始時刻に関する情報と、放送番組の放送時間の長さである放送時間長に関する情報と、放送番組の書誌的な情報とを含む番組関連情報を取得する番組関連情報取得ステップと、前記番組関連情報のうちの、前記番組関連情報を表示するセルである番組表示枠に表示する情報を全て表示するために必要な前記番組表示枠の時間軸方向のサイズである内部コンテンツサイズを、前記番組関連情報に基づいて算出すると共に、前記放送時間長に基づいて前記番組表示枠の時間軸方向のサイズである時間基準サイズを算出する番組表示枠サイズ算出ステップと、前記時間基準サイズに従って、前記番組表示枠のレイアウトデータを作成する番組表作成ステップと、入力装置を介して入力される操作入力によって、番組表示枠が選択されると、その選択された番組表示枠のサイズを、前記内部コンテンツサイズへと変更する表示更新ステップとを備え、前記表示更新ステップは、選択された状態である前記番組表示枠が第１の番組表示枠から第２の番組表示枠へと変更されたとき、前記第１の番組表示枠の前記内部コンテンツサイズと前記時間基準サイズとの差分値が前記第２の番組表示枠の前記内部コンテンツサイズよりも大きい場合は、前記第２の番組表示枠のサイズを、前記差分値より所定値大きくしたサイズへと変更することを特徴とする番組表作成プログラムを提供する。
【発明の効果】
【０００９】
本発明の番組表作成装置、番組表作成方法、及び番組表作成プログラムによれば、番組情報を省略することなしに表示することができ、かつ、視認性が高くコンパクトな番組表を作成することができる。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態における番組表作成装置のブロック図。
【図２】番組表作成装置が作成する電子番組表レイアウトの一例を示す図。
【図３】番組表作成装置の処理の流れを示すフローチャート。
【図４】放送局情報格納部のフォーマットの一例を示す図。
【図５】番組関連情報格納部のフォーマットの一例を示す図。
【図６】番組表示枠レイアウト格納部のフォーマットの一例を示す図。
【図７】番組表示枠の具体例を示す図。
【図８】番組表日時設定部が提示するＧＵＩの一例を示す図。
【図９】番組表示枠サイズ算出部の処理の流れを示すフローチャート。
【図１０】時間基準高さと内部コンテンツ高さを格納するフォーマットの一例を示す図。
【図１１】番組表作成部の処理の流れを示すフローチャート。
【図１２】番組表操作部の処理の流れを示すフローチャート。
【図１３】フォーカスの状態を格納するフォーマットの一例を示す図。
【図１４】フォーカス遷移を模式的に示す図。
【図１５】第１実施形態における表示更新部の処理の流れを示すフローチャート。
【図１６】フォーカス遷移によって発生する番組表の変化を表す図。
【図１７】選択枠によるフォーカス遷移を示す図。
【図１８】フォーカス遷移時に発生する問題を示す図。
【図１９】第２実施形態における番組表作成装置のブロック図。
【図２０】第２実施形態における表示更新部の処理の流れを示すフローチャート。
【発明を実施するための形態】
【００１１】
＜第１実施形態＞
以下、本発明の第１実施形態の番組表作成装置、番組表作成方法、及び番組表作成プログラムについて、図を用いて説明する。なお、以下の説明において、情報を記号や文字画像によって表示することを、単に、情報を表示すると称するものとする。また、入力装置からの操作入力によって番組（番組表示枠）が指定されることをフォーカスされると称することとする。
【００１２】
図１は、本発明の第１実施形態における番組表作成装置の好ましい構成を示すブロック図である。図１における番組表作成装置１は、中央制御部１１と、ＲＯＭ１２と、主記憶部１３と、補助記憶部２０と、番組関連情報取得部３０と、番組表日時設定部４０と、番組表示枠サイズ算出部５０と、番組表作成部６０と、番組表操作部７０と、表示更新部８０とで構成されており、これらはバス１０を介して接続されている。
また、番組表作成装置１は、表示装置１１０と、入力装置１２０とに接続されている。表示装置１１０は、ＣＲＴや液晶ディスプレイなどであり、ユーザへの情報を表示するための装置である。入力装置１２０は、ユーザによって操作される入力デバイスであるキーボードやマウス、タッチパネル、リモートコントローラなどである。
【００１３】
なお、図１では、番組表作成装置１を機能ブロック図によりハードウェア的に構成して示しているが、一又は複数のコンピュータに、ソフトウェアプログラムを実行させることで、番組表作成装置１全体又は一部として機能させるようにしてもよい。例えば、番組データ取得部３０と、番組表日時設定部４０と、番組表示枠サイズ算出部５０と、番組表作成部６０と、番組表操作部７０と、表示更新部８０との一部、または全部をメモリやＣＰＵを備えるＰＣ上でソフトウェア的に実行するようにしてもよい。
【００１４】
番組表作成装置１が表示する電子番組表は、１列目に時刻を示すセルの集合である時刻枠２００（図２中、二点鎖線で示す）を表示し、２列目以降に、放送局別に区分して放送内容を表示するセルの集合である放送局枠２１０（図２中、一点鎖線で示す）を表示するようなグリッドレイアウトによって構成される。番組表作成装置１が表示するグリッドレイアウトの電子番組表の一例を図２に示す。図２の時刻枠２００は、時刻を示すセルの集合であり、図２においては、０時と１時が表示されている。図２には、放送局枠２１０の一例として、放送局「ＡＡＡテレビ」で放送される放送番組を表示するセルと、放送局「ＢＢＢテレビ」で放送される放送番組を表示するセルが示されている。番組情報表示領域２２０（図２中、破線で示す）には、それぞれの放送局によって、放送される番組に応じて、番組が放送される時刻と、その番組を放送する放送局とが一致する位置に番組表示枠を配置する。なお、理解容易のため、図２中にｘ軸，ｙ軸（時間軸）を示しているが、この時間軸は実際には表示しなくてもよい。また、後述する図１４，１６，１７，１８においては、このｘ軸，ｙ軸（時間軸）の図示を省略する。
【００１５】
続いて、番組表作成装置１が、電子番組表を作成する処理の大まかな流れを、図３に示すフローチャートを参照しながら説明する。
まず、番組関連情報取得部３０は、アンテナ１００を介して、放送局１０００から番組関連情報を取得し、番組関連情報格納部２２に番組関連情報を格納する（ステップＳ１０）。
【００１６】
次に、中央制御部１１は、番組表の表示を開始するためのユーザ入力を待機する（ステップＳ２０）。ユーザからの入力は、入力装置１２０を介して行われる。
次に、番組表日時設定部４０は、番組表を表示する日時の範囲を、ユーザに入力させる（ステップＳ３０）。
【００１７】
次に、番組表示枠サイズ算出部５０は、番組ごとの関連情報を表示するための番組表示枠の高さを算出する（ステップＳ４０）。
次に、番組表作成部６０は、ステップＳ４０で算出した番組表示枠ごとの高さに基づいて、番組表を表示するための画像データを作成する（ステップＳ５０）。
次に、番組表操作部７０は、番組表の表示データを表示装置１１０に表示し、ユーザからの入力操作を受け付けると共に、フォーカスされている番組表示枠（入力装置からの操作入力によって指定されている番組表示枠）が変更されるごとに、表示更新部８０に番組表レイアウトを更新させる（ステップＳ６０）。
以上が、番組表作成装置１が電子番組表を表示する処理の流れの説明である。
【００１８】
次に、番組表作成装置１の各部の詳細な説明を行う。中央制御部１１は、番組表作成装置１の動作全体を制御するユニットであり、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）などで構成される。ＲＯＭ１２は、読み込み専用の記憶媒体であり、番組表作成装置１の全体を制御するための基本的な制御プログラムを格納する。主記憶部１３は、中央制御部１１がプログラムを実行するためのワークエリアであり、ＲＡＭメモリなどで構成される。
【００１９】
補助記憶部２０は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などの大容量記憶媒体であり、内部に、放送局情報格納部２１と、番組関連情報格納部２２と、番組表示枠レイアウト格納部２３とを備える。
【００２０】
放送局情報格納部２１は、放送局を一意に識別するための識別子である放送局ＩＤと、放送局名とを格納する。放送局情報格納部２１のフォーマットの一例を図４に示す。図４では、放送局ＩＤが「放送局１」である放送局の放送局名は「ＡＡＡテレビ」であり、放送局ＩＤが「放送局２」である放送局の放送局名は「ＢＢＢテレビ」であることを示している。
【００２１】
番組関連情報格納部２２は、放送局の放送局ＩＤと、番組の開始時刻と、終了時刻と、放送時間と、番組のタイトルと、番組の概要と、番組のジャンルとで構成される番組関連情報を、番組関連情報を一意に識別する識別子である番組関連情報ＩＤとに対応付けて格納する。なお、放送局ＩＤや番組の開始時刻といった番組関連情報を構成する個別の情報を、番組関連情報アイテムと称する。図５は、番組関連情報格納部２２が格納する番組関連情報のフォーマットの一例を示す図である。図５において、番組関連情報ＩＤが番組１である番組関連情報を例に挙げて説明すると、放送局の放送局ＩＤは放送局１であり、開始時刻は「２０１１−０１−３１  １７：２５：００」、終了時刻は「２０１１−０１−３１  １７：３０：００」、放送時間は「５分」、番組タイトルは「５分ニュース１７２５」、番組概要は「本日のニュースとお天気情報をお届け」であり、ジャンルは「ニュース」である。これらの情報の意味するところは、番組１で示される番組が、放送局ＩＤ「放送局１」によって放送される番組であり、放送時刻は２０１１年１月３１日の１７時２５分から１７時３０分までの５分間であり、番組タイトルは「５分間ニュース１７２５」であり、その内容を示す概要は「本日のニュースとお天気情報をお届け」であり、ジャンルが「ニュース」に分類される番組であることを示すものである。
【００２２】
番組表示枠レイアウト格納部２３は、番組表示枠内部に、どの番組関連情報アイテムを表示し、どのようなレイアウトによって描画するかの設定を格納する。具体的には、表示する番組関連情報アイテムの種類、描画位置、フォントサイズや行間サイズ、内部パディングの設定を格納する。番組表示枠レイアウト格納部２３に格納されるレイアウト情報の一例を図６に示す。図６では、番組表示枠に表示する番組関連情報アイテムは、開始時刻と、番組タイトルと、番組概要であり、番組表示枠の内部パディングは５ｐｘ（ｐｉｘｅｌ）、開始時刻のフォントサイズは１１ｐｘ、開始時刻の表示位置は番組表示枠の左上を基点に（０，０）の位置、番組タイトルのフォントサイズは１４ｐｘ、番組タイトルの表示位置は開始時刻の真下、番組概要のフォントサイズは１２ｐｘ、番組概要の表示位置は番組タイトルの真下、行間サイズは２０ｐｘと設定されている。
【００２３】
図６のレイアウト設定を基に、図５に示す番組１を実際に描画した番組表示枠の一例を図７に示す。図７では、番組表示枠３００の内部に、開始時刻３２０と、番組タイトル３３０と、番組概要３４０が描画されている。番組表示枠３００の内部パディングである番組表示枠パディング３１０はレイアウト設定により５ｐｘであり、図７においては破線で示されている上下左右の５ｐｘ分の領域が番組表示枠３００の内部パディングとなっている。
開始時刻３２０の内容は「１７：３０」であり、図７のレイアウト設定により、番組表示枠の左上（０，０）の座標点（パディングが加味されるため、実質的には（６，６）の座標点）を基点に、１１ｐｘで描画されている。番組タイトル３３０の内容は「少年エイプリル」であり、開始時刻３２０の真下に１４ｐｘで描画されている。番組概要３４０の内容は、「野球少年が運命に逆らって甲子園を目指す愛と友情の物語。出演：Ｙ田太郎」であり、番組タイトル３３０の真下に１２ｐｘで描画されている。また、それぞれの行間は２０ｐｘで描画されている。
【００２４】
番組関連情報取得部３０は、アンテナ１００を介して、放送局１０００によって配信される番組関連情報を受信し、受信した番組関連情報を、番組関連情報格納部２２に格納する。番組関連情報取得部３０が受信する番組関連情報の番組関連情報アイテムは、番組のタイトルと、番組の開始時刻と、番組の終了時刻と、番組の長さである放送時間と、放送局と、番組の概要と、ニュースやドラマ、アニメなどといった番組のジャンルなどである。なお、放送時間は、開始時刻と、終了時刻との差分を計算することで求めることもできる。
なお、番組関連情報取得部３０は、アンテナ１００ではなく、不図示のネットワーク回線を介して、番組関連情報を取得するようにしても良い。また、放送局１０００から直接的に番組関連情報を取得するのではなく、第３者が提供する、番組関連情報のデータベースなどから、番組関連情報を取得するようにしても良い。
【００２５】
番組表日時設定部４０は、電子番組表に表示する番組の日時範囲（番組表日時）を、ユーザに設定させる。番組表日時には、開始日時、及び終了日時の年、月、日、時のデータを設定する。また、番組表日時設定部４０は、ユーザの入力動作を補助するためのＧＵＩ（グラフィカル・ユーザ・インタフェース）を表示装置１１０に表示させる。
図８は、番組表日時設定部４０が提示するＧＵＩの一例である。図８では、開始日時と終了日時とを設定するためのＧＵＩを表示装置１１０に表示している。具体的には、開始年４００に番組表の開始年を、開始月４１０に番組表の開始月を、開始日４２０に番組表の開始日を、開始時４３０に番組表の開始時刻を、ユーザにそれぞれ直接入力させることによって、開始日時を設定する。図８の状態ならば、開始日時は２０１１年１月３１日  １２時と設定される。さらに、終了年４４０に番組表の終了年を、終了月４５０に番組表の終了月を、終了日４６０に番組表の終了日を、終了時４７０に番組表の終了時刻を、ユーザにそれぞれ直接入力させることによって、終了日時を設定する。図８の状態ならば、終了日時は２０１１年２月１日  １０時と設定される。なお、番組表日時設定部４０は、現在時刻などに基づいて、自動的に電子番組表に表示する番組の日時範囲（番組表日時）を、設定してもよい。例えば、現在時刻から所定時間までの日時範囲（番組表日時）を、自動的に設定してもよい。
【００２６】
番組表示枠サイズ算出部５０は、番組関連情報格納部２２に格納された番組関連情報ごとに、番組表示枠のための高さを算出する。番組表示枠サイズ算出部５０が作成する番組表示枠の高さは、番組の放送時間に基づいて算出される時間基準高さと、番組表示枠レイアウト格納部２３に設定されているレイアウトに従って番組表示枠を描画した場合に、番組関連情報の表示内容を全て表示するために必要な高さである内部コンテンツ高さの２種類を算出する。なお、時間基準高さは番組の放送時間に応じて決まり、内部コンテンツ高さは番組関連情報の内の番組表示枠に表示する情報(開始時刻、終了時刻、番組タイトル、番組概要など）の情報量（文字数等）に応じて決まる。例えば、番組タイトルの文字数が多くなるほど、内部コンテンツ高さは大きな値となる。
【００２７】
番組表示枠サイズ算出部５０による番組表示枠の高さを算出する処理の流れを、図９のフローチャートを参照しながら説明を行う。
まず、番組表示枠サイズ算出部５０は、番組表の時間軸における１時間当たりの高さと、放送局枠の幅を設定する（ステップＳ１００）。これらの数値は、設計者が予め設定しておくものとするが、ユーザが入力装置を介して設定できるようにしても良い。なお、ここで設定される１時間当たりの高さをＨ、放送局枠の幅をＷとする。放送局枠の幅Ｗは、全ての放送局において全て同一であることを基本とするが、放送局ごとに値を変えるようにしても良い。１時間当たりの高さをＨについても、時刻に応じて値を変えるようにしても良い。例えば、１９時〜２３時など、視聴率の高い時間帯の高さＨを大きな値にしてもよい。
【００２８】
次に、番組表示枠サイズ算出部５０は、番組関連情報格納部２２に格納されたコンテンツ数（番組数）をＮとし、ループ識別子「ループＡ」について、初期値１、増分１のループカウンタｎが、終了値Ｎとなるまでループする処理を行う（ステップＳ１１０）。
次に、番組表示枠サイズ算出部５０は、番組関連情報格納部２２に格納された番組関連情報のうち、ｎ番目の番組関連情報（以降、番組関連情報ｎとする）を取得する（ステップＳ１２０）。
次に、番組表示枠サイズ算出部５０は、番組関連情報ｎの放送時間に基づいて、番組関連情報ｎの番組表示枠の時間基準高さを算出する（ステップＳ１３０）。単位を時(ｈｏｕｒ)とした時の番組関連情報ｎの放送時間をＴｈ、ステップＳ１００で設定される１時間当たりの高さをＨとすると、番組関連情報ｎの番組表示枠の時間基準高さＨｔ（ｎ）は、次の数式１で求められる。
【００２９】
【数１】
0005831265.tif 000002
【００３０】
ここで、図５に示す番組関連情報の例を用いて、具体的な時間基準高さを算出する例を示す。ステップＳ１００で設定される１時間当たりの高さＨを、Ｈ＝３００ｐｘ（ｐｘはピクセル）とすると、図５に示す番組関連情報ＩＤが番組１である番組関連情報の放送時間は５分であるため、番組１の時間基準高さは、Ｈｔ（１）＝３００×５／６０＝２５ｐｘと求められる。また、番組２の放送時間は３０分であるため、番組２の時間基準高さは、Ｈｔ（２）＝３００×３０／６０＝１５０ｐｘと求められる。
【００３１】
次に、番組表示枠内部に番組関連情報ｎの表示内容を全て表示するために必要な番組表示枠の高さである、内部コンテンツ高さを算出する（ステップＳ１４０）。内部コンテンツ高さは、番組表示枠レイアウト格納部２３に格納されているレイアウト情報に基づいて算出される。図６に示す番組表示枠レイアウト格納部２３のレイアウトの例から内部コンテンツ高さを算出する場合、内部コンテンツ高さは、上下パディングサイズ＋行間サイズ×行数によって算出される。図７に示す番組２の表示例について具体的な数値を算出すると、上部の番組表示枠パディングと下部の番組表示枠パディングとの合計は１０ｐｘ、行間サイズは２０ｐｘ、行数は７行のため、１０＋２０×７＝１５０ｐｘと算出される。
【００３２】
次のステップＳ１５０に示す記号は、ループＡのループ終端記号であり、ループＡが終了条件を満たす場合（全てのコンテンツの内部コンテンツ高さを算出し終わった場合）は、番組表示枠サイズ算出部５０は番組表示枠の高さを算出する処理を終了し、終了条件を満たさない場合はステップＳ１１０に戻り、処理を繰り返す。
【００３３】
なお、番組表示枠サイズ算出部５０は、算出した時間基準高さと、内部コンテンツ高さとを、番組関連情報ＩＤとに対応付けて主記憶部１３に格納する。主記憶部１３に格納される番組表示枠の高さ情報を格納するフォーマットの一例を図１０に示す。図１０では、番組関連情報ＩＤが番組２である番組表示枠の時間基準高さは２５ｐｘであり、内部コンテンツ高さは１３０ｐｘであり、番組関連情報ＩＤが番組１である番組表示枠の時間基準高さは１５０ｐｘであり、内部コンテンツ高さは１５０ｐｘであることを示している。
以上が、番組表示枠サイズ算出部５０の説明である。
【００３４】
番組表作成部６０は、番組表示枠サイズ算出部５０で算出された時間基準高さを用いて電子番組表全体のレイアウトデータを作成する。番組表作成部６０が電子番組表全体のレイアウトデータを作成する処理の流れを、図１１に示すフローチャートを参照しながら説明する。まず、番組表作成部６０は、番組表日時設定部４０で設定された番組表日時に基づき、幅Ｗ０、高さＨである同サイズの矩形をｙ軸方向に並べて描画し、それぞれの矩形の中央には、時刻を示す数値を描画することで、時刻枠を描画する（ステップＳ２００）。具体例を示すと、番組表日時として、開始日時の時刻が０時で、終了日時の時刻が１２時に設定されているならば、０時〜１１時までの１２個の矩形を縦に並べて描画する。この時刻枠を１時間単位で描画する場合、時刻枠の高さは、１時間当たりの高さＨと同じ高さで描画する。時刻枠の幅Ｗ０の具体的な数値に関しては特に決まりはないが、１０〜２０ｐｘ程度の幅があれば良い。
【００３５】
次に、番組表作成部６０は、放送局情報格納部２１に格納された放送局ＩＤの数をＢとし、ループ識別子「ループＢ」について、初期値１、増分１のループカウンタｂが、終了値Ｂとなるまでループする処理を行う（ステップＳ２１０）。
次に、番組表作成部６０は、放送局ｂの放送局枠のｘ座標値であるｘｂを算出する（ステップＳ２２０）。放送局枠の幅をＷ、時刻枠の幅をＷ０とすると、放送局ｂの放送局枠のｘ座標値ｘｂは、次の数式２によって算出される。  
【００３６】
【数２】
0005831265.tif 000003
【００３７】
次に、番組表作成部６０は、放送局名を表示するための表示枠を座標（ｘｂ，０）の位置に、幅Ｗ０、高さＨ０で描画し、その枠内部に、放送局情報格納部２１に格納された放送局のうち、ｂ番目の放送局ＩＤ（以降、放送局ｂとする）に対応する放送局名を描画する（ステップＳ２３０）。高さＨ０は任意であり、放送局名が表示できる程度の高さであれば良い。
【００３８】
次に、番組表作成部６０は、放送局ＩＤが放送局ｂである番組関連情報を、番組関連情報格納部２２から全て取得する（ステップＳ２４０）。
次に、番組表作成部６０は、ステップＳ２４０で取得した番組関連情報を、開始時刻の昇順で並び変える（ステップＳ２５０）。
次に、番組表作成部６０は、番組表示枠のｙ座標値を決めるための変数である変数ｙを放送局名の表示枠の高さであるＨ０に初期化する（ステップＳ２６０）。
【００３９】
次に、番組表作成部６０は、ステップＳ２４０で取得した番組関連情報の数をＣとし、ループ識別子「ループＣ」について、初期値１、増分１のループカウンタｃが、終了値Ｃとなるまでループする処理を行う（ステップＳ２７０）。
次に、番組表作成部６０は、ステップＳ２４０で取得した番組関連情報のうち、ｃ番目の番組関連情報（以降、番組関連情報ｃとする）の開始時刻、または終了時刻が、番組表日時設定部４０で設定された番組表日時に含まれるかどうかを判断する（ステップＳ２８０）。開始時刻と終了時刻のどちらか一方が、番組表日時設定部４０で設定された番組表日時に含まれていると判断するならばステップＳ２９０に進み、そうでなければステップＳ３２０に進む。
【００４０】
番組関連情報ｃの開始時刻、または終了時刻が番組表日時に含まれると判断した場合（ステップＳ２８０  Ｙｅｓ）、番組表作成部６０は、番組表示枠を描画する（ステップＳ２９０）。具体的には、座標値（ｘｂ，ｙｃ）の位置に、幅がＷであり、高さが番組関連情報ｃの放送時間から求められる時間基準高さＨｔ（ｃ）である矩形を描画する。
もし、番組関連情報ｃの開始時刻が番組表日時の開始時刻よりも古い時刻である場合、番組表日時の開始時刻と、番組関連情報ｃの終了時刻との差分から時間長を求め、数式１によって求められる時間基準高さを番組表示枠の高さとして用いる。例えば、番組関連情報ｃの示す番組が２０１１年１月３１日  ２３：５５（開始時刻）〜翌日０：４０（終了時刻）であり、番組表日時の開始時刻が２０１１年２月１日  ０：００である場合は、２０１１年２月１日  ０：００〜０：４０の時間長である４０分から、数式１を用いて時間基準高さを求める。
【００４１】
また、番組関連情報ｃの終了時刻が番組表日時の終了時刻よりも古い時刻である場合においても、番組関連情報ｃの開始時刻と、番組表日時の終了時刻との差分から時間長を求め、数式１によって求められる時間基準高さを番組表示枠の高さとして用いる。
【００４２】
次に、ステップＳ２９０で描画した番組表示枠内に、番組関連情報ｃの内容を、番組表示枠レイアウト格納部２３に格納された設定に従って描画する（ステップＳ３００）。なお、描画する際に、番組タイトルや番組概要などのテキスト情報が番組表示枠内部で１行に収まりきらない場合は、改行して表示する。また、全ての番組関連情報アイテムを描画するための高さが足りず、番組表示枠におさまりきらない場合は、番組関連情報アイテムを番組表示枠でクリッピングし、ｙ軸方向にはみ出した部分を消去する。
【００４３】
次に、座標値ｙを変更する（ステップＳ３１０）。現在のｙ座標値をｙｃ、番組関連情報ｃの放送時間から求められる時間基準高さをＨｔ（ｃ）とすると、更新後のｙ座標値をｙｃ＋１は、次の数式３で求められる。
【００４４】
【数３】
0005831265.tif 000004
【００４５】
次のステップＳ３２０に示す記号は、ループＣのループ終端記号であり、ループＣが終了条件を満たす場合はステップＳ３３０に進み、満たさない場合はステップＳ２７０に戻り、処理を繰り返す。
【００４６】
次のステップＳ３３０に示す記号は、ループＢのループ終端記号であり、ループＢが終了条件を満たす場合は表示処理を終了し、満たさない場合はステップＳ２１０に戻り、処理を繰り返す。
以上が番組表作成部６０の説明である。以上の番組表作成部６０によって、図２に示すようなグリッドレイアウト形式の電子番組表（番組関連情報を含む電子番組表全体のレイアウトデータ）が作成される。そして、中央制御部１１は、この電子番組表に基づく画像データを表示装置１１０に表示させる。
【００４７】
図１の説明に戻り、番組表操作部７０は、レイアウトデータに従って電子番組表を表示すると共に、入力装置１２０によって入力されるユーザ操作によってフォーカスが移動したか否か（入力装置からの操作入力によって指定されている番組表示枠が、他の番組表示枠へと変わったか否か）を判断し、フォーカスの移動が発生するごとに、表示更新部８０に電子番組表のレイアウトデータを更新させ、更新されたレイアウトデータを表示装置１１０に表示させる処理を行う。この番組表操作部７０の処理の流れを、図１２のフローチャートを参照しながら説明を行う。
【００４８】
まず、番組表操作部７０は、現在フォーカスされている番組表示枠の番組関連情報ＩＤと、その一つ前にフォーカスされていた番組表示枠の番組関連情報ＩＤとを記憶するテーブル（以降、フォーカステーブルと称する）を主記憶部１３に作成する（ステップＳ４００）。現在フォーカスされている番組表示枠を現フォーカス番組表示枠、その一つ前にフォーカスされていた番組表示枠を前フォーカス番組表示枠と称する。初期状態では、現フォーカス番組表示枠の番組関連情報ＩＤと、前フォーカス番組表示枠の番組関連情報ＩＤとのどちらも空値を設定する。図１３は、フォーカス状態を格納するフォーカステーブルを示す一例である。図１３では、現フォーカス番組表示枠として、番組関連情報ＩＤ「番組１」を格納し、前フォーカス番組表示枠として、番組関連情報ＩＤ「番組２」を格納している様子を示している。
【００４９】
次に、番組表操作部７０は、電子番組表のレイアウトデータを画像データに変換出力して、表示装置１１０に表示させる（ステップＳ４１０）。
次に、番組表操作部７０は、ユーザからの入力を待機する（ステップＳ４２０）。なお、ユーザは、入力装置１２０を介して入力を行う。
次に、番組表操作部７０は、ユーザによって入力された情報が、番組表の操作を終了する入力がなされたかどうかを判断する（ステップＳ４３０）。具体的には、表示装置１１０上に番組表操作を終了するためのボタンを配置し、そのボタンが押されたと判断した場合や、入力装置１２０に具備する電源ボタンや、終了ボタンが押されたなどの場合に、番組表の操作を終了する。番組表の操作を終了する入力が行われた場合は、番組表の操作処理を終了し、そうでければステップＳ４４０に進む。
【００５０】
次に、ユーザによって入力された情報が、番組表の操作を終了する入力ではなかった場合（ステップＳ４３０  Ｎｏ）、ユーザ入力によって、番組表示枠のフォーカスが、現フォーカス番組表示枠以外に移動したかどうかを判断する（ステップＳ４４０）。ここで、フォーカス状態の判断について、図１４に示す電子番組表の例を用いて説明を行う。図１４では、電子番組表５００と、カーソルポインタ５１０が表示されており、カーソルポインタ５１０は、マウスや十字キーといった入力装置１２０を介した操作入力に応じて移動される。図１４の（Ａ）では、番組表示枠５２０の位置にカーソルポインタ５１０が表示されている。この状態ならば、番組表操作部７０は、番組表示枠５２０がフォーカスされている。つまり現フォーカス番組表示枠は番組表示枠５２０である。この状態から、図１４（Ｂ）で示す状態にカーソルポインタ５１０が移動した場合、番組表示枠５３０の位置にカーソルポインタ５１０が表示されている。すなわち、この状態においては、番組表示枠５３０がフォーカスされているため、図１４（Ａ）の状態における現フォーカス番組表示枠である番組表示枠５２０以外にフォーカスが移動したと判断する。
【００５１】
番組表示枠のフォーカスが移動したと判断した場合（ステップＳ４４０  Ｙｅｓ）、番組表操作部７０は、フォーカス設定を更新する（ステップＳ４５０）。具体的には、フォーカステーブルに格納されている現フォーカス番組表示枠に対応する番組関連情報ＩＤを、前フォーカス番組表示枠に対応する番組関連情報ＩＤに設定し、新しくフォーカスを獲得した番組表示枠に対応する番組関連情報ＩＤを、現フォーカス番組表示枠として設定する。また、番組表の外側など、いずれの番組表示枠でもない位置にフォーカスが移動した場合は、現フォーカス番組表示枠の番組関連情報ＩＤを空値に変更する。
【００５２】
次に、番組表操作部７０は、前フォーカス番組表示枠を有する放送局枠の表示を更新するために、前フォーカス番組表示枠を有する放送局枠に対応する放送局ＩＤを表示更新部８０に渡して（出力して）、表示を更新させる（ステップＳ４６０）。表示更新部８０が行う表示更新処理については後述する。
【００５３】
次に、番組表操作部７０は、現フォーカス番組表示枠を有する放送局枠の表示を更新するために、現フォーカス番組表示枠を有する放送局枠に対応する放送局ＩＤを表示更新部８０に渡して、表示を更新させる（ステップＳ４７０）。表示更新部８０が行う表示更新処理については後述する。
次に、番組表操作部７０は、ステップＳ４１０に戻って、新しい電子番組表のレイアウトを表示装置１１０に表示させる。
【００５４】
以上が、番組表操作部７０の説明である。なお、前フォーカス番組表示枠を有する放送局枠と、現フォーカス番組表示枠を有する放送局枠が同一であるならば、ステップＳ４６０を省略しても良い。
【００５５】
表示更新部８０は、番組表操作部７０から渡された放送局ＩＤの表示を更新する、表示更新処理を行う。表示更新部８０の処理の流れを、図１５のフローチャートを参照しながら説明を行う。
【００５６】
表示更新部８０は、まず、処理のために渡された放送局ＩＤに対応する放送局枠に属する番組表示枠のレイアウトデータと、対応付けられた番組関連情報ＩＤとを全て取得する（ステップＳ５００）。
次に、表示更新部８０は、ｙ座標値を示す変数の初期値を、放送局名の表示枠の高さＨ０で初期化する（ステップＳ５１０）。
次に、表示更新部８０は、ステップＳ５００で取得した番組表示枠の個数をＤとし、ループ識別子「ループＤ」について、初期値１、増分１のループカウンタｄが、終了値Ｄとなるまでループする処理を行う（ステップＳ５２０）。
【００５７】
次に、表示更新部８０は、放送局枠に属するｄ番目の番組表示枠（以降、番組表示枠ｄとする）に対応する番組関連情報ＩＤと、現フォーカス番組表示枠に対応する番組関連情報ＩＤとが等しいかどうか判断する（ステップＳ５３０）。もし等しいならばステップＳ５４０に進み、異なるならば、ステップ５７０に進む。
次に、表示更新部８０は、番組表示枠ｄに対応する番組関連情報ＩＤと、現フォーカスの番組関連情報ＩＤとが等しいと判断された場合（ステップＳ５３０ Ｙｅｓ）、番組表示枠ｄに対応する番組関連情報から求められた内部コンテンツ高さＨｉｎ（ｄ）が、時間基準高さＨｔ（ｄ）よりも大きいかどうかを判断する（ステップＳ５４０）。もし、Ｈｉｎ（ｄ）＞Ｈｔ（ｄ）ならば、ステップＳ５５０に進み、そうでなければステップＳ５７０に進む。
【００５８】
ステップＳ５４０において、Ｈｉｎ（ｄ）＞Ｈｔ（ｄ）と判断されたならば（ステップＳ５４０  Ｙｅｓ）、番組表示枠ｄの高さをＨｉｎ（ｄ）に変更して、ｙ座標がｙｄの位置に、番組表示枠ｄを再描画する（ステップＳ５５０）。番組表示枠の高さがＨｉｎ（ｄ）となるため、内部に描画されるそれぞれの番組関連情報アイテムは、クリッピングされずに全て表示される。なお、番組表示枠内部に描画される内容は、図１１のステップＳ３００と同様に、番組表レイアウト格納部２３のレイアウト設定に従って描画する。
次に、番組表示枠のｙ座標の描画開始位置を示す変数ｙｄを更新する（ステップＳ５６０）。現在のｙ座標値をｙｄ、番組表示枠ｄの内部コンテンツ高さをＨｉｎ（ｄ）とすると、新しいｙ座標値を示す変数ｙｄ＋１は、次の数式４によって求められる。
【００５９】
【数４】
0005831265.tif 000005
【００６０】
ｙ座標の更新処理を終えると、ステップＳ５９０に進む。
ここで、ステップＳ５３０において、番組表示枠ｄに対応する番組関連情報ＩＤと、現フォーカスの番組関連情報ＩＤとが異なると判断された場合（ステップＳ５３０  Ｎｏ）、もしくは、ステップＳ５４０において、Ｈｉｎ（ｄ）≦Ｈｔ（ｄ）と判断された場合（ステップＳ５４０  Ｎｏ）、番組表示枠ｄの高さを時間基準高さＨｔ（ｄ）として、ｙ座標をｙｄの示す位置に描画する（ステップＳ５７０）。なお、番組表示枠内部に描画される内容は、図１１のステップＳ３００と同様に、番組表レイアウト格納部２３のレイアウト設定に従って描画する。
【００６１】
次に、表示更新部８０は、番組表示枠のｙ座標の描画開始位置を示す変数ｙｄを更新する（ステップＳ５８０）。現在のｙ座標値をｙｄ、番組表示枠ｄの時間基準高さをＨｔ（ｄ）とすると、新しいｙ座標値を示す変数ｙｄ＋１は、次の数式５によって求められる。
【００６２】
【数５】
0005831265.tif 000006
【００６３】
ｙ座標の更新処理を終えると、ステップＳ５９０に進む。
ステップＳ５９０に示す記号は、ループＤのループ終端記号であり、ループＤが終了条件を満たす場合は表示処理を終了し、満たさない場合はステップＳ５２０に戻り、処理を繰り返す。
以上が、表示更新部８０による表示更新処理の説明である。
【００６４】
ここで、図１６に、フォーカス移動によって発生する電子番組表のレイアウト変更の具体例を示す。図１６（Ａ）の番組表示枠５２０には、開始時刻である「１７：２５」のみが表示されている。これは、算出された時間基準高さが小さいため、番組タイトルや番組概要が、番組表示枠に収まらずにクリッピングされたためであることを示している。また、カーソルポインタ５１０は、どの番組表示枠上にもないため、現フォーカス番組表示枠は空値である。この状態から、図１６（Ｂ）のようにカーソルポインタ５１０が番組表示枠５２０上に移動することによって、現フォーカス番組表示枠が番組表示枠５４０に設定されたとすると、番組表示枠５４０の高さを内部コンテンツ高さに変更する。番組表示枠５４０の高さを内部コンテンツ高さに変更することにより、番組表示枠５４０に記載されている内容が、クリッピングされずに全て表示される。さらに、この図１６（Ｂ）の状態から、番組表示枠５４０がフォーカスされていない状態になると、前フォーカス番組表示枠は番組表示枠５４０に設定され、番組表示枠５４０が属する放送局枠が再描画される。この再描画のとき、番組表示枠５４０は、再び時間基準高さに変更される。
【００６５】
以上の番組表作成装置１によると、ユーザの目線の中心となるフォーカス部分のみの番組表示枠を、必要に応じて縦方向に延長表示することによって、番組表の時間軸方向をコンパクトに保ちつつ、番組表の表示領域を損なうことなしに、その番組の情報を省略することなく番組表をユーザに提示することができる。
【００６６】
なお、上述の番組表操作部７０の説明においては、ユーザは、入力装置１２０を介してカーソルポインタ５１０を操作することで、フォーカスの変更を行うとしたが、カーソルポインタ５１０ではなく、フォーカス状態を示す選択枠を、十字キーの入力で移動させるようにしても良い。選択枠方式で電子番組表のフォーカスを切り替える方法を、図１７を用いて説明する。図１７（Ａ）は、電子番組表５００上の番組表示枠５２０に、フォーカスを示す選択枠５５０が表示されている様子を示している。すなわち、この図１７（Ａ）の状態では、番組表示枠５２０が現フォーカス番組表示枠として設定されている。この状態から、ユーザが入力装置１２０を介して、下方向に移動する入力（例えば、十字キーの下ボタンを押す）を行った場合、図１７（Ｂ）に示すように、番組表示枠５２０の真下に配置されている番組表示枠５３０に選択枠５５０を移動させる。すなわち、番組表示枠５３０が、現フォーカス番組表示枠として設定される。
【００６７】
なお、番組表示枠が時間基準高さから内部コンテンツ高さに拡大された場合や、内部コンテンツ高さから時間基準高さに縮小された場合に、拡大アニメーションや縮小アニメーション表示を行っても良い。
【００６８】
また、作成する番組表は、縦方向に時刻枠、横方向に放送局枠を配置したが、逆に、横方向に時刻枠を、縦方向に放送局枠を配置するようにしても良い。その場合、上述の説明において、「高さ」と表現した数値を「幅」にし、逆に「幅」と表現した数値を「高さ」とすることで実施が可能である。
以上説明したように、本実施形態の番組表作成装置、番組表作成方法、及び番組表作成プログラムによれば、番組情報を省略することなしに表示することができ、かつ、視認性が高くコンパクトな番組表を作成することができる。
【００６９】
＜第２実施形態＞
第１実施形態における番組表作成装置１では、フォーカスが移動することによって、番組表示枠の高さを時間基準高さと内部コンテンツ高さとに変更することで、コンパクトに番組の詳細な情報を表示することが可能であった。本実施形態における番組表作成装置２では、より視認性が高い番組表を作成することができる。最初に本実施形態の番組表作成装置２が発揮する効果について、図１８を用いて説明する。
【００７０】
図１８では、前フォーカス番組表示枠が、現フォーカス番組表示枠の真上の要素となる例を示す図である。具体的には、図１８（Ａ）では、カーソルポインタ５１０が、番組表示枠６００上にある。すなわち現フォーカス番組表示枠は、番組表示枠６００である。この状態から、カーソルポインタ５１０の位置を、番組表示枠６１０に移動して、フォーカスを変更する操作をユーザが行ったとする。その時、番組表示枠６００の高さは、フォーカスされていない状態になったことに伴って、時間基準高さに変更されると共に、番組表示枠６１０がフォーカスされている状態となって、番組表示枠６１０の高さが内部コンテンツ高さに変更される。そのとき、番組表示枠６１０の内部コンテンツ高さが、番組表示枠６００の内部コンテンツ高さよりも小さい場合、カーソルポインタ５１０が、番組表示枠６１０上にない場合が発生する。その様子を表した図が図１８（Ｂ）であり、図１８（Ｂ）に示すカーソルポインタ５１０は、番組表示枠６１０上になく、番組表示枠６２０上に表示されている。この状態になると、再びフォーカスの移動が発生し、番組表示枠６１０の高さは時間基準高さに変更され、番組表示枠６２０の高さは内部コンテンツ高さに変更される。図１８（Ｃ）は、最終的なフォーカス移動の結果を表した図である。ユーザは、番組表示枠６１０にフォーカスを合わせたいにも関わらず、番組表示枠６２０にフォーカスが合ってしまうという、ユーザの意図に反した結果を招くことになる。本実施形態の番組表作成装置２は、この問題を解決することができるという効果を発揮する。以下、そのような番組表作成装置２について、詳細に説明する。
【００７１】
図１９は、第２実施形態における番組表作成装置２の構成を示すブロック図である。番組表作成装置２のブロック構成は、第１実施形態における番組表作成装置１のブロック構成と同様であるが、番組表作成装置１の表示更新部８０の動作が、番組表作成装置２において異なる。そこで、番組表作成装置２では表示更新部８０Ａとして説明を行う。その他の部については、番組表作成装置１と同様であるため、説明を省略する。
【００７２】
表示更新部８０Ａは、番組表操作部７０から渡された放送局ＩＤの表示を更新する、表示更新処理を行う。表示更新部８０Ａの処理の流れを、図２０のフローチャートを参照しながら説明を行う。なお、図１５に示す番組表作成装置１における表示更新部８０と同一の処理である場合、ステップ番号も同一表記としている。
まず、指定された放送局ＩＤの放送局枠に属する番組表示枠を全て取得する処理であるステップＳ５００から、ステップＳ５４０の判定処理までは、番組表作成装置１の表示更新部８０と処理内容が同様であるため、説明を省略する。
【００７３】
表示更新部８０Ａは、内部コンテンツ高さＨｉｎ（ｄ）が、時間基準高さＨｔ（ｄ）より大きいと判断された場合（ステップＳ５４０  Ｙｅｓ）、表示更新部８０Ａは、前フォーカス番組表示枠が、現在の番組表示枠ｄより１つ上の番組表示枠である番組表示枠ｄ−１と等しいかどうか判断し、かつ、番組表示枠ｄ−１の内部コンテンツ高さＨｉｎ（ｄ−１）と番組表示枠ｄ−１の時間基準高さＨｔ（ｄ−１）との差が、番組表示枠ｄの内部コンテンツ高さＨｉｎ（ｄ）よりも大きいかどうかを判断する。２つの判断がどちらも真であるならば、ステップＳ５４２に進み、そうでなければステップＳ５５０に進む。
【００７４】
番組表示枠ｄ−１が前フォーカス番組表示枠であって、かつ、Ｈｉｎ（ｄ−１）−Ｈｔ（ｄ−１）＞Ｈｉｎ（ｄ）であると判断されたならば（ステップＳ５４１  Ｙｅｓ）、番組表示枠ｄの高さをＨｉｎ（ｄ−１）−Ｈｔ（ｄ−１）＋αに変更して、ｙ座標がｙｄの位置に、番組表示枠ｄを再描画する（ステップＳ５４２）。αは、番組表示枠ｄの高さを調節するための所定値であり、５〜５０ｐｘ程度を設定する。なお、番組表示枠内部に描画される内容は、図１１に示すステップＳ３００と同様に、番組表示枠レイアウト格納部２３のレイアウト設定に従って描画する。
【００７５】
なお、番組表示枠ｄ−１の内部コンテンツ高さと時間基準高さの差分値Ｈｉｎ（ｄ−１）−Ｈｔ（ｄ−１）であるが、これは、前フォーカス番組表示枠の高さが、内部コンテンツ高さから時間基準高さに縮小する大きさを表す値である。この差分値よりも現フォーカス番組表示枠の高さを大きく取ることで、カーソルポインタが現フォーカス番組表示枠外に出てしまうことを防ぐことができる。
【００７６】
次に、表示更新部８０Ａは、座標値ｙを変更する（ステップＳ５４３）。現在のｙ座標値をｙｄ、番組表示枠ｄ−１の内部コンテンツ高さをＨｉｎ（ｄ−１）、番組表示枠ｄ−１の時間基準高さをＨｔ（ｄ−１）とすると、更新後のｙ座標値をｙｄ＋１は、次の数式６で求められる。
【００７７】
【数６】
0005831265.tif 000007
【００７８】
座標値ｙを更新すると、ステップＳ５９０に進む。
ステップＳ５５０、ステップＳ５６０、ステップＳ５７０、ステップＳ５８０、ステップＳ５９０は、番組表作成装置１における表示更新部８０の動作と同様であるため、説明を省略する。
【００７９】
以上の番組表作成装置２によると、前フォーカス番組表示枠が、現フォーカス番組表示枠の真上のセルであった場合に、現フォーカス番組表示枠がすぐにフォーカスを失ってしまう問題があったが、現フォーカス番組表示枠の高さを、前フォーカス番組表示枠が縮むサイズよりも大きく取ることで、前記問題を解決することができる。
【００８０】
以上説明してきたように、本発明の番組表作成装置、番組表作成方法、及び番組表作成プログラムによれば、ユーザの目線の中心となるフォーカス部分のみの番組表示枠を、必要に応じて時間軸方向に延長表示することによって、番組表の時間軸方向をコンパクトに保ちつつ、番組表の表示領域を損なうことなしに、その番組の情報を省略することなく番組表をユーザに提示することができる。
【００８１】
なお、本発明は各実施形態の番組表作成装置の機能をコンピュータに実現させるためのプログラムを含むものである。これらのプログラムは、記録媒体から読み取られてコンピュータに取り込まれてもよいし、通信ネットワークを介して伝送されてコンピュータに取り込まれてもよい。
【００８２】
また、本発明は以上説明した各実施形態に限定されることはなく、本発明の要旨を逸脱しない範囲において種々変更が可能である。例えば、番組表示枠は矩形でなくてもよく、他の多角形や円形でもよい。
【符号の説明】
【００８３】
１，２  番組表作成装置
１０  バス
１１  中央制御装置
１２  ＲＯＭ
１３  主記憶部
２０  補助記憶部
２１  放送局情報格納部
２２  番組関連情報格納部
２３  番組表示枠レイアウト格納部
３０  番組関連情報取得部
４０  番組表日時設定部
５０  番組表示枠サイズ算出部
６０  番組表作成部
７０  番組表操作部
８０，８０Ａ  表示更新部
１００  アンテナ
１１０  表示装置
１２０  入力装置
２００  時刻枠
２１０  放送局
２２０  番組情報表示領域
３００，５２０，５３０，５４０，６００，６１０，６２０  番組表示枠
３１０  番組表示パディング
３２０  開始時刻
３３０  番組タイトル
３４０  番組概要
４００  開始年
４１０  開始月
４２０  開始日
４３０  開始時
４４０  終了年
４５０  終了月
４６０  終了日
４７０  終了時
５００  電子番組表
５１０  カーソルポインタ
５５０  選択枠
１０００  放送局
【図１】
0005831265.tif 000008
【図２】
0005831265.tif 000009
【図３】
0005831265.tif 000010
【図４】
0005831265.tif 000011
【図５】
0005831265.tif 000012
【図６】
0005831265.tif 000013
【図７】
0005831265.tif 000014
【図８】
0005831265.tif 000015
【図９】
0005831265.tif 000016
【図１０】
0005831265.tif 000017
【図１１】
0005831265.tif 000018
【図１２】
0005831265.tif 000019
【図１３】
0005831265.tif 000020
【図１４】
0005831265.tif 000021
【図１５】
0005831265.tif 000022
【図１６】
0005831265.tif 000023
【図１７】
0005831265.tif 000024
【図１８】
0005831265.tif 000025
【図１９】
0005831265.tif 000026
【図２０】
0005831265.tif 000027