図面 (/)

技術 受信装置、バッファ管理方法、及びプログラム

出願人 日本放送協会
発明者 西村敏大西正芳松村欣司藤沢寛遠藤洋介
出願日 2015年1月23日 (6年4ヶ月経過) 出願番号 2015-011388
公開日 2016年7月28日 (4年10ヶ月経過) 公開番号 2016-136676
状態 特許登録済
技術分野 計算機・データ通信 計算機間の情報転送 双方向TV,動画像配信等
主要キーワード セグメント範囲 バッファ済み 修正範囲 マルチデバイス ストリーミング動画 ビデオ要素 再生済みデータ セグメント分
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年7月28日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (10)

課題

ストリーミング再生においてシーク動作を安定に行う。

解決手段

受信装置1は、再生開始時刻及び再生継続時間の情報に対応付けセグメントを保存するバッファ13と、シーク再生命令を受信した時に、バッファ13においてセグメントが挿入されている範囲を示すバッファ済みセグメント範囲のうち、シーク再生命令により指定された再生時刻である新規再生時刻を含まない範囲である冗長セグメント範囲の情報を取得するバッファ制御部14と、冗長セグメント範囲を含む範囲のセグメントであって、データサイズの小さいダミーデータをエンコードしたセグメントである極小セグメントを生成する極小セグメント生成部15と、バッファ13からセグメントを読み出しデコードする再生部16とを備え、バッファ制御部14は、冗長セグメント範囲を極小セグメントで上書きすることにより、バッファ13の空き容量を確保する。

概要

背景

昨今のインターネットにおけるストリーミング動画配信では、専用のサーバと専用のプロトコルによるストリーミング配信方式から、汎用的なWebサーバによりHTTPプロトコルを用いてストリーミング配信する方式への移行が進んでおり、多くのデバイス向けの配信において主流となっている。このようなHTTPプロトコルによるストリーミング配信方式(アダプティブストリーミング)としては、ITベンダによる独自技術が普及している他、これらストリーミング方式統一を意図した国際標準規格であるMPEG−DASH(ISO/IEC23009−1)が策定された。

いずれの技術も基本的なコンセプトは同様であり、Webサーバには動画コンテンツを一つ又は複数の品質画面サイズやビットレート)でエンコードしたストリームをそれぞれ数秒から数十秒程度のファイルに分割したもの(セグメント)と、それらの動画コンテンツの属性やURLを記述したマニフェストファイルを用意する。受信装置はマニフェストファイルから当該受信装置の画面サイズや伝送路ネットワーク帯域の状態などを考慮して、適時品質を選択して次々とセグメントを受信し、1本の動画コンテンツにつなぎ合わせて再生するものである(例えば、非特許文献1参照)。

図6にアダプティブストリーミングの一例を示す。図6では、映像が複数品質でエンコードされ、それぞれの品質毎に数秒単位に分割されたセグメントが生成されている。この例では、エンコーダは映像を低品質のセグメント1〜4、中品質のセグメント1’〜4’、及び高品質のセグメント1”〜4”に分割している。マニフェストファイルには、セグメントのURLや、それぞれの品質毎のビットレートや画像サイズなどの属性情報登録される。セグメント及びマニフェストファイルはWebサーバに供給される。

受信装置は、Webサーバからマニフェストファイルを受信し、マニフェストファイルからビットレートやセグメントの構成を把握し(ステップA)、受信装置の画面サイズやネットワーク受信帯域の状況をもとにセグメント単位で品質を選択し、HTTPプロトコルにより受信する(ステップB)。続いて、受信したセグメントをマニフェストファイルに従って順番通りにつなぎ合わせて再生する(ステップC)。このようにステップB,Cの処理を繰り返すことにより、一連コンテンツを受信し再生を継続することができる。

受信装置においては、多くのデバイスで普及が進むHTML5ブラウザを利用することにより、マルチデバイス(PC、テレビ受信機タブレット装置等)に対応可能な視聴環境構築することができる。

しかし、従来HTML5ブラウザで動画を再生するための機能であるビデオ要素(videoタグ)では、ソースとしてメディアファイルを参照することしかできなかったため、このようなアダプティブストリーミングの視聴を実現するためには、別途ブラウザプラグインインストールが必要だった。そのため、どのブラウザでも共通で利用できる視聴環境を構築することが困難だった。このような状況から、HTML5ブラウザのビデオ要素(videoタグ)及びJavascript(登録商標)によってアダプティブストリーミングの視聴を実現するための機能として、Webで利用される技術の標準化すすめる国際的な非営利団体であるW3CにおいてMSE(Media Source Extensions)の規格化が進んでいる(例えば、非特許文献2参照)。

MSEを用いることにより、ビデオ要素はソースとしてバッファを参照することが可能となる。そのバッファへはJavascriptによって受信したセグメントを挿入することができるようになることから、多様なアダプティブストリーミングの視聴がHTML5のビデオ要素とJavascriptにより実現可能となる。

ここで、図7を参照してMSEのバッファモデルについて説明する。図7はMSEのバッファモデルの一例を示す図である。バッファ(SourceBuffer)は、再生開始時刻再生開始位置)と再生継続時間(尺)の情報に対応つけてセグメントを管理する。図7では、斜線の入ったブロックがセグメントを示しており、再生開始時刻が0かつ再生継続時間が5秒、再生開始時刻が5かつ再生継続時間が5秒、再生開始時刻が15かつ再生継続時間が5秒のセグメントがバッファに挿入されている。この時、バッファのバッファリング範囲(buffered属性)は0〜10秒、15〜20秒となる。

また、図8に示すように、既にセグメントが挿入されている範囲に再生時刻が重なる別のセグメントを挿入して上書きすることも可能である。図8では、図7に示した例に、新しいセグメントとして再生開始時刻12かつ再生継続時間10秒のセグメントを挿入した例を示している。その結果、12秒から22秒の範囲が新しいセグメントに差し替わるとともに、バッファリング範囲も0〜10秒、12〜22秒に更新されている。

一般にストリーミングを視聴する際には、ネットワークの混雑状況に応じて受信帯域が常に変動することから、バッファ容量許す限り現在の再生時刻よりも数秒から数十秒先のデータまで受信してバッファに挿入しておくことにより、視聴の安定性を向上することができる。

コンテンツの視聴においては、コンテンツの最初から最後まで通して視聴する場合もあるが、視聴中にコンテンツの任意の位置を指定して再生を行うシーク再生をする場合もありうる。しかしながら、シーク再生をしようとする場合、バッファ容量の最大値近くまで未再生のセグメントが残っていると、指定した位置(時刻)のセグメントを受信してもバッファに挿入することができず、再生を開始できない可能性があった。

図9にシーク動作時に再生を開始できない例を示す。図9では、バッファは3個分のセグメントを挿入可能な容量を確保しているとする。現在の再生時刻は15であり、バッファには15秒〜30秒のセグメントが挿入されている。この状態で、時刻5の位置へのシークを行ったとする。このとき、15秒から30秒のセグメントは未再生の状態でバッファに残されている。この状態で時刻5のセグメントを取得しても、バッファに3個分のセグメントが残り続けているため、バッファに挿入することができない。したがって、シーク再生を始めることができない状況に陥っている。

MSEでは、非特許文献3に示すバージョン以降においては、removeメソッドというAPIが追加され、任意の範囲を指定してバッファのセグメントを消去することが可能である。

また、特許文献1には、データをバッファに溜める際に、バッファ容量が一杯だった場合に、再生済みデータの中から古いデータを優先的に消去することや、再生済みデータがバッファに残っていない場合は、任意の位置指定前にバッファに残っているデータの中から新しいデータを優先的に消去する技術が開示されている。

概要

ストリーミング再生においてシーク動作を安定に行う。受信装置1は、再生開始時刻及び再生継続時間の情報に対応付けてセグメントを保存するバッファ13と、シーク再生命令を受信した時に、バッファ13においてセグメントが挿入されている範囲を示すバッファ済みセグメント範囲のうち、シーク再生命令により指定された再生時刻である新規再生時刻を含まない範囲である冗長セグメント範囲の情報を取得するバッファ制御部14と、冗長セグメント範囲を含む範囲のセグメントであって、データサイズの小さいダミーデータをエンコードしたセグメントである極小セグメントを生成する極小セグメント生成部15と、バッファ13からセグメントを読み出しデコードする再生部16とを備え、バッファ制御部14は、冗長セグメント範囲を極小セグメントで上書きすることにより、バッファ13の空き容量を確保する。

目的

本発明の目的は、ストリーミング再生においてシーク動作を安定に行うことを可能とする受信装置、バッファ管理方法、及びプログラムを提供する

効果

実績

技術文献被引用数
1件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

複数のセグメントから構成されるコンテンツセグメント毎に受信してストリーミング再生を行う受信装置であって、再生開始時刻及び再生継続時間の情報に対応付けてセグメントを保存するバッファと、シーク再生命令を受信した時に、前記バッファにおいてセグメントが挿入されている範囲を示すバッファ済みセグメント範囲のうち、シーク再生命令により指定された再生時刻である新規再生時刻を含まない範囲である冗長セグメント範囲の情報を取得するバッファ制御部と、前記冗長セグメント範囲を含む範囲のセグメントであって、前記冗長セグメント範囲に保存されたデータよりもサイズの小さいダミーデータをエンコードしたセグメントである極小セグメントを生成する極小セグメント生成部と、前記バッファからセグメントを読み出しデコードする再生部と、を備え、前記バッファ制御部は、前記冗長セグメント範囲を前記極小セグメントで上書きすることにより、前記バッファの空き容量を確保することを特徴とする受信装置。

請求項2

前記極小セグメント生成部は、黒画像をエンコードして前記極小セグメントを生成することを特徴とする、請求項1に記載の受信装置。

請求項3

前記極小セグメント生成部は、予め記憶されたテンプレートセグメントを連結することにより前記極小セグメントを生成することを特徴とする、請求項1又は2に記載の受信装置。

請求項4

複数のセグメントから構成されるコンテンツをセグメント毎に受信してストリーミング再生を行う受信装置におけるバッファ管理方法であって、再生開始時刻及び再生継続時間の情報に対応付けてセグメントをバッファに保存するステップと、シーク再生命令を受信した時に、前記バッファにおいてセグメントが挿入されている範囲を示すバッファ済みセグメント範囲のうち、シーク再生命令により指定された再生時刻である新規再生時刻を含まない範囲である冗長セグメント範囲の情報を取得するステップと、前記冗長セグメント範囲を含む範囲のセグメントであって、前記冗長セグメント範囲に保存されたデータよりもサイズの小さいダミーデータをエンコードしたセグメントである極小セグメントを生成するステップと、前記冗長セグメント範囲を前記極小セグメントで上書きすることにより、前記バッファの空き容量を確保するステップと、前記バッファからセグメントを読み出してデコードするステップと、を含むことを特徴とするバッファ管理方法。

請求項5

コンピュータを、請求項1から3のいずれか一項に記載の受信装置として機能させるためのプログラム

技術分野

0001

本発明は、複数のセグメントから構成されるコンテンツセグメント毎に受信してストリーミング再生を行う受信装置、該受信装置のバッファ管理方法、及び該受信装置として機能させるためのプログラムに関する。

背景技術

0002

昨今のインターネットにおけるストリーミング動画配信では、専用のサーバと専用のプロトコルによるストリーミング配信方式から、汎用的なWebサーバによりHTTPプロトコルを用いてストリーミング配信する方式への移行が進んでおり、多くのデバイス向けの配信において主流となっている。このようなHTTPプロトコルによるストリーミング配信方式(アダプティブストリーミング)としては、ITベンダによる独自技術が普及している他、これらストリーミング方式統一を意図した国際標準規格であるMPEG−DASH(ISO/IEC23009−1)が策定された。

0003

いずれの技術も基本的なコンセプトは同様であり、Webサーバには動画コンテンツを一つ又は複数の品質画面サイズやビットレート)でエンコードしたストリームをそれぞれ数秒から数十秒程度のファイルに分割したもの(セグメント)と、それらの動画コンテンツの属性やURLを記述したマニフェストファイルを用意する。受信装置はマニフェストファイルから当該受信装置の画面サイズや伝送路ネットワーク帯域の状態などを考慮して、適時品質を選択して次々とセグメントを受信し、1本の動画コンテンツにつなぎ合わせて再生するものである(例えば、非特許文献1参照)。

0004

図6にアダプティブストリーミングの一例を示す。図6では、映像が複数品質でエンコードされ、それぞれの品質毎に数秒単位に分割されたセグメントが生成されている。この例では、エンコーダは映像を低品質のセグメント1〜4、中品質のセグメント1’〜4’、及び高品質のセグメント1”〜4”に分割している。マニフェストファイルには、セグメントのURLや、それぞれの品質毎のビットレートや画像サイズなどの属性情報登録される。セグメント及びマニフェストファイルはWebサーバに供給される。

0005

受信装置は、Webサーバからマニフェストファイルを受信し、マニフェストファイルからビットレートやセグメントの構成を把握し(ステップA)、受信装置の画面サイズやネットワーク受信帯域の状況をもとにセグメント単位で品質を選択し、HTTPプロトコルにより受信する(ステップB)。続いて、受信したセグメントをマニフェストファイルに従って順番通りにつなぎ合わせて再生する(ステップC)。このようにステップB,Cの処理を繰り返すことにより、一連のコンテンツを受信し再生を継続することができる。

0006

受信装置においては、多くのデバイスで普及が進むHTML5ブラウザを利用することにより、マルチデバイス(PC、テレビ受信機タブレット装置等)に対応可能な視聴環境構築することができる。

0007

しかし、従来HTML5ブラウザで動画を再生するための機能であるビデオ要素(videoタグ)では、ソースとしてメディアファイルを参照することしかできなかったため、このようなアダプティブストリーミングの視聴を実現するためには、別途ブラウザプラグインインストールが必要だった。そのため、どのブラウザでも共通で利用できる視聴環境を構築することが困難だった。このような状況から、HTML5ブラウザのビデオ要素(videoタグ)及びJavascript(登録商標)によってアダプティブストリーミングの視聴を実現するための機能として、Webで利用される技術の標準化すすめる国際的な非営利団体であるW3CにおいてMSE(Media Source Extensions)の規格化が進んでいる(例えば、非特許文献2参照)。

0008

MSEを用いることにより、ビデオ要素はソースとしてバッファを参照することが可能となる。そのバッファへはJavascriptによって受信したセグメントを挿入することができるようになることから、多様なアダプティブストリーミングの視聴がHTML5のビデオ要素とJavascriptにより実現可能となる。

0009

ここで、図7を参照してMSEのバッファモデルについて説明する。図7はMSEのバッファモデルの一例を示す図である。バッファ(SourceBuffer)は、再生開始時刻再生開始位置)と再生継続時間(尺)の情報に対応つけてセグメントを管理する。図7では、斜線の入ったブロックがセグメントを示しており、再生開始時刻が0かつ再生継続時間が5秒、再生開始時刻が5かつ再生継続時間が5秒、再生開始時刻が15かつ再生継続時間が5秒のセグメントがバッファに挿入されている。この時、バッファのバッファリング範囲(buffered属性)は0〜10秒、15〜20秒となる。

0010

また、図8に示すように、既にセグメントが挿入されている範囲に再生時刻が重なる別のセグメントを挿入して上書きすることも可能である。図8では、図7に示した例に、新しいセグメントとして再生開始時刻12かつ再生継続時間10秒のセグメントを挿入した例を示している。その結果、12秒から22秒の範囲が新しいセグメントに差し替わるとともに、バッファリング範囲も0〜10秒、12〜22秒に更新されている。

0011

一般にストリーミングを視聴する際には、ネットワークの混雑状況に応じて受信帯域が常に変動することから、バッファ容量許す限り現在の再生時刻よりも数秒から数十秒先のデータまで受信してバッファに挿入しておくことにより、視聴の安定性を向上することができる。

0012

コンテンツの視聴においては、コンテンツの最初から最後まで通して視聴する場合もあるが、視聴中にコンテンツの任意の位置を指定して再生を行うシーク再生をする場合もありうる。しかしながら、シーク再生をしようとする場合、バッファ容量の最大値近くまで未再生のセグメントが残っていると、指定した位置(時刻)のセグメントを受信してもバッファに挿入することができず、再生を開始できない可能性があった。

0013

図9シーク動作時に再生を開始できない例を示す。図9では、バッファは3個分のセグメントを挿入可能な容量を確保しているとする。現在の再生時刻は15であり、バッファには15秒〜30秒のセグメントが挿入されている。この状態で、時刻5の位置へのシークを行ったとする。このとき、15秒から30秒のセグメントは未再生の状態でバッファに残されている。この状態で時刻5のセグメントを取得しても、バッファに3個分のセグメントが残り続けているため、バッファに挿入することができない。したがって、シーク再生を始めることができない状況に陥っている。

0014

MSEでは、非特許文献3に示すバージョン以降においては、removeメソッドというAPIが追加され、任意の範囲を指定してバッファのセグメントを消去することが可能である。

0015

また、特許文献1には、データをバッファに溜める際に、バッファ容量が一杯だった場合に、再生済みデータの中から古いデータを優先的に消去することや、再生済みデータがバッファに残っていない場合は、任意の位置指定前にバッファに残っているデータの中から新しいデータを優先的に消去する技術が開示されている。

0016

特開2013−16920号公報

先行技術

0017

“次世代動画配信技術「MPEG−DASH」技術概要と標準化・関連技術動向”,映像情報メディア学会誌,Vol.67, No.2, 2013, p.109-115
W3C、“Media Source Extensions W3C Candidate Recommendation 17 July 2014”、[2015年1月6日検索]、インターネットURL:http://www.w3.org/TR/media-source/
W3C、“Media Source Extensions W3C Editor's Draft 25 February 2013”、[2015年1月6日検索]、インターネット

発明が解決しようとする課題

0018

しかしながら、非特許文献3に示すバージョンよりも前のバージョンが実装された受信装置が既に数多く存在しており、それらの受信装置ではremoveメソッドを用いてバッファのセグメントを消去することができなかった。

0019

また、特許文献1に開示された技術によれば、ストリーミング再生でユーザが任意の位置を指定して再生を行うときに生じていた待ち時間に、見かけシームレス切替えを行うことができるが、MSEを用いる場合はバッファからデータを消去する方法は実装依存となっており、この技術を必ずしも適用できるとは限らなかった。

0020

かかる事情に鑑みてなされた本発明の目的は、ストリーミング再生においてシーク動作を安定に行うことを可能とする受信装置、バッファ管理方法、及びプログラムを提供することにある。

課題を解決するための手段

0021

上記課題を解決するため、本発明に係る受信装置は、複数のセグメントから構成されるコンテンツをセグメント毎に受信してストリーミング再生を行う受信装置であって、再生開始時刻及び再生継続時間の情報に対応付けてセグメントを保存するバッファと、シーク再生命令を受信した時に、前記バッファにおいてセグメントが挿入されている範囲を示すバッファ済みセグメント範囲のうち、シーク再生命令により指定された再生時刻である新規再生時刻を含まない範囲である冗長セグメント範囲の情報を取得するバッファ制御部と、前記冗長セグメント範囲を含む範囲のセグメントであって、前記冗長セグメント範囲に保存されたデータよりもサイズの小さいダミーデータをエンコードしたセグメントである極小セグメントを生成する極小セグメント生成部と、前記バッファからセグメントを読み出しデコードする再生部と、を備え、前記バッファ制御部は、前記冗長セグメント範囲を前記極小セグメントで上書きすることにより、前記バッファの空き容量を確保することを特徴とする。

0022

さらに、前記受信装置において、前記極小セグメント生成部は、黒画像をエンコードして前記極小セグメントを生成することを特徴とする。

0023

さらに、前記受信装置において、前記極小セグメント生成部は、予め記憶されたテンプレートセグメントを連結することにより前記極小セグメントを生成することを特徴とする。

0024

また、上記課題を解決するため、本発明に係るバッファ管理方法は、複数のセグメントから構成されるコンテンツをセグメント毎に受信してストリーミング再生を行う受信装置におけるバッファ管理方法であって、再生開始時刻及び再生継続時間の情報に対応付けてセグメントをバッファに保存するステップと、シーク再生命令を受信した時に、前記バッファにおいてセグメントが挿入されている範囲を示すバッファ済みセグメント範囲のうち、シーク再生命令により指定された再生時刻である新規再生時刻を含まない範囲である冗長セグメント範囲の情報を取得するステップと、前記冗長セグメント範囲を含む範囲のセグメントであって、前記冗長セグメント範囲に保存されたデータよりもサイズの小さいダミーデータをエンコードしたセグメントである極小セグメントを生成するステップと、前記冗長セグメント範囲を前記極小セグメントで上書きすることにより、前記バッファの空き容量を確保するステップと、前記バッファからセグメントを読み出してデコードするステップと、を含むことを特徴とする。

0025

また、上記課題を解決するため、本発明に係るプログラムは、コンピュータを、上記受信装置として機能させることを特徴とする。

発明の効果

0026

本発明によれば、ストリーミング再生を行う際に、バッファから任意のセグメントを指定して消去する機能が無くても、安定したシーク動作が可能となる。

図面の簡単な説明

0027

本発明の一実施形態に係る受信装置の構成例を示す図である。
MPD(Media Presentation Description)の一例を示す図である。
本発明の一実施形態に係る受信装置におけるテンプレートセグメントの一例を示す図である。
本発明の一実施形態に係る受信装置のバッファ管理方法を示すフローチャートである。
本発明の一実施形態に係る受信装置において、極小セグメントをバッファに上書き挿入する例を示す図である。
従来のアダプティブストリーミングの一例を示す図である。
従来のMSEのバッファモデルの一例を示す図である。
従来のMSEのバッファモデルにおいて、セグメントをバッファに上書き挿入する例を示す図である。
従来のMSEのバッファモデルにおいて、シーク動作時に再生を開始できない例を示す図である。

実施例

0028

以下、本発明の一実施形態について、図面を参照して詳細に説明する。以下に説明する本実施形態では一例として、マニフェストファイルをMPEG−DASH(ISO/IEC23009−1)のMPD(Media Presentation Description)形式とし、セグメントをISOBMFF(ISO/IEC14496−12)形式とする。

0029

図1は、本発明の一実施形態に係る受信装置の構成例を示す図である。受信装置1と配信サーバ2はインターネットを介して接続される。受信装置1は、配信サーバ2から複数のセグメントにより構成されるコンテンツをセグメント毎に受信し、ストリーミング再生を行う。

0030

配信サーバ2は、受信装置1によって指定されたURLのマニフェストファイルやセグメントを配信するサーバであり、例えば一般的なWebサーバとすることができる。

0031

図1の例では、受信装置1は、通信I/F10と、マニフェスト受信部11と、セグメントリクエスト部12と、バッファ13と、バッファ制御部14と、極小セグメント生成部15と、再生部16と、再生制御部17と、再生制御ユーザI/F18と、表示部19とを備える。

0032

マニフェスト受信部11は、配信サーバ2から通信I/F10を介して所望のコンテンツのマニフェストファイル(MPD)を受信し、マニフェストファイルをもとに再生時刻とセグメントのURLとを対応付けたセグメントURLリストを生成し、セグメントリクエスト部12に出力する。

0033

図2にMPDの一例を示す。MPDはPeriod,AdaptationSet,Representationの順に階層構造となっている。Periodは番組を時間方向に一つ又は複数に区切った一区画を示している。図2の例では開始時刻が0であり、時間が3分間であることを示している。Periodは一つ又は複数(図2の例では一つ)のAdaptationSetから構成される。AdaptationSetはメディアのコンポーネント(映像、音声テキスト等)の情報を示しており、同じメディアでパラメータ(ビットレートや画面サイズ、音声のチャンネル数など)の異なる複数(図2の例では一つ)のコンポーネントを含むことができる。AdaptationSetに含まれるそれぞれのメディアのコンポーネントの情報はRepresentationで示される。Representationは一つ又は複数のセグメントで構成される。

0034

ある再生時刻におけるセグメントのURLは、MPDの情報から求めることができる。図6に示すMPDを例に説明する。2行目のstartの値から、Periodの開始時刻は0である。4行目のtimescaleの値から、AdaptationSetのタイムスケール(1秒間の目盛数)は、90000である。6行目のdurationの値から、セグメントの継続時間は、450000である。6行目のstartNumberの値から、セグメントの開始番号は1である。以上から、ある再生時刻t(秒)に対するセグメント番号Numberは以下の式(1)で算出できる。なお、少数以下を切り捨てとする。
Number = (t - start)× timescale/duration + startNumber (1)

0035

次に、6行目のmediaの値から、セグメントのURLのテンプレート“content_v_$Number$.mp4”を取得し、$Number$を先に算出したNumber値差し替えることにより、セグメントのURLを取得することができる。

0036

再び図1戻り、セグメントリクエスト部12は、バッファ制御部14から取得対象のセグメントの再生時刻情報を入力し、該入力した再生時刻情報に対応するセグメントのURLをセグメントURLリストから抽出し、該抽出したセグメントのURLを含むセグメントリクエストを配信サーバ2に要求し、該要求に対応するセグメントを受信する。

0037

バッファ13は、バッファ制御部14からセグメントを入力し、セグメントの再生開始時刻及び再生継続時間を対応付けてセグメントを保存し、現在の保存中の全セグメントの再生時刻及び再生継続時間の情報をバッファ制御部14に出力する。また、再生部16から要求された再生時刻のセグメントを順次再生部16に出力する。

0038

再生制御ユーザI/F18は、ユーザの操作によって再生を制御する機能である。再生開始・停止ボタンを用意するとともに、コンテンツの開始時刻及び終了時刻を表示し、さらに再生制御部17から入力する再生時刻情報をもとに、現在の再生位置をグラフカルに表示してもよい。例えば、再生画面の下部にコンテンツの開始時刻を左端、終了時刻を右端とする横長の棒状で表示し、それと重なるようにつまみ状の操作部分を配置し、つまみ上の操作部分を再生が進むにつれて左端から右端に移動させることによって、ユーザは再生時間全体のうち今どの部分を再生しているのかを一目で把握することができる。

0039

また、このつまみをマウス等のユーザ操作によって動かすことにより、任意の再生位置を指定できるようにしてもよい。ユーザ操作によって、再生開始命令停止命令、シーク再生命令、及び新規再生時刻情報を再生制御部17に出力する。

0040

再生制御部17は、現在の再生状態再生中、停止中)及び再生部16から入力される再生時刻情報を再生制御ユーザI/F18に出力する。また、再生制御ユーザI/F18から再生開始命令、停止命令が入力されると、再生部16に再生開始・停止を指示する。また、再生制御ユーザI/F18からシーク再生(再生位置変更命令が入力されると、変更後の再生時刻を示す情報である新規再生時刻情報をバッファ制御部14に出力し、バッファ制御部14からバッファ規定値を超えたことを示す通知が入力されると、再生部16に新規再生時刻情報を出力するとともに、再生開始を指示する。

0041

再生部16は、再生制御部17から再生開始命令及び新規再生時刻情報を入力したら、当該新規再生時刻情報が示す再生開始時刻のセグメントを順次バッファ13から読み出しし、該読み出したセグメントをセグメントのメディアの形式(映像、音声、テキスト等)に従ってデコードして表示部19に出力するとともに、再生とともに更新される再生時刻の情報である再生時刻情報を再生制御部17に出力する。再生制御部17から停止命令を入力した場合は、再生を停止する。

0042

表示部19は、再生部16から入力されたデコード済みのメディアデータをそのメディアの形式に従って表示する。

0043

バッファ制御部14は、再生制御部17から新規再生時刻情報が入力されると、バッファ13においてセグメントが挿入されている範囲を示すバッファ済みセグメント範囲のうち、新規再生時刻を含まない範囲である冗長セグメント範囲の情報を取得する。冗長セグメント範囲の情報とは、冗長セグメント範囲の開始時刻を示す上書き開始時刻、及び冗長セグメント範囲の継続時間を示す上書き継続時間である。

0044

極小セグメント生成部15は、冗長セグメント範囲を含む範囲のセグメントであって、冗長セグメント範囲に保存されたデータよりもサイズの小さいダミーデータをエンコードしたセグメントである極小セグメントを生成し、バッファ制御部14に出力する。つまり、バッファ制御部14から上書き開始時刻情報及び上書き継続時間情報を入力すると、該入力した上書き開始時刻情報(又はそれよりも少し前)から始まり、上書き継続時間情報よりも長い極小セグメントを生成する。ダミーデータはサイズの小さいデータであれば特に限定されるものではないが、例えば黒画像とすることができる。

0045

極小セグメント生成部15は、極小セグメントを予め記憶されたテンプレートセグメントを連結することにより生成してもよい。ここでテンプレートセグメントとは、データサイズが小さいダミーのメディアデータをエンコードして予めセグメント化したものである。テンプレートセグメントは、受信装置1に記憶しておくこともできるし、コンテンツ再生開始時に、例えば配信サーバ2から取得するようにしてもよい。極小セグメントは、上書き開始時刻情報及び上書き継続時間情報をもとにテンプレートセグメントのパラメータを差し替えたデータとすることで生成される。

0046

ここで、図3を参照して、テンプレートセグメントの一例を説明する。図3は、テンプレートセグメントを、ISOBMFF(ISO/IEC14496−12)形式とした場合の一例である。なお、一つのセグメントにMovie Fragmentを複数含むことも可能であるが、本例では一つとする。

0047

本発明に関連する一部のパラメータについて説明する。sidxに含まれるtimescaleはタイムスケールを表している。earliest_presentation_timeは、このセグメントの最初のMovie Fragmentの最初の動画データの再生時刻を示している。subsegment_durationは、このMovie Fragment毎の再生継続時間を示している。また、Movie Fragment内の、moof/traf/tfdtに含まれるbaseMediaDecodeTimeは、当該Movie Fragmentのデコード時刻を示している。例えば、timescale=90000とした場合、再生開始時刻10、再生継続時間5秒のセグメントのearliest_presentation_time=baseMediaDecodeTime=timescale×10=900000となる。また、subsegment_duration=timescale×5=450000となる。

0048

つまり、上書き開始時刻15、上書き継続時間5秒の極小セグメントを生成するには、earliest_presentation_timeを1350000に修正すればよい。なお、再生継続時間を修正しようとすると、mdat内部の情報まで修正範囲が及ぶことから処理負荷が大きくなる。そのため、テンプレートセグメントを再生継続時間が上書き継続時間を上回るまで複数連結することで、再生継続時間を修正せずに、所望の極小セグメントを生成することができる。例えば、再生継続時間がそれぞれ1秒,2秒,5秒のテンプレートセグメントを用意しておき、上書き継続時間の長さに応じて適宜組み合わせることもできる。

0049

(バッファ管理方法)
次に、本発明における受信装置1のシーク動作時のバッファ管理方法について説明する。

0050

図4は、本発明の一実施形態に係るバッファ管理方法を示すフローチャートである。本フローチャートは、既にマニフェストファイルを取得しており、セグメントURLリストも作成済みの状態から開始するものとする。また、ネットワークの混雑状況に応じて受信帯域が常に変動することを見越して、再生開始時刻を起点として、予め設定したバッファ規定値(例えば5秒)以上のセグメントがバッファ13に挿入されてから再生を開始するものとする。

0051

また、バッファ13は、コンテンツの開始時刻から終了時刻までの範囲を持っており、セグメントを再生開始時刻と再生継続時刻の情報と対応つけて保存しているものとする。また、バッファ13にコンテンツのセグメントが挿入されている範囲をバッファ済みセグメント範囲と称する。

0052

まず、再生制御ユーザI/F18からシーク操作が実行され、シーク再生命令を受信したら(ステップS001)、再生制御部17は、シーク再生命令から新規再生時刻情報を抽出しバッファ制御部14に出力する(ステップS002)。

0053

次に、バッファ制御部14は、バッファ13内に新規再生時刻から予め設定したバッファ規定値以上の範囲のセグメントが存在するか否かを確認する(ステップS003)。ステップS003がYESの場合はバッファ13に保存されたデータをそのまま再生可能であるため、再生制御部17において再生を開始する(ステップS013)。一方、ステップS003がNOの場合は、データを取得する必要があるため、バッファ13に1セグメント分の空き容量が存在するか否かを確認する(ステップS004)。

0054

バッファ13に1セグメント分の空き容量が存在しない場合は(ステップS004−NO)、バッファ13内に新規再生時刻を含まないバッファ済みセグメント範囲である冗長セグメント範囲が存在するか否かを確認する(ステップS005)。バッファ13内に冗長セグメント範囲が存在する場合は(ステップS005−YES)、冗長セグメント範囲を抽出し、冗長セグメント範囲の最小値を上書き開始時刻、冗長セグメント範囲の長さを上書き継続時間として極小セグメント生成部15に出力し、極小セグメント生成部15は該入力した上書き開始時刻及び上書き継続時間をもとに極小セグメントを生成し、バッファ制御部14に出力する(ステップS006)。バッファ制御部14は入力された極小セグメントをバッファ13に挿入して冗長セグメント範囲を上書きし(ステップS007)、ステップS004に戻る。

0055

図5は、極小セグメントをバッファ13に上書き挿入する例を示す図である。図5に示すように、例えばバッファ13に開始時刻15から開始時刻30までの15秒間のセグメントが保存されており、新規再生時刻が5であった場合、バッファ13に保存されたセグメントは無駄(冗長)なセグメントと考えることができる。よって、この場合は開始時刻15から30を冗長セグメント範囲とし、この冗長セグメント範囲に、生成した極小セグメントを上書きする。この図では極小セグメントのデータ容量が小さいことを示すために、極小セグメントの面積を擬似的に小さく表示している。このようにしてデータ量の小さい極小セグメントを上書きすることにより、空き容量を確保することができる。

0056

次に、ステップS005に戻り、バッファ13内に冗長セグメント範囲が存在しない場合は(ステップS005−NO)、バッファ13から再生済みセグメントが消去されるまで待機し(ステップS008)、ステップS004に戻る。

0057

ステップS004に戻り、バッファ13に1セグメント分の空き容量が存在する場合は(ステップS004−YES)、セグメントリクエスト部12は以下の動作を行う。バッファ13内に新規再生時刻を含むセグメントが存在しない場合には、新規再生時刻を含むセグメントのURLが、セグメントURLリストに存在するか否かを確認する(ステップS009)。また、バッファ13内に新規再生時刻を含むセグメントが存在する場合には、新規再生時刻を含むバッファ済みセグメント範囲の最大値を含むセグメントに続くセグメント(すなわち、新規再生時刻を含むバッファ済みセグメントに続くセグメント)のURLが、セグメントURLリストに存在するか否かを確認する(ステップS009)。該セグメントのURLがセグメントURLリストに存在する場合は(ステップS009−YES)、セグメントURLリストから当該セグメントのURLを抽出する。セグメントリクエスト部12は、該抽出したセグメントのURLを含むセグメント要求を配信サーバ2に送信し、該要求に対応するセグメントを受信しバッファ制御部14に出力する(ステップS010)。バッファ制御部14は該受信したセグメントをバッファ13に挿入する(ステップS011)。

0058

ステップS009がNOの場合は、何もせずにステップS012に移行する。ステップS012では再生制御部17において現在再生中か否かを確認し、再生が開始されていない場合は(ステップS012−NO)、ステップS003に戻る。一方、再生が開始されている場合は(ステップS012−YES)、バッファ13の最後に到達したか、再生制御ユーザI/F18において停止ボタンが押されたか否かを確認し、いずれも満たさない場合は(ステップS014−NO)、ステップS004に戻る。いずれかを満たした場合は(ステップS014−YES)、再生を停止し、処理を終了する。

0059

以上により、バッファ13内にセグメントを挿入するのに必要な空き容量が不足している場合にも、新規再生時刻を含まないバッファ済みセグメント範囲である冗長セグメント範囲を極小セグメントで上書きすることにより、迅速に空き容量を確保することが可能となり、シーク操作後の再生開始までの時間を短縮して安定した再生が可能となる。

0060

一例をあげると、8Mbpsで再生継続時間が5秒のセグメントが5MBであるのに対し、黒画像をエンコードした5秒の極小セグメントが約7KBであることから、冗長セグメント範囲を極小セグメントで上書きすることにより、5MB(4.993MB)近くの空き容量を確保することが可能となる。

0061

上述したように、受信装置1は、シーク再生命令を受信した時に、冗長セグメント範囲を極小セグメントで上書きすることにより、バッファ13の空き容量を確保することができる。かくして、受信装置1は、バッファ13から任意のセグメントを指定して消去する機能が無くても、安定してシーク動作を行うことが可能となる。

0062

なお、上述した受信装置1として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、受信装置1の各機能を実現する処理内容を記述したプログラムを該コンピュータの記憶部に格納しておき、該コンピュータのCPUによってこのプログラムを読み出して実行させることで実現することができる。なお、このプログラムは、コンピュータ読取り可能な記録媒体に記録可能である。

0063

上述の実施形態は代表的な例として説明したが、本発明の趣旨及び範囲内で、多くの変更及び置換ができることは当業者に明らかである。したがって、本発明は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば、実施形態に記載の複数の構成ブロックやステップを1つに組み合わせたり、あるいは1つの構成ブロックやステップを分割したりすることが可能である。

0064

1受信装置
2配信サーバ
10通信I/F
11マニフェスト受信部
12セグメントリクエスト部
13バッファ
14バッファ制御部
15極小セグメント生成部
16再生部
17再生制御部
18 再生制御ユーザI/F
19 表示部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ