JP2016092679A - Voice processing unit, program and method - Google Patents

Voice processing unit, program and method Download PDF

Info

Publication number
JP2016092679A
JP2016092679A JP2014227163A JP2014227163A JP2016092679A JP 2016092679 A JP2016092679 A JP 2016092679A JP 2014227163 A JP2014227163 A JP 2014227163A JP 2014227163 A JP2014227163 A JP 2014227163A JP 2016092679 A JP2016092679 A JP 2016092679A
Authority
JP
Japan
Prior art keywords
data
voice
synthesized
sound
synthesizing
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
JP2014227163A
Other languages
Japanese (ja)
Other versions
JP6476768B2 (en
Inventor
高詩 石黒
Takashi Ishiguro
高詩 石黒
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2014227163A priority Critical patent/JP6476768B2/en
Publication of JP2016092679A publication Critical patent/JP2016092679A/en
Application granted granted Critical
Publication of JP6476768B2 publication Critical patent/JP6476768B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Circuit For Audible Band Transducer (AREA)
  • Telephonic Communication Services (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a voice processing unit capable of mixing a larger number of voice channels by software at a low cost.SOLUTION: A voice processing unit includes a plurality of voice processing means, each having a plurality of tone signal reception means for receiving the reception sound data based on the reception sound of each time series, first synthesis means for generating first synthesized voice data by synthesizing the reception sound data received by the plurality of tone signal reception means, buffer means for holding the first synthesized voice data, second synthesis means for generating second synthesized voice data by synthesizing the first synthesized voice data, generated in other voice processing means, respectively, and third synthesis means for generating transmission sound data by synthesizing the voice data, obtained by removing the reception sound data related to the transmission destination from the reception sound data received by the plurality of tone signal reception means, for each reception destination.SELECTED DRAWING: Figure 1

Description

この発明は、音声処理装置、プログラム及び方法に関し、例えば、多地点間をネットワーク接続して会議環境を提供する会議システムを構成する会議サーバ(例えば、MCU(Multipoint Control Unit等の装置)の音声ミキシング処理に適用し得る。   The present invention relates to an audio processing apparatus, a program, and a method. For example, audio mixing of a conference server (for example, an apparatus such as an MCU (Multipoint Control Unit)) that constitutes a conference system that provides a conference environment by connecting multiple points to a network. Applicable to processing.

従来、多地点間をネットワーク接続して会議環境を提供する会議システムにおいて、多数の拠点間の音声をミキシングする処理には、通常、専用ハードウェアが用いられる。   Conventionally, in a conference system that provides a conference environment by connecting multiple points to a network, dedicated hardware is usually used for the process of mixing audio between multiple sites.

ところで、従来の会議システムの音声ミキシング処理を行う装置では、ITU−T G.729などの高圧縮の符号化方式を用いると、デコーダおよびエンコーダの処理負荷が大きくなり、ミキシング可能なチャネル数が制限されるという課題がある。さらに、近年、ネットワーク設備に関する、コスト低減および維持管理の観点から、専用ハードを使用せずに、汎用サーバ上にソフトウェア的にミキシング機能を実現することが求められている。   By the way, in an apparatus for performing audio mixing processing of a conventional conference system, ITU-TG When a high-compression encoding method such as 729 is used, there is a problem that the processing load on the decoder and encoder increases, and the number of channels that can be mixed is limited. Furthermore, in recent years, from the viewpoint of cost reduction and maintenance management related to network equipment, it is required to implement a mixing function in software on a general-purpose server without using dedicated hardware.

このような課題を解決するための従来技術として特許文献1の記載技術がある。   As a conventional technique for solving such a problem, there is a technique described in Patent Document 1.

特許文献1には、複数の入出力音声データをミキシングする通信ブロックを複数と、中央ミキサを用いることにより、ミキシング演算処理の負荷を軽減し、多地点の音声ミキシングを実現することについて記載されている。   Patent Document 1 describes that a plurality of communication blocks for mixing a plurality of input / output audio data and a central mixer are used to reduce the load of mixing calculation processing and realize multi-point audio mixing. Yes.

特許公開2008−211291号公報Japanese Patent Publication No. 2008-211291

一般的に汎用サーバは、複数のCPUを搭載しており、各CPUは複数のCPUコアで構成されているが、特許文献1の装置における中央ミキサを汎用サーバ上にソフトウェア的に実装する場合、1つのCPUコアの処理能力が、メディア処理スレッド処理の性能限界となってしまう。例えば、12コア(2CPU×6コア)のサーバの場合、CPU全体の1/12の処理能力でミキシング可能なチャネル数が制限されてしまう。   Generally, a general-purpose server is equipped with a plurality of CPUs, and each CPU is composed of a plurality of CPU cores. However, when the central mixer in the apparatus of Patent Document 1 is mounted on a general-purpose server by software, The processing capability of one CPU core becomes the performance limit of media processing thread processing. For example, in the case of a 12-core (2 CPU × 6 core) server, the number of channels that can be mixed is limited by the processing capacity of 1/12 of the entire CPU.

そのため、低コストでより多くの音声チャネルについてソフトウェア的にミキシング処理可能な音声処理装置、プログラム及び方法が望まれている。   Therefore, a voice processing apparatus, program, and method capable of performing software mixing processing on more voice channels at a low cost are desired.

第1の本発明の音声処理装置は、(1)複数の音声処理手段を備え、(1−1)それぞれの上記音声処理手段は、(1−2)時系列ごとの受信音に基づいた受信音データを受信する複数の音信号受信手段と、(1−3)上記複数の音信号受信手段が受信した受信音データを合成して第1の合成音声データを生成する第1の合成手段と、(1−4)第1の合成音声データを保持するバッファ手段と、(1−5)他の上記音声処理手段のそれぞれで生成された第1の合成音声データを合成して第2の合成音声データを生成する第2の合成手段と、(1−6)送信先ごとに、複数の上記音信号受信手段が受信した受信音データから当該送信先に係る受信音データを除外した音声データと上記第2の合成音声データとを合成した送信音データを生成する第3の合成手段とを有することを特徴とする。   The sound processing apparatus of the first aspect of the present invention includes (1) a plurality of sound processing means, and (1-1) each of the sound processing means is (1-2) reception based on reception sound for each time series. A plurality of sound signal receiving means for receiving sound data; and (1-3) a first synthesizing means for generating first synthesized sound data by synthesizing the received sound data received by the plurality of sound signal receiving means. , (1-4) buffer means for holding the first synthesized voice data, and (1-5) second synthesized voice by synthesizing the first synthesized voice data generated by each of the other voice processing means. A second synthesizing unit that generates audio data; and (1-6) audio data obtained by excluding reception sound data relating to the transmission destination from reception sound data received by the plurality of sound signal reception units for each transmission destination; Generate transmission sound data synthesized with the second synthesized voice data. And having a third combining means.

第2の本発明の音声処理プログラムは、(1)コンピュータを複数の音声処理手段として機能させ、(2)それぞれの上記音声処理手段は、(2−1)時系列ごとの受信音に基づいた受信音データを受信する複数の音信号受信手段と、(2−2)上記複数の音信号受信手段が受信した受信音データを合成して第1の合成音声データを生成する第1の合成手段と、(2−3)第1の合成音声データを保持するバッファ手段と、(2−4)他の上記音声処理手段のそれぞれで生成された第1の合成音声データを合成して第2の合成音声データを生成する第2の合成手段と、(2−5送信先ごとに、複数の上記音信号受信手段が受信した受信音データから当該送信先に係る受信音データを除外した音声データと上記第2の合成音声データとを合成した送信音データを生成する第3の合成手段とを有することを特徴とする。   The audio processing program of the second aspect of the present invention is (1) makes a computer function as a plurality of audio processing means, (2) each of the audio processing means is based on (2-1) received sound for each time series. A plurality of sound signal receiving means for receiving the received sound data; and (2-2) a first synthesizing means for generating the first synthesized sound data by synthesizing the received sound data received by the plurality of sound signal receiving means. (2-3) buffer means for holding the first synthesized voice data and (2-4) first synthesized voice data generated by each of the other voice processing means to synthesize the second A second synthesizing unit that generates synthesized audio data; (2-5 audio data obtained by excluding reception sound data related to the transmission destination from reception sound data received by the plurality of sound signal reception units for each transmission destination; The second synthesized voice data is synthesized And having a third synthesizing means for generating a transmitted sound data.

第3の本発明は音声処理装置が実行する音声処理方法において、(1)複数の音声処理手段を備え、(2)それぞれの音声処理手段は、複数の音信号受信手段、第1の合成手段、バッファ手段、第2の合成手段、及び第3の合成手段を備え、(3)それぞれの上記音信号受信手段は、時系列ごとの受信音に基づいた受信音データを受信し、(4)上記第1の合成手段は、上記複数の音信号受信手段が受信した受信音データを合成して第1の合成音声データを生成し、(5)上記バッファ手段は、第1の合成音声データを保持し、(6)上記第2の合成手段は、他の上記音声処理手段のそれぞれで生成された第1の合成音声データを合成して第2の合成音声データを生成し、(7)上記第3の合成手段は、送信先ごとに、複数の上記音信号受信手段が受信した受信音データから当該送信先に係る受信音データを除外した音声データと上記第2の合成音声データとを合成した送信音データを生成することを特徴とする。   According to a third aspect of the present invention, there is provided a speech processing method executed by the speech processing apparatus, comprising: (1) a plurality of speech processing means; and (2) each speech processing means comprising a plurality of sound signal receiving means and first synthesis means. , Buffer means, second synthesizing means, and third synthesizing means, (3) each of the sound signal receiving means receives the received sound data based on the received sound for each time series, and (4) The first synthesizing unit synthesizes reception sound data received by the plurality of sound signal receiving units to generate first synthetic audio data. (5) The buffer unit converts the first synthetic audio data into the first synthetic audio data. (6) the second synthesizing unit synthesizes the first synthesized audio data generated by each of the other audio processing units to generate second synthesized audio data, and (7) the above-described The third synthesizing unit receives a plurality of the sound signals for each transmission destination. And generating a transmitted sound data stage obtained by synthesizing the audio data and the second synthesized speech data from the receiving sound data received, excluding the received sound data relating to the destination.

本発明によれば、低コストでより多くの音声チャネルについてソフトウェア的にミキシング処理可能な音声処理装置を提供することができる。   According to the present invention, it is possible to provide a voice processing apparatus capable of performing software mixing processing on a larger number of voice channels at a low cost.

第1の実施形態に係る多地点音声ミキシング装置で動作するメディア処理スレッドの構成例について示したブロック図である。It is the block diagram shown about the structural example of the media processing thread | sled which operate | moves with the multipoint audio | voice mixing apparatus which concerns on 1st Embodiment. 第1の実施形態に係る多地点音声ミキシング装置のハードウェア構成及び接続構成について示したブロック図である。It is the block diagram shown about the hardware constitutions and connection structure of the multipoint audio | voice mixing apparatus which concerns on 1st Embodiment. 第1の実施形態に係る多地点音声ミキシング装置に接続する端末の構成の例について示したブロック図である。It is the block diagram shown about the example of the structure of the terminal connected to the multipoint audio | voice mixing apparatus which concerns on 1st Embodiment. 第1の実施形態に係る音声受信処理の内部構成の例について示したブロック図である。It is the block diagram shown about the example of the internal structure of the audio | voice reception process which concerns on 1st Embodiment. 第1の実施形態に係る音声送信処理の内部構成の例について示したブロック図である。It is the block diagram shown about the example of the internal structure of the audio | voice transmission process which concerns on 1st Embodiment. 第1の実施形態に係る循環バッファの構成例について示した説明図である。It is explanatory drawing shown about the structural example of the circular buffer which concerns on 1st Embodiment. 第1の実施形態にミキサの内部構成の例について示した説明図である。It is explanatory drawing shown about the example of the internal structure of the mixer in 1st Embodiment. 第1の実施形態に係る多地点音声ミキシング装置の動作(メディア処理スレッドの動作)の例について示したタイミングチャートである。It is the timing chart shown about the example of operation (operation of a media processing thread) of the multipoint audio mixing device concerning a 1st embodiment. 第2の実施形態に係る多地点音声ミキシング装置の動作(メディア処理スレッドの動作)の例について示したタイミングチャートである。It is the timing chart shown about the example of operation (operation of a media processing thread) of the multipoint audio mixing device concerning a 2nd embodiment.

(A)第1の実施形態
以下、本発明による音声処理装置、プログラム及び方法の第1の実施形態を、図面を参照しながら詳述する。以下では、本発明の音声処理装置および音声処理プログラムを多地点音声ミキシング装置に適用する例について説明する。
(A) First Embodiment Hereinafter, a first embodiment of a sound processing apparatus, program, and method according to the present invention will be described in detail with reference to the drawings. Below, the example which applies the audio | voice processing apparatus and audio | voice processing program of this invention to a multipoint audio | voice mixing apparatus is demonstrated.

(A−1)第1の実施形態の構成
図2は、この実施形態の多地点音声ミキシング装置10のハードウェア構成及び接続構成の例について示したブロック図である。
(A-1) Configuration of the First Embodiment FIG. 2 is a block diagram showing an example of the hardware configuration and connection configuration of the multipoint audio mixing device 10 of this embodiment.

図2に示すように、多地点音声ミキシング装置10は、N×M台の端末20−1_1〜20−M_N(端末20−1_1、20−1_2、…、20−1_N、20−2_1、20−2_2、…、20−2_N、…20−M_1、20−M_2、…、20−M_N)とネットワーク40を介して接続している。なお、N、Mは、2以上の任意の整数である。また、N×M台の端末20は、多地点音声ミキシング装置10に接続可能な最大の端末20の数であり、多地点音声ミキシング装置10に接続される端末20の数は、N×M台以下であってもよい。   As shown in FIG. 2, the multipoint audio mixing apparatus 10 includes N × M terminals 20-1_1 to 20-M_N (terminals 20-1_1, 20-1_2,..., 20-1_N, 20-2_1, 20−). 2_2, ..., 20-2_N, ... 20-M_1, 20-M_2, ..., 20-M_N) and the network 40. N and M are arbitrary integers of 2 or more. The N × M terminals 20 are the maximum number of terminals 20 that can be connected to the multipoint audio mixing apparatus 10, and the number of terminals 20 connected to the multipoint audio mixing apparatus 10 is N × M. It may be the following.

ネットワーク40としては例えばIPネットワークを適用することができるが、多地点音声ミキシング装置10と各端末20との間のネットワーク接続構成については限定されないものである。この実施形態では、多地点音声ミキシング装置10と各端末20との間ではIP通信により、音声(会議音声)データのリアルタイム送受信を行うことが可能であるものとする。   For example, an IP network can be applied as the network 40, but the network connection configuration between the multipoint audio mixing apparatus 10 and each terminal 20 is not limited. In this embodiment, it is assumed that real-time transmission / reception of audio (conference audio) data can be performed between the multipoint audio mixing apparatus 10 and each terminal 20 by IP communication.

図3は、端末20の内部構成の例について示したブロック図である。   FIG. 3 is a block diagram showing an example of the internal configuration of the terminal 20.

各端末20は、会議端末(電話端末)として機能するものである。各端末20の具体的な構成は、図3の構成に限定されないものであり、例えば、IP電話機やソフトフォンのアプリケーションをインストールしたPC等を適用することができる。   Each terminal 20 functions as a conference terminal (telephone terminal). The specific configuration of each terminal 20 is not limited to the configuration shown in FIG. 3, and for example, an IP telephone or a PC installed with a softphone application can be applied.

この実施形態では、端末20は、全て図3のブロック図で示される構成であるものとして以下の説明を行うが、各端末20の具体的な構成は、図3の構成に限定されないものである。例えば、IP電話機や、ソフトフォンとして機能するコンピュータ(例えば、PC,スマートフォン、タブレットPC等にソフトフォンのアプリケーションをインストールしたもの)等を適用することができる。   In this embodiment, the following description will be made assuming that all the terminals 20 have the configuration shown in the block diagram of FIG. 3, but the specific configuration of each terminal 20 is not limited to the configuration of FIG. . For example, an IP telephone or a computer functioning as a soft phone (for example, a PC, a smartphone, a tablet PC or the like in which a soft phone application is installed) can be applied.

図3に示す端末20は、通話処理部21、ネットワークインタフェースとしての通信部22、ユーザの音声を捕捉するマイク23、及びユーザに音声出力するスピーカ24を有している。マイク23、及びスピーカ24は、端末20において送受話器として機能するものであり、例えば、電話機やスピーカフォンの受話器やヘッドセット等を適用することができる。   The terminal 20 shown in FIG. 3 includes a call processing unit 21, a communication unit 22 as a network interface, a microphone 23 that captures a user's voice, and a speaker 24 that outputs a voice to the user. The microphone 23 and the speaker 24 function as a handset in the terminal 20, and for example, a telephone or speakerphone handset or headset can be applied.

通話処理部21は、音声データ/音声信号の処理や呼制御処理等、通話に係る処理を行うものである。端末20が、例えば、PC等の汎用的なコンピュータで構成されている場合には、通話処理部21はソフトフォンのアプリケーションに該当する構成要素となる。   The call processing unit 21 performs processing related to a call such as processing of voice data / voice signals and call control processing. For example, when the terminal 20 is configured by a general-purpose computer such as a PC, the call processing unit 21 is a constituent element corresponding to a softphone application.

通話処理部21は、多地点音声ミキシング装置10と電話通信の呼の接続を行い、音声データをリアルタイムに送受信する。端末20と多地点音声ミキシング装置10との間の呼制御処理や音声通信のプロトコルは限定されないものであるが、例えば、SIP(Session Initiation Protocol)やRTP(Real−time Transport Protocol)等のプロトコルを用いて呼制御処理及び音声通信が可能であるものとする。   The call processing unit 21 connects a call for telephone communication with the multipoint audio mixing device 10 and transmits and receives audio data in real time. Protocols for call control processing and voice communication between the terminal 20 and the multipoint voice mixing device 10 are not limited. For example, protocols such as SIP (Session Initiation Protocol) and RTP (Real-time Transport Protocol) are used. It is assumed that call control processing and voice communication are possible.

通話処理部21は、マイク23で捕捉した音声信号に所定の符号化処理(コーデック化)を施した音声データを、多地点音声ミキシング装置10へ送信する。また、通話処理部21は、多地点音声ミキシング装置10から受信した音声データを音声信号に復号して、スピーカ24から出力させる処理を行う。多地点音声ミキシング装置10と端末20との間で用いられる音信号の符号化方式(コーデック)については限定されないものであるが、例えば、例えば、ITU−T G.711、G.729などの符号化方式が適用できる。   The call processing unit 21 transmits audio data obtained by performing a predetermined encoding process (codec conversion) on the audio signal captured by the microphone 23 to the multipoint audio mixing apparatus 10. In addition, the call processing unit 21 performs a process of decoding the audio data received from the multipoint audio mixing device 10 into an audio signal and outputting the audio signal from the speaker 24. The sound signal encoding method (codec) used between the multipoint audio mixing apparatus 10 and the terminal 20 is not limited, but for example, ITU-T G. 711, G.G. An encoding scheme such as 729 can be applied.

次に、多地点音声ミキシング装置10のハードウェア構成について説明する。   Next, the hardware configuration of the multipoint audio mixing apparatus 10 will be described.

多地点音声ミキシング装置10は、データ処理部11、及び通信部12を備えている。   The multipoint audio mixing apparatus 10 includes a data processing unit 11 and a communication unit 12.

多地点音声ミキシング装置10は、例えば、PCやワークステーション等の汎用的なコンピュータ(サーバ装置)に、実施形態の音声処理プログラム等をインストールすることにより構成することができる。   The multipoint audio mixing apparatus 10 can be configured, for example, by installing the audio processing program of the embodiment on a general-purpose computer (server apparatus) such as a PC or a workstation.

通信部12は、ネットワーク40と接続するための通信インタフェースである。   The communication unit 12 is a communication interface for connecting to the network 40.

データ処理部11は、端末20との電話通信(会議通信)に係る音声処理(例えば、音声データの送受信、や音声ミキシング処理等)をソフトウェア的に行うデータ処理手段(コンピュータ)として機能するものである。   The data processing unit 11 functions as data processing means (computer) that performs voice processing (for example, transmission / reception of voice data, voice mixing processing, etc.) related to telephone communication (conference communication) with the terminal 20 in software. is there.

データ処理部11は、データ処理手段(コンピュータ)として機能するためのプロセッサ111及びメモリ112を備えている。   The data processing unit 11 includes a processor 111 and a memory 112 for functioning as data processing means (computer).

図2では、プロセッサ111は1つのブロックで図示しているが、物理的に複数のプロセッサで構成するようにしてもよい。また、プロセッサ111としては、複数のコアを備えるプロセッサ(マルチコアプロセッサ)を用いて構成するようにしてもよい。   In FIG. 2, the processor 111 is illustrated as one block, but may be physically configured by a plurality of processors. The processor 111 may be configured using a processor (multi-core processor) having a plurality of cores.

さらに、図2では、メモリ112は1つのブロックで図示しているが、具体的な構成については限定されないものであり、例えば、高速に動作する揮発メモリ(例えば、SRAM、DRAM等)と、不揮発メモリ(例えば、フラッシュメモリーやHDD等)等、複数メディアのメモリを組み合わせて構成するようにしてもよい。この実施形態では、データ処理部11により構成されるコンピュータに、実施形態の音声処理プログラムがインストールされているものとして説明する。   Further, in FIG. 2, the memory 112 is illustrated as one block, but the specific configuration is not limited. For example, the volatile memory (eg, SRAM, DRAM, etc.) that operates at high speed, and the nonvolatile You may make it comprise combining the memory of multiple media, such as memory (for example, flash memory, HDD, etc.). In this embodiment, a description will be given assuming that the audio processing program of the embodiment is installed in a computer configured by the data processing unit 11.

次に、データ処理部11に実施形態の音声処理プログラムがインストールされた場合の機能的な構成(スレッドの構成)について図1を用いて説明する。   Next, a functional configuration (configuration of a thread) when the voice processing program of the embodiment is installed in the data processing unit 11 will be described with reference to FIG.

図1に示すように、多地点音声ミキシング装置10のデータ処理部11(実施形態の音声処理プログラム)は、M個の音声処理手段としてのメディア処理スレッド30(30−1〜30−M)を用いて、NXMチャネル(N×M台の端末20との音声データの送信及び受信するチャネル)の音声ミキシング処理を実現する。   As shown in FIG. 1, the data processing unit 11 (speech processing program of the embodiment) of the multipoint speech mixing apparatus 10 includes media processing threads 30 (30-1 to 30-M) as M speech processing means. By using this, the audio mixing processing of the NXM channel (channel for transmitting and receiving audio data with N × M terminals 20) is realized.

メディア処理スレッド30は、例えば、10msごとに、周期起動し、その周期処理の中で、当該周期分(この実施形態の例では10ms)を1つの処理単位として音声データの処理を行う。すなわち、それぞれのメディア処理スレッド30は、N個のチャネルを処理(N台の端末20が送受信する音声データのストリームを処理)することが可能であるものとする。なお、データ処理部11において、各メディア処理スレッド30(30−1〜30−M)を生成及び管理する手段(例えば、スレッドの生成及び管理を行うミドルウェアやプログラミング言語等の環境)は限定されないものであり、種々の構成を適用することができる。また、メディア処理スレッド30における周期起動の間隔や音声データの処理単位の時間は10msに限定されないものである。   The media processing thread 30 is activated periodically, for example, every 10 ms, and performs processing of audio data in the period processing (in this example, 10 ms) as one processing unit. That is, each media processing thread 30 is capable of processing N channels (processing a stream of audio data transmitted and received by N terminals 20). In the data processing unit 11, means for generating and managing each media processing thread 30 (30-1 to 30-M) (for example, an environment such as middleware or programming language for generating and managing threads) is not limited. Therefore, various configurations can be applied. Further, the interval between periodic activations and the time for processing audio data in the media processing thread 30 are not limited to 10 ms.

各メディア処理スレッド30は、N個の音声受信処理31を有している。図1では、メディア処理スレッド30−1〜30−Mは、それぞれ音声受信処理31−1_1〜31−1_N、31−2_1〜31−2_N、…、31−M_1〜31−M_Nを有している。また、メディア処理スレッド30−1〜30−Mは、それぞれ音声送信処理36−1_1〜36−1_N、36−2_1〜36−2_N、…、36−M_1〜36−M_Nを有している。音声受信処理31−1_1〜31−M_Nは、それぞれ端末20−1_1〜20−M_Nから供給される音声データ(符号化された音声データ)を受信処理するものとなっている。また、音声送信処理36−1_1〜36−M_Nは、それぞれ端末20−1_1〜20−M_Nにミキシング処理した音声データ(符号化された音声データ)を送信するものである。   Each media processing thread 30 has N audio reception processes 31. In FIG. 1, the media processing threads 30-1 to 30-M have audio reception processes 31-1_1 to 311-1_N, 31-2_1 to 31-2_N,..., 31-M_1 to 31-M_N, respectively. . In addition, the media processing threads 30-1 to 30-M have audio transmission processes 36-1_1 to 36-1_N, 36-2_1 to 36-2_N,..., 36-M_1 to 36-M_N, respectively. The voice reception processes 31-1_1 to 31-M_N receive and process voice data (encoded voice data) supplied from the terminals 20-1_1 to 20-M_N, respectively. The voice transmission processes 36-1_1 to 36-M_N transmit the voice data (encoded voice data) subjected to the mixing process to the terminals 20-1_1 to 20-M_N, respectively.

図4は、各音声受信処理31の内部構成について示したブロック図である。   FIG. 4 is a block diagram showing the internal configuration of each audio reception process 31.

図4に示すように各音声受信処理31は、RTP受信311、ジッタバッファ312およびデコーダ313を有している。RTP受信311は、周期処理までに到来したRTPパケットの受信処理を実行し、RTPペイロード(音声符号化データ)をジッタバッファ312に投入する。そして、ジッタバッファ312は、10ms分(所定の処理単位時間分)の符号化された音声データを取出し、デコーダ313で復調(リニア音声データに復調)し、10ms分の音声データ(リニア音声データ)を出力する。   As shown in FIG. 4, each audio reception process 31 includes an RTP reception 311, a jitter buffer 312, and a decoder 313. The RTP reception 311 executes reception processing of RTP packets that have arrived before the periodic processing, and inputs an RTP payload (voice encoded data) into the jitter buffer 312. The jitter buffer 312 takes out encoded audio data for 10 ms (a predetermined processing unit time), demodulates (demodulates into linear audio data) by the decoder 313, and audio data for 10 ms (linear audio data). Is output.

図5は、各音声送信処理36の内部構成について示したブロック図である。   FIG. 5 is a block diagram showing the internal configuration of each audio transmission process 36.

図5に示すように、音声送信処理36は、エンコーダ361およびRTP送信362を有している。エンコーダは、10ms分(所定の処理単位時間分)の符号化された音声データをRTP送信362に供給する。そして、RTP送信362は、RTPパケット化周期分の符号化された音声データが蓄積できたらRTPパケットを生成し、RTPパケットを送信する。この実施形態では、例として、RTPパケット化周期が、20msであるものとして説明する。なお、RTPパケット化周期は20msに限定されないものである。   As shown in FIG. 5, the voice transmission processing 36 includes an encoder 361 and an RTP transmission 362. The encoder supplies the encoded voice data for 10 ms (a predetermined processing unit time) to the RTP transmission 362. The RTP transmission 362 generates an RTP packet when the encoded voice data for the RTP packetization period can be accumulated, and transmits the RTP packet. In this embodiment, as an example, it is assumed that the RTP packetization period is 20 ms. The RTP packetization period is not limited to 20 ms.

また、各メディア処理スレッド30(30−1〜30−M)は、加算処理32(32−1〜32−M)、循環バッファ33(33−1〜33−M)、加算処理34(34−1〜34−M)、及びミキサ35(35−1〜35−M)を有している。例えば、メディア処理スレッド30−1は、加算処理32−1、循環バッファ33−1、加算処理34−1、及びミキサ35−1を有している。   Each media processing thread 30 (30-1 to 30-M) includes an addition process 32 (32-1 to 32-M), a circular buffer 33 (33-1 to 33-M), and an addition process 34 (34-). 1 to 34-M) and a mixer 35 (35-1 to 35-M). For example, the media processing thread 30-1 includes an addition process 32-1, a circular buffer 33-1, an addition process 34-1 and a mixer 35-1.

以下では、メディア処理スレッド30−1〜30−Mを、それぞれ1〜M番目のメディア処理スレッド30と呼ぶものとする。そして、以下では、任意のm番目(mは、1〜Mの任意の整数)のメディア処理スレッド30を、メディア処理スレッド30−mと表すものとする。また、以下では、(m−1)番目のメディア処理スレッド30をメディア処理スレッド30−(m−1)と呼び、(m+1)番目のメディア処理スレッド30をメディア処理スレッド30−(m+1)と呼ぶものとする。したがって、メディア処理スレッド30−mは、メディア処理スレッド30−m、音声受信処理31−m_1〜31−m_N、加算処理32−m、循環バッファ33−m、加算処理34−m、ミキサ35−m、及び音声送信処理36−m_1〜36−m_Nを有していることになる。   Hereinafter, the media processing threads 30-1 to 30-M are referred to as the 1st to Mth media processing threads 30, respectively. In the following, an arbitrary m-th (m is an arbitrary integer from 1 to M) media processing thread 30 is represented as a media processing thread 30-m. Hereinafter, the (m−1) th media processing thread 30 is referred to as a media processing thread 30- (m−1), and the (m + 1) th media processing thread 30 is referred to as a media processing thread 30- (m + 1). Shall. Therefore, the media processing thread 30-m includes the media processing thread 30-m, the audio reception processes 31-m_1 to 31-m_N, the addition process 32-m, the circular buffer 33-m, the addition process 34-m, and the mixer 35-m. And voice transmission processing 36-m_1 to 36-m_N.

また、メディア処理スレッド30−1〜30−Mの順序は循環的に管理されるものとして説明する。例えば、メディア処理スレッド30−1に順序が隣接するメディア処理スレッド30は、メディア処理スレッド30−2と、メディア処理スレッド30−Mであるものとする。したがって、例えば、メディア処理スレッド30−(m+1)〜30−(m+M−1)とした場合は、メディア処理スレッド30−1〜30−Mのうちメディア処理スレッド30−m以外を表すことになる。例えば、m=3とした場合、メディア処理スレッド30−(m+1)〜30−(m+M−1)は、メディア処理スレッド30−1〜30−2及びメディア処理スレッド30−4〜30−Mを表すことになる。   The order of the media processing threads 30-1 to 30-M will be described as being cyclically managed. For example, it is assumed that the media processing threads 30 whose order is adjacent to the media processing thread 30-1 are the media processing thread 30-2 and the media processing thread 30-M. Therefore, for example, when the media processing threads 30- (m + 1) to 30- (m + M-1) are used, the media processing threads 30-1 to 30-M other than the media processing thread 30-m are represented. For example, when m = 3, media processing threads 30- (m + 1) to 30- (m + M-1) represent media processing threads 30-1 to 30-2 and media processing threads 30-4 to 30-M. It will be.

以下では、m番目のメディア処理スレッド30−mを中心とした例で、各メディア処理スレッド30の内部構成について説明する。   In the following, the internal configuration of each media processing thread 30 will be described with an example centering on the mth media processing thread 30-m.

加算処理32−mは、音声受信処理31−m_1〜31−m_Nのそれぞれから出力される単位時間分の音声データ(例えば、10ms分のリニア音声データ)を加算(合成)し、10ms分の音声データを循環バッファ33−mへ書込むものである。なお、加算処理32が複数の音声データに係る音声を加算(合成)し、加算後(合成後)の音声データを生成する処理については、種々の音声データ加算技術(合成技術)を適用することができるため、詳しい説明は省略する。   The addition process 32-m adds (synthesizes) unit time audio data (for example, linear audio data for 10 ms) output from each of the audio reception processes 31-m_1 to 31-m_N, and adds 10 ms of audio. Data is written to the circular buffer 33-m. Note that various audio data addition techniques (synthetic techniques) are applied to the process in which the addition process 32 adds (synthesizes) sounds related to a plurality of audio data and generates the audio data after the addition (after synthesis). Detailed explanation is omitted.

図6は、循環バッファ33−mの内部構成について示したブロック図である。   FIG. 6 is a block diagram showing the internal configuration of the circular buffer 33-m.

循環バッファ33は、Z個のバッファ面331−1〜331−Z、読込み位置ポインタ群332、書込み面選択手段333、読込面選択手段334、及び読込み位置ポインタ選択手段335を有している。また、循環バッファ33−mは、書込み位置ポインタWP(m)を保持している。各バッファ面331は、メディア処理スレッド30で、音声データを処理する際の1単位分(この実施形態では10ms分の音声データ(リニア音声データ))を保持可能なバッファであるものとする。以下では、バッファ面331−1〜331−Zに対応するポインタ値(アドレス値)を、それぞれ1〜Zとする。   The circular buffer 33 includes Z buffer surfaces 331-1 to 331-Z, a reading position pointer group 332, a writing surface selection unit 333, a reading surface selection unit 334, and a reading position pointer selection unit 335. The circular buffer 33-m holds a write position pointer WP (m). Each buffer surface 331 is a buffer capable of holding one unit (in this embodiment, 10 ms of audio data (linear audio data)) when the audio data is processed by the media processing thread 30. Hereinafter, pointer values (address values) corresponding to the buffer surfaces 331-1 to 331 -Z are 1 to Z, respectively.

書込み位置ポインタWP(m)には、音声データを書き込むポインタ値(バッファ面331−1〜331−Zのいずれかを示すポインタ値)が管理されている。書込み面選択手段333は、書込み位置ポインタWP(m)の値を更新(インクリメント)してから、書込み位置ポインタWP(m)に対応するバッファ面331に10ms分のリニア音声データを書込んでいく。書込み位置ポインタWP(m)のポインタ値は、書込みの契機に、1ずつインクリメントされていき、Zまで達したら、その次の書込み契機で1となる。すなわち、バッファ面331−1〜331−Zは、書込み面選択手段333により循環的に音声データが書き込まれることになる。   The write position pointer WP (m) manages a pointer value for writing audio data (a pointer value indicating one of the buffer surfaces 331-1 to 331 -Z). The writing surface selection means 333 updates (increments) the value of the writing position pointer WP (m) and then writes linear audio data for 10 ms into the buffer surface 331 corresponding to the writing position pointer WP (m). . The pointer value of the write position pointer WP (m) is incremented by 1 at the time of writing, and becomes 1 at the next writing time when reaching Z. That is, audio data is cyclically written into the buffer surfaces 331-1 to 331 -Z by the writing surface selection means 333.

読込み位置ポインタ群332には、自己(メディア処理スレッド30−m)以外のメディア処理スレッド30−(m+1)〜30−(m+M−1)のそれぞれに対応する読込み位置ポインタRP(すなわちM−1個の読込み位置ポインタRP)が配置されている。例えば、図6では、メディア処理スレッド30−mの読込み位置ポインタ群332には、読込み位置ポインタRP(1)、RP(2)、…、RP(m−1)、RP(m+1)、…、RP(M)が配置されている。読込み位置ポインタRPは対応するメディア処理スレッド30に対して読み込ませる音声データのポインタ値(バッファ面331−1〜331−Zのいずれかを示すポインタ値)が保持されている。   The read position pointer group 332 includes read position pointers RP (that is, M-1 pieces) corresponding to each of the media processing threads 30- (m + 1) to 30- (m + M-1) other than the self (media processing thread 30-m). Are read position pointers RP). For example, in FIG. 6, the read position pointer group 332 of the media processing thread 30-m includes read position pointers RP (1), RP (2),..., RP (m−1), RP (m + 1),. RP (M) is arranged. The read position pointer RP holds a pointer value of audio data to be read by the corresponding media processing thread 30 (a pointer value indicating one of the buffer surfaces 331-1 to 331 -Z).

読込み位置ポインタ選択手段335は、いずれかのメディア処理スレッド30に対応する読込み位置ポインタRPを選択し、当該読込み位置ポインタRPのポインタ値を更新(インクリメント)してから、選択した読込み位置ポインタRPのポインタ値を読込面選択手段334に供給する。読込面選択手段334は、供給されたポインタ値に対応するバッファ面331から音声データを読込んで出力(読込み位置ポインタ選択手段335で選択されたメディア処理スレッド30に出力)する処理を行う。   The read position pointer selection means 335 selects a read position pointer RP corresponding to any one of the media processing threads 30, updates (increments) the pointer value of the read position pointer RP, and then selects the selected read position pointer RP. The pointer value is supplied to the reading surface selection means 334. The reading surface selection unit 334 performs processing of reading and outputting audio data from the buffer surface 331 corresponding to the supplied pointer value (outputting to the media processing thread 30 selected by the reading position pointer selection unit 335).

読込み位置ポインタ選択手段335も、書込み面選択手段333と同様に、読込みポインタ値RPのポインタ値を、読込みの契機ごとに1ずつインクリメントしていき、Zまで達したら、その次の読込み契機で1とする循環的な動作を行う。   Similarly to the writing surface selection unit 333, the reading position pointer selection unit 335 increments the pointer value of the reading pointer value RP by 1 for each reading trigger, and when it reaches Z, 1 is read at the next reading trigger. Performs a cyclic operation.

例えば、メディア処理スレッド30−(m−1)では、読込み位置ポインタRP(m−1)を更新してから、読込み位置ポインタRP(m−1)に対応するバッファ面から1単位分(10ms分)の音声データ(リニア音声データ)を読み込んでいく。読込み位置ポインタRP(m−1)は、読込みの契機に1ずつインクリメントしていき、Zまで達したら、その次の読込み契機で1とする巡回的な動作を行う。メディア処理スレッド30−1〜30−(m−2)、30−(m+1)〜30−Mで同様の読込み処理が実施されることになる。   For example, in the media processing thread 30- (m−1), after updating the reading position pointer RP (m−1), one unit (10 ms worth) from the buffer surface corresponding to the reading position pointer RP (m−1). ) Audio data (linear audio data). The reading position pointer RP (m−1) is incremented by 1 at the time of reading, and when reaching to Z, a cyclic operation of setting to 1 at the next reading time is performed. The same read processing is performed by the media processing threads 30-1 to 30- (m-2) and 30- (m + 1) to 30-M.

加算処理34は、他のメディア処理スレッド30(循環バッファ33)に、音声データ(読込み位置ポインタRPのポインタ値に対応するバッファ面331で保持された音声データ)の出力を要求して取得し、それらを加算(合成)した音声データを生成して、ミキサ35に供給するものである。すなわち、加算処理34−mは、メディア処理スレッド30−m以外の循環バッファ33(循環バッファ33−1〜(m−1)および、循環バッファ33−(m+1)〜33−M)から、10ms分のリニア音声データを読込み、加算(合成)し、10ms分のリニア音声データをミキサ35−mへ受け渡すものである。なお、加算処理34が複数の音声データに係る音声を加算(合成)し、加算後(合成後)の音声データを生成する処理については、種々の音声データ加算技術(合成技術)を適用することができるため、詳しい説明は省略する。   The addition process 34 requests other media processing threads 30 (circular buffer 33) to output audio data (audio data held in the buffer surface 331 corresponding to the pointer value of the reading position pointer RP), Audio data obtained by adding (synthesizing) them is generated and supplied to the mixer 35. That is, the addition process 34-m is performed for 10 ms from the circular buffers 33 (circular buffers 33-1 to (m-1) and circular buffers 33- (m + 1) to 33-M) other than the media processing thread 30-m. The linear audio data is read and added (synthesized), and 10 ms of linear audio data is transferred to the mixer 35-m. Note that various audio data addition techniques (synthesis techniques) are applied to the process in which the addition process 34 adds (synthesizes) sounds related to a plurality of sound data and generates the sound data after the addition (after synthesis). Detailed explanation is omitted.

次に、ミキサ35の内部構成について説明する。   Next, the internal configuration of the mixer 35 will be described.

図7は、任意のメディア処理スレッド30−mを構成するミキサ35−mの内部構成について示した説明図である。   FIG. 7 is an explanatory diagram showing the internal configuration of the mixer 35-m that constitutes an arbitrary media processing thread 30-m.

ミキサ35−mには、音声送信処理36−m_1〜36−m_Nのそれぞれに供給する音声データを合成処理するミキサ部351−1〜351−Nを有している。   The mixer 35-m includes mixer units 351-1 to 351-N that synthesize audio data supplied to each of the audio transmission processes 36-m_1 to 36-m_N.

ミキサ部351−nは、音声受信処理31−m_(n+1)〜31−m_(n+N―1)から供給される音声データと、加算処理34−mから供給される音声データとを合成(ミキシング)した音声データを生成して、対応する音声送信処理36に供給する。具体的には、例えば、図7に示すように、ミキサ部351−1は、音声送信処理36−m_1に合成した音声データを供給するものである。したがって、ミキサ部351−1は、図7に示すように、音声送信処理36−m_2〜36−m_Nから供給される音声データと、加算処理34−mから供給される音声データとを合成(ミキシング)することになる。なお、ミキサ部351が複数の音声データに係る音声を合成し、合成後の音声データを生成する処理については、種々の音声データ合成技術を適用することができるため、詳しい説明は省略する。   The mixer unit 351-n synthesizes (mixes) the audio data supplied from the audio reception processes 31-m_ (n + 1) to 31-m_ (n + N-1) and the audio data supplied from the addition process 34-m. The generated voice data is generated and supplied to the corresponding voice transmission processing 36. Specifically, for example, as illustrated in FIG. 7, the mixer unit 351-1 supplies the synthesized audio data to the audio transmission process 36-m_1. Therefore, as shown in FIG. 7, the mixer unit 351-1 synthesizes (mixes) the audio data supplied from the audio transmission processing 36-m_2 to 36-m_N and the audio data supplied from the addition processing 34-m. ). Note that various audio data synthesizing techniques can be applied to the process in which the mixer unit 351 synthesizes audio related to a plurality of audio data and generates synthesized audio data, and thus detailed description thereof is omitted.

これにより、音声送信処理36−1_1の送信先の端末20−1_1には、自装置(端末20−1_1)から送信された音声データ(音声受信処理31−1_1に供給された音声データ)以外の全ての端末20−1−2〜20−M_Nの音声データを合成(ミキシング)した音声データが送信されることになる。これは、その他の全ての端末20−1−2〜20−M_Nについても同様である。このように、多地点音声ミキシング装置10では、M×N台の全ての端末20−1_1〜20−M_Nに対して、各送信先の端末20を除外した音声データを合成したものを合成(ミキシング)して送信することができる。   As a result, the terminal 20-1_1 that is the destination of the voice transmission process 36-1_1 receives data other than the voice data transmitted from the own apparatus (terminal 20-1_1) (voice data supplied to the voice reception process 31-1_1). Audio data obtained by synthesizing (mixing) audio data of all the terminals 20-1-2 to 20-M_N is transmitted. The same applies to all the other terminals 20-1-2 to 20-M_N. As described above, the multipoint audio mixing apparatus 10 combines (mixing) a combination of audio data excluding the destination terminals 20 with respect to all M × N terminals 20-1_1 to 20-M_N. ) Can be sent.

(A−2)第1の実施形態の動作
次に、以上のような構成を有する第1の実施形態の多地点音声ミキシング装置10の動作(実施形態の音声処理方法)を説明する。
(A-2) Operation of the First Embodiment Next, the operation (audio processing method of the embodiment) of the multipoint audio mixing apparatus 10 of the first embodiment having the above configuration will be described.

図8は、この実施形態の、循環バッファ33−mの書込み/読込みタイミング例について示したタイミングチャートである。   FIG. 8 is a timing chart showing an example of write / read timing of the circular buffer 33-m in this embodiment.

なお、図8に示す例では、メディア処理スレッド30を構成するバッファ面331の数は8個(すなわちZ=8)であるものとして図示している。   In the example illustrated in FIG. 8, the number of buffer surfaces 331 configuring the media processing thread 30 is illustrated as eight (that is, Z = 8).

図8(a)では、メディア処理スレッド30−mの周期処理タイミング、循環バッファ33−mの書込みタイミング、書込み位置ポインタWP(m)の変更タイミング及びポインタ値が図示されている、また、図8(b)では、メディア処理スレッド30−(m−1)の周期処理タイミング、循環バッファ33−(m−1)の読込みタイミング、読込み位置ポインタRP(m−1)の変更タイミング及びポインタ値が図示されている。さらに、図8(c)では、メディア処理スレッド30−(m+1)の周期処理タイミング、循環バッファ33−(m+1)の読込みタイミング、読込み位置ポインタRP(m+1)の変更タイミング及びポインタ値が図示されている。なお、図8(a)に示す書込み位置ポインタWPは、メディア処理スレッド30−mに属するポインタである。また、図8(b)に示す読込み位置ポインタRP(m−1)及び図8(c)に示す読込み位置ポインタRP(m+1)は、いずれもメディア処理スレッド30−mの読込み位置ポインタ群332に属するものである。   FIG. 8A shows the periodic processing timing of the media processing thread 30-m, the writing timing of the circular buffer 33-m, the changing timing of the writing position pointer WP (m), and the pointer value. In (b), the periodic processing timing of the media processing thread 30- (m-1), the reading timing of the circular buffer 33- (m-1), the changing timing of the reading position pointer RP (m-1), and the pointer value are illustrated. Has been. Further, FIG. 8C illustrates the periodic processing timing of the media processing thread 30- (m + 1), the reading timing of the circular buffer 33- (m + 1), the changing timing of the reading position pointer RP (m + 1), and the pointer value. Yes. Note that the write position pointer WP shown in FIG. 8A is a pointer belonging to the media processing thread 30-m. Also, the read position pointer RP (m−1) shown in FIG. 8B and the read position pointer RP (m + 1) shown in FIG. 8C are both stored in the read position pointer group 332 of the media processing thread 30-m. It belongs to.

図8では、メディア処理スレッド30−(m)からメディア処理スレッド30−(m−1)へのデータ受け渡し、及び、メディア処理スレッド30−(m)からメディア処理スレッド30−(m+1)へのデータ受け渡しについて説明しているが、メディア処理スレッド30−(m)からメディア処理スレッド30−1〜30−(m−2)および30−(m+2)〜30−Mへのデータ受渡しについても同様であるので、詳しい説明を省略する。   In FIG. 8, data is transferred from the media processing thread 30- (m) to the media processing thread 30- (m-1), and data is transferred from the media processing thread 30- (m) to the media processing thread 30- (m + 1). Although the transfer has been described, the same applies to the data transfer from the media processing thread 30- (m) to the media processing threads 30-1 to 30- (m-2) and 30- (m + 2) to 30-M. Therefore, detailed explanation is omitted.

ここでは、メディア処理スレッド30−(m)が、例えば、10msごとに周期起動し、起動周期の乱れが発生しなかったとする。すると、メディア処理スレッド30−(m)では、10msごとに循環バッファ(m)への書込み契機が発生する。初回の書込み契機では、書込み位置ポインタWP(m)を1に設定し、バッファ面331−1へ10ms分のリニア音声データを書込む。次回以降の書込み契機では、書込み位置ポインタWP(m)をインクリメントし、対応するバッファ面331へ10ms分のリニア音声データを書込んでいく。メディア処理スレッド30−(m)では、書込み位置ポインタWP(m)がバッファ面数と同じ8となった次の書込み契機では、書込み位置ポインタWP(m)が1に設定され、バッファ面1へ10ms分のリニア音声データが書込まれる。   Here, it is assumed that the media processing thread 30- (m) is periodically activated every 10 ms, for example, and the activation cycle is not disturbed. Then, in the media processing thread 30- (m), a write trigger to the circular buffer (m) occurs every 10 ms. At the first writing opportunity, the writing position pointer WP (m) is set to 1 and linear audio data for 10 ms is written to the buffer surface 331-1. At the writing opportunity after the next time, the writing position pointer WP (m) is incremented, and linear audio data for 10 ms is written to the corresponding buffer surface 331. In the media processing thread 30- (m), the write position pointer WP (m) is set to 1 at the next write trigger when the write position pointer WP (m) becomes 8, which is the same as the number of buffer planes. 10 ms worth of linear audio data is written.

ここでは、メディア処理スレッド30−(m−1)が、メディア処理スレッド30−(m)と同様に10msごとに周期起動し、起動周期の乱れが発生しなかったとする。すると、メディア処理スレッド30−(m−1)では、10msごとに循環バッファ33−(m)からの読込み契機が発生する。   Here, it is assumed that the media processing thread 30- (m−1) is periodically activated every 10 ms as in the case of the media processing thread 30- (m), and the activation cycle is not disturbed. Then, in the media processing thread 30- (m−1), a read trigger from the circular buffer 33- (m) occurs every 10 ms.

メディア処理スレッド30−(m−1)は、例えば、メディア処理スレッド30−(m)のバッファ面331−1へデータ書込み以降に読込み処理を開始する。   For example, the media processing thread 30- (m−1) starts the reading process after data is written to the buffer surface 331-1 of the media processing thread 30- (m).

メディア処理スレッド30−(m)がバッファ面331−1へ10ms分のリニア音声データを書込んだ後、メディア処理スレッド30−(m−1)の読込み契機が発生すると、これがメディア処理スレッド30−(m−1)における初回の読込み契機となる。そうすると、メディア処理スレッド30−(m)では、読込み位置ポインタRP(m−1)が1に設定される。そして、メディア処理スレッド30−(m)のバッファ面331−1で保持されている音声データ(10ms分のリニア音声データ)が、メディア処理スレッド30−(m−1)に読込まれる。メディア処理スレッド30−(m)では、次回以降のメディア処理スレッド30−(m−1)による読込み契機で、読込み位置ポインタRP(m−1)をインクリメントし、対応するバッファ面331から音声データ(10ms分のリニア音声データ)を供給することになる。読込み位置ポインタRP(m−1)は、バッファ面331の面数(最大数)と同じ8(=Z)となった次の読込み契機では、1に設定されることになる。   After the media processing thread 30- (m) writes linear audio data for 10 ms to the buffer surface 331-1, when a read trigger of the media processing thread 30- (m-1) occurs, this is the media processing thread 30-. This is the first read trigger in (m-1). Then, the read position pointer RP (m−1) is set to 1 in the media processing thread 30- (m). Then, the audio data (linear audio data for 10 ms) held on the buffer surface 331-1 of the media processing thread 30- (m) is read into the media processing thread 30- (m-1). In the media processing thread 30- (m), the reading position pointer RP (m-1) is incremented when the media processing thread 30- (m-1) reads from the next time onward, and the audio data ( 10 ms linear audio data) is supplied. The reading position pointer RP (m−1) is set to 1 at the next reading opportunity when the number (maximum number) of the buffer surfaces 331 becomes 8 (= Z).

ここでは、メディア処理スレッド30−(m+1)は、メディア処理スレッド30−30−(m)、30−(m−1)と同様に、10msごとに周期起動するものとする。しかし、ここでは、図8に示すように、メディア処理スレッド30−(m+1)が、メディア処理スレッド30−(m)のバッファ面331−5の音声データを読込む周期で、周期処理に時間がかかったものとする。さらに、ここでは、図8に示すように、メディア処理スレッド30−(m+1)において、バッファ面331−5、331−6、331−7、331−8を読込む周期で、起動周期の乱れが発生したとする。データ処理部11におけるソフトウェア(スレッド)での処理においては、例えばハードディスクへのデータ書込み待ちの発生などにより、通常よりも周期処理時聞が長くなり、起動周期が乱れることが有り得る。   Here, it is assumed that the media processing thread 30- (m + 1) periodically starts every 10 ms, similarly to the media processing threads 30-30- (m) and 30- (m-1). However, here, as shown in FIG. 8, the media processing thread 30- (m + 1) reads the audio data in the buffer surface 331-5 of the media processing thread 30- (m), and the cycle processing takes time. It is assumed that it took. Further, here, as shown in FIG. 8, in the media processing thread 30- (m + 1), the activation cycle is disturbed at the cycle of reading the buffer surfaces 331-5, 331-6, 331-7, 331-8. Suppose that it occurred. In the processing by the software (thread) in the data processing unit 11, for example, due to the occurrence of waiting for data writing to the hard disk, the periodic processing time may be longer than usual, and the activation cycle may be disturbed.

この場合、メディア処理スレッド30−(m+1)において、バッファ面331−5、331−6、331−7、331−8を読込む周期で、起動周期の乱れに伴いRTP送信処理が遅延して揺らぎが生じるが、所望のミキシング処理を継続することが出来る。   In this case, in the media processing thread 30- (m + 1), the RTP transmission processing is delayed and fluctuated in accordance with the disturbance of the startup cycle in the cycle of reading the buffer surfaces 331-5, 331-6, 331-7, 331-8. However, the desired mixing process can be continued.

(A−3)第1の実施形態の効果
第1の実施形態によれば、以下のような効果を奏することができる。
(A-3) Effects of First Embodiment According to the first embodiment, the following effects can be achieved.

上述の通り、多地点音声ミキシング装置10では、M×N台の全ての端末20−1_1〜20−M_Nに対して、各送信先の端末20に係る音声データを除外した音声データを合成(ミキシング)したものを送信することができる。   As described above, the multipoint audio mixing apparatus 10 synthesizes (mixes) audio data excluding audio data related to each destination terminal 20 to all M × N terminals 20-1_1 to 20-M_N. ) Can be sent.

データ処理部11では、例えば、各メディア処理スレッド30を、異なるCPUコアで並列動作することが出来るので、従来、1CPUコアでNチャネルのミキシング処理が性能限界であったものが、N×Mチャネルのミキシング処理が実行できるようになる。したがって、本発明の多地点音声ミキシング装置10は、汎用OS上でソフトウェア的にN×Mの音声データを処理することが可能となる。特に多地点音声ミキシング装置10では、各メディア処理スレッド30に加算処理32、循環バッファ33、加算処理34、及びミキサ35を備えることにより、他のメディア処理スレッド30で合成された音声データを収集して、段階的に合成する。これにより多地点音声ミキシング装置10では、複数のメディア処理スレッド30の音声データを中央で処理する構成を必要とせず、複数のメディア処理スレッド30に分散された音声データ処理のみでN×Mチャネルのミキシング処理を実現している。   In the data processing unit 11, for example, each media processing thread 30 can be operated in parallel by different CPU cores. Therefore, in the past, N × M channels were the performance limit of N channel mixing processing in one CPU core. The mixing process can be executed. Therefore, the multipoint audio mixing apparatus 10 of the present invention can process N × M audio data in software on the general-purpose OS. In particular, in the multipoint audio mixing device 10, each media processing thread 30 includes an addition process 32, a circular buffer 33, an addition process 34, and a mixer 35, thereby collecting audio data synthesized by other media processing threads 30. And step by step. As a result, the multipoint audio mixing apparatus 10 does not require a configuration for centrally processing the audio data of the plurality of media processing threads 30, and only N × M channel of audio data processing distributed to the plurality of media processing threads 30 is required. Mixing processing is realized.

(B)第2の実施形態
以下、本発明による音声処理装置およびミキシングプログラムの第2の実施形態を、図面を参照しながら詳述する。以下では、本発明の音声処理装置およびミキシングプログラムを多地点音声ミキシング装置に適用する例について説明する。
(B) Second Embodiment Hereinafter, a second embodiment of the speech processing apparatus and the mixing program according to the present invention will be described in detail with reference to the drawings. Below, the example which applies the audio | voice processing apparatus and mixing program of this invention to a multipoint audio | voice mixing apparatus is demonstrated.

(B−1)第2の実施形態の構成
第2の実施形態の多地点音声ミキシング装置10の構成も上述の図1〜図7を用いて示すことができる。以下では、第2の実施形態の多地点音声ミキシング装置10について第1の実施形態との差異のみを説明する。
(B-1) Configuration of Second Embodiment The configuration of the multipoint audio mixing apparatus 10 of the second embodiment can also be shown using the above-described FIGS. Below, only the difference with 1st Embodiment is demonstrated about the multipoint audio | voice mixing apparatus 10 of 2nd Embodiment.

各メディア処理スレッド30の間では、各メディア処理スレッド30の間で、起動周期の乱れ等により動作タイミングがずれる場合もあり得る。その場合、一部のメディア処理スレッド30で、いずれかの読込み位置ポインタRPの位置が、書込み位置ポインタWPの位置を追い越して、時系列的に不正なデータを処理してしまうおそれがある。そこで、第2の実施形態では、起動周期乱れによるメディア処理スレッド30間の動作タイミング差分を吸収する処理が行われる。   Among the media processing threads 30, the operation timing may be shifted between the media processing threads 30 due to disturbance of the activation cycle or the like. In that case, in some media processing threads 30, the position of any read position pointer RP may pass the position of the write position pointer WP, and incorrect data may be processed in time series. Therefore, in the second embodiment, a process for absorbing a difference in operation timing between the media processing threads 30 due to the start cycle disturbance is performed.

具体的には、第2の実施形態では、例えば、任意の基準となる1又は複数のメディア処理スレッド30−(m)以外のメディア処理スレッド30について、メディア処理スレッド30−(m)の所定数のバッファ面331に書込みが行われて以降(この実施形態では、例として、バッファ面331−2へデータ書込み以降)に読込み処理を開始するようにする。さらに、第2の実施形態では、各メディア処理スレッド30の音声データの読込み契機(他のメディア処理スレッド30の循環バッファ33からの読込契機)において、当該メディア処理スレッド30の読込み位置ポインタRPが書込み位置ポインタWP(m)を追い越さないようにする処理構成(例えば、追い越す場合にはインクリメントを行わない)が追加されている。   Specifically, in the second embodiment, for example, a predetermined number of media processing threads 30- (m) for media processing threads 30 other than one or more media processing threads 30- (m) serving as an arbitrary reference. The reading process is started after writing to the buffer surface 331 (in this embodiment, for example, after writing data to the buffer surface 331-2 in this embodiment). Furthermore, in the second embodiment, the read position pointer RP of the media processing thread 30 is written when the audio data is read by each media processing thread 30 (reading from the circular buffer 33 of the other media processing thread 30). A processing configuration that prevents the position pointer WP (m) from being overtaken (for example, no increment is performed when overtaking) is added.

(B−2)第2の実施形態の動作
次に、以上のような構成を有する第2の実施形態の多地点音声ミキシング装置10の動作(実施形態の音声処理方法)を説明する。
(B-2) Operation | movement of 2nd Embodiment Next, operation | movement (voice processing method of embodiment) of the multipoint audio | voice mixing apparatus 10 of 2nd Embodiment which has the above structures is demonstrated.

図9は、第2の実施形態の、循環バッファ33−mの書込み/読込みタイミング例について示したタイミングチャートである。   FIG. 9 is a timing chart showing an example of write / read timing of the circular buffer 33-m according to the second embodiment.

なお、図9に示す例では、メディア処理スレッド30を構成するバッファ面331の数は8個(すなわちZ=8)であるものとして図示している。   In the example illustrated in FIG. 9, the number of buffer surfaces 331 configuring the media processing thread 30 is illustrated as eight (that is, Z = 8).

図9(a)では、メディア処理スレッド30−(m)の周期処理タイミング、循環バッファ33−mの書込みタイミング、書込み位置ポインタWP(m)の変更タイミング及びポインタ値が図示されている、また、図9(b)では、メディア処理スレッド30−(m−1)の周期処理タイミング、循環バッファ33−(m−1)の読込みタイミング、読込み位置ポインタRP(m−1)の変更タイミング及びポインタ値が図示されている。さらに、図9(c)では、メディア処理スレッド30−(m+1)の周期処理タイミング、循環バッファ33−(m+1)の読込みタイミング、読込み位置ポインタRP(m+1)の変更タイミング及ポインタ値が図示されている。なお、図9(a)に示す書込み位置ポインタWPは、メディア処理スレッド30−(m)に属するポインタである。また、図9(b)に示す読込み位置ポインタRP(m−1)及び図9(c)に示す読込み位置ポインタRP(m+1)は、いずれもメディア処理スレッド30−(m)の読込み位置ポインタ群332に属するものである。   FIG. 9A illustrates the periodic processing timing of the media processing thread 30- (m), the writing timing of the circular buffer 33-m, the change timing of the writing position pointer WP (m), and the pointer value. In FIG. 9B, the periodic processing timing of the media processing thread 30- (m-1), the reading timing of the circular buffer 33- (m-1), the changing timing of the reading position pointer RP (m-1), and the pointer value. Is shown. Further, FIG. 9C illustrates the periodic processing timing of the media processing thread 30- (m + 1), the reading timing of the circular buffer 33- (m + 1), the changing timing of the reading position pointer RP (m + 1) and the pointer value. Yes. Note that the write position pointer WP shown in FIG. 9A is a pointer belonging to the media processing thread 30- (m). Also, the read position pointer RP (m−1) shown in FIG. 9B and the read position pointer RP (m + 1) shown in FIG. 9C are both read position pointer groups of the media processing thread 30- (m). It belongs to 332.

図9では、メディア処理スレッド30−(m)からメディア処理スレッド30−(m−1)へのデータ受け渡し、及び、メディア処理スレッド30−(m)からメディア処理スレッド30−(m+1)へのデータ受け渡しについて説明しているが、メディア処理スレッド30−(m)からメディア処理スレッド30−1〜30−(m−2)および30−(m+2)〜30−Mへのデータ受渡しについても同様であるので、詳しい説明を省略する。   In FIG. 9, data is transferred from the media processing thread 30- (m) to the media processing thread 30- (m-1), and data is transferred from the media processing thread 30- (m) to the media processing thread 30- (m + 1). Although the transfer has been described, the same applies to the data transfer from the media processing thread 30- (m) to the media processing threads 30-1 to 30- (m-2) and 30- (m + 2) to 30-M. Therefore, detailed explanation is omitted.

メディア処理スレッド30−mは、例えば、10msごとに周期起動するが、バッファ面331−4を書込む周期で、周期処理に時間がかかり、バッファ面331−5、331−6、331−7、331−8、331−1を書込む周期で、起動周期の乱れが発生したとする。ソフトウェアでの処理においては、例えばハードディスクへのデータ書込み待ちの発生などにより、通常よりも周期処理時間が長くなり、起動周期が乱れることが有り得る。   For example, the media processing thread 30-m is periodically started every 10 ms, but it takes time to perform periodic processing at a cycle in which the buffer surface 331-4 is written, and the buffer surfaces 331-5, 331-6, 331-7, Assume that a disturbance in the start cycle occurs in the cycle in which 331-8 and 331-1 are written. In processing by software, for example, due to the occurrence of waiting for data writing to the hard disk, the cycle processing time becomes longer than usual, and the startup cycle may be disturbed.

メディア処理スレッド30−(m−1)は、メディア処理スレッド30−mと同様に10msごとに周期起動し、起動周期の乱れが発生しなかったとする。すると、メディア処理スレッド30−(m−1)では、10msごとに循環バッファ33−mからの読込み契機が発生する。   Similarly to the media processing thread 30-m, the media processing thread 30- (m-1) is periodically activated every 10 ms, and the activation cycle is not disturbed. Then, in the media processing thread 30- (m−1), a read trigger from the circular buffer 33-m occurs every 10 ms.

また、この実施形態では、メディア処理スレッド30−m以外のメディア処理スレッド30は、メディア処理スレッド30−mのバッファ面331−2へデータ書込み以降に読込み処理を開始するものとする。したがって、メディア処理スレッド30−(m−1)は、メディア処理スレッド30−mのバッファ面331−2へデータ書込み以降に読込み処理を開始する。したがって、図9に示すように、メディア処理スレッド30−mがバッファ面331−2へ10ms分の音声データ(リニア音声データ)を書込んだ後、メディア処理スレッド30−(m−1)の読込み契機が発生すると、これが初回の読込み契機となる。このとき、メディア処理スレッド30−mは、読込み位置ポインタRP(m−1)を1に設定し、バッファ面331−1から10ms分の音声データ(リニア音声データ)を読込む。メディア処理スレッド30−mは、次回以降の読込み契機において、読込み位置ポインタRP(m−1)をインクリメントし、対応するバッファ面331から10ms分の音声データ(リニア音声データ)を読込んでいくことになる。   In this embodiment, media processing threads 30 other than the media processing thread 30-m start reading processing after data is written to the buffer surface 331-2 of the media processing thread 30-m. Therefore, the media processing thread 30- (m−1) starts the reading process after data is written to the buffer surface 331-2 of the media processing thread 30-m. Therefore, as shown in FIG. 9, after the media processing thread 30-m writes 10 ms worth of audio data (linear audio data) to the buffer surface 331-2, the media processing thread 30- (m-1) is read. When an opportunity occurs, this is the first reading opportunity. At this time, the media processing thread 30-m sets the reading position pointer RP (m-1) to 1, and reads audio data (linear audio data) for 10 ms from the buffer surface 331-1. The media processing thread 30-m increments the reading position pointer RP (m−1) and reads audio data (linear audio data) for 10 ms from the corresponding buffer surface 331 at the next reading opportunity. Become.

図9に示すように、読込み位置ポインタRP(m−1)が5の時の最初の読込み契機(メディア処理スレッド30−mの読込み契機)では、メディア処理スレッド30−mの書込み位置ポインタWP(m)の値が5である。したがって、この時点で、メディア処理スレッド30−mにおいて、バッファ面331−5に最新の音声データが書込まれており、バッファ面331−6には、まだ音声データが書き込まれていない。そこで、メディア処理スレッド30−(m−1)は、この読込み契機において、読込み位置ポインタRP(m−1)を前値保持として(インクリメントを行わず)、バッファ面331−5の音声データを読込むようにする。この場合メディア処理スレッド30−(m−1)は、バッファ面331−5の音声データを2回連続で読込むので、この契機では、一瞬、音声の連続性が失われるが、それ以降の音声の連続性を保つことが出来る。   As shown in FIG. 9, at the first read trigger (read trigger of the media processing thread 30-m) when the read position pointer RP (m-1) is 5, the write position pointer WP ( The value of m) is 5. Therefore, at this time, the latest audio data is written in the buffer surface 331-5 in the media processing thread 30-m, and the audio data is not yet written in the buffer surface 331-6. Therefore, the media processing thread 30- (m-1) reads the audio data of the buffer surface 331-5 with the reading position pointer RP (m-1) held as the previous value (without incrementing) at this reading opportunity. Make sure. In this case, the media processing thread 30- (m-1) reads the audio data of the buffer surface 331-5 twice in succession, and at this moment, the continuity of the audio is lost for a moment. Can be maintained.

メディア処理スレッド30−(m−1)では、音声データを2回連続で読込む代わりに、デコーダでのパケットロス補償と同様の処理を実行することにより、過去音声より疑似人工音声(ダミー用音声)を生成してもよい。そうすれば、この契機においても音声の連続性を保つことが出来る。そして、読込み位置ポインタRP(m−1)がバッファ面数と同じ8となった次の読込み契機では、読込み位置ポインタRP(m−1)を1に設定し、メディア処理スレッド30−mのバッファ面331−1から10ms分の音声データ(リニア音声データ)を読込む。   The media processing thread 30- (m-1) executes a process similar to the packet loss compensation in the decoder, instead of reading the voice data twice in succession, so that the artificial voice (dummy voice) is obtained from the past voice. ) May be generated. Then, the continuity of the voice can be maintained even at this opportunity. Then, at the next read trigger when the read position pointer RP (m−1) is equal to 8 as the number of buffer planes, the read position pointer RP (m−1) is set to 1, and the buffer of the media processing thread 30-m The voice data (linear voice data) for 10 ms is read from the surface 331-1.

(B−3)第2の実施形態の効果
第2の実施形態によれば、第1の実施形態の効果に加えて、以下のような効果を奏することができる。
(B-3) Effects of Second Embodiment According to the second embodiment, the following effects can be obtained in addition to the effects of the first embodiment.

第2の実施形態の多地点音声ミキシング装置10では、任意の基準となるメディア処理スレッド30で複数のバッファ面331へのデータ書込み以降に、他のメディア処理スレッド30の読込み処理を開始するようにしている。また、第2の実施形態の多地点音声ミキシング装置10では、メディア処理スレッド30の読込み契機(他のメディア処理スレッド30からの音声データの読込み契機)において、読込み位置ポインタRPが書込み位置ポインタWP(m)を追い越さないようにする処理を追加したので、読込みデータの音声の連続性を保つことができる。   In the multipoint audio mixing apparatus 10 of the second embodiment, after the data is written to the plurality of buffer surfaces 331 by the media processing thread 30 as an arbitrary reference, the reading process of the other media processing thread 30 is started. ing. In the multipoint audio mixing apparatus 10 according to the second embodiment, the reading position pointer RP is changed to the writing position pointer WP (when the media processing thread 30 reads) (when the audio data is read from other media processing threads 30). Since a process for preventing overtaking m) is added, the continuity of the read data voice can be maintained.

(C)他の実施形態
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
(C) Other Embodiments The present invention is not limited to the above-described embodiments, and may include modified embodiments as exemplified below.

(C−1)第2実施形態では、読込み位置ポインタRPが書込み位置ポインタWP(m)を追い越さないようにする処理について説明した。しかし、書込み位置ポインタWP(m)と読込み位置ポインタRPとのバッファ面数差分は、バッファ面数差分×起動周期の伝送遅延となり、この伝送遅延が大きくなり過ぎるのは望ましくない。そこで、各メディア処理スレッド30において、伝送遅延の遅延回復処理を実施するようにしても良い。例えば、各メディア処理スレッド30は、「書込み位置ポインタWP(m)−読込み位置ポインタRP≧X」(例えば、X=4)となった時点で、読込み位置ポインタRPを2つインクリメントしてから、データ読込みを実施するようにして、伝送遅延の遅延回復処理を実施するようにしても良い。更に、各メディア処理スレッド30は、「書込み位置ポインタWP(m)−読込み位置ポインタRP≧X」が成立した時に、音声データが無い無音区間のみで、読込み位置ポインタRPを2つインクリメントするようにしても良い。   (C-1) In the second embodiment, the process for preventing the read position pointer RP from overtaking the write position pointer WP (m) has been described. However, the buffer plane number difference between the write position pointer WP (m) and the read position pointer RP becomes a transmission delay of the buffer plane number difference × starting cycle, and it is not desirable that this transmission delay becomes too large. Therefore, each media processing thread 30 may perform delay recovery processing for transmission delay. For example, each media processing thread 30 increments the read position pointer RP by two when “write position pointer WP (m) −read position pointer RP ≧ X” (for example, X = 4), Data recovery may be performed to perform a delay recovery process for transmission delay. Further, each media processing thread 30 increments the reading position pointer RP by two only in a silent section where there is no audio data when “writing position pointer WP (m) −reading position pointer RP ≧ X” is satisfied. May be.

(C−2)上記の各実施形態では、本発明の音声処理装置を、多地点音声ミキシング装置に適用する例について説明したが、音声データを受信してミキシングする種々の装置に適用することができる。また、上記の各実施形態では、符号化された音声データのパケットを受信して音声ミキシング処理する例について説明したが、受信する際の音声データの符号化方式や分割形式等は限定されないことは当然である。   (C-2) In each of the above embodiments, the example in which the audio processing device of the present invention is applied to a multipoint audio mixing device has been described. However, the audio processing device can be applied to various devices that receive and mix audio data. it can. In each of the above embodiments, an example in which a packet of encoded audio data is received and audio mixing processing has been described, but the encoding method and division format of audio data at the time of reception are not limited. Of course.

10…多地点音声ミキシング装置、11…データ処理部、111…プロセッサ、112…メモリ、12…通信部、40…ネットワーク、20、20−1_1〜20−M_N…端末、21…通話処理部、22…通信部、23…マイク、24…スピーカ、30、30−1〜30−M…メディア処理スレッド、31、31−1_1〜31−M_N…音声受信処理、311…RTP受信、312…ジッタバッファ、313…デコーダ、32、32−1〜32−M…加算処理、33、33−1〜33−M…循環バッファ、34、34−1〜34−M…加算処理34、35、35−1〜35−M…ミキサ、36、36−1_1〜36−M_N…音声送信処理、361…エンコーダ、362…RTP送信、331、331−1〜331−Z…バッファ面、332…読込み位置ポインタ群、333…書込み面選択手段、334…読込面選択手段、335…読込み位置ポインタ選択手段、351、351−1〜351−N…ミキサ部。   DESCRIPTION OF SYMBOLS 10 ... Multipoint audio mixing apparatus, 11 ... Data processing part, 111 ... Processor, 112 ... Memory, 12 ... Communication part, 40 ... Network, 20, 20-1_1 to 20-M_N ... Terminal, 21 ... Call processing part, 22 Communication unit, 23, microphone, 24, speaker, 30, 30-1 to 30-M, media processing thread, 31, 31-1_1 to 31-M_N, voice reception processing, 311 ... RTP reception, 312 ... jitter buffer, 313: Decoder, 32, 32-1 to 32-M ... Addition processing, 33, 33-1 to 33-M ... Circular buffer, 34, 34-1 to 34-M ... Addition processing 34, 35, 35-1 35-M: Mixer, 36, 36-1_1-36-M_N: Audio transmission processing, 361: Encoder, 362: RTP transmission, 331, 331-1-331-Z: Buffer surface, 3 2 ... read position pointers, 333 ... writing surface selecting means, 334 ... read plane selecting means, 335 ... read position pointer selecting means, 351,351-1~351-N ... mixer.

Claims (9)

複数の音声処理手段を備え、
それぞれの上記音声処理手段は、
時系列ごとの受信音に基づいた受信音データを受信する複数の音信号受信手段と、
上記複数の音信号受信手段が受信した受信音データを合成して第1の合成音声データを生成する第1の合成手段と、
第1の合成音声データを保持するバッファ手段と、
他の上記音声処理手段のそれぞれで生成された第1の合成音声データを合成して第2の合成音声データを生成する第2の合成手段と、
送信先ごとに、複数の上記音信号受信手段が受信した受信音データから当該送信先に係る受信音データを除外した音声データと上記第2の合成音声データとを合成した送信音データを生成する第3の合成手段と
を有することを特徴とする音声処理装置。
A plurality of voice processing means,
Each of the above voice processing means
A plurality of sound signal receiving means for receiving reception sound data based on reception sound for each time series;
First synthesizing means for synthesizing received sound data received by the plurality of sound signal receiving means to generate first synthesized sound data;
Buffer means for holding first synthesized speech data;
Second synthesis means for synthesizing the first synthesized voice data generated by each of the other voice processing means to generate second synthesized voice data;
For each transmission destination, transmission sound data is generated by synthesizing voice data obtained by excluding the reception sound data related to the transmission destination from the reception sound data received by the plurality of sound signal receiving means and the second synthesized voice data. And a third synthesizing unit.
上記バッファ手段は、1つの時系列の第1の合成音声データを保持する複数のバッファ部を循環的に配列した循環バッファに、時系列順に第1の合成音声データを記憶させることを特徴とする請求項1に記載の音声処理装置。   The buffer means stores the first synthesized speech data in a time series order in a circular buffer in which a plurality of buffer units holding one time-series first synthesized speech data are circularly arranged. The speech processing apparatus according to claim 1. 上記バッファ手段は、上記循環バッファに、複数の第1の合成音声データを保持した後に、上記循環バッファで保持している第1の合成音声データの出力を開始することを特徴とする請求項2に記載の音声処理装置。   3. The buffer means starts outputting the first synthesized voice data held in the circular buffer after holding a plurality of first synthesized voice data in the circular buffer. The voice processing apparatus according to 1. 上記バッファ手段は、上記循環バッファの読込み位置を管理する読込みポインタと、上記循環バッファの書込み位置を管理する書込みポインタを有し、上記読込みポインタの位置が、上記書込みポインタの位置を追い越さないように、上記読込みポインタの位置を制御することを特徴とする請求項2又は3に記載の音声処理装置。   The buffer means has a read pointer for managing the read position of the circular buffer and a write pointer for managing the write position of the circular buffer, so that the position of the read pointer does not pass the position of the write pointer. 4. The voice processing apparatus according to claim 2, wherein the position of the reading pointer is controlled. 上記バッファ手段は、上記読込みポインタに対応する第1の合成音声データを読み込む際に、上記読込みポインタの位置と、上記書込みポインタの位置とが同じであった場合、上記読込みポインタの位置をインクリメントしないことを特徴とする請求項4に記載の音声処理装置。   The buffer means does not increment the position of the read pointer if the position of the read pointer and the position of the write pointer are the same when reading the first synthesized speech data corresponding to the read pointer. The speech processing apparatus according to claim 4. 上記バッファ手段は、上記読込みポインタに対応する第1の合成音声データを読み込む際に、上記書込みポインタの位置と、上記読込みポインタの位置との差分が閾値以上だった場合、上記読込み位置ポインタについて2以上の値インクリメントすることを特徴とする請求項4に記載の音声処理装置。   The buffer means reads the first synthesized speech data corresponding to the read pointer, and if the difference between the position of the write pointer and the position of the read pointer is equal to or greater than a threshold value, 2 for the read position pointer. The speech processing apparatus according to claim 4, wherein the value is incremented. それぞれの上記音声処理手段は、コンピュータ上のスレッドで構成されていることを特徴とする請求項1〜6のいずれかに記載の音声処理装置。   7. The sound processing apparatus according to claim 1, wherein each of the sound processing means is constituted by a thread on a computer. コンピュータを複数の音声処理手段として機能させ、
それぞれの上記音声処理手段は、
時系列ごとの受信音に基づいた受信音データを受信する複数の音信号受信手段と、
上記複数の音信号受信手段が受信した受信音データを合成して第1の合成音声データを生成する第1の合成手段と、
第1の合成音声データを保持するバッファ手段と、
他の上記音声処理手段のそれぞれで生成された第1の合成音声データを合成して第2の合成音声データを生成する第2の合成手段と、
送信先ごとに、複数の上記音信号受信手段が受信した受信音データから当該送信先に係る受信音データを除外した音声データと上記第2の合成音声データとを合成した送信音データを生成する第3の合成手段とを有する
ことを特徴とする音声処理プログラム。
Let the computer function as multiple audio processing means,
Each of the above voice processing means
A plurality of sound signal receiving means for receiving reception sound data based on reception sound for each time series;
First synthesizing means for synthesizing received sound data received by the plurality of sound signal receiving means to generate first synthesized sound data;
Buffer means for holding first synthesized speech data;
Second synthesis means for synthesizing the first synthesized voice data generated by each of the other voice processing means to generate second synthesized voice data;
For each transmission destination, transmission sound data is generated by synthesizing voice data obtained by excluding the reception sound data related to the transmission destination from the reception sound data received by the plurality of sound signal receiving means and the second synthesized voice data. A voice processing program comprising: a third synthesizing unit.
音声処理装置が実行する音声処理方法において、
複数の音声処理手段を備え、
それぞれの音声処理手段は、複数の音信号受信手段、第1の合成手段、バッファ手段、第2の合成手段、及び第3の合成手段を備え、
それぞれの上記音信号受信手段は、時系列ごとの受信音に基づいた受信音データを受信し、
上記第1の合成手段は、上記複数の音信号受信手段が受信した受信音データを合成して第1の合成音声データを生成し、
上記バッファ手段は、第1の合成音声データを保持し、
上記第2の合成手段は、他の上記音声処理手段のそれぞれで生成された第1の合成音声データを合成して第2の合成音声データを生成し、
上記第3の合成手段は、送信先ごとに、複数の上記音信号受信手段が受信した受信音データから当該送信先に係る受信音データを除外した音声データと上記第2の合成音声データとを合成した送信音データを生成する
ことを特徴とする音声処理方法。
In the speech processing method executed by the speech processing apparatus,
A plurality of voice processing means,
Each sound processing means comprises a plurality of sound signal receiving means, first synthesizing means, buffer means, second synthesizing means, and third synthesizing means,
Each of the sound signal receiving means receives reception sound data based on reception sound for each time series,
The first synthesizing unit synthesizes the received sound data received by the plurality of sound signal receiving units to generate first synthesized voice data,
The buffer means holds the first synthesized voice data,
The second synthesis means synthesizes the first synthesized voice data generated by each of the other voice processing means to generate second synthesized voice data,
The third synthesizing means, for each transmission destination, audio data obtained by excluding reception sound data related to the transmission destination from reception sound data received by the plurality of sound signal reception means, and the second synthetic audio data. A voice processing method characterized by generating synthesized transmission sound data.
JP2014227163A 2014-11-07 2014-11-07 Voice processing apparatus, program and method Active JP6476768B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014227163A JP6476768B2 (en) 2014-11-07 2014-11-07 Voice processing apparatus, program and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014227163A JP6476768B2 (en) 2014-11-07 2014-11-07 Voice processing apparatus, program and method

Publications (2)

Publication Number Publication Date
JP2016092679A true JP2016092679A (en) 2016-05-23
JP6476768B2 JP6476768B2 (en) 2019-03-06

Family

ID=56019921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014227163A Active JP6476768B2 (en) 2014-11-07 2014-11-07 Voice processing apparatus, program and method

Country Status (1)

Country Link
JP (1) JP6476768B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0292137A (en) * 1988-09-29 1990-03-30 Hitachi Ltd Conference call control system
JP2001056696A (en) * 1999-08-18 2001-02-27 Nippon Telegr & Teleph Corp <Ntt> Method and device for voice storage and reproduction
JP2003023499A (en) * 2001-07-10 2003-01-24 Matsushita Electric Ind Co Ltd Conference server device and conference system
WO2009098975A1 (en) * 2008-02-04 2009-08-13 Nec Corporation Voice mixing device and method, and multipoint conference server
JP2010093328A (en) * 2008-10-03 2010-04-22 Nippon Syst Wear Kk Sound signal communication system, speech synthesis device, method and program for speech synthesis processing, and recording medium stored with the program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0292137A (en) * 1988-09-29 1990-03-30 Hitachi Ltd Conference call control system
JP2001056696A (en) * 1999-08-18 2001-02-27 Nippon Telegr & Teleph Corp <Ntt> Method and device for voice storage and reproduction
JP2003023499A (en) * 2001-07-10 2003-01-24 Matsushita Electric Ind Co Ltd Conference server device and conference system
WO2009098975A1 (en) * 2008-02-04 2009-08-13 Nec Corporation Voice mixing device and method, and multipoint conference server
JP2010093328A (en) * 2008-10-03 2010-04-22 Nippon Syst Wear Kk Sound signal communication system, speech synthesis device, method and program for speech synthesis processing, and recording medium stored with the program

Also Published As

Publication number Publication date
JP6476768B2 (en) 2019-03-06

Similar Documents

Publication Publication Date Title
Cáceres et al. JackTrip: Under the hood of an engine for network audio
WO2013154027A1 (en) Decoding device and method, audio signal processing device and method, and program
WO2021249323A1 (en) Information processing method, system and apparatus, and electronic device and storage medium
CN105357604A (en) Audio playing device with Bluetooth function and audio playing method
US20150341565A1 (en) Low data-rate video conference system and method, sender equipment and receiver equipment
JP2001331199A (en) Method and device for voice processing
US20120093155A1 (en) System and method for data exchange in a heterogeneous multiprocessor system
JP2023553554A (en) Heterogeneous computing systems and methods for clock synchronization
KR101833942B1 (en) Transcoder for real-time compositing
JP5772140B2 (en) Multipoint connection device, multipoint video conference system, display control method, and display control program
US20200322400A1 (en) Method for transmitting data in a multimedia system, and software product and device for controlling the transmission of data in a multimedia system
US9396735B2 (en) System for real time audio processing driven by interrupt and timer event
JP2016092679A (en) Voice processing unit, program and method
CN102932673B (en) The transmission synthetic method of a kind of vision signal and audio signal, system and device
JP2007267030A (en) Audio network system having output delay correction function
US10924613B1 (en) Encoder pools for conferenced communications
US9137051B2 (en) Method and apparatus for reducing rendering latency for audio streaming applications using internet protocol communications networks
CN109150951A (en) The starting method and apparatus of android system Activity
TWI238633B (en) Procedure and device for the clocked output of asynchronously received digital signals
US20210185102A1 (en) Server in multipoint communication system, and operating method thereof
TW201442496A (en) System and method for synchronizing video data and audio data
JP2016025534A (en) Multiplexer
JP2006319685A (en) Audio coding selection control method, audio packet transmitter, audio packet receiver, program, and storage medium
CN108616375B (en) Method and circuit for transmitting data in specified period based on AS5643 protocol
JP2018007192A (en) Voice communication system, transmitter, receiver, transmission method, reception method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170815

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180914

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: 20190108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190121

R150 Certificate of patent or registration of utility model

Ref document number: 6476768

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150