(57)【要約】【課題】ウェブページを作成したユーザに報酬が還元される機会を増やす。【解決手段】ユーザ１がウェブページを作成して公開する時に、番組視聴傾向から算出したユーザ１の嗜好とウェブページから抽出した嗜好に関する情報も公開し、ウェブページとウェブページを作成したユーザ１の嗜好と、ウェブページを受信したユーザ２の嗜好を比較し、近い嗜好を持っていた場合にウェブページをユーザ２に提示することにより、ユーザ１は作成したウェブページ１を嗜好が近いユーザ２に限定して公開することができ、ユーザ２にとってウェブページ１またはウェブページ１に含まれる広告１は嗜好が近いウェブページであるので、広告１からウェブページ２にたどり着きやすくなり、アフィリエイト収入を得る機会を増やすことができる。【選択図】図１
2010009266.tif 000002
【特許請求の範囲】
【請求項１】
番組を受信しユーザに提供する手段と、
インターネット上のウェブページを取得してユーザに提供する手段を持つプログラム実行装置において、ユーザがウェブページを公開するときに、ウェブページに含まれるキーワードを抽出し判定要素１とする手段と、
ユーザの視聴した番組情報と視聴時間からユーザの嗜好値を算出しプログラム実行環境の判定要素２とする手段と、
複数のプログラム実行装置間でユーザが作成したウェブページと判定要素１と判定要素２を送受信する手段と、
送信された判定要素１と判定要素２のなかに、受信側のプログラム実行装置が持つ判定要素１と同じ嗜好が存在する場合に、送信されたウェブページと受信したプログラム実行装置のユーザの嗜好が近いと判定する手段と、
受信したウェブページをユーザに提示する手段を有するプログラム実行装置。
【請求項２】
前記送受信について、判定要素１と判定要素２のみを送受信し、嗜好が近いと判断した場合に、ウェブページを送受信する手段を有する、
請求項１に記載のプログラム実行装置。
【請求項３】
送信された判定要素１と判定要素２のなかに、受信側のプログラム実行装置が持つ判定要素１と同じ嗜好が任意の数以上存在する場合に、送信されたウェブページと受信したプログラム実行装置のユーザの嗜好が近いと判定する手段を有する、
請求項１または２に記載のプログラム実行装置。
【請求項４】
ユーザの視聴した番組情報と視聴時間からユーザの嗜好値を算出し、嗜好値が高いものの中の任意の数の番組情報を、ユーザのプログラム実行環境の判定要素２とする手段を有する請求項１に記載のプログラム実行装置。
【請求項５】
ユーザの視聴した番組情報と視聴時間と視聴時間帯からユーザの嗜好値を算出し、ユーザのプログラム実行環境の判定要素２とする手段を有する請求項１に記載のプログラム実行装置。
【請求項６】
ウェブページに含まれるキーワードと、ウェブページに含まれるリンク情報からたどり着けるリンク先に含まれるキーワードを抽出し判定要素１とする手段を有する請求項１に記載のプログラム実行装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、番組を受信しユーザに提供する手段と、インターネット上のウェブページを取得してユーザに提供する手段を持つプログラム実行装置に関する。
【背景技術】
【０００２】
現在、インターネット環境の急速な普及により、個々人がウェブページ（ホームページ）、ブログ、メールや掲示板等のウェブページを作成または利用して情報発信する機会が増えてきている。ネットワーク接続環境を備えた放送受信装置や、放送受信やインターネット配信番組の視聴が可能なパーソナルコンピュータも普及し、番組の情報を基にウェブページを作成するユーザや、番組で興味を持ったキーワードを基にインターネット上のウェブページを検索するユーザも増えてきている。ウェブサーバ上のウェブページを閲覧するだけでなく、インターネットを通じて商品を購入するユーザも増えてきている。通販事業者は、インターネットでより多くの商品を販売するために、ユーザの目に留まるように様々な手法を導入している。様々な手法の中で特に、通販事業者以外からの情報発信に着目し、個々人または企業が作成したウェブページから商品のウェブページへ繋がりを持たせ、購入へ結びつける方法として、アフィリエイトを導入する通販事業者が増えている（非特許文献１参照。）。アフィリエイトとは、あるユーザのウェブページページに設置された広告をきっかけに、そのウェブページの閲覧者が広告主の商品あるいはサービス等を購入し、生じた利益に応じてユーザに成功報酬を与えるという広告形態である。
【０００３】
ユーザ１は通販事業者とアフィリエイトの契約を結び、ユーザ１は作成したホームページ、ブログ、掲示板等のウェブページ１に通販事業者の広告１を貼り付ける。ユーザ１は情報１をウェブサーバにアップロードし、インターネットに公開する。ユーザ２がインターネットに公開されたウェブページ１を閲覧し、ウェブページ１に含まれている広告１をクリックしたり、選択したりして広告１のリンク先を辿り、通販事業者が提供する商品やサービスの詳細のウェブページ２を閲覧する。ウェブページ１からたどり着いたウェブページ２を閲覧し、通販事業者が提供する商品やサービスをユーザ２が購入し、通販事業者に利益が発生した時、通販事業者からユーザ１への報酬が発生する。通販事業者によっては、ユーザ２がウェブページ１からたどり着いたウェブページ２を閲覧することによっても、報酬が発生する契約を結ぶ場合もある。
【非特許文献１】「ネットクチコミ・アフィリエイト販促マニュアル」、技術評論社  森田 慶子 (著)
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ユーザ２がウェブページ１からウェブページ２へ必ずたどり着くとは限らない。ユーザ１がアフィリエイト収入を得るためには、ユーザ１は、ユーザ２がウェブページ１からウェブページ２へたどり着く機会を増やす必要がある。ウェブページ１に含めるテキスト情報や画像情報に合うような広告を貼り、ウェブページ１とウェブページ２に関連を持たせ、ユーザ２の興味を広告１に向けるようにする。
【０００５】
また、インターネット上にはウェブページが無数に有るので、ユーザ２がウェブページ１を閲覧するとも限らない。
【０００６】
従来の技術においては、ウェブページ１をユーザ２に閲覧してもらうために、ユーザ１はウェブページ１やユーザ１自身の趣味や嗜好に近いジャンルやキーワードを基に、ウェブページ１を様々なウェブページを分類して纏めたウェブページ集に登録し、ウェブページ集にたどり着いたユーザ２がウェブページ１にたどり着けるようにしたりする。ジャンルやキーワードは、ウェブページ集で指定しているものが使われる。
【０００７】
しかし、ユーザ１がウェブページ1とウェブページ２に関連を持たせ、ウェブページ集を利用した場合、ユーザ１とユーザ２の嗜好が近く、ウェブページ１がユーザ２にとって興味のある内容であったとしても、ウェブページ集のジャンル１とキーワード１でユーザ１とウェブページ１の嗜好情報を詳細に適確に指定できず、ユーザ２がウェブページ１にたどり着けない場合がある。
【０００８】
本発明は、ネットワーク接続環境を持つプログラム実行装置において、番組視聴傾向から算出したユーザ１の嗜好と、ユーザ１が作成したウェブページ１が持つ嗜好と、番組視聴傾向から算出したユーザ２の嗜好を比較し、近い嗜好を持っていた場合、ウェブページ１をユーザ２に提示する方式を提供することを目的とする。
【課題を解決するための手段】
【０００９】
前記従来の課題を解決するために、インターネット上のウェブページを取得してユーザに提供する手段を持つプログラム実行装置において、ユーザがウェブページを公開するときに、ウェブページに含まれるキーワードを抽出し判定要素１とする手段と、ユーザの視聴した番組情報と視聴時間からユーザの嗜好値を算出しプログラム実行環境の判定要素２とする手段と、複数のプログラム実行装置間でユーザが作成したウェブページと判定要素１と判定要素２を送受信する手段と、送信された判定要素１と判定要素２のなかに、受信側のプログラム実行装置が持つ判定要素１と同じ嗜好が存在する場合に、送信されたウェブページと受信したプログラム実行装置のユーザの嗜好が近いと判定する手段と、受信したウェブページをユーザに提示する手段を備えることとしている。
【発明の効果】
【００１０】
上記構成により、ユーザ１は作成したウェブページ１を嗜好が近いユーザ２に限定して公開することができ、ユーザ２にとってウェブページ１は嗜好が近いウェブページであるので、ウェブページ１に含まれる広告１からウェブページ２にたどり着きやすくなり、アフィリエイト収入を得る機会を増やすなどの効果が得られる。
【発明を実施するための最良の形態】
【００１１】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００１２】
（実施の形態１）
本発明に係るネットワーク接続環境を備えたケーブルテレビシステムの実施の形態を、図面を参照しながら説明する。図１は、ケーブルシステムを構成する装置の関係を表したブロック図であり、ヘッドエンド１０１及び、ネットワーク接続環境を持つ３個の端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３で構成される。３個の端末装置は相互にインターネットを介してアクセス可能な関係にある。本実施の形態では、１つのヘッドエンドに対して３つの端末装置が結合されているが、任意の数の端末装置をヘッドエンドに結合しても、本発明は実施可能である。本実施の形態では、ケーブルシステムを例に挙げているが、アンテナ、端末装置と放送衛星で構成される衛星放送システムについても、本発明は実施可能である。
【００１３】
ヘッドエンド１０１は、複数の端末装置に対して映像・音声・データ等の放送信号を送信する。これを実現するため、ヘッドエンド１０１と端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３間の伝送用の周波数帯域をＩｎ−Ｂａｎｄとして割り当て、主として、映像・音声を含む放送チャンネルに使用する。本実施の形態では一例として、１３０ＭＨｚ〜８６４ＭＨｚをＩｎ−Ｂａｎｄの周波数帯域に割り当てる。Ｉｎ−ＢａｎｄはＱＡＭ６４変調方式が使用される。変調方式技術については、本発明に関与が薄い公知技術であるので、詳細な説明は省略する。図２は、Ｉｎ−Ｂａｎｄの周波数帯に対する使用の一例である。１３０〜１５６ＭＨｚと１５６〜１６２ＭＨｚはそれぞれテレビチャンネル１とテレビチャンネル２に割り当てられ、以降、６ＭＨｚ間隔でテレビチャンネルが割り当てられている。３１０ＭＨｚ以降は、１ＭＨｚ単位でラジオチャンネルに割り当てられている。これらの各チャンネルはアナログ放送として使用してもデジタル放送として使用してもよい。デジタル放送の場合は、ＭＰＥＧ２仕様に基づいたトランスポートパケット形式で伝送され、音声や映像に加え、各種データ放送用データも送信することができる。
【００１４】
ヘッドエンド１０１は、これらの周波数帯域に適切な放送信号を送信するため、ＱＡＭ変調部やトランスポートパケットをスクランブル化するため、スクランブラ等を有する。また、ヘッドエンド１０１は、これら変調部やスクランブラに関連する様々な機器を有すると考えられる。しかし、本発明は主として端末装置に関わるので、詳細な説明は省略する。
【００１５】
端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３は、ヘッドエンド１０１からの放送信号を受信し再生する。３つの、端末装置は本実施の形態では同じ構成を取る。
【００１６】
図３は、端末装置のハードウエア構成を表すブロック図である。３００は端末装置であり、チューナ３０１、デスクランブラ３０２、ＴＳデコーダ３０３、オーディオデコーダ３０４、スピーカ３０５、ビデオデコーダ３０６、ディスプレイ３０７、２次記憶部３０８、１次記憶部３０９、ＲＯＭ３１０、入力部３１１、ネットワークインタフェース３１２、ＣＰＵ３１３で構成される。
【００１７】
図４は、端末装置３００の外観の一例である薄型テレビである。
【００１８】
４０１は、薄型テレビの筐体であり、端末装置３００の構成要素をすべてを内蔵している。
【００１９】
４０２はディスプレイであり、図３におけるディスプレイ３０７に相当する。
【００２０】
４０３は複数のボタンで構成されるフロントパネル部であり、図３の入力部３１１に相当する。
【００２１】
４０４は信号入力端子であり、ヘッドエンド１０１との信号の受信を行うためにケーブル線を接続する。信号入力端子は、図３のチューナ３０１、ネットワークインタフェース３１２と接続されている。チューナ３０１はＱＡＭ周波数帯にチューニングし、受信したトランスポートパケットの暗号を復号化できる場合は、デスクランブル３０２で複合を行い、ＴＳデコーダ３０３へデータを渡す。
【００２２】
ＴＳデコーダ３０３は、デスクランブラ３０２から受け取った信号のフィルタリングを実施し、必要なデータをオーディオデコーダ３０４及びビデオデコーダ３０６、ＣＰＵ３１３に引き渡す。ここで、受け取る信号はＭＰＥＧ２トランスポートストリームである。ＭＰＥＧ２トランスポートストリームの詳細はＭＰＥＧ規格書ＩＳＯ／ＩＥＣ１３８１８−１に記載されており、本実施の形態では詳細は省略する。ＭＰＥＧ２トランスポートストリームは、複数の固定長パケットで構成され、各パケットには、パケットＩＤが振られている。図５はパケットの構成図である。５００はパケットであり、固定長の１８８バイトで構成される。先頭４バイトがヘッダー５０１で、パケットの識別情報を格納しており、残り１８４バイトがペイロード５０２で、送信したい情報を含んでいる。５０３は、ヘッダー５０１の内訳である。先頭から１２ビット目〜２４ビット目までの１３ビットにパケットＩＤが含まれている。図６は送られてくる複数のパケットの列を表現した模式図である。パケット６０１は、ヘッダーにパケットＩＤ「１」を持ち、ペイロードには映像Ａの１番目の情報が入っている。パケット６０２は、ヘッダーにパケットＩＤ「２」を持ち、ペイロードには音声Ａの１番目の情報が入っている。パケット６０３は、ヘッダーにパケットＩＤ「３」を持ち、ペイロードには音声Ｂの１番目の情報が入っている。
【００２３】
パケット６０４は、ヘッダーにパケットＩＤ「１」を持ち、ペイロードには映像Ａの２番目の情報が入っており、これはパケット６０１の続きになっている。同様にパケット６０３、６２６、６２７も他のパケットの後続データを格納している。このように、同じパケットＩＤを持つ、パケットのペイロードの内容を連結すると、連続した映像や音声を再現することができる。
【００２４】
図６を参照して、ＣＰＵ３１３がパケットＩＤ「１」と出力先として「ビデオデコーダ３０６」をＴＳデコーダ３０３に指示すると、ＴＳデコーダ３０３は受け取ったＭＰＥＧ２トランスポートストリームからパケットＩＤ「１」のパケットを抽出し、ビデオデコーダ３０６に引き渡す。図６においては、映像データのみをビデオデコーダ３０６に引き渡すことになる。同時に、ＣＰＵ３１３がパケットＩＤ「２」と「オーディオデコーダ３０４」をＴＳデコーダ３０３に指示すると、ＴＳデコーダ３０３は受け取ったＭＰＥＧ２トランスポートストリームからパケットＩＤ「２」のパケットを抽出し、オーディオデコーダ３０４に引き渡す。図６においては、音声データのみをオーディオデコーダ３０４に引き渡すことになる。
【００２５】
このパケットＩＤに応じて必要なパケットだけを取り出す処理が、ＴＳデコーダ３０３が行うフィルタリングである。ＴＳデコーダ３０３はＣＰＵ３１３から指示された複数のフィルタリングを同時に実行することができる。
【００２６】
図３を参照して、オーディオデコーダ３０４は、ＴＳデコーダ３０３から与えられたＭＰＥＧ２トランスポートストリームのパケットに埋め込まれたオーディオデータを連結し、デジタル−アナログ変換を行いスピーカ３０５に出力する。スピーカ３０５は、オーディオデコーダ３０４から与えられた信号を音声出力する。ビデオデコーダ３０６は、ＴＳデコーダ３０３から与えられたＭＰＥＧ２トランスポートストリームのパケットに埋め込まれたビデオデータを連結し、デジタル−アナログ変換を行いディスプレイ３０７に出力する。ディスプレイ３０７は、具体的にはブラウン管や液晶等で構成され、ビデオデコーダ３０６から与えられたビデオ信号を出力したり、ＣＰＵ３１３から指示されたメッセージを表示したりする。
【００２７】
２次記憶部３０８は、具体的には、フラッシュメモリーやハードディスク等で構成され、ＣＰＵ３１３から指示されたデータやプログラムを保存したり削除したりする。また、保存されているデータやプログラムはＣＰＵ３１３に参照される。保存されているデータやプログラムは、端末装置３００の電源が切断された状態でも保存しつづける。
【００２８】
１次記憶部３０９は、具体的には、ＲＡＭ等で構成され、ＣＰＵ３１３から指示されたデータやプログラムを一次的に保存したり削除したりする。また、保存されているデータやプログラムはＣＰＵ３１３に参照される。保存されているデータやプログラムは、端末装置３００の電源が切断された際に、抹消される。
【００２９】
ＲＯＭ３１０は、書き換え不可能なメモリーデバイスであり、具体的にはＲＯＭやＣＤ−ＲＯＭ、ＤＶＤなどで構成される。ＲＯＭ３１０は、ＣＰＵ３１３が実行するプログラムが格納されている。
【００３０】
入力部３１１は、具体的には、フロントパネルやリモコンの信号受信部で構成され、ユーザからの入力を受け付ける。図７は、フロントパネルで入力部３１１を構成した場合の一例である。７００はフロントパネルであり、図４のフロントパネル部４０３に相当する。フロントパネル７００は７つのボタン、上カーソルボタン７０１、下カーソルボタン７０２、左カーソルボタン７０３、右カーソルボタン７０４、ＯＫボタン７０５、取消ボタン７０６、ＥＰＧボタン７０７を備えている。ユーザがボタンを押下すると、押下されたボタンの識別子が、ＣＰＵ３１３に通知される。
【００３１】
ＣＰＵ３１３は、ＲＯＭ３１０が記憶するプログラムを実行する。実行するプログラムの指示に従い、チューナ３０１、ネットワークインタフェース３１２、デスクランブラ３０２、ＴＳデコーダ３０３、ディスプレイ３０７、２次記憶部３０８、１次記憶部３０９、ＲＯＭ３１０を制御する。
【００３２】
図８は、ＲＯＭ３１０に記憶され、ＣＰＵ３１３に実行されるプログラムの構成図の一例である。
【００３３】
ＲＯＭ３１０に記憶されているプログラム８００は、複数のサブプログラムで構成され、具体的にはＯＳ８０１、ＥＰＧ８０２、Ｊａｖａ（登録商標）ＶＭ８０３、サービスマネージャ８０４、Ｊａｖａ（登録商標）ライブラリ８０５で構成される。
【００３４】
ＯＳ８０１は、端末装置３００の電源が投入されると、ＣＰＵ３１３が起動するサブプログラムである。ＯＳ８０１は、オペレーティングシステムの略であり、Ｌｉｎｕｘ等が一例である。ＯＳ８０１は、他のサブプログラムを平行して実行するカーネル８０１ａ及びライブラリ８０１ｂで構成される公知の技術の総称であり、詳細な説明は省略する。本実施の形態においては、ＯＳ８０１のカーネル８０１ａは、ＥＰＧ８０２とＪａｖａ（登録商標）ＶＭ８０３をサブプログラムとして実行する。また、ライブラリ８０１ｂは、これらサブプログラムに対して、端末装置３００が保持する構成要素を制御するための複数の機能を提供する。
【００３５】
機能の一例として、チューニング機能を紹介する。チューニング機能は、他のサブプログラムから周波数を含むチューニング情報を受け取り、それをチューナ３０１に引き渡す。チューナ３０１は与えられたチューニング情報に基づきチューニングを行う。この結果、他のサブプログラムはライブラリ８０１ｂを通してチューナを制御することができる。
【００３６】
ＥＰＧ８０２は、ユーザに番組一覧を表示及び、ユーザからの入力を受け付ける番組表示部８０２ａと、チャンネル選局を行う再生部８０２ｂで構成される。ここで、ＥＰＧはＥｌｅｃｔｒｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅの略である。ＥＰＧ８０２は、端末装置３００の電源が投入されると、カーネル８０１ａによって起動される、起動されたＥＰＧ８０２の内部では、番組表示部８０２ａが端末装置３００の入力部３１１を通して、ユーザからの入力を待つ。ここで、入力部３１１が図７で示されるフロントパネルで構成されている場合、ユーザが、入力部３１１のＥＰＧボタン１１０７を押下すると、ＥＰＧボタンの識別子がＣＰＵ３１３に通知される。ＣＰＵ３１３上で動作するサブプログラムであるＥＰＧ８０２の番組表示部８０２ａは、この識別子を受け取り、番組情報をディスプレイ３０７に表示する。図９（ａ）及び図９（ｂ）は、ディスプレイ３０７に表示された番組表の一例である。図９（ａ）を参照して、ディスプレイ３０７には、格子状に番組情報が表示されている。列９０１には、時刻情報が表示されている。列９０２には、チャンネル名「チャンネル１」と、列９０１の時刻に対応する時間帯に放映される番組が表示されている。「チャンネル１」では、５００〜１０：３０に番組「ニュース９」が放映され、１０：３０〜１２：００は「映画ＡＡＡ」が放映されることを表す。列９０３も列９０２同様、チャンネル名「チャンネル２」と、列９０１の時刻に対応する時間帯に放映される番組が表示されている。９：００〜１１：００に番組「映画ＢＢＢ」が放映され、１１：００〜１２：００は「ニュース１１」が放映される。９３０は、カーソルである。カーソル９３０は、フロントパネル７００の左カーソル７０３と右カーソル７０４を押下すると移動する。図９（ａ）の状態で、右カーソル７０４を押下すると、カーソル９３０は右に移動し、図９（ｂ）のようになる。また、図９（ｂ）の状態で、左カーソル７０３を押下すると、カーソル９３０は左に移動し、図９（ａ）のようになる。
【００３７】
図９（ａ）の状態で、フロントパネル７００のＯＫボタン７０５が押下されると、番組表示部８０２ａは、「チャンネル１」の識別子を再生部８０２ｂに通知する。図９（ｂ）の状態で、フロントパネル７００のＯＫボタン７０５が押下されると、番組表示部８０２ａは、「チャンネル２」の識別子を再生部８０２ｂに通知する。
【００３８】
再生部８０２ｂは、受け取ったチャンネルの識別子を用いて、チャンネルを再生する。チャンネルの識別子とチャンネルの関係は、チャンネル情報として、２次記憶部３０８に予め格納されている。図１０は２次記憶部３０８に格納されているチャンネル情報の一例である。チャンネル情報は表形式で格納されている。列１００１は、チャンネルの識別子である。列１００２は、チャンネル名である。列１００３はチューニング情報である。ここで、チューニング情報は周波数や転送レート、符号化率などを含み、チューナ３０１に与える値である。列１００４はプログラムナンバーである。プログラムナンバーとは、ＭＰＥＧ２規格で規定されているＰＭＴを識別するための番号である。ＰＭＴに関しては、後述する。行１０１１〜１０１４の各行は、各チャンネルの識別子、チャンネル名、チューニング情報の組となる。行１０１１は識別子が「１」、チャンネル名が「チャンネル１」、チューニング情報に周波数「１５０ＭＨｚ」、プログラムナンバーが「１０１」を含む組となっている。再生部８０２ｂは、チャンネルの再生を行うため、受け取ったチャンネルの識別子をそのままサービスマネージャ８０４に引き渡す。
【００３９】
また、再生部８０２ｂは、再生中に、ユーザがフロントパネル７００の上カーソル７０１と下カーソル７０２を押下すると、入力部３１１からＣＰＵ３１３を通して、押下された通知を受け取り、再生しているチャンネルを変更する。まず、再生部８０２ｂは、１次記憶部３０９に現在再生中のチャンネルの識別子を記憶する。図１１（ａ）、図１１（ｂ）及び図１１（ｃ）は、１次記憶部３０９に保存しているチャンネルの識別子の例である。図１１（ａ）では識別子「３」が記憶されており、図１０を参照し、チャンネル名「ＴＶ  ３」のチャンネルが再生中であることを示す。図１１（ａ）の状態で、ユーザが上カーソル７０１を押下すると再生部８０２ｂは、図１０のチャンネル情報を参照し、表中の前のチャンネルであるチャンネル名「チャンネル２」のチャンネルに再生を切り替えるため、サービスマネージャ８０４にチャンネル名「チャンネル２」の識別子「２」を引き渡す。
【００４０】
同時に、１次記憶部３０９に記憶されているチャンネル識別子「２」に書き換える。図１１（ｂ）は、チャンネル識別子が書き換えられた状態を表す。また、図１１（ａ）の状態で、ユーザが下カーソル７０２を押下すると再生部８０２ｂは、図１０のチャンネル情報を参照し、表中の次のチャンネルであるチャンネル名「ＴＶ  Ｊａｐａｎ」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「ＴＶ  Ｊａｐａｎ」の識別子「４」を引き渡す。同時に、１次記憶部３０９に記憶されているチャンネル識別子「４」に書き換える。図１１（ｃ）は、チャンネル識別子が書き換えられた状態を表す。
【００４１】
Ｊａｖａ（登録商標）ＶＭ８０３は、Ｊａｖａ（登録商標）言語で記述されたプログラムを逐次解析し実行するＪａｖａ（登録商標）バーチャルマシンである。Ｊａｖａ（登録商標）言語で記述されたプログラムはバイトコードと呼ばれる、ハードウエアに依存しない中間コードにコンパイルされる。Ｊａｖａ（登録商標）バーチャルマシンは、このバイトコードを実行するインタープリタである。また、一部のＪａｖａ（登録商標）バーチャルマシンは、バイトコードをＣＰＵ３１３が理解可能な実行形式に翻訳してから、ＣＰＵ３１３に引渡し、実行することも行う。Ｊａｖａ（登録商標）ＶＭ８０３は、カーネル８０１ａに実行するＪａｖａ（登録商標）プログラムを指定され起動される。本実施の形態では、カーネル８０１ａは、実行するＪａｖａ（登録商標）プログラムとしてサービスマネージャ８０４を指定する。Ｊａｖａ（登録商標）言語の詳細は、書籍「Ｊａｖａ（登録商標）  Ｌａｎｇｕａｇｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＩＳＢＮ  ０−２０１−６３４３１−１）」等の多くの書籍で解説されている。ここでは、その詳細を省略する。また、Ｊａｖａ（登録商標）ＶＭ自体の詳細な動作などは、「Ｊａｖａ（登録商標）  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＩＳＢＮ  ０−２０１−６３４３１―Ｘ）」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
【００４２】
Ｊａｖａ（登録商標）ライブラリ８０５は、ＲＯＭ３１０に格納されている複数のＪａｖａ（登録商標）ライブラリの集合である。本実施の形態では、ここでは、Ｊａｖａ（登録商標）ライブラリ８０５は、ＪＭＦ８０５ａ，ＡＭ８０５ｂ，Ｔｕｎｅｒ８０５ｃ，ＣＡ８０５ｄ等を含んでいる。
【００４３】
サービスマネージャ８０４は、Ｊａｖａ（登録商標）言語で書かれたＪａｖａ（登録商標）プログラムであり、Ｊａｖａ（登録商標）ＶＭ８０３によって逐次実行される。サービスマネージャ８０４は、ＪＮＩ（Ｊａｖａ（登録商標）  Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ）を通して、Ｊａｖａ（登録商標）言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。ＪＮＩに関しても、書籍「Ｊａｖａ（登録商標）  Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ」（ＩＳＢＮ  １０: ０２０１３２５７７２）等の多くの書籍で解説されている。ここでは、その詳細を省略する。
【００４４】
サービスマネージャ８０４は、ＪＮＩを通して、再生部８０２ｂよりチャンネルの識別子を受け取る。
【００４５】
サービスマネージャ８０４は、最初にＪａｖａ（登録商標）ライブラリ８０５の中にあるＴｕｎｅｒ８０５ｃに、チャンネルの識別子を引き渡し、チューニングを依頼する。Ｔｕｎｅｒ８０５ｃは、２次記憶部３０８が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サービスマネージャ８０４がチャンネルの識別子「２」をＴｕｎｅｒ８０５ｃに引き渡すと、Ｔｕｎｅｒ８０５ｃは、図１０の行１０１２を参照して、対応するチューニング情報「１５６ＭＨｚ，」を獲得する。Ｔｕｎｅｒ８０５ｃは、ＯＳ８０１のライブラリ８０１ｂを通して、チューナ３０１にチューニング情報を引き渡す。チューナ３０１は与えられたチューニング情報に従ってヘッドエンド１０１から送信されてきた信号を復調し引き渡す。
【００４６】
次にサービスマネージャ８０４は、Ｊａｖａ（登録商標）ライブラリ８０５の中にあるＣＡ８０５ｄにデスクランブルを依頼する。ＣＡ８０５ｄは、ＯＳ８０１のライブラリ８０１ｂを通して復号に必要な情報をデスクランブラ３０２に与える。デスクランブラ３０２は、与えられた情報を元に、チューナ３０１から与えられた信号を復号しＴＳデコーダ３０３に引き渡す。
【００４７】
次にサービスマネージャ８０４は、Ｊａｖａ（登録商標）ライブラリ８０５の中にあるＪＭＦ８０５ａにチャンネルの識別子を与え、映像・音声の再生を依頼する。
【００４８】
まず、最初にＪＭＦ８０５ａは、再生すべき映像と音声を特定するためのパケットＩＤをＰＡＴ、ＰＭＴから取得する。ＰＡＴやＰＭＴはＭＰＥＧ２規格で規定されている、ＭＰＥＧ２トランスポートストリーム内の番組構成を表現するテーブルであり、ＭＰＥＧ２トランスポートストリームに含まれるパケットのペイロードに埋め込まれて、音声や映像と共に送信されるものである。詳細は規格書を参照されたい。ここでは、概略のみ説明する。ＰＡＴは、Ｐｒｏｇｒａｍ  Ａｓｓｏｃｉａｔｉｏｎ  Ｔａｂｌｅの略で、パケットＩＤ「０」のパケットに格納され送信されている。ＪＭＦ８０５ａは、ＰＡＴを取得するため、ＯＳ８０１のライブラリ８０１ｂを通して、ＴＳデコーダ３０３にパケットＩＤ「０」とＣＰＵ３１３を指定する。ＴＳデコーダ３０３がパケットＩＤ「０」でフィルタリングを行い、ＣＰＵ３１３に引き渡すことでＪＭＦ８０５ａは、ＰＡＴのパケットを収集する。
【００４９】
図１２は、収集したＰＡＴの情報の一例を模式的に表した表である。列１２０１は、プログラムナンバーである。列１２０２は、パケットＩＤである。列１２０２のパケットＩＤはＰＭＴを取得するために用いられる。行１２１１〜１２１３は、チャンネルのプログラムナンバーと対応するパケットＩＤの組である。ここでは、３つのチャンネルが定義されている。行１２１１はプログラムナンバー「１０１」とパケットＩＤ「５０１」の組が定義されている。今、ＪＭＦ８０５ａに与えられたチャンネルの識別子が「２」とすると、ＪＭＦ８０５ａは、図１０の行１００４を参照して、対応するプログラムナンバー「１０２」を獲得し、次に、図１２のＰＡＴの行１２１２を参照し、プログラムナンバー「１０２」に対応するパケットＩＤ「５０２」を獲得する。ＰＭＴは、Ｐｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅの略で、ＰＡＴで規定されたパケットＩＤのパケットに格納され送信されている。ＪＭＦ８０５ａは、ＰＭＴを取得するため、ＯＳ８０１のライブラリ８０１ｂを通して、ＴＳデコーダ３０３にパケットＩＤとＣＰＵ３１３を指定する。ここで、指定するパケットＩＤは「５０２」とする。ＴＳデコーダ３０３がパケットＩＤ「５０２」でフィルタリングを行い、ＣＰＵ３１３に引き渡すことでＪＭＦ８０５ａは、ＰＭＴのパケットを収集する。図１３は、収集したＰＭＴの情報の一例を模式的に表した表である。列１３０１は、ストリーム種別であり。列１３０２は、パケットＩＤである。列１３０２で指定されるパケットＩＤのパケットには、ストリーム種別で指定された情報がペイロードに格納され送信されている。列１３０３は補足情報である。行１３１１〜１７１４はエレメンタリ−ストリームと呼ばれる、パケットＩＤと送信している情報の種別の組である。行１３１１は、ストリーム種別「音声」とパケットＩＤ「５０１１」の組であり、パケットＩＤ「５０１１」のペイロードには音声が格納されていることを表す。ＪＭＦ８０５ａは、ＰＭＴから再生する映像と音声のパケットＩＤを獲得する。図１３を参照して、ＪＭＦ８０５ａは、行１３１１から音声のパケットＩＤ「５０１１」を、行１３１２から映像のパケットＩＤ「５０１２」を獲得する。
【００５０】
次に、ＪＭＦ８０５ａは、ＯＳ８０１のライブラリ８０１ｂを通して、獲得した音声のパケットＩＤと出力先としてオーディオデコーダ３０４、映像のパケットＩＤと出力先としてビデオデコーダ３０６の組を、ＴＳデコーダ３０３に与える。ＴＳデコーダ３０３は与えられたパケットＩＤと出力先に基づいて、フィルタリングを行う。ここではパケットＩＤ「５０１１」のパケットをオーディオデコーダ３０４に、パケットＩＤ「５０１２」のパケットをビデオデコーダ３０６に引き渡す。オーディオデコーダ３０４は、与えられたパケットのデジタル−アナログ変換を行いスピーカ３０５を通して音声を再生する。ビデオデコーダ３０６は、与えられたパケットのデジタル−アナログ変換を行いディスプレイ３０７に映像を表示する。
【００５１】
最後にサービスマネージャ８０４は、Ｊａｖａ（登録商標）ライブラリ８０５の中にあるＡＭ８０５ｂにチャンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生とは、ＭＰＥＧ２トランスポートストリームに含まれるＪａｖａ（登録商標）プログラムを抽出し、Ｊａｖａ（登録商標）ＶＭ８０３に実行させることである。ＭＰＥＧ２トランスポートストリームにＪａｖａ（登録商標）プログラムを埋め込む方法は、ＭＰＥＧ規格書ＩＳＯ／ＩＥＣ１３８１８−６に記述されたＤＳＭＣＣという方式を用いる。ここではＤＳＭＣＣの詳細な説明は省略する。ＤＳＭＣＣ方式は、ＭＰＥＧ２トランスポートストリームのパケットの中に、コンピュータで使用されているディレクトリやファイルで構成されるファイルシステムをエンコードする方法を規定している。また、実行するＪａｖａ（登録商標）プログラムの情報はＡＩＴと呼ばれる形式で、ＭＰＥＧ２トランスポートストリームのパケットの中に埋め込まれ送信されている。ＡＩＴは、ＤＶＢ−ＭＨＰ規格（正式には、ＥＴＳＩ  ＴＳ  １０１  ８１２  ＤＶＢ−ＭＨＰ仕様Ｖ１．０．２）の１０章に定義されている、Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅの略である。
【００５２】
ＡＭ８０５ｂは、まず、ＡＩＴを獲得するため、ＪＭＦ８０５ａ同様ＰＡＴ、ＰＭＴを取得し、ＡＩＴが格納されているパケットのパケットＩＤを獲得する。今、与えられたチャンネルの識別子が「２」で、図１２のＰＡＴ、図１３のＰＭＴが送信されていると、ＪＭＦ８０５ａと同様の手順で、図１３のＰＭＴを獲得する。ＡＭ８０５ｂは、ＰＭＴからストリーム種別が「データ」で補足情報として「ＡＩＴ」を持つエレメンタリ−ストリームからパケットＩＤを抽出する。図１３を参照して、行１３１３のエレメンタリ−ストリームが該当し、パケットＩＤ「５０１３」を獲得する。
【００５３】
ＡＭ８０５ｂは、ＯＳ８０１のライブラリ８０１ｂを通してＴＳデコーダ３０３にＡＩＴのパケットＩＤと出力先ＣＰＵ３１３を与える。ＴＳデコーダ３０３、与えられたパケットＩＤでフィルタリングを行い、ＣＰＵ３１３に引き渡す。この結果、ＡＭ８０５ｂは、ＡＩＴのパケットを収集することができる。図１４は、収集したＡＩＴの情報の一例を模式的に表した表である。列１４０１はＪａｖａ（登録商標）プログラムの識別子である。列１４０２はＪａｖａ（登録商標）プログラムの制御情報である。制御情報には「ａｕｔｏｓｔａｒｔ」「ｐｒｅｓｅｎｔ」「ｋｉｌｌ」などがあり、「ａｕｔｏｓｔａｒｔ」は即時に端末装置３００がこのプログラムを自動的に実行することを意味し、「ｐｒｅｓｅｎｔ」は自動実行しないことを意味し、「ｋｉｌｌ」はプログラムを停止することを意味する。列１４０３は、ＤＳＭＣＣ方式でＪａｖａ（登録商標）プログラムを含んでいるパケットＩＤを抽出するためのとＤＳＭＣＣ識別子である。列１４０４はＪａｖａ（登録商標）プログラムのプログラム名である。行１４１１と１８１２は、Ｊａｖａ（登録商標）プログラムの情報の組である。行１４１１で定義されるＪａｖａ（登録商標）プログラムは、識別子「３０１」、制御情報「ａｕｔｏｓｔａｒｔ」ＤＳＭＣＣ識別子「１」、プログラム名「／ａ／ＴｏｐＸｌｅｔ」の組である。行１４１２で定義されるＪａｖａ（登録商標）プログラムは、識別子「３０２」、制御情報「ｐｒｅｓｅｎｔ」ＤＳＭＣＣ識別子「１」、プログラム名「／ｂ／ＧａｍｅＸｌｅｔ」の組である。ここで２つのＪａｖａ（登録商標）プログラムは同じＤＳＭＣＣ識別子を持つが、これは１つのＤＳＭＣＣ方式でエンコードされたファイルシステム内に２つのＪａｖａ（登録商標）プログラムが含まれていることを表す。ここでは、Ｊａｖａ（登録商標）プログラムに対して４つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はＤＶＢ−ＭＨＰ規格を参照されたい。
【００５４】
ＡＭ８０５ｂは、ＡＩＴの中から「ａｕｔｏｓｔａｒｔ」のＪａｖａ（登録商標）プログラムを見つけ出し、対応するＤＳＭＣＣ識別子及びＪａｖａ（登録商標）プログラム名を抽出する。図１４を参照して、ＡＭ８０５ｂは行１４１１のＪａｖａ（登録商標）プログラムを抽出し、ＤＳＭＣＣ識別子「１」及びＪａｖａ（登録商標）プログラム名「／ａ／ＴｏｐＸｌｅｔ」を獲得する。
【００５５】
次にＡＭ８０５ｂは、ＡＩＴから取得したＤＳＭＣＣ識別子を用いて、Ｊａｖａ（登録商標）プログラムをＤＳＭＣＣ方式で格納しているパケットのパケットＩＤをＰＭＴから獲得する。具体的には、ＰＭＴの中でストリーム種別が「データ」で、補足情報のＤＳＭＣＣ識別子が合致するエレメンタリ−ストリームのパケットＩＤを取得する。
【００５６】
今、ＤＳＭＣＣ識別子が「１」であり、ＰＭＴが図１３とすると、行１３１４のエレメンタリ−ストリームが合致し、パケットＩＤ「５０１４」を取り出す。
【００５７】
ＡＭ８０５ｂは、ＯＳ８０１のライブラリ８０１ｂを通してＴＳデコーダ３０３にＤＳＭＣＣ方式でデータが埋めこめられたパケットのパケットＩＤと出力先としてＣＰＵ３１３を指定する。ここでは、パケットＩＤ「５０１４」を与える。ＴＳデコーダ３０３、与えられたパケットＩＤでフィルタリングを行い、ＣＰＵ３１３に引き渡す。この結果、ＡＭ８０５ｂは、必要なパケットを収集することができる。ＡＭ８０５ｂは、収集したパケットからＤＳＭＣＣ方式に従ってファイルシステムを復元し、１次記憶部３０９に保存する。ＭＰＥＧ２トランスポートストリーム中のパケットからファイルシステム等のデータを取り出し１次記憶部３０９等の記憶手段に保存すことを以降、アタッチと呼ぶ。
【００５８】
図１５は、アタッチしたファイルシステムの一例である。図中、丸はディレクトリを四角はファイルを表し、１５０１はルートディレクトリ、１５０２はディレクトリ「ａ」，１５０３はディレクトリ「ｂ」，１５０４はファイル「ＴｏｐＸｌｅｔ．ｃｌａｓｓ」、１５０５はファイル「ＧａｍｅＸｌｅｔ．ｃｌａｓｓ」である。
【００５９】
次にＡＭ８０５ｂは、１次記憶部３０９にアタッチしたファイルシステム中から実行するＪａｖａ（登録商標）プログラムをＪａｖａ（登録商標）ＶＭ８０３に引き渡す。今、実行するＪａｖａ（登録商標）プログラム名が「／ａ／ＴｏｐＸｌｅｔ」とすると、Ｊａｖａ（登録商標）プログラム名の最後に「．ｃｌａｓｓ」を付加したファイル「／ａ／ＴｏｐＸｌｅｔ．ｃｌａｓｓ」が実行すべきファイルとなる。「／」はディレクトリやファイル名の区切りであり、図１５を参照して、ファイル１５０４が実行すべきＪａｖａ（登録商標）プログラムである。次にＡＭ８０５ｂは、ファイル１５０４をＪａｖａ（登録商標）ＶＭ８０３に引き渡す。Ｊａｖａ（登録商標）ＶＭ８０３は、引き渡されたＪａｖａ（登録商標）プログラムを実行する。
【００６０】
サービスマネージャ８０４は、他のチャンネルの識別子を受け取ると、Ｊａｖａ（登録商標）ライブラリ８０５に含まれる各ライブラリを通して再生している映像・音声及びＪａｖａ（登録商標）プログラムの実行を、同じくＪａｖａ（登録商標）ライブラリ８０５に含まれる各ライブラリを通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像・音声の再生及びＪａｖａ（登録商標）プログラムの実行を行う。
【００６１】
次に、本発明に関連する、ユーザの番組視聴傾向からユーザの嗜好を算出する手段について説明する。本実施の形態では、Ｊａｖａ（登録商標）プログラムによる実施について説明するが、別のプログラム言語で記述したプログラムであっても、そのプログラムを実行可能で、ネットワーク接続環境を備えたプログラム実行環境であれば実施可能である。
【００６２】
Ｊａｖａ（登録商標）プログラムは、起動時に全ての番組の番組情報をＥＰＧ８０２から取得する（ステップＳ１６０１）。番組情報は番組名や番組に関するカテゴリ、ジャンル、キーワード、番組の開始時間、番組の終了時間である。キーワードについては、例えば番組の内容、出演者や提供の会社などであり、その他の項目が含まれる場合はその項目もキーワードとして扱う。Ｊａｖａ（登録商標）プログラムは取得した全ての番組情報と全ての番組について（ステップＳ１６０２、ステップＳ１６０３）、番組と関係があるかどうかを判別し（ステップＳ１６０４）、関係ｒの値を設定する。関係ｒには、関係がない場合には０を設定し（ステップＳ１６０５）、関係がある場合には１を設定する（ステップＳ１６０６）。図１７のように１次記憶３０９に各番組情報について各番組との関係ｒを保存する（ステップＳ１６０７）。本実施の形態においては、番組の情報をＥＰＧから取得しているが、Ｊａｖａ（登録商標）プログラムがインターネットを介して番組情報を保持しているサーバにアクセスし、番組情報をダウンロードすることによっても取得可能である。
【００６３】
Ｊａｖａ（登録商標）プログラムは、１次記憶部３０９から現在再生中のチャンネルの識別子を取得し（ステップＳ１８０１）、現在時刻と番組情報から現在視聴中の番組を識別する（ステップＳ１８０２）。ユーザがあるタイミングまでチャンネルを切り替えることなく同じ番組を視聴したならば、例えば１０秒間視聴したならば（ステップＳ１８０３）、累積視聴時間を１０秒追加し一次記憶３０９に蓄積する（ステップＳ１８０４）。チャンネルを変えた場合は、変えた先の番組について同様に累積視聴時間を算出し、一次記憶３０９に蓄積する。本実施の形態では合計視聴時間の単位を秒として扱うが、時間の単位はミリ秒、分、時間でも適用可能である。本実施の形態では、１０秒間を累積視聴時間の更新のタイミングにしているが、チャンネル切替を更新のタイミングとし、現在のチャンネルに切り替えられた時から、新たなチャンネルへ切り替えられるまでの時間を計測し、累積視聴時間に追加することでも適用可能である。一次記憶３０９には、図１９のように累積視聴時間と番組名の組で管理する。また、番組名で管理しているが、各番組を識別可能な他の番組情報でも管理可能である。また、定例の番組を別の番組として識別するかどうかは、各番組を識別可能な番組情報次第であり、どちらの場合でも管理可能である。
【００６４】
ｎ個の番組とｍ個の番組情報がある場合のユーザの嗜好の算出手段について説明する。ｉ個目の番組ｉがｊ個目の番組情報ｉに関係があり、番組ｉを累積視聴時間ｉだけ視聴したとき、番組情報ｉの嗜好値は（累積視聴時間ｉ×１）で求められる。番組ｉが番組情報ｊに関係がなく、番組ｉを累積視聴時間ｉだけ視聴したとき、番組情報ｉの嗜好値は（累積視聴時間ｉ×０）で求められる。番組情報ｊの嗜好値は、番組ｋ（ｋ＝１・・・ｎ、ステップＳ２００１）の累積視聴時間ｋと、番組ｋと番組情報ｊに関連があるかどうかｒ（ｒは０または１、関連があればｒ＝１、関連がなければｒ＝０）を用いて、Σ（累積視聴時間ｋ×ｒ）で求められる。Σはｋについて１からｎまでの和を取ることを意味する。
【００６５】
図１７の番組情報「音楽」の場合、３個の番組について関係ｒの値を持っているので、この時ｉは１から３までの整数とし（ステップＳ２００１）、Ｊａｖａ（登録商標）プログラムはｉ個目の番組ｉと「音楽」の関係があるかどうかを判定し（ステップＳ２００２）、関係がある場合には番組ｉの視聴時間ｉと１の積を求め（ステップＳ２００３）、関係が無い場合には番組ｉの視聴時間ｉと０の積を求める（ステップＳ２００４）。ステップＳ２００３またはステップＳ２００４で求めた値を、ｉが１からｉ−１であった時に求めたステップＳ２００３またはＳ２００４の総和に加える（ステップＳ２００５）。ｉが番組の数と同じになった時にＳ２００５で求めた値が、「音楽」の嗜好値である。ｉ＝３のとき、ステップＳ２００５で行われる計算は、（８０００×１）＋（１００００×０）＋（５０００×０)＝８０００となり、「音楽」の嗜好値は８０００である。図１６と図１７から各番組情報の嗜好値を算出した結果を、図２１に示す。本実施の形態においては、番組情報の嗜好値をユーザの累積視聴時間を使用して算出したが、視聴した時間帯に重みをつけ、累積視聴時間と時間帯による重みの積を使用して嗜好値を算出することも可能である。
【００６６】
次に、本発明に関連する、ユーザが作成したウェブページが持つ嗜好の算出方法を説明する。ユーザが作成するウェブページには、テキスト情報、画像情報、リンク情報などが含まれる。テキスト情報には、ユーザが作成したウェブページをインターネットブラウザ上で表示したときに見えるテキストだけではなく、ＨＴＭＬやＸＭＬなどのマークアップ言語で書かれた箇所や、プログラムコードやスクリプトも含める。画像情報は、画像が持っているファイル名やファイル情報だけでなく、画像を管理しているデータベースが存在する場合には、データベースから参照可能な情報も含める。リンク情報は、リンク先を示すアドレスに含まれるテキスト情報だけでなく、リンク先のウェブページに含まれるテキスト情報、画像情報も含める。Ｊａｖａ（登録商標）プログラムは、ユーザが作成したウェブページに含まれるテキスト情報、画像情報、リンク情報から抽出できるキーワードを嗜好として扱う。キーワードは、名詞単位で抽出する。図２２にユーザが作成するウェブページ２２０１の一例を示す。図２３に、ウェブページ２２０１のリンク２２０２からたどり着けるウェブページ２３０１の例を示す。
【００６７】
Ｊａｖａ（登録商標）プログラムは、ウェブページ２２０１に含まれるテキスト情報、画像情報、リンク情報から名詞を抽出する（ステップＳ２４０１）。リンク情報の存在する箇所全てについて（ステップＳ２４０２）、インターネットを介してリンク先のサーバにアクセスしてウェブページを取得し（ステップＳ２４０３）、リンク情報からたどり着けるウェブページ２３０１に含まれるテキスト情報、画像情報から名詞を抽出する（ステップＳ２４０４）。Ｊａｖａ（登録商標）プログラムはステップＳ２４０１とステップＳ２４０４で抽出したキーワードを嗜好として一次記憶３０９に保持する（ステップＳ２４０５）。図２５に、ウェブページ２２０１から抽出した嗜好を示す。本実施の形態では、キーワードを名詞単位で抽出したが、単語または文節単位で抽出したり、インターネット上のウェブページ、データベースや検索エンジンが保有しているキーワードに一致する文字列をキーワードとして抽出することでも可能である。また、単語または文節単位で抽出したキーワードから、キーワードとして抽出しないキーワードをインターネット上のウェブページ、データベースや検索エンジンで保有しておき、キーワードを限定して抽出することでも可能である。また、ユーザが作成したウェブページに含まれる、ＸＭＬなどのマークアップ言語やプログラムコードやスクリプトで指定した文字列をキーワードとして抽出することでも可能である。ユーザが作成したウェブページにリンク情報とテキスト情報を持っている広告を含めた場合、広告の嗜好をキーワードとして抽出されるように、前述のような文字列指定を行ったり、広告のリンク情報からリンク先の商品詳細の情報を抽出したりできるので、広告が持つ嗜好もユーザが作成したウェブページに自動的に含めることができる。
【００６８】
次に、本発明に関連する、ユーザ１が作成したウェブページをユーザ２に提示する手段について説明する。
【００６９】
ユーザ１が作成したウェブページを、ユーザ１とユーザ１が作成したウェブページの嗜好に近い嗜好を持つユーザ２に閲覧してもらうために、ユーザ１とユーザ１が作成したウェブページの嗜好とユーザ２の嗜好が近いかどうかを判別する必要がある。ユーザ１の端末装置Ａ上で動作するＪａｖａ（登録商標）プログラム１は、ユーザ１からウェブページを公開するリクエスト２５１１を受けた時（ステップＳ２５０１）、ユーザ１が作成したウェブページの嗜好とユーザ１の全ての嗜好を一次記憶から取得し（ステップＳ２５０２）、両方の嗜好を集計し（ステップＳ２５０３）、ウェブページの嗜好として公開する（ステップＳ２５０４）。ユーザ１が作成したウェブページの嗜好とユーザ１の嗜好の集計時に、ユーザ１が作成したウェブページとユーザ１の嗜好の中に同じものがあった場合、２つの別の嗜好として扱わず、１つの嗜好として扱う。
【００７０】
ユーザ１が作成したウェブページ２２０１を公開する時、ユーザ１の嗜好が図２１で、ユーザ１が作成したウェブページの嗜好が図２６であった場合、ウェブページ２２０１と共に公開される嗜好は図２７のようになる。本実施の形態の場合、図２１のユーザ１の嗜好に挙げられている全ての番組情報をウェブページ２２０１の嗜好として扱うが、嗜好値が高い、または嗜好値がある値以上である一部の番組情報を扱ってもよい。嗜好値の高い番組情報から２つだけを嗜好として扱った場合、ウェブページ２２０１と共に公開される嗜好は図２８のようになる。
【００７１】
ステップＳ２４０９でＪａｖａ（登録商標）プログラム１は、インターネットを介してアクセス可能なユーザ２の端末装置Ｂ上で動作するＪａｖａ（登録商標）プログラム２に対して、Ｐ２Ｐによってウェブページ２２０１の嗜好を送信２８１１する。ユーザ２の端末装置Ｂ上で動作するＪａｖａ（登録商標）プログラム２は、ユーザ１の端末装置Ａ上で動作するＪａｖａ（登録商標）プログラム１と同じものとする。Ｐ２Ｐは、定まったクライアントとサーバを持たず、クライアントとしてもサーバとしても働くことができる端末装置の集合によって形成されるネットワークを用いた通信方式である（参考文献１を参照）。
【００７２】
Ｊａｖａ（登録商標）プログラム２は、送信２９１１によってユーザ１の作成したウェブページの嗜好を受信する（ステップＳ２９０１）。Ｊａｖａ（登録商標）プログラム２は、端末装置Ｂの一次記憶３０９からユーザ２の嗜好を取得し（ステップＳ２９０２）、ステップＳ２９０１で受信したウェブページの嗜好と嗜好が近いかどうかを判定する。ユーザ２の全ての嗜好、または嗜好値の高い番組情報から任意の数のものだけを嗜好として扱い、受信したウェブページの嗜好と一致するものが存在するか判定する。受信したウェブページの嗜好が図２７で、ユーザ２の嗜好が図３０で、ユーザ２の嗜好の中で嗜好値の高い番組情報から３個だけを嗜好と扱った場合、ユーザ２の３個の嗜好に対して（ステップＳ２９０２）、受信したウェブページの嗜好の中に一致しているものがあるかどうかを判定する（ステップＳ２９０３）。ステップＳ２９０３で、一致するものが１つ以上存在した場合、受信したウェブページの嗜好がユーザ２の嗜好に近いとみなす（ステップＳ２９０４）。本実施の形態では、嗜好が一致するものが１つ以上としているが、１つより多い、任意の数以上でも判定可能である。
【００７３】
Ｊａｖａ（登録商標）プログラム２は、受信したウェブページの嗜好がユーザ２の嗜好に近いと判定した場合、ユーザ１の端末装置Ａ上で動作するＪａｖａ（登録商標）プログラム１にユーザ１が作成したウェブページの取得要求を送信２５２１する（ステップＳ２９０５）。Ｊａｖａ（登録商標）プログラム１は、送信２５２１によって、ユーザ１が作成したウェブページの送信先をユーザ２の端末装置ＢのＪａｖａ（登録商標）プログラム２と識別し（ステップＳ２５０５）、Ｊａｖａ（登録商標）プログラム２にユーザ１が作成したウェブページを送信２９１２する（ステップＳ２５０６）。Ｊａｖａ（登録商標）プログラム２は、送信２９１２によってユーザ１が作成したウェブページを受信する（ステップＳ２９０６）。Ｊａｖａ（登録商標）プログラム２はユーザ１が作成したウェブページをディスプレイ３０７に表示し、ユーザ２に提供する（ステップＳ２９０７）。受信したウェブページの嗜好が図２７で、ユーザ２の嗜好が図３０で、ユーザ２の嗜好の中で嗜好値の高い番組情報から３個だけを嗜好と扱った場合、「出演者Ａ」がどちらの嗜好にも含まれており、一致する嗜好が１つ存在するので嗜好が近いと判断でき、Ｊａｖａ（登録商標）プログラム２は受信したウェブページをユーザ２に提供する。
【００７４】
このように嗜好が近いかどうか判断してから、ユーザ２にウェブページを提示することで、ユーザ１とユーザ１の作成したウェブページの嗜好にあったユーザ２に限定してウェブページを送信することができる。また、嗜好が近い場合にだけ、ユーザ１の作成したウェブページを取得するようにしているので、ユーザ２の嗜好に合わないようなユーザ２が見ない可能性があるウェブページを取得しないので、端末装置Ｂの通信量を減らすこともできる。本実施の形態では、Ｊａｖａ（登録商標）プログラムは、ユーザ２の嗜好が、ユーザ１とユーザ１が作成したウェブページの嗜好に近いかどうか判定し、嗜好が近い場合にだけユーザ１が作成したウェブページを受信していたが、嗜好が近いかどうかを判定する前にユーザ１が作成したウェブページを受信しておき、近いかどうか判定した後に送受信しない方法でも実施可能である。
【００７５】
（実施の形態２）
実施の形態１においては、ケーブルテレビシステムで放送波から受信した番組の視聴時間で嗜好値を算出していたが、インターネット上で配信されている動画を視聴することによってもユーザの嗜好の算出が可能である。
【００７６】
インターネット上の動画の場合、番組情報は実施の形態１または、動画のファイル名や動画を公開しているウェブサーバが持つデータベースから動画の情報をダウンロードすることによっても取得可能である。
【００７７】
実施の形態１、２を通して本発明は、パーソナルコンピュータや携帯電話などの情報機器であれば、適応可能である。
【産業上の利用可能性】
【００７８】
本発明にかかるプログラム実行装置は、ユーザ１がウェブページ１を公開するときに、ウェブページ１に含まれるキーワードとジャンル、ウェブページ１に含めた広告１のキーワードとジャンルと、広告１からたどり付けるウェブページ２に含まれるキーワードとジャンルを判定要素１とする手段と、ユーザ１の視聴した番組情報と視聴時間からユーザ１の嗜好１を算出する手段と、嗜好1をユーザ１のプログラム実行環境の判定要素２とする手段と、ユーザ１とユーザ２の間で判定要素１と判定要素２を送受信する手段と、判定要素１と判定要素２のなかに、ユーザ２のプログラム実行環境の判定要素３の嗜好が1つ以上存在する場合、嗜好が近いと判定する手段と、嗜好が近いと判断した場合に、ユーザ１とユーザ２の間でウェブページ１を送受信する手段と、ユーザ２のプログラム実行装置はウェブページ１をユーザ２に提示する手段を有し、デジタルテレビ受信機の一時的な機能向上、機能付加等として有用である。またデジタルテレビに限らずパーソナルコンピュータや携帯電話などソフトウエアによって制御される情報機器の一時的な機能向上、機能付加等の用途にも適用できる。
【図面の簡単な説明】
【００７９】
【図１】本実施の形態のケーブルテレビシステムの構成の一例を示す図
【図２】本実施の形態のケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図
【図３】本実施の形態のケーブルテレビシステムにおける端末装置の構成の一例を示す図
【図４】本実施の形態のケーブルテレビシステムにおいて端末装置の外観の一例を示す図
【図５】ＭＰＥＧ規格で定義されているパケットの構成の一例を示す図
【図６】ＭＰＥＧ２トランスポートストリームの一例を示す図
【図７】入力部３１１をフロントパネルで構成した場合の外観の一例を示す図
【図８】端末装置３００が保存するプログラム構成の一例を示す図
【図９】累積視聴時間と番組情報の組の一例を表す図
【図１０】２次記憶部３０８が保存する情報の一例を表す図
【図１１】１次記憶部３０９が保存する情報の一例を表す図
【図１２】ＭＰＥＧ２規格が規定するＰＡＴの内容の一例を示す図
【図１３】ＭＰＥＧ２規格が規定するＰＭＴの内容の一例を示す図
【図１４】ＤＶＢ−ＭＨＰ規格が規定するＡＩＴの内容の一例を示す図
【図１５】ＤＳＭＣＣ方式で送信されるファイルシステムの一例を示す図
【図１６】本実施の形態において、番組と番組情報の関係ｒを算出する処理の一例を示すフローチャート
【図１７】本実施の形態において、一次記憶３０９に保存する番組と番組情報の関係ｒの一例を示す図
【図１８】本実施の形態において、現在視聴中の番組の累積視聴時間を算出する処理の一例を示すフローチャート
【図１９】本実施の形態において、一次記憶３０９に保存する番組と累積視聴時間の一例を示す図
【図２０】本実施の形態において、累積視聴時間から番組情報の嗜好値を算出する処理の一例を示すフローチャート
【図２１】本実施の形態において、一次記憶３０９に保存する番組情報の嗜好値の一例を示す図
【図２２】本実施の形態において、ユーザが作成したウェブページの一例を示す図
【図２３】本実施の形態において、図２２のユーザが作成したウェブページに含まれるリンク情報からたどり着けるウェブページの一例を示す図
【図２４】本実施の形態において、ユーザが作成したウェブページの嗜好を抽出するＪａｖａ（登録商標）プログラムの処理の一例を示すフローチャート
【図２５】本実施の形態において、ユーザが作成したウェブページを公開するＪａｖａ（登録商標）プログラムの処理の一例を示すフローチャート
【図２６】本実施の形態において、ユーザが作成したウェブページから抽出した嗜好の一例を示す図
【図２７】本実施の形態において、ユーザの嗜好全てとウェブページから抽出した嗜好を集計して得られた、ウェブページが持つ嗜好の一例を示す図
【図２８】本実施の形態において、ユーザの嗜好の中で嗜好値が高いもの２つとウェブページから抽出した嗜好を集計して得られた、ウェブページが持つ嗜好の一例を示す図
【図２９】本実施の形態において、ウェブページを受信したＪａｖａ（登録商標）プログラムの処理の一例を示すフローチャート
【図３０】本実施の形態において、ウェブページを受信するユーザの嗜好の一例を示す図
【符号の説明】
【００８０】
８００    プログラム
８０１    ＯＳ
８０１ａ    カーネル
８０１ｂ    ライブラリ
８０２    ＥＰＧ
８０２ａ    再生部
８０２ｂ    番組表示部
８０３    Ｊａｖａ（登録商標）ＶＭ
８０４    サービスマネージャ
８０５    Ｊａｖａ（登録商標）ライブラリ
８０５ａ    ＪＭＦ
８０５ｂ    ＡＭ
８０５ｃ    Ｔｕｎｅｒ
８０５ｄ    ＣＡ
【図１】
2010009266.tif 000003
【図２】
2010009266.tif 000004
【図３】
2010009266.tif 000005
【図４】
2010009266.tif 000006
【図５】
2010009266.tif 000007
【図６】
2010009266.tif 000008
【図７】
2010009266.tif 000009
【図８】
2010009266.tif 000010
【図９】
2010009266.tif 000011
【図１０】
2010009266.tif 000012
【図１１】
2010009266.tif 000013
【図１２】
2010009266.tif 000014
【図１３】
2010009266.tif 000015
【図１４】
2010009266.tif 000016
【図１５】
2010009266.tif 000017
【図１６】
2010009266.tif 000018
【図１７】
2010009266.tif 000019
【図１８】
2010009266.tif 000020
【図１９】
2010009266.tif 000021
【図２０】
2010009266.tif 000022
【図２１】
2010009266.tif 000023
【図２２】
2010009266.tif 000024
【図２３】
2010009266.tif 000025
【図２４】
2010009266.tif 000026
【図２５】
2010009266.tif 000027
【図２６】
2010009266.tif 000028
【図２７】
2010009266.tif 000029
【図２８】
2010009266.tif 000030
【図２９】
2010009266.tif 000031
【図３０】
2010009266.tif 000032