JP5696442B2 - プログラム - Google Patents

プログラム Download PDF

Info

Publication number
JP5696442B2
JP5696442B2 JP2010253428A JP2010253428A JP5696442B2 JP 5696442 B2 JP5696442 B2 JP 5696442B2 JP 2010253428 A JP2010253428 A JP 2010253428A JP 2010253428 A JP2010253428 A JP 2010253428A JP 5696442 B2 JP5696442 B2 JP 5696442B2
Authority
JP
Japan
Prior art keywords
module
address
ram
plug
speed memory
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.)
Expired - Fee Related
Application number
JP2010253428A
Other languages
English (en)
Other versions
JP2012105166A (ja
Inventor
河野 恭浩
恭浩 河野
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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2010253428A priority Critical patent/JP5696442B2/ja
Publication of JP2012105166A publication Critical patent/JP2012105166A/ja
Application granted granted Critical
Publication of JP5696442B2 publication Critical patent/JP5696442B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Circuit For Audible Band Transducer (AREA)

Description

本発明は、音声信号処理のアルゴリズム構成をカスタムメイドできるデジタルミキサに対して、効率的なマイクロプログラムを供給することができるプログラムに関する。
従来より、音声信号処理のアルゴリズム構成をカスタムメイドできるミキシングシステムが知られている。このミキシングシステムは、DSP(デジタル・シグナル・プロセッサ)等の信号処理装置を内蔵しマイクロプログラムに従って音声信号処理を行うDME(デジタル・ミキシング・エンジン)と、該マイクロプログラムを生成するためのアプリケーションプログラムをインストールした汎用PC(パーソナルコンピュータ)とから構成される。ユーザは、アプリケーションプログラムによって汎用PCのディスプレイに表示されるブロック図等を編集することができ、これによって音声信号処理のアルゴリズム構成を決定することができる。そして、アルゴリズム構成が決定された後に所定のコンパイル指示を行うと、該アルゴリズム構成を実現するマイクロプログラムが生成される。このマイクロプログラムをDMEに転送することにより、該DMEにおいては該アルゴリズム構成に基づく音声信号処理を実行することが可能になる。このようなアプリケーションプログラムの一例は非特許文献1に開示されている。また、DMEに使用されるDSPの一例は特許文献1に開示されている。
DSPには内部RAM(主として高速・小容量のスタティックRAM)が内蔵されているが、内部RAMのみでは信号処理を行うことが事実上不可能であるため、DSPには外部RAM(主として低速・大容量のダイナミックRAM)を接続することが可能になっている。上述したように、アルゴリズムを構築する際に汎用PCのディスプレイにはブロック図が表示されるが、このブロック図を構成する各ブロックに対応する処理は、マイクロプログラムの「モジュール」として予め構成されている。そして、ブロック図上でユーザが自由にブロックを配置できるようにするためには、これらのモジュールには独立性、汎用性を確保する必要が生じる。このため、各モジュールは、一般的には外部RAMを介して信号の入出力を行うように記述されている。DSPはクロック信号に同期して動作し、「1クロック」あたり「1ステップ」のマイクロコードを実行することができる。すると、「1」サンプリング周期内のクロック数を「M」とすると、実行可能なマイクロプログラムの最大ステップ数は「M」に等しくなる。また、低速な外部RAMを「1」回アクセスするために必要なクロック数を「N」とすると、DSPが「1」サンプリング周期において外部RAMにアクセスできる最大アクセス回数Kは、「K=M/N」によって求めることができる。
特開2003−99052号公報
「DME Designer Version 1.1 取扱説明書」、ヤマハ株式会社、2004年、第4章
上述したように、各ブロックに対応するモジュールは独立性、汎用性を確保するために外部RAMを介して信号を入出力するが、この事は、マイクロプログラム全体の中で外部RAMにアクセスする頻度が高くなることを意味する。これにより、最大ステップ数Mに対して充分な余裕があるにもかかわらず、最大アクセス回数Kを使い切ってしまい、それ以上ブロックを増やせなくなる事態が頻発するという問題が生じた。
この発明は上述した事情に鑑みてなされたものであり、外部RAMに対するアクセス頻度を下げることにより、信号処理装置の有するリソースを有効に活用できるプログラムを提供することを目的としている。
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項1記載のプログラムにあっては、コンピュータ(10)を、マイクロプログラムを生成する装置として機能させるためのプログラムであって、前記マイクロプログラムは、サンプリング周期毎の信号処理を行う所定の演算装置(70)に対して該サンプリング周期毎に循環的に適用される複数のモジュールを、指定されたアルゴリズム構成を実現するように配列して成るものであり、前記演算装置(70)は、複数のアドレスを有する高速メモリ(74)と、複数のアドレスを有し前記高速メモリ(74)よりもアクセス速度が遅い低速メモリ(100)とにアクセス可能に構成されているものであり、前記各モジュールは、前記低速メモリから入力信号値を読み出し前記高速メモリの何れかのアドレスに書き込む入力ステップ(SP1003)と、前記入力信号値が書き込まれたアドレスを読出しアドレスとして指定することにより前記高速メモリから前記入力信号値を読み出すとともに所定の演算処理を行い前記高速メモリの何れかのアドレスを書込みアドレスとして指定することにより前記演算処理の結果である出力信号値を前記高速メモリに書き込む演算ステップ(SP1004〜SP1089)と、前記高速メモリから前記出力信号値を読み出し前記低速メモリの何れかのアドレスに書き込む出力ステップ(SP1090)とを有するものであり、前記コンピュータ(10)を、前記アルゴリズム構成において縦続接続される第1のモジュール(PG1)と第2のモジュール(PG2)とが存在するか否かを判定する判定手段(SP4)と、該判定手段の判定結果が肯定的である場合に、前記第1のモジュールの演算ステップにおける前記書込みアドレス(図6、ステップSP1089のアドレス値A01)と前記第2のモジュールの演算ステップにおける前記読出しアドレス(図6、ステップSP2004’のアドレス値A01)とを一致させつつ、両演算ステップを結合し、結合された両演算ステップと前記入力ステップと前記出力ステップとから成る結合モジュール(PG101)を生成する結合モジュール生成手段(SP6)ととして機能させるためのものであることを特徴とする。
本発明によれば、第1のモジュールの演算ステップにおける書込みアドレスと第2のモジュールの演算ステップにおける読出しアドレスとを一致させつつ、両演算ステップを結合し、結合された両演算ステップと入力ステップと出力ステップとから成る結合モジュールを生成することができるから、外部RAMに対するアクセス頻度を下げることができ、信号処理装置の有するリソースを有効に活用することができる。
本発明の一実施例のミキシングシステムのブロック図である。 信号処理部52のブロック図である。 マイクロコードのフォーマットを示す図である。 一実施例の動作の概要を示す動作説明図である。 プラグインモジュールのマイクロプログラムの具体例(統合前)を示す図である。 プラグインモジュールのマイクロプログラムの具体例(統合後)を示す図である。 表示器16に表示される画面の一例を示す図である。 該画面における各種イベント処理のフローチャートである。
1.実施例のハードウエア構成
1.1.全体構成
次に、本発明の一実施例のミキシングシステムの構成を図1を参照し説明する。
なお、本実施例のミキシングシステムは、DME(デジタル・ミキシング・エンジン)30と、該DME30に接続された汎用PC(汎用パーソナルコンピュータ)10とから構成されている。汎用PC10の内部において26はCPUであり、後述するプログラムに基づいて、通信バス20を介して他の構成要素を制御する。22はROMであり、イニシャルプログラムローダ等が記憶されている。30はRAMであり、CPU10のワークメモリとして用いられる。28は通信インタフェースであり、ローカルエリアネットワークを介してDME30と通信する。12はハードディスク・ドライブであり、オペレーティングシステム、アプリケーションプログラム等が格納される。14はリムーバルディスクドライブ装置であり、CD−ROM、MO等のリムーバルディスクに対して読出し/書込みを行う。16は表示器であり、ユーザに対して各種情報を表示する。18は入力装置であり、文字入力用キーボードおよびマウス等から構成されている。
次に、DME30の内部において32はスイッチ等の操作子であり、その操作状態は検出回路34によって検出され、通信バス44を介して出力される。38は表示回路であり、通信バス44から表示すべきデータを受信すると、該データを表示器36に表示する。40は通信インタフェースであり、ローカルエリアネットワークを介して、汎用PC10内の通信インタフェース28との間で各種データを入出力する。42は音声インタフェースであり、マイク60から供給されたアナログ音声信号をデジタル信号に変換し通信バス44を介して出力するとともに、通信バス44を介して供給されたデジタルの音声信号をアナログ信号に変換し、アンプ62およびスピーカ64を介して出力する。46はROMであり、DME30を制御する制御プログラム等が記憶されている。50はCPUであり、該ROM46に記憶された制御プログラムに基づいて、通信バス44を介して他の構成要素を制御する。48はRAMであり、CPU50のワークメモリとして用いられる。52は信号処理部であり、音声インタフェース42を介して供給された音声信号に対して、フィルタリング処理やミキシング処理等の各種処理を行い、その結果を音声インタフェース42を介して出力する。
1.2.信号処理部52の構成
次に、上記DME30内の信号処理部52の詳細構成を図2を参照し説明する。同図に示すように、信号処理部52は、DSP70と、入出力制御部90と、係数RAM92と、マイクロプログラムRAM94と、外部RAM100とから構成される。入出力制御部90は、通信バス44(図1参照)を介して音声インタフェース42に接続され、DSP70と音声インタフェース42との間の音声信号の入出力を仲介する。マイクロプログラムRAM94には、DSP70を制御するマイクロプログラムが記憶され、該マイクロプログラムは複数ステップのマイクロコードから構成される。また、係数RAM92には該マイクロプログラムにおいて使用される係数が記憶される。RAM92,94の内容は、CPU50によって必要に応じて書き換えられる。DSP70はクロック信号に同期して動作し、「1クロック」あたり「1ステップ」のマイクロコードを実行することができる。すると、「1」サンプリング周期内のクロック数を「M」とすると、実行可能なマイクロプログラムの最大ステップ数は「M」に等しくなる。
また、外部RAM100は、音声信号のサンプリング値等を記憶するために設けられているものであり、数百メガバイト程度の低速のダイナミックRAMによって構成されている。外部RAM100を「1」回アクセスするために必要なクロック数を「N」(但しNは複数)とすると、DSP70が「1」サンプリング周期において外部RAM100にアクセスできる最大アクセス回数Kは、「K=M/N」によって求めることができる。DSP70の内部において72は入出力インタフェース用のRAM(以下、I−RAMという)であり、入出力制御部90および通信バス44(図1参照)を介して、音声インタフェース42との間で音声信号を構成するデータを入出力する。74は演算処理用のRAM(以下、T−RAMという)である。76は係数補間部であり、係数RAM92に記憶された係数が更新された際に、更新前の値から更新後の値に向かって徐々に変化する係数値を出力する。78はALUであり、RAM72,74および係数補間部76から出力されたデータに対して、加算、減算、比較等の演算を施し、この演算結果をバス82を介して出力する。
84は書込み制御部であり、バス82上のデータを外部RAM100に書き込むべき場合に、その書込み制御を行う。86は読出し制御部であり、外部RAM100に記憶されたデータを読み出す際に、その読出し制御を行い、読出したデータをバス82を介して出力する。88はアドレス制御部であり、外部RAM100に対してデータの読出し/書込みを行う際のアドレスを出力する。80はエンコーダであり、マイクロプログラムRAM94から「1」ステップづつマイクロコードを読出し、読出したマイクロコードに基づいてDSP70内の各部の動作を制御する。各マイクロコードにおいて指定される内容は、例えば以下に列挙するものである。
・ALU78において実行される演算の種別(加算、減算、比較等)、
・ALU78における演算結果をバス82に出力するか否か、
・RAM72,74に対する読出しアドレス、
・RAM72,74に対してバス82上のデータを書き込むか否か、および(書込みを行う場合に)書込みアドレス、
・書込み制御部84を介してバス82上のデータを外部RAM100に書き込むか否か、
・読出し制御部86を介して、外部RAM100からデータを読み出すか否か
1.3.マイクロコードのフォーマット
ここで、マイクロコードのフォーマットを図3を参照して説明する。
「1」ステップのマイクロコードは、「64」ビットから構成されている。このマイクロコードは、ALU78において実行される演算の種別を指定するセクション、ALU78における演算結果をバス82に出力するか否かを指定するセクション、RAM72,74に対する読出しアドレスを指定するセクション等、複数のセクションから構成されている。そして、これらのセクションの組み合わせによって、その「1」ステップにおけるDSP70の動作が特定される。特に、これらのセクションの中には、T−RAM74の読出しアドレスTRRを示すセクションと、同T−RAM74の書込みアドレスTRWを示すセクションとが含まれている。アドレスTRR,TRWは共に「8」ビットである。なお、上述したマイクロコードの幅(64ビット)およびアドレスTRR,TRW(8ビット)は例示であり、これらの数値に限られるものではなく、適用されるALU78の種類に応じて決定されるものである。
2.実施例の動作
2.1.動作の概要
次に、図4を参照し、本実施例の動作の概要を説明する。
まず、本実施例のマイクロプログラムは、複数のプラグインモジュールを組み合わせることによって構成される。ここで、「プラグインモジュール」とは、あるまとまった機能を実現するためのマイクロコードの集合であり、例えばグラフィックイコライザ、パラメトリックイコライザ、ディレイ、リバーブ、ゲートなどの機能を実現する。これらプラグインモジュールを用いて実現されるアルゴリズムの一例を図4(a)に示す。図4(a)の例にあっては、プラグインモジュールPG1,PG2,PG3が縦続接続され、入力信号Sinはこれらのモジュールを順次介して処理された後、出力信号Soutとして出力される。
次に、図4(a)に示したアルゴリズムを実現するために、特に外部RAM100に対するアクセスに着目した信号経路を図4(b)を参照し説明する。上述した入力信号Sinは、音声インタフェース42を介して入力されるものであり、各サンプリング周期における入力信号Sinのサンプル値は、一旦は外部RAM100に記憶される。次に、プラグインモジュールPG1においては、外部RAM100から当該入力信号Sinのサンプル値が読み出され、信号処理が施された後に、処理後のサンプル値は外部RAM100に記憶される。次に、プラグインモジュールPG2においては、外部RAM100からプラグインモジュールPG1の処理結果のサンプル値が読み出され、信号処理が施された後に、処理後のサンプル値は外部RAM100に記憶される。同様に、プラグインモジュールPG3においては、外部RAM100からプラグインモジュールPG2の処理結果のサンプル値が読み出され、信号処理が施された後に、処理後のサンプル値は外部RAM100に記憶される。その後、このプラグインモジュールPG3における処理結果は、出力信号Soutとして音声インタフェース42を介して出力される。
このように、各プラグインモジュールが外部RAM100を介してサンプル値を入出力する理由は、各プラグインモジュールが再配置可能な形式で記述されていることによる。図4(b)に示した信号経路においては、外部RAM100に対して「1」サンプルあたり「8」回のアクセスが実行されることになる。上述したように、「1」サンプリング周期内のクロック数を「M」とし、外部RAM100を「1」回アクセスするために必要なクロック数を「N」としたとき、DSPが「1」サンプリング周期において外部RAM100にアクセスできる最大アクセス回数Kは、「M/N」である。そして、最大アクセス回数Kを使い切ってしまうと、他のリソースに余裕があったとしても、さらにモジュールを増加させることができなくなる。そこで、本実施例においては、図4(b)に示した信号経路を図4(c)に示すように変更することを内容とするものである。図4(c)の信号経路においては、各プラグインモジュールPG1,PG2,PG3は一のプラグインモジュールPG101として統合され、プラグインモジュールPG1,PG2,PG3に対応する部分(以下、コード群PG1’,PG2’,PG3’という)は、外部RAM100を介することなく、T−RAM74を介してサンプル値の入出力を行う。その結果、外部RAM100に対するアクセス回数を合計「4」回、すなわち図4(b)における「1/2」のアクセス回数に抑制することができる。
2.2.マイクロプログラムの具体例
2.2.1.統合前
次に、上述した図4(b)の信号経路を実現するマイクロプログラムの具体例を図5に示す。
図5において、プラグインモジュールPG1は、ステップSP1001〜SP1092のマイクロコードによって構成されている。まず、ステップSP1001は「エントリポイント」であり、これは再配置可能なプラグインモジュールの開始をDSP70に対して通知するものである。次に、ステップSP1002では「レジスタの退避」が指示される。I−RAM72およびT−RAM74の記憶領域においては、現在実行中のプラグインモジュールで使用可能なアドレス範囲が予め定められており、その範囲を「レジスタ」と呼ぶ。ステップSP1002においては、これらレジスタに現在記憶されている値が、RAM72,74の各々に予め確保された退避領域に転送されるのである。次に、ステップSP1003の「入力バッファアクセス」とは、外部RAM100に記憶された入力信号Sinのサンプル値をT−RAM74に読み込む事を指示するものである。より具体的には、入力信号Sinのサンプル値は、図2において外部RAM100から読出し制御部86、バス82を介してT−RAM74に書き込まれることになる。このステップを実行するため、T−RAM74に対する書込みアドレスTRWとして、アドレス値A01が指定されている。なお、アドレス値A01は、実際には、T−RAM74のアドレス値である0〜255の何れかの数値である。
次に、ステップSP1004〜SP1089においては、プラグインモジュールPG1において実行される信号処理の内容が指定される。信号処理を実現するための具体的なマイクロプログラムの内容は周知であるために省略するが、信号処理の最初のステップSP1004においては、T−RAM74の上記アドレス値A01の内容が読み出される。このため、ステップSP1004には、読出しアドレスTRRとして、当該アドレス値A01が指定されている。次に、ステップSP1005〜SP1088が続くが、これらについては図示を省略する。また、信号処理の最後のステップSP1089においては、信号処理の結果であるサンプル値がこのアドレス値A01に書き込まれることとする。そのため、ステップSP1089においては、書込みアドレスTRWとして該アドレス値A01が指定されている。なお、図示の例では、入力信号Sinのサンプル値が書き込まれるアドレスおよび信号処理の結果であるサンプル値が書き込まれるアドレスは、共に「A01」であるが、両者を異なるアドレスにしてもよいことは言うまでもない。
次に、ステップSP1090の「出力バッファアクセス」とは、プラグインモジュールPG1における信号処理の結果であるサンプル値を外部RAM100に記憶させることを指示するものである。より具体的には、当該サンプル値は、図2においてT−RAM74から読み出され、ALU78を通過し、バス82、書込み制御部84を介して外部RAM100に書き込まれる。このステップを実行するため、T−RAM74に対する読出しアドレスTRRとして、上記アドレス値A01が指定されている。次に、ステップSP1091の「レジスタの復帰」とは、先のステップSP1002にてRAM72,74の退避領域に転送されていたデータを元のアドレスに書き戻す事を指示するものである。次に、ステップSP1092の「リターンポイント」は、再配置可能なプラグインモジュールの終端をDSP70に対して通知するものである。
また、プラグインモジュールPG2は、ステップSP2001〜SP2092のマイクロコードによって構成されている。プラグインモジュールPG1,PG2は、信号処理の内容は異なるが、プラグインモジュールPG2において先頭の「4」ステップであるステップSP2001〜SP2004および最後の「4」ステップであるステップSP2089〜SP2092の内容は、上記プラグインモジュールPG1におけるステップSP1001〜SP1004およびステップSP1089〜SP1092の内容と同様である。但し、プラグインモジュールPG2においては、ステップSP2003,SP2089における書込みアドレスTRWとしてアドレス値A02が指定され、ステップSP2004,SP2090における読出しアドレスTRRとしてアドレス値A02が指定されている点がプラグインモジュールPG1とは異なる。アドレス値A02も、実際にはT−RAM74のアドレス値である0〜255の何れかの数値である。
同様に、プラグインモジュールPG3は、ステップSP3001〜SP3092のマイクロコードによって構成されている。プラグインモジュールPG1,PG3は、信号処理の内容は異なるが、プラグインモジュールPG3において先頭の「4」ステップであるステップSP3001〜SP3004および最後の「4」ステップであるステップSP3089〜SP3092の内容は、上記プラグインモジュールPG1におけるステップSP1001〜SP1004およびステップSP1089〜SP1092の内容と同様である。但し、プラグインモジュールPG3においては、ステップSP3003,SP3089における書込みアドレスTRWとしてアドレス値A03が指定され、ステップSP3004,SP3090における読出しアドレスTRRとしてアドレス値A03が指定されている点がプラグインモジュールPG1とは異なる。アドレス値A03も、実際にはT−RAM74のアドレス値である0〜255の何れかの数値である。
2.2.2.統合後
次に、プラグインモジュールPG1,PG2,PG3を統合したプラグインモジュールPG101の内容を図6を参照し説明する。上述したように、プラグインモジュールPG101は、コード群PG1’,PG2’,PG3’から構成される。コード群PG1’は、ステップSP1001〜SP1089から構成され、これらはプラグインモジュールPG1におけるステップSP1001〜SP1089と同一の内容である。換言すれば、コード群PG1’は、プラグインモジュールPG1からステップSP1090〜SP1092を削除したものに等しい。次に、コード群PG2’は、ステップSP2004’〜SP2089から構成される。これらのステップは、ステップSP2004’を除いて、プラグインモジュールPG2におけるステップSP2005〜SP2089と同一の内容である。但し、ステップSP2004’においては、その読出しアドレスTRRがコード群PG1’の最後のステップSP1089で指定されたアドレス値A01に書き換えられており、この点でステップSP2004とは異なる。次に、コード群PG3’は、ステップSP3004’〜SP3092から構成され、これらのステップは、ステップSP3004’を除いてプラグインモジュールPG3におけるステップSP3005〜SP3092と同一の内容である。但し、ステップSP3004’においては、その読出しアドレスTRRがコード群PG2’の最後のステップSP2089で指定されたアドレス値A02に書き換えられており、この点でステップSP3004とは異なる。
統合後のプラグインモジュールPG101においては、最初にコード群PG1’が実行され、その信号処理の結果がT−RAM74のアドレス値A01に記憶される。次に、コード群PG2’においては、最初にこのアドレス値A01が読み出され、その信号処理の結果がT−RAM74のアドレス値A02に記憶される。最後のコード群PG3’においては、最初にこのアドレス値A02が読み出され、その信号処理の結果がT−RAM74のアドレス値A03に記憶された後、外部RAM100に記憶される。このように、プラグインモジュールPG101においては、コード群PG1’,PG2’,PG3’が、外部RAM100を経由することなく順次実行される。
ここで、縦続接続された複数のプラグインモジュールを統合するにあたって、マイクロプログラムを変更する処理の内容を一般的に表現すると、次の通りになる。まず、先頭のプラグインモジュール(上記例では、PG1)においては、最後に設けられた「3」ステップである「出力バッファアクセス」、「レジスタの復帰」および「リターンポイント」(同、SP1090〜SP1092)が削除される。また、最後のプラグインモジュール(同、PG3)においては、先頭に設けられた「3」ステップである「エントリポイント」、「レジスタの退避」および「入力バッファアクセス」(同、SP3001〜SP3003)が削除され、信号処理開始のステップ(同、SP3004)における読出しアドレスTRRは、直前の信号処理終了ステップ(同、SP2089)における書込みアドレスTRWに等しい値(同、A02)に変更される。
また、先頭および最後以外のプラグインモジュール(同、PG2)においては、以下の点が変更される。
・先頭に設けられた「3」ステップである「エントリポイント」、「レジスタの退避」および「入力バッファアクセス」(同、SP2001〜SP2003)が削除される。
・最後に設けられた「3」ステップである「出力バッファアクセス」、「レジスタの復帰」および「リターンポイント」(同、SP2090〜SP2092)が削除される。
・信号処理開始のステップ(同、SP2004)における読出しアドレスTRRは、直前の信号処理終了ステップ(同、SP1089)における書込みアドレスTRWに等しい値(同、A01)に変更される。
2.3.ユーザインタフェース
次に、汎用PC10に適用されるユーザインタフェースについて説明する。
汎用PC10においてユーザが所定の操作を行うと、DME30のアルゴリズムを編集するアプリケーションプログラムが起動され、該アプリケーションプログラムの制御の下、表示器16には図7に示すウィンドウ200,202が表示される。そして、ウィンドウ202には、DME30に適用されるマイクロプログラムのアルゴリズム構成が表示される。このアルゴリズム構成は、複数のブロックを接続して成るブロック図として表示される。そして、該ブロック図においては、新たなブロックや結線を追加し、あるいは既存のブロックや結線を削除するような編集を行うことが可能である。この編集を行うための操作方法は、上述した「非特許文献1」などにおいて周知である。
図7の例において、210は入力ユニット・ブロックであり、「4」系統のアナログ音声信号を各々デジタル音声信号に変換する入力ユニットを表すものである。212はマトリクスミキサ・ブロックであり、入力ユニットから出力された「4」系統の音声信号に対してミキシング処理を施し、その結果を「4」系統の音声信号として出力するマトリクスミキサを表すものである。214,218,222,226はグラフィックイコライザ・ブロックであり、マトリクスミキサから出力された各音声信号の周波数特性を調整するグラフィックイコライザを表すものである。216,220,224,228はディレイ・ブロックであり、各グラフィックイコライザから出力された音声信号を遅延するディレイ部を表すものである。230は出力ユニット・ブロックであり、各ディレイ部から出力されたデジタル音声信号をアナログ音声信号に変換して出力する出力ユニットを表すものである。
ウィンドウ202において、ユーザはマウスを操作することにより一または複数のブロックを「選択状態」にすることができ、選択されたブロックは破線で囲まれる。図7の例においては、グラフィックイコライザおよびディレイに係るブロック214〜228が破線240で囲まれており、選択状態になっている。また、ウィンドウ200の上部には、コンパイルボタン204とリンクボタン206とが表示されている。ここで、コンパイルボタン204は、ウィンドウ202に表示されたアルゴリズム構成をコンパイルすべき旨を指示するボタンであり、リンクボタン206は、選択状態のブロックに係るモジュールを可能な範囲で統合すべき旨を指示するボタンである。
また、表示器16には、リソースメータ・ウィンドウ250が表示される。ウィンドウ250の内部において252はDSPリソースメータであり、ウィンドウ202に表示されているアルゴリズム構成が、マイクロプログラムの最大ステップ数Mの何%を消費するものであるかを表示する。また、254はコネクタ・リソースメータであり、ウィンドウ202に表示されているアルゴリズム構成において、外部RAM100をアクセスする回数が、最大アクセス回数Kの何%を消費するものであるかを表示する。
2.4.イベント処理
2.4.1.モジュール統合処理(図8(a))
次に、ウィンドウ200におけるイベント処理について説明する。
まず、複数のブロックが選択された状態でリンクボタン206がマウスでクリックされると、図8(a)に示す統合処理ルーチンが起動される。図8(a)において処理がステップSP2に進むと、選択範囲のブロックの中から統合可能な候補(リンク候補)が検索される。次に、処理がステップSP4に進むと、この検索結果に基づいて、リンク候補が存在するか否かが判定される。なお、図7に示した例においては、破線240で囲まれた選択範囲において、各グラフィックイコライザ・ブロック214,218,222,226と、その後段のディレイ・ブロック216,220,224,228とは、各々一のブロック(またはプラグインモジュール)として統合することが可能である。
ステップSP4において「YES」と判定されると処理はステップSP6に進み、リンク可能なプラグインモジュールを統合してなる新たなプラグインモジュールのマイクロプログラムが再構築される。その具体的な内容は、先に図5,図6を参照して説明した通りである。次に、処理がステップSP8に進むと、リソースメータ・ウィンドウ250の内容が更新される。すなわち、プラグインモジュールを統合したことにより、マイクロプログラム全体のステップ数および外部RAM100へのアクセス回数が変更されるため、リソースメータ・ウィンドウ250には、変更後の値が表示される。また、ウィンドウ200においても、各グラフィックイコライザ・ブロック214,218,222,226と、その後段のディレイ・ブロック216,220,224,228とは、統合された4系統のブロックに置換され、これによって統合されたモジュールが適用されることが表示される。なお、選択範囲において統合可能なリンク候補が存在しなかった場合には、ステップSP6,8はスキップされる。以上のステップにより、統合処理ルーチンの処理が終了する。
以上のように、本実施例の統合処理ルーチンによれば、縦続接続された前段のモジュールの演算処理の内容と、後段のモジュールの演算処理の内容とを結合して新たなモジュールを生成できるから、外部RAM100に対するアクセス頻度を下げることができ、DSP70の有するリソースを有効に活用することができる。
2.4.2.コンパイル処理
また、ウィンドウ200においてコンパイルボタン204がマウスでクリックされると、図8(b)に示すコンパイル処理ルーチンが起動される。
図8(b)において処理がステップSP10に進むと、アルゴリズム構成の解析が行われる。そして、処理がステップSP12に進むと、アルゴリズム構成の解析結果に基づいて、各プラグインモジュール(統合されたプラグインモジュールも含む)が組み合わされ、当該アルゴリズム構成を実現するマイクロプログラムが生成される。
なお、生成されたマイクロプログラムは、所定の処理を行うことにより、汎用PC10からDME30に転送される。そして、DME30において、該マイクロプログラムはマイクロプログラムRAM94(図2参照)に格納され実行されることになる。
3.変形例
本発明は上述した実施例に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記実施例においては、汎用PC10上で動作するアプリケーションプログラムによって統合処理(図8(a))およびコンパイル処理(図8(b))を行ったが、このアプリケーションプログラムのみをCD−ROM、メモリカード等の記録媒体に格納して頒布し、あるいは伝送路を通じて頒布することもできる。
(2)上記実施例においては、プラグインモジュールを統合する統合処理(図8(a))は、「リンクボタン206をマウスでクリックする」というユーザの明示的な操作によって実行されたが、かかる処理は、統合が可能な複数のモジュールに対して、コンパイル処理(図8(b))において自動的に実行するようにしてもよい。
10:汎用PC、12:ハードディスク・ドライブ、14:リムーバルディスクドライブ装置、16:表示器、18:入力装置、20:通信バス、22:ROM、26:CPU、28:通信インタフェース、30:DME、32:操作子、34:検出回路、36:表示器、38:表示回路、40:通信インタフェース、42:音声インタフェース、44:通信バス、46:ROM、48:RAM、50:CPU、52:信号処理部、60:マイク、62:アンプ、64:スピーカ、70:DSP(演算装置)、72:I−RAM、72,74:RAM、74:T−RAM(高速メモリ)、76:係数補間部、80:エンコーダ、82:バス、84:書込み制御部、86:読出し制御部、88:アドレス制御部、90:入出力制御部、92:係数RAM、92,94:RAM、94:マイクロプログラムRAM、100:外部RAM(低速メモリ)、200,202:ウィンドウ、204:コンパイルボタン、206:リンクボタン、210〜230:ブロック、250:リソースメータ・ウィンドウ、252:DSPリソースメータ、254:コネクタ・リソースメータ。

Claims (1)

  1. コンピュータを、マイクロプログラムを生成する装置として機能させるためのプログラムであって、
    前記マイクロプログラムは、サンプリング周期毎の信号処理を行う所定の演算装置に対して該サンプリング周期毎に循環的に適用される複数のモジュールを、指定されたアルゴリズム構成を実現するように配列して成るものであり、
    前記演算装置は、複数のアドレスを有する高速メモリと、複数のアドレスを有し前記高速メモリよりもアクセス速度が遅い低速メモリとにアクセス可能に構成されているものであり、
    前記各モジュールは、前記低速メモリから入力信号値を読み出し前記高速メモリの何れかのアドレスに書き込む入力ステップと、前記入力信号値が書き込まれたアドレスを読出しアドレスとして指定することにより前記高速メモリから前記入力信号値を読み出すとともに所定の演算処理を行い前記高速メモリの何れかのアドレスを書込みアドレスとして指定することにより前記演算処理の結果である出力信号値を前記高速メモリに書き込む演算ステップと、前記高速メモリから前記出力信号値を読み出し前記低速メモリの何れかのアドレスに書き込む出力ステップとを有するものであり、
    前記コンピュータを、
    前記アルゴリズム構成において縦続接続される第1のモジュールと第2のモジュールとが存在するか否かを判定する判定手段と、
    該判定手段の判定結果が肯定的である場合に、前記第1のモジュールの演算ステップにおける前記書込みアドレスと前記第2のモジュールの演算ステップにおける前記読出しアドレスとを一致させつつ、両演算ステップを結合し、結合された両演算ステップと前記入力ステップと前記出力ステップとから成る結合モジュールを生成する結合モジュール生成手段と
    として機能させるためのプログラム。
JP2010253428A 2010-11-12 2010-11-12 プログラム Expired - Fee Related JP5696442B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010253428A JP5696442B2 (ja) 2010-11-12 2010-11-12 プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010253428A JP5696442B2 (ja) 2010-11-12 2010-11-12 プログラム

Publications (2)

Publication Number Publication Date
JP2012105166A JP2012105166A (ja) 2012-05-31
JP5696442B2 true JP5696442B2 (ja) 2015-04-08

Family

ID=46395037

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010253428A Expired - Fee Related JP5696442B2 (ja) 2010-11-12 2010-11-12 プログラム

Country Status (1)

Country Link
JP (1) JP5696442B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3171361B2 (ja) * 1994-05-06 2001-05-28 ヤマハ株式会社 Dspプログラミング装置
JPH08161222A (ja) * 1994-12-05 1996-06-21 Fujitsu Ltd プロセッサ及びそのプログラム作成方法
EP1010275A1 (en) * 1997-07-02 2000-06-21 Creative Technology Ltd. Audio effects processor having decoupled instruction execution and audio data sequencing
JP4227789B2 (ja) * 2002-09-17 2009-02-18 株式会社ガイア・システム・ソリューション 集積回路装置およびデータ処理システム

Also Published As

Publication number Publication date
JP2012105166A (ja) 2012-05-31

Similar Documents

Publication Publication Date Title
JP4533682B2 (ja) トレース解析装置およびトレース解析方法
US20070247430A1 (en) Keyboard and mouse operation data recording/reproducing system and method thereof
JP5779077B2 (ja) プログラムの生成を支援する装置及び方法
US20100199269A1 (en) Program optimization device and program optimization method
US7523252B2 (en) Data control apparatus functioning as a USB mass storage device
CN109741774B (zh) 一种基于fpga片上ram模拟实现ddr3突发的控制器以及方法
WO2022017096A1 (zh) 屏幕录制方法、电子设备及计算机可读存储介质
JP2008065441A (ja) デバッグシステム及びデバッグ回路
JP2005520238A (ja) 動作合成ツールにおけるアレイ変換
US20090276721A1 (en) Method and apparatus for configuring a device
US20110035667A1 (en) Instant Import of Media Files
US20140108356A1 (en) Information processing apparatus
JP2013214832A (ja) 圧縮及び伸長システム、圧縮装置、伸長装置、圧縮及び伸長方法、圧縮プログラム及び伸長プログラム
US20110167047A1 (en) Editing apparatus, method, and storage medium
JP5696442B2 (ja) プログラム
US20070079109A1 (en) Simulation apparatus and simulation method
JP2001265761A (ja) データ編集装置及び編集方法並びに編集処理手順が記録された記録媒体
JP2000222296A (ja) ファイルダウンロード方法、情報機器、及びコンピュータ読み取り可能な記録媒体
JP5831235B2 (ja) ファイル編集装置
JP2012083901A (ja) 構成情報管理装置、その方法及びそのプログラム並びに動作合成装置
JP2006011950A (ja) インストーラ作成装置及びその方法、そのプログラム
JP2003044518A (ja) データ処理プログラム、データ処理システム及びデータ処理方法
CN118170352A (zh) 用于开发控制器的云端系统、控制器开发方法与控制器
JP2001084165A (ja) 画像処理装置および記憶媒体
JPH11282630A (ja) ハードディスクドライブのフォーマッティング方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130920

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140513

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150126

R151 Written notification of patent or utility model registration

Ref document number: 5696442

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees