JP6581884B2 - Reception device, buffer management method, and program - Google Patents
Reception device, buffer management method, and program Download PDFInfo
- Publication number
- JP6581884B2 JP6581884B2 JP2015227891A JP2015227891A JP6581884B2 JP 6581884 B2 JP6581884 B2 JP 6581884B2 JP 2015227891 A JP2015227891 A JP 2015227891A JP 2015227891 A JP2015227891 A JP 2015227891A JP 6581884 B2 JP6581884 B2 JP 6581884B2
- Authority
- JP
- Japan
- Prior art keywords
- segment
- buffer
- content
- filler
- playback
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000007726 management method Methods 0.000 title claims description 11
- 239000000945 filler Substances 0.000 claims description 49
- 238000009826 distribution Methods 0.000 description 15
- 238000000034 method Methods 0.000 description 14
- 230000003139 buffering effect Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 239000012634 fragment Substances 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000010365 information processing Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000012092 media component Substances 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000002250 progressing effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Description
本発明は、複数のセグメントから構成されるコンテンツをセグメントごとに受信してストリーミング再生を行う受信装置、該受信装置のバッファ管理方法、及び該受信装置として機能させるためのプログラムに関する。 The present invention relates to a receiving apparatus that receives content composed of a plurality of segments for each segment and performs streaming reproduction, a buffer management method for the receiving apparatus, and a program for causing the receiving apparatus to function.
昨今のインターネットにおけるストリーミング動画配信では、専用のサーバと専用のプロトコルによるストリーミング配信方式から、汎用的なWebサーバによりHTTPプロトコルを用いてストリーミング配信する方式への移行が進んでおり、多くのデバイス向けの配信において主流となっている。このようなHTTPプロトコルによるストリーミング配信方式(アダプティブストリーミング)としては、ITベンダによる独自技術が普及している他、これらストリーミング方式の統一を意図した国際標準規格であるMPEG−DASH(ISO/IEC23009−1)が策定された。 In the streaming video distribution on the Internet nowadays, a transition from a streaming distribution method using a dedicated server and a dedicated protocol to a streaming distribution method using an HTTP protocol by a general-purpose Web server is progressing. It has become mainstream in distribution. As such a streaming distribution method (adaptive streaming) based on the HTTP protocol, an original technology by an IT vendor is prevalent, and MPEG-DASH (ISO / IEC 2309-1) which is an international standard intended to unify these streaming methods. ) Was formulated.
いずれの技術も基本的なコンセプトは同様であり、Webサーバには動画コンテンツを一つ又は複数の品質(画面サイズやビットレート)でエンコードしたストリームをそれぞれ数秒から数十秒程度のファイルに分割したもの(セグメント)と、それらの動画コンテンツの属性やURLを記述したマニフェストファイルを用意する。受信装置はマニフェストファイルから当該受信装置の画面サイズや伝送路のネットワーク帯域の状態等を考慮して、適時品質を選択して次々とセグメントを受信し、1本の動画コンテンツにつなぎ合わせて再生するものである(例えば、非特許文献1参照)。 The basic concept is the same for both technologies. The web server divides a stream in which video content is encoded with one or more qualities (screen size and bit rate) into files of several seconds to tens of seconds each. Manifest files that describe things (segments) and attributes and URLs of the moving image contents are prepared. The receiving device receives the segments one after another by selecting the timely quality from the manifest file in consideration of the screen size of the receiving device and the state of the network bandwidth of the transmission path, etc., and joins and plays back one segment of video content (For example, refer nonpatent literature 1).
図5にアダプティブストリーミングの一例を示す。図5では、映像が複数品質でエンコードされ、それぞれの品質ごとに数秒単位に分割されたセグメントが生成されている。この例では、エンコーダは映像を低品質のセグメント1〜4、中品質のセグメント1’〜4’、及び高品質のセグメント1”〜4”に分割している。マニフェストファイルには、セグメントのURLや、それぞれの品質ごとのビットレートや画像サイズ等の属性情報が登録される。セグメント及びマニフェストファイルはWebサーバに供給される。
FIG. 5 shows an example of adaptive streaming. In FIG. 5, the video is encoded with a plurality of qualities, and segments divided into units of several seconds are generated for each quality. In this example, the encoder splits the video into low quality segments 1-4, medium quality segments 1'-4 ', and
受信装置は、Webサーバからマニフェストファイルを受信し、マニフェストファイルからビットレートやセグメントの構成を把握し(ステップA)、受信装置の画面サイズやネットワークの受信帯域の状況をもとにセグメント単位で品質を選択し、HTTPプロトコルにより受信する(ステップB)。続いて、受信したセグメントをマニフェストファイルに従って順番通りにつなぎ合わせて再生する(ステップC)。このようにステップB,Cの処理を繰り返すことにより、一連のコンテンツを受信し再生を継続することができる。 The receiving device receives the manifest file from the Web server, grasps the bit rate and segment configuration from the manifest file (step A), and determines the quality in units of segments based on the screen size of the receiving device and the status of the network receiving bandwidth. Is received by the HTTP protocol (step B). Subsequently, the received segments are connected in order according to the manifest file and reproduced (step C). Thus, by repeating the processes of steps B and C, a series of contents can be received and played back.
受信装置においては、多くのデバイスで普及が進むHTML5ブラウザを利用することにより、マルチデバイス(PC、テレビ受信機、タブレット装置等)に対応可能な視聴環境を構築することができる。 In the receiving apparatus, a viewing environment compatible with multi-devices (PCs, television receivers, tablet devices, etc.) can be constructed by using an HTML5 browser that is widely used in many devices.
しかし、従来HTML5ブラウザで動画を再生するための機能であるビデオ要素(videoタグ)では、ソースとしてメディアファイルを参照することしかできなかったため、このようなアダプティブストリーミングの視聴を実現するためには、別途ブラウザプラグインのインストールが必要だった。そのため、どのブラウザでも共通で利用できる視聴環境を構築することが困難だった。このような状況から、HTML5ブラウザのビデオ要素(videoタグ)及びJavascript(登録商標)によってアダプティブストリーミングの視聴を実現するための機能として、Webで利用される技術の標準化をすすめる国際的な非営利団体であるW3CにおいてMSE(Media Source Extensions)の規格化が進んでいる(例えば、非特許文献2参照)。
However, since a video element (video tag) that is a function for playing back a moving image in an HTML5 browser can only refer to a media file as a source, in order to realize such adaptive streaming viewing, It was necessary to install a browser plug-in separately. For this reason, it was difficult to build a viewing environment that can be used by all browsers. Under such circumstances, an international non-profit organization that promotes standardization of technologies used on the Web as a function for realizing adaptive streaming viewing using video elements (video tags) of HTML5 browser and Javascript (registered trademark). In W3C, standardization of MSE (Media Source Extensions) is progressing (see Non-Patent
MSEを用いることにより、ビデオ要素はソースとしてバッファを参照することが可能となる。そのバッファへはJavascriptによって受信したセグメントを挿入することができるようになることから、多様なアダプティブストリーミングの視聴がHTML5のビデオ要素とJavascriptにより実現可能となる。 By using MSE, video elements can refer to a buffer as a source. Since the segment received by Javascript can be inserted into the buffer, various adaptive streaming viewing can be realized by the video element of HTML5 and Javascript.
ここで、図6を参照してMSEのバッファモデルについて説明する。図6はMSEのバッファモデルの一例を示す図である。バッファ(SourceBuffer)は、セグメント開始時刻と再生継続時間に対応付けてセグメントを管理する。図6では、斜線の入ったブロックがセグメントを示しており、セグメント単位の再生開始時刻であるセグメント開始時刻が0秒かつ再生継続時間が5秒、セグメント開始時刻が5秒かつ再生継続時間が5秒、及びセグメント開始時刻が15秒かつ再生継続時間が5秒の3つのセグメントがバッファに挿入されている。この時、バッファのバッファリング範囲(buffered属性)は0〜10秒、15〜20秒となる。 Here, the buffer model of MSE will be described with reference to FIG. FIG. 6 is a diagram illustrating an example of an MSE buffer model. The buffer (SourceBuffer) manages segments in association with the segment start time and playback duration. In FIG. 6, hatched blocks indicate segments, the segment start time, which is the playback start time for each segment, is 0 seconds, the playback duration is 5 seconds, the segment start time is 5 seconds, and the playback duration is 5 seconds. Three segments having a second and a segment start time of 15 seconds and a playback duration of 5 seconds are inserted in the buffer. At this time, the buffering range (buffered attribute) of the buffer is 0 to 10 seconds and 15 to 20 seconds.
また、図7に示すように、既にセグメントが挿入されている範囲に再生時刻が重なる別のセグメントを挿入して上書きすることも可能である。図7では、図6に示した例に、新しいセグメントとして、セグメント開始時刻が12秒かつ再生継続時間が10秒のセグメントを挿入した例を示している。その結果、12秒から22秒の範囲が新しいセグメントに差し替わるとともに、バッファリング範囲も0〜10秒、12〜22秒に更新されている。 In addition, as shown in FIG. 7, it is possible to insert another segment whose playback time overlaps the range where the segment has already been inserted and overwrite it. FIG. 7 shows an example in which a segment having a segment start time of 12 seconds and a playback duration of 10 seconds is inserted as a new segment in the example shown in FIG. As a result, the range of 12 to 22 seconds is replaced with a new segment, and the buffering range is also updated to 0 to 10 seconds and 12 to 22 seconds.
動画のストリーミングサービスの提供方法として、一つの番組の途中にCM等の動画クリップを挿入することや、放送のように編成に従って番組を次々と提供すること等、時系列に連結されたコンテンツを切り替えながら視聴するサービス形態が考えられる。MPEG−DASHにおいては、このようなサービスを可能とするマニフェストファイルの記述方法が定義されている。 As a method of providing a streaming service for moving images, the switching of content linked in time series, such as inserting video clips such as CMs in the middle of one program, or providing programs one after another according to the organization like broadcasting, etc. However, a service form for viewing is conceivable. In MPEG-DASH, a manifest file description method that enables such a service is defined.
図8にMPEG−DASHのMPD(Media Presentation Description)形式のマニフェストファイルの概念図を示す。MPD形式ではPeriod,AdaptationSet,Representationの順に階層構造となっている。Periodはマニフェストファイルを時間方向に区切った一区画(一つのコンテンツ)を示しており、図8の例では、それぞれのコンテンツ尺(duration)が300秒、30秒、300秒のPeriodが連結されていることを示している。Periodは一つ又は複数のAdaptationSetから構成される。 FIG. 8 shows a conceptual diagram of a manifest file in the MPEG-DASH MPD (Media Presentation Description) format. The MPD format has a hierarchical structure in the order of Period, AdaptationSet, and Representation. Period indicates a section (one content) obtained by dividing the manifest file in the time direction. In the example of FIG. 8, each content duration is 300 seconds, 30 seconds, and 300 seconds of Period. It shows that. Period is composed of one or a plurality of AdaptationSets.
AdaptationSetはメディアのコンポーネント(映像、音声、テキスト等)の情報を示しており、同じメディアでパラメータ(ビットレートや画面サイズ、音声のチャンネル数等)の異なる複数のコンポーネントを含むことができる。AdaptationSetに含まれるそれぞれのメディアのコンポーネントの情報はRepresentationで示される。Representationは一つ又は複数のセグメントで構成される。 AdaptationSet indicates information on media components (video, audio, text, etc.), and can include a plurality of components with different parameters (bit rate, screen size, audio channel number, etc.) on the same media. Information of each media component included in the AdaptationSet is indicated by Representation. Representation is composed of one or a plurality of segments.
このようなマニフェストファイルとすることで、再生時刻に従って、時系列に連結されたコンテンツを形成するセグメント(図8のInitialization Segment,Media Segment)を順次受信することが可能となる。 By using such a manifest file, it becomes possible to sequentially receive segments (Initialization Segment, Media Segment in FIG. 8) that form content connected in time series in accordance with the playback time.
また、ストリーミング再生におけるコンテンツの切り替えに関しては、バッファ量が不足した場合に、再生コンテンツの区切りが良い時点において、再生するコンテンツを切り替えることができる情報処理装置、及び情報処理方法が知られている(例えば、特許文献1参照)。 Regarding content switching in streaming playback, an information processing apparatus and an information processing method are known that can switch content to be played back when the playback content is good when the buffer amount is insufficient ( For example, see Patent Document 1).
しかしながら、上述した時系列に連結されたコンテンツを再生しようとすると、コンテンツが異なるエンコーダにより生成されていた場合等に、Periodのdurationの値よりもコンテンツを構成する全セグメントの時間尺がわずかに短くなることがある。すると、コンテンツの切り替え時(Periodの変わり目)にバッファ内に時間的な隙間が生じてしまう。 However, when trying to play back the content linked in time series as described above, if the content is generated by a different encoder, the time length of all segments constituting the content is slightly shorter than the duration value of Period. May be. Then, a time gap is generated in the buffer at the time of content switching (change of Period).
図9にバッファ内に時間的な隙間が生じる例を示す。図9では切り替え前のPeriodをPeriod#1、切り替え後のPeriodをPeriod#2としており、Period#1のdurationパラメータが300秒、Period#1の全セグメントの合計の時間尺が299.9秒の例を示している。この場合、Period#1とPeriod#2の連結部分においてバッファに0.1秒の隙間が生じてしまう。このような場合に、Periodの変わり目で再生が停止してしまうおそれがあった。
FIG. 9 shows an example in which a time gap is generated in the buffer. In FIG. 9, the period before switching is
また、特許文献1には、ストリーミング再生におけるコンテンツの切り替えに関して、バッファ量が不足した場合に、再生コンテンツの区切りが良い時点において、再生するコンテンツを切り替えることが記載されているが、上記課題のようなバッファの細部の状況については触れておらず、課題の解決に必ずしも利用できる手法ではなかった。
Also,
かかる事情に鑑みてなされた本発明の目的は、時系列に連結されたコンテンツから構成される番組をストリーミング再生する際に、コンテンツの切り替えをスムーズに行うことができる受信装置、バッファ管理方法、及びプログラムを提供することにある。 An object of the present invention made in view of such circumstances is a receiving apparatus, a buffer management method, and a buffer management method capable of smoothly switching contents when streaming a program composed of contents linked in time series. To provide a program.
上記課題を解決するため、本発明に係る受信装置は、複数のセグメントから構成されるコンテンツが時系列に連結されて構成される番組を、セグメントごとに受信してストリーミング再生を行う受信装置であって、セグメントを取得するセグメント取得部と、前記セグメントを、セグメント開始時刻及び再生継続時間を対応付けて保存するバッファと、前記バッファに保存されたコンテンツを構成する全セグメントの時間尺が、前記コンテンツの尺を示すメタ情報から得られるコンテンツ尺よりも短い場合に、再生継続時間が前記コンテンツ尺及び前記全セグメントの時間尺の差分以上のフィラーセグメントを生成するフィラーセグメント生成部と、前記フィラーセグメントを前記コンテンツの最後のセグメントに続けて前記バッファに挿入するバッファ制御部と、を備えることを特徴とする。 In order to solve the above problems, a receiving apparatus according to the present invention is a receiving apparatus that receives a program composed of a plurality of segments connected in time series and performs streaming playback for each segment. A segment acquisition unit for acquiring a segment, a buffer for storing the segment in association with a segment start time and a playback continuation time, and a time scale for all the segments constituting the content stored in the buffer. A filler segment generation unit that generates a filler segment that is equal to or greater than the difference between the content scale and the time scale of all the segments when the content length obtained from the meta information indicating the scale is shorter than the content scale, and the filler segment Insert into the buffer following the last segment of the content A buffer control unit that, characterized in that it comprises a.
さらに、本発明に係る受信装置は、前記フィラーセグメント生成部は、前記バッファに挿入されたセグメントのメディア形式が映像の場合には、前記フィラーセグメントを白画像又は黒画像をエンコードしたセグメントとすることを特徴とする。 Furthermore, in the receiving apparatus according to the present invention, the filler segment generation unit, when the media format of the segment inserted in the buffer is video, sets the filler segment as a segment encoding a white image or a black image. It is characterized by.
さらに、本発明に係る受信装置は、前記フィラーセグメント生成部は、前記バッファに挿入されたセグメントのメディア形式が音声の場合には、前記フィラーセグメントを、無音をエンコードしたセグメントとすることを特徴とする。 Furthermore, the receiving device according to the present invention is characterized in that, when the media format of the segment inserted in the buffer is voice, the filler segment generation unit sets the filler segment as a segment encoding silence. To do.
さらに、本発明に係る受信装置は、前記フィラーセグメント生成部は、予め用意されたテンプレートセグメントを連結することにより前記フィラーセグメントを生成することを特徴とする。 Furthermore, the receiving apparatus according to the present invention is characterized in that the filler segment generation unit generates the filler segment by connecting template segments prepared in advance.
また、上記課題を解決するため、本発明に係るバッファ管理方法は、複数のセグメントから構成されるコンテンツが時系列に連結されて構成される番組をセグメントごとに受信してストリーミング再生を行う受信装置におけるバッファ管理方法であって、セグメントを取得するステップと、前記セグメントを、セグメント開始時刻及び再生継続時間を対応付けてバッファに保存するステップと、前記バッファに保存されたコンテンツを構成する全セグメントの時間尺が、前記コンテンツの尺を示すメタ情報であるコンテンツ尺よりも短い場合に、再生継続時間が前記コンテンツ尺及び前記全セグメントの時間尺の差分以上のフィラーセグメントを生成するステップと、前記フィラーセグメントを前記コンテンツの最後のセグメントに続けて前記バッファに挿入するステップと、を含むことを特徴とする。
In order to solve the above-described problem, the buffer management method according to the present invention is a receiving apparatus that receives a program composed of a plurality of segments connected in time series for each segment and performs streaming playback. A buffer management method according to
また、上記課題を解決するため、本発明に係るプログラムは、コンピュータを、上記受信装置として機能させることを特徴とする。 In order to solve the above problems, a program according to the present invention causes a computer to function as the receiving device.
本発明によれば、セグメント開始時刻と再生継続時間の情報に対応つけてセグメントを管理するバッファを用いて時系列に連結されたコンテンツから構成される番組のストリーミング再生を行う受信装置において、マニフェストにおいて設定された個々のコンテンツのコンテンツ尺よりも、コンテンツを構成する全セグメントの時間尺の方が短い場合でも、コンテンツ切り替えがスムーズに行えることにより安定した視聴が可能となる。 According to the present invention, in a receiving apparatus that performs streaming playback of a program composed of contents linked in time series using a buffer that manages segments in association with information on segment start time and playback duration, Even when the time scales of all the segments constituting the content are shorter than the content scales of the set individual contents, the content can be switched smoothly, thereby enabling stable viewing.
以下、本発明の一実施形態について、図面を参照して詳細に説明する。以下に説明する本実施形態では一例として、マニフェストファイルをMPEG−DASH(ISO/IEC23009−1)のMPD(Media Presentation Description)形式とし、セグメントをISOBMFF(ISO/IEC14496−12)形式とする。また、再生時刻のうち、セグメントの先頭に該当する時刻を「セグメント開始時刻」と称する。 Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. In this embodiment described below, as an example, the manifest file is in the MPEG-DASH (ISO / IEC 239-1) MPD (Media Presentation Description) format, and the segment is in the ISOBMFF (ISO / IEC 14496-12) format. Further, the time corresponding to the head of the segment among the reproduction times is referred to as “segment start time”.
図2にマニフェストファイルの一例(抜粋)を示す。図2の例ではコンテンツ尺(duration)が3分のPeriodが二つ連結されており、それぞれのPeriodには、AdaptationSetが一つずつ存在し、さらにそれぞれのAdaptationSetにはRepresentationが一つずつ存在している。 FIG. 2 shows an example (extract) of a manifest file. In the example of FIG. 2, two periods with a content duration of 3 minutes are connected, and each Period has one AdaptationSet, and each AdaptationSet has one Representation. ing.
ある再生時刻におけるセグメントのURLは、マニフェストファイルの情報から求めることができる。図2の例をもとに説明する。2行目のstartの値から、Periodの開始時刻は0である。4行目のtimescaleの値から、AdaptationSetのタイムスケール(1秒間の目盛数)は、90000である。6行目のdurationの値から、セグメントの継続時間は、450000である。6行目のstartNumberの値から、セグメントの開始番号は1である。以上から、ある再生時刻t(秒)に対するセグメント番号は以下の式(1)で算出できる。なお、少数以下は切り捨てる。
Number=(t-start)×timescale/duration+startNumber (1)
The URL of the segment at a certain playback time can be obtained from information in the manifest file. A description will be given based on the example of FIG. From the start value on the second line, the period start time is zero. From the timescale value in the fourth row, the adaptationSet timescale (number of scales per second) is 90000. From the duration value in the sixth row, the duration of the segment is 450,000. From the value of startNumber on the sixth line, the segment start number is 1. From the above, the segment number for a certain reproduction time t (second) can be calculated by the following equation (1). The number below the decimal is rounded down.
Number = (t-start) x timescale / duration + startNumber (1)
次に、6行目のmediaの値から、セグメントのURLのテンプレート“content_v_$Number$.mp4”を取得し、$Number$を先に算出したNumber値に差し替えることにより、セグメントのURLを取得することができる。 Next, the segment URL template “content_v_ $ Number $ .mp4” is acquired from the media value on the sixth line, and the segment URL is acquired by replacing $ Number $ with the previously calculated Number value. be able to.
なお、上記例は図2の一つ目のPeriodを元に説明したが、二つ目のPeriodについても同様に算出できる。また、本実施形態ではMPDファイル全体により再生される情報を「番組」と称し、個々のPeriodにより再生される情報を「コンテンツ」と称する。すなわち、番組はコンテンツが時系列に連結されて構成されたものである。 Although the above example has been described based on the first period of FIG. 2, the second period can be calculated in the same manner. In the present embodiment, information reproduced by the entire MPD file is referred to as “program”, and information reproduced by each period is referred to as “content”. That is, the program is configured by linking contents in time series.
(受信装置の構成)
次に、本発明の一実施形態に係る受信装置の構成例について、図1を参照して説明する。
(Receiver configuration)
Next, a configuration example of a receiving apparatus according to an embodiment of the present invention will be described with reference to FIG.
受信装置1は、インターネットを介して配信サーバ2と接続され、配信サーバ2から複数のセグメントにより構成されるコンテンツをセグメントごとに受信し、ストリーミング再生を行う。
The receiving
配信サーバ2は、受信装置1によって指定されたURLのマニフェストファイルやセグメントを配信するサーバであり、例えば一般的なWebサーバとすることができる。
The
図1に示す受信装置1は、通信I/F10と、マニフェスト取得部11と、セグメント取得部12と、フィラーセグメント生成部13と、バッファ14と、バッファ制御部15と、再生制御部16と、再生制御ユーザI/F17と、再生部18と、表示部19とを備える。
1 includes a communication I /
再生制御ユーザI/F17は、ユーザの操作によって、再生命令及び停止命令を再生制御部16に出力する。再生命令には再生開始時刻を示す再生開始時刻情報が含まれる。
The reproduction control user I /
再生制御ユーザI/F17は、再生開始・停止ボタンを用意するとともに、コンテンツの開始、終了時刻、及び再生制御部16から入力された現在再生時刻情報をもとに、現在の再生時刻(再生位置)をグラフィカルに表示してもよい。例えば、再生画面の下部にコンテンツの開始時刻を左端、終了時刻を右端とする横長の棒状で表示し、それと重なるようにつまみ状の操作部分を配置し、つまみ上の操作部分を再生が進むにつれて左端から右端に移動させることによって、ユーザは再生時間全体のうち今どの部分を再生しているのかを一目で把握することができる。また、このつまみをマウス等のユーザ操作によって動かすことにより、任意の再生時刻を指定できるようにしてもよい。
The playback control user I /
再生制御部16は、再生制御ユーザI/F17から停止命令を入力すると、再生部18に停止を指示する。
When receiving a stop command from the playback control user I /
また、再生制御部16は、再生制御ユーザI/F17から再生命令を入力すると、再生命令から再生開始時刻を抽出し、再生開始時刻情報をバッファ制御部15に出力する。そして、再生制御部16は、バッファ制御部15からバッファ規定値(例えば5秒)を超えたことを示す通知を入力したら、再生部18に再生開始時刻情報を出力するとともに、再生開始を指示する。
In addition, when a playback command is input from the playback control user I /
また、再生制御部16は、現在の再生状態(再生中、停止中)、及び再生部18から入力された現在再生時刻情報を再生制御ユーザI/F17に出力する。
Further, the
マニフェスト取得部11は、アプリケーション起動時又は番組選択時に、配信サーバ2から所望の番組のマニフェストファイル(MPDファイル)を通信I/F10を介して取得する。そして、マニフェストファイルをもとにセグメント開始時刻及びセグメントのURLを対応付けたセグメントURLリストを生成し、セグメント取得部12及びバッファ制御部15に出力する。
The
バッファ制御部15は、再生制御部16から入力された再生開始時刻情報、及びバッファ14から入力されたバッファリング範囲(バッファ済みセグメント範囲)情報に基づき、取得対象のセグメントのセグメント開始時刻を決定する。そして、マニフェスト取得部11から入力されたセグメントURLリストから、セグメント開始時刻に対応付けられたセグメントのURLを抽出し、セグメント取得部12に出力する。また、バッファ制御部15は、セグメント取得部12からセグメントが入力されると、該セグメントをバッファ14に挿入する。
The
セグメント取得部12は、バッファ制御部15から入力された取得対象のセグメントのURLに基づいて対応するセグメントを取得し、バッファ制御部15に出力する。具体的には、セグメントのURLを含むセグメント要求(リクエスト)を生成して通信I/F10を介して配信サーバ2に送信し、配信サーバ2から通信I/F10を介して該要求に対するレスポンスとして対応するセグメントを取得する。なお、セグメント取得部12は、バッファ制御部15からセグメント開始時刻を入力し、セグメント取得部12がセグメントURLリストからセグメント開始時刻に対応付けられたセグメントのURLを抽出するようにしてもよい。
The
バッファ14は、バッファ制御部15からセグメントを入力し、該セグメントを、セグメント開始時刻及び再生継続時間を対応付けて保存する。
The
また、バッファ14は、バッファリング範囲情報をバッファ制御部15に出力する。ここで、バッファリング範囲情報とは、バッファ14にコンテンツのセグメントが挿入されている範囲を示す情報のことであり、例えば現在の保存中の全セグメントのセグメント開始時刻及び再生継続時間の情報とする。
Further, the
また、バッファ14は、再生部18から要求されたセグメントを、順次再生部18に出力する。
Further, the
再生部18は、再生制御部16から停止命令を入力した場合には、再生を停止する。
The
また、再生部18は、再生制御部16から再生開始時刻情報を含む再生命令を入力すると、再生開始時刻に基づいてセグメントを順次バッファ14から入力し、該入力したセグメントをセグメントのメディアの形式(映像、音声、テキスト等)に従ってデコードし、表示部19に出力する。再生部18は、再生とともに更新される再生時刻の情報である現在再生時刻情報を再生制御部16に出力する。
Further, when the
表示部19は、再生部18から入力されたデコード済みのメディアデータをそのメディアの形式に従って表示する。
The
以下に、フィラーセグメントの生成について説明する。 Below, the production | generation of a filler segment is demonstrated.
バッファ制御部15は、バッファ14に挿入したセグメントが現在再生中のピリオド(Period)の最後のセグメントであった場合には、全セグメントの時間尺(バッファリング範囲の最大値)と、ピリオドの終了時刻を比較する。ここで、ピリオドの終了時刻は、ピリオドの開始時刻(start)にコンテンツ尺を加算した時刻である。コンテンツ尺は、コンテンツの尺を示すメタ情報(duration)から得られる。ピリオドの開始時刻を0とすると、ピリオドの終了時刻とコンテンツ尺は同一である。
When the segment inserted into the
バッファ制御部15は、バッファ14に保存されたコンテンツを構成するバッファリング範囲の最大値がピリオドの終了時刻より小さい場合、すなわち全セグメントの時間尺がコンテンツ尺よりも短い場合には、バッファリング範囲の最大値を挿入開始時刻、ピリオド終了時刻とバッファリング範囲の最大値との差分を隙間時間と決定し、挿入開始時刻及び隙間時間を示すフィラー情報をフィラーセグメント生成部13に出力する。また、バッファ制御部15は、フィラーセグメント生成部13からフィラーセグメントが入力されると、該フィラーセグメントをコンテンツの最後のセグメントに続けてバッファ14に挿入する。
When the maximum value of the buffering range constituting the content stored in the
フィラーセグメント生成部13は、バッファ制御部15からフィラー情報を入力すると、挿入開始時刻から始まり再生継続時間が隙間時間以上のフィラーセグメントを生成し、バッファ制御部15に出力する。ここで、フィラーセグメントは、例えば、セグメントのメディア形式が映像の場合には白画像又は黒画像をエンコードしたデータとする。セグメントのメディア形式が音声の場合には無音をエンコードしたデータとする。フィラーセグメントの再生継続時間が隙間時間以上であれば、次のピリオドのセグメントをフィラーセグメントに上書きすることで、ピリオドの変わり目における隙間をなくし、ピリオドの変わり目で再生が停止することを防止することができる。
When the filler information is input from the
また、フィラーセグメント生成部13は、データサイズが小さいメディアデータを予めセグメント化してテンプレートとして用意しておき、フィラー情報をもとに、テンプレートのパラメータを差し替えたデータとすることができる。フィラーセグメントのテンプレートは、受信装置1に記憶しておくこともできるし、コンテンツ再生開始時に、例えば配信サーバ2から取得するようにしてもよい。
In addition, the filler
図3を参照して、フィラーセグメントの一例を説明する。図3は、フィラーセグメントを、ISOBMFF(ISO/IEC14496−12)形式とした場合の一例である。なお、一つのセグメントにMovie Fragmentを複数含むことも可能であるが、本例では一つとする。 An example of the filler segment will be described with reference to FIG. FIG. 3 shows an example in which the filler segment is in ISOBMFF (ISO / IEC 14496-12) format. Note that a plurality of Movie Fragments can be included in one segment, but in this example, only one is included.
本発明に関連する一部のパラメータについて説明する。sidxに含まれるtimescaleはタイムスケールを表している。earliest_presentation_timeは、このセグメントの最初のMovie Fragmentの最初のメディアデータの再生時刻を示している。subsegment_durationは、このMovie Fragmentごとの再生継続時間を示している。また、Movie Fragment内の、moof/traf/tfdtに含まれるbaseMediaDecodeTimeは、当該Movie Fragmentの再生継続時間を示している。例えば、timescale=90000とした場合、再生開始時刻t、再生継続時間d秒のセグメントは、
earliest_presentation_time=90000×t
subsegment_duration = baseMediaDecodeTime=90000×d
となる。
Some parameters related to the present invention will be described. The timescale included in sidx represents the time scale. earliest_presentation_time indicates the playback time of the first media data of the first Movie Fragment of this segment. subsegment_duration indicates the playback duration for each Movie Fragment. Also, baseMediaDecodeTime included in moof / traf / tfdt in the Movie Fragment indicates the playback duration of the Movie Fragment. For example, when timescale = 90000, the segment with the playback start time t and playback duration d seconds is
earliest_presentation_time = 90000 × t
subsegment_duration = baseMediaDecodeTime = 90000 × d
It becomes.
つまり、挿入開始時刻15秒、再生継続時間0.5秒のフィラーセグメントを生成するには、earliest_presentation_timeを1350000に、baseMediaDecodeTimeを45000に修正すればよい。なお、再生継続時間を修正しようとすると、mdat内部の情報まで修正範囲が及ぶことから処理負荷が大きくなる。そのため、テンプレートセグメントを予め用意しておき、テンプレートセグメントを再生継続時間が隙間時間を上回るまで複数連結することで、再生継続時間を修正せずに、所望のフィラーセグメントを生成することができる。 That is, in order to generate a filler segment with an insertion start time of 15 seconds and a playback duration of 0.5 seconds, earliest_presentation_time may be corrected to 1350000 and baseMediaDecodeTime to 45000. If the playback duration is to be corrected, the correction range extends to the information in mdat, and the processing load increases. Therefore, by preparing a template segment in advance and connecting a plurality of template segments until the reproduction duration exceeds the gap time, a desired filler segment can be generated without correcting the reproduction duration.
(再生開始時のバッファ管理方法)
次に、受信装置1の再生開始時のバッファ管理方法について、図4に示すフローチャートを参照して説明する。
(Buffer management method at the start of playback)
Next, a buffer management method at the start of reproduction of the receiving
図4に示すフローチャートは、既にマニフェストファイルを取得しており、セグメントURLリストも作成済みの状態から開始するものとする。また、受信装置1は、ネットワークの混雑状況に応じて受信帯域が常に変動することを見越して、再生開始時刻を起点として予め設定したバッファ規定値(例えば5秒)以上のセグメントがバッファ14に挿入されてから再生を開始するものとする。
The flowchart shown in FIG. 4 starts from a state in which a manifest file has already been acquired and a segment URL list has been created. In addition, the receiving
まず、再生制御ユーザI/F17において再生開始操作が実行されると(ステップS001)、再生制御部16は、新規に再生を開始する場合には番組の冒頭の再生開始時刻(0秒)を、一時停止等の操作の後に再生を再開した場合には一時停止操作がなされた時点の再生開始時刻を再生開始時刻情報として抽出し、バッファ制御部15に出力する(ステップS002)。
First, when a playback start operation is executed in the playback control user I / F 17 (step S001), the
次に、バッファ制御部15は、バッファ14内に再生開始時刻情報から予め設定したバッファ規定値以上の範囲のセグメントが存在するか否かを確認する(ステップS003)。該セグメントが存在しない場合には(ステップS003−NO)、ステップS004に進み、該セグメントが存在する場合には(ステップS003−YES)、再生を開始し(ステップS012)、その後ステップS004に進む。
Next, the
ステップS004では、バッファ制御部15は再生時刻を含むバッファリング範囲の最後のセグメントに続くセグメントのURLが、セグメントURLリストに存在するか否かを確認する。該セグメントのURLが存在する場合には(ステップS004−YES)、バッファ制御部15はセグメントURLリストから該セグメントのURLを抽出し、セグメント取得部12に出力する(ステップS005)。続いて、セグメント取得部12は、抽出されたセグメントのURLを含むセグメント要求を配信サーバ2に送信し、該要求に対応するセグメントを受信し、バッファ制御部15に出力する(ステップS005)。バッファ制御部15は、ステップS005にて受信したセグメントをバッファ14に挿入する(ステップS006)。
In step S004, the
次に、バッファ制御部15はバッファ14に挿入したセグメントが現在再生中のピリオド(Period)の最後のセグメントであるか否かを確認する(ステップS007)。ピリオドの最後のセグメントである場合には(ステップS007−YES)、バッファリング範囲の最大値と、ピリオドの終了時刻とを比較する(ステップS008)。
Next, the
バッファリング範囲の最大値がピリオドの終了時刻より小さい場合には(ステップS008−YES)、フィラーセグメント生成部13は、バッファリング範囲の最大値を挿入開始時刻、ピリオド終了時刻とバッファリング範囲の最大値との差分以上を再生継続時間としてフィラーセグメントを生成してバッファ制御部15に出力し、バッファ制御部15は該フィラーセグメントをバッファ14に挿入する(ステップS009)。
When the maximum value of the buffering range is smaller than the end time of the period (step S008-YES), the filler
ステップS004,S007,S008においてNOであった場合には、現在再生中か否かを確認する(ステップS010)。再生中でない場合には(ステップS010−NO)、ステップS003に戻る。再生中である場合には(ステップS010−YES)、バッファ14の最後に到達したか、又は再生制御ユーザI/F17において停止ボタンが押されたかを確認する(ステップS011)。いずれかの条件を満たした場合には(ステップS011−YES)、処理を終了する。また、ステップS010がNOであった場合にはステップS003に戻り、ステップS011がNOの場合にはステップS004に戻る。
If NO in steps S004, S007, and S008, it is confirmed whether or not playback is currently being performed (step S010). If it is not being reproduced (step S010-NO), the process returns to step S003. If playback is in progress (YES in step S010), it is confirmed whether the end of the
以上により、再生中のピリオドのコンテンツ尺よりもピリオドを構成する全セグメントの時間尺の方が短い場合には、再生継続時間がピリオドのコンテンツ尺及び全セグメントの時間尺の差分以上のフィラーセグメントを生成し、ピリオドの最終セグメント(コンテンツの最後のセグメント)に続けてバッファ14に挿入することにより、ピリオド(コンテンツ)間のバッファ14の隙間を埋めることができるため、ピリオド(コンテンツ)の切り替えがスムーズとなり安定した視聴が可能となる。
As described above, when the time scale of all the segments constituting the period is shorter than the content scale of the period being played back, a filler segment having a duration longer than the difference between the content scale of the period and the time scale of all segments is selected. By generating and inserting the last segment of the period (the last segment of the content) into the
なお、上述した受信装置1として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、受信装置1の各機能を実現する処理内容を記述したプログラムを該コンピュータの記憶部に格納しておき、該コンピュータのCPUによってこのプログラムを読み出して実行させることで実現することができる。なお、このプログラムは、コンピュータ読取り可能な記録媒体に記録可能である。
Note that a computer can be suitably used to cause the above-described function to function as the receiving
上述の実施形態は代表的な例として説明したが、本発明の趣旨及び範囲内で、多くの変更及び置換ができることは当業者に明らかである。したがって、本発明は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば、実施形態に記載の構成ブロック又は処理ステップについて、複数を1つに組み合わせたり、1つを複数に分割したりすることが可能である。 Although the above embodiment has been described as a representative example, it will be apparent to those skilled in the art that many changes and substitutions can be made within the spirit and scope of the invention. Therefore, the present invention should not be construed as being limited by the above-described embodiments, and various modifications and changes can be made without departing from the scope of the claims. For example, a plurality of constituent blocks or processing steps described in the embodiments can be combined into one, or one can be divided into a plurality.
1 受信装置
2 配信サーバ
10 通信I/F
11 マニフェスト取得部
12 セグメント取得部
13 フィラーセグメント生成部
14 バッファ
15 バッファ制御部
16 再生制御部
17 再生制御ユーザI/F
18 再生部
19 表示部
1 Receiving
DESCRIPTION OF
18
Claims (6)
セグメントを取得するセグメント取得部と、
前記セグメントを、セグメント開始時刻及び再生継続時間を対応付けて保存するバッファと、
前記バッファに保存されたコンテンツを構成する全セグメントの時間尺が、前記コンテンツの尺を示すメタ情報から得られるコンテンツ尺よりも短い場合に、再生継続時間が前記コンテンツ尺及び前記全セグメントの時間尺の差分以上のフィラーセグメントを生成するフィラーセグメント生成部と、
前記フィラーセグメントを前記コンテンツの最後のセグメントに続けて前記バッファに挿入するバッファ制御部と、
を備えることを特徴とする受信装置。 A receiving apparatus that receives a program configured by linking time-series content composed of a plurality of segments and performs streaming playback for each segment,
A segment acquisition unit for acquiring segments;
A buffer for storing the segment in association with a segment start time and a playback duration;
When the time scale of all the segments constituting the content stored in the buffer is shorter than the content scale obtained from the meta information indicating the content scale, the playback duration is the time scale of the content scale and all the segments. A filler segment generator that generates a filler segment greater than or equal to
A buffer controller that inserts the filler segment into the buffer following the last segment of the content;
A receiving apparatus comprising:
セグメントを取得するステップと、
前記セグメントを、セグメント開始時刻及び再生継続時間を対応付けてバッファに保存するステップと、
前記バッファに保存されたコンテンツを構成する全セグメントの時間尺が、前記コンテンツの尺を示すメタ情報であるコンテンツ尺よりも短い場合に、再生継続時間が前記コンテンツ尺及び前記全セグメントの時間尺の差分以上のフィラーセグメントを生成するステップと、
前記フィラーセグメントを前記コンテンツの最後のセグメントに続けて前記バッファに挿入するステップと、
を含むことを特徴とするバッファ管理方法。 A buffer management method in a receiving device that receives a program configured by linking time-series content composed of a plurality of segments and performs streaming playback,
Obtaining a segment;
Storing the segment in a buffer in association with the segment start time and playback duration;
When the time scale of all segments constituting the content stored in the buffer is shorter than the content scale that is meta information indicating the scale of the content, the playback duration time of the content scale and the time scale of all the segments is set. Generating filler segments greater than or equal to the difference;
Inserting the filler segment into the buffer following the last segment of the content;
A buffer management method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015227891A JP6581884B2 (en) | 2015-11-20 | 2015-11-20 | Reception device, buffer management method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015227891A JP6581884B2 (en) | 2015-11-20 | 2015-11-20 | Reception device, buffer management method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017098704A JP2017098704A (en) | 2017-06-01 |
JP6581884B2 true JP6581884B2 (en) | 2019-09-25 |
Family
ID=58818227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015227891A Active JP6581884B2 (en) | 2015-11-20 | 2015-11-20 | Reception device, buffer management method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6581884B2 (en) |
-
2015
- 2015-11-20 JP JP2015227891A patent/JP6581884B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017098704A (en) | 2017-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11418834B2 (en) | Synchronizing internet (“over the top”) video streams for simultaneous feedback | |
US11516542B2 (en) | Systems and methods for real-time adaptive bitrate transcoding and transmission of transcoded media | |
KR101748198B1 (en) | Synchronizing multiple over the top streaming clients | |
EP2526671B1 (en) | Methods and arrangements for http media stream distribution | |
CN102812674A (en) | Adaptive Streaming Method And Apparatus | |
US11489899B1 (en) | Segment ladder transitioning in adaptive streaming | |
JP6609468B2 (en) | Receiving device, reproduction time control method, and program | |
US20210168472A1 (en) | Audio visual time base correction in adaptive bit rate applications | |
JP6535273B2 (en) | Receiving device, segment acquisition method, and program | |
JP6397341B2 (en) | Reception device, buffer management method, and program | |
JP6626696B2 (en) | Receiving device, manifest updating method, and program | |
JP6581884B2 (en) | Reception device, buffer management method, and program | |
JP7324012B2 (en) | Receiving device and program | |
JP2022133163A (en) | Content generation device, reception device, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181001 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190328 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190416 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190530 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190806 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190902 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6581884 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |