(57)【要約】【課題】ネット動画を視聴しているユーザがザッピングを行ったときに、別の動画の視聴開始までの待ち時間を短縮する。【解決手段】ユーザ端末１のダウンロード時間予測部２３は、ユーザによるザッピングがあると、ザッピング後の別の動画について、予め計測されたダウンロード時間に基づき、動画切替後セグメントのダウンロード時間を予測する。上書セグメント番号決定部２５は、動画切替後セグメントについて、ダウンロード予測時間に基づき、バッファメモリ部２９に格納されている複数の動画切替前セグメントにおける上書箇所（上書セグメント番号）を決定する。書込制御部２７は、動画切替後セグメントを、バッファメモリ部２９における上書セグメント番号の箇所から順次上書きする。デコーダ受渡制御部２８は、動画切替前セグメントをバッファメモリ部２９からデコーダ部１４へ受け渡した後、動画切替後セグメントを受け渡す。【選択図】図５
2020123765.tif 000002
【特許請求の範囲】
【請求項１】
インターネットを介して配信された動画をセグメント毎に受信し、前記セグメントをＦＩＦＯ方式にてバッファリングして読み出し、前記動画を再生するユーザ端末において、
前記セグメントのダウンロード時間を計測するダウンロード時間計測部と、
ユーザにより別の動画を再生するための切替操作が行われると、前記ダウンロード時間計測部により計測された切替操作前の動画における動画切替前セグメントの前記ダウンロード時間に基づいて、前記別の動画の動画切替後セグメントの前記ダウンロード時間を予測し、ダウンロード予測時間を求めるダウンロード時間予測部と、
前記ダウンロード時間予測部により求めた前記ダウンロード予測時間に基づいて、バッファメモリにバッファリングされている複数の前記動画切替前セグメントのうち、上書対象の前記動画切替前セグメントを決定する上書セグメント決定部と、
前記動画切替後セグメントが順次受信されると、前記動画切替後セグメントを、前記バッファメモリにバッファリングされている複数の前記動画切替前セグメントのうち、前記上書セグメント決定部により決定された前記動画切替前セグメントの箇所から順次上書きする書込制御部と、
前記バッファメモリから前記動画切替前セグメントを読み出した後、前記動画切替後セグメントを読み出す読み出し部と、
を備えたことを特徴とするユーザ端末。
【請求項２】
請求項１に記載のユーザ端末において、
前記ダウンロード時間予測部は、
前記ダウンロード時間計測部により計測された前記動画切替前セグメントの前記ダウンロード時間を、前記ダウンロード予測時間とする、ことを特徴とするユーザ端末。
【請求項３】
請求項１に記載のユーザ端末において、
前記ダウンロード時間予測部は、
前記ダウンロード時間計測部により、現在時刻の直近に計測された所定数の前記ダウンロード時間、または前記現在時刻から所定時間前の時刻までの間に計測された複数の前記ダウンロード時間のうち最大の前記ダウンロード時間を特定し、最大の前記ダウンロード時間を前記ダウンロード予測時間とする、ことを特徴とするユーザ端末。
【請求項４】
コンピュータを、請求項１から３までのいずれか一項に記載のユーザ端末として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバからユーザ端末へ動画を配信するアダプティブストリーミングを行うシステムにおいて、ユーザ操作に従い動画を切り替えるユーザ端末及びプログラムに関する。
【背景技術】
【０００２】
従来、テレビ放送を視聴するユーザは、別のチャンネルに切り替えるために、ザッピングを行うことがある。同様に、インターネットにより配信された動画（ネット動画）を視聴しているときも、ユーザは、別の動画に切り替えるために、ザッピングを行うことがある。
【０００３】
このようなザッピングにおいては、別の動画を再生するまでの時間が長ければ長いほど、ユーザの体感品質が低下し、当該動画の視聴を止めてしまう可能性がある。
【０００４】
一般に、ネット動画は、アダプティブストリーミングと呼ばれる方式により、インターネット経由でサーバからユーザ端末へ転送される。このときの動画データは、時間軸上で細切れにしたセグメントと呼ばれる単位で転送される。セグメントは、エンコードされた動画データを数秒単位に分割した動画ファイルである。例えば動画データの時間長は、１分、１０分、１時間等のように様々であり、セグメントの時間長も、１秒、５秒、１０秒等のように様々である。
【０００５】
アダプティブストリーミングには、例えばＭＰＥＧ−ＤＡＳＨ方式、ＨＬＳ方式がある。これらの方式は、基本的な動作フローが同じであり、インターネットが輻輳した場合においても、できる限り動画の再生を継続し、途切れが発生しないという特長がある。
【０００６】
この特長を実現するために、ユーザ端末は、バッファメモリを利用して所定数のセグメントをバッファリングした後、当該セグメントを、その先頭から順にデコーダへ受け渡す。すなわち、ユーザ端末は、ＦＩＦＯ（First-In First-Out）方式により、動画データのセグメントをバッファメモリに格納し、バッファメモリから読み出してデコーダへ受け渡す（例えば、非特許文献１を参照）。
【０００７】
また、動画の切り替え前のセグメントと切り替え後のセグメントとを、それぞれ別のバッファメモリに格納する技術も開示されている（例えば、特許文献１を参照）。この技術により、バッファメモリに格納されたセグメントを再使用できる場合には、動画を速やかに再生することができる。
【０００８】
バッファリングされるセグメントの数は、例えば、３セグメント、５セグメント等のように様々であり、セグメント数が多ければ多いほど、インターネットが輻輳した場合に、動画の再生は途切れ難くなる。
【０００９】
しかし、バッファリングされるセグメントの数が多いほど、バッファリングに時間がかかり、デコーダへの受け渡しが遅くなる。このため、ユーザ端末がセグメントの配信をサーバへ要求してから、デコード処理を経て動画を再生するまでの間の時間が長くなり、ユーザにとっては、視聴のための待ち時間が長くなる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１７−１０８２１７号公報
【非特許文献】
【００１１】
【非特許文献１】ＩＴ用語辞典、ｅ−Ｗｏｒｄｓ、“ＦＩＦＯ”、［online］、［平成３０年１１月１９日検索］、インターネット＜ＵＲＬ：http://e-words.jp/w/FIFO.html＞
【発明の概要】
【発明が解決しようとする課題】
【００１２】
このように、アダプティブストリーミングのバッファ管理にＦＩＦＯ方式を用いた場合には、ユーザがネット動画をザッピングすると、直ちに別の動画に切り替わることはなく、切り替わるのに時間がかかるという問題があった。ザッピングは、視聴中の動画から別の動画への切替操作をいう。
【００１３】
これは、ザッピングが行われると、ユーザ端末が既にバッファリングした視聴中の動画の全セグメントをデコーダへ受け渡す必要があり、その後に、次に視聴する別の動画のセグメントをデコーダへ受け渡すからである。つまり、ザッピングが行われたときに、既にバッファリングされた視聴中の動画のセグメントの数に応じて、切り替わり時間、すなわち別の動画の視聴開始までの待ち時間が決定されることとなる。既にバッファリングされた視聴中の動画のセグメントの数が多いほど、待ち時間が長くなり、セグメントの数が少ないほど、待ち時間が短くなる。
【００１４】
例えば、バッファリングされた視聴中の動画のセグメントの数が３セグメント、セグメント長が１秒の場合、次に視聴する別の動画のセグメントをデコーダへ受け渡すまでの時間は、少なくとも３セグメント×１秒＝３秒である。この３秒が、そのままユーザの視聴開始までの待ち時間となる。
【００１５】
図８（１）は、従来技術のＦＩＦＯ方式を用いたアダプティブストリーミングのバッファ管理を説明する図である。視聴中の動画のセグメントを動画切替前セグメントとし、ザッピングにより切り替わる別の動画のセグメントを動画切替後セグメントとする。
【００１６】
ユーザ端末のバッファメモリ部には、動画切替前セグメントＳＧ１〜ＳＧ５がバッファリングされているものとする。この状態で、ユーザによるザッピングが行われると、ユーザ端末からサーバへ別の動画のリクエストが送信される。
【００１７】
そうすると、ユーザ端末は、サーバから動画切替後セグメントＳＧ６’，ＳＧ７’等を受信する。そして、ユーザ端末は、バッファメモリ部に空きがあると、これらの動画切替後セグメントＳＧ６’，ＳＧ７’等を順番に、動画切替前セグメントＳＧ５の次のセグメントとしてバッファリングすることとなる。
【００１８】
ユーザ端末は、バッファメモリ部から動画切替前セグメントＳＧ１〜ＳＧ５を順番に読み出し、デコーダへ受け渡す。そして、ユーザ端末は、動画切替前セグメントＳＧ１〜ＳＧ５の受け渡しが完了した後に、バッファメモリ部から動画切替後セグメントＳＧ６’，ＳＧ７’等を読み出し、デコーダへ受け渡す。
【００１９】
このように、ユーザによるザッピングが行われると、バッファリングされている動画切替前セグメントＳＧ１〜ＳＧ５の受け渡しが完了した後に、別の動画の動画切替後セグメントＳＧ６’，ＳＧ７’等の受け渡しが開始する。したがって、動画切替前セグメントＳＧ１〜ＳＧ５の受け渡し時間（転送時間）が、切り替わり時間、すなわち次に視聴が行われる別の動画の視聴開始までの待ち時間となる。
【００２０】
つまり、アダプティブストリーミングのバッファ管理にＦＩＦＯ方式を用いた場合には、ザッピングが行われると、直ちに別の動画に切り替わることはない。ユーザは、バッファリングされた動画切替前セグメントＳＧ１〜ＳＧ５の受け渡しが完了するまでの時間だけ待つ必要があり、切り替わるのに時間がかかるという問題があった。
【００２１】
このため、アダプティブストリーミングのバッファ管理を行う際に、ＦＩＦＯ方式に代わる新たな方式を用いて、ザッピングに伴う動画の切り替わり時間を短縮することが所望されていた。
【００２２】
そこで、本発明は前記課題を解決するためになされたものであり、その目的は、ネット動画を視聴しているユーザがザッピングを行ったときに、別の動画の視聴開始までの待ち時間を短縮可能なユーザ端末及びプログラムを提供することにある。
【課題を解決するための手段】
【００２３】
前記課題を解決するために、請求項１のユーザ端末は、インターネットを介して配信された動画をセグメント毎に受信し、前記セグメントをＦＩＦＯ方式にてバッファリングして読み出し、前記動画を再生するユーザ端末において、前記セグメントのダウンロード時間を計測するダウンロード時間計測部と、ユーザにより別の動画を再生するための切替操作が行われると、前記ダウンロード時間計測部により計測された切替操作前の動画における動画切替前セグメントの前記ダウンロード時間に基づいて、前記別の動画の動画切替後セグメントの前記ダウンロード時間を予測し、ダウンロード予測時間を求めるダウンロード時間予測部と、前記ダウンロード時間予測部により求めた前記ダウンロード予測時間に基づいて、バッファメモリにバッファリングされている複数の前記動画切替前セグメントのうち、上書対象の前記動画切替前セグメントを決定する上書セグメント決定部と、前記動画切替後セグメントが順次受信されると、前記動画切替後セグメントを、前記バッファメモリにバッファリングされている複数の前記動画切替前セグメントのうち、前記上書セグメント決定部により決定された前記動画切替前セグメントの箇所から順次上書きする書込制御部と、前記バッファメモリから前記動画切替前セグメントを読み出した後、前記動画切替後セグメントを読み出す読み出し部と、を備えたことを特徴とする。
【００２４】
また、請求項２のユーザ端末は、請求項１に記載のユーザ端末において、前記ダウンロード時間予測部が、前記ダウンロード時間計測部により計測された前記動画切替前セグメントの前記ダウンロード時間を、前記ダウンロード予測時間とする、ことを特徴とする。
【００２５】
また、請求項３のユーザ端末は、請求項１に記載のユーザ端末において、前記ダウンロード時間予測部が、前記ダウンロード時間計測部により、現在時刻の直近に計測された所定数の前記ダウンロード時間、または前記現在時刻から所定時間前の時刻までの間に計測された複数の前記ダウンロード時間のうち最大の前記ダウンロード時間を特定し、最大の前記ダウンロード時間を前記ダウンロード予測時間とする、ことを特徴とする。
【００２６】
さらに、請求項４のプログラムは、コンピュータを、請求項１から３までのいずれか一項に記載のユーザ端末として機能させることを特徴とする。
【発明の効果】
【００２７】
以上のように、本発明によれば、ネット動画を視聴しているユーザがザッピングを行ったときに、別の動画の視聴開始までの待ち時間を短縮することができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施形態によるユーザ端末を含む全体システムの構成例を示す概略図である。
【図２】ユーザ操作検知時の受信バッファ管理部による処理例の概要を示すフローチャートである。
【図３】受信バッファ管理部の構成例を示すブロック図である。
【図４】通常時のデータの流れを示す図である。
【図５】ユーザ操作検知時のデータの流れを示す図である。
【図６】ユーザ操作検知時のバッファメモリ部のバッファリング状態を説明する図である。
【図７】上書セグメント番号決定部による上書セグメント番号の決定処理例を説明する図である。
【図８】（１）は、従来技術のＦＩＦＯ方式を用いたアダプティブストリーミングのバッファ管理を説明する図である。（２）は、本発明の新方式を用いたアダプティブストリーミングのバッファ管理を説明する図である。
【発明を実施するための形態】
【００２９】
以下、本発明を実施するための形態について図面を用いて詳細に説明する。本発明は、サーバからユーザ端末へ動画を配信するアダプティブストリーミングを行うシステムにおいて、ＦＩＦＯ方式にて動画のセグメントをバッファリングし、デコーダ部へ受け渡しているときに、動画を切り替えるユーザ操作があると、バッファリングされている複数の動画切替前セグメントの所定箇所から、動画切替後セグメントを上書きすることを特徴とする。
【００３０】
これにより、動画を切り替えるユーザ操作があると、バッファリングされた全ての動画切替前セグメントがデコーダ部へ受け渡されることなく、一部の動画切替前セグメントのみが受け渡される。そして、一部の動画切替前セグメントの受け渡しが完了した後、動画切替後セグメントが受け渡される。このため、動画切替後セグメントは、ユーザ操作があってから短時間にデコーダ部へ受け渡される。
【００３１】
したがって、ネット動画を視聴しているユーザがザッピングを行ったときに、別の動画の視聴開始までの待ち時間を短縮することができる。
【００３２】
〔全体システム〕
まず、本発明の実施形態によるユーザ端末を含む全体システムについて説明する。図１は、本発明の実施形態によるユーザ端末を含む全体システムの構成例を示す概略図である。
【００３３】
このシステムは、ユーザ端末１及びサーバ２を備えて構成され、サーバ２からインターネット３を介してユーザ端末１へ動画を配信するアダプティブストリーミングを行う。ユーザ端末１及びサーバ２は、インターネット３を介して接続される。インターネット３は、例えばオープンインターネットである。
【００３４】
ユーザ端末１は、通信インターフェース１０、ＯＳ（オペレーティングシステム）１１、ＷＥＢブラウザ１２、受信バッファ管理部１３、デコーダ部１４及び表示部１５を備えている。ユーザ端末１は、パーソナルコンピュータであってもよいし、スマートフォン等の携帯型の端末装置であってもよい。要するに、ユーザ端末１は、サーバ２から動画をダウンロードしてバッファリングし、再生する機能を有していれば何でもよい。
【００３５】
通信インターフェース１０は、当該ユーザ端末１とサーバ２との間で、インターネット３を介して所定のプロトコルに従いデータの送受信を行う。通信インターフェース１０は、例えばEthernet（イーサネット（登録商標））である。
【００３６】
ＯＳ１１は、各種のプログラムの実行を制御するためのソフトウェアであり、基本的な機能として、通信インターフェース１０、ＷＥＢブラウザ１２、受信バッファ管理部１３、デコーダ部１４及び表示部１５を管理する。ＯＳ１１は、例えばWindows（登録商標）であってもよいし、iOSであってもよい。
【００３７】
ＷＥＢブラウザ１２は、ＷＥＢページを閲覧するためのソフトウェアであり、例えばInternet Explorer（インターネットエクスプローラー、登録商標）であってもよいし、Chrome（クローム、登録商標）であってもよい。
【００３８】
受信バッファ管理部１３は、ＦＩＦＯ方式にて、サーバ２から配信された動画のセグメントをバッファリングし、当該セグメントをデコーダ部１４へ受け渡す。受信バッファ管理部１３は、ユーザによるザッピングの操作を検知すると、ＦＩＦＯ方式に代わる新方式にて、サーバ２から配信された別の動画のセグメントをバッファリングする。
【００３９】
具体的には、受信バッファ管理部１３は、ザッピングに伴う別の動画のセグメントを、バッファリングされている視聴中の動画の複数のセグメントに対して所定箇所から上書きする。受信バッファ管理部１３は、上書対象でない残りのセグメントを順番にデコーダ部１４へ受け渡した後、別の動画のセグメントをデコーダ部１４へ受け渡す。
【００４０】
図８（２）は、本発明の新方式を用いたアダプティブストリーミングのバッファ管理を説明する図である。図８（１）と同様に、視聴中の動画のセグメントを動画切替前セグメントとし、ザッピングにより切り替わる別の動画のセグメントを動画切替後セグメントとする。
【００４１】
ユーザ端末１の受信バッファ管理部１３には、動画切替前セグメントＳＧ１〜ＳＧ５がバッファリングされているものとする。この状態で、ユーザによるザッピングが行われると、ユーザ端末１からサーバ２へ別の動画のリクエスト要求が送信される。
【００４２】
そうすると、ユーザ端末１の受信バッファ管理部１３は、サーバ２から動画切替後セグメントＳＧ３’，ＳＧ４’等を受信する。そして、受信バッファ管理部１３は、動画切替後セグメントＳＧ３’，ＳＧ４’等を、バッファリングされている動画切替前セグメントＳＧ１〜ＳＧ５のうち３番目の動画切替前セグメントＳＧ３の箇所から上書きする。ここで、上書きする箇所は、動画切替後セグメントのダウンロード予測時間に基づいて決定される。詳細については後述する。
【００４３】
受信バッファ管理部１３は、バッファリングされている動画切替前セグメントＳＧ１、ＳＧ２を順番に読み出し、デコーダ部１４へ受け渡す。そして、受信バッファ管理部１３は、動画切替前セグメントＳＧ１、ＳＧ２の受け渡しが完了した後に、バッファリングされている動画切替後セグメントＳＧ３’，ＳＧ４’等を順番に読み出し、デコーダ部１４へ受け渡す。
【００４４】
このように、ユーザによるザッピングが行われると、バッファリングされている動画切替前セグメントＳＧ１〜ＳＧ５の全てが受け渡されることなく、動画切替前セグメントＳＧ１，ＳＧ２のみが受け渡される。また、動画切替前セグメントＳＧ３以降の箇所に、別の動画の動画切替後セグメントＳＧ３’等が上書きされる。
【００４５】
つまり、ユーザによるザッピングが行われると、バッファリングされている動画切替前セグメントＳＧ１〜ＳＧ５のうち、動画切替前セグメントＳＧ１，ＳＧ２のみの受け渡しが行われ、動画切替前セグメントＳＧ３〜ＳＧ５の受け渡しは行われない。そして、動画切替前セグメントＳＧ３〜ＳＧ５の代わりに、動画切替後セグメントＳＧ３’等の受け渡しが行われる。
【００４６】
したがって、動画切替前セグメントＳＧ３〜ＳＧ５の受け渡しが行われない時間だけ、ユーザによるザッピングに伴う動画の切り替わり時間、すなわち次に視聴が行われる別の動画の視聴開始までの待ち時間が短縮される。
【００４７】
図１に戻って、デコーダ部１４は、受信バッファ管理部１３からセグメントを入力し、Ｈ２６４、Ｈ２６５等の各種符号化方式で符号化されたセグメントの動画データをデコードし、表示部１５に表示する。これにより、動画の再生が行われる。表示部１５は、テレビ画面であってもよいし、パソコン用モニタの画面であってもよい。
【００４８】
サーバ２は、ユーザ端末１からインターネット３を介してセグメント要求を受信し、当該セグメント要求に対応する動画のセグメントを、インターネット３を介してユーザ端末１へ送信する。サーバ２は、動画を配信可能なコンピュータ装置であれば何でもよい。
【００４９】
〔受信バッファ管理部１３〕
次に、図１に示したユーザ端末１の受信バッファ管理部１３について詳細に説明する。図２は、ユーザ操作検知時の受信バッファ管理部１３による処理例の概要を示すフローチャートである。
【００５０】
受信バッファ管理部１３は、ユーザが視聴している動画について、そのセグメントのダウンロード時間を計測する（ステップＳ２０１）。
【００５１】
受信バッファ管理部１３は、ユーザによるザッピングの操作を検知する（ステップＳ２０２）。そうすると、受信バッファ管理部１３は、ザッピングに伴い指定された動画（別の動画）を再生するために、当該動画のセグメントの送信を要求するためのセグメント要求をサーバ２へ送信する（ステップＳ２０３）。
【００５２】
また、受信バッファ管理部１３は、別の動画について、ステップＳ２０１にて計測したダウンロード時間に基づき、当該動画のセグメント（動画切替後セグメント）のダウンロード時間を予測する（ステップＳ２０４）。
【００５３】
受信バッファ管理部１３は、別の動画について、ステップＳ２０４にて予測したダウンロード時間（ダウンロード予測時間）に基づき、バッファリングの上書箇所（上書セグメント番号）を決定する（ステップＳ２０５）。つまり、受信バッファ管理部１３は、別の動画について、ダウンロード予測時間に基づき、視聴中の複数のセグメント（動画切替前セグメント）における上書箇所を示す上書セグメント番号を決定する。
【００５４】
図８（２）に示した例においては、別の動画は、動画切替前セグメントＳＧ３以降の箇所に順番に上書きされるから、上書セグメント番号は３である。
【００５５】
受信バッファ管理部１３は、サーバ２から、ステップＳ２０３にて送信したセグメント要求に対応するセグメントを受信する（ステップＳ２０６）。そして、受信バッファ管理部１３は、当該セグメントを、ステップＳ２０５にて決定した上書セグメント番号の箇所に上書きする（ステップＳ２０７）。
【００５６】
これにより、ザッピングに伴い指定された動画について、セグメント要求の送信及び動画切替後セグメントの受信が繰り返される。そして、動画切替後セグメントは、上書セグメント番号の箇所から順次上書きされ、動画切替後セグメントのバッファリングが開始する。
【００５７】
受信バッファ管理部１３は、バッファリングされている視聴中の動画切替前セグメントをデコーダ部１４へ受け渡した後、動画切替後セグメントをデコーダ部１４へ受け渡す（ステップＳ２０８）。
【００５８】
これにより、動画切替後セグメントが上書きされなかった残りの動画切替前セグメントが再生された後、ザッピングに伴い指定された動画の動画切替後セグメントが再生される。
【００５９】
次に、受信バッファ管理部１３の構成及びデータの流れについて説明する。図３は、受信バッファ管理部１３の構成例を示すブロック図である。図４は、通常時のデータの流れを示す図であり、図５は、ユーザ操作検知時のデータの流れを示す図である。
【００６０】
この受信バッファ管理部１３は、ダウンロード時間計測部２０、ユーザ操作検知部２１、セグメント要求部２２、ダウンロード時間予測部２３、通信部２４、上書セグメント番号決定部（上書セグメント決定部）２５、セグメント受信部２６、書込制御部２７、デコーダ受渡制御部（読み出し部）２８及びバッファメモリ部２９を備えている。
【００６１】
以下、受信バッファ管理部１３に備えたそれぞれの構成部の処理について、図４及び図５を用いて説明する。
【００６２】
（通常時）
まず、図４を参照して、ユーザが動画を視聴している通常時における各構成部の処理について説明する。セグメント要求部２２は、当該動画のセグメントの送信を要求するセグメント要求（ＳＧ要求）を生成し、セグメント要求を通信部２４に出力する。
【００６３】
通信部２４は、セグメント要求部２２からセグメント要求を入力し、セグメント要求を含むパケットをサーバ２へ送信する。そして、通信部２４は、サーバ２から、当該セグメント要求に対応するセグメント（ＳＧ）を含むパケットを受信し、セグメントをセグメント受信部２６に出力する。
【００６４】
また、通信部２４は、セグメント要求をサーバ２へ送信した時刻Ｔ１を、図示しない時計から取得し、サーバ２から当該セグメント要求に対応するセグメントを受信した時刻Ｔ２を、図示しない時計から取得する。そして、通信部２４は、時刻Ｔ１，Ｔ２をダウンロード時間計測部２０に出力する。この場合、通信部２４は、送信したセグメント要求及び受信したセグメント毎に、時刻Ｔ１，Ｔ２を取得してダウンロード時間計測部２０に出力する。
【００６５】
ダウンロード時間計測部２０は、通信部２４から時刻Ｔ１，Ｔ２を入力し、時刻Ｔ２から時刻Ｔ１を減算し（Ｔ２−Ｔ１）、減算結果をダウンロード時間として計測する。そして、ダウンロード時間計測部２０は、計測したダウンロード時間を図示しないメモリに格納する。この場合、ダウンロード時間計測部２０は、通信部２４にて送信したセグメント要求及び受信したセグメントの組毎に（セグメント毎に）、セグメントのダウンロード時間を計測してメモリに格納する。
【００６６】
これにより、図示しないメモリには、ユーザが視聴中の動画について、そのセグメントのダウンロード時間が順次格納される。ダウンロード時間は、インターネット３の輻輳が大きいほど長い時間となり、輻輳が小さいほど短い時間となる。
【００６７】
尚、ダウンロード時間計測部２０は、セグメントのダウンロード時間の計測を、セグメント毎に毎回行うようにしてもよいし、所定間隔毎（所定時間毎または所定回数毎）に行うようにしてもよい。
【００６８】
セグメント受信部２６は、通信部２４からセグメントを入力し、当該セグメントを書込制御部２７に出力する。
【００６９】
書込制御部２７は、セグメント受信部２６からセグメントを入力し、当該セグメントを、ＦＩＦＯ方式にてバッファメモリ部２９に順次書き込む。これにより、バッファメモリ部２９には、ユーザが視聴中の動画について、そのセグメントが順次書き込まれる。
【００７０】
尚、インターネット３の輻輳状態によっては、ユーザ端末１はセグメントを昇順に受信するとは限らない。このため、ユーザ端末１が番号の入れ替わったセグメントを受信した場合には、書込制御部２７は、番号の入れ替わったセグメントを昇順に並び替えた後、セグメントをバッファメモリ部２９に格納する。
【００７１】
デコーダ受渡制御部２８は、バッファメモリ部２９に所定数のセグメントが書き込まれた状態において、セグメント毎の再生時刻に基づいて、ＦＩＦＯ方式にて先頭からセグメントを順次読み出し、セグメントをデコーダ部１４へ受け渡す。これにより、バッファメモリ部２９からデコーダ部１４へ受け渡されたそれぞれのセグメントは、対応する再生時刻に再生される。
【００７２】
このように、ユーザが動画を視聴している通常時において、ダウンロード時間計測部２０により、セグメント毎のダウンロード時間が計測される。
【００７３】
（ユーザ操作検知時）
次に、図５を参照して、ユーザ操作検知時における各構成部の処理について説明する。ユーザ操作検知部２１は、ユーザが別の動画を選択する操作、すなわちユーザによるザッピングの操作を検知すると、ザッピングにより切り替わる別の動画（視聴中の動画とは別の動画）をダウンロードするための別動画指示をセグメント要求部２２に出力する。
【００７４】
セグメント要求部２２は、ユーザ操作検知部２１から別動画指示を入力すると、当該別動画指示の示す別の動画のセグメントの送信を要求するセグメント要求を生成し、セグメント要求を通信部２４に出力する。また、セグメント要求部２２は、当該セグメント要求を出力したことを示す別動画セグメント要求を、ダウンロード時間予測部２３に出力する。
【００７５】
通信部２４、ダウンロード時間計測部２０及びセグメント受信部２６は、図４と同様の処理を行う。この場合、ダウンロード時間計測部２０は、ザッピング前の視聴中の動画について、計測したダウンロード時間（ＤＬ時間）をダウンロード時間予測部２３に出力する。また、セグメント受信部２６は、ザッピング後の別の動画のセグメントを書込制御部２７に出力する。
【００７６】
ダウンロード時間予測部２３は、セグメント要求部２２から別動画セグメント要求を入力すると共に、ダウンロード時間計測部２０から、ザッピング前の視聴中の動画のダウンロード時間を入力する。そして、ダウンロード時間予測部２３は、別動画セグメント要求の示す別の動画について、ザッピング前の視聴中の動画のダウンロード時間に基づき、ダウンロード時間を予測し、ダウンロード予測時間を求める。
【００７７】
ダウンロード時間予測部２３は、ザッピング後の別の動画のダウンロード予測時間（ＤＬ予測時間）を上書セグメント番号決定部２５に出力する。
【００７８】
例えば、ダウンロード時間予測部２３は、ダウンロード時間計測部２０により現在時刻の直近に計測された所定数のダウンロード時間のうち、最大のダウンロード時間を特定し、これをダウンロード予測時間に設定する。または、ダウンロード時間予測部２３は、ダウンロード時間計測部２０により現在時刻から所定時間前の時刻までの間（所定時間内）に計測された複数のダウンロード時間のうち、最大のダウンロード時間を特定し、これをダウンロード予測時間に設定する。
【００７９】
これにより、直近の複数のダウンロード時間のうち、インターネット３の輻輳が最も大きいときのダウンロード時間をダウンロード予測時間とすることができる。
【００８０】
尚、ダウンロード時間予測部２３は、ダウンロード時間計測部２０により現在時刻の直近に計測された複数のダウンロード時間について、その平均値を算出し、これをダウンロード予測時間に設定するようにしてもよい。また、ダウンロード時間予測部２３は、算出した平均値に所定値を加算し、加算結果をダウンロード予測時間に設定するようにしてもよい。
【００８１】
また、ダウンロード時間予測部２３は、現在時刻に最も近い時刻に計測された（最新の）ダウンロード時間を特定し、これをダウンロード予測時間に設定するようにしてもよい。直近のダウンロード時間を用いてダウンロード予測時間を設定するのは、ミクロ視点では短時間にダウンロード時間が大きく変動しないからである。
【００８２】
上書セグメント番号決定部２５は、ダウンロード時間予測部２３からダウンロード予測時間を入力する。そして、上書セグメント番号決定部２５は、ダウンロード予測時間に基づいて、バッファメモリ部２９に書き込まれている視聴中の複数のセグメントのうち、上書対象のセグメント、すなわち上書箇所を示す上書セグメント番号を決定する。上書セグメント番号決定部２５は、上書セグメント番号を書込制御部２７に出力する。
【００８３】
ここで、上書セグメント番号は、ダウンロード予測時間が長いほど、ＦＩＦＯ方式にて読み出される先頭のセグメントから離れた箇所の番号に決定され、ダウンロード予測時間が短いほど、先頭のセグメントに近い箇所の番号に決定される。つまり、上書セグメント番号は、バッファリングされている視聴中の複数のセグメントのうち、視聴中のセグメントがデコーダ部１４へ受け渡される前までに、別の動画における最初のセグメントを上書き可能な視聴中のセグメントの番号であって、先頭に最も近いセグメントの番号である。
【００８４】
また、ダウンロード時間予測部２３により現在時刻に近い所定回数または所定時間内で最大のダウンロード時間がダウンロード予測時間に設定された場合、ダウンロード予測時間は、インターネット３の輻輳が反映された時間となる。したがって、上書セグメント番号は、インターネット３の輻輳が大きいほど、ＦＩＦＯ方式にて読み出される先頭のセグメントから離れた箇所の番号に決定され、インターネット３の輻輳が小さいほど、先頭のセグメントに近い箇所の番号に決定される。
【００８５】
図６は、ユーザ操作検知時のバッファメモリ部２９のバッファリング状態を説明する図であり、図７は、上書セグメント番号決定部２５による上書セグメント番号の決定処理例を説明する図である。
【００８６】
図６に示すように、バッファメモリ部２９には、最大で、１セグメントあたりの時間長（セグメント長）をｎ倍した時間長分のセグメント、すなわちｎ個のセグメントが格納される。バッファメモリ部２９のバッファリングサイズは、セグメント長×ｎである。ｎは正の整数である。
【００８７】
また、ユーザ操作検知時にバッファリングされている先頭のセグメントの番号を１、その次の番号を２、・・・、最後のセグメントの番号をｎとする。セグメントの格納箇所をそれぞれＰ１，Ｐ２，・・・，Ｐｎとする。
【００８８】
ＦＩＦＯ方式において、箇所Ｐ１に格納された先頭のセグメントＳＧ１は、デコーダ受渡制御部２８により読み出され（α１）、箇所Ｐｎ，・・・，Ｐ２に格納されたセグメントＳＧｎ，・・・，ＳＧ２は、箇所Ｐｎ−１，・・・，Ｐ１へそれぞれシフトする（α２）。そして、新たなセグメントが、書込制御部２７により箇所Ｐｎに書き込まれる（α３）。
【００８９】
ユーザ操作検知時のバッファメモリ部２９には、ザッピング前の視聴中の動画切替前セグメントＳＧ１，ＳＧ２，・・・，ＳＧｎが格納されているものとする。
【００９０】
また、図７に示すように、図６に示したザッピング前の視聴中の動画切替前セグメントＳＧ１，ＳＧ２，・・・，ＳＧｎについて、それぞれの再生時刻（再生開始時刻）をｔ１，ｔ２，・・・，ｔｎとする。再生時刻は、動画のストリームの先頭からの時刻を示す。
【００９１】
上書セグメント番号決定部２５は、図６に示したユーザ操作検知時のバッファメモリ部２９のバッファリング状態、及び、図７に示した再生時刻ｔ１，ｔ２，・・・，ｔｎを管理しているものとする。
【００９２】
上書セグメント番号決定部２５は、ダウンロード時間予測部２３から入力したダウンロード予測時間、デコーダ部１４におけるデコード時間、表示部１５における表示時間等を加算し、ザッピング後の別の動画の予測再生時間を求める。そして、上書セグメント番号決定部２５は、ユーザ操作が検知された現在時刻に予測再生時間を加算し、予測再生時刻を求める。現在時刻は、図示しない時計から取得される。
【００９３】
上書セグメント番号決定部２５は、予測再生時刻を超える直近の再生時刻を判断し、当該再生時刻に対応するセグメントを特定する。そして、上書セグメント番号決定部２５は、当該セグメントが格納されているバッファメモリ部２９の箇所を特定し、当該セグメントの番号を上書セグメント番号として決定する。
【００９４】
図６及び図７の例では、上書セグメント番号決定部２５は、予測再生時刻を超える直近の再生時刻ｔ３を判断し、再生時刻ｔ３に対応する動画切替前セグメントＳＧ３を特定する。そして、上書セグメント番号決定部２５は、動画切替前セグメントＳＧ３が格納されているバッファメモリ部２９の箇所Ｐ３を特定し、動画切替前セグメントＳＧ３の番号を上書セグメント番号３として決定する。
【００９５】
図５に戻って、書込制御部２７は、セグメント受信部２６からザッピング後の別の動画における最初の動画切替後セグメントを入力すると共に、上書セグメント番号決定部２５から上書セグメント番号を入力する。そして、書込制御部２７は、バッファメモリ部２９に格納されている上書セグメント番号の動画切替前セグメントの箇所を判断し、最初の動画切替後セグメントを、上書セグメント番号の動画切替前セグメントの箇所に上書きする。
【００９６】
これにより、視聴中の上書セグメント番号の動画切替前セグメントがデコーダ部１４へ受け渡される前に、別の動画における最初の動画切替後セグメントが、その箇所に上書きされる。
【００９７】
図６及び図７の例では、視聴中の動画切替前セグメントＳＧ３が、バッファメモリ部２９の箇所Ｐ３に格納されている。この場合、書込制御部２７は、動画切替前セグメントＳＧ３が格納されている箇所Ｐ３を判断し、別の動画における最初の動画切替後セグメントを、バッファメモリ部２９の箇所Ｐ３に上書きする。
【００９８】
実際は、最初の動画切替後セグメントのダウンロード時間内に、バッファメモリ部２９に格納されている視聴中の動画切替前セグメントがデコーダ部１４へ受け渡されてしまい、残りの視聴中の動画切替前セグメントは、バッファメモリ部２９内でシフトする。
【００９９】
バッファメモリ部２９に格納された視聴中の動画切替前セグメントＳＧ１，ＳＧ２が、デコーダ受渡制御部２８により既に読み出されデコーダ部１４へ受け渡された場合には、動画切替前セグメントＳＧ３は、箇所Ｐ１にシフトしている。この場合、書込制御部２７は、動画切替前セグメントＳＧ３が格納されている箇所Ｐ１を判断し、最初の動画切替後セグメントを、バッファメモリ部２９の箇所Ｐ１に上書きする。
【０１００】
その後、書込制御部２７は、セグメント受信部２６から入力する動画切替後セグメントを、バッファメモリ部２９の上書箇所の次から順次格納する。これにより、ザッピングに伴う別の動画の動画切替後セグメントのバッファリングが開始する。
【０１０１】
デコーダ受渡制御部２８は、バッファメモリ部２９から視聴中の動画切替前セグメントを読み出し、読み出した動画切替前セグメントをデコーダ部１４へ受け渡す。そして、デコーダ受渡制御部２８は、視聴中の動画切替前セグメントの受け渡しが完了した後、バッファメモリ部２９から別の動画の動画切替後セグメントを読み出し、読み出した動画切替後セグメントをデコーダ部１４へ受け渡す。
【０１０２】
図６及び図７の例において、バッファメモリ部２９には、視聴中の動画切替前セグメントＳＧ１，ＳＧ２及び別の動画の動画切替後セグメントＳＧ３’，・・・，ＳＧｎ’が格納されているものとする。この場合、デコーダ受渡制御部２８は、バッファメモリ部２９から、視聴中の動画切替前セグメントＳＧ１，ＳＧ２を順次読み出してデコーダ部１４へ受け渡す。そして、デコーダ受渡制御部２８は、バッファメモリ部２９から、別の動画の動画切替後セグメントＳＧ３’，・・・，ＳＧｎ’を読み出してデコーダ部１４へ受け渡す。
【０１０３】
これにより、書込制御部２７により上書きされなかった残りの動画切替前セグメントが再生された後、別の動画の動画切替後セグメントが再生される。
【０１０４】
以上のように、本発明の実施形態のユーザ端末１によれば、受信バッファ管理部１３のダウンロード時間計測部２０は、視聴中の動画について、そのセグメントのダウンロード時間を計測する。ユーザ操作検知部２１がユーザによるザッピングの操作を検知すると、ダウンロード時間予測部２３は、ザッピング後の別の動画について、計測された視聴中の動画（動画切替前セグメント）のダウンロード時間に基づき、そのセグメント（動画切替後セグメント）のダウンロード時間を予測する。
【０１０５】
上書セグメント番号決定部２５は、動画切替後セグメントについて、予測されたダウンロード時間（ダウンロード予測時間）に基づき、バッファメモリ部２９にバッファリングされている複数の動画切替前セグメントにおける上書箇所（上書セグメント番号）を決定する。
【０１０６】
書込制御部２７は、動画切替後セグメントを、バッファメモリ部２９における上書セグメント番号の箇所から順次上書きする。
【０１０７】
デコーダ受渡制御部２８は、バッファメモリ部２９にバッファリングされている動画切替前セグメントをデコーダ部１４へ受け渡した後、動画切替後セグメントをデコーダ部１４へ受け渡す。
【０１０８】
これにより、ザッピングが行われたときに、バッファリングされた全ての動画切替前セグメントがデコーダ部１４へ受け渡されることがなく、一部の動画切替前セグメントが受け渡された後、動画切替後セグメントの受け渡しが行われる。つまり、上書きされなかった残りの動画切替前セグメントが再生された後、動画切替後セグメントが再生される。
【０１０９】
このように、ユーザはザッピングを行うと、バッファメモリ部２９にバッファリングされている全ての動画切替前セグメントの視聴が完了することを待つことなく、動画切替後セグメントを視聴することができる。
【０１１０】
したがって、ネット動画を視聴しているユーザがザッピングを行ったときに、別の動画の視聴開始までの待ち時間を短縮することができる。また、視聴中の動画から別の動画へ、迅速にかつ途切れることなく連続的に切り替えることができる。
【０１１１】
また、ダウンロード時間予測部２３は、現在時刻を基準とした所定回数または所定時間のダウンロード時間のうち、最大のダウンロード時間をダウンロード予測時間に設定する。上書セグメント番号決定部２５は、動画切替後セグメントについて、ダウンロード予測時間である最大のダウンロード時間に基づき上書セグメント番号を決定する。
【０１１２】
これにより、インターネット３の輻輳が最も大きいときのダウンロード時間がダウンロード予測時間に設定され、上書セグメント番号は、最も大きい輻輳が反映された番号となる。このため、書込制御部２７は、先頭の動画切替後セグメントを、バッファメモリ部２９における上書セグメント番号の箇所に上書きする際に、インターネット３の輻輳があったとしても、上書セグメント番号の箇所に格納された動画切替前セグメントがデコーダ部１４へ受け渡される前に、当該箇所に確実に上書きすることができる。
【０１１３】
したがって、ネット動画を視聴しているユーザがザッピングを行ったときに、別の動画の視聴開始までの待ち時間を、確実に短縮することができる。
【０１１４】
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。
【０１１５】
尚、本発明の実施形態によるユーザ端末１のハードウェア構成としては、通常のコンピュータを使用することができる。ユーザ端末１は、ＣＰＵ、ＲＡＭ等の揮発性の記憶媒体、ＲＯＭ等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。
【０１１６】
ユーザ端末１に備えた通信インターフェース１０、ＯＳ１１、ＷＥＢブラウザ１２、受信バッファ管理部１３、デコーダ部１４及び表示部１５の各機能は、これらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現される。また、受信バッファ管理部１３について、ダウンロード時間計測部２０、ユーザ操作検知部２１、セグメント要求部２２、ダウンロード時間予測部２３、通信部２４、上書セグメント番号決定部２５、セグメント受信部２６、書込制御部２７、デコーダ受渡制御部２８及びバッファメモリ部２９の各機能は、これらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現される。
【０１１７】
これらのプログラムは、前記記憶媒体に格納されており、ＣＰＵに読み出されて実行される。また、これらのプログラムは、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。
【符号の説明】
【０１１８】
１  ユーザ端末
２  サーバ
３  インターネット
１０  通信インターフェース
１１  ＯＳ（オペレーティングシステム）
１２  ＷＥＢブラウザ
１３  受信バッファ管理部
１４  デコーダ部
１５  表示部
２０  ダウンロード時間計測部
２１  ユーザ操作検知部
２２  セグメント要求部
２３  ダウンロード時間予測部
２４  通信部
２５  上書セグメント番号決定部（上書セグメント決定部）
２６  セグメント受信部
２７  書込制御部
２８  デコーダ受渡制御部（読み出し部）
２９  バッファメモリ部
【図１】
2020123765.tif 000003
【図２】
2020123765.tif 000004
【図３】
2020123765.tif 000005
【図４】
2020123765.tif 000006
【図５】
2020123765.tif 000007
【図６】
2020123765.tif 000008
【図７】
2020123765.tif 000009
【図８】
2020123765.tif 000010