JP2016111625A - Server device, program, and information processing method - Google Patents

Server device, program, and information processing method Download PDF

Info

Publication number
JP2016111625A
JP2016111625A JP2014249292A JP2014249292A JP2016111625A JP 2016111625 A JP2016111625 A JP 2016111625A JP 2014249292 A JP2014249292 A JP 2014249292A JP 2014249292 A JP2014249292 A JP 2014249292A JP 2016111625 A JP2016111625 A JP 2016111625A
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.)
Granted
Application number
JP2014249292A
Other languages
Japanese (ja)
Other versions
JP6341078B2 (en
Inventor
健一 堀尾
Kenichi Horio
健一 堀尾
村上 雅彦
Masahiko Murakami
雅彦 村上
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014249292A priority Critical patent/JP6341078B2/en
Publication of JP2016111625A publication Critical patent/JP2016111625A/en
Application granted granted Critical
Publication of JP6341078B2 publication Critical patent/JP6341078B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To efficiently execute processing of media data in a filter graph.SOLUTION: A server device which generates a filter graph including the order of executing a plurality of filters where processing is executed by filter, and executes processing of the filters in accordance with the execution order includes: a detection section which detects a pair of a first filter and a second filter for executing inverse processing of the first filter, in the filters included in the filter graph; a determination section which determines whether a filter included in the filter graph and to be executed between the first filter and the second filter performs data change processing; and a processing section which performs bypass processing where data input to the first filter is output from the second filter when the filter to be executed between the first and second filters does not perform data change processing, and discards the data input to the second filter.SELECTED DRAWING: Figure 8

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.

特開2009−49905号公報JP 2009-49905 A 米国特許第5913038号明細書US Pat. No. 5,931,038 特開平06−338802号公報Japanese Patent Laid-Open No. 06-338802

しかしながら、フィルタグラフにおいてフィルタの接続順序が適正でない場合、不要なフィルタ処理が自動挿入され、フィルタグラフにおけるメディアデータの処理の効率が低下する場合がある。   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.

一実施形態にかかるメディア処理システムの全体構成の一例を示す図。The figure which shows an example of the whole structure of the media processing system concerning one Embodiment. フィルタグラフの一例を説明するための図。The figure for demonstrating an example of a filter graph. フィルタの自動挿入を説明するための図。The figure for demonstrating the automatic insertion of a filter. 第1及び第2実施形態にかかるサーバ装置の機能構成の一例を示す図。The figure which shows an example of a function structure of the server apparatus concerning 1st and 2nd embodiment. 一実施形態にかかる逆変換管理データベースの一例を示す図。The figure which shows an example of the reverse conversion management database concerning one Embodiment. 一実施形態にかかるデータ変更フィルタテーブルの一例を示す図。The figure which shows an example of the data change filter table concerning one Embodiment. 第1実施形態にかかるバイパス付加処理の一例を示すフローチャート。The flowchart which shows an example of the bypass addition process concerning 1st Embodiment. 第1実施形態にかかるバイパスを説明するための図。The figure for demonstrating the bypass concerning 1st Embodiment. 第1実施形態にかかるフィルタ処理の一例を示すフローチャート。6 is a flowchart illustrating an example of filter processing according to the first embodiment. 第2実施形態にかかるバイパス付加処理の一例を示すフローチャート。The flowchart which shows an example of the bypass addition process concerning 2nd Embodiment. 第2実施形態にかかるバイパスを説明するための図。The figure for demonstrating the bypass concerning 2nd Embodiment. 第3実施形態にかかるサーバ装置の機能構成の一例を示す図。The figure which shows an example of a function structure of the server apparatus concerning 3rd Embodiment. 一実施形態にかかる変更有無検出データテーブルの一例を示す図。The figure which shows an example of the change presence detection data table concerning one Embodiment. 第3実施形態にかかるバイパス付加処理の一例を示すフローチャート。The flowchart which shows an example of the bypass addition process concerning 3rd Embodiment. 第3実施形態にかかるフィルタ処理の一例を示すフローチャート。The flowchart which shows an example of the filter process concerning 3rd Embodiment. 一実施形態にかかるサーバ装置のハードウェア構成の一例を示す図。The figure which shows an example of the hardware constitutions of the server apparatus concerning one Embodiment.

以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。   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 media processing system 1 according to an embodiment of the present invention will be described with reference to FIG. The media processing system 1 according to an embodiment includes a terminal device 10 and a server device 20. The terminal device 10 and the server device 20 are connected by a network 30.

端末装置10の一例としては、スマートフォン、タブレット型端末、パーソナルコンピュータが挙げられる。ただし、端末装置10は、これに限らず、例えば、携帯電話、携帯型情報端末(PDA)、携帯型音楽機器、ゲーム機器等、通信機能を有する端末装置であればよい。   Examples of the terminal device 10 include a smartphone, a tablet terminal, and a personal computer. However, the terminal device 10 is not limited to this, and may be a terminal device having a communication function such as a mobile phone, a portable information terminal (PDA), a portable music device, a game device, or the like.

サーバ装置20は、端末装置10から送信されるメディアデータを受信し、端末装置10からリクエストされる音声認識処理等のメディア処理を実行し、処理後のメディアデータを端末装置10に返信する。サーバ装置20は、端末装置10に接続されるクラウド上のサーバーであってもよい。   The server device 20 receives media data transmitted from the terminal device 10, executes media processing such as voice recognition processing requested from the terminal device 10, and returns the processed media data to the terminal device 10. The server device 20 may be a cloud server connected to the terminal device 10.

(フィルタグラフ)
サーバ装置20は、フィルタ単位で処理が実行される複数のフィルタの実行順番を定めたフィルタグラフを生成し、複数のフィルタをフィルタ単位で実行順番(接続順)に従い実行する。具体的には、フィルタグラフは、図2に示すように、コーデック変換、マルチプレクサ等の単機能の処理を再利用が容易なようにモジュール化した「フィルタ」を組み合わせたものである。サーバ装置20は、フィルタグラフのフィルタの組み合わせ順序に従い、入力したメディアデータを上流のフィルタから下流のフィルタに向けてフィルタ毎に順に処理し、処理済のメディアデータを最下流のフィルタから出力する。
(Filter graph)
The server device 20 generates a filter graph that defines the execution order of a plurality of filters that are processed in units of filters, and executes the plurality of filters in the order of filters (connection order). Specifically, as shown in FIG. 2, the filter graph is a combination of “filters” obtained by modularizing single-function processes such as codec conversion and multiplexers so that they can be easily reused. The server device 20 sequentially processes the input media data from the upstream filter toward the downstream filter for each filter in accordance with the filter combination order of the filter graph, and outputs the processed media data from the most downstream filter.

図2では、サーバ装置20は、カメラが撮像した画像データを入力し、コーデック変換の処理をフィルタ単位で行う。また、サーバ装置20は、マイクが取得した音声データを入力し、マルチプレクサの処理をフィルタ単位で行う。フィルタに出力された処理済のメディアデータは、次のフィルタに入力されるか、端末装置10に転送される。   In FIG. 2, the server device 20 receives image data captured by the camera, and performs codec conversion processing in units of filters. Moreover, the server apparatus 20 inputs the audio | voice data which the microphone acquired, and performs the process of a multiplexer per filter. The processed media data output to the filter is input to the next filter or transferred to the terminal device 10.

フィルタグラフは、複数のフィルタが最適な実行順番で生成されない場合がある。特に、入力されるメディアデータがフィルタグラフの複数の開発者により使用される場合等において、最適な実行順番で生成されることが困難な場合がある。   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 filter 40 → filter 42 → filter 44. In this case, it is determined that the filter 41 that converts the sampling rate from 8 kHz to 16 kHz is necessary, and is automatically inserted between the filter 40 and the filter 42. Further, it is determined that the filter 43 that converts the sampling rate from 16 kHz to 8 kHz is necessary, and is automatically inserted between the filter 42 and the filter 44.

一方、フィルタ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 filter 40, the filter 41 and the filter 43 are unnecessary and are not automatically inserted. That is, the filter graph of FIG. 3 is an example in which unnecessary filters are automatically inserted because the connection order of the filters is not appropriate.

このように、生成されたフィルタグラフによるフィルタの接続順序が適正でない場合、不要なフィルタ処理が自動挿入され、かえってメディア処理の効率が低下する場合がある。そこで、以下に説明する第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 media processing system 1 according to the first to third embodiments described below, processing of media data in the generated filter graph is efficiently executed.

[機能構成]
まず、第1及び第2実施形態に係るサーバ装置20の機能構成の一例について、図4を参照しながら説明する。サーバ装置20は、フィルタグラフ生成部21、検出部22、記憶部23、判定部24、バイパス付与部25及びフィルタ処理部26を有する。
[Function configuration]
First, an example of a functional configuration of the server device 20 according to the first and second embodiments will be described with reference to FIG. The server device 20 includes a filter graph generation unit 21, a detection unit 22, a storage unit 23, a determination unit 24, a bypass grant unit 25, and a filter processing unit 26.

フィルタグラフ生成部21は、予め特定されたフィルタ接続関係に基づきフィルタ単位で処理が実行される複数のフィルタを接続し、実行順番を定めたフィルタグラフを生成する。   The filter graph generation unit 21 connects a plurality of filters that are executed in units of filters based on the filter connection relationship specified in advance, and generates a filter graph that defines the execution order.

検出部22は、フィルタグラフに含まれるフィルタのうち、第1のフィルタとその第1のフィルタの処理の逆処理を行う第2のフィルタとのペアを検出する。例えば、図3のフィルタ41とフィルタ43とは、逆変換のペアであり、上流側のフィルタ41は、第1のフィルタの一例であり、下流側のフィルタ43は、第2のフィルタの一例である。   The detection unit 22 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. For example, the filter 41 and the filter 43 in FIG. 3 are a pair of inverse transforms, the upstream filter 41 is an example of a first filter, and the downstream filter 43 is an example of a second filter. is there.

判定部24は、フィルタグラフに含まれるフィルタのうち、第1のフィルタと第2のフィルタとの逆変換のペアの間で実行されるフィルタがデータ変更処理を行うかを判定する。   The determination unit 24 determines whether a filter executed between a pair of inverse transforms of the first filter and the second filter among the filters included in the filter graph performs the data change process.

バイパス付与部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 bypass grant unit 25 outputs the data input to the first filter to the second filter A bypass route for data output from is assigned.

フィルタ処理部26は、端末装置10から画像や音声等のメディアデータを入力し、フィルタグラフに従いフィルタ処理を実行する。ただし、バイパスが付与されている場合、フィルタ処理部26は、第1のフィルタへの入力データを第2のフィルタから出力するバイパス処理を行い、フィルタグラフに従いフィルタ処理を実行し、第2のフィルタへ入力されたデータを破棄する。   The filter processing unit 26 receives media data such as images and sounds from the terminal device 10 and executes filter processing according to the filter graph. However, when the bypass is provided, the filter processing unit 26 performs a bypass process of outputting the input data to the first filter from the second filter, executes the filter process according to the filter graph, and executes the second filter. The data input to is discarded.

記憶部23は、逆変換管理データベース(DB)27及びデータ変更フィルタテーブル28を有する。逆変換管理DB27の一例を図5に示す。逆変換管理DB27は、フィルタ種別ID271、フィルタ名272、逆変換フィルタID273、比較パラメータ1(P1)274、比較パラメータ2(P2)275の各項目を有する。   The storage unit 23 includes an inverse conversion management database (DB) 27 and a data change filter table 28. An example of the reverse conversion management DB 27 is shown in FIG. The inverse conversion management DB 27 includes items of a filter type ID 271, a filter name 272, an inverse conversion filter ID 273, a comparison parameter 1 (P 1) 274, and a comparison parameter 2 (P 2) 275.

フィルタ種別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 filter type ID 271 and the inverse transform filter ID 273 have different values, the two filters are inverse transform pairs. When the filter type ID 271 and the inverse transform filter ID 273 have the same value, the comparison parameter 1 (P1) 274 and the comparison parameter 2 (P2) 275 are set. When the comparison parameter 1 (P1) 274 of the filter A and the comparison parameter 2 (P2) 275 of the filter B and the comparison parameter 2 (P2) 275 of the filter A and the comparison parameter 1 (P1) 274 of the filter B are equal, Filters A and B are inverse transform pairs. The filter name 272 indicates the name of the filter identified by the filter type ID 271.

データ変更フィルタテーブル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 filter type ID 281, a filter name 282, and data change information 283. The filter name 282 indicates the name of the filter identified by the filter type ID 281. The data change information 283 indicates “present” when the data change is set to “1”, and indicates “no” when the data change is set to “0”. For example, if the filter type 292 is “6” and the filter name 293 is “volume extraction”, the sound change process is performed and the data change is not performed, so the data change information 283 is “0”. .

[動作]
<第1実施形態>
次に、かかる機能構成を有するサーバ装置20の動作について、第1実施形態、第2実施形態の順に説明する。図7は、第1実施形態にかかるバイパス付加処理の一例を示すフローチャートである。図8は、第1実施形態にかかるフィルタ処理の一例を示すフローチャートである。図9は、第1実施形態にかかるバイパスを説明するための図である。
[Operation]
<First Embodiment>
Next, operation | movement of the server apparatus 20 which has this function structure is demonstrated in order of 1st Embodiment and 2nd Embodiment. FIG. 7 is a flowchart illustrating an example of bypass addition processing according to the first embodiment. FIG. 8 is a flowchart illustrating an example of the filter processing according to the first embodiment. FIG. 9 is a diagram for explaining a bypass according to the first embodiment.

(バイパス付加処理)
まず、図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 graph generation unit 21 receives an instruction to add or delete a filter (step S10), the filter graph generation unit 21 generates or changes a predetermined filter graph (step S12).

次に、フィルタグラフ生成部21は、既存のバイパスをすべて削除する(ステップS14)。次に、検出部22は、事前に設定された逆変換管理DB27のデータを参照し、フィルタグラフの全フィルタから、逆変換のペアを抽出する(ステップS16)。   Next, the filter graph generation unit 21 deletes all existing bypasses (step S14). Next, the detection unit 22 refers to the data in the inverse transformation management DB 27 set in advance, and extracts inverse transformation pairs from all the filters of the filter graph (step S16).

検出部22は、一のフィルタのフィルタ種別ID271に対応する逆変換フィルタID273を持つ他のフィルタを見つけた場合、その2つのフィルタは逆変換のペアであると判断する。ただし、一のフィルタのフィルタ種別ID271と対応する逆変換フィルタID273が同じ値の場合、一のフィルタの比較パラメータ1(P1)274と他のフィルタの比較パラメータ2(P2)275、及び一のフィルタの比較パラメータ2(P2)275と他のフィルタの比較パラメータ1(P1)274がそれぞれ等しい場合のみ、一のフィルタと他のフィルタとは逆変換のペアであると判断する。   When the detection unit 22 finds another filter having the inverse conversion filter ID 273 corresponding to the filter type ID 271 of the one filter, the detection unit 22 determines that the two filters are an inverse conversion pair. However, when the filter type ID 271 of one filter and the corresponding inverse transform filter ID 273 have the same value, the comparison parameter 1 (P1) 274 of one filter, the comparison parameter 2 (P2) 275 of another filter, and the one filter Only when the comparison parameter 2 (P2) 275 and the comparison parameter 1 (P1) 274 of the other filters are equal to each other, it is determined that one filter and the other filter are an inverse transformation pair.

次に、検出部22は、逆変換のペアが一つ以上抽出されたかを判定する(ステップS18)。検出部22は、逆変換のペアが抽出されなかったと判定した場合、本処理を終了する。一方、検出部22は、逆変換のペアが一つ以上抽出されたと判定した場合、ペア毎に逆変換のペアの間に挟まれたフィルタを抽出する(ステップS20)。   Next, the detection unit 22 determines whether one or more pairs of inverse transforms have been extracted (step S18). When the detection unit 22 determines that the inverse transform pair has not been extracted, the process ends. On the other hand, if the detection unit 22 determines that one or more pairs of inverse transforms have been extracted, the detection unit 22 extracts a filter sandwiched between the pairs of inverse transforms for each pair (step S20).

例えば、図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 filter 50 that performs data reception processing, processed in the order of filter 51 → filter 52 → filter 53, and output. Therefore, first, the detection unit 22 checks the filter graph of FIG. 8 to confirm that the filter 51 of the process A and the filter 53 of the process a are connected, and the process a performs the inverse conversion process of the process A. Extract as a pair of inverse transforms. Next, the detection unit 22 extracts a filter sandwiched between the extracted inverse transformation pairs. In FIG. 8, the filter 52 sandwiched between the process 51 filter 51 and the process a filter 53 is extracted. The filters 51 and 53 are a pair of inverse transforms, the filter 51 is an example of a first filter (upstream (input side) filter), and the filter 53 is a second filter (downstream (output side) filter). It is an example. The filter 52 is an example of a filter that is executed between the first filter and the second filter.

判定部24は、予め設定されたデータ変更フィルタテーブル28に記憶されたデータを参照し、逆変換ペアのフィルタに挟まれたフィルタにデータ変更が行われるフィルタが存在するかをチェックする(ステップS22)。フィルタ種別ID281に応じたデータ変更情報283に基づき、逆変換ペアのフィルタに挟まれたフィルタでデータ変更が行われるかが判定可能である。   The determination unit 24 refers to the data stored in the preset data change filter table 28 and checks whether there is a filter whose data is changed in the filter sandwiched between the filters of the inverse transform pair (step S22). ). Based on the data change information 283 corresponding to the filter type ID 281, it can be determined whether the data change is performed by the filter sandwiched between the filters of the inverse conversion pair.

判定部24は、データ変更が行われるフィルタが存在するかを判定し(ステップS24)、データ変更が行われるフィルタが存在すると判定した場合、ステップS28に進む。一方、判定部24が、データ変更が行われるフィルタが存在しないと判定した場合、バイパス付与部25は、抽出した逆変換のペアのフィルタ間をデータがバイパスするパスをフィルタグラフに追加し(ステップS26)、ステップS28に進む。   The determination unit 24 determines whether there is a filter whose data is changed (step S24), and when it is determined that there is a filter whose data is changed, the process proceeds to step S28. On the other hand, when the determination unit 24 determines that there is no filter on which data is changed, the bypass grant unit 25 adds a path in which the data bypasses the extracted filters of the inverse transformation pair to the filter graph (step S1). S26), the process proceeds to step S28.

例えば、図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 filter 52 sandwiched between the filters 51 and 53 of the pair of inverse transforms. In this case, the determination unit 24 determines that there is no filter in which data change is performed between the filters 51 and 53 of the inverse transform pair, and the bypass providing unit 25 sets the extracted filters 51 and 53 of the inverse transform pair. A path that bypasses data (hereinafter also referred to as “bypass route R1”) is added to the filter graph.

図7に戻り、次に、判定部24は、ステップS28にて、抽出されたすべての逆変換のペアについてステップS20〜S26のチェックが行われたかを判定する。判定部24は、抽出されたすべての逆変換のペアについてチェックが行われたと判定した場合、本処理を終了する。一方、判定部24は、抽出されたすべての逆変換のペアについてチェックが行われていないと判定した場合、ステップS20に戻り、ステップS20以降の処理を繰り返す。   Returning to FIG. 7, next, the determination unit 24 determines whether or not the checks in steps S20 to S26 have been performed on all the extracted inverse transform pairs in step S28. If the determination unit 24 determines that all the extracted inverse transformation pairs have been checked, the process ends. On the other hand, if the determination unit 24 determines that all of the extracted inverse transform pairs are not checked, the determination unit 24 returns to step S20 and repeats the processing after step S20.

以上に説明したバイパス付加処理によれば、逆変換ペアのフィルタ間で実行されるフィルタがデータ変更処理を行わない場合、逆変換ペアの上流側のフィルタに入力されたデータを逆変換ペアの下流側のフィルタから出力するバイパスルート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 filter processing unit 26 acquires the next filter from the generated filter graph (step S32). The next filter is specified according to the connection order of the filter graph.

次に、フィルタ処理部26は、次のフィルタがあるかを判定する(ステップS34)。フィルタ処理部26は、次のフィルタがないと判定した場合、本処理を終了する。一方、フィルタ処理部26は、次のフィルタがあると判定した場合、次のフィルタにデータを送信し(ステップS36)、次のフィルタの処理を実行する(ステップS38)。これにより、送信データが作成される。   Next, the filter processing unit 26 determines whether there is a next filter (step S34). If the filter processing unit 26 determines that there is no next filter, the process ends. On the other hand, if it is determined that there is a next filter, the filter processing unit 26 transmits data to the next filter (step S36), and executes the next filter processing (step S38). As a result, transmission data is created.

例えば、図8では、次のフィルタが処理Aのフィルタ51の場合、フィルタグラフの実行順序(以下、「正規ルートR2」ともいう。)に従い、フィルタ50で受信したデータがフィルタ51に入力され、処理Aが実行される。加えて、フィルタ51に入力されたデータは、バイパスルートR1を使ってフィルタ53からそのまま出力される。   For example, in FIG. 8, when the next filter is the filter 51 of the process A, the data received by the filter 50 is input to the filter 51 in accordance with the execution order of the filter graph (hereinafter also referred to as “regular route R2”). Process A is executed. In addition, the data input to the filter 51 is output as it is from the filter 53 using the bypass route R1.

図7に戻り、次に、フィルタ処理部26は、正規ルートR2から逆変換のペアの下流側のフィルタ(第2のフィルタ)に入力するデータを破棄し(ステップS40)、ステップS32に戻る。   Returning to FIG. 7, next, the filter processing unit 26 discards the data input to the downstream filter (second filter) of the inverse transformation pair from the normal route R2 (step S40), and returns to step S32.

例えば、次のフィルタが、図8に示すフィルタ53である場合、フィルタ53は逆変換のペアの下流側のフィルタであるため、正規ルートR2からフィルタ53に入力されるデータは破棄される。   For example, when the next filter is the filter 53 shown in FIG. 8, since the filter 53 is a filter on the downstream side of the inverse transformation pair, the data input to the filter 53 from the normal route R2 is discarded.

以上に説明したように、第1実施形態にかかるサーバ装置20によれば、バイパスルートR1を使用して逆変換のペアのうち上流側のフィルタが入力したデータをそのまま下流側のフィルタから出力する。また、正規ルートR2から下流側のフィルタに入力されるデータは破棄される。これにより、フィルタグラフにおけるメディアデータの処理を効率的に実行することができる。
<第2実施形態>
次に、第2実施形態にかかるサーバ装置20の動作について、図10を参照して説明する。図10は、第2実施形態にかかるバイパス付加処理の一例を示すフローチャートである。第1実施形態と異なる点は、ステップS50が追加され、複数の逆変換のペアが多重に連結したフィルタグラフにも本バイパス機能を対応可能とした点である。
As described above, according to the server device 20 according to the first embodiment, the data input by the upstream filter of the inverse transformation pair is output as it is from the downstream filter using the bypass route R1. . Further, data input to the downstream filter from the regular route R2 is discarded. Thereby, the media data processing in the filter graph can be executed efficiently.
Second Embodiment
Next, operation | movement of the server apparatus 20 concerning 2nd Embodiment is demonstrated with reference to FIG. FIG. 10 is a flowchart illustrating an example of bypass addition processing according to the second embodiment. The difference from the first embodiment is that step S50 is added, and this bypass function can be applied to a filter graph in which a plurality of inverse transformation pairs are connected in multiple.

(バイパス付加処理)
まず、第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 determination unit 24 checks whether there is a filter whose data is changed among the filters executed between the extracted inverse transform pair filters (step S22). Based on the result, the determination unit 24 determines whether there is a filter whose data is changed (step S24). As a result, when it is determined that there is a filter whose data is changed, it is determined whether the filter whose data is changed is only another pair among a plurality of inverse transform pairs multiplexed (step S50). ).

データ変更が行われるフィルタが他の逆変換のペアのみであると判定された場合、バイパス付与部25は、抽出したペアをバイパスするパスをフィルタグラフに追加し(ステップS26)、ステップS28に進む。ステップS50においてデータ変更が行われるフィルタが他の逆変換のペアのみではないと判定された場合、そのままステップS28に進む。   When it is determined that the filter whose data is changed is only another inverse transform pair, the bypass adding unit 25 adds a path that bypasses the extracted pair to the filter graph (step S26), and proceeds to step S28. . If it is determined in step S50 that the filter whose data is to be changed is not only another inverse transform pair, the process proceeds directly to step S28.

例えば、図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 filter 65 for process a are the first inverse pair, and the filter 62 for process B and the filter 64 for process b are the second pair of inverse transforms. The filter 63 is a filter that is executed between the filters of two inverse transform pairs. In the process C performed by the filter 63, the data is not changed.

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 determination unit 24 is sandwiched between the filters 61 and 65 of the first pair of inverse transforms in step S50. For the filters 62, 63, 64, it is determined whether there is a filter whose data is changed. Here, the filters 62 and 64 are filters in which data is changed. The filters 62 and 64 are another inverse transformation pair. Therefore, in this case, the determination unit 24 determines “Yes” in step S50, and adds a path (bypass route R1) through which the data bypasses the extracted filters 61 and 65 of the inverse transformation pair to the filter graph.

また、判定部24は、2組目の逆変換のペアのフィルタ62,64に挟まれたフィルタ63について、データ変更が行われるかを判定する(ステップS24)。ここでは、フィルタ63は、データ変更が行われない処理のみ実行する。よって、この場合、判定部24は、ステップS24にて「No」と判定し、抽出した逆変換のペアのフィルタ62,64をデータがバイパスするパスをフィルタグラフに追加する。   Further, the determination unit 24 determines whether or not the data change is performed on the filter 63 sandwiched between the filters 62 and 64 of the second inverse conversion pair (step S24). Here, the filter 63 executes only a process that does not change the data. Therefore, in this case, the determination unit 24 determines “No” in step S24, and adds a path in which data bypasses the extracted filters 62 and 64 of the inverse transformation pair to the filter graph.

ただし、逆変換のペアのフィルタ62,64をデータがバイパスするパスを使用してフィルタ65に入力されるデータは、図9のステップS40において下流側のフィルタ65に入力されたデータであるため破棄される。同様に、下流側のフィルタ64に入力されたデータが破棄される。   However, the data input to the filter 65 using a path in which data bypasses the filters 62 and 64 of the inverse transform pair is discarded because it is the data input to the downstream filter 65 in step S40 of FIG. Is done. Similarly, data input to the downstream filter 64 is discarded.

以上に説明したように、第2実施形態にかかるサーバ装置20によれば、複数組の逆変換ペアのフィルタが存在する場合であっても、組毎に逆変換ペアの上流側のフィルタへ入力されるデータを下流側のフィルタからそのまま出力可能なデータのバイパスが形成される。この結果、複数組の逆変換ペアのフィルタが存在する場合であっても、フィルタグラフの順序を変更せずに適正なデータのバイパスを形成することで、フィルタグラフにおけるメディアデータの処理を効率的に実行することができる。
<第3実施形態>
第3実施形態にかかるサーバ装置20では、各フィルタのデータ変更処理の有無を所定の間隔で自動推定し、ユーザの負担を軽減する。具体的には、フィルタごとに定期的に入力データと出力データとが比較され、一致するか否かが判定される。所定の回数以上変化がないことが確認された場合、そのフィルタがデータ変更処理を行うかを示すフラグ(以下、「フィルタ設定変化フラグ」ともいう。)は「0」とする。よって、フィルタ設定変化フラグが「0」のとき、ペア間のフィルタはデータ変更処理を行わないことが示され、フィルタ設定変化フラグが「1」のとき、ペア間のフィルタはデータ変更処理を行うことが示される。
As described above, according to the server device 20 according to the second embodiment, even when there are a plurality of inverse transform pair filters, each set is input to the upstream filter of the inverse transform pair. A bypass of data that can output the processed data as it is from the downstream filter is formed. As a result, even when there are multiple inverse transform pairs of filters, it is possible to efficiently process media data in the filter graph by forming an appropriate data bypass without changing the order of the filter graph. Can be executed.
<Third Embodiment>
In the server device 20 according to the third embodiment, the presence / absence of data change processing of each filter is automatically estimated at a predetermined interval to reduce the burden on the user. Specifically, input data and output data are periodically compared for each filter to determine whether or not they match. When it is confirmed that there is no change over a predetermined number of times, a flag (hereinafter, also referred to as “filter setting change flag”) indicating whether the filter performs data change processing is set to “0”. Therefore, when the filter setting change flag is “0”, it is indicated that the filter between the pairs does not perform data change processing, and when the filter setting change flag is “1”, the filter between the pairs performs data change processing. Is shown.

図12に示すように、第3実施形態にかかるサーバ装置20の記憶部23には、逆変換管理DB27、データ変更フィルタテーブル28に加えて変更有無検出データテーブル29が記憶されている。   As illustrated in FIG. 12, the storage unit 23 of the server device 20 according to the third embodiment stores a change presence / absence detection data table 29 in addition to the reverse conversion management DB 27 and the data change filter table 28.

図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 filter instance ID 291, a filter type ID 292, a received data number 293, and an unchanged data number 294. The filter instance ID 291 is assigned “1”, “2”, “3”... In order, and the filter type ID 292 is associated with each filter instance ID 291. For each filter type ID 292, the number of received data 293 and the number of unchanged data 294 are stored.

[動作]
次に、以上に説明した第3実施形態に係るサーバ装置20の動作について説明する。図14は、第3実施形態にかかるバイパス付加処理の一例を示すフローチャートである。図15は、第3実施形態にかかるフィルタ処理の一例を示すフローチャートである。
[Operation]
Next, the operation of the server device 20 according to the third embodiment described above will be described. FIG. 14 is a flowchart illustrating an example of bypass addition processing according to the third embodiment. FIG. 15 is a flowchart illustrating an example of the filter processing according to the third embodiment.

(バイパス付加処理)
まず、第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 determination unit 24 determines whether or not there is a filter whose presence / absence of data change is unknown (hereinafter also referred to as “data change presence / absence unknown filter”) (step S60).

判定部24は、データ変更有無不明フィルタが存在すると判定した場合、データ変更有無不明フィルタが変更有無検出データテーブル29に未登録か否かを判定する(ステップS62)。データ変更有無不明フィルタが変更有無検出データテーブル29に未登録か否かは、データ変更有無不明フィルタのIDと変更有無検出データテーブル29のフィルタ種別ID292とを照合することにより判定してもよい。データ変更有無不明フィルタが変更有無検出データテーブル29に未登録であると判定された場合、記憶部23は、データ変更有無不明フィルタを変更有無検出データテーブル29に追加し、ステップS28に進む。   When determining that the data change presence / absence unknown filter exists, the determination unit 24 determines whether or not the data change presence / absence unknown filter is not registered in the change presence / absence detection data table 29 (step S62). Whether the data change presence / absence unknown filter is not registered in the change presence / absence detection data table 29 may be determined by comparing the ID of the data change presence / absence unknown filter with the filter type ID 292 of the change presence / absence detection data table 29. When it is determined that the data change presence / absence unknown filter is not registered in the change presence / absence detection data table 29, the storage unit 23 adds the data change presence / absence unknown filter to the change presence / absence detection data table 29, and the process proceeds to step S28.

一方、判定部24は、データ変更有無不明フィルタが存在しないと判定した場合、逆変換のペアのフィルタ間で実行されるフィルタに、データ変更が行われるフィルタが存在するかを判定する(ステップS24)。データ変更が行われるフィルタが存在すると判定した場合、ステップS28に進む。一方、判定部24は、データ変更が行われるフィルタが存在しないと判定した場合、バイパス付与部25は、抽出した逆変換のペアのフィルタ間をデータがバイパスするパスをフィルタグラフに追加し(ステップS26)、ステップS28に進む。   On the other hand, when determining that there is no data change presence / absence unknown filter, the determination unit 24 determines whether there is a filter in which data change is performed among the filters executed between the filters of the inverse transform pair (step S24). ). If it is determined that there is a filter whose data is changed, the process proceeds to step S28. On the other hand, when the determination unit 24 determines that there is no filter on which data is changed, the bypass grant unit 25 adds a path in which the data bypasses between the extracted filters of the inverse transform pair to the filter graph (step S26), the process proceeds to step S28.

次に、判定部24は、ステップS28にて、抽出されたすべての逆変換のペアについてステップS20〜S26、S60、S62のチェックが行われたかを判定する。判定部24は、抽出されたすべての逆変換のペアについてチェックが行われたと判定した場合、本処理を終了する。一方、判定部24は、抽出されたすべての逆変換のペアについてチェックが完了していないと判定した場合、ステップS20に戻り、ステップS20以降の処理を繰り返す。   Next, in step S <b> 28, the determination unit 24 determines whether all of the extracted inverse transform pairs have been checked in steps S <b> 20 to S <b> 26, S <b> 60, and S <b> 62. If the determination unit 24 determines that all the extracted inverse transformation pairs have been checked, the process ends. On the other hand, if the determination unit 24 determines that the check has not been completed for all the extracted pairs of inverse transforms, the determination unit 24 returns to step S20 and repeats the processes after step S20.

以上に説明したバイパス付加処理によれば、逆変換ペアのフィルタ間のフィルタのいずれかがデータ変更処理を行うかが判定される。判定の結果、逆変換ペアのフィルタ間で実行されるフィルタがデータ変更処理を行わない場合、逆変換ペアの上流側のフィルタへの入力データを下流側のフィルタの出力データとするデータのバイパスが形成される。この結果、フィルタグラフの順序を変更せずに適正なデータのバイパスを形成することで、フィルタグラフにおけるメディアデータの処理を効率的に実行することができる。   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 filter processing unit 26 receives media data transmitted from the terminal device 10 (step S30), the filter setting change flag indicates “ "0" is set (step S70). Next, the filter processing unit 26 acquires the next filter from the generated filter graph (step S32).

次に、フィルタ処理部26は、次のフィルタがあるかを判定する(ステップS34)。フィルタ処理部26は、次のフィルタがないと判定した場合、フィルタ設定変化フラグに「1」が設定されているかを判定する(ステップS72)。フィルタ処理部26は、フィルタ設定変化フラグに「1」が設定されていないと判定した場合、逆変換のペアのフィルタ間で実行されるフィルタはデータ変更処理を行わないと判定し、本処理を終了する。   Next, the filter processing unit 26 determines whether there is a next filter (step S34). If it is determined that there is no next filter, the filter processing unit 26 determines whether “1” is set in the filter setting change flag (step S72). When the filter processing unit 26 determines that “1” is not set in the filter setting change flag, it determines that the filter executed between the filters of the inverse transform pair does not perform the data change process, and performs this process. finish.

一方、フィルタ処理部26は、フィルタ設定変化フラグに「1」が設定されていると判定した場合、逆変換のペアのフィルタ間で実行されるフィルタはデータ変更処理を行うと判定し、図14の(1)に示すステップS14に進む。   On the other hand, if the filter processing unit 26 determines that “1” is set in the filter setting change flag, it determines that the filter executed between the filters of the inverse transform pair performs the data change process, and FIG. The process proceeds to step S14 shown in (1).

ステップ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 filter type ID 292 of the change presence / absence detection data table 29, the filter processing unit 26 determines whether the next filter is registered in the change presence / absence detection data table 29 (step S74). . When it is determined that the next filter is registered in the change presence / absence detection data table 29, the filter processing unit 26 adds “1” to the received data count 293 of the change presence / absence detection data table 29 corresponding to the next filter. (Step S76).

次に、フィルタ処理部26は、次のフィルタに対応する受信データ数293が100の倍数かを判定する(ステップS78)。フィルタ処理部26は、次のフィルタに対応する受信データ数293が100の倍数であると判定した場合、記憶部23は、次のフィルタの受信データを記憶部23に記憶し(ステップS80)、ステップS38に進む。   Next, the filter processing unit 26 determines whether the received data number 293 corresponding to the next filter is a multiple of 100 (step S78). When the filter processing unit 26 determines that the received data number 293 corresponding to the next filter is a multiple of 100, the storage unit 23 stores the received data of the next filter in the storage unit 23 (step S80). Proceed to step S38.

フィルタ処理部26は、次のフィルタに対応する受信データ数293が100の倍数でないと判定した場合、ステップS38に進む。ここでは、受信データ数が100の倍数であることを条件としたが、条件はこれに限られず、その他の数値の倍数であってもよい。   If the filter processing unit 26 determines that the received data number 293 corresponding to the next filter is not a multiple of 100, the process proceeds to step S38. Here, the condition is that the number of received data is a multiple of 100, but the condition is not limited to this, and may be a multiple of other numerical values.

ステップS38において、フィルタ処理部26は、次のフィルタの処理(バイパス処理を含む)をフィルタ単位で実行する(ステップS38)。これにより、送信データが作成される。   In step S38, the filter processing unit 26 executes the next filter processing (including bypass processing) in units of filters (step S38). As a result, transmission data is created.

次に、フィルタ処理部26は、次のフィルタの送信データと記憶部23に保存した受信データとを比較し(ステップS82)、次のフィルタの送信データと保存した受信データとに変化があるかを判定する(ステップS84)。フィルタ処理部26は、次のフィルタの送信データと保存した受信データとに変化があると判定した場合、データ変更フィルタテーブル28の次のフィルタに対応するデータ変更情報283に「1(データ変更あり)」を設定する(ステップS86)。   Next, the filter processing unit 26 compares the transmission data of the next filter with the reception data stored in the storage unit 23 (step S82), and whether there is a change between the transmission data of the next filter and the stored reception data. Is determined (step S84). When the filter processing unit 26 determines that there is a change in the transmission data of the next filter and the stored reception data, the data change information 283 corresponding to the next filter in the data change filter table 28 indicates “1 (data changed). ) "Is set (step S86).

次に、フィルタ処理部26は、フィルタ設定変化フラグに「1」を設定する(ステップS88)。次に、フィルタ処理部26は、変更有無検出データテーブル29のフィルタ種別ID292に基づき、次のフィルタの登録を削除し(ステップS90)、ステップS32に戻り、ステップS32以降の処理を繰り返す。   Next, the filter processing unit 26 sets “1” in the filter setting change flag (step S88). Next, the filter processing unit 26 deletes the registration of the next filter based on the filter type ID 292 of the change presence / absence detection data table 29 (step S90), returns to step S32, and repeats the processing after step S32.

一方、ステップS84において、フィルタ処理部26は、次のフィルタの送信データと保存した受信データとに変化がないと判定した場合、次のフィルタのフィルタ種別IDに対応する変更なしデータ数294に「1」を加算する(ステップS92)。   On the other hand, in step S84, if the filter processing unit 26 determines that there is no change between the transmission data of the next filter and the stored reception data, the number of unchanged data 294 corresponding to the filter type ID of the next filter is set to “ 1 "is added (step S92).

次に、フィルタ処理部26は、変更有無検出データテーブル29の変更なしデータ数294が10よりも大きいかを判定する(ステップS94)。フィルタ処理部26は、変更なしデータ数294が10以下の場合、ステップS32に戻り、ステップS32以降の処理を繰り返す。   Next, the filter processing unit 26 determines whether the number of unchanged data 294 in the change presence / absence detection data table 29 is greater than 10 (step S94). When the number of unchanged data 294 is 10 or less, the filter processing unit 26 returns to step S32 and repeats the processing after step S32.

一方、フィルタ処理部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 unchanged data 294 is greater than 10, the filter processing unit 26 sets “0 (no data change)” to the data change information 283 corresponding to the filter type ID of the next filter in the data change filter table 28. Set (step S96). Next, the filter processing unit 26 sets “1” in the filter setting change flag (step S88). Next, the filter processing unit 26 deletes the registration of the next filter based on the filter type ID 292 of the change presence / absence detection data table 29 (step S90), returns to step S32, and executes the processes after step S32.

このようにして、ステップ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 filter processing unit 26 sets the filter setting change flag to “1”. It is determined whether it is set (step S72). When the filter setting change flag is set to “1”, the process proceeds to (1).

これにより、フィルタ設定変化フラグが「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 filter processing unit 26 deletes all existing bypasses. Next, the filter processing unit 26 again extracts the inverse transform pair from all the filters of the filter graph (step S16). When one or more inverse transform pairs are extracted (“Yes” in step S18), the filter processing unit 26 performs the processes of steps S20, S22 to S28, S60, and S62 for the extracted inverse transform pairs. Run.

以上に説明したように、第3実施形態にかかるサーバ装置20によれば、データ変更の有無が不明なフィルタが存在する場合、そのデータ変更有無不明なフィルタが変更有無検出データテーブル29に登録される。そして、変更有無検出データテーブル29に登録された各フィルタについて、送信データと受信データとが一致するか否かが判断される。その結果、送信データと受信データとが同じデータである回数や頻度が予め定められた所定値(閾値)以上であれば、フィルタ設定変化フラグに「1」が設定される。フィルタ設定変化フラグに基づき、データが変更されるフィルタであるか否かが自動で判定できるため、不要なバイパスを削除することができ、適切なフィルタグラフに自動更新することができる。これにより、画像データ、音声データ、振動データ等の多様なメディアデータの処理を効率的に行うことができる。この結果、適切なフィルタグラフによるサービスを低コストでユーザに提供することができる。   As described above, according to the server device 20 according to the third embodiment, when there is a filter whose data change is unknown, the filter whose data change is unknown is registered in the change detection data table 29. The Then, for each filter registered in the change presence / absence detection data table 29, it is determined whether or not the transmission data matches the reception data. As a result, if the number and frequency at which the transmission data and the reception data are the same data are equal to or greater than a predetermined value (threshold), “1” is set in the filter setting change flag. Based on the filter setting change flag, it is possible to automatically determine whether or not the data is a filter to be changed. Therefore, unnecessary bypass can be deleted, and the filter graph can be automatically updated to an appropriate filter graph. As a result, various media data such as image data, audio data, and vibration data can be efficiently processed. As a result, a service using an appropriate filter graph can be provided to the user at a low cost.

なお、送信データと受信データとが一致する回数は、所定の間隔毎に第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 server device 20 according to the present embodiment will be described with reference to FIG. FIG. 16 is a diagram illustrating a hardware configuration example of the server device 20 according to the present embodiment.

サーバ装置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 server device 20 includes an input device 101, a display device 102, an external I / F 103, a RAM (Random Access Memory) 104, a ROM (Read Only Memory) 105, a CPU (Central Processing Unit) 106, a communication I / F 107, and an HDD ( Hard Disk Drive) 108. Each part is connected to each other by a bus B.

入力装置101は、キーボードやマウスなどを含み、サーバ装置20に各操作信号を入力するのに用いられる。表示装置102は、ディスプレイを含み、各種の処理結果を表示する。   The input device 101 includes a keyboard and a mouse, and is used to input each operation signal to the server device 20. The display device 102 includes a display and displays various processing results.

通信I/F107は、サーバ装置20をネットワークに接続するインタフェースである。これにより、サーバ装置20は、通信I/F107を介して、スマートフォンなどの端末装置10とデータ通信を行うことができる。   The communication I / F 107 is an interface that connects the server device 20 to a network. Thereby, the server device 20 can perform data communication with the terminal device 10 such as a smartphone via the communication I / F 107.

HDD108は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、装置全体を制御する基本ソフトウェア及びアプリケーションソフトウェアがある。例えば、HDD108には、各種のDB情報やプログラム等が格納されている。   The HDD 108 is a non-volatile storage device that stores programs and data. The stored programs and data include basic software and application software that control the entire apparatus. For example, the HDD 108 stores various DB information, programs, and the like.

外部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 / F 103 is an interface with an external device. The external device includes a recording medium 103a. Thereby, the server apparatus 20 can read and / or write the recording medium 103a via the external I / F 103. Examples of the recording medium 103a include a CD (Compact Disk), a DVD (Digital Versatile Disk), an SD memory card, a USB memory (Universal Serial Bus memory), and the like.

ROM105は、電源を切っても内部データを保持することができる不揮発性の半導体メモリである。ROM105には、ネットワーク設定などのプログラムやデータが格納されている。RAM104は、プログラムやデータを一時保持する揮発性の半導体メモリである。CPU106は、上記記憶装置(例えば「HDD108」や「ROM105」など)から、プログラムやデータをRAM104上に読み出し、バイパス付加処理、フィルタ処理、データ変更の自動推定処理等を実行することで、装置全体の制御や搭載機能を実現する演算装置である。つまり、上記ハードウェア構成により、例えば、CPU106が、ROM105やHDD108内に格納されたデータ及びプログラムを用いてバイパス付加処理、フィルタ処理、データ変更の自動推定処理を実行する。この結果、本実施形態では、フィルタグラフにおけるメディアデータの処理を効率的に実行することができる。なお、逆変換管理DB27、データ変更フィルタテーブル28、変更有無検出データテーブル29は、RAM104、HDD108、又はネットワークを介してサーバ装置20に接続されるクラウド上のサーバ等に格納され得る。   The ROM 105 is a nonvolatile semiconductor memory that can retain internal data even when the power is turned off. The ROM 105 stores programs and data such as network settings. The RAM 104 is a volatile semiconductor memory that temporarily stores programs and data. The CPU 106 reads a program and data from the storage device (for example, “HDD 108”, “ROM 105”, etc.) onto the RAM 104 and executes bypass addition processing, filtering processing, automatic data change estimation processing, etc. It is an arithmetic unit that realizes the control and mounting functions. That is, with the above hardware configuration, for example, the CPU 106 executes bypass addition processing, filtering processing, and automatic estimation of data change using data and programs stored in the ROM 105 and HDD 108. As a result, in the present embodiment, the media data processing in the filter graph can be executed efficiently. The reverse conversion management DB 27, the data change filter table 28, and the change presence / absence detection data table 29 can be stored in the RAM 104, the HDD 108, or a server on the cloud connected to the server device 20 via the network.

以上、サーバ装置、プログラム及び情報処理方法を上記実施形態により説明した。しかしながら、本発明にかかるサーバ装置、プログラム及び情報処理方法は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。また、上記複数の実施形態に記載された事項は、矛盾しない範囲で組み合わせることができる。また、上記サーバ装置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 server device 20 may be configured by hardware, may be configured by software, or may be configured by combining hardware and software.

また、例えば、上記実施形態に係るメディア処理システム1の構成は一例であり、本発明の範囲を限定するものではなく、用途や目的に応じて様々なシステム構成例があることは言うまでもない。   Further, for example, the configuration of the media processing system 1 according to the above-described embodiment is an example, and does not limit the scope of the present invention, and it goes without saying that there are various system configuration examples according to applications and purposes.

例えば、複数台の端末装置10と一台のサーバ装置20とがネットワーク30を介して接続されているシステム形態は、本実施形態に係るメディア処理システム1の一態様であり、これに限定されない。例えば、本実施形態に係るメディア処理システム1に含まれるサーバ装置20の台数は、1台又は2台以上であり得る。複数台のサーバ装置20が設置される場合、バイパス付加処理及びフィルタ処理は、複数台のサーバ装置20で分散処理され得る。なお、用途や目的に応じて、複数台のうち1台のサーバ装置20に選択的にそれら処理機能を集約させてもよい。   For example, a system configuration in which a plurality of terminal devices 10 and a single server device 20 are connected via the network 30 is an aspect of the media processing system 1 according to the present embodiment, and is not limited thereto. For example, the number of server apparatuses 20 included in the media processing system 1 according to the present embodiment may be one or two or more. When a plurality of server apparatuses 20 are installed, the bypass addition process and the filter process can be distributedly processed by the plurality of server apparatuses 20. Note that these processing functions may be selectively aggregated in one server device 20 among a plurality of devices according to the purpose and purpose.

以上の説明に関し、更に以下の項を開示する。
(付記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 attachment 1.
(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 1 or 2.
(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 4.
(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 4 or 5.
(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 attachment 7.
(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 appendix 7 or 8.

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 graph generation unit 21
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.
JP2014249292A 2014-12-09 2014-12-09 Server apparatus, program, and information processing method Active JP6341078B2 (en)

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 true JP2016111625A (en) 2016-06-20
JP6341078B2 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)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001500344A (en) * 1997-06-26 2001-01-09 ノーテル・ネットワークス・コーポレーション Method and apparatus for improving the sound quality of a tandem vocoder
JP2004312313A (en) * 2003-04-04 2004-11-04 Sony Corp Data-processing apparatus, data processing system, data processing method, and program
JP2005323353A (en) * 2004-04-15 2005-11-17 Microsoft Corp High-fidelity transcoding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001500344A (en) * 1997-06-26 2001-01-09 ノーテル・ネットワークス・コーポレーション Method and apparatus for improving the sound quality of a tandem vocoder
JP2004312313A (en) * 2003-04-04 2004-11-04 Sony Corp Data-processing apparatus, data processing system, data processing method, and program
JP2005323353A (en) * 2004-04-15 2005-11-17 Microsoft Corp High-fidelity transcoding

Also Published As

Publication number Publication date
JP6341078B2 (en) 2018-06-13

Similar Documents

Publication Publication Date Title
KR102452159B1 (en) Contextually aware dynamic group formation
WO2018166343A1 (en) Data fusion method and device, storage medium and electronic device
US10269371B2 (en) Techniques for decreasing echo and transmission periods for audio communication sessions
US10973458B2 (en) Daily cognitive monitoring of early signs of hearing loss
US20170286049A1 (en) Apparatus and method for recognizing voice commands
US11026602B2 (en) System for hearing sensitivity testing and auto reinforcement
US9466310B2 (en) Compensating for identifiable background content in a speech recognition device
CN108476072B (en) Method and system for determining sound parameters associated with sound types
JP2014513828A (en) Automatic conversation support
JP6341078B2 (en) Server apparatus, program, and information processing method
US10699729B1 (en) Phase inversion for virtual assistants and mobile music apps
US10375370B2 (en) Audio capture on mobile client devices
CN107209656B (en) Adjusting speaker settings
JP2016165080A (en) Receiver, determination method, and determination program
CN111145770B (en) Audio processing method and device
JP6942289B2 (en) Information processing equipment, sound masking system, control method, and control program
CN111739540A (en) Audio signal acquisition device, computer equipment and method
CN109975795B (en) Sound source tracking method and device
CN111768771B (en) Method and apparatus for waking up an electronic device
JP2014002336A (en) Content processing device, content processing method, and computer program
CN109671444B (en) Voice processing method and device
WO2012140834A1 (en) Information processing device
US20140365542A1 (en) Data processing system and method
US20210132896A1 (en) Learned silencing of headphones for improved awareness
WO2020107360A1 (en) Voice recognition method, device and system

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