JP2014067074A - 録音システム、録音プログラム及び録音方法 - Google Patents

録音システム、録音プログラム及び録音方法 Download PDF

Info

Publication number
JP2014067074A
JP2014067074A JP2012209722A JP2012209722A JP2014067074A JP 2014067074 A JP2014067074 A JP 2014067074A JP 2012209722 A JP2012209722 A JP 2012209722A JP 2012209722 A JP2012209722 A JP 2012209722A JP 2014067074 A JP2014067074 A JP 2014067074A
Authority
JP
Japan
Prior art keywords
recording
data
recording data
thread
writing
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.)
Pending
Application number
JP2012209722A
Other languages
English (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 JP2012209722A priority Critical patent/JP2014067074A/ja
Publication of JP2014067074A publication Critical patent/JP2014067074A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】メディア処理スレッドの起動周期の乱れを抑えると共に、汎用OSのタスクスケジューリングの増加に伴う負荷を軽減することができるようにする。
【解決手段】本発明は、OSとアプリケーションとの間で、OSのタスクスケジュール制御の下、アプリケーションからの録音指示に従って取得した音声データを記憶手段に保存する録音システムにおいて、所定周期で起動して、取得した音声データに基づいて録音データを生成する録音データ生成処理スレッドと、録音データ処理スレッドにより生成された録音データを一時的に保持するデータ保持手段と、データ保持手段に保持されている録音データを、所定の書込み周期で記憶手段に書き込む書込みスレッドとを備えることを特徴とする録音システムである。
【選択図】 図1

Description

本発明は、録音システム、録音プログラム及び録音方法に関し、例えば、汎用OS上で動作するメディア処理ミドルウェアによるメディアファイルの録音システム、録音プログラム及び録音方法に適用し得るものである。
例えば、メディアサーバ、通話録音装置、コールセンタ装置、音声応答装置(IVR:Interactive Voice Response)、会議サーバ(MCU:Multipoint Control Unit)等のメディア装置は、複数のユーザ間の通話や、ユーザとオペレータとの間の通話等を、ハードディスクや又は別サーバ等に録音することが求められている。
上述したようなメディア装置は、汎用OS上で動作するメディア処理ミドルウェアにおいてメディア処理スレッドが起動して、メディア処理スレッドが、RTPパケットの送受信処理や録音処理等のメディア処理を実行している。
図2は、従来のメディア装置におけるメディア処理ミドルウェアのメディア処理スレッドの処理を示す構成図である。
図2に示すように、従来のメディア装置10は、ハードウェア2と、汎用OS3と、メディア処理ミドルウェア1と、アプリケーションソフト4で構成されている。
メディア処理ミドルウェア1は、上位のアプリケーションソフト4からAPI(Application Program Interface)により制御される。API制御は、例えば、RTPパケット送受信の開始又は停止、ファイル録音の開始又は停止、ファイル再生の開始又は停止、DTMF受信の開始又は停止等である。
また、メディア処理ミドルウェア1は、例えば、ファイル再生完了、DTMF受信等を契機として上位のアプリケーションソフト4にEventを通知する。
メディア処理スレッド11−1〜11−Nは、複数のSession1〜Nが開始すると、それらSession1〜Nのメディア処理をマルチタスク処理により実行するものである。つまり、汎用OS3は、CPUの使用時間を所定時間に分割して、各メディア処理スレッド11−1〜11−Nに割り当てる実行時間を分配するタスクスケジューリングにより、各メディア処理スレッド11−1〜11−Nを制御する(特許文献1参照)。
例えば、各メディア処理スレッド11−1〜11−Nに対して割り当てる起動周期の時間を20msとすると、汎用OS3は、20msを1周期として、各メディア処理スレッド11−1〜11−Nを周期起動する。Sessionが開始されると、メディア処理スレッド11−1〜11−Nが20ms毎に周期起動する。そして、その20msの間に、メディア処理スレッド11は、メディア処理としてのRTPパケット送受信処理、ファイル録音処理、ファイル再生処理、DTMF受信処理等を実行する。
メディア処理スレッド11−1〜11−Nがファイル録音を実行するとき、汎用OS3のシステムコールによって、録音データをハードディスク5−1〜5−Nに書き込む。このとき、例えばライトバック方式を設定しておくと、CPUがハードディスクにデータを書き込む際に、CPUがメモリにデータを書き込んだ時点で、システムコールからリターンし、その後、汎用OS3が、メモリからハードディスクにデータを転送する。これにより、録音ファイルがハードディスクに保存される。
特開2006−185303号公報
しかしながら、多チャネルでファイル録音を実行すると、メモリの空き容量が少なくなっていき、汎用OSのタスクスケジューリングが増加し、ライトバック方式であっても、データ書込みのシステムコールからリターンするまでの時間が長くなることがある。
そうすると、例えばメディア処理スレッドの起動周期が20msであり、システムコールからリターンするまでの時間が3秒以上かかってしまうと、その間動作できない時間が3秒以上続いていてしまうことがある。その結果、メディア装置からユーザ端末へのRTPパケットの送信周期が大きく揺らいだり、又は、ユーザ端末からのDTMF受信の検出タイミングが遅延してしまったりするという問題が生じ得る。
そのため、多チャネルでファイル録音を実行するときでも、メディア処理スレッドの起動周期の乱れを抑えると共に、汎用OSのタスクスケジューリングの増加に伴う負荷を軽減することができる録音システム、録音プログラム及び録音方法が望まれている。
かかる課題を解決するために、第1の本発明は、OSとアプリケーションとの間で、OSのタスクスケジュール制御の下、アプリケーションからの録音指示に従って取得した音声データを記憶手段に保存する録音システムにおいて、(1)所定周期で起動して、取得した音声データに基づいて録音データを生成する録音データ生成処理スレッドと、(2)録音データ処理スレッドにより生成された録音データを一時的に保持するデータ保持手段と、(3)データ保持手段に保持されている録音データを、所定の書込み周期で記憶手段に書き込む書込みスレッドとを備えることを特徴とする録音システムである。
第2の本発明は、OSとアプリケーションとの間で、OSのタスクスケジュール制御の下、アプリケーションからの録音指示に従って取得した音声データを記憶手段に保存する録音方法において、(1)録音データ生成処理スレッドが、所定周期で起動して、取得した音声データに基づいて録音データを生成し、(2)データ保持手段が、録音データ処理スレッドにより生成された録音データを一時的に保持し、(3)書込みスレッドが、データ保持手段に保持されている録音データを、所定の書込み周期で記憶手段に書き込むことを有することを特徴とする録音方法である。
第3の本発明は、OSとアプリケーションとの間で、OSのタスクスケジュール制御の下、アプリケーションからの録音指示に従って取得した音声データを記憶手段に保存する録音プログラムにおいて、(1)所定周期で起動して、取得した音声データに基づいて録音データを生成する録音データ生成処理スレッド、(2)録音データ処理スレッドにより生成された録音データを一時的に保持するデータ保持手段、(3)データ保持手段に保持されている録音データを、所定の書込み周期で記憶手段に書き込む書込みスレッドとして機能することを特徴とする録音プログラムである。
本発明によれば、多チャネルでファイル録音を実行するときでも、メディア処理スレッドの起動周期の乱れを抑えると共に、汎用OSのタスクスケジューリングの増加に伴う負荷を軽減することができる。
実施形態のメディア装置の構成を示す構成図である。 従来のメディア装置におけるメディア処理ミドルウェアのメディア処理スレッドの処理を示す構成図である。 実施形態に係るメディア通信ネットワークの全体的な構成イメージを示す構成図である。 メディア処理ミドルウェア上に起動するメディア処理スレッドの起動周期を説明する説明図である。 実施形態に係るメディア処理ミドルウェア1で実行される録音処理を示すシーケンス図である。
(A)主たる実施形態
以下では、本発明の録音システム、録音プログラム及び録音方法の実施形態を、図面を参照しながら詳細に説明する。
(A−1)実施形態の構成
(A−1−1)全体構成
図3は、この実施形態に係るメディア通信ネットワークの全体的な構成イメージを示す構成図である。
図3において、この実施形態のメディア通信ネットワーク9は、ネットワークに接続可能な、メディア装置10、複数台の通話端末20−1〜20−Nを有して構成される。
メディア装置10は、複数の通話端末20−1〜20−Nとの間で授受するメディアデータに基づいてメディア処理を行うものである。メディア装置10は、運用システムの種類に応じて、例えば、メディアサーバ、通話録音装置、コールセンタ装置、音声応答装置(IVR)、会議サーバ(MCU)等として機能するものを適用することができる。
メディア装置10は、図3に示すように、例えば、通話端末20−1〜20−Nとの間でRTPパケットの送受信をしたり、ハードディスク等にファイル録音をしたり、ハードディスク等に録音されている音声データを通話端末20−1〜20−Nで聴かせるために再生をしたりするものである。なお、メディア装置10の機能は、上記に例示した機能に限定されるものではない。
通話端末20−1〜20−Nは、ユーザやオペレータ等が使用するものであり、ネットワークを介して、RTPパケットの送受信を行うものである。通話端末20−1〜20−Nは、例えば、VoIP端末、電話機等の電話端末、パーソナルコンピュータに搭載されてソフトウェア処理により実現される通話機能(いわゆるソフトフォン機能)、会議端末、メディア受信端末等を適用することができる。
例えば、コールセンタシステムの場合、通話端末20−1〜20−Nは、ユーザ側の端末及びオペレータ側の端末が該当し、コールセンタの規模にもよるが、通話端末20−1〜20−Nは、例えば数台〜1000台程度とすることができる。この場合、ユーザ側の通話端末20−1〜20−Nは、音声データやDTMFを含むRTPパケットを、オペレータ側の通話端末20−1〜20−Nに送信する。逆にオペレータ側の通話端末20−1〜20−Nは、ユーザ側の通話端末20−1〜20−NにRTPパケットを送信する。メディア装置10は、例えばRTPパケットをミラーリングするミラー装置(図示しない)と接続されており、ミラー装置を介して、通話端末20−1〜20−N間で授受されるRTPパケットを取得できるようにしてもよい。
また例えば、会議システムの場合、会議に参加する複数のユーザ端末が該当する。この場合、メディア装置10が会議サーバとして機能し、メディア装置10は、複数の通話端末20−1〜20−Nからのメディアデータをミキシングして、送信すべき通話端末20−1〜20−Nに会議データを送信する。
上記では、コールセンタや会議システムの場合を例示したが、これら以外のシステムにも勿論適用することができる。その場合、システム種類に応じた通話端末20−1〜20−Nを適用できる。
(A−1−2)メディア装置10の詳細な構成
図1は、この実施形態のメディア装置10の構成を示す構成図である。
図1において、この実施形態のメディア装置10は、ハードウェア2、汎用OS3、メディア処理ミドルウェア1、アプリケーションソフト4、ハードディスク5(5−1〜5−N)を有する。
メディア装置10は、マルチタスク処理が実装されたものであり、多数のRTPパケットを取り扱うメディア装置である。
ハードウェア2は、メディア装置10のハードウェア構成であり、例えば、CPU、メモリ、通信インタフェース等であり、また図1のハードディスク5は、ハードウェア2に内蔵されるHDD等の大容量記憶装置である。
ハードウェア2において、CPUは、システムバスを介してメモリに接続されており、又、システムバス及び入出力デバイス等を介してハードディスク(大容量記憶装置)5等と接続されている。
なお、図1では、多チャネルの録音ファイルがハードディスク5に保存される様子を分かり易く示すために、複数のハードディスク5−1〜5−Nがあるように示しているが、実際は1個のハードディスク5でよい。
汎用OS3は、例えば、Linux(登録商標)やWindows(登録商標)等の汎用マルチタスクOSを適用することができる。図1に示すように、汎用OS3は、カーネル31内にマルチタスク処理のスケジューリングを行うスケジューラ32を有する。
スケジューラ32は、CPUの使用時間を所定時間毎に分割して、スレッド処理ミドルウェア1のメディア処理スレッド11−1〜11−Nに割り当て管理を行うものである。メディア処理スレッド11−1〜11−Nに対して割り当てる起動周期の時間は、特に限定されないが、この実施形態では20msを1周期とする場合を例示する。
アプリケーションソフト4は、メディア装置10の機能処理を行うアプリケーションソフトウェアである。アプリケーションソフト4は、APIによりメディア処理ミドルウェア1を制御することができる。例えば、API制御としては、RTPパケットの送受信の開始又は停止、ファイル録音の開始又は停止、ファイル再生の開始又は停止、DTMF受信の開始又は停止等がある。
メディア処理ミドルウェア1は、汎用OS3とアプリケーションソフト4との間でメディア処理を行うメディア処理エンジンである。メディア処理ミドルウェア1は、上位のアプリケーションソフト4からAPI制御を受けて各種所定の処理を実行し、それぞれの処理で決められた動作を契機に、上位アプリケーションソフト4にEventを上げる。
メディア処理ミドルウェア1は、メディア処理スレッド11−1〜11−N、録音データキュー12−1〜12−N、書込みスレッド13−1〜13−Nを有する。
メディア処理スレッド11−1〜11−Nは、各種所定のメディア処理を行うものである。メディア処理スレッド11−1〜11−Nは、所定の起動周期で起動して、API制御を受けて、その周期時間でメディア処理を行う。
メディア処理スレッド11−1〜11−Nが行うメディア処理としては、例えば、メディア処理スレッド11−1〜11−Nは、RTPパケットの送受信処理、ファイル録音処理、ファイル再生処理、DTMF受信処理等がある。これらメディア処理は、自由に組み合わせて同時に処理しても良い。つまり、Session毎の複数のメディア処理スレッド11−1〜11−Nが同じ処理を同時に行うようにしてもよいし、又は、それぞれのメディア処理フレッド11−1〜11−Nが実行する処理を自由に設定するようにしてもよい。
また、この実施形態では、メディア処理のうちファイル録音処理について詳細に説明する。メディア処理スレッド11−1〜11−Nは、上位のアプリケーションソフト4からファイル録音の開始又は停止の指示を受けると、RTPパケットに含まれるRTPデータに基づいて録音データを生成し、その録音データを録音データキュー12−1〜12−Nに投入するものである。
ここで、メディア処理スレッド11−1〜11−Nは、汎用OS3の制御によりスケジューリングされた周期時間20msで周期起動し、API制御によりファイル録音の開始又は停止を受けて、制御内容に従って録音データを生成する。
メディア処理スレッド11−1〜11−Nによる録音データ(通話データ)の生成について説明する。例えば、メディア装置10に受信されたRTPパケットは図示しないバッファ(例えばジッタバッファ等)に一時的に保持される。メディア処理スレッド11−1〜11−Nは、シーケンス番号に基づいてRTPパケットの並び替えを行い、RTPフレームのタイムスタンプの順に従ってRTPデータを正しい順番に通話データ(録音データ)を形成する。
このとき、メディア処理スレッド11−1〜11−Nは、所定時間毎に、所定時間内の通話に係る録音データを生成する。例えば、上記の所定時間が10秒である場合には、メディア処理スレッド11−1〜11−Nは、10秒毎に、10秒の時間内の録音データを生成する。このメディア処理スレッド11−1〜11−Nが録音データを生成する時間は、予め設定されていても良いし、又はAPI制御により任意に設定されるようにしても良いし、又はsession毎に異なる時間としても良い。
録音データキュー12−1〜12−Nは、メディア処理スレッド11−1〜11−Nから投入された録音データを保持するものである。録音データキュー12−1〜12−Nは、メディア処理スレッド11−1〜11−Nと書込みスレッド13−1〜13−Nとの間で録音データを受け渡すものである。録音データキュー12−1〜12−Nが保持するデータ容量は、予め決められているものであってもよいし、又は可変であってもよい。
書込みスレッド13−1〜13−Nは、録音データキュー12−1〜12−Nに保持される、所定時間分(例えば10秒分等)の録音データを読み出してメモリへの書き込み処理を行うものである。
ここで、書込みスレッド13−1〜13−N、メディア処理スレッド11−1〜11−Nから録音データの生成及び投入に係るシグナル受信時又はRTPパケットの受信時等を契機として起動し、録音データキュー12−1〜12−Nに保持される、所定時間分の録音データを読み出して書き込みを行う。
つまり、書込みスレッド13−1〜13−Nは、所定時間分のまとまった録音データの書き込みを行い、かつ、その書き込み周期がメディア処理スレッド11−1〜11−Nの起動周期時間よりも大きくなるため、録音データの書き込み頻度が従来よりも少なくなる。
例えば、メディア処理スレッド11−1〜11−Nの起動周期時間が20msであり、書込みスレッド13−1〜13−Nの録音データの書込み周期が10秒毎であるとすると、書込みスレッド13−1〜13−Nの起動頻度は、メディア処理スレッド11−1〜11−Nの起動頻度の1/500となる。
これにより、メディア処理スレッド11−1〜11−Nの起動周期の乱れを回避できるため、メディア処理スレッド11−1〜11−Nを周期時間で起動させることができる。つまり、従来のようにシステムコールからリターンまでに時間がかかっていたために、メディア処理スレッドを起動させることができず、滞っていたRTPパケットの送信処理やDTMF受信の検出処理を行うことができる。その結果、RTPパケットの送信周期の揺らぎやDTMF受信の検出タイミングの遅延等を小さくすることができる。
また、録音データの書き込み頻度が従来よりも少なくなるため、汎用OS3のタスクスケジューリングの増加を軽減でき、汎用OS3の負荷を軽減することができる。
なお、書込みスレッド13−1〜13−Nは、起動時に、録音データキュー12−1〜12−Nにキューイングされている所定時間分の録音データをまとめて読み取る場合を例示したが、キューイングされている録音データを数回に分けて読み取るようにしてもよい。
(A−2)実施形態の動作
次に、この実施形態のメディア装置10における録音処理の動作を、図面を参照しながら詳細に説明する。
図4は、メディア処理ミドルウェア1上に起動するメディア処理スレッド11−1〜11−Nの起動周期を説明する説明図である。図4に示すように、汎用OS3のタイムスケジューラ32により、所定時間(例えば20ms)毎に、メディア処理スレッド11−1〜11−Nが順番に起動し、その周期内で、メディア処理スレッド11−1〜11−Nは、所定のメディア処理を実行する。
図5は、メディア処理ミドルウェア1で実行される録音処理を示すシーケンス図である。
まず、メディア処理ミドルウェア1において、メディア処理スレッド11−1〜11−Nは、所定の起動周期で起動する(S101、S102)。
上位のアプリケーションソフト4からAPIによりファイル録音の開始の指示がなされると、メディア処理スレッド11−1〜11−Nは、ファイル録音を開始する(S103)。
このとき、メディア処理スレッド11−1〜11−Nは、ファイル録音の開始の指示を受けてから所定時間(例えば10秒)毎に、所定時間(例えば10秒)毎の録音データを生成し(S104)、生成した録音データを録音データキュー12−1〜12−Nに投入する(S105)。
メディア処理スレッド11−1〜11−Nは、録音データキュー12−1〜12−Nに録音データを投入すると、書込みスレッド13−1〜13−Nに起動シグナルを通知する(S106)。なお。メディア処理スレッド11−1〜11−Nは、ファイル録音の停止の指示を受けるまで、S104〜S106の処理を繰り返し行う。
書込みスレッド13−1〜13−Nは起動シグナルを受信すると起動し(S107)、書込みスレッド13−1〜13−Nは、録音データキュー12−1〜12−Nにキューイングされている所定時間分の録音データを読み出して(S108)、書込み処理を行う(S109)。
すなわち、書込みスレッド13−1〜13−Nは、汎用OS3のシステムコールにより、録音データキュー12−1〜12−Nから読み出した録音データをメモリに書き込みを行う。そして、システムコールのリターンが戻ってきてから、汎用OS3がメモリ上の録音データをハードディスク5にデータ転送する。これにより、録音ファイルがハードディスク5に保存される。
録音データキュー12−1〜12−Nに録音データが無くなると、書込みスレッド13−1〜13−NはWAIT状態となり、次の起動契機を待つ。
なお、書込み処理スレッド13−1〜13−Nは、録音データキュー12−1〜12−Nに録音データが残っている場合には、続けて、残っている録音データの書き込み処理を行うようにしても良い。また、別の方法として、所定時間経過後に、改めて、書込み処理スレッド13−1〜13−Nが書込み処理を行うようにしても良い。
また、メディア処理スレッド11−1〜11−Nは、APIによりファイル録音の停止の指示があるまで録音データの生成及び録音データキュー12−1〜12−Nへの投入を繰り返し行う。
ここで、例えば、ファイル録音の開始から停止までが25秒であり、10秒毎に録音データを形成する場合、終盤の5秒間の録音データが残ってしまう。しかし、メディア処理スレッド11−1〜11−nは、最後の5秒間について同様にして録音データを形成して録音データキュー12−1〜12−Nに投入する。
この場合、書込みスレッド13−1〜13−Nは、録音データキュー12−1〜12−Nにキューリングされる最後の5秒間の録音データを読み出して、録音ファイルに書込み、録音ファイルをクローズする。
(A−3)実施形態の効果
以上のように、この実施形態によれば、従来のようにシステムコールからのリターンに数秒以上もの時間がかかる可能性のあるファイル書込み処理を、書込みスレッドが実行するようにしたので、メディア処理スレッドの起動周期が大きく乱れないようにできる。それによって、RTPパケット送信周期の大きな揺らぎや、DTMF受信検出タイミングの遅延等の問題を回避できる。
また、この実施形態によれば、書込み処理の周期を、メディア処理スレッドの起動周期より大きくして、書込みスレッドの起動頻度を少なくしているため、従来よりも汎用OSのタスクスケジューリング増加に伴う負荷を軽減することができる。
(B)他の実施形態
上述した実施形態においても、本発明の種々の変形実施形態を説明したが、その他の変形実施形態についても本発明は適用することができる。
(B−1)上述した実施形態のメディア処理ミドルウェアにおいて、メディア処理スレッドは、それぞれのSession毎のメディア処理を行う場合を例示した。しかし、1個のメディア処理スレッドが、複数のSessionについてのメディア処理を実行するようにしてもよい。例えば、メディア処理スレッドが、複数SessionのRTPパケットの送信処理の実行と、複数Sessionのファイル録音処理を実行するようにしてもよい。つまり、メディア処理スレッドは所定周期で起動しているので、メディア処理スレッドの各周期での実行処理をスケジューリングすることにより実現することができる。
(B−2)上述した実施形態のメディア処理ミドルウェアにおいて、各メディア処理スレッドが実行するメディア処理として、RTPパケットの送受信処理、ファイル録音処理等を例示した。しかし、上述した実施形態で例示したメディア処理の種類の他に、メディア処理スレッドは、以下のようなメディア処理を実行するようにしてもよい。
例えば、メディア処理スレッドは、RTPデータの符号化方式(圧縮方式)の変換処理を行うようにしても良い。メディア処理スレッドは、RTPパケットのペイロードタイプに基づいてRTPデータの符号化方式を確認し、RTPデータを所定の圧縮方式に変換するようにしてもよい。例えば、RTPデータがITU G.711方式である場合に、G.711→G.729に変換するようにしてもよい。
なお、変換に係る符号化方式は、特に限定されるものではなく、様々な符号化方式間で行うようにしてもよい。これにより、録音データを圧縮することで、ハードディスクに保存する録音ファイルのデータ量を小さくすることができるため、大量の録音ファイルを保存することができる。また、上記のように録音データを圧縮すると録音データの音質が低下してしまい、再生時に音声が聞き取りにくい場合もあるため、圧縮方式を選択できるようにしても良い。
また例えば、メディア処理スレッドは、メディア装置が会議サーバとして機能するときに、複数の通話端末からのRTPデータ(通話データ)のミキシング処理を実行するようにしてもよい。つまり、メディア処理スレッドが、複数のSessionについてメディア処理を実行するものであり、複数のSession先からのRTPデータを加算することで実現できる。
さらに例えば、メディア処理スレッドは、メディア装置がコールセンタ装置等として機能する場合に、例えば、コールセンタの管理者(いわゆるスーパーバイザー)の端末からのモニタリング処理やウィスパリング(お客様端末には送信せず、オペレータ端末にのみ音声を送信する)処理を行うようにしてもよい。
また、メディア処理スレッドが、ファイル録音についても、複数のSessionを対象に、複数のファイル録音を実行するようにしてもよい。さらに、メディア処理スレッドが、ミキシング処理を実行した後の音声データをファイル録音するようにしても良い。
(B−3)上述した実施形態は、メディア処理スレッドと、録音データキューと、書込みスレッドとがそれぞれ対応するものであり、それぞれ同じ数ずつ備える場合を例示した。
しかし、複数のメディア処理スレッドと、1個の録音データキューと、1個の書込みスレッドとを備えるようにしてもよい。つまり、複数のメディア処理スレッドが、録音データキューを共用し、書込みスレッドが1個の録音データキューから読み出した録音データを録音ファイルの書き込むようにしてもよい。これにより、録音データキューの数が減るので、メディア装置のコストを抑えることができる。
また、例えば2個のメディア処理スレッドが、1個の録音データキュー及び書込みスレッドを備える等して、録音データキュー及び書込みスレッドの個数が、メディア処理スレッドの個数よりも少なくなるようにしてもよい。
さらに、1個のメディア処理スレッドが、複数個の録音データキュー及び書込みスレッドを備えるようにしても良い。例えば、メディア処理スレッドが、複数の録音データキューにキューイングする場合、所定の順番に従って録音データキューにキューイングし、所定の順番に従って書込み処理スレッドが書込み処理を行うようにしても良い。
10…メディア装置、1…メディア処理ミドルウェア、
11−1〜11−N…メディア処理スレッド、
12−1〜12−N…録音データキュー、
13−1〜13−N…書込みスレッド、
2…ハードウェア、3…汎用OS、4…アプリケーションソフト、
5−1〜5−N…ハードディスク。

Claims (7)

  1. OSとアプリケーションとの間で、OSのタスクスケジュール制御の下、アプリケーションからの録音指示に従って取得した音声データを記憶手段に保存する録音システムにおいて、
    所定周期で起動して、上記取得した音声データに基づいて録音データを生成する録音データ生成処理スレッドと、
    上記録音データ処理スレッドにより生成された録音データを一時的に保持するデータ保持手段と、
    上記データ保持手段に保持されている録音データを、所定の書込み周期で記憶手段に書き込む書込みスレッドと
    を備えることを特徴とする録音システム。
  2. 上記書込みスレッドの書込み周期が、上記録音データ生成処理スレッドの起動周期よりも大きいことを特徴とする録音システム。
  3. 複数の上記録音データ生成処理スレッドが、1個の上記データ保持手段及び1個の書込みスレッドと関連付けて設けられるものであることを特徴とする請求項1又は2に記載の録音システム。
  4. N個の上記録音データ生成処理スレッドが、M(N>M)個の上記データ保持手段及びM個の書込みスレッドと関連付けて設けられるものであることを特徴とする請求項1又は2に記載の録音システム。
  5. 上記録音データ生成処理スレッドが、生成する録音データの符号化形式を変換する機能を有することを特徴とする請求項1〜4のいずれかに記載の録音システム。
  6. OSとアプリケーションとの間で、OSのタスクスケジュール制御の下、アプリケーションからの録音指示に従って取得した音声データを記憶手段に保存する録音方法において、
    録音データ生成処理スレッドが、所定周期で起動して、上記取得した音声データに基づいて録音データを生成し、
    データ保持手段が、上記録音データ処理スレッドにより生成された録音データを一時的に保持し、
    書込みスレッドが、上記データ保持手段に保持されている録音データを、所定の書込み周期で記憶手段に書き込む
    ことを有することを特徴とする録音方法。
  7. OSとアプリケーションとの間で、OSのタスクスケジュール制御の下、アプリケーションからの録音指示に従って取得した音声データを記憶手段に保存する録音プログラムにおいて、
    所定周期で起動して、上記取得した音声データに基づいて録音データを生成する録音データ生成処理スレッド、
    上記録音データ処理スレッドにより生成された録音データを一時的に保持するデータ保持手段、
    上記データ保持手段に保持されている録音データを、所定の書込み周期で記憶手段に書き込む書込みスレッド
    として機能することを特徴とする録音プログラム。
JP2012209722A 2012-09-24 2012-09-24 録音システム、録音プログラム及び録音方法 Pending JP2014067074A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012209722A JP2014067074A (ja) 2012-09-24 2012-09-24 録音システム、録音プログラム及び録音方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012209722A JP2014067074A (ja) 2012-09-24 2012-09-24 録音システム、録音プログラム及び録音方法

Publications (1)

Publication Number Publication Date
JP2014067074A true JP2014067074A (ja) 2014-04-17

Family

ID=50743445

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012209722A Pending JP2014067074A (ja) 2012-09-24 2012-09-24 録音システム、録音プログラム及び録音方法

Country Status (1)

Country Link
JP (1) JP2014067074A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005316716A (ja) * 2004-04-28 2005-11-10 Matsushita Electric Ind Co Ltd データ処理プログラムおよびデータ処理装置
JP2006012150A (ja) * 2004-06-10 2006-01-12 Thomson Licensing 処理ユニットにおいてデータを処理するための方法及び装置
WO2011161774A1 (ja) * 2010-06-22 2011-12-29 富士通株式会社 マルチコアプロセッサシステム、制御プログラム、および制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005316716A (ja) * 2004-04-28 2005-11-10 Matsushita Electric Ind Co Ltd データ処理プログラムおよびデータ処理装置
JP2006012150A (ja) * 2004-06-10 2006-01-12 Thomson Licensing 処理ユニットにおいてデータを処理するための方法及び装置
WO2011161774A1 (ja) * 2010-06-22 2011-12-29 富士通株式会社 マルチコアプロセッサシステム、制御プログラム、および制御方法

Similar Documents

Publication Publication Date Title
US10581710B2 (en) Systems and methods for improved quality of a visualized call over network through scenario based buffer modulation
Jeffay et al. Kernel support for live digital audio and video
KR101397255B1 (ko) 컴퓨터 판독가능한 애플리케이션이 기록된 컴퓨터 판독가능한 매체
CN107391271A (zh) 一种基于消息队列系统的延时任务触发方法和装置
US9838544B2 (en) Systems and methods for improved quality of a call over network with load leveling and last mile signal indication
CN107592430B (zh) 一种回声消除的方法及终端设备
WO2017129130A1 (zh) 一种音频处理的方法、服务器、用户设备及系统
US20190089642A1 (en) Dual jitter buffers
CN109218649A (zh) 通话录制和获取方法及设备
WO2023165320A1 (zh) 播放参数配置方法及装置
JP2014067074A (ja) 録音システム、録音プログラム及び録音方法
JP2017152808A (ja) 通信装置、着信制御システム、着信制御方法および着信制御プログラム
EP4315819A1 (en) Method and system for integrating video content in a video conference session
Vink et al. Performance analysis of SoC architectures based on latency-rate servers
JP6205689B2 (ja) データ処理装置及びプログラム
JP2022014662A (ja) 通信制御装置、通信制御方法および通信制御プログラム
US8139743B2 (en) Method for providing enhanced audio conferencing services in a telephony system
EP3162092B1 (en) Systems and methods for improved quality of a visualized call over network
CN111459653A (zh) 集群调度方法、装置和系统以及电子设备
JP7333731B2 (ja) 通話品質情報を提供する方法および装置
JP6417652B2 (ja) 情報処理装置、情報処理システム、情報処理装置の制御方法、情報処理システムの制御方法、およびプログラム
US20210049056A1 (en) Multi-agent ring-buffer
JP2021111881A (ja) 管理装置、通信システム、およびプログラム
JP6476768B2 (ja) 音声処理装置、プログラム及び方法
JP5792138B2 (ja) メディアサーバ、処理割当・割込振分方法、処理割当方法及び割込振分方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150515

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160125

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160705