WO2021111611A1 - スレッド同期装置、スレッド同期方法、およびプログラム - Google Patents

スレッド同期装置、スレッド同期方法、およびプログラム Download PDF

Info

Publication number
WO2021111611A1
WO2021111611A1 PCT/JP2019/047789 JP2019047789W WO2021111611A1 WO 2021111611 A1 WO2021111611 A1 WO 2021111611A1 JP 2019047789 W JP2019047789 W JP 2019047789W WO 2021111611 A1 WO2021111611 A1 WO 2021111611A1
Authority
WO
WIPO (PCT)
Prior art keywords
thread
execution speed
environment variable
processing
environment
Prior art date
Application number
PCT/JP2019/047789
Other languages
English (en)
French (fr)
Inventor
清彰 松井
山口 義和
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to PCT/JP2019/047789 priority Critical patent/WO2021111611A1/ja
Priority to JP2021562413A priority patent/JP7384220B2/ja
Priority to US17/782,645 priority patent/US20220391265A1/en
Publication of WO2021111611A1 publication Critical patent/WO2021111611A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/522Barrier synchronisation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Definitions

  • the present invention relates to a technique for synchronously executing a plurality of threads.
  • Patent Document 1 describes a technique for obtaining speaker arrangement information by using a synchronization word when downmixing multi-channel audio data.
  • An object of the present invention is to suppress the influence on the processing accuracy of the entire system while maintaining synchronization between a plurality of threads when the execution speed of a specific thread is reduced in view of the above technical problems.
  • it is to provide a technique capable of dynamically recovering the execution speed of the thread.
  • the thread synchronization device of one aspect of the present invention is a thread synchronization device that synchronizes a plurality of threads for dividing time-series data into a plurality of threads and processing them in parallel.
  • Environment variables that trade off processing accuracy and execution speed are set individually, and the execution speed calculation unit that calculates the execution speed of each thread and the environment variable update unit that updates the environment variables according to the execution speed of the thread. And, including.
  • the execution speed of a specific thread decreases, the execution speed of the thread is dynamically increased while maintaining synchronization between a plurality of threads and suppressing the influence on the processing accuracy of the entire system. You can recover.
  • FIG. 1 is a diagram illustrating a functional configuration of a thread synchronization device.
  • FIG. 2 is a diagram illustrating a processing procedure of the thread synchronization method.
  • FIG. 3 is a diagram illustrating a functional configuration of a computer.
  • the thread synchronization device 10 of the embodiment receives N-dimensional time series data as input, and performs predetermined processing in parallel with the input time series data while synchronizing N threads. It is a signal processing device that executes in and outputs the processing result.
  • the thread synchronization device 10 includes N threads 1-1, ..., 1-N (where N ⁇ 2), an execution speed calculation unit 2, and an environment variable update unit 3.
  • the thread synchronization device 10 realizes the thread synchronization method of the embodiment by performing the processing of each step illustrated in FIG.
  • the thread synchronization device 10 is configured by loading a special program into a known or dedicated computer having, for example, a central processing unit (CPU: Central Processing Unit), a main storage device (RAM: Random Access Memory), or the like. Device.
  • the thread synchronization device 10 executes each process under the control of the central processing unit, for example.
  • the data input to the thread synchronization device 10 and the data obtained in each process are stored in, for example, the main storage device, and the data stored in the main storage device is read out to the central processing unit as needed. Used for other processing.
  • At least a part of each processing unit of the thread synchronization device 10 may be configured by hardware such as an integrated circuit.
  • Environment variables that trade off processing accuracy and execution speed are set in the thread synchronization device 10.
  • Environment variables are defined individually for each thread 1-1, ..., 1-N.
  • Environment variables differ depending on the processing content for the input time series data. For example, in the case of speech recognition processing described later, a number holding a higher hypothesis can be used as an environment variable in the hypothesis search.
  • the execution speed calculation unit 2 calculates the execution speed of each thread 1-1, ..., 1-N.
  • the execution speed may be calculated by any method, and for example, a value obtained by dividing the time length of the processed data by the time required for the processing may be used.
  • the execution speed may be calculated on the thread side or the execution speed calculation unit side. In the former case, the execution speed calculated by each thread is transmitted to the execution speed calculation unit 2. In the latter case, information necessary for calculating the execution speed (for example, the time length of the processing data and the time required for processing) is transmitted from each thread to the execution speed calculation unit 2, and the execution speed calculation unit 2 executes each thread. Calculate the speed.
  • the execution speed calculation unit 2 outputs the calculated execution speeds RTF 1 , ..., RTF N of each thread 1-1, ..., 1-N to the environment variable update unit 3.
  • step S2 the environment variable updating unit 3, each thread 1-1 from executing the speed calculation portion 2, ..., execution speed RTF 1 of 1-N, ..., receives the RTF N, for each i, the execution speed RTF i
  • the environment variable Env i of thread 1-i is updated accordingly.
  • RTF 1 to RTF N are the execution speeds (Real Time Factor: RTF) of threads 1-1, ..., 1-N, respectively.
  • N 1 to N N are the number of processing samples of threads 1-1, ..., 1-N, respectively.
  • NMAX is the number of processing samples of the most advanced thread.
  • each threshold value Thr RTF and Thr sample is set in advance. If any of them exceeds the threshold value, the environment variable Env i of the corresponding thread is decreased by dividing by a predetermined ratio (line 5). However, the updated value cannot fall below the lower limit of the environment variable, Env min (4th line). On the contrary, if both are below the threshold value, the environment variable Env i is increased by multiplying by a predetermined ratio (8th line). However, the updated value cannot exceed the upper limit of the environment variable Env max (7th line). In order to suppress excessive fluctuations in environment variables, once the above operation is performed, it is controlled so that the environment variables are not changed until a predetermined time T cooltime elapses (second line). In the above algorithm, it is assumed that the predetermined ratio ratio is a value exceeding 1, and the value is updated by division and multiplication. However, if the value can be gradually decreased or increased, what should be done? You may update it.
  • the present invention can be applied to general recognition processing for time-series data consisting of N dimensions.
  • the cognitive task we search for the most probable hypotheses, but for efficiency of processing, we should search only some of the top hypotheses, not all possible hypotheses. It is common. At this time, it is common to hold "how many hypotheses are held” as an environment variable. This can be used as an "environment variable that trades off processing accuracy and execution speed”.
  • the voice recognition task is given below as one of the examples.
  • the execution speed of the thread is reduced while minimizing the influence on the processing accuracy of the system by monitoring the influence of the environment variable, which is a trade-off between the processing accuracy and the execution speed, while changing the environment variable stepwise. Can be synchronized.
  • the environment variables can be restored step by step from the viewpoint of maintaining the processing accuracy.
  • the execution speed of a specific thread decreases, the execution speed of the thread is dynamically restored while maintaining synchronization between multiple threads and minimizing the effect on the processing accuracy of the thread. be able to.
  • the program that describes this processing content can be recorded on a computer-readable recording medium.
  • the computer-readable recording medium may be, for example, a magnetic recording device, an optical disk, a photomagnetic recording medium, a semiconductor memory, or the like.
  • the distribution of this program is carried out, for example, by selling, transferring, renting, etc., portable recording media such as DVDs and CD-ROMs on which the program is recorded. Further, the program may be stored in the storage device of the server computer, and the program may be distributed by transferring the program from the server computer to another computer via a network.
  • a computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. Then, when the process is executed, the computer reads the program stored in its own storage device and executes the process according to the read program. Further, as another execution form of this program, a computer may read the program directly from a portable recording medium and execute processing according to the program, and further, the program is transferred from the server computer to this computer. Each time, the processing according to the received program may be executed sequentially. In addition, the above processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition without transferring the program from the server computer to this computer. May be.
  • the program in this embodiment includes information to be used for processing by a computer and equivalent to the program (data that is not a direct command to the computer but has a property of defining the processing of the computer, etc.).
  • the present device is configured by executing a predetermined program on the computer, but at least a part of these processing contents may be realized by hardware.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Multi Processors (AREA)

Abstract

システム全体の処理精度への影響を抑えながら、スレッドの実行速度を動的に回復する。スレッド同期装置(10)は、時系列データを複数に分割して並列処理するためのN個のスレッド(1-1,…,1-N)を同期する。スレッド(1-1,…,1-N)は、処理精度と実行速度がトレードオフとなる環境変数が個別に設定されている。実行速度算出部(2)は、スレッドそれぞれの実行速度を算出する。環境変数更新部(3)は、スレッドの実行速度に応じて環境変数を更新する。

Description

スレッド同期装置、スレッド同期方法、およびプログラム
 この発明は、複数のスレッドを同期実行する技術に関する。
 ある一つの入力に対し、複数のスレッド間で同期を取りながら処理を行いたい場合がある。例えば、複数の話者間での対話音声を音声認識する場合、その対話音声を話者毎のチャンネルに分け、各チャンネルを異なるスレッドで処理させることがある。このとき、発話の前後関係を保つために、全スレッド間で処理位置を合わせる必要がある。また、例えば、特許文献1には、マルチチャネルのオーディオデータをダウンミックスする際に同期ワードを用いてスピーカ配置情報を得る技術が記載されている。
特開2018-116313号公報
 通常、同期処理を行う場合、あるタイミングで進んでいるスレッドが遅れているスレッドの処理を待ち、遅れが解消された段階で処理を再開する、という手法が用いられている。しかしながら、この手法では、システム全体の実行速度が、最も遅いスレッドによって決まってしまうため、例えばCPU使用率の上昇やスループットの低下等の要因により、いずれかのスレッドの実行速度が低下した場合、システム全体の実行速度が遅くなるという問題があった。
 この発明の目的は、上記のような技術的課題に鑑みて、特定のスレッドの実行速度が低下した場合に、複数のスレッド間の同期を維持しつつ、システム全体の処理精度への影響を抑えながら、当該スレッドの実行速度を動的に回復することができる技術を提供することである。
 上記の課題を解決するために、この発明の一態様のスレッド同期装置は、時系列データを複数に分割して並列処理するための複数のスレッドを同期するスレッド同期装置であって、スレッドは、処理精度と実行速度がトレードオフとなる環境変数が個別に設定されており、スレッドそれぞれの実行速度を算出する実行速度算出部と、スレッドの実行速度に応じて環境変数を更新する環境変数更新部と、を含む。
 この発明によれば、特定のスレッドの実行速度が低下した場合に、複数のスレッド間の同期を維持しつつ、システム全体の処理精度への影響を抑えながら、当該スレッドの実行速度を動的に回復することができる。
図1は、スレッド同期装置の機能構成を例示する図である。 図2は、スレッド同期方法の処理手順を例示する図である。 図3は、コンピュータの機能構成を例示する図である。
 以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
 [実施形態]
 実施形態のスレッド同期装置10は、図1に例示するように、N次元の時系列データを入力とし、入力された時系列データに対して、N個のスレッドを同期しながら所定の処理を並列に実行し、その処理結果を出力する信号処理装置である。スレッド同期装置10は、N個のスレッド1-1,…,1-N(ただし、N≧2)、実行速度算出部2、および環境変数更新部3を備える。このスレッド同期装置10が、図2に例示する各ステップの処理を行うことにより実施形態のスレッド同期方法が実現される。
 スレッド同期装置10は、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。スレッド同期装置10は、例えば、中央演算処理装置の制御のもとで各処理を実行する。スレッド同期装置10に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。スレッド同期装置10の各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
 スレッド同期装置10には、処理精度と実行速度のトレードオフとなる環境変数が設定されている。環境変数は各スレッド1-1,…,1-Nに対して個別に定義されている。以下、i(=1,…,N)番目のスレッドの環境変数をEnvと記述する。環境変数は、入力された時系列データに対する処理内容により異なる。例えば、後述する音声認識処理の場合であれば、仮説探索において上位の仮説を保持する数を環境変数として用いることができる。
 図2を参照して、実施形態のスレッド同期装置10が実行するスレッド同期方法の処理手続きを説明する。
 ステップS1において、実行速度算出部2は、各スレッド1-1,…,1-Nの実行速度を算出する。実行速度の算出はどのような方法でもよいが、例えば、処理したデータの時間長を処理に要した時間で除算した値を用いればよい。実行速度の算出は、スレッド側で行っても、実行速度算出部側で行ってもよい。前者の場合、各スレッドで計算された実行速度を実行速度算出部2へ送信する。後者の場合、各スレッドから実行速度の計算に必要な情報(例えば、処理データの時間長および処理に要した時間)を実行速度算出部2へ送信し、実行速度算出部2が各スレッドの実行速度を計算する。以下、i(=1,…,N)番目のスレッドの実行速度をRTFと記述する。実行速度算出部2は、算出した各スレッド1-1,…,1-Nの実行速度RTF,…,RTFを環境変数更新部3へ出力する。
 ステップS2において、環境変数更新部3は、実行速度算出部2から各スレッド1-1,…,1-Nの実行速度RTF,…,RTFを受け取り、各iについて、実行速度RTFに応じてスレッド1-iの環境変数Envを更新する。
 以下に、環境変数を更新する際の具体的なアルゴリズムを示す。
==========================================
# value from data
Real Time Factor of each thread: RTF1 ~ RTFN
Amount of processed data: N1 ~ NN
The maximum value of processed sample: NMAX = max1≦n≦NNn
# parameter
Threshold of RTF: ThrRTF
Threshold of processed sample: Thrsample
The maximum value of Env: EnvMAX
The minimum value of Env: Envmin
Change ratio: ratio
==========================================
# main
 1:  for i in 1 to N:
 2:    if (counti > Tcooltime):
 3:      if ((RTFi> ThrRTF) and (|NMAX-Ni| > Thrsample)):
 4:        if (Envi/ratio ≧ Envmin):
 5:          Envi = Envi/ratio
 6:      else:
 7:        if (Envi*ratio ≦ EnvMAX):
 8:          Envi = Envi*ratio
 9:          counti = 0
10:    else:
11:      counti += 1
==========================================
 上記アルゴリズムについて解説する。RTF1 ~ RTFNはそれぞれスレッド1-1,…,1-Nの実行速度(Real Time Factor: RTF)である。N1~ NNはそれぞれスレッド1-1,…,1-Nの処理サンプル数である。NMAXは最も処理が進んでいるスレッドの処理サンプル数である。まず、各スレッドの「実行速度(RTFi)」と「最も処理が進んでいるスレッドの処理サンプル数NMAXと自スレッドの処理サンプル数Niとの差(|NMAX-Ni|)」がそれぞれ閾値(ThrRTF, Thrsample)を超えているか否かを判定する(3行目)。各閾値ThrRTF, Thrsampleは予め設定されているものとする。いずれかが閾値を超えていれば、所定の比率ratioで除算して、該当スレッドの環境変数Enviを減少させる(5行目)。ただし、更新後の値は環境変数の下限値Envminを下回ることはできない(4行目)。逆に、いずれも閾値以下であれば、所定の比率ratioで乗算して、環境変数Enviを増加させる(8行目)。ただし、更新後の値は環境変数の上限値Envmaxを超えることはできない(7行目)。環境変数の過剰な変動を抑制するため、一度上記の操作を行った場合、所定の時間Tcooltimeが経過するまでは、環境変数の変更を行わないように制御する(2行目)。なお、上記アルゴリズムでは所定の比率ratioが1を超える値であることを前提とし、除算と乗算により値を更新するものとしたが、段階的に値を減少または増加することができれば、どのように更新してもよい。
 [実施例]
 本発明は、N次元からなる時系列データに対する認識処理全般に応用することができる。認識タスクにおいては、最も取り得る可能性の高い仮説を探索するが、処理の効率化のため、考えられ得るすべての仮説ではなく、上位のいくつかの仮説に限って探索の対象とするのが一般的である。このとき、「仮説をいくつ保持するか」を環境変数として保持するのが一般的である。これを「処理精度と実行速度のトレードオフとなる環境変数」として使用することができる。
 以下に、実施例の一つとして、音声認識タスクを挙げる。
 会議音声やコールセンタにおける顧客とオペレータの会話のような多チャンネル音声の連続認識を行うとき、音声データをチャンネル単位に分割し、チャンネル間の同期を取りながら同時に認識を行いたい場合がある。この場合、一般的には、時系列順に数十ミリ秒毎のフレームを切り取り、順番に処理していく。このとき、各スレッドの実行速度の差が、チャンネル間の処理速度の差として生じる。音声認識における仮説探索においては、上位の仮説をどれだけ保持するかを表すビーム幅を環境変数として持つことができる。このビーム幅を、音声認識の「処理精度と実行速度のトレードオフとなる環境変数」として扱うことができる。このように条件を置くことで、本発明を音声認識タスクに適用することができる。
 本発明では、処理精度と実行速度のトレードオフとなる環境変数を段階的に変更しつつ、その影響を監視することで、システムの処理精度に対する影響を最小限に留めつつ、スレッドの実行速度を同期することができる。また、遅れていたスレッドの実行速度が改善され、スレッド間の実行速度に差がなくなった場合、処理精度を維持する観点から、環境変数を段階的に復元させることができる。これにより、特定スレッドの実行速度が低下した場合に、複数スレッド間の同期を維持しつつ、当該スレッドの処理精度への影響を最小限に抑えながら、当該スレッドの実行速度を動的に回復することができる。
 以上、この発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、この発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、この発明に含まれることはいうまでもない。実施の形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
 [プログラム、記録媒体]
 上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムを図3に示すコンピュータの記憶部1020に読み込ませ、制御部1010、入力部1030、出力部1040などに動作させることにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
 また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (6)

  1.  時系列データを複数に分割して並列処理するための複数のスレッドを同期するスレッド同期装置であって、
     前記スレッドは、処理精度と実行速度がトレードオフとなる環境変数が個別に設定されており、
     前記スレッドそれぞれの実行速度を算出する実行速度算出部と、
     前記スレッドの実行速度に応じて前記環境変数を更新する環境変数更新部と、
     を含むスレッド同期装置。
  2.  請求項1に記載のスレッド同期装置であって、
     前記環境変数更新部は、前記スレッドそれぞれについて、前記実行速度が最も大きいスレッドと当該スレッドとの実行速度の差を算出し、その実行速度の差が所定の閾値を超える場合、当該スレッドの前記環境変数を実行速度が向上するように更新し、その実行速度の差が前記閾値以下である場合、当該スレッドの前記環境変数を処理精度が向上するように更新する、
     スレッド同期装置。
  3.  請求項2に記載のスレッド同期装置であって、
     前記環境変数は、値が大きいほど処理精度が高くなり、値が小さいほど実行速度が高くなるものであり、
     前記環境変数更新部は、前記実行速度の差が前記閾値を超える場合、当該スレッドの前記環境変数を予め定めた1より大きい比率で除算し、前記実行速度の差が前記閾値以下である場合、当該スレッドの前記環境変数を前記比率で乗算する、
     スレッド同期装置。
  4.  請求項1から3のいずれかに記載のスレッド同期装置であって、
     前記スレッドは、音声信号のチャネル毎に音声認識を行うものであり、
     前記環境変数は、音声認識の仮説探索において上位の仮説を保持する数を設定するものである、
     スレッド同期装置。
  5.  時系列データを複数に分割して並列処理するための複数のスレッドを同期するスレッド同期方法であって、
     前記スレッドは、処理精度と実行速度がトレードオフとなる環境変数が個別に設定されており、
     実行速度算出部が、前記スレッドそれぞれの実行速度を算出し、
     環境変数更新部が、前記スレッドの実行速度に応じて前記環境変数を更新する、
     スレッド同期方法。
  6.  請求項1から4のいずれかに記載のスレッド同期装置としてコンピュータを機能させるためのプログラム。
PCT/JP2019/047789 2019-12-06 2019-12-06 スレッド同期装置、スレッド同期方法、およびプログラム WO2021111611A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2019/047789 WO2021111611A1 (ja) 2019-12-06 2019-12-06 スレッド同期装置、スレッド同期方法、およびプログラム
JP2021562413A JP7384220B2 (ja) 2019-12-06 2019-12-06 スレッド同期装置、スレッド同期方法、およびプログラム
US17/782,645 US20220391265A1 (en) 2019-12-06 2019-12-06 Thread synchronization apparatus, thread synchronization method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/047789 WO2021111611A1 (ja) 2019-12-06 2019-12-06 スレッド同期装置、スレッド同期方法、およびプログラム

Publications (1)

Publication Number Publication Date
WO2021111611A1 true WO2021111611A1 (ja) 2021-06-10

Family

ID=76221168

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/047789 WO2021111611A1 (ja) 2019-12-06 2019-12-06 スレッド同期装置、スレッド同期方法、およびプログラム

Country Status (3)

Country Link
US (1) US20220391265A1 (ja)
JP (1) JP7384220B2 (ja)
WO (1) WO2021111611A1 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003015683A (ja) * 2001-06-27 2003-01-17 Nec Corp 音声認識装置、ビームサーチ方法、およびビームサーチプログラム
JP2008252415A (ja) * 2007-03-30 2008-10-16 Sanyo Electric Co Ltd 画像処理装置
WO2009078428A1 (ja) * 2007-12-18 2009-06-25 Nec Corporation データストリーム処理システム、方法及びプログラム
JP2014056026A (ja) * 2012-09-11 2014-03-27 Nec Corp 音声検出装置、音声検出方法、およびプログラム
JP2014171187A (ja) * 2013-03-05 2014-09-18 Canon Inc 監視カメラシステム
WO2017109890A1 (ja) * 2015-12-24 2017-06-29 株式会社日立製作所 管理計算機及びバッチ処理の実行方法
JP6536735B1 (ja) * 2018-12-28 2019-07-03 富士通クライアントコンピューティング株式会社 情報処理装置、情報処理システムおよびプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003015683A (ja) * 2001-06-27 2003-01-17 Nec Corp 音声認識装置、ビームサーチ方法、およびビームサーチプログラム
JP2008252415A (ja) * 2007-03-30 2008-10-16 Sanyo Electric Co Ltd 画像処理装置
WO2009078428A1 (ja) * 2007-12-18 2009-06-25 Nec Corporation データストリーム処理システム、方法及びプログラム
JP2014056026A (ja) * 2012-09-11 2014-03-27 Nec Corp 音声検出装置、音声検出方法、およびプログラム
JP2014171187A (ja) * 2013-03-05 2014-09-18 Canon Inc 監視カメラシステム
WO2017109890A1 (ja) * 2015-12-24 2017-06-29 株式会社日立製作所 管理計算機及びバッチ処理の実行方法
JP6536735B1 (ja) * 2018-12-28 2019-07-03 富士通クライアントコンピューティング株式会社 情報処理装置、情報処理システムおよびプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
24 May 2017 (2017-05-24), pages 83 - 85, ISBN: 978-4-06-152924-3 *

Also Published As

Publication number Publication date
JP7384220B2 (ja) 2023-11-21
US20220391265A1 (en) 2022-12-08
JPWO2021111611A1 (ja) 2021-06-10

Similar Documents

Publication Publication Date Title
CN108630193A (zh) 语音识别方法及装置
EP2896194B1 (en) Handling concurrent speech
US9143862B2 (en) Correlation based filter adaptation
US7930180B2 (en) Speech recognition system, method and program that generates a recognition result in parallel with a distance value
US9720785B1 (en) Variable checkpointing in a streaming application that includes tuple windows
WO2021111611A1 (ja) スレッド同期装置、スレッド同期方法、およびプログラム
JP7340630B2 (ja) ニューラルネットワークを使用した音声入力の複数話者ダイアライゼーション
US9189457B2 (en) Method for distributing computing load in a data processing system
CN109727603A (zh) 语音处理方法、装置、用户设备及存储介质
KR20180109096A (ko) 멀티 코어 환경에서의 파티션 스케쥴링 장치 및 방법
CN107731243B (zh) 一种语音实时变速播放方法及设备
JP2007033804A (ja) 音源分離装置,音源分離プログラム及び音源分離方法
CN111738823A (zh) 银行外围系统及其切日方法
EP3852099B1 (en) Keyword detection apparatus, keyword detection method, and program
CN114007176A (zh) 用于降低信号延时的音频信号处理方法、装置及存储介质
US20220158600A1 (en) Generation of output data based on source signal samples and control data samples
CN117558283B (zh) 一种多路多标准的音频解码系统
KR102528130B1 (ko) 파티션 스케쥴링 방법
Zatvornitsky et al. Proportional-Integral-Derivative Control of Automatic Speech Recognition Speed
JP2002189604A (ja) マルチタスク処理方法および処理装置
CN117437939A (zh) 一种应急广播语音活性检测方法、系统、设备及介质
WO2009107411A1 (ja) 音声認識装置、音声認識方法、及び、音声認識プログラムが記録された記録媒体
CN112216303A (zh) 一种语音处理方法、装置及电子设备
JP2013061439A (ja) 信号処理装置および方法、並びにプログラム
KR20200046168A (ko) 모듈화된 신경망의 데이터 처리를 제어하는 전자 장치 및 그 제어 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19955153

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021562413

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19955153

Country of ref document: EP

Kind code of ref document: A1