(57)【要約】【課題】フィルタに設定するパラメータの調整を容易に行うこと。【解決手段】サーバ装置１０は、メディアデータに適用するフィルタの選択を受け付け、選択を受け付けたフィルタに設定可能なパラメータの数値範囲の中から、パラメータを代表する複数の代表パラメータを決定し、複数の代表パラメータごとに、当該代表パラメータが設定されたフィルタを適用したメディアデータの表示出力または音声出力を実行する。【選択図】図１
2019091179.tif 000002
【特許請求の範囲】
【請求項１】
メディアデータに適用するフィルタの選択を受け付ける受付部と、
前記選択を受け付けたフィルタに設定可能なパラメータの数値範囲の中から、前記パラメータを代表する複数の代表パラメータを決定する決定部と、
前記複数の代表パラメータごとに、当該代表パラメータが設定されたフィルタを適用したメディアデータの表示出力または音声出力を制御する出力制御部と
を有することを特徴とするメディア処理装置。
【請求項２】
前記選択を受け付けたフィルタに設定可能なパラメータの数値範囲に含まれるパラメータ値ごとに、当該パラメータ値が設定されたフィルタを前記メディアデータに適用する適用部と、
前記メディアデータに適用されたフィルタが時系列に出力する出力値の時系列データから前記出力値が累計された出力累計値を前記パラメータ値ごとに算出する算出部とをさらに有し、
前記決定部は、前記パラメータ値ごとに算出された出力累計値の波形に基づいて前記パラメータを代表する複数の代表パラメータを決定することを特徴とする請求項１に記載のメディア処理装置。
【請求項３】
前記決定部は、前記パラメータ値ごとに算出された出力累計値の波形にピークが含まれる場合、前記出力累計値のピークが観測されるパラメータ値、および、前記出力累計値のピークの両端に対応する２点のパラメータ値を前記代表パラメータとして決定することを特徴とする請求項２に記載のメディア処理装置。
【請求項４】
前記決定部は、前記パラメータ値ごとに算出された出力累計値の波形に所定の度合い以上で増加または減少する区間が含まれる場合、前記出力累計値の波形で増加または減少する区間の始点および終点に対応する２点のパラメータ値を代表パラメータとして決定することを特徴とする請求項２に記載のメディア処理装置。
【請求項５】
メディアデータに適用するフィルタの選択を受け付け、
前記選択を受け付けたフィルタに設定可能なパラメータの数値範囲の中から、前記パラメータを代表する複数の代表パラメータを決定し、
前記複数の代表パラメータごとに、当該代表パラメータが設定されたフィルタを適用したメディアデータの表示出力または音声出力を制御する、
処理をコンピュータが実行することを特徴とするメディア処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メディア処理装置およびメディア処理方法に関する。
【背景技術】
【０００２】
ＩｏＴ（Internet  of  Things）デバイスによりセンシングされたデータが各種のＩｏＴサービスに活用されている。このようなＩｏＴサービスの開発を支援するツールの一例として、フレームワークが提供されている。
【０００３】
例えば、ＩｏＴデバイスにより映像や音声などのメディアデータがセンシングされる場合、各種のメディア処理に関する機能がモジュール化されたフィルタが集められたライブラリの中から、ＩｏＴシステムの用途等に相応しい機能を持つフィルタが選択されることにより、メディアサービスが定義される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−３３７９４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の技術では、フィルタに設定するパラメータの調整を容易に行うことが困難である。
【０００６】
例えば、上記のメディアサービスで定義されたフィルタには、初期設定されたパラメータが用いられるが、これが必ずしも適切であるとは限らない。すなわち、ＩｏＴシステムの用途やデバイスの特性、デバイスが利用される環境等の違いによってメディアデータに適切なパラメータは変化する。このように初期値のパラメータをフィルタにそのまま適用するのが困難である現状、パラメータの調整は、フレームワークの利用者に委ねられる。ところが、パラメータの変更およびパラメータ変更後のフィルタの効果確認などの手順を繰り返す試行錯誤を行わなければ、メディアデータに効果を発揮することができるパラメータを見つけ出すことができない。
【０００７】
１つの側面では、本発明は、フィルタに設定するパラメータの調整を容易に行うことができるメディア処理装置およびメディア処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
一態様では、メディア処理装置は、メディアデータに適用するフィルタの選択を受け付ける受付部と、前記選択を受け付けたフィルタに設定可能なパラメータの数値範囲の中から、前記パラメータを代表する複数の代表パラメータを決定する決定部と、前記複数の代表パラメータごとに、当該代表パラメータが設定されたフィルタを適用したメディアデータの表示出力または音声出力を実行する出力制御部とを有する。
【発明の効果】
【０００９】
フィルタに設定するパラメータの調整を容易に行うことができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１に係る開発支援システムに含まれるサーバ装置の機能的構成の一例を示すブロック図である。
【図２】図２は、開発支援画面の一例を示す図である。
【図３】図３は、フィルタの出力値の変化およびサンプル動画の変化の関係の一例を示す図である。
【図４】図４は、フィルタの出力値の一例を示す図である。
【図５Ａ】図５Ａは、出力累計値の波形の一例を示す図である。
【図５Ｂ】図５Ｂは、出力累計値の波形の一例を示す図である。
【図５Ｃ】図５Ｃは、出力累計値の波形の一例を示す図である。
【図６】図６は、出力累計値の算出結果の一例を示す図である。
【図７】図７は、出力累計値の波形の一例を示す図である。
【図８Ａ】図８Ａは、サンプル動画に含まれるフレームの一例を示す図である。
【図８Ｂ】図８Ｂは、サンプル動画に含まれるフレームの一例を示す図である。
【図９】図９は、実施例１に係るメディア処理の手順を示すフローチャートである。
【図１０】図１０は、サンプル動画の変化の一例を示す図である。
【図１１】図１１は、実施例１及び実施例２に係るメディア処理プログラムを実行するコンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して本願に係るメディア処理装置およびメディア処理方法について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１２】
［開発支援システム］
図１は、実施例１に係る開発支援システムに含まれるサーバ装置の機能的構成の一例を示すブロック図である。図１に示す開発支援システム１は、一側面として、フレームワークの提供を通じて、メディアサービスの開発を支援する開発支援サービスを提供するものである。
【００１３】
図１に示すように、開発支援システム１には、サーバ装置１０と、クライアント端末３０とが含まれる。図１には、サーバ装置１０およびクライアント端末３０を１つずつ例示したが、１つのサーバ装置１０に複数のクライアント端末３０が収容されることとしてもかまわない。
【００１４】
これらサーバ装置１０およびクライアント端末３０の間は、任意のネットワークＮＷを介して接続される。このネットワークＮＷは、有線または無線を問わず、インターネット、ＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）などの任意の種類の通信網により構築することができる。
【００１５】
サーバ装置１０は、上記の開発支援サービスをクライアント端末３０に提供するコンピュータである。
【００１６】
ここで言う「サーバ装置」というラベルは、あくまで機能の一面からの分類であってコンピュータの種類やそのハードウェア構成は特定のものに限定されない。例えば、サーバ装置１０は、パッケージソフトウェア又はオンラインソフトウェアとして、上記の開発支援サービスを実現する開発支援プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、サーバ装置１０は、上記の開発支援サービスを提供するＷｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記の開発支援サービスを提供するクラウドとして実装することとしてもかまわない。
【００１７】
クライアント端末３０は、上記の開発支援サービスの提供を受けるコンピュータである。このクライアント端末３０は、あくまで一例として、フレームワークの利用者、例えばメディアサービスを開発する開発者およびその関係者などの開発関係者によって使用される。
【００１８】
ここで言う「クライアント端末」というラベルも、あくまで機能の一面からの分類であってコンピュータの種類やそのハードウェア構成は特定のものに限定されない。例えば、クライアント端末３０は、パーソナルコンピュータやワークステーションなどのデスクトップ型のコンピュータなどが対応する。このようなデスクトップ型のコンピュータに限定されず、ラックトップ型のコンピュータや携帯端末装置、ウェアラブル端末などがクライアント端末として採用されることとしてもかまわない。
【００１９】
ここで、サーバ装置１０は、あくまで一例として、ＧＵＩ（Graphical  User  Interface）などのユーザインタフェースを通じて、フレームワークをクライアント端末３０に提供することができる。例えば、サーバ装置１０は、各種のメディア処理、例えば認識や検出に関する機能がモジュール化されたフィルタが集められたライブラリがリスト表示されたＧＵＩ画面上で、開発関係者が開発しようとするＩｏＴシステムの用途等に相応しい機能を持つフィルタの選択を受け付ける。このＧＵＩ画面上で選択を受け付けたフィルタを始め、メディアデータを入力する入力デバイス、フィルタ適用後の処理結果を出力する出力デバイスなどに対応するアイコンに対する操作、例えばアイコンの配置やアイコン間におけるデータの入出力の設定などを通じて、メディアサービスの定義を受け付ける。
【００２０】
このようにメディアサービスが定義される場合、上記の背景技術の欄で挙げる従来技術では、フィルタに設定するパラメータの調整を容易に行うことが困難である状況が発生する。
【００２１】
すなわち、上記の従来技術では、フィルタに初期値を設定しておく手引きが限界である。このように初期設定されたパラメータは、必ずしも適切であるとは限らない。なぜなら、ＩｏＴシステムの用途やＩｏＴデバイスの特性、ＩｏＴデバイスが利用される環境等の違いによって適切なパラメータは変化するからである。このため、フィルタがメディアデータに効果を発揮できるパラメータが手探りである状況下でパラメータの調整が実施されることになる。この結果、パラメータの調整時には、パラメータの変更およびパラメータ変更後のフィルタの効果確認などの手順を繰り返す試行錯誤が発生する。
【００２２】
そこで、本実施例に係るサーバ装置１０は、メディアデータに効果が薄い第１の代表パラメータが設定されたフィルタの第１の処理結果と、メディアデータに効果がある第２の代表パラメータが設定されたフィルタの第２の処理結果とを表示する。このように、フィルタがメディアデータに効果を発揮できるパラメータの調整を手引きする開発支援サービスを実現する。これによって、パラメータの変更およびパラメータ変更後のフィルタの効果確認などの手順を繰り返す試行錯誤が発生するのを抑制する。したがって、本実施例に係るサーバ装置１０によれば、フィルタに設定するパラメータの調整を容易に行うことが可能になる。
【００２３】
［サーバ装置１０の構成］
図１に示すように、サーバ装置１０は、通信Ｉ／Ｆ（InterFace）部１１と、記憶部１３と、制御部１５とを有する。図１には、データの授受の関係を表す実線が示されているが、図１には、説明の便宜上、最小限の部分について示されているに過ぎない。すなわち、各処理部に関するデータの入出力は、図示の例に限定されず、図示以外のデータの入出力、例えば処理部及び処理部の間、処理部及びデータの間、並びに、処理部及び外部装置の間のデータの入出力が行われることとしてもかまわない。
【００２４】
通信Ｉ／Ｆ部１１は、他の装置、例えばクライアント端末３０との間で通信制御を行うインタフェースである。
【００２５】
一実施形態として、通信Ｉ／Ｆ部１１には、ＬＡＮカードなどのネットワークインタフェースカードを採用できる。例えば、通信Ｉ／Ｆ部１１は、フレームワークの利用に関するＧＵＩを含む開発支援画面をクライアント端末３０へ送信したり、クライアント端末３０から開発支援画面に対する操作情報を受信したりする。
【００２６】
記憶部１３は、制御部１５で実行されるＯＳ（Operating  System）を始め、上記の開発支援サービスを実現するアプリケーションプログラムなどの各種プログラムに用いられるデータを記憶する記憶デバイスである。
【００２７】
一実施形態として、記憶部１３は、サーバ装置１０における補助記憶装置として実装することができる。例えば、記憶部１３には、ＨＤＤ（Hard  Disk  Drive）、光ディスクやＳＳＤ（Solid  State  Drive）などを採用できる。なお、記憶部１３は、必ずしも補助記憶装置として実装されずともよく、サーバ装置１０における主記憶装置として実装することもできる。この場合、記憶部１３には、各種の半導体メモリ素子、例えばＲＡＭ（Random  Access  Memory)やフラッシュメモリを採用できる。
【００２８】
記憶部１３は、制御部１５で実行されるプログラムに用いられるデータの一例として、フレームワークデータ１３ａと、メディアデータ１３ｂと、サービス定義データ１３ｃとを記憶する。これらのデータ以外にも、記憶部１３には、他の電子データが記憶されることとしてもかまわない。例えば、記憶部１３は、クライアント端末３０を使用する開発関係者等に付与されたアカウント情報なども併せて記憶することもできる。なお、ここでは、サービス定義が開始されるよりも前の段階からスタティックに保持できるフレームワークデータ１３ａ及びメディアデータ１３ｂについて先行して説明する一方で、サービス定義に応じてダイナミックに生成されるサービス定義データ１３ｃについてはその説明を制御部１５の説明と合わせて行うこととする。
【００２９】
フレームワークデータ１３ａは、フレームワークに関するデータである。ここで言う「フレームワーク」には、各種のメディア処理に関する機能がモジュール化されたフィルタを集めたライブラリを始め、特定のサービスが定義されたソフトウェアの制御構造に関するテンプレートなどが含まれる。
【００３０】
メディアデータ１３ｂは、映像、音声、音声付きの映像、いわゆる動画などのメディアに関するデータである。
【００３１】
一側面として、メディアデータ１３ｂは、サービスの設計段階でフィルタの効果を開発関係者等に確認させるサンプルとして用いられる。このように、メディアデータ１３ｂは、必ずしも開発関係者が実装段階で構築しようとするＩｏＴシステムに収容されるＩｏＴデバイスの現物によりセンシングされるメディアデータでなくともかまわない。以下では、記憶部１３にメディアデータとして保存されるメディアのサンプルの中でも、動画のことを「サンプル動画」と記載する場合がある。なお、ここでは、サーバ装置１０が有する記憶部１３にレポジトリが作成される場合を例示したが、メディアデータ１３ｂはネットワークやネットワーク上のファイルサーバ等に保存されることとしてもかまわない。
【００３２】
制御部１５は、サーバ装置１０の全体制御を行う処理部である。
【００３３】
一実施形態として、制御部１５は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などのハードウェアプロセッサにより実装することができる。ここでは、プロセッサの一例として、ＣＰＵやＭＰＵを例示したが、汎用型および特化型を問わず、任意のプロセッサ、例えばＧＰＧＰＵ（General-purpose  computing  on  graphics  processing  units）やＤＳＰ（Digital  Signal  Processor）により実装することができる。この他、制御部１５は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによって実現されることとしてもかまわない。
【００３４】
制御部１５は、図示しない主記憶装置として実装されるＤＲＡＭ（Dynamic  Random  Access  Memory）やＳＲＡＭ（Static  Random  Access  Memory）などのＲＡＭのワークエリア上に、上記の開発支援プログラムを展開することにより、下記の処理部を仮想的に実現する。
【００３５】
制御部１５は、図１に示すように、受付部１５ａと、第１の決定部１５ｂと、適用部１５ｃと、算出部１５ｄと、第２の決定部１５ｅと、出力制御部１５ｆとを有する。
【００３６】
受付部１５ａは、フィルタの選択を受け付ける処理部である。
【００３７】
一側面として、受付部１５ａは、フレームワークの利用に関するＧＵＩを含む開発支援画面をクライアント端末３０に表示させることにより、当該開発支援画面上で上記のフィルタのライブラリの中からフィルタの選択操作を受け付ける。図２は、開発支援画面の一例を示す図である。図２に示すように、開発支援画面２００には、表示エリア２１０〜２３０の３つの表示エリアが含まれる。これらのうち、表示エリア２１０は、フィルタの選択を受け付けるために用いられる。この表示エリア２１０には、フレームワークデータ１３ａのライブラリに含まれるフィルタのリストが表示される。例えば、図２には、顔認識フィルタ、動体検出フィルタ、人数検知フィルタなどの画像処理に関するフィルタのリストから開発対象のサービスに含めるフィルタを選択可能なリストボックスが表示されている。このような開発支援画面２００の表示の下、受付部１５ａは、表示エリア２１０のリスト上に表示されたフィルタの中からフィルタの選択を受け付けることができる。なお、表示エリア２２０および表示エリア２３０では、フィルタの選択に連動して実行される後段の処理部の処理内容により表示内容が定まるので、その説明は後段の処理部の説明に合わせて行うこととする。
【００３８】
第１の決定部１５ｂは、フィルタを適用するメディアデータを決定する処理部である。
【００３９】
一実施形態として、第１の決定部１５ｂは、記憶部１３に記憶されたメディアデータの中から、受付部１５ａが選択を受け付けたフィルタを適用するメディアデータを決定する。例えば、図２に示す例で言えば、表示エリア２１０のリストボックス内で反転表示が行われたフィルタ「顔検出フィルタ」がポインティングデバイスやキーボードなどのＵＩを介して選択された場合、当該顔検出フィルタを適用するサンプル動画を決定する。このように、顔検出フィルタが適用されるサンプル動画は、どのようなサンプル動画であってもよいとは限らない。
【００４０】
例えば、汎用の顔検出フィルタには、動画のフレームごとに顔の有無を示す「０」または「１」などの２値を戻り値として呼び出し元のソフトウェアに返したり、また、顔検出フィルタが適用された動画の再生時に、顔の領域を示す標示や顔の位置を示す座標などを出力したりといった機能を持つものが多い。このような機能を利用して、顔検出フィルタが適用されたサンプル動画を再生することにより顔検出フィルタの効果を視認させる場合、顔が映っていないサンプル動画を選んでも顔検出フィルタの効果は確認できない。さらに、顔が映っているサンプル動画であっても、顔の動きが微細であるサンプル動画が選択された場合、サンプル動画上に表示されるマーカの意味がわかりづらい場合がある。すなわち、顔の動きが微細でなければ、時間経過にしたがって移動する顔にマーカが追従する様子を通じて、マーカが顔の領域を示す意味を持つことを把握することができる。その一方で、顔の動きが微細であれば、顔の位置もマーカの位置も固定されるので、マーカの意味が把握しづらい。これが一因となって、顔検出フィルタの効果も把握できない場合がある。なお、ここでは、顔検出フィルタを例に挙げたが、その他の画像処理に関するフィルタ、さらには、音声処理に関するフィルタにおいても、動画の動きが微細であると、フィルタの効果が確認しづらくなる。
【００４１】
このことから、第１の決定部１５ｂは、一側面として、メディアデータ１３ｂに含まれるサンプル動画のうち、サンプル動画の変化と、サンプル動画に適用されるフィルタの出力値の変化とが同期するサンプル動画を選択することにより、フィルタを適用するサンプル動画を決定する。ここで、サンプル動画の変化は、例えば、テンプレートマッチング、ブロックマッチング、背景差分、オプティカルフロー等の一般的なアルゴリズムを用いて検出することができる。また、サンプル動画を決定する段階では、フィルタに設定するパラメータは、必ずしもサンプル動画に対する最適値でなくともよく、一例として、初期値を用いることができる。
【００４２】
図３は、フィルタの出力値の変化およびサンプル動画の変化の関係の一例を示す図である。図３の上段には、サンプル動画に対するフィルタの出力値が時系列に示されると共に、図３の下段には、サンプル動画の変化が時系列に示されている。さらに、図３の上段に示す通り、サンプル動画に含まれるフレームのうちフィルタの出力値が「１」であるフレームは、斜線のハッチングで図示される一方で、図３の下段に示す通り、サンプル動画に含まれるフレームのうち動画の変化があるフレームは、黒色の塗りつぶしで図示されている。
【００４３】
例えば、第１の決定部１５ｂは、メディアデータ１３ｂに含まれるサンプル動画ごとに、次のような処理を実行する。すなわち、第１の決定部１５ｂは、当該サンプル動画に含まれるフレームのうちフィルタの出力値が「１」であるフレームの数、すなわち図３の上段に示す斜線のハッチング部分に対応するフレームの数を計数する。さらに、第１の決定部１５ｂは、フィルタの出力値が「１」であるフレームのうち、前フレームからの変化が検出されたフレームの数、すなわち図３の下段に示す黒色の塗りつぶし部分に対応するフレームの数を計数する。その上で、第１の決定部１５ｂは、フィルタの出力値が「１」であるフレームのうち前フレームからの変化が検出されたフレームの数を、フィルタの出力値が「１」であるフレームの数で除算する計算を実行する。つまり、図３の下段に示す黒色の塗りつぶし部分に対応するフレームの数を、図３の上段に示す斜線のハッチング部分に対応するフレームの数で除算することにより、フィルタが出力する出力値に対するサンプル動画の変化がどの程度同期しているかを示す同期スコアを算出する。このようにサンプル動画ごとに同期スコアが算出された後、第１の決定部１５ｂは、同期スコアが最高であるサンプル動画をフィルタを適用するメディアデータとして決定する。
【００４４】
適用部１５ｃは、フィルタをメディアデータに適用する処理部である。
【００４５】
一実施形態として、適用部１５ｃは、受付部１５ａが選択を受け付けたフィルタに設定可能なパラメータの数値範囲を特定する。例えば、適用部１５ｃは、受付部１５ａが選択を受け付けたフィルタに関するコンフィグファイル等を参照することにより、パラメータに設定可能な数値範囲の最小値および最大値を特定する。そして、適用部１５ｃは、パラメータの最小値から抽出を開始し、そこから最大値に達するまで所定の間隔ごとにパラメータの数値を抽出する。以下では、パラメータの数値のことを「パラメータ値」と記載する場合がある。例えば、整数値のパラメータを抽出する場合、最小値、最小値＋１、最小値＋２、・・・、最大値−１、最大値といった要領でパラメータ値が抽出される。ここでは、あくまで一例として、パラメータ値が最小値および最大値の数値範囲全体から抽出される場合を例示したが、数値範囲の一部を除外して抽出することができるのは言うまでもない。また、パラメータ値を抽出する間隔が任意の刻み幅でよいことも言うまでもない。その上で、適用部１５ｃは、上記の数値範囲から抽出されたパラメータ値ごとに、当該パラメータ値が設定されたフィルタを第１の決定部１５ｂにより決定されたサンプル動画に適用する。これによって、パラメータ値ごとに、フィルタがサンプル動画のフレームごとに出力する出力値の時系列データが得られる。
【００４６】
例えば、図２に示す例で言えば、図２に示す表示エリア２１０のリストボックス内で反転表示が行われたフィルタ「顔検出フィルタ」がポインティングデバイスやキーボードなどのＵＩを介して選択された場合、図３に示す同期スコアの計算を通じて、メディアデータ１３ｂに含まれるサンプル動画のうち同期スコアが最高であるサンプル動画が顔検出フィルタを適用するサンプル動画として決定される。
【００４７】
この「顔検出フィルタ」に設定されるパラメータには、あくまで例示として、「scaleFactor」や「minNeighbors」、「minSize」、「maxSize」などといったパラメータが存在する。ここで挙げる「scaleFactor」とは、画像スケールにおける縮小量を指す。すなわち、顔検出時には、顔のパターンにマッチする箇所を調べるために、画像が異なるスケールで複数回探索される。その際にスケールを変更する度合いが「scaleFactor」に対応する。また、「minNeighbors」とは、物体候補となる矩形が最小限含む近傍矩形の数を指す。また、「minSize」とは、物体が取り得る最小サイズを指す。また、「maxSize」とは、物体がとりうる最大サイズを指す。
【００４８】
ここでは、あくまで一例として、パラメータ「scaleFactor」を例に挙げてパラメータの調整が支援される場合について説明する。例えば、パラメータ「scaleFactor」の数値範囲の最小値が「１．０１」と特定されると共に、最大値が「Ｎ」と特定された場合を想定する。このとき、パラメータ「scaleFactor」の数値が０．０１刻みの間隔で抽出されるとしたとき、「１．０１」、「１．０２」、「１．０３」、・・・、「Ｎ−０．０１」、「Ｎ」といった要領でパラメータ「scaleFactor」のパラメータ値が抽出される。その上で、上記の数値範囲から抽出されたパラメータ値ごとに、当該パラメータ値が設定されたフィルタが第１の決定部１５ｂにより決定されたサンプル動画に適用される。すなわち、パラメータ「scaleFactor」に数値「１．０１」が設定された顔検出フィルタがサンプル動画に適用される。また、パラメータ「scaleFactor」に数値「１．０２」が設定された顔検出フィルタがサンプル動画に適用される。同様にして、パラメータ「scaleFactor」に数値「１．０３」、・・・、「Ｎ−０．０１」、「Ｎ」が設定された顔検出フィルタがサンプル動画に適用される。これによって、パラメータ値「１．０１」、「１．０２」、「１．０３」、・・・、「Ｎ−０．０１」、「Ｎ」ごとに、顔検出フィルタがサンプル動画のフレームごとに出力する出力値、すなわち顔が検出されたか否かの２値、すなわち顔有り「１」または顔無し「０」の時系列データが得られる。
【００４９】
算出部１５ｄは、フィルタの出力値の累計値を算出する処理部である。以下では、フィルタの出力値の累計値のことを「出力累計値」と記載する場合がある。
【００５０】
一実施形態として、算出部１５ｄは、上記のパラメータ値ごとに、当該パラメータ値が設定されたフィルタがサンプル動画のフレームごとに出力する出力値の時系列データから出力累計値を算出する。図４は、フィルタの出力値の一例を示す図である。図４には、パラメータ「scaleFactor」に数値「ｐ」が設定された顔検出フィルタがサンプル動画のフレームごとに出力する出力値の時系列データが示されている。図４に示す出力値の時系列データが得られた場合、顔有り「１」の出力値が累計されることにより、出力累計値が「６」と算出される。ここでは、上記の数値範囲から抽出されたパラメータの数値のうち、パラメータの数値「ｐ」が設定された顔検出フィルタの出力累計値を算出する場合を抜粋して説明したが、上記の数値範囲から抽出された他のパラメータの数値についても同様にして出力累計値が算出される。
【００５１】
なお、ここでは、顔が検出されたか否かの２値、すなわち顔有り「１」または顔無し「０」を出力する顔検出フィルタの出力累計値を算出する場合を例示したが、フィルタが出力する出力値は「０」または「１」の２種類に限定されない。例えば、人数検知フィルタは、サンプル動画の各フレームから検出される人物の人数を出力する。この場合、ゼロ以上の整数値が人数検知フィルタの出力値として得られる。この他、フィルタの出力値は、必ずしもゼロ以上の整数値でなく、負の整数値であってもよく、また、必ずしも整数値でなく、任意の実数であってかまわない。
【００５２】
第２の決定部１５ｅは、パラメータの数値範囲を代表する複数の代表パラメータを決定する処理部である。
【００５３】
一実施形態として、第２の決定部１５ｅは、算出部１５ｄによりパラメータ値ごとに算出された出力累計値に基づいて複数の代表パラメータを決定する。例えば、第２の決定部１５ｅは、算出部１５ｄによりパラメータ値ごとに算出された出力累計値の波形にピークが含まれるか否かを判定する。例えば、第２の決定部１５ｅは、出力累計値の波形の微分波形のゼロクロス点等を検出することにより、上に凸のピーク、すなわち正のピークおよび下に凸のピークを検出することができる。このように出力累計値の波形の微分波形を用いる場合、出力累計値の波形をローパスフィルタに通してから微分波形を算出することもできる。そして、出力累計値の波形にピークが含まれる場合、第２の決定部１５ｅは、図５Ａに示すように、出力累計値の波形から３点の代表パラメータを決定する。図５Ａは、出力累計値の波形の一例を示す図である。図５Ａに示すように、出力累計値の波形にピークが含まれる場合、第２の決定部１５ｅは、出力累計値のピークＰ１が観測されるパラメータ値、および、出力累計値のピークＰ１の両端Ｅ１およびＥ２、例えばピークの前後で検出される微分波形のゼロ点に対応する２点のパラメータ値を代表パラメータとして決定する。
【００５４】
一方、出力累計値の波形にピークが含まれない場合、第２の決定部１５ｅは、出力累計値の波形に所定の度合い以上で増加または減少する区間が存在するか否かを判定する。例えば、第２の決定部１５ｅは、隣接する２つのパラメータ値の間で出力累計値が変動する変動幅のうち最大となる変動幅を特定する。以下では、最大となる変動幅のことを「最大変動幅」と記載する場合がある。続いて、第２の決定部１５ｅは、最大変動幅の絶対値が所定の閾値以上であるか否かを判定する。この最大変動幅と比較する閾値は、一例として、隣接する２つのパラメータ値ごとに定まる出力累計値の変動幅から算出された変動幅の平均値や中央値などの統計値の所定倍、例えば５倍や１０倍などに設定することができる。このとき、最大変動幅の絶対値が所定の閾値以上である場合、出力累計値の波形に急増加または急減少する区間が存在すると識別される。以下では、隣接する２つのパラメータ値ごとに定まる出力累計値の変動幅のうち最大変動幅が観測される２つのパラメータ値の各々のことを「最大変動幅の観測パラメータ値」と記載する場合がある。この場合、第２の決定部１５ｅは、一例として、２つの最大変動幅の観測パラメータ値ごとに、当該最大変動幅の観測パラメータ値および他方の最大変動幅の観測パラメータ値とは逆側に隣接する隣接パラメータ値の間で、最大変動幅が持つ符号と同一の符号の変動が観測され、かつ上位から所定の順位、例えば上位３位以内となる変動幅が観測されるという２つの変動条件を満たすか否かを判定することにより、上記の２つの変動条件を満たす隣接パラメータ値の探索を実行する。続いて、上記の２つの変動条件を満たす隣接パラメータ値が存在する場合、第２の決定部１５ｅは、当該隣接パラメータ値とその次に隣接する隣接パラメータ値との間で上記の２つの変動条件を満たすか否かをさらに判定する。このように、第２の決定部１５ｅは、上記の２つの変動条件を満たす隣接パラメータ値が検出されなくなるまで、隣接パラメータ値の探索を繰り返す。このような探索の結果として得られた両端のパラメータ値が出力累計値の波形で急増加または急減少する区間の始点および終点として検出される。その上で、第２の決定部１５ｅは、出力累計値の波形で急増加または急減少する区間の始点および終点に対応する２点のパラメータ値を代表パラメータとして決定する。図５Ｂは、出力累計値の波形の一例を示す図である。図５Ｂには、急増加する区間が含まれる出力累計値の波形が示されている。図５Ｂに示すように、出力累計値の波形に急増加する区間が含まれる場合、第２の決定部１５ｅは、出力累計値の波形で急増加する区間の始点ＳＴ１および終点ＥＤ１に対応する２点のパラメータ値を代表パラメータとして決定する。なお、ここでは、一例として、出力累計値の波形に急増加する区間が含まれる場合を例示したが、出力累計値の波形に急減少する区間が含まれる場合には、出力累計値の波形で急減少する区間の始点および終点に対応する２点のパラメータ値が代表パラメータとして決定される。
【００５５】
また、出力累計値の波形にピークが含まれない場合、かつ出力累計値の波形に急増加および急減少する区間が存在しない場合、出力累計値の波形は、なだらかに変化する形状であると識別される。この場合、第２の決定部１５ｅは、任意の２点のパラメータ値を代表パラメータとして決定する。図５Ｃは、出力累計値の波形の一例を示す図である。図５Ｃに示すように、出力累計値の波形がなだらかに変化する場合、第２の決定部１５ｅは、出力累計値のうち、最下位から所定の順位、例えば下位２５％の位置Ｖ１に対応する出力累計値が観測されるパラメータ値と、最上位から所定の順位、例えば上位２５％の位置Ｖ２に対応する出力累計値が観測されるパラメータ値とを代表パラメータとして決定することができる。
【００５６】
このように、出力累計値の波形にピークが含まれる場合、出力累計値の波形に急増加または急減少する区間が存在する場合、出力累計値の波形がなだらかに変化する場合によって代表パラメータの決定方法が変わる。
【００５７】
図６は、出力累計値の算出結果の一例を示す図である。図６には、パラメータ「scaleFactor」のパラメータ値ごとに算出された出力累計値の算出結果がテーブル形式で示されている。図６に示すテーブルの上から１番目のレコードは、パラメータ値「１．０１」が顔検出フィルタに設定されたときの出力累計値が「１８５」であることを意味する。また、図６に示すテーブルの上から２番目のレコードは、パラメータ値「１．０２」が顔検出フィルタに設定されたときの出力累計値が「１７５」であることを意味する。以降に続くレコードにおいても、パラメータ値および出力累計値は、その値は異なれども同様にしてコンピュータに認識される。
【００５８】
図７は、出力累計値の波形の一例を示す図である。図７には、図６に示す出力累計値の算出結果がグラフ化された出力累計値の波形が示されている。図７に示す縦軸は、出力累計値を指し、また、横軸は、パラメータ値を指す。図７に示す出力累計値の波形からは、ピークは検出されない。このため、出力累計値の波形に急増加または急減少する区間が存在するか否かを識別するために、最大変動幅の絶対値が所定の閾値以上であるか否かが判定される。例えば、図６に示すテーブルの例で言えば、パラメータ値「１．０８」およびパラメータ値「１．０９」の間で最大変動幅「−５４（＝５５−１０９）」が観測される。ここで、最大変動幅の絶対値「５４」が閾値以上であるとしたとき、最大変動幅「−５４」の符号は「負」であるので、図７に示す出力累計値の波形に急減少する区間が存在すると識別される。この場合、２つの最大変動幅の観測パラメータ値「１．０８」及び「１．０９」ごとに、上記の２つの変動条件を満たす隣接パラメータ値が探索される。
【００５９】
例えば、最大変動幅の観測パラメータ値「１．０８」の隣接パラメータ値を探索する場合、他方の最大変動幅の観測パラメータ値「１．０９」とは逆側に隣接する隣接パラメータ値「１．０７」の間で、最大変動幅「−５４」が持つ符号「負」と同一の符号の変動が観測され、かつ上位３位以内となる変動幅が観測されるか否かが判定される。このとき、隣接パラメータ値「１．０７」では、最大変動幅「−５４」が持つ符号「負」と同一の符号「負」の変動が観測されるものの、上位４位となる変動幅が観測されるに過ぎず、上位３位の変動幅「−２３」には届かない。このように、隣接パラメータ値「１．０７」は、上記の２つの変動条件のうち後者の変動条件を満たさないので、他方の最大変動幅の観測パラメータ値「１．０９」とは逆方向の隣接パラメータ値の探索はこの段階で終了される。この結果、出力累計値の波形で急減少する区間の始点が最大変動幅の観測パラメータ値「１．０８」と識別される。
【００６０】
また、最大変動幅の観測パラメータ値「１．０９」の隣接パラメータ値を探索する場合、他方の最大変動幅の観測パラメータ値「１．０８」とは逆側に隣接する隣接パラメータ値「１．１０」の間で、最大変動幅「−５４」が持つ符号「負」と同一の符号の変動が観測され、かつ上位３位以内となる変動幅が観測されるか否かが判定される。このとき、隣接パラメータ値「１．１０」では、最大変動幅「−５４」が持つ符号「負」と同一の符号「負」の変動が観測され、上位２位となる変動幅が観測される。このように、隣接パラメータ値「１．１０」は、上記の２つの変動条件を満たす。このため、当該隣接パラメータ値「１．１０」の次に隣接する隣接パラメータ値「１．１１」が上記の２つの変動条件を満たすか否かがさらに判定される。このとき、隣接パラメータ値「１．１１」では、最大変動幅「−５４」が持つ符号「負」と同一の符号「負」の変動が観測されるものの、上位３位の変動幅「−２３」には届かない。このように、隣接パラメータ値「１．１１」は、上記の２つの変動条件のうち後者の変動条件を満たさないので、他方の最大変動幅の観測パラメータ値「１．０８」とは逆方向の隣接パラメータ値の探索はこの段階で終了される。この結果、出力累計値の波形で急減少する区間の終点が隣接パラメータ値「１．１０」と識別される。
【００６１】
このように隣接パラメータ値の探索を通じて識別された急減少の区間の始点に対応するパラメータ値「１．０８」および急減少の区間の終点に対応するパラメータ値「１．１０」が代表パラメータとして決定される。
【００６２】
出力制御部１５ｆは、クライアント端末３０に対する出力制御を行う処理部である。
【００６３】
一側面として、出力制御部１５ｆは、第２の決定部１５ｅにより複数の代表パラメータが決定された場合、代表パラメータごとに当該代表パラメータが設定されたフィルタが適用されたサンプル動画を再生する。例えば、パラメータ「scaleFactor」の代表パラメータとして、第１の代表パラメータ「１．０８」および第２の代表パラメータ「１．１０」が決定された場合、開発支援画面２００では、次のように２つのサンプル動画が再生される。すなわち、表示エリア２２０の左側の再生領域２２０Ａでは、第１の代表パラメータ「１．０８」が設定された顔検出フィルタを適用したサンプル動画が再生される。これと同期して、表示エリア２２０の右側の再生領域２２０Ｂでは、第２の代表パラメータ「１．１０」が設定された顔検出フィルタを適用したサンプル動画が再生される。
【００６４】
図８Ａおよび図８Ｂは、サンプル動画に含まれるフレームの一例を示す図である。図８Ａには、第１の代表パラメータ「１．０８」が設定された顔検出フィルタを適用したサンプル動画のあるフレームが示される一方で、図８Ｂには、第２の代表パラメータ「１．１０」が設定された顔検出フィルタを適用したサンプル動画のあるフレームが示されている。なお、当然のことながら、図８Ａおよび図８Ｂには、複数の代表パラメータ間でフィルタの効果の差を比較させるために、同一のサンプル動画の同一のフレームにおける顔検出結果が示されている。
【００６５】
図８Ａに示すように、第１の代表パラメータ「１．０８」が設定された顔検出フィルタが適用された場合、サンプル動画のフレーム３００Ａでは、マーカｍ１〜ｍ４の４つのマーカに対応する領域が検出される。このサンプル動画のフレーム３００Ａの表示を通じて、実際に顔が映っているマーカｍ１の領域以外にもマーカｍ２〜ｍ４の領域が顔領域として検出されているので、第１の代表パラメータ「１．０８」を設定しても顔検出フィルタの効果が十分に発揮されないことを開発関係者に把握させることができる。一方で、第２の代表パラメータ「１．１０」が設定された顔検出フィルタが適用された場合、サンプル動画のフレーム３００Ｂでは、マーカＭ１に対応する領域のみが検出される。このサンプル動画のフレーム３００Ｂの表示を通じて、実際に顔が映っているマーカＭ１の領域だけが顔領域として検出されているので、第２の代表パラメータ「１．１０」を設定すると顔検出フィルタの効果を十分に発揮できることを開発関係者に把握させることができる。これらのことから、サンプル動画のフレーム３００Ａおよびサンプル動画のフレーム３００Ｂを対比させて表示することにより、第２の代表パラメータ「１．１０」の近傍にパラメータの変更の範囲を絞り込むことができる結果、パラメータの変更およびパラメータ変更後のフィルタの効果確認などの手順を繰り返す試行錯誤が発生するのを抑制できる。この結果、顔検出フィルタがサンプル動画に効果を発揮できるパラメータの調整を手引きすることが可能になる。
【００６６】
他の側面として、出力制御部１５ｆは、開発支援画面２００上でサービスの定義を受け付ける。例えば、出力制御部１５ｆは、受付部１５ａが選択を受け付けたフィルタを始め、メディアデータを入力する入力デバイス、フィルタ適用後の処理結果を出力する出力デバイスなどに対応するアイコンを表示エリア２３０に表示させる。これらのアイコンに対する操作、例えばアイコンの配置または移動やアイコン間におけるデータの入出力の設定などを通じて、メディアサービスに対応するソフトウェアの制御構造などを受け付ける。このようにして受け付けられたメディアサービスの定義、例えば表示エリア２２０やそのサブウィンドウを介して設定されるフィルタのパラメータ、さらには表示エリア２３０を介して定義されるソフトウェアの制御構造などがサービス定義データ１３ｃとして記憶部１３に登録される。
【００６７】
なお、ここでは、出力制御部１５ｆがサンプル動画の映像データおよび音声データの両方を再生する場合を例示したが、いずれか一方に絞って出力することもできる。例えば、受付部１５ａが選択を受け付けたフィルタが画像処理に関するフィルタである場合、映像データに絞って再生することができる。また、出力制御部１５ｆは、受付部１５ａが選択を受け付けたフィルタが音声処理に関するフィルタである場合、音声データに絞って再生することができる。
【００６８】
［処理の流れ］
図９は、実施例１に係るメディア処理の手順を示すフローチャートである。この処理は、クライアント端末３０に表示された開発支援画面上でフィルタの選択を受け付けた場合に開始される。
【００６９】
図９に示すように、フィルタの選択を受け付けると（ステップＳ１０１）、第１の決定部１５ｂは、メディアデータ１３ｂに含まれるサンプル動画のうち、サンプル動画の変化と、サンプル動画に適用されるフィルタの出力値の変化とが同期するサンプル動画を選択することにより、ステップＳ１０１で選択を受け付けたフィルタを適用するサンプル動画を決定する（ステップＳ１０２）。
【００７０】
続いて、適用部１５ｃは、ステップＳ１０１で選択を受け付けたフィルタに設定可能なパラメータの数値範囲に基づいてパラメータ値を所定の間隔ごとに抽出する（ステップＳ１０３）。そして、適用部１５ｃは、ステップＳ１０３で抽出されたパラメータ値のうちパラメータ値を１つ選択する（ステップＳ１０４）。その上で、適用部１５ｃは、ステップＳ１０４で選択されたパラメータ値が設定されたフィルタをステップＳ１０２で決定されたサンプル動画に適用する（ステップＳ１０５）。
【００７１】
その後、算出部１５ｄは、ステップＳ１０４で選択されたパラメータ値が設定されたフィルタがサンプル動画のフレームごとに出力する出力値の時系列データから出力累計値を算出する（ステップＳ１０６）。
【００７２】
そして、ステップＳ１０３で抽出された全てのパラメータ値が選択されるまで（ステップＳ１０７Ｎｏ）、上記のステップＳ１０４から上記のステップＳ１０６までの処理を繰り返して実行する。
【００７３】
その後、ステップＳ１０３で抽出された全てのパラメータ値が選択された場合（ステップＳ１０７Ｙｅｓ）、第２の決定部１５ｅは、ステップＳ１０６でパラメータ値ごとに算出された出力累計値の波形にピークが含まれるか否かを判定する（ステップＳ１０８）。
【００７４】
ここで、出力累計値の波形にピークが含まれる場合（ステップＳ１０８Ｙｅｓ）、第２の決定部１５ｅは、出力累計値のピークが観測されるパラメータ値、および、出力累計値のピークの両端に対応する２点のパラメータ値を代表パラメータとして決定する（ステップＳ１０９）。
【００７５】
一方、出力累計値の波形にピークが含まれない場合（ステップＳ１０８Ｎｏ）、第２の決定部１５ｅは、出力累計値の波形に急増加または急減少する区間が存在するか否かをさらに判定する（ステップＳ１１０）。
【００７６】
このとき、出力累計値の波形に急増加または急減少する区間が存在する場合（ステップＳ１１０Ｙｅｓ）、第２の決定部１５ｅは、出力累計値の波形で急増加または急減少する区間の始点および終点に対応する２点のパラメータ値を代表パラメータとして決定する（ステップＳ１１１）。
【００７７】
また、出力累計値の波形に急増加および急減少する区間が存在しない場合（ステップＳ１１０Ｎｏ）、出力累計値の波形は、なだらかに変化する形状であると識別される。この場合、第２の決定部１５ｅは、任意の２点のパラメータ値を代表パラメータとして決定する（ステップＳ１１２）。
【００７８】
その後、出力制御部１５ｆは、ステップＳ１０９、ステップＳ１１１またはステップＳ１１２で決定された代表パラメータごとに当該代表パラメータが設定されたフィルタが適用されたサンプル動画を再生し（ステップＳ１１３）、処理を終了する。
【００７９】
［効果の一側面］
上述してきたように、本実施例に係るサーバ装置１０は、メディアデータに効果が薄い第１の代表パラメータが設定されたフィルタの第１の処理結果と、メディアデータに効果がある第２の代表パラメータが設定されたフィルタの第２の処理結果とを表示する。このように、フィルタがメディアデータに効果を発揮できるパラメータの調整を手引きする開発支援サービスを実現する。これによって、パラメータの変更およびパラメータ変更後のフィルタの効果確認などの手順を繰り返す試行錯誤が発生するのを抑制する。したがって、本実施例に係るサーバ装置１０によれば、フィルタに設定するパラメータの調整を容易に行うことが可能になる。
【実施例２】
【００８０】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００８１】
［応用例１］
上記の実施例１では、受付部１５ａが選択を受け付けたフィルタを適用するサンプル動画を複数のサンプル動画の中から１つに絞り込むことにより、１つのサンプル動画に関する代表パラメータを決定する場合を例示したが、これに限定されない。例えば、サーバ装置１０は、メディアデータ１３ｂに含まれるサンプル動画ごとに、当該サンプル動画に関する代表パラメータを決定することとしてもかまわない。すなわち、図９に示すステップＳ１０３からステップＳ１１２までの処理をメディアデータ１３ｂに含まれるサンプル動画ごとに実行する。その上で、サーバ装置１０は、メディアデータ１３ｂに含まれるサンプル動画のうち代表パラメータの数が最多であるサンプル動画を開発支援画面２００の表示エリア２２０で再生するサンプル動画として選択する。このとき、代表パラメータの数が最多であるサンプル動画が複数存在する場合、第１の決定部１５ｂが実行する処理により１つのサンプル動画に絞り込むこととしてもよい。
【００８２】
［応用例２］
上記の実施例１では、開発支援画面２００の表示エリア２２０でサンプル動画が開始のフレームから終了のフレームまでの全てのフレームに渡って出力累計値を算出する例を説明したが、必ずしもサンプル動画の全てのフレームについて出力累計値を算出せずともかまわない。例えば、サーバ装置１０は、サンプル動画の変化が所定の閾値以上である区間を抽出することにより、当該区間に絞り込んで出力累計値を算出することもできる。図１０は、サンプル動画の変化の一例を示す図である。図１０に示す縦軸は、動画の変化量を指し、横軸は、時間を指す。図１０に示すように、サンプル動画の変化が閾値Ｔｈ以上であるフレームｆ１〜フレームｆ２の区間でフィルタが出力する出力値に絞って累積加算することもできる。さらに、サーバ装置１０は、開発支援画面２００の表示エリア２２０で代表パラメータが設定されたサンプル動画を再生する場合にも、サンプル動画の全てのフレームを再生せずともかまわない。すなわち、サーバ装置１０は、サンプル動画の変化が閾値Ｔｈ以上であるフレームｆ１〜フレームｆ２の区間にしぼってサンプル動画を再生することもできる。これによって、代表パラメータの算出に関する処理負荷を軽減すると共に、サンプル動画の再生時間を短縮することができる。
【００８３】
［応用例３］
上記の実施例１では、フレームワークの提供を通じてＩｏＴサービスの開発を支援する場面で図９に示す処理が実行される場合を例示したが、図９に示す処理は、画像処理に関するフィルタまたは音声処理に関するフィルタにパラメータが設定される場面全般に適用することができる。
【００８４】
［分散および統合］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、受付部１５ａ、第１の決定部１５ｂ、適用部１５ｃ、算出部１５ｄ、第２の決定部１５ｅまたは出力制御部１５ｆをサーバ装置１０の外部装置としてネットワーク経由で接続するようにしてもよい。また、受付部１５ａ、第１の決定部１５ｂ、適用部１５ｃ、算出部１５ｄ、第２の決定部１５ｅまたは出力制御部１５ｆを別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のサーバ装置１０の機能を実現するようにしてもよい。また、記憶部１３に記憶されるフレームワークデータ１３ａ、メディアデータ１３ｂおよびサービス定義データ１３ｃの全部または一部を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のサーバ装置１０の機能を実現するようにしてもかまわない。
【００８５】
［メディア処理プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１１を用いて、上記の実施例と同様の機能を有するメディア処理プログラムを実行するコンピュータの一例について説明する。
【００８６】
図１１は、実施例１及び実施例２に係るメディア処理プログラムを実行するコンピュータのハードウェア構成例を示す図である。図１１に示すように、コンピュータ１００は、操作部１１０ａと、スピーカ１１０ｂと、カメラ１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ（Read  Only  Memory）１６０と、ＨＤＤ１７０と、ＲＡＭ１８０とを有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【００８７】
ＨＤＤ１７０には、図１１に示すように、上記の実施例１で示した受付部１５ａ、第１の決定部１５ｂ、適用部１５ｃ、算出部１５ｄ、第２の決定部１５ｅおよび出力制御部１５ｆと同様の機能を発揮するメディア処理プログラム１７０ａが記憶される。このメディア処理プログラム１７０ａは、図１に示した受付部１５ａ、第１の決定部１５ｂ、適用部１５ｃ、算出部１５ｄ、第２の決定部１５ｅおよび出力制御部１５ｆの各構成要素と同様、統合又は分離してもかまわない。すなわち、ＨＤＤ１７０には、必ずしも上記の実施例１で示した全てのデータが格納されずともよく、処理に用いるデータがＨＤＤ１７０に格納されればよい。
【００８８】
このような環境の下、ＣＰＵ１５０は、ＨＤＤ１７０からメディア処理プログラム１７０ａを読み出した上でＲＡＭ１８０へ展開する。この結果、メディア処理プログラム１７０ａは、図１１に示すように、メディア処理プロセス１８０ａとして機能する。このメディア処理プロセス１８０ａは、ＲＡＭ１８０が有する記憶領域のうちメディア処理プロセス１８０ａに割り当てられた領域にＨＤＤ１７０から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、メディア処理プロセス１８０ａが実行する処理の一例として、図９に示す処理などが含まれる。なお、ＣＰＵ１５０では、必ずしも上記の実施例１で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
【００８９】
なお、上記のメディア処理プログラム１７０ａは、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶されておらずともかまわない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ（Compact  Disc）−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣ（Integrated  Circuit）カードなどの「可搬用の物理媒体」にメディア処理プログラム１７０ａを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体からメディア処理プログラム１７０ａを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などにメディア処理プログラム１７０ａを記憶させておき、コンピュータ１００がこれらからメディア処理プログラム１７０ａを取得して実行するようにしてもよい。
【００９０】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００９１】
（付記１）メディアデータに適用するフィルタの選択を受け付ける受付部と、
前記選択を受け付けたフィルタに設定可能なパラメータの数値範囲の中から、前記パラメータを代表する複数の代表パラメータを決定する決定部と、
前記複数の代表パラメータごとに、当該代表パラメータが設定されたフィルタを適用したメディアデータの表示出力または音声出力を制御する出力制御部と
を有することを特徴とするメディア処理装置。
【００９２】
（付記２）前記選択を受け付けたフィルタに設定可能なパラメータの数値範囲に含まれるパラメータ値ごとに、当該パラメータ値が設定されたフィルタを前記メディアデータに適用する適用部と、
前記メディアデータに適用されたフィルタが時系列に出力する出力値の時系列データから前記出力値が累計された出力累計値を前記パラメータ値ごとに算出する算出部とをさらに有し、
前記決定部は、前記パラメータ値ごとに算出された出力累計値の波形に基づいて前記パラメータを代表する複数の代表パラメータを決定することを特徴とする付記１に記載のメディア処理装置。
【００９３】
（付記３）前記決定部は、前記パラメータ値ごとに算出された出力累計値の波形にピークが含まれる場合、前記出力累計値のピークが観測されるパラメータ値、および、前記出力累計値のピークの両端に対応する２点のパラメータ値を前記代表パラメータとして決定することを特徴とする付記２に記載のメディア処理装置。
【００９４】
（付記４）前記決定部は、前記パラメータ値ごとに算出された出力累計値の波形に所定の度合い以上で増加または減少する区間が含まれる場合、前記出力累計値の波形で増加または減少する区間の始点および終点に対応する２点のパラメータ値を代表パラメータとして決定することを特徴とする付記２に記載のメディア処理装置。
【００９５】
（付記５）前記出力制御部は、前記複数の代表パラメータの間で前記代表パラメータが設定されたフィルタを適用したメディアデータの映像を同期して再生することを特徴とする付記１〜付記４のいずれか１つに記載のメディア処理装置。
【００９６】
（付記６）メディアデータに適用するフィルタの選択を受け付け、
前記選択を受け付けたフィルタに設定可能なパラメータの数値範囲の中から、前記パラメータを代表する複数の代表パラメータを決定し、
前記複数の代表パラメータごとに、当該代表パラメータが設定されたフィルタを適用したメディアデータの表示出力または音声出力を制御する、
処理をコンピュータが実行することを特徴とするメディア処理方法。
【００９７】
（付記７）前記選択を受け付けたフィルタに設定可能なパラメータの数値範囲に含まれるパラメータ値ごとに、当該パラメータ値が設定されたフィルタを前記メディアデータに適用し、
前記メディアデータに適用されたフィルタが時系列に出力する出力値の時系列データから前記出力値が累計された出力累計値を前記パラメータ値ごとに算出する処理を前記コンピュータがさらに実行し、
前記決定する処理は、前記パラメータ値ごとに算出された出力累計値の波形に基づいて前記パラメータを代表する複数の代表パラメータを決定することを特徴とする付記６に記載のメディア処理方法。
【００９８】
（付記８）前記決定する処理は、前記パラメータ値ごとに算出された出力累計値の波形にピークが含まれる場合、前記出力累計値のピークが観測されるパラメータ値、および、前記出力累計値のピークの両端に対応する２点のパラメータ値を前記代表パラメータとして決定することを特徴とする付記７に記載のメディア処理方法。
【００９９】
（付記９）前記決定する処理は、前記パラメータ値ごとに算出された出力累計値の波形に所定の度合い以上で増加または減少する区間が含まれる場合、前記出力累計値の波形で増加または減少する区間の始点および終点に対応する２点のパラメータ値を代表パラメータとして決定することを特徴とする付記７に記載のメディア処理方法。
【０１００】
（付記１０）前記制御する処理は、前記複数の代表パラメータの間で前記代表パラメータが設定されたフィルタを適用したメディアデータの映像を同期して再生することを特徴とする付記６〜付記９のいずれか１つに記載のメディア処理方法。
【符号の説明】
【０１０１】
１    開発支援システム
１０    サーバ装置
１１    通信Ｉ／Ｆ部
１３    記憶部
１３ａ  フレームワークデータ
１３ｂ  メディアデータ
１３ｃ  サービス定義データ
１５    制御部
１５ａ  受付部
１５ｂ  第１の決定部
１５ｃ  適用部
１５ｄ  算出部
１５ｅ  第２の決定部
１５ｆ  出力制御部
３０    クライアント端末
【図１】
2019091179.tif 000003
【図２】
2019091179.tif 000004
【図３】
2019091179.tif 000005
【図４】
2019091179.tif 000006
【図５Ａ】
2019091179.tif 000007
【図５Ｂ】
2019091179.tif 000008
【図５Ｃ】
2019091179.tif 000009
【図６】
2019091179.tif 000010
【図７】
2019091179.tif 000011
【図８Ａ】
2019091179.tif 000012
【図８Ｂ】
2019091179.tif 000013
【図９】
2019091179.tif 000014
【図１０】
2019091179.tif 000015
【図１１】
2019091179.tif 000016