本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係るコンテンツ再生システムは、図1に例示するように、情報蓄積装置1と、これに対してネットワーク等の通信手段を介して接続された通信装置2とを含む。ここで情報蓄積装置1は、制御部11,記憶部12,及び機能部130を含んで構成される。また機能部130は、少なくとも通信部13を含む。本実施の形態の一例では、この機能部130は、通信部13のほか、ハードウェアトランスコーダ部14を含んでもよい。また通信装置2は、制御部21,記憶部22,操作部23,出力部24,及び通信部25を含んでなる。
情報蓄積装置1は、NAS(Network Attached Storage)や、ビデオレコーダ等であり、その制御部11は、CPU等のプログラム制御デバイスであって、記憶部12に格納されたプログラムに従って動作する。本実施の形態では、この制御部11は、通信装置2側から画像情報の提供要求を受け入れる。制御部11は、当該提供要求の対象となった、当該記憶部12に蓄積しているオリジナルコンテンツデータを取得する。また、この制御部11は、当該蓄積しているオリジナルコンテンツデータに対応するコンテンツデータであって、当該オリジナルコンテンツデータとは画質の異なる第2コンテンツデータとを取得する。
そしてこの制御部11は、取得したオリジナルコンテンツデータと、当該オリジナルコンテンツデータに対応する第2コンテンツデータとをそれぞれ複数のデータブロックに分割する。制御部11はさらに、これらオリジナルコンテンツデータに対応するデータブロックと、第2コンテンツデータに対応するデータブロックとの双方に、互いに対応する再生位置を特定するブロック特定情報を含めて、提供要求を行った通信装置2に対してこれらのデータブロックを送信する。この制御部11の詳しい動作については後に述べる。
記憶部12は、メモリデバイスや、HDD(Hard Disk Drive)や、SSD(Solid State Drive)等のストレージデバイスを含んで構成される。この記憶部12には、制御部11によって実行されるプログラムが保持される。このプログラムは、コンピュータ可読な記録媒体に格納されて提供され、あるいはネットワークを介してダウンロードされてこの記憶部12に格納されたものであってもよい。また本実施の形態では、この記憶部12には、オリジナルコンテンツデータや第2コンテンツデータが蓄積される。
機能部130の通信部13は、ネットワークインタフェース等であり、制御部11から入力される指示に従って、コンテンツデータを、ネットワークを介して通信装置2へ送信する。またこの通信部13は、通信装置2から受信した提供要求を制御部11に出力する。
また機能部130がハードウェアトランスコーダ部14を含む場合、このハードウェアトランスコーダ部14は、制御部11から入力される指示に従って、コンテンツデータ(オリジナルコンテンツデータや第2コンテンツデータ等)を、制御部11から指示された圧縮方法や符号化方法によるコンテンツデータへ変換する処理(トランスコーディング処理)を行う。
通信装置2の制御部21は、CPU等のプログラム制御デバイスであって、記憶部22に格納されたプログラムに従って動作する。この制御部21は、オリジナルコンテンツデータと、当該オリジナルコンテンツデータに対応し、当該オリジナルコンテンツデータとは画質の異なる第2コンテンツデータとをそれぞれ分割して得られたデータブロックを受信する。これらのオリジナルコンテンツデータに対応するデータブロックと、第2コンテンツデータに対応するデータブロックとの双方には、それぞれ互いに対応する再生位置を特定するブロック特定情報が含められており、制御部21は、受信したオリジナルコンテンツデータと第2コンテンツデータの一方を選択して再生する。この制御部21の動作についても、後に詳しく述べる。
記憶部22は、メモリデバイス等を含んで構成される。この記憶部22には、制御部21によって実行されるプログラムが保持される。このプログラムは、コンピュータ可読な記録媒体に格納されて提供され、あるいはネットワークを介してダウンロードされて、この記憶部22に格納されたものであってもよい。
操作部23は、テンキーや、タッチパネル等であり、利用者の指示操作を受け入れて、当該指示操作の内容を制御部21に出力する。出力部24は、ディスプレイやスピーカー、またはそれらに対する出力インタフェース等であり、制御部21から入力される指示に従って、画像情報を表示し、また音声を鳴動する。あるいは、制御部21から入力される指示に従って、画像情報や音声に係る信号を出力する。
通信部25は、無線LANインタフェースや携帯電話通信インタフェースを含む。この通信部25は、無線LANや、3G、LTE等、通信速度の互いに異なる複数の通信方法を通じてコンテンツデータを受信し、制御部21に出力する。ここで通信速度の異なる通信方法とは、同じ方式であっても帯域幅が異なればよく、また、そもそも通信速度の異なる複数の通信方式を指すものであってもよい。本実施の形態の一例によると、この通信部25は、たとえば無線LANとLTE等の携帯電話通信回線との双方を用いて同時期に多重的に通信を行う。つまり具体的には無線LANを介してオリジナルコンテンツデータを受信し、またLTE等の携帯電話通信回線を介して第2コンテンツデータを受信することとしてもよい。さらに、別の例では、通信部25は、LTE回線を介してオリジナルコンテンツデータを受信し、また3G回線を介して第2コンテンツデータを受信することとしてもよい。
本実施の形態の情報蓄積装置1のある例では、オリジナルコンテンツデータが記憶部12に格納されている。このオリジナルコンテンツデータは、本実施の形態では、第2コンテンツデータに比べて画質または音質の少なくとも一方が高いコンテンツデータであるものとする。また本実施の形態の別の例では、オリジナルコンテンツデータと第2コンテンツデータとが記憶部12に格納される。本実施の形態では、情報蓄積装置1の制御部11は、機能的には、図2に例示するように、情報取得部31と、データブロック生成部32と、送信部33とを含んで構成される。
情報取得部31は、本発明の取得手段の一例に相当する。この情報取得部31は、提供要求の対象となったコンテンツデータを記憶部12から読み出して取得する。また本実施の形態の一例では、この情報取得部31は、読み出したオリジナルコンテンツデータに基づいてトランスコーディングの処理を行い、比較的画質の低い第2コンテンツデータを生成して、第2コンテンツデータを取得する。
ここでトランスコーディングの処理とは、コンテンツデータの圧縮方法、符号化方法、解像度等の少なくとも一つを、別の方法や解像度等に変換することを指す。また、オリジナルコンテンツデータをデコードし、オリジナルコンテンツデータとは異なる圧縮方法や符号化方法である第2コンテンツデータとしてエンコード処理してもよい。このトランスコーディングの処理は、既に述べたように、機能部130がハードウェアトランスコーダ部14を備える場合は、このハードウェアトランスコーダ部14に指示することにより行ってもよいし、制御部11がソフトウエアを実行することにより行ってもよい。
本実施の形態の一例では、オリジナルコンテンツデータはMPEG(Moving Picture Experts Group)方式で圧縮された映像データを含む。この場合、オリジナルコンテンツデータは、所定再生時刻ごとにフレーム(画像要素)を含むものとなる。これらのフレームには、他のフレームを参照せずに再生可能なIフレーム(Intra Picture)と、過去のフレームの画像に基づいて再生されるPフレーム(Predictive Picture)等とが含まれる。
この例の場合、トランスコーディングの処理では、オリジナルデータにおいてIフレームが含まれている再生時刻(各Iフレームに基づいて再生される映像を出力する時刻)と、比較的画質の低い第2コンテンツデータにおいて対応するIフレームを含める再生時刻との差が予め定めたしきい値を下回るようにしながらトランスコーディングの処理を行うこととしてもよい。このようにすれば、再生の対象となるデータを、オリジナルコンテンツデータと第2コンテンツデータとの間で切替えた場合にも、Iフレームから再生が行われるようになりやすく、切替え時の画質劣化が低減できる。
なお、本実施の形態の別の例においては、制御部11が、オリジナルコンテンツデータの受信時にトランスコーディングの処理を行って第2コンテンツデータを得ておき、受信したオリジナルコンテンツデータと、得られた第2画像情報とを記憶部12に蓄積してもよい。この場合、情報取得部31は、第2コンテンツデータを取得する場合には、改めてトランスコーディングの処理を行う必要はなく、記憶部12に蓄積された第2コンテンツデータを取得すればよい。
また、映像データのみならず、音声データについても圧縮方法や符号化方法を変換する処理を行ってもよい。またオリジナルコンテンツデータの音声データが5.1チャンネルのサラウンドデータであった場合、この音声データを2チャンネルのステレオデータに変換しても情報量を削減できる。従ってトランスコーディングの処理では、音声データを2チャンネルのステレオデータにするなど、チャンネル数を増減することとしてもよい。
加えて、映像データを低品質化しても、音声データはオリジナルコンテンツデータの音声データと同等の品質を有するデータとしてもよい。特に、オリジナルコンテンツデータがMPEG−2 TS(Transport Stream)、MPEG−4、H.264/MPEG−4 AVCで符号化されている場合、オリジナルコンテンツデータの映像データのフレームを間引いて低品質な第2コンテンツデータを生成すれば、第2コンテンツデータの映像データを低品質にするとともに、その音声データをオリジナルコンテンツデータの音声データと同等のものとすることができる。
データブロック生成部32は、取得したオリジナルコンテンツデータを複数のデータブロック(パケット等)Pa_1,Pa_2,…に分割する。ここで分割により得られたi番目のデータブロックは、ブロック特定情報Na(i)で特定されるものとする。また、このデータブロック生成部32は、生成した第2コンテンツデータを複数のデータブロック(パケット等)Pb_1,Pb_2,…に分割する。この分割により得られたj番目のデータブロックは、ブロック特定情報Nb(j)で特定されるものとする。ここでデータブロックへの分割は、例えば所定のサイズのパケット単位に行われることとすればよい。
データブロック生成部32は、ここでオリジナルコンテンツデータを分割して得た各データブロックを特定する情報の列Na(1),Na(2),…と、第2コンテンツデータを分割して得た各データブロックを特定する情報の列Nb(1),Nb(2),…とを、再生順序データテーブルとして記憶部12に格納する。
ここでオリジナルコンテンツデータを分割して得た先頭のデータブロックPa_1(ブロック特定情報Na(1)で特定される)には、オリジナルコンテンツデータの時刻0の再生位置(先頭)を先頭側再生位置とし、末端側再生位置(時刻)をta_1とするコンテンツデータが含まれ、またPa_2(ブロック特定情報Na(2)で特定される)には先頭側再生位置ta_1から末端側再生位置ta_2でのコンテンツデータが含まれる。以下同様に、オリジナルコンテンツデータを分割して得たi番目のデータブロックPa_i(ブロック特定情報Na(i)で特定される)には、先頭側再生位置ta_(i-1)から末端側再生位置ta_iまでのコンテンツデータが含まれる(ただし、ta_0=0)。本実施の形態の一例では、データブロック生成部32は、生成したデータブロックの各々に、そのデータブロック内に含まれるオリジナルコンテンツデータの先頭側再生位置ta_(i-1)と末端側再生位置ta_iとのそれぞれを表す再生時刻の情報を含めてもよい。
また同じように、第2コンテンツデータを分割して得た先頭のデータブロックPb_1(ブロック特定情報Nb(1)で特定される)には、第2コンテンツデータの時刻0の再生位置(先頭側再生位置)から末端側再生位置(時刻)tb_1までのコンテンツデータが含まれ、またPb_2(ブロック特定情報Nb(2)で特定される)には、先頭側再生位置tb_1から末端側再生位置tb_2までのコンテンツデータが含まれる。以下同様に、オリジナルコンテンツデータを分割して得たi番目のデータブロックPb_i(ブロック特定情報Nb(i)で特定される)には、先頭側再生位置tb_(i-1)から末端側再生位置tb_iまでのコンテンツデータが含まれる(ただし、tb_0=0)。本実施の形態の一例では、データブロック生成部32は、生成したデータブロックの各々に、そのデータブロック内に含まれる第2コンテンツデータの先頭側再生位置tb_(i-1)と末端側再生位置tb_iとのそれぞれを表す再生時刻の情報を含めてもよい。
ここでより画質の高いオリジナルコンテンツデータを分割して得た各データブロックに含まれる情報によって表される動画像の再生時間は、同じ部分のコンテンツデータについて、より画質の低い第2コンテンツデータを分割して得た各データブロック(パケット)に含まれる情報で表される動画像の再生時間よりも短いものとなる。つまり図3にその概要を例示するように、オリジナルコンテンツデータを分割して得られたパケット(第1種パケットと呼ぶ)の数は、第2コンテンツデータを分割して得られたパケット(第2種パケットと呼ぶ)の数とは異なる。ここで各パケットのデータサイズは、第1種であると第2種であるとに限らず一定(上記所定のサイズ)であるものとする。
そこで本実施の形態のデータブロック生成部32は、第1種パケットの各々に、各第1種パケットに含まれるコンテンツデータの再生位置に対応する再生位置のコンテンツデータを含む第2種パケットを特定する情報(切替先識別情報と呼ぶ)を含める。具体的にデータブロック生成部32は、ブロック特定情報Na(i)で特定される第1種パケットPa_i(先頭側再生位置ta_(i-1)から末端側再生位置ta_iまでのコンテンツデータが含まれる)に対応する再生位置のコンテンツデータを含む第2種パケットとして、|tb_j−ta_i|<Δtかつ、|tb_j−ta_i|が最小であるとの条件を満足する、ブロック特定情報Nb(j)で特定される第2種パケットPb_jを検索する。ここで|*|は、*の絶対値を意味する。またΔtは予め定めた時間とする。
ここで|tb_j−ta_i|<Δtを満足する第2種パケットが検索により見出された場合、データブロック生成部32は、当該第2種パケットPb_jを特定するブロック特定情報Nb(j)をi番目の第1種パケットPa_iに対して、例えばヘッダまたはトレイラなどとして含める。具体的にこのj番目の第2種パケットPb_jを特定するブロック特定情報Nb(j)は、このjの値そのもの(すなわち連番)であってもよいし、必ずしも連番でなくてもよい。
また、|tb_j−ta_i|<Δtを満足する第2種パケットが検索により見出せない場合は、データブロック生成部32は、第1種パケットPa_iに対しては切替先特定情報としての第2種パケットを特定するブロック特定情報を含めない。この場合、第2種パケットを特定するブロック特定情報を含めるべき部分を、予め定めたデータでパディングしておいてもよい。
なお、上記の条件により第2種パケットPb_jを検索した場合、最大Δtのギャップ(再生されない期間)が生じる場合もある。そこでtb_j−ta_iの正負に応じてΔtを異なるように設定してもよい。具体的には、tb_j−ta_iが正(再生位置が戻る)場合より、tb_j−ta_iが負(再生しない部分がある)のときのほうがΔtが小さくなるように設定してもよい。
このとき、tb_j−ta_iが負の場合のΔtを「0」としておくことにより、tb_j−ta_iが負にならない条件が課されることとなるので、そのようにしてもよい。また、|tb_j−ta_i|<Δtでなければ、データブロック生成部32は、tb_j<ta_iであって、|tb_j−ta_i|が最も小さくなる条件を満足する第2種パケットを検索により見出し、この第2種パケットPb_jを特定するブロック特定情報Nb(j)をi番目の第1種パケットPa_iに対して、例えばヘッダまたはトレイラなどとして含めることとしてもよい。この場合には、末端側再生位置ta_iの情報をさらに含めておいてもよい。通信装置2側において、第2種パケットPb_jのうち、当該末端側再生位置ta_iに対応する再生位置にジャンプして再生を継続することを可能とするためである。
またデータブロック生成部32は、ブロック特定情報Nb(j)で特定される第2種パケットPb_j(先頭側再生位置tb_(j-1)から末端側再生位置tb_jまでの第2コンテンツデータが含まれる)に対応する再生位置のオリジナルコンテンツデータを含む第1種パケットとして、|tb_j−ta_i|<Δtかつ、|tb_j−ta_i|が最小であるとの条件を満足する、ブロック特定情報Na(i)で特定される第1種パケットPa_iを検索する。
データブロック生成部32は、当該検索により見出した第1種パケットPa_iを特定するブロック特定情報Na(j)を、第2種パケットPb_jの一部、例えばヘッダまたはトレイラなどに、切替先識別情報として含めることとしてもよい。具体的にこのj番目の第1種パケットPa_jを特定するブロック特定情報Na(j)は、このjの値そのもの(すなわち連番)であってもよいし、必ずしも連番でなくてもよい。
この場合も、ta_i−tb_jが正(再生位置が戻る)場合より、ta_i−tb_jが負(再生しない部分がある)のときのほうがΔtが小さくなるように設定してもよい。
このとき、ta_i−tb_jが負の場合のΔtを「0」としておくことにより、ta_i−tb_jが負にならない条件が課されることとなるので、そのようにしてもよい。また、|tb_j−ta_i|<Δtでなければ、データブロック生成部32は、ta_i<tb_jであって、|tb_j−ta_i|が最も小さくなる条件を満足する第1種パケットを検索により見出し、この第1種パケットPa_iを特定するブロック特定情報Na(i)をj番目の第2種パケットPb_jに対して、例えばヘッダまたはトレイラなどとして含めることとしてもよい。この場合には、末端側再生位置tb_jの情報をさらに含めておいてもよい。通信装置2側において、第1種パケットPa_iのうち、当該末端側再生位置tb_jに対応する再生位置にジャンプして再生を継続することを可能とするためである。
これにより、オリジナルコンテンツデータを分割して得た各データブロックと、第2コンテンツデータを分割して得た各データブロックとの双方に、互いに対応する再生位置にあたるコンテンツデータを含んだデータブロックを特定するブロック特定情報(切替先識別情報)が含められる。
送信部33は、同画像情報の提供要求を行った通信装置2に対して、これらのデータブロック(第1種パケット及び第2種パケット)を、再生順序データテーブルを参照しながら、先頭側から順次送信する。本実施の形態においてこの送信部33は、通信部13(ネットワークインタフェース)を介して通信装置2との間で少なくとも一つの通信セッション(具体的にはTCPセッションでよい)を確立し、この通信セッションを介して第1、第2種パケットを順次送出する。
またこの送信部33は、通信装置2側からデータブロックの種類(ここでの例では第1種または第2種パケットのいずれか)を指定する情報とブロック特定情報の指定とともに、当該指定されたデータブロックの要求を受け入れる。送信部33はこの要求を受け入れると、指定された種類のデータブロックであって、指定されたブロック特定情報で特定されるデータブロックを、再生順序データテーブルから検索する。
そして送信部33は、当該検索の結果見出された再生順序データテーブル上の位置(i番目とする)以降のデータブロック(i,i+1,i+2…番目のデータブロック)を特定するブロック特定情報を順次読み出し、当該読み出したブロック特定情報で特定されるデータブロックを記憶部12から読み出して順次送信する。このとき、指定された種類でないデータブロックの送信は中断してもよい。
例えば第2種パケットを指定する情報、並びにデータブロックの要求とともに、ブロック特定情報としてNb(i)を受信すると、送信部33は第1種パケットの送信を中断して、これらの情報で特定される第2種パケットPb_i以降のデータブロックである第2種パケットPb_(i),Pb_(i+1),Pb_(i+2)…を順次送信する。さらに送信部33は、通常の送信に戻るべき旨の指示を受けると、既に送信済となっているデータブロックの次のデータブロックから順次、第1種パケット及び第2種パケットの送信を再開する。
またこの送信部33は、通信装置2側からデータブロックの種類(ここでの例では第1種または第2種パケットのいずれか)を指定する情報とブロック特定情報の指定とともに、当該ブロック特定情報で特定されるデータブロックを基準として指定された数だけ前または後のデータブロックの要求を受け入れる。送信部33はこの要求を受け入れると、指定された種類のデータブロックであって、指定されたブロック特定情報で特定されるデータブロックから指定された数だけ前または後のデータブロックを、再生順序データテーブルから検索する。
そして送信部33は、当該検索の結果見出された再生順序データテーブル上の位置以降のデータブロックを特定するブロック特定情報を順次読み出し、当該読み出したブロック特定情報で特定されるデータブロックを順次送信する。このとき、指定された種類でないデータブロックの送信は中断してもよい。
具体的に、送信部33が通信装置2側から第2種パケットを指定する情報とブロック特定情報の指定(ここではi番目のデータブロックが指定されたものとする)とともに、当該ブロック特定情報で特定されるデータブロックを基準として指定された数nだけ前または後(ここではn=1だけ後のデータブロックを要求するものとする)のデータブロックの要求を受け入れると、送信部33は、指定された種類のデータブロックであって、i番目のデータブロックから指定された数n=1だけ後のデータブロック(この例ではi+1番目のデータブロック)を、再生順序データテーブルから検索する。
そして送信部33は、当該検索の結果見出された再生順序データテーブル上の位置以降のデータブロックを特定するブロック特定情報を順次読み出し、第1種パケットの送信を中断して、これらの情報で特定される第2種パケットPb_iより1つだけ後のデータブロックである第2種パケットPb_(i+1)以降の第2種パケットPb_(i+1),Pb_(i+2)…を順次送信する。さらに送信部33は、通常の送信に戻るべき旨の指示を受けると、既に送信済となっているデータブロックの次のデータブロックから順次、第1種パケット及び第2種パケットの送信を再開する。
さらに本実施の形態の一例では、送信部33は、さらに、通信装置2側から再生時刻(τとする)の指定とともにデータブロックの要求を受け入れる。
送信部33は、記憶部12に格納されている、第1,第2種パケットのそれぞれについて、対応する先頭側再生位置t_(i-1)と末端側再生位置t_iと指定された再生時刻τとが、t_(i-1)≦τ≦t_iを満足し、かつ、指定された再生時刻τに最も近い先頭側再生位置t_(i-1)の情報を含んだデータブロック(第1種パケット及び第2種パケットの双方)を検索する。
送信部33は、当該検索の結果見出された各データブロックの、再生順序データテーブル上の位置(それぞれi番目,j番目とする)以降のデータブロック(i,i+1,i+2…番目のデータブロックと、j,j+1,j+2…番目のデータブロック)を特定するブロック特定情報を順次読み出し、当該読み出したブロック特定情報で特定されるデータブロック(第1種パケット及び第2種パケットの双方)を記憶部12から読み出して順次送信する。
通信装置2の制御部21は、機能的には、図4に例示するように、受信部41と、バッファ部42と、選択部43と、再生処理部44とを含んで構成される。
ここで受信部41は、情報蓄積装置1が送信するデータブロック(上記第1、第2種パケット)を受信する。具体的に本実施の形態の一例では、受信部41は、通信部25を介して情報蓄積装置1との間で少なくとも一つの通信セッション(具体的にはTCPセッションでよい)を確立する。そしてこの受信部41は、当該通信セッションを介して情報蓄積装置1が送信する第1、第2種パケットを受信し、バッファ部42に蓄積する。この受信部41によるデータブロックの受信は、通常のコンテンツデータの再生処理中(後に述べるトリックプレイが指示されていない間)は、後に説明する再生処理部44が再生しているコンテンツデータの再生位置に関わりなく、情報蓄積装置1の送信順に、つまりコンテンツデータの先頭側から順次受信している。バッファ部42は、受信部41が受信したデータブロック(上記第1、第2種パケット)を蓄積して保持する。
選択部43は、予め定められた条件に基づいて、受信部41が受信した第1、第2種パケットのいずれか一方を再生の対象として選択して出力する処理を行う。具体的にこの選択部43の動作の一例を図5に示す。選択部43は、予め定められた条件に基づいて、受信部41が受信した第1、第2種パケットのいずれか一方を再生の対象として選択する(S1)。
そして選択部43は、当該再生の対象として選択した第1、第2種パケットのいずれかであって、バッファ部42に格納されているデータブロックのうち、最先に受信したデータブロック(あるいは再生済みであることを表すフラグが設定されていないなど、再生済みとしてマークされておらず、かつ最先に受信したデータブロック、つまり、次に再生するべきデータブロック)を再生処理部44へ出力する(S2)。また選択部43は、この出力したデータブロックをバッファ部42から削除する(あるいは再生済みであることを表すフラグを設定するなど、再生済みとしてマークしてもよい)。
選択部43は、この一方の種のパケットの選択的出力とともに、どちらの種のパケットを選択するかの動作を繰返して行う。すなわち、選択部43はさらに、予め定められた条件に基づいて、受信部41が受信した第1、第2種パケットのいずれか一方を再生の対象として選択し(S3)、前回の選択の結果と異なるか否かを判断する(S4)。
ここで前回の選択と異なると判断される場合、つまり、処理S2にて第1種パケットを出力し、処理S3にて第2種パケットを選択した場合、または処理S2にて第2種パケットを出力し、処理S3にて第1種パケットを選択した場合、選択部43は、後述の切替処理を行う(S5)。
そして選択部43は、処理S4にて選択された第1種または第2種のパケットであって、次のデータブロックがあるか否かを調べる(S6)。そして選択部43は、当該次のデータブロックがなければ(Noならば、つまり動画像の末端に至っていれば)、処理を終了する。また選択部43は処理S6において次のデータブロックがあれば(Yesならば)、処理S2に戻って処理を続ける。
また一方、処理S4において、前回の選択と異ならないと判断される場合、つまり、処理S2にて第1種パケットを出力し、処理S3でも第1種パケットを選択した場合、または処理S2にて第2種パケットを出力し、処理S4でも第2種パケットを選択した場合、選択部43は、処理S6に移行する。
また選択部43による切替処理(上記処理S5の処理)は、具体的には次のようなものとなる。すなわち選択部43は、直前の処理S2の動作にて出力したデータブロックに含まれるブロック特定情報(Na(i)またはNb(j))を読み出す。また、選択部43は、直前の処理S2の動作にて出力したデータブロックから切替先識別情報であるブロック特定情報を読み出す。
そして選択部43は、バッファ部42に格納されているデータブロックのうち、選択した再生の対象となる種類のデータブロックであって、読み出したブロック特定情報に対応するデータブロック(対応データブロックと呼ぶ)を検索する。ここで当該対応データブロックがバッファ部42に格納されていれば、選択部43は、さらに選択した再生の対象となる種類のデータブロックであって、最先に受信したデータブロックから先の検索により見出した対応データブロックまでのデータブロックをバッファ部42から削除し(あるいは再生済みとしてマークし)、処理S2に移行して、対応データブロックの次に受信したデータブロック(次に再生するべきデータブロック)を検索する。そしてこの検索により、次に再生するべきデータブロックが見出されたならば、この見出したデータブロックを再生処理部44へ出力する。
またこのとき、対応データブロックまたは、対応データブロックの次に受信したデータブロック(次に再生するべきデータブロック)がバッファ部42に格納されていない場合、選択部43は、直前の処理S3で選択した再生の対象となるデータブロックの指定と、当該読み出したブロック特定情報とを情報蓄積装置1に対して送信するとともに、当該ブロック特定情報で特定されるデータブロック(対応データブロックに相当するもの)よりも1だけ後のデータブロックの要求を情報蓄積装置1に送信する。
この選択部43の動作により、再生中のオリジナルコンテンツデータのデータブロック(ここでの第1種パケット)に含まれるブロック特定情報を参照し、当該ブロック特定情報に対応する第2コンテンツデータのデータブロック(ここでの第2種パケット)の次のデータブロックから再生を開始する処理、または再生中の第2コンテンツデータのデータブロック(ここでの第2種パケット)に含まれるブロック特定情報を参照し、当該ブロック特定情報に対応するオリジナルコンテンツデータのデータブロック(ここでの第1種パケット)の次のデータブロックから再生を開始する処理が実現される。
また上記の説明において選択部43が第1、第2種パケットのいずれか一方を再生の対象として選択するための条件は、例えば、受信部41における第1種パケットの受信速度(スループット)が予め定めたしきい値を超えるか否かの条件であるものとしてもよい。また、再生処理部44が第1、第2種パケットのいずれか一方を再生の対象とするべき旨の情報を出力した場合は、選択部43は、当該指示に従って第1、第2種パケットのいずれか一方を再生の対象として選択する。
また選択部43は、利用者から再生の対象として第1、第2種パケットのいずれか一方を指定する指示を受けて、当該指示があったことを条件として、再生の対象として指示された第1、第2種パケットのいずれか一方を再生の対象として選択することとしてもよい。このほか、選択部43における選択の条件は、種々のものが考えられる。
再生処理部44は、選択部43から入力されたデータブロックに含まれるコンテンツデータを取り出して、当該取り出したコンテンツデータを復号し、動画像を再生する。この再生処理は、広く知られた方法が採用できるので、ここでの詳しい説明を省略する。なお、本実施の形態においてこの再生処理部44は、操作部23から利用者の指示内容の入力を受け入れる。そして当該指示内容により、利用者が、巻戻しや早送り等といったいわゆる「トリックプレイ」の指示、または再生時刻を指定したジャンプの指示を行った場合には、当該指示に応じた処理を実行する。
本実施の形態のある例では、記憶部22にはトリックプレイの種類ごとに、どの種類のデータブロック(ここでは第1種または第2種パケットのいずれか)を用いるかを表す設定情報が記録されている(図6)。図6の例では、巻戻しや早送りの場合に第2種パケット、一時停止やコマ送りの場合に第1種パケットを用いるべき旨の設定がされている。
再生処理部44は入力された指示に係るトリックプレイの種類に関連付けられた設定情報を参照し、どの種類のデータブロックを用いるかを調べる。具体的に、巻戻しの指示を受け入れた場合、再生処理部44は設定情報を参照して第2種パケットを用いるべき旨の情報を取得する。そして再生処理部44は、所定の方法で定めた速度で、再生位置を通常の再生時とは逆向きに移動させつつ(現在再生中のデータブロックよりn個だけ前のデータブロックを要求しつつ)、動画像の再生処理を行う。
また再生処理部44は早送りの指示を受け入れると、設定情報を参照して第2種パケットを用いるべき旨の情報を取得する。そして再生処理部44は、所定の方法で定めた速度(通常の再生時の速度とは異なる速度)で再生位置を末端側へ移動させつつ(現在再生中のデータブロックよりn個だけ後のデータブロックを要求しつつ)、動画像の再生処理を行う。
また再生処理部44は、一時停止の指示を受け入れると、設定情報を参照して第1種パケットを用いるべき旨の情報を取得する。そして再生処理部44は、現時点の再生位置のコンテンツデータを含む第1種パケットを取得し、当該取得した第1種パケットに含まれるコンテンツデータを参照して、現時点の再生位置のコンテンツデータが表す静止画像を生成する。そして再生処理部44は、当該静止画像を表示する処理を行う。
なお、現時点の再生位置のコンテンツデータを含む第1種パケットの取得は次のように行う。再生処理部44は、第1種パケットに含まれるコンテンツデータに基づく再生処理を実行しているときに一時停止の指示を受けた場合は、当該再生処理の対象となっている第1種パケットをそのまま用いて現時点の再生位置のコンテンツデータが表す静止画像を生成し、当該静止画像を表示する処理を行う。
一方、再生処理部44は、第2種パケットに含まれるコンテンツデータに基づく再生処理を実行しているときに一時停止の指示を受けた場合は、当該再生処理の対象となっている第2種パケットに含まれるブロック特定情報(対応する第1種パケットを特定する情報)を参照し、当該ブロック特定情報で特定される第1種パケットをバッファ部42から読み出して、当該読み出した第1種パケットに含まれるコンテンツデータを用いて現時点の再生位置のコンテンツデータが表す静止画像を生成し、当該静止画像を表示する処理を行う。
さらに再生処理部44は、再生時刻を指定したジャンプの指示を受け入れると、当該再生時刻に対応するデータブロックを検索する。この例においては、データブロックの各々に、そのデータブロック内に含まれるコンテンツデータの先頭側再生位置と末端側再生位置とのそれぞれを表す再生時刻の情報が含められているものとする。
本実施の形態の一例では、再生処理部44は、指定された再生時刻τが現在の再生時刻(現在再生中の時点)より後であれば、バッファ部42に格納されている第1種パケットのうち、対応する先頭側再生位置t_(i-1)と末端側再生位置t_iが、指定された再生時刻τについて、t_(i-1)≦τ≦t_iを満足し、かつ、指定された再生時刻τに最も近い先頭側再生位置t_(i-1)の情報を含んだ第1種パケットを検索する。
再生処理部44は、上記条件に合致する第1種パケットがバッファ部42から見出されたならば、バッファ部42に格納された第1種パケットのうち、最先に受信した第1種パケットから、見出した第1種パケットの一つ前に受信した第1種パケットまでを削除(あるいは再生済みとしてマーク)する。再生処理部44は、そして、第1種パケットを選択するべき旨の指示を選択部43に出力する。これにより、当該見出した第1種パケットから再生の処理が継続される。
また再生処理部44は、上記条件に合致する第1種パケットがバッファ部42から見出されない場合は、指定された再生時刻τとともに、データブロックの要求を情報蓄積装置1に送信する。再生処理部44は、そして、第1種パケットまたは第2種パケットを選択するべき旨の指示を選択部43に出力する。これにより、当該指定された時点以降の第1種パケットから再生の処理が継続される。具体的に再生処理部44は、現在の再生時点よりも前方の再生時刻へのジャンプが指示された場合は、第1種パケットを選択するべき旨の指示を選択部43に出力すればよい。また再生済みのデータブロックを削除している場合であって、現在の再生時点よりも前方の再生時刻へのジャンプが指示された場合は、第2種パケットを選択するべき旨の指示を選択部43に出力すればよい。
さらにこの選択部43,再生処理部44の処理により、指定された再生時刻に対応するデータブロックがバッファ部42に格納されていなければ情報蓄積装置1に対して、対応するデータブロックを要求することになる。また、情報蓄積装置1に対して、対応するデータブロックを要求したときに、データ受信のスループットが予め定めたしきい値を下回る場合には選択部43の動作によって第2種パケットが選択的に用いられて再生されることとなる。
再生済みのデータブロックを削除している場合、現在の再生時点よりも前方の再生時刻へのジャンプが指示された場合は、再生処理部44は、データブロックの検索を行うことなく、指定された再生時刻τとともに、データブロックの要求を情報蓄積装置1に送信してもよい。この場合再生処理部44は、情報蓄積装置1から少なくとも第2種パケットが受信されたときに第2種パケットを選択するべき旨の指示を選択部43に出力すればよい。
この例によると、当初は低画質での再生(第2種パケットを用いた再生)が行われ、後に選択部43の処理により、スループットの条件などが所定の状態になったときに、高画質での再生(第1種パケットを用いた再生)に切替えられる。
また以上のトリックプレイ等についての処理において再生処理部44は、再生しようとする再生位置に対応するコンテンツデータがバッファ部42に蓄積されていなければ、当該再生位置に対応するデータブロックを特定するブロック特定情報と、上記取得した情報で指定される種別のデータブロックを指定する情報と、当該指定したデータブロックの要求とを、情報蓄積装置1に対して送信する。そして情報蓄積装置1が当該要求に応答して送信する、所定種のデータブロックを受信し、当該所定種のデータブロックを用いた動画像の(トリックプレイでの)再生処理を行う。
本実施の形態は以上の構成を含んでなり、次のように動作する。本実施の形態では、情報蓄積装置1が、比較的高画質のオリジナルコンテンツデータを蓄積して保持している。情報蓄積装置1は、通信装置2側から画像情報の提供要求を受け入れると、当該提供要求の対象となったオリジナルコンテンツデータを取り出し、当該オリジナルコンテンツデータとは画質の異なる(ここでは比較的低画質とする)第2コンテンツデータを生成して取得する。
情報蓄積装置1は、取得したオリジナルコンテンツデータと、当該オリジナルコンテンツデータに対応する第2コンテンツデータとをそれぞれ複数のデータブロックに分割する。ここではオリジナルコンテンツデータを分割して得たデータブロックを第1種パケットPa_1,Pa_2,…とし、第2コンテンツデータを分割して得たデータブロックを第2種パケットPb_1,Pb_2,…とする。またここで第1種パケットPa_i(i=1,2…)のそれぞれには、再生位置(コンテンツデータの先頭からの再生時刻)としてta_(i-1)からta_iまでのコンテンツデータが含まれるものとする。また第2種パケットPb_j(j=1,2…)のそれぞれには、再生位置としてtb_(j-1)からtb_jまでのコンテンツデータが含まれるものとする。
情報蓄積装置1は、i=1,2…の各々について、i番目の第1種パケットPa_iの先頭側再生位置ta_(i-1)の情報と、i−1番目の第1種パケットPa_(i-1)の先頭側再生位置ta_(i-2)の情報を参照し、ta_(i-2)<tb_(j-1)≦ta_(i-1)(ただしi=1の場合は(tb_(j-1)=0)を満足するj番目の第2種パケットPb_jを検索する。そして情報蓄積装置1は、当該j番目の第2種パケットPb_jを特定するブロック特定情報(一例としてはjの値そのものでもよいし、必ずしも連番である必要はない)をi番目の第1種パケットPa_iのヘッダに含める。
また情報蓄積装置1は、j=1,2…の各々について、j番目の第2種パケットPb_jの先頭側再生位置tb_(j-1)の情報を参照し、tb_(j-2)<tb_(j-1)≦ta_(i-1)(ただしi=1の場合は(tb_(j-1)=0)を満足するj番目の第2種パケットPb_jを検索する。そして情報蓄積装置1は、当該j番目の第2種パケットPb_jを特定するブロック特定情報(一例としてはjの値そのものでもよいし、必ずしも連番である必要はない)をi番目の第1種パケットPa_iのヘッダに含める。
情報蓄積装置1は、そして提供要求を行った通信装置2に対して、これら第1種パケット及び第2種パケットを逐次的に(より先頭側のコンテンツデータを含むデータブロックから順に)送信する。
通信装置2では、オリジナルコンテンツデータを含む第1種パケットと、当該オリジナルコンテンツデータに対応し、当該オリジナルコンテンツデータとは画質の異なる第2コンテンツデータを含む第2種パケットとを受信して記憶部22に保持する。そして通信装置2は、例えば情報蓄積装置1から受信するデータのスループット(1秒あたりの受信データ量に相当する量)を算出する。通信装置2は、当該算出したスループットが、予め定めたしきい値を超えている場合には、保持している第1種パケットPa_1,Pa_2…を順次読み出し、読み出した第1種パケットに含まれるコンテンツデータに基づいて動画像を再生する。
通信装置2は、この動画像の再生中にも、第1種パケット及び第2種パケットの受信を継続しており、情報蓄積装置1から受信するデータのスループットを算出している。そして通信装置2は、例えば第1種パケットに含まれるコンテンツデータに基づく再生処理の実行中に、当該算出したスループットが、予め定めたしきい値を下回ったときには、その時点で再生しているコンテンツデータを含む第1種パケットを参照し、当該第1種パケットに含まれるブロック特定情報を取得する。通信装置2は、当該取得したブロック特定情報(Nb(j)とする)で特定される、第2種パケットPb_jの次に受信した第2種パケットPb_(j+1)を記憶部22から読み出す。そして当該読み出した第2種パケットPb_(j+1)に含まれるコンテンツデータに基づいて動画像を再生する。以下、通信装置2は、第2種パケットPb_(j+2),Pb_(j+3)…と読み出して、それぞれに含まれるコンテンツデータに基づいて動画像を再生する。
通信装置2は、また、上記第1種パケットに含まれるブロック特定情報で特定される、第2種パケットPb_jの次に受信した第2種パケットPb_(j+1)が記憶部22に格納されていない場合(バッファされていない場合)は、情報蓄積装置1に対して、第2種パケットを特定する情報と、ブロック特定情報Nb(j)とともに、当該ブロック特定情報で特定されるデータブロックより1だけ後のデータブロックの要求を送信する。そして情報蓄積装置1から当該要求への応答として第2種パケットPb_(j+1)以下の第2種パケットPb_(j+1),Pb_(j+2)…を受信して記憶部22に格納し、当該受信した第2種パケットPb_(j+1)を記憶部22から読み出す。そして当該読み出した第2種パケットPb_(j+1)に含まれるコンテンツデータに基づいて動画像を再生する。以下、通信装置2は、第2種パケットPb_(j+2),Pb_(j+3)…と読み出して、それぞれに含まれるコンテンツデータに基づいて動画像を再生する。
また通信装置2は、この動画像の再生中にも、第1種パケット及び第2種パケットの受信を継続しており、情報蓄積装置1から受信するデータのスループットを算出している。そして通信装置2は、例えば第2種パケットに含まれるコンテンツデータに基づく再生処理の実行中に、当該算出したスループットが、予め定めたしきい値を再び上回ることとなったときには、その時点で再生しているコンテンツデータを含む第2種パケットを参照し、当該第2種パケットに含まれるブロック特定情報を取得する。通信装置2は、当該取得したブロック特定情報(Na(i)とする)で特定される、第1種パケットPa_iの次に受信した第1種パケットPa_(i+1)を記憶部22から読み出す。そして当該読み出した第1種パケットPa_(i+1)に含まれるコンテンツデータに基づいて動画像を再生する。以下、通信装置2は、第1種パケットPa_(i+2),Pa_(i+3)…と読み出して、それぞれに含まれるコンテンツデータに基づいて動画像を再生する。
また上述の例において、本実施の形態の通信装置2は、利用者から巻戻し、あるいは早送りといったトリックプレイの指示を受け入れると、当該受け入れたトリックプレイの種類に応じて予め設定されている種類のデータブロックを読み出して、トリックプレイに係る再生処理を継続することとしていた。しかしながら本実施の形態はこの限りでない。
例えば、トリックプレイの指示があったときには、必ず、より画質の低いコンテンツデータに係るデータブロックを読み出して、あるいは(その送信を要求して)受信し、当該データブロックに含まれるコンテンツデータに基づいて動画像の再生処理を行ってもよい。この例によると、設定は必ずしも必要でなく、巻戻しや早送りの指示を受け入れたときには、第2種パケットに含まれるコンテンツデータに基づいて巻戻しや早送りに係る再生処理が通信装置2により実行されることとなる。
また本実施の形態の情報蓄積装置1は、通信装置2との間で複数の通信セッション(具体的にはTCPセッションでよい)を確立し、オリジナルコンテンツデータ(を含む第1種パケット)と、第2コンテンツデータ(を含む第2種パケット)とをそれぞれ異なる通信セッションを介して送信するようにしてもよい。
この場合、通信装置2の制御部21が選択部43の動作として切替処理を行ったときに、切替え前に受信していた一方側のコンテンツデータに係る通信セッションを切断し、以降は切替え後に再生の対象とする他方側のコンテンツデータ(を含むデータブロック)を専ら受信するようにしてもよい。なお切替処理において、切替え前に受信していた一方側のコンテンツデータが切替え後に再生の対象とする他方側のコンテンツデータよりも高画質のコンテンツデータである場合に限って(つまり上述の例では、オリジナルコンテンツデータから第2コンテンツデータに切替える場合に限って)、切替え前に受信していた一方側のコンテンツデータ(上の例におけるオリジナルコンテンツデータ)に係る通信セッションを切断するようにしてもよい。
さらにこの場合、当該切替え後のコンテンツデータの受信スループットが所定しきい値を超えた場合には、通信装置2は、切替え前に受信していた一方側のコンテンツデータに係る通信セッションを再開し、現在再生しているコンテンツデータを含むデータブロックに含まれているブロック特定情報を参照して、当該参照したブロック特定情報で特定されるデータブロック以降の、上記一方側のコンテンツデータに係るデータブロックの送信を、情報蓄積装置1に対して要求するようにしてもよい。
また通信装置2の制御部21は、例えば第2種パケットの受信が完了してしまったときには、当該第2種パケットの受信を行っていた通信セッションを介して、コンテンツデータの末端側から第1種パケットPa_N,Pa_(N-1)…を逐次的に要求する。そしてこの要求に応答して情報蓄積装置1がコンテンツデータの末端側に相当する第1種パケットPa_N,Pa_(N-1)…を順次、遡るようにして送出する。そして通信装置2は、当該情報蓄積装置1が送信した第1種パケットを受信して記憶部22に蓄積する。
また、本実施の形態の一例では、情報蓄積装置1が、オリジナルコンテンツデータに係る第1種パケットPa_1,Pa_2…を逆順に配列した反転オリジナルコンテンツデータである第1種パケットの順列Pa_N,Pa_(N-1)…を予め生成して記憶しておき、通信装置2の制御部21は、例えば第2種パケットの受信が完了してしまったときには、現在受信しているオリジナルコンテンツデータに対応する反転オリジナルコンテンツデータを、情報蓄積装置1に要求してもよい。この場合も当該要求に応答して情報蓄積装置1がコンテンツデータの末端側に相当する第1種パケットPa_N,Pa_(N-1)…を順次、遡るようにして送出するようになる。
さらに通信装置2の制御部21は、先頭側から受信している第1種パケットのうち最後に受信したものと、逆順に受信した第1種パケットとが一致した場合には、その時点で先頭側からの受信と逆順の受信とを終了することとすればよい。
こうしてすべての第1種パケットが記憶部22に格納されることとなると、通信装置2は、情報蓄積装置1との間の通信セッションをすべて切断することとしてもよい。
さらに通信装置2の制御部21は、例えば第2種パケットの受信が完了していないのに第1種パケットの受信が完了してしまったときには、比較的高画質のコンテンツデータが受信できたこととなるので、通信装置2は、情報蓄積装置1との間の通信セッションをすべて切断することとしてもよい。この場合の通信装置2はトリックプレイの指示を受けたときにも、受信を完了している第1種パケットのコンテンツデータを用いることとなる。また、以降の再生処理は第1種パケットに含まれるコンテンツデータに基づいて行うこととすればよい。
またここまでの説明において、情報蓄積装置1と通信装置2との間で複数の通信セッションを確立する場合、その物理層は同じものであっても構わなかった。つまり、複数の通信セッションがいずれも一つのネットワークインタフェースカードと、無線LANインタフェースとを介して行われる通信に係るものであってもよかった。しかし本実施の形態においては、例えば画質が互いに異なるオリジナルコンテンツデータ(に係る第1種パケット)と、第2コンテンツデータ(に係る第2種パケット)とはそれぞれ方式の異なる通信方法に係る通信セッションを介して送受信されてもよい。
一例として本実施の形態のある例では、通信装置2が無線LANネットワークを介して接続される第1の通信セッションと、LTE回線を介して接続される第2の通信セッションとを、情報蓄積装置1との間で確立する。そして情報蓄積装置1は、第1の通信セッションを介して第1種パケットを送出し、第2の通信セッションを介して第2種パケットを送出することとしてもよい。
なお、第1種パケットと第2種パケットとをどのような種類の通信セッションを介して送受信するかは、実験的に、例えばリクエスト送信からレスポンスまでの時間や過去の通信実績の統計等から決定してもよい。なお、過去の通信実績の統計は、通信装置2の位置情報(GPS(Global Positioning System)等を用いて取得できる地理的情報)や、直接の通信先である基地局やアクセスポイントを特定する情報、などに応じて分類して保持され、現在の位置情報や直接の通信先を特定する情報に基づいて選択されて参照されてもよい。
さらにここまでの説明では、第1種パケットと第2種パケットとの間の、互いに同じ再生位置に対応するデータブロックの特定は、データブロックそのものを特定するブロック特定情報によるものとしていた。しかしながら本実施の形態はこれに限られず、例えば各データブロックには、それぞれのデータブロックに含まれるコンテンツデータの、開始側再生位置の情報と、終了側再生位置の情報とを含めることとしてもよい。
この場合通信装置2の切替処理では、選択部43は、前回選択した種のパケットの開始側再生位置の情報t_(i-1)と末端側再生位置の情報t_iとを参照する。そして選択部43は、新たに選択した種のパケットのうち、その開始側再生位置t′_(j-1)が、参照した開始側再生位置の情報t_(i-1)より後であり、末端側再生位置の情報t_i以前である、つまりt_(i-1)<t′_(j-1)≦t_(i-1)であるようなj番目のパケットを検索する。
具体的に図5の処理S2においてi番目の第1種パケットを出力していた場合、選択部43は当該i番目の第1種パケットの開始側再生位置の情報ta_(i-1)と、末端側再生位置の情報ta_iとを参照する。そして選択部43は、その開始側再生位置tb_(j-1)がta_(i-1)<tb_(j-1)≦ta_iであるようなj番目の次の第2種パケット(j+1番目の第2種パケット)をバッファ部42から検索する。
この選択部43の動作によっても、再生中のオリジナルコンテンツデータのデータブロック(ここでの第1種パケット)に対応する第2コンテンツデータのデータブロック(ここでの第2種パケット)から再生を開始する処理、または再生中の第2コンテンツデータのデータブロック(ここでの第2種パケット)に対応するオリジナルコンテンツデータのデータブロック(ここでの第1種パケット)から再生を開始する処理が実現される。
また本実施の形態のここまでの説明では、第2コンテンツデータ、つまり情報蓄積装置1にもともと蓄積されていたオリジナルコンテンツデータとは異なる画質のコンテンツデータは、当該コンテンツデータの提供が要求された時点でオリジナルコンテンツデータをトランスコードするなどして生成するものとしていたが、情報蓄積装置1が予めこの第2コンテンツデータを生成して、対応するオリジナルコンテンツデータに関連付けて記憶部12に保持していてもよい。この場合、情報蓄積装置1は改めて第2コンテンツデータを生成することなく、記憶部12から第2コンテンツデータを読み出して取得することとなる。
さらに本実施の形態の一例に係る情報蓄積装置1は、コンテンツデータをディジタル放送信号として受信して蓄積する。この例の場合、日本のディジタル放送信号方式の一つである地上波ディジタル放送のように、13のセグメントのうち1つのセグメントを介して比較的画質の低いコンテンツデータ(いわゆるワンセグ)が配信され、残りの12のセグメントを介して比較的画質の高いコンテンツデータ(いわゆるフルセグ)が配信されているならば、情報蓄積装置1は複数のチューナを備えて、同じチャンネルのフルセグのコンテンツデータと、ワンセグのコンテンツデータとを一斉に蓄積してもよい。この例の場合、フルセグのコンテンツデータがオリジナルコンテンツデータとなり、ワンセグのコンテンツデータが第2コンテンツデータとして扱われる。
さらにこのような例とする場合において情報蓄積装置1は必ずしも複数のチューナを備える必要はなく、13セグメントのデータすべてを蓄積しておいてもよい。この場合、当該データから12セグメントのデータ(いわゆるフルセグのコンテンツデータ)を抽出してオリジナルコンテンツデータとして記憶部12に格納し、また、当該13セグメントのデータからワンセグのコンテンツデータを抽出して、第2コンテンツデータとして記憶部12に格納することとしてもよい。
この例によると、トランスコードの処理(あるいはハードウェアトランスコーダ部14)が不要となるので、構成が簡便となる。
さらに本実施の形態の情報蓄積装置1は、コンテンツデータの提供が要求された時点でオリジナルコンテンツデータをトランスコードするなどして生成するのではなく、ネットワークを介して接続されている他の装置(NASやパーソナルコンピュータ等)に蓄積された第2コンテンツデータを検索するようにしてもよい。つまり情報蓄積装置1は、要求されたオリジナルコンテンツデータについて、当該オリジナルコンテンツデータとは異なる画質のコンテンツデータが、ネットワーク介して接続された他の装置に蓄積されていないか検索する。
そして情報蓄積装置1は、ネットワークを介して接続された他の装置に、要求されたオリジナルコンテンツデータに対応する第2コンテンツデータが蓄積されていれば、当該第2コンテンツデータを、当該他の装置から取得する。この場合、情報蓄積装置1は第2コンテンツデータを生成することなく、ネットワークを介して接続された他の装置から第2コンテンツデータを取得することとなる。
さらにここでは互いに画質の異なるコンテンツデータが2つである例を述べてきたが、より多くの、つまり3つ以上の、互いに画質の異なるコンテンツデータが取得可能となっていてもよい。この場合も、情報蓄積装置1は、複数の互いに画質の異なるコンテンツデータを同時期的に(多重的に)通信装置2に対して送出する。
さらに通信装置2は第1種パケットに含まれるコンテンツデータに基づく再生処理の実行中に、算出したスループットが、予め定めたしきい値を下回ったときには、その時点で再生しているコンテンツデータを含む第1種パケットを参照し、当該第1種パケットに含まれるブロック特定情報を取得する。そして通信装置2は、当該取得したブロック特定情報(Nb(j)とする)で特定される、第2種パケットPb_jの次に受信した第2種パケットPb_(j+1)を記憶部22から読み出す。
このとき通信装置2は、再生しているコンテンツデータを含む第1種パケットに、ブロック特定情報とともに末端側再生位置ta_iの情報が含まれている場合は、読み出した第2種パケットPb_(j+1)に含まれるコンテンツデータに基づく動画像の再生を開始する際に、当該末端側再生位置ta_iに対応する再生位置にジャンプして再生を行うこととしてもよい。以下、通信装置2は、第2種パケットPb_(j+2),Pb_(j+3)…と読み出して、それぞれに含まれるコンテンツデータに基づいて動画像を再生する。
また通信装置2は、第2種パケットに含まれるコンテンツデータに基づく再生処理の実行中に、算出したスループットが、予め定めたしきい値を再び上回ることとなったときには、その時点で再生しているコンテンツデータを含む第2種パケットを参照し、当該第2種パケットに含まれるブロック特定情報を取得する。そして通信装置2は、当該取得したブロック特定情報(Na(i)とする)で特定される、第1種パケットPa_iの次に受信した第1種パケットPa_(i+1)を記憶部22から読み出す。
このときも通信装置2は、再生しているコンテンツデータを含む第2種パケットに、ブロック特定情報とともに末端側再生位置tb_iの情報が含まれている場合は、読み出した第1種パケットPa_(j+1)に含まれるコンテンツデータに基づく動画像の再生を開始する際に、当該末端側再生位置tb_iに対応する再生位置にジャンプして再生を行うこととしてもよい。以下、通信装置2は、第1種パケットPa_(i+2),Pa_(i+3)…と読み出して、それぞれに含まれるコンテンツデータに基づいて動画像を再生する。