(第1の実施形態)
図1は、本発明の第1の実施形態におけるコンテンツ先読み制御装置200を備えたコンテンツ出力装置100の全体構成図である。コンテンツ出力装置100は、放送局から送出される放送波を受信するテレビまたは、宅外に持ち出すモバイル端末である。
コンテンツ出力装置100において、ユーザは、ザッピング操作により、コンテンツの情報を確認してからコンテンツを次々に切り替える。ここでユーザが確認するコンテンツの情報とは、コンテンツのタイトル、再生時間、サムネイル、出演者、人気等である。また、ユーザは、キーを長押しするなどの操作により、表示されるコンテンツの情報を確認しながら、コンテンツを次々に切り替えることができる。コンテンツ出力装置100は、このようなユーザの視聴形態に対応した画面表示等が可能な端末である。
コンテンツ出力装置100は、取得部110、入力部120、記憶部130、出力部140、出力制御部150、コンテンツ先読み制御装置200から構成される。
取得部110は、放送波を受信し、後述するコンテンツマップを生成する。図2は、取得部110の内部構成を示す。取得部110は、放送受信部111、マップ生成部114から構成される。
放送受信部111は、放送局から送出される動画コンテンツを受信し、受信した動画コンテンツを記憶部130にバッファリングさせる。また、放送受信部111は、放送局からの電波に重畳して送信されてくる電子番組表等を受信する。
マップ生成部114は、上述した電子番組表をもとに、受信可能な放送局から送出される動画のリストにより構成されるコンテンツマップ119を生成する。なお、コンテンツマップ119は、電子番組表を受信することにより生成されるだけでなく、予め取得部110に格納されていてもよいし、あるいはコンテンツ出力装置100の初期設定時にユーザ設定によって生成されてもよい。図3は、本第1の実施形態における、コンテンツマップ119の概念図を示す。
図3に示したコンテンツマップは、取得部110が受信可能な放送局のチャンネルを一次元に並べた場合の例を示したものである。この例では、ユーザがザッピング視聴をする際に、図3に示した昇り順、降り順のチャンネル切り替え操作しか行わないこととする。また、この例では、1回のチャンネル切り替え操作でチャンネルが昇り順あるいは降り順の矢印の方向にチャンネルが1つずつ切り替わるものとする。昇り順への切り替え操作は、例えば、入力部120が備える上ボタンをユーザが押すことによって、行われる。また、降り順への切り替え操作は、例えば、入力部120が備える下ボタンをユーザが押すことによって、行われる。
図1に戻り、入力部120は、キーボタンや上下左右ボタンなどの操作ボタン、感圧式タッチパネルなどから構成され、ユーザからのコンテンツ切り替え等の操作を受け取る。また、入力部120は、リモートコントローラとコントローラ受信部の2つから構成されていてもよい。その場合、入力部120は、リモートコントローラがユーザの操作を受け取ってコントローラ受信部に送信し、コントローラ受信部がその信号を受信して、ユーザからのコンテンツ切り替え等の操作を受け取る。入力部120は、ユーザ操作を受け取った後、ユーザ操作に関するユーザ操作情報121(図示せず)を出力制御部150及びコンテンツ先読み制御装置200へ出力する。
記憶部130は、動画コンテンツをバッファリングする。記憶部130は、典型的には、不揮発性メモリなど電源を切っても記憶内容が消失することのない記憶デバイスにより実現される。
出力部140は、出力制御部150の指示に従い、記憶部130によってバッファリングされた動画コンテンツを表示し、音声出力を行う。また、出力部140は、コンテンツの情報を動画コンテンツとともに、あるいは動画コンテンツの出力前に出力してもよい。なお、出力部140は、コンテンツ出力装置100の種類によっては音声出力の機能を備えないものであってもよい。
出力制御部150は、入力部120から取得するユーザ操作情報121がチャンネル切り替えの操作情報である場合、取得部110から取得するコンテンツマップ119に基づいて、ユーザが視聴を所望するチャンネルに切り替える。また、ユーザ操作情報121が音量調節などのチャンネル切り替え以外の操作情報である場合、出力制御部150は、その操作情報に従って、出力部140を制御する。
コンテンツ先読み制御装置200は、入力部120から入力されるユーザ操作情報121に基づいて、ザッピング操作かどうかを判定し、ザッピング操作情報をザッピング操作履歴として蓄積する。このザッピング操作判定およびザッピング操作履歴として蓄積するザッピング操作情報については、後述する。
また、コンテンツ先読み制御装置200は、ザッピング操作履歴から、ユーザが次に行うであろうザッピング操作を予測する。そして、コンテンツ先読み制御装置200は、予測したザッピング操作をもとに、ユーザが次に視聴すると考えられるチャンネルの動画コンテンツを取得部110に受信させ、記憶部130に予めバッファリングさせる。なお、次に視聴すると考えられるチャンネルは、出力制御部150による制御により取得部110が受信するチャンネルとは別のチャンネルである。
つぎに、本発明のコンテンツ先読み制御装置200の内部構成を、図4を用いて詳細に説明する。コンテンツ先読み制御装置200は、操作判定部201、ザッピング操作履歴記憶部202、ザッピング操作予測部203、コンテンツマップ保持部204、視聴対象予測部205、先読み実行部206から構成される。
操作判定部201は、入力部120から出力されるユーザ操作情報121に基づいて、ユーザがザッピング操作しているか否かを判定する。ザッピング操作の判定方法については後述する。さらに、操作判定部201は、入力部120から出力されるユーザ操作情報121に基づいて、コンテンツ出力後所定時間内にチャンネル切り替え操作がなかったか否かを判定する。
ザッピング操作履歴記憶部202は、操作判定部201によりユーザのザッピング操作と判定された操作情報を記憶する。この操作情報とは、ザッピングを行った日付や時刻、ザッピングの1操作に要した時間や、ザッピングによりチャンネルをいくつ飛ばしたかといった、ユーザのザッピング操作に関する各種情報を指す。なお、ザッピング操作履歴の保存形式は、データベースの利用または、ファイルで保存する。このときのフォーマットは、XML(eXtensible Markup Language)等任意とする。
ザッピング操作予測部203は、ザッピング操作履歴記憶部202に記憶されたザッピング操作履歴をもとに、ユーザが、現在視聴している動画コンテンツ視聴後に行うと予測される次のザッピング操作を予測する。
コンテンツマップ保持部204はコンテンツマップ119を保持する。そして、取得部110のマップ生成部114が新たにコンテンツマップ119を生成すると、新しいコンテンツマップ119を取得する。
視聴対象予測部205は、ザッピング操作予測部203によって予測されたザッピング操作をもとに、次のザッピング操作によりコンテンツマップ119上のどのチャンネル周辺に切り替えられるかを予測する。
先読み実行部206は、視聴対象予測部205で予測したチャンネルの動画の先読みを実行する。具体的には、先読み実行部206は、取得部110に放送局から送出される動画コンテンツの受信を開始させる。
以上のように構成されたコンテンツ出力装置100が、ザッピング操作の履歴を取得する動作を、図5、6を用いて詳細に説明する。図5は、ユーザのチャンネル切り替え操作が連続的に入力部120において検出される場合に、コンテンツ出力装置100がザッピング操作の履歴を取得するまでの動作の一例を示すフローチャートである。ここで、ユーザのチャンネル切り替え操作が連続的に入力部120において検出される場合とは、以下の4つのいずれかを意味する。
(1)ユーザが操作ボタンを繰り返し押下した場合
(2)ユーザがタッチパネルにおいて指を軽く払う動作(フリック)を1回行うと、出力制御部150がフリックの向きに応じて昇り順、降り順のいずれかにチャンネルを1つ切り替える形態においてユーザがフリックを繰り返し行った場合
(3)ユーザが操作ボタンを長押しすると切り替え操作に関する信号が一定時間経過するごとに入力部120において検出される場合
(4)ユーザが操作ボタンを長押しすると切り替え操作に関する同一の信号が入力部120において継続して検出され、入力部120が一定時間経過するごとに当該信号の有無によって切り替え操作を実行するか否かを判断する場合
まず、操作判定部201は、ユーザ操作情報121に基づいて、ユーザによるチャンネル切り替え操作があったかどうかを判定する(ステップS01)。チャンネル切り替え操作がなければ(ステップS01でNo)、ステップS01へ戻る。
チャンネル切り替え操作があったと判定すると(ステップS01でYes)、操作判定部201は、ユーザ操作情報121に基づいて、ステップS01でのチャンネル切り替え操作が図3の昇り順であるか判定する(ステップS02)。
図3の昇り順にチャンネル切り替え操作がされた場合(ステップS02でYes)、操作判定部201は、ステップS01でのチャンネル切り替え操作から一定時間内に入力された昇り順の変更チャンネル数を取得する(ステップS03)。
図3の降り順にチャンネル切り替え操作がされた場合(ステップS02でNo)、操作判定部201は、ステップS01でのチャンネル切り替え操作から一定時間内に入力された降り順の変更チャンネル数を取得する(ステップS04)。
次に、操作判定部201は、ステップS03もしくはステップS04で得られた変更チャンネル数が、予め定めた閾値より大きいかどうか判定する(ステップS05)。もし、変更チャンネル数が閾値より大きい場合(ステップS05でYes)、操作判定部201はザッピング中であると判定する(ステップS06)。そして、ザッピング操作履歴記憶部202は、ユーザのザッピング操作と判定された操作情報を記憶する(ステップS07)。逆に、変更チャンネル数が閾値以下である場合(ステップS05でNo)、操作判定部201はザッピング中でないと判定する(ステップS08)。ステップS07、S08の処理が終了すれば、ステップS01の状態に戻る。
なお、操作判定部201は、チャンネル切り替え操作を開始してから一定時間内に昇り順・降り順のチャンネル切り替え操作が両方行われており、しかもその時間内の切り替え回数が多い場合も、ザッピング視聴と判定できる。この場合、操作判定部201は、図5のステップS02の判定処理をせずに、単にチャンネル変更を開始して一定時間内の昇り順と降り順の両方の変更チャンネル数を取得する。さらに、操作判定部201は、その変更チャンネル数が予め定めた閾値を超えているかどうかで、ザッピング中か否かを判定するとよい。
この場合、図5のステップS07において、ザッピング操作履歴記憶部202は、ザッピング開始直前からザッピング終了時点までのチャンネル切り替えの変更方向(昇り順、降り順)とチャンネル切り替え数を履歴として記憶する。
図6は、コンテンツ出力装置100の入力部120がザッピング指示の入力が可能な場合に、コンテンツ出力装置100がザッピング操作の履歴を取得するまでの動作の一例を示すフローチャートである。このザッピング指示の入力とは、例えば、スキャンボタン(押下されたときにザッピング処理を開始するボタン)等を押下する入力を意味する。あるいは、ザッピング指示の入力とは、ユーザがタッチパネルにおいて指を軽く払う動作(フリック)を行ってからと、ユーザが再度タッチパネルに触れるまでを意味する。あるいは、ザッピング指示の入力とは、フリックの操作速度に応じた時間だけ出力制御部150がザッピングを行う場合、フリックによる入力を意味する。図6では、図5と同じ処理については同じ符号を付しており、説明を省略する。
まず、操作判定部201は、ユーザによるチャンネル切り替え操作があったと判定すると(ステップS01でYes)、ユーザ操作情報121に基づいて、ユーザによるザッピング指示の入力があったかどうか判定する(ステップS09)。もし、ユーザによるザッピング指示の入力があったと判定した場合(ステップS09でYes)、操作判定部201は、ザッピング中であったと判定する(ステップS06)。逆に、ユーザによるザッピング指示の入力がない場合(ステップS09でNo)、操作判定部201は、ザッピング中でないと判定する(ステップS08)。
次に、動画コンテンツの先読みを開始する際のコンテンツ出力装置100の動作について、図7〜11を利用して説明する。
図7は、動画コンテンツの先読みを開始する際のコンテンツ先読み制御装置200に関する動作の一例を示したフローチャートである。
まず、操作判定部201は、チャンネル切り替えや電源投入によってコンテンツ出力開始後、所定時間内にチャンネル切り替え操作がなかったかどうかを判定する(ステップS11)。この所定時間は、コンテンツ出力装置100毎に最適値を事前に設定し、コンテンツ先読み制御装置200に格納しておく。所定時間内にチャンネル切り替え操作があれば(ステップS11でNo)、ステップS11に戻る。
所定時間内にチャンネル切り替え操作がなかったと判定された場合(ステップS11でYes)は、ユーザがコンテンツの視聴を開始したと考えられる。この場合、先読み実行部206は、ユーザが現在視聴しているチャンネルの動画コンテンツに関するメモリ領域を除いたメモリ領域を開放する(ステップS12)。この開放するメモリ領域とは、過去の先読みに使用したメモリ領域、すなわち過去に先読みした動画コンテンツを格納しているメモリ領域を指す。
そして、先読み実行部206は、先読み数Nrを0にセットする(ステップS13)。この先読み数Nrとは、先読みした動画コンテンツ数に関するカウント値である。
つぎに、ザッピング操作予測部203は、ザッピング操作履歴記憶部202が記憶しているザッピング操作履歴に基づいて、次のザッピング操作を予測する(ステップS15)。このとき、ザッピング操作予測部203は、過去の操作履歴全てに基づいて次のザッピング操作を予測してもよいし、最新の一定期間分の操作履歴だけに基づいて次のザッピング操作を予測してもよい。
図9は、ザッピング操作予測部203の予測結果の一例を示す表である。この表の左列は、1回のザッピング操作で昇り順あるいは降り順に移動するチャンネル数である。左列の正負の符号は、降り順へチャンネルの移動を「+」、昇り順へのチャンネルの移動を「−」で表したものである。右列は、各ザッピング操作の出現確率である。この出現確率とは、ステップS15で次のザッピング操作を予測するために利用したザッピング履歴全体の中で当該ザッピング操作がなされた割合を示す。ザッピング操作予測部203は、過去の操作履歴において出現確率が高い操作はユーザが次に行う可能性が高いという仮定の下、次のザッピング操作を予測する。左列の最大値、最小値の±Nmaxは、ザッピング操作予測部203において予め定めた移動チャンネル数の最大値、最小値である。以降の説明において、図9で移動チャンネル数が−Nmax以上−9以下の間と+9以上+Nmax以下の間の出現確率は、すべて0%であるとする。
つぎに、視聴対象予測部205は、図9に示した予測結果と、コンテンツマップ保持部204が保持するコンテンツマップ119とに基づいて、次に視聴対象となる可能性の最も高いチャンネルを選択する(ステップS16)。なお、チャンネルを選択する際、現在視聴中のチャンネルと、過去に選択されたチャンネルは、選択対象から除かれる。また、視聴対象予測部205は、ステップS16が最初に実行されるときは、視聴対象となる可能性の最も高いチャンネルを選択する。
つぎに、先読み実行部206は、視聴対象予測部205により選択されたチャンネルにおけるコンテンツの先読みを開始する(ステップS17)。
その後、先読み実行部206は、先読み数Nrに1を加える(ステップS18)。つぎに、先読み実行部206は、Nrがロード可能数になったかどうか判定する(ステップS19)。このロード可能数とは、先読み可能な動画コンテンツの最大数であり、記憶部130の記憶容量などに基づき定められる。ロード可能数とならなかった場合(ステップS19でNo)、ステップS16以降の処理が再度実行される。ロード可能数となった場合(ステップS19でYes)、先読み実行部206によるコンテンツ先読み動作は、終了する。
図7の動作では、ユーザのザッピング操作が予測結果と少しでもずれてしまうと、先読みの効果が発揮できない。図8は、その問題に対応したコンテンツ先読み制御装置200に関する動作の一例を示したフローチャートである。図8では、図7と同じ動作については同じ符号を付して説明を省略する。以下、図7と異なる動作について詳細に説明する。
ステップS16においてチャンネルが選択されると、視聴対象予測部205は、ステップS16で選択されたチャンネルとその前後m個のチャンネルのうち、現在視聴中のチャンネルを除き、未選択のチャンネルを選択する(ステップS21)。このmの値は、予め定められた値であり、記憶部130の記憶容量などに基づき定められる。なお、以降の説明では、ステップS21で選択されたチャンネル数をnとする。
つぎに、視聴対象予測部205は、Nr+nがロード可能数以上であるかどうか判定する(ステップS22)。Nr+nがロード可能数以上である場合(ステップS22でYes)、視聴対象予測部205は、ステップS16で選択されたチャンネルに近い順に(ロード可能数−Nr)個のチャンネルを選択する(ステップS23)。そして、先読み実行部206は、ステップS23で選択されたチャンネルにおけるコンテンツの先読みを開始し(ステップS24)、Nrをロード可能数とする(ステップS25)。ステップS25の後、コンテンツ先読み動作は終了する。
Nr+nがロード可能数より小さい場合(ステップS22でNo)、先読み実行部206は、ステップS21で選択されたチャンネルにおけるコンテンツの先読みを開始する(ステップS26)。そして、先読み実行部206は、Nrにnを加え(ステップS27)る。その後、ステップS16以降の処理が再度実行される。
つぎに、図9〜図11の具体例を用いて、図7、図8のステップS16以降の動作内容を詳細に説明する。図10は、図7のステップS16以降の動作内容を説明するための具体例である。図10では、説明の便宜上、各チャンネルにC01〜C07の符号を付しており、図3の各チャンネルに対応している。また、図7のステップS15において、図9に示した予測結果が得られたものとし、現在視聴中のチャンネルがC01であるとする。さらに、図7のステップS19におけるロード可能数が3であるとする。
ステップS16において、視聴対象予測部205は、図9の予測結果により、出現確率が最大のザッピング操作は「+4」であることが分かる。そこで、視聴対象予測部205は、視聴対象となる可能性の最も高いチャンネルとして、C01から降り順に4つ目のチャンネルであるC05を選択する。
それから、ステップS17において、先読み実行部206は、ステップS16において選択されたC05について、コンテンツ先読みを開始する。そして、ステップS18において、先読み実行部206は、先読み数Nrに1を加える。ここでは、ステップS13においてNrの値が0に設定されているので、Nr=1となる。このNrはロード可能数3を下回るので、先読み実行部206は、ステップS19において「No」と判定する。
つぎに、ステップS16に戻って、視聴対象予測部205は、図9の予測結果により出現確率が2番目に高いザッピング操作は「−6」であることが分かる。そこで、視聴対象予測部205は、既に選択されたC05の次に視聴対象となる可能性の高いチャンネルとして、C01から昇り順に6つ目のチャンネルであるC02を選択する。
それから、ステップS17において、先読み実行部206は、ステップS16において選択されたC02について、コンテンツ先読みを開始する。そして、ステップ18において、先読み実行部206は、先読み数Nrに1を加え、Nr=2とする。このNrはロード可能数3を下回るので、先読み実行部206は、ステップS19において「No」と判定する。
つぎに、またステップS16に戻って、視聴対象予測部205は、図9の予測結果により出現確率が3番目に高いザッピング操作は「+6」であることが分かる。そこで、視聴対象予測部205は、既に選択されたC05、C02の次に視聴対象となる可能性の高いチャンネルとして、C01から降り順に6つ目のチャンネルであるC07を選択する。
それから、ステップS17において、先読み実行部206は、ステップS16において選択されたC07について、コンテンツ先読みを開始する。そして、ステップS18において、先読み実行部206は先読み数Nrに1を加え、Nr=3とする。このNrはロード可能数3と一致するので、先読み実行部206は、ステップS19において「Yes」と判定する。そして、コンテンツ先読み動作が終了する。
図11は、図8のステップS16以降の動作内容を説明するための具体例である。図11では、説明の便宜上、各チャンネルにC01〜C07の符号を付しており、図3の各チャンネルに対応している。図11でも、図8のステップS15において、図9に示した予測結果が得られたものとし、現在視聴中のチャンネルがC01であるとする。また、図8のステップS21におけるmの値が1であるとし、図8のステップS22以降におけるロード可能数が5であるとする。
ステップS16において、視聴対象予測部205は、図9の予測結果により、出現確率が最大のザッピング操作は「+4」であることが分かる。そこで、視聴対象予測部205は、視聴対象となる可能性の最も高いチャンネルとして、C01から降り順に4つ目のチャンネルであるC05を選択する。
つぎに、ステップS21において、視聴対象予測部205は、C05の前後1チャンネルであるC04とC06とを選択する。ここで、C04〜C06は現在視聴中のチャンネルでなく、未だ選択されていないので、視聴対象予測部205は、C04〜C06をすべて選択する。したがって、ステップS21におけるnの値は3となる。
それから、ステップS22において、視聴対象予測部205は、Nr+nの値を算出する。ここでは、ステップS13においてNrの値が0に設定されているので、Nr+n=3となり、Nr+nはロード可能数5を下回る。したがって、視聴対象予測部205は、ステップS22において「No」と判定する。
そして、ステップS26において、先読み実行部206は、ステップS17において選択されたC04〜C06について、コンテンツの先読みを開始する。それから、ステップS27において、先読み実行部206は、Nrに3を加える。
つぎに、ステップS16に戻って、視聴対象予測部205は、図9の予測結果より出現確率が2番目に高いザッピング操作は「−6」であることが分かる。そこで、視聴対象予測部205は、既に選択されたC04の次に視聴対象となる可能性の最も高いチャンネルとして、C01から昇り順に6つ目のチャンネルであるC02を選択する。
それから、ステップS21において、視聴対象予測部205は、選択されたC02とその前後のチャンネルであるC01、C03とのうち、現在視聴中のC01を除くC02、C03を選択する。したがって、ステップS21におけるnの値は2となる。
そして、ステップS22において、Nr+n=5となり、ロード数と等しくなることから、視聴対象予測部205は、ステップS22において「Yes」と判定する。
そして、ステップS23において、視聴対象予測部205は、ステップS16において予測されたチャンネルに近い順に(ロード可能数−Nr)個、すなわち2個のチャンネルを選択する。ここでは、視聴対象予測部205は、C02、C03の2つを選択する。
つぎに、ステップS24において、先読み実行部206は、ステップS23において選択されたC02、C03について、コンテンツ先読みを開始する。そして、ステップS25において、先読み実行部206は、Nrをロード可能数5とする。そして、コンテンツ先読み動作が終了する。
なお、図7、8のコンテンツ出力装置100の動作において、ステップS16が2回以上実行される場合、2回目以降のステップS16において、視聴対象予測部205は以下の動作を行ってもよい。この場合、視聴対象予測部205は、1回目のステップS16において選択されたチャンネルから最も高い出現確率のザッピング操作がされることによって、切り替わるチャンネルを2回目のステップS16で、選択する。以降、毎回のステップS16において、視聴対象予測部205は、前回のステップS16において選択されたチャンネルから最も高い出現確率のザッピング操作がされることによって、切り替わるチャンネルを順々に選択する。
例えば、図12の例に基づき、図7の動作が行われた場合、視聴対象予測部205は、1回目のステップS16においてC05(1つ先の視聴対象)を選択する。その後、視聴対象予測部205は、2回目のステップS16において、C05から降り順に4つ目のチャンネルであるC02(2つ先の視聴対象)を選択する。そして、視聴対象予測部205は、3回目のステップS16において、C02から降り順に4つ目のチャンネルであるC06(3つ先の視聴対象)を選択する。
また、図7のコンテンツ出力装置100の動作において、ステップS16が2回以上実行される場合、2回目以降のステップS16において、視聴対象予測部205は以下の動作を行ってもよい。この場合、視聴対象予測部205は、2回目以降のステップS16において、ロード可能数まで1回目のステップS16において選択されたチャンネルに近い順にチャンネルを選択する。なお、視聴対象予測部205は、1回目に選択されたチャンネルと同じチャンネル数だけ離れている2つのチャンネルにおいて、降り順、昇り順のどちらを優先して先に選択してもよい。
例えば、図13の例において最も可能性の高い次視聴対象をC05とし、ロード可能数を5とすると、視聴対象予測部205は、1回目のステップS16において、C05を選択する。つぎに、視聴対象予測部205は、2回目のステップS16において、C06(図中の(1))を選択する。そして、視聴対象予測部205は、3回目のステップS16において、C04(図中の(2))を選択する。さらに、視聴対象予測部205は、4回目のステップS16において、C07(図中の(3))を選択する。最後に、視聴対象予測部205は、5回目のステップS16において、C03(図中の(4))を選択する。
本コンテンツ先読み制御装置は、ユーザがコンテンツの視聴を開始すると、ユーザの過去のザッピング操作履歴をもとにユーザが次に視聴する可能性の高い動画コンテンツを予測することができる。ゆえに、ユーザがザッピング操作によって現在視聴しているチャンネルから離れたチャンネルに急に切り替えた場合でも、本コンテンツ先読み制御装置を備えたコンテンツ出力装置は、コンテンツ出力開始までの時間を短縮することができる。
また、ユーザがザッピング操作により次に視聴する可能性が低いと予測される動画コンテンツは、バッファリング対象とされないので、本コンテンツ先読み制御装置を備えたコンテンツ出力装置は、メモリ等のリソースを節約することができる。
なお、上述したザッピング操作予測部203の動作は、コンテンツ出力装置100を操作したユーザを識別していないので、コンテンツ出力装置100が個人端末である場合を除いて、様々なユーザのザッピング操作の履歴が混在している。したがって、ユーザ毎のザッピング履歴を識別できれば、ザッピング操作の予測精度を上げることができる。例えば、入力部120が指紋認証やログイン認証を行う機能、または、コンテンツ出力装置100がカメラ等を搭載し、視聴者を画像認識する機能を有する場合、ザッピング操作履歴記憶部202は、ユーザ毎にザッピング操作履歴を管理する。そして、ユーザ毎のザッピング操作履歴に基づいて、ザッピング操作予測部203は、現在視聴中のユーザの履歴のみを参照して図9のような予測結果を求めてもよい。これにより、本コンテンツ先読み制御装置は、個人毎の履歴からザッピング操作を予測することができるので、ザッピング操作の予測精度を上げることができる。
また、ユーザがコンテンツ出力装置100を主に利用する時間帯や曜日は、ユーザ毎に異なり、習慣によりある程度固定されているものと考えられる。したがって、ザッピング操作予測部203は、現在時刻が属する時間帯(午前中、昼前後、昼間、夕方、夜)や曜日等が同じザッピング履歴を、ザッピング操作履歴記憶部202から取得し、その履歴から図9に示す予測結果を求めてもよい。これにより、現在視聴中のユーザが過去に操作した可能性が高い履歴からザッピング操作を予測することができるので、ザッピング操作の予測精度を上げることができる。
また、ザッピング操作予測部203は、ザッピング操作履歴に対し現在時刻に近い順に重み付けを行った上で、図9のような確率値を算出してもよい。あるいは、過去から現在までのザッピング操作の変化の傾向をもとに、次に行われる可能性が最も高いザッピング操作を予測してもよい。さらに、ザッピング操作予測部203が求める予測結果は、図9のような確率以外に、平均値や中央値などの統計量を算出して、それを予測結果としてもよい。
(第2の実施形態)
図14は、本発明の第2の実施形態におけるコンテンツ先読み制御装置200aを備えたコンテンツ出力装置100aの全体構成図である。コンテンツ出力装置100aは、以下の機能を有するテレビ、または宅外に持ち出すモバイル端末である。コンテンツ出力装置100aは、放送局から送信される放送波を受信する。さらに、コンテンツ出力装置100aは、ストリーミング動画を配信するメディアサーバ400(後述)やメモリカードなどの複数のメディアと接続し、コンテンツを取得して、取得したコンテンツを再生することができる。本第2の実施形態のコンテンツ出力装置100aは、ストリーミング再生、ファイル再生、放送波デコードのような再生手段が異なるコンテンツを出力する。以降の説明では、このように再生手段の違うコンテンツの種類をコンテンツ属性と呼ぶ。
コンテンツ出力装置100aは、取得部110a、入力部120、記憶部130、出力部140、出力制御部150、コンテンツ先読み制御装置200aから構成される。ここで、第1の実施形態と同じ符号を付したものは、第1の実施形態と同じ動作を行うため、説明を省略する。
取得部110aは、第1の実施形態の取得部110と比較すると、様々なコンテンツ属性のコンテンツを取得できるところが異なる。図15は、取得部110aの内部構成を示す。取得部110aは、放送受信部111、通信インタフェース部112、記録媒体アクセス部113、マップ生成部114aから構成される。ここで、第1の実施形態と同じ符号を付したものは、第1の実施形態と同じ動作を行うため、説明を省略する。
通信インタフェース部112は、ネットワーク300を介し、ストリーミング動画を配信するメディアサーバ400と接続される。通信インタフェース部112は、典型的には、有線LAN(Local Area Network)及び無線LANを用いてネットワーク300への接続を実現する。
そして、通信インタフェース部112は、メディアサーバ400から送出される動画コンテンツを受信し、受信した動画コンテンツを記憶部130にバッファリングさせる。さらに、通信インタフェース部112は、ネットワーク上の動画コンテンツを一意に特定する情報が記載された再生リストを取得する。動画コンテンツを一意に特定する情報として、例えば、URL(Uniform Resource Locator)等がある。好ましくは、通信インタフェース部112は、コンテンツ出力装置100a起動時ごとに、メディアサーバ400にアクセスし、最新のストリーミング動画を含む動画一覧に関する再生リストを、新たに取得するとよい。
メディアサーバ400は、宅内または宅外に配置され、動画コンテンツをストリーミング配信するサーバである。宅内のメディアサーバにアクセスするネットワーク300は、典型的にはイントラネットを指す。通信インタフェース部112と宅内のメディアサーバ400とは、DLNA(Digital Living Network Alliance)などのプロトコルによって通信される。宅外のメディアサーバにアクセスするネットワーク300は、典型的にはインターネットを指す。通信インタフェース部112と宅外のメディアサーバ400とは、WWW(World Wide Web)などのプロトコルによって通信される。
記録媒体アクセス部113は、コンテンツ出力装置100aに挿入されたメモリカード、コンテンツ出力装置100aに内蔵するハードディスクなどの記録媒体にアクセスし、コンテンツを取得する。また、入力部120がユーザによる録画操作を受け取った場合、出力制御部150からの要求により、記録媒体アクセス部113は、放送波あるいはネットワークを介してダウンロードされた動画コンテンツを記録媒体に保存する。さらに、記録媒体アクセス部113は、記録媒体に記録されたコンテンツを一意に特定する情報が記載された再生リストを取得する。コンテンツを一意に特定する情報として、例えば、ファイルパス等がある。
マップ生成部114aは、上述した電子番組表、再生リストからコンテンツマップ119aを生成する。図16は、本第2の実施形態における、コンテンツマップ119aの概念図を示す。
図16に示したコンテンツマップは、上述した電子番組表、再生リストを一次元に並べた場合の例を示したものである。この例では、図3と同様、ユーザは、ザッピング視聴をする際に、図16に示した昇り順、降り順のチャンネル切り替え操作しか行わないこととする。また、ユーザは、1回のチャンネル切り替え操作でチャンネルが昇り順あるいは降り順の矢印の方向にチャンネルが1つずつ切り替わるものとする。
コンテンツマップは、コンテンツ出力装置100a毎に定められた順序に従い、コンテンツ属性の異なる複数の動画コンテンツが配置される。具体的には、人気のある動画コンテンツ、放送される時間順、または、コンテンツ属性によって並び替えられる。なお、コンテンツ属性で分類されたコンテンツマップにおいて、メディアサーバ400からストリーミング再生していたコンテンツを、別の手段で内蔵ハードディスクにダウンロードすると、そのコンテンツのコンテンツ属性は変化する。
マップ生成部114aは、通信インタフェース部112もしくは記録媒体アクセス部113が新たに再生リストを取得すると、コンテンツマップ119aを新たに生成する。さらに、マップ生成部114aは、アクセス可能なコンテンツが変わった場合、コンテンツマップ119aを新たに生成する。アクセス可能なコンテンツが変わる場合は、通信インタフェース部112から得られるネットワーク状況の変化、記録媒体アクセス部113から得られるメモリカードの着脱、ユーザによるコンテンツ消去などにより生じる。
取得部110aは、以上のように生成されたコンテンツマップ119aを、出力制御部150とコンテンツ先読み制御装置200aとへ送信する。
つぎに、本第2の実施形態のコンテンツ先読み制御装置200aの内部構成を、図17を用いて詳細に説明する。コンテンツ先読み制御装置200aは、操作判定部201、ザッピング操作履歴記憶部202、ザッピング操作予測部203、コンテンツマップ保持部204、視聴対象予測部205a、先読み実行部206、コンテンツ属性テーブル211から構成される。そして、視聴対象予測部205aは、先読み対象判定部212を含む。ここで、第1の実施形態が同じ符号を付したものは、第1の実施形態と同じ動作を行うため、説明を省略する。
コンテンツ属性テーブル211とは、コンテンツの属性及び、再生開始までにかかる時間の対応を示すテーブルである。図18は、コンテンツ属性テーブルの一例を示す。
「ストリーミング(宅内)」は、イントラネットを介し、宅内にあるメディアサーバからストリーミング配信される動画コンテンツのコンテンツ属性である。また、「ストリーミング(宅外)」は、インターネットを介し、宅外にあるメディアサーバからストリーミング配信される動画コンテンツのコンテンツ属性である。「ファイル」は、記録媒体アクセス部113を介して記録媒体に保存された動画コンテンツのコンテンツ属性である。「放送」は、放送局から送出される動画コンテンツのコンテンツ属性である。
ロード時間として、各コンテンツ属性には、再生開始までに要する時間が記載される。「ストリーミング(宅外)」の場合は、平均して3000ms、「ストリーミング(宅内)」の場合は、平均して2000ms、「ファイル」の場合は、即時再生可能、「放送」の場合は、約200msである。本第2の実施形態で示した、数値及び、コンテンツ属性は一例である。特に、「ストリーミング(宅外)」「ストリーミング(宅内)」に関し、再生開始までに要する時間は、ネットワーク環境にも依存する。
先読み対象判定部212は、ザッピング操作予測部203によって予測されたザッピング操作をもとに、次に切り替えられると予想されるチャンネルの周辺に位置する動画コンテンツのコンテンツ属性を取得する。そして、先読み対象判定部212は、コンテンツ属性テーブル211を参照し、コンテンツ属性から各コンテンツのバッファリングに必要な時間を特定する。それから、先読み対象判定部212は、バッファリングに必要な時間が短く、先読みの必要のないチャンネルを除外する。さらに、先読み対象判定部212は、先読みの必要のないチャンネルを除外した残りのチャンネルを全てバッファリングすると、記憶部130の容量を超えてしまう場合、バッファリングに必要な時間が長いチャンネルを優先的に選択する。
視聴対象予測部205aは、第1の実施形態の視聴対象予測部205に加えて、先読み対象判定部212の処理内容を加えたものである。
以上のように構成されたコンテンツ出力装置100aにおいて、動画コンテンツの先読みを開始する際の動作について、図19〜22を利用して説明する。
図19は、動画コンテンツの先読みを開始する際のコンテンツ先読み制御装置200aの動作の一例を示したフローチャートである。ここで、図7と同じ動作については同じ符号を付しており説明を省略する。
ステップS16において、視聴対象予測部205aがチャンネルを選択すると、先読み対象判定部212は、そのチャンネルのロード時間が閾値以上かどうか判定する(ステップS41)。この閾値は、0に近い値であり、ユーザの利用形態に合わせて設定され、先読み対象判定部212に予め格納されている。
そのロード時間が閾値より小さい場合(ステップS41でNo)、ステップS16の処理が再度実行される。また、そのロード時間が閾値以上である場合(ステップS41でYes)、先読み実行部206は、ステップS17以降の動作を実行する。
図20は、第2の実施形態において、ユーザのザッピング操作のずれによる影響を改善する、コンテンツ先読み制御装置200aに関する動作の一例を示したフローチャートである。図20では、図8と同じ動作については同じ符号を付して説明を省略する。以下、図8と異なる動作について詳細に説明する。
ステップS21において、視聴対象予測部205aは、n個のチャンネルを選択するとする。つぎに、先読み対象判定部212は、そのn個のチャンネルの動画コンテンツのコンテンツ属性に基づいて、コンテンツ属性テーブル211を参照し、ロード時間を取得する(ステップS51)。そして、先読み対象判定部212は、そのn個のチャンネルの動画コンテンツのうち、ロード時間が閾値以上のチャンネルを選択する。この閾値は、図19のステップS41の閾値と同じである。なお、以降の説明では、ステップS51において選択されたチャンネル数をkとする。
つぎに、視聴対象予測部205aは、Nr+kがロード可能数以上であるかどうか判定する(ステップS52)。このロード可能数とは、図8のステップS22のロード可能数と同じである。
Nr+kがロード可能数以上である場合(ステップS52でYes)、先読み対象判定部212は、ステップS53の処理を実行する。つぎに、先読み対象判定部212は、ステップS51で選択されたk個のチャンネルのうち、ロード時間の長い順に(ロード可能数−Nr)個のチャンネルを選択する(ステップS53)。そして、先読み実行部206は、ステップS53で選択されたチャンネルにおけるコンテンツの先読みを開始し(ステップS54)、Nrをロード可能数とする(ステップS55)。
Nr+kがロード可能数より小さい場合(ステップS52でNo)、先読み実行部206は、ステップS51で選択されたk個のチャンネルにおけるコンテンツの先読みを開始する(ステップS56)。そして、先読み実行部206は、Nrにkを加える(ステップS57)。先読み実行部206がステップS57の動作を実行すると、ステップS16の処理が実行される。
つぎに、図9、図21、図22の具体例を用いて、図19、図20のステップS16以降の動作内容を詳細に説明する。図21は、図19のステップS16以降の動作内容を説明するための具体例である。図21では、説明の便宜上、各チャンネルにC11〜C17の符号を付しており、図16の各チャンネルに対応している。また、図19のステップS15において、図9に示した予測結果が得られたものとし、現在視聴中のチャンネルがC11であるとする。さらに、図19のステップS19におけるロード可能数が3であるとする。そして、図19のステップS41で参照されるコンテンツ属性テーブル211は、図18に示したものであるとし、ステップS41の閾値は30msとする。
ステップS16において、視聴対象予測部205aは、図9の予測結果により、出現確率が最大のザッピング操作は「+4」であることが分かる。そこで、視聴対象予測部205aは、視聴対象となる可能性の最も高いチャンネルとして、C11から降り順に4つ目のチャンネルであるC15を選択する。
つぎに、ステップS41において、先読み対象判定部212は、ステップS16で選択されたC15のコンテンツ属性が「放送」であることから、図18のコンテンツ属性テーブル211を参照し、ロード時間(200ms)を取得する。そして、このロード時間は閾値30ms以上であるので、先読み対象判定部212は、ステップS41において「Yes」と判定する。
それから、ステップS17において、先読み実行部206は、C15について、コンテンツ先読みを開始する。そして、ステップS18において、先読み実行部206は先読み数Nrに1を加える。ここでは、ステップS13においてNrの値が0に設定されているので、Nr=1となる。このNrはロード可能数3を下回るので、先読み実行部206は、ステップS19において「No」と判定する。
つぎに、ステップS16に戻って、視聴対象予測部205aは、図9の予測結果により2番目に出現確率が高いザッピング操作は「−6」であることが分かる。そこで、視聴対象予測部205aは、既に選択されたC15の次に視聴対象となる可能性の高いチャンネルとして、C11から昇り順に6つ目のチャンネルであるC12を選択する。
つぎに、ステップS41において、先読み対象判定部212は、ステップS16で選択されたC12のコンテンツ属性が「放送」であることから、図18のコンテンツ属性テーブル211を参照し、ロード時間(200ms)を取得する。そして、このロード時間は閾値30ms以上であるので、先読み対象判定部212は、ステップS41において「Yes」と判定する。
それから、ステップS17において、先読み実行部206は、C12について、コンテンツ先読みを開始する。そして、ステップS18において、先読み実行部206は先読み数Nrに1を加え、Nr=2とする。このNrはロード可能数3を下回るので、先読み実行部206はステップS19において「No」と判定する。
つぎに、またステップS16に戻って、視聴対象予測部205aは、図9の予測結果により3番目に出現確率が高いザッピング操作は「+6」であることが分かる。そこで、視聴対象予測部205aは、既に選択されたC15、C12の次に視聴対象となる可能性の高いチャンネルとして、C11から降り順に6つ目のチャンネルであるC17を選択する。
つぎに、ステップS41において、先読み対象判定部212は、ステップS16で選択されたC17のコンテンツ属性が「ファイル」であることから、図18のコンテンツ属性テーブル211を参照し、ロード時間(0ms)を取得する。そして、このロード時間は閾値30msを下回るので、先読み対象判定部212は、ステップS41において「No」と判定する。
したがって、またステップS16に戻って、図9より出現確率が4番目に高いザッピング操作を選択する。このザッピング操作は「−5」と「−7」の両方が該当するが、C11から昇り順に7つ目のチャンネルは現在視聴中のチャンネルC11であるので、視聴対象予測部205aは、チャンネルC11を選択対象から除外する。よって、視聴対象予測部205aは、既に選択されたC15、C12、C17の次に視聴対象となる可能性の高いチャンネルとして、C11から昇り順に5つ目のチャンネルであるC13を選択する。
つぎに、ステップS41において、先読み対象判定部212は、ステップS16で選択されたC13のコンテンツ属性が「ストリーミング(宅外)」であることが分かる。そこで、先読み対象判定部212は、図18のコンテンツ属性テーブル211を参照し、ロード時間(3000ms)を取得する。そして、このロード時間は閾値30ms以上であるので、先読み対象判定部212は、ステップS41において「Yes」と判定する。
それから、ステップS17において、先読み実行部206は、ステップS16において選択されたC13について、コンテンツ先読みを開始する。そして、ステップS18において、先読み実行部206は、先読み数Nrに1を加え、Nr=3とする。このNrはロード可能数3と一致するので、先読み実行部206は、ステップS19において「Yes」と判定する。そして、コンテンツ先読み動作が終了する。
図22は、図20のステップS16以降の動作内容を説明するための具体例である。図22では、説明の便宜上、各チャンネルにC11〜C17の符号を付しており、図16の各チャンネルに対応している。図22では、図20のステップS15において図9に示した予測結果が得られたものとし、現在視聴中のチャンネルがチャンネルC11であるとする。また、図20のステップS21におけるmの値が1であるとし、図21のステップS52以降におけるロード可能数が3であるとする。そして、図21のステップS51で参照されるコンテンツ属性テーブル211は、図18に示したものであるとし、ステップS51の閾値は30msとする。
ステップS16において、視聴対象予測部205aは、図9の予測結果により、出現確率が最大のザッピング操作は「+4」であることが分かる。そこで、視聴対象予測部205aは、視聴対象となる可能性の最も高いチャンネルとして、C11から降り順に4つ目のチャンネルであるC15を選択する。
つぎに、ステップS21において、視聴対象予測部205aはC15の前後1チャンネルであるC14とC16とを選択する。ここで、チャンネルC14〜C16は現在視聴中のチャンネルではなく、未だ選択されていないので、視聴対象予測部205aはC14〜C16をすべて選択する。
つぎに、ステップS51において、先読み対象判定部212は、ステップS21で選択されたC14、C15、C16のコンテンツ属性がそれぞれ「ファイル」、「放送」、「ストリーミング(宅外)」であることが分かる。そこで、先読み対象判定部212は、図18のコンテンツ属性テーブル211を参照し、それぞれのロード時間(0ms、200ms、3000ms)を取得する。そして、先読み対象判定部212は、ロード時間が閾値30ms以上であるC15、C16を選択する。したがって、ステップS51におけるkの値は2となる。
それから、ステップS52において、視聴対象予測部205aは、Nr+kの値を算出する。ここでは、ステップS13においてNrの値が0に設定されているので、Nr+k=2となり、Nr+kはロード可能数3を下回る。したがって、視聴対象予測部205aは、ステップS52において「No」と判定する。
そして、ステップS56において、先読み実行部206は、ステップS51において選択されたC15、C16について、コンテンツの先読みを開始する。それから、ステップS57において、先読み実行部206は、Nrに2を加える。
つぎに、ステップS16に戻って、視聴対象予測部205aは、図9の予測結果より2番目に出現確率が高いザッピング操作は「−6」であることが分かる。そこで、視聴対象予測部205aは、既に選択されたC15の次に視聴対象となる可能性の高いチャンネルとして、C11から昇り順に6つ目のチャンネルであるC12を選択する。
それから、ステップS21において、視聴対象予測部205aは、選択されたC12とその前後のチャンネルC11、C13とのうち、現在視聴中のC11を除いたC12、C13を選択する。
つぎに、ステップS51において、先読み対象判定部212は、ステップS21で選択されたC12、C13のコンテンツ属性がそれぞれ「放送」、「ストリーミング(宅外)」であることが分かる。そこで、先読み対象判定部212は、図18のコンテンツ属性テーブル211を参照し、それぞれのロード時間(200ms、3000ms)を取得する。そして、先読み対象判定部212は、ロード時間が閾値30ms以上であるC12、C13を選択する。したがって、ステップS51におけるkの値は2となる。
そして、ステップS52において、Nr+k=4となり、ロード可能数より大きくなることから、視聴対象予測部205aは「Yes」と判定する。
そして、ステップS53において、先読み対象判定部212は、ロード時間が長い順に(ロード可能数−Nr)個、すなわち1個のチャンネルを選択する。ここでは、ロード時間がより長いのはC13であるので、先読み対象判定部212は、C13を選択する。
つぎに、ステップS54において、先読み実行部206は、ステップS53において選択されたC13について、コンテンツ先読みを開始する。そして、ステップS55において、先読み実行部206は、Nrをロード可能数3とする。そして、コンテンツ先読み動作が終了する。
本実施形態に係るコンテンツ先読み制御装置は、第1の実施形態に係るコンテンツ先読み制御装置の動作に加えて、放送波デコード、ストリーミング再生等、コンテンツ属性の異なる動画コンテンツにも適用可能である。このために、本コンテンツ先読み制御装置は、コンテンツ属性の異なる動画コンテンツのうち、ロード時間の長いコンテンツを優先して先読みすることができる。ゆえに、ユーザがザッピング操作により現在視聴しているチャンネルから離れたチャンネルに急に切り替えた場合でも、本コンテンツ先読み制御装置を備えたコンテンツ出力装置は、コンテンツ出力開始までの時間を効果的に短縮することができる。
なお、図20のステップS53において、ロード時間が同じコンテンツが複数存在し、(ロード可能数−Nr)個のチャンネルを選択できない場合、チャンネルの優先順序は、任意とする。例えば、ステップS16で選択されるチャンネルに近いチャンネルが、優先して選択されるのでもよい。また、ユーザの嗜好や人気度に合わせて、優先順序が定められてもよい。
また、マップ生成部114aは、アクセス可能なコンテンツが変わった場合、コンテンツマップ119aの変更箇所のみを生成してもよい。アクセス可能なコンテンツが変わる場合は、通信インタフェース部112から得られるネットワーク状況、記録媒体アクセス部113から得られるメモリカードの着脱、ユーザによるコンテンツ消去などにより生じる。その場合、取得部110aは、コンテンツマップ119aの変更箇所を、出力制御部150とコンテンツ先読み制御装置200aとへ送信する。そして、出力制御部150と、コンテンツ先読み制御装置200aのコンテンツマップ保持部204は、コンテンツマップ119aの変更箇所の情報をもとに新しいコンテンツマップ119aを生成する。
このようにコンテンツマップ119aを生成すると、図19のステップS17、図20のステップS54等のように先読み実行部206がコンテンツを先読みするまでに、上述したコンテンツマップ119aの更新が間に合わないことがある。この場合、コンテンツマップ119aにはコンテンツが存在するものの、実際にはコンテンツが存在しない。そこで、このような場合においては、先読み実行部206は、先読みを行わずに、次のチャンネルのコンテンツを先読みすればよい。
次に、本第2の実施形態における変形例について、図23を利用して詳細に説明する。図23は、本第2の実施形態の変形例におけるコンテンツ先読み制御装置200bの内部構成図である。コンテンツ先読み制御装置200bは、操作判定部201、ザッピング操作履歴記憶部202、ザッピング操作予測部203、コンテンツマップ保持部204、視聴対象予測部205a、先読み実行部206、コンテンツ属性テーブル211、外部要因取得部213から構成される。そして、視聴対象予測部205aは、先読み対象判定部212を含む。ここで、第2の実施形態が同じ符号を付したものは、第2の実施形態と同じ動作を行うため、説明を省略する。
外的要因取得部213は、ネットワークによるデータの受信状態を定期的に測定する。そして、受信状態が変化すると、バッファリングに要する時間を変更し、コンテンツ属性テーブル211を更新する。コンテンツのロード時間は、コンテンツ再生のビットレートやコンテンツのファイルサイズ及びネットワーク環境に依存する。したがって、外部要因取得部213は、各コンテンツのファイルサイズ、ビットレート等とネットワーク環境に基づき、必要なロード時間を更新する。
本第2の実施形態の変形例は、外的要因取得部213によってネットワークの変化に合わせてバッファリングに要する時間を変更するので、より精度の高いコンテンツの先読みを実現することができる。
(第3の実施形態)
図24は、本発明の第3の実施形態におけるコンテンツ先読み制御装置200cを備えたコンテンツ出力装置100cの全体構成図である。このコンテンツ出力装置100cは、コンテンツ出力装置100aの機能に加えて、2次元のコンテンツマップを備えるテレビまたは、宅外に持ち出すモバイル端末である。さらに、コンテンツ出力装置100cでは、ユーザが上下左右の2次元のキー操作等によってザッピングを行うことが可能である。
コンテンツ出力装置100cは、取得部110c、入力部120、記憶部130、出力部140、出力制御部150c、コンテンツ先読み制御装置200cから構成される。ここで、第1の実施形態と同じ符号を付したものは、第1の実施形態と同じ動作を行うため、説明を省略する。
図25は、取得部110cの内部構成を表す図面である。取得部110cは、放送受信部111、通信インタフェース部112c、記録媒体アクセス部113c、マップ生成部114cから構成される。ここで、放送受信部111は、第2の実施形態と同じ動作を行うため、説明を省略する。
通信インタフェース部112c、記録媒体アクセス部113cは、第2の実施形態の通信インタフェース部112、記録媒体アクセス部113と比べて、メディアサーバから取得する再生リストの情報が異なる。第2の実施形態では、動画コンテンツ毎に一意に特定する情報が再生リストに記載されている。ところが、第3の実施形態では、コンテンツの集合を1つのグループとし、そのグループを一意に特定する情報と、そのグループの中での各動画コンテンツを一意に特定する情報とが再生リストに記載されている。ここで、コンテンツの集合とは、例えば、同じ種類(動画、静止画、テキスト、Webページ、メールなど)、同じジャンル(映画、音楽、バラエティなど)、プレイリストなどを指す。すなわち、第3の実施形態では、コンテンツを一意に特定する情報が2階層になっていることが特徴となっている。
マップ生成部114cは、上述した電子番組表、再生リストからコンテンツマップ119c(図示せず)を生成する。このコンテンツマップ119cは、上述したコンテンツのグループを1つのチャンネルとみなし、チャンネル毎にそれぞれに属するコンテンツが管理される。図26は、各行が上述したチャンネルを示し、各列がそれぞれのチャンネルに属するコンテンツを示した、本第3の実施形態におけるコンテンツマップの概念図である。
図26で表示されているC11〜C17は、図16のチャンネルC11〜C17に対応している。そして、C11〜C17のうち、放送チャンネルであるC12、C15を除いた5チャンネルが上述したコンテンツのグループであるとし、各チャンネルのコンテンツが配列で表示されている。例えば、C11[1]とは、チャンネルC11の1つ目のコンテンツであることを示している。なお、放送チャンネルであるチャンネルC12、C15については、放送局から配信される1つのコンテンツC12[1]、C15[1]のみを含むように、コンテンツマップが生成される。
さらに、図26では、コンテンツマップの中央部のハッチングされた箇所はユーザがチャンネル切り替えをした際に出力されるコンテンツを示している。例えば、現在ユーザがチャンネルC14を視聴中に、降り順に2つチャンネル切り替えを行った場合は、コンテンツ出力装置100cはコンテンツC16[1]を表示する。ユーザがチャンネル切り替えをした際に出力されるコンテンツは図26の例に示したように、各チャンネルの1番目のコンテンツとは限らず、ユーザの視聴方法、視聴履歴に応じて変化するが、それについては後述する。
この例では、ユーザは、ザッピング視聴をする際に、図26に示した昇り順、降り順のチャンネル切り替え操作以外に、左右のコンテンツ切り替え操作を行う。そして、1回のチャンネル切り替え操作により、チャンネルが昇り順あるいは降り順の矢印の方向にチャンネルが1つずつ切り替わるものとする。あるいは、1回のコンテンツ切り替え操作により、コンテンツが左右のいずれかの矢印の方向にコンテンツが1つずつ切り替わるものとする。
また、チャンネル切り替え操作、コンテンツ切り替え操作において、図26の一方の端に到達して、さらに同じ切り替え操作を繰り返す場合は、他方の端のチャンネルもしくはコンテンツが呼び出される。例えば、チャンネルC17に到達した後、さらに降り順にチャンネル切り替え操作がされる場合、チャンネルC11から再度降り順にチャンネル切り替え操作がされる。また、チャンネルC14において、コンテンツC14[3]に切り替え操作がされた後、さらに右にコンテンツ切り替え操作がされた場合は、コンテンツC14[4]に切り替わる。
さらに、マップ生成部114cは、後述する出力制御部150cによりコンテンツ切り替え操作が行われた場合、ユーザがチャンネル切り替えをした際に出力されるコンテンツを更新したマップを新たに生成する。例えば、図26のコンテンツマップにおいて、ユーザがチャンネルC13のコンテンツC13[1]を視聴中に右方向に2回コンテンツ切り替え操作を行うとする。この場合、マップ生成部114cは、チャンネルC13のコンテンツ全体(すなわち、図26の上から3行目のコンテンツ全体)を左方向に2つシフトしたコンテンツマップを生成することになる。
さらに、マップ生成部114cは、ユーザが特定のコンテンツの最後まで視聴をした場合、ユーザがチャンネル切り替えをした際に出力されるコンテンツを更新したマップを新たに生成する。例えば、図26のコンテンツマップにおいて、ユーザが、チャンネルC13のコンテンツC13[1]を最後まで視聴したとする。この場合、マップ生成部114cは、チャンネルC13のコンテンツ全体(すなわち、図26の上から3行目のコンテンツ全体)を左方向に1つシフトしたコンテンツマップを生成する。この場合、ユーザがチャンネルC13において次に視聴するコンテンツは、C13[2]となる。
取得部110cは、以上のように生成されたコンテンツマップ119cを、出力制御部150cとコンテンツ先読み制御装置200cとへ送信する。
出力制御部150cは、第1の実施形態の出力制御部150と比べ、操作情報121がコンテンツ切り替えの操作情報である場合、取得部110cに対し、ユーザが視聴を所望するコンテンツを記憶部130にバッファリングさせる点が異なる。
つぎに、本第3の実施形態のコンテンツ先読み制御装置200cの内部構成を、図27を用いて詳細に説明する。コンテンツ先読み制御装置200cは、操作判定部201c、ザッピング操作履歴記憶部202c、ザッピング操作予測部203c、コンテンツマップ保持部204、視聴対象予測部205c、先読み実行部206、コンテンツ属性テーブル211から構成される。そして、視聴対象予測部205cは、先読み対象判定部212を含む。ここで、第2の実施形態が同じ符号を付したものは、第2の実施形態と同じ動作を行うため、説明を省略する。
操作判定部201cは、第1の実施形態の操作判定部201と比べて、ユーザのコンテンツ切り替え操作によってもザッピング操作を判定するところが異なる。ザッピング操作の判定方法については後述する。
ザッピング操作履歴記憶部202cは、第1の実施形態のザッピング操作履歴記憶部202と比べて、ユーザのコンテンツ切り替え操作も含むザッピング操作について記憶することが異なる。
ザッピング操作予測部203cは、第1の実施形態のザッピング操作予測部203と比べて、予測されるザッピング操作がユーザのチャンネル切り替え操作とコンテンツ切り替え操作の両方を含むことが異なる。
視聴対象予測部205cは、第2の実施形態の視聴対象予測部205aと比べて、予測されるザッピング操作の内容が異なることにより、視聴対象の予測結果が異なる。この予測結果の詳細は後述する。
図28は、ユーザのチャンネル切り替え操作が連続的に入力部120において検出される場合に、コンテンツ出力装置100cがザッピング操作の履歴を取得するまでの動作の一例を示すフローチャートである。ここで、ユーザのチャンネル切り替え操作が連続的に入力部120において検出される場合とは、図5の定義と同じである。図28では、図5と同じ処理については同じ符号を付しており、説明を省略する。
この処理では、まず、操作判定部201cは、チャンネル切り替え操作、もしくはコンテンツ切り替え操作があったかどうかを判定する(ステップS60)。操作判定部201cは、チャンネル切り替え操作もしくはコンテンツ切り替え操作がなければ(ステップS60でNo)、チャンネル切り替え操作、もしくはコンテンツ切り替え操作があるまで待つ。
ユーザによるチャンネル切り替え操作もしくはコンテンツ切り替え操作があったと判定すると(ステップS60でYes)、操作判定部201cは、ステップS61の処理を実行する。ステップS61では、操作判定部201cは、チャンネル切り替え操作、あるいはコンテンツ切り替え操作を開始から一定時間内に入力された昇り順、降り順両方の変更チャンネル数と左右両方のコンテンツ切り替え数とを取得する。そして、操作判定部201cは、昇り順の変更チャンネル数、降り順の変更チャンネル数、左方向のコンテンツ切り替え数、右方向のコンテンツ切り替え数の総和を算出する(ステップS62)。
次に、操作判定部201cは、ステップS62で得られた総和が予め定めた閾値より大きいかどうか判定する(ステップS63)。もし、総和が閾値より大きい場合(ステップS63でYes)、操作判定部201cはザッピング中と判定する(ステップS06)。そして、ザッピング操作履歴記憶部202cは、ユーザのザッピング操作と判定された操作情報を記憶する(ステップS64)。この場合、ザッピング操作履歴記憶部202cは、ザッピング開始直前のコンテンツからザッピング終了時点のコンテンツまでのザッピング操作の履歴を記憶する。記憶する履歴としては、例えば、チャンネル切り替えの変更方向(昇り順、降り順)、コンテンツ切り替えの変更方向(左、右)、チャンネル切り替え数、及びコンテンツ切り替え数などがある。
逆に、総和が閾値以下である場合(ステップS63でNo)、操作判定部201cはザッピング中でないと判定する(ステップS08)。操作判定部201cは、ステップS64、S08の処理が終了すれば、ステップS60の状態に戻る。
なお、コンテンツ出力装置100cの入力部120がザッピング指示の入力が可能な場合、操作判定部201cのザッピング操作判定処理は、図6において、ステップS01を図28のステップS60と置き換えるとよい。
図29は、ザッピング操作予測部203cの予測結果の一例を示す図である。図29中の表の左端列の数字は、1回のザッピング操作での昇り順あるいは降り順のチャンネル切り替え数を示す。左端列の正負の符号は、降り順へチャンネルの移動を「+」、昇り順へのチャンネルの移動を「−」で表したものである。上端行は、1回のザッピング操作での左方向あるいは右方向のコンテンツ切り替え数を示す。上端行の正負の符号は、右方向へのコンテンツ切り替えを「+」、左方向へのコンテンツ切り替えを「−」で表したものである。表内の確率で表された数字は、その列に対応するチャンネル切り替え数とその行に対応するコンテンツ切り替え数とを行うザッピング操作の出現確率を表す。この出現確率とは、ステップS15で次のザッピング操作を予測するために利用したザッピング履歴全体の中で当該ザッピング操作がなされた割合を示す。ザッピング操作予測部203cは、過去の操作履歴において出現確率が高い操作はユーザが次に行う可能性が高いという仮定の下、次のザッピング操作を予測する。最左列の最大値、最小値の±Nmaxは、ザッピング操作予測部203cにおいて予め定めた移動チャンネル数の最大値、最小値である。最上行の最大値、最小値の±Mmaxは、ザッピング操作予測部203cにおいて予め定めたチャンネル切り替え数の最大値、最小値である。以降、図29で移動チャンネル数が−Nmax以上−3以下の間と+3以上+Nmax以下の間、もしくはコンテンツ切り替え数が−Mmax以上−3以下の間と+3以上+Mmax以下の間の出現確率はすべて0%であるとする。
図30は、動画コンテンツの先読みを開始する際のコンテンツ先読み制御装置200cの動作の一例を示したフローチャートである。ここで、図19と同じ動作については同じ符号を付しており説明を省略する。
まず、操作判定部201cは、チャンネル、コンテンツ切り替えや電源投入によってコンテンツ出力後、所定時間内にチャンネル切り替え操作、もしくはコンテンツ切り替え操作がなかったかどうかを判定する(ステップS71)。この所定時間は、図7のステップS11と同様、コンテンツ出力装置100c毎に最適値を事前に設定し、コンテンツ先読み制御装置200cに格納しておく。所定時間内に切り替え操作があれば(ステップS71でNo)、操作判定部201cは、所定時間内に切り替え操作がなくなるまで待つ。ステップS71以降、ステップS15までの処理は図7と同じであるので、説明を省略する。
ステップS15において、ザッピング操作予測部203cは、次のザッピング操作を予測する。その後、視聴対象予測部205cは、現在視聴中のコンテンツを除き、過去に選択されたコンテンツの次に視聴対象となる可能性の最も高いコンテンツを選択する(ステップS72)。なお、視聴対象予測部205cは、ステップS72が最初に実行されるときは、視聴対象となる可能性の最も高いコンテンツを選択する。
つぎに、先読み対象判定部212は、そのコンテンツのロード時間が閾値以上かどうか判定する(ステップS73)。この閾値は、図19のステップS41の閾値と同様である。
そのロード時間が閾値より小さい場合(ステップS73でNo)、ステップS72の処理が実行される。また、そのロード時間が閾値以上である場合(ステップS73でYes)、先読み実行部206は、選択されたコンテンツにおけるコンテンツの先読みを開始する(ステップS74)。ステップS74以降の動作は、図19と同じである。
図31は、第3の実施形態において、ユーザのザッピング操作のずれによる影響を改善する、コンテンツ先読み制御装置200cに関する動作の一例を示したフローチャートである。図31では、図20、図30と同じ動作については同じ符号を付して説明を省略する。以下、図20、図30と異なる動作について詳細に説明する。
ステップS72において、視聴対象予測部205cがコンテンツを選択すると、視聴対象予測部205cは、そのコンテンツ付近に設定された予測領域内のコンテンツのうち、未だ選択していないコンテンツを選択する(ステップS81)。この予測領域の詳細については後述する。なお、以降の説明では、ステップS81で選択されたコンテンツ数をnとする。
その後、先読み対象判定部212は、そのn個のコンテンツのコンテンツ属性に基づいて、コンテンツ属性テーブル211を参照し、ロード時間を取得する。そして、そのn個のコンテンツのうち、ロード時間が閾値以上のコンテンツを選択する(ステップS82)。この閾値は、図20のステップS51の閾値と同じである。なお、以降の説明では、ステップS82で選択されたコンテンツ数をkとする。
視聴対象予測部205cは、Nr+kがロード可能数以上と判定した場合(ステップS52でYes)、先読み対象判定部212は、ステップS83の処理を実行する。つぎに、先読み対象判定部212は、ステップS82で選択されたk個のコンテンツのうち、ロード時間の長い順に(ロード可能数−Nr)個のコンテンツを選択する(ステップS83)。そして、先読み実行部206は、ステップS83で選択されたコンテンツにおけるコンテンツの先読みを開始する(ステップS84)。以降の処理は、図20と同じである。
つぎに、視聴対象予測部205cが、Nr+kはロード可能数より小さいと判定した場合(ステップS52でNo)、先読み実行部206は、ステップS85の処理を実行する。つぎに、先読み実行部206は、ステップS82で選択されたk個のコンテンツにおけるコンテンツの先読みを開始する(ステップS85)。以降の処理は、図20と同じである。
つぎに、図32の具体例を用いて、図30のステップS72以降の動作内容を説明する。図32では、コンテンツマップを7マス×7マスの2次元平面で表したものを利用して説明する。また、図30のステップS15において、図29に示した予測結果が得られたものとし、現在視聴中のチャンネルがチャンネルC14(表示されているコンテンツはC14[1])であるとする。さらに、図30のステップS19におけるロード可能数が3であるとする。そして、図30のステップS73で参照されるコンテンツ属性テーブル211は、図18に示したものであるとし、ステップS73の閾値は30msとする。さらに、チャンネルC11、C13、C16の全コンテンツのコンテンツ属性は、「ストリーミング(宅外)」であるとする。また、チャンネルC12、C15の全コンテンツのコンテンツ属性は、「放送」であるとする。また、チャンネルC14、C17の全コンテンツのコンテンツ属性は、「ファイル」であるとする。
ステップS72において、視聴対象予測部205cは、図29の予測結果により、出現確率が最大のザッピング操作は、チャンネル切り替え数「−2」、コンテンツ切り替え数「+2」であることが分かる。そこで、視聴対象予測部205cは、視聴対象となる可能性の最も高いコンテンツとして、図32に太枠で示されたC12[1]を選択する。
つぎに、ステップS73において、先読み対象判定部212は、ステップS72で選択されたC12[1]のコンテンツ属性が「放送」であることから、図18のコンテンツ属性テーブル211を参照し、ロード時間(200ms)を取得する。そして、このロード時間は閾値30ms以上であるので、先読み対象判定部212はステップS73において「Yes」と判定する。
それから、ステップS74において、先読み実行部206は、C12[1]について、コンテンツ先読みを開始する。そして、ステップS18において、先読み実行部206は、先読み数Nrに1を加える。ここでは、ステップS13においてNrの値が0に設定されているので、Nr=1となる。このNrはロード可能数3を下回るので、先読み実行部206は、ステップS19において「No」と判定する。
つぎに、ステップS72に戻って、視聴対象予測部205cは、図29の予測結果により出現確率が2番目に高いザッピング操作はチャンネル切り替え数「+2」、コンテンツ切り替え数「−2」であることが分かる。そこで、視聴対象予測部205cは、未だ選択されてないチャンネルの中で次視聴対象となる可能性の高いチャンネルとして、図32に太枠で示されたC16[4]を選択する。
つぎに、ステップS73において、先読み対象判定部212は、ステップS72で選択されたC16[4]のコンテンツ属性が「ストリーミング(宅外)」であることが分かる。そこで、先読み対象判定部212は、図18のコンテンツ属性テーブル211を参照し、ロード時間(3000ms)を取得する。そして、このロード時間は閾値30ms以上であるので、先読み対象判定部212は、ステップS73において「Yes」と判定する。
それから、ステップS74において、先読み実行部206は、C16[4]について、コンテンツ先読みを開始する。そして、ステップS18において、先読み実行部206は、先読み数Nrに1を加え、Nr=2とする。このNrはロード可能数3を下回るので、先読み実行部206はステップS19において「No」と判定する。
つぎに、またステップS72に戻って、視聴対象予測部205cは、図29より出現確率が3番目に高いザッピング操作はチャンネル切り替え数「+3」、コンテンツ切り替え数「+3」であることが分かる。そこで、視聴対象予測部205cは、未だ選択されてないチャンネルの中で次視聴対象となる可能性の高いチャンネルとして、図32に太枠で示されたC17[1]を選択する。
つぎに、ステップS73において、先読み対象判定部212は、ステップS72で選択されたC17[1]のコンテンツ属性が「ファイル」であることから、図18のコンテンツ属性テーブル211を参照し、ロード時間(0ms)を取得する。そして、このロード時間は閾値30msを下回るので、先読み対象判定部212は、ステップS73において「No」と判定する。
したがって、またステップS72に戻って、視聴対象予測部205cは、図29より出現確率が4番目に高いザッピング操作はチャンネル切り替え数「−3」、コンテンツ切り替え数「−1」であることが分かる。そこで、視聴対象予測部205cは、未だ選択されてないチャンネルの中で次視聴対象となる可能性の高いチャンネルとして、図32に太枠で示されたC11[7]を選択する。
つぎに、ステップS73において、先読み対象判定部212は、ステップS72で選択されたC11[7]のコンテンツ属性が「ストリーミング(宅外)」であることが分かる。そこで、先読み対象判定部212は、図18のコンテンツ属性テーブル211を参照し、ロード時間(3000ms)を取得する。そして、このロード時間は閾値30ms以上であるので、先読み対象判定部212は、ステップS73において「Yes」と判定する。
それから、ステップS74において、先読み実行部206は、ステップS72において選択されたC11[7]について、コンテンツ先読みを開始する。そして、ステップS18において、先読み実行部206は、先読み数Nrに1を加え、Nr=3とする。このNrはロード可能数3と一致するので、先読み実行部206は、ステップS19において「Yes」と判定し、動作を終了する。
つぎに、図33〜36の具体例を用いて、図31のステップS72以降の動作内容を詳細に説明する。これらの具体例では、図26に示したコンテンツマップを7マス×7マスの2次元平面で表したものを利用して説明する。また、これらの具体例では、図31のステップS15において、図29に示した予測結果が得られたものとし、現在視聴中のチャンネルがチャンネルC14(表示されているコンテンツはC14[1])であるとする。また、図31のステップS52以降におけるロード可能数が5であるとする。そして、図31のステップS82、ステップS83で参照されるコンテンツ属性テーブル211は図18に示したものであるとし、ステップS82の閾値は30msとする。さらに、チャンネルC11、C13、C16の全コンテンツのコンテンツ属性は、ストリーミング(宅外)であるとする。また、チャンネルC12、C15の全コンテンツのコンテンツ属性は、放送であるとする。また、チャンネルC14、C17の全コンテンツのコンテンツ属性は、ファイルであるとする。
図29の予測結果により、視聴対象予測部205cは、出現確率が最大のザッピング操作は、チャンネル切り替え数「−2」、コンテンツ切り替え数「+2」であることが分かる。そこで、ステップS72において、視聴対象予測部205cは、次視聴対象となる可能性の最も高いコンテンツとして、図33〜35に太枠で示されたC12[1]を選択する。
つぎに、ステップS81において、視聴対象予測部205cは、ステップS72で選択されたC12[1]付近の予測領域を定める。図33〜35は、その予測領域を表した一例である。
図33では、ステップS72で選択されたコンテンツとチャンネル切り替え数、コンテンツ切り替え数の差が閾値以下(図中ではこの閾値が1である一例を表示)であるコンテンツが予測領域とされている。この閾値は、コンテンツ出力装置100cに応じて最適な値を予め定めればよい。
図34では、ステップS72で選択されたコンテンツを含む以下に述べる領域が予測領域とされている。以降の説明では、コンテンツマップ上で視聴中のコンテンツからコンテンツ切り替え数がs(−Mmax≦s≦+Mmax)、チャンネル切り替え数がt(−Nmax≦t≦+Nmax)だけ切り替えたコンテンツを(s,t)と表す。なお、sおよびtは整数であり、正負の符号は図29の説明に基づくものとする。ステップS72で選択されたコンテンツは(i,j)であるとすると、下記の集合Aと集合Bの和集合を予測領域としている。
A={(i,m):mは0からjまでの全ての整数}
B={(n,j):nは0からiまでの全ての整数}
ここで、図34において、現在視聴中のコンテンツは、C14[1]である。また、この場合は、i=+2、j=−2である。したがって、集合Aに該当するコンテンツは、(+2,−2)であるC12[1](図中に太枠で表示)、(+2,−1)であるC13[3](図中にハッチングされ表示)、及び、(+2,0)であるC14[3](図中にハッチングされ表示)となる。また、集合Bに該当するコンテンツは、(0,−2)、(+1,−2)、及び、(+2,−2)である3つのC12[1](図中にハッチングされ表示)となる。よって、図34における予測領域は、ハッチングされた5つのコンテンツから構成される。
図35では、図34の方法で定められる予測領域(図中の横縞の領域)の内側及び外側に、一定の幅(図中ではその幅の大きさが1である一例を表示)を設けた領域が予測領域とされている。この幅の大きさは、コンテンツ出力装置100cに応じて最適な値を予め定めればよい。また、予測領域は、図34の方法で定められる予測領域の内側もしくは外側の片方のみを図34の方法で定められる予測領域に加えた領域とされてもよい。
なお、図33〜図35に示した予測領域はあくまでも一例であり、ステップS72で選択されたコンテンツ付近を予測領域とするものであれば、いかなる領域でも構わない。以降では、ステップS81で定められる予測領域が、図34のものであったとして処理内容を説明する。
図34の予測領域内のコンテンツは全て現在視聴中のコンテンツではなく、未だ選択されていないので、視聴対象予測部205cは、C12[1]、C13[3] 、C14[3]全てをステップS81において選択する。
つぎに、ステップS82において、先読み対象判定部212は、ステップS81で選択されたC12[1]、C13[3] 、C14[3]のコンテンツ属性がそれぞれ「放送」、「ストリーミング(宅外)」、「ファイル」であることが分かる。そこで、先読み対象判定部212は、図18のコンテンツ属性テーブル211を参照し、それぞれのロード時間(200ms、3000ms、0ms)を取得する。そして、先読み対象判定部212は、ロード時間が閾値30ms以上であるC12[1]、C13[3]を選択する。したがって、ステップS82におけるkの値は2となる。
それから、ステップS52において、視聴対象予測部205cは、Nr+kの値を算出する。ここでは、ステップS13においてNrの値が0に設定されているので、Nr+k=2となり、Nr+kはロード可能数5を下回る。したがって、視聴対象予測部205cは、ステップS52において「No」と判定する。
そして、ステップS85において、先読み実行部206は、ステップS82において選択されたC12[1]、C13[3]について、コンテンツの先読みを開始する。それから、ステップS57において、先読み実行部206は、Nrに2を加える。
つぎに、ステップS72に戻って、視聴対象予測部205cは、図29より出現確率が2番目に高いザッピング操作は、チャンネル切り替え数「+2」、コンテンツ切り替え数「−2」であることが分かる。そこで、視聴対象予測部205cは、既に選択されたC12[1]の次に視聴対象となる可能性の高いコンテンツとして、図36に太枠で示されたC16[4]を選択する。
それから、ステップS81において、視聴対象予測部205cは、図36に示した予測領域内のコンテンツのうち、未だ選択されていないC14[4]、C15[1]、C16[4]、C16[5]、C16[1]を選択する。
つぎに、ステップS82において、先読み対象判定部212は、ステップS81で選択されたC14[4]、C15[1]、C16[4]、C16[5]、C16[1]のコンテンツ属性がそれぞれ「ファイル」、「放送」、「ストリーミング(宅外)」、「ストリーミング(宅外)」、「ストリーミング(宅外)」であることが分かる。そこで、先読み対象判定部212は、図18のコンテンツ属性テーブル211を参照し、それぞれのロード時間(0ms、200ms、3000ms、3000ms、3000ms)を取得する。そして、先読み対象判定部212は、ロード時間が閾値30ms以上であるC15[1]、C16[4]、C16[5]、C16[1]を選択する。したがって、ステップS82におけるkの値は4となる。
そして、ステップS52において、Nr+k=6となり、ロード可能数より大きくなることから、視聴対象予測部205cは、「Yes」と判定する。
そして、ステップS83において、先読み対象判定部212はロード時間が長い順に(ロード可能数−Nr)個、すなわち3個のチャンネルを選択する。ここでは、ロード時間がより長いのはC16[4]、C16[5]、C16[1]であるので、視聴対象予測部205cは、C16[4]、C16[5]、C16[1]を選択する。
つぎに、ステップS84において、先読み実行部206は、ステップS83において選択されたC16[4]、C16[5]、C16[1]について、コンテンツ先読みを開始する。そして、ステップS55において、先読み実行部206は、Nrをロード可能数5とする。そして、コンテンツ先読み動作が終了する。
第3の実施形態に係るコンテンツ先読み制御装置は、第2の実施形態に係るコンテンツ先読み制御装置の動作に加えて、ユーザが上下左右の2次元のキー操作等によってザッピングを行うときも適用可能である。このために、ユーザは、ザッピング操作によって現在視聴しているコンテンツから、上下左右のキー入力等の多くの操作を行わないとアクセスできないコンテンツに急に切り替える場合がある。このような場合においても、本コンテンツ先読み制御装置は、ユーザが次に視聴する可能性の高いコンテンツを予測することができる。ゆえに、本コンテンツ先読み制御装置を備えたコンテンツ出力装置は、コンテンツ出力開始までの時間を短縮することができる。
さらに、本実施形態は、図33〜35に示した予測領域を利用してユーザのザッピング操作を予測することにより、ユーザのザッピング操作が予測結果から多少のずれがあっても、コンテンツの先読みの効果を発揮することができる。
なお、図31のステップS83においてロード時間が同じコンテンツが複数存在し、(ロード可能数−Nr)個のコンテンツを選択できない場合、コンテンツの優先順序は、任意とする。例えば、ステップS72で選択されるコンテンツに近いコンテンツが、優先して選択されるのでもよい。また、ユーザの嗜好や人気度に合わせて、優先順序が定められてもよい。
また、マップ生成部114cは、ユーザによるコンテンツ切り替え操作やコンテンツ視聴状況に合わせて、コンテンツマップ119cを新しく生成しなくてもよい。さらに、コンテンツ切り替え操作やコンテンツ視聴状況によってコンテンツマップ119cを新しく生成するのに代えて、マップ生成部114cは、コンテンツマップ119cの変更箇所のみを生成してもよい。その場合、取得部110cは、コンテンツマップ119cの変更箇所を、出力制御部150cとコンテンツ先読み制御装置200cへ送信する。そして、出力制御部150cと、コンテンツ先読み制御装置200cのコンテンツマップ保持部204は、コンテンツマップ119cの変更箇所の情報をもとに新しいコンテンツマップ119cを生成する。
このようにコンテンツマップ119cを生成すると、図19のステップS17、図20のステップS54等のように先読み実行部206がコンテンツを先読みするまでに、上述したコンテンツマップ119cの更新が間に合わないことがある。この場合、コンテンツマップ119cにはコンテンツが存在するものの、実際にはコンテンツが存在しない。そこで、このような場合においては、先読み実行部206は、先読みを行わずに、次のコンテンツを先読みすればよい。
なお、ザッピング操作予測部203cの動作は、本第1の実施形態と同様、現在時刻が属する時間帯(午前中、昼前後、昼間、夕方、夜)や曜日等が同じザッピング履歴を取得し、その履歴から図29のような予測結果を求めてもよい。また、ザッピング操作予測部203cは、現在視聴中のユーザの履歴のみを参照して図29のような予測結果を求めてもよい。さらに、ザッピング操作予測部203cが求める予測結果は、図29のような確率以外に、平均値や中央値などの統計量を算出して、それを予測結果としてもよい。あるいは、ザッピング操作予測部203cは、過去から現在までのザッピング操作の変化の傾向をもとに、次に行われる可能性が最も高いザッピング操作を予測してもよい。
なお、第1〜第3の実施形態において、図7、図8、図19、図20、図30、図31は、コンテンツ先読み制御装置200、200a、200cの動作の一例である。これらの動作には、以下の2つの特徴がある。(1)ステップS11、S71の動作は、コンテンツ出力後所定時間内に切り替え動作がないこと、すなわちユーザがコンテンツの視聴を開始しているか否かを判定する。つぎに、ステップS11、S71の以降の動作は、ユーザが視聴を開始していれば、コンテンツの先読みを実施することによって、コンテンツの先読みを必要最小限で実施している。(2)ステップS18、S19、S22〜S25、S27、S52〜S55、S57、S83、S84の動作は、ロード可能数まで出来るだけ多くのコンテンツを先読みすることで、先読みの効果を最大限発揮できるようにしている。
しかし、(1)に代えて、コンテンツの先読みタイミングを定期的に実施する場合、操作判定部201、201cはステップS11、S71の動作を行わなくてよい。また、図7、図19、図30において、(2)に代えて1回のコンテンツ先読み動作で1つのコンテンツのみを先読みする場合、先読み実行部206は、ステップS18、S19の動作を行わなくてよい。さらに、図8において、(2)に代えて1回のコンテンツ先読み動作でステップS21において選択されたn個のチャンネルのみをコンテンツ先読み制御装置200が先読みする場合は、以下の処理が省略されてもよい。この場合、視聴対象予測部205はステップS22の動作を行わなくてよく、先読み実行部206はS23〜S25、S27の動作を省略し、ステップS26の動作後、先読み動作を終了するとよい。同様に、図20において、(2)に代えて、1回のコンテンツ先読み動作で、ステップS51において選択されたk個のチャンネルのみを、コンテンツ先読み制御装置200aが先読みする場合は、以下の処理が省略されてもよい。この場合、視聴対象予測部205aはステップS52の動作を行わなくてよく、先読み実行部206はS53〜S55、S57の動作を省略し、ステップS26の動作後、先読み動作を終了するとよい。さらに、図31において、(2)に代えて、1回のコンテンツ先読み動作で、ステップS82において選択されたk個のチャンネルのみを、コンテンツ先読み制御装置200cが先読みする場合は、以下の処理が省略されてもよい。この場合、視聴対象予測部205cはステップS52の動作を行わなくてよく、先読み実行部206はS83からS55までの動作、S57の動作を省略し、ステップS85の動作後、先読み動作を終了するとよい。
また、例えば、図7において、コンテンツ先読み制御装置200が、1回で1つのコンテンツのみを先読みする動作を定期的に行う場合、図37に示すように、ステップS15〜S17までの3つのステップが実行されればよい。
なお、本実施の形態1〜3において、マップ生成部は、コンテンツマップを、電子番組表や、再生リストから生成したが、マップ生成部は、ユーザのザッピング操作履歴に基づき、コンテンツマップを変更してもよい。例えば、ユーザのザッピング履歴から、ユーザが次に到達すると予測されるコンテンツマップ上のコンテンツが、ストリーミング動画コンテンツと予想される場合において、マップ生成部は、コンテンツマップ上の前記ストリーミング動画コンテンツと、ネットワークリソースを利用しないコンテンツとを入れ替えてもよい。また、マップ生成部は、ユーザのザッピング操作履歴に基づき、コンテンツマップ上のユーザが次に到達する確率の高いコンテンツから順に、ロード時間の短い、ファイル再生と置き換えてもよい。さらに、マップ生成部は、前記コンテンツの周辺にあるコンテンツを、ロード時間の短い、ファイル再生と置き換えてもよい。