(57)【特許請求の範囲】
【請求項１】
コンテンツ配信装置からストリーミングデータを取得するデータ取得部と、
前記データ取得部により取得された取得ストリーミングデータを一時的に蓄積する再生用バッファと、
前記再生用バッファに蓄積された前記取得ストリーミングデータを再生する再生部と、
前記データ取得部が取得する前記取得ストリーミングデータを変更するための制御を行う取得制御部と、
前記再生部が前記取得ストリーミングデータを再生する速度を変更するための制御を行う再生制御部と、
前記再生用バッファに蓄積される前記取得ストリーミングデータの蓄積状態を監視し、該蓄積状態に基づき受信状態が悪化したと判断したときに、該判断結果を前記取得制御部および前記再生制御部に通知するバッファ監視部とを有し、
前記取得制御部は、前記データ取得部が第１の速度での再生に用いられる第１のストリーミングデータを取得している場合に、前記バッファ監視部からの前記通知に基づいて、前記取得ストリーミングデータを前記第１のストリーミングデータから前記第１の速度よりも高い第２の速度での再生に用いられる第２のストリーミングデータに変更し、
前記再生制御部は、前記第２のストリーミングデータが見かけ上前記第１の速度で再生されるように前記再生部の再生速度を変更することを特徴とするコンテンツ再生装置。
【請求項２】
前記再生部が、復号化された映像信号の画像フレーム間に補間画像を生成する補間画像生成部を有し、
前記取得制御部が、前記データ取得部が取得する前記取得ストリーミングデータを前記第１のストリーミングデータから前記第２のストリーミングデータに変更し、前記再生制御部が、前記第２のストリーミングデータが見かけ上前記第１の速度で再生されるように前記再生部の再生速度を変更した際に、
前記補間画像生成部が生成した補間画像を映像信号に挿入することを特徴とする請求項１に記載のコンテンツ再生装置。
【請求項３】
受信状態が回復したことを検出する検出手段をさらに有し、
受信状態の回復が検出されたら、前記取得制御部が、前記データ取得部が前記取得ストリーミングデータを前記第２のストリーミングデータから前記第１のストリーミングデータに変更し、前記再生制御部が、前記第１のストリーミングデータが前記第１の速度で再生されるように前記再生部の再生速度を変更することを特徴とする請求項１又は２に記載のコンテンツ再生装置。
【請求項４】
前記検出手段が、
ストリーミングデータの一部を受信状態確認用データとして取得する受信状態確認用データ取得部と、
前記受信状態確認用データ取得部により取得された前記受信状態確認用データを一時的に蓄積する受信状態確認用バッファと、
前記受信確認バッファへの前記受信状態確認用データの書き込みレートを監視し、該書き込みレートが所定値以上となったときに、受信状態が回復したと判断し、該判断結果を前記取得制御部および前記再生制御部に通知する受信状態確認用バッファ監視部とを有することを特徴とする請求項３に記載のコンテンツ再生装置。
【請求項５】
前記受信確認用データ取得部によるデータの取得は、前記データ取得部が前記第２のストリーミングデータを取得しており、かつ前記再生用バッファがバッファフルに近い状態にあるときに開始され、受信状態の回復が確認されたときに、停止されることを特徴とする請求項４に記載のコンテンツ再生装置。
【請求項６】
コンテンツ配信装置からストリーミングデータを取得するデータ取得ステップと、
前記データ取得ステップにより取得された取得ストリーミングデータを再生用バッファに一時的に蓄積する蓄積ステップと、
前記再生用バッファに蓄積された前記取得ストリーミングデータを再生する再生ステップと、
前記データ取得部が取得する前記取得ストリーミングデータを変更するための制御を行う取得制御ステップと、
前記再生ステップが前記取得ストリーミングデータを再生する速度を変更するための制御を行う再生制御ステップと、
前記再生用バッファに蓄積される前記取得ストリーミングデータの蓄積状態を監視し、該蓄積状態に基づき受信状態が悪化したと判断したときに、該判断結果を前記取得制御部および前記再生制御部に通知するバッファ監視ステップとを有し、
前記取得制御ステップは、前記データ取得ステップが第１の速度での再生に用いられる第１のストリーミングデータを取得している場合に、前記バッファ監視ステップからの前記通知に基づいて、前記取得ストリーミングデータを前記第１のストリーミングデータから前記第１の速度よりも高い第２の速度での再生に用いられる第２のストリーミングデータに変更し、
前記再生制御ステップは、前記第２のストリーミングデータが見かけ上前記第１の速度で再生されるように前記再生ステップの再生速度を変更することを特徴とするコンテンツ再生方法。
【請求項７】
前記再生ステップが、復号化された映像信号の画像フレーム間に補間画像を生成する補間画像生成ステップを有し、
前記取得制御ステップが、前記データ取得ステップが取得する前記取得ストリーミングデータを前記第１のストリーミングデータから前記第２のストリーミングデータに変更し、前記再生制御ステップが、前記第２のストリーミングデータが見かけ上前記第１の速度で再生されるように前記再生ステップの再生速度を変更した際に、前記補間画像生成ステップが生成した補間画像を映像信号に挿入することを特徴とする請求項６に記載のコンテンツ再生方法。
【請求項８】
受信状態が回復したことを検出する検出ステップをさらに有し、
受信状態の回復が検出されたら、前記取得制御ステップが前記取得ストリーミングデータを前記第２のストリーミングデータから前記第１のストリーミングデータに変更し、前記再生制御ステップが、前記第１のストリーミングデータが前記第１の速度で再生されるように前記再生ステップの再生速度を変更することを特徴とする請求項６又は７に記載のコンテンツ再生方法。
【請求項９】
前記検出ステップが、
ストリーミングデータの一部を受信状態確認用データとして取得する受信状態確認用データ取得ステップと、
前記受信状態確認用データ取得ステップにより取得された前記受信状態確認用データを受信状態確認用バッファに一時的に蓄積するステップと、
前記受信確認バッファへの前記受信状態確認用データの書き込みレートを監視し、該書き込みレートが所定値以上となったときに、受信状態が回復したと判断し、該判断結果を前記取得制御ステップおよび前記再生制御ステップに通知する受信状態確認用バッファ監視ステップとを有することを特徴とする請求項８に記載のコンテンツ再生方法。
【請求項１０】
前記受信確認用データ取得ステップによるデータの取得は、前記データ取得ステップが前記第２のストリーミングデータを取得しており、かつ前記再生用バッファがバッファフルに近い状態にあるときに開始され、受信状態の回復が確認されたときに、停止されることを特徴とする請求項９に記載のコンテンツ再生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ配信装置からストリーミングデータを受信し、再生するコンテンツ再生装置及び方法に関する。
【背景技術】
【０００２】
ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークを介して行うストリーミングサービスが提案されている。ストリーミングサービスでは、コンテンツ配信装置がコンテンツ再生装置にストリーミングデータを送信し、コンテンツ再生装置は受信したデータに基づいてコンテンツを再生する。
【０００３】
コンテンツ再生装置からは、コンテンツの変速再生などのトリックプレイをコンテンツ配信装置に要求することができる。コンテンツ配信装置は、再生用ストリーミングデータと、変速再生用ストリーミングデータを有し、変速再生の要求があった場合には、送信するストリーミングデータを通常再生用ストリーミングデータから変速再生用ストリーミングデータに切替える構成を取ることができる。変速再生用ストリーミングデータは、倍速用に処理されたストリーミングデータであり、コンテンツ再生装置は、通常再生用ストリーミングデータと実質的に同一の処理で変速再生用ストリーミングデータを再生することにより、変速再生されたコンテンツを出力することができる。
【０００４】
しかしＩＰネットワーク等でのＩＰパケット伝送によるストリーミングサービスではサービス品質の保証は無いため、元の映像ストリームのビットレートに対応するに十分な帯域を確保できないことがあり、受信状況が悪化したときにバッファアンダーフローが発生するという問題があった。ここでバッファアンダーフローとは、ストリーミングデータのバッファへの蓄積が間に合わずコマ落ちなどが発生する状況をいう。
【０００５】
この問題の改善策として、特許文献１では、コンテンツ配信装置が複数種類の符号化ビットレートの動画コンテンツを蓄積し、再生装置では受信バッファの蓄積量に応じて、適応的に動画像符号化ビットレートを選択し、選択した動画像符号化ビットレートを送信側に要求する。コンテンツ配信装置は、再生装置から要求されたビットレートの動画像コンテンツを再生装置へ送信する。このように構成することにより、受信バッファをアンダーフローさせない範囲で、できるだけ高い符号化ビットレートを選択することができるようになる。
【０００６】
また、特許文献２では、ストリームデータの受信側が、ストリームデータを蓄積するバッファの状態に応じてデコードの速度を制御する。このように構成することにより、受信側が送信側のストリーム送出レートを制御することができないシステムにおいても、ストリームデータを蓄積するバッファのアンダーフローの発生を抑えることができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−１７２８３０号公報
【特許文献２】特開２００７−２２１５９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１の構成においては、コンテンツ配信装置が複数種類の符号化ビットレートの動画コンテンツを蓄積していない場合には適用することができない。また、上述した変速再生用ストリーミングデータは、通常再生用ストリーミングデータと比較して符号化ビットレートが低いわけではないので、コンテンツ配信装置が通常再生用ストリーミングデータと変速再生用ストリーミングデータを蓄積している場合にも適用することができない。
【０００９】
また、特許文献２の構成においては、バッファの状態に応じてデコードの速度を制御するため、受信状態が悪化しバッファ蓄積量が少なくなった場合には再生速度が遅い状態が続くことになり、通常の再生速度で映像を視聴したいという場合や、早く続きの映像を見たい場合の要求に応えることができない。
【課題を解決するための手段】
【００１０】
本発明のコンテンツ再生装置は、
コンテンツ配信装置からストリーミングデータを取得するデータ取得部と、
前記データ取得部により取得された取得ストリーミングデータを一時的に蓄積する再生用バッファと、
前記再生用バッファに蓄積された前記取得ストリーミングデータを再生する再生部と、
前記データ取得部が取得する前記取得ストリーミングデータを変更するための制御を行う取得制御部と、
前記再生部が前記取得ストリーミングデータを再生する速度を変更するための制御を行う再生制御部と、
前記再生用バッファに蓄積される前記取得ストリーミングデータの蓄積状態を監視し、該蓄積状態に基づき受信状態が悪化したと判断したときに、該判断結果を前記取得制御部および前記再生制御部に通知するバッファ監視部とを有し、
前記取得制御部は、前記データ取得部が第１の速度での再生に用いられる第１のストリーミングデータを取得している場合に、前記バッファ監視部からの前記通知に基づいて、前記取得ストリーミングデータを前記第１のストリーミングデータから前記第１の速度よりも高い第２の速度での再生に用いられる第２のストリーミングデータに変更し、
前記再生制御部は、前記第２のストリーミングデータが見かけ上前記第１の速度で再生されるように前記再生部の再生速度を変更する
ことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、コンテンツ配信装置が複数種類の符号化ビットレートの動画コンテンツを蓄積していない場合においても、コンテンツ再生装置の受信状態が悪化したときに、バッファアンダーフローを起こさず、見かけ上通常の再生速度で、コンテンツの再生を継続できる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態１に係るコンテンツ再生装置のブロック図である。
【図２】（ａ）及び（ｂ）は、図１のバッファの書き込みアドレス及び読み出しアドレスの変化を示す図である。
【図３】従来のコンテンツ再生装置の画像フレーム出力タイミングを示す図である。
【図４】本発明の実施の形態１に係る画像フレーム出力タイミングを示す図である。
【図５】（ａ）〜（ｃ）従来のコンテンツ再生装置の受信状態悪化時のストリーミングデータ取得レート、再生レート、バッファ蓄積量の関係を示した図である。
【図６】（ａ）〜（ｃ）は、本発明の実施の形態１に係るコンテンツ再生装置の受信状態悪化時のストリーミングデータ取得レート、再生レート、バッファ蓄積量の関係を示した図である。
【図７】本発明の実施の形態１に係るコンテンツ再生装置の動作を示すフロー図である。
【図８】本発明の実施の形態２に係るコンテンツ再生装置のブロック図である。
【図９】（ａ）〜（ｆ）は、動きベクトルを用いた補間画像生成の方法を示す図である。
【図１０】（ａ）及び（ｂ）は、フレームレートが一定倍となるような画像補間方法を示す図である。
【図１１】（ａ）及び（ｂ）は、フレームレートが一定値となるような画像補間方法を示す図である。
【図１２】本発明の実施の形態３に係るコンテンツ再生装置のブロック図である。
【図１３】本発明の実施の形態３に係るコンテンツ再生装置の動作を示すフロー図である。
【発明を実施するための形態】
【００１３】
実施の形態１．
図１は、本発明の実施の形態１のコンテンツ再生装置の構成を示すブロック図である。コンテンツ再生装置２００ａは、データ取得部２０１と、再生用バッファ２０２と、再生部２０３と、バッファ監視部２０４と、制御部２１０とを備えて構成される。制御部２１０は、取得制御部２１１と、再生制御部２１２とを備えて構成される。
【００１４】
データ取得部２０１は、ＩＰネットワーク回線１０１を介してコンテンツ配信装置１００に接続されており、コンテンツ配信装置１００からストリーミングデータを取得し、再生用バッファ２０２に一時的に蓄積する。
再生部２０３は、再生用バッファ２０２に蓄積されたストリーミングデータを取得し、再生する。再生されたストリーミングデータは映像・音声として外部に出力される。
データ取得部２０１が取得するストリーミングデータは取得制御部２１１によって指定される。
また、再生部２０３がストリーミングデータを再生する速度は、再生制御部２１２によって制御される。
【００１５】
コンテンツ再生装置２００ａがストリーミングデータの受信、再生を行う際、再生用バッファ２０２のバッファ蓄積量は随時変化する。ここで、バッファ蓄積量とは、データ取得部２０１が取得し再生用バッファ２０２に蓄積したストリーミングデータのうち、再生部２０３での再生に使用されていないデータの量のことをいう。バッファ蓄積量が０になると、バッファアンダーフローが発生する。
【００１６】
まず、本実施の形態における処理の概略を述べる。
【００１７】
コンテンツ再生装置２００ａが通常再生用ストリーミングデータの受信、再生を行う際、バッファ監視部２０４は、データ取得部２０１が再生用バッファ２０２に書き込むレートおよび再生用バッファ２０２に一時的に蓄積されるバッファ蓄積量を監視し、受信状態が悪化したと判断した場合には、制御部２１０に通知する。
【００１８】
本実施の形態では受信状態が悪化したことに基づいて行なう。バッファ監視部２０４はバッファ蓄積量を定期的に監視し、その蓄積量がある閾値以下となった場合に、制御部に受信状態悪化を通知する。
【００１９】
制御部２１０がバッファ監視部２０４から受信状態が悪化したとの通知を受けると、取得制御部２１１は、データ取得部２０１が取得するデータを通常再生用ストリーミングデータ（第１の速度での再生に用いられる第１のストリーミングデータ）から変速再生用ストリーミングデータ（第２の速度での再生に用いられる第２のストリーミングデータ）に切り替える。
そのためには、データ取得部２０１から、コンテンツ配信装置１００に対し、変速再生用ストリームデータの送信を要求するコマンドを送る。これとともに、再生制御部２１２は、通常再生用ストリーミングデータと見かけ上同じ再生速度で出力するように、変速再生用ストリーミングデータを再生部２０３が再生する速度を制御する。見かけ上同じ速度で出力する制御の方法については後述する。
【００２０】
次に、バッファ蓄積量情報の取得方法の一例について述べる。
【００２１】
バッファに蓄積する方法として、直線状のバッファの両端を論理的に繋ぎ、バッファを輪のように扱う方法がある。この方法では、バッファの終端までデータの書き込みまたは読み込みを行うと、バッファの最初から続けてデータの書き込みまたは読み込みを行う。
【００２２】
図２（ａ）及び（ｂ）は、バッファの構造を表した図である。バッファはアドレスＭｉｎＰからアドレスＭａｘＰまでの領域から成り、データ取得部２０１がストリーミングデータを書き込んだ最新の領域を書き込みアドレスとして、再生部２０３がストリーミングデータを読み込んだ最新の領域を読み出しアドレスとして保持する。
【００２３】
書き込みアドレスと読み出しアドレスは、最初は同じ位置を指し、データ取得部２０１がストリーミングデータを書き込むことにより書き込みアドレスが更新される。また、再生部２０３がストリーミングデータを読み込むことにより読み出しアドレスが更新される。
【００２４】
書き込みアドレスは読み出しアドレスを追い越すことはできない。書き込みアドレスが読み出しアドレスに追いついた場合には、読み出しアドレスが更新されるまでデータ取得部２０１はストリーミングデータの書き込みを行わない。この状態をバッファフルと呼ぶ。
【００２５】
また、読み出しアドレスも書き込みアドレスを追い越すことはできない。読み出しアドレスが書き込みアドレスに追いついた場合には、書き込みアドレスが更新されるまで再生部２０３はストリーミングデータの読み込みを行わない。これは、バッファアンダーフローの状態である。
【００２６】
ＭａｘＰまで書き込みまたは読み込みを行うと、書き込みアドレスまたは読み出しアドレスの値はＭｉｎＰに戻る。
【００２７】
バッファ蓄積量は、読み出しアドレスから書き込みアドレスまでの領域の大きさから求めることができる。例えば図２（ａ）のように書き込みアドレスＷＰ1が読み出しアドレスＲＰ１より大きい場合には、バッファ蓄積量はその差（ＷＰ１−ＲＰ１）から求めることができる。また、図２（ｂ）のように読み出しアドレスＲＰ２が書き込みアドレスＷＰ２より大きい場合には、バッファ蓄積量は(ＭａｘＩ−ＲＰ２）＋（ＷＰ２−ＭｉｎＰ）から求めることができる。
【００２８】
次に、通常再生用ストリーミングデータと同じ再生速度で出力するように、変速再生用ストリーミングデータを再生部２０３が再生速度を制御する方法について説明を行う。一般的には、変速再生用ストリーミングデータは、コンテンツ配信装置で、リクエストに応じた再生速度となるように調整して送信したコンテンツデータであり、例えば、Ｉ−Ｐｉｃｔｕｒｅのみを抽出して作成する。
【００２９】
本発明では、変速再生用ストリーミングデータが通常再生用ストリーミングデータのｎ倍速（ｎは正の整数）の速度で再生するためのものであるとすると、再生制御部２１２は、通常再生用ストリーミングデータと見かけ上同じ再生速度で出力するように、つまり１／ｎの速度で再生するように再生部２０３が再生する速度を制御する。
【００３０】
なお以下では、通常再生用ストリーミングデータのｎ倍速の速度で再生するための変速再生用ストリーミングデータを「ｎ倍速再生用ストリーミングデータ」と呼ぶこととする。
【００３１】
ｎの値が２の場合の画像フレーム出力タイミングについて図を用いて説明する。
【００３２】
ｎの値が２であるときの、通常の再生方法での通常再生用ストリーミングデータと２倍速再生用ストリーミングデータの画像フレーム出力タイミングを図３に示す。図３中の２倍速再生用ストリーミングデータは、通常再生用ストリーミングデータの各画像フレームを１枚飛ばしにしたようなデータをもつこととする。
【００３３】
通常の再生方法でそれぞれのストリーミングデータを再生すると、通常再生用ストリーミングデータの再生ではｔ秒後に出力される画像フレームを、２倍速再生用ストリーミングデータの再生ではｔ／２秒後に出力することになる。
【００３４】
これに対して、通常再生用ストリーミングデータと同じ再生速度で出力されるように、２倍速再生用ストリーミングデータの再生速度を制御した場合の画像フレーム出力タイミングを図４に示す。２倍速再生用ストリーミングデータの再生速度を１／２にすることにより、画像フレーム表示間隔は図３の場合と比較して２倍となるので、通常再生用ストリーミングデータの画像フレーム表示タイミングと、２倍速再生用ストリーミングデータの再生タイミングは一致する。つまり通常再生用ストリーミングデータと見かけ上同じ再生速度で出力するように、２倍速再生用ストリーミングデータを再生できる。
【００３５】
次に、本実施の形態のより具体的な処理手順について述べる。
【００３６】
図５（ａ）〜（ｃ）は、従来のコンテンツ再生装置におけるデータ取得部２０１のストリーミングデータ取得レート（図５（ａ））、再生用バッファ２０２のバッファ蓄積量（図５（ｂ））、再生部２０３の再生レート（図５（ｃ））の関係を模式的に表したグラフである。
【００３７】
ストリーミングデータ取得レートｇ１が再生レートｐ１以上である場合は、バッファ蓄積量はｂ１を保ち、コンテンツの再生は滞りなく行われる。しかしながら、受信状態の悪化によりデータ取得レートがｇ２まで減少し、ｇ２＜ｐ１となった場合には（時刻ｔ１）、バッファに蓄積される時間当たりのデータ量より再生される時間当たりのデータ量の方が大きくなるため、バッファ蓄積量が減少しバッファアンダーフローが起きてしまう（時刻ｔ２）。
【００３８】
それに対して、図６（ａ）〜（ｃ）は、本実施の形態におけるコンテンツ再生装置２００ａのストリーミングデータ取得レート（図６（ａ））、再生用バッファ２０２のバッファ蓄積量（図６（ｂ））、再生部２０３での再生レート（図６（ｃ））の関係を模式的に表したグラフである。
【００３９】
また、本実施の形態におけるコンテンツ再生装置２００ａの処理手順を、図６（ａ）〜（ｃ）中の値を用いて表すフローチャートを図７に示す。
【００４０】
バッファ監視部２０４は定期的に再生用バッファ２０２のバッファ蓄積量を監視している。
【００４１】
受信状態の悪化によりデータ取得部２０１のデータ取得レートがｇ２まで減少しｇ２＜ｐ１となると（時刻ｔ１）、バッファ蓄積量が減少し始める。さらに、バッファ蓄積量が閾値ｂ２以下となったことをバッファ監視部２０４が検知すると（時刻ｔ３）（ステップＳ１０）、バッファ監視部２０４は受信状態が悪化したことを制御部２０４に通知する（ステップＳ１１）。
【００４２】
バッファ監視部２０４が再生用バッファ２０２のバッファ蓄積量を確認する周期は任意であるが、バッファ蓄積量の閾値ｂ２および再生レートｐ１を考慮して決定する必要がある。確認周期をｔ秒とし、バッファ蓄積量が閾値ｂ２よりわずかに大きい値であるとする（簡単のためｂ２と等しいことにする）。その状態からデータ取得部２０１の取得レートが最悪値の毎秒０バイトまで低下した場合、ｔ秒間で（ｂ２−ｔ・ｐ１）バイトだけバッファ蓄積量は減少する。このときにバッファ蓄積量が０バイト以上でないと、バッファ蓄積量が閾値を下回ったことを検知する前にバッファアンダーフローが発生してしまう。そのため、（ｂ２−ｔ・ｐ１）＞０を満たす、つまりｔ＜ｂ２／ｐ１となるような確認周期を設定することが望ましい。
【００４３】
制御部２１０はバッファ監視部２０４からの通知を受けると、取得するストリーミングデータを通常再生用ストリーミングデータからｎ倍速再生用ストリーミングデータに切り替える（ステップＳ１２）。
【００４４】
さらに制御部２１０は、ｎ倍速再生用ストリーミングデータの再生速度が１／ｎになるように制御する（ステップＳ１３）。
【００４５】
再生速度を１／ｎに制御することにより再生レートはｐ１／ｎとなる。受信状態が悪化したときのデータ取得レートｇ２が再生レートｐ１／ｎより大きければ、バッファ蓄積量の減少を防ぐことができ、バッファアンダーフローの発生を防ぐことができる（時刻ｔ４）。
【００４６】
以上のように本実施の形態１によれば、受信状態が悪化したときに、取得するストリーミングデータを通常再生用ストリーミングデータから変速再生用ストリーミングデータに切り替え、さらにそれが通常再生用ストリーミングデータと見かけ上同じ再生速度で外部出力されるように、再生する速度を制御する。こうすることにより、再生部がバッファからストリーミングデータを取得するレートが低くなるのでバッファアンダーフローを防ぐことができ、さらに見かけ上通常の再生速度のままコンテンツの再生を継続できる。
【００４７】
なお、本発明は、通常再生用ストリーミングデータと変速再生用ストリーミングデータに切り換える場合に限定されず、第１の速度での再生に用いられる第１のストリーミングデータと、第１の速度のよりも高い第２の速度での再生に用いられる第２のストリーミングデータの間の切換を行なえる場合に適用可能である。
【００４８】
なお、バッファ監視部２０４が再生用バッファ２０２のバッファ蓄積量を確認するタイミングは一定時間ごとでなくてもよい。例えば、再生用バッファ２０２の読み出しアドレスが一定量進むごとに通知をあげ、その度にバッファ蓄積量を確認するようにしてもよい。
【００４９】
なお、バッファ監視部２０４が受信状態が悪化したとの判断は、バッファ蓄積量がある閾値以下になったことに基づいて行なわなくても良い。例えば、データ取得部２０１が再生用バッファ２０２に書き込むレートが低下したことでもよいし、バッファ蓄積量が時間的に減少傾向であることでもよい。
【００５０】
データ取得部２０１が再生用バッファ２０２に書き込むレートは、書き込みアドレスの位置を周期的に取得し、その増分を計算することにより求めることができる。また、バッファ蓄積量が時間的に減少傾向であることは、バッファ蓄積量を定期的に取得し、その変化量を計算することにより求めることができる。ただし、これらの値には時間的なゆらぎがあるため、一定時間計測した平均値を使用するなど、ゆらぎを考慮した判定を行う。
【００５１】
実施の形態２． 
図８は本発明の実施の形態２におけるコンテンツ再生装置２００ｂの構成図である。図８において、図１と同じ構成要素については同じ符号を用い、説明を省略する。図８のコンテンツ再生装置２００ｂは、図１のコンテンツ再生装置２００ａと概して同じであるが、再生部２０３に補間画像生成部２０５を設けた点で異なる。
【００５２】
本実施の形態においては、コンテンツ再生装置２００ｂは、取得するデータを変速再生用ストリーミングデータに切り替え、通常再生用ストリーミングデータと見かけ上同じ再生速度となるように再生部２０３が再生する速度を制御する際に、補間画像生成部２０５が変速再生用ストリーミングデータの各フレーム画像から補間画像を作成する。
【００５３】
補間画像の生成方法としては動きベクトルを利用する方法が知られている。図９（ａ）〜（ｆ）は動きベクトルを用いた補間画像生成の方法を示す。図９（ａ）は、一つのフレームにおける画像Ｉ１を示す。図９（ｂ）は次のフレームにおける画像Ｉ２を示す。画像Ｉ１と画像Ｉ２とでは、画像の構成要素（ハッチングを施した円として示してある）ＰＥの位置が異なり、区別のためＰＥ（１）、ＰＥ（２）で示す。図９（ａ）の画像Ｉ１の要素ＰＥ（１）と、画像Ｉ２の要素ＰＥ（２）から、図９（ｃ）に示す動きベクトルＶｂが得られたとする。図９（ｃ）ならびに後述の図９（ｄ）〜（ｆ）には、画像Ｉ１における要素ＰＥ（１）の位置と画像Ｉ２における要素ＰＥ（２）の位置が点線で示してある。
画像Ｉ１と画像Ｉ２の間では画像Ｉ１での要素ＰＥ（１）の存在位置と画像Ｉ２での要素ＰＥ（２）の存在位置との中間点に要素ＰＥが存在すると推定できるため、図９（ｅ）に示すように、要素ＰＥ（１）をＶｂ／２だけ動かすことにより（動かした後の要素を符号ＰＥ（１．５）で示す）画像Ｉ１から時間的にフレーム間隔（画像Ｉ１と画像Ｉ２のフレーム間隔）の１／２進んだ補間画像Ｉ１．５を生成することができる。また、図９（ｄ）、図９（ｆ）に示すように、要素ＰＥ（１）をＶｂ／４、３Ｖｂ／４だけ動かすことにより（動かした後の要素を符号ＰＥ（１．２５）、ＰＥ（１．７５）で示す）、画像Ｉ１から、フレーム間隔の１／４進んだ補間画像Ｉ１．２５、及びフレーム間隔の３／４進んだ補間画像Ｉ１．７５を得ることもできる。
【００５４】
再生部２０３は、変速再生用ストリーミングデータをデコードした元画像に補間画像生成部２０５が生成した補間画像を挿入して出力する。本実施の形態では、フレームレートが一定倍となるように補間画像を挿入する。
【００５５】
本発明では、通常再生時のフレームレートをαとすると、受信状態悪化時には、n倍速用ストリーミングデータはα／ｎのフレームレートで再生される。フレームレートが一定倍となるように補間画像を挿入する場合には、フレームレートがｍ・α／ｎ（ｍ：定数）になるように補間画像を挿入する。図１０（ａ）及び（ｂ）に示す例では、ｍの値が２となるように補間画像を挿入している。なお、図１０（ａ）及び（ｂ）、並びに後述の図１１（ａ）及び（ｂ）において、ハッチングを施したフレームが補間画像であり、白抜きのフレームが元画像である。このうち、図１０（ａ）は、ｎ＝ｎ１（ある値）の場合を示し、図１０（ｂ）は、ｎ＝ｎ２＝２×ｎ１）の場合を示す。
【００５６】
ｍの値を大きくしすぎると、原画像より補間画像が表示される時間が長くなり、補間の失敗などが目立つ可能性もあるので、ｍの値は２程度であることが望ましい。
【００５７】
以上のように本実施の形態によれば、受信状態が悪化し、変速再生用ストリーミングデータを通常再生用ストリーミングデータと見かけ上同じ再生速度となるように再生するときに、原画と原画の間に補間画像を生成することで動画のフレーム数を増やし、より自然な映像を提供することができる。
【００５８】
なお、補間画像の生成方法は原画像から新たな補間画像を生成するものであれば何でもよい。例えば、動きベクトルを推定するのに用いる原画像を増やしてもよいし、背景と動作物を分けて補間画像を生成してもよい。
【００５９】
なお、補間画像を挿入するフレーム数については、フレームレートが一定倍になるようにしなくてもよい。例えば、常にフレームレートが一定になるように、元の映像のフレームレートに応じて挿入フレーム数を変更してもよい。通常再生時のフレームレートがαの場合に、常にフレームレートが２α／nになるように補間画像を挿入した場合、図１１（ａ）及び（ｂ）のようになる。このうち、図１１（ａ）は、ｎ＝ｎ１（ある値）の場合を示し、図１１（ｂ）は、ｎ＝ｎ２＝２×ｎ１）の場合を示す。倍速数ｎの値が大きい場合にはより滑らかな映像を提供することができるが、補間画像が表示される時間が長くなるので補間の失敗が目立つ可能性もある。
【００６０】
実施の形態３． 
図１２は本発明の実施の形態３におけるコンテンツ再生装置２００ｃの構成を示すブロック図である。図１２において、図１と同じ構成要素については同じ符号を用い、説明を省略する。図１２のコンテンツ再生装置２００ｃは、図１のコンテンツ再生装置２００ａと概して同じであるが、受信状態確認用データ取得部２０６、受信状態確認用バッファ２０７、および受信状態確認用バッファ監視部２０８を付加した点で異なる。さらに、後述のように、取得制御部２１１及び再生制御部２１２の動作が異なる。以下に詳しく述べるように、受信状態確認用データ取得部２０６と、受信状態確認用バッファ２０７と、受信状態確認用バッファ監視部２０８とで、受信状態の回復を検出する手段を構成する。
【００６１】
受信状態確認用データ取得部２０６は、ＩＰネットワーク回線１０２を介してコンテンツ配信装置１００に接続されており、コンテンツ配信装置１００からデータ取得部２１０に配信されるストリーミングデータの一部を受信状態確認用データとして取得し、受信状態確認用バッファ２０７に蓄積する。ＩＰネットワーク回線１０２はＩＰネットワーク回線１０１とは別のものとして図示しているが、同一ものであっても良く、以下の具体例では、同一であるものとしている。
後述のように、受信状態確認用データ取得部２０６によるデータ取得は、データ取得部２０１がｎ倍速再生用ストリーミングデータを取得しており、かつ再生用バッファ２０２がバッファフルに近い状態にあるときに開始され、受信状態の回復が確認されたときに、停止される。
【００６２】
受信状態確認用バッファ監視部２０８は、受信状態確認用データ取得部２０６が受信状態確認用バッファ２０７へ書き込むレートを監視し、該書き込みレートが所定値以上となったときに、受信状態が回復したと判断し、該判断結果を取得制御部２１１および再生制御部２１２に通知する。
受信状態確認用データ取得部２０６が取得するストリーミングデータおよび取得タイミングは取得制御部２１１によって指定される。
【００６３】
受信状態確認用データ取得部２０６が取得する受信状態確認用データは受信状態を確認するための小サイズのストリーミングデータである。小サイズのストリーミングデータの取得方法としては、例えばＨＴＴＰでは、サーバへの要求メッセージにｒａｎｇｅヘッダを指定することによりコンテンツの一部のみを要求することが可能である。ｒａｎｇｅヘッダに”ｂｙｔｅｓ＝５００−９９９”と指定した場合には、コンテンツの５００バイト目から９９９バイト目までを取得することになる。コンテンツとしてはコンテンツ配信装置１００が提供するもの（例えばデータ取得部２０１に配信される通常再生用ストリーミングデータ）を使用する。
【００６４】
以下では、実施の形態１の説明に用いた図６（ａ）〜（ｃ）のストリーミングデータ取得レート、再生用バッファ２０２のバッファ蓄積量、及び再生部２０３の再生レートの値を用いて説明する。
【００６５】
図１３は、本実施の形態におけるコンテンツ再生装置２００ｃの処理手順を示すフローチャートである。ステップＳ１０〜ステップＳ１３の処理はそれぞれ実施の形態１のステップＳ１０〜ステップＳ１３の処理と同様であるので詳細な説明は省略する。
【００６６】
本実施の形態においては、取得するストリーミングデータを通常再生用ストリーミングデータからｎ倍速再生用ストリーミングデータに切り替え（ステップＳ１２）、ｎ倍速再生用ストリーミングデータの再生速度が１／ｎになるように制御した（ステップＳ１３）後、取得制御部２１１は、バッファ監視部２０４から再生用バッファ２０２の状態を取得し、再生用バッファ２０２がバッファフルに近い状態であるときに（ステップＳ２４）、受信状態確認用データ取得部２０６に受信状態確認用データを取得させる（ステップＳ２５）。
【００６７】
再生用バッファ２０２がバッファフルに近い状態であるときのみ受信状態確認用データを取得するのは、受信状態確認用データの取得がｎ倍速再生用ストリーミングデータの再生を妨げる可能性があるからである。
【００６８】
データ取得部２０１と受信状態確認用データ取得部２０６が同一のネットワーク回線を使用する場合には、受信状態確認用データを取得することによりｎ倍速再生用ストリーミングデータの取得レートが低下する可能性がある。そのときに再生用バッファ２０２のバッファ蓄積量が少ないと、データ取得部２０１の取得レートの低下によりバッファ蓄積量が減少し、バッファアンダーフローが発生する可能性がある。
【００６９】
バッファ蓄積量がバッファフルに近い状態でないときには、データ取得部２０１の取得レートが再生部２０３の再生レートを下回っている、つまり受信状態がまだ回復していないことが想定されるので、再生用バッファ２０２のバッファ蓄積量がバッファフルに近いときのみ、受信状態確認用データの取得を行うことが望ましい。
【００７０】
また、受信状態確認用データのサイズもｎ倍速再生用ストリーミングデータの再生を妨げない程度の大きさであるべきである。
受信状態確認用データのサイズをｓバイトとし、
再生用バッファ２０２のバッファ蓄積量がバッファフルに近いｂ１、受信状態確認用データ取得前のデータ取得部２０１の取得レートが再生レートと同じｐ１／ｎバイトとする。また、受信状態確認用データ取得時には、データ取得部２０１の取得レートは半分の毎秒ｐ１／２ｎバイトになり、受信状態確認用データ取得部２０６の取得レートも同じ値になるとする。この場合、受信状態確認用データの取得にかかる時間はｓ／（ｐ１／２ｎ）＝２ｎ×ｓ／ｐ１秒となる。受信状態確認用データ取得の間バッファ蓄積量は毎秒ｐ１／２ｎバイトずつ減っていくので、受信状態確認用データ取得後の再生用バッファ２０２のバッファ蓄積量は（ｂ１―（２ｎ×ｓ／ｐ１）×（ｐ１／２ｎ））＝ｂ１−ｓバイトとなる。受信状態確認用データ取得後に再生用バッファ２０２でバッファアンダーフローを起こさないためには、ｂ１―ｓ＞０、つまりｓ＜ｂ１であることが望ましい。
【００７１】
受信状態確認用データ取得部２０６は、受信状態確認用データを取得しながら、受信状態確認用バッファ２０７に蓄積していく。受信状態確認用バッファ監視部２０８は、受信状態確認用データ取得部２０６が受信状態確認用バッファ２０７へ書き込むレートが、通常再生用ストリーミングデータの再生レートの半分であるｐ１／２以上であれば、受信状態が回復したとみなし、制御部２１０に通知する（ステップ２６）。
【００７２】
受信状態確認用データ取得部２０６が受信状態確認用バッファ２０７へ書き込むレートが、通常再生用ストリーミングデータの再生レートの半分以上であれば受信状態が回復したと判断するのは、１つの回線で同時に２つのデータを取得していることを考慮したためである。
【００７３】
受信状態確認用バッファ２０７に書き込まれるデータは読み出されることがないので、受信状態確認用データ取得部２０６は、読み出しアドレスの値にかかわらず受信状態確認用バッファ２０７に書き込みを続けてよい。このように書き込みを続ける際は、古いデータの上に新しいデータが上書きされる。
【００７４】
受信状態確認用バッファ２０７への書き込みレートは、受信状態確認用データのサイズを受信状態確認用データ全ての書き込みにかかった時間で除算することにより求めることができる。
【００７５】
制御部２１０は受信状態確認用バッファ監視部２０８からの通知(「受信状態が回復した」と判断したことを示す通知)を受けると、取得制御部２１１は、データ取得部２０１が取得するストリーミングデータを変速再生用ストリーミングデータから通常再生用ストリーミングデータに切り替える（ステップＳ２７）。さらに再生制御部２１２は、再生部２０３の再生速度を通常に戻す（ステップＳ２８）。
【００７６】
以上のように本実施の形態によれば、受信状態確認用バッファ監視部２０８が、受信状態が回復したと判断した場合には、取得するストリーミングデータを変速再生用ストリーミングデータから通常再生用ストリーミングデータに切り替え、再生部の再生速度を通常に戻す。こうすることにより、受信状態に応じた最適なストリーミングデータをユーザが視聴することが可能となる。
【００７７】
なお、受信状態確認用バッファ監視部２０８による、受信状態が回復したとの判断を、受信状態確認用データ取得部２０６が、受信状態確認用データを受信状態確認用バッファ２０７に書き込むレートがｐ１／２以上であることに基づいて行なうこととしなくても良い。
【００７８】
例えば、変速再生用ストリーミングに切り替えた後、再生用バッファ２０２がバッファフルになるまでの間のデータ取得部２０１の取得レートが、通常再生用ストリーミングデータの再生レートｐ１以上であることを検出したときに、受信状態が回復したと判断することとしても良い。この判断はバッファ監視部２０４で行なうことができる。従って、この場合には、受信状態確認用データ取得部２０６、受信状態確認用バッファ２０７、受信状態確認用バッファ監視部２０８を設けなくても良く、バッファ監視部２０４が受信状態の回復を検出する手段としての役割を果たす。
【００７９】
また、上記では、受信状態確認用データは、読み出されることのないデータとしたが、コンテンツの現在の再生時間から一定時間先のデータ（データ取得部２０１で現在取得しているデータよりも一定時間後で再生されるべきデータ）を受信状態確認用データとして用い、受信状態が回復した場合には受信状態確認用データを通常再生用データとして使用することもできる。この場合には、通常再生用ストリーミングデータ再生時間に切り替えるときのデータ取得待ち時間を減らすことができる。
【００８０】
なお、データ取得部２０１と受信状態確認用データ取得部２０６が同一のネットワーク回線を使用しなくてもよい。その場合、受信状態確認用データの取得がｎ倍速再生用ストリーミングデータの再生に与える影響を少なくすることができる。
【００８１】
実施の形態３の特徴は、上記実施の形態１および実施の形態２の特徴と組合せて用いることができる。
【符号の説明】
【００８２】
１００  コンテンツ配信装置、  １０１、１０２  ネットワーク回線、  ２００ａ、２００ｂ、２００ｃ  コンテンツ再生装置、  ２０１  データ取得部、  ２０２  再生用バッファ、  ２０３  再生部、  ２０４  バッファ監視部、  ２０５  補間画像生成部、  ２０６  受信状態確認用データ取得部、  ２０７  受信状態確認用バッファ、  ２０８  受信状態確認用バッファ監視部、  ２１０  制御部、  ２１１  取得制御部、  ２１２  再生制御部。
【図１】
0005538843.tif 000002
【図２】
0005538843.tif 000003
【図３】
0005538843.tif 000004
【図４】
0005538843.tif 000005
【図５】
0005538843.tif 000006
【図６】
0005538843.tif 000007
【図７】
0005538843.tif 000008
【図８】
0005538843.tif 000009
【図９】
0005538843.tif 000010
【図１０】
0005538843.tif 000011
【図１１】
0005538843.tif 000012
【図１２】
0005538843.tif 000013
【図１３】
0005538843.tif 000014