JP6543819B2 - 処理装置およびプログラム - Google Patents

処理装置およびプログラム Download PDF

Info

Publication number
JP6543819B2
JP6543819B2 JP2015091875A JP2015091875A JP6543819B2 JP 6543819 B2 JP6543819 B2 JP 6543819B2 JP 2015091875 A JP2015091875 A JP 2015091875A JP 2015091875 A JP2015091875 A JP 2015091875A JP 6543819 B2 JP6543819 B2 JP 6543819B2
Authority
JP
Japan
Prior art keywords
file
content
transmission
application
package
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015091875A
Other languages
English (en)
Other versions
JP2016208461A (ja
Inventor
侑輝 河村
侑輝 河村
一博 大槻
一博 大槻
彰 花田
彰 花田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Broadcasting Corp
Original Assignee
Japan Broadcasting Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Japan Broadcasting Corp filed Critical Japan Broadcasting Corp
Priority to JP2015091875A priority Critical patent/JP6543819B2/ja
Publication of JP2016208461A publication Critical patent/JP2016208461A/ja
Application granted granted Critical
Publication of JP6543819B2 publication Critical patent/JP6543819B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、処理装置、プログラムおよびデータ構造に関する。
本発明は、放送伝送路や通信伝送路を用いて配信されるアプリケーションプログラム(以下、アプリケーションと呼ぶ)に係るコンテンツファイルを一括して扱うためのパッケージ化方法、フォーマットに関する。当該フォーマットは、放送通信連携サービス用アプリケーションの開発環境におけるプロジェクト管理、放送局・制作者間における素材交換、放送波や通信伝送路に各種のコンテンツファイル群を送信する送信装置に供給する際の共通フォーマットとして利用される。
第一世代の地上波デジタル放送/BS(Broadcasting Satellite)デジタル放送/CS(Communication Satellite)デジタル放送では、コンテンツ記述言語であるBML(Broadcast Markup Language)を用いてコンテンツが記述されていた。BMLは、非特許文献1に規定されているデータ放送サービス専用のコンテンツ記述言語である。非特許文献1では、BMLによるコンテンツの記述方式や、BMLによって記述されたコンテンツをMPEG−2 TS(Transport Stream)を用いて多重化および伝送するためのデータ構造について記載されている。しかしながら、BMLが規定された時点において、BMLを用いて記述されていたコンテンツファイル群を一括して扱うためのパッケージ化する方式について規定されていなかった。番組制作者と放送局との間、もしくは放送局間における素材交換における入力形式と、コンテンツを放送波で送信するための送信プログラムへの入力形式が個々に異なっていたため相互運用性の確保が課題であった。
そこで、非特許文献2に記載のコンテンツの物理構造とメタ情報の記述言語であるBCML(Broadcast Content Markup Language)が規定された。コンテンツの物理構造とは、フォルダの階層構造と、当該コンテンツが格納されるコンテンツファイル群の配置方法を意味する。これにより、データ放送サービスの運用における相互運用性が改善された。
しかし、サービス提供の際、非特許文献2に記載のコンテンツの物理構造を、非特許文献1に規定される当該コンテンツの送信時におけるデータ構造(例えば、カルーセル、モジュール等)に対応させる必要がある。そのため、BMLを用いてコンテンツを記述する際、及び、BCMLを用いてコンテンツのメタ情報を記述する際、コンテンツ制作者は種々の要件を理解することが求められる。種々の要件として、例えば、インターネット上に掲載されるウェブページの記述言語として普及しているHTML(Hypertext Markup Language)との言語仕様の差異、伝送方式への理解の必要性、コンテンツ構造の自由度の低さ、専用の開発環境の必要性、等がある。そのため、BML及びBCMLを用いて記述されたデータ放送コンテンツの制作環境の普及や技術を有する人材の確保が阻まれていた。
他方、インターネットを介して提供されるウェブページの記述言語として、従来のHTMLの仕様を拡張したHTML5が策定された。HTML5では、映像、音声、2D(2−Dimensional)/3Dグラフィックスなど、従来のHTMLよりも多様なメディアを高い自由度で取り扱うことが可能になる。かかる動きに呼応して、データ放送コンテンツの記述言語としてHTML5を利用する方式が策定された(非特許文献3参照)。第一世代のデジタル放送サービスの付加サービスの一部として非特許文献3に規定される仕様に準拠したHTML5アプリケーションを用いた放送通信連携サービス(ハイブリッドキャスト(登録商標))が、2015年3月現在、既に実用化されている。
実用化されている放送通信連携サービスでは、受信機がアプリケーションを取得するのに最低限必要な制御情報をMPEG−2 TSに多重化したうえで放送波により伝送し、コンテンツファイル群をインターネットに接続されたウェブサーバを介して配信する。しかしながら、既存の受信機の動作保証、伝送帯域の制約などの理由により、HTML5アプリケーションのコンテンツファイル群の放送波による伝送は、2015年3月現在実用化されていない。
放送サービスにおけるHTML5アプリケーションの採用と並行して、第二世代デジタル放送の標準化が進められている。例えば、非特許文献4には、MPEG−H MMT(MPEG Media Transport、単にMMTとも呼ばれる)を利用したデジタル放送の多重化方式が規定されている。第二世代デジタル放送の伝送方式としてMPEG−2 TSを採用する場合でも既存の受信機の動作を保証しないことが許容されれば、放送通信連携サービスにおいてHTML5アプリケーションのコンテンツファイル群の放送波による伝送が実用化される可能性がある。伝送において通信伝送路の他、放送波を用いることで、ウェブサーバへのアクセス負荷の低減、通信伝送路に接続していない受信機によるアプリケーションの取得、実行が期待される。
電波産業会,デジタル放送におけるデータ放送符号化方式と伝送方式,ARIB STD−B24 6.1版,2014.12.16 電波産業会,デジタル放送におけるデータ放送番組交換方式,ARIB STD−B35 1.2版,2006.3.14 IPTVフォーラム,HTML5ブラウザ仕様,IPTVFJ STD−0011 2.0版,2014.6.29 電波産業会,デジタル放送におけるMMTによるメディアトランスポート方式,STD−B60 1.1版,2014.12.16 ".ZIP File Format Specification",[online],PKWARE Inc.,[2015年2月20日検索],インターネット<https://pkware.cachefly.net/webdocs/APPNOTE/APPNOTE−6.3.3.TXT> Society of Motion Picture and Television Engineers,The MXF File Format Specification (the overall master document),SMPTE 377M Internet Engineering Task Force,FILE TRANSFER PROTOCOL(FTP),Request for Comments 959,1985.10
2015年3月現在、実用化されている放送通信連携サービスでは、HTML5アプリケーションは通信伝送路のみを介して伝送される。サービス提供者は、送信に際しコンテンツファイル群をそのまま1台もしくは複数台のウェブサーバにアップロードすればよい。このため、特にコンテンツファイル群の内部構造、メタ情報の記述方法を規定せず、単にコンテンツの基底となるフォルダをそのまま圧縮(例えば、非特許文献5)しても直ちに相互運用性は損なわれない。しかしながら、今後、サービス規模の拡大、第二世代デジタル放送サービスにおけるアプリケーションの放送波伝送の実用化により伝送経路が多様になる一方で、コンテンツ制作者、サービス提供者が個々に運用するとコンテンツファイル群の相互運用性が損なわれるおそれがある。また、相互運用において、コンテンツファイル群を一括して取り扱う場合のように比較的簡易な運用では、非特許文献5に記載のZIP形式のファイルとして構成されていても利便性が確保される。これに対し、ファイル単位でのコンテンツファイル群の伝送や番組アーカイブシステムとの親和性を確保するためには、非特許文献6に記載のMXF(Material eXchange Format)との相互運用が期待される。
本発明は上記の点に鑑みてなされたものであり、デジタル放送サービスで提供されるアプリケーションプログラムに関するコンテンツの相互運用性を向上できる処理装置、プログラムおよびデータ構造を提供することを課題とする。また、コンテンツファイル群が時間経過に応じて変化しない静的なHTML5アプリケーションの他、送信対象のコンテンツファイル群が時間経過に応じて動的に変化するアプリケーションの送信、あるいはそれらの動作検証を実現する。また、ZIPファイルとして構成されたコンテンツファイル群とMXFファイルとして構成されたコンテンツファイル群との相互運用性を確保する。
本発明は上記の課題を解決するためになされたものであり、[1]本発明の一態様は、デジタル放送サービスのアプリケーションプログラムに関するコンテンツファイルが配置されたコンテンツルートフォルダと、前記アプリケーションプログラムのエントリポイントを示すコンテンツ情報を含むパッケージエントリポイントメタデータとが配置されたアプリケーションパッケージから、前記パッケージエントリポイントメタデータを解析して前記アプリケーションプログラムを特定するメタデータ解析部と、前記コンテンツルートフォルダ以下のフォルダの構造を解析して、前記アプリケーションプログラムに関するコンテンツファイルを前記コンテンツルートフォルダから抽出するコンテンツ構造解析部と、ファイル制御部と、を備え、前記コンテンツ構造解析部は、前記コンテンツファイルのファイル名を解析して、前記ファイル名が示す時刻と前記コンテンツファイルの所在を示す制御対象ファイルリストを生成することを特徴とし、前記ファイル制御部は、制御対象ファイルリストを参照して、番組の編成時刻に相当する時刻を示すファイル名を有するコンテンツファイルを選択する処理装置である。
[1]の構成によれば、パッケージエントリメタデータを参照して、アプリケーションプログラムの最初に参照されるエントリポイントの所在が直ちに識別される。制作者が任意に構成したコンテンツファイルが処理対象として効率的に抽出されるので、制作者と放送事業者もしくはサービス提供者間において共通の処理対象が特定されることにより相互運用性が向上する。また、時間経過に応じてコンテンツファイルが更新されるコンテンツについても、番組編成の際にファイル名により処理開始時刻と処理対象のファイルが直ちに特定される。制作者は、処理の開始やその時刻を効率的に検証することができ、放送事業者もしくはサービス提供者は、制作者が意図した処理開始時刻に基づいた番組編成を円滑に行うことができる。
[2]本発明の一態様は、上述の処理装置であって、前記ファイル制御部は選択したコンテンツファイルが空ファイルである場合、前記選択したファイルのファイル名が示す時刻において前記コンテンツファイルに係る処理を停止させることを特徴とする。
[2]の構成によれば、番組編成の際に停止されるコンテンツについて、ファイル名により停止時刻と停止対象のファイルが直ちに特定される。制作者は、処理の停止やその時刻を効率的に検証することができ、放送事業者もしくはサービス提供者は、制作者が意図した処理停止時刻に基づいた番組編成を円滑に行うことができる。
[3]本発明の一態様は、上述の処理装置であって、前記コンテンツファイルが配置されるフォルダならびに識別情報を示すヘッダと、前記コンテンツファイルに格納されたデータとを含むセットがコンテンツファイル間で連結された第1の形式のファイルから、前記セット毎に前記データを格納したコンテンツファイルを前記ヘッダが示すフォルダに配置して前記アプリケーションパッケージとして展開する展開部を備える。
[3]の構成によれば、第1の形式のファイルから展開により再生されたアプリケーションパッケージから番組編成の際に処理対象のコンテンツファイルが特定される。番組編成において一括した取扱いに便宜な第1の形式のファイルの活用を図ることができる。
[4]本発明の一態様は、上述の処理装置であって、前記セットの配置を示す区分データが前記セットそれぞれの先頭にさらに配置された第2の形式のファイルから、前記区分データをそれぞれ除外して前記第1の形式のファイルに変換する第1変換部を備える。
[4]の構成によれば、第2の形式のファイルを、第1の形式のファイルへの変換を区分データの除外といった簡素な処理により実現することができる。区分データによる個々のコンテンツファイルに対するアクセスが容易な第2の形式のファイルを、第1の形式のファイルに変換して一括した取扱いを促進することができる。
[5]本発明の一態様は、上述の処理装置であって、前記第1の形式に含まれる前記セットそれぞれの先頭に前記セットの配置を示す区分データを配置して第2の形式のファイルに変換する第2変換部を備える。
[5]の構成によれば、第1の形式のファイルから第2の形式へのファイルへの変換を区分データの配置といった簡素な処理により実現することができる。そのため、一括した取扱いに便宜な第1の形式のファイルを、第2の形式のファイルに変換して個々のコンテンツファイルに対するアクセスを促進することができるので、コンテンツ制作、編集を効率よく行うことができる。
[6]本発明の一態様は、上述の処理装置であって、前記パッケージエントリポイントメタデータは、前記コンテンツファイルの伝送方式を示すトランスミッション情報を含み、前記トランスミッション情報が示す伝送方式を用いて前記コンテンツファイルを送信させる送信制御部を備える。
[6]の構成によれば、制作者が任意に構成したコンテンツファイルが送信対象として効率的に抽出され、放送事業者もしくはサービス提供者が指定した所望の伝送方式を用いて送信される。そのため、デジタル放送サービスを提供において、制作者と放送事業者もしくはサービス提供者との間の相互運用性が向上する。
[7]本発明の一態様は、上述の処理装置であって、前記アプリケーションプログラムに記述される命令が示す処理を実行する実行部を備える。
[7]の構成によれば、制作者が任意に構成したコンテンツファイルが処理対象として効率的に抽出されるので、制作されたアプリケーションパッケージに配置されるアプリケーションプログラムの動作検証を円滑に行うことができる。
[8]本発明の一態様は、処理装置のコンピュータに、デジタル放送サービスのアプリケーションプログラムに関するコンテンツファイルが配置されたコンテンツルートフォルダと、前記アプリケーションプログラムのエントリポイントを示すコンテンツ情報を含むパッケージエントリポイントメタデータとが配置されたアプリケーションパッケージから、前記パッケージエントリポイントメタデータを解析して前記アプリケーションプログラムを特定するメタデータ解析手順、前記コンテンツルートフォルダ以下のフォルダの構造を解析して、前記アプリケーションプログラムに関するコンテンツファイルを前記コンテンツルートフォルダから抽出するコンテンツ構造解析手順、ファイル制御手順、を実行させるためのプログラムであって、前記コンテンツ構造解析手順は、前記コンテンツファイルのファイル名を解析して、前記ファイル名が示す時刻と前記コンテンツファイルの所在を示す制御対象ファイルリストを生成することを特徴とし、前記ファイル制御手順は、制御対象ファイルリストを参照して、番組の編成時刻に相当する時刻を示すファイル名を有するコンテンツファイルを選択する手順を含むプログラムである。
[8]の構成によれば、パッケージエントリメタデータを参照して、アプリケーションプログラムの最初に参照されるエントリポイントの所在が直ちに識別される。制作者が任意に構成したコンテンツファイルが処理対象として効率的に抽出できるので、制作者と放送事業者もしくはサービス提供者との間の相互運用性が向上する。また、時間経過に応じてコンテンツファイルが更新されるコンテンツについても、番組編成の際にファイル名により処理開始時刻と処理対象のファイルが直ちに特定される。制作者は、処理の開始やその時刻を効率的に検証することができ、放送事業者もしくはサービス提供者は、制作者が意図した処理開始時刻に基づいた番組編成を円滑に行うことができる。
本発明によれば、デジタル放送サービスで提供されるアプリケーションプログラムに関するコンテンツの相互運用性を向上することができる。
本実施形態に係る放送通信連携システムの構成を示す概略ブロック図である。 本実施形態に係るアプリケーションパッケージのデータ構造を示す図である。 コンテンツフォルダ内のコンテンツの構造の一例を示す図である。 送信対象ファイルの時間変化の一例を示す図である。 コンテンツフォルダ内のコンテンツの構造の他の例を示す図である。 送信対象ファイルの時間変化の一例を示す図である。 本実施形態に係るアプリケーション送信装置の構成を示す概略ブロック図である。 コンテンツファイル群の例を示す図である。 本実施形態に係るパッケージ読み込み処理を示すフローチャートである。 タイムコード制御対象ファイルリストの例を示す図である。 本実施形態に係るファイル制御処理を示すフローチャートである。 本実施形態に係る送信制御処理を示すフローチャートである。 本実施形態に係るアプリケーション動作検証装置の構成を示す概略ブロック図である。 各形式のアプリケーションパッケージのデータ構成の例を示す図である。 本実施形態に係るZIP−MXF変換を示すフローチャートである。 本実施形態に係るMXF−ZIP変換を示すフローチャートである。
以下、図面を参照しながら本発明の実施形態について説明する。
図1は、本実施形態に係る放送通信連携システムB1の構成を示す概略ブロック図である。
本実施形態に係る放送通信連携システムB1は、コンテンツ管理装置10、コンテンツ送信装置20、アプリケーション送信装置30、符号化装置40、多重化装置50、サーバ装置60、放送設備70、受信機80、アプリケーション動作検証装置90及びルータ装置100を含んで構成される。
コンテンツ管理装置10は、番組毎のコンテンツパッケージを記憶する記憶媒体を含んで構成される。個々のコンテンツパッケージは、番組の構成要素として1個又は複数個のマルチメディアデータを格納したファイル群である。マルチメディアデータとは、番組として放送される内容、つまり、映像、音声、字幕、アプリケーション、その他情報等のデータを示す。アプリケーションは、記述言語、例えば、HTML5で記述され、記述された命令が示す処理を受信機80に実行させることにより放送通信連携サービスを実現するプログラムであり、その実行により、番組の一部を構成するマルチメディアデータが提示される。放送通信連携サービスにより提供されるコンテンツを、特に放送通信連携コンテンツと呼ぶことがある。以下の説明では、アプリケーションその他のプログラムに記述された命令が示す処理を実行させることを、単にアプリケーションその他のプログラムを「実行する」と呼ぶことがある。コンテンツパッケージが番組の構成要素のうち、アプリケーションに係るファイルのみを含む場合には、そのコンテンツパッケージを単にアプリケーションパッケージと呼ぶことがある。コンテンツパッケージが、アプリケーションを構成するファイルに加えて、映像、音声、字幕、その他データ等を含むことを、コンテンツパッケージがアプリケーションパッケージを内包していると呼ぶことがある。コンテンツ管理装置10は、例えば、複数のコンテンツパッケージを記憶する番組アーカイブ装置である。コンテンツ管理装置10は、主に放送事業者、番組制作者により管理される。また、コンテンツパッケージを構成するファイル群は、例えばMXFやZIPなどの形式でパッケージ化されていてもよい。
コンテンツ送信装置20は、コンテンツ読み込みトリガと、放送する番組のコンテンツパッケージ名情報が入力されるとき、パッケージ名情報で指定されるコンテンツパッケージをコンテンツ管理装置10から取得する。コンテンツ読み込みトリガは、番組編成情報を管理する上位システムである番組編成情報管理装置(図示せず)から入力される。番組編成情報には、放送番組に係るコンテンツパッケージのパッケージ名、当該番組の編成時刻情報、その番組の放送中に実行されるアプリケーションのアプリケーション編成情報などが含まれる。コンテンツ送信装置20は、取得したコンテンツパッケージに格納されたマルチメディアデータを読み出し、読み出したマルチメディアデータを符号化装置40に出力する。また、コンテンツ送信装置20は、当該コンテンツパッケージもしくは当該コンテンツパッケージに内包されたアプリケーションパッケージを読み込み、読み込んだアプリケーションパッケージをアプリケーション送信装置30に出力する。
アプリケーション送信装置30は、コンテンツ送信装置20からアプリケーションパッケージを取得する。アプリケーション送信装置30には、番組編成情報管理装置(図示せず)から直接、もしくはコンテンツ送信装置20を経由して間接的に、パッケージ読み込みトリガとアプリケーションパッケージ名情報が入力される。アプリケーション送信装置30は、パッケージ名情報で指定されるアプリケーションパッケージを展開してアプリケーションに係るファイル群を生成する。アプリケーション送信装置30は、アプリケーションの動作を制御するための制御情報を生成する。制御情報には、例えば、アプリケーション情報テーブル(AIT:Application Information Table)が含まれる。AITは、受信機80によるアプリケーションの起動、終了などの動作の制御、放送映像の表示レイアウト変更可否等の機能の権限、アプリケーションの取得先、取得経路等を示すデータである。アプリケーション送信装置30は、展開したアプリケーションに関するコンテンツファイル群と制御情報を多重化装置50又はサーバ装置60に送信する。
符号化装置40は、コンテンツ送信装置20から受信したマルチメディアデータを、それぞれのメディアに応じた所定の符号化方式で符号化する。映像符号化方式は、例えば、ISO/IEC 23008−2 HEVC(International Organization for Standardization/International Electronical Commission 23008 Part2 High Efficiency Video Coding、HEVCとも呼ばれる)で規格化された符号化方式である。音声符号化方式は、例えば、ISO/IEC 14496 −3 Audio(MPEG−4 オーディオとも呼ばれる)で規格化された符号化方式である。符号化装置40は、符号化したマルチメディアデータを多重化装置50に送信する。なお、コンテンツパッケージに格納されたマルチメディアデータが、そのまま多重化装置50において処理可能な符号化済みのデータである場合、符号化装置40は省略されてもよい。
多重化装置50は、符号化装置40から受信した符号化済みのマルチメディアデータと、アプリケーション送信装置30から受信した制御情報及びコンテンツファイル群を多重化し、所定の形式の多重化データを生成する。多重化データは、例えば、MMTP(MPEG Media Transport Protocol)パケットを包含する複数のIPパケットからなるIPフローとして構成される。MMTPパケットには、MMTパッケージテーブル(MPT:MMT Package Table)が含まれる。MPTは、放送番組の構成要素である1個または複数個のマルチメディアデータ、つまり、映像、音声、字幕、アプリケーション、その他情報等のリストやその要件を示す制御情報である。多重化装置50は、生成した多重化データをルータ装置100又は放送設備70に送信する。
サーバ装置60は、アプリケーション送信装置30からアプリケーションに係るコンテンツファイル群と制御情報のファイルを受信し、受信したファイルを記憶する。サーバ装置60は、受信機80から受信した要求情報で指定されるファイルを、その応答として通信伝送路NTを介して受信機80に送信する。
また、ルータ装置100は、多重化装置50から受信した多重化データを、通信伝送路NTを介して受信機80に送信する。ルータ装置100は、通信伝送路NTを介して多重化データを送信する必要がない場合には、省略されてもよい。
通信伝送路NTは、サーバ装置60もしくはルータ装置100と受信機80との間で各種のデータを双方向的に伝送する伝送路である。通信伝送路NTは、例えば、インターネット、公衆無線通信網、等の広域通信網を含んで構成される。なお、通信伝送路NTを介して各種のデータを伝送(又は送信、受信)することを、「通信で伝送(又は送信、受信)する」と呼ぶことがある。
放送設備70は、多重化装置50から受信した多重化データを、放送伝送路BTを介して受信機80に送信する。
放送伝送路BTは、放送設備70が送信するデータを同時に不特定多数の受信機80に一方向的に伝送する伝送路である。放送伝送路BTは、例えば、放送衛星で中継される所定の周波数帯域の電波(放送波)である。放送伝送路BTには、放送設備70から電波を送信するための送信局までのネットワークが含まれてもよい。なお、放送伝送路BTを介して各種のデータを伝送(又は、送信、受信)することを、「放送で伝送(又は、送信、受信)する」と呼ぶことがある。
受信機80は、放送伝送路BT又は通信伝送路NTで伝送される多重化データと、通信伝送路NTを介して受信するコンテンツファイル群に基づいて放送通信連携サービスを提供する。受信機80は、放送伝送路BTで受信した多重化データからMPTを抽出し、MPTで指定されたマルチメディアデータ、制御情報及びコンテンツファイル群を受信した多重化データから抽出する。受信機80は、MPTで指定された要件に従って当該マルチメディアデータに基づくコンテンツを提示する。また、受信機80は、抽出した制御情報で指定された要求先のサーバ装置60に対して、当該制御情報で指定されたアプリケーションのファイルの要求情報を、通信伝送路NTを介して送信する。受信機80は、その応答として当該アプリケーションに係るコンテンツファイル群を受信する。受信機80は、放送伝送路BT又は通信伝送路NTを介して受信したコンテンツファイル群で伝送されたアプリケーションを実行してコンテンツを提示する。受信機80は、制御情報で表示レイアウトの変更の許可が指示されている場合には、相互にコンテンツの提示領域が重複しないように、コンテンツの表示レイアウトを変更してもよい。
従って、放送通信連係サービスにより、放送で伝送される映像、音声その他のコンテンツと、放送又は通信で伝送されるアプリケーションの実行により提供されるコンテンツにより多様な放送サービスが構成される。
アプリケーション動作検証装置90は、制作者が制作したアプリケーションパッケージを取得し、取得したアプリケーションパッケージに配置されたアプリケーションのファイルを展開する。アプリケーション動作検証装置90は、入力されたアプリケーション編成情報で指定された時刻において、アプリケーションを実行することにより、その動作を検証する。アプリケーション動作検証装置90で動作検証を完了したアプリケーションに係るコンテンツファイル群を格納したアプリケーションパッケージは、番組の素材の一部として提供されることがある。
なお、図1に示す例では、受信機80の個数は1個であるが、一般には複数個である。図1に示す例では、サーバ装置60の個数は1個であるが、複数個であってもよい。また、放送通信連携システムB1の全部又は一部は、放送事業者により実施される他、他の業者により実施されてもよい。例えば、コンテンツ管理装置10とアプリケーション動作検証装置90は、コンテンツ制作者(以下、制作者)により実施されうる。また、アプリケーション送信装置30とサーバ装置60と、ルータ装置100は、放送事業者とは別個のサービス提供者により実施されうる。受信機80は、主に番組の視聴を目的に各家庭や事業所等に配置される。
(アプリケーションパッケージのデータ構造)
次に、本実施形態に係るアプリケーションパッケージのデータ構造(物理構造)について説明する。
図2は、本実施形態に係るアプリケーションパッケージのデータ構造を示す図である。
本実施形態に係るアプリケーションパッケージは、パッケージルートフォルダを基底フォルダとして有する。パッケージルートフォルダには、当該フォルダを特定するためのフォルダ名が付される。パッケージルートフォルダのフォルダ名として人間が識別可能な任意の名称が設定可能である。パッケージルートフォルダとして、当該フォルダ内に格納されるアプリケーションの名称、略称、別名、バージョン番号又はこれらを含む名称を有するフォルダ名が付されてもよい。パッケージルートフォルダには、パッケージエントリメタデータとコンテンツルートフォルダ、イベントメッセージフォルダ及びドキュメントフォルダが配置される。
パッケージエントリメタデータは、所定の記述言語により、アプリケーションパッケージに格納されるアプリケーションに関する情報が記述されたデータである。記述言語には、例えば、XML(eXtensible Markup Language)をベースに放送通信連携コンテンツに関する情報の記述方式を定義することができる。その拡張言語仕様は、例えば、HCML(Hybridcast Contents Markup Language)と呼ばれる。パッケージエントリメタデータに記述される情報は、格納されるアプリケーションの所在として、そのエントリポイント(アプリケーションエントリポイント)となるファイルのファイル名等を示すコンテンツ情報、アプリケーションパッケージの構造等を示すパッケージ情報、当該アプリケーションの伝送方式及び送信先である受信機80における当該アプリケーションの制御等を示すトランスミッション情報を含む。
コンテンツ情報が示すアプリケーションエントリポイントのファイル名として、当該ファイルが配置されるフォルダを示すファイルパスを用いて指定されてもよい。エントリポイントとは、アプリケーションに係るファイル群のうち、アプリケーションの実行環境であるブラウザ等が最初に実行又は参照するファイルを意味する。コンテンツ情報には、当該アプリケーションのアプリケーション名、番組名、放送局名、制作者名等の属性情報が含まれてもよい。トランスミッション情報においては、伝送方式の1つの要素である伝送プロトコルとして、例えば、MMTP(MMT Protocol)、FTP(File Transfer Protocol)が指定される。伝送方式の他の要素である伝送経路として、例えば、放送伝送路BT又は通信伝送路NTならびにその起点であるサーバ装置60、ルータ装置100のIPアドレス、ポート番号などが指定される。また、伝送方式の他の要素である伝送時のフォルダ階層情報として、例えば、MMTPによる伝送に用いられるフォルダ構造もしくはFTPによる転送先のフォルダ構造において、アプリケーションの起点となるフォルダ名が指定される。FTPが用いられる場合、トランスミッション情報にサーバ装置60におけるファイルおよびフォルダのパーミッション設定に係る情報が含まれてもよい。伝送方式の指定は、アプリケーションパッケージ全体についてなされてもよいし、アプリケーションパッケージに含まれる一部のファイル群毎になされてもよいし、ファイル毎になされてもよい。アプリケーションの制御として、例えば、起動、停止、表示レイアウトの変更の許否が指定される。パッケージ情報には、コンテンツルートフォルダのフォルダ名、イベントメッセージフォルダの有無、イベントメッセージフォルダのフォルダ名、ドキュメントフォルダの有無、ドキュメントフォルダのフォルダ名、コンテンツルートフォルダに格納されるコンテンツのコンテンツ構成情報が指定されてもよい。コンテンツ構成情報として、例えば、当該コンテンツのデータが格納されるファイルのファイルパスが含まれる。それぞれのファイルパスは、各ファイルのファイル名と当該ファイルが配置されるフォルダ名を示し、ファイルパスの全体により当該コンテンツのコンテンツフォルダの階層構造が表される。これらのファイルが上述したコンテンツファイル群に相当する。パッケージエントリメタデータの名称は、所定の名称、例えば、“package_entry.hcml”と予め定めておいてもよい。拡張子の“hcml”は、HCMLで記述されたメタデータファイルであることを示す。
コンテンツルートフォルダは、コンテンツファイル群が格納される基底となるフォルダである。格納されるコンテンツファイル群には、指定されるアプリケーションエントリポイントが含まれるアプリケーションのファイルと、当該ファイルに格納されたアプリケーションから参照されるコンテンツのファイル(コンテンツファイル)が含まれる。参照されるコンテンツには、アプリケーションエントリポイントとは異なる部分のアプリケーション、例えば、サブプログラムが含まれることがある。なお、アプリケーションエントリポイントのファイルは、必ずしもコンテンツルートフォルダに配置されていなくてもよく、コンテンツルートフォルダよりも下位のフォルダに配置されてもよい。図2に示す例では、アプリケーションエントリポイントのファイルは、コンテンツルートフォルダに配置され、そのファイル名は、“index.html”である。拡張子の“html”は、HTML5で当該アプリケーションが記述されていることを示す。コンテンツルートフォルダには、アプリケーションの制作者が独自に定義した物理構造を有するコンテンツファイル群が内包される。物理構造として、当該コンテンツが格納されるコンテンツファイルのそれぞれが配置されるフォルダと、それらのフォルダの階層構造が定義される。つまり、コンテンツルートフォルダに配置されるコンテンツファイル群の物理構造を、コンテンツ構成情報を用いて制作者が任意に指定可能である。コンテンツルートフォルダのフォルダ名がパッケージエントリメタデータにおいて指定されない場合には、デフォルトのフォルダ名(例えば、“contents”)が用いられてもよい。なお、以下の説明では、コンテンツルートフォルダ以下の階層のフォルダをコンテンツフォルダと呼ぶ。
イベントメッセージフォルダは、イベントメッセージの内容に係るファイルや、それらの伝送タイミングなどのイベントメッセージに関する制御情報に係るファイルが配置されるフォルダである。イベントメッセージフォルダのフォルダ名がパッケージエントリメタデータにおいて指定されない場合には、デフォルトのフォルダ名(例えば、“event_messages”)が用いられてもよい。
ドキュメントフォルダは、アプリケーションの仕様書、説明文章など当該アプリケーションに関わる任意のファイル(アプリケーション本体を除く)が配置されるフォルダである。ドキュメントフォルダ内に配置されたファイルは、伝送対象にならないファイルである。ドキュメントフォルダのフォルダ名がパッケージエントリメタデータにおいて指定されない場合には、デフォルトのフォルダ名(例えば、“documents”)が用いられてもよい。
イベントメッセージが利用されない場合には、イベントメッセージフォルダが省略されてもよい。また、ドキュメントフォルダに配置するファイルがない場合には、ドキュメントフォルダが省略されてもよい。
また、個々のアプリケーションパッケージは、上述のデータ構造を示す単一のデータファイルとして構成されてもよい。そのようなアプリケーションパッケージのデータ形式は、例えば、ZIP形式のファイル(ZIPファイル)、MXF形式のファイル(MXFファイル)である。ZIPファイル、MXFファイルは、1つ以上の個々のファイルに格納された実体データ(ファイルデータ)とメタデータを含み、所定の形式で一体に構成されたアーカイブファイルである。
(コンテンツの構造の例)
次に、コンテンツフォルダに配置されたコンテンツの構造の例について説明する。
図3は、コンテンツフォルダ内のコンテンツの構造の一例を示す図である。
図3に示す例は、放送通信連携サービスにおいて、放送時間が30分間である番組枠に連動して編成される番組連動型コンテンツのデータが格納されるファイルの例である。これらのファイルは、コンテンツルートフォルダ内の“data”フォルダに配置され、放送中においてアプリケーションの実行により参照される。図3に示す4個のファイルは、番組の進行に伴って順次差し替えの制御がなされる。ファイル名が“text.json”であるファイルは、番組の編成開始時刻から提供されるファイル(当初ファイル)である。当初ファイルのファイル名を以下の説明では原ファイル名と呼ぶことがある。ファイル名が“00−12−34_text.json”であるファイルは、番組開始後12分34秒に当初ファイルから置き換えられる差替ファイルである。差替ファイルのファイル名は、半角英数文字からなる編成タイムコード“00−12−34”、アンダーバー“_”及び原ファイル名“text.json”、をその順序で含んで構成される。編成タイムコード“00−12−34”は、番組の編成開始時刻を起点として当該ファイルが置き換えられる時刻が12分34秒であることを示す。差替ファイルのファイル名に含まれる原ファイル名“text.json”により、差し替え元の当初ファイルが特定される。ファイル名が編成タイムコードを含むことにより、当該ファイル名を有するファイルが差替ファイルであることが特定される。なお、アプリケーションパッケージ内におけるファイル名にタイムコードを含む差替ファイルも、アプリケーション送信装置30から送信される際には、タイムコードとアンダーバーを除いた原ファイル名のファイルとして送信される。
従って、アプリケーション送信装置30は、図4に示すように、“00−00−00”以降であって“00−12−34”より前の編成タイムコードが指示される場合には、当初ファイル“text.json”を送信対象ファイルとして送信する。アプリケーション送信装置30は、番組開始後12分34秒後において、送信対象ファイルを当初ファイルから、“00−12−34_text.json”のファイルに置き換える。“00−12−34”以降であって“00−22−57”より前の編成タイムコードが指示される場合には、差替ファイル“00−12−34_text.json”が送信される。アプリケーション送信装置30は、番組開始後22分57秒後において、送信対象ファイルを“00−12−34_text.json”のファイルから、“00−22−57_text.json”のファイルに置き換える。“00−22−57”以降であって“00−28−11”より前の編成タイムコードが指示される場合には、差替ファイル“00−22−57_text.json”が送信される。アプリケーション送信装置30は、番組開始後28分11秒後において、送信対象ファイルを“00−22−57_text.json”のファイルから、“00−28−11_text.json”のファイルに置き換える。“00−28−11”以降であって“00−30−00”より前の編成タイムコードが指示される場合には、差替ファイル“00−28−11_text.json”が送信される。
図5は、コンテンツフォルダ内のコンテンツの構造の他の例を示す図である。
図5に示す例は、放送通信連携サービスにおいて、放送時間が30分間である番組枠に連動して編成される番組連動型コンテンツのデータを格納するファイルの他の例である。これらのファイルは、コンテンツルートフォルダ内の“images”フォルダに配置される、放送の信号によるアプリケーションからの参照の要否が制御される。図4に示す4個のファイルのうち、ファイル名が“logo.jpeg”であるファイルは、当初ファイルである。ファイル名が“00−08−43_logo.jpeg”であるファイルは、当初ファイル又は差替ファイルの送信の停止を指示するファイル(送信停止ファイル)である。送信停止ファイルのファイル名は、差替ファイルと同様に、半角英数文字からなる編成タイムコード“00−08−43”、アンダーバー“_”及び原ファイル名“logo.jpeg”をその順序で含んで構成される。但し、送信停止ファイルは、格納される実体データのデータ量(ファイルサイズ)が0バイトである空ファイルであることにより、特定される。送信停止時刻は、その編成タイムコードが示す時刻で指定される。送信を停止する停止対象ファイルとして指定される差替ファイルは、送信停止ファイルのファイル名に含まれる原ファイル名と、送信停止時刻よりも前の時刻を示すもののうち、最後の時刻を示す編成タイムコードを含むファイル名を有するファイルである。そのようなファイルが存在しない場合には、当初ファイルが送信停止ファイルとして指定される。
他方、ファイル名が“00−15−41_logo.jpeg”であるファイルは、ファイル送信の再開を指示するファイル(送信再開ファイル)である。送信再開ファイルは、差替対象ファイルと同様に実体データを有するファイルであって、ファイル名が、半角英数文字からなる編成タイムコード“00−15−41”、アンダーバー“_”及び原ファイル名“logo.jpeg”をその順序で含んで構成される。送信再開時刻は、その編成タイムコードが示す時刻で指定される。送信停止時刻よりも後の時刻を示す編成タイムコードを含むファイル名を有するファイルのうち、最も早い時刻を示す編成タイムコードを含むファイル名を有するファイルが送信再開ファイルと特定される。
従って、アプリケーション送信装置30は、図6に示すように、“00−00−00”以降であって“00−08−34”より前の編成タイムコードが指示される場合には、当初ファイル“logo.jpeg”を送信する。アプリケーション送信装置30は、番組開始後8分43秒において、当初ファイル“logo.jpeg”の送信を停止する。よって、“00−08−43”以降であって“00−15−41”より前の編成タイムコードが指示される場合には、ファイルの送信が行われない。アプリケーション送信装置30は、番組開始後15分41秒において、ファイル“00−15−41_logo.jpeg”の送信を開始する。よって、“00−15−41”以降であって“00−25−16”より前の編成タイムコードが指示される場合には、送信再開ファイル“00−15−41_logo.jpeg”が送信される。アプリケーション送信装置30は、番組開始後25分16秒後において、送信再開ファイル“00−15−41_logo.jpeg”の送信を停止する。よって、“00−25−16”以降の編成タイムコードが指示される場合には、ファイルの送信が行われない。
なお、当初ファイルは、編成タイムコードとして編成開始時刻を示す“00−00−00”とアンダーバー“_”と原ファイル名(例えば、“text.json”)をその順序で含んで構成されるファイル名を有してもよい。また、差替ファイル、送信停止ファイルもしくは送信再開ファイルのファイル名における編成タイムコードは、例えば“00−12−34.200−text.json”(.200は200ミリ秒を示す)など、より高い時刻の精度を表すものであってもよい。
(アプリケーション送信装置の構成)
次に、本実施形態に係るアプリケーション送信装置30の構成について説明する。
図7は、本実施形態に係るアプリケーション送信装置30の構成を示す概略ブロック図である。
アプリケーション送信装置30は、パッケージ記憶部31、制御部32、外部ファイル更新部33、一時フォルダ34及び送信部35を含んで構成される。アプリケーション送信装置30は、専用の装置であってもよいし、汎用のサーバ装置において所定の送信制御プログラムに記述される命令が示す処理を実行することにより構成されてもよい。また、1または複数の機能ブロックは、複数の専用装置もしくはサーバ装置間で分散されてもよい。
パッケージ記憶部31は、コンテンツ送信装置20から入力されたアプリケーションパッケージを記憶する。パッケージ記憶部31は、例えば、ハードディスクドライブ(HDD:Hard−disk Drive)等を含んで構成される。以下に説明する例では、アプリケーションパッケージがZIPファイルとして構成されている場合を例にする。
制御部32は、中央処理装置(CPU:Central Processing Unit)等の制御装置(図示せず)と記憶媒体を含んで構成され、記憶媒体から読み取った所定の送信プログラムに記述される命令が示す処理を実行することにより、パッケージ展開部321、展開パッケージ記憶部322、メタデータ解析部323、コンテンツ構造解析部324、ファイル制御部326、制御情報生成部328及び送信制御部329として機能する。記憶媒体は、例えば、SRAM(Static Random Access Memory)、フラッシュROM(Read−only Memory)、ハードディスクドライブ(HDD:Hard−disk Drive)等を含んで構成される。制御部32の機能については、後述する。
外部ファイル更新部33には、外部システム(図示せず)からの受信データに基づいてリアルタイムコンテンツを格納するコンテンツファイルを、その提供単位毎に生成する。リアルタイムコンテンツは、情報提供者により逐次(リアルタイム)に更新されるコンテンツである。リアルタイムコンテンツには、例えば、時事情報(ニュース)、気象情報、株価や為替等の相場情報等があり、放送事業者以外の情報提供者から提供される情報が含まれてもよい。外部ファイル更新部33は、生成したコンテンツファイルを一時フォルダ34に記憶することにより、同種のリアルタイムコンテンツのコンテンツファイルを更新する。これにより、アプリケーションの実行により参照されるリアルタイムコンテンツのコンテンツファイルが更新される。
一時フォルダ34は、送信対象ファイルを一時的に記憶する記憶部である。一時フォルダ34は、制御部32で利用される記憶媒体の記憶領域とは、別個の記憶領域であってもよい。一時フォルダ34は、外部システムから所定の伝送プロトコル(例えば、NFS:Network File System、HTTP:Hypertext Transfer Protocol、FTP、等)を用いて外部ファイル更新部33を介してアクセス可能であってもよい。
送信部35は、一時フォルダに記憶された各種のファイルをサーバ装置60又は多重化装置50に送信する。送信対象ファイル、送信時刻、送信方式等は、制御部32により制御される。
次に、制御部32の機能について説明する。パッケージ展開部321は、外部システムである番組編成情報管理装置(図示せず)からパッケージ読み込みトリガとアプリケーションパッケージ名情報が入力されるとき、アプリケーションパッケージ名情報が示すアプリケーションパッケージをパッケージ記憶部31から読み込む。なお、アプリケーション送信装置30は、パッケージ記憶部31を備えずに、ネットワーク等を介して、コンテンツ管理装置10(図1)の記憶領域から直接、もしくは、コンテンツ送信装置20を介してパッケージを取得してもよい。アプリケーション名情報には、アプリケーションパッケージが格納されるファイルを示すファイルパスが含まれることがある。番組編成情報管理装置が管理するアプリケーション編成情報は、アプリケーションの編成時刻情報、アプリケーションパッケージ名情報を含む。編成時刻情報は、編成開始時刻、編成終了時刻など番組におけるアプリケーションの編成に関する情報を含む。番組編成情報管理装置は、少なくとも編成開始時刻よりもアプリケーション送信装置30による処理に要する時間(処理遅延)よりも早い時刻に、アプリケーション送信装置30にパッケージ読み込みトリガとアプリケーションパッケージ名情報のセットを出力する。パッケージ展開部321は、ZIPファイルとして構成されたアプリケーションパッケージを展開する。展開されたアプリケーションパッケージは、上述した複数のフォルダを有し、展開により得られた個々のファイル(ローカルファイル)は、ZIPファイルに含まれるローカルファイルヘッダ(後述)で指定されたフォルダに配置される。パッケージ展開部321は、展開したアプリケーションパッケージを展開パッケージ記憶部322に記憶する。パッケージ読み込み処理については、後述する。
展開パッケージ記憶部322は、展開されたアプリケーションパッケージを記憶する記憶部である。展開パッケージ記憶部322は、上述した記憶媒体の記憶領域の一部が用いられる。
メタデータ解析部323は、展開パッケージ記憶部322からパッケージエントリメタデータを読み込み、読み込んだパッケージエントリメタデータを解析する。パッケージエントリメタデータにおいてコンテンツルートフォルダのフォルダ名が指定されている場合には、メタデータ解析部323は、指定されたフォルダ名を有するフォルダをコンテンツルートフォルダと特定する。コンテンツルートフォルダのフォルダ名が指定されていない場合には、メタデータ解析部323は、デフォルトのフォルダ名“contents”を有するフォルダをコンテンツルートフォルダと特定する(図8(a)参照)。メタデータ解析部323は、パッケージエントリメタデータ内の記述を解析し、コンテンツ情報をコンテンツ構造解析部324に、トランスミッション情報を制御情報生成部328及び送信制御部329に出力する。
コンテンツ構造解析部324は、メタデータ解析部323から入力されたパッケージエントリメタデータに記述されたコンテンツ情報とパッケージ情報に基づいてコンテンツルートフォルダ以下の階層であるコンテンツフォルダ内のコンテンツの構造を解析する。まず、コンテンツ構造解析部324は、パッケージエントリメタデータのコンテンツ情報で指定されたアプリケーションエントリポイントとなるアプリケーションのファイルを送信対象ファイルとして検出する(図8(a)参照)。コンテンツ構造解析部324は、パッケージ情報を解析し、パッケージ情報を構成するファイルパスで指定されるコンテンツファイルと当該コンテンツファイルが配置されているフォルダを検出する。送信対象ファイルとして、アプリケーションエントリポイントのファイルと、そのアプリケーションの参照先、つまり、起動、取得、提示等の処理対象として指定されたコンテンツのコンテンツファイルが検出される(図8(b)参照)。コンテンツ構造解析部324は、編成開始時刻から送信される送信対象ファイルを格納されているパッケージの構成を保ったまま一時フォルダ34に記憶する。コンテンツ構造解析部324は、編成タイムコードをファイル名に含まないコンテンツファイル又は編成タイムコード“00−00−00”をファイル名に含むコンテンツファイルを編成開始時刻から送信される送信対象ファイルとして特定する。なお、コンテンツ構造解析部324は、アプリケーションエントリポイントとなるアプリケーションの記述を解析して、他のファイルを参照する処理の実行命令に係る記述において指定された参照先のコンテンツファイルを検出してもよい。
検出されるファイルには、編成タイムコードによる制御対象となるタイムコード制御対象ファイルが含まれることがある。コンテンツ構造解析部324は、ファイル名に編成タイムコードを含む差替ファイル、送信停止ファイル及び送信再開ファイルを、タイムコード制御対象ファイルとして特定する。コンテンツ構造解析部324は、特定したタイムコード制御対象ファイル毎に、タイムコードとファイルパスとを対応付けたセットを含むリストを生成し、タイムコードが示す時刻の早い順にこれらのセットを並び替える。並び替えによって得られたリストを、タイムコード制御対象ファイルリストと呼ぶ。コンテンツ構造解析部324は、生成したタイムコード制御対象ファイルリストをファイル制御部326に出力する。
ファイル制御部326には、コンテンツ構造解析部324からタイムコード制御対象ファイルリストと、番組編成情報管理装置(図示せず)から編成タイムコードが入力される。ファイル制御部326は、タイムコード制御対象パッケージに格納されたタイムコード制御対象ファイルのうち、タイムコード制御対象ファイルリストを参照し、編成タイムコードに適合したタイムコードに対応したファイル名を有するファイルを特定する。ファイル制御部326は、特定したファイルを送信対象ファイルと判定し、展開パッケージ記憶部322に記憶されたアプリケーションパッケージから抽出する。ファイル制御部326は、抽出したファイルを、一時フォルダ34において抽出元のアプリケーションパッケージのフォルダに相当するフォルダの記憶領域に記憶する。図8(c)に示す例では、編成タイムコードが“00−12−34”になると同時もしくは直後に、ファイル制御部326は、展開パッケージ記憶部322のフォルダ“data”に配置されたファイル“00−12−34_text.json”を抽出する。ファイル制御部326は、一時フォルダ34におけるフォルダ“data”の記憶領域にある当初ファイル“text.json”を削除し、ファイル“00−12−34_text.json”のファイル名を“text.json”と変更して一時フォルダ34に配置する。ファイル削除とファイル配置は瞬時に行われるため、ファイルの書き換えに等しい。
特定したファイルのファイルサイズが0byte(空ファイル)である場合には、ファイル制御部326は当該ファイルを送信停止ファイルと判定し、判定した送信停止ファイルと同種のファイルを一時フォルダ34から消去する。図8(c)に示す例では、ファイル制御部326は、展開パッケージ記憶部322のフォルダ“images”に配置されたファイル“00−15−41_logo.json”のファイルサイズが0byteであることを特定する。ファイル制御部326は、当該ファイルが送信停止ファイルと判別する。ファイル制御部326は、同種のファイルとして送信停止ファイルが配置されているフォルダ“images”に相当する一時フォルダ34のフォルダ“images”の記憶領域に記憶されていた原ファイル名が共通であるファイル“logo.jpeg”を検出する。ファイル制御部326は、検出したファイルを消去することにより、送信対象ファイルを更新する。ファイル制御部326によるファイル制御処理については後述する。
制御情報生成部328は、一時フォルダ34における送信対象ファイルの記憶状態およびメタデータ解析部323から入力されたパッケージエントリメタデータが示すトランスミッション情報に基づいて、送信対象ファイルから構成されるアプリケーションに関する制御情報を生成する。トランスミッション情報が、一部のファイル群又はファイル毎に定められている場合には、制御情報生成部328は、トランスミッション情報のうち当該送信対象ファイルに関する部分の情報を含む制御情報を生成する。制御情報として、トランスミッション情報が示す、起動、終了などの動作の制御、放送映像の表示レイアウト変更可否等の機能の権限等の情報が含まれる。また、伝送経路として通信伝送路NTが指定され、かつ伝送プロトコルとしてFTPが指定される場合には、サーバ装置60のIPアドレスが受信機80からの取得先として制御情報に含まれる。なお、制御情報生成部328は、トランスミッション情報において指定された伝送方式に応じた形式の制御情報を生成する。例えば、MMTPが指定される場合、制御情報生成部328は、制御情報として非特許文献4に記載のMH−アプリケーション情報テーブル(MH−AIT)、データディレクトリ管理テーブル、データアセット管理テーブル及びデータコンテント管理テーブル等を生成する。FTPが指定される場合、制御情報生成部328は、制御情報としてファイル形式のAIT等を生成する。制御情報生成部328は、生成した制御情報を送信制御部329に出力する。
送信制御部329は、メタデータ解析部323から入力されたパッケージエントリメタデータが示すトランスミッション情報を参照して、一時フォルダ34に記憶された送信対象ファイルの伝送方式を特定する。送信制御部329は、当該ファイルと、制御情報生成部328から入力された制御情報を送信部35に出力し、出力したファイルと制御情報を特定した伝送方式を用いて送信させる。送信制御部329による送信制御処理については後述する。
(パッケージ読み込み処理)
次に、本実施形態に係るパッケージ読み込み処理について説明する。
図9は、本実施形態に係るパッケージ読み込み処理を示すフローチャートである。
(ステップS101)パッケージ展開部321は、番組編成情報管理装置(図示せず)からパッケージ読み込みトリガ入力の有無を判定する。あると判定されるとき(ステップS101 YES)、ステップS102に進む。ないと判定されるとき(ステップS101 NO)、ステップS101の処理を繰り返す(待ち受け)。
(ステップS102)パッケージ展開部321は、入力されたアプリケーションパッケージ名情報で指定されたアプリケーションパッケージ名情報が示すアプリケーションパッケージをパッケージ記憶部31から読み込む。パッケージ展開部321は、ZIPファイルとして構成されたアプリケーションパッケージを展開し、展開したアプリケーションパッケージを展開パッケージ記憶部322に記憶する。その後、ステップS103に進む。
(ステップS103)メタデータ解析部323は、展開パッケージ記憶部322からパッケージエントリメタデータを読み込む。メタデータ解析部323は、読み込んだパッケージエントリメタデータを解析し、コンテンツのファイル群が格納されたコンテンツフォルダを特定する。その後、ステップS104に進む。
(ステップS104)コンテンツ構造解析部324は、パッケージエントリメタデータに記述されたコンテンツ情報とパッケージ情報に基づいてコンテンツフォルダ内のコンテンツの構造を解析し送信対象ファイルと、タイムコード制御対象ファイルを検出する。コンテンツ構造解析部324は、編成開始時刻(タイムコード“00−00−00”)からの送信対象ファイルを一時フォルダ34に記憶する。その後、ステップS105に進む。
(ステップS105)コンテンツ構造解析部324は、検出したタイムコード制御対象ファイル毎のタイムコードとファイルパスとのセットを、そのタイムコードが示す時刻の順に配列したタイムコード制御対象ファイルリストを生成する。コンテンツ構造解析部324は、生成したタイムコード制御対象ファイルリストをファイル制御部326に出力する。
図10は、タイムコード制御対象ファイルリストの例を示す図である。
図10に示すタイムコード制御対象ファイルリストは、図3、5に示すコンテンツのファイルがアプリケーションパッケージに配置されている場合を例にして、生成されたファイルリストである。このタイムコード制御対象ファイルリストには、2種類の当初ファイル“logo.jpeg”、“text.json”に関連するタイムコード制御対象ファイルに関する情報のセットを各3件含む。例えば、第2行に示すセットは、番号“1”、タイムコード“00−08−43”及び“ファイルパスcontents/images/00−08−43_logo.jpeg”からなる。タイムコード“00−08−43”は、タイムコード制御に係る時刻が編成開始時刻から8分43秒後であることを示す。ファイル“00−08−43_logo.jpeg”は送信停止ファイルであるので、この時刻は直前の順序の同種のファイル(この場合、当初ファイル“logo.jpeg”)の送信停止時刻を示す。ファイルパス“contents/images/00−08−43_logo.jpeg”は、配置されるフォルダが“contents/images/”であり、ファイル名が“00−08−43_logo.jpeg”であることを示す。タイムコード制御対象ファイルリストは、タイムコードとファイルパスの他に、ファイルサイズやファイル操作種別等を要素として含んでもよい。
(ファイル制御処理)
次に、本実施形態に係るファイル制御処理について説明する。
図11は、本実施形態に係るファイル制御処理を示すフローチャートである。
(ステップS111)制御部32は、編成開始時にファイル制御部326の機能を実行するスレッドを起動することにより、ファイル制御処理を開始する。その後、ステップS112に進む。
(ステップS112)ファイル制御部326は、番組編成情報管理装置(図示せず)から入力される編成タイムコードを参照し、パッケージエントリメタデータに含まれるコンテンツ情報が示す番組の継続時間と比較して、編成終了か否かを判定する。編成タイムコードが示す時刻が継続時間以上であるとき、ファイル制御部326は編成終了と判定する。編成タイムコードが示す時刻が継続時間未満であるとき、ファイル制御部326は編成中と判定する。その後、ステップS113に進む。
(ステップS113)ファイル制御部326が編成終了と判定する場合(ステップS113 YES)、ステップS117に進む。ファイル制御部326が編成中と判定する場合(ステップS113 NO)、ステップS114に進む。
(ステップS114)ファイル制御部326は、タイムコード制御対象ファイルリストにおける先頭の項目(未処理のタイムコード制御対象ファイルのうち最先の項目)のタイムコードの値と、編成タイムコードの値とを比較する。その後、ステップS115に進む。
(ステップS115)編成タイムコードの値の方が小さいと判定されたとき(ステップS115 YES)、ステップS112に戻る。編成タイムコードの値が、タイムコード制御対象ファイルリストのタイムコードの値と等しいか、より大きいと判定されたとき(ステップS115 NO)、ステップS116に進む。
(ステップS116)ファイル制御部326は、一時フォルダ34に記憶されたタイムコード制御対象パッケージから当該ファイルを送信対象ファイルとして抽出する。ファイル制御部326は、抽出したファイルを一時フォルダ34の送信対象ファイル領域に記憶されている同種のファイルを抽出したファイルに置き換え、その同種のファイルを削除する。但し、抽出したファイルが送信停止ファイル(ファイルサイズが0バイト)である場合には、ファイル制御部326は、当該ファイルを送信停止ファイルと判定する。そして、ファイル制御部326は、当該ファイルについて置き換えを行わず、一時フォルダ34に記憶されている同種のファイルを削除する。その後、ファイル制御部326は、ファイル制御部326は、タイムコード制御対象ファイルリストの先頭の項目に記述された情報を削除し、その後、ステップS112に戻る。
なお、ファイル制御部326は、抽出した送信対象ファイルのファイル名を、編成タイムコードとアンダーバーが除去された原ファイル名に置き換え、ファイル名を置き換えた送信対象ファイルを一時フォルダ34に記憶してもよい。これにより、受信機80は、アプリケーションにおいて指定された参照先のファイル名を変更せずに、置き換えられた送信対象ファイルを参照することができる。
(送信制御処理)
次に、本実施形態に係る送信制御処理について説明する。
図12は、本実施形態に係る送信制御処理を示すフローチャートである。
(ステップS121)制御部32は、送信プログラムの実行開始時において送信制御部329の機能を実行するスレッドを起動することにより、送信制御処理を開始する。その後、ステップS122に進む。
(ステップS122)送信制御部329は、番組編成情報管理装置(図示せず)から送信開始トリガが入力されたか否かを判定する。入力されたと判定する場合(ステップS122 YES)、ステップS123に進む。入力されないと判定する場合(ステップS122 NO)、ステップS122の処理を繰り返す(待ち受け)。
(ステップS123)送信制御部329は、一時フォルダ34に記憶された送信対象ファイルを送信部35に出力することにより、パッケージエントリメタデータに含まれるトランスミッション情報で指定された伝送方式を用いて送信させる。送信制御部329は、制御情報生成部328から入力された制御情報についても同様に、送信部35に送信させる。
その後、ステップS124に進む。
(ステップS124)送信制御部329は、番組編成情報管理装置(図示せず)から送信終了トリガが入力されたか否かを判定する。入力されたと判定された場合(ステップS124 YES)、ステップS122に戻る(待ち受け)。入力されないと判定された場合(ステップS124 NO)、ステップS123に戻る(送信継続)。
なお、トランスミッション情報において伝送プロトコルとしてMMTPが指定される場合(ファイル送信)、送信制御部329は送信部35に対して直接の送信先として多重化装置50(図1)を指定し、送信先が多重化装置50と指定された送信対象ファイル(コンテンツファイル群)と制御情報を送信部35に送信させる。送信制御部329は、多重化装置50に送信させた送信対象ファイルと制御情報を、指定された伝送方式で多重化装置50に送信させる。多重化装置50は、アプリケーション送信装置30から受信した送信対象ファイル、制御情報及び符号化装置40から受信したマルチメディアデータを多重化して得られた多重化データを生成する。多重化装置50は、生成した多重化データを細分化し、細分化されたデータを格納したMMTPパケットを生成する。多重化装置50は、生成したMMTPパケットを格納した一連のIPパケットからなるIPフローを生成する。多重化装置50は、生成したIPフローをアプリケーション送信装置30から指定された伝送経路に応じた送信先に送信する。伝送経路として通信伝送路NTが指定された場合には、多重化装置50は、IPフローをルータ装置100(図1)に送信する。伝送経路として放送伝送路BTが指定された場合には、多重化装置50は、IPフローを放送設備70(図1)に送信する。ルータ装置100に送信されたIPフローは、通信伝送路NTを介して受信機80(図1)に伝送される。放送設備70に送信されたIPフローは、放送伝送路BTを介して受信機80に伝送される。受信機80は、伝送されたIPフローから送信対象ファイルの全体を取得できるように、送信制御部329は、送信対象ファイルを所定期間毎に繰り返し送信させる。また、アプリケーションを構成するファイル群を番組編成時刻から送信開始する場合、受信機80が全てのファイルを受信し、アプリケーションが実行可能になるまでの遅延が生じる。このため、受信機80において番組開始時刻と同時にアプリケーションを実行できるようにするため、番組編成時刻よりも早い時刻において送信制御部329に送信開始トリガを与え、ファイル群の送信を開始させてもよい。
ファイル制御部326により一時フォルダ34に記憶された送信対象ファイルが更新されてから、送信制御部329により更新後の送信対象ファイルが送信されるまでに遅延が生じることがある。例えば、一時フォルダ34内のすべてのファイルを一回ずつ送信するのに5秒を要する場合、更新後のファイルの送信が終了するまでに、最大で5秒の遅延が生じる可能性がある。そこで、ファイル制御部326は、タイムコード制御対象ファイルを一時フォルダ34に記憶するとき、送信対象ファイルが当該タイムコード制御対象ファイルに更新されたことを示すファイル更新情報を送信制御部329に出力してもよい。これにより、送信制御部329は、ファイル制御部326から入力されたファイル更新情報が示す更新後のタイムコード制御対象ファイルを優先して送信させ、受信機80(図1)において実行中のアプリケーションにファイルの更新が反映されるまでの遅延を低減することができる。なお、トランスミッション情報において、IPフローの伝送方式としてMMTP以外の伝送プロトコルが指定されてもよい。また、トランスミッション情報において、送信対象ファイルが格納されるデータ形式としてIPフロー以外のデータ形式、例えば、TS(Transport Stream)が指定されてもよい。なお、アプリケーション送信装置30と多重化装置50との間における伝送方式として、異なる階層の伝送方式が利用可能である。一例として、アプリケーション送信装置30の送信制御部329がファイルの細分化とMMTPパケットの生成を行い、多重化装置50が制御情報の再構成とIPフローの多重化を行ってもよい。
トランスミッション情報において、伝送プロトコルとしてFTPが指定される場合(ファイル転送)、送信制御部329は送信部35に対して出力先としてサーバ装置60(図1)を指定する。FTPの指定により、伝送経路として、通信伝送路NTが指定される。サーバ装置60は、アプリケーション送信装置30から受信した送信対象ファイル(コンテンツファイル群)のうち受信機80(図1)からの要求情報で指定されるファイルを、その応答として通信伝送路NTを介して受信機80に送信する。そのため、サーバ装置60は、番組の編成開始時刻よりも前にアプリケーション送信装置30からの送信対象ファイルの受信が完了している必要がある。そこで、送信制御部329は、編成開始時刻よりも少なくとも送信開始から送信完了までの送信時間(ファイル転送時間)だけ早い時刻に送信対象ファイルの送信を開始させてもよい。なお、送信制御部329は、ファイル制御部326により一時フォルダ34に記憶させた送信対象ファイルの削除に応じて、送信部35に対してサーバ装置60に送信した送信対象ファイルの削除を指示するFTPコマンドを送信させてもよい。また、送信制御部329は、ファイル制御部326により一時フォルダ34に記憶させた送信対象ファイルの更新に応じて、送信部35に対してサーバ装置60に当該送信対象ファイルの更新を指示するFTPコマンドを送信させてもよい。FTPコマンドの送信タイミングは、ファイル制御部326に入力される編成タイムコードが示す時刻よりも少なくともファイル転送時間だけ早い時刻であってもよい。なお、トランスミッション情報において、送信先としてサーバ装置60が指定される場合であっても、伝送プロトコルとしてFTP以外の伝送プロトコルが指定されてもよい。
複数のアプリケーションパッケージにおいて、それぞれ異なる伝送方式がトランスミッション情報において指定されている場合には、送信制御部329は、それぞれ指定された伝送方式を用いて並列に送信対象ファイルを送信させてもよい。また、トランスミッション情報においてファイル群毎に伝送方式が指定されている場合には、送信制御部329は、送信対象ファイルが属するファイル群の伝送方式を用いて当該送信対象ファイルを送信させてもよい。また、トランスミッション情報において、ファイル毎に伝送方式が指定されている場合には、送信制御部329は、送信対象ファイルに係る伝送方式を用いて当該送信対象ファイルを送信させてもよい。なお、トランスミッション情報において伝送プロトコルとしてMMTPが指定されているとき、IPフローへの多重周期が指定可能であってもよく、多重周期は、ファイルに格納される情報の重要性、緊急性等に応じて、可変であってもよい。多重周期が指定されている場合には、送信制御部329は、指定された多重周期で送信対象ファイルのデータを多重化装置50に多重化させることによりIPフローを生成させる。
なお、パッケージ展開部321は、パッケージ読み込みトリガとアプリケーションパッケージ名情報のセットが複数セット入力されるとき、それぞれのアプリケーションパッケージ名情報で指定されるアプリケーションパッケージを読み込む。制御部32は、読み込んだ複数のアプリケーションパッケージについて、それぞれ上記の処理を並列に行い、それぞれの番組に係るコンテンツファイル群を送信してもよい。
また、ファイル制御部326、送信制御部329は、制御部32の他の構成とは別個のプログラムの実行により、その機能を実現してもよい。また、外部ファイル更新部33の機能を実現するために、制御部32と同一のプログラムの実行により実現してもよいし、異なるプログラムの実行により実現してもよい。
(アプリケーション動作検証装置の構成)
次に、本実施形態に係るアプリケーション動作検証装置90の構成について説明する。アプリケーション送信装置30(図7)と同一の構成については、同一の符号を付してその説明を援用する。
図13は、本実施形態に係るアプリケーション動作検証装置90の構成を示す概略ブロック図である。
アプリケーション動作検証装置90は、パッケージ記憶部31、一時フォルダ34、制御部92及び実行部93を含んで構成される。アプリケーション動作検証装置90は、専用の装置であってもよい。また、アプリケーション動作検証装置90は、汎用のサーバ装置又はパーソナルコンピュータに所定のアプリケーション動作検証プログラムに記述される命令が示す処理を実行させることにより構成されてもよい。
制御部92は、CPU等の制御装置(図示せず)と記憶媒体を含んで構成され、記憶媒体から読み取った所定のアプリケーション動作検証プログラムに記述される命令が示す処理を実行することにより、パッケージ展開部321、展開パッケージ記憶部322、メタデータ解析部323、コンテンツ構造解析部324及びファイル制御部326として機能する。制御部92の構成は、アプリケーション送信装置30の制御部32(図7)において制御情報生成部328及び送信制御部329が省略された構成に相当する。このことは、アプリケーション動作検証装置90がファイルの送信を要しないためである。従って、制御部92は、パッケージ記憶部31から読み取ったアプリケーションパッケージから送信対象ファイルに代えて検証対象ファイルを特定し、特定した検証対象ファイルを一時フォルダ34に記憶する。また、制御部92は、当該アプリケーションパッケージから、編成タイムコードに適合したタイムコードをファイル名に含むタイムコード制御対象ファイルを、一時フォルダ34の検証対象ファイル領域に検証対象ファイルとして記憶する。これらの検証対象ファイルは、ファイル制御部326に入力される編成タイムコードで指定される時刻において受信機80(図1)に送信されるコンテンツファイルに相当する。
実行部93には、ユーザからの操作入力による操作信号が入力され、入力された操作信号で指定されるアプリケーションエントリポイントのファイルを特定し、特定したファイルを一時フォルダ34から読み込む。実行部93は、読み込んだファイルに格納されたアプリケーションに記述された命令が示す処理を実行する。実行部93は、記述されたアプリケーションを解析し、参照先として指定された他のコンテンツファイルを一時フォルダ34から読み込む。実行部93は、処理の実行により読み込んだコンテンツファイルに格納されたコンテンツの提示を制御する。従って、アプリケーションエントリポイントのファイルへアクセスすることにより、編成タイムコードが示す時刻を指定した動作検証が可能になる。実行部93は、アプリケーション動作検証プログラムとは別個のプログラム、例えば、ウェブブラウザを実行することにより実現されてもよい。
(相互変換)
上述した説明では、アプリケーション送信装置30、アプリケーション動作検証装置90のパッケージ展開部321(図7、13)がZIP形式のアプリケーションパッケージを展開する場合を例にしたが、これには限られない。アプリケーション送信装置30、アプリケーション動作検証装置90は、それぞれMXF形式のアプリケーションパッケージを読み込み、読み込んだMXF形式のアプリケーションパッケージについて形式変換を行ってZIP形式のアプリケーションパッケージを生成する第1変換部(図示せず)を備えてもよい。また、アプリケーション動作検証装置90は、ZIP形式のアプリケーションパッケージについて形式変換を行ってMXF形式のアプリケーションパッケージを生成する第2変換部(図示せず)を備えてもよい。以下の説明では、これらの変換部を、単に変換部と総称する。また、ZIPファイルからMXFファイルへの形式変換をZIP−MXF変換と呼び、MXFファイルからZIPファイルへの形式変換をMXF−ZIP変換と呼ぶ。また、図1のコンテンツ管理装置10に記憶されるアプリケーションに係るファイルとは別個の映像、音声等のマルチメディアデータを含むコンテンツパッケージのデータ形式がMXF形式である場合、コンテンツ管理装置10の出力部もしくはコンテンツ送信装置20がコンテンツパッケージについてMXF−ZIP変換を行ってもよい。その場合には、アプリケーション送信装置30にはMXF−ZIP変換によって得られたZIP形式のアプリケーションパッケージが入力される。
次に、各形式のアプリケーションパッケージのデータ構成について説明する。
図14は、各形式のアプリケーションパッケージのデータ構成の例を示す図である。
図14の上段は、ZIPファイルとして構成されたアプリケーションパッケージの構成の一例を示す。ZIPファイルは、ローカルファイルヘッダとファイルデータ(ファイルエントリ)等からなる複数個のセット、複数個のセントラルディレクトリヘッダ、エンドオブセントラルディレクトリレコードをその順序で含んで構成されるファイルである。ローカルファイルヘッダは、アプリケーションパッケージに配置される個々のファイル(ローカルファイル)に当該ファイルに関する情報、例えば、ファイルサイズ、ファイルパスを示すデータである。ローカルファイルは、アプリケーションのファイル、アプリケーションから参照される各種のコンテンツのファイル、パッケージエントリメタデータ、イベントメッセージに関するファイル、ドキュメントフォルダに配置される各種のファイルが該当する。ローカルファイルヘッダにより、個々のローカルファイルのファイルデータ(実体データ)が区分される。ローカルファイルヘッダに後続する領域に、当該ローカルファイルのファイルデータが格納される。各セントラルディレクトリヘッダは、それぞれのローカルファイルの圧縮方式、圧縮前後のファイルサイズ、ZIPファイル全体において当該ローカルファイルが格納される位置などの情報を示すデータである。エンドオブセントラルディレクトリレコードは、ZIPファイルの終端を示すデータである。この構成により、ZIPファイルには、パッケージルートフォルダ以下のフォルダ間の階層構造、各フォルダに配置されるローカルファイルをそれぞれ示すデータが一括して格納される。そのため、ZIPファイルは、パッケージルートフォルダを起点として、コンテンツファイルの構成フォルダの物理構造と、それぞれのフォルダに配置される個々のローカルファイルに展開することができる。各ローカルファイルに付随する情報として、ローカルファイルヘッダに後続する領域と、ファイルデータに後続する領域の一方又は両方に他のデータ構造が含まれていてもよい。また、先頭のセントラルディレクトリヘッダの前の領域と、最後尾のセントラルディレクトリヘッダとエンドオブセントラルディレクトリレコードとの間の領域の一方又は両方に、他のデータ構造が含まれていてもよい。
図14の下段は、MXFファイルとして構成されたアプリケーションパッケージの構成の一例を示す。MXFファイルは、コンテンツの制作、管理においてしばしば用いられるデータ形式を有するファイルである。MXFファイルにおいて、ZIPファイルを構成する各ローカルファイルのローカルヘッダとファイルデータのセットを、その順序で含む所定のデータ配列(Generic Stream Partition)に格納される。MXFファイルは、Key、Length及びValue領域をその順序で含み、さらにValue領域に複数のKLV構造を内包して構成されるファイルである。複数のKLV構造からなるデータ配列は、Generic Streamと呼ばれる。図14の下段における先頭のKeyは、当該MXFファイルがアプリケーションパッケージのGeneric Streamを有することを示す値(アプリケーションパッケージ識別値)が設定される。後続するLengthには、後続する複数のKLV構造全体のデータサイズを示す値が設定される。アプリケーションパッケージ識別値を持つKLV構造のValue領域に内包される個々のKLV構造は、Key、Length及びValueをその順序で含み、Value領域に種々のデータを格納して構成されるデータ構造である。冒頭から末尾の直前までのKLV構造のKeyには、アプリケーションパッケージを構成するローカルファイルが格納されていることを示す値(ローカルファイル識別値)が設定される。Lengthには、後続するValue領域に格納されるデータのデータサイズを示す値(データサイズ値)が設定される。Value領域は、個々のローカルファイルのローカルファイルヘッダと当該ローカルファイルのファイルデータが格納されるデータ領域である。ファイルデータに付随する情報として、ローカルファイルヘッダとは別個のデータ構造を含む場合には、そのデータ構造も同一のValue領域に併せて格納される。即ち、KeyとLengthは、それらの挿入により、個々のローカルファイルヘッダとファイルデータのセットが区分される区分データである。ZIPファイルに格納される個々のローカルファイルのローカルファイルヘッダが、そのローカルファイルに関する情報(プロパティ記述)として利用可能である。
アプリケーションパッケージに係るMXFファイルの末尾のKLV構造のKeyには、各ローカルファイルのセントラルディレクトリヘッダが格納されることを示す値(セントラルディレクトリレコード識別値)が設定される。Lengthには、後続するValueに格納されるValueに格納されるデータのデータサイズ値が設定される。Valueは、各ローカルファイルに係るセントラルディレクトリヘッダとエンドオブセントラルディレクトリレコードをその順序で格納されるデータ領域である。なお、冒頭のセントラルディレクトリヘッダの前の領域、最後尾のセントラルディレクトリヘッダとエンドオブセントラルディレクトリレコードとの間の領域の一方又は両方に、他のデータ構造が含まれていてもよい。従って、末尾のKLV構造には、ZIPファイルに格納される個々のセントラルディレクトリヘッダで構成されるファイルインデックスが、そのままアプリケーションのコンテンツファイル群のインデックス情報として格納される。MXFファイルにおいて、アプリケーションパッケージ識別値を有するGeneric Streamが内包するKLV構造の数は、格納されるローカルファイルの数よりも1個多い。このようなデータ構造により、後述するZIPファイルとMXFファイル相互間の形式変換が簡素になる。また、上記のアプリケーションパッケージに係るMXFファイルの構造を、映像、音声など他のマルチメディアデータを格納したMXFファイルの構造と結合した、番組コンテンツをまとめたコンテンツパッケージとして構成されてもよい。
(形式変換)
次に、形式変換について説明する。ZIP−MXF変換では、変換部は、ZIPファイルに含まれるローカルファイル毎のローカルファイルヘッダとファイルデータ等のセットを格納したKLV構造を順次連結することにより、MXFファイルを生成する。具体的には、変換部は図15に示す処理を行う。
図15は、本実施形態に係るZIP−MXF変換を示すフローチャートである。
(ステップS131)変換部は、記憶媒体に記憶されたZIPファイルに含まれる個々のローカルファイルのローカルファイルヘッダとファイルデータのセットをそれぞれ抽出する。さらにローカルファイルに係るデータ構造がファイルデータの前後に存在する場合には、変換部は、それらもまとめて抽出する。その後、ステップS132に進む。
(ステップS132)変換部は、抽出したセット毎に、ローカルファイル識別値が設定されたKeyと、当該セットのデータサイズ値が設定されたLengthと、当該セットのローカルファイルヘッダとファイルデータ等を格納したValue領域とを連結し、KLV構造を生成する。その後、ステップS133に進む。
(ステップS133)変換部は、当該ZIPファイルに含まれる個々のローカルファイルのセントラルディレクトリヘッダとエンドオブディレクトリレコードを抽出する。冒頭のセントラルディレクトリヘッダの前の領域と、最後尾のセントラルディレクトリヘッダとエンドオブセントラルディレクトリレコードとの間の領域の一方又は両方に、特定のローカルファイルに限定されない情報を持つ他のデータ構造が含まれている場合には、変換部は、それらもまとめて抽出する。その後、ステップS134に進む。
(ステップS134)変換部は、セントラルディレクトリレコード識別値が設定されたKeyと、抽出したセントラルディレクトリヘッダとエンドオブセントラルディレクトリレコード等の全体のデータサイズが設定されたLengthと、抽出したセントラルディレクトリヘッダとエンドオブセントラルディレクトリレコード等を格納したValue領域とを連結し、KLV構造を生成する。その後、ステップS135に進む。
(ステップS135)変換部は、アプリケーションパッケージ識別値が設定されたKeyと、ステップS132、S134において生成されたKLV構造全体のデータサイズが設定されたLengthと、ステップS132、S134において生成されたKLV構造を連結してGeneric Streamを生成し、MXFファイルを出力する。変換部は、出力したMXFファイルを記憶媒体に記憶する。この際、変換部は、必要に応じて、別途生成された映像、音声等、他のマルチメディアデータを格納したMXFファイルと結合し、コンテンツパッケージを構成してもよい。その後、図15に示す処理を終了する。
MXF−ZIP変換では、変換部は、MXFファイルに含まれるローカルファイル毎のKLV構造を区分するKeyとLengthを除外し、Value領域に格納されたローカルファイルヘッダとファイルデータ等のセットを順次連結することにより、ZIPファイルを生成する。具体的には、変換部は図16に示す処理を行う。
図16は、本実施形態に係るMXF−ZIP変換を示すフローチャートである。
(ステップS141)変換部は、記憶媒体に記憶されたアプリケーションパッケージのMXFファイルもしくはアプリケーションパッケージを内包するコンテンツパッケージのMXFファイルを読み込み、Keyの設定値に基づきアプリケーションパッケージが格納されていること、及びその格納位置を判別し、後続するLengthに基づいてMXFファイルのうちアプリケーションパッケージに係るKLV構造を内包するValue領域のデータサイズを判定する。その後、ステップS142に進む。
(ステップS142)変換部は、アプリケーションパッケージ識別値を持つKLV構造のValue領域に内包されるKVL構造のうち、冒頭から末尾の直前までのKLV構造のそれぞれについて、冒頭のKeyの設定値に基づきローカルファイルが格納されていることを判別する。変換部は、後続するLengthに基づいてさらに後続するValue領域に格納されたデータのデータサイズを判定する。変換部は、ローカルファイルヘッダとファイルデータ等が格納されたValue領域を抽出する。その後、ステップS143に進む。
(ステップS143)変換部は、アプリケーションパッケージ識別値を有するKLV構造のValue領域に内包されるKVL構造のうち、末尾のKLV構造について、その冒頭のKeyの設定値に基づきセントラルディレクトリレコードが格納されることを判別する。変換部は、後続するLengthに基づいてさらに後続するValue領域に格納されたデータのデータサイズを判定する。変換部は、セントラルディレクトリヘッダとエンドオブセントラルディレクトリレコード等が格納されたValue領域を抽出する。その後、ステップS144に進む。
(ステップS144)変換部は、ステップS112で抽出したValue領域を順次連結し、ステップS143で抽出したValue領域をさらに連結してZIPファイルを生成する。その後、図16に示す処理を終了する。
以上に説明したように、本実施形態に係るアプリケーション送信装置30及びアプリケーション動作検証装置90は、それぞれメタデータ解析部323及びコンテンツ構造解析部324を備える。メタデータ解析部323は、アプリケーションパッケージから、パッケージエントリポイントメタデータを解析してアプリケーションプログラムを特定する。アプリケーションパッケージには、デジタル放送サービスのアプリケーションプログラムに関するコンテンツファイルが配置されたコンテンツルートフォルダと、アプリケーションプログラムのエントリポイントを示すコンテンツ情報を含むパッケージエントリポイントメタデータとが配置されている。コンテンツ構造解析部324は、コンテンツルートフォルダ以下のフォルダの構造を解析して、アプリケーションプログラムに関するコンテンツファイルを前記コンテンツルートフォルダから抽出する。
この構成によれば、パッケージエントリメタデータを参照して、アプリケーションプログラムの最初に参照されるエントリポイントの所在が直ちに識別される。制作者が任意に構成したコンテンツファイルが処理対象として効率的に抽出されるので、制作者と放送事業者もしくはサービス提供者間において共通の処理対象が特定される。例えば、本アプリケーションパッケージを放送事業者もしくはサービス提供者と制作者との間の素材交換、放送事業者における送信装置への共通のデータ形式として利用することにより相互運用性が向上する。
また、コンテンツ構造解析部324は、コンテンツファイルのファイル名を解析して、ファイル名が示す時刻とコンテンツファイルの所在を示す制御対象ファイルリストを生成する。そして、アプリケーション送信装置30及びアプリケーション動作検証装置90は、制御対象ファイルリストを参照して、番組の編成時刻に相当する時刻を示すファイル名を有するコンテンツファイルを選択するファイル制御部326を備える。
この構成によれば、時間経過に応じてコンテンツファイルが更新されるコンテンツについても、番組編成の際にファイル名により処理開始時刻と処理対象のファイルが直ちに特定される。制作者は、処理の開始やその時刻を効率的に検証することができ、放送事業者もしくはサービス提供者は、制作者が意図した処理開始時刻に基づいた番組編成を円滑に行うことができる。
また、ファイル制御部326は、選択したコンテンツファイルが空ファイルである場合、選択したファイルのファイル名が示す時刻においてコンテンツファイルに係る処理を停止させることを特徴とする。
この構成によれば、番組編成の際に停止されるコンテンツについて、ファイル名により停止時刻と停止対象のファイルが直ちに特定される。制作者は、処理の停止やその時刻を効率的に検証することができ、放送事業者もしくはサービス提供者は、制作者が意図した処理停止時刻に基づいた番組編成を円滑に行うことができる。
また、アプリケーション送信装置30及びアプリケーション動作検証装置90は、それぞれパッケージ展開部321を備える。パッケージ展開部321は、第1の形式のファイルから、セット毎にデータを格納したコンテンツファイルをヘッダが示すフォルダに配置してアプリケーションパッケージとして展開する。第1の形式のファイルは、コンテンツファイルが配置されるフォルダならびに識別情報を示すヘッダと、コンテンツファイルに格納されたデータとを含むセットがコンテンツファイル間で連結されて構成される。第1の形式のファイルは、例えば、ZIPファイルである。
この構成によれば、第1の形式のファイルから展開により再生されたアプリケーションパッケージから番組編成の際に処理対象のコンテンツファイルが特定される。番組編成において一括した取扱いに便宜な第1の形式のファイルの活用を図ることができる。
また、アプリケーション送信装置30及びアプリケーション動作検証装置90は、それぞれ変換部を備える。変換部は、第2の形式のファイルから、区分データをそれぞれ除外して前記第1の形式のファイルに変換する。第2の形式のファイルは、コンテンツファイルが配置されるフォルダならびに識別情報を示すヘッダと、コンテンツファイルに格納されたデータとを含むセットの配置を示す区分データが当該セットそれぞれの先頭にさらに配置されたファイルである。第2の形式のファイルは、例えば、MXFファイルである。
この構成によれば、第2の形式のファイルから、第1の形式のファイルへの変換を区分データの除外といった簡素な処理により実現することができる。区分データによる個々のコンテンツファイルに対するアクセスが容易な第2の形式のファイルを、第1の形式のファイルに変換して一括した取扱いを促進することができる。
また、アプリケーション動作検証装置90は、第1の形式に含まれる上述したセットそれぞれの先頭に前記セットの配置を示す区分データを配置して第2の形式のファイルに変換する変換部を備える。
この構成によれば、第1の形式のファイルから第2の形式へのファイルへの変換を区分データの配置といった簡素な処理により実現することができる。そのため、一括した取扱いに便宜な第1の形式のファイルを、第2の形式のファイルに変換して個々のコンテンツファイルに対するアクセスを促進することができるので、コンテンツ制作、編集を効率よく行うことができる。そのため、第1の形式のファイルによる簡易な運用、第2の形式のファイルによるファイルベースシステムとの親和性や長期的なアーカイブへの適用性を両立することができる。
また、アプリケーション送信装置30は、パッケージエントリポイントメタデータに含まれるトランスミッション情報が示すコンテンツファイルの伝送方式を用いて抽出したコンテンツファイルを送信させる送信制御部329を備える。
この構成によれば、制作者が任意に構成したコンテンツファイルが送信対象として効率的に抽出され、放送事業者もしくはサービス提供者が指定した所望の伝送方式を用いて送信される。そのため、デジタル放送サービスを提供において、制作者と放送事業者もしくはサービス提供者との間の相互運用性が向上する。
また、アプリケーション動作検証装置90は、特定されたアプリケーションプログラムに記述される命令が示す処理を実行する実行部93を備える。
この構成によれば、制作者が任意に構成したコンテンツファイルが処理対象として効率的に抽出されるので、制作されたアプリケーションパッケージに配置されるアプリケーションプログラムの動作検証を円滑に行うことができる。
以上、図面を参照してこの発明の一実施形態について説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、アプリケーション送信装置30は、コンテンツ送信装置20、符号化装置40及び多重化装置50のいずれか、又はそれらの任意の組み合わせと一体化した単一の装置として構成されてもよい。また、アプリケーション動作検証装置90は、コンテンツ管理装置10と一体化した単一の装置として構成されてもよい。
B1…放送通信連携システム、BT…放送伝送路、NT…通信伝送路、10…コンテンツ管理装置、20…コンテンツ送信装置、30…アプリケーション送信装置、31…パッケージ記憶部、32…制御部、321…パッケージ展開部、322…展開パッケージ記憶部、323…メタデータ解析部、324…コンテンツ構造解析部、326…ファイル制御部、328…制御情報生成部、329…送信制御部、33…外部ファイル更新部、34…一時フォルダ、35…送信部、40…符号化装置、50…多重化装置、60…サーバ装置、70…放送設備、80…受信機、90…アプリケーション動作検証装置、92…制御部、93…実行部、100…ルータ装置

Claims (8)

  1. デジタル放送サービスのアプリケーションプログラムに関するコンテンツファイルが配置されたコンテンツルートフォルダと、前記アプリケーションプログラムのエントリポイントを示すコンテンツ情報を含むパッケージエントリポイントメタデータとが配置されたアプリケーションパッケージから、
    前記パッケージエントリポイントメタデータを解析して前記アプリケーションプログラムを特定するメタデータ解析部と、
    前記コンテンツルートフォルダ以下のフォルダの構造を解析して、前記アプリケーションプログラムに関するコンテンツファイルを前記コンテンツルートフォルダから抽出するコンテンツ構造解析部と、
    ファイル制御部と、を備え、
    前記コンテンツ構造解析部は、前記コンテンツファイルのファイル名を解析して、前記ファイル名が示す時刻と前記コンテンツファイルの所在を示す制御対象ファイルリストを生成することを特徴とし、
    前記ファイル制御部は、制御対象ファイルリストを参照して、番組の編成時刻に相当する時刻を示すファイル名を有するコンテンツファイルを選択する
    処理装置。
  2. 前記ファイル制御部は、選択したコンテンツファイルが空ファイルである場合、前記選択したファイルのファイル名が示す時刻において前記コンテンツファイルに係る処理を停止させることを特徴とする請求項1に記載の処理装置。
  3. 前記コンテンツファイルが配置されるフォルダならびに識別情報を示すヘッダと、前記コンテンツファイルに格納されたデータとを含むセットがコンテンツファイル間で連結された第1の形式のファイルから、前記セット毎に前記データを格納したコンテンツファイルを前記ヘッダが示すフォルダに配置して前記アプリケーションパッケージとして展開する展開部
    を備える請求項1または請求項2に記載の処理装置。
  4. 前記セットの配置を示す区分データが前記セットそれぞれの先頭にさらに配置された第2の形式のファイルから、前記区分データをそれぞれ除外して前記第1の形式のファイルに変換する第1変換部
    を備える請求項3に記載の処理装置。
  5. 前記第1の形式に含まれる前記セットそれぞれの先頭に前記セットの配置を示す区分データを配置して第2の形式のファイルに変換する第2変換部
    を備える請求項3または請求項4に記載の処理装置。
  6. 前記パッケージエントリポイントメタデータは、前記コンテンツファイルの伝送方式を示すトランスミッション情報を含み、
    前記トランスミッション情報が示す伝送方式を用いて前記コンテンツファイルを送信させる送信制御部
    を備える請求項1から請求項5のいずれか一項に記載の処理装置。
  7. 前記アプリケーションプログラムに記述される命令が示す処理を実行する実行部
    を備える請求項1から請求項5のいずれか一項に記載の処理装置。
  8. 処理装置のコンピュータに、
    デジタル放送サービスのアプリケーションプログラムに関するコンテンツファイルが配置されたコンテンツルートフォルダと、前記アプリケーションプログラムのエントリポイントを示すコンテンツ情報を含むパッケージエントリポイントメタデータとが配置されたアプリケーションパッケージから、
    前記パッケージエントリポイントメタデータを解析して前記アプリケーションプログラムを特定するメタデータ解析手順、
    前記コンテンツルートフォルダ以下のフォルダの構造を解析して、前記アプリケーションプログラムに関するコンテンツファイルを前記コンテンツルートフォルダから抽出するコンテンツ構造解析手順、
    ファイル制御手順、を実行させるためのプログラムであって、
    前記コンテンツ構造解析手順は、前記コンテンツファイルのファイル名を解析して、前記ファイル名が示す時刻と前記コンテンツファイルの所在を示す制御対象ファイルリストを生成することを特徴とし、
    前記ファイル制御手順は、制御対象ファイルリストを参照して、番組の編成時刻に相当する時刻を示すファイル名を有するコンテンツファイルを選択する手順を含む
    プログラム。
JP2015091875A 2015-04-28 2015-04-28 処理装置およびプログラム Active JP6543819B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015091875A JP6543819B2 (ja) 2015-04-28 2015-04-28 処理装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015091875A JP6543819B2 (ja) 2015-04-28 2015-04-28 処理装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2016208461A JP2016208461A (ja) 2016-12-08
JP6543819B2 true JP6543819B2 (ja) 2019-07-17

Family

ID=57490785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015091875A Active JP6543819B2 (ja) 2015-04-28 2015-04-28 処理装置およびプログラム

Country Status (1)

Country Link
JP (1) JP6543819B2 (ja)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1067806A1 (en) * 1999-07-09 2001-01-10 CANAL+ Société Anonyme Apparatus for and method of testing applications
JP4201074B2 (ja) * 2001-02-23 2008-12-24 パナソニック株式会社 デジタルデータ送受信システムおよびその方法
JP2004048515A (ja) * 2002-07-12 2004-02-12 Sony Communication Network Corp データ送信方法および装置、データ受信方法および装置
JP4976971B2 (ja) * 2007-09-28 2012-07-18 コニカミノルタビジネステクノロジーズ株式会社 画像形成システム、画像形成装置及びプログラム
JP2011078068A (ja) * 2009-10-02 2011-04-14 Hitachi Kokusai Electric Inc 映像伝送方式
WO2012058607A2 (en) * 2010-10-28 2012-05-03 Parametric Technology Corporation Methods and systems for computer-aided design
JP2013009322A (ja) * 2011-05-20 2013-01-10 Nippon Hoso Kyokai <Nhk> 受信機及び放送送出装置
WO2014084073A1 (ja) * 2012-11-29 2014-06-05 ソニー株式会社 受信装置、受信方法、送信装置、送信方法、及び、プログラム
BR112015029849A2 (pt) * 2013-06-06 2017-07-25 Sony Corp dispositivos de recepção e de transmissão, métodos para recepção de um dispositivo de recepção e para transmissão de um dispositivo de transmissão, e, programa
US20150032845A1 (en) * 2013-07-26 2015-01-29 Samsung Electronics Co., Ltd. Packet transmission protocol supporting downloading and streaming

Also Published As

Publication number Publication date
JP2016208461A (ja) 2016-12-08

Similar Documents

Publication Publication Date Title
US20220053032A1 (en) Receiving device, reception method, transmitting device, and transmission method
JP6729379B2 (ja) 送信装置及び送信方法、並びに受信装置及び受信方法
US9979781B2 (en) Receiving device, receiving method, transmission device, transmission method, and program
WO2013154023A1 (ja) 受信装置、受信方法、送信装置、送信方法、及びプログラム
JP2004318188A (ja) 構造化データの受信プログラム
JPWO2014196398A1 (ja) 受信装置、受信方法、送信装置、送信方法、及び、プログラム
JP6543819B2 (ja) 処理装置およびプログラム
JP6303969B2 (ja) 受信装置並びに受信方法
JP3932136B2 (ja) 構造化データの送信装置及び構造化データの送信方法
JP3932122B2 (ja) 構造化データの受信プログラム、構造化データの受信装置、及び構造化データの受信方法
JP3932129B2 (ja) 構造化データの送信装置及び構造化データの送信方法
JP3932120B2 (ja) 構造化データの受信プログラム、構造化データの受信装置、及び構造化データの受信方法
JP3932135B2 (ja) 構造化データの送信装置及び構造化データの送信方法
JP3932128B2 (ja) 構造化データの送信装置及び構造化データの送信方法
JP2004318772A (ja) 構造化データの受信装置
JP2004318773A (ja) 構造化データの受信装置
JP2004318774A (ja) 構造化データの受信装置
JP2004318795A (ja) 構造化データの受信方法
JP2004318779A (ja) 構造化データの受信装置
JP2004318796A (ja) 構造化データの受信方法
JP2004318797A (ja) 構造化データの受信方法
JP2004318775A (ja) 構造化データの受信装置
JP2004318778A (ja) 構造化データの受信装置
JP2004318195A (ja) 構造化データの受信プログラム
JP2004320685A (ja) 構造化データの受信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180905

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180918

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20181026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181113

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190405

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20190416

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: 20190521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190523

R150 Certificate of patent or registration of utility model

Ref document number: 6543819

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250