(57)【要約】【課題】フィードバック動作を持つ処理を並列化した場合に、処理速度の向上を図る。【解決手段】開示される並列処理装置は、それぞれが１又は複数の出力データ候補ｙｈを出力するパラレルな複数のステージＳ１，Ｓ２，Ｓ３，Ｓ４と、各ステージにとっての正しい出力データｙを探索する探索器１０２と、を備える。前記複数の出力データ候補ｙｈは、前記複数のステージＳ１，Ｓ２，Ｓ３，Ｓ４に含まれる１又は複数の他のステージＳ１，Ｓ２，Ｓ３にとっての正しい出力データｙの候補を用いて求められる。前記探索器１０２は、複数のステージそれぞれの１又は複数の出力データ候補ｙｈから、各ステージにとっての正しい出力データｈを探索する。【選択図】図１
2019009616.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが１又は複数の出力データ候補を出力するパラレルな複数のステージと、
各ステージにとっての正しい出力データを探索する探索器と、
を備え、
前記複数の出力データ候補は、前記複数のステージに含まれる１又は複数の他のステージにとっての正しい出力データの候補を用いて求められ、
前記探索器は、複数のステージそれぞれの１又は複数の出力データ候補から、各ステージにとっての正しい出力データを探索する
並列処理装置。
【請求項２】
前記探索器は、複数の出力データ候補が前記１又は複数の他のステージにとっての正しい出力データの候補を用いて求められていることを利用した処理によって、複数のステージそれぞれの１又は複数の出力データ候補から、各ステージにとっての正しい出力データを探索する
請求項１に記載の並列処理装置。
【請求項３】
前記複数のステージは、一つの出力データ候補を出力する単一出力ステージと、複数の出力データ候補を出力するマルチ出力ステージと、を含む
請求項１又は２に記載の並列処理装置。
【請求項４】
各マルチ出力ステージは、前記１又は複数の他のステージにとっての正しい出力データの複数の候補に対応付けられた複数の設定値が設定されたルックアップテーブルを参照し、複数の設定値に基づいて、複数の前記出力データ候補を求める
請求３に記載の並列処理装置。
【請求項５】
デルタシグマ変調を並列処理するために用いられる請求項１〜４のいずれか１項に記載の並列処理装置。
【請求項６】
それぞれが１又は複数の出力データ候補を出力するパラレルな複数のステージと、
各ステージにとっての正しい出力データを探索する探索器と、
を備え、
前記複数の出力データ候補は、前記複数のステージに含まれる１又は複数の他のステージにとっての正しい出力データの候補を用いて求められ、
前記探索器は、複数のステージそれぞれの１又は複数の出力データ候補から、各ステージにとっての正しい出力データを探索する
半導体集積回路
【請求項７】
パラレルに動作する複数のステージそれぞれが、前記複数のステージに含まれる１又は複数の他のステージにとっての正しい出力データの候補を用いて、出力データ候補を求めること、
複数のステージそれぞれの１又は複数の出力データ候補から、各ステージにとっての正しい出力データを探索すること
を含む並列処理方法。
【請求項８】
プログラム可能な集積回路と、前記集積回路の回路構成に関する回路構成情報を前記集積回路に与え、前記回路構成情報に従った回路を前記集積回路に構成させるコンピュータと、を備えたシステムであって、
前記回路構成情報が示す回路は、
それぞれが１又は複数の出力データ候補を出力するパラレルな複数のステージと、
各ステージにとっての正しい出力データを探索する探索器と、
を備え、
前記複数の出力データ候補は、前記複数のステージに含まれる１又は複数の他のステージにとっての正しい出力データの候補を用いて求められ、
前記探索器は、複数のステージそれぞれの１又は複数の出力データ候補から、各ステージにとっての正しい出力データを探索する
システム。
【請求項９】
コンピュータに、
パラレルに動作する複数のステージそれぞれが、前記複数のステージに含まれる１又は複数の他のステージにとっての正しい出力データの候補を用いて、出力データ候補を求めること、
複数のステージそれぞれの１又は複数の出力データ候補から、各ステージにとっての正しい出力データを探索すること
を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、並列処理装置、半導体集積回路、並列処理方法、システム及びコンピュータプログラムに関する。
【背景技術】
【０００２】
非特許文献１及び２は、複数入力複数出力のフィルタを持つデルタシグマ変調器を開示している。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】R. K. Poorfard, L. B. Lim, and D. A. Johns, “Time-interleaved oversampling A/D converters: Theory and practice,” IEEE Trans. Circuits Syst. II, vol. 44, pp. 634-645, Aug. 1997.
【非特許文献２】K.S.Lee and F.Maloberiti,”Time-interleaved sigma-delta modulator using output porediction scheme,” IEEE Trans. Circuits Syst. II, vol.51. no. 10, oct. 2004.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般的なデルタシグマ変調器は、１入力１出力のフィルタを持つ。一般的なデルタシグマ変調器の動作は、出力データを入力側へフィードバックして、次の出力データを決定する逐次動作である。このため、デルタシグマ変調器の入出力を並列化しても、ある出力データを決定するためには他の出力データが必要であるため、複数の出力データを同時に決定することはできない。このように、デルタシグマ変調のようにフィードバック動作を持つ処理では、入出力を並列化しても、並列数に応じた処理速度の向上を図ることは困難であるという問題がある。
【０００５】
フィードバック動作を持つ処理を並列化した場合に、上記の問題を解決することが望まれる。
【課題を解決するための手段】
【０００６】
本開示のある側面は、並列処理装置である。本開示の並列処理装置は、それぞれが１又は複数の出力データ候補を出力するパラレルな複数のステージと、各ステージにとっての正しい出力データを探索する探索器と、を備え、前記複数の出力データ候補は、前記複数のステージに含まれる１又は複数の他のステージにとっての正しい出力データの候補を用いて求められ、前記探索器は、複数のステージそれぞれの１又は複数の出力データ候補から、各ステージにとっての正しい出力データを探索する。
【０００７】
本開示の他の側面は、半導体集積回路である。本開示の半導体集積回路は、それぞれが１又は複数の出力データ候補を出力するパラレルな複数のステージと、各ステージにとっての正しい出力データを探索する探索器と、を備え、前記複数の出力データ候補は、前記複数のステージに含まれる１又は複数の他のステージにとっての正しい出力データの候補を用いて求められ、前記探索器は、複数のステージそれぞれの１又は複数の出力データ候補から、各ステージにとっての正しい出力データを探索する。
【０００８】
本開示の他の側面は、並列処理方法である。本開示の並列処理方法は、パラレルに動作する複数のステージそれぞれが、前記複数のステージに含まれる１又は複数の他のステージにとっての正しい出力データの候補を用いて、出力データ候補を求めることを含み、複数のステージそれぞれの１又は複数の出力データ候補から、各ステージにとっての正しい出力データを探索することを含む。
【０００９】
本開示の他の側面は、システムである。本開示のシステムは、プログラム可能な集積回路と、前記集積回路の回路構成に関する回路構成情報を前記集積回路に与え、前記回路構成情報に従った回路を前記集積回路に構成させるコンピュータと、を備えたシステムであって、前記回路構成情報が示す回路は、それぞれが１又は複数の出力データ候補を出力するパラレルな複数のステージと、各ステージにとっての正しい出力データを探索する探索器と、を備え、前記複数の出力データ候補は、前記複数のステージに含まれる１又は複数の他のステージにとっての正しい出力データの候補を用いて求められ、前記探索器は、複数のステージそれぞれの１又は複数の出力データ候補から、各ステージにとっての正しい出力データを探索する。
【００１０】
本開示の他の側面は、コンピュータプログラムである。コンピュータプログラムは、例えば、コンピュータ読み取り可能な記憶媒体に格納される。本開示のコンピュータプログラムは、コンピュータに、パラレルに動作する複数のステージそれぞれが、前記複数のステージに含まれる１又は複数の他のステージにとっての正しい出力データの候補を用いて、出力データ候補を求めること、複数のステージそれぞれの１又は複数の出力データ候補から、各ステージにとっての正しい出力データを探索することを実行させる。
【発明の効果】
【００１１】
本発明によれば、処理速度の向上を図ることができる。
【図面の簡単な説明】
【００１２】
【図１】図１は並列処理装置の回路図である。
【図２】図２は並列処理装置を含むシステムの回路図である。
【図３】図３は並列処理部の回路図である。
【図４】図４は処理部の回路図である。
【図５Ａ】図５Ａはデルタシグマ変調の計算内容を示す図である。
【図５Ｂ】図５Ｂはデルタシグマ変調の計算内容を示す図である。
【図５Ｃ】図５Ｃは１入力１出力のデルタシグマ変調器の回路図である。
【図６】図６はｙ及びｙｈの対応を示す表である。
【図７Ａ】図７Ａはｙ及びｙｈの一致判定結果を示す表である。
【図７Ｂ】図７Ｂはｙ及びｙｈの一致判定結果を示す表である。
【図７Ｃ】図７Ｃはｙ及びｙｈの一致判定結果を示す表である。
【図８】図８は並列処理部の回路図である。
【図９Ａ】図９Ａはルックアップテーブルを示す図である。
【図９Ｂ】図９Ｂはルックアップテーブルを示す図である。
【図９Ｃ】図９Ｃはルックアップテーブルを示す図である。
【図１０】図１０は更新部を示す回路図である。
【図１１Ａ】図１１Ａはルックアップテーブルを示す図である。
【図１１Ｂ】図１１Ｂはルックアップテーブルを示す図である。
【図１２】図１２は並列処理部の回路図である。
【図１３】図１３は更新部の回路図である。
【図１４】図１４は並列処理部の回路図である。
【図１５Ａ】図１５Ａはルックアップテーブルを示す図である。
【図１５Ｂ】図１５Ｂはルックアップテーブルを示す図である。
【図１５Ｃ】図１５Ｃはルックアップテーブルを示す図である。
【図１５Ｄ】図１５Ｄはルックアップテーブルを示す図である。
【発明を実施するための形態】
【００１３】
［１．実施形態の概要］
【００１４】
（１）実施形態に係る並列処理装置は、それぞれが１又は複数の出力データ候補を出力するパラレルな複数のステージを備える。出力データ候補は、正しい出力データの候補である。実施形態に係る並列処理装置は、各ステージにとっての正しい出力データを探索する探索器を備える。前記複数の出力データ候補は、前記複数のステージに含まれる１又は複数の他のステージにとっての正しい出力データの候補を用いて求められる。前記探索器は、複数のステージそれぞれの１又は複数の出力データ候補から、各ステージにとっての正しい出力データを探索する。
【００１５】
各ステージは、他のステージの正しい出力データの候補を用いて、出力データ候補を求めるため、他のステージから正しい出力データを取得する必要がない。したがって、各ステージはパラレルに動作することができる。
【００１６】
（２）前記探索器は、複数の出力データ候補が前記１又は複数の他のステージにとっての正しい出力データの候補を用いて求められていることを利用した処理によって、複数のステージそれぞれの１又は複数の出力データ候補から、各ステージにとっての正しい出力データを探索することができる。この場合、探索が容易となる。
【００１７】
（３）前記複数のステージは、一つの出力データ候補を出力する単一出力ステージと、複数の出力データ候補を出力するマルチ出力ステージと、を含むことができる。単一出力ステージから出力された一つの出力データ候補は、そのまま正しい出力データとして扱うこともできる。
【００１８】
（４）各マルチ出力ステージは、前記１又は複数の他のステージにとっての正しい出力データの複数の候補に対応付けられた複数の設定値が設定されたルックアップテーブルを参照し、複数の設定値に基づいて、複数の前記出力データ候補を求めることができる。ルックアップテーブルを利用することで、演算量を削減することができる。ここで、「複数の設定値に基づいて、複数の前記出力データ候補を求める」とは、設定値から出力データ候補を演算することであってもよいし、設定値をそのまま出力データ候補とすることであってもよい。
【００１９】
（５）並列処理装置は、デルタシグマ変調を並列処理するために用いられるのが好ましい。この場合、デルタシグマ変調を並列処理によって高速に行える。
【００２０】
（６）実施形態に係る半導体集積回路は、それぞれが１又は複数の出力データ候補を出力するパラレルな複数のステージと、各ステージにとっての正しい出力データを探索する探索器と、を備え、前記複数の出力データ候補は、前記複数のステージに含まれる１又は複数の他のステージにとっての正しい出力データの候補を用いて求められ、前記探索器は、複数のステージそれぞれの１又は複数の出力データ候補から、各ステージにとっての正しい出力データを探索する。
【００２１】
（７）実施形態に係る並列処理方法は、パラレルに動作する複数のステージそれぞれが、前記複数のステージに含まれる１又は複数の他のステージにとっての正しい出力データの候補を用いて、出力データ候補を求めること、複数のステージそれぞれの１又は複数の出力データ候補から、各ステージにとっての正しい出力データを探索することを含む。
【００２２】
（８）実施形態に係るシステムは、プログラム可能な集積回路と、前記集積回路の回路構成に関する回路構成情報を前記集積回路に与え、前記回路構成情報に従った回路を前記集積回路に構成させるコンピュータと、を備え、前記回路構成情報が示す回路は、それぞれが１又は複数の出力データ候補を出力するパラレルな複数のステージと、各ステージにとっての正しい出力データを探索する探索器と、を備え、前記複数の出力データ候補は、前記複数のステージに含まれる１又は複数の他のステージにとっての正しい出力データの候補を用いて求められ、前記探索器は、複数のステージそれぞれの１又は複数の出力データ候補から、各ステージにとっての正しい出力データを探索する。
【００２３】
（９）実施形態に係るコンピュータプログラムは、コンピュータに、パラレルに動作する複数のステージそれぞれが、前記複数のステージに含まれる１又は複数の他のステージにとっての正しい出力データの候補を用いて、出力データ候補を求めること、複数のステージそれぞれの１又は複数の出力データ候補から、各ステージにとっての正しい出力データを探索することを実行させる。
【００２４】
［２  実施形態の詳細］
【００２５】
［２．１  並列処理装置（並列デルタシグマ変調器）の第１例］
【００２６】
図１は、ｍ入力ｍ出力の並列処理装置１００を示している。ここで、ｍは、２以上の整数である。図示の装置１００において、ｍ＝４であるが、これに限られない。
【００２７】
図１の並列処理装置１００は、例えば、並列処理プロセッサ及びメモリを有するコンピュータによって構成される。プロセッサは、メモリに記憶されたコンピュータプログラムを実行し、実施形態に係る並列処理装置１００としての機能を発揮する。
【００２８】
並列処理装置１００は、例えば、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の半導体集積回路によって構成されてもよい。
【００２９】
さらに、並列処理装置１００は、プログラム可能な集積回路であるＦＰＧＡと、このＦＰＧＡの回路構成に関する回路構成情報をＦＰＧＡに与え、回路構成情報に従ってＦＰＧＡに回路を構成させる機能を有するコンピュータとを備えたシステムであってもよい。コンピュータは、プロセッサとメモリを有する。この場合、コンピュータのメモリには、回路構成情報をＦＰＧＡに与えるための処理をプロセッサに実行させるためのプログラムや、１又は複数の回路構成情報が記憶される。
【００３０】
コンピュータは、そのメモリに記憶された回路構成情報をＦＰＧＡに与える。回路構成情報が与えられたＦＰＧＡは、与えられた回路構成情報に従った回路を構成する。コンピュータのメモリには、実施形態に係る並列処理装置１００の回路構成を示す回路構成情報が記憶されている。コンピュータは、並列処理装置１００の回路構成情報をＦＰＧＡに与えることで、ＦＰＧＡに並列処理装置１００を構成させることができる。
【００３１】
以下では、並列処理装置１００の一例として、並列デルタシグマ変調器１００（以下、「変調器１００」という）を説明する。
【００３２】
図示の変調器１００は、４個の入力データｘ（ｎ−４），ｘ（ｎ−３），ｘ（ｎ−２），ｘ（ｎ−１）をパラレルに受け付け、４個の出力データｙ（ｎ−４），（ｎ−３），（ｎ−２），（ｎ−１）をパラレルに出力する。ここで、ｎは、離散時間である。
【００３３】
図２は、変調器１００を含むシステム５００を示している。システム５００は、変調器１００の入力側に設けられたシリアルパラレル変換器２００と、変調器１００の出力側に設けられたパラレルシリアル変換器３００を備える。
【００３４】
シリアルパラレル変換器２００は、シリアルの入力データｘ（ｎ−４），ｘ（ｎ−３），ｘ（ｎ−２），ｘ（ｎ−１）を受け付ける。シリアルパラレル変換器２００は、シリアルの入力データｘ（ｎ−４），ｘ（ｎ−３），ｘ（ｎ−２），ｘ（ｎ−１）をパラレルの入力データに変換する。パラレルの入力データｘ（ｎ−４），ｘ（ｎ−３），ｘ（ｎ−２），ｘ（ｎ−１）は、変調器１００に与えられる。
【００３５】
パラレルシリアル変換器２００は、変調器１００からパラレルの出力データｙ（ｎ−４），（ｎ−３），（ｎ−２），（ｎ−１）を受け付ける。パラレルシリアル変換器２００は、パラレルの出力データｙ（ｎ−４），（ｎ−３），（ｎ−２），（ｎ−１）を、シリアルの出力データに変換する。シリアルの出力データｙ（ｎ−４），（ｎ−３），（ｎ−２），（ｎ−１）は、システム５００の出力データとして出力される。
【００３６】
システム５００が非常に高速で出力データを出力することが要求される場合であっても、並列処理をする変調器１００は、より低速の処理速度でよい。例えば、システム５００の出力速度として数Ｇｂ／ｓが要求される場合であっても、例えば、並列数ｍを１０〜１００程度にすることで、並列処理をする変調器１００は、数１００ＭＨｚ程度の処理速度でよくなる。
【００３７】
図１に戻り、変調器１００は、ｍ個の入力データｘ（ｎ−４），ｘ（ｎ−３），ｘ（ｎ−２），ｘ（ｎ−１）が与えられる並列処理部１０１を備える。並列処理部１０１は、並列に動作するｍ個のステージＳ１，Ｓ２，Ｓ３，Ｓ４を備える。各ステージＳ１，Ｓ２，Ｓ３，Ｓ４は、１又は複数の出力データ候補ｙｈを出力する。
【００３８】
ステージＳ１は、正しい出力データｙ（ｎ−１）のための複数の出力データ候補ｙｈ（ｎ−１）を出力する。ステージＳ２は、正しい出力データｙ（ｎ−２）のための複数の出力データ候補ｙｈ（ｎ−２）を出力する。ステージＳ３は、正しい出力データｙ（ｎ−３）のための複数の出力データ候補ｙｈ（ｎ−３）を出力する。ステージＳ４は、正しい出力データｙ（ｎ−４）のための一つの出力データ候補ｙｈ（ｎ−１）を出力する。なお、ステージＳ１、Ｓ２，Ｓ３は、複数の出力データ候補を出力するマルチ出力ステージであり、ステージＳ４は、一つの出力データ候補を出力する単一出力ステージである。
【００３９】
変調器１００は、探索器１０２を備える。探索器１０２は、並列処理部１０１から出力された出力データ候補ｙｈ（ｎ−４），ｙｈ（ｎ−３），ｙｈ（ｎ−２），ｙｈ（ｎ−１）から、正しい出力データｙ（ｎ−３），ｙ（ｎ−３），ｙ（ｎ−２），ｙ（ｎ−１）を探索する。正しい出力データｙ（ｎ−３），ｙ（ｎ−３），ｙ（ｎ−２），ｙ（ｎ−１）は、変調器１００からパラレルに出力される。探索の仕方については後述する。
【００４０】
変調器１００は、各ステージＳ１，Ｓ２，Ｓ３，Ｓ４で用いられるメモリ値ｐ１，ｐ２を更新する更新部１０３，１０４を備える。メモリ値ｐ１，ｐ２及び更新部１０３，１０４については後述する。
【００４１】
図３は、図１に示す並列処理部１０１のより詳しい構成を示している。一方、図４は、別の処理部１０１ａを示している。図４の処理部１０１ａは、図３の並列処理部１０１と同様の結果を出力することができるが、処理に時間を要する。換言すると、図４の並列処理部１０１は、図３の処理部１０１ａを高速化したものである。以下では、まず、図４の処理部１０１ａを説明し、その後に、図３の並列処理部１０１を説明する。
【００４２】
図４の処理部は、図３の並列処理部１０１と同様に、４つのステージＳ１，Ｓ２，Ｓ３，Ｓ４を備えている。第１ステージＳ１は、第１演算部１１と量子化器１２とを備える。第１演算部１１は、図５ＡにおいてＳ１で示される範囲におけるｕ（ｎ−１）の計算式によって中間データｕ（ｎ−１）を計算する。中間データｕ（ｎ−１）は、量子化器１２に与えられる。量子化器１２は、中間データｕ（ｎ−１）を２値に量子化した量子化データｙ（ｎ−１）を生成する。図５ＡにおいてＳ１で示される範囲におけるｙ（ｎ−１）の計算式においては、符号関数（sign function）によって、中間データｕ（ｎ−１）から量子化データｙ（ｎ−１）が生成される。量子化データｙ（ｎ−１）は、出力データとして、第１ステージＳ１から出力される。
【００４３】
符号関数は、２値を出力するため、例えば、ｕ（ｎ−１）が０以上であれば、１を出力し、０未満であれば−１を出力する。なお、符号関数の出力は、１及び−１の２値をとるが、以下では、表記の便宜上、１及び−１の２値を、１及び０の２値として表す。他のステージＳ２，Ｓ３，Ｓ４の符号関数についても同様である。
【００４４】
第２ステージＳ２は、第２演算部２１と量子化器２２とを備える。第２演算部２１は、図５ＡにおいてＳ２で示される範囲におけるｕ（ｎ−２）の計算式によって中間データｕ（ｎ−２）を計算する。中間データｕ（ｎ−２）は、量子化器２２に与えられる。量子化器２２は、中間データｕ（ｎ−２）を２値に量子化した量子化データｙ（ｎ−２）を生成する。量子化データｙ（ｎ−２）は、出力データとして、第２ステージＳ２から出力される。
【００４５】
第３ステージＳ３は、第３演算部３１と量子化器３２とを備える。第３演算部３１は、図５ＡにおいてＳ３で示される範囲におけるｕ（ｎ−３）の計算式によって中間データｕ（ｎ−３）を計算する。中間データｕ（ｎ−３）は、量子化器３２に与えられる。量子化器３２は、中間データｕ（ｎ−３）を２値に量子化した量子化データｙ（ｎ−３）を生成する。量子化データｙ（ｎ−３）は、出力データとして、第３ステージＳ３から出力される。
【００４６】
第４ステージＳ４は、第４演算部４１と量子化器４２とを備える。第４演算部４１は、図５ＡにおいてＳ４で示される範囲におけるｕ（ｎ−４）の計算式によって中間データｕ（ｎ−４）を計算する。中間データｕ（ｎ−４）は、量子化器４２に与えられる。量子化器４２は、中間データｕ（ｎ−４）を２値に量子化した量子化データｙ（ｎ−４）を生成する。量子化データｙ（ｎ−４）は、出力データとして、第３ステージＳ４から出力される。
【００４７】
第４ステージＳ４は、一般的な１入力１出力のデルタシグマ変調器から、フィードバックループを除いたものに相当する。図５Ｃは、１入力１出力のデルタシグマ変調器の例を示している。図５Ｃのデルタシグマ変調器は、差分器６０１、ループフィルタ６０２、加算器６０３、量子化器６０４、フィードバックループ６０５を備える。図５のデルタシグマ変調器は、入力データｘを受け付け、出力データｙを出力する。
【００４８】
出力データｙは、量子化器６０４によって、加算器６０３の出力である中間データｕを２値に量子化することによって生成される。出力データｙは、図５Ｃ中のｙ（ｎ−１）の計算式で示すように、例えば、中間データｕ（ｎ−１）をｓｉｎｇ関数で２値化して得られる。
【００４９】
中間データｕは、図５Ｃ中のｕ（ｎ−１）の計算式で示すように、入力データｘ（ｎ−１）とループフィルタ６０２の出力ｐ２（ｎ−１）とを加算器６０３によって加算することによって生成される。ループフィルタ６０２には、差分器６０２の出力が与えられる。差分器６０２は、入力データｘと出力データｙのフィードバック値との差分ｘ−ｙを求め、ｘ−ｙをループフィルタ６０２に対して出力する。
【００５０】
ループフィルタ６０２は、メモリ機能を有する素子（レジスタメモリ）を含む。レジスタメモリには、ループフィルタ６０２の内部状態値ｐ１，ｐ２が記憶される。図５Ｃ中のｐ１（ｎ），ｐ２（ｎ）の更新式に示すように、値ｐ１（ｎ），ｐ２（ｎ）は、フィルタ内部パラメータａ１，ａ２，ｂ１，ｂ２を用いて、ループフィルタ６０２の入力ｘ（ｎ−１）−ｙ（ｎ−１）によって、現在の値ｐ１（ｎ−１），ｐ２（ｎ−１）から更新される。
【００５１】
シリアルに入力される複数の入力データｘから、逐次処理によって、複数の出力データｙを逐次的に出力するには、ｕ（ｎ−１）の計算、ｙ（ｎ−１）の計算、ｐ１（ｎ−１）の更新、ｐ２（ｎ−１）の更新を逐次行った後、離散時間ｎを＋１し、再び、ｕ，ｙの計算及びｐ１，ｐ２の更新を行うことになる。
【００５２】
前述のように、図４の第４ステージＳ４は、図５Ｃのデルタシグマ変調器から、フィードバックループ６０５を除いたものに相当する。すなわち、図５ＡにおいてＳ４で示す範囲におけるｕ及びｙの計算式と、図５Ｃに示すｕ及びｙの計算式は同じである。図４の第４演算部４１は、図５Ｃの加算器６０３と同様に、中間データｕを出力する。図４の量子化器４２は、図５Ｃの量子化器６０４と同様に量子化データｙを出力する。図４の第４ステージＳ４には、フィードバックループ６０５に代えて、出力データｙ（ｎ−４）を、他のステージＳ３，Ｓ２，Ｓ１の入力に与える経路Ｌ４が接続されている。
【００５３】
図４の第３ステージＳ３も、図５Ｃのデルタシグマ変調器から、フィードバックループ６０５を除いたものに概ね相当する。第３ステージＳ３は、シリアルな入力データ群においてｘ（ｎ−４）の次の時刻の入力データであるｘ（ｎ−３）から、出力データｙ（ｎ−３）を出力する。図４の第３ステージＳ３には、フィードバックループ６０５に代えて、出力データｙ（ｎ−３）を、他のステージＳ２、Ｓ１の入力に与える経路Ｌ３が接続されている。
【００５４】
図５Ｃから明らかなように、デルタシグマ変調器において、ある時刻ｎ−３の出力データｙ（ｎ−３）を生成するには、入力データｘ（ｎ−３）のほかに、一つ前の時刻ｎ−４の出力データｙ（ｎ−４）が必要であり、そのためにフィードバックループ６０５が設けられている。図４の第３ステージＳ３においては、出力データｙ（ｎ−４）は、前述の経路Ｌ４を介して、第４ステージＳ４から第３ステージＳ３に与えられる。
【００５５】
また、第３ステージＳ３の第３演算部３１は、ｕ（ｎ−３）を生成するのに、ｘ（ｎ−３）だけでなく、ｐ２（ｎ−３）を必要とする。図５Ｃにおいて、ｐ２は、一つ前の時刻のｐ１，ｐ２，ｘ，ｙを用いて計算されるため、第３演算部３１は、ｐ２（ｎ−３）を直接演算に用いるのに代えて、ｐ２（ｎ−３）を求めるためのｐ１（ｎ−４），ｐ２（ｎ−４），ｘ（ｎ−４），ｙ（ｎ−４）を用いて、ｕ（ｎ−３）を計算する（図５ＡのＳ３の範囲のｕ（ｎ−３）の計算式参照）。
【００５６】
第３演算部３１がｕ（ｎ−３）の計算に用いるデータｐ１（ｎ−４），ｐ２（ｎ−４），ｘ（ｎ−４），ｘ（ｎ−３），ｙ（ｎ−４）のうち、ｙ（ｎ−４）は、第４ステージＳ４から取得する必要がある。したがって、ｕ（ｎ−３）の計算のうち、ｙ（ｎ−４）を含む部分の計算は、第４ステージＳ４での計算が終了し、第４ステージＳ４から出力データｙ（ｎ−４）が出力されてからしか行うことができない。このため、第３ステージＳ３での計算終了は、第４ステージＳ３の計算終了よりも遅れる。
【００５７】
図４の第２ステージＳ２も、図５Ｃのデルタシグマ変調器から、フィードバックループ６０５を除いたものに概ね相当する。第２ステージＳ２は、シリアルな入力データ群においてｘ（ｎ−３）の次の時刻の入力データであるｘ（ｎ−２）から、出力データｙ（ｎ−２）を出力する。図４の第２ステージＳ２には、フィードバックループ６０５に代えて、出力データｙ（ｎ−２）を、他のステージＳＳ１の入力に与える経路Ｌ２が接続されている。
【００５８】
出力データｙ（ｎ−２）を生成するためには、入力データｘ（ｎ−２）のほかに、一つ前の時刻ｎ−３の出力データｙ（ｎ−３）が必要である。図４の第２ステージＳ２においては、出力データｙ（ｎ−３）は、前述の経路Ｌ３を介して、第３ステージＳ３から第２ステージＳ２に与えられる。
【００５９】
また、第２ステージＳ２の第２演算部２１は、ｕ（ｎ−２）を生成するのに、ｘ（ｎ−２）だけでなく、ｐ２（ｎ−２）を必要とする。第２演算部２１は、ｐ２（ｎ−２）を直接演算に用いるのに代えて、ｐ２（ｎ−２）を求めるためのｐ１（ｎ−４），ｐ２（ｎ−４），ｘ（ｎ−４），ｘ（ｎ−３），ｙ（ｎ−４），ｙ（ｎ−３）を用いて、ｕ（ｎ−２）を計算する（図５ＡのＳ２の範囲のｕ（ｎ−２）の計算式参照）。
【００６０】
第２演算部２１がｕ（ｎ−２）の計算に用いるデータｐ１（ｎ−４），ｐ２（ｎ−４），ｘ（ｎ−４），ｘ（ｎ−３），ｙ（ｎ−４），ｙ（ｎ−３）のうち、ｙ（ｎ−４），ｙ（ｎ−３）は、第４ステージＳ４及び第３ステージＳ３から取得する必要がある。したがって、ｕ（ｎ−２）の計算のうち、ｙ（ｎ−４）及びｙ（ｎ−３）を含む部分の計算は、第４ステージＳ４に遅れて第３ステージＳ３での計算が終了し、第４ステージＳ４及び第３ステージＳ３から出力データｙ（ｎ−４），ｙ（ｎ−３）が出力されてからしか行うことができない。このため、第２ステージＳ２での計算終了は、第４ステージＳ４に遅れる第３ステージＳ３の計算終了よりもさらに遅れる。
【００６１】
図４の第１ステージＳ１も、図５Ｃのデルタシグマ変調器から、フィードバックループ６０５を除いたものに概ね相当する。第１ステージＳ２は、シリアルな入力データ群においてｘ（ｎ−２）の次の時刻の入力データであるｘ（ｎ−１）から、出力データｙ（ｎ−１）を出力する。
【００６２】
出力データｙ（ｎ−１）を生成するためには、入力データｘ（ｎ−１）のほかに、一つ前の時刻ｎ−２の出力データｙ（ｎ−２）が必要である。図４の第１ステージＳ１においては、出力データｙ（ｎ−２）は、前述の経路Ｌ２を介して、第２ステージＳ２から第１ステージＳ１に与えられる。
【００６３】
また、第１ステージＳ１の第１演算部１１は、ｕ（ｎ−１）を生成するのに、ｘ（ｎ−１）だけでなく、ｐ２（ｎ−１）を必要とする。第１演算部１１は、ｐ２（１−２）を直接演算に用いるのに代えて、ｐ２（ｎ−１）を求めるためのｐ１（ｎ−４），ｐ２（ｎ−４），ｘ（ｎ−４），ｘ（ｎ−３），ｘ（ｎ−２），ｙ（ｎ−４），ｙ（ｎ−３），ｙ（ｎ−２）を用いて、ｕ（ｎ−１）を計算する（図５ＡのＳ１の範囲のｕ（ｎ−１）の計算式参照）。
【００６４】
第１演算部１１がｕ（ｎ−１）の計算に用いるデータｐ１（ｎ−４），ｐ２（ｎ−４），ｘ（ｎ−４），ｘ（ｎ−３），ｘ（ｎ−２），ｙ（ｎ−４），ｙ（ｎ−３），ｙ（ｎ−２）のうち、ｙ（ｎ−４），ｙ（ｎ−３），ｙ（ｎ−２）は、第４ステージＳ４、第３ステージＳ３及び第２ステージＳ２から取得する必要がある。したがって、ｕ（ｎ−１）の計算のうち、ｙ（ｎ−４），ｙ（ｎ−３）及びｙ（ｎ−２）を含む部分の計算は、第４ステージＳ４及び第３ステージＳ３に遅れて第２ステージＳ２での計算が終了し、第４ステージＳ４、第３ステージＳ３及び第２ステージＳ２から出力データｙ（ｎ−４），ｙ（ｎ−３）、ｙ（ｎ−２）が出力されてからしか行うことができない。このため、第１ステージＳ１での計算終了は、第４ステージＳ４及び第３ステージＳ３に遅れる第２ステージＳ２の計算終了よりもさらに遅れる。
【００６５】
なお、４つのステージが、次の４つの時刻ｎ，ｎ＋１，ｎ＋２，ｎ＋３における出力データｙ（ｎ），ｙ（ｎ＋１），ｙ（ｎ＋２），ｙ（ｎ＋３）を計算するために用いられるｐ１（ｎ），ｐ２（ｎ）は、図５Ｂに示す更新式によって、ｐ１（ｎ−４）及びｐ２（ｎ−４）を更新することで得られる。
【００６６】
以上のように、一般的なデルタシグマ変調器は、フィードバックループ６０５を有するため、それぞれがデルタシグマ変調器と同じ動作をする複数のステージＳ１，Ｓ２，Ｓ３、Ｓ４を並列に設けると、図４に示すように、ステージの出力を他のステージの入力に与える経路Ｌ４，Ｌ３，Ｌ２が必要となる。したがって、ステージＳ３，Ｓ２，Ｓ１が出力データｙ（ｎ−３），ｙ（ｎ−２），ｙ（ｎ−１）を決定するためには、他のステージＳ４、Ｓ３，Ｓ２の出力データｙ（ｎ−４），ｙ（ｎ−３），ｙ（ｎ−２）が必要である。このため、各ステージＳ１，Ｓ２，Ｓ３，Ｓ４が複数の出力データｙ（ｎ−４），ｙ（ｎ−３），ｙ（ｎ−２），ｙ（ｎ−１）を同時に決定することはできない。このため、図４の処理部１０１ａでは、処理の高速化が困難である。
【００６７】
これに対して、図３の並列処理部１０１においては、図４の処理部１０１ａが有する経路Ｌ４，Ｌ３，Ｌ２を、備えていない。図３の各ステージＳ４，Ｓ３，Ｓ２，Ｓ１は、他のステージＳ４，Ｓ３，Ｓ２，Ｓ１の出力を取得することなく、独自に、計算を行う。したがって、図３の並列処理部１０１においては、各ステージＳ４，Ｓ３，Ｓ２，Ｓ１を完全に同時に動作させることが可能であり、処理の高速化を容易に達成することができる。
【００６８】
図３の４つのステージＳ４，Ｓ３，Ｓ２，Ｓ１のうち、ステージＳ３，Ｓ２，Ｓ１は、本来は、他のステージＳ４，Ｓ３，Ｓ２の出力データｙ（ｎ−４），ｙ（ｎ−３），ｙ（ｎ−２）を必要とする。つまり、ステージＳ３，Ｓ２，Ｓ１にとっての正しい出力データｙ（ｎ−３），ｙ（ｎ−２），ｙ（ｎ−１）は、他のステージＳ４，Ｓ３，Ｓ２の正しい出力データｙ（ｎ−４），ｙ（ｎ−３），ｙ（ｎ−２）に依存して決まるべきものである。
【００６９】
しかし、図３の並列処理部１０１においては、ステージＳ３，Ｓ２，Ｓ１は、出力データｙ（ｎ−４），ｙ（ｎ−３），ｙ（ｎ−２）を、他のステージＳ４，Ｓ３，Ｓ２から取得するのに代えて、他のステージＳ４，Ｓ３，Ｓ２にとっての正しい出力データの候補を用いて、自ステージにとっての複数の出力データ候補ｙｈを求める。
【００７０】
例えば、第３ステージＳ３は、図４においては、出力データｙ（ｎ−４）（正しい出力データ）を第４ステージＳ４から取得する必要がある。しかし、図３においては、第３ステージＳ３は、出力データｙ（ｎ−４）を第４ステージＳ４から取得するのに代えて、第４ステージＳ４にとっての正しい出力データｙ（ｎ−４）の複数の候補を用いる。
【００７１】
実施形態において、出力データｙは、０か１の２値しかとらないため、正しい出力データｙ（ｎ−４）がとり得る値の候補は、０と１の２つしかない。第３ステージＳ３は、正しい出力データｙ（ｎ−４）の候補が０である場合の出力データ候補ｙｈ（ｎ−３）＿０を、図５ＡのＳ３で示す範囲の計算式に従って計算する。同様に、第３ステージＳ３は、正しい出力データｙ（ｎ−４）の候補が１である場合の出力データ候補ｙｈ（ｎ−３）＿１を、図５ＡのＳ３で示す範囲の計算式に従って計算する。なお、図３の並列処理部１０１における計算では、図５Ａのｙをｙｈと読み替えればよい。
【００７２】
このように、第３ステージＳ３は、第４ステージＳ４にとっての正しい出力データｙ（ｎ−４）の２つの候補０，１を用いて、２つの出力データ候補ｙｈ（ｎ−３）＿０，ｙｈ（ｎ−３）＿１を出力する。
【００７３】
第２ステージＳ２は、図４においては、出力データｙ（ｎ−３），ｙ（ｎ−４）を第３ステージＳ３及び第４ステージＳ４から取得する必要がある。しかし、図３においては、第２ステージＳ２は、出力データｙ（ｎ−３），ｙ（ｎ−４）を第３ステージＳ３及び第４ステージＳ４から取得するのに代えて、ステージＳ３，Ｓ４にとっての正しい出力データｙ（ｎ−３），ｙ（ｎ−４）の複数の候補を用いる。
【００７４】
ステージＳ３，Ｓ４にとっての正しい出力データ［ｙ（ｎ−３），ｙ（ｎ−４）］がとり得る値の候補は、［０，０］，［０，１］，［１，０］，［１，１］の４つしかない。第２ステージＳ２は、正しい出力データ［ｙ（ｎ−３），ｙ（ｎ−４）］の候補が［０，０］である場合の出力データ候補ｙｈ（ｎ−２）＿００を、図５ＡのＳ２で示す範囲の計算式に従って計算する。同様に、第２ステージＳ２は、正しい出力データ［ｙ（ｎ−３），ｙ（ｎ−４）］の候補が［０，１］である場合の出力データ候補ｙｈ（ｎ−２）＿０１、正しい出力データ［ｙ（ｎ−３），ｙ（ｎ−４）］の候補が［１，０］である場合の出力データ候補ｙｈ（ｎ−２）＿１０、正しい出力データ［ｙ（ｎ−３），ｙ（ｎ−４）］の候補が［１，１］である場合の出力データ候補ｙｈ（ｎ−２）＿１１を計算する。
【００７５】
このように、第２ステージＳ２は、第３ステージＳ３及び第４ステージＳ４にとっての正しい出力データｙ（ｎ−３），ｙ（ｎ−４）の４つの候補［０，０］，［０，１］，［１，０］，［１，１］を用いて、４つの出力データ候補ｙｈ（ｎ−２）＿００，ｙｈ（ｎ−２）＿０１，ｙｈ（ｎ−２）＿１０，ｙｈ（ｎ−２）＿１１を出力する。
【００７６】
同様に、第１ステージＳ１は、第２ステージＳ２、第３ステージＳ３及び第４ステージＳ４にとっての正しい出力データｙ（ｎ−２），ｙ（ｎ−３），ｙ（ｎ−４）がとり得る８つの候補［０，０，０］，［０，０，１］，［０，１，０］，［０，１，１］，［１，０，０］，［１，０，１］，［１，１，０］，［１，１，１］を用いて、図５ＡのＳ１で示す範囲の計算式に従って、８つの出力データ候補ｙｈ（ｎ−１）＿０００，ｙｈ（ｎ−１）＿００１，ｙｈ（ｎ−１）＿０１０，ｙｈ（ｎ−１）＿０１１，ｙｈ（ｎ−１）＿１００，ｙｈ（ｎ−１）＿１０１，ｙｈ（ｎ−１）＿１１０，ｙｈ（ｎ−１）＿１１１を出力する。
【００７７】
マルチ出力ステージＳ３，Ｓ２，Ｓ１は、他のステージＳ４，Ｓ３，Ｓ２にとっての正しい出力データの複数の候補の全パターンを用いる。複数の候補の全パターンは、必ず正しいものを含んでいる。したがって、複数の候補の全パターンを用いて求められた複数の出力データ候補ｙｈは、自ステージにとっての正しい出力データｙを必ず含む。
【００７８】
図１に戻り、探索器１０２は、並列処理部１０１の各ステージＳ４，Ｓ３，Ｓ２，Ｓ１から与えられた出力データ候補ｙｈから、各ステージＳ４，Ｓ３，Ｓ２，Ｓ１にとっての正しい出力データｙ（ｎ−４），ｙ（ｎ−３），ｙ（ｎ−２），ｙ（ｎ−１）を探索する。前述のように、複数の出力データ候補ｙｈは、必ず正しい出力データｙ（ｎ−４），ｙ（ｎ−３），ｙ（ｎ−２），ｙ（ｎ−１）を含むため、複数の出力データ候補ｙｈを探索することより正しい出力データｙを得ることができる。
【００７９】
各ステージＳ３，Ｓ２，Ｓ１において、出力データ候補ｙｈは、他のステージＳ４，Ｓ３，Ｓ２にとっての正しい出力データの候補ｙを用いて求められているため、各ステージの出力である「出力データ候補」ｙｈと、各ステージの入力である「正しい出力データの候補」ｙとは、一対一の対応関係があり、この対応関係を利用した処理を行えば、複数のステージそれぞれの出力データ候補ｙｈから、各ステージにとっての正しい出力データｙを探索することが可能である。
【００８０】
例えば、正しい出力データｙの探索においては、ステージＳ３，Ｓ２，Ｓ１に入力された出力データの候補ｙと、ステージＳ４，Ｓ３，Ｓ２による演算結果ｙｈと、が一致すべきであることを利用できる。図３において、ステージＳ４によって演算されたｙｈ（ｎ−４）はステージＳ３に入力されるｙ（ｎ−４）と一致すべきである。また、ステージＳ３によって演算されたｙｈ（ｎ−３）はステージＳ２，Ｓ１に入力されるｙ（ｎ−３）と一致すべきである。さらに、ステージＳ２によって演算されたｙｈ（ｎ−２）はステージＳ１に入力されるｙ（ｎ−２）と一致すべきである。
【００８１】
したがって、４種類の出力データ候補ｙｈ（ｎ−４），（ｎ−３），（ｎ−２），（ｎ−１）に対応する４つの候補ｙ（ｎ−４），ｙ（ｎ−３），ｙ（ｎ−２），ｙ（ｎ−１）を考えると、図１の変調器１００において、図４の処理部１０１ａと同じ計算結果を得るための条件は、以下の等式が成立する事になる。
［y(n-4),y(n-3),y(n-2),y(n-1)］=[yh(n-4),yh(n-3),yh(n-2),yh(n-1)]
【００８２】
ｙ（ｎ−４），ｙ（ｎ−３），ｙ（ｎ−２），ｙ（ｎ−１）の組み合わせ、及び、ｙｈ（ｎ−４），（ｎ−３），（ｎ−２），（ｎ−１）の組み合わせは、それぞれ１６個あるから、探索器１０２は、この等式から導かれる以下の１６個の判定式を演算し、判定式の結果が１になった判定式に対応する候補ｙ（ｎ−４），ｙ（ｎ−３），ｙ（ｎ−２），ｙ（ｎ−１）の値が、上記の等式を満たすものであるとして認識できる。
【数１】
2019009616.tif 000003
【００８３】
図６は、ｙ（ｎ−４），ｙ（ｎ−３），ｙ（ｎ−２），ｙ（ｎ−１）の組み合わせと、ｙｈ（ｎ−４），（ｎ−３），（ｎ−２），（ｎ−１）の組み合わせと、を示している。なお、候補ｙ（ｎ−４），ｙ（ｎ−３），ｙ（ｎ−２），ｙ（ｎ−１）は、１６個の判定式及び図６では、ｙ４、ｙ３、ｙ２、ｙ１で示されている。また、出力データ候補ｙｈ（ｎ−４），（ｎ−３），（ｎ−２），（ｎ−１）は、１６個の判定式及び図６では、ｙｈ４，ｙｈ３，ｙｈ２，ｙｈ１で示されている。
【００８４】
１６個の判定式のうち、例えば、ｉｎｄｅｘ（０）の判定式は、４つのステージの演算結果［ｙｈ４，ｙｈ３，ｙｈ２，ｙｈ１］が、４つのステージに入力された候補［ｙ４，ｙ３，ｙ２，ｙ１］＝［０，０，０，０］と一致するか否かを判定するため、ＮＯＴ（ｙｈ４）＆ＮＯＴ（ｙｈ３）＆ＮＯＴ（ｙｈ２）＆ＮＯＴ（ｙｈ１）を演算する。演算結果が、１であれば、一致し、０であれば不一致である。なお、＆は、論理積であり、ＮＯＴは、論理否定である。なお、ＮＯＴは、[数１]における判定式では、オーバラインにて示されている。
【００８５】
また、ｉｎｄｅｘ（１）の判定式は、４つのステージの演算結果［ｙｈ４，ｙｈ３，ｙｈ２，ｙｈ１］が、４つのステージに入力された候補［ｙ４，ｙ３，ｙ２，ｙ１］＝［０，０，０，１］と一致するか否かを判定するため、ＮＯＴ（ｙｈ４）＆ＮＯＴ（ｙｈ３）＆ＮＯＴ（ｙｈ２）＆ｙｈ１を演算する。１６個の判定式において、ＮＯＴは、対応するｙが０であるｙｈに付加され、対応するｙが１であるｙｈには付加されない。
【００８６】
図６では、一致判定結果が１になったものが、ｉｎｄｅｘ（５）の判定式であった例を示している。図６に示すように、ｉｎｄｅｘ（５）における候補［ｙ４，ｙ３，ｙ２，ｙ１］は、［０，１，０，１］であるから、探索器１０２は、これを４つのステージの正しい出力データとして出力する。すなわち、探索器１０２は、ｙ（ｎ−４）＝０，ｙ(ｎ−３）＝１，ｙ（ｎ−２）＝０，ｙ（ｎ−１）＝１を出力する。
【００８７】
図７Ａは、図６のｙｈ４，ｙｈ３，ｙｈ２，ｙｈ１について、４つのステージによる実際の演算結果の例を示したものである。図７Ａにおいて、判定式による一致・不一致の判定結果は、図６と同じくｉｎｄｅｘ（５）において一致している。
【００８８】
図７Ｂは、４つのステージによる実際の演算結果の他の例を示したものである。図７Ｂにおいては、ｉｎｄｅｘ（１５）において一致しているから、探索器１０２は、各ステージの正しい出力データとして、ｙ（ｎ−４）＝１，ｙ(ｎ−３）＝１，ｙ（ｎ−２）＝１，ｙ（ｎ−１）＝１を出力する。
【００８９】
図７Ｃは、４つのステージによる実際の演算結果のさらに他の例を示したものである。図７Ｃにおいても、ｉｎｄｅｘ（１５）において一致しているから、探索器１０２は、各ステージの正しい出力データとして、ｙ（ｎ−４）＝１，ｙ(ｎ−３）＝１，ｙ（ｎ−２）＝１，ｙ（ｎ−１）＝１を出力する。
【００９０】
正しい出力データｙ（ｎ−４），ｙ（ｎ−３），ｙ（ｎ−２），ｙ（ｎ−１）が出力されると、更新部１０３，１０４は、レジスタメモリの値ｐ１，ｐ２を更新する。更新された値ｐ１，ｐ２は、次の４つのパラレル入力データｘ（ｎ），ｘ（ｎ＋１），ｘ（ｎ＋２），ｘ（ｎ＋３）から、４つのパラレル出力データｙ（ｎ），ｙ（ｎ＋１），ｙ（ｎ＋２），ｙ（ｎ＋３）を計算するために用いられる。ｐ１，ｐ２の更新は、図５Ｂに示す更新式に従って行われる。更新されたｐ１，ｐ２は、各ステージＳ４，Ｓ３，Ｓ２，Ｓ１に与えられる。
【００９１】
［２．２  並列処理装置（並列デルタシグマ変調器）の第２例］
【００９２】
図８は、図３に示す並列処理部１０１の変形例を示している。図８の並列処理部１０１においては、マルチ出力ステージＳ１，Ｓ２，Ｓ３は、ルックアップテーブルＬＵＴ１，ＬＵＴ２，ＬＵＴ３を備えている。ルックアップテーブルＬＵＴ１，ＬＵＴ２，ＬＵＴ３は、図３に示す演算部１１，２１，３１における一部の演算を省略しつつ、省略された演算と等価な結果を得るためのものである。
【００９３】
ルックアップテーブルＬＵＴ１，ＬＵＴ２，ＬＵＴ３は、図５Ａにおいて、ｕを求める計算式のうち、ｙを用いて計算される部分式Ｆ１，Ｆ２，Ｆ３の値を得るためのものである。ｙの値は、０又は１（正確には１又は−１）であって、予め決まった値であり、フィルタのパラメータａ１，ａ２，ｂ１，ｂ２を用いて、事前に計算しておくことができる。これにより、計算が簡略されより高速化が可能である。
【００９４】
ルックアップテーブルＬＵＴ１，ＬＵＴ２，ＬＵＴ３には、全てのｙの値の候補について、部分式Ｆ１，Ｆ２，Ｆ３に基づいて予め計算された結果が設定値として格納されている。
【００９５】
図９Ａに示すように、ルックアップテーブルＬＵＴ３には、ｙ（ｎ−４）の候補である０，１それぞれについて、計算式Ｆ３に基づいて計算された結果ｃ３＿０，ｃ３＿１が設定値として格納されている。第３演算部３１は、ルックアップテーブルＬＵＴ３からｃ３＿０，ｃ３＿１を取得するため、ｕ（ｎ−３）を計算するための残りの部分を計算するだけでよい。
【００９６】
図９Ｂに示すように、ルックアップテーブルＬＵＴ２には、ｙ（ｎ−３），ｙ（ｎ−４）の候補である［０，０］，［０，１］，［１，０］，［１，１］それぞれについて、計算式Ｆ２に基づいて計算された結果ｃ２＿００，ｃ２＿０１，ｃ２＿１０，ｃ２＿１１が設定値として格納されている。第２演算部２１は、ルックアップテーブルＬＵＴ２からｃ２＿００，ｃ２＿０１，ｃ２＿１０，ｃ２＿１１を取得するため、ｕ（ｎ−２）を計算するための残りの部分を計算するだけでよい。
【００９７】
図９Ｃに示すように、ルックアップテーブルＬＵＴ２には、ｙ（ｎ−２），ｙ（ｎ−３），ｙ（ｎ−４）の候補である［０，０，０］，［０，０，１］，［０，１，０］，［０，１，１］，［１，０，０］，［１，０，１］，［１，１，０］，［１，１，１］それぞれについて、計算式Ｆ１に基づいて計算された結果ｃ１＿０００，ｃ１＿００１，ｃ１＿０１０，ｃ１＿１１１，ｃ１＿１００，ｃ１＿１０１，ｃ１＿１１０，ｃ１＿１１１が設定値として格納されている。第１演算部１１は、ルックアップテーブルＬＵ１３からｃ１＿０００，ｃ１＿００１，ｃ１＿０１０，ｃ１＿１１１，ｃ１＿１００，ｃ１＿１０１，ｃ１＿１１０，ｃ１＿１１１を取得するため、ｕ（ｎ−１）を計算するための残りの部分を計算だけでよい。
【００９８】
図１０は、図１に示す更新部１０３，１０４の変形例を示している。図１０の更新部１０３，１０４は、ルックアップテーブルＬＵＴ＿ｐ１，ＬＵＴ＿ｐ２を備えている。ルックアップテーブルＬＵＴ＿ｐ１，ＬＵＴ＿ｐ２は、更新部１０３，１０４における一部の演算を省略しつつ、省略された演算と等価な結果を得るためのものである。
【００９９】
ルックアップテーブルＬＵＴ＿ｐ１，ＬＵＴ＿ｐ２は、図５Ｂにおけるｐ１，ｐ２の更新式のうち、ｙを用いて計算される部分式Ｆ＿ｐ１，Ｆ＿ｐ２の値を得るためのものである。４つのｙがとり得る値の組み合わせは１６個しかなく、フィルタのパラメータａ１，ａ２，ｂ１，ｂ２を用いて、事前に計算しておくことができる。これにより、計算が簡略されより高速化が可能である。
【０１００】
図１１Ａ，１１Ｂに示すように、ルックアップテーブルＬＵＴ＿ｐ１、ＬＵＴ＿ｐ２には、ｙ（ｎ−１），ｙ（ｎ−２），ｙ（ｎ−３），ｙ（ｎ−４）がとり得る１６個の組み合わせそれぞれについて、事前に計算された値ｃｐ１，ｃｐ２が格納されている。更新部１０３は、テーブルＬＵＴ＿ｐ１を参照し、正しい出力データｙ（ｎ−１），ｙ（ｎ−２），ｙ（ｎ−３），ｙ（ｎ−４）に対応するｃｐ１を取得し、取得したｃｐ１を用いて、ｐ１の更新式の残りの部分の計算をする。同様に、更新部１０４は、テーブルＬＵＴ＿ｐ２を参照し、正しい出力データｙ（ｎ−１），ｙ（ｎ−２），ｙ（ｎ−３），ｙ（ｎ−４）に対応するｃｐ２を取得し、取得したｃｐ２を用いて、ｐ２の更新式の残りの部分の計算をする。
【０１０１】
［２．３  並列処理部の第２変形例］
【０１０２】
図１２は、図８の並列処理部１０１を簡略化した変形例を示している。図１２の並列処理部１０１が、図８の並列処理部１０１とは異なる点は、図１２の並列処理部１０１においては、入力データｘ（ｎ−３），ｘ（ｎ−２），ｘ（ｎ−１）の入力が省略されており、ｘ（ｎ−４）だけが入力されている点である。その他の点は、図８の並列処理部１０１と同様である。
【０１０３】
デルタシグマ変調は、オーバサンプリングを用いた技術である。オーバサンプリングにより数が増加した入力データは０（意味を持たない値）である。例えば、４倍のオーバサンプリング比の場合、意味のある１つの入力データｘ（ｎ−４）に対して、オーバサンプリングのために補間された３つの意味のない入力データｘ（ｎ−３），ｘ（ｎ−２），ｘ（ｎ−１）が存在することになる。
【０１０４】
そこで、ｕを計算する際には、意味のない入力データｘ（ｎ−３），ｘ（ｎ−２），ｘ（ｎ−１）については、値が０であるとみなすことで、入力データｘ（ｎ−３），ｘ（ｎ−２），ｘ（ｎ−１）についての計算をする必要がなくなる。
【０１０５】
したがって、図１２のようにｘ（ｎ−４）だけが入力される並列処理部１０１であっても、図８の並列処理部１０１と同様に出力データ候補ｙｈを出力することができる。
【０１０６】
同様に、図１３に示すように、更新部１０３，１０４も、入力データｘ（ｎ−３），ｘ（ｎ−２），ｘ（ｎ−１）の入力を省略し、ｘ（ｎ−４）だけを入力することができる。
【０１０７】
［２．３  並列処理部の第３変形例］
【０１０８】
図１４は、図１２の並列処理部１０１をさらに簡略化した変形例を示している。図１２の並列処理部１０１において、ルックアップテーブルＬＵＴ１，ＬＵＴ２，ＬＵＴ３の出力ｃ１，ｃ２，ｃ３は、図９Ａ，９Ｂ，９Ｃに示すように、予め計算された定数である。したがって、図１２の並列処理部１０１において、ｐ１，ｐ２，ｘから計算されるＡ１，Ａ２，Ａ３がとり得る数値の全パターン（例えば、Ａ１，Ａ２，Ａ３が５ビット２進数であれば、０００００〜１１１１１）に対するｙｈ（ｎ−１），ｙｈ（ｎ−２），ｙｈ（ｎ−３），ｙｈ（ｎ−４）の値は、予め計算することができる。
【０１０９】
このことを利用して、図１４の並列処理部１０１では、Ａ１，Ａ２，Ａ３，Ａ４がとり得る数値の全パターンに対する、出力データ候補ｙｈ（ｎ−１），ｙｈ（ｎ−２），ｙｈ（ｎ−３），ｙｈ（ｎ−４）の値が設定値Ｄ１，Ｄ２，Ｄ３，Ｄ４として設定されたルックアップテーブル１６，２６，３６，４６を備えている。
【０１１０】
各ステージＳ１，Ｓ２，Ｓ３，Ｓ４の演算部１５，２５，３５，４５がＡ１，Ａ２，Ａ３，Ａ４を計算すると、その値Ａ１，Ａ２，Ａ３，Ａ４に基づいてテーブル４１，４２，４３，４４を参照し、テーブル出力Ｄ１，Ｄ２，Ｄ３，Ｄ４が得られる。テーブル出力Ｄ１，Ｄ２，Ｄ３，Ｄ４は、出力データ候補ｙｈ（ｎ−１），ｙｈ（ｎ−２），ｙｈ（ｎ−３），ｙｈ（ｎ−４）として各ステージＳ１，Ｓ２，Ｓ３，Ｓ４から出力される。図１４の各ステージＳ１，Ｓ２，Ｓ３，Ｓ４は、Ａ１，Ａ２，Ａ３，Ａ４を計算するほかは、テーブル１６，２６，３６，４６を参照するだけでよい。図１４の並列処理部１０１では、演算を大幅に削減できており、処理を高速化できる。
【０１１１】
図１５Ａに示すように、第４ステージＳ４のテーブル４６は、Ａ４がとり得る値の範囲の全パターン０００００〜１１１１１について、テーブル出力Ｄ４が設定値として設定されている。したがって、第４ステージＳ４は、第４演算部４５によってＡ４が求まれば、テーブル４６を参照して、Ｄ４を、出力データ候補ｙｈ（ｎ−４）として出力することができる。
【０１１２】
図１５Ｂに示すように、第３ステージＳ３のテーブル３６は、Ａ３がとり得る値の範囲の全パターン０００００〜１１１１１について、テーブル出力Ｄ３が設定値として設定されている。したがって、第３ステージＳ３は、第３演算部３５によってＡ３が求まれば、テーブル３６を参照して、ｙ（ｎ−４）の候補０，１毎のＤ３を、出力データ候補ｙｈ（ｎ−３）として出力することができる。
【０１１３】
図１５Ｃに示すように、第２ステージＳ２のテーブル２６は、Ａ２がとり得る値の範囲の全パターン０００００〜１１１１１について、テーブル出力Ｄ２が設定値として設定されている。したがって、第２ステージＳ２は、第２演算部２５によってＡ２が求まれば、テーブル２６を参照して、ｙ（ｎ−３）ｙ（ｎ−４）の候補００，０１，１０，１１毎のＤ２を、出力データ候補ｙｈ（ｎ−２）として出力することができる。
【０１１４】
図１５Ｄに示すように、第１ステージＳ１のテーブル１６は、Ａ１がとり得る値の範囲の全パターン０００００〜１１１１１について、テーブル出力Ｄ１が設定値として設定されている。したがって、第１ステージＳ１は、第１演算部１５によってＡ１が求まれば、テーブル１６を参照して、ｙ（ｎ−２）ｙ（ｎ−３）ｙ（ｎ−４）の候補０００，００１，０１０，０１１，１００，１０１，１１０，１１１毎のＤ１を、出力データ候補ｙｈ（ｎ−１）として出力することができる。
【０１１５】
［３．付記］
なお、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味、及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１１６】
１１  第１演算部
１２  量子化器
１５  第１演算部
１６  ルックアップテーブル
２１  第２演算部
２２  量子化器
２５  第２演算部
２６  ルックアップテーブル
３１  第３演算部
３２  量子化器
３５  第３演算部
３６  ルックアップテーブル
４１  第４演算部
４２  量子化器
４５  第１演算部
４６  ルックアップテーブル
１００  並列処理装置
１０１  並列処理部
１０１ａ処理部
１０２  探索器
１０３  更新部
１０４  更新部
２００  シリアルパラレル変換器
３００  パラレルシリアル変換器
６０１  差分器
６０２  ループフィルタ
６０３  加算器
６０４  量子化器
Ｆ１    部分式
Ｆ２    部分式
Ｆ３    部分式
Ｆ＿ｐ１部分式
Ｆ＿ｐ２部分式
Ｌ２    経路
Ｌ３    経路
Ｌ４    経路
Ｓ１    第１ステージ
Ｓ２    第２ステージ
Ｓ３    第３ステージ
Ｓ４    第４ステージ
ｐ１    内部状態値
ｐ２    内部状態値
ｕ      中間データ
ｘ      入力データ
ｙ      出力データ
ｙｈ    出力データ候補
ＬＵＴ１  ルックアップテーブル
ＬＵＴ２  ルックアップテーブル
ＬＵＴ３  ルックアップテーブル
ＬＵＴ＿ｐ１  ルックアップテーブル
ＬＵＴ＿ｐ２  ルックアップテーブル
【図１】
2019009616.tif 000004
【図２】
2019009616.tif 000005
【図３】
2019009616.tif 000006
【図４】
2019009616.tif 000007
【図５Ａ】
2019009616.tif 000008
【図５Ｂ】
2019009616.tif 000009
【図５Ｃ】
2019009616.tif 000010
【図６】
2019009616.tif 000011
【図７Ａ】
2019009616.tif 000012
【図７Ｂ】
2019009616.tif 000013
【図７Ｃ】
2019009616.tif 000014
【図８】
2019009616.tif 000015
【図９Ａ】
2019009616.tif 000016
【図９Ｂ】
2019009616.tif 000017
【図９Ｃ】
2019009616.tif 000018
【図１０】
2019009616.tif 000019
【図１１Ａ】
2019009616.tif 000020
【図１１Ｂ】
2019009616.tif 000021
【図１２】
2019009616.tif 000022
【図１３】
2019009616.tif 000023
【図１４】
2019009616.tif 000024
【図１５Ａ】
2019009616.tif 000025
【図１５Ｂ】
2019009616.tif 000026
【図１５Ｃ】
2019009616.tif 000027
【図１５Ｄ】
2019009616.tif 000028