IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本放送協会の特許一覧

<>
  • 特許-ユーザ端末及びプロブラム 図1
  • 特許-ユーザ端末及びプロブラム 図2
  • 特許-ユーザ端末及びプロブラム 図3
  • 特許-ユーザ端末及びプロブラム 図4
  • 特許-ユーザ端末及びプロブラム 図5
  • 特許-ユーザ端末及びプロブラム 図6
  • 特許-ユーザ端末及びプロブラム 図7
  • 特許-ユーザ端末及びプロブラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-15
(45)【発行日】2022-12-23
(54)【発明の名称】ユーザ端末及びプロブラム
(51)【国際特許分類】
   H04N 21/438 20110101AFI20221216BHJP
   H04N 21/442 20110101ALI20221216BHJP
【FI】
H04N21/438
H04N21/442
【請求項の数】 4
(21)【出願番号】P 2019012836
(22)【出願日】2019-01-29
(65)【公開番号】P2020123765
(43)【公開日】2020-08-13
【審査請求日】2021-11-30
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】100121119
【弁理士】
【氏名又は名称】花村 泰伸
(72)【発明者】
【氏名】黒住 正顕
(72)【発明者】
【氏名】山本 正男
(72)【発明者】
【氏名】西村 敏
(72)【発明者】
【氏名】森 翔平
【審査官】松元 伸次
(56)【参考文献】
【文献】特開2016-021778(JP,A)
【文献】特開2017-108217(JP,A)
【文献】米国特許出願公開第2014/0282792(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L51/00-51/58
67/00-67/75
H04N7/10
7/14-7/173
7/20-7/56
21/00-21/858
(57)【特許請求の範囲】
【請求項1】
インターネットを介して配信された動画をセグメント毎に受信し、前記セグメントをFIFO方式にてバッファリングして読み出し、前記動画を再生するユーザ端末において、
前記セグメントのダウンロード時間を計測するダウンロード時間計測部と、
ユーザにより別の動画を再生するための切替操作が行われると、前記ダウンロード時間計測部により計測された切替操作前の動画における動画切替前セグメントの前記ダウンロード時間に基づいて、前記別の動画の動画切替後セグメントの前記ダウンロード時間を予測し、ダウンロード予測時間を求めるダウンロード時間予測部と、
前記ダウンロード時間予測部により求めた前記ダウンロード予測時間に基づいて、バッファメモリにバッファリングされている複数の前記動画切替前セグメントのうち、上書対象の前記動画切替前セグメントを決定する上書セグメント決定部と、
前記動画切替後セグメントが順次受信されると、前記動画切替後セグメントを、前記バッファメモリにバッファリングされている複数の前記動画切替前セグメントのうち、前記上書セグメント決定部により決定された前記動画切替前セグメントの箇所から順次上書きする書込制御部と、
前記バッファメモリから前記動画切替前セグメントを読み出した後、前記動画切替後セグメントを読み出す読み出し部と、
を備えたことを特徴とするユーザ端末。
【請求項2】
請求項1に記載のユーザ端末において、
前記ダウンロード時間予測部は、
前記ダウンロード時間計測部により計測された前記動画切替前セグメントの前記ダウンロード時間を、前記ダウンロード予測時間とする、ことを特徴とするユーザ端末。
【請求項3】
請求項1に記載のユーザ端末において、
前記ダウンロード時間予測部は、
前記ダウンロード時間計測部により、現在時刻の直近に計測された所定数の前記ダウンロード時間、または前記現在時刻から所定時間前の時刻までの間に計測された複数の前記ダウンロード時間のうち最大の前記ダウンロード時間を特定し、最大の前記ダウンロード時間を前記ダウンロード予測時間とする、ことを特徴とするユーザ端末。
【請求項4】
コンピュータを、請求項1から3までのいずれか一項に記載のユーザ端末として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバからユーザ端末へ動画を配信するアダプティブストリーミングを行うシステムにおいて、ユーザ操作に従い動画を切り替えるユーザ端末及びプログラムに関する。
【背景技術】
【0002】
従来、テレビ放送を視聴するユーザは、別のチャンネルに切り替えるために、ザッピングを行うことがある。同様に、インターネットにより配信された動画(ネット動画)を視聴しているときも、ユーザは、別の動画に切り替えるために、ザッピングを行うことがある。
【0003】
このようなザッピングにおいては、別の動画を再生するまでの時間が長ければ長いほど、ユーザの体感品質が低下し、当該動画の視聴を止めてしまう可能性がある。
【0004】
一般に、ネット動画は、アダプティブストリーミングと呼ばれる方式により、インターネット経由でサーバからユーザ端末へ転送される。このときの動画データは、時間軸上で細切れにしたセグメントと呼ばれる単位で転送される。セグメントは、エンコードされた動画データを数秒単位に分割した動画ファイルである。例えば動画データの時間長は、1分、10分、1時間等のように様々であり、セグメントの時間長も、1秒、5秒、10秒等のように様々である。
【0005】
アダプティブストリーミングには、例えばMPEG-DASH方式、HLS方式がある。これらの方式は、基本的な動作フローが同じであり、インターネットが輻輳した場合においても、できる限り動画の再生を継続し、途切れが発生しないという特長がある。
【0006】
この特長を実現するために、ユーザ端末は、バッファメモリを利用して所定数のセグメントをバッファリングした後、当該セグメントを、その先頭から順にデコーダへ受け渡す。すなわち、ユーザ端末は、FIFO(First-In First-Out)方式により、動画データのセグメントをバッファメモリに格納し、バッファメモリから読み出してデコーダへ受け渡す(例えば、非特許文献1を参照)。
【0007】
また、動画の切り替え前のセグメントと切り替え後のセグメントとを、それぞれ別のバッファメモリに格納する技術も開示されている(例えば、特許文献1を参照)。この技術により、バッファメモリに格納されたセグメントを再使用できる場合には、動画を速やかに再生することができる。
【0008】
バッファリングされるセグメントの数は、例えば、3セグメント、5セグメント等のように様々であり、セグメント数が多ければ多いほど、インターネットが輻輳した場合に、動画の再生は途切れ難くなる。
【0009】
しかし、バッファリングされるセグメントの数が多いほど、バッファリングに時間がかかり、デコーダへの受け渡しが遅くなる。このため、ユーザ端末がセグメントの配信をサーバへ要求してから、デコード処理を経て動画を再生するまでの間の時間が長くなり、ユーザにとっては、視聴のための待ち時間が長くなる。
【先行技術文献】
【特許文献】
【0010】
【文献】特開2017-108217号公報
【非特許文献】
【0011】
【文献】IT用語辞典、e-Words、“FIFO”、[online]、[平成30年11月19日検索]、インターネット<URL:http://e-words.jp/w/FIFO.html>
【発明の概要】
【発明が解決しようとする課題】
【0012】
このように、アダプティブストリーミングのバッファ管理にFIFO方式を用いた場合には、ユーザがネット動画をザッピングすると、直ちに別の動画に切り替わることはなく、切り替わるのに時間がかかるという問題があった。ザッピングは、視聴中の動画から別の動画への切替操作をいう。
【0013】
これは、ザッピングが行われると、ユーザ端末が既にバッファリングした視聴中の動画の全セグメントをデコーダへ受け渡す必要があり、その後に、次に視聴する別の動画のセグメントをデコーダへ受け渡すからである。つまり、ザッピングが行われたときに、既にバッファリングされた視聴中の動画のセグメントの数に応じて、切り替わり時間、すなわち別の動画の視聴開始までの待ち時間が決定されることとなる。既にバッファリングされた視聴中の動画のセグメントの数が多いほど、待ち時間が長くなり、セグメントの数が少ないほど、待ち時間が短くなる。
【0014】
例えば、バッファリングされた視聴中の動画のセグメントの数が3セグメント、セグメント長が1秒の場合、次に視聴する別の動画のセグメントをデコーダへ受け渡すまでの時間は、少なくとも3セグメント×1秒=3秒である。この3秒が、そのままユーザの視聴開始までの待ち時間となる。
【0015】
図8(1)は、従来技術のFIFO方式を用いたアダプティブストリーミングのバッファ管理を説明する図である。視聴中の動画のセグメントを動画切替前セグメントとし、ザッピングにより切り替わる別の動画のセグメントを動画切替後セグメントとする。
【0016】
ユーザ端末のバッファメモリ部には、動画切替前セグメントSG1~SG5がバッファリングされているものとする。この状態で、ユーザによるザッピングが行われると、ユーザ端末からサーバへ別の動画のリクエストが送信される。
【0017】
そうすると、ユーザ端末は、サーバから動画切替後セグメントSG6’,SG7’等を受信する。そして、ユーザ端末は、バッファメモリ部に空きがあると、これらの動画切替後セグメントSG6’,SG7’等を順番に、動画切替前セグメントSG5の次のセグメントとしてバッファリングすることとなる。
【0018】
ユーザ端末は、バッファメモリ部から動画切替前セグメントSG1~SG5を順番に読み出し、デコーダへ受け渡す。そして、ユーザ端末は、動画切替前セグメントSG1~SG5の受け渡しが完了した後に、バッファメモリ部から動画切替後セグメントSG6’,SG7’等を読み出し、デコーダへ受け渡す。
【0019】
このように、ユーザによるザッピングが行われると、バッファリングされている動画切替前セグメントSG1~SG5の受け渡しが完了した後に、別の動画の動画切替後セグメントSG6’,SG7’等の受け渡しが開始する。したがって、動画切替前セグメントSG1~SG5の受け渡し時間(転送時間)が、切り替わり時間、すなわち次に視聴が行われる別の動画の視聴開始までの待ち時間となる。
【0020】
つまり、アダプティブストリーミングのバッファ管理にFIFO方式を用いた場合には、ザッピングが行われると、直ちに別の動画に切り替わることはない。ユーザは、バッファリングされた動画切替前セグメントSG1~SG5の受け渡しが完了するまでの時間だけ待つ必要があり、切り替わるのに時間がかかるという問題があった。
【0021】
このため、アダプティブストリーミングのバッファ管理を行う際に、FIFO方式に代わる新たな方式を用いて、ザッピングに伴う動画の切り替わり時間を短縮することが所望されていた。
【0022】
そこで、本発明は前記課題を解決するためになされたものであり、その目的は、ネット動画を視聴しているユーザがザッピングを行ったときに、別の動画の視聴開始までの待ち時間を短縮可能なユーザ端末及びプログラムを提供することにある。
【課題を解決するための手段】
【0023】
前記課題を解決するために、請求項1のユーザ端末は、インターネットを介して配信された動画をセグメント毎に受信し、前記セグメントをFIFO方式にてバッファリングして読み出し、前記動画を再生するユーザ端末において、前記セグメントのダウンロード時間を計測するダウンロード時間計測部と、ユーザにより別の動画を再生するための切替操作が行われると、前記ダウンロード時間計測部により計測された切替操作前の動画における動画切替前セグメントの前記ダウンロード時間に基づいて、前記別の動画の動画切替後セグメントの前記ダウンロード時間を予測し、ダウンロード予測時間を求めるダウンロード時間予測部と、前記ダウンロード時間予測部により求めた前記ダウンロード予測時間に基づいて、バッファメモリにバッファリングされている複数の前記動画切替前セグメントのうち、上書対象の前記動画切替前セグメントを決定する上書セグメント決定部と、前記動画切替後セグメントが順次受信されると、前記動画切替後セグメントを、前記バッファメモリにバッファリングされている複数の前記動画切替前セグメントのうち、前記上書セグメント決定部により決定された前記動画切替前セグメントの箇所から順次上書きする書込制御部と、前記バッファメモリから前記動画切替前セグメントを読み出した後、前記動画切替後セグメントを読み出す読み出し部と、を備えたことを特徴とする。
【0024】
また、請求項2のユーザ端末は、請求項1に記載のユーザ端末において、前記ダウンロード時間予測部が、前記ダウンロード時間計測部により計測された前記動画切替前セグメントの前記ダウンロード時間を、前記ダウンロード予測時間とする、ことを特徴とする。
【0025】
また、請求項3のユーザ端末は、請求項1に記載のユーザ端末において、前記ダウンロード時間予測部が、前記ダウンロード時間計測部により、現在時刻の直近に計測された所定数の前記ダウンロード時間、または前記現在時刻から所定時間前の時刻までの間に計測された複数の前記ダウンロード時間のうち最大の前記ダウンロード時間を特定し、最大の前記ダウンロード時間を前記ダウンロード予測時間とする、ことを特徴とする。
【0026】
さらに、請求項4のプログラムは、コンピュータを、請求項1から3までのいずれか一項に記載のユーザ端末として機能させることを特徴とする。
【発明の効果】
【0027】
以上のように、本発明によれば、ネット動画を視聴しているユーザがザッピングを行ったときに、別の動画の視聴開始までの待ち時間を短縮することができる。
【図面の簡単な説明】
【0028】
図1】本発明の実施形態によるユーザ端末を含む全体システムの構成例を示す概略図である。
図2】ユーザ操作検知時の受信バッファ管理部による処理例の概要を示すフローチャートである。
図3】受信バッファ管理部の構成例を示すブロック図である。
図4】通常時のデータの流れを示す図である。
図5】ユーザ操作検知時のデータの流れを示す図である。
図6】ユーザ操作検知時のバッファメモリ部のバッファリング状態を説明する図である。
図7】上書セグメント番号決定部による上書セグメント番号の決定処理例を説明する図である。
図8】(1)は、従来技術のFIFO方式を用いたアダプティブストリーミングのバッファ管理を説明する図である。(2)は、本発明の新方式を用いたアダプティブストリーミングのバッファ管理を説明する図である。
【発明を実施するための形態】
【0029】
以下、本発明を実施するための形態について図面を用いて詳細に説明する。本発明は、サーバからユーザ端末へ動画を配信するアダプティブストリーミングを行うシステムにおいて、FIFO方式にて動画のセグメントをバッファリングし、デコーダ部へ受け渡しているときに、動画を切り替えるユーザ操作があると、バッファリングされている複数の動画切替前セグメントの所定箇所から、動画切替後セグメントを上書きすることを特徴とする。
【0030】
これにより、動画を切り替えるユーザ操作があると、バッファリングされた全ての動画切替前セグメントがデコーダ部へ受け渡されることなく、一部の動画切替前セグメントのみが受け渡される。そして、一部の動画切替前セグメントの受け渡しが完了した後、動画切替後セグメントが受け渡される。このため、動画切替後セグメントは、ユーザ操作があってから短時間にデコーダ部へ受け渡される。
【0031】
したがって、ネット動画を視聴しているユーザがザッピングを行ったときに、別の動画の視聴開始までの待ち時間を短縮することができる。
【0032】
〔全体システム〕
まず、本発明の実施形態によるユーザ端末を含む全体システムについて説明する。図1は、本発明の実施形態によるユーザ端末を含む全体システムの構成例を示す概略図である。
【0033】
このシステムは、ユーザ端末1及びサーバ2を備えて構成され、サーバ2からインターネット3を介してユーザ端末1へ動画を配信するアダプティブストリーミングを行う。ユーザ端末1及びサーバ2は、インターネット3を介して接続される。インターネット3は、例えばオープンインターネットである。
【0034】
ユーザ端末1は、通信インターフェース10、OS(オペレーティングシステム)11、WEBブラウザ12、受信バッファ管理部13、デコーダ部14及び表示部15を備えている。ユーザ端末1は、パーソナルコンピュータであってもよいし、スマートフォン等の携帯型の端末装置であってもよい。要するに、ユーザ端末1は、サーバ2から動画をダウンロードしてバッファリングし、再生する機能を有していれば何でもよい。
【0035】
通信インターフェース10は、当該ユーザ端末1とサーバ2との間で、インターネット3を介して所定のプロトコルに従いデータの送受信を行う。通信インターフェース10は、例えばEthernet(イーサネット(登録商標))である。
【0036】
OS11は、各種のプログラムの実行を制御するためのソフトウェアであり、基本的な機能として、通信インターフェース10、WEBブラウザ12、受信バッファ管理部13、デコーダ部14及び表示部15を管理する。OS11は、例えばWindows(登録商標)であってもよいし、iOSであってもよい。
【0037】
WEBブラウザ12は、WEBページを閲覧するためのソフトウェアであり、例えばInternet Explorer(インターネットエクスプローラー、登録商標)であってもよいし、Chrome(クローム、登録商標)であってもよい。
【0038】
受信バッファ管理部13は、FIFO方式にて、サーバ2から配信された動画のセグメントをバッファリングし、当該セグメントをデコーダ部14へ受け渡す。受信バッファ管理部13は、ユーザによるザッピングの操作を検知すると、FIFO方式に代わる新方式にて、サーバ2から配信された別の動画のセグメントをバッファリングする。
【0039】
具体的には、受信バッファ管理部13は、ザッピングに伴う別の動画のセグメントを、バッファリングされている視聴中の動画の複数のセグメントに対して所定箇所から上書きする。受信バッファ管理部13は、上書対象でない残りのセグメントを順番にデコーダ部14へ受け渡した後、別の動画のセグメントをデコーダ部14へ受け渡す。
【0040】
図8(2)は、本発明の新方式を用いたアダプティブストリーミングのバッファ管理を説明する図である。図8(1)と同様に、視聴中の動画のセグメントを動画切替前セグメントとし、ザッピングにより切り替わる別の動画のセグメントを動画切替後セグメントとする。
【0041】
ユーザ端末1の受信バッファ管理部13には、動画切替前セグメントSG1~SG5がバッファリングされているものとする。この状態で、ユーザによるザッピングが行われると、ユーザ端末1からサーバ2へ別の動画のリクエスト要求が送信される。
【0042】
そうすると、ユーザ端末1の受信バッファ管理部13は、サーバ2から動画切替後セグメントSG3’,SG4’等を受信する。そして、受信バッファ管理部13は、動画切替後セグメントSG3’,SG4’等を、バッファリングされている動画切替前セグメントSG1~SG5のうち3番目の動画切替前セグメントSG3の箇所から上書きする。ここで、上書きする箇所は、動画切替後セグメントのダウンロード予測時間に基づいて決定される。詳細については後述する。
【0043】
受信バッファ管理部13は、バッファリングされている動画切替前セグメントSG1、SG2を順番に読み出し、デコーダ部14へ受け渡す。そして、受信バッファ管理部13は、動画切替前セグメントSG1、SG2の受け渡しが完了した後に、バッファリングされている動画切替後セグメントSG3’,SG4’等を順番に読み出し、デコーダ部14へ受け渡す。
【0044】
このように、ユーザによるザッピングが行われると、バッファリングされている動画切替前セグメントSG1~SG5の全てが受け渡されることなく、動画切替前セグメントSG1,SG2のみが受け渡される。また、動画切替前セグメントSG3以降の箇所に、別の動画の動画切替後セグメントSG3’等が上書きされる。
【0045】
つまり、ユーザによるザッピングが行われると、バッファリングされている動画切替前セグメントSG1~SG5のうち、動画切替前セグメントSG1,SG2のみの受け渡しが行われ、動画切替前セグメントSG3~SG5の受け渡しは行われない。そして、動画切替前セグメントSG3~SG5の代わりに、動画切替後セグメントSG3’等の受け渡しが行われる。
【0046】
したがって、動画切替前セグメントSG3~SG5の受け渡しが行われない時間だけ、ユーザによるザッピングに伴う動画の切り替わり時間、すなわち次に視聴が行われる別の動画の視聴開始までの待ち時間が短縮される。
【0047】
図1に戻って、デコーダ部14は、受信バッファ管理部13からセグメントを入力し、H264、H265等の各種符号化方式で符号化されたセグメントの動画データをデコードし、表示部15に表示する。これにより、動画の再生が行われる。表示部15は、テレビ画面であってもよいし、パソコン用モニタの画面であってもよい。
【0048】
サーバ2は、ユーザ端末1からインターネット3を介してセグメント要求を受信し、当該セグメント要求に対応する動画のセグメントを、インターネット3を介してユーザ端末1へ送信する。サーバ2は、動画を配信可能なコンピュータ装置であれば何でもよい。
【0049】
〔受信バッファ管理部13〕
次に、図1に示したユーザ端末1の受信バッファ管理部13について詳細に説明する。図2は、ユーザ操作検知時の受信バッファ管理部13による処理例の概要を示すフローチャートである。
【0050】
受信バッファ管理部13は、ユーザが視聴している動画について、そのセグメントのダウンロード時間を計測する(ステップS201)。
【0051】
受信バッファ管理部13は、ユーザによるザッピングの操作を検知する(ステップS202)。そうすると、受信バッファ管理部13は、ザッピングに伴い指定された動画(別の動画)を再生するために、当該動画のセグメントの送信を要求するためのセグメント要求をサーバ2へ送信する(ステップS203)。
【0052】
また、受信バッファ管理部13は、別の動画について、ステップS201にて計測したダウンロード時間に基づき、当該動画のセグメント(動画切替後セグメント)のダウンロード時間を予測する(ステップS204)。
【0053】
受信バッファ管理部13は、別の動画について、ステップS204にて予測したダウンロード時間(ダウンロード予測時間)に基づき、バッファリングの上書箇所(上書セグメント番号)を決定する(ステップS205)。つまり、受信バッファ管理部13は、別の動画について、ダウンロード予測時間に基づき、視聴中の複数のセグメント(動画切替前セグメント)における上書箇所を示す上書セグメント番号を決定する。
【0054】
図8(2)に示した例においては、別の動画は、動画切替前セグメントSG3以降の箇所に順番に上書きされるから、上書セグメント番号は3である。
【0055】
受信バッファ管理部13は、サーバ2から、ステップS203にて送信したセグメント要求に対応するセグメントを受信する(ステップS206)。そして、受信バッファ管理部13は、当該セグメントを、ステップS205にて決定した上書セグメント番号の箇所に上書きする(ステップS207)。
【0056】
これにより、ザッピングに伴い指定された動画について、セグメント要求の送信及び動画切替後セグメントの受信が繰り返される。そして、動画切替後セグメントは、上書セグメント番号の箇所から順次上書きされ、動画切替後セグメントのバッファリングが開始する。
【0057】
受信バッファ管理部13は、バッファリングされている視聴中の動画切替前セグメントをデコーダ部14へ受け渡した後、動画切替後セグメントをデコーダ部14へ受け渡す(ステップS208)。
【0058】
これにより、動画切替後セグメントが上書きされなかった残りの動画切替前セグメントが再生された後、ザッピングに伴い指定された動画の動画切替後セグメントが再生される。
【0059】
次に、受信バッファ管理部13の構成及びデータの流れについて説明する。図3は、受信バッファ管理部13の構成例を示すブロック図である。図4は、通常時のデータの流れを示す図であり、図5は、ユーザ操作検知時のデータの流れを示す図である。
【0060】
この受信バッファ管理部13は、ダウンロード時間計測部20、ユーザ操作検知部21、セグメント要求部22、ダウンロード時間予測部23、通信部24、上書セグメント番号決定部(上書セグメント決定部)25、セグメント受信部26、書込制御部27、デコーダ受渡制御部(読み出し部)28及びバッファメモリ部29を備えている。
【0061】
以下、受信バッファ管理部13に備えたそれぞれの構成部の処理について、図4及び図5を用いて説明する。
【0062】
(通常時)
まず、図4を参照して、ユーザが動画を視聴している通常時における各構成部の処理について説明する。セグメント要求部22は、当該動画のセグメントの送信を要求するセグメント要求(SG要求)を生成し、セグメント要求を通信部24に出力する。
【0063】
通信部24は、セグメント要求部22からセグメント要求を入力し、セグメント要求を含むパケットをサーバ2へ送信する。そして、通信部24は、サーバ2から、当該セグメント要求に対応するセグメント(SG)を含むパケットを受信し、セグメントをセグメント受信部26に出力する。
【0064】
また、通信部24は、セグメント要求をサーバ2へ送信した時刻T1を、図示しない時計から取得し、サーバ2から当該セグメント要求に対応するセグメントを受信した時刻T2を、図示しない時計から取得する。そして、通信部24は、時刻T1,T2をダウンロード時間計測部20に出力する。この場合、通信部24は、送信したセグメント要求及び受信したセグメント毎に、時刻T1,T2を取得してダウンロード時間計測部20に出力する。
【0065】
ダウンロード時間計測部20は、通信部24から時刻T1,T2を入力し、時刻T2から時刻T1を減算し(T2-T1)、減算結果をダウンロード時間として計測する。そして、ダウンロード時間計測部20は、計測したダウンロード時間を図示しないメモリに格納する。この場合、ダウンロード時間計測部20は、通信部24にて送信したセグメント要求及び受信したセグメントの組毎に(セグメント毎に)、セグメントのダウンロード時間を計測してメモリに格納する。
【0066】
これにより、図示しないメモリには、ユーザが視聴中の動画について、そのセグメントのダウンロード時間が順次格納される。ダウンロード時間は、インターネット3の輻輳が大きいほど長い時間となり、輻輳が小さいほど短い時間となる。
【0067】
尚、ダウンロード時間計測部20は、セグメントのダウンロード時間の計測を、セグメント毎に毎回行うようにしてもよいし、所定間隔毎(所定時間毎または所定回数毎)に行うようにしてもよい。
【0068】
セグメント受信部26は、通信部24からセグメントを入力し、当該セグメントを書込制御部27に出力する。
【0069】
書込制御部27は、セグメント受信部26からセグメントを入力し、当該セグメントを、FIFO方式にてバッファメモリ部29に順次書き込む。これにより、バッファメモリ部29には、ユーザが視聴中の動画について、そのセグメントが順次書き込まれる。
【0070】
尚、インターネット3の輻輳状態によっては、ユーザ端末1はセグメントを昇順に受信するとは限らない。このため、ユーザ端末1が番号の入れ替わったセグメントを受信した場合には、書込制御部27は、番号の入れ替わったセグメントを昇順に並び替えた後、セグメントをバッファメモリ部29に格納する。
【0071】
デコーダ受渡制御部28は、バッファメモリ部29に所定数のセグメントが書き込まれた状態において、セグメント毎の再生時刻に基づいて、FIFO方式にて先頭からセグメントを順次読み出し、セグメントをデコーダ部14へ受け渡す。これにより、バッファメモリ部29からデコーダ部14へ受け渡されたそれぞれのセグメントは、対応する再生時刻に再生される。
【0072】
このように、ユーザが動画を視聴している通常時において、ダウンロード時間計測部20により、セグメント毎のダウンロード時間が計測される。
【0073】
(ユーザ操作検知時)
次に、図5を参照して、ユーザ操作検知時における各構成部の処理について説明する。ユーザ操作検知部21は、ユーザが別の動画を選択する操作、すなわちユーザによるザッピングの操作を検知すると、ザッピングにより切り替わる別の動画(視聴中の動画とは別の動画)をダウンロードするための別動画指示をセグメント要求部22に出力する。
【0074】
セグメント要求部22は、ユーザ操作検知部21から別動画指示を入力すると、当該別動画指示の示す別の動画のセグメントの送信を要求するセグメント要求を生成し、セグメント要求を通信部24に出力する。また、セグメント要求部22は、当該セグメント要求を出力したことを示す別動画セグメント要求を、ダウンロード時間予測部23に出力する。
【0075】
通信部24、ダウンロード時間計測部20及びセグメント受信部26は、図4と同様の処理を行う。この場合、ダウンロード時間計測部20は、ザッピング前の視聴中の動画について、計測したダウンロード時間(DL時間)をダウンロード時間予測部23に出力する。また、セグメント受信部26は、ザッピング後の別の動画のセグメントを書込制御部27に出力する。
【0076】
ダウンロード時間予測部23は、セグメント要求部22から別動画セグメント要求を入力すると共に、ダウンロード時間計測部20から、ザッピング前の視聴中の動画のダウンロード時間を入力する。そして、ダウンロード時間予測部23は、別動画セグメント要求の示す別の動画について、ザッピング前の視聴中の動画のダウンロード時間に基づき、ダウンロード時間を予測し、ダウンロード予測時間を求める。
【0077】
ダウンロード時間予測部23は、ザッピング後の別の動画のダウンロード予測時間(DL予測時間)を上書セグメント番号決定部25に出力する。
【0078】
例えば、ダウンロード時間予測部23は、ダウンロード時間計測部20により現在時刻の直近に計測された所定数のダウンロード時間のうち、最大のダウンロード時間を特定し、これをダウンロード予測時間に設定する。または、ダウンロード時間予測部23は、ダウンロード時間計測部20により現在時刻から所定時間前の時刻までの間(所定時間内)に計測された複数のダウンロード時間のうち、最大のダウンロード時間を特定し、これをダウンロード予測時間に設定する。
【0079】
これにより、直近の複数のダウンロード時間のうち、インターネット3の輻輳が最も大きいときのダウンロード時間をダウンロード予測時間とすることができる。
【0080】
尚、ダウンロード時間予測部23は、ダウンロード時間計測部20により現在時刻の直近に計測された複数のダウンロード時間について、その平均値を算出し、これをダウンロード予測時間に設定するようにしてもよい。また、ダウンロード時間予測部23は、算出した平均値に所定値を加算し、加算結果をダウンロード予測時間に設定するようにしてもよい。
【0081】
また、ダウンロード時間予測部23は、現在時刻に最も近い時刻に計測された(最新の)ダウンロード時間を特定し、これをダウンロード予測時間に設定するようにしてもよい。直近のダウンロード時間を用いてダウンロード予測時間を設定するのは、ミクロ視点では短時間にダウンロード時間が大きく変動しないからである。
【0082】
上書セグメント番号決定部25は、ダウンロード時間予測部23からダウンロード予測時間を入力する。そして、上書セグメント番号決定部25は、ダウンロード予測時間に基づいて、バッファメモリ部29に書き込まれている視聴中の複数のセグメントのうち、上書対象のセグメント、すなわち上書箇所を示す上書セグメント番号を決定する。上書セグメント番号決定部25は、上書セグメント番号を書込制御部27に出力する。
【0083】
ここで、上書セグメント番号は、ダウンロード予測時間が長いほど、FIFO方式にて読み出される先頭のセグメントから離れた箇所の番号に決定され、ダウンロード予測時間が短いほど、先頭のセグメントに近い箇所の番号に決定される。つまり、上書セグメント番号は、バッファリングされている視聴中の複数のセグメントのうち、視聴中のセグメントがデコーダ部14へ受け渡される前までに、別の動画における最初のセグメントを上書き可能な視聴中のセグメントの番号であって、先頭に最も近いセグメントの番号である。
【0084】
また、ダウンロード時間予測部23により現在時刻に近い所定回数または所定時間内で最大のダウンロード時間がダウンロード予測時間に設定された場合、ダウンロード予測時間は、インターネット3の輻輳が反映された時間となる。したがって、上書セグメント番号は、インターネット3の輻輳が大きいほど、FIFO方式にて読み出される先頭のセグメントから離れた箇所の番号に決定され、インターネット3の輻輳が小さいほど、先頭のセグメントに近い箇所の番号に決定される。
【0085】
図6は、ユーザ操作検知時のバッファメモリ部29のバッファリング状態を説明する図であり、図7は、上書セグメント番号決定部25による上書セグメント番号の決定処理例を説明する図である。
【0086】
図6に示すように、バッファメモリ部29には、最大で、1セグメントあたりの時間長(セグメント長)をn倍した時間長分のセグメント、すなわちn個のセグメントが格納される。バッファメモリ部29のバッファリングサイズは、セグメント長×nである。nは正の整数である。
【0087】
また、ユーザ操作検知時にバッファリングされている先頭のセグメントの番号を1、その次の番号を2、・・・、最後のセグメントの番号をnとする。セグメントの格納箇所をそれぞれP1,P2,・・・,Pnとする。
【0088】
FIFO方式において、箇所P1に格納された先頭のセグメントSG1は、デコーダ受渡制御部28により読み出され(α1)、箇所Pn,・・・,P2に格納されたセグメントSGn,・・・,SG2は、箇所Pn-1,・・・,P1へそれぞれシフトする(α2)。そして、新たなセグメントが、書込制御部27により箇所Pnに書き込まれる(α3)。
【0089】
ユーザ操作検知時のバッファメモリ部29には、ザッピング前の視聴中の動画切替前セグメントSG1,SG2,・・・,SGnが格納されているものとする。
【0090】
また、図7に示すように、図6に示したザッピング前の視聴中の動画切替前セグメントSG1,SG2,・・・,SGnについて、それぞれの再生時刻(再生開始時刻)をt1,t2,・・・,tnとする。再生時刻は、動画のストリームの先頭からの時刻を示す。
【0091】
上書セグメント番号決定部25は、図6に示したユーザ操作検知時のバッファメモリ部29のバッファリング状態、及び、図7に示した再生時刻t1,t2,・・・,tnを管理しているものとする。
【0092】
上書セグメント番号決定部25は、ダウンロード時間予測部23から入力したダウンロード予測時間、デコーダ部14におけるデコード時間、表示部15における表示時間等を加算し、ザッピング後の別の動画の予測再生時間を求める。そして、上書セグメント番号決定部25は、ユーザ操作が検知された現在時刻に予測再生時間を加算し、予測再生時刻を求める。現在時刻は、図示しない時計から取得される。
【0093】
上書セグメント番号決定部25は、予測再生時刻を超える直近の再生時刻を判断し、当該再生時刻に対応するセグメントを特定する。そして、上書セグメント番号決定部25は、当該セグメントが格納されているバッファメモリ部29の箇所を特定し、当該セグメントの番号を上書セグメント番号として決定する。
【0094】
図6及び図7の例では、上書セグメント番号決定部25は、予測再生時刻を超える直近の再生時刻t3を判断し、再生時刻t3に対応する動画切替前セグメントSG3を特定する。そして、上書セグメント番号決定部25は、動画切替前セグメントSG3が格納されているバッファメモリ部29の箇所P3を特定し、動画切替前セグメントSG3の番号を上書セグメント番号3として決定する。
【0095】
図5に戻って、書込制御部27は、セグメント受信部26からザッピング後の別の動画における最初の動画切替後セグメントを入力すると共に、上書セグメント番号決定部25から上書セグメント番号を入力する。そして、書込制御部27は、バッファメモリ部29に格納されている上書セグメント番号の動画切替前セグメントの箇所を判断し、最初の動画切替後セグメントを、上書セグメント番号の動画切替前セグメントの箇所に上書きする。
【0096】
これにより、視聴中の上書セグメント番号の動画切替前セグメントがデコーダ部14へ受け渡される前に、別の動画における最初の動画切替後セグメントが、その箇所に上書きされる。
【0097】
図6及び図7の例では、視聴中の動画切替前セグメントSG3が、バッファメモリ部29の箇所P3に格納されている。この場合、書込制御部27は、動画切替前セグメントSG3が格納されている箇所P3を判断し、別の動画における最初の動画切替後セグメントを、バッファメモリ部29の箇所P3に上書きする。
【0098】
実際は、最初の動画切替後セグメントのダウンロード時間内に、バッファメモリ部29に格納されている視聴中の動画切替前セグメントがデコーダ部14へ受け渡されてしまい、残りの視聴中の動画切替前セグメントは、バッファメモリ部29内でシフトする。
【0099】
バッファメモリ部29に格納された視聴中の動画切替前セグメントSG1,SG2が、デコーダ受渡制御部28により既に読み出されデコーダ部14へ受け渡された場合には、動画切替前セグメントSG3は、箇所P1にシフトしている。この場合、書込制御部27は、動画切替前セグメントSG3が格納されている箇所P1を判断し、最初の動画切替後セグメントを、バッファメモリ部29の箇所P1に上書きする。
【0100】
その後、書込制御部27は、セグメント受信部26から入力する動画切替後セグメントを、バッファメモリ部29の上書箇所の次から順次格納する。これにより、ザッピングに伴う別の動画の動画切替後セグメントのバッファリングが開始する。
【0101】
デコーダ受渡制御部28は、バッファメモリ部29から視聴中の動画切替前セグメントを読み出し、読み出した動画切替前セグメントをデコーダ部14へ受け渡す。そして、デコーダ受渡制御部28は、視聴中の動画切替前セグメントの受け渡しが完了した後、バッファメモリ部29から別の動画の動画切替後セグメントを読み出し、読み出した動画切替後セグメントをデコーダ部14へ受け渡す。
【0102】
図6及び図7の例において、バッファメモリ部29には、視聴中の動画切替前セグメントSG1,SG2及び別の動画の動画切替後セグメントSG3’,・・・,SGn’が格納されているものとする。この場合、デコーダ受渡制御部28は、バッファメモリ部29から、視聴中の動画切替前セグメントSG1,SG2を順次読み出してデコーダ部14へ受け渡す。そして、デコーダ受渡制御部28は、バッファメモリ部29から、別の動画の動画切替後セグメントSG3’,・・・,SGn’を読み出してデコーダ部14へ受け渡す。
【0103】
これにより、書込制御部27により上書きされなかった残りの動画切替前セグメントが再生された後、別の動画の動画切替後セグメントが再生される。
【0104】
以上のように、本発明の実施形態のユーザ端末1によれば、受信バッファ管理部13のダウンロード時間計測部20は、視聴中の動画について、そのセグメントのダウンロード時間を計測する。ユーザ操作検知部21がユーザによるザッピングの操作を検知すると、ダウンロード時間予測部23は、ザッピング後の別の動画について、計測された視聴中の動画(動画切替前セグメント)のダウンロード時間に基づき、そのセグメント(動画切替後セグメント)のダウンロード時間を予測する。
【0105】
上書セグメント番号決定部25は、動画切替後セグメントについて、予測されたダウンロード時間(ダウンロード予測時間)に基づき、バッファメモリ部29にバッファリングされている複数の動画切替前セグメントにおける上書箇所(上書セグメント番号)を決定する。
【0106】
書込制御部27は、動画切替後セグメントを、バッファメモリ部29における上書セグメント番号の箇所から順次上書きする。
【0107】
デコーダ受渡制御部28は、バッファメモリ部29にバッファリングされている動画切替前セグメントをデコーダ部14へ受け渡した後、動画切替後セグメントをデコーダ部14へ受け渡す。
【0108】
これにより、ザッピングが行われたときに、バッファリングされた全ての動画切替前セグメントがデコーダ部14へ受け渡されることがなく、一部の動画切替前セグメントが受け渡された後、動画切替後セグメントの受け渡しが行われる。つまり、上書きされなかった残りの動画切替前セグメントが再生された後、動画切替後セグメントが再生される。
【0109】
このように、ユーザはザッピングを行うと、バッファメモリ部29にバッファリングされている全ての動画切替前セグメントの視聴が完了することを待つことなく、動画切替後セグメントを視聴することができる。
【0110】
したがって、ネット動画を視聴しているユーザがザッピングを行ったときに、別の動画の視聴開始までの待ち時間を短縮することができる。また、視聴中の動画から別の動画へ、迅速にかつ途切れることなく連続的に切り替えることができる。
【0111】
また、ダウンロード時間予測部23は、現在時刻を基準とした所定回数または所定時間のダウンロード時間のうち、最大のダウンロード時間をダウンロード予測時間に設定する。上書セグメント番号決定部25は、動画切替後セグメントについて、ダウンロード予測時間である最大のダウンロード時間に基づき上書セグメント番号を決定する。
【0112】
これにより、インターネット3の輻輳が最も大きいときのダウンロード時間がダウンロード予測時間に設定され、上書セグメント番号は、最も大きい輻輳が反映された番号となる。このため、書込制御部27は、先頭の動画切替後セグメントを、バッファメモリ部29における上書セグメント番号の箇所に上書きする際に、インターネット3の輻輳があったとしても、上書セグメント番号の箇所に格納された動画切替前セグメントがデコーダ部14へ受け渡される前に、当該箇所に確実に上書きすることができる。
【0113】
したがって、ネット動画を視聴しているユーザがザッピングを行ったときに、別の動画の視聴開始までの待ち時間を、確実に短縮することができる。
【0114】
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。
【0115】
尚、本発明の実施形態によるユーザ端末1のハードウェア構成としては、通常のコンピュータを使用することができる。ユーザ端末1は、CPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。
【0116】
ユーザ端末1に備えた通信インターフェース10、OS11、WEBブラウザ12、受信バッファ管理部13、デコーダ部14及び表示部15の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。また、受信バッファ管理部13について、ダウンロード時間計測部20、ユーザ操作検知部21、セグメント要求部22、ダウンロード時間予測部23、通信部24、上書セグメント番号決定部25、セグメント受信部26、書込制御部27、デコーダ受渡制御部28及びバッファメモリ部29の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。
【0117】
これらのプログラムは、前記記憶媒体に格納されており、CPUに読み出されて実行される。また、これらのプログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD-ROM、DVD等)、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。
【符号の説明】
【0118】
1 ユーザ端末
2 サーバ
3 インターネット
10 通信インターフェース
11 OS(オペレーティングシステム)
12 WEBブラウザ
13 受信バッファ管理部
14 デコーダ部
15 表示部
20 ダウンロード時間計測部
21 ユーザ操作検知部
22 セグメント要求部
23 ダウンロード時間予測部
24 通信部
25 上書セグメント番号決定部(上書セグメント決定部)
26 セグメント受信部
27 書込制御部
28 デコーダ受渡制御部(読み出し部)
29 バッファメモリ部
図1
図2
図3
図4
図5
図6
図7
図8