JP2013027051A - Electronic apparatus and playback control method - Google Patents
Electronic apparatus and playback control method Download PDFInfo
- Publication number
- JP2013027051A JP2013027051A JP2012194018A JP2012194018A JP2013027051A JP 2013027051 A JP2013027051 A JP 2013027051A JP 2012194018 A JP2012194018 A JP 2012194018A JP 2012194018 A JP2012194018 A JP 2012194018A JP 2013027051 A JP2013027051 A JP 2013027051A
- Authority
- JP
- Japan
- Prior art keywords
- data
- buffer
- multimedia content
- audio
- 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.)
- Granted
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
本発明の実施形態は、コンテンツデータを再生可能な電子機器および再生制御方法に関する。 Embodiments described herein relate generally to an electronic device capable of reproducing content data and a reproduction control method.
近年、パーソナルコンピュータ、PDA、スマートフォンといった種々の電子機器が開発されている。この種の電子機器の多くは、インターネットを介してマルチメディアコンテンツデータを受信しながら、そのマルチメディアコンテンツデータを再生するストリーミング再生機能を有している。 In recent years, various electronic devices such as personal computers, PDAs, and smartphones have been developed. Many electronic devices of this type have a streaming reproduction function for reproducing multimedia content data while receiving the multimedia content data via the Internet.
マルチメディアコンテンツデータのストリーミング再生においては、コンテンツサーバから受信されるマルチメディアコンテンツデータの一部分は電子機器内のストリームバッファに格納される。 In streaming reproduction of multimedia content data, a part of the multimedia content data received from the content server is stored in a stream buffer in the electronic device.
電子機器上で実行されるプレーヤソフトウェアは、シークバー(またはプログレッシブバー)と称されるユーザインタフェースを表示する。ユーザは、シークバーを操作することによって、マルチメディアコンテンツデータ内の再生位置を変更することができる。 The player software executed on the electronic device displays a user interface called a seek bar (or progressive bar). The user can change the playback position in the multimedia content data by operating the seek bar.
バッファに格納されていないデータ位置が再生位置として指定された場合、プレーヤソフトウェアは、コンテンツサーバから該当するデータ部分の取得を開始し、そのデータ部分をバッファに格納する(シーク)。このバッファリングには一定の時間を要する。したがって、新たなデータ部分が要求されてからそのデータ部分がバッファに格納されるまでのタイムラグにより、指定されたデータ位置からの再生が開始されるまでには、ある待ち時間が必要となる。 When a data position that is not stored in the buffer is designated as the playback position, the player software starts obtaining the corresponding data portion from the content server, and stores the data portion in the buffer (seek). This buffering takes a certain time. Accordingly, a certain waiting time is required until reproduction from the designated data position is started due to a time lag from when a new data portion is requested until the data portion is stored in the buffer.
一般に、ストリーミング向けファイル形式のマルチメディアコンテンツデータにおいては、互いに再生時刻の近いビデオデータ部分とオーディオデータ部分とが連続して配置されている。 In general, in multimedia content data in a file format for streaming, a video data portion and an audio data portion whose reproduction times are close to each other are continuously arranged.
しかし、ストリーミング向けでないファイル形式のマルチメディアコンテンツデータも存在する。このようなマルチメディアコンテンツデータにおいては、連続して再生されるべき互いに再生時刻の近いビデオデータ部分とオーディオデータ部分とが非連続に配置されている可能性がある。このようなマルチメディアコンテンツデータに対するシークにおいては、非連続の個々のデータ部分をコンテンツサーバから受信するための処理によってシークのレスポンスが低下する可能性、つまりそれらデータ部分のバッファリングのためのタイムラグが大きくなる可能性がある。したがって、たとえ指定されたデータ位置からのマルチメディアコンテンツデータの再生が一旦再開されても、その再生がすぐに再び停止されてしまうかもしれない。なぜなら、指定されたデータ位置のデータ部分に続いて再生すべき別のデータ部分をバッファリングのための待ち時間が発生する可能性があるためである。 However, there is multimedia content data in a file format that is not intended for streaming. In such multimedia content data, there is a possibility that a video data portion and an audio data portion that are close to each other and to be played back are discontinuously arranged. In such seeks for multimedia content data, there is a possibility that the response of seek will be reduced by the process for receiving discrete data portions from the content server, that is, there is a time lag for buffering these data portions. It can grow. Therefore, even if the reproduction of the multimedia content data from the designated data position is once resumed, the reproduction may be immediately stopped again. This is because there is a possibility of waiting time for buffering another data portion to be reproduced following the data portion at the designated data position.
本発明は、マルチメディアコンテンツデータをスムーズに再生することができる電子機器及びコンテンツ再生制御方法を提供することを目的とする。 An object of the present invention is to provide an electronic device and a content playback control method capable of smoothly playing back multimedia content data.
実施形態によれば、電子機器は、ビデオデータとオーディオデータとが多重化されたマルチメディアコンテンツデータをサーバから受信しながら再生する。この電子機器は、バッファと、再生手段と、制御手段とを具備する。前記バッファは、前記受信されたマルチメディアコンテンツデータを格納する。前記再生手段は、前記バッファに格納されている前記マルチメディアコンテンツデータ内のビデオデータ部およびオーディオデータ部を再生する。前記制御手段は、再生位置が前記バッファにまだ格納されていない、前記マルチメディアコンテンツデータ内の第1のデータ位置に変更された場合、前記再生手段に前記再生を停止させると共に、前記マルチメディアコンテンツデータ内の前記第1のデータ位置に後続するデータ部それぞれを前記サーバから順次受信して前記バッファに格納するための第1のバッファリング処理を開始する。前記制御手段は、さらに、前記第1のバッファリング処理が開始された後に前記再生手段に前記第1のデータ位置から前記再生を再開させ、前記バッファに格納されていない、前記マルチメディアコンテンツデータ内のオーディオデータ部が前記再生手段によって要求された場合、前記第1のバッファリング処理を継続する。前記再生手段は、前記要求されたオーディオデータ部の再生を実行しない。 According to the embodiment, the electronic device reproduces the multimedia content data in which the video data and the audio data are multiplexed while receiving it from the server. The electronic device includes a buffer, a reproduction unit, and a control unit. The buffer stores the received multimedia content data. The reproduction means reproduces a video data portion and an audio data portion in the multimedia content data stored in the buffer. The control means causes the reproduction means to stop the reproduction when the reproduction position is changed to a first data position in the multimedia content data that is not yet stored in the buffer, and the multimedia content A first buffering process for sequentially receiving each data portion following the first data position in the data from the server and storing it in the buffer is started. The control means further causes the reproduction means to resume the reproduction from the first data position after the first buffering process is started, and in the multimedia content data not stored in the buffer. If the audio data portion is requested by the reproducing means, the first buffering process is continued. The reproduction means does not perform reproduction of the requested audio data part.
以下、実施の形態について図面を参照して説明する。
図1は、一実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えば、スレート型パーソナルコンピュータ(PC)、ラップトップ型PC、スマートフォン、またはPDA等として実現され得る。以下では、この電子機器がスレート型パーソナルコンピュータ10として実現されている場合を想定する。スレート型パーソナルコンピュータ10は、図1に示すように、コンピュータ本体11とタッチスクリーンディスプレイ17とから構成される。
Hereinafter, embodiments will be described with reference to the drawings.
FIG. 1 is a perspective view illustrating an external appearance of an electronic apparatus according to an embodiment. This electronic device can be realized as, for example, a slate personal computer (PC), a laptop PC, a smartphone, or a PDA. In the following, it is assumed that the electronic device is realized as a slate type
コンピュータ本体11は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ17は、液晶表示装置(LCD)及びタッチパネルが組み込まれている。タッチパネルは、LCDの画面を覆うように設けられる。タッチスクリーンディスプレイ17は、コンピュータ本体11の上面に重ね合わせるように取り付けられている。
The computer
コンピュータ10はマルチメディアコンテンツデータをストリーミングによって再生するコンテンツ再生機能を有している。このコンテンツ再生機能はコンピュータ10にインストールされたプレーヤソフトウェアによって実行される。プレーヤソフトウェアによるコンテンツ再生動作は、オペレーティングシステムによって提供されるマルチメディアフレームワークを利用して実行するようにしてもよい。コンピュータ10は有線または無線ネットワークとの通信を実行する通信デバイスを内蔵しており、コンピュータ10とインターネット20との間の通信はこの通信デバイスを介して実行される。
The
マルチメディアコンテンツデータは、ビデオデータとオーディオデータとが多重化されたデータストリームである。ビデオデータは圧縮符号化されていてもよく、またオーディオデータも圧縮符号化されていてもよい。 Multimedia content data is a data stream in which video data and audio data are multiplexed. The video data may be compression encoded, and the audio data may be compression encoded.
プレーヤソフトウェアはインターネット20のようなネットワークを介してコンテンツサーバ21からマルチメディアコンテンツデータを受信する。プレーヤソフトウェアはマルチメディアコンテンツデータを受信しながら、そのマルチメディアコンテンツデータを再生する。コンピュータ10においては、マルチメディアコンテンツデータ内の受信されたデータ部はバッファに格納される。バッファはコンピュータ10内のメモリの一部である。バッファに一定量のデータが蓄積された後に、プレーヤソフトウェアはマルチメディアコンテンツデータの再生を開始する。
The player software receives multimedia content data from the
マルチメディアコンテンツデータの再生処理においては、バッファに格納されたビデオデータ部およびオーディオデータ部の各々が再生される。マルチメディアコンテンツデータの再生処理の間、プレーヤソフトウェアは、先読み処理を実行してもよい。先読み処理は、現在再生位置よりも時間的に後のデータ部それぞれをコンテンツサーバ21から順次受信してバッファに格納するバッファリング処理である。
In the reproduction processing of multimedia content data, each of the video data portion and the audio data portion stored in the buffer is reproduced. During the multimedia content data playback process, the player software may perform a prefetch process. The prefetching process is a buffering process in which each data part after the current playback position is sequentially received from the
図2は、プレーヤソフトウェアによってディスプレイ17に表示されるコンテンツ再生画面の例である。コンテンツ再生画面はビデオ表示エリア31およびシークバー33を表示する。ビデオ表示エリア31は、マルチメディアコンテンツデータ内のビデオデータの画像(動画像)を表示するための表示領域である。シークバー33はマルチメディアコンテンツデータの再生位置をユーザに制御させるためのグラフィカルユーザインタフェースである。
FIG. 2 is an example of a content playback screen displayed on the
シークバー33の左端および右端は再生対象のマルチメディアコンテンツデータの先頭位置および終端位置にそれぞれ対応する。マルチメディアコンテンツデータの再生期間中においては、マルチメディアコンテンツデータの再生位置は時間の経過に伴って自動的に更新される。再生位置のようなマルチメディアコンテンツデータ内のデータ位置を示す値としては、マルチメディアコンテンツデータの先頭位置を起点としたオフセット値を用いてもよい。あるデータ位置に対応するオフセット値は、マルチメディアコンテンツデータの先頭位置からそのデータ位置までのデータサイズを示す。
The left end and the right end of the seek
シークバー33はスライダ35を表示する。スライダ35はマルチメディアコンテンツデータ内の現在再生位置を示す。つまり、スライダ35はマルチメディアコンテンツデータの再生の進行状況を示す。ユーザは、ポインティングデバイスを用いてスライダ35を移動させることにより、マルチメディアコンテンツデータ内の再生位置を変更することができる。
The seek
シークバー33は、さらに、再生済み区間37およびシーク可能区間39をシークバー33上に表示する。再生済み区間37は、マルチメディアコンテンツデータのシーケンスの内、再生済みで且つバッファにデータ部が残っているデータ区間を示す。シーク可能区間39は、マルチメディアコンテンツデータのシーケンスの内、未再生で且つバッファにデータ部がすでに格納されているデータ区間を示す。シーク可能区間39ができるだけ一定時間以上となるように、上述の先読み処理(バッファリング処理)が実行されるようにしてもよい。
The seek
スライダ35がシーク可能区間39内の任意の位置に移動された時、再生位置は、スライダ35によって示される、シーク可能区間39内の位置に即座に変更される。スライダ35がシーク可能区間39外のエリアに移動された時、つまり、再生位置がバッファにまだ格納されていない、マルチメディアコンテンツデータ内の第1のデータ位置に変更された場合、プレーヤソフトウェアは、バッファリング処理を開始する。このバッファリング処理においては、プレーヤソフトウェアは、マルチメディアコンテンツデータ内の上述の第1のデータ位置(シーク開始位置)に後続するデータ部それぞれをコンテンツサーバから順次受信してバッファに格納する。バッファリング処理によって所定量のデータがバッファに格納されるまで、マルチメディアコンテンツデータの再生は停止される。バッファリング処理によって所定量のデータがバッファに格納された後、マルチメディアコンテンツデータの再生が第1のデータ位置から再開される。
When the
図3は、本コンピュータ10のシステム構成を示す図である。
本コンピュータ10は、図3に示されるように、CPU101、ノースブリッジ102、主メモリ103、サウスブリッジ104、グラフィクスコントローラ105、サウンドコントローラ106、BIOS−ROM107、LANコントローラ108、ソリッドステートドライブ(SSD)109、無線LANコントローラ112、エンベデッドコントローラ(EC)113、EEPROM114、HDMI制御回路3等を備える。
FIG. 3 is a diagram showing a system configuration of the
As shown in FIG. 3, the
CPU101は、コンピュータ10内の各部の動作を制御するプロセッサである。CPU101は、SSD109から主メモリ103にロードされる、オペレーティングシステム(OS)201、および各種アプリケーションプログラムを実行する。アプリケーションプログラムには、プレーヤアプリケーションプログラム202が含まれている。このプレーヤアプリケーションプログラム202は上述のプレーヤソフトウェアであり、オペレーティングシステム(OS)201上で実行される。
The
また、CPU101は、BIOS−ROM107に格納されたBIOSも実行する。BIOSは、ハードウェア制御のためのプログラムである。
The
ノースブリッジ102は、CPU101のローカルバスとサウスブリッジ104との間を接続するブリッジデバイスである。ノースブリッジ102には、主メモリ103をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ102は、PCI EXPRESS規格のシリアルバスなどを介してグラフィクスコントローラ105との通信を実行する機能も有している。
The
グラフィクスコントローラ105は、本コンピュータ10のディスプレイモニタとして使用されるLCD17Aを制御する表示コントローラである。このグラフィクスコントローラ105によって生成される表示信号はLCD17Aに送られる。LCD17Aは、表示信号に基づいて映像を表示する。このLCD17A上にはタッチパネル17Bが配置されている。タッチパネル17Bは、LCD17Aの画面上で入力を行うためのポインティングデバイスである。ユーザは、タッチパネル17Bを用いて、LCD17Aの画面に表示されたグラフィカルユーザインタフェース(GUI)等を操作することができる。例えば、ユーザは、画面に表示されたボタンをタッチすることによって、当該ボタンに対応する機能の実行を指示することができる。
The
HDMI端子2は、外部ディスプレイ接続端子である。HDMI端子2は、非圧縮のデジタル映像信号とデジタルオーディオ信号とを1本のケーブルで外部ディスプレイ装置1に送出することができる。HDMI制御回路3は、HDMIモニタと称される外部ディスプレイ装置1にデジタル映像信号をHDMI端子2を介して送出するためのインタフェースである。つまり、コンピュータ10は、HDMI端子2等を介して、外部ディスプレイ装置1に接続可能である。
The
サウスブリッジ104は、PCI(Peripheral Component Interconnect)バス上の各デバイス及びLPC(Low Pin Count)バス上の各デバイスを制御する。また、サウスブリッジ104は、SSD109を制御するためのATAコントローラを内蔵している。
The
サウスブリッジ104は、各種USBデバイスを制御するためのUSBコントローラを内蔵している。さらに、サウスブリッジ104は、サウンドコントローラ106との通信を実行する機能も有している。サウンドコントローラ106は音源デバイスであり、再生対象のオーディオデータをスピーカ18A,18Bに出力する。LANコントローラ108は、例えばIEEE 802.3規格の有線通信を実行する有線通信デバイスである。無線LANコントローラ112は、例えばIEEE 802.11規格の無線通信を実行する無線通信デバイスである。
The
EC113は、電力管理のためのエンベデッドコントローラを含む1チップマイクロコンピュータである。EC113は、ユーザによるパワーボタンの操作に応じて本コンピュータ10を電源オン/電源オフする機能を有している。
The
次に、図4を参照して、プレーヤアプリケーションプログラム202の機能構成を説明する。
プレーヤアプリケーションプログラム202は、データソース301、デマルチプレクサ302、ビデオデコーダ303、オーディオデコーダ304、レンダラ305、および再生制御部306を備える。データソース301は、再生制御部306の制御の下、コンテンツサーバ21からマルチメディアコンテンツデータを受信するための処理を順次実行し、受信されたデータ部分それぞれをバッファ401に格納する(バッファリング)。コンテンツサーバ21からマルチメディアコンテンツデータを受信する処理においては、たとえば、HTTPストリーミングを使用してもよい。この場合、データソース301は、コンテンツサーバ21にデータ部を要求し、その要求したデータ部をコンテンツサーバ21から受信する。
Next, the functional configuration of the
The
デマルチプレクサ302、ビデオデコーダ303、オーディオデコーダ304、およびレンダラ305は、バッファ401に格納されたデータ部内に含まれるビデオデータ部およびオーディオデータ部をそれぞれ再生する再生部として機能する。
The
デマルチプレクサ302は、データソース301内のバッファ401からデータを受信し、そのデータをビデオデータ部とオーディオデータ部とに分離する。ビデオデコーダ303はビデオデータ部をデコードし、そのデコードされたビデオデータ部をレンダラ305に送る。オーディオデコーダ304はオーディオデータ部をデコードし、そのデコードされたオーディオデータ部をレンダラ305に送る。レンダラ305はデコードされたビデオデータ部の動画像をビデオ表示エリア31上に表示する。さらに、レンダラ305はデコードされたオーディオデータ部に対応する音をスピーカ等を介して出力する。
The
再生制御部306は、プレーヤアプリケーションプログラム202によるコンテンツデータの再生動作を制御する。より詳しくは、再生制御部306は、データソース301、デマルチプレクサ302、ビデオデコーダ303、オーディオデコーダ304、およびレンダラ305をそれぞれ制御する。
The
マルチメディアコンテンツデータのバッファリング処理は、デマルチプレクサ302からデータソース301に送られるアクセス要求に含まれるオフセット値を起点として開始される。ここで、このオフセット値は、マルチメディアコンテンツデータの先頭位置からマルチメディアコンテンツデータの再生対象位置までのデータサイズ(オフセット)を示す。一定量のデータがバッファ401に格納されるまで再生の実行は待機される。一定量のデータがバッファ401に格納された時点で、マルチメディアコンテンツデータの再生が開始される。再生中においては、デマルチプレクサ302はアクセス要求を順次発行する。アクセス要求に含まれるオフセット値のデータ部がバッファ401に格納されているならば、そのデータ部が即座にデータソース301からデマルチプレクサ302に返される。
The multimedia content data buffering process starts with an offset value included in the access request sent from the
デマルチプレクサ302からのアクセス要求によって指定されるオフセット値は、最終アクセスオフセットとしてデータソース301内に記録される。この最終アクセスオフセットは、バッファ量管理部402によるバッファ量管理処理に使用される。
The offset value specified by the access request from the
本実施形態では、ビデオデータおよびオーディオデータそれぞれに対応する2つのストリームバッファを使用するのではなく、ビデオデータおよびオーディオデータが同じバッファ401に格納される。同じバッファ401をビデオデータの格納とオーディオデータの格納とに共用する構成は、必要なメモリ量と必要なデータ転送レートを低減することを可能にする。
In this embodiment, instead of using two stream buffers corresponding to video data and audio data, video data and audio data are stored in the
本実施形態では、データソース301は、さらに、メディア識別子設定部403を備えている。メディア識別子設定部403は、デマルチプレクサ302からのアクセス要求がビデオデータに対する要求(ビデオアクセス要求)またはオーディオに対する要求(オーディオアクセ要求)のいずれであるかに応じて、ビデオデータの最終アクセスオフセット(ビデオ最終アクセスオフセット)とオーディオデータの最終アクセスオフセット(オーディオ最終アクセスオフセット)とを個別に管理する。
In the present embodiment, the
次に、図5を参照して、ビデオ最終アクセスオフセットとオーディオ最終アクセスオフセットの例を説明する。ビデオ最終アクセスオフセットは、最後のビデオアクセス要求によって指定されたオフセット値である。また、オーディオ最終アクセスオフセットは、最後のオーディオアクセス要求によって指定されたオフセット値である。 Next, an example of the video final access offset and the audio final access offset will be described with reference to FIG. The video final access offset is an offset value specified by the last video access request. The audio final access offset is an offset value specified by the last audio access request.
ここでは、互いに再生時刻の近いビデオデータ部分とオーディオデータ部分とが比較的離れて配置されているマルチメディアコンテンツデータをストリーミングを用いて再生する場合を想定する。このようなマルチメディアコンテンツデータとしては、ASF(Advanced Systems Format)のようフォーマットのコンテンツデータがある。このASFに対応するコンテンツデータファイルはコンテンツの再生時間長等の情報を含むヘッダ部とデータ部とインデックス情報とを含む。インデックス情報は、データ部内に存在するビデオデータ部それぞれのオフセット値を示す。デマルチプレクサ302は、再生制御部306からインデックス情報を受信し、そのインデックス情報に基づいてビデオデータ部およびオーディオデータ部それぞれのオフセット値を算出する。
Here, it is assumed that multimedia content data in which a video data portion and an audio data portion whose reproduction times are close to each other is arranged relatively apart from each other is reproduced using streaming. Such multimedia content data includes content data in a format such as ASF (Advanced Systems Format). The content data file corresponding to the ASF includes a header portion including information such as a reproduction time length of the content, a data portion, and index information. The index information indicates an offset value of each video data part existing in the data part. The
図5においては、マルチメディアコンテンツデータのシーケンスの内、オフセット値1000バイトからオフセット値2000バイトまでのデータ部(データ区間ともいう)がバッファリングされている。ビデオ最終アクセスオフセットとオーディオ最終アクセスオフセットの内の最大値からバッファ401内のデータ末端までのデータ区間が、上述のシークバー33上にシーク可能区間39として、つまりバッファリング済みのデータ区間として、表示される。たとえば、ビデオ最終アクセスオフセットが1500バイトを示し、オーディオ最終アクセスオフセットが1300バイトを示しているならば、1500バイトからバッファ401内のデータ末端(2000バイト)までがシーク可能区間39として表示される。つまり、本実施形態では、ビデオ最終アクセスオフセットとオーディオ最終アクセスオフセットの内の最大値とバッファ401内のデータ末端のオフセット値との間の差分に基づいて、シークバー33上にシーク可能区間39が表示される。
In FIG. 5, a data portion (also referred to as a data section) from an offset value of 1000 bytes to an offset value of 2000 bytes is buffered in the multimedia content data sequence. The data section from the maximum value of the video final access offset and the audio final access offset to the end of the data in the
ユーザによってスライダ35がシーク可能区間39よりも時間的に後のデータ位置に移動された場合、つまり再生位置がバッファリング済み期間外の位置に変更された場合、再生制御部306は、再生を停止すると共に、バッファ401を解放し、データソース301を用いてバッファリングをやりなおす(バッファリング済み期間外へのシーク)。より詳しくは、再生制御部306は、変更後の再生位置に後続するデータ部それぞれをコンテンツサーバ21から順次受信してバッファ401に格納するバッファリング処理を開始する。一定量のデータがバッファ401に格納された時点で、再生制御部306は、再生を再開させる。デマルチプレクサ302は、変更後の再生位置を示すオフセット値(たとえば、2000バイト目よりも時間的に後のデータ位置)を含むアクセス要求を発行する。このアクセス要求の受信に応答して、データソース301は、アクセス要求されたデータ部をバッファ401から読み出してデマルチプレクサ302に送る。
When the user moves the
次に、図6を参照して、本実施形態のシーク制御動作について説明する。 Next, the seek control operation of the present embodiment will be described with reference to FIG.
バッファリング済み期間外へのシーク時においては、デマルチプレクサ302は、以下のような順序で、ビデオアクセス要求、オーディオアクセス要求をデータソース301に送るかもしれない。
When seeking outside the buffered period, the
(1)ビデオ1の要求
(2)オーディオ2の要求
(3)ビデオ3の要求
(4)オーディオ4の要求
ビデオ1、オーディオ2、ビデオ3、オーディオ4はこの順で再生すべきデータ部である。ストリーミング向けでないマルチメディアコンテンツデータにおいては、ビデオ1、オーディオ2、ビデオ3、オーディオ4それぞれのオフセット値がビデオ1、オーディオ2、ビデオ3、オーディオ4の順に並んでおらず、図6に示すように、たとえば、オーディオ2、ビデオ1、オーディオ4、ビデオ3のように並んでいる場合がある。この場合、上述したように、シークのレスポンスが大幅に低下する可能性がある。以下、具体的に説明する。
(1) Request for video 1 (2) Request for audio 2 (3) Request for video 3 (4) Request for audio 4
バッファリング済み期間外へのシーク時においては、まず、バッファ201が解放される。そして、ビデオ1に対応するオフセット値に後続するデータ部それぞれを順次受信してバッファ401に格納するためのバッファリング処理が開始される。一定量のデータがバッファ401に格納されると、再生が再開される。マルチプレクサ302はビデオ1の要求をデータソース301に送信する。ビデオ1はバッファ401I格納されているので、ビデオ1はバッファ401から読み出され、デマルチプレクサ302に送られ、そして、ビデオ1が再生される。この後、デマルチプレクサ302はオーディオ2の要求をデータソース301に送信する。この時点で、オーディオ2はバッファ401に格納されていないので、マルチメディアコンテンツデータの再生は再び停止される。再生制御部306は、今度は、オーディオ2に対応するオフセット値に後続するデータ部のバッファリングを開始する。一定量のデータがバッファ401に格納されると、再生が再開される。オーディオ2はデマルチプレクサ302に送られ、そして、オーディオ2が再生される。この後、デマルチプレクサ302はビデオ3の要求をデータソース301に送信する。この時点では、ビデオ3はバッファ401に格納されていないかもしれない。したがって、マルチメディアコンテンツデータの再生は再び停止される。
When seeking outside the buffered period, the
本実施形態では、このようなシークのレスポンスの低下に起因して再生動作が頻繁に停止されるという状況の発生を防ぐために、以下のようなシーク制御動作が実行される。 In the present embodiment, the following seek control operation is executed in order to prevent the occurrence of a situation where the reproduction operation is frequently stopped due to such a decrease in seek response.
再生位置がバッファ401にまだ格納されていない、マルチメディアコンテンツデータ内の第1のデータ位置に変更された場合、再生制御部306は、再生を一旦停止するとともに、バッファ401を解放する。そして、再生制御部306は、データソース301を用いて第1のバッファリング処理を開始する。この第1のバッファリング処理では、マルチメディアコンテンツデータ内の第1のデータ位置に後続するデータ部それぞれをコンテンツサーバ21から順次受信してバッファ401に格納する処理が実行される。この第1のバッファリング処理によって一定量のデータがバッファ401に格納された後、再生制御部306は、再生部にマルチメディアコンテンツデータの再生を第1のデータ位置から再開させる。再生が再開された後、つまり第1のバッファリング処理によって一定量のデータがバッファ401に格納された後に、バッファ401に格納されていない、マルチメディアコンテンツデータ内のオーディオデータ部がデマルチプレクサ302によって要求されるかもしれない。この場合、通常は、バッファリング処理の起点が変更されるため、第1のバッファリング処理が停止され、代わりに、要求されたオーディオデータ部をコンテンツサーバ21から受信してバッファ401に格納するための第2のバッファリング処理が開始されるかもしれない。
When the playback position is changed to the first data position in the multimedia content data that has not yet been stored in the
本実施形態では、再生制御部306は、要求されたオーディオデータ部をコンテンツサーバ21から受信してバッファ401に格納するための第2のバッファリング処理の実行をスキップして、上述の第1のバッファリング処理を継続すると共に、再生部に、要求されたオーディオデータ部の再生をスキップさせる。つまり、バッファ401に格納されていないオーディオデータに対するアクセス要求は無視される。
In the present embodiment, the
いま、再生位置が、バッファリング済み区間外に位置するビデオ1に対応するオフセット値に変更された場合を想定する。第1のバッファリング処理では、ビデオ1に対応するオフセット値に後続するデータ部それぞれ、つまりビデオ1、オーディオ4、ビデオ3…が、順次バッファリングされる。つまり、再生制御部306は、オフセット値を増加させながらデータ取得要求をコンテンツサーバ21に順次送信することにより、ビデオ1、オーディオ4、ビデオ3…を、この順でコンテンツサーバ21から受信する。第1のバッファリング処理で一定量のデータ、たとえばビデオ1に対応するデータ部とオーディオ4に対応するデータ部の一部、がバッファ401に格納されると、マルチメディアコンテンツデータの再生が再開され、ビデオ1がまず再生される。この後、デマルチプレクサ302はオーディオ2のデータを要求する。この要求は、バッファ401に格納されていないオーディオデータに対するアクセス要求であるので、再生制御部306は、このアクセか要求を無視し、オーディオ2をコンテンツサーバ21から受信してバッファ401に格納するバッファリング処理の実行をスキップする。また、再生制御部306は、再生部にオーディオ2の再生をスキップさせる。オーディオ2に対するバッファリング処理をスキップすることにより、最初に要求されたビデオ1に後続するデータ部それぞれを順次バッファリングする処理は継続して実行される。
Assume that the playback position is changed to an offset value corresponding to
オーディオ4に対する要求が発生する時点では、オーディオ4はすでにバッファリング済みであるかもしれない。この場合、オーディオ4の再生はスキップされず、オーディオ4は通常通り再生される。 When a request for audio 4 occurs, audio 4 may already be buffered. In this case, the reproduction of the audio 4 is not skipped, and the audio 4 is reproduced as usual.
したがって、本実施形態では、ストリーミング向けでないマルチメディアコンテンツデータの再生中に再生位置がバッファ401にまだ格納されていない、マルチメディアコンテンツデータ内の第1のデータ位置に変更された場合には、最初の一定期間の間は、ビデオの再生のみが行われ、オーディオは再生されない。一定期間経過後は、ビデオとオーディオの双方が再生される。このように一部のオーディオデータ部に対するバッファリングおよび再生を省略することにより、互いに再生時刻の近いビデオデータ部分とオーディオデータ部分とが非連続であるマルチメディアコンテンツデータを、スムーズに再生することができる。
Therefore, in the present embodiment, when the playback position is changed to the first data position in the multimedia content data that is not yet stored in the
次に、図7から図9を参照して、マルチメディアコンテンツデータ内のオーディオデータ部とビデオデータ部の配置例について説明する。 Next, an arrangement example of the audio data portion and the video data portion in the multimedia content data will be described with reference to FIGS.
図7は、ストリーミング向けのフォーマットを有するマルチメディアコンテンツデータを示している。オーディオデータ部A1,A2,A3,…の各々は、たとえば1秒の再生時間に相当するデータ部である。同様に、ビデオデータ部V1,V2,V3,…の各々も、たとえば1秒の再生時間に相当するデータ部である。同じ添え字番号を有するオーディオデータ部とビデオデータ部は互いに同一の時刻または近い時刻に再生されるべきデータ同士である。図7に示すように、ストリーミング向けのフォーマットを有するマルチメディアコンテンツデータにおいては、互いに再生時刻の近いビデオデータ部分とオーディオデータ部分とが連続している。 FIG. 7 shows multimedia content data having a format for streaming. Each of the audio data parts A1, A2, A3,... Is a data part corresponding to a reproduction time of 1 second, for example. Similarly, each of the video data portions V1, V2, V3,... Is a data portion corresponding to a reproduction time of 1 second, for example. The audio data portion and the video data portion having the same subscript number are data to be reproduced at the same time or close to each other. As shown in FIG. 7, in multimedia content data having a format for streaming, a video data portion and an audio data portion having a reproduction time close to each other are continuous.
図8は、ストリーミング向けではないマルチメディアコンテンツデータを示している。図9は、ストリーミング向けではない別のマルチメディアコンテンツデータを示している。 FIG. 8 shows multimedia content data not intended for streaming. FIG. 9 shows another multimedia content data not intended for streaming.
このように、ストリーミング向けではないマルチメディアコンテンツデータにおいては、互いに再生時刻の近いビデオデータ部分とオーディオデータ部分とが非連続である。 In this way, in multimedia content data not intended for streaming, the video data portion and the audio data portion that are close to each other in reproduction time are discontinuous.
図8または図9のマルチメディアコンテンツデータに対するシーク時には、連続するアクセス要求によって指定されるオフセット値それぞれは単調増加せずに、図10に示すようにアクセス対象のオフセット値は増加されたり減少されたりすることがある。これにより、上述したように、シークのレスポンスの低下が引き起こされる。 When seeking the multimedia content data of FIG. 8 or FIG. 9, the offset values specified by successive access requests do not increase monotonously, but the offset value to be accessed is increased or decreased as shown in FIG. There are things to do. This causes a decrease in seek response, as described above.
いま、図9のマルチメディアコンテンツデータのオーディオデータ部A1以降のデータ区間がバッファリングされていない状態で、再生位置がビデオデータV4に対応する位置に変更された場合を想定する。マルチメディアコンテンツデータの再生は一旦停止される。バッファ201は解放され、そしてビデオデータV4に後続するデータ部(V4,V5,V6,A4,A5,A6,V7,V8…)を順次バッファリングする処理が開始される。たとえば、ビデオデータV4,V5がバッファリングされた時に、マルチメディアコンテンツデータの再生がビデオデータV4から再開される。この後、オーディオデータA4に対する要求が発生する。オーディオデータA4はまだバッファリングされていない。したがって、再生が再び停止される。しかもオーディオデータA4のオフセット位置は、現在のバッファ401内のデータ末端を示すオフセット値(たとえばビデオデータV5に対応するオフセット値)よりも時間的に後方に位置しているので、バッファ201が再び解放されるかもしれない。そして、バッファリングの起点が変更され、これによってオーディオデータA4に後続するデータ部(A4,A5,A6,V7,V8…)を順次バッファリングする処理が開始される。
Assume that the playback position is changed to a position corresponding to the video data V4 in a state where the data section after the audio data portion A1 of the multimedia content data in FIG. 9 is not buffered. The reproduction of the multimedia content data is temporarily stopped. The
本実施形態では、図9のマルチメディアコンテンツデータに対しては以下のようなシーク動作が実行される。 In the present embodiment, the following seek operation is performed on the multimedia content data of FIG.
オーディオデータ部A1以降のデータ区間がバッファリングされていない状態で、再生位置がビデオデータV4に対応するデータ位置に変更された場合を想定する。マルチメディアコンテンツデータの再生は一旦停止される。バッファ201は解放され、そしてビデオデータV4に後続するデータ部(V4,V5,V6,A4,A5,A6,V7,V8…)を順次バッファリングする処理が開始される。たとえば、ビデオデータV4,V5がバッファリングされた時に、マルチメディアコンテンツデータの再生がビデオデータV4から再開される。
Assume that the playback position is changed to a data position corresponding to the video data V4 in a state where the data section after the audio data portion A1 is not buffered. The reproduction of the multimedia content data is temporarily stopped. The
この後、オーディオデータA4に対するアクセス要求が発生する。オーディオデータA4はまだバッファリングされていない。したがって、オーディオデータA4のバッファリングおよび再生はスキップされる。したがって、バッファリング処理の起点は変更されないので、未バッファリングの残りのデータ部それぞれに対するバッファリング処理が継続される。オーディオデータA4の再生がスキップされた後、ビデオデータV5に対するアクセス要求が発生する。ビデオデータV5はすでにバッファリングされているので、ビデオデータV5は即座に再生部に送られる。この後、オーディオデータA5に対するアクセス要求が発生する。もしオーディオデータA5がすでにバッファリングされているならば、オーディオデータA5も即座に再生部に送られる。 Thereafter, an access request for the audio data A4 is generated. The audio data A4 has not been buffered yet. Therefore, buffering and reproduction of the audio data A4 are skipped. Therefore, since the starting point of the buffering process is not changed, the buffering process for each remaining unbuffered data part is continued. After the reproduction of the audio data A4 is skipped, an access request for the video data V5 is generated. Since the video data V5 is already buffered, the video data V5 is immediately sent to the playback unit. Thereafter, an access request for the audio data A5 is generated. If the audio data A5 is already buffered, the audio data A5 is also immediately sent to the playback unit.
次に、図11から図13を参照して、バッファ401を解放するバッファ解放制御動作について説明する。バッファの解放とは、データが格納されている、バッファ401内の記憶エリアを、データが格納されていないフリー状態に設定する処理である。
Next, a buffer release control operation for releasing the
図11は、ビデオ最終アクセスオフセットとオーディオ最終アクセスオフセットとを区別しない場合のバッファ解放制御動作を示している。最終アクセスオフセット値からバッファ401内のデータの末端を示すオフセット値までのデータ量が第1の閾値よりも少ない場合、換言すれば、最終アクセスオフセット値とバッファ401内のデータの末端を示すオフセット値との間の差分が第1の閾値未満の場合、バッファ401内のフリー記憶エリアのサイズを増やすために、バッファ401内のデータの先頭から最終アクセスオフセット値までのデータ範囲が無効化され、そのデータ範囲に対応するバッファ401内の記憶エリアが解放される。たとえば、マルチメディアコンテンツデータのオフセット値1000バイトからオフセット値2000バイトまでのデータ部がバッファ401に格納されている場合を想定する。第1の閾値は600バイトであるとする。最終アクセスオフセット値が1500バイトになると、最終アクセスオフセット値1500バイトとバッファ401内のデータの末端のオフセット値2000バイトとの間の差分が第1の閾値未満になる。この場合、データ部の先頭1000バイトから最終アクセスオフセット1500バイトまでのデータ範囲が無効化される。
FIG. 11 shows the buffer release control operation when the video final access offset and the audio final access offset are not distinguished. When the amount of data from the last access offset value to the offset value indicating the end of the data in the
しかし、もしこのようなバッファ解放制御動作をストリーミング向けでないマルチメディアコンテンツデータに適用した場合には、次に要求される可能性が高いオフセット位置のデータ部がバッファリングされていたにもかかわらず、そのデータ部が無効化されてしまう可能性がある。図12にはこの様子が示されている。図12においては、N−1番目のアクセス要求に対応する最終アクセスオフセット値とバッファ401内のデータの末端を示すオフセット値との間の差分が第1の閾値未満である場合が想定されている。N−1番目のアクセス要求が発生した時、バッファ401内のデータの先頭からN−1番目の最終アクセスオフセット値までのデータ範囲が無効化され、これによってそのデータ範囲に対応する記憶エリアが解放される。次に、N番目のアクセス要求が発生する。N番目のアクセス要求は、すでに解放された記憶エリア内に存在していたデータ部を要求するオフセット値を含むかもしれない。
However, if such a buffer release control operation is applied to multimedia content data that is not intended for streaming, the data portion at the offset position that is likely to be requested next is buffered. The data part may be invalidated. FIG. 12 shows this state. In FIG. 12, it is assumed that the difference between the final access offset value corresponding to the (N−1) th access request and the offset value indicating the end of the data in the
本実施形態では、次に要求される可能性が高いオフセット位置のデータ部がバッファリングされていたにもかかわらず、そのデータ部が無効化されてしまうという事態の発生を防止するために、図13に示すようなバッファ解放制御動作が実行される。 In the present embodiment, in order to prevent the occurrence of a situation where the data portion at the offset position that is highly likely to be requested next is buffered, the data portion is invalidated. A buffer release control operation as shown in FIG. 13 is executed.
すなわち、本実施形態のバッファ解放制御動作では、ビデオ最終アクセスオフセットとオーディオ最終アクセスオフセットとの内の最小値が、バッファ解放制御動作のための基準値として用いられる。 That is, in the buffer release control operation of this embodiment, the minimum value of the video final access offset and the audio final access offset is used as a reference value for the buffer release control operation.
再生制御部306は、ビデオ最終アクセスオフセットと前記オーディオ最終アクセスオフセットとの内の最小値とバッファ401内のデータの末端を示すオフセット値との間の差分が第1の閾値未満の場合、バッファ401内のフリー記憶エリアのサイズを増やすために、バッファ401内のデータの先頭から上述の最小値までのデータ範囲を無効化し、そのデータ範囲に対応するバッファ401内の記憶エリアを解放する。
When the difference between the minimum value of the video final access offset and the audio final access offset and the offset value indicating the end of the data in the
たとえば、マルチメディアコンテンツデータのオフセット値1000バイトからオフセット値2000バイトまでのデータ部がバッファ401に格納されている場合を想定する。第1の閾値は800バイトであるとする。ビデオ最終アクセスオフセット値は1500バイトであり、オーディオ最終アクセスオフセット値は1250バイトである。この場合、ビデオ最終アクセスオフセットとオーディオ最終アクセスオフセットとの内の最小値は、オーディオ最終アクセスオフセット値である1250バイトとなる。そして、データ部の先頭1000バイトからオーディオ最終アクセスオフセット1250バイトまでのデータ範囲が無効化され、そのデータ範囲に対応するバッファ401内の記憶エリアが解放される。バッファ401に残るのは、オフセット値1250バイトからオフセット値2000バイトまでのデータである。
For example, it is assumed that a data portion of multimedia content data having an offset value of 1000 bytes to an offset value of 2000 bytes is stored in the
なお、ここでは、オーディオ最終アクセスオフセット値がビデオ最終アクセスオフセット値よりも小さい場合を例示したが、オーディオ最終アクセスオフセット値がビデオ最終アクセスオフセット値よりも大きい場合には、ビデオ最終アクセスオフセット値が、ビデオ最終アクセスオフセットとオーディオ最終アクセスオフセットとの内の最小値として用いられる。 Here, the case where the audio final access offset value is smaller than the video final access offset value is illustrated here, but when the audio final access offset value is larger than the video final access offset value, the video final access offset value is Used as the minimum of the video final access offset and the audio final access offset.
次に、図14から図16を参照して、バッファリング済みデータ量の減少時に実行される再生停止動作について説明する。 Next, with reference to FIG. 14 to FIG. 16, the reproduction stop operation executed when the buffered data amount is reduced will be described.
図14は、ビデオ最終アクセスオフセットとオーディオ最終アクセスオフセットとを区別しない場合の再生停止動作の制御を示している。最終アクセスオフセット値からバッファ401内のデータの末端を示すオフセット値までのデータ量が第2の閾値よりも少ない場合、換言すれば、最終アクセスオフセット値とバッファ401内のデータの末端を示すオフセット値との間の差分が第2の閾値未満の場合、バッファ401内に一定量のデータがたまるまで、マルチメディアコンテンツデータの再生が停止される。
FIG. 14 shows the control of the playback stop operation when the video final access offset and the audio final access offset are not distinguished. When the amount of data from the last access offset value to the offset value indicating the end of the data in the
たとえば、マルチメディアコンテンツデータのオフセット値1000バイトからオフセット値2000バイトまでのデータ部がバッファ401に格納されている場合を想定する。第2の閾値は150バイトであるとする。最終アクセスオフセット値がたとえば1900バイトになると、最終アクセスオフセット値1900バイトとバッファ401内のデータの末端のオフセット値2000バイトとの間の差分が第2の閾値未満になる。この場合、バッファ401内に一定量のデータがたまるまで、マルチメディアコンテンツデータの再生が停止される。
For example, it is assumed that a data portion of multimedia content data having an offset value of 1000 bytes to an offset value of 2000 bytes is stored in the
しかし、もしこのような再生停止制御をストリーミング向けでないマルチメディアコンテンツデータに適用した場合には、シークバー401上においては十分なシーク可能区間39が存在しているのにもかかわらず再生動作が突然停止されてしまう可能性がある。図15にはこの様子が示されている。図15においては、N−1番目のアクセス時点のシークバー33が示されている。この時点では、最終アクセスオフセット(N−1番目のアクセス要求で指定されたオフセット)よりも時間的に後方に位置する一定量のデータがシーク可能区間39としてバッファ401に格納されている。しかし、ストリーミング向けでないマルチメディアコンテンツデータにおいては、時間的に近接するオーディオデータ部とビデオデータ部とが非連続であるため、N番目のアクセス要求によって指定されるオフセット値が、N−1番目のアクセス要求で指定されたオフセットよりも時間的に後方の比較的離れた位置を指定するかもしれない。この場合、シークバー401上においては十分なシーク可能区間39が存在しているのにもかかわらず再生動作が突然停止されてしまうという現象が発生する。
However, if such playback stop control is applied to multimedia content data that is not intended for streaming, the playback operation stops suddenly even though there is a sufficient
本実施形態では、図16に示すように、ビデオ最終アクセスオフセットとオーディオ最終アクセスオフセットの内の最大値とバッファ401内のデータの末端を示すオフセット値との間の差分に基づいてシークバー33上にバッファリング済みのデータ区間(シーク可能区間39)が表示され、さらに、ビデオ最終アクセスオフセットとオーディオ最終アクセスオフセットの内の最大値を基準に再生停止制御が実行される。
In the present embodiment, as shown in FIG. 16, the seek
すなわち、再生制御部306は、ビデオ最終アクセスオフセットとオーディオ最終アクセスオフセットとの内の最大値とバッファ401内のデータの末端を示すオフセット値との間の差分が第2の閾値未満の場合、バッファ401内に一定量のデータがたまるまで、マルチメディアコンテンツデータの再生を停止する。
That is, when the difference between the maximum value of the video final access offset and the audio final access offset and the offset value indicating the end of the data in the
図16においては、ビデオ最終アクセスオフセット値よりもオーディオ最終アクセスオフセット値の方が大きい場合が想定されている。この場合、バッファ401内のデータの末端を示すオフセット値との間の差分に基づいてシークバー33上にバッファリング済みのデータ区間(シーク可能区間39)が表示される。図16のシークバー33の表示は、N−1番目のアクセス時点に対応している。
In FIG. 16, it is assumed that the audio final access offset value is larger than the video final access offset value. In this case, the buffered data section (seekable section 39) is displayed on the seek
このような再生停止制御により、シークバー401上においては十分なシーク可能区間39が存在しているのにもかかわらず再生動作が突然停止されてしまうという現象が発生を防止することができる。
By such reproduction stop control, it is possible to prevent the phenomenon that the reproduction operation is suddenly stopped even though there is a sufficient
次に、図17のフローチャートを参照して、プレーヤアプリケーションプログラム202によって実行される再生制御処理の手順を説明する。
Next, with reference to the flowchart of FIG. 17, the procedure of the reproduction control process executed by the
プレーヤアプリケーションプログラム202においては、再生対象のマルチメディアコンテンツデータのインデックス情報に基づき、再生制御部306は、マルチメディアコンテンツデータ内のデータ部それぞれをコンテンツサーバ21から順次受信してバッファ401に格納するためのバッファリング処理を開始する。一定量のデータがバッファ401に格納されると、再生制御部306からデマルチプレクサ302に再生要求が発行され(ステップS11)、これによってマルチメディアコンテンツデータをストリーミングによって再生するための再生処理が開始される(ステップS12)。なお、最初に、再生制御部306からデマルチプレクサ302に再生要求を発行し、その後、バッファリング処理を開始してもよい。
In the
再生処理では、デマルチプレクサ302は、マルチメディアコンテンツデータのインデックス情報に基づき、次に再生すべきデータ(ビデオまたはオーディオ)をデータソース301に要求する(ステップS13)。データソース301においては、アクセス要求されたメディア種別(ビデオまたはオーディオ)を示す情報がメディア識別子設定部403に設定される(ステップS14)。さらに、データソース301においては、アクセス要求されたメディア種別に応じて、ビデオ最終アクセスオフセットまたはオーディオ最終アクセスオフセットが更新される(ステップS15)。そして、再生制御部306の制御の下、これらビデオ最終アクセスオフセットおよびオーディオ最終アクセスオフセットを用いたバッファ管理動作が実行される(ステップS16,S17)。ステップS16では、上述のバッファ解放制御動作(バッファ解放処理)が実行される。またステップS17では、再生を一時的に停止することによって一定量のデータをバッファ401に格納するための上述の再生停止動作(再バッファリング処理)が実行される。バッファ解放制御動作および再生停止動作それぞれの手順の詳細は図19および図20を参照して後述する。
In the reproduction process, the
次に再生すべきデータ(ビデオまたはオーディオ)がデータソース301からデマルチプレクサ302に送られると(ステップS18)、そのデータがビデオデコーダ303またはオーディオデコーダ304によってデコードされることによって再生される(ステップS19)。
When data (video or audio) to be reproduced next is sent from the
マルチメディアコンテンツデータの再生が完了するまで、ステップS12からステップS19までの再生処理が繰り返し実行される。たとえば、再生が進捗し再生位置がマルチメディアコンテンツデータの終端に達すると、再生処理が完了される(ステップS21)。 Until the reproduction of the multimedia content data is completed, the reproduction process from step S12 to step S19 is repeatedly executed. For example, when the playback progresses and the playback position reaches the end of the multimedia content data, the playback process is completed (step S21).
次に、図18のフローチャートを参照して、プレーヤアプリケーションプログラム202によって実行されるシーク制御動作について説明する。
Next, the seek control operation executed by the
ユーザによるスライダ35の移動操作によって、再生位置が、バッファ401にまだ格納されていない、マルチメディアコンテンツデータ内のデータ位置(第1のデータ位置)に変更された場合、以下のシーク制御動作が実行される。
When the playback position is changed to a data position (first data position) in the multimedia content data that has not yet been stored in the
すなわち、再生制御部306は、デマルチプレクサ302に再生動作を停止させると共に、再生位置を第1のデータ位置に変更すべきことをデマルチプレクサ302に要求する(ステップS31)。そして、再生制御部306の制御の下、シーク処理が開始される(ステップS32)。シーク処理では、デマルチプレクサ302は、マルチメディアコンテンツデータのインデックス情報に基づき、次に再生すべきデータ(ビデオまたはオーディオ)をデータソース301に要求する(ステップS33)。シーク処理開始直後においては、ステップS33において、デマルチプレクサ302は、マルチメディアコンテンツデータのインデックス情報に基づき、第1のデータ位置に対応するビデオデータ部のオフセット値を算出し、そのオフセット値を含むアクセス要求をデータソース301に送出する。データソース301においては、アクセス要求されたメディア種別(ビデオまたはオーディオ)を示す情報がメディア識別子設定部403に設定される(ステップS34)。さらに、データソース301においては、アクセス要求されたメディア種別に応じて、ビデオ最終アクセスオフセットまたはオーディオ最終アクセスオフセットが更新される(ステップS35)。そして、再生制御部306の制御の下、以下のバッファリング制御動作が実行される。
That is, the
再生制御部306は、アクセス要求されたデータがバッファ401に格納されていない場合(ステップS36のNO)、そのアクセス要求されたメディア種別がビデオまたはオーディオのいずれであるかを判定する(ステップS41)。アクセス要求されたメディア種別がビデオであれば(ステップS41のYES)、再生制御部306は、バッファ401の全記憶エリアを解放し、そして、アクセス要求によって指定されたオフセット値に後続するデータ部それぞれをコンテンツサーバ21から順次受信してバッファ401に格納する第1のバッファリング処理を開始する(ステップS42)。第1のバッファリング処理では、再生制御部306は、アクセス要求によって指定されたオフセット値に後続するデータ部それぞれをコンテンツサーバ21から取得する処理を繰り返し実行する。
When the access requested data is not stored in the buffer 401 (NO in step S36), the
第1のバッファリング処理によってある一定量のデータがバッファリングされると、再生制御部306は、再生動作を再開させる。次に再生すべきデータ(ビデオまたはオーディオ)がデータソース301からデマルチプレクサ302に送られると(ステップS37)、そのデータがビデオデコーダ303またはオーディオデコーダ304によってデコードされることによって再生される(ステップS38)。マルチメディアコンテンツデータの再生が完了するまで、ステップS32からS38までの処理が繰り返し実行される。再生が進捗し再生位置がマルチメディアコンテンツデータの終端に達すると、再生処理(シーク)が完了される(ステップS40)。
When a certain amount of data is buffered by the first buffering process, the
アクセス要求されたデータがバッファ401に格納されておらず(ステップS36のNO)、且つそのアクセス要求されたデータのメディア種別がオーディオデータであるならば(ステップS41のNO)、再生制御部306は、そのアクセス要求されたデータ(オーディオデータ)のバッファリングおよび再生をスキップし(ステップS43)、ステップS33に進む。つまり、再生制御部306は、バッファ401に格納されていないオーディオデータがアクセス要求された場合には、そのアクセス要求によって要求されたオーディオデータをコンテンツサーバ21から取得する処理、およびオーディオデータをデマルチプレクサ302に再生させる処理をそれぞれスキップする。したがって、シーク期間中においては、たとえまだバッファリングされていないオーディオデータが要求された場合でも、そのオーディオデータの取得のためにシークの起点が変更されることはない。これによって第1のバッファリング処理は継続して実行される。
If the access requested data is not stored in the buffer 401 (NO in step S36), and the media type of the requested data is audio data (NO in step S41), the
シーク処理期間中に、バッファリングされていないビデオデータ部が要求された場合は、ステップS42のバッファリング処理が実行される。この場合、要求されたビデオデータ部とそのビデオデータ部に後続するデータ部それぞれを順次受信してバッファ401に格納する処理が実行される。
If an unbuffered video data part is requested during the seek process, the buffering process in step S42 is executed. In this case, a process of sequentially receiving the requested video data part and the data part subsequent to the requested video data part and storing them in the
なお、再生位置が第1のデータ位置に変更された時点で、第1のバッファリング処理を開始し、一定量のデータがバッファリングされた後に、ステップS32からのシーク処理を開始するようにしてもよい。 The first buffering process is started when the playback position is changed to the first data position. After a certain amount of data is buffered, the seek process from step S32 is started. Also good.
次に、図19のフローチャートを参照して、図17のステップS16で実行されるバッファ解放制御動作(バッファ解放処理)の手順を説明する。図19に示されているように、バッファ解放処理では、再生制御部306は、バッファ量管理部402を用いて、以下の条件が成立しているか否かを判定する。
Next, the procedure of the buffer release control operation (buffer release process) executed in step S16 of FIG. 17 will be described with reference to the flowchart of FIG. As shown in FIG. 19, in the buffer release process, the
閾値>BLOffset − MIN (VFOffset, AFOffset)
ここで、BLOffsetはバッファ401に格納されているデータの末端のオフセット値を示す。VFOffsetはビデオ最終アクセスオフセット値を示す。AFOffsetはオーディオ最終アクセスオフセット値を示す。MIN (VFOffset, AFOffset)は、VFOffsetとAFOffsetの2つの値から最小値を選択する関数を示す。
Threshold> BLOffset − MIN (VFOffset, AFOffset)
Here, BLOffset indicates the offset value at the end of the data stored in the
閾値>BLOffset − MIN (VFOffset, AFOffset)の条件が成立した場合(ステップS51のYES)、再生制御部306は、バッファ401内のデータの先頭からMIN (VFOffset, AFOffset)までのデータを無効化してそのデータが格納されているバッファ401内の記憶エリアを解放する(ステップS52)。
When the condition of threshold> BLOffset−MIN (VFOffset, AFOffset) is satisfied (YES in step S51), the
次に、図20のフローチャートを参照して、図17のステップS17で実行される再生停止動作(再バッファリング処理)の手順を説明する。図20に示されているように、再バッファリング処理では、再生制御部306は、バッファ量管理部402を用いて、以下の条件が成立しているか否かを判定する。
Next, the procedure of the reproduction stop operation (rebuffering process) executed in step S17 of FIG. 17 will be described with reference to the flowchart of FIG. As illustrated in FIG. 20, in the rebuffering process, the
閾値>BLOffset − MAX (VFOffset, AFOffset)
ここで、BLOffsetはバッファ401に格納されているデータの末端のオフセット値を示す。VFOffsetはビデオ最終アクセスオフセット値を示す。AFOffsetはオーディオ最終アクセスオフセット値を示す。MAX (VFOffset, AFOffset)は、VFOffsetとAFOffsetの2つの値から最大値を選択する関数を示す。
Threshold> BLOffset−MAX (VFOffset, AFOffset)
Here, BLOffset indicates the offset value at the end of the data stored in the
閾値>BLOffset − MAX (VFOffset, AFOffset)の条件が成立した場合(ステップS61のYES)、再生制御部306は、一定量のデータがバッファ401に格納されるまで再生を停止させる(ステップS62)。
When the condition of threshold> BLOffset−MAX (VFOffset, AFOffset) is satisfied (YES in step S61), the
以上説明したように、本実施形態によれば、再生位置がバッファ401にまだ格納されていない、マルチメディアコンテンツデータ内の第1のデータ位置に変更された場合、第1のデータ位置に後続するデータ部それぞれをコンテンツサーバ21から順次受信してバッファ401に格納するための第1のバッファリング処理が開始される。そして、所定量のデータがバッファ401に格納された後に、バッファ401に格納されていないオーディオデータ部が要求された場合には、その要求されたオーディオデータ部をコンテンツサーバ21受信してバッファ401に格納するための第2のバッファリング処理の実行がスキップされ、第1のバッファリング処理が継続されると共に、再生部による、要求されたオーディオデータ部の再生がスキップされる。したがって、ストリーミング向けでないマルチメディアコンテンツデータの再生中に再生位置がバッファ401にまだ格納されていない、マルチメディアコンテンツデータ内の第1のデータ位置に変更された場合には、最初の一定期間の間は、ビデオの再生のみが行われ、オーディオは再生されない。一定期間経過後は、ビデオとオーディオの双方が再生される。このように一部のオーディオデータ部に対するバッファリングおよび再生を省略することにより、たとえ再生対象のマルチメディアコンテンツデータが、互いに再生時刻の近いビデオデータ部分とオーディオデータ部分とが非連続であるコンテンツデータであっても、そのコンテンツデータを、スムーズに再生することができる。
As described above, according to the present embodiment, when the reproduction position is changed to the first data position in the multimedia content data that is not yet stored in the
なお、本実施形態の再生制御処理の手順は全てソフトウェアによって実行することができる。このため、この再生制御処理手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。 Note that the playback control processing procedure of this embodiment can all be executed by software. For this reason, it is possible to easily realize the same effect as that of the present embodiment only by installing and executing this program on a normal computer through a computer-readable storage medium storing the program for executing the reproduction control processing procedure. Can do.
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.
10…コンピュータ、21…コンテンツサーバ、33…シークバー、202…プレーヤアプリケーションプログラム、301…データソース、302…デマルチプレクサ、303…ビデオデコーダ、304…オーディオデコーダ、305…レンダラ、306…再生制御部、401…バッファ、402…バッファ量管理部。
DESCRIPTION OF
Claims (6)
前記受信されたマルチメディアコンテンツデータを格納するバッファと、
前記バッファに格納されている前記マルチメディアコンテンツデータ内のビデオデータ部およびオーディオデータ部を再生する再生手段と、
再生位置が前記バッファにまだ格納されていない、前記マルチメディアコンテンツデータ内の第1のデータ位置に変更された場合、前記再生手段に前記再生を停止させると共に、前記マルチメディアコンテンツデータ内の前記第1のデータ位置に後続するデータ部それぞれを前記サーバから順次受信して前記バッファに格納するための第1のバッファリング処理を開始する制御手段とを具備し、
前記制御手段は、前記第1のバッファリング処理が開始された後に前記再生手段に前記第1のデータ位置から前記再生を再開させ、前記バッファに格納されていない、前記マルチメディアコンテンツデータ内のオーディオデータ部が前記再生手段によって要求された場合、前記第1のバッファリング処理の実行を継続し、前記再生手段は、前記要求されたオーディオデータ部を再生しない、電子機器。 An electronic device that reproduces multimedia content data in which video data and audio data are multiplexed while receiving from a server,
A buffer for storing the received multimedia content data;
Playback means for playing back a video data portion and an audio data portion in the multimedia content data stored in the buffer;
When the playback position is changed to the first data position in the multimedia content data that is not yet stored in the buffer, the playback means stops the playback, and the playback unit stops the playback. Control means for starting a first buffering process for sequentially receiving each data part following one data position from the server and storing it in the buffer;
The control means causes the reproduction means to resume the reproduction from the first data position after the first buffering process is started, and the audio in the multimedia content data not stored in the buffer. When the data part is requested by the reproduction means, the electronic apparatus continues to execute the first buffering process, and the reproduction means does not reproduce the requested audio data part.
前記受信されたマルチメディアコンテンツデータをバッファに格納し、
前記バッファに格納されている前記マルチメディアコンテンツデータ内のビデオデータ部およびオーディオデータ部を再生し、
再生位置が前記バッファにまだ格納されていない、前記マルチメディアコンテンツデータ内の第1のデータ位置に変更された場合、前記再生を停止すると共に、前記マルチメディアコンテンツデータ内の前記第1のデータ位置に後続するデータ部それぞれを前記サーバから順次受信して前記バッファに格納するための第1のバッファリング処理を開始し、
前記第1のバッファリング処理が開始された後に前記第1のデータ位置から前記再生を再開し、
前記バッファに格納されていない、前記マルチメディアコンテンツデータ内のオーディオデータ部の再生が要求された場合、前記第1のバッファリング処理を継続すると共に前記要求されたオーディオデータ部を再生しない、再生制御方法。 A reproduction control method for reproducing multimedia content data in which video data and audio data are multiplexed while receiving from a server,
Storing the received multimedia content data in a buffer;
Playing the video data portion and the audio data portion in the multimedia content data stored in the buffer;
If the playback position is changed to a first data position in the multimedia content data that is not yet stored in the buffer, the playback is stopped and the first data position in the multimedia content data Starting a first buffering process for sequentially receiving each data part from the server and storing it in the buffer;
Resuming the playback from the first data position after the first buffering process is started;
When reproduction of an audio data portion in the multimedia content data not stored in the buffer is requested, the first buffering process is continued and the requested audio data portion is not reproduced. Method.
前記受信されたマルチメディアコンテンツデータをバッファに格納する手順と、
前記バッファに格納されている前記マルチメディアコンテンツデータ内のビデオデータ部およびオーディオデータ部を再生する手順と、
再生位置が前記バッファにまだ格納されていない、前記マルチメディアコンテンツデータ内の第1のデータ位置に変更された場合、前記再生を停止すると共に、前記マルチメディアコンテンツデータ内の前記第1のデータ位置に後続するデータ部それぞれを前記サーバから順次受信して前記バッファに格納するための第1のバッファリング処理を開始する手順と、
前記第1のバッファリング処理が開始された後に前記第1のデータ位置から前記再生を再開する手順と、
前記バッファに格納されていない、前記マルチメディアコンテンツデータ内のオーディオデータ部の再生が要求された場合、前記第1のバッファリング処理を継続すると共に前記要求されたオーディオデータ部を再生しない手順とを前記コンピュータに実行させるプログラム。 A program for causing a computer to reproduce multimedia content data in which video data and audio data are multiplexed while receiving from a server,
Storing the received multimedia content data in a buffer;
Replaying a video data portion and an audio data portion in the multimedia content data stored in the buffer;
If the playback position is changed to a first data position in the multimedia content data that is not yet stored in the buffer, the playback is stopped and the first data position in the multimedia content data Starting a first buffering process for sequentially receiving each data part from the server and storing it in the buffer;
Resuming the playback from the first data position after the first buffering process is started;
When reproduction of an audio data portion in the multimedia content data not stored in the buffer is requested, the first buffering process is continued and the requested audio data portion is not reproduced. A program to be executed by the computer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012194018A JP5552650B2 (en) | 2012-09-04 | 2012-09-04 | Electronic device and reproduction control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012194018A JP5552650B2 (en) | 2012-09-04 | 2012-09-04 | Electronic device and reproduction control method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011160807 Division | 2011-07-22 | 2011-07-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013027051A true JP2013027051A (en) | 2013-02-04 |
JP5552650B2 JP5552650B2 (en) | 2014-07-16 |
Family
ID=47784853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012194018A Active JP5552650B2 (en) | 2012-09-04 | 2012-09-04 | Electronic device and reproduction control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5552650B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016136676A (en) * | 2015-01-23 | 2016-07-28 | 日本放送協会 | Receiver, buffer management method, and program |
JP2017123175A (en) * | 2015-01-01 | 2017-07-13 | 利仁 曽根 | Segment file acquisition method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006174309A (en) * | 2004-12-17 | 2006-06-29 | Ricoh Co Ltd | Animation reproducing apparatus, program, and record medium |
JP2007312122A (en) * | 2006-05-18 | 2007-11-29 | Hitachi Ltd | Network receiver |
JP2009124527A (en) * | 2007-11-16 | 2009-06-04 | Brother Ind Ltd | Content reproduction method, node device, and program |
JP2011061533A (en) * | 2009-09-10 | 2011-03-24 | Nec Corp | Content distribution system, sensory quality estimating apparatus, method, and program |
-
2012
- 2012-09-04 JP JP2012194018A patent/JP5552650B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006174309A (en) * | 2004-12-17 | 2006-06-29 | Ricoh Co Ltd | Animation reproducing apparatus, program, and record medium |
JP2007312122A (en) * | 2006-05-18 | 2007-11-29 | Hitachi Ltd | Network receiver |
JP2009124527A (en) * | 2007-11-16 | 2009-06-04 | Brother Ind Ltd | Content reproduction method, node device, and program |
JP2011061533A (en) * | 2009-09-10 | 2011-03-24 | Nec Corp | Content distribution system, sensory quality estimating apparatus, method, and program |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017123175A (en) * | 2015-01-01 | 2017-07-13 | 利仁 曽根 | Segment file acquisition method |
JP2021013153A (en) * | 2015-01-01 | 2021-02-04 | 利仁 曽根 | Content distribution system |
JP2016136676A (en) * | 2015-01-23 | 2016-07-28 | 日本放送協会 | Receiver, buffer management method, and program |
Also Published As
Publication number | Publication date |
---|---|
JP5552650B2 (en) | 2014-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5859625B2 (en) | Adaptive media content to scrub remote devices | |
US9473548B1 (en) | Latency reduction in streamed content consumption | |
US20070157268A1 (en) | Portable media device with improved video acceleration capabilities | |
US20210225406A1 (en) | Video acquisition method and device, terminal and medium | |
JP2009044416A (en) | Content playback device, content playback method, program, and content playback system | |
WO2018192183A1 (en) | Method and apparatus for processing video file during wireless screen delivery | |
TWI390980B (en) | A content reproduction apparatus, a content reproduction method, a content reproduction program, and a content reproduction system | |
US9872054B2 (en) | Presentation of a multi-frame segment of video content | |
JP2016184774A (en) | Information processing device, information processing method, information processing program, and distribution device | |
EP2629514B1 (en) | Video playback device and video playback method | |
US20090193355A1 (en) | Information processing apparatus and display control method | |
JP5552650B2 (en) | Electronic device and reproduction control method | |
JP5106671B1 (en) | Electronic device and reproduction control method | |
WO2023035884A1 (en) | Dynamic picture-quality video playing method and apparatus, and electronic device and storage medium | |
KR20140117889A (en) | Client apparatus, server apparatus, multimedia redirection system and the method thereof | |
KR101993418B1 (en) | Method and system for operating wireless communication channel in portable terminal | |
JP2011009949A (en) | Video processor and video processing method | |
EP2549772A2 (en) | Electronic apparatus and playback control method | |
JP2012222530A (en) | Receiving device and method, and program | |
JPWO2005104125A1 (en) | Recording / reproducing apparatus, simultaneous recording / reproducing control method, and simultaneous recording / reproducing control program | |
JP2014131307A (en) | Information processing apparatus, information processing method, and program | |
JP2015038790A (en) | Information processor and operation position control method | |
KR101888244B1 (en) | Method of playing multimedia contents by integrating multi-devices and apparatus performing the same | |
US9378300B2 (en) | Interface method and display device | |
JP2012198816A (en) | Display control device and program thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130726 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20130730 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130827 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131025 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140107 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140310 |
|
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: 20140401 |
|
RD07 | Notification of extinguishment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7427 Effective date: 20140415 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140425 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5552650 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 Free format text: JAPANESE INTERMEDIATE CODE: R313121 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |