JP6476768B2 - Voice processing apparatus, program and method - Google Patents

Voice processing apparatus, program and method Download PDF

Info

Publication number
JP6476768B2
JP6476768B2 JP2014227163A JP2014227163A JP6476768B2 JP 6476768 B2 JP6476768 B2 JP 6476768B2 JP 2014227163 A JP2014227163 A JP 2014227163A JP 2014227163 A JP2014227163 A JP 2014227163A JP 6476768 B2 JP6476768 B2 JP 6476768B2
Authority
JP
Japan
Prior art keywords
buffer
data
speech data
processing
synthetic speech
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014227163A
Other languages
Japanese (ja)
Other versions
JP2016092679A (en
Inventor
高詩 石黒
高詩 石黒
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)

Description

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

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

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

このような課題を解決するための従来技術として特許文献1の記載技術がある。   As a prior art for solving such a subject, there is a description art of patent documents 1.

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

特許公開2008−211291号公報Patent publication 2008-211291 gazette

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

そのため、低コストでより多くの音声チャネルについてソフトウェア的にミキシング処理可能な音声処理装置、プログラム及び方法が望まれている。   Therefore, there is a need for an audio processing apparatus, program and method that can perform software mixing with low cost and more audio channels.

第1の本発明の音声処理装置は、(1)複数の音声処理手段を備え、(1−1)それぞれの上記音声処理手段は、(1−2)時系列ごとの受信音に基づいた受信音データを受信する複数の音信号受信手段と、(1−3)上記複数の音信号受信手段が受信した受信音データを合成して第1の合成音声データを生成する第1の合成手段と、(1−4)第1の合成音声データを保持するバッファ手段と、(1−5)他の上記音声処理手段のそれぞれで生成された第1の合成音声データを合成して第2の合成音声データを生成する第2の合成手段と、(1−6)送信先ごとに、複数の上記音信号受信手段が受信した受信音データから当該送信先に係る受信音データを除外した音声データと上記第2の合成音声データとを合成した送信音データを生成する第3の合成手段とを有し、(1−7)上記バッファ手段は、1つの時系列の第1の合成音声データを保持する複数のバッファ部を循環的に配列した循環バッファに、時系列順に第1の合成音声データを記憶させ、(1−8)上記バッファ手段は、上記循環バッファに、所定数の第1の合成音声データを保持した後に、上記循環バッファで保持している第1の合成音声データの出力を開始することを特徴とする。 The voice processing apparatus according to the first aspect of the present invention comprises (1) a plurality of voice processing means, and (1-1) each of the voice processing means comprises (1-2) reception based on received sound for each time series A plurality of sound signal reception means for receiving sound data; and (1-3) a first synthesis means for synthesizing the reception sound data received by the plurality of sound signal reception means to generate first synthesized speech data. , (1-4) buffer means for holding the first synthetic speech data, and (1-5) the first synthetic speech data generated by each of the other speech processing means are synthesized to produce a second synthesis (2-6) voice data obtained by excluding the received sound data relating to the transmission destination from the received sound data received by the plurality of sound signal receiving means for each transmission destination; Generating transmission sound data synthesized with the second synthetic speech data Have a third combining means (1-7) said buffer means, the circular buffer having a plurality of buffer portion is cyclically arranged to hold the first of the synthesized speech data of one time series, time series The first synthetic speech data is stored in order, and (1-8) the buffer means holds the predetermined number of first synthetic speech data in the circulation buffer, and then holds the first synthetic speech data in the circulation buffer. Starting to output the synthesized speech data .

第2の本発明の音声処理プログラムは、(1)コンピュータを複数の音声処理手段として機能させ、(2)それぞれの上記音声処理手段は、(2−1)時系列ごとの受信音に基づいた受信音データを受信する複数の音信号受信手段と、(2−2)上記複数の音信号受信手段が受信した受信音データを合成して第1の合成音声データを生成する第1の合成手段と、(2−3)第1の合成音声データを保持するバッファ手段と、(2−4)他の上記音声処理手段のそれぞれで生成された第1の合成音声データを合成して第2の合成音声データを生成する第2の合成手段と、(2−5送信先ごとに、複数の上記音信号受信手段が受信した受信音データから当該送信先に係る受信音データを除外した音声データと上記第2の合成音声データとを合成した送信音データを生成する第3の合成手段とを有し、(2−6)上記バッファ手段は、1つの時系列の第1の合成音声データを保持する複数のバッファ部を循環的に配列した循環バッファに、時系列順に第1の合成音声データを記憶させ、(2−7)上記バッファ手段は、上記循環バッファに、所定数の第1の合成音声データを保持した後に、上記循環バッファで保持している第1の合成音声データの出力を開始することを特徴とする。 The voice processing program according to the second aspect of the present invention makes (1) the computer function as a plurality of voice processing means, and (2) each of the above voice processing means is based on the received sound for each (2-1) time series. A plurality of sound signal receiving means for receiving the reception sound data; and (2-2) a first synthesis means for synthesizing the reception sound data received by the plurality of sound signal reception means to generate a first synthesized speech data And (2-3) buffer means for holding the first synthetic speech data, and (2-4) the first synthetic speech data generated by the other speech processing means, respectively, (2-5 ) voice data obtained by removing received sound data relating to the transmission destination from received sound data received by a plurality of the above-mentioned sound signal receiving means for each transmission destination; And the above second synthetic speech data Have a third synthesizing means for generating a transmitted sound data, (2-6) the buffer means, cyclically arranged a plurality of buffer portion for holding the first synthesized speech data of one time series The first synthetic speech data is stored in chronological order in the circular buffer, and (2-7) the buffer means holds the predetermined number of first synthetic speech data in the circular buffer, and Starting output of the first synthetic speech data held in

第3の本発明は音声処理装置が実行する音声処理方法において、(1)複数の音声処理手段を備え、(2)それぞれの音声処理手段は、複数の音信号受信手段、第1の合成手段、バッファ手段、第2の合成手段、及び第3の合成手段を備え、(3)それぞれの上記音信号受信手段は、時系列ごとの受信音に基づいた受信音データを受信し、(4)上記第1の合成手段は、上記複数の音信号受信手段が受信した受信音データを合成して第1の合成音声データを生成し、(5)上記バッファ手段は、第1の合成音声データを保持し、(6)上記第2の合成手段は、他の上記音声処理手段のそれぞれで生成された第1の合成音声データを合成して第2の合成音声データを生成し、(7)上記第3の合成手段は、送信先ごとに、複数の上記音信号受信手段が受信した受信音データから当該送信先に係る受信音データを除外した音声データと上記第2の合成音声データとを合成した送信音データを生成させ、(8)上記バッファ手段は、1つの時系列の第1の合成音声データを保持する複数のバッファ部を循環的に配列した循環バッファに、時系列順に第1の合成音声データを記憶させ、(9)上記バッファ手段は、上記循環バッファに、所定数の第1の合成音声データを保持した後に、上記循環バッファで保持している第1の合成音声データの出力を開始することを特徴とする。 A third aspect of the present invention is the 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, a first synthesizing means , The buffer means, the second combining means, and the third combining means, (3) each of the sound signal receiving means receives the received sound data based on the received sound for each time series, (4) The first synthesizing means synthesizes the received sound data received by the plurality of sound signal receiving means to generate first synthesized speech data, and (5) the buffer means generates the first synthesized speech data. (6) the second synthesizing unit synthesizes the first synthesized speech data generated by each of the other speech processing units to generate second synthesized speech data; (7) the above The third combining means receives a plurality of the above-mentioned sound signals for each transmission destination. Stage was that generate transmitted sound data obtained by synthesizing the audio data and the second synthesized speech data excluding the received sound data related to the destination from the received sound data received, (8) the buffer means, one The first synthetic speech data is stored in chronological order in a circular buffer in which a plurality of buffer units for holding the first synthetic speech data in time series are cyclically arranged, and (9) the buffer means comprises the circular buffer The present invention is characterized in that, after holding a predetermined number of first synthetic speech data, output of the first synthetic speech data held by the circulating buffer is started .

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

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

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

(A−1)第1の実施形態の構成
図2は、この実施形態の多地点音声ミキシング装置10のハードウェア構成及び接続構成の例について示したブロック図である。
(A-1) Configuration of First Embodiment FIG. 2 is a block diagram showing an example of the hardware configuration and the 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- , 20-2_N,..., 20-M_1, 20-M_2,..., 20-M_N) through the network 40. N and M are arbitrary integers of 2 or more. Further, the N × M terminals 20 are the maximum number of terminals 20 connectable 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 device 10 and each terminal 20 is not limited. In this embodiment, it is possible to perform real-time transmission and reception of voice (conference voice) data between the multipoint voice mixing device 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. As shown in FIG.

各端末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. For example, a PC or the like on which an application of an IP telephone or a soft phone is installed can be applied.

この実施形態では、端末20は、全て図3のブロック図で示される構成であるものとして以下の説明を行うが、各端末20の具体的な構成は、図3の構成に限定されないものである。例えば、IP電話機や、ソフトフォンとして機能するコンピュータ(例えば、PC,スマートフォン、タブレットPC等にソフトフォンのアプリケーションをインストールしたもの)等を適用することができる。   In this embodiment, the terminal 20 will be described as 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, a computer functioning as a soft phone (for example, a PC, a smart phone, a tablet PC or the like with an application of a soft phone installed) can be applied.

図3に示す端末20は、通話処理部21、ネットワークインタフェースとしての通信部22、ユーザの音声を捕捉するマイク23、及びユーザに音声出力するスピーカ24を有している。マイク23、及びスピーカ24は、端末20において送受話器として機能するものであり、例えば、電話機やスピーカフォンの受話器やヘッドセット等を適用することができる。   The terminal 20 shown in FIG. 3 has a call processing unit 21, a communication unit 22 as a network interface, a microphone 23 for capturing the voice of the user, and a speaker 24 for voice output to the user. The microphone 23 and the speaker 24 function as a handset in the terminal 20, and for example, a handset of a telephone, a speakerphone, a headset or the like 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 signal and call control processing. When the terminal 20 is configured by, for example, a general-purpose computer such as a PC, the call processing unit 21 is a component corresponding to an application of a softphone.

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

通話処理部21は、マイク23で捕捉した音声信号に所定の符号化処理(コーデック化)を施した音声データを、多地点音声ミキシング装置10へ送信する。また、通話処理部21は、多地点音声ミキシング装置10から受信した音声データを音声信号に復号して、スピーカ24から出力させる処理を行う。多地点音声ミキシング装置10と端末20との間で用いられる音信号の符号化方式(コーデック)については限定されないものであるが、例えば、例えば、ITU−T G.711、G.729などの符号化方式が適用できる。   The call processing unit 21 transmits, to the multipoint audio mixing apparatus 10, audio data obtained by applying predetermined encoding processing (codecization) to the audio signal captured by the microphone 23. Further, the call processing unit 21 decodes the audio data received from the multipoint audio mixing device 10 into an audio signal, and outputs the audio signal from the speaker 24. The encoding method (codec) of the sound signal used between the multipoint audio mixing device 10 and the terminal 20 is not limited, but, for example, for example, ITU-T G. 711, G. A coding 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 device 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 and the like of the embodiment in 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 audio processing (for example, transmission and reception of audio data, audio mixing processing, etc.) related to telephone communication (conference communication) with the terminal 20 as 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としては、複数のコアを備えるプロセッサ(マルチコアプロセッサ)を用いて構成するようにしてもよい。   Although the processor 111 is illustrated as one block in FIG. 2, it may be physically configured with a plurality of processors. The processor 111 may be configured using a processor (multi-core processor) including a plurality of cores.

さらに、図2では、メモリ112は1つのブロックで図示しているが、具体的な構成については限定されないものであり、例えば、高速に動作する揮発メモリ(例えば、SRAM、DRAM等)と、不揮発メモリ(例えば、フラッシュメモリーやHDD等)等、複数メディアのメモリを組み合わせて構成するようにしてもよい。この実施形態では、データ処理部11により構成されるコンピュータに、実施形態の音声処理プログラムがインストールされているものとして説明する。   Further, although the memory 112 is illustrated as one block in FIG. 2, the specific configuration is not limited. For example, volatile memory (for example, SRAM, DRAM, etc.) operating at high speed, and non-volatile It may be configured by combining memories of a plurality of media such as a memory (for example, a flash memory, an HDD, etc.). In this embodiment, it is assumed that the voice 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 threads) 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)を用いて、N×Mチャネル(N×M台の端末20との音声データの送信及び受信するチャネル)の音声ミキシング処理を実現する。 As shown in FIG. 1, the data processing unit 11 (audio processing program of the embodiment) of the multipoint audio mixing apparatus 10 includes media processing threads 30 (30-1 to 30-M) as M audio processing means. Using this, voice mixing processing of N × M channels (channels for sending and receiving voice 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 periodically activated, for example, every 10 ms, and in the periodic processing, the media processing thread 30 processes audio data with the period (10 ms in the example of this embodiment) as one processing unit. That is, it is assumed that each media processing thread 30 can process N channels (process 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 for generating and managing threads and an environment such as a programming language) is not limited. And various configurations can be applied. Further, the interval of periodic activation in the media processing thread 30 and the time of processing unit of audio data 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 voice reception processes 31. In FIG. 1, the media processing threads 30-1 to 30-M have the audio reception processing 31-1_1 to 31-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 voice 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 processing 31-1_1 to 31-M_N is configured to receive and process voice data (coded voice data) supplied from the terminals 20-1_1 to 20-M_N, respectively. Also, the voice transmission processing 36-1_1 to 36-M_N is for transmitting voice data (coded voice data) subjected to mixing processing 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 voice reception process 31. As shown in FIG.

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

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

図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 process 36 includes an encoder 361 and an RTP transmission 362. The encoder supplies to the RTP transmission 362 encoded voice data for 10 ms (predetermined processing unit time). Then, the RTP transmission 362 generates an RTP packet when encoded voice data for the RTP packetization cycle can be accumulated, and transmits the RTP packet. In this embodiment, as an example, the RTP packetization period is described as 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を有している。   In addition, each media processing thread 30 (30-1 to 30-M) performs addition processing 32 (32-1 to 32-M), circulation buffer 33 (33-1 to 33-M), addition processing 34 (34- 1 to 34-M) and mixers 35 (35-1 to 35-M). For example, the media processing thread 30-1 includes an addition process 32-1, a circulation 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 will be referred to as first to M-th media processing threads 30, respectively. In the following, it is assumed that an arbitrary m-th (m is an arbitrary integer of 1 to M) media processing thread 30 is represented as a media processing thread 30-m. Also, 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). It shall be. Accordingly, the media processing thread 30-m includes the media processing thread 30-m, the audio reception processing 31-m_1 to 31-m_N, the addition processing 32-m, the circulation buffer 33-m, the addition processing 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を表すことになる。   Also, 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 thread 30 whose order is adjacent to the media processing thread 30-1 is the media processing thread 30-2 and the media processing thread 30-M. Therefore, for example, in the case of the media processing threads 30- (m + 1) to 30- (m + M-1), the media processing threads 30-1 to 30-M represent other than the media processing thread 30-m. For example, when m = 3, the media processing threads 30- (m + 1) to 30- (m + M-1) represent the media processing threads 30-1 to 30-2 and the 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 centered on the m-th 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) voice data (for example, linear voice data for 10 ms) for unit time output from each of the voice reception processes 31-m_1 to 31-m_N, and generates 10 ms for voice The data is written to the circular buffer 33-m. Note that various processings for adding voice data (synthesis technology) should be applied to processing in which the addition processing 32 adds (synthesizes) voices relating to a plurality of voice data and generates voice data after addition (post-synthesis) Detailed description is omitted.

図6は、循環バッファ33−mの内部構成について示したブロック図である。   FIG. 6 is a block diagram showing an internal configuration of the circulation 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 planes 331-1 to 331 -Z, a read position pointer group 332, a write plane selection unit 333, a read plane selection unit 334, and a read position pointer selection unit 335. Also, the circular buffer 33-m holds the 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 processing audio data by the media processing thread 30. In the following, it is assumed that pointer values (address values) corresponding to the buffer planes 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 (a pointer value indicating any one of the buffer surfaces 331-1 to 331-Z) to write audio data. The writing surface selection unit 333 updates (increments) the value of the writing position pointer WP (m), and then writes 10 ms of linear audio data to 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 one at the write trigger, and becomes 1 at the next write trigger when Z is reached. That is, audio data is cyclically written to 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 (i.e., M-1) corresponding to media processing threads 30- (m + 1) to 30- (m + M-1) other than self (media processing thread 30-m). The read position pointer RP) is arranged. 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 (a pointer value indicating any of the buffer faces 331-1 to 331 -Z) of audio data to be read by the corresponding media processing thread 30.

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

読込み位置ポインタ選択手段335も、書込み面選択手段333と同様に、読込みポインタ値RPのポインタ値を、読込みの契機ごとに1ずつインクリメントしていき、Zまで達したら、その次の読込み契機で1とする循環的な動作を行う。   The read position pointer selection means 335 also increments the pointer value of the read pointer value RP by 1 at each read opportunity, as the write plane selection means 333 and reaches 1 at the next read opportunity when it reaches Z. Perform cyclical action.

例えば、メディア処理スレッド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) from the buffer surface corresponding to the reading position pointer RP (m-1) The audio data (linear audio data) of) is read. The reading position pointer RP (m-1) increments by one at the reading opportunity, and when it reaches Z, performs a cyclic operation to be 1 at the next reading opportunity. Similar read processing is performed in 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 processing 34 requests and acquires output of audio data (audio data held on the buffer surface 331 corresponding to the pointer value of the reading position pointer RP) to another media processing thread 30 (circulation buffer 33), The voice data obtained by adding (synthesizing) them is generated and supplied to the mixer 35. That is, the addition processing 34-m is for 10 ms from the circulation buffer 33 (circulation buffers 33-1 to (m-1) and circulation buffers 33- (m + 1) to 33-M) other than the media processing thread 30-m. The linear voice data is read, added (synthesized), and 10 ms worth of linear voice data is delivered to the mixer 35-m. Note that various processings for adding voice data (synthesis technology) are applied to processing in which the addition processing 34 adds (synthesizes) voices relating to a plurality of voice data, and generates voice data after addition (post-synthesis). Detailed description is omitted.

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

図7は、任意のメディア処理スレッド30−mを構成するミキサ35−mの内部構成について示した説明図である。   FIG. 7 is an explanatory view showing an internal configuration of the mixer 35-m constituting 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 for synthesizing the audio data supplied to 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 combines (mixing) the audio data supplied from the audio reception processing 31-m_ (n + 1) to 31-m_ (n + N−1) with the audio data supplied from the addition processing 34-m The generated voice data is generated and supplied to the corresponding voice transmission processing 36. Specifically, for example, as shown in FIG. 7, the mixer unit 351-1 supplies the voice data synthesized in the voice 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. ) Will be. Note that various voice data synthesis techniques can be applied to the processing in which the mixer unit 351 synthesizes voices relating to a plurality of voice data and generates the voice data after the synthesis, so detailed description will be 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を除外した音声データを合成したものを合成(ミキシング)して送信することができる。   Thus, the terminal 20-1_1 which is the transmission destination of the voice transmission process 36-1_1 is not the voice data (voice data supplied to the voice reception process 31-1_1) transmitted from the own device (terminal 20-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, in the multipoint audio mixing apparatus 10, the synthesis is performed by combining audio data obtained by excluding the terminals 20 of the respective transmission destinations with respect to all the M × N terminals 20-1_1 to 20-M_N (mixing ) Can be sent.

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

なお、図8に示す例では、メディア処理スレッド30を構成するバッファ面331の数は8個(すなわちZ=8)であるものとして図示している。   In the example shown in FIG. 8, the number of buffer faces 331 constituting the media processing thread 30 is illustrated as being eight (ie, 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に属するものである。   In FIG. 8A, the periodic processing timing of the media processing thread 30-m, the write timing of the circular buffer 33-m, the change timing of the write position pointer WP (m), and the pointer value are illustrated. 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 change timing of the reading position pointer RP (m-1), and the pointer value are illustrated. It is done. Further, in FIG. 8C, the cycle processing timing of the media processing thread 30- (m + 1), the reading timing of the circular buffer 33- (m + 1), the change timing of the reading position pointer RP (m + 1) and the pointer value are illustrated. There is. The write position pointer WP shown in FIG. 8A is a pointer that belongs 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 both correspond to 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 transfer from the media processing thread 30- (m) to the media processing thread 30- (m-1) and data from the media processing thread 30- (m) to the media processing thread 30- (m + 1) Although the transfer is described, the same applies to 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. So I will omit the detailed explanation.

ここでは、メディア処理スレッド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) periodically starts every 10 ms, for example, and the start 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 write trigger, the write position pointer WP (m) is set to 1, and linear voice data for 10 ms is written to the buffer surface 331-1. The write position pointer WP (m) is incremented and writing of the linear audio data for 10 ms is performed to the corresponding buffer surface 331 at the write trigger after the next time. In the media processing thread 30- (m), the write position pointer WP (m) is set to 1 at the next write timing when the write position pointer WP (m) becomes 8 equal to the number of buffer faces, and 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) periodically starts every 10 ms as in the media processing thread 30- (m), and the start-up 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 reading processing after writing data 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 the linear audio data for 10 ms to the buffer surface 331-1, when the reading trigger of the media processing thread 30- (m-1) occurs, this is the media processing thread 30- It becomes an opportunity of the first reading in (m-1). Then, in the media processing thread 30- (m), the reading position pointer RP (m-1) is set to 1. 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 at the reading timing by the media processing thread 30- (m-1) on and after next time, and the corresponding buffer surface 331 It will supply 10 ms worth of linear audio data). The read position pointer RP (m-1) is set to 1 at the next read timing which is 8 (= Z) which is the same as the number (maximum number) of faces of the buffer surface 331.

ここでは、メディア処理スレッド30−(m+1)は、メディア処理スレッド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, the media processing thread 30- (m + 1), the media processing threads 3 0- (m), similarly to 30- (m-1), shall be cyclically activated for each 10 ms. However, here, as shown in FIG. 8, in the cycle in which the media processing thread 30- (m + 1) reads the audio data of the buffer side 331-5 of the media processing thread 30- (m), It shall be taken. Furthermore, here, as shown in FIG. 8, in the media processing thread 30- (m + 1), the disorder of the activation cycle is at the cycle of reading the buffer planes 331-5, 331-6, 331-7, and 331-8. Suppose that it occurs. In the processing by software (thread) in the data processing unit 11, for example, the occurrence of waiting for writing data to the hard disk may make the period processing time longer than usual, and the activation period 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 due to the disturbance of the start-up cycle in the cycle in which the buffer planes 331-5, 331-6, 331-7, and 331-8 are read. Can occur, but the desired mixing process can be continued.

(A−3)第1の実施形態の効果
第1の実施形態によれば、以下のような効果を奏することができる。
(A-3) Effects of the 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 the terminals 20 of each transmission destination with respect to all the 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, so that the performance limit of mixing processing of N channels in one CPU core is conventionally N × M channels The mixing process of can be performed. Therefore, the multipoint audio mixing apparatus 10 of the present invention can process N × M audio data in software on a general-purpose OS. In particular, in the multipoint audio mixing apparatus 10, by providing the addition processing 32, the circulation buffer 33, the addition processing 34, and the mixer 35 in each media processing thread 30, voice data synthesized by another media processing thread 30 is collected Synthesis in stages. As a result, the multipoint audio mixing apparatus 10 does not require a configuration for processing the audio data of the plurality of media processing threads 30 at the center, and only the audio data processing distributed to the plurality of media processing threads 30 is N × M channel It realizes the mixing process.

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

(B−1)第2の実施形態の構成
第2の実施形態の多地点音声ミキシング装置10の構成も上述の図1〜図7を用いて示すことができる。以下では、第2の実施形態の多地点音声ミキシング装置10について第1の実施形態との差異のみを説明する。
(B-1) Configuration of Second Embodiment The configuration of the multipoint audio mixing device 10 according to the second embodiment can also be shown using FIGS. 1 to 7 described above. Hereinafter, only differences from the first embodiment will be described with respect to the multipoint audio mixing device 10 of the second 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 the 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 overtake the position of the write position pointer WP and process invalid data in time series. Therefore, in the second embodiment, processing is performed to absorb the operation timing difference between the media processing threads 30 due to the disorder of the start cycle.

具体的には、第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, for the media processing threads 30 other than one or more media processing threads 30-(m) serving as an arbitrary reference, a predetermined number of media processing threads 30-(m) After writing is performed on the buffer side 331 (in this embodiment, as an example, after data writing to the buffer side 331-2), the reading process is started. Furthermore, in the second embodiment, the reading position pointer RP of the media processing thread 30 is written at the reading timing of the audio data of each media processing thread 30 (timing of reading from the circulation buffer 33 of another media processing thread 30). A processing configuration for preventing 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 of Second Embodiment Next, the operation (the audio processing method of the embodiment) of the multipoint audio mixing device 10 of the second embodiment having the configuration as described above will be described.

図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 shown in FIG. 9, the number of buffer faces 331 constituting the media processing thread 30 is illustrated as being eight (ie, 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に属するものである。   In FIG. 9A, the cycle processing timing of the media processing thread 30- (m), the write timing of the circular buffer 33-m, the change timing of the write position pointer WP (m), and the pointer value are illustrated. 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 change timing of the reading position pointer RP (m-1), and the pointer value Is illustrated. Further, in FIG. 9C, the cycle processing timing of the media processing thread 30- (m + 1), the reading timing of the circular buffer 33- (m + 1), and the change timing and pointer value of the reading position pointer RP (m + 1) are illustrated. There is. The write position pointer WP shown in FIG. 9A is a pointer that belongs to the media processing thread 30- (m). Further, the read position pointer RP (m-1) shown in FIG. 9 (b) and the read position pointer RP (m + 1) shown in FIG. 9 (c) 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 transfer from the media processing thread 30- (m) to the media processing thread 30- (m-1) and data from the media processing thread 30- (m) to the media processing thread 30- (m + 1) Although the transfer is described, the same applies to 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. So I will omit the detailed explanation.

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

メディア処理スレッド30−(m−1)は、メディア処理スレッド30−mと同様に10msごとに周期起動し、起動周期の乱れが発生しなかったとする。すると、メディア処理スレッド30−(m−1)では、10msごとに循環バッファ33−mからの読込み契機が発生する。   It is assumed that the media processing thread 30- (m-1) periodically starts every 10 ms as in the case of the media processing thread 30-m, and that the start 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分の音声データ(リニア音声データ)を読込んでいくことになる。   Further, in this embodiment, the media processing thread 30 other than the media processing thread 30-m starts reading processing after writing data to the buffer surface 331-2 of the media processing thread 30-m. Therefore, the media processing thread 30- (m-1) starts reading processing after writing data 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 voice data (linear voice data) for 10 ms to the buffer surface 331-2, reading of the media processing thread 30- (m-1) is performed. When a trigger occurs, this becomes the first read trigger. At this time, the media processing thread 30-m sets the read position pointer RP (m-1) to 1, and reads 10 ms worth of audio data (linear audio data) from the buffer surface 331-1. The media processing thread 30-m increments the read position pointer RP (m−1) at the next read opportunity and reads 10 ms worth of audio data (linear audio data) from the corresponding buffer surface 331. 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, the writing position pointer WP of the media processing thread 30-m is used at the first reading timing (the reading timing of the media processing thread 30-m) when the reading position pointer RP (m-1) is 5. The value of m) is 5. Therefore, at this point in time, in the media processing thread 30-m, the latest audio data is written to the buffer surface 331-5, and no audio data has been written to the buffer surface 331-6. Therefore, the media processing thread 30- (m-1) reads the audio data of the buffer side 331-5 with the reading position pointer RP (m-1) as the previous value holding (without incrementing) at this reading opportunity. I will In this case, since the media processing thread 30- (m-1) reads the audio data of the buffer side 331-5 twice in succession, the audio continuity is lost for a moment at this trigger, but the subsequent audio Can maintain continuity.

メディア処理スレッド30−(m−1)では、音声データを2回連続で読込む代わりに、デコーダでのパケットロス補償と同様の処理を実行することにより、過去音声より疑似人工音声(ダミー用音声)を生成してもよい。そうすれば、この契機においても音声の連続性を保つことが出来る。そして、読込み位置ポインタRP(m−1)がバッファ面数と同じ8となった次の読込み契機では、読込み位置ポインタRP(m−1)を1に設定し、メディア処理スレッド30−mのバッファ面331−1から10ms分の音声データ(リニア音声データ)を読込む。   In the media processing thread 30- (m-1), instead of reading voice data twice in a row, pseudo artificial voice (voice for dummy) is generated from past voice by executing the same process as packet loss compensation in the decoder. ) May be generated. Then, the continuity of voice can be maintained even at this moment. Then, at the next read timing when the read position pointer RP (m-1) becomes 8 equal to the number of buffer faces, the read position pointer RP (m-1) is set to 1 and the buffer of the media processing thread 30-m Audio data (linear audio 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 achieved 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 device 10 according to the second embodiment, the reading process of another media processing thread 30 is started after the data processing to the plurality of buffer planes 331 is performed by the media processing thread 30 serving as an arbitrary reference. ing. Further, in the multipoint audio mixing apparatus 10 of the second embodiment, the read position pointer RP is the write position pointer WP (read timing pointer) at the reading timing of the media processing thread 30 (timing of reading the audio data from the other media processing thread 30). m) Since the processing to prevent overtaking is added, the audio continuity of the read data can be maintained.

(C)他の実施形態
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
(C) Other Embodiments The present invention is not limited to the above 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 processing for preventing the reading position pointer RP from overtaking the writing position pointer WP (m) has been described. However, the difference in the number of buffer faces between the write position pointer WP (m) and the read position pointer RP results in a transmission delay of buffer face number difference × activation cycle, and it is not desirable that this transmission delay becomes too large. Therefore, in each media processing thread 30, delay recovery processing of transmission delay may be performed. For example, each media processing thread 30 increments the read position pointer RP by 2 when "write position pointer WP (m)-read position pointer RP X X" (for example, X = 4). It is also possible to carry out the delay recovery processing of the transmission delay by carrying out the data reading. Furthermore, each media processing thread 30 increments the read position pointer RP by two only in a silent section where there is no audio data when "write position pointer WP (m)-read position pointer RP X X" is satisfied. It is good.

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

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 ... Communications 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, 32-1 to 32-M: addition process 33, 33-1 to 33-M: circular buffer 34, 34-1 to 34-M: addition process 34, 35, 35-1 35-M: mixer, 36, 36-1_1 to 36-M_N: voice transmission processing, 361: encoder, 362: RTP transmission, 331, 331-1 to 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 (7)

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

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0828776B2 (en) * 1988-09-29 1996-03-21 株式会社日立製作所 Conference call control method
JP3553828B2 (en) * 1999-08-18 2004-08-11 日本電信電話株式会社 Voice storage and playback method and voice storage and playback device
JP2003023499A (en) * 2001-07-10 2003-01-24 Matsushita Electric Ind Co Ltd Conference server device and conference system
EP2239931A4 (en) * 2008-02-04 2012-01-11 Nec Corp Voice mixing device and method, and multipoint conference server
JP5210788B2 (en) * 2008-10-03 2013-06-12 日本システムウエア株式会社 Speech signal communication system, speech synthesizer, speech synthesis processing method, speech synthesis processing program, and recording medium storing the program

Also Published As

Publication number Publication date
JP2016092679A (en) 2016-05-23

Similar Documents

Publication Publication Date Title
EP1708471A1 (en) System and method for audio multicast
US6744741B1 (en) System and method for maintaining a plurality of media conferences
US7869420B2 (en) Method and system for in-band signaling of multiple media streams
US8463865B2 (en) Video synchronization with distributed modules
WO2017101355A1 (en) Method and device for image processing
US20190221223A1 (en) Methods and apparatus for supporting encoding, decoding and/or transcoding of content streams in a communication system
US20060080109A1 (en) Audio decoding apparatus
US20150089367A1 (en) System and method for forwarding an application user interface
US7965660B2 (en) Conference where mixing is time controlled by a rendering device
EP2645710A1 (en) Method for monitoring terminal through ip network and mcu
US8532100B2 (en) System and method for data exchange in a heterogeneous multiprocessor system
CN108882010A (en) A kind of method and system that multi-screen plays
US20180324024A1 (en) Device, system, and method to perform real-time communication
CN113573003B (en) Audio and video real-time communication method, device and equipment based on weak network
US8355398B2 (en) Transporting real time video frames over an Ethernet network
KR101833942B1 (en) Transcoder for real-time compositing
JP6476768B2 (en) Voice processing apparatus, program and method
CN101316352A (en) Method and device for implementing multiple pictures of conference television system, video gateway and implementing method thereof
US11800017B1 (en) Encoding a subset of audio input for broadcasting conferenced communications
US20050175036A1 (en) IP image transmission apparatus
CN114974273A (en) Conference audio mixing method and device
JP2010239433A (en) Video coding apparatus, method and program
CN109150951A (en) The starting method and apparatus of android system Activity
CN111954027B (en) Streaming media data transcoding method and device, computing device and readable storage medium
CN114900507B (en) RTC audio data processing method, device, equipment and storage medium

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 Written amendment

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