再生装置、ストリームファイルの再生方法、及びプログラム
【課題】新たなコンテンツを再生する場合でも素早くコンテンツの再生を開始できるようにすること。
【解決手段】ストリームファイルを取得するストリーム取得部と、所定のプレイリスト及び所定のクリップ情報ファイルに適合するように前記ストリームファイルを分割して分割ストリームファイルを生成するストリーム分割部と、前記所定のプレイリスト及び前記所定のクリップ情報ファイルに基づいて前記分割ストリームファイルを再生するストリーム再生部と、を備える、再生装置が提供される。
【解決手段】ストリームファイルを取得するストリーム取得部と、所定のプレイリスト及び所定のクリップ情報ファイルに適合するように前記ストリームファイルを分割して分割ストリームファイルを生成するストリーム分割部と、前記所定のプレイリスト及び前記所定のクリップ情報ファイルに基づいて前記分割ストリームファイルを再生するストリーム再生部と、を備える、再生装置が提供される。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、再生装置、ストリームファイルの再生方法、及びプログラムに関する。
【背景技術】
【0002】
動画などのコンテンツをストリーミング配信するサービスが広く利用されている。こうしたサービスを提供する際に用いられる技術の中に、プログレッシブダウンロード再生と呼ばれる技術がある。プログレッシブダウンロード再生とは、コンテンツを構成するストリームファイルを順次ダウンロードしながら、ダウンロードが完了したストリームファイルを順に再生する方法である。プログレッシブダウンロード再生に関し、下記の特許文献1には、再生用管理ファイルに記載されたデータ量よりも、ダウンロードしたストリームファイルのデータ量が少ない場合に、データ量の差分に相当する量のパディングデータをストリームファイルに付加する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第4444358号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、Blu−ray Disc(以下、BD)規格に準拠したストリームファイルは、プレイアイテム及びクリップ情報ファイルに1対1で対応付けられている。また、新たなプレイアイテム及びクリップ情報ファイルに対応するストリームファイルを再生する際、BDプレーヤなどの再生装置は、そのプレイアイテム及びクリップ情報ファイルを認識するための処理を実行する。この処理は、BDプレーヤなどの再生装置にとって負荷の高い処理である。そのため、この処理を完了するまでには、ある程度の時間がかかる。その結果、新たなコンテンツを再生する度に不快な待ち時間が生じてしまう。
【0005】
そこで、本技術は、上記のような事情を受けて考案されたものであり、新たなコンテンツを再生する場合でも素早くコンテンツの再生を開始することが可能な、新規かつ改良された再生装置、ストリームファイルの再生方法、及びプログラムを提供することを意図している。
【課題を解決するための手段】
【0006】
本技術のある観点によれば、ストリームファイルを取得するストリーム取得部と、所定のプレイリスト及び所定のクリップ情報ファイルに適合するように前記ストリームファイルを分割して分割ストリームファイルを生成するストリーム分割部と、前記所定のプレイリスト及び前記所定のクリップ情報ファイルに基づいて前記分割ストリームファイルを再生するストリーム再生部と、を備える、再生装置が提供される。
【0007】
また、本技術の別の観点によれば、ストリームファイルを取得するステップと、所定のプレイリスト及び所定のクリップ情報ファイルに適合するように前記ストリームファイルを分割して分割ストリームファイルを生成するステップと、前記所定のプレイリスト及び前記所定のクリップ情報ファイルに基づいて前記分割ストリームファイルを再生するステップと、を含む、ストリームファイルの再生方法が提供される。
【0008】
また、本技術の別の観点によれば、ストリームファイルを取得するストリーム取得機能と、所定のプレイリスト及び所定のクリップ情報ファイルに適合するように前記ストリームファイルを分割して分割ストリームファイルを生成するストリーム分割機能と、前記所定のプレイリスト及び前記所定のクリップ情報ファイルに基づいて前記分割ストリームファイルを再生するストリーム再生機能と、をコンピュータに実現させるためのプログラムが提供される。また、本技術の別の観点によれば、当該プログラムが記録された、コンピュータにより読み取り可能な記録媒体が提供される。
【発明の効果】
【0009】
以上説明したように本技術によれば、新たなコンテンツを再生する場合でも素早くコンテンツの再生を開始することが可能になる。
【図面の簡単な説明】
【0010】
【図1】ストリーミング配信システムの一構成例を示した説明図である。
【図2】再生用管理ファイルの構成を示した説明図である。
【図3】再生用管理ファイルの構成を示した説明図である。
【図4】仮想パッケージ構築機能を利用したプログレッシブダウンロード再生に関する処理の流れについて説明するための説明図である。
【図5】仮想パッケージ構築機能を利用したプログレッシブダウンロード再生に関する処理の流れについて説明するための説明図である。
【図6】仮想パッケージ構築機能を利用したプログレッシブダウンロード再生に関する処理の流れについて説明するための説明図である。
【図7】仮想パッケージ構築機能を利用したプログレッシブダウンロード再生に関する処理の流れについて説明するための説明図である。
【図8】仮想パッケージ構築機能を利用したプログレッシブダウンロード再生に関する処理の流れについて説明するための説明図である。
【図9】既存の仮想パッケージを利用したプログレッシブダウンロード再生に関する処理の流れについて説明するための説明図である。
【図10】既存の仮想パッケージを利用したプログレッシブダウンロード再生に関する処理の流れについて説明するための説明図である。
【図11】既存の仮想パッケージを利用したプログレッシブダウンロード再生に関する処理の流れについて説明するための説明図である。
【図12】実施例に係る再生装置の一構成例を示した説明図である。
【図13】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図14】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図15】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図16】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図17】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図18】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図19】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図20】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図21】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図22】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図23】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図24】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図25】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図26】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図27】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図28】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図29】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図30】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図31】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図32】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図33】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図34】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図35】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図36】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図37】本実施形態に係るプログレッシブダウンロード再生を実現することが可能なハードウェア構成例を示した説明図である。
【発明を実施するための形態】
【0011】
以下に添付図面を参照しながら、本技術に係る好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0012】
[説明の流れについて]
ここで、以下に記載する説明の流れについて簡単に述べる。
【0013】
まず、図1を参照しながら、ストリーミング配信システムの一構成例について説明する。次いで、図2及び図3を参照しながら、再生用管理ファイルの構成について説明する。次いで、図4〜図8を参照しながら、仮想パッケージ構築機能を利用したプログレッシブダウンロード再生に関する処理の流れについて説明する。次いで、図9〜図11を参照しながら、既存の仮想パッケージを利用したプログレッシブダウンロード再生に関する処理の流れについて説明する。
【0014】
次いで、図12を参照しながら、一実施例に係る再生装置100の機能構成について説明する。次いで、図13〜図36を参照しながら、一実施例に係るプログレッシブダウンロード再生処理の流れについて説明する。次いで、図37を参照しながら、本実施形態に係るプログレッシブダウンロード再生を実現することが可能なハードウェア構成例について説明する。最後に、本実施形態の技術的思想について纏め、当該技術的思想から得られる作用効果について簡単に説明する。
【0015】
(説明項目)
1:はじめに
1−1:ストリーミング配信システムの構成
1−2:再生用管理ファイルの構成
1−3:仮想パッケージ構築機能を利用したプログレッシブダウンロード再生
1−4:既存の仮想パッケージを利用したプログレッシブダウンロード再生
2:実施例
2−1:再生装置100の構成
2−2:プログレッシブダウンロード再生処理の流れ
2−3:補足
3:ハードウェア構成例
4:まとめ
【0016】
<1:はじめに>
はじめに、プログレッシブダウンロード再生を実行することが可能なストリーミング配信システムの構成、及びプログレッシブダウンロード再生の大まかな仕組みについて説明する。この中で、BD規格で規定された仮想パッケージ構築機能を利用したプログレッシブダウンロード再生の仕組み、及び、既存の仮想パッケージを利用したプログレッシブダウンロード再生の仕組みについて紹介する。なお、本実施形態に係る技術は、既存の仮想パッケージを利用したプログレッシブダウンロード再生の仕組みに関する。
【0017】
[1−1:ストリーミング配信システムの構成]
まず、図1を参照しながら、プログレッシブダウンロード再生を実行することが可能なストリーミング配信システムの構成について説明する。図1は、プログレッシブダウンロード再生を実行することが可能なストリーミング配信システムの構成について説明するための説明図である。
【0018】
図1に示すように、ストリーミング配信システムは、例えば、配信サーバ11と、ネットワーク12と、再生装置100と、表示装置13とにより構成される。配信サーバ11は、ネットワーク12を介して音声や動画などのコンテンツを配信する。ネットワーク12は、インターネットなどの広域ネットワークやLAN(Local Area Network)などの局所ネットワークにより構成される通信網である。再生装置100は、配信サーバ11からコンテンツをダウンロードし、ダウンロードしたコンテンツを再生する。但し、プログレッシブダウンロード再生の場合、再生装置100は、コンテンツを構成する複数のストリームファイルを順次ダウンロードし、ダウンロードが完了した順にストリームファイルを再生する。再生されたコンテンツは、表示装置13に表示される。
【0019】
以下では、図1に示したストリーミング配信システムの構成を念頭において説明を進めるが、ストリーミング配信システムの構成はこれに限定されない。例えば、再生装置100がBDプレーヤや家庭用ゲーム機などの場合、表示装置13と再生装置100とが別体であることが多い。一方で、再生装置100がノート型パーソナルコンピュータ、情報端末、携帯電話、携帯動画プレーヤ、携帯音楽プレーヤ、カーナビゲーションシステムなどの場合、再生装置100に表示手段が搭載されていることが多い。この場合、表示装置13は省略される。また、配信サーバ11に代えて、ネットワーク12に接続された撮像装置からコンテンツを配信する構成が考えられる。例えば、ビデオカメラや監視カメラで撮影したライブ映像を再生装置100にストリーミング配信する構成などが考えられる。
【0020】
以上、ストリーミング配信システムの構成について説明した。
【0021】
[1−2:再生用管理ファイルの構成]
次に、図2及び図3を参照しながら、BD規格に準拠したストリームファイルの再生に利用される再生用管理ファイルの構成について説明する。図2及び図3は、BD規格に準拠したストリームファイルの再生に利用される再生用管理ファイルの構成について説明するための説明図である。なお、ここで考えるストリームファイルは、BD規格で規定されたMPEG2−TSファイル、或いは、BD規格に準拠した映像・音声データを含むMPEG2−TSファイルである。
【0022】
再生用管理ファイルは、プレイリスト及びクリップ情報ファイルにより構成される。また、プレイリストは、複数のプレイアイテムにより構成される。1つのプレイアイテムは、1つのクリップ情報ファイルに対応付けられている。また、1つのクリップ情報ファイルは、1つのストリームファイルに対応付けられている。プレイアイテムは、クリップ情報ファイルへの参照、再生開始時刻、再生終了時刻、コーデック情報を含む。一方、クリップ情報ファイルは、レコーディングレート、パケットの個数、時刻情報と位置情報とを対応付けるためのマッピング情報を含む。なお、時刻情報とは、再生時刻を示す情報である。また、位置情報とは、ストリームファイル内の位置を示す情報である。
【0023】
プレイリスト中にある情報は、時間単位で示されている。また、ユーザの操作指示は、時間単位で行われる。例えば、「現在位置から15秒先までスキップ」「先頭位置から5分後の位置に付されたマークまでジャンプ」といった操作指示が行われる。図2に示すように、クリップ情報ファイルは、プレイリスト中の時刻情報をストリームファイル中の位置情報に変換する際に利用される。例えば、図3に示すように、ユーザから操作指示が与えられると、まず、再生装置100は、クリップ情報ファイルを参照し、ユーザにより指定された時刻情報をストリームファイル中の位置情報に変換する。そして、再生装置100は、変換により得られたストリームファイル中の位置情報に基づいて操作指示の内容に応じた再生制御を実行する。
【0024】
以上、再生用管理ファイルの構成について説明した。上記のように、ストリームファイルの再生制御には、再生用管理ファイルが用いられる。そのため、ストリームファイルを再生する際、再生装置100は、予め再生用管理ファイルを認識しておく必要がある。再生用管理ファイルの認識は、例えば、仮想パッケージ構築機能を利用して実現される。
【0025】
[1−3:仮想パッケージ構築機能を利用したプログレッシブダウンロード再生]
そこで、図4〜図8を参照しながら、仮想パッケージ構築機能を利用したプログレッシブダウンロード再生の大まかな仕組みについて説明する。図4〜図8は、仮想パッケージ構築機能を利用したプログレッシブダウンロード再生の大まかな仕組みについて説明するための説明図である。
【0026】
以下、図4に示した処理の流れに沿って説明を進める。プログレッシブダウンロード再生を開始した再生装置100は、図5に示すように、再生するコンテンツの再生用管理ファイルを配信サーバ11からダウンロードする(S11)。図5の例では、プレイリスト「00001.mpls」及びクリップ情報ファイル「01001.clpi」「01002.clpi」を含む再生用管理ファイルがダウンロードされている。次いで、再生装置100は、図7に示すように、ダウンロードした再生用管理ファイルに基づいて仮想パッケージを構築する(S12)。但し、ストリームファイルについては、ストリームファイルへのマッピングだけが定義される。
【0027】
上記の仮想パッケージ構築機能は、図6に示すように、BD−ROMディスクから読み出したコンテンツに対して、ダウンロードしたコンテンツを追加する場合などに利用される機能である。図6の例は、BD−ROMディスクにあるストリームファイル「01001.m2ts」にストリームファイル「01002.m2ts」を追加する手順を示している。ストリームファイル「01002.m2ts」を追加する場合、ストリームファイル「01002.m2ts」に対応するプレイアイテム及びクリップ情報ファイルが必要になる。そのため、プレイアイテムが追加された新たなプレイリスト「0001.mpls」及びクリップ情報ファイル「01002.clpi」が与えられている。
【0028】
図6に示すように、再生装置100は、プレイリスト「0001.mpls」を新たなプレイリスト「0001.mpls」に更新し、クリップ情報ファイル「01002.clpi」及びストリームファイル「01002.m2ts」を追加した仮想パッケージを生成する。この機能を利用することにより、BD−ROMに記録されているコンテンツに対し、新たな言語の字幕を追加したり、特典映像を付与したりすることが可能になる。但し、仮想パッケージの構築処理は、プレイアイテムと、クリップ情報ファイルと、ストリームファイルとの間の対応関係など、再生用管理ファイルに含まれる情報が持つ構造を再び認識しなおす処理を含む。そのため、仮想パッケージの構築処理は演算量が大きい。そのため、市場に出回っているBDプレーヤを用いた場合、仮想パッケージの構築を開始してから完了するまでに数秒〜十数秒を要する。
【0029】
再び図4を参照する。仮想パッケージを構築すると、再生装置100は、図8に示すように、配信サーバ11からストリームファイルをダウンロードし(S13)、ダウンロードしたストリームファイルを有効化する(S14)。ステップS12においてストリームファイルへのマッピングが定義されているため、ストリームファイルのダウンロードが完了すると、そのストリームファイルを再生することが可能になる。次いで、再生装置100は、全てのストリームファイルを有効化したか否かを判定する(S15)。全てのストリームファイルを有効化した場合、再生装置100は、一連の処理を終了する。一方、全てのストリームファイルを有効化してはいない場合、再生装置100は、処理をステップS13に進め、再びステップS13〜S15の処理を実行する。
【0030】
以上、仮想パッケージ構築機能を利用したプログレッシブダウンロード再生の大まかな仕組みについて説明した。上記のように、仮想パッケージ構築機能を利用すれば、プログレッシブダウンロード再生を実現することが可能になる。しかし、仮想パッケージの構築には時間がかかる。また、上記の仕組みを利用する場合、コンテンツを切り替える度に仮想パッケージの構築が必要になる。そのため、上記の仕組みを利用した場合、ユーザが快適にプログレッシブダウンロード再生を楽しむことは難しい。
【0031】
[1−4:既存の仮想パッケージを利用したプログレッシブダウンロード再生]
そこで、本件発明者は、仮想パッケージの再構築を行わずに様々なコンテンツをプログレッシブダウンロード再生できるようにする仕組みを考案した。ここでは、図9〜図11を参照しながら、その概要について説明する。
【0032】
以下、図9に示した処理の流れに沿って説明を進める。プログレッシブダウンロード再生を開始した再生装置100は、まず、所定の再生用管理ファイルに対応する既存の仮想パッケージを取得し(S21)、その再生用管理ファイルを認識する。例えば、再生装置100は、BD−ROMや記憶装置などから予め用意された既存の仮想パッケージを読み込む。なお、再生装置100の起動時などに、既存の仮想パッケージを読み込む仕組みにしてもよい。また、再生装置100の起動時や最初にプログレッシブダウンロード再生を行う際などに、ダウンロードした再生用管理ファイルを用いて1度だけ仮想パッケージの構築を行う仕組みにしてもよい。
【0033】
既存の仮想パッケージを取得すると、再生装置100は、図10に示すように、所定の再生用管理ファイルに基づいて分割区間情報を生成する(S22)。まず、再生装置100は、再生管理ファイルに含まれるプレイアイテムとクリップ情報ファイルとの組み合わせを抽出する。次いで、再生装置100は、プレイアイテムから再生開始時刻、再生終了時刻、ストリームファイルのコーデック情報を読み込み、分割区間情報として保持する。さらに、再生装置100は、クリップ情報ファイルからストリームファイルのレコーディングレート、パケットの個数、開始パケットの位置情報を読み込み、分割区間情報として保持する。このとき、再生装置100は、クリップ情報ファイルに含まれるマッピング情報に基づいて開始パケットの位置情報を取得する。次いで、再生装置100は、再生終了時刻と再生開始時刻との差分(再生時間)を算出し、分割区間情報として保持する。
【0034】
再生装置100は、再生管理ファイルに含まれるプレイアイテムとクリップ情報ファイルとの組み合わせを順次抽出し、上記のようにして各組み合わせに対応する分割区間情報を生成する。分割区間情報を生成すると、再生装置100は、配信サーバ11からストリームファイルをダウンロードする(S23)。次いで、再生装置100は、ステップS22で生成した分割区間情報に基づいてストリームファイルを分割して分割ストリームファイルを生成する(S24)。この分割ストリームファイルは、ステップS21で取得した既存の仮想パッケージに適合したものになる。
【0035】
なお、分割ストリームファイルに含まれるパケットの個数が分割区間情報に記載されたパケットの個数と異なる場合、再生装置100は、分割区間情報の内容と整合するように、分割ストリームファイルにパディングパケット(例えば、NULLパケットなど)を追加する。上記のようにして分割ストリームファイルを生成すると、再生装置100は、図11に示すように、分割ストリームファイルを有効化する(S25)。
【0036】
次いで、再生装置100は、全てのストリームファイルについて分割ストリームファイルを有効化したか否かを判定する(S26)。全てのストリームファイルについて分割ストリームファイルを有効化した場合、再生装置100は、ストリームファイルの分割に関する一連の処理を終了する。一方、全てのストリームファイルについては分割ストリームファイルを有効化していない場合、再生装置100は、処理をステップS23に進め、再びステップS23〜S25の処理を実行する。
【0037】
以上、既存の仮想パッケージを利用したプログレッシブダウンロード再生の仕組みについて概要を説明した。なお、図9の例ではストリームファイルをダウンロードしてからストリームファイルの分割を実行しているが、ストリームファイルのダウンロードとストリームファイルの分割処理とを並行して行うように仕組みの一部を変形することもできる。つまり、ダウンロードの途中でも、ダウンロードが完了したパケットを利用して分割ストリームファイルを生成していくのである。このような構成にすると、ストリームファイルのダウンロードが途中の状態でストリームファイルを別のストリームファイルに切り替えるといった操作が可能になる。
【0038】
例えば、ダウンロードの速度が低下した場合に、ストリームファイルのダウンロードが途中の状態でデータ量の小さいストリームファイルに切り替えることが可能になる。これまで知られているプログレッシブダウンロード再生の仕組みでは、クリップ情報ファイルを単位としてストリームファイルの切り替えが行われるため、ストリームファイルのダウンロードが完了するまでストリームファイルの切り替えを待つ必要があった。しかし、上記の仕組みを適用すれば素早くストリームファイルの切り替えを行うことが可能になる。
【0039】
以上説明したように、本実施形態に係る技術は、所定の再生用管理ファイルに適合するように、ストリームファイルを分割する仕組みに関する。この仕組みを適用することにより、再生用管理ファイルの認識に要する時間を省略することが可能になり、快適なプログレッシブダウンロード再生を実現することが可能になる。また、ダウンロードの途中でストリームファイルを別のストリームファイルに切り替えられるようにすることで、ダウンロード速度の変化に素早く適応することが可能になる。
【0040】
<2:実施例>
これまでは本実施形態に係る技術の概要について説明してきた。以下では、BDプレーヤや家庭用ゲーム機などへの実装を念頭において、より具体的かつ詳細に本実施形態に係る技術について説明する。
【0041】
[2−1:再生装置100の構成]
まず、図12を参照しながら、本実施例に係る再生装置100の機能構成について説明する。図12は、本実施例に係る再生装置100の機能構成について説明するための説明図である。
【0042】
図12に示すように、再生装置100は、主に、通信部101と、ストリームファイル選択・分割部102と、再生制御部103と、再生用管理ファイル解析部104とにより構成される。
【0043】
通信部101は、ネットワーク12を介して配信サーバ11から再生用管理ファイルやストリームファイルなどのファイルをダウンロードするための通信手段である。また、ストリームファイル選択・分割部102は、ストリームファイルを分割して分割ストリームファイルを生成する手段である。また、再生制御部103は、ユーザの操作指示に従って分割ストリームファイルの再生制御を実行する手段である。また、再生用管理ファイル解析部104は、再生用管理ファイルを取得し、取得した再生用管理ファイルに基づいて分割区間情報を生成する手段である。
【0044】
以上、再生装置100の機能構成について説明した。
【0045】
[2−2:プログレッシブダウンロード再生処理の流れ]
次に、図13〜図36を参照しながら、本実施例に係る再生装置100により実行されるプログレッシブダウンロード再生処理の流れについて説明する。図13〜図36は、本実施例に係る再生装置100により実行されるプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【0046】
プログレッシブダウンロード再生を開始した再生装置100は、ストリームファイル選択・分割部102の機能により、ダウンロードの対象となるストリームファイルを選択し、選択したストリームファイルを分割対象となるストリームファイル(以下、入力ストリーム)に設定する(S101)。次いで、再生装置100は、ブランクストリームファイル数を設定する(S102)。
【0047】
ここで、ブランクストリームファイルについて説明を補足する。BDプレーヤなどの再生装置100は、多くの場合、プログレッシブダウンロード再生の際にストリームファイルの先読みを実行する。そのため、先読み対象となるストリームファイルが有効化されていない場合、再生装置100は、エラーを出力する。例えば、入力ストリームの再生時間よりも、全ての分割区間情報について各分割区間情報に記載された再生時間を総和した総再生時間が長い場合、入力ストリームの末尾まで再生されない。そこで、本実施例に係る再生装置100は、入力ストリームの末尾にあるパケットを利用して分割ストリームファイルを生成し、入力ストリームの末尾まで再生されるようにする。このようにして追加的に生成される分割ストリームファイルのことをブランクストリームファイルと呼ぶ。なお、ブランクストリームファイルの数は、想定される先読みファイルの数よりも十分に大きな数に設定される。
【0048】
さて、ブランクストリームファイル数を設定すると、再生装置100は、MPEG2−TS変換フラグを設定する(S103)。MPEG2−TS変換フラグは、入力ストリームをMPEG2−TS形式からM2TS形式に変換するか否かを示すフラグである。例えば、MPEG2−TS形式からM2TS形式に変換する場合、MPEG2−TS変換フラグは、trueに設定される。次いで、再生装置100は、循環分割フラグを設定する(S104)。循環分割フラグは、循環分割を行うか否かを示すフラグである。例えば、循環分割を行う場合、循環分割フラグは、trueに設定される。
【0049】
上記の循環分割とは、入力ストリームの再生時間が、全ての分割区間情報について各分割区間情報の再生時間を総和した総再生時間を越える場合に利用される分割方式を意味する。また、この循環分割は、ライブカメラ中継のように再生時間が確定されない場合も利用される。
【0050】
循環分割は、次のような処理ステップにより実現される。まず、再生装置100は、最終の分割区間情報に基づく分割ストリームファイルの生成が完了した時点で、分割区間を先頭に移行する。次いで、再生装置100は、一旦、入力元を最終の分割ストリームファイルに置き換えて分割処理を続行する。そして、再生装置100は、最終の分割ストリームファイルの末尾まで読み込んだ際に、入力元を元の入力ストリームファイルに再び戻し、分割処理を継続する。また、再生時において、再生装置100は、再生時点が最終の分割ストリームファイルに達した際に一時停止し、先頭にある分割区間情報に基づく分割処理が先読みファイル数まで進行した時点で再生を再開する。
【0051】
さて、ステップS105に処理を進めた再生装置100は、再生用管理ファイル解析部104の機能により、所定の再生用管理ファイルを取得し、取得した再生用管理ファイルから分割区間情報を生成する(S105)。次いで、再生装置100は、入力ストリーム切り替え可否フラグをtrueに設定する(S106)。次いで、再生装置100は、ビデオパケット詳細処理開始可否フラグをfalseに設定する(S107)。次いで、再生装置100は、入力ストリームの分割処理を開始する(S108)。このとき、ストリームファイル選択・分割部102は、再生制御部103に分割処理の開始を通知する。
【0052】
次に、図14を参照する。分割処理を開始した再生装置100は、終了フラグがtrueに設定されているか否かを判定する(S109)。但し、終了フラグの初期値はfalseである。終了フラグがtrueに設定されている場合、再生装置100は、処理をステップS114に進める。一方、終了フラグがfalseに設定されている場合、再生装置100は、処理をステップS110に進める。処理をステップS110に進めた場合、再生装置100は、入力ストリーム終端通知フラグをtrueに設定し、「パケットの読み込み処理(図15及び図16)」を実行する(S110)。なお、「パケットの読み込み処理(図15及び図16)」の詳細については後述する。
【0053】
次いで、再生装置100は、入力ストリーム終端フラグがtrueに設定されているか否かを判定する(S111)。入力ストリーム終端フラグがtrueに設定されている場合、再生装置100は、処理をステップS113に進める。一方、入力ストリーム終端フラグがfalseに設定されている場合、再生装置100は、処理をステップS112に進める。処理をステップS112に進めた場合、再生装置100は、「パケットの処理(図17〜図19)」を実行し(S112)、処理をステップS109に進める。なお、「パケットの処理(図17〜図19)」の詳細については後述する。
【0054】
処理をステップS113に進めた場合、再生装置100は、「入力ストリームの終端処理(図20)」を実行する(S113)。なお、「入力ストリームの終端処理(図20)」の詳細については後述する。次いで、再生装置100は、「分割ストリームファイルのクローズ処理(図21)」を実行する(S114)。なお、「分割ストリームファイルのクローズ処理(図21)」の詳細については後述する。次いで、再生装置100は、入力ストリームの分割処理を終了し(S115)、プログレッシブダウンロード再生に関する一連の処理を終了する。このとき、ストリームファイル選択・分割部102は、再生制御部103に分割処理の終了を通知する。
【0055】
以上、本実施例に係る再生装置100によるプログレッシブダウンロード再生処理の全体的な流れについて説明した。以下、「パケットの読み込み処理(図15及び図16)」、「パケットの処理(図17〜図19)」、「入力ストリームの終端処理(図20)」、「分割ストリームファイルのクローズ処理(図21)」について詳細に説明する。
【0056】
(「パケットの読み込み処理(図15及び図16)」の詳細)
まず、図15及び図16を参照しながら、「パケットの読み込み処理(図15及び図16)」の詳細について説明する。図15及び図16は、「パケットの読み込み処理(図15及び図16)」の詳細について説明するための説明図である。
【0057】
図15に示すように、パケットの読み込み処理を開始した再生装置100は、「入力ストリームの取得処理(図22)」を実行する(S131)。なお、「入力ストリームの取得処理(図22)」の詳細については後述する。次いで、再生装置100は、ステップS131で取得した入力ストリームからパケットを1個読み込む(S132)。次いで、再生装置100は、ステップS132で読み込んだパケットが入力ストリームの終端に位置するものであるか否かを判定する(S133)。読み込んだパケットが入力ストリームの終端に位置するものである場合、再生装置100は、処理をステップS134に進める。一方、読み込んだパケットが入力ストリームの終端に位置するものでない場合、再生装置100は、処理をステップS140(図16)に進める。
【0058】
処理をステップS134に進めた場合、再生装置100は、入力ストリーム終端通知フラグがtrueに設定されているか否かを判定する(S134)。入力ストリーム終端通知フラグがtrueに設定されている場合、再生装置100は、処理をステップS135に進める。一方、入力ストリーム終端通知フラグがfalseに設定されている場合、再生装置100は、処理をステップS141(図16)に進める。処理をステップS135に進めた場合、再生装置100は、分割可否判定フラグをfalseに設定し、「入力ストリームの切り替え処理(図23〜図25)」を実行する(S135)。なお、「入力ストリームの切り替え処理(図23〜図25)」の詳細については後述する。
【0059】
次に、図16を参照する。「入力ストリームの切り替え処理(図23〜図25)」を実行した後、再生装置100は、処理をステップS136に進め、入力ストリーム切り替えフラグがtrueに設定されているか否かを判定する(S136)。入力ストリーム切り替えフラグがtrueに設定されている場合、再生装置100は、処理をステップS131(図15)に進める。一方、入力ストリーム切り替えフラグがfalseに設定されている場合、再生装置100は、処理をステップS137に進める。
【0060】
処理をステップS137に進めた場合、再生装置100は、入力ストリームの終端に位置するパケットを特定する(S137)。このとき、ストリームファイル選択・分割部102は、再生制御部103に対して入力ストリームの終端位置を通知する。次いで、再生装置100は、現在の入力ストリームに続いて入力されるストリームファイル(以下、継続入力ストリームファイル)が指定されているか否かを判定する(S138)。継続入力ストリームファイルが指定されている場合、再生装置100は、処理をステップS139に進める。一方、継続入力ストリームファイルが指定されていない場合、再生装置100は、処理をステップS141に進める。
【0061】
処理をステップS139に進めた場合、再生装置100は、入力ストリームを継続入力ストリームファイルに置き換え(S139)、処理をステップS131に進める。処理をステップS140に進めた場合、再生装置100は、入力ストリーム終端フラグをfalseに設定し(S140)、「パケットの読み込み処理(図15及び図16)」に係る一連の処理を終了する。また、処理をステップS141に進めた場合、再生装置100は、入力ストリーム終端フラグをtrueに設定し(S141)、「パケットの読み込み処理(図15及び図16)」に係る一連の処理を終了する。
【0062】
以上、「パケットの読み込み処理(図15及び図16)」の詳細について説明した。
【0063】
(「パケットの処理(図17〜図19)」の詳細)
次に、図17〜図19を参照しながら、「パケットの処理(図17〜図19)」の詳細について説明する。図17〜図19は、「パケットの処理(図17〜図19)」の詳細について説明するための説明図である。
【0064】
図17に示すように、パケットの処理を開始した再生装置100は、処理対象のパケットからarrival_time_stamp(以下、ATS)を取得する(S151)。次いで、再生装置100は、処理対象のパケットが最初のパケットであるか否かを判定する(S152)。処理対象のパケットが最初のパケットである場合、再生装置100は、処理をステップS154に進める。一方、処理対象のパケットが最初のパケットでない場合、再生装置100は、処理をステップS153に進める。処理をステップS153に進めた場合、再生装置100は、パケットのATSと最終ATSとの差をATS差分に設定し(S153)、処理をステップS154に進める。
【0065】
処理をステップS154に進めた場合、再生装置100は、最終ATSを処理対象のパケットのATSで更新する(S154)。次いで、再生装置100は、処理対象のパケットが最初のPATパケットであるか否かを判定する(S155)。処理対象のパケットが最初のPATパケットである場合、再生装置100は、処理をステップS156に進める。一方、処理対象のパケットが最初のPATパケットでない場合、再生装置100は、処理をステップS157(図18)に進める。処理をステップS156に進めた場合、再生装置100は、PATパケット(処理対象のパケット)を保管し(S156)、処理をステップS157(図18)に進める。
【0066】
次に、図18を参照する。処理をステップS157に進めた再生装置100は、処理対象のパケットが最初のPMTパケットであるか否かを判定する(S157)。処理対象のパケットが最初のPMTパケットである場合、再生装置100は、処理をステップS158に進める。一方、処理対象のパケットが最初のPMTパケットでない場合、再生装置100は、処理をステップS159に進める。処理をステップS158に進めた場合、再生装置100は、PMTパケット(処理対象のパケット)を保管し(S158)、処理をステップS159に進める。
【0067】
処理をステップS159に進めた再生装置100は、処理対象のパケットが最初のSITパケットであるか否かを判定する(S159)。処理対象のパケットが最初のSITパケットである場合、再生装置100は、処理をステップS161に進める。一方、処理対象のパケットが最初のSITパケットでない場合、再生装置100は、処理をステップS160に進める。処理をステップS160に進めた場合、再生装置100は、SITパケット(処理対象のパケット)を保管し(S160)、処理をステップS161に進める。
【0068】
処理をステップS161に進めた再生装置100は、処理対象のパケットが最初のPCRパケットであるか否かを判定する(S161)。処理対象のパケットが最初のPCRパケットである場合、再生装置100は、処理をステップS163に進める。一方、処理対象のパケットが最初のPCRパケットでない場合、再生装置100は、処理をステップS162に進める。処理をステップS162に進めた場合、再生装置100は、PCRパケット(処理対象のパケット)を保管し(S162)、処理をステップS163(図19)に進める。
【0069】
次に、図19を参照する。処理をステップS163に進めた再生装置100は、処理対象のパケットがPATパケット、PMTパケット、SITパケット、PCRパケットのいずれかであるか否かを判定する(S163)。処理対象のパケットがPATパケット、PMTパケット、SITパケット、PCRパケットのいずれかである場合、再生装置100は、処理をステップS168に進める。一方、処理対象のパケットがPATパケット、PMTパケット、SITパケット、PCRパケットのいずれでもない場合、再生装置100は、処理をステップS164に進める。
【0070】
処理をステップS164に進めた場合、再生装置100は、ビデオパケット詳細処理開始可否フラグがtrueであるか否かを判定する(S164)。ビデオパケット詳細処理開始可否フラグがtrueである場合、再生装置100は、処理をステップS168に進める。一方、ビデオパケット詳細処理開始可否フラグがfalseである場合、再生装置100は、処理をステップS165に進める。
【0071】
処理をステップS165に進めた場合、再生装置100は、「入力ストリームの分割可能判定処理(図32)」を実行する(S165)。次いで、再生装置100は、分割可能フラグがtrueであるか否かを判定する(S166)。分割可能フラグがtrueである場合、再生装置100は、処理をステップS167に進める。一方、分割可能フラグがfalseである場合、再生装置100は、、「パケットの処理(図17〜図19)」に係る一連の処理を終了する。
【0072】
処理をステップS167に進めた場合、再生装置100は、ビデオパケット詳細処理開始可否フラグをtrueに設定し(S167)、処理をステップS168に進める。処理をステップS168に進めた再生装置100は、「パケットの詳細処理(図26〜図28)」を実行し(S168)、「パケットの処理(図17〜図19)」に係る一連の処理を終了する。なお、「パケットの詳細処理(図26〜図28)」の詳細については後述する。
【0073】
以上、「パケットの処理(図17〜図19)」の詳細について説明した。
【0074】
(「入力ストリームの終端処理(図20)」の詳細)
次に、図20を参照しながら、「入力ストリームの終端処理(図20)」の詳細について説明する。図20は、「入力ストリームの終端処理(図20)」の詳細について説明するための説明図である。
【0075】
図20に示すように、入力ストリームの終端処理を開始した再生装置100は、最終ビデオパケットリストにパケットが存在するか否かを判定する(S171)。最終ビデオパケットリストにパケットが存在する場合、再生装置100は、処理をステップS172に進める。一方、最終ビデオパケットリストにパケットが存在しない場合、再生装置100は、「入力ストリームの終端処理(図20)」に係る一連の処理を終了する。
【0076】
処理をステップS172に進めた場合、再生装置100は、ブランクストリームファイル数が1以上であるか否かを判定する(S172)。ブランクストリームファイル数が1以上である場合、再生装置100は、処理をステップS173に進める。一方、ブランクストリームファイル数が0である場合、再生装置100は、「入力ストリームの終端処理(図20)」に係る一連の処理を終了する。
【0077】
処理をステップS173に進めた場合、再生装置100は、処理対象が最終分割区間であるか否かを判定する(S173)。処理対象が最終分割区間である場合、再生装置100は、「入力ストリームの終端処理(図20)」に係る一連の処理を終了する。一方、処理対象が最終分割区間でない場合、再生装置100は、処理をステップS174に進める。
【0078】
処理をステップS174に進めた場合、再生装置100は、入力ストリーム切り替え許可フラグをfalseに設定する(S174)。次いで、再生装置100は、分割終了区間を設定する(S175)。なお、分割終了区間とは、入力ストリームの再生時間が、全ての分割区間情報について各分割区間情報の再生時間を総和した総再生時間に満たない場合に追加されるブランクストリームファイルの末尾に対応する分割区間を意味する。
【0079】
次いで、再生装置100は、終了フラグがtrueに設定されているか否かを判定する(S176)。終了フラグがtrueに設定されている場合、再生装置100は、「入力ストリームの終端処理(図20)」に係る一連の処理を終了する。一方、終了フラグがfalseに設定されている場合、再生装置100は、処理をステップS177に進める。処理をステップS177に進めた場合、再生装置100は、終了ビデオパケットリストから要素(最終ビデオパケット要素)を取得する(S177)。但し、末尾に到達した場合には先頭に戻る。
【0080】
次いで、再生装置100は、最終ビデオパケット要素のPTS、DTSを調整する(S178)。次いで、再生装置100は、最終ビデオパケット要素のATSを最終ATSで調整する(S179)。次いで、再生装置100は、「パケットの処理(図17〜図19)」を実行し(S180)、処理をステップS176に進める。
【0081】
以上、「入力ストリームの終端処理(図20)」の詳細について説明した。
【0082】
(「分割ストリームファイルのクローズ処理(図21)」の詳細)
次に、図21を参照しながら、「分割ストリームファイルのクローズ処理(図21)」の詳細について説明する。図21は、「分割ストリームファイルのクローズ処理(図21)」の詳細について説明するための説明図である。
【0083】
図21に示すように、分割ストリームファイルのクローズ処理を開始した再生装置100は、分割ストリームファイルへの書き込みパケット数が1以上であるか否かを判定する(S191)。分割ストリームファイルへの書き込みパケット数が0である場合、再生装置100は、「分割ストリームファイルのクローズ処理(図21)」に係る一連の処理を終了する。一方、分割ストリームファイルへの書き込みパケット数が1以上の場合、再生装置100は、処理をステップS192に進める。
【0084】
処理をステップS192に進めた場合、再生装置100は、分割ストリームファイルへの書き込みパケット数が分割区間のパケット数であるか否かを判定する(S192)。分割ストリームファイルへの書き込みパケット数が分割区間のパケット数である場合、再生装置100は、処理をステップS194に進める。一方、分割ストリームファイルへの書き込みパケット数が分割区間のパケット数でない場合、再生装置100は、処理をステップS193に進める。
【0085】
処理をステップS193に進めた場合、再生装置100は、パディングパケットを書き込みパケットに設定し、挿入フラグをtrueに設定し、「パケットの書き込み処理(図29及び図30)」を実行する(S193)。ステップS193の処理を実行後、再生装置100は、処理をステップS192に進める。
【0086】
処理をステップS194に進めた場合、再生装置100は、出力ストリーム(分割ストリームファイル)をクローズする(S194)。その後、ストリームファイル選択・分割部102から再生制御部103へと分割ストリームファイルの作成完了が通知され(S195)、「分割ストリームファイルのクローズ処理(図21)」に係る一連の処理が終了する。
【0087】
以上、「分割ストリームファイルのクローズ処理(図21)」の詳細について説明した。
【0088】
次に、上記の説明において登場した「入力ストリームの取得処理(図22)」、「入力ストリームの切り替え処理(図23〜図25)」、「パケットの詳細処理(図26〜図28)」、「パケットの書き込み処理(図29及び図30)」について詳細に説明する。
【0089】
(「入力ストリームの取得処理(図22)」の詳細)
まず、図22を参照しながら、「入力ストリームの取得処理(図22)」の詳細について説明する。図22は、「入力ストリームの取得処理(図22)」の詳細について説明するための説明図である。
【0090】
図22に示すように、入力ストリームの取得処理を開始した再生装置100は、循環分割フラグがtrueに設定されているか否かを判定する(S211)。循環分割フラグがtrueに設定されている場合、再生装置100は、処理をステップS212に進める。一方、循環分割フラグがfalseに設定されている場合、再生装置100は、処理をステップS213に進める。
【0091】
処理をステップS212に進めた場合、再生装置100は、折り返しフラグがtrueに設定されているか否かを判定する(S212)。折り返しフラグがtrueに設定されている場合、再生装置100は、「入力ストリームの取得処理(図22)」に係る一連の処理を終了する。一方、折り返しフラグがfalseに設定されている場合、再生装置100は、処理をステップS213に進める。
【0092】
処理をステップS213に進めた場合、再生装置100は、MPEG2−TS変換フラグがtrueに設定されているか否かを判定する(S213)。MPEG2−TS変換フラグがtrueに設定されている場合、再生装置100は、処理をステップS214に進める。一方、MPEG2−TS変換フラグがfalseに設定されている場合、再生装置100は、「入力ストリームの取得処理(図22)」に係る一連の処理を終了する。処理をステップS214に進めた場合、再生装置100は、入力ストリームをMPEG2−TSコンバータストリームで置き換え(S214)、「入力ストリームの取得処理(図22)」に係る一連の処理を終了する。
【0093】
以上、「入力ストリームの取得処理(図22)」の詳細について説明した。
【0094】
(「入力ストリームの切り替え処理(図23〜図25)」の詳細)
次に、図23〜図25を参照しながら、「入力ストリームの切り替え処理(図23〜図25)」の詳細について説明する。図23〜図25は、「入力ストリームの切り替え処理(図23〜図25)」の詳細について説明するための説明図である。
【0095】
図23に示すように、入力ストリームの切り替え処理を開始した再生装置100は、入力ストリーム切り替え許可フラグがtrueに設定されているか否かを判定する(S231)。入力ストリーム切り替え許可フラグがtrueに設定されている場合、再生装置100は、処理をステップS232に進める。一方、入力ストリーム切り替え許可フラグがfalseに設定されている場合、再生装置100は、処理をステップS249(図25)に進める。
【0096】
処理をステップS232に進めた場合、再生装置100は、入力ストリーム切り替えPTSが設定されているか否かを判定する(S232)。入力ストリーム切り替えPTSが設定されている場合、再生装置100は、処理をステップS233に進める。一方、入力ストリーム切り替えPTSが設定されていない場合、再生装置100は、処理をステップS249(図25)に進める。
【0097】
処理をステップS233に進めた場合、再生装置100は、分割可否判定フラグがtrueに設定されているか否かを判定する(S233)。分割可否判定フラグがtrueに設定されている場合、再生装置100は、処理をステップS234に進める。一方、分割可否判定フラグがfalseに設定されている場合、再生装置100は、処理をステップS237に進める。処理をステップS234に進めた場合、再生装置100は、「入力ストリームの分割可能判定処理(図32)」を実行する(S234)。
【0098】
次いで、再生装置100は、分割可能フラグがtrueに設定されているか否かを判定する(S235)。分割可能フラグがtrueに設定されている場合、再生装置100は、処理をステップS236に進める。一方、分割可能フラグがfalseに設定されている場合、再生装置100は、処理をステップS249(図25)に進める。
【0099】
処理をステップS236に進めた場合、再生装置100は、現在のPTSが入力ストリーム切り替えPTSに達したか否かを判定する(S236)。現在のPTSが入力ストリーム切り替えPTSに達した場合、再生装置100は、処理をステップS237に進める。一方、現在のPTSが入力ストリーム切り替えPTSに達していない場合、再生装置100は、処理をステップS249(図25)に進める。
【0100】
処理をステップS237に進めた場合、再生装置100は、入力ストリーム切り替えPTSをクリアする(S237)。その後、ストリームファイル選択・分割部102から再生制御部103へと入力ストリーム切り替え要求の確認通知が送られ(S238)、処理がステップS239(図24)に進められる。
【0101】
次に、図24を参照する。処理をステップS239に進めた再生装置100は、入力ストリームの切り替えが要求されているか否かを判定する(S239)。入力ストリームの切り替えを要求されている場合、再生装置100は、処理をステップS240に進める。一方、入力ストリームの切り替えを要求されていない場合、再生装置100は、処理をステップS249(図25)に進める。
【0102】
処理をステップS240に進めた場合、再生装置100は、入力ストリームを切り替え先入力ストリームに置き換える(S240)。次いで、再生装置100は、入力ストリーム終端通知フラグをfalseに設定し、「パケットの読み込み処理(図15及び図16)」を実行する(S241)。
【0103】
次いで、再生装置100は、入力ストリーム終端フラグがtrueに設定されているか否かを判定する(S242)。入力ストリーム終端フラグがtrueに設定されている場合、再生装置100は、処理をステップS249(図25)に進める。一方、入力ストリーム終端フラグがfalseに設定されている場合、再生装置100は、処理をステップS243に進める。
【0104】
処理をステップS243に進めた場合、再生装置100は、「入力ストリームの分割可能判定処理(図32)」を実行する(S243)。なお、「入力ストリームの分割可能判定処理(図32)」の詳細については後述する。次いで、再生装置100は、分割可能フラグがtrueに設定されているか否かを判定する(S244)。分割可能フラグがtrueに設定されている場合、再生装置100は、処理をステップS245(図25)に進める。一方、分割可能フラグがfalseに設定されている場合、再生装置100は、処理をステップS249(図25)に進める。
【0105】
次に、図25を参照する。処理をステップS245に進めた場合、再生装置100は、処理対象がPTS、DTSを含むビデオパケットであるか否かを判定する(S245)。処理対象がPTS、DTSを含むビデオパケットである場合、再生装置100は、処理をステップS246に進める。一方、処理対象がPTS、DTSを含むビデオパケットでない場合、再生装置100は、処理をステップS241(図24)に進める。
【0106】
処理をステップS246に進めた場合、再生装置100は、PTS差分を算出し、算出した値でPTS差分を更新する(S246)。次いで、再生装置100は、最終ATSをパケットのATSで更新する(S247)。次いで、再生装置100は、入力ストリーム切り替えフラグをtrueに設定し(S248)、「入力ストリームの切り替え処理(図23〜図25)」に係る一連の処理を終了する。また、処理をステップS249に進めた場合、再生装置100は、入力ストリーム切り替えフラグをfalseに設定し(S249)、「入力ストリームの切り替え処理(図23〜図25)」に係る一連の処理を終了する。
【0107】
以上、「入力ストリームの切り替え処理(図23〜図25)」の詳細について説明した。
【0108】
(「パケットの詳細処理(図26〜図28)」の詳細)
次に、図26〜図28を参照しながら、「パケットの詳細処理(図26〜図28)」の詳細について説明する。図26〜図28は、「パケットの詳細処理(図26〜図28)」の詳細について説明するための説明図である。
【0109】
図26に示すように、パケットの詳細処理を開始した再生装置100は、分割ストリームファイルへの書き込みパケット数が分割区間の上限であるか否かを判定する(S251)。分割ストリームファイルへの書き込みパケット数が分割区間の上限である場合、再生装置100は、処理をステップS252に進める。一方、分割ストリームファイルへの書き込みパケット数が分割区間の上限でない場合、再生装置100は、処理をステップS254に進める。
【0110】
処理をステップS252に進めた場合、再生装置100は、PTS基準値を指定せず、「次の分割区間への移行処理(図31)」を実行する(S252)。なお、「次の分割区間への移行処理(図31)」の詳細については後述する。次いで、再生装置100は、最終分割区間フラグがtrueに設定されているか否かを判定する(S253)。最終分割区間フラグがtrueに設定されている場合、再生装置100は、パケットの詳細処理(図26〜図28)」に係る一連の処理を終了する。一方、最終分割区間フラグがfalseに設定されている場合、再生装置100は、処理をステップS254に進める。
【0111】
処理をステップS254に進めた場合、再生装置100は、処理対象がビデオパケットであるか否かを判定する(S254)。処理対象がビデオパケットである場合、再生装置100は、処理をステップS255に進める。一方、処理対象がビデオパケットでない場合、再生装置100は、処理をステップS273(図28)に進める。
【0112】
処理をステップS255に進めた場合、再生装置100は、最終ビデオパケットクリアフラグをfalseに設定する(S255)。次いで、再生装置100は、処理対象がDTSを含むか否かを判定する(S256)。処理対象がDTSを含む場合、再生装置100は、処理をステップS257に進める。一方、処理対象がDTSを含まない場合、再生装置100は、処理をステップS268(図28)に進める。
【0113】
処理をステップS257に進めた場合、再生装置100は、PTS基準値が設定されているか否かを判定する(S257)。PTS基準値が設定されている場合、再生装置100は、処理をステップS259(図27)に進める。一方、PTS基準値が設定されていない場合、再生装置100は、PTS基準値を現在のPTSで更新する(S258)。
【0114】
次に、図27を参照する。処理をステップS259に進めた再生装置100は、分割可否判定フラグをtrueに設定し、「入力ストリームの切り替え処理(図23〜図25)」を実行する(S259)。次いで、再生装置100は、「入力ストリームの分割要否判定処理(図33)」を実行する(S260)。なお、「入力ストリームの分割要否判定処理(図33)」の詳細については後述する。
【0115】
次いで、再生装置100は、分割要求フラグがtrueに設定されているか否かを判定する(S261)。分割要求フラグがtrueに設定されている場合、再生装置100は、処理をステップS262に進める。一方、分割要求フラグがfalseに設定されている場合、再生装置100は、処理をステップS266に進める。
【0116】
処理をステップS262に進めた場合、再生装置100は、現在のPTSをPTS基準値に設定し、「次の分割区間への移行処理(図31)」を実行する(S262)。なお、「次の分割区間への移行処理(図31)」の詳細については後述する。次いで、再生装置100は、最終分割区間フラグがtrueに設定されているか否かを判定する(S263)。最終分割区間フラグがtrueに設定されている場合、再生装置100は、「パケットの詳細処理(図26〜図28)」に係る一連の処理を終了する。一方、最終分割区間フラグがfalseに設定されている場合、再生装置100は、処理をステップS264に進める。
【0117】
処理をステップS264に進めた場合、再生装置100は、PTS基準値を現在のPTSで更新し、そのPTS基準値を保管する(S264)。次いで、再生装置100は、最終ビデオパケットクリアフラグをtrueに設定し(S265)、処理をステップS268(図28)に進める。
【0118】
処理をステップS266に進めた場合、再生装置100は、「入力ストリームの分割可能判定処理(図32)」を実行する(S266)。なお、「入力ストリームの分割可能判定処理(図32)」の詳細については後述する。次いで、再生装置100は、分割可能フラグがtrueに設定されているか否かを判定する(S267)。分割可能フラグがtrueに設定されている場合、再生装置100は、処理をステップS265に進める。一方、分割可能フラグがfalseに設定されている場合、再生装置100は、処理をステップS268(図28)に進める。
【0119】
次に、図28を参照する。処理をステップS268に進めた再生装置100は、ブランクストリームファイル数が1以上であるか否かを判定する(S268)。ブランクストリームファイル数が1以上の場合、再生装置100は、処理をステップS269に進める。一方、ブランクストリームファイル数が0の場合、再生装置100は、処理をステップS273に進める。
【0120】
処理をステップS269に進めた場合、再生装置100は、分割終了区間が設定されているか否かを判定する(S269)。分割終了区間が設定されている場合、再生装置100は、処理をステップS273に進める。一方、分割終了区間が設定されていない場合、再生装置100は、処理をステップS270に進める。
【0121】
処理をステップS270に進めた場合、再生装置100は、最終ビデオパケットクリアフラグがtrueに設定されているか否かを判定する(S270)。最終ビデオパケットクリアフラグがtrueに設定されている場合、再生装置100は、処理をステップS271に進める。一方、最終ビデオパケットクリアフラグがfalseに設定されている場合、再生装置100は、処理をステップS272に進める。
【0122】
処理をステップS271に進めた場合、再生装置100は、最終ビデオパケットリストをクリアする(S271)。また、処理をステップS272に進めた再生装置100は、最終ビデオパケットリストにパケットを追加する(S272)。さらに、処理をステップS273に進めた再生装置100は、現在のパケットを書き込みパケットに設定し、挿入フラグをfalseに設定し、「パケットの書き込み処理(図29及び図30)」を実行する(S273)。ステップS273の処理を実行した後、再生装置100は、「パケットの詳細処理(図26〜図28)」に係る一連の処理を終了する。
【0123】
以上、「パケットの詳細処理(図26〜図28)」の詳細について説明した。
【0124】
(「パケットの書き込み処理(図29及び図30)」の詳細)
次に、図29及び図30を参照しながら、「パケットの書き込み処理(図29及び図30)」の詳細について説明する。図29及び図30は、「パケットの書き込み処理(図29及び図30)」の詳細について説明するための説明図である。
【0125】
図29に示すように、パケットの書き込み処理を開始した再生装置100は、分割ストリームファイルがオープンされているか否かを判定する(S291)。分割ストリームファイルがオープンされている場合、再生装置100は、処理をステップS293に進める。一方、分割ストリームファイルがオープンされていない場合、再生装置100は、処理をステップS292に進める。処理をステップS292に進めた場合、再生装置100は、分割ストリームファイルから出力ストリームを取得する(S292)。
【0126】
処理をステップS293に進めた再生装置100は、分割区間の開始パケット位置を取得する(S293)。次いで、再生装置100は、処理対象がPATパケット、PMTパケット、SITパケット、PCRパケットのいずれかであるか否かを判定する(S294)。処理対象がPATパケット、PMTパケット、SITパケット、PCRパケットのいずれかである場合、再生装置100は、処理をステップS295に進める。一方、処理対象がPATパケット、PMTパケット、SITパケット、PCRパケットのいずれでもない場合、再生装置100は、処理をステップS297(図30)に進める。
【0127】
処理をステップS295に進めた場合、再生装置100は、分割ストリームファイルへの書き込み位置が開始パケット位置であるか否かを判定する(S295)。分割ストリームファイルへの書き込み位置が開始パケット位置である場合、再生装置100は、「パケットの書き込み処理(図29及び図30)」に係る一連の処理を終了する。一方、分割ストリームファイルへの書き込み位置が開始パケット位置でない場合、再生装置100は、処理をステップS296に進める。
【0128】
処理をステップS296に進めた場合、再生装置100は、PCRパケット以外についてcontinuity_counterを更新し(S296)、処理をステップS300(図30)に進める。
【0129】
次に、図30を参照する。処理をステップS297に進めた場合、再生装置100は、処理対象がビデオパケットであるか否かを判定する(S297)。処理対象がビデオパケットである場合、再生装置100は、処理をステップS298に進める。一方、処理対象がビデオパケットでない場合、再生装置100は、処理をステップS305に進める。
【0130】
処理をステップS298に進めた場合、再生装置100は、分割ストリームファイルへの書き込みパケット位置が開始パケット位置であるか否かを判定する(S298)。分割ストリームファイルへの書き込みパケット位置が開始パケット位置である場合、再生装置100は、処理をステップS300に進める。一方、分割ストリームファイルへの書き込みパケット位置が開始パケット位置でない場合、再生装置100は、処理をステップS299に進める。
【0131】
処理をステップS299に進めた場合、再生装置100は、パディングパケットを書き込みパケットに設定し、挿入フラグをtrueに設定し、「パケットの書き込み処理(図29)」を実行する(S299)。つまり、再生装置100は、書き込みパケット及び挿入フラグの設定を再設定してステップS291以降の処理を実行する。また、ステップS299の処理を実行した後、再生装置100は、処理をステップS298に進める。
【0132】
処理をステップS300に進めた場合、再生装置100は、パケットのATSを現在のATSで更新する(S300)。次いで、再生装置100は、処理対象がPCRパケットであるか否かを判定する(S301)。処理対象がPCRパケットである場合、再生装置100は、処理をステップS302に進める。一方、処理対象がPCRパケットでない場合、再生装置100は、処理をステップS303に進める。
【0133】
処理をステップS302に進めた場合、再生装置100は、パケットのPCRを現在のATSで更新する(S302)。処理をステップS303に進めた再生装置100は、現在のATSを更新する(S303)。次いで、再生装置100は、出力ストリームにパケットを書き込み(S304)、「パケットの書き込み処理(図29及び図30)」に係る一連の処理を終了する。
【0134】
また、処理をステップS305に進めた場合、再生装置100は、分割ストリームファイルへの書き込み位置が開始パケット位置より前であるか否かを判定する(S305)。分割ストリームファイルへの書き込み位置が開始パケット位置より前である場合、再生装置100は、「パケットの書き込み処理(図29及び図30)」に係る一連の処理を終了する。一方、分割ストリームファイルへの書き込み位置が開始パケット位置より前でない場合、再生装置100は、処理をステップS300に進める。
【0135】
以上、「パケットの書き込み処理(図29及び図30)」の詳細について説明した。
【0136】
次に、上記の説明において登場した「次の分割区間への移行処理(図31)」、「入力ストリームの分割可能判定処理(図32)」、「入力ストリームの分割要否判定処理(図33)」について詳細に説明する。
【0137】
(「次の分割区間への移行処理(図31)」の詳細)
まず、図31を参照しながら、「次の分割区間への移行処理(図31)」の詳細について説明する。図31は、「次の分割区間への移行処理(図31)」の詳細について説明するための説明図である。
【0138】
図31に示すように、次の分割区間への移行処理を開始した再生装置100は、「分割ストリームファイルのクローズ処理(図21)」を実行する(S311)。次いで、再生装置100は、処理対象が最終分割区間であるか否かを判定する(S312)。処理対象が最終分割区間である場合、再生装置100は、処理をステップS320に進める。一方、処理対象が最終分割区間でない場合、再生装置100は、処理をステップS313に進める。
【0139】
処理をステップS313に進めた場合、再生装置100は、次の分割区間を有効化する(S313)。次いで、再生装置100は、PTS基準値を指定PTS基準値で更新する(S314)。次いで、再生装置100は、保管していたPATパケットを書き込みパケットに設定し、挿入フラグをtrueに設定し、「パケットの書き込み処理(図29及び図30)」を実行する(S315)。次いで、再生装置100は、保管していたPMTパケットを書き込みパケットに設定し、挿入フラグをtrueに設定し、「パケットの書き込み処理(図29及び図30)」を実行する(S316)。
【0140】
次いで、再生装置100は、保管していたSITパケットを書き込みパケットに設定し、挿入フラグをtrueに設定し、「パケットの書き込み処理(図29及び図30)」を実行する(S317)。次いで、再生装置100は、保管していたPCRパケットを書き込みパケットに設定し、挿入フラグをtrueに設定し、「パケットの書き込み処理(図29及び図30)」を実行する(S318)。次いで、再生装置100は、最終分割区間フラグをfalseに設定し(S319)、「次の分割区間への移行処理(図31)」に係る一連の処理を終了する。
【0141】
また、処理をステップS320に進めた場合、再生装置100は、分割終了区間が設定されているか否かを判定する(S320)。分割終了区間が設定されている場合、再生装置100は、処理をステップS321に進める。一方、分割終了区間が設定されていない場合、再生装置100は、処理をステップS313に進める。
【0142】
処理をステップS321に進めた場合、再生装置100は、現在の分割区間が分割終了区間であるか否かを判定する(S321)。現在の分割区間が分割終了区間である場合、再生装置100は、処理をステップS322に進める。一方、現在の分割区間が分割終了区間でない場合、再生装置100は、処理をステップS313に進める。
【0143】
処理をステップS322に進めた場合、再生装置100は、PTS基準値を指定PTS基準値に設定し、「分割区間の終端処理(図34〜図36)」を実行する(S322)。なお、「分割区間の終端処理(図34〜図36)」の詳細については後述する。次いで、再生装置100は、分割継続フラグがtrueに設定されているか否かを判定する(S323)。分割継続フラグがtrueに設定されている場合、再生装置100は、処理をステップS319に進める。一方、分割継続フラグがfalseに設定されている場合、再生装置100は、処理をステップS325に進める。
【0144】
処理をステップS325に進めた場合、再生装置100は、終了フラグをtrueに設定する(S325)。次いで、再生装置100は、最終分割区間フラグをtrueに設定し(S326)、「次の分割区間への移行処理(図31)」に係る一連の処理を終了する。また、処理をステップS319に進めた場合、再生装置100は、最終分割区間フラグをfalseに設定し(S319)、「次の分割区間への移行処理(図31)」に係る一連の処理を終了する。
【0145】
以上、「次の分割区間への移行処理(図31)」の詳細について説明した。
【0146】
(「入力ストリームの分割可能判定処理(図32)」の詳細)
次に、図32を参照しながら、「入力ストリームの分割可能判定処理(図32)」の詳細について説明する。図32は、「入力ストリームの分割可能判定処理(図32)」の詳細について説明するための説明図である。
【0147】
図32に示すように、入力ストリームの分割可能判定処理を開始した再生装置100は、分割区間情報からビデオコーデックを取得する(S331)。次いで、再生装置100は、現在のパケットに関する情報とビデオコーデックに関する情報とに基づいて分割処理が可能な否かを判定する(S332)。そして、再生装置100は、判定結果に応じて処理を切り替える(S333)。分割が可能な場合、再生装置100は、処理をステップS334に進める。一方、分割が可能でない場合、再生装置100は、処理をステップS335に進める。
【0148】
処理をステップS334に進めた場合、再生装置100は、分割可能フラグをtrueに設定し(S334)、「入力ストリームの分割可能判定処理(図32)」に係る一連の処理を終了する。また、処理をステップS335に進めた場合、再生装置100は、分割可能フラグをfalseに設定し(S335)、「入力ストリームの分割可能判定処理(図32)」に係る一連の処理を終了する。
【0149】
以上、「入力ストリームの分割可能判定処理(図32)」の詳細について説明した。
【0150】
(「入力ストリームの分割要否判定処理(図33)」の詳細)
次に、図33を参照しながら、「入力ストリームの分割要否判定処理(図33)」の詳細について説明する。図33は、「入力ストリームの分割要否判定処理(図33)」の詳細について説明するための説明図である。
【0151】
図33に示すように、入力ストリームの分割要否判定処理を開始した再生装置100は、「入力ストリームの分割可能判定処理(図32)」を実行する(S351)。次いで、再生装置100は、分割可能フラグがtrueに設定されているか否かを判定する(S352)。分割可能フラグがtrueに設定されている場合、再生装置100は、処理をステップS353に進める。一方、分割可能フラグがfalseに設定されている場合、再生装置100は、処理をステップS357に進める。
【0152】
処理をステップS353に進めた場合、再生装置100は、現在のパケットのPTSとPTS基準値とに基づいてPTS経過値を取得する(S353)。次いで、再生装置100は、分割区間情報から再生時間を取得する(S354)。次いで、再生装置100は、PTS経過値が再生時間以上であるか否かを判定する(S355)。PTS経過値が再生時間以上である場合、再生装置100は、処理をステップS356に進める。一方、PTS経過値が再生時間以上でない場合、再生装置100は、処理をステップS357に進める。
【0153】
処理をステップS356に進めた場合、再生装置100は、分割要求フラグをtrueに設定し(S356)、「入力ストリームの分割要否判定処理(図33)」に係る一連の処理を終了する。一方、処理をステップS357に進めた場合、再生装置100は、分割要求フラグをfalseに設定し(S357)、「入力ストリームの分割要否判定処理(図33)」に係る一連の処理を終了する。
【0154】
以上、「入力ストリームの分割要否判定処理(図33)」の詳細について説明した。
【0155】
次に、上記の説明において登場した「分割区間の終端処理(図34〜図36)」の詳細について説明する。
【0156】
(「分割区間の終端処理(図34〜図36)」の詳細)
以下、図34〜図36を参照しながら、「分割区間の終端処理(図34〜図36)」の詳細について説明する。図34〜図36は、「分割区間の終端処理(図34〜図36)」の詳細について説明するための説明図である。
【0157】
図34に示すように、分割区間の終端処理を開始した再生装置100は、循環分割フラグがtrueに設定されているか否かを判定する(S371)。循環分割フラグがtrueに設定されている場合、再生装置100は、処理をステップS372に進める。一方、循環分割フラグがfalseに設定されている場合、再生装置100は、処理をステップS391(図36)に進める。
【0158】
処理をステップS372に進めた場合、再生装置100は、分割終了区間が設定されているか否かを判定する(S372)。分割終了区間が設定されている場合、再生装置100は、処理をステップS379に進める。一方、分割終了区間が設定されていない場合、再生装置100は、処理をステップS373に進める。
【0159】
処理をステップS373に進めた場合、再生装置100は、折り返しフラグをfalseに設定する(S373)。次いで、再生装置100は、「入力ストリームの取得処理(図22)」を実行する(S374)。次いで、再生装置100は、入力ストリームを保管する(S375)。次いで、現在の分割ストリームファイルから入力ストリームを取得する(S376)。次いで、再生装置100は、分割区間を先頭に移行する(S377)。次いで、再生装置100は、折り返しフラグをtrueに設定し(S378)、処理をステップS380(図35)に進める。
【0160】
また、処理をステップS379に進めた場合、再生装置100は、現在の分割区間が分割最終区間であるか否かを判定する(S379)。現在の分割区間が分割終了区間である場合、再生装置100は、処理をステップS391(図36)に進める。一方、現在の分割区間が分割終了区間でない場合、再生装置100は、処理をステップS373に進める。
【0161】
次に、図35を参照する。処理をステップS380に進めた再生装置100は、終了フラグがtrueに設定されているか否かを判定する(S380)。終了フラグがtrueに設定されている場合、再生装置100は、処理をステップS384に進める。一方、終了フラグがfalseに設定されている場合、再生装置100は、処理をステップS381に進める。
【0162】
処理をステップS381に進めた場合、再生装置100は、入力ストリーム終端通知フラグをtrueに設定し、「パケットの読み込み処理(図15及び図16)」を実行する(S381)。次いで、再生装置100は、入力ストリーム終端フラグがtrueに設定されているか否かを判定する(S382)。入力ストリーム終端フラグがtrueに設定されている場合、再生装置100は、処理をステップS384に進める。一方、入力ストリーム終端フラグがfalseに設定されている場合、再生装置100は、処理をステップS383に進める。
【0163】
処理をステップS383に進めた場合、再生装置100は、「パケットの処理(図17〜図19)」を実行し(S383)、処理をステップS380に進める。また、処理をステップS384に進めた場合、再生装置100は、折り返しフラグをfalseに設定する(S384)。次いで、再生装置100は、入力ストリームをクローズする(S385)。次いで、再生装置100は、保管していた入力ストリームを復元し(S386)、処理をステップS387(図36)に進める。
【0164】
次に、図36を参照する。処理をステップS387に進めた再生装置100は、終了フラグがtrueに設定されているか否かを判定する(S387)。終了フラグがtrueに設定されている場合、再生装置100は、処理をステップS391に進める。一方、終了フラグがfalseに設定されている場合、再生装置100は、処理をステップS388に進める。
【0165】
処理をステップS388に進めた場合、再生装置100は、指定PTS基準値をPTS基準値に設定し、「次の分割区間への移行処理(図31)」を実行する(S388)。次いで、再生装置100は、最終分割区間フラグがtrueに設定されているか否かを判定する(S389)。最終分割区間フラグがtrueに設定されている場合、再生装置100は、処理をステップS391に進める。一方、最終分割区間フラグがfalseに設定されている場合、再生装置100は、処理をステップS390に進める。
【0166】
処理をステップS390に進めた場合、再生装置100は、分割継続フラグをtrueに設定し(S390)、「分割区間の終端処理(図34〜図36)」に係る一連の処理を終了する。また、処理をステップS391に進めた場合、再生装置100は、分割継続フラグをfalseに設定し(S391)、「分割区間の終端処理(図34〜図36)」に係る一連の処理を終了する。
【0167】
以上、「分割区間の終端処理(図34〜図36)」の詳細について説明した。
【0168】
以上、本実施例に係る再生装置100によるプログレッシブダウンロード再生処理の流れについて説明した。
【0169】
[2−3:補足]
以下、補足説明を行う。
【0170】
(可変ビットレート再生への適用)
可変ビットレート再生への適用は、次のようにして実現可能である。再生装置100は、ダウンロード速度の低下を検出すると、よりビットレートが低いストリームファイルへの切り替えを開始する。まず、再生装置100は、配信サーバ11に現在のダウンロード速度、及びアクセスユニット先頭の時刻情報を送信する。これらの情報を受信した配信サーバ11は、適正なビットレートのストリームファイルを選択する。そして、配信サーバ11は、ダウンロード開始位置を設定し、選択したストリームファイルを再生装置100にダウンロードさせる。
【0171】
ストリームファイルに含まれるアクセスユニットの間隔は、再生用管理ファイルの分割区間より十分に短い。そのため、ストリームファイルを高速に切り替えることができる。なお、適正なビットレートのストリームファイルを選択する際、配信サーバ11にアクセスユニット先頭の時刻情報のみを送信するようにしてもよい。この場合、再生装置100は、事前に各種ビットレートに応じたダウンロード情報を用意しておく必要がある。
【0172】
(割り込み再生への適用)
可変ビットレート再生においては同じ内容でビットレートが異なるストリームファイルを切り替えるが、コーデックおよびフレームレートなどの条件が一致していれば別の内容のストリームファイルに切り替えることも可能である。そのため、割り込み再生などに適用できる。
【0173】
(CM挿入などへの適用)
可変ビットレート再生においては切り替え要求を受けた時刻の直後に位置するアクセスユニットの先頭に対してストリームファイルの切り替えが行われる。しかし、切り替え要求と共に切り替え要求時刻を指定することにより、切り替え要求時刻の直後に位置するアクセスユニットの先頭でストリームを切り替えることができるようになる。これにより、ストリームファイルの再生開始時に別のストリームファイルを一定期間再生させることができる。なお、別のストリームファイルは複数であっても構わない。
【0174】
(分割数の削減及び再生開始待機時間の短縮)
ストリームファイルの分割数が増大するとBDプレーヤの再生性能に影響を与えることがある。そのため、分割区間は可能な限り長いことが望ましい。一方、多くのBDプレーヤは、再生開始時及び再生中に分割ファイルの先読みを行う。例えば、先読み分割ファイル数が3のBDプレーヤを用いる場合、3個の分割ファイルが使用可能になるまで再生が開始されない。
【0175】
そこで、本件発明者は、分割数を削減しつつ、再生開始待機時間の短縮を実現する方法について検討し、分割区間を徐々に長くする次のような方法に想到した。例えば、先読み分割ファイル数を3と仮定した場合、3個ごとに分割区間を長くすれば、分割数を削減しつつも、再生開始待機時間を短縮することができる。また、分割区間を長くする度合いは、ダウンロード速度の想定値に応じて決めることが望ましい。
【0176】
例えば、最初の分割区間を3秒に設定し、1秒分のストリームファイルのダウンロードに0.8秒掛かるものと仮定した場合、分割区間の列は以下のようになる。
3、3、3、3.750、3.750、3.750、4,687、4.687、4.687、…(単位:秒)
【0177】
上記の列は、4番目の分割区間をダウンロードする際に1番目の分割区間から再生を開始することができ、3秒間の再生の間に3.750秒分のストリームファイルをダウンロードできることを表わしている。さらに、上記の列は、7番目の分割区間をダウンロードする際に4番目の分割区間を再生することができ、3.750秒間の再生の間に4.687秒分のストリームファイルをダウンロードできることを表している。このルールで分割を進めていくとすると、分割数が72で3時間以上のストリームファイルを扱うことが可能になる。
【0178】
(再生用管理ファイルの分割数に満たないストリームファイルへの対応)
既に述べたように、多くのBDプレーヤは分割ファイルの先読みを行う。そのため、分割ファイルの数が再生用管理ファイルの分割数に満たない場合、先読み箇所が最終分割ファイルを越えた時点でデータ不足を示すエラーが発生する。このエラーを回避する方法として、例えば、ストリームファイルの最終ビデオデータを保管しておき、分割終了後にこのデータを使用して先読み分割ファイル数分の分割ファイルを自動的に追加作成する方法が考えられる。この方法により、ストリームファイル終端まで再生を行うことができるようになる。
【0179】
(シーンジャンプの実現)
再生箇所を先頭方向にジャンプさせる方法として、再生済みの分割ファイルを残しておき、対応位置に移動する方法が考えられる。しかし、BDプレーヤの記憶容量はそれほど大きくない。そのため、分割ファイルは、再生が済み次第削除することが望まれる。そこで、本件発明者は、移動先の分割ファイルが存在しない場合にもシーンジャンプが実現できるようにする方法について検討した。
【0180】
BDプレーヤは分割ファイルの先読みを行う。そのため、ダウンロード開始位置がシーンジャンプ先に設定されたストリームファイルのダウンロードを開始してから再生が開始するまでに待ち時間が生じる。このような待ち時間を回避する方法として、例えば、シーンジャンプの際は分割区間を先頭に戻し、シーンジャンプの位置からダウンロードを開始する方法が考えられる。この方法により、常に待ち時間を最短に留めながらシーンジャンプを実現することが可能になる。なお、本来の再生時刻は、シーンジャンプ時点の時刻に再生時刻を加えることで算出することができる。
【0181】
(ストリームファイルの管理及びダウンロード型サービスからの移行容易化)
本実施形態に係る再生装置100は、所定の再生用管理ファイルに合わせてストリームファイルを適切に分割する。そのため、再生装置100に提供されるストリームファイルは、事前に分割されている必要がない。その結果、配信サーバ11が保持するストリームファイルの数を最小限に抑えることが可能になる。また、一括ダウンロード型サービスのストリームファイルをそのまま利用できる。そのため、一括ダウンロード型サービスからプログレッシブダウンロード型サービスへの移行が容易に行えるようになる。
【0182】
(ライブカメラ中継の実現)
複数のストリームファイルを結合し、結合したストリームファイルを所定の再生用管理ファイルに基づいて再分割して利用することも可能である。例えば、ライブカメラ及びマイクロフォンでキャプチャされた動画及び音声を小さなファイルサイズで逐次配信サーバ11にアップロードし、新しいものから順次ダウンロード、再生することでライブカメラ中継を実現することができる。また、キャプチャされた動画及び音声のコーデックやフレームレートなどがBD規格に準じたものであれば、MPEG2−TS形式でアップロードし、ダウンロードの際にM2TSに変換することも可能である。さらに、MPEG2−TSを生成するトランスコーダがあれば、再生可能なコンテンツはライブカメラに制限されない。
【0183】
以上、説明を補足した。
【0184】
<3:ハードウェア構成例>
上記の再生装置100が有する各構成要素の機能は、例えば、図37に示すハードウェア構成の一部又は全部を用いて実現することが可能である。つまり、当該各構成要素の機能は、コンピュータプログラムを用いて図37に示すハードウェアを制御することにより実現される。なお、このハードウェアの形態は任意であり、各種映像機器の他、例えば、パーソナルコンピュータ、携帯電話、PHS、PDA等の携帯情報端末、ゲーム機、又は種々の情報家電などがこれに含まれる。但し、上記のPHSは、Personal Handy−phone Systemの略である。また、上記のPDAは、Personal Digital Assistantの略である。
【0185】
図37に示すように、このハードウェアは、主に、CPU902と、ROM904と、RAM906と、ホストバス908と、ブリッジ910と、を有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926と、を有する。但し、上記のCPUは、Central Processing Unitの略である。また、上記のROMは、Read Only Memoryの略である。そして、上記のRAMは、Random Access Memoryの略である。
【0186】
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
【0187】
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ(以下、リモコン)が用いられることもある。
【0188】
出力部918としては、例えば、CRT、LCD、PDP、又はELD等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。但し、上記のCRTは、Cathode Ray Tubeの略である。また、上記のLCDは、Liquid Crystal Displayの略である。そして、上記のPDPは、Plasma DisplayPanelの略である。さらに、上記のELDは、Electro−Luminescence Displayの略である。
【0189】
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のHDDは、Hard Disk Driveの略である。
【0190】
ドライブ922は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928は、例えば、DVDメディア、Blu−rayメディア、HD DVDメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体928は、例えば、非接触型ICチップを搭載したICカード、又は電子機器等であってもよい。但し、上記のICは、Integrated Circuitの略である。
【0191】
接続ポート924は、例えば、USBポート、IEEE1394ポート、SCSI、RS−232Cポート、又は光オーディオ端子等のような外部接続機器930を接続するためのポートである。外部接続機器930は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。但し、上記のUSBは、Universal Serial Busの略である。また、上記のSCSIは、Small Computer System Interfaceの略である。
【0192】
通信部926は、ネットワーク932に接続するための通信デバイスであり、例えば、有線又は無線LAN、Bluetooth(登録商標)、又はWUSB用の通信カード、光通信用のルータ、ADSL用のルータ、又は各種通信用のモデム等である。また、通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内LAN、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のLANは、Local Area Networkの略である。また、上記のWUSBは、Wireless USBの略である。そして、上記のADSLは、Asymmetric Digital Subscriber Lineの略である。
【0193】
<4:まとめ>
最後に、本実施形態の技術的思想について簡単に纏める。以下に記載する技術的思想は、BDプレーヤなどの再生装置に限らず、例えば、PC、携帯電話、携帯ゲーム機、携帯情報端末、情報家電、カーナビゲーションシステムなど、再生装置として機能する種々の情報処理装置に対して適用することができる。
【0194】
なお、本技術に係る再生装置の構成は次のように表現することができる。例えば、下記(1)に記載の再生装置は、取得したストリームファイルを分割して分割ストリームファイルを生成する構成を有する。また、当該再生装置は、ストリームファイルを分割する際、所定のプレイリスト及び所定のクリップ情報ファイルに適合するように分割処理を実行する。そのため、当該再生装置により生成された分割ストリームファイルは、所定のプレイリスト及び所定のクリップ情報ファイルに基づいて再生することが可能である。
【0195】
つまり、当該再生装置において所定のプレイリスト及び所定のクリップ情報ファイルが予め認識されていれば、プレイリスト及びクリップ情報ファイルの認識処理を改めて実行することなく任意のストリームファイルを再生することが可能になる。そのため、新たなコンテンツを再生する場合でも、ストリームファイルを素早く再生することが可能になる。また、取得するストリームファイルよりも短い分割ストリームファイルを単位として再生制御ができるようになるため、ストリームファイルの取得途中に、取得するストリームファイルを切り替えることも可能になる。
【0196】
(1)
ストリームファイルを取得するストリーム取得部と、
所定のプレイリスト及び所定のクリップ情報ファイルに適合するように前記ストリームファイルを分割して分割ストリームファイルを生成するストリーム分割部と、
前記所定のプレイリスト及び前記所定のクリップ情報ファイルに基づいて前記分割ストリームファイルを再生するストリーム再生部と、
を備える、
再生装置。
(2)
前記ストリーム分割部は、前記分割ストリームファイルに含まれるパケットの個数mよりも、前記所定のクリップ情報ファイルに記述されたパケットの個数nが大きい場合に、(n−m)個のパディングパケットを当該分割ストリームファイルに追加する、
上記(1)に記載の再生装置。
(3)
前記ストリームファイルの末尾に位置するパケットで構成されるブランクストリームファイルを生成するブランクストリーム生成部と、
前記所定のプレイリストの再生時間tpよりも前記ストリームファイルの再生時間tsが短い場合に、再生時間の合計がtpより長くなるように所要数の前記ブランクストリームファイルを前記ストリームファイルに追加するブランクストリーム追加部と、
をさらに備える、
上記(1)又は(2)に記載の再生装置。
(4)
前記所定のプレイリストに含まれる各プレイアイテム及び当該各プレイアイテムに対応する前記所定のクリップ情報ファイルに基づいて前記分割ストリームファイルの生成に用いる分割区間情報を生成する分割区間情報生成部をさらに備え、
前記ストリーム分割部は、前記分割区間情報に基づいて前記分割ストリームファイルを生成し、
前記分割区間情報は、再生開始時刻、再生終了時刻、開始パケットの位置、及び前記分割ストリームファイルに含めるパケットの個数を含む、
上記(1)〜(3)のいずれか1項に記載の再生装置。
(5)
前記所定のプレイリストにN個のプレイアイテムが含まれ、前記所定のプレイリストの再生時間tpよりも前記ストリームファイルの再生時間tsが長い場合、
前記分割区間情報生成部は、第1〜第N番目のプレイアイテムに対応する第1〜第N番目の分割区間情報を生成し、
前記ストリーム分割部は、前記第1〜第N番目の分割区間情報を用いて第1〜第N番目の分割ストリームファイルを生成した後、前記第1番目以降の分割区間情報を循環的に用いて第N+1番目以降の分割ストリームファイルを生成する、
上記(1)〜(4)のいずれか1項に記載の再生装置。
(6)
通信回線を通じて前記ストリームファイルを取得する場合、前記ストリーム取得部は、通信速度に応じて、取得するストリームファイルを切り替える、
上記(1)〜(5)のいずれか1項に記載の再生装置。
(7)
前記分割区間情報生成部は、再生時刻が後になるにつれて段階的に前記分割ストリームファイルの再生時間が長くなるように前記分割区間情報を生成する、
上記(4)に記載の再生装置。
(8)
ストリームファイルを取得するステップと、
所定のプレイリスト及び所定のクリップ情報ファイルに適合するように前記ストリームファイルを分割して分割ストリームファイルを生成するステップと、
前記所定のプレイリスト及び前記所定のクリップ情報ファイルに基づいて前記分割ストリームファイルを再生するステップと、
を含む、
ストリームファイルの再生方法。
(9)
ストリームファイルを取得するストリーム取得機能と、
所定のプレイリスト及び所定のクリップ情報ファイルに適合するように前記ストリームファイルを分割して分割ストリームファイルを生成するストリーム分割機能と、
前記所定のプレイリスト及び前記所定のクリップ情報ファイルに基づいて前記分割ストリームファイルを再生するストリーム再生機能と、
をコンピュータに実現させるためのプログラム。
【0197】
(備考)
上記の通信部101は、ストリーム取得部の一例である。上記のストリームファイル選択・分割部102は、ストリーム分割部、ブランクストリーム生成部、ブランクストリーム追加部の一例である。上記の再生制御部103は、ストリーム再生部の一例である。上記の再生用管理ファイル解析部104は、分割区間情報生成部の一例である。
【0198】
以上、添付図面を参照しながら本技術に係る好適な実施形態について説明したが、本技術はここで開示した構成例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本技術の技術的範囲に属するものと了解される。
【符号の説明】
【0199】
12 ネットワーク
13 表示装置
11 配信サーバ
100 再生装置
101 通信部
102 ストリームファイル選択・分割部
103 再生制御部
104 再生用管理ファイル解析部
【技術分野】
【0001】
本技術は、再生装置、ストリームファイルの再生方法、及びプログラムに関する。
【背景技術】
【0002】
動画などのコンテンツをストリーミング配信するサービスが広く利用されている。こうしたサービスを提供する際に用いられる技術の中に、プログレッシブダウンロード再生と呼ばれる技術がある。プログレッシブダウンロード再生とは、コンテンツを構成するストリームファイルを順次ダウンロードしながら、ダウンロードが完了したストリームファイルを順に再生する方法である。プログレッシブダウンロード再生に関し、下記の特許文献1には、再生用管理ファイルに記載されたデータ量よりも、ダウンロードしたストリームファイルのデータ量が少ない場合に、データ量の差分に相当する量のパディングデータをストリームファイルに付加する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第4444358号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、Blu−ray Disc(以下、BD)規格に準拠したストリームファイルは、プレイアイテム及びクリップ情報ファイルに1対1で対応付けられている。また、新たなプレイアイテム及びクリップ情報ファイルに対応するストリームファイルを再生する際、BDプレーヤなどの再生装置は、そのプレイアイテム及びクリップ情報ファイルを認識するための処理を実行する。この処理は、BDプレーヤなどの再生装置にとって負荷の高い処理である。そのため、この処理を完了するまでには、ある程度の時間がかかる。その結果、新たなコンテンツを再生する度に不快な待ち時間が生じてしまう。
【0005】
そこで、本技術は、上記のような事情を受けて考案されたものであり、新たなコンテンツを再生する場合でも素早くコンテンツの再生を開始することが可能な、新規かつ改良された再生装置、ストリームファイルの再生方法、及びプログラムを提供することを意図している。
【課題を解決するための手段】
【0006】
本技術のある観点によれば、ストリームファイルを取得するストリーム取得部と、所定のプレイリスト及び所定のクリップ情報ファイルに適合するように前記ストリームファイルを分割して分割ストリームファイルを生成するストリーム分割部と、前記所定のプレイリスト及び前記所定のクリップ情報ファイルに基づいて前記分割ストリームファイルを再生するストリーム再生部と、を備える、再生装置が提供される。
【0007】
また、本技術の別の観点によれば、ストリームファイルを取得するステップと、所定のプレイリスト及び所定のクリップ情報ファイルに適合するように前記ストリームファイルを分割して分割ストリームファイルを生成するステップと、前記所定のプレイリスト及び前記所定のクリップ情報ファイルに基づいて前記分割ストリームファイルを再生するステップと、を含む、ストリームファイルの再生方法が提供される。
【0008】
また、本技術の別の観点によれば、ストリームファイルを取得するストリーム取得機能と、所定のプレイリスト及び所定のクリップ情報ファイルに適合するように前記ストリームファイルを分割して分割ストリームファイルを生成するストリーム分割機能と、前記所定のプレイリスト及び前記所定のクリップ情報ファイルに基づいて前記分割ストリームファイルを再生するストリーム再生機能と、をコンピュータに実現させるためのプログラムが提供される。また、本技術の別の観点によれば、当該プログラムが記録された、コンピュータにより読み取り可能な記録媒体が提供される。
【発明の効果】
【0009】
以上説明したように本技術によれば、新たなコンテンツを再生する場合でも素早くコンテンツの再生を開始することが可能になる。
【図面の簡単な説明】
【0010】
【図1】ストリーミング配信システムの一構成例を示した説明図である。
【図2】再生用管理ファイルの構成を示した説明図である。
【図3】再生用管理ファイルの構成を示した説明図である。
【図4】仮想パッケージ構築機能を利用したプログレッシブダウンロード再生に関する処理の流れについて説明するための説明図である。
【図5】仮想パッケージ構築機能を利用したプログレッシブダウンロード再生に関する処理の流れについて説明するための説明図である。
【図6】仮想パッケージ構築機能を利用したプログレッシブダウンロード再生に関する処理の流れについて説明するための説明図である。
【図7】仮想パッケージ構築機能を利用したプログレッシブダウンロード再生に関する処理の流れについて説明するための説明図である。
【図8】仮想パッケージ構築機能を利用したプログレッシブダウンロード再生に関する処理の流れについて説明するための説明図である。
【図9】既存の仮想パッケージを利用したプログレッシブダウンロード再生に関する処理の流れについて説明するための説明図である。
【図10】既存の仮想パッケージを利用したプログレッシブダウンロード再生に関する処理の流れについて説明するための説明図である。
【図11】既存の仮想パッケージを利用したプログレッシブダウンロード再生に関する処理の流れについて説明するための説明図である。
【図12】実施例に係る再生装置の一構成例を示した説明図である。
【図13】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図14】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図15】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図16】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図17】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図18】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図19】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図20】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図21】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図22】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図23】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図24】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図25】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図26】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図27】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図28】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図29】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図30】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図31】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図32】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図33】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図34】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図35】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図36】実施例に係るプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【図37】本実施形態に係るプログレッシブダウンロード再生を実現することが可能なハードウェア構成例を示した説明図である。
【発明を実施するための形態】
【0011】
以下に添付図面を参照しながら、本技術に係る好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0012】
[説明の流れについて]
ここで、以下に記載する説明の流れについて簡単に述べる。
【0013】
まず、図1を参照しながら、ストリーミング配信システムの一構成例について説明する。次いで、図2及び図3を参照しながら、再生用管理ファイルの構成について説明する。次いで、図4〜図8を参照しながら、仮想パッケージ構築機能を利用したプログレッシブダウンロード再生に関する処理の流れについて説明する。次いで、図9〜図11を参照しながら、既存の仮想パッケージを利用したプログレッシブダウンロード再生に関する処理の流れについて説明する。
【0014】
次いで、図12を参照しながら、一実施例に係る再生装置100の機能構成について説明する。次いで、図13〜図36を参照しながら、一実施例に係るプログレッシブダウンロード再生処理の流れについて説明する。次いで、図37を参照しながら、本実施形態に係るプログレッシブダウンロード再生を実現することが可能なハードウェア構成例について説明する。最後に、本実施形態の技術的思想について纏め、当該技術的思想から得られる作用効果について簡単に説明する。
【0015】
(説明項目)
1:はじめに
1−1:ストリーミング配信システムの構成
1−2:再生用管理ファイルの構成
1−3:仮想パッケージ構築機能を利用したプログレッシブダウンロード再生
1−4:既存の仮想パッケージを利用したプログレッシブダウンロード再生
2:実施例
2−1:再生装置100の構成
2−2:プログレッシブダウンロード再生処理の流れ
2−3:補足
3:ハードウェア構成例
4:まとめ
【0016】
<1:はじめに>
はじめに、プログレッシブダウンロード再生を実行することが可能なストリーミング配信システムの構成、及びプログレッシブダウンロード再生の大まかな仕組みについて説明する。この中で、BD規格で規定された仮想パッケージ構築機能を利用したプログレッシブダウンロード再生の仕組み、及び、既存の仮想パッケージを利用したプログレッシブダウンロード再生の仕組みについて紹介する。なお、本実施形態に係る技術は、既存の仮想パッケージを利用したプログレッシブダウンロード再生の仕組みに関する。
【0017】
[1−1:ストリーミング配信システムの構成]
まず、図1を参照しながら、プログレッシブダウンロード再生を実行することが可能なストリーミング配信システムの構成について説明する。図1は、プログレッシブダウンロード再生を実行することが可能なストリーミング配信システムの構成について説明するための説明図である。
【0018】
図1に示すように、ストリーミング配信システムは、例えば、配信サーバ11と、ネットワーク12と、再生装置100と、表示装置13とにより構成される。配信サーバ11は、ネットワーク12を介して音声や動画などのコンテンツを配信する。ネットワーク12は、インターネットなどの広域ネットワークやLAN(Local Area Network)などの局所ネットワークにより構成される通信網である。再生装置100は、配信サーバ11からコンテンツをダウンロードし、ダウンロードしたコンテンツを再生する。但し、プログレッシブダウンロード再生の場合、再生装置100は、コンテンツを構成する複数のストリームファイルを順次ダウンロードし、ダウンロードが完了した順にストリームファイルを再生する。再生されたコンテンツは、表示装置13に表示される。
【0019】
以下では、図1に示したストリーミング配信システムの構成を念頭において説明を進めるが、ストリーミング配信システムの構成はこれに限定されない。例えば、再生装置100がBDプレーヤや家庭用ゲーム機などの場合、表示装置13と再生装置100とが別体であることが多い。一方で、再生装置100がノート型パーソナルコンピュータ、情報端末、携帯電話、携帯動画プレーヤ、携帯音楽プレーヤ、カーナビゲーションシステムなどの場合、再生装置100に表示手段が搭載されていることが多い。この場合、表示装置13は省略される。また、配信サーバ11に代えて、ネットワーク12に接続された撮像装置からコンテンツを配信する構成が考えられる。例えば、ビデオカメラや監視カメラで撮影したライブ映像を再生装置100にストリーミング配信する構成などが考えられる。
【0020】
以上、ストリーミング配信システムの構成について説明した。
【0021】
[1−2:再生用管理ファイルの構成]
次に、図2及び図3を参照しながら、BD規格に準拠したストリームファイルの再生に利用される再生用管理ファイルの構成について説明する。図2及び図3は、BD規格に準拠したストリームファイルの再生に利用される再生用管理ファイルの構成について説明するための説明図である。なお、ここで考えるストリームファイルは、BD規格で規定されたMPEG2−TSファイル、或いは、BD規格に準拠した映像・音声データを含むMPEG2−TSファイルである。
【0022】
再生用管理ファイルは、プレイリスト及びクリップ情報ファイルにより構成される。また、プレイリストは、複数のプレイアイテムにより構成される。1つのプレイアイテムは、1つのクリップ情報ファイルに対応付けられている。また、1つのクリップ情報ファイルは、1つのストリームファイルに対応付けられている。プレイアイテムは、クリップ情報ファイルへの参照、再生開始時刻、再生終了時刻、コーデック情報を含む。一方、クリップ情報ファイルは、レコーディングレート、パケットの個数、時刻情報と位置情報とを対応付けるためのマッピング情報を含む。なお、時刻情報とは、再生時刻を示す情報である。また、位置情報とは、ストリームファイル内の位置を示す情報である。
【0023】
プレイリスト中にある情報は、時間単位で示されている。また、ユーザの操作指示は、時間単位で行われる。例えば、「現在位置から15秒先までスキップ」「先頭位置から5分後の位置に付されたマークまでジャンプ」といった操作指示が行われる。図2に示すように、クリップ情報ファイルは、プレイリスト中の時刻情報をストリームファイル中の位置情報に変換する際に利用される。例えば、図3に示すように、ユーザから操作指示が与えられると、まず、再生装置100は、クリップ情報ファイルを参照し、ユーザにより指定された時刻情報をストリームファイル中の位置情報に変換する。そして、再生装置100は、変換により得られたストリームファイル中の位置情報に基づいて操作指示の内容に応じた再生制御を実行する。
【0024】
以上、再生用管理ファイルの構成について説明した。上記のように、ストリームファイルの再生制御には、再生用管理ファイルが用いられる。そのため、ストリームファイルを再生する際、再生装置100は、予め再生用管理ファイルを認識しておく必要がある。再生用管理ファイルの認識は、例えば、仮想パッケージ構築機能を利用して実現される。
【0025】
[1−3:仮想パッケージ構築機能を利用したプログレッシブダウンロード再生]
そこで、図4〜図8を参照しながら、仮想パッケージ構築機能を利用したプログレッシブダウンロード再生の大まかな仕組みについて説明する。図4〜図8は、仮想パッケージ構築機能を利用したプログレッシブダウンロード再生の大まかな仕組みについて説明するための説明図である。
【0026】
以下、図4に示した処理の流れに沿って説明を進める。プログレッシブダウンロード再生を開始した再生装置100は、図5に示すように、再生するコンテンツの再生用管理ファイルを配信サーバ11からダウンロードする(S11)。図5の例では、プレイリスト「00001.mpls」及びクリップ情報ファイル「01001.clpi」「01002.clpi」を含む再生用管理ファイルがダウンロードされている。次いで、再生装置100は、図7に示すように、ダウンロードした再生用管理ファイルに基づいて仮想パッケージを構築する(S12)。但し、ストリームファイルについては、ストリームファイルへのマッピングだけが定義される。
【0027】
上記の仮想パッケージ構築機能は、図6に示すように、BD−ROMディスクから読み出したコンテンツに対して、ダウンロードしたコンテンツを追加する場合などに利用される機能である。図6の例は、BD−ROMディスクにあるストリームファイル「01001.m2ts」にストリームファイル「01002.m2ts」を追加する手順を示している。ストリームファイル「01002.m2ts」を追加する場合、ストリームファイル「01002.m2ts」に対応するプレイアイテム及びクリップ情報ファイルが必要になる。そのため、プレイアイテムが追加された新たなプレイリスト「0001.mpls」及びクリップ情報ファイル「01002.clpi」が与えられている。
【0028】
図6に示すように、再生装置100は、プレイリスト「0001.mpls」を新たなプレイリスト「0001.mpls」に更新し、クリップ情報ファイル「01002.clpi」及びストリームファイル「01002.m2ts」を追加した仮想パッケージを生成する。この機能を利用することにより、BD−ROMに記録されているコンテンツに対し、新たな言語の字幕を追加したり、特典映像を付与したりすることが可能になる。但し、仮想パッケージの構築処理は、プレイアイテムと、クリップ情報ファイルと、ストリームファイルとの間の対応関係など、再生用管理ファイルに含まれる情報が持つ構造を再び認識しなおす処理を含む。そのため、仮想パッケージの構築処理は演算量が大きい。そのため、市場に出回っているBDプレーヤを用いた場合、仮想パッケージの構築を開始してから完了するまでに数秒〜十数秒を要する。
【0029】
再び図4を参照する。仮想パッケージを構築すると、再生装置100は、図8に示すように、配信サーバ11からストリームファイルをダウンロードし(S13)、ダウンロードしたストリームファイルを有効化する(S14)。ステップS12においてストリームファイルへのマッピングが定義されているため、ストリームファイルのダウンロードが完了すると、そのストリームファイルを再生することが可能になる。次いで、再生装置100は、全てのストリームファイルを有効化したか否かを判定する(S15)。全てのストリームファイルを有効化した場合、再生装置100は、一連の処理を終了する。一方、全てのストリームファイルを有効化してはいない場合、再生装置100は、処理をステップS13に進め、再びステップS13〜S15の処理を実行する。
【0030】
以上、仮想パッケージ構築機能を利用したプログレッシブダウンロード再生の大まかな仕組みについて説明した。上記のように、仮想パッケージ構築機能を利用すれば、プログレッシブダウンロード再生を実現することが可能になる。しかし、仮想パッケージの構築には時間がかかる。また、上記の仕組みを利用する場合、コンテンツを切り替える度に仮想パッケージの構築が必要になる。そのため、上記の仕組みを利用した場合、ユーザが快適にプログレッシブダウンロード再生を楽しむことは難しい。
【0031】
[1−4:既存の仮想パッケージを利用したプログレッシブダウンロード再生]
そこで、本件発明者は、仮想パッケージの再構築を行わずに様々なコンテンツをプログレッシブダウンロード再生できるようにする仕組みを考案した。ここでは、図9〜図11を参照しながら、その概要について説明する。
【0032】
以下、図9に示した処理の流れに沿って説明を進める。プログレッシブダウンロード再生を開始した再生装置100は、まず、所定の再生用管理ファイルに対応する既存の仮想パッケージを取得し(S21)、その再生用管理ファイルを認識する。例えば、再生装置100は、BD−ROMや記憶装置などから予め用意された既存の仮想パッケージを読み込む。なお、再生装置100の起動時などに、既存の仮想パッケージを読み込む仕組みにしてもよい。また、再生装置100の起動時や最初にプログレッシブダウンロード再生を行う際などに、ダウンロードした再生用管理ファイルを用いて1度だけ仮想パッケージの構築を行う仕組みにしてもよい。
【0033】
既存の仮想パッケージを取得すると、再生装置100は、図10に示すように、所定の再生用管理ファイルに基づいて分割区間情報を生成する(S22)。まず、再生装置100は、再生管理ファイルに含まれるプレイアイテムとクリップ情報ファイルとの組み合わせを抽出する。次いで、再生装置100は、プレイアイテムから再生開始時刻、再生終了時刻、ストリームファイルのコーデック情報を読み込み、分割区間情報として保持する。さらに、再生装置100は、クリップ情報ファイルからストリームファイルのレコーディングレート、パケットの個数、開始パケットの位置情報を読み込み、分割区間情報として保持する。このとき、再生装置100は、クリップ情報ファイルに含まれるマッピング情報に基づいて開始パケットの位置情報を取得する。次いで、再生装置100は、再生終了時刻と再生開始時刻との差分(再生時間)を算出し、分割区間情報として保持する。
【0034】
再生装置100は、再生管理ファイルに含まれるプレイアイテムとクリップ情報ファイルとの組み合わせを順次抽出し、上記のようにして各組み合わせに対応する分割区間情報を生成する。分割区間情報を生成すると、再生装置100は、配信サーバ11からストリームファイルをダウンロードする(S23)。次いで、再生装置100は、ステップS22で生成した分割区間情報に基づいてストリームファイルを分割して分割ストリームファイルを生成する(S24)。この分割ストリームファイルは、ステップS21で取得した既存の仮想パッケージに適合したものになる。
【0035】
なお、分割ストリームファイルに含まれるパケットの個数が分割区間情報に記載されたパケットの個数と異なる場合、再生装置100は、分割区間情報の内容と整合するように、分割ストリームファイルにパディングパケット(例えば、NULLパケットなど)を追加する。上記のようにして分割ストリームファイルを生成すると、再生装置100は、図11に示すように、分割ストリームファイルを有効化する(S25)。
【0036】
次いで、再生装置100は、全てのストリームファイルについて分割ストリームファイルを有効化したか否かを判定する(S26)。全てのストリームファイルについて分割ストリームファイルを有効化した場合、再生装置100は、ストリームファイルの分割に関する一連の処理を終了する。一方、全てのストリームファイルについては分割ストリームファイルを有効化していない場合、再生装置100は、処理をステップS23に進め、再びステップS23〜S25の処理を実行する。
【0037】
以上、既存の仮想パッケージを利用したプログレッシブダウンロード再生の仕組みについて概要を説明した。なお、図9の例ではストリームファイルをダウンロードしてからストリームファイルの分割を実行しているが、ストリームファイルのダウンロードとストリームファイルの分割処理とを並行して行うように仕組みの一部を変形することもできる。つまり、ダウンロードの途中でも、ダウンロードが完了したパケットを利用して分割ストリームファイルを生成していくのである。このような構成にすると、ストリームファイルのダウンロードが途中の状態でストリームファイルを別のストリームファイルに切り替えるといった操作が可能になる。
【0038】
例えば、ダウンロードの速度が低下した場合に、ストリームファイルのダウンロードが途中の状態でデータ量の小さいストリームファイルに切り替えることが可能になる。これまで知られているプログレッシブダウンロード再生の仕組みでは、クリップ情報ファイルを単位としてストリームファイルの切り替えが行われるため、ストリームファイルのダウンロードが完了するまでストリームファイルの切り替えを待つ必要があった。しかし、上記の仕組みを適用すれば素早くストリームファイルの切り替えを行うことが可能になる。
【0039】
以上説明したように、本実施形態に係る技術は、所定の再生用管理ファイルに適合するように、ストリームファイルを分割する仕組みに関する。この仕組みを適用することにより、再生用管理ファイルの認識に要する時間を省略することが可能になり、快適なプログレッシブダウンロード再生を実現することが可能になる。また、ダウンロードの途中でストリームファイルを別のストリームファイルに切り替えられるようにすることで、ダウンロード速度の変化に素早く適応することが可能になる。
【0040】
<2:実施例>
これまでは本実施形態に係る技術の概要について説明してきた。以下では、BDプレーヤや家庭用ゲーム機などへの実装を念頭において、より具体的かつ詳細に本実施形態に係る技術について説明する。
【0041】
[2−1:再生装置100の構成]
まず、図12を参照しながら、本実施例に係る再生装置100の機能構成について説明する。図12は、本実施例に係る再生装置100の機能構成について説明するための説明図である。
【0042】
図12に示すように、再生装置100は、主に、通信部101と、ストリームファイル選択・分割部102と、再生制御部103と、再生用管理ファイル解析部104とにより構成される。
【0043】
通信部101は、ネットワーク12を介して配信サーバ11から再生用管理ファイルやストリームファイルなどのファイルをダウンロードするための通信手段である。また、ストリームファイル選択・分割部102は、ストリームファイルを分割して分割ストリームファイルを生成する手段である。また、再生制御部103は、ユーザの操作指示に従って分割ストリームファイルの再生制御を実行する手段である。また、再生用管理ファイル解析部104は、再生用管理ファイルを取得し、取得した再生用管理ファイルに基づいて分割区間情報を生成する手段である。
【0044】
以上、再生装置100の機能構成について説明した。
【0045】
[2−2:プログレッシブダウンロード再生処理の流れ]
次に、図13〜図36を参照しながら、本実施例に係る再生装置100により実行されるプログレッシブダウンロード再生処理の流れについて説明する。図13〜図36は、本実施例に係る再生装置100により実行されるプログレッシブダウンロード再生処理の流れについて説明するための説明図である。
【0046】
プログレッシブダウンロード再生を開始した再生装置100は、ストリームファイル選択・分割部102の機能により、ダウンロードの対象となるストリームファイルを選択し、選択したストリームファイルを分割対象となるストリームファイル(以下、入力ストリーム)に設定する(S101)。次いで、再生装置100は、ブランクストリームファイル数を設定する(S102)。
【0047】
ここで、ブランクストリームファイルについて説明を補足する。BDプレーヤなどの再生装置100は、多くの場合、プログレッシブダウンロード再生の際にストリームファイルの先読みを実行する。そのため、先読み対象となるストリームファイルが有効化されていない場合、再生装置100は、エラーを出力する。例えば、入力ストリームの再生時間よりも、全ての分割区間情報について各分割区間情報に記載された再生時間を総和した総再生時間が長い場合、入力ストリームの末尾まで再生されない。そこで、本実施例に係る再生装置100は、入力ストリームの末尾にあるパケットを利用して分割ストリームファイルを生成し、入力ストリームの末尾まで再生されるようにする。このようにして追加的に生成される分割ストリームファイルのことをブランクストリームファイルと呼ぶ。なお、ブランクストリームファイルの数は、想定される先読みファイルの数よりも十分に大きな数に設定される。
【0048】
さて、ブランクストリームファイル数を設定すると、再生装置100は、MPEG2−TS変換フラグを設定する(S103)。MPEG2−TS変換フラグは、入力ストリームをMPEG2−TS形式からM2TS形式に変換するか否かを示すフラグである。例えば、MPEG2−TS形式からM2TS形式に変換する場合、MPEG2−TS変換フラグは、trueに設定される。次いで、再生装置100は、循環分割フラグを設定する(S104)。循環分割フラグは、循環分割を行うか否かを示すフラグである。例えば、循環分割を行う場合、循環分割フラグは、trueに設定される。
【0049】
上記の循環分割とは、入力ストリームの再生時間が、全ての分割区間情報について各分割区間情報の再生時間を総和した総再生時間を越える場合に利用される分割方式を意味する。また、この循環分割は、ライブカメラ中継のように再生時間が確定されない場合も利用される。
【0050】
循環分割は、次のような処理ステップにより実現される。まず、再生装置100は、最終の分割区間情報に基づく分割ストリームファイルの生成が完了した時点で、分割区間を先頭に移行する。次いで、再生装置100は、一旦、入力元を最終の分割ストリームファイルに置き換えて分割処理を続行する。そして、再生装置100は、最終の分割ストリームファイルの末尾まで読み込んだ際に、入力元を元の入力ストリームファイルに再び戻し、分割処理を継続する。また、再生時において、再生装置100は、再生時点が最終の分割ストリームファイルに達した際に一時停止し、先頭にある分割区間情報に基づく分割処理が先読みファイル数まで進行した時点で再生を再開する。
【0051】
さて、ステップS105に処理を進めた再生装置100は、再生用管理ファイル解析部104の機能により、所定の再生用管理ファイルを取得し、取得した再生用管理ファイルから分割区間情報を生成する(S105)。次いで、再生装置100は、入力ストリーム切り替え可否フラグをtrueに設定する(S106)。次いで、再生装置100は、ビデオパケット詳細処理開始可否フラグをfalseに設定する(S107)。次いで、再生装置100は、入力ストリームの分割処理を開始する(S108)。このとき、ストリームファイル選択・分割部102は、再生制御部103に分割処理の開始を通知する。
【0052】
次に、図14を参照する。分割処理を開始した再生装置100は、終了フラグがtrueに設定されているか否かを判定する(S109)。但し、終了フラグの初期値はfalseである。終了フラグがtrueに設定されている場合、再生装置100は、処理をステップS114に進める。一方、終了フラグがfalseに設定されている場合、再生装置100は、処理をステップS110に進める。処理をステップS110に進めた場合、再生装置100は、入力ストリーム終端通知フラグをtrueに設定し、「パケットの読み込み処理(図15及び図16)」を実行する(S110)。なお、「パケットの読み込み処理(図15及び図16)」の詳細については後述する。
【0053】
次いで、再生装置100は、入力ストリーム終端フラグがtrueに設定されているか否かを判定する(S111)。入力ストリーム終端フラグがtrueに設定されている場合、再生装置100は、処理をステップS113に進める。一方、入力ストリーム終端フラグがfalseに設定されている場合、再生装置100は、処理をステップS112に進める。処理をステップS112に進めた場合、再生装置100は、「パケットの処理(図17〜図19)」を実行し(S112)、処理をステップS109に進める。なお、「パケットの処理(図17〜図19)」の詳細については後述する。
【0054】
処理をステップS113に進めた場合、再生装置100は、「入力ストリームの終端処理(図20)」を実行する(S113)。なお、「入力ストリームの終端処理(図20)」の詳細については後述する。次いで、再生装置100は、「分割ストリームファイルのクローズ処理(図21)」を実行する(S114)。なお、「分割ストリームファイルのクローズ処理(図21)」の詳細については後述する。次いで、再生装置100は、入力ストリームの分割処理を終了し(S115)、プログレッシブダウンロード再生に関する一連の処理を終了する。このとき、ストリームファイル選択・分割部102は、再生制御部103に分割処理の終了を通知する。
【0055】
以上、本実施例に係る再生装置100によるプログレッシブダウンロード再生処理の全体的な流れについて説明した。以下、「パケットの読み込み処理(図15及び図16)」、「パケットの処理(図17〜図19)」、「入力ストリームの終端処理(図20)」、「分割ストリームファイルのクローズ処理(図21)」について詳細に説明する。
【0056】
(「パケットの読み込み処理(図15及び図16)」の詳細)
まず、図15及び図16を参照しながら、「パケットの読み込み処理(図15及び図16)」の詳細について説明する。図15及び図16は、「パケットの読み込み処理(図15及び図16)」の詳細について説明するための説明図である。
【0057】
図15に示すように、パケットの読み込み処理を開始した再生装置100は、「入力ストリームの取得処理(図22)」を実行する(S131)。なお、「入力ストリームの取得処理(図22)」の詳細については後述する。次いで、再生装置100は、ステップS131で取得した入力ストリームからパケットを1個読み込む(S132)。次いで、再生装置100は、ステップS132で読み込んだパケットが入力ストリームの終端に位置するものであるか否かを判定する(S133)。読み込んだパケットが入力ストリームの終端に位置するものである場合、再生装置100は、処理をステップS134に進める。一方、読み込んだパケットが入力ストリームの終端に位置するものでない場合、再生装置100は、処理をステップS140(図16)に進める。
【0058】
処理をステップS134に進めた場合、再生装置100は、入力ストリーム終端通知フラグがtrueに設定されているか否かを判定する(S134)。入力ストリーム終端通知フラグがtrueに設定されている場合、再生装置100は、処理をステップS135に進める。一方、入力ストリーム終端通知フラグがfalseに設定されている場合、再生装置100は、処理をステップS141(図16)に進める。処理をステップS135に進めた場合、再生装置100は、分割可否判定フラグをfalseに設定し、「入力ストリームの切り替え処理(図23〜図25)」を実行する(S135)。なお、「入力ストリームの切り替え処理(図23〜図25)」の詳細については後述する。
【0059】
次に、図16を参照する。「入力ストリームの切り替え処理(図23〜図25)」を実行した後、再生装置100は、処理をステップS136に進め、入力ストリーム切り替えフラグがtrueに設定されているか否かを判定する(S136)。入力ストリーム切り替えフラグがtrueに設定されている場合、再生装置100は、処理をステップS131(図15)に進める。一方、入力ストリーム切り替えフラグがfalseに設定されている場合、再生装置100は、処理をステップS137に進める。
【0060】
処理をステップS137に進めた場合、再生装置100は、入力ストリームの終端に位置するパケットを特定する(S137)。このとき、ストリームファイル選択・分割部102は、再生制御部103に対して入力ストリームの終端位置を通知する。次いで、再生装置100は、現在の入力ストリームに続いて入力されるストリームファイル(以下、継続入力ストリームファイル)が指定されているか否かを判定する(S138)。継続入力ストリームファイルが指定されている場合、再生装置100は、処理をステップS139に進める。一方、継続入力ストリームファイルが指定されていない場合、再生装置100は、処理をステップS141に進める。
【0061】
処理をステップS139に進めた場合、再生装置100は、入力ストリームを継続入力ストリームファイルに置き換え(S139)、処理をステップS131に進める。処理をステップS140に進めた場合、再生装置100は、入力ストリーム終端フラグをfalseに設定し(S140)、「パケットの読み込み処理(図15及び図16)」に係る一連の処理を終了する。また、処理をステップS141に進めた場合、再生装置100は、入力ストリーム終端フラグをtrueに設定し(S141)、「パケットの読み込み処理(図15及び図16)」に係る一連の処理を終了する。
【0062】
以上、「パケットの読み込み処理(図15及び図16)」の詳細について説明した。
【0063】
(「パケットの処理(図17〜図19)」の詳細)
次に、図17〜図19を参照しながら、「パケットの処理(図17〜図19)」の詳細について説明する。図17〜図19は、「パケットの処理(図17〜図19)」の詳細について説明するための説明図である。
【0064】
図17に示すように、パケットの処理を開始した再生装置100は、処理対象のパケットからarrival_time_stamp(以下、ATS)を取得する(S151)。次いで、再生装置100は、処理対象のパケットが最初のパケットであるか否かを判定する(S152)。処理対象のパケットが最初のパケットである場合、再生装置100は、処理をステップS154に進める。一方、処理対象のパケットが最初のパケットでない場合、再生装置100は、処理をステップS153に進める。処理をステップS153に進めた場合、再生装置100は、パケットのATSと最終ATSとの差をATS差分に設定し(S153)、処理をステップS154に進める。
【0065】
処理をステップS154に進めた場合、再生装置100は、最終ATSを処理対象のパケットのATSで更新する(S154)。次いで、再生装置100は、処理対象のパケットが最初のPATパケットであるか否かを判定する(S155)。処理対象のパケットが最初のPATパケットである場合、再生装置100は、処理をステップS156に進める。一方、処理対象のパケットが最初のPATパケットでない場合、再生装置100は、処理をステップS157(図18)に進める。処理をステップS156に進めた場合、再生装置100は、PATパケット(処理対象のパケット)を保管し(S156)、処理をステップS157(図18)に進める。
【0066】
次に、図18を参照する。処理をステップS157に進めた再生装置100は、処理対象のパケットが最初のPMTパケットであるか否かを判定する(S157)。処理対象のパケットが最初のPMTパケットである場合、再生装置100は、処理をステップS158に進める。一方、処理対象のパケットが最初のPMTパケットでない場合、再生装置100は、処理をステップS159に進める。処理をステップS158に進めた場合、再生装置100は、PMTパケット(処理対象のパケット)を保管し(S158)、処理をステップS159に進める。
【0067】
処理をステップS159に進めた再生装置100は、処理対象のパケットが最初のSITパケットであるか否かを判定する(S159)。処理対象のパケットが最初のSITパケットである場合、再生装置100は、処理をステップS161に進める。一方、処理対象のパケットが最初のSITパケットでない場合、再生装置100は、処理をステップS160に進める。処理をステップS160に進めた場合、再生装置100は、SITパケット(処理対象のパケット)を保管し(S160)、処理をステップS161に進める。
【0068】
処理をステップS161に進めた再生装置100は、処理対象のパケットが最初のPCRパケットであるか否かを判定する(S161)。処理対象のパケットが最初のPCRパケットである場合、再生装置100は、処理をステップS163に進める。一方、処理対象のパケットが最初のPCRパケットでない場合、再生装置100は、処理をステップS162に進める。処理をステップS162に進めた場合、再生装置100は、PCRパケット(処理対象のパケット)を保管し(S162)、処理をステップS163(図19)に進める。
【0069】
次に、図19を参照する。処理をステップS163に進めた再生装置100は、処理対象のパケットがPATパケット、PMTパケット、SITパケット、PCRパケットのいずれかであるか否かを判定する(S163)。処理対象のパケットがPATパケット、PMTパケット、SITパケット、PCRパケットのいずれかである場合、再生装置100は、処理をステップS168に進める。一方、処理対象のパケットがPATパケット、PMTパケット、SITパケット、PCRパケットのいずれでもない場合、再生装置100は、処理をステップS164に進める。
【0070】
処理をステップS164に進めた場合、再生装置100は、ビデオパケット詳細処理開始可否フラグがtrueであるか否かを判定する(S164)。ビデオパケット詳細処理開始可否フラグがtrueである場合、再生装置100は、処理をステップS168に進める。一方、ビデオパケット詳細処理開始可否フラグがfalseである場合、再生装置100は、処理をステップS165に進める。
【0071】
処理をステップS165に進めた場合、再生装置100は、「入力ストリームの分割可能判定処理(図32)」を実行する(S165)。次いで、再生装置100は、分割可能フラグがtrueであるか否かを判定する(S166)。分割可能フラグがtrueである場合、再生装置100は、処理をステップS167に進める。一方、分割可能フラグがfalseである場合、再生装置100は、、「パケットの処理(図17〜図19)」に係る一連の処理を終了する。
【0072】
処理をステップS167に進めた場合、再生装置100は、ビデオパケット詳細処理開始可否フラグをtrueに設定し(S167)、処理をステップS168に進める。処理をステップS168に進めた再生装置100は、「パケットの詳細処理(図26〜図28)」を実行し(S168)、「パケットの処理(図17〜図19)」に係る一連の処理を終了する。なお、「パケットの詳細処理(図26〜図28)」の詳細については後述する。
【0073】
以上、「パケットの処理(図17〜図19)」の詳細について説明した。
【0074】
(「入力ストリームの終端処理(図20)」の詳細)
次に、図20を参照しながら、「入力ストリームの終端処理(図20)」の詳細について説明する。図20は、「入力ストリームの終端処理(図20)」の詳細について説明するための説明図である。
【0075】
図20に示すように、入力ストリームの終端処理を開始した再生装置100は、最終ビデオパケットリストにパケットが存在するか否かを判定する(S171)。最終ビデオパケットリストにパケットが存在する場合、再生装置100は、処理をステップS172に進める。一方、最終ビデオパケットリストにパケットが存在しない場合、再生装置100は、「入力ストリームの終端処理(図20)」に係る一連の処理を終了する。
【0076】
処理をステップS172に進めた場合、再生装置100は、ブランクストリームファイル数が1以上であるか否かを判定する(S172)。ブランクストリームファイル数が1以上である場合、再生装置100は、処理をステップS173に進める。一方、ブランクストリームファイル数が0である場合、再生装置100は、「入力ストリームの終端処理(図20)」に係る一連の処理を終了する。
【0077】
処理をステップS173に進めた場合、再生装置100は、処理対象が最終分割区間であるか否かを判定する(S173)。処理対象が最終分割区間である場合、再生装置100は、「入力ストリームの終端処理(図20)」に係る一連の処理を終了する。一方、処理対象が最終分割区間でない場合、再生装置100は、処理をステップS174に進める。
【0078】
処理をステップS174に進めた場合、再生装置100は、入力ストリーム切り替え許可フラグをfalseに設定する(S174)。次いで、再生装置100は、分割終了区間を設定する(S175)。なお、分割終了区間とは、入力ストリームの再生時間が、全ての分割区間情報について各分割区間情報の再生時間を総和した総再生時間に満たない場合に追加されるブランクストリームファイルの末尾に対応する分割区間を意味する。
【0079】
次いで、再生装置100は、終了フラグがtrueに設定されているか否かを判定する(S176)。終了フラグがtrueに設定されている場合、再生装置100は、「入力ストリームの終端処理(図20)」に係る一連の処理を終了する。一方、終了フラグがfalseに設定されている場合、再生装置100は、処理をステップS177に進める。処理をステップS177に進めた場合、再生装置100は、終了ビデオパケットリストから要素(最終ビデオパケット要素)を取得する(S177)。但し、末尾に到達した場合には先頭に戻る。
【0080】
次いで、再生装置100は、最終ビデオパケット要素のPTS、DTSを調整する(S178)。次いで、再生装置100は、最終ビデオパケット要素のATSを最終ATSで調整する(S179)。次いで、再生装置100は、「パケットの処理(図17〜図19)」を実行し(S180)、処理をステップS176に進める。
【0081】
以上、「入力ストリームの終端処理(図20)」の詳細について説明した。
【0082】
(「分割ストリームファイルのクローズ処理(図21)」の詳細)
次に、図21を参照しながら、「分割ストリームファイルのクローズ処理(図21)」の詳細について説明する。図21は、「分割ストリームファイルのクローズ処理(図21)」の詳細について説明するための説明図である。
【0083】
図21に示すように、分割ストリームファイルのクローズ処理を開始した再生装置100は、分割ストリームファイルへの書き込みパケット数が1以上であるか否かを判定する(S191)。分割ストリームファイルへの書き込みパケット数が0である場合、再生装置100は、「分割ストリームファイルのクローズ処理(図21)」に係る一連の処理を終了する。一方、分割ストリームファイルへの書き込みパケット数が1以上の場合、再生装置100は、処理をステップS192に進める。
【0084】
処理をステップS192に進めた場合、再生装置100は、分割ストリームファイルへの書き込みパケット数が分割区間のパケット数であるか否かを判定する(S192)。分割ストリームファイルへの書き込みパケット数が分割区間のパケット数である場合、再生装置100は、処理をステップS194に進める。一方、分割ストリームファイルへの書き込みパケット数が分割区間のパケット数でない場合、再生装置100は、処理をステップS193に進める。
【0085】
処理をステップS193に進めた場合、再生装置100は、パディングパケットを書き込みパケットに設定し、挿入フラグをtrueに設定し、「パケットの書き込み処理(図29及び図30)」を実行する(S193)。ステップS193の処理を実行後、再生装置100は、処理をステップS192に進める。
【0086】
処理をステップS194に進めた場合、再生装置100は、出力ストリーム(分割ストリームファイル)をクローズする(S194)。その後、ストリームファイル選択・分割部102から再生制御部103へと分割ストリームファイルの作成完了が通知され(S195)、「分割ストリームファイルのクローズ処理(図21)」に係る一連の処理が終了する。
【0087】
以上、「分割ストリームファイルのクローズ処理(図21)」の詳細について説明した。
【0088】
次に、上記の説明において登場した「入力ストリームの取得処理(図22)」、「入力ストリームの切り替え処理(図23〜図25)」、「パケットの詳細処理(図26〜図28)」、「パケットの書き込み処理(図29及び図30)」について詳細に説明する。
【0089】
(「入力ストリームの取得処理(図22)」の詳細)
まず、図22を参照しながら、「入力ストリームの取得処理(図22)」の詳細について説明する。図22は、「入力ストリームの取得処理(図22)」の詳細について説明するための説明図である。
【0090】
図22に示すように、入力ストリームの取得処理を開始した再生装置100は、循環分割フラグがtrueに設定されているか否かを判定する(S211)。循環分割フラグがtrueに設定されている場合、再生装置100は、処理をステップS212に進める。一方、循環分割フラグがfalseに設定されている場合、再生装置100は、処理をステップS213に進める。
【0091】
処理をステップS212に進めた場合、再生装置100は、折り返しフラグがtrueに設定されているか否かを判定する(S212)。折り返しフラグがtrueに設定されている場合、再生装置100は、「入力ストリームの取得処理(図22)」に係る一連の処理を終了する。一方、折り返しフラグがfalseに設定されている場合、再生装置100は、処理をステップS213に進める。
【0092】
処理をステップS213に進めた場合、再生装置100は、MPEG2−TS変換フラグがtrueに設定されているか否かを判定する(S213)。MPEG2−TS変換フラグがtrueに設定されている場合、再生装置100は、処理をステップS214に進める。一方、MPEG2−TS変換フラグがfalseに設定されている場合、再生装置100は、「入力ストリームの取得処理(図22)」に係る一連の処理を終了する。処理をステップS214に進めた場合、再生装置100は、入力ストリームをMPEG2−TSコンバータストリームで置き換え(S214)、「入力ストリームの取得処理(図22)」に係る一連の処理を終了する。
【0093】
以上、「入力ストリームの取得処理(図22)」の詳細について説明した。
【0094】
(「入力ストリームの切り替え処理(図23〜図25)」の詳細)
次に、図23〜図25を参照しながら、「入力ストリームの切り替え処理(図23〜図25)」の詳細について説明する。図23〜図25は、「入力ストリームの切り替え処理(図23〜図25)」の詳細について説明するための説明図である。
【0095】
図23に示すように、入力ストリームの切り替え処理を開始した再生装置100は、入力ストリーム切り替え許可フラグがtrueに設定されているか否かを判定する(S231)。入力ストリーム切り替え許可フラグがtrueに設定されている場合、再生装置100は、処理をステップS232に進める。一方、入力ストリーム切り替え許可フラグがfalseに設定されている場合、再生装置100は、処理をステップS249(図25)に進める。
【0096】
処理をステップS232に進めた場合、再生装置100は、入力ストリーム切り替えPTSが設定されているか否かを判定する(S232)。入力ストリーム切り替えPTSが設定されている場合、再生装置100は、処理をステップS233に進める。一方、入力ストリーム切り替えPTSが設定されていない場合、再生装置100は、処理をステップS249(図25)に進める。
【0097】
処理をステップS233に進めた場合、再生装置100は、分割可否判定フラグがtrueに設定されているか否かを判定する(S233)。分割可否判定フラグがtrueに設定されている場合、再生装置100は、処理をステップS234に進める。一方、分割可否判定フラグがfalseに設定されている場合、再生装置100は、処理をステップS237に進める。処理をステップS234に進めた場合、再生装置100は、「入力ストリームの分割可能判定処理(図32)」を実行する(S234)。
【0098】
次いで、再生装置100は、分割可能フラグがtrueに設定されているか否かを判定する(S235)。分割可能フラグがtrueに設定されている場合、再生装置100は、処理をステップS236に進める。一方、分割可能フラグがfalseに設定されている場合、再生装置100は、処理をステップS249(図25)に進める。
【0099】
処理をステップS236に進めた場合、再生装置100は、現在のPTSが入力ストリーム切り替えPTSに達したか否かを判定する(S236)。現在のPTSが入力ストリーム切り替えPTSに達した場合、再生装置100は、処理をステップS237に進める。一方、現在のPTSが入力ストリーム切り替えPTSに達していない場合、再生装置100は、処理をステップS249(図25)に進める。
【0100】
処理をステップS237に進めた場合、再生装置100は、入力ストリーム切り替えPTSをクリアする(S237)。その後、ストリームファイル選択・分割部102から再生制御部103へと入力ストリーム切り替え要求の確認通知が送られ(S238)、処理がステップS239(図24)に進められる。
【0101】
次に、図24を参照する。処理をステップS239に進めた再生装置100は、入力ストリームの切り替えが要求されているか否かを判定する(S239)。入力ストリームの切り替えを要求されている場合、再生装置100は、処理をステップS240に進める。一方、入力ストリームの切り替えを要求されていない場合、再生装置100は、処理をステップS249(図25)に進める。
【0102】
処理をステップS240に進めた場合、再生装置100は、入力ストリームを切り替え先入力ストリームに置き換える(S240)。次いで、再生装置100は、入力ストリーム終端通知フラグをfalseに設定し、「パケットの読み込み処理(図15及び図16)」を実行する(S241)。
【0103】
次いで、再生装置100は、入力ストリーム終端フラグがtrueに設定されているか否かを判定する(S242)。入力ストリーム終端フラグがtrueに設定されている場合、再生装置100は、処理をステップS249(図25)に進める。一方、入力ストリーム終端フラグがfalseに設定されている場合、再生装置100は、処理をステップS243に進める。
【0104】
処理をステップS243に進めた場合、再生装置100は、「入力ストリームの分割可能判定処理(図32)」を実行する(S243)。なお、「入力ストリームの分割可能判定処理(図32)」の詳細については後述する。次いで、再生装置100は、分割可能フラグがtrueに設定されているか否かを判定する(S244)。分割可能フラグがtrueに設定されている場合、再生装置100は、処理をステップS245(図25)に進める。一方、分割可能フラグがfalseに設定されている場合、再生装置100は、処理をステップS249(図25)に進める。
【0105】
次に、図25を参照する。処理をステップS245に進めた場合、再生装置100は、処理対象がPTS、DTSを含むビデオパケットであるか否かを判定する(S245)。処理対象がPTS、DTSを含むビデオパケットである場合、再生装置100は、処理をステップS246に進める。一方、処理対象がPTS、DTSを含むビデオパケットでない場合、再生装置100は、処理をステップS241(図24)に進める。
【0106】
処理をステップS246に進めた場合、再生装置100は、PTS差分を算出し、算出した値でPTS差分を更新する(S246)。次いで、再生装置100は、最終ATSをパケットのATSで更新する(S247)。次いで、再生装置100は、入力ストリーム切り替えフラグをtrueに設定し(S248)、「入力ストリームの切り替え処理(図23〜図25)」に係る一連の処理を終了する。また、処理をステップS249に進めた場合、再生装置100は、入力ストリーム切り替えフラグをfalseに設定し(S249)、「入力ストリームの切り替え処理(図23〜図25)」に係る一連の処理を終了する。
【0107】
以上、「入力ストリームの切り替え処理(図23〜図25)」の詳細について説明した。
【0108】
(「パケットの詳細処理(図26〜図28)」の詳細)
次に、図26〜図28を参照しながら、「パケットの詳細処理(図26〜図28)」の詳細について説明する。図26〜図28は、「パケットの詳細処理(図26〜図28)」の詳細について説明するための説明図である。
【0109】
図26に示すように、パケットの詳細処理を開始した再生装置100は、分割ストリームファイルへの書き込みパケット数が分割区間の上限であるか否かを判定する(S251)。分割ストリームファイルへの書き込みパケット数が分割区間の上限である場合、再生装置100は、処理をステップS252に進める。一方、分割ストリームファイルへの書き込みパケット数が分割区間の上限でない場合、再生装置100は、処理をステップS254に進める。
【0110】
処理をステップS252に進めた場合、再生装置100は、PTS基準値を指定せず、「次の分割区間への移行処理(図31)」を実行する(S252)。なお、「次の分割区間への移行処理(図31)」の詳細については後述する。次いで、再生装置100は、最終分割区間フラグがtrueに設定されているか否かを判定する(S253)。最終分割区間フラグがtrueに設定されている場合、再生装置100は、パケットの詳細処理(図26〜図28)」に係る一連の処理を終了する。一方、最終分割区間フラグがfalseに設定されている場合、再生装置100は、処理をステップS254に進める。
【0111】
処理をステップS254に進めた場合、再生装置100は、処理対象がビデオパケットであるか否かを判定する(S254)。処理対象がビデオパケットである場合、再生装置100は、処理をステップS255に進める。一方、処理対象がビデオパケットでない場合、再生装置100は、処理をステップS273(図28)に進める。
【0112】
処理をステップS255に進めた場合、再生装置100は、最終ビデオパケットクリアフラグをfalseに設定する(S255)。次いで、再生装置100は、処理対象がDTSを含むか否かを判定する(S256)。処理対象がDTSを含む場合、再生装置100は、処理をステップS257に進める。一方、処理対象がDTSを含まない場合、再生装置100は、処理をステップS268(図28)に進める。
【0113】
処理をステップS257に進めた場合、再生装置100は、PTS基準値が設定されているか否かを判定する(S257)。PTS基準値が設定されている場合、再生装置100は、処理をステップS259(図27)に進める。一方、PTS基準値が設定されていない場合、再生装置100は、PTS基準値を現在のPTSで更新する(S258)。
【0114】
次に、図27を参照する。処理をステップS259に進めた再生装置100は、分割可否判定フラグをtrueに設定し、「入力ストリームの切り替え処理(図23〜図25)」を実行する(S259)。次いで、再生装置100は、「入力ストリームの分割要否判定処理(図33)」を実行する(S260)。なお、「入力ストリームの分割要否判定処理(図33)」の詳細については後述する。
【0115】
次いで、再生装置100は、分割要求フラグがtrueに設定されているか否かを判定する(S261)。分割要求フラグがtrueに設定されている場合、再生装置100は、処理をステップS262に進める。一方、分割要求フラグがfalseに設定されている場合、再生装置100は、処理をステップS266に進める。
【0116】
処理をステップS262に進めた場合、再生装置100は、現在のPTSをPTS基準値に設定し、「次の分割区間への移行処理(図31)」を実行する(S262)。なお、「次の分割区間への移行処理(図31)」の詳細については後述する。次いで、再生装置100は、最終分割区間フラグがtrueに設定されているか否かを判定する(S263)。最終分割区間フラグがtrueに設定されている場合、再生装置100は、「パケットの詳細処理(図26〜図28)」に係る一連の処理を終了する。一方、最終分割区間フラグがfalseに設定されている場合、再生装置100は、処理をステップS264に進める。
【0117】
処理をステップS264に進めた場合、再生装置100は、PTS基準値を現在のPTSで更新し、そのPTS基準値を保管する(S264)。次いで、再生装置100は、最終ビデオパケットクリアフラグをtrueに設定し(S265)、処理をステップS268(図28)に進める。
【0118】
処理をステップS266に進めた場合、再生装置100は、「入力ストリームの分割可能判定処理(図32)」を実行する(S266)。なお、「入力ストリームの分割可能判定処理(図32)」の詳細については後述する。次いで、再生装置100は、分割可能フラグがtrueに設定されているか否かを判定する(S267)。分割可能フラグがtrueに設定されている場合、再生装置100は、処理をステップS265に進める。一方、分割可能フラグがfalseに設定されている場合、再生装置100は、処理をステップS268(図28)に進める。
【0119】
次に、図28を参照する。処理をステップS268に進めた再生装置100は、ブランクストリームファイル数が1以上であるか否かを判定する(S268)。ブランクストリームファイル数が1以上の場合、再生装置100は、処理をステップS269に進める。一方、ブランクストリームファイル数が0の場合、再生装置100は、処理をステップS273に進める。
【0120】
処理をステップS269に進めた場合、再生装置100は、分割終了区間が設定されているか否かを判定する(S269)。分割終了区間が設定されている場合、再生装置100は、処理をステップS273に進める。一方、分割終了区間が設定されていない場合、再生装置100は、処理をステップS270に進める。
【0121】
処理をステップS270に進めた場合、再生装置100は、最終ビデオパケットクリアフラグがtrueに設定されているか否かを判定する(S270)。最終ビデオパケットクリアフラグがtrueに設定されている場合、再生装置100は、処理をステップS271に進める。一方、最終ビデオパケットクリアフラグがfalseに設定されている場合、再生装置100は、処理をステップS272に進める。
【0122】
処理をステップS271に進めた場合、再生装置100は、最終ビデオパケットリストをクリアする(S271)。また、処理をステップS272に進めた再生装置100は、最終ビデオパケットリストにパケットを追加する(S272)。さらに、処理をステップS273に進めた再生装置100は、現在のパケットを書き込みパケットに設定し、挿入フラグをfalseに設定し、「パケットの書き込み処理(図29及び図30)」を実行する(S273)。ステップS273の処理を実行した後、再生装置100は、「パケットの詳細処理(図26〜図28)」に係る一連の処理を終了する。
【0123】
以上、「パケットの詳細処理(図26〜図28)」の詳細について説明した。
【0124】
(「パケットの書き込み処理(図29及び図30)」の詳細)
次に、図29及び図30を参照しながら、「パケットの書き込み処理(図29及び図30)」の詳細について説明する。図29及び図30は、「パケットの書き込み処理(図29及び図30)」の詳細について説明するための説明図である。
【0125】
図29に示すように、パケットの書き込み処理を開始した再生装置100は、分割ストリームファイルがオープンされているか否かを判定する(S291)。分割ストリームファイルがオープンされている場合、再生装置100は、処理をステップS293に進める。一方、分割ストリームファイルがオープンされていない場合、再生装置100は、処理をステップS292に進める。処理をステップS292に進めた場合、再生装置100は、分割ストリームファイルから出力ストリームを取得する(S292)。
【0126】
処理をステップS293に進めた再生装置100は、分割区間の開始パケット位置を取得する(S293)。次いで、再生装置100は、処理対象がPATパケット、PMTパケット、SITパケット、PCRパケットのいずれかであるか否かを判定する(S294)。処理対象がPATパケット、PMTパケット、SITパケット、PCRパケットのいずれかである場合、再生装置100は、処理をステップS295に進める。一方、処理対象がPATパケット、PMTパケット、SITパケット、PCRパケットのいずれでもない場合、再生装置100は、処理をステップS297(図30)に進める。
【0127】
処理をステップS295に進めた場合、再生装置100は、分割ストリームファイルへの書き込み位置が開始パケット位置であるか否かを判定する(S295)。分割ストリームファイルへの書き込み位置が開始パケット位置である場合、再生装置100は、「パケットの書き込み処理(図29及び図30)」に係る一連の処理を終了する。一方、分割ストリームファイルへの書き込み位置が開始パケット位置でない場合、再生装置100は、処理をステップS296に進める。
【0128】
処理をステップS296に進めた場合、再生装置100は、PCRパケット以外についてcontinuity_counterを更新し(S296)、処理をステップS300(図30)に進める。
【0129】
次に、図30を参照する。処理をステップS297に進めた場合、再生装置100は、処理対象がビデオパケットであるか否かを判定する(S297)。処理対象がビデオパケットである場合、再生装置100は、処理をステップS298に進める。一方、処理対象がビデオパケットでない場合、再生装置100は、処理をステップS305に進める。
【0130】
処理をステップS298に進めた場合、再生装置100は、分割ストリームファイルへの書き込みパケット位置が開始パケット位置であるか否かを判定する(S298)。分割ストリームファイルへの書き込みパケット位置が開始パケット位置である場合、再生装置100は、処理をステップS300に進める。一方、分割ストリームファイルへの書き込みパケット位置が開始パケット位置でない場合、再生装置100は、処理をステップS299に進める。
【0131】
処理をステップS299に進めた場合、再生装置100は、パディングパケットを書き込みパケットに設定し、挿入フラグをtrueに設定し、「パケットの書き込み処理(図29)」を実行する(S299)。つまり、再生装置100は、書き込みパケット及び挿入フラグの設定を再設定してステップS291以降の処理を実行する。また、ステップS299の処理を実行した後、再生装置100は、処理をステップS298に進める。
【0132】
処理をステップS300に進めた場合、再生装置100は、パケットのATSを現在のATSで更新する(S300)。次いで、再生装置100は、処理対象がPCRパケットであるか否かを判定する(S301)。処理対象がPCRパケットである場合、再生装置100は、処理をステップS302に進める。一方、処理対象がPCRパケットでない場合、再生装置100は、処理をステップS303に進める。
【0133】
処理をステップS302に進めた場合、再生装置100は、パケットのPCRを現在のATSで更新する(S302)。処理をステップS303に進めた再生装置100は、現在のATSを更新する(S303)。次いで、再生装置100は、出力ストリームにパケットを書き込み(S304)、「パケットの書き込み処理(図29及び図30)」に係る一連の処理を終了する。
【0134】
また、処理をステップS305に進めた場合、再生装置100は、分割ストリームファイルへの書き込み位置が開始パケット位置より前であるか否かを判定する(S305)。分割ストリームファイルへの書き込み位置が開始パケット位置より前である場合、再生装置100は、「パケットの書き込み処理(図29及び図30)」に係る一連の処理を終了する。一方、分割ストリームファイルへの書き込み位置が開始パケット位置より前でない場合、再生装置100は、処理をステップS300に進める。
【0135】
以上、「パケットの書き込み処理(図29及び図30)」の詳細について説明した。
【0136】
次に、上記の説明において登場した「次の分割区間への移行処理(図31)」、「入力ストリームの分割可能判定処理(図32)」、「入力ストリームの分割要否判定処理(図33)」について詳細に説明する。
【0137】
(「次の分割区間への移行処理(図31)」の詳細)
まず、図31を参照しながら、「次の分割区間への移行処理(図31)」の詳細について説明する。図31は、「次の分割区間への移行処理(図31)」の詳細について説明するための説明図である。
【0138】
図31に示すように、次の分割区間への移行処理を開始した再生装置100は、「分割ストリームファイルのクローズ処理(図21)」を実行する(S311)。次いで、再生装置100は、処理対象が最終分割区間であるか否かを判定する(S312)。処理対象が最終分割区間である場合、再生装置100は、処理をステップS320に進める。一方、処理対象が最終分割区間でない場合、再生装置100は、処理をステップS313に進める。
【0139】
処理をステップS313に進めた場合、再生装置100は、次の分割区間を有効化する(S313)。次いで、再生装置100は、PTS基準値を指定PTS基準値で更新する(S314)。次いで、再生装置100は、保管していたPATパケットを書き込みパケットに設定し、挿入フラグをtrueに設定し、「パケットの書き込み処理(図29及び図30)」を実行する(S315)。次いで、再生装置100は、保管していたPMTパケットを書き込みパケットに設定し、挿入フラグをtrueに設定し、「パケットの書き込み処理(図29及び図30)」を実行する(S316)。
【0140】
次いで、再生装置100は、保管していたSITパケットを書き込みパケットに設定し、挿入フラグをtrueに設定し、「パケットの書き込み処理(図29及び図30)」を実行する(S317)。次いで、再生装置100は、保管していたPCRパケットを書き込みパケットに設定し、挿入フラグをtrueに設定し、「パケットの書き込み処理(図29及び図30)」を実行する(S318)。次いで、再生装置100は、最終分割区間フラグをfalseに設定し(S319)、「次の分割区間への移行処理(図31)」に係る一連の処理を終了する。
【0141】
また、処理をステップS320に進めた場合、再生装置100は、分割終了区間が設定されているか否かを判定する(S320)。分割終了区間が設定されている場合、再生装置100は、処理をステップS321に進める。一方、分割終了区間が設定されていない場合、再生装置100は、処理をステップS313に進める。
【0142】
処理をステップS321に進めた場合、再生装置100は、現在の分割区間が分割終了区間であるか否かを判定する(S321)。現在の分割区間が分割終了区間である場合、再生装置100は、処理をステップS322に進める。一方、現在の分割区間が分割終了区間でない場合、再生装置100は、処理をステップS313に進める。
【0143】
処理をステップS322に進めた場合、再生装置100は、PTS基準値を指定PTS基準値に設定し、「分割区間の終端処理(図34〜図36)」を実行する(S322)。なお、「分割区間の終端処理(図34〜図36)」の詳細については後述する。次いで、再生装置100は、分割継続フラグがtrueに設定されているか否かを判定する(S323)。分割継続フラグがtrueに設定されている場合、再生装置100は、処理をステップS319に進める。一方、分割継続フラグがfalseに設定されている場合、再生装置100は、処理をステップS325に進める。
【0144】
処理をステップS325に進めた場合、再生装置100は、終了フラグをtrueに設定する(S325)。次いで、再生装置100は、最終分割区間フラグをtrueに設定し(S326)、「次の分割区間への移行処理(図31)」に係る一連の処理を終了する。また、処理をステップS319に進めた場合、再生装置100は、最終分割区間フラグをfalseに設定し(S319)、「次の分割区間への移行処理(図31)」に係る一連の処理を終了する。
【0145】
以上、「次の分割区間への移行処理(図31)」の詳細について説明した。
【0146】
(「入力ストリームの分割可能判定処理(図32)」の詳細)
次に、図32を参照しながら、「入力ストリームの分割可能判定処理(図32)」の詳細について説明する。図32は、「入力ストリームの分割可能判定処理(図32)」の詳細について説明するための説明図である。
【0147】
図32に示すように、入力ストリームの分割可能判定処理を開始した再生装置100は、分割区間情報からビデオコーデックを取得する(S331)。次いで、再生装置100は、現在のパケットに関する情報とビデオコーデックに関する情報とに基づいて分割処理が可能な否かを判定する(S332)。そして、再生装置100は、判定結果に応じて処理を切り替える(S333)。分割が可能な場合、再生装置100は、処理をステップS334に進める。一方、分割が可能でない場合、再生装置100は、処理をステップS335に進める。
【0148】
処理をステップS334に進めた場合、再生装置100は、分割可能フラグをtrueに設定し(S334)、「入力ストリームの分割可能判定処理(図32)」に係る一連の処理を終了する。また、処理をステップS335に進めた場合、再生装置100は、分割可能フラグをfalseに設定し(S335)、「入力ストリームの分割可能判定処理(図32)」に係る一連の処理を終了する。
【0149】
以上、「入力ストリームの分割可能判定処理(図32)」の詳細について説明した。
【0150】
(「入力ストリームの分割要否判定処理(図33)」の詳細)
次に、図33を参照しながら、「入力ストリームの分割要否判定処理(図33)」の詳細について説明する。図33は、「入力ストリームの分割要否判定処理(図33)」の詳細について説明するための説明図である。
【0151】
図33に示すように、入力ストリームの分割要否判定処理を開始した再生装置100は、「入力ストリームの分割可能判定処理(図32)」を実行する(S351)。次いで、再生装置100は、分割可能フラグがtrueに設定されているか否かを判定する(S352)。分割可能フラグがtrueに設定されている場合、再生装置100は、処理をステップS353に進める。一方、分割可能フラグがfalseに設定されている場合、再生装置100は、処理をステップS357に進める。
【0152】
処理をステップS353に進めた場合、再生装置100は、現在のパケットのPTSとPTS基準値とに基づいてPTS経過値を取得する(S353)。次いで、再生装置100は、分割区間情報から再生時間を取得する(S354)。次いで、再生装置100は、PTS経過値が再生時間以上であるか否かを判定する(S355)。PTS経過値が再生時間以上である場合、再生装置100は、処理をステップS356に進める。一方、PTS経過値が再生時間以上でない場合、再生装置100は、処理をステップS357に進める。
【0153】
処理をステップS356に進めた場合、再生装置100は、分割要求フラグをtrueに設定し(S356)、「入力ストリームの分割要否判定処理(図33)」に係る一連の処理を終了する。一方、処理をステップS357に進めた場合、再生装置100は、分割要求フラグをfalseに設定し(S357)、「入力ストリームの分割要否判定処理(図33)」に係る一連の処理を終了する。
【0154】
以上、「入力ストリームの分割要否判定処理(図33)」の詳細について説明した。
【0155】
次に、上記の説明において登場した「分割区間の終端処理(図34〜図36)」の詳細について説明する。
【0156】
(「分割区間の終端処理(図34〜図36)」の詳細)
以下、図34〜図36を参照しながら、「分割区間の終端処理(図34〜図36)」の詳細について説明する。図34〜図36は、「分割区間の終端処理(図34〜図36)」の詳細について説明するための説明図である。
【0157】
図34に示すように、分割区間の終端処理を開始した再生装置100は、循環分割フラグがtrueに設定されているか否かを判定する(S371)。循環分割フラグがtrueに設定されている場合、再生装置100は、処理をステップS372に進める。一方、循環分割フラグがfalseに設定されている場合、再生装置100は、処理をステップS391(図36)に進める。
【0158】
処理をステップS372に進めた場合、再生装置100は、分割終了区間が設定されているか否かを判定する(S372)。分割終了区間が設定されている場合、再生装置100は、処理をステップS379に進める。一方、分割終了区間が設定されていない場合、再生装置100は、処理をステップS373に進める。
【0159】
処理をステップS373に進めた場合、再生装置100は、折り返しフラグをfalseに設定する(S373)。次いで、再生装置100は、「入力ストリームの取得処理(図22)」を実行する(S374)。次いで、再生装置100は、入力ストリームを保管する(S375)。次いで、現在の分割ストリームファイルから入力ストリームを取得する(S376)。次いで、再生装置100は、分割区間を先頭に移行する(S377)。次いで、再生装置100は、折り返しフラグをtrueに設定し(S378)、処理をステップS380(図35)に進める。
【0160】
また、処理をステップS379に進めた場合、再生装置100は、現在の分割区間が分割最終区間であるか否かを判定する(S379)。現在の分割区間が分割終了区間である場合、再生装置100は、処理をステップS391(図36)に進める。一方、現在の分割区間が分割終了区間でない場合、再生装置100は、処理をステップS373に進める。
【0161】
次に、図35を参照する。処理をステップS380に進めた再生装置100は、終了フラグがtrueに設定されているか否かを判定する(S380)。終了フラグがtrueに設定されている場合、再生装置100は、処理をステップS384に進める。一方、終了フラグがfalseに設定されている場合、再生装置100は、処理をステップS381に進める。
【0162】
処理をステップS381に進めた場合、再生装置100は、入力ストリーム終端通知フラグをtrueに設定し、「パケットの読み込み処理(図15及び図16)」を実行する(S381)。次いで、再生装置100は、入力ストリーム終端フラグがtrueに設定されているか否かを判定する(S382)。入力ストリーム終端フラグがtrueに設定されている場合、再生装置100は、処理をステップS384に進める。一方、入力ストリーム終端フラグがfalseに設定されている場合、再生装置100は、処理をステップS383に進める。
【0163】
処理をステップS383に進めた場合、再生装置100は、「パケットの処理(図17〜図19)」を実行し(S383)、処理をステップS380に進める。また、処理をステップS384に進めた場合、再生装置100は、折り返しフラグをfalseに設定する(S384)。次いで、再生装置100は、入力ストリームをクローズする(S385)。次いで、再生装置100は、保管していた入力ストリームを復元し(S386)、処理をステップS387(図36)に進める。
【0164】
次に、図36を参照する。処理をステップS387に進めた再生装置100は、終了フラグがtrueに設定されているか否かを判定する(S387)。終了フラグがtrueに設定されている場合、再生装置100は、処理をステップS391に進める。一方、終了フラグがfalseに設定されている場合、再生装置100は、処理をステップS388に進める。
【0165】
処理をステップS388に進めた場合、再生装置100は、指定PTS基準値をPTS基準値に設定し、「次の分割区間への移行処理(図31)」を実行する(S388)。次いで、再生装置100は、最終分割区間フラグがtrueに設定されているか否かを判定する(S389)。最終分割区間フラグがtrueに設定されている場合、再生装置100は、処理をステップS391に進める。一方、最終分割区間フラグがfalseに設定されている場合、再生装置100は、処理をステップS390に進める。
【0166】
処理をステップS390に進めた場合、再生装置100は、分割継続フラグをtrueに設定し(S390)、「分割区間の終端処理(図34〜図36)」に係る一連の処理を終了する。また、処理をステップS391に進めた場合、再生装置100は、分割継続フラグをfalseに設定し(S391)、「分割区間の終端処理(図34〜図36)」に係る一連の処理を終了する。
【0167】
以上、「分割区間の終端処理(図34〜図36)」の詳細について説明した。
【0168】
以上、本実施例に係る再生装置100によるプログレッシブダウンロード再生処理の流れについて説明した。
【0169】
[2−3:補足]
以下、補足説明を行う。
【0170】
(可変ビットレート再生への適用)
可変ビットレート再生への適用は、次のようにして実現可能である。再生装置100は、ダウンロード速度の低下を検出すると、よりビットレートが低いストリームファイルへの切り替えを開始する。まず、再生装置100は、配信サーバ11に現在のダウンロード速度、及びアクセスユニット先頭の時刻情報を送信する。これらの情報を受信した配信サーバ11は、適正なビットレートのストリームファイルを選択する。そして、配信サーバ11は、ダウンロード開始位置を設定し、選択したストリームファイルを再生装置100にダウンロードさせる。
【0171】
ストリームファイルに含まれるアクセスユニットの間隔は、再生用管理ファイルの分割区間より十分に短い。そのため、ストリームファイルを高速に切り替えることができる。なお、適正なビットレートのストリームファイルを選択する際、配信サーバ11にアクセスユニット先頭の時刻情報のみを送信するようにしてもよい。この場合、再生装置100は、事前に各種ビットレートに応じたダウンロード情報を用意しておく必要がある。
【0172】
(割り込み再生への適用)
可変ビットレート再生においては同じ内容でビットレートが異なるストリームファイルを切り替えるが、コーデックおよびフレームレートなどの条件が一致していれば別の内容のストリームファイルに切り替えることも可能である。そのため、割り込み再生などに適用できる。
【0173】
(CM挿入などへの適用)
可変ビットレート再生においては切り替え要求を受けた時刻の直後に位置するアクセスユニットの先頭に対してストリームファイルの切り替えが行われる。しかし、切り替え要求と共に切り替え要求時刻を指定することにより、切り替え要求時刻の直後に位置するアクセスユニットの先頭でストリームを切り替えることができるようになる。これにより、ストリームファイルの再生開始時に別のストリームファイルを一定期間再生させることができる。なお、別のストリームファイルは複数であっても構わない。
【0174】
(分割数の削減及び再生開始待機時間の短縮)
ストリームファイルの分割数が増大するとBDプレーヤの再生性能に影響を与えることがある。そのため、分割区間は可能な限り長いことが望ましい。一方、多くのBDプレーヤは、再生開始時及び再生中に分割ファイルの先読みを行う。例えば、先読み分割ファイル数が3のBDプレーヤを用いる場合、3個の分割ファイルが使用可能になるまで再生が開始されない。
【0175】
そこで、本件発明者は、分割数を削減しつつ、再生開始待機時間の短縮を実現する方法について検討し、分割区間を徐々に長くする次のような方法に想到した。例えば、先読み分割ファイル数を3と仮定した場合、3個ごとに分割区間を長くすれば、分割数を削減しつつも、再生開始待機時間を短縮することができる。また、分割区間を長くする度合いは、ダウンロード速度の想定値に応じて決めることが望ましい。
【0176】
例えば、最初の分割区間を3秒に設定し、1秒分のストリームファイルのダウンロードに0.8秒掛かるものと仮定した場合、分割区間の列は以下のようになる。
3、3、3、3.750、3.750、3.750、4,687、4.687、4.687、…(単位:秒)
【0177】
上記の列は、4番目の分割区間をダウンロードする際に1番目の分割区間から再生を開始することができ、3秒間の再生の間に3.750秒分のストリームファイルをダウンロードできることを表わしている。さらに、上記の列は、7番目の分割区間をダウンロードする際に4番目の分割区間を再生することができ、3.750秒間の再生の間に4.687秒分のストリームファイルをダウンロードできることを表している。このルールで分割を進めていくとすると、分割数が72で3時間以上のストリームファイルを扱うことが可能になる。
【0178】
(再生用管理ファイルの分割数に満たないストリームファイルへの対応)
既に述べたように、多くのBDプレーヤは分割ファイルの先読みを行う。そのため、分割ファイルの数が再生用管理ファイルの分割数に満たない場合、先読み箇所が最終分割ファイルを越えた時点でデータ不足を示すエラーが発生する。このエラーを回避する方法として、例えば、ストリームファイルの最終ビデオデータを保管しておき、分割終了後にこのデータを使用して先読み分割ファイル数分の分割ファイルを自動的に追加作成する方法が考えられる。この方法により、ストリームファイル終端まで再生を行うことができるようになる。
【0179】
(シーンジャンプの実現)
再生箇所を先頭方向にジャンプさせる方法として、再生済みの分割ファイルを残しておき、対応位置に移動する方法が考えられる。しかし、BDプレーヤの記憶容量はそれほど大きくない。そのため、分割ファイルは、再生が済み次第削除することが望まれる。そこで、本件発明者は、移動先の分割ファイルが存在しない場合にもシーンジャンプが実現できるようにする方法について検討した。
【0180】
BDプレーヤは分割ファイルの先読みを行う。そのため、ダウンロード開始位置がシーンジャンプ先に設定されたストリームファイルのダウンロードを開始してから再生が開始するまでに待ち時間が生じる。このような待ち時間を回避する方法として、例えば、シーンジャンプの際は分割区間を先頭に戻し、シーンジャンプの位置からダウンロードを開始する方法が考えられる。この方法により、常に待ち時間を最短に留めながらシーンジャンプを実現することが可能になる。なお、本来の再生時刻は、シーンジャンプ時点の時刻に再生時刻を加えることで算出することができる。
【0181】
(ストリームファイルの管理及びダウンロード型サービスからの移行容易化)
本実施形態に係る再生装置100は、所定の再生用管理ファイルに合わせてストリームファイルを適切に分割する。そのため、再生装置100に提供されるストリームファイルは、事前に分割されている必要がない。その結果、配信サーバ11が保持するストリームファイルの数を最小限に抑えることが可能になる。また、一括ダウンロード型サービスのストリームファイルをそのまま利用できる。そのため、一括ダウンロード型サービスからプログレッシブダウンロード型サービスへの移行が容易に行えるようになる。
【0182】
(ライブカメラ中継の実現)
複数のストリームファイルを結合し、結合したストリームファイルを所定の再生用管理ファイルに基づいて再分割して利用することも可能である。例えば、ライブカメラ及びマイクロフォンでキャプチャされた動画及び音声を小さなファイルサイズで逐次配信サーバ11にアップロードし、新しいものから順次ダウンロード、再生することでライブカメラ中継を実現することができる。また、キャプチャされた動画及び音声のコーデックやフレームレートなどがBD規格に準じたものであれば、MPEG2−TS形式でアップロードし、ダウンロードの際にM2TSに変換することも可能である。さらに、MPEG2−TSを生成するトランスコーダがあれば、再生可能なコンテンツはライブカメラに制限されない。
【0183】
以上、説明を補足した。
【0184】
<3:ハードウェア構成例>
上記の再生装置100が有する各構成要素の機能は、例えば、図37に示すハードウェア構成の一部又は全部を用いて実現することが可能である。つまり、当該各構成要素の機能は、コンピュータプログラムを用いて図37に示すハードウェアを制御することにより実現される。なお、このハードウェアの形態は任意であり、各種映像機器の他、例えば、パーソナルコンピュータ、携帯電話、PHS、PDA等の携帯情報端末、ゲーム機、又は種々の情報家電などがこれに含まれる。但し、上記のPHSは、Personal Handy−phone Systemの略である。また、上記のPDAは、Personal Digital Assistantの略である。
【0185】
図37に示すように、このハードウェアは、主に、CPU902と、ROM904と、RAM906と、ホストバス908と、ブリッジ910と、を有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926と、を有する。但し、上記のCPUは、Central Processing Unitの略である。また、上記のROMは、Read Only Memoryの略である。そして、上記のRAMは、Random Access Memoryの略である。
【0186】
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
【0187】
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ(以下、リモコン)が用いられることもある。
【0188】
出力部918としては、例えば、CRT、LCD、PDP、又はELD等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。但し、上記のCRTは、Cathode Ray Tubeの略である。また、上記のLCDは、Liquid Crystal Displayの略である。そして、上記のPDPは、Plasma DisplayPanelの略である。さらに、上記のELDは、Electro−Luminescence Displayの略である。
【0189】
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のHDDは、Hard Disk Driveの略である。
【0190】
ドライブ922は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928は、例えば、DVDメディア、Blu−rayメディア、HD DVDメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体928は、例えば、非接触型ICチップを搭載したICカード、又は電子機器等であってもよい。但し、上記のICは、Integrated Circuitの略である。
【0191】
接続ポート924は、例えば、USBポート、IEEE1394ポート、SCSI、RS−232Cポート、又は光オーディオ端子等のような外部接続機器930を接続するためのポートである。外部接続機器930は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。但し、上記のUSBは、Universal Serial Busの略である。また、上記のSCSIは、Small Computer System Interfaceの略である。
【0192】
通信部926は、ネットワーク932に接続するための通信デバイスであり、例えば、有線又は無線LAN、Bluetooth(登録商標)、又はWUSB用の通信カード、光通信用のルータ、ADSL用のルータ、又は各種通信用のモデム等である。また、通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内LAN、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のLANは、Local Area Networkの略である。また、上記のWUSBは、Wireless USBの略である。そして、上記のADSLは、Asymmetric Digital Subscriber Lineの略である。
【0193】
<4:まとめ>
最後に、本実施形態の技術的思想について簡単に纏める。以下に記載する技術的思想は、BDプレーヤなどの再生装置に限らず、例えば、PC、携帯電話、携帯ゲーム機、携帯情報端末、情報家電、カーナビゲーションシステムなど、再生装置として機能する種々の情報処理装置に対して適用することができる。
【0194】
なお、本技術に係る再生装置の構成は次のように表現することができる。例えば、下記(1)に記載の再生装置は、取得したストリームファイルを分割して分割ストリームファイルを生成する構成を有する。また、当該再生装置は、ストリームファイルを分割する際、所定のプレイリスト及び所定のクリップ情報ファイルに適合するように分割処理を実行する。そのため、当該再生装置により生成された分割ストリームファイルは、所定のプレイリスト及び所定のクリップ情報ファイルに基づいて再生することが可能である。
【0195】
つまり、当該再生装置において所定のプレイリスト及び所定のクリップ情報ファイルが予め認識されていれば、プレイリスト及びクリップ情報ファイルの認識処理を改めて実行することなく任意のストリームファイルを再生することが可能になる。そのため、新たなコンテンツを再生する場合でも、ストリームファイルを素早く再生することが可能になる。また、取得するストリームファイルよりも短い分割ストリームファイルを単位として再生制御ができるようになるため、ストリームファイルの取得途中に、取得するストリームファイルを切り替えることも可能になる。
【0196】
(1)
ストリームファイルを取得するストリーム取得部と、
所定のプレイリスト及び所定のクリップ情報ファイルに適合するように前記ストリームファイルを分割して分割ストリームファイルを生成するストリーム分割部と、
前記所定のプレイリスト及び前記所定のクリップ情報ファイルに基づいて前記分割ストリームファイルを再生するストリーム再生部と、
を備える、
再生装置。
(2)
前記ストリーム分割部は、前記分割ストリームファイルに含まれるパケットの個数mよりも、前記所定のクリップ情報ファイルに記述されたパケットの個数nが大きい場合に、(n−m)個のパディングパケットを当該分割ストリームファイルに追加する、
上記(1)に記載の再生装置。
(3)
前記ストリームファイルの末尾に位置するパケットで構成されるブランクストリームファイルを生成するブランクストリーム生成部と、
前記所定のプレイリストの再生時間tpよりも前記ストリームファイルの再生時間tsが短い場合に、再生時間の合計がtpより長くなるように所要数の前記ブランクストリームファイルを前記ストリームファイルに追加するブランクストリーム追加部と、
をさらに備える、
上記(1)又は(2)に記載の再生装置。
(4)
前記所定のプレイリストに含まれる各プレイアイテム及び当該各プレイアイテムに対応する前記所定のクリップ情報ファイルに基づいて前記分割ストリームファイルの生成に用いる分割区間情報を生成する分割区間情報生成部をさらに備え、
前記ストリーム分割部は、前記分割区間情報に基づいて前記分割ストリームファイルを生成し、
前記分割区間情報は、再生開始時刻、再生終了時刻、開始パケットの位置、及び前記分割ストリームファイルに含めるパケットの個数を含む、
上記(1)〜(3)のいずれか1項に記載の再生装置。
(5)
前記所定のプレイリストにN個のプレイアイテムが含まれ、前記所定のプレイリストの再生時間tpよりも前記ストリームファイルの再生時間tsが長い場合、
前記分割区間情報生成部は、第1〜第N番目のプレイアイテムに対応する第1〜第N番目の分割区間情報を生成し、
前記ストリーム分割部は、前記第1〜第N番目の分割区間情報を用いて第1〜第N番目の分割ストリームファイルを生成した後、前記第1番目以降の分割区間情報を循環的に用いて第N+1番目以降の分割ストリームファイルを生成する、
上記(1)〜(4)のいずれか1項に記載の再生装置。
(6)
通信回線を通じて前記ストリームファイルを取得する場合、前記ストリーム取得部は、通信速度に応じて、取得するストリームファイルを切り替える、
上記(1)〜(5)のいずれか1項に記載の再生装置。
(7)
前記分割区間情報生成部は、再生時刻が後になるにつれて段階的に前記分割ストリームファイルの再生時間が長くなるように前記分割区間情報を生成する、
上記(4)に記載の再生装置。
(8)
ストリームファイルを取得するステップと、
所定のプレイリスト及び所定のクリップ情報ファイルに適合するように前記ストリームファイルを分割して分割ストリームファイルを生成するステップと、
前記所定のプレイリスト及び前記所定のクリップ情報ファイルに基づいて前記分割ストリームファイルを再生するステップと、
を含む、
ストリームファイルの再生方法。
(9)
ストリームファイルを取得するストリーム取得機能と、
所定のプレイリスト及び所定のクリップ情報ファイルに適合するように前記ストリームファイルを分割して分割ストリームファイルを生成するストリーム分割機能と、
前記所定のプレイリスト及び前記所定のクリップ情報ファイルに基づいて前記分割ストリームファイルを再生するストリーム再生機能と、
をコンピュータに実現させるためのプログラム。
【0197】
(備考)
上記の通信部101は、ストリーム取得部の一例である。上記のストリームファイル選択・分割部102は、ストリーム分割部、ブランクストリーム生成部、ブランクストリーム追加部の一例である。上記の再生制御部103は、ストリーム再生部の一例である。上記の再生用管理ファイル解析部104は、分割区間情報生成部の一例である。
【0198】
以上、添付図面を参照しながら本技術に係る好適な実施形態について説明したが、本技術はここで開示した構成例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本技術の技術的範囲に属するものと了解される。
【符号の説明】
【0199】
12 ネットワーク
13 表示装置
11 配信サーバ
100 再生装置
101 通信部
102 ストリームファイル選択・分割部
103 再生制御部
104 再生用管理ファイル解析部
【特許請求の範囲】
【請求項1】
ストリームファイルを取得するストリーム取得部と、
所定のプレイリスト及び所定のクリップ情報ファイルに適合するように前記ストリームファイルを分割して分割ストリームファイルを生成するストリーム分割部と、
前記所定のプレイリスト及び前記所定のクリップ情報ファイルに基づいて前記分割ストリームファイルを再生するストリーム再生部と、
を備える、
再生装置。
【請求項2】
前記ストリーム分割部は、前記分割ストリームファイルに含まれるパケットの個数mよりも、前記所定のクリップ情報ファイルに記述されたパケットの個数nが大きい場合に、(n−m)個のパディングパケットを当該分割ストリームファイルに追加する、
請求項1に記載の再生装置。
【請求項3】
前記ストリームファイルの末尾に位置するパケットで構成されるブランクストリームファイルを生成するブランクストリーム生成部と、
前記所定のプレイリストの再生時間tpよりも前記ストリームファイルの再生時間tsが短い場合に、再生時間の合計がtpより長くなるように所要数の前記ブランクストリームファイルを前記ストリームファイルに追加するブランクストリーム追加部と、
をさらに備える、
請求項2に記載の再生装置。
【請求項4】
前記所定のプレイリストに含まれる各プレイアイテム及び当該各プレイアイテムに対応する前記所定のクリップ情報ファイルに基づいて前記分割ストリームファイルの生成に用いる分割区間情報を生成する分割区間情報生成部をさらに備え、
前記ストリーム分割部は、前記分割区間情報に基づいて前記分割ストリームファイルを生成し、
前記分割区間情報は、再生開始時刻、再生終了時刻、開始パケットの位置、及び前記分割ストリームファイルに含めるパケットの個数を含む、
請求項3に記載の再生装置。
【請求項5】
前記所定のプレイリストにN個のプレイアイテムが含まれ、前記所定のプレイリストの再生時間tpよりも前記ストリームファイルの再生時間tsが長い場合、
前記分割区間情報生成部は、第1〜第N番目のプレイアイテムに対応する第1〜第N番目の分割区間情報を生成し、
前記ストリーム分割部は、前記第1〜第N番目の分割区間情報を用いて第1〜第N番目の分割ストリームファイルを生成した後、前記第1番目以降の分割区間情報を循環的に用いて第N+1番目以降の分割ストリームファイルを生成する、
請求項4に記載の再生装置。
【請求項6】
通信回線を通じて前記ストリームファイルを取得する場合、前記ストリーム取得部は、通信速度に応じて、取得するストリームファイルを切り替える、
請求項1に記載の再生装置。
【請求項7】
前記分割区間情報生成部は、再生時刻が後になるにつれて段階的に前記分割ストリームファイルの再生時間が長くなるように前記分割区間情報を生成する、
請求項4に記載の再生装置。
【請求項8】
ストリームファイルを取得するステップと、
所定のプレイリスト及び所定のクリップ情報ファイルに適合するように前記ストリームファイルを分割して分割ストリームファイルを生成するステップと、
前記所定のプレイリスト及び前記所定のクリップ情報ファイルに基づいて前記分割ストリームファイルを再生するステップと、
を含む、
ストリームファイルの再生方法。
【請求項9】
ストリームファイルを取得するストリーム取得機能と、
所定のプレイリスト及び所定のクリップ情報ファイルに適合するように前記ストリームファイルを分割して分割ストリームファイルを生成するストリーム分割機能と、
前記所定のプレイリスト及び前記所定のクリップ情報ファイルに基づいて前記分割ストリームファイルを再生するストリーム再生機能と、
をコンピュータに実現させるためのプログラム。
【請求項1】
ストリームファイルを取得するストリーム取得部と、
所定のプレイリスト及び所定のクリップ情報ファイルに適合するように前記ストリームファイルを分割して分割ストリームファイルを生成するストリーム分割部と、
前記所定のプレイリスト及び前記所定のクリップ情報ファイルに基づいて前記分割ストリームファイルを再生するストリーム再生部と、
を備える、
再生装置。
【請求項2】
前記ストリーム分割部は、前記分割ストリームファイルに含まれるパケットの個数mよりも、前記所定のクリップ情報ファイルに記述されたパケットの個数nが大きい場合に、(n−m)個のパディングパケットを当該分割ストリームファイルに追加する、
請求項1に記載の再生装置。
【請求項3】
前記ストリームファイルの末尾に位置するパケットで構成されるブランクストリームファイルを生成するブランクストリーム生成部と、
前記所定のプレイリストの再生時間tpよりも前記ストリームファイルの再生時間tsが短い場合に、再生時間の合計がtpより長くなるように所要数の前記ブランクストリームファイルを前記ストリームファイルに追加するブランクストリーム追加部と、
をさらに備える、
請求項2に記載の再生装置。
【請求項4】
前記所定のプレイリストに含まれる各プレイアイテム及び当該各プレイアイテムに対応する前記所定のクリップ情報ファイルに基づいて前記分割ストリームファイルの生成に用いる分割区間情報を生成する分割区間情報生成部をさらに備え、
前記ストリーム分割部は、前記分割区間情報に基づいて前記分割ストリームファイルを生成し、
前記分割区間情報は、再生開始時刻、再生終了時刻、開始パケットの位置、及び前記分割ストリームファイルに含めるパケットの個数を含む、
請求項3に記載の再生装置。
【請求項5】
前記所定のプレイリストにN個のプレイアイテムが含まれ、前記所定のプレイリストの再生時間tpよりも前記ストリームファイルの再生時間tsが長い場合、
前記分割区間情報生成部は、第1〜第N番目のプレイアイテムに対応する第1〜第N番目の分割区間情報を生成し、
前記ストリーム分割部は、前記第1〜第N番目の分割区間情報を用いて第1〜第N番目の分割ストリームファイルを生成した後、前記第1番目以降の分割区間情報を循環的に用いて第N+1番目以降の分割ストリームファイルを生成する、
請求項4に記載の再生装置。
【請求項6】
通信回線を通じて前記ストリームファイルを取得する場合、前記ストリーム取得部は、通信速度に応じて、取得するストリームファイルを切り替える、
請求項1に記載の再生装置。
【請求項7】
前記分割区間情報生成部は、再生時刻が後になるにつれて段階的に前記分割ストリームファイルの再生時間が長くなるように前記分割区間情報を生成する、
請求項4に記載の再生装置。
【請求項8】
ストリームファイルを取得するステップと、
所定のプレイリスト及び所定のクリップ情報ファイルに適合するように前記ストリームファイルを分割して分割ストリームファイルを生成するステップと、
前記所定のプレイリスト及び前記所定のクリップ情報ファイルに基づいて前記分割ストリームファイルを再生するステップと、
を含む、
ストリームファイルの再生方法。
【請求項9】
ストリームファイルを取得するストリーム取得機能と、
所定のプレイリスト及び所定のクリップ情報ファイルに適合するように前記ストリームファイルを分割して分割ストリームファイルを生成するストリーム分割機能と、
前記所定のプレイリスト及び前記所定のクリップ情報ファイルに基づいて前記分割ストリームファイルを再生するストリーム再生機能と、
をコンピュータに実現させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【公開番号】特開2012−243337(P2012−243337A)
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願番号】特願2011−110309(P2011−110309)
【出願日】平成23年5月17日(2011.5.17)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願日】平成23年5月17日(2011.5.17)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]