(57)【特許請求の範囲】
【請求項１】
音声符号を複数のクラスに分けると共に各クラスの音声符号をそれぞれ所定ビットレートに応じたビット数で表現し、１つのクラスの音声符号に一定長のチェックコードを付加し、かつ、各クラスの音声符号に誤り訂正符号化処理を施し、各クラスの誤り訂正符号化処理が施された音声符号を、前記チェックコードを付加したクラスであるチェックコード付加クラスを先頭にして多重して送信する通信システムにおける受信装置において、
各クラスのビットレートの組み合わせ候補を複数保持するビットレートの候補保持部、
前記チェックコード付加クラスの音声符号が、各ビットレート組み合わせ候補におけるチェックコード付加クラスのビットレートに応じたビット数で表現されているものと仮定してチェックコード付加クラスに対応する受信データに誤り訂正復号処理を施す復号処理部、
前記チェックコードを用いて前記復号結果が正しいかの検査を行う検査手段、
前記検査により復号結果が正しいと判定した時点で、その時のビットレートの組み合わせ候補における各クラスのビットレートに応じたビット数を各クラスの音声符号を表現するビット数であると判別するビット数判別部、
を備えたことを特徴とする受信装置。
【請求項２】
前記判別された各クラスの音声符号のビット数に基いて、チェックコード付加クラス以外のクラスについて誤り訂正復号処理を行う手段、
各クラスの音声符号を用いて音声信号を復元する音声復元部、
を備えたことを特徴とする請求項１記載の受信装置。
【請求項３】
前記検査により復号結果が正しいと判定したとき、その時のビットレートの組み合わせ候補を記憶する記憶部を備え、
前記送信時間間隔毎に受信データより各クラスの音声符号を分離して音声復元部に入力する際、前記復号処理部は、前記チェックコード付加クラスの音声符号が該記憶部に記憶されているビットレート組み合わせ候補のチェックコード付加クラスのビットレートに応じたビット数で表現されているものと仮定して受信データに誤り訂正復号処理を施し、前記チェックコード検査により復号結果が正しくないと判明したとき、復号結果が正しくなるまで、別のビットレート組み合わせ候補における該チェックコード付加クラスのビットレートに応じたビット数で表現されているものと仮定して受信データに誤り訂正復号処理を施す、
ことを特徴する請求項１記載の受信装置。
【請求項４】
無音状態が所定回数連続したか監視する無音状態監視部を備え、
前記送信時間間隔毎に受信データより各クラスの音声符号を分離して音声復元部に入力する際、前記復号処理部は、無音状態が所定回数連続していれば、前記チェックコード付加クラスの音声符号は予め定められたビットレート組み合わせ候補のチェックコード付加クラスのビットレートに応じたビット数で表現されているものと仮定して受信データに誤り訂正復号処理を施し、前記チェックコード検査により復号結果が正しくないと判明したとき、復号結果が正しくなるまで、別のビットレート組み合わせ候補における該チェックコード付加クラスのビットレートに応じたビット数で表現されているものと仮定して受信データに誤り訂正復号処理を施す、
ことを特徴する請求項１記載の受信装置。
【請求項５】
所定送信時間間隔の音声符号を複数のクラスに分けると共に各クラスの音声符号をそれぞれ所定ビットレートに応じたビット数で表現し、１つのクラスの音声符号に一定長のチェックコードを付加し、かつ、各クラスの音声符号に誤り訂正符号化処理を施し、各クラスの誤り訂正符号化処理が施された音声符号を、前記チェックコードを付加したクラスであるチェックコード付加クラスを先頭にして多重して送信するＣＤＭＡ通信システムにおける受信方法において、
各クラスのビットレートの組み合わせ候補を複数保持し、
チェックコード付加クラスの音声符号が、各ビットレートの組み合わせ候補におけるチェックコード付加クラスのビットレートに応じたビット数で表現されているものと仮定してチェックコード付加クラスに対応する受信データに誤り訂正復号処理を施し、
前記チェックコードを用いて前記復号結果が正しいかの検査を行い、該検査により復号結果が正しいと判定した時点で、その時のビットレート組み合わせ候補における各クラスのビットレートに応じたビット数を各クラスの音声符号を表現するビット数であると判別してビット数判別処理を終了し、
前記判別された各クラスの音声符号のビット数に基いて、チェックコード付加クラス以外のクラスについて誤り訂正復号処理を行い、
各クラスの音声符号を用いて音声信号を復元する、
ことを特徴とする受信方法。
【請求項６】
前記チェックコード検査により復号結果が正しくないと判明したとき、復号結果が正しくなるまで、チェックコード付加クラスの音声符号が別のビットレート組み合わせ候補における該チェックコード付加クラスのビットレートに応じたビット数で表現されているものと仮定して受信データに誤り訂正復号処理を施す、
ことを特徴とする請求項５記載の受信方法。
【請求項７】
前記検査により復号結果が正しいと判定されたとき、その時のビットレート組み合わせ候補を記憶し、
前記送信時間間隔毎に受信データより各クラスの音声符号を分離して音声復元部に入力する際、前記チェックコード付加クラスの音声符号は前記記憶されているビットレート組み合わせ候補のチェックコード付加クラスのビットレートに応じたビット数で表現されているものと仮定して受信データに誤り訂正復号処理を施す、
ことを特徴する請求項５記載の受信方法。
【請求項８】
無音状態が所定回数連続したか監視し、
無音状態が所定回数連続していれば、前記送信時間間隔毎に受信データより各クラスの音声符号を分離して音声復元部に入力する際、前記チェックコード付加クラスの音声符号は背景雑音に応じたビットレート組み合わせ候補のチェックコード付加クラスのビットレートに応じたビット数で表現されているものと仮定して受信データに誤り訂正復号処理を施す、
ことを特徴する請求項６記載の受信方法。
【発明の詳細な説明】
技術分野
本発明は、ＣＤＭＡ通信システムにおける受信装置及び受信方法に係わり、特に、ＡＭＲ（Ａｄａｐｔｉｖｅ  Ｍｕｌｔｉ−Ｒａｔｅ；適応マルチレート）方式などの音声符号化方式で符号化された所定送信時間間隔の音声符号を複数のクラスに分けると共に各クラスの音声符号をそれぞれ所定ビットレートに応じたビット数で表現し、所定クラスの音声符号に一定長のチェックコードを付加し、かつ、各クラスの音声符号に誤り訂正符号化処理を施し、各クラスの誤り訂正符号化処理が施された音声符号を、前記チェックコード付加クラスを先頭にして多重して送信するＣＤＭＡ通信システムにおける受信装置及び受信方法に関する。
背景技術
３ＧＰＰ規格に準ずるＷ−ＣＤＭＡシステムにおいて、端末装置は基地局装置から複数のトランスポートチャネルＴｒＣＨの多重データを受信する際、１０ｍｓのフレーム毎に各フレームにマッピングされているＴＦＣＩビット（Ｔｒａｎｓｐｏｒｔ  Ｆｏｒｍａｔ  Ｃｏｍｂｉｎａｔｉｏｎ  Ｉｎｄｉｃａｔｏｒ）を復号する。そして、このＴＦＣＩビットに基いて、各トランスポートチャネルＴｒＣＨのビットレート、すなわち単位時間あたりの情報ビット長（トランスポートフォーマット）を識別する。しかる後、端末装置は、識別したトランスポートフォーマットに基いて受信した多重データより各トランスポートチャネルの送信データを分離する。
ところで、低ユーザレートのチャネルに関しては、このＴＦＣＩビットが存在しない場合がある。その際、ＣＲＣチェックを利用したＢＴＦＤ（Ｂｌｉｎｄ  Ｔｒａｎｓｐｏｒｔ  Ｆｏｒｍａｔ  Ｄｅｔｅｃｔｉｏｎ）処理により各トランスポートチャネルＴｒＣＨにおけるトランスポートフォーマットを判別して受信多重データより各トランスポートチャネルの送信データを再生する。
３ＧＰＰ規格によれば、ＢＴＦＤ処理は音声符号の受信に際して適用される。すなわち、送信側の音声コーデック部は音声信号を例えばＡＭＲ方式により、▲１▼人間の声道を表現するＬＳＰパラメータ、▲２▼音声の周期性を表現するピッチ周期成分、▲３▼音声に含まれる雑音成分、▲４▼ピッチ周期成分のゲイン、▲５▼雑音成分のゲインで表現し、入力音声よりこれら各要素を抽出して量子化し、量子化データを音声符号として出力する。ＬＳＰパラメータ、ピッチ周期成分、ピッチゲインは重要であり、第１のトランスポートチャネル（クラスＡのＴｒＣＨ）に分配し、雑音成分や雑音ゲインは少しぐらいエラーが乗っても致命的でないため、第２、第３のトランスポートチャネル（クラスＢ，ＣのＴｒＣＨ）に分配する。
送信装置は、音声コーデック部より得られた各クラスの音声符号をそれぞれ所定ビットレートに応じたビット数で表現し、クラスＡの音声符号に一定長のチェックコードを付加し、かつ、各クラスの音声符号に誤り訂正符号化処理を施し、各クラスの誤り訂正符号化処理が施された音声符号を、前記チェックコード付加クラスＡを先頭にして多重して送信する。
受信装置は、ＣＲＣチェックを利用したＢＴＦＤ処理により各クラスＡ〜ＣのトランスポートチャネルＴｒＣＨにおけるトランスポートフォーマット（ビット長）を判別し、該ビット長に基いて受信した各クラスの音声符号を抽出し、音声コーデックに入力し、音声コーデックは音声符号より音声信号を復元して出力する。なお、受信側において、受信物理チャネルは高位レイヤにてロジカルチャネルに遷移するが、物理チャネル〜ロジカルチャネルに遷移する間に、トランスポートチャネル（ＴｒＣＨ）という状態に遷移する。音声はＴｒＣＨが３チャネルで１つのロジカルチャネルとなり、各ＴｒＣＨがそれぞれ、Ｃｌａｓｓ  Ａ，Ｃｌａｓｓ  Ｂ，Ｃｌａｓｓ  Ｃのトランスポートチャネルとなる。
図９は従来の移動局の構成図である。送信に際して、音声コーデック部１はマイク２から入力する音声信号を送信時間間隔ＴＴＩ＝２０ｍｓ毎にＡＭＲ符号化方式により音声符号に変換し、クラスＡ〜Ｃの音声符号としてデータ分配部４に入力する。データ分配部４は音声コーデックからの指示によりクラスＡ〜Ｃの音声符号を選択的に符号化時間長２０ｍｓの送信バッファ部５１〜５３に入力する。
各送信バッファ部５１〜５３はクラスＡ〜Ｃの音声符号（送信データ）を２０ｍｓ毎に図示しないバッファメモリに書き込むと共に、次段のエンコード処理部６１〜６３に入力する。
エンコード処理部６１〜６３はそれぞれ時間２０ｍｓの送信データを畳み込み符号あるいはターボ符号に従って符号化し（クラスＡについてはＣＲＣチェックビット付加後）、フレーム単位（１０ｍｓ単位）に分割して多重部７に入力する。多重部７は各エンコード処理部６１〜６３から入力する誤り訂正符号化データを１０ｍｓ毎に多重して１フレーム分の多重データを作成し、多重された符号化データを同相成分（ＩＮ−Ｐｈａｓｅ  ｃｏｍｐｏｎｅｎｔ）データとして送出する。
制御信号発生部８はパイロットＰＩＬＯ、ＴＦＣＩ、ＴＰＣ等の制御データを直交成分（Ｑｕａｄｒａｔｕｒｅ  ｃｏｍｐｏｎｅｎｔ）データとして一定シンボル速度で出力する。ＱＰＳＫ拡散＆変調器９のＱＰＳＫ拡散器９ａは入力される同相成分（Ｉｃｈ成分）、直交成分（Ｑｃｈ成分）に所定の拡散コードを用いて拡散変調を施し、ＤＡ変換してＱＰＳＫ直交変調器９ｂに入力する。直交変調器９ｂはＩｃｈ信号、Ｑｃｈ信号にＱＰＳＫ直交変調を施し、無線送信部１０は直交変調器から出力するベースバンド信号を高周波数に周波数変換（ＩＦ→ＲＦ）すると共に、高周波増幅等を行ってアンテナＡＮＴＴより送信する。
受信に際して、無線受信部１１はアンテナＡＴＮＲにより受信した高周波信号をベースバンド信号に周波数変換（ＲＦ→ＩＦ変換）し、しかる後、ベースバンド信号を直交検波して同相成分（Ｉ成分）データと直交成分（Ｑ成分）データを発生し、ＡＤ変換して逆拡散復調部１２に入力する。逆拡散復調部１２はＩ成分信号、Ｑ成分信号に拡散符号と同じ符号を用いて逆拡散処理を施し、送信されてきた符号化データを復調（同期検波）し、分離部１３に入力する。
分離部１３は入力する多重データよりフレーム毎（１０ｍｓ毎）にクラスＡ〜Ｃのデータを分離し、それぞれデコード処理部１４１〜１４３に入力する。各デコード処理部１４１〜１４３は１０ｍｓのデータを２つ結合して送信時間間隔ＴＴＩ＝２０ｍｓのデータにし、しかる後、クラスＡ〜Ｃのデータに誤り訂正復号処理を施して元のクラスＡ〜Ｃの音声符号データを復号し、受信バッファ部１５１〜１５３のバッファメモリに書き込む。受信バッファ部１５１〜１５３はバッファメモリから同期してクラスＡ〜Ｃの音声符号データを読み出してデータ分配部４に入力し、データ分配部４は各クラスの音声符号データを音声コーデック１に入力する。音声コーデック部１は音声符号より音声信号を復元してスピーカ３より出力する。
以上要約すれば、Ｗ−ＣＤＭＡシステムにおける送信側チャネルコーデック部２１は、上位レイヤよりクラスＡ〜Ｃの音声符号データを受け取り、クラスＡ〜Ｃのトランスポートチャネル（ＴｒＣＨ）毎に符号化処理を行ない、符号化したデータを多重して物理チャネルにマッピングして送信する。逆に、受信側チャネルコーデック部２２は、物理チャネル上の多重データよりクラスＡ〜Ｃのトランスポートチャネル（ＴｒＣＨ）毎にデータを分離して復号処理を行ない、その結果（クラスＡ〜Ｃの音声符号）を上位レイヤに受け渡す。
送信側の音声コーデック部１は前述のようにマイク２から入力する音声信号を送信時間間隔ＴＴＩ＝２０ｍｓ毎にＡＭＲ符号化方式により音声符号に変換し、クラスＡ〜Ｃの音声符号としてデータ分配部４に入力するが、各クラスの音声符号のビットレート（ビット長）は呼接続時に基地局から指示される。すなわち、基地局は呼接続時に各クラスＡ〜Ｃのビットレートの組み合わせ候補を複数、発信端末及び着信端末にそれぞれ通知すると共に、どの組み合わせのビットレートで音声符号を送信するか指示する。図１０は３ＧＰＰ規格における音声フォーマット（ビットレートの組み合わせ候補）の一例であり、ＴＴＩ＝２０ｍｓ毎に符号化した各クラスＡ〜Ｃの音声符号を表現するためのビット長を示している。図１０には１０種類のビットレートの組み合わせが示され、それぞれを特定するためにフレームタイプ番号が付されている。ビットレートの組み合わせ候補は分類すると、▲１▼無音のビットレート組み合わせ（１１１１）、▲２▼背景雑音のビットレート組み合わせ（０００１）、▲３▼有音のビットレート組み合わせ（００００〜１１１０）がある。有音の場合、どのビットレート組み合わせを使用するかは、呼接続時の通信トラフィックによって決定される。具体的には、トラフィックが空いているときは、高ビットレート１２．２ｋｂｐｓで高品質の音声データのやりとりを行うが、逆にトラフィックが混んでいるときは、混雑度に応じて低いレートに変えて送受信データのビット長を小さくする。なお、有音のビットレートの組み合わせは呼接続時に一度、決定されると終話時まで、そのビットレートは維持され、中間でビットレートの切り替えはしない。現状では、有音のビットレート組み合わせは１２．２ｋｂｐｓのフレームタイプ１１１０だけである。
背景雑音は聴感上の自然さを与えるために必要なものである。人間の会話には、音声のある区間（有音区間）と、話の区切りや相手の話を黙って聞いている音声の無い区間（無音区間）が存在する。また、一般には、音声にオフィス、自動車または街路などで生じる背景雑音が重畳される。従って、実際の音声通信では、音声に背景雑音が重畳されている区間（有音区間）と背景雑音のみの区間（無音区間）が存在することになる。そのため、無音区間を検出し、無音区間の情報伝送を停止することにより大幅な伝送量の削減が可能となる。しかし、無音区間で何もしないか、あるいは一定レベルの雑音を出力せざるを得ないため不自然で、聴取者に違和感が生じる。そこで、図１１に示すように無音状態が継続し、７回無音フレームが連続したとき、背景雑音を生成するために必要な１つの背景雑音フレームを挿入し、これにより背景雑音の伝送量を少なくしつつ、受信側で自然な違和感の無い再生を可能にする。
基地局は呼接続時に図１０に示す各クラスＡ〜Ｃのビットレートの組み合わせ候補を発信端末及び着信端末にそれぞれ通知すると共に、フレームタイプ番号でどの組み合わせのビットレートで音声符号を送信するかを指示する。発信端末の音声コーデック部１（図９）は、基地局より指示されたビット長で各クラスの音声符号を表現し、送信側チャネルコーデック部２１はクラスＡの音声符号に一定長のＣＲＣチェックコードを付加し、各クラスの音声符号に誤り訂正符号化処理を施し、フレーム単位（１０ｍｓ単位）に分割し、各クラスの誤り訂正符号化データを１０ｍｓ毎に多重して１フレーム分の多重データを作成して送出する。着信端末の受信側チャネルコーデック部２２は多重データより各クラスのデータを分離し、それぞれに復号処理を施す。
図１２は分離された後のＴＴＩ＝２０ｍｓの各クラスのデータ構成であり、（Ａ）はクラスＡのデータ構成図、（Ｂ），（Ｃ）はクラスＢ，Ｃのデータ構成図である。クラスＡのデータは、▲１▼基地局より指示されたフレームタイプに応じたビット長を有するクラスＡの音声符号部分Ａ１、▲２▼一定長のＣＲＣチェック符号部分Ａ２、▲３▼エンプティ部分Ａ３で構成されている。クラスＢ，Ｃのデータは、▲１▼基地局より指示されたフレームタイプに応じたビット長の音声符号部分Ｂ１，Ｃ１、▲２▼エンプティ部分Ｂ２，Ｃ２で構成されている。尚、エンプティ部分には信号の送信がされていないが、雑音による信号が送信されている。
受信側チャネルコーデック２２は図１２に示す構成のデータより音声符号部分Ａ１，Ｂ１，Ｃ１（雑音による信号を除去して）のみを正確に切り取って音声コーデック部に入力しなければならない。そこで、従来はＣＲＣチェックを利用したＢＴＦＤ（Ｂｌｉｎｄ  Ｔｒａｎｓｐｏｒｔ  Ｆｏｒｍａｔ  Ｄｅｔｅｃｔｉｏｎ）処理により各クラスの音声符号のビット長を判別して分離する。すなわち、受信側チャネルコーデック部２２は、クラスＡの音声符号が、図１０に示す各フレームタイプにおけるクラスＡの単位時間当たりのビット数（０，３９，４２，４９，．．８１）で表現されているものと仮定して受信データに誤り訂正復号処理を施す。尚、ビット数の小さい順に番号ｎｅｎｄ＝１，２，．．が付される。
しかる後、復号データに対してＣＲＣチェックにより全てのパターンについて一通り復号結果が正しいかの検査を行ってから、該検査により復号結果が正しいと判定したものを検索し、図１０を参照してその時のビットレートの組み合わせにおける各クラスの単位時間当たりのビット数（ビットレート）を求め、該ビット数を各クラスの音声符号を表現するビット数であると判別する。各クラスのビット長が判別すれば、受信側チャネルコーデック２２は図１２（Ａ）〜（Ｃ）に示す構成のデータより音声符号部分のみを正確に切り取って音声コーデック部に入力する。
以下ではＢＴＦＤ処理について説明するが、その前にＢＴＦＤ処理を理解する上で必要な畳み込み符号及びビタビ復号を説明する。
図１３は畳み込み符号器の例であり、２ビットのシフトレジスタＳＦＲと２つの排他的論理和回路ＥＸＯＲ１，ＥＸＯＲ２を備え、ＥＸＯＲ１は入力とＲ１の排他的論理和ｇ０を出力し、ＥＸＯＲ２は入力とＲ０とＲ１の排他的論理和ｇ１（”１”が奇数のとき出力は”１”、それ以外は”０”）を出力する。したがって、入力データが０１１０１の場合における畳み込み符号器の入出力関係及びシフトレジスタＳＦＲの状態は図１４に示すようになる。
畳み込み符号器のシフトレジスタＳＦＲの内容はｓｔａｔｅ（状態）と定義され、図１５に示すように００，０１，１０，１１の４つの状態があり、それぞれを状態ａ，状態ｂ，状態ｃ，状態ｄと表現する。図１３の畳込み符号器ではシフトレジスタＳＦＲの状態がａ〜ｄのいずれの状態であるか、及び、次に入力するデータが”０”であるか”１”であるかにより、出力（ｇ０，ｇ１）及び次の状態が一意に決まる。図１６はかかる畳込み符号器の状態と入出力の関係図であり、点線は”０”入力、実線は”１”入力を示している。例えば、
（１）状態ａにおいて、”０”が入力すると出力は００で状態はａになり、”１”が入力すると出力は１１で状態はｃになる。
（２）状態ｂにおいて、”０”が入力すると出力は１１で状態はａになり、”１”が入力すると出力は００で状態はｃになる。
（３）状態ｃにおいて、”０”が入力すると出力は０１で状態はｂになり、”１”が入力すると出力は１０で状態はｄになる。
（２）状態ｄにおいて、”０”が入力すると出力は１０で状態はｂになり、”１”が入力すると出力は０１で状態はｄになる。
この入出力関係を用いて図１３の畳み込み符号器の畳み込み符号を格子状表現すると図１７（ａ）に示すようになる。ただし、ｋは第ｋビット入力時点を意味し、符号器における初期（ｋ＝０）の状態はａ（００）である。又、点線”０”入力、実線は”１”入力を示し、線上の２つの数値は出力（ｇ０，ｇ１）を示している。したがって、初期状態ａ（００）において、”０”が入力すると出力は００で状態はａになり、”１”が入力すると出力は１１で状態はｃになることがわかる。
この格子状表現図を参照すると、原データが１１００１であれば、図１７（ｂ）の２点鎖線で示すパスを介して状態ｃに至り、符号器出力は
１１→１０→１０→１１→１１
となることがわかる。
復号器の受信データ（ｇ０，ｇ１）が１１→１０→１０→１１→１１で誤りのない理想状態を想定すると、図１８（ａ）の２点鎖線で示すパスが得られ、点線を”０”、実線を”１”とすることにより、図１８（ｂ）に示すように１１００１の復号結果を得ることができる。しかし、実際には、受信データに誤りが含まれる場合が多い。図１８（ｃ）に示すように、第５ビット目に誤りが発生し、硬判定受信データ（ｇ０，ｇ１）が１１→１０→００→１１→１１であるとすると、ｋ＝２のデータ入力時点で１０，０１のどちらへ分岐すべきか迷う（エラー回数ＥＲＲ＝１）。１０とみなして上側のパスを選択すると、ｋ＝３，ｋ＝４で迷うこと無く状態ｃに至る。したがって、２点鎖線パスでのエラー回数ＥＲＲ＝１となり、その時の復号結果は１１００１となる。一方、ｋ＝２のデータ入力時点で０１とみなして下側のパスを選択すると、ｋ＝３の時点でも、どちらへ分岐すべきか迷い、総エラー回数ＥＲＲ＝２となる。以後、同様にパスを選択し、分岐に迷った時にＥＲＲをカウントアップすると、最終的に以下の結果が得られる。すなわち、
復号結果を１１００１とした時の総エラー回数ＥＲＲ：１
復号結果を１１１００とした時の総エラー回数ＥＲＲ：２
復号結果を１１１０１とした時の総エラー回数ＥＲＲ：４
復号結果を１１１１０とした時の総エラー回数ＥＲＲ：３
復号結果を１１１１１とした時の総エラー回数ＥＲＲ：３
となる。そこで、エラー回数ＥＲＲが最小の復号結果１１００１を選択して出力する。このようにすれば、受信データに誤りがあっても原データ１１００１を正しく復元できる。
ところで、以上のように受信データに基づいて可能な全パスのエラー回数ＥＲＲを求め、そのうち最小のパスより原データを復号する処理は煩雑である。そこで、ビタビ復号は以下のように行う。尚、受信データは硬判定の結果１１１０００であったとする。図１８のｋ＝３の状態ａでは、２つの入力パスがある。その該当するパスのみを取り出して記述したものを図１９（ａ）に示す。２つのパスとは図中に示したパス（１）とパス（２）である。受信データと各パスで得られる復号データとの間のハミング距離（以後、パスメトリック値という）を計算すると図１９（ｂ）、（ｃ）に示すように、それぞれ３、４となる。
この計算結果から、「パス（１）をたどって状態ａに到達した」と仮定する方のパスメトリック値が、「パス（２）をたどって状態ａに到達した」と仮定するより小さい。そのため、パス（１）の方が送信されたデータに応じたパスであるという信頼性が高いため生き残りとして残し、他のパスを捨てる。このパスの取捨選択処理を各状態ａ〜ｄについて、時間ｋ＝１から連続して実行すると任意の時間ｋにおける各状態ａ，ｂ，ｃ，ｄにそれぞれ至るパスメトリック値が最小のパス（エラー最小のパス）を求めることができ、以後、同様の取捨選択処理を継続することができる。
以上より、Ｎ個の受信データが入力したとき、ｋ＝Ｎにおける各状態ａ，ｂ，ｃ，ｄにそれぞれ至るパスメトリック値最小（エラー最小）の４本のパスのうち、パスメトリック値が最小のパスを決定し、該パスに基づいて復号データを出力する。図２０は受信データ１１  １０  ００  １１  １１であるときの各時間ｋ（＝１〜５）の各状態ａ〜ｄに至る最短パスを示しており、線上の数値はパスメトリック値である。ｋ＝５のデータ入力時点では、状態ｃに至るパスのパスメトリック値が最小となる。従って、ｋ＝５の時点の状態ｃから該パスに沿ってトレースバック処理を行うとデータ１１００１が得られ、これが復号データとなる。以上の復号アルゴリズムがＶｉｔｅｒｂｉアルゴリズムである。
なお、ｋ＝ｎｅｎｄのデータ入力時点における状態ａ（＝状態０）のパスメトリック値をａ０（ｎｅｎｄ）、各状態ａ〜ｄのうち最大のパスメトリック値をａｍａｘ（ｎｅｎｄ）、各状態のうち最少のパスメトリック値をａｍｉｎ（ｎｅｎｄ）とおくと、符号化データに対して誤りが少ないほどａ０（ｎｅｎｄ）＞ａｍｉｎ（ｎｅｎｄ）の関係が顕著になる特性がある。すなわち、符号化データに対して誤りが少ないほどａ０（ｎｅｎｄ）はより大きくなり、ａｍｉｎ（ｎｅｎｄ）はより小さくなる特性がある。このため、［ａｍａｘ（ｎｅｎｄ）−ａｍｉｎ（ｎｅｎｄ）］に対する［ａ０（ｎｅｎｄ）−ａｍｉｎ（ｎｅｎｄ）］の割合は大きくなる。この特性より、次式
Ｓ（ｎｅｎｄ）＝−１０  ｌｏｇ［｛ａ０（ｎｅｎｄ）−ａｍｉｎ（ｎｅｎｄ）｝／｛ａｍａｘ（ｎｅｎｄ）−ａｍｉｎ（ｎｅｎｄ）｝］［ｄＢ］                                                            （１）
で与えられるＳ（ｎｅｎｄ）値は、誤りが少ないほど小さくなる。ＢＴＦＤ処理においてはこのＳ（ｎｅｎｄ）値が用いられる。ＢＴＦＤ処理は図２１にしたがって詳細に説明するが、概略、以下の処理を段階的に行う。すなわち、
（ａ）ビットレートの候補が複数指定される。
（ｂ）各ビットレート候補におけるクラスＡのビットレートに対して、ビットレートの小さい順（ｎｅｎｄの小さな順）にビタビ復号を行い、Ａｄｄ−Ｃｏｍｐａｒｅ−Ｓｅｌｅｃｔ（以後、ＡＣＳ）処理を行いパスメトリック値を求め、そのパスメトリック値を用いて（１）式によりＳ（ｎｅｎｄ）を計算する。
（ｃ）Ｓ（ｎｅｎｄ）と閾値Ｄとの大小判断を行う。
（ｄ）Ｓ（ｎｅｎｄ）が閾値Ｄより小さければ、最終ビット位置においてパスメトリック値が最小の状態から、トレースバック処理を行う。
（ｅ）トレースバック処理によりえられた復号データに対してＣＲＣチェックを行う。
（ｆ）ＣＲＣチェックがＯＫであれば、今回のＳ（ｎｅｎｄ）とそれまでの最小値であるＳｍｉｎとの比較をおこなう。
（ｂ）〜（ｆ）をビットレートの候補数分行い、ＣＲＣチェック結果がＯＫで、かつ、最終的に最も確からしいもの、すなわち、Ｓ（ｎｅｎｄ）が最小のビットレート候補を選択する。このビットレート候補における各クラスのビット数が各クラスの音声符号を表現するビット数であると決定する。ただし、（ｃ）の結果、Ｓ（ｎｅｎｄ）が閾値Ｄより大きい場合、つまり、確からしさが低い場合は（ｄ），（ｅ），（ｆ）の処理は行わない。
図２１はＢＴＦＤ処理フローである。
上位アプリケーションよりビットレートの候補（図１０）が指定されるから、クラスＡのビットレート（単位時間当たりのビット数）の小さい順に番号付けし、ｎｅｎｄ＝１，２，３，．．．とする（ステップ１０１）。ついで、ｎｅｎｄ＝１、Ｓｍｉｎ＝Ｄ、ｎｅｎｄ′＝０と初期化する（ステップ１０２）。
しかる後、ｎｅｎｄ位置までＡＣＳ処理を行い（ステップ１０３）、（１）式によりＳ（ｎｅｎｄ）を計算する（ステップ１０４）。Ｓ（ｎｅｎｄ）が求まれば、このＳ（ｎｅｎｄ）と閾値Ｄとの大小判断を行う（ステップ１０５）。
Ｓ（ｎｅｎｄ）≦Ｄであれば、ｎｅｎｄ位置のパスメトリック値が最小の状態から、トレースバック処理を行う（ステップ１０６）。ついで、トレースバック処理により得られた復号データに対してＣＲＣチェックを行う（ステップ１０７）。ＣＲＣチェックがＯＫであれば、今回のＳ（ｎｅｎｄ）とそれまでの最小値であるＳｍｉｎとの比較を行う（ステップ１０９）。
Ｓｍｉｎ＞Ｓ（ｎｅｎｄ）であればＳｍｉｎ＝Ｓ（ｎｅｎｄ）として最小値を更新すると共に、ｎｅｎｄ′＝ｎｅｎｄとしてその時のｎｅｎｄ、すなわち、クラスＡにおける音声符号のビット数を保存する（ステップ１１０）。しかる後、ｎｅｎｄが最後の候補であるかチェックし（ステップ１１１）、最後でなければｎｅｎｄ＝ｎｅｎｄ＋１によりｎｅｎｄを歩進し（ステップ１１２）、ステップ１０３以降の処理を繰り返す。
一方、ステップ１０５において、Ｓ（ｎｅｎｄ）＞Ｄであれば、あるいは、ステップ１０８において、ＣＲＣチェックがＮＯであれば、あるいは、ステップ１０９において、Ｓｍｉｎ≦Ｓ（ｎｅｎｄ）であれば、ステップ１１１の処理を行う。
全候補のｎｅｎｄについて上記処理を繰り返せば、ステップ１１１において「ＹＥＳ」となるから、ｎｅｎｄ′＝０であるかチェックし（ステップ１１３）、「ＹＥＳ」であればエラー出力する（ステップ１１４）。しかし、ｎｅｎｄ′＝０でなければ、該ｎｅｎｄ′が最も確からしいビットレートの組み合わせにおけるクラスＡのビットレート（ビット数）と判定し、出力する（ステップ１１５）。以後、図１０のビットレートの組み合わせ候補を参照して他のクラスのビットレート（ビット数）を求める。
図２２はＢＴＦＤ処理を実行する受信側チャネルコーデック部の構成図である。図示しない分離・結合部は多重データよりクラス毎に分離したデータをクラス毎に結合してＴＴＩ＝２０ｍｓの各クラスのデータを作成する。受信データメモリ部２２ａは、このＴＴＩ＝２０ｍｓの各クラスのデータを受信して保持する。ビタビ復号部２２ｂはＡＣＳ演算／パスメトリックメモリ／パスメモリ部３１、トレースバック部３２、トレースバック後メモリ３３を備えている。パスメモリは各時点ｋにおいて、状態ａ，ｂ，ｃ，ｄにそれぞれ至るパスメトリック値が最小の４本のパスをそれぞれ記憶するもの、パスメトリックメモリは各パスのパスメトリック値を記憶するものである。図２０のｋ＝▲５▼の例では、
状態ａに到るパスは１１１００でパスメトリック値は２、
状態ｂに到るパスは１１１１０でパスメトリック値は３、
状態ｃに到るパスは１１００１でパスメトリック値は１、
状態ｄに到るパスは１１１１１でパスメトリック値は３、
である。トレースバック部３２は状態ａ，ｂ，ｃ，ｄに到る４本のパスのうちパスメトリック値が最小となるパスを決定し、該パスに沿ってトレースバック処理を行って復号データを求めてトレースバック後メモリ３３に保存する。
ビタビ復号部は、Ａクラスについてはｎｅｎｄ位置までのデータに対してビタビ復号処理を施す。又、Ｂ，Ｃクラスについてはデータ長が判らないため末尾位置までのビタビ復号処理を行い、各データ長候補に対応する時点ｋにおいて、状態ａ，ｂ，ｃ，ｄにそれぞれ至るパスメトリック値が最小の４本のパスをパスメモリに記憶し、それぞれのパスメトリック値をパスメトリックメモリに記憶する。
ＣＲＣ演算部２２ｃはクラスＡの復号結果に基づいてＣＲＣチェック演算を行う。ＣＲＣチェック演算後メモリ２２ｄは、図９における受信バッファ１５に相当するもので、ＣＲＣチェックＯＫとなり、且つ、ＳｍｉｎとなったときのクラスＡの復号データ（音声符号）を記憶する。又、トレースバック部はＢＴＦＤ処理により決定されたクラスＢ，Ｃのビット数に対応する時点ｋにおける４本のパスのうちパスメトリック値が最小のパスを求め、該パスに沿ってトレースバック処理を行って該クラスＢ，Ｃの音声符号を取得し、ＣＲＣチェック演算後メモリ２２ｄに記憶する。
ＢＴＦＤ制御部は２２ｅは、図２１のフローにしたがってＢＴＦＤ処理を行って各クラスの音声符号のビット数を決定するものであり、候補レート設定／保持部３４は上位レイヤ（上位アプリケーション）４１より通知される複数のビットレート候補を保持すると共に、受信データメモリ部２２ａに所定のビットレートを設定する。
上位レイヤ（上位アプリケーション）４１から、あらかじめ、音声の候補レート情報（図１０に示すクラスＡ，Ｂ，Ｃのｂｉｔ長）がＢＴＦＤ制御部２２ｅに通知され、候補レート設定／保持部３４は通知された候補レート情報（ビットレート組み合わせ情報）を保持する。
一方、図示しない分離部で分離された各クラスの受信データは受信データメモリ部２２ａに保持され、ＢＴＦＤ制御部２２ｅの候補レート設定／保持部３４は複数のビットレート組み合わせ候補におけるクラスＡのビットレートを小さい順に受信データメモリ部２２ａに設定する。
ビットレートを受け取った受信データメモリ部２２ａは、該ビットレートに応じたビット数のクラスＡの受信データをビタビ復号部のＡＣＳ演算／パスメトリックメモリ／パスメモリ部３１に入力する。ＡＣＳ演算／パスメトリックメモリ／パスメモリ部３１はＡＣＳ演算を行い、その演算結果であるパスメトリック値を内蔵のパスメトリックメモリに保持するとともに、最大パスメトリック値ａｍａｘ（ｎｅｎｄ）、最少パスメトリック値ａｍｉｎ（ｎｅｎｄ）、状態ａ（状態０）のパスメトリック値ａ０（ｎｅｎｄ）をそれぞれＢＴＦＤ制御部２２ｅに通知する。
ＢＴＦＤ制御部２２ｅは、Ｓ（ｎｅｎｄ）の計算を行い、さらに、Ｓ（ｎｅｎｄ）と閾値Ｄとの比較を行う。その結果、トレースバックを行うと判断すれば、トレースバック部３２に対して、トレースバック起動情報を入力する。これによりトレースバック部３２はトレースバックを行い、ｎｅｎｄ位置までの復号結果をトレースバック後メモリ部３３に保存する。
しかる後、受信データメモリ部２２ａは、最大レートの組み合わせ（図１０の例ではフレームタイプ１１１０）におけるクラスＢ，Ｃのビットレートに応じたビット数のクラスＢ、クラスＣ受信データをビタビ復号部２２ｂに入力し、ビタビ復号部２２ｂはビタビ復号処理を行い、得られたパスをパスメモリ部に保存する。すなわち、前述のように、各データ長候補に対応する時点ｋにおいて、状態ａ，ｂ，ｃ，ｄにそれぞれ至るパスメトリック値が最小の４本のパスをパスメモリに記憶し、それぞれのパスメトリック値をパスメトリックメモリに記憶する。
クラスＡの復号が終了すれば、トレースバック後メモリ部３３はＣＲＣ演算部２２ｃにＢＴＦＤ制御部２２ｅから通知されたビットレート組み合わせ情報が指示するクラスＡのビット数＋ＣＲＣチェック符号数分の復号結果を入力する。ＣＲＣ演算部２２ｃはＣＲＣチェック演算を行い、そのＣＲＣチェック結果をＢＴＦＤ制御部２２ｅに通知する。ＢＴＦＤ制御部２２ｅは、そのＣＲＣチェック結果をもとに、図２１の処理フローにしたがってＳｍｉｎとＳ（ｎｅｎｄ）の大小を比較し、Ｓｍｉｎ＞Ｓ（ｎｅｎｄ）であれば、Ｓｍｉｎ、ｎｅｎｄ′値の更新を行う。又、ＣＲＣチェックがＯＫで、かつ、Ｓｍｉｎ＞Ｓ（ｎｅｎｄ）の条件が成立すればＣＲＣチェック符号を削除した復号結果をそれまでの復号結果に替えてＣＲＣ演算後メモリ２２ｄに保存する。以後、ＢＴＦＤ制御部２２ｅは、クラスＡについて上記処理をビットレート組み合わせ候補分行えば、その時のｎｅｎｄ′値に応じたビット数をクラスＡの音声符号のビット数であると認識する。なお、ｎｅｎｄ′値に応じたビット数のクラスＡの音声符号データは既にＣＲＣ演算後メモリ２２ｄに格納されている。
ついで、ＢＴＦＤ制御部２２ｅは、ビットレート組み合わせ候補テーブル（図１０）とクラスＡのビット数とからクラスＢ，Ｃの音声符号のビット数を識別する。以後、ＢＴＦＤ制御部２２ｅは、トレースバック部３２を起動し、該トレースバック部はパスメモリ部から、クラスＢ，Ｃのビット長に相当する時点ｋにおける４本のパスのうちパスメトリック値が最小のパスを求め、該パスに沿ってトレースバック処理を行って該クラスＢ，Ｃの音声符号を取得しＣＲＣ演算部２２ｃ経由でＣＲＣ演算後メモリ２２ｄに格納する。ＣＲＣ演算後メモリ２２ｄはクラスＡ，Ｂ，Ｃの音声符号がそろったところで、これら音声符号を音声コーデック部１に１論理チャネルとして送り、音声コーデック部１は受信した音声符号より音声信号を復元する。
３ＧＰＰ規格にのっとった従来のＢＴＦＤ処理では、図２１の処理フローより明らかなように、ビットレートすなわちデータ長の短い順にビタビ復号処理、ＣＲＣチェック演算を行い、最終的に全てのビットレート組み合わせ候補について処理した後に、最も確からしい各クラスの音声符号のデータ長を決定し、受信データより各クラスの音声符号データを切り取って音声コーデック部に入力する。しかし、かかる従来方法では、毎回全てのレート候補について演算するので、処理量が非常に多くなり、消費電流も増加する問題がある。
従来のＢＴＦＤ処理シーケンスでは、真の音声符号と異なるデータ長においてもＣＲＣチェックＯＫが生じることを想定しているため、全ての候補について検出処理を行って特性上良い方に基いて各クラスの音声符号のビット長を決定している。しかし、本来送信している真のデータ長以外で、ＣＲＣチェックＯＫが生じる確率は、ＣＲＣ−ＳＩＺＥ＝１２ｂｉｔとして、２−１２であり、この処理による特性の改善は、微小であると考えざるを得ない。
また、ビットレート組み合わせ候補が無音用、背景雑音用、１２．２ｋ音声データ用の３つの場合を考えると、通話中は１２．２ｋ音声データがある程度続く。それにも拘わらず、従来のシーケンスでは、毎回、無音、背景雑音、１２．２ｋ音声データの順（レートが小さい順）にビタビ復号処理、ＣＲＣチェック演算を行い、結局１２．２ｋ音声データが正しいことを検出して受信するため、処理量が多く消費電流も増加する問題がある。
また、従来のＢＴＦＤ処理シーケンスでは、ビタビ復号、トレースバック処理、ＣＲＣ演算を終えた各クラスの復号結果を一旦ＣＲＣ演算後メモリ２２ｄに格納する。このように従来のＢＴＦＤ処理シーケンスでは、トレースバック後メモリ部とＣＲＣ演算後メモリの両方が必要になるため使用するメモリ数が非常に多くなる問題がある。
以上より本発明の目的は、ＢＴＦＤ処理の処理量及び消費電流を減少でき、しかも、これらを減少しても正しく各クラスの音声符号のビット数を識別し、各クラスの音声符号を正しく分離して音声コーデック部に入力できるようにすることである。
本発明の別の目的は、ＢＴＦＤ処理に使用するメモリ数を減少でき、しかも、使用メモリ数を減少しても正しく各クラスの音声符号のビット数を識別できるようにすることである
発明の開示
本発明の第１は、ＢＴＦＤ処理においてＣＲＣチェックＯＫを検出した時、それ以降のＢＴＦＤ処理を停止し、ＣＲＣチェックＯＫ時のビットレート組み合わせにおける各クラスのビットレートに基いて各クラスの音声符号のビット数を決定し、該ビット数に基いて受信データより各クラスの音声符号を分離して音声コーデック部に入力する。このようにすれば、ＢＴＦＤ処理の処理量及び消費電流を減少でき、しかも、これらを減少しても各クラスの音声符号のビット数を識別し、各クラスの音声符号を正しく分離して音声コーデック部に入力できる。
３ＧＰＰ規格ではクラスＡに付加するＣＲＣチェック符号のサイズは１２ビットと規定されており、このサイズのＣＲＣチェックにより２１２ビット中１ビット以上の誤りを検出することが可能である。図１０の全てのビットレート組み合わせにおいて、クラスＡのビットレートは０〜８１ｂｉｔであり２１２ビットと比較すると非常に小さい。このため、ＣＲＣチェックＯＫであったビットレートが駄目で、別のビットレートが正解となる確立は非常に小さい。
本発明の第２は、ＢＴＦＤ処理においてＣＲＣチェックＯＫとなるまでビットレートの小さい順にビタビ復号、ＣＲＣチェック演算を行う。しかし、ＣＲＣチェックＯＫとなってクラスＡのビットレートが確定した時は、そのときのビットレート組み合わせを送信時間間隔ＴＴＩの間保持し、次のＴＴＩ経過後のＢＴＦＤ処理をこの記憶してあるビットレートの組み合わせにおけるクラスＡのビットレートから開始する。このようにすれば、短時間で各クラスのビット長が判別する確率が大きく、ＢＴＦＤ処理の処理量及び消費電流を減少でき、しかも、これらを減少しても各クラスの音声符号のビット数を識別し、各クラスの音声符号を正しく分離して音声コーデック部に入力できる。
各クラスの音声符号のビット数は、送信側の音声コーデックにより決定される。ところで、音声通話であれば有音部分（１２．２ｋｂｐｓレート）と無音部分はそれぞれ数十秒単位で連続するのが普通であり、音声符号のＴＴＩ単位は２０ｍｓである。このため、音声通話の有音部分／無音部分の変化の間隔は、ＴＴＩ単位に対して長く、現ＴＴＩと次ＴＴＩでレートが変化する確率は、変化しない確率に比べて低いことになる。そのため、第２の発明は、ビットレートが確定したら次ＴＴＩでも同じビットレートでＢＴＦＤ処理を行えば、その時点でＣＲＣチェックＯＫとなり、ビットレートが確定する確率が高くなることを利用するものである。
本発明の第３は、無音状態をカウントし、過去に連続して７回の無音状態を検出すれば、次のＴＴＩでは背景雑音に応じたビットレートからＢＴＦＤ処理を開始する。これは３ＧＰＰ音声コーデックの仕様によれば、８×ＴＴＩの無音状態において１つの背景雑音を挿入するように定義されているからである。このようにすれば、ＢＴＦＤ処理の処理量を減少できる。
本発明の第４では、ＢＴＦＤ処理により確定したフレームタイプ情報（各クラスのビットレートの組み合わせ）を、ＢＴＦＤ制御部から音声コーデック部に通知し、音声コーデック部がこのフレームタイプ情報をもとに、クラスＡの音声符号をＣＲＣ演算後メモリから読み出し、クラスＢ，Ｃの音声符号はトレースバック後メモリから読み出す。このようにすれば、ＣＲＣ演算後メモリにクラスＢ，Ｃの音声符号を保持する必要がなくなり、使用メモリ数を減少できる。なお、ＣＲＣ演算後メモリを削除し、音声コーデック部が通知されるフレームタイプ情報をもとに、クラスＡ，Ｂ，Ｃの音声符号をトレースバック後メモリから読み出すように構成することもできる。このようにすれば、ＣＲＣ演算後メモリを削除できるためますます使用メモリ数を減少できる。
発明を実施するための最良の形態
（Ａ）Ｗ−ＣＤＭＡシステムにおける移動端末の構成
図１は本発明のＷ−ＣＤＭＡシステムにおける移動端末の概略構成図であり、入力音声信号を符号化すると共に、音声符号を音声信号に復元して出力する音声コーデック部５１、音声符号に誤り訂正符号化処理（チャネルエンコード処理）を施して出力する送信側チャネルコーデック部５２、送信データを拡散変調する変調部５３、拡散変調されたベースバンド信号を高周波信号に変換して送信アンテナＡＮＴＴより送信する送信部５４、受信アンテナＡＮＴＲにより受信した受信信号をベースバンド信号に復調する受信部６１、ベースバンド信号を逆拡散する復調部６２、逆拡散された受信データに誤り訂正復号処理（チャネルデコード処理）を施し、復号された音声符号を音声コーデック部５１に入力する受信側チャネルコーデック６３、ＢＴＦＤ制御を行う制御プロセッサー（ＢＴＦＤ制御部）７１を有している。
音声コーデック部５１はＡＭＲ音声符号化方式により音声信号をＴＴＩ＝２０ｍｓ毎に符号化し、得られた音声符号をクラスＡ〜Ｃの３つに分け、それぞれを所定のビットレートに応じたビット長で表現し、各クラスの音声符号を３つのトランスポートチャネルＴｒＣＨで送信するように送信側チャネルコーデック部５２に入力する。呼接続時に基地局は発信端末及び着信端末にそれぞれ各クラスＡ〜Ｃのビットレートの組み合わせ候補を複数（図１０参照）通知すると共に、どの組み合わせのビットレートで音声符号を送信するのかを指示する。音声コーデック部５１は該指示された組み合わせの各クラスのビットレートに応じたビット数で音声符号を表現してチャネルコーデック部５２に入力する。
送信側チャネルコーデック部５２は、クラスＡの音声符号に一定長のＣＲＣチェックコードを付加し、ついで、各クラスＡ〜ＣのＴＴＩ＝２０ｍｓの音声符号にビタビ符号化処理を施して符号化し、レートマッチングしてからフレーム単位（１０ｍｓ単位）に分割し、１０ｍｓ毎に各クラスの誤り訂正符号化処理が施された音声符号データをクラスＡを先頭にして多重し、変調部５３、送信部５４を介して送信する。
受信チャネルコーデック部６３は受信部６１、復調部６２を介して入力する多重データより、フレーム毎（１０ｍｓ毎）にクラスＡ〜Ｃのデータを所定間隔で分離すると共に、各クラスの１０ｍｓの受信データを２つ結合して送信時間間隔ＴＴＩ＝２０ｍｓのデータにし、しかる後、クラスＡ〜Ｃのデータに誤り訂正復号処理を施して元のクラスＡ〜Ｃの音声符号データを復号し、音声コーデック５１に入力する。この際、受信チャネルコーデック部６３は各クラスの所定ビット長の音声符号データを正しく分離して音声コーデック部に入力する必要がある。このため、ＢＴＦＤ制御部７１はＢＴＦＤ処理により各クラスの音声符号データのビット長を識別し、受信チャネルコーデック部６３は識別されたビット長の各クラスの音声符号データを復号結果から切り取って音声コーデック部５１に入力する。なお、ＢＴＦＤ処理において受信チャネルコーデック部６３はクラスＡの復号データに対してＣＲＣチェック演算を行い、ＢＴＦＤ制御部７１はＣＲＣチェック結果に基づいて各クラスの音声符号データのビット長を識別する。
（Ｂ）送信側／受信側チャネルコーデック部の処理
図２は送信側チャネルコーデック部５２及び受信側チャネルコーデック部６３の処理説明図である。音声コーデック部５１からの各クラスＡ〜Ｃの音声符号データは、送信側チャネルコーデック５２に入力する。送信側チャネルコーデック５２はクラスＡの音声符号データに、ＣＲＣチェックビットを付加し（ステップ２０１）、ついで、各クラスの音声符号データにビタビ符号化処理を施す（ステップ２０２）。しかる後、送信側チャネルコーデック５２は、符号化した各クラスのデータに１ｓｔインタリーブ処理を行ない（ステップ２０３）、その後レートマッチング操作（各ＴｒＣＨの許容レートに収まるようにデータの伸縮操作）を行なう（ステップ２０４）。送信側チャネルコーデック５２はレートマッチング処理を行なった各クラスの符号化データを１０ｍｓ毎に分割し、１０ｍｓ毎に各クラスの符号化データをクラスＡが先頭となる順番で多重化（ステップ２０５）、この多重データに２ｎｄインタリーブ処理を施して（ステップ２０６）、変調部（ＭＯ部）５３へ入力する。変調部５３はＱＰＳＫ拡散およびＱＰＳＫ変調を行い、送信部５４はＲＦ信号に変換してアンテナより送信する。尚、レートマッチングは伸縮率に制限があり、許容レートに満たない場合は、その部分に所定のデータが挿入され、そのデータの挿入区間では送信を行わないこととする。図１２のＡ３のエンプティ期間に対応する。
受信に際して、受信部６１はＲＦ信号からベースバンド信号に変換し、復調部（ＤＥＭ部）６２はＱＰＳＫ復調およびＱＰＳＫ逆拡散／レーク合成して受信データを復調し、復調データを受信側チャネルコーデック部６３に入力する。受信側チャネルコーデック部６３は、受信した多重データに２ｎｄデインタリーブ処理を施し（ステップ２０７）、ついで、１０ｍｓデータ毎に受信した多重データをクラスＡ〜Ｃ毎に分離した１０ｍｓデータをクラス毎に結合してＴＴＩ＝２０ｍｓのデータを生成する（ステップ２０８）。以後、受信側チャネルコーデック部６３は、クラス毎に受信データに１ｓｔデインタリーブ処理を行ない（ステップ２０９）、ビタビ復号処理を施して復号し（ステップ２１１）、復号後、クラスＡの復号データにＣＲＣチェック処理を施し、ＢＴＦＤ制御にしたがって該ＣＲＣチェック結果に基づいて各クラスの音声符号データのビット長を識別し（ステップ２１２）、該ビット長に基いて各クラスの音声符号を音声コーデック部５１に入力する。
（Ｃ）各クラスのデータフォーマット及び多重／分離動作
図３は送信側チャネルコーデック部における各クラスのデータフォーマット及び多重データ構成説明図である。音声コーデック部５１はＡＭＲ音声符号化方式により音声信号をＴＴＩ＝２０ｍｓ毎に符号化し、得られた音声符号をクラスＡ〜Ｃの３つに分け、それぞれを所定のビットレート、例えば、図１０に示す最大レートのフレームタイプ１１１０に応じたビット長（クラスＡ：８１ビット、クラスＢ：１０３ビット、クラスＣ：６０ビット）で表現し、各クラスの音声符号を送信側チャネルコーデック部５２に入力する（（ａ）参照）。
送信側チャネルコーデック部５２は、クラスＡの音声符号に一定長、例えば１２ビットのＣＲＣチェックコードを付加し（（ａ））、ついで、ＴＴＩ＝２０ｍｓの各クラスの音声符号にビタビ符号化処理、インタリーブ処理、レートマッチング処理を施して符号化データを発生する（ｂ）、（ｃ）参照）。畳み込み符号化処理、レートマッチング処理により各クラスのビット長は８１′、１０３′、６０′に増大する。畳み込み符号の符号化率をｎとすれば各クラスの符号化データの長さは元の長さのｎ倍＋α（αはレートマッチングにより増減する量である）となる。
ＴＴＩ＝２０ｍｓの各クラスの符号化データは、実際には１０ｍｓ毎に分割され、１０ｍｓ毎にクラスＡを先頭にして多重するが、分割しないものとすれば、（ｄ）に示すように各クラスの符号化データを隙間なく多重する。すなわち、最大レートの組み合わせ候補に応じたビット数で各クラスの音声符号を表現する場合には、隙間なく各クラスの符号化データを多重する。尚、最大レートの組み合わせ候補における各クラスの符号化データ長８１′，１０３′，６０′は既知の値である。最大レート以外のレートの組み合わせ候補、例えばフレームタイプ０１１０の組み合わせに応じたビット数（クラスＡ：６５ビット、クラスＢ：９９ビット、クラスＣ：４００ビット）で各クラスの音声符号を表現する場合、各クラスの符号化データ長６５′，９９′，４０′は最大符号化データ長８１′，１０３′，６０′に満たない。かかる場合は、（ｅ）の斜線で示すように満たない分送信しない区間を示すデータを挿入する。このようにすることにより、受信側において各クラスのデータを容易に分離することが可能になる。ところで、実際には、前述のように、ＴＴＩ＝２０ｍｓの各クラスの符号化データは、１０ｍｓ毎に前半と後半に分割され、１０ｍｓ毎にクラスＡを先頭にして多重する。従って、（ｅ）に示すフレームタイプ０１１０の組み合わせの場合、（ｆ）に示すように各クラスＡ〜Ｃの符号化データは１０ｍｓの前半と後半に分割され、（ｇ）に示すように１０ｍｓ毎にクラスＡを先頭にして多重されて送信される。
図４は受信側チャネルコーデック部における各クラスの音声符号分離動作説明図である。受信チャネルコーデック部６３は、受信部６１、復調部６２を介して入力する多重データ（（ａ）参照）より１０ｍｓ毎にクラスＡ〜Ｃのデータを既知の所定長で分離し、（ｂ）に示すように各クラスの１０ｍｓの受信データを２つ結合して送信時間間隔ＴＴＩ＝２０ｍｓのデータを生成する。しかる後、受信側チャネルコーデック部６３はクラスＡ〜Ｃのデータにビタビ復号処理を施して元のクラスＡ〜Ｃの音声符号データを復号し、音声コーデック５１に入力する（（ｃ）、（ｄ）参照）。この際、ＢＴＦＤ処理により各クラスの音声符号データのビット長を識別し、識別されたビット長に基いて雑音等によるデータ部分（斜線部分）を除去した各クラスの音声符号データを復号結果から取り出して音声コーデック部５１に入力する。
（Ｄ）ＢＴＦＤ処理を実行する受信側チャネルコーデック部の構成
図５は本発明のＢＴＦＤ処理を実行する受信側チャネルコーデック部及びＢＴＦＤ制御部の構成図である。
受信側チャネルコーデック部６３の復号前処理部６３ａは、図２で説明した２ｎｄインタリーブ処理２０７、クラス毎の分割＆結合処理２０８、１ｓｔデインタリーブ処理２０９を実行する。受信データメモリ部６３ｂは、復号前処理部６３ａから出力するＴＴＩ＝２０ｍｓの各クラスのデータを保存する。この場合、受信データメモリ部６３ｂは、図４（ｂ）に示すように既知の最大レートに応じた符号化データ長に満たない部分（斜線部）にはパディングデータが埋め込まれた状態で各クラスのＴＴＩ＝２０ｍｓのデータを記憶する。
ビタビ復号部６３ｃは、ＡＣＳ演算／パスメトリックメモリ／パスメモリ部６３ｃ−１、トレースバック部６３ｃ−２、トレースバック後メモリ６３ｃ−３を備え、Ａクラスについてはｎｅｎｄ位置までのデータ部分に対してビタビ復号処理を施し、Ｂ，Ｃクラスについてはデータ全体にビタビ復号処理を施し、各時点におけるパスをパスメモリに保存する。すなわち、Ｂ，Ｃクラスについてはデータ長が判らないため末尾位置までのビタビ復号処理を行い、各データ長候補に対応する時点ｋにおいて、状態ａ，ｂ，ｃ，ｄにそれぞれ至るパスメトリック値が最小の４本のパスをパスメモリに記憶し、それぞれのパスメトリック値をパスメトリックメモリに記憶する。
ＣＲＣ演算部６３ｄはＡクラスの復号結果に基づいてＣＲＣチェック演算を行う。ＣＲＣチェック演算後メモリ６３ｅは、ＣＲＣチェックＯＫとなり、且つ、ＢＴＦＤ処理においてＳｍｉｎとなったときのクラスＡの復号データ（音声符号）を記憶する。
ＢＴＦＤ制御部７１は後述するフローにしたがってＢＴＦＤ処理を行って各クラスの音声符号のビット数を決定するもので、候補レート設定／保持部７２、ＣＲＣチェックＯＫ検出＆レート決定制御部７３、確定レート保持＆レート決定制御部７４、無音フレームカウント＆レート決定制御部７５，フレームタイプ通知手段７６を有している。
候補レート設定／保持部７２は上位レイヤ（上位アプリケーション）８１より通知される複数のビットレート候補（図１０参照）を保持すると共に、受信データメモリ部６３ｂにクラスＡのビットレートを小さい順に順次設定する。
ＣＲＣチェックＯＫ検出＆レート決定制御部７３は、ビットレート組み合わせ候補を順次変更してクラスＡのビット長を小さい順に切り替え、ＣＲＣチェックＯＫを検出した時のビットレート組み合わせ候補に基いて各クラスのビット長を決定する。
確定レート保持＆レート決定制御部７４は、ＣＲＣチェックＯＫが検出されて各クラスのビットレートが確定したとき、その時のビットレート組み合わせ候補を１送信時間間隔ＴＴＩの間保持し、ＴＴＩ時間経過後の次のビットレート決定処理において、その記憶したビットレート組み合わせ候補におけるクラスＡのビットレートでＢＴＦＤ処理を開始して各クラスのビット長を決定する。
無音フレームカウント＆レート決定制御部７５は、無音フレームを検出した場合に無音フレーム連続数をカウントし、７回に達したら背景雑音に応じたビットレート組み合わせ候補のクラスＡのビットレートでＢＴＦＤ処理を開始して各クラスのビット長を決定する。
フレームタイプ通知手段７６はＢＴＦＤ処理により各クラスのビットレートを決定したとき、その時のビットレート組み合わせ候補を特定するフレームタイプ情報を音声コーデック部５１に通知する。これにより、音声コーデック部５１は、該フレームタイプ情報、すなわち、各クラスのビット長をトレースバック部６３ｃ−２に入力して該トレースバック部を起動する。トレースバック部６３ｃ−２はパスメモリ部から、クラスＢ，Ｃのビット長に相当する時点ｋにおける４本のパスのうちパスメトリック値が最小のパスを求め、該パスに沿ってトレースバック処理を行って該クラスＢ，Ｃの音声符号を取得しＣＲＣ演算部２２ｃ経由でＣＲＣ演算後メモリ２２ｄに格納する。音声コーデック部５１は、ＣＲＣ演算後メモリ２２ｄにクラスＡ，Ｂ，Ｃの音声符号がそろったところで、これら音声符号を取り込んで音声符号より音声信号を復元する。
（Ｅ）本発明のＢＴＦＤ処理の第１実施例
図６は本発明の第１実施例のＢＴＦＤ処理フローである。第１実施例のＢＴＦＤ処理ではＣＲＣチェックＯＫを検出した時、それ以降のＢＴＦＤ処理を停止し、ＣＲＣチェックＯＫ時のビットレート組み合わせにおける各クラスのビットレートに基いて各クラスの音声符号のビット数を決定し、該ビット数に基いて受信データより各クラスの音声符号を抽出して音声コーデック部に入力する。
ＢＴＦＤ制御部７１は、上位アプリケーション８１よりビットレートの候補（図１０）が指定されるから、クラスＡのビットレート（単位時間当たりのビット数）の小さい順に番号付けし、ｎｅｎｄ＝１，２，３，．．．とする（ステップ３０１）。ついで、ｎｅｎｄ＝１、Ｓｍｉｎ＝Ｄ、ｎｅｎｄ′＝０と初期化する（ステップ３０２）。
しかる後、ｎｅｎｄ位置までＡＣＳ処理を行い（ステップ３０３）、（１）式によりＳ（ｎｅｎｄ）を計算する（ステップ３０４）。Ｓ（ｎｅｎｄ）が求まれば、このＳ（ｎｅｎｄ）と閾値Ｄとの大小判断を行う（ステップ３０５）。
Ｓ（ｎｅｎｄ）≦Ｄであれば、ｎｅｎｄ位置のパスメトリック値が最小の状態から、トレースバック処理を行う（ステップ３０６）。ついで、トレースバック処理により得られた復号データに対してＣＲＣチェックを行う（ステップ３０７）。ＣＲＣチェックがＯＫであれば（ステップ３０８）、そのときのｎｅｎｄが最も確からしいビットレートの組み合わせにおけるクラスＡのビットレート（ビット数）と判定し、出力する（ステップ３０９）。以後、図１０のビットレートの組み合わせ候補を参照して他のクラスのビットレート（ビット数）を求める。
一方、ステップ３０５において、Ｓ（ｎｅｎｄ）＞Ｄであれば、あるいは、ステップ３０８において、ＣＲＣチェックがＮＯであれば、ステップ３１０の処理を行う。ステップ３１０では全候補のｎｅｎｄについて上記処理を行ったかチェックする（ステップ３１０）。
ＣＲＣチェックＯＫとなることなく全候補のｎｅｎｄについて上記処理を繰り返せば、ステップ３１０において「ＹＥＳ」となるからエラー出力する（ステップ３１１）。しかし、全候補のｎｅｎｄについて上記処理が終了してなければｎｅｎｄを歩進し（ステップ３１２）、ステップ３０３の処理を繰り返す。
以上のＢＴＦＤ処理を考慮して受信動作を説明する。
上位レイヤ（上位アプリケーション）８１から、あらかじめ、各クラスのビットレートの組み合わせ候補が複数（図１０参照）、ＢＴＦＤ制御部７１に通知され、候補レート設定／保持部７２はこの通知された候補レート情報を保持する。かかる状態において、受信データメモリ部６３ｂは、復号前処理部６３ａで分離結合された各クラスのＴＴＩ＝２０ｍｓのデータを記憶する。ＢＴＦＤ制御部７１の候補レート設定／保持部７２は、複数の候補レートの中からレートの小さい順にクラスＡのビットレートを受信データメモリ部６３ｂに設定する。
受信データメモリ部６３ｂは、受信したクラスＡについて設定レートに応じたビット数分順にビタビ復号部のＡＣＳ演算／パスメトリックメモリ／パスメモリ部６３ｃ−１に入力する。ＡＣＳ演算／パスメトリックメモリ／パスメモリ部６３ｃ−１はＡＣＳ演算を行い、その演算結果であるパスメトリック値を内蔵のパスメモリに保持するとともに、最大パスメトリック値ａｍａｘ（ｎｅｎｄ）、最少パスメトリック値ａｍｉｎ（ｎｅｎｄ）、状態ａ（＝状態０）のパスメトリック値ａ０（ｎｅｎｄ）をそれぞれＢＴＦＤ制御部７１に通知する。
ＢＴＦＤ制御部７１は、Ｓ（ｎｅｎｄ）の計算を行い、さらに、Ｓ（ｎｅｎｄ）と閾値Ｄとの比較を行う。その結果、トレースバックを行うと判断すれば、すなわち、Ｓ（ｎｅｎｄ）≦Ｄであれば、トレースバック部６３ｃ−２に対して、トレースバック起動情報を入力する。これによりトレースバック部６３ｃ−２にｎｅｎｄ位置までの復号結果を保存する。
しかる後、あるいは、クラスＡのビタビ復号処理前に、受信データメモリ部６３ｂは、クラスＢ，Ｃの受信データをビタビ復号部６３ｃに入力し、ビタビ復号部６３ｃは復号結果をパスメモリ部に保存する。すなわち、ビタビ復号部６３ｃはＢ，Ｃクラスについてはデータ長が判らないため末尾位置までのビタビ復号処理を行い、各データ長候補に対応する時点ｋにおいて、状態ａ，ｂ，ｃ，ｄにそれぞれ至るパスメトリック値が最小の４本のパスをパスメモリに記憶し、それぞれのパスメトリック値をパスメトリックメモリに記憶する。
クラスＡの復号処理が終了すれば、トレースバック部６３ｃ−２はＣＲＣ演算部６３ｄにｎｅｎｄ値に応じたビット数（クラスＡのビット数ＮＡ＋ＣＲＣチェック符号数）分の復号結果を入力する。ＣＲＣ演算部６３ｄはＣＲＣチェック演算を行い、ＣＲＣチェックがＯＫであれば、ＣＲＣチェック符号を削除した復号結果をＣＲＣ演算後メモリ６３ｅに保存し、その時のｎｅｎｄ値に応じたクラスＡのビット数（ＮＡ）がクラスＡの真の音声符号のビット数であると認識する。
ついで、ＢＴＦＤ制御部７１は、ビットレート組み合わせ候補テーブル（図１０）とクラスＡのビット数とからビットレート組み合わせ候補を識別し、音声コーデック部５１に該ビットレート組み合わせ候補を特定するフレームタイプ情報を通知する。音声コーデック部５１は通知されたビットレート組み合わせ候補より各クラスの音声符号ビット数を識別し、該音声符号ビット数をトレースバック部６３ｃ−２に入力して該トレースバック部を起動する。トレースバック部６３ｃ−２はパスメモリ部から、クラスＢ，Ｃのビット長に相当する時点ｋにおける４本のパスのうちパスメトリック値が最小のパスを求め、該パスに沿ってトレースバック処理を行って該クラスＢ，Ｃの音声符号を取得しＣＲＣ演算部２２ｃ経由でＣＲＣ演算後メモリ２２ｄに格納する。音声コーデック部５１は、ＣＲＣ演算後メモリ２２ｄにクラスＡ，Ｂ，Ｃの音声符号がそろったところで、これら音声符号を取り込んで音声符号より音声信号を復元する。
以上、第１実施例によれば、ＣＲＣチェックＯＫの時点でＢＴＦＤ処理を終了できるため、ＢＴＦＤ処理の処理量を減少でき、結果的に消費電流を減少でき、しかも、これらを減少しても各クラスの音声符号のビット数を識別し、各クラスの音声符号を正しく分離して音声コーデック部に入力できる。
（Ｅ）本発明のＢＴＦＤ処理の第２実施例
図７は本発明の第２実施例のＢＴＦＤ処理フローであり、第１実施例の処理フローと同一処理には同一ステップ番号を付している。
第２実施例では、ＣＲＣチェックＯＫとなってクラスＡのビットレートが確定した時のビットレート組み合わせ候補を送信時間間隔ＴＴＩの間保持しておき、次のＴＴＩ経過後のＢＴＦＤ処理を該記憶してあるビットレートの組み合わせ候補におけるクラスＡのビットレートから開始する。
通常、音声通話であれば有音部分（１２．２ｋｂｐｓレート）と無音部分はそれぞれ数十秒単位で連続するのが普通であり、音声符号のＴＴＩ単位は２０ｍｓである。このため、音声通話の有音部分／無音部分の変化の間隔は、ＴＴＩ単位に対して長く、現ＴＴＩと次ＴＴＩでのレートが変化する確率は、変化しない確率に比べて低いことになる。そのため、第２実施例は、ビットレートが確定したら次ＴＴＩでも同じビットレートでＢＴＦＤ処理を行えば、その時点でＣＲＣチェックＯＫとなり、ビットレートが確定する確率が高くなることを利用するものである。
第１実施例の処理フローと異なる点は、各クラスのビットレートが確定したときにセットされるレート確定フラグを導入し、このレート確定フラグを用いてＢＴＦＤ処理を行う点である。以下では、第１実施例と異なる処理を重点的に説明する。
まず、音声受信を開始する前にレート確定フラグをオフする。ついで、音声受信を開始し、レート確定フラグがオンかオフかを判別する（ステップ４０１）。初回はオフなので、第１実施例と同様にレートが小さい順からＢＴＦＤ処理を行う（ステップ３０１〜３０９）。ステップ３０９において、クラスＡのビットレートが確定すれば、レート確定フラグをオンし（ステップ４１２）、その時のクラスＡのビットレート（ＴＴＩ単位のビット長）、すなわち、ｎｅｎｄを次ＴＴＩまで保持する（ステップ４１３）。この結果、次ＴＴＩでは、ステップ４１１においてレート確定フラグがオンとなっているため、前ＴＴＩ時に保持したｎｅｎｄからＡＣＳ演算を開始する。
一方、ステップ３０５においてＳ（ｎｅｎｄ）＞Ｄとなり確からしくないデータと判断した場合、レート確定フラグがオンであるかチェックし（ステップ４１４）、レート確定フラグがオンであればレート確定フラグをオフし（ステップ４１５）、ステップ４１１に戻り、以降の処理を繰り返す。又、ステップ４１１において、レート確定フラグがオフであれば、ステップ３１０の処理を行う。すなわち、ステップ３１０において全候補のｎｅｎｄについて上記処理を行ったかチェックする（ステップ３１０）。ＣＲＣチェックＯＫとなることなく全候補のｎｅｎｄについて上記処理を繰り返せば、ステップ３１０において「ＹＥＳ」となるからエラー出力する（ステップ３１１）。しかし、全候補のｎｅｎｄについて上記処理が終了してなければｎｅｎｄを歩進し（ステップ３１２）、ステップ４１１以降の処理を繰り返す。
また、ステップ３０８においてＣＲＣチェックの結果ＯＫでないと判明した場合、レート確定フラグがオンであるかチェックし（ステップ４１６）、レート確定フラグがオンであればレート確定フラグをオフし（ステップ４１５）、ステップ４１１に戻り、以降の処理を繰り返す。又、ステップ４１６において、レート確定フラグがオフであれば、ステップ３１０以降の処理を行う。
以上、第２実施例によれば、ビットレートが確定したら次ＴＴＩでも同じビットレートでＢＴＦＤ処理を行うようにしたから、少ないＢＴＦＤ処理で各クラスのビットレートを決定することができる。
（Ｆ）本発明のＢＴＦＤ処理の第３実施例
図８は本発明の第３実施例のＢＴＦＤ処理フローであり、第１、第２実施例の処理フローと同一処理部分には同一ステップ番号を付している。第３実施例では、無音状態をカウントし、過去に連続して７回の無音状態を検出すれば、次のＴＴＩでは背景雑音のビットレートからＢＴＦＤ処理を開始する。これは３ＧＰＰ音声コーデックの仕様によれば、８×ＴＴＩの無音状態において１つの背景雑音を挿入するように定義されているからである。このようにすれば、ＢＴＦＤ処理の処理量を減少できる。
音声受信を開始する前に無音フレーム数Ｕを０に初期化する。以後、音声受信を開始し、レート確定フラグがオフであれば（ステップ４１１）、第１実施例と同様にレートが小さい順からＢＴＦＤ処理を行う（ステップ３０１〜３０９）。ステップ３０９において、クラスＡのビットレートが確定すれば、レート確定フラグをオンし（ステップ４１２）、その時のクラスＡのビットレート、すなわち、ｎｅｎｄを次ＴＴＩまで保持する（ステップ４１３）。ついで、確定したｎｅｎｄが無音のビットレートであるかどうかの判断し（ステップ５０１）、無音でなければ、次のＴＴＩになるのを待つ。一方、無音であれば、無音状態数Ｕをカウントアップし（Ｕ＝Ｕ＋１，ステップ５０２）、次のＴＴＩになるのを待つ。
次ＴＴＩにおいて、レート確定フラグがオンであれば（ステップ４１１）、無音フレーム数Ｕが７回に達したかチェックする（ステップ５０３）。７回に達してなければ、ｎｅｎｄを前ＴＴＩで確定したｎｅｎｄとしてステップ３０３以降の処理をおこない、７回に達していればｎｅｎｄを背景雑音とする（ステップ５０４）。その際、無音フレーム数Ｕを０に初期化し（ステップ５０５）、レート確定フラグをオフにし（ステップ５０６）、ステップ３０３以降の処理を行う。Ｕ＝０にし、レート確定フラグをオフにしたことにより、次ＴＴＩからはレートが小さい順に、つまり、無音のｎｅｎｄらＢＴＦＤ処理が開始することになる。
以上では、本発明を移動端末に適用した場合について説明したが、固定端末にも適用できることは勿論である。
（Ｇ）発明の効果
以上本発明によれば、ＢＴＦＤ処理の処理量及び消費電流を減少でき、しかも、これらを減少しても正しく各クラスの音声符号のビット数を識別し、各クラスの音声符号を正しく分離して音声コーデック部に入力できる。
又、本発明によれば、ＢＴＦＤ処理に使用するメモリ数を減少でき、しかも、使用メモリ数を減少しても正しく各クラスの音声符号のビット数を識別できる。
又、本発明によれば、各クラスの音声符号のビット数が送信時間間隔ＴＴＩ毎に変化しても各クラスのデータを記憶するメモリの先頭アドレスを一定にして先頭アドレスの制御を容易にすることができる。
【図面の簡単な説明】
図１は本発明のＷ−ＣＤＭＡシステムにおける移動端末の概略構成図である。  図２は送信側チャネルコーデック部及び受信側チャネルコーデック部の処理説明図である。
図３は送信側チャネルコーデック部における各クラスのデータフォーマット及び多重データ構成説明図である。
図４は受信側チャネルコーデック部における各クラスの音声符号分離動作説明図である。
図５は本発明のＢＴＦＤ処理を実行する受信側チャネルコーデック部及びＢＴＦＤ制御部の構成図である。
図６は本発明の第１実施例のＢＴＦＤ処理フローである。
図７は本発明の第２実施例のＢＴＦＤ処理フローである。
図８は本発明の第３実施例のＢＴＦＤ処理フローである。
図９は従来の移動局の構成図である。
図１０は３ＧＰＰ規格における音声フォーマット（クラスＡ〜Ｃのビットレート）説明図表である。
図１１は背景雑音フレームの挿入説明図である。
図１２は復号処理された後におけるＴＴＩ＝２０ｍｓの各クラスのデータ構成である。
図１３は畳み込み符号器の例である。
図１４は畳込み符号器の入出力関係説明図である。
図１５は畳込み符号器の状態説明図である。
図１６は畳込み符号器の状態と入出力関係図である。
図１７は格子状表現説明図である。
図１８は畳込み符号の復号化の説明図である。
図１９はビタビ復号説明図である。
図２０は任意の時点ｋにおける各状態のエラー最小パスの説明図である。
図２１は従来のＢＴＦＤ処理フローである。
図２２はＢＴＦＤ処理を実行する従来の受信側チャネルコーデック部の構成図である。
【図１】
0004493335.tif 000002
【図２】
0004493335.tif 000003
【図３】
0004493335.tif 000004
【図４】
0004493335.tif 000005
【図５】
0004493335.tif 000006
【図６】
0004493335.tif 000007
【図７】
0004493335.tif 000008
【図８】
0004493335.tif 000009
【図９】
0004493335.tif 000010
【図１０】
0004493335.tif 000011
【図１１】
0004493335.tif 000012
【図１２】
0004493335.tif 000013
【図１３】
0004493335.tif 000014
【図１４】
0004493335.tif 000015
【図１５】
0004493335.tif 000016
【図１６】
0004493335.tif 000017
【図１７】
0004493335.tif 000018
【図１８】
0004493335.tif 000019
【図１９】
0004493335.tif 000020
【図２０】
0004493335.tif 000021
【図２１】
0004493335.tif 000022
【図２２】
0004493335.tif 000023