以下、本発明の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
[番組配信システムの概要]
図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倍速の早送り再生が実現される。
また、早戻し再生は、早送り再生の方向と逆方向に再生させること以外は、早送り再生と同様の処理により実現される。
[Iフレームが配信される際のシーケンス]
STB101は、以下に示す各フローチャートおよび各シーケンスの各ステップを図示しないメモリから読み出して実行する。このプログラムは、外部からインストールすることができる。このインストールされるプログラムは、たとえば記録媒体に格納された状態で流通する。
図4は、本発明の実施の形態に係るサーバがIフレームを選択的にSTBへ送信することによりトリック再生を行う際の動作の一例を示すシーケンス図である。
図4を参照して、ここでは、ユーザが要求したコンテンツをSTB101が出力している状況を想定する。
まず、STB101は、コンテンツに関するコンテンツデータすなわち番組の情報をネットワーク11経由でサーバ201から受信する(ステップS102)。
次に、STB101は、たとえばユーザから4倍速の早送り再生の要求を受ける(ステップS104)。
次に、STB101は、サーバ201とのTCPによるセッションを切断する(ステップS106)。
次に、STB101は、4倍速の早送り再生のストリーミング要求(HTTP GET)をサーバ201へ送信する(ステップS108)。この際、STB101およびサーバ201間のTCPによるセッションは再確立される。
次に、サーバ201は、STB101からストリーミング要求を受信すると、4倍速の早送り再生のストリーミングが可能である場合、ストリーミング応答(HTTP OK)をSTB101へ送信する(ステップS110)。
次に、サーバ201は、1番目のIフレームの画像データをSTB101へ送信する(ステップS112)。
次に、STB101は、1番目のIフレームをサーバ201から受信すると、Iフレームの蓄積を開始する(ステップS114)。
次に、サーバ201は、たとえばユーザによる早送り再生の停止要求を受けるまで、またはコンテンツの最終部に到達するまで、2番目以降のIフレームの画像データを順次STB101へ送信する(ステップS116〜ステップS122)。
以上のような動作により、トリック再生のためのサーバ201主導によるIフレームの選択が行われる。
なお、Iフレームの画像データは、上記ステップS112、およびステップS116からステップS122までにおいて、サーバ201、ネットワーク11およびSTB101によるベストエフォートで送信される。
STB101は、番組配信システム10におけるIフレームの配信速度が表示装置151へIフレームを出力する速度より速い場合、Iフレームを蓄積することができる。
図5は、本発明の実施の形態に係るSTBがIフレームを選択的に表示装置へ出力することによりトリック再生を行う際の動作の一例を示すシーケンス図である。
図5を参照して、ここでは、ユーザが要求したコンテンツをSTB101が出力している状況を想定する。
まず、STB101は、コンテンツに関するコンテンツデータすなわち番組の情報をネットワーク11経由でサーバ201から受信する(ステップS152)。
次に、STB101は、たとえばユーザから4倍速の早送り再生の要求を受ける(ステップS154)。
次に、STB101は、サーバ201とのTCPによるセッションを切断する(ステップS156)。
次に、STB101は、たとえば1秒分の早送りに必要な画像データとして、0秒から4秒までの画像データのストリーミング要求(HTTP GET、0〜4sec)をサーバ201へ送信する(ステップS158)。この際、STB101およびサーバ201間のTCPによるセッションは再確立される。
次に、サーバ201は、STB101からストリーミング要求を受信すると、0秒から4秒までの画像データの送信が可能である場合、ストリーミング応答(HTTP OK)をSTB101へ送信する(ステップS160)。
次に、サーバ201は、0秒から4秒までの画像データを含むストリームをSTB101へ送信する(ステップS162)。
次に、STB101は、0秒から4秒までの画像データを含むストリームをSTB101から受信すると、受信したストリームからIフレームを選択し、選択したIフレームを蓄積する(ステップS164)。
以上のような動作により、トリック再生のためのSTB101主導によるIフレームの選択が行われる。
なお、0秒から4秒までの画像データは、上記ステップS162において、サーバ201、ネットワーク11およびSTB101によるベストエフォートで送信される。
STB101は、番組配信システム10におけるIフレームの配信速度が表示装置151へIフレームを出力する速度より速い場合、Iフレームを蓄積することができる。
[トリック再生時に生ずる問題点]
再び図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がばらついてしまう。
また、連続するIフレームのPTSが示すタイミングの間隔がばらついていない場合においても、サーバ201およびSTB101間の伝送経路において不規則な遅延が発生すると、STB101がIフレームを選択的に出力する際の時間間隔は以下のようにばらついてしまう。
図6は、本発明の実施の形態に係るSTBが早送り再生処理においてIフレームを選択的に出力する際の時間間隔の一例を示す図である。
図6を参照して、図6の(A)および(B)の横軸は、時間を示す。ここでは、たとえば早送り再生処理または早戻し再生処理において、図6の(A)に示すようにIフレームI1〜I9をSTB101が出力する場合を想定する。
この場合におけるフレームI1〜I9の出力タイミングは、たとえば時刻tc1〜tc9である。また、各Iフレーム間の間隔は、一定の間隔すなわち間隔INTComであるとする。
たとえば、図6の(B)に示す時刻tr1から時刻tr2までの期間Tntにおいてサーバ201およびSTB101間の伝送経路において問題が発生し、STB101が、期間TntにおいてIフレームを受信できない状況を想定する。この状況において、STB101が出力するIフレームは以下のようになる。
すなわち、STB101は、時刻tc1,tc2において、図6の(A)に示す場合と同様にIフレームI1,I2を出力する。そして、時刻tc2および時刻tc3の間における時刻tr1においてサーバ201およびSTB101間の伝送経路に問題が発生するが、たとえばSTB101が自己のバッファにIフレームI3,I4を蓄積していた場合、STB101は、時刻tc3,tc4において、図6の(A)に示す場合と同様にIフレームI3,I4を出力することが可能である。
次に、STB101は、時刻tc6および時刻tc7の間における時刻tr2においてサーバ201およびSTB101間の伝送経路における問題が解決するまでIフレームI5以降を受信できないので、Iフレームを出力しない。
次に、STB101は、たとえば時刻tr2においてIフレームI5〜I7を受信し、時刻td5,td6,td7において連続してIフレームI5〜I7を出力する。STB101は、時刻tc8以降は通常の動作に戻り、時刻tc8,tc9において、図6の(A)に示す場合と同様にIフレームI8,I9を出力する。
STB101は、IフレームI1〜I4,I8,I9については間隔INTComにおいて出力する。しかしながら、STB101は、IフレームI4,I5間、IフレームI5,I6間、IフレームI6,I7間およびIフレームI7,I8間において、それぞれ間隔INTComと異なる間隔INTIrr1、間隔INTIrr2、間隔INTIrr3および間隔INTIrr4でIフレームを出力してしまう。
したがって、図6の(B)に示すように、IフレームI4〜I8が出力される時間間隔がばらついてしまう。トリック再生を視聴するユーザは、たとえば図3の(B)および図6の(B)に示すタイミングでSTB101からIフレームが出力される場合、トリック再生の再生間隔が長くなったり短くなったりするので、違和感を生じてしまう。
そこで、本発明の実施の形態に係るSTB101では、以下のような構成および動作により、Iフレームが出力される時間間隔のばらつきを抑制する。
[STBの構成]
図7は、本発明の実施の形態に係るSTBの構成を示す図である。
図7を参照して、STB(画像出力装置)101は、通信部21と、制御部(画像データ取得部)22と、指示受付部23と、バッファ24と、記憶部25と、マップ作成部26と、トリック再生処理部27と、通常再生処理部28と、画像データ出力部(出力処理部)29とを備える。
トリック再生処理部27は、バッファ監視部30と、スケジューリング部31と、Iフレーム転送部32とを含む。なお、記憶部25およびバッファ24は、STB101の外部に設けられてもよい。
通信部21は、インターネット等のネットワーク11を介してサーバ201とパケットの送受信を行う。
記憶部25は、HDD(Hard Disk Drive)またはディスクドライブ等の記憶装置であり、番組の情報を含むストリームを保持する。
指示受付部23は、たとえばユーザによる番組の選択、再生、録画、トリック再生および停止等の指示を受付ける。そして、指示受付部23は、ユーザから受けた指示に応じた制御命令を制御部22へ出力する。
制御部22は、番組の情報である基本画像と、関連画像と、基本画像および関連画像を出力すべき出力タイミングを示すタイミング情報とを取得する。基本画像は、たとえばIフレームであり、また、関連画像は、たとえばPフレームおよびBフレームである。タイミング情報は、たとえばPTSまたは後述するSEマップである。
より詳細には、制御部22は、指示受付部23から制御命令を受けると、受けた制御命令に基づいてSTB101の動作を制御する。具体的には、制御部22は、たとえばユーザにより選択された番組の再生に関する制御命令を受けると、選択された番組がIPに従って配信される番組である場合、サーバ201に対して当該番組の情報の配信を通信部21経由で要求する。
そして、制御部22は、サーバ201から送信されてくる番組の情報を含むストリームを通信部21経由で取得し、取得したストリームをバッファ24に蓄積する。
また、制御部22は、たとえば選択された番組が記憶部25に保存された番組である場合、当該番組の情報を含むファイルを記憶部25から取得し、バッファ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経由で要求する。
そして、制御部22は、サーバ201から送信されてくる番組の情報であるストリームを通信部21経由で取得し、取得したストリームを記憶部25に保存する。
[SEマップ]
図8は、本発明の実施の形態に係るSTBがトリック再生を行う際に利用するSEマップの一例を示す図である。
図2および図8を参照して、マップ作成部26は、たとえば記憶部25に保存されるストリームに含まれるIフレームに関するSEマップ81を作成する。
具体的には、マップ作成部26は、たとえば図2の(C)に示すTSストリームが記憶部25に保存される場合、ストリームを前方から解析する。マップ作成部26は、Iフレームを見つけると、見つけたIフレームの表示時刻であるPTS、TSストリームにおける開始位置およびTSストリームにおける終了位置を取得する。
具体的には、マップ作成部26は、たとえば1番目のIフレームであるIフレーム−1を見つけると、Iフレーム−1のPTSである0.0sec、開始位置であるTS−01および終了位置であるTS−08を取得する。マップ作成部26は、TS−01からTS−08までのパケットのサイズを合計することによりIフレーム−1のサイズを把握する。
そして、マップ作成部26は、取得したPTS、開始位置および終了位置に基づいて、Iフレーム−1の識別番号、表示時刻、格納位置およびサイズをSEマップ81に書込む。
同様に、マップ作成部26は、たとえば2番目のIフレームであるIフレーム−2を見つけると、Iフレーム−2のPTSである1.0sec、開始位置であるTS−15および終了位置であるTS−21を取得し、取得したPTS、開始位置および終了位置に基づいて、Iフレーム−2の識別番号、表示時刻、格納位置およびサイズをSEマップ81に書込む。
また、マップ作成部26は、たとえば3番目のIフレームであるIフレーム−3を見つけると、Iフレーム−3のPTSである1.5sec、開始位置であるTS−34および終了位置であるTS−42を取得し、取得したPTS、開始位置および終了位置に基づいて、Iフレーム−3の識別番号、表示時刻、格納位置およびサイズをSEマップ81に書込む。
マップ作成部26は、たとえば作成したSEマップ81を録画したストリームと関連付けて記憶部25に保存する。なお、SEマップは、たとえば番組の情報に予め付随する場合もある。
[トリック再生]
再び図7を参照して、制御部22は、番組の再生中においてたとえばユーザによる早送り再生処理または早戻し再生処理に関する制御命令を受けると、再生している番組がIPに従って配信される番組である場合、サーバ201に対して当該番組のストリーミング要求を通信部21経由で要求する。
この際、制御部22は、たとえば4倍速の早送り再生処理を行う場合、サーバ201に対してストリーミング要求(4x)を通信部21経由で要求する。
そして、制御部22は、サーバ201からストリーミング応答OKを通信部21経由で受信した後、送信されてくるIフレームを取得する。制御部22は、取得したIフレームをバッファ24に蓄積するとともに、4倍速の早送り再生処理を行う旨を含む番組のトリック再生処理命令をトリック再生処理部27へ出力する。
マップ作成部26は、バッファ24に蓄積されたIフレームのPTS、格納位置およびサイズを取得することにより、SEマップを作成する。
なお、制御部22は、たとえば4倍速の早送り再生処理を行う場合、サーバ201に対してストリーミング要求(0〜4sec)を通信部21経由で要求してもよい。
この場合、制御部22は、サーバ201からストリーミング応答OKを通信部21経由で受信した後、送信されてくる0秒から4秒までの画像データを含むストリームを取得する。制御部22は、取得したIフレームをバッファ24に蓄積するとともに、4倍速の早送り再生処理を行う旨を含む番組のトリック再生処理命令をトリック再生処理部27へ出力する。
マップ作成部26は、バッファ24に蓄積されたストリームを解析することによりIフレームのPTS、ストリームにおける開始位置およびストリームにおける終了位置を取得する。
そして、マップ作成部26は、取得したIフレームのPTS、ストリームにおける開始位置およびストリームにおける終了位置に基づいて、SEマップを作成する。
図9は、本発明の実施の形態に係るスケジューリング部の構成を示す図である。
図9を参照して、スケジューリング部31は、基本出力タイミング算出部40と、単位期間設定部41と、枚数カウント部42と、枚数設定部43と、調整出力タイミング設定部44と、Iフレーム選別部45とを含む。
基本出力タイミング算出部40は、制御部22からたとえば4倍速の早送り再生処理を行う旨を含むトリック再生処理命令を受けると、タイミング情報が示す出力タイミングを用いてIフレームを選択的に出力する場合の当該Iフレームの出力タイミングである基本出力タイミングを算出する。
図10は、本発明の実施の形態に係るSTBが4倍速の早送り再生処理を行う際に、スケジューリング部が算出する基本出力タイミングの一例を示す図である。
より詳細には、図10を参照して、たとえばSTB101がIフレーム−316、Iフレーム−317およびIフレーム−318等の順に、Iフレームを選択的に出力して4倍速の早送り再生を行う場合、図10の(A)に示すSEマップ82がマップ作成部26により作成される。
基本出力タイミング算出部40は、SEマップ82における表示時刻を用いて当該Iフレームの出力タイミングである基本出力タイミングを算出する。具体的には、まず、基本出力タイミング算出部40は、当該表示時刻を早送り再生処理の倍速の値である4で除することにより、図10の(B)に示す換算タイミングRTを得る。
そして、基本出力タイミング算出部40は、1番目に出力する予定のIフレーム−316の換算タイミングRTである106.50secを基点として、各Iフレームの換算タイミングRTとの差を計算することにより、図10の(C)に示す基本出力タイミングBOTを算出する。
具体的には、基本出力タイミング算出部40は、たとえば2番目に出力する予定のIフレーム−317の換算タイミングRTが106.75secであるので、106.75secと106.50secとの差である0.25secを、Iフレーム−317の基本出力タイミングBOTとして算出する。
基本出力タイミング算出部40は、3番目に出力する予定のIフレーム−318以降についても、同様の計算を行い、各Iフレームの基本出力タイミングBOTを算出する。
図11は、本発明の実施の形態に係るSTBが4倍速の早戻し再生処理を行う際に、スケジューリング部が算出する基本出力タイミングの一例を示す図である。
図11を参照して、たとえばSTB101がIフレーム−432、Iフレーム−431およびIフレーム−430等の順に、Iフレームを選択的に出力して4倍速の早戻し再生を行う場合、図11の(A)に示すSEマップ83がマップ作成部26により作成される。
基本出力タイミング算出部40は、SEマップ83における表示時刻を用いて当該Iフレームの出力タイミングである基本出力タイミングを算出する。具体的には、まず、基本出力タイミング算出部40は、当該表示時刻を早戻し再生処理の倍速の値であるマイナス4で除することにより、図11の(B)に示す換算タイミングRTを得る。
そして、基本出力タイミング算出部40は、1番目に出力する予定のIフレーム−432の換算タイミングRTであるマイナス131.00secを基点として、各Iフレームの換算タイミングRTとの差を計算することにより、図11の(C)に示す基本出力タイミングBOTを算出する。
具体的には、基本出力タイミング算出部40は、たとえば2番目に出力する予定のIフレーム−431の換算タイミングRTがマイナス130.75secであるので、マイナス130.75secとマイナス131.00secとの差である0.25secを、Iフレーム−431の基本出力タイミングBOTとして算出する。
基本出力タイミング算出部40は、3番目に出力する予定のIフレーム−430以降についても、同様の計算を行い、各Iフレームの基本出力タイミングBOTを算出する。
基本出力タイミング算出部40は、各Iフレームについて算出した基本出力タイミングを枚数カウント部42、Iフレーム選別部45および調整出力タイミング設定部44へ出力する。
再び図9を参照して、単位期間設定部41は、制御部22からトリック再生処理命令を受けると、複数の連続する単位期間たとえばU(n)を設定する。ここで、nは1以上の整数であり、U(n)の期間の長さはたとえば1秒である。なお、U(n)の期間は任意の値たとえば0.5秒でもよい。
単位期間の長さがたとえば1秒のとき、1番目の単位期間であるU(1)の開始時刻および終了時刻は、それぞれゼロ秒および1秒となる。また、2番目の単位期間であるU(2)の開始時刻および終了時刻は、それぞれ1秒および2秒となる。
単位期間設定部41は、枚数カウント部42、枚数設定部43、Iフレーム選別部45、調整出力タイミング設定部44およびバッファ監視部30へ設定した単位期間の情報を出力する。
枚数カウント部42は、単位期間設定部41から複数の単位期間U(n)を受けると、基本出力タイミング算出部40により算出された基本出力タイミングに基づいて、各単位期間U(n)に対応する暫定出力枚数TC(n)をカウントする。
より詳細には、枚数カウント部42は、各単位期間U(n)の開始時刻および終了時刻の間に含まれる基本出力タイミングを有するIフレームの枚数を、各単位期間U(n)の暫定出力枚数TC(n)としてカウントする。
具体的には、再び図10を参照して、図10の(D)に示す単位期間は、STBがたとえば4倍速の早送り再生処理を行う場合、図10の(C)に示す基本出力タイミングBOTが含まれる単位期間U(n)を示す。
Iフレーム−316からIフレーム−319までの基本出力タイミングBOTは、1番目の単位期間であるU(1)の開始時刻であるゼロ秒および終了時刻である1秒の間に含まれる。したがって、枚数カウント部42は、1番目の単位期間U(1)における暫定出力枚数TC(1)を4枚とカウントする。
また、Iフレーム−320からIフレーム−322までの基本出力タイミングBOTは、2番目の単位期間であるU(2)の開始時刻である1秒および終了時刻である2秒の間に含まれる。したがって、枚数カウント部42は、2番目の単位期間U(2)における暫定出力枚数TC(2)を3枚とカウントする。
また、再び図11を参照して、図11の(D)に示す単位期間は、STBがたとえば4倍速の早戻し再生処理を行う場合、図11の(C)に示す基本出力タイミングBOTが含まれる単位期間U(n)を示す。
Iフレーム−432からIフレーム−428までの基本出力タイミングBOTは、1番目の単位期間であるU(1)の開始時刻であるゼロ秒および終了時刻である1秒の間に含まれる。したがって、枚数カウント部42は、1番目の単位期間U(1)における暫定出力枚数TC(1)を5枚とカウントする。
また、Iフレーム−427からIフレーム−425までの基本出力タイミングBOTは、2番目の単位期間であるU(2)の開始時刻である1秒および終了時刻である2秒の間に含まれる。したがって、枚数カウント部42は、2番目の単位期間U(2)における暫定出力枚数TC(2)を3枚とカウントする。
枚数カウント部42は、カウントした単位期間U(n)における暫定出力枚数TC(n)を枚数設定部43へ出力する。
再び図9を参照して、枚数設定部43は、枚数カウント部42から受けた単位期間U(n)における暫定出力枚数TC(n)に応じて、単位期間U(n)における確定出力枚数を設定する。
枚数設定部43は、たとえば、連続する2つの単位期間U(m),U(m+1)について、単位期間U(m+1)において出力可能な暫定出力枚数TC(m+1)から単位期間U(m)において出力可能な暫定出力枚数TC(m)を差し引いた値が所定のしきい値より大きい場合、単位期間U(m+1)において出力するIフレームの枚数を制限する。ここで、mは1以上の整数である。
図12は、本発明の実施の形態に係るスケジューリング部が各単位期間の暫定出力枚数に基づいてIフレームの枚数を制限する一例を示す図である。
図12を参照して、図12の(A)および(B)の横軸は、時間を示す。図12の(A)には、連続する単位期間U(n−1),U(n),U(n+1),U(n+2)において、各単位期間に含まれる基本出力タイミングを有するIフレームが示される。
たとえば、単位期間U(n−1)には、IA1からIA4までの4枚のIフレームの基本出力タイミングが含まれる。また、単位期間U(n)には、IB1からIB3までの3枚のIフレームの基本出力タイミングが含まれる。
また、単位期間U(n+1)には、IC1からIC6までの6枚のIフレームの基本出力タイミングが含まれる。また、単位期間U(n+2)には、ID1からID4までの4枚のIフレームの基本出力タイミングが含まれる。
これらの場合における各Iフレームは、各Iフレームの基本出力タイミングが示す時刻の位置において示されているものとする。また、各Iフレームの基本出力タイミングは等間隔でないものとする。
枚数設定部43は、図12の(A)に示すように、連続する単位期間U(n−1),U(n),U(n+1),U(n+2)にそれぞれ対応する暫定出力枚数TC(n−1),TC(n),TC(n+1),TC(n+2)を枚数カウント部42から受ける。
暫定出力枚数TC(n−1)は、図12の(A)に示すようにたとえば4である。同様に、暫定出力枚数TC(n),TC(n+1),TC(n+2)は、それぞれ3,6,4である。
枚数設定部43は、連続する単位期間における暫定出力枚数の差が所定のしきい値より大きいか否かを評価する。たとえば、所定のしきい値が2である場合、TC(n)とTC(n−1)との差は、3と4との差であるマイナス1に相当するので、上記しきい値より小さい。
したがって、枚数設定部43は、単位期間U(n)において出力するIフレームの枚数を制限せず、単位期間U(n)における確定出力枚数DC(n)をTC(n)と同じ3に設定する。
同様に、TC(n+1)とTC(n)との差は、6と3との差すなわち3であり、上記しきい値より大きい。したがって、枚数設定部43は、単位期間U(n+1)において出力するIフレームの枚数を制限する。
枚数設定部43は、単位期間U(n+1)において出力するIフレームの枚数を、たとえばTC(n)である3と上記しきい値である2との和である5枚に制限する。そして、枚数設定部43は、単位期間U(n+1)における確定出力枚数DC(n+1)を5枚に設定する。
また、たとえば、TC(n+2)とTC(n+1)との差は、4と6との差すなわちマイナス2であり、上記しきい値より小さい。
したがって、枚数設定部43は、単位期間U(n+2)において出力するIフレームの枚数を制限せず、単位期間U(n+2)における確定出力枚数DC(n+2)をTC(n+2)と同じ4に設定する。
なお、枚数設定部43は、上記暫定出力枚数TC(m)を用いる構成に限らず、Iフレームを出力中または出力済みである単位期間U(m)のIフレームの出力枚数を用いてもよい。
また、上記では、説明を簡単にするために暫定出力枚数同士の比較を行う例について説明したが、後の単位期間U(m+1)における暫定出力枚数TC(m+1)と前の単位期間U(m)における確定出力枚数DC(m)とを比較する動作であってもよい。
また、枚数設定部43は、たとえば連続する2つの単位期間U(m),U(m+1)について、単位期間U(m)において出力可能な暫定出力枚数TC(m)から単位期間U(m+1)において出力可能な暫定出力枚数TC(m+1)を差し引いた値が所定のしきい値より大きい場合、単位期間U(m)において出力するIフレームの枚数を制限する。ここで、mは1以上の整数である。
図13は、本発明の実施の形態に係るスケジューリング部が各単位期間の暫定出力枚数に基づいてIフレームの枚数を制限する他の例を示す図である。
図13を参照して、図13の(A)および(B)の横軸は、時間を示す。図13の(A)には、連続する単位期間U(k−1),U(k),U(k+1),U(k+2)において、各単位期間に含まれる基本出力タイミングを有するIフレームが示される。
たとえば、単位期間U(k−1)には、IE1からIE4までの4枚のIフレームの基本出力タイミングが含まれる。また、単位期間U(k)には、IF1からIF6までの6枚のIフレームの基本出力タイミングが含まれる。
また、単位期間U(k+1)には、IG1からIG3までの3枚のIフレームの基本出力タイミングが含まれる。また、単位期間U(k+2)には、IH1からIH4までの4枚のIフレームの基本出力タイミングが含まれる。
これらの場合における各Iフレームは、各Iフレームの基本出力タイミングが示す時刻の位置において示されているものとする。また、各Iフレームの基本出力タイミングは等間隔でないものとする。
枚数設定部43は、図13の(A)に示すように、連続する単位期間U(k−1),U(k),U(k+1),U(k+2)にそれぞれ対応する暫定出力枚数TC(k−1),TC(k),TC(k+1),TC(k+2)を枚数カウント部42から受ける。
暫定出力枚数TC(k−1)は、図13の(A)に示すようにたとえば4である。同様に、暫定出力枚数TC(k),TC(k+1),TC(k+2)は、それぞれ6,3,4である。
枚数設定部43は、連続する単位期間における暫定出力枚数の差が所定のしきい値より大きいか否かを評価する。たとえば、所定のしきい値が2である場合、TC(k−1)とTC(k)との差は、4と6との差であるマイナス2に相当するので、上記しきい値より小さい。
したがって、枚数設定部43は、単位期間U(k−1)において出力するIフレームの枚数を制限せず、単位期間U(k−1)における確定出力枚数DC(k−1)をTC(k−1)と同じ4に設定する。
同様に、TC(k)とTC(k+1)との差は、6と3との差すなわち3であり、上記しきい値より大きい。したがって、枚数設定部43は、単位期間U(k)において出力するIフレームの枚数を制限する。
枚数設定部43は、単位期間U(k)において出力するIフレームの枚数を、たとえばTC(k+1)である3と上記しきい値である2との和である5枚に制限する。
この場合、単位期間U(k)において出力可能なIフレームの枚数が5枚に制限されるので、TC(k)である6枚のうち1枚余る。枚数設定部43は、余った1枚をたとえば次の単位期間U(k+1)に対応するTC(k+1)である3に加えることにより、単位期間U(k+1)における暫定出力枚数TC(k+1)を4枚に設定する。
また、たとえば、TC(k+1)とTC(k+2)との差は、4と4との差すなわちゼロであり、上記しきい値より小さい。
したがって、枚数設定部43は、単位期間U(k+1)において出力するIフレームの枚数を制限せず、単位期間U(k+1)における確定出力枚数DC(k+1)をTC(k+1)と同じ4に設定する。
そして、枚数設定部43は、設定した各単位期間の確定出力枚数DC(n)をIフレーム選別部45経由で調整出力タイミング設定部44へ出力する。
また、たとえば早送り再生処理または早戻し再生処理における再生速度が大きい場合、単位期間あたりの暫定出力枚数が、STB101が出力可能な単位期間あたりの出力枚数を上回ることが考えられる。
そこで、枚数設定部43は、たとえば単位期間Uにおいて出力可能なIフレームの枚数が所定のしきい値より大きい場合、単位期間Uにおいて出力するIフレームの枚数を制限する。
図14は、本発明の実施の形態に係るスケジューリング部が各単位期間の暫定出力枚数に基づいてIフレームの枚数を制限する他の例を示す図である。
具体的には、図14を参照して、図14の(A)および(B)の横軸は、時間を示す。図14の(A)には、単位期間U(j)に含まれる基本出力タイミングを有するIフレームすなわちIフレームI1〜I32が示される。
この場合における各Iフレームは、各Iフレームの基本出力タイミングが示す時刻の位置において示されているものとする。また、各Iフレームの基本出力タイミングは等間隔であってもよいし、等間隔でなくてもよい。
枚数設定部43は、図14の(A)に示すように、単位期間U(j)に対応する暫定出力枚数TC(j)を枚数カウント部42から受ける。暫定出力枚数TC(j)は、図14の(A)に示すようにたとえば32である。
枚数設定部43は、TC(j)が所定のしきい値より大きいか否かを評価する。所定のしきい値がたとえば8である場合、TC(j)は32であるので、当該しきい値より大きい。
したがって、枚数設定部43は、単位期間U(j)において出力するIフレームの枚数を制限する。枚数設定部43は、単位期間U(j)において出力するIフレームの枚数を、たとえば上記しきい値と同じ8枚に制限する。
枚数設定部43は、単位期間U(j)における確定出力枚数DC(j)を8枚に設定する。そして、枚数設定部43は、設定した単位期間U(j)の確定出力枚数DC(j)をIフレーム選別部45経由で調整出力タイミング設定部44へ出力する。
再び図7および9を参照して、Iフレーム選別部45は、たとえば、早送り再生処理または早戻し再生処理の再生速度の大きさが変更された際、変更後の再生速度の大きさが変更前の再生速度より大きい場合、バッファ24に蓄積されたIフレームを選別する。
より詳細には、制御部22は、番組の早送り再生処理または早戻し再生処理を行っている際に、ユーザにより再生速度の大きさが変更されると、以下の処理を行う。
すなわち、制御部22は、変更前の再生速度の大きさが変更後の再生速度より大きい場合、たとえば8倍速から4倍速に変更された場合、バッファ24に蓄積されたIフレームを消去する。
この際、制御部22は、たとえば8倍速から4倍速に再生速度が変更された旨を含む再生速度変更情報をIフレーム選別部45へ出力する。
Iフレーム選別部45は、8倍速から4倍速に再生速度が変更された旨を含む再生速度変更情報を受けると、変更前の再生速度の大きさが変更後の再生速度より大きいことを把握する。この場合、Iフレーム選別部45は、バッファ24に蓄積されたIフレームを選別しない。
一方、制御部22は、変更後の再生速度の大きさが変更前の再生速度より大きい場合、たとえば4倍速から8倍速に変更された場合、バッファ24に蓄積されたIフレームを消去しない。
この際、制御部22は、たとえば4倍速から8倍速に再生速度が変更された旨を含む再生速度変更情報をIフレーム選別部45へ出力する。
Iフレーム選別部45は、4倍速から8倍速に再生速度が変更された旨を含む再生速度変更情報を受けると、変更後の再生速度の大きさが変更前の再生速度より大きいことを把握する。この場合、Iフレーム選別部45は、バッファ24に蓄積されたIフレームを選別する。
図15は、本発明の実施の形態に係るIフレーム選別部により選別されるIフレームの一例を示す図である。
具体的には、図15を参照して、図15の(A)および(B)の横軸は、時間を示す。Iフレーム選別部45は、たとえば再生速度変更情報を受けたタイミングにおいて、マップ作成部26におけるSEマップ82または83を参照することにより、バッファ24に蓄積されたIフレームを確認する。ここでは、バッファ24に蓄積されたIフレームは、4倍速の再生速度において用いるIフレームである。
そして、Iフレーム選別部45は、たとえば基本出力タイミング算出部40から受けた基本出力タイミングおよび単位期間設定部41から受けた単位期間U41,U42,U43,U4に基づいて、図15の(A)に示すように各単位期間に含まれる基本出力タイミングを有するIフレームを把握する。
また、再生速度が4倍速から8倍速へ2倍に変更されたので、図15の(B)に示す8倍速における単位期間U81および単位期間U82は、それぞれ単位期間U41,U42および単位期間U43,U44に相当する。
したがって、Iフレーム選別部45は、単位期間U81において出力すべきIフレームがIフレームI1〜I8であると把握する。また、Iフレーム選別部45は、単位期間U82において出力すべきIフレームがIフレームI9〜I16であると把握する。
また、STB101が単位期間においてたとえばIフレームを4枚出力する場合、Iフレーム選別部45は、単位期間U81において出力すべきIフレームとしてIフレームI1〜I8から4枚選別する。また、Iフレーム選別部45は、単位期間U82において出力すべきIフレームとしてIフレームI9〜I16から4枚選別する。
この際、Iフレーム選別部45は、たとえばIフレームを1枚おきに選別する。具体的には、Iフレーム選別部45は、単位期間U81において出力すべきIフレームとしてIフレームI1,I3,I5,I7を選別する。また、Iフレーム選別部45は、単位期間U82において出力すべきIフレームとしてIフレームI9,I11,I13,I15を選別する。
そして、Iフレーム選別部45は、選別しなかったIフレームたとえばIフレームI2,I4,I6,I8,I10,I12,I14,I16についての情報を制御部22へ通知する。
制御部22は、選別しなかったIフレームI2,I4,I6,I8,I10,I12,I14,I16についての情報をIフレーム選別部45から受けると、IフレームI2,I4,I6,I8,I10,I12,I14,I16に関連するデータをバッファ24から消去する。
また、Iフレーム選別部45は、選別したIフレームたとえばIフレームI1,I3,I5,I7,I9,I11,I13,I15についての情報を調整出力タイミング設定部44へ出力する。
再び図9を参照して、調整出力タイミング設定部44は、枚数設定部43から各単位期間U(n)の確定出力枚数DC(n)を受けると、以下の処理を行う。すなわち、調整出力タイミング設定部44は、たとえば、PTS等の基本出力タイミングを用いてIフレームを選択的に出力する場合と比べて、出力されるIフレーム間の間隔のばらつきが少なくなるようなIフレームの出力タイミングである調整出力タイミングを設定する。
この際、調整出力タイミング設定部44は、たとえば、基本出力タイミング算出部40が算出した各Iフレームについての基本出力タイミングを補正することにより、調整出力タイミングを設定する。
図16は、本発明の実施の形態に係る調整出力タイミング設定部が設定する調整出力タイミングの一例を示す図である。
図16を参照して、図16の(A)、(B)、(C)および(D)の横軸は、時間を示す。以下、調整出力タイミングについて概念的な説明を行う。すなわち、図16の(B)には、IフレームI1〜I4が基本出力タイミングに従って選択的に出力される場合のタイミングが示されている。
この場合におけるIフレームI1の出力タイミングおよびIフレームI2の出力タイミングの間隔は、間隔B1である。また、IフレームI2の出力タイミングおよびIフレームI3の出力タイミングの間隔は、間隔B2である。また、IフレームI3の出力タイミングおよびIフレームI4の出力タイミングの間隔は、間隔B3である。ここで、間隔B1は、間隔B2より大きいとする。また、間隔B3は、間隔B2より大きいとする。
図16の(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より大きいとする。
すなわち、図16の(A)に示す間隔NG1,NG2,NG3は、図16の(B)に示す間隔B1,B2,B3と比べて、出力されるIフレーム間の出力タイミング間隔のばらつきが大きくなっている。
トリック再生を視聴するユーザは、たとえば図16の(A)に示すタイミングでSTB101からIフレームが出力される場合、トリック再生の再生間隔が長くなったり短くなったりするので、違和感を生じてしまう。
図16の(C)には、IフレームI1〜I4がたとえば調整出力タイミング設定部44により設定された好ましい出力タイミングすなわち調整出力タイミングに従って選択的に出力される場合のタイミングが示されている。
この場合におけるIフレームI1の出力タイミングおよびIフレームI2の出力タイミングの間隔は、図16の(B)に示す間隔B1と同じ大きさを有する間隔G1である。また、IフレームI2の出力タイミングおよびIフレームI3の出力タイミングの間隔は、図16の(B)に示す間隔B1と同じ大きさを有する間隔G2である。また、IフレームI3の出力タイミングおよびIフレームI4の出力タイミングの間隔は、図16の(B)に示す間隔B3と同じ大きさを有する間隔G3である。
すなわち、図16の(C)に示す間隔は、図16の(B)に示す間隔B2を間隔B1と同じ大きさとした場合の間隔である。したがって、図16の(C)におけるIフレームの間隔のばらつきは、図16の(B)におけるIフレームの間隔のばらつきと比べて小さい。
これにより、図16の(B)に示すタイミングで出力されるIフレームにより構成されるトリック再生の再生間隔のばらつきと比べて、トリック再生の再生間隔のばらつきを抑制することができる。
また、たとえば、図16の(C)に示すタイミングでSTB101からIフレームが出力される場合、図16の(B)に示すタイミングでSTB101からIフレームが出力される場合と比べて、トリック再生を視聴するユーザの違和感が低減される。
たとえば、調整出力タイミング設定部44は、単位期間U1において出力可能なIフレームの調整出力タイミングを等間隔に設定する。
図16の(D)には、IフレームI1〜I4がたとえば調整出力タイミング設定部44により設定されたより好ましい調整出力タイミングに従って選択的に出力される場合のタイミングが示されている。
この場合におけるIフレームI1の出力タイミングおよびIフレームI2の出力タイミングの間隔は、間隔Gcomである。また、IフレームI2の出力タイミングおよびIフレームI3の出力タイミングの間隔は、間隔Gcomと同じ大きさである。また、IフレームI3の出力タイミングおよびIフレームI4の出力タイミングの間隔は、間隔Gcomと同じ大きさである。
すなわち、図16の(D)では、図16の(C)に示す場合と比べて、出力されるIフレーム間の出力タイミングの間隔のばらつきが小さい。
これにより、図16の(C)に示すタイミングで出力されるIフレームにより構成されるトリック再生の再生間隔のばらつきと比べて、トリック再生の再生間隔のばらつきを抑制することができる。
また、たとえば、図16の(D)に示すタイミングでSTB101からIフレームが出力される場合、図16の(C)に示すタイミングでSTB101からIフレームが出力される場合と比べて、トリック再生を視聴するユーザの違和感が低減される。
再び図12を参照して、具体的には、調整出力タイミング設定部44は、図12の(B)に示すように、枚数設定部43から確定出力枚数DC(n−1)である4を受けると、単位期間の長さである1秒を4で除した250ミリ秒を算出する。
そして、調整出力タイミング設定部44は、単位期間U(n−1)において出力可能なIフレームIA1〜IA4の基本出力タイミングの間隔が250ミリ秒となるように補正する。調整出力タイミング設定部44は、補正した基本出力タイミングを調整出力タイミングとして設定する。
図12の(B)には、IフレームIA1〜IA4の調整出力タイミングが示す時刻の位置においてIフレームIA1〜IA4が示される。このように、IフレームIA1〜IA4の間隔は、図12の(A)に示す場合と異なり、等間隔すなわち間隔Acomとなる。
同様に、調整出力タイミング設定部44は、枚数設定部43から確定出力枚数DC(n)である3を受けると、単位期間の長さである1秒を3で除した333ミリ秒を算出する。
そして、調整出力タイミング設定部44は、単位期間U(n)において出力可能なIフレームIB1〜IB3の基本出力タイミングの間隔が333ミリ秒となるように補正する。調整出力タイミング設定部44は、補正した基本出力タイミングを調整出力タイミングとして設定する。
図12の(B)には、IフレームIB1〜IB3の調整出力タイミングが示す時刻の位置においてIフレームIB1〜IB3が示される。このように、IフレームIB1〜IB3の間隔は、図12の(A)に示す場合と異なり、等間隔すなわち間隔Bcomとなる。
調整出力タイミング設定部44は、枚数設定部43から確定出力枚数DC(n+1)である5を受けると、単位期間の長さである1秒を5で除した200ミリ秒を算出する。
単位期間U(n+1)におけるDC(n+1)である5枚は、TC(n+1)である6枚が制限された値である。この場合、調整出力タイミング設定部44は、連続する2つの単位期間U(n),U(n+1)において、後の単位期間U(n+1)におけるIフレームのうち、前の単位期間であるU(n)から離れた基本出力タイミングを有するIフレームの調整出力タイミングを優先して設定する。
具体的には、後の単位期間U(n+1)におけるIフレームIC1〜IC6のうち、U(n)から離れた基本出力タイミングを有するIフレームIC6の優先順位が最も高く、IフレームIC1の優先順位が最も低い。
したがって、調整出力タイミング設定部44は、IフレームIC6からIフレームIC2までの順に、5枚のIフレームについて調整出力タイミングを設定する。なお、調整出力タイミング設定部44により調整出力タイミングが設定されなかったIフレームIC1は、STB101から出力されない。
この際、調整出力タイミング設定部44は、単位期間U(n+1)においてIフレームIC2〜IC6の基本出力タイミングの間隔が200ミリ秒となるように補正する。調整出力タイミング設定部44は、補正した基本出力タイミングを調整出力タイミングとして設定する。
図12の(B)には、IフレームIC2〜IC6の調整出力タイミングが示す時刻の位置においてIフレームIC2〜IC6が示される。このように、IフレームIC2〜IC6の間隔は、図12の(A)に示す場合より広い間隔を有する等間隔すなわち間隔Ccomとなる。
また、調整出力タイミング設定部44は、枚数設定部43から確定出力枚数DC(n+2)である4を受けると、単位期間の長さである1秒を4で除した250ミリ秒を算出する。
そして、調整出力タイミング設定部44は、単位期間U(n+2)において出力可能なIフレームID1〜ID4の基本出力タイミングの間隔が250ミリ秒となるように補正する。調整出力タイミング設定部44は、補正した基本出力タイミングを調整出力タイミングとして設定する。
図12の(B)には、IフレームID1〜ID4の調整出力タイミングが示す時刻の位置においてIフレームID1〜ID4が示される。このように、IフレームID1〜ID4の間隔は、図12の(A)に示す場合と異なり、等間隔すなわち間隔Dcomとなる。
上記のように、図12の(A)の場合すなわち基本出力タイミングが示す時刻に基づいて複数のIフレームがSTB101から選択的に出力される場合、単位期間U(n−1),U(n),U(n+1),U(n+2)において出力される枚数は、それぞれ4枚、3枚、6枚および4枚となる。また、複数のIフレームが出力されるタイミング間の間隔は一定ではない。
トリック再生を視聴するユーザは、たとえば上記のタイミングでSTB101からIフレームが出力される場合、トリック再生の再生間隔が長くなったり短くなったりするので、違和感を生じてしまう。
一方、図12の(B)の場合すなわち調整出力タイミングが示す時刻に基づいて複数のIフレームがSTB101から選択的に出力される場合、単位期間U(n−1),U(n),U(n+1),U(n+2)において出力される枚数は、それぞれ4枚、3枚、5および4枚となる。また、各Iフレームが出力されるタイミングの間隔は、各単位期間において一定である。
このように、複数のIフレームが出力されるタイミング間の間隔が各単位期間において一定であるので、Iフレームが出力されるタイミング間の間隔のばらつきを抑制することができる。
また、各単位期間において出力されるIフレームの枚数のばらつきを抑えることができるので、Iフレームが出力されるタイミング間の間隔のばらつきを効果的に抑制することができる。
たとえば、上記のタイミングでSTB101からIフレームが出力される場合、トリック再生の再生間隔の変化が抑制されているので、トリック再生を視聴するユーザの違和感が低減される。
また、再び図13を参照して、調整出力タイミング設定部44は、図13の(B)に示すように、枚数設定部43から確定出力枚数DC(k−1)である4を受けると、単位期間の長さである1秒を4で除した250ミリ秒を算出する。
そして、調整出力タイミング設定部44は、単位期間U(k−1)において出力可能なIフレームIE1〜IE4の基本出力タイミングの間隔が250ミリ秒となるように補正する。調整出力タイミング設定部44は、補正した基本出力タイミングを調整出力タイミングとして設定する。
図13の(B)には、IフレームIE1〜IE4の調整出力タイミングが示す時刻の位置においてIフレームIE1〜IE4が示される。このように、IフレームIE1〜IE4の間隔は、図13の(A)に示す場合と異なり、等間隔すなわち間隔Ecomとなる。
同様に、調整出力タイミング設定部44は、枚数設定部43から確定出力枚数DC(k)である5を受けると、単位期間の長さである1秒を5で除した200ミリ秒を算出する。
単位期間U(k)におけるDC(k)である5枚は、TC(k)である6枚が制限された値である。この場合、調整出力タイミング設定部44は、連続する2つの単位期間U(k),U(k+1)において、前の単位期間U(k)におけるIフレームのうち、後の単位期間であるU(k+1)から離れた基本出力タイミングを有するIフレームの調整出力タイミングを優先して設定する。
具体的には、前の単位期間U(k)におけるIフレームIF1〜IF6のうち、U(k+1)から離れた基本出力タイミングを有するIフレームIF1の優先順位が最も高く、IフレームIF6の優先順位が最も低い。
したがって、調整出力タイミング設定部44は、IフレームIF1からIフレームIF5までの順に、5枚のIフレームについて調整出力タイミングを設定する。
この際、調整出力タイミング設定部44は、単位期間U(k)においてIフレームIF1〜IF5の基本出力タイミングの間隔が200ミリ秒となるように補正する。調整出力タイミング設定部44は、補正した基本出力タイミングを調整出力タイミングとして設定する。
図13の(B)には、IフレームIF1〜IF5の調整出力タイミングが示す時刻の位置においてIフレームIF1〜IF5が示される。このように、IフレームIF1〜IF5の間隔は、図13の(A)に示す場合より広い間隔を有する等間隔すなわち間隔Fcomとなる。
なお、調整出力タイミング設定部44は、上述したように、たとえば単位期間U(k)において調整出力タイミングが設定されなかったIフレームの調整出力タイミングを、後の単位期間である単位期間U(k+1)におけるタイミングに設定する。
調整出力タイミング設定部44は、枚数設定部43から確定出力枚数DC(k+1)である4を受けると、単位期間の長さである1秒を4で除した250ミリ秒を算出する。
そして、調整出力タイミング設定部44は、単位期間U(k+1)において出力可能なIフレームIF6,IG1〜IG3の基本出力タイミングの間隔が250ミリ秒となるように補正する。調整出力タイミング設定部44は、補正した基本出力タイミングを調整出力タイミングとして設定する。
図13の(B)には、IフレームIF6,IG1〜IG3の調整出力タイミングが示す時刻の位置においてIフレームIF6,IG1〜IG3が示される。このように、IフレームIF6,IG1〜IG3の間隔は、図13の(A)に示す場合と異なり、等間隔すなわち間隔Gcomとなる。
また、調整出力タイミング設定部44は、枚数設定部43から確定出力枚数DC(k+2)である4を受けると、単位期間の長さである1秒を4で除した250ミリ秒を算出する。
そして、調整出力タイミング設定部44は、単位期間U(k+2)において出力可能なIフレームIH1〜IH4の基本出力タイミングの間隔が250ミリ秒となるように補正する。調整出力タイミング設定部44は、補正した基本出力タイミングを調整出力タイミングとして設定する。
図13の(B)には、IフレームIH1〜IH4の調整出力タイミングが示す時刻の位置においてIフレームIH1〜IH4が示される。このように、IフレームIH1〜IH4の間隔は、図13の(A)に示す場合と異なり、等間隔すなわち間隔Hcomとなる。
上記のように、図13の(A)の場合すなわち基本出力タイミングが示す時刻に基づいて複数のIフレームがSTB101から選択的に出力される場合、単位期間U(k−1),U(k),U(k+1),U(k+2)において出力される枚数は、それぞれ4枚、6枚、3枚および4枚となる。また、複数のIフレームが出力されるタイミング間の間隔は一定ではない。
トリック再生を視聴するユーザは、たとえば上記のタイミングでSTB101からIフレームが出力される場合、トリック再生の再生間隔が長くなったり短くなったりするので、違和感を生じてしまう。
一方、図13の(B)の場合すなわち調整出力タイミングが示す時刻に基づいて複数のIフレームがSTB101から選択的に出力される場合、単位期間U(k−1),U(k),U(k+1),U(k+2)において出力される枚数は、それぞれ4枚、5枚、4および4枚となる。また、複数のIフレームが出力されるタイミング間の間隔は、各単位期間において一定である。
このように、複数のIフレームが出力されるタイミング間の間隔が各単位期間において一定であるので、Iフレームが出力されるタイミング間の間隔のばらつきを抑制することができる。
また、各単位期間において出力されるIフレームの枚数のばらつきを抑えることができるので、Iフレームが出力されるタイミング間の間隔のばらつきを効果的に抑制することができる。
たとえば、上記のタイミングでSTB101からIフレームが出力される場合、トリック再生の再生間隔の変化が抑制されているので、トリック再生を視聴するユーザの違和感が低減される。
また、再び図14を参照して、調整出力タイミング設定部44は、図14の(B)に示すように、枚数設定部43から確定出力枚数DC(j)である8を受けると、単位期間の長さである1秒を8で除した125ミリ秒を算出する。
そして、調整出力タイミング設定部44は、単位期間U(j)において出力可能な8枚のIフレームの基本出力タイミングの間隔が125ミリ秒となるように補正する。調整出力タイミング設定部44は、補正した基本出力タイミングを調整出力タイミングとして設定する。
なお、8枚のIフレームは、任意に選別される。この場合、8枚のIフレームは、たとえば基本出力タイミングの順に等枚数おきに選別される。具体的には、8枚のIフレームは、たとえばIフレームI1を最初の1枚に選別すると、IフレームI5、IフレームI9、IフレームI13、IフレームI17、IフレームI21、IフレームI25およびIフレームI29の順に3枚おきに選別される。また、最初の1枚の選択は、任意である。
また、調整出力タイミング設定部44により調整出力タイミングが設定されなかったIフレームI1,I5,I9,I13,I17,I21,I25,I29以外のIフレームは、STB101から出力されない。
図14の(B)には、IフレームI1,I5,I9,I13,I17,I21,I25,I29の調整出力タイミングが示す時刻の位置においてIフレームI1,I5,I9,I13,I17,I21,I25,I29が示される。このように、IフレームI1,I5,I9,I13,I17,I21,I25,I29の間隔は、等間隔すなわち間隔Gcomとなる。
このように、単位期間において出力可能なIフレームの枚数が制限される場合において、制限されないIフレームとしていずれのIフレームが選別されても、出力されるタイミング間の間隔のばらつきを抑制することができる。
また、再び図9を参照して、調整出力タイミング設定部44は、後述するバッファ監視部30からバッファ残量不足情報を受けると、たとえば各Iフレームの基本出力タイミングを当該各Iフレームの調整出力タイミングとして設定する。以下、調整出力タイミング設定部44が上記設定を行うモードを基本出力モードとも称する。
調整出力タイミング設定部44は、バッファ監視部30からバッファ回復情報を受けると、たとえば基本出力タイミングを用いてIフレームを選択的に出力する場合と比べて、出力されるIフレーム間の間隔のばらつきが少なくなるようなIフレームの出力タイミングである調整出力タイミングを設定する。以下、調整出力タイミング設定部44が上記設定を行うモードを調整出力モードとも称する。
また、再び図7および図9を参照して、調整出力タイミング設定部44は、Iフレーム選別部45から選別したIフレームについての情報を受けると、当該Iフレームについて上記方法により調整出力タイミングを設定する。
調整出力タイミング設定部44は、各Iフレームに設定した調整出力タイミングを当該各Iフレームの識別番号と共にIフレーム転送部32へ出力する。
Iフレーム転送部32は、調整出力タイミングおよびIフレームの識別番号を調整出力タイミング設定部44から受けると、バッファ24に蓄積されたIフレームの中から該当するIフレームを抽出し、抽出したIフレームを画像データ出力部29へ出力する。
より詳細には、Iフレーム転送部32は、マップ作成部26におけるSEマップ82または83を参照することにより、上記識別番号に対応するIフレームの格納位置およびサイズを取得する。
Iフレーム転送部32は、上記識別番号に対応するIフレームの格納位置およびサイズに基づいて、当該Iフレームをバッファ24から取得する。
そして、Iフレーム転送部32は、当該調整出力タイミングにおいて、取得したIフレームを画像データ出力部29へ出力する。
画像データ出力部29は、Iフレーム転送部32からIフレームを受けると、受けたIフレームから画像を再生する。そして、画像データ出力部29は、再生した画像をたとえば表示装置151へ出力する。表示装置151は、画像データ出力部29から受けた画像を表示する。
バッファ監視部30は、基本画像および関連画像を蓄積するためのバッファ24におけるIフレームの量およびIフレームの基本出力タイミングの少なくとも一方についての所定条件が満たされるか否かを判断する。
図17は、本発明の実施の形態に係るバッファに蓄積されたIフレームの量がトリック再生中に減少する一例を示す図である。
図17を参照して、横軸は時間を示し、縦軸はバッファ24に蓄積されたIフレームの量を示す。バッファ監視部30は、たとえばバッファ24に蓄積されたIフレームの量が所定値以下となる場合、上記所定条件を満たすと判断する。この所定値は、たとえばSTB101が各単位期間に出力するIフレームの平均枚数に設定される。
具体的には、バッファ監視部30は、たとえばバッファ24に蓄積されたIフレームの量を確認する。より詳細には、バッファ監視部30は、たとえば所定時間dt毎にマップ作成部26におけるSEマップ82または83を参照することにより、バッファ24に蓄積されたIフレームの量を確認する。
バッファ監視部30は、時刻t0,t1,t2においてバッファ24に蓄積されたIフレームの量を確認し、バッファ24に蓄積されたIフレームの量が上記所定値より大きいことを把握する。
バッファ監視部30は、時刻t3においてバッファ24に蓄積されたIフレームの量を確認し、バッファ24に蓄積されたIフレームの量が上記所定値以下となったことを把握する。そして、バッファ監視部30は、以下の処理を行う。
すなわち、バッファ24に蓄積されたIフレームの枚数が平均枚数以下となることは、上記タイミングが含まれる単位期間U2の次の単位期間U3におけるIフレームはすべて揃っていない可能性が高いことを意味する。
この場合、単位期間U3において、調整出力タイミングが適切に設定されない可能性があるため、バッファ監視部30は、調整出力タイミング設定部44を基本出力モードで動作させるために、バッファ残量不足情報を調整出力タイミング設定部44へ出力する。
これにより、STB101は、単位期間U3においては、たとえば基本出力タイミングに従ってIフレームを出力する。
また、バッファ監視部30は、時刻t4においてバッファ24に蓄積されたIフレームの量を確認し、バッファ24に蓄積されたIフレームの量が引き続き上記所定値以下であることを把握する。
バッファ監視部30は、時刻t5においてバッファ24に蓄積されたIフレームの量を確認し、バッファ24に蓄積されたIフレームの量が上記所定値より大きいことを把握する。
そして、バッファ監視部30は、バッファ24に蓄積されたIフレームの量が上記所定値より大きくなったことを把握したタイミングでバッファの蓄積量が回復したと判断する。バッファ監視部30は、バッファの蓄積量が回復したと判断すると、以下の処理を行う。
すなわち、バッファ24に蓄積されたIフレームの枚数が平均枚数より大きくなることは、上記タイミングが含まれる単位期間U3の次の単位期間U4におけるIフレームはすべて揃っている可能性が高いことを意味する。
この場合、バッファ監視部30は、単位期間U4において、調整出力タイミング設定部44を調整出力モードで動作させるために、バッファ回復情報を調整出力タイミング設定部44へ出力する。
STB101は、単位期間U4においては、たとえば調整出力タイミングに従ってIフレームを出力する。
これにより、STB101は、調整出力タイミングを設定することが困難であると予想される単位期間U3において、基本出力タイミングに従ってIフレームを出力することができる。
また、STB101は、バッファにおけるIフレームの量が回復した単位期間U4において、調整出力タイミングに従ってIフレームを出力することができる。
図18は、本発明の実施の形態に係るバッファに蓄積されたIフレームの量のトリック再生開始時における時間変化の一例を示す図である。
図18を参照して、横軸は時間を示し、縦軸はバッファ24に蓄積されたIフレームの量を示す。この所定値は、たとえばSTB101が各単位期間に出力すると予想されるIフレームの平均枚数に設定される。
具体的には、バッファ監視部30は、たとえば所定時間dt毎にバッファ24に蓄積されたIフレームの量を確認する。バッファ監視部30は、時刻t0すなわちトリック再生を開始した時刻において、バッファ24に蓄積されたIフレームの量を確認し、バッファ24に蓄積されたIフレームの量が上記所定値以下であることを把握する。
そして、バッファ監視部30は、調整出力タイミング設定部44を基本出力モードで動作させるために、バッファ残量不足情報を調整出力タイミング設定部44へ出力する。
バッファ監視部30は、時刻t1,t2においてバッファ24に蓄積されたIフレームの量を確認し、バッファ24に蓄積されたIフレームの量が上記所定値以下であることを把握する。
バッファ監視部30は、時刻t3においてバッファ24に蓄積されたIフレームの量を確認し、バッファ24に蓄積されたIフレームの量が上記所定値より大きくなったことを把握する。
そして、バッファ監視部30は、調整出力タイミング設定部44を調整出力モードで動作させるために、バッファ回復情報を調整出力タイミング設定部44へ出力する。
STB101は、単位期間U3においては、たとえば調整出力タイミングに従ってIフレームを出力する。
これにより、トリック再生の開始において、Iフレームがある程度バッファ24に蓄積されるまで待つことなく、STB101は、基本出力タイミングに従ってIフレームを出力することができる。
また、STB101は、バッファに十分な量のIフレームが蓄積された後は、調整出力タイミングに従ってIフレームを出力することができる。
図19は、本発明の実施の形態に係るバッファ監視部が監視する各単位期間におけるIフレームを基本出力タイミングに応じて並べた一例を示す図である。
図19を参照して、図19の(A)および(B)の横軸は、時間を示す。たとえば、バッファ監視部30は、所定タイミングにおいて、対象の単位期間Utの次の単位期間Unにおいて出力すべきIフレームがバッファ24に蓄積されていない場合、上記所定条件を満たすと判断する。所定タイミングは、たとえば対象の単位期間の直前の単位期間Ubにおける任意のタイミングたとえばタイミングtjに設定される。
具体的には、バッファ監視部30は、たとえばタイミングtjにおいて、単位期間設定部41から受けた単位期間に基づいて、対象の単位期間Utの次の単位期間Unの開始時刻および終了時刻を把握する。
バッファ監視部30は、たとえばバッファ24に蓄積されたIフレームの基本出力タイミングを確認する。より詳細には、バッファ監視部30は、たとえばマップ作成部26におけるSEマップ82または83を参照することにより、バッファ24に蓄積されたIフレームの基本出力タイミングを確認する。
バッファ監視部30は、たとえば図19の(A)に示すように、単位期間Unの開始時刻以降の基本出力タイミングを有するIフレームがバッファ24に蓄積されていない場合、上記所定条件を満たすと判断する。バッファ監視部30は、上記所定条件が満たされると判断すると、以下の処理を行う。
すなわち、単位期間Unの開始時刻以降の基本出力タイミングを有するIフレームがバッファ24に蓄積されていないということは、対象の単位期間UtにおけるIフレームがすべて揃っていない可能性が高いことを意味する。
この場合、対象の単位期間Utにおいて、調整出力タイミングが適切に設定されない可能性があるため、バッファ監視部30は、調整出力タイミング設定部44を基本出力モードで動作させるために、バッファ残量不足情報を調整出力タイミング設定部44へ出力する。
これにより、STB101は、対象の単位期間Utにおいては、たとえば基本出力タイミングに従ってIフレームを出力する。
また、バッファ監視部30は、たとえば図19の(B)に示すように、単位期間Unの開始時刻以降の基本出力タイミングを有するIフレームがバッファ24に蓄積されている場合、バッファの蓄積量が回復したと判断する。バッファ監視部30は、バッファの蓄積量が回復したと判断すると、以下の処理を行う。
すなわち、単位期間Unの開始時刻以降の基本出力タイミングを有するIフレームがバッファ24に蓄積されているということは、対象の単位期間UtにおけるIフレームはすべて揃っていることを意味する。
この場合、バッファ監視部30は、対象の単位期間Utにおいて、調整出力タイミング設定部44を調整出力モードで動作させるために、バッファ回復情報を調整出力タイミング設定部44へ出力する。
STB101は、対象の単位期間Utにおいては、たとえば調整出力タイミングに従ってIフレームを出力する。
これにより、STB101は、調整出力タイミングを設定することが困難であると予想される図19の(A)の対象の単位期間Utにおいて、基本出力タイミングに従ってIフレームを出力することができる。
また、STB101は、バッファにおけるIフレームの量が回復した場合は、調整出力タイミングに従ってIフレームを出力することができる。
[STB101の基本動作]
図20は、本発明の実施の形態に係るSTBが再生処理を行う際の動作手順の一例を定めたフローチャートである。
図20を参照して、ここでは、ユーザが要求したコンテンツをSTB101が出力している状況を想定する。
まず、STB101は、たとえばコンテンツに関する基本画像の画像データと、関連画像の画像データと、基本画像および関連画像のタイミング情報であるPTS等をネットワーク11経由でサーバ201から取得する(ステップS202)。
次に、STB101は、PTSが示すタイミングに従って、基本画像または関連画像をたとえば表示装置151へ出力する(ステップS204)。
そして、STB101は、ユーザによる再生処理の終了命令を受けるまで、再生処理を継続する(ステップS206でNO)。
また、STB101は、ユーザによる早送り再生処理または早戻し再生処理の開始命令を受けるまで、再生処理を継続する(ステップS208でNOおよびステップS202)。
一方、STB101は、ユーザによる早送り再生処理または早戻し再生処理の開始命令を受けると(ステップS208でYES)、早送り再生処理または早戻し再生処理を開始する(ステップS210)。
次に、STB101は、ユーザによる早送り再生処理または早戻し再生処理の終了命令を受けるまで、早送り再生処理または早戻し再生処理を継続する(ステップS212でNOおよびステップS210)。
また、STB101は、早送り再生処理または早戻し再生処理を行っている状態においてユーザによる早送り再生処理または早戻し再生処理の終了命令を受けると(ステップS212でYES)、再生処理へ戻る(ステップS202)。
また、STB101は、再生処理を行っている状態においてユーザによる再生処理の終了命令を受けると、再生処理を終了する(ステップS206でYES)。
[早送り再生処理または早戻し再生処理における動作]
図21は、本発明の実施の形態に係るSTBが早送り再生処理または早戻し再生処理を行う際の動作手順の一例を定めたフローチャートである。
図21を参照して、以下の動作は、STB101が図20に示すステップS210およびステップS212を行う際の動作を詳細に示したものである。
まず、STB101は、選択的に出力するためのIフレームのバッファ24への蓄積を開始する(ステップS250)。
次に、STB101は、バッファに蓄積されたIフレームの基本出力タイミングを算出する(ステップS252)。
次に、STB101は、たとえばバッファ監視部30が所定条件を満たすと判断する場合すなわちバッファ24においてIフレームが十分に蓄積されていない場合(ステップS254でNO)、基本出力タイミングに従ってIフレームを選択的に出力する(ステップS258)。
そして、STB101は、ユーザによる早送り再生処理または早戻し再生処理の終了命令を受けるまで、早送り再生処理または早戻し再生処理を継続する(ステップS212でNOおよびステップS252)。
一方、STB101は、たとえばバッファ監視部30が所定条件を満たすと判断しない場合すなわちバッファ24においてIフレームが十分に蓄積された場合(ステップS254でYES)、調整出力タイミングに従ってIフレームを選択的に出力する(ステップS256)。
そして、STB101は、ユーザによって早送り再生処理または早戻し再生処理の再生速度が変更されるまで、早送り再生処理または早戻し再生処理を継続する(ステップS260でNO)。
一方、STB101は、ユーザによる早送り再生処理または早戻し再生処理の再生速度が変更された場合(ステップS260でYES)、以下の処理を行う。
すなわち、STB101は、変更後の再生速度の大きさが変更前の再生速度の大きさより小さい場合(ステップS262でNO)、早送り再生処理または早戻し再生処理を継続する。
一方、STB101は、変更後の再生速度の大きさが変更前の再生速度の大きさより大きい場合(ステップS262でYES)、バッファ24に蓄積されたIフレームのうち、変更後の早送り再生処理または早戻し再生処理に用いることが可能なIフレームを選別する(ステップS264)。
次に、STB101は、調整出力タイミングに従って選別したIフレームを出力する(ステップS256)。
また、STB101は、早送り再生処理または早戻し再生処理を行っている状態においてユーザによる早送り再生処理または早戻し再生処理の終了命令を受けると(ステップS212でYES)、早送り再生処理または早戻し再生処理を終了する。
なお、STB101は、上記ステップS258において、バッファ24においてIフレームが十分に蓄積されていない場合であっても、当該Iフレームを用いて調整出力タイミングを設定してもよい。
具体的には、STB101は、たとえば直近の単位期間において本来4枚のIフレームを出力すべき場合であって、バッファ24において3枚しか蓄積されていないとき、バッファ24に蓄積された3枚のIフレームを当該直近の単位期間において等間隔に出力してもよい。
[調整出力タイミングに従ってIフレームを出力する際の動作]
図22は、本発明の実施の形態に係るSTBが調整出力タイミングに従ってIフレームを出力する際の動作手順の一例を定めたフローチャートである。
図22を参照して、以下の動作は、STB101が図21に示すステップS256を行う際の動作を詳細に示したものである。
まず、STB101は、時間軸上で連続する複数の単位期間U(n)を設定する(ステップS302)。
次に、STB101は、たとえば各単位期間U(n)の開始時刻および終了時刻の間に含まれる基本出力タイミングを有するIフレームの枚数を、各単位期間U(n)の暫定出力枚数TC(n)としてカウントする(ステップS304)。
次に、STB101は、各単位期間U(n)の暫定出力枚数TC(n)に基づいて、各単位期間U(n)の確定出力枚数DC(n)を設定する(ステップS306)。
次に、STB101は、各単位期間U(n)の長さおよび確定出力枚数DC(n)に基づいて、各単位期間U(n)におけるIフレームの調整出力タイミングを設定する(ステップS308)。
次に、STB101は、設定した調整出力タイミングでIフレームを出力する(ステップS310)。
[各単位期間におけるIフレームの枚数制限]
図23は、本発明の実施の形態に係るSTBが各単位期間の暫定出力枚数に基づいて、Iフレームの枚数を設定する際の動作手順の一例を定めたフローチャートである。
図23を参照して、以下の動作は、STB101が図22に示すステップS306を行う際の動作の一例を詳細に示したものである。
まず、STB101は、たとえば図22に示すステップS304においてカウントした後の単位期間U(n+1)における暫定出力枚数TC(n+1)と、前の単位期間U(n)における暫定出力枚数TC(n)との差が所定のしきい値Th1より大きい場合(ステップS352でYES)、以下の処理を行う。
すなわち、STB101は、前の単位期間U(n)における暫定出力枚数TC(n)と所定のしきい値Th1との和を、後の単位期間U(n+1)における確定出力枚数DC(n+1)に設定する(ステップS354)。
一方、STB101は、後の単位期間U(n+1)における暫定出力枚数TC(n+1)と、前の単位期間U(n)における暫定出力枚数TC(n)との差が所定のしきい値Th1以下である場合(ステップS352でNO)、以下の処理を行う。
すなわち、STB101は、後の単位期間U(n+1)における暫定出力枚数TC(n+1)を、後の単位期間U(n+1)における確定出力枚数DC(n+1)に設定する(ステップS356)。
なお、上記ステップS352において、STB101が暫定出力枚数に関する判断のタイミングを最も遅らせた場合、当該タイミングは、前の単位期間U(n)および後の単位期間U(n+1)の区切りのタイミングとなる。
すなわち、STB101は、確定出力枚数DC(n+1)を、上記区切りのタイミングにおけるバッファ24の蓄積状況に応じた値とすることができる。これは、単位期間U(n)においてバッファ24に蓄積されたIフレームを単位期間U(n+1)において出力することが可能であることを意味する。
したがって、図23に示す動作は、バッファ24におけるIフレームの蓄積量が十分でない場合に適している。
図24は、本発明の実施の形態に係るSTBが各単位期間の暫定出力枚数に基づいて、Iフレームの枚数を設定する際の動作手順の他の一例を定めたフローチャートである。
図24を参照して、以下の動作は、STB101が図22に示すステップS306を行う際の動作の一例を詳細に示したものである。
まず、STB101は、たとえば図22に示すステップS304においてカウントした前の単位期間U(k)における暫定出力枚数TC(k)と、後の単位期間U(k+1)における暫定出力枚数TC(k+1)との差が所定のしきい値Th2より大きい場合(ステップS402でYES)、以下の処理を行う。
すなわち、STB101は、後の単位期間U(k+1)における暫定出力枚数TC(k+1)と所定のしきい値Th2との和を、前の単位期間U(k)における確定出力枚数DC(k)に設定する(ステップS404)。
次に、STB101は、後の単位期間U(k+1)における暫定出力枚数TC(k+1)および前の単位期間U(k)における暫定出力枚数TC(k)の和と、前の単位期間U(k)における確定出力枚数DC(k)との差を、後の単位期間U(k+1)における暫定出力枚数TC(k+1)に設定する(ステップS408)。
一方、STB101は、前の単位期間U(k)における暫定出力枚数TC(k)と、後の単位期間U(k+1)における暫定出力枚数TC(k+1)との差が所定のしきい値Th2以下である場合(ステップS402でNO)、以下の処理を行う。
すなわち、STB101は、前の単位期間U(k)において、暫定出力枚数TC(k)を確定出力枚数DC(k)に設定する(ステップS406)。
なお、上記ステップS402において、STB101が暫定出力枚数に関する判断のタイミングを最も遅らせた場合、当該タイミングは、前の単位期間U(k)の開始時刻となる。
すなわち、STBは、確定出力枚数DC(k),DC(k+1)を上記タイミングで決定することができる。
これにより、STB101は、上記ステップS408において、暫定出力枚数TC(k+1)を、暫定出力枚数TC(k)と確定出力枚数DC(k)との差だけ増すことができる。
すなわち、STB101は、前の単位期間において調整出力タイミングが設定されなかったIフレームを後の単位期間において出力することができるので、基本画像の欠落を抑制することができる。
また、単位期間U(k),U(k+1)において出力すべきIフレームが単位期間U(k)の開始時刻までにバッファ24に蓄積されていることが好ましいので、図24に示す動作は、バッファ24においてIフレームが十分蓄積されている場合に適している。
図25は、本発明の実施の形態に係るSTBが各単位期間におけるIフレームの出力枚数の上限を設定する際の動作手順の一例を定めたフローチャートである。
図25を参照して、以下の動作は、STB101が図22に示すステップS306を行う際の動作の一例を詳細に示したものである。
まず、STB101は、たとえば図22に示すステップS304においてカウントした単位期間U(j)における暫定出力枚数TC(j)が所定のしきい値Th3より大きい場合(ステップS452でYES)、以下の処理を行う。
すなわち、STB101は、所定のしきい値Th2を単位期間U(j)における確定出力枚数DC(j)に設定する(ステップS454)。
一方、STB101は、単位期間U(j)における暫定出力枚数TC(j)が所定のしきい値Th3以下である場合(ステップS452でNO)、以下の処理を行う。
すなわち、STB101は、単位期間U(j)において、暫定出力枚数TC(j)を確定出力枚数DC(j)に設定する(ステップS456)。
なお、上記ステップS452において、STB101が暫定出力枚数に関する判断のタイミングを最も遅らせた場合、当該タイミングは、単位期間U(j)の開始時刻となる。
すなわち、STB101は、確定出力枚数DC(j)を、単位期間U(j)の開始時刻におけるバッファ24の蓄積状況に応じた値とすることができる。これは、単位期間U(j)の開始時刻までにバッファ24に蓄積されたIフレームを単位期間U(j)において出力することが可能であることを意味する。
したがって、図25に示す動作は、バッファ24におけるIフレームの蓄積量が十分でない場合に適している。
また、番組の情報すなわちストリームの中には、単位期間U(j)において出力すべきIフレームの枚数が一定となるように作成されたストリームがある。具体的には、たとえば1秒当たり1枚のIフレームを含むストリームについて4倍速の早送り再生または早戻し再生を行う際、STBは、1秒あたり4枚のIフレームを出力する。
この場合、上記所定のしきい値Th3を4に設定することにより、各単位期間U(j)において出力されるIフレームの枚数のばらつきを簡易に抑制することができる。
したがって、図25に示す動作は、単位期間U(j)において出力すべきIフレームの枚数が一定となるように作成されたストリームについて早送り再生または早戻し再生を行う場合にも適している。
ところで、Iフレームが出力される時間間隔がばらついてしまうと、当該Iフレームにより構成されるトリック再生を視聴する場合、トリック再生の再生間隔が長くなったり短くなったりするので、違和感のあるトリック再生を視聴してしまう。
これに対して、本発明の実施の形態に係る画像出力装置では、制御部22は、基本画像と、関連画像と、基本画像および関連画像を出力すべき出力タイミングを示すタイミング情報の一例であるPTSとを取得する。画像データ出力部29は、PTSの示す出力タイミングに従って基本画像および関連画像を出力する。スケジューリング部31は、早送り再生処理および早戻し再生処理の少なくとも一方において、PTSの示す出力タイミングを用いて基本画像を選択的に出力する場合と比べて、出力される基本画像間の間隔のばらつきが少なくなるような基本画像の出力タイミングである調整出力タイミングを設定する。そして、画像データ出力部29は、早送り再生処理および早戻し再生処理の少なくとも一方において、調整出力タイミングに従って基本画像を選択的に出力する。
このような構成により、早送り再生処理または早戻し再生処理の少なくとも一方において、基本画像が出力されるタイミングの間隔のばらつきを抑制することができる。
これにより、基本画像の表示間隔のばらつきが抑制された早送り再生または早戻し再生を視聴者に対して提供することができるので、基本画像の表示間隔がばらついたときに視聴者が感じる違和感を軽減し、安定した表示を行うことができる。
また、本発明の実施の形態に係る画像出力装置では、スケジューリング部31は、早送り再生処理および早戻し再生処理の少なくとも一方において、PTSの示す出力タイミングを用いて基本画像を選択的に出力する場合の基本画像の出力タイミングである基本出力タイミングを補正することにより、調整出力タイミングを設定する。
このような構成により、倍速再生に必要な出力タイミングを取得しながら、当該出力タイミングの間隔を補正することができる。
また、本発明の実施の形態に係る画像出力装置では、スケジューリング部31は、早送り再生処理および早戻し再生処理の少なくとも一方において、時間軸上で連続する複数の単位期間を設定し、単位期間において出力可能な複数の基本画像の調整出力タイミングを等間隔に設定する。
このような構成により、各単位期間において、基本画像が出力されるタイミングの間隔のばらつきを無くすことができるので、視聴者が感じる違和感をより軽減し、より安定した表示を行うことができる。
また、時間軸上で連続する複数の単位期間を設定することにより、等間隔の調整出力タイミングを容易に設定することができる。
また、本発明の実施の形態に係る画像出力装置では、スケジューリング部31は、連続する2つの単位期間U(n),U(n+1)において、後の単位期間U(n+1)において出力可能な基本画像の暫定出力枚数TC(n+1)から前の単位期間U(n)において出力可能または出力する基本画像の暫定出力枚数TC(n)を差し引いた値が所定のしきい値より大きい場合、後の単位期間U(n+1)において出力する基本画像の確定出力枚数DC(n+1)を制限し、制限した確定出力枚数DC(n+1)の基本画像の調整出力タイミングを設定する。
このような構成により、連続する2つの単位期間U(n),U(n+1)において、前の単位期間U(n)に出力する基本画像の確定出力枚数DC(n)と後の単位期間U(n+1)に出力する確定出力枚数DC(n+1)との差を小さくすることができる。
これにより、前の単位期間U(n)において基本画像が出力されるタイミングの間隔と後の単位期間U(n+1)において基本画像が出力されるタイミングの間隔とのギャップを小さくすることができる。
また、本発明の実施の形態に係る画像出力装置では、スケジューリング部31は、後の単位期間U(n+1)において出力する基本画像の確定出力枚数DC(n+1)を制限する際に、前の単位期間U(n)から離れた基本出力タイミングの基本画像を優先して設定する。
このような構成により、基本画像を適切に選択し、選択した基本画像を後の単位期間U(n+1)において出力することができる。
また、たとえば番組の情報の伝送経路において遅延が発生したことにより前の単位期間U(n)に出力すべき基本画像が後の単位期間U(n+1)に出力され得る状態において、当該基本画像に対して調整出力タイミングを設定してしまうことを避けることができる。
これにより、基本出力タイミングに対してより遅れたタイミングで基本画像を出力してしまうことを防ぐことができる。
また、本発明の実施の形態に係る画像出力装置では、スケジューリング部31は、連続する2つの単位期間U(k),U(k+1)において、前の単位期間U(k)において出力可能な基本画像の暫定出力枚数TC(k)から後の単位期間U(k+1)において出力可能な基本画像の暫定出力枚数TC(k+1)を差し引いた値が所定のしきい値より大きい場合、前の単位期間U(k)において出力する基本画像の確定出力枚数DC(k)を制限し、制限した確定出力枚数DC(k)の基本画像の調整出力タイミングを設定する。
このような構成により、連続する2つの単位期間U(k),U(k+1)において、前の単位期間U(k)に出力する基本画像の確定出力枚数DC(k)と後の単位期間U(k+1)に出力する確定出力枚数DC(k+1)との差を小さくすることができる。
これにより、前の単位期間U(k)において基本画像が出力されるタイミングの間隔と後の単位期間U(k+1)において基本画像が出力されるタイミングの間隔とのギャップを小さくすることができる。
また、本発明の実施の形態に係る画像出力装置では、スケジューリング部31は、前の単位期間U(k)において出力する基本画像の確定出力枚数DC(k)を制限する際に、後の単位期間U(k+1)から離れた基本出力タイミングの基本画像を優先して設定する。
このような構成により、基本画像を適切に選択し、選択した基本画像を前の単位期間U(k)において出力することができる。
また、本発明の実施の形態に係る画像出力装置では、スケジューリング部31は、調整出力タイミングが設定されなかった基本画像の調整出力タイミングを、後の単位期間U(k+1)におけるタイミングに設定する。
このような構成により、連続する2つの単位期間U(k),U(k+1)において、前の単位期間U(k)に出力する基本画像の確定出力枚数DC(k)と後の単位期間U(k+1)に出力する確定出力枚数DC(k+1)との差をより小さくすることができる。
これにより、前の単位期間U(k)において基本画像が出力されるタイミングの間隔と後の単位期間U(k+1)において基本画像が出力されるタイミングの間隔とのギャップをより小さくすることができる。
また、調整出力タイミングが設定されなかった基本画像が後の単位期間U(k+1)において出力されるので、基本画像の欠落を抑制することができる。
また、本発明の実施の形態に係る画像出力装置では、スケジューリング部31は、単位期間U(j)において出力可能な基本画像の暫定出力枚数TC(j)が所定のしきい値より大きい場合、単位期間U(j)において出力する基本画像の確定出力枚数DC(j)を制限し、制限した枚数の基本画像の調整出力タイミングを設定する。
このような構成により、各単位期間U(j)において出力される基本画像の確定出力枚数DC(j)のばらつきを簡易に抑制することができる。
また、本発明の実施の形態に係る画像出力装置では、バッファ監視部30は、バッファ24における基本画像の量および基本画像の基本出力タイミングの少なくとも一方についての所定条件が満たされるか否かを判断する。そして、スケジューリング部31は、バッファ監視部30によって所定条件が満たされると判断された場合、早送り再生処理および早戻し再生処理の少なくとも一方において、PTSの示す出力タイミングを用いて基本画像を選択的に出力する場合の基本画像の出力タイミングである基本出力タイミング、を基本画像の調整出力タイミングとして設定する。
このような構成により、バッファ24の状況に応じて、基本画像の出力タイミングを調整出力タイミングおよび基本出力タイミング間で適切に切り替えることができる。
また、本発明の実施の形態に係る画像出力装置では、バッファ監視部30は、バッファ24に蓄積された基本画像の量が所定値以下となる場合、所定条件を満たすと判断する。
このような構成により、バッファ24における基本画像の蓄積量が十分でないため調整出力タイミングの設定を適切に行うことが困難である可能性が高い場合に、基本出力タイミングに従って基本画像を出力することができる。
また、たとえば早送り再生処理および早戻し再生処理の開始において、バッファに基本画像が蓄積されるまで待つことなく基本画像を出力することができる。
これにより、ユーザが早送り再生処理または早戻し再生処理の開始操作を行ってから再生処理または早戻し再生処理を視聴するまでの待機時間を短縮することができる。
また、本発明の実施の形態に係る画像出力装置では、スケジューリング部31は、時間軸上で連続する複数の単位期間Ub,Ut,Unを設定し、バッファ監視部30は、所定タイミングにおいて、対象の単位期間Utの次の単位期間Unにおいて出力すべき基本画像がバッファ24に蓄積されていない場合、所定条件を満たすと判断する。
このような構成により、対象の単位期間Utにおける調整出力タイミングの設定を適切に行うことが困難である可能性が高い場合に、基本出力タイミングに従って基本画像を出力することができる。
また、たとえば早送り再生処理および早戻し再生処理の開始において、バッファに基本画像が蓄積されるまで待つことなく、基本画像を出力することができる。
これにより、ユーザが早送り再生処理または早戻し再生処理の開始操作を行ってから再生処理または早戻し再生処理を視聴するまでの待機時間を短縮することができる。
また、本発明の実施の形態に係る画像出力装置では、スケジューリング部31は、早送り再生処理または早戻し再生処理の再生速度が変更され、かつ変更後の再生速度の大きさが変更前の再生速度より大きい場合、バッファ24における基本画像のうち、変更後において出力すべき基本画像をバッファ24から選別し、選別した基本画像の調整出力タイミングを設定する。
このような構成により、変更前においてバッファ24に蓄積された基本画像を変更後に出力することができるので、バッファ24に基本画像が蓄積される速度に関わらず、再生速度が変更されたタイミングから早送り再生処理または早戻し再生処理が開始されるまでの遅延時間を短縮することができる。
これにより、早送り再生処理または早戻し再生処理において、再生速度の変更処理をスムーズに行うことができる。
また、本発明の実施の形態に係る画像出力装置では、基本画像はIフレーム(Intra-coded Frame)であり、関連画像はPフレーム(Predicted Frame)またはBフレーム(Bi-directional Predicted Frame)である。
このような構成により、MPEG2の方式またはH.264/AVCの方式において、早送り再生処理または早戻し再生処理を適切に行うことができる。
なお、本発明の実施の形態に係る画像出力装置は、MPEG2−TS規格に従うストリームの処理を行なう構成であるとしたが、これに限定するものではない。他の規格に従うストリームの処理を行なう構成であってもよい。
また、本発明の実施の形態に係る画像出力装置は、早送り再生処理および早戻し再生処理を行なう構成であるとしたが、これに限定するものではない。画像出力装置は、早送り再生処理または早戻し再生処理のいずれかを行う構成であってもよい。
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。