JP6341078B2 - Server apparatus, program, and information processing method - Google Patents
Server apparatus, program, and information processing method Download PDFInfo
- Publication number
- JP6341078B2 JP6341078B2 JP2014249292A JP2014249292A JP6341078B2 JP 6341078 B2 JP6341078 B2 JP 6341078B2 JP 2014249292 A JP2014249292 A JP 2014249292A JP 2014249292 A JP2014249292 A JP 2014249292A JP 6341078 B2 JP6341078 B2 JP 6341078B2
- Authority
- JP
- Japan
- Prior art keywords
- filter
- data
- processing
- filters
- graph
- 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
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
本発明は、サーバ装置、プログラム及び情報処理方法に関する。 The present invention relates to a server device, a program, and an information processing method.
スマートフォン等の端末装置で利用されている音声認識処理等では、例えば、端末装置が音声等のメディアデータをサーバ装置に送信し、サーバ装置が、メディアデータに対して所定の処理(以下、「メディア処理」ともいう。)を実行し、端末装置に返信する(例えば、特許文献1参照)。 In speech recognition processing used in a terminal device such as a smartphone, for example, the terminal device transmits media data such as speech to the server device, and the server device performs predetermined processing (hereinafter referred to as “media”) on the media data. The process is also referred to as “process” and is returned to the terminal device (see, for example, Patent Document 1).
端末装置から送信されるメディアデータのデータ量が増える程、サーバ装置は、そのリクエストに対応するために処理の効率化を図ることが重要になる。そこで、コーデック変換、マルチプレクサ等の単機能の処理を再利用が容易なようにモジュール化した「フィルタ」を組み合わせ、フィルタ単位でメディア処理を順番に実行するフィルタグラフの生成技術が提案されている(例えば、特許文献2参照)。サーバ装置は、フィルタグラフのフィルタの接続順序を実行順番にして入力されたメディアデータをフィルタ毎に順番に処理する。 As the amount of media data transmitted from the terminal device increases, it becomes more important for the server device to improve processing efficiency in order to respond to the request. Therefore, a filter graph generation technique has been proposed in which single-function processing such as codec conversion and multiplexer is combined with a modularized “filter” so that it can be easily reused, and media processing is sequentially executed in units of filters ( For example, see Patent Document 2). The server device processes the input media data for each filter in the order of execution of the connection order of the filters in the filter graph.
しかしながら、フィルタグラフにおいてフィルタの接続順序が適正でない場合、不要なフィルタ処理が自動挿入され、フィルタグラフにおけるメディアデータの処理の効率が低下する場合がある。 However, if the connection order of the filters in the filter graph is not appropriate, unnecessary filter processing is automatically inserted, and the efficiency of media data processing in the filter graph may be reduced.
そこで、一側面では、本発明は、フィルタグラフにおけるメディアデータの処理を効率的に実行することを目的とする。 Accordingly, in one aspect, an object of the present invention is to efficiently execute media data processing in a filter graph.
一つの案では、フィルタ毎の処理が実行される複数のフィルタの実行順番を定めたフィルタグラフを生成し、該実行順番に従い前記複数のフィルタの処理を実行するサーバ装置であって、前記フィルタグラフに含まれるフィルタのうち、第1のフィルタと該第1のフィルタの処理の逆処理を行う第2のフィルタとのペアを検出する検出部と、前記フィルタグラフに含まれるフィルタのうち、前記第1のフィルタと前記第2のフィルタとの間で実行されるフィルタがデータ変更処理を行うかを判定する判定部と、前記第1のフィルタと前記第2のフィルタとの間で実行されるフィルタがデータ変更処理を行わない場合、前記第1のフィルタへの入力データを前記第2のフィルタからの出力データとするバイパス処理を行い、前記第2のフィルタへの入力データを破棄する処理部と、を有するサーバ装置が提供される。 In one proposal, a server device that generates a filter graph that defines an execution order of a plurality of filters for which processing for each filter is executed, and executes the processing of the plurality of filters according to the execution order, the filter graph Of the first filter and the second filter that performs a reverse process of the processing of the first filter, and the first of the filters included in the filter graph. A determination unit for determining whether a filter executed between one filter and the second filter performs data change processing; and a filter executed between the first filter and the second filter Does not perform data change processing, performs bypass processing using the input data to the first filter as output data from the second filter, and the second filter Server device is provided with a discarding processing unit input data.
一側面によれば、本発明は、フィルタグラフにおけるメディアデータの処理を効率的に実行することができる。 According to one aspect, the present invention can efficiently execute processing of media data in a filter graph.
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。 Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In addition, in this specification and drawing, about the component which has the substantially same function structure, the duplicate description is abbreviate | omitted by attaching | subjecting the same code | symbol.
[メディア処理システムの全体構成]
まず、本発明の一実施形態に係るメディア処理システム1の構成について、図1を参照しながら説明する。一実施形態に係るメディア処理システム1は、端末装置10とサーバ装置20とを有する。端末装置10とサーバ装置20とは、ネットワーク30により接続されている。
[Entire configuration of media processing system]
First, the configuration of a
端末装置10の一例としては、スマートフォン、タブレット型端末、パーソナルコンピュータが挙げられる。ただし、端末装置10は、これに限らず、例えば、携帯電話、携帯型情報端末(PDA)、携帯型音楽機器、ゲーム機器等、通信機能を有する端末装置であればよい。
Examples of the
サーバ装置20は、端末装置10から送信されるメディアデータを受信し、端末装置10からリクエストされる音声認識処理等のメディア処理を実行し、処理後のメディアデータを端末装置10に返信する。サーバ装置20は、端末装置10に接続されるクラウド上のサーバーであってもよい。
The
(フィルタグラフ)
サーバ装置20は、フィルタ単位で処理が実行される複数のフィルタの実行順番を定めたフィルタグラフを生成し、複数のフィルタをフィルタ単位で実行順番(接続順)に従い実行する。具体的には、フィルタグラフは、図2に示すように、コーデック変換、マルチプレクサ等の単機能の処理を再利用が容易なようにモジュール化した「フィルタ」を組み合わせたものである。サーバ装置20は、フィルタグラフのフィルタの組み合わせ順序に従い、入力したメディアデータを上流のフィルタから下流のフィルタに向けてフィルタ毎に順に処理し、処理済のメディアデータを最下流のフィルタから出力する。
(Filter graph)
The
図2では、サーバ装置20は、カメラが撮像した画像データを入力し、コーデック変換の処理をフィルタ単位で行う。また、サーバ装置20は、マイクが取得した音声データを入力し、マルチプレクサの処理をフィルタ単位で行う。フィルタに出力された処理済のメディアデータは、次のフィルタに入力されるか、端末装置10に転送される。
In FIG. 2, the
フィルタグラフは、複数のフィルタが最適な実行順番で生成されない場合がある。特に、入力されるメディアデータがフィルタグラフの複数の開発者により使用される場合等において、最適な実行順番で生成されることが困難な場合がある。 In the filter graph, a plurality of filters may not be generated in an optimal execution order. In particular, when input media data is used by a plurality of developers of filter graphs, it may be difficult to generate them in an optimal execution order.
フィルタグラフが、最適な実行順番で生成されない場合、フィルタグラフで定められた複数のフィルタの実行順番によっては、不要なフィルタが自動で挿入されることがある。例えば、図3では、フィルタ40→フィルタ42→フィルタ44の接続順序(実行順番)でフィルタグラフが作成されたとする。その場合、サンプリングレートを8kHzから16kHzに変換するフィルタ41が必要と判断され、フィルタ40とフィルタ42との間に自動挿入される。また、サンプリングレートを16kHzから8kHzに変換するフィルタ43が必要と判断され、フィルタ42とフィルタ44との間に自動挿入される。
If the filter graph is not generated in the optimal execution order, unnecessary filters may be automatically inserted depending on the execution order of the plurality of filters defined in the filter graph. For example, in FIG. 3, it is assumed that the filter graph is created in the connection order (execution order) of
一方、フィルタ44がフィルタ40と直接接続される位置にフィルタグラフが設計されれば、フィルタ41とフィルタ43とは不要となり、自動挿入されない。つまり、図3のフィルタグラフは、フィルタの接続順序が適切でなかったために不要なフィルタが自動挿入された例である。
On the other hand, if the filter graph is designed at a position where the filter 44 is directly connected to the
このように、生成されたフィルタグラフによるフィルタの接続順序が適正でない場合、不要なフィルタ処理が自動挿入され、かえってメディア処理の効率が低下する場合がある。そこで、以下に説明する第1〜第3実施形態に係るメディア処理システム1では、生成されたフィルタグラフにおけるメディアデータの処理を効率的に実行する。
As described above, when the connection order of the filters based on the generated filter graph is not appropriate, unnecessary filter processing is automatically inserted, and the efficiency of media processing may be lowered. Therefore, in the
[機能構成]
まず、第1及び第2実施形態に係るサーバ装置20の機能構成の一例について、図4を参照しながら説明する。サーバ装置20は、フィルタグラフ生成部21、検出部22、記憶部23、判定部24、バイパス付与部25及びフィルタ処理部26を有する。
[Function configuration]
First, an example of a functional configuration of the
フィルタグラフ生成部21は、予め特定されたフィルタ接続関係に基づきフィルタ単位で処理が実行される複数のフィルタを接続し、実行順番を定めたフィルタグラフを生成する。
The filter
検出部22は、フィルタグラフに含まれるフィルタのうち、第1のフィルタとその第1のフィルタの処理の逆処理を行う第2のフィルタとのペアを検出する。例えば、図3のフィルタ41とフィルタ43とは、逆変換のペアであり、上流側のフィルタ41は、第1のフィルタの一例であり、下流側のフィルタ43は、第2のフィルタの一例である。
The
判定部24は、フィルタグラフに含まれるフィルタのうち、第1のフィルタと第2のフィルタとの逆変換のペアの間で実行されるフィルタがデータ変更処理を行うかを判定する。
The
バイパス付与部25は、第1のフィルタと第2のフィルタとの間で実行されるフィルタでデータ変更処理が行われないと判定された場合、第1のフィルタに入力するデータを第2のフィルタから出力するデータのバイパスルートを付与する。
When it is determined that the data change process is not performed by the filter executed between the first filter and the second filter, the
フィルタ処理部26は、端末装置10から画像や音声等のメディアデータを入力し、フィルタグラフに従いフィルタ処理を実行する。ただし、バイパスが付与されている場合、フィルタ処理部26は、第1のフィルタへの入力データを第2のフィルタから出力するバイパス処理を行い、フィルタグラフに従いフィルタ処理を実行し、第2のフィルタへ入力されたデータを破棄する。
The
記憶部23は、逆変換管理データベース(DB)27及びデータ変更フィルタテーブル28を有する。逆変換管理DB27の一例を図5に示す。逆変換管理DB27は、フィルタ種別ID271、フィルタ名272、逆変換フィルタID273、比較パラメータ1(P1)274、比較パラメータ2(P2)275の各項目を有する。
The
フィルタ種別ID271と逆変換フィルタID273が異なる値の場合、その2つのフィルタは逆変換ペアである。フィルタ種別ID271と逆変換フィルタID273が同じ値の場合、比較パラメータ1(P1)274、比較パラメータ2(P2)275が設定されている。フィルタAの比較パラメータ1(P1)274とフィルタBの比較パラメータ2(P2)275、及び、フィルタAの比較パラメータ2(P2)275とフィルタBの比較パラメータ1(P1)274がそれぞれ等しい場合、フィルタA、Bは逆変換ペアである。フィルタ名272は、フィルタ種別ID271により識別されるフィルタの名前を示す。
When the
データ変更フィルタテーブル28の一例を図6に示す。データ変更フィルタテーブル28は、フィルタ種別ID281、フィルタ名282、データ変更情報283の各項目を有する。フィルタ名282は、フィルタ種別ID281により識別されるフィルタの名前を示す。データ変更情報283は、「1」に設定されている場合にはデータ変更が「有」を示し、「0」に設定されている場合にはデータ変更が「無」を示す。例えば、フィルタ種別292が「6」、フィルタ名293が「音量抽出」のフィルタの場合、音を取り込む処理が行われるため、データ変更は行われないため、データ変更情報283は「0」となる。
An example of the data change filter table 28 is shown in FIG. The data change filter table 28 includes items of a
[動作]
<第1実施形態>
次に、かかる機能構成を有するサーバ装置20の動作について、第1実施形態、第2実施形態の順に説明する。図7は、第1実施形態にかかるバイパス付加処理の一例を示すフローチャートである。図8は、第1実施形態にかかるフィルタ処理の一例を示すフローチャートである。図9は、第1実施形態にかかるバイパスを説明するための図である。
[Operation]
<First Embodiment>
Next, operation | movement of the
(バイパス付加処理)
まず、図7のバイパス付加処理について、図7を参照して説明する。フィルタグラフ生成部21は、フィルタの追加や削除の命令を受信すると(ステップS10)、所定のフィルタグラフの生成又は変更を行う(ステップS12)。
(Bypass additional processing)
First, the bypass addition process of FIG. 7 will be described with reference to FIG. When the filter
次に、フィルタグラフ生成部21は、既存のバイパスをすべて削除する(ステップS14)。次に、検出部22は、事前に設定された逆変換管理DB27のデータを参照し、フィルタグラフの全フィルタから、逆変換のペアを抽出する(ステップS16)。
Next, the filter
検出部22は、一のフィルタのフィルタ種別ID271に対応する逆変換フィルタID273を持つ他のフィルタを見つけた場合、その2つのフィルタは逆変換のペアであると判断する。ただし、一のフィルタのフィルタ種別ID271と対応する逆変換フィルタID273が同じ値の場合、一のフィルタの比較パラメータ1(P1)274と他のフィルタの比較パラメータ2(P2)275、及び一のフィルタの比較パラメータ2(P2)275と他のフィルタの比較パラメータ1(P1)274がそれぞれ等しい場合のみ、一のフィルタと他のフィルタとは逆変換のペアであると判断する。
When the
次に、検出部22は、逆変換のペアが一つ以上抽出されたかを判定する(ステップS18)。検出部22は、逆変換のペアが抽出されなかったと判定した場合、本処理を終了する。一方、検出部22は、逆変換のペアが一つ以上抽出されたと判定した場合、ペア毎に逆変換のペアの間に挟まれたフィルタを抽出する(ステップS20)。
Next, the
例えば、図8に示すフィルタグラフの場合、メディアデータは、データ受信処理を行うフィルタ50で受信され、フィルタ51→フィルタ52→フィルタ53の順に処理され、出力される。よって、まず、検出部22は、図8のフィルタグラフを検査し、処理Aのフィルタ51と処理aのフィルタ53とがつながっていて、処理aが処理Aの逆変換処理を行うことを確認し、逆変換のペアとして抽出する。次に、検出部22は、抽出した逆変換のペアの間に挟まれたフィルタを抽出する。図8では、処理Aのフィルタ51と処理aのフィルタ53との間に挟まれたフィルタ52が抽出される。フィルタ51,53は逆変換のペアであり、フィルタ51は第1のフィルタ(上流側(入力側)のフィルタ)の一例、フィルタ53は第2のフィルタ(下流側(出力側)のフィルタ)の一例である。また、フィルタ52は、第1のフィルタと第2のフィルタとの間で実行されるフィルタの一例である。
For example, in the case of the filter graph shown in FIG. 8, media data is received by the
判定部24は、予め設定されたデータ変更フィルタテーブル28に記憶されたデータを参照し、逆変換ペアのフィルタに挟まれたフィルタにデータ変更が行われるフィルタが存在するかをチェックする(ステップS22)。フィルタ種別ID281に応じたデータ変更情報283に基づき、逆変換ペアのフィルタに挟まれたフィルタでデータ変更が行われるかが判定可能である。
The
判定部24は、データ変更が行われるフィルタが存在するかを判定し(ステップS24)、データ変更が行われるフィルタが存在すると判定した場合、ステップS28に進む。一方、判定部24が、データ変更が行われるフィルタが存在しないと判定した場合、バイパス付与部25は、抽出した逆変換のペアのフィルタ間をデータがバイパスするパスをフィルタグラフに追加し(ステップS26)、ステップS28に進む。
The
例えば、図8に示すように、逆変換のペアのフィルタ51,53間に挟まれたフィルタ52ではデータ変更処理は行われない。この場合、判定部24は、逆変換のペアのフィルタ51,53間にデータ変更が行われるフィルタは存在しないと判定し、バイパス付与部25は、抽出した逆変換のペアのフィルタ51,53をデータがバイパスするパス(以下、「バイパスルートR1」ともいう。)をフィルタグラフに追加する。
For example, as shown in FIG. 8, the data changing process is not performed in the
図7に戻り、次に、判定部24は、ステップS28にて、抽出されたすべての逆変換のペアについてステップS20〜S26のチェックが行われたかを判定する。判定部24は、抽出されたすべての逆変換のペアについてチェックが行われたと判定した場合、本処理を終了する。一方、判定部24は、抽出されたすべての逆変換のペアについてチェックが行われていないと判定した場合、ステップS20に戻り、ステップS20以降の処理を繰り返す。
Returning to FIG. 7, next, the
以上に説明したバイパス付加処理によれば、逆変換ペアのフィルタ間で実行されるフィルタがデータ変更処理を行わない場合、逆変換ペアの上流側のフィルタに入力されたデータを逆変換ペアの下流側のフィルタから出力するバイパスルートR1が形成される。この結果、フィルタグラフの順序を変更せずに適正なデータのバイパスを形成することで、フィルタグラフにおけるメディアデータの処理を効率的に実行することができる。 According to the bypass addition process described above, when the filter executed between the filters of the inverse transform pair does not perform the data change process, the data input to the upstream filter of the inverse transform pair is converted to the downstream of the inverse transform pair. A bypass route R1 output from the side filter is formed. As a result, media data processing in the filter graph can be efficiently executed by forming an appropriate data bypass without changing the order of the filter graph.
(フィルタ処理)
次に、図9のフィルタ処理(バイパス処理含む)について、図9を参照して説明する。まず、フィルタ処理部26は、端末装置10から送信されたメディアデータを受信すると(ステップS30)、生成されたフィルタグラフから次のフィルタを取得する(ステップS32)。次のフィルタとは、フィルタグラフの接続順序にしたがい特定される。
(Filter processing)
Next, the filter processing (including bypass processing) of FIG. 9 will be described with reference to FIG. First, when receiving the media data transmitted from the terminal device 10 (step S30), the
次に、フィルタ処理部26は、次のフィルタがあるかを判定する(ステップS34)。フィルタ処理部26は、次のフィルタがないと判定した場合、本処理を終了する。一方、フィルタ処理部26は、次のフィルタがあると判定した場合、次のフィルタにデータを送信し(ステップS36)、次のフィルタの処理を実行する(ステップS38)。これにより、送信データが作成される。
Next, the
例えば、図8では、次のフィルタが処理Aのフィルタ51の場合、フィルタグラフの実行順序(以下、「正規ルートR2」ともいう。)に従い、フィルタ50で受信したデータがフィルタ51に入力され、処理Aが実行される。加えて、フィルタ51に入力されたデータは、バイパスルートR1を使ってフィルタ53からそのまま出力される。
For example, in FIG. 8, when the next filter is the
図7に戻り、次に、フィルタ処理部26は、正規ルートR2から逆変換のペアの下流側のフィルタ(第2のフィルタ)に入力するデータを破棄し(ステップS40)、ステップS32に戻る。
Returning to FIG. 7, next, the
例えば、次のフィルタが、図8に示すフィルタ53である場合、フィルタ53は逆変換のペアの下流側のフィルタであるため、正規ルートR2からフィルタ53に入力されるデータは破棄される。
For example, when the next filter is the
以上に説明したように、第1実施形態にかかるサーバ装置20によれば、バイパスルートR1を使用して逆変換のペアのうち上流側のフィルタが入力したデータをそのまま下流側のフィルタから出力する。また、正規ルートR2から下流側のフィルタに入力されるデータは破棄される。これにより、フィルタグラフにおけるメディアデータの処理を効率的に実行することができる。
<第2実施形態>
次に、第2実施形態にかかるサーバ装置20の動作について、図10を参照して説明する。図10は、第2実施形態にかかるバイパス付加処理の一例を示すフローチャートである。第1実施形態と異なる点は、ステップS50が追加され、複数の逆変換のペアが多重に連結したフィルタグラフにも本バイパス機能を対応可能とした点である。
As described above, according to the
Second Embodiment
Next, operation | movement of the
(バイパス付加処理)
まず、第1実施形態と同様に、ステップS10〜ステップS24の処理が実行される。ステップS22では、判定部24は、抽出された逆変換ペアのフィルタの間で実行されるフィルタのうちデータ変更が行われるフィルタが存在するかをチェックする(ステップS22)。その結果に基づき、判定部24は、データ変更が行われるフィルタが存在するかを判定する(ステップS24)。その結果、データ変更が行われるフィルタが存在すると判定された場合、そのデータ変更が行われるフィルタが多重化した複数の逆変換のペアのうちの他のペアのみであるかを判定する(ステップS50)。
(Bypass additional processing)
First, similarly to the first embodiment, the processes of steps S10 to S24 are executed. In step S22, the
データ変更が行われるフィルタが他の逆変換のペアのみであると判定された場合、バイパス付与部25は、抽出したペアをバイパスするパスをフィルタグラフに追加し(ステップS26)、ステップS28に進む。ステップS50においてデータ変更が行われるフィルタが他の逆変換のペアのみではないと判定された場合、そのままステップS28に進む。
When it is determined that the filter whose data is changed is only another inverse transform pair, the
例えば、図11に示すように、逆変換のペアのフィルタが2組存在するフィルタグラフについて説明する。処理Aのフィルタ61及び処理aのフィルタ65が1組目の逆変換のペアであり、処理Bのフィルタ62及び処理bのフィルタ64が2組目の逆変換のペアである。フィルタ63は、2組の逆変換ペアのフィルタ間で実行されるフィルタである。フィルタ63が行う処理Cは、データ変更は行われない。
For example, as shown in FIG. 11, a filter graph in which two pairs of inverse transform filters exist will be described. The filter 61 for process A and the
1組目の逆変換のペアの場合、ステップS24にて「Yes」と判定されると、ステップS50にて、判定部24は、1組目の逆変換のペアのフィルタ61,65に挟まれたフィルタ62,63,64について、データ変更が行われるフィルタがあるかを判定する。ここでは、フィルタ62、64は、データ変更が行われるフィルタである。そして、このフィルタ62、64は、他の逆変換のペアである。よって、この場合、判定部24は、ステップS50にて「Yes」と判定し、抽出した逆変換のペアのフィルタ61,65をデータがバイパスするパス(バイパスルートR1)をフィルタグラフに追加する。
In the case of the first pair of inverse transforms, if “Yes” is determined in step S24, the
また、判定部24は、2組目の逆変換のペアのフィルタ62,64に挟まれたフィルタ63について、データ変更が行われるかを判定する(ステップS24)。ここでは、フィルタ63は、データ変更が行われない処理のみ実行する。よって、この場合、判定部24は、ステップS24にて「No」と判定し、抽出した逆変換のペアのフィルタ62,64をデータがバイパスするパスをフィルタグラフに追加する。
Further, the
ただし、逆変換のペアのフィルタ62,64をデータがバイパスするパスを使用してフィルタ65に入力されるデータは、図9のステップS40において下流側のフィルタ65に入力されたデータであるため破棄される。同様に、下流側のフィルタ64に入力されたデータが破棄される。
However, the data input to the
以上に説明したように、第2実施形態にかかるサーバ装置20によれば、複数組の逆変換ペアのフィルタが存在する場合であっても、組毎に逆変換ペアの上流側のフィルタへ入力されるデータを下流側のフィルタからそのまま出力可能なデータのバイパスが形成される。この結果、複数組の逆変換ペアのフィルタが存在する場合であっても、フィルタグラフの順序を変更せずに適正なデータのバイパスを形成することで、フィルタグラフにおけるメディアデータの処理を効率的に実行することができる。
<第3実施形態>
第3実施形態にかかるサーバ装置20では、各フィルタのデータ変更処理の有無を所定の間隔で自動推定し、ユーザの負担を軽減する。具体的には、フィルタごとに定期的に入力データと出力データとが比較され、一致するか否かが判定される。所定の回数以上変化がないことが確認された場合、そのフィルタがデータ変更処理を行うかを示すフラグ(以下、「フィルタ設定変化フラグ」ともいう。)は「0」とする。よって、フィルタ設定変化フラグが「0」のとき、ペア間のフィルタはデータ変更処理を行わないことが示され、フィルタ設定変化フラグが「1」のとき、ペア間のフィルタはデータ変更処理を行うことが示される。
As described above, according to the
<Third Embodiment>
In the
図12に示すように、第3実施形態にかかるサーバ装置20の記憶部23には、逆変換管理DB27、データ変更フィルタテーブル28に加えて変更有無検出データテーブル29が記憶されている。
As illustrated in FIG. 12, the
図13に変更有無検出データテーブル29の一例を示す。変更有無検出データテーブル29は、フィルタインスタンスID291、フィルタ種別ID292、受信データ数293、変更なしデータ数294の各項目を有する。フィルタインスタンスID291が「1」、「2」、「3」・・・と順番に付けられ、フィルタ種別ID292が各フィルタインスタンスID291に対応付けられている。各フィルタ種別ID292毎に、受信データ数293と変更なしデータ数294とが記憶されている。
FIG. 13 shows an example of the change presence / absence detection data table 29. The change presence / absence detection data table 29 includes items of a
[動作]
次に、以上に説明した第3実施形態に係るサーバ装置20の動作について説明する。図14は、第3実施形態にかかるバイパス付加処理の一例を示すフローチャートである。図15は、第3実施形態にかかるフィルタ処理の一例を示すフローチャートである。
[Operation]
Next, the operation of the
(バイパス付加処理)
まず、第1実施形態と同様に、ステップS10〜ステップS22の処理が実行される。ステップS22では、抽出された逆変換ペアのフィルタに挟まれたフィルタのうちデータ変更が行われるフィルタが存在するかをチェックする(ステップS22)。その結果に基づき、判定部24は、データ変更の有無が不明なフィルタ(以下、「データ変更有無不明フィルタ」ともいう。)が存在するかを判定する(ステップS60)。
(Bypass additional processing)
First, similarly to the first embodiment, the processes in steps S10 to S22 are executed. In step S22, it is checked whether there is a filter whose data is changed among the filters sandwiched between the extracted filters of the inverse transform pair (step S22). Based on the result, the
判定部24は、データ変更有無不明フィルタが存在すると判定した場合、データ変更有無不明フィルタが変更有無検出データテーブル29に未登録か否かを判定する(ステップS62)。データ変更有無不明フィルタが変更有無検出データテーブル29に未登録か否かは、データ変更有無不明フィルタのIDと変更有無検出データテーブル29のフィルタ種別ID292とを照合することにより判定してもよい。データ変更有無不明フィルタが変更有無検出データテーブル29に未登録であると判定された場合、記憶部23は、データ変更有無不明フィルタを変更有無検出データテーブル29に追加し、ステップS28に進む。
When determining that the data change presence / absence unknown filter exists, the
一方、判定部24は、データ変更有無不明フィルタが存在しないと判定した場合、逆変換のペアのフィルタ間で実行されるフィルタに、データ変更が行われるフィルタが存在するかを判定する(ステップS24)。データ変更が行われるフィルタが存在すると判定した場合、ステップS28に進む。一方、判定部24は、データ変更が行われるフィルタが存在しないと判定した場合、バイパス付与部25は、抽出した逆変換のペアのフィルタ間をデータがバイパスするパスをフィルタグラフに追加し(ステップS26)、ステップS28に進む。
On the other hand, when determining that there is no data change presence / absence unknown filter, the
次に、判定部24は、ステップS28にて、抽出されたすべての逆変換のペアについてステップS20〜S26、S60、S62のチェックが行われたかを判定する。判定部24は、抽出されたすべての逆変換のペアについてチェックが行われたと判定した場合、本処理を終了する。一方、判定部24は、抽出されたすべての逆変換のペアについてチェックが完了していないと判定した場合、ステップS20に戻り、ステップS20以降の処理を繰り返す。
Next, in step S <b> 28, the
以上に説明したバイパス付加処理によれば、逆変換ペアのフィルタ間のフィルタのいずれかがデータ変更処理を行うかが判定される。判定の結果、逆変換ペアのフィルタ間で実行されるフィルタがデータ変更処理を行わない場合、逆変換ペアの上流側のフィルタへの入力データを下流側のフィルタの出力データとするデータのバイパスが形成される。この結果、フィルタグラフの順序を変更せずに適正なデータのバイパスを形成することで、フィルタグラフにおけるメディアデータの処理を効率的に実行することができる。 According to the bypass addition process described above, it is determined whether any of the filters between the filters of the inverse transform pair performs the data change process. As a result of the determination, when the filter executed between the filters of the inverse transform pair does not perform the data change process, data bypass using the input data to the upstream filter of the inverse transform pair as the output data of the downstream filter is performed. It is formed. As a result, media data processing in the filter graph can be efficiently executed by forming an appropriate data bypass without changing the order of the filter graph.
(フィルタ処理/フィルタのデータ変更の自動推定処理)
図15のフィルタ処理(フィルタのデータ変更の自動推定処理を含む)では、まず、フィルタ処理部26は、端末装置10から送信されたメディアデータを受信すると(ステップS30)、フィルタ設定変化フラグに「0」を設定する(ステップS70)。次に、フィルタ処理部26は、生成されたフィルタグラフから次のフィルタを取得する(ステップS32)。
(Filtering / automatic estimation of filter data change)
In the filter process of FIG. 15 (including an automatic estimation process of filter data change), first, when the
次に、フィルタ処理部26は、次のフィルタがあるかを判定する(ステップS34)。フィルタ処理部26は、次のフィルタがないと判定した場合、フィルタ設定変化フラグに「1」が設定されているかを判定する(ステップS72)。フィルタ処理部26は、フィルタ設定変化フラグに「1」が設定されていないと判定した場合、逆変換のペアのフィルタ間で実行されるフィルタはデータ変更処理を行わないと判定し、本処理を終了する。
Next, the
一方、フィルタ処理部26は、フィルタ設定変化フラグに「1」が設定されていると判定した場合、逆変換のペアのフィルタ間で実行されるフィルタはデータ変更処理を行うと判定し、図14の(1)に示すステップS14に進む。
On the other hand, if the
ステップS34において、次のフィルタがあると判定された場合、次のフィルタにデータ(バイパスへのデータ送信を含む)を送信する(ステップS36)。次に、フィルタ処理部26は、次のフィルタのIDと変更有無検出データテーブル29のフィルタ種別ID292に基づき、次のフィルタが変更有無検出データテーブル29に登録されているかを判定する(ステップS74)。フィルタ処理部26は、次のフィルタが変更有無検出データテーブル29に登録されていると判定した場合、次のフィルタに対応する変更有無検出データテーブル29の受信データ数293に「1」を加算する(ステップS76)。
If it is determined in step S34 that there is a next filter, data (including data transmission to bypass) is transmitted to the next filter (step S36). Next, based on the ID of the next filter and the
次に、フィルタ処理部26は、次のフィルタに対応する受信データ数293が100の倍数かを判定する(ステップS78)。フィルタ処理部26は、次のフィルタに対応する受信データ数293が100の倍数であると判定した場合、記憶部23は、次のフィルタの受信データを記憶部23に記憶し(ステップS80)、ステップS38に進む。
Next, the
フィルタ処理部26は、次のフィルタに対応する受信データ数293が100の倍数でないと判定した場合、ステップS38に進む。ここでは、受信データ数が100の倍数であることを条件としたが、条件はこれに限られず、その他の数値の倍数であってもよい。
If the
ステップS38において、フィルタ処理部26は、次のフィルタの処理(バイパス処理を含む)をフィルタ単位で実行する(ステップS38)。これにより、送信データが作成される。
In step S38, the
次に、フィルタ処理部26は、次のフィルタの送信データと記憶部23に保存した受信データとを比較し(ステップS82)、次のフィルタの送信データと保存した受信データとに変化があるかを判定する(ステップS84)。フィルタ処理部26は、次のフィルタの送信データと保存した受信データとに変化があると判定した場合、データ変更フィルタテーブル28の次のフィルタに対応するデータ変更情報283に「1(データ変更あり)」を設定する(ステップS86)。
Next, the
次に、フィルタ処理部26は、フィルタ設定変化フラグに「1」を設定する(ステップS88)。次に、フィルタ処理部26は、変更有無検出データテーブル29のフィルタ種別ID292に基づき、次のフィルタの登録を削除し(ステップS90)、ステップS32に戻り、ステップS32以降の処理を繰り返す。
Next, the
一方、ステップS84において、フィルタ処理部26は、次のフィルタの送信データと保存した受信データとに変化がないと判定した場合、次のフィルタのフィルタ種別IDに対応する変更なしデータ数294に「1」を加算する(ステップS92)。
On the other hand, in step S84, if the
次に、フィルタ処理部26は、変更有無検出データテーブル29の変更なしデータ数294が10よりも大きいかを判定する(ステップS94)。フィルタ処理部26は、変更なしデータ数294が10以下の場合、ステップS32に戻り、ステップS32以降の処理を繰り返す。
Next, the
一方、フィルタ処理部26は、変更なしデータ数294が10よりも大きい場合、データ変更フィルタテーブル28の次のフィルタのフィルタ種別IDに対応するデータ変更情報283に「0(データ変更なし)」を設定する(ステップS96)。次に、フィルタ処理部26は、フィルタ設定変化フラグに「1」を設定する(ステップS88)。次に、フィルタ処理部26は、変更有無検出データテーブル29のフィルタ種別ID292に基づき、次のフィルタの登録を削除し(ステップS90)、ステップS32に戻り、ステップS32以降の処理を実行する。
On the other hand, when the number of
このようにして、ステップS32以降の処理を繰り返し実行する際、ステップS34において次のフィルタがないと判定された場合、ステップS72に進み、フィルタ処理部26は、フィルタ設定変化フラグが「1」に設定されているかを判定する(ステップS72)。フィルタ設定変化フラグが「1」に設定されている場合、(1)に進む。
In this way, when the processes after step S32 are repeatedly executed, if it is determined in step S34 that there is no next filter, the process proceeds to step S72, and the
これにより、フィルタ設定変化フラグが「1」に設定されている場合、図14のステップS14の処理に進む。ステップS14では、フィルタ設定変化フラグが「1」に設定されている場合、逆変換のペアに挟まれたフィルタにてデータ変更が行われると判定できる。このため、ステップS14において、フィルタ処理部26は、既存のバイパスをすべて削除する。次に、フィルタ処理部26は、再度フィルタグラフの全フィルタから逆変換のペアを抽出する(ステップS16)。一つ以上の逆変換のペアが抽出された場合(ステップS18で「Yes」)、フィルタ処理部26は、抽出された逆変換のペアについて、ステップS20、S22〜S28、S60、S62の処理を実行する。
Thereby, when the filter setting change flag is set to “1”, the process proceeds to step S14 in FIG. In step S14, when the filter setting change flag is set to “1”, it can be determined that the data change is performed by the filter sandwiched between the inverse transformation pairs. For this reason, in step S14, the
以上に説明したように、第3実施形態にかかるサーバ装置20によれば、データ変更の有無が不明なフィルタが存在する場合、そのデータ変更有無不明なフィルタが変更有無検出データテーブル29に登録される。そして、変更有無検出データテーブル29に登録された各フィルタについて、送信データと受信データとが一致するか否かが判断される。その結果、送信データと受信データとが同じデータである回数や頻度が予め定められた所定値(閾値)以上であれば、フィルタ設定変化フラグに「1」が設定される。フィルタ設定変化フラグに基づき、データが変更されるフィルタであるか否かが自動で判定できるため、不要なバイパスを削除することができ、適切なフィルタグラフに自動更新することができる。これにより、画像データ、音声データ、振動データ等の多様なメディアデータの処理を効率的に行うことができる。この結果、適切なフィルタグラフによるサービスを低コストでユーザに提供することができる。
As described above, according to the
なお、送信データと受信データとが一致する回数は、所定の間隔毎に第1のフィルタに入力されるデータと第2のフィルタから出力されるデータとが一致する度合いの指標の一つである。逆変換のペアのフィルタの入力データと他のフィルタの出力データとが一致する回数が所定の閾値以上であれば、その間に挟まれているフィルタではデータ変更は行われないと判定できる。その際の所定の閾値は可変に設定可能である。また、逆変換のペアの一のフィルタの入力データと他のフィルタの出力データとが一致するか否かを判断するサンプリングの間隔についても可変に設定可能である。 Note that the number of times transmission data and reception data match is one index of the degree to which data input to the first filter and data output from the second filter match at predetermined intervals. . If the number of times the input data of the filter of the inverse transform pair matches the output data of the other filter is equal to or greater than a predetermined threshold value, it can be determined that the data change is not performed in the filter sandwiched therebetween. In this case, the predetermined threshold value can be variably set. In addition, the sampling interval for determining whether the input data of one filter of the inverse transform pair matches the output data of another filter can be set variably.
(ハードウェア構成例)
最後に、本実施形態に係るサーバ装置20のハードウェア構成例について、図16を参照して説明する。図16は、本実施形態に係るサーバ装置20のハードウェア構成例を示す図である。
(Hardware configuration example)
Finally, a hardware configuration example of the
サーバ装置20は、入力装置101、表示装置102、外部I/F103、RAM(Random Access Memory)104、ROM(Read Only Memory)105、CPU(Central Processing Unit)106、通信I/F107、及びHDD(Hard Disk Drive)108を備える。各部はバスBで相互に接続されている。
The
入力装置101は、キーボードやマウスなどを含み、サーバ装置20に各操作信号を入力するのに用いられる。表示装置102は、ディスプレイを含み、各種の処理結果を表示する。
The
通信I/F107は、サーバ装置20をネットワークに接続するインタフェースである。これにより、サーバ装置20は、通信I/F107を介して、スマートフォンなどの端末装置10とデータ通信を行うことができる。
The communication I /
HDD108は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、装置全体を制御する基本ソフトウェア及びアプリケーションソフトウェアがある。例えば、HDD108には、各種のDB情報やプログラム等が格納されている。
The
外部I/F103は、外部装置とのインタフェースである。外部装置には、記録媒体103aなどがある。これにより、サーバ装置20は、外部I/F103を介して記録媒体103aの読み取り及び/又は書き込みを行うことができる。記録媒体103aには、CD(Compact Disk)、及びDVD(Digital Versatile Disk)、ならびに、SDメモリカード(SD Memory card)やUSBメモリ(Universal Serial Bus memory)などがある。
The external I /
ROM105は、電源を切っても内部データを保持することができる不揮発性の半導体メモリである。ROM105には、ネットワーク設定などのプログラムやデータが格納されている。RAM104は、プログラムやデータを一時保持する揮発性の半導体メモリである。CPU106は、上記記憶装置(例えば「HDD108」や「ROM105」など)から、プログラムやデータをRAM104上に読み出し、バイパス付加処理、フィルタ処理、データ変更の自動推定処理等を実行することで、装置全体の制御や搭載機能を実現する演算装置である。つまり、上記ハードウェア構成により、例えば、CPU106が、ROM105やHDD108内に格納されたデータ及びプログラムを用いてバイパス付加処理、フィルタ処理、データ変更の自動推定処理を実行する。この結果、本実施形態では、フィルタグラフにおけるメディアデータの処理を効率的に実行することができる。なお、逆変換管理DB27、データ変更フィルタテーブル28、変更有無検出データテーブル29は、RAM104、HDD108、又はネットワークを介してサーバ装置20に接続されるクラウド上のサーバ等に格納され得る。
The
以上、サーバ装置、プログラム及び情報処理方法を上記実施形態により説明した。しかしながら、本発明にかかるサーバ装置、プログラム及び情報処理方法は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。また、上記複数の実施形態に記載された事項は、矛盾しない範囲で組み合わせることができる。また、上記サーバ装置20の各機能は、ハードウェアにより構成されてもよく、ソフトウェアにより構成されてもよく、ハードウェアとソフトウェアとを組み合わせて構成されてもよい。
The server device, the program, and the information processing method have been described in the above embodiment. However, the server device, the program, and the information processing method according to the present invention are not limited to the above embodiment, and various modifications and improvements can be made within the scope of the present invention. Moreover, the matters described in the plurality of embodiments can be combined within a consistent range. Each function of the
また、例えば、上記実施形態に係るメディア処理システム1の構成は一例であり、本発明の範囲を限定するものではなく、用途や目的に応じて様々なシステム構成例があることは言うまでもない。
Further, for example, the configuration of the
例えば、複数台の端末装置10と一台のサーバ装置20とがネットワーク30を介して接続されているシステム形態は、本実施形態に係るメディア処理システム1の一態様であり、これに限定されない。例えば、本実施形態に係るメディア処理システム1に含まれるサーバ装置20の台数は、1台又は2台以上であり得る。複数台のサーバ装置20が設置される場合、バイパス付加処理及びフィルタ処理は、複数台のサーバ装置20で分散処理され得る。なお、用途や目的に応じて、複数台のうち1台のサーバ装置20に選択的にそれら処理機能を集約させてもよい。
For example, a system configuration in which a plurality of
以上の説明に関し、更に以下の項を開示する。
(付記1)
フィルタ毎の処理が実行される複数のフィルタの実行順番を定めたフィルタグラフを生成し、該実行順番に従い前記複数のフィルタの処理を実行するサーバ装置であって、
前記フィルタグラフに含まれるフィルタのうち、第1のフィルタと該第1のフィルタの処理の逆処理を行う第2のフィルタとのペアを検出する検出部と、
前記フィルタグラフに含まれるフィルタのうち、前記第1のフィルタと前記第2のフィルタとの間で実行されるフィルタがデータ変更処理を行うかを判定する判定部と、
前記第1のフィルタと前記第2のフィルタとの間で実行されるフィルタがデータ変更処理を行わない場合、前記第1のフィルタへの入力データを前記第2のフィルタからの出力データとするバイパス処理を行い、前記第2のフィルタへの入力データを破棄する処理部と、
を有するサーバ装置。
(付記2)
前記検出部は、
複数組の前記ペアを検出し、
前記処理部は、
前記複数組のペアの一のペア間で実行されるフィルタがデータ変更処理を行うと判定された場合であって、該判定されたフィルタが前記複数組のペアの他のペアのフィルタである場合、前記一のペアの前記バイパス処理を行い、前記一のペアの第2のフィルタへの入力データを破棄する、
付記1に記載のサーバ装置。
(付記3)
前記判定部は、
前記第1のフィルタと前記第2のフィルタとの間で実行されるフィルタがデータ変更処理を行うかを、前記第1のフィルタの入力データと前記第2のフィルタの出力データとが所定の回数以上一致するかに基づき判定する、
付記1又は2に記載のサーバ装置。
(付記4)
フィルタ毎の処理が実行される複数のフィルタの実行順番を定めたフィルタグラフを生成し、前記複数のフィルタを該実行順番に従いコンピュータに実行させるプログラムであって、
前記フィルタグラフに含まれるフィルタのうち、第1のフィルタと該第1のフィルタの処理の逆処理を行う第2のフィルタとのペアを検出し、
前記フィルタグラフに含まれるフィルタのうち、前記第1のフィルタと前記第2のフィルタとの間で実行されるフィルタがデータ変更処理を行うかを判定し、
前記第1のフィルタと前記第2のフィルタとの間で実行されるフィルタがデータ変更処理を行わない場合、前記第1のフィルタへの入力データを前記第2のフィルタからの出力データとするバイパス処理を行い、前記第2のフィルタへの入力データを破棄する、
プログラム。
(付記5)
複数組の前記ペアを検出し、
前記複数組のペアの一のペア間で実行されるフィルタがデータ変更処理を行うと判定された場合であって、該判定されたフィルタが前記複数組のペアの他のペアのフィルタである場合、前記一のペアの前記バイパス処理を行い、前記一のペアの第2のフィルタへの入力データを破棄する、
付記4に記載のプログラム。
(付記6)
前記第1のフィルタと前記第2のフィルタとの間で実行されるフィルタがデータ変更処理を行うかを、前記第1のフィルタの入力データと前記第2のフィルタの出力データとが所定の回数以上一致するかに基づき判定する、
付記4又は5に記載のプログラム。
(付記7)
フィルタ毎の処理が実行される複数のフィルタの実行順番を定めたフィルタグラフを生成し、前記複数のフィルタを該実行順番に従いコンピュータが実行する情報処理方法であって、
前記フィルタグラフに含まれるフィルタのうち、第1のフィルタと該第1のフィルタの処理の逆処理を行う第2のフィルタとのペアを検出し、
前記フィルタグラフに含まれるフィルタのうち、前記第1のフィルタと前記第2のフィルタとの間で実行されるフィルタがデータ変更処理を行うかを判定し、
前記第1のフィルタと前記第2のフィルタとの間で実行されるフィルタがデータ変更処理を行わない場合、前記第1のフィルタへの入力データを前記第2のフィルタからの出力データとするバイパス処理を行い、前記第2のフィルタへの入力データを破棄する、
情報処理方法。
(付記8)
複数組の前記ペアを検出し、
前記複数組のペアの一のペア間で実行されるフィルタがデータ変更処理を行うと判定された場合であって、該判定されたフィルタが前記複数組のペアの他のペアのフィルタである場合、前記一のペアの前記バイパス処理を行い、前記一のペアの第2のフィルタへの入力データを破棄する、
付記7に記載の情報処理方法。
(付記9)
前記第1のフィルタと前記第2のフィルタとの間で実行されるフィルタがデータ変更処理を行うかを、前記第1のフィルタの入力データと前記第2のフィルタの出力データとが所定の回数以上一致するかに基づき判定する、
付記7又は8に記載の情報処理方法。
Regarding the above description, the following items are further disclosed.
(Appendix 1)
A server device that generates a filter graph that defines an execution order of a plurality of filters for which processing for each filter is executed, and executes processing of the plurality of filters according to the execution order,
A detection unit that detects a pair of a first filter and a second filter that performs an inverse process of the process of the first filter among the filters included in the filter graph;
A determination unit that determines whether a filter executed between the first filter and the second filter among the filters included in the filter graph performs a data change process;
When a filter executed between the first filter and the second filter does not perform a data change process, a bypass that uses input data to the first filter as output data from the second filter A processing unit that performs processing and discards input data to the second filter;
A server device.
(Appendix 2)
The detector is
Detecting a plurality of pairs,
The processor is
When it is determined that a filter executed between one pair of the plurality of pairs performs data change processing, and the determined filter is a filter of another pair of the plurality of pairs Performing the bypass processing of the one pair and discarding input data to the second filter of the one pair;
The server device according to
(Appendix 3)
The determination unit
Whether the filter executed between the first filter and the second filter performs the data change process is determined by the input data of the first filter and the output data of the second filter a predetermined number of times. Judgment based on whether or not they match,
The server device according to
(Appendix 4)
A program that generates a filter graph that defines the execution order of a plurality of filters for which processing for each filter is executed, and causes the computer to execute the plurality of filters according to the execution order,
Among the filters included in the filter graph, a pair of a first filter and a second filter that performs an inverse process of the process of the first filter is detected.
Determining whether a filter executed between the first filter and the second filter among the filters included in the filter graph performs a data change process;
When a filter executed between the first filter and the second filter does not perform a data change process, a bypass that uses input data to the first filter as output data from the second filter Processing and discarding the input data to the second filter;
program.
(Appendix 5)
Detecting a plurality of pairs,
When it is determined that a filter executed between one pair of the plurality of pairs performs data change processing, and the determined filter is a filter of another pair of the plurality of pairs Performing the bypass processing of the one pair and discarding input data to the second filter of the one pair;
The program according to
(Appendix 6)
Whether the filter executed between the first filter and the second filter performs the data change process is determined by the input data of the first filter and the output data of the second filter a predetermined number of times. Judgment based on whether or not they match,
The program according to
(Appendix 7)
An information processing method for generating a filter graph that defines an execution order of a plurality of filters in which processing for each filter is executed, and for causing the computer to execute the plurality of filters according to the execution order,
Among the filters included in the filter graph, a pair of a first filter and a second filter that performs an inverse process of the process of the first filter is detected.
Determining whether a filter executed between the first filter and the second filter among the filters included in the filter graph performs a data change process;
When a filter executed between the first filter and the second filter does not perform a data change process, a bypass that uses input data to the first filter as output data from the second filter Processing and discarding the input data to the second filter;
Information processing method.
(Appendix 8)
Detecting a plurality of pairs,
When it is determined that a filter executed between one pair of the plurality of pairs performs data change processing, and the determined filter is a filter of another pair of the plurality of pairs Performing the bypass processing of the one pair and discarding input data to the second filter of the one pair;
The information processing method according to
(Appendix 9)
Whether the filter executed between the first filter and the second filter performs the data change process is determined by the input data of the first filter and the output data of the second filter a predetermined number of times. Judgment based on whether or not they match,
The information processing method according to
1:メディア処理システム
10:端末装置
20:サーバ装置
21:フィルタグラフ生成部21
22:検出部
23:記憶部
24:判定部
25:バイパス付与部
26:フィルタ処理部
27:逆変換管理DB
28:データ変更フィルタテーブル
29:変更有無検出データテーブル
1: Media processing system 10: Terminal device 20: Server device 21: Filter
22: Detection unit 23: Storage unit 24: Determination unit 25: Bypass provision unit 26: Filter processing unit 27: Inverse conversion management DB
28: Data change filter table 29: Change presence / absence detection data table
Claims (5)
前記フィルタグラフに含まれるフィルタのうち、第1のフィルタと該第1のフィルタの処理の逆処理を行う第2のフィルタとのペアを検出する検出部と、
前記フィルタグラフに含まれるフィルタのうち、前記第1のフィルタと前記第2のフィルタとの間で実行されるフィルタがデータ変更処理を行うかを判定する判定部と、
前記第1のフィルタと前記第2のフィルタとの間で実行されるフィルタがデータ変更処理を行わない場合、前記第1のフィルタへの入力データを前記第2のフィルタからの出力データとするバイパス処理を行い、前記第2のフィルタへの入力データを破棄する処理部と、
を有するサーバ装置。 A server device that generates a filter graph that defines an execution order of a plurality of filters for which processing for each filter is executed, and executes processing of the plurality of filters according to the execution order,
A detection unit that detects a pair of a first filter and a second filter that performs an inverse process of the process of the first filter among the filters included in the filter graph;
A determination unit that determines whether a filter executed between the first filter and the second filter among the filters included in the filter graph performs a data change process;
When a filter executed between the first filter and the second filter does not perform a data change process, a bypass that uses input data to the first filter as output data from the second filter A processing unit that performs processing and discards input data to the second filter;
A server device.
複数組の前記ペアを検出し、
前記処理部は、
前記複数組のペアの一のペア間で実行されるフィルタがデータ変更処理を行うと判定された場合であって、該判定されたフィルタが前記複数組のペアの他のペアのフィルタである場合、前記一のペアの前記バイパス処理を行い、前記一のペアの第2のフィルタへの入力データを破棄する、
請求項1に記載のサーバ装置。 The detector is
Detecting a plurality of pairs,
The processor is
When it is determined that a filter executed between one pair of the plurality of pairs performs data change processing, and the determined filter is a filter of another pair of the plurality of pairs Performing the bypass processing of the one pair and discarding input data to the second filter of the one pair;
The server device according to claim 1.
前記第1のフィルタと前記第2のフィルタとの間で実行されるフィルタがデータ変更処理を行うかを、前記第1のフィルタの入力データと前記第2のフィルタの出力データとが所定の回数以上一致するかに基づき判定する、
請求項1又は2に記載のサーバ装置。 The determination unit
Whether the filter executed between the first filter and the second filter performs the data change process is determined by the input data of the first filter and the output data of the second filter a predetermined number of times. Judgment based on whether or not they match,
The server device according to claim 1 or 2.
前記フィルタグラフに含まれるフィルタのうち、第1のフィルタと該第1のフィルタの処理の逆処理を行う第2のフィルタとのペアを検出し、
前記フィルタグラフに含まれるフィルタのうち、前記第1のフィルタと前記第2のフィルタとの間で実行されるフィルタがデータ変更処理を行うかを判定し、
前記第1のフィルタと前記第2のフィルタとの間で実行されるフィルタがデータ変更処理を行わない場合、前記第1のフィルタへの入力データを前記第2のフィルタからの出力データとするバイパス処理を行い、前記第2のフィルタへの入力データを破棄する、
プログラム。 A program that generates a filter graph that defines the execution order of a plurality of filters for which processing for each filter is executed, and causes the computer to execute the plurality of filters according to the execution order,
Among the filters included in the filter graph, a pair of a first filter and a second filter that performs an inverse process of the process of the first filter is detected.
Determining whether a filter executed between the first filter and the second filter among the filters included in the filter graph performs a data change process;
When a filter executed between the first filter and the second filter does not perform a data change process, a bypass that uses input data to the first filter as output data from the second filter Processing and discarding the input data to the second filter;
program.
前記フィルタグラフに含まれるフィルタのうち、第1のフィルタと該第1のフィルタの処理の逆処理を行う第2のフィルタとのペアを検出し、
前記フィルタグラフに含まれるフィルタのうち、前記第1のフィルタと前記第2のフィルタとの間で実行されるフィルタがデータ変更処理を行うかを判定し、
前記第1のフィルタと前記第2のフィルタとの間で実行されるフィルタがデータ変更処理を行わない場合、前記第1のフィルタへの入力データを前記第2のフィルタからの出力データとするバイパス処理を行い、前記第2のフィルタへの入力データを破棄する、
情報処理方法。 An information processing method for generating a filter graph that defines an execution order of a plurality of filters in which processing for each filter is executed, and for causing the computer to execute the plurality of filters according to the execution order,
Among the filters included in the filter graph, a pair of a first filter and a second filter that performs an inverse process of the process of the first filter is detected.
Determining whether a filter executed between the first filter and the second filter among the filters included in the filter graph performs a data change process;
When a filter executed between the first filter and the second filter does not perform a data change process, a bypass that uses input data to the first filter as output data from the second filter Processing and discarding the input data to the second filter;
Information processing method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014249292A JP6341078B2 (en) | 2014-12-09 | 2014-12-09 | Server apparatus, program, and information processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014249292A JP6341078B2 (en) | 2014-12-09 | 2014-12-09 | Server apparatus, program, and information processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016111625A JP2016111625A (en) | 2016-06-20 |
JP6341078B2 true JP6341078B2 (en) | 2018-06-13 |
Family
ID=56124965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014249292A Active JP6341078B2 (en) | 2014-12-09 | 2014-12-09 | Server apparatus, program, and information processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6341078B2 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5995923A (en) * | 1997-06-26 | 1999-11-30 | Nortel Networks Corporation | Method and apparatus for improving the voice quality of tandemed vocoders |
JP4165277B2 (en) * | 2003-04-04 | 2008-10-15 | ソニー株式会社 | Data processing apparatus, data processing system, data processing method and program |
US20050232497A1 (en) * | 2004-04-15 | 2005-10-20 | Microsoft Corporation | High-fidelity transcoding |
-
2014
- 2014-12-09 JP JP2014249292A patent/JP6341078B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016111625A (en) | 2016-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102452159B1 (en) | Contextually aware dynamic group formation | |
EP3360137B1 (en) | Identifying sound from a source of interest based on multiple audio feeds | |
KR102094011B1 (en) | Method and apparatus for cancelling noise in an electronic device | |
US20120155661A1 (en) | Electronic device and method for testing an audio module | |
WO2018166343A1 (en) | Data fusion method and device, storage medium and electronic device | |
CN109644192B (en) | Audio delivery method and apparatus with speech detection period duration compensation | |
US10973458B2 (en) | Daily cognitive monitoring of early signs of hearing loss | |
CN108476072B (en) | Method and system for determining sound parameters associated with sound types | |
JP2014513828A (en) | Automatic conversation support | |
WO2017045512A1 (en) | Voice recognition method and apparatus, terminal, and voice recognition device | |
JP2018156424A (en) | Information processing system, information processing device, information processing program, and information processing method | |
CN112651429B (en) | Audio signal time sequence alignment method and device | |
JP6341078B2 (en) | Server apparatus, program, and information processing method | |
US10375370B2 (en) | Audio capture on mobile client devices | |
US9288572B2 (en) | Haptic microphone | |
US20130304470A1 (en) | Electronic device and method for detecting pornographic audio data | |
CN115171735A (en) | Voice activity detection method, storage medium and electronic equipment | |
EP3961618B1 (en) | Information processing device, sound masking system, control method, and control program | |
CN111739540A (en) | Audio signal acquisition device, computer equipment and method | |
CN111145770A (en) | Audio processing method and device | |
CN112104778B (en) | Address book processing method and device | |
JP2014002336A (en) | Content processing device, content processing method, and computer program | |
TWI752519B (en) | Electronic apparatus for recognizing multimedia signal and operating method of the same | |
CN110851410B (en) | File opening method and related equipment | |
CN111768771B (en) | Method and apparatus for waking up an electronic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170804 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180409 |
|
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: 20180417 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180430 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6341078 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |