(57)【要約】【課題】  サンプルレート調整用のＦＩＦＯバッファにおける音データの遅延量が許容範囲を外れる場合に、バッファ破綻によるノイズを発生させないようにすることを目的とする。【解決手段】  バッファは、入力した第１音データの各サンプルを第１クロックに基づいて順次格納し、格納した各サンプルを第２クロックに基づいて順次出力する。変換部は、第１クロックと第２クロックに基づき、第１音データを第２音データにサンプルレート変換して出力する。制御部の制御により、選択部は、バッファの遅延量が許容範囲内であるときは、バッファからの第１音データを選択的に出力し、許容範囲を外れるときは、変換部からの第２音データを選択的に出力する。【選択図】  図３
2017152803.tif 000002
【特許請求の範囲】
【請求項１】
サンプル列である第１音データと、そのサンプル列の各サンプルのタイミングを規定する第１クロックとを受け取る第１受取部と、
サンプルを出力すべきタイミングを規定する第２クロックを受け取る第２受取部と、
前記第１音データの各サンプルを順次格納し、格納した各サンプルを前記第２クロックで規定されるタイミングに基づいて順次出力する先入れ先出し方式のバッファと、
前記第１クロックと前記第２クロックとに基づき、前記第１音データのサンプル列をサンプリングレート変換して、第２音データのサンプル列を生成し、そのサンプル列の各サンプルを、前記第２クロックの規定するタイミングに基づいて順次出力する変換部と、
前記バッファが出力する前記第１音データのサンプルと、前記変換部が出力する前記第２音データのサンプルとの何れかを、第３音データとして選択的に出力する選択部と、
前記バッファにおける前記第１音データの遅延量が許容範囲内であるか否かを判定し、許容範囲内であるときは、前記選択部に前記バッファからの前記第１音データのサンプルを選択的に出力させ、前記許容範囲を外れるバッファエラーが有ったときは、前記選択部に前記変換部からの前記第２音データのサンプルを選択的に出力させる制御部と
を備えることを特徴とする音信号仲介装置。
【請求項２】
請求項１に記載の音信号仲介装置において、
前記バッファエラー有りが検出されたとき、前記バッファは、出力するサンプルを読み出す読出ポインタを所定の位置に初期化して読み出し出力する動作を継続することを特徴とする音信号仲介装置。
【請求項３】
請求項２に記載の音信号仲介装置において、
前記バッファから読み出したサンプルを一時的に記憶し遅延させて出力するための先入れ先出し方式の一時バッファを備え、
前記バッファエラー有りが検出されたとき、前記バッファから前記初期化された読出ポインタで読み出されたサンプルが前記一時バッファを経由して遅延して前記選択部に出力される前に、前記制御部によるバッファエラー有りのときの制御動作が行われるようにする
ことを特徴とする音信号仲介装置。
【請求項４】
請求項１に記載の音信号仲介装置において、
前記バッファからのサンプルの読み出し位置と、前記変換部により生成されるサンプルの位置とを、略一致させることを特徴とする音信号仲介装置。
【請求項５】
請求項１に記載の音信号仲介装置において、
前記制御部は、前記バッファエラー有りのときの制御動作が行われた後、バッファエラー無しが所定回数継続して検出されたとき、前記選択部が前記バッファから出力されたサンプルを第３音データとして選択的に出力するように制御することを特徴とする音信号仲介装置。
【請求項６】
請求項１に記載の音信号仲介装置において、
前記制御部が前記第１音データから前記第２音データへの切り換え、または前記第２音データから前記第１音データへの切り換えを前記選択部に指示したとき、前記選択部は、所定時間でクロスフェード処理することで、前記第１音データから前記第２音データへと、または第２音データから第１音データへと、徐々に移行するようにして、前記第３音データを出力することを特徴とする音信号仲介装置。
【請求項７】
請求項１に記載の音信号仲介装置において、
さらに、前記第１クロックと前記第２クロックとの周波数の差が所定範囲を超えたことを検出する差分検出部を備え、
前記差分検出部により前記周波数の差が所定範囲を超えたことが検出されたとき、前記制御部が前記選択部に前記第２音データのサンプルを選択的に出力させるように制御することを特徴とする音信号仲介装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、第１のサンプリングクロックに基づく音データのサンプル列を入力し、第２のサンプリングクロックに基づく音データのサンプル列として出力する音信号仲介装置に関する。
【背景技術】
【０００２】
従来より、サウンド・リインフォースメント（ＳＲ）や音楽制作（ＭＰ）等のリアルタイム用途に用いる、出力される音の時間遅れが少ない、各種の音信号処理装置（ミキサ、入力装置、出力装置、プロセッサ等）が知られている。これらの音信号処理装置は、基本的な構成要素として、外部から所定の伝送方式で送られてくるデジタルの音データを受信する受信部と、受信した音データを後段の処理部に渡すための仲介装置を備える。その伝送方式は、例えば、AES3(TM)、MADI(TM)、Dante(TM)、EtherSound(TM)、CobraNet(TM)等である。後段の処理部は、例えば、音信号に何らかの加工を施す音信号処理部、上述した各種方式で音信号を出力する送信部、あるいはデジタルデータである音信号をアナログ信号に変換して出力するDAC等である。仲介装置は、受信した音データのワードクロック（Ｗクロック）の周波数（入力サンプルレート）と、後段の処理部における音データのサンプリングクロックの周波数（出力サンプルレート）の違いを吸収する。ここでのサンプルレートの違いは、４４．１ｋＨｚと４８ｋＨｚといった大きな違いだけでなく、４８，００１Ｈｚと４８，００２Ｈｚといった１％以下の微妙な違いを含む。
【０００３】
その違いを吸収する一番簡単な方法は、単純なファーストインファーストアウト（ＦＩＦＯ）バッファを用いる方法である。ここでは、入力サンプルレートで規定される各入力サンプル時刻の入力音データのサンプルを受け取ってバッファに書き込み、出力サンプルレートで規定される各出力サンプル時刻に、そのバッファから１サンプルずつ読み出して出力する。ここでは、バッファは、受け取ったサンプルを、入力サンプル時刻と出力サンプル時刻の時間差分だけ遅延し、その値を変えることなく出力する。
【０００４】
別の方法としては、下記特許文献１に開示されている、サンプリング周波数変換器（サンプルレート変換器：ＳＲＣ）を用いる方法がある。ＳＲＣは、入力サンプルレートで規定される各入力サンプル時刻の入力音データのサンプルを受け取り、サンプルレート変換処理を施して、出力サンプルレートで規定される各出力サンプル時刻の音データのサンプルを補間合成して出力する。ＳＲＣは、出力サンプルレートに関係なく、入力サンプル時刻と出力サンプル時刻の差（遅延量）を任意に制御することができ、例えば、その遅延量を一定値にすることもできる。また、ＳＲＣから出力されるサンプルは、連続する２サンプルの間を補間して得た補間サンプルなので、通常、受け取ったサンプルとは値が異なる。
【０００５】
上述のバッファや特許文献１のＳＲＣを適用することで、入力側の音響機器の音データのサンプルレートと出力側の音響機器の音データのサンプルレートとが一致していなくても、ノイズを生じることなく音データを受け渡すことができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３２２１０３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記バッファを用いる方法では、入力サンプル時刻と出力サンプル時刻の時間差が、バッファにおける音データの遅れ（遅延量）に相当するが、この遅れは入力サンプルレートと出力サンプルレートに応じて変動し、任意に制御することができない。そして、上述したリアルタイム用途では、許容できる遅れの下限が厳密に規定されている（数ミリ秒以下が必須）。また、出力サンプル時刻の方が入力サンプル時刻より速く、出力サンプル時刻が入力サンプル時刻に追いついてバッファの残留サンプルが尽きると、それ以降の出力サンプル時刻ではバッファからサンプルを出力できなくなる。これらの要件により、バッファの遅延量には、予め許容範囲が設定される。そして、バッファの遅れがその許容範囲を外れたとき、出力サンプル時刻を前後にずらして強制的に許容範囲に戻すが、その際に、音データにノイズが発生してしまうという問題がある。
【０００８】
また、上記特許文献１のＳＲＣを用いる方法では、サンプルレート変換を行うことにより、出力される音データの遅延量を任意に制御できるが、ＳＲＣから出力されるのは、補間演算で算出された音データのサンプルであり、その品質は受け取った音データと比較して劣化している。
【０００９】
本発明の目的は、受け取ってバッファに格納する音データのサンプル時刻と、そのバッファから出力する音データのサンプル時刻との差（遅延量）が許容範囲内の場合には音データの品質を劣化させず、かつ、そのサンプル時刻の差が許容範囲外の場合には、遅延量を任意に制御できるＳＲＣを用いて、バッファの遅延調整によるノイズを発生させない音信号仲介装置を提供することである。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、請求項１に係る発明は、サンプル列である第１音データと、そのサンプル列の各サンプルのタイミングを規定する第１クロックとを受け取る第１受取部と、サンプルを出力すべきタイミングを規定する第２クロックを受け取る第２受取部と、前記第１音データの各サンプルを順次格納し、格納した各サンプルを前記第２クロックで規定されるタイミングに基づいて順次出力する先入れ先出し方式のバッファと、前記第１クロックと前記第２クロックとに基づき、前記第１音データのサンプル列をサンプリングレート変換して、第２音データのサンプル列を生成し、そのサンプル列の各サンプルを、前記第２クロックの規定するタイミングに基づいて順次出力する変換部と、前記バッファが出力する前記第１音データのサンプルと、前記変換部が出力する前記第２音データのサンプルとの何れかを、第３音データとして選択的に出力する選択部と、前記バッファにおける前記第１音データの遅延量が許容範囲内であるか否かを判定し、許容範囲内であるときは、前記選択部に前記バッファからの前記第１音データのサンプルを選択的に出力させ、前記許容範囲を外れるバッファエラーが有ったときは、前記選択部に前記変換部からの前記第２音データのサンプルを選択的に出力させる制御部とを備えることを特徴とする。
【００１１】
請求項２に係る発明は、請求項１に記載の音信号仲介装置において、前記バッファエラー有りが検出されたとき、前記バッファは、出力するサンプルを読み出す読出ポインタを所定の位置に初期化して読み出し出力する動作を継続することを特徴とする。
【００１２】
請求項３に係る発明は、請求項２に記載の音信号仲介装置において、前記バッファから読み出したサンプルを一時的に記憶し遅延させて出力するための先入れ先出し方式の一時バッファを備え、前記バッファエラー有りが検出されたとき、前記バッファから前記初期化された読出ポインタで読み出されたサンプルが前記一時バッファを経由して遅延して前記選択部に出力される前に、前記制御部によるバッファエラー有りのときの制御動作が行われるようにすることを特徴とする。
【００１３】
請求項４に係る発明は、請求項１に記載の音信号仲介装置において、前記バッファからのサンプルの読み出し位置と、前記変換部により生成されるサンプルの位置とを、略一致させることを特徴とする。
【００１４】
請求項５に係る発明は、請求項１に記載の音信号仲介装置において、前記制御部は、前記バッファエラー有りのときの制御動作が行われた後、バッファエラー無しが所定回数継続して検出されたとき、前記選択部が前記バッファから出力されたサンプルを第３音データとして選択的に出力するように制御することを特徴とする。
【００１５】
請求項６に係る発明は、請求項１に記載の音信号仲介装置において、前記制御部が前記第１音データから前記第２音データへの切り換え、または前記第２音データから前記第１音データへの切り換えを前記選択部に指示したとき、前記選択部は、所定時間でクロスフェード処理することで、前記第１音データから前記第２音データへと、または第２音データから第１音データへと、徐々に移行するようにして、前記第３音データを出力することを特徴とする。
【００１６】
請求項７に係る発明は、請求項１に記載の音信号仲介装置において、さらに、前記第１クロックと前記第２クロックとの周波数の差が所定範囲を超えたことを検出する差分検出部を備え、前記差分検出部により前記周波数の差が所定範囲を超えたことが検出されたとき、前記制御部が前記選択部に前記第２音データのサンプルを選択的に出力させるように制御することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、入力する音データのサンプルレートと出力する音データのサンプルレートとの差が小さい場合には音データの品質を劣化させず、かつ、サンプルレート差が大きい場合には、バッファ破綻によるノイズを発生させない音信号仲介装置を実現できる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態である音信号仲介装置を適用した音信号処理装置のハードウェア構成例
【図２】仲介部の第１実施例
【図３】仲介部の第２実施例
【図４】制御ＣＰＵの動作を示すフローチャート
【発明を実施するための形態】
【００１９】
以下、図面を用いて本発明の実施の形態を説明する。
【００２０】
図１は、本発明の実施形態である音信号仲介装置を適用した音信号処理装置のハードウェア構成例を示す。この音信号処理装置は、例えば、アナログやデジタルの音信号を受け取り音データに変換する入力装置や、処理済みの音データを音信号に変換して外部に出力する出力装置、入力装置からの音データに対しミキシング等の信号処理を行うミキサ、音データの録音や再生を行うレコーダなどであり、それらの機能を組み合わせたものでもよい。
【００２１】
中央処理装置（ＣＰＵ）１０１は、この音信号処理装置全体の動作を制御する処理装置である。リードオンリメモリ（ＲＯＭ）１０２は、ＣＰＵ１０１が実行する各種のプログラムや各種のデータなどを格納した不揮発性メモリである。ランダムアクセスメモリ（ＲＡＭ）１０３は、ＣＰＵ１０１が実行するプログラムのロード領域やワーク領域に使用する揮発性メモリである。操作子１０４は、ユーザが操作するための各種のスイッチやボタン等である。表示器１０５は、各種の情報を表示するためのディスプレイである。
【００２２】
受信部１０６は、外部（前段の機器）から所定の伝送方式で送られてくる音信号を受け取るインターフェースであり、受け取った音信号からＷクロックと音データを取り出して、仲介部１０７に出力する。Ｗクロックは、音データのサンプリングクロックであり、受け取った音データの一連の各サンプルのタイミングは、該Ｗクロックにより規定される。仲介部１０７は、受信部１０６からＷクロックと音データを受け取り、さらに後段の処理部１０８からＳクロックを受け取り、受け取った音データを、サンプルレートがＳクロックに応じたレートの音データ（サンプル値が変わらない場合も含む）に変換して、処理部１０８に出力する。Ｓクロックは、出力する音データの一連の各サンプルのタイミングを規定する。処理部１０８は、仲介部１０７からの音データに対して、Ｓクロックに同期して、各種の信号処理を施して出力するものでもよいし、仲介部１０７からの音データを、Ｓクロックに同期して、所定の伝送方式で後段の機器に送信するものでもよい。マスタＰＬＬ１０９は、処理部１０８内で使用するＳクロックやビットクロック（処理部１０８内の処理で使用するための、Ｓクロックの整数倍の周波数を有する単位クロック）を生成するＰＬＬ（Phase Locked Loop）回路である。なお、ＰＬＬを用いずにＳクロックを発生してもよい。バス１１０は、これら各部を接続するバスラインであり、コントロールバス、データバス、およびアドレスバスを総称したものである。
【００２３】
図２は、仲介部１０７の第１実施例である。図示しないが、ＷクロックやＳクロックは、各ブロックに適宜供給されている。仲介部１０７は、受け取った音データＳin（Ｗクロックをサンプリングクロックとする）のサンプルを順次格納するバッファ２０１を備える。このバッファ２０１はＦＩＦＯバッファであり、Ｗクロックで規定されるタイミングのデータとして、受け取った音データＳinの各サンプルを順次取り込み、取り込まれた各サンプルを、Ｓクロックで規定されるタイミングに、音データＳrのサンプルとして順次出力する。各タイミングにおける、バッファ２０１に取り込まれるサンプルの順番（入力サンプル時刻に相当）と、バッファ２０１から出力されるサンプルの順番（出力サンプル時刻に相当）との差が、大まかに言えばバッファ２０１における遅延量（そのタイミングにおいてバッファ２０１に残っているサンプル数、後述する図３のＮｂ）であり、その遅延量は制御部２０３に通知される。この遅延量には、上限値と下限値で規定される許容範囲が、予め定められている。
【００２４】
ＳＲＣ２０２は、サンプリングクロックがＷクロックである入力音データＳinの各入力サンプル時刻のサンプルに対して、サンプリングレート変換処理を施し、サンプリングクロックがＳクロックである音データＳiの各出力サンプル時刻のサンプルを算出して出力するサンプリングレートコンバータである。ＳＲＣ２０２では入力サンプル時刻と出力サンプル時刻の時間差（遅延量）は任意に制御できる。この第１の実施例では、バッファ側からＳＲＣ側への切替時に、この遅延量を、前記許容範囲の上限又は下限に初期設定し、その後、数秒から数十秒の時間をかけて、前記許容範囲の中央値に徐々に変化させる。セレクタ２０４は、制御部２０３からの制御信号に応じて、バッファ２０１から読み出した音データＳrまたはＳＲＣ２０２からの音データＳiを選択的に音データＳoutとして出力する。制御部２０３は、バッファ２０１内の有効なサンプル数に基づいて前記制御信号を生成出力する。
【００２５】
Ｗクロックにより決まる入力サンプル時刻と、Ｓクロックで決まる出力サンプル時刻との時間差が所定範囲内であれば、それは、バッファ２０１の遅延量が許容範囲内にあることを示しているので、制御部２０３は、制御信号により、セレクタ２０４に、バッファ２０１からの音データＳrを選択して音データＳoutとして出力させる。この場合、仲介部１０７は、入力したサンプルを値を変えずにそのまま出力するので、基本的に音のサンプルの劣化が無い。
【００２６】
一方、Ｗクロックの周波数がＳクロックの周波数より継続的に小さい場合は、バッファ２０１の遅延量が徐々に減少し、最後には許容範囲の下限に達して、バッファ２０１の出力サンプル時刻を所定時間だけ後の時刻（例えば、許容範囲の中央値に相当する時刻）にシフトし、以前に出力したサンプルを再び出力するので、そこで音のサンプル値が不連続になる。逆に、Ｗクロックの周波数がＳクロックの周波数より継続的に大きい場合は、バッファ２０１の遅延量が徐々に増加し、最後には許容範囲の上限に達して、バッファ２０１の出力サンプル時刻を所定時間だけ前の時刻（例えば、許容範囲の中央値に相当する時刻）にシフトし、一部を飛ばしてサンプルを出力するので、そこで音のサンプル値が不連続になる。このような出力サンプル時刻のシフトが生じると、何れの場合も、バッファからの出力音データにサンプル値の不連続に起因するノイズが乗る。
【００２７】
そこで、本実施例では、バッファ２０１の遅延量が前記許容範囲を外れる場合（バッファ破綻）には、制御部２０３は、制御信号でセレクタ２０４を制御し、ＳＲＣ２０２側の音データＳiを音データＳoutとして選択させる。このとき、ＳＲＣ２０２は、その遅延量を、その時点のバッファ２０１の遅延量（前記許容範囲の上限値または下限値）と同じ値に設定する。これにより、切り替え時の、サンプル値の不連続に起因するノイズは発生しない。また、バッファの出力サンプル時刻のシフトが必要になった場合には、ＳＲＣ２０２により生成される音データが出力されるので、上述した不具合は生じない。その後、ＳＲＣ２０２は、所定時間Ｔ１をかけて、その遅延量を前記許容範囲の中央値に徐々に変化させる。
【００２８】
音データＳiの選択後も、バッファ２０１は動作を継続しており、制御部２０３は、バッファ２０１における遅延量が前記許容範囲を外れる事象（バッファ破綻）をモニタできる。バッファ破綻が所定時間Ｔ２（＞Ｔ１）以上発生しないとき、制御部２０３は、制御信号でセレクタ２０４を制御し、バッファ２０１側の音データＳrを音データＳoutとして選択させる。このとき、バッファ２０１は、出力サンプル時刻を、前記許容範囲の中央値に相当する時刻に設定する。これにより、切り替え時の、サンプル値の不連続に起因するノイズは発生しない。
【００２９】
以上のように、図２の仲介部１０７は、バッファ２０１からの音データを選択出力しているとき、バッファの遅延時間が許容範囲を外れたら、ノイズを発生することなく、出力する音データをＳＲＣ２０２からの音データに切り替え、その後、バッファの遅延時間の変動が安定したら（バッファ破綻が起こらなくなったら）、ノイズを発生することなく、出力する音データをバッファ２０１からの音データに切り替えている。
【００３０】
図３は、第１実施例と同じコンセプトで設計された、仲介部１０７の第２実施例を示す。仲介部１０７内の各部は、ＰＬＬ１０９の生成するＳクロックおよびビットクロックをシステムクロックとして動作する。仲介部１０７はハードウェア（ロジック回路）で実現するものとするが、その一部乃至全部を、ＦＰＧＡ、ＤＳＰ、ＣＰＵ等でソフトウェア的に実現してもよい。
【００３１】
共用バッファ部３０１は、２6＝６４個のサンプルを記憶するリングバッファ３０２を備える。このバッファ領域の終端と先端は概念的に連結され、循環的に各データ領域が利用される。書込ポインタＷＰ及び読出ポインタＲＰは図の右方向に進行するので、書き込まれたサンプルは、ＷＰから左側に行くほど古いサンプルであり、右側に行きＷＰに近づくほど新しいサンプルである。機能的には、共用バッファ部３０１および後述する３０３〜３１０の各部を併せたものが１つのＦＩＦＯバッファとして動作しており、図２のバッファ２０１に相当する。
【００３２】
書込部３０３は、サンプルＳwを一時的に記憶するレジスタ３０４と、書込ポインタＷＰを記憶するレジスタ３０５を備える。書込部３０３は、Ｗクロックの規定する各タイミング毎に、受信部１０６から入力された音データＳinの１サンプルＳwをレジスタ３０４に取り込み、該サンプルＳwを、リングバッファ３０２の書込ポインタＷＰが示す位置に書き込むとともに、レジスタ３０５の書込ポインタＷＰを次の位置に１つ進める。
【００３３】
読出部３０６は、読出ポインタＲＰを記憶するレジスタ３０８と、読み出したサンプルＳrを一時的に記憶するレジスタ３０７を備える。読出部３０６は、Ｓクロックの規定する各タイミング毎に、リングバッファ３０２の読出ポインタＲＰが示す位置の１サンプルＳrを読み出してレジスタ３０７に取り込み、該サンプルＳrを読出サンプルバッファ３１０に渡し、レジスタ３０８の読出ポインタＲＰを次の位置に１つ進める。なお、読出サンプルバッファ３１０は、後述するバッファエラーが生じたときのバッファ側出力からＳＲＣ側出力への切り替えタイミングを調整する遅延バッファである。バッファ３１０は、所定数のサンプルデータを保持するＦＩＦＯ（先入れ先出し）型のバッファであり、Ｓクロックに同期して各サンプルを所定クロック分遅延する。後述するクロスフェードは、この遅延時間内に行われる。
【００３４】
差分検出部３０９は、書込ポインタＷＰ（入力サンプル時刻に相当）と読出ポインタＲＰ（出力サンプル時刻に相当）との差Ｎｂ（遅延量に相当）を検出する。この差Ｎｂは、リングバッファ３０２内で有効なサンプルデータの数に相当する。書込ポインタＷＰが進む速度が読出ポインタＲＰの進む速度より継続的に速い場合は、差Ｎｂが徐々に大きくなっていくため、バッファ３０２の遅延量が許容範囲の上限を超えるおそれがある。逆に、書込ポインタＷＰが進む速度が読出ポインタＲＰの進む速度より継続的に遅い場合は、差Ｎｂが徐々に小さくなっていくため、バッファ３０２の遅延量が許容範囲の下限を超えるおそれがある。そこで本実施例では、Ｗクロックをサンプリングクロックとする入力音データＳinからＳクロックをサンプリングクロックとする出力音データＳiを算出するサンプリングレートコンバータ（ＳＲＣ）を設け、上述した差Ｎｂ（遅延量に相当）が所定の範囲（前記許容範囲に相当）を外れた場合には、差分検出部３０９が設定信号ＳＳを出力して、バッファ側出力（音データＳr）からＳＲＣ側出力（音データＳi）へと切り替える機構を設けた。３３２と３３３は、上述の所定の範囲を規定する最小値Ｎｂmin（前記許容範囲の下限に相当）と最大値Ｎｂmax（前記許容範囲の上限に相当）を保持するレジスタである。ＮｂminからＮｂmaxの範囲をＮｂの「有効範囲」と呼ぶ。
【００３５】
電源オン等（装置全体がリセットされた場合も含む）のとき、まずＣＰＵ１０１は、レジスタ３３２，３３３にＮｂmin，Ｎｂmaxを設定する。書込部３０３は、所定の初期位置を書込ポインタＷＰとしてレジスタ３０５に設定し、その位置から上述した音データＳinのサンプルの書き込みを開始する。読出部３０６は、前記初期位置から差分初期値だけ遅れた位置を読出ポインタＲＰとしてレジスタ３０８に設定し、その位置から上述した音データＳrのサンプルの読み出しを開始する。この差分初期値は、別途レジスタにより指定可能にしても良いが、ここでは、ＮｂminとＮｂmaxの中央値付近の値（≒（Ｎｂmax＋Ｎｂmin）／２）とする。ＷクロックとＳクロックのクロック単位のずれに応じて差分Ｎｂが増減するが、長期的なずれが充分小さければ、差分Ｎｂは、ＮｂminとＮｂmaxの中央値付近で変動することになる。なお、受信部１０６からの音データＳin及びＷクロックの供給が開始された直後は、読出ポインタＲＰは最初のサンプルの書込位置に達しないので、読み出した音データＳrはノイズでありミュートする必要がある。そこで、電源オン等から所定時間（後述するＰＬＬ部３１２の生成クロックが安定するまでの時間）は、レベル制御部３１１は、読出サンプルバッファ３１０からの音データをミュートし、該所定時間が経過したら、バッファ３１０からの音データに対する、係数Ｌbufに基づくレベル制御を開始する。
【００３６】
３３４はバッファエラーフラグＢＥＦであり、差分検出部３０９は、差Ｎｂが上述の有効範囲内にあるとき、ＢＥＦを、バッファエラー無しを示す「０」とし、差Ｎｂが有効範囲を外れると、ＢＥＦを、バッファエラー有りを示す「１」とするとともに、リセット信号を読出部３０６に出力する。読出部３０６は、このリセット信号に応じて、その時点の書込ポインタＷＰから上記差分初期値だけ遅れた位置を強制的に読出ポインタＲＰとしてレジスタ３０８に設定する。上述した、読出ポインタＲＰが示す位置からのサンプルの読み出しは、その強制設定には関係なく、継続される。なお、バッファエラー有りの場合（ＢＥＦ＝１）は、設定信号ＳＳを発生し、仲介部１０７の出力を、バッファ側からＳＲＣ側に切り替える。
【００３７】
図３のＳＲＣは、３０２、３１２〜３１７で構成され、機能的には、図２のＳＲＣ２０２に相当する（ただしバッファ部３０１をＦＩＦＯバッファと共用）。ＷＣ逓倍ＰＬＬ部３１２は、Ｗクロックに同期し、かつ、Ｗクロックの周波数を２14倍に逓倍したクロックを生成するとともに、循環式のフリーランカウンタを用いて、該クロックをカウントする。このカウンタは２０ビット長であり、そのカウントＷＸの上位６ビットを整数部、下位１４ビットを小数部とする。カウントＷＸは、Ｗクロックが規定するサンプル時刻を遅延量Ｄsrcだけ遅延した時刻を、Ｗクロック１周期の２14倍の分解能で表現した時刻データである。カウントＷＸの整数部６ビットは、Ｗクロックの数のカウントなので、これをリングバッファ３０２の一連の位置を繰り返しアクセスするためのアドレスとして利用できる。
【００３８】
付番３１３のＩＰラッチ１は、Ｓクロックの規定する各タイミング（例えば、立ち上がり）において、前記カウントＷＸを、今回の補間ポインタＩＰとしてラッチする。また、付番３１４のＩＰラッチ２は、同タイミングにおいて、ＩＰラッチ１の出力値（Ｓクロックの前回のタイミングに、ＩＰラッチ１がラッチしたカウントＷＸ、つまり、前回の補間ポインタＩＰ）をラッチする。結果として、Ｓクロックの規定する各タイミング毎に、ＩＰラッチ１には、今回の補間ポインタＩＰ（今回のＳクロックの時刻）が、ＩＰラッチ２には前回の補間ポインタＩＰ（１つ前のＳクロックの時刻）が、それぞれ格納される。差分検出部３１５は、ＩＰラッチ１の値とＩＰラッチ２の値との差分ΔＩＰを求める。この差分ΔＩＰは、Ｗクロックが規定するサンプル時刻（時計）で測定した、Ｓクロックの１周期の時間に相当する。ＷクロックとＳクロックの周波数が略同じ場合、差分ΔＩＰは「１．００…」に近い値となる。Ｗクロックの周波数がＳクロックの周波数より相対的に小さい場合、差分ΔＩＰは１より小さくなる。Ｗクロックの周波数がＳクロックの周波数より相対的に大きい場合、差分ΔＩＰは１より大きくなる。
【００３９】
補間部３１６は、Ｓクロックが規定する各タイミング毎に、ＩＰラッチ１からの補間ポインタＩＰを入力し、リングバッファ３０２から、該ＩＰの整数部の示す位置の前後の連続する６サンプルを読み出し、該６サンプルからラグランジェ補間演算により、該ＩＰの小数部が示すサンプル間のサンプルを算出する。読み出す６サンプルは、例えば、リングバッファ３０２の「Ｉｎｔ（ＩＰ）−２」から「Ｉｎｔ（ＩＰ）＋３」までの６位置の６サンプルである。Ｉｎｔ（ＩＰ）は、補間ポインタＩＰの整数部を表す。この補間演算により、Ｉｎｔ（ＩＰ）のサンプルとＩｎｔ（ＩＰ）＋１のサンプルの間の、補間ポインタＩＰの小数部が示す中間位置の補間サンプルが算出される。求めた補間サンプル値は、補間サンプルバッファ３１７に格納される。補間アドレスＩＰは、カウントＷＸで計測した、Ｓクロックの時刻に相当するから、ここでは、入力した音データＳinの、Ｗクロックが規定する現在のサンプル時刻から遅延量Ｄsrcだけ遅れたサンプル時刻の、Ｓクロックが規定するタイミングのサンプルが算出されることになる。なお、補間サンプルバッファ３１７は、バッファエラーが生じたときのバッファ側出力からＳＲＣ側出力への切り替えタイミングを調整するために設けられている。バッファ３１７は、所定数のサンプルデータを保持するＦＩＦＯ型のバッファであり、Ｓクロックに同期して各サンプルを所定クロック分遅延する。後述するクロスフェードは、この遅延時間内に行われる。
【００４０】
仮想書込ポインタｉＷＰと遅延量Ｄsrcについて説明する。仮想書込ポインタｉＷＰは、Ｗクロックに応じた上記書込ポインタＷＰの進行の速度を、ＰＬＬを使用して均一化したことを想定した場合の仮想的な書込ポインタであり、変動の少ない安定した速度で書込ポインタＷＰに追従する。書込ポインタＷＰの進行の速度が安定している場合は、仮想書込ポインタｉＷＰは書込ポインタＷＰと同じ位置と見なして良い。ただし、受信部１０６が、複数サンプルをパケット単位でまとめて伝送する伝送形式（DanteやCobraNet等）の音データＳinを受信している場合、書込ポインタＷＰの進行も複数サンプル単位で、進行速度の変動が大きくなるので、Ｗクロックの本当のサンプル時刻として、そのような場合でも安定した速度で進む仮想的な書込ポインタｉＷＰを想定している。
【００４１】
遅延量Ｄsrcは、上記仮想書込ポインタｉＷＰ（入力サンプル時刻）から補間ポイントＩＰ（出力サンプル時刻）までのアドレス差（時間差）に相当する。遅延量Ｄsrcは予め設計時に決めておくとよい。受信部１０６から仲介部１０７への音データＳinとＷクロックの供給が始まると、そのＷクロックに応じて、ＷＣ逓倍ＰＬＬ部３１２と書込部３０３とがそれぞれ動作を開始し、ＰＬＬ部３１２の生成するクロックの周期が安定したところで、その時点の書込ポインタＷＰから遅延量Ｄsrcを減算した値（ＩＰ初期値）が、ＰＬＬ部３１２に、カウントＷＸとして設定される。これによりＷＣ逓倍ＰＬＬ部３１２のカウントＷＸの調整が終わり、仲介部１０７は、ＳＲＣの動作を開始する。なお、受信部１０６からの音データＳin及びＷクロックの供給が始まってから、ＰＬＬ部３１２の生成するクロックが安定するまでの間は、そのクロックのジッタにより、出力できる音データＳiの品質が低いので、レベル制御部３１８で補間サンプルバッファ３１７からの音データをミュートし、該所定時間が経過したら、バッファ３１７からの音データに対する、係数Ｌsrcに基づくレベル制御を開始する。
【００４２】
レベル制御部３１１は、読出サンプルバッファ３１０からのバッファ側出力の音データＳrに対して、係数Ｌbufに基づくレベル制御を施して混合部３２０に出力する。レベル制御部３１８は、補間サンプルバッファ３１７からのＳＲＣ側出力の音データＳiに対して、係数Ｌsrcに基づくレベル制御を施して混合部３２０に出力する。混合部３２０は、Ｓクロックに同期して、レベル制御部３１１からの音データとレベル制御部３１８からの音データとを混合し、その和を音データＳoutとして出力する。レベル制御部３１１，３１８と混合部３２０は、機能的には、図２のセレクタ２０４に相当する。
【００４３】
Ｘ（クロス）フェード係数発生部３１９は、ＳＲＣ選択フラグＳsrcを設定するレジスタ３３１を備える。ＳＲＣ選択フラグＳsrcは「０」または「１」の何れかの値をとり、「０」のときバッファ側の音データを選択することを意味し、「１」のときＳＲＣ側の音データを選択することを意味する。ＳＲＣ選択フラグＳsrcに「０」を設定する主体は、ＣＰＵ１０１である。ＣＰＵ１０１は、後述する図４のステップ７１５，７１７，７３１でＳＲＣ選択フラグＳsrcに「０」を設定する。ＳＲＣ選択フラグＳsrcに「１」を設定する主体は、ＣＰＵ１０１または差分検出部３０９である。ＣＰＵ１０１は、後述する図４のステップ７１６，７２５でＳＲＣ選択フラグＳsrcに「１」を設定する。また、差分検出部３０９が出力する設定信号ＳＳは、ＳＲＣ選択フラグＳsrcを「１」に設定することを指示する信号であり、Ｘフェード係数発生部３１９は、この設定信号ＳＳを受けるとＳＲＣ選択フラグＳsrcを「１」に設定する。
【００４４】
Ｘフェード係数発生部３１９は、ＣＰＵ１０１ないし差分検出部３０９がレジスタ３３１に設定したＳＲＣ選択フラグＳsrcに基づいて音データに乗算する係数ＬsrcおよびＬbufを生成し出力する。ＣＰＵ１０１がＳsrcに「０」を設定すると、仲介部１０７ではバッファ側の音データが選択され、ＣＰＵ１０１ないし差分検出部３０９がＳsrcに「１」を設定すると、ＳＲＣ側の音データが選択される。Ｘフェード係数発生部３１９は、Ｓsrcに「０」が設定されると、数サンプルの時間で係数Ｌsrcを現在値から０（−∞ｄＢ）に向けて、かつ係数Ｌbufを現在値から１（０ｄＢ）に向けてそれぞれ変化させ、Ｓsrcに「１」が設定されると、数サンプルの時間で係数Ｌsrcを現在値から１（０ｄＢ）に向けて、かつ係数Ｌbufを現在値から０（−∞ｄＢ）に向けてそれぞれ変化させる。なお、ＳＲＣ選択フラグＳsrcの設定値にかかわらず、バッファ側の動作と、ＳＲＣ側の動作は、共に継続して実行されている。
【００４５】
ＣＰＵ１０１ないし差分検出部３０９がＳＲＣ選択フラグＳsrcの値を書き換えたとき、Ｘフェード係数発生部３１９は、係数ＬsrcとＬbufを所定サンプル数の時間で徐々に「０」から「１」へあるいは「１」から「０」へ変化させることで、出力される音データＳoutが、バッファ側の音データとＳＲＣ側の音データの間でクロスフェードされる。後述する図４の処理を実行するＣＰＵ１０１と、差分検出部３０９と、上記Ｘフェード係数発生部３１９は、機能的には、図２の制御部２０３に相当する。
【００４６】
図４（ａ）〜（ｃ）は、図１の制御ＣＰＵ１０１の処理フローを示す。図４（ａ）は、電源オン等のときにＣＰＵ１０１が実行する準備処理のフローチャートである。ステップ７０１で、ＣＰＵ１０１は、遅延量Ｄsrcを決定し、仲介部１０７に設定する。ステップ７０２で、ＣＰＵ１０１は、その遅延量Ｄsrcに基づいてＮｂmaxとＮｂminを決定し、仲介部１０７のレジスタ３３２，３３３に設定する。
【００４７】
なお、遅延量Ｄsrcは、リアルタイム用途では、もちろん出来るだけ短いことが好ましいが、装置の各部の処理にかかる時間やＳＲＣの補間方式等の各種ファクタに基づいて決める。ここでは、遅延量Ｄsrcを、ＮｂmaxとＮｂminの真ん中、すなわち（Ｎｂmax＋Ｎｂmin）／２としている。ここで、Ｎｂmaxは許容範囲の上限に相当し、Ｎｂminは許容範囲の下限に相当する。なお、遅延量Ｄsrcを、（Ｎｂmax＋Ｎｂmin）／２とすることは必須ではなく、許容範囲内の何れの値としてもよい。
【００４８】
図４（ｂ）は、ユーザがＳＲＣモードの設定操作を行ったときに、ＣＰＵ１０１が実行するＭsrc設定操作イベント処理のフローチャートである。ＳＲＣモードは、仲介部１０７の動作を規定する。ユーザは、ＳＲＣモードとして、「ＳＲＣオフ」、「ＳＲＣオン」、または「ＳＲＣオート」の何れかを指定する。ＳＲＣモードが「ＳＲＣオフ」のとき、仲介部１０７は、常にバッファからの音データＳrを選択し、「ＳＲＣオン」のとき、仲介部１０７は、常にＳＲＣからの音データＳiを選択し、「ＳＲＣオート」のとき、仲介部１０７は、バッファの遅延量が許容範囲内である場合はバッファからの音データＳrを選択し、許容範囲を外れる場合は、ＳＲＣからの音データＳiを選択する。どのようにバッファ側出力とＳＲＣ側出力とを切り替えるかについては、図４（ｃ）で説明する。レジスタＭsrcには、ＳＲＣモードを示すモード値が設定される。そのモード値「０」は「ＳＲＣオフ」を、「１」は「ＳＲＣオン」を、「２」は「ＳＲＣオート」を、それぞれ示す。
【００４９】
図４（ｂ）において、ステップ７１１で、ＣＰＵ１０１は、ユーザが指定したＳＲＣモードに応じて、レジスタＭsrcにモード値を設定する。すなわち、指定されたＳＲＣモードが「ＳＲＣオフ」のときはＭsrcに０を設定し、「ＳＲＣオン」のときはＭsrcに１を設定し、「ＳＲＣオート」のときはＭsrcに２を設定する。
【００５０】
次にステップ７１２で、レジスタＭsrcの値に応じて分岐する。Ｍsrcが０または１なら、ステップ７１３で、ＣＰＵ１０１は、図４（ｃ）の仲介部処理の定期的起動を停止する。さらにステップ７１４で、Ｍsrcが０か１か判定する。Ｍsrcが０すなわちＳＲＣオフの指示なら、ステップ７１５で、ＣＰＵ１０１は、仲介部１０７のＳＲＣ選択フラグＳsrcに０をセットして終了する。Ｍsrcが１すなわちＳＲＣオンの指示なら、ステップ７１６で、ＣＰＵ１０１は、仲介部１０７のＳＲＣ選択フラグＳsrcに１をセットして終了する。ＳＲＣ選択フラグＳsrcの値が０のとき、係数Ｌsrcが０に、係数Ｌbufが１にそれぞれ変化して、仲介部１０７からはバッファ側の音データＳrが選択出力され、またＳＲＣ選択フラグＳsrcの値が１のとき、係数Ｌsrcが１に、係数Ｌbufが０にそれぞれ変化して、仲介部１０７からはＳＲＣ側の音データＳiが選択出力される。ステップ７１２でＭsrcの値が２すなわちＳＲＣオートの指示なら、ステップ７１７で、ＣＰＵ１０１は、仲介部処理の時間Tcp毎の定期的起動を開始し、ＳＲＣ選択フラグＳsrcを０に初期設定して、仲介部１０７にバッファ側の音データＳrを選択出力させ、処理を終了する。この後、定期的に起動される仲介部処理により、選択フラグＳsrcの値が変更され、それに応じて仲介部１０７での音データの選択が変化する。
【００５１】
図４（ｃ）は、ＣＰＵ１０１による仲介部処理のフローチャートである。本処理は、上記ステップ７１７が実行されてから、ステップ７１３が実行されるまでの間（つまり、Ｍsrcが２である間）、所定時間Ｔcp（例えば数ミリ秒）毎に、ＣＰＵ１０１により繰り返し実行される。
【００５２】
ステップ７２１では、仲介部１０７から、差分ΔＩＰ、バッファエラーフラグＢＥＦ、およびＳＲＣ選択フラグＳsrcを読み出す。ステップ７２２で、仲介部１０７のＳＲＣ選択フラグＳsrcとＣＰＵ１０７が保有する変数Ｓsrco（前回のＳsrcのコピー）の２値を判定する。Ｓsrc，Ｓsrcoが１，０の場合、これはＣＰＵ１０１が仲介部１０７のＳＲＣ選択フラグＳsrcに０を設定した後、その値を仲介部１０７が１に変更した場合であり、仲介部１０７が、バッファエラー（バッファの遅延時間が許容範囲を外れている）を検出し、レジスタ３３１にＳsrc＝１を設定してＳＲＣ側の音データＳiを自動選択したということを意味するので、ＣＰＵ１０１は、ステップ７２３で、変数Ｓsrcoに１を設定するとともに、ステップ７２８で、カウンタＲＴに定数ＲＴ0をセットして終了する。
【００５３】
ステップ７２２でＳsrc，Ｓsrcoが０，０の場合、すなわちバッファ側出力が選択されている場合には、ステップ７２４で、ＣＰＵ１０１は、差分ΔＩＰが０を中心とするΔＩＰminからΔＩＰmaxの範囲内であるかを判定する。差分ΔＩＰがこの範囲を外れた場合は、Ｗクロックの周波数とＳクロックの周波数の差が所定以上となったということだから、ステップ７２５に進んで、ＣＰＵ１０１は、仲介部１０７のレジスタ３３１にＳsrc＝１を設定してＳＲＣ側の音データＳiを選択させるとともに、ＣＰＵ１０１の変数Ｓsrcoに１を設定する。次にステップ７２６で、ＣＰＵ１０１は、カウンタＲＴに定数ＲＴ0をセットして終了する。ステップ７２４で差分ΔＩＰが前記範囲内の場合は、そのまま終了する。
【００５４】
ステップ７２２でＳsrc，Ｓsrcoが１，１の場合、すなわちＳＲＣ側出力が選択されている場合には、ステップ７２７で、ＣＰＵ１０１は、バッファエラーフラグＢＥＦを判定する。ＢＥＦ＝１なら、ＳＲＣ側出力に切り替えた状態で、未だバッファエラーが発生しているということだから、ステップ７２８で、ＣＰＵ１０１は、カウンタＲＴに定数ＲＴ0をセットして終了する。
【００５５】
ステップ７２７でＢＥＦ＝０なら、仲介部処理の前回の起動から今回の起動までの間にバッファエラーが無かったということだから、ステップ７２９で、ＣＰＵ１０１は、カウンタＲＴから１を減算し、ステップ７３０でカウンタＲＴが０になったか判定する。未だＲＴが０になっていないときは、そのまま終了する。ＲＴが０になったときは、ＲＴ０が規定する所定時間以上バッファエラーが無かったことを意味するので、ステップ７３１で、ＣＰＵ１０１は、仲介部１０７のレジスタ３３１にＳsrc＝０を設定してバッファ側からの音データＳrを選択させるとともに、ＣＰＵ１０１の変数Ｓsrcoに０を設定して、処理を終了する。
【００５６】
上記図４（ｃ）の処理では、バッファの遅延時間が許容範囲を外れ、仲介部１０７の出力が、バッファ側の音データＳrからＳＲＣ側の音データＳiに自動的に切り替わった後、バッファエラー無しの状態が連続してＲＴ0回検出されたら、ＣＰＵ１０１は、Ｓsrcに０をセットして、仲介部１０７の出力を、バッファ側の音データＳrに戻している。これにより、バッファエラー無しが検出されても未だ動作が不安定で再度バッファエラーが生じるような場合は継続してＳＲＣ側出力を選択し続け、ある程度の時間（図４（ｃ）の仲介部処理の定期的起動を行う際の時間間隔と定数ＲＴ0の値に基づいて決まる時間）だけバッファエラーが生じなくなったらバッファ側出力に戻している。
【００５７】
仲介部１０７は、その内部処理で、バッファ側出力が選択されている状態でバッファエラー有りが検出されたとき、バッファ側からＳＲＣ側へ仲介部１０７の出力を自動切り替えする。ＣＰＵ１０１は、図４（ｃ）の処理により、バッファ側出力が選択されている状態で（バッファエラー無しであっても）差分ΔＩＰがΔＩＰminからΔＩＰmaxの範囲を外れたときには、バッファ側からＳＲＣ側への、仲介部１０７の出力切り替えを行う。ΔＩＰminとΔＩＰmaxは差分ΔＩＰが変動する範囲を判定するための最小値と最大値である。Ｗクロックの周波数がＳクロックの周波数より相対的に小さくなると差分ΔＩＰは小さくなり、Ｗクロックの周波数がＳクロックの周波数より相対的に大きくなると差分ΔＩＰは大きくなる。そこで、予め最小値ΔＩＰminと最大値ΔＩＰmaxを決めておき、ΔＩＰがこの範囲から外れるほどＷクロックの周波数とＳクロックの周波数との差があるときはバッファ側出力からＳＲＣ側出力へ切り替えるようにしたものである。
【００５８】
なお、仲介部１０７の内部処理によるＮｂの有効範囲に基づくバッファエラー判定方式は、ＷクロックとＳクロックの周波数差が累積していき、Ｎｂがある程度の時間をかけて徐々に小さくあるいは大きくなって至ったバッファエラーを検出する。一方、ＣＰＵ１０１の処理によるΔＩＰが所定範囲を外れたことを検出する方式は、ΔＩＰがＷクロックとＳクロックの周期差に直接的に対応することから、短時間にＷクロックとＳクロックの周波数差が大であることを検出する。従って、そのような方式上のメリットを生かすように、ＮｂminとＮｂmaxおよびΔＩＰminとΔＩＰmaxの値を決めるのが良い。
【００５９】
仲介部１０７の出力を、バッファ側とＳＲＣ側の間で切り替える際には、クロスフェードを行う。一方、図３で説明したように、仲介部１０７では、差分検出部３０９がバッファエラーを検出するとすぐにリセット信号が読出部３０６に出力され読出ポインタＲＰが書き換えられる。そのため、書き換えられた読出ポインタＲＰでバッファ３０２から読み出されたサンプルがレベル制御部３１１に渡される前に、バッファ側出力からＳＲＣ側出力へのクロスフェードを終わらせる必要がある。その時間調整のため読出サンプルバッファ３１０を設けている。また、ＳＲＣ側でも、読出サンプルバッファ３１０による遅延分と同等の遅延を実現するため、補間サンプルバッファ３１７を設けている。
【００６０】
なお、上記実施形態では、１サンプル毎に１パルス入力するＷクロックや、複数サンプル毎にタイムスタンプが入力する形式のＷクロックが想定されているが、他の形式のタイミング情報が入力するものでも良い。
【００６１】
上記第２の実施例では、レベル制御部３１１，３１８とＸフェード係数発生部３１９と混合部３２０によりクロスフェードでバッファ側出力とＳＲＣ側出力との切り替えを行っているが、必ずしもクロスフェードする必要はなく、単なるセレクタで読出サンプルバッファ３１０からの出力と補間サンプルバッファ３１７からの出力とを選択するようにしても良い。その場合は、バッファ側出力の読出ポインタＲＰの位置とＳＲＣ側出力の補間ポイントＩＰの位置が略同じになるように調整すると良い。
【００６２】
上記第２の実施例では、６サンプルを用いたラグランジェ補間を利用した例で説明したが、補間方式や補間に用いるサンプル数は任意である。ただし、補間に用いるサンプル数を少なくし、また補間ポイントＩＰの位置より過去のサンプルをより多く用いて補間を行うことで、遅延量Ｄsrcを短くすることが出来る。
【００６３】
また上記第２の実施例では、遅延量Ｄsrcを固定した値としたが、可変としても良い。その場合、遅延量Ｄsrcがバッファにおける遅延量Ｎbに追随して、略リアルタイムに遅延量ＤsrcがＮbと同じあるいは近い値になるようにすると良い。これにより、遅延量Ｎbが許容範囲を外れてＳＲＣ側出力に切り替わるときに、その時点の遅延量Ｎbに近い遅延量Ｄsrcで動作しているＳＲＣ側出力を得ることが出来る。
【００６４】
上記第２の実施例では、図３の仲介部１０７のハードウェアと図４の処理を行うＣＰＵ１０１とでＳＲＣオートモードを実現したが、ＣＰＵ１０１が果たす機能をロジック回路で実現することも可能である。
【符号の説明】
【００６５】
１０１…ＣＰＵ、１０２…ＲＯＭ、１０３…ＲＡＭ、１０６…受信部、１０７…仲介部、１０８…処理部、２０１…バッファ、２０２…サンプリングレートコンバータ（ＳＲＣ）、２０３…制御部、２０４…セレクタ。
【図１】
2017152803.tif 000003
【図２】
2017152803.tif 000004
【図３】
2017152803.tif 000005
【図４】
2017152803.tif 000006