以下では、本発明を、電子新聞を表示するテレビに対して適用した一実施形態について説明する。すなわち、本実施形態に係るコンテンツ表示装置は、記事や広告などのコンテンツが表示される紙面画面をディスプレイに表示するテレビとして実現されている。したがって、以下の説明においては、コンテンツ表示装置のことを、端的にテレビと呼称する。ただし、本発明に係るコンテンツ表示装置は、テレビに限定されるものではなく、また、本発明に係るコンテンツ表示装置が表示するコンテンツは電子新聞に限定されるものではない。すなわち、表示するコンテンツの種類にによらず、複数のコンテンツを1つの画面に表示するコンテンツ表示装置に対して本発明を適用することができる。特に、雑誌、チラシ、パンフレット、中吊り広告などのコンテンツを、実物のレイアウトを再現するように表示するコンテンツ表示装置に対して、本発明を好適に利用することができる。
また、以下に説明する実施形態では、テレビは、電子システム配信システムのクライアント装置として機能する。しかし、本発明に係るコンテンツ表示装置は、これに限定されるものではなく、例えば、スタンドアロンのコンテンツ表示装置として実現することもできる。
また、コンテンツ表示装置にコンテンツデータを提供するコンテンツデータ提供装置は、本実施形態において、テレビに紙面コンテンツデータを提供する紙面コンテンツ生成サーバとして実現されている。したがって、以下の説明においては、コンテンツデータ提供装置のことを、紙面コンテンツ生成サーバと呼称する。また、コンテンツ表示装置に提供されるコンテンツデータのことを、紙面コンテンツデータと呼称する。ただし、本発明に係るコンテンツデータは、紙面画面を表示するための紙面コンテンツデータに限定されるものではないし、また、本発明に係るコンテンツデータ提供装置は、紙面コンテンツ生成サーバに限定されるものではない。
(A.電子新聞配信システム)
本実施形態に係る電子新聞配信システム1のシステムについて、図2〜3に基づいて説明する。
図2は、電子新聞配信システム(コンテンツデータ配信システム)1のシステム構成を示したブロック図である。電子新聞配信システム1は、電子新聞配信サービスをクライアントサーバ方式により実現するシステムであり、図2に示したように、テレビ(コンテンツ表示装置)100と、紙面コンテンツ生成サーバ(コンテンツデータ提供装置)200と、記事データベースサーバ(以下、「記事DBサーバ」と略記)300とを含んで構成されている。
紙面コンテンツ生成サーバ200は、電子新聞配信サービスを提供するサーバ装置であり、電子新聞配信サービスのクライアント装置に対して紙面コンテンツデータ10を提供する。また、テレビ100は、電子新聞配信サービスのクライアント装置の1つであり、紙面コンテンツ生成サーバ200から取得した紙面コンテンツデータ10を再生することにより、新聞紙面を再現した紙面画面50を表示する。
紙面コンテンツ生成サーバ200は、例えば、電子新聞配信サービスを提供する事業者の事業所内に設置される。また、テレビ100は、紙面コンテンツデータ10を再生するためのソフトウェアが組み込まれたテレビジョン受像機であり、例えば、ユーザの宅内に設置される。紙面コンテンツ生成サーバ200とテレビ100とは、通信ネットワーク、具体的にはインターネット400を介して互いに通信可能に接続されている。
図2に示したように、テレビ100は、紙面コンテンツ要求20を紙面コンテンツ生成サーバ200に送信する。紙面コンテンツ生成サーバ200は、紙面コンテンツ要求20を受信すると、受信した紙面コンテンツ要求20に応じた紙面コンテンツデータ10を生成し、生成した紙面コンテンツデータ10を、テレビ100に送信する。テレビ100は、紙面コンテンツ生成サーバ200から取得した紙面コンテンツデータ10を再生する。
なお、図2において、電子新聞配信システム1のクライアント装置としてテレビ100のみを図示しているが、紙面コンテンツ生成サーバ200は、テレビ100と同様、インターネット400を介して接続された他のクライアント装置(不図示)に対しても紙面コンテンツデータ10を提供することができる。
また、図2において、紙面コンテンツ生成サーバ200は、インターネット400を介してテレビ100に紙面コンテンツデータ10を提供するように構成されているが、他の通信ネットワーク、例えば、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網などを介して接続されたクライアント装置に対して、紙面コンテンツデータ10を提供するようにしてもよい。
また、図2において、紙面コンテンツ生成サーバ200からクライアント装置(テレビ100)への紙面コンテンツデータ10の提供は、クライアント側からの取得要求をトリガーとして実行されるものとしているが、逆に、適当なタイミングで、紙面コンテンツ生成サーバ200側から紙面コンテンツデータ10を配信するようにしてもよい。この場合、紙面コンテンツ生成サーバ200が紙面コンテンツデータ10を配信する配信手段として、電子メールを用いてもよい。
図3(a)は、テレビ100が紙面コンテンツデータ10に基づいて表示する紙面画面50の構成例を模式的に示した図であり、図3(b)は、組版された実際の新聞紙面60を模式的に示した図である。テレビ100に表示される紙面画面50は、実際の新聞紙面60に掲載されている記事61〜67に対応する記事51〜57を、組版された新聞紙面60を再現するようにレイアウトして構成されている。
もう少し具体的に言うと、紙面画面50は、3段に分割された画面内に配置された複数の矩形領域の各々に、記事51〜57を流し込むことにより構成され、どの矩形領域にどの記事を流し込むかは、実際の新聞紙面60を考慮して決められている。また、紙面画面50には、新聞紙面60に掲載されている広告68に対応する広告58も表示される。これにより、ユーザが紙面画面50から受ける印象を、実際の新聞紙面60から受ける印象に近づけることができる。さらに、紙面画面50の左端には、ページ切替ボタン群59が配置されており、紙面画面50から別の紙面画面に画面遷移させることができるようになっている。
なお、紙面コンテンツデータ10を再生することにより表示される紙面画面50の構成は、図3(a)に示したものに限定されない。すなわち、紙面画面50は、実際の新聞紙面60と全く同様に、記事51〜57を複数の多角形領域の各々に流し込むことにより構成されたものであってもよい。ただし、図3(a)に示したように、記事51〜57を矩形領域に流し込むようにすることで、紙面コンテンツ生成サーバ200における紙面コンテンツデータ10の生成処理が簡単になる。一方、紙面画面50を実際の新聞紙面60と全く同様に構成する場合、紙面画面50の縦横比とテレビ100の縦横比とが合致しないので、紙面画面50を縦方向にスクロールする必要が生じたり(紙面画面50の横幅をテレビ100の横幅に合わせて表示した場合)、紙面画面50が表示されない余白ができてしまったり(紙面画面50の縦幅をテレビ100の縦幅に合わせて表示した場合)するが、実際の新聞紙面60と全く同じ印象をユーザに与えることができる。
図2に示したように、紙面コンテンツ生成サーバ200は、紙面コンテンツ要求20に応じた紙面コンテンツデータ10を、予め自装置内に格納されている紙面レイアウトデータ30に基づいて生成する。紙面レイアウトデータ30は、後で詳述するように、紙面コンテンツデータ10の原型となる雛形である。紙面コンテンツ生成サーバ200は、この紙面レイアウトデータ30に、記事DBサーバ300から取得した記事データ40を合成することによって、紙面コンテンツデータ10を生成する。
記事DBサーバ300は、新聞記事を蓄積管理するデータベースを含んで構成されたサーバ装置であり、紙面画面50の記事51〜57(図3参照)を表す記事データ40を、紙面コンテンツ生成サーバ200に供給する。記事DBサーバ300は、記事51〜57の各々に対応する複数の記事データ40を、個別に紙面コンテンツ生成サーバ200に供給するものであってもよいし、全ての記事51〜57を内包する1つの記事データ40を、一括して紙面コンテンツ生成サーバ200に供給するものであってもよい。いずれの場合であっても、記事データ40は、記事51〜57の各々について、記事タイトル、記事本文、記事優先度、記事ジャンル、および作成日時の各情報を含んでいる。また、記事データ40は、写真などの静止画像データ、動画像データ、または、音声データを含んでいてもよい。
記事DBサーバ300は、例えば、新聞社の事業所内に設置されており、専用回線500により紙面コンテンツ生成サーバ200と互いに通信可能に接続されている。記事データ40は、この専用回線500を介して、記事DBサーバ300から紙面コンテンツ生成サーバ200に転送される。なお、記事データ40の転送は、これに限らず、インターネット400を介して行うようにしてもよい。
なお、記事DBサーバ300は、紙面コンテンツ生成サーバ200からの要求に応じて、紙面コンテンツ生成サーバ20に記事データ40を供給するものであってもよいし、データベースに新たな新聞記事が登録されたことをトリガーとして、記事データ40を紙面コンテンツ生成サーバ200に供給(プッシュ)するものであってもよい。また、紙面コンテンツサーバ200は、記事DBサーバ300から記事データ40の供給を受けた時点で紙面コンテンツデータ10を生成するものであってもよいし、記事DBサーバ300から供給された記事データ40をいったん自装置内に格納し、紙面コンテンツ要求20を受信した時点で紙面コンテンツデータ10を生成するものであってもよい。
図2に示したように、テレビ100は、ユーザの宅内に設けられたホームネットワーク600に組み込まれており、当該ホームネットワーク600を構成する他の機器との間でデータ通信を行うことができる。ホームネットワーク600におけるデータ通信は、例えば、IrSimpleのような高速赤外線通信プロトコルや、Bluetooth(登録商標)のような近距離用無線通信プロトコルなど用いて実現することができる。
図2では、ホームネットワーク600を構成する機器として、テレビ100の他に、HDDレコーダ601、プリンタ602、携帯電話603、および、電子ペーパー604を例示している。テレビ100は、紙面コンテンツ生成サーバ200から取得した紙面コンテンツデータ10を、HDDレコーダ601、プリンタ602、携帯電話603、または、電子ペーパー604に転送したり、あるいは、HDDレコーダ601に格納された紙面コンテンツデータ10を取得したりすることができる。
なお、テレビ100に予め携帯電話603の電子メールアドレスが登録されているのであれば、電子メールを用いて、紙面コンテンツデータ10を携帯電話603に転送するようにしてもよい。あるいは、紙面コンテンツデータ生成サーバ200に携帯電話603の電子メールアドレスが登録されているのであれば、テレビ100が、紙面コンテンツ生成サーバ200に携帯電話603の電子メールアドレスを問い合わせ、紙面コンテンツ生成サーバ200から取得した電子メールアドレスに紙面コンテンツデータ10を転送するようにしてもよい。また、紙面コンテンツデータ生成サーバ200に携帯電話603の電子メールアドレスが登録されているのであれば、紙面コンテンツ生成サーバ200が、テレビ100からの指示により、直接携帯電話603に紙面コンテンツデータ10を送信するようにしてもよい。
ホームネットワーク600を構成するこれらの機器を利用することで、ユーザは、より多様な方法で電子新聞を閲覧することができるようになる。
例えば、HDDレコーダ601が、紙面コンテンツ生成サーバ200から毎日定時に紙面コンテンツデータ10を取得するようにすることで、テレビ100は、HDDレコーダに格納されたその日の紙面コンテンツデータ10をHDDレコーダ601から取得して再生することができる。また、HDDレコーダ601が、紙面コンテンツ生成サーバ200から取得した紙面コンテンツデータ10を日々蓄積するようにすることで、テレビ100は、過去の紙面コンテンツデータ10をHDDレコーダ601から取得して再生することができる。
また、テレビ100自体にハードディスクドライブなどの記憶装置を内蔵することで、HDDレコーダ601を用いることなく、テレビ100にて上記機能を実現するようにしてもよい。また、HDDレコーダ601またはテレビ100は、紙面コンテンツデータ生成サーバ20から、電子メールなどの配信手段を用いてプッシュ配信される紙面コンテンツデータ10を取得するようにしてもよい。
さらに、ホームネットワーク600を構成するこれらの機器を利用することで、ユーザは、宅外で電子新聞を閲覧することができるようになる。
例えば、紙面コンテンツデータ10をテレビ100からプリンタ602に転送することにより、ユーザは、プリンタ602にて印刷した電子新聞を宅外に持ち出すことができる。また、紙面コンテンツデータ10をテレビ100から携帯電話603または電子ペーパー604に転送することにより、ユーザは、携帯電話603または電子ペーパー604に格納された紙面コンテンツデータ10を外出先で再生することができる。
また、テレビ100と携帯電話603とが同じ電子新聞配信サービスに同じIDで加入している場合、テレビ100にてユーザがある記事を選択したときに、テレビ100から紙面コンテンツ生成サーバ200に選択内容を通知し、紙面コンテンツ生成サーバ200が、同じIDで登録されている携帯電話603に対して選択内容に応じた記事を配信するようにしてもよい。この際、記事を配信する手段として、電子メールを用いてもよい。
(B.紙面コンテンツデータ)
テレビ100により再生される紙面コンテンツデータ10(図2参照)について、図4〜8に基づいて説明する。
テレビ100は、以下に説明するデータ構造を有するコンテンツデータ1000を再生可能に構成されている。テレビ100により再生される紙面コンテンツデータ10は、電子新聞を構成する各種情報を、コンテンツデータ1000に格納することにより実現される。
図4は、テレビ100にて再生可能なコンテンツデータ1000のデータ構造を模式的に示したデータ構造図である。図4に示したように、コンテンツデータ1000は、処理フロー記述1100と、画面レイアウト記述1200と、メディアオブジェクト1300とを含んで構成されている。
処理フロー記述1100は、コンテンツデータ1000再生時にテレビ100が実行するべき処理を定義する記述である。画面レイアウト記述1200は、コンテンツデータ1000再生時にテレビ100が表示するべき画面の構成を定義する記述である。メディアオブジェクト1300は、コンテンツデータ1000再生時にテレビ100が表示するべき画面内に描画される静止画像、動画像、もしくはテキスト、または、コンテンツデータ1000再生時にテレビ100から出力される音声などの情報を、所定の形式で内包したデータである。
なお、コンテンツデータ1000には、異なる複数の画面レイアウト記述1200を格納することができる。図4に示した例では、異なる3つの画面レイアウト記述1200が含まれており、これらを部材番号1200に添え字a〜cを付すことにより区別している。また、コンテンツデータ1000には、異なる複数のメディアオブジェクト1300を格納することができる。図4に示した例では、5つのメディアオブジェクト1300が含まれており、これらを部材番号1300に添え字a〜eを付すことにより区別している。また、コンテンツデータ1000は、コンテンツデータ1000再生時に参照されるパラメータを格納したテキストファイルを、メディアオブジェクト1300として含むこともできる。
次に、コンテンツデータ1000に含まれる処理フロー記述1100について、図5に基づいて説明する。
図5(a)は、処理フロー記述1100の典型的な記述例を模式的に示した図であり、図5(b)は、図5(a)に例示した処理フロー記述1100に基づいて、テレビ100が表示する画面の遷移を示した画面遷移図である。
処理フロー記述1100は、テレビ100に対する命令を定義する命令文と、命令文の実行順序を制御する制御文とを列挙することにより構成される。とくに、図5(a)に例示した処理フロー記述1100は、以下の命令文および制御文を以下の順序で列挙することにより構成されている。
(1)画面レイアウト記述1200aに基づく第1の画面を表示することを指示する命令文1101。
(2)次に実行する命令文を、リモコンの「1」ボタンが押下された場合には命令文1103に、リモコンの「決定」ボタンが押下された場合には命令文1104に切り替える制御文1102。
(3)当該コンテンツデータ1000とは異なる、別のコンテンツデータ1000aを取得することを指示する命令文1103。
(4)画面レイアウト記述1200bに基づく第2の画面を表示することを指示する命令文1104。
(5)次に実行する命令文を、リモコンの「1」ボタンが押下された場合には命令文1106に、リモコンの「決定」ボタンが押下された場合には命令文1107に切り替える制御文1105。
(6)当該コンテンツデータ1000とは異なる、別のコンテンツデータ1000bを取得することを指示する命令文1106。
(7)画面レイアウト記述1200cに基づく第3画面を表示することを指示する命令文1107。
(8)当該コンテンツデータ1000とは異なる、別のコンテンツデータ1000cを取得することを指示する命令文1108。
図5(a)に例示した処理フロー記述1100に対し、テレビ100は、図5(b)に示したように動作する。
すなわち、コンテンツデータ1000の再生を開始すると、テレビ100は、処理フロー記述1100における最初の命令文1101にしたがって、画面レイアウト記述1200aに基づく第1の画面を表示する。
第1の画面の表示中にリモコンの「1」ボタンが押下されると、テレビ100は、命令文1103にしたがってコンテンツデータ1000aを取得する。取得が完了すると、テレビ100は、新たに取得したコンテンツデータ1000aの再生を開始する。
一方、第1の画面の表示中にリモコンの「決定」ボタンが押下されると、テレビ100は、命令文1104にしたがって、第1の画面を、画面レイアウト記述1200bに基づく第2の画面に遷移させる。
第2の画面の表示中にリモコンの「1」ボタンが押下されると、テレビ100は、命令文1106にしたがってコンテンツデータ1000bを取得する。取得が完了すると、テレビ100は、新たに取得したコンテンツデータ1000bの再生を開始する。
一方、第2の画面の表示中にリモコンの「決定」ボタンが押下されると、テレビ100は、命令文1107にしたがって、第2の画面を、画面レイアウト記述1200cに基づく第3の画面に遷移させる。
第3の画面の表示が終了すると、テレビ100は、命令文1108にしたがって、コンテンツデータ1000cを取得する。取得が完了すると、テレビ100は、新たに取得したコンテンツデータ1000cの再生を開始する。
次に、コンテンツデータ1000の画面レイアウト記述1200について、図6に基づいて説明する。
図6は、画面レイアウト記述1200の構成を模式的に示した図である。図6に示したように、画面レイアウト記述1200は、メディアオブジェクトレイアウト記述1210、テキストレイアウト記述1220、マスクレイアウト記述1230、および、イベントハンドラ1240を含んで構成される。
メディアオブジェクトレイアウト記述1210は、画面レイアウト記述1200に基づいて構成される画面内に、メディアオブジェクト1300を描画するための記述である。メディアオブジェクトレイアウト記述1210は、描画対象とするメディアオブジェクト1300を指定するメディアオブジェクト指定情報1211と、メディアオブジェクト指定情報1211により指定されたメディアオブジェクト1300の、当該画面におけるレイアウトを指定するレイアウト指定情報1212とにより構成される。
メディアオブジェクト指定情報1211としては、例えば、描画対象とするメディアオブジェクト1300のファイル名を用いることができる。また、レイアウト指定情報1212としては、例えば、描画対象とするメディアオブジェクト1300を描画する矩形領域の、左上頂点のx座標およびy座標、ならびに、該矩形領域の横幅および縦幅を示す4つの数値を利用することができる。
なお、画面レイアウト記述1200は、複数の異なるメディアオブジェクトレイアウト記述1210を含むことができ、テレビ100は、画面レイアウト記述1200に基づいて構成される画面内に、複数の異なるメディアオブジェクト1300を表示することができる。また、画面内にメディアオブジェクト1300を表示する必要がない場合、画面レイアウト記述1200は、メディアオブジェクトレイアウト記述1210を含まなくてもよい。
テキストレイアウト記述1220は、画面レイアウト記述1200に基づいて構成される画面内に、テキストを描画するための記述である。テキストレイアウト記述1220は、描画対象とするテキストを表すテキストデータ1221と、描画対象とするテキストの当該画面におけるレイアウトを指定するレイアウト指定情報1222とにより構成される。
レイアウト指定情報1222としては、例えば、テキストデータ1221が流し込まれる矩形領域の、左上頂点のx座標およびy座標、ならびに、該矩形領域の横幅および縦幅を示す4つの数値を利用することができる。テキストデータ1221を、矩形以外の多角形状の領域に流し込む場合には、該多角形の各頂点のx座標およびy座標を、レイアウト指定情報1222として利用すればよい。また、テキストレイアウト記述1220は、さらに、表示文字サイズを指定する文字サイズ指定情報、表示文字色を指定する文字色指定情報、また、表示フォントを指定するフォント指定情報などを含んでいてもよい。
なお、画面レイアウト記述1200は、複数の異なるテキストレイアウト記述1220を含むことができ、テレビ100は、画面レイアウト記述1200に基づいて構成される画面内に、複数の異なるテキストデータを表示することができる。また、画面内にテキストデータを表示する必要がない場合、画面レイアウト記述1200は、テキストレイアウト記述1220を含まなくてもよい。
マスクレイアウト記述1230は、画面レイアウト記述1200に基づいて構成される画面内に、矩形マスクを描画するための記述である。マスクレイアウト記述1230は、マスクID1231と、レイアウト指定情報1232と、色指定情報1233と、透明度指定情報1234と、可視性指定情報1235とにより構成される。
マスクID1231は、当該矩形マスクを、他の矩形マスクと識別するための情報であり、当該矩形マスクに割り当てられた固有のIDである。レイアウト指定情報1232は、当該矩形マスクのレイアウトを指定する情報であり、例えば、当該矩形マスクの左上頂点のx座標およびy座標、ならびに、当該矩形マスクの横幅および縦幅を示す4つの数値である。色指定情報1233は、当該矩形マスクの表示色を指定するための情報であり、透明度指定情報1234は、当該矩形マスクの透明度を指定するための情報である。また、可視性指定情報1235は、当該マスクを表示するか、または非表示にするかを指定する情報である。
マスクレイアウト記述1230に基づいて描画される矩形マスクは、画面レイアウト記述1200に基づいて構成される画面に表示される各コンテンツ(すなわち、メディアオブジェクトレイアウト記述1210に基づいて描画されるメディアオブジェクト1300、または、テキストレイアウト記述1200に基づいて描画されるテキストデータ1221)を被覆するように表示され、当該コンテンツの表示輝度を調整したり、各コンテンツの全部または一部を強調表示したりするために利用される。
なお、マスクレイアウト記述1230を用いて、矩形に限らず、多角形マスクを描画することもできる。この場合、多角形マスクの各頂点のx座標およびy座標を、レイアウト指定情報1242として利用すればよい。
また、画面レイアウト記述1200は、複数の異なるマスクレイアウト記述1230を含むことができ、テレビ100は、画面レイアウト記述1200に基づいて構成される画面内に、複数の異なる矩形マスクを表示することができる。また、画面内に矩形マスクを表示する必要がない場合、画面レイアウト記述1200は、マスクレイアウト記述1230を含まなくてもよい。
イベントハンドラ1240は、画面レイアウト記述1200に基づく画面の表示中に発生したイベントに応じた処理を、テレビ100に実行させるための記述である。想定される典型的なイベントとしては、ユーザ操作が挙げられるが、イベントハンドラ1240には、タイマーイベントなどユーザ操作以外のイベントに応じた処理も記述することができる。イベントハンドラ1240は、監視するべきイベントを指定するイベント指定情報1241と、イベント指定情報1241により指定されたイベントが検出されたときに実行するべき処理を指定した命令1242とにより構成される。テレビ100は、画面レイアウト記述1200に基づく画面を表示中に、イベント指定情報1241により指定されたイベントを検出すると、命令1242にしたがって、指定された処理を実行する。なお、異なるイベントに対応するイベントハンドラを、異なる関数として記述可能な言語を用いて画面レイアウト記述1200を記述する場合、イベントハンドラの関数名がイベント指定情報1241に該当する。
なお、画面レイアウト記述1200は、複数の異なるイベントハンドラ1240を含むことができ、テレビ100は、複数の異なるイベントに反応して、各イベントに対応した処理を実行することができる。また、イベントに対応した処理を行う必要がない場合、画面レイアウト記述1200は、イベントハンドラ1240を含まなくてもよい。
以上に説明したような画面レイアウト記述1200を記述するのに適した言語としては、SVG(Scalable Vector Graphics)、SMIL(Synchronized Multimedia Integration Language)、XHTML(Extensible Hypertext Markup Language)などの拡張可能なマーク付け言語(XML:Extensible Markup Language)を挙げることができる。
テレビ100にて再生される紙面コンテンツデータ10(図2参照)は、テレビ100にて再生可能な上記のコンテンツデータ1000に、実際の新聞紙面を再現した紙面画面を定義する画面レイアウト記述12を格納することにより実現される。以下、紙面コンテンツデータ10に含まれる、紙面画面を定義する画面レイアウト記述12の具体例について、図7〜8に基いて説明する。
図7は、紙面コンテンツデータ10に内包されている画面レイアウト記述12の第1の具体例を模式的に示した図である。
図7に示した画面レイアウト記述12は、大略的に言えば、紙面画面50を画像化したメディアオブジェクト13(具体的にはJPEG形式の画像データ)を描画することにより紙面画面50を構成する。すなわち、紙面画面50に表示されるコンテンツ(記事51〜57、および、広告58)は、画像情報としてメディアメディアオブジェクト13に内包されている。
図7に示した画面レイアウト記述12は、上記のメディアオブジェクト13を描画するメディアオブジェクトレイアウト記述12aと、記事51〜57および広告58の各々を被覆するマスク71〜78を描画するマスクレイアウト記述12b1〜12b8とを含んでいる。
すなわち、マスクレイアウト記述12b1〜12b8のレイアウト指定情報は、紙面画面50において各コンテンツが表示される表示領域と一致するように設定されている。したがって、マスク71〜78は、ちょうど、記事51〜57および広告58の各々を被覆するように表示される。
また、マスクレイアウト記述12b1〜12b8は、紙面画面50に表示される各コンテンツの優先順位に応じたマスクIDを与えられている。具体的には、最も優先順位が高いコンテンツである記事51に対応するマスクレイアウト記述12b1にはマスクID「mask1」が、2番目に優先順位が高い記事52に対応するマスクレイアウト記述12b2にはマスクID「mask2」が、…、最も低い優先順位が設定されている広告58に対応するマスクレイアウト記述12b8にはマスクID「mask8」が与えられている。
図8は、紙面コンテンツデータ10に内包されている画面レイアウト記述12の第2の具体例を模式的に示した図である。
図8に示した画面レイアウト記述12は、大略的に言えば、紙面画面50を構成する各コンテンツ、すなわち、記事51〜57を表すテキストデータ、および広告58を表す画像データを個別に描画することにより、紙面画面50を構成する。
図8に示した画面レイアウト記述12は、記事51〜57を描画するテキストレイアウト記述12c1〜c7と、広告58を画像化したメディアオブジェクト13(具体的にはJPEG形式の画像データ)を描画するメディアオブジェクトレイアウト記述12c8と、記事51〜57および広告58の各々を被覆するマスク71〜78を描画するマスクレイアウト記述12b1〜12b8とを含んでいる。記事51〜57を描画するテキストレイアウト記述12c1〜c7には、それぞれ、記事51〜57を表すテキストデータと、当該テキストデータを表示する表示領域を指定するレイアウト指定情報とが含まれている。
マスクレイアウト記述12b1〜12b8のレイアウト指定情報は、それぞれ、記事51〜57を描画するテキストレイアウト記述12c1〜c7のレイアウト指定情報、または、広告58を描画するメディアオブジェクトレイアウト記述12c8のレイアウト指定情報と一致するように設定されている。したがって、マスク71〜78は、ちょうど、記事51〜57および広告58の各々を被覆するように表示される。また、マスクレイアウト記述12b1〜12b8は、図7に示したものと同様、紙面画面50に表示される各コンテンツの優先順位に応じたマスクIDを与えられている。
図7〜8に示した画面レイアウト記述12において、マスクレイアウト記述12b1〜12b8のレイアウト指定情報は、それぞれ、紙面画面50に表示される各コンテンツ(記事51〜57または広告58)の表示領域を示している。このため、テレビ100は、紙面画面50に表示される各コンテンツの表示領域を、マスクレイアウト記述12b1〜12b8のレイアウト指定情報に基づいて特定することができる。すなわち、マスクレイアウト記述12b1〜12b8のレイアウト指定情報は、テレビ100が、紙面画面50に表示される各コンテンツの表示領域を特定するための情報としても機能する。
なお、図8に示した画面レイアウト記述12のように、紙面画面50に表示される各コンテンツの表示領域が、当該コンテンツを表示するためのテキストレイアウト記述12c1〜c7またはメディアオブジェクトレイアウト記述12c8のレイアウト指定情報として直接指定されている場合、テレビ100は、これらのレイアウト指定情報によっても各コンテンツの表示領域を特定することができる。
また、図7〜8に示した画面レイアウト記述12において、マスクレイアウト記述12b1〜12b8のマスクIDは、それぞれ、対応するコンテンツ(記事51〜57または広告58)の優先順位を示している。このため、テレビ100は、紙面画面50に表示されるコンテンツの優先順位を、マスクレイアウト記述12b1〜12b8のマスクIDに基づいて特定することができる。すなわち、マスクレイアウト記述12b1〜12b8のマスクIDは、紙面画面50に表示されるコンテンツの優先順位をテレビ100に指定するための優先順位指定情報として機能する。
なお、紙面画面50に表示されるコンテンツの優先順位をテレビ100に指定するための優先順位指定情報は、上述したように、マスクレイアウト記述12b1〜12b8のマスクIDにより明示的に表現することができるが、これに限るものではない。すなわち、例えば、図7および図8に示したように、マスクレイアウト記述12b1〜12b8の記述順序を、対応するコンテンツの優先順位と一致させることにより、紙面画面50に表示されるコンテンツの優先順位を、マスクレイアウト記述12b1〜12b8の記述順序により、非明示的に表現することもできる。また、図8に示した画面レイアウト記述12のように、紙面画面50に表示される各コンテンツが、当該コンテンツを表示するためのテキストレイアウト記述12c1〜c7またはメディアオブジェクトレイアウト記述12c8に基づいて表示されている場合、テキストレイアウト記述12c1〜c7およびメディアオブジェクトレイアウト記述12c8の記載順序により、紙面画面50に表示されるコンテンツの優先順位を非明示的に表現するようにしてもよい。
(C.テレビの構成)
紙面コンテンツデータ10を再生するテレビ100について、図1、および、図9〜18に基づいて説明する。
図1は、テレビ100の要部構成を示したブロック図である。テレビ100は、図1に示したように、通信部101、記憶部102、表示部103、リモコン信号信号受信部104、および、制御部110を含んで構成されている。
通信部101は、ネットワークに接続された他の通信装置との間でデータ通信を行うための手段である。具体的には、紙面コンテンツ要求20を紙面コンテンツ生成サーバ200に送信し、また、紙面コンテンツデータ10を紙面コンテンツ生成サーバ200から受信する。
記憶部102は、通信部101が取得した紙面コンテンツデータ10を格納するための手段であり、例えば、フラッシュメモリやハードディスクドライブなどの記憶装置により構成される。なお、記憶部102には、通信部101が取得した紙面コンテンツデータ10の他に、制御部110が実行する制御プログラムも格納されている。また、記憶部102は、HDDレコーダなど、テレビ100に接続された外部記憶装置により実現してもよい。
表示部103は、紙面コンテンツデータ10に基づいて構成された画面を可視的に出力するための手段であり、例えば、LCD(液晶ディスプレイ)、PDP(プラズマディスプレイパネル)、あるいはCRT(cathode-ray tube)ディスプレイなどの表示装置により構成される。なお、表示部130は、紙面コンテンツデータ再生時以外は、受信した放送コンテンツを出力するために利用される。
リモコン信号受信部104は、リモコン700から発信されたリモコン信号を受信するための手段であり、例えば、リモコン700から発信された赤外線を受光して電気信号に変換する赤外線受光装置により構成される。リモコン信号受信部104は、受信したリモコン信号を、制御部110に伝達する。
制御部110は、テレビ100が備える各部の各種動作を制御するための手段であり、図1に示したように、紙面コンテンツデータ取得部111、リモコン信号解析部112、処理フロー記述処理部113、画面レイアウト記述処理部114(コンテンツ表示手段)、および、コンテンツ選択部120(コンテンツ選択手段)を内部ブロックとして含んでいる。制御部110は、例えば、CPU(central processing unit)などの演算装置により構成され、該演算装置が記憶部102に格納されている制御プログラムを実行することにより、上記各内部ブロックの機能を実現する。
紙面コンテンツデータ取得部111は、紙面コンテンツデータ10を紙面コンテンツ生成サーバ200から取得するよう、通信部101を制御する。より具体的には、リモコン信号解析部112、または処理フロー記述処理部113から指示が与えられると、紙面コンテンツデータ取得部111は、紙面コンテンツ要求20を生成し、生成した紙面コンテンツ要求20を通信部101を介して紙面コンテンツ生成サーバ200に送信する。また、紙面コンテンツ取得要求20に対する応答として、通信部101が紙面コンテンツデータ10を受信すると、紙面コンテンツデータ取得部111は、受信した紙面コンテンツデータ10を、記憶部102に格納する。
リモコン信号解析部112は、リモコン700に対して行われたユーザ操作の内容を、リモコン信号受信部104にて受信したリモコン信号に基づいて特定して、紙面コンテンツデータ取得部111、処理フロー記述処理部113、画面レイアウト記述処理部114、および、コンテンツ選択部120に通知する。
処理フロー記述処理部113は、記憶部102に格納された紙面コンテンツデータ10から処理フロー記述11を読み出し、その処理フロー記述11に記述された命令に応じた指示を、紙面コンテンツデータ取得部111、または、画面レイアウト記述処理部114に与える。また、処理フロー記述11に、ユーザ操作に応じて命令を切り替える分岐が記述されている場合、処理フロー記述処理部113は、リモコン信号解析部112からの通知を参照して、次に実行するべき命令を決定する。
例えば、ある特定の紙面コンテンツデータを取得せよという命令に対して、処理フロー記述処理部113は、その紙面コンテンツデータを取得するよう紙面コンテンツデータ取得部111に指示を与え、また、ある特定の画面レイアウト記述12に基づく画面を表示せよという命令に対して、処理フロー記述処理部113は、その画面レイアウト記述12に基づく画面を表示するよう、画面レイアウト記述処理部114に指示を与える。
画面レイアウト記述処理部114は、画面レイアウト記述12に基づく画面を表示するよう、処理フロー記述処理部113から指示を受けると、画面レイアウト記述12を記憶部102から読み出し、画面レイアウト記述12に基づいて紙面画面50(図3(a)参照)を生成する。この際、画面レイアウト記述12がメディアオブジェクト13を参照するものであれば、画面レイアウト処理部114は、参照されているメディアオブジェクト13を記憶部102から読み出し、メディアオブジェクト13を画面レイアウト記述12にしたがってレイアウトし、紙面画面50を生成する。画面レイアウト記述処理部114は、生成した紙面画面50を表示部104に表示させる。また、画面レイアウト記述12にイベントハンドラが含まれている場合、画面レイアウト記述処理部114は、リモコン信号解析部112からの通知を参照して、ユーザ操作に応じた処理、例えば紙面画面50の書き換え処理などを行う。
コンテンツ選択部120は、紙面画面50を分割して得られる複数の小領域の何れかを指定するユーザ操作を受け付けたとき、紙面画面50に表示された複数のコンテンツのうち、指定された小領域に少なくとも一部分が表示されているコンテンツを選択するための手段である。ここで、紙面画面50に表示されるコンテンツとしては、図3(a)に示した、記事51〜57と広告58とが挙げられる。
コンテンツ選択部120は、紙面画面50に表示された複数のコンテンツから1つのコンテンツを選択すると、選択されたコンテンツを、処理フロー記述処理部113と画面レイアウト記述処理部114とに通知する。通知されたコンテンツが選択された際に実行するべき命令が処理フロー記述11に定義されていた場合、処理フロー記述処理部113がその命令を処理する。また、通知されたコンテンツが選択された際に実行するべき命令が画面レイアウト記述12のイベントハンドラに定義されていた場合、画面レイアウト記述処理部114が、その命令を処理する。なお、コンテンツ選択部120については、参照する図面を変えて、後で更に詳しく説明する。
なお、以上では、制御部110の機能を、紙面コンテンツデータ10の再生機能に限って説明したが、制御部110は、放送コンテンツを再生するための制御、例えば、放送コンテンツを受信するチャンネルの切り替え制御なども、リモコン信号受信部104にて受信したリモコン信号に基づいて行うことができる。
テレビ100は、リモコン700を用いて操作することができる。そこで、テレビ100を操作するリモコン700について、図9に基づいて簡単に説明する。
図9(a)は、リモコン700の外観を示した外観図である。図9(a)に示したように、リモコン700は、少なくとも、数字ボタン部710と、十字ボタン部720とを含んで構成されている。
数字ボタン部710は、少なくとも1〜9に対応する数字ボタン711〜719を含んで構成されている。ユーザは、これらのボタンを押下することにより、押下したボタンに対応する数字を入力することができる。なお、数字ボタン部710は、受信チャンネルの切り替えに便利なよう、1〜12の12個のボタンにより構成されていてもよい。
十字ボタン部720は、上下左右に配置された、上ボタン721、下ボタン722、左ボタン723、右ボタン724、および、これら4つのボタンの中央に配置された決定ボタン725を含んで構成されている。ユーザは、これらのボタンを押下することにより、「上」「下」「左」「右」「決定」を入力することができる。
図9(b)は、リモコン700の機能的な構成を示したブロック図である。図9(b)に示したように、リモコン700は、入力部730と、リモコン信号発信部740とを含んで構成されている。
入力部730は、テレビ100に対する操作をユーザが入力するための手段であり、上述した数字ボタン部710と十字ボタン部720とを含んで構成されている。リモコン信号発信部740は、入力部730から入力された操作に応じたリモコン信号をテレビ100に送信するための手段であり、例えば、リモコン信号を赤外線搬送波に乗せて発信する赤外線発信装置により構成されている。
本実施形態に係るテレビ100は、紙面コンテンツデータ10の再生中、ユーザ操作に基づいて、紙面画面50に表示されている複数のコンテンツのなかから1つのコンテンツを選択するコンテンツ選択処理に特徴がある。以下、コンテンツ選択部120(図1)によって実現されるコンテンツ選択処理について、図10〜18に基づいて説明する。
図10は、テレビ100が備えているコンテンツ選択部120(図1)の内部構成を示した機能ブロック図である。
図10に示したように、コンテンツ選択部120は、紙面画面50を複数の仮想的な小領域に分割する画面分割処理部121と、紙面画面50の各小領域に、当該小領域に少なくとも一部分が表示されているコンテンツを関連付ける関連付処理部122と、紙面画面50の小領域の何れかを指定するユーザ操作を受け付けたとき、指定された小領域に関連付処理部122によって関連付けられたコンテンツを選択する選択処理部123とを含んで構成されている。
図11は、コンテンツ選択処理の流れを示したフローチャート(タイミングチャート)である。図11の左側に示したように、紙面コンテンツ生成サーバ200が、優先順位情報(優先順位指定情報)が付加された紙面コンテンツデータ10を生成し、生成した紙面コンテンツデータ10をテレビ100に対して送信すると、図11の右側に示したようにして、テレビ100は、受信した紙面コンテンツデータ10を処理する。
すなわち、紙面コンテンツデータ取得部111が紙面コンテンツデータ10の受信を完了すると(S101)、画面分割処理部121は、紙面画面50を複数の仮想的な小領域に分割する(S102)。
画面分割処理部121は、ユーザ操作を入力する入力デバイスの構成に対応した分割パターンで紙面画面50を分割する。例えば、図9(a)に示したリモコン700の数字ボタン711〜719の空間配置に対応した紙面画面50の分割パターンは、図12に示したようになる。
図12は、リモコン700の数字ボタン711〜719に対応する9分割された紙面画面50を示した図である。図12に示したように、画面分割処理部121は、3×3のマトリクス状に配置された互いに合同な9個の矩形状の小領域50a〜iに、紙面画面50全体を分割する。
紙面画面50の分割処理S102が完了すると、画面分割処理部121は、紙面画面50の分割パターンを、関連付処理部122に通知する。なお、画面分割処理部121が関連付処理部122に分割パターンを通知する方法は様々であるが、一例としては、直線により紙面画面50を分割する分割パターンの場合、紙面画面50を分割する分割線の交点の座標を関連付処理部122に通知する方法が挙げられる。
画面分割処理部121から分割パターンが通知されると、関連付処理部122は、通知された分割パターンにしたがって紙面画面50を分割して得られる小領域50a〜iの各々に対し、当該小領域を指定するための数字ボタンとして、リモコン700の互いに異なる数字ボタン711〜719を割り当てる(S103)。
図12の9分割された紙面画面50は、数字ボタン711〜719の空間的な配置に対応するよう分割されているので、各小領域50a〜iに対して割り当てるべき数字ボタン711〜719は自然に定まる。すなわち、関連付処理部122は、小領域50aには1ボタン711を割り当て、小領域50bには2ボタン712を割り当てる。他の小領域50c〜iにも、同様に数字ボタン713〜719を割り当てる。
小領域50a〜iに対する数字ボタン711〜719の割り当てが完了すると、関連付処理部122は、小領域50a〜iに対して、コンテンツ(すなわち、記事51〜57および広告58)の関連付けを行う(S104)。ここで、関連付処理部122は、小領域50a〜iの各々について、(1)当該小領域に少なくとも一部分が表示されているコンテンツが唯一つであるとき、当該コンテンツを当該小領域に関連付け、(2)当該小領域に少なくとも一部分が表示されているコンテンツが2以上存在するとき、紙面画面50に表示されるコンテンツに予め設定されている優先順位に基づいて、該2以上のコンテンツから1のコンテンツを選択し、選択されたコンテンツを当該小領域に関連付ける。
関連付処理部122が実行する上記関連付処理S104の実現方法としては様々なものが考えられるが、ここでは、図13〜図16を参照して、具体例2例を示す。
図13は、関連付処理S104の第1の具体例を示すフローチャートである。図13に示したように、関連付処理部122は、紙面画面50の小領域50a〜iを1つずつ順に注目し、注目している小領域に対して、以下の処理S201〜204を実行する。
関連付処理部122は、まず、注目している小領域に少なくとも一部分が表示されているコンテンツを特定し、特定されたコンテンツの数が2より小さいか否かを判定する(S201)。ここで、注目している小領域に表示されているコンテンツの特定は、画面分割処理部122から通知された分割パターンと、記憶部102から読み出した画面レイアウト記述12とに基づいて行われる。画面レイアウト記述12には、図7〜8に示したように、紙面画面50に表示される各コンテンツの表示領域をちょうど被覆するマスクを描画するマスクレイアウト記述12b1〜12b8が含まれており、関連付処理部122は、このマスクレイアウト記述のレイアウト指定情報に基づいて、紙面画面50に表示される各コンテンツの表示領域を特定することができる。
関連付処理部122は、注目している小領域に少なくとも一部分が表示されているコンテンツが唯一である場合(S201:Yes)、そのコンテンツを自動的に選択する(S202)。一方、注目小領域に表示されているコンテンツが2以上であった場合(S201:No)、該2以上のコンテンツのうちで、最も高い優先順位が設定されているコンテンツを選択する(S203)。ここで、該2以上のコンテンツに設定された優先順位の特定は、画面レイアウト記述12に含まれる優先順位指定情報に基づいて行われる。具体的には、画面レイアウト記述12に含まれるマスクレイアウト記述12b1〜12b8のマスクIDを参照して、該2以上のコンテンツの優先順位を特定する。
ステップS202またはS203にてコンテンツの選択が完了すると、関連付処理部122は、選択されたコンテンツを現在注目している小領域に関連付ける(S204)。関連付処理部122は、以上の処理S201〜S204を繰り返し、全ての小領域50a〜iに対して、コンテンツを1つずつ関連付ける。
図14は、図13に示した関連付処理S104により、小領域50a〜iの各々に、何れの記事が関連付けられるかを示した図である。
例えば、図14に示したように、小領域50aには、記事54が関連付けられる。これは、小領域50aに表示される唯一のコンテンツが記事54だからである。また、小領域50eには、記事53が関連付けられる。これは、小領域50eには、記事53と記事55とが表示されているが、記事51〜57の優先順位が記事51>記事52>記事53>記事54>…の順に設定されており、記事53の優先順位が記事55より高いためである。また、領域50iには、記事57が関連付けられる。これは、記事51>記事52>…>記事57>広告58と、広告58の優先順位が記事51〜57に比べて低く設定されているためである。
上述したように、ステップS103(図12)にて、小領域50a〜iの各々に対して、互いに異なる数字ボタン711〜719が割り当てられる。また、以上のステップS201〜S204により、小領域50a〜iの各々に対して、紙面画面50に表示されるコンテンツの何れかが関連付けられる。関連付処理部122は、これらに基づいて、数字ボタン711〜719の各々に対し、紙面画面50に表示されるコンテンツの何れかを関連付ける。数字ボタン711〜719とコンテンツとの間の関連付けが決定すると、関連付処理部112は、決定された関連付けを選択処理部123に通知する。
図15は、関連付処理S104の第2の具体例を示すフローチャートである。図15に示した関連付処理S104の具体例と、図13に示した関連付処理S104の具体例との相違点は、(1)ステップS202およびS203で選択候補とする選択候補コンテンツを、紙面コンテンツ50に表示されている全てのコンテンツに初期化するステップS205と、(2)注目している小領域に関連付けられたコンテンツを、選択候補コンテンツから除外するステップS206とが追加されていることである。
図16は、図15に示した関連付処理S104により、小領域50a〜iの各々に、何れの記事が関連付けられるかを示した図である。なお、図16(a)に示した関連付け結果は、小領域50a、小領域50b、小領域50c…、小領域50iの順で関連付処理S104が行われた場合のものである。
例えば、図16(a)に示したように、小領域50dには、記事56が関連付けられる。これは、小領域50dに表示されている記事54と記事56とでは記事54の方が優先順位が高いが、記事54は既に小領域50aに関連付けられているので、小領域50dに関連づけるコンテンツを選択する時点で、記事54が既に選択候補コンテンツから除外されているためである。また、小領域50iには、記事57と広告58とが表示されているが、何れの記事も小領域50iに関連付けられることはない。これは、小領域50iに関連付けるコンテンツを選択する時点で、記事57は既に領域50gに関連付けられており、広告58は既に領域50fに関連付けられているためである。
図15に示した関連付処理S104によれば、1つのコンテンツが複数の小領域に関連付けられてしまうことを防ぐことができる。すなわち、リモコン700の異なる数字ボタン711〜719には、異なるコンテンツが対応するので、リモコンの数字ボタン711〜719を、紙面画面50に表示されているコンテンツに、より効率的に関連付けることが可能になる。
なお、ある小領域に表示されているコンテンツが全て他の小領域に関連付けられた結果、そのコンテンツに関連付けるべきコンテンツが存在しなくなった場合、上記のとおり、その小領域には何れのコンテンツも関連付けないようにしてもよいし、あるいは、紙面画面50に表示される全てのコンテンツを選択候補コンテンツとして、その小領域に関連付けるコンテンツを再度選択するようにしてもよい。図16(a)に示した例は、前者のルールで関連付処理を行った結果を示したものであり、図16(b)に示した例は、後者のルールで関連付処理を行った結果を示したものである。このため、図16(b)に示した例では、小領域50gに既に関連付けられている記事57が、小領域50iにもまた関連付けられている。
以下、再び図11を参照して、コンテンツ選択処理についての説明を続ける。
S104にて、数字ボタン711〜719と、紙面画面50に表示されているコンテンツとの間の関連付けが決定すると、上述したように、関連付処理部112は、決定された関連付けを選択処理部123に通知する。当該通知を受けた選択処理部123は、紙面画面50の表示を開始することを、画面レイアウト記述処理部114に指示する。この指示を受けた画面レイアウト記述処理部114は、紙面画面50を表示部103に表示する(S105)。
紙面画面50が表示部103に表示されている状態で、選択処理部123は、リモコン700の数字ボタン711〜719が押下されたことがリモコン信号解析部112から通知されることを待ち受ける(S106)。そして、選択処理部123は、数字ボタン711〜719の何れかが押下されたことを通知されると(S106:Yes)、押下されたボタンに関連付処理部122によって関連付けられたコンテンツを選択する(S107)。
コンテンツの選択が完了すると、選択処理部123は、選択されたコンテンツを処理フロー記述処理部113と画面レイアウト記述処理部114とに通知する。処理フロー記述処理部113、および画面レイアウト記述処理部114は、通知されたコンテンツに応じた処理を実行する(S108)。なお、処理フロー記述処理部113、および画面レイアウト記述処理部114が実行する、通知されたコンテンツに応じた処理は何でもよいが、例えば、通知されたコンテンツに関連する新たな紙面コンテンツデータを取得する処理や、通知されたコンテンツを拡大表示あるいは強調表示する処理などが挙げられる。
なお、画面分割処理部121が紙面画面50を分割する分割パターンは、特定の入力デバイスを想定して固定的に定められた分割パターンであってもよいし、異なる複数の入力デバイスを想定して定められた複数の分割パターンから選択された1つの分割パターンであってもよいし、任意の入力デバイスを想定して、画面処理部121が入力デバイスの構成を検知して動的に定めた分割パターンであってもよい。
例えば、テレビ100に付属のリモコン700に対応した上述の分割パターンの他に、万能リモコンに対応した他の分割パターンや、携帯電話のリモコンアプリに対応したさらに他の分割パターンをテレビ100に格納しておき、使用する分割パターンを、テレビ100に表示されるメニュー画面などにより、ユーザに選択させるようにしてもよい。また、これらの分割パターンを、テレビ100が通信ネットワークを介して取得するようにしてもよいし、とくに、紙面コンテンツ生成サーバ200から取得するようにしてもよい。
また、入力デバイスが、当該入力デバイスの構成を示す情報をテレビ100に送信するようにしてもよい。リモコン信号を発信するリモコン装置であれば、当該リモコン装置の構成を示す情報(例えば、コンテンツを選択するために利用可能なボタンの縦横の個数を示す4×3など)を、リモコン信号としてテレビ100に送信するようにすればよい。この場合、画面分割処理部121が、入力デバイスから受信した信号に基づいて分割パターンを動的に定めるようにすればよい。
また、以上では、関連付処理部122は、紙面画面50の各小領域に、当該小領域に少なくとも一部分が表示されているコンテンツを関連付けるものとしたが、これに限らない。すなわち、上記複数のコンテンツの各々に、当該コンテンツが表示される表示領域の一部分が代表部分として設定されているのであれば、関連付処理手段122を、小領域50a〜iの各々に、当該小領域に代表部分が表示されているコンテンツを関連付けるように、構成してもよい。また、この際、関連付処理手段122を、小領域50a〜iの各々について、当該小領域の内部に代表部分が表示されているコンテンツが2以上存在するとき、該2以上のコンテンツから優先順位に基づいて1のコンテンツを選択するように構成してもよい。なお、各コンテンツの代表部分は、当該コンテンツが表示される表示領域内の一点であってもよいし、当該コンテンツが表示される表示領域内の広がりをもった領域であってもよい。
図17は、上記のような関連付処理により、小領域50a〜iの各々に、何れの記事が関連付けられるかを示した図である。図17に示した例では、記事51〜57および広告58の各々について、星印で示した位置に代表点が設定されている。
例えば、小領域50dには、記事54と記事56とが表示されているが、小領域50d内部に代表点を有しているのは記事56なので、領域50dには記事56が関連付けられる。小領域50eには、記事53と記事55とが表示されており、何れの代表点も小領域50eの内部に位置している。したがって、優先順位に基づく選択が行われ、小領域50eにはより優先順位の高い記事53が関連付けられる。また、小領域50hには記事55と記事57と記事58とが表示されているが、記事58は代表点が小領域50hの内部にないので、選択の対象から除外される。記事55と記事57とについては、優先順位に基づく選択が行われ、小領域50hには、優先順位の高い記事55が関連付けられる。
なお、図17における、白い星印で示した代表点は、黒い星印で示した第1の代表点に基づく判定で小領域50a〜iの何れにも関連付けられなかった領域について、再度判定して小領域50a〜iの何かに関連付けるための第2の代表点である。
なお、以上のような代表点を指定する情報は、紙面コンテンツデータ10の画面レイアウト記述12内に格納しておくことができる。具体的には、例えば、各記事51〜57および広告58に対応するマスクレイアウト記述内に、代表点の座標を格納しておくなどすればよい。
最後に、リモコン700のどのボタンを押下すればどのコンテンツが選択されるのかということをユーザに提示して、コンテンツの選択操作をより容易にするための表示画面上の工夫について、図18を参照して説明する。
図18(a)(b)は、紙面画面50の小領域50a〜iに対するコンテンツの関連付けが完了した後、ステップS105にて、画面レイアウト記述処理部114が表示する紙面画面50の構成を示した図である。
図18(a)に示した紙面画面50には、入力手段識別情報81〜89が、それぞれ対応する小領域50a〜iの中心付近に配置され、等間隔で配列表示されている。例えば、入力手段識別情報81は、小領域50aを指定するためのボタンは1ボタン711であることを示している。また、入力手段識別情報82は、小領域50bを指定するための入力手段は2ボタン712であることを示している。入力手段識別情報83〜89についても同様である。図18(a)に示したように入力手段識別情報81〜89を表示することで、各入力手段(数字ボタン711〜719の何れか)に対応する小領域50a〜iが何れであるのかを、ユーザに提示することができる。
また、図18(b)に示した紙面画面50には、入力手段識別情報91〜99が、当該ボタンを押下したときに選択されるコンテンツの表示領域に応じた位置(具体的には表示領域の右上隅)に表示されている。例えば、入力手段識別情報91は、1ボタン711を押下したときに選択される記事54の右上隅に表示され、入力手段識別情報92は、2ボタン712を押下したときに選択される記事52の右上隅に表示されている。他の入力手段識別情報93〜99についても同様である。図18(b)に示したように入力手段識別情報91〜99を表示することで、各コンテンツに対応する入力手段(数字ボタン711〜719)が何れであるのかを、ユーザに提示することができる。
なお、以上では、記事51〜57、および広告58を選択対象となるコンテンツとして考えたが、これに限らない。例えば、紙面画面50に含まれるページ切替ボタン群59のそれぞれも選択対象となるコンテンツとすることができる。
ただし、同時に選択対象とするコンテンツ数が増えると操作の煩雑化を招来したり、ユーザが本来選択したいコンテンツを自由に選択できなくなったりするという問題を生じる。そこで、以下に説明するように、コンテンツの選択を2段階に構成し、操作の簡便化を図るとよい。
すなわち、新聞画面50の表示を開始すると、テレビ100は、モード選択を受け付ける状態に入る。ここで、モード選択とは、画面左側に表示されるページ切替ボタン群59から1つのページ切替ボタンを選択するページ選択モードと、画面右側に表示される記事51〜57および広告58から1つのコンテンツを選択するコンテンツ選択モードとをユーザ操作に基づいて選択することである。
このモード選択時にも、上述したコンテンツ選択処理の技術が応用される。すなわち、ページ切替ボタン群59が表示されている領域と、記事51〜57および広告58が表示されている領域との境界線で、紙面画面50を分割する。すなわち、分割線の左側の小領域にページ切替ボタン群59が表示され、当該分割線の右側の小領域に記事51〜57および広告58が表示されるように分割線を定め、当該分割線で紙面画面50を左右2つの小領域に分割する。
ここで、上記分割線の左側に表示されている領域には、リモコン700の左ボタン723を割り当てる。一方、上記分割線の右側に表示されている領域には、リモコン700の右ボタン724を割り当てる。したがって、左側の領域を指定するユーザ操作、すなわち、左ボタン723が押下されると、左側の領域に少なくとも一部分が表示されているコンテンツ、すなわちページ切替ボタン群59のうちの何れかが選択される。ページ切替ボタン群59には、P1>P2>…>P11という優先順位が予め設定されており、リモコン700の左ボタン723が押下されると、左側の領域で最も優先順位が高いP1がデフォルトとして選択される。この状態でテレビ100は、ページ選択モードとなり、リモコン700の上下ボタン721〜722により、ページ切替ボタン群59から所望のボタンを選択することができる。
一方、上記分割線の右側の領域を指定するユーザ操作、すなわち、右ボタン724が押下されると、右側の領域に表示されているコンテンツ、すなわち記事51〜57、または広告58の何れかが選択される。上述したように、これらのコンテンツのなかでは、記事51に最も高い優先順位が設定されているので、記事51がデフォルトとして選択される。この状態でテレビ100は、コンテンツ選択モードとなる。
コンテンツ選択モードにおいて、テレビ100は、既に詳しく説明した画面分割によるコンテンツ選択処理を行ってもよいし、あるいは、ユーザにリモコン700の上下ボタン721〜722を用いて所望のコンテンツを選択させるようにしてもよい。上下ボタン721〜722を用いてユーザに所望のコンテンツを選択させる場合にも、上述した優先順位を活用することができる。すなわち、上ボタン721が押下されたときには、現在選択されているコンテンツよりも優先順位が1つ上のコンテンツを選択するようにし、下ボタン722が押下されたときには、現在選択されているコンテンツよりも優先順位が1つ下のコンテンツを選択するよう、テレビ100のコンテンツ選択部120を構成すると良い。これにより、ユーザは、リモコン700の十字ボタン720を操作するだけで所望のコンテンツを効率よく選択することができる。この際、ユーザは十字ボタン720から指を離す必要がないので、リモコン700に視線を移すことなく、テレビ100に表示される紙面画面50に注目したまま、コンテンツを自由に選択することができるようになる。
また、コンテンツの選択を2段階に構成し、操作の簡便化を図る別の方法として、以下のような方法もある。以下に説明する方法は、リモコン700の数字ボタン部710(図9(a))を用いて記事を選択する場合に、ボタンの短押しと長押しとを用いるものである。なお、ボタンの「長押し」とは、当該ボタンが予め定められた所定の時間以上、継続的に押下されることであり、「短押し」とは、上記所定の時間以下、当該ボタンが押下されることである。
ユーザが数字ボタン711〜719の何れか1つを短押しすると、テレビ100は、上述のとおり、当該ボタンに割り当てられたコンテンツ(記事など)を選択する。さらに記事が選択された状態で、ユーザが同じボタンを長押しすると、テレビ100は、当該ボタンに割り当てられたコンテンツに関連する、他のコンテンツを表示する。関連するコンテンツが1つの場合、長押しされると当該コンテンツの表示を行い、複数の場合、例えば、関連するコンテンツのうち最も優先順位の高いコンテンツを選択して表示する。
なお、関連するコンテンツが複数の場合、関連するコンテンツのリンクリストを表示してユーザが表示するコンテンツを選択できるようにし、ユーザが当該リンクリストからコンテンツを選択すると、テレビ100は、ユーザにより選択されたコンテンツを含む紙面画面を表示するようにしてもよい。また、一旦記事が選択された状態にしなくとも、数字ボタン711〜719の長押しのみで、関連するコンテンツを表示するようにしても良い。
なお、上記紙面画面の遷移に際し、遷移後の紙面画面は、上記リンクリストからユーザにより選択されたコンテンツにフォーカスが当たった状態で表示されるものでもよいし、何れのコンテンツにもフォーカスが当たっていない状態で表示されるものであってもよい。また、遷移後の紙面画面をテレビ100に表示させる紙面コンテンツデータを生成する際に、紙面コンテンツ生成サーバ200が、該当記事の優先順位を高く設定するようにしてもよい。
例えば、1面にある、会社の合併に関する記事にボタン713が割り当てられている場合、ボタン713を短押しして会社の合併に関する記事を選択し、さらにボタン713を長押しすることで、3面(経済面)にある、合併の影響に関する詳細記事を表示する。あるいは、ボタン713に会社の合併に関する記事が割り当てられていることが自明な場合もあることから、会社の合併に関する記事が選択されていない状況であっても、ボタン713を長押しして、3面(経済面)にある、合併の影響に関する詳細記事を表示してもよい。
関連する記事が3面(経済面)にある、合併の影響に関する詳細記事だけの場合や、優先順位で1つに決められる場合はこれでよいが、そうでない場合は、ボタン713を長押しすると、3面(経済面)にある、合併の影響に関する詳細記事、および、15面(社会面)にある、合併により従業員が不安を語る報道記事の2つの記事の見出しがリンクリストとして表示される。表示されたリンクリストから、ユーザが、合併の影響に関する詳細記事へのリンクを選択すると、3面の紙面画面が表示される。
また、同様にリモコン700の上下左右ボタン721〜724においても、短押しと長押しによって、コンテンツの選択操作を2段階に構成することができる。
ユーザが上下左右ボタン721〜724のいずれか1つを短押しすると、テレビ100は、例えば現在選択されている記事から位置的に近い記事を選択するのに対し、長押しすると、現在選択されている記事の関連記事や意味的に近い記事を選択可能にすることができる。長押しをすることで、直接関連記事へ遷移してもよく、一旦リンクリストを表示し、そちらから遷移する記事を選択できるようにしても良い。
例えば、1面にある、会社の合併に関する記事が選択されている場合、右ボタン724を長押しすると、3面(経済面)にある、合併の影響に関する詳細記事への遷移をし、左ボタン723を長押しすると、15面(社会面)にある、合併により従業員が不安を語る報道記事への遷移をすることができる。
もしくは、1面にある、会社の合併に関する記事が選択されている場合、上下左右ボタン721〜724のいずれか1つを長押しすると、3面(経済面)にある、合併の影響に関する詳細記事、および、15面(社会面)にある、合併により従業員が不安を語る報道記事の2つの1面以外の記事へのリンクリストがユーザに提示され、ユーザが選択した記事へ遷移できるようにすることもできる。
これらにより、ユーザは、ボタンの短押により、上述したとおりの方法で画面に表示された複数のコンテンツから所望のコンテンツを選択することができ、さらに、ボタンの長押しにより、現在表示されている紙面画面にあるコンテンツのみならず、他の紙面画面にあるコンテンツ(例えば、同じ日の紙面の他のページにある記事や他の日の紙面にある記事)を選択することができる。
最後に、以上に説明したテレビ100を操作する装置としては、数字ボタン710と十字ボタン720とを備えたリモコン700に限らない。例えば、タッチパネルを具備したリモコンによりテレビ100を操作するようにしてもよい。
この際、上記リモコンのタッチパネルを、紙面画面50と同じ分割パターンで小領域に分割し、タッチパネルの小領域と、紙面画面50の小領域とが一対一に対応させる。これにより、タッチパネルの小領域に触れる操作により、紙面画面50の対応する小領域をユーザに指定させ、当該小領域に少なくとも一部分が含まれているコンテンツを選択できるようにすることができる。
タッチパネルを備えたリモコンによってテレビ100を操作する場合には、さらに以下のような応用例も考えられる。
まず、リモコンのタッチパネルの各点と、テレビ100に表示される紙面コンテンツ50の各点とを対応付けることにより、タッチパネルを分割することなく、ユーザに紙面コンテンツ50に含まれる任意のコンテンツを選択させることができる。具体的にいえば、タッチパネルにおいてユーザが触れた点の座標情報をリモコンからテレビ100に転送し、テレビ100は受信した座標情報から特定される紙面コンテンツ50上の点に最も近い位置にあるコンテンツを選択するようにする。また、受信した座標情報から特定される紙面コンテンツ上の点に最も近い位置にあるコンテンツが複数存在する場合には、該複数のコンテンツから最も高い優先順位が設定されているコンテンツを選択できるようにする。
また、紙面コンテンツ50のレイアウトを、テレビ100からリモコンに送信し、リモコンが、タッチパネルを紙面コンテンツ50のレイアウトに対応した小領域に分割するようにしてもよい。この際、タッチパネルの小領域と、紙面コンテンツ50に含まれるコンテンツとが一対一に対応するので、リモコンから、ユーザが指で触れることにより指示したタッチパネル上の小領域を指定する情報をテレビ100に送信するようにすれば、テレビ100は、当該情報からユーザが指定したコンテンツを選択することができる。また、この際、リモコンが、紙面コンテンツ50のレイアウトをタッチパネルに表示するようにすれば、ユーザは、タッチパネルに表示されたレイアウトを見ながら、紙面コンテンツ50に含まれるコンテンツを容易に選択することができる。なお、テレビ100からリモコンに紙面コンテンツ50のレイアウトを送信するためには、IrSimpleなどの高速赤外線通信プロトコルを用いて、紙面コンテンツ50を構成するために利用した画面レイアウト記述を、テレビ100からリモコンに送信するとよい。
(D.紙面レイアウトデータ)
紙面コンテンツ生成サーバ200が紙面コンテンツデータ10を生成するために利用する、紙面レイアウトデータ30について(図1参照)、図19〜22に基づいて説明する。
紙面コンテンツ生成サーバ200は、以下に説明するデータ構造を有するレイアウトデータ3000を用いて、テレビ100にて再生可能なコンテンツデータ1000(図4)を生成することができる。
図19は、レイアウトデータ3000のデータ構造を示したデータ構造図であり、とくに、図4に示したコンテンツデータ1000を生成するためのレイアウトデータ3000を示している。図19に示したように、レイアウトデータ3000は、コンテンツ生成処理フロー記述3100と、少なくとも1つのテンプレートデータ3200とを含んで構成されている。
コンテンツ生成処理フロー記述3100は、コンテンツデータ1000を生成するために、紙面コンテンツ生成サーバ200が実行するべき処理を定義した記述である。一方、テンプレートデータ3200は、コンテンツデータ1000の原型となる雛形である。レイアウトデータ3000には、異なる複数のテンプレートデータ3200を内包することが可能であり、テレビ100から送信される紙面コンテンツ要求20、および/まはた、記事DBサーバ400から送信される記事データ40に応じて、最適なテンプレートデータ3200を雛形として、コンテンツデータ1000を生成することができるようになっている。
紙面コンテンツ生成サーバ200は、コンテンツ生成処理フロー記述3100にしたがって、テンプレートデータ3200を加工する。コンテンツ生成処理フロー記述3100に従ったテンプレートデータ3200の加工が完了すると、紙面コンテンツ生成サーバ20は、レイアウトデータ3000からコンテンツ生成処理フロー記述3100を取り除き、加工済のテンプレートデータ3200、すなわち、完成したコンテンツデータ1000を得る。
なお、レイアウトデータ3000が異なる複数のテンプレートデータ3200を内包している場合、紙面コンテンツ生成サーバ200は、テレビ100から送信される紙面コンテンツ要求20、および/まはた、記事DBサーバ400から送信される記事データ40に基づいて最適なテンプレートデータ3200を選択し、選択されたテンプレートデータ3200をコンテンツ生成処理フロー記述3100にしたがって加工し、加工済みのテンプレート3200を抽出することにより、コンテンツデータ1000を得る。
また、コンテンツ生成処理フロー記述3100は、必ずしもレイアウトデータ3000に内包されていなくてもよい。この場合、コンテンツ生成処理フロー記述3100に相当するプログラムを紙面コンテンツ生成サーバ200に組み込んでおくことで、紙面コンテンツ生成サーバ200は、レイアウトデータ3000からコンテンツデータ1000を生成することができる。ただし、上述のように、コンテンツ生成処理フロー記述3100をレイアウトデータ3000に内包させることで、紙面コンテンツ生成サーバ200に組み込まれたプログラムを書き換えるよりも容易に、コンテンツ生成処理フローを変更することが可能になる。
図19に例示したテンプレートデータ3200には、完成したコンテンツデータ1000に含まれるべきメディアオブジェクト1300a〜eのうち、メディアオブジェクト1300a〜bのみが含まれている(図4参照)。また、画面レイアウト記述1200aは、置換用文字列を含んでいる。この置換用文字列は、完成した紙面コンテンツデータにおいて、他の文字列に置き換えられるべき文字列であり、それが置換すべき文字列であることを識別することができるよう、予め定めれた所定の文字列、あるいは、予め定められた所定のパターンを有する文字列からなる。すなわち、紙面コンテンツ生成サーバ200は、コンテンツ生成処理フロー記述3100にしたがって、メディアオブジェクト1300c〜eを紙面テンプレートデータ3200に格納したり、画面レイアウト記述1200a内の置換文字列を他の文字列に置換したりする必要がある。
図20は、コンテンツ生成処理フロー記述3100の記述例を模式的に表した図であり、とくに、図19に示したテンプレートデータ3200に対応するコンテンツ生成処理フロー記述3100を例示している。
コンテンツ生成処理フロー記述3100は、コンテンツデータ1000の処理フロー記述1100と同様、紙面コンテンツ生成サーバ200に対する命令文と、紙面コンテンツ生成サーバ200に対する命令を切り替える制御文とを列挙することにより構成される。とくに、図20に例示したコンテンツ生成処理フロー記述3100は、以下の命令を、以下の順に列挙することにより構成されている。
(1)第1のメディアオブジェクトを取得することを指示する命令3101。
(2)第2のメディアオブジェクトを取得することを指示する命令3102。
(3)第3のメディアオブジェクトを取得することを指示する命令3103。
(4)第1のテキストデータを取得することを指示する命令3104。
(5)第1のメディアオブジェクトを、メディアオブジェクト1300cとして、コンテンツデータ1000に格納することを指示する命令3105。
(6)第2のメディアオブジェクトを、メディアオブジェクト1300dとして、コンテンツデータ1000に格納することを指示する命令3106。
(7)第3のメディアオブジェクトを、メディアオブジェクト1300eとして、コンテンツデータ1000に格納することを指示する命令3107。
(8)画面レイアウト記述1200a内の置換文字列を、第1のテキストデータに置換することを指示する命令3108。
紙面コンテンツ生成サーバ200は、以上の命令を、列挙されている順に1つずつ実行することにより、コンテンツデータ1000を生成する。
次に、図7〜8に例示した画面レイアウト記述12を含む紙面コンテンツデータ10の雛形となる、紙面レイアウトデータ30の具体的な構成例について、図21〜22に基づいて説明する。
図21は、図7に示した画面レイアウト記述12を含む紙面コンテンツデータ10を生成するために利用される紙面レイアウトデータ30の構成例を模式的に示した図である。図21に示したように、紙面レイアウトデータ30は、紙面コンテンツ生成処理フロー記述31と、紙面テンプレートデータ32とを含んで構成されている。
紙面コンテンツ生成処理フロー記述31は、紙面コンテンツデータ10を生成するために、紙面コンテンツ生成サーバ200が実行するべき処理を定義した記述であり、紙面コンテンツ生成サーバ200に対する命令31a〜31cを含んで構成されている。
また、紙面テンプレートデータ32は、図7に示した画面レイアウト記述12を含む紙面コンテンツデータ10の原型となる雛形である。紙面テンプレートデータ32と画面レイアウト記述12との相違点は、紙面テンプレートデータ32に、紙面画面50を画像化したメディアオブジェクト13が格納されていない点である。
図22は、図8に示した画面レイアウト記述12を含む紙面コンテンツデータ10を生成するために利用される紙面レイアウトデータ30の他の構成例を模式的に示した図である。紙面レイアウトデータ30は、図21に示したものと同様、紙面コンテンツ生成処理フロー記述31と、紙面テンプレートデータ32とを含んで構成されている。
紙面コンテンツ生成処理フロー記述31は、紙面コンテンツデータ10を生成するために、紙面コンテンツ生成サーバ200が実行するべき処理を定義した記述であり、紙面コンテンツ生成サーバ200に対する命令31d〜31fを含んで構成されている。
紙面テンプレートデータ32は、図8に示した画面レイアウト記述12を含む紙面コンテンツデータ10の原型となる雛形である。紙面テンプレートデータ32と画面レイアウト記述12との相違点は、テキストレイアウト記述12c1〜c7のテキストデータが、「%%article_priority1%%」など所定のパターン(「%%」から始まり「%%」で終わる文字列)を有する置換用文字列になっている点である。また、紙面テンプレートデータ32には、広告58を画像化したメディアオブジェクト13が格納されていない点である。
紙面コンテンツ生成サーバ200は、図21〜22に示した紙面レイアウトデータ30の紙面コンテンツ生成処理フロー記述31に基づいて動作し、紙面コンテンツデータ10を生成する。紙面コンテンツ生成処理フロー記述31に基づく紙面コンテンツ生成サーバ200の動作については、後でもう少し詳しく説明する。
(E.紙面コンテンツ生成サーバ)
紙面レイアウトデータ30を用いて紙面コンテンツデータ10を生成する、紙面コンテンツ生成サーバ200について、図23に基づいて説明する。
図23は、紙面コンテンツ生成サーバ200の要部構成を示したブロック図である。図23に示したように、紙面コンテンツ生成サーバは、通信部201、記憶部202、および、制御部210を含んで構成されている。
通信部201は、他の通信装置との間でデータ通信を行うための手段である。具体的には、通信部201は、紙面コンテンツ要求20をテレビ100から受信し、また、紙面コンテンツデータ10をテレビ100に送信する。また、通信部201は、記事データ40を、記事DBサーバ300から受信する。
記憶部202は、例えばハードディスクドライブなどの記憶装置により構成され、紙面コンテンツデータ10を格納するための紙面コンテンツデータ蓄積部202a、紙面レイアウトデータ30を格納するための紙面レイアウトデータ蓄積部202b、および、記事データ40を格納するための記事データ蓄積部202cを含んでいる。なお、記憶部202は、上記の他に、制御部210が実行する制御プログラムを格納した制御プログラム格納部(不図示)を有していてもよい。
制御部210は、紙面コンテンツ生成サーバ200が備える各部の各動作を制御するための手段であり、紙面コンテンツ要求処理部211(コンテンツデータ提供手段)、紙面レイアウトデータ取得部212、紙面コンテンツ生成処理フロー記述処理部213、紙面コンテンツデータ合成部214(優先順位設定手段)、および、記事データ取得部215の各内部ブロックを含んでいる。制御部210は、例えば、CPU(central processing unit)などの演算装置により構成され、該演算装置が記憶部202に格納されている制御プログラムを実行することにより、上記各内部ブロックの機能を実現する。
紙面コンテンツ要求処理部211は、通信部201が受信した紙面コンテンツ要求20を解析し、受信した紙面コンテンツ要求20に応じた紙面コンテンツデータ10をテレビ100に送信するよう、通信部201を制御する。
より具体的には、通信部201が紙面コンテンツ要求20を受信すると、紙面コンテンツ要求処理部211は、その紙面コンテンツ要求20に応じた紙面コンテンツデータ10が紙面コンテンツデータ蓄積部202aに格納されているかを判定する。紙面コンテンツ要求に応じた紙面コンテンツデータ10が紙面コンテンツデータ蓄積部202aに既に格納されていた場合、紙面コンテンツ要求処理部211は、その紙面コンテンツデータ10を紙面コンテンツデータ蓄積部202aから読み出し、読み出した紙面コンテンツデータ10を通信部201を介してテレビ100に送信する。一方、紙面コンテンツ要求20に応じた紙面コンテンツデータ10が紙面コンテンツデータ蓄積部202aに格納されていなかった場合(紙面コンテンツ要求20が最新の紙面コンテンツデータ10を要求するものであった場合を含む)、紙面コンテンツ要求処理部211は、紙面コンテンツ要求20に応じた紙面レイアウトデータ30を、紙面レイアウトデータ蓄積部202bから取得するよう、紙面レイアウトデータ取得部212に指示を与える。
紙面レイアウトデータ取得部212は、紙面コンテンツ要求20に応じた紙面レイアウトデータ30を紙面レイアウトデータ蓄積部202bから読み出し、読み出した紙面レイアウトデータ30の紙面コンテンツ生成処理フロー記述31を紙面コンテンツ生成処理フロー記述処理部213に渡し、また、紙面レイアウトデータ30の紙面テンプレートデータ32を、紙面コンテンツデータ合成部214に渡す。なお、紙面レイアウトデータ取得部212は、紙面コンテンツ要求20に応じた紙面レイアウトデータ30が紙面レイアウトデータ蓄積部202bに既に格納されていなかった場合、紙面レイアウトデータを管理する外部データベースから紙面レイアウトデータ30を取得し、取得した紙面レイアウトデータ30を紙面レイアウトデータ蓄積部202bに格納するようにしてもよい。
紙面コンテンツ生成処理フロー記述処理部213は、紙面レイアウトデータ取得部212が取得した紙面レイアウトデータ30に内包されている紙面コンテンツ生成処理フロー記述31の各命令に応じた指示を、紙面コンテンツデータ合成部214、または、記事データ取得部215に与える。例えば、ある記事データを取得せよという命令に対して、その記事データを取得するよう記事データ取得部215に指示を与え、また、紙面レイアウトデータ30に特定のメディアオブジェクトを格納せよという命令に対し、そのメディアオブジェクトを紙面レイアウトデータ30に格納するよう紙面コンテンツデータ合成部214に指示を与え、また、紙面レイアウトデータ30の置換用文字列を特定の文字列に置換せよという命令に対し、紙面レイアウトデータ30の置換用文字列をその文字列に置換するよう紙面コンテンツデータ合成部214に指示を与える。
記事データ取得部215は、紙面コンテンツ生成処理フロー記述処理部213からの指示に基づいて、紙面コンテンツデータ10に合成するべき記事データ40を、通信部201を介して記事DBサーバ300から取得する。取得された記事データ40は、記事データ取得部215により、記事データ蓄積部202cに格納される。
紙面コンテンツデータ合成部214は、紙面コンテンツ生成処理フロー記述処理部213からの指示に基づいて、紙面レイアウトデータ30の紙面テンプレートデータ32を加工することにより、紙面コンテンツデータ10を生成する。紙面テンプレートデータ32の加工としては、紙面テンプレートデータ32にメディアオブジェクトを格納したり、紙面テンプレートデータ32の置換用文字列を特定の記事データ40に置換したりする処理が挙げられる。生成された紙面コンテンツデータ10は、紙面コンテンツデータ合成部214により、紙面コンテンツデータ蓄積部202aに格納される。
次に、紙面コンテンツ生成サーバ200が紙面コンテンツデータ10を生成する紙面コンテンツデータ生成処理の具体例について、図21〜22に示した紙面レイアウトデータ30の具体例に即して説明する。
図21に示した紙面レイアウトデータ30から紙面コンテンツデータ10を生成する、紙面コンテンツ生成サーバ200の動作は以下のようになる。
すなわち、紙面コンテンツ生成処理フロー記述処理部213は、紙面コンテンツ生成処理フロー記述31に最初の命令31aに従って、記事データ40を取得するよう記事データ取得部215に指示を与える。記事データ取得部215は、この指示に応じて、記事データDBサーバ300から記事データ40を取得し、取得した記事データ40を記事データ蓄積部202cに格納する。
紙面コンテンツ生成処理フロー記述処理部213は、続けて、紙面コンテンツ生成処理フロー記述31の第2の命令31bに従って、紙面画面50を画像化した紙面画像を生成することを紙面コンテンツデータ合成部214に指示する。紙面コンテンツデータ合成部214は、この指示に応じて、記事データ40に内包されている、記事51〜57を表すテキストデータと、広告58を表す画像データとを用いて、紙面画面50を表す紙面画像を生成する。
なお、記事データ40には、新聞社が設定した記事51〜57の優先度を指定する優先度指定情報が含まれており、紙面コンテンツデータ合成部214は、この優先度指定情報と、紙面テンプレートデータ32の画面レイアウト記述にあるマスクレイアウト記述とに基づいて、記事51〜57のレイアウトを決定する。例えば、記事データ40において最高の優先度が指定されている記事51は、優先順位1位を示すマスクID「mask1」が設定されているマスクレイアウト記述に指定された領域にレイアウトし、また、記事データ40において2番目の優先度が指定されている記事52は、優先順位2位を示すマスクID「mask2」が設定されているマスクレイアウト記述に指定された領域にレイアウトする。
紙面コンテンツ生成処理フロー記述処理部213は、続けて、紙面コンテンツ生成処理フロー記述31の第3の命令31cに従って、紙面画像を紙面テンプレートデータ32に格納するよう、紙面コンテンツデータ合成部214に指示する。紙面コンテンツデータ合成部214は、この指示に応じて、上記のように生成された紙面画像を、メディアオブジェクト13として紙面テンプレートデータ32に格納する。
紙面コンテンツ生成処理フロー記述処理部213は、紙面コンテンツ生成処理フロー記述31にある全ての命令31a〜cの処理を完了すると、加工が完了した紙面テンプレートデータ32を紙面レイアウトデータ30から抽出し、紙面コンテンツデータ10を得る。
以上の処理により、紙面コンテンツ生成サーバ200は、図21に示した紙面レイアウトデータ30と記事データ40とから紙面コンテンツデータ10を生成することができる。
この際、紙面コンテンツデータ合成部214は、記事データ40に含まれる記事51〜57の各々を、何れかのマスクレイアウト記述にて指定された領域にレイアウトする。記事51〜57の各々がレイアウトされる領域を指定するマスクレイアウト記述には、当該領域にレイアウトされるコンテンツの優先順位を指定するマスクIDが予め設定されている。したがって、紙面コンテンツデータ合成部214は、上記の処理のより、記事51〜57の各々に対して、当該記事をレイアウトするために参照したマスクレイアウト記述に設定されている優先順位を割り当てたことになる。ここで、紙面コンテンツデータ合成部214が、記事51〜57の各々を何れのマスクレイアウト記述に従ってレイアウトするかは、上述したとおり、記事データ40に指定されている優先度指定情報に基づいて定められる。従って、紙面コンテンツデータ合成部214は、記事データ51〜57の各々に対し、記事データ40に含まれる新聞社側が設定した優先度指定情報に応じた優先順位を設定したことになる。
また、図22に示した紙面レイアウトデータ30から紙面コンテンツデータ10を生成する、紙面コンテンツ生成サーバ200の動作は以下のようになる。
すなわち、紙面コンテンツ生成処理フロー記述処理部213は、紙面コンテンツ生成処理フロー記述31に最初の命令31dに従って、記事データ40を取得するよう記事データ取得部215に指示を与える。記事データ取得部215は、この指示に応じて、記事データDBサーバ300から記事データ40を取得し、取得した記事データ40を記事データ蓄積部202cに格納する。
紙面コンテンツ生成処理フロー記述処理部213は、続けて、紙面コンテンツ生成処理フロー記述31の第2の命令31eに従って、紙面テンプレートデータ32に含まれる置換用文字列を、記事データ40に含まれる記事51〜57を表すテキストデータで置換することを指示する。紙面コンテンツデータ合成部214は、この指示に応じて、紙面テンプレートデータ32のテキストレイアウト記述に含まれる置換用文字列を、記事データ40に含まれる記事51〜57を表すテキストデータで置換する。
記事データ40には、上述したとおり、記事51〜57の優先度を指定する優先度指定情報が含まれている。また、紙面テンプレートデータ32の画面レイアウト記述にあるテキストレイアウト記述の各々には、当該テキストレイアウト記述に格納するべき記事の優先度に対応した置換用文字列が含まれている。紙面コンテンツデータ合成部214は、テキストレイアウト記述の各々に含まれる置換用文字列を、その置換用文字列に対応した優先度が指定されている記事で置換する。例えば、最高の優先度に対応した置換用文字列である「%%article_priority1%%」を、記事データ40において最高の優先度が指定されている記事51に置換し、2番目の優先度に対応した置換用文字列である「%%article_priority2%%」を、記事データ40において2番目の優先度が指定されている記事52に置換する。
紙面コンテンツ生成処理フロー記述処理部213は、続けて、紙面コンテンツ生成処理フロー記述31の第3の命令31cに従って、記事データ40に含まれる、広告58を表す画像データを紙面テンプレートデータ32に格納するよう、紙面コンテンツデータ合成部214に指示する。紙面コンテンツデータ合成部214は、この指示に応じて、広告58を表す画像データを、メディアオブジェクト13として紙面テンプレートデータ32に格納する。
以上の処理により、紙面コンテンツ生成サーバ200は、図22に示した紙面レイアウトデータ30と記事データ40とから紙面コンテンツデータ10を生成することができる。
この際、紙面コンテンツデータ合成部214は、記事データ40に含まれる記事51〜57の各々を、何れかのテキストレイアウト記述に格納する。記事51〜57が格納されるテキストレイアウト記述の各々は、同じ領域を指定するレイアウト指定情報を有するマスクレイアウト記述に対応しており、各テキストレイアウト記述に格納された記事には、対応するマスクレイアウト記述のマスクIDにより指定された優先順位が割り当てられたことになる。ここで、紙面コンテンツデータ合成部214が、記事51〜57の各々を何れのテキストレイアウト記述に格納するかは、上述したとおり、記事データ40に指定されている優先度指定情報に基づいて定められる。従って、紙面コンテンツデータ合成部214は、記事データ51〜57の各々に対し、記事データ40に含まれる新聞社側が優先度指定情報に応じた優先順位を設定したことになる。
なお、以上では、紙面画面50に表示される記事51〜57に対し、記事データ40に含まれる優先度指定情報に応じた優先順位を設定するように紙面コンテンツデータ10を生成する紙面コンテンツ生成処理について説明したが、優先順位の設定方法はこれに限らない。
たとえば、記事を優先して、写真、広告、およびコラムの優先順位を記事より低く設定するようにしてもよい。また、写真を優先して、記事、広告、およびコラムの優先順位を写真より低く設定してもよい。同様に、広告を優先したり、コラムを優先したりしてもよい。また、詳細情報や関連情報など他の情報を参照している記事については、優先順位を他の記事より高く設定したり、即時性が高い記事については、その記事が配信された日時からの経過時間に応じて優先順位を下げていったりしてもよい。他の情報を参照している記事としては、他のページの関連記事を参照している「詳細は〜面」などの文字列を含む記事、スライドショーや動画が関連付けられた記事や写真、または、選択するとストリーミングCMが流れる広告などが挙げられる。また、即時性の高い記事としては、例えば、テレビ欄、株価情報、または、有効期限が設定された期間限定のキャンペーン広告などが挙げられる。
また、紙面コンテンツ生成サーバにてユーザ情報を管理するようにして、優先順位の設定をユーザごとに変えるようにしてもよい。例えば、有料ユーザに提供する紙面コンテンツデータと、無料ユーザに提供する紙面コンテンツデータとで、優先順位の設定を異ならせるようにしてもよい。これにより、有料ユーザに対しては、広告の優先順位を下げて設定した、広告が選択されにくい紙面コンテンツデータを提供することなどができるようになる。
また、ユーザの状況に合わせて、優先順位の設定を異ならせるようにしてもよい。たとえば、ユーザの職業や居住地域に関連する記事の優先順位を、記事データに含まれる優先度指定情報に基づいて設定した値よりも高く設定し直すなどするとよい。
図23に示した紙面コンテンツ生成サーバ200は、ユーザの属性に応じて紙面コンテンツデータ10における優先順位の設定を異ならせることができるよう、ユーザの各種属性を蓄積するユーザデータ蓄積部202dを含んでいる。ユーザデータ蓄積部204に蓄積されるユーザ情報としては、当該ユーザが有料ユーザであるか無料ユーザであるかの別や、ユーザの居住地域・職業・年齢・性別などが挙げられる。紙面コンテンツデータ合成部214は、このユーザデータ202dに蓄積されたユーザの属性を参照して、紙面コンテンツデータ10における優先順位を設定することができる。
(付記事項)
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
最後に、テレビ100の各ブロック、とくに制御部110は、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
すなわち、テレビ100は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるテレビ100の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、テレビ100に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、テレビ100を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、とくに限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、とくに限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
また、紙面コンテンツ生成サーバ200の各ブロック、とくに制御部210も、ハードウェアロジックによって構成してもよいし、テレビ100と同様に、CPUを用いてソフトウェアによって実現してもよい。