以下、本発明の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
[番組配信システムの概要]
図1は、本発明の実施の形態に係る番組配信システムの構成を示す図である。
図1を参照して、番組配信システム10は、配信装置201と、画像出力装置101とを備える。画像出力装置101は、ネットワーク11を介して配信装置201と接続されている。
配信装置201は、基本画像を示す基本画像データ、および基本画像データを参照することにより作成される関連画像を示す関連画像データを送信する。基本画像データおよび関連画像データには、基本画像または関連画像を表示すべきタイミングを示すタイミング情報の一例であるPTSが含まれる。基本画像、関連画像およびPTSについては、後述する。
番組配信システム10は、たとえばIPネットワークを用いたVODサービスによる番組の配信を行う。この場合、配信装置201は、たとえばIPTVサービスにおいてコンテンツを配信するサーバであり、また、画像出力装置101は、たとえばSTB(Set Top Box)である。
また、番組配信システム10は、たとえばDLNA(Digital Living Network Alliance)に従ってLAN(Local Area Network)を介して番組の配信を行ってもよい。この場合、配信装置201は、たとえばDLNAにおいてコンテンツの配信を行うDMS(Digital MediaServer)であり、また、画像出力装置101は、たとえばコンテンツを再生するDMP(Digital MediaPlayer)である。
以下、番組配信システム10がIPネットワークを用いたVODサービスによる番組の配信を行う場合について説明する。したがって、以下、配信装置201は、サーバ201と称し、画像出力装置101は、STB101と称する。
なお、「サーバ」および「STB」を、それぞれ「DMS」および「DMP」と読み替えることにより、以下の説明は、番組配信システム10がDLNAに従って番組の配信を行う場合についても同様に適用することができる。
サーバ201は、STB101から番組の情報を要求されると、たとえばIPを利用することにより、当該番組の情報を含むストリームをネットワーク11経由でSTB101へ配信する。
STB101は、ネットワーク11経由でサーバ201から番組の情報を含むストリームを受信し、受信したストリームを処理することにより当該番組の情報を取得する。そして、STB101は、取得した番組の情報をたとえば表示装置151において表示する。なお、STB101および表示装置151は、一体化されてもよい。
図2は、本発明の実施の形態に係るSTBが受信する番組の情報の一例を示す図である。
図2を参照して、サーバ201が配信する番組の情報は、MPEG2(Moving Picture Experts Group 2)またはH.264/AVC(Advanced Video Coding)に従った方式により符号化される。符号化された番組の情報は、図2(A)に示すES(Elementary Stream)に含められる。
より詳細には、番組の画像に関する情報は、たとえばビデオES(Video ES)に含められ、また、番組の音声に関する情報は、オーディオES(Audio ES)に含められる。ビデオESおよびオーディオESは、たとえば図2(B)に示すPES(Packetized Elementary Stream)に分割される。
PESは、ヘッダとペイロードとを有する。ペイロードには、ビデオESまたはオーディオESの一部が含められる。また、ヘッダには、ペイロードに含まれるESに関する情報が含められる。
具体的には、番組の画像に関連するPESのペイロードには、たとえば1枚の基本画像または1枚の関連画像の情報が含められる。そして、当該PESのヘッダには、ペイロードに含まれる画像を出力すべき時刻を示すPTSおよび当該画像をデコードすべき時刻を示すDTS(Decoding Time Stamp)が含められる。
また、番組の音声に関連するPESのペイロードには、たとえばブロック単位の音声の情報が含められる。そして、当該PESのヘッダには、ペイロードに含まれる音声を出力すべき時刻を示すPTSが含められる。
サーバ201は、たとえばMPEG2−TS(Transport Stream)形式における、図2(C)に示す複数のTS(Transport Stream)パケットを用いて番組の情報すなわちPESを配信する。
TSパケットは、188バイトの大きさを持ち、TSヘッダおよびTSペイロードを含む。PESは、たとえば複数のTSパケットにおけるペイロードに分割して含められる。また、TSヘッダは、当該TSヘッダを含むTSパケットの識別情報であるPID(Packet Identifier)を含む。PIDには、当該TSパケットのペイロードに含まれる情報に対応した値が割り当てられる。
TSパケットには、番組の画像に関する情報を格納するビデオTSパケット、番組の音声に関する情報を格納するオーディオTSパケット、およびPSI(Program Specific Information)を示すパケット等がある。サーバ201は、上記TSパケットを多重化した1つのデータ列であるストリームを用いて、番組の情報をたとえばSTB101へ配信する。なお、ストリームには、複数の番組の情報を含めてもよい。
サーバ201は、番組の情報を含むTSパケットを用いて構成されるストリームをIPに従って送信する際に、上記ストリームに対して以下の処理を行う。すなわち、サーバ201は、送信するストリームに含まれるTSパケットにおいて、当該TSパケットがデコードタイミング調整用のヌルパケットである場合、当該TSパケットを削除する。
また、サーバ201がパケットを送信するタイミングを調整しながらパケットをIPに従ってSTB101へ送信しても、IPではパケット毎に伝送時間のばらつきが生じるので、STB101がパケットを受信するタイミングは、サーバ201により調整されたタイミングと異なってしまう。
すなわち、IPによるパケットの配信では、サーバ201におけるパケットを送信するタイミングを、STB101において再現することができない。これに対処するために、サーバ201は、送信するストリームに含まれるTSパケットを、STB101においてデコーダへ投入すべきタイミングを示すタイムスタンプ情報を含めたTTS(Timestamped TS)パケットへ変換する。
STB101は、TTSパケットを受信すると、受信したTTSパケットのタイムスタンプ情報を参照することにより、当該TTSパケットを適切なタイミングでデコーダへ投入することができる。
サーバ201は、複数のTTSパケットを複数のグループに分割し、各グループをたとえばTCPパケットのペイロードに含める。サーバ201は、TCPパケットにIPヘッダを付加した後、たとえばネットワーク11経由でSTB101へ送信することにより、番組の情報をSTB101へ配信する。
STB101は、番組の情報を含むTCP/IPパケットをサーバ201から受信する。STB101は、受信したTCP/IPパケットに含まれるTCPパケットのヘッダにおけるシーケンス番号を用いて、サーバ201から送信されるTCP/IPパケットの欠損があるか否かを把握する。
STB101は、TCP/IPパケットの欠損があった場合、サーバ201に対して再送を要求する。サーバ201は、STB101から再送の要求があった場合、要求されたTCP/IPパケットをSTB101へ再送する。
すなわち、STB101において、TCP/IPパケットの到着が保証されている。また、サーバ201およびSTB101間の通信速度は、サーバ201の配信速度、ネットワーク11の転送速度およびSTB101の受信速度に応じたベストエフォートの速度となる。
たとえば、サーバ201における処理負荷が大きい場合、または通信量の増大によりネットワーク11の転送速度が落ちている場合等において、通信速度が低下する場合がある。この場合、STB101では、必要なデータが必要なタイミングで到着しない。すなわち、STB101は、表示すべきタイミングで画像を表示できなくなる。
一方、STB101は、TCP/IPパケットの欠損がない場合、サーバ201からTCP/IPパケットを受信すると、受信したTCP/IPパケットからTTSパケットを取得する。そして、STB101は、TTSパケットからタイムスタンプ情報を削除したTSパケットを、当該タイムスタンプ情報が示すタイミングでデコードする。
STB101は、TSパケットからPESを取得し、取得したPESに含まれる基本画像または関連画像をデコードするとともに、当該基本画像または当該関連画像のPTSを取得する。
そして、STB101は、デコードした基本画像または関連画像をPTSが示す出力タイミングで表示装置151へ出力する。
表示装置151は、STB101から基本画像または関連画像を受けると、受けたタイミングで基本画像または関連画像を表示する。
[サーバにより配信される画像の一例]
図3は、本発明の実施の形態に係る通常再生およびトリック再生において送信されるフレームの一例を示す図である。
図3を参照して、図3(A)および(B)の横軸は、時間を示す。STB101が受信する番組は、たとえば図3(A)に示すように複数の静止画を用いて構成される動画である。なお、上記静止画1つ分の画像を、フレームと称する。すなわち、STB101が受信する番組の情報は、複数のフレームを用いて構成される。
1フレームを描画するために必要な画像データは、ピクチャである。また、1フレームの一部を描画するために必要な画像データは、スライスである。すなわち、ピクチャは、複数のスライスを用いて構成される。
たとえば、MPEG2の方式では、ピクチャは、Iピクチャ(Intra Picture)、Pピクチャ(Predictive Picture)およびBピクチャ(Bi-directionally Predictive-Picture)の3種類のピクチャがある。また、H.264/AVCの方式では、スライスには、Iスライス(Intra Slice)、Pスライス(Predictive Slice)またはBスライス(Bi-predictive Slice)の3種類のスライスがある。なお、H.264/AVCの方式では、1ピクチャにおいて、Iスライス、PスライスまたはBスライスが混在してもよい。
Iピクチャは、1フレームにおけるフレーム内符号化によって得られるピクチャである。従って、Iピクチャ単独で1フレームを作成することができる。PピクチャまたはBピクチャは、複数のフレームにおけるフレーム間予測符号化によって得られるピクチャである。従って、PピクチャまたはBピクチャは、他のピクチャを参照することにより1フレームを作成することができる。
Iスライスは、当該スライスが含まれるフレーム内の予測のみで符号化することにより得られるスライスである。Pスライスは、当該スライスが含まれるフレーム内の予測符号化および1つの参照ピクチャを使用したフレーム間予測符号化により得られるスライスである。また、Bスライスは、当該スライスが含まれるフレーム内の予測符号化および1つまたは2つの参照ピクチャを使用したフレーム間予測符号化により得られるスライスである。
従って、Iスライスは、自己が含まれるフレームの画像データに基づいて作成される。一方、PスライスまたはBスライスは、自己が含まれるフレームの画像データおよび当該フレーム以外のフレームの画像データに基づいて作成される。
また、Iピクチャは、Iスライスのみによって構成される。以下、Iピクチャを用いて作成されるフレームを、Iフレーム(Intra-coded Frame)と称する。Iフレームは、前述の基本画像に相当し、Iフレームの画像データであるIピクチャは、基本画像データに相当する。
MPEG2の方式において、Pピクチャを用いて作成されるフレームを、Pフレーム(Predicted Frame)と称し、Bピクチャを用いて作成されるフレームを、Bフレーム(Bi-directional Predicted Frame)と称する。
また、H.264/AVCの方式において、Pスライスを含むフレームを、Pフレーム(Predicted Frame)と称し、Bスライスを含むフレームを、Bフレーム(Bi-directional Predicted Frame)と称する。PフレームおよびBフレームは、前述の関連画像に相当する。PフレームまたはBフレームの画像データは、関連画像データに相当する。
図3(A)に示すように、STB101は、通常再生において、PTSが示す出力タイミングに従って、Iフレーム、PフレームおよびBフレームを表示装置151へ出力する。
また、早送り再生または早戻し再生といった可変速再生等のトリック再生において、他のフレームの画像データを参照しなくてもよいIフレームが用いられる。具体的には、以下の処理を行うことによりSTB101においてトリック再生が実現される。
すなわち、STB101は、たとえば2倍速の早送り再生処理において、図3(B)に示すように、PTSが示す出力タイミングでIフレームを出力する場合の再生速度と比べて、2倍の再生速度でIフレームを選択的に出力する。
これにより、通常再生においてIフレームを出力する時間間隔の半分の時間間隔で当該Iフレームが出力されるので、2倍速の早送り再生が実現される。
また、早戻し再生は、早送り再生の方向と逆方向に再生させること以外は、早送り再生と同様の処理により実現される。
[タイミングについて]
図4は、本発明の実施の形態に係るSTBにおける早送り再生処理に関するタイミングの一例を示す図である。
図4を参照して、横軸は、時間を示す。STB101がたとえばユーザによる早送り再生の操作を受けた場合における早送り再生処理のタイミングについて説明する。
STB101がたとえばユーザによる早送り再生の操作を受けた時刻t1を開始タイミングと称する。この場合において、ユーザにより指定されている再生速度を、再生速度Sとする。
以下、再生速度は、PTSが示す出力タイミングでIフレームを出力する場合の再生速度と比べた場合の倍速値を示すものとする。たとえば、32倍速の早送り再生処理における再生速度は、32となる。また、32倍速の早戻し再生処理における再生速度は、マイナス32となる。したがって、図4における再生速度Sは正の値を有する。
また、STB101がサーバ201から早送り再生に用いるためのIフレームたとえばIフレームAを取得した時刻t2を取得タイミングと称する。
たとえば、STB101が開始タイミングt1においてユーザによる早送り再生の操作を受けないとしたときに、IフレームAが出力されるであろう時刻t4すなわちIフレームAのPTSが示す時刻t4を仮出力タイミングと称する。そして、仮出力タイミングt4から開始タイミングt1を差し引いた値を時間Tvとする。
一方、STB101が開始タイミングt1においてユーザによる早送り再生の操作を受けたときに、IフレームAが出力されるであろう時刻t3を指定出力タイミングと称する。
なお、開始タイミングt1から指定出力タイミングt3までの時間は、時間Tvを再生速度Sで除した値で表される。
また、指定出力タイミングt3から取得タイミングt2を差し引いた時間を早着時間Tbと定義する。
図5は、本発明の実施の形態に係るSTBにおける早戻し再生処理に関するタイミングの一例を示す図である。
図5を参照して、横軸は、時間を示す。STB101がたとえばユーザによる早戻し再生の操作を受けた場合における早戻し再生処理のタイミングについて説明する。
STB101がたとえばユーザによる早戻し再生の操作を受けた時刻t2を、早送り再生処理の場合と同様に開始タイミングと称する。この場合において、ユーザにより指定されている再生速度を、再生速度Sとする。なお、この場合、早戻し再生処理であるため再生速度Sは負の値を有する。
また、STB101がサーバ201から早戻し再生に用いるためのIフレームたとえばIフレームBを取得した時刻t3を早送り再生処理の場合と同様に取得タイミングと称する。
たとえば、STB101が開始タイミングt2に至るまで通常再生処理を行っていたとしたときに、IフレームBが出力されたであろう時刻t1すなわちIフレームBのPTSが示す時刻t1を早送り再生処理の場合と同様に仮出力タイミングと称する。そして、仮出力タイミングt1から開始タイミングt2を差し引いた値を早送り再生処理の場合と同様に時間Tvとする。なお、この場合における時間Tvは負の値を有する。
一方、STB101が開始タイミングt2においてユーザによる早戻し再生の操作を受けた後、IフレームBが出力されるであろう時刻t4を早送り再生処理の場合と同様に指定出力タイミングと称する。
なお、開始タイミングt2から指定出力タイミングt4までの時間は、時間Tvを再生速度Sで除した値で表される。時間Tvおよび再生速度Sは負の値であるので、Tv/Sは、正の値を有する。
また、指定出力タイミングt4から取得タイミングt3を差し引いた時間を早送り再生処理の場合と同様に早着時間Tbと定義する。
[早着時間について]
早着時間は、STB101がIフレームを選択的に出力する際に、Iフレームを出力すべきタイミングに対して先んじて当該Iフレームを取得することができた時間を意味する。言い換えると、早着時間は、STB101が早送り再生処理または早戻し再生処理に用いるIフレームを取得してから出力するまでの時間である。
たとえば、番組配信システム10におけるIフレームの配信速度が速いとき、Iフレームを取得してから出力するまでの時間が長くなるので早着時間の値が大きくなる。この場合、番組配信システム10におけるIフレームの配信について時間的な余裕があることになる。
一方、番組配信システム10におけるIフレームの配信速度が遅いとき、Iフレームを取得してから出力するまでの時間が短くなるので早着時間の値が小さくなる。この場合、番組配信システム10におけるIフレームの配信について時間的な余裕がないことになる。
図6は、本発明の実施の形態に係る番組配信システムにおいてIフレームが送受信されるタイミングの比較例を示すシーケンス図である。
STB101は、以下に示す各フローチャートおよび各シーケンスの各ステップを図示しないメモリから読み出して実行する。このプログラムは、外部からインストールすることができる。このインストールされるプログラムは、たとえば記録媒体に格納された状態で流通する。
図6を参照して、たとえば、指定されている再生速度が32倍速の早送り再生処理である場合において、STB101が秒間4フレームでサーバ201からIフレームを取得する場合を想定する。
まず、STB101は、たとえば指定出力タイミングt2において出力すべきIフレーム−8secを取得タイミングt1において取得する(ステップS52)。
ここで、「Iフレーム−8sec」は、早送り再生処理の場合においては、図4に示す時間Tvが概ね8secの場合おけるIフレームAのことである。具体的には、「Iフレーム−8sec」は、通常再生処理時は、図4に示す開始タイミングt1から概ね8sec後に出力すべきIフレームであり、また、早送り再生処理時は、開始タイミングt1から概ね250ミリ秒後に出力すべきIフレームである。
なお、早戻し再生処理の場合においては、「Iフレーム−8sec」は、図5に示す時間Tvが概ねマイナス8secの場合におけるIフレームBのことである。
次に、STB101は、指定出力タイミングt2においてIフレーム−8secを表示装置151へ送信する(ステップS54)。なお、指定出力タイミングt2から取得タイミングt1を差し引いた時間がIフレーム−8secについての早着時間Tb1に相当する。
次に、STB101は、たとえば指定出力タイミングt4において出力すべきIフレーム−16secを取得タイミングt3において取得する(ステップS56)。
次に、STB101は、指定出力タイミングt4においてIフレーム−16secを表示装置151へ送信する(ステップS58)。なお、指定出力タイミングt4から取得タイミングt3を差し引いた時間がIフレーム−16secについての早着時間Tb2に相当する。なお、時間Tb2は、時間Tb1と比べて短いものとする。
次に、STB101は、たとえば指定出力タイミングt6において出力すべきIフレーム−24secを取得タイミングt5において取得する(ステップS60)。
次に、STB101は、指定出力タイミングt6においてIフレーム−24secを表示装置151へ送信する(ステップS62)。なお、指定出力タイミングt6から取得タイミングt5を差し引いた時間がIフレーム−24secについての早着時間Tb3に相当する。なお、時間Tb3は、時間Tb2と比べて短いものとする。
次に、STB101は、たとえば指定出力タイミングt7において出力すべきIフレーム−32secを指定出力タイミングt7より遅延した取得タイミングt8において取得する(ステップS66)。このため、STB101は、指定出力タイミングt7においてIフレーム−32secを表示装置151へ送信することができない。
次に、STB101は、指定出力タイミングt7より遅延したタイミングたとえばタイミングt9においてIフレーム−32secを表示装置151へ送信する(ステップS68)。
次に、STB101は、たとえば指定出力タイミングt10において出力すべきIフレーム−40secを指定出力タイミングt10より遅延した取得タイミングt11において取得する(ステップS72)。このため、STB101は、指定出力タイミングt10においてIフレーム−40secを表示装置151へ送信することができない。
次に、STB101は、指定出力タイミングt10より遅延したタイミングたとえばタイミングt12においてIフレーム−40secを表示装置151へ送信する(ステップS74)。
上記ステップS52、ステップS56およびステップS60において、早着時間Tb1〜Tb3が徐々に短くなっている。これは、Iフレームの取得速度がIフレームの出力速度より遅いことを意味する。
このため、STB101は、上記ステップS66において、指定出力タイミングt7に間に合うようにIフレーム−32secを取得できなくなってしまう。
また、STB101は、上記ステップS72において、上記ステップS66と同様に指定出力タイミングt10に間に合うようにIフレーム−40secを取得できない。
このように、トリック再生を視聴するユーザはSTB101に対して32倍速の早送り再生を指示しているにも関わらず、STB101は、上記ステップS66以降において、32倍速より遅い早送り再生でIフレームを出力してしまう。
すなわち、指定されている再生速度より遅い再生速度の早送り再生または早戻し再生がユーザに提供されてしまうので、好ましくない。
そこで、本発明の実施の形態に係るSTB101では、以下のような構成および動作により、早送り再生処理および早戻し再生処理の再生速度が指定された再生速度より遅くなってしまうことを抑制する。
[STBの構成]
図7は、本発明の実施の形態に係るSTBの構成を示す図である。
図7を参照して、STB(画像出力装置)101は、通信部21と、制御部(画像データ取得部および画像要求部)22と、指示受付部23と、バッファ24と、タイミング情報処理部25と、再生速度設定部26と、トリック再生処理部27と、通常再生処理部28と、画像データ出力部(出力処理部および提示部)29と、記憶部32とを備える。
トリック再生処理部27は、Iフレーム転送部30と、スケジューリング部31とを含む。なお、記憶部32およびバッファ24は、STB101の外部に設けられてもよい。
通信部21は、インターネット等のネットワーク11を介してサーバ201とパケットの送受信を行う。
記憶部32は、HDD(Hard Disk Drive)またはディスクドライブ等の記憶装置であり、番組の情報を含むストリームを保持する。
指示受付部23は、たとえばユーザによる番組の選択、再生、録画、トリック再生および停止等の指示を受付ける。そして、指示受付部23は、ユーザから受けた指示に応じた制御命令を制御部22へ出力する。
制御部22は、番組の情報である基本画像と、関連画像と、基本画像および関連画像を出力すべき出力タイミングを示すタイミング情報とを取得する。基本画像は、たとえばIフレームであり、また、関連画像は、たとえばPフレームおよびBフレームである。タイミング情報は、たとえばPTSである。
より詳細には、制御部22は、指示受付部23から制御命令を受けると、受けた制御命令に基づいてSTB101の動作を制御する。具体的には、制御部22は、たとえばユーザにより選択された番組の再生に関する制御命令を受けると、選択された番組がIPに従って配信される番組である場合、サーバ201に対して当該番組の情報の配信を通信部21経由で要求する。
そして、制御部22は、サーバ201から送信されてくる番組の情報を含むストリームを通信部21経由で取得し、取得したストリームをバッファ24に蓄積する。
また、制御部22は、たとえば選択された番組が記憶部32に保存された番組である場合、当該番組の情報を含むファイルを記憶部32から取得し、バッファ24に蓄積する。そして、制御部22は、番組の再生処理命令を通常再生処理部28へ出力する。
通常再生処理部28は、制御部22から再生処理命令を受けると、バッファ24に蓄積されたストリームまたはファイルからIフレーム、Pフレーム、Bフレームまたは音声の情報を含むPESを取得する。
そして、通常再生処理部28は、取得したPESのペイロードおよびヘッダを分離し、ペイロードからビデオESまたはオーディオESを取得する。また、通常再生処理部28は、ヘッダからPTSおよびDTSを取得する。
通常再生処理部28は、PTSまたはDTSが示すタイミングに従って、PESに含まれるビデオESまたはオーディオESを画像データ出力部29へ出力する。
画像データ出力部29は、具体的にはデコーダであり、通常再生処理部28からビデオESおよびオーディオESを受けると、受けたビデオESおよびオーディオESからそれぞれ番組の画像および番組の音声を再生する。そして、画像データ出力部29は、再生した番組の画像および番組の音声をたとえば表示装置151へ出力する。
[トリック再生]
制御部22は、番組の再生中においてたとえばユーザによる早送り再生処理または早戻し再生処理に関する制御命令を受けると、再生している番組がIPに従って配信される番組である場合、サーバ201に対して当該番組のストリーミング要求を通信部21経由で送信する。
図8は、本発明の実施の形態に係るサーバがIフレームを選択的にSTBへ送信することによりトリック再生を行う際の動作の一例を示すシーケンス図である。
図8を参照して、制御部22は、たとえば、サーバ201主導によるIフレームの選択が行われる場合であって、指定されている再生速度たとえば32倍速の早送り再生処理を行うとき、サーバ201に対してストリーミング要求(HTTP GET x32)を通信部21経由で送信する(ステップS102)。
この際、制御部22は、指定されている再生速度により早送り再生処理を行う旨を含む番組のトリック再生処理命令を、タイミング情報処理部25、再生速度設定部26およびトリック再生処理部27へ出力する。
次に、サーバ201は、STB101からストリーミング要求を受信すると、32倍速の早送り再生のストリーミングが可能である場合、ストリーミング応答(HTTP OK)をSTB101へ送信する(ステップS104)。
次に、サーバ201は、たとえば秒間4フレームで32倍速の早送り再生のストリーミングを出力する場合、ストリームにおける早送り再生処理の開始位置から8秒後のIフレームであるIフレーム−8secをSTB101へ送信する(ステップS106)。
次に、制御部22は、サーバ201からストリーミング応答OKを通信部21経由で受信した後、送信されてくるIフレーム−8secを取得すると、以下の処理を行う。すなわち、制御部22は、Iフレーム−8secの取得タイミングおよびPTSをタイミング情報処理部25へ出力すると共に、Iフレーム−8secをバッファ24に蓄積する(ステップS108)。
次に、サーバ201は、たとえばユーザによる早送り再生の停止要求を受けるまで、またはコンテンツの最終部に到達するまで、ストリームにおける早送り再生処理の開始位置から16秒後以降のIフレームを順次STB101へ送信する。
一方、制御部22は、サーバ201から送信されてくる16秒後以降のIフレームを受信すると、受信したIフレームの取得タイミングおよびPTSをタイミング情報処理部25へ出力すると共に、当該Iフレームをバッファ24に蓄積する(ステップS110〜ステップS116)。
以上のような動作により、トリック再生のためのサーバ201主導によるIフレームの選択が行われる。
なお、Iフレームの画像データは、上記ステップS106、およびステップS110からステップS116までにおいて、サーバ201、ネットワーク11およびSTB101によるベストエフォートで送信される。
STB101は、番組配信システム10におけるIフレームの配信速度が表示装置151へIフレームを出力する速度より速い場合、Iフレームをバッファ24に蓄積することができる。
図9は、本発明の実施の形態に係るSTBがIフレームを選択的に表示装置へ出力することによりトリック再生を行う際の動作の一例を示すシーケンス図である。
図9を参照して、制御部22は、たとえば、STB101主導によるIフレームの選択が行われる場合であって、指定されている再生速度たとえば32倍速の早送り再生処理を行うとき、1秒間に出力すべきIフレームの枚数に応じて以下の処理を行う。
すなわち、制御部22は、たとえば秒間4フレームで32倍速の早送り再生のストリーミングを出力する場合、まず、ストリームにおける早送り再生処理の開始位置から8秒毎のIフレームが必要となることを認識する。
そして、制御部22は、ストリームにおける早送り再生処理の開始位置から8秒後に対応するIフレームを取得するために8秒後以降のストリーミング要求(HTTP GET、8sec〜)をサーバ201へ送信する(ステップS152)。
この際、制御部22は、指定されている再生速度により早送り再生処理を行う旨を含む番組のトリック再生処理命令を、タイミング情報処理部25、再生速度設定部26およびトリック再生処理部27へ出力する。
次に、サーバ201は、STB101からストリーミング要求を受信すると、8秒後以降のストリームの送信が可能である場合、ストリーミング応答(HTTP OK)に続けて8秒後以降のストリームをSTB101へ送信する(ステップS154)。
次に、制御部22は、8秒後以降のストリームをサーバ201から受信すると、ストリームから8秒後以降において最初のIフレームであるIフレーム−8secを選択する。そして、制御部22は、選択したIフレーム−8secの取得タイミングおよびPTSをタイミング情報処理部25へ出力すると共に、Iフレーム−8secをバッファ24に蓄積する(ステップS156)。
次に、制御部22は、ストリームにおける早送り再生処理の開始位置から16秒後に対応するIフレームを取得するために16秒後以降のストリーミング要求(HTTP GET、16sec〜)をサーバ201へ送信する(ステップS158)。
次に、サーバ201は、STB101からストリーミング要求を受信すると、16秒後以降のストリームの送信が可能である場合、ストリーミング応答(HTTP OK)に続けて16秒後以降のストリームをSTB101へ送信する(ステップS160)。
次に、制御部22は、16秒後以降のストリームをサーバ201から受信すると、ストリームから16秒後以降において最初のIフレームであるIフレーム−16secを選択する。そして、制御部22は、選択したIフレーム−16secの取得タイミングおよびPTSをタイミング情報処理部25へ出力すると共に、Iフレーム−16secをバッファ24に蓄積する(ステップS162)。
次に、制御部22は、ストリームにおける早送り再生処理の開始位置から24秒後に対応するIフレームを取得するために24秒後以降のストリーミング要求(HTTP GET、24sec〜)をサーバ201へ送信する(ステップS164)。
次に、サーバ201は、STB101からストリーミング要求を受信すると、24秒後以降のストリームの送信が可能である場合、ストリーミング応答(HTTP OK)に続けて24秒後以降のストリームをSTB101へ送信する(ステップS166)。
次に、制御部22は、24秒後以降のストリームをサーバ201から受信すると、ストリームから24秒後以降において最初のIフレームであるIフレーム−24secを選択する。そして、制御部22は、選択したIフレーム−24secの取得タイミングおよびPTSをタイミング情報処理部25へ出力すると共に、Iフレーム−24secをバッファ24に蓄積する(ステップS168)。
次に、STB101は、たとえばユーザによる早送り再生の停止要求を受けるまで、またはコンテンツの最終部に到達するまで、ストリームにおける早送り再生処理の開始位置から32秒後以降のIフレームを順次サーバ201から要求し、サーバ201から送信されてくる32秒後以降のIフレームをバッファ24に蓄積する。
以上のような動作により、トリック再生のためのSTB101主導によるIフレームの選択が行われる。
なお、8秒後、16秒後および24秒後のストリームは、それぞれ上記ステップS154、ステップS160およびステップS166において、サーバ201、ネットワーク11およびSTB101によるベストエフォートで送信される。
STB101は、番組配信システム10におけるIフレームの配信速度が表示装置151へIフレームを出力する速度より速い場合、Iフレームをバッファ24に蓄積することができる。
再び図7を参照して、制御部22は、後述するように再生速度設定部26によって調整用再生速度が設定された場合には、たとえばユーザにより指定されている再生速度の代わりに、当該調整用再生速度に基づいてIフレームをサーバ201に要求する。
具体的には、制御部22は、サーバ201主導によるIフレームの選択が行われる場合、再生速度設定部26によって設定された調整用再生速度をサーバ201に通知する。
また、制御部22は、STB101主導によるIフレームの選択が行われる場合、再生速度設定部26によって設定された調整用再生速度に応じた出力タイミングのIフレームをサーバ201に通知する。なお、制御部22における上記動作の詳細については後述する。
タイミング情報処理部25は、制御部22が取得したIフレームの取得タイミングおよびPTSを受けると、以下の処理を行う。すなわち、タイミング情報処理部25は、取得タイミングおよびPTSに基づいて、制御部22により要求されたIフレームを制御部22が取得した取得タイミングから画像データ出力部29が当該Iフレームを選択的に出力すべきタイミングである指定出力タイミングまでの時間である早着時間Tbを算出する。
図4および図7を参照して、タイミング情報処理部25は、制御部22から指定されている再生速度たとえば32倍速の早送り再生処理を行う旨を含む番組のトリック再生処理命令を受けると、トリック再生処理命令を受けたタイミングを開始タイミングとして把握する。
タイミング情報処理部25は、制御部22が取得したIフレームのPTSに基づいて仮出力タイミングを算出する。そして、タイミング情報処理部25は、算出した仮出力タイミングから開始タイミングを差し引いた時間Tvを、早送り再生処理において指定されている再生速度Sたとえば32で除することにより、開始タイミングから当該Iフレームを出力すべき時刻までの時間を得る。
なお、タイミング情報処理部25は、後述するように再生速度設定部26によって調整用再生速度が設定された場合においても、仮出力タイミングから開始タイミングを差し引いた時間Tvを指定されている再生速度Sで除することにより、開始タイミングから当該Iフレームを出力すべき時刻までの時間を得る。
タイミング情報処理部25は、このようにして得た時間に対して開始タイミングを加算することにより、制御部22が取得したIフレームの指定出力タイミングを算出する。
一方、たとえば32倍速の早戻し再生処理の場合は、タイミング情報処理部25は、以下の処理を行う。すなわち、タイミング情報処理部25は、制御部22が取得したIフレームのPTSに基づいて仮出力タイミングを算出する。そして、タイミング情報処理部25は、算出した仮出力タイミングから開始タイミングを差し引いた時間Tvを早戻し再生処理において指定されている再生速度Sたとえばマイナス32で除することにより、開始タイミングから当該Iフレームを出力すべき時刻までの時間を得る。
なお、タイミング情報処理部25は、後述するように再生速度設定部26によって調整用再生速度が設定された場合においても、仮出力タイミングから開始タイミングを差し引いた時間Tvを、指定されている再生速度Sで除することにより、開始タイミングから当該Iフレームを出力すべき時刻までの時間を得る。
タイミング情報処理部25は、このようにして得た時間に対して開始タイミングを加算することにより、制御部22が取得したIフレームの指定出力タイミングを算出する。
タイミング情報処理部25は、制御部22が取得した各Iフレームについて指定出力タイミングから取得タイミングを差し引くことにより、当該各Iフレームの早着時間Tbを算出する。そして、タイミング情報処理部25は、算出した各早着時間Tbを当該各Iフレームの識別子とともに再生速度設定部26へ出力する。
また、タイミング情報処理部25は、制御部22が取得したIフレームについて算出した指定出力タイミングを当該Iフレームの識別子とともにトリック再生処理部27へ出力する。
再生速度設定部26は、たとえば、制御部22におけるサーバ201からのIフレームの取得状況に関する所定条件が満たされると、指定されている再生速度とは異なる調整用再生速度を設定する。
また、上記所定条件は、たとえば、指定されている再生速度または調整用再生速度に基づく制御部22の要求に対するサーバ201からのIフレームの取得タイミングに関する条件である。
より詳細には、再生速度設定部26は、早着時間Tbが所定のしきい値Tth1より小さい場合、指定されている再生速度より大きい調整用再生速度を設定する。
具体的には、たとえば、指定されている再生速度が32倍速の早送り再生処理である場合において、指定されている再生速度より大きい再生速度とは、64倍速および128倍速の早送り処理における再生速度である64および128のことである。
また、たとえば、指定されている再生速度が32倍速の早戻し再生処理である場合において、指定されている再生速度より大きい再生速度とは、たとえば64倍速および128倍速の早戻し処理における再生速度であるマイナス64およびマイナス128のことである。
以下、再生速度設定部26により調整用再生速度が設定される場合において、STB101が取得および出力するIフレームのタイミングについての概念的な説明を行う。
図10は、本発明の実施の形態に係る番組配信システムにおいて調整用再生速度が設定される場合におけるIフレームが送受信されるタイミングの一例を示すシーケンス図である。
図10を参照して、STB101は、たとえば、サーバ201主導によるIフレームの選択が行われる場合であって、指定されている再生速度が32倍速であるとき、サーバ201に対してストリーミング要求(HTTP GET x32)を送信する(ステップS202)。
この際、サーバ201は、ストリーミング要求(HTTP GET x32)を受信すると、秒間4フレームおよび32倍速でIフレームを送信するために、時間Tvが8秒毎となるIフレームをSTB101へ送信する。
次に、STB101は、たとえばIフレーム−8secを取得タイミングt1においてサーバ201から受信する(ステップS204)。この際、再生速度設定部26は、取得タイミングt1からたとえばIフレーム−8secを出力すべき指定出力タイミングt2までの早着時間Tb1が所定のしきい値Tth1より大きいと判断し、調整用再生速度を設定しない。
次に、STB101は、指定出力タイミングt2においてIフレーム−8secを表示装置151へ送信する(ステップS206)。
次に、STB101は、たとえばIフレーム−16secを取得タイミングt3においてサーバ201から受信する(ステップS208)。この際、再生速度設定部26は、取得タイミングt3からたとえばIフレーム−16secを出力すべき指定出力タイミングt4までの早着時間Tb2が所定のしきい値Tth1より大きいと判断し、調整用再生速度を設定しない。
次に、STB101は、指定出力タイミングt4においてIフレーム−16secを表示装置151へ送信する(ステップS210)。なお、早着時間Tb2は、早着時間Tb1と比べて短いものとする。
次に、STB101は、たとえばIフレーム−24secを取得タイミングt5においてサーバ201から受信する(ステップS212)。この際、再生速度設定部26は、取得タイミングt5からたとえばIフレーム−24secを出力すべき指定出力タイミングt6までの早着時間Tb3が所定のしきい値Tth1より大きいと判断し、調整用再生速度を設定しない。
次に、STB101は、指定出力タイミングt6においてIフレーム−24secを表示装置151へ送信する(ステップS214)。なお、早着時間Tb3は、早着時間Tb2と比べて短いものとする。
次に、STB101は、たとえばIフレーム−32secを取得タイミングt7においてサーバ201から受信する(ステップS216)。この際、再生速度設定部26は、取得タイミングt7からたとえばIフレーム−32secを出力すべき指定出力タイミングt8までの早着時間Tb4が所定のしきい値Tth1より小さいと判断する。
次に、STB101は、指定出力タイミングt8においてIフレーム−32secを表示装置151へ送信する(ステップS218)。なお、早着時間Tb4は、早着時間Tb3と比べて短いものとする。
次に、STB101は、時刻t9において、指定されている再生速度より大きい調整用再生速度たとえば64倍速を設定し、サーバ201に対してストリーミング要求(HTTP GET x64)を送信する(ステップS220)。
この際、サーバ201は、ストリーミング要求(HTTP GET x64)を受信すると、秒間4フレームおよび64倍速でIフレームを送信するために、Iフレーム−32secの次のIフレームから時間Tvが16秒毎となるIフレームをSTB101へ送信する。
次に、STB101は、たとえばIフレーム−48secを取得タイミングt10においてサーバ201から受信する(ステップS222)。この際、再生速度設定部26は、取得タイミングt10からたとえばIフレーム−48secを出力すべき指定出力タイミングt11までの早着時間Tb5が所定のしきい値Tth1より大きいと判断し、調整用再生速度を維持する。
次に、STB101は、指定出力タイミングt11においてIフレーム−48secを表示装置151へ送信する(ステップS224)。
次に、STB101は、たとえばIフレーム−64secを取得タイミングt12においてサーバ201から受信する(ステップS226)。この際、再生速度設定部26は、取得タイミングt12からたとえばIフレーム−64secを出力すべき指定出力タイミングt14までの早着時間Tb6が所定のしきい値Tth1より大きいと判断し、調整用再生速度を維持する。
次に、STB101は、たとえばIフレーム−80secを取得タイミングt13においてサーバ201から受信する(ステップS228)。この際、再生速度設定部26は、取得タイミングt13からたとえばIフレーム−80secを出力すべき指定出力タイミングまでの早着時間Tbが所定のしきい値Tth1より大きいと判断し、調整用再生速度を維持する。
次に、STB101は、指定出力タイミングt14においてIフレーム−64secを表示装置151へ送信する(ステップS230)。
上記ステップS204、ステップS208、ステップS212およびステップS216において、早着時間Tb1〜Tb4が徐々に短くなっている。これは、Iフレームの取得速度がIフレームの出力速度より遅いことを意味する。
このため、調整用再生速度を設定しない場合、ある程度の時間が経過すると、STB101は、Iフレームを出力すべきタイミングに間に合うように当該Iフレームを取得できなくなってしまう。
再生速度設定部26は、上記ステップS216において、早着時間Tb4が所定のしきい値Tth1より小さいことを把握する。早着時間Tb4が所定のしきい値Tth1より小さいことは、Iフレーム−32secの次のIフレームを出力すべきタイミングに間に合うようにSTB101が当該Iフレームを取得できない可能性が高いことを意味する。
そして、再生速度設定部26は、上記ステップS220において、指定された再生速度である32倍速より大きい調整用再生速度である64倍速をサーバ201へ通知するためにストリーミング要求(HTTP GET x64)をサーバ201へ送信する。
これにより、各指定出力タイミングの間隔を広くすることができるので、STB101は、上記ステップS222において、指定出力タイミングt11に間に合うようにIフレーム−48secを受信することができる。
また、STB101は、上記ステップS226においても、指定出力タイミングt14に間に合うようにIフレーム−64secを受信することができる。
これにより、早送り再生または早戻し再生を視聴するユーザは、指定した再生速度に対して遅くなっていない再生速度の早送り再生または早戻し再生を視聴することができる。
なお、上記において、サーバ201主導によるIフレームの選択が行われる場合において、再生速度設定部26が調整用再生速度を設定するケースについて例示したが、STB101主導によるIフレームの選択が行われる場合についても、再生速度設定部26は、同様に調整用再生速度を設定する。
図11は、本発明の実施の形態に係る番組配信システムにおいて調整用再生速度が設定される場合におけるIフレームが送受信されるタイミングの他の一例を示すシーケンス図である。
図11を参照して、STB101は、たとえば、STB101主導によるIフレームの選択が行われる場合であって、秒間4フレームおよび指定されている再生速度が32倍速であるとき、時刻t0において、サーバ201に対してストリーミング要求(HTTP GET、8sec〜)を送信する(ステップS252)。
次に、サーバ201は、STB101からストリーミング要求を受信すると、8秒後以降のストリームの送信が可能である場合、ストリーミング応答(HTTP OK)に続けて8秒後以降のストリームをSTB101へ送信する(ステップS254)。
次に、STB101は、8秒後以降のストリームをサーバ201から受信すると、ストリームから8秒後以降において最初のIフレームであるIフレーム−8secを取得タイミングt1において選択し、取得する。この際、再生速度設定部26は、取得タイミングt1からたとえばIフレーム−8secを出力すべき指定出力タイミングt3までの早着時間Tb1が所定のしきい値Tth1より大きいと判断し、調整用再生速度を設定しない。
次に、STB101は、時刻t2において、サーバ201に対してストリーミング要求(HTTP GET、16sec〜)を送信する(ステップS256)。
次に、STB101は、指定出力タイミングt3においてIフレーム−8secを表示装置151へ送信する(ステップS258)。
次に、サーバ201は、STB101からストリーミング要求を受信すると、16秒後以降のストリームの送信が可能である場合、ストリーミング応答(HTTP OK)に続けて16秒後以降のストリームをSTB101へ送信する(ステップS260)。
次に、STB101は、16秒後以降のストリームをサーバ201から受信すると、ストリームから16秒後以降において最初のIフレームであるIフレーム−16secを取得タイミングt4において選択し、取得する。この際、再生速度設定部26は、取得タイミングt4からたとえばIフレーム−16secを出力すべき指定出力タイミングt5までの早着時間Tb2が所定のしきい値Tth1より小さいと判断する。
次に、STB101は、指定出力タイミングt5においてIフレーム−16secを表示装置151へ送信する(ステップS262)。
次に、STB101は、時刻t6において、より大きい調整用再生速度たとえば64倍速を設定する。この際、STB101は、秒間4フレームで再生速度が32倍速から64倍速となるため、時間Tvが8秒毎でなく16秒毎となるIフレームが必要となることを認識し、ストリーミング要求(HTTP GET、32sec〜)をサーバ201へ送信する(ステップS264)。
次に、サーバ201は、STB101からストリーミング要求を受信すると、32秒後以降のストリームの送信が可能である場合、ストリーミング応答(HTTP OK)に続けて32秒後以降のストリームをSTB101へ送信する(ステップS266)。
次に、STB101は、32秒後以降のストリームをサーバ201から受信すると、ストリームから32秒後以降において最初のIフレームであるIフレーム−32secを取得タイミングt7において選択し、取得する。この際、再生速度設定部26は、取得タイミングt7からたとえばIフレーム−32secを出力すべき指定出力タイミングt9までの早着時間Tb3が所定のしきい値Tth1より大きいと判断し、調整用再生速度を維持する。
次に、STB101は、時刻t8において、サーバ201に対してストリーミング要求(HTTP GET、48sec〜)をサーバ201へ送信する(ステップS268)。
次に、STB101は、指定出力タイミングt9においてIフレーム−32secを表示装置151へ送信する(ステップS270)。
なお、図10および図11において、再生速度設定部26は、早着時間Tbが所定のしきい値Tth1より小さい場合、指定されている再生速度より大きい調整用再生速度を設定する場合について記載したが、これに限定するものではない。
再生速度設定部26は、たとえば、調整用再生速度が設定されている場合であって、早着時間Tbが所定のしきい値Tth1より小さいとき、設定された調整用再生速度より大きい調整用再生速度を設定する。
再生速度設定部26は、上記ステップS220およびステップS264において、指定された再生速度である32倍速から調整用再生速度である64倍速に設定した後においても、早着時間Tbが所定のしきい値Tth1より小さい場合、たとえば調整用再生速度を64倍速から128倍速に再設定する。
これにより、調整用再生速度を設定した後においてもIフレームを出力すべきタイミングに間に合うように当該Iフレームを受信できないとき、当該調整用再生速度より大きい調整用再生速度を設定することにより、Iフレームを出力すべきタイミングに間に合うように当該Iフレームを受信できる可能性を高めることができる。
再び図7を参照して、再生速度設定部26は、調整用再生速度が設定されている場合であって、早着時間Tbが所定のしきい値Tth2より大きい場合、たとえば指定されている再生速度を下限とする範囲において、設定された調整用再生速度より小さい調整用再生速度を新たに設定する。
具体的には、たとえば、設定された調整用再生速度が64倍速の早送り再生処理である場合において、設定された調整用再生速度より小さい調整用再生速度とは、たとえば32倍速および16倍速の早送り処理における再生速度である32および16のことである。
また、設定された調整用再生速度が64倍速の早戻し再生処理において、設定された調整用再生速度より小さい調整用再生速度とは、たとえば32倍速および16倍速の早戻し処理における再生速度であるマイナス32およびマイナス16のことである。
以下、再生速度設定部26により調整用再生速度が設定される場合において、STB101が取得および出力するIフレームのタイミングについての概念的な説明を行う。
図12は、本発明の実施の形態に係る番組配信システムにおいて調整用再生速度が設定される場合におけるIフレームが送受信されるタイミングの他の一例を示すシーケンス図である。
図12を参照して、STB101は、たとえば、サーバ201主導によるIフレームの選択が行われる場合であって、指定されている再生速度が32倍速であるときに、Iフレームを出力すべきタイミングに間に合うように当該Iフレームを受信できない可能性がある状況を想定する。
STB101は、まず、たとえば図10に示すステップS220と同様に、指定されている再生速度より大きい調整用再生速度たとえば64倍速を設定し、サーバ201に対してストリーミング要求(HTTP GET x64)を送信する(ステップS302)。
この際、サーバ201は、ストリーミング要求(HTTP GET x64)を受信すると、秒間4フレームおよび64倍速でIフレームを送信するために、時間Tvが16秒毎となるIフレームをSTB101へ送信する。
次に、STB101は、たとえばIフレーム−80secを取得タイミングt51においてサーバ201から受信する(ステップS304)。この際、再生速度設定部26は、取得タイミングt51からたとえばIフレーム−80secを出力すべき指定出力タイミングt52までの早着時間Tb11が所定のしきい値Tth1より大きく、かつ所定のしきい値Tth2より小さいと判断し、調整用再生速度を維持する。
次に、STB101は、指定出力タイミングt52においてIフレーム−80secを表示装置151へ送信する(ステップS306)。
次に、STB101は、たとえばIフレーム−96secを取得タイミングt53においてサーバ201から受信する(ステップS308)。この際、再生速度設定部26は、取得タイミングt53からたとえばIフレーム−96secを出力すべき指定出力タイミングt56までの早着時間Tb12が所定のしきい値Tth1より大きく、かつ所定のしきい値Tth2より小さいと判断し、調整用再生速度を維持する。
次に、STB101は、たとえばIフレーム−112secを取得タイミングt54においてサーバ201から受信する(ステップS310)。この際、再生速度設定部26は、取得タイミングt54からたとえばIフレーム−112secを出力すべき指定出力タイミングt59までの早着時間Tb13が所定のしきい値Tth1および所定のしきい値Tth2より大きいと判断する。
次に、STB101は、時刻t55において、たとえば、指定されている再生速度を下限とする範囲で、64倍速より小さい調整用再生速度である32倍速を設定し、サーバ201に対してストリーミング要求(HTTP GET x32)を送信する(ステップS312)。
この際、サーバ201は、ストリーミング要求(HTTP GET x32)を受信すると、秒間4フレームおよび32倍速でIフレームを送信するために、Iフレーム−112secの次のIフレームから時間Tvが8秒毎となるIフレームをSTB101へ送信する。
次に、STB101は、指定出力タイミングt56においてIフレーム−96secを表示装置151へ送信する(ステップS314)。
次に、STB101は、たとえばIフレーム−120secを取得タイミングt57においてサーバ201から受信する(ステップS316)。この際、再生速度設定部26は、取得タイミングt57からたとえばIフレーム−120secを出力すべき指定出力タイミングt60までの早着時間Tb14が所定のしきい値Tth1および所定のしきい値Tth2より大きいと判断する。
この場合、STB101は、調整用再生速度が、たとえば、指定されている再生速度である32倍速に設定されているので、調整用再生速度を維持する。
次に、STB101は、たとえばIフレーム−128secを取得タイミングt58においてサーバ201から受信する(ステップS318)。この際、再生速度設定部26は、取得タイミングt58からたとえばIフレーム−128secを出力すべき指定出力タイミングt61までの早着時間Tb15が所定のしきい値Tth1および所定のしきい値Tth2より大きいと判断する。
この場合、STB101は、調整用再生速度が、たとえば、指定されている再生速度である32倍速に設定されているので、調整用再生速度を維持する。
次に、STB101は、指定出力タイミングt59においてIフレーム−112secを表示装置151へ送信する(ステップS320)。
次に、STB101は、指定出力タイミングt60においてIフレーム−120secを表示装置151へ送信する(ステップS322)。
次に、STB101は、指定出力タイミングt61においてIフレーム−128secを表示装置151へ送信する(ステップS324)。
再生速度設定部26は、上記ステップS310において、早着時間Tb13が所定のしきい値Tth1および所定のしきい値Tth2より大きいことを把握する。早着時間Tb13が所定のしきい値Tth2より大きいことは、以下のことを意味する。
すなわち、STB101が調整用再生速度である64倍速を、当該調整用再生速度より小さい調整用再生速度に新たに設定しても、Iフレームを出力すべきタイミングに間に合うように当該Iフレームを取得できる可能性が高いことを意味する。
これは、上記ステップS308、ステップS310、ステップS316およびステップS318においてIフレームの取得速度が速くなったことに起因する。
そして、再生速度設定部26は、上記ステップS312において、設定された調整用再生速度である64倍速より小さい調整用再生速度である32倍速をサーバ201へ通知するためにストリーミング要求(HTTP GET x32)をサーバ201へ送信する。
これにより、STB101は、新たに設定された調整用再生速度に従って、Iフレームを選択的に出力することができる。
また、各指定出力タイミングの間隔を狭くすることができるので、STB101がたとえば1秒間に出力する基本画像の枚数を増やすことができる。これにより、早送り再生または早戻し再生を視聴するユーザは、新たに設定される前の調整用再生速度に従ってIフレームが選択的に出力されている場合と比べて、より滑らかな早送り再生または早戻し再生を視聴することができる。
また、上記ステップS316およびステップS318において、調整用再生速度が、指定されている再生速度である32倍速に設定されているため、STB101は調整用再生速度を維持したが、STB101は、指定されている再生速度より小さい再生速度を設定してもよい。
具体的には、たとえば、STB101が調整用再生速度を32倍速から16倍速に設定すると、秒間のフレーム数は、秒間4フレームから秒間8フレームに増加する。
これにより、早送り再生処理および早戻し再生処理の実際の再生速度を維持したまま、STB101が秒間に出力するIフレームの枚数を増やすことができるので、早送り再生または早戻し再生を視聴するユーザは、秒間に出力されるIフレームの枚数が増える前と比べて、より滑らかな早送り再生または早戻し再生を視聴することができる。
なお、上記において、サーバ201主導によるIフレームの選択が行われる場合において、再生速度設定部26が設定された調整用再生速度より小さい調整用再生速度を新たに設定するケースについて例示したが、STB101主導によるIフレームの選択が行われる場合についても、再生速度設定部26は、同様に調整用再生速度を新たに設定する。
再び図7を参照して、再生速度設定部26は、設定した調整用再生速度を制御部22およびトリック再生処理部27へ出力する。
トリック再生処理部27は、指定されている再生速度たとえば32倍速の早送り再生処理を行う旨を含む番組のトリック再生処理命令を制御部22から受けると、バッファ24に蓄積されたIフレームを含むPESを取得する。
トリック再生処理部27は、指定されている再生速度に従い、PTSの示す出力タイミングを用いてIフレームを選択的に画像データ出力部29へ出力する場合、以下の処理を行う。
すなわち、Iフレーム転送部30は、タイミング情報処理部25からIフレームの識別子とともに当該Iフレームの指定出力タイミングおよび指定されている再生速度を受けると、当該識別子に基づいて、バッファ24に蓄積されたIフレームの中から該当するIフレームを取得する。
そして、Iフレーム転送部30は、当該指定出力タイミングにおいて、取得したIフレームおよび指定されている再生速度を画像データ出力部29へ出力する。
画像データ出力部29は、Iフレーム転送部30からIフレームを受けると、受けたIフレームから画像を再生する。そして、画像データ出力部29は、再生した画像をたとえば表示装置151へ出力する。表示装置151は、画像データ出力部29から受けた画像を表示する。
また、画像データ出力部29は、Iフレーム転送部30から指定されている再生速度を受けると、指定されている再生速度をたとえば画像データまたは音声データに変換する。そして、画像データ出力部29は、画像データまたは音声データに変換した再生速度をたとえば表示装置151へ出力し、表示装置151において再生速度を提示させる。
指定されている再生速度は、再生速度設定部26によって調整用再生速度が設定されている場合においても、表示装置151において提示される。
これにより、早送り再生処理および早戻し再生処理における実際の再生速度から大きくずれた再生速度を、早送り再生または早戻し再生を視聴するユーザに対して提示してしまうことを防ぐことができる。
この場合におけるトリック再生処理部27の処理は、ほぼ一定の時間間隔のIフレームを有するストリームをSTB101が受ける場合に適している。
[トリック再生時に生ずる問題点]
一方、各Iフレームの間隔のばらつきが大きいストリームをSTB101が受ける場合、以下の問題が発生する。
再び図3を参照して、STB101は、たとえば2倍速の早送り再生処理において、図3(B)に示すように、PTSが示す出力タイミングでIフレームを出力する場合(図3(A))の再生速度と比べて、2倍の再生速度でIフレームを選択的に出力する。
より詳細には、通常再生におけるIフレームI1〜I5の出力タイミングは、PTSが示すタイミングであり、具体的には、時刻ta1〜ta5である。
また、2倍速の早送り再生処理時におけるIフレームI1〜I5の出力タイミングは、具体的には、時刻tb1〜tb5である。
2倍速の早送り再生処理において、IフレームI1が出力されてからIフレームI2が出力されるまでの時間間隔INT1すなわち時刻tb2と時刻tb1との差は、通常再生における時刻ta2と時刻ta1との差の1/2である。
また、2倍速の早送り再生処理において、IフレームI2が出力されてからIフレームI3が出力されるまでの時間間隔INT2すなわち時刻tb3と時刻tb2との差は、通常再生における時刻ta3と時刻ta2との差の1/2である。
また、2倍速の早送り再生処理において、IフレームI3が出力されてからIフレームI4が出力されるまでの時間間隔INT3すなわち時刻tb4と時刻tb3との差は、通常再生における時刻ta4と時刻ta3との差の1/2である。
また、2倍速の早送り再生処理において、IフレームI4が出力されてからIフレームI5が出力されるまでの時間間隔INT4すなわち時刻tb5と時刻tb4との差は、通常再生における時刻ta5と時刻ta4との差の1/2である。
すなわち、2倍速の早送り再生処理において連続するIフレームが出力される時間間隔は、当該連続するIフレームのPTSが示す出力タイミングの時間間隔に応じた値となる。
しかしながら、図3(A)に示すように、連続するIフレームのPTSが示すタイミングの間隔は、ばらついている場合が多い。この場合、図3(B)に示すように、早送り再生処理において、連続するIフレームが出力される時間間隔INT1〜INT4がばらついてしまう。
これに対して、トリック再生処理部27は、以下の処理を行う。すなわち、トリック再生処理部27に含まれるスケジューリング部31は、指定出力タイミングでIフレームを選択的に出力する場合と比べて、出力されるIフレームの間隔のばらつきが少なくなるようなIフレームの出力タイミングである調整出力タイミングを設定する。
具体的には、スケジューリング部31は、時間軸上で連続する複数の単位期間を設定し、単位期間において出力可能な複数のIフレームの調整出力タイミングを等間隔に設定する。
トリック再生処理部27は、調整出力タイミングに従ってIフレームを選択的に画像データ出力部29へ出力する。
図13は、本発明の実施の形態に係るスケジューリング部が設定する調整出力タイミングの一例を示す図である。
図13を参照して、図13(A)、(B)、(C)および(D)の横軸は、時間を示す。以下、スケジューリング部31が設定する調整出力タイミングについて概念的な説明を行う。すなわち、図13(B)には、IフレームI1〜I4が指定出力タイミングに従って選択的に出力される場合のタイミングが示されている。
この場合におけるIフレームI1の出力タイミングおよびIフレームI2の出力タイミングの間隔は、間隔B1である。また、IフレームI2の出力タイミングおよびIフレームI3の出力タイミングの間隔は、間隔B2である。また、IフレームI3の出力タイミングおよびIフレームI4の出力タイミングの間隔は、間隔B3である。ここで、間隔B1は、間隔B2より大きいとする。また、間隔B3は、間隔B2より大きいとする。
図13(A)には、IフレームI1〜I4が好ましくない出力タイミングに従って選択的に出力される場合のタイミングが示されている。
この場合におけるIフレームI1の出力タイミングおよびIフレームI2の出力タイミングの間隔は、間隔NG1である。また、IフレームI2の出力タイミングおよびIフレームI3の出力タイミングの間隔は、間隔NG2である。また、IフレームI3の出力タイミングおよびIフレームI4の出力タイミングの間隔は、間隔NG3である。ここで、間隔NG1は、間隔B1より大きいとする。また、間隔NG2は、間隔B1より小さいとする。また、間隔NG3は、間隔B3より大きいとする。
すなわち、図13(A)に示す間隔NG1,NG2,NG3は、図13(B)に示す間隔B1,B2,B3と比べて、出力されるIフレーム間の出力タイミング間隔のばらつきが大きくなっている。
トリック再生を視聴するユーザは、たとえば図13(A)に示すタイミングでSTB101からIフレームが出力される場合、トリック再生の再生間隔が長くなったり短くなったりするので、違和感を生じてしまう。
図13(C)には、IフレームI1〜I4がたとえばスケジューリング部31により設定された好ましい出力タイミングすなわち調整出力タイミングに従って選択的に出力される場合のタイミングが示されている。
この場合におけるIフレームI1の出力タイミングおよびIフレームI2の出力タイミングの間隔は、図13(B)に示す間隔B1と同じ大きさを有する間隔G1である。また、IフレームI2の出力タイミングおよびIフレームI3の出力タイミングの間隔は、図13(B)に示す間隔B1と同じ大きさを有する間隔G2である。また、IフレームI3の出力タイミングおよびIフレームI4の出力タイミングの間隔は、図13(B)に示す間隔B3と同じ大きさを有する間隔G3である。
すなわち、図13(C)に示す間隔は、図13(B)に示す間隔B2を間隔B1と同じ大きさとした場合の間隔である。したがって、図13(C)におけるIフレームの間隔のばらつきは、図13(B)におけるIフレームの間隔のばらつきと比べて小さい。
これにより、図13(B)に示すタイミングで出力されるIフレームにより構成されるトリック再生の再生間隔のばらつきと比べて、トリック再生の再生間隔のばらつきを抑制することができる。
また、たとえば、図13(C)に示すタイミングでSTB101からIフレームが出力される場合、図13(B)に示すタイミングでSTB101からIフレームが出力される場合と比べて、トリック再生を視聴するユーザの違和感が低減される。
たとえば、スケジューリング部31は、単位期間U1において出力可能なIフレームの調整出力タイミングを等間隔に設定する。
図13(D)には、IフレームI1〜I4がたとえばスケジューリング部31により設定されたより好ましい調整出力タイミングに従って選択的に出力される場合のタイミングが示されている。
この場合におけるIフレームI1の出力タイミングおよびIフレームI2の出力タイミングの間隔は、間隔Gcomである。また、IフレームI2の出力タイミングおよびIフレームI3の出力タイミングの間隔は、間隔Gcomと同じ大きさである。また、IフレームI3の出力タイミングおよびIフレームI4の出力タイミングの間隔は、間隔Gcomと同じ大きさである。
すなわち、図13(D)では、図13(C)に示す場合と比べて、出力されるIフレーム間の出力タイミングの間隔のばらつきが小さい。
これにより、図13(C)に示すタイミングで出力されるIフレームにより構成されるトリック再生の再生間隔のばらつきと比べて、トリック再生の再生間隔のばらつきを抑制することができる。
また、たとえば、図13(D)に示すタイミングでSTB101からIフレームが出力される場合、図13(C)に示すタイミングでSTB101からIフレームが出力される場合と比べて、トリック再生を視聴するユーザの違和感が低減される。
なお、再生速度設定部26が、指定されている再生速度または自己が設定した調整用再生速度と比べて大きい調整用再生速度を設定する場合、設定後の単位期間U1あたりに出力されるIフレームの枚数は、設定前の単位期間U1あたりに出力されるIフレームの枚数と比べて少なくなる。
具体的には、たとえば、秒間4フレームである場合において、32倍速から64倍速に設定されるとき、32倍速におけるIフレームの指定出力タイミングの間隔は、64倍速におけるIフレームの指定出力タイミングの間隔に対して半分となる。
これは、64倍速における単位期間U1の開始時刻および終了時刻の間に含まれる指定出力タイミングを有するIフレームの枚数が、32倍速における単位期間U1の開始時刻および終了時刻の間に含まれる指定出力タイミングを有するIフレームの枚数の半分となることを意味する。
また、再生速度設定部26が、自己が設定した調整用再生速度と比べて小さい調整用再生速度を設定する場合、設定後の単位期間U1あたりに出力されるIフレームの枚数は、設定前の単位期間U1あたりに出力されるIフレームの枚数と比べて多くなる。
具体的には、たとえば、秒間4フレームである場合において、64倍速から32倍速に設定されるとき、64倍速におけるIフレームの指定出力タイミングの間隔は、32倍速におけるIフレームの指定出力タイミングの間隔に対して2倍となる。
これは、32倍速における単位期間U1の開始時刻および終了時刻の間に含まれる指定出力タイミングを有するIフレームの枚数が、64倍速における単位期間U1の開始時刻および終了時刻の間に含まれる指定出力タイミングを有するIフレームの枚数の2倍となることを意味する。
再び図7を参照して、スケジューリング部31は、たとえば指定されている再生速度たとえば32倍速の早送り再生処理を行う旨を含む番組のトリック再生処理命令を制御部22から受けると、指定出力タイミングに基づいてIフレームが出力されることを把握する。
また、スケジューリング部31は、タイミング情報処理部25から受けるIフレームの識別子および当該Iフレームの指定出力タイミングに基づいて、以下の処理を行う。すなわち、スケジューリング部31は、たとえば図13に示すような単位期間U1を連続して複数設定し、各単位期間U1の開始時刻および終了時刻の間に含まれる指定出力タイミングを有するIフレームの枚数をカウントする。
そして、スケジューリング部31は、単位期間U1の長さを当該枚数で割った値を各Iフレームの間隔となるように調整出力タイミングを設定する。スケジューリング部31は、調整出力タイミングを設定したIフレームについて、当該Iフレームの識別子および調整出力タイミングをIフレーム転送部30へ出力する。
Iフレーム転送部30は、スケジューリング部31からIフレームの識別子および調整出力タイミングを受けると、当該識別子に基づいて、バッファ24に蓄積されたIフレームの中から該当するIフレームを取得する。
そして、Iフレーム転送部30は、当該調整出力タイミングにおいて、取得したIフレームを指定されている再生速度とともに画像データ出力部29へ出力する。
[STB101の基本動作]
図14は、本発明の実施の形態に係るSTBが再生処理を行う際の動作手順の一例を定めたフローチャートである。
図14を参照して、ここでは、ユーザが要求したコンテンツをSTB101が出力している状況を想定する。
まず、STB101は、たとえばコンテンツに関する基本画像の画像データと、関連画像の画像データと、基本画像および関連画像のタイミング情報であるPTS等をネットワーク11経由でサーバ201から取得する(ステップS502)。
次に、STB101は、PTSが示すタイミングに従って、基本画像または関連画像をたとえば表示装置151へ出力する(ステップS504)。
そして、STB101は、ユーザによる再生処理の終了命令を受けるまで、再生処理を継続する(ステップS506でNO)。
また、STB101は、ユーザによる早送り再生処理または早戻し再生処理の開始命令を受けるまで、再生処理を継続する(ステップS508でNOおよびステップS502)。
一方、STB101は、ユーザによる早送り再生処理または早戻し再生処理の開始命令を受けると(ステップS508でYES)、早送り再生処理または早戻し再生処理を開始する(ステップS510)。
次に、STB101は、ユーザによる早送り再生処理または早戻し再生処理の終了命令を受けるまで、早送り再生処理または早戻し再生処理を継続する(ステップS512でNOおよびステップS510)。
また、STB101は、早送り再生処理または早戻し再生処理を行っている状態においてユーザによる早送り再生処理または早戻し再生処理の終了命令を受けると(ステップS512でYES)、再生処理へ戻る(ステップS502)。
また、STB101は、再生処理を行っている状態においてユーザによる再生処理の終了命令を受けると、再生処理を終了する(ステップS506でYES)。
[早送り再生処理または早戻し再生処理における動作]
図15は、本発明の実施の形態に係るSTBが早送り再生処理または早戻し再生処理を行う際の動作手順の一例を定めたフローチャートである。
図15を参照して、以下の動作は、STB101が図14に示すステップS510およびステップS512を行う際の動作を詳細に示したものである。
まず、STB101は、指定されている再生速度でサーバ201に対してストリーミング要求を送信する(ステップS602)。
次に、STB101は、サーバ201から取得したIフレームを指定出力タイミングで出力する(ステップS604)。
そして、STB101は、ユーザによる早送り再生処理または早戻し再生処理の終了命令を受けるまで、早送り再生処理または早戻し再生処理を継続する(ステップS606でNO)。
次に、STB101は、取得したIフレームの早着時間Tbが所定のしきい値Tth1より小さくなるまで、指定されている再生速度に従って、早送り再生処理または早戻し再生処理を継続する(ステップS608でNOおよびステップS604)。
一方、STB101は、取得したIフレームの早着時間Tbが所定のしきい値Tth1より小さくなる場合(ステップS608でYES)、指定されている再生速度より大きい調整用再生速度を設定し、サーバ201に対してストリーミング要求を送信する(ステップS610)。
次に、STB101は、サーバ201から取得したIフレームを指定出力タイミングで出力する(ステップS612)。
そして、STB101は、ユーザによる早送り再生処理または早戻し再生処理の終了命令を受けるまで、早送り再生処理または早戻し再生処理を継続する(ステップS614でNO)。
次に、STB101は、取得したIフレームの早着時間Tbが所定のしきい値Tth1より小さくなる、または、所定のしきい値Tth2より大きくなるまで、設定された調整用再生速度に従って、早送り再生処理または早戻し再生処理を継続する(ステップS616でNO、ステップS620でNOおよびステップS612)。
一方、STB101は、取得したIフレームの早着時間Tbが所定のしきい値Tth1より小さい場合(ステップS616でYES)、設定された調整用再生速度より大きい調整用再生速度を再設定し、サーバ201に対してストリーミング要求を送信する(ステップS618)。
次に、STB101は、サーバ201から取得したIフレームを指定出力タイミングで出力する(ステップS612)。
また、STB101は、取得したIフレームの早着時間Tbが所定のしきい値Tth2より大きい場合(ステップS620でYES)、設定された調整用再生速度より小さい調整用再生速度を再設定し、サーバ201に対してストリーミング要求を送信する(ステップS622)。
次に、STB101は、再設定された調整用再生速度が指定されている再生速度と同じ場合(ステップS624でYES)、サーバ201から取得したIフレームを指定出力タイミングで出力する(ステップS604)。
一方、STB101は、設定された調整用再生速度が指定されている再生速度と異なる場合(ステップS624でNO)、サーバ201から取得したIフレームを指定出力タイミングで出力する(ステップS612)。
また、STB101は、早送り再生処理または早戻し再生処理を行っている状態においてユーザによる早送り再生処理または早戻し再生処理の終了命令を受けると、早送り再生処理または早戻し再生処理を終了する(ステップS606でYESおよびステップS614でYES)。
[調整出力タイミングに従ってIフレームを出力する際の動作]
図16は、本発明の実施の形態に係るSTBが調整出力タイミングに従ってIフレームを出力する際の動作手順の一例を定めたフローチャートである。
図16を参照して、以下の動作は、STB101が図15に示すステップS604およびステップS612を行う際の動作を詳細に示したものである。
まず、STB101は、時間軸上で連続する複数の単位期間Uを設定する(ステップS702)。
次に、STB101は、たとえば各単位期間Uの開始時刻および終了時刻の間に含まれる指定出力タイミングを有するIフレームの枚数Cをカウントする(ステップS704)。
次に、STB101は、各単位期間Uの長さおよび枚数Cに基づいて、各単位期間UにおけるIフレームの調整出力タイミングを設定する(ステップS706)。
次に、STB101は、設定した調整出力タイミングでIフレームを出力する(ステップS708)。
ところで、サーバ201における負荷の状況により、サーバ201が適切な速度またはタイミングでSTB101から要求されたIフレームを配信することができない場合がある。また、サーバ201からの伝送経路であるネットワーク11において発生する遅延等により、Iフレームの転送速度が落ちる場合がある。
上記の場合では、STB101は、指定された再生速度に従ってIフレームを再生すべきタイミングより遅延したタイミングでIフレームを受けてしまう可能性がある。このため、STB101は、指定されている再生速度より遅い再生速度でIフレームを再生してしまう。
これに対して、本発明の実施の形態に係る画像出力装置では、制御部22は、基本画像と、関連画像と、基本画像および関連画像を出力すべき出力タイミングを示すタイミング情報の一例であるPTSとを取得する。画像データ出力部29は、PTSの示す出力タイミングに従って、制御部22によって取得された基本画像および関連画像を出力する。制御部22は、指定されている再生速度に基づいて基本画像および関連画像をサーバ201に要求する。画像データ出力部29は、早送り再生処理および早戻し再生処理の少なくとも一方において、指定されている再生速度に従い、PTSの示す出力タイミングを用いて基本画像を選択的に出力する。制御部22は、早送り再生処理および早戻し再生処理の少なくとも一方において、指定されている再生速度に基づいて基本画像をサーバ201に要求する。再生速度設定部26は、早送り再生処理および早戻し再生処理の少なくとも一方において、制御部22におけるサーバ201からの基本画像の取得状況に関する所定条件が満たされると、指定されている再生速度とは異なる調整用再生速度を設定する。制御部22は、再生速度設定部26によって調整用再生速度が設定された場合には、指定されている再生速度の代わりに、調整用再生速度に基づいて基本画像をサーバ201に要求する。
このように、サーバ201からの基本画像の取得状況に応じて調整用再生速度を設定し、当該調整用再生速度に基づいて基本画像をサーバ201に要求する構成により、たとえばサーバ201が適切な速度またはタイミングでSTB101から要求された基本画像を配信することができない場合においても、送り再生処理および早戻し再生処理の実際の再生速度が指定されている再生速度より遅くなってしまうことを抑制することができ、指定されている再生速度の早送り再生および早戻し再生をユーザに提供することができる。
また、調整用再生速度に基づく基本画像をサーバ201に対して要求することにより、指定された再生速度と異なる再生速度を新たに指定し直す必要がなくなる。
これにより、早送り再生または早戻し再生を視聴するユーザは、STB101との間において指定されている再生速度を指定し直すことなく、指定された再生速度の早送り再生または早戻し再生を視聴することができる。
また、本発明の実施の形態に係る画像出力装置では、制御部22は、再生速度設定部26によって設定された調整用再生速度をサーバ201に通知する。
このように、基本画像の再生速度をサーバ201に通知する構成により、簡易な処理で基本画像の配信速度を変更することができる。また、サーバ201が選択的に基本画像を配信することができるため、伝送経路たとえばネットワーク11における負荷を減少させることができる。
また、本発明の実施の形態に係る画像出力装置では、制御部22は、再生速度設定部26によって設定された調整用再生速度に応じた出力タイミングの基本画像をサーバ201に要求する。
このように、サーバ201により配信される基本画像を調整用再生速度に応じて指定する構成により、STB101主導で適切な基本画像を選択することができる。これにより、サーバ201からの基本画像の取得状況に応じて、たとえば単位時間に出力する基本画像の枚数をきめ細かく設定することができる。
また、本発明の実施の形態に係る画像出力装置では、上記所定条件は、指定されている再生速度または調整用再生速度に基づく画像要求部の要求に対するサーバ201からの基本画像の取得タイミングに関する条件である。
このような構成により、サーバ201における負荷の状況およびサーバ201からの伝送経路たとえばネットワーク11において発生する伝送遅延に応じて、調整用出力タイミングを適切に設定することができる。
また、本発明の実施の形態に係る画像出力装置では、再生速度設定部26は、制御部22により要求された基本画像を制御部22が取得したタイミングから画像データ出力部29が基本画像を選択的に出力すべきタイミングまでの時間である早着時間Tbが所定のしきい値より小さい場合、指定されている再生速度または設定された調整用再生速度より大きい調整用再生速度を設定する。
このような構成により、STB101における実際の再生速度が、指定されている再生速度より遅くなっている場合、STB101における実際の再生速度を速くすることができる。これにより、指定されている再生速度に対するSTB101における実際の再生速度の遅れを修正することができる。
また、STB101における実際の再生速度が、指定されている再生速度より遅くなる可能性が高い場合、調整用再生速度を大きくすることにより当該可能性を低くすることができる。これにより、STB101における実際の再生速度が指定されている再生速度より遅くなってしまうことを回避することができる。
すなわち、基本画像の到着の遅れの程度に応じて、適切な調整用再生速度を設定することができる。
また、本発明の実施の形態に係る画像出力装置では、再生速度設定部26は、調整用再生速度に基づく制御部22の要求に対するサーバ201からの基本画像についての早着時間Tbが所定のしきい値より大きい場合、設定された調整用再生速度より小さい調整用再生速度を新たに設定する。
このような構成により、調整用再生速度を小さくしてもSTB101における実際の再生速度が指定されている再生速度より遅くなってしまう可能性が低い場合に、調整用再生速度を指定されている再生速度に近づけることができる。
これにより、基本画像の到着の遅れの程度に応じて、適切な調整用再生速度を設定することができる。
また、STB101がたとえば1秒間に出力する基本画像の枚数が増えるので、早送り再生または早戻し再生を視聴するユーザは、1秒間に出力される基本画像の枚数が増える前と比べて、より滑らかな早送り再生または早戻し再生を視聴することができる。
また、本発明の実施の形態に係る画像出力装置では、スケジューリング部31は、早送り再生処理および早戻し再生処理の少なくとも一方において、指定されている再生速度に従い、PTSの示す出力タイミングを用いて基本画像を選択的に出力する場合と比べて、出力される基本画像間の間隔のばらつきが少なくなるような基本画像の出力タイミングである調整出力タイミングを設定する。そして、画像データ出力部29は、早送り再生処理および早戻し再生処理の少なくとも一方において、調整出力タイミングに従って基本画像を選択的に出力する。
このような構成により、早送り再生処理または早戻し再生処理の少なくとも一方において、基本画像が出力されるタイミングの間隔のばらつきを抑制することができる。
これにより、基本画像の表示間隔のばらつきが抑制された早送り再生または早戻し再生をユーザに対して提供することができるので、基本画像の表示間隔がばらついたときにユーザが感じる違和感を軽減し、安定した表示を行うことができる。
また、本発明の実施の形態に係る画像出力装置では、スケジューリング部31は、時間軸上で連続する複数の単位期間Uを設定し、単位期間Uにおいて出力可能な複数の基本画像の調整出力タイミングを等間隔に設定する。
このような構成により、各単位期間Uにおいて、基本画像が出力されるタイミングの間隔のばらつきを無くすことができるので、ユーザが感じる違和感をより軽減し、より安定した表示を行うことができる。
また、時間軸上で連続する複数の単位期間Uを設定することにより、等間隔の調整出力タイミングを容易に設定することができる。
また、本発明の実施の形態に係る画像出力装置では、画像データ出力部29は、早送り再生処理および早戻し再生処理の少なくとも一方において、指定されている再生速度を提示し、再生速度設定部26によって調整用再生速度が設定されている場合においても、指定されている再生速度を提示する。
このような構成により、早送り再生処理および早戻し再生処理における実際の再生速度から大きくずれた再生速度を、早送り再生または早戻し再生を視聴するユーザに対して提示することなく、調整用再生速度の設定を行うことができる。
これにより、STB101により提供される早送り再生および早戻し再生の再生速度に対するユーザの信頼を高めることができる。
また、本発明の実施の形態に係る画像出力装置では、基本画像はIフレーム(Intra-coded Frame)であり、関連画像はPフレーム(Predicted Frame)またはBフレーム(Bi-directional Predicted Frame)である。
このような構成により、MPEG2の方式またはH.264/AVCの方式において、早送り再生処理または早戻し再生処理を適切に行うことができる。
なお、本発明の実施の形態に係る画像出力装置は、早送り再生処理および早戻し再生処理を行なう構成であるとしたが、これに限定するものではない。画像出力装置は、早送り再生処理または早戻し再生処理のいずれかを行う構成であってもよい。
また、本発明の実施の形態に係る画像出力装置は、指定されている再生速度および調整用再生速度について、それぞれ32倍速および64倍速を例示したが、これに限定するものではない。指定されている再生速度および調整用再生速度は、他の倍速値であってもよい。
また、本発明の実施の形態に係る画像出力装置は、早送り再生処理および早戻し再生処理の少なくとも一方において、指定されている再生速度に従い、タイミング情報の示す出力タイミングを用いて基本画像を選択的に出力する構成であるとしたが、これに限定するものではない。画像出力装置は、たとえばIフレームTS方式のようにサーバが指定するタイミングで基本画像を選択的に出力する構成において、指定されている再生速度と異なる調整用再生速度を設定し、当該調整用再生速度に基づいて基本画像をサーバへ要求してもよい。
また、本発明の実施の形態に係る画像出力装置は、MPEG2−TS規格に従うストリームの処理を行なう構成であるとしたが、これに限定するものではない。他の規格に従うストリームの処理を行なう構成であってもよい。
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。