(57)【特許請求の範囲】
【請求項１】
ベクトル符号化方式の音声符号器の同期装置において、
入力音声信号のベクトル符号化を行い、ターゲットベクトルを出力するベクトル符号化手段と、
コードブックからのコードベクトルを基に量子化信号ベクトルを作成する量子化信号ベクトル作成手段と、
前記ベクトル符号化手段から出力されたターゲットベクトルと、前記量子化信号ベクトル作成手段で作成された量子化信号ベクトルとの誤差を求め、この誤差が最も小さくなるコードベクトルに対応するインデックスをビットスチール方式により前記コードブックから選択して音声復号器へ送るコードブックインデックス送信手段と、
前記ベクトル符号化手段の前段に設けられ、前記入力音声信号に雑音成分を付加する雑音成分付加手段と、
を有することを特徴とする音声符号器の同期装置。
【請求項２】
前記コードブックインデックス送信手段は、ビットスチール方式によりコードブックインデックスに所定周期の同期ビット列を挿入する同期ビット列挿入手段を含み、
前記雑音成分付加手段は、前記同期ビット列の所定周期とは異なる周期で雑音成分を前記入力音声信号に付加する手段を含む
ことを特徴とする請求項１記載の音声符号器の同期装置。
【請求項３】
前記コードブックインデックス送信手段は、ビットスチール方式によりコードブックインデックスに所定周期の同期ビット列を挿入する同期ビット列挿入手段を含み、
さらに、前記ベクトル符号化手段の前段に設けられ、前記同期ビット列の所定周期分に相当する前記入力音声信号の今回データと前回データとを比較し、一致しているときのみ前記雑音成分付加手段を作動させる付加制限手段
を有することを特徴とする請求項１記載の音声符号器の同期装置。
【請求項４】
ベクトル符号化方式の音声符号器の同期装置において、
入力音声信号のベクトル符号化を行い、ターゲットベクトルを出力するベクトル符号化手段と、
コードブックからのコードベクトルを基に量子化信号ベクトルを作成する量子化信号ベクトル作成手段と、
前記ベクトル符号化手段から出力されたターゲットベクトルと、前記量子化信号ベクトル作成手段で作成された量子化信号ベクトルとの誤差を求め、この誤差が最も小さくなるコードベクトルに対応するインデックスをビットスチール方式により前記コードブックから選択するコードブックインデックス選択手段と、
前記コードブックインデックス選択手段で選択されたコードブックインデックスを監視し、同期パターンと同じパターンを持つビット列があった場合に、ビット列の一部のビットを反転した上で音声復号器へ送信する際は、前記音声復号器での後方保護段数に相当する数の同期パターンが受信される期間に一度、ビット反転を行うコードブックインデックス送信手段と、
を有することを特徴とする音声符号器の同期装置。
【請求項５】
ベクトル符号化方式の音声符号器からコードブックインデックスを受信する音声復号器の同期装置において、
受信したコードブックインデックスに所定パターンの同期ビット列が含まれていることを所定の後方保護段数に亘って検出する同期ビット列検出手段と、
前記同期ビット列検出手段によって検出された同期ビット列が真正な同期ビット列であるか否かを確認する際に、前記同期ビット列検出手段によって検出された同期ビット列以外に、前記所定パターンの同期ビット列が前記受信したコードブックインデックスに前記所定の後方保護段数に亘って含まれるか否かを、さらに後方保護１段分に亘って検出し、前記同期ビット列検出手段によって検出された同期ビット列以外に同期ビット列が検出されないときに、前記同期ビット列検出手段によって検出された同期ビット列が真正な同期ビット列であると判定する確認手段と、
前記確認手段により真正であると確認された同期ビット列に基づき、前記受信したコードブックインデックスを同期処理する同期処理手段と、
前記同期処理されたコードブックインデックスを基にコードブックからコードベクトルを読み出し、再生信号を作成して出力する再生信号出力手段と、
を有することを特徴とする音声復号器の同期装置。
【請求項６】
前記同期ビット列検出手段によって検出された同期ビット列が、前記確認手段において真正であると確認されなかった場合に、前記受信したコードブックインデックスを当該同期ビット列に基づき同期処理することを禁止する禁止手段を、さらに有することを特徴とする請求項５記載の音声復号器の同期装置。
【請求項７】
前記確認手段は、前記同期ビット列検出手段によって検出された同期ビット列以外に、前記所定パターンの同期ビット列が前記受信したコードブックインデックスに前記所定の後方保護段数に亘って含まれるか否かを、さらに次の同期ビットを受信する時点までに亘って検出し、前記同期ビット列検出手段によって検出された同期ビット列以外に同期ビット列が検出されないときに、前記同期ビット列検出手段によって検出された同期ビット列が真正な同期ビット列であると判定することを特徴とする請求項５記載の音声復号器の同期装置。
【請求項８】
前記確認手段は、前記同期ビット列検出手段によって検出された同期ビット列以外に、前記所定パターンの同期ビット列が前記受信したコードブックインデックスに前記所定の後方保護段数に亘って含まれるか否かを、（ベクトルを構成する数−１）の数のビットを次に受信する時点までに亘って検出し、前記同期ビット列検出手段によって検出された同期ビット列以外に同期ビット列が検出されないとき、かつ、前記同期ビット列検出手段によって検出された同期ビット列以外に前記所定パターンの同期ビット列が、前記受信したコードブックインデックスに（前記所定の後方保護段数−１）の数の後方保護段に亘って含まれるか否かを、（ベクトルを構成する数−１）のビット数だけ逆上った受信時点までに亘って検出し、前記同期ビット列検出手段によって検出された同期ビット列以外に同期ビット列が検出されないとき、前記同期ビット列検出手段によって検出された同期ビット列が真正な同期ビット列であると判定することを特徴とする請求項５記載の音声復号器の同期装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、ベクトル符号化方式の音声符号器の同期装置、およびベクトル符号化方式の音声符号器からコードブックインデックスを受信する音声復号器の同期装置に関し、特に、音声符号器側においてビットスチール方式により同期ビット列を挿入して、音声復号器側においてその同期ビット列に基づきコードブックインデックスの同期処理を行う、音声符号器および音声復号器の同期装置に関する。
【０００２】
近年、高品質、低ビットレートの音声符号化方式の１つとして、複数の音声サンプルを１つのベクトルとして符号化するベクトル符号化方式が注目されている。
【０００３】
【従来の技術】
このベクトル符号化方式では、従来、図２５に示すように、符号器、復号器共に同一の、コードベクトルの辞書であるコードブック１０１，１１１を予め備え、符号器のベクトル化部１０２が、入力音声信号をサンプリングして数サンプル毎にベクトル化してターゲットベクトルとして誤差検出部１０３へ出力する。一方、符号器の合成フィルタ１０４が、コードブック１０１内のコードベクトルを基に量子化信号ベクトルを作成し、誤差検出部１０３へ出力する。誤差検出部１０３は、ターゲットベクトルと量子化信号ベクトルとの差を算出して誤差評価部１０５へ送り、誤差評価部１０５は、フィードバック制御により、その差が最も小さくなるコードベクトルをコードブック１０１から選択し、その選択されたコードベクトルに対応するコードブックインデックスが復号器へ送られる。
【０００４】
送られたコードブックインデックスを基に、復号器のコードブック１１１からコードベクトルが合成フィルタ１１２へ出力され、合成フィルタ１１２は、符号器側の入力音声信号に相当する再生信号を出力する。
【０００５】
復号器には、コードブックインデックスがシリアルに連続して送られるので、コードブックインデックスの各々を認識するためには、コードブックインデックスの境界を把握する必要がある。この把握を行う手段として、復号器は符号器と同期を取るようにしている。
【０００６】
同期方式として、符号の一部に同期ビット列を埋め込むビットスチール方式がある。この方式は、符号の一部が同期ビットを兼ねるために、同期情報の伝送のために特別に帯域を占有することもなく、低ビットレート伝送には特に有効な手段である。具体的には、まず図２６に示すようなコードブックを使用する。すなわち、例えばコードブックインデックス（以下「インデックス」と呼ぶ）を４ビットで表し、各コードベクトルにインデックス「００００」〜インデックス「１１１１」を対応させるようにしてある。そして、コードブックの探索に際して、同期ビット「０」を埋め込むタイミングのときには、範囲１２１からインデックスを選定し、同期ビット「１」を埋め込むタイミングのときには、範囲１２２からインデックスを選定するようにして、インデックスの最上位ビットＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）  に同期ビットを埋め込むようにする。
【０００７】
このコードブックの探索手順を図２７のフローチャートに示す。以下、ステップに沿って説明する。
〔Ｓ１０１〕同期ビットを埋め込むべきタイミングであるか否かを判別し、埋め込むべきタイミングであればステップＳ１０３へ進み、そうでなければステップＳ１０２へ進む。同期ビットは、インデックス全てに埋め込まれることはなく、インデックス数個置きに埋め込まれる。
【０００８】
〔Ｓ１０２〕範囲１２１および範囲１２２の区別なく、両範囲から自由に選択する。
〔Ｓ１０３〕埋め込まれるべき同期ビットが「１」であるか否かを判別し、「１」であるならばステップＳ１０５へ進み、「０」であるならばステップＳ１０４へ進む。同期ビット列は、例えば「１０００」のようなパターンとなっている。
【０００９】
〔Ｓ１０４〕インデックス「００００」〜インデックス「０１１１」の範囲１２１から選択する。
〔Ｓ１０５〕インデックス「１０００」〜インデックス「１１１１」の範囲１２２から選択する。
【００１０】
このように、コードブックの探索時に探索範囲を制限することにより、同期ビットを符号に埋め込むことが実現する。
【００１１】
【発明が解決しようとする課題】
しかし、このビットスチール方式では、同一パターンが繰り返されるような完全に周期性を持った入力信号（例えば、ディジタル化されて入力した正弦波等）をベクトル符号化した場合、選択されたインデックスにも周期性が現れる。その周期が同期ビット列の周期と同じ場合には、同期ビットが埋め込まれた各インデックスの同期ビット以外のビット位置に同期ビット列の同期パターンと同じパターンが存在する可能性があり、そうした場合には、本来の真正な同期ビット列ではないビット列に基づいてインデックスの同期処理（各インデックス間の境界の把握）が行われてしまう危険性がある。
【００１２】
これを、図２８および図２９を参照して以下に詳述する。
図２８は、入力音声信号と、それを基にベクトル符号化の上、探索されたインデックスとを示している。すなわち、入力音声信号が完全な周期性を持ち、同一パターンが繰り返されているとする。例えば、繰り返し周期１２３の最初の部分が同期ビットの埋め込みタイミングであり、ここでインデックス「１００１」が選択され、つぎの同期ビットの埋め込みタイミングでインデックス「００１０」が選択され、つぎの同期ビットの埋め込みタイミングでインデックス「０１００」が選択され、つぎの同期ビットの埋め込みタイミングでインデックス「０１１０」が選択されたとする。ここで、入力音声信号の周期が同期ビット列の周期と同じ周期であれば、つぎの繰り返し周期１２４でも、それぞれ同じインデックスが選択される。
【００１３】
図２９は、図２８において選択された各インデックスを縦に配列してインデックスの各構成対応ビットが一列になるように並べたものである。この図から分かるように、繰り返し周期１２３，１２４の各々において、同期ビットの埋め込まれた各インデックスの最上位ビットＭＳＢに同期パターン「１０００」が存在する。ところが、各インデックスの最下位ビットＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）にも同期パターンと同じ擬似パターン「１０００」が存在する。なおここでは、たまたま擬似パターンが最下位ビットＬＳＢに存在するが、他のビット位置に存在することもあり得る。
【００１４】
したがって、こうした場合には、本来の真正な同期ビット列ではなく、擬似パターン「１０００」を示している最下位ビット列を基に、インデックスの同期処理が行われてしまう可能性があり、この擬似同期が行われた場合には、音声信号を再生することができなくなる。
【００１５】
そして、こうした擬似同期は、同期ビット列と同じ周期を持ったこの入力信号の入力が続く限り、継続される。
本発明はこのような点に鑑みてなされたものであり、同期ビット列と同じ周期を持った信号が入力しても、擬似同期が発生しないようにした音声符号器および復号器の同期装置を提供することを目的とする。
【００１６】
【課題を解決するための手段】
本発明では上記目的を達成するために、図１に示すように、入力音声信号のベクトル符号化を行い、ターゲットベクトルを出力するベクトル符号化手段１と、コードブック２からのコードベクトルを基に量子化信号ベクトルを作成する量子化信号ベクトル作成手段３と、ベクトル符号化手段１から出力されたターゲットベクトルと、量子化信号ベクトル作成手段３で作成された量子化信号ベクトルとの誤差を求め、この誤差が最も小さくなるコードベクトルに対応するインデックスをビットスチール方式によりコードブック２から選択して音声復号器へ送るコードブックインデックス送信手段４と、ベクトル符号化手段１の前段に設けられ、入力音声信号に雑音成分を付加する雑音成分付加手段５とを、有することを特徴とする音声符号器の同期装置が提供される。
【００１７】
また、図２に示すように、入力音声信号のベクトル符号化を行い、ターゲットベクトルを出力するベクトル符号化手段６と、コードブック７からのコードベクトルを基に量子化信号ベクトルを作成する量子化信号ベクトル作成手段８と、ベクトル符号化手段６から出力されたターゲットベクトルと、量子化信号ベクトル作成手段８で作成された量子化信号ベクトルとの誤差を求め、この誤差が最も小さくなるコードベクトルに対応するインデックスをビットスチール方式によりコードブック７から選択するコードブックインデックス選択手段９と、コードブックインデックス選択手段９で選択されたコードブックインデックスを監視し、同期パターンと同じパターンを持つビット列があった場合に、そのビット列の一部のビットを反転した上で音声復号器へ送信するコードブックインデックス送信手段１０とを、有することを特徴とする音声符号器の同期装置が提供される。
【００１８】
また、図３に示すように、受信したコードブックインデックスに所定パターンの同期ビット列が含まれていることを所定の後方保護段数に亘って検出する同期ビット列検出手段１１と、同期ビット列検出手段１１によって検出された同期ビット列が真正な同期ビット列であるか否かを確認する確認手段１２と、確認手段１２により真正であると確認された同期ビット列に基づき、受信されたコードブックインデックスを同期処理する同期処理手段１３と、同期処理されたコードブックインデックスを基にコードブック１４からコードベクトルを読み出し、再生信号を作成して出力する再生信号出力手段１５とを、有することを特徴とする音声復号器の同期装置が提供される。
【００１９】
【作用】
以上のような構成において、図１に示す音声符号器の同期装置においては、まず、雑音成分付加手段５が入力音声信号に雑音成分を付加する。これにより、入力音声信号が元々、同期ビット列と同じ周期を持ち、完全な周期性を備えていた信号であっても、その周期性が失われてしまう。したがって、この周期性が失われた入力音声信号を基に、ベクトル符号化手段１、量子化信号ベクトル作成手段３、およびコードブックインデックス送信手段４によりコードブックインデックスを作成して音声復号器に送信しても、音声復号器において擬似同期が発生する恐れは無くなる。
【００２０】
また、図２に示す音声符号器の同期装置においては、コードブックインデックス送信手段１０が、コードブックインデックス選択手段９で選択されたコードブックインデックスを監視し、同期パターンと同じパターンを持つビット列があった場合に、そのビット列の一部のビットを反転した上で音声復号器へ送信する。すなわち、同期パターンと同じパターンを持つビット列の一部のビットを反転することにより、同期パターンと同じパターンを持つビット列が無くなり、したがって、この処理を施されたコードブックインデックスを受信した音声復号器において擬似同期が発生する恐れは無くなる。
【００２１】
また、図３に示す音声復号器の同期装置においては、同期ビット列検出手段１１が、受信したコードブックインデックスに所定パターンの同期ビット列が含まれていることを所定の後方保護段数に亘って検出する。この同期ビット列検出手段１１によって検出された同期ビット列が真正な同期ビット列であるか否かを確認手段１２により確認し、確認手段１２により真正であると確認された同期ビット列に基づき、同期処理手段１３が、受信されたコードブックインデックスを同期処理する。すなわち、各コードブックインデックスの境界を正しく把握して各コードブックインデックスを取り出す。そして、再生信号出力手段１５が、同期処理されたコードブックインデックスを基にコードブック１４からコードベクトルを読み出し、再生信号を作成して出力する。ここでは、確認手段１２により真正であると確認された同期ビット列に基づき同期処理がされるので、擬似同期が発生する恐れは無くなる。
【００２２】
【実施例】
以下、本発明の実施例を図面に基づいて説明する。
図４は、音声符号器および音声復号器の全体構成を示す図である。音声符号器は、信号入力インタフェース部２１、符号化部２２、および伝送路フォーマット変換部２３から構成され、音声復号器は、伝送路フォーマット逆変換部２４、復号部２５、および信号出力インタフェース部２６から構成される。符号化部２２は、図２５に示した符号器に相当し、復号部２５は、図２５に示した復号器に相当する。音声符号器および音声復号器は、ディジタル・シグナル・プロセッサ（ＤＳＰ）のファームウェア処理によって実現される。
【００２３】
以下に説明する本発明の第１の実施例および第２の実施例は信号入力インタフェース部２１に設けられるものであり、第３の実施例は伝送路フォーマット変換部２３に設けられるものであり、第４の実施例、第５の実施例、および第６の実施例は伝送路フォーマット逆変換部２４に設けられるものである。これらの第１の実施例〜第６の実施例のうちのいずれか１つが、音声符号器または音声復号器に適用されることにより、本発明の目的は達成され、課題が解決されるものである。
【００２４】
図５は、第１の実施例の構成を示すブロック図である。第１の実施例は、図４の信号入力インタフェース部２１を構成する。図５において、入力信号は、既にサンプリングが行われて量子化されたデータ（例えば４ビットからなり、これを「サンプル」と呼ぶ）になっており、この入力信号が排他的論理和処理部（ＥＸ−ＯＲ）３１およびサンプルカウンタ３２へ送られる。サンプルカウンタ３２は、１サンプル入力毎にアップカウントし、カウント値が「１９」になると作動指示信号を排他的論理和処理部３１へ送るとともに、カウント値を「０」にリセットする。排他的論理和処理部３１には信号発生部３３から２進数のコード信号「０００１」が入力されており、排他的論理和処理部３１は、作動指示信号を受けないときには入力信号をそのまま符号化部２２へ送り、一方、作動指示信号を受けたときには入力信号（サンプル）とコード信号「０００１」との排他的論理和をとり、符号化部２２へ送る。なお、入力信号とコード信号「０００１」との排他的論理和の結果は、入力信号の最下位ビットＬＳＢだけが反転したデータとなる。
【００２５】
図６は、こうした構成を持つ第１の実施例の動作を示すフローチャートである。以下、ステップ番号に沿って説明する。なお、このフローチャートは、入力信号１サンプルが入力される毎に起動される。
【００２６】
〔Ｓ１〕１サンプルの入力信号を「ｄａｔａ」とする。
〔Ｓ２〕サンプルカウンタ３２のカウント値ＳＣを１だけカウントアップする。
【００２７】
〔Ｓ３〕サンプルカウンタ３２のカウント値ＳＣが「１９」であればステップＳ４へ進み、「１９」でなければ入力信号をそのまま符号化部２２へ送る。
〔Ｓ４〕「ｄａｔａ」と「０００１」との排他的論理和をとることにより１サンプル分の入力信号の最下位ビットＬＳＢを反転させ、符号化部２２へ送る。
【００２８】
〔Ｓ５〕サンプルカウンタ３２のカウント値ＳＣを「０」にリセットする。
図７に、こうした第１の実施例の動作をタイミングチャートを使用して示す。なお、この図では、入力信号が、後に符号化部２２においてコードブックインデックスに変換された場合の様子も示すようにしている。すなわち、図中、入力信号の１サンプルを丸印で示し、４サンプルで１ベクトル（コードブックインデックス）を作成し、５ベクトル毎に同期ビット列「１０００」の各ビットを順に挿入するようにしている。したがって、同期ビット列の１周期分が２０ベクトル（８０サンプル）に収まる。
【００２９】
そして、サンプルカウンタ３２のカウント値ＳＣが「１９」（直後にリセットされて「０」）になる度に、入力信号の最下位ビットＬＳＢが反転される。反転されるサンプルを図に黒丸で示す。
【００３０】
このように、入力信号の最下位ビットＬＳＢの反転を、同期ビット列の周期（８０サンプル）とは異なる周期（１９サンプル）毎に行うので、譬え入力信号に元々８０サンプル周期の周期性があっても、この周期性は壊されてしまう。したがって、同期ビット列の周期を持たなくなった入力信号を基にコードブックインデックスを作成しても、その中に、同期ビット列と同じパターンを有するビット列が存在することはない。そのため、擬似同期の発生はなくなる。
【００３１】
上記実施例では、同期ビット列の周期とは異なる周期毎に、入力信号に雑音成分を重畳しているが、これに代わって、入力信号に対し、周期成分を含まないような雑音（例えば白色雑音等）を微弱なレベルで常時重畳するようにしてもよい。
【００３２】
つぎに、第２の実施例を説明する。
図８は、第２の実施例の構成を示すブロック図である。第２の実施例は、図４に示す信号入力インタフェース部２１を構成する。第２の実施例の構成は第１の実施例の構成と基本的には同じであるので、同じ部分には同じ符号を付して説明を省略する。
【００３３】
第２の実施例では、第１の実施例のサンプルカウンタ３２に代わって入力信号監視部３４を設ける。入力信号監視部３４には入力信号が入力され、入力信号監視部３４は排他的論理和処理部３１へ作動指示信号を出力する。入力信号監視部３４の内部には、８０サンプルをそれぞれ記憶できるバッファ３４ａ，３４ｂが設けられ、連続する入力信号のうちの同期ビット列の今回周期分の８０サンプルを、バッファ３４ａに格納し、同期ビット列の前回周期分の８０サンプルを、バッファ３４ｂに格納し、対応するサンプルどうしを比較して、それぞれ同一であれば、入力信号に周期性があるとともに、その周期が同期ビット列の周期（８０サンプル）と同じであると判定して、作動指示信号を排他的論理和処理部３１へ出力するようにする。
【００３４】
図９は、こうした構成を持つ第２の実施例の動作を示すフローチャートである。以下、ステップ番号に沿って説明する。なお、このフローチャートは、入力信号１サンプルが入力される毎に起動される。
【００３５】
〔Ｓ１１〕まず、入力信号の各サンプルにサンプル番号ｓｎを付ける。同期ビット列の先頭に対応するサンプルのサンプル番号ｓｎを「０」とし、ｓｎ「７９」まで付ける。また、今回用のバッファ３４ａの８０サンプル分の各記憶場所にも０から７９のアドレスｓｎを付け、各記憶場所をｎｏｗ（ｓｎ）と表し、同様に、前回用のバッファ３４ｂの８０サンプル分の各記憶場所にも０から７９のアドレスｓｎを付け、各記憶場所をｏｌｄ（ｓｎ）と表す。
【００３６】
そして、サンプル番号ｓｎの入力信号を、バッファ３４ａの記憶場所ｎｏｗ（ｓｎ）に格納する。
〔Ｓ１２〕今回入力したサンプルのサンプル番号ｓｎが「７９」であれば、すなわち今回周期分の全部のサンプルがバッファ３４ａの各記憶場所に格納されたならば、ステップＳ１３へ進み、「７９」でなければステップＳ１９へ進む。
【００３７】
〔Ｓ１３〕制御変数ｉを「０」から「７９」まで、本ステップの実行毎に順次設定する。そして「７９」の設定の次の実行時にはステップＳ１４へ進む。
〔Ｓ１４〕バッファ３４ａの記憶場所ｎｏｗ（ｉ）に格納されたサンプルと、バッファ３４ｂの記憶場所ｏｌｄ（ｉ）に格納されたサンプルとが一致するか否かを判別し、一致すればステップＳ１３へ戻り、一致しなければステップＳ１５へ進む。
【００３８】
ステップＳ１３，Ｓ１４で行われるサンプル比較を図１０に示す。
〔Ｓ１５〕フラグに「０」を設定する。フラグ「０」は、バッファ３４ａに格納された今回周期分の８０サンプルの中に、バッファ３４ｂに格納された前回周期分の８０サンプルと同一ではないサンプルがあることを示す。したがって、フラグ「０」が立つ場合は、入力信号に８０サンプル周期の周期性がないことになる。
【００３９】
〔Ｓ１６〕フラグに「１」を設定する。フラグ「１」は、バッファ３４ａに格納された今回周期分の８０サンプルの各々が、バッファ３４ｂに格納された前回周期分の８０サンプルの各々とそれぞれ同じであることを示す。したがって、フラグ「１」が立つ場合は、入力信号に８０サンプル周期の完全な周期性があることになる。
【００４０】
〔Ｓ１７〕制御変数ｊを「０」から「７９」まで、本ステップの実行毎に順次設定する。そして「７９」の設定の次の実行時にはステップＳ１９へ進む。
〔Ｓ１８〕バッファ３４ａの記憶場所ｎｏｗ（ｊ）に格納されたサンプルを、バッファ３４ｂの記憶場所ｏｌｄ（ｊ）にシフトする。
【００４１】
ステップＳ１７，Ｓ１８の実行により、図１１に示すように、バッファ３４ａに格納された今回周期分の８０サンプルの各々が、バッファ３４ｂに移される。これらの８０サンプルの各々は、ステップＳ１９の実行からは前回周期分の８０サンプルとなる。
【００４２】
〔Ｓ１９〕バッファ３４ｂの記憶場所ｏｌｄ（ｓｎ）に格納されたサンプル  を「ｄａｔａ」とする。
〔Ｓ２０〕サンプル番号ｓｎに１を加算する。そしてサンプル番号ｓｎが「８０」になった場合にはサンプル番号ｓｎを「０」に戻す。
【００４３】
〔Ｓ２１〕フラグが「０」ならば、入力信号に８０サンプル周期の周期性がないので、入力信号のサンプルをそのまま符号化部２２へ送る。
一方、フラグが「１」ならば、入力信号に８０サンプル周期の完全な周期性があるので、この周期性を壊すべくステップＳ２２〜Ｓ２５へ進む。
【００４４】
ステップＳ２２〜Ｓ２５は、第１の実施例のステップＳ２〜Ｓ５（図６）とそれぞれ同じ内容であるので、説明を省略する。
かくして、第２の実施例では、入力信号の周期性を監視し、同期ビット列の周期と同じ周期の周期性を有し、このため、この入力信号を基にしたコードブックインデックスに同期パターンと同じパターンが発生する可能性があるときにのみ、雑音を重畳して、擬似同期の発生を防止している。したがって、擬似同期が発生する可能性のないときには雑音を重畳することを行っていないので、第１の実施例に比べ、再生音声品質の劣化の度合いが低い。
【００４５】
つぎに、第３の実施例を説明する。
図１２は、第３の実施例の構成を示すブロック図である。第３の実施例は、図４に示す伝送路フォーマット変換部２３を構成し、符号化部２２から出力されるコードブックインデックス（以下「インデックス」と呼ぶ）の周期性を直接監視して、その周期性を壊すようにしている。
【００４６】
図中、符号化部２２からインデックスが出力され、排他的論理和処理部（ＥＸ−ＯＲ）３５および符号監視部３６へ送られる。また、符号化部２２からは同期ビット挿入タイミング信号が符号監視部３６へ送られる。この同期ビット挿入タイミング信号は、例えば５ベクトル毎に発生して、対応のインデックスに同期ビットが挿入されるようにするための信号である。
【００４７】
符号監視部３６の内部には、１２個のインデックスを記憶できるバッファ３６ａが設けられ、同期ビット挿入タイミング信号に基づき、入力するインデックスのうちの同期ビットが挿入されているインデックスだけを選んで１２個分（同期ビット列が「１０００」である場合、後方保護段数３段に相当）格納する。符号監視部３６は、バッファ３６ａに格納されたインデックスの同期ビット位相（最上位ビットＭＳＢ）以外の位相に、同期ビット列の同期パターン「１０００」と同じパターンが存在するか否かを監視し、存在するときには、そのパターンの位相情報を含む作動指示信号を排他的論理和処理部３５へ出力するようにする。
【００４８】
排他的論理和処理部３５には信号発生部３７から、位相情報に応じた２進数の３つのコード信号「０００１」，「００１０」，「０１００」が入力されている。排他的論理和処理部３５は、作動指示信号を受けないときには入力したインデックスをそのまま音声復号器へ送り、一方、作動指示信号を受けたときには、それに含まれる位相情報に応じたコード信号を選択して、受信したインデックスと、選択したコード信号との排他的論理和をとり、音声復号器へ送る。
【００４９】
これにより、同期ビットが挿入されたインデックスにおいて、同期ビット位相以外の位相に、同期ビット列の同期パターンと同じパターンが存在することがなくなる。なお通常、コードブックには、ランダムビット誤りに対する耐力を持たせるためにグレイコード化が施されており、インデックスの伝送時に１ビット程度の誤りが発生しても同じような特性を持つ他のコードベクトルが選択される。したがって、上記のような排他的論理和の処理を行っても、再生信号品質に問題が発生することはない。
【００５０】
図１３および図１４は、こうした構成を持つ第３の実施例の動作を示すフローチャートであり、図１３は前半を、図１４は後半を示す。以下、ステップ番号に沿って説明する。なお、このフローチャートは、インデックスの探索時に起動される。また、この例では、５個のインデックス毎に同期ビット列「１０００」の各ビットを順に挿入するようにし、インデックスは４ビットの符号から構成されるものとし、後方保護段数を３段とする。
【００５１】
〔Ｓ３１〕〜〔Ｓ３５〕図２７に示すステップＳ１０１〜Ｓ１０５とそれぞれ同じ内容であるので、説明を省略する。
〔Ｓ３６〕同期ビットが埋め込まれたｎ番目入力のインデックスを、バッファ３６ａのアドレスｎの記憶場所ｂｕｆｆ（ｎ）に格納する。
【００５２】
〔Ｓ３７〕ｎに１を加算する。そしてｎが「１２」になった場合にはｎを「０」に戻す。
〔Ｓ３８〕ｎが「０」であれば、即ちバッファ３６ａの１２の記憶場所全部にインデックスが格納されたときには、ステップＳ３９へ進み、「０」でなければ本処理を終了して、入力したインデックスを音声復号器へ送る。図１５に、バッファ３６ａの１２の記憶場所全部に格納されたインデックスの例を示す。
【００５３】
〔Ｓ３９〕制御変数ｉを「０」から「１１」まで、本ステップの実行毎に順次設定する。そして「１１」の設定の次の実行時にはステップＳ４２へ進む。
〔Ｓ４０〕記憶場所ｂｕｆｆ（ｉ）に格納されたインデックスの最上位ビットＭＳＢの次の上位ビットの値をｘとする。例えば、図１５において、ｉが０であればｘは０となり、ｉが２であればｘは１となる。
【００５４】
〔Ｓ４１〕図１５に示すように、同期ビット列の同期パターンを３周期分集めたパターンのｉ番目の符号をｐｔｎ（ｉ）とし、このｐｔｎ（ｉ）をｘと比較する。同一であればステップＳ３９へ戻り、異なっていればステップＳ４４へ進む。図１５の例では、ｉ＝０のときにステップＳ４４へ進んでしまう。
【００５５】
〔Ｓ４２〕コード信号「０１００」を「ｍａｓｋ」とする。
〔Ｓ４３〕バッファ３６ａの記憶場所ｂｕｆｆ（１１）に格納されたインデックスに相当する、本処理が起動されたときのインデックスとｍａｓｋとの排他的論理和をとり、その結果を音声復号器へ送る。
【００５６】
すなわち、コード信号「０１００」と排他的論理和をとることにより、本処理が起動されたときのインデックスの最上位ビットＭＳＢの次の上位ビットの値が反転される。したがって、同期ビットが１番目の位相（ＭＳＢ）に埋め込まれたインデックスにおいて、２番目の位相に、同期パターンと同じパターンが後方保護段数に亘って存在する場合には、この２番目の位相のいずれかの符号（ここでは１２番目の最後の符号）を反転させる。これにより、同期パターンと同じである、この２番目の位相の擬似パターンを基に擬似同期が行われることが回避できる。
【００５７】
〔Ｓ４４〕再び、制御変数ｉを「０」から「１１」まで、本ステップの実行毎に順次設定する。そして「１１」の設定の次の実行時にはステップＳ４７へ進む。
【００５８】
〔Ｓ４５〕記憶場所ｂｕｆｆ（ｉ）に格納されたインデックスの最下位ビットＬＳＢの次の下位ビットの値をｘとする。例えば、図１５において、ｉが０であればｘは０となり、ｉが１であればｘは１となる。
【００５９】
〔Ｓ４６〕ｐｔｎ（ｉ）をｘと比較する。同一であればステップＳ４４へ戻り、異なっていればステップＳ４９へ進む。図１５の例では、ｉ＝０のときにステップＳ４９へ進んでしまう。
【００６０】
〔Ｓ４７〕コード信号「００１０」を「ｍａｓｋ」とする。
〔Ｓ４８〕バッファ３６ａの記憶場所ｂｕｆｆ（１１）に格納されたインデックスに相当する、本処理が起動されたときのインデックスとｍａｓｋとの排他的論理和をとり、その結果を音声復号器へ送る。
【００６１】
すなわち、コード信号「００１０」と排他的論理和をとることにより、本処理が起動されたときのインデックスの最下位ビットＬＳＢの次の下位ビットの値が反転される。したがって、同期ビットが１番目の位相（ＭＳＢ）に埋め込まれたインデックスにおいて、３番目の位相に、同期パターンと同じパターンが後方保護段数に亘って存在する場合には、この３番目の位相のいずれかの符号（ここでは１２番目の最後の符号）を反転させる。これにより、同期パターンと同じである、この３番目の位相の擬似パターンを基に擬似同期が行われることが回避できる。
【００６２】
〔Ｓ４９〕再び、制御変数ｉを「０」から「１１」まで、本ステップの実行毎に順次設定する。そして「１１」の設定の次の実行時にはステップＳ５２へ進む。
【００６３】
〔Ｓ５０〕記憶場所ｂｕｆｆ（ｉ）に格納されたインデックスの最下位ビットＬＳＢの値をｘとする。例えば、図１５において、ｉが０であればｘは１となり、ｉが１であればｘは０となる。
【００６４】
〔Ｓ５１〕ｐｔｎ（ｉ）をｘと比較する。同一であればステップＳ４９へ戻り、異なっていれば本処理を終了して、入力したインデックス（この場合は同期ビットが埋め込まれた１１番目のインデックス）を音声復号器へ送る。図１５の例では、ｉ＝０〜１１に対して判別答が全て肯定（Ｙｅｓ）となる。
【００６５】
〔Ｓ５２〕コード信号「０００１」を「ｍａｓｋ」とする。
〔Ｓ５３〕バッファ３６ａの記憶場所ｂｕｆｆ（１１）に格納されたインデックスに相当する、本処理が起動されたときのインデックスとｍａｓｋとの排他的論理和をとり、その結果を音声復号器へ送る。
【００６６】
すなわち、コード信号「０００１」と排他的論理和をとることにより、本処理が起動されたときのインデックスの最下位ビットＬＳＢの値が反転される。したがって、同期ビットが１番目の位相（ＭＳＢ）に埋め込まれたインデックスにおいて、４番目の位相に、同期パターンと同じパターンが後方保護段数に亘って存在する場合には（図１５の例はこの場合に相当する）、この４番目の位相のいずれかの符号（ここでは１２番目の最後の符号）を反転させる。これにより、同期パターンと同じである、この４番目の位相の擬似パターンを基に擬似同期が行われることが回避できる。図１５の例では、記憶場所ｂｕｆｆ（１１）に格納されたインデックス「０１１０」とコード信号「０００１」との排他的論理和をとった結果である「０１１１」が音声復号器へ送られる。インデックス「０１１０」を「０１１１」に変えることにより、図１５の例において、同期ビット列の同期パターンの３周期に亘って、同期ビット列の同期パターンと同一なパターンは存在しなくなる。したがって、音声復号器側において、同期ビット列の検出を後方保護３段に亘って行なった場合、真正の同期ビット列だけが検出され、擬似同期が行われることが無くなる。
【００６７】
つぎに第４の実施例を説明する。
図１６は、第４の実施例の構成を示すブロック図である。第４の実施例は、図４の伝送路フォーマット逆変換部２４を構成する。第４の実施例は、音声復号器において、同期ビット列を後方保護３段に亘って複数の位相で検出した場合、さらに同期ビット列の検出期間を延長して、いずれの位相のビット列が本来の同期ビット列であるかを判別するようにする。後述する第５の実施例および第６の実施例も第４の実施例と基本的には同じであるが、同期ビット列の延長検出期間等に違いがある。
【００６８】
図中、音声符号器から送られたインデックスは復号部２５へ入力されるとともに、同期処理部３８へ入力される。復号部２５は、同期処理部３８から復号許可信号を受けてから初めてインデックスの復号処理を行うようにする。
【００６９】
図１７は、同期処理部３８の動作を示すフローチャートである。以下、ステップ番号に沿って説明する。なお、この例では、５個のインデックス毎に同期ビット列「１０００」の各ビットが順に挿入されており、インデックスは４ビットの符号から構成されるものとし、後方保護段数を３段とする。
【００７０】
〔Ｓ６１〕連続して入力する符号列に含まれるはずの同期ビット列を探す。すなわち、２０ビット毎に取り出したビット列が、同期ビット列「１０００」になっているものを探す。例えば図１８に示すように、連続して入力する符号列に、本来の真正な同期ビット列Ｂ０だけでなく、同期パターンと同じパターンを持つ擬似同期ビット列Ｂ１，Ｂ２が含まれていたとする。その場合に、例えばタイミングＴ１で本ステップの実行を開始した場合、タイミングＴ２からタイミングＴ５の間に同期ビット列Ｂ０を検出することになる。
【００７１】
〔Ｓ６２〕ステップＳ６１での同期ビット列の検出が３回目（即ち保護段数３）であればステップＳ６３へ進み、１回目または２回目（即ち保護段数１または保護段数２）であればステップＳ６１へ戻る。図１８の例の場合、タイミングＴ７においてステップＳ６３へ進む。
【００７２】
〔Ｓ６３〕初めに３段の保護段数を満足した同期ビット列の位相に対応する配列変数ｊを「０」とする。そして、この位相に続く１９の位相に対応する配列変数ｊに順に「１」〜「１９」を割り当てる。
【００７３】
なお、「３段の保護段数を満足する」とは、入力した符号列に対して同期ビット列の検出を行なった結果、同期ビット列の連続した３周期分に亘って同期ビット列を検出したことを意味し、これを後方保護３段の確立とも言う。
【００７４】
なおまた、他の位相においても、タイミングＴ７に至るまで、２０ビット毎に取り出したビット列が、同期ビット列「１０００」になっているものを探す。そして、各位相毎に、確立した保護段数ｈｏｇｏ（ｊ）を蓄積していく。図１８の例の場合、タイミングＴ７において、同期ビット列Ｂ０の確立保護段数ｈｏｇｏ（０）は「３」であり、擬似同期ビット列Ｂ１の確立保護段数ｈｏｇｏ（ａ）は「２」であり、擬似同期ビット列Ｂ２の確立保護段数ｈｏｇｏ（ｂ）は「２」である（ａ，ｂは１〜１９のいずれかの数）。
【００７５】
〔Ｓ６４〕制御変数ｉを「０」から「７９」まで、本ステップの実行毎に順次設定する。そして「７９」の設定の次の実行時にはステップＳ６６へ進む。
〔Ｓ６５〕ステップＳ６４の実行とともに本ステップの実行によって、さらに１段分の保護、即ちタイミングＴ７からタイミングＴ１０までの間、初めに３段の保護段数を満足した同期ビット列の位相以外の位相における同期ビット列を探す。この結果、図１８の例の場合、タイミングＴ８において擬似同期ビット列Ｂ１の確立保護段数ｈｏｇｏ（ａ）が「３」となり、タイミングＴ９において擬似同期ビット列Ｂ２の確立保護段数ｈｏｇｏ（ｂ）も「３」となる。
【００７６】
〔Ｓ６６〕配列変数ｊを「１」から「１９」まで、本ステップの実行毎に順次設定する。そして「１９」の設定の次の実行時には、本来の真正な同期ビット列以外の擬似同期ビット列は存在しないということが判明したことになるので、復号許可信号を復号部２５へ送る。
【００７７】
〔Ｓ６７〕ステップＳ６６の実行とともに本ステップの実行によって、各位相毎の確立保護段数ｈｏｇｏ（ｊ）が「３」であるか否かを判別する。すなわち、初めに３段の保護段数を満足した位相以外の位相における確立保護段数ｈｏｇｏ（１）〜ｈｏｇｏ（１９）が「３」になっているものがあるか否かを判別する。存在するならば、同期ビット列が複数の位相で検出されていることになるので、真正の同期ビット列がいずれであるか不明である。したがって、この場合には、さらに後方保護段数を増やして、検出される同期ビット列が１つになるまで繰り返すか、または、初めから同期ビット列の検出をやり直すようにする。
【００７８】
かくして、真正の同期ビット列が検出されない限りは復号部２５のインデックスの復号処理が行われないようにできる。
つぎに第５の実施例を説明する。
【００７９】
第５の実施例の構成は第４の実施例の構成と基本的に同じである。したがって、第５の実施例の構成の図示および説明を省略する。ただし、同期処理部３８で行われる処理手順に違いがある。
【００８０】
図１９は、第５の実施例の同期処理部の動作を示すフローチャートである。以下、ステップ番号に沿って説明する。なお、この例では、５個のインデックス毎に同期ビット列「１０００」の各ビットが順に挿入されており、インデックスは４ビットの符号から構成されるものとし、後方保護段数を３段とする。
【００８１】
〔Ｓ７１〕〜〔Ｓ７３〕図１７に示した第４の実施例のステップＳ６１〜Ｓ６３とそれぞれ同じ内容であるので、説明を省略する。
なお、例えば、図２０に示すように、連続して入力する符号列に、本来の真正な同期ビット列Ｂ０だけでなく、同期パターンと同じパターンを持つ擬似同期ビット列Ｂ３が含まれていたとする。その場合に、タイミングＴ７において、同期ビット列Ｂ０の確立保護段数ｈｏｇｏ（０）は「３」であり、同期ビット列Ｂ３の確立保護段数ｈｏｇｏ（ｃ）は「２」である（ｃは１〜１９のいずれかの数）。
【００８２】
〔Ｓ７４〕制御変数ｉを「０」から「１９」まで、本ステップの実行毎に順次設定する。そして「１９」の設定の次の実行時にはステップＳ７６へ進む。すなわち、第４の実施例のステップＳ６４では制御変数ｉを「０」から「７９」まで変化させるのに対して、本実施例は、「０」から「１９」までしか変化させない点に特徴がある。
【００８３】
〔Ｓ７５〕ステップＳ７４の実行とともに本ステップの実行によって、さらに２０ビットの位相に対して同期ビット列を探す。すなわち、図２０に示すタイミングＴ７からタイミングＴ１１までの間、初めに３段の保護段数を満足した同期ビット列の位相以外の位相における同期ビット列を探す。この結果、図２０の例の場合、タイミングＴ１２において擬似同期ビット列Ｂ３の確立保護段数ｈｏｇｏ（ｃ）が「３」となる。
【００８４】
〔Ｓ７６〜Ｓ７７〕図１７に示した第４の実施例のステップＳ６６〜Ｓ６７と同じ内容であるので、説明を省略する。ただし、ステップＳ７７において、各位相毎の確立保護段数ｈｏｇｏ（ｊ）が「３」であるものがあるならば、さらに２０ビット分の間、検出される同期ビット列が１つになるまで繰り返すか、または、初めから同期ビット列の検出をやり直すようにする。
【００８５】
かくして、真正の同期ビット列が検出されない限りは復号部２５のインデックスの復号処理が行われないようにできる。
第４の実施例では、擬似同期パターンが無いことを確実に確認することができるが、監視に必要な装置（受信符号バッファ等）の規模が大きくなる欠点がある。その点、第５の実施例では、擬似同期ビットが発生する確率の高い位相だけを監視するようにして監視に必要な装置の規模を小さく抑えることができる。
【００８６】
つぎに第６の実施例を説明する。第６の実施例では、擬似同期ビットが発生していないかを監視する監視範囲を、下記にように、第５の実施例の監視範囲よりも更に狭めたものである。なお、この例では、５個のインデックス毎に同期ビット列「１０００」の各ビットが順に挿入されており、インデックスは４ビットの符号から構成されるものとし、後方保護段数を３段とする。
【００８７】
すなわち、図２２に示すように、後方保護３段目の同期ビット位置（タイミングＴ７）から３ビット分（タイミングＴ１３）だけ監視する。例えば、図のように、同期ビット（Ｂ０）が埋め込まれているインデックス（Ｉ）の最下位ビットＬＳＢに擬似同期ビット（Ｂ４）があったとしても、タイミングＴ１３において擬似同期ビット列の後方保護３段の確立を確認できる。つまり、真正の同期ビット列と擬似同期ビット列とが互いに入れ代わった位置関係にあっても、先の確認方法により、擬似同期に陥ることを防止することが可能である。
【００８８】
ところが、図２３に示すように、タイミングＴ１４で符号受信を最初に開始した場合には、タイミングＴ１６において擬似同期ビット列（Ｂ４）が後方保護３段目を確立し、さらに、上記のように３ビット分だけ監視を行っても、真正の同期ビット列（Ｂ０）が後方保護３段目を確立するのはタイミングＴ７であるので、その真正の同期ビット列の確立を確認できない。
【００８９】
こうした不具合を解決するため、第６の実施例では、後方保護３段目の同期ビット位置（タイミングＴ７）から後方３ビット分（タイミングＴ１３）の監視に加えて、図２４に示すように、前方３ビット分の監視を行い、この前方３ビット分の間に後方保護２段の確立が確認されれば、擬似同期の危険性があるとして、復号部２５へ復号許可信号を送らないようにする。
【００９０】
第６の実施例の構成は第４の実施例の構成と基本的に同じである。したがって、第６の実施例の構成の図示および説明を省略する。ただし、同期処理部３８で行われる処理手順に違いがある。
【００９１】
図２１は、第６の実施例の同期処理部の動作を示すフローチャートである。以下、ステップ番号に沿って説明する。
〔Ｓ８１〕〜〔Ｓ８２〕図１７に示した第４の実施例のステップＳ６１〜Ｓ６２とそれぞれ同じ内容であるので、説明を省略する。
【００９２】
〔Ｓ８３〕初めに３段の保護段数を満足した同期ビット列の位相に対応する配列変数ｊを「３」とする。そして、この位相に続く３つの位相に対応する配列変数ｊに順に「４」〜「６」を割り当て、この位相の前の３つの位相に対応する配列変数ｊに順に「０」〜「２」を割り当てる。
【００９３】
〔Ｓ８４〕制御変数ｉを「０」から「２」まで、本ステップの実行毎に順次設定する。そして「２」の設定の次の実行時にはステップＳ８６へ進む。すなわち、第５の実施例のステップＳ７４では制御変数ｉを「０」から「１９」まで変化させるのに対して、本実施例は、「０」から「２」までしか変化させない。
【００９４】
〔Ｓ８５〕ステップＳ８４の実行とともに本ステップの実行によって、後方３ビットの位相に対して同期ビット列を探す。すなわち、図２２に示すタイミングＴ７からタイミングＴ１３までの間、初めに３段の保護段数を満足した同期ビット列の位相以外の位相における同期ビット列を探す。
【００９５】
〔Ｓ８６〕配列変数ｊを「０」から「２」まで、本ステップの実行毎に順次設定する。そして「２」の設定の次の実行時には、ステップＳ８８へ進む。
〔Ｓ８７〕ステップＳ８６の実行とともに本ステップの実行によって、各位相毎の確立保護段数ｈｏｇｏ（ｊ）が「２」であるか否かを判別する。すなわち、図２４に示すように、初めに保護３段を確立した同期ビット列（Ｂ４）の確立タイミングＴ１６よりも前に、保護２段を確立した同期ビット列（Ｂ０）があるか否かを判別する。存在するならば、同期ビット列が複数の位相で検出されていることになるので、真正の同期ビット列が不明である。したがってこの場合には、さらに監視範囲を後方３ビット分増やして、検出される同期ビット列が１つになるまで繰り返すか、または、初めから同期ビット列の検出をやり直すようにする。
【００９６】
〔Ｓ８８〕配列変数ｊを「４」から「６」まで、本ステップの実行毎に順次設定する。そして「６」の設定の次の実行時には、本来の真正な同期ビット列以外の擬似同期ビット列は存在しないということが判明しているので、復号許可信号を復号部２５へ送る。
【００９７】
〔Ｓ８９〕ステップＳ８６の実行とともに本ステップの実行によって、各位相毎の確立保護段数ｈｏｇｏ（ｊ）が「３」であるか否かを判別する。すなわち、初めに３段の保護段数を満足した同期ビット列の保護段数ｈｏｇｏ（４）〜ｈｏｇｏ（６）において「３」になっているものがあるか否かを判別する。存在するならば、同期ビット列が複数の位相で検出されていることになるので、真正の同期ビット列が不明である。したがって、この場合には、さらに監視範囲を後方３ビット分増やして、検出される同期ビット列が１つになるまで繰り返すか、または、初めから同期ビット列の検出をやり直すようにする。
【００９８】
かくして、真正の同期ビット列が検出されない限りは復号部２５のインデックスの復号処理が行われないようにできる。
【００９９】
【発明の効果】
以上説明したように本発明では、まず、音声符号器において、雑音成分付加手段が入力音声信号に雑音成分を付加する。これにより、入力音声信号が元々、同期ビット列と同じ周期を持ち、完全な周期性を備えていた信号であっても、その周期性が失われてしまう。したがって、この周期性が失われた入力音声信号を基に、ベクトル符号化手段、量子化信号ベクトル作成手段、およびコードブックインデックス送信手段によりコードブックインデックスを作成して音声復号器に送信しても、音声復号器において擬似同期が発生する恐れは無くなる。
【０１００】
また、音声符号器において、コードブックインデックス送信手段が、コードブックインデックス選択手段で選択されたコードブックインデックスを監視し、同期パターンと同じパターンを持つビット列があった場合に、そのビット列の一部のビットを反転した上で音声復号器へ送信する。したがって、この処理を施されたコードブックインデックスを受信した音声復号器において擬似同期が発生する恐れは無くなる。
【０１０１】
また、音声復号器において、同期ビット列検出手段が、受信したコードブックインデックスに所定パターンの同期ビット列が含まれていることを所定の後方保護段数に亘って検出する。この同期ビット列検出手段によって検出された同期ビット列が真正な同期ビット列であるか否かを確認手段により確認し、確認された同期ビット列に基づき、同期処理手段が、受信されたコードブックインデックスを同期処理する。ここでは、確認手段により真正であると確認された同期ビット列に基づき同期処理がされるので、擬似同期が発生する恐れは無くなる。
【０１０２】
以上のように、音声符号器で擬似同期ビット列の発生を防止でき、または音声復号器で擬似同期パターンに基づきコードブックインデックスを同期処理してしまうことを防止でき、したがって、擬似同期処理によって再生音声信号が再生されなくなることの防止を図ることができる。
【図面の簡単な説明】
【図１】本発明の第１の原理説明図である。
【図２】本発明の第２の原理説明図である。
【図３】本発明の第３の原理説明図である。
【図４】音声符号器および音声復号器の全体構成を示す図である。
【図５】第１の実施例の構成を示すブロック図である。
【図６】第１の実施例の動作を示すフローチャートである。
【図７】第１の実施例の動作を示すタイミングチャートである。
【図８】第２の実施例の構成を示すブロック図である。
【図９】第２の実施例の動作を示すフローチャートである。
【図１０】比較時のバッファを示す図である。
【図１１】シフト時のバッファを示す図である。
【図１２】第３の実施例の構成を示すブロック図である。
【図１３】第３の実施例の動作の前半を示すフローチャートである。
【図１４】第３の実施例の動作の後半を示すフローチャートである。
【図１５】パターンの比較を示す図である。
【図１６】第４の実施例の構成を示すブロック図である。
【図１７】第４の実施例の動作を示すフローチャートである。
【図１８】第４の実施例の動作を示すタイミングチャートである。
【図１９】第５の実施例の動作を示すフローチャートである。
【図２０】第５の実施例の動作を示すタイミングチャートである。
【図２１】第６の実施例の動作を示すフローチャートである。
【図２２】第６の実施例の第１の動作を示すタイミングチャートである。
【図２３】第６の実施例の第２の動作を示すタイミングチャートである。
【図２４】第６の実施例の第３の動作を示すタイミングチャートである。
【図２５】従来のベクトル符号化方式の概略図である。
【図２６】コードブックを示す図である。
【図２７】コードブック探索手順を示すフローチャートである。
【図２８】入力信号およびインデックスを示す図である。
【図２９】各インデックスを縦配列した図である。
【符号の説明】
１  ベクトル符号化手段
２  コードブック
３  量子化信号ベクトル作成手段
４  コードブックインデックス送信手段
５  雑音成分付加手段
６  ベクトル符号化手段
７  コードブック
８  量子化信号ベクトル作成手段
９  コードブックインデックス選択手段
１０  コードブックインデックス送信手段
１１  同期ビット列検出手段
１２  確認手段
１３  同期処理手段
１４  コードブック
１５  再生信号出力手段
【図１】
0003585971.tif 000002
【図２】
0003585971.tif 000003
【図３】
0003585971.tif 000004
【図４】
0003585971.tif 000005
【図５】
0003585971.tif 000006
【図６】
0003585971.tif 000007
【図７】
0003585971.tif 000008
【図８】
0003585971.tif 000009
【図９】
0003585971.tif 000010
【図１０】
0003585971.tif 000011
【図１１】
0003585971.tif 000012
【図１２】
0003585971.tif 000013
【図１３】
0003585971.tif 000014
【図１４】
0003585971.tif 000015
【図１５】
0003585971.tif 000016
【図１６】
0003585971.tif 000017
【図１７】
0003585971.tif 000018
【図１８】
0003585971.tif 000019
【図１９】
0003585971.tif 000020
【図２０】
0003585971.tif 000021
【図２１】
0003585971.tif 000022
【図２２】
0003585971.tif 000023
【図２３】
0003585971.tif 000024
【図２４】
0003585971.tif 000025
【図２５】
0003585971.tif 000026
【図２６】
0003585971.tif 000027
【図２７】
0003585971.tif 000028
【図２８】
0003585971.tif 000029
【図２９】
0003585971.tif 000030