JP2004158925A - Digital data processing apparatus and digital data processing method - Google Patents

Digital data processing apparatus and digital data processing method Download PDF

Info

Publication number
JP2004158925A
JP2004158925A JP2002320263A JP2002320263A JP2004158925A JP 2004158925 A JP2004158925 A JP 2004158925A JP 2002320263 A JP2002320263 A JP 2002320263A JP 2002320263 A JP2002320263 A JP 2002320263A JP 2004158925 A JP2004158925 A JP 2004158925A
Authority
JP
Japan
Prior art keywords
data
unit
digital data
speed
conversion
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
JP2002320263A
Other languages
Japanese (ja)
Inventor
Toru Terada
徹 寺田
Koji Yoshida
幸司 吉田
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002320263A priority Critical patent/JP2004158925A/en
Publication of JP2004158925A publication Critical patent/JP2004158925A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Communication Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a digital data processing apparatus capable of decreasing the apparatus scale and the manufacture cost and to provide a digital data processing method. <P>SOLUTION: A data input section 102 obtains PCM data with a prescribed length from a data supply unit and outputs the data to a speed adjustment section 112. Further, the data input section 102 obtains the PCM data whose input data speed is adjusted from the speed adjustment section 112 and gives and stores the data to a buffer 104. The speed adjustment section 112 adjusts the input data speed of the PCM data in the data input section 102 and outputs the adjusted PCM data to the data input section 102. The buffer 104 stores the PCM data stored by the data input section 102. A data output section 106 reads the PCM data with a prescribed length stored in the buffer 104 and outputs the data to a digital / analog conversion section as an output from the buffer 104. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、ディジタルデータ処理装置およびディジタルデータ処理方法に関する。
【0002】
【従来の技術】
VoIP(Voice over Internet Protocol)は、IP(Internet Protocol)に基づく電話通信システムとして、ネットワークのブロードバンド化およびメディアの符号化技術の発展を背景に普及してきた。VoIPにおいて用いられる端末装置(以下、「VoIP端末装置」と言う)によって音声データに対して行われる主な処理は、音声データのA/D(Analog to Digital)変換処理、D/A(Digital to Analog)変換処理、音声データの圧縮符号化処理、符号化データのパケット化処理およびこれらの処理の時間制御処理である。
【0003】
VoIP端末装置はPC(Personal Computer)を用いることによって実現されることが多い。PCを用いて実現されるVoIP端末装置において、PC内部のCPU(Central Processing Unit)が音声データの圧縮符号化処理および符号化データのパケット化処理を行い、かつ、サウンド機能部(たとえば、サウンドカード)がデータのA/D変換処理およびD/A変換処理を行う。そして、CPUおよびサウンド機能部の間のディジタルデータの授受は一般にバッファを介して行われる。ここで、サウンド機能部の一例であるサウンドカードには、CPUのクロック信号と互いに独立のクロック信号の周波数に基づいて動作するものがある。ところが、これら2つのクロック信号の周波数が同一に設定されていても、各クロック信号の生成に用いられる水晶発振子の精度および経時変化だけでなく周辺温度の影響に依ってこれら2つのクロック信号の間に周波数差が発生し得る。周波数差が発生すると、バッファへのデータの入力データ速度およびバッファからのデータの出力データ速度の間にも差が生じる。これは、バッファのオーバーフローおよびアンダーフローを引き起し正常なデータ再生を妨げる原因となる。そのため、バッファのオーバーフローおよびアンダーフローを防止しながらディジタルデータを入出力できる技術が求められている。
【0004】
バッファのオーバーフローおよびアンダーフローを防止しながらディジタルデータを入出力できる従来のディジタルデータ処理装置は、バッファの前段および後段においてそれぞれ用いられる2つのクロック信号の周波数差を検出し、検出した周波数差に基づいて、バッファへデータを入力する部分のクロック信号の周波数を変更している(たとえば、特許文献1参照)。このようなディジタルデータ処理装置について、図11を参照して説明する。
【0005】
図11は、従来のディジタルデータ処理装置の構成の一例を示すブロック図である。図11に示すディジタルデータ処理装置1100は、CD−ROMドライブ1102、インタフェース1104、インタフェース制御回路1106、クロック生成回路1108、クロックカウンタ1110、同期パターン抜き取り回路1112、比較回路1114、切換信号生成回路1116およびバッファRAM1118を具備している。
【0006】
図11に示すディジタルデータ処理装置1100が音声データを再生する時、CD−ROMドライブ1102は、基準クロック信号CK−dの周波数に基づくデータ速度(入力データ速度)でディジタル音声データをたとえばSCSI(Small Computer System Interface)バスのようなインタフェース1104を介してインタフェース制御回路1106および同期パターン抜き取り回路1112へ出力する。そして、同期パターン抜き取り回路1112は、CD−ROMドライブ1102から得られたディジタル音声データに付加されている同期パターンを検出し、検出する度にタイミングパルスを比較回路1114へ出力する。
【0007】
クロック生成回路1108は、後述の切換信号に基づいて周波数が可変である基準クロック信号CK−aをインタフェース制御回路1106、クロックカウンタ1110およびサウンド機能部(図示せず)へ出力する。クロックカウンタ1110は、基準クロック信号CK−aの周波数に基づいてタイミングパルスを比較回路1114へ出力する。比較回路1114は、クロックカウンタ1110および同期パターン抜き取り回路1112からそれぞれ得られた2つのタイミングパルスの時間差に対応する比較信号を切換信号生成回路1116へ出力する。切換信号生成回路1116は、比較信号に基づいて基準クロック信号CK−aの周波数を切り換えさせる切換信号をクロック生成回路1108へ出力する。インタフェース制御回路1106は、基準クロック信号CK−dの周波数に基づく速度でCD−ROMドライブ1102から受け取ったディジタル音声データをクロック生成回路1108から得られた基準クロック信号CK−aの周波数に基づく速度でバッファRAM1118へ出力する。バッファRAM1118は、インタフェース制御回路1106から得られたディジタル音声データを一時的に格納する。サウンド機能部は、バッファRAM1118の後段に配置されており、格納されたディジタル音声データを基準クロック信号CK−aの周波数に基づくデータ速度(出力データ速度)で順次読み出して、アナログ音声データに変換する。
【0008】
このようにして、従来のディジタルデータ処理装置1100は、基準クロック信号CK−a、CK−dの間に周波数差が発生した時に基準クロック信号CK−aの周波数を変更して基準クロック信号CK−a、CK−dの周波数を同一にすることによって、バッファRAM1118におけるオーバーフローおよびアンダーフローを防止して正常な音声データ再生を実現している。
【0009】
【特許文献1】
特開平5−6234号公報(第5−6頁)
【0010】
【発明が解決しようとする課題】
しかしながら、従来のディジタルデータ処理装置1100は、周波数が可変である基準クロック信号CK−aを生成できるクロック生成回路1108を具備していなければならないとともに、基準クロック信号CK−aの周波数を変更するためにクロックカウンタ1110、同期パターン抜き取り回路1112、比較回路1114および切換信号生成回路1116をさらに具備していなければならないため、装置規模が増大するとともに製造コストが増大するという問題がある。
【0011】
本発明は、かかる点に鑑みてなされたものであり、装置規模および製造コストを削減することができるディジタルデータ処理装置およびディジタルデータ処理方法を提供することを目的とする。
【0012】
【課題を解決するための手段】
本発明のディジタルデータ処理装置は、ディジタルデータを一時的に蓄積する蓄積手段と、第1クロック信号の周波数に基づいて前記蓄積手段に前記ディジタルデータを入力するデータ入力手段と、第2クロック信号の周波数に基づいて前記蓄積手段から前記ディジタルデータを出力するデータ出力手段と、前記データ入力手段における入力データ速度または前記データ出力データ速度における出力データ速度を調整する速度調整手段と、を有する構成を採る。
【0013】
この構成によれば、第1クロック信号の周波数に基づいてディジタルデータを一時的に蓄積する蓄積手段にディジタルデータを入力する時の入力データ速度または第2クロック信号の周波数に基づいて蓄積手段からディジタルデータを出力する時の出力データ速度を調整するため、第1クロック信号または第2クロック信号の周波数を変更する回路を用いることなく蓄積手段のオーバーフローおよびアンダーフローを防止できるから、装置規模および製造コストを削減することができる。
【0014】
本発明のディジタルデータ処理装置は、上記構成において、前記速度調整手段が、前記入力データ速度および前記出力データ速度の速度差を検出する速度差検出手段と、前記速度差検出手段によって検出された前記速度差に基づいて線形的な補間処理または間引き処理によって前記ディジタルデータの長さを変換するデータ変換手段と、を有する構成を採る。
【0015】
この構成によれば、上記効果に加えて、入力データ速度および出力データ速度の速度差を検出し、検出された速度差に基づいて線形的な補間処理または間引き処理によってディジタルデータの長さを変換するため、ディジタルデータが音声を表すPCM(Pulse Code Modulation)データである場合、ディジタルデータに対応するアナログ音声データの波形におけるディジタルデータの長さの変換に起因する変化を抑制することができ、ディジタルデータに与えられる聴覚的な影響を抑制することができる。
【0016】
本発明のディジタルデータ処理装置は、上記構成において、前記データ変換手段によって変換される前記ディジタルデータの変換単位の長さを調整する変換単位調整手段をさらに有する構成を採る。
【0017】
この構成によれば、上記効果に加えて、ディジタルデータの変換単位の長さを調整するため、変換単位に対応するディジタルデータの長さを調整することができるから、ディジタルデータが音声を表すPCMデータである場合、変換単位の長さが調整によって拡大されている時にディジタルデータに対応するアナログ音声データの波形におけるディジタルデータの長さの変換に起因する変化を低減することができ、ディジタルデータに与えられる聴覚的な影響を低減することができ、かつ、変換単位の長さが調整によって縮小されている時にディジタルデータの長さを変換する際の演算処理量を削減することができ、ディジタルデータの長さの変換を迅速に行うことができる。
【0018】
本発明のディジタルデータ処理装置は、上記構成において、前記速度調整手段が、前記速度差検出手段によって前記速度差が検出される検出頻度を測定する検出頻度測定手段をさらに有し、前記変換単位調整手段が、前記検出頻度測定手段によって測定された前記検出頻度に基づいて前記変換単位の長さの調整を行う構成を採る。
【0019】
この構成によれば、上記効果に加えて、速度差が検出される検出頻度を測定して、測定された検出頻度に基づいて変換単位の長さの調整を行うため、検出頻度に基づいて変換単位に対応するディジタルデータの長さを調整することができるから、ディジタルデータが音声を表すPCMデータである場合、測定された検出頻度が低下した時に変換単位の長さを調整によって拡大することができてディジタルデータに対応するアナログ音声データの波形におけるディジタルデータの長さの変換に起因する変化を低減することができ、ディジタルデータに与えられる聴覚的な影響を低減することができ、かつ、測定された検出頻度が高くなった時に変換単位の長さを調整によって縮小することができてディジタルデータの長さを変換する際の演算処理量を削減することができるから、ディジタルデータの長さの変換を迅速に行うことができる。
【0020】
本発明のディジタルデータ処理装置は、上記構成において、前記ディジタルデータが複数の振幅を示し、前記速度調整手段が、前記ディジタルデータに含まれる前記複数の振幅に基づいて前記ディジタルデータの長さを変換するか否かを判定して判定結果を生成する判定手段をさらに有し、前記データ変換手段が、前記判定手段によって生成された前記判定結果に基づいて前記ディジタルデータの長さの変換を行う構成を採る。
【0021】
この構成によれば、上記効果に加えて、ディジタルデータの振幅に基づいてディジタルデータの長さを変換するか否かを判定して生成された判定結果に基づいてディジタルデータの長さを変換するため、たとえば、それら複数の振幅の絶対値の合計値またはそれら複数の振幅の差分の絶対値の合計値が小さい時のみディジタルデータの長さを変換することができるから、聴覚的な影響が大きい変換を回避することができてディジタルデータに与えられる聴覚的な影響を低減することができる。
【0022】
本発明のディジタルデータ処理方法は、ディジタルデータを蓄積手段に一時的に蓄積する蓄積ステップと、第1クロック信号の周波数に基づいて前記蓄積手段に前記ディジタルデータを入力するデータ入力ステップと、第2クロック信号の周波数に基づいて前記蓄積手段から前記ディジタルデータを出力するデータ出力ステップと、前記データ入力ステップにおける入力データ速度または前記データ出力ステップにおける出力データ速度を調整する速度調整ステップと、を有するようにした。
【0023】
この方法によれば、ディジタルデータ処理方法は、第1クロック信号の周波数に基づいてディジタルデータを蓄積手段に一時的に蓄積する蓄積手段にディジタルデータを入力する時の入力データ速度または第2クロック信号に基づいて蓄積手段からディジタルデータを出力する時の出力データ速度を調整するため、第1クロック信号または第2クロック信号の周波数を変更する回路を用いることなく蓄積手段のオーバーフローおよびアンダーフローを防止できるから、装置規模および製造コストを削減することができる。
【0024】
【発明の実施の形態】
本発明の骨子は、ディジタルデータを一時的に蓄積する蓄積手段にディジタルデータを入力する時の入力データ速度または蓄積手段からディジタルデータを出力する時の出力データ速度を調整することである。
【0025】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【0026】
なお、以下の実施の形態に係るディジタルデータ処理装置の構成を示す全てのブロック図において、太い実線の矢印はPCM(Pulse Code Modulation)データの流れを、細い実線の矢印はクロック信号および各種制御信号の流れをそれぞれ表す。また、以下の実施の形態に係るディジタルデータ処理装置は、音声データの伝送において用いられるディジタルフォーマットの1つであるPCMデータに適用されているが、処理対象のディジタルデータはPCMデータに限定されない。以下の実施の形態に係るディジタルデータ処理装置は、PCMデータと同様に、所定数のビットを用いて1つの振幅の値をそれぞれ示す複数のサンプルを有しこれら複数のサンプルを用いて振幅の経時的な変化を表すディジタルデータに適用できる。
【0027】
(実施の形態1)
図1は、本発明の実施の形態1に係るディジタルデータ処理装置の構成を示すブロック図である。
【0028】
図1に示すディジタルデータ処理装置100は、データ入力部102、バッファ104、データ出力部106、クロック信号I生成部108、クロック信号O生成部110および速度調整部112を具備している。
【0029】
データ入力部102の入力端子は、PCMデータを供給する部分(図示せず)に接続されている。なお、PCMデータを供給する装置(以下「データ供給装置」と言う)の例としては、符号化されたデータを復号化してPCMデータを生成する装置およびPCMデータ記録媒体のドライブ装置などが挙げられる。データ入力部102の入力端子は、クロック信号I生成部108および速度調整部112に接続されている。速度調整部112の入力端子は、データ入力部102およびクロック信号I生成部108に接続されている。バッファ104の入力端子は、データ入力部102に接続されている。データ出力部106の入力端子は、バッファ104およびクロック信号O生成部110に接続されている。データ出力部106の出力端子は、D/A変換部(図示せず)に接続されている。
【0030】
クロック信号I生成部108は、バッファ104の前段に配置された各部分(ディジタルデータ処理装置100の場合、データ入力部102および速度調整部112)の動作の基準となるクロック信号Iを生成して、生成されたクロック信号Iをデータ入力部102および速度調整部112へ出力する。
【0031】
クロック信号O生成部110は、バッファ104の後段に配置された各部分(ディジタルデータ処理装置100の場合、データ出力部106)の動作の基準となるクロック信号Oを生成して、生成されたクロック信号Oをデータ出力部106へ出力する。
【0032】
なお、クロック信号I生成部108によって生成されるクロック信号Iおよびクロック信号O生成部110によって生成されるクロック信号Oの周波数は同一に設定されているが、クロック信号I生成部108およびクロック信号O生成部110においてそれぞれ用いられる水晶発振子の精度および経時変化だけでなく周辺温度の影響に依ってクロック信号Iおよびクロック信号Oの間に周波数差が発生することがある。周波数差が発生すると、バッファ104へのPCMデータの入力データ速度(すなわち、データ入力部102がPCMデータをバッファ104への入力としてバッファ104に記憶する時のデータ速度)およびバッファ104からのPCMデータの出力データ速度(すなわち、データ出力部106がPCMデータをバッファ104からの出力としてD/A変換部へ出力する時のデータ速度)の間にも差が生じる。これは、バッファ104のオーバーフローおよびアンダーフローを引き起し正常なデータ再生を妨げる原因となる。本実施の形態に係るディジタルデータ処理装置100においては、後で詳述する速度調整部112がこの課題を解決してバッファ104のオーバーフローおよびアンダーフローを防止することができる。
【0033】
データ入力部102は、クロック信号I生成部108によって生成されたクロック信号Iの周波数に基づいて動作する。データ入力部102は、データ供給装置から所定の長さを有するPCMデータを得る。そして、データ入力部102は、データ供給装置から得られたPCMデータを速度調整部112へ出力する。さらに、データ入力部102は、速度調整部112から入力データ速度が調整されたPCMデータを得る。そして、速度調整部112から得られたPCMデータをバッファ104への入力としてバッファ104に記憶する。
【0034】
ここで、データ入力部102はクロック信号Iの周波数に基づいて動作するから、速度調整部112によって長さが延長されたPCMデータが一度の記憶処理によって記憶される時に入力データ速度は速くなり、速度調整部112によって長さが短縮されたPCMデータが一度の記憶処理によって記憶される時に入力データ速度は遅くなる。
【0035】
速度調整部112は、クロック信号I生成部108によって生成されたクロック信号Iの周波数に基づいて動作する。速度調整部112は、データ入力部102から得られたPCMデータの長さを変換することによってデータ入力部102における入力データ速度を調整する。速度調整部112は、入力データ速度が調整されたPCMデータをデータ入力部102へ出力する。
【0036】
データ速度の具体的な調整動作の一例としては、入力データ速度が出力データ速度より速い時に、入力データ速度が遅くなるように調整する。一方、入力データ速度が出力データ速度より遅い時に、入力データ速度が速くなるように調整する。このように、入力データ速度および出力データ速度の間に速度差が発生した時でも入力データ速度および出力データ速度が等しくなるように調整を行うことができるから、バッファ104のオーバーフローおよびアンダーフローを防止することができる。
【0037】
バッファ104は、データ入力部102によって記憶されたPCMデータを一時的に(すなわち、データ入力部102によって記憶された時からデータ出力部106によって読み出される時まで)蓄積する。
【0038】
データ出力部106は、クロック信号O生成部110によって生成されたクロック信号Oの周波数に基づいて動作する。データ出力部106は、バッファ104によって蓄積されている所定の長さのPCMデータを読み出す。そして、データ出力部106は、読み出されたPCMデータをバッファ104からの出力としてD/A変換部へ出力する。なお、D/A変換部は、PCMデータを変換してアナログ音声データを生成する機能を有する。
【0039】
ここで、図1に示すディジタルデータ処理装置100をVoIP端末装置に適用した例について説明する。図2は、ディジタルデータ処理装置100を具備するVoIP端末装置の構成の一例を示すブロック図である。
【0040】
図2に示すVoIP端末装置200は、ディジタルデータ処理装置100、通信部202、パケット解析部204、復号化部206、D/A変換部208および音声出力部210を具備している。
【0041】
通信部202は、クロック信号I生成部108によって生成されたクロック信号Iの周波数基づいて動作する。通信部202は、通信媒体[たとえば、LAN(Local Area Network)]からパケットデータを受信する。通信部202は、受信されたパケットデータをパケット解析部204へ出力する。
【0042】
パケット解析部204は、クロック信号I生成部108によって生成されたクロック信号Iの周波数に基づいて動作する。パケット解析部204は、通信部202から得られたパケットデータを解析して符号化データを取り出す。パケット解析部204は、取り出された符号化データを復号化部206へ出力する。
【0043】
復号化部206は、クロック信号I生成部108によって生成されたクロック信号Iの周波数に基づいて動作する。復号化部206は、パケット解析部204から得られた符号化データを復号化してPCMデータを生成する。復号化部206は、上記のデータ供給装置としての機能を果たし、生成されたPCMデータをデータ入力部102へ出力する。
【0044】
D/A変換部208は、クロック信号O生成部110によって生成されたクロック信号Oの周波数に基づいて動作する。D/A変換部208は、データ出力部106から得られたPCMデータを変換してアナログ音声データを生成する。D/A変換部208は、生成されたアナログ音声データを音声出力部210へ出力する。
【0045】
音声出力部210は、クロック信号O生成部110によって生成されたクロック信号Oに基づいて動作する。音声出力部210は、D/A変換部208から得られたアナログ音声データを音声として出力する。
【0046】
なお、一般に、VoIP端末装置においてパケットデータの紛失または順序の入れ替わりなどがネットワークの状態に依存して発生することがある。パケットデータの紛失または順序の入れ替わりなどが発生すると、再生される音声データが影響を受ける。この影響を軽減するために、VoIP端末装置200は、パケット解析部204または復号化部206がデータの補間処理やバッファリング処理などを行う機能を有するものであっても良い。
【0047】
また、ここではVoIP端末装置200の受信処理を行う装置にディジタルデータ処理装置100を適用した例について説明したが、送信処理を行う部分に適用することも可能である。また、ディジタルデータ処理装置100の適用例は上記に限定されない。たとえば、ディジタルデータ処理装置100は、回線交換ネットワークにおいて用いられ、かつ、そのネットワークの基準クロック信号に同期する第1のクロック信号と第1のクロック信号に同期しない第2のクロック信号とがいずれも音声に関するデータをリアルタイムに扱う電話装置に適用することも可能である。
【0048】
次いで、上記構成を有するディジタルデータ処理装置100の動作について、説明する。
【0049】
まず、クロック信号I生成部108は、バッファ104の前段に配置された各部分の動作の基準となるクロック信号Iを生成して、生成されたクロック信号Iをデータ入力部102および速度調整部112へ出力する。
【0050】
また、クロック信号O生成部110は、バッファ104の後段に配置された各部分の動作の基準となるクロック信号Oを生成して、生成されたクロック信号Oをデータ出力部106へ出力する。
【0051】
そして、データ入力部102は、データ供給装置から所定の長さのPCMデータを得る。そして、データ入力部102は、データ供給装置から得られた所定の長さのPCMデータを速度調整部112へ出力する。
【0052】
そして、速度調整部112は、データ入力部102から所定の長さのPCMデータを得る。そして、速度調整部112は、得られたPCMデータの長さを変換することによってデータ入力部102における入力データ速度を調整する。そして、速度調整部112は、入力データ速度が調整されたPCMデータをデータ入力部102へ出力する。
【0053】
そして、データ入力部102は、速度調整部112によって入力データ速度が調整されたPCMデータをバッファ104への入力としてバッファ104に記憶する。バッファ104は、データ入力部102によって記憶されたPCMデータを一時的に蓄積する。データ出力部106は、バッファ104によって一時的に蓄積されている所定の長さのPCMデータを読み出す。そして、データ出力部106は、読み出された所定の長さのPCMデータをバッファ104からの出力としてD/A変換部へ出力する。
【0054】
なお、実施の形態1において、速度調整部112はデータ入力部102の外部に配置されている。換言すれば、データ入力部102は、入力データ速度を調整するために外部の速度調整部112とPCMデータの授受を行っている。しかしながら、実施の形態1に係るディジタルデータ処理装置100の構成は、これに限定されない。ディジタルデータ処理装置100の一変更例として、速度調整部112がデータ入力部102の内部に含まれても良い。この場合、入力データ速度はデータ入力部102の内部で調整される。
【0055】
また、実施の形態1において、速度調整部112はバッファ104の前段に配置され、入力データ速度を調整しているが、この構成に限定されない。ディジタルデータ処理装置のもう一つの変更例として、速度調整部112がバッファ104の後段に配置され、出力データ速度を調整しても良い。この場合、データ入力部102は、データ供給装置から得られた所定の長さのPCMデータをバッファ104への入力としてバッファ104に記憶する。そして、データ出力部106は、バッファ104によって一時的に蓄積された所定の長さのPCMデータを読み出して、読み出された所定の長さのPCMデータを速度調整部112へ出力する。そして、速度調整部112は、データ出力部106から所定の長さのPCMデータを得る。速度調整部112は、得られたPCMデータの長さを変換することによって出力データ速度を調整して、出力データ速度が調整されたPCMデータをデータ出力部106へ出力する。データ出力部106は、速度調整部112によって出力データ速度が調整されたPCMデータを得て、得られたPCMデータをバッファ104からの出力としてD/A変換部208へ出力する。
【0056】
さらに、上述のように速度調整部112がバッファ104の後段に配置される場合、速度調整部112はデータ出力部106の内部に含まれても良い。この場合、出力データ速度はデータ出力部106の内部で調整される。
【0057】
このように、実施の形態1によれば、クロック信号Iの周波数に基づいてPCMデータをバッファ104へ入力する時の入力データ速度またはクロック信号Oの周波数に基づいてPCMデータをバッファ104から出力する時の出力データ速度を調整するため、クロック信号Iまたはクロック信号Oの周波数を変更する回路を用いることなくバッファ104のオーバーフローおよびアンダーフローを防止できるから、装置規模および製造コストを削減することができる。
【0058】
(実施の形態2)
図3は、本発明の実施の形態2に係るディジタルデータ処理装置の構成を示すブロック図である。なお、実施の形態2に係るディジタルデータ処理装置300は、実施の形態1に係るディジタルデータ処理装置100と同様の基本的構成を有しており、同一の構成要素には同一の参照符号を付し、その説明を省略する。
【0059】
図3に示すディジタルデータ処理装置300は、ディジタルデータ処理装置100の速度調整部112の代わりに速度調整部302を具備している。すなわち、ディジタルデータ処理装置300は、ディジタルデータ処理装置100と同様のデータ入力部102、バッファ104、データ出力部106、クロック信号I生成部108およびクロック信号O生成部110を具備している。速度調整部302は、データ変換部304および速度差検出部306を具備している。
【0060】
データ入力部102の入力端子は、データ供給装置(図示せず)、クロック信号I生成部108およびデータ変換部304に接続されている。バッファ104の入力端子は、データ入力部102に接続されている。データ出力部106の入力端子は、バッファ104およびクロック信号O生成部110に接続されている。データ出力部106の出力端子は、D/A変換部(図示せず)に接続されている。速度調整部302は、クロック信号I生成部108に接続されている。データ変換部304の入力端子は、データ入力部102および速度差検出部306に接続されている。速度差検出部306の入力端子は、バッファ104に接続されている。
【0061】
上述のとおり、速度調整部302の入力端子は、クロック信号I生成部108に接続されているので、速度調整部302に具備されているデータ変換部304および速度差検出部306は、クロック信号I生成部108によって生成されたクロック信号Iの周波数に基づいて動作する。
【0062】
速度差検出部306は、バッファ104へのPCMデータの入力データ速度およびバッファ104からのPCMデータの出力データ速度の速度差を検出する。具体的には、バッファ104によって蓄積されているPCMデータの蓄積量を周期的に測定する。そして、速度差検出部306は、時間の経過とともに蓄積量が増加してその増加量が所定の値を超えた時、入力データ速度が出力データ速度より速い状態であることを検出する。そして、速度差検出部306は、入力データ速度が出力データ速度より速い状態であることを示す速度差検出信号を生成してデータ変換部304へ出力する。また、速度差検出部306は、時間の経過とともに蓄積量が減少してその減少量が所定の値を超えた時、入力データ速度が出力データ速度より遅い状態であることを検出する。そして、速度差検出部306は、入力データ速度が出力データ速度より遅い状態であることを示す速度差検出信号を生成してデータ変換部304へ出力する。
【0063】
なお、速度差検出部306は、上記の構成に限定されない。たとえば、速度差検出部306は、クロック信号I生成部108によって生成されるクロック信号Iおよびクロック信号O生成部110によって生成されるクロック信号Oのタイミングのずれを検出する構成を採っても良い。この場合、速度差検出部306の入力端子は、バッファ104の代わりにクロック信号O生成部110に接続される。
【0064】
データ変換部304は、データ入力部102から所定の長さのPCMデータを得る。データ変換部304は、速度差検出部306から得られた速度差検出信号に基づいてPCMデータの長さ(サイズ)を変換する。より具体的には、データ変換部304は、速度差検出部306から速度差検出信号を得た時に、データ入力部102から得られたPCMデータの長さを変換する。速度差検出部306から得られた速度差検出信号が入力データ速度が出力データ速度より遅い状態であることを示している場合、データ変換部304は、データ入力部102から得られたPCMデータの長さを線形的な補間処理によって変換する。速度差検出部306から得られた速度差検出信号が入力データ速度が出力データ速度より速い状態であることを示している場合、データ変換部304は、データ入力部102から得られたPCMデータの長さを線形的な間引き処理によって変換する。そして、データ変換部304は、変換されたPCMデータをデータ入力部102へ出力する。一方、データ変換部304は、速度差検出部306から速度差検出信号を得なかった時に、データ入力部102から得られたPCMデータの長さを変換せずにPCMデータをデータ入力部102へ出力する。
【0065】
ここで、データ変換部304によって行われるPCMデータの具体的な変換動作について説明する。
【0066】
図4は、データ変換部304によって行われる線形的な補間処理を説明するための図である。
【0067】
データ変換部304は、入力データ速度が出力データ速度より遅い状態であることを示す速度差検出信号を得た時、複数[たとえば、N個(Nは3以上の整数)]のサンプルから成るPCMデータの長さを1つの処理単位として補間処理によって変換する。
【0068】
具体的には、補間処理において、データ変換部304は、図4に示すとおり、N個のサンプルから成るPCMデータをN+1個のサンプルから成るPCMデータに変換する。この時、データ変換部304は、以下の(式1)を用いる。
【数1】

Figure 2004158925
ここで、(式1)において、A[k]はN個のサンプルにおけるk番目(サンプル番号k)のサンプルの補間処理前の振幅を表し、Aadd[k]はN+1個のサンプルにおけるk番目(サンプル番号k)のサンプルの補間処理後の振幅を表す。
【0069】
上記のような線形的な補間処理を行うことによってPCMデータの長さが延長されると、データ入力部102によってバッファ104に一度に記憶されるPCMデータのサンプル数がN個からN+1個に増加するため、バッファ104へのPCMデータの入力データ速度が速くなる。一方、データ出力部106は一度にN個のサンプルのPCMデータをバッファ104から読み出す。したがって、バッファ104によって蓄積されるPCMデータの蓄積量の減少を抑制することができるから、バッファ104のアンダーフローを防止することができる。
【0070】
図5は、データ変換部304によって行われる間引き処理を説明するための図である。
【0071】
データ変換部304は、入力データ速度が出力データ速度より速い状態であることを示す速度差検出信号を得た時、N個のサンプルから成るPCMデータの長さを1つの処理単位として間引き処理によって変換する。
【0072】
具体的には、間引き処理において、データ変換部304は、図5に示すとおり、N個のサンプルから成るPCMデータをN−1個のサンプルから成るPCMデータに変換する。この時、データ変換部304は、以下の(式2)を用いる。
【数2】
Figure 2004158925
ここで、(式2)において、A[k]はN個のサンプルにおけるk番目(サンプル番号k)のサンプルの間引き処理前の振幅を表し、Adel[k]はN−1個のサンプルにおけるk番目(サンプル番号k)のサンプルの間引き処理後の振幅を表す。
【0073】
上記のような線形的な間引き処理を行うことによってPCMデータの長さが短縮されると、データ入力部102によってバッファ104に一度に記憶されるPCMデータのサンプル数がN個からN−1個に減少するため、バッファ104へのPCMデータの入力データ速度が遅くなる。一方、データ出力部106は一度にN個のサンプルのPCMデータを読み出す。したがって、バッファ104によって蓄積されるPCMデータの蓄積量の増加を抑制することができるから、バッファ104のオーバーフローを防止することができる。
【0074】
このように、実施の形態2によれば、検出された入力データ速度および出力データ速度の速度差に基づいて線形的な補間処理または間引き処理によってPCMデータの長さを変換するため、クロック信号Iまたはクロック信号Oの周波数を変更する回路を用いることなくバッファ104のオーバーフローおよびアンダーフローを防止できるから、装置規模および製造コストを削減することができる。
【0075】
また、実施の形態2によれば、線形的な補間処理および間引き処理によって変換を行うため、PCMデータに対応するアナログ音声データの波形におけるPCMデータの長さの変換に起因する変化を抑制することができるから、長さの変換によってPCMデータに与えられる聴覚的な影響を抑制することができる。
【0076】
(実施の形態3)
図6は、本発明の実施の形態3に係るディジタルデータ処理装置の構成を示すブロック図である。なお、実施の形態3に係るディジタルデータ処理装置600は、実施の形態2に係るディジタルデータ処理装置300と同様の基本的構成を有しており、同一の構成要素には同一の参照符号を付し、その説明を省略する。
【0077】
図6に示すディジタルデータ処理装置600は、ディジタルデータ処理装置300の速度調整部302の代わりに速度調整部602を具備している。すなわち、ディジタルデータ処理装置600は、ディジタルデータ処理装置300と同様のデータ入力部102、バッファ104、データ出力部106、クロック信号I生成部108およびクロック信号O生成部110を具備している。速度調整部602は、ディジタルデータ処理装置300と同様の速度差検出部306を具備しており、ディジタルデータ処理装置300におけるデータ変換部304の代わりにデータ変換部604を具備しており、変換単位調整部606をさらに具備している。
【0078】
データ入力部102の入力端子は、データ供給装置(図示せず)、クロック信号I生成部108およびデータ変換部604に接続されている。バッファ104の入力端子は、データ入力部102に接続されている。データ出力部106の入力端子は、バッファ104およびクロック信号O生成部110に接続されている。データ出力部106の出力端子は、D/A変換部(図示せず)に接続されている。速度調整部602の入力端子は、クロック信号I生成部108に接続されている。速度差検出部306の入力端子は、バッファ104に接続されている。データ変換部604の入力端子は、データ入力部102および変換単位調整部606に接続されている。
【0079】
上述のとおり、速度調整部602の入力端子は、クロック信号I生成部108に接続されているので、速度調整部602に具備されている速度差検出部306、データ変換部604および変換単位調整部606は、クロック信号I生成部108によって生成されたクロック信号Iの周波数に基づいて動作する。
【0080】
データ変換部604は、データ入力部102から所定の長さのPCMデータを得る。データ変換部604は、実施の形態2におけるデータ変換部304と同様の動作で、速度差検出部306から得られた速度差検出信号に基づいて線形的な補間処理または間引き処理によってPCMデータの長さを変換する。
【0081】
変換単位調整部606は、データ変換部604が補間処理および間引き処理を行う際のPCMデータの変換単位の長さを調整する。
【0082】
具体的には、変換単位調整部606が変換単位の長さを調整して拡大する場合、変換単位に対応するPCMデータを構成するサンプルの数Nが増加する。一方、変換単位調整部606が変換単位の長さを調整して縮小する場合、変換単位に対応するPCMデータを構成するサンプルの数Nが減少する。
【0083】
このように、実施の形態3によれば、変換単位に対応するPCMデータの長さを調整することができるから、変換単位調整部606によって変換単位の長さが調整され拡大されている時にPCMデータに対応するアナログ音声データの波形におけるディジタルデータの長さの変換に起因する変化を低減することができ、PCMデータに与えられる聴覚的な影響を低減することができる。また、実施の形態3によれば、変換単位調整部606によって変換単位の長さが調整され縮小されている時にPCMデータの長さを変換する際に用いられる(式1)および(式2)の演算処理量を削減することができ、ディジタルデータの長さの変換を迅速に行うことができる。
【0084】
なお、実施の形態3において、変換単位調整部606は、データ変換部604がPCMデータの長さを変換する際の変換単位の長さを調整する構成を有しているが、このような構成に限定されない。一変更例として、変換単位調整部606は、データ入力部102からデータ変換部604へ出力されるPCMデータの長さを変更することによって変換単位の長さを調整する構成であっても良い。また、もう1つの変更例として、変換単位調整部606は、データ供給装置からデータ入力部102へ出力されるPCMデータの長さを変更することによって変換単位の長さを調整する構成であっても良い。このような構成を有するディジタルデータ処理装置600においても、変換単位調整部606によって変換単位の長さが調整され拡大されている時にPCMデータに対応するアナログ音声データの波形におけるディジタルデータの長さの変換に起因する変化を低減することができ、PCMデータに与えられる聴覚的な影響を低減することができる。また、変換単位調整部606によって変換単位の長さが調整され縮小されている時にPCMデータの長さを変換する際に用いられる(式1)および(式2)の演算処理量を削減することができ、ディジタルデータの長さの変換を迅速に行うことができる。
【0085】
(実施の形態4)
図7は、本発明の実施の形態4に係るディジタルデータ処理装置の構成を示すブロック図である。なお、実施の形態4に係るディジタルデータ処理装置700は、実施の形態2に係るディジタルデータ処理装置300と同様の基本的構成を有しており、同一の構成要素には同一の参照符号を付し、その説明を省略する。
【0086】
図7に示すディジタルデータ処理装置700は、ディジタルデータ処理装置300における速度調整部302の代わりに、速度調整部702を具備している。すなわち、ディジタルデータ処理装置700は、ディジタルデータ処理装置300と同様のデータ入力部102、バッファ104、データ出力部106、クロック信号I生成部108およびクロック信号O生成部110を具備している。速度調整部702は、ディジタルデータ処理装置300におけるデータ変換部304および速度差検出部306の代わりに実施の形態3に係るディジタルデータ処理装置600と同様のデータ変換部604を具備しており、速度差検出部704、変換単位調整部706および検出頻度測定部708をさらに具備している。
【0087】
データ入力部102の入力端子は、データ供給装置(図示せず)、クロック信号I生成部108およびデータ変換部604に接続されている。バッファ104の入力端子は、データ入力部102に接続されている。データ出力部106の入力端子は、バッファ104およびクロック信号O生成部110に接続されている。データ出力部106の出力端子は、D/A変換部(図示せず)に接続されている。速度差検出部704の入力端子は、バッファ104に接続されている。速度調整部702の入力端子は、クロック信号I生成部108に接続されている。データ変換部604の入力端子は、変換単位調整部706、速度差検出部704およびデータ入力部102に接続されている。検出頻度測定部708の入力端子は、速度差検出部704に接続されている。変換単位調整部706の入力端子は、検出頻度測定部708に接続されている。
【0088】
上述のとおり、速度調整部702の入力端子は、クロック信号I生成部108に接続されているので、速度調整部702に具備されているデータ変換部604、速度差検出部704、変換単位調整部706および検出頻度測定部708は、クロック信号I生成部108によって生成されたクロック信号Iの周波数に基づいて動作する。
【0089】
速度差検出部704は、実施の形態2における速度差検出部306と同様の動作によって、バッファ104へのPCMデータの入力データ速度およびバッファ104からのPCMデータの出力データ速度の速度差を検出する。そして、速度差検出部704は、速度差検出信号を生成してデータ変換部604および検出頻度測定部708へ出力する。
【0090】
検出頻度測定部708は、速度差検出部704から速度差検出信号を得て、速度差検出信号を得た時刻を記憶して、前回速度差検出信号を得た時刻との時間間隔を算出して、算出された時間間隔の平均値を算出して、算出された平均値の逆数を求める。たとえば、算出された時間間隔の平均値が60秒である場合、検出頻度Fは1/60となる。このようにして、検出頻度測定部708は、速度差が検出される検出頻度Fを測定する。検出頻度測定部708は、測定された検出頻度Fを変換単位調整部706へ出力する。
【0091】
なお、検出頻度測定部708は、速度差検出信号に基づいて検出頻度Fを測定しているが、これに限定されない。たとえば、検出頻度測定部708は、データ変換部604が変換を行った時刻を記憶して前回変換を行った時刻との時間間隔を算出して時間間隔の平均値を算出することによって、検出頻度Fを測定しても良い。この場合、検出頻度測定部708の入力端子は、データ変換部604に接続される。
【0092】
変換単位調整部706は、検出頻度測定部708から得られた検出頻度Fに基づいて、データ変換部604が補間処理および間引き処理を行う際のPCMデータの変換単位の長さを調整する。
【0093】
検出頻度Fに基づく変換単位の長さの具体的な調整動作は、以下のとおりである。図8は、変換単位の長さの調整動作の一例を説明するための図である。検出頻度測定部708によって測定された検出頻度Fが1/60より低い時、変換単位調整部706は、1変換単位に対応するPCMデータを構成するサンプル数Nを1音声フレームに対応するサンプル数NFRAMEに設定する。一方、測定された検出頻度Fが1/60より高い時、変換単位調整部706は、1変換単位に対応するPCMデータを構成するサンプル数Nを1音声フレームに対応するサンプル数NFRAMEの半数に設定する。ここで、音声フレームとは、データ入力部102の前段部分(たとえば、図2に示すVoIP端末装置200のパケット解析部204)が一度の処理において扱う音声データの長さである。
【0094】
なお、変換単位調整部706によって行われる変換単位の長さの調整は、上記のものに限定されない。たとえば、ディジタルデータ処理装置700は、ディジタルデータ処理装置700の利用者が変換単位の長さを指定できる機能をさらに有しても良い。この場合、利用者によって指定される変換単位および検出頻度Fに基づいて設定される変換単位の優先順位は、任意に決定されても良い。
【0095】
このように、実施の形態4によれば、検出頻度測定部708によって測定された検出頻度Fに基づいて変換単位に対応するPCMデータの長さを調整することができるから、検出頻度Fが低下した(たとえば、F≦1/60)時に変換単位調整部706が変換単位の長さを拡大することができてPCMデータに対応するアナログ音声データの波形におけるPCMデータの長さの変換に起因する変化を低減することができ、PCMデータに与えられる聴覚的な影響を低減することができる。また、実施の形態4によれば、検出頻度Fが高くなった(たとえば、F>1/60)時に変換単位調整部706が変換単位の長さを縮小することができてPCMデータの長さを変換する際に用いられる(式1)および(式2)の演算処理量を削減することができ、ディジタルデータの長さの変換を迅速に行うことができる。
【0096】
なお、実施の形態4において、変換単位調整部706は、データ変換部604がPCMデータの長さを変換する際の変換単位の長さを調整する構成を有しているが、このような構成に限定されない。一変更例として、変換単位調整部706は、データ入力部102からデータ変換部604へ出力されるPCMデータの長さを変更することによって変換単位の長さを調整する構成であっても良い。また、もう1つの変更例として、変換単位調整部706は、データ供給装置からデータ入力部102へ出力されるPCMデータの長さを変更することによって変換単位の長さを調整する構成であっても良い。このような構成を有するディジタルデータ処理装置700においても、変換単位調整部706によって変換単位の長さが調整され拡大されている時にPCMデータに対応するアナログ音声データの波形におけるディジタルデータの長さの変換に起因する変化を低減することができ、PCMデータに与えられる聴覚的な影響を低減することができる。また、変換単位調整部706によって変換単位の長さが調整され縮小されている時にPCMデータの長さを変換する際に用いられる(式1)および(式2)の演算処理量を削減することができ、ディジタルデータの長さの変換を迅速に行うことができる。
【0097】
(実施の形態5)
図9は、本発明の実施の形態5に係るディジタルデータ処理装置の構成を示すブロック図である。なお、実施の形態5に係るディジタルデータ処理装置900は、実施の形態2に係るディジタルデータ処理装置300と同様の基本的構成を有しており、同一の構成要素には同一の参照符号を付し、その説明を省略する。
【0098】
図9に示すディジタルデータ処理装置900は、ディジタルデータ処理装置300の速度調整部302の代わりに、速度調整部902を具備している。すなわち、ディジタルデータ処理装置900は、ディジタルデータ処理装置300と同様のデータ入力部102、バッファ104、データ出力部106、クロック信号I生成部108およびクロック信号O生成部110を具備している。速度調整部902は、ディジタルデータ処理装置300と同様の速度差検出部306を具備しており、ディジタルデータ処理装置300のデータ変換部304の代わりにデータ変換部904を具備しており、変換実行判定部906をさらに具備している。
【0099】
データ入力部102の入力端子は、データ供給装置(図示せず)、クロック信号I生成部108およびデータ変換部904に接続されている。バッファ104の入力端子は、データ入力部102に接続されている。データ出力部106の入力端子は、バッファ104およびクロック信号O生成部110に接続されている。データ出力部106の出力端子は、D/A変換部(図示せず)に接続されている。速度調整部902の入力端子は、クロック信号I生成部108に接続されている。速度差検出部306の入力端子は、バッファ104に接続されている。データ変換部904の入力端子は、データ入力部102、速度差検出部306および変換実行判定部906に接続されている。変換実行判定部906の入力端子は、データ変換部904に接続されている。
【0100】
上述のとおり、速度調整部902の入力端子は、クロック信号I生成部108に接続されているので、速度調整部902に具備されている速度差検出部306、データ変換部904および変換実行判定部906は、クロック信号I生成部108によって生成されたクロック信号Iの周波数に基づいて動作する。
【0101】
データ変換部904は、データ入力部102から所定の長さのPCMデータを得る。データ変換部904は、速度差検出部306から速度差検出信号を得る。データ変換部904は、実施の形態3におけるデータ変換部304と同様の動作で、速度差検出部306から得られた速度差検出信号に基づいて線形的な補間処理または間引き処理によってPCMデータの長さを変換する。
【0102】
さらに、データ変換部904は、速度差検出部306から速度差検出信号を得た時に、変換単位におけるPCMデータのN個のサンプルによってそれぞれ示される複数の振幅を変換実行判定部906へ出力する。そして、変換実行判定部906から得られた判定結果に基づいてそれらN個のサンプルから成るPCMデータの長さを変換する。具体的には、変換実行判定部906から得られた判定結果が変換を実行することを示している場合、データ変換部904は、データ入力部102から得られたPCMデータの長さを変換して、長さが変換されたPCMデータをデータ入力部102へ出力する。一方、変換実行判定部906から得られた判定結果が変換を実行しないことを示している場合、データ変換部904は、データ入力部102から得られたPCMデータの長さを変換せずにPCMデータをデータ入力部102へ出力する。
【0103】
変換実行判定部906は、データ変換部904から変換単位におけるPCMデータのN個のサンプルによって示される振幅を得る。変換実行判定部906は、得られたN個の振幅の絶対値を合計して振幅合計値を生成する。そして、変換実行判定部906は、生成された振幅合計値を所定の閾値と比較することによってデータ変換部904においてそれらN個のサンプルから成るPCMデータの長さを変換するか否かを判定する。具体的には、変換実行判定部906は、生成された振幅合計値が閾値より大きい場合、データ変換部904において変換を実行しないことを示す判定結果を生成してデータ変換部904へ出力する。一方、変換実行判定部906は、生成された振幅合計値が閾値以下である場合、データ変換部904において変換を実行することを示す判定結果を生成してデータ変換部904へ出力する。
【0104】
なお、変換実行判定部906は、N個の振幅合計値に基づいて、データ変換部904において変換を実行するか否かを判定しているが、これに限定されない。たとえば、変換実行判定部906は、変換単位におけるPCMデータのN個のサンプルによって示されるN個の振幅の二乗和を算出して、算出された二乗和に基づいて判定しても良い。
【0105】
このように、実施の形態5によれば、PCMデータのN個のサンプルによって示されるN個の振幅に基づいてPCMデータの長さを変換するか否かを判定して生成された判定結果に基づいてPCMデータの長さを変換するため、N個の振幅の絶対値の合計値(振幅合計値)が所定の閾値より小さい時のみPCMデータの長さの変換を行うことができるから、長さの変換によって与えられる聴覚的な影響が大きいPCMデータに対する変換を回避することができてPCMデータに与えられる聴覚的な影響を低減することができる。
【0106】
なお、実施の形態5に係るディジタルデータ処理装置900は、実施の形態3に係るディジタルデータ処理装置600の変換単位調整部606または実施の形態4に係るディジタルデータ処理装置700の変換単位調整部706および検出頻度測定部708を具備する構成であっても良い。
【0107】
(実施の形態6)
図10は、本発明の実施の形態6に係るディジタルデータ処理装置の構成を示すブロック図である。なお、実施の形態6に係るディジタルデータ処理装置1000は、実施の形態2に係るディジタルデータ処理装置300と同様の基本的構成を有しており、同一の構成要素には同一の参照符号を付し、その説明を省略する。
【0108】
図10に示すディジタルデータ処理装置1000は、ディジタルデータ処理装置300の速度調整部302の代わりに速度調整部1002を具備している。すなわち、ディジタルデータ処理装置1000は、ディジタルデータ処理装置300と同様のデータ入力部102、バッファ104、データ出力部106、クロック信号I生成部108およびクロック信号O生成部110を具備している。速度調整部1002は、ディジタルデータ処理装置300と同様の速度差検出部306を具備しており、実施の形態5に係るディジタルデータ処理装置900と同様のデータ変換部904を具備しており、変換実行判定部1004をさらに具備している。
【0109】
データ入力部102の入力端子は、データ供給装置(図示せず)、クロック信号I生成部108およびデータ変換部904に接続されている。バッファ104の入力端子は、データ入力部102に接続されている。データ出力部106の入力端子は、バッファ104およびクロック信号O生成部110に接続されている。データ出力部106の出力端子は、D/A変換部(図示せず)に接続されている。速度調整部1002の入力端子は、クロック信号I生成部108に接続されている。速度差検出部306の入力端子は、バッファ104に接続されている。データ変換部904の入力端子は、データ入力部102、速度差検出部306および変換実行判定部1004に接続されている。変換実行判定部1004の入力端子は、データ変換部904に接続されている。
【0110】
上述のとおり、速度調整部1002の入力端子は、クロック信号I生成部108に接続されているので、速度調整部1002に具備されている速度差検出部306、データ変換部904および変換実行判定部1004は、クロック信号I生成部108によって生成されたクロック信号Iの周波数に基づいて動作する。
【0111】
変換実行判定部1004は、データ変換部904から変換単位におけるPCMデータのN個のサンプルによって示される振幅を得る。変換実行判定部1004は、得られたN個の振幅を用いて振幅差分合計値を生成する。具体的には、変換実行判定部1004は、N個のサンプルにおけるk番目のサンプル(サンプル番号k:kは0からN−1の整数)およびk+1番目のサンプルによってそれぞれ示される振幅の間の差分を算出して、N−1個の振幅差分を生成する。変換実行判定部1004は、生成されたN−1個の振幅差分の絶対値を合計して振幅差分合計値を生成する。そして、変換実行判定部1004は、生成された振幅差分合計値を所定の閾値と比較することによってデータ変換部においてそれらN個のサンプルから成るPCMデータの長さを変換するか否かを判定する。具体的には、生成された振幅差分合計値が閾値より大きい場合、データ変換部904において変換を実行しないことを示す判定結果を生成してデータ変換部904へ出力する。一方、生成された振幅差分合計値が閾値以下である場合、データ変換部904において変換を実行することを示す判定結果を生成してデータ変換部904へ出力する。
【0112】
なお、変換実行判定部1004は、N−1個の振幅差分合計値に基づいて、データ変換部904において変換を実行するか否かを判定しているが、これに限定されない。たとえば、変換実行判定部1004は、N個のサンプルにおけるk番目のサンプルおよびk+1番目のサンプルによって示される振幅の差分の二乗和を算出して、算出された二乗和に基づいて判定しても良い。
【0113】
このように、実施の形態6によれば、PCMデータのN個のサンプルによって示されるN個の振幅に基づいてPCMデータの長さを変換するか否かを判定して生成された判定結果に基づいてPCMデータの長さを変換するため、N個のサンプルにおいて互いに隣接する2つのサンプル(すなわち、k番目のサンプルおよびk+1番目のサンプル)によって示される振幅の差分の絶対値の合計値(振幅差合計値)が所定の閾値より小さい時のみPCMデータの長さの変換を行うことができるから、長さの変換によって与えられる聴覚的な影響が大きいPCMデータに対する変換を回避することができるのでPCMデータに与えられる聴覚的な影響を低減することができる。
【0114】
なお、実施の形態6に係るディジタルデータ処理装置1000は、実施の形態3に係るディジタルデータ処理装置600の変換単位調整部606または実施の形態4に係るディジタルデータ処理装置700の変換単位調整部706および検出頻度測定部708を具備する構成であっても良い。
【0115】
【発明の効果】
以上説明したように、本発明によれば、ディジタルデータを一時的に蓄積する蓄積手段にディジタルデータを入力する時の入力データ速度または蓄積手段からディジタルデータを出力する時の出力データ速度を調整することにより、装置内で用いられるクロック信号の周波数を変更する回路を用いることなく蓄積手段のオーバーフローおよびアンダーフローを防止し、装置規模の増大を抑制し製造コストを削減することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態1に係るディジタルデータ処理装置の構成を示すブロック図
【図2】本発明の実施の形態1に係るディジタルデータ処理装置を具備するVoIP端末装置の構成の一例を示すブロック図
【図3】本発明の実施の形態2に係るディジタルデータ処理装置の構成を示すブロック図
【図4】本発明の実施の形態2に係るディジタルデータ処理装置における補間処理を説明するための図
【図5】本発明の実施の形態2に係るディジタルデータ処理装置における間引き処理を説明するための図
【図6】本発明の実施の形態3に係るディジタルデータ処理装置の構成を示すブロック図
【図7】本発明の実施の形態4に係るディジタルデータ処理装置の構成を示すブロック図
【図8】本発明の実施の形態4に係るディジタルデータ処理装置における変換単位の長さの調整動作を説明するための図
【図9】本発明の実施の形態5に係るディジタルデータ処理装置の構成を示すブロック図
【図10】本発明の実施の形態6に係るディジタルデータ処理装置の構成を示すブロック図
【図11】従来のディジタルデータ処理装置の構成の一例を示すブロック図
【符号の説明】
100、300、600、700、900、1000 ディジタルデータ処理装置
102 データ入力部
104 バッファ
106 データ出力部
108 クロック信号I生成部
110 クロック信号O生成部
112、302、602、702、902、1002 速度調整部
200 VoIP端末装置
202 通信部
204 パケット解析部
206 復号化部
208 D/A変換部
210 音声出力部
304、604、904 データ変換部
306、704 速度差検出部
606、706 変換単位調整部
708 検出頻度測定部
906、1004 変換実行判定部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a digital data processing device and a digital data processing method.
[0002]
[Prior art]
VoIP (Voice over Internet Protocol) has become widespread as a telephone communication system based on IP (Internet Protocol) on the background of network broadband and development of media coding technology. The main processing performed on audio data by a terminal device used in VoIP (hereinafter, referred to as a “VoIP terminal device”) is A / D (Analog to Digital) conversion processing of audio data, and D / A (Digital to). (Analog) conversion processing, compression coding processing of audio data, packetization processing of coded data, and time control processing of these processing.
[0003]
The VoIP terminal device is often realized by using a PC (Personal Computer). In a VoIP terminal device realized using a PC, a CPU (Central Processing Unit) inside the PC performs compression encoding processing of audio data and packetization processing of the encoded data, and a sound function unit (for example, a sound card) ) Performs A / D conversion processing and D / A conversion processing of data. The transfer of digital data between the CPU and the sound function unit is generally performed via a buffer. Here, there is a sound card which is an example of the sound function unit, which operates based on the frequency of the clock signal of the CPU and the frequency of the clock signal independent of each other. However, even if the frequencies of these two clock signals are set to be the same, not only the accuracy and aging of the crystal oscillator used to generate each clock signal, but also the influence of the ambient temperature, the influence of these two clock signals will Frequency differences can occur between them. When a frequency difference occurs, there is also a difference between the data input data rate to the buffer and the data output data rate from the buffer. This causes overflow and underflow of the buffer and hinders normal data reproduction. Therefore, there is a need for a technique capable of inputting and outputting digital data while preventing overflow and underflow of a buffer.
[0004]
A conventional digital data processing device capable of inputting and outputting digital data while preventing overflow and underflow of a buffer detects a frequency difference between two clock signals respectively used in a preceding stage and a subsequent stage of the buffer, and based on the detected frequency difference. Thus, the frequency of the clock signal for inputting data to the buffer is changed (for example, see Patent Document 1). Such a digital data processing device will be described with reference to FIG.
[0005]
FIG. 11 is a block diagram showing an example of the configuration of a conventional digital data processing device. The digital data processing device 1100 shown in FIG. 11 includes a CD-ROM drive 1102, an interface 1104, an interface control circuit 1106, a clock generation circuit 1108, a clock counter 1110, a synchronization pattern extraction circuit 1112, a comparison circuit 1114, a switching signal generation circuit 1116, A buffer RAM 1118 is provided.
[0006]
When digital data processing apparatus 1100 shown in FIG. 11 reproduces audio data, CD-ROM drive 1102 converts digital audio data to, for example, SCSI (Small) data at a data rate (input data rate) based on the frequency of reference clock signal CK-d. The data is output to an interface control circuit 1106 and a synchronous pattern extracting circuit 1112 via an interface 1104 such as a computer system interface (Bus). Then, the synchronization pattern extraction circuit 1112 detects the synchronization pattern added to the digital audio data obtained from the CD-ROM drive 1102, and outputs a timing pulse to the comparison circuit 1114 every time the synchronization pattern is detected.
[0007]
The clock generation circuit 1108 outputs a reference clock signal CK-a having a variable frequency based on a switching signal described later to the interface control circuit 1106, the clock counter 1110, and a sound function unit (not shown). Clock counter 1110 outputs a timing pulse to comparison circuit 1114 based on the frequency of reference clock signal CK-a. The comparison circuit 1114 outputs a comparison signal corresponding to the time difference between the two timing pulses obtained from the clock counter 1110 and the synchronization pattern extraction circuit 1112 to the switching signal generation circuit 1116. The switching signal generation circuit 1116 outputs a switching signal for switching the frequency of the reference clock signal CK-a to the clock generation circuit 1108 based on the comparison signal. The interface control circuit 1106 converts the digital audio data received from the CD-ROM drive 1102 at a speed based on the frequency of the reference clock signal CK-d at a speed based on the frequency of the reference clock signal CK-a obtained from the clock generation circuit 1108. Output to the buffer RAM 1118. The buffer RAM 1118 temporarily stores digital audio data obtained from the interface control circuit 1106. The sound function unit is arranged at the subsequent stage of the buffer RAM 1118, and sequentially reads the stored digital audio data at a data rate (output data rate) based on the frequency of the reference clock signal CK-a, and converts the digital audio data into analog audio data. .
[0008]
As described above, the conventional digital data processing device 1100 changes the frequency of the reference clock signal CK-a when a frequency difference occurs between the reference clock signals CK-a and CK-d, and changes the frequency of the reference clock signal CK-a. By making the frequencies of a and CK-d the same, overflow and underflow in the buffer RAM 1118 are prevented, and normal audio data reproduction is realized.
[0009]
[Patent Document 1]
JP-A-5-6234 (pages 5-6)
[0010]
[Problems to be solved by the invention]
However, the conventional digital data processing device 1100 must include a clock generation circuit 1108 that can generate the reference clock signal CK-a having a variable frequency, and also needs to change the frequency of the reference clock signal CK-a. Must further include a clock counter 1110, a synchronous pattern extracting circuit 1112, a comparing circuit 1114, and a switching signal generating circuit 1116, which causes a problem that the device scale increases and the manufacturing cost increases.
[0011]
The present invention has been made in view of the above, and an object of the present invention is to provide a digital data processing device and a digital data processing method capable of reducing the device scale and manufacturing cost.
[0012]
[Means for Solving the Problems]
The digital data processing device according to the present invention comprises: a storage unit for temporarily storing digital data; a data input unit for inputting the digital data to the storage unit based on a frequency of a first clock signal; A data output means for outputting the digital data from the storage means based on a frequency, and a speed adjusting means for adjusting an input data rate at the data input means or an output data rate at the data output data rate are adopted. .
[0013]
According to this configuration, the digital data is inputted from the storage means based on the input data rate or the frequency of the second clock signal to the storage means for temporarily storing digital data based on the frequency of the first clock signal. Since the output data speed at the time of outputting data is adjusted, overflow and underflow of the storage means can be prevented without using a circuit for changing the frequency of the first clock signal or the second clock signal. Can be reduced.
[0014]
In the digital data processing device of the present invention, in the above-described configuration, the speed adjusting unit detects a speed difference between the input data speed and the output data speed, and the speed difference detected by the speed difference detecting unit. Data conversion means for converting the length of the digital data by linear interpolation processing or thinning processing based on the speed difference.
[0015]
According to this configuration, in addition to the above effects, a speed difference between the input data speed and the output data speed is detected, and the length of the digital data is converted by linear interpolation or thinning-out processing based on the detected speed difference. Therefore, when the digital data is PCM (Pulse Code Modulation) data representing voice, it is possible to suppress a change due to conversion of the length of the digital data in the waveform of analog voice data corresponding to the digital data. The auditory influence on the data can be suppressed.
[0016]
The digital data processing apparatus of the present invention employs a configuration in the above configuration, further comprising a conversion unit adjusting unit for adjusting a length of a conversion unit of the digital data converted by the data conversion unit.
[0017]
According to this configuration, in addition to the above effects, since the length of the digital data conversion unit is adjusted, the length of the digital data corresponding to the conversion unit can be adjusted. In the case of data, when the length of the conversion unit is expanded by adjustment, it is possible to reduce the change due to the conversion of the length of the digital data in the waveform of the analog voice data corresponding to the digital data, and It is possible to reduce the auditory influence given, and to reduce the amount of arithmetic processing when converting the length of digital data when the length of the conversion unit is reduced by adjustment. The length conversion can be performed quickly.
[0018]
In the digital data processing device of the present invention, in the above configuration, the speed adjusting means further includes a detection frequency measuring means for measuring a detection frequency at which the speed difference is detected by the speed difference detecting means, wherein the conversion unit adjustment is performed. Means for adjusting the length of the conversion unit based on the detection frequency measured by the detection frequency measuring means.
[0019]
According to this configuration, in addition to the above effects, the detection frequency at which the speed difference is detected is measured, and the length of the conversion unit is adjusted based on the measured detection frequency. Since the length of the digital data corresponding to the unit can be adjusted, if the digital data is PCM data representing speech, it is possible to expand the length of the conversion unit by adjusting when the measured detection frequency decreases. It is possible to reduce the change due to the conversion of the length of the digital data in the waveform of the analog voice data corresponding to the digital data, to reduce the audible effect on the digital data, and to perform the measurement. When the detected detection frequency becomes high, the length of the conversion unit can be reduced by adjustment, and the processing for converting the length of the digital data is performed. Since it is possible to reduce the amount, the conversion length of the digital data can be quickly performed.
[0020]
In the digital data processing device of the present invention, the digital data has a plurality of amplitudes, and the speed adjusting means converts the length of the digital data based on the plurality of amplitudes included in the digital data. A determination unit configured to determine whether or not to perform the determination, to generate a determination result, wherein the data conversion unit converts the length of the digital data based on the determination result generated by the determination unit Take.
[0021]
According to this configuration, in addition to the above effects, it is determined whether or not to convert the length of the digital data based on the amplitude of the digital data, and the length of the digital data is converted based on the determination result generated. Therefore, for example, the digital data length can be converted only when the sum of the absolute values of the plurality of amplitudes or the sum of the absolute values of the differences between the plurality of amplitudes is small, so that the auditory influence is large. Conversion can be avoided and the audible effect on the digital data can be reduced.
[0022]
The digital data processing method according to the present invention includes a storage step of temporarily storing digital data in storage means; a data input step of inputting the digital data to the storage means based on a frequency of a first clock signal; A data output step of outputting the digital data from the storage unit based on a frequency of a clock signal; and a speed adjusting step of adjusting an input data rate in the data input step or an output data rate in the data output step. I made it.
[0023]
According to this method, the digital data processing method comprises the steps of: input data rate for inputting digital data to the storage means for temporarily storing digital data in the storage means based on the frequency of the first clock signal; , The output data rate when digital data is output from the storage means can be adjusted to prevent overflow and underflow of the storage means without using a circuit for changing the frequency of the first clock signal or the second clock signal. Therefore, the device scale and the manufacturing cost can be reduced.
[0024]
BEST MODE FOR CARRYING OUT THE INVENTION
The gist of the present invention is to adjust the input data rate when inputting digital data to the storage means for temporarily storing digital data or the output data rate when outputting digital data from the storage means.
[0025]
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0026]
In all the block diagrams showing the configuration of the digital data processing apparatus according to the following embodiment, thick solid arrows indicate the flow of PCM (Pulse Code Modulation) data, and thin solid arrows indicate clock signals and various control signals. Respectively. Further, the digital data processing device according to the following embodiment is applied to PCM data which is one of digital formats used in transmission of audio data, but digital data to be processed is not limited to PCM data. The digital data processing apparatus according to the following embodiment has a plurality of samples each indicating one amplitude value using a predetermined number of bits, similarly to the PCM data, and uses the plurality of samples to measure the amplitude of the amplitude over time. It can be applied to digital data representing a dynamic change.
[0027]
(Embodiment 1)
FIG. 1 is a block diagram showing a configuration of a digital data processing device according to Embodiment 1 of the present invention.
[0028]
The digital data processing apparatus 100 shown in FIG. 1 includes a data input unit 102, a buffer 104, a data output unit 106, a clock signal I generation unit 108, a clock signal O generation unit 110, and a speed adjustment unit 112.
[0029]
An input terminal of the data input unit 102 is connected to a part (not shown) for supplying PCM data. Note that examples of an apparatus that supplies PCM data (hereinafter, referred to as a “data supply apparatus”) include an apparatus that decodes encoded data to generate PCM data, a drive apparatus for a PCM data recording medium, and the like. . The input terminal of the data input unit 102 is connected to the clock signal I generation unit 108 and the speed adjustment unit 112. The input terminal of the speed adjustment unit 112 is connected to the data input unit 102 and the clock signal I generation unit 108. The input terminal of the buffer 104 is connected to the data input unit 102. The input terminal of the data output unit 106 is connected to the buffer 104 and the clock signal O generation unit 110. The output terminal of the data output unit 106 is connected to a D / A conversion unit (not shown).
[0030]
The clock signal I generation unit 108 generates a clock signal I serving as a reference for the operation of each unit (the data input unit 102 and the speed adjustment unit 112 in the case of the digital data processing device 100) arranged in the preceding stage of the buffer 104. , And outputs the generated clock signal I to the data input unit 102 and the speed adjustment unit 112.
[0031]
The clock signal O generation unit 110 generates a clock signal O serving as a reference for the operation of each unit (in the case of the digital data processing device 100, the data output unit 106) disposed after the buffer 104, and generates the generated clock. The signal O is output to the data output unit 106.
[0032]
The frequency of the clock signal I generated by the clock signal I generator 108 and the frequency of the clock signal O generated by the clock signal O generator 110 are set to be the same, but the clock signal I generator 108 and the clock signal O A frequency difference may occur between the clock signal I and the clock signal O due to the influence of the ambient temperature as well as the accuracy and aging of the crystal oscillator used in the generation unit 110. When a frequency difference occurs, the input data rate of PCM data to the buffer 104 (ie, the data rate at which the data input unit 102 stores the PCM data in the buffer 104 as an input to the buffer 104) and the PCM data from the buffer 104 (That is, the data rate at which the data output unit 106 outputs the PCM data as an output from the buffer 104 to the D / A conversion unit). This causes an overflow and an underflow of the buffer 104 and hinders normal data reproduction. In the digital data processing device 100 according to the present embodiment, the speed adjusting unit 112 described later can solve this problem and prevent the buffer 104 from overflowing and underflowing.
[0033]
The data input unit 102 operates based on the frequency of the clock signal I generated by the clock signal I generation unit 108. The data input unit 102 obtains PCM data having a predetermined length from the data supply device. Then, the data input unit 102 outputs the PCM data obtained from the data supply device to the speed adjustment unit 112. Further, the data input unit 102 obtains the PCM data whose input data speed has been adjusted from the speed adjustment unit 112. Then, the PCM data obtained from the speed adjusting unit 112 is stored in the buffer 104 as an input to the buffer 104.
[0034]
Here, since the data input unit 102 operates based on the frequency of the clock signal I, the input data speed increases when the PCM data whose length has been extended by the speed adjustment unit 112 is stored by a single storage process. When the PCM data whose length has been shortened by the speed adjusting unit 112 is stored by one-time storage processing, the input data speed decreases.
[0035]
The speed adjustment unit 112 operates based on the frequency of the clock signal I generated by the clock signal I generation unit 108. The speed adjusting unit 112 adjusts the input data speed in the data input unit 102 by converting the length of the PCM data obtained from the data input unit 102. Speed adjusting section 112 outputs the PCM data whose input data rate has been adjusted to data input section 102.
[0036]
As an example of a specific operation of adjusting the data rate, when the input data rate is higher than the output data rate, the input data rate is adjusted to be lower. On the other hand, when the input data rate is lower than the output data rate, the input data rate is adjusted so as to increase. In this manner, even when a speed difference occurs between the input data rate and the output data rate, the adjustment can be performed so that the input data rate and the output data rate become equal, so that overflow and underflow of the buffer 104 can be prevented. can do.
[0037]
The buffer 104 temporarily stores the PCM data stored by the data input unit 102 (that is, from when the data is stored by the data input unit 102 to when it is read by the data output unit 106).
[0038]
The data output unit 106 operates based on the frequency of the clock signal O generated by the clock signal O generation unit 110. The data output unit 106 reads out PCM data of a predetermined length stored in the buffer 104. Then, the data output unit 106 outputs the read PCM data as an output from the buffer 104 to the D / A conversion unit. The D / A converter has a function of converting PCM data to generate analog audio data.
[0039]
Here, an example in which the digital data processing device 100 shown in FIG. 1 is applied to a VoIP terminal device will be described. FIG. 2 is a block diagram illustrating an example of a configuration of a VoIP terminal device including the digital data processing device 100.
[0040]
The VoIP terminal device 200 shown in FIG. 2 includes a digital data processing device 100, a communication unit 202, a packet analysis unit 204, a decoding unit 206, a D / A conversion unit 208, and an audio output unit 210.
[0041]
The communication unit 202 operates based on the frequency of the clock signal I generated by the clock signal I generation unit 108. The communication unit 202 receives packet data from a communication medium [for example, a LAN (Local Area Network)]. The communication unit 202 outputs the received packet data to the packet analysis unit 204.
[0042]
The packet analyzer 204 operates based on the frequency of the clock signal I generated by the clock signal I generator 108. The packet analysis unit 204 analyzes the packet data obtained from the communication unit 202 and extracts encoded data. The packet analyzer 204 outputs the extracted encoded data to the decoder 206.
[0043]
The decoding unit 206 operates based on the frequency of the clock signal I generated by the clock signal I generation unit 108. The decoding unit 206 decodes the encoded data obtained from the packet analysis unit 204 to generate PCM data. The decoding unit 206 functions as the data supply device described above, and outputs the generated PCM data to the data input unit 102.
[0044]
The D / A converter 208 operates based on the frequency of the clock signal O generated by the clock signal O generator 110. The D / A converter 208 converts the PCM data obtained from the data output unit 106 to generate analog audio data. D / A conversion section 208 outputs the generated analog audio data to audio output section 210.
[0045]
The audio output unit 210 operates based on the clock signal O generated by the clock signal O generation unit 110. The audio output unit 210 outputs the analog audio data obtained from the D / A conversion unit 208 as audio.
[0046]
In general, in a VoIP terminal device, packet data may be lost or the order may be changed depending on the state of the network. When the packet data is lost or the order is changed, the reproduced audio data is affected. In order to reduce this effect, the VoIP terminal device 200 may have a function in which the packet analysis unit 204 or the decoding unit 206 performs data interpolation processing, buffering processing, and the like.
[0047]
Also, here, an example is described in which the digital data processing device 100 is applied to the device that performs the receiving process of the VoIP terminal device 200, but the present invention can also be applied to the portion that performs the transmitting process. Further, the application example of the digital data processing device 100 is not limited to the above. For example, the digital data processing device 100 is used in a circuit-switched network, and both a first clock signal synchronized with a reference clock signal of the network and a second clock signal not synchronized with the first clock signal are used. The present invention can also be applied to a telephone device that handles voice-related data in real time.
[0048]
Next, the operation of the digital data processing device 100 having the above configuration will be described.
[0049]
First, the clock signal I generation unit 108 generates a clock signal I which is a reference for the operation of each part disposed in the preceding stage of the buffer 104, and outputs the generated clock signal I to the data input unit 102 and the speed adjustment unit 112. Output to
[0050]
In addition, the clock signal O generation unit 110 generates a clock signal O that is a reference for the operation of each part disposed after the buffer 104, and outputs the generated clock signal O to the data output unit 106.
[0051]
Then, the data input unit 102 obtains PCM data of a predetermined length from the data supply device. Then, the data input unit 102 outputs the PCM data of a predetermined length obtained from the data supply device to the speed adjustment unit 112.
[0052]
Then, the speed adjusting unit 112 obtains PCM data of a predetermined length from the data input unit 102. Then, the speed adjusting unit 112 adjusts the input data speed in the data input unit 102 by converting the length of the obtained PCM data. Then, speed adjusting section 112 outputs the PCM data whose input data rate has been adjusted to data input section 102.
[0053]
Then, the data input unit 102 stores the PCM data whose input data speed has been adjusted by the speed adjusting unit 112 in the buffer 104 as an input to the buffer 104. The buffer 104 temporarily stores the PCM data stored by the data input unit 102. The data output unit 106 reads out PCM data of a predetermined length temporarily stored in the buffer 104. Then, the data output unit 106 outputs the read PCM data of a predetermined length to the D / A conversion unit as an output from the buffer 104.
[0054]
In the first embodiment, the speed adjustment unit 112 is provided outside the data input unit 102. In other words, the data input unit 102 exchanges PCM data with the external speed adjustment unit 112 to adjust the input data speed. However, the configuration of digital data processing apparatus 100 according to the first embodiment is not limited to this. As a modification of the digital data processing device 100, the speed adjusting unit 112 may be included in the data input unit 102. In this case, the input data rate is adjusted inside the data input unit 102.
[0055]
Further, in the first embodiment, the speed adjusting unit 112 is arranged at the preceding stage of the buffer 104 and adjusts the input data speed, but is not limited to this configuration. As another modification of the digital data processing device, the speed adjusting unit 112 may be arranged after the buffer 104 to adjust the output data speed. In this case, the data input unit 102 stores the PCM data of a predetermined length obtained from the data supply device in the buffer 104 as an input to the buffer 104. Then, the data output unit 106 reads the PCM data of a predetermined length temporarily stored by the buffer 104 and outputs the read PCM data of the predetermined length to the speed adjustment unit 112. Then, the speed adjusting unit 112 obtains PCM data of a predetermined length from the data output unit 106. The speed adjusting unit 112 adjusts the output data speed by converting the length of the obtained PCM data, and outputs the PCM data with the adjusted output data speed to the data output unit 106. The data output unit 106 obtains the PCM data whose output data speed has been adjusted by the speed adjustment unit 112, and outputs the obtained PCM data to the D / A conversion unit 208 as an output from the buffer 104.
[0056]
Further, when the speed adjustment unit 112 is disposed after the buffer 104 as described above, the speed adjustment unit 112 may be included in the data output unit 106. In this case, the output data rate is adjusted inside the data output unit 106.
[0057]
As described above, according to the first embodiment, PCM data is output from buffer 104 based on the input data rate or the frequency of clock signal O when PCM data is input to buffer 104 based on the frequency of clock signal I. In order to adjust the output data rate at the time, overflow and underflow of the buffer 104 can be prevented without using a circuit for changing the frequency of the clock signal I or the clock signal O, so that the device scale and manufacturing cost can be reduced. .
[0058]
(Embodiment 2)
FIG. 3 is a block diagram showing a configuration of a digital data processing device according to Embodiment 2 of the present invention. Digital data processing apparatus 300 according to the second embodiment has the same basic configuration as digital data processing apparatus 100 according to the first embodiment, and the same components are denoted by the same reference numerals. And the description is omitted.
[0059]
The digital data processing device 300 shown in FIG. 3 includes a speed adjusting unit 302 instead of the speed adjusting unit 112 of the digital data processing device 100. That is, the digital data processing device 300 includes the same data input unit 102, buffer 104, data output unit 106, clock signal I generation unit 108, and clock signal O generation unit 110 as the digital data processing device 100. The speed adjustment unit 302 includes a data conversion unit 304 and a speed difference detection unit 306.
[0060]
An input terminal of the data input unit 102 is connected to a data supply device (not shown), a clock signal I generation unit 108, and a data conversion unit 304. The input terminal of the buffer 104 is connected to the data input unit 102. The input terminal of the data output unit 106 is connected to the buffer 104 and the clock signal O generation unit 110. The output terminal of the data output unit 106 is connected to a D / A conversion unit (not shown). The speed adjustment unit 302 is connected to the clock signal I generation unit 108. The input terminal of the data conversion unit 304 is connected to the data input unit 102 and the speed difference detection unit 306. The input terminal of the speed difference detection unit 306 is connected to the buffer 104.
[0061]
As described above, since the input terminal of the speed adjustment unit 302 is connected to the clock signal I generation unit 108, the data conversion unit 304 and the speed difference detection unit 306 provided in the speed adjustment unit 302 output the clock signal I It operates based on the frequency of the clock signal I generated by the generation unit 108.
[0062]
The speed difference detection unit 306 detects a speed difference between the input data speed of PCM data to the buffer 104 and the output data speed of PCM data from the buffer 104. Specifically, the storage amount of PCM data stored in the buffer 104 is periodically measured. Then, the speed difference detecting unit 306 detects that the input data speed is faster than the output data speed when the accumulated amount increases with time and the increased amount exceeds a predetermined value. Then, speed difference detection section 306 generates a speed difference detection signal indicating that the input data rate is higher than the output data rate, and outputs the signal to data conversion section 304. The speed difference detection unit 306 detects that the input data speed is lower than the output data speed when the accumulated amount decreases over time and the decreased amount exceeds a predetermined value. Then, speed difference detection section 306 generates a speed difference detection signal indicating that the input data rate is lower than the output data rate, and outputs the signal to data conversion section 304.
[0063]
Note that the speed difference detection unit 306 is not limited to the above configuration. For example, the speed difference detection unit 306 may adopt a configuration for detecting a timing difference between the clock signal I generated by the clock signal I generation unit 108 and the clock signal O generated by the clock signal O generation unit 110. In this case, the input terminal of the speed difference detection unit 306 is connected to the clock signal O generation unit 110 instead of the buffer 104.
[0064]
The data conversion unit 304 obtains PCM data of a predetermined length from the data input unit 102. The data conversion unit 304 converts the length (size) of the PCM data based on the speed difference detection signal obtained from the speed difference detection unit 306. More specifically, the data converter 304 converts the length of the PCM data obtained from the data input unit 102 when a speed difference detection signal is obtained from the speed difference detector 306. When the speed difference detection signal obtained from the speed difference detection unit 306 indicates that the input data speed is lower than the output data speed, the data conversion unit 304 converts the PCM data obtained from the data input unit 102 The length is converted by linear interpolation. When the speed difference detection signal obtained from the speed difference detection unit 306 indicates that the input data speed is higher than the output data speed, the data conversion unit 304 converts the PCM data obtained from the data input unit 102 The length is converted by a linear decimation process. Then, data conversion section 304 outputs the converted PCM data to data input section 102. On the other hand, when the data conversion unit 304 does not receive the speed difference detection signal from the speed difference detection unit 306, the data conversion unit 304 sends the PCM data to the data input unit 102 without converting the length of the PCM data obtained from the data input unit 102. Output.
[0065]
Here, a specific conversion operation of PCM data performed by the data conversion unit 304 will be described.
[0066]
FIG. 4 is a diagram for describing a linear interpolation process performed by the data conversion unit 304.
[0067]
When obtaining a speed difference detection signal indicating that the input data speed is lower than the output data speed, data conversion section 304 forms a PCM consisting of a plurality of [for example, N (N is an integer of 3 or more)] samples. Conversion is performed by interpolation processing using the data length as one processing unit.
[0068]
Specifically, in the interpolation processing, the data conversion unit 304 converts PCM data composed of N samples into PCM data composed of N + 1 samples, as shown in FIG. At this time, the data conversion unit 304 uses the following (Equation 1).
(Equation 1)
Figure 2004158925
Here, in (Equation 1), A [k] represents the amplitude of the k-th (sample number k) sample of the N samples before the interpolation processing, and Aadd [k] is the k-th (N + 1) sample of the N + 1 samples. It represents the amplitude of the sample of sample number k) after the interpolation processing.
[0069]
When the length of the PCM data is extended by performing the linear interpolation processing as described above, the number of samples of the PCM data stored at one time in the buffer 104 by the data input unit 102 increases from N to N + 1. Therefore, the input data rate of PCM data to the buffer 104 is increased. On the other hand, the data output unit 106 reads N samples of PCM data from the buffer 104 at a time. Therefore, a decrease in the amount of PCM data accumulated by the buffer 104 can be suppressed, and an underflow of the buffer 104 can be prevented.
[0070]
FIG. 5 is a diagram for explaining a thinning process performed by the data conversion unit 304.
[0071]
When obtaining the speed difference detection signal indicating that the input data speed is higher than the output data speed, the data conversion unit 304 performs the thinning process by using the length of the PCM data composed of N samples as one processing unit. Convert.
[0072]
Specifically, in the decimation process, the data conversion unit 304 converts PCM data composed of N samples into PCM data composed of N-1 samples, as shown in FIG. At this time, the data conversion unit 304 uses the following (Equation 2).
(Equation 2)
Figure 2004158925
Here, in (Equation 2), A [k] represents the amplitude of the k-th (sample number k) sample of the N samples before the decimation process, and Adel [k] is k in the N−1 samples. It represents the amplitude after the decimating process of the sample (sample number k).
[0073]
When the length of the PCM data is reduced by performing the above-described linear thinning process, the number of samples of the PCM data stored in the buffer 104 by the data input unit 102 at one time is from N to N−1. , The input data rate of the PCM data to the buffer 104 is reduced. On the other hand, the data output unit 106 reads PCM data of N samples at a time. Therefore, an increase in the amount of PCM data accumulated by the buffer 104 can be suppressed, and overflow of the buffer 104 can be prevented.
[0074]
As described above, according to the second embodiment, the length of PCM data is converted by linear interpolation processing or decimation processing based on the detected speed difference between the input data rate and the output data rate. Alternatively, overflow and underflow of the buffer 104 can be prevented without using a circuit for changing the frequency of the clock signal O, so that the device scale and manufacturing cost can be reduced.
[0075]
Further, according to the second embodiment, since conversion is performed by linear interpolation processing and thinning processing, it is possible to suppress a change caused by conversion of the length of PCM data in the waveform of analog audio data corresponding to PCM data. Therefore, it is possible to suppress an auditory effect given to the PCM data by the conversion of the length.
[0076]
(Embodiment 3)
FIG. 6 is a block diagram showing a configuration of a digital data processing device according to Embodiment 3 of the present invention. The digital data processing device 600 according to the third embodiment has the same basic configuration as the digital data processing device 300 according to the second embodiment, and the same components are denoted by the same reference numerals. And the description is omitted.
[0077]
The digital data processing device 600 shown in FIG. 6 includes a speed adjusting unit 602 instead of the speed adjusting unit 302 of the digital data processing device 300. That is, the digital data processing device 600 includes the same data input unit 102, buffer 104, data output unit 106, clock signal I generation unit 108, and clock signal O generation unit 110 as the digital data processing device 300. The speed adjustment unit 602 includes a speed difference detection unit 306 similar to that of the digital data processing device 300, and includes a data conversion unit 604 instead of the data conversion unit 304 in the digital data processing device 300. An adjusting unit 606 is further provided.
[0078]
An input terminal of the data input unit 102 is connected to a data supply device (not shown), a clock signal I generation unit 108, and a data conversion unit 604. The input terminal of the buffer 104 is connected to the data input unit 102. The input terminal of the data output unit 106 is connected to the buffer 104 and the clock signal O generation unit 110. The output terminal of the data output unit 106 is connected to a D / A conversion unit (not shown). The input terminal of the speed adjustment unit 602 is connected to the clock signal I generation unit 108. The input terminal of the speed difference detection unit 306 is connected to the buffer 104. An input terminal of the data conversion unit 604 is connected to the data input unit 102 and the conversion unit adjustment unit 606.
[0079]
As described above, since the input terminal of the speed adjustment unit 602 is connected to the clock signal I generation unit 108, the speed difference detection unit 306, the data conversion unit 604, and the conversion unit adjustment unit included in the speed adjustment unit 602 are provided. 606 operates based on the frequency of the clock signal I generated by the clock signal I generator 108.
[0080]
The data conversion unit 604 obtains PCM data of a predetermined length from the data input unit 102. Data conversion section 604 operates in the same manner as data conversion section 304 in the second embodiment, and performs linear interpolation processing or thinning processing based on the speed difference detection signal obtained from speed difference detection section 306, thereby obtaining the length of PCM data. Transform.
[0081]
The conversion unit adjustment unit 606 adjusts the length of the conversion unit of PCM data when the data conversion unit 604 performs the interpolation processing and the thinning processing.
[0082]
Specifically, when the conversion unit adjustment unit 606 adjusts and lengthens the length of the conversion unit, the number N of samples forming the PCM data corresponding to the conversion unit increases. On the other hand, when the conversion unit adjustment unit 606 adjusts and reduces the length of the conversion unit, the number N of samples forming the PCM data corresponding to the conversion unit decreases.
[0083]
As described above, according to the third embodiment, the length of the PCM data corresponding to the conversion unit can be adjusted. The change due to the conversion of the length of the digital data in the waveform of the analog audio data corresponding to the data can be reduced, and the audible effect on the PCM data can be reduced. Further, according to the third embodiment, when the length of the conversion unit is adjusted and reduced by the conversion unit adjustment unit 606, the length of the PCM data is converted (Equation 1) and (Equation 2). Can be reduced, and the length of digital data can be quickly converted.
[0084]
In Embodiment 3, the conversion unit adjustment unit 606 has a configuration in which the data conversion unit 604 adjusts the length of the conversion unit when converting the length of the PCM data. It is not limited to. As a modification, the conversion unit adjustment unit 606 may be configured to adjust the length of the conversion unit by changing the length of the PCM data output from the data input unit 102 to the data conversion unit 604. Further, as another modification, the conversion unit adjustment unit 606 is configured to adjust the length of the conversion unit by changing the length of PCM data output from the data supply device to the data input unit 102. Is also good. Also in the digital data processing device 600 having such a configuration, when the length of the conversion unit is adjusted and expanded by the conversion unit adjustment unit 606, the length of the digital data in the waveform of the analog audio data corresponding to the PCM data is calculated. The change caused by the conversion can be reduced, and the auditory effect on the PCM data can be reduced. In addition, when the length of the conversion unit is adjusted and reduced by the conversion unit adjustment unit 606, the amount of calculation processing of (Equation 1) and (Equation 2) used when converting the length of PCM data is reduced. And the length of the digital data can be quickly converted.
[0085]
(Embodiment 4)
FIG. 7 is a block diagram showing a configuration of a digital data processing device according to Embodiment 4 of the present invention. Digital data processing apparatus 700 according to the fourth embodiment has the same basic configuration as digital data processing apparatus 300 according to the second embodiment, and the same components are denoted by the same reference numerals. And the description is omitted.
[0086]
The digital data processing device 700 shown in FIG. 7 includes a speed adjusting unit 702 instead of the speed adjusting unit 302 in the digital data processing device 300. That is, the digital data processing device 700 includes the same data input unit 102, buffer 104, data output unit 106, clock signal I generation unit 108, and clock signal O generation unit 110 as the digital data processing device 300. The speed adjustment unit 702 includes a data conversion unit 604 similar to the digital data processing device 600 according to the third embodiment instead of the data conversion unit 304 and the speed difference detection unit 306 in the digital data processing device 300. It further includes a difference detection unit 704, a conversion unit adjustment unit 706, and a detection frequency measurement unit 708.
[0087]
An input terminal of the data input unit 102 is connected to a data supply device (not shown), a clock signal I generation unit 108, and a data conversion unit 604. The input terminal of the buffer 104 is connected to the data input unit 102. The input terminal of the data output unit 106 is connected to the buffer 104 and the clock signal O generation unit 110. The output terminal of the data output unit 106 is connected to a D / A conversion unit (not shown). The input terminal of the speed difference detection unit 704 is connected to the buffer 104. The input terminal of the speed adjustment unit 702 is connected to the clock signal I generation unit 108. An input terminal of the data conversion unit 604 is connected to the conversion unit adjustment unit 706, the speed difference detection unit 704, and the data input unit 102. The input terminal of the detection frequency measurement unit 708 is connected to the speed difference detection unit 704. An input terminal of the conversion unit adjustment unit 706 is connected to the detection frequency measurement unit 708.
[0088]
As described above, since the input terminal of the speed adjustment unit 702 is connected to the clock signal I generation unit 108, the data conversion unit 604, the speed difference detection unit 704, and the conversion unit adjustment unit included in the speed adjustment unit 702 are provided. 706 and the detection frequency measurement unit 708 operate based on the frequency of the clock signal I generated by the clock signal I generation unit 108.
[0089]
Speed difference detecting section 704 detects a speed difference between the input data rate of PCM data to buffer 104 and the output data rate of PCM data from buffer 104 by the same operation as speed difference detecting section 306 in the second embodiment. . Then, speed difference detection section 704 generates a speed difference detection signal and outputs it to data conversion section 604 and detection frequency measurement section 708.
[0090]
The detection frequency measurement unit 708 obtains the speed difference detection signal from the speed difference detection unit 704, stores the time at which the speed difference detection signal was obtained, and calculates the time interval from the time at which the previous speed difference detection signal was obtained. Then, the average value of the calculated time intervals is calculated, and the reciprocal of the calculated average value is obtained. For example, when the average value of the calculated time intervals is 60 seconds, the detection frequency F is 1/60. In this way, the detection frequency measurement unit 708 measures the detection frequency F at which the speed difference is detected. The detection frequency measurement unit 708 outputs the measured detection frequency F to the conversion unit adjustment unit 706.
[0091]
Note that the detection frequency measurement unit 708 measures the detection frequency F based on the speed difference detection signal, but is not limited to this. For example, the detection frequency measurement unit 708 stores the time at which the data conversion unit 604 performed the conversion, calculates the time interval from the time at which the data conversion unit 604 last performed the conversion, and calculates the average value of the time interval, thereby obtaining the detection frequency. F may be measured. In this case, an input terminal of the detection frequency measurement unit 708 is connected to the data conversion unit 604.
[0092]
The conversion unit adjustment unit 706 adjusts the length of the conversion unit of PCM data when the data conversion unit 604 performs the interpolation processing and the thinning-out processing based on the detection frequency F obtained from the detection frequency measurement unit 708.
[0093]
The specific operation of adjusting the length of the conversion unit based on the detection frequency F is as follows. FIG. 8 is a diagram for explaining an example of the operation of adjusting the length of the conversion unit. When the detection frequency F measured by the detection frequency measurement unit 708 is lower than 1/60, the conversion unit adjustment unit 706 changes the number N of samples constituting the PCM data corresponding to one conversion unit to the number of samples corresponding to one voice frame. N FRAME Set to. On the other hand, when the measured detection frequency F is higher than 1/60, the conversion unit adjustment unit 706 reduces the number N of samples constituting PCM data corresponding to one conversion unit to the number N of samples corresponding to one audio frame. FRAME Set to half of Here, the audio frame is the length of the audio data handled by the preceding part of the data input unit 102 (for example, the packet analysis unit 204 of the VoIP terminal device 200 shown in FIG. 2) in one process.
[0094]
The adjustment of the length of the conversion unit performed by the conversion unit adjustment unit 706 is not limited to the above. For example, digital data processing device 700 may further have a function that allows a user of digital data processing device 700 to specify the length of a conversion unit. In this case, the priority of the conversion unit set based on the conversion unit and the detection frequency F specified by the user may be arbitrarily determined.
[0095]
As described above, according to the fourth embodiment, it is possible to adjust the length of the PCM data corresponding to the conversion unit based on the detection frequency F measured by the detection frequency measurement unit 708. In this case (for example, F ≦ 1/60), the conversion unit adjustment unit 706 can increase the length of the conversion unit, which is caused by the conversion of the length of the PCM data in the waveform of the analog audio data corresponding to the PCM data. Changes can be reduced, and the audible effect on PCM data can be reduced. Further, according to the fourth embodiment, when detection frequency F becomes high (for example, F> 1/60), conversion unit adjusting section 706 can reduce the length of the conversion unit, and the length of PCM data can be reduced. Can be reduced in the amount of arithmetic processing of (Equation 1) and (Equation 2) used in the conversion, and the length of digital data can be quickly converted.
[0096]
Note that, in Embodiment 4, the conversion unit adjustment unit 706 has a configuration in which the data conversion unit 604 adjusts the length of the conversion unit when converting the length of the PCM data. It is not limited to. As a modification, the conversion unit adjustment unit 706 may be configured to adjust the length of the conversion unit by changing the length of PCM data output from the data input unit 102 to the data conversion unit 604. Further, as another modification, the conversion unit adjustment unit 706 is configured to adjust the length of the conversion unit by changing the length of PCM data output from the data supply device to the data input unit 102. Is also good. Also in the digital data processing device 700 having such a configuration, when the length of the conversion unit is adjusted and expanded by the conversion unit adjustment unit 706, the length of the digital data in the waveform of the analog audio data corresponding to the PCM data is calculated. The change caused by the conversion can be reduced, and the auditory effect on the PCM data can be reduced. Further, it is possible to reduce the amount of arithmetic processing of (Equation 1) and (Equation 2) used when converting the length of PCM data when the length of the conversion unit is adjusted and reduced by the conversion unit adjustment unit 706. And the length of the digital data can be quickly converted.
[0097]
(Embodiment 5)
FIG. 9 is a block diagram showing a configuration of a digital data processing device according to Embodiment 5 of the present invention. Digital data processing apparatus 900 according to the fifth embodiment has the same basic configuration as digital data processing apparatus 300 according to the second embodiment, and the same components are denoted by the same reference numerals. And the description is omitted.
[0098]
The digital data processing device 900 shown in FIG. 9 includes a speed adjusting unit 902 instead of the speed adjusting unit 302 of the digital data processing device 300. That is, the digital data processing device 900 includes the same data input unit 102, buffer 104, data output unit 106, clock signal I generation unit 108, and clock signal O generation unit 110 as the digital data processing device 300. The speed adjustment unit 902 includes a speed difference detection unit 306 similar to the digital data processing device 300, and includes a data conversion unit 904 instead of the data conversion unit 304 of the digital data processing device 300, and executes the conversion. A determination unit 906 is further provided.
[0099]
An input terminal of the data input unit 102 is connected to a data supply device (not shown), a clock signal I generation unit 108, and a data conversion unit 904. The input terminal of the buffer 104 is connected to the data input unit 102. The input terminal of the data output unit 106 is connected to the buffer 104 and the clock signal O generation unit 110. The output terminal of the data output unit 106 is connected to a D / A conversion unit (not shown). The input terminal of the speed adjustment unit 902 is connected to the clock signal I generation unit 108. The input terminal of the speed difference detection unit 306 is connected to the buffer 104. An input terminal of the data conversion unit 904 is connected to the data input unit 102, the speed difference detection unit 306, and the conversion execution determination unit 906. An input terminal of the conversion execution determination unit 906 is connected to the data conversion unit 904.
[0100]
As described above, since the input terminal of the speed adjustment unit 902 is connected to the clock signal I generation unit 108, the speed difference detection unit 306, the data conversion unit 904, and the conversion execution determination unit included in the speed adjustment unit 902 906 operates based on the frequency of the clock signal I generated by the clock signal I generator 108.
[0101]
The data conversion unit 904 obtains PCM data of a predetermined length from the data input unit 102. The data conversion unit 904 obtains a speed difference detection signal from the speed difference detection unit 306. Data conversion section 904 operates in the same manner as data conversion section 304 in the third embodiment, and performs linear interpolation or thinning-out processing on the length of PCM data based on the speed difference detection signal obtained from speed difference detection section 306. Transform.
[0102]
Further, when the data conversion unit 904 obtains the speed difference detection signal from the speed difference detection unit 306, it outputs a plurality of amplitudes indicated by the N samples of PCM data in the conversion unit to the conversion execution determination unit 906. Then, the length of the PCM data composed of the N samples is converted based on the determination result obtained from the conversion execution determination unit 906. Specifically, when the determination result obtained from the conversion execution determination unit 906 indicates that the conversion is to be performed, the data conversion unit 904 converts the length of the PCM data obtained from the data input unit 102. Then, the PCM data whose length has been converted is output to the data input unit 102. On the other hand, if the determination result obtained from the conversion execution determination unit 906 indicates that no conversion is to be performed, the data conversion unit 904 converts the length of the PCM data obtained from the data input unit 102 without converting the PCM data. The data is output to the data input unit 102.
[0103]
The conversion execution determination unit 906 obtains the amplitude indicated by the N samples of PCM data in the conversion unit from the data conversion unit 904. The conversion execution determining unit 906 sums the absolute values of the obtained N amplitudes to generate an amplitude total value. Then, conversion execution determination section 906 determines whether or not data conversion section 904 converts the length of the PCM data composed of the N samples by comparing the generated amplitude total value with a predetermined threshold value. . Specifically, when the generated amplitude total value is larger than the threshold value, conversion execution determining section 906 generates a determination result indicating that conversion is not performed in data conversion section 904, and outputs the result to data conversion section 904. On the other hand, when the generated amplitude total value is equal to or smaller than the threshold, the conversion execution determination unit 906 generates a determination result indicating that the data conversion unit 904 performs conversion, and outputs the result to the data conversion unit 904.
[0104]
Note that the conversion execution determination unit 906 determines whether or not to perform conversion in the data conversion unit 904 based on the N total amplitude values, but the present invention is not limited to this. For example, conversion execution determination section 906 may calculate the sum of squares of N amplitudes indicated by the N samples of PCM data in the conversion unit, and make the determination based on the calculated sum of squares.
[0105]
As described above, according to the fifth embodiment, it is determined whether or not to convert the length of PCM data based on N amplitudes indicated by N samples of PCM data. Since the length of the PCM data is converted based on the PCM data, the length of the PCM data can be converted only when the total value of the absolute values of the N amplitudes (the total amplitude) is smaller than a predetermined threshold. Therefore, it is possible to avoid conversion of PCM data having a large auditory effect given by the conversion of height, thereby reducing the auditory effect given to the PCM data.
[0106]
Note that digital data processing apparatus 900 according to the fifth embodiment has conversion unit adjustment section 606 of digital data processing apparatus 600 according to the third embodiment or conversion unit adjustment section 706 of digital data processing apparatus 700 according to the fourth embodiment. And a configuration including a detection frequency measurement unit 708.
[0107]
(Embodiment 6)
FIG. 10 is a block diagram showing a configuration of a digital data processing device according to Embodiment 6 of the present invention. Digital data processing apparatus 1000 according to Embodiment 6 has the same basic configuration as digital data processing apparatus 300 according to Embodiment 2, and the same components are denoted by the same reference numerals. And the description is omitted.
[0108]
The digital data processing device 1000 shown in FIG. 10 includes a speed adjustment unit 1002 instead of the speed adjustment unit 302 of the digital data processing device 300. That is, the digital data processing device 1000 includes the same data input unit 102, buffer 104, data output unit 106, clock signal I generation unit 108, and clock signal O generation unit 110 as the digital data processing device 300. The speed adjusting unit 1002 includes a speed difference detecting unit 306 similar to the digital data processing device 300, and includes a data converting unit 904 similar to the digital data processing device 900 according to the fifth embodiment. An execution determination unit 1004 is further provided.
[0109]
An input terminal of the data input unit 102 is connected to a data supply device (not shown), a clock signal I generation unit 108, and a data conversion unit 904. The input terminal of the buffer 104 is connected to the data input unit 102. The input terminal of the data output unit 106 is connected to the buffer 104 and the clock signal O generation unit 110. The output terminal of the data output unit 106 is connected to a D / A conversion unit (not shown). The input terminal of the speed adjustment unit 1002 is connected to the clock signal I generation unit 108. The input terminal of the speed difference detection unit 306 is connected to the buffer 104. An input terminal of the data conversion unit 904 is connected to the data input unit 102, the speed difference detection unit 306, and the conversion execution determination unit 1004. An input terminal of the conversion execution determination unit 1004 is connected to the data conversion unit 904.
[0110]
As described above, since the input terminal of the speed adjustment unit 1002 is connected to the clock signal I generation unit 108, the speed difference detection unit 306, the data conversion unit 904, and the conversion execution determination unit included in the speed adjustment unit 1002 1004 operates based on the frequency of the clock signal I generated by the clock signal I generator 108.
[0111]
The conversion execution determination unit 1004 obtains the amplitude indicated by the N samples of PCM data in the conversion unit from the data conversion unit 904. The conversion execution determination unit 1004 generates a total amplitude difference value using the obtained N amplitudes. Specifically, the conversion execution determination unit 1004 calculates the difference between the k-th sample (sample number k: k is an integer from 0 to N−1) and the amplitude indicated by the (k + 1) -th sample in the N samples. Is calculated to generate N-1 amplitude differences. The conversion execution determination unit 1004 sums the absolute values of the generated N-1 amplitude differences to generate a total amplitude difference value. Then, conversion execution determination section 1004 determines whether or not to convert the length of PCM data composed of the N samples in the data conversion section by comparing the generated amplitude difference total value with a predetermined threshold value. . Specifically, if the generated amplitude difference total value is larger than the threshold, the data conversion unit 904 generates a determination result indicating that conversion is not to be performed and outputs the result to the data conversion unit 904. On the other hand, when the generated amplitude difference total value is equal to or smaller than the threshold, the data conversion unit 904 generates a determination result indicating that the conversion is performed, and outputs the determination result to the data conversion unit 904.
[0112]
Note that the conversion execution determination unit 1004 determines whether or not to perform conversion in the data conversion unit 904 based on the N-1 total amplitude differences, but the present invention is not limited to this. For example, conversion execution determination section 1004 may calculate the sum of squares of the difference between the amplitudes indicated by the k-th sample and the (k + 1) -th sample in the N samples, and make the determination based on the calculated sum of squares. .
[0113]
As described above, according to the sixth embodiment, it is determined whether or not to convert the length of PCM data based on N amplitudes indicated by N samples of PCM data. To convert the length of the PCM data based on the sum of the absolute values of the amplitude differences (amplitudes) indicated by two samples adjacent to each other in N samples (ie, the k-th sample and the (k + 1) -th sample). The conversion of the length of the PCM data can be performed only when the sum of the differences is smaller than a predetermined threshold value. Therefore, it is possible to avoid the conversion of the PCM data having a large auditory effect given by the conversion of the length. The auditory influence on the PCM data can be reduced.
[0114]
Note that digital data processing apparatus 1000 according to the sixth embodiment includes conversion unit adjustment section 606 of digital data processing apparatus 600 according to the third embodiment or conversion unit adjustment section 706 of digital data processing apparatus 700 according to the fourth embodiment. And a configuration including a detection frequency measurement unit 708.
[0115]
【The invention's effect】
As described above, according to the present invention, the input data rate when digital data is input to the storage means for temporarily storing digital data or the output data rate when digital data is output from the storage means are adjusted. Thus, it is possible to prevent overflow and underflow of the storage means without using a circuit for changing the frequency of the clock signal used in the device, to suppress an increase in the device scale, and to reduce the manufacturing cost.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a digital data processing device according to a first embodiment of the present invention.
FIG. 2 is a block diagram illustrating an example of a configuration of a VoIP terminal device including the digital data processing device according to the first embodiment of the present invention.
FIG. 3 is a block diagram showing a configuration of a digital data processing device according to a second embodiment of the present invention.
FIG. 4 is a diagram for explaining an interpolation process in a digital data processing device according to a second embodiment of the present invention.
FIG. 5 is a diagram illustrating a thinning process in the digital data processing device according to the second embodiment of the present invention.
FIG. 6 is a block diagram showing a configuration of a digital data processing device according to a third embodiment of the present invention.
FIG. 7 is a block diagram showing a configuration of a digital data processing device according to a fourth embodiment of the present invention.
FIG. 8 is a diagram for explaining an operation of adjusting the length of a conversion unit in the digital data processing device according to the fourth embodiment of the present invention;
FIG. 9 is a block diagram showing a configuration of a digital data processing device according to a fifth embodiment of the present invention.
FIG. 10 is a block diagram showing a configuration of a digital data processing device according to a sixth embodiment of the present invention.
FIG. 11 is a block diagram showing an example of a configuration of a conventional digital data processing device.
[Explanation of symbols]
100, 300, 600, 700, 900, 1000 Digital data processing device
102 Data input section
104 buffers
106 Data output unit
108 Clock signal I generator
110 Clock signal O generator
112, 302, 602, 702, 902, 1002 Speed adjuster
200 VoIP terminal device
202 Communication unit
204 packet analyzer
206 Decoding unit
208 D / A converter
210 Audio output unit
304, 604, 904 data conversion unit
306, 704 Speed difference detector
606, 706 Conversion unit adjustment unit
708 Detection frequency measurement unit
906, 1004 Conversion execution determination unit

Claims (6)

ディジタルデータを一時的に蓄積する蓄積手段と、
第1クロック信号の周波数に基づいて前記蓄積手段に前記ディジタルデータを入力するデータ入力手段と、
第2クロック信号の周波数に基づいて前記蓄積手段から前記ディジタルデータを出力するデータ出力手段と、
前記データ入力手段における入力データ速度または前記データ出力手段における出力データ速度を調整する速度調整手段と、
を有することを特徴とするディジタルデータ処理装置。
Storage means for temporarily storing digital data;
Data input means for inputting the digital data to the storage means based on a frequency of the first clock signal;
Data output means for outputting the digital data from the storage means based on a frequency of a second clock signal;
Speed adjusting means for adjusting an input data rate in the data input means or an output data rate in the data output means,
A digital data processing device comprising:
前記速度調整手段は、
前記入力データ速度および前記出力データ速度の速度差を検出する速度差検出手段と、
前記速度差検出手段によって検出された前記速度差に基づいて線形的な補間処理または間引き処理によって前記ディジタルデータの長さを変換するデータ変換手段と、
を有することを特徴とする請求項1記載のディジタルデータ処理装置。
The speed adjusting means,
Speed difference detecting means for detecting a speed difference between the input data speed and the output data speed,
Data conversion means for converting the length of the digital data by linear interpolation processing or thinning processing based on the speed difference detected by the speed difference detection means,
2. The digital data processing device according to claim 1, comprising:
前記データ変換手段によって変換される前記ディジタルデータの変換単位の長さを調整する変換単位調整手段をさらに有することを特徴とする請求項2記載のディジタルデータ処理装置。3. The digital data processing apparatus according to claim 2, further comprising a conversion unit adjusting unit for adjusting a length of a conversion unit of the digital data converted by the data conversion unit. 前記速度調整手段は、
前記速度差検出手段によって前記速度差が検出される検出頻度を測定する検出頻度測定手段をさらに有し、
前記変換単位調整手段は、
前記検出頻度測定手段によって測定された前記検出頻度に基づいて前記変換単位の長さの調整を行うことを特徴とする請求項3記載のディジタルデータ処理装置。
The speed adjusting means,
Further having a detection frequency measuring means for measuring a detection frequency at which the speed difference is detected by the speed difference detecting means,
The conversion unit adjustment means,
4. The digital data processing device according to claim 3, wherein the length of the conversion unit is adjusted based on the detection frequency measured by the detection frequency measurement unit.
前記ディジタルデータは複数の振幅を示し、
前記速度調整手段は、
前記ディジタルデータの前記複数の振幅に基づいて前記ディジタルデータの長さを変換するか否かを判定して判定結果を生成する判定手段をさらに有し、
前記データ変換手段は、
前記判定手段によって生成された前記判定結果に基づいて前記ディジタルデータの長さの変換を行うことを特徴とする請求項2記載のディジタルデータ処理装置。
The digital data indicates a plurality of amplitudes,
The speed adjusting means,
A determination unit that determines whether to convert the length of the digital data based on the plurality of amplitudes of the digital data and generates a determination result,
The data conversion means,
3. The digital data processing device according to claim 2, wherein the length of the digital data is converted based on the determination result generated by the determination unit.
ディジタルデータを蓄積手段に一時的に蓄積する蓄積ステップと、
第1クロック信号の周波数に基づいて前記蓄積手段に前記ディジタルデータを入力するデータ入力ステップと、
第2クロック信号の周波数に基づいて前記蓄積手段から前記ディジタルデータを出力するデータ出力ステップと、
前記データ入力ステップにおける入力データ速度または前記データ出力ステップにおける出力データ速度を調整する速度調整ステップと、
を有することを特徴とするディジタルデータ処理方法。
A storage step of temporarily storing digital data in storage means;
A data input step of inputting the digital data to the storage means based on a frequency of the first clock signal;
A data output step of outputting the digital data from the storage means based on a frequency of a second clock signal;
A speed adjusting step of adjusting an input data rate in the data input step or an output data rate in the data output step;
A digital data processing method comprising:
JP2002320263A 2002-11-01 2002-11-01 Digital data processing apparatus and digital data processing method Pending JP2004158925A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002320263A JP2004158925A (en) 2002-11-01 2002-11-01 Digital data processing apparatus and digital data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002320263A JP2004158925A (en) 2002-11-01 2002-11-01 Digital data processing apparatus and digital data processing method

Publications (1)

Publication Number Publication Date
JP2004158925A true JP2004158925A (en) 2004-06-03

Family

ID=32801227

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002320263A Pending JP2004158925A (en) 2002-11-01 2002-11-01 Digital data processing apparatus and digital data processing method

Country Status (1)

Country Link
JP (1) JP2004158925A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006009087A1 (en) * 2004-07-20 2006-01-26 Matsushita Electric Industrial Co., Ltd. Stream data reception/reproduction device and stream data reception/reproduction method
JP2008153941A (en) * 2006-12-18 2008-07-03 Kddi Corp Sound packet reproducing device having clock correction function, communication terminal and program
WO2010041380A1 (en) * 2008-10-06 2010-04-15 三菱電機株式会社 Signal reception device and signal transmission system
JP2011517921A (en) * 2008-04-15 2011-06-16 クゥアルコム・インコーポレイテッド Timing mismatch synchronization by data insertion
JP2016009931A (en) * 2014-06-23 2016-01-18 日本電信電話株式会社 Station side optical line termination device, subscriber side optical line termination device, signal generation method, and signal reception method
JP2016009930A (en) * 2014-06-23 2016-01-18 日本電信電話株式会社 Station side optical line terminator and signal generation method

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4744444B2 (en) * 2004-07-20 2011-08-10 パナソニック株式会社 STREAM DATA RECEIVING / REPRODUCING DEVICE, COMMUNICATION SYSTEM, AND STREAM DATA RECEIVING / REPRODUCING METHOD
JPWO2006009087A1 (en) * 2004-07-20 2008-05-01 松下電器産業株式会社 Stream data receiving / reproducing apparatus and stream data receiving / reproducing method
US8718452B2 (en) 2004-07-20 2014-05-06 Panasonic Corporation Stream data reception/reproduction device and stream data reception/reproduction method
WO2006009087A1 (en) * 2004-07-20 2006-01-26 Matsushita Electric Industrial Co., Ltd. Stream data reception/reproduction device and stream data reception/reproduction method
JP2008153941A (en) * 2006-12-18 2008-07-03 Kddi Corp Sound packet reproducing device having clock correction function, communication terminal and program
JP4679502B2 (en) * 2006-12-18 2011-04-27 Kddi株式会社 Voice packet reproducing apparatus, communication terminal and program having clock correction function
JP2014078970A (en) * 2008-04-15 2014-05-01 Qualcomm Incorporated Synchronizing timing mismatch by data insertion
JP2011521519A (en) * 2008-04-15 2011-07-21 クゥアルコム・インコーポレイテッド Timing mismatch synchronization by data deletion
US8589720B2 (en) 2008-04-15 2013-11-19 Qualcomm Incorporated Synchronizing timing mismatch by data insertion
JP2014078971A (en) * 2008-04-15 2014-05-01 Qualcomm Incorporated Synchronizing timing mismatch by data deletion
JP2011517921A (en) * 2008-04-15 2011-06-16 クゥアルコム・インコーポレイテッド Timing mismatch synchronization by data insertion
JP5031101B2 (en) * 2008-10-06 2012-09-19 三菱電機株式会社 Signal receiving apparatus and signal transmission system
US8442177B2 (en) 2008-10-06 2013-05-14 Mitsubishi Electric Corporation Signal receiving apparatus and signal transmitting system
WO2010041380A1 (en) * 2008-10-06 2010-04-15 三菱電機株式会社 Signal reception device and signal transmission system
JP2016009931A (en) * 2014-06-23 2016-01-18 日本電信電話株式会社 Station side optical line termination device, subscriber side optical line termination device, signal generation method, and signal reception method
JP2016009930A (en) * 2014-06-23 2016-01-18 日本電信電話株式会社 Station side optical line terminator and signal generation method

Similar Documents

Publication Publication Date Title
US7710982B2 (en) Sound packet reproducing method, sound packet reproducing apparatus, sound packet reproducing program, and recording medium
EP1382143B1 (en) Methods for changing the size of a jitter buffer and for time alignment, communications system, receiving end, and transcoder
US8320391B2 (en) Acoustic signal packet communication method, transmission method, reception method, and device and program thereof
US9245529B2 (en) Adaptive encoding of a digital signal with one or more missing values
KR20080002757A (en) Method for concatenating frames in communication system
KR100722707B1 (en) Transmission system for transmitting a multimedia signal
CN104205210A (en) Decoding device and method, audio signal processing device and method, and program
KR20030010728A (en) Compression method and apparatus, decompression method and apparatus, compression/decompression system, peak detection method, program, and recording medium
KR20150096494A (en) Generation of a comfort noise with high spectro-temporal resolution in discontinuous transmission of audio signals
EP1344036B1 (en) Method and a communication apparatus in a communication system
US6791482B2 (en) Method and apparatus for compression, method and apparatus for decompression, compression/decompression system, record medium
CN101518001B (en) Network jitter smoothing with reduced delay
JP2004158925A (en) Digital data processing apparatus and digital data processing method
Iem A nonuniform sampling technique based on inflection point detection and its application to speech coding
JPH02309820A (en) Digital signal processor
JP2002049397A (en) Digital signal processing method, learning method, and their apparatus, and program storage media therefor
JPS5917839B2 (en) Adaptive linear prediction device
KR100594599B1 (en) Apparatus and method for restoring packet loss based on receiving part
EP3618312B1 (en) Signal processing device, signal processing method and program
JP2001016267A (en) Communication equipment and method and medium
JP2006135657A (en) Device and method for receiving data
JP4135621B2 (en) Receiving apparatus and method
JPH10336122A (en) Digital signal processor
JP2008112056A (en) Audio sigmal processor
JP2004054156A (en) Method and device for encoding sound signal