(57)【要約】【課題】  波形データの各部において最適な量子化方式、その他の条件を選択しつつ波形データを圧縮する。【解決手段】  量子化＆正規化部６２は、複数の候補モードの中から圧縮率の高いものから順番に試行モードを選択し、元波形サンプルＳnを残差符号に変換する。逆量子化＆逆正規化部６６、加算器６５は、この残差符号から復元波形サンプル◇Ｘnを生成する。モード解析部６８は、Ｓnに対する◇ＸnのＳ／Ｎ比が許容値以下であるか否かを判定し、Ｓ／Ｎ比が許容値を超えると判定すると、量子化＆正規化部６２に対して次の試行モードを選択させる。そして、◇ＸnのＳ／Ｎ比が許容値以下になると、残差符号等をフレーム詰込部９０に送り、フレームを構成させる。【選択図】  図４
2008170488.tif 000002
【特許請求の範囲】
【請求項１】
元波形データを、残差符号と該残差符号の生成に適用されたモードを特定する副情報部とから成る、所定形式の複数のフレームを有する圧縮データに変換する波形圧縮装置において、
前記残差符号を得るための複数の候補モードのうち、未だ試行モードとして選択されていない候補モードの中から最も圧縮率の高い候補モードを試行モードとして選択する試行モード決定手段と、
決定された前記試行モードに従って、前記元波形データのうち該試行モードに対応する量のデータを圧縮し、該試行モードに対応する残差符号を生成する波形データ圧縮手段と、
前記残差符号を復元することにより、復元波形データを生成する波形データ復元手段と、
前記復元波形データが前記元波形データに対して有する量子化誤差の評価値を測定し、該評価値が所定の許容値以下であるか否かを判定する判定手段と、
前記判定手段における判定結果が否定的であったことを条件として、前記試行モード決定手段に対して新たな試行モードを選択させるモード調整指令を出力するモード調整指令手段と、
前記判定手段における判定結果が肯定的であったことを条件として、前記残差符号と、前記試行モードを特定する副情報とを前記フレームに格納するフレーム格納手段と
を有することを特徴とする波形圧縮装置。
【請求項２】
前記複数の候補モードのうち少なくとも一部は、ベクトル量子化方式のモードであることを特徴とする請求項１記載の波形圧縮装置。
【請求項３】
前記複数の候補モードは、スカラー量子化方式を採用する複数のモードとベクトル量子化方式を採用する複数のモードとを含み、かつ、前記スカラー量子化方式を採用する複数のモードおよび前記ベクトル量子化方式を採用する複数のモードは、各々一の残差符号を構成するビット数が異なる複数のモードから成るものである
ことを特徴とする請求項２記載の波形圧縮装置。
【請求項４】
元波形データを、残差符号と該残差符号の生成に適用されたモードを特定する副情報部とから成る、所定形式の複数のフレームを有する圧縮データに変換する波形圧縮装置において、
ベクトル量子化方式による複数の候補モードの中から、前記残差符号の生成に適用する一のモードを選択するモード決定手段と、
選択された前記一のモードに従って、前記元波形データのうち該一のモードに対応する量のデータを圧縮し、該一のモードに対応する残差符号を生成する波形データ圧縮手段と、
前記残差符号と、前記一のモードを特定する副情報とを前記フレームに格納するフレーム格納手段と
を有することを特徴とする波形圧縮装置。
【請求項５】
前記一のモードに対応する複数のコードブックの中から一のコードブックを選択するコードブック決定手段をさらに具備し、
前記波形データ圧縮手段は、選択された前記一のモードと前記一のコードブックとに従って、前記元波形データのうち該一のモードに対応する量のデータを圧縮し、該一のモードに対応する残差符号を生成するものであり、
前記副情報は、前記一のコードブックを特定する情報をさらに含むものである
ことを特徴とする請求項４記載の波形圧縮装置。
【請求項６】
残差符号と該残差符号の生成に適用されたモードを特定する副情報部とから成る、所定形式の複数のフレームを有する圧縮データを復元して復元波形データを得る波形伸長装置において、
前記副情報部において前記モードとしてベクトル量子化方式が採用されているか否かを判定するモード判定手段と、
前記モード判定手段における判定結果が肯定的であったことを条件として、一の前記残差符号から複数の波形サンプルを復元する一方、前記モード判定手段における判定結果が否定的であったことを条件として、一の前記残差符号から一の波形サンプルを復元する逆量子化手段と
を有することを特徴とする波形伸長装置。
【請求項７】
残差符号と該残差符号の生成に適用されたモードを特定する副情報部とから成る、所定形式の複数のフレームを有する圧縮データを復元して復元波形データを得る波形伸長装置において、
前記モードはベクトル量子化方式のモードであり、
前記各フレーム毎に前記副情報部を読み出し、前記モードを特定するモード特定手段と、
特定された前記モードに基づいて、前記各フレームに含まれる各残差符号から、各々複数の波形サンプルを復元する逆量子化手段と
を有することを特徴とする波形伸長装置。
【請求項８】
元波形データを、残差符号と該残差符号の生成に適用されたモードを特定する副情報部とから成る、所定形式の複数のフレームを有する圧縮データに変換するプログラムにおいて、
前記残差符号を得るための複数の候補モードのうち、未だ試行モードとして選択されていない一の候補モードを試行モードとして選択する試行モード決定過程と、
決定された前記試行モードに従って、前記元波形データのうち該試行モードに対応する量のデータを圧縮し、該試行モードに対応する残差符号を生成する波形データ圧縮過程と、
前記残差符号を復元することにより、復元波形データを生成する波形データ復元過程と、
前記復元波形データが前記元波形データに対して有する量子化誤差の評価値を測定し、該評価値が所定の許容値以下であるか否かを判定する判定過程と、
該判定過程における判定結果が否定的であったことを条件として、前記試行モード決定過程に対して新たな試行モードを選択させるモード調整指令を出力するモード調整指令過程と、
該判定過程における判定結果が肯定的であったことを条件として、前記残差符号と、前記試行モードを特定する副情報とを前記フレームに格納するフレーム格納過程と
を処理装置に実行させることを特徴とするプログラム。
【請求項９】
元波形データに基づいて、残差符号と該残差符号の生成に適用されたモードを特定する副情報部とから成る、所定形式の複数のフレームを有する圧縮データを生産する圧縮データの生産方法において、
前記残差符号を得るための複数の候補モードのうち、未だ試行モードとして選択されていない一の候補モードを試行モードとして選択する試行モード決定過程と、
決定された前記試行モードに従って、前記元波形データのうち該試行モードに対応する量のデータを圧縮し、該試行モードに対応する残差符号を生成する波形データ圧縮過程と、
前記残差符号を復元することにより、復元波形データを生成する波形データ復元過程と、
前記復元波形データが前記元波形データに対して有する量子化誤差の評価値を測定し、該評価値が所定の許容値以下であるか否かを判定する判定過程と、
該判定過程における判定結果が否定的であったことを条件として、前記試行モード決定過程に対して新たな試行モードを選択させるモード調整指令を出力するモード調整指令過程と、
該判定過程における判定結果が肯定的であったことを条件として、前記残差符号と、前記試行モードを特定する副情報とを前記フレームに格納するフレーム格納過程と
を有することを特徴とする圧縮データの生産方法。
【請求項１０】
元波形データを、残差符号と該残差符号の生成に適用されたモードを特定する副情報部とから成る、所定形式の複数のフレームを有する圧縮データに変換するプログラムにおいて、
ベクトル量子化方式による複数の候補モードの中から、前記残差符号の生成に適用する一のモードを選択するモード決定過程と、
選択された前記一のモードに従って、前記元波形データのうち該一のモードに対応する量のデータを圧縮し、該一のモードに対応する残差符号を生成する波形データ圧縮過程と、
前記残差符号と、前記一のモードを特定する副情報とを前記フレームに格納するフレーム格納過程と
を処理装置に実行させることを特徴とするプログラム。
【請求項１１】
元波形データに基づいて、残差符号と該残差符号の生成に適用されたモードを特定する副情報部とから成る、所定形式の複数のフレームを有する圧縮データを生産する圧縮データの生産方法において、
ベクトル量子化方式による複数の候補モードの中から、前記残差符号の生成に適用する一のモードを選択するモード決定過程と、
選択された前記一のモードに従って、前記元波形データのうち該一のモードに対応する量のデータを圧縮し、該一のモードに対応する残差符号を生成する波形データ圧縮過程と、
前記残差符号と、前記一のモードを特定する副情報とを前記フレームに格納するフレーム格納過程と
を有することを特徴とする圧縮データの生産方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、波形データを圧縮する波形圧縮装置、波形伸長装置、プログラムおよび圧縮データの生産方法に関するものである。
【背景技術】
【０００２】
電子楽器等に用いられる波形メモリに波形データを記録する際、波形データを圧縮することにより波形メモリの容量を削減する技術が知られている。波形データを圧縮する方式としては、スカラー量子化方式と、ベクトル量子化方式とが知られている。スカラー量子化方式は、波形データの瞬時値の「１」サンプルを圧縮データの「１符号」に対応させるものであり、ベクトル量子化方式は、波形データの瞬時値の複数サンプルを圧縮データの「１符号」に対応させるものである。
【０００３】
従来の波形メモリ音源においては、採用される量子化方式はスカラー量子化方式であって、ベクトル量子化方式を採用したものは無かった。これは、楽器音の波形データは、波形の特徴が刻々と変化するため、波形データ全体に渡って共通する特徴（瞬時値相互間の相関性）を見い出すことが困難であり、ベクトル量子化方式を採用しても圧縮率を向上できる利点を得にくいためであった。例えば、特許文献１においては、波形圧縮装置により波形データをフレーム単位で線形予測圧縮して、スカラー量子化方式の圧縮波形データを得て、この圧縮波形データを波形メモリに記憶してなる波形メモリ音源が開示されている。
【０００４】
【特許文献１】特開２００４−２９４４９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、波形メモリ音源に用いられる波形データを圧縮することは、圧縮率を高めることによって得られる経済効果は非常に大きい。すなわち、波形メモリ音源において波形データを記録するＲＯＭは、同じ物が大量に生産されるため、各波形データのデータ量を僅かでも削減させることができれば、全体としては大きな経済的効果が得られる。
その一方、音源用の波形データを圧縮するにあたっては、リアルタイム性が求められないという特徴がある。すなわち、音源用の波形データを圧縮する際には、元波形データの時間長を超える時間を費やして圧縮処理を行ったとしても、特に支障は生じない。
かかる事情に鑑みれば、音源用の波形データを圧縮する場合には、たとえ時間を費やしたとしても、最もデータ量を削減できるモードを探索できるようにすることが望ましい。
【０００６】
また、音源用の波形データとして記録される楽器音を観察すると、波形が乱れるアタック部においては、サンプル値相互間の相関性が低くなる一方、波形が安定する定常部においては、サンプル値相互間の相関性が高くなる傾向がある。しかも、これらの傾向は楽器の種類によっても大きく異なる。従って、楽器音をフレーム単位で圧縮して記録するにあたっては、ある量子化方式またはモードを固定的に適用するのではなく、最適な量子化方式をフレーム毎に採用することが望ましいと考えられる。また、ベクトル量子化方式を採用する場合には、コードブック等もフレーム毎に最適なものを適用することがより望ましいと考えられる。
この発明は上述した事情に鑑みてなされたものであり、波形データの各部において最適な量子化方式、その他の条件を選択しつつ波形データを圧縮できる波形圧縮装置、波形伸長装置、プログラムおよび圧縮データの生産方法を提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項１記載の波形圧縮装置にあっては、元波形データ（Ｓn）を、残差符号（Ｌm）と該残差符号（Ｌm）の生成に適用されたモードを特定する副情報部とから成る、所定形式の複数のフレームを有する圧縮データに変換する波形圧縮装置において、前記残差符号（Ｌm）を得るための複数の候補モードのうち、 未だ試行モードとして選択されていない候補モードの中から最も圧縮率の高い候補モードを試行モードとして選択する 試行モード決定手段（８１）と、決定された前記試行モードに従って、前記元波形データのうち該試行モードに 対応する量のデータを圧縮し、該試行モードに対応する 残差符号（Ｌm）を生成する 波形データ圧縮手段（８４）と、前記残差符号（Ｌm）を復元することにより、 復元波形データ（◇Ｘn）を生成する 波形データ復元手段（６６）と、前記復元波形データ（◇Ｘn）が前記元波形データ（Ｓn）に対して 有する量子化誤差の評価値（Ｓ／Ｎ比）を測定し、該評価値が所定の許容値以下であるか否か を判定する判定手段（６８，ＳＰ８）と、前記判定手段（６８，ＳＰ８）における判定結果が否定的であったことを条件として、 前記試行モード決定手段（８１）に対して新たな試行モードを選択させる モード調整指令を出力する モード調整指令手段（６８，ＳＰ１６）と、前記判定手段（６８，ＳＰ８）における判定結果が肯定的であったことを条件として、 前記残差符号と、前記試行モードを特定する副情報とを 前記フレームに格納する フレーム格納手段（９０）とを有することを特徴とする。
さらに、請求項２記載の構成にあっては、請求項１記載の波形圧縮装置において、前記複数の候補モードのうち少なくとも一部は、ベクトル量子化方式のモードである ことを特徴とする。
さらに、請求項３記載の構成にあっては、請求項２記載の波形圧縮装置において、前記複数の候補モードは、  スカラー量子化方式を採用する複数のモードと  ベクトル量子化方式を採用する複数のモードと を含み、かつ、  前記スカラー量子化方式を採用する複数のモードおよび  前記ベクトル量子化方式を採用する複数のモードは、 各々一の残差符号（Ｌm）を構成するビット数が異なる 複数のモードから成るものであることを特徴とする。
また、請求項４記載の波形圧縮装置にあっては、元波形データ（Ｓn）を、残差符号（Ｌm）と該残差符号（Ｌm）の生成に適用されたモードを特定する副情報部とから成る、所定形式の複数のフレームを有する圧縮データに変換する波形圧縮装置において、ベクトル量子化方式による複数の候補モードの中から、前記残差符号（Ｌm）の生成に適用する一のモードを選択するモード決定手段（８１）と、選択された前記一のモードに従って、 前記元波形データのうち該一のモードに 対応する量のデータを圧縮し、該一のモードに対応する 残差符号（Ｌm）を生成する 波形データ圧縮手段（８４）と、前記残差符号と、前記一のモードを特定する副情報とを 前記フレームに格納する フレーム格納手段（９０）とを有することを特徴とする。
さらに、請求項５記載の構成にあっては、請求項４記載の波形圧縮装置において、前記一のモードに対応する複数のコードブックの中から一のコードブックを 選択するコードブック決定手段（８２）をさらに具備し、前記波形データ圧縮手段（８４）は、 選択された前記一のモードと前記一のコードブックとに従って、 前記元波形データのうち該一のモードに 対応する量のデータを圧縮し、該一のモードに対応する 残差符号（Ｌm）を生成するものであり、前記副情報は、前記一のコードブックを特定する情報をさらに含むものであることを特徴とする。
また、請求項６記載の波形伸長装置にあっては、残差符号（Ｌm）と該残差符号（Ｌm）の生成に適用された モードを特定する副情報部とから成る、 所定形式の複数のフレームを有する圧縮データを復元して 復元波形データ（◇Ｘn）を得る 波形伸長装置において、前記副情報部において前記モードとしてベクトル量子化方式が 採用されているか否かを判定するモード判定手段（７７）と、前記モード判定手段（７７）における判定結果が肯定的であったことを条件として、 一の前記残差符号（Ｌm）から複数の波形サンプルを復元する一方、 前記モード判定手段（７７）における判定結果が否定的であったことを 条件として、 一の前記残差符号（Ｌm）から一の波形サンプルを復元する 逆量子化手段（７５）とを有することを特徴とする。
また、請求項７記載の波形伸長装置にあっては、残差符号（Ｌm）と該残差符号（Ｌm）の生成に適用された モードを特定する副情報部とから成る、 所定形式の複数のフレームを有する圧縮データを復元して 復元波形データ（◇Ｘn）を得る 波形伸長装置において、前記モードはベクトル量子化方式のモードであり、前記各フレーム毎に前記副情報部を読み出し、 前記モードを特定するモード特定手段（３５）と、特定された前記モードに基づいて、前記各フレームに含まれる各残差符号（Ｌm）から、各々複数の波形サンプルを復元する逆量子化手段（７５）とを有することを特徴とする。
また、請求項８記載のプログラムにあっては、元波形データ（Ｓn）を、残差符号（Ｌm）と該残差符号（Ｌm）の生成に適用されたモードを特定する副情報部とから成る、所定形式の複数のフレームを有する圧縮データに変換するプログラムにおいて、前記残差符号（Ｌm）を得るための複数の候補モードのうち、 未だ試行モードとして選択されていない一の候補モードを試行モードとして選択する 試行モード決定過程（８１）と、決定された前記試行モードに従って、前記元波形データのうち該試行モードに 対応する量のデータを圧縮し、該試行モードに対応する 残差符号（Ｌm）を生成する 波形データ圧縮過程（８４）と、前記残差符号（Ｌm）を復元することにより、 復元波形データ（◇Ｘn）を生成する 波形データ復元過程（６６）と、前記復元波形データ（◇Ｘn）が前記元波形データ（Ｓn）に対して 有する量子化誤差の評価値（Ｓ／Ｎ比）を測定し、該評価値が所定の許容値以下であるか否か を判定する判定過程（６８，ＳＰ８）と、該判定過程（６８，ＳＰ８）における判定結果が否定的であったことを条件として、 前記試行モード決定過程（８１）に対して新たな試行モードを選択させる モード調整指令を出力する モード調整指令過程（６８，ＳＰ１６）と、該判定過程（６８，ＳＰ８）における判定結果が肯定的であったことを条件として、 前記残差符号と、前記試行モードを特定する副情報とを 前記フレームに格納する フレーム格納過程（９０）とを処理装置（１０）に実行させることを特徴とする。
また、請求項９記載の圧縮データの生産方法にあっては、元波形データ（Ｓn）に基づいて、残差符号（Ｌm）と該残差符号（Ｌm）の生成に適用されたモードを特定する副情報部とから成る、所定形式の複数のフレームを有する圧縮データを生産する圧縮データの生産方法において、前記残差符号（Ｌm）を得るための複数の候補モードのうち、 未だ試行モードとして選択されていない一の候補モードを試行モードとして選択する 試行モード決定過程（８１）と、決定された前記試行モードに従って、前記元波形データのうち該試行モードに 対応する量のデータを圧縮し、該試行モードに対応する 残差符号（Ｌm）を生成する 波形データ圧縮過程（８４）と、前記残差符号（Ｌm）を復元することにより、 復元波形データ（◇Ｘn）を生成する 波形データ復元過程（６６）と、前記復元波形データ（◇Ｘn）が前記元波形データ（Ｓn）に対して 有する量子化誤差の評価値（Ｓ／Ｎ比）を測定し、該評価値が所定の許容値以下であるか否か を判定する判定過程（６８，ＳＰ８）と、該判定過程（６８，ＳＰ８）における判定結果が否定的であったことを条件として、 前記試行モード決定過程（８１）に対して新たな試行モードを選択させる モード調整指令を出力する モード調整指令過程（６８，ＳＰ１６）と、該判定過程（６８，ＳＰ８）における判定結果が肯定的であったことを条件として、 前記残差符号と、前記試行モードを特定する副情報とを 前記フレームに格納する フレーム格納過程（９０）とを有することを特徴とする。
また、請求項１０記載のプログラムにあっては、元波形データ（Ｓn）を、残差符号（Ｌm）と該残差符号（Ｌm）の生成に適用されたモードを特定する副情報部とから成る、所定形式の複数のフレームを有する圧縮データに変換するプログラムにおいて、ベクトル量子化方式による複数の候補モードの中から、前記残差符号（Ｌm）の生成に適用する一のモードを選択するモード決定過程（８１）と、選択された前記一のモードに従って、 前記元波形データのうち該一のモードに 対応する量のデータを圧縮し、該一のモードに対応する 残差符号（Ｌm）を生成する 波形データ圧縮過程（８４）と、前記残差符号と、前記一のモードを特定する副情報とを 前記フレームに格納する フレーム格納過程（９０）とを処理装置（１０）に実行させることを特徴とする。
また、請求項１１記載の圧縮データの生産方法にあっては、元波形データ（Ｓn）に基づいて、残差符号（Ｌm）と該残差符号（Ｌm）の生成に適用されたモードを特定する副情報部とから成る、所定形式の複数のフレームを有する圧縮データを生産する圧縮データの生産方法において、ベクトル量子化方式による複数の候補モードの中から、前記残差符号（Ｌm）の生成に適用する一のモードを選択するモード決定過程（８１）と、選択された前記一のモードに従って、 前記元波形データのうち該一のモードに 対応する量のデータを圧縮し、該一のモードに対応する 残差符号（Ｌm）を生成する 波形データ圧縮過程（８４）と、前記残差符号と、前記一のモードを特定する副情報とを 前記フレームに格納する フレーム格納過程（９０）とを有することを特徴とする。
【発明の効果】
【０００８】
以上のように、複数の候補モードの中から圧縮率の高い順に試行モードを選択し、選択された試行モードにおいて残差符号と復元波形データとを生成し、量子化誤差の評価値が許容値以下になったときにフレームを作成する構成によれば、各フレームにおいて最適な量子化方式を選択しつつ波形データを圧縮することができる。
また、候補モードとして、スカラー量子化方式とベクトル量子化方式とを有する構成によれば、波形データの各部においてスカラー量子化方式またはベクトル量子化方式のうち最適な方式を選択することができる。
また、ベクトル量子化方式による複数の候補モードの中から、一のモードをフレーム毎に選択する構成によれば、各フレームの特徴に適したモードをフレーム毎に選択できるから、ベクトル量子化方式の利点を活かして高い圧縮率を実現することができる。
【発明を実施するための最良の形態】
【０００９】
1．楽音生成装置
1．1．全体構成
次に、本発明の一実施例の楽音生成装置のブロック図を図１に示す。図１に示す楽音生成装置１おいて、ＣＰＵ１０は楽音生成に関連する各種プログラムを実行することにより楽音生成装置１における楽音生成の動作を制御する中央処理装置（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）である。すなわち、演奏操作子の操作、自動演奏、通信Ｉ／Ｏからの入力などにより発音開始指示（ノートオン）が発生したときには、音源部３０に対してその発音開始指示に応じた楽音の生成開始を指示している。ＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）１１は、例えばフラッシュＲＯＭとされており、ＣＰＵ１０が実行する楽音生成処理のプログラムや、各種データが格納されている。ＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）１２は楽音生成装置１におけるメインメモリであり、本発明にかかる波形圧縮装置により圧縮データ（圧縮された波形データ）がフレームを単位として記憶されている波形記憶領域１２ａを備えていると共に、ＣＰＵ１０のワークエリア等の領域が設定されている書き換え可能な記憶手段である。なお、波形記憶領域１２ａには複数音色の圧縮データを記憶することができる。
【００１０】
また、操作子１３は、鍵盤等の演奏操作子や各種設定を行うパネルスイッチであり、表示器１４は楽音生成時に各種情報を表示させる液晶等からなる表示器である。通信Ｉ／Ｏ１５は、ＬＡＮ（Ｌｏｃａｌ Ａｒｅａ Ｎｅｔｗｏｒｋ ）やインターネット、電話回線等の通信ネットワークを介してサーバコンピュータに接続するためのネットワークインタフェースである。この通信Ｉ／Ｏ１５を介して、楽音生成装置１内部で作成したＭＩＤＩメッセージを外部へ送出したり、外部からのＭＩＤＩメッセージを受信することができる。制御レジスタ２０は、ＣＰＵ１０から各発音チャンネルの発音パラメータが書き込まれるレジスタである。音源部３０は、フレームを単位として圧縮データの伸長処理を行うデコーダを備えており、ＣＰＵ１０の制御に基づいて、ＲＡＭ１２の波形記憶領域１２ａから楽音生成に必要とする圧縮データを後述する小フレーム毎に読み出し、読み出した圧縮データの伸長処理を行っている。そして、デコードされた波形データの補間、エンベロープ付与、チャンネル累算（ミキシング）、および効果（エフェクト）付与などの処理を行って、楽音波形データとして出力している。音源部３０から出力された楽音波形データはアナログ信号に変換されてサウンドシステム４０から放音されるようになる。なお、各部はバスライン１６を介して接続されている。
【００１１】
1．2．データ構造
次に、音源部３０について説明する前にＲＡＭ１２の波形記憶領域１２ａに記憶されている圧縮データのデータ構造を図２を参照して説明する。波形記憶領域１２ａに記憶されている圧縮データの「１」音色分の圧縮データが図２に示されている。図２に示す圧縮データは、圧縮データの全体に関する情報が書き込まれているヘッダ情報と、残差符号等が収容されているフレーム１ないしフレームｎから構成されている。ヘッダ情報は、残差符号のサンプルのビット数、読出開始アドレス、読出終了アドレス、ループアドレス、最初のフレームの予測係数、スケールファクタおよびモード、その他データからなる。次に、残差符号のサンプル等が書き込まれている各フレームのデータ構造について説明する。まず、図２には例として「フレーム２」のデータ構造が示されている。図示するように、「１」フレームは、アドレスが「００」から「０９」の「１０」アドレスに対応する「１０」の小フレームから構成されている。この小フレームは副情報部と残差符号部とからなる。
【００１２】
一の小フレームのデータ幅は図２に示すように「１６」ビットである。このうち、副情報部のビット数は「４」ビットであり、残差符号部のビット数は「１２」ビットである。残差符号部は一または複数の残差符号から成るが、一の残差符号のビット数は、圧縮する前の元波形データの性質に適するよう、フレーム毎に定められた固定のビット数に設定されている。但し、残差符号のビット数は、フレーム毎に異なる。まず、図示した「フレーム２」の例にあっては、図示のように一の残差符号のビット数は「３」ビットであり、一の小フレームあたりの残差符号数は「４」である。また、一の残差符号のビット数を「４」ビットに固定すると、図２における残差符号部の下段に示されるように「１」小フレーム内のサンプル数は「３」となる。同様に、一の残差符号のビット数を「２」ビットとすると、図２における残差符号部のさらに下段に示されるように一の小フレームの残差符号数は「６」になる。一のフレーム全体においては、小フレームのデータ幅が「１６」ビットであるから、一のフレームを構成するビット数は「１６０」ビットになり、その内の「４０」ビットのデータ領域が副情報部の領域となり、残る「１２０」ビットのデータ領域が残差符号部の領域となる。
【００１３】
ところで、一のフレームに含まれる副情報部は、当該一のフレームの次のフレームの残差符号を復号するためのパラメータから成るものである。例えば、「フレーム２」の副情報部は、「フレーム３」の残差符号を復号するためのパラメータから成るものである。これは、波形データが再生されるときは、小フレームを単位として圧縮データが読み出されることに起因するものである。すなわち、「フレーム２」の再生が終了して、「フレーム３」の先頭の小フレームが読み出されたとき、この小フレーム内の残差符号を復号するためのパラメータは既に判明しているから、残差符号を直ちに復号することが可能になる。
【００１４】
次に、副情報部の詳細を説明する。
(１)予測係数部：本実施例では、あるサンプル（注目サンプルという）の値を特定するために、過去の複数のサンプル値（例えば「４」サンプル）から近似多項式によって注目サンプルの予測値を求め、この予測値に対する実測値の残差を残差符号として記録する。予測係数とは、この近似多項式に用いられる係数である。
(２)モード部：これは、残差符号部における各残差符号に採用されている量子化方式（スカラーまたはベクトル）と、各残差符号のビット数とを特定する情報である。例えば、「スカラー量子化：２ビット」、「スカラー量子化：３ビット」、「ベクトル量子化（２次元）：４ビット」、「スカラー量子化：４ビット」、「ベクトル量子化（２次元）：６ビット」「ベクトル量子化（３次元）：６ビット」「スカラー量子化：６ビット」などのモードがある。
【００１５】
(３)スケールファクタ部：これは、残差符号部における残差符号の最大スケールを特定する情報である。例えば、モードが「スカラー量子化：２ビット」であれば、残差符号の値は「１１ｂ」、「１０ｂ」、「０１ｂ」、「００ｂ」（ｂは２進数であることを示す）のうち何れかになり、このうち「１１ｂ」が最大値である。スケールファクタは、この最大値「１１ｂ」に対応する実際の残差値を示すものになる。この場合、スケールファクタを絶対値ではなく、フレーム間の比や対数スケールにおける差で記憶するとビット数に対する情報量の効率を向上することができる。スケールファクタをフレーム間の比や対数スケールにおける差とした場合においては、逆量子化時に絶対値に変換されて残差符号に乗算されるようになる。
(４)その他情報部：その他情報部には、コードブックの番号等が記録される。コードブックとは、周知のように、ベクトル量子化方式において一の残差符号と、複数サンプルの残差とを対応付けるものであり、コードブックの番号は、量子化方式のモード毎に独立して付与される。例えば、その他情報部の全ビット（４ビット）を全てコードブックの番号の指定に割り当てると、最大「１６」種類のコードブックを指定できることになるが、これにより各量子化方式毎に最大「１６」種類のコードブックを指定できることになる。
【００１６】
コードブックは、一般的にはベクトル量子化方式に対して用いられるが、本実施例においてはスカラー量子化方式に対してもコードブックが適用される。スカラー量子化方式におけるコードブックとは、一の残差符号から一の残差の値を決定するためのテーブルや関数であって、残差符号と残差との対応関係を表すテーブル、または、残差符号と残差との対応関係を表す関数に適用される係数のテーブルである。上述した「スカラー量子化：２ビット」の量子化方式においては、残差符号が最大値「１１ｂ」であるときの残差はスケールファクタに等しい。そして、残差符号と残差との対応関係がリニアなものであれば、残差符号「１０ｂ」はスケールファクタの「２／３」、残差符号「０１ｂ」はスケールファクタの「１／３」になる。しかし、このリニアな対応関係が必ずしも望ましいわけではなく、例えばログスケールなど、非リニアな対応関係が望ましい場合もあるため、コードブックを指定することにより、最適な対応関係を選択できるようにしている。なお、その他情報部は、コードブックの番号のほか、音量情報や波形データのループアドレス等の情報として用いても良い。
【００１７】
1．3．音源部３０の詳細構成
図１に戻り、音源部３０の詳細構成について説明する。まず、アドレス発生部３２は、周波数情報（Ｆナンバ）を累算するサンプルカウンタと、ＲＡＭ１２における波形記憶領域１２ａから圧縮データデータを小フレーム毎に読み出す読出アドレスを生成するメモリカウンタとを備えている。サンプルカウンタは、指定された音高に対応する圧縮データのピッチシフト量であるＦナンバを累算して整数部と小数部からなるサンプルアドレスを生成し、その内の整数部を残差符号キャッシュ部３３に、残る小数部を補間部３６にそれぞれ供給する。また、該サンプルカウンタは、サンプルアドレスの整数部が、小フレームのサンプル数に達するごとに「要求パルス」なる信号を出力する。なお、「小フレームのサンプル数」とは、小フレームあたりの残差符号数と、一残差符号に対するサンプル数とを乗算したものである。例えば、モードが「スカラー量子化：３ビット」であれば「４×１＝４」、モードが「ベクトル量子化（３次元）：６ビット」であれば、「２×３＝６」になる。アドレス発生部３２のメモリカウンタでは、サンプルカウンタから上記要求パルスが入力されるごとに、メモリアドレスを「１」ずつカウントアップすることにより、小フレームを読み出す小フレームアドレスＦＡＤを生成している。
【００１８】
フレーム読出部３１には、アドレス発生部３２から、上記要求パルスと小フレームアドレスＦＡＤとが供給される。そして、フレーム読出部３１は、要求パルスが入力されるごとに、小フレームアドレスＦＡＤによって示される小フレームのデータを読み出す。読み出された小フレームのデータにおける副情報部は副情報デコード部３４に供給され、読み出された小フレームの残差符号部は残差符号キャッシュ部３３に供給される。副情報デコード部３４には、「１」フレームの期間において、フレーム読出部３１から供給される各小フレームの副情報が順次収集され、副情報の各データがデコードされる。そして、そのフレームの次のフレームの期間に、デコードされた予測係数部およびスケールファクタがデコーダ３５に供給されると共に、モード部およびその他情報部のデータが音源部３０の各ブロックに供給される。
【００１９】
残差符号キャッシュ部３３にあっては、読み出された小フレームのうちの最新の「３」つの小フレームがキャッシュに保持される。そして、アドレス発生部３２からのサンプルアドレスの整数部に応じて、その整数部の進行量に相当する数の残差符号のサンプルがキャッシュされた「３」つの小フレームから取り出され、取り出された残差符号のサンプルがデコーダ３５に送られる。デコーダ（キャッシュ）３５では、残差符号キャッシュ部３３から残差符号のサンプルが送られてくる毎に、「４次」の線形予測伸長により残差符号のサンプルがデコードされて復元波形サンプルを得ている。この復元波形サンプルは、デコーダ３５内の波形データキャッシュに、例えば「４」サンプル保存される。
【００２０】
デコーダ３５から出力される伸長された復元波形データは、補間部３６に供給される。この場合、デコーダ３５における波形データキャッシュ部７４にキャッシュされている「４」サンプルの復元波形サンプルＤ１〜Ｄ４が補間部３６に供給される。そして、補間部３６ではアドレス発生部３２からのサンプルアドレスの小数部に基づいて、供給された４つの復元波形サンプルＤ１〜Ｄ４を、例えば４点補間して、補間サンプルを生成する。ところで、制御レジスタ２０には、補間サンプルに対して付与されるべきエンベロープを規定する音量ＥＧパラメータがノートオン時に記憶されている（詳細は後述する）。補間部３６から出力される補間サンプルは、音量ＥＧ部３７において、音量ＥＧパラメータに基づいて音量制御され、その結果がミキサ３８に供給される。ミキサ３８では全ての発音チャンネルにおける波形サンプルがチャンネル累算されると共に、必要に応じて効果が付与され、その結果が再生タイミング毎に出力される。ミキサ３８からの出力は、ディジタル−アナログ変換器（ＤＡＣ）３９に供給されてアナログ信号に変換され、サウンドシステム４０から放音されるようになる。
【００２１】
1．4．デコーダ３５（波形伸長装置）の詳細構成
次に、音源部３０におけるデコーダ３５の詳細構成を図３(a)を参照し説明する。デコーダ３５には、残差符号キャッシュ部３３から残差符号Ｌmが供給されるとともに、副情報デコード部３４から各副情報、すなわち予測係数、スケールファクタＳＦ、モード、コードブック番号、およびその他の情報が供給される。デコーダ３５内において逆量子化＆逆正規化部７１には、モードと、スケールファクタＳＦと、残差符号と、コードブック番号とが供給され、これらに基づいて各サンプル（注目サンプル）における残差サンプルｑnが出力される。なお、逆量子化＆逆正規化部７１の詳細については後述する。ところで、一の残差符号Ｌmに基づいて生成される残差サンプルｑnの数は、スカラー量子化方式が採用されている場合は「１」であり、ベクトル量子化方式が採用されている場合は複数（通常は「２」または「３」）になる。
【００２２】
残差サンプルｑnは加算器７２に供給される。さらに、加算器７２には、線形予測演算部７３から、注目サンプルの予測値である線形予測サンプル◇Ｓn-1が供給される。加算器７２においては、両者が加算されることにより、注目サンプルに係る復元波形サンプル◇Ｘnが出力される。復元波形サンプル◇Ｘnは波形データキャッシュ部７４にキャッシュされると共に、伸長された波形データとして出力される。
【００２３】
波形データキャッシュ部７４には、現在から過去に向かって「４」サンプルの復元波形サンプル◇Ｘn〜◇Ｘn-3（Ｄ１〜Ｄ４）がキャッシュされており、このキャッシュされた「４」サンプルの復元波形サンプルＤ１〜Ｄ４が線形予測演算部７３に供給される。線形予測演算部７３では、これら復元波形サンプルＤ１〜Ｄ４にそれぞれの次数の線形予測係数Ｐを乗算して加算することにより４次の線形予測を行い、次の復元波形サンプル◇Ｘn+1を得るための線形予測サンプル◇Ｓnを生成している。
【００２４】
次に、逆量子化＆逆正規化部７１の詳細構成を図３(b)を参照し説明する。モード判定部７７においては、供給されたモードに基づいて、現在のフレームにおける量子化方式（スカラーまたはベクトル）と、各残差符号のビット数とが特定される。次に、コードブック決定部７８においては、量子化方式と、残差符号のビット数と、その他情報部に含まれるコードブック番号とに基づいて、採用されるコードブックが決定され、該コードブックは逆量子化部７５に供給される。逆量子化部７５においては、該コードブックに基づいて、一の残差符号Ｌmから一または複数の残差が生成される。次に、逆正規化部７６においては、これらの残差にスケールファクタＳＦが乗算され、これによって逆正規化された残差サンプルｑnが出力される。
【００２５】
このように、本実施例にかかる楽音生成装置１では、モード判定部７７において、各フレームにスカラー量子化方式またはベクトル量子化方式の何れが適用されているかをフレーム毎に判定するから、スカラー量子化方式が適用されているフレームと、ベクトル量子化方式が適用されているフレームとが混在している圧縮データを適切に復元することが可能である。
また、従来技術によって音源用の波形データとして作成された圧縮データは、スカラー量子化方式のみを採用しているが、かかる圧縮データも本実施例の楽音生成装置１によって再生することが可能になる。すなわち、本実施例の楽音生成装置１は、過去の楽音生成装置に対して上位コンパチブルになるように構成されているから、過去に作成された（スカラー量子化方式のみを採用した）圧縮データの資産を有効に活用することが可能になる。
さらに、圧縮データの各フレームには、各フレームの再生に必要な残差符号が記憶されると同時に次のフレームの残差符号を伸長するための副情報が格納されるから、音源部３０において、副情報をタイミングよく取り出すための専用の回路が不要になり、回路構成を簡単にすることができる。
【００２６】
1．5．楽音生成装置の動作
次に、楽音生成装置１の動作について説明する。
演奏操作子の操作、自動演奏、通信Ｉ／Ｏ１５からの入力などにより発音開始指示（ノートオン）が発生すると、ＣＰＵ１０が音源部３０に対してその発音開始指示に応じた楽音の生成開始を指示する。ここで、ノートオンには、パート（音色）ＰＴ、音高Ｎ、強度Ｖなどの指定が含まれる。この場合の手順は次のようになる。
（１）まず、音源部３０の複数発音チャンネルのうちの１つを当該楽音の発生に割当てる。
（２）パートＰＴで現在選択されている音色データ（ＲＡＭ１２上）に基づいて、波形記憶領域１２ａに記憶されている波形データの１つを選択し、ピッチシフト量、音量ＥＧパラメータ、ＬＦＯパラメータ、出力レベル等を制御レジスタ２０の割り当てた発音チャンネル領域に設定する。
（３）選択された波形データのヘッダを読み出し、残差符号のビット数、読出開始アドレス、読出終了アドレス、ループアドレス、最初のフレームの予測係数、スケールファクタ、モード、その他データを、上記発音チャンネル領域に設定する。この場合の各アドレスは、フレームを単位としたアドレスでも良い。
（４）上記発音チャンネル領域にノートオンの指令を書き込む。
これにより、音源部３０において楽音の生成（波形の伸長）が開始されるようになる。
【００２７】
2．波形圧縮装置
2．1．波形圧縮装置の構成
次に、線形予測を利用して、圧縮した波形データ（図２）を生成する波形圧縮装置の実施例について説明する。この波形圧縮装置のハードウエア構成は、楽音生成装置１（図１）と同様である。波形圧縮処理は、ＣＰＵ１０上で動作するプログラムによって実行される。このプログラムのアルゴリズム構成を図４(a)，(b)に示す。但し、このアルゴリズム構成の全部または一部をハードウエアによって実現してもよいことは言うまでもない。本実施例においては、ＲＡＭ１２内の波形記憶領域１２ａには、圧縮されていない元波形データが記憶されており、これが圧縮された結果である圧縮データも波形記憶領域１２ａに記憶される。
【００２８】
本実施例において、圧縮処理に適用される可能性のある複数のモードを「候補モード」といい、候補モードの中から圧縮処理の試行ために選択された一のモードを「試行モード」という。各候補モードには、試行モードとして適用される優先順が定められており、この優先順に候補モードを配列したリストを「モードリスト」という。ここで、モードリストにおける優先順は、次のように定められる。まず、圧縮率の高い候補モードは、圧縮率の低い候補モードよりも優先順が高くなるように設定される。また、圧縮率が等しい複数の候補モードについては、スカラー量子化方式よりもベクトル量子化方式のほうが優先順が高くなるように設定される。さらに、ベクトル量子化方式相互間においては、次元数の高いモードの優先順が高くなるように設定される。
【００２９】
これは、圧縮率の等しい候補モード相互間では、ベクトル量子化方式によって得られた圧縮データのほうがＳ／Ｎ比を低く抑えられる可能性が高いことによる。例えば、「スカラー量子化：２ビット」、「ベクトル量子化（２次元）：４ビット」、および「ベクトル量子化（３次元）：６ビット」は、何れも元波形データの「１」サンプルあたりの残差符号のビット数は「２」であるから、圧縮率は等しい。従って、これらの優先順は、「ベクトル量子化（３次元）：６ビット」、「ベクトル量子化（２次元）：４ビット」、「スカラー量子化：２ビット」の順になる。
【００３０】
図４(a)において、量子化＆正規化部６２には、このモードリストが記憶されており、モードリストの順に従って、一の候補モードが圧縮処理を行うための「試行モード」として選択される。さらに、量子化＆正規化部６２には、ベクトル量子化方式およびスカラー量子化方式に適用されるコードブックも記憶されている。量子化＆正規化部６２においては、最初はモードリストの先頭の候補モードが試行モードとして選択される。試行モードが決定されると、残差符号数が特定されるから、「１」フレームに対応する元波形データのサンプル（以下、「元波形サンプル」という）Ｓnのサンプル数Ｋが特定される。サンプル数Ｋが特定されると、元波形データのうち未圧縮の区間の先頭から、当該サンプル数Ｋだけ元波形サンプルが読み出され、予測係数＆スケールファクタ生成部６３に供給される。
【００３１】
予測係数＆スケールファクタ生成部６３においては、サンプル数Ｋの元波形サンプルＳnが解析され、予測係数Ｐと、スケールファクタＳＦとが決定される。一方、減算器６１には、サンプル数Ｋの元波形サンプルＳnが一サンプルづつ供給される。さらに、減算器６１には、後述する線形予測サンプル◇Ｓn-1が一サンプルづつ供給される。これにより、減算器６１からは残差サンプルｄn（＝Ｓn−◇Ｓn-1）が出力される。なお、本明細書においては、残差サンプルに対して、「ｄn」および「ｑn」という記号を使っているが、「ｄn」は上述したように元波形サンプルＳnから線形予測サンプル◇Ｓn-1を減算することにより得られるものであり、「ｑn」は、残差符号を逆量子化および逆正規化して得られたものである。
【００３２】
量子化＆正規化部６２においては、試行モードと、スケールファクタＳＦと、コードブックとに基づいて、残差サンプルｄnが残差符号に変換される。すなわち、まず、残差サンプルｄnがスケールファクタＳＦで除算されることにより正規化される。なお、量子化＆正規化部６２の詳細構成については後述する。逆量子化＆逆正規化部６６には、スケールファクタＳＦと、試行モードと、コードブック番号と、残差符号とが供給される。逆量子化＆逆正規化部６６は、上述した逆量子化＆逆正規化部７１（図３(b)）と同様に構成されており、逆正規化された残差サンプルｑnが出力される。
【００３３】
加算器６５においては、残差サンプルｑnと、線形予測サンプル◇Ｓn-1とが加算され、加算結果が復元波形サンプル◇Ｘnとして出力される。線形予測部６４は、線形予測演算部７３および波形データキャッシュ部７４（図３(a)）と同様に構成されている。すなわち、線形予測部６４は予測係数＆スケールファクタ生成部６３から線形予測係数Ｐを受信し、過去「４」サンプルの復元波形サンプル◇Ｘn〜◇Ｘn-3をキャッシュするとともに、これら復元波形サンプルＤ１〜Ｄ４にそれぞれの次数の線形予測係数Ｐを乗算して加算することにより次の復元波形サンプル◇Ｘn+1を得るための線形予測サンプル◇Ｓnを出力する。
【００３４】
モード解析部６８には、元波形サンプルＳnと、復元波形サンプル◇Ｘnとが供給され、「１」フレームに係る復元波形サンプル◇Ｘnに含まれる量子化誤差の評価値（Ｓ／Ｎ比）が測定される。そして、この評価値が所定の許容値を超えている場合には、モード解析部６８から量子化＆正規化部６２に対して、モード調整指令が出力される。量子化＆正規化部６２においては、このモード調整指令が供給されると、モードリスト内の次の候補モードが試行モードとして選択される。この新たな試行モードが選択されると、予測係数＆スケールファクタ生成部６３においては、新たなサンプル数Ｋが決定され、上述した動作と同様に新たな試行モードにおける残差符号が生成されるとともに、復元波形サンプル◇Ｘnが生成され、該復元波形サンプル◇Ｘnに含まれる量子化誤差の評価値（Ｓ／Ｎ比）が再び測定される。そして、該評価値が上記許容値以下になるまで同様の動作が繰り返される。
【００３５】
そして、モード解析部６８に供給された復元波形サンプル◇Ｘnの量子化誤差の評価値が上記許容値を超えていない場合には、モード解析部６８からフレーム詰込部９０に対して、フレーム構成指令が出力される。フレーム詰込部９０は、予測係数＆スケールファクタ生成部６３から予測係数と、スケールファクタＳＦとを受信するとともに、量子化＆正規化部６２から試行モードと、コードブック番号と、残差符号とを受信し、これら受信した情報を「１６０」ビットの中に詰め込むことにより、「１０」の小フレームからなるフレーム（図２）を生成する。これにより、当該フレームに対して最後に選択された試行モードが最終的に適用されるモードとして採用されたことになる。
【００３６】
次に、量子化＆正規化部６２の詳細構成を図４(b)を参照し説明する。まず、正規化部８３においては、残差サンプルｑnがスケールファクタＳＦによって除算され、これによって正規化された残差サンプルが出力される。モード決定部８１においては、最初にモードリスト内の先頭の候補モードが試行モードとして採用されるとともに、その後はモード解析部６８よりモード調整指令が供給される毎に、モードリスト内の次の候補モードが試行モードとして選択される。コードブック決定部８２においては、残差サンプルｑnの分布状態等に基づいて、最大「１６」種類の既定のコードブックのうち何れか最適なものが選択される。
【００３７】
量子化部８４においては、試行モードがスカラー量子化方式である場合は、正規化された残差サンプルは、コードブックに基づく特性（リニアまたは非リニアな特性）に応じた残差符号に一対一に対応して作成される。すなわち、試行モードに係るビット数にスケーリングされ、残差符号Ｌmが生成される。一方、試行モードがベクトル量子化方式である場合は、正規化された残差サンプルは、所定数（「２」または「３」）毎に、コードブックに基づいた残差符号Ｌmに変換される。
【００３８】
2．2．波形圧縮装置の要部の動作
次に、上述した波形圧縮装置において、モード解析部６８において新たなフレームの読み出しが指令され、またはモード調整指令が出力されることにより、試行モードが指定されたときに実行される処理の内容を図５を参照し説明する。図５において処理がステップＳＰ２に進むと、波形記憶領域１２ａから選択された波形データのサンプル（元波形サンプル）が「１」フレームに対応するサンプル数Ｋだけ取り出され、コーダ６０に供給される。コーダ６０においては、試行モードに応じた残差符号Ｌmが量子化＆正規化部６２から出力され、これら残差符号Ｌmに基づいて、逆量子化＆逆正規化部６６および加算器６５を介して復元波形サンプル◇Ｘnが出力される。この「１」フレーム分の復元波形サンプル◇Ｘnは、ＲＡＭ１２内の所定領域に格納される。
【００３９】
「１」フレーム分の復元波形サンプル◇Ｘnの格納が終了すると、処理はステップＳＰ４に進み、該復元波形サンプル◇ＸnがＲＡＭ１２から読み出される。次に、処理がステップＳＰ６に進むと、ＲＡＭ１２内に格納され各々が「１」フレームに対応する元波形サンプルＳnと復元波形サンプル◇Ｘnとが比較解析され、復元波形サンプル◇Ｘnに含まれる量子化誤差の評価値（Ｓ／Ｎ比）が測定される。
【００４０】
次に、処理がステップＳＰ８に進むと、この評価値が所定の許容値以下であるか否かが判定される。ここで「ＮＯ」と判定されると、処理はステップＳＰ１４に進み、モード解析部６８内に蓄積している残差符号Ｌmが消去される。次に、処理がステップＳＰ１６に進むと、モード解析部６８から量子化＆正規化部６２に対して、モード調整指令が出力される。以上にて本ルーチンの処理は終了するが、その後に量子化＆正規化部６２においては、モードリストの次の候補モードが新たな試行モードとして選択されると、上記ステップＳＰ２〜ＳＰ８の処理が再び繰り返される。
【００４１】
そして、量子化誤差の評価値が許容値以下になると、ステップＳＰ８において「ＹＥＳ」と判定され、処理はステップＳＰ１０に進む。ステップＳＰ１０においては、モード解析部６８内に蓄積している残差符号Ｌmがフレーム詰込部９０に送信され、これによってフレーム詰込部９０内にてフレームが作成される。次に、処理がステップＳＰ１２に進むと、量子化＆正規化部６２に対して、次のフレームの処理の開始が指令される。これにより、次のフレームに対して、上述した処理と同様の処理が繰り返される。
【００４２】
以下、新たなフレームの読み出しが指令された場合、または新たな試行モードが指定される毎に上記モード解析ルーチン（図５）が実行され、やがて、元波形サンプルＳnの全体に対してフレームが構成される。全てのフレームが構成されると、これらフレームにヘッダが付与され、圧縮データが完成する。完成した圧縮データはＲＯＭ等に書き込まれ、このＲＯＭは、上述した楽音生成装置１のＲＯＭ１１等として使用される。
【００４３】
以上説明したように本実施例によれば、スカラー量子化方式またはベクトル量子化方式が混在したモードリストの中から順次試行モードが選択され、試行モードによって得られた残差符号に係る量子化誤差の評価値が許容値以下になると、その試行モードが最終的に適用されるモードになる。従って、スカラー量子化方式またはベクトル量子化方式のうち、最適な量子化方式をフレーム毎に選択することができ、圧縮データのデータ量を効果的に削減することができる。
【００４４】
3．変形例
本発明は上述した実施例に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記波形圧縮装置の実施例においては、楽音生成装置１上で動作するプログラムによって波形圧縮処理を行ったが、このプログラムのみをＣＤ−ＲＯＭ、メモリカード等の記録媒体に格納して頒布し、あるいは伝送路を通じて頒布してもよい。
【００４５】
(2)上記波形圧縮装置の実施例においては、モードリスト中で圧縮率が等しい複数の候補モードに対して、スカラー量子化方式よりもベクトル量子化方式のほうが優先順が高くなるように設定された。しかし、音色によっては、スカラー量子化方式のほうがＳ／Ｎ比を低く抑えられる可能性が高い場合も考えられる。かかる場合には、圧縮率が等しい複数の候補モードに対して、ベクトル量子化方式よりもスカラー量子化方式のほうが優先順が高くなるように設定してもよい。
【図面の簡単な説明】
【００４６】
【図１】本発明の一実施例による楽音生成装置１のブロック図である。
【図２】本実施例に採用される波形データファイルのデータ構造を示す図である。
【図３】図１に示すデコーダの詳細構成を示す図である。
【図４】本発明の波形圧縮装置の実施例のアルゴリズムのブロック図である。
【図５】該波形圧縮装置におけるモード解析ルーチンのフローチャートである。
【符号の説明】
【００４７】
１０：ＣＰＵ、１１：ＲＯＭ、１２：ＲＡＭ、１２ａ：波形記憶領域、１３：操作子、１４：表示器、１６：バスライン、２０：制御レジスタ、３０：音源部、３１：フレーム読出部、３２：アドレス発生部、３３：残差符号キャッシュ部、３４：副情報デコード部、３５：デコーダ、３６：補間部、３７：音量ＥＧ部、３８：ミキサ、３９：ＤＡＣ、４０：サウンドシステム、６０：コーダ、６１：減算器、６２：量子化＆正規化部、６３：予測係数＆スケールファクタ生成部、６４：線形予測部、６５：加算器、６６：逆量子化＆逆正規化部（波形データ復元手段）、６８：モード解析部（判定手段，モード調整指令手段）、７１：逆量子化＆逆正規化部、７２：加算器、７３：線形予測演算部、７４：波形データキャッシュ部、７５：逆量子化部、７６：逆正規化部、７７：モード判定部（モード判定手段）、７８，８２：コードブック決定部、８１：モード決定部（試行モード決定手段）、８３：正規化部、８４：量子化部（波形データ圧縮手段）、９０：フレーム詰込部。
【図１】
2008170488.tif 000003
【図２】
2008170488.tif 000004
【図３】
2008170488.tif 000005
【図４】
2008170488.tif 000006
【図５】
2008170488.tif 000007