【事件の表示】
　特許第３１７１３６１号「ＤＳＰプログラミング装置」の請求項１乃至４に係る特許に対する特許異議の申立てについて、次のとおり決定する。
【結　論】
　訂正を認める。
　特許第３１７１３６１号の請求項１乃至４に係る特許を維持する。
【理　由】
Ａ　手続きの経緯
　特許第３１７１３６１号の請求項１乃至４に係る発明についての出願は、平成６年５月６日に特許出願され、平成１３年３月２３日にその発明について特許の設定登録がなされたものであり、その後、平成１３年１１月２７日に異議申立人石井睦子により特許異議の申立てがなされ、平成１４年２月８日に取消し理由が通知され、その指定期間内である平成１４年４月９日に訂正請求がなされたものである。
　
Ｂ　訂正の適否についての判断
１．訂正の内容
　特許権者が求めている訂正の内容は、以下のとおりである。
　
ア．訂正事項１
特許請求の範囲の請求項１について、
「一時記憶ＲＡＭを内部に有し、ＤＳＰに所定のプログラムを実行させるためのＤＳＰプログラミング装置であって、
　ＤＳＰマイクロプログラムからなる信号処理アルゴリズムを機能別に複数モジュールに分けてそれぞれをＤＳＰマイクロプログラム形式で記憶するモジュール記憶手段と、
　入力手段と、
　上記ＤＳＰにＤＳＰマイクロプログラムを転送する転送手段と、
　上記入力手段での操作に従い、少なくとも、
　（１）上記モジュール記憶手段のモジュールをモジュール単位で読み出して複数のモジュールを組み合わせるモジュール組合せ処理、
　（２）組み合わされたモジュール間でのデータの受渡しを上記一時記憶ＲＡＭを介して行わせるためのデータ受渡し用プログラムステップを上記読み出された各モジュールに付加することによって、上記組み合わされたモジュールより所定のアルゴリズムに対応するＤＳＰマイクロプログラムを作成するマイクロプログラム作成処理、
　（３）作成されたＤＳＰマイクロプログラムを上記転送手段を介して上記ＤＳＰへ転送する処理、
　を実行する制御手段と、
　を具備することを特徴とするＤＳＰプログラミング装置。」を、
　
「一時記憶ＲＡＭを内部に有するＤＳＰに所定のプログラムを実行させるためのＤＳＰプログラミング装置であって、
　ＤＳＰマイクロプログラムからなる信号処理アルゴリズムを機能別に複数モジュールに分けてそれぞれをＤＳＰマイクロプログラム形式で記憶するモジュール記憶手段と、
　入力手段と、
　上記ＤＳＰにＤＳＰマイクロプログラムを転送する転送手段と、
　上記入力手段での操作に従い、少なくとも、
　（１）上記モジュール記憶手段のモジュールをモジュール単位で読み出して複数のモジュールを組み合わせるモジュール組合せ処理、
　（２）組み合わされたモジュール間でのデータの受渡しを上記一時記憶ＲＡＭを介して行わせるためのデータ受渡し用プログラムステップを上記読み出された各モジュールの最初または最後のアドレスに配置することによって、上記組み合わされたモジュールより所定のアルゴリズムに対応するＤＳＰマイクロプログラムを作成するマイクロプログラム作成処理、
　（３）作成されたＤＳＰマイクロプログラムを上記転送手段を介して上記ＤＳＰへ転送する処理、
　を実行する制御手段と、
　を具備することを特徴とするＤＳＰプログラミング装置。」と訂正する。
　
イ．訂正事項２
発明の詳細な説明の欄の段落番号【0006】の
「【課題を解決するための手段】
　この出願の請求項１の発明は、一時記憶ＲＡＭを内部に有し、ＤＳＰに所定のプログラムを実行させるためのＤＳＰプログラミング装置であって、
　ＤＳＰマイクロプログラムからなる信号処理アルゴリズムを機能別に複数モジュールに分けてそれぞれをＤＳＰマイクロプログラム形式で記憶するモジュール記憶手段と、
　入力手段と、
　上記ＤＳＰにＤＳＰマイクロプログラムを転送する転送手段と、
　上記入力手段での操作に従い、少なくとも、
　（１）上記モジユール記憶手段のモジュールをモジュール単位で読み出して複数のモジュールを組み合わせるモジュール組合せ処理、
　（２）組み合わされたモジュール間でのデータの受渡しを上記一時記憶ＲＡＭを介して行わせるためのデータ受渡し用プログラムステップを上記読み出された各モジュールに付加することによって、上記組み合わされたモジュールより所定のアルゴリズムに対応するＤＳＰマイクロプログラムを作成するマイクロプログラム作成処理、
　（３）作成されたＤＳＰマイクロプログラムを上記転送手段を介して上記ＤＳＰへ転送する処理、
　を実行する制御手段と、
　を具備することを特徴とする。」を、
「この出願の請求項１の発明は、一時記憶ＲＡＭを内部に有するＤＳＰに所定のプログラムを実行させるためのＤＳＰプログラミング装置であって、
　ＤＳＰマイクロプログラムからなる信号処理アルゴリズムを機能別に複数モジュールに分けてそれぞれをＤＳＰマイクロプログラム形式で記憶するモジュール記憶手段と、
　入力手段と、
　上記ＤＳＰにＤＳＰマイクロプログラムを転送する転送手段と、
　上記入力手段での操作に従い、少なくとも、
　（１）上記モジユール記憶手段のモジュールをモジュール単位で読み出して複数のモジュールを組み合わせるモジュール組合せ処理、
　（２）組み合わされたモジュール間でのデータの受渡しを上記一時記憶ＲＡＭを介して行わせるためのデータ受渡し用プログラムステップを上記読み出された各モジュールの最初または最後のアドレスに配置することによって、上記組み合わされたモジュールより所定のアルゴリズムに対応するＤＳＰマイクロプログラムを作成するマイクロプログラム作成処理、
　（３）作成されたＤＳＰマイクロプログラムを上記転送手段を介して上記ＤＳＰへ転送する処理、
　を実行する制御手段と、
　を具備することを特徴とする。」と訂正する。
　
ウ．訂正事項３
  発明の詳細な説明の欄の段落番号【0015】中に
「 たとえば、最初のモジュールに対応するＤＳＰマイクロプログラムモジュール５ａの最後のアドレスには、入出力バッファ♯１へのデータの書き込みステップが配置され、次のＤＳＰマイクロプログラムステップ５ｂの最初のアドレスには、入出力バッファ♯１からのデータの読み込みステップが配置されている。」とあるのを、
  「たとえば、最初のモジュールに対応するＤＳＰマイクロプログラムモジュール５ａの最後のアドレスには、入出力バッファ♯１へのデータの書き込みステップが配置され、次のＤＳＰマイクロプログラムモジュール５ｂの最初のアドレスには、入出力バッファ♯１からのデータの読み込みステップが配置されている。」と訂正する。
　
２．訂正の目的の適否、新規事項の有無、及び特許請求の範囲の拡張・変更の存否
　
（１）訂正事項１における「一時記憶ＲＡＭを内部に有し、ＤＳＰ」を「一時記憶ＲＡＭを内部に有するＤＳＰ」とする訂正は、一時記憶ＲＡＭがＤＳＰ内部にあることを明りょうにするための訂正であり、明りょうでない記載の釈明に当たる。そして、この訂正は願書に添付した明細書又は図面に記載した事項の範囲内であり、実質上特許請求の範囲を拡張し又は変更するものではない。
　訂正事項１における「データ受渡し用ステップを上記読み出された各モジュールの最初または最後のアドレスに配置する」の点については、訂正前の「各モジュールに付加する」が、データ受渡し用プログラムステップを各モジュールの外側に配置する場合と各モジュールの内側に配置する場合を含むものであったから、この訂正は特許請求の範囲の減縮を目的とするものである。また、この点は前記明細書の【0015】【0023】【0024】に記載されており、この訂正は前記明細書に記載した事項の範囲内のものである。
また、前記訂正は、実質上特許請求の範囲を拡張し又は変更するものではない。
　
（２）訂正事項２の訂正は、訂正事項１で請求項１を訂正したことに合わせて、発明の詳細な説明をこれに整合させるための訂正であり、明りょうでない記載の釈明に当たる。
　また、この訂正は願書に添付した明細書又は図面に記載した事項の範囲内であり、実質上特許請求の範囲を拡張し又は変更するものではない。
　
（３）訂正事項３の訂正は、「プログラムモジュール５ｂ」と記載すべきところを「プログラムステップ５ｂ」と記載した箇所を正しい記載に訂正するものであり、誤記の訂正に当たる。
　また、この訂正は願書に添付した明細書又は図面に記載した事項の範囲内であり、実質上特許請求の範囲を拡張し又は変更するものではない。
　
３．むすび
　以上のとおりであるから、上記訂正は特許法第１２０条の４第２項ただし書き各号に掲げる事項を目的とし、かつ、同第３項において準用する平成６年法律第１１６号による改正前の特許法第１２６条第１項ただし書及び第２項の規定に適合するので、当該訂正を認める。
　
　
Ｃ．特許異議の申立てについて
１．申立ての理由の概要
　特許異議申立人石井睦子は、特許第３１７１３６１号の請求項１乃至４に係る発明の特許は、特許法第１７条の２第２項において準用する第１７条第２項に規定する要件を満たしていない特許出願に対してなされたものであり、取り消されるべきものである旨主張している。
　また、本件請求項１及び４に係る発明は、甲第１号証に記載された発明と実質的に同一であるか、あるいは、甲第１号証に記載された発明に基づいて当業者が容易に発明をすることができたものであるから、請求項１及び４に係る発明の特許は、特許法第２９条の規定に違反してされたものであり、取り消されるべきものである旨主張している。
　更に、本件請求項２乃至３に係る発明は、甲第１号証および甲第２号証に基づいて、当業者が容易に発明をすることができたものであるから、請求項２乃至３に係る発明の特許は、特許法第２９条の規定に違反してされたものであり、取り消されるべきものである旨主張している。
　
２．本件特許発明
本件各特許発明は、前記訂正請求で訂正された明細書の特許請求の範囲の請求項１乃至４に記載された事項により特定される通りのものである。
　
３．引用刊行物
刊行物１：特開平５−５３５７２号公報（甲第１号証）
刊行物２：特開平４−２７４５１８号公報（甲第２号証）
　
  刊行物１には電子楽器等から入力される音響信号に対して複数の音響効果を付加する効果付加装置が記載されている。
　特に、以下の記載を注視されたい。
（１）「図１は本発明に係る効果付加装置を電子楽器に適用したときの一実施例の全体構成図である。図１において、１はＣＰＵ（プログラム作成手段）であり、ＣＰＵ１はＲＯＭ２に記憶されたプログラムを、ＲＡＭ３をワークメモリとして使用することによって、ＤＳＰ（Digital signal Proccesor）４の制御を行う。また 、ＣＰＵ１はスイッチ部５に設けられている各種スイッチ類を走査し、それらの 状態の変化に応じた制御動作を行う。」（段落番号【0014】）
　
（２）「ＣＰＵ１はスイッチ部５に設けられている各種スイッチ類からの制御信号に基づいて入力される音響信号に対する複数のエフェクトの組み合せ形態を判定し、この形態に応じて、ＲＯＭ２から効果アルゴリズムおよび組み合せアルゴリズムを読み出して１つのプログラムを作成し、このプログラムをＤＳＰ４に転送する。」（段落番号【0019】）
　
（３）「ワークメモリ（Ｗ）１０４は後述する図１５に示すように、ＤＳＰ４内で作成される波形信号等を一時的に退避させておく作業用のメモリである。」段落番号【0027】）
　
（４）「 これらの動作は、エフェクト処理のアルゴリズムと、このアルゴリズ ムを図４、５の形態で組合せるためのアルゴリズムとがＣＰＵ１により選択されて１つのプログラムに作成された後、ＤＳＰ４に転送された場合に、この転送プログラムをＤＳＰ４がプログラムメモリ１０１に記憶しておいて順次マイクロプログラムとして取り出して実行する処理として実現される。（段落番号【0085】）
　
（５）「これにより、図４のミックス処理（１Ａ）２０１と等価な機能が実現される。　図９はミックス処理（２Ａ）の詳細を示すものである。　図９において、まずステップＳ５０１で係数メモリ（Ｐ）１０３からエフェクタ（１）出力乗算係数Ｐ（ＥＦ１）を読み出してレジスタ（Ｍ０）１４１に格納するとともに、ワークメモリ（Ｗ）１０４からエフェクタ（１）出力チヤンネルデータＷ（ＥＯ１）を読み出してレジスタ（Ｍ１）１４２に格納する。」（段落番号【0102】）
　
 刊行物２には、ＤＳＰの画像信号処理用プログラム作成装置が記載されている。 特に、以下の記載を注視されたい。
　
（１）「図１において、使用者は、図９に示した従来例と同様に、ＣＡＤのキーボード１３やマウス１４を用いて、図８に示した構成要素部品ファイルから所望 の構成要素部品を呼び出し、呼び出した各構成要素部品の端子間同志をＣＡＤ上のエディタを用いて接続することにより、図１１（ｂ）に示すようにモニタ１２の画面上に機能ブロック図を構成する（ステップＳ１６）。次に、このように構成された機能ブロック図を、ネットリスト変換により図１２に示したネットリストに変換する（ステップＳ１７）。」（段落番号【0015】）
　
（２）「そして、ネットリスト内の各構成要素部品を、ＤＳＰのプログラムで実行する順番に並び換え、並び換えファイルを作成する（ステップＳ１８）。この並び換えファイルの作成は、図２に示すフローチャートの通りに行なわれる。まず、ネットリストを読み込む（処理Ｔ１）と、ネットリストから構成要素部品名を検索し、その中から入力端子の構成要素部品名“input ”を探し出して保持する（処理２）。次に、保持した構成要素部品“input ”が接続されているノード番号に接続されている、他の構成要素部品（この場合“delay ”）を検索して保持する（処理Ｔ３）。」（段落番号【0016】）
　
（３）「ネットリストに基づいて、各構成要素部品の接続されているノード番号を付加している。ＤＳＰ動作プログラムでは、ノード番号がそのままＤＳＰ内部のメモリアドレスとなって使用されるため、これを実引数と称している。」（段落番号【0018】）
　
 ４．当審の判断
（１）第１７条第２項違反について
　前記訂正請求により請求項１は訂正され、当初明細書に記載された事項となったから、第１７条第２項の違反は解消された。また、請求項２乃至４は、請求項１を引用しており、請求項１に対する第１７条第２項違反が解消した結果、請求項２乃至４に対する第１７条第２項違反は解消された。
　
（２）特許法第２９条第１項第３号または第２９条第２項違反について
　訂正された請求項１に係る発明（以下、前者という。）と、刊行物１に記載された発明（以下、後者という。）とを比較すると、
前者のマイクロプログラム作成処理が「組み合わされたモジュール間でのデータの受渡しをＤＳＰ内部の一時記憶ＲＡＭを介して行わせるためのデータ受渡し用プログラムステップを上記読み出された各モジュールの最初または最後のアドレスに配置する」ものであるのに対し、                
 後者のものは、エフェクタ１の出力チャネルデータ１はワークメモリ（Ｗ）104のアドレス６に格納され（図１５参照）、ＭＩＸ処理２Ａではワークメモリ（Ｗ）104からエフェクタ１出力チヤンネルデータＷ（ＥＯ１）を読み出してレジスタ（Ｍ１）１４２に格納しているから、処理の「アルゴリズム」間のデ ータの受渡しに一時記憶を用いており、また、データの受渡しのためのプログラムステップを有しているものの、このデータ受渡しステップは予め各アルゴリズムを組み込まれており、また、データ受渡しのためのワークレジスタは固定的であり、各アルゴリズムを組み合わせて１つのプログラムを作成する段階で各モジュール内に配置するものでない点で相違する。
 （相違点についての検討）                     　
 上記のように両者には、明白な相違があるから両者を実質的に同一ということはできない。また、請求項４は請求項１を引用するものであるから、請求項４に係る発明が後者と同一ということはできない。
　次に、後者における予め組み込まれているデータの受渡しステップをプログラムを連結して１つのプログラムを作成する段階で配置することが容易か否かについて検討する。
　プログラム生成におけるプログラム部品の連結に関して、刊行物２では、呼び出した構成要素部品の端子同士をＣＡＤ上のエディタを用いて接続し、１つのプログラムとして連結するときにプログラム間の連結処理を行っている。
　刊行物２のものは、アセンブル前のプログラムに対する処理であり、プログラムを連結して１つのプログラムを作成する段階の具体的処理として、各構成要素部品のノード番号を実引数として、仮引数に渡す処理を行っている。このように、アセンブル前のプログラム作成の段階でプログラム連結の処理を行うことは知られているところである。
　ところで、刊行物１に記載されたものは、電子楽器等からの音響信号に対して音響効果を付加する効果付加装置に関するもので、演奏中に複数のエフェクタの接続を変更することを目的としている。そして、このような目的の下でデータ受渡しステップは、各アルゴリズムに組み込まれ、また、データ受渡しのためのワークレジスタは固定的に形成されている。これに対し、本件発明は、ＤＳＰプログラミングを行うときのソフトウエア開発者の負担軽減を目的としており、プログラム作成時にデータ受渡しステップを各モジュールに配置している。このような目的の違いを考えると、データ受渡しステップが必要であり、アセンブル前のプログラム作成時に該ステップを付加するものがあるからといって、該ステップを予め各アルゴリズムに設けておき演奏中にプログラムの組合せを変更するものから、ソフトウエア開発者によるプログラム作成時に該ステップを配置する方式とすることが容易に想到し得るということはできない。
  従って、前者は刊行物１および２に記載された発明に基づいて当業者が容易に発明をすることができたものではない。 また、請求項２乃至４は、訂正された請求項１を引用するものであるから、請求項１に係る発明が容易に発明をすることができたものでない以上、請求項２乃至４に係る発明は当業者が容易に発明をすることができたものではない。
　
５．むすび
　以上のとおりであるから、特許異議申立ての理由及び証拠によっては、請求項１乃至４に係る発明の特許を取り消すことはできない。
　また、他に本特許を取り消すべき理由を発見しない。
　よって、結論のとおり決定する。
【異議決定日】
平成１４年５月１０日（２００２．５．１０）
【訂正の要旨】
訂正の要旨
（１）明りょうでない記載の釈明及び特許請求の範囲の減縮を目的として、特許請求の範囲の請求項１を、
「一時記憶ＲＡＭを内部に有するＤＳＰに所定のプログラムを実行させるためのＤＳＰプログラミング装置であって、
　ＤＳＰマイクロプログラムからなる信号処理アルゴリズムを機能別に複数モジュールに分けてそれぞれをＤＳＰマイクロプログラム形式で記憶するモジュール記憶手段と、
　入力手段と、
　上記ＤＳＰにＤＳＰマイクロプログラムを転送する転送手段と、
　上記入力手段での操作に従い、少なくとも、
　（１）上記モジュール記憶手段のモジュールをモジュール単位で読み出して複数のモジュールを組み合わせるモジュール組合せ処理、
　（２）組み合わされたモジュール間でのデータの受渡しを上記一時記憶ＲＡＭを介して行わせるためのデータ受渡し用プログラムステップを上記読み出された各モジュールの最初または最後のアドレスに配置することによって、上記組み合わされたモジュールより所定のアルゴリズムに対応するＤＳＰマイクロプログラムを作成するマイクロプログラム作成処理、
　（３）作成されたＤＳＰマイクロプログラムを上記転送手段を介して上記ＤＳＰへ転送する処理、
　を実行する制御手段と、
　を具備することを特徴とするＤＳＰプログラミング装置。」
と訂正する。
（２）明りょうでない記載の釈明を目的として、明細書【０００６】段落を、
「この出願の請求項１の発明は、一時記憶ＲＡＭを内部に有するＤＳＰに所定のプログラムを実行させるためのＤＳＰプログラミング装置であって、
　ＤＳＰマイクロプログラムからなる信号処理アルゴリズムを機能別に複数モジュールに分けてそれぞれをＤＳＰマイクロプログラム形式で記憶するモジュール記憶手段と、
　入力手段と、
　上記ＤＳＰにＤＳＰマイクロプログラムを転送する転送手段と、
　上記入力手段での操作に従い、少なくとも、
　（１）上記モジユール記憶手段のモジュールをモジュール単位で読み出して複数のモジュールを組み合わせるモジュール組合せ処理、
　（２）組み合わされたモジュール間でのデータの受渡しを上記一時記憶ＲＡＭを介して行わせるためのデータ受渡し用プログラムステップを上記読み出された各モジュールの最初または最後のアドレスに配置することによって、上記組み合わされたモジュールより所定のアルゴリズムに対応するＤＳＰマイクロプログラムを作成するマイクロプログラム作成処理、
　（３）作成されたＤＳＰマイクロプログラムを上記転送手段を介して上記ＤＳＰへ転送する処理、
　を実行する制御手段と、
　を具備することを特徴とする。」
と訂正する。
（３）誤記の訂正を目的として、明細書【００１５】段落を
「入力部２は、上記モジュール記憶手段１の中から任意のモジュールを選択する手段であり、その選択を、表示画面３上でのＧＵＩ（グラフィカルユーザインターフェイス）機能によって行う。ＧＵＩ機能では、通常、画面上に複数のモジュールがグラフィックシンボルで表示されており（あるいは、適当な命令の実行によりモジュールファイルから読み出して表示し）、ユーザがその中から任意のシンボルをマウス等のポインティングデバイスによって選択し、さらに、それらのシンボルの入出力ポート間をマウスで連続してクリックすることにより表示画面３上で結線処理を行う。すなわち、マウスのクリック、アンド、ドラッグの操作により、表示画面上でモジュールの選択，移動、およびモジュール間の結線を行う。モジュール組み合わせ部４は、上記のＧＵＩ機能を用いた操作によって表示画面３上で組み合わされた複数のモジュールをリンク（結合）し、ＤＳＰが実際に実行する所定のアルゴリズムに対応するものを作成する。マイクロプログラム作成部５は、上記のようにしてリンクされた複数のモジュールにより実行形式のＤＳＰマイクロプログラムを作成する部分であり、ここで、ＤＳＰに実際に格納される最終的なプログラムが得られる。図に示す例では、４つのモジュールが組み合わされて実行形式のＤＳＰマイクロプログラムが作成されているが、各モジュール間でのデータの受渡しのために、各モジュールにデータ受渡し用プログラムステップを配置している。たとえば、最初のモジュールに対応するＤＳＰマイクロプログラムモジュール５ａの最後のアドレスには、入出力バッファ＃１へのデータの書き込みステップが配置され、次のＤＳＰマイクロプログラムモジュール５ｂの最初のアドレスには、入出力バッファ＃１からのデータの読み込みステップが配置されている。このように、各ＤＳＰマイクロプログラムモジュールにデータの受渡し用のプログラムステップを配置することにより、全てのモジュールのリンクを実現することができる。なお、後述するように、各入出力バッファは、ＤＳＰ内の演算部に設けられている一時記憶ＲＡＭに割り当てられている。」
と訂正する。
（５４）【発明の名称】
ＤＳＰプログラミング装置
（５７）【特許請求の範囲】
　【請求項１】　一時記憶ＲＡＭを内部に有
する
　ＤＳＰマイクロプログラムからなる信号処理アルゴリズムを機能別に複数モジュールに分けてそれぞれをＤＳＰマイクロプログラム形式で記憶するモジュール記憶手段と、
　入力手段と、
　上記ＤＳＰにＤＳＰマイクロプログラムを転送する転送手段と、
　上記入力手段での操作に従い、少なくとも、
　（１）上記モジュール記憶手段のモジュールをモジュール単位で読み出して複数のモジュールを組み合わせるモジュール組合せ処理、
　（２）組み合わされたモジュール間でのデータの受渡しを上記一時記憶ＲＡＭを介して行わせるためのデータ受渡し用プログラムステップを上記読み出された各モジュール
の最初または最後のアドレスに配置
　（３）作成されたＤＳＰマイクロプログラムを上記転送手段を介して上記ＤＳＰへ転送する処理、
　を実行する制御手段と、
　を具備することを特徴とするＤＳＰプログラミング装置。
　【請求項２】請求項１のＤＳＰプログラミング装置において、
　さらに、表示手段を備え、
　上記制御手段の上記モジュール組合せ処理は、上記表示手段に、モジュールの各々に対応するグラフィックシンボルを表示する処理と、表示されているグラフィックシンボルから上記入力手段で選択されたものを結線表示する処理を含むことを特徴とするＤＳＰプログラミング装置。
　【請求項３】　前記制御手段は、上記一時記憶ＲＡＭが記憶可能なワード数と同数のステップからなるＤＳＰマイクロプログラムを作成する手段である請求項１に記載のＤＳＰプログラミング装置。
　【請求項４】　上記モジュール記憶手段は、音声信号を処理するためのＤＳＰマイクロプログラムを記憶する手段である請求項１、請求項２または請求項３のいずれかに記載のＤＳＰプログラミング装置。
【発明の詳細な説明】
　【０００１】
　【産業上の利用分野】
　この発明は、楽音信号などの音声信号を処理するのに使用されるＤＳＰのプログラミング装置に関し、また、その装置を使用して作成したＤＳＰマイクロプログラムが格納されるＤＳＰ装置に関する。
　【０００２】
　【従来の技術】
　ＤＳＰ装置（以下、ＤＳＰ）は音声信号データや画像信号データを高速でディジタル処理するために使用されるが、この動作のためのプログラミングは、通常、ＤＳＰハードウェアに極めて近いレベルのアセンブラ言語によって行われている。
　【０００３】
　【発明が解決しようとする課題】
　しかしながら、ＤＳＰ自身が汎用のＣＰＵ等とは違った特殊な演算装置である上、実情は、上記のようにハードウェアに極めて近いレベルのアセンブラ言語でしかプログラミングできないために、ソフトウェア開発者は、ＤＳＰのハードウェアを熟知しないとプログラミングできないという問題があった。
　【０００４】
　また、アルゴリズムのモジュール化をすることも困難であり、複数のプログラムを作成する際、各々共通の機能のアルゴリズムを使用する場合であってもそれぞれのプログラムごとに最初からコーディングしなければならない問題があった。
　【０００５】
　この発明の目的は、ＤＳＰプログラミングを行う時のソフトウェア開発者の負担を軽減し、且つ共通して使用可能なアルゴリズムのモジュール化を可能にするＤＳＰプログラミング装置及び同装置によって作成されたプログラムが格納可能なＤＳＰ装置を提供することにある。
　【０００６】
　【課題を解決するための手段】
　この出願の請求項１の発明は、一時記憶ＲＡＭを内部に有
する
　ＤＳＰマイクロプログラムからなる信号処理アルゴリズムを機能別に複数モジュールに分けてそれぞれをＤＳＰマイクロプログラム形式で記憶するモジュール記憶手段と、
　入力手段と、
　上記ＤＳＰにＤＳＰマイクロプログラムを転送する転送手段と、
　上記入力手段での操作に従い、少なくとも、
　（１）上記モジュール記憶手段のモジュールをモジュール単位で読み出して複数のモジュールを組み合わせるモジュール組合せ処理、
　（２）組み合わされたモジュール間でのデータの受渡しを上記一時記憶ＲＡＭを介して行わせるためのデータ受渡し用プログラムステップを上記読み出された各モジュール
の最初または最後のアドレスに配置
　（３）作成されたＤＳＰマイクロプログラムを上記転送手段を介して上記ＤＳＰへ転送する処理、
　を実行する制御手段と、
　を具備することを特徴とする。
　【０００７】
　この出願の請求項２の発明は、請求項１のＤＳＰプログラミング装置において、
　さらに、表示手段を備え、
　上記制御手段の上記モジュール組合せ処理は、上記表示手段に、モジュールの各々に対応するグラフィックシンボルを表示する処理と、表示されているグラフィックシンボルから上記入力手段で選択されたものを結線表示する処理を含むことを特徴とする。
　【０００８】
　この出願の請求項３の発明は、請求項１の発明において、前記制御手段は、上記ＤＳＰの一時記憶ＲＡＭが記憶可能なワード数と同数のステップからなるＤＳＰマイクロプログラムを作成する手段であることを特徴とする。
。
　【０００９】
　この出願の請求項４の発明は、請求項１、請求項２または請求項３の発明において、上記モジュール記憶手段は、音声信号を処理するためのＤＳＰマイクロプログラムを記憶する手段であることを特徴とする。
　【００１０】
　【作用】
　この発明に係るＤＳＰプログラミング装置でＤＳＰプログラミングを行う時、入力手段によって任意のモジュールをモジュール記憶手段から読みだす。すなわち、モジュール記憶手段に記憶されている、音声信号データの入力部を構成する入力モジュールや、入力モジュールを通過した信号データに対し、遅延、変調処理等による効果（音声信号に対するリバーブ等の効果）を付与するモジュールや、出力信号データを作成する出力モジュール等から、必要なモジュールを入力手段によって選択し、制御手段において、それらの複数のモジュールを組み合わせるとともに、組み合わされたモジュール間でのデータの受渡しを一時記憶ＲＡＭを使用して行うデータ受渡し用プログラムステップを、読み出された各モジュールに付加することによって、前記組み合わせたモジュールから実行形式のＤＳＰマイクロプログラムを作成する。そして、作成したマイクロプログラムを転送手段を介してターゲットデバイスのＤＳＰに転送する。
　【００１１】
　上記の制御動作のうちモジュールの組み合わせ処理は、表示画面上に各モジュールに対応するグラフィックシンボルを表示させるとともに、表示されているグラフィックシンボルから入力手段で選択されたものを結線表示することにより行う。また、最終的な実行形式のマイクロプログラムの作成処理は、上記結線処理通りに各モジュール間でデータの受渡しが行われるように、データ受渡し用プログラムステップを、各読みだしたモジュールに付与することによって行う。このような処理により、１つのモジュールから次のモジュールにデータの受渡しが行われる。
　【００１２】
　また、請求項３の発明では、上記制御手段が作成するＤＳＰマイクロプログラムを上記一時記憶ＲＡＭが記憶可能なワード数と同数に設定した。これにより、仮に、全てのプログラムステップが上記入出力バッファを使用した入出力命令であったとしても、バッファ上でデータが重なってしまうということが無くなる。
　【００１３】
　【実施例】
　図１は、この発明に係るＤＳＰプログラミング装置の模式的な構成図を示している。
　【００１４】
　同図において、１は、ＤＳＰマイクロプログラムからなる音声信号処理アルゴリズムを機能別に複数モジュールに分けて、且つ所定の機能のモジュールについては複数種類記憶するモジュール記憶手段である。モジュールには、入力信号データを一時記憶する等入力信号データの入力部を構成する入力モジュール１ａ、入力信号データに対してリバーブ効果を付与するリバーブモジュール１ｂ、同じく入力信号データに対してコーラス効果を付与するコーラスモジュール１ｃ、また、各種の効果を付与した信号データを一時記憶するなどの出力バッファを備える出力モジュール１ｄを含んでいる。このうち、リバーブ等の効果を付与するモジュールについては複数種類記憶されており、この中から少なくとも１つ以上選択できるようになっている。
　【００１５】
　入力部２は、上記モジュール記憶手段１の中から任意のモジュールを選択する手段であり、その選択を、表示画面３上でのＧＵＩ（グラフィカルユーザインターフェイス）機能によって行う。ＧＵＩ機能では、通常、画面上に複数のモジュールがグラフィックシンボルで表示されており（あるいは、適当な命令の実行によりモジュールファイルから読み出して表示し）、ユーザがその中から任意のシンボルをマウス等のポインティングデバイスによって選択し、さらに、それらのシンボルの入出力ポート間をマウスで連続してクリックすることにより表示画面３上で結線処理を行う。すなわち、マウスのクリック、アンド、ドラッグの操作により、表示画面上でモジュールの選択，移動、およびモジュール間の結線を行う。モジュール組み合わせ部４は、上記のＧＵＩ機能を用いた操作によって表示画面３上で組み合わされた複数のモジュールをリンク（結合）し、ＤＳＰが実際に実行する所定のアルゴリズムに対応するものを作成する。マイクロプログラム作成部５は、上記のようにしてリンクされた複数のモジュールにより実行形式のＤＳＰマイクロプログラムを作成する部分であり、ここで、ＤＳＰに実際に格納される最終的なプログラムが得られる。図に示す例では、４つのモジュールが組み合わされて実行形式のＤＳＰマイクロプログラムが作成されているが、各モジュール間でのデータの受渡しのために、各モジュールにデータ受渡し用プログラムステップを配置している。たとえば、最初のモジュールに対応するＤＳＰマイクロプログラムモジュール５ａの最後のアドレスには、入出力バッファ＃１へのデータの書き込みステップが配置され、次のＤＳＰマイクロプログラム
モジュール
　【００１６】
　マイクロプログラム作成部５で実行形式に作成されたＤＳＰマイクロプログラムは、転送部６によってターゲットデバイスであるＤＳＰ７のマイクロプログラムＲＡＭに転送される。
　【００１７】
　図２は、上記ＤＳＰプログラミング装置の実際の構成図を示している。
　【００１８】
　この装置は、装置全体の制御を行うＣＰＵ２０と、プログラムを記憶するプログラムＲＯＭ２１と、各モジュールを記憶するモジュールＲＯＭ２２と、演算時にワークエリアとなるＲＡＭ２３と、入力手段であるキーボード２４及びマウス２５と、表示手段であるディスプレイ２６と、ＤＳＰに対し演算によって得られたＤＳＰプログラムを転送する転送部２７とで構成され、転送部２７にはターゲットデバイスであるＤＳＰ２８が接続される。ＤＳＰ２８内には、転送されたＤＳＰマイクロプログラムを記憶するマイクロプログラムＲＡＭ２８ａが設けられている。
　【００１９】
　図３は、上記ＤＳＰプログラミング装置のディスプレイ２６の表示画面を示している。
　【００２０】
　このディスプレイの表示画面には複数のウインドウが表示可能であり、図に示す状態では、画面の下方に効果付与のための効果モジュール群と入出力モジュール群がそれぞれのシンボルウインドウ３０，３１にグラフィックシンボル（アイコン）で表示されている。画面の右側上方には各モジュールのパラメータを設定するためのウインドウ３２〜３４が配置されている。また画面左側上方にはモジュールを組み合わせるための作業を行うアルゴリズムウインドウ３５が配置されている。さらに、画面の上には、プルダウンメニュー３６が配置されており、オペレータはマウスによってカーソル３７を移動させ、アイコンに対するクリックやドラッグを行うことにより、任意のアイコン（モジュール）の選択及び移動を行うことができる。また、プルダウンメニューの選択によりコマンドを入力したり、パラメータ入力エリアを選択し数値キーにより各パラメータを入力することも出来るようになっている。
　【００２１】
　図に示す例では、表示画面の左下側の効果モジュールからリバーブアイコン（モジュール）を選択（マウスでクリックする）し、セレクトボタンを押すことによってリバーブのアイコンをアルゴリズムウインドウ３５内に転送し、さらに入出力モジュールの内、入力モジュールを１回セレクトして転送し、また出力モジュールを２回セレクトし転送している。さらに、同ウインドウ３５内において、これらのアイコンの端部（入出力ポートに対応する部分）間を連続してクリックすることにより結線処理を行っている（結線のためのライン３８を引く）。プルダウンメニュー３６の“Ｐｒｏｃｅｓｓ”には、“Ｌｉｎｋ”コマンドと、“Ｄｏｗｎ　Ｌｏａｄ”の２つのコマンドが配置されており、この内の“Ｌｉｎｋコマンド”をカーソル３７で指定することにより、アルゴリズムウインドウ３５内で連結結線された各モジュールの実際のリンク（結合）処理が行われ、実行形式のＤＳＰマイクロプログラムが生成される。また、“Ｄｏｗｎ　Ｌｏａｄ”コマンドを指定することにより、上記のようにして実行形式に変換されたＤＳＰマイクロプログラムが外部接続されたＤＳＰ２８に対して転送される。
　【００２２】
　図４は、上記ＤＳＰプログラミング装置の主な動作を示すフローチャートである。
　【００２３】
　マウスイベントがあることをステップＳＰ１で検出すると、ＳＰ２において、そのイベントの検出を行う。シンボルウインドウ３０または３１に対するイベントであれば、モジュールＲＯＭ２２へのモジュールデータのアクセスを行い（ＳＰ３）、指定されたモジュールのアイコンをアルゴリズムウインドウ３５に表示する（ＳＰ４）。アルゴリズムウインドウ３５上での各モジュール間の入出力ポート間を結ぶイベントであれば、それらのポート間をライン３８で結ぶ結線表示処理を行う（ＳＰ５）。また、プルダウンメニューの“Ｌｉｎｋ”コマンドを指定するイベントの時には、アルゴリズムウインドウ３５内で結線表示されたモジュールのリンク動作を行い（ＳＰ６）、さらに、ＤＳＰ内部の一時記憶ＲＡＭ（ＴＥＭＰ．ＲＡＭ）の配置処理を行う（ＳＰ７）。この内部ＴＥＭＰ．ＲＡＭの配置処理は、リンクされるモジュール間のデータの受渡しのためのプログラムステップを各モジュールプログラムの最初のアドレスまたは最後のアドレスに配置する処理である。
　【００２４】
　すなわち、たとえば、図５に示すように、モジュール１をモジュール２に結合する場合、モジュール１の最後のステップにはたとえば、ＴＥＭＰ．ＲＡＭのアドレス＃１２７へ該モジュール１の出力データを書き込むプログラムステップを配置し、モジュール２の先頭アドレスでは、上記＃１２７のアドレスのデータを読みだすプログラムステップを配置する。ここで、ＤＳＰ２８に設けられるＴＥＭＰ．ＲＡＭはマイクロプログラムＲＡＭ２８ａの記憶ステップ数と同数のワード数である１２８ワードの記憶容量を備えており、上記ＳＰ７でのデータ受渡し用プログラムステップでは、図６に示すように、モジュール間データ受渡し用にアドレス＃１２７からアドレス＃０に向けての順でエリアが使用されるようにしている。これに対して、各モジュール内での書き込みまたは読出し命令においては、アドレス＃０から＃１２７に向けての順でエリアが使用されるようにしている。このようにすることにより、仮に、ＤＳＰ内のマイクロプログラムＲＡＭ２８ａの各プログラムステップが全てＴＥＭＰ．ＲＡＭを使用するものであったとしても、各ステップで使用するＴＥＭＰ．ＲＡＭのエリアは重なることがない。すなわち、各プログラムステップでのＴＥＭＰ．ＲＡＭの使用エリアが衝突することを防ぐことができる。
　【００２５】
　以上の処理を終えると、ＤＳＰプログラミング装置内のＲＡＭ２３には、ＤＳＰ２８に対して転送すべき実行形式のＤＳＰマイクロプログラムが所定の領域に配置される。そこで、この段階で、“Ｄｏｗｎ　Ｌｏａｄ”コマンドが選択されると、上記ＤＳＰマイクロプログラムがＤＳＰ２８のマイクロプログラムＲＡＭ２８ａに転送される（ＳＰ８）。
　【００２６】
　なお、効果（ＥＦＦＥＣＴ）モジュール及び入出力モジュールについての例を図７に示しておく。これらのモジュールはそれぞれ独立して各モジュールとしての機能を備えたものであり、それぞれの入出力フォーマットは統一されたものとなっている。効果モジュールについては入出力モジュールと組み合わせて使用する。この場合、効果モジュールは複数個用いることも容易であり、また効果モジュールを直列的に結合し、または並列的に結合してもよい。
　【００２７】
　図８は、上記ＤＳＰ２８の具体的なブロック図を示している。このＤＳＰ２８には、実際の使用においてメモリコントローラ２１を介して外部記憶装置であるＤＲＡＭ１３が接続される。入力データはＰＣＭデータやディジタルオーディオ信号データであり、それらは、それぞれ入力レジスタ４１，４２に入力される。また上記ＤＲＡＭ１３からのデータはレジスタ４３に入力される。これらのレジスタに入力されたデータはセレクタ４７，４８でいずれかが選択されるとともに、乗算器４９において、係数レジスタ４６から入力された係数、またはレジスタ４５に設定された係数と乗算される。さら、この乗算結果は、加算器５０、ディレイ５１、セレクタ５４、シフト回路５２およびＴＥＭＰ．ＲＡＭ５３などと上記乗算器４９を組み合わせた積和演算回路によって積和演算され、マイクロプログラム記憶ＲＡＭ４０に記憶されたＤＳＰマイクロプログラムに従って所定のアルコリズムに従う音声信号処理が行われる。
　【００２８】
　ここで、マイクロプログラム記憶ＲＡＭ４０には、上記ＤＳＰプログラミング装置から転送されてきたＤＳＰマイクロプログラムが１２８ステップ分記憶されており、上記演算部に設けられているＴＥＭＰ．ＲＡＭ５３はアドレス＃０から＃１２７までの１２８ワード分の記憶エリアを持っている。各マイクロプログラムステップの命令においては、上記ＴＥＭＰ．ＲＡＭのエリアを使用することができる。すなわち、図５，図６に示すように、各モジュール部分において書き込み命令または読出し命令の時にこのＲＡＭ５３のエリアを使用する。この場合、図６に示すように各モジュール内部での命令の使用にはアドレス＃０から順次使用していく。そして、モジュールの結合部にあるデータ受渡し用プログラムステップでは、＃１２７からエリアを順次使用していく。このようにすることで、仮に、データ受渡し用プログラムステップを含むその他の全部のステップ（１２８ステップ）がデータの書き込みまたは読出しの命令であったとしても、ＴＥＭＰ．ＲＡＭにおいては各命令に対するアドレスが重なるということがなくなる。すなわち、アドレスの衝突を防ぐことができる。
　【００２９】
　なお、モジュールについては、その入出力のフォーマット等を規定しておけば、後に追加することも自由であり、変更も自在である。したがって、ＤＳＰプログラム装置にＤＳＰを接続したまま実際の音声を出力させて効果付与の程度を検討し、その後直ちにプログラムを変更して再び実際の音声を出力させて検討する等、Ｗｈａｔ−Ｉｆ分析が極めて容易になる。
　【００３０】
　【発明の効果】
　本発明では、ＤＳＰハードウェアについてほとんど知識がなくても、ＧＵＩ環境によるＤＳＰプログラミングが容易にできる。また、機能単位ごとにモジュールを記憶したモジュール記憶手段を備えているために、従来のようなプログラムごとの全てのコーディング作業が不要となり、アルゴリズムに応じた最適なモジュールを選択してリンクするだけで所望の実行形式ＤＳＰマイクロプログラムを得ることができる。
　【００３１】
　さらに、この発明では上記ＤＳＰマイクロプログラムが全てデータの入出力を伴うものであっても、一時記憶ＲＡＭにおいて各プログラムステップで指定するアドレスが重なることがなくなり、ＤＳＰの確実な動作を保証することができる。
【図面の簡単な説明】
　【図１】
　この発明の実施例のＤＳＰプログラミング装置の模式的な構成図を示す。
　【図２】
　この発明の実施例のＤＳＰプログラミング装置の実際のブロック図を示す。
　【図３】
　上記ＤＳＰプログラミング装置の表示画面例を示す図。
　【図４】
　上記ＤＳＰプログラミング装置の主要な動作を示すフローチャート。
　【図５】
　リンクされた実行形式のＤＳＰマイクロプログラムの一部を示す図。
　【図６】
　ＤＳＰ内のＴＥＭＰ　ＲＡＭの各エリアの割当てを説明するための図。
　【図７】
　上記ＤＳＰプログラミング装置で使用する各モジュールの例を示す図。
　【図８】
　ＤＳＰの具体的なブロック図を示す図。
　【符号の説明】
　１−モジュール記憶手段
　１ａ〜１ｄ−モジュール
　２−入力部
　３−表示画面
　４−モジュール組み合わせ部
　５−マイクロプログラム作成部
　６−転送部
　７−ＤＳＰ