(57)【要約】【課題】  放送局設備の開発の効率を高め得るプレビューシステムを提供すること。【解決手段】  実施形態によればプレビューシステムは、実行環境構築部、仮想マシン生成部、シナリオ作成部、シナリオ短縮部、シミュレート部、マーキング部を具備する。実行環境構築部は、仮想化された共通の実行環境を構築する。仮想マシン生成部は、アプリケーションを搭載された放送関連機器をそれぞれ仮想化して複数の仮想マシンを生成する。シナリオ作成部は、放送プログラムを反映する制御シナリオを作成する。シナリオ短縮部は、制御シナリオに含まれる制御ポイントの時間間隔を適応的に短縮する。シミュレート部は、実行環境における複数の仮想マシンの協調動作を模倣するシミュレーションを短縮されたシナリオに従って実行する。マーキング部は、短縮シナリオに含まれる制御ポイントに関連付けられるマーキング情報を生成する。【選択図】  図５
2018082290.tif 000002
【特許請求の範囲】
【請求項１】
それぞれアプリケーションにより制御される複数の放送関連機器を対象とするプレビューシステムであって、
仮想化された共通の実行環境を構築する実行環境構築部と、
前記アプリケーションを搭載された前記放送関連機器をそれぞれ仮想化して複数の仮想マシンを生成する仮想マシン生成部と、
放送プログラムに従って前記仮想マシンを状態遷移させるための制御ポイントを計算し、当該放送プログラムを反映する制御シナリオを作成するシナリオ作成部と、
前記制御シナリオに含まれる制御ポイントの時間間隔を適応的に短縮して短縮シナリオを作成するシナリオ短縮部と、
前記実行環境における前記複数の仮想マシンの協調動作を模倣するシミュレーションを前記短縮シナリオに従って実行するシミュレート部と、
前記短縮シナリオに含まれる前記制御ポイントに関連付けられるマーキング情報を生成するマーキング部とを具備する、プレビューシステム。
【請求項２】
前記シナリオ短縮部は、ユーザの介入を要するアンタイムイベントの待機期間を確保したうえで前記制御ポイントの時間間隔を可変制御する、請求項１に記載のプレビューシステム。
【請求項３】
前記シナリオ短縮部は、時刻制御可能な制御ポイントと、前記アンタイムイベントに対応する、時刻制御不可能な制御ポイントとをそれぞれ抽出し、
前記時刻制御可能な制御ポイントの時間間隔を短縮して前記短縮シナリオを作成する、請求項２に記載のプレビューシステム。
【請求項４】
さらに、マーキング情報の指定を受け付ける操作部を具備し、
前記シミュレート部は、前記指定されたマーキング情報に対応する制御ポイントから前記シミュレーションを再実行する、請求項１に記載のプレビューシステム。
【請求項５】
それぞれアプリケーションにより制御される複数の放送関連機器を対象とするプレビューを、クライアントおよびサーバにより実行するプレビュー方法であって、
前記サーバが、仮想化された共通の実行環境を構築することと、
前記サーバが、前記アプリケーションを搭載された前記放送関連機器をそれぞれ仮想化して複数の仮想マシンを生成することと、
前記サーバが、放送プログラムに従って前記仮想マシンを状態遷移させるための制御ポイントを計算し、当該放送プログラムを反映する制御シナリオを作成することと、
前記サーバが、前記制御シナリオに含まれる制御ポイントの時間間隔を適応的に短縮して短縮シナリオを作成することと、
前記サーバが、前記実行環境における前記複数の仮想マシンの協調動作を模倣するシミュレーションを前記短縮シナリオに従って実行することと、
前記サーバが、前記短縮シナリオに含まれる前記制御ポイントに関連付けられるマーキング情報を生成することとを具備する、プレビュー方法。
【請求項６】
前記短縮シナリオを作成することは、ユーザの介入を要するアンタイムイベントの待機期間を確保したうえで前記制御ポイントの時間間隔を可変制御する、請求項５に記載のプレビュー方法。
【請求項７】
前記短縮シナリオを作成することは、
時刻制御可能な制御ポイントと、前記アンタイムイベントに対応する、時刻制御不可能な制御ポイントとをそれぞれ抽出することと、
前記時刻制御可能な制御ポイントの時間間隔を短縮して前記短縮シナリオを作成することとを含む、請求項６に記載のプレビュー方法。
【請求項８】
さらに、前記クライアントが、マーキング情報の指定を受け付けることと、
前記サーバが、前記指定されたマーキング情報に対応する制御ポイントから前記シミュレーションを再実行することとを含む、請求項５に記載のプレビュー方法。
【請求項９】
請求項５乃至８のいずれか１項に記載の方法を、クライアントおよびサーバを含むコンピュータ群に実行させるための命令を含む、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、コンピュータを利用して組み込み機器の開発を支援する技術に関する。
【背景技術】
【０００２】
放送システムなどの社会インフラは、実稼働前に多様な検証作業や試験をパスすることを求められる。例えば、開発対象のアプリケーション（ソフトウェア）が組み込み機器（embedded device）において正常に機能するかを検証することは、重要である。しかしソースコードのバグ取り（Bug Fix）や、あらゆる状況を想定して機器の挙動を検証することはシステムが巨大化するにつれ困難になる。近年の在京放送局には大規模なデジタル放送マスタ送出システムがインストールされるようになってきており、その検証作業にかかる時間も長期化してきている。
【０００３】
放送システムの検証作業においては機器単体だけでなく、複数の機器の連係を確認する必要がある。また、機器の制御の正否だけでなく、放送出力された画像や音声、文字情報、番組プログラム情報（ＥＰＧ：Electric Program Guide）の確認や、これらの出力タイミングなども確認する必要がある。さらに、複数の前提条件や制御操作において検査すべき項目など、確認すべき項目の数は非常に多い。検証作業の効率を高めるため、コンピュータリソースを用いた仮想化技術により試験環境を構築することも検討されており、社会インフラの検証にかかる時間を少しでも短くしたいというニーズは強い。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】長石  敦、向山  豊彦、金田  昌之著、「地上デジタル放送マスタ送出システム」、東芝レビュー  Ｖｏｌ．５９  Ｎｏ．２（２００４）、ｐ７〜１７
【発明の概要】
【発明が解決しようとする課題】
【０００５】
検証時間そのものを短縮することと同じくらい重要なのが、検証結果の見落としを防止することである。検証結果の見落としが判明すると最初から検証作業をやり直さなくてはならないので、所要時間が倍増するばかりか、手間も大幅に増える。何らかの対処が望まれている。
【０００６】
目的は、放送局設備の開発の効率を高めることの可能なプレビューシステム、プレビュー方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
実施形態によれば、プレビューシステムは、それぞれアプリケーションにより制御される複数の放送関連機器を備える社会インフラを対象とする。このプレビューシステムは、実行環境構築部、仮想マシン生成部、シナリオ作成部、シナリオ短縮部、シミュレート部、マーキング部を具備する。実行環境構築部は、仮想化された共通の実行環境を構築する。仮想マシン生成部は、アプリケーションを搭載された放送関連機器をそれぞれ仮想化して複数の仮想マシンを生成する。シナリオ作成部は、放送プログラムに従って仮想マシンを状態遷移させるための制御ポイントを計算し、当該放送プログラムを反映する制御シナリオを作成する。シナリオ短縮部は、制御シナリオに含まれる制御ポイントの時間間隔を適応的に短縮して短縮シナリオを作成する。シミュレート部は、実行環境における複数の仮想マシンの協調動作を模倣するシミュレーションを短縮シナリオに従って実行する。マーキング部は、短縮シナリオに含まれる制御ポイントに関連付けられるマーキング情報を生成する。
【図面の簡単な説明】
【０００８】
【図１】図１は、地上波デジタル放送システムの一例を示す概念図である。
【図２】図２は、実施形態に係る放送局設備の一例を示す機能ブロック図である。
【図３】図３は、図２に示される放送局設備におけるイベントの発生に伴う制御シーケンスの一例を示す図である。
【図４】図４は、実施形態に係るプレビューシステムのハードウェア環境の一例を示す図である。
【図５】図５は、図４に示されるプレビューシステムの一例を示す機能ブロック図である。
【図６】図６は、検証用の放送プログラムの一例を示す図である。
【図７】図７は、図５に示されるサーバ５００に備わる機能ブロック間の関係を示す模式図である。
【図８】図８は、制御シナリオの一例を示す図である。
【図９】図９は、短縮シナリオの一例を示す図である。
【図１０】図１０は、マーカテーブル５２ｇの一例を示す図である。
【図１１】図１１は、仮想実行環境における仮想マシンの一例を示す図である。
【図１２】図１２は、実施形態におけるサーバ５００の処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の実施の形態について説明する。例えば、映像音声機器の出力の合成処理を制御するシステムが広く知られている。このシステムが制御の対象とする放送関連機器はＶＴＲ、映像合成装置、映像出力信号切り替え装置（スイッチャ）、映像音声データ圧縮装置など多岐にわたる。これらの機器一式を局内に据え付けて運用を開始するまでには膨大な項目に及ぶ検証作業を実施する必要がある。
【００１０】
それぞれの機器は、専用に開発されたアプリケーションにより制御される、いわゆる組み込み機器である。この実施形態では、複数の放送関連機器を備える社会インフラとしての放送局設備を対象とする。より詳しくは、組み込み機器に搭載されるアプリケーションを検証する新規な手法について、以下に開示する。
【００１１】
図１は、地上デジタル放送システムの一例を示す概念図である。放送局１００のマスタ送出システムで作成されたトランスポートストリーム（ＴＳ）は、専用線網などの通信ネットワーク２００を経由して例えば電波塔３００まで伝送される。電波塔３００はＴＳ信号をデジタル変調してマイクロ波帯で放射する。放射された電波は各家庭４００の受像機で受信され、映像と音声が再生される。模式的に示すように、放送局１００に備えられる設備機器は大規模かつ多種多様である。
【００１２】
図２は、実施形態に係る放送局設備の一例を示す機能ブロック図である。放送局設備は、情報系１０、信号処理系２０、伝送系３０、監視系システム４０および時計ノード８０を備える。これらはＬＡＮ（Local Area Network）などの局内ネットワーク５０を介して相互接続される。このうち時計ノード８０は、各放送関連機器に対しマスタ時刻を供給する。
【００１３】
局内ネットワーク５０は、例えば、画像／音声データ、放送関連機器間で授受される制御情報や各種電文などを伝送する。
【００１４】
情報系１０は、放送情報スケジューラ１１、およびデータベース１２を備える。  
信号処理系２０は、制御系６０、スイッチャ（ＳＷ）２１、エンコーダ（ＥＮＣ）２３、ＳＩ送出部２４、ＶＢＲ２５、多重化部（ＭＵＸ）２６、およびスクランブラ（ＳＣＲ）２７を備える。なお、信号処理系２０は例えば２系統（１系および０系など）を用意されることで、冗長構成をとることも可能である。
【００１５】
スイッチャ２１は、収録済み放送素材サーバ７０からの番組コンテンツやＣＭコンテンツ、文字情報、ＬＩＶＥ素材である回線素材、スタジオからの映像／音声信号、あるいは各種機材からの映像信号／音声信号／データ信号を取り込み、番組表に従って経路切換して次段のエンコーダ２３に接続する。
【００１６】
エンコーダ２３は所定の手順に従って映像信号／音声信号／データ信号を符号化し、次段の多重化部２６に入力する。多重化部２６は、エンコーダ２３からの符号化信号、ＳＩ送出部２４からのＳＩ（Service Information）信号、ＥＣＭ信号、およびＶＢＲ２５からの信号を多重化し、スクランブラ２７経由で、伝送系３０のストリーム切り替え部３１，３２に送出する。
【００１７】
信号処理系２０の制御系６０は、機器制御スケジューラ６１、リアルタイムコントローラ６２、およびノード（ＮＯＤＥ）６３を備える。機器制御スケジューラ６１は、放送スケジュールの制御に係わる処理を実行する。
【００１８】
リアルタイムコントローラ６２は、実時間制御に係わる処理を実行する。すなわちリアルタイムコントローラ６２は、放送プログラムに基づいて作成された制御スケジュールに基づいて、各放送関連機器を制御する。
【００１９】
ノード６３は、例えば、局内ネットワーク５０への接続インタフェースを持たない機材（アナログＶＴＲなど）に接続され、局内ネットワーク５０へのインタフェースを提供する。これにより旧式の機材なども放送局設備の制御下に置くことができる。必要に応じてノード６３は複数設けられても良い。
【００２０】
監視系システム４０は、放送スケジュール表示、システム系統状態表示、素材・送出映像表示、機器操作などの複数の監視制御用機器とその操作機能を備える。放送スケジュール表示は、例えばＯＡ（オンエア）表示端末に関連する処理を行う機能ブロックである。システム系統状態表示は、例えば監視指示端末およびアラーム端末に関連する処理を行う機能ブロックである。素材・送出映像表示は、例えばマルチモニタに関連する処理を行う機能ブロックである。機器操作は、例えば監視卓および監視指示端末に関連する処理を行う機能ブロックである。  
時計ノード８０は、上記の各放送関連機器に対しマスタ時刻を供給する。
【００２１】
図３は、図２に示される放送局設備におけるイベントの発生に伴う制御シーケンスの一例を示す図である。図３において、ＶＴＲ１から１０：００にオンエア（ＯＡ）データを出力するメッセージが、放送プログラム送出部９１から機器制御スケジューラ６１に与えられたとする。そうすると機器制御スケジューラ６１はリアルタイムコントローラ６２にＣＤＴメッセージを与える。
【００２２】
これを受けたリアルタイムコントローラ６２は専用電文により、ＶＴＲ−ｓｔａｒｔメッセージ（ＳＴＡＲＴ（ＰＬＡＹ））をＶＴＲ−ＮＯＤＥ９２に通知する。ここではＶＴＲ９３の機構的なタイムラグや制御遅延などを考慮して、ターゲット時刻より前（例えば０９:５９:５７）にＶＴＲ９３をスタートすべき指示を送信する。これを受けたＶＴＲ−ＮＯＤＥ９２は、ＶＴＲ９３にＰＬＡＹ指示を与えて映像再生が開始される。
【００２３】
一方、１０:００:００に、クロスポイント（Ｘｐ）切替指示がリアルタイムコントローラ６２からスイッチャ制御ＮＯＤＥ９４に与えられる。これにより、例えば電文メッセージがログに表示される（自動運行サービス制御）。
【００２４】
スイッチャ制御ＮＯＤＥ９４は、配下のスイッチャ２１にクロスポイント切替指示を与え、これに応じてスイッチャ２１はクロスポイントを切り替える（自動運行制御）。またスイッチャ２１は、自らのクロスポイントの設定状態（Ｘｐ状態）を、タリー信号として監視系システム４０のシステム系統状態表示部９５に通知する（Ｘｐ状態表示切替）。
【００２５】
次に、上記したような放送局設備をコンピュータリソースを用いて仮想化し、仮想環境上でアプリケーションソフトウェアを検証する新規な形態について説明する。以下ではこの種のシステムをプレビューシステム、仮想試験プラットフォーム（ＶＴＰ：Virtual Test Platform）、あるいは仮想試験システムと称して説明する。
【００２６】
図４は、実施形態に係るプレビューシステムのハードウェア環境の一例を示す図である。図４に示されるプレビューシステムは、サーバ５００およびクライアント端末７００を備える。サーバ５００およびクライアント端末７００は、ネットワーク６００を介して互いに通信可能に接続される。クライアント端末７００のモニタ７５に表示される各種の情報に基づいて、ユーザはアプリケーションの検証作業、試験の過程や結果などの情報を知ることができる。
【００２７】
ネットワーク６００は有線ＬＡＮまたは無線ＬＡＮ（Ｗｉ−Ｆｉ（登録商標）など）、あるいは公衆網を経由するＶＰＮ（Virtual Private Network）などの通信ネットワークであっても良い。要するにサーバ５００およびクライアント端末７００は同じ建物内に在っても、離れた位置に在っても良い。なおクライアント端末７００は、ノートパソコンやタブレット端末として、あるいはシンクライアント端末として実現されても良い。
【００２８】
図５は、図４に示されるプレビューシステムの一例を示す機能ブロック図である。図５において、サーバ５００およびクライアント端末７００は、いずれも（ＣＰＵCentral Processing Unit）および記憶部（半導体メモリやハードディスクなど）を備えるコンピュータである。各コンピュータに搭載されるＯＳ（Operating System）は、例えばＷｉｎｄｏｗｓ（登録商標）、Ｌｉｎｕｘ（登録商標）などの著名なＯＳはもとより、専用に開発されたＯＳであっても良い。特に、クライアント端末７００がタブレット端末であればＡｎｄｒｏｉｄ（登録商標）やｉＯＳ（登録商標）などのＯＳを搭載していてもよい。
【００２９】
サーバ５００は、制御部５１、記憶部５２、およびインタフェース部５３を備える。このうちインタフェース部５３はネットワーク６００を介してクライアント端末７００と通信する。  
記憶部５２は、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）などの半導体メモリ、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）などの記憶デバイスを利用してもよい。
【００３０】
制御部５１は、実行環境構築部５１ａ、仮想マシン生成部５１ｂ、シナリオ作成部５１ｃ、シナリオ短縮部５１ｄ、シミュレーション部５１ｅ、およびマーキング部５１ｆを備える。  
実行環境構築部５１ａは、サーバ制御プログラム５２ａに記述された命令を解釈し、実行する。実行環境構築部５１ａは、仮想化された共通の実行環境をサーバ５００に構築する。
【００３１】
仮想マシン生成部５１ｂは、サーバ制御プログラム５２ａに記述された命令を解釈し、実行する。仮想マシン生成部５１ｂは、図２に示される放送局設備に含まれる機器をそれぞれ仮想化し、仮想マシンを生成する。それぞれの仮想マシンは、アプリケーションを搭載された機器を模倣するもので、仮想実行環境において機能するオブジェクトである。
【００３２】
なお、放送局設備における各機器のプラットフォームは普通、統一されていない。つまりｘ８６アーキテクチャ、ｘ６４アーキテクチャをベースとする機器もあれば、ＰＰＣ（ＰｏｗｅｒＰＣ（登録商標））アーキテクチャで構成される機器、あるいはまったく別のアーキテクチャに基づく機器もある。アーキテクチャの差異は、ＣＰＵの違いによるエンディアン（バイトオーダー）の違い、アプリケーション及びＯＳの違い、デバイスにおけるデータ型（長さとアライメント）の違い、システムコールの違いなどあらゆる層（レイヤ）に及ぶ。このような機器間の差異は、多種多様な機器を備える放送局設備において特に著しい。
【００３３】
アプリケーションは組み込み先の機器のプラットフォーム向けに開発されるので、仮想実行空間上で複数機器の仮想マシンを動作させるにはプラットフォームの差異を解決する必要がある。そこで実施形態では、異なるプラットフォームの機器が混在するケースにおいて、仮想マシン生成部５１ｂは、プラットフォームの差異に基づくアプリケーションに固有の仕様を仮想実行環境に対して隠蔽して、仮想マシンを生成する。
【００３４】
シナリオ作成部５１ｃは、サーバ制御プログラム５２ａに記述された命令を解釈し、実行する。シナリオ作成部５１ｃは、クライアント端末７００から取得した放送プログラムデータ７２ｂに沿って上記仮想マシンを状態遷移させるための制御ポイントを計算し、放送プログラムデータ７２ｂを反映する制御シナリオを作成する。
【００３５】
放送プログラムデータ７２ｂは、いわゆる番組プログラム情報（ＥＰＧ）に相当するデータであり、時刻ごとの放送コンテンツを時系列で示すデータである。例えば検証用の放送プログラムの一例を図６に示す。
【００３６】
シナリオ短縮部５１ｄは、サーバ制御プログラム５２ａに記述された命令を解釈し、実行する。シナリオ短縮部５１ｄは、シナリオ作成部５１ｃにより作成された制御シナリオに含まれる制御ポイントの時間間隔を適応的に短縮して、短縮シナリオを作成する。すなわちシナリオ短縮部５１ｄは、制御ポイントの時間間隔を合理的かつ可能な限り、あるいは臨機応変に短縮して短縮シナリオを作成する。つまり、時間間隔を短縮することの許される制御ポイントもあれば、後述するアンタイムイベントのように、時間間隔を短縮すべきでない制御ポイントもある。シナリオ短縮部５１ｄは、制御ポイントごとにこのような見極めを行い、いわば盲目的にではなく、制御ポイントの時間間隔をインテリジェントに短縮する。
【００３７】
シミュレーション部５１ｅは、サーバ制御プログラム５２ａに記述された命令を解釈し、実行する。シミュレーション部５１ｅは、実行環境構築部５１ａにより構築された仮想実行環境において、上記仮想マシンの協調動作を模倣するシミュレーションを実行する。特にシミュレーション部５１ｅは、制御シナリオデータ５２ｂ、またはその短縮版である短縮シナリオデータ５２ｆに従って上記シミュレーションを実行する。
【００３８】
記憶部５２は、サーバ５００を制御してその機能を実現するサーバ制御プログラム５２ａに加えて、制御シナリオデータ５２ｂ、制御情報データ５２ｃ、制御ポイントデータ５２ｄ，５２ｅ、短縮シナリオデータ５２ｆ、およびマーカテーブル５２ｇを記憶する。
【００３９】
クライアント端末７００は、制御部７１、記憶部７２、インタフェース部７３、操作部７４、およびモニタ７５を備える。このうちインタフェース部７３はネットワーク６００を介してサーバ５００と通信する。操作部７４およびモニタ７５はマウス、キーボードあるいはタッチパネルなどの操作手段であり、ＧＵＩ（Graphical User Interface）などのユーザインタフェースを提供する。
【００４０】
制御部７１は、操作制御部７１ａを備える。操作制御部７１ａは、記憶部７２の端末制御プログラム７２ａに記述された命令を解釈し、実行する。操作制御部７１ａは、操作部７４を用いたユーザの操作を受け付け、操作内容に応じたコマンドをネットワーク６００経由でサーバ５００に通知する。特に、操作制御部７１ａは、シミュレーションのやり直しに係わるマーキング情報の選択指定を受け付け、サーバ５００に通知する。
【００４１】
また、制御部７１は、仮想マシンに搭載されたアプリケーションを、シミュレーション部５１ｅにより実行されたシミュレーションに基づいて評価する機能を備えても良い。例えば評価者が人間であれば、シミュレーションの進行する様子や結果をモニタ７５に表示することで、評価者はアプリケーションの挙動や不具合を評価することができる。あるいは、シミュレーションの結果に基づいてアプリケーションを自動的に評価するツール（評価モジュール）を用意し、そのツールにシミュレーションの結果を渡す（リダイレクト）ようにしても良い。
【００４２】
記憶部７２は、半導体メモリ、ＨＤＤ、ＳＳＤ、光ディスク、光磁気ディスクなどの記憶デバイスである。記憶部７２は、クライアント端末７００を制御してその機能を実現する端末制御プログラム７２ａに加えて、放送プログラムデータ７２ｂを記憶する。
【００４３】
図７は、図５に示されるサーバ５００に備わる機能ブロック間の関係を示す模式図である。  
シナリオ作成部５１ｃは、実施形態に係わる機能ブロックとして放送プログラム取得部ｃ１、制御情報作成部ｃ２、および制御シナリオ作成部ｃ３を備える。  
放送プログラム取得部ｃ１は、放送プログラムデータ７２ｂをクライアント端末７００から取得し、制御情報作成部ｃ２に渡す。  
制御情報作成部ｃ２は、放送プログラムデータ７２ｂに従って各放送関連機器を適切に状態遷移させるための制御情報と、その送出時刻とを計算する。作成された制御情報は送出時刻とともに制御シナリオ作成部ｃ３、およびシナリオ短縮部５１ｄに渡される。  
制御シナリオ作成部ｃ３は、制御情報作成部ｃ２から渡された各制御情報とその送出時刻に基づいて、放送プログラムデータ７２ｂを反映する制御シナリオを作成する。制御シナリオは制御シナリオデータ５２ｂ、制御情報データ５２ｃとして記憶される。
【００４４】
図８は、制御シナリオの一例を示す図である。制御シナリオは、放送プログラムに基づいて計算された制御情報とその送出時刻とを、時系列でリストアップしたデータといえる。この制御シナリオは例えばＸＭＬ（eXtended Markup Language）形式などで、制御シナリオデータ５２ｂとして記憶される。
【００４５】
シナリオ短縮部５１ｄは、実施形態に係わる機能ブロックとして時刻制御可能ポイント抽出部ｄ１、手動制御待ちポイント抽出部ｄ２、および制御シナリオ短縮部ｄ３を備える。
【００４６】
時刻制御可能ポイント抽出部ｄ１は、制御情報作成部ｃ２から渡された制御情報から、制御シナリオにおいて制御情報の送出時刻が規定間隔を超えるポイントを抽出する。抽出されたポイントは、制御ポイントデータ５２ｄとして記憶される。
【００４７】
手動制御待ちポイント抽出部ｄ２は、制御情報作成部ｃ２から渡された制御情報から、制御シナリオにおいて、ユーザの介入を要するアンタイムイベントに対応する、時刻制御不可能な制御ポイントを抽出する。制御情報の送出時刻が規定間隔を超えるポイントを抽出する。抽出されたポイントは、制御ポイントデータ５２ｅとして記憶される。
【００４８】
制御シナリオ短縮部ｄ３は、制御情報データ５２ｃ、制御ポイントデータ５２ｄ，５２ｅを参照し、制御シナリオ作成部ｃ３により作成された制御シナリオに含まれる制御ポイントの時間間隔を適応的に短縮して短縮シナリオを作成する。すなわち、手動制御に係わる制御ポイントデータ５２ｅを除く、時間的位置を変更することの可能な制御ポイントデータ５２ｄの間の期間を短縮することで、アンタイムイベントの待機期間を確保した短縮シナリオを作成することができる。
【００４９】
図９は、短縮シナリオの一例を示す図である。図８の（＊）マークで示されるイベントは、次のイベントまで３分、あるいは１０分程度の空き時間がある。そこでシナリオ短縮部５１ｄは、この空き時間をできるだけ短くすべく制御シナリオを改変し、図９に示されるような制御シナリオのいわば短縮版を作成する。
【００５０】
つまりシナリオ短縮部５１ｄは、制御シナリオにおける制御情報の送出時刻が規定間隔を超えるポイントを抽出し、この抽出されたポイントに係わる制御情報の送出時刻を前倒しすることで、短縮シナリオを作成する。図９に示される短縮シナリオにおいては、（○）マークで示されるように、イベント間の時間間隔は１分程度に短縮されている。その際、アンタイムイベント時間帯にかかる部分においては制御シナリオの制御情報送出時刻を前倒ししないようにする。
【００５１】
このように、放送プログラムに基づいて作成された制御シナリオにおける無駄時間を抽出し、その結果に基づいて制御シナリオを短縮することで、シミュレーション無駄時間の積み重なりを防止することができる。これによりシミュレーションに要する時間を効果的に短縮することが可能になる。生成された短縮シナリオは短縮シナリオデータ５２ｆとして記憶される。
【００５２】
ところで、サーバ５００の制御部５１（図５）におけるマーキング部５１ｆは、短縮シナリオに含まれる制御ポイントに関連付けられるマーキング情報を、例えばシミュレーションの進行に伴って生成する。生成されたマーキング情報は制御情報に関連付けられ、マーカテーブル５２ｇとして記憶される。
【００５３】
図１０は、マーカテーブル５２ｇの一例を示す図である。マーカテーブル５２ｇは、短縮シナリオにおける特定のイベント（例えばＣＭスタート、番組スタート等）に、一意に区別可能なマーキング情報を対応付けて作成される。マーキング情報を指定すれば、対応するイベントにジャンプすることが可能である。
【００５４】
クライアント端末７００の操作部７４は、例えばＧＵＩ（Graphical User Interface）メニューなどを用いたユーザによるマーキング情報の指定を受け付ける。この操作が例えばシミュレーションの終了後になされた場合、シミュレーション部５１ｅは、指定されたマーキング情報に対応する制御ポイントからシミュレーションを再度、実行する。これにより、例えば以下に示すような機能を実現することが可能になる。
【００５５】
（１）  現在の制御ポイントから一つ前の制御ポイントに戻る機能。  
（２）  次の制御ポイントに進む機能（ステップ実行）。  
（３）  指定した場所（イベント）にジャンプする機能。すなわち中間をカットする機能。  
（４）  指定した期間を実時間で実行する機能。  
（５）  指定した場所（イベント）に戻る機能。
【００５６】
図１１は、仮想実行環境における仮想マシンの一例を示す図である。サーバ５００は、仮想マシンとしての機器制御スケジューラＶ１、リアルタイムコントローラＶ２、操作卓制御装置Ｖ３、マスタースイッチャＶ４、ＮＴＰサーバＶ５、およびプレビューサーバＶ６を備える。プレビューサーバＶ６は、ログ収集サーバＶ７、仮想制御装置Ｖ８、および放送時刻コントローラＶ９を備える。これらはいずれもサーバ５００のリソースを利用する仮想的なオブジェクトである。
【００５７】
クライアント端末７００は、仮想マシンとしての手動送出制御部Ｖ１０、機器監視部Ｖ１１、送出サービススケジューラＶ１２、電文ロガーＶ１３、およびプレビュー操作部Ｖ１４を備える。プレビュー操作部Ｖ１４は、ログ表示／検索部Ｖ１５、ＶＭ（VirtualMachine：仮想マシン）操作部Ｖ１６、およびエミュレータ操作部Ｖ１７を備える。これらはいずれもクライアント端末７００のリソースを利用する仮想的なオブジェクトである。
【００５８】
サーバ５００およびクライアント端末７００は、２種類の通信インタフェースを介して接続される。すなわちイーサネット（登録商標）をベースとする汎用ＬＡＮ６０１と、制御専用ネットワーク６０２である。
【００５９】
汎用ＬＡＮ６０１の用途は主に画像データや音声データの伝送であり、ＴＣＰ／ＩＰなどの汎用プロトコルを用いることができる。制御専用ネットワーク６０２はリアルタイム性を確保可能なネットワークで、主に機器間で電文を授受するために用いられる。この種のネットワークのトポロジはトークンリング型が代表的であり、例えばＳＥＣＮＥＴ３として知られるネットワークを挙げることができる。
【００６０】
図１１と図２との比較において、機器制御スケジューラＶ１は、機器制御スケジューラ６１に対応する。リアルタイムコントローラＶ２は、リアルタイムコントローラ６２に対応する。操作卓制御装置Ｖ３は、監視系システム４０に対応する。マスタースイッチャＶ４は、スイッチャ２１に対応する。放送時刻コントローラＶ９は、時計ノード８０に対応する。このほかＮＴＰサーバＶ５、プレビューサーバＶ６、ログ収集サーバＶ７、および仮想制御装置Ｖ８も、放送局設備に備わるいずれかの機器に対応付けることが可能である。
【００６１】
また、機器監視部Ｖ１１は、監視系システム４０内に設けられる監視卓（図示せず）や監視指示端末に対応する。このほか手動送出制御部Ｖ１０、送出サービススケジューラＶ１２、電文ロガーＶ１３、プレビュー操作部Ｖ１４、ログ表示／検索部Ｖ１５、ＶＭ操作部Ｖ１６、エミュレータ操作部Ｖ１７も、放送局設備に備わるいずれかの機器に対応付けることが可能である。
【００６２】
図１２は、実施形態におけるサーバ５００の処理手順の一例を示すフローチャートである。この処理手順は、例えば放送システムの実稼働前の検証に実施される。検証作業に際しては実運用を想定した検証用放送プログラムが用意され、そのプログラムに従ってシステムの動作を確認（プレビュー）することとなる。
【００６３】
図１２において、先ず、検証時間範囲が設定される（ステップＳ１）。そうすると、次の制御情報および制御ポイント情報がデータベース１２から読み込まれ（ステップＳ２、Ｓ３）、さらに、検証に係わる放送時刻が設定される（ステップＳ４）。
【００６４】
次に、検証終了時間が到来したか否かが判定され（ステップＳ５）、ここでＹｅｓと判定されるまでステップＳ６〜Ｓ９のループが繰り返される。ループに入ると先ず、不確定イベント（アンタイムイベント）の時間帯であるかどうかが判定される（ステップＳ６）。
【００６５】
アンタイムイベントの時間帯でない（Ｎｏ）状態で操作部７４から制御移動指示が入力されると（ステップＳ７）、サーバ５００は、指示されたマーキング情報に対応する時点の次の制御時刻、つまりその時点から見て次の制御情報の送出時刻を制御ポイントデータ５２ｅから検出して設定し（ステップＳ８）、その時刻までマスタ時刻（放送時刻）を進める。つまりサーバ５００は、変数としての放送時刻に、次の制御時刻を代入する（ステップＳ８）
一方、ステップＳ６でアンタイムイベントの時間帯であれば（Ｙｅｓ）、サーバ５００６０は放送時刻を進める処理をスキップしてステップＳ５の判定処理にもどる。これによりマスタ時刻は進むことなく実時間と同期した状態を保つ。
【００６６】
単純に次の制御時刻を目指してマスタ時刻を進ませると、進んだ先の制御情報単独では機器が正しく動作しないことがある。そこで、サーバ５００は、その制御を含む事前準備に関連する情報を事前に明確にし、ジャンプ可能な制御時刻を時刻制御可能ポイントとして検出する。この時刻制御可能ポイントは制御シナリオに埋め込まれても良い。あるいは関連する情報を予め別途テーブル化し、ジャンプ可能な位置情報を算出できるようにしてもよい。
【００６７】
以上述べたように実施形態では、シミュレーションによりシステム検証を行うに際し、制御シナリオにおいて制御情報の送出の間隔が規定値を超えるポイントを抽出し、マスタ時刻を進めることでその期間を短縮して、検証時間（試験時間）全体での無駄時間を削減するようにした。これによりシミュレーションにかかる時間を短縮することができる。
【００６８】
また実施形態では、マーキング情報をシミュレーションイベントに関連づけて生成、記録するようにしたので、シナリオにおいて検証（試験）すべき箇所を自由に行き来することが可能になる。これにより、シミュレーション過程においてシーンの変化を目視し損なった場合でも、そのシーンにまで戻ってシミュレーションを再度実行することができる。よって結果を見逃してしまった場合でも、検証を最初から実施しなくてもよくなり、時間のロスを格段に抑制することができる。
【００６９】
これらのことから、放送局設備の開発の効率を高められ、操作性を一段と向上させたプレビューシステム、プレビュー方法およびプログラムを提供することが可能になる。
【００７０】
なお本発明は上記実施の形態に限定されるものではない。例えば、実施形態で説明したシステムおよび方法は、コンピュータを用いた仮想環境下において構築される放送システムに適用することができるのに加え、実体を伴う放送システムに適用することももちろん可能である。例えば図１０のサーバ５００上のプレビューサーバＶ６やＮＴＰサーバＶ５は、実体を伴うコンピュータであっても良い。
【００７１】
また、サーバ５００の一部、または全ての機能をクラウドコンピューティングシステム（いわゆるクラウド）にインプリメントすることも可能である。例えば、アプリケーション（ソフトウェア）をサービスとして提供するＳａａＳ（Software as a Service）、アプリケーションを稼働させるための基盤（プラットフォーム）をサービスとして提供するＰａａＳ（Platform as a Service）、あるいは、サーバ装置、中央演算処理装置およびストレージなどのリソースをサービス（パブリッククラウド）として提供するＩａａＳ（Infrastructure as a Service）が、クラウドの形態として知られている。実施形態のプレビューシステムはいずれの形態でも実現し得るが、特にＰａａＳとの親和性が高い。
【００７２】
また、実施形態に係るプレビューシステムを実現するプログラムを、コンピュータ読み取り可能な記録媒体に記録することも可能である。この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行させることにより、プレビューシステムを実現することが可能である。「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
【００７３】
また「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
【００７４】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
【００７５】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００７６】
本発明の実施形態を説明したが、この実施形態は例として提示するものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７７】
１０…情報系、１１…放送情報スケジューラ、１２…データベース、２０…信号処理系、２１…スイッチャ、２３…エンコーダ、２４…ＳＩ送出部、２６…多重化部、３０…伝送系、３１…ストリーム切り替え部、３２…ストリーム切り替え部、４０…監視系システム、５０…局内ネットワーク、５１…制御部、５１ａ…実行環境構築部５１ｂ…仮想マシン生成部５１ｃ…シナリオ作成部５１ｄ…シナリオ短縮部５１ｅ…シミュレーション部５１ｆ…マーキング部５２…記憶部、５２ａ…サーバ制御プログラム、５２ｂ…制御シナリオデータ、５２ｃ…制御情報データ、５２ｄ…制御ポイントデータ、５２ｅ…制御ポイントデータ、５２ｆ…短縮シナリオデータ、５２ｇ…マーカテーブル、５３…インタフェース部、６０…制御系、６１…機器制御スケジューラ、６２…リアルタイムコントローラ、６３…ノード、７０…収録済み放送素材サーバ、７１…制御部、７１ａ…操作制御部７２…記憶部、７２ａ…端末制御プログラム、７２ｂ…放送プログラムデータ、７３…インタフェース部、７４…操作部、７５…モニタ、８０…時計ノード、９１…放送プログラム送出部、１００…放送局、２００…通信ネットワーク、３００…電波塔、４００…家庭、５００…サーバ、６００…ネットワーク、６０２…制御専用ネットワーク、７００…クライアント端末、５００６０…サーバ、６０１…汎用ＬＡＮ、９４…スイッチャ制御ＮＯＤＥ、Ｖ１…機器制御スケジューラ、Ｖ２…リアルタイムコントローラ、Ｖ３…操作卓制御装置、Ｖ４…マスタースイッチャ、Ｖ５…ＮＴＰサーバ、Ｖ６…プレビューサーバ、Ｖ７…ログ収集サーバ、Ｖ８…仮想制御装置、Ｖ９…放送時刻コントローラ、Ｖ１０…手動送出制御部、Ｖ１１…機器監視部、Ｖ１２…送出サービススケジューラ、Ｖ１３…電文ロガー、Ｖ１４…プレビュー操作部、Ｖ１５…ログ表示／検索部、Ｖ１６…仮想マシン操作部、Ｖ１７…エミュレータ操作部、ｃ１…放送プログラム取得部、ｃ２…制御情報作成部、ｃ３…制御シナリオ作成部、ｄ１…時刻制御可能ポイント抽出部、ｄ２…手動制御待ちポイント抽出部、ｄ３…制御シナリオ短縮部。
【図１】
2018082290.tif 000003
【図２】
2018082290.tif 000004
【図３】
2018082290.tif 000005
【図４】
2018082290.tif 000006
【図５】
2018082290.tif 000007
【図６】
2018082290.tif 000008
【図７】
2018082290.tif 000009
【図８】
2018082290.tif 000010
【図９】
2018082290.tif 000011
【図１０】
2018082290.tif 000012
【図１１】
2018082290.tif 000013
【図１２】
2018082290.tif 000014