(57)【要約】【課題】サンプリングレートが異なる複数のデジタルデータをミキシングする装置の演算負荷または回路規模を抑制する。【解決手段】変換用データバッファ１３２は、データＢにおける最新の複数のサンプルと、該複数のサンプル間に挿入され、データＢのサンプリングレート変換の倍率に応じた個数の０値とを変換用サンプルとしてシフトしながら格納する。ＦＩＲフィルタ複合係数バッファ１３４は、ＦＩＲフィルタ係数と、データＢのボリュームを調整するためのＢボリューム係数を乗算して得た複合係数を格納する。演算制御セレクタ１３８は、変換用データバッファ１３２に格納された変換用サンプルと、相対応する複合係数とを順次出力し、乗算器１４０は、演算制御セレクタ１３８から出力されたサンプル／係数ペアを乗算する。累積加算部１５０は、乗算器１４０の乗算結果を累積加算する。【選択図】図１
2009004848.tif 000002
【特許請求の範囲】
【請求項１】
第１のサンプリングレートを有するデジタルＡと、前記第１のサンプリングレートより低い第２のサンプリングレートを有するデータＢとをミキシングするミキシング装置において、
前記データＢにおける最新の複数のサンプルと、挿入信号に応じて前記複数のサンプル間に挿入され、前記第１のサンプリングレートと前記第２のサンプリングレートの比に応じた個数の挿入値とを変換用サンプルとしてシフトしながら格納するデータ格納部と、
前記データ格納部に格納された複数の前記変換用サンプルと積和演算されることによって、サンプリングレートが前記第１のサンプリングレートに変換された後にデータＢにおけるサンプルを得ることができる複数の変換係数に、前記データＢのボリュームを調整するためのＢボリューム係数を乗算して得た複数の複合係数を格納する係数格納部と、
前記データ格納部に格納された複数の前記変換用サンプルのうちの１つの変換用サンプルと、該変換用サンプルに対応し、前記係数格納部に格納された前記複数の複合係数のうちの１つの複合係数とからなるサンプル／係数ペアを出力するものであって、前記積和演算の次数に応じた数の前記サンプル／係数ペアを順次出力する第１の出力処理を行う演算制御セレクタと、
前記演算制御セレクタから出力されたサンプル／係数ペアを乗算する乗算器と、
該乗算器の結果を累積加算する累積加算部と、
前記挿入信号を生成して前記データ格納部に供する制御部とを備えることを特徴とするミキシング装置。
【請求項２】
前記変換係数は、ＦＩＲ（Ｆｉｎｉｔｅ  Ｉｍｐｕｌｓｅ  Ｒｅｓｐｏｎｓｅ）フィルタ係数であることを特徴とする請求項１に記載のミキシング装置。
【請求項３】
前記挿入値は、０値であることを特徴とする請求項１または２に記載のミキシング装置。
【請求項４】
前記累積加算部の結果を外部に出力するミックス結果出力部とさらに備え、
前記係数格納部は、前記データＡのボリュームを調整するためのＡボリューム係数をさらに格納するものであり、
前記演算制御セレクタは、与えられた制御信号が「サンプリングレートの変換」を示すときに前記第１の処理を行い、前記制御信号が「ミックス」を示すときに、前記データＡにおける最新のサンプルと、前記係数格納部に格納された前記Ａボリューム係数とからなるサンプル／係数ペアを出力する第２の出力処理を行うものであり、
前記制御部は、「サンプリングレートの変換」と「ミックス」を示す前記制御信号を生成して交互に前記演算制御セレクタと前記ミックス結果出力部に供するものであり、
前記ミックス結果出力部は、前記制御信号が「ミックス」を示すことを条件に前記累積加算部の結果を出力することを特徴とする請求項１に記載のミキシング装置
【請求項５】
前記第１のサンプリングレートと前記第２のサンプリングレートの比が整数ではない場合において、
前記係数格納部に格納された前記複合係数は、前記第２のサンプリングレートの整数倍でありかつ前記第１のサンプリングレート以上の中間サンプリングレートに前記データＢのサンプリングレートを変換するように設定されたものであり、
前記制御部は、前記中間サンプリングレートと前記第２のサンプリングレートに応じた個数の前記挿入値が挿入されるように前記挿入信号を生成すると共に、前記第１の処理が実行される頻度が前記第１のサンプリングレートに合致するように「サンプリングレートの変換」を示す制御信号を前記演算制御セレクタに供する回数を間引きすることを特徴とする請求項４に記載のミキシング装置。
【請求項６】
第１のサンプリングレートを有するデジタルＡと、前記第１のサンプリングレートより低い第２のサンプリングレートを有するデータＢとをミキシングするミキシング装置において、
前記データＢにおける最新の複数のサンプルをシフトしながら格納するデータ格納部と、
前記第１のサンプリングレートと前記第２のサンプリングレートの比に応じて決められた複数の補間係数であって、前記データ格納部に格納された前記複数のサンプルと積和演算されることによって、前記データＢのサンプリングレートを前記第１のサンプリングレートに変換するための、前記複数のサンプル間に挿入される補間サンプルを求めることができる前記複数の補間係数に、前記データＢのボリュームを調整するためのＢボリューム係数を乗算して得た複数の複合係数と、前記Ｂボリューム係数とを格納する係数格納部と、
与えられた制御信号が「元のサンプルの出力」を示すときに、前記データ格納部に格納された前記複数のサンプルのうちの所定のサンプルと、前記係数格納部に格納された前記Ｂボリューム係数とを出力する第１の出力処理を行う一方、前記制御信号が「補間サンプルの生成」を示すときに、前記複数のサンプルを１つずつ順次に、該サンプルと対応した、前記係数格納部に格納された前記複数の複合係数のうちの１つの複合係数と共に出力する第２の出力処理を行う演算制御セレクタと、
前記演算制御セレクタから出力されたサンプル／係数ペアを乗算する乗算器と、
該乗算器の結果を累積加算する累積加算部と、
前記制御信号を生成して前記演算制御セレクタに供する制御部とを備えることを特徴とするミキシング装置。
【請求項７】
前記累積加算部の結果を外部に出力するミックス結果出力部をさらに備え、
前記係数格納部は、前記データＡのボリュームを調整するためのＡボリューム係数をさらに格納するものであり、
前記演算制御セレクタは、前記制御信号が「ミックス」を示すときに、前記データＡにおける最新のサンプルと、前記係数格納部に格納された前記Ａボリューム係数とを出力する第３の出力処理を行うものであり、
前記制御部は、「元のサンプルの出力」および「補間サンプルの生成」の制御信号を前記演算制御セレクタに与える度に、与えた前記制御信号に続いて「ミックス」を示す制御信号を生成して前記演算制御セレクタと前記ミックス結果出力部に供するものであり、
前記ミックス結果出力部は、前記制御信号が「ミックス」を示すことを条件に前記累積加算部の結果を出力することを特徴とする請求項６に記載のミキシング装置。
【請求項８】
前記第１のサンプリングレートと前記第２のサンプリングレートの比が整数ではない場合において、
前記係数格納部に格納された前記複合係数は、前記第２のサンプリングレートの整数倍でありかつ前記第１のサンプリングレートより大きい中間サンプリングレートに前記データＢのサンプリングレートを変換するように設定されたものであり、
前記制御部は、前記第１の出力処理が実行される頻度と前記第２の出力処理が実行される頻度の和が前記第１のサンプリングレートに合致するように、「元のサンプルの出力」を示す制御信号を前記演算制御セレクタに供する回数を間引きすることを特徴とする請求項７に記載のミキシング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のデジタルデータ、具体的にはサンプリングレートが異なる複数のデジタルデータをミキシングする技術に関する。
【背景技術】
【０００２】
デジタルオーディオデータが、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）、ＤＡＴ（Ｄｉｇｉｔａｌ  Ａｕｄｉｏ  Ｔａｐｅ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）など種々の記録媒体に様々な記録方式で記録されることは多く行われている。記録媒体や記録方式によって、オーディオデータのサンプリングレートは異なる場合がある。
【０００３】
サンプリングレートが異なる複数のデジタルオーディオデータをミキシングする手法は概して２つに分けられる。第１の手法は、これらの複数のデジタルオーディオデータに対してＤ／Ａ変換を行いアナログ信号に変換してからミックスし、ミックスされたアナログ信号に対してＤ／Ａ変換によってサンプリングしてデジタルのオーディオデータに戻す手法である。第２の手法は、これらの複数のデジタルオーディオデータのサンプリングレートが同一になるようにサンプリングレート変換をし、サンプリング変換後のオーディオデータをサンプル毎に加算することによってデジタルデータのままでミックスする手法である。
【０００４】
第１の手法は、オーディオデータを一旦アナログに戻してミックスするので、オリジナルのオーディオデータソースの品質がミキシングによって低下してしまうという問題が生じる。
【０００５】
第２の手法のようにデジタルデータのままでオーディオデータをミックスするための、オーディオ−データのサンプリングレートを変換する処理について様々な手法が提案されている。
【０００６】
例えば、特許文献１には、サンプリングレートが異なる２つのデジタルオーディオデータＡ、Ｂをミキシングする際に、サンプリングレートが低いデータＢに対して補間処理を施すことによってそのサンプリングレートをデータＡのサンプリングレートに変換する手法が開示されている（特許文献１の「００１５」を参照）。この補間処理は、具体的には、横軸が時間であり、縦軸がサンプリングデータの値である座標系において、データＢの時間的に連続した３つのサンプル（Ｙ０、Ｙ１、Ｙ２）中のＹ２とＹ１、およびＹ２とＹ０をそれぞれ直線で結び、２つの直線の傾きおよびサンプリングレートの変換倍率に基づいてサンプリングデータＹ１とＹ２の間で補間すべき１以上の補間サンプルの値を求める。この処理は、サンプルＹ０、Ｙ１、Ｙ２の値に、それぞれに対応する補間係数を乗算する積和演算であり、補間係数はサンプリングレートの変換倍率に依存する。
【０００７】
また、特許文献２には、複数のデジタルデータのうちの、サンプリングレートが変換されるデジタルデータに対してサンプリングレート変換倍率に応じた頻度で０値を挿入した後に、ＦＩＲ（Ｆｉｎｉｔｅ  Ｉｍｐｕｌｓｅ  Ｒｅｓｐｏｎｓｅ）フィルタで重み付き移動平均をとることでサンプリングレートを変換する手法が開示されている。図１３は、特許文献２の図６であり、この手法に基づいて、時分割多重化された入力データに含まれる２つのチャンネルの入力データ（サンプリングレートが異なる２つの入力データに相当する）を処理するデジタルフィルタを示している。このデジタルフィルタは、データ格納部７０と、乗算部２０と、入力データのレベルを変換するための出力係数が格納された出力係数格納部３１と、フィルタ処理を行うための複数のフィルタ係数が格納されたフィルタ係数格納部３０と、２つの入力データを所定の割合で混合するパン処理のためのパン係数が格納されたパン係数格納部３２と、累積加算部４０と、データ出力部５１および５２を備える。
【０００８】
データ格納部７０は、入力データ毎に、最新の複数個のサンプルと、該複数個のサンプル間に挿入される０値とを格納する。以下説明上の便宜のため、これらの複数のサンプルと０値を、変換用サンプルという。
【０００９】
図１３に示すデジタルフィルタは、まず１つの入力データに対して下記の処理を行うことによってサンプリングレートを変換する。
【００１０】
データ格納部７０におけるセレクタ７８は、当該入力データの上記変換用サンプルを乗算部２０に順次出力し、乗算部２０は、セレクタ７８から出力された変換用サンプルと、出力係数格納部３１に格納された出力係数とを乗算して累積加算部４０に出力する。累積加算部４０は、乗算部２０の乗算結果を保持すると共に、データ格納部７０にフィードバックする。この処理によって、データ格納部７０には、レベルが変換された各変換サンプルが格納される。
【００１１】
次にセレクタ７８は、レベルが変換された各変換サンプルを順次乗算部２０に出力し、乗算部２０は、セレクタ７８の出力と、フィルタ係数格納部３０に格納された相対応するフィルタ係数とを乗算して累積加算部４０に出力する。累積加算部４０は、乗算部２０の乗算結果を累積加算して、データ格納部７０にフィードバックする。この処理によって、データ格納部７０には、サンプリングレートが変換された後のサンプル値が格納される。
【００１２】
２つの入力データのうちのもう１つの入力データに対しても上記と同じ処理が行われ、データ格納部７０には、この入力データの、レベルが変更されてサンプリングレートが変換されたサンプル値が格納される。
【００１３】
そして、セレクタ７８は、２つのデータの上記サンプル値をデータ格納部７０から順次読み出して乗算部２０に出力し、乗算部２０は、セレクタ７８の出力と、パン係数格納部３２に格納されたパン係数とを乗算して累積加算部４０に出力する。累積加算部１５０は、それぞれのパン係数が乗算されたサンプル値を加算し、データ出力部５１は、累積加算部１５０の加算結果を出力する。
【００１４】
特許文献２の手法は、デジタルデータをデジタル形式のままでミキシングすることができると共に、それぞれの入力データに対して共通した乗算部２０と累積加算部４０を用いることができるため、回路規模をある程度抑制している。
【特許文献１】特開平１１−２１３５５８号公報
【特許文献２】特開２００３−２６４４５１号公報
【特許文献３】特開２００４−２６６８２４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
近年、記録媒体の高密度化、データ通信の高レート化、データ圧縮技術の向上などの背景において、デジタルオーディオデータなどのデジタルデータの多チャンネル化、高サンプリングレート化が進み、これらのデータを処理する装置の処理負荷および回路規模が増大しており、今後もさらに増大すると予測される。各企業がコストダウンにしのぎを削る昨今では、装置の処理負荷と回路規模の抑制のさらなる軽減は希望されている。
【課題を解決するための手段】
【００１６】
本発明の一つの態様は、第１のサンプリングレートを有するデジタルＡと、第１のサンプリングレートより低い第２のサンプリングレートを有するデータＢとをミキシングするミキシング装置である。このミキシング装置は、データ格納部と、係数格納部と、演算制御セレクタと、乗算器と、累積加算部と、制御部とを備える。
【００１７】
制御部は、挿入信号を生成してデータ格納部に供する。
【００１８】
データ格納部は、データＢにおける最新の複数のサンプルと、制御部からの挿入信号に応じて該複数のサンプル間に挿入され、第１のサンプリングレートと第２のサンプリングレートの比に応じた個数の挿入値とを変換用サンプルとしてシフトしながら格納する。
【００１９】
係数格納部は、データ格納部に格納された複数の変換用サンプルと積和演算されることによって、サンプリングレートが第１のサンプリングレートに変換された後にデータＢにおけるサンプルを得ることができる複数の変換係数に、データＢのボリュームを調整するためのＢボリューム係数を乗算して得た複数の複合係数を格納する。
【００２０】
演算制御セレクタは、データ格納部に格納された複数の変換用サンプルのうちの１つの変換用サンプルと、該変換用サンプルに対応し、係数格納部に格納された複数の複合係数のうちの１つの複合係数とからなるサンプル／係数ペアを出力するものであって、上記積和演算の次数に応じた数のサンプル／係数ペアを順次出力する第１の出力処理を行う。
【００２１】
乗算器は、演算制御セレクタから出力されたサンプル／係数ペアを乗算し、累積加算部は、乗算器の結果を累積加算する。
【００２２】
本発明の別の態様も、第１のサンプリングレートを有するデジタルＡと、第１のサンプリングレートより低い第２のサンプリングレートを有するデータＢとをミキシングするミキシング装置である。このミキシング装置は、データ格納部と、係数格納部と、演算制御セレクタと、乗算器と、累積加算部と、制御部とを備える。
【００２３】
制御部は、「元のサンプルの出力」と「補間サンプルの生成」のいずれかを示す制御信号を生成して演算制御セレクタに出力する。
【００２４】
データ格納部は、データＢにおける最新の複数のサンプルをシフトしながら格納する。
【００２５】
演算制御セレクタは、複数の複合係数と、データＢのボリュームを調整するためのＢボリューム係数を格納している。複数の複合係数は、複数の補間係数とＢボリューム係数とを乗算して得たものである。複数の補間係数は、第１のサンプリングレートと第２のサンプリングレートの比に応じて決められ、データ格納部に格納された複数のサンプルと積和演算されることによって、データＢのサンプリングレートを第１のサンプリングレートに変換するための、上記複数のサンプル間に挿入される補間サンプルを求めることができるものである。
【００２６】
演算制御セレクタは、制御部から与えられた制御信号が「元のサンプルの出力」を示すときに、データ格納部に格納された複数のサンプルのうちの所定のサンプルと、係数格納部に格納されたＢボリューム係数とを出力する一方、制御信号が「補間サンプルの生成」を示すときに、複数のサンプルを１つずつ順次に、該サンプルと対応した、係数格納部に格納された複数の複合係数のうちの１つの複合係数と共に出力する。
【００２７】
乗算器は、演算制御セレクタから出力されたサンプル／係数ペアを乗算し、累積加算部は、乗算器の結果を累積加算する。
【００２８】
なお、上記各態様のミキシング装置を方法、およびこの方法をコンピュータに実行せしめるプログラムや、システムなどとして表現したものも、本発明の態様として有効である。
【発明の効果】
【００２９】
本発明にかかる技術によれば、サンプリングレートが異なる複数のデジタルデータミキシングする際に、処理負荷の軽減または回路規模の抑制を図ることができる。
【発明を実施するための最良の形態】
【００３０】
本発明の具体的な実施の形態を説明する前に、まずデジタルオーディオデータを例にして本発明の原理について説明する。
【００３１】
前述したように、デジタルオーディオデータのサンプリングレートを変換する際に、該オーディオデータのサンプル間に、サンプリングレート変換の倍率に応じた個数の０を挿入してフィルタたとえばＦＩＲフィルタ処理を行う手法がある。ＦＩＲフィルタ処理は、通常、下記の式（１）で表す積和演算である。なお、式（１）においてＸで表される「入力信号値」は、ＦＩＲフィルタ処理に供する信号値を意味し、オーディオデータのサンプル値または挿入された０値である。
【００３２】
ＹＫ＝ｈ０ＸＫ＋ｈ１ＸＫ−１＋・・・ｈｎＸＫ−ｎ        （１）
但し，Ｙ：出力信号値（サンプリングレート変換後の信号値）
Ｘ：入力信号値
ｈ：変換係数
ｎ：次数
【００３３】
式（１）から分かるように、ＦＩＲフィルタ処理によれば、時刻ｋにおける出力信号値ＹＫは、現在および過去の入力信号値ＸＫ、ＸＫ−１、・・・ＸＫ−ｎの重み付け平均値である。
【００３４】
また、サンプリングレートが異なる複数のオーディオデータをデジタル形式のままでミキシングする際に、各オーディオデータのサンプリングレートを同一にしてからミックスするが、ミックスする際に、音量バランス調整のために、オーディオデータのサンプルにそのオーディオデータに対して設定されたボリューム調整の係数（ボリューム係数）を乗算するボリューム調整処理が行われる。ボリューム調整処理は、下記の式（２）で表すことができる。
【００３５】
Ｘ'Ｋ＝α×ＸＫ                          （２）
但し，Ｘ'：ボリューム調整後の入力信号値
Ｘ：ボリューム調整前の入力信号値
α：ボリューム係数
【００３６】
なお、ボリューム係数は、図１３に示すデジタルフィルタにおける出力係数格納部３１に格納された出力係数と、パン係数格納部３２に格納されたパン係数とを乗算して得たものに対応する。
【００３７】
式（２）におけるＸ'Ｋを入力信号値ＸＫとして式（１）に代入すれば、下記の式（３）を得ることができる。
【００３８】
ＺＫ＝αｈ０ＸＫ＋αｈ１ＸＫ−１＋・・・αｈｎＸＫ−ｎ        （３）
但し，Ｚ：出力信号値 
Ｘ：入力信号値
ｈ：ＦＩＲフィルタ係数
α：ボリューム係数
【００３９】
式（３）における出力信号値Ｚは、サンプリング変換およびボリューム調整後ボリューム調整後の信号値となる。すなわち、ＦＩＲフィルタ処理の係数を「ＦＩＲフィルタ係数×ボリューム係数」に設定すれば、ＦＩＲフィルタ処理によってサンプリングレート変換とボリューム調整が同時にできる。
【００４０】
次いでＦＩＲフィルタを使用せず、デジタルオーディオデータに対して補間処理を行うことによってサンプリングレートを変換する手法の場合について説明する。
【００４１】
この手法は、補間処理に際してデジタルオーディオデータにおける複数のサンプルを用いて、これらの複数のサンプルの間の所定の位置に挿入される補間サンプルを求める。補間データを求める補間処理の種々の手法の中で、例えば特許文献１に開示されたような、複数のサンプル（特許文献１の例では３つのサンプル）と複数の補間係数とを積和演算するものがある。この手法を下記の式（４）で表すことができる。なお、式（４）における「入力信号値」は、補間データを求める処理に供される信号値を意味し、オーディオデータの元のサンプル値である。
【００４２】
Ｙｋ＝β０ＸＫ＋β１ＸＫ−１＋・・・βｍＸＫ−ｍ        （４）
但し，Ｙ：補間サンプル値
Ｘ：入力信号値
β：補間係数
ｍ：補間に用いられるサンプルの個数
【００４３】
ボリューム係数を同じくαとすると、下記式（５）に示す演算によって、ボリューム調整された補間サンプルを得ることができる。
Ｚ＝αβ０ＸＫ＋αβ１ＸＫ−１＋・・・αβｍＸＫ−ｍ        （５）
但し，Ｚ：出力信号値
Ｘ：入力信号値
α：ボリューム係数
β：補間係数
ｍ：補間に用いられるサンプルの個数
【００４４】
式（３）における出力信号値Ｚは、サンプリング変換およびボリューム調整がなされた後の信号値となる。すなわち、補間処理の係数を「補間係数×ボリューム係数」に設定して補間処理を行うようにすれば、補間処理とボリューム調整が同時にできる。
【００４５】
すなわち、サンプリングレート変換のための積和演算の係数にボリューム係数を乗算して得た複合係数を用いて積和演算を行えば、サンプリングレート変換とボリューム調整が同時にできる。
【００４６】
以下、上記原理を具現化した実施の形態について説明する。
＜第１の実施の形態＞
図１は、本発明の第１の実施の形態にかかるミキシング装置１００を示す。ミキシング装置１００は、複数のオーディオデータをミキシングするものであり、ここで一例として、ミキシング装置１００の処理対象となるオーディオデータの数がデータＡとデータＢの２つであり、データＡはデータＢより高いサンプリングレートを有する。また、ミキシング装置１００は、データＢのサンプリングレートをデータＡのサンプリングレートに変換し、データＡと、サンプリングレート変換がなされたデータＢとをミックスするものであり、データＢのサンプリングレート変換に際しては、０値を挿入してＦＩＲフィルタ処理を施す手法を用いる。
【００４７】
図１に示すように、ミキシング装置１００は、制御部１１０と、入力部１２０と、データ／係数格納部１３０と、演算制御セレクタ１３８と、乗算器１４０と、累積加算部１５０と、出力部１６０とを備える。データ／係数格納部１３０は、変換用データバッファ１３２と、ＦＩＲフィルタ複合係数バッファ１３４と、Ａボリューム係数バッファ１３６とを有し、累積加算部１５０は、加算器１５２とデータレジスタ１５４とを有する。なお、図１において、様々な処理を行う機能ブロックとして記載された各要素は、ハードウェア的には、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的にはメモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックは、ハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００４８】
入力部１２０は、デジタルオーディオデータであるデータＡとデータＢ、および挿入値となる０値を、制御部１１０の制御に従って入力する。
【００４９】
入力部１２０は、制御部１１０により制御され、データＡまたはデータＢのサンプルをデータ／係数格納部１３０に入力する。さら、入力部１２０は、制御部１１０からの挿入信号（図示せず）に応じてデータＢのサンプル間に挿入される挿入値ここでは０をデータ／係数格納部１３０に入力する。
【００５０】
データ／係数格納部１３０において、変換用データバッファ１３２は、データＢのサンプリングレート変換用のデータをシフトしながら格納する。本実施の形態において、データＢのサンプリングレート変換について、データＢのサンプル間に、サンプリングレート変換倍率（データＡとデータＢのサンプリングレートの比）に応じた個数の０値を挿入してＦＩＲフィルタ処理を施すため、データＢのサンプリングレート変換用のデータ（以下変換用サンプルともいう）は、データＢの最新の複数のサンプルと、これらのサンプル間に挿入された０値である。
【００５１】
また、ＦＩＲフィルタ複合係数バッファ１３４とＡボリューム係数バッファ１３６は、ＦＩＲフィルタ複合係数と、データＡのボリューム調整用の係数（以下Ａボリューム係数ともいう）をそれぞれ格納する。ＦＩＲフィルタ複合係数は、ＦＩＲフィルタ係数と、データＢのボリューム調整用の係数（以下Ｂボリューム係数ともいう）とを乗算して得たものである。
【００５２】
演算制御セレクタ１３８は、４入力２出力のセレクタであり、変換用データバッファ１３２に格納された変換用サンプルと、入力部１２０から入力されたデータＡのサンプルのうちのいずれか１つ、および、ＦＩＲフィルタ複合係数バッファ１３４に格納された係数のうちの１つと、Ａボリューム係数バッファ１３６に格納された係数のうちのいずれかを出力する。
【００５３】
乗算器１４０は、演算制御セレクタ１３８から出力されたサンプル／係数ペアを乗算する。
【００５４】
累積加算部１５０は、加算器１５２とデータレジスタ１５４を備える。データレジスタ１５４は、加算器１５２の出力を、出力部１６０に出力すると共に加算器１５２にフィードバックする。加算器１５２は、乗算器１４０の出力と、データレジスタ１５４からのフィードバックとを加算してデータレジスタ１５４に出力する。
【００５５】
出力部１６０は、制御部１１０の制御に従って、データレジスタ１５４による累積加算の結果を出力する。
【００５６】
制御部１１０は、例えばマイクロプロセッサで構成されるものであり、上記各機能ブロックの制御や、各種係数バッファにおける係数の設定を行う。ここで制御部１１０による演算制御セレクタ１３８と出力部１６０の制御を説明する。
【００５７】
制御部１１０は、「サンプリングレートの変換」と「ミックス」の２つの制御モードを有し、制御モードによって異なる制御信号を生成して出力し、演算制御セレクタ１３８と出力部１６０に異なる処理を行わせる。「サンプリングレートの変換」モードは、データＢに対してサンプリングレート変換を行うためのモードであり、「ミックス」モードは、データＡと、サンプリングレート変換後のデータＢのサンプルとをミックスするためのモードである。
【００５８】
図２は、２つの制御モード毎に、演算制御セレクタ１３８と出力部１６０が制御部１１０の制御に従って行う処理を示す。
【００５９】
「サンプリングレートの変換」モードのとき、演算制御セレクタ１３８は、サンプルについては、変換用データバッファ１３２に格納された変換用サンプルを出力し、係数については、ＦＩＲフィルタ複合係数バッファ１３４に格納されたＦＩＲフィルタ複合係数を出力する。また、この場合、出力部１６０は、データレジスタ１５４からの累積加算結果を出力しない。
【００６０】
「ミックス」のとき、演算制御セレクタ１３８は、サンプルについては、入力部１２０から入力されたデータＡのサンプルを出力し、係数については、Ａボリューム係数バッファ１３６に格納されたＡボリューム係数を出力する。また、この場合、出力部１６０は、データレジスタ１５４からのデータを、ミックス結果として出力する。
【００６１】
図３、図４、図５を参照してミキシング装置１００による処理の詳細を説明する。分かりやすいように、まず、データＡのサンプリングレートがデータＢのサンプリングレートの整数倍である場合について説明する。なお、以下の説明において、データＡとデータＢのサンプリングレートの比を「サンプリングレート倍率」という。
【００６２】
図３は、データＡのサンプリングレートがデータＢのサンプリングレートの整数倍である場合におけるミキシング装置１００の処理を示すフローチャートである。
【００６３】
処理の開始にあたって、制御部１１０は、変換用データバッファ１３２をクリアする（Ｓ２００）。
【００６４】
次に、制御部１１０は、データ／係数格納部１３０におけるＦＩＲフィルタ複合係数バッファ１３４とＡボリューム係数バッファ１３６の係数を設定する（Ｓ２０２）。具体的には、制御部１１０は、ＦＩＲフィルタ複合係数バッファ１３４に、データＢのサンプリングレートを変換するためのＦＩＲフィルタ係数と、データＢのボリューム用の係数とを乗算して得た値（ＦＩＲフィルタ複合係数）を設定し、Ａボリューム係数バッファ１３６にデータＡのボリューム調整用の係数を設定する。
【００６５】
続いて、制御部１１０は、変換用データバッファ１３２へデータを格納する回数をカウントするカウンタ値（以下格納回数Ｋという）を１に設定し、累積加算部１５０におけるデータレジスタ１５４をクリアする（Ｓ２０４、Ｓ２１０）。
【００６６】
そして、制御部１１０は、変換用データバッファ１３２に、１サンプル分のデータシフトをさせる（Ｓ２１４）。
【００６７】
ここで、変換用データバッファ１３２にデータが格納された回数ｋがサンプリングレート倍率に等しい場合には（Ｓ２１８：Ｙｅｓ）、制御部１１０は、データＢのサンプルを変換用データバッファ１３２に格納する処理を入力部１２０に行わせると共に、データ格納回数ｋを０にリセットする（Ｓ２１８：Ｙｅｓ、Ｓ２２０、Ｓ２２４）。一方、変換用データバッファ１３２にデータが格納された回数がサンプリングレートと等しくない場合には、制御部１１０は、入力部１２０に０値を変換用データバッファ１３２に格納させる（Ｓ２１８：Ｎｏ、Ｓ２３０）。
【００６８】
次いで、制御部１１０は、データ格納回数ｋをインクリメントすると共に、制御モードを「サンプリングレートの変換」モードに切り換える（Ｓ２４０、Ｓ２４４）。
【００６９】
これにより、演算制御セレクタ１３８は、変換用データバッファ１３２に格納された変換用データのうちの先頭の１サンプル分と、ＦＩＲフィルタ複合係数バッファ１３４に格納されたＦＩＲフィルタ複合係数のうちの先頭の複合係数とを乗算器１４０に出力する。乗算器１４０は、演算制御セレクタ１３８から出力された変換用データと係数とを乗算して加算器１５２に出力する。加算器１５２は、乗算器１４０の出力と、データレジスタ１５４からフィードバックされた加算器１５２の前回の加算結果とを加算してデータレジスタ１５４に出力する。データレジスタ１５４は、加算器１５２からの今回の加算結果を出力部１６０に出力すると共に加算器１５２にフィードバックする。また、制御部１１０は、変換用データバッファ１３２のシフトと、ＦＩＲフィルタ複合係数バッファ１３４から次の複合係数の出力を、ＦＩＲフィルタの次数分行わせ、その結果、変換用データとＦＩＲフィルタ複合係数の積和演算が行われ、データレジスタ１５４には、データＢのサンプリングレート変換後のデータ値（１サンプル）が格納される（Ｓ２４８）。
【００７０】
そして、制御部１１０は、制御モードを「ミックス」に切り換える（Ｓ２５０）。これにより、入力部１２０からデータＡのサンプルが入力され、演算制御セレクタ１３８から、入力部１２０が入力したデータＡのサンプルと、Ａボリューム係数バッファ１３６に格納されたＡボリューム係数が出力される。その結果、乗算器１４０により、データＡのサンプルと、Ａボリューム係数が乗算されることによって、データＡのサンプルのボリュームが調整される（Ｓ２５４）。
【００７１】
このとき、データレジスタ１５４から加算器１５２にフィードバックしたものがサンプリングレート変換後のデータＢのサンプル値であり、加算器１５２により、乗算器１４０からの、ボリューム調整後のデータＡのサンプル値と、データレジスタ１５４からのフィードバックとが加算され、データＡとデータＢのサンプルがミックスされる（Ｓ２５８）。
【００７２】
また、制御モードが「ミックス」であるため、出力部１６０は、データレジスタ１５４の出力すなわちミックス結果を外部に出力する（Ｓ２６０）。
【００７３】
ステップＳ２１０からの上記処理は、入力部１２０へ入力されるデータが終了するまで行われる。
【００７４】
このように、本実施の形態のミキシング装置１００によれば、データＢのサンプリングレート変換に際して、ＦＩＲフィルタ処理の係数として、ＦＩＲフィルタ係数と、データＢのボリューム調整用の係数とを乗算して得たＦＩＲフィルタ複合係数を用いることにより、データＢのサンプリングレートの変換とボリュームの調整とを同時に行うことができる。特許文献２に記載された技術では、データＢのサンプリングレートの変換とボリュームの調整とを別々に行っているので、データＡのサンプリングレートが４８ＫＨｚである場合には、毎秒４８０００回のボリューム調整処理が必要である。本実施の形態のミキシング装置１００では、サンプリングレート変換するためのＦＩＲフィルタ処理における積和演算の回数は、特許文献２に開示された技術と同様にＦＩＲフィルタの次数分であるが、毎秒４８０００回のボリューム調整処理を行う必要がないため、装置の演算負荷が小さい。
【００７５】
また、特許文献２に開示された技術は、ボリューム調整の後にサンプリングレート変換を行うために、ボリューム調整後のサンプル値をデータＢの入力レジスタ（本実施の形態における変換用データバッファ１３２に対応する）にフィードバックするようになっており、そのための回路が必要である。また、ＦＩＲフィルタ係数を格納するバッファ以外に、データＢのボリューム係数を格納するバッファが必要である。それに対して、本実施の形態のミキシング装置１００は、これらの回路やバッファを必要としないので、回路規模の抑制に功を奏することができる。
【００７６】
次に、図４と図５を参照してデータＡとデータＢのサンプリングレート倍率が整数ではない場合の本実施の形態のミキシング装置１００の処理を説明する。分かりやすいように、例としてデータＡのサンプリングレートが４８ＫＨｚであり、データＢのサンプリングレートが３２ＫＨｚであるとする。
【００７７】
データＡとデータＢのサンプリングレート倍率が整数ではない場合に、ミキシング装置１００は、データＢのサンプリングレートを、データＢのサンプリングレートの整数倍、かつデータＡのサンプリングレート以上のサンプリングレートにアップサンプリングした後に、アップサンプリングされたデータＢを間引きしながら乗算器１４０に出力することによってダウンサンプリングして、データＢのサンプリングレートをデータＡのサンプリングレートに変換する。データＡのサンプリングレートが４８ＫＨｚであり、データＢのサンプリングレートが３２ＫＨｚである例の場合において、データＢのサンプリングレートを９６ＫＨｚに３倍アップサンプリングした後に、２倍のダウンサンプリングを行って１／２にする。以下の説明において、アップアンプリングの倍率をアップ倍率といい、ダウンサンプリングの倍率をダウン倍率という。
【００７８】
図４と図５において、図３に示すステップと同様のものについて同じステップ番号を付与し、図３に示すステップと異なるステップまたは追加されたステップについてのみ新たなステップ番号を付与する。
【００７９】
図４に示すように、処理の開始にあたって、制御部１１０による、変換用データバッファ１３２のクリアからデータ格納回数ｋを１に設定するまでの処理（Ｓ２００〜Ｓ２０４）は、図３に示すサンプリングレート倍率が整数であるときと同じである。データＢのダウンサンプリングのために、制御部１１０は、演算制御セレクタ１３８の出力回数をカウントするカウンタ値（以下出力回数ｍという）を０に設定する（Ｓ３００）。
【００８０】
そして、制御部１１０は、データレジスタ１５４をクリアし（Ｓ２１０）、変換用データバッファ１３２によるデータシフト、変換用データバッファ１３２へのデータ格納を行わせ、データ格納回数ｋのインクリメントをする（Ｓ２１４〜Ｓ２４０）。これらの処理において、ステップＳ３１０における、変換用データバッファ１３２にデータＢのサンプルを格納するか０を格納するかの判断は、格納回数ｋがアップ倍率に等しいか否かに基づいてなされる（Ｓ３１０）。
【００８１】
制御部１１０は、格納回数ｋのインクリメント（Ｓ２２４）と共に、データ出力回数ｍもインクリメントする（Ｓ３２０）。そして、制御部１１０は、データ出力回数ｍがダウン倍率に等しいときには、データ出力回数ｍを０にリセットして（Ｓ３３０：Ｙｅｓ）、図５に示す処理に進む一方、データ出力回数ｍがダウン倍率に等しくないときには、処理をステップＳ２１０に戻す。
【００８２】
図５に移って説明する。図５は、データ出力回数ｍが図４のステップＳ３３０においてデータ出力回数がダウン倍率に等しいためデータ出力回数ｍが０にリセットされた後の処理である。図５に示すように、この場合の制御部１１０の処理は、図３におけるステップＳ２４０（データ格納回数ｋのインクリメント）の後の処理と同じであり、ここで詳細な説明を省略する。
【００８３】
このように、サンプリングレート倍率が整数倍ではないときに、データＢのサンプル間に０値の挿入がアップ倍率に応じた回数分行われる（アップサンプリング）一方、アップサンプリング後のデータがダウン倍率に応じた倍率で間引き（ダウンサンプリング）されながら乗算器１４０に出力される。そのため、サンプリングレート倍率が整数倍ではないときも、データＢのサンプリングレート変換とボリュームの調整を同時にできると共に、ダウンサンプリングにより間引きされたサンプルに対して、ＦＩＲフィルタ処理による畳み込み演算を行わないので、装置の処理負荷を軽減することができる。
＜第２の実施の形態＞
【００８４】
図６は、本発明の第２の実施の形態にかかるミキシング装置２００を示す。ミキシング装置２００も、複数のオーディオデータをミキシングするものであり、ここで一例として、ミキシング装置２００の処理対象となるオーディオデータの数がデータＡとデータＢの２つであり、データＡはデータＢより高いサンプリングレートを有する。また、ミキシング装置２００は、データＢのサンプリングレートをデータＡのサンプリングレートに変換し、データＡと、サンプリングレート変換がなされたデータＢとをミックスするものであり、データＢのサンプリングレート変換に際しては、ＦＩＲフィルタ処理ではなく、たとえば特許文献１に開示されたように、３つのサンプルを用いて補間データを求めて挿入する手法を用いる。なお、図６において、図１に示すミキシング装置１００のものと同一の機能を有する構成要素について同じ符号を付与すると共に、それらの詳細な説明を省略する。
【００８５】
図６に示すように、ミキシング装置２００は、制御部２１０と、入力部２２０と、補間用データ格納部２３０と、係数格納部２４０と、演算制御セレクタ２５０と、乗算器１４０と、累積加算部１５０と、出力部２６０とを備える。
【００８６】
補間用データ格納部２３０は、第１のデータバッファ２３２と、第２のデータバッファ２３４と、第３のデータバッファ２３６の３つのバッファを有し、この３つのバッファは、データＢに対して一つの補間データを求めるための３つのサンプルをそれぞれ格納する。
【００８７】
係数格納部２４０は、５つの係数バッファを有する。Ａボリューム係数バッファ１３６は、データＡのボリューム調整用の係数を格納しており、Ｂボリューム係数バッファ２４８は、データＢのボリューム調整用の係数を格納している。第１の複合係数バッファ２４２は、データＢの補間データを求めるために第１のデータバッファ２３２に格納されたサンプルに乗算する係数と、データＢのボリューム調整用の係数とを乗算して得た値（以下第１の複合係数という）を格納しており、第２の複合係数バッファ２４４は、データＢの補間データを求めるために第２のデータバッファ２３４に格納されたサンプルに乗算する係数と、データＢのボリューム調整用の係数とを乗算して得た値（以下第２の複合係数という）を格納しており、第３の複合係数バッファ２４６は、データＢの補間データを求めるために第３のデータバッファ２３６に格納されたサンプルに乗算する係数と、データＢのボリューム調整用の係数とを乗算して得た値（以下第３の複合係数という）を格納している。
【００８８】
演算制御セレクタ２５０は、９入力２出力のセレクタであり、サンプルについては入力部２２０が入力したデータＡのサンプルと、第１のデータバッファ２３２に格納されたサンプルと、第２のデータバッファ２３４に格納されたサンプル（第１のデータバッファ２３２に格納されたサンプルの次のサンプル）と、第３のデータバッファ２３６に格納されたサンプル（第２のデータバッファ２３４に格納されたサンプルの次のサンプル）の計４つのデータのうちの１つのデータを選択して乗算器１４０に出力し、係数については、Ａボリューム係数バッファ１３６に格納されたＡボリューム係数と、Ｂボリューム係数バッファ２４８に格納されたＢボリューム係数と、３つの複合係数バッファにそれぞれ格納された複合係数の計５つの係数から１つを選択して乗算器１４０に出力する。
【００８９】
乗算器１４０と累積加算部１５０の説明はここで省略する。
【００９０】
制御部２１０は、例えばマイクロプロセッサで構成されるものであり、上記各機能ブロックの制御や、各種係数バッファにおける係数の設定を行う。ここで制御部２１０による演算制御セレクタ２５０と出力部２６０の制御を説明する。
【００９１】
制御部２１０は、「ミックス」と、「元のサンプルの入力」モードと、「補間モード」の３つの制御モードを有し、「補間モード」についてはさらに３つの補間ステップを有する。制御部２１０は、制御モードおよび補間ステップによって演算制御セレクタ２５０と出力部２６０に異なる処理を行わせる。「ミックス」は、データＡとデータＢのサンプルのミックスをするためのモードであり、「元のサンプルの入力」モードは、第２のデータバッファ２３４に格納されたデータＢのサンプルを出力するモードであり、「補間モード」は、データＢに対して補間サンプルを求めるためのモードである。
【００９２】
図７は、３つの制御モード毎に、演算制御セレクタ２５０と出力部２６０が制御部２１０の制御に従って行う処理を示す。
【００９３】
「ミックス」のとき、演算制御セレクタ２５０は、サンプルについては、入力部２２０から入力されたデータＡのサンプルを出力し、係数については、Ａボリューム係数バッファ１３６に格納されたＡボリューム係数を出力する。また、この場合、出力部２６０は、データレジスタ１５４からのデータを、ミックスしたデータとして出力する。
【００９４】
「元のサンプルの入力」モードのとき、演算制御セレクタ２５０は、サンプルについては、第２のデータバッファ２３４に格納されたデータＢのサンプルを出力し、係数については、Ｂボリューム係数バッファ２４８に格納されたＢボリューム係数を出力する。また、この場合、出力部２６０は、データレジスタ１５４からの累積演算の結果を出力しない。
【００９５】
「補間モード」のとき、演算制御セレクタ２５０は、補間用データ格納部２３０の３つのデータバッファのうちの１つに格納されたサンプルと、３つの複合係数バッファのうちの、該１つのデータバッファに対応する複合係数バッファに格納された複合係数とを、補間のステップに応じた順で出力する。具体的には、ステップ１のときに、第１のデータバッファ２３２に格納されたサンプルと、第１の複合係数バッファ２４２に格納された複合係数とを出力し、ステップ２のときに、第２のデータバッファ２３４に格納されたサンプルと、第２の複合係数バッファ２４４に格納された複合係数とを出力し、ステップ３のときに、第３のデータバッファ２３６に格納されたサンプルと、第３の複合係数バッファ２４６に格納された複合係数とを出力する。また、この場合も、出力部２６０は、データレジスタ１５４からのデータを出力しない。
【００９６】
ミキシング装置２００による処理の詳細を説明する。分かりやすいように、まず、図８と図９を参照してデータＡのサンプリングレートがデータＢのサンプリングレートの整数倍である場合について説明する。図８に示すように、処理の開始にあたって、制御部２１０は、補間用データ格納部２３０の各バッファをクリアする（Ｓ４００）。
【００９７】
次に、制御部２１０は、係数格納部２４０における各係数バッファの係数を設定する（Ｓ４０２）。具体的には、制御部２１０は、Ａボリューム係数バッファ１３６とＢボリューム係数バッファ２４８にそれぞれＡボリューム係数とＢボリューム係数をそれぞれ設定し、第１の複合係数バッファ２４２〜第３の複合係数バッファ２４６に、データ補間用の各係数と、Ｂボリューム調整係数とを乗算して得た値をそれぞれ設定する。
【００９８】
続いて、制御部２１０は、データ出力回数ｊを０に設定すると共に、データレジスタ１５４をクリアする（Ｓ４１０）。このデータ出力回数ｊは、演算制御セレクタ２５０がデータＢのサンプル（補間用データ格納部２３０のいずれかのデータバッファに格納されたデータ）を乗算器１４０に出力する回数をカウントするカウンタ値である。
【００９９】
そして、制御部２１０は、データ出力回数ｊをインクリメントし（Ｓ４１４）、インクリメントした後のデータ出力回数がサンプリングレート倍率に等しいか否かを確認する（Ｓ４１８）。
【０１００】
ここで、データ出力回数ｊがサンプリングレート倍率に等しい場合には（Ｓ４１８：Ｙｅｓ）、制御部２１０は、「元のサンプルの入力」モードの制御を行う（Ｓ４２０）。制御部２１０の制御に従って、演算制御セレクタ２５０は、第２のデータバッファ２３４に格納されたデータと、Ｂボリューム係数バッファ２４８に格納されたＢボリューム係数を乗算器１４０に出力し、乗算器１４０は、演算制御セレクタ２５０からのデータと係数を乗算することによってデータＢのボリュームを調整して加算器１５２に出力する（Ｓ４２０）。そして、制御部２１０は、データ出力回数ｊを０にリセットする（Ｓ４２８）。
【０１０１】
一方、データ出力回数ｊがサンプリングレート倍率に等しくない場合には（Ｓ４１８：Ｎｏ）、制御部２１０は、「補間モード」の制御を行う（Ｓ４３０）。制御部２１０の制御に従って、演算制御セレクタ２５０は、データと係数の出力を行う。その結果、データＢの補間およびボリューム調整が行われる（Ｓ４３４）。なお、ステップＳ４３４による処理の詳細については後述するが、この処理によって、データＢの元のサンプル間に挿入する補間データが求められ、データレジスタ１５４に格納される。
【０１０２】
次いで、制御部２１０は、制御モードを「ミックス」に切り換える（Ｓ４４０、Ｓ２４４）。これにより、演算制御セレクタ２５０は、入力部２２０から入力されたデータＡのサンプルと、Ａボリューム係数バッファ１３６に格納されたＡボリューム係数を出力する。その結果、乗算器１４０により、データＡのサンプルと、Ａボリューム係数が乗算されることによって、データＡのサンプルのボリュームが調整される（Ｓ４４２）。
【０１０３】
このとき、データレジスタ１５４から加算器１５２にフィードバックしたものがサンプリングレート変換後のデータＢのサンプル値（データＢのサンプル値または補間データ）であり、加算器１５２により、乗算器１４０からの、ボリューム調整後のデータＡのサンプル値と、データレジスタ１５４からのフィードバックとが加算され、データＡとデータＢがミックスされる（Ｓ４５０）。
【０１０４】
また、制御モードが「ミックス」であるため、出力部２６０は、データレジスタ１５４の出力すなわちミックス結果を外部に出力する（Ｓ４６０）。
【０１０５】
ステップＳ４１０からの上記処理は、入力部２２０へ入力されるデータが終了するまで行われる。
【０１０６】
図９は、ステップＳ４３４における補間およびボリューム調整の詳細を示す。図示のように、制御部２１０は、まず、制御モードにおける補間ステップ１の制御を行う（Ｓ５００）。演算制御セレクタ２５０は制御部２１０の制御に従って第１のデータバッファ２３２に格納されたデータＢのサンプルと、第１の複合係数バッファ２４２に格納された第１の複合係数とを出力する。その結果、データレジスタ１５４におけるデータは「データレジスタ１５４に格納されたデータ＋第１のデータバッファ２３２のデータ×第１の複合係数」に更新される（Ｓ５０２）。
【０１０７】
次に制御部２１０は、制御モードにおける補間ステップ２の制御を行い（Ｓ５０４）、演算制御セレクタ２５０は制御部２１０の制御に従って第２のデータバッファ２３４に格納されたデータＢのサンプルと、第２の複合係数バッファ２４４に格納された第２の複合係数とを出力する。その結果、データレジスタ１５４におけるデータは「データレジスタ１５４に格納されたデータ＋第２のデータバッファ２３４×第２の複合係数」に更新される（Ｓ５０６）。
【０１０８】
そして、制御部２１０は、制御モードにおける補間ステップ３の制御を行い（Ｓ５０８）、演算制御セレクタ２５０は制御部２１０の制御に従って第３のデータバッファ２３６に格納されたデータＢのサンプルと、第３の複合係数バッファ２４６に格納された第３の複合係数とを出力する。その結果、データレジスタ１５４におけるデータは「データレジスタ１５４に格納されたデータ＋第３のデータバッファ２３６×第３の複合係数」に更新される（Ｓ５１０）。
【０１０９】
ステップＳ５１０により得られたデータ値は、データＢの、ボリューム調整された補間データであり、その後、図８に示すステップＳ４４０からの処理によって、ボリューム調整されたデータＡのサンプルとミックスされる。
【０１１０】
このように、本実施の形態のミキシング装置２００によれば、補間によってデータＢのサンプリングレートを変換する際に、補間用の係数と、データＢのボリュームを調整する係数とを乗算して得た複合係数を補間に用いることによって、データＢのサンプリングレートの変換とボリュームの調整とを同時に行うことができ、図１に示すミキシング装置１００と同様の効果を得ることができる。
【０１１１】
なお、データＡとデータＢのサンプリングレート倍率が整数ではない場合には、まず、データＢのサンプリングレートを、データＡのサンプリングレートより大きく、かつデータＢのサンプリングレートの整数倍のサンプリングレートに変換するように補間データを求めながら、「元のサンプルの入力」モードの際には、データＢの最終的なサンプリングレートがデータＡのサンプリングレートと同一になることを条件に第２のデータバッファ２３４に格納されたサンプルを間引きしながら出力する。これについて図１０と図１１を参照して説明する。
【０１１２】
図１０は、データＡとデータＢのサンプリングレート倍率が整数（例として２）である場合において、元の入力データ（データＢ）とサンプリングレート変換後のデータＢにおけるサンプルの位置関係を示す。図中黒丸は、データＢの元のサンプルを示し、白丸は、データＢのサンプリングレートを２倍に変換するように求められた補間サンプルである。図示のように、この場合、データＢのすべての元のサンプルが、サンプリングレート変換後のデータに存在している。
【０１１３】
図１１は、データＡとデータＢのサンプリングレート倍率が整数ではないここでは例として１．５である場合において、データＢとサンプリングレート変換後のデータＢにおけるサンプルの位置関係を示す。図示のように、データＢの元のサンプルが、２つに１つの割合で間引きされながらサンプリングレート変換後のデータに存在するようになっている。その結果、データＢのサンプリングレートが１．５倍になる。これを実現するための具体的な手法については、ミキシング装置１００において用いられた手法と同じ手法を用いればよく、ここで詳細な説明を省略する。
【０１１４】
このように、本実施の形態のミキシング装置２００は、ミキシング装置１００と同様に、複数のデジタルオーディオデータのサンプリングレート倍率が整数ではない場合においても、小さな回路規模と軽い演算負荷でミキシングすることができる。
【０１１５】
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、さまざまな変更、増減を加えてもよい。これらの変更、増減が加えられた変形例も本発明の範囲にあることは当業者に理解されるところである。
【０１１６】
例えば、ミキシング装置１００において、演算制御セレクタ１３８により乗算器１４０に出力するサンプルと係数を選択している。たとえば、図１２に示すように、演算制御セレクタ１３８の代わりとなる２つの演算制御セレクタ１３８ａと１３８ｂを用い、演算制御セレクタ１３８ａによりサンプルを選択し、演算制御セレクタ１３８ｂにより係数を選択するようにしてもよい。ミキシング装置２００についても同様である。
【０１１７】
また例えば、ミキシング装置２００は、データＢのサンプリングレートを変換する際に、一例として、データＢの元の３つのサンプルを用いて補間サンプルを求めている。補間サンプルを求める演算が、複数の元のサンプルと、それぞれのサンプルに対応する補間係数との積和演算であれば、本発明を適用することができ、補間サンプルを求める際に使用される元のサンプルの数は３に限られることがない。
【０１１８】
また、ミキシング装置１００とミキシング装置２００は、２つのオーディオデータをミキシングするものであるが、本発明の技術は、３以上の任意の数のオーディオデータをミキシングする装置にも適用することができる。
【０１１９】
また、本発明の技術は、オーディオデータに限らず、ミキシングする際にそれぞれのボリュームの調整を行う必要があるいかなる種類のデータのミキシング処理にも適用することができる。
【図面の簡単な説明】
【０１２０】
【図１】本発明の第１の実施の形態にかかるミキシング装置を示す図である。
【図２】図１に示すミキシング装置における制御部の制御内容を説明するための図である。
【図３】図１に示すミキシング装置の処理を示すフローチャートである（その１）。
【図４】図１に示すミキシング装置の処理を示すフローチャートである（その２）。
【図５】図１に示すミキシング装置の処理を示すフローチャートである（その３）。
【図６】本発明の第２の実施の形態にかかるミキシング装置を示す図である。
【図７】図６に示すミキシング装置における制御部の制御内容を説明するための図である。
【図８】図６に示すミキシング装置の処理を示すフローチャートである（その１）。
【図９】図６に示すミキシング装置の処理を示すフローチャートである（その２）。
【図１０】サンプリングレートの変換倍率が整数倍であるときにサンプリングレート変換前後のデータにおけるサンプルの位置を比較する図である。
【図１１】サンプリングレートの変換倍率が整数倍ではないときにサンプリングレート変換前後のデータにおけるサンプルの位置を比較する図である。
【図１２】本発明の他の実施の形態にかかるミキシング装置を示す図である。
【図１３】背景技術を説明するための図である。
【符号の説明】
【０１２１】
１１０  制御部  １２０  入力部
１３０  データ／係数格納部  １３２  変換用データバッファ
１３４  ＦＩＲフィルタ複合係数バッファ  １３６  Ａボリューム係数バッファ
１３８  演算制御セレクタ  １４０  乗算器
１５０  累積加算部  １５２  加算器
１５４  データレジスタ  １６０出力部
２００  ミキシング装置  ２１０  制御部
２２０  入力部  ２３０  補間用データ格納部
２３２  第１のデータバッファ  ２３４  第２のデータバッファ
２３６  第３のデータバッファ  ２４０  係数格納部
２４２  第１の複合係数バッファ  ２４４  第２の複合係数バッファ
２４６  第３の複合係数バッファ  ２４８  Ｂボリューム係数バッファ
２５０  演算制御セレクタ  ２６０  出力部
【図１】
2009004848.tif 000003
【図２】
2009004848.tif 000004
【図３】
2009004848.tif 000005
【図４】
2009004848.tif 000006
【図５】
2009004848.tif 000007
【図６】
2009004848.tif 000008
【図７】
2009004848.tif 000009
【図８】
2009004848.tif 000010
【図９】
2009004848.tif 000011
【図１０】
2009004848.tif 000012
【図１１】
2009004848.tif 000013
【図１２】
2009004848.tif 000014
【図１３】
2009004848.tif 000015